export const __rspack_esm_id="407";export const __rspack_esm_ids=["407"];export const __webpack_modules__={71906(e,t,i){i.d(t,{A:()=>l});var r=i(51649),s=i(78809),n=function(){return(n=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function o(e,t){var i=(0,r.useContext)(s.o).prefix,o=e.className,l=void 0===o?"":o,c=e.prefix,d=e.width,u=void 0===d?"1em":d,h=e.height,p=void 0===h?"1em":h,m=e.useCurrentColor,f=void 0===m||m,g=e.spin,_=a(e,["className","prefix","width","height","useCurrentColor","spin"]),y=c||i||"newide",v=g?" ".concat(y,"-icon-loading"):"";return r.default.createElement("svg",n({className:"".concat(y,"-icon ").concat(y,"-icon-Down").concat(v," ").concat(l),width:u,height:p,viewBox:"0 0 17 16",fill:f?"currentColor":"#000",xmlns:"http://www.w3.org/2000/svg"},_,{ref:t}),r.default.createElement("path",{d:"M8.92419 9.7572L11.5912 7.09119L12.015 6.66638L11.1664 5.81775L10.7426 6.24255L8.49939 8.48572L5.83337 5.81775L4.98474 6.66638L8.50037 10.182L8.92419 9.7572Z"}))}let l=r.default.forwardRef(o)},92621(e,t,i){i.d(t,{o:()=>r});var r=(0,i(51649).createContext)({prefix:"trae"})},6968(e,t,i){i.d(t,{A:()=>g});var r=i(5866),s=i(92611),n=i(51649),a=i(3540);let o=function(e){var t=(0,n.useRef)(0),i=(0,r.zs)((0,n.useState)(e),2),s=i[0],o=i[1],l=(0,n.useCallback)(function(e){cancelAnimationFrame(t.current),t.current=requestAnimationFrame(function(){o(e)})},[]);return(0,a.A)(function(){cancelAnimationFrame(t.current)}),[s,l]};var l=i(56398),c=i(50234);function d(e,t){var i;if(c.A)return e?i=(0,l.Tn)(e)?e():"current"in e?e.current:e:t}var u=i(32736);let h=function(e){return function(t,i,r){var s=(0,n.useRef)(!1),o=(0,n.useRef)([]),l=(0,n.useRef)([]),c=(0,n.useRef)(void 0);e(function(){var e,n=(Array.isArray(r)?r:[r]).map(function(e){return d(e)});if(!s.current){s.current=!0,o.current=n,l.current=i,c.current=t();return}n.length===o.current.length&&(0,u.A)(o.current,n)&&(0,u.A)(l.current,i)||(null==(e=c.current)||e.call(c),o.current=n,l.current=i,c.current=t())}),(0,a.A)(function(){var e;null==(e=c.current)||e.call(c),s.current=!1})}},p=h(n.useEffect),m=h(n.useLayoutEffect),f=c.A?m:p,g=function(e){var t=(0,r.zs)(o(function(){var t=d(e);return t?{width:t.clientWidth,height:t.clientHeight}:void 0}),2),i=t[0],n=t[1];return f(function(){var t=d(e);if(t){var i=new s.A(function(e){e.forEach(function(e){var t=e.target;n({width:t.clientWidth,height:t.clientHeight})})});return i.observe(t),function(){i.disconnect()}}},[],e),i}},69686(e,t,i){!function(e,r){r(t,i(29600),i(51649))}(0,function(e,t,i){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=r(t),n=r(i);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,r=Array(t);itypeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r,s,n,a,o=[],l=!0,c=!1;try{if(n=(i=i.call(e)).next,0===t){if(Object(i)!==i)return;l=!1}else for(;!(l=(r=n.call(i)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,s=e}finally{try{if(!l&&null!=i.return&&(a=i.return(),Object(a)!==a))return}finally{if(c)throw s}}return o}}function d(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,r)}return i}function h(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if(I.current){null==(t=T.current)||t.destroy();var r=h(h(h({},e),i),{},{container:I.current});return T.current=s.default.loadAnimation(r),E(!!T.current),function(){var e;null==(e=T.current)||e.destroy(),T.current=void 0}}};return i.useEffect(function(){var e=V();return function(){return null==e?void 0:e()}},[r,a]),i.useEffect(function(){T.current&&(T.current.autoplay=!!o)},[o]),i.useEffect(function(){!T.current||(l?Array.isArray(l)&&l.length&&((T.current.currentRawFramel[1])&&(T.current.currentRawFrame=l[0]),T.current.setSegment(l[0],l[1])):T.current.resetSegments(!0))},[l]),i.useEffect(function(){var e=[{name:"complete",handler:c},{name:"loopComplete",handler:d},{name:"enterFrame",handler:u},{name:"segmentStart",handler:m},{name:"config_ready",handler:g},{name:"data_ready",handler:_},{name:"data_failed",handler:y},{name:"loaded_images",handler:b},{name:"DOMLoaded",handler:S},{name:"destroy",handler:k}].filter(function(e){return null!=e.handler});if(e.length){var t=e.map(function(e){var t;return null==(t=T.current)||t.addEventListener(e.name,e.handler),function(){var t;null==(t=T.current)||t.removeEventListener(e.name,e.handler)}});return function(){t.forEach(function(e){return e()})}}},[c,d,u,m,g,_,y,b,S,k]),{View:n.default.createElement("div",h({style:t,ref:I},x)),play:R,stop:N,pause:A,setSpeed:M,goToAndStop:j,goToAndPlay:P,setDirection:L,playSegments:D,setSubframe:O,getDuration:F,destroy:U,animationContainerRef:I,animationLoaded:w,animationItem:T.current}};function S(e){var t=e.getBoundingClientRect(),i=t.top,r=t.height;return(window.innerHeight-i)/(window.innerHeight+r)}function k(e,t,i){var r=e.getBoundingClientRect(),s=r.top;return{x:(t-r.left)/r.width,y:(i-s)/r.height}}var x=function(e){var t=e.wrapperRef,r=e.animationItem,s=e.mode,n=e.actions;i.useEffect(function(){var e=t.current;if(e&&r&&n.length){r.stop();var i=function(){var t=null,i=function(){var i=S(e),s=n.find(function(e){var t=e.visibility;return t&&i>=t[0]&&i<=t[1]});if(s){if("seek"===s.type&&s.visibility&&2===s.frames.length){var a=s.frames[0]+Math.ceil((i-s.visibility[0])/(s.visibility[1]-s.visibility[0])*s.frames[1]);r.goToAndStop(a-r.firstFrame-1,!0)}"loop"===s.type&&(null===t||t!==s.frames?(r.playSegments(s.frames,!0),t=s.frames):r.isPaused&&(r.playSegments(s.frames,!0),t=s.frames)),"play"===s.type&&r.isPaused&&(r.resetSegments(!0),r.play()),"stop"===s.type&&r.goToAndStop(s.frames[0]-r.firstFrame-1,!0)}};return document.addEventListener("scroll",i),function(){document.removeEventListener("scroll",i)}},a=function(){var t=function(t,i){var s=t,a=i;if(-1!==s&&-1!==a){var o=k(e,s,a);s=o.x,a=o.y}var l=n.find(function(e){var t=e.position;return t&&Array.isArray(t.x)&&Array.isArray(t.y)?s>=t.x[0]&&s<=t.x[1]&&a>=t.y[0]&&a<=t.y[1]:!(!t||Number.isNaN(t.x)||Number.isNaN(t.y))&&s===t.x&&a===t.y});if(l){if("seek"===l.type&&l.position&&Array.isArray(l.position.x)&&Array.isArray(l.position.y)&&2===l.frames.length){var c=(s-l.position.x[0])/(l.position.x[1]-l.position.x[0]),d=(a-l.position.y[0])/(l.position.y[1]-l.position.y[0]);r.playSegments(l.frames,!0),r.goToAndStop(Math.ceil((c+d)/2*(l.frames[1]-l.frames[0])),!0)}"loop"===l.type&&r.playSegments(l.frames,!0),"play"===l.type&&(r.isPaused&&r.resetSegments(!1),r.playSegments(l.frames)),"stop"===l.type&&r.goToAndStop(l.frames[0],!0)}},i=function(e){t(e.clientX,e.clientY)},s=function(){t(-1,-1)};return e.addEventListener("mousemove",i),e.addEventListener("mouseout",s),function(){e.removeEventListener("mousemove",i),e.removeEventListener("mouseout",s)}};switch(s){case"scroll":return i();case"cursor":return a()}}},[s,r])},C=function(e){var t=e.actions,i=e.mode,r=e.lottieObj,s=r.animationItem,n=r.View;return x({actions:t,animationItem:s,mode:i,wrapperRef:r.animationContainerRef}),n},w=["style","interactivity"],E=function(e){var t,r,s,n=e.style,a=e.interactivity,o=b(p(e,w),n),l=o.View,c=o.play,d=o.stop,u=o.pause,h=o.setSpeed,m=o.goToAndStop,f=o.goToAndPlay,g=o.setDirection,_=o.playSegments,y=o.setSubframe,v=o.getDuration,S=o.destroy,k=o.animationContainerRef,x=o.animationLoaded,E=o.animationItem;return i.useEffect(function(){e.lottieRef&&(e.lottieRef.current={play:c,stop:d,pause:u,setSpeed:h,goToAndPlay:f,goToAndStop:m,setDirection:g,playSegments:_,setSubframe:y,getDuration:v,destroy:S,animationContainerRef:k,animationLoaded:x,animationItem:E})},[null==(t=e.lottieRef)?void 0:t.current]),C({lottieObj:{View:l,play:c,stop:d,pause:u,setSpeed:h,goToAndStop:m,goToAndPlay:f,setDirection:g,playSegments:_,setSubframe:y,getDuration:v,destroy:S,animationContainerRef:k,animationLoaded:x,animationItem:E},actions:null!=(r=null==a?void 0:a.actions)?r:[],mode:null!=(s=null==a?void 0:a.mode)?s:"scroll"})};Object.defineProperty(e,"LottiePlayer",{enumerable:!0,get:function(){return s.default}}),e.default=E,e.useLottie=b,e.useLottieInteractivity=C,Object.defineProperty(e,"__esModule",{value:!0})})},29600(module,exports){"u">typeof document&&"u">typeof navigator&&function(e,t){module.exports=t()}(0,function(){"use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(e){_useWebWorker=!!e},getWebWorker=function(){return _useWebWorker},setLocationHref=function(e){locationHref=e},getLocationHref=function(){return locationHref};function createTag(e){return document.createElement(e)}function extendPrototype(e,t){var i,r,s=e.length;for(i=0;i1?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(e,t){var i=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return i[2]+=t,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(e,t){var i=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return i[0]+=t/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}var rgbToHex=function(){var e,t,i=[];for(e=0;e<256;e+=1)t=e.toString(16),i[e]=1===t.length?"0"+t:t;return function(e,t,r){return e<0&&(e=0),t<0&&(t=0),r<0&&(r=0),"#"+i[e]+i[t]+i[r]}}(),setSubframeEnabled=function(e){subframeEnabled=!!e},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(e){expressionsPlugin=e},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(e){expressionsInterfaces=e},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(e){defaultCurveSegments=e},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(e){idPrefix$1=e},getIdPrefix=function(){return idPrefix$1};function createNS(e){return document.createElementNS(svgNS,e)}function _typeof$5(e){return(_typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var dataManager=function(){var e,t,i=1,r=[],s={onmessage:function(){},postMessage:function(t){e({data:t})}},n={postMessage:function(e){s.onmessage({data:e})}};function a(t){if(window.Worker&&window.Blob&&getWebWorker()){var i=new Blob(["var _workerSelf = self; self.onmessage = ",t.toString()],{type:"text/javascript"});return new Worker(URL.createObjectURL(i))}return e=t,s}function o(){t||((t=a(function(e){function t(){function e(t,i){var a,o,l,c,d,u,p=t.length;for(o=0;o=0;t-=1)if("sh"===e[t].ty)if(e[t].ks.k.i)n(e[t].ks.k);else for(i=0,r=e[t].ks.k.length;ii[0]||!(i[0]>e[0])&&(e[1]>i[1]||!(i[1]>e[1])&&(e[2]>i[2]||!(i[2]>e[2])&&null))}var o=function(){var e=[4,4,14];function t(e){var t=e.t.d;e.t.d={k:[{s:t,t:0}]}}function i(e){var i,r=e.length;for(i=0;i=0;i-=1)if("sh"===e[i].ty)if(e[i].ks.k.i)e[i].ks.k.c=e[i].closed;else for(r=0,s=e[i].ks.k.length;r500)&&(this._imageLoaded(),clearInterval(i)),t+=1}).bind(this),50)}function n(e){var t={assetData:e},i=r(e,this.assetsPath,this.path);return dataManager.loadData(i,(function(e){t.img=e,this._footageLoaded()}).bind(this),(function(){t.img={},this._footageLoaded()}).bind(this)),t}function a(){this._imageLoaded=t.bind(this),this._footageLoaded=i.bind(this),this.testImageLoaded=s.bind(this),this.createFootageData=n.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return a.prototype={loadAssets:function(e,t){this.imagesLoadedCb=t;var i,r=e.length;for(i=0;ithis.animationData.op&&(this.animationData.op=e.op,this.totalFrames=Math.floor(e.op-this.animationData.ip));var t,i,r=this.animationData.layers,s=r.length,n=e.layers,a=n.length;for(i=0;ithis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(e){this.triggerRenderFrameError(e)}},AnimationItem.prototype.play=function(e){(!e||this.name===e)&&!0===this.isPaused&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(e){e&&this.name!==e||!1===this.isPaused&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(e){e&&this.name!==e||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(e){e&&this.name!==e||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(e){for(var t,i=0;i=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?t>=this.totalFrames?(this.playCount+=1,this.checkSegments(t%this.totalFrames)||(this.setCurrentRawFrameValue(t%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(t):this.checkSegments(t>this.totalFrames?t%this.totalFrames:0)||(i=!0,t=this.totalFrames-1):t<0?this.checkSegments(t%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&!0!==this.loop)?(this.setCurrentRawFrameValue(this.totalFrames+t%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(i=!0,t=0)):this.setCurrentRawFrameValue(t),i&&(this.setCurrentRawFrameValue(t),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(e,t){this.playCount=0,e[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=e[0]-e[1],this.timeCompleted=this.totalFrames,this.firstFrame=e[1],this.setCurrentRawFrameValue(this.totalFrames-.001-t)):e[1]>e[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=e[1]-e[0],this.timeCompleted=this.totalFrames,this.firstFrame=e[0],this.setCurrentRawFrameValue(.001+t)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(e,t){var i=-1;this.isPaused&&(this.currentRawFrame+this.firstFramet&&(i=t-e)),this.firstFrame=e,this.totalFrames=t-e,this.timeCompleted=this.totalFrames,-1!==i&&this.goToAndStop(i,!0)},AnimationItem.prototype.playSegments=function(e,t){if(t&&(this.segments.length=0),"object"===_typeof$4(e[0])){var i,r=e.length;for(i=0;i=0;i-=1)t[i].animation.destroy(e)}function C(e,t,i){var r,s=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),n=s.length;for(r=0;r0?i=l:t=l;while(Math.abs(o)>n&&++c=s?g(e,d,t,i):0===u?d:f(e,n,n+l,t,i)}},e}(),pooling=function(){return{double:function(e){return e.concat(createSizedArray(e.length))}}}(),poolFactory=function(){return function(e,t,i){var r=0,s=e,n=createSizedArray(s);return{newElement:function(){var e;return r?(r-=1,e=n[r]):e=t(),e},release:function(e){r===s&&(n=pooling.double(n),s*=2),i&&i(e),n[r]=e,r+=1}}}}(),bezierLengthPool=function(){return poolFactory(8,function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})}(),segmentsLengthPool=function(){return poolFactory(8,function(){return{lengths:[],totalLength:0}},function(e){var t,i=e.lengths.length;for(t=0;t-.001&&a<.001}function i(i,r,s,n,a,o,l,c,d){if(0===s&&0===o&&0===d)return t(i,r,n,a,l,c);var u,h=e.sqrt(e.pow(n-i,2)+e.pow(a-r,2)+e.pow(o-s,2)),p=e.sqrt(e.pow(l-i,2)+e.pow(c-r,2)+e.pow(d-s,2)),m=e.sqrt(e.pow(l-n,2)+e.pow(c-a,2)+e.pow(d-o,2));return(u=h>p?h>m?h-p-m:m-p-h:m>p?m-p-h:p-h-m)>-1e-4&&u<1e-4}var r=function(){return function(e,t,i,r){var s,n,a,o,l,c,d=getDefaultCurveSegments(),u=0,h=[],p=[],m=bezierLengthPool.newElement();for(s=0,a=i.length;sa?-1:1,c=!0;c;)if(r[n]<=a&&r[n+1]>a?(o=(a-r[n])/(r[n+1]-r[n]),c=!1):n+=l,n<0||n>=s-1){if(n===s-1)return i[n];c=!1}return i[n]+(i[n+1]-i[n])*o}function c(t,i,r,s,n,a){var o=l(n,a),c=1-o;return[e.round((c*c*c*t[0]+(o*c*c+c*o*c+c*c*o)*r[0]+(o*o*c+c*o*o+o*c*o)*s[0]+o*o*o*i[0])*1e3)/1e3,e.round((c*c*c*t[1]+(o*c*c+c*o*c+c*c*o)*r[1]+(o*o*c+c*o*o+o*c*o)*s[1]+o*o*o*i[1])*1e3)/1e3]}var d=createTypedArray("float32",8);return{getSegmentsLength:s,getNewSegment:function(t,i,r,s,n,a,o){n<0?n=0:n>1&&(n=1);var c,u=l(n,o),h=l(a=a>1?1:a,o),p=t.length,m=1-u,f=1-h,g=m*m*m,_=u*m*m*3,y=u*u*m*3,v=u*u*u,b=m*m*f,S=u*m*f+m*u*f+m*m*h,k=u*u*f+m*u*h+u*m*h,x=u*u*h,C=m*f*f,w=u*f*f+m*h*f+m*f*h,E=u*h*f+m*h*h+u*f*h,T=u*h*h,I=f*f*f,R=h*f*f+f*h*f+f*f*h,N=h*h*f+f*h*h+h*f*h,A=h*h*h;for(c=0;c=y.t-o){_.h&&(_=y),l=0;break}if(y.t-o>e){l=c;break}c=h||e=h?m.points.length-1:0;for(b=0,S=m.points[f].point.length;b=R&&I=h?(g[0]=w[0],g[1]=w[1],g[2]=w[2]):e<=p?(g[0]=_.s[0],g[1]=_.s[1],g[2]=_.s[2]):quaternionToEuler(g,slerp(createQuaternion(_.s),createQuaternion(w),(e-p)/(h-p)));else for(c=0;c=h?T=1:e1e-6?(n=Math.sin(r=Math.acos(s)),a=Math.sin((1-i)*r)/n,o=Math.sin(i*r)/n):(a=1-i,o=i),l[0]=a*c+o*p,l[1]=a*d+o*m,l[2]=a*u+o*f,l[3]=a*h+o*g,l}function quaternionToEuler(e,t){var i=t[0],r=t[1],s=t[2],n=t[3],a=Math.atan2(2*r*n-2*i*s,1-2*r*r-2*s*s),o=Math.asin(2*i*r+2*s*n),l=Math.atan2(2*i*n-2*r*s,1-2*i*i-2*s*s);e[0]=a/degToRads,e[1]=o/degToRads,e[2]=l/degToRads}function createQuaternion(e){var t=e[0]*degToRads,i=e[1]*degToRads,r=e[2]*degToRads,s=Math.cos(t/2),n=Math.cos(i/2),a=Math.cos(r/2),o=Math.sin(t/2),l=Math.sin(i/2),c=Math.sin(r/2),d=s*n*a-o*l*c;return[o*l*a+s*n*c,o*n*a+s*l*c,s*l*a-o*n*c,d]}function getValueAtCurrentTime(){var e=this.comp.renderedFrame-this.offsetTime,t=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(e===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=i&&e>=i||this._caching.lastFrame=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var r=this.interpolateValue(e,this._caching);this.pv=r}return this._caching.lastFrame=e,this.pv}function setVValue(e){var t;if("unidimensional"===this.propType)t=e*this.mult,mathAbs(this.v-t)>1e-5&&(this.v=t,this._mdf=!0);else for(var i=0,r=this.v.length;i1e-5&&(this.v[i]=t,this._mdf=!0),i+=1}function processEffectsSequence(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length){if(this.lock)return void this.setVValue(this.pv);this.lock=!0,this._mdf=this._isFirstFrame;var e,t=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(e=0;e=this._maxLength&&this.doubleArrayLength(),i){case"v":n=this.v;break;case"i":n=this.i;break;case"o":n=this.o;break;default:n=[]}n[r]&&(!n[r]||s)||(n[r]=pointPool.newElement()),n[r][0]=e,n[r][1]=t},ShapePath.prototype.setTripleAt=function(e,t,i,r,s,n,a,o){this.setXYAt(e,t,"v",a,o),this.setXYAt(i,r,"o",a,o),this.setXYAt(s,n,"i",a,o)},ShapePath.prototype.reverse=function(){var e,t=new ShapePath;t.setPathData(this.c,this._length);var i=this.v,r=this.o,s=this.i,n=0;this.c&&(t.setTripleAt(i[0][0],i[0][1],s[0][0],s[0][1],r[0][0],r[0][1],0,!1),n=1);var a=this._length-1,o=this._length;for(e=n;e=s[s.length-1].t-this.offsetTime)n=s[s.length-1].s?s[s.length-1].s[0]:s[s.length-2].e[0],o=!0;else{for(var n,a,o,l,c,d,u,h,p,m,f,g,_,y=r,v=s.length-1,b=!0;b&&(m=s[y],!((f=s[y+1]).t-this.offsetTime>e));)y=f.t-this.offsetTime?h=1:er&&t>r)||(this._caching.lastIndex=s0||e>-1e-6&&e<0?r(e*t)/t:e}function P(){var e=this.props;return"matrix("+M(e[0])+","+M(e[1])+","+M(e[4])+","+M(e[5])+","+M(e[12])+","+M(e[13])+")"}return function(){this.reset=s,this.rotate=n,this.rotateX=a,this.rotateY=o,this.rotateZ=l,this.skew=d,this.skewFromAxis=u,this.shear=c,this.scale=h,this.setTransform=p,this.translate=m,this.transform=f,this.multiply=g,this.applyToPoint=S,this.applyToX=k,this.applyToY=x,this.applyToZ=C,this.applyToPointArray=R,this.applyToTriplePoints=I,this.applyToPointStringified=N,this.toCSS=A,this.to2dCSS=P,this.clone=v,this.cloneFromProps=b,this.equals=y,this.inversePoints=T,this.inversePoint=E,this.getInverseMatrix=w,this._t=this.transform,this.isIdentity=_,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(e){return(_typeof$3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(e){setLocationHref(e)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(e){setSubframeEnabled(e)}function setPrefix(e){setIdPrefix(e)}function loadAnimation(e){return!0===standalone&&(e.animationData=JSON.parse(animationData)),animationManager.loadAnimation(e)}function setQuality(e){if("string"==typeof e)switch(e){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(e)&&e>1&&setDefaultCurveSegments(e);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return"u">typeof navigator}function installPlugin(e,t){"expressions"===e&&setExpressionsPlugin(t)}function getFactory(e){switch(e){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(e){for(var t=queryString.split("&"),i=0;i=1?l.push({s:e-1,e:t-1}):(l.push({s:e,e:1}),l.push({s:0,e:t-1}));var c=[],d=l.length;for(n=0;nr+i||(o=a.s*s<=r?0:(a.s*s-r)/i,c.push([o,a.e*s>=r+i?1:(a.e*s-r)/i]));return c.length||c.push([0,0]),c},TrimModifier.prototype.releasePathsData=function(e){var t,i=e.length;for(t=0;t1?1+t:this.s.v<0?0+t:this.s.v+t)>(a=this.e.v>1?1+t:this.e.v<0?0+t:this.e.v+t)){var i=n;n=a,a=i}n=1e-4*Math.round(1e4*n),a=1e-4*Math.round(1e4*a),this.sValue=n,this.eValue=a}else n=this.sValue,a=this.eValue;var r=this.shapes.length,s=0;if(a===n)for(l=0;l=0;l-=1)if((m=this.shapes[l]).shape._mdf){for((f=m.localShapeCollection).releaseShapes(),2===this.m&&r>1?(g=this.calculateShapeEdges(n,a,m.totalShapeLength,b,s),b+=m.totalShapeLength):g=[[y,v]],d=g.length,c=0;c=1?_.push({s:m.totalShapeLength*(y-1),e:m.totalShapeLength*(v-1)}):(_.push({s:m.totalShapeLength*y,e:m.totalShapeLength}),_.push({s:0,e:m.totalShapeLength*(v-1)}));var S=this.addShapes(m,_[0]);if(_[0].s!==_[0].e){if(_.length>1)if(m.shape.paths.shapes[m.shape.paths._length-1].c){var k=S.pop();this.addPaths(S,f),S=this.addShapes(m,_[1],k)}else this.addPaths(S,f),S=this.addShapes(m,_[1]);this.addPaths(S,f)}}m.shape.paths=f}}else if(this._mdf)for(l=0;lt.e){i.c=!1;break}else t.s<=m&&t.e>=m+a.addedLength?(this.addSegment(h[r].v[s-1],h[r].o[s-1],h[r].i[s],h[r].v[s],i,o,g),g=!1):(c=bez.getNewSegment(h[r].v[s-1],h[r].v[s],h[r].o[s-1],h[r].i[s],(t.s-m)/a.addedLength,(t.e-m)/a.addedLength,l[s-1]),this.addSegmentFromArray(c,i,o,g),g=!1,i.c=!1),m+=a.addedLength,o+=1;if(h[r].c&&l.length){if(a=l[s-1],m<=t.e){var _=l[s-1].addedLength;t.s<=m&&t.e>=m+_?(this.addSegment(h[r].v[s-1],h[r].o[s-1],h[r].i[0],h[r].v[0],i,o,g),g=!1):(c=bez.getNewSegment(h[r].v[s-1],h[r].v[0],h[r].o[s-1],h[r].i[0],(t.s-m)/_,(t.e-m)/_,l[s-1]),this.addSegmentFromArray(c,i,o,g),g=!1,i.c=!1)}else i.c=!1;m+=a.addedLength,o+=1}if(i._length&&(i.setXYAt(i.v[d][0],i.v[d][1],"i",d),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),m>t.e)break;r=this.p.keyframes[this.p.keyframes.length-1].t?(r=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/i,0),s=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/i,0)):(r=this.p.pv,s=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/i,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){var r=[],s=[],n=this.px,a=this.py;n._caching.lastFrame+n.offsetTime<=n.keyframes[0].t?(r[0]=n.getValueAtTime((n.keyframes[0].t+.01)/i,0),r[1]=a.getValueAtTime((a.keyframes[0].t+.01)/i,0),s[0]=n.getValueAtTime(n.keyframes[0].t/i,0),s[1]=a.getValueAtTime(a.keyframes[0].t/i,0)):n._caching.lastFrame+n.offsetTime>=n.keyframes[n.keyframes.length-1].t?(r[0]=n.getValueAtTime(n.keyframes[n.keyframes.length-1].t/i,0),r[1]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/i,0),s[0]=n.getValueAtTime((n.keyframes[n.keyframes.length-1].t-.01)/i,0),s[1]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/i,0)):(r=[n.pv,a.pv],s[0]=n.getValueAtTime((n._caching.lastFrame+n.offsetTime-.01)/i,n.offsetTime),s[1]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/i,a.offsetTime))}else r=s=e;this.v.rotate(-Math.atan2(r[1]-s[1],r[0]-s[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length){if(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk)if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;else this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],i),i.prototype.addDynamicProperty=t,i.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(e,t,r){return new i(e,t,r)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function floatEqual(e,t){return 1e5*Math.abs(e-t)<=Math.min(Math.abs(e),Math.abs(t))}function floatZero(e){return 1e-5>=Math.abs(e)}function lerp(e,t,i){return e*(1-i)+t*i}function lerpPoint(e,t,i){return[lerp(e[0],t[0],i),lerp(e[1],t[1],i)]}function quadRoots(e,t,i){if(0===e)return[];var r=t*t-4*e*i;if(r<0)return[];var s=-t/(2*e);if(0===r)return[s];var n=Math.sqrt(r)/(2*e);return[s-n,s+n]}function polynomialCoefficients(e,t,i,r){return[-e+3*t-3*i+r,3*e-6*t+3*i,-3*e+3*t,e]}function singlePoint(e){return new PolynomialBezier(e,e,e,e,!1)}function PolynomialBezier(e,t,i,r,s){s&&pointEqual(e,t)&&(t=lerpPoint(e,r,1/3)),s&&pointEqual(i,r)&&(i=lerpPoint(e,r,2/3));var n=polynomialCoefficients(e[0],t[0],i[0],r[0]),a=polynomialCoefficients(e[1],t[1],i[1],r[1]);this.a=[n[0],a[0]],this.b=[n[1],a[1]],this.c=[n[2],a[2]],this.d=[n[3],a[3]],this.points=[e,t,i,r]}function extrema(e,t){var i=e.points[0][t],r=e.points[e.points.length-1][t];if(i>r){var s=r;r=i,i=s}for(var n=quadRoots(3*e.a[t],2*e.b[t],e.c[t]),a=0;a0&&n[a]<1){var o=e.point(n[a])[t];or&&(r=o)}return{min:i,max:r}}function intersectData(e,t,i){var r=e.boundingBox();return{cx:r.cx,cy:r.cy,width:r.width,height:r.height,bez:e,t:(t+i)/2,t1:t,t2:i}}function splitData(e){var t=e.bez.split(.5);return[intersectData(t[0],e.t1,e.t),intersectData(t[1],e.t,e.t2)]}function boxIntersect(e,t){return 2*Math.abs(e.cx-t.cx)=n||e.width<=r&&e.height<=r&&t.width<=r&&t.height<=r)return void s.push([e.t,t.t]);var a=splitData(e),o=splitData(t);intersectsImpl(a[0],o[0],i+1,r,s,n),intersectsImpl(a[0],o[1],i+1,r,s,n),intersectsImpl(a[1],o[0],i+1,r,s,n),intersectsImpl(a[1],o[1],i+1,r,s,n)}}function crossProduct(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function lineIntersection(e,t,i,r){var s=[e[0],e[1],1],n=[t[0],t[1],1],a=[i[0],i[1],1],o=[r[0],r[1],1],l=crossProduct(crossProduct(s,n),crossProduct(a,o));return floatZero(l[2])?null:[l[0]/l[2],l[1]/l[2]]}function polarOffset(e,t,i){return[e[0]+Math.cos(t)*i,e[1]-Math.sin(t)*i]}function pointDistance(e,t){return Math.hypot(e[0]-t[0],e[1]-t[1])}function pointEqual(e,t){return floatEqual(e[0],t[0])&&floatEqual(e[1],t[1])}function ZigZagModifier(){}function setPoint(e,t,i,r,s,n,a){var o=i-Math.PI/2,l=i+Math.PI/2,c=t[0]+Math.cos(i)*r*s,d=t[1]-Math.sin(i)*r*s;e.setTripleAt(c,d,c+Math.cos(o)*n,d-Math.sin(o)*n,c+Math.cos(l)*a,d-Math.sin(l)*a,e.length())}function getPerpendicularVector(e,t){var i=[t[0]-e[0],t[1]-e[1]],r=-(.5*Math.PI);return[Math.cos(r)*i[0]-Math.sin(r)*i[1],Math.sin(r)*i[0]+Math.cos(r)*i[1]]}function getProjectingAngle(e,t){var i=0===t?e.length()-1:t-1,r=(t+1)%e.length(),s=getPerpendicularVector(e.v[i],e.v[r]);return Math.atan2(0,1)-Math.atan2(s[1],s[0])}function zigZagCorner(e,t,i,r,s,n,a){var o=getProjectingAngle(t,i),l=t.v[i%t._length],c=t.v[0===i?t._length-1:i-1],d=t.v[(i+1)%t._length],u=2===n?Math.sqrt(Math.pow(l[0]-c[0],2)+Math.pow(l[1]-c[1],2)):0,h=2===n?Math.sqrt(Math.pow(l[0]-d[0],2)+Math.pow(l[1]-d[1],2)):0;setPoint(e,t.v[i%t._length],o,a,r,h/((s+1)*2),u/((s+1)*2),n)}function zigZagSegment(e,t,i,r,s,n){for(var a=0;a1&&t.length>1&&(s=getIntersection(e[0],t[t.length-1])))?[[e[0].split(s[0])[0]],[t[t.length-1].split(s[1])[1]]]:[i,r]}function pruneIntersections(e){for(var t,i=1;i1&&(t=pruneSegmentIntersection(e[e.length-1],e[0]),e[e.length-1]=t[0],e[0]=t[1]),e}function offsetSegmentSplit(e,t){var i,r,s,n,a=e.inflectionPoints();if(0===a.length)return[offsetSegment(e,t)];if(1===a.length||floatEqual(a[1],1))return i=(s=e.split(a[0]))[0],r=s[1],[offsetSegment(i,t),offsetSegment(r,t)];i=(s=e.split(a[0]))[0];var o=(a[1]-a[0])/(1-a[0]);return n=(s=s[1].split(o))[0],r=s[1],[offsetSegment(i,t),offsetSegment(n,t),offsetSegment(r,t)]}function OffsetPathModifier(){}function getFontProperties(e){for(var t=e.fStyle?e.fStyle.split(" "):[],i="normal",r="normal",s=t.length,n=0;n0;)i-=1,this._elements.unshift(t[i]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(e){var t,i=e.length;for(t=0;t0?Math.floor(m):Math.ceil(m),_=this.pMatrix.props,y=this.rMatrix.props,v=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var b=0;if(m>0){for(;bg;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),b-=1;f&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-f,!0),b-=f)}for(s=1===this.data.m?0:this._currentCopies-1,n=1===this.data.m?1:-1,a=this._currentCopies;a;){if(c=(r=(i=this.elemsData[s].it)[i.length-1].transform.mProps.v.props).length,i[i.length-1].transform.mProps._mdf=!0,i[i.length-1].transform.op._mdf=!0,i[i.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(s/(this._currentCopies-1)),0!==b){for((0!==s&&1===n||s!==this._currentCopies-1&&-1===n)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),this.matrix.transform(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15]),this.matrix.transform(_[0],_[1],_[2],_[3],_[4],_[5],_[6],_[7],_[8],_[9],_[10],_[11],_[12],_[13],_[14],_[15]),l=0;l0&&r<1?[t]:[]:[t-r,t+r].filter(function(e){return e>0&&e<1})},PolynomialBezier.prototype.split=function(e){if(e<=0)return[singlePoint(this.points[0]),this];if(e>=1)return[this,singlePoint(this.points[this.points.length-1])];var t=lerpPoint(this.points[0],this.points[1],e),i=lerpPoint(this.points[1],this.points[2],e),r=lerpPoint(this.points[2],this.points[3],e),s=lerpPoint(t,i,e),n=lerpPoint(i,r,e),a=lerpPoint(s,n,e);return[new PolynomialBezier(this.points[0],t,s,a,!0),new PolynomialBezier(a,n,r,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var e=this.bounds();return{left:e.x.min,right:e.x.max,top:e.y.min,bottom:e.y.max,width:e.x.max-e.x.min,height:e.y.max-e.y.min,cx:(e.x.max+e.x.min)/2,cy:(e.y.max+e.y.min)/2}},PolynomialBezier.prototype.intersections=function(e,t,i){void 0===t&&(t=2),void 0===i&&(i=7);var r=[];return intersectsImpl(intersectData(this,0,1),intersectData(e,0,1),0,t,r,i),r},PolynomialBezier.shapeSegment=function(e,t){var i=(t+1)%e.length();return new PolynomialBezier(e.v[t],e.o[t],e.i[i],e.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(e,t){var i=(t+1)%e.length();return new PolynomialBezier(e.v[i],e.i[i],e.o[t],e.v[t],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(e,t.s,0,null,this),this.frequency=PropertyFactory.getProp(e,t.r,0,null,this),this.pointsType=PropertyFactory.getProp(e,t.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(e,t,i,r){var s=e._length,n=shapePool.newElement();if(n.c=e.c,e.c||(s-=1),0===s)return n;var a=-1,o=PolynomialBezier.shapeSegment(e,0);zigZagCorner(n,e,0,t,i,r,a);for(var l=0;l=0;s-=1)a=PolynomialBezier.shapeSegmentInverted(e,s),c.push(offsetSegmentSplit(a,t));c=pruneIntersections(c);var d=null,u=null;for(s=0;s0&&(l=!1),l){var c=createTag("style");c.setAttribute("f-forigin",i[n].fOrigin),c.setAttribute("f-origin",i[n].origin),c.setAttribute("f-family",i[n].fFamily),c.type="text/css",c.innerText="@font-face {font-family: "+i[n].fFamily+"; font-style: normal; src: url('"+i[n].fPath+"');}",t.appendChild(c)}}else if("g"===i[n].fOrigin||1===i[n].origin){for(o=0,a=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');o=55296&&i<=56319){var r=e.charCodeAt(1);r>=56320&&r<=57343&&(t=(i-55296)*1024+r-56320+65536)}return t}function k(e){return e===l}function x(e){return e===o}function C(e){var t=S(e);return!!(t>=c)&&!!(t<=d)}function w(e){return C(e.substr(0,2))&&C(e.substr(2,2))}function E(e){return -1!==i.indexOf(e)}function T(e,t){var i=S(e.substr(t,2));if(i!==r)return!1;var o=0;for(t+=2;o<5;){if((i=S(e.substr(t,2)))a)return!1;o+=1,t+=2}return S(e.substr(t,2))===s}function I(){this.isLoaded=!0}var R=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};return R.isModifier=function(e,t){var i=e.toString(16)+t.toString(16);return -1!==u.indexOf(i)},R.isZeroWidthJoiner=k,R.isFlagEmoji=w,R.isRegionalCode=C,R.isCombinedCharacter=E,R.isRegionalFlag=T,R.isVariationSelector=x,R.BLACK_FLAG_CODE_POINT=r,R.prototype={addChars:_,addFonts:g,getCharData:y,getFontByName:b,measureText:v,checkLoadedFonts:m,setIsLoaded:I},R}();function SlotManager(e){this.animationData=e}function slotFactory(e){return new SlotManager(e)}function RenderableElement(){}SlotManager.prototype.getProp=function(e){return this.animationData.slots&&this.animationData.slots[e.sid]?Object.assign(e,this.animationData.slots[e.sid].p):e},RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){-1===this.renderableComponents.indexOf(e)&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){-1!==this.renderableComponents.indexOf(e)&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,t=this.renderableComponents.length;for(e=0;e.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(e){this.audio.rate(e)},AudioElement.prototype.volume=function(e){this._volumeMultiplier=e,this._previousVolume=e*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(e){var t,i,r=this.layers.length;for(this.completeLayers=!0,t=r-1;t>=0;t-=1)!this.elements[t]&&(i=this.layers[t]).ip-i.st<=e-this.layers[t].st&&i.op-i.st>e-this.layers[t].st&&this.buildItem(t),this.completeLayers=!!this.elements[t]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(e){switch(e.ty){case 2:return this.createImage(e);case 0:return this.createComp(e);case 1:return this.createSolid(e);case 3:default:return this.createNull(e);case 4:return this.createShape(e);case 5:return this.createText(e);case 6:return this.createAudio(e);case 13:return this.createCamera(e);case 15:return this.createFootage(e)}},BaseRenderer.prototype.createCamera=function(){throw Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(e){return new AudioElement(e,this.globalData,this)},BaseRenderer.prototype.createFootage=function(e){return new FootageElement(e,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var e,t=this.layers.length;for(e=0;e0&&(this.maskElement.setAttribute("id",l),this.element.maskedElement.setAttribute(d,"url("+getLocationHref()+"#"+l+")"),r.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}TransformElement.prototype={initTransform:function(){var e=new Matrix;this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:e,localMat:e,localOpacity:1},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var e,t=this.finalTransform.mat,i=0,r=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;i1&&(n+=" C"+t.o[r-1][0]+","+t.o[r-1][1]+" "+t.i[0][0]+","+t.i[0][1]+" "+t.v[0][0]+","+t.v[0][1]),i.lastPath!==n){var a="";i.elem&&(t.c&&(a=e.inv?this.solidPath+n:n),i.elem.setAttribute("d",a)),i.lastPath=n}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var e={};function t(){var e=createNS("feColorMatrix");return e.setAttribute("type","matrix"),e.setAttribute("color-interpolation-filters","sRGB"),e.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),e}return e.createFilter=function e(e,t){var i=createNS("filter");return i.setAttribute("id",e),!0!==t&&(i.setAttribute("filterUnits","objectBoundingBox"),i.setAttribute("x","0%"),i.setAttribute("y","0%"),i.setAttribute("width","100%"),i.setAttribute("height","100%")),i},e.createAlphaToLuminanceFilter=t,e}(),featureSupport=function(){var e={maskType:!0,svgLumaHidden:!0,offscreenCanvas:"u">typeof OffscreenCanvas};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(e.maskType=!1),/firefox/i.test(navigator.userAgent)&&(e.svgLumaHidden=!1),e}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(e){var t,i,r="SourceGraphic",s=e.data.ef?e.data.ef.length:0,n=createElementID(),a=filtersFactory.createFilter(n,!0),o=0;for(t=0,this.filters=[];t=0&&!this.shapeModifiers[e].processShapes(this._isFirstFrame);e-=1);}},searchProcessedElement:function(e){for(var t=this.processedElements,i=0,r=t.length;i.01)return!1;i+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var e=0,t=this.data.k.k.length;e0;)l=r.transformers[m].mProps._mdf||l,p-=1,m-=1;if(l)for(p=g-r.styles[d].lvl,m=r.transformers.length-1;p>0;)h.multiply(r.transformers[m].mProps.v),p-=1,m-=1}else h=e;if(a=(u=r.sh.paths)._length,l){for(n=0,o="";n=1?y=.99:y<=-1&&(y=-.99);var v=o*y,b=Math.cos(_+t.a.v)*v+d[0],S=Math.sin(_+t.a.v)*v+d[1];l.setAttribute("fx",b),l.setAttribute("fy",S),c&&!t.g._collapsable&&(t.of.setAttribute("fx",b),t.of.setAttribute("fy",S))}}function l(e,t,i){var r=t.style,s=t.d;s&&(s._mdf||i)&&s.dashStr&&(r.pElem.setAttribute("stroke-dasharray",s.dashStr),r.pElem.setAttribute("stroke-dashoffset",s.dashoffset[0])),t.c&&(t.c._mdf||i)&&r.pElem.setAttribute("stroke","rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||i)&&r.pElem.setAttribute("stroke-opacity",t.o.v),(t.w._mdf||i)&&(r.pElem.setAttribute("stroke-width",t.w.v),r.msElem&&r.msElem.setAttribute("stroke-width",t.w.v))}return{createRenderFunction:function(e){switch(e.ty){case"fl":return n;case"gf":return o;case"gs":return a;case"st":return l;case"sh":case"el":case"rc":case"sr":return s;case"tr":return i;case"no":return r;default:return null}}}}();function SVGShapeElement(e,t,i){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(e,t,i),this.prevViewData=[]}function LetterProps(e,t,i,r,s,n){this.o=e,this.sw=t,this.sc=i,this.fc=r,this.m=s,this.p=n,this._mdf={o:!0,sw:!!t,sc:!!i,fc:!!r,m:!0,p:!0}}function TextProperty(e,t){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,t.d&&t.d.sid&&(t.d=e.globalData.slotManager.getProp(t.d)),this.data=t,this.elem=e,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var e,t,i,r,s=this.shapes.length,n=this.stylesList.length,a=[],o=!1;for(i=0;i1&&o&&this.setShapesAsAnimated(a)}},SVGShapeElement.prototype.setShapesAsAnimated=function(e){var t,i=e.length;for(t=0;t=0;o-=1){if((h=this.searchProcessedElement(e[o]))?t[o]=i[h-1]:e[o]._render=a,"fl"===e[o].ty||"st"===e[o].ty||"gf"===e[o].ty||"gs"===e[o].ty||"no"===e[o].ty)h?t[o].style.closed=e[o].hd:t[o]=this.createStyleElement(e[o],s),e[o]._render&&t[o].style.pElem.parentNode!==r&&r.appendChild(t[o].style.pElem),f.push(t[o].style);else if("gr"===e[o].ty){if(h)for(l=0,c=t[o].it.length;l1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(e){this.effectsSequence.push(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(e){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||e){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var t,i=this.currentData,r=this.keysIndex;if(this.lock)return void this.setCurrentData(this.currentData);this.lock=!0,this._mdf=!1;var s=this.effectsSequence.length,n=e||this.data.d.k[this.keysIndex].s;for(t=0;tt);)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(e){for(var t,i,r=[],s=0,n=e.length,a=!1,o=!1,l="";s=55296&&t<=56319?FontManager.isRegionalFlag(e,s)?l=e.substr(s,14):(i=e.charCodeAt(s+1))>=56320&&i<=57343&&(FontManager.isModifier(t,i)?(l=e.substr(s,2),a=!0):l=FontManager.isFlagEmoji(e.substr(s,4))?e.substr(s,4):e.substr(s,2)):t>56319?(i=e.charCodeAt(s+1),FontManager.isVariationSelector(t)&&(a=!0)):FontManager.isZeroWidthJoiner(t)&&(a=!0,o=!0),a?(r[r.length-1]+=l,a=!1):r.push(l),s+=l.length;return r},TextProperty.prototype.completeTextData=function(e){e.__complete=!0;var t=this.elem.globalData.fontManager,i=this.data,r=[],s=0,n=i.m.g,a=0,o=0,l=0,c=[],d=0,u=0,h=t.getFontByName(e.f),p=0,m=getFontProperties(h);e.fWeight=m.weight,e.fStyle=m.style,e.finalSize=e.s,e.finalText=this.buildFinalText(e.t),_=e.finalText.length,e.finalLineHeight=e.lh;var f=e.tr/1e3*e.finalSize;if(e.sz)for(var g,_,y,v,b,S,k,x,C,w,E=!0,T=e.sz[0],I=e.sz[1];E;){w=this.buildFinalText(e.t),C=0,d=0,_=w.length,f=e.tr/1e3*e.finalSize;var R=-1;for(g=0;g<_;g+=1)x=w[g].charCodeAt(0),y=!1," "===w[g]?R=g:(13===x||3===x)&&(d=0,y=!0,C+=e.finalLineHeight||1.2*e.finalSize),t.chars?(k=t.getCharData(w[g],h.fStyle,h.fFamily),p=y?0:k.w*e.finalSize/100):p=t.measureText(w[g],e.f,e.finalSize),d+p>T&&" "!==w[g]?(-1===R?_+=1:g=R,C+=e.finalLineHeight||1.2*e.finalSize,w.splice(g,+(R===g),"\r"),R=-1,d=0):(d+=p,d+=f);C+=h.ascent*e.finalSize/100,this.canResize&&e.finalSize>this.minimumFontSize&&Iu?d:u,d=-2*f,v="",y=!0,l+=1):v=P,t.chars?(k=t.getCharData(P,h.fStyle,t.getFontByName(e.f).fFamily),p=y?0:k.w*e.finalSize/100):p=t.measureText(v,e.f,e.finalSize)," "===P?N+=p+f:(d+=p+f+N,N=0),r.push({l:p,an:p,add:a,n:y,anIndexes:[],val:v,line:l,animatorJustifyOffset:0}),2==n){if(a+=p,""===v||" "===v||g===_-1){for((""===v||" "===v)&&(a-=p);o<=g;)r[o].an=a,r[o].ind=s,r[o].extra=p,o+=1;s+=1,a=0}}else if(3==n){if(a+=p,""===v||g===_-1){for(""===v&&(a-=p);o<=g;)r[o].an=a,r[o].ind=s,r[o].extra=p,o+=1;a=0,s+=1}}else r[s].ind=s,r[s].extra=0,s+=1;if(e.l=r,u=d>u?d:u,c.push(d),e.sz)e.boxWidth=e.sz[0],e.justifyOffset=0;else switch(e.boxWidth=u,e.j){case 1:e.justifyOffset=-e.boxWidth;break;case 2:e.justifyOffset=-e.boxWidth/2;break;default:e.justifyOffset=0}e.lineWidths=c;var A=i.a;S=A.length;var M=[];for(b=0;b0?s=this.ne.v/100:n=-this.ne.v/100,this.xe.v>0?a=1-this.xe.v/100:o=1+this.xe.v/100;var l=BezierFactory.getBezierEasing(s,n,a,o).get,c=0,d=this.finalS,u=this.finalE,h=this.data.sh;if(2===h)c=l(c=u===d?+(r>=u):e(0,t(.5/(u-d)+(r-d)/(u-d),1)));else if(3===h)c=l(c=u===d?r>=u?0:1:1-e(0,t(.5/(u-d)+(r-d)/(u-d),1)));else if(4===h)u===d?c=0:(c=e(0,t(.5/(u-d)+(r-d)/(u-d),1)))<.5?c*=2:c=1-2*(c-.5),c=l(c);else if(5===h){if(u===d)c=0;else{var p=u-d,m=-p/2+(r=t(e(0,r+.5-d),u-d)),f=p/2;c=Math.sqrt(1-m*m/(f*f))}c=l(c)}else 6===h?c=l(c=u===d?0:(1+Math.cos(Math.PI+2*Math.PI*(r=t(e(0,r+.5-d),u-d))/(u-d)))/2):(r>=i(d)&&(c=r-d<0?e(0,t(t(u,1)-(d-r),1)):e(0,t(u-r,1))),c=l(c));if(100!==this.sm.v){var g=.01*this.sm.v;0===g&&(g=1e-8);var _=.5-.5*g;c<_?c=0:(c=(c-_)/g)>1&&(c=1)}return c*this.a.v},getValue:function(e){this.iterateDynamicProperties(),this._mdf=e||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,e&&2===this.data.r&&(this.e.v=this._currentTextLength);var t=2===this.data.r?1:100/this.data.totalChars,i=this.o.v/t,r=this.s.v/t+i,s=this.e.v/t+i;if(r>s){var n=r;r=s,s=n}this.finalS=r,this.finalE=s}},extendPrototype([DynamicPropertyContainer],r),{getTextSelectorProp:function(e,t,i){return new r(e,t,i)}}}();function TextAnimatorDataProperty(e,t,i){var r={propType:!1},s=PropertyFactory.getProp,n=t.a;this.a={r:n.r?s(e,n.r,0,degToRads,i):r,rx:n.rx?s(e,n.rx,0,degToRads,i):r,ry:n.ry?s(e,n.ry,0,degToRads,i):r,sk:n.sk?s(e,n.sk,0,degToRads,i):r,sa:n.sa?s(e,n.sa,0,degToRads,i):r,s:n.s?s(e,n.s,1,.01,i):r,a:n.a?s(e,n.a,1,0,i):r,o:n.o?s(e,n.o,0,.01,i):r,p:n.p?s(e,n.p,1,0,i):r,sw:n.sw?s(e,n.sw,0,0,i):r,sc:n.sc?s(e,n.sc,1,0,i):r,fc:n.fc?s(e,n.fc,1,0,i):r,fh:n.fh?s(e,n.fh,0,0,i):r,fs:n.fs?s(e,n.fs,0,.01,i):r,fb:n.fb?s(e,n.fb,0,.01,i):r,t:n.t?s(e,n.t,0,0,i):r},this.s=TextSelectorProp.getTextSelectorProp(e,t.s,i),this.s.t=t.s.t}function TextAnimatorProperty(e,t,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=e,this._renderType=t,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var e,t,i=this._textData.a.length,r=PropertyFactory.getProp;for(e=0;e=M+el||!U?(W=(M+el-j)/P.partialLength,c=F.point[0]+(P.point[0]-F.point[0])*W,d=F.point[1]+(P.point[1]-F.point[1])*W,x.translate(-b[0]*E[R].an*.005,-(.01*(b[1]*X))),L=!1):U&&(j+=P.partialLength,(D+=1)>=U.length&&(D=0,V[O+=1]?U=V[O].points:G.v.c?(D=0,U=V[O=0].points):(j-=P.partialLength,U=null)),U&&(F=P,B=(P=U[D]).partialLength));l=E[R].an/2-E[R].add,x.translate(-l,0,0)}else l=E[R].an/2-E[R].add,x.translate(-l,0,0),x.translate(-b[0]*E[R].an*.005,-b[1]*X*.01,0);for(s=0;sf?this.textSpans[f].span:createNS(n?"g":"text"),p<=f){if(_.setAttribute("stroke-linecap","butt"),_.setAttribute("stroke-linejoin","round"),_.setAttribute("stroke-miterlimit","4"),this.textSpans[f].span=_,n){var m=createNS("g");_.appendChild(m),this.textSpans[f].childSpan=m}this.textSpans[f].span=_,this.layerElement.appendChild(_)}_.style.display="inherit"}if(a.reset(),l&&(s[f].n&&(c=-h,d+=e.yOffset,d+=+!!u,u=!1),this.applyTextPropertiesToMatrix(e,a,s[f].line,c,d),c+=s[f].l||0,c+=h),n){if(1===(y=this.globalData.fontManager.getCharData(e.finalText[f],t.fStyle,this.globalData.fontManager.getFontByName(e.f).fFamily)).t)v=new SVGCompElement(y.data,this.globalData,this);else{var f,g,_,y,v,b=emptyShapeData;y.data&&y.data.shapes&&(b=this.buildShapeData(y.data,e.finalSize)),v=new SVGShapeElement(b,this.globalData,this)}if(this.textSpans[f].glyph){var S=this.textSpans[f].glyph;this.textSpans[f].childSpan.removeChild(S.layerElement),S.destroy()}this.textSpans[f].glyph=v,v._debug=!0,v.prepareFrame(0),v.renderFrame(),this.textSpans[f].childSpan.appendChild(v.layerElement),1===y.t&&this.textSpans[f].childSpan.setAttribute("transform","scale("+e.finalSize/100+","+e.finalSize/100+")")}else l&&_.setAttribute("transform","translate("+a.props[12]+","+a.props[13]+")"),_.textContent=s[f].val,_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}l&&_&&_.setAttribute("d",o)}else{var k=this.textContainer,x="start";switch(e.j){case 1:x="end";break;case 2:x="middle";break;default:x="start"}k.setAttribute("text-anchor",x),k.setAttribute("letter-spacing",h);var C=this.buildTextContents(e.finalText);for(f=0,g=C.length,d=e.ps?e.ps[1]+e.ascent:0;f=0;t-=1)(this.completeLayers||this.elements[t])&&this.elements[t].prepareFrame(e-this.layers[t].st);if(this.globalData._mdf)for(t=0;t=0;t-=1)(this.completeLayers||this.elements[t])&&(this.elements[t].prepareFrame(this.renderedFrame-this.layers[t].st),this.elements[t]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var e,t=this.layers.length;for(e=0;e=0;i-=1)e.finalTransform.multiply(e.transforms[i].transform.mProps.v);e._mdf=s},processSequences:function(e){var t,i=this.sequenceList.length;for(t=0;t=1){this.buffers=[];var e=this.globalData.canvasContext,t=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(t);var i=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(i),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var t=getBlendMode(this.data.bm);e.canvasContext.globalCompositeOperation=t}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){this.hidden||this.isInRange&&!this.isTransparent||(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0].getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],t=e.getContext("2d");if(this.clearCanvas(t),t.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var i=assetLoader.getLumaCanvas(this.canvasContext.canvas);i.getContext("2d").drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(i,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(e){if(!this.hidden&&!this.data.hd&&(1!==this.data.td||e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var t=0===this.data.ty;this.prepareLayer(),this.globalData.renderer.save(t),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(t),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement,CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated,extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(e,t){var i={data:e,type:e.ty,preTransforms:this.transformsManager.addTransformSequence(t),transforms:[],elements:[],closed:!0===e.hd},r={};return"fl"===e.ty||"st"===e.ty?(r.c=PropertyFactory.getProp(this,e.c,1,255,this),r.c.k||(i.co="rgb("+bmFloor(r.c.v[0])+","+bmFloor(r.c.v[1])+","+bmFloor(r.c.v[2])+")")):("gf"===e.ty||"gs"===e.ty)&&(r.s=PropertyFactory.getProp(this,e.s,1,null,this),r.e=PropertyFactory.getProp(this,e.e,1,null,this),r.h=PropertyFactory.getProp(this,e.h||{k:0},0,.01,this),r.a=PropertyFactory.getProp(this,e.a||{k:0},0,degToRads,this),r.g=new GradientProperty(this,e.g,this)),r.o=PropertyFactory.getProp(this,e.o,0,.01,this),"st"===e.ty||"gs"===e.ty?(i.lc=lineCapEnum[e.lc||2],i.lj=lineJoinEnum[e.lj||2],1==e.lj&&(i.ml=e.ml),r.w=PropertyFactory.getProp(this,e.w,0,null,this),r.w.k||(i.wi=r.w.v),e.d&&(r.d=new DashProperty(this,e.d,"canvas",this),r.d.k||(i.da=r.d.dashArray,i.do=r.d.dashoffset[0]))):i.r=2===e.r?"evenodd":"nonzero",this.stylesList.push(i),r.style=i,r},CVShapeElement.prototype.createGroupElement=function(){return{it:[],prevViewData:[]}},CVShapeElement.prototype.createTransformElement=function(e){return{transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,e.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,e,this)}}},CVShapeElement.prototype.createShapeElement=function(e){var t=new CVShapeData(this,e,this.stylesList,this.transformsManager);return this.shapes.push(t),this.addShapeToModifiers(t),t},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var e,t=this.itemsData.length;for(e=0;e=0;n-=1){if((l=this.searchProcessedElement(e[n]))?t[n]=i[l-1]:e[n]._shouldRender=r,"fl"===e[n].ty||"st"===e[n].ty||"gf"===e[n].ty||"gs"===e[n].ty)l?t[n].style.closed=!1:t[n]=this.createStyleElement(e[n],m),h.push(t[n].style);else if("gr"===e[n].ty){if(l)for(a=0,o=t[n].it.length;a=0;s-=1)"tr"===t[s].ty?(n=i[s].transform,this.renderShapeTransform(e,n)):"sh"===t[s].ty||"el"===t[s].ty||"rc"===t[s].ty||"sr"===t[s].ty?this.renderPath(t[s],i[s]):"fl"===t[s].ty?this.renderFill(t[s],i[s],n):"st"===t[s].ty?this.renderStroke(t[s],i[s],n):"gf"===t[s].ty||"gs"===t[s].ty?this.renderGradientFill(t[s],i[s],n):"gr"===t[s].ty?this.renderShape(n,t[s].it,i[s].it):t[s].ty;r&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(e,t){if(this._isFirstFrame||t._mdf||e.transforms._mdf){var i,r,s,n=e.trNodes,a=t.paths,o=a._length;n.length=0;var l=e.transforms.finalTransform;for(s=0;s=1?u=.99:u<=-1&&(u=-.99);var h=c*u,p=Math.cos(d+t.a.v)*h+o[0],m=Math.sin(d+t.a.v)*h+o[1];s=a.createRadialGradient(p,m,0,o[0],o[1],c)}var f=e.g.p,g=t.g.c,_=1;for(n=0;no&&"xMidYMid slice"===l||as&&"meet"===o||ns&&"slice"===o)?this.transformCanvas.tx=(i-this.transformCanvas.w*(r/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===c&&(ns&&"slice"===o)?this.transformCanvas.tx=(i-this.transformCanvas.w*(r/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,"YMid"===d&&(n>s&&"meet"===o||ns&&"meet"===o||n=0;e-=1)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(e,t){if((this.renderedFrame!==e||!0!==this.renderConfig.clearCanvas||t)&&!this.destroyed&&-1!==e){this.renderedFrame=e,this.globalData.frameNum=e-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||t,this.globalData.projectInterface.currentFrame=e;var i,r=this.layers.length;for(this.completeLayers||this.checkLayers(e),i=r-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].prepareFrame(e-this.layers[i].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),i=r-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(e){var t=this.elements;if(!t[e]&&99!==this.layers[e].ty){var i=this.createItem(this.layers[e],this,this.globalData);t[e]=i,i.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},CVContextData.prototype.duplicate=function(){var e=2*this._length,t=0;for(t=this._length;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},CVCompElement.prototype.destroy=function(){var e;for(e=this.layers.length-1;e>=0;e-=1)this.elements[e]&&this.elements[e].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(e){return new CVCompElement(e,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(e){return new CVCompElement(e,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var e=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var t=this.finalTransform.mat.toCSS();e.transform=t,e.webkitTransform=t}this.finalTransform._opMdf&&(e.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var e;this.data.hasMask?((e=createNS("rect")).setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),e.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((e=createTag("div")).style.width=this.data.sw+"px",e.style.height=this.data.sh+"px",e.style.backgroundColor=this.data.sc),this.layerElement.appendChild(e)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var e;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),e=this.svgElement;else{e=createNS("svg");var t=this.comp.data?this.comp.data:this.globalData.compSize;e.setAttribute("width",t.w),e.setAttribute("height",t.h),e.appendChild(this.shapesContainer),this.layerElement.appendChild(e)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=e},HShapeElement.prototype.getTransformedPoint=function(e,t){var i,r=e.length;for(i=0;i0&&o<1&&u[h].push(this.calculateF(o,e,t,i,r,h)):(l=n*n-4*a*s)>=0&&((c=(-n+bmSqrt(l))/(2*s))>0&&c<1&&u[h].push(this.calculateF(c,e,t,i,r,h)),(d=(-n-bmSqrt(l))/(2*s))>0&&d<1&&u[h].push(this.calculateF(d,e,t,i,r,h))));this.shapeBoundingBox.left=bmMin.apply(null,u[0]),this.shapeBoundingBox.top=bmMin.apply(null,u[1]),this.shapeBoundingBox.right=bmMax.apply(null,u[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,u[1])},HShapeElement.prototype.calculateF=function(e,t,i,r,s,n){return bmPow(1-e,3)*t[n]+3*bmPow(1-e,2)*e*i[n]+3*(1-e)*bmPow(e,2)*r[n]+bmPow(e,3)*s[n]},HShapeElement.prototype.calculateBoundingBox=function(e,t){var i,r=e.length;for(i=0;ii&&(i=s)}i*=e.mult}else i=e.v*e.mult;t.x-=i,t.xMax+=i,t.y-=i,t.yMax+=i},HShapeElement.prototype.currentBoxContains=function(e){return this.currentBBox.x<=e.x&&this.currentBBox.y<=e.y&&this.currentBBox.width+this.currentBBox.x>=e.x+e.width&&this.currentBBox.height+this.currentBBox.y>=e.y+e.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var e=this.tempBoundingBox,t=999999;if(e.x=999999,e.xMax=-t,e.y=t,e.yMax=-t,this.calculateBoundingBox(this.itemsData,e),e.width=e.xMax=0;i-=1){var t=this.hierarchy[i].finalTransform.mProp;this.mat.translate(-t.p.v[0],-t.p.v[1],t.p.v[2]),this.mat.rotateX(-t.or.v[0]).rotateY(-t.or.v[1]).rotateZ(t.or.v[2]),this.mat.rotateX(-t.rx.v).rotateY(-t.ry.v).rotateZ(t.rz.v),this.mat.scale(1/t.s.v[0],1/t.s.v[1],1/t.s.v[2]),this.mat.translate(t.a.v[0],t.a.v[1],t.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var i,r,s=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]],n=Math.sqrt(Math.pow(s[0],2)+Math.pow(s[1],2)+Math.pow(s[2],2)),a=[s[0]/n,s[1]/n,s[2]/n],o=Math.sqrt(a[2]*a[2]+a[0]*a[0]),l=Math.atan2(a[1],o),c=Math.atan2(a[0],-a[2]);this.mat.rotateY(c).rotateX(-l)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var d=!this._prevMat.equals(this.mat);if((d||this.pe._mdf)&&this.comp.threeDElements){for(i=0,r=this.comp.threeDElements.length;i=e)return this.threeDElements[t].perspectiveElem;t+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(e,t){var i,r,s=createTag("div");styleDiv(s);var n=createTag("div");if(styleDiv(n),"3d"===t){(i=s.style).width=this.globalData.compSize.w+"px",i.height=this.globalData.compSize.h+"px";var a="50% 50%";i.webkitTransformOrigin=a,i.mozTransformOrigin=a,i.transformOrigin=a;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(r=n.style).transform=o,r.webkitTransform=o}s.appendChild(n);var l={container:n,perspectiveElem:s,startPos:e,endPos:e,type:t};return this.threeDElements.push(l),l},HybridRendererBase.prototype.build3dContainers=function(){var e,t,i=this.layers.length,r="";for(e=0;e=0;e-=1)this.resizerElem.appendChild(this.threeDElements[e].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(e,t){for(var i=0,r=this.threeDElements.length;ia?(e=s/this.globalData.compSize.w,t=s/this.globalData.compSize.w,i=0,r=(n-this.globalData.compSize.h*(s/this.globalData.compSize.w))/2):(e=n/this.globalData.compSize.h,t=n/this.globalData.compSize.h,i=(s-this.globalData.compSize.w*(n/this.globalData.compSize.h))/2,r=0);var o=this.resizerElem.style;o.webkitTransform="matrix3d("+e+",0,0,0,0,"+t+",0,0,0,0,1,0,"+i+","+r+",0,1)",o.transform=o.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var e,t=this.globalData.compSize.w,i=this.globalData.compSize.h,r=this.threeDElements.length;for(e=0;e=d;)e/=2,t/=2,i>>>=1;return(e+i)/t};return b.int32=function(){return 0|v.g(4)},b.quick=function(){return v.g(4)/0x100000000},b.double=b,g(y(v.S),e),(r.pass||a||function(e,i,r,s){return(s&&(s.S&&m(s,v),e.state=function(){return m(v,{})}),r)?(t[o]=e,i):e})(b,h,"global"in r?r.global:this==t,r.state)}function p(e){var t,i=e.length,r=this,n=0,a=r.i=r.j=0,o=r.S=[];for(i||(e=[i++]);ni){var r=i;i=t,t=r}return Math.min(Math.max(e,t),i)}function radiansToDegrees(e){return e/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(e){return e*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(e,t){if("number"==typeof e||e instanceof Number)return t=t||0,Math.abs(e-t);t||(t=helperLengthArray);var i,r=Math.min(e.length,t.length),s=0;for(i=0;i.5?c/(2-a-o):c/(a+o),a){case r:t=(s-n)/c+6*(s1&&(i-=1),i<1/6)?e+(t-e)*6*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}function hslToRgb(e){var t,i,r,s=e[0],n=e[1],a=e[2];if(0===n)t=a,r=a,i=a;else{var o=a<.5?a*(1+n):a+n-a*n,l=2*a-o;t=hue2rgb(l,o,s+1/3),i=hue2rgb(l,o,s),r=hue2rgb(l,o,s-1/3)}return[t,i,r,e[3]]}function linear(e,t,i,r,s){if((void 0===r||void 0===s)&&(r=t,s=i,t=0,i=1),i=i)return s;var o=i===t?0:(e-t)/(i-t);if(!r.length)return r+(s-r)*o;var l=r.length,c=createTypedArray("float32",l);for(n=0;n1){for(r=0;r1?t=1:t<0&&(t=0);var a=e(t);if($bm_isInstanceOfArray(s)){var o,l=s.length,c=createTypedArray("float32",l);for(o=0;odata.k[t].t&&edata.k[t+1].t-e?(i=t+2,r=data.k[t+1].t):(i=t+1,r=data.k[t].t);break}-1===i&&(i=t+1,r=data.k[t].t)}else i=0,r=0;var n={};return n.index=i,n.time=r/elem.comp.globalData.frameRate,n}function key(e){if(!data.k.length||"number"==typeof data.k[0])throw Error("The property has no keyframe at index "+e);e-=1;var t,i,r={time:data.k[e].t/elem.comp.globalData.frameRate,value:[]},s=Object.prototype.hasOwnProperty.call(data.k[e],"s")?data.k[e].s:data.k[e-1].e;for(t=0,i=s.length;tc.length-1)&&(t=c.length-1),r=d-(s=c[c.length-1-t].t)),"pingpong"===e){if(Math.floor((l-s)/r)%2!=0)return this.getValueAtTime((r-(l-s)%r+s)/this.comp.globalData.frameRate,0)}else if("offset"===e){var u=this.getValueAtTime(s/this.comp.globalData.frameRate,0),h=this.getValueAtTime(d/this.comp.globalData.frameRate,0),p=this.getValueAtTime(((l-s)%r+s)/this.comp.globalData.frameRate,0),m=Math.floor((l-s)/r);if(this.pv.length){for(n=0,a=(o=Array(u.length)).length;n=d)return this.pv;if(i?(r=t?Math.abs(this.elem.comp.globalData.frameRate*t):Math.max(0,this.elem.data.op-d),s=d+r):((!t||t>c.length-1)&&(t=c.length-1),r=(s=c[t].t)-d),"pingpong"===e){if(Math.floor((d-l)/r)%2==0)return this.getValueAtTime(((d-l)%r+d)/this.comp.globalData.frameRate,0)}else if("offset"===e){var u=this.getValueAtTime(d/this.comp.globalData.frameRate,0),h=this.getValueAtTime(s/this.comp.globalData.frameRate,0),p=this.getValueAtTime((r-(d-l)%r+d)/this.comp.globalData.frameRate,0),m=Math.floor((d-l)/r)+1;if(this.pv.length){for(n=0,a=(o=Array(u.length)).length;n1?(a-n)/(t-1):1,l=0,c=0;for(i=this.pv.length?createTypedArray("float32",this.pv.length):0;la){var d=o,u=r.c&&o===l-1?0:o+1,h=(a-c)/n[o].addedLength;i=bez.getPointInSegment(r.v[d],r.v[u],r.o[d],r.i[u],h,n[o]);break}c+=n[o].addedLength,o+=1}return i||(i=r.c?[r.v[0][0],r.v[0][1]]:[r.v[r._length-1][0],r.v[r._length-1][1]]),i},vectorOnPath:function(e,t,i){1==e?e=this.v.c:0==e&&(e=.999);var r=this.pointOnPath(e,t),s=this.pointOnPath(e+.001,t),n=s[0]-r[0],a=s[1]-r[1],o=Math.sqrt(Math.pow(n,2)+Math.pow(a,2));return 0===o?[0,0]:"tangent"===i?[n/o,a/o]:[-a/o,n/o]},tangentOnPath:function(e,t){return this.vectorOnPath(e,t,"tangent")},normalOnPath:function(e,t){return this.vectorOnPath(e,t,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([d],l),extendPrototype([d],c),c.prototype.getValueAtTime=o,c.prototype.initiateExpression=ExpressionManager.initiateExpression;var u=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(e,t,i,r,s){var n=u(e,t,i,r,s);return n.propertyIndex=t.ix,n.lock=!1,3===i?expressionHelpers.searchExpressions(e,t.pt,n):4===i&&expressionHelpers.searchExpressions(e,t.ks,n),n.k&&e.addDynamicProperty(n),n}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function e(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(e,t){var i=this.calculateExpression(t);if(e.t!==i){var r={};return this.copyData(r,e),r.t=i.toString(),r.__complete=!1,r}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),t=this.searchExpressions();return this.kf=e||t,this.kf},TextProperty.prototype.searchExpressions=e}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function(e,t){var i,r,s=createNS("feMerge");for(s.setAttribute("result",e),r=0;r=d?m<0?r:s:r+p*Math.pow((n-e)/m,1/i),u[h]=a,h+=1,o+=256/(l-1);return u.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t,i=this.filterManager.effectElements;this.feFuncRComposed&&(e||i[3].p._mdf||i[4].p._mdf||i[5].p._mdf||i[6].p._mdf||i[7].p._mdf)&&(t=this.getTableValue(i[3].p.v,i[4].p.v,i[5].p.v,i[6].p.v,i[7].p.v),this.feFuncRComposed.setAttribute("tableValues",t),this.feFuncGComposed.setAttribute("tableValues",t),this.feFuncBComposed.setAttribute("tableValues",t)),this.feFuncR&&(e||i[10].p._mdf||i[11].p._mdf||i[12].p._mdf||i[13].p._mdf||i[14].p._mdf)&&(t=this.getTableValue(i[10].p.v,i[11].p.v,i[12].p.v,i[13].p.v,i[14].p.v),this.feFuncR.setAttribute("tableValues",t)),this.feFuncG&&(e||i[17].p._mdf||i[18].p._mdf||i[19].p._mdf||i[20].p._mdf||i[21].p._mdf)&&(t=this.getTableValue(i[17].p.v,i[18].p.v,i[19].p.v,i[20].p.v,i[21].p.v),this.feFuncG.setAttribute("tableValues",t)),this.feFuncB&&(e||i[24].p._mdf||i[25].p._mdf||i[26].p._mdf||i[27].p._mdf||i[28].p._mdf)&&(t=this.getTableValue(i[24].p.v,i[25].p.v,i[26].p.v,i[27].p.v,i[28].p.v),this.feFuncB.setAttribute("tableValues",t)),this.feFuncA&&(e||i[31].p._mdf||i[32].p._mdf||i[33].p._mdf||i[34].p._mdf||i[35].p._mdf)&&(t=this.getTableValue(i[31].p.v,i[32].p.v,i[33].p.v,i[34].p.v,i[35].p.v),this.feFuncA.setAttribute("tableValues",t))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){if((e||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),e||this.filterManager.effectElements[0].p._mdf){var t=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*t[0]),Math.round(255*t[1]),Math.round(255*t[2])))}if((e||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),e||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var i=this.filterManager.effectElements[3].p.v,r=(this.filterManager.effectElements[2].p.v-90)*degToRads,s=i*Math.cos(r),n=i*Math.sin(r);this.feOffset.setAttribute("dx",s),this.feOffset.setAttribute("dy",n)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(e,t,i){this.initialized=!1,this.filterManager=t,this.filterElem=e,this.elem=i,i.matteElement=createNS("g"),i.matteElement.appendChild(i.layerElement),i.matteElement.appendChild(i.transformedElement),i.baseElement=i.matteElement}function SVGGaussianBlurEffect(e,t,i,r){e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width","300%"),e.setAttribute("height","300%"),this.filterManager=t;var s=createNS("feGaussianBlur");s.setAttribute("result",r),e.appendChild(s),this.feGaussianBlur=s}function TransformEffect(){}function SVGTransformEffect(e,t){this.init(t)}function CVTransformEffect(e){this.init(e)}return SVGMatte3Effect.prototype.findSymbol=function(e){for(var t=0,i=_svgMatteSymbols.length;t{let t=o.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())}),d=e=>(e=e.toLowerCase(),t=>c(t)===e),u=e=>t=>typeof t===e,{isArray:h}=Array,p=u("undefined");function m(e){return null!==e&&!p(e)&&null!==e.constructor&&!p(e.constructor)&&y(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}let f=d("ArrayBuffer");function g(e){return"u">typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&f(e.buffer)}let _=u("string"),y=u("function"),v=u("number"),b=e=>null!==e&&"object"==typeof e,S=e=>!0===e||!1===e,k=e=>{if("object"!==c(e))return!1;let t=l(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},x=d("Date"),C=d("File"),w=d("Blob"),E=d("FileList"),T=e=>b(e)&&y(e.pipe),I=e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||y(e.append)&&("formdata"===(t=c(e))||"object"===t&&y(e.toString)&&"[object FormData]"===e.toString()))},R=d("URLSearchParams"),N=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function A(e,t,{allOwnKeys:i=!1}={}){let r,s;if(null!=e)if("object"!=typeof e&&(e=[e]),h(e))for(r=0,s=e.length;r0;)if(t===(i=r[s]).toLowerCase())return i;return null}let P="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:i.g,j=e=>!p(e)&&e!==P;function L(){let{caseless:e}=j(this)&&this||{},t={},i=(i,r)=>{let s=e&&M(t,r)||r;k(t[s])&&k(i)?t[s]=L(t[s],i):k(i)?t[s]=L({},i):h(i)?t[s]=i.slice():t[s]=i};for(let e=0,t=arguments.length;e(A(t,(t,r)=>{i&&y(t)?e[r]=a(t,i):e[r]=t},{allOwnKeys:r}),e),O=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),F=(e,t,i,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),i&&Object.assign(e.prototype,i)},U=(e,t,i,r)=>{let s,n,a,o={};if(t=t||{},null==e)return t;do{for(n=(s=Object.getOwnPropertyNames(e)).length;n-- >0;)a=s[n],(!r||r(a,e,t))&&!o[a]&&(t[a]=e[a],o[a]=!0);e=!1!==i&&l(e)}while(e&&(!i||i(e,t))&&e!==Object.prototype);return t},V=(e,t,i)=>{e=String(e),(void 0===i||i>e.length)&&(i=e.length),i-=t.length;let r=e.indexOf(t,i);return -1!==r&&r===i},B=e=>{if(!e)return null;if(h(e))return e;let t=e.length;if(!v(t))return null;let i=Array(t);for(;t-- >0;)i[t]=e[t];return i},z=(s="u">typeof Uint8Array&&l(Uint8Array),e=>s&&e instanceof s),W=(e,t)=>{let i,r=(e&&e[Symbol.iterator]).call(e);for(;(i=r.next())&&!i.done;){let r=i.value;t.call(e,r[0],r[1])}},H=(e,t)=>{let i,r=[];for(;null!==(i=e.exec(t));)r.push(i);return r},G=d("HTMLFormElement"),Z=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,i){return t.toUpperCase()+i}),K=(({hasOwnProperty:e})=>(t,i)=>e.call(t,i))(Object.prototype),X=d("RegExp"),Y=(e,t)=>{let i=Object.getOwnPropertyDescriptors(e),r={};A(i,(i,s)=>{let n;!1!==(n=t(i,s,e))&&(r[s]=n||i)}),Object.defineProperties(e,r)},J=e=>{Y(e,(t,i)=>{if(y(e)&&-1!==["arguments","caller","callee"].indexOf(i))return!1;if(y(e[i])){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+i+"'")})}})},$=(e,t)=>{let i={};return(e=>{e.forEach(e=>{i[e]=!0})})(h(e)?e:String(e).split(t)),i},q=()=>{},Q=(e,t)=>Number.isFinite(e*=1)?e:t,ee="abcdefghijklmnopqrstuvwxyz",et="0123456789",ei={DIGIT:et,ALPHA:ee,ALPHA_DIGIT:ee+ee.toUpperCase()+et},er=(e=16,t=ei.ALPHA_DIGIT)=>{let i="",{length:r}=t;for(;e--;)i+=t[Math.random()*r|0];return i};function es(e){return!!(e&&y(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}let en=e=>{let t=Array(10),i=(e,r)=>{if(b(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;let s=h(e)?[]:{};return A(e,(e,t)=>{let n=i(e,r+1);p(n)||(s[t]=n)}),t[r]=void 0,s}}return e};return i(e,0)},ea=d("AsyncFunction"),eo=e=>e&&(b(e)||y(e))&&y(e.then)&&y(e.catch);var el={isArray:h,isArrayBuffer:f,isBuffer:m,isFormData:I,isArrayBufferView:g,isString:_,isNumber:v,isBoolean:S,isObject:b,isPlainObject:k,isUndefined:p,isDate:x,isFile:C,isBlob:w,isRegExp:X,isFunction:y,isStream:T,isURLSearchParams:R,isTypedArray:z,isFileList:E,forEach:A,merge:L,extend:D,trim:N,stripBOM:O,inherits:F,toFlatObject:U,kindOf:c,kindOfTest:d,endsWith:V,toArray:B,forEachEntry:W,matchAll:H,isHTMLForm:G,hasOwnProperty:K,hasOwnProp:K,reduceDescriptors:Y,freezeMethods:J,toObjectSet:$,toCamelCase:Z,noop:q,toFiniteNumber:Q,findKey:M,global:P,isContextDefined:j,ALPHABET:ei,generateString:er,isSpecCompliantForm:es,toJSONObject:en,isAsyncFn:ea,isThenable:eo};function ec(e,t,i,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),i&&(this.config=i),r&&(this.request=r),s&&(this.response=s)}el.inherits(ec,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:el.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});let ed=ec.prototype,eu={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{eu[e]={value:e}}),Object.defineProperties(ec,eu),Object.defineProperty(ed,"isAxiosError",{value:!0}),ec.from=(e,t,i,r,s,n)=>{let a=Object.create(ed);return el.toFlatObject(e,a,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e),ec.call(a,e.message,t,i,r,s),a.cause=e,a.name=e.name,n&&Object.assign(a,n),a};var eh=null;function ep(e){return el.isPlainObject(e)||el.isArray(e)}function em(e){return el.endsWith(e,"[]")?e.slice(0,-2):e}function ef(e,t,i){return e?e.concat(t).map(function(e,t){return e=em(e),!i&&t?"["+e+"]":e}).join(i?".":""):t}function eg(e){return el.isArray(e)&&!e.some(ep)}let e_=el.toFlatObject(el,{},null,function(e){return/^is[A-Z]/.test(e)});function ey(e,t,i){if(!el.isObject(e))throw TypeError("target must be an object");t=t||new FormData;let r=(i=el.toFlatObject(i,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!el.isUndefined(t[e])})).metaTokens,s=i.visitor||c,n=i.dots,a=i.indexes,o=(i.Blob||"u">typeof Blob&&Blob)&&el.isSpecCompliantForm(t);if(!el.isFunction(s))throw TypeError("visitor must be a function");function l(e){if(null===e)return"";if(el.isDate(e))return e.toISOString();if(!o&&el.isBlob(e))throw new ec("Blob is not supported. Use a Buffer instead.");return el.isArrayBuffer(e)||el.isTypedArray(e)?o&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,i,s){let o=e;if(e&&!s&&"object"==typeof e){if(el.endsWith(i,"{}"))i=r?i:i.slice(0,-2),e=JSON.stringify(e);else if(el.isArray(e)&&eg(e)||(el.isFileList(e)||el.endsWith(i,"[]"))&&(o=el.toArray(e)))return i=em(i),o.forEach(function(e,r){el.isUndefined(e)||null===e||t.append(!0===a?ef([i],r,n):null===a?i:i+"[]",l(e))}),!1}return!!ep(e)||(t.append(ef(s,i,n),l(e)),!1)}let d=[],u=Object.assign(e_,{defaultVisitor:c,convertValue:l,isVisitable:ep});function h(e,i){if(!el.isUndefined(e)){if(-1!==d.indexOf(e))throw Error("Circular reference detected in "+i.join("."));d.push(e),el.forEach(e,function(e,r){!0===(!(el.isUndefined(e)||null===e)&&s.call(t,e,el.isString(r)?r.trim():r,i,u))&&h(e,i?i.concat(r):[r])}),d.pop()}}if(!el.isObject(e))throw TypeError("data must be an object");return h(e),t}function ev(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function eb(e,t){this._pairs=[],e&&ey(e,this,t)}let eS=eb.prototype;function ek(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ex(e,t,i){let r;if(!t)return e;let s=i&&i.encode||ek,n=i&&i.serialize;if(r=n?n(t,i):el.isURLSearchParams(t)?t.toString():new eb(t,i).toString(s)){let t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e}eS.append=function(e,t){this._pairs.push([e,t])},eS.toString=function(e){let t=e?function(t){return e.call(this,t,ev)}:ev;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};class eC{constructor(){this.handlers=[]}use(e,t,i){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!i&&i.synchronous,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){el.forEach(this.handlers,function(t){null!==t&&e(t)})}}var ew=eC,eE={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},eT={isBrowser:!0,classes:{URLSearchParams:"u">typeof URLSearchParams?URLSearchParams:eb,FormData:"u">typeof FormData?FormData:null,Blob:"u">typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]};let eI="u">typeof window&&"u">typeof document,eR=(n="u">typeof navigator&&navigator.product,eI&&0>["ReactNative","NativeScript","NS"].indexOf(n));var eN={...Object.freeze({__proto__:null,hasBrowserEnv:eI,hasStandardBrowserWebWorkerEnv:"u">typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,hasStandardBrowserEnv:eR}),...eT};function eA(e,t){return ey(e,new eN.classes.URLSearchParams,Object.assign({visitor:function(e,t,i,r){return eN.isNode&&el.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}function eM(e){return el.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}function eP(e){let t,i,r={},s=Object.keys(e),n=s.length;for(t=0;t=e.length;return(n=!n&&el.isArray(r)?r.length:n,o)?el.hasOwnProp(r,n)?r[n]=[r[n],i]:r[n]=i:(r[n]&&el.isObject(r[n])||(r[n]=[]),t(e,i,r[n],s)&&el.isArray(r[n])&&(r[n]=eP(r[n]))),!a}if(el.isFormData(e)&&el.isFunction(e.entries)){let i={};return el.forEachEntry(e,(e,r)=>{t(eM(e),r,i,0)}),i}return null}function eL(e,t,i){if(el.isString(e))try{return(t||JSON.parse)(e),el.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(i||JSON.stringify)(e)}let eD={transitional:eE,adapter:["xhr","http"],transformRequest:[function(e,t){let i,r=t.getContentType()||"",s=r.indexOf("application/json")>-1,n=el.isObject(e);if(n&&el.isHTMLForm(e)&&(e=new FormData(e)),el.isFormData(e))return s&&s?JSON.stringify(ej(e)):e;if(el.isArrayBuffer(e)||el.isBuffer(e)||el.isStream(e)||el.isFile(e)||el.isBlob(e))return e;if(el.isArrayBufferView(e))return e.buffer;if(el.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return eA(e,this.formSerializer).toString();if((i=el.isFileList(e))||r.indexOf("multipart/form-data")>-1){let t=this.env&&this.env.FormData;return ey(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return n||s?(t.setContentType("application/json",!1),eL(e)):e}],transformResponse:[function(e){let t=this.transitional||eD.transitional,i=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&el.isString(e)&&(i&&!this.responseType||r)){let i=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw ec.from(e,ec.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:eN.classes.FormData,Blob:eN.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};el.forEach(["delete","get","head","post","put","patch"],e=>{eD.headers[e]={}});var eO=eD;let eF=el.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var eU=e=>{let t,i,r,s={};return e&&e.split("\n").forEach(function(e){r=e.indexOf(":"),t=e.substring(0,r).trim().toLowerCase(),i=e.substring(r+1).trim(),!t||s[t]&&eF[t]||("set-cookie"===t?s[t]?s[t].push(i):s[t]=[i]:s[t]=s[t]?s[t]+", "+i:i)}),s};let eV=Symbol("internals");function eB(e){return e&&String(e).trim().toLowerCase()}function ez(e){return!1===e||null==e?e:el.isArray(e)?e.map(ez):String(e)}function eW(e){let t,i=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;for(;t=r.exec(e);)i[t[1]]=t[2];return i}let eH=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function eG(e,t,i,r,s){if(el.isFunction(r))return r.call(this,t,i);if(s&&(t=i),el.isString(t)){if(el.isString(r))return -1!==t.indexOf(r);if(el.isRegExp(r))return r.test(t)}}function eZ(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,i)=>t.toUpperCase()+i)}function eK(e,t){let i=el.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+i,{value:function(e,i,s){return this[r].call(this,t,e,i,s)},configurable:!0})})}class eX{constructor(e){e&&this.set(e)}set(e,t,i){let r=this;function s(e,t,i){let s=eB(t);if(!s)throw Error("header name must be a non-empty string");let n=el.findKey(r,s);n&&void 0!==r[n]&&!0!==i&&(void 0!==i||!1===r[n])||(r[n||t]=ez(e))}let n=(e,t)=>el.forEach(e,(e,i)=>s(e,i,t));return el.isPlainObject(e)||e instanceof this.constructor?n(e,t):el.isString(e)&&(e=e.trim())&&!eH(e)?n(eU(e),t):null!=e&&s(t,e,i),this}get(e,t){if(e=eB(e)){let i=el.findKey(this,e);if(i){let e=this[i];if(!t)return e;if(!0===t)return eW(e);if(el.isFunction(t))return t.call(this,e,i);if(el.isRegExp(t))return t.exec(e);throw TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=eB(e)){let i=el.findKey(this,e);return!!(i&&void 0!==this[i]&&(!t||eG(this,this[i],i,t)))}return!1}delete(e,t){let i=this,r=!1;function s(e){if(e=eB(e)){let s=el.findKey(i,e);s&&(!t||eG(i,i[s],s,t))&&(delete i[s],r=!0)}}return el.isArray(e)?e.forEach(s):s(e),r}clear(e){let t=Object.keys(this),i=t.length,r=!1;for(;i--;){let s=t[i];(!e||eG(this,this[s],s,e,!0))&&(delete this[s],r=!0)}return r}normalize(e){let t=this,i={};return el.forEach(this,(r,s)=>{let n=el.findKey(i,s);if(n){t[n]=ez(r),delete t[s];return}let a=e?eZ(s):String(s).trim();a!==s&&delete t[s],t[a]=ez(r),i[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return el.forEach(this,(i,r)=>{null!=i&&!1!==i&&(t[r]=e&&el.isArray(i)?i.join(", "):i)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let i=new this(e);return t.forEach(e=>i.set(e)),i}static accessor(e){let t=(this[eV]=this[eV]={accessors:{}}).accessors,i=this.prototype;function r(e){let r=eB(e);t[r]||(eK(i,e),t[r]=!0)}return el.isArray(e)?e.forEach(r):r(e),this}}eX.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),el.reduceDescriptors(eX.prototype,({value:e},t)=>{let i=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[i]=e}}}),el.freezeMethods(eX);var eY=eX;function eJ(e,t){let i=this||eO,r=t||i,s=eY.from(r.headers),n=r.data;return el.forEach(e,function(e){n=e.call(i,n,s.normalize(),t?t.status:void 0)}),s.normalize(),n}function e$(e){return!!(e&&e.__CANCEL__)}function eq(e,t,i){ec.call(this,null==e?"canceled":e,ec.ERR_CANCELED,t,i),this.name="CanceledError"}function eQ(e,t,i){let r=i.config.validateStatus;!i.status||!r||r(i.status)?e(i):t(new ec("Request failed with status code "+i.status,[ec.ERR_BAD_REQUEST,ec.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))}el.inherits(eq,ec,{__CANCEL__:!0});var e0=eN.hasStandardBrowserEnv?{write(e,t,i,r,s,n){let a=[e+"="+encodeURIComponent(t)];el.isNumber(i)&&a.push("expires="+new Date(i).toGMTString()),el.isString(r)&&a.push("path="+r),el.isString(s)&&a.push("domain="+s),!0===n&&a.push("secure"),document.cookie=a.join("; ")},read(e){let t=document.cookie.match(RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function e1(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function e2(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function e3(e,t){return e&&!e1(t)?e2(e,t):t}var e4=eN.hasStandardBrowserEnv?function(){let e,t=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");function r(e){let r=e;return t&&(i.setAttribute("href",r),r=i.href),i.setAttribute("href",r),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}return e=r(window.location.href),function(t){let i=el.isString(t)?r(t):t;return i.protocol===e.protocol&&i.host===e.host}}():function(){return function(){return!0}}();function e5(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function e9(e,t){let i,r=Array(e=e||10),s=Array(e),n=0,a=0;return t=void 0!==t?t:1e3,function(o){let l=Date.now(),c=s[a];i||(i=l),r[n]=o,s[n]=l;let d=a,u=0;for(;d!==n;)u+=r[d++],d%=e;if((n=(n+1)%e)===a&&(a=(a+1)%e),l-i{let n=s.loaded,a=s.lengthComputable?s.total:void 0,o=n-i,l=r(o),c=n<=a;i=n;let d={loaded:n,total:a,progress:a?n/a:void 0,bytes:o,rate:l||void 0,estimated:l&&a&&c?(a-n)/l:void 0,event:s};d[t?"download":"upload"]=!0,e(d)}}let e8={http:eh,xhr:"u">typeof XMLHttpRequest&&function(e){return new Promise(function(t,i){let r,s,n=e.data,a=eY.from(e.headers).normalize(),{responseType:o,withXSRFToken:l}=e;function c(){e.cancelToken&&e.cancelToken.unsubscribe(r),e.signal&&e.signal.removeEventListener("abort",r)}if(el.isFormData(n)){if(eN.hasStandardBrowserEnv||eN.hasStandardBrowserWebWorkerEnv)a.setContentType(!1);else if(!1!==(s=a.getContentType())){let[e,...t]=s?s.split(";").map(e=>e.trim()).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}}let d=new XMLHttpRequest;if(e.auth){let t=e.auth.username||"",i=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";a.set("Authorization","Basic "+btoa(t+":"+i))}let u=e3(e.baseURL,e.url);function h(){if(!d)return;let r=eY.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders());eQ(function(e){t(e),c()},function(e){i(e),c()},{data:o&&"text"!==o&&"json"!==o?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:e,request:d}),d=null}if(d.open(e.method.toUpperCase(),ex(u,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,"onloadend"in d?d.onloadend=h:d.onreadystatechange=function(){!d||4!==d.readyState||(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))&&setTimeout(h)},d.onabort=function(){d&&(i(new ec("Request aborted",ec.ECONNABORTED,e,d)),d=null)},d.onerror=function(){i(new ec("Network Error",ec.ERR_NETWORK,e,d)),d=null},d.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",r=e.transitional||eE;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),i(new ec(t,r.clarifyTimeoutError?ec.ETIMEDOUT:ec.ECONNABORTED,e,d)),d=null},eN.hasStandardBrowserEnv&&(l&&el.isFunction(l)&&(l=l(e)),l||!1!==l&&e4(u))){let t=e.xsrfHeaderName&&e.xsrfCookieName&&e0.read(e.xsrfCookieName);t&&a.set(e.xsrfHeaderName,t)}void 0===n&&a.setContentType(null),"setRequestHeader"in d&&el.forEach(a.toJSON(),function(e,t){d.setRequestHeader(t,e)}),el.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),o&&"json"!==o&&(d.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e6(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e6(e.onUploadProgress)),(e.cancelToken||e.signal)&&(r=t=>{d&&(i(!t||t.type?new eq(null,e,d):t),d.abort(),d=null)},e.cancelToken&&e.cancelToken.subscribe(r),e.signal&&(e.signal.aborted?r():e.signal.addEventListener("abort",r)));let p=e5(u);p&&-1===eN.protocols.indexOf(p)?i(new ec("Unsupported protocol "+p+":",ec.ERR_BAD_REQUEST,e)):d.send(n||null)})}};el.forEach(e8,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}});let e7=e=>`- ${e}`,te=e=>el.isFunction(e)||null===e||!1===e;var tt=e=>{let t,i,{length:r}=e=el.isArray(e)?e:[e],s={};for(let n=0;n`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build"));throw new ec("There is no suitable adapter to dispatch the request "+(r?e.length>1?"since :\n"+e.map(e7).join("\n"):" "+e7(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return i};function ti(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new eq(null,e)}function tr(e){return ti(e),e.headers=eY.from(e.headers),e.data=eJ.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),tt(e.adapter||eO.adapter)(e).then(function(t){return ti(e),t.data=eJ.call(e,e.transformResponse,t),t.headers=eY.from(t.headers),t},function(t){return!e$(t)&&(ti(e),t&&t.response&&(t.response.data=eJ.call(e,e.transformResponse,t.response),t.response.headers=eY.from(t.response.headers))),Promise.reject(t)})}let ts=e=>e instanceof eY?e.toJSON():e;function tn(e,t){t=t||{};let i={};function r(e,t,i){return el.isPlainObject(e)&&el.isPlainObject(t)?el.merge.call({caseless:i},e,t):el.isPlainObject(t)?el.merge({},t):el.isArray(t)?t.slice():t}function s(e,t,i){return el.isUndefined(t)?el.isUndefined(e)?void 0:r(void 0,e,i):r(e,t,i)}function n(e,t){if(!el.isUndefined(t))return r(void 0,t)}function a(e,t){return el.isUndefined(t)?el.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function o(i,s,n){return n in t?r(i,s):n in e?r(void 0,i):void 0}let l={url:n,method:n,data:n,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(e,t)=>s(ts(e),ts(t),!0)};return el.forEach(Object.keys(Object.assign({},e,t)),function(r){let n=l[r]||s,a=n(e[r],t[r],r);el.isUndefined(a)&&n!==o||(i[r]=a)}),i}let ta="1.6.5",to={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{to[e]=function(i){return typeof i===e||"a"+(t<1?"n ":" ")+e}});let tl={};to.transitional=function(e,t,i){function r(e,t){return"[Axios v"+ta+"] Transitional option '"+e+"'"+t+(i?". "+i:"")}return(i,s,n)=>{if(!1===e)throw new ec(r(s," has been removed"+(t?" in "+t:"")),ec.ERR_DEPRECATED);return t&&!tl[s]&&(tl[s]=!0,r(s," has been deprecated since v"+t+" and will be removed in the near future")),!e||e(i,s,n)}};var tc=function(e,t,i){if("object"!=typeof e)throw new ec("options must be an object",ec.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),s=r.length;for(;s-- >0;){let n=r[s],a=t[n];if(a){let t=e[n],i=void 0===t||a(t,n,e);if(!0!==i)throw new ec("option "+n+" must be "+i,ec.ERR_BAD_OPTION_VALUE);continue}if(!0!==i)throw new ec("Unknown option "+n,ec.ERR_BAD_OPTION)}};let td=to;class tu{constructor(e){this.defaults=e,this.interceptors={request:new ew,response:new ew}}request(e,t){let i,r;"string"==typeof e?(t=t||{}).url=e:t=e||{};let{transitional:s,paramsSerializer:n,headers:a}=t=tn(this.defaults,t);void 0!==s&&tc(s,{silentJSONParsing:td.transitional(td.boolean),forcedJSONParsing:td.transitional(td.boolean),clarifyTimeoutError:td.transitional(td.boolean)},!1),null!=n&&(el.isFunction(n)?t.paramsSerializer={serialize:n}:tc(n,{encode:td.function,serialize:td.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=a&&el.merge(a.common,a[t.method]);a&&el.forEach(["delete","get","head","post","put","patch","common"],e=>{delete a[e]}),t.headers=eY.concat(o,a);let l=[],c=!0;this.interceptors.request.forEach(function(e){("function"!=typeof e.runWhen||!1!==e.runWhen(t))&&(c=c&&e.synchronous,l.unshift(e.fulfilled,e.rejected))});let d=[];this.interceptors.response.forEach(function(e){d.push(e.fulfilled,e.rejected)});let u=0;if(!c){let e=[tr.bind(this),void 0];for(e.unshift.apply(e,l),e.push.apply(e,d),r=e.length,i=Promise.resolve(t);u{if(!i._listeners)return;let t=i._listeners.length;for(;t-- >0;)i._listeners[t](e);i._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{i.subscribe(e),t=e}).then(e);return r.cancel=function(){i.unsubscribe(t)},r},e(function(e,r,s){i.reason||(i.reason=new eq(e,r,s),t(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new tp(function(t){e=t}),cancel:e}}}var tm=tp;function tf(e){return function(t){return e.apply(null,t)}}function tg(e){return el.isObject(e)&&!0===e.isAxiosError}let t_={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(t_).forEach(([e,t])=>{t_[t]=e});var ty=t_;function tv(e){let t=new th(e),i=a(th.prototype.request,t);return el.extend(i,th.prototype,t,{allOwnKeys:!0}),el.extend(i,t,null,{allOwnKeys:!0}),i.create=function(t){return tv(tn(e,t))},i}let tb=tv(eO);tb.Axios=th,tb.CanceledError=eq,tb.CancelToken=tm,tb.isCancel=e$,tb.VERSION=ta,tb.toFormData=ey,tb.AxiosError=ec,tb.Cancel=tb.CanceledError,tb.all=function(e){return Promise.all(e)},tb.spread=tf,tb.isAxiosError=tg,tb.mergeConfig=tn,tb.AxiosHeaders=eY,tb.formToJSON=e=>ej(el.isHTMLForm(e)?new FormData(e):e),tb.getAdapter=tt,tb.HttpStatusCode=ty,tb.default=tb,e.exports=tb},28468(e,t,i){var r=i(66394);r.registerLanguage("xml",i(73168)),r.registerLanguage("bash",i(23963)),r.registerLanguage("c",i(7228)),r.registerLanguage("cpp",i(3796)),r.registerLanguage("csharp",i(13358)),r.registerLanguage("css",i(66326)),r.registerLanguage("markdown",i(38328)),r.registerLanguage("diff",i(91942)),r.registerLanguage("ruby",i(32817)),r.registerLanguage("go",i(76851)),r.registerLanguage("graphql",i(70360)),r.registerLanguage("ini",i(83703)),r.registerLanguage("java",i(80121)),r.registerLanguage("javascript",i(85990)),r.registerLanguage("json",i(4951)),r.registerLanguage("kotlin",i(49388)),r.registerLanguage("less",i(91460)),r.registerLanguage("lua",i(80719)),r.registerLanguage("makefile",i(87165)),r.registerLanguage("perl",i(18888)),r.registerLanguage("objectivec",i(20377)),r.registerLanguage("php",i(54893)),r.registerLanguage("php-template",i(57936)),r.registerLanguage("plaintext",i(64218)),r.registerLanguage("python",i(66479)),r.registerLanguage("python-repl",i(1429)),r.registerLanguage("r",i(97817)),r.registerLanguage("rust",i(33827)),r.registerLanguage("scss",i(16989)),r.registerLanguage("shell",i(44511)),r.registerLanguage("sql",i(29757)),r.registerLanguage("swift",i(49317)),r.registerLanguage("yaml",i(76782)),r.registerLanguage("typescript",i(68470)),r.registerLanguage("vbnet",i(20898)),r.registerLanguage("wasm",i(1977)),r.HighlightJS=r,r.default=r,e.exports=r},66394(e){function t(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(i=>{let r=e[i],s=typeof r;"object"!==s&&"function"!==s||Object.isFrozen(r)||t(r)}),e}class i{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function s(e,...t){let i=Object.create(null);for(let t in e)i[t]=e[t];return t.forEach(function(e){for(let t in e)i[t]=e[t]}),i}let n="",a=e=>!!e.scope,o=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let i=e.split(".");return[`${t}${i.shift()}`,...i.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`};class l{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=r(e)}openNode(e){if(!a(e))return;let t=o(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){a(e)&&(this.buffer+=n)}value(){return this.buffer}span(e){this.buffer+=``}}let c=(e={})=>{let t={children:[]};return Object.assign(t,e),t};class d{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=c({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"==typeof e||e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{d._collapse(e)}))}}class u extends d{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function h(e){return e?"string"==typeof e?e:e.source:null}function p(e){return g("(?=",e,")")}function m(e){return g("(?:",e,")*")}function f(e){return g("(?:",e,")?")}function g(...e){return e.map(e=>h(e)).join("")}function _(e){let t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return"("+(_(e).capture?"":"?:")+e.map(e=>h(e)).join("|")+")"}function v(e){return RegExp(e.toString()+"|").exec("").length-1}function b(e,t){let i=e&&e.exec(t);return i&&0===i.index}let S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function k(e,{joinWith:t}){let i=0;return e.map(e=>{let t=i+=1,r=h(e),s="";for(;r.length>0;){let e=S.exec(r);if(!e){s+=r;break}s+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?s+="\\"+String(Number(e[1])+t):(s+=e[0],"("===e[0]&&i++)}return s}).map(e=>`(${e})`).join(t)}let x=/\b\B/,C="[a-zA-Z]\\w*",w="[a-zA-Z_]\\w*",E="\\b\\d+(\\.\\d+)?",T="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",I="\\b(0b[01]+)",R="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",N=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=g(t,/.*\b/,e.binary,/\b.*/)),s({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},A={begin:"\\\\[\\s\\S]",relevance:0},M={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[A]},P={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[A]},j={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},L=function(e,t,i={}){let r=s({scope:"comment",begin:e,end:t,contains:[]},i);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let n=y("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:g(/[ ]+/,"(",n,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},D=L("//","$"),O=L("/\\*","\\*/"),F=L("#","$"),U={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[A,{begin:/\[/,end:/\]/,relevance:0,contains:[A]}]},V={scope:"title",begin:C,relevance:0},B={scope:"title",begin:w,relevance:0};var z=Object.freeze({__proto__:null,APOS_STRING_MODE:M,BACKSLASH_ESCAPE:A,BINARY_NUMBER_MODE:{scope:"number",begin:I,relevance:0},BINARY_NUMBER_RE:I,COMMENT:L,C_BLOCK_COMMENT_MODE:O,C_LINE_COMMENT_MODE:D,C_NUMBER_MODE:{scope:"number",begin:T,relevance:0},C_NUMBER_RE:T,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:F,IDENT_RE:C,MATCH_NOTHING_RE:x,METHOD_GUARD:{begin:"\\.\\s*"+w,relevance:0},NUMBER_MODE:{scope:"number",begin:E,relevance:0},NUMBER_RE:E,PHRASAL_WORDS_MODE:j,QUOTE_STRING_MODE:P,REGEXP_MODE:U,RE_STARTERS_RE:R,SHEBANG:N,TITLE_MODE:V,UNDERSCORE_IDENT_RE:w,UNDERSCORE_TITLE_MODE:B});function W(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function H(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function G(e,t){!t||e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=W,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Z(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function K(e,t){if(e.match){if(e.begin||e.end)throw Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function X(e,t){void 0===e.relevance&&(e.relevance=1)}let Y=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error("beforeMatch cannot be used with starts");let i=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=i.keywords,e.begin=g(i.beforeMatch,p(i.begin)),e.starts={relevance:0,contains:[Object.assign(i,{endsParent:!0})]},e.relevance=0,delete i.beforeMatch},J=["of","and","for","in","not","or","if","then","parent","list","value"],$="keyword";function q(e,t,i=$){let r=Object.create(null);return"string"==typeof e?s(i,e.split(" ")):Array.isArray(e)?s(i,e):Object.keys(e).forEach(function(i){Object.assign(r,q(e[i],t,i))}),r;function s(e,i){t&&(i=i.map(e=>e.toLowerCase())),i.forEach(function(t){let i=t.split("|");r[i[0]]=[e,Q(i[0],i[1])]})}}function Q(e,t){return t?Number(t):+!ee(e)}function ee(e){return J.includes(e.toLowerCase())}let et={},ei=e=>{console.error(e)},er=(e,...t)=>{},es=(e,t)=>{et[`${e}/${t}`]||(et[`${e}/${t}`]=!0)},en=Error();function ea(e,t,{key:i}){let r=0,s=e[i],n={},a={};for(let e=1;e<=t.length;e++)a[e+r]=s[e],n[e+r]=!0,r+=v(t[e-1]);e[i]=a,e[i]._emit=n,e[i]._multi=!0}function eo(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw ei("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),en;if("object"!=typeof e.beginScope||null===e.beginScope)throw ei("beginScope must be object"),en;ea(e,e.begin,{key:"beginScope"}),e.begin=k(e.begin,{joinWith:""})}}function el(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw ei("skip, excludeEnd, returnEnd not compatible with endScope: {}"),en;if("object"!=typeof e.endScope||null===e.endScope)throw ei("endScope must be object"),en;ea(e,e.end,{key:"endScope"}),e.end=k(e.end,{joinWith:""})}}function ec(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}function ed(e){ec(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),eo(e),el(e)}function eu(e){function t(t,i){return RegExp(h(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(i?"g":""))}class i{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=v(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(k(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let i=t.findIndex((e,t)=>t>0&&void 0!==e),r=this.matchIndexes[i];return t.splice(0,i),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new i;return this.rules.slice(e).forEach(([e,i])=>t.addRule(e,i)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let i=t.exec(e);if(this.resumingScanAtSamePosition())if(i&&i.index===this.lastIndex);else{let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,i=t.exec(e)}return i&&(this.regexIndex+=i.position+1,this.regexIndex===this.count&&this.considerAll()),i}}function n(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}function a(i,r){let s=i;if(i.isCompiled)return s;[H,K,ed,Y].forEach(e=>e(i,r)),e.compilerExtensions.forEach(e=>e(i,r)),i.__beforeBegin=null,[G,Z,X].forEach(e=>e(i,r)),i.isCompiled=!0;let o=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),o=i.keywords.$pattern,delete i.keywords.$pattern),o=o||/\w+/,i.keywords&&(i.keywords=q(i.keywords,e.case_insensitive)),s.keywordPatternRe=t(o,!0),r&&(i.begin||(i.begin=/\B|\b/),s.beginRe=t(s.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(s.endRe=t(s.end)),s.terminatorEnd=h(s.end)||"",i.endsWithParent&&r.terminatorEnd&&(s.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)),i.illegal&&(s.illegalRe=t(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map(function(e){return ep("self"===e?i:e)})),i.contains.forEach(function(e){a(e,s)}),i.starts&&a(i.starts,r),s.matcher=n(s),s}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=s(e.classNameAliases||{}),a(e)}function eh(e){return!!e&&(e.endsWithParent||eh(e.starts))}function ep(e){return(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return s(e,{variants:null},t)})),e.cachedVariants)?e.cachedVariants:eh(e)?s(e,{starts:e.starts?s(e.starts):null}):Object.isFrozen(e)?s(e):e}var em="11.11.1";class ef extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}let eg=r,e_=s,ey=Symbol("nomatch"),ev=7,eb=function(e){let r=Object.create(null),s=Object.create(null),n=[],a=!0,o="Could not find the language '{}', did you forget to load/include a language module?",l={disableAutodetect:!0,name:"Plain text",contains:[]},c={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:u};function d(e){return c.noHighlightRe.test(e)}function h(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";let i=c.languageDetectRe.exec(t);if(i){let t=N(i[1]);return t||(er(o.replace("{}",i[1])),er("Falling back to no-highlight mode for this block.",e)),t?i[1]:"no-highlight"}return t.split(/\s+/).find(e=>d(e)||N(e))}function _(e,t,i){let r="",s="";"object"==typeof t?(r=e,i=t.ignoreIllegals,s=t.language):(es("10.7.0","highlight(lang, code, ...args) has been deprecated."),es("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),s=e,r=t),void 0===i&&(i=!0);let n={code:r,language:s};j("before:highlight",n);let a=n.result?n.result:v(n.language,n.code,i);return a.code=n.code,j("after:highlight",a),a}function v(e,t,s,n){let l=Object.create(null);function d(e,t){return e.keywords[t]}function u(){if(!A.keywords)return void P.addText(j);let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(j),i="";for(;t;){i+=j.substring(e,t.index);let r=T.case_insensitive?t[0].toLowerCase():t[0],s=d(A,r);if(s){let[e,n]=s;if(P.addText(i),i="",l[r]=(l[r]||0)+1,l[r]<=ev&&(L+=n),e.startsWith("_"))i+=t[0];else{let i=T.classNameAliases[e]||e;m(t[0],i)}}else i+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(j)}i+=j.substring(e),P.addText(i)}function h(){if(""===j)return;let e=null;if("string"==typeof A.subLanguage){if(!r[A.subLanguage])return void P.addText(j);e=v(A.subLanguage,j,!0,M[A.subLanguage]),M[A.subLanguage]=e._top}else e=k(j,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(L+=e.relevance),P.__addSublanguage(e._emitter,e.language)}function p(){null!=A.subLanguage?h():u(),j=""}function m(e,t){""!==e&&(P.startScope(t),P.addText(e),P.endScope())}function f(e,t){let i=1,r=t.length-1;for(;i<=r;){if(!e._emit[i]){i++;continue}let r=T.classNameAliases[e[i]]||e[i],s=t[i];r?m(s,r):(j=s,u(),j=""),i++}}function g(e,t){return e.scope&&"string"==typeof e.scope&&P.openNode(T.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(j,T.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),j=""):e.beginScope._multi&&(f(e.beginScope,t),j="")),A=Object.create(e,{parent:{value:A}})}function _(e,t,r){let s=b(e.endRe,r);if(s){if(e["on:end"]){let r=new i(e);e["on:end"](t,r),r.isMatchIgnored&&(s=!1)}if(s){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,r)}function y(e){return 0===A.matcher.regexIndex?(j+=e[0],1):(F=!0,0)}function S(e){let t=e[0],r=e.rule,s=new i(r);for(let i of[r.__beforeBegin,r["on:begin"]])if(i&&(i(e,s),s.isMatchIgnored))return y(t);return r.skip?j+=t:(r.excludeBegin&&(j+=t),p(),r.returnBegin||r.excludeBegin||(j=t)),g(r,e),r.returnBegin?0:t.length}function x(e){let i=e[0],r=t.substring(e.index),s=_(A,e,r);if(!s)return ey;let n=A;A.endScope&&A.endScope._wrap?(p(),m(i,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),f(A.endScope,e)):n.skip?j+=i:(n.returnEnd||n.excludeEnd||(j+=i),p(),n.excludeEnd&&(j=i));do A.scope&&P.closeNode(),A.skip||A.subLanguage||(L+=A.relevance),A=A.parent;while(A!==s.parent);return s.starts&&g(s.starts,e),n.returnEnd?0:i.length}function C(){let e=[];for(let t=A;t!==T;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>P.openNode(e))}let w={};function E(i,r){let n=r&&r[0];if(j+=i,null==n)return p(),0;if("begin"===w.type&&"end"===r.type&&w.index===r.index&&""===n){if(j+=t.slice(r.index,r.index+1),!a){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=w.rule,t}return 1}if(w=r,"begin"===r.type)return S(r);if("illegal"!==r.type||s){if("end"===r.type){let e=x(r);if(e!==ey)return e}}else{let e=Error('Illegal lexeme "'+n+'" for mode "'+(A.scope||"")+'"');throw e.mode=A,e}if("illegal"===r.type&&""===n)return j+="\n",1;if(O>1e5&&O>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return j+=n,n.length}let T=N(e);if(!T)throw ei(o.replace("{}",e)),Error('Unknown language: "'+e+'"');let I=eu(T),R="",A=n||I,M={},P=new c.__emitter(c);C();let j="",L=0,D=0,O=0,F=!1;try{if(T.__emitTokens)T.__emitTokens(t,P);else{for(A.matcher.considerAll();;){O++,F?F=!1:A.matcher.considerAll(),A.matcher.lastIndex=D;let e=A.matcher.exec(t);if(!e)break;let i=t.substring(D,e.index),r=E(i,e);D=e.index+r}E(t.substring(D))}return P.finalize(),R=P.toHTML(),{language:e,value:R,relevance:L,illegal:!1,_emitter:P,_top:A}}catch(i){if(i.message&&i.message.includes("Illegal"))return{language:e,value:eg(t),illegal:!0,relevance:0,_illegalBy:{message:i.message,index:D,context:t.slice(D-100,D+100),mode:i.mode,resultSoFar:R},_emitter:P};if(a)return{language:e,value:eg(t),illegal:!1,relevance:0,errorRaised:i,_emitter:P,_top:A};throw i}}function S(e){let t={value:eg(e),illegal:!1,relevance:0,_top:l,_emitter:new c.__emitter(c)};return t._emitter.addText(e),t}function k(e,t){t=t||c.languages||Object.keys(r);let i=S(e),s=t.filter(N).filter(M).map(t=>v(t,e,!1));s.unshift(i);let[n,a]=s.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1;else if(N(t.language).supersetOf===e.language)return -1}return 0}),o=n;return o.secondBest=a,o}function x(e,t,i){let r=t&&s[t]||i;e.classList.add("hljs"),e.classList.add(`language-${r}`)}function C(e){let t=h(e);if(d(t)||(j("before:highlightElement",{el:e,language:t}),e.dataset.highlighted))return;if(e.children.length>0&&(!c.ignoreUnescapedHTML,c.throwUnescapedHTML))throw new ef("One of your code blocks includes unescaped HTML.",e.innerHTML);let i=e.textContent,r=t?_(i,{language:t,ignoreIllegals:!0}):k(i);e.innerHTML=r.value,e.dataset.highlighted="yes",x(e,t,r.language),e.result={language:r.language,re:r.relevance,relevance:r.relevance},r.secondBest&&(e.secondBest={language:r.secondBest.language,relevance:r.secondBest.relevance}),j("after:highlightElement",{el:e,result:r,text:i})}let w=()=>{I(),es("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function E(){I(),es("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let T=!1;function I(){function e(){I()}if("loading"===document.readyState){T||window.addEventListener("DOMContentLoaded",e,!1),T=!0;return}document.querySelectorAll(c.cssSelector).forEach(C)}function R(t,i){let s=null;try{s=i(e)}catch(e){if(ei("Language definition for '{}' could not be registered.".replace("{}",t)),a)ei(e);else throw e;s=l}s.name||(s.name=t),r[t]=s,s.rawDefinition=i.bind(null,e),s.aliases&&A(s.aliases,{languageName:t})}function N(e){return r[e=(e||"").toLowerCase()]||r[s[e]]}function A(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e.toLowerCase()]=t})}function M(e){let t=N(e);return t&&!t.disableAutodetect}function P(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}function j(e,t){let i=e;n.forEach(function(e){e[i]&&e[i](t)})}function L(e){return es("10.7.0","highlightBlock will be removed entirely in v12.0"),es("10.7.0","Please use highlightElement now."),C(e)}for(let i in Object.assign(e,{highlight:_,highlightAuto:k,highlightAll:I,highlightElement:C,highlightBlock:L,configure:function(e){c=e_(c,e)},initHighlighting:w,initHighlightingOnLoad:E,registerLanguage:R,unregisterLanguage:function(e){for(let t of(delete r[e],Object.keys(s)))s[t]===e&&delete s[t]},listLanguages:function(){return Object.keys(r)},getLanguage:N,registerAliases:A,autoDetection:M,inherit:e_,addPlugin:function(e){P(e),n.push(e)},removePlugin:function(e){let t=n.indexOf(e);-1!==t&&n.splice(t,1)}}),e.debugMode=function(){a=!1},e.safeMode=function(){a=!0},e.versionString=em,e.regex={concat:g,lookahead:p,either:y,optional:f,anyNumberOfTimes:m},z)"object"==typeof z[i]&&t(z[i]);return Object.assign(e,z),e},eS=eb({});eS.newInstance=()=>eb({}),e.exports=eS,eS.HighlightJS=eS,eS.default=eS},23963(e){e.exports=function(e){let t=e.regex,i={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[i]}]};Object.assign(i,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});let s={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i,s]};s.contains.push(o);let l={match:/\\"/},c={className:"string",begin:/'/,end:/'/},d={match:/\\'/},u={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,i]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},f={match:/(\/[a-z._-]+)+/};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[p,e.SHEBANG(),m,u,n,a,f,o,l,c,d,i]}}},7228(e){e.exports=function(e){let t=e.regex,i=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",n="<[^<>]+>",a="("+r+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional(n)+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},l="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+l+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},i,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},p=t.optional(s)+e.IDENT_RE+"\\s*\\(",m={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},f=[u,o,i,e.C_BLOCK_COMMENT_MODE,d,c],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:f.concat([{begin:/\(/,end:/\)/,keywords:m,contains:f.concat(["self"]),relevance:0}]),relevance:0},_={begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:m,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[i,e.C_BLOCK_COMMENT_MODE,c,d,o,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",i,e.C_BLOCK_COMMENT_MODE,c,d,o]}]},o,i,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C",aliases:["h"],keywords:m,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:u,strings:c,keywords:m}}}},3796(e){e.exports=function(e){let t=e.regex,i=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",n="<[^<>]+>",a="(?!struct)("+r+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional(n)+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+l+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},i,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},p=t.optional(s)+e.IDENT_RE+"\\s*\\(",m={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},f={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},g=[f,u,o,i,e.C_BLOCK_COMMENT_MODE,d,c],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:g.concat([{begin:/\(/,end:/\)/,keywords:m,contains:g.concat(["self"]),relevance:0}]),relevance:0},y={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:m,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[c,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[i,e.C_BLOCK_COMMENT_MODE,c,d,o,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",i,e.C_BLOCK_COMMENT_MODE,c,d,o]}]},o,i,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"",keywords:m,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:m},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}},13358(e){e.exports=function(e){let t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],i=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],s={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:t,literal:r},n=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},l={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},c=e.inherit(l,{illegal:/\n/}),d={className:"subst",begin:/\{/,end:/\}/,keywords:s},u=e.inherit(d,{illegal:/\n/}),h={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,u]},p={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},d]},m=e.inherit(p,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},u]});d.contains=[p,h,l,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],u.contains=[m,h,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let f={variants:[o,p,h,l,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},g={begin:"<",end:">",contains:[{beginKeywords:"in out"},n]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",y={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},f,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},n,g,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,g,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:i.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,g],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[f,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},y]}}},66326(e){let t=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),i=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),s=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),n=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),a=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();e.exports=function(e){let o=e.regex,l=t(e),c={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},d="and or not only",u=/@-?\w[\w]*(-\w+)*/,h="[a-zA-Z-][a-zA-Z0-9_-]*",p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[l.BLOCK_COMMENT,c,l.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+h,relevance:0},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+s.join("|")+")"},{begin:":(:)?("+n.join("|")+")"}]},l.CSS_VARIABLE,{className:"attribute",begin:"\\b("+a.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[l.BLOCK_COMMENT,l.HEXCOLOR,l.IMPORTANT,l.CSS_NUMBER_MODE,...p,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...p,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},l.FUNCTION_DISPATCH]},{begin:o.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:u},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:d,attribute:r.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...p,l.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+i.join("|")+")\\b"}]}}},91942(e){e.exports=function(e){let t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}},76851(e){e.exports=function(e){let t={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:t,illegal:"n(e,t,i-1))}e.exports=function(e){let t=e.regex,i="[\xc0-\u02B8a-zA-Z_$][\xc0-\u02B8a-zA-Z_$0-9]*",r=i+n("(?:<"+i+"~~~(?:\\s*,\\s*"+i+"~~~)*>)?",/~~~/g,2),a={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},o={className:"meta",begin:"@"+i,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:a,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,i],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,i),/\s+/,i,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,i],className:{1:"keyword",3:"title.class"},contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:a,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},s,o]}}},85990(e){let t="[A-Za-z$_][0-9A-Za-z$_]*",i=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],r=["true","false","null","undefined","NaN","Infinity"],s=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],n=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],a=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],l=[].concat(a,s,n);e.exports=function(e){let c=e.regex,d=(e,{after:t})=>{let i="",p="",m=/<[A-Za-z0-9\\._:-]+\s*\/>/,f=/<[A-Za-z0-9\\._:-]+/,g=/\/[A-Za-z0-9\\._:-]+>|\/>/,_=(e,t)=>{let i,r=e[0].length+e.index,s=e.input[r];if("<"===s||","===s)return void t.ignoreMatch();">"!==s||d(e,{after:r})||t.ignoreMatch();let n=e.input.substring(r);if((i=n.match(/^\s*=/))||(i=n.match(/^\s+extends\s+/))&&0===i.index)return void t.ignoreMatch()},y={$pattern:t,keyword:i,literal:r,built_in:l,"variable.language":o},v="[0-9](_?[0-9])*",b=`\\.(${v})`,S="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",k={className:"number",variants:[{begin:`(\\b(${S})((${b})|\\.)?|(${b}))[eE][+-]?(${v})\\b`},{begin:`\\b(${S})\\b((${b})\\b|\\.)?|(${b})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},x={className:"subst",begin:"\\$\\{",end:"\\}",keywords:y,contains:[]},C={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"css"}},E={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"graphql"}},T={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,x]},I={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:u+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},R=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,C,w,E,T,{match:/\$\d+/},k];x.contains=R.concat({begin:/\{/,end:/\}/,keywords:y,contains:["self"].concat(R)});let N=[].concat(I,x.contains),A=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:y,contains:["self"].concat(N)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:A},P={variants:[{match:[/class/,/\s+/,u,/\s+/,/extends/,/\s+/,c.concat(u,"(",c.concat(/\./,u),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,u],scope:{1:"keyword",3:"title.class"}}]},j={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...s,...n]}},L={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},D={variants:[{match:[/function/,/\s+/,u,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},O={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function F(e){return c.concat("(?!",e.join("|"),")")}let U={match:c.concat(/\b/,F([...a,"super","import"].map(e=>`${e}\\s*\\(`)),u,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:c.concat(/\./,c.lookahead(c.concat(u,/(?![0-9A-Za-z$_(])/))),end:u,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},B={match:[/get|set/,/\s+/,u,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",W={match:[/const|var|let/,/\s+/,u,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(z)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:y,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:j},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),L,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,C,w,E,T,I,{match:/\$\d+/},k,j,{scope:"attr",match:u+c.lookahead(":"),relevance:0},W,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,e.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:h,end:p},{match:m},{begin:f,"on:begin":_,end:g}],subLanguage:"xml",contains:[{begin:f,end:g,skip:!0,contains:["self"]}]}]},D,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:u,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+u,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},U,O,P,B,{match:/\$[(.]/}]}}},4951(e){e.exports=function(e){let t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},i={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],s={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,i,e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}},49388(e){var t="[0-9](_*[0-9])*",i=`\\.(${t})`,r="[0-9a-fA-F](_*[0-9a-fA-F])*",s={className:"number",variants:[{begin:`(\\b(${t})((${i})|\\.)?|(${i}))[eE][+-]?(${t})[fFdD]?\\b`},{begin:`\\b(${t})((${i})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${i})[fFdD]?\\b`},{begin:`\\b(${t})[fFdD]\\b`},{begin:`\\b0[xX]((${r})\\.?|(${r})?\\.(${r}))[pP][+-]?(${t})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${r})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};e.exports=function(e){let t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},i={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},n={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},a={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},o={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[a,n]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,a,n]}]};n.contains.push(o);let l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(o,{className:"string"}),"self"]}]},d=s,u=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),h={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=h;return p.variants[1].contains=[h],h.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,u,i,r,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[h,e.C_LINE_COMMENT_MODE,u],relevance:0},e.C_LINE_COMMENT_MODE,u,l,c,o,e.C_NUMBER_MODE]},u]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},l,c]},o,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},d]}}},91460(e){let t=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),i=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),s=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),n=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),a=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),o=s.concat(n).sort().reverse();e.exports=function(e){let l=t(e),c=o,d="[\\w-]+",u="("+d+"|@\\{"+d+"\\})",h=[],p=[],m=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},f=function(e,t,i){return{className:e,begin:t,relevance:i}},g={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:r.join(" ")},_={begin:"\\(",end:"\\)",contains:p,keywords:g,relevance:0};p.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m("'"),m('"'),l.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},l.HEXCOLOR,_,f("variable","@@?"+d,10),f("variable","@\\{"+d+"\\}"),f("built_in","~?`[^`]*?`"),{className:"attribute",begin:d+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},l.IMPORTANT,{beginKeywords:"and not"},l.FUNCTION_DISPATCH);let y=p.concat({begin:/\{/,end:/\}/,contains:h}),v={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(p)},b={begin:u+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},l.CSS_VARIABLE,{className:"attribute",begin:"\\b("+a.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:p}}]},S={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:g,returnEnd:!0,contains:p,relevance:0}},k={className:"variable",variants:[{begin:"@"+d+"\\s*:",relevance:15},{begin:"@"+d}],starts:{end:"[;}]",returnEnd:!0,contains:y}},x={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:u,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,v,f("keyword","all\\b"),f("variable","@\\{"+d+"\\}"),{begin:"\\b("+i.join("|")+")\\b",className:"selector-tag"},l.CSS_NUMBER_MODE,f("selector-tag",u,0),f("selector-id","#"+u),f("selector-class","\\."+u,0),f("selector-tag","&",0),l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+s.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:y},{begin:"!important"},l.FUNCTION_DISPATCH]},C={begin:d+":(:)?"+`(${c.join("|")})`,returnBegin:!0,contains:[x]};return h.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,S,k,C,b,x,v,l.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:h}}},80719(e){e.exports=function(e){let t="\\[=*\\[",i="\\]=*\\]",r={begin:t,end:i,contains:["self"]},s=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,i,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:s.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:s}].concat(s)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:i,contains:[r],relevance:5}])}}},87165(e){e.exports=function(e){let t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},n={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},c={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=e.inherit(c,{contains:[]}),h=e.inherit(d,{contains:[]});c.contains.push(h),d.contains.push(u);let p=[i,l];return[c,d,u,h].forEach(e=>{e.contains=e.contains.concat(p)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p=p.concat(c,d)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},i,n,c,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},s,r,l,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}},20377(e){e.exports=function(e){let t=/[a-zA-Z@][a-zA-Z0-9_]*/,i={"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},r={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:i,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+r.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:r,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}},18888(e){e.exports=function(e){let t=e.regex,i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},n={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[a]},l={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},c=[e.BACKSLASH_ESCAPE,s,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],u=(e,r,s="\\1")=>{let n="\\1"===s?s:t.concat(s,r);return t.concat(t.concat("(?:",e,")"),r,/(?:\\.|[^\\\/])*?/,n,/(?:\\.|[^\\\/])*?/,s,i)},h=(e,r,s)=>t.concat(t.concat("(?:",e,")"),r,/(?:\\.|[^\\\/])*?/,s,i),p=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),n,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},l,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:u("s|tr|y",t.either(...d,{capture:!0}))},{begin:u("s|tr|y","\\(","\\)")},{begin:u("s|tr|y","\\[","\\]")},{begin:u("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:h("(?:m|qr)?",/\//,/\//)},{begin:h("m|qr",t.either(...d,{capture:!0}),/\1/)},{begin:h("m|qr",/\(/,/\)/)},{begin:h("m|qr",/\[/,/\]/)},{begin:h("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=p,n.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}},57936(e){e.exports=function(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}},54893(e){e.exports=function(e){let t=e.regex,i=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,i),s=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,i),n=t.concat(/[A-Z]+/,i),a={scope:"variable",match:"\\$+"+r},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),u={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p="[ \n]",m={scope:"string",variants:[d,c,u,h]},f={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},g=["false","null","true"],_=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],y=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],v={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:y},b=e=>e.map(e=>e.replace(/\|\d+$/,"")),S={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",b(y).join("\\b|"),"\\b)"),s],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(r,"\\b(?!\\()"),x={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[s,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[s,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[s,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},C={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},w={relevance:0,begin:/\(/,end:/\)/,keywords:v,contains:[C,a,x,e.C_BLOCK_COMMENT_MODE,m,f,S]},E={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",b(_).join("\\b|"),"|",b(y).join("\\b|"),"\\b)"),r,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[w]};w.contains.push(E);let T=[C,x,e.C_BLOCK_COMMENT_MODE,m,f,S],I={begin:t.concat(/#\[\s*\\?/,t.either(s,n)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]},contains:["self",...T]},...T,{scope:"meta",variants:[{match:s},{match:n}]}]};return{case_insensitive:!1,keywords:v,contains:[I,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},o,{scope:"variable.language",match:/\$this\b/},a,E,x,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},S,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:v,contains:["self",I,a,x,e.C_BLOCK_COMMENT_MODE,m,f]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},m,f]}}},64218(e){e.exports=function(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}},1429(e){e.exports=function(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}},66479(e){e.exports=function(e){let t=e.regex,i=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},n={className:"meta",begin:/^(>>>|\.\.\.) /},a={className:"subst",begin:/\{/,end:/\}/,keywords:s,illegal:/#/},o={begin:/\{\{/,relevance:0},l={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,n],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,n],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,n,o,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,n,o,a]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,o,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,o,a]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,u=`\\b|${r.join("|")}`,h={className:"number",relevance:0,variants:[{begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${u})`},{begin:`(${d})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${u})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${u})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${u})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${u})`},{begin:`\\b(${c})[jJ](?=${u})`}]},p={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:s,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:["self",n,h,l,e.HASH_COMMENT_MODE]}]};return a.contains=[l,h,n],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s,illegal:/(<\/|\?)|=>/,contains:[n,h,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},l,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,i],scope:{1:"keyword",3:"title.function"},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,i,/\s*/,/\(\s*/,i,/\s*\)/]},{match:[/\bclass/,/\s+/,i]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[h,m,l]}]}}},97817(e){e.exports=function(e){let t=e.regex,i=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),s=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,n=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:i,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:i},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[s,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[n,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[i,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:s},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:n},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}},32817(e){e.exports=function(e){let t=e.regex,i="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),s=t.concat(r,/(::\w+)*/),n={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},a={className:"doctag",begin:"@[A-Za-z]+"},o={begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[a]}),e.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:n},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},u="[1-9](_?[0-9])*|0",h="[0-9](_?[0-9])*",p={className:"number",relevance:0,variants:[{begin:`\\b(${u})(\\.(${h}))?([eE][+-]?(${h})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},m={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:n}]},f={match:[/(include|extend)\s+/,s],scope:{2:"title.class"},keywords:n},g=[d,{variants:[{match:[/class\s+/,s,/\s+<\s+/,s]},{match:[/\b(class|module)\s+/,s]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:n},f,{relevance:0,match:[s,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,i],scope:{1:"keyword",3:"title.function"},contains:[m]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:i}],relevance:0},p,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:n},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l);c.contains=g,m.contains=g;let _=[{begin:/^\s*=>/,starts:{end:"$",contains:g}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:n,contains:g}}];return l.unshift(o),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:n,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(_).concat(l).concat(g)}}},33827(e){e.exports=function(e){let t=e.regex,i=/(r#)?/,r=t.concat(i,e.UNDERSCORE_IDENT_RE),s=t.concat(i,e.IDENT_RE),n={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,s,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],l=["true","false","Some","None","Ok","Err"],c=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:d,keyword:o,literal:l,built_in:c},illegal:""},n]}}},16989(e){let t=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),i=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),s=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),n=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),a=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();e.exports=function(e){let o=t(e),l=n,c=s,d="@[a-z-]+",u="and or not only",h={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},o.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+i.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+c.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+l.join("|")+")"},h,{begin:/\(/,end:/\)/,contains:[o.CSS_NUMBER_MODE]},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+a.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[o.BLOCK_COMMENT,h,o.HEXCOLOR,o.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,o.IMPORTANT,o.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:d,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:u,attribute:r.join(" ")},contains:[{begin:d,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},h,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,o.HEXCOLOR,o.CSS_NUMBER_MODE]},o.FUNCTION_DISPATCH]}}},44511(e){e.exports=function(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}},29757(e){e.exports=function(e){let t=e.regex,i=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},s={begin:/"/,end:/"/,contains:[{match:/""/}]},n=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],c=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],d=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],u=l,h=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter(e=>!l.includes(e)),p={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},m={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},f={match:t.concat(/\b/,t.either(...u),/\s*\(/),relevance:0,keywords:{built_in:u}};function g(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,"\\s+"))),/\b/)}let _={scope:"keyword",match:g(d),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(e,{exceptions:t,when:i}={}){let r=i;return t=t||[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:r(e)?`${e}|0`:e)}(h,{when:e=>e.length<3}),literal:n,type:o,built_in:c},contains:[{scope:"type",match:g(a)},_,f,p,r,s,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,i,m]}}},49317(e){function t(e){return e?"string"==typeof e?e:e.source:null}function i(e){return r("(?=",e,")")}function r(...e){return e.map(e=>t(e)).join("")}function s(e){let t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function n(...e){return"("+(s(e).capture?"":"?:")+e.map(e=>t(e)).join("|")+")"}let a=e=>r(/\b/,e,/\w$/.test(e)?/\b/:/\B/),o=["Protocol","Type"].map(a),l=["init","self"].map(a),c=["Any","Self"],d=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],u=["false","nil","true"],h=["assignment","associativity","higherThan","left","lowerThan","none","right"],p=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],m=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],f=n(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),g=n(f,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),_=r(f,g,"*"),y=n(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),v=n(y,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),b=r(y,v,"*"),S=r(/[A-Z]/,v,"*"),k=["attached","autoclosure",r(/convention\(/,n("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",r(/objc\(/,b,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],x=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];e.exports=function(e){let t={match:/\s+/,relevance:0},s=e.COMMENT("/\\*","\\*/",{contains:["self"]}),f=[e.C_LINE_COMMENT_MODE,s],y={match:[/\./,n(...o,...l)],className:{2:"keyword"}},C={match:r(/\./,n(...d)),relevance:0},w=d.filter(e=>"string"==typeof e).concat(["_|0"]),E={variants:[{className:"keyword",match:n(...d.filter(e=>"string"!=typeof e).concat(c).map(a),...l)}]},T={$pattern:n(/\b\w+/,/#\w+/),keyword:w.concat(p),literal:u},I=[y,C,E],R=[{match:r(/\./,n(...m)),relevance:0},{className:"built_in",match:r(/\b/,n(...m),/(?=\()/)}],N={match:/->/,relevance:0},A=[N,{className:"operator",relevance:0,variants:[{match:_},{match:`\\.(\\.|${g})+`}]}],M="([0-9]_*)+",P="([0-9a-fA-F]_*)+",j={className:"number",relevance:0,variants:[{match:`\\b(${M})(\\.(${M}))?([eE][+-]?(${M}))?\\b`},{match:`\\b0x(${P})(\\.(${P}))?([pP][+-]?(${M}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},L=(e="")=>({className:"subst",variants:[{match:r(/\\/,e,/[0\\tnr"']/)},{match:r(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),D=(e="")=>({className:"subst",match:r(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),O=(e="")=>({className:"subst",label:"interpol",begin:r(/\\/,e,/\(/),end:/\)/}),F=(e="")=>({begin:r(e,/"""/),end:r(/"""/,e),contains:[L(e),D(e),O(e)]}),U=(e="")=>({begin:r(e,/"/),end:r(/"/,e),contains:[L(e),O(e)]}),V={className:"string",variants:[F(),F("#"),F("##"),F("###"),U(),U("#"),U("##"),U("###")]},B=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],z={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:B},W=e=>{let t=r(e,/\//),i=r(/\//,e);return{begin:t,end:i,contains:[...B,{scope:"comment",begin:`#(?!.*${i})`,end:/$/}]}},H={scope:"regexp",variants:[W("###"),W("##"),W("#"),z]},G={match:r(/`/,b,/`/)},Z=[G,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${v}+`}],K=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:x,contains:[...A,j,V]}]}},{scope:"keyword",match:r(/@/,n(...k),i(n(/\(/,/\s+/)))},{scope:"meta",match:r(/@/,b)}],X={match:i(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:r(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,v,"+")},{className:"type",match:S,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:r(/\s+&\s+/,i(S)),relevance:0}]},Y={begin://,keywords:T,contains:[...f,...I,...K,N,X]};X.contains.push(Y);let J={begin:/\(/,end:/\)/,relevance:0,keywords:T,contains:["self",{match:r(b,/\s*:/),keywords:"_|0",relevance:0},...f,H,...I,...R,...A,j,V,...Z,...K,X]},$={begin://,keywords:"repeat each",contains:[...f,X]},q={begin:/\(/,end:/\)/,keywords:T,contains:[{begin:n(i(r(b,/\s*:/)),i(r(b,/\s+/,b,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:b}]},...f,...I,...A,j,V,...K,X,J],endsParent:!0,illegal:/["']/},Q={match:[/(func|macro)/,/\s+/,n(G.match,b,_)],className:{1:"keyword",3:"title.function"},contains:[$,q,t],illegal:[/\[/,/%/]},ee={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[$,q,t],illegal:/\[|%/},et={match:[/operator/,/\s+/,_],className:{1:"keyword",3:"title"}},ei={begin:[/precedencegroup/,/\s+/,S],className:{1:"keyword",3:"title"},contains:[X],keywords:[...h,...u],end:/}/},er={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},es={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},en={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,b,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:T,contains:[$,...I,{begin:/:/,end:/\{/,keywords:T,contains:[{scope:"title.class.inherited",match:S},...I],relevance:0}]};for(let e of V.variants){let t=e.contains.find(e=>"interpol"===e.label);t.keywords=T;let i=[...I,...R,...A,j,V,...Z];t.contains=[...i,{begin:/\(/,end:/\)/,contains:["self",...i]}]}return{name:"Swift",keywords:T,contains:[...f,Q,ee,er,es,en,et,ei,{beginKeywords:"import",end:/$/,contains:[...f],relevance:0},H,...I,...R,...A,j,V,...Z,...K,X,J]}}},68470(e){let t="[A-Za-z$_][0-9A-Za-z$_]*",i=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],r=["true","false","null","undefined","NaN","Infinity"],s=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],n=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],a=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],l=[].concat(a,s,n);function c(e){let c=e.regex,d=(e,{after:t})=>{let i="",p="",m=/<[A-Za-z0-9\\._:-]+\s*\/>/,f=/<[A-Za-z0-9\\._:-]+/,g=/\/[A-Za-z0-9\\._:-]+>|\/>/,_=(e,t)=>{let i,r=e[0].length+e.index,s=e.input[r];if("<"===s||","===s)return void t.ignoreMatch();">"!==s||d(e,{after:r})||t.ignoreMatch();let n=e.input.substring(r);if((i=n.match(/^\s*=/))||(i=n.match(/^\s+extends\s+/))&&0===i.index)return void t.ignoreMatch()},y={$pattern:t,keyword:i,literal:r,built_in:l,"variable.language":o},v="[0-9](_?[0-9])*",b=`\\.(${v})`,S="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",k={className:"number",variants:[{begin:`(\\b(${S})((${b})|\\.)?|(${b}))[eE][+-]?(${v})\\b`},{begin:`\\b(${S})\\b((${b})\\b|\\.)?|(${b})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},x={className:"subst",begin:"\\$\\{",end:"\\}",keywords:y,contains:[]},C={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"css"}},E={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"graphql"}},T={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,x]},I={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:u+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},R=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,C,w,E,T,{match:/\$\d+/},k];x.contains=R.concat({begin:/\{/,end:/\}/,keywords:y,contains:["self"].concat(R)});let N=[].concat(I,x.contains),A=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:y,contains:["self"].concat(N)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:A},P={variants:[{match:[/class/,/\s+/,u,/\s+/,/extends/,/\s+/,c.concat(u,"(",c.concat(/\./,u),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,u],scope:{1:"keyword",3:"title.class"}}]},j={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...s,...n]}},L={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},D={variants:[{match:[/function/,/\s+/,u,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},O={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function F(e){return c.concat("(?!",e.join("|"),")")}let U={match:c.concat(/\b/,F([...a,"super","import"].map(e=>`${e}\\s*\\(`)),u,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:c.concat(/\./,c.lookahead(c.concat(u,/(?![0-9A-Za-z$_(])/))),end:u,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},B={match:[/get|set/,/\s+/,u,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",W={match:[/const|var|let/,/\s+/,u,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(z)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:y,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:j},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),L,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,C,w,E,T,I,{match:/\$\d+/},k,j,{scope:"attr",match:u+c.lookahead(":"),relevance:0},W,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,e.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:h,end:p},{match:m},{begin:f,"on:begin":_,end:g}],subLanguage:"xml",contains:[{begin:f,end:g,skip:!0,contains:["self"]}]}]},D,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:u,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+u,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},U,O,P,B,{match:/\$[(.]/}]}}e.exports=function(e){let s=e.regex,n=c(e),a=t,d=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],u={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},h={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:d},contains:[n.exports.CLASS_REFERENCE]},p={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},m=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],f={$pattern:t,keyword:i.concat(m),literal:r,built_in:l.concat(d),"variable.language":o},g={className:"meta",begin:"@"+a},_=(e,t,i)=>{let r=e.contains.findIndex(e=>e.label===t);if(-1===r)throw Error("can not find mode to replace");e.contains.splice(r,1,i)};Object.assign(n.keywords,f),n.exports.PARAMS_CONTAINS.push(g);let y=n.contains.find(e=>"attr"===e.scope),v=Object.assign({},y,{match:s.concat(a,s.lookahead(/\s*\?:/))});return n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,y,v]),n.contains=n.contains.concat([g,u,h,v]),_(n,"shebang",e.SHEBANG()),_(n,"use_strict",p),n.contains.find(e=>"func.def"===e.label).relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}},20898(e){e.exports=function(e){let t=e.regex,i={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s=/\d{1,2}\/\d{1,2}\/\d{4}/,n=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:t.concat(/# */,t.either(n,s),/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(n,s),/ +/,t.either(a,o),/ *#/)}]},c={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},u=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}),p={className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[h]};return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[i,r,l,c,d,u,h,p]}}},1977(e){e.exports=function(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");let i=e.COMMENT(/;;/,/$/),r={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},s={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},n={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[i,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},e.QUOTE_STRING_MODE,s,n,r]}}},73168(e){e.exports=function(e){let t=e.regex,i=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,s={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},n={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(n,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),c={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[n,l,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[n,a,l,o]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:i,relevance:0,starts:c}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(i,/>/))),contains:[{className:"name",begin:i,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},76782(e){e.exports=function(e){let t="true false yes no null",i="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},s={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},n={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,s]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},c={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},d={begin:/\{/,end:/\}/,contains:[c],illegal:"\\n",relevance:0},u={begin:"\\[",end:"\\]",contains:[c],illegal:"\\n",relevance:0},h=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+i},{className:"type",begin:"!<"+i+">"},{className:"type",begin:"!"+i},{className:"type",begin:"!!"+i},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},l,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},d,u,n,a],p=[...h];return p.pop(),p.push(o),c.contains=p,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:h}}},67623(e,t,i){let r;i.d(t,{oe:()=>tR,yI:()=>tN});var s=i(97282),n=i(7516),a=i(51649),o=i(25346),l=i(1640),c=i(20027),d=i(84599),u=i(95833);let h={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class p{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||h,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=Array(e),i=0;i{this.observers[e]||(this.observers[e]=new Map);let i=this.observers[e].get(t)||0;this.observers[e].set(t,i+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;r{let[t,r]=e;for(let e=0;e{let[r,s]=t;for(let t=0;t{let e,t,i=new Promise((i,r)=>{e=i,t=r});return i.resolve=e,i.reject=t,i},_=e=>null==e?"":""+e,y=(e,t,i)=>{e.forEach(e=>{t[e]&&(i[e]=t[e])})},v=/###/g,b=e=>e&&e.indexOf("###")>-1?e.replace(v,"."):e,S=e=>!e||"string"==typeof e,k=(e,t,i)=>{let r="string"!=typeof t?t:t.split("."),s=0;for(;s{let{obj:r,k:s}=k(e,t,Object);if(void 0!==r||1===t.length){r[s]=i;return}let n=t[t.length-1],a=t.slice(0,t.length-1),o=k(e,a,Object);for(;void 0===o.obj&&a.length;)n=`${a[a.length-1]}.${n}`,(o=k(e,a=a.slice(0,a.length-1),Object))&&o.obj&&void 0!==o.obj[`${o.k}.${n}`]&&(o.obj=void 0);o.obj[`${o.k}.${n}`]=i},C=(e,t,i,r)=>{let{obj:s,k:n}=k(e,t,Object);s[n]=s[n]||[],s[n].push(i)},w=(e,t)=>{let{obj:i,k:r}=k(e,t);if(i)return i[r]},E=(e,t,i)=>{let r=w(e,i);return void 0!==r?r:w(t,i)},T=(e,t,i)=>{for(let r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?i&&(e[r]=t[r]):T(e[r],t[r],i):e[r]=t[r]);return e},I=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var R={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let N=e=>"string"==typeof e?e.replace(/[&<>"'\/]/g,e=>R[e]):e;class A{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let i=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,i),this.regExpQueue.push(e),i}}let M=[" ",",","?","!",";"],P=new A(20),j=(e,t,i)=>{t=t||"",i=i||"";let r=M.filter(e=>0>t.indexOf(e)&&0>i.indexOf(e));if(0===r.length)return!0;let s=P.getRegExp(`(${r.map(e=>"?"===e?"\\?":e).join("|")})`),n=!s.test(e);if(!n){let t=e.indexOf(i);t>0&&!s.test(e.substring(0,t))&&(n=!0)}return n},L=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];let r=t.split(i),s=e;for(let e=0;e-1&&ae&&e.indexOf("_")>0?e.replace("_","-"):e;class O extends f{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,i){let r,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=void 0!==s.keySeparator?s.keySeparator:this.options.keySeparator,a=void 0!==s.ignoreJSONStructure?s.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?r=e.split("."):(r=[e,t],i&&(Array.isArray(i)?r.push(...i):"string"==typeof i&&n?r.push(...i.split(n)):r.push(i)));let o=w(this.data,r);return(!o&&!t&&!i&&e.indexOf(".")>-1&&(e=r[0],t=r[1],i=r.slice(2).join(".")),o||!a||"string"!=typeof i)?o:L(this.data&&this.data[e]&&this.data[e][t],i,n)}addResource(e,t,i,r){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},n=void 0!==s.keySeparator?s.keySeparator:this.options.keySeparator,a=[e,t];i&&(a=a.concat(n?i.split(n):i)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),x(this.data,a,r),s.silent||this.emit("added",e,t,i,r)}addResources(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(let r in i)("string"==typeof i[r]||Array.isArray(i[r]))&&this.addResource(e,t,r,i[r],{silent:!0});r.silent||this.emit("added",e,t,i)}addResourceBundle(e,t,i,r,s){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=i,i=t,t=a[1]),this.addNamespaces(t);let o=w(this.data,a)||{};n.skipCopy||(i=JSON.parse(JSON.stringify(i))),r?T(o,i,s):o={...o,...i},x(this.data,a,o),n.silent||this.emit("added",e,t,i)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return(t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI)?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var F={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,i,r,s){return e.forEach(e=>{this.processors[e]&&(t=this.processors[e].process(t,i,r,s))}),t}};let U={};class V extends f{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),y(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=m.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;let i=this.resolve(e,t);return i&&void 0!==i.res}extractFromKey(e,t){let i=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");let r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,s=t.ns||this.options.defaultNS||[],n=i&&e.indexOf(i)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!j(e,i,r);if(n&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:s};let n=e.split(i);(i!==r||i===r&&this.options.ns.indexOf(n[0])>-1)&&(s=n.shift()),e=n.join(r)}return"string"==typeof s&&(s=[s]),{key:e,namespaces:s}}translate(e,t,i){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);let r=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,s=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:n,namespaces:a}=this.extractFromKey(e[e.length-1],t),o=a[a.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){let e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${o}${e}${n}`,usedKey:n,exactUsedKey:n,usedLng:l,usedNS:o,usedParams:this.getUsedParamsDetails(t)}:`${o}${e}${n}`}return r?{res:n,usedKey:n,exactUsedKey:n,usedLng:l,usedNS:o,usedParams:this.getUsedParamsDetails(t)}:n}let d=this.resolve(e,t),u=d&&d.res,h=d&&d.usedKey||n,p=d&&d.exactUsedKey||n,m=Object.prototype.toString.apply(u),f=["[object Number]","[object Function]","[object RegExp]"],g=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,_=!this.i18nFormat||this.i18nFormat.handleAsObject,y="string"!=typeof u&&"boolean"!=typeof u&&"number"!=typeof u;if(_&&u&&y&&0>f.indexOf(m)&&!("string"==typeof g&&Array.isArray(u))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,u,{...t,ns:a}):`key '${n} (${this.language})' returned an object instead of string.`;return r?(d.res=e,d.usedParams=this.getUsedParamsDetails(t),d):e}if(s){let e=Array.isArray(u),i=e?[]:{},r=e?p:h;for(let e in u)if(Object.prototype.hasOwnProperty.call(u,e)){let n=`${r}${s}${e}`;i[e]=this.translate(n,{...t,joinArrays:!1,ns:a}),i[e]===n&&(i[e]=u[e])}u=i}}else if(_&&"string"==typeof g&&Array.isArray(u))(u=u.join(g))&&(u=this.extendTranslation(u,e,t,i));else{let r=!1,a=!1,c=void 0!==t.count&&"string"!=typeof t.count,h=V.hasDefaultValue(t),p=c?this.pluralResolver.getSuffix(l,t.count,t):"",m=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=c&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),g=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${p}`]||t[`defaultValue${m}`]||t.defaultValue;!this.isValidLookup(u)&&h&&(r=!0,u=g),this.isValidLookup(u)||(a=!0,u=n);let _=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:u,y=h&&g!==u&&this.options.updateMissing;if(a||r||y){if(this.logger.log(y?"updateKey":"missingKey",l,o,n,y?g:u),s){let e=this.resolve(n,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[],i=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&i&&i[0])for(let t=0;t{let s=h&&r!==u?r:_;this.options.missingKeyHandler?this.options.missingKeyHandler(e,o,i,s,y,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,o,i,s,y,t),this.emit("missingKey",e,o,i,u)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach(e=>{let i=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&0>i.indexOf(`${this.options.pluralSeparator}zero`)&&i.push(`${this.options.pluralSeparator}zero`),i.forEach(i=>{r([e],n+i,t[`defaultValue${i}`]||g)})}):r(e,n,g))}u=this.extendTranslation(u,e,t,d,i),a&&u===n&&this.options.appendNamespaceToMissingKey&&(u=`${o}:${n}`),(a||r)&&this.options.parseMissingKeyHandler&&(u="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${o}:${n}`:n,r?u:void 0):this.options.parseMissingKeyHandler(u))}return r?(d.res=u,d.usedParams=this.getUsedParamsDetails(t),d):u}extendTranslation(e,t,i,r,s){var n=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){let a;i.interpolation&&this.interpolator.init({...i,...{interpolation:{...this.options.interpolation,...i.interpolation}}});let o="string"==typeof e&&(i&&i.interpolation&&void 0!==i.interpolation.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(o){let t=e.match(this.interpolator.nestingRegexp);a=t&&t.length}let l=i.replace&&"string"!=typeof i.replace?i.replace:i;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,i.lng||this.language||r.usedLng,i),o){let t=e.match(this.interpolator.nestingRegexp);a<(t&&t.length)&&(i.nest=!1)}!i.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(i.lng=this.language||r.usedLng),!1!==i.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,r=Array(e),a=0;a1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(t))return;let o=this.extractFromKey(e,a),l=o.key;i=l;let c=o.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));let d=void 0!==a.count&&"string"!=typeof a.count,u=d&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,p=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);c.forEach(e=>{this.isValidLookup(t)||(n=e,!U[`${p[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(n)&&(U[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${i}" for languages "${p.join(", ")}" won't get resolved as namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),p.forEach(i=>{let n;if(this.isValidLookup(t))return;s=i;let o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,i,e,a);else{let e;d&&(e=this.pluralResolver.getSuffix(i,a.count,a));let t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(o.push(l+e),a.ordinal&&0===e.indexOf(r)&&o.push(l+e.replace(r,this.options.pluralSeparator)),u&&o.push(l+t)),h){let i=`${l}${this.options.contextSeparator}${a.context}`;o.push(i),d&&(o.push(i+e),a.ordinal&&0===e.indexOf(r)&&o.push(i+e.replace(r,this.options.pluralSeparator)),u&&o.push(i+t))}}for(;n=o.pop();)this.isValidLookup(t)||(r=n,t=this.getResource(i,e,n,a))}))})}),{res:t,usedKey:i,exactUsedKey:r,usedLng:s,usedNS:n}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,i,r):this.resourceStore.getResource(e,t,i,r)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&"string"!=typeof e.replace,r=i?e.replace:e;if(i&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i)for(let e of(r={...r},t))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t===i.substring(0,t.length)&&void 0!==e[i])return!0;return!1}}let B=e=>e.charAt(0).toUpperCase()+e.slice(1);class z{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=m.create("languageUtils")}getScriptPartFromCode(e){if(!(e=D(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=D(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){let t=["hans","hant","latn","cyrl","cans","mong","arab"],i=e.split("-");return this.options.lowerCaseLng?i=i.map(e=>e.toLowerCase()):2===i.length?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),t.indexOf(i[1].toLowerCase())>-1&&(i[1]=B(i[1].toLowerCase()))):3===i.length&&(i[0]=i[0].toLowerCase(),2===i[1].length&&(i[1]=i[1].toUpperCase()),"sgn"!==i[0]&&2===i[2].length&&(i[2]=i[2].toUpperCase()),t.indexOf(i[1].toLowerCase())>-1&&(i[1]=B(i[1].toLowerCase())),t.indexOf(i[2].toLowerCase())>-1&&(i[2]=B(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let i=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let i=this.getLanguagePartFromCode(e);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(e=>{if(e===i||!(0>e.indexOf("-")&&0>i.indexOf("-"))&&(e.indexOf("-")>0&&0>i.indexOf("-")&&e.substring(0,e.indexOf("-"))===i||0===e.indexOf(i)&&i.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let i=e[t];return i||(i=e[this.getScriptPartFromCode(t)]),i||(i=e[this.formatLanguageCode(t)]),i||(i=e[this.getLanguagePartFromCode(t)]),i||(i=e.default),i||[]}toResolveHierarchy(e,t){let i=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],s=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&s(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&s(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&s(this.getLanguagePartFromCode(e))):"string"==typeof e&&s(this.formatLanguageCode(e)),i.forEach(e=>{0>r.indexOf(e)&&s(this.formatLanguageCode(e))}),r}}let W=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],H={1:e=>Number(e>1),2:e=>Number(1!=e),3:e=>0,4:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),5:e=>Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5),6:e=>Number(1==e?0:e>=2&&e<=4?1:2),7:e=>Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),8:e=>Number(1==e?0:2==e?1:8!=e&&11!=e?2:3),9:e=>Number(e>=2),10:e=>Number(1==e?0:2==e?1:e<7?2:e<11?3:4),11:e=>Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3),12:e=>Number(e%10!=1||e%100==11),13:e=>Number(0!==e),14:e=>Number(1==e?0:2==e?1:3==e?2:3),15:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2),16:e=>Number(e%10==1&&e%100!=11?0:0!==e?1:2),17:e=>Number(+(1!=e&&(e%10!=1||e%100==11))),18:e=>Number(0==e?0:1==e?1:2),19:e=>Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3),20:e=>Number(1==e?0:0==e||e%100>0&&e%100<20?1:2),21:e=>Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4)),22:e=>Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)},G=["v1","v2","v3"],Z=["v4"],K={zero:0,one:1,two:2,few:3,many:4,other:5},X=()=>{let e={};return W.forEach(t=>{t.lngs.forEach(i=>{e[i]={numbers:t.nr,plurals:H[t.fc]}})}),e};class Y{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=m.create("pluralResolver"),(!this.options.compatibilityJSON||Z.includes(this.options.compatibilityJSON))&&("u"1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(D("dev"===e?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.getRule(e,t);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}getPluralFormsOfKey(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,i).map(e=>`${t}${e}`)}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.getRule(e,t);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort((e,t)=>K[e]-K[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):i.numbers.map(i=>this.getSuffix(e,i,t)):[]}getSuffix(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRule(e,i);return r?this.shouldUseIntlApi()?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){let i=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),r=e.numbers[i];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));let s=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?`_plural_${r.toString()}`:s():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?s():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!G.includes(this.options.compatibilityJSON)}}let J=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",s=!(arguments.length>4)||void 0===arguments[4]||arguments[4],n=E(e,t,i);return!n&&s&&"string"==typeof i&&void 0===(n=L(e,i,r))&&(n=L(t,i,r)),n},$=e=>e.replace(/\$/g,"$$$$");class q{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=m.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:i,useRawValueToEscape:r,prefix:s,prefixEscaped:n,suffix:a,suffixEscaped:o,formatSeparator:l,unescapeSuffix:c,unescapePrefix:d,nestingPrefix:u,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:f,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=void 0!==t?t:N,this.escapeValue=void 0===i||i,this.useRawValueToEscape=void 0!==r&&r,this.prefix=s?I(s):n||"{{",this.suffix=a?I(a):o||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=u?I(u):h||I("$t("),this.nestingSuffix=p?I(p):m||I(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=g||1e3,this.alwaysFormat=void 0!==_&&_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,i,r){let s,n,a,o=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let s=J(t,o,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(s,void 0,i,{...r,...t,interpolationkey:e}):s}let s=e.split(this.formatSeparator),n=s.shift().trim(),a=s.join(this.formatSeparator).trim();return this.format(J(t,o,n,this.options.keySeparator,this.options.ignoreJSONStructure),a,i,{...r,...t,interpolationkey:n})};this.resetRegExp();let c=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,d=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>$(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?$(this.escape(e)):$(e)}].forEach(t=>{for(a=0;s=t.regex.exec(e);){let i=s[1].trim();if(void 0===(n=l(i)))if("function"==typeof c){let t=c(e,s,r);n="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,i))n="";else if(d){n=s[0];continue}else this.logger.warn(`missed to pass in variable ${i} for interpolating ${e}`),n="";else"string"==typeof n||this.useRawValueToEscape||(n=_(n));let o=t.safeValue(n);if(e=e.replace(s[0],o),d?(t.regex.lastIndex+=n.length,t.regex.lastIndex-=s[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t){let i,r,s,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=(e,t)=>{let i=this.nestingOptionsSeparator;if(0>e.indexOf(i))return e;let r=e.split(RegExp(`${i}[ ]*{`)),n=`{${r[1]}`;e=r[0];let a=(n=this.interpolate(n,s)).match(/'/g),o=n.match(/"/g);(a&&a.length%2==0&&!o||o.length%2!=0)&&(n=n.replace(/'/g,'"'));try{s=JSON.parse(n),t&&(s={...t,...s})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${i}${n}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,e};for(;i=this.nestingRegexp.exec(e);){let o=[];(s=(s={...n}).replace&&"string"!=typeof s.replace?s.replace:s).applyPostProcessor=!1,delete s.defaultValue;let l=!1;if(-1!==i[0].indexOf(this.formatSeparator)&&!/{.*}/.test(i[1])){let e=i[1].split(this.formatSeparator).map(e=>e.trim());i[1]=e.shift(),o=e,l=!0}if((r=t(a.call(this,i[1].trim(),s),s))&&i[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=_(r)),r||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),r=""),l&&(r=o.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:i[1].trim()}),r.trim())),e=e.replace(i[0],r),this.regexp.lastIndex=0}return e}}let Q=e=>{let t=e.toLowerCase().trim(),i={};if(e.indexOf("(")>-1){let r=e.split("(");t=r[0].toLowerCase().trim();let s=r[1].substring(0,r[1].length-1);"currency"===t&&0>s.indexOf(":")?i.currency||(i.currency=s.trim()):"relativetime"===t&&0>s.indexOf(":")?i.range||(i.range=s.trim()):s.split(";").forEach(e=>{if(e){let[t,...r]=e.split(":"),s=r.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();i[n]||(i[n]=s),"false"===s&&(i[n]=!1),"true"===s&&(i[n]=!0),isNaN(s)||(i[n]=parseInt(s,10))}})}return{formatName:t,formatOptions:i}},ee=e=>{let t={};return(i,r,s)=>{let n=s;s&&s.interpolationkey&&s.formatParams&&s.formatParams[s.interpolationkey]&&s[s.interpolationkey]&&(n={...n,[s.interpolationkey]:void 0});let a=r+JSON.stringify(n),o=t[a];return o||(o=e(D(r),s),t[a]=o),o(i)}};class et{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=m.create("formatter"),this.options=e,this.formats={number:ee((e,t)=>{let i=new Intl.NumberFormat(e,{...t});return e=>i.format(e)}),currency:ee((e,t)=>{let i=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>i.format(e)}),datetime:ee((e,t)=>{let i=new Intl.DateTimeFormat(e,{...t});return e=>i.format(e)}),relativetime:ee((e,t)=>{let i=new Intl.RelativeTimeFormat(e,{...t});return e=>i.format(e,t.range||"day")}),list:ee((e,t)=>{let i=new Intl.ListFormat(e,{...t});return e=>i.format(e)})},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},i=t.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=ee(t)}format(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=t.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&0>s[0].indexOf(")")&&s.find(e=>e.indexOf(")")>-1)){let e=s.findIndex(e=>e.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,e)].join(this.formatSeparator)}return s.reduce((e,t)=>{let{formatName:s,formatOptions:n}=Q(t);if(this.formats[s]){let t=e;try{let a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},o=a.locale||a.lng||r.locale||r.lng||i;t=this.formats[s](e,o,{...n,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${s}`),e},e)}}let ei=(e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)};class er extends f{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=m.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(i,r.backend,r)}queueLoad(e,t,i,r){let s={},n={},a={},o={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let a=`${e}|${t}`;!i.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===n[a]&&(n[a]=!0):(this.state[a]=1,r=!1,void 0===n[a]&&(n[a]=!0),void 0===s[a]&&(s[a]=!0),void 0===o[t]&&(o[t]=!0)))}),r||(a[e]=!0)}),(Object.keys(s).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(s),pending:Object.keys(n),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(o)}}loaded(e,t,i){let r=e.split("|"),s=r[0],n=r[1];t&&this.emit("failedLoading",s,n,t),i&&this.store.addResourceBundle(s,n,i,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2;let a={};this.queue.forEach(i=>{C(i.loaded,[s],n),ei(i,e),t&&i.errors.push(t),0!==i.pendingCount||i.done||(Object.keys(i.loaded).forEach(e=>{a[e]||(a[e]={});let t=i.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),i.done=!0,i.errors.length?i.callback(i.errors):i.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,n=arguments.length>5?arguments[5]:void 0;if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:i,tried:r,wait:s,callback:n});this.readingCalls++;let a=(a,o)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&o&&r{this.read.call(this,e,t,i,r+1,2*s,n)},s):n(a,o)},o=this.backend[i].bind(this.backend);if(2===o.length){try{let i=o(e,t);i&&"function"==typeof i.then?i.then(e=>a(null,e)).catch(a):a(null,i)}catch(e){a(e)}return}return o(e,t,a)}prepareLoading(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);let s=this.queueLoad(e,t,i,r);if(!s.toLoad.length)return s.pending.length||r(),null;s.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,i){this.prepareLoading(e,t,{},i)}reload(e,t,i){this.prepareLoading(e,t,{reload:!0},i)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=e.split("|"),r=i[0],s=i[1];this.read(r,s,"read",void 0,void 0,(i,n)=>{i&&this.logger.warn(`${t}loading namespace ${s} for language ${r} failed`,i),!i&&n&&this.logger.log(`${t}loaded namespace ${s} for language ${r}`,n),this.loaded(e,i,n)})}saveMissing(e,t,i,r,s){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${i}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=i&&""!==i){if(this.backend&&this.backend.create){let o={...n,isUpdate:s},l=this.backend.create.bind(this.backend);if(l.length<6)try{let s;(s=5===l.length?l(e,t,i,r,o):l(e,t,i,r))&&"function"==typeof s.then?s.then(e=>a(null,e)).catch(a):a(null,s)}catch(e){a(e)}else l(e,t,i,r,a,o)}e&&e[0]&&this.store.addResource(e[0],t,i,r)}}}let es=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let i=e[3]||e[2];Object.keys(i).forEach(e=>{t[e]=i[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),en=e=>("string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&0>e.supportedLngs.indexOf("cimode")&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),ea=()=>{},eo=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})};class el extends f{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=en(e),this.services={},this.logger=m,this.modules={external:[]},eo(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(i=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:0>t.ns.indexOf("translation")&&(t.defaultNS=t.ns[0]));let r=es();this.options={...r,...this.options,...en(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);let s=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?m.init(s(this.modules.logger),this.options):m.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"u">typeof Intl&&(t=et);let i=new z(this.options);this.store=new O(this.options.resources,this.options);let n=this.services;n.logger=m,n.resourceStore=this.store,n.languageUtils=i,n.pluralResolver=new Y(i,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),t&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(n.formatter=s(t),n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new q(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new er(s(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on("*",function(t){for(var i=arguments.length,r=Array(i>1?i-1:0),s=1;s1?i-1:0),s=1;s{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,i||(i=ea),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(t=>{this[t]=function(){return e.store[t](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(t=>{this[t]=function(){return e.store[t](...arguments),e}});let n=g(),a=()=>{let e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),n.resolve(t),i(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),n}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ea,i=t,r="string"==typeof e?e:this.language;if("function"==typeof e&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return i();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload&&this.options.preload.forEach(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),i(e)})}else i(null)}reloadResources(e,t,i){let r=g();return e||(e=this.languages),t||(t=this.options.ns),i||(i=ea),this.services.backendConnector.reload(e,t,e=>{r.resolve(),i(e)}),r}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&F.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var i=this;this.isLanguageChangingTo=e;let r=g();this.emit("languageChanging",e);let s=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},n=(e,n)=>{n?(s(n),this.translator.changeLanguage(n),this.isLanguageChangingTo=void 0,this.emit("languageChanged",n),this.logger.log("languageChanged",n)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),t&&t(e,function(){return i.t(...arguments)})},a=t=>{e||t||!this.services.languageDetector||(t=[]);let i="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);i&&(this.language||s(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(i)),this.loadResources(i,e=>{n(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}getFixedT(e,t,i){var r=this;let s=function(e,t){let n,a;if("object"!=typeof t){for(var o=arguments.length,l=Array(o>2?o-2:0),c=2;c`${n.keyPrefix}${d}${e}`):n.keyPrefix?`${n.keyPrefix}${d}${e}`:e,r.t(a,n)};return"string"==typeof e?s.lng=e:s.lngs=e,s.ns=t,s.keyPrefix=i,s}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let i=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,s=this.languages[this.languages.length-1];if("cimode"===i.toLowerCase())return!0;let n=(e,t)=>{let i=this.services.backendConnector.state[`${e}|${t}`];return -1===i||2===i};if(t.precheck){let e=t.precheck(this,n);if(void 0!==e)return e}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||n(i,e)&&(!r||n(s,e)))}loadNamespaces(e,t){let i=g();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{i.resolve(),t&&t(e)}),i):(t&&t(),Promise.resolve())}loadLanguages(e,t){let i=g();"string"==typeof e&&(e=[e]);let r=this.options.preload||[],s=e.filter(e=>0>r.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return s.length?(this.options.preload=r.concat(s),this.loadResources(e=>{i.resolve(),t&&t(e)}),i):(t&&t(),Promise.resolve())}dir(e){return(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf((this.services&&this.services.languageUtils||new z(es())).getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr":"rtl"}static createInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new el(e,t)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ea,i=e.forkResourceStore;i&&delete e.forkResourceStore;let r={...this.options,...e,isClone:!0},s=new el(r);return(void 0!==e.debug||void 0!==e.prefix)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(e=>{s[e]=this[e]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},i&&(s.store=new O(this.store.data,r),s.services.resourceStore=s.store),s.translator=new V(s.services,r),s.translator.on("*",function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;r<]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function ep(e){var t={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},i=e.match(/<\/?([^\s]+?)[/\s>]/);if(i&&(t.name=i[1],(eu()[i[1]]||"/"===e.charAt(e.length-2))&&(t.voidElement=!0),t.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var s=new RegExp(eh),n=null;null!==(n=s.exec(e));)if(n[0].trim())if(n[1]){var a=n[1].trim(),o=[a,""];a.indexOf("=")>-1&&(o=a.split("=")),t.attrs[o[0]]=o[1],s.lastIndex--}else n[2]&&(t.attrs[n[2]]=n[3].trim().substring(1,n[3].length-1));return t}var em=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,ef=/^\s*$/,eg=Object.create(null);let e_=function(e,t){t||(t={}),t.components||(t.components=eg);var i,r=[],s=[],n=-1,a=!1;if(0!==e.indexOf("<")){var o=e.indexOf("<");r.push({type:"text",content:-1===o?e:e.substring(0,o)})}return e.replace(em,function(o,l){if(a){if(o!=="")return;a=!1}var c,d="/"!==o.charAt(1),u=o.startsWith("\x3c!--"),h=l+o.length,p=e.charAt(h);if(u){var m=ep(o);return n<0?r.push(m):(c=s[n]).children.push(m),r}if(d&&(n++,"tag"===(i=ep(o)).type&&t.components[i.name]&&(i.type="component",a=!0),i.voidElement||a||!p||"<"===p||i.children.push({type:"text",content:e.slice(h,e.indexOf("<",h))}),0===n&&r.push(i),(c=s[n-1])&&c.children.push(i),s[n]=i),(!d||i.voidElement)&&(n>-1&&(i.voidElement||i.name===o.slice(2,-1))&&(i=-1==--n?r:s[n]),!a&&"<"!==p&&p)){c=-1===n?r:s[n].children;var f=e.indexOf("<",h),g=e.slice(h,-1===f?void 0:f);ef.test(g)&&(g=" "),(f>-1&&n+c.length>=0||" "!==g)&&c.push({type:"text",content:g})}}),r};function ey(){if(console&&console.warn){for(var e=arguments.length,t=Array(e),i=0;i()=>{if(e.isInitialized)t();else{let i=()=>{setTimeout(()=>{e.off("initialized",i)},0),t()};e.on("initialized",i)}},ek=(e,t,i)=>{e.loadNamespaces(t,eS(e,i))},ex=(e,t,i,r)=>{eE(i)&&(i=[i]),i.forEach(t=>{0>e.options.ns.indexOf(t)&&e.options.ns.push(t)}),e.loadLanguages(t,eS(e,r))},eC=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.languages[0],s=!!t.options&&t.options.fallbackLng,n=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;let a=(e,i)=>{let r=t.services.backendConnector.state[`${e}|${i}`];return -1===r||2===r};return(!(i.bindI18n&&i.bindI18n.indexOf("languageChanging")>-1)||!t.services.backendConnector.backend||!t.isLanguageChangingTo||!!a(t.isLanguageChangingTo,e))&&!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!s||a(n,e)))},ew=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0===t.options.ignoreJSONStructure?eC(e,t,i):t.hasLoadedNamespace(e,{lng:i.lng,precheck:(t,r)=>{if(i.bindI18n&&i.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}):(eb("i18n.languages were undefined or empty",t.languages),!0)},eE=e=>"string"==typeof e,eT=e=>"object"==typeof e&&null!==e,eI=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,eR={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"\xa9","©":"\xa9","®":"\xae","®":"\xae","…":"\u2026","…":"\u2026","/":"/","/":"/"},eN=e=>eR[e],eA={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(eI,eN)},eM=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eA={...eA,...e}},eP=()=>eA,ej=e=>{r=e},eL=()=>r,eD=(e,t)=>{if(!e)return!1;let i=e.props?e.props.children:e.children;return t?i.length>0:!!i},eO=e=>{if(!e)return[];let t=e.props?e.props.children:e.children;return e.props&&e.props.i18nIsDynamicList?eU(t):t},eF=e=>Array.isArray(e)&&e.every(a.isValidElement),eU=e=>Array.isArray(e)?e:[e],eV=(e,t)=>{let i={...t};return i.props=Object.assign(e.props,t.props),i},eB=(e,t)=>{if(!e)return"";let i="",r=eU(e),s=t.transSupportBasicHtmlNodes&&t.transKeepBasicHtmlNodesFor?t.transKeepBasicHtmlNodesFor:[];return r.forEach((e,r)=>{if(eE(e))i+=`${e}`;else if((0,a.isValidElement)(e)){let{props:n,type:a}=e,o=Object.keys(n).length,l=s.indexOf(a)>-1,c=n.children;if(c||!l||o)if(!c&&(!l||o)||n.i18nIsDynamicList)i+=`<${r}>`;else if(l&&1===o&&eE(c))i+=`<${a}>${c}`;else{let e=eB(c,t);i+=`<${r}>${e}`}else i+=`<${a}/>`}else if(null===e)ey("Trans: the passed in value is invalid - seems you passed in a null child.");else if(eT(e)){let{format:t,...r}=e,s=Object.keys(r);if(1===s.length){let e=t?`${s[0]}, ${t}`:s[0];i+=`{{${e}}}`}else ey("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",e)}else ey("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",e)}),i},ez=(e,t,i,r,s,n)=>{if(""===t)return[];let o=r.transKeepBasicHtmlNodesFor||[],l=t&&new RegExp(o.map(e=>`<${e}`).join("|")).test(t);if(!e&&!l&&!n)return[t];let c={},d=e=>{eU(e).forEach(e=>{eE(e)||(eD(e)?d(eO(e)):eT(e)&&!(0,a.isValidElement)(e)&&Object.assign(c,e))})};d(e);let u=e_(`<0>${t}`),h={...c,...s},p=(e,t,i)=>{let r=eO(e),s=f(r,t.children,i);return eF(r)&&0===s.length||e.props&&e.props.i18nIsDynamicList?r:s},m=(e,t,i,r,s)=>{e.dummy?(e.children=t,i.push((0,a.cloneElement)(e,{key:r},s?void 0:t))):i.push(...a.Children.map([e],e=>{let i={...e.props};return delete i.i18nIsDynamicList,(0,a.createElement)(e.type,{...i,key:r,ref:e.ref},s?null:t)}))},f=(t,s,c)=>{let d=eU(t);return eU(s).reduce((t,s,u)=>{let g=s.children&&s.children[0]&&s.children[0].content&&i.services.interpolator.interpolate(s.children[0].content,h,i.language);if("tag"===s.type){let n=d[parseInt(s.name,10)];1!==c.length||n||(n=c[0][s.name]),n||(n={});let _=0!==Object.keys(s.attrs).length?eV({props:s.attrs},n):n,y=(0,a.isValidElement)(_),v=y&&eD(s,!0)&&!s.voidElement,b=l&&eT(_)&&_.dummy&&!y,S=eT(e)&&Object.hasOwnProperty.call(e,s.name);if(eE(_)){let e=i.services.interpolator.interpolate(_,h,i.language);t.push(e)}else if(eD(_)||v){let e=p(_,s,c);m(_,e,t,u)}else if(b)m(_,f(d,s.children,c),t,u);else if(Number.isNaN(parseFloat(s.name)))if(S){let e=p(_,s,c);m(_,e,t,u,s.voidElement)}else if(r.transSupportBasicHtmlNodes&&o.indexOf(s.name)>-1)if(s.voidElement)t.push((0,a.createElement)(s.name,{key:`${s.name}-${u}`}));else{let e=f(d,s.children,c);t.push((0,a.createElement)(s.name,{key:`${s.name}-${u}`},e))}else if(s.voidElement)t.push(`<${s.name} />`);else{let e=f(d,s.children,c);t.push(`<${s.name}>${e}`)}else if(eT(_)&&!y){let e=s.children[0]?g:null;e&&t.push(e)}else m(_,g,t,u,1!==s.children.length||!g)}else if("text"===s.type){let e=r.transWrapTextNodes,o=n?r.unescape(i.services.interpolator.interpolate(s.content,h,i.language)):i.services.interpolator.interpolate(s.content,h,i.language);e?t.push((0,a.createElement)(e,{key:`${s.name}-${u}`},o)):t.push(o)}return t},[])};return eO(f([{dummy:!0,children:e||[]}],u,eU(e||[]))[0])};function eW(e){let{children:t,count:i,parent:r,i18nKey:s,context:n,tOptions:o={},values:l,defaults:c,components:d,ns:u,i18n:h,t:p,shouldUnescape:m,...f}=e,g=h||eL();if(!g)return eb("You will need to pass in an i18next instance by using i18nextReactModule"),t;let _=p||g.t.bind(g)||(e=>e),y={...eP(),...g.options&&g.options.react},v=u||_.ns||g.options&&g.options.defaultNS;v=eE(v)?[v]:v||["translation"];let b=eB(t,y),S=c||b||y.transEmptyNodeValue||s,{hashTransKey:k}=y,x=s||(k?k(b||S):b||S);g.options&&g.options.interpolation&&g.options.interpolation.defaultVariables&&(l=l&&Object.keys(l).length>0?{...l,...g.options.interpolation.defaultVariables}:{...g.options.interpolation.defaultVariables});let C=l||void 0!==i||!t?o.interpolation:{interpolation:{...o.interpolation,prefix:"#$?",suffix:"?$#"}},w={...o,context:n||o.context,count:i,...l,...C,defaultValue:S,ns:v},E=x?_(x,w):S;d&&Object.keys(d).forEach(e=>{let t=d[e];function i(){return(0,a.createElement)(a.Fragment,null,t)}"function"==typeof t.type||!t.props||!t.props.children||0>E.indexOf(`${e}/>`)&&0>E.indexOf(`${e} />`)||(d[e]=(0,a.createElement)(i))});let T=ez(d||t,E,g,y,w,m),I=void 0!==r?r:y.defaultTransParent;return I?(0,a.createElement)(I,f,T):T}let eH=(0,a.createContext)();class eG{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces=()=>Object.keys(this.usedNamespaces)}function eZ(e){let{children:t,count:i,parent:r,i18nKey:s,context:n,tOptions:o={},values:l,defaults:c,components:d,ns:u,i18n:h,t:p,shouldUnescape:m,...f}=e,{i18n:g,defaultNS:_}=(0,a.useContext)(eH)||{},y=h||g||eL(),v=p||y&&y.t.bind(y);return eW({children:t,count:i,parent:r,i18nKey:s,context:n,tOptions:o,values:l,defaults:c,components:d,ns:u||v&&v.ns||_||y&&y.options&&y.options.defaultNS,i18n:y,t:p,shouldUnescape:m,...f})}let eK=(e,t)=>{let i=(0,a.useRef)();return(0,a.useEffect)(()=>{i.current=t?i.current:e},[e,t]),i.current},eX=(e,t,i,r)=>e.getFixedT(t,i,r),eY=(e,t,i,r)=>(0,a.useCallback)(eX(e,t,i,r),[e,t,i,r]),eJ=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{i18n:i}=t,{i18n:r,defaultNS:s}=(0,a.useContext)(eH)||{},n=i||r||eL();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new eG),!n){eb("You will need to pass in an i18next instance by using initReactI18next");let e=(e,t)=>eE(t)?t:eT(t)&&eE(t.defaultValue)?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,t=[e,{},!1];return t.t=e,t.i18n={},t.ready=!1,t}n.options.react&&void 0!==n.options.react.wait&&eb("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");let o={...eP(),...n.options.react,...t},{useSuspense:l,keyPrefix:c}=o,d=e||s||n.options&&n.options.defaultNS;d=eE(d)?[d]:d||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(d);let u=(n.isInitialized||n.initializedStoreOnce)&&d.every(e=>ew(e,n,o)),h=eY(n,t.lng||null,"fallback"===o.nsMode?d:d[0],c),p=()=>h,m=()=>eX(n,t.lng||null,"fallback"===o.nsMode?d:d[0],c),[f,g]=(0,a.useState)(p),_=d.join();t.lng&&(_=`${t.lng}${_}`);let y=eK(_),v=(0,a.useRef)(!0);(0,a.useEffect)(()=>{let{bindI18n:e,bindI18nStore:i}=o;v.current=!0,u||l||(t.lng?ex(n,t.lng,d,()=>{v.current&&g(m)}):ek(n,d,()=>{v.current&&g(m)})),u&&y&&y!==_&&v.current&&g(m);let r=()=>{v.current&&g(m)};return e&&n&&n.on(e,r),i&&n&&n.store.on(i,r),()=>{v.current=!1,e&&n&&e.split(" ").forEach(e=>n.off(e,r)),i&&n&&i.split(" ").forEach(e=>n.store.off(e,r))}},[n,_]),(0,a.useEffect)(()=>{v.current&&u&&g(p)},[n,c,u]);let b=[f,n,u];if(b.t=f,b.i18n=n,b.ready=u,u||!u&&!l)return b;throw new Promise(e=>{t.lng?ex(n,t.lng,d,()=>e()):ek(n,d,()=>e())})},e$={type:"3rdParty",init(e){eM(e.options.react),ej(e)}};var eq=function(e){return e.CN="cn",e.ROW="row",e.USTTP="usttp",e}({});let eQ={[eq.USTTP]:{host:"https://lf-static.traecdn.us",bucket:"trae-ai-tx"},[eq.ROW]:{host:"https://lf16-web-neutral.traecdn.ai",bucket:"trae-ai-static"}},e0=e=>{let t=eQ[e];if(!t)return"";let{host:i,bucket:r}=t;return`${i}/obj/${r}`},e1=["/passport","/cloudide/api/v3/trae/Login","/trae/api/v1/pay/create_order","/trae/api/v1/pay/unfollow_plan","/trae/api/v1/pay/claim_birthday_bonus","/trae/api/v1/pay/get_invite_code","/trae/api/v1/pay/redeem_invite_code"],e2=677332,e3=e=>{if(e===eq.CN)return null;let t=e0(e);return{aid:e2,enablePathList:e1,boe:!1,...{[eq.ROW]:{mode:513,region:"sg",url:`${t}/website_trae_storage/sdk/bric/row/webmssdk.js`,apiHost:"https://mssdk-sg.trae.ai",slardarConfig:{enableSlardar:!1,enableLazyload:!1,settingLocation:4,initConfigOverrides:{slardarDomain:"mon-normal.trae.ai"}}},[eq.USTTP]:{mode:514,region:"ttp",url:`${t}/website_trae_storage/sdk/bric/us/webmssdk.js`,apiHost:"https://mssdk.traeapi.us",slardarConfig:{enableSlardar:!1,enableLazyload:!1,settingLocation:4,initConfigOverrides:{slardarDomain:"mon-normal.traeapi.us"}}}}[e]}},e4=new Set;function e5(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"anonymous",i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=arguments.length>3?arguments[3]:void 0,s=document.createElement("script");s.src=e,r&&(s.onload=r),s.crossOrigin=t,s.async=i,document.head.appendChild(s)}let e9=e=>{if("u"{window.byted_acrawler?window.byted_acrawler.init({aid:t.aid,isSDK:!1,region:t.region,boe:t.boe,enablePathList:t.enablePathList,mode:t.mode,apiHost:t.apiHost,slardarConfig:t.slardarConfig}):console.error("Load acrawler plugin error, please confirm the script tag is exist and set before other logic")}))},e6="trae.ai",e8="trae.com.cn",e7={cn:{domain:`lf-cdn.${e8}`,path:"obj/trae-com-cn"},i18n:{domain:`lf-cdn.${e6}`,path:"obj/trae-ai-sg"}},te=(e,t)=>{let i=e7[e];return`https://${i.domain}/${i.path}/solo-code-modal/${t}`},tt=(e,t)=>{let i="dark"===t;switch(e){case"code":return i?"code-dark-v1.png":"code-light-v1.png";case"golden-code":return i?"golden-code-dark-v1.png":"golden-code-light-v1.png";default:return i?"normal-code-dark-v1.png":"normal-code-light-v1.png"}},ti=e=>{let{singleImage:t,imageType:i="code",theme:r="light",region:n="i18n"}=e,a=t||te(n,tt(i,r));return(0,s.jsx)("div",{className:"relative w-full h-full rounded-md overflow-hidden",children:(0,s.jsx)("img",{src:a,alt:"Feature",className:"block w-full h-full object-cover"})})};function tr(){for(var e=arguments.length,t=Array(e),i=0;i(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:14,height:14,fill:"none",viewBox:"0 0 14 14",...e,children:(0,s.jsx)("path",{fill:"#E8463A",fillRule:"evenodd",d:"M7 1.226a5.774 5.774 0 1 1 0 11.548A5.774 5.774 0 0 1 7 1.226m1.378 3.653L7 6.26 5.62 4.879l-.37-.371-.743.742.371.371 1.38 1.38-1.38 1.378-.371.371.742.743.371-.372L7 7.741l1.378 1.38.371.372.743-.743-.372-.37L7.741 7l1.38-1.379.37-.37-.742-.743z",clipRule:"evenodd"})}),tn=e=>{let{value:t,onChange:i,status:r="default",disabled:n=!1,onStatusChange:o,maxLength:l=8,errorMessage:c,variant:d="dark",readonly:u=!1,onSubmit:h}=e,p=(0,a.useRef)([]),[m,f]=(0,a.useState)(null);(0,a.useEffect)(()=>{if(!t&&!n&&!u){var e;null==(e=p.current[0])||e.focus()}},[]);let g=t.split("").slice(0,l);for(;g.length{if(u)return;let t=e.join("");null==i||i(t),t.length>0&&"error"===r&&(null==o||o("filled"))},[i,o,r,u]),y=(0,a.useCallback)((e,t)=>{if(n||u)return;let i=t.replace(/[^A-Za-z0-9]/g,"");if(!i)return;let r=[...g],[s]=i;if(r[e]=s,_(r),e{var i,r,s;if(!n&&!u)if("Backspace"===t.key){t.preventDefault();let r=[...g];g[e]?(r[e]="",_(r)):e>0&&(r[e-1]="",_(r),null==(i=p.current[e-1])||i.focus())}else"ArrowLeft"===t.key&&e>0?(t.preventDefault(),null==(r=p.current[e-1])||r.focus()):"ArrowRight"===t.key&&e{if(n||u)return;e.preventDefault();let t=e.clipboardData.getData("text").replace(/[^A-Za-z0-9]/g,"").slice(0,l);if(t){var i;let e=t.split("");for(;e.length{f(e),"error"!==r&&(null==o||o("active"))},[o,r]),k=(0,a.useCallback)(e=>{let t=e.relatedTarget;if(!p.current.some(e=>e===t)&&(f(null),"error"!==r)){let e=g.some(e=>""!==e);null==o||o(e?"filled":"default")}},[o,r,g]);(0,a.useEffect)(()=>{t&&null===m&&"error"!==r&&(null==o||o("filled"))},[t,m,r,o]);let x=e=>"error"===r?"error":m===e?"active":g[e]?"filled":"default";return(0,s.jsxs)("div",{className:tr("flex flex-col gap-3 w-full","light"===d?"text-black":"text-white"),children:[(0,s.jsx)("div",{className:"flex items-center justify-center gap-2 md:gap-2",children:g.map((e,t)=>(0,s.jsxs)(a.Fragment,{children:[(0,s.jsx)("input",{ref:e=>{p.current[t]=e},type:"text",inputMode:"text",maxLength:1,value:e,disabled:n,readOnly:u,className:tr("flex-none w-8 h-[44px] text-center text-lg font-medium font-mono border rounded-none outline-none transition-all caret-bg-brand","bg-bg-overlay-l2 text-text-default border-border-neutral-l2 placeholder:text-text-tertiary","active"===x(t)&&"border-border-neutral-l3 bg-bg-overlay-l3","filled"===x(t)&&"border-border-neutral-l2 bg-bg-overlay-l2","error"===x(t)&&"border-status-error-surface-l3 bg-bg-overlay-l2",u&&"cursor-default pointer-events-none opacity-50",n&&"opacity-50 cursor-not-allowed","light"===d&&["bg-bg-overlay-l2 text-text-default border-border-neutral-l2","active"===x(t)&&"border-border-neutral-l3 bg-bg-overlay-l3","filled"===x(t)&&"border-border-neutral-l2 bg-bg-overlay-l2","error"===x(t)&&"border-status-error-surface-l3 bg-bg-overlay-l2"]),onChange:e=>y(t,e.target.value),onKeyDown:e=>v(t,e),onPaste:b,onFocus:()=>S(t),onBlur:k,autoComplete:"off","aria-label":`Character ${t+1} of ${l}`}),3===t?(0,s.jsx)("span",{className:tr("flex-shrink-0 w-3 font-mono text-lg font-medium leading-[23.4px] text-center","text-text-tertiary"),children:"-"}):null]},t))}),"error"===r&&c?(0,s.jsxs)("div",{className:"flex items-center justify-center gap-1 px-1 w-full",children:[(0,s.jsx)(ts,{className:"flex-shrink-0 w-[14px] h-[14px]"}),(0,s.jsx)("span",{className:"flex-1 font-normal leading-[18px]",style:{color:"var(--status-error-default, #E8463A)",fontFamily:'var(--body-md-fontFamily, "SF Pro Text")',fontSize:"12px",fontWeight:400,lineHeight:"18px"},children:c})]}):null]})},ta=e=>e.toUpperCase().startsWith("GOLDEN")?{code:0,short_code:e,user_name:"MockUser",get_cn_express:!0}:{code:0,short_code:e,user_name:"MockUser",get_cn_express:!1},to=async(e,t,i,r,s)=>{if("mock"===e||"mock"===t)return await new Promise(e=>setTimeout(e,500)),ta(i);let n=u.create({baseURL:e,headers:{Authorization:`Cloud-IDE-JWT ${t}`,...r},withCredentials:!0}),a="/trae/api/v1/pay/redeem_invite_code";try{return(await n.post(a,{invite_code:i,...s?{is_lite:!0}:{}})).data}catch(e){if(u.isAxiosError(e)&&e.response)return e.response.data;throw e}};var tl=JSON.parse('{"title":{"initial":"Early access to the new SOLO","success":"Access Activated!","successGolden":"Congratulations \u2014 you\'ve been selected for the Golden Code!"},"description":{"initial":"SOLO is currently in beta. Redeem your code to get access.","success":"Your invitation code has been successfully redeemed. Explore TRAE SOLO (Web & Desktop) free for a limited time!","successGolden":"Access to {{productWeb}} and {{productDesktop}} is now active.
Golden Code exclusive: Enjoy a 30\u2011day Express Pass","viewBenefits":" (View Benefits)"},"express":{"text":"Want faster access during peak hours? Discover ","link":"Express Pass"},"button":{"claim":"Claim Access","claiming":"Claiming...","continueWeb":"Continue with {{productWeb}}","continueLite":"Continue with {{productDesktop}}","visitWeb":"Visit {{productWeb}}","downloadLite":"Download {{productDesktop}}"},"follow_i18n":{"text":"Looking for a code\uFF1F","link":"Follow TRAE on X","suffix":" for the latest drops."},"follow_cn":{"text":"Looking for a code\uFF1F","link":"Join our community events","suffix":" to get one."},"error":{"9001":"Abnormal activity detected on your account. Please try again later or contact {{email}}.","9030":"Invalid code. Please check and try again.","9031":"This invitation code has expired. Please get a new one.","9032":"This invitation code has reached its usage limit. Please get a new one.","9033":"You have already redeemed an invitation code.","9034":"Cannot use your own invitation code.","9035":"Currently not available in your region.","9036":"System busy, please try again later.","default":"Invalid code. Please check and try again.","network":"Network error. Please try again.","verifying":"Verifying authentication, please try again shortly."}}'),tc=JSON.parse('{"title":{"initial":"\u5168\u65B0 SOLO \u5148\u884C\u4F53\u9A13","success":"\u6709\u52B9\u5316\u3055\u308C\u307E\u3057\u305F\uFF01","successGolden":"\u304A\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002Golden Code \u306B\u5F53\u9078\u3057\u307E\u3057\u305F\uFF01"},"description":{"initial":"SOLO\u306F\u73FE\u5728\u30D9\u30FC\u30BF\u7248\u3067\u306E\u63D0\u4F9B\u3068\u306A\u3063\u3066\u304A\u308A\u307E\u3059\u3002 \u62DB\u5F85\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u3001\u88FD\u54C1\u4F53\u9A13\u3092\u958B\u59CB\u3057\u3066\u304F\u3060\u3055\u3044\u3002","success":"TRAE SOLO \uFF08Web & Desktop\uFF09\u304C\u3054\u5229\u7528\u306B\u306A\u308C\u307E\u3059\u3002\u3055\u3063\u305D\u304F\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\uFF01","successGolden":"{{productWeb}} \u3068 {{productDesktop}} \u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u6709\u52B9\u5316\u3055\u308C\u307E\u3057\u305F\u3002
Golden Code \u9650\u5B9A\u306E\u30D5\u30A1\u30B9\u30C8\u30D1\u30B9\uFF0830 \u65E5\u9593\uFF0F\u30D4\u30FC\u30AF\u6642\u3082\u5F85\u3061\u6642\u9593\u306A\u3057\uFF09\u3082\u3054\u5229\u7528\u3044\u305F\u3060\u3051\u307E\u3059\u3002","viewBenefits":""},"express":{"text":"\u6DF7\u96D1\u6642\u306B\u3088\u308A\u30B9\u30E0\u30FC\u30BA\u306B\u5229\u7528\u3057\u305F\u3044\u3067\u3059\u304B\uFF1F","link":"\u30D5\u30A1\u30B9\u30C8\u30D1\u30B9\u3092\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044"},"button":{"claim":"\u6A29\u9650\u3092\u89E3\u653E\u3059\u308B","claiming":"\u53D6\u5F97\u4E2D...","continueWeb":"{{productWeb}} \u3092\u4F53\u9A13\u3059\u308B","continueLite":"{{productDesktop}} \u3092\u4F53\u9A13\u3059\u308B","visitWeb":"{{productWeb}} \u3092\u958B\u304F","downloadLite":"{{productDesktop}} \u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9"},"follow_i18n":{"text":"\u62DB\u5F85\u30B3\u30FC\u30C9\u3092\u304A\u63A2\u3057\u3067\u3059\u304B\uFF1F\u3053\u3061\u3089\u3067\u30B2\u30C3\u30C8\uFF01","link":"X\u3067TRAE\u3092\u30D5\u30A9\u30ED\u30FC","suffix":"\u3057\u3066\u3001\u6700\u65B0\u306E\u914D\u5E03\u60C5\u5831\u3092\u30C1\u30A7\u30C3\u30AF\uFF01"},"follow_cn":{"text":"\u62DB\u5F85\u30B3\u30FC\u30C9\u3092\u304A\u63A2\u3057\u3067\u3059\u304B\uFF1F","link":"\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u30A4\u30D9\u30F3\u30C8","suffix":"\u306B\u53C2\u52A0\u3057\u3066\u30B2\u30C3\u30C8\u3057\u307E\u3057\u3087\u3046\uFF01"},"error":{"9001":"\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u7570\u5E38\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u8A66\u884C\u3059\u308B\u304B\u3001 {{email}} \u307E\u3067\u3054\u9023\u7D61\u304F\u3060\u3055\u3044\u3002","9030":"\u62DB\u5F85\u30B3\u30FC\u30C9\u304C\u7121\u52B9\u3067\u3059\u3002\u3054\u78BA\u8A8D\u306E\u4E0A\u3001\u518D\u5EA6\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002","9031":"\u3053\u306E\u62DB\u5F85\u30B3\u30FC\u30C9\u306F\u5931\u52B9\u3057\u3066\u3044\u307E\u3059\u3002\u65B0\u3057\u3044\u62DB\u5F85\u30B3\u30FC\u30C9\u3092\u53D6\u5F97\u3057\u3066\u304F\u3060\u3055\u3044\u3002","9032":"\u3053\u306E\u62DB\u5F85\u30B3\u30FC\u30C9\u306F\u5229\u7528\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u65B0\u3057\u3044\u62DB\u5F85\u30B3\u30FC\u30C9\u3092\u53D6\u5F97\u3057\u3066\u304F\u3060\u3055\u3044\u3002","9033":"\u65E2\u306B\u62DB\u5F85\u30B3\u30FC\u30C9\u3092\u767B\u9332\u6E08\u307F\u3067\u3059\u3002","9034":"\u3054\u81EA\u8EAB\u306E\u62DB\u5F85\u30B3\u30FC\u30C9\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002","9035":"\u73FE\u5728\u3054\u5229\u7528\u306E\u5730\u57DF\u3067\u306F\u3054\u5229\u7528\u3044\u305F\u3060\u3051\u307E\u305B\u3093\u3002","9036":"\u30B7\u30B9\u30C6\u30E0\u304C\u6DF7\u307F\u5408\u3063\u3066\u3044\u307E\u3059\u3002\u3057\u3070\u3089\u304F\u6642\u9593\u3092\u304A\u3044\u3066\u304B\u3089\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002","default":"\u62DB\u5F85\u30B3\u30FC\u30C9\u304C\u7121\u52B9\u3067\u3059\u3002\u3054\u78BA\u8A8D\u306E\u4E0A\u3001\u518D\u5EA6\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002","network":"\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002","verifying":"\u8A8D\u8A3C\u3092\u78BA\u8A8D\u3057\u3066\u3044\u307E\u3059\u3002\u3057\u3070\u3089\u304F\u3057\u3066\u304B\u3089\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002"}}'),td=JSON.parse('{"title":{"initial":"\u5168\u65B0 SOLO \u62A2\u5148\u4F53\u9A8C","success":"\u5151\u6362\u6210\u529F\uFF01","successGolden":"\u606D\u559C\u83B7\u5F97\u7A00\u6709 Golden Code\uFF01"},"description":{"initial":"\u5F53\u524D\u4E3A\u5185\u6D4B\u9636\u6BB5\uFF0C\u8BF7\u8F93\u5165\u4F60\u7684\u9080\u8BF7\u7801\u5F00\u542F\u4EA7\u54C1\u4F53\u9A8C\u3002","success":"\u5DF2\u4E3A\u60A8\u5F00\u901A {{productWeb}} \u548C {{productDesktop}} \u7684\u4F7F\u7528\u6743\u9650
\u5FEB\u53BB\u8BD5\u8BD5\u5427\uFF01","successGolden":"\u5DF2\u5F00\u901A {{productWeb}} \u4E0E {{productDesktop}} \u4F7F\u7528\u8D44\u683C\uFF1B
Golden Code \u4E13\u5C5E\u52A0\u8D60 30 \u5929\u4F18\u901F\u901A\u6743\u76CA","viewBenefits":"\uFF08\u67E5\u770B\u6743\u76CA\uFF09"},"express":{"text":"\u60F3\u5728\u9AD8\u5CF0\u65F6\u6BB5\u66F4\u5FEB\u54CD\u5E94\uFF1F\u4E86\u89E3","link":"\u4F18\u901F\u901A\u6743\u76CA"},"button":{"claim":"\u62A2\u5148\u4F53\u9A8C","claiming":"\u9886\u53D6\u4E2D...","continueWeb":"\u7ACB\u5373\u4F53\u9A8C {{productWeb}}","continueLite":"\u7ACB\u5373\u4F53\u9A8C {{productDesktop}}","visitWeb":"\u6253\u5F00 {{productWeb}}","downloadLite":"\u4E0B\u8F7D {{productDesktop}}"},"follow_i18n":{"text":"\u60F3\u8981\u9080\u8BF7\u7801\uFF1F","link":"\u5173\u6CE8\u5B98\u65B9\u8D26\u53F7","suffix":"\u83B7\u53D6\u6700\u65B0\u6389\u843D\u52A8\u6001"},"follow_cn":{"text":"\u60F3\u8981\u9080\u8BF7\u7801\uFF1F","link":"\u53C2\u4E0E\u5B98\u65B9\u793E\u533A\u6D3B\u52A8","suffix":"\u5373\u53EF\u83B7\u53D6"},"error":{"9001":"\u68C0\u6D4B\u5230\u60A8\u7684\u8D26\u53F7\u72B6\u6001\u53EF\u80FD\u5B58\u5728\u98CE\u9669\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u8054\u7CFB {{email}} \u83B7\u53D6\u5E2E\u52A9\u3002","9030":"\u9080\u8BF7\u7801\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u65B0\u8F93\u5165\u3002","9031":"\u9080\u8BF7\u7801\u5DF2\u5931\u6548\uFF0C\u8BF7\u83B7\u53D6\u65B0\u7684\u9080\u8BF7\u7801\u3002","9032":"\u8BE5\u9080\u8BF7\u7801\u5DF2\u88AB\u4F7F\u7528\u5B8C\uFF0C\u8BF7\u83B7\u53D6\u65B0\u7684\u9080\u8BF7\u7801\u3002","9033":"\u60A8\u5DF2\u5151\u6362\u8FC7\u9080\u8BF7\u7801\u3002","9034":"\u65E0\u6CD5\u4F7F\u7528\u81EA\u5DF1\u7684\u9080\u8BF7\u7801\u3002","9035":"\u8BE5\u5730\u533A\u6682\u4E0D\u652F\u6301\u3002","9036":"\u7CFB\u7EDF\u7E41\u5FD9\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002","default":"\u9080\u8BF7\u7801\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u65B0\u8F93\u5165\u3002","network":"\u7F51\u7EDC\u9519\u8BEF\uFF0C\u8BF7\u91CD\u8BD5\u3002","verifying":"\u6B63\u5728\u9A8C\u8BC1\u8EAB\u4EFD\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"}}');let tu=ec.createInstance();tu.use(e$).init({resources:{en:{translation:tl},zh:{translation:td},ja:{translation:tc}},lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});let th=()=>eJ(void 0,{i18n:tu}),tp=e=>{tu.language!==e&&tu.changeLanguage(e)};function tm(e){let t=(0,a.useRef)(e);t.current=e;let i=(0,a.useCallback)((e,i)=>{var r;let s=null==(r=t.current)?void 0:r.call(t);null==s||s(e,i)},[]),r=(0,a.useCallback)((e,t)=>{i("common_action",{module_id:e,...t})},[i]),s=(0,a.useCallback)((e,t)=>{i("common_expose",{module_id:e,...t})},[i]);return{track:i,trackAction:r,trackExpose:s}}let tf="trae.ai",tg="trae.cn",t_="https://x.com/Trae_ai",ty=`https://forum.${tg}/`,tv=e=>"cn"===e?ty:t_,tb=e=>{let t="cn"===e?tg:tf;return`https://solo.${t}`},tS=e=>{let t="cn"===e?tg:tf,i="cn"===e?"/ide/download":"/download";return`https://www.${t}${i}#solo-download`},tk=()=>`https://www.${tg}/dashboard#account`,tx=()=>`https://www.${tg}/express`,tC=(e,t)=>{if(!t)return e;let i=new URL(e);return t.userId&&i.searchParams.set("user_id",t.userId),t.username&&i.searchParams.set("username",t.username),i.toString()},tw=e=>{let{region:t,type:i,token:r,endpoint:n,locale:c="en",theme:d="light",headers:u,getTrack:h,userInfo:p,successCallback:m,closeCallback:f,noAuthCallback:g,onClose:_,closeSoloCodeModal:y}=e,{t:v}=th(),{trackAction:b,trackExpose:S}=tm(h);(0,a.useEffect)(()=>{tp(c)},[c]),(0,a.useEffect)(()=>{S("shared.solo_code_modal.modal_show")},[S]);let[k,x]=(0,a.useState)("initial"),[C,w]=(0,a.useState)(""),[E,T]=(0,a.useState)("default"),[I,R]=(0,a.useState)(!1),[N,A]=(0,a.useState)(""),[M,P]=(0,a.useState)(!1);(0,a.useEffect)(()=>{"success"===k&&S("shared.solo_code_modal.redeem_success")},[k,S]);let j=(0,a.useCallback)(e=>{w(e),e.length>0&&(T("filled"),A(""))},[]),L=(0,a.useCallback)(async()=>{if(b("shared.solo_code_modal.claim_access"),!C||8!==C.length){A(v("error.9030")),T("error");return}if(!r){null==g||g(),null==_||_("no-auth");return}R(!0);try{var e;let s=await to(n,r,C,u,"lite"===i);if(void 0!==s.code&&0!==s.code){let e=s.code,i=`feedback@mail.${"cn"===t?tg:tf}`,r=v(`error.${e}`,{defaultValue:v("error.default"),email:i});A(r),T("error");return}P(null!=(e=s.get_cn_express)&&e),x("success"),m()}catch(e){A(v("error.network")),T("error")}finally{R(!1)}},[C,r,n,u,v,m,g,_,t,i,b]),D=()=>{b("shared.solo_code_modal.download_lite"),window.open(tC(tS(t),p),"_blank")},O=()=>{b("shared.solo_code_modal.visit_web"),window.open(tC(tb(t),p),"_blank")},F=()=>{b("shared.solo_code_modal.view_benefits"),window.open(tC(tk(),p),"_blank")},U="initial"===k,V="cn"===t&&M,B={productWeb:"cn"===t?"SOLO Web CN":"SOLO Web",productDesktop:"cn"===t?"SOLO Desktop CN":"SOLO Desktop"},z=()=>U?"code":V?"golden-code":"normal-code",W=()=>U?"title.initial":V?"title.successGolden":"title.success",H=()=>U?"description.initial":V?"description.successGolden":"description.success";return(0,s.jsxs)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center font-sans solo-theme","data-theme":d,children:[(0,s.jsx)("div",{className:"solo-modal-overlay",onClick:()=>{null==_||_("close-button"),y()}}),(0,s.jsxs)("div",{className:"solo-modal-content",children:[(0,s.jsx)("button",{onClick:()=>{null==_||_("close-button"),y()},className:"solo-modal-close-button",children:(0,s.jsx)(o.A,{size:16,color:"var(--icon-icon-tertiary)"})}),(0,s.jsxs)("div",{className:"solo-modal-container",children:[(0,s.jsx)("div",{className:"solo-modal-carousel-section",children:(0,s.jsx)("div",{className:"solo-modal-card-wrapper",children:(0,s.jsx)(ti,{imageType:z(),theme:d,region:t})})}),(0,s.jsxs)("div",{className:"solo-modal-content-section",children:[(0,s.jsxs)("div",{className:"solo-modal-content-wrapper",children:[(0,s.jsx)("h1",{className:tr("solo-modal-title",!U&&"solo-modal-title-success"),children:v(W())}),(0,s.jsxs)("p",{className:"solo-modal-description",children:[(0,s.jsx)(eZ,{i18nKey:H(),components:{highlight:(0,s.jsx)("span",{className:"solo-modal-highlight"}),br:(0,s.jsx)("br",{})},values:B}),!U&&V&&v("description.viewBenefits")?(0,s.jsx)("a",{href:tC(tk(),p),target:"_blank",rel:"noopener noreferrer",className:"solo-modal-link",onClick:F,children:v("description.viewBenefits")}):null]})]}),U?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"solo-modal-input-section",children:(0,s.jsx)(tn,{value:C,onChange:j,status:E,onStatusChange:T,errorMessage:N,variant:"light",onSubmit:L})}),(0,s.jsxs)("div",{className:"solo-modal-action-section",children:[(0,s.jsx)("button",{className:"solo-modal-button",onClick:L,disabled:I||8!==C.length,children:I?v("button.claiming"):v("button.claim")}),(0,s.jsxs)("p",{className:"solo-modal-follow-text",children:[(0,s.jsx)("span",{className:"solo-modal-follow-line",children:v(`follow_${t}.text`)}),(0,s.jsx)("a",{href:tC(tv(t),p),target:"_blank",rel:"noopener noreferrer",onClick:()=>b("shared.solo_code_modal.follow_community"),children:v(`follow_${t}.link`)}),v(`follow_${t}.suffix`)]})]})]}):(0,s.jsxs)("div",{className:"solo-modal-success-section",children:["web"===i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{className:"solo-modal-primary-button",onClick:()=>{null==_||_("redeem-success"),y()},children:v("button.continueWeb",B)}),(0,s.jsxs)("button",{className:"solo-modal-secondary-button",onClick:D,children:[v("button.downloadLite",B),(0,s.jsx)(l.A,{className:"solo-modal-external-icon"})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{className:"solo-modal-primary-button",onClick:()=>{null==_||_("redeem-success"),y()},children:v("button.continueLite",B)}),(0,s.jsxs)("button",{className:"solo-modal-secondary-button",onClick:O,children:[v("button.visitWeb",B),(0,s.jsx)(l.A,{className:"solo-modal-external-icon"})]})]}),"cn"!==t||V?null:(0,s.jsxs)("p",{className:"solo-modal-follow-text",children:[v("express.text"),(0,s.jsx)("a",{href:tC(tx(),p),target:"_blank",rel:"noopener noreferrer",onClick:()=>b("shared.solo_code_modal.view_express"),children:v("express.link")})]})]})]})]})]})]})},tE="byted-solo-code-modal-container",tT=null,tI=null;function tR(){tT&&(tT.unmount(),tT=null),tI&&tI.parentNode&&(tI.parentNode.removeChild(tI),tI=null)}function tN(e){let{region:t,type:i,token:r,endpoint:a,locale:o,theme:l,headers:c,acrawlerRegion:d,getTrack:u,userInfo:h,onSuccess:p,onClose:m,onNoAuth:f}=e;e9(null!=d?d:"cn"===t?eq.CN:eq.ROW),tR();let g=document.getElementById(tE);g||((g=document.createElement("div")).id=tE,document.body.appendChild(g)),tI=g;let _=(0,n.createRoot)(g);tT=_;let y=o||("cn"===t?"zh":"en");_.render((0,s.jsx)(tw,{region:t,type:i,token:r,endpoint:a,locale:y,theme:l,headers:c,getTrack:u,userInfo:h,successCallback:()=>{null==p||p()},closeCallback:e=>{null==m||m(e)},noAuthCallback:()=>{null==f||f()},onClose:e=>{"close-button"===e?null==m||m(void 0):"no-auth"===e&&(null==f||f())},closeSoloCodeModal:tR}))}},30007(e,t,i){i.d(t,{Zl:()=>m,oo:()=>p,z1:()=>l});let r="trae-ai",s="trae-ai-cn",n="trae.ai",a="trae.cn",o=e=>{if("cn"===e)return s;if("i18n"===e||"u"{let{state:t,region:i,suggestedTargetId:r}=e||{},s=o(i),n=`https://github.com/apps/${s}/installations/new`,a=new URLSearchParams;t&&a.set("state",t),r&&a.set("suggested_target_id",r);let l=a.toString();return l&&(n+=`?${l}`),n},c="oauth_csrf_state";function d(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i="";for(let r=0;reK,Yh:()=>U1,JC:()=>U9,m9:()=>eQ});var eK=function(e){return e.IDLE="IDLE",e.CONNECTING="CONNECTING",e.RECORDING="RECORDING",e.FINISHING="FINISHING",e.REFINING="REFINING",e.ERROR="ERROR",e}({}),eX=function(e){return e.INTERRUPT="interrupt",e.FINISH_SPEECH_RECOGNITION="FinishSpeechRecognition",e.EXTERNAL_TEXT_TO_LLM="ExternalTextToLLM",e.EXTERNAL_TEXT_TO_SPEECH="ExternalTextToSpeech",e}({}),eY=function(e){return e.BROWSER_NOT_SUPPORTED="BROWSER_NOT_SUPPORTED",e.MIC_PERMISSION_DENIED="MIC_PERMISSION_DENIED",e.CONNECTION_LOST="CONNECTION_LOST",e.CONNECTION_ERROR="CONNECTION_ERROR",e.UNKNOWN="UNKNOWN",e}({});class eJ extends Error{constructor(e,t,i){super(t??e),this.name="RTCVoiceError",this.code=e,this.meta=i??{}}}let e$="http://localhost:3001",eq="Transcription";function eQ(e=e$){return{async startVoiceChat(t){let i=await fetch(`${e}/getScenes?Action=getScenes`,{method:"post",headers:{"content-type":"application/json"},body:JSON.stringify({})});if(!i.ok)throw Error(`[RTCVoice] getToken failed: HTTP ${i.status}`);let r=await i.json(),s=(r?.Result?.scenes||[]).find(e=>e.scene.id===eq);if(!s)throw Error(`[RTCVoice] Scene "${eq}" not found in server response`);let n=await fetch(`${e}/proxy?Action=StartVoiceChat`,{method:"post",headers:{"content-type":"application/json"},body:JSON.stringify({SceneID:eq})});if(!n.ok)throw Error(`[RTCVoice] startAgent failed: HTTP ${n.status}`);let a=await n.json();if(a?.ResponseMetadata?.Error){let e=a.ResponseMetadata.Error;throw Error(`[RTCVoice] StartVoiceChat failed: ${e.Message||e.Code}`)}return{appId:s.rtc.AppId,roomId:s.rtc.RoomId,userId:s.rtc.UserId,token:s.rtc.Token,botName:a?.Result?.AgentUserId||"",taskId:a?.Result?.TaskId||""}},async stopVoiceChat(t){try{let t=await fetch(`${e}/proxy?Action=StopVoiceChat`,{method:"post",headers:{"content-type":"application/json"},body:JSON.stringify({SceneID:eq})});t.ok||t.status}catch(e){}}}}function e0(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(i){if("default"!==i&&!(i in e)){var r=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,r.get?r:{enumerable:!0,get:function(){return t[i]}})}})}),Object.freeze(e)}var e1="u">typeof globalThis?globalThis:"u">typeof window?window:void 0!==i.g?i.g:"u">typeof self?self:{};function e2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function e3(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var i=function e(){if(this instanceof e){var i=[null];return i.push.apply(i,arguments),new(Function.bind.apply(t,i))}return t.apply(this,arguments)};i.prototype=t.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(i,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),i}var e4={exports:{}},e5=function(e){return e&&e.Math===Math&&e},e9=e5("object"==typeof globalThis&&globalThis)||e5("object"==typeof window&&window)||e5("object"==typeof self&&self)||e5("object"==typeof e1&&e1)||e5("object"==typeof e1&&e1)||function(){return this}()||Function("return this")(),e6=function(e){try{return!!e()}catch(e){return!0}},e8=!e6(function(){var e=(function(){}).bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}),e7=e8,te=Function.prototype,tt=te.apply,ti=te.call,tr="object"==typeof Reflect&&Reflect.apply||(e7?ti.bind(tt):function(){return ti.apply(tt,arguments)}),ts=e8,tn=Function.prototype,ta=tn.call,to=ts&&tn.bind.bind(ta,ta),tl=ts?to:function(e){return function(){return ta.apply(e,arguments)}},tc=tl,td=tc({}.toString),tu=tc("".slice),th=function(e){return tu(td(e),8,-1)},tp=th,tm=tl,tf=function(e){if("Function"===tp(e))return tm(e)},tg="object"==typeof document&&document.all,t_=void 0===tg&&void 0!==tg?function(e){return"function"==typeof e||e===tg}:function(e){return"function"==typeof e},ty={},tv=!e6(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),tb=e8,tS=Function.prototype.call,tk=tb?tS.bind(tS):function(){return tS.apply(tS,arguments)},tx={},tC={}.propertyIsEnumerable,tw=Object.getOwnPropertyDescriptor;tx.f=tw&&!tC.call({1:2},1)?function(e){var t=tw(this,e);return!!t&&t.enumerable}:tC;var tE,tT,tI=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},tR=e6,tN=th,tA=Object,tM=tl("".split),tP=tR(function(){return!tA("z").propertyIsEnumerable(0)})?function(e){return"String"===tN(e)?tM(e,""):tA(e)}:tA,tj=function(e){return null==e},tL=tj,tD=TypeError,tO=function(e){if(tL(e))throw new tD("Can't call method on "+e);return e},tF=tP,tU=tO,tV=function(e){return tF(tU(e))},tB=t_,tz=function(e){return"object"==typeof e?null!==e:tB(e)},tW={},tH=tW,tG=e9,tZ=t_,tK=function(e){return tZ(e)?e:void 0},tX=function(e,t){return arguments.length<2?tK(tH[e])||tK(tG[e]):tH[e]&&tH[e][t]||tG[e]&&tG[e][t]},tY=tl({}.isPrototypeOf),tJ=e9.navigator,t$=tJ&&tJ.userAgent,tq=t$?String(t$):"",tQ=e9,t0=tq,t1=tQ.process,t2=tQ.Deno,t3=t1&&t1.versions||t2&&t2.version,t4=t3&&t3.v8;t4&&(tT=(tE=t4.split("."))[0]>0&&tE[0]<4?1:+(tE[0]+tE[1])),!tT&&t0&&(!(tE=t0.match(/Edge\/(\d+)/))||tE[1]>=74)&&(tE=t0.match(/Chrome\/(\d+)/))&&(tT=+tE[1]);var t5=tT,t9=t5,t6=e6,t8=e9.String,t7=!!Object.getOwnPropertySymbols&&!t6(function(){var e=Symbol("symbol detection");return!t8(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&t9&&t9<41}),ie=t7&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,it=tX,ii=t_,ir=tY,is=Object,ia=ie?function(e){return"symbol"==typeof e}:function(e){var t=it("Symbol");return ii(t)&&ir(t.prototype,is(e))},io=String,il=function(e){try{return io(e)}catch(e){return"Object"}},ic=t_,id=il,iu=TypeError,ih=function(e){if(ic(e))return e;throw new iu(id(e)+" is not a function")},ip=ih,im=tj,ig=function(e,t){var i=e[t];return im(i)?void 0:ip(i)},i_=tk,iy=t_,iv=tz,ib=TypeError,iS=function(e,t){var i,r;if("string"===t&&iy(i=e.toString)&&!iv(r=i_(i,e))||iy(i=e.valueOf)&&!iv(r=i_(i,e))||"string"!==t&&iy(i=e.toString)&&!iv(r=i_(i,e)))return r;throw new ib("Can't convert object to primitive value")},ik={exports:{}},ix=!0,iC=e9,iw=Object.defineProperty,iE=function(e,t){try{iw(iC,e,{value:t,configurable:!0,writable:!0})}catch(i){iC[e]=t}return t},iT="__core-js_shared__",iI=ik.exports=e9[iT]||iE(iT,{});(iI.versions||(iI.versions=[])).push({version:"3.39.0",mode:"pure",copyright:"\xa9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"});var iR=ik.exports,iN=iR,iA=function(e,t){return iN[e]||(iN[e]=t||{})},iM=tO,iP=Object,ij=function(e){return iP(iM(e))},iL=ij,iD=tl({}.hasOwnProperty),iO=Object.hasOwn||function(e,t){return iD(iL(e),t)},iF=0,iU=Math.random(),iV=tl(1..toString),iB=function(e){return"Symbol("+(void 0===e?"":e)+")_"+iV(++iF+iU,36)},iz=iA,iW=iO,iH=iB,iG=t7,iZ=ie,iK=e9.Symbol,iX=iz("wks"),iY=iZ?iK.for||iK:iK&&iK.withoutSetter||iH,iJ=function(e){return iW(iX,e)||(iX[e]=iG&&iW(iK,e)?iK[e]:iY("Symbol."+e)),iX[e]},i$=tk,iq=tz,iQ=ia,i0=ig,i1=iS,i2=TypeError,i3=iJ("toPrimitive"),i4=function(e,t){if(!iq(e)||iQ(e))return e;var i,r=i0(e,i3);if(r){if(void 0===t&&(t="default"),!iq(i=i$(r,e,t))||iQ(i))return i;throw new i2("Can't convert object to primitive value")}return void 0===t&&(t="number"),i1(e,t)},i5=ia,i9=function(e){var t=i4(e,"string");return i5(t)?t:t+""},i6=tz,i8=e9.document,i7=i6(i8)&&i6(i8.createElement),re=function(e){return i7?i8.createElement(e):{}},rt=e6,ri=re,rr=!tv&&!rt(function(){return 7!==Object.defineProperty(ri("div"),"a",{get:function(){return 7}}).a}),rs=tk,rn=tx,ra=tI,ro=tV,rl=i9,rc=iO,rd=rr,ru=Object.getOwnPropertyDescriptor;ty.f=tv?ru:function(e,t){if(e=ro(e),t=rl(t),rd)try{return ru(e,t)}catch(e){}if(rc(e,t))return ra(!rs(rn.f,e,t),e[t])};var rh=e6,rp=t_,rm=/#|\.prototype\./,rf=function(e,t){var i=r_[rg(e)];return i===rv||i!==ry&&(rp(t)?rh(t):!!t)},rg=rf.normalize=function(e){return String(e).replace(rm,".").toLowerCase()},r_=rf.data={},ry=rf.NATIVE="N",rv=rf.POLYFILL="P",rb=rf,rS=ih,rk=e8,rx=tf(tf.bind),rC=function(e,t){return rS(e),void 0===t?e:rk?rx(e,t):function(){return e.apply(t,arguments)}},rw={},rE=e6,rT=tv&&rE(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),rI=tz,rR=String,rN=TypeError,rA=function(e){if(rI(e))return e;throw new rN(rR(e)+" is not an object")},rM=rr,rP=rT,rj=rA,rL=i9,rD=TypeError,rO=Object.defineProperty,rF=Object.getOwnPropertyDescriptor,rU="enumerable",rV="configurable",rB="writable";rw.f=tv?rP?function(e,t,i){if(rj(e),t=rL(t),rj(i),"function"==typeof e&&"prototype"===t&&"value"in i&&rB in i&&!i[rB]){var r=rF(e,t);r&&r[rB]&&(e[t]=i.value,i={configurable:rV in i?i[rV]:r[rV],enumerable:rU in i?i[rU]:r[rU],writable:!1})}return rO(e,t,i)}:rO:function(e,t,i){if(rj(e),t=rL(t),rj(i),rM)try{return rO(e,t,i)}catch(e){}if("get"in i||"set"in i)throw new rD("Accessors not supported");return"value"in i&&(e[t]=i.value),e};var rz=rw,rW=tI,rH=tv?function(e,t,i){return rz.f(e,t,rW(1,i))}:function(e,t,i){return e[t]=i,e},rG=e9,rZ=tr,rK=tf,rX=t_,rY=ty.f,rJ=rb,r$=tW,rq=rC,rQ=rH,r0=iO,r1=function(e){var t=function(i,r,s){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(i);case 2:return new e(i,r)}return new e(i,r,s)}return rZ(e,this,arguments)};return t.prototype=e.prototype,t},r2=function(e,t){var i,r,s,n,a,o,l,c,d,u=e.target,h=e.global,p=e.stat,m=e.proto,f=h?rG:p?rG[u]:rG[u]&&rG[u].prototype,g=h?r$:r$[u]||rQ(r$,u,{})[u],_=g.prototype;for(n in t)r=!(i=rJ(h?n:u+(p?".":"#")+n,e.forced))&&f&&r0(f,n),o=g[n],r&&(l=e.dontCallGetSet?(d=rY(f,n))&&d.value:f[n]),a=r&&l?l:t[n],(i||m||typeof o!=typeof a)&&(c=e.bind&&r?rq(a,rG):e.wrap&&r?r1(a):m&&rX(a)?rK(a):a,(e.sham||a&&a.sham||o&&o.sham)&&rQ(c,"sham",!0),rQ(g,n,c),m&&(r0(r$,s=u+"Prototype")||rQ(r$,s,{}),rQ(r$[s],n,a),e.real&&_&&(i||!_[n])&&rQ(_,n,a)))},r3=r2,r4=tv,r5=rw.f;r3({target:"Object",stat:!0,forced:Object.defineProperty!==r5,sham:!r4},{defineProperty:r5});var r9=tW.Object,r6=e4.exports=function(e,t,i){return r9.defineProperty(e,t,i)};r9.defineProperty.sham&&(r6.sham=!0);var r8=e2(e4.exports),r7=th,se=Array.isArray||function(e){return"Array"===r7(e)},st=Math.ceil,si=Math.floor,sr=Math.trunc||function(e){var t=+e;return(t>0?si:st)(t)},ss=function(e){var t=+e;return t!=t||0===t?0:sr(t)},sn=ss,sa=Math.min,so=function(e){var t=sn(e);return t>0?sa(t,0x1fffffffffffff):0},sl=function(e){return so(e.length)},sc=TypeError,sd=0x1fffffffffffff,su=function(e){if(e>sd)throw sc("Maximum allowed index exceeded");return e},sh=tv,sp=rw,sm=tI,sf=function(e,t,i){sh?sp.f(e,t,sm(0,i)):e[t]=i},sg=iJ("toStringTag"),s_={};s_[sg]="z";var sy="[object z]"===String(s_),sv=sy,sb=t_,sS=th,sk=iJ("toStringTag"),sx=Object,sC="Arguments"===sS(function(){return arguments}()),sw=function(e,t){try{return e[t]}catch(e){}},sE=sv?sS:function(e){var t,i,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=sw(t=sx(e),sk))?i:sC?sS(t):"Object"===(r=sS(t))&&sb(t.callee)?"Arguments":r},sT=t_,sI=iR,sR=tl(Function.toString);sT(sI.inspectSource)||(sI.inspectSource=function(e){return sR(e)});var sN=sI.inspectSource,sA=tl,sM=e6,sP=t_,sj=sE,sL=sN,sD=function(){},sO=tX("Reflect","construct"),sF=/^\s*(?:class|function)\b/,sU=sA(sF.exec),sV=!sF.test(sD),sB=function(e){if(!sP(e))return!1;try{return sO(sD,[],e),!0}catch(e){return!1}},sz=function(e){if(!sP(e))return!1;switch(sj(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return sV||!!sU(sF,sL(e))}catch(e){return!0}};sz.sham=!0;var sW=!sO||sM(function(){var e;return sB(sB.call)||!sB(Object)||!sB(function(){e=!0})||e})?sz:sB,sH=se,sG=sW,sZ=tz,sK=iJ("species"),sX=Array,sY=function(e){var t;return sH(e)&&(sG(t=e.constructor)&&(t===sX||sH(t.prototype))||sZ(t)&&null===(t=t[sK]))&&(t=void 0),void 0===t?sX:t},sJ=function(e,t){return new(sY(e))(0===t?0:t)},s$=e6,sq=t5,sQ=iJ("species"),s0=function(e){return sq>=51||!s$(function(){var t=[];return(t.constructor={})[sQ]=function(){return{foo:1}},1!==t[e](Boolean).foo})},s1=r2,s2=e6,s3=se,s4=tz,s5=ij,s9=sl,s6=su,s8=sf,s7=sJ,ne=s0,nt=t5,ni=iJ("isConcatSpreadable"),nr=nt>=51||!s2(function(){var e=[];return e[ni]=!1,e.concat()[0]!==e}),ns=function(e){if(!s4(e))return!1;var t=e[ni];return void 0!==t?!!t:s3(e)};s1({target:"Array",proto:!0,arity:1,forced:!nr||!ne("concat")},{concat:function(e){var t,i,r,s,n,a=s5(this),o=s7(a,0),l=0;for(t=-1,r=arguments.length;to;)if((a=s[o++])!=a)return!0}else for(;n>o;o++)if((e||o in s)&&s[o]===i)return e||o||0;return!e&&-1}},n_={includes:ng(!0),indexOf:ng(!1)},ny={},nv=tl,nb=iO,nS=tV,nk=n_.indexOf,nx=ny,nC=nv([].push),nw=function(e,t){var i,r=nS(e),s=0,n=[];for(i in r)!nb(nx,i)&&nb(r,i)&&nC(n,i);for(;t.length>s;)nb(r,i=t[s++])&&(~nk(n,i)||nC(n,i));return n},nE=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],nT=nw,nI=nE,nR=Object.keys||function(e){return nT(e,nI)},nN=rT,nA=rw,nM=rA,nP=tV,nj=nR;nl.f=tv&&!nN?Object.defineProperties:function(e,t){nM(e);for(var i,r=nP(t),s=nj(t),n=s.length,a=0;n>a;)nA.f(e,i=s[a++],r[i]);return e};var nL,nD=tX("document","documentElement"),nO=iB,nF=iA("keys"),nU=function(e){return nF[e]||(nF[e]=nO(e))},nV=rA,nB=nl,nz=nE,nW=ny,nH=nD,nG=re,nZ=">",nK="<",nX="prototype",nY="script",nJ=nU("IE_PROTO"),n$=function(){},nq=function(e){return nK+nY+nZ+e+nK+"/"+nY+nZ},nQ=function(e){e.write(nq("")),e.close();var t=e.parentWindow.Object;return e=null,t},n0=function(){var e,t=nG("iframe"),i="java"+nY+":";return t.style.display="none",nH.appendChild(t),t.src=String(i),(e=t.contentWindow.document).open(),e.write(nq("document.F=Object")),e.close(),e.F},n1=function(){try{nL=new ActiveXObject("htmlfile")}catch(e){}n1="u">typeof document?document.domain&&nL?nQ(nL):n0():nQ(nL);for(var e=nz.length;e--;)delete n1[nX][nz[e]];return n1()};nW[nJ]=!0;var n2=Object.create||function(e,t){var i;return null!==e?(n$[nX]=nV(e),i=new n$,n$[nX]=null,i[nJ]=e):i=n1(),void 0===t?i:nB.f(i,t)},n3={},n4=nw,n5=nE.concat("length","prototype");n3.f=Object.getOwnPropertyNames||function(e){return n4(e,n5)};var n9={},n6=tl([].slice),n8=th,n7=tV,ae=n3.f,at=n6,ai="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ar=function(e){try{return ae(e)}catch(e){return at(ai)}};n9.f=function(e){return ai&&"Window"===n8(e)?ar(e):ae(n7(e))};var as={};as.f=Object.getOwnPropertySymbols;var an=rH,aa=function(e,t,i,r){return r&&r.enumerable?e[t]=i:an(e,t,i),e},ao=rw,al=function(e,t,i){return ao.f(e,t,i)},ac={};ac.f=iJ;var ad,au,ah,ap=tW,am=iO,af=ac,ag=rw.f,a_=function(e){var t=ap.Symbol||(ap.Symbol={});am(t,e)||ag(t,e,{value:af.f(e)})},ay=tk,av=tX,ab=iJ,aS=aa,ak=function(){var e=av("Symbol"),t=e&&e.prototype,i=t&&t.valueOf,r=ab("toPrimitive");t&&!t[r]&&aS(t,r,function(e){return ay(i,this)},{arity:1})},ax=sE,aC=sy?({}).toString:function(){return"[object "+ax(this)+"]"},aw=sy,aE=rw.f,aT=rH,aI=iO,aR=aC,aN=iJ("toStringTag"),aA=function(e,t,i,r){var s=i?e:e&&e.prototype;s&&(aI(s,aN)||aE(s,aN,{configurable:!0,value:t}),r&&!aw&&aT(s,"toString",aR))},aM=t_,aP=e9.WeakMap,aj=aM(aP)&&/native code/.test(String(aP)),aL=e9,aD=tz,aO=rH,aF=iO,aU=iR,aV=nU,aB=ny,az="Object already initialized",aW=aL.TypeError,aH=aL.WeakMap,aG=function(e){return ah(e)?au(e):ad(e,{})},aZ=function(e){return function(t){var i;if(!aD(t)||(i=au(t)).type!==e)throw new aW("Incompatible receiver, "+e+" required");return i}};if(aj||aU.state){var aK=aU.state||(aU.state=new aH);aK.get=aK.get,aK.has=aK.has,aK.set=aK.set,ad=function(e,t){if(aK.has(e))throw new aW(az);return t.facade=e,aK.set(e,t),t},au=function(e){return aK.get(e)||{}},ah=function(e){return aK.has(e)}}else{var aX=aV("state");aB[aX]=!0,ad=function(e,t){if(aF(e,aX))throw new aW(az);return t.facade=e,aO(e,aX,t),t},au=function(e){return aF(e,aX)?e[aX]:{}},ah=function(e){return aF(e,aX)}}var aY={set:ad,get:au,has:ah,enforce:aG,getterFor:aZ},aJ=rC,a$=tP,aq=ij,aQ=sl,a0=sJ,a1=tl([].push),a2=function(e){var t=1===e,i=2===e,r=3===e,s=4===e,n=6===e,a=7===e,o=5===e||n;return function(l,c,d,u){for(var h,p,m=aq(l),f=a$(m),g=aQ(f),_=aJ(c,d),y=0,v=u||a0,b=t?v(l,g):i||a?v(l,0):void 0;g>y;y++)if((o||y in f)&&(p=_(h=f[y],y,m),e))if(t)b[y]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return y;case 2:a1(b,h)}else switch(e){case 4:return!1;case 7:a1(b,h)}return n?-1:r||s?s:b}},a3={forEach:a2(0),map:a2(1),filter:a2(2),some:a2(3),every:a2(4),find:a2(5),findIndex:a2(6),filterReject:a2(7)},a4=r2,a5=e9,a9=tk,a6=tl,a8=tv,a7=t7,oe=e6,ot=iO,oi=tY,or=rA,os=tV,on=i9,oa=no,oo=tI,ol=n2,oc=nR,od=n3,ou=n9,oh=as,op=ty,om=rw,of=nl,og=tx,o_=aa,oy=al,ov=iA,ob=nU,oS=ny,ok=iB,ox=iJ,oC=ac,ow=a_,oE=ak,oT=aA,oI=aY,oR=a3.forEach,oN=ob("hidden"),oA="Symbol",oM="prototype",oP=oI.set,oj=oI.getterFor(oA),oL=Object[oM],oD=a5.Symbol,oO=oD&&oD[oM],oF=a5.RangeError,oU=a5.TypeError,oV=a5.QObject,oB=op.f,oz=om.f,oW=ou.f,oH=og.f,oG=a6([].push),oZ=ov("symbols"),oK=ov("op-symbols"),oX=ov("wks"),oY=!oV||!oV[oM]||!oV[oM].findChild,oJ=function(e,t,i){var r=oB(oL,t);r&&delete oL[t],oz(e,t,i),r&&e!==oL&&oz(oL,t,r)},o$=a8&&oe(function(){return 7!==ol(oz({},"a",{get:function(){return oz(this,"a",{value:7}).a}})).a})?oJ:oz,oq=function(e,t){var i=oZ[e]=ol(oO);return oP(i,{type:oA,tag:e,description:t}),a8||(i.description=t),i},oQ=function(e,t,i){e===oL&&oQ(oK,t,i),or(e);var r=on(t);return or(i),ot(oZ,r)?(i.enumerable?(ot(e,oN)&&e[oN][r]&&(e[oN][r]=!1),i=ol(i,{enumerable:oo(0,!1)})):(ot(e,oN)||oz(e,oN,oo(1,ol(null))),e[oN][r]=!0),o$(e,r,i)):oz(e,r,i)},o0=function(e,t){or(e);var i=os(t);return oR(oc(i).concat(o5(i)),function(t){a8&&!a9(o2,i,t)||oQ(e,t,i[t])}),e},o1=function(e,t){return void 0===t?ol(e):o0(ol(e),t)},o2=function(e){var t=on(e),i=a9(oH,this,t);return!(this===oL&&ot(oZ,t)&&!ot(oK,t))&&(!(i||!ot(this,t)||!ot(oZ,t)||ot(this,oN)&&this[oN][t])||i)},o3=function(e,t){var i=os(e),r=on(t);if(i!==oL||!ot(oZ,r)||ot(oK,r)){var s=oB(i,r);return!s||!ot(oZ,r)||ot(i,oN)&&i[oN][r]||(s.enumerable=!0),s}},o4=function(e){var t=oW(os(e)),i=[];return oR(t,function(e){ot(oZ,e)||ot(oS,e)||oG(i,e)}),i},o5=function(e){var t=e===oL,i=oW(t?oK:os(e)),r=[];return oR(i,function(e){ot(oZ,e)&&(!t||ot(oL,e))&&oG(r,oZ[e])}),r};a7||(o_(oO=(oD=function(){if(oi(oO,this))throw new oU("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?oa(arguments[0]):void 0,t=ok(e),i=function(e){var r=void 0===this?a5:this;r===oL&&a9(i,oK,e),ot(r,oN)&&ot(r[oN],t)&&(r[oN][t]=!1);var s=oo(1,e);try{o$(r,t,s)}catch(e){if(!(e instanceof oF))throw e;oJ(r,t,s)}};return a8&&oY&&o$(oL,t,{configurable:!0,set:i}),oq(t,e)})[oM],"toString",function(){return oj(this).tag}),o_(oD,"withoutSetter",function(e){return oq(ok(e),e)}),og.f=o2,om.f=oQ,of.f=o0,op.f=o3,od.f=ou.f=o4,oh.f=o5,oC.f=function(e){return oq(ox(e),e)},a8&&oy(oO,"description",{configurable:!0,get:function(){return oj(this).description}})),a4({global:!0,constructor:!0,wrap:!0,forced:!a7,sham:!a7},{Symbol:oD}),oR(oc(oX),function(e){ow(e)}),a4({target:oA,stat:!0,forced:!a7},{useSetter:function(){oY=!0},useSimple:function(){oY=!1}}),a4({target:"Object",stat:!0,forced:!a7,sham:!a8},{create:o1,defineProperty:oQ,defineProperties:o0,getOwnPropertyDescriptor:o3}),a4({target:"Object",stat:!0,forced:!a7},{getOwnPropertyNames:o4}),oE(),oT(oD,oA),oS[oN]=!0;var o9=t7&&!!Symbol.for&&!!Symbol.keyFor,o6=r2,o8=tX,o7=iO,le=no,lt=iA,li=o9,lr=lt("string-to-symbol-registry"),ls=lt("symbol-to-string-registry");o6({target:"Symbol",stat:!0,forced:!li},{for:function(e){var t=le(e);if(o7(lr,t))return lr[t];var i=o8("Symbol")(t);return lr[t]=i,ls[i]=t,i}});var ln=r2,la=iO,lo=ia,ll=il,lc=o9,ld=iA("symbol-to-string-registry");ln({target:"Symbol",stat:!0,forced:!lc},{keyFor:function(e){if(!lo(e))throw TypeError(ll(e)+" is not a symbol");if(la(ld,e))return ld[e]}});var lu=se,lh=t_,lp=th,lm=no,lf=tl([].push),lg=r2,l_=tX,ly=tr,lv=tk,lb=tl,lS=e6,lk=t_,lx=ia,lC=n6,lw=function(e){if(lh(e))return e;if(lu(e)){for(var t=e.length,i=[],r=0;r=t.length)return e.target=null,c0(void 0,!0);switch(e.kind){case"keys":return c0(i,!1);case"values":return c0(t[i],!1)}return c0([i,t[i]],!1)},"values"),c$.Arguments=c$.Array;var c4={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},c5=e9,c9=aA,c6=l$;for(var c8 in c4)c9(c5[c8],c8),c6[c8]=c6.Array;var c7=lJ,de=iJ,dt=rw.f,di=de("metadata"),dr=Function.prototype;void 0===dr[di]&&dt(dr,di,{value:null}),a_("asyncDispose"),a_("dispose"),a_("metadata");var ds=c7,dn=tl,da=tX("Symbol"),dl=da.keyFor,dc=dn(da.prototype.valueOf),dd=da.isRegisteredSymbol||function(e){try{return void 0!==dl(dc(e))}catch(e){return!1}};r2({target:"Symbol",stat:!0},{isRegisteredSymbol:dd});for(var du=iA,dh=tX,dp=tl,dm=ia,df=iJ,dg=dh("Symbol"),d_=dg.isWellKnownSymbol,dy=dh("Object","getOwnPropertyNames"),dv=dp(dg.prototype.valueOf),db=du("wks"),dS=0,dk=dy(dg),dx=dk.length;dS=o?e?"":void 0:(r=dM(n,a))<55296||r>56319||a+1===o||(s=dM(n,a+1))<56320||s>57343?e?dA(n,a):r:e?dP(n,a,a+2):s-56320+(r-55296<<10)+65536}},dL={codeAt:dj(!1),charAt:dj(!0)},dD=dL.charAt,dO=no,dF=aY,dU=cX,dV=cY,dB="String Iterator",dz=dF.set,dW=dF.getterFor(dB);dU(String,"String",function(e){dz(this,{type:dB,string:dO(e),index:0})},function(){var e,t=dW(this),i=t.string,r=t.index;return r>=i.length?dV(void 0,!0):(e=dD(i,r),t.index+=e.length,dV(e,!1))});var dH=e2(ac.f("iterator"));function dG(e){return(dG="function"==typeof dE&&"symbol"==typeof dH?function(e){return typeof e}:function(e){return e&&"function"==typeof dE&&e.constructor===dE&&e!==dE.prototype?"symbol":typeof e})(e)}var dZ=e2(ac.f("toPrimitive"));function dK(e,t){if("object"!=dG(e)||!e)return e;var i=e[dZ];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=dG(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function dX(e){var t=dK(e,"string");return"symbol"==dG(t)?t:t+""}function dY(e,t,i){return(t=dX(t))in e?r8(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var dJ=r2,d$=se,dq=tl([].reverse),dQ=[1,2];dJ({target:"Array",proto:!0,forced:String(dQ)===String(dQ.reverse())},{reverse:function(){return d$(this)&&(this.length=this.length),dq(this)}});var d0=e9,d1=tW,d2=function(e,t){var i=d1[e+"Prototype"],r=i&&i[t];if(r)return r;var s=d0[e],n=s&&s.prototype;return n&&n[t]},d3=d2("Array","reverse"),d4=tY,d5=d3,d9=Array.prototype,d6=e2(function(e){var t=e.reverse;return e===d9||d4(d9,e)&&t===d9.reverse?d5:t}),d8=tz,d7=th,ue=iJ("match"),ut=function(e){var t;return d8(e)&&(void 0!==(t=e[ue])?!!t:"RegExp"===d7(e))},ui=rA,ur=tk,us=iO,un=tY,ua=function(){var e=ui(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},uo=RegExp.prototype,ul=function(e){var t=e.flags;return void 0!==t||"flags"in uo||us(e,"flags")||!un(uo,e)?t:ur(ua,e)},uc=tl,ud=ij,uu=Math.floor,uh=uc("".charAt),up=uc("".replace),um=uc("".slice),uf=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,ug=/\$([$&'`]|\d{1,2})/g,u_=r2,uy=tk,uv=tl,ub=tO,uS=t_,uk=tj,ux=ut,uC=no,uw=ig,uE=ul,uT=function(e,t,i,r,s,n){var a=i+e.length,o=r.length,l=ug;return void 0!==s&&(s=ud(s),l=uf),up(n,l,function(n,l){var c;switch(uh(l,0)){case"$":return"$";case"&":return e;case"`":return um(t,0,i);case"'":return um(t,a);case"<":c=s[um(l,1,-1)];break;default:var d=+l;if(0===d)return n;if(d>o){var u=uu(d/10);return 0===u?n:u<=o?void 0===r[u-1]?uh(l,1):r[u-1]+uh(l,1):n}c=r[d-1]}return void 0===c?"":c})},uI=iJ("replace"),uR=TypeError,uN=uv("".indexOf),uA=uv("".replace),uM=uv("".slice),uP=Math.max;u_({target:"String",proto:!0},{replaceAll:function(e,t){var i,r,s,n,a,o,l,c,d,u=ub(this),h=0,p="";if(!uk(e)){if((i=ux(e))&&!~uN(uC(ub(uE(e))),"g"))throw new uR("`.replaceAll` does not allow non-global regexes");if(r=uw(e,uI))return uy(r,e,u,t);if(i)return uA(uC(u),e,t)}for(s=uC(u),n=uC(e),(a=uS(t))||(t=uC(t)),l=uP(1,o=n.length),c=uN(s,n);-1!==c;)d=a?uC(t(n,c,s)):uT(n,s,c,[],void 0,t),p+=uM(s,h,c)+d,h=c+o,c=c+l>s.length?-1:uN(s,n,c+l);return htypeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"u">typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return u1(hF)}var hV=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function hB(e){return"string"==typeof e&&hV.test(e)}for(var hz=[],hW=0;hW<256;++hW)hz.push((hW+256).toString(16).substr(1));function hH(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(hz[e[t+0]]+hz[e[t+1]]+hz[e[t+2]]+hz[e[t+3]]+"-"+hz[e[t+4]]+hz[e[t+5]]+"-"+hz[e[t+6]]+hz[e[t+7]]+"-"+hz[e[t+8]]+hz[e[t+9]]+"-"+hz[e[t+10]]+hz[e[t+11]]+hz[e[t+12]]+hz[e[t+13]]+hz[e[t+14]]+hz[e[t+15]]).toLowerCase();if(!hB(i))throw TypeError("Stringified UUID is invalid");return i}function hG(e,t,i){var r=(e=e||{}).random||(e.rng||hU)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){i=i||0;for(var s=0;s<16;++s)t[i+s]=r[s];return t}return hH(r)}let hZ=()=>"u"hG(),hX=e=>"number"==typeof e,hY=e=>Function.prototype.toString.call(e).includes("[native code]");function hJ(e){return null==e?"undefined | null":"string"==typeof e?e:JSON.stringify({contentHint:e.contentHint,enabled:e.enabled,id:e.id,kind:e.kind,label:e.label,muted:e.muted,readyState:e.readyState})}function h$(e){return null==e?"undefined | null":"string"==typeof e?e:JSON.stringify({id:e.id,active:e.active})}function hq(e){return null==e?"undefined | null":"string"==typeof e?e:JSON.stringify({track:hJ(e.track)})}function hQ(e){return null==e?"undefined | null":"string"==typeof e?e:JSON.stringify({track:hJ(e.track)})}function h0(e){return null==e?"undefined | null":"string"==typeof e?e:JSON.stringify({currentDirection:e.currentDirection,direction:e.direction,mid:e.mid,stopped:e.stopped,receiver:hQ(e.receiver),sender:hq(e.sender)})}let h1="@byted/ve-rtc",h2="@byted/ve-rtc",h3="@byted/ve-rtc-cache-size";class h4{constructor(){dY(this,"storeKey",void 0),dY(this,"logLevel",void 0),dY(this,"LogfileSize",void 0),dY(this,"db",void 0),dY(this,"logId",void 0),dY(this,"cacheLog",void 0),dY(this,"cachedSize",void 0),dY(this,"preCacheTime",void 0),dY(this,"timer",void 0),dY(this,"_getSize",e=>new Blob(e).size/1048576),this.storeKey="",this.logId=1,this.cacheLog="",this.logLevel="none",this.LogfileSize=100,this._createStore()}_createStore(){if(hZ()||!window.indexedDB)return;let e=indexedDB.open(h1);e.onupgradeneeded=()=>{e.result.createObjectStore(h2);try{localStorage.removeItem(h3)}catch(e){}},e.onerror=e=>{},e.onsuccess=()=>{this.db=e.result,this._getCachedSize()}}_getCachedSize(){try{let e=localStorage.getItem(h3);e?this.cachedSize=Number(e):this.values().then(e=>{this.cachedSize=this._getSize(e),this._setCachedSize()})}catch(e){}}_setCachedSize(){try{localStorage.setItem(h3,"".concat(this.cachedSize))}catch(e){}}_getStore(e){if(this.db)return this.db.transaction(h2,e).objectStore(h2)}set(e){return new Promise((t,i)=>{if("none"===this.logLevel)return t();if(e&&this.preCacheTime&&this.preCacheTime-Date.now()<1e3)return this.cacheLog+="\n\n".concat(this.logId,": ").concat(e),this.logId++,this.timer||(this.timer=setTimeout(()=>{this.set("")},1e3-(this.preCacheTime-Date.now()))),t();clearTimeout(this.timer),this.timer=null;let r=this._getStore("readwrite");if(!r)return i("get store fail");this.cachedSize&&this.cachedSize>this.LogfileSize&&this.keyEarliest().then(e=>{this.get(e).then(t=>{this.del(e).then(()=>{this.cachedSize=this.cachedSize-this._getSize(["".concat(t)]),this._setCachedSize()})})});let s=r.get(this.storeKey);s.onsuccess=()=>{try{let i="".concat(s.result||"").concat(this.cacheLog),n=e?"".concat(i?"\n\n":"").concat(this.logId,": ").concat(e):"";r.put("".concat(i).concat(n),this.storeKey),e&&this.logId++,this.cacheLog="",this.cachedSize=(this.cachedSize||0)+this._getSize(["".concat(this.cacheLog).concat(n)]),this._setCachedSize(),this.preCacheTime=Date.now(),t()}catch(t){if(!e)return i(t);this.cacheLog+="\n\n".concat(this.logId,": ").concat(e),this.logId++,i(t)}},s.onerror=t=>{if(!e)return i(t);this.cacheLog+="\n\n".concat(this.logId,": ").concat(e),this.logId++,i(t)}})}get(e){return new Promise((t,i)=>{let r=this._getStore("readonly");if(!r)return i();let s=r.get(e);s.onsuccess=()=>{t(s.result)},s.onerror=e=>{i(e)}})}del(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.storeKey;return new Promise((t,i)=>{let r=this._getStore("readwrite");if(!r)return i();let s=r.delete(e);s.onsuccess=()=>t(s.result),s.onerror=e=>i(e)})}keyEarliest(){return this.keys().then(e=>{let t,i=Date.now();return e.forEach(e=>{if(!e||!e.length)return;let r=e.split("-")[0];Number(r){let i=this._getStore("readonly");if(!i)return t();if(i.getAllKeys){let r=i.getAllKeys();return r.onsuccess=()=>{e(r.result)},void(r.onerror=()=>{t()})}let r=[];i.openCursor().onsuccess=function(){this.result&&(r.push(this.result.key),this.result.continue())},i.transaction.oncomplete=()=>e(r)})}values(){return new Promise((e,t)=>{let i=this._getStore("readonly");if(!i)return t();if(i.getAll){let r=i.getAll();return r.onsuccess=()=>{e(r.result)},void(r.onerror=()=>{t()})}let r=[];i.openCursor().onsuccess=function(){this.result&&(r.push(this.result.value),this.result.continue())},i.transaction.oncomplete=()=>e(r)})}download(e){e=e||this.storeKey,this.get(e).then(t=>{let i=document.createElement("a");i.download="".concat(e,".txt"),i.href="data:text/paint;utf-8,".concat(t||""),i.click()})}}var h5=new h4;let h9=class{constructor(){dY(this,"_all",{})}on(e,t){let i=this._all[e];i?i.push(t):this._all[e]=[t]}once(e,t){var i=this;let r=function(){t(...arguments),i.off(e,r)};this.on(e,r)}off(e,t){let i=this._all[e];null==i||i.splice(i.indexOf(t)>>>0,1)}emit(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;re(...i))}safeEmit(e){try{for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;r1?arguments[1]:void 0)}});var pa=d2("Array","filter"),po=tY,pl=pa,pc=Array.prototype,pd=e2(function(e){var t=e.filter;return e===pc||po(pc,e)&&t===pc.filter?pl:t}),pu={exports:{}},ph=r2,pp=e6,pm=tV,pf=ty.f,pg=tv;ph({target:"Object",stat:!0,forced:!pg||pp(function(){pf(1)}),sham:!pg},{getOwnPropertyDescriptor:function(e,t){return pf(pm(e),t)}});var p_=tW.Object,py=pu.exports=function(e,t){return p_.getOwnPropertyDescriptor(e,t)};p_.getOwnPropertyDescriptor.sham&&(py.sham=!0);var pv=e2(pu.exports),pb=se,pS=TypeError,pk=Object.getOwnPropertyDescriptor,px=tv&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}()?function(e,t){if(pb(e)&&!pk(e,"length").writable)throw new pS("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t},pC=r2,pw=ij,pE=sl,pT=px,pI=su,pR=e6(function(){return 0x100000001!==[].push.call({length:0x100000000},1)}),pN=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}};pC({target:"Array",proto:!0,arity:1,forced:pR||!pN()},{push:function(e){var t=pw(this),i=pE(t),r=arguments.length;pI(i+r);for(var s=0;s1?arguments[1]:void 0)};r2({target:"Array",proto:!0,forced:[].forEach!==pU},{forEach:pU});var pV=d2("Array","forEach"),pB=sE,pz=iO,pW=tY,pH=pV,pG=Array.prototype,pZ={DOMTokenList:!0,NodeList:!0},pK=e2(function(e){var t=e.forEach;return e===pG||pW(pG,e)&&t===pG.forEach||pz(pZ,pB(e))?pH:t}),pX=tX,pY=n3,pJ=as,p$=rA,pq=tl([].concat),pQ=pX("Reflect","ownKeys")||function(e){var t=pY.f(p$(e)),i=pJ.f;return i?pq(t,i(e)):t},p0=pQ,p1=tV,p2=ty,p3=sf;r2({target:"Object",stat:!0,sham:!tv},{getOwnPropertyDescriptors:function(e){for(var t,i,r=p1(e),s=p2.f,n=p0(r),a={},o=0;n.length>o;)void 0!==(i=s(r,t=n[o++]))&&p3(a,t,i);return a}});var p4=e2(tW.Object.getOwnPropertyDescriptors),p5={exports:{}},p9=r2,p6=tv,p8=nl.f;p9({target:"Object",stat:!0,forced:Object.defineProperties!==p8,sham:!p6},{defineProperties:p8});var p7=tW.Object,me=p5.exports=function(e,t){return p7.defineProperties(e,t)};p7.defineProperties.sham&&(me.sham=!0);var mt=e2(p5.exports);function mi(e,t){var i=pi(e);if(pr){var r=pr(e);t&&(r=pd(r).call(r,function(t){return pv(e,t).enumerable})),pL(i).apply(i,r)}return i}function mr(e){for(var t=1;t0&&ms(l)?(c=mn(l),d=ml(e,t,l,c,d,n-1)-1):(ma(d+1),e[d]=l),d++),u++;return d},mc=ml,md=ij,mu=sl,mh=ss,mp=sJ;r2({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=md(this),i=mu(t),r=mp(t,0);return r.length=mc(r,t,t,i,0,void 0===e?1:mh(e)),r}});var mm=d2("Array","flat"),mf=tY,mg=mm,m_=Array.prototype,my=e2(function(e){var t=e.flat;return e===m_||mf(m_,e)&&t===m_.flat?mg:t}),mv={};!function(e){var t="u">typeof Uint8Array&&"u">typeof Uint16Array&&"u">typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw TypeError(r+"must be non-object");for(var s in r)i(r,s)&&(e[s]=r[s])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,i,r,s){if(t.subarray&&e.subarray)e.set(t.subarray(i,i+r),s);else for(var n=0;n=0;)e[t]=0}var mR=0,mN=1,mA=2,mM=3,mP=258,mj=29,mL=256,mD=286,mO=30,mF=19,mU=573,mV=15,mB=16,mz=7,mW=256,mH=16,mG=17,mZ=18,mK=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],mX=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],mY=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],mJ=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],m$=512,mq=Array(576);mI(mq);var mQ=Array(2*mO);mI(mQ);var m0=Array(m$);mI(m0);var m1=Array(mP-mM+1);mI(m1);var m2=Array(mj);mI(m2);var m3,m4,m5,m9=Array(mO);function m6(e,t,i,r,s){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=r,this.max_length=s,this.has_stree=e&&e.length}function m8(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function m7(e){return e<256?m0[e]:m0[256+(e>>>7)]}function fe(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function ft(e,t,i){e.bi_valid>mB-i?(e.bi_buf|=t<>mB-e.bi_valid,e.bi_valid+=i-mB):(e.bi_buf|=t<>>=1,i<<=1;while(--t>0);return i>>>1}function fs(e){16===e.bi_valid?(fe(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}function fn(e,t){var i,r,s,n,a,o,l=t.dyn_tree,c=t.max_code,d=t.stat_desc.static_tree,u=t.stat_desc.has_stree,h=t.stat_desc.extra_bits,p=t.stat_desc.extra_base,m=t.stat_desc.max_length,f=0;for(n=0;n<=mV;n++)e.bl_count[n]=0;for(l[2*e.heap[e.heap_max]+1]=0,i=e.heap_max+1;im&&(n=m,f++),l[2*r+1]=n,r>c||(e.bl_count[n]++,a=0,r>=p&&(a=h[r-p]),o=l[2*r],e.opt_len+=o*(n+a),u&&(e.static_len+=o*(d[2*r+1]+a)));if(0!==f){do{for(n=m-1;0===e.bl_count[n];)n--;e.bl_count[n]--,e.bl_count[n+1]+=2,e.bl_count[m]--,f-=2}while(f>0);for(n=m;0!==n;n--)for(r=e.bl_count[n];0!==r;)(s=e.heap[--i])>c||(l[2*s+1]!==n&&(e.opt_len+=(n-l[2*s+1])*l[2*s],l[2*s+1]=n),r--)}}function fa(e,t,i){var r,s,n=Array(mV+1),a=0;for(r=1;r<=mV;r++)n[r]=a=a+i[r-1]<<1;for(s=0;s<=t;s++){var o=e[2*s+1];0!==o&&(e[2*s]=fr(n[o]++,o))}}function fo(){var e,t,i,r,s,n=Array(mV+1);for(i=0,r=0;r>=7;r8?fe(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function fd(e,t,i,r){fc(e),r&&(fe(e,i),fe(e,~i)),mx.arraySet(e.pending_buf,e.window,t,i,e.pending),e.pending+=i}function fu(e,t,i,r){var s=2*t,n=2*i;return e[s]>1;i>=1;i--)fh(e,n,i);s=l;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],fh(e,n,1),r=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=r,n[2*s]=n[2*i]+n[2*r],e.depth[s]=(e.depth[i]>=e.depth[r]?e.depth[i]:e.depth[r])+1,n[2*i+1]=n[2*r+1]=s,e.heap[1]=s++,fh(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],fn(e,t),fa(n,c,e.bl_count)}function ff(e,t,i){var r,s,n=-1,a=t[1],o=0,l=7,c=4;for(0===a&&(l=138,c=3),t[2*(i+1)+1]=65535,r=0;r<=i;r++)s=a,a=t[2*(r+1)+1],++o=3&&0===e.bl_tree[2*mJ[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}function fy(e,t,i,r){var s;for(ft(e,t-257,5),ft(e,i-1,5),ft(e,r-4,4),s=0;s>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return mw;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return mE;for(t=32;t0?(e.strm.data_type===mT&&(e.strm.data_type=fv(e)),fm(e,e.l_desc),fm(e,e.d_desc),a=f_(e),s=e.opt_len+3+7>>>3,(n=e.static_len+3+7>>>3)<=s&&(s=n)):s=n=i+5,i+4<=s&&-1!==t?fS(e,t,i,r):e.strategy===mC||n===s?(ft(e,(mN<<1)+ +!!r,3),fp(e,mq,mQ)):(ft(e,(mA<<1)+ +!!r,3),fy(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),fp(e,e.dyn_ltree,e.dyn_dtree)),fl(e),r&&fc(e)}function fC(e,t,i){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&i,e.last_lit++,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(m1[i]+mL+1)]++,e.dyn_dtree[2*m7(t)]++),e.last_lit===e.lit_bufsize-1}function fw(e,t,i,r){for(var s=65535&e,n=e>>>16&65535,a=0;0!==i;){i-=a=i>2e3?2e3:i;do n=n+(s=s+t[r++]|0)|0;while(--a);s%=65521,n%=65521}return s|n<<16}mk._tr_init=function(e){fb||(fo(),fb=!0),e.l_desc=new m8(e.dyn_ltree,m3),e.d_desc=new m8(e.dyn_dtree,m4),e.bl_desc=new m8(e.bl_tree,m5),e.bi_buf=0,e.bi_valid=0,fl(e)},mk._tr_stored_block=fS,mk._tr_flush_block=fx,mk._tr_tally=fC,mk._tr_align=fk;var fE,fT=fw,fI=function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var r=0;r<8;r++)e=1&e?0xedb88320^e>>>1:e>>>1;t[i]=e}return t}(),fR=function(e,t,i,r){var s=fI,n=r+i;e^=-1;for(var a=r;a>>8^s[255&(e^t[a])];return~e},fN={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},fA=mv,fM=mk,fP=fT,fj=fR,fL=fN,fD=0,fO=1,fF=3,fU=4,fV=5,fB=0,fz=1,fW=-2,fH=-3,fG=-5,fZ=-1,fK=1,fX=2,fY=3,fJ=4,f$=0,fq=2,fQ=8,f0=9,f1=15,f2=8,f3=286,f4=30,f5=19,f9=573,f6=15,f8=3,f7=258,ge=262,gt=32,gi=42,gr=69,gs=73,gn=91,ga=103,go=113,gl=666,gc=1,gd=2,gu=3,gh=4,gp=3;function gm(e,t){return e.msg=fL[t],t}function gf(e){return(e<<1)-9*(e>4)}function gg(e){for(var t=e.length;--t>=0;)e[t]=0}function g_(e){var t=e.state,i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(fA.arraySet(e.output,t.pending_buf,t.pending_out,i,e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))}function gy(e,t){fM._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,g_(e.strm)}function gv(e,t){e.pending_buf[e.pending++]=t}function gb(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function gS(e,t,i,r){var s=e.avail_in;return s>r&&(s=r),0===s?0:(e.avail_in-=s,fA.arraySet(t,e.input,e.next_in,s,i),1===e.state.wrap?e.adler=fP(e.adler,t,s,i):2===e.state.wrap&&(e.adler=fj(e.adler,t,s,i)),e.next_in+=s,e.total_in+=s,s)}function gk(e,t){var i,r,s=e.max_chain_length,n=e.strstart,a=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-ge?e.strstart-(e.w_size-ge):0,c=e.window,d=e.w_mask,u=e.prev,h=e.strstart+f7,p=c[n+a-1],m=c[n+a];e.prev_length>=e.good_match&&(s>>=2),o>e.lookahead&&(o=e.lookahead);do if(c[(i=t)+a]===m&&c[i+a-1]===p&&c[i]===c[n]&&c[++i]===c[n+1]){n+=2,i++;do;while(c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&na){if(e.match_start=t,a=r,r>=o)break;p=c[n+a-1],m=c[n+a]}}while((t=u[t&d])>l&&0!=--s);return a<=e.lookahead?a:e.lookahead}function gx(e){var t,i,r,s,n,a=e.w_size;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=a+(a-ge)){fA.arraySet(e.window,e.window,a,a,0),e.match_start-=a,e.strstart-=a,e.block_start-=a,t=i=e.hash_size;do r=e.head[--t],e.head[t]=r>=a?r-a:0;while(--i);t=i=a;do r=e.prev[--t],e.prev[t]=r>=a?r-a:0;while(--i);s+=a}if(0===e.strm.avail_in)break;if(i=gS(e.strm,e.window,e.strstart+e.lookahead,s),e.lookahead+=i,e.lookahead+e.insert>=f8)for(n=e.strstart-e.insert,e.ins_h=e.window[n],e.ins_h=(e.ins_h<=f8&&(e.ins_h=(e.ins_h<=f8)if(r=fM._tr_tally(e,e.strstart-e.match_start,e.match_length-f8),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=f8){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<=f8&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=f8-1)),e.prev_length>=f8&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-f8,r=fM._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-f8),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=s&&(e.ins_h=(e.ins_h<=f8&&e.strstart>0&&(r=a[s=e.strstart-1])===a[++s]&&r===a[++s]&&r===a[++s]){n=e.strstart+f7;do;while(r===a[++s]&&r===a[++s]&&r===a[++s]&&r===a[++s]&&r===a[++s]&&r===a[++s]&&r===a[++s]&&r===a[++s]&&se.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=f8?(i=fM._tr_tally(e,1,e.match_length-f8),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=fM._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(gy(e,!1),0===e.strm.avail_out))return gc}return e.insert=0,t===fU?(gy(e,!0),0===e.strm.avail_out?gu:gh):e.last_lit&&(gy(e,!1),0===e.strm.avail_out)?gc:gd}function gT(e,t){for(var i;;){if(0===e.lookahead&&(gx(e),0===e.lookahead)){if(t===fD)return gc;break}if(e.match_length=0,i=fM._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(gy(e,!1),0===e.strm.avail_out))return gc}return e.insert=0,t===fU?(gy(e,!0),0===e.strm.avail_out?gu:gh):e.last_lit&&(gy(e,!1),0===e.strm.avail_out)?gc:gd}function gI(e,t,i,r,s){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=r,this.func=s}function gR(e){e.window_size=2*e.w_size,gg(e.head),e.max_lazy_match=fE[e.level].max_lazy,e.good_match=fE[e.level].good_length,e.nice_match=fE[e.level].nice_length,e.max_chain_length=fE[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=f8-1,e.match_available=0,e.ins_h=0}function gN(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=fQ,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new fA.Buf16(2*f9),this.dyn_dtree=new fA.Buf16(2*(2*f4+1)),this.bl_tree=new fA.Buf16(2*(2*f5+1)),gg(this.dyn_ltree),gg(this.dyn_dtree),gg(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new fA.Buf16(f6+1),this.heap=new fA.Buf16(2*f3+1),gg(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new fA.Buf16(2*f3+1),gg(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function gA(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=fq,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?gi:go,e.adler=+(2!==t.wrap),t.last_flush=fD,fM._tr_init(t),fB):gm(e,fW)}function gM(e){var t=gA(e);return t===fB&&gR(e.state),t}function gP(e,t){return e&&e.state?2!==e.state.wrap?fW:(e.state.gzhead=t,fB):fW}function gj(e,t,i,r,s,n){if(!e)return fW;var a=1;if(t===fZ&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),s<1||s>f0||i!==fQ||r<8||r>15||t<0||t>9||n<0||n>fJ)return gm(e,fW);8===r&&(r=9);var o=new gN;return e.state=o,o.strm=e,o.wrap=a,o.gzhead=null,o.w_bits=r,o.w_size=1<fV||t<0)return e?gm(e,fW):fW;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===gl&&t!==fU)return gm(e,0===e.avail_out?fG:fW);if(r.strm=e,i=r.last_flush,r.last_flush=t,r.status===gi)if(2===r.wrap)e.adler=0,gv(r,31),gv(r,139),gv(r,8),r.gzhead?(gv(r,+!!r.gzhead.text+2*!!r.gzhead.hcrc+4*!!r.gzhead.extra+8*!!r.gzhead.name+16*!!r.gzhead.comment),gv(r,255&r.gzhead.time),gv(r,r.gzhead.time>>8&255),gv(r,r.gzhead.time>>16&255),gv(r,r.gzhead.time>>24&255),gv(r,9===r.level?2:4*(r.strategy>=fX||r.level<2)),gv(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(gv(r,255&r.gzhead.extra.length),gv(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=fj(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=gr):(gv(r,0),gv(r,0),gv(r,0),gv(r,0),gv(r,0),gv(r,9===r.level?2:4*(r.strategy>=fX||r.level<2)),gv(r,gp),r.status=go);else{var a=fQ+(r.w_bits-8<<4)<<8;a|=(r.strategy>=fX||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(a|=gt),a+=31-a%31,r.status=go,gb(r,a),0!==r.strstart&&(gb(r,e.adler>>>16),gb(r,65535&e.adler)),e.adler=1}if(r.status===gr)if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(e.adler=fj(e.adler,r.pending_buf,r.pending-s,s)),g_(e),s=r.pending,r.pending!==r.pending_buf_size));)gv(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(e.adler=fj(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=gs)}else r.status=gs;if(r.status===gs)if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=fj(e.adler,r.pending_buf,r.pending-s,s)),g_(e),s=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindexs&&(e.adler=fj(e.adler,r.pending_buf,r.pending-s,s)),0===n&&(r.gzindex=0,r.status=gn)}else r.status=gn;if(r.status===gn)if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=fj(e.adler,r.pending_buf,r.pending-s,s)),g_(e),s=r.pending,r.pending===r.pending_buf_size)){n=1;break}n=r.gzindexs&&(e.adler=fj(e.adler,r.pending_buf,r.pending-s,s)),0===n&&(r.status=ga)}else r.status=ga;if(r.status===ga&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&g_(e),r.pending+2<=r.pending_buf_size&&(gv(r,255&e.adler),gv(r,e.adler>>8&255),e.adler=0,r.status=go)):r.status=go),0!==r.pending){if(g_(e),0===e.avail_out)return r.last_flush=-1,fB}else if(0===e.avail_in&&gf(t)<=gf(i)&&t!==fU)return gm(e,fG);if(r.status===gl&&0!==e.avail_in)return gm(e,fG);if(0!==e.avail_in||0!==r.lookahead||t!==fD&&r.status!==gl){var o=r.strategy===fX?gT(r,t):r.strategy===fY?gE(r,t):fE[r.level].func(r,t);if(o!==gu&&o!==gh||(r.status=gl),o===gc||o===gu)return 0===e.avail_out&&(r.last_flush=-1),fB;if(o===gd&&(t===fO?fM._tr_align(r):t!==fV&&(fM._tr_stored_block(r,0,0,!1),t===fF&&(gg(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),g_(e),0===e.avail_out))return r.last_flush=-1,fB}return t!==fU?fB:r.wrap<=0?fz:(2===r.wrap?(gv(r,255&e.adler),gv(r,e.adler>>8&255),gv(r,e.adler>>16&255),gv(r,e.adler>>24&255),gv(r,255&e.total_in),gv(r,e.total_in>>8&255),gv(r,e.total_in>>16&255),gv(r,e.total_in>>24&255)):(gb(r,e.adler>>>16),gb(r,65535&e.adler)),g_(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?fB:fz)}function gO(e){var t;return e&&e.state?(t=e.state.status)!==gi&&t!==gr&&t!==gs&&t!==gn&&t!==ga&&t!==go&&t!==gl?gm(e,fW):(e.state=null,t===go?gm(e,fH):fB):fW}function gF(e,t){var i,r,s,n,a,o,l,c,d=t.length;if(!e||!e.state||2===(n=(i=e.state).wrap)||1===n&&i.status!==gi||i.lookahead)return fW;for(1===n&&(e.adler=fP(e.adler,t,d,0)),i.wrap=0,d>=i.w_size&&(0===n&&(gg(i.head),i.strstart=0,i.block_start=0,i.insert=0),c=new fA.Buf8(i.w_size),fA.arraySet(c,t,d-i.w_size,i.w_size,0),t=c,d=i.w_size),a=e.avail_in,o=e.next_in,l=e.input,e.avail_in=d,e.next_in=0,e.input=t,gx(i);i.lookahead>=f8;){r=i.strstart,s=i.lookahead-(f8-1);do i.ins_h=(i.ins_h<e.pending_buf_size-5&&(i=e.pending_buf_size-5);;){if(e.lookahead<=1){if(gx(e),0===e.lookahead&&t===fD)return gc;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+i;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,gy(e,!1),0===e.strm.avail_out)||e.strstart-e.block_start>=e.w_size-ge&&(gy(e,!1),0===e.strm.avail_out))return gc}return e.insert=0,t===fU?(gy(e,!0),0===e.strm.avail_out?gu:gh):(e.strstart>e.block_start&&(gy(e,!1),e.strm.avail_out),gc)}),new gI(4,4,8,4,gC),new gI(4,5,16,8,gC),new gI(4,6,32,32,gC),new gI(4,4,16,16,gw),new gI(8,16,32,32,gw),new gI(8,16,128,128,gw),new gI(8,32,128,256,gw),new gI(32,128,258,1024,gw),new gI(32,258,258,4096,gw)],mS.deflateInit=gL,mS.deflateInit2=gj,mS.deflateReset=gM,mS.deflateResetKeep=gA,mS.deflateSetHeader=gP,mS.deflate=gD,mS.deflateEnd=gO,mS.deflateSetDictionary=gF,mS.deflateInfo="pako deflate (from Nodeca project)";var gU={},gV=mv,gB=!0,gz=!0;try{String.fromCharCode.apply(null,[0])}catch(e){gB=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){gz=!1}for(var gW=new gV.Buf8(256),gH=0;gH<256;gH++)gW[gH]=gH>=252?6:gH>=248?5:gH>=240?4:gH>=224?3:gH>=192?2:1;function gG(e,t){if(t<65534&&(e.subarray&&gz||!e.subarray&&gB))return String.fromCharCode.apply(null,gV.shrinkBuf(e,t));for(var i="",r=0;r>>6:(i<65536?t[n++]=224|i>>>12:(t[n++]=240|i>>>18,t[n++]=128|i>>>12&63),t[n++]=128|i>>>6&63),t[n++]=128|63&i);return t},gU.buf2binstring=function(e){return gG(e,e.length)},gU.binstring2buf=function(e){for(var t=new gV.Buf8(e.length),i=0,r=t.length;i4)o[r++]=65533,i+=n-1;else{for(s&=2===n?31:3===n?15:7;n>1&&i1?o[r++]=65533:s<65536?o[r++]=s:(s-=65536,o[r++]=55296|s>>10&1023,o[r++]=56320|1023&s)}return gG(o,r)},gU.utf8border=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;i>=0&&128==(192&e[i]);)i--;return i<0||0===i?t:i+gW[e[i]]>t?i:t};var gK=gZ,gX=mS,gY=mv,gJ=gU,g$=fN,gq=gK,gQ=Object.prototype.toString,g0=0,g1=4,g2=0,g3=1,g4=2,g5=-1,g9=0,g6=8;function g8(e){if(!(this instanceof g8))return new g8(e);this.options=gY.assign({level:g5,method:g6,chunkSize:16384,windowBits:15,memLevel:8,strategy:g9,to:""},e||{});var t,i=this.options;i.raw&&i.windowBits>0?i.windowBits=-i.windowBits:i.gzip&&i.windowBits>0&&i.windowBits<16&&(i.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new gq,this.strm.avail_out=0;var r=gX.deflateInit2(this.strm,i.level,i.method,i.windowBits,i.memLevel,i.strategy);if(r!==g2)throw Error(g$[r]);if(i.header&&gX.deflateSetHeader(this.strm,i.header),i.dictionary){if(t="string"==typeof i.dictionary?gJ.string2buf(i.dictionary):"[object ArrayBuffer]"===gQ.call(i.dictionary)?new Uint8Array(i.dictionary):i.dictionary,(r=gX.deflateSetDictionary(this.strm,t))!==g2)throw Error(g$[r]);this._dict_set=!0}}function g7(e,t){var i=new g8(t);if(i.push(e,!0),i.err)throw i.msg||g$[i.err];return i.result}function _e(e,t){return(t=t||{}).raw=!0,g7(e,t)}function _t(e,t){return(t=t||{}).gzip=!0,g7(e,t)}g8.prototype.push=function(e,t){var i,r,s=this.strm,n=this.options.chunkSize;if(this.ended)return!1;r=t===~~t?t:!0===t?g1:g0,"string"==typeof e?s.input=gJ.string2buf(e):"[object ArrayBuffer]"===gQ.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new gY.Buf8(n),s.next_out=0,s.avail_out=n),(i=gX.deflate(s,r))!==g3&&i!==g2)return this.onEnd(i),this.ended=!0,!1;0!==s.avail_out&&(0!==s.avail_in||r!==g1&&r!==g4)||("string"===this.options.to?this.onData(gJ.buf2binstring(gY.shrinkBuf(s.output,s.next_out))):this.onData(gY.shrinkBuf(s.output,s.next_out)))}while((s.avail_in>0||0===s.avail_out)&&i!==g3);return r===g1?(i=gX.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===g2):r!==g4||(this.onEnd(g2),s.avail_out=0,!0)},g8.prototype.onData=function(e){this.chunks.push(e)},g8.prototype.onEnd=function(e){e===g2&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=gY.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},mb.Deflate=g8,mb.deflate=g7,mb.deflateRaw=_e,mb.gzip=_t;var _i={},_r=tY,_s=ul,_n=RegExp.prototype,_a=e2(function(e){return e===_n||_r(_n,e)?_s(e):e.flags}),_o={},_l=30,_c=12,_d=mv,_u=15,_h=852,_p=592,_m=0,_f=1,_g=2,__=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],_y=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],_v=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],_b=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],_S=mv,_k=fT,_x=fR,_C=function(e,t){var i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S,k,x,C,w,E;i=e.state,r=e.next_in,w=e.input,s=r+(e.avail_in-5),n=e.next_out,E=e.output,a=n-(t-e.avail_out),o=n+(e.avail_out-257),l=i.dmax,c=i.wsize,d=i.whave,u=i.wnext,h=i.window,p=i.hold,m=i.bits,f=i.lencode,g=i.distcode,_=(1<>>=b=v>>>24,m-=b,0==(b=v>>>16&255))E[n++]=65535&v;else{if(!(16&b)){if(64&b){if(32&b){i.mode=_c;break e}e.msg="invalid literal/length code",i.mode=_l;break e}v=f[(65535&v)+(p&(1<>>=b,m-=b),m<15&&(p+=w[r++]<>>=b=v>>>24,m-=b,16&(b=v>>>16&255)){if(k=65535&v,m<(b&=15)&&(p+=w[r++]<l){e.msg="invalid distance too far back",i.mode=_l;break e}if(p>>>=b,m-=b,k>(b=n-a)){if((b=k-b)>d&&i.sane){e.msg="invalid distance too far back",i.mode=_l;break e}if(x=0,C=h,0===u){if(x+=c-b,b2;)E[n++]=C[x++],E[n++]=C[x++],E[n++]=C[x++],S-=3;S&&(E[n++]=C[x++],S>1&&(E[n++]=C[x++]))}else{x=n-k;do E[n++]=E[x++],E[n++]=E[x++],E[n++]=E[x++],S-=3;while(S>2);S&&(E[n++]=E[x++],S>1&&(E[n++]=E[x++]))}break}if(64&b){e.msg="invalid distance code",i.mode=_l;break e}v=g[(65535&v)+(p&(1<>3,p&=(1<<(m-=S<<3))-1,e.next_in=r,e.next_out=n,e.avail_in=r=1&&0===N[S];S--);if(k>S&&(k=S),0===S)return s[n++]=0x1400000,s[n++]=0x1400000,o.bits=1,0;for(b=1;b0&&(e===_m||1!==S))return -1;for(A[1]=0,y=1;y<_u;y++)A[y+1]=A[y]+N[y];for(v=0;v_h||e===_g&&E>_p)return 1;for(;;){m=y-C,a[v]p?(f=M[P+a[v]],g=I[R+a[v]]):(f=96,g=0),l=1<>C)+(c-=l)]=m<<24|f<<16|g;while(0!==c);for(l=1<>=1;if(0!==l?(T&=l-1,T+=l):T=0,v++,0==--N[y]){if(y===S)break;y=t[i+a[v]]}if(y>k&&(T&u)!==d){for(0===C&&(C=k),h+=b,w=1<<(x=y-C);x+C_h||e===_g&&E>_p)return 1;s[d=T&u]=k<<24|x<<16|h-n}}return 0!==T&&(s[h+T]=y-C<<24|4194304),o.bits=k,0},_E=0,_T=1,_I=2,_R=4,_N=5,_A=6,_M=0,_P=1,_j=2,_L=-2,_D=-3,_O=-4,_F=-5,_U=8,_V=1,_B=2,_z=3,_W=4,_H=5,_G=6,_Z=7,_K=8,_X=9,_Y=10,_J=11,_$=12,_q=13,_Q=14,_0=15,_1=16,_2=17,_3=18,_4=19,_5=20,_9=21,_6=22,_8=23,_7=24,ye=25,yt=26,yi=27,yr=28,ys=29,yn=30,ya=31,yo=852,yl=592,yc=15;function yd(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function yu(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new _S.Buf16(320),this.work=new _S.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function yh(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=_V,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new _S.Buf32(yo),t.distcode=t.distdyn=new _S.Buf32(yl),t.sane=1,t.back=-1,_M):_L}function yp(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,yh(e)):_L}function ym(e,t){var i,r;return e&&e.state?(r=e.state,t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_L:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=i,r.wbits=t,yp(e))):_L}function yf(e,t){var i,r;return e?(e.state=r=new yu,r.window=null,(i=ym(e,t))!==_M&&(e.state=null),i):_L}function yg(e){return yf(e,yc)}var y_,yy,yv=!0;function yb(e){if(yv){var t;for(y_=new _S.Buf32(512),yy=new _S.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(_w(_T,e.lens,0,288,y_,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;_w(_I,e.lens,0,32,yy,0,e.work,{bits:5}),yv=!1}e.lencode=y_,e.lenbits=9,e.distcode=yy,e.distbits=5}function yS(e,t,i,r){var s,n=e.state;return null===n.window&&(n.wsize=1<=n.wsize?(_S.arraySet(n.window,t,i-n.wsize,n.wsize,0),n.wnext=0,n.whave=n.wsize):((s=n.wsize-n.wnext)>r&&(s=r),_S.arraySet(n.window,t,i-r,s,n.wnext),(r-=s)?(_S.arraySet(n.window,t,i-r,r,0),n.wnext=r,n.whave=n.wsize):(n.wnext+=s,n.wnext===n.wsize&&(n.wnext=0),n.whave>>8&255,i.check=_x(i.check,T,2,0),c=0,d=0,i.mode=_B;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",i.mode=yn;break}if((15&c)!==_U){e.msg="unknown compression method",i.mode=yn;break}if(d-=4,k=8+(15&(c>>>=4)),0===i.wbits)i.wbits=k;else if(k>i.wbits){e.msg="invalid window size",i.mode=yn;break}i.dmax=1<>8&1),512&_a(i)&&(T[0]=255&c,T[1]=c>>>8&255,i.check=_x(i.check,T,2,0)),c=0,d=0,i.mode=_z;case _z:for(;d<32;){if(0===o)break e;o--,c+=r[n++]<>>8&255,T[2]=c>>>16&255,T[3]=c>>>24&255,i.check=_x(i.check,T,4,0)),c=0,d=0,i.mode=_W;case _W:for(;d<16;){if(0===o)break e;o--,c+=r[n++]<>8),512&_a(i)&&(T[0]=255&c,T[1]=c>>>8&255,i.check=_x(i.check,T,2,0)),c=0,d=0,i.mode=_H;case _H:if(1024&_a(i)){for(;d<16;){if(0===o)break e;o--,c+=r[n++]<>>8&255,i.check=_x(i.check,T,2,0)),c=0,d=0}else i.head&&(i.head.extra=null);i.mode=_G;case _G:if(1024&_a(i)&&((p=i.length)>o&&(p=o),p&&(i.head&&(k=i.head.extra_len-i.length,i.head.extra||(i.head.extra=Array(i.head.extra_len)),_S.arraySet(i.head.extra,r,n,p,k)),512&_a(i)&&(i.check=_x(i.check,r,p,n)),o-=p,n+=p,i.length-=p),i.length))break e;i.length=0,i.mode=_Z;case _Z:if(2048&_a(i)){if(0===o)break e;p=0;do k=r[n+p++],i.head&&k&&i.length<65536&&(i.head.name+=String.fromCharCode(k));while(k&&p>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=_$;break;case _Y:for(;d<32;){if(0===o)break e;o--,c+=r[n++]<>>=7&d,d-=7&d,i.mode=yi;break}for(;d<3;){if(0===o)break e;o--,c+=r[n++]<>>=1)){case 0:i.mode=_Q;break;case 1:if(yb(i),i.mode=_5,t===_A){c>>>=2,d-=2;break e}break;case 2:i.mode=_2;break;case 3:e.msg="invalid block type",i.mode=yn}c>>>=2,d-=2;break;case _Q:for(c>>>=7&d,d-=7&d;d<32;){if(0===o)break e;o--,c+=r[n++]<>>16^65535)){e.msg="invalid stored block lengths",i.mode=yn;break}if(i.length=65535&c,c=0,d=0,i.mode=_0,t===_A)break e;case _0:i.mode=_1;case _1:if(p=i.length){if(p>o&&(p=o),p>l&&(p=l),0===p)break e;_S.arraySet(s,r,n,p,a),o-=p,n+=p,l-=p,a+=p,i.length-=p;break}i.mode=_$;break;case _2:for(;d<14;){if(0===o)break e;o--,c+=r[n++]<>>=5)),d-=5,i.ncode=4+(15&(c>>>=5)),c>>>=4,d-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=yn;break}i.have=0,i.mode=_3;case _3:for(;i.have>>=3,d-=3}for(;i.have<19;)i.lens[I[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,C={bits:i.lenbits},x=_w(_E,i.lens,0,19,i.lencode,0,i.work,C),i.lenbits=C.bits,x){e.msg="invalid code lengths set",i.mode=yn;break}i.have=0,i.mode=_4;case _4:for(;i.have>>16&255,y=65535&E,!((g=E>>>24)<=d);){if(0===o)break e;o--,c+=r[n++]<>>=g,d-=g,i.lens[i.have++]=y;else{if(16===y){for(w=g+2;d>>=g,d-=g,0===i.have){e.msg="invalid bit length repeat",i.mode=yn;break}k=i.lens[i.have-1],p=3+(3&c),c>>>=2,d-=2}else if(17===y){for(w=g+3;d>>=g)),c>>>=3,d-=3}else{for(w=g+7;d>>=g)),c>>>=7,d-=7}if(i.have+p>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=yn;break}for(;p--;)i.lens[i.have++]=k}}if(i.mode===yn)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=yn;break}if(i.lenbits=9,C={bits:i.lenbits},x=_w(_T,i.lens,0,i.nlen,i.lencode,0,i.work,C),i.lenbits=C.bits,x){e.msg="invalid literal/lengths set",i.mode=yn;break}if(i.distbits=6,i.distcode=i.distdyn,C={bits:i.distbits},x=_w(_I,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,C),i.distbits=C.bits,x){e.msg="invalid distances set",i.mode=yn;break}if(i.mode=_5,t===_A)break e;case _5:i.mode=_9;case _9:if(o>=6&&l>=258){e.next_out=a,e.avail_out=l,e.next_in=n,e.avail_in=o,i.hold=c,i.bits=d,_C(e,h),a=e.next_out,s=e.output,l=e.avail_out,n=e.next_in,r=e.input,o=e.avail_in,c=i.hold,d=i.bits,i.mode===_$&&(i.back=-1);break}for(i.back=0;_=(E=i.lencode[c&(1<>>16&255,y=65535&E,!((g=E>>>24)<=d);){if(0===o)break e;o--,c+=r[n++]<>v)])>>>16&255,y=65535&E,!(v+(g=E>>>24)<=d);){if(0===o)break e;o--,c+=r[n++]<>>=v,d-=v,i.back+=v}if(c>>>=g,d-=g,i.back+=g,i.length=y,0===_){i.mode=yt;break}if(32&_){i.back=-1,i.mode=_$;break}if(64&_){e.msg="invalid literal/length code",i.mode=yn;break}i.extra=15&_,i.mode=_6;case _6:if(i.extra){for(w=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=_8;case _8:for(;_=(E=i.distcode[c&(1<>>16&255,y=65535&E,!((g=E>>>24)<=d);){if(0===o)break e;o--,c+=r[n++]<>v)])>>>16&255,y=65535&E,!(v+(g=E>>>24)<=d);){if(0===o)break e;o--,c+=r[n++]<>>=v,d-=v,i.back+=v}if(c>>>=g,d-=g,i.back+=g,64&_){e.msg="invalid distance code",i.mode=yn;break}i.offset=y,i.extra=15&_,i.mode=_7;case _7:if(i.extra){for(w=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=yn;break}i.mode=ye;case ye:if(0===l)break e;if(p=h-l,i.offset>p){if((p=i.offset-p)>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=yn;break}p>i.wnext?(p-=i.wnext,m=i.wsize-p):m=i.wnext-p,p>i.length&&(p=i.length),f=i.window}else f=s,m=a-i.offset,p=i.length;p>l&&(p=l),l-=p,i.length-=p;do s[a++]=f[m++];while(--p);0===i.length&&(i.mode=_9);break;case yt:if(0===l)break e;s[a++]=i.length,l--,i.mode=_9;break;case yi:if(i.wrap){for(;d<32;){if(0===o)break e;o--,c|=r[n++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new yM,this.strm.avail_out=0;var i=yT.inflateInit2(this.strm,t.windowBits);if(i!==yN.Z_OK||(this.header=new yP,yT.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=yR.string2buf(t.dictionary):"[object ArrayBuffer]"===yj.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(i=yT.inflateSetDictionary(this.strm,t.dictionary))!==yN.Z_OK)))throw Error(yA[i])}function yD(e,t){var i=new yL(t);if(i.push(e,!0),i.err)throw i.msg||yA[i.err];return i.result}function yO(e,t){return(t=t||{}).raw=!0,yD(e,t)}yL.prototype.push=function(e,t){var i,r,s,n,a,o=this.strm,l=this.options.chunkSize,c=this.options.dictionary,d=!1;if(this.ended)return!1;r=t===~~t?t:!0===t?yN.Z_FINISH:yN.Z_NO_FLUSH,"string"==typeof e?o.input=yR.binstring2buf(e):"[object ArrayBuffer]"===yj.call(e)?o.input=new Uint8Array(e):o.input=e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new yI.Buf8(l),o.next_out=0,o.avail_out=l),(i=yT.inflate(o,yN.Z_NO_FLUSH))===yN.Z_NEED_DICT&&c&&(i=yT.inflateSetDictionary(this.strm,c)),i===yN.Z_BUF_ERROR&&!0===d&&(i=yN.Z_OK,d=!1),i!==yN.Z_STREAM_END&&i!==yN.Z_OK)return this.onEnd(i),this.ended=!0,!1;o.next_out&&(0!==o.avail_out&&i!==yN.Z_STREAM_END&&(0!==o.avail_in||r!==yN.Z_FINISH&&r!==yN.Z_SYNC_FLUSH)||("string"===this.options.to?(s=yR.utf8border(o.output,o.next_out),n=o.next_out-s,a=yR.buf2string(o.output,s),o.next_out=n,o.avail_out=l-n,n&&yI.arraySet(o.output,o.output,s,n,0),this.onData(a)):this.onData(yI.shrinkBuf(o.output,o.next_out)))),0===o.avail_in&&0===o.avail_out&&(d=!0)}while((o.avail_in>0||0===o.avail_out)&&i!==yN.Z_STREAM_END);return i===yN.Z_STREAM_END&&(r=yN.Z_FINISH),r===yN.Z_FINISH?(i=yT.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===yN.Z_OK):r!==yN.Z_SYNC_FLUSH||(this.onEnd(yN.Z_OK),o.avail_out=0,!0)},yL.prototype.onData=function(e){this.chunks.push(e)},yL.prototype.onEnd=function(e){e===yN.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=yI.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},_i.Inflate=yL,_i.inflate=yD,_i.inflateRaw=yO,_i.ungzip=yD;var yF=mv.assign,yU={};yF(yU,mb,_i,yE);var yV=e2(yU);let yB=1,yz=class{constructor(e){dY(this,"lockingPromise",Promise.resolve()),dY(this,"locks",0),dY(this,"name",""),dY(this,"lockId",void 0),this.lockId=yB++,e&&(this.name=e)}get isLocked(){return this.locks>0}lock(){let e;this.locks+=1;let t=new Promise(t=>{e=()=>{this.locks-=1,t()}}),i=this.lockingPromise.then(()=>e);return this.lockingPromise=this.lockingPromise.then(()=>t),i}},yW="VERTC",yH=()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;class yG{constructor(e){dY(this,"storeName",void 0),dY(this,"pendingList",[]),this.storeName=e,!hZ()&&yH()&&this._checkAndCreateStore(e)}async _checkAndCreateStore(e,t){let i=await yG._promiseLock.lock();if(yH().databases){let e;await new Promise(t=>{let i=()=>yH().databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}return new Promise(r=>{yG.db&&(yG.db.close(),delete yG.db);let s=t?yH().open(yW,t):yH().open(yW);s.onupgradeneeded=()=>{s.result.createObjectStore(e)},s.onerror=()=>{console.error("IndexedDBInterface error",s.error)},s.onsuccess=()=>{let t=s.result;yG.db=t;try{yG.db.transaction(this.storeName,"readonly"),this.pendingList.forEach(async e=>{let{txMode:t,pendResolve:i,pendReject:r}=e;try{i(await this._getStore(t))}catch(e){r()}}),r()}catch(i){r(this._checkAndCreateStore(e,t.version+1))}finally{i()}}})}async _getStore(e){let t=await yG._promiseLock.lock();return new Promise((i,r)=>{if(!yG.db)return this.pendingList.push({txMode:e,pendResolve:i,pendReject:r}),void t();try{i(yG.db.transaction(this.storeName,e).objectStore(this.storeName))}catch(t){return void this.pendingList.push({txMode:e,pendResolve:i,pendReject:r})}finally{t()}})}async put2String(e,t){let i;try{i=JSON.stringify(e)}catch(t){i=e}return await this.put(i,t)}async get4String(e){let t,i=await this.get(e);try{t=JSON.parse(i)}catch(e){t=i}return t}async put(e,t){let i=await this._getStore("readwrite");return new Promise((r,s)=>{let n=i.put(e,t);n.onsuccess=()=>{r()},n.onerror=e=>{s(e)}})}async get(e){let t=await this._getStore("readonly");return new Promise((i,r)=>{let s=t.get(e);s.onsuccess=()=>{i(s.result)},s.onerror=e=>{r(e)}})}async del(e){let t=await this._getStore("readwrite");return new Promise((i,r)=>{let s=t.delete(e);s.onsuccess=()=>{i()},s.onerror=e=>{r(e)}})}}dY(yG,"db",void 0),dY(yG,"state","init"),dY(yG,"_promiseLock",new yz("iDB"));var yZ=r2,yK=n_.includes;yZ({target:"Array",proto:!0,forced:e6(function(){return![,].includes()})},{includes:function(e){return yK(this,e,arguments.length>1?arguments[1]:void 0)}});var yX=d2("Array","includes"),yY=ut,yJ=TypeError,y$=function(e){if(yY(e))throw new yJ("The method doesn't accept regular expressions");return e},yq=iJ("match"),yQ=r2,y0=y$,y1=tO,y2=no,y3=function(e){var t=/./;try{"/./"[e](t)}catch(i){try{return t[yq]=!1,"/./"[e](t)}catch(e){}}return!1},y4=tl("".indexOf);yQ({target:"String",proto:!0,forced:!y3("includes")},{includes:function(e){return!!~y4(y2(y1(this)),y2(y0(e)),arguments.length>1?arguments[1]:void 0)}});var y5=d2("String","includes"),y9=tY,y6=yX,y8=y5,y7=Array.prototype,ve=String.prototype,vt=e2(function(e){var t=e.includes;return e===y7||y9(y7,e)&&t===y7.includes?y6:"string"==typeof e||e===ve||y9(ve,e)&&t===ve.includes?y8:t});function vi(e,t){if(null==e)return{};var i={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(vt(t).call(t,r))continue;i[r]=e[r]}return i}function vr(e,t){if(null==e)return{};var i,r,s=vi(e,t);if(pr){var n=pr(e);for(r=0;r0;){let r=this.inBuffer[0],{message:s}=r,n=mr(mr({},vr(r,vs)),{},{message:mr(mr({},s),{},{msg:""})}),a=JSON.stringify(n).length,o=e-a,l=mr({},n);if(o>s.msg.length)l.message.msg=s.msg,this.inBuffer.shift();else{if(!(o>=10))break;{let e=s.msg.slice(0,o);l.message.msg=e,l.message.end=!1,this.inBuffer[0].message.msg=s.msg.slice(o),this.inBuffer[0].message.index++}}let c=JSON.stringify(l.message),d=c.length;e-=d+a,i+=d+a,t.push(mr(mr({},l),{},{message:c}))}return{payload:t,payloadSize:i}}unshift(e){this.outBuffer=e.concat(this.outBuffer)}get(){return[...this.outBuffer,...this.inBuffer.map(e=>mr(mr({},e),{},{message:JSON.stringify(e.message)}))]}set(e){e.forEach(e=>{vn(e)?this.outBuffer.push(e):(e.message||(e.message=""),this.inBuffer.push(mr(mr({},e),{},{message:JSON.parse(e.message)})))}),this.outBuffer=[].concat(this.outBuffer),this.inBuffer=[].concat(this.inBuffer)}isEmpty(){return 0===this.inBuffer.length&&0===this.outBuffer.length}}var vo,vl,vc=new va;let vd={product_line:"rtc",report_version:"5",os:"web",user_agent:hZ()?"":null==(vo=navigator)?void 0:vo.userAgent,platform:"web",product:"webrtc",app_state:"active"},vu="u">typeof window&&(window.location.search.includes("_rtc_debug_")||(null==(vl=window.localStorage)?void 0:vl.getItem("_rtc_debug_")));class vh{constructor(e){dY(this,"_buffer",void 0),this._buffer=new yG(e)}async set(e,t){await this._buffer.put2String(e,t)}async get(e){var t;let i=[];try{i=await this._buffer.get4String(e)}catch(e){}return null!=(t=i)?t:[]}}class vp{constructor(){dY(this,"reportCommon",vd),dY(this,"reportIds",new Map),dY(this,"dataBuffer",[]),dY(this,"reportorList",[]),dY(this,"dbBuffer",void 0),dY(this,"posting",!1),dY(this,"sucSendTimer",void 0),dY(this,"preSucTime",0),dY(this,"errSendTimer",void 0),dY(this,"errSendDelay",100),dY(this,"_logServerUrl",void 0),dY(this,"_retryCount",0),dY(this,"_reportLimit",5e5),dY(this,"_disableTimeout",!1),hZ()||(window.addEventListener("beforeunload",()=>{clearTimeout(this.errSendTimer),clearTimeout(this.sucSendTimer),this.send(void 0,!0)}),document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState?this.setCommonStats({app_state:"active"}):"hidden"===document.visibilityState&&this.setCommonStats({app_state:"background"})}),vu&&(window.__rtc_debug_reportor__=this)),h7.on("UPLOAD_REPORT_LIMIT",e=>{this.setReportLimit(e)}),h7.on("ENABLE_REPORT_IDB_BUFFER",e=>{e&&this.enableIndexedDBBuffer()}),setTimeout(()=>{this.reportorList.push(v5),this.reportorList.push(vc)})}setUrl(e){this._logServerUrl=e}setCommonStats(e){this.reportCommon=Object.assign(this.reportCommon,e)}getCommonStats(){return this.reportCommon}setReportLimit(e){this._reportLimit=Math.max(e,5e4),this._reportLimit=Math.min(e,5e5)}getReportId(e){var t;e=null!=(t=e)?t:"__global__",this.reportIds.has(e)||this.reportIds.set(e,0);let i=this.reportIds.get(e);return void 0===i&&(vV("no reportId in reportId map with engine-session-id ".concat(e),0,{}),i=0),this.reportIds.set(e,i+1),i}push(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])this.send(e);else{var t;let i=null!=(t=e.engine_session_id)?t:"__global__";this.reportIds.has(i)||this.reportIds.set(i,0),this.dataBuffer.push(e),!this.posting&&!this.errSendTimer&&Date.now()-this.preSucTime>2e3&&(clearTimeout(this.sucSendTimer),this.send())}}enableIndexedDBBuffer(){this.dbBuffer||(this.dbBuffer=new vh("ReportorDBBuffer"),this.dbBuffer.get("LogReportor").then(e=>{e.forEach(e=>{this.push(e)})}),this.reportorList.forEach(e=>{var t;null==(t=this.dbBuffer)||t.get(e.name).then(t=>{e.set(t)})}))}backup(){try{var e;null==(e=this.dbBuffer)||e.set([...this.dataBuffer],"LogReportor"),this.reportorList.forEach(e=>{var t;null==(t=this.dbBuffer)||t.set([...e.get()],e.name)})}catch(e){vV("Error when save log into IDB",-1,e)}}unshift(e){this.dataBuffer=e[0].concat(this.dataBuffer),this.reportorList.forEach((t,i)=>{var r;t.unshift(null!=(r=e[i+1])?r:[])})}_splice(){let e=vm(this.dataBuffer,this._reportLimit);0===e&&this.dataBuffer.length>0&&(this._reportLimit=JSON.stringify(this.dataBuffer[0]).length+10,e=1,vV("update report limit to ".concat(this._reportLimit),0,null));let t=this.dataBuffer.splice(0,e),i=JSON.stringify(t).length,r=[t],s=this._reportLimit-i;return this.reportorList.forEach(e=>{let{payload:t,payloadSize:i}=e.splice(s);t.forEach(e=>{var t,i,r;void 0===e.report_id&&(e.report_id=this.getReportId(e.engine_session_id),!hZ()&&window.__onRTCReport&&(null==(t=(i=window).__onRTCReport)||t.call(i,null!=(r=e.engine_session_id)?r:"global",e,this.getCommonStats())))}),r.push(t),s-=i}),r}async send(e,t){this.backup();let i=this.reportorList.reduce((e,t)=>e&&t.isEmpty(),!0);if(!e&&!this.dataBuffer.length&&i||!this._logServerUrl)return;e||(this.posting=!0);let r=[];e||(r=this._splice());let s=vu,n={data:e||my(r).call(r),header:mr(mr({},this.reportCommon),{},{http_retry_count:this._retryCount}),from:"web",os:"web",version:"1"},a={method:"POST",body:s?JSON.stringify(n):yV.gzip(JSON.stringify(n))};if(!this._disableTimeout)try{let e=new AbortController;a.signal=e.signal,setTimeout(()=>{e.abort()},1e4)}catch(e){this._disableTimeout=!0}s||(a.headers={"Content-Encoding":"gzip","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"});let o,l,c=null;try{o=await fetch(this._logServerUrl,a),200!==o.status&&304!==o.status||(c=JSON.parse(await o.text()))}catch(e){l=e}e||(this.posting=!1),c&&0===c.StatusCode?e||t||this.sucSend():(setTimeout(()=>{var e,t,i;vV("reportor post error, resJSON:".concat(null==(e=c)?void 0:e.toString()," err:").concat(l),null!=(t=null==(i=o)?void 0:i.status)?t:-1,l)},0),e?this.send(e):(this.unshift(r),t?this.send():this.errSend()))}_getDataBufferTotalSize(){return this.dataBuffer.reduce((e,t)=>e+JSON.stringify(t).length,0)}sucSend(){this.errSendDelay=100,this._retryCount=0,this.preSucTime=Date.now();let e=this._getDataBufferTotalSize()>1e6?1e3:2e3;this.sucSendTimer=setTimeout(()=>this.send(),e)}errSend(){this.errSendTimer=setTimeout(()=>{this.send(),delete this.errSendTimer},this.errSendDelay),this.errSendDelay*=2,this._retryCount++}}function vm(e,t){let i=0;for(let r=0;rt)return r;return e.length}var vf=new vp;class vg{constructor(e){dY(this,"modifyIds",{pre_connection:!1}),this.id=e}report(e,t,i){var r,s;let n=mr(mr(mr({event_key:e,rtc_timestamp:Date.now()},this.modifyIds),t),{},{report_id:vf.getReportId(this.modifyIds.engine_session_id)});"object"==typeof i&&Object.keys(i).length>0&&(n.common_extra_info=JSON.stringify(i)),Object.keys(n).forEach(e=>{void 0!==n[e]&&""!==n[e]||delete n[e]}),!hZ()&&window.__onRTCReport&&(null==(r=(s=window).__onRTCReport)||r.call(s,this.modifyIds.engine_session_id,n,vf.getCommonStats())),vf.push(n)}reportLog(e){let t=mr(mr({event_key:"rtc_invoke_status",sdk_api_name:"console_log",rtc_timestamp:Date.now()},this.modifyIds),{},{message:e});v5.push(t)}reportLongString(e,t){let i=mr(mr({event_key:"rtc_invoke_status",sdk_api_name:"sdk_long_string_".concat(e),rtc_timestamp:Date.now()},this.modifyIds),{},{message:t});vc.push(i)}set(e){this.modifyIds=Object.assign(this.modifyIds,e)}destroy(){}}class v_{constructor(e){dY(this,"_preTime",Date.now()),dY(this,"_one2oneNum",0),dY(this,"_one2manyNum",0),dY(this,"_one2oneMsgCache",new Map),dY(this,"_one2manyMsgCache",new Map),dY(this,"roomId",""),dY(this,"userId",""),dY(this,"rtsSessionId",""),dY(this,"logger",void 0),dY(this,"serverUrl","server"),this.id=e,this.logger=new bn("MessageReportor",1)}needReport(e){return!!v_.config&&(Date.now()-this._preTime>=36e5&&(this._preTime=Date.now(),this._one2oneNum=0,this._one2manyNum=0),"one2one"===e&&this._one2oneNum{let i=vy.get(e);i&&(i.serverUrl=t)},vb=e=>{new bn("MessageReportor",1).info("setConfig","get config: ".concat(JSON.stringify(e))),v_.config=e},vS=(e,t)=>{let i=vy.get(e);i&&(i.rtsSessionId=t)},vk=e=>{let t=vy.get(e)||new v_(e);return vy.set(e,t),t},vx=e=>{let t=vy.get(e);t&&(t.destroy(),vy.delete(e))},vC=(e,t)=>{let i=vy.get(e);i&&(i.roomId=t||"")},vw=(e,t)=>{let i=vy.get(e);i&&(i.userId=t||"")},vE=(e,t)=>{let i=vy.get(e);if(null!=i&&i.needReport("one2one")){let e=t.to?"one2one":"one2server";t.enable_report=!0,t.report_msg_id=t.id,i.cacheP2PMsg({rts_session_id:i.rtsSessionId,msg_id:"".concat(t.id),node_role:"src_sdk",from:t.from,to:t.to||i.serverUrl,msg_type:e,type:e,rts_room_id:t.room,req_ts:Date.now(),send_ts:Date.now(),ack_ts:Date.now(),msg_size:0,error_code:0,recv_msg_ts:0,fwd_msg_ts:0,reply_ack_ts:0,cur_dst_uid:""})}return t},vT=(e,t,i)=>{var r;t.enable_report&&hX(t.report_msg_id)&&(null==(r=vy.get(e))||r.updateP2PMsg("".concat(t.report_msg_id),{send_ts:Date.now(),msg_size:i}))},vI=(e,t,i)=>{if(t.enable_report&&hX(t.report_msg_id)){let r=vy.get(e);null==r||r.updateP2PMsg("".concat(t.report_msg_id),{ack_ts:Date.now(),error_code:i}),null==r||r.reportP2PMsg("".concat(t.report_msg_id))}},vR=(e,t,i)=>{let r=vy.get(e);return null!=r&&r.needReport("one2many")&&(i.enable_report=!0,i.report_msg_id=t,r.cacheCustomMsg({rts_session_id:r.rtsSessionId,msg_id:"".concat(t),node_role:"src_sdk",from:i.clientId,to:r.roomId||i.roomId,msg_type:"one2many",type:"one2many",rts_room_id:r.roomId,req_ts:Date.now(),send_ts:Date.now(),ack_ts:Date.now(),msg_size:0,error_code:0,recv_msg_ts:0,fwd_msg_ts:0,reply_ack_ts:0,cur_dst_uid:""})),i},vN=(e,t,i)=>{if(t.enable_report&&hX(t.report_msg_id)){let r=vy.get(e),s=t.to?"one2one":"one2many";null==r||r.reportMsgRecv({rts_session_id:r.rtsSessionId,msg_id:"".concat(t.report_msg_id),msg_size:i.msg_size,node_role:"dst_sdk",msg_type:s,type:s,rts_room_id:t.room,from:t.from,to:t.to||t.room,error_code:0,recv_msg_ts:i.recv_msg_ts,fwd_msg_ts:i.fwd_msg_ts,reply_ack_ts:Date.now(),cur_dst_uid:t.to?"":r.userId,config_version:"",req_ts:0,send_ts:0,ack_ts:0})}},vA=(e,t,i)=>{if(t.enable_report&&hX(t.report_msg_id)){let r=vy.get(e);r&&(null==r||r.updateOne2ManyMsg("".concat(t.report_msg_id),{ack_ts:Date.now(),error_code:i}),null==r||r.reportOne2ManyMsg("".concat(t.report_msg_id)))}},vM=(e,t,i)=>{if(t.enable_report&&hX(t.report_msg_id)){let r=vy.get(e);r&&r.updateOne2ManyMsg("".concat(t.report_msg_id),{send_ts:Date.now(),msg_size:i})}},vP=(e,t,i)=>{if(t.enable_report&&hX(t.report_msg_id)){let r=vy.get(e);null==r||r.reportMsgRecv({rts_session_id:r.rtsSessionId,msg_id:"".concat(t.report_msg_id),msg_size:i.msg_size,node_role:"dst_sdk",msg_type:"one2many",type:"one2many",rts_room_id:t.roomId,from:t.clientId,to:t.roomId,error_code:0,recv_msg_ts:i.recv_msg_ts,fwd_msg_ts:i.fwd_msg_ts,reply_ack_ts:Date.now(),cur_dst_uid:r.userId,config_version:"",req_ts:0,send_ts:0,ack_ts:0})}};class vj{constructor(e){dY(this,"_timer",void 0),dY(this,"userMessage",{}),dY(this,"roomMessage",{}),this.id=e,this._setTimer()}_setTimer(){let e=()=>{this._reportAndgReset(),clearTimeout(this._timer),this._timer=setTimeout(e,1e4)};e()}_reportAndgReset(){(Object.keys(this.userMessage).length||Object.keys(this.roomMessage).length)&&(this._report(),this._reset())}_report(){var e;null==(e=vH(this.id))||e.report("rtc_message_statistics",{dc_user_message:Object.keys(this.userMessage).map(e=>this.userMessage[e]),dc_room_message:Object.keys(this.roomMessage).map(e=>this.roomMessage[e]),media_server_ip:""})}_reset(){this.userMessage={},this.roomMessage={}}_checkInitUserMessage(e,t){this.userMessage["".concat(t,"-").concat(e)]||(this.userMessage["".concat(t,"-").concat(e)]={dc_peer_user_id:e,dc_send_total:0,dc_recv_total:0,dc_send_ack:0,dc_send_fail:0,dc_fail_timeout:0,dc_fail_no_receiver:0,dc_fail_no_relay_path:0,dc_cost_time:0,dc_cost_e2s:0,dc_cost_s2s:0,dc_least_time:Number(1/0),dc_most_time:0,dc_cost_peer_s2e:0,dc_send_ack_100:0,dc_send_ack_200:0,dc_send_ack_400:0,dc_send_ack_1s:0,dc_message_type:t,dc_send_binary:0})}_sendUserMessage(e,t,i){this._checkInitUserMessage(e,t),this.userMessage["".concat(t,"-").concat(e)].dc_send_total++,i&&this.userMessage["".concat(t,"-").concat(e)].dc_send_binary++}_recvUserMessage(e,t){this._checkInitUserMessage(e,t),this.userMessage["".concat(t,"-").concat(e)].dc_recv_total++}_sendUserFail(e,t,i){let r=this.userMessage["".concat(t,"-").concat(e)];r&&(r.dc_send_fail++,this._handleUserFail(r,i))}_handleUserFail(e,t){t&&(t.code||t.err)&&(["TIME_OUT","USER_MESSAGE_TIMEOUT"].includes(t.code)?e.dc_fail_timeout++:3===t.err?e.dc_fail_no_receiver++:4===t.err?e.dc_fail_no_relay_path++:1===t.err&&e.dc_fail_timeout++)}_sendUserAck(e,t,i,r,s){let n=this.userMessage["".concat(t,"-").concat(e)];n&&(n.dc_send_ack++,n.dc_cost_time+=i,n.dc_cost_s2s+=r||0,n.dc_cost_peer_s2e+=s,n.dc_cost_e2s+=i-(r||0)-s,i/2<=100?(n.dc_send_ack_100++,n.dc_send_ack_200++,n.dc_send_ack_400++,n.dc_send_ack_1s++):i/2<=200?(n.dc_send_ack_200++,n.dc_send_ack_400++,n.dc_send_ack_1s++):i/2<=400?(n.dc_send_ack_400++,n.dc_send_ack_1s++):i/2<=1e3&&n.dc_send_ack_1s++,in.dc_most_time&&(n.dc_most_time=i))}sendRoomMessage(e,t){this.roomMessage[e]||(this.roomMessage[e]={dc_room_id:e,dc_send_total:0,dc_send_ack:0,dc_cost_time:0,dc_least_time:Number(1/0),dc_most_time:0,dc_send_fail:0,dc_send_ack_100:0,dc_send_ack_200:0,dc_send_ack_400:0,dc_send_ack_1s:0,dc_send_binary:0}),this.roomMessage[e].dc_send_total++,t&&this.roomMessage[e].dc_send_binary++}sendRoomFail(e){let t=this.roomMessage[e];t&&t.dc_send_fail++}sendRoomAck(e,t){let i=this.roomMessage[e];i&&(i.dc_send_ack++,i.dc_cost_time+=t,ti.dc_most_time&&(i.dc_most_time=t),t/2<=100?(i.dc_send_ack_100++,i.dc_send_ack_200++,i.dc_send_ack_400++,i.dc_send_ack_1s++):t/2<=200?(i.dc_send_ack_200++,i.dc_send_ack_400++,i.dc_send_ack_1s++):t/2<=400?(i.dc_send_ack_400++,i.dc_send_ack_1s++):t/2<=1e3&&i.dc_send_ack_1s++)}sendP2PMessage(e,t){this._sendUserMessage(e,"p2p",t)}recvP2PMessage(e){this._recvUserMessage(e,"p2p")}sendP2PFail(e,t){this._sendUserFail(e,"p2p",t)}sendP2PAck(e,t,i,r){this._sendUserAck(e,"p2p",t,i,r)}sendP2POutRoomMessage(e,t){this._sendUserMessage(e,"p2p_outside_room",t)}recvP2POutRoomMessage(e){this._recvUserMessage(e,"p2p_outside_room")}sendP2POutRoomFail(e,t){this._sendUserFail(e,"p2p_outside_room",t)}sendP2POutRoomAck(e,t,i,r){this._sendUserAck(e,"p2p_outside_room",t,i,r)}sendP2serverMessage(e){this._sendUserMessage("","p2server",e)}sendP2serverFail(e){this._sendUserFail("","p2server",e)}sendP2serveAck(e,t,i){this._sendUserAck("","p2server",e,t,i)}countP2PMessage(e,t,i,r,s){this.sendP2PMessage(t,i),e?this.sendP2PAck(t,Date.now()-r,s.s2s_time||0,s.s2e_time||0):this.sendP2PFail(t,s)}countRoomMessage(e,t,i,r){this.sendRoomMessage(t,i),e?this.sendRoomAck(t,Date.now()-r):this.sendRoomFail(t)}countUserMessageOutsideRoom(e,t,i,r,s){this.sendP2POutRoomMessage(t,i),e?this.sendP2POutRoomAck(t,Date.now()-r,s.s2s_time,s.s2e_time):this.sendP2POutRoomFail(t,s)}countServerMessage(e,t,i,r){this.sendP2serverMessage(t),e?(r=r||{},this.sendP2serveAck(Date.now()-i,r.s2s_time||0,r.s2e_time||0)):this.sendP2serverFail(r)}destroy(){this._reset(),clearTimeout(this._timer)}}let vL=e=>{vf.setCommonStats(e)},vD=e=>{vf.setUrl(e)},vO=new vg("global"),vF=(e,t,i)=>{vO.report("rtc_sdk_api_call",{sdk_api_name:e,error_code:t,message:i})},vU=(e,t,i)=>{vO.report("rtc_sdk_callback",{sdk_callback_name:e,error_code:t,message:i})},vV=(e,t,i)=>{vO.report("rtc_error",{message:e,error_code:t},i)},vB=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4?arguments[4]:void 0;vO.report("rtc_invoke_status",{sdk_api_name:e,message:t,error_code:i,stream_id:r,elapse:0},s)};function vz(e){vO.reportLog(e)}let vW=new Map,vH=e=>vW.get(e),vG=(e,t)=>{let i=new vg(e);return i.set(mr(mr({},t),{},{engine_session_id:hK()})),i.report("sdk_init_engine",{start:Date.now(),type:"begin"}),vW.set(e,i),i},vZ=e=>{e.report("sdk_init_engine",{start:Date.now(),type:"end"}),vW.delete(e.id)},vK=new Map;function vX(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{debounce:i,debounceTag:r}=t=Object.assign({debounce:0},t);function s(e,t,r,s){if(!i)return t(...r);{let n="".concat(s,"_").concat(e);clearTimeout(vK.get(n));let a=setTimeout(()=>{t(...r)},i);vK.set(n,a)}}return function(t,i,n){if("function"==typeof n.value){let t=n.value;n.value=function(){for(var n,a,o,l,c=arguments.length,d=Array(c),u=0;u{m[e]=d[t]}),"joinRoom"===i&&(null==(n=vH(h))||n.set({room_id:d[1],user_id:null==(a=d[2])?void 0:a.userId}));let f,g="";if(r)try{g=r(...d)}catch(e){}s(i,vY,[h,i,d,m,{event_session_id:p}],"start_".concat(g));try{f=t.apply(this,d)}catch(e){throw s(i,vJ,[h,i,e.message,e.code||-1,{event_session_id:p}],"end_".concat(g)),e}return"function"==typeof(null==(o=f)?void 0:o.then)?f.then(e=>(s(i,vJ,[h,i,[null!=e?e:{}],0,{event_session_id:p}],"end_".concat(g)),e)).catch(e=>{throw s(i,vJ,[h,i,e.message,e.code,{event_session_id:p}],"end_".concat(g)),e}):(s(i,vJ,[h,i,[null!=(l=f)?l:{}],0,{event_session_id:p}],"end_".concat(g)),f)}}}}let vY=function(e,t,i,r){var s;let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=mr({sdk_api_name:t,message:JSON.stringify(vQ(i)),error_code:0},n);null==(s=vH(e))||s.report("rtc_sdk_api_call",a,r)},vJ=function(e,t,i){var r;let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},n=mr({sdk_callback_name:t,error_code:arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,message:JSON.stringify(Array.isArray(i)?vQ(i):i)},s);null==(r=vH(e))||r.report("rtc_sdk_callback",n)},v$=function(e,t,i){var r;let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=arguments.length>5?arguments[5]:void 0;null==(r=vH(e))||r.report("rtc_invoke_status",{sdk_api_name:t,message:i,error_code:s,stream_id:n,elapse:0},a)},vq=10;function vQ(e){let t=e=>{if(null!=e&&e._reportName)return e._reportName;if(e instanceof HTMLElement)return e.toString();if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let t=ArrayBuffer.isView(e)?e.buffer:e,r=t.byteLength,s=[];if(r>vq){var i;let e=new DataView(t);s=[...Array.from({length:vq/2}).map((t,i)=>e.getUint8(i)),"...",...d6(i=Array.from({length:vq/2}).map((e,t)=>r-1-t)).call(i).map(t=>e.getUint8(t))]}else s=Array.from(new Uint8Array(t));return"".concat(e.constructor.name,"(").concat(r,") [").concat(s.join(", "),"]")}if(e instanceof ImageData)return"ImageData";if(Array.isArray(e))return e.map(t);if(["[object Object]","[object MediaStreamTrack]"].includes(Object.prototype.toString.call(e))){let i={};for(let r in e)i[r]=t(e[r]);return i}return e instanceof Function?"[User Function]":e};return e.map(t)}let v0="u">typeof window&&window.location.search.includes("_rtc_upload_console_");class v1{constructor(){dY(this,"name","ConsoleReportor"),dY(this,"_uuid","".concat(Math.floor(899*Math.random())+100)),dY(this,"_consoleReportId",0),dY(this,"_engineReportIdMap",new Map),dY(this,"_enabled","NULL"),dY(this,"_consoleCutLength",h7.getParameter("UPLOAD_CONSOLE_LENGTH_CUT")),dY(this,"buffer",[]),v0&&setTimeout(()=>{this.switchOn()},0),h7.on("UPLOAD_CONSOLE_ON",e=>{e?this.switchOn():this.turnOff()}),h7.on("UPLOAD_CONSOLE_LENGTH_CUT",e=>{this._consoleCutLength=e})}get enabled(){return"OFF"!==this._enabled}switchOn(){"NULL"===this._enabled&&(this._enabled="ON")}turnOff(){"NULL"===this._enabled&&(this._enabled="OFF",this.buffer=[])}getEngineConsoleId(e){var t;let i=null!=(t=this._engineReportIdMap.get(e))?t:0;return this._engineReportIdMap.set(e,i+1),i}report(e,t,i,r,s,n,a,o,l){if("OFF"===this._enabled)return;let c=vH(t),d=this._consoleReportId++,u=this.getEngineConsoleId(t),h=v2(l,this._consoleCutLength),p=[...l],m="".concat(o).replace(/%o|%s/gi,()=>v2([p.shift()],this._consoleCutLength)),f="[".concat(this._uuid,"-").concat(d,"][").concat(t,"-").concat(u,"]-").concat(i,"-").concat(e,"[").concat(r,"]").concat(s,"[").concat(n,".").concat(a,"] ").concat(m," ").concat(h);c?c.reportLog(f):vz(f)}push(e){"OFF"!==this._enabled&&this.buffer.push(e)}splice(e){if("ON"!==this._enabled)return{payload:[],payloadSize:0};let{index:t,size:i}=v3(this.buffer,e);return{payload:this.buffer.splice(0,t),payloadSize:i}}unshift(e){this.buffer=e.concat(this.buffer)}get(){return this.buffer}set(e){this.buffer=e.concat(this.buffer)}isEmpty(){return"OFF"===this._enabled||0===this.buffer.length}}function v2(e,t){return e.map(e=>{let i="";try{if("string"==typeof e)return e;if(void 0===e)return"undefined";if(null===e)return"null";if(e instanceof MediaStreamTrack)return hJ(e);if(e instanceof MediaStream)return h$(e);if(e instanceof RTCRtpSender)return hq(e);if(e instanceof RTCRtpReceiver)return hQ(e);if(e instanceof RTCRtpTransceiver)return h0(e);i=JSON.stringify(e)}catch(t){i=e.toString()}return i&&i.length>=t&&(i=i.slice(0,t)),i}).join(", ")}function v3(e,t){let i=0;for(let r=0;rt)return{index:r,size:i-s}}return{index:e.length,size:i}}var v4,v5=new v1;let v9={DEBUG:"rgba(0, 0, 0, 0)"," INFO":"rgba(93, 173, 226, 0)"," WARN":"rgba(255, 119, 0, 0.3)",ERROR:"rgba(255, 0, 0, 0.3)"," SUCC":"rgba(0, 119, 0, 0.3)"},v6="u">typeof window&&(window.location.search.includes("_rtc_debug_")||(null==(v4=window.localStorage)?void 0:v4.getItem("_rtc_debug_")));class v8{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"global";dY(this,"indent",void 0),dY(this,"module",void 0),dY(this,"_engineId",void 0),this.module=e,this.indent=t,this._engineId=i}_print(e,t){for(var i=arguments.length,r=Array(i>2?i-2:0),s=2;s{let t=e.shift();return JSON.stringify(t)});h5.set("".concat("[VERTC]","[").concat(this.module,".").concat(t,"] ").concat(i," ").concat(e.map(e=>JSON.stringify(e)).join(", ")))}catch(e){}let a="";for(let e=0;e1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r{let e=new Date;return"".concat(e.toTimeString().split(" ")[0],":").concat(e.getMilliseconds().toString().padStart(3,"0"))};var be,bt,bi,br,bs,bn=v8;let ba=()=>"u"parseInt(e))))?bi:[],bL=0,bD=!ba()&&(null==(bs=bo.match(/Chrome\/(\d+)/i))?void 0:bs[1]);bD&&(bL=Number(bD));let bO=bL,bF="VolcEngine",bU="RTC_DEVICE_ID",bV="RTC_ACCESS_NODE",bB="RTC_ACCESS_URLS",bz="ENGINE_WEB_CONFIG",bW="SERVER_CONFIG";class bH{get(e){let t=localStorage.getItem(e);if(!t)return null;try{let i=JSON.parse(t);return i.ttl>0&&Date.now()-i.saveTime>i.ttl?(this.delete(e),null):i.message}catch(e){return null}}set(e,t){let i={ttl:arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,saveTime:Date.now(),message:t};try{return localStorage.setItem(e,JSON.stringify(i)),!0}catch(e){return!1}}getTtl(e){let t=localStorage.getItem(e);if(!t)return null;try{return JSON.parse(t).ttl}catch(e){return null}}delete(e){try{return localStorage.removeItem(e),!0}catch(e){return!1}}}class bG extends bH{constructor(){super(...arguments),dY(this,"_accessVersion","v2")}getDeviceId(){if(ba())return"";let e=this.get(bU);return e&&!/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/.test(e)||(e=kQ(16)),this.setDeviceId(e),e}setDeviceId(e){return vL({device_id:e}),this.set(bU,e),e}getAccessKey(e){return"".concat(bV,"_").concat(e,"-").concat(bF,"-").concat(this._accessVersion)}getAccessNode(e){return this.get(this.getAccessKey(e))}setAccessNode(e,t,i){return this.set(this.getAccessKey(e),t,1e3*i)}deleteAccessNode(e,t){let i=this.getAccessNode(e),r=this.getTtl(this.getAccessKey(e));Array.isArray(i)&&i.length>0&&((i=i.filter(e=>e.mediaID!==t.mediaID&&e.msgKey!==t.msgKey)).length>0?this.setAccessNode(e,i,r||0):this.clearAccessNode(e))}clearAccessNode(e){if(e)this.delete(this.getAccessKey(e));else for(let e in localStorage)e.startsWith(bV)&&localStorage.removeItem(e)}getAccessUrls(){return this.get("".concat(bB,"-").concat(bF))}setAccessUrls(e){let t=e.map(e=>{let{host:t,path:i}=e;return"https://".concat(t).concat(i)});return this.set("".concat(bB,"-").concat(bF),t)}clearAccessUrls(){this.delete("".concat(bB,"-").concat(bF))}getEngineWebConfig(e,t){var i;let r="".concat(e,"_").concat(t,"_").concat(this.getDeviceId()),s=this.get(bz),n=(null==s||null==(i=s.find(e=>e.key===r))?void 0:i.config)||{};return Object.assign({},S2("ENGINE_WEB_CONFIG"),n)}setEngineWebConfig(e,t,i){if(!i)return;let r="".concat(e,"_").concat(t,"_").concat(this.getDeviceId()),s=this.get(bz)||[];return(s=s.filter(e=>e.key!==r)).push({key:r,config:i}),this.set(bz,s.slice(-5))}getServerConfig(e){var t;let i="".concat(e),r=this.get(bW);return(null==r||null==(t=r.find(e=>e.key===i))?void 0:t.config)||{}}setServerConfig(e,t){if(!t)return;let i="".concat(e),r=this.get(bW)||[];return(r=r.filter(e=>e.key!==i)).push({key:i,config:t}),this.set(bW,r.slice(-5))}}var bZ=new bG;let bK=new bn("JoinRoomConfig",0);class bX{constructor(e){dY(this,"_useTcpAfterJoinTimeout",bX.DEFAULT_CONF.useTcpAfterJoinTimeout),dY(this,"_joinWithTcpOnly",bX.DEFAULT_CONF.joinWithTcpOnly),dY(this,"_joinWithTcpOnlyDelay",bX.DEFAULT_CONF.joinWithTcpOnlyDelay),dY(this,"_blackBrowserRegexList",[]),this._engineId=e,location.search.indexOf("__rtc_tcp_only__")>-1&&(this._joinWithTcpOnly=!0,this._joinWithTcpOnlyDelay=0),this._report()}static setDefaulConf(e){let{useTcpAfterJoinTimeout:t,joinWithTcpOnly:i,joinWithTcpOnlyDelay:r}=e;return"boolean"==typeof t&&(bX.DEFAULT_CONF.useTcpAfterJoinTimeout=t),"boolean"==typeof i&&(bX.DEFAULT_CONF.joinWithTcpOnly=i),"number"==typeof r&&(bX.DEFAULT_CONF.joinWithTcpOnlyDelay=Math.max(0,r)),bX.DEFAULT_CONF}get useTcpAfterJoinTimeout(){return this._useTcpAfterJoinTimeout}get useTcpJoin(){return this._joinWithTcpOnly}get useTcpJoinDelay(){return this._joinWithTcpOnlyDelay}isBlackBrower(){return this._blackBrowserRegexList.find(e=>new RegExp(e).test(navigator.userAgent))}setServerConfig(e){var t,i,r;let s=!1;"boolean"==typeof(null==e||null==(t=e.use_tcp_after_join_timeout)?void 0:t.enable)&&(this._useTcpAfterJoinTimeout=e.use_tcp_after_join_timeout.enable,s=!0),"boolean"==typeof(null==e||null==(i=e.join_with_tcp_only)?void 0:i.enable)&&(this._joinWithTcpOnly=e.join_with_tcp_only.enable,s=!0),"number"==typeof(null==e||null==(r=e.join_with_tcp_only)?void 0:r.delay_ms)&&(this._joinWithTcpOnlyDelay=e.join_with_tcp_only.delay_ms,s=!0),e&&Array.isArray(e.black_browser_regex_list)&&(this._blackBrowserRegexList=e.black_browser_regex_list,s=!0),s&&this._report()}toString(){return JSON.stringify({use_tcp_after_join_timeout:this._useTcpAfterJoinTimeout,join_with_tcp_only:this._joinWithTcpOnly,join_with_tcp_only_delay:this._joinWithTcpOnlyDelay,black_browser_regex_list:this._blackBrowserRegexList})}_report(){bK.print("_report",this.toString()),v$(this._engineId,"web_join_room_config",this.toString())}}dY(bX,"DEFAULT_CONF",{useTcpAfterJoinTimeout:!0,joinWithTcpOnly:!1,joinWithTcpOnlyDelay:5e3});var bY=((Y=bY||{}).INVALID_ENGINE="INVALID_ENGINE",Y.INVALID_PARAMS="INVALID_PARAMS",Y.INVOKED_BEFORE_JOIN_ROOM="INVOKED_BEFORE_JOIN_ROOM",Y.INVALID_TOKEN="INVALID_TOKEN",Y.JOIN_ROOM_FAILED="JOIN_ROOM_FAILED",Y.UPDATE_TOKEN_WITH_INVALID_TOKEN="UPDATE_TOKEN_WITH_INVALID_TOKEN",Y.UPDATE_TOKEN_BEFORE_JOIN="UPDATE_TOKEN_BEFORE_JOIN",Y.REPEAT_JOIN="REPEAT_JOIN",Y.REPEAT_PUBLISH="REPEAT_PUBLISH",Y.REPEAT_PUSH="REPEAT_PUSH",Y.REPEAT_PLAY="REPEAT_PLAY",Y.PUBLISH_BEFORE_JOIN="PUBLISH_BEFORE_JOIN",Y.UNPUBLISH_BEFORE_JOIN="UNPUBLISH_BEFORE_JOIN",Y.SUBSCRIBE_BEFORE_JOIN="SUBSCRIBE_BEFORE_JOIN",Y.UNSUBSCRIBE_BEFORE_JOIN="UNSUBSCRIBE_BEFORE_JOIN",Y.NO_PUBLISH_PERMISSION="NO_PUBLISH_PERMISSION",Y.STREAM_NOT_EXIST="STREAM_NOT_EXIST",Y.EMPTY_STREAM="EMPTY_STREAM",Y.NOT_CONNECTED_YET="NOT_CONNECTED_YET",Y.IM_BEFORE_JOIN="IM_BEFORE_JOIN",Y.USER_NOT_EXIST="USER_NOT_EXIST",Y.ALREADY_IN_ROOM="ALREADY_IN_ROOM",Y.KICKED_OUT="KICKED_OUT",Y.ROOM_DISMISS="ROOM_DISMISS",Y.TOKEN_EXPIRED="TOKEN_EXPIRED",Y.TOKEN_NO_PUBLISH_PERMISSION="TOKEN_NO_PUBLISH_PERMISSION",Y.TOKEN_NO_SUBSCRIBE_PERMISSION="TOKEN_NO_SUBSCRIBE_PERMISSION",Y.DUPLICATE_LOGIN="DUPLICATE_LOGIN",Y.INVOKED_BEFORE_CAPTURE="INVOKED_BEFORE_CAPTURE",Y.REPEAT_CAPTURE="REPEAT_CAPTURE",Y.GET_VIDEO_TRACK_FAILED="GET_VIDEO_TRACK_FAILED",Y.GET_AUDIO_TRACK_FAILED="GET_AUDIO_TRACK_FAILED",Y.GET_SCREEN_TRACK_FAILED="GET_SCREEN_TRACK_FAILED",Y.STREAM_TYPE_NOT_MATCH="STREAM_TYPE_NOT_MATCH",Y.CANT_FIND_DOM="CANT_FIND_DOM",Y.INVALID_DEVICE_ID="INVALID_DEVICE_ID",Y.NO_PERMISSION="NO_PERMISSION",Y.NOT_SUPPORTED="NOT_SUPPORTED",Y.INTERRUPT="INTERRUPT",Y.ICE_SERVER_WRONG="ICE_SERVER_WRONG",Y.ESTABLISH_DATACHANNEL_FAILED="ESTABLISH_DATACHANNEL_FAILED",Y.LOAD_RESOURCES_FAILED="LOAD_RESOURCES_FAILED",Y.SIGNALING_CHANNEL_NOT_OPEN="SIGNALING_CHANNEL_NOT_OPEN",Y.TIME_OUT="TIME_OUT",Y.REFUSE_OPERATION_IN_DISCONNECT="REFUSE_OPERATION_IN_DISCONNECT",Y.ADD_TRANSCEIVER_FAILED="ADD_TRANSCEIVER_FAILED",Y.UPDATE_TRACK_FAILED="UPDATE_TRACK_FAILED",Y.PUBLISH_FAILED="PUBLISH_FAILED",Y.UNPUBLISH_FAILED="UNPUBLISH_FAILED",Y.SUBSCRIBE_FAILED="SUBSCRIBE_FAILED",Y.UNSUBSCRIBE_FAILED="UNSUBSCRIBE_FAILED",Y.OPERATION_CANCEL="OPERATION_CANCEL",Y.START_CLOUD_PROXY_AFTER_JOIN="START_CLOUD_PROXY_AFTER_JOIN",Y.STOP_CLOUD_PROXY_BEFORE_LEAVE="STOP_CLOUD_PROXY_BEFORE_LEAVE",Y.UNEXPECTED_ERROR="UNEXPECTED_ERROR",Y.REPEAT_DEVICE_TEST="REPEAT_DEVICE_TEST",Y.AUDIO_DEVICE_TEST_FAILED="AUDIO_DEVICE_RECORD_FAILED",Y.ALREADY_LOGIN="ALREADY_LOGIN",Y.LOGIN_FAILED="LOGIN_FAILED",Y.NOT_LOGIN="NOT_LOGIN",Y.RTM_DUPLICATE_LOGIN="RTM_DUPLICATE_LOGIN",Y.RTM_TOKEN_ERROR="RTM_TOKEN_ERROR",Y.USER_MESSAGE_TIMEOUT="USER_MESSAGE_TIMEOUT",Y.USER_MESSAGE_BROKEN="USER_MESSAGE_BROKEN",Y.USER_MESSAGE_NO_RECEIVER="USER_MESSAGE_NO_RECEIVER",Y.USER_MESSAGE_NO_RELAYPATH="USER_MESSAGE_NO_RELAYPATH",Y.USER_MESSAGE_EXCEED_QPS="USER_MESSAGE_EXCEED_QPS",Y.USER_MESSAGE_SEND_TO_SERVER_ERROR="USER_MESSAGE_SEND_TO_SERVER_ERROR",Y.USER_MESSAGE_SERVER_RESPONSE_ERROR="USER_MESSAGE_SERVER_RESPONSE_ERROR",Y.USER_MESSAGE_NOT_JOIN="USER_MESSAGE_NOT_JOIN",Y.USER_MESSAGE_INIT="USER_MESSAGE_INIT",Y.USER_MESSAGE_NO_CONNECTION="USER_MESSAGE_NO_CONNECTION",Y.USER_MESSAGE_NOT_LOGIN="USER_MESSAGE_NOT_LOGIN",Y.USER_MESSAGE_SERVER_PARAMS_NOTSET="USER_MESSAGE_SERVER_PARAMS_NOTSET",Y.USER_MESSAGE_UNKNOWN="USER_MESSAGE_UNKNOWN",Y.START_PUBLIC_STREAM_BEFORE_JOIN="START_PUBLIC_STREAM_BEFORE_JOIN",Y.RECONNECT_FAILED="RECONNECT_FAILED",Y.SUBTITLE_ALREADY_ON="SUBTITLE_ALREADY_ON",Y.SUBTITLE_NOT_TURNED_ON="SUBTITLE_NOT_TURNED_ON",Y.SUBTITLE_ERR_POSTPROCESS="SUBTITLE_ERR_POSTPROCESS",Y.SUBTITLE_ERR_CONNECTION_ERROR="SUBTITLE_ERR_CONNECTION_ERROR",Y.SUBTITLE_ERR_PROCESS_ERROR="SUBTITLE_ERR_PROCESS_ERROR",Y.SUBTITLE_ERR_UNKNOWN="SUBTITLE_ERR_UNKNOWN",Y.UNEXPECTED_INVOKE_FORWARD_STREAM="UNEXPECTED_INVOKE_FORWARD_STREAM",Y.ROOM_FORBIDDEN="ROOM_FORBIDDEN",Y.USER_FORBIDDEN="USER_FORBIDDEN",Y.ERR_ELECTRON_IS_NULL="ERR_ELECTRON_IS_NULL",Y.ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR="ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR",Y.SET_SIMULCAST_FAILED="SET_SIMULCAST_FAILED",Y.MIXING_OLD_AND_NEW_APIS="MIXING_OLD_AND_NEW_APIS",Y.WTN_PUSH_FAILED="WTN_PUSH_FAILED",Y.WTN_PLAY_FAILED="WTN_PLAY_FAILED",Y.NOT_ALLOWED_IN_RTS_ROOM="NOT_ALLOWED_IN_RTS_ROOM",Y.NOT_ALLOWED_IN_RESTRICTED_MODE="NOT_ALLOWED_IN_RESTRICTED_MODE",Y),bJ=((J=bJ||{})[J.AUDIO_MIXING_ERROR_OK=0]="AUDIO_MIXING_ERROR_OK",J[J.AUDIO_MIXING_ERROR_PRELOAD_FAILED=1]="AUDIO_MIXING_ERROR_PRELOAD_FAILED",J[J.AUDIO_MIXING_ERROR_START_FAILED=2]="AUDIO_MIXING_ERROR_START_FAILED",J[J.AUDIO_MIXING_ERROR_ID_NOT_FOUND=3]="AUDIO_MIXING_ERROR_ID_NOT_FOUND",J[J.AUDIO_MIXING_ERROR_SET_POSITION_FAILED=4]="AUDIO_MIXING_ERROR_SET_POSITION_FAILED",J[J.AUDIO_MIXING_ERROR_INVALID_VOLUME=5]="AUDIO_MIXING_ERROR_INVALID_VOLUME",J[J.AUDIO_MIXING_ERROR_LOAD_CONFLICT=6]="AUDIO_MIXING_ERROR_LOAD_CONFLICT",J[J.AUDIO_MIXING_ERROR_ID_TYPE_NOT_MATCH=7]="AUDIO_MIXING_ERROR_ID_TYPE_NOT_MATCH",J[J.AUDIO_MIXING_ERROR_ID_TYPE_INVALID_PITCH=8]="AUDIO_MIXING_ERROR_ID_TYPE_INVALID_PITCH",J[J.AUDIO_MIXING_ERROR_INVALID_AUDIO_TRACK=9]="AUDIO_MIXING_ERROR_INVALID_AUDIO_TRACK",J);class b$ extends Error{constructor(e,t,i){super(t),dY(this,"code",void 0),dY(this,"message",void 0),dY(this,"error",void 0),this.code=e,this.message=t,this.error=i,Object.setPrototypeOf(this,b$.prototype)}toString(){return"SDKError: ".concat(this.code," ").concat(this.message)}}var bq=(($=bq||{}).onTrackEnded="onTrackEnded",$.onTrackMute="onTrackMute",$.onTrackUnmute="onTrackUnmute",$.onPlayerEvent="onPlayerEvent",$.onAutoplayFailed="onAutoplayFailed",$.onUserJoined="onUserJoined",$.onUserLeave="onUserLeave",$.onConnectionStateChanged="onConnectionStateChanged",$.onUserPublishStream="onUserPublishStream",$.onUserUnpublishStream="onUserUnpublishStream",$.onUserPublishScreen="onUserPublishScreen",$.onUserUnpublishScreen="onUserUnpublishScreen",$.onRoomMessageReceived="onRoomMessageReceived",$.onRoomBinaryMessageReceived="onRoomBinaryMessageReceived",$.onUserMessageReceived="onUserMessageReceived",$.onUserBinaryMessageReceived="onUserBinaryMessageReceived",$.onVideoFirstFrameRendered="onVideoFirstFrameRendered",$.onVideoFirstFrameDecoded="onVideoFirstFrameDecoded",$.onRemoteVideoFirstFrame="onRemoteVideoFirstFrame",$.onAudioFirstFrameDecoded="onAudioFirstFrameDecoded",$.onRemoteAudioFirstFrame="onRemoteAudioFirstFrame",$.onFirstPublicStreamVideoFrameRendered="onFirstPublicStreamVideoFrameRendered",$.onFirstPublicStreamVideoFrameDecoded="onFirstPublicStreamVideoFrameDecoded",$.onFirstPublicStreamAudioFrameDecoded="onFirstPublicStreamAudioFrameDecoded",$.onVideoDeviceStateChanged="onVideoDeviceStateChanged",$.onAudioDeviceStateChanged="onAudioDeviceStateChanged",$.onRemoteStreamStats="onRemoteStreamStats",$.onPublicStreamStats="onPublicStreamStats",$.onLocalStreamStats="onLocalStreamStats",$.onAudioVolumeIndication="onAudioVolumeIndication",$.onLocalAudioPropertiesReport="onLocalAudioPropertiesReport",$.onRemoteAudioPropertiesReport="onRemoteAudioPropertiesReport",$.onActiveSpeaker="onActiveSpeaker",$.onAudioPlaybackDeviceChanged="onAudioPlaybackDeviceChanged",$.onUserStartVideoCapture="onUserStartVideoCapture",$.onUserStopVideoCapture="onUserStopVideoCapture",$.onUserStartAudioCapture="onUserStartAudioCapture",$.onUserStopAudioCapture="onUserStopAudioCapture",$.onAutoPublishResult="onAutoPublishResult",$.onAutoSubscribeResult="onAutoSubscribeResult",$.onLiveTranscodingResult="onLiveTranscodingResult",$.onStreamMixingEvent="onStreamMixingEvent",$.onAudioPlaybackDeviceTestVolume="onAudioPlaybackDeviceTestVolume",$.onSEIMessageReceived="onSEIMessageReceived",$.onError="onError",$.onAudioMixingStateChanged="onAudioMixingStateChanged",$.onUserMessageReceivedOutsideRoom="onUserMessageReceivedOutsideRoom",$.onUserBinaryMessageReceivedOutsideRoom="onUserBinaryMessageReceivedOutsideRoom",$.onTokenWillExpire="onTokenWillExpire",$.onTokenPublishPrivilegeWillExpire="onTokenPublishPrivilegeWillExpire",$.onTokenPublishPrivilegeDidExpired="onTokenPublishPrivilegeDidExpired",$.onTokenSubscribePrivilegeWillExpire="onTokenSubscribePrivilegeWillExpire",$.onTokenSubscribePrivilegeDidExpired="onTokenSubscribePrivilegeDidExpired",$.onCloudProxyConnected="onCloudProxyConnected",$.onPushPublicStreamResult="onPushPublicStreamResult",$.onPublicStreamSEIMessageReceived="onPublicStreamSEIMessageReceived",$.onNetworkQuality="onNetworkQuality",$.onSimulcastSubscribeFallback="onSimulcastSubscribeFallback",$.onRemoteVideoSizeChanged="onRemoteVideoSizeChanged",$.onVideoStreamBanned="onVideoStreamBanned",$.onAudioStreamBanned="onAudioStreamBanned",$.onLocalVideoSizeChanged="onLocalVideoSizeChanged",$.onSubtitleStateChanged="onSubtitleStateChanged",$.onSubtitleMessageReceived="onSubtitleMessageReceived",$.onServerParamsSetResult="onServerParamsSetResult",$.onLocalStreamTrackChangedByExtension="onLocalStreamTrackChangedByExtension",$.onVendorConnectionStateChanged="onVendorConnectionStateChanged",$.onForwardStreamError="onForwardStreamError",$.onRejoinWithTcp="onRejoinWithTcp",$.onIceConnectWithTcp="onIceConnectWithTcp",$.onPublishRetry="onPublishRetry",$.onSubscribeRetry="onSubscribeRetry",$.onPublishResult="onPublishResult",$.onSubscribeResult="onSubscribeResult",$.onSEIStreamUpdate="onSEIStreamUpdate",$);function bQ(e,t){if("boolean"!=typeof e)throw new b$(bY.INVALID_PARAMS,"Invalid ".concat(t,": The value should be boolean type."))}let b0=()=>!hZ()&&"function"==typeof HTMLVideoElement.prototype.requestVideoFrameCallback;function b1(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0;if(er||"number"!=typeof e)throw new b$(bY.INVALID_PARAMS,"Invalid ".concat(t,": the value range is [").concat(i,", ").concat(r,"]. integer only"))}function b2(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0;if(null==e)throw new b$(bY.INVALID_PARAMS,"".concat(t," cannot be empty"));if(!b7(e,i,r))throw new b$(bY.INVALID_PARAMS,"Invalid ".concat(t,": The value should be string type. Length of the string: [").concat(i,",").concat(r,"]"))}function b3(e,t,i){if(!i.includes(e))throw new b$(bY.INVALID_PARAMS,"Invalid ".concat(t,": The value can only be set as ").concat(JSON.stringify(i)))}function b4(e){if(!(e instanceof MediaStreamTrack))throw new b$(bY.INVALID_PARAMS,"Invalid track, The value should be MediaStreamTrack type.")}function b5(e,t){if(Se(e))throw new b$(bY.INVALID_PARAMS,"Invalid ".concat(t,", should not be empty"))}function b9(e,t){if(!Array.isArray(e))throw new b$(bY.INVALID_PARAMS,"Invalid ".concat(t,", should be array"))}function b6(e,t){if(!(e instanceof ArrayBuffer))throw new b$(bY.INVALID_PARAMS,"Invalid ".concat(t,", should be ArrayBuffer"))}function b8(e){try{let t=navigator.mediaDevices.getSupportedConstraints();for(let i of Object.keys(e))t[i]||delete e[i]}catch(e){}}function b7(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0;return"string"==typeof e&&e.length<=i&&e.length>=t}function Se(e){return null==e}function St(e){if("string"!=typeof e||!/^[a-zA-Z0-9@._-]{1,128}$/.test(e))throw new b$(bY.INVALID_PARAMS,"The RoomId must be within 128 bytes. The supported characters: a-z,A-Z,0-9,@,-,_,.")}function Si(e){if("string"!=typeof e||!/^[a-zA-Z0-9@._-]{1,128}$/.test(e))throw new b$(bY.INVALID_PARAMS,"The userId must be within 128 bytes. The supported characters: a-z,A-Z,0-9,@,-,_,.")}function Sr(e){if("string"!=typeof e||!/^[a-zA-Z0-9@._-]{1,128}$/.test(e))throw new b$(bY.INVALID_PARAMS,"The publicStreamId must be within 128 bytes. The supported characters: a-z,A-Z,0-9,@,-,_,.")}function Ss(e){return"string"!=typeof e}function Sn(e){b5(e,"userInfo"),Si(e.userId),Se(e.extraInfo)||b2(e.extraInfo,"userInfo.extraInfo",1,200)}function Sa(e){b5(e,"roomConfig"),bQ(e.isAutoPublish,"roomConfig.isAutoPublish"),bQ(e.isAutoSubscribeAudio,"roomConfig.isAutoSubscribeAudio"),bQ(e.isAutoSubscribeVideo,"roomConfig.isAutoSubscribeVideo"),Se(e.roomProfileType)||b3(e.roomProfileType,"roomConfig",[hC.communication,hC.chat,hC.chatRoom,hC.coHost,hC.meeting,hC.classRoom])}function So(e){b5(e,"videoPlayerOption")}function Sl(e){var t,i;let r,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64;if(!e||0===(null==e?void 0:e.byteLength))throw new b$(bY.INVALID_PARAMS,"The message cannot be empty");if(e instanceof ArrayBuffer)r=e;else{if("string"!=typeof e)throw new b$(bY.INVALID_PARAMS,"The message must be string or ArrayBuffer");r=kK.str2ab(e)}if((null==(t=r)?void 0:t.byteLength)>1024*s)throw new b$(bY.INVALID_PARAMS,"The message length must be less than ".concat(s,"KB"));return null!=(i=r.byteLength)?i:0}function Sc(e){let t=S2("FORCE_ENABLED_REPORT_CALLBACKS");return!!(null!=t&&t.includes(e)||e===bq.onRemoteStreamStats&&S2("UPLOAD_REMOTE_STATS"))||![bq.onRemoteStreamStats,bq.onLocalStreamStats,bq.onAudioVolumeIndication,bq.onLocalAudioPropertiesReport,bq.onRemoteAudioPropertiesReport].includes(e)}function Sd(e){if("number"!=typeof(null==e?void 0:e.width)||"number"!=typeof(null==e?void 0:e.height))throw new b$(bY.INVALID_PARAMS,"remoteVideoConfig must contain width, height, frameRate")}function Su(e,t){if("number"==typeof e&&!Number.isNaN(e)&&e>=1)return;let i=e;if(!(null!=i&&i.min||null!=i&&i.max||null!=i&&i.exact||null!=i&&i.ideal))throw new b$(bY.INVALID_PARAMS,"".concat(t," is not a valid ConstrainULong"))}function Sh(e){for(let t of(b9(e,"videoEncoderConfig"),e))b5(t,"videoEncoderConfigItem"),b1(null==t?void 0:t.maxKbps,"maxKbps"),Su(null==t?void 0:t.width,"width"),Su(null==t?void 0:t.height,"height"),Su(null==t?void 0:t.frameRate,"frameRate")}function Sp(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1/0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0;return b1(e,t,-1/0,1/0),e=(e=e>i?e:i){try{return!(ba()||!window.RTCPeerConnection||!window.RTCPeerConnection.prototype.addTransceiver||!window.RTCPeerConnection.prototype.createDataChannel)&&await SR()&&await SI()}catch(e){return!1}},Sb=async()=>{let e=[];return await SP()&&await SM()&&e.push(Sy.ByteVC1),await SR()&&await SI()&&e.push(Sy.H264),await SA()&&await SN()&&e.push(Sy.VP8),e},SS=async()=>(await Sb()).map(e=>e===Sy.ByteVC1?"H265":e.toUpperCase()),Sk=()=>{let e=!1;if("function"==typeof RTCRtpSender.getCapabilities){let{codecs:t}=RTCRtpSender.getCapabilities("video")||{};t&&t.length>0&&t.forEach(t=>{var i,r;(null!=(i=null==t||null==(r=t.sdpFmtpLine)?void 0:r.indexOf("profile-level-id=42001f"))?i:-1)>-1&&(e=!0)})}return e},Sx={};function SC(e){let t=e.split("\n"),i=!1;for(let e of t)if(e.includes("level-asymmetry-allowed=1")&&e.includes("packetization-mode=1")&&e.includes("profile-level-id=42e0")){i=!0;break}if(i){let e=navigator.userAgent.toLowerCase(),t=!1;for(let i of[/miuibrowser/,/70.*HeyTapBrowser/i])i.test(e)&&(t=!0);return!t}return!1}let Sw=async e=>{let t=new RTCPeerConnection;t.addTransceiver("video",{direction:e});let i=await t.createOffer();return t.close(),i.sdp.toLowerCase()},SE=async()=>{let e=await Sw("sendonly");return navigator.userAgent.includes("VivoBrowser")&&(e=await Sw("sendonly")),Sx.h264encode=SC(e),Sx.vp8encode=e.indexOf("vp8")>-1,Sx.h265encode=e.indexOf("h265")>-1,Sx},ST=async()=>{let e=await Sw("recvonly");return navigator.userAgent.includes("VivoBrowser")&&(e=await Sw("recvonly")),Sx.h264decode=SC(e),Sx.vp8decode=e.indexOf("vp8")>-1,Sx.h265decode=e.indexOf("h265")>-1,Sx},SI=async()=>{if(void 0===Sx.h264encode)try{await SE()}catch(e){return!1}return Sx.h264encode||!1},SR=async()=>{if(void 0===Sx.h264decode)try{await ST()}catch(e){return!1}return Sx.h264decode||!1},SN=async()=>{if(void 0===Sx.vp8encode)try{await SE()}catch(e){return!1}return Sx.vp8encode||!1},SA=async()=>{if(void 0===Sx.vp8decode)try{await ST()}catch(e){return!1}return Sx.vp8decode||!1},SM=async()=>{if(void 0===Sx.h265encode)try{await SE()}catch(e){return!1}return Sx.h265encode||!1},SP=async()=>{if(void 0===Sx.h265decode)try{await ST()}catch(e){return!1}return Sx.h265decode||!1},Sj=()=>"u">typeof TransformStream&&"u">typeof RTCRtpSender&&"u">typeof RTCRtpReceiver&&"u">typeof RTCRtpScriptTransform&&"transform"in RTCRtpSender.prototype&&"transform"in RTCRtpReceiver.prototype&&SW()&&SG(),SL=()=>"u">typeof TransformStream&&"u">typeof RTCRtpSender&&"u">typeof RTCRtpReceiver&&void 0!==RTCRtpSender.prototype.createEncodedStreams&&void 0!==RTCRtpReceiver.prototype.createEncodedStreams,SD=()=>bb?bu&&bO>=70||bc&&bM>=80||bd&&bA>=14:bw?bu&&bO>=70||bc&&bM>=80:bx?bj[0]>=14:!(!bC&&!bE)&&bu&&bO>=86,SO=bu&&bO<=114,SF=!bc||bM>=96,SU=!(bd&&bA<=14),SV=bC&&bu||bx&&bj[0]>=16,SB=()=>!bc&&!by&&14!==(null==bj?void 0:bj[0]),Sz=void 0!==S_&&"PressureObserver"in S_,SW=()=>"u">typeof window&&window.Worker,SH=!(bd&&bA<=14),SG=()=>"u">typeof MessageChannel,SZ=!(bd&&((null==bP?void 0:bP.includes("16.1"))||(null==bP?void 0:bP.includes("16.2"))||(null==bP?void 0:bP.includes("16.3")))),SK="access.rtc.volcvideo.com,access2-hl.rtc.volcvideo.com,rtcg-access.volcvideos.com".split(",");function SX(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?(/^https?:\/\/.+/.test(e)||(e="https://".concat(e)),"".concat(e,"/dispatch/v1/AccessInfo?Action=GetAccessInfo")):""}function SY(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?(/^https?:\/\/.+/.test(e)||(e="https://".concat(e)),"".concat(e,"/video/v1/webrtc_log/")):""}let SJ="https://web-log-report.rtc.volcvideo.com/video/v1/webrtc_log/",S$="https://web-log-report.volcvideos.com/video/v1/webrtc_log/",Sq="common.rtc.volcvideo.com,rtcg.volcvideos.com".split(","),SQ={VERSION:"4.66.38",ICE_CONFIG_REQUEST_URLS_INTERNAL:SK.map(SX),ICE_CONFIG_REQUEST_URLS:[],EXPECTED_ADDR:"",LOG_SERVER_URL:SJ,CONFIG_REQUEST_DOMAINS:Sq,DEVICE_ID:"",OVERSEA:!1,PLATFORM:"",PRODUCT:"",FORCE_ENABLED_REPORT_CALLBACKS:[],SKIP_WEB_AUDIO_IN_TRACK:!1,ENFORCE_WEB_AUDIO_SUPPORTED:!1,AUDIO_STALL:!0,VIDEO_STALL:!0,VIDEO_STALL_100MS:!1,STATS_SCALLBACK_SUPPORT:!0,JOIN_ROOM_CONFIG:bX.DEFAULT_CONF,SIGNAL_COMPRESSION:!0,SIGNAL_CROP_JOINROOM:!0,VIDEO_STALL_DATA:500,AUDIO_STALL_DATA:200,IOS_SAFARI_ORIENTATION:!1,BLACK_FRAME_LIFETIME:6e4,FALLBACK_ENCODE_CODEC:"",SEI_TIME_OUT:2e3,SEI_COUNT_FPS:1,PRE_ICE:!1,STATS_LOOP_INTERVAL:1e3,HIDDEN_STATS:!1,UPLOAD_REMOTE_STATS:Sf.NONE,SDK_CODEC_NEGOTIATION:!0,AUDIO_CODEC:"OPUS",DISABLE_ENCODED_TRANSFORM:!1,SKIP_SEI_FILTER:!1,AREA_CODE:"",DISABLE_COMPUTE_PRESSURE:!1,SEND_MESSAGE_SYNC:!1,H264_HW_ENCODER:!1,GPU_URL:"",ENABLE_FALLBACK_HANDLER:!1,ENABLE_STANDARD_HANDLER:ke(),PC_KILLSWITCH:{},ENABLE_PLAY_AFTER_CLICK:!1,AUTOPLAY_WORKAROUND:!0,ENGINE_WEB_CONFIG:{},DISABLE_IOS_MUTE_WORKAROUND:!1,AUTOPLAY_THROTTLE:0,USE_IPV6:!1},S0="u"Promise.resolve():null==(kc=window)||null==(kc=kc.RTCPeerConnection)?void 0:kc.prototype.setRemoteDescription;function S1(e,t){if(vF("setParameter",0,"key: ".concat(e,", value: ").concat(t)),"VERSION"!==e){if("H264_HW_ENCODER"===e)return void((SQ.H264_HW_ENCODER=!!t,t)?Sk()?(vF("setParameter",0,"key: ".concat(e,", value: ").concat(t," is executed as it met 42001f")),RTCPeerConnection.prototype.setRemoteDescription=function(e){var t;return S0.call(this,{type:e.type,sdp:null==(t=e.sdp)?void 0:uF(t).call(t,"42e01f","42001f")})}):vF("setParameter",0,"key: ".concat(e,", value: ").concat(t," fails as sdp contains no 42001f")):RTCPeerConnection.prototype.setRemoteDescription=S0);if("GPU_URL"===e)return void(SQ.GPU_URL=t);if("JOIN_ROOM_CONFIG"===e)return bX.setDefaulConf(t);if("ICE_CONFIG_REQUEST_URLS"===e)return SQ.ICE_CONFIG_REQUEST_URLS=("string"==typeof t?[t]:t).map(SX),bZ.clearAccessUrls(),void bZ.clearAccessNode();if("VIDEO_STALL_DATA"===e)return void(SQ.VIDEO_STALL_DATA=Math.max(500,Number(t)));if("AUDIO_STALL_DATA"===e)return void(SQ.AUDIO_STALL_DATA=Math.max(200,Number(t)));if("VIDEO_STALL_100MS"===e)return void(SQ.VIDEO_STALL_100MS=b0()&&!!t);if("PLATFORM"===e&&"string"==typeof t)return void vL({platform:t});if("PRODUCT"===e&&"string"==typeof t)return void vL({product:t});if("FORCE_ENABLED_REPORT_CALLBACKS"===e)return void(SQ.FORCE_ENABLED_REPORT_CALLBACKS="string"==typeof t?[t]:t);if("LOG_SERVER_URL"===e){let e=t===hg.overseas?S$:t===hg.domestic?SJ:"string"==typeof t?t:void 0;e&&(SQ.LOG_SERVER_URL=e,vD(e))}else if("OVERSEA"===e)return vL({extra_is_oversea:t?"1":"0"}),void(SQ.OVERSEA=t);if("CONFIG_REQUEST_DOMAINS"===e&&Array.isArray(t)&&t.length>0)return void(SQ.CONFIG_REQUEST_DOMAINS=t);if(("SEI_TIME_OUT"!==e||"number"==typeof t)&&("SEI_COUNT_FPS"!==e||"number"==typeof t)){if("UPLOAD_REMOTE_STATS"===e&&"string"==typeof t)return void(SQ.UPLOAD_REMOTE_STATS=t.split(",").map(e=>u9(e).call(e)).reduce((e,t)=>"video"===t?e|hl.VIDEO:"audio"===t?e|hl.AUDIO:e,Sf.NONE));if("AINR_URLS"===e&&"string"==typeof t)try{let{gulpUrl:e,wasmUrl:i,type5ModelUrl:r,type6ModelUrl:s}=JSON.parse(t);return void(SQ.AINR_URLS={gulpUrl:e,wasmUrl:i,type5ModelUrl:r,type6ModelUrl:s})}catch(e){console.error(e)}"DEVICE_ID"===e&&bZ.setDeviceId(t),h7.getKeys().includes(e)?h7.setParameter(e,t):Reflect.set(SQ,e,t)}}}function S2(e){return"DEVICE_ID"===e?bZ.getDeviceId():SQ[e]}function S3(e,t,i){var r,s,n,a,o,l,c,d;return{type:"publicstream",action:t,publicStreamID:e,publicStreamMeta:{audio:{},video:{fps:(null==(r=i.video)?void 0:r.fps)||15,bitrate:1e3*((null==(s=i.video)?void 0:s.kBitRate)||40),width:(null==(n=i.video)?void 0:n.width)||640,height:(null==(a=i.video)?void 0:a.height)||360},layout:{layoutMode:2,interpolationMode:(null==(o=i.layout)?void 0:o.interpolationMode)||hv.PREV_FRAME,canvas:{bgColor:(null==(l=i.layout)?void 0:l.backgroundColor)||"#000000",bgImage:(null==(c=i.layout)?void 0:c.backgroundImage)||""},regions:(null==(d=i.layout)||null==(d=d.regions)?void 0:d.map(e=>({roomId:e.roomId,userId:e.userId,alterImage:e.alertImage||"",alpha:!e.alpha||Number(e.alpha)>1||0>=Number(e.alpha)?1:Number(e.alpha),x:!e.x||Number(e.x)>=1||0>Number(e.x)?0:Number(e.x),y:!e.y||Number(e.y)>=1||0>Number(e.y)?0:Number(e.y),w:!e.w||Number(e.w)>1||0>=Number(e.w)?1:Number(e.w),h:!e.h||Number(e.h)>1||0>=Number(e.h)?1:Number(e.h),zorder:!e.zorder||0>Number(e.zorder)||Number(e.zorder)>100?0:Number(e.zorder),renderMode:void 0===e.renderMode?1:e.renderMode,streamType:+!!e.isScreenStream,mediaType:e.mediaType||0,sourceCrop:e.sourceCrop})))||[]}}}}let S4=[];function S5(){return S4}function S9(e){S4=e}let S6=(e,t)=>{let i=S5();if(!i.length)return;let r=e[0],s=t.width||xe(r.width),n=t.height||xe(r.height),a=s*n;if(xe(r.width)*xe(r.height)<=a)return;let o,l,c=i[0];i.forEach(e=>{let t=xe(e.width)*xe(e.height);o||(a!(l&&xe(e.width)*xe(e.height)>=a)||(l.maxKbps=Math.min(e.maxKbps,l.maxKbps),!1));return d.unshift({width:s,height:n,frameRate:t.frameRate?Math.round(t.frameRate):d[0].frameRate,maxKbps:l.maxKbps}),d},S8={width:640,height:480,frameRate:15,maxKbps:600},S7={width:1920,height:1080,frameRate:15,maxKbps:3e3};function ke(){return(bu||bg)&&!bx}let kt=new Uint8Array(16);function ki(){if(!r&&!(r="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(kt)}let kr=[];for(let e=0;e<256;++e)kr.push((e+256).toString(16).slice(1));function ks(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return kr[e[t+0]]+kr[e[t+1]]+kr[e[t+2]]+kr[e[t+3]]+"-"+kr[e[t+4]]+kr[e[t+5]]+"-"+kr[e[t+6]]+kr[e[t+7]]+"-"+kr[e[t+8]]+kr[e[t+9]]+"-"+kr[e[t+10]]+kr[e[t+11]]+kr[e[t+12]]+kr[e[t+13]]+kr[e[t+14]]+kr[e[t+15]]}var kn="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);function ka(e,t,i){if(kn&&!t&&!e)return kn();let r=(e=e||{}).random||(e.rng||ki)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){i=i||0;for(let e=0;e<16;++e)t[i+e]=r[e];return t}return ks(r)}var ko={exports:{}},kl,kc,kd,ku={exports:{}},kh=e3(Object.freeze({__proto__:null,default:new Proxy({},{get(e,t){throw Error(`Module "" has been externalized for browser compatibility. Cannot access ".${t}" in client code. See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)}})}));function kp(){var e;return kd||(kd=1,ku.exports=e=e||function(e,t){if("u">typeof window&&window.crypto&&(i=window.crypto),"u">typeof self&&self.crypto&&(i=self.crypto),void 0!==S_&&S_.crypto&&(i=S_.crypto),!i&&"u">typeof window&&window.msCrypto&&(i=window.msCrypto),!i&&void 0!==e1&&e1.crypto&&(i=e1.crypto),!i)try{i=kh}catch(e){}var i,r=function(){if(i){if("function"==typeof i.getRandomValues)try{return i.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof i.randomBytes)try{return i.randomBytes(4).readInt32LE()}catch(e){}}throw Error("Native crypto module could not be used to get secure random number.")},s=Object.create||function(){function e(){}return function(t){var i;return e.prototype=t,i=new e,e.prototype=null,i}}(),n={},a=n.lib={},o=a.Base={extend:function(e){var t=s(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},l=a.WordArray=o.extend({init:function(e,i){e=this.words=e||[],this.sigBytes=i!=t?i:4*e.length},toString:function(e){return(e||d).stringify(this)},concat:function(e){var t=this.words,i=e.words,r=this.sigBytes,s=e.sigBytes;if(this.clamp(),r%4)for(var n=0;n>>2]>>>24-n%4*8&255;t[r+n>>>2]|=a<<24-(r+n)%4*8}else for(var o=0;o>>2]=i[o>>>2];return this.sigBytes+=s,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=0xffffffff<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],i=0;i>>2]>>>24-s%4*8&255;r.push((n>>>4).toString(16)),r.push((15&n).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new l.init(i,t/2)}},u=c.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],s=0;s>>2]>>>24-s%4*8&255;r.push(String.fromCharCode(n))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new l.init(i,t)}},h=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},p=a.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var i,r=this._data,s=r.words,n=r.sigBytes,a=this.blockSize,o=n/(4*a),c=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*a,d=e.min(4*c,n);if(c){for(var u=0;utypeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,r=[],s=0;s>>2]|=e[s]<<24-s%4*8;i.call(this,r,t)}else i.apply(this,arguments)}).prototype=t}}(),ko.exports=e.lib.WordArray}();var km,kf=e2(ko.exports),kg={exports:{}},k_={exports:{}};function ky(){var e;return km||(km=1,e=kp(),function(){var t=e,i=t.lib.WordArray;function r(e,t,r){for(var s=[],n=0,a=0;a>>6-a%4*2;s[n>>>2]|=o<<24-n%4*8,n++}return i.create(s,n)}t.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,r=this._map;e.clamp();for(var s=[],n=0;n>>2]>>>24-n%4*8&255)<<16|(t[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|t[n+2>>>2]>>>24-(n+2)%4*8&255,o=0;o<4&&n+.75*o>>6*(3-o)&63));var l=r.charAt(64);if(l)for(;s.length%4;)s.push(l);return s.join("")},parse:function(e){var t=e.length,i=this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var n=0;n>>24)|0xff00ff00&(s<<24|s>>>8)}var n=this._hash.words,a=e[t+0],l=e[t+1],p=e[t+2],m=e[t+3],f=e[t+4],g=e[t+5],_=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],S=e[t+10],k=e[t+11],x=e[t+12],C=e[t+13],w=e[t+14],E=e[t+15],T=n[0],I=n[1],R=n[2],N=n[3];T=c(T,I,R,N,a,7,o[0]),N=c(N,T,I,R,l,12,o[1]),R=c(R,N,T,I,p,17,o[2]),I=c(I,R,N,T,m,22,o[3]),T=c(T,I,R,N,f,7,o[4]),N=c(N,T,I,R,g,12,o[5]),R=c(R,N,T,I,_,17,o[6]),I=c(I,R,N,T,y,22,o[7]),T=c(T,I,R,N,v,7,o[8]),N=c(N,T,I,R,b,12,o[9]),R=c(R,N,T,I,S,17,o[10]),I=c(I,R,N,T,k,22,o[11]),T=c(T,I,R,N,x,7,o[12]),N=c(N,T,I,R,C,12,o[13]),R=c(R,N,T,I,w,17,o[14]),T=d(T,I=c(I,R,N,T,E,22,o[15]),R,N,l,5,o[16]),N=d(N,T,I,R,_,9,o[17]),R=d(R,N,T,I,k,14,o[18]),I=d(I,R,N,T,a,20,o[19]),T=d(T,I,R,N,g,5,o[20]),N=d(N,T,I,R,S,9,o[21]),R=d(R,N,T,I,E,14,o[22]),I=d(I,R,N,T,f,20,o[23]),T=d(T,I,R,N,b,5,o[24]),N=d(N,T,I,R,w,9,o[25]),R=d(R,N,T,I,m,14,o[26]),I=d(I,R,N,T,v,20,o[27]),T=d(T,I,R,N,C,5,o[28]),N=d(N,T,I,R,p,9,o[29]),R=d(R,N,T,I,y,14,o[30]),T=u(T,I=d(I,R,N,T,x,20,o[31]),R,N,g,4,o[32]),N=u(N,T,I,R,v,11,o[33]),R=u(R,N,T,I,k,16,o[34]),I=u(I,R,N,T,w,23,o[35]),T=u(T,I,R,N,l,4,o[36]),N=u(N,T,I,R,f,11,o[37]),R=u(R,N,T,I,y,16,o[38]),I=u(I,R,N,T,S,23,o[39]),T=u(T,I,R,N,C,4,o[40]),N=u(N,T,I,R,a,11,o[41]),R=u(R,N,T,I,m,16,o[42]),I=u(I,R,N,T,_,23,o[43]),T=u(T,I,R,N,b,4,o[44]),N=u(N,T,I,R,x,11,o[45]),R=u(R,N,T,I,E,16,o[46]),T=h(T,I=u(I,R,N,T,p,23,o[47]),R,N,a,6,o[48]),N=h(N,T,I,R,y,10,o[49]),R=h(R,N,T,I,w,15,o[50]),I=h(I,R,N,T,g,21,o[51]),T=h(T,I,R,N,x,6,o[52]),N=h(N,T,I,R,m,10,o[53]),R=h(R,N,T,I,S,15,o[54]),I=h(I,R,N,T,l,21,o[55]),T=h(T,I,R,N,v,6,o[56]),N=h(N,T,I,R,E,10,o[57]),R=h(R,N,T,I,_,15,o[58]),I=h(I,R,N,T,C,21,o[59]),T=h(T,I,R,N,f,6,o[60]),N=h(N,T,I,R,k,10,o[61]),R=h(R,N,T,I,p,15,o[62]),I=h(I,R,N,T,b,21,o[63]),n[0]=n[0]+T|0,n[1]=n[1]+I|0,n[2]=n[2]+R|0,n[3]=n[3]+N|0},_doFinalize:function(){var e=this._data,i=e.words,r=8*this._nDataBytes,s=8*e.sigBytes;i[s>>>5]|=128<<24-s%32;var n=t.floor(r/0x100000000),a=r;i[15+(s+64>>>9<<4)]=0xff00ff&(n<<8|n>>>24)|0xff00ff00&(n<<24|n>>>8),i[14+(s+64>>>9<<4)]=0xff00ff&(a<<8|a>>>24)|0xff00ff00&(a<<24|a>>>8),e.sigBytes=4*(i.length+1),this._process();for(var o=this._hash,l=o.words,c=0;c<4;c++){var d=l[c];l[c]=0xff00ff&(d<<8|d>>>24)|0xff00ff00&(d<<24|d>>>8)}return o},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});function c(e,t,i,r,s,n,a){var o=e+(t&i|~t&r)+s+a;return(o<>>32-n)+t}function d(e,t,i,r,s,n,a){var o=e+(t&r|i&~r)+s+a;return(o<>>32-n)+t}function u(e,t,i,r,s,n,a){var o=e+(t^i^r)+s+a;return(o<>>32-n)+t}function h(e,t,i,r,s,n,a){var o=e+(i^(t|~r))+s+a;return(o<>>32-n)+t}i.MD5=n._createHelper(l),i.HmacMD5=n._createHmacHelper(l)}(Math),kb.exports=e.MD5),kb.exports}var kk,kx={exports:{}},kC={exports:{}};function kw(){var e,t,i,r,s,n,a,o;return kk||(kk=1,i=(t=(e=o=kp()).lib).WordArray,r=t.Hasher,s=e.algo,n=[],a=s.SHA1=r.extend({_doReset:function(){this._hash=new i.init([0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0])},_doProcessBlock:function(e,t){for(var i=this._hash.words,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=0;c<80;c++){if(c<16)n[c]=0|e[t+c];else{var d=n[c-3]^n[c-8]^n[c-14]^n[c-16];n[c]=d<<1|d>>>31}var u=(r<<5|r>>>27)+l+n[c];u+=c<20?0x5a827999+(s&a|~s&o):c<40?0x6ed9eba1+(s^a^o):c<60?(s&a|s&o|a&o)-0x70e44324:(s^a^o)-0x359d3e2a,l=o,o=a,a=s<<30|s>>>2,s=r,r=u}i[0]=i[0]+r|0,i[1]=i[1]+s|0,i[2]=i[2]+a|0,i[3]=i[3]+o|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(i/0x100000000),t[15+(r+64>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}}),e.SHA1=r._createHelper(a),e.HmacSHA1=r._createHmacHelper(a),kC.exports=o.SHA1),kC.exports}var kE,kT,kI={exports:{}};function kR(){var e,t,i;return kE||(kE=1,t=(e=kp()).lib.Base,i=e.enc.Utf8,kI.exports=void(e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var r=e.blockSize,s=4*r;t.sigBytes>s&&(t=e.finalize(t)),t.clamp();for(var n=this._oKey=t.clone(),a=this._iKey=t.clone(),o=n.words,l=a.words,c=0;c>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:h,padding:p}),reset:function(){c.reset.call(this);var e,t=this.cfg,i=t.iv,r=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=r.createEncryptor:(e=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,i&&i.words):(this._mode=e.call(r,this,i&&i.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),f=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,i=e.salt;return(i?s.create([0x53616c74,0x65645f5f]).concat(i).concat(t):t).toString(o)},parse:function(e){var t,i=o.parse(e),r=i.words;return 0x53616c74==r[0]&&0x65645f5f==r[1]&&(t=s.create(r.slice(2,4)),r.splice(0,4),i.sigBytes-=16),m.create({ciphertext:i,salt:t})}},g=i.SerializableCipher=r.extend({cfg:r.extend({format:f}),encrypt:function(e,t,i,r){r=this.cfg.extend(r);var s=e.createEncryptor(i,r),n=s.finalize(t),a=s.cfg;return m.create({ciphertext:n,key:i,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,i,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(i,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),_=(t.kdf={}).OpenSSL={execute:function(e,t,i,r,n){if(r||(r=s.random(8)),n)a=l.create({keySize:t+i,hasher:n}).compute(e,r);else var a=l.create({keySize:t+i}).compute(e,r);var o=s.create(a.words.slice(t),4*i);return a.sigBytes=4*t,m.create({key:a,iv:o,salt:r})}},y=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:_}),encrypt:function(e,t,i,r){var s=(r=this.cfg.extend(r)).kdf.execute(i,e.keySize,e.ivSize,r.salt,r.hasher);r.iv=s.iv;var n=g.encrypt.call(this,e,t,s.key,r);return n.mixIn(s),n},decrypt:function(e,t,i,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var s=r.kdf.execute(i,e.keySize,e.ivSize,t.salt,r.hasher);return r.iv=s.iv,g.decrypt.call(this,e,t,s.key,r)}})}())),kM.exports}!function(){var e;e=kp(),ky(),kS(),kN(),kP(),function(){var t=e,i=t.lib.BlockCipher,r=t.algo,s=[],n=[],a=[],o=[],l=[],c=[],d=[],u=[],h=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var i=0,r=0;for(t=0;t<256;t++){var m=r^r<<1^r<<2^r<<3^r<<4;m=m>>>8^255&m^99,s[i]=m,n[m]=i;var f=e[i],g=e[f],_=e[g],y=257*e[m]^0x1010100*m;a[i]=y<<24|y>>>8,o[i]=y<<16|y>>>16,l[i]=y<<8|y>>>24,c[i]=y,y=0x1010101*_^65537*g^257*f^0x1010100*i,d[m]=y<<24|y>>>8,u[m]=y<<16|y>>>16,h[m]=y<<8|y>>>24,p[m]=y,i?(i=f^e[e[e[_^f]]],r^=e[e[r]]):i=r=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],f=r.AES=i.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,i=e.sigBytes/4,r=4*((this._nRounds=i+6)+1),n=this._keySchedule=[],a=0;a6&&a%i==4&&(c=s[c>>>24]<<24|s[c>>>16&255]<<16|s[c>>>8&255]<<8|s[255&c]):c=(s[(c=c<<8|c>>>24)>>>24]<<24|s[c>>>16&255]<<16|s[c>>>8&255]<<8|s[255&c])^m[a/i|0]<<24,n[a]=n[a-i]^c);for(var o=this._invKeySchedule=[],l=0;l>>24]]^u[s[c>>>16&255]]^h[s[c>>>8&255]]^p[s[255&c]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,l,c,s)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3],e[t+3]=i,this._doCryptBlock(e,t,this._invKeySchedule,d,u,h,p,n),i=e[t+1],e[t+1]=e[t+3],e[t+3]=i},_doCryptBlock:function(e,t,i,r,s,n,a,o){for(var l=this._nRounds,c=e[t]^i[0],d=e[t+1]^i[1],u=e[t+2]^i[2],h=e[t+3]^i[3],p=4,m=1;m>>24]^s[d>>>16&255]^n[u>>>8&255]^a[255&h]^i[p++],g=r[d>>>24]^s[u>>>16&255]^n[h>>>8&255]^a[255&c]^i[p++],_=r[u>>>24]^s[h>>>16&255]^n[c>>>8&255]^a[255&d]^i[p++],y=r[h>>>24]^s[c>>>16&255]^n[d>>>8&255]^a[255&u]^i[p++];c=f,d=g,u=_,h=y}f=(o[c>>>24]<<24|o[d>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^i[p++],g=(o[d>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&c])^i[p++],_=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[c>>>8&255]<<8|o[255&d])^i[p++],y=(o[h>>>24]<<24|o[c>>>16&255]<<16|o[d>>>8&255]<<8|o[255&u])^i[p++],e[t]=f,e[t+1]=g,e[t+2]=_,e[t+3]=y},keySize:8});t.AES=i._createHelper(f)}(),kg.exports=e.AES}();var kj=kg.exports,kL={exports:{}};kL.exports=kp().enc.Hex;var kD=e2(kL.exports),kO={exports:{}};!function(){var e,t,i;i=kp(),kP(),i.mode.CTR=(t=(e=i.lib.BlockCipherMode.extend()).Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,r=i.blockSize,s=this._iv,n=this._counter;s&&(n=this._counter=s.slice(0),this._iv=void 0);var a=n.slice(0);i.encryptBlock(a,0),n[r-1]=n[r-1]+1|0;for(var o=0;oka(),kG=()=>Date.now();function kZ(e){let t=0;for(var i=arguments.length,r=Array(i>1?i-1:0),s=1;snull!==e).join(":"))}static merge(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let[i,r]of Object.entries(e))null!==r&&"object"==typeof r?kK.merge(e[i],t[i]):void 0!==t[i]&&(e[i]=t[i])}static ab2str(e){return kz.decode(e)}static ab2obj(e){try{let t=kK.ab2str(e);return JSON.parse(t)}catch(e){return{}}}static str2ab(e){return kW.encode(e).buffer}static async ab2b64str(e){if(S2("SEND_MESSAGE_SYNC")){let t=String.fromCharCode.apply(null,new Uint8Array(e));return window.btoa(t)}return(await new Promise(t=>{let i=new FileReader;i.onload=()=>t(i.result),i.readAsDataURL(new Blob([e]))})).split(",",2)[1]}static async b64str2ab(e,t){return fetch("data:application/octet;base64,".concat(e)).then(e=>e.arrayBuffer()).catch(i=>{throw t&&t.report("rtc_error",{error_code:2001,message:"".concat(i.message," -> ").concat(e)}),i})}}function kX(e){return new Promise(t=>{setTimeout(t,e)})}function kY(){let e=Number("".concat(Math.random()).slice(-7).padEnd(7,"0")).toString(2).padEnd(28,"1").split(""),t=[];for(;e.length;)t.push(e.splice(0,7));return t.map((e,i)=>Number.parseInt((i===t.length-1?"0":"1")+e.join(""),2))}let kJ=()=>Math.floor(65535*Math.random());function k$(e){return!(128&~e)}function kq(e){return"string"==typeof e&&e.indexOf("__web__rtc__rtt__")>-1}function kQ(e){let t="";for(let i=0;i0&&void 0!==arguments[0]&&arguments[0];if(n)return n;let t=new RTCPeerConnection({iceServers:[],iceTransportPolicy:"all",bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",sdpSemantics:"unified-plan"});t.createDataChannel("default"),t.addTransceiver("audio",{direction:"recvonly"}),t.addTransceiver("video",{direction:"recvonly"}),e&&(t.addTransceiver("audio",{direction:"sendonly"}),t.addTransceiver("video",{direction:"sendonly"}));let i=await t.createOffer();return t.close(),n=i.sdp,i.sdp},k1=e=>new Promise((t,i)=>{let r=(e=Array.isArray(e)?e:[]).length,s=[];0===r?i([]):e.forEach(e=>{e.then(e=>{t(e)},e=>{r--,s.push(e),0===r&&i(s)})})});function k2(e){return Number(Math.max(-127,10*Math.log10(Math.pow(e/255,2))).toFixed(2))}function k3(e){return(e&hl.AUDIO)===hl.AUDIO}function k4(e){return(e&hl.VIDEO)===hl.VIDEO}function k5(e){let t={};return Object.keys(e).forEach(i=>{"object"==typeof e[i]?t[i]=k5(e[i]):i.startsWith("_")&&!S2("HIDDEN_STATS")||(t[i]=e[i])}),t}function k9(e){let t=new DataView(e.buffer);if(t.byteLength<=4||65535!==t.getUint16(0))return{seiCount:1,seis:[e]};let i={seiCount:0,seis:[]},r=!1,s=2;for(;s0&&t.byteLength-s<=2){r=!0;break}i.seiCount++,i.seis.push(a)}return r&&(i.seiCount=1,i.seis=[e]),i}function k6(e){return void 0===e}function k8(e){return function(t,i,r){let s=r.value;r.value=function(){"[RTC WebSDK]: Api: ".concat(i," has been abandoned from version ").concat(e);for(var t=arguments.length,r=Array(t),n=0;nxi&&(this._id=0),this._id}}function xs(e){let t={};return Object.keys(e).forEach(i=>{void 0!==e[i]&&(t[i]=e[i])}),t}let xn="u">typeof window&&(window.location.search.includes("_rtc_debug_")||!(null==(kV=window.localStorage)||!kV.getItem("_rtc_debug_")));function xa(){var e;return"u">typeof window&&(window.location.search.includes("_use_ipv6_")||!(null==(e=window.localStorage)||!e.getItem("_use_ipv6_")))}function xo(e){let t=atob(e),i=t.length,r=new Uint8Array(i);for(let e=0;e2&&void 0!==arguments[2]?arguments[2]:{leading:!0,trailing:!0},o=0;function l(){o=!1===(null==a?void 0:a.leading)?0:Date.now(),i=null,n=e.apply(r,s),i||(r=null,s=null)}return function(){let c=Date.now();o||!1!==(null==a?void 0:a.leading)||(o=c);let d=t-(c-o);r=this;for(var u=arguments.length,h=Array(u),p=0;pt?(i&&(clearTimeout(i),i=null),o=c,n=e.apply(r,s),i||(r=null,s=null)):i||!1===(null==a?void 0:a.trailing)||(i=setTimeout(l,d)),n}},xg={};function x_(e,t){return e?Object.getOwnPropertyNames(e).filter(t=>{if("peerIdentity"===t)return!1;try{return"function"==typeof e[t]||void 0===e[t]}catch(e){return!1}}).map(i=>({obj:e,prefix:t,attr:i})):[]}function xy(e,t){try{return e[t].toString().includes("[native code]")?"native":"non-native"}catch(e){return"untouchable"}}let xv=("u">typeof window?[[null==(Tr=window.RTCPeerConnection)?void 0:Tr.prototype,"RTCPeerConnection.prototype"],[window.RTCPeerConnection,"RTCPeerConnection"],[null==(Ts=window.RTCDataChannel)?void 0:Ts.prototype,"RTCDataChannel.prototype"],[window.RTCDataChannel,"RTCDataChannel"],[null==(Tn=window.MediaStreamTrack)?void 0:Tn.prototype,"MediaStreamTrack.prototype"],[window.MediaStreamTrack,"MediaStreamTrack"],[null==(Ta=window.MediaStream)?void 0:Ta.prototype,"MediaStream.prototype"],[window.MediaStream,"MediaStream"],[null==(To=window.HTMLAudioElement)?void 0:To.prototype,"HTMLAudioElement.prototype"],[null==(Tl=window.HTMLVideoElement)?void 0:Tl.prototype,"HTMLVideoElement.prototype"],[null==(Tc=window.HTMLMediaElement)?void 0:Tc.prototype,"HTMLMediaElement.prototype"],[null!=(Td=null==(Tu=window.AudioContext)?void 0:Tu.prototype)?Td:null==(Th=window.webkitAudioContext)?void 0:Th.prototype,"AudioContext.prototype"],[null==(Tp=window.BaseAudioContext)?void 0:Tp.prototype,"BaseAudioContext.prototype"],[null==(Tm=window.AudioNode)?void 0:Tm.prototype,"AudioNode.prototype"],[window.navigator.mediaDevices,"navigator.mediaDevices"],[window.console,"console"]]:[]).reduce((e,t)=>{let[i,r]=t;return e.concat(x_(i,r))},[]);for(let{obj:e,prefix:t,attr:i}of("u">typeof window&&xv.push({obj:window.navigator.mediaDevices,prefix:"navigator.mediaDevices",attr:"getUserMedia"},{obj:window.navigator.mediaDevices,prefix:"navigator.mediaDevices",attr:"getDisplayMedia"},{obj:window.navigator.mediaDevices,prefix:"navigator.mediaDevices",attr:"enumerateDevices"},{obj:window.navigator.mediaDevices,prefix:"navigator.mediaDevices",attr:"getSupportedConstraints"}),xv))xg["".concat(t,".").concat(i)]=xy(e,i);let xb=Object.entries(xg).filter(e=>{let[t,i]=e;return"non-native"===i}).map(e=>{let[t,i]=e;return t});Object.keys(xb).length&&xb.join("\n");let xS=!0;function xk(e,t,i){let r=e.match(t);return r&&r.length>=i&&parseInt(r[i],10)}function xx(e,t,i){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,s=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return s.apply(this,arguments);let n=e=>{let t=i(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,n),s.apply(this,[e,n])};let n=r.removeEventListener;r.removeEventListener=function(e,i){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(i))return n.apply(this,arguments);let r=this._eventMap[t].get(i);return this._eventMap[t].delete(i),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,n.apply(this,[e,r])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(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 xC(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):(xS=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function xw(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):"adapter.js deprecation warnings "+(e?"disabled":"enabled")}function xE(){"object"==typeof window&&!xS&&"u">typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}function xT(e){let t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;let{navigator:i}=e;if(i.mozGetUserMedia)t.browser="firefox",t.version=xk(i.userAgent,/Firefox\/(\d+)\./,1);else if(i.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=xk(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!i.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=xk(i.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}function xI(e){return"[object Object]"===Object.prototype.toString.call(e)}function xR(e){return xI(e)?Object.keys(e).reduce(function(t,i){let r=xI(e[i]),s=r?xR(e[i]):e[i],n=r&&!Object.keys(s).length;return void 0===s||n?t:Object.assign(t,{[i]:s})},{}):e}function xN(e,t,i){t&&!i.has(t.id)&&(i.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith("Id")?xN(e,e.get(t[r]),i):r.endsWith("Ids")&&t[r].forEach(t=>{xN(e,e.get(t),i)})}))}function xA(e,t,i){let r=i?"outbound-rtp":"inbound-rtp",s=new Map;if(null===t)return s;let n=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===t.id&&n.push(e)}),n.forEach(t=>{e.forEach(i=>{i.type===r&&i.trackId===t.id&&xN(e,i,s)})}),s}let xM=xE;function xP(e,t){let i=e&&e.navigator;if(!i.mediaDevices)return;let r=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(i=>{if("require"===i||"advanced"===i||"mediaSource"===i)return;let r="object"==typeof e[i]?e[i]:{ideal:e[i]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);let s=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||[];let e={};"number"==typeof r.ideal?(e[s("min",i)]=r.ideal,t.optional.push(e),(e={})[s("max",i)]=r.ideal):e[s("",i)]=r.ideal,t.optional.push(e)}void 0!==r.exact&&"number"!=typeof r.exact?(t.mandatory=t.mandatory||{},t.mandatory[s("",i)]=r.exact):["min","max"].forEach(e=>{void 0!==r[e]&&(t.mandatory=t.mandatory||{},t.mandatory[s(e,i)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},s=function(e,s){if(t.version>=61)return s(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){let t=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=r(e.audio)}if(e&&"object"==typeof e.video){let n=e.video.facingMode;n=n&&("object"==typeof n?n:{ideal:n});let a=t.version<66;if(n&&("user"===n.exact||"environment"===n.exact||"user"===n.ideal||"environment"===n.ideal)&&(!i.mediaDevices.getSupportedConstraints||!i.mediaDevices.getSupportedConstraints().facingMode||a)){let t;if(delete e.video.facingMode,"environment"===n.exact||"environment"===n.ideal?t=["back","rear"]:"user"!==n.exact&&"user"!==n.ideal||(t=["front"]),t)return i.mediaDevices.enumerateDevices().then(i=>{let a=(i=i.filter(e=>"videoinput"===e.kind)).find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!a&&i.length&&t.includes("back")&&(a=i[i.length-1]),a&&(e.video.deviceId=n.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=r(e.video),xM("chrome: "+JSON.stringify(e)),s(e)})}e.video=r(e.video)}return xM("chrome: "+JSON.stringify(e)),s(e)},n=function(e){return t.version>=64?e:{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(){return this.name+(this.message&&": ")+this.message}}};if(i.getUserMedia=(function(e,t,r){s(e,e=>{i.webkitGetUserMedia(e,t,e=>{r&&r(n(e))})})}).bind(i),i.mediaDevices.getUserMedia){let e=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(t){return s(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException("","NotFoundError");return e},e=>Promise.reject(n(e))))}}}function xj(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function xL(e){if("object"!=typeof e||!e.RTCPeerConnection||"ontrack"in e.RTCPeerConnection.prototype)xx(e,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e));else{Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",i=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===i.track.id):{track:i.track};let s=new Event("track");s.track=i.track,s.receiver=r,s.transceiver={receiver:r},s.streams=[t.stream],this.dispatchEvent(s)}),t.stream.getTracks().forEach(i=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===i.id):{track:i};let s=new Event("track");s.track=i,s.receiver=r,s.transceiver={receiver:r},s.streams=[t.stream],this.dispatchEvent(s)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}}function xD(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let 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()};let i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let s=i.apply(this,arguments);return s||(s=t(this,e),this._senders.push(s)),s};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function xO(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,i,r]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0==arguments.length||"function"!=typeof e))return t.apply(this,[]);let s=function(e){let t={};return e.result().forEach(e=>{let i={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach(t=>{i[t]=e.stat(t)}),t[i.id]=i}),t},n=function(e){return new Map(Object.keys(e).map(t=>[t,e[t]]))};if(arguments.length>=2){let r=function(e){i(n(s(e)))};return t.apply(this,[r,e])}return new Promise((e,i)=>{t.apply(this,[function(t){e(n(s(t)))},i])}).then(i,r)}}function xF(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>xA(t,e.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),xx(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>xA(t,e.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e,t,i,r=arguments[0];return this.getSenders().forEach(t=>{t.track===r&&(e?i=!0:e=t)}),this.getReceivers().forEach(e=>(e.track===r&&(t?i=!0:t=e),e.track===r)),i||e&&t?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):e?e.getStats():t?t.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function xU(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){if(!i)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[i.id]?-1===this._shimmedLocalStreams[i.id].indexOf(r)&&this._shimmedLocalStreams[i.id].push(r):this._shimmedLocalStreams[i.id]=[i,r],r};let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")});let t=this.getSenders();i.apply(this,arguments);let r=this.getSenders().filter(e=>-1===t.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(r)};let 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)};let s=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let i=this._shimmedLocalStreams[t].indexOf(e);-1!==i&&this._shimmedLocalStreams[t].splice(i,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]}),s.apply(this,arguments)}}function xV(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return xU(e);let i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=i.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[t.id]){let i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}r.apply(this,[t])};let s=e.RTCPeerConnection.prototype.removeStream;function n(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],s=e._streams[r.id];i=i.replace(RegExp(s.id,"g"),r.id)}),new RTCSessionDescription({type:t.type,sdp:i})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},s.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,i){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let r=[].slice.call(arguments,1);if(1!==r.length||!r[0].getTracks().find(e=>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(e=>e.track===t))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let s=this._streams[i.id];if(s)s.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let r=new e.MediaStream([t]);this._streams[i.id]=r,this._reverseStreams[r.id]=i,this.addStream(r)}return this.getSenders().find(e=>e.track===t)},["createOffer","createAnswer"].forEach(function(t){let i=e.RTCPeerConnection.prototype[t],r={[t](){let e=arguments;return arguments.length&&"function"==typeof arguments[0]?i.apply(this,[t=>{let i=n(this,t);e[0].apply(null,[i])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):i.apply(this,arguments).then(e=>n(this,e))}};e.RTCPeerConnection.prototype[t]=r[t]});let a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type&&(arguments[0]=function(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],s=e._streams[r.id];i=i.replace(RegExp(r.id,"g"),s.id)}),new RTCSessionDescription({type:t.type,sdp:i})}(this,arguments[0])),a.apply(this,arguments)};let o=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let e=o.get.apply(this);return""===e.type?e:n(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){let t;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(i=>{this._streams[i].getTracks().find(t=>e.track===t)&&(t=this._streams[i])}),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function xB(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){let i=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})}function xz(e,t){xx(e,"negotiationneeded",e=>{let i=e.target;if(!(t.version<72||i.getConfiguration&&"plan-b"===i.getConfiguration().sdpSemantics)||"stable"===i.signalingState)return e})}var xW=Object.freeze({__proto__:null,fixNegotiationNeeded:xz,shimAddTrackRemoveTrack:xV,shimAddTrackRemoveTrackWithNative:xU,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(i){return t(i).then(t=>{let r=i.video&&i.video.width,s=i.video&&i.video.height,n=i.video&&i.video.frameRate;return i.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:n||3}},r&&(i.video.mandatory.maxWidth=r),s&&(i.video.mandatory.maxHeight=s),e.navigator.mediaDevices.getUserMedia(i)})}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))},shimGetSendersWithDtmf:xD,shimGetStats:xO,shimGetUserMedia:xP,shimMediaStream:xj,shimOnTrack:xL,shimPeerConnection:xB,shimSenderReceiverGetStats:xF});function xH(e,t){let i=e&&e.navigator,r=e&&e.MediaStreamTrack;if(i.getUserMedia=function(e,t,r){i.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){let e=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(i){return"object"==typeof i&&"object"==typeof i.audio&&(e((i=JSON.parse(JSON.stringify(i))).audio,"autoGainControl","mozAutoGainControl"),e(i.audio,"noiseSuppression","mozNoiseSuppression")),t(i)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let i=t.apply(this,arguments);return e(i,"mozAutoGainControl","autoGainControl"),e(i,"mozNoiseSuppression","noiseSuppression"),i}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(i){return"audio"===this.kind&&"object"==typeof i&&(e(i=JSON.parse(JSON.stringify(i)),"autoGainControl","mozAutoGainControl"),e(i,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[i])}}}}function xG(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function xZ(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){let i=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]});let i={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(){let[e,s,n]=arguments;return r.apply(this,[e||null]).then(e=>{if(t.version<53&&!s)try{e.forEach(e=>{e.type=i[e.type]||e.type})}catch(t){if("TypeError"!==t.name)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:i[t.type]||t.type}))})}return e}).then(s,n)}}function xK(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=i.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 xX(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),xx(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function xY(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function xJ(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function x$(e){if("object"!=typeof e||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]);let i=(e=[...e]).length>0;i&&e.forEach(e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError("max_framerate must be >= 0.0")});let r=t.apply(this,arguments);if(i){let{sender:t}=r,i=t.getParameters();"encodings"in i&&(1!==i.encodings.length||0!==Object.keys(i.encodings[0]).length)||(i.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(i).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function xq(e){if("object"!=typeof e||!e.RTCRtpSender)return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function xQ(e){if("object"!=typeof e||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function x0(e){if("object"!=typeof e||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var x1=Object.freeze({__proto__:null,shimAddTransceiver:x$,shimCreateAnswer:x0,shimCreateOffer:xQ,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(i){if(!i||!i.video){let e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===i.video?i.video={mediaSource:t}:i.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(i)})},shimGetParameters:xq,shimGetUserMedia:xH,shimOnTrack:xG,shimPeerConnection:xZ,shimRTCDataChannel:xJ,shimReceiverGetStats:xX,shimRemoveStream:xY,shimSenderGetStats:xK});function x2(e){if("object"==typeof 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)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(i=>t.call(this,i,e)),e.getVideoTracks().forEach(i=>t.call(this,i,e))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var i=arguments.length,r=Array(i>1?i-1:0),s=1;s{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);let t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);let i=e.getTracks();this.getSenders().forEach(e=>{i.includes(e.track)&&this.removeTrack(e)})})}}function x3(e){if("object"==typeof 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(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event("addstream");t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let i=new Event("addstream");i.stream=t,e.dispatchEvent(i)})}),t.apply(e,arguments)}}}function x4(e){if("object"!=typeof e||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,i=t.createOffer,r=t.createAnswer,s=t.setLocalDescription,n=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],s=i.apply(this,[r]);return t?(s.then(e,t),Promise.resolve()):s},t.createAnswer=function(e,t){let i=arguments.length>=2?arguments[2]:arguments[0],s=r.apply(this,[i]);return t?(s.then(e,t),Promise.resolve()):s};let o=function(e,t,i){let r=s.apply(this,[e]);return i?(r.then(t,i),Promise.resolve()):r};t.setLocalDescription=o,t.setRemoteDescription=o=function(e,t,i){let r=n.apply(this,[e]);return i?(r.then(t,i),Promise.resolve()):r},t.addIceCandidate=o=function(e,t,i){let r=a.apply(this,[e]);return i?(r.then(t,i),Promise.resolve()):r}}function x5(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,i=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>i(x9(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=(function(e,i,r){t.mediaDevices.getUserMedia(e).then(i,r)}).bind(t))}function x9(e){return e&&void 0!==e.video?Object.assign({},e,{video:xR(e.video)}):e}function x6(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,i){if(e&&e.iceServers){let t=[];for(let i=0;it.generateCertificate})}function x8(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function x7(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);let t=this.getTransceivers().find(e=>"audio"===e.receiver.track.kind);!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let i=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&i?"sendrecv"===i.direction?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":"recvonly"===i.direction&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):!0!==e.offerToReceiveVideo||i||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function Ce(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Ct=Object.freeze({__proto__:null,shimAudioContext:Ce,shimCallbacksAPI:x4,shimConstraints:x9,shimCreateOfferLegacy:x7,shimGetUserMedia:x5,shimLocalStreamsAPI:x2,shimRTCIceServerUrls:x6,shimRemoteStreamsAPI:x3,shimTrackEventTransceiver:x8}),Ci={exports:{}};!function(e){let t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return u9(e).call(e).split("\n").map(e=>u9(e).call(e))},t.splitSections=function(e){return e.split("\nm=").map((e,t)=>{var i;return u9(i=t>0?"m="+e:e).call(i)+"\r\n"})},t.getDescription=function(e){let i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){let i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter(e=>0===e.indexOf(i))},t.parseCandidate=function(e){let t,i={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]};for(let e=8;e0?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){let t,i={},r=e.substring(e.indexOf(" ")+1).split(";");for(let e=0;e{void 0!==e.parameters[t]?r.push(t+"="+e.parameters[t]):r.push(t)}),t+="a=fmtp:"+i+" "+r.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){let t=e.substring(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",i=e.payloadType;return void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(e=>{t+="a=rtcp-fb:"+i+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"}),t},t.parseSsrcMedia=function(e){let t=e.indexOf(" "),i={ssrc:parseInt(e.substring(7,t),10)},r=e.indexOf(":",t);return r>-1?(i.attribute=e.substring(t+1,r),i.value=e.substring(r+1)):i.attribute=e.substring(t+1),i},t.parseSsrcGroup=function(e){let t=e.substring(13).split(" ");return{semantics:t.shift(),ssrcs:t.map(e=>parseInt(e,10))}},t.getMid=function(e){let i=t.matchPrefix(e,"a=mid:")[0];if(i)return i.substring(6)},t.parseFingerprint=function(e){let t=e.substring(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,i){return{role:"auto",fingerprints:t.matchPrefix(e+i,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let i="a=setup:"+t+"\r\n";return e.fingerprints.forEach(e=>{i+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"}),i},t.parseCryptoLine=function(e){let 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"==typeof 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;let 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,i){return t.matchPrefix(e+i,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,i){let r=t.matchPrefix(e+i,"a=ice-ufrag:")[0],s=t.matchPrefix(e+i,"a=ice-pwd:")[0];return r&&s?{usernameFragment:r.substring(12),password:s.substring(10)}:null},t.writeIceParameters=function(e){let 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){let i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},r=t.splitLines(e)[0].split(" ");i.profile=r[2];for(let s=3;s{i.headerExtensions.push(t.parseExtmap(e))});let s=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return i.codecs.forEach(e=>{s.forEach(t=>{e.rtcpFeedback.find(e=>e.type===t.type&&e.parameter===t.parameter)||e.rtcpFeedback.push(t)})}),i},t.writeRtpDescription=function(e,i){let r="";r+="m="+e+" ",r+=i.codecs.length>0?"9":"0",r+=" "+(i.profile||"UDP/TLS/RTP/SAVPF")+" ",r+=i.codecs.map(e=>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",i.codecs.forEach(e=>{r+=t.writeRtpMap(e),r+=t.writeFmtp(e),r+=t.writeRtcpFb(e)});let s=0;return i.codecs.forEach(e=>{e.maxptime>s&&(s=e.maxptime)}),s>0&&(r+="a=maxptime:"+s+"\r\n"),i.headerExtensions&&i.headerExtensions.forEach(e=>{r+=t.writeExtmap(e)}),r},t.parseRtpEncodingParameters=function(e){let i,r=[],s=t.parseRtpParameters(e),n=-1!==s.fecMechanisms.indexOf("RED"),a=-1!==s.fecMechanisms.indexOf("ULPFEC"),o=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute),l=o.length>0&&o[0].ssrc,c=t.matchPrefix(e,"a=ssrc-group:FID").map(e=>e.substring(17).split(" ").map(e=>parseInt(e,10)));c.length>0&&c[0].length>1&&c[0][0]===l&&(i=c[0][1]),s.codecs.forEach(e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:l,codecPayloadType:parseInt(e.parameters.apt,10)};l&&i&&(t.rtx={ssrc:i}),r.push(t),n&&((t=JSON.parse(JSON.stringify(t))).fec={ssrc:l,mechanism:a?"red+ulpfec":"red"},r.push(t))}}),0===r.length&&l&&r.push({ssrc:l});let 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(e=>{e.maxBitrate=d})),r},t.parseRtcpParameters=function(e){let i={},r=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute)[0];r&&(i.cname=r.value,i.ssrc=r.ssrc);let s=t.matchPrefix(e,"a=rtcp-rsize");return i.reducedSize=s.length>0,i.compound=0===s.length,i.mux=t.matchPrefix(e,"a=rtcp-mux").length>0,i},t.writeRtcpParameters=function(e){let 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){let i,r=t.matchPrefix(e,"a=msid:");if(1===r.length)return{stream:(i=r[0].substring(7).split(" "))[0],track:i[1]};let s=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"msid"===e.attribute);return s.length>0?{stream:(i=s[0].value.split(" "))[0],track:i[1]}:void 0},t.parseSctpDescription=function(e){let i,r=t.parseMLine(e),s=t.matchPrefix(e,"a=max-message-size:");s.length>0&&(i=parseInt(s[0].substring(19),10)),isNaN(i)&&(i=65536);let n=t.matchPrefix(e,"a=sctp-port:");if(n.length>0)return{port:parseInt(n[0].substring(12),10),protocol:r.fmt,maxMessageSize:i};let a=t.matchPrefix(e,"a=sctpmap:");if(a.length>0){let e=a[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:i}}},t.writeSctpDescription=function(e,t){let i=[];return i="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&&i.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),i.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,i,r){let s=void 0!==i?i:2;return"v=0\r\no="+(r||"thisisadapterortc")+" "+(e||t.generateSessionId())+" "+s+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,i){let r=t.splitLines(e);for(let e=0;e(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t))}function Co(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||xx(e,"icecandidate",e=>{if(e.candidate){let t=Cs.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol=({0:"tls",1:"tcp",2:"udp"})[t.priority>>24])}return e})}function Cl(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});let i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){let{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;let t=Cs.splitSections(e.sdp);return t.shift(),t.some(e=>{let t=Cs.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")})}(arguments[0])){let e,i=function(e){let t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return -1;let i=parseInt(t[1],10);return i!=i?-1:i}(arguments[0]),r=function(e){let i=65536;return"firefox"===t.browser&&(i=t.version<57?-1===e?16384:0x7ffffff5:t.version<60?57===t.version?65535:65536:0x7ffffff5),i}(i),s=function(e,i){let r=65536;"firefox"===t.browser&&57===t.version&&(r=65535);let s=Cs.matchPrefix(e.sdp,"a=max-message-size:");return s.length>0?r=parseInt(s[0].substring(19),10):"firefox"===t.browser&&-1!==i&&(r=0x7ffffff5),r}(arguments[0],i);e=0===r&&0===s?1/0:0===r||0===s?Math.max(r,s):Math.min(r,s);let n={};Object.defineProperty(n,"maxMessageSize",{get:()=>e}),this._sctp=n}return i.apply(this,arguments)}}function Cc(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){let i=e.send;e.send=function(){return i.apply(e,arguments)}}let i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let e=i.apply(this,arguments);return t(e),e},xx(e,"datachannel",e=>(t(e.channel,e.target),e))}function Cd(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return({completed:"connected",checking:"connecting"})[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(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(e=>{let i=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{let t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;let i=new Event("connectionstatechange",e);t.dispatchEvent(i)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),i.apply(this,arguments)}})}function Cu(e,t){if(!e.RTCPeerConnection||"chrome"===t.browser&&t.version>=71||"safari"===t.browser&&t.version>=605)return;let i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){let i=t.sdp.split("\n").filter(e=>"a=extmap-allow-mixed"!==u9(e).call(e)).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:i}):t.sdp=i}return i.apply(this,arguments)}}function Ch(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;let i=e.RTCPeerConnection.prototype.addIceCandidate;i&&0!==i.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Cp(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;let i=e.RTCPeerConnection.prototype.setLocalDescription;i&&0!==i.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return i.apply(this,arguments);if(!(e={type:e.type,sdp:e.sdp}).type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?i.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>i.apply(this,[e]))})}var Cm=Object.freeze({__proto__:null,removeExtmapAllowMixed:Cu,shimAddIceCandidateNullOrEmpty:Ch,shimConnectionState:Cd,shimMaxMessageSize:Cl,shimParameterlessSetLocalDescription:Cp,shimRTCIceCandidate:Ca,shimRTCIceCandidateRelayProtocol:Co,shimSendThrowTypeError:Cc});if(function(){let{window:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0},i=xE,r=xT(e),s={browserDetails:r,commonShim:Cm,extractVersion:xk,disableLog:xC,disableWarnings:xw,sdp:Cn};switch(r.browser){case"chrome":if(!xW||!xB||!t.shimChrome)return i("Chrome shim is not included in this adapter release.");if(null===r.version)return i("Chrome shim can not determine version, not shimming.");i("adapter.js shimming chrome."),s.browserShim=xW,Ch(e,r),Cp(e),xP(e,r),xj(e),xB(e,r),xL(e),xV(e,r),xD(e),xO(e),xF(e),xz(e,r),Ca(e),Co(e),Cd(e),Cl(e,r),Cc(e),Cu(e,r);break;case"firefox":if(!x1||!xZ||!t.shimFirefox)return i("Firefox shim is not included in this adapter release.");i("adapter.js shimming firefox."),s.browserShim=x1,Ch(e,r),Cp(e),xH(e,r),xZ(e,r),xG(e),xY(e),xK(e),xX(e),xJ(e),x$(e),xq(e),xQ(e),x0(e),Ca(e),Cd(e),Cl(e,r),Cc(e);break;case"safari":if(!Ct||!t.shimSafari)return i("Safari shim is not included in this adapter release.");i("adapter.js shimming safari."),s.browserShim=Ct,Ch(e,r),Cp(e),x6(e),x7(e),x4(e),x2(e),x3(e),x8(e),x5(e),Ce(e),Ca(e),Co(e),Cl(e,r),Cc(e),Cu(e,r);break;default:i("Unsupported browser!")}}({window:"u"typeof MediaStreamTrack){let e=MediaStreamTrack.prototype.getSettings;MediaStreamTrack.prototype.getSettings=function(){let t=e.call(this);return t.width&&(t.width=Math.floor(t.width)),t.height&&(t.height=Math.floor(t.height)),t.frameRate&&(t.frameRate=Math.floor(t.frameRate)),t}}var Cf=il,Cg=TypeError,C_=function(e,t){if(!delete e[t])throw new Cg("Cannot delete property "+Cf(t)+" of "+Cf(e))},Cy=n6,Cv=Math.floor,Cb=function(e,t){var i=e.length;if(i<8)for(var r,s,n=1;n0;)e[s]=e[--s];s!==n++&&(e[s]=r)}else for(var a=Cv(i/2),o=Cb(Cy(e,0,a),t),l=Cb(Cy(e,a),t),c=o.length,d=l.length,u=0,h=0;u=t(o[u],l[h])?o[u++]:l[h++]:u3)){if(CU)return!0;if(CB)return CB<603;var e,t,i,r,s="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(r=0;r<47;r++)Cz.push({k:t+r,v:i})}for(Cz.sort(function(e,t){return t.v-e.v}),r=0;rCj(i)?1:-1}};CI({target:"Array",proto:!0,forced:CG||!CZ||!CK||!CX},{sort:function(e){void 0!==e&&CN(e);var t=CA(this);if(CX)return void 0===e?CW(t):CW(t,e);var i,r,s=[],n=CM(t);for(r=0;r1?i-1:0),s=1;s1?t-1:0),r=1;r{try{super.emit(e,...i)}catch(t){C4.error("safeEmit","safeEmit() | event listener threw an error [event:%s]:%o",e,t),console.error(t)}})}}var C9=((ee=C9||{})[ee.BLACK=0]="BLACK",ee[ee.NORMAL=1]="NORMAL",ee),C6=((et=C6||{}).streamRemovedBySchedule308="stream removed",et.clientRePublish="client republish",et.publishStreamFaied="publish failed",et.clientUnPublish="client unpublished",et.clientDisconnected="client disconnected",et.videoMuted="video muted",et),C8=((ei=C8||{}).PushLimitWarn="PushLimitWarn",ei.OTHER="OTHER",ei),C7=((er=C7||{}).CHANGE_CODEC="changeCodec",er),we=((es=we||{}).ON_ADD_STREAM="onAddStream",es.ON_ADD_STREAM_LIST="onAddStreamList",es.ON_REMOVE_STREAM="onRemoveStream",es.ON_REMOVE_STREAM_LIST="onRemoveStreamList",es.USER_DISCONNECTION="userDisconnection",es.USER_DISCONNECTION_LIST="userDisconnectionList",es.USER_CONNECTION="userConnection",es.USER_CONNECTION_LIST="userConnectionList",es.ON_UPDATE_STREAM_ATTRIBUTES="onUpdateStreamAttributes",es.ON_UPDATE_ROOM_ATTRIBUTES="onUpdateRoomAttributes",es.ON_UPDATE_USER_ATTRIBUTES="onUpdateUserAttributes",es.ON_PUSH_TRACK="onPushTrack",es.ON_REMOVE_TRACK="onRemoveTrack",es.ON_CUSTOM_MESSAGE="onCustomMessage",es.NODE_CHANGE="nodeChange",es.USER_MESSAGE_RECEIVED="userMessageReceived",es.USER_BINARY_MESSAGE_RECEIVED="userBinaryMessageReceived",es.USER_MESSAGE_RECEIVED_OUTSIDE_ROOM="userMessageReceivedOutsideRoom",es.USER_BINARY_MESSAGE_RECEIVED_OUTSIDE_ROOM="userBinaryMessageReceivedOutsideRoom",es.POST_PROCESSING_MESSAGE="postProcessingMessage",es.ON_USER_TOKEN_WILL_EXPIRE="onUserTokenWillExpire",es.ON_TOKEN_PUBLISH_PRIVILEGE_WILL_EXPIRE="onTokenPublishPrivilegeWillExpire",es.ON_TOKEN_PUBLISH_PRIVILEGE_DID_EXPIRED="onTokenPublishPrivilegeDidExpired",es.ON_TOKEN_SUBSCRIBE_PRIVILEGE_WILL_EXPIRE="onTokenSubscribePrivilegeWillExpire",es.ON_TOKEN_SUBSCRIBE_PRIVILEGE_DID_EXPIRED="onTokenSubscribePrivilegeDidExpired",es.STREAM_CONTROL_MESSAGE="streamControlMessage",es.ON_SPEAKER_CHANGE="onSpeakerChange",es.ON_STREAM_FAILED="streamFailed",es.ON_NOTIFY_RECONNECT="notifyReconnect",es.ON_FORWARD_DST_ROOM_USER_KICK="onForwardDstRoomUserKick",es.ENGINE_CONTROL_MESSAGE="engineControlMessage",es.ON_STREAM_PUSHED_BY_OTHER="onStreamPushedByOther",es.ON_STREAM_PULL_STATE_CHANGED="onStreamPullStateChanged",es),wt=((en=wt||{}).RSCP="RSCP",en.RTT="RTT",en.SSC="SSC",en),wi=((ea=wi||{}).ON_CONNECTION_STATE_CHANGE="onConnectionStateChange",ea.ON_VENDOR_CONNECTION_STATE_CHANGE="onVendorConnectionStateChange",ea.ABNORMAL_DISCONNECTION="normalConnection",ea.ON_RECONNECT_FAILED="onReconnectFailed",ea.CONNECT_WITH_TCP="onIceConnectWithTcp",ea),wr=((eo=wr||{}).userLeave="userLeave",eo.connectionLost="connectionLost",eo.userDuplicateLogin="userDuplicateLogin",eo.kickedByAdmin="kickedByAdmin",eo.roleChanged="roleChanged",eo.onUserTokenDidExpire="onUserTokenDidExpire",eo),ws=((el=ws||{})[el.roomDismissByAdmin=2]="roomDismissByAdmin",el),wn=((ec=wn||{})[ec.LIMIT_MODE=1]="LIMIT_MODE",ec[ec.NORMAL_MODE=2]="NORMAL_MODE",ec),wa=((ed=wa||{})[ed.NORMAL=0]="NORMAL",ed[ed.BLACK=1]="BLACK",ed),wo=((eu=wo||{})[eu.EXTERNAL=0]="EXTERNAL",eu[eu.INTERNAL=1]="INTERNAL",eu),wl=((eh=wl||{}).AUDIO="audio",eh.VIDEO="video",eh),wc=((ep=wc||{}).MAIN="main",ep.SCREEN="screen",ep.PUBLIC="public",ep.VIRTUAL="virtual",ep);class wd extends C5{constructor(e,t,i){super(),dY(this,"trackId",kH()),dY(this,"_logger",void 0),dY(this,"trackInfo",void 0),dY(this,"_originTrack",void 0),dY(this,"_channelCount",void 0),this._ctx=e,this._logger=new bn("Track",4,e.id),this.trackInfo=i,this._originTrack=t,this._channelCount=t.getSettings().channelCount}get dummy(){return this.trackInfo.isDummy}get virtual(){return"virtual"===this.trackInfo.streamIndex}get isScreen(){return"screen"===this.trackInfo.streamIndex}get isPublic(){return"public"===this.trackInfo.streamIndex}get sourceType(){return this.trackInfo.sourceType}get mediaType(){return this.trackInfo.mediaType}get captureSessionId(){return this.trackInfo.captureSessionId}get streamIndex(){let{streamIndex:e}=this.trackInfo;return"main"===e?ho.STREAM_INDEX_MAIN:"screen"===e?ho.STREAM_INDEX_SCREEN:void 0}get channelCount(){var e;return null!=(e=this._channelCount)?e:0}get originTrack(){return this._originTrack}set originTrack(e){this._originTrack=e,this._channelCount=mediaTrack.getSettings().channelCount}get logger(){return this._logger.module=this.constructor.name,this._logger}destroy(){this._originTrack.stop()}}class wu extends wd{constructor(e,t,i){super(e,t,i),dY(this,"_mediaTrack",void 0),dY(this,"_preProcessingTrack",void 0),dY(this,"isTrackReady",void 0),dY(this,"handleTrackEnded",()=>{this.emit("track-ended",this),this.destroy()}),dY(this,"handleMute",()=>{this.emit("track-mute",this)}),dY(this,"handleUnmute",()=>{this.emit("track-unmute",this)}),this._initListeners(),this.isTrackReady=this.generatePreProcessingTrack()}get mediaTrack(){var e;return null!=(e=this._mediaTrack)?e:this._originTrack}set mediaTrack(e){this.mediaTrack.id!==e.id&&(this._mediaTrack=e,this.isTrackReady=this.generatePreProcessingTrack())}get preprocessingTrack(){var e;return null!=(e=this._preProcessingTrack)?e:this.mediaTrack}async generatePreProcessingTrack(){var e;let t=null==(e=this._preProcessingTrack)?void 0:e.id;this._preProcessingTrack=void 0;try{let e=await this._ctx.extensionManager.getPreProcessingTrack(this);e instanceof MediaStreamTrack&&(this._preProcessingTrack=e,t!==this._preProcessingTrack.id&&setTimeout(()=>{this.emit("needReplaceTrack")}))}catch(e){console.error(e)}}destroy(){var e,t;this._originTrack.removeEventListener("ended",this.handleTrackEnded),this._originTrack.removeEventListener("mute",this.handleMute),this._originTrack.removeEventListener("unmute",this.handleUnmute),null==(e=this._preProcessingTrack)||e.stop(),null==(t=this._mediaTrack)||t.stop(),super.destroy()}_initListeners(){this._originTrack instanceof MediaStreamTrack&&(this._originTrack.addEventListener("ended",this.handleTrackEnded),this._originTrack.addEventListener("mute",this.handleMute),this._originTrack.addEventListener("unmute",this.handleUnmute))}}class wh extends wd{constructor(e,t,i){super(e,t,i),dY(this,"_mediaTrack",void 0),this._originTrack=t}get mediaTrack(){var e;return null!=(e=this._mediaTrack)?e:this._originTrack}set mediaTrack(e){this.mediaTrack.id!==e.id&&(this._mediaTrack=e)}get preprocessingTrack(){return this.mediaTrack}}var wp=((em=wp||{})[em.internal=0]="internal",em[em.external=1]="external",em[em.bypass=2]="bypass",em);let wm=new Uint8Array([109,167,53,190,103,90,72,1,170,89,63,164,194,199,19,85]),wf=new Uint8Array([109,167,53,190,103,90,72,1,170,89,63,164,194,199,19,84]),wg=new Uint8Array([31,239,3,50,242,120,76,85,169,42,161,91,75,186,22]),w_=e=>{let t=[],i=0;for(let r of e)i>=2&&r<=3&&(t.push(3),i=0),0===r?i++:i=0,t.push(r);return new Uint8Array(t)},wy=e=>{let t=[];for(let i=0;i=255;)e-=255,t.push(255);return t.push(e),new Uint8Array(t)}function wb(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=0;for(;255===e[t]&&t2&&void 0!==arguments[2]&&arguments[2],r=new Uint8Array([0,0,0,1]),s=t?wS:new Uint8Array([6]),n=new Uint8Array([5]),a=wk.__uuid||(i?wm:wf);return new Uint8Array([...r,...s,...n,...wv(e.byteLength+a.byteLength),...a,...w_(e),128])}static decodeSEIBody(e,t){let i=wy(e=e.slice(0,e.length-1));if(i.byteLength<2)return;let r=0,s=t?2:1;if(5!==i[s]&&100!==i[s])return;let[n,a]=wb(i,r+=1+s),o=2,l=(r=a)+n;return i.byteLength>=wf.byteLength&&n>=wf.byteLength&&(i.slice(r,r+wf.byteLength).toString()===wf.toString()||i.slice(r,r+wg.byteLength).toString()===wg.toString())?(r+=wf.byteLength,o=1):i.byteLength>=wf.byteLength&&n>=wf.byteLength&&i.slice(r,r+wm.byteLength).toString()===wm.toString()&&(r+=wm.byteLength,o=0),{type:o,payload:i.slice(r,l)}}static parseInternalSEI(e){let t=new Map,i=0;if(0===e.type){for(;e.payload.byteLength-i>=2;){let[r,s]=wb(e.payload,i);i=s;let[n,a]=wb(e.payload,i);if(i=a,t.get(r)||!(n<=e.payload.byteLength-i))break;t.set(r,e.payload.slice(i,i+n)),i+=n}return t}}static makeInternalSei(e){let t=[];for(let[i,r]of e){let e=wv(i),s=wv(r.byteLength);t.push(e,s,r)}let i=new Uint8Array(t.reduce((e,t)=>e+t.byteLength,0));return t.reduce((e,t)=>(i.set(t,e),e+t.byteLength),0),i}}dY(wk,"__uuid",void 0);var wx=r2,wC=nh,ww=RangeError,wE=String.fromCharCode,wT=String.fromCodePoint,wI=tl([].join);wx({target:"String",stat:!0,arity:1,forced:!!wT&&1!==wT.length},{fromCodePoint:function(e){for(var t,i=[],r=arguments.length,s=0;r>s;){if(t=+arguments[s++],wC(t,1114111)!==t)throw new ww(t+" is not a valid code point");i[s]=t<65536?wE(t):wE(55296+((t-=65536)>>10),t%1024+56320)}return wI(i,"")}});var wR=e9,wN=tv,wA=Object.getOwnPropertyDescriptor,wM=function(e){if(!wN)return wR[e];var t=wA(wR,e);return t&&t.value},wP=e6,wj=tv,wL=ix,wD=iJ("iterator"),wO=!wP(function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,i=new URLSearchParams("a=1&a=2&b=3"),r="";return e.pathname="c%20d",t.forEach(function(e,i){t.delete("b"),r+=i+e}),i.delete("a",2),i.delete("b",void 0),wL&&(!e.toJSON||!i.has("a",1)||i.has("a",2)||!i.has("a",void 0)||i.has("b"))||!t.size&&(wL||!wj)||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[wD]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://\u0442\u0435\u0441\u0442").host||"#%D0%B1"!==new URL("https://a#\u0431").hash||"a1c3"!==r||"x"!==new URL("https://x",void 0).host}),wF=aa,wU=function(e,t,i){for(var r in t)i&&i.unsafe&&e[r]?e[r]=t[r]:wF(e,r,t[r],i);return e},wV=tY,wB=TypeError,wz=function(e,t){if(wV(t,e))return e;throw new wB("Incorrect invocation")},wW=sE,wH=ig,wG=tj,wZ=l$,wK=iJ("iterator"),wX=function(e){if(!wG(e))return wH(e,wK)||wH(e,"@@iterator")||wZ[wW(e)]},wY=tk,wJ=ih,w$=rA,wq=il,wQ=wX,w0=TypeError,w1=function(e,t){var i=arguments.length<2?wQ(e):t;if(wJ(i))return w$(wY(i,e));throw new w0(wq(e)+" is not iterable")},w2=TypeError,w3=function(e,t){if(e0&&e&i;i>>=1)t++;return t},EQ=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},E0=function(e){for(var t=(e=Ez(e,EX," ")).length,i="",r=0;rt){i+="%",r++;continue}var n=E$(e,r+1);if(n!=n){i+=s,r++;continue}r+=2;var a=Eq(n);if(0===a)s=ED(n);else{if(1===a||a>4){i+=EY,r++;continue}for(var o=[n],l=1;lt||"%"!==EU(e,r));){var c=E$(e,r+1);if(c!=c){r+=3;break}if(c>191||c<128)break;EB(o,c),r+=2,l++}if(o.length!==a){i+=EY;continue}var d=EQ(o);null===d?i+=EY:s=EO(d)}}i+=s,r++}return i},E1=/[!'()~]|%20/g,E2={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},E3=function(e){return E2[e]},E4=function(e){return Ez(EL(e),E1,E3)},E5=Ea(function(e,t){EE(this,{type:Ew,target:ET(e).entries,index:0,kind:t})},EC,function(){var e=EI(this),t=e.target,i=e.index++;if(!t||i>=t.length)return e.target=null,Eb(void 0,!0);var r=t[i];switch(e.kind){case"keys":return Eb(r.key,!1);case"values":return Eb(r.value,!1)}return Eb([r.key,r.value],!1)},!0),E9=function(e){this.entries=[],this.url=null,void 0!==e&&(Em(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===EU(e,0)?EZ(e,1):e:Ef(e)))};E9.prototype={type:EC,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,i,r,s,n,a,o,l=this.entries,c=Ev(e);if(c)for(i=(t=Ey(e,c)).next;!(r=w8(i,t)).done;){if((a=w8(n=(s=Ey(Ep(r.value))).next,s)).done||(o=w8(n,s)).done||!w8(n,s).done)throw new Ej("Expected sequence with length 2");EB(l,{key:Ef(a.value),value:Ef(o.value)})}else for(var d in e)Ed(e,d)&&EB(l,{key:d,value:Ef(e[d])})},parseQuery:function(e){if(e)for(var t,i,r=this.entries,s=EG(e,"&"),n=0;n0?arguments[0]:void 0));Ee||(this.size=e.entries.length)},E8=E6.prototype;if(Es(E8,{append:function(e,t){var i=ET(this);ES(arguments.length,2),EB(i.entries,{key:Ef(e),value:Ef(t)}),Ee||this.length++,i.updateURL()},delete:function(e){for(var t=ET(this),i=ES(arguments.length,1),r=t.entries,s=Ef(e),n=i<2?void 0:arguments[1],a=void 0===n?n:Ef(n),o=0;ot.key?1:-1}),e.updateURL()},forEach:function(e){for(var t,i=ET(this).entries,r=Eu(e,arguments.length>1?arguments[1]:void 0),s=0;s1?Tt(arguments[1]):{})}}),Ec(EN)){var Ti=function(e){return El(this,EM),new EN(e,arguments.length>1?Tt(arguments[1]):{})};EM.constructor=Ti,Ti.prototype=EM,w4({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Ti})}}var Tr,Ts,Tn,Ta,To,Tl,Tc,Td,Tu,Th,Tp,Tm,Tf,Tg={URLSearchParams:E6,getState:ET},T_=tv,Ty=tk,Tv=e6,Tb=nR,TS=as,Tk=tx,Tx=ij,TC=tP,Tw=Object.assign,TE=Object.defineProperty,TT=tl([].concat),TI=!Tw||Tv(function(){if(T_&&1!==Tw({b:1},Tw(TE({},"a",{enumerable:!0,get:function(){TE(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},i=Symbol("assign detection"),r="abcdefghijklmnopqrst";return e[i]=7,r.split("").forEach(function(e){t[e]=e}),7!==Tw({},e)[i]||Tb(Tw({},t)).join("")!==r})?function(e,t){for(var i=Tx(e),r=arguments.length,s=1,n=TS.f,a=Tk.f;r>s;)for(var o,l=TC(arguments[s++]),c=n?TT(Tb(l),n(l)):Tb(l),d=c.length,u=0;d>u;)o=c[u++],T_&&!Ty(a,l,o)||(i[o]=l[o]);return i}:Tw,TR=tk,TN=rA,TA=ig,TM=function(e,t,i){var r,s;TN(e);try{if(!(r=TA(e,"return"))){if("throw"===t)throw i;return i}r=TR(r,e)}catch(e){s=!0,r=e}if("throw"===t)throw i;if(s)throw r;return TN(r),i},TP=rA,Tj=TM,TL=function(e,t,i,r){try{return r?t(TP(i)[0],i[1]):t(i)}catch(t){Tj(e,"throw",t)}},TD=l$,TO=iJ("iterator"),TF=Array.prototype,TU=function(e){return void 0!==e&&(TD.Array===e||TF[TO]===e)},TV=rC,TB=tk,Tz=ij,TW=TL,TH=TU,TG=sW,TZ=sl,TK=sf,TX=w1,TY=wX,TJ=Array,T$=function(e){var t=Tz(e),i=TG(this),r=arguments.length,s=r>1?arguments[1]:void 0,n=void 0!==s;n&&(s=TV(s,r>2?arguments[2]:void 0));var a,o,l,c,d,u,h=TY(t),p=0;if(!h||this===TJ&&TH(h))for(a=TZ(t),o=i?new this(a):TJ(a);a>p;p++)u=n?s(t[p],p):t[p],TK(o,p,u);else for(o=i?new this:[],d=(c=TX(t,h)).next;!(l=TB(d,c)).done;p++)u=n?TW(c,s,[l.value,p],!0):l.value,TK(o,p,u);return o.length=p,o},Tq=tl,TQ=0x7fffffff,T0=36,T1=1,T2=26,T3=38,T4=700,T5=72,T9=128,T6="-",T8=/[^\0-\u007E]/,T7=/[.\u3002\uFF0E\uFF61]/g,Ie="Overflow: input needs wider integers to process",It=35,Ii=RangeError,Ir=Tq(T7.exec),Is=Math.floor,In=String.fromCharCode,Ia=Tq("".charCodeAt),Io=Tq([].join),Il=Tq([].push),Ic=Tq("".replace),Id=Tq("".split),Iu=Tq("".toLowerCase),Ih=function(e){for(var t=[],i=0,r=e.length;i=55296&&s<=56319&&i>1,e+=Is(e/t);e>It*T2>>1;)e=Is(e/It),r+=T0;return Is(r+(It+1)*e/(e+T3))},If=function(e){var t,i,r=[],s=(e=Ih(e)).length,n=T9,a=0,o=T5;for(t=0;t=n&&iIs((TQ-a)/u))throw new Ii(Ie);for(a+=(d-n)*u,n=d,t=0;tTQ)throw new Ii(Ie);if(i===n){for(var h=a,p=T0;;){var m=p<=o?T1:p>=o+T2?T2:p-o;if(h?@[\\\]^|]/,Ra=/[\0\t\n\r #/:<>?@[\\\]^|]/,Ro=/^[\u0000-\u0020]+/,Rl=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Rc=/[\t\n\r]/g,Rd=function(e){var t,i,r,s,n,a,o,l=I0(e,".");if(l.length&&""===l[l.length-1]&&l.length--,(t=l.length)>4)return e;for(i=[],r=0;r1&&"0"===IZ(s,0)&&(n=IK(Rt,s)?16:8,s=I1(s,8===n?1:2)),""===s)a=0;else{if(!IK(10===n?Rr:8===n?Ri:Rs,s))return e;a=IW(s,n)}I$(i,a)}for(r=0;r=IG(256,5-t))return null}else if(a>255)return null;for(o=IJ(i),r=0;r6))return;for(r=0;h();){if(s=null,r>0){if(!("."===h()&&r<4))return;u++}if(!IK(Re,h()))return;for(;IK(Re,h());){if(n=IW(h(),10),null===s)s=n;else{if(0===s)return;s=10*s+n}if(s>255)return;u++}l[c]=256*l[c]+s,2!=++r&&4!==r||c++}if(4!==r)return;break}if(":"===h()){if(u++,!h())return}else if(h())return;l[c++]=t}else{if(null!==d)return;u++,d=++c}}if(null!==d)for(a=c-d,c=7;0!==c&&a>0;)o=l[c],l[c--]=l[d+a-1],l[d+--a]=o;else if(8!==c)return;return l},Rh=function(e){for(var t=null,i=1,r=null,s=0,n=0;n<8;n++)0!==e[n]?(s>i&&(t=r,i=s),r=null,s=0):(null===r&&(r=n),++s);return s>i?r:t},Rp=function(e){var t,i,r,s;if("number"==typeof e){for(t=[],i=0;i<4;i++)I3(t,e%256),e=IH(e/256);return IX(t,".")}if("object"==typeof e){for(t="",r=Rh(e),i=0;i<8;i++)s&&0===e[i]||(s&&(s=!1),r===i?(t+=i?":":"::",s=!0):(t+=IY(e[i],16),i<7&&(t+=":")));return"["+t+"]"}return e},Rm={},Rf=IT({},Rm,{" ":1,'"':1,"<":1,">":1,"`":1}),Rg=IT({},Rf,{"#":1,"?":1,"{":1,"}":1}),R_=IT({},Rg,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ry=function(e,t){var i=IN(e,0);return i>32&&i<127&&!IE(t,e)?e:encodeURIComponent(e)},Rv={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Rb=function(e,t){var i;return 2===e.length&&IK(I8,IZ(e,0))&&(":"===(i=IZ(e,1))||!t&&"|"===i)},RS=function(e){var t;return e.length>1&&Rb(I1(e,0,2))&&(2===e.length||"/"===(t=IZ(e,2))||"\\"===t||"?"===t||"#"===t)},Rk=function(e){return"."===e||"%2e"===I2(e)},Rx=function(e){return".."===(e=I2(e))||"%2e."===e||".%2e"===e||"%2e%2e"===e},RC={},Rw={},RE={},RT={},RI={},RR={},RN={},RA={},RM={},RP={},Rj={},RL={},RD={},RO={},RF={},RU={},RV={},RB={},Rz={},RW={},RH={},RG=function(e,t,i){var r,s,n,a=IM(e);if(t){if(s=this.parse(a))throw new Iz(s);this.searchParams=null}else{if(void 0!==i&&(r=new RG(i,!0)),s=this.parse(a,null,r))throw new Iz(s);(n=IV(new IU)).bindURL(this),this.searchParams=n}};RG.prototype={type:"URL",parse:function(e,t,i){var r,s,n,a,o=this,l=t||RC,c=0,d="",u=!1,h=!1,p=!1;for(e=IM(e),t||(o.scheme="",o.username="",o.password="",o.host=null,o.port=null,o.path=[],o.query=null,o.fragment=null,o.cannotBeABaseURL=!1,e=Iq(e,Ro,""),e=Iq(e,Rl,"$1")),r=II(e=Iq(e,Rc,""));c<=r.length;){switch(s=r[c],l){case RC:if(!s||!IK(I8,s)){if(t)return I5;l=RE;continue}d+=I2(s),l=Rw;break;case Rw:if(s&&(IK(I7,s)||"+"===s||"-"===s||"."===s))d+=I2(s);else{if(":"!==s){if(t)return I5;d="",l=RE,c=0;continue}if(t&&(o.isSpecial()!==IE(Rv,d)||"file"===d&&(o.includesCredentials()||null!==o.port)||"file"===o.scheme&&!o.host))return;if(o.scheme=d,t)return void(o.isSpecial()&&Rv[o.scheme]===o.port&&(o.port=null));d="","file"===o.scheme?l=RO:o.isSpecial()&&i&&i.scheme===o.scheme?l=RT:o.isSpecial()?l=RA:"/"===r[c+1]?(l=RI,c++):(o.cannotBeABaseURL=!0,I$(o.path,""),l=Rz)}break;case RE:if(!i||i.cannotBeABaseURL&&"#"!==s)return I5;if(i.cannotBeABaseURL&&"#"===s){o.scheme=i.scheme,o.path=IR(i.path),o.query=i.query,o.fragment="",o.cannotBeABaseURL=!0,l=RH;break}l="file"===i.scheme?RO:RR;continue;case RT:if("/"!==s||"/"!==r[c+1]){l=RR;continue}l=RM,c++;break;case RI:if("/"===s){l=RP;break}l=RB;continue;case RR:if(o.scheme=i.scheme,s===Tf)o.username=i.username,o.password=i.password,o.host=i.host,o.port=i.port,o.path=IR(i.path),o.query=i.query;else if("/"===s||"\\"===s&&o.isSpecial())l=RN;else if("?"===s)o.username=i.username,o.password=i.password,o.host=i.host,o.port=i.port,o.path=IR(i.path),o.query="",l=RW;else{if("#"!==s){o.username=i.username,o.password=i.password,o.host=i.host,o.port=i.port,o.path=IR(i.path),o.path.length--,l=RB;continue}o.username=i.username,o.password=i.password,o.host=i.host,o.port=i.port,o.path=IR(i.path),o.query=i.query,o.fragment="",l=RH}break;case RN:if(o.isSpecial()&&("/"===s||"\\"===s))l=RM;else{if("/"!==s){o.username=i.username,o.password=i.password,o.host=i.host,o.port=i.port,l=RB;continue}l=RP}break;case RA:if(l=RM,"/"!==s||"/"!==IZ(d,c+1))continue;c++;break;case RM:if("/"!==s&&"\\"!==s){l=RP;continue}break;case RP:if("@"===s){u&&(d="%40"+d),u=!0,n=II(d);for(var m=0;m65535)return I6;o.port=o.isSpecial()&&_===Rv[o.scheme]?null:_,d=""}if(t)return;l=RV;continue}return I6}d+=s;break;case RO:if(o.scheme="file","/"===s||"\\"===s)l=RF;else{if(!i||"file"!==i.scheme){l=RB;continue}switch(s){case Tf:o.host=i.host,o.path=IR(i.path),o.query=i.query;break;case"?":o.host=i.host,o.path=IR(i.path),o.query="",l=RW;break;case"#":o.host=i.host,o.path=IR(i.path),o.query=i.query,o.fragment="",l=RH;break;default:RS(IX(IR(r,c),""))||(o.host=i.host,o.path=IR(i.path),o.shortenPath()),l=RB;continue}}break;case RF:if("/"===s||"\\"===s){l=RU;break}i&&"file"===i.scheme&&!RS(IX(IR(r,c),""))&&(Rb(i.path[0],!0)?I$(o.path,i.path[0]):o.host=i.host),l=RB;continue;case RU:if(s===Tf||"/"===s||"\\"===s||"?"===s||"#"===s){if(!t&&Rb(d))l=RB;else if(""===d){if(o.host="",t)return;l=RV}else{if(a=o.parseHost(d))return a;if("localhost"===o.host&&(o.host=""),t)return;d="",l=RV}continue}d+=s;break;case RV:if(o.isSpecial()){if(l=RB,"/"!==s&&"\\"!==s)continue}else if(t||"?"!==s)if(t||"#"!==s){if(s!==Tf&&(l=RB,"/"!==s))continue}else o.fragment="",l=RH;else o.query="",l=RW;break;case RB:if(s===Tf||"/"===s||"\\"===s&&o.isSpecial()||!t&&("?"===s||"#"===s)){if(Rx(d)?(o.shortenPath(),"/"===s||"\\"===s&&o.isSpecial()||I$(o.path,"")):Rk(d)?"/"===s||"\\"===s&&o.isSpecial()||I$(o.path,""):("file"===o.scheme&&!o.path.length&&Rb(d)&&(o.host&&(o.host=""),d=IZ(d,0)+":"),I$(o.path,d)),d="","file"===o.scheme&&(s===Tf||"?"===s||"#"===s))for(;o.path.length>1&&""===o.path[0];)IQ(o.path);"?"===s?(o.query="",l=RW):"#"===s&&(o.fragment="",l=RH)}else d+=Ry(s,Rg);break;case Rz:"?"===s?(o.query="",l=RW):"#"===s?(o.fragment="",l=RH):s!==Tf&&(o.path[0]+=Ry(s,Rm));break;case RW:t||"#"!==s?s!==Tf&&("'"===s&&o.isSpecial()?o.query+="%27":o.query+="#"===s?"%23":Ry(s,Rm)):(o.fragment="",l=RH);break;case RH:s!==Tf&&(o.fragment+=Ry(s,Rf))}c++}},parseHost:function(e){var t,i,r;if("["===IZ(e,0)){if("]"!==IZ(e,e.length-1)||!(t=Ru(I1(e,1,-1))))return I9;this.host=t}else if(this.isSpecial()){if(IK(Rn,e=IA(e))||null===(t=Rd(e)))return I9;this.host=t}else{if(IK(Ra,e))return I9;for(t="",i=II(e),r=0;r1?arguments[1]:void 0,r=IO(t,new RG(e,!1,i));Iy||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},RK=RZ.prototype,RX=function(e,t){return{get:function(){return IF(this)[e]()},set:t&&function(e){return IF(this)[t](e)},configurable:!0,enumerable:!0}};if(Iy&&(IC(RK,"href",RX("serialize","setHref")),IC(RK,"origin",RX("getOrigin")),IC(RK,"protocol",RX("getProtocol","setProtocol")),IC(RK,"username",RX("getUsername","setUsername")),IC(RK,"password",RX("getPassword","setPassword")),IC(RK,"host",RX("getHost","setHost")),IC(RK,"hostname",RX("getHostname","setHostname")),IC(RK,"port",RX("getPort","setPort")),IC(RK,"pathname",RX("getPathname","setPathname")),IC(RK,"search",RX("getSearch","setSearch")),IC(RK,"searchParams",RX("getSearchParams")),IC(RK,"hash",RX("getHash","setHash"))),Ix(RK,"toJSON",function(){return IF(this).serialize()},{enumerable:!0}),Ix(RK,"toString",function(){return IF(this).serialize()},{enumerable:!0}),IB){var RY=IB.createObjectURL,RJ=IB.revokeObjectURL;RY&&Ix(RZ,"createObjectURL",IS(RY,IB)),RJ&&Ix(RZ,"revokeObjectURL",IS(RJ,IB))}IP(RZ,"URL"),I_({global:!0,constructor:!0,forced:!Iv,sham:!Iy},{URL:RZ});var R$=r2,Rq=e6,RQ=w3,R0=no,R1=wO,R2=tX("URL"),R3=R1&&Rq(function(){R2.canParse()}),R4=Rq(function(){return 1!==R2.canParse.length});R$({target:"URL",stat:!0,forced:!R3||R4},{canParse:function(e){var t=RQ(arguments.length,1),i=R0(e),r=t<2||void 0===arguments[1]?void 0:R0(arguments[1]);try{return new R2(i,r),!0}catch(e){return!1}}});var R5=r2,R9=w3,R6=no,R8=wO,R7=tX("URL");R5({target:"URL",stat:!0,forced:!R8},{parse:function(e){var t=R9(arguments.length,1),i=R6(e),r=t<2||void 0===arguments[1]?void 0:R6(arguments[1]);try{return new R7(i,r)}catch(e){return null}}});var Ne=e2(tW.URL);function Nt(e){let t=PressureObserver.supportedSources,i="thermal";i=null!=t&&t.includes("thermal")?"thermal":"cpu";let r=new PressureObserver(t=>{t.forEach(t=>{t.source===i&&e(t.state)})});return r.observe(i,{sampleInterval:2e3}),r}class Ni{constructor(){dY(this,"_state",void 0),dY(this,"_handler",!1)}init(){if(Sz&&!S2("DISABLE_COMPUTE_PRESSURE")&&1)try{if(SW()){let e=new Blob(["(".concat(Nt.toString(),")(self.postMessage)")],{type:"text/javascript"}),t=new Worker(Ne.createObjectURL(e));t.onmessage=e=>{this._state=e.data},this._handler=t}else this._handler=Nt(e=>{this._state=e})}catch(e){}}get state(){return xn&&!hZ()&&(window.thermal_status=this._state),this._handler||this.init(),this._state}}var Nr=new Ni;let Ns=["codec","inbound-rtp","outbound-rtp","remote-inbound-rtp","remote-outbound-rtp","media-source","csrc","peer-connection","data-channel","stream","track","transceiver","sender","receiver","transport","sctp-transport","candidate-pair","local-candidate","remote-candidate","certificate","ice-server"],Nn=new Map,Na=!0,No=async e=>new Promise(t=>{let i={all:[],getTrackStats:()=>[]},r=S2("STATS_SCALLBACK_SUPPORT");if(Na&&bu&&void 0===window.InstallTrigger&&SO&&r)try{var s,n,a;null==(s=e.getStats(e=>{let i=[];e.result().forEach(e=>{if(Ns.includes(e.type))return;let t={};e.names().forEach(function(i){t[i]=e.stat(i)}),i.push(mr(mr({},t),{},{id:e.id,type:e.type,timestamp:e.timestamp}))}),t({all:i,getTrackStats:e=>i.filter(t=>"ssrc"!==t.type||t.googTrackId===e)})}))||null==(n=s.then)||null==(n=n.call(s,()=>{t(i)}))||null==(a=n.catch)||a.call(n,()=>{Na=!1,t(i)})}catch(e){Na=!1,t(i)}else t(i)}),Nl=async e=>{var t,i,r;let s=await e.getStats(),n={all:[]},a=new Map;s.forEach(e=>{let t=a.get(e.type)||new Map;t.set(e.id,e),a.set(e.type,t),n.all.push(e)});let o=(e,t)=>{e.forEach(e=>{var i,r,s,n,o,l,c,d;let u,h,{codecId:p,transportId:m,trackId:f,playoutId:g}=e;if(null==(i=a.get("codec"))||i.forEach(e=>{e.id===p&&t.add(e)}),null==(r=a.get("transport"))||r.forEach(e=>{e.id===m&&(u=e,t.add(e))}),null==(s=a.get("track"))||s.forEach(e=>{e.id===f&&t.add(e)}),null==(n=a.get("media-playout"))||n.forEach(e=>{e.id===g&&t.add(e)}),u){let{localCertificateId:e,remoteCertificateId:i,selectedCandidatePairId:r}=u;null==(o=a.get("certificate"))||o.forEach(r=>{(r.id===e||r.id===i)&&t.add(r)}),null==(l=a.get("candidate-pair"))||l.forEach(e=>{e.id===r&&(h=e,t.add(e))})}if(h){let{localCandidateId:e,remoteCandidateId:i}=h;null==(c=a.get("local-candidate"))||c.forEach(i=>{i.id===e&&t.add(i)}),null==(d=a.get("remote-candidate"))||d.forEach(e=>{e.id===i&&t.add(e)})}})};return a.get("media-source")?null==(i=a.get("media-source"))||i.forEach(e=>{var t;let i=new Set;i.add(e);let r=[];null==(t=a.get("outbound-rtp"))||t.forEach(t=>{var s;t.mediaSourceId===e.id&&(i.add(t),r.push(t),null==(s=a.get("remote-inbound-rtp"))||s.forEach(e=>{e.localId===t.id&&i.add(e)}))}),o(r,i),n[e.trackIdentifier]=Array.from(i)}):a.get("track")&&(null==(r=a.get("track"))||r.forEach(e=>{var t;let i=new Set;i.add(e);let r=[];null==(t=a.get("outbound-rtp"))||t.forEach(t=>{var s;t.trackId===e.id&&(i.add(t),r.push(t),null==(s=a.get("remote-inbound-rtp"))||s.forEach(e=>{e.localId===t.id&&i.add(e)}))}),o(r,i),n[e.trackIdentifier]=Array.from(i)})),null==(t=a.get("inbound-rtp"))||t.forEach(e=>{var t,i;let r=new Set;r.add(e),null==(t=a.get("remote-outbound-rtp"))||t.forEach(t=>{t.localId===e.id&&r.add(t)}),o([e],r);let{trackIdentifier:s}=e;s||null==(i=a.get("track"))||i.forEach(t=>{t.id===e.trackId&&(s=t.trackIdentifier)}),n[s]=Array.from(r)}),n},Nc=async(e,t,i,r)=>{let s=null==t?void 0:t.id;if(!(e instanceof RTCPeerConnection))return[];if(bc||bd){let i=[];try{(r?await r.getStats():await e.getStats(t)).forEach(e=>{i.push(e)})}catch(e){}return i}let n=Nn.get(e);(!n||Date.now()-n.timestamp>150)&&(n={timestamp:Date.now(),statsPromise:Nl(e),extraStatsPromise:No(e)},Nn.set(e,n));let a=await n.statsPromise,o=(s?a[s]:a.all)||[];if(!i){let e=await n.extraStatsPromise;o=o.concat((s?e.getTrackStats(s):e.all)||[])}return o},Nd=e=>{Nn.has(e)&&Nn.delete(e)};class Nu extends C5{constructor(){super(...arguments),dY(this,"_continuousVideoEncodeFailure",0),dY(this,"_remoteStreamDecodeStatus",new Map)}setLocalVideoStats(e,t){this.checkVideoEncodeFailure(e,t)}setRemoteVideoStats(e,t){this.checkVideoDecodeFailure(e,t)}destroy(){this._continuousVideoEncodeFailure=0,this._remoteStreamDecodeStatus=new Map}checkVideoEncodeFailure(e,t){var i;let r=e.frame_rate_input;window.__createEncodeError__&&(e.frame_rate_sent=0,e.frame_rate_encoded=0);let s=e.frame_rate_sent,n=e.frame_rate_encoded,a=void 0!==r&&r>0&&void 0!==n&&0===n&&void 0!==s&&0===s,o=null!=e&&e.is_screen?10:5;a?(this._continuousVideoEncodeFailure++,this._continuousVideoEncodeFailure>o&&(this.emit("rtc-encode-error",{codec:null==e?void 0:e.codecName,media_type:"video",track_frame_size_width:null==t?void 0:t.getSettings().width,track_frame_size_height:null==t?void 0:t.getSettings().height,track_frame_rate:null==t?void 0:t.getSettings().frameRate,stats_frame_size_width:null==e?void 0:e.frame_size_width,stats_frame_size_height:null==e?void 0:e.frame_size_height,stats_frame_rate_input:null==e?void 0:e.frame_rate_input,stats_frame_rate_sent:null==e?void 0:e.frame_rate_sent,stats_frame_rate_encoded:null==e?void 0:e.frame_rate_encoded,stats_frame_encoder_name:e.encoder_implementation,stats_is_hardware_encoder_enabled:SQ.H264_HW_ENCODER,stats_gpu_url:SQ.GPU_URL||(null==(i=xh())?void 0:i.renderer),is_screen:null==e?void 0:e.is_screen}),this._continuousVideoEncodeFailure=0)):this._continuousVideoEncodeFailure=0}checkVideoDecodeFailure(e,t){let i=e.stream_id;if(this._remoteStreamDecodeStatus.has(i)){var r;let s=this._remoteStreamDecodeStatus.get(i),n=0===e.frame_rate_decoded&&e.packetsReceived>s.packets_received&&e.framesDecoded<10;s.packets_received=e.packetsReceived,s.frames_decoded=e.framesDecoded,s.frame_rate_decoded=e.frame_rate_decoded,s.continuous_video_decode_failure=n?s.continuous_video_decode_failure+1:0,s.continuous_video_decode_failure>5&&(this.emit("rtc-decode-error",{codec:e.codecName,media_type:"video",track_frame_size_width:t.getSettings().width,track_frame_size_height:t.getSettings().height,track_frame_rate:t.getSettings().frameRate,stats_frame_size_width:e.frame_size_width,stats_frame_size_height:e.frame_size_height,stats_frame_rate_decode:e.frame_rate_decoded,stats_frame_rate_receive:e.frame_rate_received,stats_frame_decoder_name:e.decoder_name,stats_gpu_url:SQ.GPU_URL||(null==(r=xh())?void 0:r.renderer),is_screen:e.is_screen}),s.continuous_video_decode_failure=0)}else this._remoteStreamDecodeStatus.set(i,{packets_received:e.packetsReceived,frames_decoded:e.framesDecoded,frame_rate_decoded:e.frame_rate_decoded,continuous_video_decode_failure:0})}}class Nh extends C5{constructor(e){super(),dY(this,"_timer",void 0),dY(this,"_reportTimer",void 0),dY(this,"handler",void 0),dY(this,"_monitor",void 0),dY(this,"logger",void 0),dY(this,"_destroyed",!1),dY(this,"_isReportStarted",!1),this._context=e,this._monitor=vH(e.id),this.logger=new bn("Stats",3,e.id)}setVar(e){this.handler=e}stopReport(e){this._isReportStarted&&(this.logger.info("stopReport","invoke"),this._isReportStarted=!1,clearTimeout(this._reportTimer),delete this._reportTimer,v$(this._context.id,"del_media_statistics_timer","reason: ".concat(e,", stack: ").concat(Error().stack),0,this._stream.streamId||""))}filterIllegal(e){let t={};return Object.keys(e).forEach(i=>{null===e[i]||void 0===e[i]||Number.isNaN(e[i])||(t[i]=e[i])}),t}destroy(){this.logger.info("destroy","invoke"),v$(this._context.id,"media_statistics_destroy","".concat(Error().stack),0,"".concat(this._stream.streamId)),this.stopReport("destroy"),clearTimeout(this._timer),this._destroyed=!0}}class Np extends Nh{constructor(e,t){super(e),dY(this,"_stats",{audioStats:{},videoStats:{}}),dY(this,"_preReports",{audio:{},video:{}}),dY(this,"statsMonitor",void 0),this._stream=t,this.statsMonitor=new Nu,this.statsMonitor.on("stats-exception",e=>{this.emit("stats-exception",e)}),this.statsMonitor.on("rtc-encode-error",e=>{var t;this.logger.info("rtc_encode_error",JSON.stringify(e)),null==(t=this._monitor)||t.report("rtc_encode_error",e)});let i=async()=>{this._stats=await this._getLocalStats(this._stream,this._preReports,!1),this._destroyed||(this._timer=setTimeout(i,S2("STATS_LOOP_INTERVAL")))};i()}setLocalStreamStatsEvtInterval(e,t){if(this._isReportStarted)return;this.logger.info("setLocalStreamStatsEvtInterval","invoke"),this._isReportStarted=!0,this.setVar(t),this._destroyed=!1;let i={audio:{},video:{}},r=async()=>{e(await this._getLocalStats(this._stream,i,!0)),this._destroyed||(this._reportTimer=setTimeout(r,2e3))};r()}getLocalStats(){return this._stats}async _getLocalStats(e,t,i){var r,s,n,a,o,l,c,d;let u=void 0!==(null==(r=e.audioTrack)?void 0:r.mixType)&&e.audioTrack.mixType!==Od.PLAYOUT?null!=(s=null==(n=e.audioTrack)?void 0:n.mixedAudioTrack)?s:null==(a=e.audioTrack)?void 0:a.preprocessingTrack:null==(o=e.audioTrack)?void 0:o.preprocessingTrack,h=null==(l=e.videoTrack)?void 0:l.preprocessingTrack;return 0===Object.keys(t.audio).length&&0===Object.keys(t.video).length&&(await this.getAudioStats(u,t,null==(d=e.audioTrack)?void 0:d.getAudioLevel(),i),await this.getVideoStats(h,t,i),await kX(150)),{audioStats:await this.getAudioStats(u,t,null==(c=e.audioTrack)?void 0:c.getAudioLevel(),i),videoStats:await this.getVideoStats(h,t,i),isScreen:e.isScreen}}async getAudioStats(e,t,i,r){var s,n,a,o;let l={},c={timestamp:Date.now()},{streamId:d,audioMid:u,isScreen:h,pubAttributes:p,pubAudio:m,audioTrack:f}=this._stream,g={media_type:"audio",is_screen:!!h,direction:"up",stream_id:d,vid:u,connection_status:navigator.onLine,track_enabled:null==e?void 0:e.enabled,capture_state:p.localaudio?"capture_state_on":"capture_state_off",mute_state:m?"mute_state_off":"mute_state_on",thermal_status:Nr.state,is_public_stream:this._stream.isPublicStream};if(f&&(g.playback_volume=f.getVolume()),!e||!this.handler)return l;let _=await (null==(s=this.handler.peer)?void 0:s.getStatsWithLowFrequency(e,!1,null==(n=this._stream.audioTransceiver)?void 0:n.sender));if(!_.length)return l;(_.forEach(e=>{let{type:t,packetsSent:i,packetsLost:r,bytesSent:s,clockRate:n,roundTripTime:a,channels:o,audioLevel:d,mimeType:u,availableIncomingBitrate:h,availableOutgoingBitrate:p,bytesReceived:m,nominated:f,id:_,currentRoundTripTime:y,state:v,writable:b,requestsReceived:S,responsesReceived:k,requestsSent:x,consentRequestsSent:C,responsesSent:w,jitter:E,candidateType:T,ip:I,address:R,networkType:N,port:A,protocol:M,nackCount:P,retransmittedBytesSent:j,retransmittedPacketsSent:L,audioInputLevel:D,ssrc:O,totalAudioEnergy:F,totalSamplesDuration:U,mediaType:V,fractionLost:B}=e;"outbound-rtp"===t?(c.packetsSent=i,c.bytesSent=s,g.bytes=s,g.packetsSent=i,g.nackCount=P,g.ssrc=O,g.retransmitted_bytes_sent=j,g.retransmitted_packets_sent=L,c.retransmittedBytesSent=j,c.retransmittedPacketsSent=L):"remote-inbound-rtp"===t?(c.packetsLost=r,g.packetsLost=r,g.net_jitter=1e3*E,l.rtt=1e3*a,g.rtt=l.rtt,l._fractionLost=B||0):"codec"===t?(l.recordSampleRate=n,l.numChannels=o,g.codecName=u):"media-source"===t&&void 0!==d?(g.audio_level=d?-10*Math.log10(Math.pow(d,2)):d,g.volume=255*d,g.total_audio_energy=F,g.totalInputDuration=U,g.send_level||(g.send_level=d)):"ssrc"===t&&"audio"===V?D&&(g.send_level=D):"candidate-pair"===t?(g.ice_available_incoming_bitrate=h,g.ice_available_outgoing_bitrate=p,g.ice_bytes_received=m,g.ice_bytes_sent=s,g.ice_nominated=Number(f),g.ice_pair_id=_,g.ice_pair_rtt=y,g.ice_pair_state=v,g.ice_pair_writable=b,g.recv_ping_requests=S,g.recv_ping_responses=k,g.sent_ping_requests_before_first_response=x,g.sent_ping_requests_total=x+(C||0),g.sent_ping_responses=w):"local-candidate"===t?(g.local_candidate_type=T,g.local_ip=I||R,g.local_network_type=N,g.local_port=A,g.protocol=M):"remote-candidate"===t&&(g.remote_candidate_type=T,g.remote_ip=I||R,g.remote_port=A)}),g.send_level)?g.send_level<1?g._sendVolumeLevel=32767*g.send_level:g._sendVolumeLevel=g.send_level:g._sendVolumeLevel=Math.round(((null==f?void 0:f.getAudioLevel())||0)/255*32767),void 0===g.volume&&void 0!==i&&(g.volume=i,g.audio_level=i?-10*Math.log10(Math.pow(i/255,2)):i);let{audio:y}=t;return y.timestamp?(void 0!==c.packetsLost&&(l.audioLossRate=Math.max(0,c.packetsLost-y.packetsLost)/(c.packetsSent-y.packetsSent),l.audioLossRate=Number.isNaN(l.audioLossRate)?0:l.audioLossRate,g.fraction_lost=l.audioLossRate),l.statsInterval=c.timestamp-y.timestamp,g.stats_interval=l.statsInterval,l.sendKBitrate=(c.bytesSent-y.bytesSent||0)/l.statsInterval*8,g.mediaBitratebps=Math.round(1e3*l.sendKBitrate),g.bandwidth=Math.round(g.mediaBitratebps/1024),void 0!==c.retransmittedBytesSent&&(g.retransmitBitratebps=(c.retransmittedBytesSent-y.retransmittedBytesSent||0)/l.statsInterval),t.audio=c,g.vendor_mode=this._stream.vendorCode||0,g.pc_session_id=null==(a=this.handler)?void 0:a.peerConnectionId,r&&(null==(o=this._monitor)||o.report("rtc_media_statistics",g)),l._retransmittedRate=(c.retransmittedPacketsSent-y.retransmittedPacketsSent)/(c.packetsSent-y.packetsSent),void 0===l.audioLossRate&&(l.audioLossRate=l._retransmittedRate,g.fraction_lost=l.audioLossRate),l._fractionLost=Math.max(l._fractionLost,l.audioLossRate),l._sendVolumeLevel=g._sendVolumeLevel):t.audio=c,this.filterIllegal(l)}async getVideoStats(e,t,i){var r,s,n,a,o,l,c;let d={},u={timestamp:Date.now(),simulcast:{}},{streamId:h,videoMid:p,isScreen:m,pubAttributes:f,enableSimulcast:g,pubVideo:_}=this._stream,y={media_type:"video",is_screen:!!m,direction:"up",stream_id:h,vid:p,connection_status:navigator.onLine,track_enabled:null==e?void 0:e.enabled,capture_state:f.localvideo?"capture_state_on":"capture_state_off",mute_state:_?"mute_state_off":"mute_state_on",thermal_status:Nr.state,is_public_stream:this._stream.isPublicStream};if(!e||!this.handler)return d;y.cap_frame_width=e.getSettings().width,y.cap_frame_height=e.getSettings().height,y.frameRateSent=e.getSettings().frameRate,d.isScreen=m,y.is_intersecting=JSON.stringify(null==(r=this._stream)||null==(r=r.videoTrack)?void 0:r.intersection());let v=await (null==(s=this.handler.peer)?void 0:s.getStatsWithLowFrequency(e,!1,null==(n=this._stream.videoTransceiver)?void 0:n.sender));if(!v.length)return d;let b=0;v.forEach(e=>{let{type:i,framesEncoded:r,packetsLost:s,bytesSent:n,framesSent:a,retransmittedBytesSent:o,totalPacketSendDelay:l,totalEncodeTime:c,firCount:h,targetBitrate:p,roundTripTime:m,mimeType:f,frameWidth:_,frameHeight:v,packetsSent:S,googActualEncBitrate:k,googAvailableReceiveBandwidth:x,googAvailableSendBandwidth:C,googAvgEncodeMs:w,googBucketDelay:E,googEncodeUsagePercent:T,googFrameRateInput:I,availableIncomingBitrate:R,availableOutgoingBitrate:N,bytesReceived:A,nominated:M,id:P,currentRoundTripTime:j,state:L,writable:D,candidateType:O,ip:F,address:U,networkType:V,port:B,nackCount:z,pliCount:W,protocol:H,qpSum:G,requestsReceived:Z,responsesReceived:K,googRetransmitBitrate:X,requestsSent:Y,consentRequestsSent:J,responsesSent:$,ssrc:q,googTargetEncBitrate:Q,googTransmitBitrate:ee,retransmittedPacketsSent:et,encoderImplementation:ei,jitter:er,rid:es,fractionLost:en,googAdaptationChanges:ea,qualityLimitationReason:eo,qualityLimitationDurations:el,googFirsReceived:ec,googFrameRateSent:ed,keyFramesEncoded:eu,scalabilityMode:eh,framesPerSecond:ep,frames:em}=e;"outbound-rtp"===i?(g&&(es?u.simulcast[es]=e:u.simulcast[b]=e,b++),u.framesEncoded=r||u.framesEncoded||0,y.key_frames_encoded=eu||0,u.bytesSent=n||u.bytesSent||0,u.framesSent=a||u.framesSent,y.bytes=n||y.bytes||0,u.packetsSent=S||u.packetsSent||0,y.packetsSent=S||y.packetsSent||0,y.nackCount=z||y.nackCount||0,y.pli_count=W||y.pli_count||0,y.qp_sum=G||y.qp_sum||0,y.ssrc=q||y.ssrc||0,y.retransmitted_packets_sent=et,u.retransmittedPacketsSent=et,u.retransmittedBytesSent=o,y.encoder_implementation=ei,y.qualityLimitationReason=eo,y.qualityLimitationDurations=el,y.scalabilityMode=eh,void 0!==_&&((!d.encodedFrameWidth||_>d.encodedFrameWidth)&&(d.encodedFrameWidth=_),(!d.encodedFrameHeight||v>d.encodedFrameHeight)&&(d.encodedFrameHeight=v),y.frame_size_height=v,y.frame_size_width=_)):"track"===i?(d.encodedFrameWidth=_,d.encodedFrameHeight=v,y.frame_size_height=v,y.frame_size_width=_):"remote-inbound-rtp"===i?(u.packetsLost=s,d.rtt=1e3*m,y.rtt=d.rtt,y.jitter=1e3*er,y.packetsLost=s,d._fractionLost=en||0):"codec"===i?(d.codecType=f,y.codecName=f):"candidate-pair"===i?(y.ice_available_incoming_bitrate=R,y.ice_available_outgoing_bitrate=N,y.ice_bytes_received=A,y.ice_bytes_sent=n,y.ice_nominated=Number(M),y.ice_pair_id=P,y.ice_pair_rtt=j,y.ice_pair_state=L,y.ice_pair_writable=D,y.recv_ping_requests=Z,y.recv_ping_responses=K,y.sent_ping_requests_before_first_response=Y,y.sent_ping_requests_total=Y+J,y.sent_ping_responses=$):"local-candidate"===i?(y.local_candidate_type=O,y.local_ip=F||U,y.local_network_type=V,y.local_port=B,y.protocol=H):"remote-candidate"===i?(y.remote_candidate_type=O,y.remote_ip=F||U,y.remote_port=B):"VideoBwe"===i?(y.encBitratebps=k,y.available_receive_bandwidth=x,y.available_send_bandwidth=C,y.bucket_delay=E,y.retransmitBitratebps=X,y.targetEncBitratebps=Q,y.transmit_bitrate=ee,d._sendBandWidth=Number(C)):"ssrc"===i&&(y.avg_encode_ms=w,y.encodeUsage=T,y.frame_rate_input=I,y.orignal_input_Framerate=Number(I),y.ddaptationChanges=ea,y.firsReceived=ec,y.frameRateSent=ed);let ef=S2("STATS_SCALLBACK_SUPPORT");if(!SO||!ef){let{video:e}=t,s=u.timestamp-e.timestamp;if("outbound-rtp"===i){let t=n-e.bytesSent,i=o-e.retransmittedBytesSent;y.encBitratebps=Math.round(8e3*(t-i)/s),y.bucket_delay=l/S,y.retransmitBitratebps=Math.round(8e3*i/s),y.targetEncBitratebps=p,y.transmit_bitrate=Math.round(1e3*(n-e.bytesSent)*8/s),y.avg_encode_ms=1e3*c/r,y.firsReceived=h+W}else"candidate-pair"===i?(y.available_send_bandwidth=N,d._sendBandWidth=N):"media-source"===i&&(y.frame_rate_input=ep,y.orignal_input_Framerate=Number(ep),y.frame_input=em)}});let{video:S}=t;if(!S.timestamp)return t.video=u,this.filterIllegal(d);d.statsInterval=u.timestamp-S.timestamp,y.stats_interval=d.statsInterval;let k=Object.keys(u.simulcast);if(g){y.sim_enc_width=[],y.sim_enc_height=[],y.sim_enc_bps=[],y.sim_enc_framerate=[],y.sim_enc_key_frames=[],y.sim_rids=[],y.sim_enc_bandwidth=[],y.sim_sent_framerate=[],y.sim_fraction_lost=[],y.sim_keyencoded=[],y.active_sim_streams=this._context.videoProfile.activeSimStreams||[],y.sim_retransmittedRate=[];let e=!1;C0(k).call(k,(e,t)=>Number(e)-Number(t)).forEach(t=>{let{frameWidth:i,frameHeight:r,bytesSent:s,framesEncoded:n,framesSent:a,packetsLost:o,packetsSent:l,qualityLimitationReason:c,qualityLimitationDurations:h,qualityLimitationResolutionChanges:p,retransmittedPacketsSent:m,pliCount:f,keyFramesEncoded:g}=u.simulcast[t];void 0!==c&&(y.sim_qualityLimitationReason||(y.sim_qualityLimitationReason=[],y.sim_qualityLimitationDurations=[],y.sim_qualityLimitationResolutionChanges=[]),y.sim_qualityLimitationReason.push(c),y.sim_qualityLimitationDurations.push(h),y.sim_qualityLimitationResolutionChanges.push(p));let _=S.simulcast[t];if(y.sim_enc_width.push(i||0),y.sim_enc_height.push(r||0),y.sim_enc_key_frames.push(g||0),_){let r=(s-_.bytesSent||0)/d.statsInterval;y.sim_enc_bps.push(Math.round(8e3*r)),y.sim_enc_bandwidth.push(Math.round(8e3*r/1024));let c=1e3*(n-_.framesEncoded)/d.statsInterval;y.sim_enc_framerate.push(Math.round(c)),y.sim_rids.push(t);let u=void 0!==a?a-_.framesSent:n-_.framesEncoded,h=1e3*u/d.statsInterval;y.sim_sent_framerate.push(Math.round(h));let p=(o-_.packetsLost)/(l-_.packetsSent);d._retransmittedRate=(m-_.retransmittedPacketsSent)/(l-_.packetsSent),p=Number.isNaN(p)?0:p,y.sim_fraction_lost.push(p),y.sim_keyencoded.push(f-_.pliCount>0),y.sim_retransmittedRate.push(d._retransmittedRate),i>0&&!e&&(d.rid=t,d.sentKBitrate=8*r,d.encoderOutputFrameRate=c,d.encodedFrameCount=u,d.sentFrameRate=h,d.videoLossRate=p,e=!0)}}),y.vendor_mode=this._stream.vendorCode||0,y.pc_session_id=null==(a=this.handler)?void 0:a.peerConnectionId,i&&(null==(o=this._monitor)||o.report("rtc_media_statistics",y))}else(d.encodedFrameCount=void 0!==u.framesSent?u.framesSent-S.framesSent:u.framesEncoded-S.framesEncoded,d.sentKBitrate=(u.bytesSent-S.bytesSent||0)/d.statsInterval*8,y.bitrate=Math.round(1e3*d.sentKBitrate),y.bandwidth=Math.round(y.bitrate/1024),d.encoderOutputFrameRate=1e3*(u.framesEncoded-S.framesEncoded)/d.statsInterval,y.frame_rate_encoded=Math.round(d.encoderOutputFrameRate),d.sentFrameRate=1e3*d.encodedFrameCount/d.statsInterval,y.frame_rate_sent=Math.round(d.sentFrameRate),d.videoLossRate=Math.max(0,u.packetsLost-S.packetsLost)/(u.packetsSent-S.packetsSent),d.videoLossRate=Number.isNaN(d.videoLossRate)?0:d.videoLossRate,y.fraction_lost=d.videoLossRate,d._retransmittedRate=(u.retransmittedPacketsSent-S.retransmittedPacketsSent)/(u.packetsSent-S.packetsSent),y.vendor_mode=this._stream.vendorCode||0,y.pc_session_id=null==(l=this.handler)?void 0:l.peerConnectionId,y.sentKBitrate=d.sentKBitrate,d.inputFrameRate=y.orignal_input_Framerate,d.encoderName=y.encoder_implementation,i)?null==(c=this._monitor)||c.report("rtc_media_statistics",y):this.statsMonitor.setLocalVideoStats(y,e);return t.video=u,d._fractionLost=Math.max(d._fractionLost,d.videoLossRate),d._captureResolutionWidth=y.cap_frame_width,d._captureResolutionHeight=y.cap_frame_height,this.filterIllegal(d)}destroy(){super.destroy(),this.statsMonitor.destroy()}}class Nm extends Nh{constructor(e,t){super(e),dY(this,"_stats",{audioStats:{},videoStats:{}}),dY(this,"_preReports",{audio:{},video:{}}),dY(this,"statsMonitor",void 0),this._stream=t,this.statsMonitor=new Nu,this.statsMonitor.on("stats-exception",e=>{this.emit("stats-exception",e)}),this.statsMonitor.on("rtc-decode-error",e=>{var t;this.logger.info("rtc_decode_error",JSON.stringify(e)),null==(t=this._monitor)||t.report("rtc_decode_error",e)});let i=async()=>{this._stats=await this._getRemoteStreamStats(this._stream,this._preReports,!1),this._destroyed||(this._timer=setTimeout(i,S2("STATS_LOOP_INTERVAL")))};i()}async setRemoteStreamStatsEvtInterval(e,t){if(this._isReportStarted)return;this.logger.info("setRemoteStreamStatsEvtInterval","invoke"),this._isReportStarted=!0,this.setVar(t),this._destroyed=!1;let i={audio:{},video:{}},r=async()=>{e(await this._getRemoteStreamStats(this._stream,i,!0)),this._destroyed||(this._reportTimer=setTimeout(r,2e3))};r()}getRemoteStreamStats(){return this._stats}async _getRemoteStreamStats(e,t,i){var r,s,n,a;let o=null==(r=e.videoTrack)?void 0:r.originTrack,l=null==(s=e.audioTrack)?void 0:s.originTrack;return 0===Object.keys(t.audio).length&&0===Object.keys(t.video).length&&(await this.getRemoteAudioStats(l,t,null==(a=this._stream.audioTrack)?void 0:a.getAudioLevel(),i),await this.getRemoteVideoStats(o,t,i),await kX(150)),{audioStats:await this.getRemoteAudioStats(l,t,null==(n=this._stream.audioTrack)?void 0:n.getAudioLevel(),i),videoStats:await this.getRemoteVideoStats(o,t,i),isScreen:e.isScreen,userId:e.userId,streamId:e.streamId}}unsubscribe(){this.logger.info("unsubscribe","invoke"),super.stopReport("unsubscribe"),this._stream.stopAudioStallObserve()}async getRemoteAudioStats(e,t,i,r){var s,n,a,o,l;let c,d={},u={},{streamId:h,userId:p,isScreen:m,audioMid:f,subMediaType:g,_attributes:_,virtual:y,audioTrack:v}=this._stream,b={media_type:"audio",is_screen:!!m,direction:"down",stream_id:h,stream_user_id:p,vid:f,audio_mux:y,connection_status:navigator.onLine,track_enabled:null==e?void 0:e.enabled,mute_state:k3(g)?"mute_state_off":"mute_state_on",remote_user_capture_state:_.localaudio?"capture_state_on":"capture_state_off",remote_user_mute_state:_.localaudio&&_.audiostream?"mute_state_off":"mute_state_on",thermal_status:Nr.state,is_public_stream:this._stream.isPublicStream};if(v&&(b.playback_volume=v.getVolume()),!e||!this.handler)return d;let S=await (null==(s=this.handler.peer)?void 0:s.getStatsWithLowFrequency(e,!1,null==(n=this._stream.audioTransceiver)?void 0:n.receiver));if(!S.length)return d;S.forEach(e=>{let{type:t,packetsLost:r,packetsReceived:s,bytesReceived:n,jitterBufferDelay:a,jitterBufferEmittedCount:o,clockRate:l,channels:c,totalSamplesReceived:p,concealedSamples:m,silentConcealedSamples:f,concealmentEvents:g,totalRoundTripTime:_,packetsDiscarded:y,state:v,currentRoundTripTime:S,audioLevel:k,totalAudioEnergy:x,totalSamplesDuration:C,mimeType:w,googDecodingNormal:E,googDecodingMuted:T,availableIncomingBitrate:I,availableOutgoingBitrate:R,bytesSent:N,nominated:A,id:M,writable:P,jitter:j,candidateType:L,ip:D,address:O,networkType:F,port:U,protocol:V,audioOutputLevel:B,requestsReceived:z,responsesReceived:W,requestsSent:H,consentRequestsSent:G,responsesSent:Z,ssrc:K,nackCount:X,lastPacketReceivedTimestamp:Y,concealmentevents:J,fecPacketsReceived:$,retransmittedBytesReceived:q}=e;if("inbound-rtp"===t)u.packetsLost=r,u.packetsReceived=s,b.packetsLost=r,b.packetsReceived=s,b.packetsDiscarded=y,b.nackCount=X,b.lastPacketReceivedTimestamp=Y,b.concealmentevents=J,u.bytesReceived=n,void 0!==a&&(d.jitterBufferDelay=a/o*1e3,b.average_jitter_buffer_delay_ms=d.jitterBufferDelay),void 0!==p&&(u.totalSamplesReceived=p,d.concealedSamples=m,u.concealedSamples=m,u.silentConcealedSamples=f,b.concealedSamples=m,d.concealmentEvents=g,b.totalSamplesReceived=p),void 0!==$&&(b.fec_packets_received=$,u.fecPacketsReceived=$),b.jitter=1e3*j,b.ssrc=K,void 0!==k&&0!==k?(b.audio_level=k?-10*Math.log10(Math.pow(k,2)):k,b.volume=255*k):(b.volume=null!=i?i:255*k,b.audio_level=i?-10*Math.log10(Math.pow(i/255,2)):i),void 0!==x&&(b.total_audio_energy=x),void 0!==C&&(b.totalAudioDuration=C),u.retransmittedBytesReceived=q;else if("codec"===t)d.recordSampleRate=l,c&&(d.numChannels=c),b.codecName=w,d.codecType=w;else if("candidate-pair"===t){var Q;b.ice_available_incoming_bitrate=I,b.ice_available_outgoing_bitrate=R,b.ice_bytes_received=n,b.ice_bytes_sent=N,b.ice_nominated=Number(A),b.ice_pair_id=M,b.ice_pair_rtt=S,b.rtt=1e3*S,b.rtt&&null!=(Q=this._context.streamRTT)&&null!=(Q=Q[h])&&Q.audio&&(b.total_rtt_ms=Math.round(b.rtt+this._context.streamRTT[h].audio)),b.ice_pair_state=v,b.ice_pair_writable=P,b.recv_ping_requests=z,b.recv_ping_responses=W,b.sent_ping_requests_before_first_response=H,b.sent_ping_requests_total=H+(G||0),b.sent_ping_responses=Z,"succeeded"===v&&(d.rtt=1e3*S,d.total_rtt=1e3*_)}else"track"===t&&void 0!==k?(0===k&&0!==i?(b.volume=i,b.audio_level=i?-10*Math.log10(Math.pow(i/255,2)):i):(b.audio_level=k?-10*Math.log10(Math.pow(k,2)):k,b.volume=255*k),b.total_audio_energy=x,b.totalAudioDuration=C):"ssrc"===t?(b.decodingNormal=E,b.recvAudioLevel=B,b.decodingMuted=T):"local-candidate"===t?(b.local_candidate_type=L,b.local_ip=D||O,b.local_network_type=F,b.local_port=U,b.protocol=V):"remote-candidate"===t&&(b.remote_candidate_type=L,b.remote_ip=D||O,b.remote_port=U)});let{audio:k}=t;return k.timestamp?(void 0!==u.concealedSamples&&(b.interval_concealed_samples=u.concealedSamples-k.concealedSamples,b.interval_samples_received=u.totalSamplesReceived-k.totalSamplesReceived,b.interval_silent_concealed_samples=u.silentConcealedSamples-k.silentConcealedSamples,c=await this._stream.updateAudioStallInfo(b,d,u)),u.timestamp=Date.now(),d.audioLossRate=Math.max(0,u.packetsLost-k.packetsLost)/(u.packetsReceived-k.packetsReceived+(u.packetsLost-k.packetsLost)),d.audioLossRate=Number.isNaN(d.audioLossRate)?0:d.audioLossRate,b.fraction_lost=d.audioLossRate,d.statsInterval=u.timestamp-k.timestamp,b.stats_interval=d.statsInterval,d.receivedKBitrate=(u.bytesReceived-k.bytesReceived||0)/d.statsInterval*8,b.bandwidth=Math.round(1e3*d.receivedKBitrate/1024),void 0!==u.concealedSamples&&(d.receivedSampleRate=1e3*b.interval_samples_received/d.statsInterval),void 0!==u.fecPacketsReceived&&(b.fecBitratebps=(u.fecPacketsReceived-k.fecPacketsReceived||0)/d.statsInterval),b.average_jitter_buffer_delay_ms&&b.total_rtt_ms&&(d.e2eDelay=b.average_jitter_buffer_delay_ms+b.total_rtt_ms),null!=(a=this._context.streamRTT)&&null!=(a=a[h])&&a.audio&&(d.totalRtt=(b.rtt?b.rtt:0)+this._context.streamRTT[h].audio),void 0!==k.retransmittedBytesReceived&&void 0!==u.retransmittedBytesReceived&&(b.retransmitBitratebps=Math.round(8e3*(u.retransmittedBytesReceived-k.retransmittedBytesReceived)/d.stats_interval)),t.audio=u,b.vendor_mode=this._stream.vendorCode||0,b.pc_session_id=null==(o=this.handler)?void 0:o.peerConnectionId,r&&(null==(l=this._monitor)||l.report("rtc_media_statistics",b,c))):(u.timestamp=Date.now(),t.audio=u),this.filterIllegal(d)}async getRemoteVideoStats(e,t,i){var r,s,n,a,o,l,c,d;let u={},h={timestamp:Date.now()},{streamId:p,userId:m,isScreen:f,subMediaType:g,_attributes:_}=this._stream,y=mr({media_type:"video",is_screen:!!f,direction:"down",stream_id:p,stream_user_id:m,vid:this._stream.videoMid,connection_status:navigator.onLine,track_enabled:null==e?void 0:e.enabled,mute_state:k4(g)?"mute_state_off":"mute_state_on",remote_user_capture_state:_.localvideo?"capture_state_on":"capture_state_off",remote_user_mute_state:_.localvideo&&_.videostream?"mute_state_off":"mute_state_on",is_intersecting:JSON.stringify(null==(r=this._stream.videoTrack)?void 0:r.intersection()),thermal_status:Nr.state,is_public_stream:this._stream.isPublicStream},this._stream.getVideoRenderInfo());if(!e||!this.handler)return u;u.isScreen=f;let v=await (null==(s=this.handler.peer)?void 0:s.getStatsWithLowFrequency(e,!1,null==(n=this._stream.videoTransceiver)?void 0:n.receiver));if(!v.length)return u;v.forEach(e=>{var t,i,r,s,n;let{type:a,frameHeight:o,frameWidth:l,packetsLost:c,packetsReceived:d,bytesReceived:m,framesDecoded:f,jitterBufferDelay:g,jitterBufferEmittedCount:v,mimeType:b,firCount:S,availableIncomingBitrate:k,availableOutgoingBitrate:x,bytesSent:C,nominated:w,id:E,currentRoundTripTime:T,state:I,writable:R,candidateType:N,ip:A,address:M,networkType:P,port:j,nackCount:L,pliCount:D,protocol:O,requestsReceived:F,responsesReceived:U,requestsSent:V,consentRequestsSent:B,responsesSent:z,ssrc:W,jitter:H,framesReceived:G,keyFramesDecoded:Z,totalDecodeTime:K,decoderImplementation:X,lastPacketReceivedTimestamp:Y,retransmittedBytesReceived:J,framesDropped:$}=e;if("inbound-rtp"===a){if(h.packetsLost=c,y.packetsLost=c,h.packetsReceived=d,y.packetsReceived=d,h.bytesReceived=m,y.bytes=m,h.framesDecoded=f,h.totalDecodeTime=K,void 0!==g&&(h.jitterBufferDelay=g/v*1e3,y.average_jitter_buffer_delay_ms=h.jitterBufferDelay),y.fir_count=S,y.nackCount=L,h.nackCount=L,y.pli_count=D,y.ssrc=W,y.framesDropped=$,y.jitter=1e3*H,y.framesReceived=G,h.framesReceived=G,y.framesDecoded=f,y.key_frames_decoded=Z,y.decoder_name=X,u.decoderName=X,y.last_packet_received_timestamp=Y,h.retransmittedBytesReceived=J,void 0!==l){y.frame_size_width=l,y.frame_size_height=o;let e=null==_?void 0:_.alphaInfo;null!=e&&e.enableAlpha?(u.width=null!=(t=e.alphaWidth)?t:l,u.height=null!=(i=e.alphaHeight)?i:(null!=o?o:0)/2):(u.width=l,u.height=o)}}else if("track"===a&&void 0!==l){y.frame_size_width=l,y.frame_size_height=o;let e=null==_?void 0:_.alphaInfo;null!=e&&e.enableAlpha?(u.width=null!=(r=e.alphaWidth)?r:l,u.height=null!=(s=e.alphaHeight)?s:(null!=o?o:0)/2):(u.width=l,u.height=o),void 0!==G&&(y.framesReceived=G,h.framesReceived=G)}else"codec"===a?(y.codecName=b,u.codecType=b):"candidate-pair"===a?(y.ice_available_incoming_bitrate=k,y.ice_available_outgoing_bitrate=x,y.ice_bytes_received=m,y.ice_bytes_sent=C,y.ice_nominated=Number(w),y.ice_pair_id=E,y.ice_pair_rtt=T,y.rtt=1e3*T,y.rtt&&null!=(n=this._context.streamRTT)&&null!=(n=n[p])&&n.video&&(y.total_rtt_ms=Math.round(y.rtt+(this._context.streamRTT[p].video||0))),u.rtt=y.rtt,y.ice_pair_state=I,y.ice_pair_writable=R,y.recv_ping_requests=F,y.recv_ping_responses=U,y.sent_ping_requests_before_first_response=V,y.sent_ping_requests_total=V+(B||0),y.sent_ping_responses=z):"local-candidate"===a?(y.local_candidate_type=N,y.local_ip=A||M,y.local_network_type=P,y.local_port=j,y.protocol=O):"remote-candidate"===a&&(y.remote_candidate_type=N,y.remote_ip=A||M,y.remote_port=j)});let{video:b}=t;if(!b.timestamp)return t.video=h,this.filterIllegal(u);let S=Math.max(0,h.packetsLost-b.packetsLost),k=h.packetsReceived-b.packetsReceived;u.videoLossRate=S/(k+S),u._receivePackets=h.packetsReceived,u._receivePacketsLost=h.packetsLost,b.totalDecodeTime&&b.framesDecoded&&h.framesDecoded!==b.framesDecoded&&(y.decode_elapse_per_frame=Number(((h.totalDecodeTime-b.totalDecodeTime)/(h.framesDecoded-b.framesDecoded)*1e3).toFixed(2))),u._retransmittedRate=(h.nackCount-b.nackCount)/(k+S),u.videoLossRate=Number.isNaN(u.videoLossRate)?0:u.videoLossRate,y.fraction_lost=u.videoLossRate,u.statsInterval=h.timestamp-b.timestamp,y.stats_interval=u.statsInterval,u.receivedKBitrate=(h.bytesReceived-b.bytesReceived||0)/u.statsInterval*8,y.bitrate=Math.round(1e3*u.receivedKBitrate),y.bandwidth=Math.round(y.bitrate/1024),u.decoderOutputFrameRate=1e3*(h.framesDecoded-b.framesDecoded)/u.statsInterval,u.receivedFrameRate=1e3*(h.framesReceived-b.framesReceived)/u.statsInterval,y.frame_rate_decoded=Math.round(u.decoderOutputFrameRate),y.frame_rate_received=Math.round(u.receivedFrameRate),y.average_jitter_buffer_delay_ms&&y.total_rtt_ms&&(u.e2eDelay=y.average_jitter_buffer_delay_ms+y.total_rtt_ms),null!=(a=this._context.streamRTT)&&null!=(a=a[p])&&a.video&&(u.totalRtt=(y.rtt?y.rtt:0)+(this._context.streamRTT[p].video||0)),t.video=h,this._stream.updateVideoStallInfo(y,u,i),y.vendor_mode=this._stream.vendorCode||0,y.pc_session_id=null==(o=this.handler)?void 0:o.peerConnectionId;let x=null==_?void 0:_.alphaInfo;return null!=x&&x.enableAlpha&&void 0!==y.frame_size_width&&void 0!==y.frame_size_height?(u.frameSizeWidth=null!=(l=x.alphaWidth)?l:y.frame_size_width,u.frameSizeHeight=null!=(c=x.alphaHeight)?c:y.frame_size_height/2):(u.frameSizeWidth=y.frame_size_width,u.frameSizeHeight=y.frame_size_height),u.decoderName=y.decoder_name,void 0!==b.retransmittedBytesReceived&&void 0!==h.retransmittedBytesReceived&&(y.retransmitBitratebps=Math.round(8e3*(h.retransmittedBytesReceived-b.retransmittedBytesReceived)/y.stats_interval)),i?null==(d=this._monitor)||d.report("rtc_media_statistics",y):this.statsMonitor.setRemoteVideoStats(y,e),this.filterIllegal(u)}destroy(){super.destroy(),super.stopReport("destroy"),this._stream.stopAudioStallObserve(),this.statsMonitor.destroy()}}class Nf{constructor(e,t){dY(this,"_removeHandler",void 0),dY(this,"_remotePauseHandler",void 0),dY(this,"_prePts",void 0),dY(this,"_stallList",void 0),dY(this,"_videoInWaiting",!1),dY(this,"_videoInWaitingCallback",!1),dY(this,"_videoInWaiting100ms",!1),dY(this,"_isPaused",void 0),dY(this,"_pauseStart",0),dY(this,"_pauseDuration",0),dY(this,"_requestVideoFrameCallbackTimer",void 0),dY(this,"_logger",void 0),dY(this,"_player",void 0),dY(this,"_recentVideoInfo",void 0),dY(this,"_stallTimeThreshold",void 0),dY(this,"_openVideoStall100ms",SQ.VIDEO_STALL_100MS);let i=e?1500:bd||bc?550:500;this._stallTimeThreshold={report:i,callback:Math.max(SQ.VIDEO_STALL_DATA,i)},this._logger=new bn("VideoStallObserver",1,t)}start(e){if(this._logger.print("start","invoke"),this._player=e,b0())e.domElement&&(this._requestVideoFrameCallbackTimer=e.domElement.requestVideoFrameCallback(this._onVideoRefresh.bind(this)),this._removeHandler=()=>{var t;this._requestVideoFrameCallbackTimer&&(null==(t=e.domElement)||t.cancelVideoFrameCallback(this._requestVideoFrameCallbackTimer))});else{let t=t=>this._onVideoTimeupdate(t,e);e.on("playback_event",t),this._removeHandler=()=>e.off("playback_event",t)}let t=e=>this._onVideoPause(e);e.on("playback_event",t),this._remotePauseHandler=()=>e.off("playback_event",t)}getRecentRenderInfo4Report(){let e={};return this._recentVideoInfo&&Object.keys(this._recentVideoInfo).forEach(t=>{var i;let r=t.replace(/[a-z]{1}[A-Z]{1}/g,e=>"".concat(e[0],"_").concat(e[1].toLowerCase()));e["video_".concat(r)]=null==(i=this._recentVideoInfo)?void 0:i[t]}),e}stop(){var e,t;this._logger.print("stop","invoke"),delete this._player,null==(e=this._removeHandler)||e.call(this),delete this._removeHandler,null==(t=this._remotePauseHandler)||t.call(this),delete this._remotePauseHandler,delete this._stallList,delete this._prePts,delete this._recentVideoInfo,this._videoInWaiting=!1,this._videoInWaitingCallback=!1,this._videoInWaiting100ms=!1}destroy(){this.stop()}getStallInfo(e){let{interval:t,frameRateReceived:i,frameRateDecoded:r,bitrate:s}=e,n={pts:0,report:{stallCount:0,stallDuration:0,list:[]},callback:{stallCount:0,stallDuration:0},pauseDuration:this._getPauseDuration()};return this._stallList&&((bd||bc)&&(0===s||1>=(r||1/0)||1>=(i||1/0))||0===this._stallList.length?(n.report.stallDuration=n.callback.stallDuration=2e3,n.report.stallCount=n.callback.stallCount=+!this._videoInWaiting,this._openVideoStall100ms&&(n.stall100ms={count:+!this._videoInWaiting100ms,duration:2e3}),this._videoInWaiting=!0,this._videoInWaitingCallback=!0,this._videoInWaiting100ms=!0):this._stallList.forEach((e,i)=>{let r=e.timeUpdateInterval;0===i&&this._videoInWaiting&&(r=Math.round(e.timeUpdateInterval%t));let s=e.timeUpdateInterval>this._stallTimeThreshold.report;s&&(n.report.list.push(e.timeUpdateInterval),n.report.stallDuration+=r,this._videoInWaiting||n.report.stallCount++),this._videoInWaiting=s,e.timeUpdateInterval>this._stallTimeThreshold.callback?(n.callback.stallDuration+=r,this._videoInWaitingCallback||n.callback.stallCount++,this._videoInWaitingCallback=!0):this._videoInWaitingCallback=!1,this._openVideoStall100ms&&(n.stall100ms||(n.stall100ms={count:0,duration:0}),e.timeUpdateInterval>100?(n.stall100ms.duration+=r,this._videoInWaiting100ms||n.stall100ms.count++,this._videoInWaiting100ms=!0):this._videoInWaiting100ms=!1),n.pts=e.playTime}),this._stallList=[]),n}_getPauseDuration(){let e=this._pauseDuration;if(this._pauseDuration=0,this._isPaused){let t=kG(),i=t-(this._pauseStart||0);i>500&&(this._pauseStart=t,e+=i)}return e}_onVideoPause(e){if("pause"===e.eventName)this._isPaused=!0,this._pauseStart=kG();else if("play"===e.eventName&&this._isPaused){this._isPaused=!1;let e=kG()-this._pauseStart;e>500&&(this._pauseDuration+=e)}}_onVideoTimeupdate(e,t){if("timeupdate"===e.eventName){let e=t.domElement;if(e&&0!==e.currentTime){if(void 0===this._prePts)return void(this._prePts=e.currentTime);if(this._stallList||(this._stallList=[]),e.currentTime>this._prePts){let t=e.currentTime-this._prePts;this._stallList.push({playTime:e.currentTime,timeUpdateInterval:Math.round(1e3*t)})}this._prePts=e.currentTime}}}_onVideoRefresh(e,t){var i;if(this._stallList||(this._stallList=[]),this._prePts){let e=t.presentationTime-this._prePts;this._stallList.push({playTime:t.presentationTime,timeUpdateInterval:Math.round(e)})}this._recentVideoInfo=t,this._prePts=t.presentationTime,null==(i=this._player)||null==(i=i.domElement)||i.requestVideoFrameCallback(this._onVideoRefresh.bind(this))}}class Ng{constructor(e){dY(this,"_audioStallTimer",void 0),dY(this,"_preSample",void 0),dY(this,"_isStallInPreCallbackEnd",!1),dY(this,"_isStallInPreReportEnd",!1),dY(this,"_stallList",[]),this._stream=e}static setAudioStallConfig(e){Ng.interval=((null==e?void 0:e.audio_stall_interval)||200)/2,Ng.ratio=(null==e?void 0:e.audio_stall_ratio)||.6}start(e,t){this.stop(),SQ.AUDIO_STALL&&Ng.interval>0&&"number"==typeof e&&"number"==typeof t&&(this._preSample={ts:kG(),concealedSamples:e,totalSamplesReceived:t},this._startStallCountInterval())}stop(){this._stallList=[],this._audioStallTimer&&(clearTimeout(this._audioStallTimer),delete this._audioStallTimer)}destroy(){this.stop()}async getAudioStallInfo(){let e={stats_count:this._stallList.filter(e=>!!e.get_stats_cost).length,stall_list:[...this._stallList]};try{await this._audioStallCount()}catch(e){}let t=N_(this._stallList,2,this._isStallInPreReportEnd);this._isStallInPreReportEnd=t.isStallInEnd;let i=SQ.AUDIO_STALL_DATA/Ng.interval,r=N_(this._stallList,i,this._isStallInPreCallbackEnd);return this._isStallInPreCallbackEnd=r.isStallInEnd,this.stop(),this._startStallCountInterval(),{report:{stall_count:t.stall_count,stall_duration:t.stall_duration,list:t.list},callback:{stall_count:r.stall_count,stall_duration:r.stall_duration,list:r.list},extra:e}}_startStallCountInterval(){let e=async()=>{clearTimeout(this._audioStallTimer),delete this._audioStallTimer,await this._audioStallCount(),this._audioStallTimer||(this._audioStallTimer=setTimeout(e,Ng.interval))};this._audioStallTimer=setTimeout(e,Ng.interval)}async _audioStallCount(){if(!this._preSample||kG()-this._preSample.ts<.5*Ng.interval)return;let{hasAudio:e,subAudio:t,virtual:i,virtualOccupy:r,removeTrack:s,audioTrack:n}=this._stream;if(s||!n)return clearTimeout(this._audioStallTimer),void delete this._audioStallTimer;let a=e&&t;if(a&&(!i||r)){let e=kG(),t,i,r=0;try{var o;let e=await (null==(o=this._stream.audioTransceiver)?void 0:o.receiver.getStats());null==e||e.forEach(e=>{"inbound-rtp"===e.type&&(t=e),r++})}catch(e){i=e.message||JSON.stringify(e)}let s=kG(),n=kG(),a=n-this._preSample.ts;if(t){let{concealedSamples:i,totalSamplesReceived:r}=t,o=i-this._preSample.concealedSamples,l=r-this._preSample.totalSamplesReceived,c=o>=0&&l>=0&&o>=Ng.ratio*l;this._stallList.push({concealed:o,received:l,diff:a,start:this._preSample.ts,end:n,get_stats_cost:s-e,get_stats_start:e,get_stats_end:s,is_stall:c}),this._preSample.concealedSamples=i,this._preSample.totalSamplesReceived=r,this._preSample.ts=n}else this._stallList.push({diff:a,start:this._preSample.ts,end:n,get_stats_cost:s-e,get_stats_start:e,get_stats_end:s,reason:r?i||"no inbound-rtp":"no report"})}else this._preSample.ts=kG(),this._stallList.push({reason:a?"virtual: ".concat(i,", virtualOccupy: ").concat(r):"hasAudio: ".concat(e,", subAudio: ").concat(t)})}}dY(Ng,"interval",100),dY(Ng,"ratio",.6);let N_=(e,t,i)=>{var r;let s={stall_count:0,stall_duration:0,isStallInEnd:!1,list:[]},n=0,a=0;for(let i=0;i=t,l=i+t-n-1;if(!r&&n>2){let s=0;e.slice(i+1,l+1).forEach(e=>{e.is_stall&&(s+=e.diff||0)}),(r=a+s>Ng.interval*t*Ng.ratio)&&(i=l,a+=s)}r&&(s.stall_count++,s.stall_duration+=a,s.list.push(a)),o&&(s.isStallInEnd=r),n=a=0}}return!0===(null==(r=e[0])?void 0:r.is_stall)&&i&&s.stall_count>0&&s.stall_count--,s};var Ny=((ef=Ny||{})[ef.CAPTURE=0]="CAPTURE",ef[ef.PRE_PROCESSING=1]="PRE_PROCESSING",ef[ef.ENCODE=2]="ENCODE",ef[ef.TRANSFER=3]="TRANSFER",ef[ef.POST_PROCESSING=4]="POST_PROCESSING",ef[ef.DECODE=5]="DECODE",ef[ef.RENDERING=6]="RENDERING",ef),Nv=((eg=Nv||{})[eg.STREAM_INDEX_MAIN=0]="STREAM_INDEX_MAIN",eg[eg.STREAM_INDEX_SCREEN=1]="STREAM_INDEX_SCREEN",eg);class Nb{constructor(e){dY(this,"_plugins",new Map),this.id=e}register(e){let t=this._plugins.get(e.type)||[];if(t.findIndex(t=>t.name===e.name)>-1)throw Error("Failed to register ".concat(e.name,": name is repeated."));t.push(e),this._plugins.set(e.type,t)}getPluginsByType(e){return this._plugins.get(e)||[]}getPluginByName(e,t){return(this._plugins.get(e)||[]).find(e=>e.name===t)}async getPreProcessingTrack(e){let t=this._plugins.get(1)||[],i=e.mediaTrack;for(let r of t)i=await r.effect(e,i);return i}destroy(){this._plugins.forEach(e=>{e.forEach(e=>e.destroy())}),this._plugins.clear()}}let NS=new bn("InternalEventBus",1);var Nk=((e_=Nk||{}).ON_IOS_INTERRUPTION_START="ON_IOS_INTERRUPTION_START",e_.ON_IOS_INTERRUPTION_END="ON_IOS_INTERRUPTION_END",e_.ON_IOS_LOCAL_TRACK_MUTE="ON_IOS_LOCAL_TRACK_MUTE",e_.ON_IOS_LOCAL_TRACK_UNMUTE="ON_IOS_LOCAL_TRACK_UNMUTE",e_);class Nx extends C2.EventEmitter{emit(e){NS.info(e);for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;r{if(this._audioContextInstance){let t=this._audioContextInstance.currentTime;this._contextStuckAt?this._contextStuckAt!==t&&(this._contextStuckAt=0,NE.info("currentTime resume"),vB("currentTime resume","")):t&&e===t&&(this._contextStuckAt=t,NE.warn("currentTime stuck",this._contextStuckAt),this._audioContextInstance.suspend(),this._audioContextInstance.resume(),vB("AudioContext currentTime stuck",this._contextStuckAt)),e=t}},3e3)}getAudioContextInstance(){if(!this._audioContextInstance){let e=window.AudioContext||window.webkitAudioContext;this._audioContextInstance=SH?new e:new e({sampleRate:44100});try{this.isWorkletReady=this._audioContextInstance.audioWorklet.addModule(Nw),this.isWorkletReady.catch(e=>{vV("initial AudioWorklet error in promise",-1,"".concat(e.name,"-").concat(e.message)),NE.error("isWorkletReady",e),this.isWorkletReady=null})}catch(e){vV("initial AudioWorklet error in catch",-1,"".concat(e.name,"-").concat(e.message)),NE.error("isWorkletReady",e),this.isWorkletReady=null}this._audioContextInstance.onstatechange=()=>{var e,t,i;NE.warn("state change",null==(e=this._audioContextInstance)?void 0:e.state),this._previousState=this._currentState,this._currentState=(null==(t=this._audioContextInstance)?void 0:t.state)||"","interrupted"===(null==(i=this._audioContextInstance)?void 0:i.state)&&this._audioContextInstance.resume(),(bx||bv)&&("running"===this._previousState&&"interrupted"===this._currentState&&NC.emit(Nk.ON_IOS_INTERRUPTION_START),"interrupted"===this._previousState&&"running"===this._currentState&&NC.emit(Nk.ON_IOS_INTERRUPTION_END))}}return this._audioContextInstance}}class NI{constructor(e){dY(this,"_ctx",void 0),dY(this,"_analyserNode",void 0),dY(this,"_audioSource",void 0),dY(this,"currentTrackId",void 0),this.currentTrackId=e.id;let t=NN.getAudioContextInstance();if(e instanceof MediaStreamTrack){let i=new MediaStream;i.addTrack(e),this._audioSource=t.createMediaStreamSource(i)}else this._audioSource=t.createMediaElementSource(e),this._audioSource.connect(t.destination);let i=t.createAnalyser();this._audioSource.connect(i),this._analyserNode=i,this._ctx=t}getAudioLevel(){var e;"suspended"===(null==(e=this._ctx)?void 0:e.state)&&this._ctx.resume();let t=new Uint8Array(2048);this._analyserNode.getByteTimeDomainData(t);let i=0;t.forEach(e=>i=Math.max(i,Math.abs(e-128)));let r=i/128*255;return r>2?r:0}async resume(){var e;await (null==(e=this._ctx)?void 0:e.resume())}destroy(){this._audioSource.disconnect(),this._analyserNode.disconnect()}}class NR extends C2.EventEmitter{constructor(e,t){var i;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:NN.getAudioContextInstance(),s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:NN.isWorkletReady;(super(),dY(this,"_ctx",void 0),dY(this,"_worklet",void 0),dY(this,"_source",void 0),dY(this,"_buffers",[]),dY(this,"_bufferLength",0),dY(this,"_sampleRate",void 0),dY(this,"_channelCount",void 0),dY(this,"_frameSize",void 0),e instanceof MediaStreamTrack)?this._channelCount=null!=(i=e.getSettings().channelCount)?i:1:this._channelCount=e.channelCount,this._ctx=r,this._frameSize=t,null==s||s.then(()=>{this._worklet=new AudioWorkletNode(this._ctx,"dump-audio-data"),e instanceof MediaStreamTrack?this._source=this._ctx.createMediaStreamSource(new MediaStream([e])):this._source=e,this._source.connect(this._worklet),this._initWorkletEventListener(this._worklet)}).catch()}_initWorkletEventListener(e){e.port.onmessage=this._handleWorkletMessage.bind(this)}_handleWorkletMessage(e){let{data:t,sampleRate:i}=e.data;if(this._bufferLength>=this._frameSize||this._sampleRate!==i){if(this._sampleRate){let e=1===this._channelCount||1===t.length?1:2;this.emit("data",{channels:[...this._buffers],sampleRate:this._sampleRate,channelCount:e})}this._sampleRate=i,this._buffers=Array(this._channelCount).fill(0).map(()=>new Float32Array(this._frameSize)),this._bufferLength=0}for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=document.createElement(e);return t.id&&(i.id=t.id),t.classList&&t.classList.forEach(e=>{i.classList.add(e)}),t.style&&Object.assign(i.style,t.style),t.attributes&&Object.entries(t.attributes).forEach(e=>{let[t,r]=e;"muted"===t?i.muted=!0:i.setAttribute(t,r)}),i};class NM extends C5{constructor(){var e;super(),dY(this,"deviceMap",{audioinput:new Map,audiooutput:new Map,videoinput:new Map}),dY(this,"checkDeviceChangeTimer",null),dY(this,"isSupportedPermissionsQuery",!1),dY(this,"isGrantedMicrophonePermission",!1),dY(this,"isGrantedCameraPermission",!1),this.isSupportedPermissionsQuery=!ba()&&!(null==(e=navigator)||null==(e=e.permissions)||!e.query),this._handleDeviceChange=this._handleDeviceChange.bind(this),ba()||this.initListener().then(()=>{this.updateDeviceListInSilent()})}async refreshDevices(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"audio";if(!navigator.mediaDevices)return;if(bc)try{e="audio"===t?await navigator.mediaDevices.getUserMedia({audio:!0}):await navigator.mediaDevices.getUserMedia({video:!0})}catch(e){}let i=await navigator.mediaDevices.enumerateDevices();e&&e.getTracks().forEach(e=>e.stop()),i.forEach(e=>{var t;e.deviceId&&(null==(t=this.deviceMap[e.kind])||t.set(e.deviceId,e))})}async initListener(){var e,t;if(void 0!==(null==(e=navigator.mediaDevices)?void 0:e.ondevicechange)&&"function"==typeof(null==(t=navigator.mediaDevices)?void 0:t.addEventListener)?navigator.mediaDevices.addEventListener("devicechange",()=>{this._handleDeviceChange(),setTimeout(()=>{this._handleDeviceChange()},300)}):this.checkDeviceChangeTimer=window.setInterval(()=>{this._handleDeviceChange()},3e3),this.isSupportedPermissionsQuery){try{let e=await navigator.permissions.query({name:"microphone"});this.isGrantedMicrophonePermission="granted"===e.state,e.addEventListener("change",()=>{this.isGrantedMicrophonePermission="granted"===e.state})}catch(e){}try{let e=await navigator.permissions.query({name:"camera"});this.isGrantedCameraPermission="granted"===e.state,e.addEventListener("change",()=>{this.isGrantedCameraPermission="granted"===e.state})}catch(e){}}}async _handleDeviceChange(){let e;if(!navigator.mediaDevices)return;bc&&(e=await navigator.mediaDevices.getUserMedia({audio:!0}));let t=await navigator.mediaDevices.enumerateDevices();t=t.filter(e=>!!e.deviceId),e&&e.getTracks().forEach(e=>e.stop());let i=Array.from([...this.deviceMap.audioinput.values(),...this.deviceMap.videoinput.values(),...this.deviceMap.audiooutput.values()]);(bk||bv)&&!i.length&&t.length&&t.forEach(e=>{var t;null==(t=this.deviceMap[e.kind])||t.set(e.deviceId,e)}),i.forEach(e=>{t.find(t=>t.deviceId===e.deviceId&&t.kind===e.kind&&t.label===e.label)||(this.deviceMap[e.kind].delete(e.deviceId),e.kind.includes("video")?this.emit(bq.onVideoDeviceStateChanged,{mediaDeviceInfo:e,deviceState:"inactive"}):e.kind.includes("audio")&&this.emit(bq.onAudioDeviceStateChanged,{mediaDeviceInfo:e,deviceState:"inactive"}))}),t.forEach(e=>{let t=this.deviceMap[e.kind].get(e.deviceId);this.deviceMap[e.kind].set(e.deviceId,e),t||(e.kind.includes("video")?this.emit(bq.onVideoDeviceStateChanged,{mediaDeviceInfo:e,deviceState:"active"}):e.kind.includes("audio")&&this.emit(bq.onAudioDeviceStateChanged,{mediaDeviceInfo:e,deviceState:"active"}))})}async getUserMedia(e){let t=await navigator.mediaDevices.getUserMedia(e);return null!=e&&e.audio&&(this.isGrantedMicrophonePermission=!0),null!=e&&e.video&&(this.isGrantedCameraPermission=!0),null!=e&&e.video?this.refreshDevices("video"):this.refreshDevices("audio"),t}async checkPermissionsByDevices(){let e={audio:!1,video:!1};if(!navigator.mediaDevices)return e;let t=await navigator.mediaDevices.enumerateDevices();return e.audio=t.filter(e=>"audioinput"===e.kind&&e.label&&e.deviceId).length>0,e.video=t.filter(e=>"videoinput"===e.kind&&e.label&&e.deviceId).length>0,e}async getPermissions(){var e,t,i;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{audio:s,video:n}=r,{force:a}=r;s||n||(s=!0,n=!0);let o={audio:!1,video:!1,reason:void 0};if(!a)if(this.isSupportedPermissionsQuery){if(s&&n){if(this.isGrantedMicrophonePermission&&this.isGrantedCameraPermission)return o.audio=!0,o.video=!0,o}else if(s&&this.isGrantedMicrophonePermission||n&&this.isGrantedCameraPermission)return o.audio=this.isGrantedMicrophonePermission,o.video=this.isGrantedCameraPermission,o}else{let e=await this.checkPermissionsByDevices();if(s&&n){if(e.audio&&e.video)return e}else if(s&&e.audio||n&&e.video)return e}if(null!=(e=navigator.mediaDevices)&&e.getUserMedia)try{let e=await navigator.mediaDevices.getUserMedia({audio:s,video:n});e&&(e.getTracks().forEach(e=>e.stop()),s&&(o.audio=!0,this.isGrantedMicrophonePermission=!0),n&&(o.video=!0,this.isGrantedCameraPermission=!0))}catch(e){o.reason=e,this.isSupportedPermissionsQuery&&(s&&(o.audio="granted"===(null==(t=await navigator.permissions.query({name:"microphone"}).catch(()=>{}))?void 0:t.state)),n&&(o.video="granted"===(null==(i=await navigator.permissions.query({name:"camera"}).catch(()=>{}))?void 0:i.state)))}return s?await this.refreshDevices("audio"):await this.refreshDevices("video"),o}async updateDeviceListInSilent(){this.isGrantedCameraPermission&&this.isGrantedMicrophonePermission&&this.refreshDevices("audio")}async enumerateDevices(){return await this.getPermissions(),await this.refreshDevices(),Array.from([...this.deviceMap.audioinput.values(),...this.deviceMap.videoinput.values(),...this.deviceMap.audiooutput.values()])}async enumerateAudioCaptureDevices(){return await this.getPermissions({audio:!0}),await this.refreshDevices(),Array.from(this.deviceMap.audioinput.values())}async enumerateVideoCaptureDevices(){return await this.getPermissions({video:!0}),await this.refreshDevices("video"),Array.from(this.deviceMap.videoinput.values())}async enumerateAudioPlaybackDevices(){return await this.getPermissions({audio:!0}),await this.refreshDevices("audio"),Array.from(this.deviceMap.audiooutput.values())}async getAudioPlaybackDeviceById(e){return(await this.enumerateAudioPlaybackDevices()).find(t=>t.deviceId===e)}}let NP=new NM;xn&&(window.__rtc_dd__=NP);var Nj=((ey=Nj||{})[ey.AUTOPLAY_FAILED=-1e3]="AUTOPLAY_FAILED",ey[ey.TRACK_ERROR=-1001]="TRACK_ERROR",ey[ey.Fetch_MODIFY=-1002]="Fetch_MODIFY",ey[ey.BLACK_BROWSER=-1003]="BLACK_BROWSER",ey[ey.DC_SEND_ERROR=-1004]="DC_SEND_ERROR",ey[ey.DUPLICATE_DOM=-1005]="DUPLICATE_DOM",ey);let NL=new bn("VideoSnapshot",1),ND=e=>{let t=null==e?void 0:e.domElement;if(t&&!t.paused&&4===t.readyState)return t},NO=async(e,t)=>{let i=document.createElement("canvas"),r=i.getContext("2d");if(!r)throw Error("canvas.getContext error");let s=(e,t,s)=>(t=t||e.width,s=s||e.height,i.width=t,i.height=s,r.setTransform(1,0,0,1,0,0),r.drawImage(e,0,0,t,s),r.getImageData(0,0,t,s)),n=Date.now(),a=ND(t);if(a){if(NL.info("takeSnapshot","VideoPlayer already set."),null!=t&&t.isAlpha){NL.info("takeSnapshot","manually process alpha video");let e=a.videoWidth,s=a.videoHeight,o=t.videoHeight;i.width=e,i.height=o,r.drawImage(a,0,s/2,e,s/2,0,0,e,o);let l=r.getImageData(0,0,e,o);return NL.info("takeSnapshot","success (alpha manual), cost ".concat(Date.now()-n,"ms")),l}let e=(null==t?void 0:t.videoWidth)||a.videoWidth,o=(null==t?void 0:t.videoHeight)||a.videoHeight,l=await s(a,e,o);return NL.info("takeSnapshot","success, cost ".concat(Date.now()-n,"ms")),l}if(window.ImageCapture){let t=new window.ImageCapture(e);if("live"===t.track.readyState&&t.track.enabled&&!t.track.muted){NL.info("takeSnapshot","use ImageCapture");let e=await s(await t.grabFrame());return NL.info("takeSnapshot","success, cost ".concat(Date.now()-n,"ms")),e}}return NL.info("takeSnapshot","use temp video"),new Promise((t,i)=>{let r=new MediaStream([e]),a=document.createElement("video");a.setAttribute("playsinline",""),a.muted=!0,document.body.appendChild(a),a.onplaying=()=>{let i=s(a,a.videoWidth,a.videoHeight);NL.info("takeSnapshot","success, cost ".concat(Date.now()-n,"ms")),t(i),r.removeTrack(e),a.srcObject=null,a.load()},a.onerror=i,a.srcObject=r,a.play()})},NF=Symbol("default");var NU=((ev=NU||{}).START_STALL_OBSERVE="start_stall_observe",ev.STOP_STALL_OBSERVE="stop_stall_observe",ev);class NV extends wu{constructor(e,t,i){super(e,t,mr(mr({},i),{},{mediaType:wl.VIDEO})),dY(this,"resolution",void 0),dY(this,"videoPlayers",new Map),this.resolution={width:0,height:0}}intersection(){let e={};return this.videoPlayers.forEach((t,i)=>{e[i.toString()]=t.isIntersecting}),e}async updateVideoCaptureConfig(e){this.logger.info("updateVideoEncoderConfig","update localVideoTrack: ",e);let t=mr({},e);delete t.contentHint,bc&&this.trackInfo.streamIndex===wc.MAIN&&(t.frameRate={ideal:30,max:30}),await this.originTrack.applyConstraints(t);let i=this.originTrack.getSettings();(i.width&&i.width!==this.resolution.width||i.height&&i.height!==this.resolution.height)&&(this.resolution={width:i.width,height:i.height},this.emit("resolution-change",this.resolution))}setContentHint(e){"contentHint"in this.originTrack&&["text","motion","detail"].includes(e)&&(this.originTrack.contentHint=e)}setTrack(e,t){this._originTrack=e,this.trackInfo=mr(mr({},this.trackInfo),t),this.isTrackReady=this.generatePreProcessingTrack()}setPlayer(e,t,i,r){var s;let n=null!=(s=e.playerId)?s:NF,a=this.videoPlayers.get(n);return e.player!==a&&(a=e.player,this.videoPlayers.set(n,a),r(a,this.isPublic,this.streamIndex)),this.mirror(!!t),this.dummy||i===hE.PLAY_MANUALLY||this.play(n),a.domElement}setUserId(e){this.trackInfo.streamUserId=e,this.videoPlayers.forEach(t=>{t.userId=e})}snapshot(){let e;for(let t of this.videoPlayers.values())if(t.played){e=t;break}return NO(this.preprocessingTrack,e)}setRenderMode(e,t){var i;return null==(i=this.videoPlayers.get(e))?void 0:i.setRenderMode(t)}mirror(e){this.videoPlayers.forEach(t=>{t.mirror(e)})}removePlayerTrack(){this.videoPlayers.forEach((e,t)=>{var i;null==(i=this.videoPlayers.get(t))||i.removeTrack()})}play(e){let t=this.videoPlayers.get(e);return null!=t&&t.played?t.manuallyPlay():null==t?void 0:t.playVideo(this)}playAll(){this.videoPlayers.forEach((e,t)=>{this.play(t)})}manuallyPlay(e){var t;return null==(t=this.videoPlayers.get(e))?void 0:t.manuallyPlay()}pause(e){var t;null==(t=this.videoPlayers.get(e))||t.manuallyPause()}stop(e){var t;return null==(t=this.videoPlayers.get(e))?void 0:t.stop()}stopAll(){return this.videoPlayers.forEach((e,t)=>{this.stop(t)})}removePlayer(e){this.videoPlayers.delete(e)}destroy(){this.videoPlayers.forEach((e,t)=>{this.stop(t),e.removeAllListeners(),this.videoPlayers.delete(t)}),super.destroy()}}class NB extends wh{constructor(e,t,i,r){super(e,t,mr(mr({},r),{},{mediaType:wl.VIDEO})),dY(this,"videoPlayers",new Map),dY(this,"_stream",void 0),dY(this,"_observingPlayer",void 0),this._stream=i}get observingPlayerId(){var e;return null==(e=this._observingPlayer)?void 0:e.playerId}getSizeByPlayer(){let e=0,t=0;return this.videoPlayers.forEach(i=>{i.videoWidth&&i.videoHeight&&(e=i.videoWidth,t=i.videoHeight)}),{width:e,height:t}}intersection(){let e={};return this.videoPlayers.forEach((t,i)=>{e[i.toString()]=t.isIntersecting}),e}setPlayer(e,t,i,r){var s,n,a;let o=null!=(s=t.playerId)?s:NF,l=this.videoPlayers.get(o);return t.player!==l&&(l=t.player,k6(this.streamIndex)||l.mirror(this._ctx.getRemoteMirrorType(null!=(a=this.trackInfo.streamUserId)?a:"",this.streamIndex)),this.videoPlayers.set(o,l),this._handlePlayerStallEvent(l),r(l,this.isPublic,this.streamIndex)),this.dummy||this.play(o),null==(n=l)?void 0:n.domElement}mirror(e){this.videoPlayers.forEach(t=>{t.mirror(e)})}dangerousGetPlayer(e){return this.videoPlayers.get(e)}snapshot(){let e;for(let t of this.videoPlayers.values())if(t.played){e=t;break}return NO(this.preprocessingTrack,e)}stop(e){var t;null==(t=this.videoPlayers.get(e))||t.stop()}stopAll(){this.videoPlayers.forEach((e,t)=>{this.stop(t)})}play(e){if(this._ctx.autoPlayPolicy===hE.PLAY_MANUALLY)return;let t=this.videoPlayers.get(e);return null==t?void 0:t.playVideo(this)}manuallyPlay(e){let t=this.videoPlayers.get(e);return null!=t&&t.played?t.manuallyPlay():null==t?void 0:t.playVideo(this)}pause(e){var t;return null==(t=this.videoPlayers.get(e))?void 0:t.manuallyPause()}_handlePlayerStallEvent(e){e.on("start_stall_observe",()=>{!this._observingPlayer&&e&&(this._observingPlayer=e,this._stream.startVideoStallObserve(this._observingPlayer))}),e.on("stop_stall_observe",()=>{this._observingPlayer===e&&(this._stream.stopVideoStallObserve(),this._observingPlayer=void 0,this.videoPlayers.forEach(e=>{!this._observingPlayer&&e.played&&(this._observingPlayer=e,this._stream.startVideoStallObserve(e))}))})}removePlayer(e){this.videoPlayers.delete(e)}setAlphaInfo(e){this.videoPlayers.forEach(t=>{t.setAlphaInfo(e)})}destroy(){this.videoPlayers.forEach((e,t)=>{this.stop(t),e.removeAllListeners(),this.videoPlayers.delete(t)}),super.destroy()}}class Nz{constructor(){dY(this,"canvas",void 0),dY(this,"gl",null),dY(this,"program",null),dY(this,"videoTexture",null),dY(this,"animationFrameId",null),dY(this,"isRendering",!1),dY(this,"positionBuffer",null),dY(this,"texCoordBuffer",null),dY(this,"positionLocation",-1),dY(this,"texCoordLocation",-1),dY(this,"textureLocation",null),dY(this,"render",e=>{if(this.isRendering&&this.gl&&this.program){if(e.videoWidth>0&&e.videoHeight>0){let t=e.videoHeight/2;this.canvas.width===e.videoWidth&&this.canvas.height===t||(this.canvas.width=e.videoWidth,this.canvas.height=t,this.gl.viewport(0,0,this.canvas.width,this.canvas.height))}this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.useProgram(this.program),this.gl.bindTexture(this.gl.TEXTURE_2D,this.videoTexture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,e),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.vertexAttribPointer(this.positionLocation,2,this.gl.FLOAT,!1,0,0),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.texCoordBuffer),this.gl.enableVertexAttribArray(this.texCoordLocation),this.gl.vertexAttribPointer(this.texCoordLocation,2,this.gl.FLOAT,!1,0,0),this.gl.uniform1i(this.textureLocation,0),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4),this.animationFrameId=requestAnimationFrame(()=>this.render(e))}}),this.canvas=document.createElement("canvas"),this.canvas.style.width="100%",this.canvas.style.height="100%",this.canvas.style.objectFit="contain",this.initWebGL()}initWebGL(){try{if(this.gl=this.canvas.getContext("webgl")||this.canvas.getContext("experimental-webgl"),!this.gl)return console.error("WebGL not supported"),!1;let e="\n attribute vec2 a_position;\n attribute vec2 a_texCoord;\n varying vec2 v_texCoord;\n\n void main() {\n gl_Position = vec4(a_position, 0.0, 1.0);\n v_texCoord = a_texCoord;\n }\n ",t="\n precision mediump float;\n varying vec2 v_texCoord;\n uniform sampler2D u_texture;\n\n void main() {\n // \u4E0A\u534A\u90E8\u5206\u662F alpha \u901A\u9053 (0.0 - 0.5)\n // \u4E0B\u534A\u90E8\u5206\u662F RGB \u901A\u9053 (0.5 - 1.0)\n\n // \u83B7\u53D6 RGB \u503C\uFF08\u4ECE\u4E0B\u534A\u90E8\u5206\uFF09\n vec2 rgbCoord = vec2(v_texCoord.x, v_texCoord.y * 0.5 + 0.5);\n vec4 rgbColor = texture2D(u_texture, rgbCoord);\n\n // \u83B7\u53D6 Alpha \u503C\uFF08\u4ECE\u4E0A\u534A\u90E8\u5206\uFF09\n vec2 alphaCoord = vec2(v_texCoord.x, v_texCoord.y * 0.5);\n vec4 alphaColor = texture2D(u_texture, alphaCoord);\n\n // \u4F7F\u7528 alpha \u901A\u9053\u7684\u7070\u5EA6\u503C\u4F5C\u4E3A\u900F\u660E\u5EA6\n float alpha = (alphaColor.r + alphaColor.g + alphaColor.b) / 3.0;\n\n gl_FragColor = vec4(rgbColor.rgb, alpha);\n }\n ",i=this.createShader(this.gl.VERTEX_SHADER,e),r=this.createShader(this.gl.FRAGMENT_SHADER,t);return i&&r?(this.program=this.createProgram(i,r),this.program?(this.positionLocation=this.gl.getAttribLocation(this.program,"a_position"),this.texCoordLocation=this.gl.getAttribLocation(this.program,"a_texCoord"),this.textureLocation=this.gl.getUniformLocation(this.program,"u_texture"),this.setupBuffers(),this.videoTexture=this.gl.createTexture(),!0):(console.error("Failed to create program"),!1)):(console.error("Failed to create shaders"),!1)}catch(e){return console.error("Failed to initialize WebGL:",e),!1}}createShader(e,t){if(!this.gl)return null;let i=this.gl.createShader(e);return i?(this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)?i:(console.error("Shader compile error:",this.gl.getShaderInfoLog(i)),this.gl.deleteShader(i),null)):null}createProgram(e,t){if(!this.gl)return null;let i=this.gl.createProgram();return i?(this.gl.attachShader(i,e),this.gl.attachShader(i,t),this.gl.linkProgram(i),this.gl.getProgramParameter(i,this.gl.LINK_STATUS)?i:(console.error("Program link error:",this.gl.getProgramInfoLog(i)),this.gl.deleteProgram(i),null)):null}setupBuffers(){if(!this.gl)return;this.positionBuffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer);let e=new Float32Array([-1,-1,1,-1,-1,1,1,1]);this.gl.bufferData(this.gl.ARRAY_BUFFER,e,this.gl.STATIC_DRAW),this.texCoordBuffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.texCoordBuffer);let t=new Float32Array([0,1,1,1,0,0,1,0]);this.gl.bufferData(this.gl.ARRAY_BUFFER,t,this.gl.STATIC_DRAW)}startRender(e){this.isRendering||(this.isRendering=!0,this.render(e))}stopRender(){this.isRendering=!1,null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}getCanvas(){return this.canvas}setObjectFit(e){this.canvas.style.objectFit=e}setMirror(e){this.canvas.style.transform=e?"rotateY(180deg)":""}destroy(){this.stopRender(),this.gl&&(this.videoTexture&&(this.gl.deleteTexture(this.videoTexture),this.videoTexture=null),this.positionBuffer&&(this.gl.deleteBuffer(this.positionBuffer),this.positionBuffer=null),this.texCoordBuffer&&(this.gl.deleteBuffer(this.texCoordBuffer),this.texCoordBuffer=null),this.program&&(this.gl.deleteProgram(this.program),this.program=null),this.gl=null),this.canvas.parentElement&&this.canvas.parentElement.removeChild(this.canvas)}}let NW=["play","playing","pause","ended","error","seeking","seeked","waiting","canplay","canplaythrough","durationchange","volumechange","loadedmetadata","loadeddata","loadstart","timeupdate"],NH={playsinline:"","webkit-playsinline":""},NG={playsinline:"","webkit-playsinline":"","x5-playsinline":"","x5-video-player-type":"h5","x-webkit-airplay":"allow",preload:"",muted:""};class NZ extends C2.EventEmitter{constructor(e,t,i){var r;super(),dY(this,"_containerDom",void 0),dY(this,"_videoDom",void 0),dY(this,"_alphaRenderer",void 0),dY(this,"_canvasDom",void 0),dY(this,"userId",void 0),dY(this,"renderMode",void 0),dY(this,"mirrorType",hp.MIRROR_TYPE_NONE),dY(this,"isScreen",void 0),dY(this,"isLocal",void 0),dY(this,"isAlpha",void 0),dY(this,"alphaInfo",void 0),dY(this,"played",!1),dY(this,"_needLoad",!1),dY(this,"_emitPlayFailed",!1),dY(this,"_videoContainer",void 0),dY(this,"_safari15VideoTimer",void 0),dY(this,"_monitor",void 0),dY(this,"logger",void 0),dY(this,"_onLocalTrackMute",void 0),dY(this,"_onInterruptionEnd",void 0),dY(this,"_needResume",!1),dY(this,"_rotate",0),dY(this,"_rotateDom",void 0),dY(this,"_resizeObserver",void 0),dY(this,"_hasManuallyPaused",!1),dY(this,"isIntersecting",void 0),dY(this,"intersectionObserver",void 0),dY(this,"hasStartPlaying",!1),dY(this,"emitVideoEvent",e=>{var t,i;let r={type:"video",rawEvent:e,readyState:(null==(t=this._videoDom)?void 0:t.readyState)||0,userId:this.userId,eventName:e.type,currentTime:(null==(i=this._videoDom)?void 0:i.currentTime)||0,isScreen:this.isScreen};switch(this.emit("playback_event",r),e.type){case"canplay":this.refreshRenderSize("the video started playing."),this._internalPlay();break;case"loadeddata":this._internalPlay();break;case"playing":this.logger.info("VideoPlayerPlaying","[userId-".concat(this.userId,"] video element playing"));break;case"pause":this.logger.info("VideoPlayerPause","[userId-".concat(this.userId,"] video element pause")),this._needResume?(this.logger.info("VideoPlayerPause","[userId-".concat(this.userId,"] video element resume")),this._internalPlay(),this._needResume=!1):this._hasManuallyPaused||(this.logger.info("VideoPlayerPause","[userId-".concat(this.userId,"] video element resume")),S2("AUTOPLAY_THROTTLE")?this._throttledInternalPlay():this._internalPlay())}}),dY(this,"_internalPlay",()=>{var e,t;if(v$(this.engineId,"video _internalPlay",{paused:null==(e=this._videoDom)?void 0:e.paused,hasManuallyPaused:this._hasManuallyPaused}),this._hasManuallyPaused||null==(t=this._videoDom)||!t.paused)return;let i=this._videoDom.play();null!=i&&i.then&&i.then(()=>{var e;this.isLocal&&bh&&!this._needLoad&&(null==(e=this._videoDom)||e.load(),this._needLoad=!0)}).catch(e=>{var t,i,r,s;this._emitPlayFailed||("AbortError"!==e.name?(this._emitPlayFailed=!0,null==(t=this._monitor)||t.report("rtc_error",{message:"video autoplay failed, userId: ".concat(this.userId,", ").concat(e.name),error_code:Nj.AUTOPLAY_FAILED}),this.emit("playback_event",{type:"video",rawEvent:e,readyState:(null==(i=this._videoDom)?void 0:i.readyState)||0,userId:this.userId,eventName:"autoplay-error",currentTime:(null==(r=this._videoDom)?void 0:r.currentTime)||0,isScreen:this.isScreen})):null==(s=this._monitor)||s.report("rtc_error",{message:"video autoplay failed, userId: ".concat(this.userId,", ").concat(e.name),error_code:Nj.AUTOPLAY_FAILED}))})}),dY(this,"_throttledInternalPlay",xf(this._internalPlay,S2("AUTOPLAY_THROTTLE"))),this.engineId=e,this.playerId=t;let s=i.renderDom;this._monitor=vH(e),this.logger=new bn("Player",0,e);let{userId:n}=i,a=i.isScreen?ha.RENDER_MODE_FIT:ha.RENDER_MODE_HIDDEN;this.renderMode=void 0!==i.renderMode?i.renderMode:a,this._rotate=Number(i.rotation||0);let o="string"==typeof s?document.getElementById(s):s;if(!o)throw new b$(bY.CANT_FIND_DOM,"can't find dom");this._videoContainer=document.createElement("div"),this._videoContainer.style.width="100%",this._videoContainer.style.height="100%",this._videoContainer.style.position="relative",this._videoContainer.style.overflow="hidden",this._containerDom=o,this.userId=n,this.isLocal=!!i.isLocal,this.isScreen=!!i.isScreen,this.isAlpha=!(null==(r=i.alphaInfo)||!r.enableAlpha),this.alphaInfo=i.alphaInfo,this._initVideo(),this.isLocal&&(15===(null==bj?void 0:bj[0])||15===bA)&&(this._safari15VideoTimer=setTimeout(()=>{try{this._videoContainer.style.display="block",setTimeout(()=>{this._videoContainer.style.display="flex"},500)}catch(e){}},1e3))}_initVideo(){this._videoDom||(this._videoDom=NA("video",{style:{width:"100%",height:"100%"},attributes:NG}),this._videoDom.id="".concat(this.userId,"_").concat(kH()),this.setRenderMode(this.renderMode),this.mirror(this.mirrorType===hp.MIRROR_TYPE_RENDER)),this.isAlpha&&this._initAlphaRenderer(),this._containerDom.appendChild(this._videoContainer),[90,270].indexOf(this._rotate)>-1?(this._rotateDom=this._createRotationDiv(),this.isAlpha&&this._canvasDom?(this._videoDom.style.display="none",this._rotateDom.appendChild(this._videoDom),this._rotateDom.appendChild(this._canvasDom)):this._rotateDom.appendChild(this._videoDom),this._videoContainer.appendChild(this._rotateDom)):(180===this._rotate&&(this._videoContainer.style.transform="rotate(180deg)"),this.isAlpha&&this._canvasDom?(this._videoDom.style.display="none",this._videoContainer.appendChild(this._videoDom),this._videoContainer.appendChild(this._canvasDom)):this._videoContainer.appendChild(this._videoDom)),this._initInterSectionObserver(),this._initListeners(),this._onLocalTrackMute=()=>{this._needResume=!0},this._onInterruptionEnd=()=>{this.logger.warn("resume player after iOS interruption"),this._internalPlay()},NC.on(Nk.ON_IOS_LOCAL_TRACK_MUTE,this._onLocalTrackMute),NC.on(Nk.ON_IOS_LOCAL_TRACK_UNMUTE,this._onInterruptionEnd),NC.on(Nk.ON_IOS_INTERRUPTION_END,this._onInterruptionEnd)}_initAlphaRenderer(){this._alphaRenderer||(this._alphaRenderer=new Nz,this._canvasDom=this._alphaRenderer.getCanvas(),this._alphaRenderer.setObjectFit(this._getObjectFitFromRenderMode(this.renderMode)),this._alphaRenderer.setMirror(this.mirrorType===hp.MIRROR_TYPE_RENDER))}_getObjectFitFromRenderMode(e){return e===ha.RENDER_MODE_FIT?"contain":e===ha.RENDER_MODE_FILL?"fill":"cover"}_initInterSectionObserver(){!this.intersectionObserver&&"u">typeof IntersectionObserver&&this._videoDom&&(this.intersectionObserver=new IntersectionObserver(e=>{e[0]&&(this.isIntersecting=e[0].isIntersecting)},{}),this.intersectionObserver.observe(this._videoDom))}_closeIntersectionObserver(){this.intersectionObserver&&this._videoDom&&(this.intersectionObserver.disconnect(),this.intersectionObserver.unobserve(this._videoDom),delete this.intersectionObserver)}_createRotationDiv(){let e=document.createElement("div");return e.style.transform="rotate(".concat(this._rotate,"deg)"),180!==this._rotate&&(e.style.position="absolute",this.refreshRenderSize("init"),window.ResizeObserver&&(this._resizeObserver=new ResizeObserver(()=>{this.refreshRenderSize("the container size has changed.")}),this._resizeObserver.observe(this._containerDom))),e}refreshRenderSize(e){if(this._rotateDom){var t,i;this.logger.print("refreshRenderSize","Because ".concat(e));let r=Number(window.getComputedStyle(this._containerDom).width.replace("px","")),s=Number(window.getComputedStyle(this._containerDom).height.replace("px","")),n=null==(t=this._videoDom)?void 0:t.videoWidth,a=null==(i=this._videoDom)?void 0:i.videoHeight;if(r&&s&&a&&n){let e,t;if(this.renderMode===ha.RENDER_MODE_FILL)e=s,t=r;else{let i=this.renderMode===ha.RENDER_MODE_HIDDEN?Math.max(r/a,s/n):Math.min(r/a,s/n);e=n*i,t=a*i}this._rotateDom.style.width="".concat(e,"px"),this._rotateDom.style.height="".concat(t,"px"),this._rotateDom.style.left="".concat((r-e)/2,"px"),this._rotateDom.style.top="".concat((s-t)/2,"px")}}}_initListeners(){this._videoDom&&NW.forEach(e=>{var t;null==(t=this._videoDom)||t.addEventListener(e,this.emitVideoEvent)})}_removeListeners(){this._videoDom&&NW.forEach(e=>{var t;null==(t=this._videoDom)||t.removeEventListener(e,this.emitVideoEvent)})}setRenderMode(e){this.renderMode=e,this._videoDom&&(this._videoDom.style.objectFit=this._getObjectFitFromRenderMode(e)),this._alphaRenderer&&this._alphaRenderer.setObjectFit(this._getObjectFitFromRenderMode(e))}async playVideo(e){var t,i;let r=this._videoDom;if(this.logger.info("playVideo","play video track: ".concat(this.userId)),r&&r.srcObject instanceof MediaStream&&r.srcObject.getTrackById(null==(t=e.preprocessingTrack)?void 0:t.id)){try{v$(this.engineId,"playVideo","play video repeatedly",0,this.userId)}catch(e){}return}r||(this._initVideo(),r=this._videoDom),this.logger.info("playVideo","play video by dom: ".concat(null==(i=r)?void 0:i.id));let s=new MediaStream;s.addTrack(e.preprocessingTrack),r.srcObject=s,r&&!this._containerDom.contains(this._videoContainer)&&this._containerDom.appendChild(this._videoContainer),r&&!this._videoContainer.contains(r)&&this._videoContainer.appendChild(r),setTimeout(()=>this._internalPlay()),this.isAlpha&&this._alphaRenderer&&r&&this._alphaRenderer.startRender(r),SQ.VIDEO_STALL&&this.emit(NU.START_STALL_OBSERVE),this.played=!0,this.hasStartPlaying=!1}updateSrcObject(e){let t=e.preprocessingTrack;if(!t||!this._videoDom)return;let i=new MediaStream;i.addTrack(t),this._videoDom.srcObject=i}removeTrack(){var e;let t=null==(e=this._videoDom)?void 0:e.srcObject;if(t){let e=t.getVideoTracks();null!=e&&e.length&&e.forEach(e=>{t.removeTrack(e)})}}manuallyPlay(){if(this.logger.info("Invoke VideoPlayer.manuallyPlay",this.userId,this.isScreen),this._emitPlayFailed=!1,this._hasManuallyPaused=!1,!this._videoDom)throw new b$(bY.INVALID_PARAMS,"Player not found");return 0!==this._videoDom.readyState||bS?this._videoDom.play():Promise.resolve()}manuallyPause(){if(this.logger.print("Invoke VideoPlayer.manuallyPause",this.userId,this.isScreen),this.played){if(this._hasManuallyPaused=!0,!this._videoDom)throw new b$(bY.INVALID_PARAMS,"Player not found");return this._videoDom.pause()}}mirror(e){this.logger.info("mirror","".concat(this.userId," set mirror: ").concat(e)),this.mirrorType=e?hp.MIRROR_TYPE_RENDER:hp.MIRROR_TYPE_NONE,this._videoDom&&(this._videoDom.style.transform=e?"rotateY(180deg)":"",this._alphaRenderer&&this._alphaRenderer.setMirror(e))}stop(){var e,t,i;let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{_containerDom:s}=this;this.logger.info("stop","stop video track: ".concat(this.userId," ").concat(this.playerId.toString())),this._alphaRenderer&&this._alphaRenderer.stopRender(),this._videoDom&&(r||(this._videoDom.srcObject=null),null!=s&&s.contains(this._videoContainer)&&s.removeChild(this._videoContainer),null==(e=this._videoContainer)||e.childNodes.forEach(e=>{e!==this._videoDom&&e!==this._rotateDom&&e!==this._canvasDom||this._videoContainer.removeChild(e)}),null!=(t=this._rotateDom)&&t.contains(this._videoDom)&&this._rotateDom.removeChild(this._videoDom),this._canvasDom&&null!=(i=this._rotateDom)&&i.contains(this._canvasDom)&&this._rotateDom.removeChild(this._canvasDom)),this._hasManuallyPaused=!1,this.played=!1,this.hasStartPlaying=!1,SQ.VIDEO_STALL&&this.emit(NU.STOP_STALL_OBSERVE),this._closeIntersectionObserver()}destroy(){var e;let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger.info("destroy","video player: ".concat(this.userId)),this.stop(t),this._alphaRenderer&&(this._alphaRenderer.destroy(),this._alphaRenderer=void 0,this._canvasDom=void 0),null==(e=this._resizeObserver)||e.disconnect(),super.removeAllListeners(),this._removeListeners(),NC.off(Nk.ON_IOS_LOCAL_TRACK_MUTE,this._onLocalTrackMute),NC.off(Nk.ON_IOS_LOCAL_TRACK_UNMUTE,this._onInterruptionEnd),NC.off(Nk.ON_IOS_INTERRUPTION_END,this._onInterruptionEnd),this._videoDom&&delete this._videoDom,this._safari15VideoTimer&&(window.clearInterval(this._safari15VideoTimer),this._safari15VideoTimer=void 0)}get domElement(){return this._videoDom}get videoWidth(){var e;return this._videoDom?this.isAlpha&&null!=(e=this.alphaInfo)&&e.alphaWidth?this.alphaInfo.alphaWidth:this._videoDom.videoWidth:0}get videoHeight(){var e;return this._videoDom?this.isAlpha?null!=(e=this.alphaInfo)&&e.alphaHeight?this.alphaInfo.alphaHeight:this._videoDom.videoHeight/2:this._videoDom.videoHeight:0}setAlphaInfo(e){var t;(this.logger.info("setAlphaInfo","set alpha info for user: ".concat(this.userId),e),this.isAlpha=!!e.enableAlpha,this.alphaInfo=e,this.isAlpha)?(this._alphaRenderer||this._initAlphaRenderer(),this._canvasDom&&this._alphaRenderer?(this._videoDom&&(this._videoDom.style.display="none"),this._rotateDom?this._rotateDom.contains(this._canvasDom)||this._rotateDom.appendChild(this._canvasDom):this._videoContainer.contains(this._canvasDom)||this._videoContainer.appendChild(this._canvasDom),null!=(t=this._videoDom)&&t.srcObject&&this._alphaRenderer.startRender(this._videoDom)):this.logger.info("setAlphaInfo","alpha renderer already exists or canvas not created")):this.logger.warn("setAlphaInfo","alphaInfo.enableAlpha is false, skip alpha renderer creation")}}class NK extends C2.EventEmitter{constructor(e,t){let{divId:i,muted:r,isScreen:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{divId:void 0,muted:!1,isScreen:!1};if(super(),dY(this,"_containerDom",void 0),dY(this,"_audioDom",void 0),dY(this,"_fakeAudioDom",void 0),dY(this,"userId",void 0),dY(this,"muted",!1),dY(this,"_emitPlayFailed",!1),dY(this,"played",!1),dY(this,"isScreen",void 0),dY(this,"_wechatTimer",void 0),dY(this,"_edgeTimer",void 0),dY(this,"_monitor",void 0),dY(this,"logger",void 0),dY(this,"_pasued",!0),dY(this,"hasStartPlaying",!1),dY(this,"emitAudioEvent",e=>{var t,i,r;let s={type:"audio",rawEvent:e,readyState:(null==(t=this._audioDom)?void 0:t.readyState)||0,userId:this.userId,eventName:e.type,currentTime:(null==(i=this._audioDom)?void 0:i.currentTime)||0};"playing"===e.type&&this.logger.info("AudioPlayerPlaying","[userId-".concat(this.userId,"] audio element playing")),"pause"===e.type&&(this.logger.info("AudioPlayerPause","[userId-".concat(this.userId,"] audio element pause")),!this._pasued&&null!=(r=this._audioDom)&&null!=(r=r.srcObject)&&r.active&&(S2("AUTOPLAY_THROTTLE")?this._throttledInternalPlay():this._internalPlay())),bC&&bS&&("canplay"===e.type?(clearTimeout(this._wechatTimer),this._wechatTimer=setTimeout(()=>{this._autoPlayError("wechat")},500)):"playing"===e.type&&clearTimeout(this._wechatTimer)),bk&&bg&&"error"===e.type&&(clearTimeout(this._edgeTimer),this._edgeTimer=setTimeout(()=>{var e;0===(null==(e=this._audioDom)?void 0:e.currentTime)&&this._autoPlayError("edge")},500)),this.emit("playback_event",s)}),dY(this,"_internalPlay",()=>{var e,t,i,r;if(v$(this.engineId,"audio _internalPlay",{paused:null==(e=this._audioDom)?void 0:e.paused,userId:this.userId,screen:this.isScreen}),null!=(t=this._audioDom)&&t.paused)try{let e=this._audioDom.play(),t=NN.getAudioContextInstance();if("suspended"===t.state){let e=t.resume(),i=setTimeout(()=>{var e;"suspended"===t.state&&(this._autoPlayError("AudioContext cannot resume"),null==(e=this._monitor)||e.report("rtc_error",{message:"audio autoplay failed, userId: ".concat(this.userId,": Cannot resume the AudioContext - timeout"),error_code:Nj.AUTOPLAY_FAILED})),clearTimeout(i)});e.catch(e=>{var t;this._autoPlayError("AudioContext cannot resume"),null==(t=this._monitor)||t.report("rtc_error",{message:"audio autoplay failed, userId: ".concat(this.userId,": Cannot resume the AudioContext - rejected by: [").concat(null==e?void 0:e.name,"]").concat(null==e?void 0:e.message),error_code:Nj.AUTOPLAY_FAILED})}).finally(()=>{clearTimeout(i)})}null!=(i=e)&&i.then&&(bC&&bk&&1!==this._audioDom.volume&&(e=e.then(()=>new Promise(e=>{setTimeout(async()=>{var t;null==(t=this._audioDom)||t.pause(),this._audioDom.volume=1,await this._audioDom.play(),e()},500)}))),e.then(()=>{v$(this.engineId,"_internalPlay successfully",{userId:this.userId,screen:this.isScreen}),this._pasued=!1}).catch(e=>{var t;this._autoPlayError(e),null==(t=this._monitor)||t.report("rtc_error",{message:"audio autoplay failed, userId: ".concat(this.userId,": ").concat(e.message," ").concat(e.name),error_code:Nj.AUTOPLAY_FAILED})}))}catch(e){this._autoPlayError(e),null==(r=this._monitor)||r.report("rtc_error",{message:"audio autoplay failed, userId: ".concat(this.userId,": ").concat(e.message," ").concat(e.name),error_code:Nj.AUTOPLAY_FAILED})}}),dY(this,"_throttledInternalPlay",xf(this._internalPlay,S2("AUTOPLAY_THROTTLE"))),this.engineId=e,i){let e=document.getElementById(i);if(!e)throw new b$(bY.CANT_FIND_DOM,"can't find dom");this._containerDom=e}else this._containerDom=document.body;this.userId=t,this.muted=r,this.isScreen=s,this._monitor=vH(e),this.logger=new bn("Player",0,e),this._initAudio()}_initAudio(){this._audioDom||(this._audioDom=NA("audio",{style:{display:"none"},attributes:NH}),this._audioDom.volume=+!this.muted,this._audioDom.muted=this.muted,this._audioDom.id="".concat(this.userId,"_").concat(kH()),this._containerDom.appendChild(this._audioDom)),this._initListeners()}_initListeners(){this._audioDom&&NW.forEach(e=>{var t;null==(t=this._audioDom)||t.addEventListener(e,this.emitAudioEvent)})}_removeListeners(){this._audioDom&&(NW.forEach(e=>{var t;null==(t=this._audioDom)||t.removeEventListener(e,this.emitAudioEvent)}),this._audioDom.removeEventListener("canplay",this._internalPlay),this._audioDom.removeEventListener("loadeddata",this._internalPlay))}async playAudio(e){var t,i,r;this.logger.info("playAudio","play audio track: ".concat(this.userId));let s=this._audioDom;if(s&&s.srcObject instanceof MediaStream&&s.srcObject.getTrackById(null==(t=e.preprocessingTrack)?void 0:t.id))return;s||(this._initAudio(),s=this._audioDom);let n=new MediaStream;e instanceof NJ&&(this._fakeAudioDom=new Audio,this._fakeAudioDom.muted=!0,this._fakeAudioDom.srcObject=new MediaStream([e.originTrack])),n.addTrack(e.preprocessingTrack),e.withWebAudio&&bC&&bk&&(this._audioDom.volume=0),s.srcObject=n,null==(i=s)||i.addEventListener("canplay",this._internalPlay),null==(r=s)||r.addEventListener("loadeddata",this._internalPlay),setTimeout(()=>this._internalPlay()),this.played=!0,this.hasStartPlaying=!1}_autoPlayError(e){var t,i;this._emitPlayFailed||(this._emitPlayFailed=!0,this.emit("playback_event",{type:"audio",rawEvent:e,readyState:(null==(t=this._audioDom)?void 0:t.readyState)||0,userId:this.userId,eventName:"autoplay-error",currentTime:(null==(i=this._audioDom)?void 0:i.currentTime)||0}))}pause(){if(!this._audioDom)throw new b$(bY.INVALID_PARAMS,"Player not found");this._pasued=!0,this._audioDom.pause(),this.hasStartPlaying=!1}manuallyPause(){return this.pause()}manuallyPlay(){var e;if(this.logger.info("Invoke AudioPlayer.manuallyPlay"),this._emitPlayFailed=!1,!this._audioDom)throw new b$(bY.INVALID_PARAMS,"Player not found");if(!this.played)return Promise.resolve();this._audioDom.volume=1,this._audioDom.muted=!1,null==(e=this._fakeAudioDom)||e.play();let t=[],i=this._audioDom.play();null!=i&&i.then&&t.push(i);let r=NN.getAudioContextInstance();if("suspended"===r.state){let e=r.resume();null!=e&&e.then&&t.push(e)}let s=t.length>0?Promise.all(t):Promise.resolve(i);return s.then(()=>{this._pasued=!1}),s}async setPlaybackDevice(e){this.logger.info("setPlaybackDevice","setPlaybackDevice: ".concat(e)),(await NP.enumerateAudioPlaybackDevices()).map(e=>e.deviceId).includes(e)&&this._audioDom&&this._audioDom.setSinkId&&await this._audioDom.setSinkId(e)}stop(){let{_containerDom:e}=this;this.logger.info("stopAudio","stop audio track: ".concat(this.userId)),this._audioDom&&(this._audioDom.srcObject=null,null!=e&&e.contains(this._audioDom)&&e.removeChild(this._audioDom)),this._fakeAudioDom&&(this._fakeAudioDom.srcObject=null,this._fakeAudioDom=void 0),this.played=!1,this.hasStartPlaying=!1}get domElement(){return this._audioDom}destroy(){this.logger.info("destroy","audio player: ".concat(this.userId)),this.stop(),super.removeAllListeners(),this._removeListeners(),this._audioDom&&(this._audioDom.srcObject=null,delete this._audioDom),this._edgeTimer&&clearTimeout(this._edgeTimer)}}class NX{constructor(){dY(this,"_ac",void 0),dY(this,"_sourceNode",void 0),dY(this,"_gainNode",void 0),dY(this,"_destNode",void 0),this._ac=NN.getAudioContextInstance(),this._gainNode=this._ac.createGain(),this._destNode=this._ac.createMediaStreamDestination(),this._gainNode.connect(this._destNode)}setVolume(e){this._gainNode.gain.value=e/100}getVolume(){return Math.round(100*this._gainNode.gain.value)}updateInputTrack(e){this._sourceNode&&(this._sourceNode.mediaStream.getTracks().forEach(e=>{e.stop()}),delete this._sourceNode);let t=new MediaStream;t.addTrack(e),this._sourceNode=this._ac.createMediaStreamSource(t),this._sourceNode.connect(this._gainNode)}getOutputTrack(){return this._destNode.stream.getTracks()[0]}destroy(){var e,t;null==(e=this._sourceNode)||e.mediaStream.getTracks().forEach(e=>{e.stop()}),13!==bA&&this._destNode.stream.getTracks().forEach(e=>{e.stop()}),null==(t=this._sourceNode)||t.disconnect(),this._gainNode.disconnect(),delete this._sourceNode}}class NY extends wu{constructor(e,t,i){super(e,t,mr(mr({},i),{},{mediaType:wl.AUDIO})),dY(this,"audioCaptureConfig",void 0),dY(this,"_ap",void 0),dY(this,"mixedAudioTrack",void 0),dY(this,"mixType",Od.PLAYOUT_AND_PUBLISH),dY(this,"_audioFetchMap",new Map),dY(this,"_audioDataFetcher",void 0),dY(this,"_localPlaybackTrack",void 0),dY(this,"notSupportedWebAudio",!1)}get withWebAudio(){return!!this._ap}getAudioLevel(){var e,t;let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:hf.MICROPHONE,r=i===hf.AUDIOMIXING&&this.mixType!==Od.PLAYOUT&&null!=(e=this.mixedAudioTrack)?e:this.preprocessingTrack,s=this._audioFetchMap.get(i);return s&&s.currentTrackId===r.id||(null==(t=s)||t.destroy(),s=new NI(r),this._audioFetchMap.set(i,s)),s.getAudioLevel()}async updateAudioCaptureConfig(){this.audioCaptureConfig&&(this.logger.print("updateAudioCaptureConfig","update localAudioTrack: ",this.audioCaptureConfig),await this.originTrack.applyConstraints(this.audioCaptureConfig))}setVolume(e){var t;let i=!S2("SKIP_WEB_AUDIO_IN_TRACK")&&(SD()||S2("ENFORCE_WEB_AUDIO_SUPPORTED"));i||(this.notSupportedWebAudio=!0);let r=!this.withWebAudio&&100!==e;try{i&&r&&(this.logger.print("Create AudioProcess"),this._ap=new NX,this._ap.updateInputTrack(this.originTrack),this.mediaTrack=this._ap.getOutputTrack())}catch(e){this.logger.warn("WebAudio may not supported, quired return"),this.notSupportedWebAudio=!0}this.notSupportedWebAudio||null==(t=this._ap)||t.setVolume(e),i&&r&&this.emit("needReplaceTrack",this)}getVolume(){return this._ap?this._ap.getVolume():100}setUserId(e){this.trackInfo.streamUserId=e}setDataFetcher(e,t){this.logger.info("setDataFetcher","frameSize %s",e),null!==NN.isWorkletReady?this._audioDataFetcher?this._audioDataFetcher.setFrameSize(e):(this._audioDataFetcher=new NR(this.preprocessingTrack,e),this._audioDataFetcher.on("data",t)):this.logger.info("setDataFetcher","audioContextManager.isWorkletReady is null")}stopDataFetcher(){var e,t;null==(e=this._audioDataFetcher)||e.removeAllListeners("data"),null==(t=this._audioDataFetcher)||t.destroy(),this._audioDataFetcher=void 0}play(e){var t,i;this._localPlaybackTrack&&this.stop();let r=e===hD.AFTER_CAPTURE?this.originTrack:e===hD.AFTER_PROCESS?this.preprocessingTrack:void 0;if(!r)return void this.logger.error("play()","no target track for %s",e);this._localPlaybackTrack=new NJ(this._ctx,r.clone(),mr({},this.trackInfo));let s=this._ctx.earMonitorSettings[null!=(t=this.streamIndex)?t:ho.STREAM_INDEX_MAIN].volume;this.setPlaybackVolume(s);let n=new NK(this._ctx.id,null!=(i=this.trackInfo.streamUserId)?i:"",{isScreen:this.streamIndex===ho.STREAM_INDEX_SCREEN,muted:!1});return n.on("playback_event",e=>{var t;"autoplay-error"===e.eventName&&this.emit("autoplay-error",{kind:"audio",streamIndex:null!=(t=this.streamIndex)?t:ho.STREAM_INDEX_MAIN,mediaType:wl.AUDIO})}),this._localPlaybackTrack.setPlayer(n),this._localPlaybackTrack.play()}stop(){var e;null==(e=this._localPlaybackTrack)||e.destroy(),this._localPlaybackTrack=void 0}setPlaybackVolume(e){var t;return null==(t=this._localPlaybackTrack)?void 0:t.setVolume(e)}destroy(){var e,t;this._audioFetchMap.forEach(e=>e.destroy()),this._audioFetchMap.clear(),null==(e=this._ap)||e.destroy(),null==(t=this._audioDataFetcher)||t.destroy(),this._audioDataFetcher=void 0,this.stop(),super.destroy()}}class NJ extends wh{constructor(e,t,i){super(e,t,mr(mr({},i),{},{mediaType:wl.AUDIO})),dY(this,"_ap",void 0),dY(this,"_audioPlayer",void 0),dY(this,"_audioLevelFetcher",void 0),dY(this,"_audioDataFetcher",void 0),dY(this,"notSupportedWebAudio",!1),dY(this,"_sourceNode",void 0)}get withWebAudio(){return!!this._ap}getAudioLevel(){return this._audioLevelFetcher||(this._audioLevelFetcher=new NI(this.originTrack)),this._audioLevelFetcher.getAudioLevel()}setVolume(e){var t,i,r;let s=!S2("SKIP_WEB_AUDIO_IN_TRACK")&&(SD()||S2("ENFORCE_WEB_AUDIO_SUPPORTED"));s||(this.notSupportedWebAudio=!0);let n=!this.withWebAudio&&100!==e;try{s&&n&&(this.logger.print("Create AudioProcess"),this._ap=new NX,this._ap.updateInputTrack(this.originTrack),this.mediaTrack=this._ap.getOutputTrack())}catch(e){this.logger.warn("WebAudio may not supported, quite return"),this.notSupportedWebAudio=!0}if(this.notSupportedWebAudio){let i=null==(t=this._audioPlayer)?void 0:t.domElement;i&&(i.volume=Math.min(e/100,1))}else null==(i=this._ap)||i.setVolume(e);s&&n&&(this.emit("needReplaceTrack",this),null==(r=this._audioPlayer)||r.playAudio(this))}getVolume(){var e,t;return this.notSupportedWebAudio?100*(null!=(e=null==(t=this._audioPlayer)||null==(t=t.domElement)?void 0:t.volume)?e:1):this._ap?this._ap.getVolume():100}setPlaybackDevice(e){var t;return null==(t=this._audioPlayer)?void 0:t.setPlaybackDevice(e)}setPlayer(e){this._audioPlayer=e,this._wechatAutoplayWorkaround(e)}havePlayer(){return!!this._audioPlayer}bindPlayerEvent(e){var t;this._audioPlayer&&e(this._audioPlayer,this.isPublic,null!=(t=this.streamIndex)?t:ho.STREAM_INDEX_MAIN)}pause(){var e;return null==(e=this._audioPlayer)?void 0:e.pause()}play(){var e;return null==(e=this._audioPlayer)?void 0:e.playAudio(this)}manuallyPlay(){var e,t,i;return null!=(e=this._audioPlayer)&&e.played?null==(t=this._audioPlayer)?void 0:t.manuallyPlay():null==(i=this._audioPlayer)?void 0:i.playAudio(this)}manuallyPause(){var e;return null==(e=this._audioPlayer)?void 0:e.manuallyPause()}stop(){var e;return null==(e=this._audioPlayer)?void 0:e.stop()}setDataFetcher(e,t){this.logger.info("setDataFetcher","frameSize %s",e),null!==NN.isWorkletReady?this._audioDataFetcher?this._audioDataFetcher.setFrameSize(e):(this._audioDataFetcher=new NR(this.originTrack,e),this._audioDataFetcher.on("data",t)):this.logger.warn("setDataFetcher","audioContextManager.isWorkletReady is null")}stopDataFetcher(){var e;this.logger.info("stopDataFetcher"),null==(e=this._audioDataFetcher)||e.destroy(),this._audioDataFetcher=void 0}destroy(){var e,t,i;null==(e=this._audioLevelFetcher)||e.destroy(),null==(t=this._audioDataFetcher)||t.destroy(),this._audioDataFetcher=void 0,this._ap&&this._ap.destroy(),null==(i=this._audioPlayer)||i.destroy(),this._audioPlayer=void 0,super.destroy()}_wechatAutoplayWorkaround(e){bS&&e.on("playback_event",e=>{let t=NN.getAudioContextInstance();"autoplay-error"===e.eventName?t&&"running"===t.state&&(this._sourceNode||(this._sourceNode=t.createMediaStreamSource(new MediaStream([this.originTrack]))),this._sourceNode.connect(t.destination),v$(this._ctx.id,"wechatAutoplayWorkaround.connect",{userId:this.trackInfo.streamUserId,streamIndex:this.streamIndex,contextState:t.state,trackInfo:this.trackInfo})):"playing"===e.eventName&&this._sourceNode&&(this._sourceNode.disconnect(),this._sourceNode=void 0,v$(this._ctx.id,"wechatAutoplayWorkaround.disconnect",{userId:this.trackInfo.streamUserId,streamIndex:this.streamIndex,contextState:t.state,trackInfo:this.trackInfo}))})}}let N$=new bn("VERTC",0),Nq,NQ=null,N0=()=>!!N1();function N1(){if(NQ)return NQ;try{let{ipcRenderer:e}=NQ=window.require("electron");return Nq={getSources:t=>e.invoke("DESKTOP_CAPTURER_GET_SOURCES",t)},NQ}catch(e){return null}}async function N2(e,t,i){let r;return t||(t={width:1920,height:1080,frameRate:15}),r=i?{audio:{mandatory:{chromeMediaSource:"desktop"}},video:{mandatory:{chromeMediaSource:"desktop",maxHeight:t.height,maxWidth:t.width,maxFrameRate:t.frameRate}}}:{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e,maxHeight:t.height,maxWidth:t.width,maxFrameRate:t.frameRate}}},N$.info("getUserMediaConfig",JSON.stringify(r)),await navigator.mediaDevices.getUserMedia(r)}async function N3(e){let t=["window","screen"];if("window"===e&&(t=["window"]),"screen"===e&&(t=["screen"]),!N1())throw new b$(bY.ERR_ELECTRON_IS_NULL,"Unable to get Electron object");let i=null;try{i=Nq.getSources({types:t})}catch(e){i=null}i&&i.then||(i=new Promise((e,i)=>{Nq.getSources({types:t},(t,r)=>{t?i(t):e(r)})}));try{return await i}catch(e){throw new b$(bY.ERR_ELECTRON_IS_NULL,e.toString())}}function N4(e){return new Promise((t,i)=>{let r=document.createElement("div");r.innerText="share screen",r.setAttribute("style","text-align: center; height: 25px; line-height: 25px; border-radius: 4px 4px 0 0; background: #D4D2D4; border-bottom: solid 1px #B9B8B9;");let s=document.createElement("div");s.setAttribute("style","width: 100%; height: 500px; padding: 15px 25px ; box-sizing: border-box;");let n=document.createElement("div");n.innerText="Web Screensharing wants to share the contents of your screen. Choose what you'd like to share.",n.setAttribute("style","height: 12%;");let a=document.createElement("div");a.setAttribute("style","width: 100%; height: 80%; background: #FFF; border: solid 1px #CBCBCB; display: flex; flex-wrap: wrap; justify-content: space-around; overflow-y: scroll; padding: 0 15px; box-sizing: border-box;");let o=document.createElement("div");o.setAttribute("style","text-align: right; padding: 16px 0;");let l=document.createElement("button");l.innerHTML="cancel",l.setAttribute("style","width: 85px;"),l.onclick=()=>{document.body.removeChild(c);let e=Error("NotAllowedError");e.name="NotAllowedError",i(e)},o.appendChild(l),s.appendChild(n),s.appendChild(a),s.appendChild(o);let c=document.createElement("div");c.setAttribute("style","position: fixed; z-index: 99999999; top: 50%; left: 50%; width: 620px; height: 525px; background: #ECECEC; border-radius: 4px; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);"),c.appendChild(r),c.appendChild(s),document.body.appendChild(c),e.map(e=>{if(e.id){let i=document.createElement("div");i.setAttribute("style","width: 30%; height: 160px; padding: 20px 0; text-align: center;box-sizing: content-box;"),i.innerHTML="
\n \n
\n \n ").concat(e.name,"\n "),i.onclick=()=>{document.body.removeChild(c),t(e.id)},a.appendChild(i)}})})}async function N5(e,t){let i=await N3(),r=await N4(i);return await N2(r,e,t)}async function N9(e,t){let i=new NV(e,t,{streamIndex:wc.MAIN,sourceType:wo.INTERNAL,isDummy:!0});return await i.isTrackReady,i}async function N6(e,t){let i=new NV(e,t,{isDummy:!0,streamIndex:wc.SCREEN,sourceType:wo.INTERNAL});return await i.isTrackReady,i}async function N8(e,t){var i,r,s,n,a;let o,l=(null==(i=(t=t||e.videoProfile.getCaptureConfig()).deviceId)?void 0:i.exact)||"default",c=hK(),d=new bn("TrackFactory",0,e.id);try{d.info("createCameraVideoTrack","constraints:",t),null==(r=e.monitor)||r.report("rtc_video_capture_event",{event_type:"start",media_device_id:l,capture_session_id:c});let i=kG();bc&&(t.frameRate={ideal:30,max:30}),o=await NP.getUserMedia({video:t}),null==(s=e.monitor)||s.report("rtc_video_capture_event",{event_type:"start_capture_result",media_device_id:l,media_device_name:(null==(n=o.getVideoTracks()[0])?void 0:n.label)||"",reason:"success",elapse:kG()-i,capture_session_id:c})}catch(t){throw null==(a=e.monitor)||a.report("rtc_video_capture_event",{event_type:"running_failed",media_device_id:l,error_code:t.code,reason:t.name+t.message,capture_session_id:c}),new b$(bY.GET_VIDEO_TRACK_FAILED,"throw error from getUserMedia. [".concat(t.name||"unknown name","]: ").concat(t.message||"unknown message","."),t)}let u=new NV(e,o.getVideoTracks()[0],{streamIndex:wc.MAIN,sourceType:wo.INTERNAL,captureSessionId:c});return await u.isTrackReady,u}async function N7(e,t){var i,r,s,n,a;let o;new bn("TrackFactory",0,e.id).info("createMicrophoneAudioTrack","constraints:",t);let l=(null==(i=t.deviceId)?void 0:i.exact)||"default",c=hK();try{null==(r=e.monitor)||r.report("rtc_audio_device_event",{device_type:"audio_record",event_type:"start_begin",media_device_id:l,event_session_id:c});let i=kG();e.extensionManager.getPluginByName(Ny.PRE_PROCESSING,"RTCAIAnsExtension")&&(t.autoGainControl=!0,t.noiseSuppression=!1),o=await NP.getUserMedia({audio:t}),null==(s=e.monitor)||s.report("rtc_audio_device_event",{device_type:"audio_record",event_type:"start_result",media_device_id:l,media_device_name:(null==(n=o.getAudioTracks()[0])?void 0:n.label)||"",reason:"success",elapse:kG()-i,event_session_id:c})}catch(t){throw null==(a=e.monitor)||a.report("rtc_audio_device_event",{device_type:"audio_record",event_type:"start_end",media_device_id:l,error_code:t.code,reason:t.name+t.message,event_session_id:c}),new b$(bY.GET_AUDIO_TRACK_FAILED,"throw error from getUserMedia. [".concat(t.name||"unknown name","]: ").concat(t.message||"unknown message","."),t)}let d=new NY(e,o.getAudioTracks()[0],{streamIndex:wc.MAIN,sourceType:wo.INTERNAL,captureSessionId:c});return await d.isTrackReady,d}async function Ae(e,t,i){var r,s,n,a,o,l,c,d,u,h;let p;new bn("TrackFactory",0,e.id).print("createCameraAndMicrophoneTrack","audioConstraints:",t,"videoConstraints:",i);let m=(null==(r=t.deviceId)?void 0:r.exact)||"default",f=(null==(s=i.deviceId)?void 0:s.exact)||"default",g=hK(),_=hK();try{null==(n=e.monitor)||n.report("rtc_video_capture_event",{event_type:"start",media_device_id:f,capture_session_id:g}),null==(a=e.monitor)||a.report("rtc_audio_device_event",{device_type:"audio_record",event_type:"start_begin",media_device_id:m,event_session_id:_});let r=kG();bc&&(i.frameRate={ideal:30,max:30}),e.extensionManager.getPluginByName(Ny.PRE_PROCESSING,"RTCAIAnsExtension")&&(t.autoGainControl=!0,t.noiseSuppression=!1),p=await NP.getUserMedia({audio:t,video:i}),null==(o=e.monitor)||o.report("rtc_video_capture_event",{event_type:"start_capture_result",media_device_id:f,media_device_name:(null==(l=p.getVideoTracks()[0])?void 0:l.label)||"",reason:"success",elapse:kG()-r,capture_session_id:g}),null==(c=e.monitor)||c.report("rtc_audio_device_event",{device_type:"audio_record",event_type:"start_result",media_device_id:m,media_device_name:(null==(d=p.getAudioTracks()[0])?void 0:d.label)||"",reason:"success",elapse:kG()-r,event_session_id:_})}catch(t){throw null==(u=e.monitor)||u.report("rtc_video_capture_event",{event_type:"running_failed",media_device_id:f,error_code:t.code,reason:t.name+t.message,capture_session_id:g}),null==(h=e.monitor)||h.report("rtc_audio_device_event",{device_type:"audio_record",event_type:"start_end",media_device_id:m,error_code:t.code,reason:t.name+t.message,event_session_id:_}),new b$(bY.GET_VIDEO_TRACK_FAILED,"throw error from getUserMedia. [".concat(t.name||"unknown name","]: ").concat(t.message||"unknown message","."),t)}let y=new NV(e,p.getVideoTracks()[0],{streamIndex:wc.MAIN,sourceType:wo.INTERNAL,captureSessionId:g}),v=new NY(e,p.getAudioTracks()[0],{streamIndex:wc.MAIN,sourceType:wo.INTERNAL,captureSessionId:_});return await Promise.all([y.isTrackReady,v.isTrackReady]),{videoTrack:y,audioTrack:v}}async function At(e,t){var i,r,s,n,a;let o=new bn("TrackFactory",0,e.id),l,c=e.videoProfile.getScreenEncodeConfig();o.info("createScreenTracks","screenConfig: %o, constraints: %o",t,c);let d=hK(),{enableAudio:u=!1,displaySurface:h,systemAudio:p,surfaceSwitching:m,selfBrowserSurface:f,sourceId:g}=t,_={};h&&["monitor","browser","window"].includes(h)&&(c?c.displaySurface=h:c={displaySurface:h}),p&&["include","exclude"].includes(p)&&(_.systemAudio=p),m&&["include","exclude"].includes(m)&&(_.surfaceSwitching=m),f&&["include","exclude"].includes(f)&&(_.selfBrowserSurface=f);try{null==(i=e.monitor)||i.report("rtc_video_capture_event",{event_type:"start",media_device_id:"screen",capture_session_id:d});let t=kG();l=N0()?g?await N2(g,c,u):await N5(c,u):await navigator.mediaDevices.getDisplayMedia(mr({video:!(!c||SZ)||c,audio:!!u&&{channelCount:2,noiseSuppression:!1,echoCancellation:!0,autoGainControl:!1}},_)),null==(r=e.monitor)||r.report("rtc_video_capture_event",{event_type:"start_capture_result",media_device_id:"screen",media_device_name:"".concat((null==(s=l.getVideoTracks()[0])?void 0:s.label)||"",", ").concat((null==(n=l.getAudioTracks()[0])?void 0:n.label)||""),reason:"success",elapse:kG()-t,capture_session_id:d})}catch(t){throw null==(a=e.monitor)||a.report("rtc_video_capture_event",{event_type:"running_failed",media_device_id:"screen",error_code:t.code,reason:t.name+t.message,capture_session_id:d}),new b$(bY.GET_SCREEN_TRACK_FAILED,"throw error from getDisplayMedia",t)}let y=new NV(e,l.getVideoTracks()[0],{streamIndex:wc.SCREEN,sourceType:wo.INTERNAL,captureSessionId:d}),v=l.getAudioTracks()[0];if(l.getAudioTracks().length){let t=new NY(e,v,{streamIndex:wc.SCREEN,sourceType:wo.INTERNAL,captureSessionId:d});return await Promise.all([y.isTrackReady,t.isTrackReady]),[y,t]}return await y.isTrackReady,[y,void 0]}function Ai(e,t,i,r){return new NB(e,t,i,mr({},r))}function Ar(e,t,i){return new NJ(e,t,mr({},i))}async function As(e,t){let i=new NV(e,t,{streamIndex:wc.MAIN,sourceType:wo.EXTERNAL});return await i.isTrackReady,i}async function An(e,t){let i=new NY(e,t,{streamIndex:wc.MAIN,sourceType:wo.EXTERNAL});return await i.isTrackReady,i}async function Aa(e,t){let i=new NV(e,t,{sourceType:wo.EXTERNAL,streamIndex:wc.SCREEN});return await i.isTrackReady,i}async function Ao(e,t){let i=new NY(e,t,{sourceType:wo.EXTERNAL,streamIndex:wc.SCREEN});return await i.isTrackReady,i}let Al="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciB0PSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwiZGVmYXVsdCIpP3QuZGVmYXVsdDp0fXZhciBuPXtleHBvcnRzOnt9fSxyPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lk1hdGg9PT1NYXRoJiZ0fSxvPXIoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzKXx8cigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93KXx8cigib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYpfHxyKCJvYmplY3QiPT10eXBlb2YgdCYmdCl8fHIoIm9iamVjdCI9PXR5cGVvZiB0JiZ0KXx8ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxpPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4hIXQoKX1jYXRjaChlKXtyZXR1cm4hMH19LHU9IWkoKGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oKXt9LmJpbmQoKTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdHx8dC5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIil9KSksYT11LGM9RnVuY3Rpb24ucHJvdG90eXBlLHM9Yy5hcHBseSxmPWMuY2FsbCxsPSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5hcHBseXx8KGE/Zi5iaW5kKHMpOmZ1bmN0aW9uKCl7cmV0dXJuIGYuYXBwbHkocyxhcmd1bWVudHMpfSkseT11LHA9RnVuY3Rpb24ucHJvdG90eXBlLGg9cC5jYWxsLGc9eSYmcC5iaW5kLmJpbmQoaCxoKSxkPXk/ZzpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gaC5hcHBseSh0LGFyZ3VtZW50cyl9fSxiPWQsdj1iKHt9LnRvU3RyaW5nKSxtPWIoIiIuc2xpY2UpLFM9ZnVuY3Rpb24odCl7cmV0dXJuIG0odih0KSw4LC0xKX0sdz1TLE89ZCxMPWZ1bmN0aW9uKHQpe2lmKCJGdW5jdGlvbiI9PT13KHQpKXJldHVybiBPKHQpfSxqPSJvYmplY3QiPT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmFsbCxBPXZvaWQgMD09PWomJnZvaWQgMCE9PWo/ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR8fHQ9PT1qfTpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH0sUD17fSxJPSFpKChmdW5jdGlvbigpe3JldHVybiA3IT09T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LDEse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pWzFdfSkpLEU9dSxUPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLGs9RT9ULmJpbmQoVCk6ZnVuY3Rpb24oKXtyZXR1cm4gVC5hcHBseShULGFyZ3VtZW50cyl9LHg9e30sRj17fS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxDPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsTj1DJiYhRi5jYWxsKHsxOjJ9LDEpO3guZj1OP2Z1bmN0aW9uKHQpe3ZhciBlPUModGhpcyx0KTtyZXR1cm4hIWUmJmUuZW51bWVyYWJsZX06Rjt2YXIgTSxSLFU9ZnVuY3Rpb24odCxlKXtyZXR1cm57ZW51bWVyYWJsZTohKDEmdCksY29uZmlndXJhYmxlOiEoMiZ0KSx3cml0YWJsZTohKDQmdCksdmFsdWU6ZX19LEQ9aSxfPVMsRz1PYmplY3QsSD1kKCIiLnNwbGl0KSxCPUQoKGZ1bmN0aW9uKCl7cmV0dXJuIUcoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKX0pKT9mdW5jdGlvbih0KXtyZXR1cm4iU3RyaW5nIj09PV8odCk/SCh0LCIiKTpHKHQpfTpHLFY9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR9LFc9Vix6PVR5cGVFcnJvcixLPWZ1bmN0aW9uKHQpe2lmKFcodCkpdGhyb3cgbmV3IHooIkNhbid0IGNhbGwgbWV0aG9kIG9uICIrdCk7cmV0dXJuIHR9LHE9QixKPUssWT1mdW5jdGlvbih0KXtyZXR1cm4gcShKKHQpKX0sWD1BLCQ9ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0P251bGwhPT10OlgodCl9LFE9e30sWj1RLHR0PW8sZXQ9QSxudD1mdW5jdGlvbih0KXtyZXR1cm4gZXQodCk/dDp2b2lkIDB9LHJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9udChaW3RdKXx8bnQodHRbdF0pOlpbdF0mJlpbdF1bZV18fHR0W3RdJiZ0dFt0XVtlXX0sb3Q9ZCh7fS5pc1Byb3RvdHlwZU9mKSxpdD1vLm5hdmlnYXRvcix1dD1pdCYmaXQudXNlckFnZW50LGF0PW8sY3Q9dXQ/U3RyaW5nKHV0KToiIixzdD1hdC5wcm9jZXNzLGZ0PWF0LkRlbm8sbHQ9c3QmJnN0LnZlcnNpb25zfHxmdCYmZnQudmVyc2lvbix5dD1sdCYmbHQudjg7eXQmJihSPShNPXl0LnNwbGl0KCIuIikpWzBdPjAmJk1bMF08ND8xOisoTVswXStNWzFdKSksIVImJmN0JiYoIShNPWN0Lm1hdGNoKC9FZGdlXC8oXGQrKS8pKXx8TVsxXT49NzQpJiYoTT1jdC5tYXRjaCgvQ2hyb21lXC8oXGQrKS8pKSYmKFI9K01bMV0pO3ZhciBwdD1SLGh0PXB0LGd0PWksZHQ9by5TdHJpbmcsYnQ9ISFPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYhZ3QoKGZ1bmN0aW9uKCl7dmFyIHQ9U3ltYm9sKCJzeW1ib2wgZGV0ZWN0aW9uIik7cmV0dXJuIWR0KHQpfHwhKE9iamVjdCh0KWluc3RhbmNlb2YgU3ltYm9sKXx8IVN5bWJvbC5zaGFtJiZodCYmaHQ8NDF9KSksdnQ9YnQmJiFTeW1ib2wuc2hhbSYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3IsbXQ9cnQsU3Q9QSx3dD1vdCxPdD1PYmplY3QsTHQ9dnQ/ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fTpmdW5jdGlvbih0KXt2YXIgZT1tdCgiU3ltYm9sIik7cmV0dXJuIFN0KGUpJiZ3dChlLnByb3RvdHlwZSxPdCh0KSl9LGp0PVN0cmluZyxBdD1mdW5jdGlvbih0KXt0cnl7cmV0dXJuIGp0KHQpfWNhdGNoKGUpe3JldHVybiJPYmplY3QifX0sUHQ9QSxJdD1BdCxFdD1UeXBlRXJyb3IsVHQ9ZnVuY3Rpb24odCl7aWYoUHQodCkpcmV0dXJuIHQ7dGhyb3cgbmV3IEV0KEl0KHQpKyIgaXMgbm90IGEgZnVuY3Rpb24iKX0sa3Q9VHQseHQ9VixGdD1rLEN0PUEsTnQ9JCxNdD1UeXBlRXJyb3IsUnQ9e2V4cG9ydHM6e319LFV0PW8sRHQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LF90PW8sR3Q9ZnVuY3Rpb24odCxlKXt0cnl7RHQoVXQsdCx7dmFsdWU6ZSxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KX1jYXRjaChuKXtVdFt0XT1lfXJldHVybiBlfSxIdD0iX19jb3JlLWpzX3NoYXJlZF9fIixCdD1SdC5leHBvcnRzPV90W0h0XXx8R3QoSHQse30pOyhCdC52ZXJzaW9uc3x8KEJ0LnZlcnNpb25zPVtdKSkucHVzaCh7dmVyc2lvbjoiMy4zOS4wIixtb2RlOiJwdXJlIixjb3B5cmlnaHQ6IsKpIDIwMTQtMjAyNCBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSIsbGljZW5zZToiaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvYmxvYi92My4zOS4wL0xJQ0VOU0UiLHNvdXJjZToiaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMifSk7dmFyIFZ0PVJ0LmV4cG9ydHMsV3Q9VnQsenQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gV3RbdF18fChXdFt0XT1lfHx7fSl9LEt0PUsscXQ9T2JqZWN0LEp0PWZ1bmN0aW9uKHQpe3JldHVybiBxdChLdCh0KSl9LFl0PUp0LFh0PWQoe30uaGFzT3duUHJvcGVydHkpLCR0PU9iamVjdC5oYXNPd258fGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFh0KFl0KHQpLGUpfSxRdD1kLFp0PTAsdGU9TWF0aC5yYW5kb20oKSxlZT1RdCgxLi50b1N0cmluZyksbmU9ZnVuY3Rpb24odCl7cmV0dXJuIlN5bWJvbCgiKyh2b2lkIDA9PT10PyIiOnQpKyIpXyIrZWUoKytadCt0ZSwzNil9LHJlPXp0LG9lPSR0LGllPW5lLHVlPWJ0LGFlPXZ0LGNlPW8uU3ltYm9sLHNlPXJlKCJ3a3MiKSxmZT1hZT9jZS5mb3J8fGNlOmNlJiZjZS53aXRob3V0U2V0dGVyfHxpZSxsZT1mdW5jdGlvbih0KXtyZXR1cm4gb2Uoc2UsdCl8fChzZVt0XT11ZSYmb2UoY2UsdCk/Y2VbdF06ZmUoIlN5bWJvbC4iK3QpKSxzZVt0XX0seWU9ayxwZT0kLGhlPUx0LGdlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dFtlXTtyZXR1cm4geHQobik/dm9pZCAwOmt0KG4pfSxkZT1mdW5jdGlvbih0LGUpe3ZhciBuLHI7aWYoInN0cmluZyI9PT1lJiZDdChuPXQudG9TdHJpbmcpJiYhTnQocj1GdChuLHQpKSlyZXR1cm4gcjtpZihDdChuPXQudmFsdWVPZikmJiFOdChyPUZ0KG4sdCkpKXJldHVybiByO2lmKCJzdHJpbmciIT09ZSYmQ3Qobj10LnRvU3RyaW5nKSYmIU50KHI9RnQobix0KSkpcmV0dXJuIHI7dGhyb3cgbmV3IE10KCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWUiKX0sYmU9VHlwZUVycm9yLHZlPWxlKCJ0b1ByaW1pdGl2ZSIpLG1lPWZ1bmN0aW9uKHQsZSl7aWYoIXBlKHQpfHxoZSh0KSlyZXR1cm4gdDt2YXIgbixyPWdlKHQsdmUpO2lmKHIpe2lmKHZvaWQgMD09PWUmJihlPSJkZWZhdWx0Iiksbj15ZShyLHQsZSksIXBlKG4pfHxoZShuKSlyZXR1cm4gbjt0aHJvdyBuZXcgYmUoIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfXJldHVybiB2b2lkIDA9PT1lJiYoZT0ibnVtYmVyIiksZGUodCxlKX0sU2U9THQsd2U9ZnVuY3Rpb24odCl7dmFyIGU9bWUodCwic3RyaW5nIik7cmV0dXJuIFNlKGUpP2U6ZSsiIn0sT2U9JCxMZT1vLmRvY3VtZW50LGplPU9lKExlKSYmT2UoTGUuY3JlYXRlRWxlbWVudCksQWU9ZnVuY3Rpb24odCl7cmV0dXJuIGplP0xlLmNyZWF0ZUVsZW1lbnQodCk6e319LFBlPUFlLEllPSFJJiYhaSgoZnVuY3Rpb24oKXtyZXR1cm4gNyE9PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShQZSgiZGl2IiksImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSkpLEVlPUksVGU9ayxrZT14LHhlPVUsRmU9WSxDZT13ZSxOZT0kdCxNZT1JZSxSZT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1AuZj1FZT9SZTpmdW5jdGlvbih0LGUpe2lmKHQ9RmUodCksZT1DZShlKSxNZSl0cnl7cmV0dXJuIFJlKHQsZSl9Y2F0Y2gobil7fWlmKE5lKHQsZSkpcmV0dXJuIHhlKCFUZShrZS5mLHQsZSksdFtlXSl9O3ZhciBVZT1pLERlPUEsX2U9LyN8XC5wcm90b3R5cGVcLi8sR2U9ZnVuY3Rpb24odCxlKXt2YXIgbj1CZVtIZSh0KV07cmV0dXJuIG49PT1XZXx8biE9PVZlJiYoRGUoZSk/VWUoZSk6ISFlKX0sSGU9R2Uubm9ybWFsaXplPWZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodCkucmVwbGFjZShfZSwiLiIpLnRvTG93ZXJDYXNlKCl9LEJlPUdlLmRhdGE9e30sVmU9R2UuTkFUSVZFPSJOIixXZT1HZS5QT0xZRklMTD0iUCIsemU9R2UsS2U9VHQscWU9dSxKZT1MKEwuYmluZCksWWU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gS2UodCksdm9pZCAwPT09ZT90OnFlP0plKHQsZSk6ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fSxYZT17fSwkZT1JJiZpKChmdW5jdGlvbigpe3JldHVybiA0MiE9PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSgoZnVuY3Rpb24oKXt9KSwicHJvdG90eXBlIix7dmFsdWU6NDIsd3JpdGFibGU6ITF9KS5wcm90b3R5cGV9KSksUWU9JCxaZT1TdHJpbmcsdG49VHlwZUVycm9yLGVuPWZ1bmN0aW9uKHQpe2lmKFFlKHQpKXJldHVybiB0O3Rocm93IG5ldyB0bihaZSh0KSsiIGlzIG5vdCBhbiBvYmplY3QiKX0sbm49SSxybj1JZSxvbj0kZSx1bj1lbixhbj13ZSxjbj1UeXBlRXJyb3Isc249T2JqZWN0LmRlZmluZVByb3BlcnR5LGZuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsbG49ImVudW1lcmFibGUiLHluPSJjb25maWd1cmFibGUiLHBuPSJ3cml0YWJsZSI7WGUuZj1ubj9vbj9mdW5jdGlvbih0LGUsbil7aWYodW4odCksZT1hbihlKSx1bihuKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmInByb3RvdHlwZSI9PT1lJiYidmFsdWUiaW4gbiYmcG4gaW4gbiYmIW5bcG5dKXt2YXIgcj1mbih0LGUpO3ImJnJbcG5dJiYodFtlXT1uLnZhbHVlLG49e2NvbmZpZ3VyYWJsZTp5biBpbiBuP25beW5dOnJbeW5dLGVudW1lcmFibGU6bG4gaW4gbj9uW2xuXTpyW2xuXSx3cml0YWJsZTohMX0pfXJldHVybiBzbih0LGUsbil9OnNuOmZ1bmN0aW9uKHQsZSxuKXtpZih1bih0KSxlPWFuKGUpLHVuKG4pLHJuKXRyeXtyZXR1cm4gc24odCxlLG4pfWNhdGNoKHIpe31pZigiZ2V0ImluIG58fCJzZXQiaW4gbil0aHJvdyBuZXcgY24oIkFjY2Vzc29ycyBub3Qgc3VwcG9ydGVkIik7cmV0dXJuInZhbHVlImluIG4mJih0W2VdPW4udmFsdWUpLHR9O3ZhciBobj1YZSxnbj1VLGRuPUk/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBobi5mKHQsZSxnbigxLG4pKX06ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0W2VdPW4sdH0sYm49byx2bj1sLG1uPUwsU249QSx3bj1QLmYsT249emUsTG49USxqbj1ZZSxBbj1kbixQbj0kdCxJbj1mdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbihuLHIsbyl7aWYodGhpcyBpbnN0YW5jZW9mIGUpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG5ldyB0O2Nhc2UgMTpyZXR1cm4gbmV3IHQobik7Y2FzZSAyOnJldHVybiBuZXcgdChuLHIpfXJldHVybiBuZXcgdChuLHIsbyl9cmV0dXJuIHZuKHQsdGhpcyxhcmd1bWVudHMpfTtyZXR1cm4gZS5wcm90b3R5cGU9dC5wcm90b3R5cGUsZX0sRW49ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSx1LGEsYyxzLGYsbD10LnRhcmdldCx5PXQuZ2xvYmFsLHA9dC5zdGF0LGg9dC5wcm90byxnPXk/Ym46cD9ibltsXTpibltsXSYmYm5bbF0ucHJvdG90eXBlLGQ9eT9MbjpMbltsXXx8QW4oTG4sbCx7fSlbbF0sYj1kLnByb3RvdHlwZTtmb3IoaSBpbiBlKXI9IShuPU9uKHk/aTpsKyhwPyIuIjoiIyIpK2ksdC5mb3JjZWQpKSYmZyYmUG4oZyxpKSxhPWRbaV0sciYmKGM9dC5kb250Q2FsbEdldFNldD8oZj13bihnLGkpKSYmZi52YWx1ZTpnW2ldKSx1PXImJmM/YzplW2ldLChufHxofHx0eXBlb2YgYSE9dHlwZW9mIHUpJiYocz10LmJpbmQmJnI/am4odSxibik6dC53cmFwJiZyP0luKHUpOmgmJlNuKHUpP21uKHUpOnUsKHQuc2hhbXx8dSYmdS5zaGFtfHxhJiZhLnNoYW0pJiZBbihzLCJzaGFtIiwhMCksQW4oZCxpLHMpLGgmJihQbihMbixvPWwrIlByb3RvdHlwZSIpfHxBbihMbixvLHt9KSxBbihMbltvXSxpLHUpLHQucmVhbCYmYiYmKG58fCFiW2ldKSYmQW4oYixpLHUpKSl9LFRuPUVuLGtuPUkseG49WGUuZjtUbih7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOk9iamVjdC5kZWZpbmVQcm9wZXJ0eSE9PXhuLHNoYW06IWtufSx7ZGVmaW5lUHJvcGVydHk6eG59KTt2YXIgRm49US5PYmplY3QsQ249bi5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gRm4uZGVmaW5lUHJvcGVydHkodCxlLG4pfTtGbi5kZWZpbmVQcm9wZXJ0eS5zaGFtJiYoQ24uc2hhbT0hMCk7dmFyIE5uPWUobi5leHBvcnRzKSxNbj1TLFJuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiJBcnJheSI9PT1Nbih0KX0sVW49TWF0aC5jZWlsLERuPU1hdGguZmxvb3IsX249TWF0aC50cnVuY3x8ZnVuY3Rpb24odCl7dmFyIGU9K3Q7cmV0dXJuKGU+MD9EbjpVbikoZSl9LEduPWZ1bmN0aW9uKHQpe3ZhciBlPSt0O3JldHVybiBlIT1lfHwwPT09ZT8wOl9uKGUpfSxIbj1HbixCbj1NYXRoLm1pbixWbj1mdW5jdGlvbih0KXt2YXIgZT1Ibih0KTtyZXR1cm4gZT4wP0JuKGUsOTAwNzE5OTI1NDc0MDk5MSk6MH0sV249ZnVuY3Rpb24odCl7cmV0dXJuIFZuKHQubGVuZ3RoKX0sem49VHlwZUVycm9yLEtuPUkscW49WGUsSm49VSxZbj17fTtZbltsZSgidG9TdHJpbmdUYWciKV09InoiO3ZhciBYbj0iW29iamVjdCB6XSI9PT1TdHJpbmcoWW4pLCRuPVhuLFFuPUEsWm49Uyx0cj1sZSgidG9TdHJpbmdUYWciKSxlcj1PYmplY3QsbnI9IkFyZ3VtZW50cyI9PT1abihmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpLHJyPSRuP1puOmZ1bmN0aW9uKHQpe3ZhciBlLG4scjtyZXR1cm4gdm9pZCAwPT09dD8iVW5kZWZpbmVkIjpudWxsPT09dD8iTnVsbCI6InN0cmluZyI9PXR5cGVvZihuPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0W2VdfWNhdGNoKG4pe319KGU9ZXIodCksdHIpKT9uOm5yP1puKGUpOiJPYmplY3QiPT09KHI9Wm4oZSkpJiZRbihlLmNhbGxlZSk/IkFyZ3VtZW50cyI6cn0sb3I9QSxpcj1WdCx1cj1kKEZ1bmN0aW9uLnRvU3RyaW5nKTtvcihpci5pbnNwZWN0U291cmNlKXx8KGlyLmluc3BlY3RTb3VyY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHVyKHQpfSk7dmFyIGFyPWlyLmluc3BlY3RTb3VyY2UsY3I9ZCxzcj1pLGZyPUEsbHI9cnIseXI9YXIscHI9ZnVuY3Rpb24oKXt9LGhyPXJ0KCJSZWZsZWN0IiwiY29uc3RydWN0IiksZ3I9L15ccyooPzpjbGFzc3xmdW5jdGlvbilcYi8sZHI9Y3IoZ3IuZXhlYyksYnI9IWdyLnRlc3QocHIpLHZyPWZ1bmN0aW9uKHQpe2lmKCFmcih0KSlyZXR1cm4hMTt0cnl7cmV0dXJuIGhyKHByLFtdLHQpLCEwfWNhdGNoKGUpe3JldHVybiExfX0sbXI9ZnVuY3Rpb24odCl7aWYoIWZyKHQpKXJldHVybiExO3N3aXRjaChscih0KSl7Y2FzZSJBc3luY0Z1bmN0aW9uIjpjYXNlIkdlbmVyYXRvckZ1bmN0aW9uIjpjYXNlIkFzeW5jR2VuZXJhdG9yRnVuY3Rpb24iOnJldHVybiExfXRyeXtyZXR1cm4gYnJ8fCEhZHIoZ3IseXIodCkpfWNhdGNoKGUpe3JldHVybiEwfX07bXIuc2hhbT0hMDt2YXIgU3I9IWhyfHxzcigoZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gdnIodnIuY2FsbCl8fCF2cihPYmplY3QpfHwhdnIoKGZ1bmN0aW9uKCl7dD0hMH0pKXx8dH0pKT9tcjp2cix3cj1SbixPcj1TcixMcj0kLGpyPWxlKCJzcGVjaWVzIiksQXI9QXJyYXksUHI9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHdyKHQpJiYoZT10LmNvbnN0cnVjdG9yLChPcihlKSYmKGU9PT1Bcnx8d3IoZS5wcm90b3R5cGUpKXx8THIoZSkmJm51bGw9PT0oZT1lW2pyXSkpJiYoZT12b2lkIDApKSx2b2lkIDA9PT1lP0FyOmV9LElyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyhQcih0KSkoMD09PWU/MDplKX0sRXI9aSxUcj1wdCxrcj1sZSgic3BlY2llcyIpLHhyPUVuLEZyPWksQ3I9Um4sTnI9JCxNcj1KdCxScj1XbixVcj1mdW5jdGlvbih0KXtpZih0PjkwMDcxOTkyNTQ3NDA5OTEpdGhyb3cgem4oIk1heGltdW0gYWxsb3dlZCBpbmRleCBleGNlZWRlZCIpO3JldHVybiB0fSxEcj1mdW5jdGlvbih0LGUsbil7S24/cW4uZih0LGUsSm4oMCxuKSk6dFtlXT1ufSxfcj1JcixHcj1mdW5jdGlvbih0KXtyZXR1cm4gVHI+PTUxfHwhRXIoKGZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuKGUuY29uc3RydWN0b3I9e30pW2tyXT1mdW5jdGlvbigpe3JldHVybntmb286MX19LDEhPT1lW3RdKEJvb2xlYW4pLmZvb30pKX0sSHI9cHQsQnI9bGUoImlzQ29uY2F0U3ByZWFkYWJsZSIpLFZyPUhyPj01MXx8IUZyKChmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0W0JyXT0hMSx0LmNvbmNhdCgpWzBdIT09dH0pKSxXcj1mdW5jdGlvbih0KXtpZighTnIodCkpcmV0dXJuITE7dmFyIGU9dFtCcl07cmV0dXJuIHZvaWQgMCE9PWU/ISFlOkNyKHQpfTt4cih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsYXJpdHk6MSxmb3JjZWQ6IVZyfHwhR3IoImNvbmNhdCIpfSx7Y29uY2F0OmZ1bmN0aW9uKHQpe3ZhciBlLG4scixvLGksdT1Ncih0aGlzKSxhPV9yKHUsMCksYz0wO2ZvcihlPS0xLHI9YXJndW1lbnRzLmxlbmd0aDtlPHI7ZSsrKWlmKFdyKGk9LTE9PT1lP3U6YXJndW1lbnRzW2VdKSlmb3Iobz1ScihpKSxVcihjK28pLG49MDtuPG87bisrLGMrKyluIGluIGkmJkRyKGEsYyxpW25dKTtlbHNlIFVyKGMrMSksRHIoYSxjKyssaSk7cmV0dXJuIGEubGVuZ3RoPWMsYX19KTt2YXIgenI9cnIsS3I9U3RyaW5nLHFyPWZ1bmN0aW9uKHQpe2lmKCJTeW1ib2wiPT09enIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgYSBTeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmciKTtyZXR1cm4gS3IodCl9LEpyPXt9LFlyPUduLFhyPU1hdGgubWF4LCRyPU1hdGgubWluLFFyPVksWnI9ZnVuY3Rpb24odCxlKXt2YXIgbj1Zcih0KTtyZXR1cm4gbjwwP1hyKG4rZSwwKTokcihuLGUpfSx0bz1Xbixlbz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe3ZhciBvPVFyKGUpLGk9dG8obyk7aWYoMD09PWkpcmV0dXJuIXQmJi0xO3ZhciB1LGE9WnIocixpKTtpZih0JiZuIT1uKXtmb3IoO2k+YTspaWYoKHU9b1thKytdKSE9dSlyZXR1cm4hMH1lbHNlIGZvcig7aT5hO2ErKylpZigodHx8YSBpbiBvKSYmb1thXT09PW4pcmV0dXJuIHR8fGF8fDA7cmV0dXJuIXQmJi0xfX0sbm89e2luY2x1ZGVzOmVvKCEwKSxpbmRleE9mOmVvKCExKX0scm89e30sb289JHQsaW89WSx1bz1uby5pbmRleE9mLGFvPXJvLGNvPWQoW10ucHVzaCksc289ZnVuY3Rpb24odCxlKXt2YXIgbixyPWlvKHQpLG89MCxpPVtdO2ZvcihuIGluIHIpIW9vKGFvLG4pJiZvbyhyLG4pJiZjbyhpLG4pO2Zvcig7ZS5sZW5ndGg+bzspb28ocixuPWVbbysrXSkmJih+dW8oaSxuKXx8Y28oaSxuKSk7cmV0dXJuIGl9LGZvPVsiY29uc3RydWN0b3IiLCJoYXNPd25Qcm9wZXJ0eSIsImlzUHJvdG90eXBlT2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInRvTG9jYWxlU3RyaW5nIiwidG9TdHJpbmciLCJ2YWx1ZU9mIl0sbG89c28seW89Zm8scG89T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3JldHVybiBsbyh0LHlvKX0saG89SSxnbz0kZSxibz1YZSx2bz1lbixtbz1ZLFNvPXBvO0pyLmY9aG8mJiFnbz9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbih0LGUpe3ZvKHQpO2Zvcih2YXIgbixyPW1vKGUpLG89U28oZSksaT1vLmxlbmd0aCx1PTA7aT51Oyliby5mKHQsbj1vW3UrK10scltuXSk7cmV0dXJuIHR9O3ZhciB3byxPbz1ydCgiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiKSxMbz1uZSxqbz16dCgia2V5cyIpLEFvPWZ1bmN0aW9uKHQpe3JldHVybiBqb1t0XXx8KGpvW3RdPUxvKHQpKX0sUG89ZW4sSW89SnIsRW89Zm8sVG89cm8sa289T28seG89QWUsRm89InByb3RvdHlwZSIsQ289InNjcmlwdCIsTm89QW8oIklFX1BST1RPIiksTW89ZnVuY3Rpb24oKXt9LFJvPWZ1bmN0aW9uKHQpe3JldHVybiI8IitDbysiPiIrdCsiPC8iK0NvKyI+In0sVW89ZnVuY3Rpb24odCl7dC53cml0ZShSbygiIikpLHQuY2xvc2UoKTt2YXIgZT10LnBhcmVudFdpbmRvdy5PYmplY3Q7cmV0dXJuIHQ9bnVsbCxlfSxEbz1mdW5jdGlvbigpe3RyeXt3bz1uZXcgQWN0aXZlWE9iamVjdCgiaHRtbGZpbGUiKX1jYXRjaChvKXt9dmFyIHQsZSxuO0RvPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQuZG9tYWluJiZ3bz9Vbyh3byk6KGU9eG8oImlmcmFtZSIpLG49ImphdmEiK0NvKyI6IixlLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGtvLmFwcGVuZENoaWxkKGUpLGUuc3JjPVN0cmluZyhuKSwodD1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpLm9wZW4oKSx0LndyaXRlKFJvKCJkb2N1bWVudC5GPU9iamVjdCIpKSx0LmNsb3NlKCksdC5GKTpVbyh3byk7Zm9yKHZhciByPUVvLmxlbmd0aDtyLS07KWRlbGV0ZSBEb1tGb11bRW9bcl1dO3JldHVybiBEbygpfTtUb1tOb109ITA7dmFyIF9vPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG51bGwhPT10PyhNb1tGb109UG8odCksbj1uZXcgTW8sTW9bRm9dPW51bGwsbltOb109dCk6bj1EbygpLHZvaWQgMD09PWU/bjpJby5mKG4sZSl9LEdvPXt9LEhvPXNvLEJvPWZvLmNvbmNhdCgibGVuZ3RoIiwicHJvdG90eXBlIik7R28uZj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24odCl7cmV0dXJuIEhvKHQsQm8pfTt2YXIgVm89e30sV289ZChbXS5zbGljZSksem89UyxLbz1ZLHFvPUdvLmYsSm89V28sWW89Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyYmT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM/T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod2luZG93KTpbXTtWby5mPWZ1bmN0aW9uKHQpe3JldHVybiBZbyYmIldpbmRvdyI9PT16byh0KT9mdW5jdGlvbih0KXt0cnl7cmV0dXJuIHFvKHQpfWNhdGNoKGUpe3JldHVybiBKbyhZbyl9fSh0KTpxbyhLbyh0KSl9O3ZhciBYbz17fTtYby5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7dmFyICRvPWRuLFFvPWZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiByJiZyLmVudW1lcmFibGU/dFtlXT1uOiRvKHQsZSxuKSx0fSxabz1YZSx0aT17fSxlaT1sZTt0aS5mPWVpO3ZhciBuaSxyaSxvaSxpaT1RLHVpPSR0LGFpPXRpLGNpPVhlLmYsc2k9ZnVuY3Rpb24odCl7dmFyIGU9aWkuU3ltYm9sfHwoaWkuU3ltYm9sPXt9KTt1aShlLHQpfHxjaShlLHQse3ZhbHVlOmFpLmYodCl9KX0sZmk9ayxsaT1ydCx5aT1sZSxwaT1RbyxoaT1mdW5jdGlvbigpe3ZhciB0PWxpKCJTeW1ib2wiKSxlPXQmJnQucHJvdG90eXBlLG49ZSYmZS52YWx1ZU9mLHI9eWkoInRvUHJpbWl0aXZlIik7ZSYmIWVbcl0mJnBpKGUsciwoZnVuY3Rpb24odCl7cmV0dXJuIGZpKG4sdGhpcyl9KSx7YXJpdHk6MX0pfSxnaT1ycixkaT1Ybj97fS50b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0ICIrZ2kodGhpcykrIl0ifSxiaT1Ybix2aT1YZS5mLG1pPWRuLFNpPSR0LHdpPWRpLE9pPWxlKCJ0b1N0cmluZ1RhZyIpLExpPWZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBvPW4/dDp0JiZ0LnByb3RvdHlwZTtvJiYoU2kobyxPaSl8fHZpKG8sT2kse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSksciYmIWJpJiZtaShvLCJ0b1N0cmluZyIsd2kpKX0samk9QSxBaT1vLldlYWtNYXAsUGk9amkoQWkpJiYvbmF0aXZlIGNvZGUvLnRlc3QoU3RyaW5nKEFpKSksSWk9byxFaT0kLFRpPWRuLGtpPSR0LHhpPVZ0LEZpPUFvLENpPXJvLE5pPSJPYmplY3QgYWxyZWFkeSBpbml0aWFsaXplZCIsTWk9SWkuVHlwZUVycm9yLFJpPUlpLldlYWtNYXA7aWYoUGl8fHhpLnN0YXRlKXt2YXIgVWk9eGkuc3RhdGV8fCh4aS5zdGF0ZT1uZXcgUmkpO1VpLmdldD1VaS5nZXQsVWkuaGFzPVVpLmhhcyxVaS5zZXQ9VWkuc2V0LG5pPWZ1bmN0aW9uKHQsZSl7aWYoVWkuaGFzKHQpKXRocm93IG5ldyBNaShOaSk7cmV0dXJuIGUuZmFjYWRlPXQsVWkuc2V0KHQsZSksZX0scmk9ZnVuY3Rpb24odCl7cmV0dXJuIFVpLmdldCh0KXx8e319LG9pPWZ1bmN0aW9uKHQpe3JldHVybiBVaS5oYXModCl9fWVsc2V7dmFyIERpPUZpKCJzdGF0ZSIpO0NpW0RpXT0hMCxuaT1mdW5jdGlvbih0LGUpe2lmKGtpKHQsRGkpKXRocm93IG5ldyBNaShOaSk7cmV0dXJuIGUuZmFjYWRlPXQsVGkodCxEaSxlKSxlfSxyaT1mdW5jdGlvbih0KXtyZXR1cm4ga2kodCxEaSk/dFtEaV06e319LG9pPWZ1bmN0aW9uKHQpe3JldHVybiBraSh0LERpKX19dmFyIF9pPXtzZXQ6bmksZ2V0OnJpLGhhczpvaSxlbmZvcmNlOmZ1bmN0aW9uKHQpe3JldHVybiBvaSh0KT9yaSh0KTpuaSh0LHt9KX0sZ2V0dGVyRm9yOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbjtpZighRWkoZSl8fChuPXJpKGUpKS50eXBlIT09dCl0aHJvdyBuZXcgTWkoIkluY29tcGF0aWJsZSByZWNlaXZlciwgIit0KyIgcmVxdWlyZWQiKTtyZXR1cm4gbn19fSxHaT1ZZSxIaT1CLEJpPUp0LFZpPVduLFdpPUlyLHppPWQoW10ucHVzaCksS2k9ZnVuY3Rpb24odCl7dmFyIGU9MT09PXQsbj0yPT09dCxyPTM9PT10LG89ND09PXQsaT02PT09dCx1PTc9PT10LGE9NT09PXR8fGk7cmV0dXJuIGZ1bmN0aW9uKGMscyxmLGwpe2Zvcih2YXIgeSxwLGg9QmkoYyksZz1IaShoKSxkPVZpKGcpLGI9R2kocyxmKSx2PTAsbT1sfHxXaSxTPWU/bShjLGQpOm58fHU/bShjLDApOnZvaWQgMDtkPnY7disrKWlmKChhfHx2IGluIGcpJiYocD1iKHk9Z1t2XSx2LGgpLHQpKWlmKGUpU1t2XT1wO2Vsc2UgaWYocClzd2l0Y2godCl7Y2FzZSAzOnJldHVybiEwO2Nhc2UgNTpyZXR1cm4geTtjYXNlIDY6cmV0dXJuIHY7Y2FzZSAyOnppKFMseSl9ZWxzZSBzd2l0Y2godCl7Y2FzZSA0OnJldHVybiExO2Nhc2UgNzp6aShTLHkpfXJldHVybiBpPy0xOnJ8fG8/bzpTfX0scWk9e2ZvckVhY2g6S2koMCksbWFwOktpKDEpLGZpbHRlcjpLaSgyKSxzb21lOktpKDMpLGV2ZXJ5OktpKDQpLGZpbmQ6S2koNSksZmluZEluZGV4OktpKDYpLGZpbHRlclJlamVjdDpLaSg3KX0sSmk9RW4sWWk9byxYaT1rLCRpPWQsUWk9SSxaaT1idCx0dT1pLGV1PSR0LG51PW90LHJ1PWVuLG91PVksaXU9d2UsdXU9cXIsYXU9VSxjdT1fbyxzdT1wbyxmdT1HbyxsdT1Wbyx5dT1YbyxwdT1QLGh1PVhlLGd1PUpyLGR1PXgsYnU9UW8sdnU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBaby5mKHQsZSxuKX0sbXU9enQsU3U9cm8sd3U9bmUsT3U9bGUsTHU9dGksanU9c2ksQXU9aGksUHU9TGksSXU9X2ksRXU9cWkuZm9yRWFjaCxUdT1BbygiaGlkZGVuIiksa3U9IlN5bWJvbCIseHU9InByb3RvdHlwZSIsRnU9SXUuc2V0LEN1PUl1LmdldHRlckZvcihrdSksTnU9T2JqZWN0W3h1XSxNdT1ZaS5TeW1ib2wsUnU9TXUmJk11W3h1XSxVdT1ZaS5SYW5nZUVycm9yLER1PVlpLlR5cGVFcnJvcixfdT1ZaS5RT2JqZWN0LEd1PXB1LmYsSHU9aHUuZixCdT1sdS5mLFZ1PWR1LmYsV3U9JGkoW10ucHVzaCksenU9bXUoInN5bWJvbHMiKSxLdT1tdSgib3Atc3ltYm9scyIpLHF1PW11KCJ3a3MiKSxKdT0hX3V8fCFfdVt4dV18fCFfdVt4dV0uZmluZENoaWxkLFl1PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1HdShOdSxlKTtyJiZkZWxldGUgTnVbZV0sSHUodCxlLG4pLHImJnQhPT1OdSYmSHUoTnUsZSxyKX0sWHU9UWkmJnR1KChmdW5jdGlvbigpe3JldHVybiA3IT09Y3UoSHUoe30sImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gSHUodGhpcywiYSIse3ZhbHVlOjd9KS5hfX0pKS5hfSkpP1l1Okh1LCR1PWZ1bmN0aW9uKHQsZSl7dmFyIG49enVbdF09Y3UoUnUpO3JldHVybiBGdShuLHt0eXBlOmt1LHRhZzp0LGRlc2NyaXB0aW9uOmV9KSxRaXx8KG4uZGVzY3JpcHRpb249ZSksbn0sUXU9ZnVuY3Rpb24odCxlLG4pe3Q9PT1OdSYmUXUoS3UsZSxuKSxydSh0KTt2YXIgcj1pdShlKTtyZXR1cm4gcnUobiksZXUoenUscik/KG4uZW51bWVyYWJsZT8oZXUodCxUdSkmJnRbVHVdW3JdJiYodFtUdV1bcl09ITEpLG49Y3Uobix7ZW51bWVyYWJsZTphdSgwLCExKX0pKTooZXUodCxUdSl8fEh1KHQsVHUsYXUoMSxjdShudWxsKSkpLHRbVHVdW3JdPSEwKSxYdSh0LHIsbikpOkh1KHQscixuKX0sWnU9ZnVuY3Rpb24odCxlKXtydSh0KTt2YXIgbj1vdShlKSxyPXN1KG4pLmNvbmNhdChyYShuKSk7cmV0dXJuIEV1KHIsKGZ1bmN0aW9uKGUpe1FpJiYhWGkodGEsbixlKXx8UXUodCxlLG5bZV0pfSkpLHR9LHRhPWZ1bmN0aW9uKHQpe3ZhciBlPWl1KHQpLG49WGkoVnUsdGhpcyxlKTtyZXR1cm4hKHRoaXM9PT1OdSYmZXUoenUsZSkmJiFldShLdSxlKSkmJighKG58fCFldSh0aGlzLGUpfHwhZXUoenUsZSl8fGV1KHRoaXMsVHUpJiZ0aGlzW1R1XVtlXSl8fG4pfSxlYT1mdW5jdGlvbih0LGUpe3ZhciBuPW91KHQpLHI9aXUoZSk7aWYobiE9PU51fHwhZXUoenUscil8fGV1KEt1LHIpKXt2YXIgbz1HdShuLHIpO3JldHVybiFvfHwhZXUoenUscil8fGV1KG4sVHUpJiZuW1R1XVtyXXx8KG8uZW51bWVyYWJsZT0hMCksb319LG5hPWZ1bmN0aW9uKHQpe3ZhciBlPUJ1KG91KHQpKSxuPVtdO3JldHVybiBFdShlLChmdW5jdGlvbih0KXtldSh6dSx0KXx8ZXUoU3UsdCl8fFd1KG4sdCl9KSksbn0scmE9ZnVuY3Rpb24odCl7dmFyIGU9dD09PU51LG49QnUoZT9LdTpvdSh0KSkscj1bXTtyZXR1cm4gRXUobiwoZnVuY3Rpb24odCl7IWV1KHp1LHQpfHxlJiYhZXUoTnUsdCl8fFd1KHIsenVbdF0pfSkpLHJ9O1ppfHwoTXU9ZnVuY3Rpb24oKXtpZihudShSdSx0aGlzKSl0aHJvdyBuZXcgRHUoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT91dShhcmd1bWVudHNbMF0pOnZvaWQgMCxlPXd1KHQpLG49ZnVuY3Rpb24odCl7dmFyIHI9dm9pZCAwPT09dGhpcz9ZaTp0aGlzO3I9PT1OdSYmWGkobixLdSx0KSxldShyLFR1KSYmZXUocltUdV0sZSkmJihyW1R1XVtlXT0hMSk7dmFyIG89YXUoMSx0KTt0cnl7WHUocixlLG8pfWNhdGNoKGkpe2lmKCEoaSBpbnN0YW5jZW9mIFV1KSl0aHJvdyBpO1l1KHIsZSxvKX19O3JldHVybiBRaSYmSnUmJlh1KE51LGUse2NvbmZpZ3VyYWJsZTohMCxzZXQ6bn0pLCR1KGUsdCl9LGJ1KFJ1PU11W3h1XSwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBDdSh0aGlzKS50YWd9KSksYnUoTXUsIndpdGhvdXRTZXR0ZXIiLChmdW5jdGlvbih0KXtyZXR1cm4gJHUod3UodCksdCl9KSksZHUuZj10YSxodS5mPVF1LGd1LmY9WnUscHUuZj1lYSxmdS5mPWx1LmY9bmEseXUuZj1yYSxMdS5mPWZ1bmN0aW9uKHQpe3JldHVybiAkdShPdSh0KSx0KX0sUWkmJnZ1KFJ1LCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQ3UodGhpcykuZGVzY3JpcHRpb259fSkpLEppKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsd3JhcDohMCxmb3JjZWQ6IVppLHNoYW06IVppfSx7U3ltYm9sOk11fSksRXUoc3UocXUpLChmdW5jdGlvbih0KXtqdSh0KX0pKSxKaSh7dGFyZ2V0Omt1LHN0YXQ6ITAsZm9yY2VkOiFaaX0se3VzZVNldHRlcjpmdW5jdGlvbigpe0p1PSEwfSx1c2VTaW1wbGU6ZnVuY3Rpb24oKXtKdT0hMX19KSxKaSh7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOiFaaSxzaGFtOiFRaX0se2NyZWF0ZTpmdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lP2N1KHQpOlp1KGN1KHQpLGUpfSxkZWZpbmVQcm9wZXJ0eTpRdSxkZWZpbmVQcm9wZXJ0aWVzOlp1LGdldE93blByb3BlcnR5RGVzY3JpcHRvcjplYX0pLEppKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6IVppfSx7Z2V0T3duUHJvcGVydHlOYW1lczpuYX0pLEF1KCksUHUoTXUsa3UpLFN1W1R1XT0hMDt2YXIgb2E9YnQmJiEhU3ltYm9sLmZvciYmISFTeW1ib2wua2V5Rm9yLGlhPUVuLHVhPXJ0LGFhPSR0LGNhPXFyLHNhPXp0LGZhPW9hLGxhPXNhKCJzdHJpbmctdG8tc3ltYm9sLXJlZ2lzdHJ5IikseWE9c2EoInN5bWJvbC10by1zdHJpbmctcmVnaXN0cnkiKTtpYSh7dGFyZ2V0OiJTeW1ib2wiLHN0YXQ6ITAsZm9yY2VkOiFmYX0se2ZvcjpmdW5jdGlvbih0KXt2YXIgZT1jYSh0KTtpZihhYShsYSxlKSlyZXR1cm4gbGFbZV07dmFyIG49dWEoIlN5bWJvbCIpKGUpO3JldHVybiBsYVtlXT1uLHlhW25dPWUsbn19KTt2YXIgcGE9RW4saGE9JHQsZ2E9THQsZGE9QXQsYmE9b2EsdmE9enQoInN5bWJvbC10by1zdHJpbmctcmVnaXN0cnkiKTtwYSh7dGFyZ2V0OiJTeW1ib2wiLHN0YXQ6ITAsZm9yY2VkOiFiYX0se2tleUZvcjpmdW5jdGlvbih0KXtpZighZ2EodCkpdGhyb3cgbmV3IFR5cGVFcnJvcihkYSh0KSsiIGlzIG5vdCBhIHN5bWJvbCIpO2lmKGhhKHZhLHQpKXJldHVybiB2YVt0XX19KTt2YXIgbWE9Um4sU2E9QSx3YT1TLE9hPXFyLExhPWQoW10ucHVzaCksamE9RW4sQWE9cnQsUGE9bCxJYT1rLEVhPWQsVGE9aSxrYT1BLHhhPUx0LEZhPVdvLENhPWZ1bmN0aW9uKHQpe2lmKFNhKHQpKXJldHVybiB0O2lmKG1hKHQpKXtmb3IodmFyIGU9dC5sZW5ndGgsbj1bXSxyPTA7cjxlO3IrKyl7dmFyIG89dFtyXTsic3RyaW5nIj09dHlwZW9mIG8/TGEobixvKToibnVtYmVyIiE9dHlwZW9mIG8mJiJOdW1iZXIiIT09d2EobykmJiJTdHJpbmciIT09d2Eobyl8fExhKG4sT2EobykpfXZhciBpPW4ubGVuZ3RoLHU9ITA7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYodSlyZXR1cm4gdT0hMSxlO2lmKG1hKHRoaXMpKXJldHVybiBlO2Zvcih2YXIgcj0wO3I8aTtyKyspaWYobltyXT09PXQpcmV0dXJuIGV9fX0sTmE9YnQsTWE9U3RyaW5nLFJhPUFhKCJKU09OIiwic3RyaW5naWZ5IiksVWE9RWEoLy4vLmV4ZWMpLERhPUVhKCIiLmNoYXJBdCksX2E9RWEoIiIuY2hhckNvZGVBdCksR2E9RWEoIiIucmVwbGFjZSksSGE9RWEoMS4udG9TdHJpbmcpLEJhPS9bXHVEODAwLVx1REZGRl0vZyxWYT0vXltcdUQ4MDAtXHVEQkZGXSQvLFdhPS9eW1x1REMwMC1cdURGRkZdJC8semE9IU5hfHxUYSgoZnVuY3Rpb24oKXt2YXIgdD1BYSgiU3ltYm9sIikoInN0cmluZ2lmeSBkZXRlY3Rpb24iKTtyZXR1cm4iW251bGxdIiE9PVJhKFt0XSl8fCJ7fSIhPT1SYSh7YTp0fSl8fCJ7fSIhPT1SYShPYmplY3QodCkpfSkpLEthPVRhKChmdW5jdGlvbigpe3JldHVybiciXFx1ZGYwNlxcdWQ4MzQiJyE9PVJhKCJcdWRmMDZcdWQ4MzQiKXx8JyJcXHVkZWFkIichPT1SYSgiXHVkZWFkIil9KSkscWE9ZnVuY3Rpb24odCxlKXt2YXIgbj1GYShhcmd1bWVudHMpLHI9Q2EoZSk7aWYoa2Eocil8fHZvaWQgMCE9PXQmJiF4YSh0KSlyZXR1cm4gblsxXT1mdW5jdGlvbih0LGUpe2lmKGthKHIpJiYoZT1JYShyLHRoaXMsTWEodCksZSkpLCF4YShlKSlyZXR1cm4gZX0sUGEoUmEsbnVsbCxuKX0sSmE9ZnVuY3Rpb24odCxlLG4pe3ZhciByPURhKG4sZS0xKSxvPURhKG4sZSsxKTtyZXR1cm4gVWEoVmEsdCkmJiFVYShXYSxvKXx8VWEoV2EsdCkmJiFVYShWYSxyKT8iXFx1IitIYShfYSh0LDApLDE2KTp0fTtSYSYmamEoe3RhcmdldDoiSlNPTiIsc3RhdDohMCxhcml0eTozLGZvcmNlZDp6YXx8S2F9LHtzdHJpbmdpZnk6ZnVuY3Rpb24odCxlLG4pe3ZhciByPUZhKGFyZ3VtZW50cyksbz1QYSh6YT9xYTpSYSxudWxsLHIpO3JldHVybiBLYSYmInN0cmluZyI9PXR5cGVvZiBvP0dhKG8sQmEsSmEpOm99fSk7dmFyIFlhPVhvLFhhPUp0O0VuKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6IWJ0fHxpKChmdW5jdGlvbigpe1lhLmYoMSl9KSl9LHtnZXRPd25Qcm9wZXJ0eVN5bWJvbHM6ZnVuY3Rpb24odCl7dmFyIGU9WWEuZjtyZXR1cm4gZT9lKFhhKHQpKTpbXX19KSxzaSgiYXN5bmNJdGVyYXRvciIpLHNpKCJoYXNJbnN0YW5jZSIpLHNpKCJpc0NvbmNhdFNwcmVhZGFibGUiKSxzaSgiaXRlcmF0b3IiKSxzaSgibWF0Y2giKSxzaSgibWF0Y2hBbGwiKSxzaSgicmVwbGFjZSIpLHNpKCJzZWFyY2giKSxzaSgic3BlY2llcyIpLHNpKCJzcGxpdCIpO3ZhciAkYT1oaTtzaSgidG9QcmltaXRpdmUiKSwkYSgpO3ZhciBRYT1ydCxaYT1MaTtzaSgidG9TdHJpbmdUYWciKSxaYShRYSgiU3ltYm9sIiksIlN5bWJvbCIpLHNpKCJ1bnNjb3BhYmxlcyIpLExpKG8uSlNPTiwiSlNPTiIsITApO3ZhciB0YyxlYyxuYyxyYz1RLlN5bWJvbCxvYz17fSxpYz1JLHVjPSR0LGFjPUZ1bmN0aW9uLnByb3RvdHlwZSxjYz1pYyYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixzYz11YyhhYywibmFtZSIpLGZjPXtFWElTVFM6c2MsUFJPUEVSOnNjJiYic29tZXRoaW5nIj09PWZ1bmN0aW9uKCl7fS5uYW1lLENPTkZJR1VSQUJMRTpzYyYmKCFpY3x8aWMmJmNjKGFjLCJuYW1lIikuY29uZmlndXJhYmxlKX0sbGM9IWkoKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5wcm90b3R5cGUuY29uc3RydWN0b3I9bnVsbCxPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IHQpIT09dC5wcm90b3R5cGV9KSkseWM9JHQscGM9QSxoYz1KdCxnYz1sYyxkYz1BbygiSUVfUFJPVE8iKSxiYz1PYmplY3QsdmM9YmMucHJvdG90eXBlLG1jPWdjP2JjLmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3ZhciBlPWhjKHQpO2lmKHljKGUsZGMpKXJldHVybiBlW2RjXTt2YXIgbj1lLmNvbnN0cnVjdG9yO3JldHVybiBwYyhuKSYmZSBpbnN0YW5jZW9mIG4/bi5wcm90b3R5cGU6ZSBpbnN0YW5jZW9mIGJjP3ZjOm51bGx9LFNjPWksd2M9QSxPYz0kLExjPV9vLGpjPW1jLEFjPVFvLFBjPWxlKCJpdGVyYXRvciIpLEljPSExO1tdLmtleXMmJigibmV4dCJpbihuYz1bXS5rZXlzKCkpPyhlYz1qYyhqYyhuYykpKSE9PU9iamVjdC5wcm90b3R5cGUmJih0Yz1lYyk6SWM9ITApO3ZhciBFYz0hT2ModGMpfHxTYygoZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdGNbUGNdLmNhbGwodCkhPT10fSkpO3djKCh0Yz1FYz97fTpMYyh0YykpW1BjXSl8fEFjKHRjLFBjLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpO3ZhciBUYz17SXRlcmF0b3JQcm90b3R5cGU6dGMsQlVHR1lfU0FGQVJJX0lURVJBVE9SUzpJY30sa2M9VGMuSXRlcmF0b3JQcm90b3R5cGUseGM9X28sRmM9VSxDYz1MaSxOYz1vYyxNYz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxSYz1FbixVYz1rLERjPWZjLF9jPWZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBvPWUrIiBJdGVyYXRvciI7cmV0dXJuIHQucHJvdG90eXBlPXhjKGtjLHtuZXh0OkZjKCshcixuKX0pLENjKHQsbywhMSwhMCksTmNbb109TWMsdH0sR2M9bWMsSGM9TGksQmM9UW8sVmM9b2MsV2M9VGMsemM9RGMuUFJPUEVSLEtjPVdjLkJVR0dZX1NBRkFSSV9JVEVSQVRPUlMscWM9bGUoIml0ZXJhdG9yIiksSmM9ImtleXMiLFljPSJ2YWx1ZXMiLFhjPSJlbnRyaWVzIiwkYz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxRYz1mdW5jdGlvbih0LGUsbixyLG8saSx1KXtfYyhuLGUscik7dmFyIGEsYyxzLGY9ZnVuY3Rpb24odCl7aWYodD09PW8mJmcpcmV0dXJuIGc7aWYoIUtjJiZ0JiZ0IGluIHApcmV0dXJuIHBbdF07c3dpdGNoKHQpe2Nhc2UgSmM6Y2FzZSBZYzpjYXNlIFhjOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgbih0aGlzLHQpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4odGhpcyl9fSxsPWUrIiBJdGVyYXRvciIseT0hMSxwPXQucHJvdG90eXBlLGg9cFtxY118fHBbIkBAaXRlcmF0b3IiXXx8byYmcFtvXSxnPSFLYyYmaHx8ZihvKSxkPSJBcnJheSI9PT1lJiZwLmVudHJpZXN8fGg7aWYoZCYmKGE9R2MoZC5jYWxsKG5ldyB0KSkpIT09T2JqZWN0LnByb3RvdHlwZSYmYS5uZXh0JiYoSGMoYSxsLCEwLCEwKSxWY1tsXT0kYyksemMmJm89PT1ZYyYmaCYmaC5uYW1lIT09WWMmJih5PSEwLGc9ZnVuY3Rpb24oKXtyZXR1cm4gVWMoaCx0aGlzKX0pLG8paWYoYz17dmFsdWVzOmYoWWMpLGtleXM6aT9nOmYoSmMpLGVudHJpZXM6ZihYYyl9LHUpZm9yKHMgaW4gYykoS2N8fHl8fCEocyBpbiBwKSkmJkJjKHAscyxjW3NdKTtlbHNlIFJjKHt0YXJnZXQ6ZSxwcm90bzohMCxmb3JjZWQ6S2N8fHl9LGMpO3JldHVybiB1JiZwW3FjXSE9PWcmJkJjKHAscWMsZyx7bmFtZTpvfSksVmNbZV09ZyxjfSxaYz1mdW5jdGlvbih0LGUpe3JldHVybnt2YWx1ZTp0LGRvbmU6ZX19LHRzPVksZXM9b2MsbnM9X2k7WGUuZjt2YXIgcnM9UWMsb3M9WmMsaXM9IkFycmF5IEl0ZXJhdG9yIix1cz1ucy5zZXQsYXM9bnMuZ2V0dGVyRm9yKGlzKTtycyhBcnJheSwiQXJyYXkiLChmdW5jdGlvbih0LGUpe3VzKHRoaXMse3R5cGU6aXMsdGFyZ2V0OnRzKHQpLGluZGV4OjAsa2luZDplfSl9KSwoZnVuY3Rpb24oKXt2YXIgdD1hcyh0aGlzKSxlPXQudGFyZ2V0LG49dC5pbmRleCsrO2lmKCFlfHxuPj1lLmxlbmd0aClyZXR1cm4gdC50YXJnZXQ9bnVsbCxvcyh2b2lkIDAsITApO3N3aXRjaCh0LmtpbmQpe2Nhc2Uia2V5cyI6cmV0dXJuIG9zKG4sITEpO2Nhc2UidmFsdWVzIjpyZXR1cm4gb3MoZVtuXSwhMSl9cmV0dXJuIG9zKFtuLGVbbl1dLCExKX0pLCJ2YWx1ZXMiKSxlcy5Bcmd1bWVudHM9ZXMuQXJyYXk7dmFyIGNzPXtDU1NSdWxlTGlzdDowLENTU1N0eWxlRGVjbGFyYXRpb246MCxDU1NWYWx1ZUxpc3Q6MCxDbGllbnRSZWN0TGlzdDowLERPTVJlY3RMaXN0OjAsRE9NU3RyaW5nTGlzdDowLERPTVRva2VuTGlzdDoxLERhdGFUcmFuc2Zlckl0ZW1MaXN0OjAsRmlsZUxpc3Q6MCxIVE1MQWxsQ29sbGVjdGlvbjowLEhUTUxDb2xsZWN0aW9uOjAsSFRNTEZvcm1FbGVtZW50OjAsSFRNTFNlbGVjdEVsZW1lbnQ6MCxNZWRpYUxpc3Q6MCxNaW1lVHlwZUFycmF5OjAsTmFtZWROb2RlTWFwOjAsTm9kZUxpc3Q6MSxQYWludFJlcXVlc3RMaXN0OjAsUGx1Z2luOjAsUGx1Z2luQXJyYXk6MCxTVkdMZW5ndGhMaXN0OjAsU1ZHTnVtYmVyTGlzdDowLFNWR1BhdGhTZWdMaXN0OjAsU1ZHUG9pbnRMaXN0OjAsU1ZHU3RyaW5nTGlzdDowLFNWR1RyYW5zZm9ybUxpc3Q6MCxTb3VyY2VCdWZmZXJMaXN0OjAsU3R5bGVTaGVldExpc3Q6MCxUZXh0VHJhY2tDdWVMaXN0OjAsVGV4dFRyYWNrTGlzdDowLFRvdWNoTGlzdDowfSxzcz1vLGZzPUxpLGxzPW9jO2Zvcih2YXIgeXMgaW4gY3MpZnMoc3NbeXNdLHlzKSxsc1t5c109bHMuQXJyYXk7dmFyIHBzPXJjLGhzPWxlLGdzPVhlLmYsZHM9aHMoIm1ldGFkYXRhIiksYnM9RnVuY3Rpb24ucHJvdG90eXBlO3ZvaWQgMD09PWJzW2RzXSYmZ3MoYnMsZHMse3ZhbHVlOm51bGx9KSxzaSgiYXN5bmNEaXNwb3NlIiksc2koImRpc3Bvc2UiKSxzaSgibWV0YWRhdGEiKTt2YXIgdnM9cHMsbXM9ZCxTcz1ydCgiU3ltYm9sIiksd3M9U3Mua2V5Rm9yLE9zPW1zKFNzLnByb3RvdHlwZS52YWx1ZU9mKSxMcz1Tcy5pc1JlZ2lzdGVyZWRTeW1ib2x8fGZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdm9pZCAwIT09d3MoT3ModCkpfWNhdGNoKGUpe3JldHVybiExfX07RW4oe3RhcmdldDoiU3ltYm9sIixzdGF0OiEwfSx7aXNSZWdpc3RlcmVkU3ltYm9sOkxzfSk7Zm9yKHZhciBqcz16dCxBcz1ydCxQcz1kLElzPUx0LEVzPWxlLFRzPUFzKCJTeW1ib2wiKSxrcz1Ucy5pc1dlbGxLbm93blN5bWJvbCx4cz1BcygiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIpLEZzPVBzKFRzLnByb3RvdHlwZS52YWx1ZU9mKSxDcz1qcygid2tzIiksTnM9MCxNcz14cyhUcyksUnM9TXMubGVuZ3RoO05zPFJzO05zKyspdHJ5e3ZhciBVcz1Nc1tOc107SXMoVHNbVXNdKSYmRXMoVXMpfWNhdGNoKGJmKXt9dmFyIERzPWZ1bmN0aW9uKHQpe2lmKGtzJiZrcyh0KSlyZXR1cm4hMDt0cnl7Zm9yKHZhciBlPUZzKHQpLG49MCxyPXhzKENzKSxvPXIubGVuZ3RoO248bztuKyspaWYoQ3NbcltuXV09PWUpcmV0dXJuITB9Y2F0Y2goYmYpe31yZXR1cm4hMX07RW4oe3RhcmdldDoiU3ltYm9sIixzdGF0OiEwLGZvcmNlZDohMH0se2lzV2VsbEtub3duU3ltYm9sOkRzfSksc2koImN1c3RvbU1hdGNoZXIiKSxzaSgib2JzZXJ2YWJsZSIpLEVuKHt0YXJnZXQ6IlN5bWJvbCIsc3RhdDohMCxuYW1lOiJpc1JlZ2lzdGVyZWRTeW1ib2wifSx7aXNSZWdpc3RlcmVkOkxzfSksRW4oe3RhcmdldDoiU3ltYm9sIixzdGF0OiEwLG5hbWU6ImlzV2VsbEtub3duU3ltYm9sIixmb3JjZWQ6ITB9LHtpc1dlbGxLbm93bjpEc30pLHNpKCJtYXRjaGVyIiksc2koIm1ldGFkYXRhS2V5Iiksc2koInBhdHRlcm5NYXRjaCIpLHNpKCJyZXBsYWNlQWxsIik7dmFyIF9zPWUodnMpLEdzPWQsSHM9R24sQnM9cXIsVnM9SyxXcz1HcygiIi5jaGFyQXQpLHpzPUdzKCIiLmNoYXJDb2RlQXQpLEtzPUdzKCIiLnNsaWNlKSxxcz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgcixvLGk9QnMoVnMoZSkpLHU9SHMobiksYT1pLmxlbmd0aDtyZXR1cm4gdTwwfHx1Pj1hP3Q/IiI6dm9pZCAwOihyPXpzKGksdSkpPDU1Mjk2fHxyPjU2MzE5fHx1KzE9PT1hfHwobz16cyhpLHUrMSkpPDU2MzIwfHxvPjU3MzQzP3Q/V3MoaSx1KTpyOnQ/S3MoaSx1LHUrMik6by01NjMyMCsoci01NTI5Njw8MTApKzY1NTM2fX0sSnM9e2NvZGVBdDpxcyghMSksY2hhckF0OnFzKCEwKX0uY2hhckF0LFlzPXFyLFhzPV9pLCRzPVFjLFFzPVpjLFpzPSJTdHJpbmcgSXRlcmF0b3IiLHRmPVhzLnNldCxlZj1Ycy5nZXR0ZXJGb3IoWnMpOyRzKFN0cmluZywiU3RyaW5nIiwoZnVuY3Rpb24odCl7dGYodGhpcyx7dHlwZTpacyxzdHJpbmc6WXModCksaW5kZXg6MH0pfSksKGZ1bmN0aW9uKCl7dmFyIHQsZT1lZih0aGlzKSxuPWUuc3RyaW5nLHI9ZS5pbmRleDtyZXR1cm4gcj49bi5sZW5ndGg/UXModm9pZCAwLCEwKToodD1KcyhuLHIpLGUuaW5kZXgrPXQubGVuZ3RoLFFzKHQsITEpKX0pKTt2YXIgbmY9ZSh0aS5mKCJpdGVyYXRvciIpKTtmdW5jdGlvbiByZih0KXtyZXR1cm4ocmY9ImZ1bmN0aW9uIj09dHlwZW9mIF9zJiYic3ltYm9sIj09dHlwZW9mIG5mP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBfcyYmdC5jb25zdHJ1Y3Rvcj09PV9zJiZ0IT09X3MucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSkodCl9dmFyIG9mPWUodGkuZigidG9QcmltaXRpdmUiKSk7ZnVuY3Rpb24gdWYodCl7dmFyIGU9ZnVuY3Rpb24odCxlKXtpZigib2JqZWN0IiE9cmYodCl8fCF0KXJldHVybiB0O3ZhciBuPXRbb2ZdO2lmKHZvaWQgMCE9PW4pe3ZhciByPW4uY2FsbCh0LGV8fCJkZWZhdWx0Iik7aWYoIm9iamVjdCIhPXJmKHIpKXJldHVybiByO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09ZT9TdHJpbmc6TnVtYmVyKSh0KX0odCwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PXJmKGUpP2U6ZSsiIn1mdW5jdGlvbiBhZih0LGUsbil7cmV0dXJuKGU9dWYoZSkpaW4gdD9Obih0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH1jb25zdCBjZj17Z2V0TkFMVW5pdHModCl7bGV0IGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXTtpZih0Lmxlbmd0aC10LnBvc2l0aW9uPDQpcmV0dXJuW107Y29uc3R7cG9zaXRpb246bn09dDtyZXR1cm4gMT09PXQuZ2V0SW50MzIobil8fDA9PT10LmdldEludDE2KG4pJiYxPT09dC5nZXRJbnQ4KG4rMik/Y2YuZ2V0QW5uZXhiTmFscyh0LGUpOmNmLmdldEF2Y2NOYWxzKHQsZSl9LGdldEFubmV4Yk5hbHModCxlKXtjb25zdCBuPVtdO2xldCByPWNmLmdldEhlYWRlclBvc2l0aW9uQW5uZXhCKHQpLG89ci5wb3MsaT1vO2Zvcig7bzx0Lmxlbmd0aC00Oyl7Y29uc3QgdT1uZXcgVWludDhBcnJheSh0LmJ1ZmZlci5zbGljZShvLG8rci5oZWFkZXJMZW5ndGgpKTtyLnBvcz09PXQucG9zaXRpb24mJnQuc2tpcChyLmhlYWRlckxlbmd0aCkscj1jZi5nZXRIZWFkZXJQb3NpdGlvbkFubmV4Qih0KSxpPXIucG9zO2NvbnN0IGE9e2hlYWRlcjp1LGJvZHk6bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIuc2xpY2Uobyt1LmJ5dGVMZW5ndGgsaSkpLHR5cGU6LTF9O2U/Y2YuYW5hbHlzZUgyNjVOYWwoYSk6Y2YuYW5hbHlzZU5hbChhKSwoYS50eXBlPD05fHxlJiZhLnR5cGU8PTQwKSYmMCE9PWEudHlwZSYmbi5wdXNoKGEpLHQuc2tpcChpLXQucG9zaXRpb24pLG89aX1yZXR1cm4gbn0sZ2V0QXZjY05hbHModCxlKXtjb25zdCBuPVtdO2Zvcig7dC5wb3NpdGlvbjx0Lmxlbmd0aC00Oyl7Y29uc3Qgcj10LmdldEludDMyKHQucG9zaXRpb24pO2lmKCEodC5sZW5ndGgtdC5wb3NpdGlvbj49cikpYnJlYWs7e2NvbnN0IG89bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIuc2xpY2UodC5wb3NpdGlvbix0LnBvc2l0aW9uKzQpKTt0LnNraXAoNCk7Y29uc3QgaT1uZXcgVWludDhBcnJheSh0LmJ1ZmZlci5zbGljZSh0LnBvc2l0aW9uLHQucG9zaXRpb24rcikpO3Quc2tpcChyKTtjb25zdCB1PXtoZWFkZXI6byxib2R5OmksdHlwZTotMX07ZT9jZi5hbmFseXNlSDI2NU5hbCh1KTpjZi5hbmFseXNlTmFsKHUpLHUudHlwZTw9OSYmMCE9PXUudHlwZSYmbi5wdXNoKHUpfX1yZXR1cm4gbn0sYW5hbHlzZU5hbCh0KXtjb25zdCBlPTMxJnQuYm9keVswXTtzd2l0Y2godC50eXBlPWUsZSl7Y2FzZSAxOnQubmRyPSEwO2JyZWFrO2Nhc2UgNTp0Lmlkcj0hMDticmVhaztjYXNlIDY6dC5zZWk9ITA7YnJlYWs7Y2FzZSA3OnQuc3BzPSEwO2JyZWFrO2Nhc2UgODp0LnBwcz0hMH19LGFuYWx5c2VIMjY1TmFsKHQpe2NvbnN0IGU9KDEyNiZ0LmJvZHlbMF0pPj4xO3N3aXRjaCh0LnR5cGU9ZSxlKXtjYXNlIDM5OmNhc2UgNDA6dC5zZWk9ITB9fSxnZXRIZWFkZXJQb3NpdGlvbkFubmV4Qih0KXtsZXQgZT10LnBvc2l0aW9uLG49MDtjb25zdCByPXQubGVuZ3RoO2Zvcig7MyE9PW4mJjQhPT1uJiZlPHItNDspMD09PXQuZ2V0SW50MTYoZSk/MT09PXQuZ2V0SW50MTYoZSsyKT9uPTQ6MT09PXQuZ2V0SW50OChlKzIpP249MzplKys6ZSsrO3JldHVybiBlPT09ci00JiYoMD09PXQuZ2V0SW50MTYoZSk/MT09PXQuZ2V0SW50MTYoZSsyKT9uPTQ6ZT1yOihlKyssMD09PXQuZ2V0SW50MTYoZSkmJjE9PT10LmdldEludDgoZSk/bj0zOmU9cikpLHtwb3M6ZSxoZWFkZXJMZW5ndGg6bn19LGlzSDI2NVZpZGVvRnJhbWUodCl7dmFyIGU7cmV0dXJuKChudWxsPT09KGU9dC5nZXRNZXRhZGF0YSl8fHZvaWQgMD09PWV8fG51bGw9PT0oZT1lLmNhbGwodCkpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLm1pbWVUeXBlKXx8IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImgyNjUiKX19LHNmPW5ldyBVaW50OEFycmF5KFsxMDksMTY3LDUzLDE5MCwxMDMsOTAsNzIsMSwxNzAsODksNjMsMTY0LDE5NCwxOTksMTksODVdKSxmZj1uZXcgVWludDhBcnJheShbMTA5LDE2Nyw1MywxOTAsMTAzLDkwLDcyLDEsMTcwLDg5LDYzLDE2NCwxOTQsMTk5LDE5LDg0XSksbGY9bmV3IFVpbnQ4QXJyYXkoWzMxLDIzOSwzLDUwLDI0MiwxMjAsNzYsODUsMTY5LDQyLDE2MSw5MSw3NSwxODYsMjJdKTtmdW5jdGlvbiB5Zih0KXtjb25zdCBlPVtdO2Zvcig7dD49MjU1Oyl0LT0yNTUsZS5wdXNoKDI1NSk7cmV0dXJuIGUucHVzaCh0KSxuZXcgVWludDhBcnJheShlKX1mdW5jdGlvbiBwZih0KXtsZXQgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MCxuPTA7Zm9yKDsyNTU9PT10W2VdJiZlPHQuYnl0ZUxlbmd0aDspZSsrLG4rPTI1NTtyZXR1cm4gZTx0LmJ5dGVMZW5ndGgmJihuKz10W2UrK10pLFtuLGVdfWNvbnN0IGhmPW5ldyBVaW50OEFycmF5KFs4MCwxXSk7Y2xhc3MgZ2Z7c3RhdGljIGdlbmVyYXRlU0VJKHQsZSl7bGV0IG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXTtjb25zdCByPW5ldyBVaW50OEFycmF5KFswLDAsMCwxXSksbz1lP2hmOm5ldyBVaW50OEFycmF5KFs2XSksaT1uZXcgVWludDhBcnJheShbNV0pLHU9Z2YuX191dWlkfHwobj9zZjpmZiksYT15Zih0LmJ5dGVMZW5ndGgrdS5ieXRlTGVuZ3RoKSxjPSh0PT57Y29uc3QgZT1bXTtsZXQgbj0wO2Zvcihjb25zdCByIG9mIHQpbj49MiYmcjw9MyYmKGUucHVzaCgzKSxuPTApLDA9PT1yP24rKzpuPTAsZS5wdXNoKHIpO3JldHVybiBuZXcgVWludDhBcnJheShlKX0pKHQpO3JldHVybiBuZXcgVWludDhBcnJheShbLi4uciwuLi5vLC4uLmksLi4uYSwuLi51LC4uLmMsMTI4XSl9c3RhdGljIGRlY29kZVNFSUJvZHkodCxlKXtjb25zdCBuPSh0PT57Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl0W25dPD0zJiYwPT09dFtuLTFdJiYwPT09dFtuLTJdfHxlLnB1c2godFtuXSk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGUpfSkodD10LnNsaWNlKDAsdC5sZW5ndGgtMSkpO2lmKG4uYnl0ZUxlbmd0aDwyKXJldHVybjtsZXQgcj0wO2NvbnN0IG89ZT8yOjE7aWYoNSE9PW5bb10mJjEwMCE9PW5bb10pcmV0dXJuO3IrPTErbztjb25zdFtpLHVdPXBmKG4scik7cj11O2xldCBhPTI7Y29uc3QgYz1yK2k7bi5ieXRlTGVuZ3RoPj1mZi5ieXRlTGVuZ3RoJiZpPj1mZi5ieXRlTGVuZ3RoJiYobi5zbGljZShyLHIrZmYuYnl0ZUxlbmd0aCkudG9TdHJpbmcoKT09PWZmLnRvU3RyaW5nKCl8fG4uc2xpY2UocixyK2xmLmJ5dGVMZW5ndGgpLnRvU3RyaW5nKCk9PT1sZi50b1N0cmluZygpKT8ocis9ZmYuYnl0ZUxlbmd0aCxhPTEpOm4uYnl0ZUxlbmd0aD49ZmYuYnl0ZUxlbmd0aCYmaT49ZmYuYnl0ZUxlbmd0aCYmbi5zbGljZShyLHIrc2YuYnl0ZUxlbmd0aCkudG9TdHJpbmcoKT09PXNmLnRvU3RyaW5nKCkmJihyKz1zZi5ieXRlTGVuZ3RoLGE9MCk7cmV0dXJue3R5cGU6YSxwYXlsb2FkOm4uc2xpY2UocixjKX19c3RhdGljIHBhcnNlSW50ZXJuYWxTRUkodCl7Y29uc3QgZT1uZXcgTWFwO2xldCBuPTA7aWYoMD09PXQudHlwZSl7Zm9yKDt0LnBheWxvYWQuYnl0ZUxlbmd0aC1uPj0yOyl7Y29uc3RbcixvXT1wZih0LnBheWxvYWQsbik7bj1vO2NvbnN0W2ksdV09cGYodC5wYXlsb2FkLG4pO2lmKG49dSxlLmdldChyKXx8IShpPD10LnBheWxvYWQuYnl0ZUxlbmd0aC1uKSlicmVhaztlLnNldChyLHQucGF5bG9hZC5zbGljZShuLG4raSkpLG4rPWl9cmV0dXJuIGV9fXN0YXRpYyBtYWtlSW50ZXJuYWxTZWkodCl7Y29uc3QgZT1bXTtmb3IoY29uc3RbbyxpXW9mIHQpe2NvbnN0IHQ9eWYobyksbj15ZihpLmJ5dGVMZW5ndGgpO2UucHVzaCh0LG4saSl9Y29uc3Qgbj1lLnJlZHVjZSgoKHQsZSk9PnQrZS5ieXRlTGVuZ3RoKSwwKSxyPW5ldyBVaW50OEFycmF5KG4pO3JldHVybiBlLnJlZHVjZSgoKHQsZSk9PihyLnNldChlLHQpLHQrZS5ieXRlTGVuZ3RoKSksMCkscn19YWYoZ2YsIl9fdXVpZCIsdm9pZCAwKTtjbGFzcyBkZntjb25zdHJ1Y3Rvcih0KXthZih0aGlzLCJzZWlMaXN0IixbXSksYWYodGhpcywibWF4U0VJQ291bnQiLDEpLHRoaXMubWF4U0VJQ291bnQ9dC5tYXhTRUlDb3VudH1zZW5kU0VJVHJhbnNmb3JtKHQsZSl7Y29uc3R7bWF4U0VJQ291bnQ6bixzZWlMaXN0OnJ9PXRoaXM7aWYoIXRoaXMuc2VpTGlzdC5sZW5ndGgpcmV0dXJuIHZvaWQgZS5lbnF1ZXVlKHQpO2NvbnN0IG89W107bGV0IGk9MDtmb3IoY29uc3QgYyBvZiByKXtpZihvLmxlbmd0aD49bilicmVhaztjb25zdCBlPWdmLmdlbmVyYXRlU0VJKGMuY29udGVudCxjZi5pc0gyNjVWaWRlb0ZyYW1lKHQpKTtpKz1lLmJ5dGVMZW5ndGgsYy5yZXBlYXRDb3VudC0tLG8ucHVzaChlKX10aGlzLnNlaUxpc3Q9ci5maWx0ZXIoKHQ9PnQucmVwZWF0Q291bnQ+MCkpO2NvbnN0IHU9bmV3IFVpbnQ4QXJyYXkoaSt0LmRhdGEuYnl0ZUxlbmd0aCk7dS5zZXQobmV3IFVpbnQ4QXJyYXkodC5kYXRhKSk7bGV0IGE9dC5kYXRhLmJ5dGVMZW5ndGg7by5mb3JFYWNoKCh0PT57dS5zZXQodCxhKSxhKz10LmJ5dGVMZW5ndGh9KSksdC5kYXRhPXUuYnVmZmVyLGUuZW5xdWV1ZSh0KX1wdXNoU0VJKHQpe3RoaXMuc2VpTGlzdC5wdXNoKHQpfXJldm9rZVNFSSh0KXtjb25zdCBlPXRoaXMuc2VpTGlzdC5maW5kSW5kZXgoKGU9PmUudXVpZD09PXQpKTtyZXR1cm4tMSE9PWUmJih0aGlzLnNlaUxpc3Quc3BsaWNlKGUsMSksITApfX0idW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJiJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSI9PT1zZWxmLmNvbnN0cnVjdG9yLm5hbWUmJnNlbGYuYWRkRXZlbnRMaXN0ZW5lcigicnRjdHJhbnNmb3JtIiwodD0+e2NvbnN0e3RyYW5zZm9ybWVyOmV9PXQse21heFNFSUNvdW50Om59PWUub3B0aW9ucyxyPW5ldyBkZih7bWF4U0VJQ291bnQ6bn0pLG89bmV3IFRyYW5zZm9ybVN0cmVhbSh7dHJhbnNmb3JtOnIuc2VuZFNFSVRyYW5zZm9ybS5iaW5kKHIpfSk7c2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwodD0+e2xldHtkYXRhOmV9PXQ7Y29uc3R7dHlwZTpuLGNvbnRlbnQ6b309ZTtpZigicHVzaCI9PT1uKXIucHVzaFNFSShvKTtlbHNlIGlmKCJyZXZva2UiPT09bil7Y29uc3QgdD1yLnJldm9rZVNFSShvKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7dHlwZToicmV2b2tlLWFjayIsY29udGVudDp7dXVpZDpvLGlzTm90U2VuZDp0fX0pfX0pKSxlLnJlYWRhYmxlLnBpcGVUaHJvdWdoKG8pLnBpcGVUbyhlLndyaXRhYmxlKX0pKX0oKTsK",Ac="u">typeof window&&window.Blob&&new Blob([atob(Al)],{type:"text/javascript;charset=utf-8"});function Ad(){let e;try{if(!(e=Ac&&(Ne||window.webkitURL).createObjectURL(Ac)))throw"";return new Worker(e)}catch(e){return new Worker("data:application/javascript;base64,"+Al)}finally{!("u">typeof window&&navigator.userAgent.indexOf("Trident/")>0)&&e&&(Ne||window.webkitlRL).revokeObjectURL(e)}}let Au={getNALUnits(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e.length-e.position<4)return[];let{position:i}=e;return 1===e.getInt32(i)||0===e.getInt16(i)&&1===e.getInt8(i+2)?Au.getAnnexbNals(e,t):Au.getAvccNals(e,t)},getAnnexbNals(e,t){let i=[],r=Au.getHeaderPositionAnnexB(e),s=r.pos,n=s;for(;s=r))break;{let s=new Uint8Array(e.buffer.slice(e.position,e.position+4));e.skip(4);let n=new Uint8Array(e.buffer.slice(e.position,e.position+r));e.skip(r);let a={header:s,body:n,type:-1};t?Au.analyseH265Nal(a):Au.analyseNal(a),a.type<=9&&0!==a.type&&i.push(a)}}return i},analyseNal(e){let t=31&e.body[0];switch(e.type=t,t){case 1:e.ndr=!0;break;case 5:e.idr=!0;break;case 6:e.sei=!0;break;case 7:e.sps=!0;break;case 8:e.pps=!0}},analyseH265Nal(e){let t=(126&e.body[0])>>1;switch(e.type=t,t){case 39:case 40:e.sei=!0}},getHeaderPositionAnnexB(e){let t=e.position,i=0,r=e.length;for(;3!==i&&4!==i&&t0&&Ah.readByte(this,i)}static readByte(e,t,i){let r;switch(t){case 1:r=i?e.getInt8(e.position):e.getUint8(e.position);break;case 2:r=i?e.getInt16(e.position):e.getUint16(e.position);break;case 3:if(i)throw Error("not supported for readByte 3");r=e.getUint8(e.position)<<16|e.getUint8(e.position+1)<<8|e.getUint8(e.position+2);break;case 4:r=i?e.getInt32(e.position):e.getUint32(e.position);break;case 8:if(i)throw Error("not supported for readBody 8");r=e.getUint32(e.position)<<32|e.getUint32(e.position+4);break;default:r=""}return e.position+=t,r}readUint8(){return Ah.readByte(this,1)}readUint16(){return Ah.readByte(this,2)}readUint24(){return Ah.readByte(this,3)}readUint32(){return Ah.readByte(this,4)}readUint64(){return Ah.readByte(this,8)}readInt8(){return Ah.readByte(this,1,!0)}readInt16(){return Ah.readByte(this,2,!0)}readInt32(){return Ah.readByte(this,4,!0)}writeUint32(e){return new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e])}}function Ap(e){let{postMessage:t,skipFilter:i}=e;return new TransformStream({transform(e,r){let s=Au.isH265VideoFrame(e);Au.getNALUnits(new Ah(e.data),s).forEach(e=>{if(e.sei){let r=wk.decodeSEIBody(e.body,s);r&&(i||r.type===wp.external)&&t(r)}}),r.enqueue(e)}})}"u">typeof self&&"DedicatedWorkerGlobalScope"===self.constructor.name&&self.addEventListener("rtctransform",e=>{let{transformer:t}=e,{streamId:i,skipFilter:r}=t.options,s=Ap({postMessage:e=>{self.postMessage({streamId:i,msg:e},[e.payload.buffer])},skipFilter:r});t.readable.pipeThrough(s).pipeTo(e.transformer.writable)});class Am{constructor(e){dY(this,"seiList",[]),dY(this,"maxSEICount",1),this.maxSEICount=e.maxSEICount}sendSEITransform(e,t){let{maxSEICount:i,seiList:r}=this;if(!this.seiList.length)return void t.enqueue(e);let s=[],n=0;for(let t of r){if(s.length>=i)break;let r=wk.generateSEI(t.content,Au.isH265VideoFrame(e));n+=r.byteLength,t.repeatCount--,s.push(r)}this.seiList=r.filter(e=>e.repeatCount>0);let a=new Uint8Array(n+e.data.byteLength);a.set(new Uint8Array(e.data));let o=e.data.byteLength;s.forEach(e=>{a.set(e,o),o+=e.byteLength}),e.data=a.buffer,t.enqueue(e)}pushSEI(e){this.seiList.push(e)}revokeSEI(e){let t=this.seiList.findIndex(t=>t.uuid===e);return -1!==t&&(this.seiList.splice(t,1),!0)}}"u">typeof self&&"DedicatedWorkerGlobalScope"===self.constructor.name&&self.addEventListener("rtctransform",e=>{let{transformer:t}=e,{maxSEICount:i}=t.options,r=new Am({maxSEICount:i}),s=new TransformStream({transform:r.sendSEITransform.bind(r)});self.addEventListener("message",e=>{let{data:t}=e,{type:i,content:s}=t;if("push"===i)r.pushSEI(s);else if("revoke"===i){let e=r.revokeSEI(s);return self.postMessage({type:"revoke-ack",content:{uuid:s,isNotSend:e}})}}),t.readable.pipeThrough(s).pipeTo(t.writable)});class Af extends C5{constructor(e){super(),dY(this,"uuid",hK()),dY(this,"isScreen",!1),dY(this,"audioMid",void 0),dY(this,"videoMid",void 0),dY(this,"audioMLine",void 0),dY(this,"videoMLine",void 0),dY(this,"videoTransceiver",void 0),dY(this,"audioTransceiver",void 0),dY(this,"vendorHandler",void 0),dY(this,"vendorCode",0),dY(this,"engineId",void 0),dY(this,"logger",void 0),dY(this,"__seiHelper",wk),dY(this,"logName","StreamBase"),dY(this,"isPublicStream",!1),this._ctx=e,this.engineId=e.id,this.logger=new bn(this.constructor.name,2,e.id)}stopReport(e){this.statsReport.stopReport(e)}destroy(){var e,t;delete this.audioMid,delete this.videoMid,this.statsReport.destroy(),null==(e=this.observer)||e.reset(),delete this.videoTransceiver,delete this.audioTransceiver,null==(t=this.vendorHandler)||t.destroy(),this.vendorCode=0,delete this.vendorHandler}}var Ag=((eb=Ag||{})[eb.INIT=0]="INIT",eb[eb.SUB_ING=1]="SUB_ING",eb[eb.SUB_ED=2]="SUB_ED",eb);class A_ extends Af{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Nv.STREAM_INDEX_MAIN;super(e),dY(this,"id",void 0),dY(this,"stream",void 0),dY(this,"streamId",void 0),dY(this,"videoTrack",void 0),dY(this,"audioTrack",void 0),dY(this,"subVideoDescriptions",[]),dY(this,"observer",void 0),dY(this,"statsReport",void 0),dY(this,"pubAudio",!1),dY(this,"pubVideo",!1),dY(this,"blackFrameRenderInterval",void 0),dY(this,"blackFrameLifetimeInterval",void 0),dY(this,"pubAttributes",void 0),dY(this,"pcSessionId",void 0),dY(this,"maxSeiCount",1),dY(this,"preReports",{audio:{},video:{}}),dY(this,"remoteSdp",void 0),dY(this,"currentVideoCodec",void 0),dY(this,"_changeCodecs",[]),dY(this,"_videoCaps",[]),dY(this,"_sendSEIHandler",void 0),dY(this,"_trackMatchingTimer",void 0),dY(this,"logName","LocalStream"),this.stream=new MediaStream,this.id=hK(),this.pubAttributes={localaudio:!1,localvideo:!1,videostream:!1,audiostream:!1,extvideo:!1,extaudio:!1,videoDescriptions:[],videoType:wa.NORMAL},this.isScreen=t===Nv.STREAM_INDEX_SCREEN,this.statsReport=new Np(e,this);let i=S2("SEI_COUNT_FPS");"number"==typeof i&&i<=10&&(this.maxSeiCount=i),this._trackMatchingTimer=setInterval(this._checkTrackMatching.bind(this),5e3)}get enableSimulcast(){return!this.isScreen&&this._ctx.videoProfile.getSimulcastMode()}get videoEncodeConfig(){return this.isScreen?[this._ctx.videoProfile.getScreenEncodeConfig()]:this._ctx.videoProfile.getVideoEncodeConfig()}get audioHasCapture(){return this.pubAttributes.localaudio}get audioHasPublish(){return this.pubAttributes.audiostream}get videoHasCapture(){return this.pubAttributes.localvideo}get videoHasPublish(){return this.pubAttributes.videostream}get isEmptyStream(){return!this.audioTrack&&!this.videoTrack}get initStreamId(){return this.stream.id}async getSelectedCodec(){var e;let t=this._changeCodecs.length>0?this._changeCodecs:this._videoCaps.length>0?this._videoCaps:await Sb(),i=this._ctx.videoProfile.getPreferCodec(this.isScreen),r=this.isScreen?this._ctx.targetScreenCodec:this._ctx.targetCodec;if(i&&i!==hh.AUTO){if(i===hh.H264&&t.includes(Sy.H264))return Sy.H264;if(i===hh.VP8&&t.includes(Sy.VP8))return Sy.VP8;if(i===hh.ByteVC1&&t.includes(Sy.ByteVC1))return Sy.ByteVC1}if(null!=(e=this._ctx.serverConfig)&&e.videoCodec&&t.includes(this._ctx.serverConfig.videoCodec))return this._ctx.serverConfig.videoCodec;if(i===hh.AUTO&&t.length>0)return t[0];if(r&&t.includes(r))return r;if(t.includes(Sy.H264))return Sy.H264;if(t.includes(Sy.VP8))return Sy.VP8;throw Error("no available codec")}startReport(e,t){this.statsReport.setLocalStreamStatsEvtInterval(e,t)}getLocalStreamStats(){return this.statsReport.getLocalStats()}initVideoEncodedTransform(){if(S2("DISABLE_ENCODED_TRANSFORM"))return void this.logger.warn("initVideoEncodedTransform","DISABLE_ENCODED_TRANSFORM");if(!this.videoTransceiver||!this.videoTransceiver.sender)return void this.logger.warn("initVideoEncodedTransform","no sender found when trying to bind encodedTransform");let{sender:e}=this.videoTransceiver;if(this._ctx.pcKillSwitch.ctor_encodedinsetablestream_add&&SL()){let{readable:t,writable:i}=e.createEncodedStreams();if(window.__createDecodeError__)t.pipeThrough(new TransformStream({transform:(e,t)=>{let i=new DataView(e.data,16);i.setInt16(4,10),i.setInt16(11,20),t.enqueue(e)}})).pipeTo(i);else{let e=new Am({maxSEICount:this.maxSeiCount}),r=new TransformStream({transform:e.sendSEITransform.bind(e)});t.pipeThrough(r).pipeTo(i),this._sendSEIHandler=e}}else if(Sj()){let e=new Ad;this.videoTransceiver.sender.transform=new RTCRtpScriptTransform(e,{maxSEICount:this.maxSeiCount}),this._sendSEIHandler={pushSEI:t=>{e.postMessage({type:"push",content:t},[t.content.buffer])},revokeSEI:async t=>(e.postMessage({type:"revoke",content:t}),new Promise(i=>{e.addEventListener("message",e=>{let{data:r}=e,{type:s,content:n}=r,{uuid:a,isNotSend:o}=n;"revoke-ack"===s&&a===t&&i(o)})}))}}}initAudioEncodedTransform(){if(S2("DISABLE_ENCODED_TRANSFORM"))return void this.logger.warn("initAudioEncodedTransform","DISABLE_ENCODED_TRANSFORM");if(!this.audioTransceiver||!this.audioTransceiver.sender)return void this.logger.warn("initAudioEncodedTransform","no sender found when trying to bind encodedTransform");if(!this._ctx.pcKillSwitch.ctor_encodedinsetablestream_add||!SL())return void this.logger.warn("initAudioEncodedTransform","legacy EncodedTransform is not supported");let{sender:e}=this.audioTransceiver,{readable:t,writable:i}=e.createEncodedStreams();t.pipeThrough(new TransformStream({transform:(e,t)=>{t.enqueue(e)}})).pipeTo(i)}clean(){v$(this.engineId,"localstream_clean","".concat(Error().stack),0,this.streamId||""),super.destroy(),this.subVideoDescriptions=[],clearTimeout(this.blackFrameLifetimeInterval),clearInterval(this.blackFrameRenderInterval)}switchTrackEnableState(e,t){var i;let r;"audio"===e?r=this.audioTrack:"video"===e&&(r=this.videoTrack);let s=null==(i=r)?void 0:i.mediaTrack;return!(!s||(null==s?void 0:s.enabled)===t)&&(s.enabled=t,!0)}resetStream(){this.stream=new MediaStream}genBlackFrame(){var e,t;this.logger.info("genBlackFrame()");let i=null!=(e=this.videoEncodeConfig[0])&&e.frameRate?xe(null==(t=this.videoEncodeConfig[0])?void 0:t.frameRate):15,r=Math.ceil(1e3/i),s=document.createElement("canvas"),n=s.getContext("2d");s.width=16,s.height=16;let a=e=>{e.fillRect(0,0,16,16)};return n&&(n.fillStyle="#000",a(n),this.blackFrameRenderInterval=window.setInterval(()=>{a(n)},r),this.refreshBlackFrameLifetime()),s.captureStream(i).getVideoTracks()[0]}stopBlackFrame(){this.logger.info("stopBlackFrame()"),clearTimeout(this.blackFrameLifetimeInterval),clearInterval(this.blackFrameRenderInterval),delete this.blackFrameRenderInterval}refreshBlackFrameLifetime(){this.logger.info("refreshBlackFrameLifetime()"),this.blackFrameRenderInterval&&(clearTimeout(this.blackFrameLifetimeInterval),this.blackFrameLifetimeInterval=setTimeout(()=>{clearInterval(this.blackFrameRenderInterval),delete this.blackFrameRenderInterval,this.emit("black-frame-ended")},SQ.BLACK_FRAME_LIFETIME))}setChangeCodecs(e){this._changeCodecs=e}setVideoCaps(e){if(!e)return;let t=e.split(",").map(e=>{let t=u9(e).call(e).toUpperCase();return({H264:Sy.H264,VP8:Sy.VP8,BYTEVC1:Sy.ByteVC1})[t]||null}).filter(e=>null!==e);this._videoCaps=t}sendSEIMessage(e){var t;this.logger.info("sendSEIMessage"),null==(t=this._sendSEIHandler)||t.pushSEI(e)}async revokeSEIMessage(e){var t;return this.logger.info("revokeSEIMessage"),this._sendSEIHandler?null==(t=this._sendSEIHandler)?void 0:t.revokeSEI(e):(this.logger.warn("revokeSEIMessage","no sei handler found"),!1)}destroy(){clearInterval(this._trackMatchingTimer),super.removeAllListeners(),super.destroy()}_checkTrackMatching(){var e,t,i,r,s,n;let a=null==(e=this.audioTrack)?void 0:e.preprocessingTrack.id,o=null==(t=this.videoTrack)?void 0:t.preprocessingTrack.id,l=null==(i=this.audioTransceiver)||null==(i=i.sender.track)?void 0:i.id,c=null==(r=this.videoTransceiver)||null==(r=r.sender.track)?void 0:r.id;this.pubAudio&&a!==l&&(this.logger.error("_checkTrackMatching","audio track id: ".concat(a," not matching transceiver track id ").concat(l,", streamId: ").concat(this.streamId)),null==(s=this._ctx.monitor)||s.report("rtc_error",{message:"audio track id: ".concat(a," not matching transceiver track id ").concat(l),error_code:-1,stream_id:this.streamId})),this.pubVideo&&o!==c&&(this.logger.error("_checkTrackMatching","video track id: ".concat(o," not matching transceiver track id ").concat(c,", streamId: ").concat(this.streamId)),null==(n=this._ctx.monitor)||n.report("rtc_error",{message:"video track id: ".concat(o," not matching transceiver track id ").concat(c),error_code:-1,stream_id:this.streamId}))}}class Ay extends Af{constructor(e,t,i,r,s,n){super(e),dY(this,"streamId",void 0),dY(this,"userId",void 0),dY(this,"isPublic",void 0),dY(this,"hasVideo",void 0),dY(this,"hasAudio",void 0),dY(this,"_attributes",void 0),dY(this,"streamState",void 0),dY(this,"removeTrack",!1),dY(this,"observer",void 0),dY(this,"statsReport",void 0),dY(this,"subVideo",void 0),dY(this,"subAudio",void 0),dY(this,"subMediaType",void 0),dY(this,"subLayer",void 0),dY(this,"_sequenceId",void 0),dY(this,"stream",void 0),dY(this,"videoTrack",void 0),dY(this,"audioTrack",void 0),dY(this,"recordedVideoFrames",void 0),dY(this,"stillExist",void 0),dY(this,"originalMediaType",void 0),dY(this,"priority",void 0),dY(this,"remoteSessionId",""),dY(this,"originalStreamIndex",0),dY(this,"virtual",void 0),dY(this,"pcSessionId",void 0),dY(this,"_virtualOccupy",void 0),dY(this,"_videoStallObserver",void 0),dY(this,"_audioStallObserver",void 0),dY(this,"preReports",{audio:{},video:{}}),dY(this,"_installInfo",void 0),dY(this,"_seiWorkerHandler",void 0),this.virtual=!1,this._virtualOccupy=!1,this.userId=t,this.isScreen=r,this.isPublic=s,this.streamId=i,this.logName="RemoteStream-".concat(i),this.hasAudio=n.audiostream&&n.localaudio,this.hasVideo=n.videostream&&n.localvideo,this._attributes=n,this.vendorCode=(null==n?void 0:n.vendorCode)||0,this.subVideo=!1,this.subAudio=!1,this._sequenceId=0,this.subMediaType=Sf.NONE,this.subLayer={spatialLayer:0,spatialSubLayer:-1},this.streamState=0,this.statsReport=new Nm(e,this),this.enableVendorMode&&(this.pcSessionId=hK())}get vendor(){return this._attributes.vendorCode}get audioHasCapture(){return this._attributes.localaudio}get audioHasPublish(){return this._attributes.audiostream}get videoHasCapture(){return this._attributes.localvideo}get videoHasPublish(){return this._attributes.videostream}get sequenceId(){return this._sequenceId||-1}set sequenceId(e){"number"==typeof e&&(this._sequenceId=e)}get enableVendorMode(){return"number"==typeof this.attributes.vendorCode&&0!==this.attributes.vendorCode}get hasSubscribed(){return 2===this.streamState}get attributes(){var e;return null!=(e=this._attributes.alphaInfo)&&e.enableAlpha?mr(mr({},this._attributes),{},{videoDescriptions:this._attributes.videoDescriptions.map(e=>{var t,i,r,s;return mr(mr({},e),{},{height:null!=(t=null==(i=this._attributes.alphaInfo)?void 0:i.alphaHeight)?t:e.height/2,width:null!=(r=null==(s=this._attributes.alphaInfo)?void 0:s.alphaWidth)?r:e.width})})}):this._attributes}set attributes(e){this.hasVideo=e.localvideo&&e.videostream,this.hasAudio=e.localaudio&&e.audiostream,this._attributes=e,this.vendorCode=e.vendorCode||0,e.alphaInfo&&this.videoTrack&&this.videoTrack.setAlphaInfo(e.alphaInfo)}get virtualOccupy(){return this._virtualOccupy}set virtualOccupy(e){var t,i;this._virtualOccupy&&!e?null==(t=this.observer)||t.setPushTrack(!1):!this._virtualOccupy&&e&&(null==(i=this.observer)||i.setPushTrack(!0)),this._virtualOccupy=e}startReport(e,t){this.statsReport.setRemoteStreamStatsEvtInterval(e,t)}getRemoteStreamStats(){return this.statsReport.getRemoteStreamStats()}initVideoEncodedTransform(){if(S2("DISABLE_ENCODED_TRANSFORM"))this.logger.warn("initVideoEncodedTransform","DISABLE_ENCODED_TRANSFORM");else if(this.videoTransceiver&&this.videoTransceiver.receiver){var e,t;if(this._ctx.pcKillSwitch.ctor_encodedinsetablestream_add&&SL()){null==(e=this._ctx.monitor)||e.report("rtc_invoke_status",{sdk_api_name:"initVideoEncodedTransform",message:"using legacy EncodedTransform",error_code:0,stream_id:this.streamId,elapse:0});let{receiver:t}=this.videoTransceiver,{readable:i,writable:r}=t.createEncodedStreams();i.pipeThrough(Ap({postMessage:e=>{this.safeEmit("onSEIMessage",e.payload)},skipFilter:!!S2("SKIP_SEI_FILTER")})).pipeTo(r)}else if(Sj()){null==(t=this._ctx.monitor)||t.report("rtc_invoke_status",{sdk_api_name:"initVideoEncodedTransform",message:"using standard EncodedTransform",error_code:0,stream_id:this.streamId,elapse:0});let e=this._ctx.receiveSEIWorker;this.videoTransceiver.receiver.transform=new RTCRtpScriptTransform(e,{streamId:this.streamId,skipFilter:!!S2("SKIP_SEI_FILTER")}),this._seiWorkerHandler=e=>{e.data.streamId===this.streamId&&this.safeEmit("onSEIMessage",e.data.msg.payload)},e.addEventListener("message",this._seiWorkerHandler)}}else this.logger.warn("no receiver found when trying to bind encodedTransform")}initAudioEncodedTransform(){if(S2("DISABLE_ENCODED_TRANSFORM"))return void this.logger.warn("initVideoEncodedTransform","DISABLE_ENCODED_TRANSFORM");if(!this.audioTransceiver||!this.audioTransceiver.receiver)return void this.logger.warn("no receiver found when trying to bind encodedTransform");if(!this._ctx.pcKillSwitch.ctor_encodedinsetablestream_add||!SL())return void this.logger.warn("legacy EncodedTransform is not supported");let{receiver:e}=this.audioTransceiver,{readable:t,writable:i}=e.createEncodedStreams();t.pipeThrough(new TransformStream({transform:(e,t)=>{e.data.byteLength<=1e3?t.enqueue(e):this.logger.print("too large audio frame",e.data.byteLength)}})).pipeTo(i)}ontrack(e){var t,i;try{v$(this.engineId,"Stream.ontrack",JSON.stringify({uid:this.userId,streamId:this.streamId,streams:e.streams.reduce((e,t)=>e+h$(t),""),transceiver:h0(e.transceiver),track:hJ(e.track)}),0,this.streamId||"")}catch(e){}if(this.enableVendorMode||null!=(t=e.streams)&&null!=(t=t[0])&&null!=(t=t.id)&&t.includes(this.streamId)){let{track:t}=e;"video"===(null==t?void 0:t.kind)?this._setVideoTrack(t):"audio"===(null==(i=e.track)?void 0:i.kind)&&this._setAudioTrack(t),this._setStream(e.streams[0])}this.safeEmit("ontrack",e)}startVideoStallObserve(e){this.logger.info("startVideoStallObserve","invoke",e.playerId),this._videoStallObserver||(this._videoStallObserver=new Nf(this.isScreen,this.engineId)),this._videoStallObserver.start(e)}stopVideoStallObserve(){var e;this.logger.info("stopVideoStallObserve","invoke"),null==(e=this._videoStallObserver)||e.stop()}updateVideoStallInfo(e,t,i){var r,s;let n;if(i?(n=null==(r=this._videoStallObserver)?void 0:r.getStallInfo({interval:e.stats_interval||0,bitrate:e.bitrate,frameRateDecoded:e.frame_rate_decoded,frameRateReceived:e.frame_rate_received}),this._installInfo=n):n=this._installInfo,n){let r=Math.min(n.report.stallDuration,e.stats_interval||0);if(e.play_time=n.pts,e.stall_count=n.report.stallCount,e.is_screen?e.stuck_length=r:e.stall_duration=r,e.pause_duration=Math.min(r,n.pauseDuration),t.stallCount=n.callback.stallCount,t.stallDuration=n.callback.stallDuration,n.stall100ms){let i=Math.min(n.stall100ms.duration,e.stats_interval||0);e.stall_duration_100ms=i,e.stall_count_100ms=n.stall100ms.count,t.stallDuration100MS=i,t.stallCount100MS=n.stall100ms.count}(0!==n.report.stallCount||0!==n.report.stallDuration)&&this.logger.print("video_stall_report",this.userId,null==(s=this.videoTrack)?void 0:s.observingPlayerId,JSON.stringify(n.report),i)}}getVideoRenderInfo(){var e;return(null==(e=this._videoStallObserver)?void 0:e.getRecentRenderInfo4Report())||{}}stopAudioStallObserve(){var e;this.logger.info("stopAudioStallObserve","invoke"),null==(e=this._audioStallObserver)||e.stop()}async updateAudioStallInfo(e,t,i){if(this._audioStallObserver){let i=await this._audioStallObserver.getAudioStallInfo();return e.concealedSamples===e.interval_concealed_samples&&e.totalSamplesReceived===e.interval_samples_received?(e.stall_count=0,e.stall_duration=0,t.stallCount=0,t.stallDuration=0):(e.stall_count=i.report.stall_count,e.stall_duration=i.report.stall_duration,t.stallCount=i.callback.stall_count,t.stallDuration=i.callback.stall_duration),0===i.report.stall_count&&0===i.report.stall_duration||this.logger.print("audio_stall_report",this.userId,JSON.stringify(mr(mr({},i.report),{},{callbackList:i.callback.list}))),i.extra}this._audioStallObserver=new Ng(this),this._audioStallObserver.start(i.concealedSamples,i.totalSamplesReceived),this.logger.print("startAduioObserver","start")}resetStream(){var e,t;null==(e=this.audioTransceiver)||e.stop(),null==(t=this.videoTransceiver)||t.stop(),this.audioTransceiver=void 0,this.videoTransceiver=void 0}clean(){var e,t;this.logger.info("clean","exec stream.clean ".concat(this.streamId," ").concat(this.userId)),v$(this.engineId,"remotestream_clean","".concat(Error().stack),0,this.streamId),super.destroy(),this.subAudio=!1,this.subVideo=!1,this.sequenceId=0,null==(e=this.videoTrack)||e.destroy(),this.videoTrack=void 0,null==(t=this.audioTrack)||t.destroy(),this.audioTrack=void 0,this.stream=void 0,this.recordedVideoFrames=void 0,delete this.priority,this._seiWorkerHandler&&this._ctx.receiveSEIWorker.removeEventListener("message",this._seiWorkerHandler)}destroy(){var e,t;this.clean(),null==(e=this._audioStallObserver)||e.destroy(),delete this._audioStallObserver,null==(t=this._videoStallObserver)||t.destroy(),delete this._videoStallObserver,this.attributes={audiostream:!1,localaudio:!1,localvideo:!1,videostream:!1,extvideo:!1,extaudio:!1,videoDescriptions:[]},super.removeAllListeners()}resetHasSubscribed(){this.streamState=0}_setStream(e){this.stream=e,e.onaddtrack=e=>{"video"===e.track.kind?this._setVideoTrack(e.track):"audio"===e.track.kind&&this._setAudioTrack(e.track)}}_setAudioTrack(e){var t,i;if((null==(t=this.audioTrack)||null==(t=t.preprocessingTrack)?void 0:t.id)!==e.id){this.audioTrack=Ar(this._ctx,e,{streamIndex:this.isPublic?wc.PUBLIC:this.virtual?wc.VIRTUAL:this.isScreen?wc.SCREEN:wc.MAIN,streamUserId:this.userId});let t=this._ctx._remoteAudioTrackDumpConfig[this.isScreen?Nv.STREAM_INDEX_SCREEN:Nv.STREAM_INDEX_MAIN].get(this.userId);null!=t&&t.callback&&null!=t&&t.frameSize&&(null==(i=this.audioTrack)||i.setDataFetcher(t.frameSize,e=>{var i;this.audioHasCapture&&this.audioHasPublish&&(null==(i=t.callback)||i.call(t,e))})),this.emit("ontrack",this.audioTrack)}}_setVideoTrack(e){var t;(null==(t=this.videoTrack)||null==(t=t.preprocessingTrack)?void 0:t.id)!==e.id&&(this.videoTrack=Ai(this._ctx,e,this,{streamIndex:this.isPublic?wc.PUBLIC:this.virtual?wc.VIRTUAL:this.isScreen?wc.SCREEN:wc.MAIN,streamUserId:this.userId}),this.emit("ontrack",this.videoTrack))}}var Av=((eS=Av||{}).RESUBSCRIBE="resubscribe",eS.STREAM_FAILED="stream_failed",eS.SUBSCRIBE_PUSH_TRACK="subscribe_push_track",eS.REMOVE_PUSH_TRACK="remove_push_track",eS.VIDEO_FIRST_FRAME="video_first_frame",eS.ON_USER_PUBLISH_STATE_CHANGE="on_user_publish_state_change",eS.ON_USER_START_AUDIO_CAPTURE="on_user_start_audio_capture",eS.ON_USER_STOP_AUDIO_CAPTURE="on_user_stop_audio_capture",eS.ON_USER_START_VIDEO_CAPTURE="on_user_start_video_capture",eS.ON_USER_STOP_VIDEO_CAPTURE="on_user_stop_video_capture",eS.ON_SEI_MESSAGED_RECEIVED="on_sei_messaged_received",eS.ON_PUBLISH_RESULT="on_publish_result",eS.ON_SUBSCRIBE_RESULT="ON_SUBSCRIBE_RESULT",eS.ON_UPDATE_TOKEN_SUCCESS="on_update_token_success",eS.ON_REMOTE_STREAM_STATS="ON_REMOTE_STREAM_STATS",eS.ON_LOCAL_STREAM_STATS="ON_LOCAL_STREAM_STATS",eS.ON_USER_LEAVE="on_user_leave",eS.ON_ROOM_ERROR="on_room_error",eS.ON_NETWORK_QUALITY="on_network_quality",eS.ON_SIMULCAST_SUBSCRIBE_FALLBACK="on_simulcast_subscribe_fallback",eS.ON_REMOTE_VIDEO_SIZE_CHANGED="on_remote_video_size_changed",eS.ON_SUBTITLE_STATE_CHANGED="ON_SUBTITLE_STATE_CHANGED",eS.ON_SUBTITLE_MESSAGE_RECEIVED="ON_SUBTITLE_MESSAGE_RECEIVED",eS.ON_VIDEO_STREAM_BANNED="ON_VIDEO_STREAM_BANNED",eS.ON_AUDIO_STREAM_BANNED="ON_AUDIO_STREAM_BANNED",eS.ON_FORWARD_STREAM_ERROR="ON_FORWARD_STREAM_ERROR",eS.ON_REJOIN_WITH_TCP="ON_REJOIN_WITH_TCP",eS.PUB_RETRY="PUB_RETRY",eS.SUB_RETRY="SUB_RETRY",eS.VIDEO_TYPE_CHANGE="VIDEO_TYPE_CHANGE",eS.JOIN_SUCCESS="JOIN_SUCCESS",eS.UPDATE_PUBLISH="UPDATE_PUBLISH",eS),Ab=((ek=Ab||{})[ek.START=1]="START",ek[ek.START_SUCCESS=2]="START_SUCCESS",ek[ek.START_FAILED=3]="START_FAILED",ek[ek.UPDATE=4]="UPDATE",ek[ek.UPDATE_SUCCESS=5]="UPDATE_SUCCESS",ek[ek.UPDATE_FAILED=6]="UPDATE_FAILED",ek[ek.STOP=7]="STOP",ek[ek.STOP_SUCCESS=8]="STOP_SUCCESS",ek[ek.STOP_FAILED=9]="STOP_FAILED",ek),AS=((ex=AS||{})[ex.PUB=0]="PUB",ex[ex.UNPUB=1]="UNPUB",ex);let Ak=async(e,t,i,r)=>{try{var s,n,a,o,l,c,d;let u="",h=-1,p="video"===t?null==i||null==(s=i.videoTrack)?void 0:s.originTrack:null==i||null==(n=i.audioTrack)?void 0:n.originTrack,m="video"===t?null==i||null==(a=i.videoTransceiver)?void 0:a.receiver:null==i||null==(o=i.audioTransceiver)?void 0:o.receiver;try{let i,r=await (null==(l=e.peerConnection)?void 0:l.getStatsWithLowFrequency(p,!0,m)),s=(r||[]).find(e=>"inbound-rtp"===e.type),n=await (null==m?void 0:m.getStats()),a=[];null==n||n.forEach(e=>a.push(e.type)),0===(null==r?void 0:r.length)&&0!==a.length&&(i=await (null==(d=e.peerConnection)?void 0:d.getStatsWithLowFrequency(void 0,void 0,m))),u=JSON.stringify({type:t,reports:r.map(e=>e.type),reports2:a,pc:(null==(c=e.peerConnection)?void 0:c.getOriginRTCPeerConnection())||null,track:(null==p?void 0:p.id)||null,bytes:null==s?void 0:s.bytesReceived,framesReceived:null==s?void 0:s.framesReceived,packetsReceived:null==s?void 0:s.packetsReceived,allReports:i})}catch(e){h=-999,u=e.mseeage||JSON.stringify(e)}null==r||r.report("rtc_invoke_status",{sdk_api_name:"first_frame_recv_timeout",error_code:h,message:u,stream_id:(null==i?void 0:i.streamId)||"",stream_user_id:null==i?void 0:i.userId,elapse:0})}catch(e){}},Ax=async(e,t,i,r)=>{try{var s,n,a,o,l,c,d;let u="",h=-1,p="video"===t?null==i||null==(s=i.videoTrack)?void 0:s.preprocessingTrack:null==i||null==(n=i.audioTrack)?void 0:n.preprocessingTrack,m="video"===t?null==i||null==(a=i.videoTransceiver)?void 0:a.sender:null==i||null==(o=i.audioTransceiver)?void 0:o.sender;try{let i,r=await (null==(l=e.peerConnection)?void 0:l.getStatsWithLowFrequency(p,!0,m)),s=(r||[]).find(e=>"outbound-rtp"===e.type),n=await (null==m?void 0:m.getStats()),a=[];null==n||n.forEach(e=>a.push(e.type)),0===r.length&&0!==a.length&&(i=await (null==(d=e.peerConnection)?void 0:d.getStatsWithLowFrequency(void 0,void 0,m))),u=JSON.stringify({type:t,reports:r.map(e=>e.type),reports2:a,pc:(null==(c=e.peerConnection)?void 0:c.getOriginRTCPeerConnection())||null,track:(null==p?void 0:p.id)||null,bytes:null==s?void 0:s.bytesSent,framesSent:null==s?void 0:s.framesSent,packetsSent:null==s?void 0:s.packetsSent,allReports:i})}catch(e){h=-999,u=e.mseeage||JSON.stringify(e)}null==r||r.report("rtc_invoke_status",{sdk_api_name:"first_frame_send_timeout",error_code:h,message:u,stream_id:(null==i?void 0:i.streamId)||"",stream_user_id:null==i?void 0:i.userId,elapse:0})}catch(e){}};class AC extends C2.EventEmitter{constructor(e,t){super(),dY(this,"_audioEventSessionId",kJ()),dY(this,"_videoEventSessionId",kJ()),dY(this,"_stream",void 0),dY(this,"_firstAudioFrameTimer",void 0),dY(this,"_firstVideoFrameTimer",void 0),dY(this,"_transportDelayInterval",void 0),dY(this,"_transportDelay",void 0),dY(this,"_firstVideoFrameInterval",void 0),dY(this,"_firstAudioFrameInterval",void 0),dY(this,"_isScreen",!1),dY(this,"_audioFirstFrameState",0),dY(this,"_videoFirstFrameState",0),dY(this,"_timeout",1e4),dY(this,"_currentAudioRecv",{startTime:0,eventSessionId:0,type:"login"}),dY(this,"_currentVideoRecv",{startTime:0,eventSessionId:0,type:"login"}),dY(this,"_login",!1),dY(this,"_unMuteAudio",!1),dY(this,"_enableAudio",!1),dY(this,"_unMuteVideo",!1),dY(this,"_enableVideo",!1),dY(this,"_remoteUnmuteAudio",!1),dY(this,"_remoteUnmuteVideo",!1),dY(this,"_audioExternal",!1),dY(this,"_pushAudio",!1),dY(this,"_videoExternal",!1),dY(this,"_pushVideo",!1),dY(this,"_autoSubscribeVideo",!1),dY(this,"_autoSubscribeAudio",!1),dY(this,"_autoSubscribe",!1),dY(this,"_publishVideo",!1),dY(this,"_publishAudio",!1),dY(this,"_subscribeAudio",!1),dY(this,"_subscribeVideo",!1),dY(this,"_subscribe",!1),dY(this,"_pushTrack",!1),dY(this,"_multiChatMode",!1),dY(this,"_monitor",void 0),dY(this,"logger",void 0),this._ctx=e,this._stream=t,this.getTransportDelay(),this._monitor=vH(t.engineId),this.logger=new bn("RecvFrameObserver",0,t.engineId)}async beginRecvFrame(e,t){var i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v;await this.getTransportDelay();let b=this._transportDelay,S=!0;if(["login","unmute","subscribe","push_track"].indexOf(t)>=0&&(b=0,S=!1),"audio"===e){S||this._audioEventSessionId++,this._currentAudioRecv={startTime:Date.now(),eventSessionId:this._audioEventSessionId,type:t};let u={media_type:e,event_type:"begin_recv",type:t,is_screen:!(null==(i=this._stream)||!i.isScreen),start:null==(r=this._currentAudioRecv)?void 0:r.startTime,event_session_id:this._audioEventSessionId,stream_user_id:null==(s=this._stream)?void 0:s.userId,transport_delay:b,vendor_mode:(null==(n=this._stream)?void 0:n.vendorCode)||0,pc_session_id:(null==(a=this._stream)?void 0:a.pcSessionId)||(null==(o=this._ctx.peerConnection)?void 0:o.getConnectionId()),remote_rtc_session_id:null==(l=this._stream)?void 0:l.remoteSessionId,is_public_stream:null==(c=this._stream)?void 0:c.isPublicStream};this._firstAudioFrameTimer&&window.clearTimeout(this._firstAudioFrameTimer),this._firstAudioFrameTimer=setTimeout(()=>{Ak(this._ctx,"audio",this._stream,this._monitor),this.stopRecvFrame("audio","timeout"),this._firstAudioFrameInterval&&window.clearInterval(this._firstAudioFrameInterval)},this._timeout),this.logger.info("rtcFirstFrameRecv",JSON.stringify(u)),null==(d=this._monitor)||d.report("rtc_first_frame",u),this._watchForFirstAudioFrameRecv(),this._audioFirstFrameState=1,this._login=!0,this._unMuteAudio=!0,this._enableAudio=!0,this._remoteUnmuteAudio=!0}else if("video"===e){S||this._videoEventSessionId++,this._currentVideoRecv={startTime:Date.now(),eventSessionId:this._videoEventSessionId,type:t};let i={media_type:e,event_type:"begin_recv",type:t,is_screen:!(null==(u=this._stream)||!u.isScreen),start:null==(h=this._currentVideoRecv)?void 0:h.startTime,event_session_id:this._videoEventSessionId,stream_user_id:null==(p=this._stream)?void 0:p.userId,transport_delay:b,vendor_mode:(null==(m=this._stream)?void 0:m.vendorCode)||0,pc_session_id:(null==(f=this._stream)?void 0:f.pcSessionId)||(null==(g=this._ctx.peerConnection)?void 0:g.getConnectionId()),remote_rtc_session_id:null==(_=this._stream)?void 0:_.remoteSessionId,is_public_stream:null==(y=this._stream)?void 0:y.isPublicStream};this._firstVideoFrameTimer&&window.clearTimeout(this._firstVideoFrameTimer),this._firstVideoFrameTimer=setTimeout(()=>{Ak(this._ctx,"video",this._stream,this._monitor),this.stopRecvFrame("video","timeout"),this._firstVideoFrameInterval&&window.clearInterval(this._firstVideoFrameInterval)},this._timeout),this._watchForFirstVideoFrameRecv(),this.logger.info("rtcFirstFrameRecv",JSON.stringify(i)),null==(v=this._monitor)||v.report("rtc_first_frame",i),this._videoFirstFrameState=1,this._login=!0,this._unMuteVideo=!0,this._enableVideo=!0,this._remoteUnmuteVideo=!0}}stopRecvFrame(e,t){var i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S,k,x,C,w,E,T,I,R,N,A;if("audio"===e){if(1!==this._audioFirstFrameState)return;let h={event_type:"recv_end",media_type:e,is_screen:!(null==(i=this._stream)||!i.isScreen),start:null==(r=this._currentAudioRecv)?void 0:r.startTime,reason:t,result:!1,stream_user_id:null==(s=this._stream)?void 0:s.userId,event_session_id:this._audioEventSessionId,type:null==(n=this._currentAudioRecv)?void 0:n.type,vendor_mode:(null==(a=this._stream)?void 0:a.vendorCode)||0,pc_session_id:(null==(o=this._stream)?void 0:o.pcSessionId)||(null==(l=this._ctx.peerConnection)?void 0:l.getConnectionId()),remote_rtc_session_id:null==(c=this._stream)?void 0:c.remoteSessionId,is_public_stream:null==(d=this._stream)?void 0:d.isPublicStream};this._firstAudioFrameTimer&&window.clearTimeout(this._firstAudioFrameTimer),delete this._currentAudioRecv,this.logger.info("rtcFirstFrameRecv",JSON.stringify(h)),null==(u=this._monitor)||u.report("rtc_first_frame",h),this._audioFirstFrameState=2}else if("video"===e){if(1!==this._videoFirstFrameState)return;let i={event_type:"recv_end",media_type:e,is_screen:!(null==(h=this._stream)||!h.isScreen),start:null==(p=this._currentVideoRecv)?void 0:p.startTime,reason:t,result:!1,stream_user_id:null==(m=this._stream)?void 0:m.userId,event_session_id:this._videoEventSessionId,type:null==(f=this._currentVideoRecv)?void 0:f.type,vendor_mode:(null==(g=this._stream)?void 0:g.vendorCode)||0,pc_session_id:(null==(_=this._stream)?void 0:_.pcSessionId)||(null==(y=this._ctx.peerConnection)?void 0:y.getConnectionId()),remote_rtc_session_id:null==(v=this._stream)?void 0:v.remoteSessionId,codec:null==(b=this._stream)||null==(b=b.getRemoteStreamStats())||null==(b=b.videoStats)?void 0:b.codecType,stats_frame_size_width:null==(S=this._stream)||null==(S=S.getRemoteStreamStats())||null==(S=S.videoStats)?void 0:S.frame_size_width,stats_frame_size_height:null==(k=this._stream)||null==(k=k.getRemoteStreamStats())||null==(k=k.videoStats)?void 0:k.frame_size_height,stats_frame_rate_decode:null==(x=this._stream)||null==(x=x.getRemoteStreamStats())||null==(x=x.videoStats)?void 0:x.decoderOutputFrameRate,stats_frame_rate_receive:null==(C=this._stream)||null==(C=C.getRemoteStreamStats())||null==(C=C.videoStats)?void 0:C.receivedFrameRate,stats_frame_decoder_name:null==(w=this._stream)||null==(w=w.getRemoteStreamStats())||null==(w=w.videoStats)?void 0:w.decoderName,stats_gpu_url:SQ.GPU_URL||(null==(E=xh())?void 0:E.renderer),track_frame_size_width:null==(T=this._stream)||null==(T=T.videoTrack)||null==(T=T.originTrack.getSettings())?void 0:T.width,track_frame_size_height:null==(I=this._stream)||null==(I=I.videoTrack)||null==(I=I.originTrack.getSettings())?void 0:I.height,track_frame_rate:null==(R=this._stream)||null==(R=R.videoTrack)||null==(R=R.originTrack.getSettings())?void 0:R.frameRate,is_public_stream:null==(N=this._stream)?void 0:N.isPublicStream};this._firstVideoFrameTimer&&window.clearTimeout(this._firstVideoFrameTimer),delete this._currentVideoRecv,this.logger.info("rtcFirstFrameRecv",JSON.stringify(i)),null==(A=this._monitor)||A.report("rtc_first_frame",i),this._videoFirstFrameState=2,setTimeout(()=>{var i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S;let k={event_type:"recv_end",media_type:e,is_screen:!(null==(i=this._stream)||!i.isScreen),start:null==(r=this._currentVideoRecv)?void 0:r.startTime,reason:t,result:!1,stream_user_id:null==(s=this._stream)?void 0:s.userId,event_session_id:this._videoEventSessionId,type:null==(n=this._currentVideoRecv)?void 0:n.type,vendor_mode:(null==(a=this._stream)?void 0:a.vendorCode)||0,pc_session_id:(null==(o=this._stream)?void 0:o.pcSessionId)||(null==(l=this._ctx.peerConnection)?void 0:l.getConnectionId()),remote_rtc_session_id:null==(c=this._stream)?void 0:c.remoteSessionId,codec:null==(d=this._stream)||null==(d=d.getRemoteStreamStats())||null==(d=d.videoStats)?void 0:d.codecType,stats_frame_size_width:null==(u=this._stream)||null==(u=u.getRemoteStreamStats())||null==(u=u.videoStats)?void 0:u.frame_size_width,stats_frame_size_height:null==(h=this._stream)||null==(h=h.getRemoteStreamStats())||null==(h=h.videoStats)?void 0:h.frame_size_height,stats_frame_rate_decode:null==(p=this._stream)||null==(p=p.getRemoteStreamStats())||null==(p=p.videoStats)?void 0:p.decoderOutputFrameRate,stats_frame_rate_receive:null==(m=this._stream)||null==(m=m.getRemoteStreamStats())||null==(m=m.videoStats)?void 0:m.receivedFrameRate,stats_frame_decoder_name:null==(f=this._stream)||null==(f=f.getRemoteStreamStats())||null==(f=f.videoStats)?void 0:f.decoderName,stats_gpu_url:SQ.GPU_URL||(null==(g=xh())?void 0:g.renderer),track_frame_size_width:null==(_=this._stream)||null==(_=_.videoTrack)||null==(_=_.originTrack.getSettings())?void 0:_.width,track_frame_size_height:null==(y=this._stream)||null==(y=y.videoTrack)||null==(y=y.originTrack.getSettings())?void 0:y.height,track_frame_rate:null==(v=this._stream)||null==(v=v.videoTrack)||null==(v=v.originTrack.getSettings())?void 0:v.frameRate,is_public_stream:null==(b=this._stream)?void 0:b.isPublicStream};this.logger.info("rtc_first_frame_statistics",JSON.stringify(k)),null==(S=this._monitor)||S.report("rtc_first_frame_statistics",k)},8e3)}}async recvFrameFinish(e){var t,i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S,k,x,C,w,E;await this.getTransportDelay();let T=this._transportDelay;if("audio"===e){if(1!==this._audioFirstFrameState||!this._currentAudioRecv)return;let{type:c,startTime:d}=this._currentAudioRecv;["login","unmute","subscribe","push_track"].indexOf(c)>=0&&(T=0);let u={event_type:"recv_end",media_type:e,start:d,result:!0,is_screen:!(null==(t=this._stream)||!t.isScreen),stream_user_id:null==(i=this._stream)?void 0:i.userId,event_session_id:this._audioEventSessionId,type:c,transport_delay:T,vendor_mode:(null==(r=this._stream)?void 0:r.vendorCode)||0,pc_session_id:(null==(s=this._stream)?void 0:s.pcSessionId)||(null==(n=this._ctx.peerConnection)?void 0:n.getConnectionId()),remote_rtc_session_id:null==(a=this._stream)?void 0:a.remoteSessionId,is_public_stream:null==(o=this._stream)?void 0:o.isPublicStream};delete this._currentAudioRecv,this._firstAudioFrameTimer&&window.clearTimeout(this._firstAudioFrameTimer),this.logger.info("rtcFirstFrameRecv",JSON.stringify(u)),null==(l=this._monitor)||l.report("rtc_first_frame",u),this.emit("recvAudioFirstFrame"),this._audioFirstFrameState=3}else if("video"===e){if(1!==this._videoFirstFrameState||!this._currentVideoRecv)return;let{type:t,startTime:i}=this._currentVideoRecv;["login","unmute","subscribe","push_track"].indexOf(t)>=0&&(T=0);let r={event_type:"recv_end",media_type:e,is_screen:!(null==(c=this._stream)||!c.isScreen),start:i,result:!0,stream_user_id:null==(d=this._stream)?void 0:d.userId,event_session_id:this._videoEventSessionId,type:t,transport_delay:T,vendor_mode:(null==(u=this._stream)?void 0:u.vendorCode)||0,pc_session_id:(null==(h=this._stream)?void 0:h.pcSessionId)||(null==(p=this._ctx.peerConnection)?void 0:p.getConnectionId()),remote_rtc_session_id:null==(m=this._stream)?void 0:m.remoteSessionId,codec:null==(f=this._stream)||null==(f=f.getRemoteStreamStats())||null==(f=f.videoStats)?void 0:f.codecType,stats_frame_size_width:null==(g=this._stream)||null==(g=g.getRemoteStreamStats())||null==(g=g.videoStats)?void 0:g.frameSizeWidth,stats_frame_size_height:null==(_=this._stream)||null==(_=_.getRemoteStreamStats())||null==(_=_.videoStats)?void 0:_.frameSizeHeight,stats_frame_rate_decode:null==(y=this._stream)||null==(y=y.getRemoteStreamStats())||null==(y=y.videoStats)?void 0:y.decoderOutputFrameRate,stats_frame_rate_receive:null==(v=this._stream)||null==(v=v.getRemoteStreamStats())||null==(v=v.videoStats)?void 0:v.receivedFrameRate,stats_frame_decoder_name:null==(b=this._stream)||null==(b=b.getRemoteStreamStats())||null==(b=b.videoStats)?void 0:b.decoderName,stats_gpu_url:SQ.GPU_URL||(null==(S=xh())?void 0:S.renderer),track_frame_size_width:null==(k=this._stream)||null==(k=k.videoTrack)||null==(k=k.originTrack.getSettings())?void 0:k.width,track_frame_size_height:null==(x=this._stream)||null==(x=x.videoTrack)||null==(x=x.originTrack.getSettings())?void 0:x.height,track_frame_rate:null==(C=this._stream)||null==(C=C.videoTrack)||null==(C=C.originTrack.getSettings())?void 0:C.frameRate,is_public_stream:null==(w=this._stream)?void 0:w.isPublicStream};delete this._currentVideoRecv,this._firstVideoFrameTimer&&window.clearTimeout(this._firstVideoFrameTimer),this.logger.info("rtcFirstFrameRecv",JSON.stringify(r)),null==(E=this._monitor)||E.report("rtc_first_frame",r),this.emit("recvVideoFirstFrame"),this._videoFirstFrameState=3,setTimeout(()=>{var r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b;let S={event_type:"recv_end",media_type:e,is_screen:!(null==(r=this._stream)||!r.isScreen),start:i,result:!0,stream_user_id:null==(s=this._stream)?void 0:s.userId,event_session_id:this._videoEventSessionId,type:t,transport_delay:T,vendor_mode:(null==(n=this._stream)?void 0:n.vendorCode)||0,pc_session_id:(null==(a=this._stream)?void 0:a.pcSessionId)||(null==(o=this._ctx.peerConnection)?void 0:o.getConnectionId()),remote_rtc_session_id:null==(l=this._stream)?void 0:l.remoteSessionId,codec:null==(c=this._stream)||null==(c=c.getRemoteStreamStats())||null==(c=c.videoStats)?void 0:c.codecType,stats_frame_size_width:null==(d=this._stream)||null==(d=d.getRemoteStreamStats())||null==(d=d.videoStats)?void 0:d.frameSizeWidth,stats_frame_size_height:null==(u=this._stream)||null==(u=u.getRemoteStreamStats())||null==(u=u.videoStats)?void 0:u.frameSizeHeight,stats_frame_rate_decode:null==(h=this._stream)||null==(h=h.getRemoteStreamStats())||null==(h=h.videoStats)?void 0:h.decoderOutputFrameRate,stats_frame_rate_receive:null==(p=this._stream)||null==(p=p.getRemoteStreamStats())||null==(p=p.videoStats)?void 0:p.receivedFrameRate,stats_frame_decoder_name:null==(m=this._stream)||null==(m=m.getRemoteStreamStats())||null==(m=m.videoStats)?void 0:m.decoderName,stats_gpu_url:SQ.GPU_URL||(null==(f=xh())?void 0:f.renderer),track_frame_size_width:null==(g=this._stream)||null==(g=g.videoTrack)||null==(g=g.originTrack.getSettings())?void 0:g.width,track_frame_size_height:null==(_=this._stream)||null==(_=_.videoTrack)||null==(_=_.originTrack.getSettings())?void 0:_.height,track_frame_rate:null==(y=this._stream)||null==(y=y.videoTrack)||null==(y=y.originTrack.getSettings())?void 0:y.frameRate,is_public_stream:null==(v=this._stream)?void 0:v.isPublicStream};this.logger.info("rtc_first_frame_statistics",JSON.stringify(S)),null==(b=this._monitor)||b.report("rtc_first_frame_statistics",S)},8e3)}}setLogin(e){var t,i,r,s;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{audio:!0,video:!0};this._login!==e&&(this._login=e,e&&null!=(t=this._stream)&&t.hasAudio&&n.audio&&this.beginRecvFrame("audio","login"),e&&null!=(i=this._stream)&&i.hasVideo&&n.video&&this.beginRecvFrame("video","login"),!e&&null!=(r=this._stream)&&r.hasAudio&&this.stopRecvFrame("audio","leave_room"),!e&&null!=(s=this._stream)&&s.hasVideo&&this.stopRecvFrame("video","leave_room"))}setUnmuteAudio(e){var t,i,r;if(this._unMuteAudio===e)return;this._unMuteAudio=e;let s=!(null==(t=this._stream)||!t.hasAudio);null!=(i=this._stream)&&i.audioHasCapture&&null!=(r=this._stream)&&r.audioHasPublish&&(this._unMuteAudio&&s?this.beginRecvFrame("audio","unmute"):s&&this.stopRecvFrame("audio","mute"))}setRemoteUnmuteAudio(e){this._remoteUnmuteAudio!==e&&(this._remoteUnmuteAudio=e,this._remoteUnmuteAudio?this.beginRecvFrame("audio","remote_unmute"):this.stopRecvFrame("audio","remote_mute"))}setEnableAudio(e){this._enableAudio!==e&&(this._enableAudio=e,this._enableAudio?this.beginRecvFrame("audio","enable"):this.stopRecvFrame("audio","disable"))}setUnmuteVideo(e){var t,i,r;if(this._unMuteVideo===e)return;this._unMuteVideo=e;let s=!(null==(t=this._stream)||!t.hasVideo);null!=(i=this._stream)&&i.videoHasCapture&&null!=(r=this._stream)&&r.videoHasPublish&&(this._unMuteVideo&&s?this.beginRecvFrame("video","unmute"):s&&this.stopRecvFrame("video","mute"))}setRemoteUnmuteVideo(e){this._remoteUnmuteVideo!==e&&(this._remoteUnmuteVideo=e,this._remoteUnmuteVideo?this.beginRecvFrame("video","remote_unmute"):this.stopRecvFrame("video","remote_mute"))}setEnableVideo(e){this._enableVideo!==e&&(this._enableVideo=e,this._enableVideo?this.beginRecvFrame("video","enable"):this.stopRecvFrame("video","disable"))}setExternalAudioSource(e){this._audioExternal=e}setPushAudio(e){var t;this._audioExternal&&this._pushAudio!==e&&(this._pushAudio=e),this._pushAudio&&this.beginRecvFrame("audio","push"),!e&&null!=(t=this._stream)&&t.hasAudio&&this.stopRecvFrame("audio","stop_push")}setExternalVideoSource(e){this._videoExternal=e}setPushVideo(e){var t;this._videoExternal&&this._pushVideo!==e&&(this._pushVideo=e),this._pushVideo&&this.beginRecvFrame("video","push"),!e&&null!=(t=this._stream)&&t.hasVideo&&this.stopRecvFrame("video","stop_push")}setPublishVideo(e){var t;this._publishVideo!==e&&(this._publishVideo=e),this._publishVideo&&this.beginRecvFrame("video","publish"),!e&&null!=(t=this._stream)&&t.hasVideo&&this.stopRecvFrame("video","unpublish")}setPublishAudio(e){var t;this._publishAudio!==e&&(this._publishAudio=e),this._publishAudio&&this.beginRecvFrame("audio","publish"),!e&&null!=(t=this._stream)&&t.hasAudio&&this.stopRecvFrame("audio","unpublish")}setAutoSubscribe(e){this._autoSubscribe=e}setAutoSubscribeVideo(e){this._autoSubscribeVideo=e}setAutoSubscribeAudio(e){this._autoSubscribeAudio=e}setSubscribeAudio(e){var t,i;this._autoSubscribeAudio||this._subscribeAudio===e||(this._subscribe=e,e&&null!=(i=this._stream)&&i.hasAudio&&this.beginRecvFrame("audio","subscribe")),!e&&null!=(t=this._stream)&&t.hasAudio&&this.stopRecvFrame("audio","unsubscribe")}setSubscribeVideo(e){var t,i;this._autoSubscribeVideo||this._subscribeVideo===e||(this._subscribeVideo=e,e&&null!=(i=this._stream)&&i.hasVideo&&this.beginRecvFrame("video","subscribe")),!e&&null!=(t=this._stream)&&t.hasVideo&&this.stopRecvFrame("video","unsubscribe")}setPushTrack(e){var t;this._pushTrack!==e&&(this._pushTrack=e,e&&!this._isScreen&&this.beginRecvFrame("audio","push_track"),!e&&null!=(t=this._stream)&&t.hasAudio&&this.stopRecvFrame("audio","remove_track"))}setMultiChatMode(e){this._multiChatMode=e}setTimeout(e){this._timeout=e}_watchForFirstVideoFrameRecv(){let e=-1,t=-1;this._firstVideoFrameInterval&&window.clearInterval(this._firstVideoFrameInterval),this._firstVideoFrameInterval=window.setInterval(async()=>{var i,r,s,n,a;let o=null!=(i=null==(r=this._stream)||null==(r=r.vendorHandler)?void 0:r.peer)?i:this._ctx.peerConnection;if(o&&null!=(s=this._stream)&&null!=(s=s.videoTrack)&&s.preprocessingTrack){let i=null==(n=this._stream.videoTransceiver)?void 0:n.receiver,r=(await o.getStatsWithLowFrequency(null==(a=this._stream)||null==(a=a.videoTrack)?void 0:a.preprocessingTrack,!0,i)).find(e=>"inbound-rtp"===e.type);if(r&&(r.framesReceived>e||r.packetsReceived>t)){if(-1===e&&-1===t)return e=r.framesReceived,void(t=r.packetsReceived);this.recvFrameFinish("video"),window.clearInterval(this._firstVideoFrameInterval)}}},200)}_watchForFirstAudioFrameRecv(){let e=-1,t=-1;this._firstAudioFrameInterval&&window.clearInterval(this._firstAudioFrameInterval),this._firstAudioFrameInterval=window.setInterval(async()=>{var i,r,s,n;let a=null!=(i=null==(r=this._stream)||null==(r=r.vendorHandler)?void 0:r.peer)?i:this._ctx.peerConnection;if(a&&null!=(s=this._stream)&&null!=(s=s.audioTrack)&&s.originTrack){let i=(await a.getStatsWithLowFrequency(null==(n=this._stream)||null==(n=n.audioTrack)?void 0:n.originTrack)).find(e=>"inbound-rtp"===e.type);if(i&&(i.totalSamplesReceived>e||i.packetsReceived>t)){if(-1===e&&-1===t)return e=i.totalSamplesReceived,void(t=i.packetsReceived);this.recvFrameFinish("audio"),window.clearInterval(this._firstAudioFrameInterval)}}},200)}async getTransportDelay(){await this.getTransportDelayIntl(),window.clearInterval(this._transportDelayInterval),this._transportDelayInterval=window.setInterval(async()=>{await this.getTransportDelayIntl()},2e3)}async getTransportDelayIntl(){let e=this._ctx.peerConnection;if(e){var t;let i=null==(t=this._stream)||null==(t=t.videoTransceiver)?void 0:t.receiver,r=await e.getStatsWithLowFrequency(void 0,!0,i),s=r.find(e=>"transport"===e.type&&"connected"===e.dtlsState),n=r.find(e=>"candidate-pair"===e.type&&"succeeded"===e.state&&e.id===(null==s?void 0:s.selectedCandidatePairId));n&&(this._transportDelay=Math.round(1e3*n.currentRoundTripTime/2))}}setDisconnect(){this.stopRecvFrame("audio","connection_lost"),this.stopRecvFrame("video","connection_lost"),this.reset()}reset(){this._currentAudioRecv={startTime:0,eventSessionId:0,type:"login"},this._currentVideoRecv={startTime:0,eventSessionId:0,type:"login"},this._login=!1,this._unMuteAudio=!1,this._enableAudio=!1,this._unMuteVideo=!1,this._remoteUnmuteAudio=!1,this._remoteUnmuteVideo=!1,this._enableVideo=!1,this._audioExternal=!1,this._pushAudio=!1,this._videoExternal=!1,this._pushVideo=!1,this._autoSubscribeVideo=!1,this._autoSubscribeAudio=!1,this._autoSubscribe=!1,this._subscribeAudio=!1,this._subscribeVideo=!1,this._subscribe=!1,this._pushTrack=!1,this._multiChatMode=!1,this._firstAudioFrameTimer&&window.clearTimeout(this._firstAudioFrameTimer),this._firstVideoFrameTimer&&window.clearTimeout(this._firstVideoFrameTimer),this._firstAudioFrameInterval&&window.clearInterval(this._firstAudioFrameInterval),this._firstVideoFrameInterval&&window.clearInterval(this._firstVideoFrameInterval),this._transportDelayInterval&&window.clearInterval(this._transportDelayInterval)}get audioFirstFrameReceived(){return 3===this._audioFirstFrameState}get FirstFrameReceived(){return 3===this._audioFirstFrameState}}class Aw{constructor(e,t){dY(this,"_audioEventSessionId",kJ()),dY(this,"_videoEventSessionId",kJ()),dY(this,"_pcSessionId",void 0),dY(this,"_firstAudioFrameTimer",void 0),dY(this,"_firstVideoFrameTimer",void 0),dY(this,"_stream",void 0),dY(this,"_firstVideoFrameInterval",void 0),dY(this,"_firstAudioFrameInterval",void 0),dY(this,"_currentAudioSend",{startTime:0,eventSessionId:0,type:"login"}),dY(this,"_currentVideoSend",{startTime:0,eventSessionId:0,type:"login"}),dY(this,"_login",!1),dY(this,"_publisher",!1),dY(this,"_unMuteAudio",!1),dY(this,"_enableAudio",!1),dY(this,"_unMuteVideo",!1),dY(this,"_enableVideo",!1),dY(this,"_audioExternal",!1),dY(this,"_pushAudio",!1),dY(this,"_videoExternal",!1),dY(this,"_pushVideo",!1),dY(this,"_autoPublish",!1),dY(this,"_publish",!1),dY(this,"_timeout",1e4),dY(this,"_audioFirstFrameState",0),dY(this,"_videoFirstFrameState",0),dY(this,"_monitor",void 0),dY(this,"logger",void 0),this._ctx=e,this._stream=t,this._monitor=vH(t.engineId),this.logger=new bn("SendFrameObserver",0,t.engineId)}beginSendFrame(e,t){var i,r,s,n,a,o,l,c,d,u,h,p,m,f;if("audio"===e){this._audioEventSessionId++,this._currentAudioSend={startTime:Date.now(),eventSessionId:this._audioEventSessionId,type:t};let c={event_type:"begin_send",media_type:e,is_screen:!(null==(i=this._stream)||!i.isScreen),type:t,start:this._currentAudioSend.startTime,event_session_id:this._audioEventSessionId,vendor_mode:(null==(r=this._stream)?void 0:r.vendorCode)||0,pc_session_id:(null==(s=this._stream)?void 0:s.pcSessionId)||(null==(n=this._ctx.peerConnection)?void 0:n.getConnectionId()),capture_session_id:null==(a=this._stream)||null==(a=a.audioTrack)?void 0:a.captureSessionId,is_public_stream:null==(o=this._stream)?void 0:o.isPublicStream};this._firstAudioFrameTimer&&window.clearTimeout(this._firstAudioFrameTimer),this._firstAudioFrameTimer=setTimeout(()=>{Ax(this._ctx,"audio",this._stream,this._monitor),this.stopSendFrame("audio","timeout"),this._firstAudioFrameInterval&&window.clearInterval(this._firstAudioFrameInterval)},this._timeout),this.logger.info("rtcFirstFrameSend",JSON.stringify(c)),null==(l=this._monitor)||l.report("rtc_first_frame",c),this._watchForFirstAudioFrameSend(),this._audioFirstFrameState=1,this._login=!0,this._publisher=!0,this._publish=!0,this._unMuteAudio=!0,this._pushAudio||(this._enableAudio=!0)}else if("video"===e){this._videoEventSessionId++,this._currentVideoSend={startTime:Date.now(),eventSessionId:this._videoEventSessionId,type:t};let i={event_type:"begin_send",media_type:e,is_screen:!(null==(c=this._stream)||!c.isScreen),type:t,start:this._currentVideoSend.startTime,event_session_id:this._videoEventSessionId,vendor_mode:(null==(d=this._stream)?void 0:d.vendorCode)||0,pc_session_id:(null==(u=this._stream)?void 0:u.pcSessionId)||(null==(h=this._ctx.peerConnection)?void 0:h.getConnectionId()),capture_session_id:null==(p=this._stream)||null==(p=p.videoTrack)?void 0:p.captureSessionId,is_public_stream:null==(m=this._stream)?void 0:m.isPublicStream};this._firstVideoFrameTimer&&window.clearTimeout(this._firstVideoFrameTimer),this._firstVideoFrameTimer=setTimeout(()=>{Ax(this._ctx,"video",this._stream,this._monitor),this.stopSendFrame("video","timeout"),this._firstVideoFrameInterval&&window.clearInterval(this._firstVideoFrameInterval)},this._timeout),this._watchForFirstVideoFrameSend(),this.logger.info("rtcFirstFrameSend",JSON.stringify(i)),null==(f=this._monitor)||f.report("rtc_first_frame",i),this._videoFirstFrameState=1,this._login=!0,this._publisher=!0,this._publish=!0,this._unMuteVideo=!0,this._pushVideo||(this._enableVideo=!0)}}stopSendFrame(e,t){var i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S,k,x,C,w,E,T,I,R,N;if("audio"===e){if(1!==this._audioFirstFrameState)return;let u={event_type:"sent_end",media_type:e,is_screen:!(null==(i=this._stream)||!i.isScreen),start:null==(r=this._currentAudioSend)?void 0:r.startTime,reason:t,result:!1,event_session_id:this._audioEventSessionId,type:null==(s=this._currentAudioSend)?void 0:s.type,vendor_mode:(null==(n=this._stream)?void 0:n.vendorCode)||0,pc_session_id:(null==(a=this._stream)?void 0:a.pcSessionId)||(null==(o=this._ctx.peerConnection)?void 0:o.getConnectionId()),capture_session_id:null==(l=this._stream)||null==(l=l.audioTrack)?void 0:l.captureSessionId,is_public_stream:null==(c=this._stream)?void 0:c.isPublicStream};this._firstAudioFrameTimer&&window.clearTimeout(this._firstAudioFrameTimer),delete this._currentAudioSend,this.logger.info("rtcFirstFrameSend",JSON.stringify(u)),null==(d=this._monitor)||d.report("rtc_first_frame",u),this._audioFirstFrameState=2}else if("video"===e){if(1!==this._videoFirstFrameState)return;let i={event_type:"sent_end",media_type:e,start:null==(u=this._currentVideoSend)?void 0:u.startTime,is_screen:!(null==(h=this._stream)||!h.isScreen),reason:t,result:!1,event_session_id:this._videoEventSessionId,type:null==(p=this._currentVideoSend)?void 0:p.type,vendor_mode:(null==(m=this._stream)?void 0:m.vendorCode)||0,pc_session_id:(null==(f=this._stream)?void 0:f.pcSessionId)||(null==(g=this._ctx.peerConnection)?void 0:g.getConnectionId()),capture_session_id:null==(_=this._stream)||null==(_=_.videoTrack)?void 0:_.captureSessionId,codec:null==(y=this._stream)?void 0:y.currentVideoCodec,track_frame_size_width:null==(v=this._stream)||null==(v=v.videoTrack)||null==(v=v.originTrack)?void 0:v.getSettings().width,track_frame_size_height:null==(b=this._stream)||null==(b=b.videoTrack)||null==(b=b.originTrack)?void 0:b.getSettings().height,track_frame_rate:null==(S=this._stream)||null==(S=S.videoTrack)||null==(S=S.originTrack)?void 0:S.getSettings().frameRate,stats_frame_size_width:null==(k=this._stream)||null==(k=k.getLocalStreamStats())||null==(k=k.videoStats)?void 0:k.frame_size_width,stats_frame_size_height:null==(x=this._stream)||null==(x=x.getLocalStreamStats())||null==(x=x.videoStats)?void 0:x.frame_size_height,stats_frame_rate_input:null==(C=this._stream)||null==(C=C.getLocalStreamStats())||null==(C=C.videoStats)?void 0:C.inputFrameRate,stats_frame_rate_sent:null==(w=this._stream)||null==(w=w.getLocalStreamStats())||null==(w=w.videoStats)?void 0:w.sentFrameRate,stats_frame_rate_encode:null==(E=this._stream)||null==(E=E.getLocalStreamStats())||null==(E=E.videoStats)?void 0:E.encoderOutputFrameRate,stats_frame_encoder_name:null==(T=this._stream)||null==(T=T.getLocalStreamStats())||null==(T=T.videoStats)?void 0:T.encoderName,stats_is_hardware_encoder_enabled:SQ.H264_HW_ENCODER,stats_gpu_url:SQ.GPU_URL||(null==(I=xh())?void 0:I.renderer),is_public_stream:null==(R=this._stream)?void 0:R.isPublicStream};this._firstVideoFrameTimer&&window.clearTimeout(this._firstVideoFrameTimer),delete this._currentVideoSend,this.logger.info("rtcFirstFrameSend",JSON.stringify(i)),null==(N=this._monitor)||N.report("rtc_first_frame",i),this._videoFirstFrameState=2,setTimeout(()=>{var i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S;let k={event_type:"sent_end",media_type:e,start:null==(i=this._currentVideoSend)?void 0:i.startTime,is_screen:!(null==(r=this._stream)||!r.isScreen),reason:t,result:!1,event_session_id:this._videoEventSessionId,type:null==(s=this._currentVideoSend)?void 0:s.type,vendor_mode:(null==(n=this._stream)?void 0:n.vendorCode)||0,pc_session_id:(null==(a=this._stream)?void 0:a.pcSessionId)||(null==(o=this._ctx.peerConnection)?void 0:o.getConnectionId()),capture_session_id:null==(l=this._stream)||null==(l=l.videoTrack)?void 0:l.captureSessionId,codec:null==(c=this._stream)?void 0:c.currentVideoCodec,track_frame_size_width:null==(d=this._stream)||null==(d=d.videoTrack)||null==(d=d.originTrack)?void 0:d.getSettings().width,track_frame_size_height:null==(u=this._stream)||null==(u=u.videoTrack)||null==(u=u.originTrack)?void 0:u.getSettings().height,track_frame_rate:null==(h=this._stream)||null==(h=h.videoTrack)||null==(h=h.originTrack)?void 0:h.getSettings().frameRate,stats_frame_size_width:null==(p=this._stream)||null==(p=p.getLocalStreamStats())||null==(p=p.videoStats)?void 0:p.frame_size_width,stats_frame_size_height:null==(m=this._stream)||null==(m=m.getLocalStreamStats())||null==(m=m.videoStats)?void 0:m.frame_size_height,stats_frame_rate_input:null==(f=this._stream)||null==(f=f.getLocalStreamStats())||null==(f=f.videoStats)?void 0:f.inputFrameRate,stats_frame_rate_sent:null==(g=this._stream)||null==(g=g.getLocalStreamStats())||null==(g=g.videoStats)?void 0:g.sentFrameRate,stats_frame_rate_encode:null==(_=this._stream)||null==(_=_.getLocalStreamStats())||null==(_=_.videoStats)?void 0:_.encoderOutputFrameRate,stats_frame_encoder_name:null==(y=this._stream)||null==(y=y.getLocalStreamStats())||null==(y=y.videoStats)?void 0:y.encoderName,stats_is_hardware_encoder_enabled:SQ.H264_HW_ENCODER,stats_gpu_url:SQ.GPU_URL||(null==(v=xh())?void 0:v.renderer),is_public_stream:null==(b=this._stream)?void 0:b.isPublicStream};this.logger.info("rtc_first_frame_statistics",JSON.stringify(k)),null==(S=this._monitor)||S.report("rtc_first_frame_statistics",k)},8e3)}}sendFrameFinish(e){var t,i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S,k,x,C,w;if("audio"===e){if(1!==this._audioFirstFrameState||!this._currentAudioSend)return;let{type:l,startTime:c}=this._currentAudioSend,d={event_type:"sent_end",media_type:e,is_screen:!(null==(t=this._stream)||!t.isScreen),start:c,result:!0,event_session_id:this._audioEventSessionId,type:l,vendor_mode:(null==(i=this._stream)?void 0:i.vendorCode)||0,pc_session_id:(null==(r=this._stream)?void 0:r.pcSessionId)||(null==(s=this._ctx.peerConnection)?void 0:s.getConnectionId()),capture_session_id:null==(n=this._stream)||null==(n=n.audioTrack)?void 0:n.captureSessionId,is_public_stream:null==(a=this._stream)?void 0:a.isPublicStream};delete this._currentAudioSend,this._firstAudioFrameTimer&&window.clearTimeout(this._firstAudioFrameTimer),this.logger.info("rtcFirstFrameSend",JSON.stringify(d)),null==(o=this._monitor)||o.report("rtc_first_frame",d),this._audioFirstFrameState=3}else if("video"===e){if(1!==this._videoFirstFrameState||!this._currentVideoSend)return;let{type:t,startTime:i}=this._currentVideoSend,r={event_type:"sent_end",media_type:e,is_screen:!(null==(l=this._stream)||!l.isScreen),start:i,result:!0,event_session_id:this._videoEventSessionId,type:t,vendor_mode:(null==(c=this._stream)?void 0:c.vendorCode)||0,pc_session_id:(null==(d=this._stream)?void 0:d.pcSessionId)||(null==(u=this._ctx.peerConnection)?void 0:u.getConnectionId()),capture_session_id:null==(h=this._stream)||null==(h=h.videoTrack)?void 0:h.captureSessionId,codec:null==(p=this._stream)?void 0:p.currentVideoCodec,track_frame_size_width:null==(m=this._stream)||null==(m=m.videoTrack)||null==(m=m.originTrack)?void 0:m.getSettings().width,track_frame_size_height:null==(f=this._stream)||null==(f=f.videoTrack)||null==(f=f.originTrack)?void 0:f.getSettings().height,track_frame_rate:null==(g=this._stream)||null==(g=g.videoTrack)||null==(g=g.originTrack)?void 0:g.getSettings().frameRate,stats_frame_size_width:null==(_=this._stream)||null==(_=_.getLocalStreamStats())||null==(_=_.videoStats)?void 0:_._captureResolutionWidth,stats_frame_size_height:null==(y=this._stream)||null==(y=y.getLocalStreamStats())||null==(y=y.videoStats)?void 0:y._captureResolutionHeight,stats_frame_rate_input:null==(v=this._stream)||null==(v=v.getLocalStreamStats())||null==(v=v.videoStats)?void 0:v.inputFrameRate,stats_frame_rate_sent:null==(b=this._stream)||null==(b=b.getLocalStreamStats())||null==(b=b.videoStats)?void 0:b.sentFrameRate,stats_frame_rate_encode:null==(S=this._stream)||null==(S=S.getLocalStreamStats())||null==(S=S.videoStats)?void 0:S.encoderOutputFrameRate,stats_frame_encoder_name:null==(k=this._stream)||null==(k=k.getLocalStreamStats())||null==(k=k.videoStats)?void 0:k.encoderName,stats_is_hardware_encoder_enabled:SQ.H264_HW_ENCODER,stats_gpu_url:SQ.GPU_URL||(null==(x=xh())?void 0:x.renderer),is_public_stream:null==(C=this._stream)?void 0:C.isPublicStream};delete this._currentVideoSend,this._firstVideoFrameTimer&&window.clearTimeout(this._firstVideoFrameTimer),this.logger.info("rtcFirstFrameSend",JSON.stringify(r)),null==(w=this._monitor)||w.report("rtc_first_frame",r),this._videoFirstFrameState=3,setTimeout(()=>{var r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b;let S={event_type:"sent_end",media_type:e,is_screen:!(null==(r=this._stream)||!r.isScreen),start:i,result:!0,event_session_id:this._videoEventSessionId,type:t,vendor_mode:(null==(s=this._stream)?void 0:s.vendorCode)||0,pc_session_id:(null==(n=this._stream)?void 0:n.pcSessionId)||(null==(a=this._ctx.peerConnection)?void 0:a.getConnectionId()),capture_session_id:null==(o=this._stream)||null==(o=o.videoTrack)?void 0:o.captureSessionId,codec:null==(l=this._stream)?void 0:l.currentVideoCodec,track_frame_size_width:null==(c=this._stream)||null==(c=c.videoTrack)||null==(c=c.originTrack)?void 0:c.getSettings().width,track_frame_size_height:null==(d=this._stream)||null==(d=d.videoTrack)||null==(d=d.originTrack)?void 0:d.getSettings().height,track_frame_rate:null==(u=this._stream)||null==(u=u.videoTrack)||null==(u=u.originTrack)?void 0:u.getSettings().frameRate,stats_frame_size_width:null==(h=this._stream)||null==(h=h.getLocalStreamStats())||null==(h=h.videoStats)?void 0:h._captureResolutionWidth,stats_frame_size_height:null==(p=this._stream)||null==(p=p.getLocalStreamStats())||null==(p=p.videoStats)?void 0:p._captureResolutionHeight,stats_frame_rate_input:null==(m=this._stream)||null==(m=m.getLocalStreamStats())||null==(m=m.videoStats)?void 0:m.inputFrameRate,stats_frame_rate_sent:null==(f=this._stream)||null==(f=f.getLocalStreamStats())||null==(f=f.videoStats)?void 0:f.sentFrameRate,stats_frame_rate_encode:null==(g=this._stream)||null==(g=g.getLocalStreamStats())||null==(g=g.videoStats)?void 0:g.encoderOutputFrameRate,stats_frame_encoder_name:null==(_=this._stream)||null==(_=_.getLocalStreamStats())||null==(_=_.videoStats)?void 0:_.encoderName,stats_is_hardware_encoder_enabled:SQ.H264_HW_ENCODER,stats_gpu_url:SQ.GPU_URL||(null==(y=xh())?void 0:y.renderer),is_public_stream:null==(v=this._stream)?void 0:v.isPublicStream};this.logger.info("rtc_first_frame_statistics",JSON.stringify(S)),null==(b=this._monitor)||b.report("rtc_first_frame_statistics",S)},8e3)}}setLogin(e){if(this._login!==e){var t,i;this._login=e,e&&(null!=(t=this._stream)&&t.videoTrack&&this._stream.pubVideo&&this.beginSendFrame("video","login"),null!=(i=this._stream)&&i.audioTrack&&this._stream.pubAudio&&this.beginSendFrame("audio","login")),!e&&this._audioSending&&this.stopSendFrame("audio","leave_room"),!e&&this._videoSending&&this.stopSendFrame("video","leave_room")}}setPublish(e){if(this._publish!==e){var t,i;this._publish=e,e&&((null==(t=this._stream)?void 0:t.videoTrack)&&this._stream.pubVideo&&this.beginSendFrame("video","publish"),(null==(i=this._stream)?void 0:i.audioTrack)&&this._stream.pubAudio&&this.beginSendFrame("audio","publish")),!e&&this._audioSending&&this.stopSendFrame("audio","unpublish"),!e&&this._videoSending&&this.stopSendFrame("video","unpublish")}}setUnmuteAudio(e){var t;this._unMuteAudio!==e&&(this._unMuteAudio=e,null!=(t=this._stream)&&t.audioHasCapture&&(e&&this.beginSendFrame("audio","unmute"),!e&&this._audioSending&&this.stopSendFrame("audio","mute")))}setEnableAudio(e){var t;this._enableAudio!==e&&null!=(t=this._stream)&&t.pubAudio&&(this._enableAudio=e,e&&this.beginSendFrame("audio","enable"),!e&&this._audioSending&&this.stopSendFrame("audio","disable"))}setUnmuteVideo(e){var t;this._unMuteVideo!==e&&(this._unMuteVideo=e,null!=(t=this._stream)&&t.videoHasCapture&&(e&&this.beginSendFrame("video","unmute"),!e&&this._videoSending&&this.stopSendFrame("video","mute")))}setEnableVideo(e){var t;this._enableVideo!==e&&null!=(t=this._stream)&&t.pubVideo&&(this._enableVideo=e,e&&this.beginSendFrame("video","enable"),!e&&this._videoSending&&this.stopSendFrame("video","disable"))}setPushAudio(e){this._pushAudio!==e&&(this._pushAudio=e,e&&this.beginSendFrame("audio","push"),!e&&this._audioSending&&this.stopSendFrame("audio","stop_push"))}setPushVideo(e){this._pushVideo!==e&&(this._pushVideo=e,e&&this.beginSendFrame("video","push"),!e&&this._videoSending&&this.stopSendFrame("video","stop_push"))}setAutoPublish(e){this._autoPublish=e}setPublisher(e){this._publisher!==e&&(this._publisher=e,!e&&this._audioSending&&this.stopSendFrame("audio","audience"),!e&&this._videoSending&&this.stopSendFrame("video","audience"))}setDisconnect(){this._audioSending&&this.stopSendFrame("audio","connection_lost"),this._videoSending&&this.stopSendFrame("video","connection_lost"),this.reset()}setTimeout(e){this._timeout=e}setPCSessionId(e){this._pcSessionId=e}async _getFirstVideoFrameStats(){var e,t,i,r;let s=null==(e=this._stream)||null==(e=e.videoTrack)?void 0:e.preprocessingTrack,n=null==(t=this._stream)||null==(t=t.videoTransceiver)?void 0:t.sender,a=null!=(i=null==(r=this._stream)||null==(r=r.vendorHandler)?void 0:r.peer)?i:this._ctx.peerConnection;if(a&&s)return(await a.getStatsWithLowFrequency(s,!0,n)).filter(e=>"outbound-rtp"===e.type)}async _getFirstAudioFrameStats(){var e,t,i,r;let s=null==(e=this._stream)||null==(e=e.audioTrack)?void 0:e.preprocessingTrack,n=null==(t=this._stream)||null==(t=t.audioTransceiver)?void 0:t.sender,a=null!=(i=null==(r=this._stream)||null==(r=r.vendorHandler)?void 0:r.peer)?i:this._ctx.peerConnection;if(a&&s)return(await a.getStatsWithLowFrequency(s,!0,n)).find(e=>"outbound-rtp"===e.type)}_watchForFirstVideoFrameSend(){let e=-1,t=-1;this._firstVideoFrameInterval&&window.clearInterval(this._firstVideoFrameInterval),this._firstVideoFrameInterval=window.setInterval(async()=>{let i=await this._getFirstVideoFrameStats(),r=0,s=0;if(null==i||i.map(e=>{r+=e.framesSent,s+=e.packetsSent}),i&&i.length>0&&(r>e||s>t)){if(-1===e&&-1===t)return e=r,void(t=s);this.sendFrameFinish("video"),window.clearInterval(this._firstVideoFrameInterval)}},100)}_watchForFirstAudioFrameSend(){let e=-1;this._firstAudioFrameInterval&&window.clearInterval(this._firstAudioFrameInterval),this._firstAudioFrameInterval=window.setInterval(async()=>{let t=await this._getFirstAudioFrameStats();if(t&&t.packetsSent>e){if(-1===e)return void(e=t.packetsSent);this.sendFrameFinish("audio"),window.clearInterval(this._firstAudioFrameInterval)}},100)}reset(){this._login=!1,this._publisher=!1,this._unMuteAudio=!1,this._enableAudio=!1,this._unMuteVideo=!1,this._enableVideo=!1,this._audioExternal=!1,this._pushAudio=!1,this._videoExternal=!1,this._pushVideo=!1,this._autoPublish=!1,this._publish=!1,this._audioFirstFrameState=0,this._videoFirstFrameState=0,this._currentAudioSend={startTime:0,eventSessionId:0,type:"login"},this._currentVideoSend={startTime:0,eventSessionId:0,type:"login"},window.clearTimeout(this._firstAudioFrameTimer),window.clearTimeout(this._firstVideoFrameTimer),window.clearInterval(this._firstAudioFrameInterval),window.clearInterval(this._firstVideoFrameInterval)}destroy(){this.reset(),delete this._stream}get _audioSending(){return 1===this._audioFirstFrameState}get _videoSending(){return 1===this._videoFirstFrameState}}let AE={audio:{delay:1200,stallRadio:.3},video:{delay:1200,stallRadio:.6},screen_audio:{delay:1600,stallRadio:.8},screen_video:{delay:1600,stallRadio:.8}};class AT{constructor(e){dY(this,"_preUplinkStats",new Map),dY(this,"_preDownlinkStats",new Map),dY(this,"_timer",void 0),dY(this,"_delayTimer",void 0),dY(this,"reportor",void 0),this._ctx=e}updateUplinkStats(e,t){let{audioStats:i,videoStats:r,isScreen:s}=e;if(i.sendKBitrate>0&&i.rtt){let e=s?"screen_audio":"audio",{rtt:t,_fractionLost:r,_retransmittedRate:n}=i,a=this._getQosLevel(t,r||0,n||0),o=this._preUplinkStats.get(e)||[a];this._preUplinkStats.set(e,[...o,a].slice(-2))}if(r.sentKBitrate>0&&r.rtt){let i=s?"screen_video":"video",{_fractionLost:n}=r,{rtt:a,_sendBandWidth:o,_retransmittedRate:l}=r;0===o&&(n=Math.max(.65,n));let c=this._getQosLevel(a,n||0,l||0),d=this._getUplinkVideoQoE(e,t),u=this._getVideoUplinkNetworkQuality(c,d),h=this._preUplinkStats.get(i)||[u];this._preUplinkStats.set(i,[...h,u].slice(-2))}this._startNetworkQualityReport()}updateDownlinkStats(e,t){if(!t)return;let{audioActive:i,videoActive:r}=this._getStreamActiveState(t),{audioStats:s,videoStats:n,isScreen:a,userId:o}=e,l,c,d=!0,u=!0;if(i)if(0===s.receivedKBitrate)d=!1;else{let{rtt:e,audioLossRate:t,stallDuration:i,statsInterval:r,e2eDelay:o}=s,c=i/r,d=a?"screen_audio":"audio",u=this._getQosLevel(e,t||0,n._retransmittedRate||0),h=this._getDownlinkQoE(d,c,o);l=this._getNetworkQuality(u,h)}if(r)if(0===n.receivedKBitrate||0===n.rtt)u=!1;else{let{rtt:e,videoLossRate:t,stallDuration:i,statsInterval:r,e2eDelay:s,_retransmittedRate:o}=n,l=i/r,d=a?"screen_video":"video",u=this._getQosLevel(e,t||0,o||0),h=this._getDownlinkQoE(d,l,s);c=this._getNetworkQuality(u,h)}let h="".concat(o).concat(a?"_screen":"");if(!d&&!u)return void this._preDownlinkStats.delete(h);let p=l&&c?Math.ceil((l+c)/2):l||c;if(p){let e=this._preDownlinkStats.get(h)||[p];this._preDownlinkStats.set(h,[...e,p].slice(-2)),this._startNetworkQualityReport()}}destroy(){this._timer&&(window.clearInterval(this._timer),delete this._timer),this._delayTimer&&(window.clearTimeout(this._delayTimer),delete this._delayTimer),this._preUplinkStats.clear(),this._preDownlinkStats.clear()}_startNetworkQualityReport(){this._delayTimer||this._timer||(this._preUplinkStats.size>0||this._preDownlinkStats.size>0)&&(this._delayTimer=setTimeout(()=>{delete this._delayTimer,this._reportNetworkQuality(),this._timer=window.setInterval(()=>{this._reportNetworkQuality()},2e3)},300))}_reportNetworkQuality(){var e;let t,i;if(["connected","connecting"].includes(null==(e=this._ctx.handler)?void 0:e.getConnectionState())){let e=this._getBetterQualityAndRemoveOldest("audio","up"),r=this._getBetterQualityAndRemoveOldest("video","up");t=e&&r?Math.ceil((e+r)/2):e||r||this._getBetterQualityAndRemoveOldest("screen_video","up")||this._getBetterQualityAndRemoveOldest("screen_audio","up")||hk.EXCELLENT;let s=Array.from(this._preDownlinkStats.keys()).map(e=>this._getBetterQualityAndRemoveOldest(e,"down")).filter(e=>e);i=Math.ceil(s.reduce((e,t)=>t+e,0)/s.length)||hk.UNKNOWN}else t=i=hk.DOWN;navigator.onLine||(t=hk.DOWN,i=hk.DOWN),"function"==typeof this.reportor&&this.reportor(t,i)}_getNetworkQuality(e,t){return 1===t?Math.max(e-2,1):2===t?e:Math.min(e+1,5)}_getVideoUplinkNetworkQuality(e,t){return 1===t||0===t?e:2===t?Math.min(e+1,5):Math.min(e+2,5)}_getQosLevel(e,t,i){let r;return r=(!e||e<=250)&&t<=.15?1:(!e||e<=500)&&t<=.3?2:(!e||e<=750)&&t<=.45?3:(!e||e<=1e3)&&t<=.6?4:5,i>.5?r=Math.max(r,4):i>.35?r=Math.max(r,3):i>.15&&(r=Math.max(r,2)),r}_getUplinkQoE(e,t){let i=0;switch(e){case"audio":case"video":i=t<.05?1:t<.1?2:3;break;case"screen_video":case"screen_audio":i=t<.04?1:t<.08?2:3}return i}_getUplinkVideoQoE(e,t){var i;let r=(null==e||null==(i=e.videoStats)?void 0:i.rid)||"0";if(!t)return 0;let s=t.pubAttributes.videoDescriptions[r],n=e.videoStats,a=n.encodedFrameWidth*n.encodedFrameHeight/(s.width*s.height),o=n.sentFrameRate/s.framerate,l=0,c=0;return"number"!=typeof a||Number.isNaN(a)||(l=a>=.9?1:a<.9&&a>=.8?2:3),"number"!=typeof o||Number.isNaN(o)||(c=o>=.8?1:o<.8&&o>=.6?2:3),Math.max(0,l,c)}_getDownlinkQoE(e,t,i){let r=AE[e];return t>r.stallRadio||i>r.delay||t>r.stallRadio/2&&i>r.delay/2?3:(t>r.stallRadio/2||r.delay,2)}_getBetterQualityAndRemoveOldest(e,t){let i=hk.UNKNOWN,r="up"===t?this._preUplinkStats:this._preDownlinkStats,s=r.get(e);if(s){let t=s.filter(e=>e);t.length>0&&(i=Math.min(...t)),s.shift(),0===s.length&&r.delete(e)}return i}_getStreamActiveState(e){let{subMediaType:t,_attributes:i,subVideo:r,subAudio:s}=e;return{audioActive:s&&k3(t)&&i.localaudio&&i.audiostream,videoActive:r&&k4(t)&&i.localvideo&&i.videostream}}}class AI{constructor(e){dY(this,"_timer",void 0),dY(this,"_remoteVideoSizeCache",{}),dY(this,"_remoteScreenSizeCache",{}),dY(this,"onchange",void 0),this._room=e,this._start()}destroy(){this._timer&&(window.clearInterval(this._timer),delete this._timer),this._remoteVideoSizeCache={},this._remoteScreenSizeCache={}}_start(){this._timer||(this._timer=window.setInterval(()=>{let e={},t={};this._room.remoteStreams.forEach((i,r)=>{i.forEach(i=>{var s,n,a,o,l,c;let d=null==(s=i.videoTrack)?void 0:s.preprocessingTrack;if(d){let s=i.isScreen?this._remoteScreenSizeCache:this._remoteVideoSizeCache,{width:u=0,height:h=0}=s[r]||{},p=0,m=0;if(bc)({width:p,height:m}=null!=(n=null==i||null==(a=i.videoTrack)?void 0:a.getSizeByPlayer())?n:{width:0,height:0});else{let e=d.getSettings();p=e.width||0,m=e.height||0;let t=null==(o=i._attributes)?void 0:o.alphaInfo;null!=t&&t.enableAlpha&&(p=null!=(l=t.alphaWidth)?l:p,m=null!=(c=t.alphaHeight)?c:m/2)}h===m&&u===p||"function"==typeof this.onchange&&this.onchange(r,i.isScreen,p,m),delete s[r],(i.isScreen?t:e)[r]={width:p,height:m}}})}),Object.keys(this._remoteVideoSizeCache).forEach(e=>{"function"==typeof this.onchange&&this.onchange(e,!1,0,0)}),Object.keys(this._remoteScreenSizeCache).forEach(e=>{"function"==typeof this.onchange&&this.onchange(e,!0,0,0)}),this._remoteVideoSizeCache=e,this._remoteScreenSizeCache=t},1e3))}}let AR=Array.from((new TextEncoder).encode("subt")),AN={1:bY.SUBTITLE_ERR_POSTPROCESS,2:bY.SUBTITLE_ERR_CONNECTION_ERROR,3:bY.SUBTITLE_ERR_PROCESS_ERROR},AA=new bn("SubtitleTool",1),AM=e=>{if(e.extraInfo)try{let t=JSON.parse(e.extraInfo);t.source_language&&["zh","en","ja"].indexOf(t.source_language)}catch(e){}else{var t;let i=(null==(t=navigator.language)?void 0:t.substring(0,2))||"";["zh","en","ja"].indexOf(i)>-1&&(e.extraInfo=JSON.stringify({source_language:i}))}};class AP{constructor(e,t){dY(this,"_taskId",void 0),dY(this,"_sourceLanguage","zh"),dY(this,"_updating",!1),dY(this,"onEvent",void 0),dY(this,"onMessage",void 0),dY(this,"_preConfig",void 0),dY(this,"_timer",void 0),this._ctx=e,this._roomConf=t;let{extraInfo:i}=t.userInfo;if(i)try{let e=JSON.parse(i);e.source_language&&(this._sourceLanguage=e.source_language)}catch(e){}}async start(e){AA.info("start","Invoke config: %o",e),b3(e.mode,"mode",[hR.ASR_ONLY,hR.ASR_AND_TRANSLATION]);let t=Array.isArray(e.targetLanguage)?e.targetLanguage:[e.targetLanguage||""];if(e.mode===hR.ASR_AND_TRANSLATION&&t.findIndex(e=>-1===AL.indexOf(e))>-1)throw new b$(bY.INVALID_PARAMS,"Invalid targetLanguage.");if(this._taskId)throw new b$(bY.SUBTITLE_ALREADY_ON,"Already turned on subtitle");this._preConfig={targetLanguage:t,mode:e.mode},this._taskId=(Date.now().toString()+this._roomConf.roomId+this._roomConf.userId).substring(0,20),await this._sendSubtitleSignalingWithRetry(e,this._taskId)}async update(e){if(AA.info("update","Invoke config: %o",e),!this._taskId)throw new b$(bY.SUBTITLE_NOT_TURNED_ON,"Start subtitle first.");this._sourceLanguage=e.sourceLanguage,this._updating=!0;try{await this._ctx.signalingManager.sendSignaling("controlMessage",this._genChangeSubtitleLanguageSignaling(e,this._taskId))}catch(e){throw this._updating=!1,e}}stop(){AA.info("stop","Invoke"),this._taskId&&this._ctx.signalingManager.sendSignaling("controlMessage",{type:"subtitle",action:"stopped",appId:this._ctx.appId,roomId:this._roomConf.roomId,userId:this._roomConf.userId,taskId:this._taskId}).finally(()=>{var e;delete this._taskId,null==(e=this.onEvent)||e.call(this,{event:hN.STOPPED}),this._clearTimer()})}async reconnect(){this._taskId&&this._preConfig&&(await this._ctx.signalingManager.sendSignaling("controlMessage",{type:"subtitle",action:"stopped",appId:this._ctx.appId,roomId:this._roomConf.roomId,userId:this._roomConf.userId,taskId:this._taskId}),delete this._taskId,this.start(this._preConfig))}getConfig(){return this._preConfig}destroy(){AA.info("destroy","Invoke"),this.stop(),delete this._preConfig,delete this._taskId}onResult(e){var t,i,r;let{error:s,errorMessage:n,eventType:a}=e.body;if(0!==s){let e=new b$(AN[s]||bY.SUBTITLE_ERR_UNKNOWN,n||"");null==(t=this.onEvent)||t.call(this,{event:hN.ERROR,errorCode:e.code,errorMessage:e.message}),this._clearTimer()}else"SubtitleStarted"===a?(null==(i=this.onEvent)||i.call(this,{event:hN.STARTED}),this._clearTimer()):this._updating&&"LanguageChanged"===a&&(this._updating=!1,null==(r=this.onEvent)||r.call(this,{event:hN.UPDATED}))}onMessageRecv(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]||this._taskId&&this._preConfig){let i=Aj(e);if(!i||0===i.length)return!1;if(this._taskId&&this._preConfig){var t;let{mode:e,targetLanguage:r}=this._preConfig,s=[];i.forEach(t=>{if(e===hR.ASR_ONLY)t.mode===e&&s.push(t);else{let e=r.includes(t.language);(e||t.mode===hR.ASR_ONLY)&&s.push(t),t.mode===hR.ASR_ONLY&&e&&s.push(mr(mr({},t),{},{mode:hR.ASR_AND_TRANSLATION}))}}),s.length>0&&(null==(t=this.onMessage)||t.call(this,s))}return!0}return!1}async _sendSubtitleSignalingWithRetry(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;await this._ctx.signalingManager.sendSignaling("controlMessage",this._genSubtitleSignaling(e,t)),this._timer=self.setTimeout(()=>{var r;2===i?(null==(r=this.onEvent)||r.call(this,{event:hN.ERROR,errorCode:bY.TIME_OUT,errorMessage:"start subtitle timeout."}),delete this._timer,this.stop()):this._sendSubtitleSignalingWithRetry(e,t,i+1)},AP.retryIntervel)}_genSubtitleSignaling(e,t){return{taskId:t,type:"subtitle",action:"started",roomId:this._roomConf.roomId,appId:this._ctx.appId,userId:this._roomConf.userId,subtitleMeta:{subtitleConfig:{mode:e.mode,usersConfig:[{userId:this._roomConf.userId,targetLanguages:Array.isArray(e.targetLanguage)?e.targetLanguage:[e.targetLanguage||""]}]},vendorConfig:{type:0}}}}_genChangeSubtitleLanguageSignaling(e,t){return{taskId:t,type:"subtitle",action:"subtitleUpdated",roomId:this._roomConf.roomId,appId:this._ctx.appId,userId:this._roomConf.userId,subtitleMeta:{protocol:1,languageConfig:{sourceLanguages:[{userId:this._roomConf.userId,languageCode:[e.sourceLanguage]}]}}}}_clearTimer(){this._timer&&(self.clearTimeout(this._timer),delete this._timer)}}dY(AP,"retryIntervel",3e4);let Aj=e=>{let{message:t}=e;if(t instanceof ArrayBuffer&&t.byteLength>8)try{let e=new DataView(t,0),i=0;if(AR.every(t=>e.getUint8(i++)===t)){let r=e.getUint32(i);if(i+=4,r===e.byteLength-8){let e=kK.ab2str(t.slice(8)),{data:i,type:r}=JSON.parse(e);if("subtitle"===r)return i}}}catch(e){}return!1},AL=["zh","zh-Hant","tn","vi","iu","it","id","hi","en","ho","he","es","el","uk","ur","tk","tr","ti","ty","tl","to","th","ta","te","sl","sk","ss","eo","sm","sg","st","sv","ja","tw","qu","pt","pa","no","nb","nr","my","bn","mn","mh","mk","ml","mr","ms","lu","ro","lt","lv","lo","kj","hr","kn","ki","cs","ca","nl","ko","ht","gu","ka","kl","km","lg","kg","fi","fj","fr","ru","ng","de","tt","da","ts","cv","fa","bs","pl","bi","nd","ba","bg","az","ar","af","sq","ab","os","ee","et","ay","lzh","am","ckb","cy","gl","ha","hy","ig","kmr","ln","nso","ny","om","sn","so","sr","sw","xh","yo","zu"];function AD(e){return e.replace(/[A-Z]/g,e=>"_".concat(e.toLowerCase()))}function AO(e,t){return mr(mr({},e),t)}function AF(e){let t={};return Object.keys(e).forEach(i=>{let r=e[i];try{Array.isArray(r)?t[i]=r.map(e=>null!==e&&"object"==typeof e?AF(e):e):t[i]=null!==r&&"object"==typeof r?AF(r):r}catch(e){}}),t}function AU(e){return null===e?[]:Object.keys(e).map(t=>e[t])}let AV=new bn("Locker",2),AB=1;class Az{constructor(e){dY(this,"lockingPromise",Promise.resolve()),dY(this,"locks",0),dY(this,"name",""),dY(this,"lockId",void 0),dY(this,"closeReason",void 0),this.lockId=AB++,e&&(this.name=e),AV.info("lock-".concat(this.name,"-").concat(this.lockId),"is created.")}get isLocked(){return this.locks>0}lock(){let e;this.locks+=1,AV.info("lock-".concat(this.name,"-").concat(this.lockId),"locked, current queue ".concat(this.locks,"."));let t=new Promise(t=>{e=()=>{this.locks-=1,AV.info("lock-".concat(this.name,"-").concat(this.lockId),"unlocked, current queue ".concat(this.locks,".")),t()}}),i=this.lockingPromise.then(()=>e);return this.lockingPromise=this.lockingPromise.then(()=>t),i}}var AW=((eC=AW||{})[eC.SEND=0]="SEND",eC[eC.FEEDBACK=1]="FEEDBACK",eC),AH=((ew=AH||{})[ew.P2P=0]="P2P",ew[ew.SIGNAL=1]="SIGNAL",ew[ew.BROADCAST=2]="BROADCAST",ew[ew.BUSINESS_SERVER=3]="BUSINESS_SERVER",ew),AG=((eE=AG||{})[eE.SUCCESS=0]="SUCCESS",eE[eE.TIMEOUT=1]="TIMEOUT",eE[eE.BROKEN=2]="BROKEN",eE[eE.NO_RECEIVER=3]="NO_RECEIVER",eE[eE.NO_RELAYPATH=4]="NO_RELAYPATH",eE[eE.EXCEED_QPS=5]="EXCEED_QPS",eE[eE.SEND_TO_SERVER_ERROR=17]="SEND_TO_SERVER_ERROR",eE[eE.SERVER_RESPONSE_ERROR=18]="SERVER_RESPONSE_ERROR",eE[eE.NOT_JOIN=100]="NOT_JOIN",eE[eE.NOT_LOGIN=105]="NOT_LOGIN",eE[eE.SERVER_PARAMS_NOTSET=106]="SERVER_PARAMS_NOTSET",eE[eE.UNKNOWN=1e3]="UNKNOWN",eE);let AZ={0:[0,"success"],1:[bY.USER_MESSAGE_TIMEOUT,"timeout, failed to send."],2:[bY.USER_MESSAGE_BROKEN,"dataChannel broken, failed to send."],3:[bY.USER_MESSAGE_NO_RECEIVER,"cannot find the receiver."],4:[bY.USER_MESSAGE_NO_RECEIVER,"cannot find relay path."],5:[bY.USER_MESSAGE_EXCEED_QPS,"cannot find relay path."],17:[bY.USER_MESSAGE_SEND_TO_SERVER_ERROR,"failed to send to business server."],18:[bY.USER_MESSAGE_SERVER_RESPONSE_ERROR,"business server response error."],100:[bY.USER_MESSAGE_NOT_JOIN,"not join room"],105:[bY.USER_MESSAGE_NOT_LOGIN,"not login."],106:[bY.USER_MESSAGE_SERVER_PARAMS_NOTSET,"server param is not set."],1e3:[bY.USER_MESSAGE_UNKNOWN,"unknown."]},AK=["msg"],AX=[],AY=[we.ENGINE_CONTROL_MESSAGE];var AJ=((eT=AJ||{})[eT.C2S=0]="C2S",eT[eT.C2C=1]="C2C",eT[eT.C2GW=2]="C2GW",eT[eT.C2CDirect=3]="C2CDirect",eT[eT.C2RTM=4]="C2RTM",eT);class A$ extends C2.EventEmitter{constructor(e,t,i){super(),dY(this,"_singlingCache",new Map),dY(this,"_p2pCache",new Map),dY(this,"_rttIds",{}),dY(this,"_p2pMessageId",new xr),dY(this,"_clearDataChannelListener",void 0),dY(this,"_monitor",void 0),dY(this,"logger",void 0),this.id=e,this._dataChannel=t,this.connectionIds=i,this._clearDataChannelListener=this._handleHandler(),this._monitor=vH(e),this.logger=new bn("DataChannelSignaling",3,e)}destroy(){this._clearDataChannelListener(),delete this._dataChannel,this._singlingCache.forEach((e,t)=>{e.error(new b$(bY.OPERATION_CANCEL,"disconnect")),this._singlingCache.delete(t)}),this._singlingCache.clear(),this._p2pCache.clear(),this._rttIds={}}sendSignaling(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6e4;return new Promise((s,n)=>{var a;let o=this._genHeader(i);o.id=kY();let l=o.id.join("-"),c=mr({error_code:0,message:JSON.stringify(t),signaling_event:"call-".concat(e),signaling_type:"Send",stream_id:t.streamId,stream_user_id:t.streamUserId,direction:"up",event_session_id:l},this.connectionIds);null==(a=this._monitor)||a.report("rtc_signaling",c);let d="customMessage"===e;d&&vR(this.id,Number(o.id.join("")),t);let u=setTimeout(()=>{this._singlingCache.delete(l),n(new b$(bY.TIME_OUT,"".concat(e," message time out"))),d&&vA(this.id,t,999)},r);this._singlingCache.set(l,{start:kG(),signalingType:e,success:e=>{clearTimeout(u),s(e),d&&vA(this.id,t,0)},error:e=>{clearTimeout(u),n(e),d&&vA(this.id,t,e.code)},id:l}),this.logger.info("Signal",">>>>>> [".concat(e,"{").concat(o.functionType,"}][").concat(l,"]"),t),this._sendMessage(e,o,t)})}sendPingSignaling(){return this.sendSignaling("CheckConnectivity",{ts:Date.now()},{functionType:2})}async sendP2PMessage(e,t){let{msg:i}=e,r=vr(e,AK),s=i instanceof ArrayBuffer;return this._sendP2PMessage(vE(this.id,mr(mr({ver:1,id:this._p2pMessageId.getMessageId(),time:Date.now(),dir:AW.SEND,type:AH.P2P,err:AG.SUCCESS},r),{},{binary:s,msg:s?await kK.ab2b64str(i):i})),t)}_sendP2PMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this._genHeader(mr(mr({needAck:!0,functionType:1},t),{},{id:kY()}));return kq(e.msg)?this._rttIds[e.id]=e.id:e.dir===AW.SEND&&this.logger.info("_sendP2PMessage [DC Signaling p2p{".concat(i.functionType,"} >>]"),JSON.stringify(e)),new Promise((t,r)=>{if(e.dir===AW.SEND){let i=setTimeout(()=>{this._p2pCache.delete(e.id),r(new b$(bY.USER_MESSAGE_TIMEOUT,"P2P message timeout")),vI(this.id,e,999)},12e3);this._p2pCache.set(e.id,{success:(r,s)=>{clearTimeout(i),t(s),vI(this.id,e,0)},error:t=>{clearTimeout(i),vI(this.id,e,t.err);let[s,n]=AZ[t.err]||[bY.USER_MESSAGE_UNKNOWN,"err: ".concat(t.err,", msg: ").concat(t.msg)];r({err:t.err,code:s,message:t.msg||n})}})}try{this._sendMessage("p2p",i,e)}catch(e){throw e.code===bY.NOT_CONNECTED_YET&&(e.code=bY.USER_MESSAGE_BROKEN),e}})}_sendMessage(e,t,i){if(!this._dataChannel||"open"!==this._dataChannel.readyState)throw new b$(bY.NOT_CONNECTED_YET,"DataChannel not open");let r=S2("SIGNAL_COMPRESSION")||t.zip,s=t.version+(Number(r)<<4)+(Number(t.encrypt)<<5),n=Number(t.needAck)+(Number(t.direction)<<1)+(Number(t.functionType)<<2)+(Number(t.binary)<<6),a=kK.str2ab(JSON.stringify([e,i])),o=kZ(Uint8Array,[s,n,...t.id||[]],r||t.zip?yV.deflate(new Uint8Array(a)):new Uint8Array(a));try{this._dataChannel.send(o.buffer)}catch(e){var l;throw null==(l=this._monitor)||l.report("rtc_error",{message:"datachannel send error: ".concat(e.message),error_code:Nj.DC_SEND_ERROR}),e}"p2p"===e?vT(this.id,i,o.buffer.byteLength):"customMessage"===e&&vM(this.id,i,o.buffer.byteLength)}_dispartData(e){let t=new Uint8Array(e),i=0,r=t[i++],s=t[i++],n={version:15&r,zip:!(16&~r),encrypt:!(32&~r),needAck:!(1&~s),direction:(2&s)>>1,functionType:(60&s)>>2,binary:!(64&~s)};if(n.needAck||1===n.direction){for(;i<=6;i++)if(!k$(t[i])){i++;break}n.id=Array.from(t.slice(2,i))}return{header:n,data:t.slice(i)}}_feedbackSignaling(e,t,i){let r=this._genHeader({needAck:!0,direction:1,id:e.split("-").map(e=>Number(e))});AX.includes(t)||this.logger.info("Signal",">>>>>> [".concat(t,"-res][").concat(e,"]")),this._sendMessage("".concat(t,"-res"),r,i)}async _handleMessage(e){let t=Date.now(),{byteLength:i}=e,r=this._dispartData(e),{data:s}=r,{header:n}=r;if(n.zip){let e=new yV.Inflate;e.push(s,!0),s=e.result}let a=kK.ab2str(s),o=[];try{o=JSON.parse(a)}catch(e){var l;e instanceof Error&&(null==(l=this._monitor)||l.report("rtc_signaling_msg_error",mr({error_code:-1,message:e.message,reason:"message parse failed"},this.connectionIds)));return}switch(n.functionType){case 0:case 4:this.C2S(n,o,a,i,t);break;case 1:this.C2C(o,i,t);break;case 2:this.C2GW(n,o,a)}}async C2S(e,t,i,r,s){var n,a;let o=(null==(n=e.id)?void 0:n.join("-"))||"";if(1===e.direction)this._handleAckMessage(o,t[0]||{},i,e.functionType);else if(Array.isArray(t)){let n=t[0];t=t[1],AX.includes(n)||this.logger.info("Signal","<<<<<< ".concat(n,"{").concat(e.functionType,"}"),t,o),AY.includes(n)||this._feedbackSignaling(o,n,n===we.ON_CUSTOM_MESSAGE?mr(mr({},t),{},{message:""}):""),t.binary&&"string"==typeof t.message&&(t.message=await kK.b64str2ab(t.message,this._monitor));let l=Date.now();this.emit(n,mr({},t)),n===we.ON_CUSTOM_MESSAGE&&vP(this.id,t,{msg_size:r,recv_msg_ts:s,fwd_msg_ts:l}),null==(a=this._monitor)||a.report("rtc_signaling",mr({error_code:0,message:i,signaling_event:"on-".concat(n),signaling_type:"Recv",stream_id:t.streamId,stream_user_id:t.clientId,direction:"down"},this.connectionIds))}}async C2C(e,t,i){var r,s,n,a;Array.isArray(e)&&(e=e[1]);let o=null==(r=e)?void 0:r.id;switch(this._rttIds[o]||(null==(s=e)?void 0:s.dir)===AW.FEEDBACK||kq(null==(n=e)?void 0:n.msg)?delete this._rttIds[o]:this.logger.info("Signal","<<<<<< p2p response",e),e.dir){case AW.SEND:let l=Date.now();if(!kq(null==(a=e)?void 0:a.msg)){let{binary:t,msg:i,room:r,to:s,from:n}=e,a=""===r?t?we.USER_BINARY_MESSAGE_RECEIVED_OUTSIDE_ROOM:we.USER_MESSAGE_RECEIVED_OUTSIDE_ROOM:t?we.USER_BINARY_MESSAGE_RECEIVED:we.USER_MESSAGE_RECEIVED;s?this.emit(a,mr(mr({},e),{},{msg:t?await kK.b64str2ab(i,this._monitor):i})):this.emit(we.ON_CUSTOM_MESSAGE,{clientId:n,binary:t,message:t?await kK.b64str2ab(i,this._monitor):i})}this._sendP2PMessage(mr(mr({},e),{},{dir:AW.FEEDBACK,msg:""})),vN(this.id,e,{msg_size:t,recv_msg_ts:i,fwd_msg_ts:l});break;case AW.FEEDBACK:this._handleP2PMsgFeedback(e)}}C2GW(e,t,i){var r,s;if(1===e.direction){let s=(null==(r=e.id)?void 0:r.join("-"))||"";this._handleAckMessage(s,t[0]||{},i,e.functionType)}else{let[r,n={}]=t;if("RXMediaMsg"===r){let{type:e,data:t}=n;switch(null==(s=this._monitor)||s.report("rtc_signaling",mr({error_code:0,message:i,signaling_event:"on-".concat(e),signaling_type:"Recv",stream_id:"",stream_user_id:"",direction:"down"},this.connectionIds)),e){case"RSCP":try{let i=JSON.parse(t);Array.isArray(i)&&this.emit(e,i)}catch(e){}break;case"RTT":try{let i=JSON.parse(t);i.length&&this.emit(e,i[0])}catch(e){}break;case"SSC":try{let i=JSON.parse(t);i.length&&(this.logger.info("Signal","<<<<<< ".concat(e),i),this.emit(e,i[0]))}catch(e){}}}else"engineControlMessage"===r&&this.C2S(e,t,i,0,0)}}_handleHandler(){let e=e=>{this.logger.warn("_handleHandler","dataChannel close",e)},t=e=>{this.logger.error("_handleHandler","dataChannel error",e)},i=e=>{this._handleMessage(e.data)};return this._dataChannel.addEventListener("close",e),this._dataChannel.addEventListener("error",t),this._dataChannel.addEventListener("message",i),()=>{let r=this._dataChannel;null==r||r.removeEventListener("close",e),null==r||r.removeEventListener("error",t),null==r||r.removeEventListener("message",i)}}_genHeader(){return mr({version:2,zip:!1,encrypt:!1,needAck:!0,direction:0,functionType:0,binary:!1},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}_handleAckMessage(e,t,i,r){var s;let n=this._singlingCache.get(e);n&&(this._singlingCache.delete(e),200===t.code?n.success(t):n.error(t),this.logger.info("Signal","<<<<<< [".concat(n.signalingType,"{").concat(r,"}-ack] ").concat(e),t));let a=mr({error_code:0,message:i,signaling_event:null==n?void 0:n.signalingType,signaling_type:"Ack",stream_id:"",stream_user_id:"",direction:"down",elapse:n?kG()-n.start:0},this.connectionIds);null!=n&&n.id&&(a.event_session_id=n.id),null==(s=this._monitor)||s.report("rtc_signaling",a)}_handleP2PMsgFeedback(e){let t=this._p2pCache.get(e.id);t&&(this._p2pCache.delete(e.id),e.err===AG.SUCCESS?t.success(e.id,e):t.error(e))}}class Aq{constructor(e,t){dY(this,"roomId",void 0),dY(this,"userInfo",void 0),dY(this,"userId",void 0),dY(this,"sessionId",hK()),dY(this,"token",void 0),dY(this,"rtcVid",void 0),dY(this,"joinPromise",void 0),dY(this,"startJoinTimestamp",void 0),dY(this,"_liveControlMessage",void 0),dY(this,"_userStreamMap",new Map),dY(this,"_roomConfig",{isAutoPublish:!0,isAutoSubscribeAudio:!0,isAutoSubscribeVideo:!0,roomProfileType:hC.communication}),dY(this,"_vendorConfig",{enableMultiVendor:!1,vendorCode:0}),dY(this,"_roomAttr",{multiChatMode:!1,bigRoomMode:!1}),dY(this,"_tokenPublishPrivilegeExpired",!1),dY(this,"_tokenSubscribePrivilegeExpired",!1),dY(this,"_streamQueueMap",new Map),dY(this,"_monitor",void 0),this._ctx=t,this.roomId=e.roomId,this.userInfo=e.userInfo,this.userId=e.userInfo.userId,this.token=e.token,this._monitor=vH(t.id)}async checkJoinRoom(){await this.joinPromise}get vendorConfig(){return this._vendorConfig}setVendorConfig(e){this._vendorConfig=e}updateRoomAttributes(e){this._roomAttr=mr(mr({},this._roomAttr),e)}setLiveControlMessage(e){this._liveControlMessage=e}getLiveControlMessage(){return this._liveControlMessage}isMultiChatMode(){return this._roomAttr.multiChatMode}updateRoomConfig(e){return this._roomConfig=AO(this._roomConfig,e),this._roomConfig}get isAutoPublish(){return!this.isRTSOnlyRoom()&&this._roomConfig.isAutoPublish}get isAutoSubscribeAudio(){return!this.isRTSOnlyRoom()&&this._roomConfig.isAutoSubscribeAudio}get isAutoSubscribeVideo(){return!this.isRTSOnlyRoom()&&this._roomConfig.isAutoSubscribeVideo}get remoteVideoConfig(){return this._roomConfig.remoteVideoConfig}get roomProfileType(){return this._roomConfig.roomProfileType||hC.communication}isRTSOnlyRoom(){return this._roomConfig.roomMode===hO.ROOM_MODE_RTS_ONLY}get rtsOnlySignalHeader(){return this.isRTSOnlyRoom()?{functionType:AJ.C2RTM}:void 0}updateUserPubInfo(e){let t=this._userStreamMap.get(e.clientId)||{};e.screen?(t.screenAudio=e.attributes.audiostream,t.screenVideo=e.attributes.videostream):(t.audio=e.attributes.audiostream,t.video=e.attributes.videostream),this._userStreamMap.set(e.clientId,t)}getUserPubInfo(e){return mr({audio:!1,video:!1,screenAudio:!1,screenVideo:!1},this._userStreamMap.get(e)||{})}resetUserPubInfo(){this._userStreamMap.clear()}get tokenPublishPrivilegeExpired(){return this._tokenPublishPrivilegeExpired}get tokenSubscribePrivilegeExpired(){return this._tokenSubscribePrivilegeExpired}setTokenPublishPrivilegeExpired(e){this._tokenPublishPrivilegeExpired=e}setTokenSubscribePrivilegeExpired(e){this._tokenSubscribePrivilegeExpired=e}getStayRoomDuration(){return this.startJoinTimestamp?kG()-this.startJoinTimestamp:0}getStreamQueueLock(e){let t=this._streamQueueMap.get(e);return t||(t=new Az(e),this._streamQueueMap.set(e,t)),t}report(e,t,i){var r;null==(r=this._monitor)||r.report(e,mr({room_id:this.roomId,user_id:this.userId,rtc_session_id:this.sessionId,rtc_vid:this.rtcVid},t),i)}}let AQ=(e,t,i)=>{i.info(e,"userId: %o, subAudio: %o, subVideo: %o, audioMid: %o, videoMid: %o, sequenceId: %o",t.userId,t.subAudio,t.subVideo,t.audioMid,t.videoMid,t.sequenceId)};function A0(e,t,i){let r=i.value;return i.value=async function(){if(!this._ctx.signalingManager.isConnected())throw new b$(bY.NOT_CONNECTED_YET,"error in ".concat(t,": try again after connect"));try{await (this._roomConf||this.config).checkJoinRoom()}catch(e){throw new b$(bY.JOIN_ROOM_FAILED,"error in ".concat(t,": try again after joined"))}for(var e=arguments.length,i=Array(e),s=0;s{for(var s,n=r>1?void 0:r?A4(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&A3(t,i,n),n};class A9 extends C5{constructor(e,t){super(),dY(this,"_forwardDstRooms",new Map),dY(this,"forwardStreamState","stopped"),this._ctx=e,this._roomConf=t}async startForwardStream2Rooms(e){if("running"===this.forwardStreamState||"paused"===this.forwardStreamState)throw new b$(bY.UNEXPECTED_INVOKE_FORWARD_STREAM,"should not invoke startForwardStreamToRooms in state: ".concat(this.forwardStreamState));let t=await this._sendForwardStreamSignaling("start",this._roomConf.roomId,e);this._updateDstRooms(e,t);let i=this._transformForwardStreamResult(t);return this.forwardStreamState="running",i}async updateForwardStream2Rooms(e){if("stopped"===this.forwardStreamState)throw new b$(bY.UNEXPECTED_INVOKE_FORWARD_STREAM,"should not invoke updateForwardStreamToRooms in state: ".concat(this.forwardStreamState));let t=this._mockForwardStreamResult(e);return"running"===this.forwardStreamState&&(t=await this._sendForwardStreamSignaling("update",this._roomConf.roomId,e)),this._updateDstRooms(e,t),this._transformForwardStreamResult(t)}async stopForwardStream2Rooms(){if("stopped"===this.forwardStreamState)throw new b$(bY.UNEXPECTED_INVOKE_FORWARD_STREAM,"should not invoke stopForwardStreamToRooms in state: ".concat(this.forwardStreamState));let e=this._mockForwardStreamResult([]);if("running"===this.forwardStreamState&&(e=await this._sendForwardStreamSignaling("stop",this._roomConf.roomId)),this._updateDstRooms([],e),[...this._forwardDstRooms.keys()].length>0)throw new b$(bY.UNEXPECTED_ERROR,"stopforwardstream failed: ".concat(JSON.stringify(e)));let t=this._transformForwardStreamResult(e);return this.forwardStreamState="stopped",t}async pauseForwardStream2AllRooms(){if("paused"===this.forwardStreamState||"stopped"===this.forwardStreamState)throw new b$(bY.UNEXPECTED_INVOKE_FORWARD_STREAM,"should not invoke pauseForwardStreamToAllRooms in state: ".concat(this.forwardStreamState));let e=await this._sendForwardStreamSignaling("stop",this._roomConf.roomId),t=this._transformForwardStreamResult(e);return this.forwardStreamState="paused",t}async resumeForwardStream2AllRooms(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&["running","stopped"].includes(this.forwardStreamState))throw new b$(bY.UNEXPECTED_INVOKE_FORWARD_STREAM,"should not invoke resumeForwardStreamToAllRooms in state: ".concat(this.forwardStreamState));let e=this._getDstRooms(),t=await this._sendForwardStreamSignaling("start",this._roomConf.roomId,e);this._updateDstRooms(e,t);let i=this._transformForwardStreamResult(t);return this.forwardStreamState="running",i}resumeFromReconnect(){"running"===this.forwardStreamState&&this.resumeForwardStream2AllRooms(!0).then(e=>{e.forEach(e=>{e.state===hA.FORWARD_STREAM_STATE_FAILURE&&this.safeEmit(Av.ON_FORWARD_STREAM_ERROR,e)})})}onForwardDstRoomUserKick(e){let t=[{dstRoomId:e.dstRoomId,code:200,forwardStreamType:"stop"}];this._updateDstRooms([],t),this.safeEmit(Av.ON_FORWARD_STREAM_ERROR,{roomId:e.dstRoomId,state:hA.FORWARD_STREAM_STATE_FAILURE,error:hM.FORWARD_STREAM_ERROR_REMOTE_KICKED})}destoy(){super.removeAllListeners(),this._forwardDstRooms.clear(),this.forwardStreamState="stopped"}_mockForwardStreamResult(e){let t=[];return this._forwardDstRooms.forEach((e,i)=>{t.push({dstRoomId:i,forwardStreamType:"stop",code:200})}),e.forEach(e=>{let i=t.findIndex(t=>t.dstRoomId===e.roomId);-1===i?t.push({dstRoomId:e.roomId,forwardStreamType:"start",code:e.roomId===this._roomConf.roomId?400:200}):t[i].forwardStreamType="update"}),t}_transformForwardStreamResult(e){e||(e=[]);let t=[];for(let{dstRoomId:i,code:r}of e){let e={roomId:i,state:hA.FORWARD_STREAM_STATE_SUCCESS,error:hM.FORWARD_STREAM_ERROR_OK};200===r||(400===r?(e.state=hA.FORWARD_STREAM_STATE_FAILURE,e.error=hM.FORWARD_STREAM_ERROR_REMOTE_KICKED):r>=700&&r<800?(e.state=hA.FORWARD_STREAM_STATE_FAILURE,e.error=hM.FORWARD_STREAM_ERROR_INVALID_TOKEN):(e.state=hA.FORWARD_STREAM_STATE_FAILURE,e.error=hM.FORWARD_STREAM_ERROR_RESPONSE)),t.push(e)}return t}_updateDstRooms(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];0===t.length&&this._forwardDstRooms.clear(),t.forEach(t=>{let{dstRoomId:i,code:r,forwardStreamType:s}=t;if(200===r)if("stop"===s)this._forwardDstRooms.delete(i);else{var n;let t=e.find(e=>e.roomId===i);if(!t&&!this._forwardDstRooms.has(i))throw new b$(bY.UNEXPECTED_ERROR,"unknow roomid ".concat(i," in signaling return"));let r=null!=(n=this._forwardDstRooms.get(i))?n:{token:void 0};r=Object.assign(r,t),this._forwardDstRooms.set(i,r)}else this._forwardDstRooms.has(i)&&this._forwardDstRooms.delete(i)})}_getDstRooms(){let e=[];return this._forwardDstRooms.forEach((t,i)=>{e.push({roomId:i,token:t.token})}),e}async _sendForwardStreamSignaling(e,t,i){var r,s;let n="".concat(kJ());if("stop"!==e){let e=i.map(e=>e.roomId);this._roomConf.report("rtc_forward_stream",{type:"begin",dst_rooms:"{ ".concat(e.map(e=>'"'.concat(e,'"')).join(",")," }"),event_session_id:n})}let a={forwardStreamType:e,roomId:t};("start"===e||"update"===e)&&(a.dstRoomInfos=null==i?void 0:i.map(e=>({dstRoomId:e.roomId,dstToken:kK.token2auth(this._ctx.appId,e.roomId,this._roomConf.userId,e.token)})));let o=await this._ctx.signalingManager.sendSignaling("forwardStream",a),l=[];if(200!==(null==o?void 0:o.code))throw"stop"!==e&&(null==i||i.forEach(e=>{l.push({dst_room_id:e.roomId,result:"server error ".concat(null==o?void 0:o.code)})}),this._roomConf.report("rtc_forward_stream",{type:"end",dst_rooms:JSON.stringify(l),event_session_id:n})),new b$(bY.UNEXPECTED_ERROR,"server side internal error, error code: ".concat(o));return"stop"!==e&&(null==(r=o.forwardStreamResults)||r.forEach(e=>{l.push({dst_room_id:e.dstRoomId,result:"dst room lost"})}),null==(s=o.forwardStreamResults)||s.forEach(e=>{let t=l.find(t=>t.dst_room_id===e.dstRoomId);t&&(200===e.code?"update"===e.forwardStreamType?t.result="update":t.result="success":t.result="server error ".concat(e.code))}),this._roomConf.report("rtc_forward_stream",{type:"end",dst_rooms:JSON.stringify(l),event_session_id:n})),o.forwardStreamResults}}A5([A0],A9.prototype,"startForwardStream2Rooms",1),A5([A0],A9.prototype,"updateForwardStream2Rooms",1),A5([A0],A9.prototype,"stopForwardStream2Rooms",1),A5([A0],A9.prototype,"pauseForwardStream2AllRooms",1),A5([A0],A9.prototype,"resumeForwardStream2AllRooms",1);let A6=[{maxLayers:3,totalPixels:2073600},{maxLayers:3,totalPixels:921600},{maxLayers:3,totalPixels:518400},{maxLayers:2,totalPixels:230400},{maxLayers:2,totalPixels:129600},{maxLayers:1,totalPixels:57600},{maxLayers:1,totalPixels:0}],A8=(e,t)=>{let i=A6.findIndex(i=>e*t>=i.totalPixels),r=e*t;if(0===i)return A6[i].maxLayers;let s=A6[i-1].totalPixels;return(s-r)/(s-A6[i].totalPixels)<.1?A6[i-1].maxLayers:A6[i].maxLayers};function A7(e,t,i){var r;let s=e?null==(r=i.find(t=>t.rid===e))?void 0:r.maxkbps:i[0].maxkbps;return Math.min(null!=s?s:1/0,t)}let Me=(e,t)=>{var i,r,s,n,a,o;let l=0,c=-1,{videoDescriptions:d,subVideoDescriptions:u}=(null==t?void 0:t.attributes)||{},h=Array.isArray(u)?u:d,p=-1,m=e.width*e.height;for(let e=0;e<(null==h?void 0:h.length);e++)if(m>=(null==(a=h[e])?void 0:a.width)*(null==(o=h[e])?void 0:o.height)){p=e;break}let f=h[0];if(-1===p)p=h.length-1,f=h[p];else if(0!==p){let e=h[p-1].width*h[p-1].height,t=(e-m)/(e-h[p].width*h[p].height);f=t<.1?h[p-1]:h[p],p=t<.1?p-1:p}return c=null!=(i=null==(r=f)?void 0:r.sub_index)?i:-1,{spatialLayer:l=null!=(s=null==(n=f)?void 0:n.video_index)?s:p,spatialSubLayer:c}},Mt=e=>({width:xe(e.width),height:xe(e.height),frameRate:xe(e.frameRate),maxKbps:e.maxKbps}),Mi=e=>{let{width:t,height:i}=e;return xe(t)*xe(i)},Mr=(e,t)=>{xe(e.width),xe(t.width),xe(e.height),xe(t.height)};class Ms{constructor(e){dY(this,"_roomId",void 0),dY(this,"_constraints",{}),dY(this,"_profile",void 0),dY(this,"_customMaxBitrate",0),this._appId=e}setRoomId(e){this._roomId=e}setAudioProfile(e){this._profile=e,this._customMaxBitrate=0}get customMaxBitrate(){return this._customMaxBitrate}setCustomMaxBitrate(e){let{audio_encode:t}=bZ.getEngineWebConfig(this._appId,this._roomId||"");this._customMaxBitrate=null!=t&&t.bitrate?0:1e3*e}getOpusConfigStr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",{audio_encode:t}=bZ.getEngineWebConfig(this._appId,this._roomId||""),{sampleRate:i,channelCount:r}=this.getConstraints(),s="number"==typeof i?i:null==i?void 0:i.exact,n="number"==typeof r?r:null==r?void 0:r.exact,a={};e.split(";").forEach(e=>{let[t,i]=e.split("=");t&&i&&(a[t]=i)});let o=(null==t?void 0:t.bitrate)||this._customMaxBitrate||this._getConfigByAudioProfile().bitrate;o&&(a.maxaveragebitrate=o);let l=(null==t?void 0:t.enc_sample_rate)||s;l&&(a["sprop-maxcapturerate"]=l);let c=(null==t?void 0:t.playback_rate)||s;return c&&(a.maxplaybackrate=c),(n&&n>1||null!=t&&t.stereo)&&(a["sprop-stereo"]=1,a.stereo=1),null!=t&&t.dtx&&(a.usedtx=1),Object.keys(a).map(e=>"".concat(e,"=").concat(a[e])).join(";")}updateConstraints(e){this._constraints=mr(mr({},this._constraints),e)}getConstraints(){let e=mr({},this._constraints),{audio_capture:t}=bZ.getEngineWebConfig(this._appId,this._roomId||"");k6(null==t?void 0:t.sample_rate)||(e.sampleRate=t.sample_rate),k6(null==t?void 0:t.channel)||(e.channelCount=t.channel),k6(null==t?void 0:t.agc)||(e.autoGainControl=t.agc),k6(null==t?void 0:t.ans)||(e.noiseSuppression=t.ans),k6(null==t?void 0:t.aec)||(e.echoCancellation=t.aec);let{sampleRate:i,channel:r}=this._getConfigByAudioProfile();return k6(e.sampleRate)&&!k6(i)&&(e.sampleRate=i),k6(e.channelCount)&&!k6(r)&&(e.channelCount=r),e}_getConfigByAudioProfile(){let e={};switch(this._profile){case hw.fluent:e.sampleRate=16e3,e.bitrate=24e3;break;case hw.standard:e.sampleRate=48e3,e.bitrate=48e3;break;case hw.hd:e.sampleRate=48e3,e.bitrate=128e3,e.channel=2;break;case hw.standardStereo:e.sampleRate=48e3,e.bitrate=8e4,e.channel=2;break;case hw.hdMono:e.sampleRate=48e3,e.bitrate=128e3}return e}}let Mn={start_interval:100,multiplier:2,max_interval:3e4};class Ma{constructor(){dY(this,"_times",0),dY(this,"_config",Mn),dY(this,"initTs",kG())}getRetryDelay(){return Math.min(this._config.max_interval,Math.pow(this._config.multiplier,this._times++)*this._config.start_interval)}setConfig(e){this._config=e}reset(){this._times=0}}class Mo{constructor(e){dY(this,"_logger",void 0),dY(this,"_monitor",void 0),this._ctx=e;let t=bZ.getServerConfig(this._ctx.appId);this._logger=new bn("DecisionConfig",1,this._ctx.id),this._monitor=vH(this._ctx.id),setTimeout(()=>{this.updateConfig(t,!0)},0)}updateConfig(e,t){t||bZ.setServerConfig(this._ctx.appId,e),e.rts_report&&vb(e.rts_report),this._ctx.joinRoomConfig.setServerConfig(e.web_join_room),this._setRtsConfig(e.rts_config),this._setRtsQpsConfig(e.rts_qps),this._preConnect(e),this._getServerConfigExecutor(e,t)}_setRtsConfig(e){null!=e&&e.rts_mode&&e.rts_mode!==this._ctx.rtsMode&&(this._logger.print("_setRtsConfig","setRtsMode to %o",e.rts_mode),this._ctx.setRTSMode(e.rts_mode===wn.NORMAL_MODE?wn.NORMAL_MODE:wn.LIMIT_MODE))}_setRtsQpsConfig(e){this._logger.print("_setRtsQpsConfig",JSON.stringify(e)),this._ctx.setRtsQpsConf(e),Object.keys(this._ctx.rtsLimiter).length>0&&v$(this._ctx.id,"setRtsQpsConf",JSON.stringify(e))}_getServerConfigExecutor(e,t){var i,r,s,n,a,o,l,c,d,u,h,p,m;let{upload_console_length_cut:f,upload_report_limit:g}=(null==e?void 0:e.web_rtc_config)||{};if(h7.setParameter("UPLOAD_CONSOLE_ON",!(null==e||null==(i=e.web_rtc_config)||!i.upload_console_on)),f&&h7.setParameter("UPLOAD_CONSOLE_LENGTH_CUT",f),g&&h7.setParameter("UPLOAD_REPORT_LIMIT",g),h7.setParameter("ENABLE_REPORT_IDB_BUFFER",!(null==e||null==(r=e.web_rtc_config)||!r.enable_report_idb_buffer)),!1===(null==e||null==(s=e.web_rtc_config)?void 0:s.sdk_codec_negotiation)&&S1("SDK_CODEC_NEGOTIATION",!1),void 0!==(null==e||null==(n=e.web_rtc_config)?void 0:n.ainr_enable_dump)&&S1("AINR_ENABLE_DUMP",e.web_rtc_config.ainr_enable_dump),void 0!==(null==e||null==(a=e.web_rtc_config)?void 0:a.ainr_overload_threshold)&&S1("AINR_OVERLOAD_THRESHOLD",e.web_rtc_config.ainr_overload_threshold),void 0!==(null==e||null==(o=e.web_rtc_config)?void 0:o.ainr_urls))try{S1("AINR_URLS",JSON.parse(e.web_rtc_config.ainr_urls))}catch(e){this._logger.warn("_getServerConfigExecutor","parse AINR_URLS error %o",e)}void 0!==(null==e||null==(l=e.web_rtc_config)?void 0:l.ainr_cache_time)&&S1("AINR_CACHE_TIME",e.web_rtc_config.ainr_cache_time),void 0!==(null==e||null==(c=e.web_rtc_config)?void 0:c.ainr_dump_time)&&S1("AINR_DUMP_TIME",e.web_rtc_config.ainr_dump_time),null!=e&&null!=(d=e.web_rtc_config)&&d.web_pc_killswitch&&(this._logger.print("web_pc_killswitch update: ",JSON.stringify(e.web_rtc_config.web_pc_killswitch)),this._ctx.pcKillSwitch=mr(mr({},this._ctx.pcKillSwitch),e.web_rtc_config.web_pc_killswitch)),"boolean"==typeof(null==e||null==(u=e.web_rtc_config)?void 0:u.fallback)&&(!1===(null==e?void 0:e.web_rtc_config.fallback)?this._ctx.enableFallbackHandler=!1:Array.isArray(null==e||null==(p=e.web_rtc_config)?void 0:p.fallback_ua_reg)?this._ctx.enableFallbackHandler=null==e?void 0:e.web_rtc_config.fallback_ua_reg.every(e=>"string"==typeof e&&new RegExp(e).test(navigator.userAgent)):this._ctx.enableFallbackHandler=!1),"boolean"==typeof(null==e||null==(h=e.web_rtc_config)?void 0:h.standard)&&(!1===(null==e?void 0:e.web_rtc_config.standard)?this._ctx.enableStandardHandler=!1:Array.isArray(null==e||null==(m=e.web_rtc_config)?void 0:m.standard_ua_reg)?this._ctx.enableStandardHandler=null==e?void 0:e.web_rtc_config.standard_ua_reg.every(e=>"string"==typeof e&&new RegExp(e).test(navigator.userAgent)):this._ctx.enableStandardHandler=!1)}_preConnect(e){var t,i;let r=S2("PRE_ICE");"boolean"==typeof(null==e||null==(t=e.web_rtc_config)?void 0:t.pre_ice)&&(r=e.web_rtc_config.pre_ice),r&&(this._logger.print("preConnect","start pre ice connection."),this._ctx.signalingManager.connect(),null==(i=this._monitor)||i.set({pre_connection:!0}),this._ctx.isPreConnection=!0)}}class Ml{constructor(e){dY(this,"_reconnectTimer",void 0),dY(this,"_retryFunc",void 0),dY(this,"_abortControllers",[]),dY(this,"_monitor",void 0),dY(this,"logger",void 0),dY(this,"_groupConfigId",kH()),dY(this,"_retryLimiter",new Ma),dY(this,"_timer",void 0),dY(this,"_destroyed",!1),dY(this,"_onlineListener",()=>{this._reconnectTimer&&this._retryFunc&&(clearTimeout(this._reconnectTimer),this._retryFunc())}),dY(this,"_decisionConfig",void 0),this._ctx=e,this._monitor=vH(e.id),this.logger=new bn("ICERequest",4,e.id),this._decisionConfig=new Mo(e),window.addEventListener("online",this._onlineListener)}async getICENode(e){let t;this.logger.info("getICENode","invoke");try{if(t=await this._getAccessWithRetry(e),0===t.length)throw Error("server return empty nodes.")}catch(e){throw this._reportRtcInvokeStatus("es.join.getNodeFailed",e),new b$(bY.ICE_SERVER_WRONG,"get ICE config failed: ".concat(e.message),e)}return this.logger.success("getICENode","success"),this._reportRtcInvokeStatus("es.join.getNodeSuccess",t),t}_getAccessWithRetry(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return 0!==t&&this.logger.info("_getAccessWithRetry()","invoke feedbackInfo: %o, 201count: %o",e,t),new Promise((i,r)=>{this._getAccessNode(e).then(e=>{this._retryLimiter.reset(),i(e)}).catch(s=>{if(this._destroyed)return;if(Array.isArray(s)&&s.length>0){if(s.findIndex(e=>400<=e.code&&e.code<500)>-1)return this._retryLimiter.reset(),r(Error("HTTP request failed(4xx)"));if(s.every(e=>{var t;return 201===e.code||201===(null==(t=e.error)?void 0:t.code)})&&t++,3===t)return this._retryLimiter.reset(),r(Error("HTTP request failed(201)"))}let n=this._retryLimiter.getRetryDelay();this.logger.warn("_getAccessWithRetry()","_getAccessWithRetry error, will retry after ".concat(n,"ms"),s),this._retryFunc=()=>{this._getAccessWithRetry(e,t).then(i).catch(r)},this._reconnectTimer=self.setTimeout(this._retryFunc,n)})})}async _getAccessNode(e){return new Promise((t,i)=>{let r=bZ.getAccessNode(this._ctx.appId);if(r){let i=(Array.isArray(r)?r:[r]).map(e=>(e.cache_status=!0,e));this.logger.info("getAccessNode","use cache node."),t(i),this._timer=setTimeout(()=>{this._getAccessNodeFromServer(e).catch(()=>{}),this._reportRtcInvokeStatus("es.R.node.cache",r),delete this._timer},0)}else this._getAccessNodeFromServer(e).then(t).catch(i)})}async _getAccessNodeFromServer(e){let{urls:t,needFallback:i}=this._getAccessUrls();return this.getICEConfigFromServer(t,e).then(e=>{let{nodes:t,decisionConfig:i}=e;return!this._ctx.useCloudProxy&&(null==t?void 0:t.length)>0&&bZ.setAccessNode(this._ctx.appId,t,e.ttl||11200),i&&this._decisionConfig.updateConfig(i,!1),e.dispatchDomains&&!this._ctx.useCloudProxy&&bZ.setAccessUrls(e.dispatchDomains),t}).catch(t=>{if(i)return this._reportRtcInvokeStatus("es.R.req.fallback",""),bZ.clearAccessUrls(),this._getAccessNodeFromServer(e);throw t})}_getAccessUrls(){let e=bZ.getAccessUrls()||[],t=!0;return 0!==e.length?this._reportRtcInvokeStatus("es.R.req.cache.urls",e):(t=!1,0!==(e=SQ.ICE_CONFIG_REQUEST_URLS).length?this._reportRtcInvokeStatus("es.R.req.external.urls",e):(e=SQ.ICE_CONFIG_REQUEST_URLS_INTERNAL,this._reportRtcInvokeStatus("es.R.req.internal.urls",e))),{urls:e,needFallback:t}}async getICEConfigFromServer(e,t){var i,r;let s={appID:this._ctx.appId,deviceID:bZ.getDeviceId(),os:"web",sdkVersion:SQ.VERSION,isOversea:SQ.OVERSEA,expectedAddr:S2("EXPECTED_ADDR"),productPlatform:"VolcEngine",enableCloudProxy:this._ctx.useCloudProxy,expectedIDC:this._ctx.expectedIDC,decisionKeys:["rts_report","web_join_room","web_rtc_config","rts_qps","rts_config"],accessParams:JSON.stringify({requireICEUfragV2:!0}),userAgent:null==(i=navigator)?void 0:i.userAgent};return t&&(s.feedbackInfo=t,"ICE_FAILED"!==(null==(r=t[0])||null==(r=r.feedbackReason)?void 0:r.type)&&delete s.expectedAddr),"AREA_CODE_US_OPCO"===S2("AREA_CODE")&&(s.mediaArea=JSON.stringify([{AreaList:["GEO:US_OPCO"],Attribute:"include"}]),s.accessArea=JSON.stringify([{AreaList:["GEO:US_OPCO"],Attribute:"include"}])),this._ctx.useIPv6&&(s.ipType="ipv6"),k1(e.map(e=>this._httpRequest(e,s)))}async _httpRequest(e,t){var i,r,s,n;let a,o=kH();t.connectSessionID=o;let l=Date.now();null==(i=this._monitor)||i.report("rtc_get_access",{error_code:0,message:JSON.stringify(t),elapse:0,type:"request",host:e,config_id:o,group_config_id:this._groupConfigId});let c=new AbortController;this._abortControllers.push(c);try{try{a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},mode:"cors",body:JSON.stringify(t),signal:c.signal})}catch(e){throw hY(fetch)||null==(s=this._monitor)||s.report("rtc_error",{error_code:Nj.Fetch_MODIFY,message:"get access failed, possibly due to modifying the browser's Fetch API."},{origin_error:e}),e}if(this._abortControllers=this._abortControllers.filter(e=>e!==c),200!==a.status)throw{message:a.statusText,code:a.status};let i=await a.json();if(200!==i.code)throw i;return null==(r=this._monitor)||r.report("rtc_get_access",{error_code:200,message:JSON.stringify(i),elapse:Date.now()-l,type:"response",host:e,config_id:o,group_config_id:this._groupConfigId}),i}catch(t){throw null==(n=this._monitor)||n.report("rtc_get_access",{error_code:Number((null==t?void 0:t.code)||(null==t?void 0:t.server_code)),message:null==t?void 0:t.message,elapse:Date.now()-l,type:"response",host:e,config_id:o,group_config_id:this._groupConfigId},{error:JSON.stringify(t)}),t}}destroy(){this._destroyed=!0,window.removeEventListener("online",this._onlineListener),this._abortControllers.forEach(e=>e.abort("engine destroy")),this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),delete this._reconnectTimer),this._timer&&(window.clearTimeout(this._timer),delete this._timer)}_reportRtcInvokeStatus(e,t){var i;null==(i=this._monitor)||i.report("rtc_invoke_status",{sdk_api_name:e,message:t,error_code:0,stream_id:"",elapse:0,group_config_id:this._groupConfigId})}}var Mc={},Md={},Mu={exports:{}},Mh=Mu.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")+(null!=e.tcptype?" tcptype %s":"%v"),null!=e.generation&&(t+=" generation %d"),t+=(null!=e["network-id"]?" network-id %d":"%v")+(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: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: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){return"mediaclk:"+((null!=e.id?"id=%s %s":"%v%s")+(null!=e.mediaClockValue?"=%s":"")+(null!=e.rateNumerator?" rate=%s":""))+(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"]}]};Object.keys(Mh).forEach(function(e){Mh[e].forEach(function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")})});var Mp=Mu.exports;!function(e){var t=function(e){return String(Number(e))===e?Number(e):e},i=function(e,i,r){var s=e.name&&e.names;e.push&&!i[e.push]?i[e.push]=[]:s&&!i[e.name]&&(i[e.name]={});var n=e.push?{}:s?i[e.name]:i;!function(e,i,r,s){if(s&&!r)i[s]=t(e[1]);else for(var n=0;n1&&(e[r[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(n,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var i=[],r=e.split(" ").map(t),s=0;s=r)return e;var s=i[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(s);case"%d":return Number(s);case"%v":return""}})},M_=function(e,t,i){var r=[e+"="+(t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format)];if(t.names)for(var s=0;sMath.floor(Math.random()*Mx+1e4);function MT(e){return e>Mx-18?(Mk.warn("generateAllSsrc","reset start id",e),MT(e=e-Mx+1e4+18)):{audio:e,audioFec:e+1,audioRtx:e+2,video:e+3,videoFec:e+4,videoRtx:e+5,next:e+18}}let MI=function(e,t,i){return[{id:i,attribute:"cname",value:arguments.length>3&&void 0!==arguments[3]?arguments[3]:Mw},{id:i,attribute:"msid",value:"".concat(e," ").concat(e,"-").concat(t)},{id:i,attribute:"mslabel",value:"".concat(e)},{id:i,attribute:"label",value:"".concat(e,"-").concat(t)}]},MR=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.video,s=t.videoRtx,n=t.videoFec,a=[r,s],{cname:o,flexfec:l}=i;l&&a.push(n);let c=a.reduce((t,i)=>t.concat(MI(e,"video",i,o)),[]),d=[{semantics:"FID",ssrcs:"".concat(r," ").concat(s)}];return l&&d.push({semantics:"FEC-FR",ssrcs:"".concat(r," ").concat(n)}),{ssrcs:c,ssrcGroups:d}};function MN(e){return e.direction="inactive",e.port=0,delete e.ext,delete e.ssrcs,delete e.ssrcGroups,delete e.simulcast,delete e.simulcast_03,delete e.rids,delete e.extmapAllowMixed,delete e.msid,delete e.bundleOnly,e}let MA=function(e,t,i){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=mr(mr({},e),{},{media:[]});return r&&(s.invalid=[{value:"realx-exts:rscp"}]),t&&s.media.push(AF(t)),i&&s.media.push(AF(i)),delete s.groups,delete s.msidSemantic,MH(s)};function MM(e){let t={},{publicIPs:i,certFingerprint:r,iceParams:s,iceConfig:n}=e;return t.fingerprint={type:"sha-256",hash:r},t.icePwd=s.serverIcePwd,t.iceUfrag=Mj(s.serverIceUfrag),t.candidates=MP(i,n),t.setup="active",t.iceOptions="renomination",t}function MP(e,t){if(!Array.isArray(e))return[];let i=0,r=0x7effffff,s=[];return e.forEach(e=>{let n={component:1,ip:e.ip,type:"host",generation:e.generation};e.udpPorts&&!t.tcpOnly&&e.udpPorts.forEach(e=>{s.push(mr(mr({},n),{},{foundation:i++,transport:"udp",port:e,priority:r}))}),e.tcpPorts&&e.tcpPorts.forEach(e=>{s.push(mr(mr({},n),{},{foundation:i++,transport:"tcp",port:e,tcptype:"passive",priority:0x7efffc17}))})}),s}let Mj=e=>{let t=(new TextEncoder).encode("PREC"),i=xo(e),r=new Uint8Array(4);crypto.getRandomValues(r);let s=new Uint8Array(2);return s[0]=0,s[1]=1,xl(kZ(Uint8Array,t,i,r,s))};var ML=((eI=ML||{})[eI.kICEConfigTypeSrtpDtlsType=0]="kICEConfigTypeSrtpDtlsType",eI[eI.kICEConfigTypeRenominationType=1]="kICEConfigTypeRenominationType",eI[eI.kICEConfigTypeTcpType=2]="kICEConfigTypeTcpType",eI[eI.kICEConfigTypeMultiSendType=3]="kICEConfigTypeMultiSendType",eI[eI.kICEConfigTypeKcpType=4]="kICEConfigTypeKcpType",eI[eI.kICEConfigTypeSrtpSdesType=5]="kICEConfigTypeSrtpSdesType",eI);function MD(e){let{random:t,serverUfrag:i,serverPwd:r,clientPwd:s,options:n}=e,a=0,o=(new TextEncoder).encode("WPRE");a+=4,t||(t=new Uint8Array(4),crypto.getRandomValues(t)),a+=4;let l=xo(i);a+=1,a+=l.byteLength;let c=xc(xo(s),xo(r).subarray(0,16),xo(i).subarray(0,16));a+=1,a+=c.byteLength;let d=new Uint8Array(Object.keys(n).reduce((e,t)=>{let i=Number(t);return e.push(i),e.push(+!!n[i]),e},[]));a+=d.byteLength;let u=kZ(Uint8Array,o,t,[l.byteLength],l,[c.byteLength],c,d);return u.byteLength%3!=0&&(u=kZ(Uint8Array,u,new Uint8Array(3-u.byteLength%3).fill(255))),[xl(u),xl(kZ(Uint8Array,t,l.subarray(0,20)))]}let MO=(e,t)=>{if(!Array.isArray(e.fmtp)||!Array.isArray(e.rtp))return;for(let i=0;ii.push(e.payload)),e.payloads=i.join(" ")},MF=(e,t)=>{let i=0;if(!Array.isArray(e.fmtp)||!Array.isArray(e.rtp))return;for(let t of e.fmtp)if(t.config.includes("level-asymmetry-allowed=1")&&t.config.includes("packetization-mode=1")&&t.config.includes("profile-level-id=42e0")){i=t.payload;break}for(let r=0;rr.push(e.payload)),e.payloads=r.join(" ")},MU=e=>{let t=Mc.parse(e);return t.media=t.media.map(e=>"audio"===e.type?Mz(e,t):MB(e,["H264","VP8","ByteVC1"],t)),Mc.write(t)},MV=e=>{e.media.forEach(e=>{"audio"!==e.type&&"video"!==e.type||e.rtp.forEach(t=>{e.rtcpFb||(e.rtcpFb=[]),e.rtcpFb.find(e=>e.payload===t.payload&&"rrtr"===e.type)||e.rtcpFb.push({payload:t.payload,type:"rrtr"})})})},MB=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{rrtr:!1},s={},n={},a=-1,o=[];return Array.isArray(e.fmtp)&&e.fmtp.forEach(e=>{let{payload:t,config:i}=e;if(i.startsWith("apt=")){let e=i.slice(4);s[t]=e}else i.includes("42e0")&&i.includes("packetization-mode=1")&&(a=t)}),Array.isArray(e.rtp)&&(e.rtp=e.rtp.filter(e=>{let i,r=e.codec,l=e.payload;switch(r){case"H264":return i=!1,t.map(e=>{"H264"===e&&l===a&&(n[l]=l,o.push(l),i=!0)}),i;case"rtx":return!!n[s[l]]&&(n[l]=l,!0);case"red":case"ulpfec":case"flexfec-03":return n[l]=l,!0;default:return i=!1,t.map(e=>{e===r&&(n[l]=l,o.push(l),i=!0)}),i}})),Array.isArray(e.fmtp)&&(e.fmtp=e.fmtp.filter(e=>n[e.payload])),Array.isArray(e.rtcpFb)?e.rtcpFb=e.rtcpFb.filter(e=>n[e.payload]):e.rtcpFb=[],r.rrtr&&o.forEach(t=>{var i;null==(i=e.rtcpFb)||i.push({payload:t,type:"rrtr"})}),MW(e,i),Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>{if("http://www.webrtc.org/experiments/rtp-hdrext/video-content-type"!==e.uri&&"http://www.webrtc.org/experiments/rtp-hdrext/video-timing"!==e.uri&&"http://www.webrtc.org/experiments/rtp-hdrext/color-space"!==e.uri)return e})),"string"==typeof e.payloads&&(e.payloads=e.payloads.split(" ").filter(e=>n[e]).join(" ")),e},Mz=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{rrtr:!1},r={};if(Array.isArray(e.rtp)&&(e.rtp=e.rtp.filter(e=>{let t=e.codec,i=e.payload;return("opus"===t||"red"===t)&&(r[i]=i,!0)})),Array.isArray(e.rtcpFb)||(e.rtcpFb=[]),i.rrtr&&Object.keys(r).forEach(t=>{var i;null==(i=e.rtcpFb)||i.push({payload:Number(t),type:"rrtr"})}),MW(e,t),"string"==typeof e.payloads){let t=[];e.payloads.split(" ").forEach(e=>{r[e]&&t.push(e)}),e.payloads=t.join(" ")}return e},MW=(e,t)=>{e.iceOptions&&delete e.iceOptions,e.icePwd&&(t.icePwd=e.icePwd,delete e.icePwd),e.iceUfrag&&(t.iceUfrag=e.iceUfrag,delete e.iceUfrag),e.fingerprint&&(t.fingerprint=e.fingerprint,delete e.fingerprint)},MH=e=>MZ(e,"H265","ByteVC1"),MG=e=>MZ(e,"ByteVC1","H265"),MZ=(e,t,i)=>{let r="string"==typeof e?Mc.parse(e):e;return r.media=r.media.map(e=>("video"===e.type&&(e.rtp=e.rtp.map(e=>(e.codec===t&&(e.codec=i),e))),e)),Mc.write(r)};function MK(e,t){let i=Error().stack;vV("[DCHECK FAILED] ".concat(t),-1,{stack:i})}let MX=SL(),MY={iceServers:[],iceTransportPolicy:"all",bundlePolicy:"max-bundle",rtcpMuxPolicy:"require"};var MJ=((eR=MJ||{})[eR.DC_ERROR=0]="DC_ERROR",eR[eR.DC_CLOSE=1]="DC_CLOSE",eR[eR.ICE_FAILED=2]="ICE_FAILED",eR[eR.DESTROY=3]="DESTROY",eR[eR.TIMEOUT=4]="TIMEOUT",eR);let M$=0;class Mq extends C5{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super(),dY(this,"uuid",(M$++).toString()),dY(this,"_peerConnectionId",""),dY(this,"audioTrack4ff",void 0),dY(this,"_pc",void 0),dY(this,"_dc",void 0),dY(this,"_iceNode",void 0),dY(this,"_initSctpEvents",!1),dY(this,"_monitor",void 0),dY(this,"_offerIce",{}),dY(this,"_answerIce",{}),dY(this,"_offerSession",void 0),dY(this,"_answerSession",void 0),dY(this,"_offerMlines",[]),dY(this,"_answerMlines",[]),dY(this,"_connectReject",void 0),dY(this,"_logger",void 0),dY(this,"_destroyed",!1),dY(this,"_reportTimer",void 0),dY(this,"_onLineCheckerTimer",void 0),dY(this,"_clearPeerListeners",void 0),dY(this,"_peerConfig",void 0),dY(this,"_iceStartTs",0),dY(this,"_icePreStepTs",0),this._ctx=e,this._groupConnectionId=t,this._isReconnect=i,this._monitor=vH(e.id),this._logger=new bn("PeerConnection_".concat(this.uuid),4,e.id),this._ctx.enableFallbackHandler&&this._logger.warn("ctor","PeerConnection running in fallback mode"),this._peerConfig=MQ(e),this._pc=new RTCPeerConnection(this._peerConfig),this._pc.ontrack=e=>{var t;let i=null==(t=e.streams)||null==(t=t[0])?void 0:t.id;this._print("pc.ontrack","".concat(e.track.kind," ").concat(e.track.id," ").concat(i)),"ff-stream"===i&&(this.audioTrack4ff=e.track),this.emit("ontrack",e)},this._pc.onconnectionstatechange=()=>{this._print("onconnectionstatechange","".concat(this._pc.connectionState,". ice -> ").concat(this._pc.iceConnectionState)),"failed"!==this._pc.iceConnectionState&&"closed"!==this._pc.iceConnectionState&&"failed"!==this._pc.connectionState?"disconnected"!==this._pc.connectionState?"connecting"!==this._pc.connectionState&&"connected"!==this._pc.connectionState||clearInterval(this._onLineCheckerTimer):navigator.onLine?this.emit("disconnect",M0.ICE_FAILED):this._onLineCheckerTimer=setInterval(()=>{navigator.onLine&&(clearInterval(this._onLineCheckerTimer),this.emit("disconnect",M0.ICE_FAILED))},1e3):this.emit("disconnect",M0.ICE_FAILED)},this._pc.oniceconnectionstatechange=()=>{let e=this._pc.iceConnectionState;this._report("rtc_pre_ice_state",{message:e,ice_state:e.toUpperCase()}),this.emit("ice_state",e)}}static checkSupported(){if(!RTCPeerConnection)throw new b$(bY.NOT_SUPPORTED,"missing RTCPeerConnection API.");["addTransceiver","createDataChannel","createOffer","setLocalDescription","setRemoteDescription"].forEach(e=>{var t;if(null==(t=RTCPeerConnection)||null==(t=t.prototype)||!t[e])throw new b$(bY.NOT_SUPPORTED,"missing peer.".concat(e," API."))})}getOriginRTCPeerConnection(){return this._pc}getConnectionId(){return this._peerConnectionId}getGroupConnectionId(){return this._groupConnectionId}getIceConnectionState(){return this._pc.iceConnectionState}async createOfferSdp(){let{sdp:e}=await this._pc.createOffer();return e}async startIceConnect(e){if(this._ctx.enableStandardHandler&&!this._ctx.enableFallbackHandler)return this.startIceConnectStandard(e);this._print("connect","invoke. %o",e),this._iceNode=e;let t=this._pc.createDataChannel("signaling",{negotiated:!0,id:100});t.binaryType="arraybuffer",this._dc=t;let{offerIce:i,answerIce:r}=this._genIceInfo(e);this._offerIce=i,this._answerIce=r,bc&&bM<138&&(this._pc.addTransceiver("audio",{direction:"recvonly"}),this._pc.addTransceiver("video",{direction:"recvonly"}));let s=await this.createOfferSdp();if(!s)throw new b$(bY.NOT_SUPPORTED,"create offer sdp failed.");let n=Mc.parse(s);this._peerConnectionId=r.iceUfrag||"";let a=!i.iceUfrag&&!i.icePwd;if(a){var o,l;let t="renomination"===(null==(o=n.media[0])?void 0:o.iceOptions)||!this._ctx.enableFallbackHandler&&this._ctx.pcKillSwitch.sld_iceoption_renomination;t||(delete i.iceOptions,delete r.iceOptions),delete i.iceUfrag,delete i.icePwd;let[s,a]=MD({serverUfrag:e.iceParams.serverIceUfrag,serverPwd:e.iceParams.serverIcePwd,clientPwd:null==(l=n.media[0])?void 0:l.icePwd,options:{[ML.kICEConfigTypeSrtpDtlsType]:!0,[ML.kICEConfigTypeRenominationType]:t}});this._peerConnectionId=a,r.iceUfrag=s,this._logger.info("use serverUfrag v2",JSON.stringify({dtls:!0,renomination:t}))}this.reportRtcPreIce("ice_start");let[c]=n.media;if(this._offerIce.fingerprint=n.fingerprint||c.fingerprint,bc||this._ctx.enableFallbackHandler){n.media=n.media.map(e=>{var t,i,r,s;let n=mr(mr({},e),this._offerIce);return"video"===n.type&&(SF?(n.ext=null==(t=n.ext)?void 0:t.filter(e=>-1===e.uri.indexOf("abs-send-time")),n.rtcpFb=null==(i=n.rtcpFb)?void 0:i.filter(e=>"goog-remb"!==e.type)):(n.rtcpFb=null==(r=n.rtcpFb)?void 0:r.filter(e=>"transport-cc"!==e.type),n.ext=null==(s=n.ext)?void 0:s.filter(e=>-1===e.uri.indexOf("transport")))),n}),SU&&MV(n);let e=mr({},n);e.fingerprint=this._answerIce.fingerprint,e.media=e.media.map(e=>(delete(e=mr(mr({},e),this._answerIce)).bundleOnly,e.port=9,"application"===e.type?e.sctpmap={sctpmapNumber:5e3,app:"webrtc-datachannel",maxMessageSize:262144}:("audio"===e.type&&(e.msid="ff-stream ff-stream-audio"),e.direction="sendonly"),e)),SU&&MV(e),this._ctx.enableFallbackHandler?await this.setLocalDescription(s):await this.setLocalDescription(Mc.write(n)),await this.setRemoteDescription(Mc.write(e))}else{delete n.media,this._offerSession=mr({},n),this._answerSession=mr({},n),this._answerSession.fingerprint&&(this._answerSession.fingerprint=this._answerIce.fingerprint);let e=0;a&&(this._offerIce.iceUfrag=c.iceUfrag,this._offerIce.icePwd=c.icePwd),this._offerMlines=[mr(mr(mr({},c),this._offerIce),{},{mid:"".concat(e)})],this._answerMlines=[mr(mr(mr({},c),this._answerIce),{},{sctpmap:{sctpmapNumber:5e3,app:"webrtc-datachannel",maxMessageSize:262144},mid:"".concat(e)})],this.setDescription()}return this._reportTransportStats(),await new Promise((e,i)=>{this._connectReject=i;let r=setTimeout(()=>{var e;this.reportRtcPreIce("timeout"),null==(e=this._connectReject)||e.call(this,{code:4,message:"connect timeout"}),delete this._connectReject},8e3),s=()=>{this._print("connect","dataChannel open"),this._reportRtcInvokeStatus("es.dc.open",""),this.reportRtcPreIce("datachannel_opened"),clearTimeout(r),e(""),delete this._connectReject},n=e=>{var t,i,s,n;this._report("rtc_signaling_msg_error",{error_code:null==e||null==(t=e.error)?void 0:t.sdpLineNumber,message:null==e||null==(i=e.error)?void 0:i.errorDetail,reason:"invalid data"}),this._reportRtcInvokeStatus("es.dc.error",""),null==(s=this._connectReject)||s.call(this,{message:"dc.onerror, ".concat(null==(n=e.error)?void 0:n.errorDetail),code:0}),this.emit("disconnect",M0.DC_ERROR),delete this._connectReject,clearTimeout(r)},a=()=>{var e;this._reportRtcInvokeStatus("es.dc.close",""),null==(e=this._connectReject)||e.call(this,{message:"dc.onclose",code:1}),this.reportRtcPreIce("datachannel_closed"),this.emit("disconnect",M0.DC_CLOSE),delete this._connectReject,clearTimeout(r)},o=()=>{"connected"===this._pc.iceConnectionState?this.reportRtcPreIce("ice_connected"):"failed"!==this._pc.iceConnectionState&&"closed"!==this._pc.iceConnectionState||this.reportRtcPreIce("ice_failed")},l=()=>{var e;"failed"!==this._pc.iceConnectionState&&"closed"!==this._pc.iceConnectionState&&"failed"!==this._pc.connectionState||(null==(e=this._connectReject)||e.call(this,{message:"pc.connectionstatechange -> ".concat(this._pc.connectionState,", ice -> ").concat(this._pc.iceConnectionState),code:2}),delete this._connectReject,clearTimeout(r))};t.addEventListener("open",s),t.addEventListener("error",n),t.addEventListener("close",a),this._pc.addEventListener("iceconnectionstatechange",o),this._pc.addEventListener("connectionstatechange",l),this._clearPeerListeners=()=>{t.removeEventListener("open",s),t.removeEventListener("error",n),t.removeEventListener("close",a),this._pc.removeEventListener("iceconnectionstatechange",o),this._pc.removeEventListener("connectionstatechange",l)}}),this._print("connect","dataChannel establish success"),t}async startIceConnectStandard(e){this._print("connect","standard invoke. %o",e),this._iceNode=e;let t=this._pc.createDataChannel("signaling",{negotiated:!0,id:100});t.binaryType="arraybuffer",this._dc=t;let{offerIce:i,answerIce:r}=this._genIceInfo(e);this._offerIce=i,this._answerIce=r,bc&&bM<138&&(this._pc.addTransceiver("audio",{direction:"recvonly"}),this._pc.addTransceiver("video",{direction:"recvonly"}));let s=await this.createOfferSdp();if(!s)throw new b$(bY.NOT_SUPPORTED,"create offer sdp failed.");let n=Mc.parse(s);this._answerSession=mr({},n),this._answerSession.fingerprint&&(this._answerSession.fingerprint=this._answerIce.fingerprint);let a=n.media.find(e=>"application"===e.type);if(this._peerConnectionId=r.iceUfrag||"",!i.iceUfrag&&!i.icePwd){let t=this._ctx.pcKillSwitch.sld_iceoption_renomination||"renomination"===(null==a?void 0:a.iceOptions);t||(delete i.iceOptions,delete r.iceOptions),delete i.iceUfrag,delete i.icePwd;let[s,n]=MD({serverUfrag:e.iceParams.serverIceUfrag,serverPwd:e.iceParams.serverIcePwd,clientPwd:null==a?void 0:a.icePwd,options:{[ML.kICEConfigTypeSrtpDtlsType]:!0,[ML.kICEConfigTypeRenominationType]:t}});this._peerConnectionId=n,r.iceUfrag=s,this._logger.info("use serverUfrag v2",JSON.stringify({dtls:!0,renomination:t}))}this.reportRtcPreIce("ice_start"),this._offerIce.fingerprint=n.fingerprint||a.fingerprint;let o=mr({},n);return o.fingerprint=this._answerIce.fingerprint,o.media=o.media.map(e=>{if("application"===(e=mr(mr({},e),this._answerIce)).type&&(e.sctpmap={sctpmapNumber:5e3,app:"webrtc-datachannel",maxMessageSize:262144}),bc){if(delete e.bundleOnly,e.port=9,"audio"===e.type)e.msid="ff-stream ff-stream-audio",e.direction="sendonly";else if("video"===e.type){var t,i,r,s;SF?(e.ext=null==(t=e.ext)?void 0:t.filter(e=>-1===e.uri.indexOf("abs-send-time")),e.rtcpFb=null==(i=e.rtcpFb)?void 0:i.filter(e=>"goog-remb"!==e.type)):(e.rtcpFb=null==(r=e.rtcpFb)?void 0:r.filter(e=>"transport-cc"!==e.type),e.ext=null==(s=e.ext)?void 0:s.filter(e=>-1===e.uri.indexOf("transport"))),e.direction="sendonly"}}return e}),"v1"===this.getIceVersion()||this._ctx.pcKillSwitch.sld_iceoption_renomination?(n.media=n.media.map(e=>e=mr(mr({},e),this._offerIce)),await this.setLocalDescription(Mc.write(n))):await this.setLocalDescription(s),await this.setRemoteDescription(Mc.write(o)),this._reportTransportStats(),await new Promise((e,i)=>{this._connectReject=i;let r=setTimeout(()=>{var e;this.reportRtcPreIce("timeout"),null==(e=this._connectReject)||e.call(this,{code:4,message:"connect timeout"}),delete this._connectReject},8e3),s=()=>{this._print("connect","dataChannel open"),this._reportRtcInvokeStatus("es.dc.open",""),this.reportRtcPreIce("datachannel_opened"),clearTimeout(r),e(""),delete this._connectReject},n=e=>{var t,i,s,n;this._report("rtc_signaling_msg_error",{error_code:null==e||null==(t=e.error)?void 0:t.sdpLineNumber,message:null==e||null==(i=e.error)?void 0:i.errorDetail,reason:"invalid data"}),this._reportRtcInvokeStatus("es.dc.error",""),null==(s=this._connectReject)||s.call(this,{message:"dc.onerror, ".concat(null==(n=e.error)?void 0:n.errorDetail),code:0}),this.emit("disconnect",M0.DC_ERROR),delete this._connectReject,clearTimeout(r)},a=()=>{var e;this._reportRtcInvokeStatus("es.dc.close",""),null==(e=this._connectReject)||e.call(this,{message:"dc.onclose",code:1}),this.reportRtcPreIce("datachannel_closed"),this.emit("disconnect",M0.DC_CLOSE),delete this._connectReject,clearTimeout(r)},o=()=>{"connected"===this._pc.iceConnectionState?this.reportRtcPreIce("ice_connected"):"failed"!==this._pc.iceConnectionState&&"closed"!==this._pc.iceConnectionState||this.reportRtcPreIce("ice_failed")},l=()=>{var e;"failed"!==this._pc.iceConnectionState&&"closed"!==this._pc.iceConnectionState&&"failed"!==this._pc.connectionState||(null==(e=this._connectReject)||e.call(this,{message:"pc.connectionstatechange -> ".concat(this._pc.connectionState,", ice -> ").concat(this._pc.iceConnectionState),code:2}),delete this._connectReject,clearTimeout(r))};t.addEventListener("open",s),t.addEventListener("error",n),t.addEventListener("close",a),this._pc.addEventListener("iceconnectionstatechange",o),this._pc.addEventListener("connectionstatechange",l),this._clearPeerListeners=()=>{t.removeEventListener("open",s),t.removeEventListener("error",n),t.removeEventListener("close",a),this._pc.removeEventListener("iceconnectionstatechange",o),this._pc.removeEventListener("connectionstatechange",l)}}),this._print("connect","dataChannel establish success"),t}async setDescription(e){this._print("setDescription","invoke."),this._offerSession.media=this._offerMlines,this._answerSession.media=this._answerMlines;let t=[];this._offerMlines.forEach(e=>{"inactive"!==e.direction&&e.mid&&t.push(e.mid)}),this._offerSession.groups&&this._answerSession.groups&&(this._offerSession.groups[0].mids=t.join(" "),this._answerSession.groups[0].mids=t.join(" "));let i=kG();e&&this._report("rtc_begin_create_offer",{direction:"local"===e.streamUserId?"up":"down",stream_id:e.streamId,stream_user_id:e.streamUserId,pc_session_id:this._peerConnectionId,vendor_mode:0}),e&&this._report("rtc_create_offer",{error_code:0,direction:"local"===e.streamUserId?"up":"down",stream_id:e.streamId,stream_user_id:e.streamUserId,elapse:kG()-i}),await this.setLocalDescription(Mc.write(this._offerSession),e),await this.setRemoteDescription(Mc.write(this._answerSession),e)}async setLocalDescription(e,t){let i=kG();try{if(await this._pc.setLocalDescription({type:"offer",sdp:e}),this._report("rtc_set_description",{error_code:0,message:e,is_local:"1",direction:"local"===(null==t?void 0:t.streamUserId)?"up":"down",stream_id:(null==t?void 0:t.streamId)||"",stream_user_id:(null==t?void 0:t.streamUserId)||"",elapse:kG()-i},{type:"offer"}),!this._initSctpEvents){var r;this._initSctpEvents=!0;let e=null==(r=this._pc)?void 0:r.sctp;e&&(e.onstatechange=()=>{this._reportRtcInvokeStatus("sctp","sctp state change TO: ".concat(e.state))},e.transport&&(e.transport.onstatechange=()=>{var t;this._reportRtcInvokeStatus("dtls","dtls state change TO: ".concat(null==e||null==(t=e.transport)?void 0:t.state))}))}}catch(r){throw console.error("setLocal",r),this._report("rtc_set_description",{error_code:-1,message:r.message+e,is_local:"1",direction:"local"===(null==t?void 0:t.streamUserId)?"up":"down",stream_id:"",stream_user_id:"",elapse:kG()-i},{type:"offer"}),r}}async setRemoteDescription(e,t){let i=kG();try{e=MG(e),await this._pc.setRemoteDescription({type:"answer",sdp:e}),this._report("rtc_set_description",{error_code:0,message:e,is_local:"0",direction:"local"===(null==t?void 0:t.streamUserId)?"up":"down",stream_id:(null==t?void 0:t.streamId)||"",stream_user_id:(null==t?void 0:t.streamUserId)||"",elapse:kG()-i},{type:"answer"})}catch(r){throw console.error("setRemote",r),this._report("rtc_set_description",{error_code:-1,message:r.message+e,is_local:"0",direction:"local"===(null==t?void 0:t.streamUserId)?"up":"down",stream_id:(null==t?void 0:t.streamId)||"",stream_user_id:(null==t?void 0:t.streamUserId)||"",elapse:kG()-i},{type:"answer"}),r}}closeIceConnect(){var e,t,i,r;null==(e=this._connectReject)||e.call(this,{code:3,message:"invoke destroy()"}),delete this._connectReject,null==(t=this._pc)||t.close(),null==(i=this._dc)||i.close(),delete this._dc,this._pc.ontrack=null,this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,Nd(this._pc),null==(r=this._clearPeerListeners)||r.call(this),delete this._clearPeerListeners}reportRtcPreIce(e){var t;let i=kG();"ice_start"===e&&(this._iceStartTs=i,this._icePreStepTs=i),this._report("rtc_pre_ice",{connect_event:e,message:e,elapse:i-this._icePreStepTs,total_elapse:i-this._iceStartTs,cache_status:!(null==(t=this._iceNode)||!t.cache_status),is_reconnect:this._isReconnect}),this._icePreStepTs=i}getStatsWithLowFrequency(e,t,i){return Nc(this._pc,e,t,i)}getIceVersion(){var e,t;return null!=(e=this._iceNode)&&e.iceParams.clientIceUfrag||null!=(t=this._iceNode)&&t.iceParams.clientIcePwd?"v1":"v2"}createAnswerSdp(e,t){MK(this._answerSession,"_answerSession should be existed");let i=mr({},this._answerSession);return i.media=e,i.groups=t,Mc.write(i)}destroy(){this._print("destroy",this._peerConnectionId),super.removeAllListeners(),this.closeIceConnect(),this._destroyed=!0,this._reportTimer&&(clearTimeout(this._reportTimer),delete this._reportTimer),this._onLineCheckerTimer&&(clearInterval(this._onLineCheckerTimer),delete this._onLineCheckerTimer),delete this._pc}_genIceInfo(e){var t,i;return{offerIce:{iceUfrag:null==(t=e.iceParams)?void 0:t.clientIceUfrag,icePwd:null==(i=e.iceParams)?void 0:i.clientIcePwd,iceOptions:"renomination"},answerIce:MM(e)}}async _reportTransportStats(){var e;let t=await this.getStatsWithLowFrequency(),i={};if(t.forEach(e=>{"transport"===e.type?(i.dtls_state=e.dtlsState,i.bytes_received=e.bytesReceived,i.bytes_sent=e.bytesSent,i.ice_state=e.iceState,i.packets_received=e.packetsReceived,i.packets_sent=e.packetsSent,i.selected_candidate_pair_changes=e.selectedCandidatePairChanges):"local-candidate"===e.type||"remote-candidate"===e.type?i.candidates_info=[...i.candidates_info||[],{id:e.id,is_remote:e.isRemote,port:e.port,protocol:e.protocol,candidate_type:e.candidateType,priority:e.priority,network_type:e.networkType,candidate_ip:e.ip}]:"candidate-pair"===e.type&&(i.candidatePairsInfo={},i.candidatePairsInfo.candidate_state=e.state,i.candidatePairsInfo.writable_state=e.writable,i.candidatePairsInfo.sent_ping_requests_total=e.requestsSent,i.candidatePairsInfo.recv_ping_requests=e.requestsReceived,i.candidatePairsInfo.sent_ping_responses=e.responsesSent,i.candidatePairsInfo.recv_ping_responses=e.responsesReceived,i.candidatePairsInfo.current_rtt=e.currentRoundTripTime,i.candidatePairsInfo.total_rtt=e.totalRoundTripTime,["localCandidateId","remoteCandidateId","bytesSent","bytesReceived","availableOutgoingBitrate","availableIncomingBitrate","bytesDiscardedOnSend","consentRequestsSent","packetsDiscardedOnSend","lastPacketReceivedTimestamp","lastPacketSentTimestamp"].forEach(t=>{void 0!==e[t]&&(i.candidatePairsInfo[AD(t)]=e[t])}))}),Object.keys(i).length>0&&(null==(e=this._monitor)||e.report("rtc_transport_statistics",i)),!this._destroyed){let e="connected"===this._pc.iceConnectionState&&"connected"===this._pc.connectionState;this._reportTimer=setTimeout(()=>{this._reportTransportStats()},e?5e3:1e3)}}_print(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;r({ip:e.ip,tcp:e.tcpPorts,udp:e.udpPorts})))||[])}))}_reportRtcInvokeStatus(e,t){this._report("rtc_invoke_status",{sdk_api_name:e,message:t,error_code:0,stream_id:"",elapse:0})}}let MQ=e=>{let t=mr({},MY);return e.pcKillSwitch.ctor_sdpsemantics_add&&(t.sdpSemantics="unified-plan"),e.pcKillSwitch.ctor_encodedinsetablestream_add&&MX&&!S2("DISABLE_ENCODED_TRANSFORM")&&(t.encodedInsertableStreams=!0),t};var M0=((eN=M0||{}).ICE_FAILED="ice failed",eN.DC_ERROR="datachannel onerror",eN.DC_CLOSE="datachannel onclose",eN.NODE_CHANGE="recv nodeChange signaling",eN.NOTIFY_RECONNECT="recv notifyReconnect signaling",eN.JOIN_TIMEOUT="joinRoom timeout, retry with tcp only",eN);class M1 extends C5{constructor(e){super(),dY(this,"id",void 0),dY(this,"_monitor",void 0),dY(this,"logger",void 0),dY(this,"_getAccessManager",void 0),dY(this,"_connectionPool",new Map),dY(this,"_curConnection",void 0),dY(this,"_hasReportBrowerWarning",!1),dY(this,"_reconnectTimer",void 0),dY(this,"_connecting",!1),dY(this,"_isFirstTimeConnected",!0),dY(this,"_feedbackNodes",[]),dY(this,"_preIceStartTime",-1),dY(this,"_tcpOnlyTimer",void 0),dY(this,"_destroyed",!1),this._ctx=e,this.id=e.id,this._monitor=vH(this.id),this.logger=new bn("ConnectionManager",3,this.id),this.logger.info("constructor","invoke"),this._getAccessManager=new Ml(e)}startup(){this.logger.info("connect","invoke");try{Mq.checkSupported()}catch(e){this.asyncEmit("disconnected",e)}this._connecting||(this._onConnectStart(),Promise.resolve().then(()=>this.emit("__onGetIceConfigHook")),this._getAccess())}async reconnectByNodeChange(e){var t,i,r;this.logger.info("reconnectByNodeChange","invoke %o",e);let{nodes:s,reason:n}=e;null==(t=this._monitor)||t.report("rtc_node_change",{error_code:0,message:JSON.stringify(e),reason:JSON.stringify(n)}),bZ.clearAccessNode(this._ctx.appId),null==(i=this._curConnection)||i.pc.reportRtcPreIce("node_change");let a=(null==(r=this._curConnection)||null==(r=r.node.publicIPs[0])?void 0:r.ip)||"";this._closeCurrentConnection(),this._clearConnectionPool(),this._clearReconnectTimer(),this._onConnectStart("recv nodeChange signaling"),Array.isArray(s)&&s.length>0?this._startIceConnect(s):this._getAccess([{feedbackIP:a,feedbackReason:{type:"NODE_CHANGED",reason:n}}])}async reconnect(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.logger.info("reconnect","invoke. ".concat(t?"ICE over TCP":"")),this._closeCurrentConnection(),this._clearConnectionPool(),this._clearReconnectTimer(),this._onConnectStart(e),this._getAccess(void 0,t)}shotdown(){this.logger.info("destroy","invoke"),this._destroyed=!0,this.asyncEmit("disconnected",new b$(bY.OPERATION_CANCEL,"destroy")).then(()=>{super.removeAllListeners()}),this._clearReconnectTimer(),this._clearConnectionPool(),this._getAccessManager.destroy(),this._closeCurrentConnection()}_getAccess(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._getAccessManager.getICENode(e).then(e=>{this.emit("__onGetIceSuccessHook",e),this._startIceConnect(e,t)}).catch(e=>{this.asyncEmit("disconnected",e)}).finally(()=>{this._feedbackNodes=[]})}_startIceConnect(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this._destroyed)return;this.logger.info("_startIceConnect","invoke");let i=hK();this._preIceStartTime=kG();let r=this._ctx.joinRoomConfig.useTcpJoin,s=this._ctx.joinRoomConfig.useTcpJoinDelay,n=async r=>{t&&((r=AF(r)).iceConfig.tcpOnly=!0);let s={node:r};try{let t=new Mq(this._ctx,i,!this._isFirstTimeConnected);s.pc=t,this._connectionPool.set(t.uuid,s);let n=await t.startIceConnect(r),a=new A$(this.id,n,{connection_id:t.getConnectionId(),group_connection_id:i});s.signaling=a,t.reportRtcPreIce("datachannel_send_ping"),await a.sendPingSignaling(),t.reportRtcPreIce("datachannel_recv_pong"),this._onConnectSuccess({node:r,pc:t,signaling:a,dc:n}),this.safeEmit("__onConnectSuccessHook",e.length)}catch(e){this._onConnectionFailed(s,e)}};this.emit("__onIceConnectStartHook"),e.forEach(n),r&&!t&&(this.logger.info("_startIceConnect","tcp-only will try after ".concat(s,"ms")),this._tcpOnlyTimer=setTimeout(()=>{this.emit("connectWidthTcp"),e.forEach(e=>{(e=AF(e)).iceConfig.tcpOnly=!0,n(e)}),delete this._tcpOnlyTimer},s))}_onConnectSuccess(e){var t;(this.logger.info("connect","peer_%s connect success.",e.pc.uuid),this.emit("__onIceConnectSuccessHook",e),this._curConnection)?(e.pc.destroy(),e.signaling.destroy(),this._connectionPool.delete(e.pc.uuid)):(this._curConnection=e,this._addConnectionHandler(e.pc),null==(t=this._monitor)||t.set({connection_id:e.pc.getConnectionId()}),this._connectionPool.delete(e.pc.uuid),this._feedbackNodes.forEach(e=>this._feedbackBySignaling(e)),this._feedbackNodes=[],this._onConnectEnded(e))}_onConnectionFailed(e,t){var i,r;this.logger.info("connect","peer_%s connect failed. %s",(null==(i=e.pc)?void 0:i.uuid)||"",t.message),this.emit("__onIceConnectFailedHook",e),t.code!==MJ.DESTROY&&t.code!==bY.OPERATION_CANCEL&&(this._curConnection?this._feedbackBySignaling(e.node):this._feedbackNodes.push(e.node),this.logger.info("connect","remove cache node"),bZ.deleteAccessNode(this._ctx.appId,e.node),e.pc&&(this._connectionPool.delete(e.pc.uuid),e.pc.destroy()),null==(r=e.signaling)||r.destroy(),0!==this._connectionPool.size||this._curConnection||this._destroyed||(this.logger.error("connect","establish peerConnection failed"),this._checkBrowserUA(),kG()-this._preIceStartTime<1e3?(this._clearReconnectTimer(),this._reconnectTimer=setTimeout(()=>{delete this._reconnectTimer,this._reconnectWithIceFailed(this._feedbackNodes)},1e3)):this._reconnectWithIceFailed(this._feedbackNodes)))}_feedbackBySignaling(e){var t;null==(t=this._curConnection)||t.signaling.sendSignaling("scheduleMessage",{type:"feedback",body:{feedbackIP:e.publicIPs[0].ip,feedbackReason:{type:"ICE_FAILED",reason:{}}}})}async _reconnectWithIceFailed(e){this._onConnectStart("ice failed"),this.logger.warn("reconnect","because of ice failed"),this._getAccess(e.map(e=>({feedbackIP:e.publicIPs[0].ip,feedbackReason:{type:"ICE_FAILED",reason:{}}})))}_checkBrowserUA(){var e;!this._hasReportBrowerWarning&&this._ctx.joinRoomConfig.isBlackBrower()&&(this._hasReportBrowerWarning=!0,null==(e=this._monitor)||e.report("rtc_error",{error_code:Nj.BLACK_BROWSER,message:"failed to establish data-channel, and the current browser is on the browser blacklist."}))}_onConnectStart(e){var t,i;this.logger.info("_onConnectStart","invoke, reason: ".concat(e||"init")),this._connecting=!0,e?this.asyncEmit("reconnecting",e):this.asyncEmit("connecting");let r=hK();null==(t=this._monitor)||t.set({connect_session_id:r}),this._isFirstTimeConnected||null==(i=this._monitor)||i.report("rtc_reconnect",{error_code:1002,message:"peerconnection reconnecting",reconnect_id:r,reconnect_type:"peerconnection"},{reason:e})}_onConnectEnded(e){var t;this.logger.info("_onConnectEnded","invoke"),this._connecting=!1,this._isFirstTimeConnected||null==(t=this._monitor)||t.report("rtc_reconnected",{message:"peerconnection reconnected",reconnect_type:"peerconnection"}),this._isFirstTimeConnected=!1,this.asyncEmit("connected",e),e.node.iceConfig.tcpOnly&&(this.logger.info("_onConnectEnded","use tcp only"),v$(this._ctx.id,"connected_with_tcp_only",JSON.stringify(e.node))),this._tcpOnlyTimer&&(window.clearTimeout(this._tcpOnlyTimer),delete this._tcpOnlyTimer),this._clearConnectionPool()}_addConnectionHandler(e){e.on("disconnect",e=>{this._closeCurrentConnection(),this._clearReconnectTimer(),navigator.onLine?this.reconnect(e):this._reconnectTimer=setTimeout(()=>this.reconnect(e),3e3)})}_closeCurrentConnection(){var e,t;null==(e=this._curConnection)||e.pc.destroy(),null==(t=this._curConnection)||t.signaling.destroy(),delete this._curConnection}_clearConnectionPool(){this._connectionPool.forEach((e,t)=>{var i,r;null==(i=e.signaling)||i.destroy(),null==(r=e.pc)||r.destroy(),this._connectionPool.delete(t)})}_clearReconnectTimer(){this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),delete this._reconnectTimer)}}var M2=e2(ac.f("asyncIterator")),M3=iO,M4=pQ,M5=ty,M9=rw,M6=function(e,t,i){for(var r=M4(t),s=M9.f,n=M5.f,a=0;an;n++)if((o=_(e[n]))&&Pb(PE,o))return o;return new Pw(!1)}r=PS(e,s)}for(l=h?e.next:r.next;!(c=Pf(l,r)).done;){try{o=_(c.value)}catch(e){Px(r,"throw",e)}if("object"==typeof o&&o&&Pb(PE,o))return o}return new Pw(!1)},PI=no,PR=r2,PN=tY,PA=cr,PM=cN,PP=M6,Pj=n2,PL=rH,PD=tI,PO=Pe,PF=Pp,PU=PT,PV=function(e,t){return void 0===e?arguments.length<2?"":t:PI(e)},PB=iJ("toStringTag"),Pz=Error,PW=[].push,PH=function(e,t){var i,r=PN(PG,this);PM?i=PM(new Pz,r?PA(this):PG):PL(i=r?this:Pj(PG),PB,"Error"),void 0!==t&&PL(i,"message",PV(t)),PF(i,PH,i.stack,1),arguments.length>2&&PO(i,arguments[2]);var s=[];return PU(e,PW,{that:s}),PL(i,"errors",s),i};PM?PM(PH,Pz):PP(PH,Pz,{name:!0});var PG=PH.prototype=Pj(Pz.prototype,{constructor:PD(1,PH),message:PD(1,""),name:PD(1,"AggregateError")});PR({global:!0,constructor:!0,arity:2},{AggregateError:PH});var PZ,PK,PX,PY,PJ=e9,P$=tq,Pq=th,PQ=function(e){return P$.slice(0,e.length)===e},P0=PQ("Bun/")?"BUN":PQ("Cloudflare-Workers")?"CLOUDFLARE":PQ("Deno/")?"DENO":PQ("Node.js/")?"NODE":PJ.Bun&&"string"==typeof Bun.version?"BUN":PJ.Deno&&"object"==typeof Deno.version?"DENO":"process"===Pq(PJ.process)?"NODE":PJ.window&&PJ.document?"BROWSER":"REST",P1="NODE"===P0,P2=tX,P3=al,P4=tv,P5=iJ("species"),P9=function(e){var t=P2(e);P4&&t&&!t[P5]&&P3(t,P5,{configurable:!0,get:function(){return this}})},P6=sW,P8=il,P7=TypeError,je=rA,jt=function(e){if(P6(e))return e;throw new P7(P8(e)+" is not a constructor")},ji=tj,jr=iJ("species"),js=function(e,t){var i,r=je(e).constructor;return void 0===r||ji(i=je(r)[jr])?t:jt(i)},jn=tq,ja=/(?:ipad|iphone|ipod).*applewebkit/i.test(jn),jo=e9,jl=tr,jc=rC,jd=t_,ju=iO,jh=e6,jp=nD,jm=n6,jf=re,jg=w3,j_=ja,jy=P1,jv=jo.setImmediate,jb=jo.clearImmediate,jS=jo.process,jk=jo.Dispatch,jx=jo.Function,jC=jo.MessageChannel,jw=jo.String,jE=0,jT={},jI="onreadystatechange";jh(function(){PZ=jo.location});var jR=function(e){if(ju(jT,e)){var t=jT[e];delete jT[e],t()}},jN=function(e){return function(){jR(e)}},jA=function(e){jR(e.data)},jM=function(e){jo.postMessage(jw(e),PZ.protocol+"//"+PZ.host)};jv&&jb||(jv=function(e){jg(arguments.length,1);var t=jd(e)?e:jx(e),i=jm(arguments,1);return jT[++jE]=function(){jl(t,void 0,i)},PK(jE),jE},jb=function(e){delete jT[e]},jy?PK=function(e){jS.nextTick(jN(e))}:jk&&jk.now?PK=function(e){jk.now(jN(e))}:jC&&!j_?(PY=(PX=new jC).port2,PX.port1.onmessage=jA,PK=jc(PY.postMessage,PY)):jo.addEventListener&&jd(jo.postMessage)&&!jo.importScripts&&PZ&&"file:"!==PZ.protocol&&!jh(jM)?(PK=jM,jo.addEventListener("message",jA,!1)):PK=jI in jf("script")?function(e){jp.appendChild(jf("script"))[jI]=function(){jp.removeChild(this),jR(e)}}:function(e){setTimeout(jN(e),0)});var jP=jv,jj=function(){this.head=null,this.tail=null};jj.prototype={add:function(e){var t={item:e,next:null},i=this.tail;i?i.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var jL,jD,jO,jF,jU,jV=jj,jB=tq,jz=/ipad|iphone|ipod/i.test(jB)&&"u">typeof Pebble,jW=tq,jH=/web0s(?!.*chrome)/i.test(jW),jG=e9,jZ=wM,jK=rC,jX=jP,jY=jV,jJ=ja,j$=jz,jq=jH,jQ=P1,j0=jG.MutationObserver||jG.WebKitMutationObserver,j1=jG.document,j2=jG.process,j3=jG.Promise,j4=jZ("queueMicrotask");if(!j4){var j5=new jY,j9=function(){var e,t;for(jQ&&(e=j2.domain)&&e.exit();t=j5.get();)try{t()}catch(e){throw j5.head&&jL(),e}e&&e.enter()};jJ||jQ||jq||!j0||!j1?!j$&&j3&&j3.resolve?((jF=j3.resolve(void 0)).constructor=j3,jU=jK(jF.then,jF),jL=function(){jU(j9)}):jQ?jL=function(){j2.nextTick(j9)}:(jX=jK(jX,jG),jL=function(){jX(j9)}):(jD=!0,jO=j1.createTextNode(""),new j0(j9).observe(jO,{characterData:!0}),jL=function(){jO.data=jD=!jD}),j4=function(e){j5.head||jL(),j5.add(e)}}var j6=j4,j8=function(e,t){try{1==arguments.length?console.error(e):console.error(e,t)}catch(e){}},j7=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},Le=e9.Promise,Lt=e9,Li=Le,Lr=t_,Ls=rb,Ln=sN,La=iJ,Lo=P0,Ll=t5,Lc=Li&&Li.prototype,Ld=La("species"),Lu=!1,Lh=Lr(Lt.PromiseRejectionEvent),Lp={CONSTRUCTOR:Ls("Promise",function(){var e=Ln(Li),t=e!==String(Li);if(!t&&66===Ll||!Lc.catch||!Lc.finally)return!0;if(!Ll||Ll<51||!/native code/.test(e)){var i=new Li(function(e){e(1)}),r=function(e){e(function(){},function(){})};if((i.constructor={})[Ld]=r,!(Lu=i.then(function(){})instanceof r))return!0}return!(t||"BROWSER"!==Lo&&"DENO"!==Lo||Lh)}),REJECTION_EVENT:Lh,SUBCLASSING:Lu},Lm={},Lf=ih,Lg=TypeError,L_=function(e){var t,i;this.promise=new e(function(e,r){if(void 0!==t||void 0!==i)throw new Lg("Bad Promise constructor");t=e,i=r}),this.resolve=Lf(t),this.reject=Lf(i)};Lm.f=function(e){return new L_(e)};var Ly=r2,Lv=P1,Lb=e9,LS=tk,Lk=aa,Lx=aA,LC=P9,Lw=ih,LE=t_,LT=tz,LI=wz,LR=js,LN=jP,LA=j6,LM=j8,LP=j7,Lj=jV,LL=aY,LD=Le,LO=Lp,LF=Lm,LU="Promise",LV=LO.CONSTRUCTOR,LB=LO.REJECTION_EVENT;LO.SUBCLASSING;var Lz,LW,LH,LG=LL.getterFor(LU),LZ=LL.set,LK=LD&&LD.prototype,LX=LD,LY=LK,LJ=Lb.TypeError,L$=Lb.document,Lq=Lb.process,LQ=LF.f,L0=LQ,L1=!!(L$&&L$.createEvent&&Lb.dispatchEvent),L2="unhandledrejection",L3="rejectionhandled",L4=0,L5=1,L9=2,L6=1,L8=2,L7=function(e){var t;return!(!LT(e)||!LE(t=e.then))&&t},De=function(e,t){var i,r,s,n=t.value,a=t.state===L5,o=a?e.ok:e.fail,l=e.resolve,c=e.reject,d=e.domain;try{o?(a||(t.rejection===L8&&Dn(t),t.rejection=L6),!0===o?i=n:(d&&d.enter(),i=o(n),d&&(d.exit(),s=!0)),i===e.promise?c(new LJ("Promise-chain cycle")):(r=L7(i))?LS(r,i,l,c):l(i)):c(n)}catch(e){d&&!s&&d.exit(),c(e)}},Dt=function(e,t){e.notified||(e.notified=!0,LA(function(){for(var i,r=e.reactions;i=r.get();)De(i,e);e.notified=!1,t&&!e.rejection&&Dr(e)}))},Di=function(e,t,i){var r,s;L1?((r=L$.createEvent("Event")).promise=t,r.reason=i,r.initEvent(e,!1,!0),Lb.dispatchEvent(r)):r={promise:t,reason:i},!LB&&(s=Lb["on"+e])?s(r):e===L2&&LM("Unhandled promise rejection",i)},Dr=function(e){LS(LN,Lb,function(){var t,i=e.facade,r=e.value;if(Ds(e)&&(t=LP(function(){Lv?Lq.emit("unhandledRejection",r,i):Di(L2,i,r)}),e.rejection=Lv||Ds(e)?L8:L6,t.error))throw t.value})},Ds=function(e){return e.rejection!==L6&&!e.parent},Dn=function(e){LS(LN,Lb,function(){var t=e.facade;Lv?Lq.emit("rejectionHandled",t):Di(L3,t,e.value)})},Da=function(e,t,i){return function(r){e(t,r,i)}},Do=function(e,t,i){e.done||(e.done=!0,i&&(e=i),e.value=t,e.state=L9,Dt(e,!0))},Dl=function(e,t,i){if(!e.done){e.done=!0,i&&(e=i);try{if(e.facade===t)throw new LJ("Promise can't be resolved itself");var r=L7(t);r?LA(function(){var i={done:!1};try{LS(r,t,Da(Dl,i,e),Da(Do,i,e))}catch(t){Do(i,t,e)}}):(e.value=t,e.state=L5,Dt(e,!1))}catch(t){Do({done:!1},t,e)}}};LV&&(LY=(LX=function(e){LI(this,LY),Lw(e),LS(Lz,this);var t=LG(this);try{e(Da(Dl,t),Da(Do,t))}catch(e){Do(t,e)}}).prototype,(Lz=function(e){LZ(this,{type:LU,done:!1,notified:!1,parent:!1,reactions:new Lj,rejection:!1,state:L4,value:null})}).prototype=Lk(LY,"then",function(e,t){var i=LG(this),r=LQ(LR(this,LX));return i.parent=!0,r.ok=!LE(e)||e,r.fail=LE(t)&&t,r.domain=Lv?Lq.domain:void 0,i.state===L4?i.reactions.add(r):LA(function(){De(r,i)}),r.promise}),LW=function(){var e=new Lz,t=LG(e);this.promise=e,this.resolve=Da(Dl,t),this.reject=Da(Do,t)},LF.f=LQ=function(e){return e===LX||e===LH?new LW(e):L0(e)}),Ly({global:!0,constructor:!0,wrap:!0,forced:LV},{Promise:LX}),Lx(LX,LU,!1,!0),LC(LU);var Dc=iJ("iterator"),Dd=!1;try{var Du=0,Dh={next:function(){return{done:!!Du++}},return:function(){Dd=!0}};Dh[Dc]=function(){return this},Array.from(Dh,function(){throw 2})}catch(e){}var Dp=Le,Dm=function(e,t){try{if(!t&&!Dd)return!1}catch(e){return!1}var i=!1;try{var r={};r[Dc]=function(){return{next:function(){return{done:i=!0}}}},e(r)}catch(e){}return i},Df=Lp.CONSTRUCTOR||!Dm(function(e){Dp.all(e).then(void 0,function(){})}),Dg=tk,D_=ih,Dy=Lm,Dv=j7,Db=PT;r2({target:"Promise",stat:!0,forced:Df},{all:function(e){var t=this,i=Dy.f(t),r=i.resolve,s=i.reject,n=Dv(function(){var i=D_(t.resolve),n=[],a=0,o=1;Db(e,function(e){var l=a++,c=!1;o++,Dg(i,t,e).then(function(e){c||(c=!0,n[l]=e,--o||r(n))},s)}),--o||r(n)});return n.error&&s(n.value),i.promise}});var DS=r2,Dk=Lp.CONSTRUCTOR;Le&&Le.prototype,DS({target:"Promise",proto:!0,forced:Dk,real:!0},{catch:function(e){return this.then(void 0,e)}});var Dx=tk,DC=ih,Dw=Lm,DE=j7,DT=PT;r2({target:"Promise",stat:!0,forced:Df},{race:function(e){var t=this,i=Dw.f(t),r=i.reject,s=DE(function(){var s=DC(t.resolve);DT(e,function(e){Dx(s,t,e).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}});var DI=Lm;r2({target:"Promise",stat:!0,forced:Lp.CONSTRUCTOR},{reject:function(e){var t=DI.f(this);return(0,t.reject)(e),t.promise}});var DR=rA,DN=tz,DA=Lm,DM=function(e,t){if(DR(e),DN(t)&&t.constructor===e)return t;var i=DA.f(e);return(0,i.resolve)(t),i.promise},DP=r2,Dj=tX,DL=ix,DD=Le,DO=Lp.CONSTRUCTOR,DF=DM,DU=Dj("Promise"),DV=!DO;DP({target:"Promise",stat:!0,forced:DL},{resolve:function(e){return DF(DV&&this===DU?DD:this,e)}});var DB=tk,Dz=ih,DW=Lm,DH=j7,DG=PT;r2({target:"Promise",stat:!0,forced:Df},{allSettled:function(e){var t=this,i=DW.f(t),r=i.resolve,s=i.reject,n=DH(function(){var i=Dz(t.resolve),s=[],n=0,a=1;DG(e,function(e){var o=n++,l=!1;a++,DB(i,t,e).then(function(e){l||(l=!0,s[o]={status:"fulfilled",value:e},--a||r(s))},function(e){l||(l=!0,s[o]={status:"rejected",reason:e},--a||r(s))})}),--a||r(s)});return n.error&&s(n.value),i.promise}});var DZ=tk,DK=ih,DX=tX,DY=Lm,DJ=j7,D$=PT,Dq="No one promise resolved";r2({target:"Promise",stat:!0,forced:Df},{any:function(e){var t=this,i=DX("AggregateError"),r=DY.f(t),s=r.resolve,n=r.reject,a=DJ(function(){var r=DK(t.resolve),a=[],o=0,l=1,c=!1;D$(e,function(e){var d=o++,u=!1;l++,DZ(r,t,e).then(function(e){u||c||(c=!0,s(e))},function(e){u||c||(u=!0,a[d]=e,--l||n(new i(a,Dq)))})}),--l||n(new i(a,Dq))});return a.error&&n(a.value),r.promise}});var DQ=r2,D0=tr,D1=n6,D2=Lm,D3=ih,D4=j7,D5=e9.Promise,D9=!1;DQ({target:"Promise",stat:!0,forced:!D5||!D5.try||D4(function(){D5.try(function(e){D9=8===e},8)}).error||!D9},{try:function(e){var t=arguments.length>1?D1(arguments,1):[],i=D2.f(this),r=D4(function(){return D0(D3(e),void 0,t)});return(r.error?i.reject:i.resolve)(r.value),i.promise}});var D6=Lm;r2({target:"Promise",stat:!0},{withResolvers:function(){var e=D6.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}});var D8=r2,D7=Le,Oe=e6,Ot=tX,Oi=t_,Or=js,Os=DM,On=D7&&D7.prototype;D8({target:"Promise",proto:!0,real:!0,forced:!!D7&&Oe(function(){On.finally.call({then:function(){}},function(){})})},{finally:function(e){var t=Or(this,Ot("Promise")),i=Oi(e);return this.then(i?function(i){return Os(t,e()).then(function(){return i})}:e,i?function(i){return Os(t,e()).then(function(){throw i})}:e)}});var Oa=e2(tW.Promise);function Oo(e){var t,i,r,s=2;for(void 0!==dE&&(i=M2,r=dH);s--;){if(i&&null!=(t=e[i]))return t.call(e);if(r&&null!=(t=e[r]))return new Ol(t.call(e));i="@@asyncIterator",r="@@iterator"}throw TypeError("Object is not async iterable")}function Ol(e){function t(e){if(Object(e)!==e)return Oa.reject(TypeError(e+" is not an object."));var t=e.done;return Oa.resolve(e.value).then(function(e){return{value:e,done:t}})}return(Ol=function(e){this.s=e,this.n=e.next}).prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var i=this.s.return;return void 0===i?Oa.resolve({value:e,done:!0}):t(i.apply(this.s,arguments))},throw:function(e){var i=this.s.return;return void 0===i?Oa.reject(e):t(i.apply(this.s,arguments))}},new Ol(e)}var Oc=((eA=Oc||{})[eA.AUTO=0]="AUTO",eA[eA.MODE_L=1]="MODE_L",eA[eA.MODE_R=2]="MODE_R",eA[eA.MODE_MIX=3]="MODE_MIX",eA),Od=((eM=Od||{})[eM.PLAYOUT=0]="PLAYOUT",eM[eM.PUBLISH=1]="PUBLISH",eM[eM.PLAYOUT_AND_PUBLISH=2]="PLAYOUT_AND_PUBLISH",eM),Ou=((eP=Ou||{})[eP.AUDIO_MIXING_STATE_PRELOADED=0]="AUDIO_MIXING_STATE_PRELOADED",eP[eP.AUDIO_MIXING_STATE_PLAYING=1]="AUDIO_MIXING_STATE_PLAYING",eP[eP.AUDIO_MIXING_STATE_PAUSED=2]="AUDIO_MIXING_STATE_PAUSED",eP[eP.AUDIO_MIXING_STATE_STOPPED=3]="AUDIO_MIXING_STATE_STOPPED",eP[eP.AUDIO_MIXING_STATE_FAILED=4]="AUDIO_MIXING_STATE_FAILED",eP[eP.AUDIO_MIXING_STATE_FINISHED=5]="AUDIO_MIXING_STATE_FINISHED",eP[eP.AUDIO_MIXING_STATE_PCM_ENABLED=6]="AUDIO_MIXING_STATE_PCM_ENABLED",eP[eP.AUDIO_MIXING_STATE_PCM_DISABLED=7]="AUDIO_MIXING_STATE_PCM_DISABLED",eP);class Oh extends C2.EventEmitter{constructor(e,t){super(),dY(this,"_context",void 0),dY(this,"peerConnectionMode",0),dY(this,"id",void 0),dY(this,"_monitor",void 0),dY(this,"logger",void 0),dY(this,"_nextSsrc",ME()),dY(this,"_aSendonlyAnswerTpl",void 0),dY(this,"_vSendonlyAnswerTpl",void 0),dY(this,"_enableSubFlexfec",!1),dY(this,"audioTrack4ff",void 0),dY(this,"setLocalDescription",void 0),dY(this,"setRemoteDescription",void 0),this.peer=t,this.id=e.id,this._monitor=vH(this.id),this.logger=new bn("BasicHandler",3,e.id),this.setLocalDescription=t.setLocalDescription.bind(t),this.setRemoteDescription=t.setRemoteDescription.bind(t),this._context=e,this.peer.on("ontrack",e=>{this.emit("ontrack",e)})}destroy(){this.logger.info("destroy",this.peerConnectionId||""),super.removeAllListeners()}get _peerConnection(){return this.peer.getOriginRTCPeerConnection()}getTransceivers(){return this._peerConnection.getTransceivers()}getConnectionState(){return this._peerConnection.connectionState}internalPublish(e){let{stream:t,videoTrack:i,audioTrack:r,pubAudio:s,pubVideo:n}=e,a={direction:"sendonly",streams:[t]},o={direction:"sendonly",streams:[t]},{sendEncodings:l,videoDescriptions:c,subVideoDescriptions:d,activeSimulcastStreams:u}=this._context.videoProfile.genVideoDescriptions(e);o.sendEncodings=l,this._context.videoProfile.activeSimStreams=u,this.logger.info("publish videoTransceiverInit videoDescriptions","",o,c);let h=null==r?void 0:r.preprocessingTrack;(null==r?void 0:r.mixType)!==Od.PLAYOUT&&null!=r&&r.mixedAudioTrack&&(h=null==r?void 0:r.mixedAudioTrack),h=s&&h?h:"audio";let p=null==i?void 0:i.preprocessingTrack;p=n&&p?p:"video";try{this._reportRtcInvokeStatus("Handler.internalPublish",JSON.stringify({aTrack:hJ(h),vTrack:hJ(p),audioTransceiverInit:a,videoTransceiverInit:o}))}catch(e){}return{semantics:"unified-plan",videoDescriptions:c,subVideoDescriptions:d,audioTransceiverInit:{track:h,init:a},videoTransceiverInit:{track:p,init:o}}}async setCurrentDescription(){}createAVMlineAnswerTpl(e){let t=Mc.parse(e);t.media.forEach(e=>{if("audio"===e.type){if("sendonly"===e.direction){let t=null==e?void 0:e.rtp.find(e=>"opus"===e.codec);if(t&&null!=e&&e.fmtp){let i=null==e?void 0:e.fmtp.find(e=>e.payload===t.payload);i&&this._context&&(i.config+=";stereo=1;sprop-stereo=1")}this._aSendonlyAnswerTpl=e}}else"video"===e.type&&("sendonly"===e.direction&&(this._vSendonlyAnswerTpl=e),Array.isArray(e.rtp)&&e.rtp.forEach(e=>{var t;null!=(t=e.codec)&&t.includes("flexfec")&&(this._enableSubFlexfec=!0)}))}),SU&&MV(t)}get peerConnectionId(){return this.peer.getConnectionId()||""}addBitrateLimit(e,t){null==e||e.rtp.forEach(i=>{let{codec:r,payload:s}=i;if(["vp8","h264"].includes(r.toLocaleLowerCase())){let i=e.fmtp.find(e=>e.payload===s);i?i.config=[...i.config.split(";"),"x-google-min-bitrate=100","x-google-start-bitrate=".concat(t)].join(";"):e.fmtp.push({payload:s,config:"x-google-min-bitrate=100;x-google-start-bitrate=".concat(t)})}})}_report(e,t,i){var r;null==(r=this._monitor)||r.report(e,mr(mr({},t),{},{connection_id:this.peer.getConnectionId(),group_connection_id:this.peer.getGroupConnectionId()}),i)}_reportRtcInvokeStatus(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4?arguments[4]:void 0;this._report("rtc_invoke_status",{sdk_api_name:e,message:t,error_code:i,stream_id:r,elapse:0},s)}}let Op=new bn("queue",4);var Om=((ej=Om||{})[ej.ADD=0]="ADD",ej[ej.CLOSE=1]="CLOSE",ej),Of=((eL=Of||{}).publish="publish",eL.unpublish="unpublish",eL.subscribe="subscribe",eL.unsubscribe="unsubscribe",eL.pushtrack="pushtrack",eL.removetrack="removetrack",eL);let Og={publish:"unpublish",subscribe:"unsubscribe",pushtrack:"removetrack"},O_={publish:0,subscribe:0,pushtrack:0,unpublish:1,unsubscribe:1,removetrack:1};class Oy extends C3{constructor(){super(),dY(this,"_queue",void 0),this._queue=[]}get queue(){return this._queue}enqueue(e){let t=this._queue.length,i="";return this._queue=this._queue.filter(t=>t.streamId!==e.streamId||e.action!==Og[t.action]||(i=t.streamId,Op.info("offsetStreamId",i),!1)),this._queue.length===t&&this._queue.push(e),this.emit("start"),i}dequeue(){if(!this._queue.length)return null;let e=this._queue.length;bu&&bO>=86&&bO<=92&&(e=Math.min(this._queue.length,5));let t=O_[this._queue[0].action];for(let i=1;i{this._queueBusy||"stable"!==this._peerConnection.signalingState||(this.logger.info("dequeue start"),this.dequeue())}),null==(i=this._context.monitor)||i.set({handler_mode:"chrome"})}destroy(){super.destroy(),this._sdpQueue.destroy()}async publish(e){var t;let{stream:i,enableSimulcast:r}=e,{videoDescriptions:s,subVideoDescriptions:n,audioTransceiverInit:a,videoTransceiverInit:o}=super.internalPublish(e),l=MT(this._nextSsrc);this._nextSsrc=l.next;let c="".concat(this._mid++),d="".concat(this._mid++),u=mr(mr(mr({},this._aSendonlyOfferTpl),this.peer._offerIce),{},{mid:c,msid:"".concat(i.id," ").concat(i.id,"-audio"),ssrcs:MI(i.id,"audio",l.audio,MC)}),h=mr(mr(mr({},this._vSendonlyOfferTpl),this.peer._offerIce),{},{mid:d,msid:"".concat(i.id," ").concat(i.id,"-video")});if(r){this.logger.info("subVideoDesc","desc: %o ",n),delete h.ssrcGroups,delete h.ssrcs;let e=[];h.rids=s.map(t=>{let{rid:i}=t;return e.unshift(i),{id:i,direction:"send"}}),h.simulcast={dir1:"send",list1:e.join(";")}}else{let{ssrcs:e,ssrcGroups:t}=MR(i.id,l,{cname:MC});h.ssrcs=e,h.ssrcGroups=t}if(null!=(t=this._context.serverConfig)&&t.audioRed&&Array.isArray(u.rtp)){this.logger.info("audioCodec","use Red");let e=u.rtp.findIndex(e=>"red"===e.codec);if(-1!==e){let[t]=u.rtp.splice(e,1);u.rtp.unshift(t)}let t=[];u.rtp.forEach(e=>t.push(e.payload)),u.payloads=t.join(" ")}Array.isArray(h.ext)&&(!S2("IOS_SAFARI_ORIENTATION")&&(bd||bx)&&(h.ext=h.ext.filter(e=>{var t;return!(null!=e&&null!=(t=e.uri)&&t.includes("video-orientation"))})),h.ext=h.ext.filter(e=>{var t;return!(null!=e&&null!=(t=e.uri)&&t.includes("framemarking"))}));let p=null==u?void 0:u.rtp.find(e=>"opus"===e.codec);if(p&&u.fmtp){let e=u.fmtp.find(e=>e.payload===p.payload);e&&this._context.audioProfileManager&&(e.config=this._context.audioProfileManager.getOpusConfigStr(e.config))}return r||bd||this.addBitrateLimit(h,e.videoEncodeConfig[0].maxKbps),e.audioMLine=u,e.videoMLine=h,{partialSdp:MA(this.peer._offerSession,u,h),audioMid:c,videoMid:d,type:"incroffer",semantics:"unified-plan",videoDescriptions:s,subVideoDescriptions:n,audioTransceiverInit:a,videoTransceiverInit:o,peerConnectionMode:this.peerConnectionMode}}async subscribe(e,t){var i,r,s,n,a,o,l;let c,d;if(this.logger.info("subscribe"),!this._aRecvonlyOfferTpl||!this._vRecvonlyOfferTpl){let e=await this._genOfferSdp();await this.createAVMlineOfferTpl(e)}let u,h,p,m,f="",g="",_=!1,y=!1;e.audioMLine=u,e.videoMLine=h,e.virtual?(f="".concat(this._mid++),_=!0):t.multiChatMode?(f="".concat(this._mid++),g="".concat(this._mid++),y=!0):(_=!0,y=!0,f="".concat(this._mid++),g="".concat(this._mid++)),f&&(u=mr(mr({},AF(this._aRecvonlyOfferTpl)),{},{mid:f})),_&&(e.audioMLine=u,p={track:"audio",init:{direction:"recvonly"}}),g&&(h=mr(mr({},AF(this._vRecvonlyOfferTpl)),{},{mid:g})),y&&(e.videoMLine=h,m={track:"video",init:{direction:"recvonly"}});let v=MA(this.peer._offerSession,u,h);if(!e.enableVendorMode&&!t.multiChatMode&&!e.virtual&&this._aSendonlyAnswerTpl&&this._vSendonlyAnswerTpl){c=MT(this._nextSsrc),this._nextSsrc=c.next;let t=mr(mr(mr({},this._aSendonlyAnswerTpl),this.peer._answerIce),{},{mid:f,msid:"".concat(e.streamId).concat(this._context.avSync?"":"-audio"," ").concat(e.streamId,"-audio"),ssrcs:MI(e.streamId,"audio",c.audio)}),i=mr(mr(mr({},this._vSendonlyAnswerTpl),this.peer._answerIce),{},{mid:g,msid:"".concat(e.streamId).concat(this._context.avSync?"":"-video"," ").concat(e.streamId,"-video")},MR(e.streamId,c,{flexfec:this._enableSubFlexfec}));d={sdp:Mc.write(mr(mr({},this.peer._answerSession),{},{media:[t,i]})),sequenceId:e.sequenceId?++e.sequenceId:0},null==(s=c)||delete s.next}let b=null==(i=u)?void 0:i.rtp.find(e=>"opus"===e.codec);if(b&&null!=(r=u)&&r.fmtp){let e=null==(n=u)?void 0:n.fmtp.find(e=>e.payload===b.payload);e&&this._context&&(e.config+=";stereo=1;sprop-stereo=1")}if(e.isPublic&&bO>=86){let e=null==(a=h)?void 0:a.rtp.filter(e=>"H264"===e.codec);null!=e&&e.length&&null!=(o=h)&&o.fmtp&&(null==(l=h)||l.fmtp.forEach(t=>{e.find(e=>e.payload===t.payload)&&(t.config+=";sps-pps-idr-in-keyframe=1")}))}return{partialSdp:v,audioMid:f,videoMid:g,type:"incroffer",semantics:"unified-plan",audioTransceiverInit:p,videoTransceiverInit:m,allSsrc:c,peerConnectionMode:this.peerConnectionMode,signalingAck:d}}async handleAck(e){return this.logger.info("handleAck()","item: %o",e),this._sdpQueue.enqueue(e)}async dequeue(){this._queueBusy=!0;let e=this._sdpQueue.dequeue();if(this.logger.info("dequeue()","ret: %o",e),!e)return void(this._queueBusy=!1);let t=[];try{let{items:u,sdpStrategy:h}=e,p=[],m=[],f=[];if(h===Om.ADD){delete mr({},this.peer._answerIce).candidates;var i,r,s=!1,n=!1;try{for(var a,o,l,c,d=Oo(u);s=!(c=await d.next()).done;s=!1){let e=c.value;{let{audioMid:i,videoMid:r,action:s,audioTransceiverInit:n,videoTransceiverInit:c,signalingAck:d,stream:u,videoCodec:h,onSuccess:g,onFail:_}=e,y=u instanceof Ay;if(g&&f.push(g),_&&t.push(_),y&&d.sequenceId{var i;return null==e||null==(i=e.type)?void 0:i.localeCompare(null==t?void 0:t.type)});let b=v.media.find(e=>"audio"===e.type),S=v.media.find(e=>"video"===e.type);if(!b||!S)break;let k=mr(mr(mr({},b),this.peer._answerIce),{},{mid:i}),x=mr(mr(mr({},S),this.peer._answerIce),{},{mid:r}),{audioMLine:C,videoMLine:w,audioTransceiver:E,videoTransceiver:T}=u;if(C){let e=this.peer._offerMlines.findIndex(e=>e.mid===i);if(E){if(this._reportRtcInvokeStatus("chromeHandler.updateTrack",JSON.stringify({audioStreamTrack:hJ(null==(o=u.audioTrack)?void 0:o.preprocessingTrack)})),-1===e){this.logger.error("dequeue","audio mid not found when update sdp, %s from %o",i,this.peer._offerMlines);continue}}else n&&C&&(u.audioTransceiver=this._peerConnection.addTransceiver(n.track,n.init),this._reportRtcInvokeStatus("chromeHandler.addTrack",JSON.stringify({audioStreamTrack:hJ(n.track)})),(e=this._inactiveMlineIndex.shift())||(e=this.peer._offerMlines.length),Ov&&u.initAudioEncodedTransform());s===Of.publish&&"OPUS"!==S2("AUDIO_CODEC")&&(MO(C,S2("AUDIO_CODEC")),MO(k,S2("AUDIO_CODEC"))),this.peer._offerMlines[e]=mr({},C),this.peer._answerMlines[e]=mr({},k)}if(w){let e=this.peer._offerMlines.findIndex(e=>e.mid===r);if(T){if(this._reportRtcInvokeStatus("chromeHandler.updateTrack",JSON.stringify({audioStreamTrack:hJ(null==(l=u.videoTrack)?void 0:l.preprocessingTrack)})),-1===e){this.logger.error("dequeue","video mid not found when update sdp, %s from %o",r,this.peer._offerMlines);continue}}else c&&w&&(u.videoTransceiver=this._peerConnection.addTransceiver(c.track,c.init),this._reportRtcInvokeStatus("chromeHandler.addTrack",JSON.stringify({videoStreamTrack:hJ(c.track)})),(e=this._inactiveMlineIndex.shift())||(e=this.peer._offerMlines.length),Ov&&u.initVideoEncodedTransform());this.peer._offerMlines[e]=mr({},w),s===Of.publish&&h&&(MF(w,h),MF(x,h)),this.peer._answerMlines[e]=x}p.push(u.streamId||""),m.push(y?u.userId:"local"),y&&(u.sequenceId=d.sequenceId)}}}catch(e){n=!0,r=e}finally{try{s&&null!=d.return&&await d.return()}finally{if(n)throw r}}}else{let e={};u.forEach(t=>{let{audioMid:i,videoMid:r,action:s}=t;e[i]=i,s!==Of.removetrack&&(e[r]=r),e[i]=i}),this.peer._offerMlines=this.peer._offerMlines.map((t,i)=>(t.mid&&e[t.mid]&&(t=MN(t),this._inactiveMlineIndex.push(i)),t)),this._inactiveMlineIndex=[...new Set(this._inactiveMlineIndex)],C0(i=this._inactiveMlineIndex).call(i,(e,t)=>e-t),this.peer._answerMlines=this.peer._answerMlines.map(t=>(t.mid&&e[t.mid]&&(t=MN(t)),t))}try{await this.peer.getOriginRTCPeerConnection().createOffer(),await this.setDescription(p.length?{streamId:p.join(","),streamUserId:m.join(",")}:void 0)}catch(e){throw"have-local-offer"===this._peerConnection.signalingState&&await this._peerConnection.setLocalDescription({type:"rollback"}),e}try{f.forEach(e=>e())}catch(e){}this.logger.info("dequeue","loop")}catch(e){this.logger.error("dequeue","unknown error: %o",e),t.forEach(t=>t(e))}finally{this.dequeue()}}async getDefaultSdp(){let e=await this._genOfferSdp();this.createAVMlineOfferTpl(e);let t=Mc.parse(e),i=[];return t.media=t.media.filter(e=>"recvonly"===e.direction&&(Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"!==e.uri)),i.push("".concat(e.mid)),!0)),t.groups=[{mids:i.join(" "),type:"BUNDLE"}],SU&&MV(t),{sdp:Mc.write(t),semantics:"unified-plan",type:"incroffer"}}async rollback(e){let{stream:t}=e;t instanceof A_||await this.handleAck({action:Of.unsubscribe,streamId:t.streamId,audioMid:t.audioMid,videoMid:t.videoMid,stream:t}),delete t.audioMLine,delete t.videoMLine}createAVMlineOfferTpl(e){let t=Mc.parse(e);t.media.forEach(e=>{e.icePwd=this.peer._offerIce.icePwd,e.iceUfrag=this.peer._offerIce.iceUfrag,"audio"===e.type?"sendonly"===e.direction?this._aSendonlyOfferTpl=e:(Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"!==e.uri)),this._aRecvonlyOfferTpl=e):"video"===e.type&&("sendonly"===e.direction?this._vSendonlyOfferTpl=e:(Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"!==e.uri)),this._vRecvonlyOfferTpl=e))}),SU&&MV(t)}async _genOfferSdp(){let e;try{if(!(e=await k0(!0)))throw"pc.createOffer() return empty."}catch(t){let e="Get offer Error. ".concat(t.message|t);throw new b$(bY.NOT_SUPPORTED,e)}return e}}class OS extends Oh{constructor(e,t){var i;super(e,t),dY(this,"name","firefox"),dY(this,"_aRecvonlyOfferTpl",void 0),this.logger=new bn("FirefoxHandler",3,e.id),null==(i=this._context.monitor)||i.set({handler_mode:"firefox"})}async publish(e){var t,i;let{videoDescriptions:r,subVideoDescriptions:s,audioTransceiverInit:n,videoTransceiverInit:a}=super.internalPublish(e);e.audioTransceiver=this._peerConnection.addTransceiver(n.track,n.init),Array.isArray(a.init.sendEncodings)&&1===a.init.sendEncodings.length&&(a.init.sendEncodings=a.init.sendEncodings.map(e=>(delete e.rid,e))),e.videoTransceiver=this._peerConnection.addTransceiver(a.track,a.init);let o=kG();this._report("rtc_begin_create_offer",{direction:"up",stream_id:"",stream_user_id:"",pc_session_id:this.peerConnectionId,vendor_mode:0});let l=await this.peer.createOfferSdp();this._report("rtc_create_offer",{direction:"up",error_code:0,stream_id:"",stream_user_id:"",elapse:kG()-o});let c=Mc.parse(l);c.media=null==(t=c.media)?void 0:t.map(e=>mr(mr({},e),this.peer._offerIce)),MV(c),await this.setLocalDescription(Mc.write(c));let d=e.audioTransceiver.mid,u=e.videoTransceiver.mid,h=null,p=null;return c.media=null==(i=c.media)?void 0:i.map(e=>{if("".concat(e.mid)===d){var t,i;let r=null==(t=h=e)?void 0:t.rtp.find(e=>"opus"===e.codec);if(r&&h.fmtp){let e=h.fmtp.find(e=>e.payload===r.payload);e&&null!=(i=this._context)&&i.audioProfileManager&&(e.config=this._context.audioProfileManager.getOpusConfigStr(e.config))}}else"".concat(e.mid)===u&&(p=e);return e}),this.addBitrateLimit(p,e.videoEncodeConfig[0].maxKbps),await this.setLocalDescription(Mc.write(c)),e.initVideoEncodedTransform(),e.initAudioEncodedTransform(),{partialSdp:MA(c,h,p),audioMid:d,videoMid:u,type:"incroffer",semantics:"unified-plan",videoDescriptions:r,subVideoDescriptions:s,audioTransceiverInit:n,videoTransceiverInit:a,peerConnectionMode:this.peerConnectionMode}}async _internalChangePubCodec(){let{localDescription:e}=this._peerConnection;e&&(await this.peer.createOfferSdp(),await this._peerConnection.setLocalDescription(e))}async subscribe(e,t){var i,r,s,n,a,o,l;let c,d;this.logger.info("subscribe()");let u,h,p="",m="",f=!1,g=!1;e.virtual?f=!0:(t.multiChatMode||(f=!0),g=!0),f&&(e.audioTransceiver=this._peerConnection.addTransceiver("audio",{direction:"recvonly"})),g&&(e.videoTransceiver=this._peerConnection.addTransceiver("video",{direction:"recvonly"}));let _=kG();this._report("rtc_begin_create_offer",{direction:"up",stream_id:e.streamId,stream_user_id:e.userId,pc_session_id:this.peerConnectionId,vendor_mode:0});let y=await this.peer.createOfferSdp();this._report("rtc_create_offer",{error_code:0,direction:"up",stream_id:e.streamId,stream_user_id:e.userId,elapse:kG()-_});let v=Mc.parse(y);if(v.media=null==(i=v.media)?void 0:i.map(e=>mr(mr({},e),this.peer._offerIce)),v.media.map(e=>{var t,i,r,s;"video"===e.type&&(SF?(e.ext=null==(t=e.ext)?void 0:t.filter(e=>-1===e.uri.indexOf("abs-send-time")),e.rtcpFb=null==(i=e.rtcpFb)?void 0:i.filter(e=>"goog-remb"!==e.type)):(e.rtcpFb=null==(r=e.rtcpFb)?void 0:r.filter(e=>"transport-cc"!==e.type),e.ext=null==(s=e.ext)?void 0:s.filter(e=>-1===e.uri.indexOf("transport"))))}),SU&&MV(v),await this.setLocalDescription(Mc.write(v),{streamId:e.streamId||"",streamUserId:e.userId}),p=null==(r=e.audioTransceiver)?void 0:r.mid,m=null==(s=e.videoTransceiver)?void 0:s.mid,null==(n=v.media)||n.forEach(e=>{"".concat(e.mid)===p?u=e:"".concat(e.mid)===m&&(h=e)}),p&&u||(p="audio_".concat(m),u=mr(mr({},this._aRecvonlyOfferTpl),{},{mid:p})),e.audioMid=p,e.videoMid=m,!t.multiChatMode&&!e.virtual&&this._aSendonlyAnswerTpl&&this._aSendonlyAnswerTpl){c=MT(this._nextSsrc),this._nextSsrc=c.next;let t=mr(mr(mr({},this._aSendonlyAnswerTpl),this.peer._answerIce),{},{mid:p,msid:"".concat(e.streamId).concat(null!=(a=this._context)&&a.avSync?"":"-audio"," ").concat(e.streamId,"-audio"),ssrcs:MI(e.streamId,"audio",c.audio)}),i=mr(mr(mr({},this._vSendonlyAnswerTpl),this.peer._answerIce),{},{mid:m,msid:"".concat(e.streamId).concat(null!=(o=this._context)&&o.avSync?"":"-video"," ").concat(e.streamId,"-video")},MR(e.streamId,c,{flexfec:this._enableSubFlexfec}));d={sdp:Mc.write(mr(mr({},this.peer._answerSession),{},{media:[t,i]})),sequenceId:e.sequenceId?++e.sequenceId:0},null==(l=c)||delete l.next}return e.initVideoEncodedTransform(),e.initAudioEncodedTransform(),{partialSdp:MA(v,u,h,!1),audioMid:p,videoMid:m,type:"incroffer",semantics:"unified-plan",audioTransceiverInit:e.audioTransceiver?{track:"audio",init:{direction:"recvonly"}}:void 0,videoTransceiverInit:e.videoTransceiver?{track:"video",init:{direction:"recvonly"}}:void 0,allSsrc:c,peerConnectionMode:this.peerConnectionMode,signalingAck:d}}async handleAck(e){let{stream:t,action:i}=e;if(i===Of.removetrack)return"";if(i===Of.unpublish||i===Of.unsubscribe){try{await this.close(t),"function"==typeof e.onSuccess&&e.onSuccess()}catch(t){"function"==typeof e.onFail&&e.onFail(t)}return t.streamId||""}let{signalingAck:r,videoCodec:s}=e,n=Mc.parse(r.sdp);try{await this._internalSetRemoteDescription(n.media,t,s),"function"==typeof e.onSuccess&&e.onSuccess()}catch(t){"function"==typeof e.onFail&&e.onFail(t)}return""}async _internalSetRemoteDescription(e,t,i){var r,s;let n={},a=Mc.parse(null==(r=this._peerConnection.remoteDescription)?void 0:r.sdp);a.media.forEach(e=>{void 0!==e.mid&&(n[e.mid]=e)}),e.forEach(e=>{if("audio"===(e=mr(mr({},e),this.peer._answerIce)).type&&(t.audioMid?(e.mid=t.audioMid,n[t.audioMid]=e):n[e.mid]=e),"video"===e.type){if(t instanceof A_&&bM<=87){let t={};Array.isArray(e.rtp)&&(e.rtp=e.rtp.filter(e=>"rtx"!==e.codec||(t[e.payload]=e.payload,!1))),"string"==typeof e.payloads&&(e.payloads=e.payloads.split(" ").filter(e=>!t[e]).join(" ")),Array.isArray(e.fmtp)&&(e.fmtp=e.fmtp.filter(e=>!t[e.payload])),Array.isArray(e.rtcpFb)&&(e.fmtp=e.fmtp.filter(e=>!t[e.payload]))}i&&MF(e,i),t.videoMid?(e.mid=t.videoMid,n[t.videoMid]=e):n[e.mid]=e}});let o=Mc.parse(null==(s=this._peerConnection.localDescription)?void 0:s.sdp),l=o.media.map(e=>{let t=n[e.mid];return"inactive"===e.direction?e:t});a.groups=o.groups,a.media=l,a.media.map(e=>{if("video"===e.type){var t,i,r,s,n;SF?(e.ext=null==(t=e.ext)?void 0:t.filter(e=>-1===e.uri.indexOf("abs-send-time")),e.rtcpFb=null==(i=e.rtcpFb)?void 0:i.filter(e=>"goog-remb"!==e.type)):(e.rtcpFb=null==(r=e.rtcpFb)?void 0:r.filter(e=>"transport-cc"!==e.type),e.ext=null==(s=e.ext)?void 0:s.filter(e=>-1===e.uri.indexOf("transport"))),bM>=138&&(e.ext=null==(n=e.ext)?void 0:n.filter(e=>!e.uri.includes("sdes:mid")))}}),SU&&MV(a),await this.setRemoteDescription(Mc.write(a))}async getDefaultSdp(){let e=new RTCPeerConnection;e.addTransceiver("audio",{direction:"recvonly"}),e.addTransceiver("video",{direction:"recvonly"});let t=await e.createOffer(),i=Mc.parse(t.sdp);this.createAVMlineOfferTpl(t.sdp);let r=[];return i.media=i.media.filter(e=>{if("recvonly"===e.direction){let t="template_".concat(e.type);return e.mid=t,r.push(t),!0}return!1}),SU&&MV(i),i.groups=[{mids:r.join(" "),type:"BUNDLE"}],e.close(),{sdp:Mc.write(i),semantics:"unified-plan",type:"incroffer"}}async rollback(e){let{msid:t,stream:i,audioMid:r,videoMid:s}=e;return this.logger.warn("rollback()"),this.close(i,r,s)}async close(e,t,i){var r;this.logger.info("close()");let s=e.audioMid||t,n=e.videoMid||i,a={};e.audioTransceiver&&s&&(e.audioTransceiver.stop(),a[s]=s),e.videoTransceiver&&n&&(e.videoTransceiver.stop(),a[n]=n);let o=[],l=await this.peer.createOfferSdp(),c=Mc.parse(l);c.media=c.media.map(e=>(a[e.mid]&&(e=MN(e)),"inactive"!==e.direction&&o.push(e.mid),mr(mr({},e),this.peer._offerIce)));let d=Mc.parse(null==(r=this._peerConnection.remoteDescription)?void 0:r.sdp),u={};d.media.forEach(e=>{void 0!==e.mid&&(u[e.mid]=e)}),d.media=c.media.map(e=>"inactive"===e.direction?e:u[e.mid]),c.groups&&d.groups&&(c.groups[0].mids=o.join(" "),d.groups[0].mids=o.join(" ")),await this.setLocalDescription(Mc.write(c)),await this.setRemoteDescription(Mc.write(d))}async setCurrentDescription(){await this.peer.createOfferSdp(),this._peerConnection.localDescription&&this._peerConnection.remoteDescription&&(await this._peerConnection.setLocalDescription(this._peerConnection.localDescription),await this._peerConnection.setRemoteDescription(this._peerConnection.remoteDescription))}createAVMlineOfferTpl(e){let t=Mc.parse(e);t.media.forEach(e=>{"audio"===e.type&&(this._aRecvonlyOfferTpl=e)}),SU&&MV(t)}}class Ok extends Oh{constructor(e,t){var i,r;super(e,t),dY(this,"name","fallback"),dY(this,"_aRecvonlyOfferTpl",void 0),this.logger=new bn("FallbackHandler",3,e.id),this.logger.warn("ctor","using fallback handler"),null==(i=this._context.monitor)||i.report("rtc_error",{message:"using fallback handler",error_code:-1}),null==(r=this._context.monitor)||r.set({handler_mode:"fallback"})}async publish(e){var t;let{videoDescriptions:i,subVideoDescriptions:r,audioTransceiverInit:s,videoTransceiverInit:n}=super.internalPublish(e);e.audioTransceiver=this._peerConnection.addTransceiver(s.track,s.init),Array.isArray(n.init.sendEncodings)&&1===n.init.sendEncodings.length&&(n.init.sendEncodings=n.init.sendEncodings.map(e=>(delete e.rid,e))),e.videoTransceiver=this._peerConnection.addTransceiver(n.track,n.init);let a=kG();this._report("rtc_begin_create_offer",{direction:"up",stream_id:"",stream_user_id:"",pc_session_id:this.peerConnectionId,vendor_mode:0});let o=await this.peer.createOfferSdp();this._report("rtc_create_offer",{direction:"up",error_code:0,stream_id:"",stream_user_id:"",elapse:kG()-a});let l=Mc.parse(o);await this.setLocalDescription(o);let c=e.audioTransceiver.mid,d=e.videoTransceiver.mid,u=null,h=null;return l.media=null==(t=l.media)?void 0:t.map(e=>("".concat(e.mid)===c?u=e:"".concat(e.mid)===d&&(h=e),e)),e.initVideoEncodedTransform(),e.initAudioEncodedTransform(),{partialSdp:MA(l,u,h),audioMid:c,videoMid:d,type:"incroffer",semantics:"unified-plan",videoDescriptions:i,subVideoDescriptions:r,audioTransceiverInit:s,videoTransceiverInit:n,peerConnectionMode:this.peerConnectionMode}}async _internalChangePubCodec(){let{localDescription:e}=this._peerConnection;e&&(await this.peer.createOfferSdp(),await this._peerConnection.setLocalDescription(e))}async subscribe(e,t){var i,r,s,n,a,o;let l,c;this.logger.info("subscribe()");let d,u,h="",p="",m=!1,f=!1;e.virtual?m=!0:(t.multiChatMode||(m=!0),f=!0),m&&(e.audioTransceiver=this._peerConnection.addTransceiver("audio",{direction:"recvonly"})),f&&(e.videoTransceiver=this._peerConnection.addTransceiver("video",{direction:"recvonly"}));let g=kG();this._report("rtc_begin_create_offer",{direction:"up",stream_id:e.streamId,stream_user_id:e.userId,pc_session_id:this.peerConnectionId,vendor_mode:0});let _=await this.peer.createOfferSdp();this._report("rtc_create_offer",{error_code:0,direction:"up",stream_id:e.streamId,stream_user_id:e.userId,elapse:kG()-g});let y=Mc.parse(_);if(await this.setLocalDescription(_,{streamId:e.streamId||"",streamUserId:e.userId}),h=null==(i=e.audioTransceiver)?void 0:i.mid,p=null==(r=e.videoTransceiver)?void 0:r.mid,null==(s=y.media)||s.forEach(e=>{"".concat(e.mid)===h?d=e:"".concat(e.mid)===p&&(u=e)}),h&&d||(h="audio_".concat(p),d=mr(mr({},this._aRecvonlyOfferTpl),{},{mid:h})),e.audioMid=h,e.videoMid=p,!t.multiChatMode&&!e.virtual&&this._aSendonlyAnswerTpl&&this._aSendonlyAnswerTpl){l=MT(this._nextSsrc),this._nextSsrc=l.next;let t=mr(mr(mr({},this._aSendonlyAnswerTpl),this.peer._answerIce),{},{mid:h,msid:"".concat(e.streamId).concat(null!=(n=this._context)&&n.avSync?"":"-audio"," ").concat(e.streamId,"-audio"),ssrcs:MI(e.streamId,"audio",l.audio)}),i=mr(mr(mr({},this._vSendonlyAnswerTpl),this.peer._answerIce),{},{mid:p,msid:"".concat(e.streamId).concat(null!=(a=this._context)&&a.avSync?"":"-video"," ").concat(e.streamId,"-video")},MR(e.streamId,l,{flexfec:this._enableSubFlexfec}));c={sdp:Mc.write(mr(mr({},this.peer._answerSession),{},{media:[t,i]})),sequenceId:e.sequenceId?++e.sequenceId:0},null==(o=l)||delete o.next}return e.initVideoEncodedTransform(),e.initAudioEncodedTransform(),{partialSdp:MA(y,d,u,!1),audioMid:h,videoMid:p,type:"incroffer",semantics:"unified-plan",audioTransceiverInit:e.audioTransceiver?{track:"audio",init:{direction:"recvonly"}}:void 0,videoTransceiverInit:e.videoTransceiver?{track:"video",init:{direction:"recvonly"}}:void 0,allSsrc:l,peerConnectionMode:this.peerConnectionMode,signalingAck:c}}async handleAck(e){let{stream:t,action:i}=e;if(i===Of.removetrack)return"";if(i===Of.unpublish||i===Of.unsubscribe){try{await this.close(t),"function"==typeof e.onSuccess&&e.onSuccess()}catch(t){"function"==typeof e.onFail&&e.onFail(t)}return t.streamId||""}let{signalingAck:r,videoCodec:s}=e,n=Mc.parse(r.sdp);try{await this._internalSetRemoteDescription(n.media,t,s),"function"==typeof e.onSuccess&&e.onSuccess()}catch(t){"function"==typeof e.onFail&&e.onFail(t)}return""}async _internalSetRemoteDescription(e,t,i){var r,s;let n={},a=Mc.parse(null==(r=this._peerConnection.remoteDescription)?void 0:r.sdp);a.media.forEach(e=>{void 0!==e.mid&&(n[e.mid]=e)}),e.forEach(e=>{"audio"===(e=mr(mr({},e),this.peer._answerIce)).type&&(t.audioMid?(e.mid=t.audioMid,n[t.audioMid]=e):n[e.mid]=e),"video"===e.type&&(i&&MF(e,i),t.videoMid?(e.mid=t.videoMid,n[t.videoMid]=e):n[e.mid]=e)});let o=Mc.parse(null==(s=this._peerConnection.localDescription)?void 0:s.sdp),l=o.media.map(e=>{let t=n[e.mid];return"inactive"===e.direction?e:t});a.groups=o.groups,a.media=l,a.media.map(e=>{var t,i,r,s;"video"===e.type&&(SF?(e.ext=null==(t=e.ext)?void 0:t.filter(e=>-1===e.uri.indexOf("abs-send-time")),e.rtcpFb=null==(i=e.rtcpFb)?void 0:i.filter(e=>"goog-remb"!==e.type)):(e.rtcpFb=null==(r=e.rtcpFb)?void 0:r.filter(e=>"transport-cc"!==e.type),e.ext=null==(s=e.ext)?void 0:s.filter(e=>-1===e.uri.indexOf("transport"))))}),await this.setRemoteDescription(Mc.write(a))}async getDefaultSdp(){let e=new RTCPeerConnection;e.addTransceiver("audio",{direction:"recvonly"}),e.addTransceiver("video",{direction:"recvonly"});let t=await e.createOffer(),i=Mc.parse(t.sdp);this.createAVMlineOfferTpl(t.sdp);let r=[];return i.media=i.media.filter(e=>{if("recvonly"===e.direction){let t="template_".concat(e.type);return e.mid=t,r.push(t),!0}return!1}),i.groups=[{mids:r.join(" "),type:"BUNDLE"}],e.close(),{sdp:Mc.write(i),semantics:"unified-plan",type:"incroffer"}}async rollback(e){let{msid:t,stream:i,audioMid:r,videoMid:s}=e;return this.logger.warn("rollback()"),this.close(i,r,s)}async close(e,t,i){var r;this.logger.info("close()");let s=e.audioMid||t,n=e.videoMid||i,a={};e.audioTransceiver&&s&&(e.audioTransceiver.stop(),a[s]=s),e.videoTransceiver&&n&&(e.videoTransceiver.stop(),a[n]=n);let o=[],l=await this.peer.createOfferSdp(),c=Mc.parse(l);c.media=c.media.map(e=>(a[e.mid]&&(e=MN(e)),"inactive"!==e.direction&&o.push(e.mid),mr(mr({},e),this.peer._offerIce)));let d=Mc.parse(null==(r=this._peerConnection.remoteDescription)?void 0:r.sdp),u={};d.media.forEach(e=>{void 0!==e.mid&&(u[e.mid]=e)}),d.media=c.media.map(e=>"inactive"===e.direction?e:u[e.mid]),c.groups&&d.groups&&(c.groups[0].mids=o.join(" "),d.groups[0].mids=o.join(" ")),await this.setLocalDescription(l),await this.setRemoteDescription(Mc.write(d))}async setCurrentDescription(){await this.peer.createOfferSdp(),this._peerConnection.localDescription&&this._peerConnection.remoteDescription&&(await this._peerConnection.setLocalDescription(this._peerConnection.localDescription),await this._peerConnection.setRemoteDescription(this._peerConnection.remoteDescription))}createAVMlineOfferTpl(e){Mc.parse(e).media.forEach(e=>{"audio"===e.type&&(this._aRecvonlyOfferTpl=e)})}}var Ox=Object.defineProperty,OC=Object.getOwnPropertyDescriptor,Ow=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?OC(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&Ox(t,i,n),n};class OE{constructor(e){dY(this,"_queue",[]),dY(this,"_runningTask",[]),dY(this,"executor",void 0),dY(this,"busy",!1),this.executor=e}add(e){let{promise:t,resolve:i,reject:r}=OM();return this._queue.push({item:e,resolve:i,reject:r}),this.busy||this._emit(),t}destroy(){[...this._queue,...this._runningTask].forEach(e=>{let{reject:t}=e;t(new b$(bY.OPERATION_CANCEL,"queue close"))}),this.busy=!1,this._queue=[]}async _emit(){let e=this._queue;if(this._runningTask=e,this._queue=[],0===e.length)return void(this.busy=!1);let t=e.map(e=>e.item),i=e.map(e=>e.resolve),r=e.map(e=>e.reject);try{this.busy=!0;let e=await this.executor(t);i.forEach(t=>t(e))}catch(e){r.forEach(t=>t(e))}this._runningTask=[],setTimeout(()=>{this._emit()})}}function OT(){return SL()||Sj()}class OI extends Oh{constructor(e,t){var i;super(e,t),dY(this,"name","standard"),dY(this,"_applyQueue",new OE(this.apply.bind(this))),dY(this,"_createQueue",new OE(this.create.bind(this))),dY(this,"_pqueue",new OA),dY(this,"_midMap",new Map),dY(this,"_aRecvonlyOfferTpl",void 0),this.logger=new bn("StandardHandler",3,e.id),this.logger.warn("ctor","using standard handler"),null==(i=this._context.monitor)||i.set({handler_mode:"standard"}),this._peerConnection.addTransceiver("audio",{direction:"recvonly"}),this._peerConnection.addTransceiver("video",{direction:"recvonly"})}async publish(e){var t;this.logger.info("publish()","streamId: ".concat(e.streamId));let{videoDescriptions:i,subVideoDescriptions:r,audioTransceiverInit:s,videoTransceiverInit:n}=super.internalPublish(e);e.audioTransceiver=this._peerConnection.addTransceiver(s.track,mr(mr({},s.init),{},{direction:"sendonly"})),Array.isArray(n.init.sendEncodings)&&1===n.init.sendEncodings.length&&(n.init.sendEncodings=n.init.sendEncodings.map(e=>(delete e.rid,e))),e.videoTransceiver=this._peerConnection.addTransceiver(n.track,mr(mr({},n.init),{},{direction:"sendonly"}));let a=kG();this._report("rtc_begin_create_offer",{direction:"up",stream_id:"",stream_user_id:"",pc_session_id:this.peerConnectionId,vendor_mode:0});let o=await this._createQueue.add();this._report("rtc_create_offer",{direction:"up",error_code:0,stream_id:"",stream_user_id:"",elapse:kG()-a});let l=e.audioTransceiver.mid,c=e.videoTransceiver.mid;MK(l&&c,"Transceiver not return MID after setLocalDescription"),e.audioMid=l,e.videoMid=c;let d=null,u=null,h=Mc.parse(o);return h.media=null==(t=h.media)?void 0:t.map(e=>("".concat(e.mid)===l?d=e:"".concat(e.mid)===c&&(u=e),e)),OT()&&(e.initVideoEncodedTransform(),e.initAudioEncodedTransform()),{partialSdp:MA(h,d,u),audioMid:l,videoMid:c,type:"incroffer",semantics:"unified-plan",videoDescriptions:i,subVideoDescriptions:r,audioTransceiverInit:s,videoTransceiverInit:n,peerConnectionMode:this.peerConnectionMode}}async subscribe(e,t){var i,r,s,n,a,o,l,c;let d,u;this.logger.info("subscribe()","streamId: ".concat(e.streamId));let h,p,m=!1,f=!1;e.virtual?m=!0:(t.multiChatMode||(m=!0),f=!0),m&&(e.audioTransceiver=this._peerConnection.addTransceiver("audio",{direction:"recvonly"})),f&&(e.videoTransceiver=this._peerConnection.addTransceiver("video",{direction:"recvonly"}));let g=kG();this._report("rtc_begin_create_offer",{direction:"up",stream_id:e.streamId,stream_user_id:e.userId,pc_session_id:this.peerConnectionId,vendor_mode:0});let _=await this._createQueue.add();this._report("rtc_create_offer",{error_code:0,direction:"up",stream_id:e.streamId,stream_user_id:e.userId,elapse:kG()-g});let y=null!=(i=null==(r=e.audioTransceiver)?void 0:r.mid)?i:void 0,v=null!=(s=null==(n=e.videoTransceiver)?void 0:n.mid)?s:void 0,b=Mc.parse(_);if(null==(a=b.media)||a.forEach(e=>{"".concat(e.mid)===y?h=e:"".concat(e.mid)===v&&(p=e)}),y&&h||(y="audio_".concat(v),h=mr(mr({},this._aRecvonlyOfferTpl),{},{mid:y})),e.audioMid=y,e.videoMid=v,!t.multiChatMode&&!e.virtual&&this._aSendonlyAnswerTpl&&this._aSendonlyAnswerTpl){d=this._generateAllSsrc();let t=mr(mr(mr({},this._aSendonlyAnswerTpl),this.peer._answerIce),{},{mid:y,msid:"".concat(e.streamId).concat(null!=(o=this._context)&&o.avSync?"":"-audio"," ").concat(e.streamId,"-audio"),ssrcs:MI(e.streamId,"audio",d.audio)}),i=mr(mr(mr({},this._vSendonlyAnswerTpl),this.peer._answerIce),{},{mid:v,msid:"".concat(e.streamId).concat(null!=(l=this._context)&&l.avSync?"":"-video"," ").concat(e.streamId,"-video")},MR(e.streamId,d,{flexfec:this._enableSubFlexfec}));u={sdp:Mc.write(mr(mr({},this.peer._answerSession),{},{media:[t,i]})),sequenceId:e.sequenceId?++e.sequenceId:0},null==(c=d)||delete c.next}return OT()&&(e.initVideoEncodedTransform(),e.initAudioEncodedTransform()),{partialSdp:MA(b,h,p),audioMid:y,videoMid:v||"",type:"incroffer",semantics:"unified-plan",audioTransceiverInit:e.audioTransceiver?{track:"audio",init:{direction:"recvonly"}}:void 0,videoTransceiverInit:e.videoTransceiver?{track:"video",init:{direction:"recvonly"}}:void 0,allSsrc:d,peerConnectionMode:this.peerConnectionMode,signalingAck:u}}async handleAck(e){let{stream:t,action:i}=e;if(i===Of.removetrack)return"";if(i===Of.unpublish||i===Of.unsubscribe){try{await this.close(t),"function"==typeof e.onSuccess&&e.onSuccess()}catch(t){"function"==typeof e.onFail&&e.onFail(t)}return t.streamId||""}let{signalingAck:r,videoCodec:s}=e,n=Mc.parse(r.sdp);try{await this._internalSetRemoteDescription(n.media,t,s),"function"==typeof e.onSuccess&&e.onSuccess()}catch(t){"function"==typeof e.onFail&&e.onFail(t)}return""}async _internalSetRemoteDescription(e,t,i){e.forEach(e=>{"audio"===(e=mr(mr({},e),this.peer._answerIce)).type&&(t.audioMid?(e.mid=t.audioMid,this._midMap.set(t.audioMid,e)):this._midMap.set(e.mid,e)),"video"===e.type&&(i&&MF(e,i),t.videoMid?(e.mid=t.videoMid,this._midMap.set(t.videoMid,e)):this._midMap.set(e.mid,e))}),t instanceof A_?this.handlePublishAction({stream:t,videoCodec:i}):this.handleSubscribeAction({stream:t}),await this._applyQueue.add()}handlePublishAction(e){var t;let{videoCodec:i,stream:r}=e,s=r.audioMid?this._midMap.get(r.audioMid):void 0,n=r.videoMid?this._midMap.get(r.videoMid):void 0;this._context.pcKillSwitch.sld_rtcpfb_rrtr_add&&SU&&(ON.addRRTR(s),ON.addRRTR(n));let a=null!=(t=this._context.serverConfig)&&t.audioRed?"RED":S2("AUDIO_CODEC");"OPUS"!==a&&s&&MO(s,a),this._context.pcKillSwitch.sld_fmtp_opus_add&&ON.decorateOpusConfig(s,this._context.audioProfileManager),bc&&bM<=87&&ON.removeRtxInMLine(n),i&&n&&MF(n,i),this._context.pcKillSwitch.sld_ext_sdesmid_remove&&bc&&bM>=138&&ON.removeExtSdesMid(n),this._context.pcKillSwitch.sld_fmtp_bitrate_add&&(r.enableSimulcast||bd||!n||this.addBitrateLimit(n,r.videoEncodeConfig[0].maxKbps)),bc&&ON.selectCC(n,SF?"tcc":"remb"),r.audioMid&&s&&this._midMap.set(r.audioMid,s),r.videoMid&&n&&this._midMap.set(r.videoMid,n)}handleSubscribeAction(e){let{stream:t}=e,i=t.audioMid?this._midMap.get(t.audioMid):void 0,r=t.videoMid?this._midMap.get(t.videoMid):void 0;bc||(ON.removeRtpStreamId(i),ON.removeRtpStreamId(r)),this._context.pcKillSwitch.sld_rtcpfb_rrtr_add&&SU&&(ON.addRRTR(i),ON.addRRTR(r)),this._context.pcKillSwitch.sld_fmtp_opus_add&&ON.decorateOpusConfig(i),!S2("IOS_SAFARI_ORIENTATION")&&(bd||bx)&&ON.removeExtVideoOrientation(r),this._context.pcKillSwitch.sld_fmtp_sps_add&&t.isPublic&&bu&&bO>=86&&ON.decorateSpsPpsIdrInKeyframe(r),t.audioMid&&i&&this._midMap.set(t.audioMid,i),t.videoMid&&r&&this._midMap.set(t.videoMid,r)}async getDefaultSdp(){let e=new RTCPeerConnection;e.addTransceiver("audio",{direction:"recvonly"}),e.addTransceiver("video",{direction:"recvonly"});let t=await e.createOffer(),i=Mc.parse(t.sdp);this.createAVMlineOfferTpl(t.sdp);let r=[];return i.media=i.media.filter(e=>{if("recvonly"===e.direction){let t="template_".concat(e.type);return e.mid=t,r.push(t),!0}return!1}),SU&&MV(i),i.groups=[{mids:r.join(" "),type:"BUNDLE"}],e.close(),{sdp:Mc.write(i),semantics:"unified-plan",type:"incroffer"}}async rollback(e){let{msid:t,stream:i,audioMid:r,videoMid:s}=e;return this.logger.warn("rollback()"),this.close(i,r,s)}async close(e,t,i){this.logger.info("close()");let r=e.audioMid||t,s=e.videoMid||i;if(e.audioTransceiver&&r)try{e.audioTransceiver.stop(),delete e.audioTransceiver}catch(e){}if(e.videoTransceiver&&s)try{e.videoTransceiver.stop(),delete e.videoTransceiver}catch(e){}let n=r?this._midMap.get(r):void 0,a=s?this._midMap.get(s):void 0;n&&MN(n),a&&MN(a),r&&n&&this._midMap.set(r,n),s&&a&&this._midMap.set(s,a),await this._applyQueue.add()}async setCurrentDescription(){await this._applyQueue.add()}createAVMlineOfferTpl(e){Mc.parse(e).media.forEach(e=>{"audio"===e.type&&(this._aRecvonlyOfferTpl=e)})}_generateAllSsrc(){let e=MT(this._nextSsrc);return this._nextSsrc=e.next,e}async create(){this.logger.info("RTCPeerConnection create");let e=await this.peer.createOfferSdp();return MK(e,"RTCPeerConnection not return SDP"),await this.peer.setLocalDescription(e),e}async apply(){this.logger.info("RTCPeerConnection apply");let e=await this.peer.createOfferSdp();MK(e,"RTCPeerConnection not return SDP");let t=Mc.parse(e);e=this.generateOffer(t,e);let i=this.generateAnswer(t);await this.setLocalDescription(e),await this.setRemoteDescription(i)}generateOffer(e,t){let i=!1;return"v1"===this.peer.getIceVersion()&&bc&&(e.media=e.media.map(e=>mr(mr({},e),this.peer._offerIce)),i=!0),this._context.pcKillSwitch.sld_fmtp_opus_add&&(e.media=e.media.map(e=>{if("audio"===e.type){let t="sendonly"===e.direction;ON.decorateOpusConfig(e,t?this._context.audioProfileManager:void 0)}return e}),i=!0),this._context.pcKillSwitch.sld_rtcpfb_rrtr_add&&(e.media=e.media.map(e=>(SU&&("audio"===e.type||"video"===e.type)&&ON.addRRTR(e),e)),i=!0),i?Mc.write(e):t}generateAnswer(e){let t=[];return e.media.forEach(e=>{if("application"===e.type){MK(void 0!==e.mid,"should always have mid in mline");let i=this._midMap.get(e.mid);return i||(i=this.generateDCAnswer(e),this._midMap.set(e.mid,i)),void t.push(mr({},i))}let i="".concat(e.mid);MK(i,"No MID in offer m-line: ".concat(e));let r=this._midMap.get(i);r||(this.logger.info("generateInactiveAnswerMLine","mid: %o, mLine: %o",e.mid,e),r=this.generateInactiveAnswerMLine(e)),t.push(r)}),this.peer.createAnswerSdp(t,e.groups)}generateInactiveAnswerMLine(e){return mr(mr(mr({},e),this.peer._answerIce),{},{direction:"inactive"})}generateDCAnswer(e){let t=mr(mr(mr({},e),this.peer._answerIce),{},{sctpmap:{sctpmapNumber:5e3,app:"webrtc-datachannel",maxMessageSize:262144}});return bc&&(delete t.bundleOnly,t.port=9),t}destroy(){super.destroy(),this._pqueue.destroy(),this._applyQueue.destroy(),this._createQueue.destroy()}}function OR(e,t,i){let r=i.value;return i.value=async function(){let e=this.logger;e.info("SDP Lock","pending task %o",t);let i=await this._pqueue.enqueue(1);e.info("SDP Lock","running task %o",t);try{for(var s=arguments.length,n=Array(s),a=0;a"opus"===e.codec);if(!i||!e.fmtp)return;let r=e.fmtp.find(e=>e.payload===i.payload);r&&(t&&(r.config=t.getOpusConfigStr(r.config)),r.config=OP(r.config))},removeRtxInMLine(e){var t;if(!e)return;let i=[];e.rtp=e.rtp.filter(e=>("rtx"===e.codec&&i.push(e.payload),"rtx"!==e.codec)),e.fmtp=e.fmtp.filter(e=>i.includes(e.payload)),e.payloads=null==(t=e.payloads)?void 0:t.split(" ").filter(e=>!i.includes(parseInt(e))).join(" ")},removeExtSdesMid(e){var t;e&&(e.ext=null==(t=e.ext)?void 0:t.filter(e=>!e.uri.includes("sdes:mid")))},selectCC(e,t){var i,r,s,n;e&&("tcc"===t?(e.ext=null==(i=e.ext)?void 0:i.filter(e=>-1===e.uri.indexOf("abs-send-time")),e.rtcpFb=null==(r=e.rtcpFb)?void 0:r.filter(e=>"goog-remb"!==e.type)):"remb"===t&&(e.rtcpFb=null==(s=e.rtcpFb)?void 0:s.filter(e=>"transport-cc"!==e.type),e.ext=null==(n=e.ext)?void 0:n.filter(e=>-1===e.uri.indexOf("transport"))))},addRRTR(e){e&&e.rtp.forEach(t=>{e.rtcpFb||(e.rtcpFb=[]),e.rtcpFb.find(e=>e.payload===t.payload&&"rrtr"===e.type)||e.rtcpFb.push({payload:t.payload,type:"rrtr"})})},removeRtpStreamId(e){e&&Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"!==e.uri))},decorateSpsPpsIdrInKeyframe(e){if(!e)return;let t=e.rtp.filter(e=>"H264"===e.codec);t.length&&e.fmtp&&e.fmtp.forEach(e=>{t.find(t=>t.payload===e.payload)&&(e.config+=";sps-pps-idr-in-keyframe=1")})},removeExtVideoOrientation(e){e&&Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>!e.uri.includes("video-orientation")))},removeExtFramemarking(e){e&&Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>!e.uri.includes("framemarking")))}};class OA{constructor(){dY(this,"queue",[]),dY(this,"processing",!1)}async enqueue(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,{promise:t,resolve:i}=OM(),r={priority:e,resolve:i},s=this.queue.findIndex(t=>t.priority>e);return -1===s?this.queue.push(r):this.queue.splice(s,0,r),this.tryProcess(),await t,this.processing=!0,()=>{this.processing=!1,this.tryProcess()}}destroy(){this.queue.forEach(e=>{let{resolve:t}=e;t()}),this.queue=[],this.processing=!1}tryProcess(){if(this.processing)return;let e=this.queue.shift();e&&e.resolve()}}function OM(){let e,t,i=new Promise((i,r)=>{e=i,t=r});if(!e||!t)throw Error("Broken Implement of Promise");return{promise:i,resolve:e,reject:t}}let OP=e=>{let t={};return e.split(";").forEach(e=>{let[i,r]=e.split("=");i&&r&&(t[i]=r)}),t["sprop-stereo"]=1,t.stereo=1,Object.keys(t).map(e=>"".concat(e,"=").concat(t[e])).join(";")},Oj=(e,t)=>e.enableFallbackHandler?new Ok(e,t):e.enableStandardHandler?new OI(e,t):bc?new OS(e,t):new Ob(e,t),OL={[M0.ICE_FAILED]:hu.ICE_FAILED,[M0.DC_ERROR]:hu.ICE_FAILED,[M0.DC_CLOSE]:hu.ICE_FAILED,[M0.NODE_CHANGE]:hu.NODE_CHANGE,[M0.NOTIFY_RECONNECT]:hu.NOTIFY_RECONNECT,[M0.JOIN_TIMEOUT]:hu.JOIN_TIMEOUT};class OD extends C5{constructor(e){super(),dY(this,"_connectionManager",void 0),dY(this,"_dataChannelSignal",void 0),dY(this,"_state",void 0),dY(this,"_connectionLostTimer",void 0),dY(this,"_isReconnecting",!1),dY(this,"logger",void 0),this._ctx=e,this.logger=new bn("SignalingManager",1,e.id),this.logger.info("constructor","invoke"),this._connectionManager=new M1(e),this._addConnectorHandler()}connect(){return this.isConnected()?Promise.resolve():new Promise((e,t)=>{this._connectionManager.once("connected",()=>e()),this._connectionManager.once("disconnected",t),this._connectionManager.startup()})}reconnect(e,t){this._connectionManager.reconnect(e,t)}sendSignaling(e,t,i,r){if(!this._dataChannelSignal)throw new b$(bY.NOT_CONNECTED_YET,"signaling channel is not connected");return this._dataChannelSignal.sendSignaling(e,t,i,r)}sendP2PMessage(e,t){if(!this._dataChannelSignal)throw new b$(bY.NOT_CONNECTED_YET,"signaling channel is not connected");return this._dataChannelSignal.sendP2PMessage(e,t)}destroy(){var e,t;this.logger.info("destroy()"),this._clearConnectionLostTimer(),this._connectionManager.shotdown(),null==(e=this._ctx.handler)||e.destroy(),this._ctx.handler=void 0,null==(t=this._dataChannelSignal)||t.destroy(),this._state&&this._setState(hd.CONNECTION_STATE_DISCONNECTED),this.removeAllListeners()}isConnected(){return this._state===hd.CONNECTION_STATE_CONNECTED||this._state===hd.CONNECTION_STATE_RECONNECTED}isReconnecting(){return this._state===hd.CONNECTION_STATE_CONNECTING||this._state===hd.CONNECTION_STATE_RECONNECTING}_setState(e,t){if(this._state===e)return;this._state=e;let i={state:e};t&&(i.reason=OL[t]||hu.ICE_FAILED),this.safeEmit(wi.ON_CONNECTION_STATE_CHANGE,i)}_addConnectorHandler(){var e=this;this._connectionManager.on("connected",e=>{var t;this.logger.info("connectStateChange","connected"),this._clearConnectionLostTimer(),null==(t=this._dataChannelSignal)||t.destroy(),this._ctx.peerConnection=e.pc,this._ctx.handler=Oj(this._ctx,e.pc),this._dataChannelSignal=e.signaling,this._addSignalEventHandler(),this._setState(this._isReconnecting?hd.CONNECTION_STATE_RECONNECTED:hd.CONNECTION_STATE_CONNECTED)}),this._connectionManager.on("disconnected",e=>{this._clearConnectionLostTimer(),this._setState(hd.CONNECTION_STATE_DISCONNECTED),this.logger.error("connectStateChange","disconnected. %o",e.message),this._isReconnecting&&this.safeEmit(wi.ON_RECONNECT_FAILED)}),this._connectionManager.on("connecting",()=>{this._isReconnecting=!1,this._ctx.handler=void 0,this._setState(hd.CONNECTION_STATE_CONNECTING),this.logger.info("connectStateChange","connecting")}),this._connectionManager.on("reconnecting",e=>{this._setState(hd.CONNECTION_STATE_DISCONNECTED,e),this._connectionLostTimer||(this._connectionLostTimer=setTimeout(()=>{this.safeEmit(wi.ON_CONNECTION_STATE_CHANGE,{state:hd.CONNECTION_STATE_LOST})},1e4)),this._isReconnecting=!0,this._ctx.handler=void 0,this._setState(hd.CONNECTION_STATE_RECONNECTING,e),this.logger.warn("connectStateChange","reconnecting")}),this._connectionManager.on("connectWidthTcp",()=>{this.safeEmit(wi.CONNECT_WITH_TCP)}),["__onGetIceConfigHook","__onIceConnectSuccessHook","__onConnectSuccessHook"].forEach(t=>{this._connectionManager.on(t,function(){for(var i=arguments.length,r=Array(i),s=0;s{var t;null==(t=this._dataChannelSignal)||t.on(e,t=>{this.safeEmit(e,t)})}),null==(e=this._dataChannelSignal)||e.on(we.NODE_CHANGE,e=>{this._connectionManager.reconnectByNodeChange(e)}),null==(t=this._dataChannelSignal)||t.on(we.ON_NOTIFY_RECONNECT,()=>{this._connectionManager.reconnect(M0.NOTIFY_RECONNECT)})}}var OO=((eD=OO||{}).NORMAL_USER="normalUser",eD.SILENT_USER="silentUser",eD);let OF=["preferCodecName"];class OU{constructor(e){dY(this,"_captureDeviceId",void 0),dY(this,"_contentHint",void 0),dY(this,"_videoCaptureConf",mr({},S8)),dY(this,"_mainPreferCodec",void 0),dY(this,"_screenPreferCodec",void 0),dY(this,"_remoteVideoConfig",new Map),dY(this,"_remoteSimulcastStreamType",new Map),dY(this,"_simulcastMode",hj.VIDEO_ONLY_ONE),dY(this,"_highVideoEncodeConf",Mt(S8)),dY(this,"_midVideoEncodeConf",void 0),dY(this,"_lowVideoEncodeConf",void 0),dY(this,"_screenEncodeConfig",S7),dY(this,"_invalidVideoEncodeConf",void 0),dY(this,"activeSimStreams",[]),dY(this,"_logger",void 0),dY(this,"_apiVersion",void 0),this._ctx=e,this._logger=new bn("EngineVideoProfile",1,e.id)}setCaptureDeviceId(e){this._captureDeviceId=e}setCaptureConfig(e){this._videoCaptureConf=mr(mr({},this._videoCaptureConf),e)}getCaptureConfig(e){e=e||this._captureDeviceId;let t=mr({},this._videoCaptureConf);return"user"===e||"environment"===e||"left"===e||"right"===e?(delete t.deviceId,t.facingMode=e):e&&(!b_||bx?t.deviceId={exact:e}:delete t.deviceId),t}getContentHint(){return this._contentHint}getPreferCodec(e){return e?this._screenPreferCodec:this._mainPreferCodec}setRemoteUserVideoConfig(e,t){"object"==typeof t?this._remoteVideoConfig.set(e,t):this._remoteSimulcastStreamType.set(e,t)}getSubLayer(e,t){let i=this._remoteSimulcastStreamType.get(e.userId),r=this._remoteVideoConfig.get(e.userId);if(i){var s,n,a,o,l,c;let t,{videoDescriptions:r,subVideoDescriptions:d}=e.attributes||{},u=Array.isArray(d)?d:r;return 1===u.length?t=0:2===u.length?t=+(i!==hL.VIDEO_STREAM_HIGH):u.length>=3&&(t=({[hL.VIDEO_STREAM_HIGH]:0,[hL.VIDEO_STREAM_MID]:1,[hL.VIDEO_STREAM_LOW]:2})[i]),{spatialLayer:null!=(s=null!=(n=t&&(null==(a=u[t])?void 0:a.video_index))?n:t)?s:0,spatialSubLayer:null!=(o=null!=(l=t&&(null==(c=u[t])?void 0:c.sub_index))?l:t)?o:-1}}return r?Me(r,e):t?Me(t,e):void 0}getSimulcastMode(){return this._simulcastMode}async setSimulcastMode(e,t){if(!SB())throw new b$(bY.NOT_SUPPORTED,"Simulcast is not supported");if(this._simulcastMode!==e){if(null!=t&&t.hasPublished){var i,r;if(null!=(i=t.localStream)&&i.videoHasPublish||null!=(r=t.localStream)&&r.audioHasPublish)throw new b$(bY.SET_SIMULCAST_FAILED,"Cannot change simulcast mode after publishing the video streams");this._logger.print("setSimulcastMode()","change simulcast mode and unpublish."),await t.unpublish()}this._simulcastMode=e,e!==hj.VIDEO_ONLY_ONE&&this._autoGenerateSubVideoEncodeConfig()}}closeSimulcast(){this._simulcastMode=hj.VIDEO_ONLY_ONE}async setVideoEncodeConfigPolyfill(e){if(Array.isArray(e)){Sh(e);let[t,...i]=e;this.setVideoEncodeConfig(t),await this.setSubVideoEncodeConfig(d6(i).call(i))}else this.setVideoEncodeConfig(e)}setVideoEncodeConfig(e){Sh([e]);let t=this._midVideoEncodeConf||this._lowVideoEncodeConf;t&&Mi(t)>=Mi(e)?(this._logger.warn("setVideoEncodeConfig","smaller then substream"),this._invalidVideoEncodeConf=Mt(e),e=t):delete this._invalidVideoEncodeConf;let i=mr({},e),{preferCodecName:r}=i,s=vr(i,OF);b8(s),this._logger.print("setVideoEncodeConfig","update encode config",e),this._highVideoEncodeConf=Mt(e),this._contentHint=e.contentHint,this._mainPreferCodec=r,this._logger.print("setVideoEncodeConfig","update capture config",s),this._videoCaptureConf=s}async setSubVideoEncodeConfig(e,t,i){if(this._logger.print("setSubVideoEncodeConfig","%o, published=%s",e,null==t?void 0:t.hasPublished),e&&e.length>0){Sh(e),C0(e).call(e,(e,t)=>Mi(e)-Mi(t));let n=this._invalidVideoEncodeConf||this._highVideoEncodeConf;if(Mi(e[e.length-1])>=Mi(n))throw new b$(bY.SET_SIMULCAST_FAILED,"The resolution cannot exceed the mainstream");if(null!=t&&t.hasPublished&&e.length!==this._getSubLayers().length){var r,s;if(null!=(r=t.localStream)&&r.videoHasPublish||null!=(s=t.localStream)&&s.audioHasPublish)throw new b$(bY.SET_SIMULCAST_FAILED,"Cannot change the number of substreams after publishing the video streams");await t.unpublish()}e.length>2&&v$(this._ctx.id,"simulcast_over_limit","setLocalSimulcastMode: You can set parameters for up to 2 streams");let[a,o]=e;a&&(Mr(n,a),this._lowVideoEncodeConf=Mt(a)),o&&(Mr(n,o),this._midVideoEncodeConf=Mt(o)),this._invalidVideoEncodeConf&&(this.setVideoEncodeConfig(this._invalidVideoEncodeConf),await (null==i?void 0:i.updateVideoCaptureConfig(this._ctx.videoProfile.getCaptureConfig())))}else this._autoGenerateSubVideoEncodeConfig()}genVideoDescriptions(e){var t,i;let r=[],s=[],n=[],a=[],{width:o,height:l,frameRate:c,maxKbps:d}=e.videoEncodeConfig[0];o=xe(o),l=xe(l);let u=null==(t=e.videoTrack)?void 0:t.preprocessingTrack,{width:h,height:p,frameRate:m}=null!=(i=null==u?void 0:u.getSettings())?i:{};h&&(o=Math.floor(h)),p&&(l=Math.floor(p)),m&&(c=Math.floor(m)),("number"!=typeof c||Number.isNaN(c))&&(c=30),r.push({width:o,height:l,framerate:c,maxkbps:d,rid:"0"}),n.unshift({maxBitrate:1e3*d,rid:"0",maxFramerate:c});let{serverConfig:f}=this._ctx;if(!(e.isScreen||this._simulcastMode===hj.VIDEO_ONLY_ONE||bc&&"VP8"!==(null==f?void 0:f.videoCodec))){let e=A8(o,l);if(e>1){let t=this._getSubVideoEncodeConfig(e,{width:o,height:l});this._logger.info("simulcast() ","simulcastLayers: %o",t),a.push(!0),t.forEach((e,t)=>{let i={maxBitrate:1e3*e.maxkbps,scaleResolutionDownBy:e.scaleResolutionDownBy,rid:"".concat(t+1),maxFramerate:e.frameRate};n.unshift(i),r.push({width:e.width,height:e.height,framerate:e.frameRate,maxkbps:e.maxkbps,rid:"".concat(t+1)}),a.push(!0)}),null!=f&&f.simulcastOnDemand&&(s=r.map((e,t)=>mr(mr({},e),{},{video_index:t,sub_index:t})))}}return null!=f&&f.e2eFeedback&&(s=r.map((e,t)=>mr(mr({},e),{},{video_index:t,sub_index:t}))),{videoDescriptions:r,subVideoDescriptions:s,sendEncodings:n,activeSimulcastStreams:a}}getVideoEncodeConfig(){return[this._highVideoEncodeConf,this._midVideoEncodeConf,this._lowVideoEncodeConf].filter(e=>e)}setScreenEncodeConfig(e){this._screenEncodeConfig=e}getScreenEncodeConfig(){return this._screenEncodeConfig}checkSimulcastApiVersion(e){if(this._apiVersion){if(this._apiVersion!==e){let e="mixing old and new apis, please use ".concat("new"===this._apiVersion?"setLocalSimulcastMode/setRemoteSimulcastStreamType":"enableSimulcastMode/setRemoteVideoConfig"," instead.");throw v$(this._ctx.id,"mixingOldAndNewApis",e),new b$(bY.MIXING_OLD_AND_NEW_APIS,e)}}else this._apiVersion=e}destroy(){this._videoCaptureConf=S8,this._highVideoEncodeConf=Mt(S8),delete this._invalidVideoEncodeConf,this._remoteVideoConfig.clear(),this._remoteSimulcastStreamType.clear()}_autoGenerateSubVideoEncodeConfig(){this._logger.print("_autoGenerateSubVideoEncodeConfig()","generate low stream.");let e=this._highVideoEncodeConf,t=xe(e.width),i=xe(e.height),r=Math.min(t,i)/90;this._lowVideoEncodeConf={width:Math.floor(t/r),height:Math.floor(i/r),maxKbps:100,frameRate:10}}_getSubLayers(){let e=[];return this._midVideoEncodeConf&&e.push(this._midVideoEncodeConf),this._lowVideoEncodeConf&&e.push(this._lowVideoEncodeConf),e}_getSubVideoEncodeConfig(e,t){return this._getSubLayers().slice(1-e).map(e=>{if(e.width>e.height&&t.widtht.height){let t=e.width;e.width=e.height,e.height=t}let i=xe(e.width),r=xe(e.height),s=Math.max(t.width/i,t.height/r);return{width:Math.floor(t.width/s),height:Math.floor(t.height/s),scaleResolutionDownBy:s,frameRate:xe(e.frameRate)||15,maxkbps:e.maxKbps||600}})}__autoResetVideoEncoderConfig(e){let t=S6(this.getVideoEncodeConfig(),e);t&&(this.setVideoEncodeConfigPolyfill(t),this._logger.print("autoResetVideoEncoderConfig() result",JSON.stringify(t)),v$(this._ctx.id,"autoResetVideoEncoderConfig",JSON.stringify(t)))}}class OV{constructor(e){dY(this,"_sendTimes",[]),dY(this,"_bufferSizeLimit",void 0),dY(this,"_totalSizeLimitPerSecond",void 0),dY(this,"_limitModeInterval",void 0),dY(this,"_limitModeQPS",void 0),dY(this,"_interval",void 0),dY(this,"_qps",void 0),this.setLimitMode(e)}setLimitMode(e){e===wn.LIMIT_MODE?(this._bufferSizeLimit=1,this._totalSizeLimitPerSecond=30720,this._limitModeInterval=1e3,this._limitModeQPS=60):(this._bufferSizeLimit=64,delete this._totalSizeLimitPerSecond,delete this._limitModeInterval,delete this._limitModeQPS)}setQPS(e,t){this._interval=e,this._qps=t}check(e){var t,i;let r=Date.now(),s=Sl(e,this._bufferSizeLimit);if("number"==typeof this._totalSizeLimitPerSecond&&this._sendTimes.reduce((e,t)=>r-t.ts<1e3?e+t.size:e,0)+s>this._totalSizeLimitPerSecond)throw new b$(bY.USER_MESSAGE_EXCEED_QPS,"user message exceed total size(".concat(this._totalSizeLimitPerSecond,")"));let n=null!=(t=this._limitModeInterval)?t:this._interval,a=null!=(i=this._limitModeQPS)?i:this._qps;if("number"==typeof n&&"number"==typeof a)if(this._sendTimes.lengthtypeof window&&window.Blob&&new Blob([atob(OB)],{type:"text/javascript;charset=utf-8"});function OW(){let e;try{if(!(e=Oz&&(Ne||window.webkitURL).createObjectURL(Oz)))throw"";return new Worker(e)}catch(e){return new Worker("data:application/javascript;base64,"+OB)}finally{!("u">typeof window&&navigator.userAgent.indexOf("Trident/")>0)&&e&&(Ne||window.webkitlRL).revokeObjectURL(e)}}var OH=((eO=OH||{}).RECONNECT="ice-reconnect",eO.LEAVE="leave_room",eO);let OG=wn.NORMAL_MODE;class OZ{constructor(e,t,i){dY(this,"engineDestroyed",!1),dY(this,"avSync",!0),dY(this,"callId",void 0),dY(this,"streamRTT",{}),dY(this,"useCloudProxy",!1),dY(this,"videoProfile",void 0),dY(this,"audioProfileManager",void 0),dY(this,"extensionManager",void 0),dY(this,"userPriority",new Map),dY(this,"expectedIDC",void 0),dY(this,"autoPlayPolicy",void 0),dY(this,"joinRoomConfig",void 0),dY(this,"signalingManager",void 0),dY(this,"peerConnection",void 0),dY(this,"pubSubLock",new Az("pubSubLock")),dY(this,"pcKillSwitch",mr({ctor_sdpsemantics_add:!0,ctor_encodedinsetablestream_add:!0,sld_rtcpfb_rrtr_add:!0,sld_ext_sdesmid_remove:!0,sld_fmtp_sps_add:!0,sld_fmtp_bitrate_add:!0,sld_fmtp_opus_add:!0,sld_iceoption_renomination:!0},S2("PC_KILLSWITCH"))),dY(this,"visibility",!0),dY(this,"rtsLimiter",{e2e:new OV(OG),e2s:new OV(OG),boradcast:new OV(OG),conf:void 0,rtsMode:OG}),dY(this,"serverConfig",void 0),dY(this,"mediaParams",void 0),dY(this,"subscribeFallbackOption",void 0),dY(this,"joinRoomParams",void 0),dY(this,"isPreConnection",!1),dY(this,"_handler",void 0),dY(this,"monitor",void 0),dY(this,"enableFallbackHandler",!!S2("ENABLE_FALLBACK_HANDLER")),dY(this,"enableStandardHandler",!!S2("ENABLE_STANDARD_HANDLER")),dY(this,"_businessId",void 0),dY(this,"_userStreamConfig",new Map),dY(this,"_localAudioTrackDumpConfig",{[ho.STREAM_INDEX_MAIN]:{callback:void 0,frameSize:void 0},[ho.STREAM_INDEX_SCREEN]:{callback:void 0,frameSize:void 0}}),dY(this,"_remoteAudioTrackDumpConfig",{[ho.STREAM_INDEX_MAIN]:new Map,[ho.STREAM_INDEX_SCREEN]:new Map}),dY(this,"_targetCodec",void 0),dY(this,"_targetScreenCodec",void 0),dY(this,"earMonitorSettings",{[ho.STREAM_INDEX_MAIN]:{position:hD.NONE,volume:100},[ho.STREAM_INDEX_SCREEN]:{position:hD.NONE,volume:100}}),dY(this,"localVideoTrack",void 0),dY(this,"localAudioTrack",void 0),dY(this,"publicAudioVolume",new Map),dY(this,"_receiveSEIWorker",void 0),this.id=e,this.appId=t,this.monitor=vH(e),this.expectedIDC=null==i?void 0:i.expectedIDC,this.autoPlayPolicy=null==i?void 0:i.autoPlayPolicy,this.audioProfileManager=new Ms(t),this.extensionManager=new Nb(e),this.joinRoomConfig=new bX(e),this.signalingManager=new OD(this),this.videoProfile=new OU(this)}get useIPv6(){return!!S2("USE_IPV6")||xa()}set businessId(e){var t;this._businessId=e,null==(t=this.monitor)||t.set({rtc_business_id:e})}get businessId(){return this._businessId}set handler(e){var t;e&&this.resetPubSubLock("ice-reconnect"),null==(t=this._handler)||t.destroy(),this._handler=e}get handler(){return this._handler}get role(){return this.visibility?OO.NORMAL_USER:OO.SILENT_USER}set targetCodec(e){e&&[Sy.H264,Sy.VP8,Sy.ByteVC1].forEach(t=>{e.toLowerCase()===t.toLowerCase()&&(this._targetCodec=t)})}set targetScreenCodec(e){e&&[Sy.H264,Sy.VP8,Sy.ByteVC1].forEach(t=>{e.toLowerCase()===t.toLowerCase()&&(this._targetScreenCodec=t)})}get targetCodec(){return this._targetCodec}get targetScreenCodec(){return this._targetScreenCodec}resetPubSubLock(e){this.pubSubLock.closeReason=e,this.pubSubLock=new Az("pubSubLock")}setUserStreamConf(e,t,i){let r=this._userStreamConfig.get(e)||{},s=r[t]||{};r[t]=mr(mr({},s),i),this._userStreamConfig.set(e,r)}getRemoteMirrorType(e,t){var i;return!(null==(i=this._userStreamConfig.get(e))||null==(i=i[t])||!i.mirrorType)}get rtsMode(){return this.rtsLimiter.rtsMode}setRTSMode(e){this.rtsLimiter.e2e.setLimitMode(e),this.rtsLimiter.boradcast.setLimitMode(e),this.rtsLimiter.e2s.setLimitMode(e),this.rtsLimiter.rtsMode=e}setRtsQpsConf(e){this.rtsLimiter.e2e.setQPS(null==e?void 0:e.rts_qps_interval,null==e?void 0:e.rts_e2e_qps_value),this.rtsLimiter.boradcast.setQPS(null==e?void 0:e.rts_qps_interval,null==e?void 0:e.rts_broadcast_qps_value),this.rtsLimiter.e2s.setQPS(null==e?void 0:e.rts_qps_interval,null==e?void 0:e.rts_e2s_qps_value),this.rtsLimiter.conf=e}get receiveSEIWorker(){return this._receiveSEIWorker||(this._receiveSEIWorker=new OW),this._receiveSEIWorker}updatePCKillSwitch(e){this.pcKillSwitch=mr(mr({},this.pcKillSwitch),e)}destroy(){this.engineDestroyed=!0,this.signalingManager.destroy(),this.userPriority.clear(),this.avSync=!0,this._localAudioTrackDumpConfig={[ho.STREAM_INDEX_MAIN]:{callback:void 0,frameSize:void 0},[ho.STREAM_INDEX_SCREEN]:{callback:void 0,frameSize:void 0}},this._remoteAudioTrackDumpConfig[ho.STREAM_INDEX_MAIN].clear(),this._remoteAudioTrackDumpConfig[ho.STREAM_INDEX_SCREEN].clear(),this.extensionManager.destroy(),this.earMonitorSettings={[ho.STREAM_INDEX_MAIN]:{position:hD.NONE,volume:100},[ho.STREAM_INDEX_SCREEN]:{position:hD.NONE,volume:100}},this.publicAudioVolume.clear()}}function OK(e,t,i){let r=i.value;return i.value=async function(){let e=await this._ctx.pubSubLock.lock();"chrome"!==(null==(t=this._ctx.handler)?void 0:t.name)&&"standard"!==(null==(i=this._ctx.handler)?void 0:i.name)||e();try{let{closeReason:e}=this._ctx.pubSubLock;if(e)throw new b$(bY.UNEXPECTED_ERROR,e);for(var t,i,s,n,a=arguments.length,o=Array(a),l=0;l{this._report("rtc_ice_state",{pc_session_id:this.peerConnectionId,direction:this.direction,error_code:0,ice_state:e.toUpperCase(),message:"",peer_connection_id:this.peerConnectionId,stream_id:"",stream_user_id:""})}),t.on("disconnect",()=>{this.emit("disconnect")})}async publish(e){this._context.videoProfile.closeSimulcast(),this.stream=e;let{videoDescriptions:t,subVideoDescriptions:i,audioTransceiverInit:r,videoTransceiverInit:s}=super.internalPublish(e);e.audioTransceiver=this._peerConnection.addTransceiver(r.track,r.init),e.videoTransceiver=this._peerConnection.addTransceiver(s.track,s.init),OY&&(e.initAudioEncodedTransform(),e.initVideoEncodedTransform()),this._report("rtc_begin_create_offer",{direction:"up",stream_id:"",stream_user_id:"",pc_session_id:this.peerConnectionId,vendor_mode:(null==e?void 0:e.vendorCode)||0});let n=await this.peer.createOfferSdp(),a=kG(),o=Mc.parse(n);Array.isArray(o.media)&&(o.media=o.media.map(e=>{if("video"===e.type)(bd||bx)&&Array.isArray(e.ext)&&(e.ext=e.ext.filter(e=>{var t;return!(null!=e&&null!=(t=e.uri)&&t.includes("video-orientation"))})),bd||this.addBitrateLimit(e,this._context.videoProfile.getVideoEncodeConfig()[0].maxKbps);else if("audio"===e.type){let i=null==e?void 0:e.rtp.find(e=>"opus"===e.codec);if(i&&e.fmtp){var t;let r=e.fmtp.find(e=>e.payload===i.payload);r&&null!=(t=this._context)&&t.audioProfileManager&&(r.config=this._context.audioProfileManager.getOpusConfigStr(r.config))}}return e}));let l={type:"offer",sdp:Mc.write(o)};try{await this._peerConnection.setLocalDescription(l),this._report("rtc_set_description",{error_code:0,message:l.sdp||"",is_local:"1",direction:"up",stream_id:"",stream_user_id:"",elapse:kG()-a},{type:"offer"})}catch(e){throw this._report("rtc_set_description",{error_code:-1,message:e.message+l.sdp,is_local:"1",direction:"up",stream_id:"",stream_user_id:"",elapse:kG()-a},{type:"offer"}),e}return{partialSdp:l.sdp||"",audioMid:"0",videoMid:"1",type:"offer",semantics:"unified-plan",videoDescriptions:t,subVideoDescriptions:i,audioTransceiverInit:r,videoTransceiverInit:s,peerConnectionMode:this.peerConnectionMode,peerConnectionId:this.peerConnectionId}}async subscribe(e){this.stream=e,this.direction="down",e.audioTransceiver=this._peerConnection.addTransceiver("audio",{direction:"recvonly"}),e.videoTransceiver=this._peerConnection.addTransceiver("video",{direction:"recvonly"}),OY&&(e.initAudioEncodedTransform(),e.initVideoEncodedTransform()),this._report("rtc_begin_create_offer",{direction:"down",stream_id:e.streamId,stream_user_id:e.userId,pc_session_id:this.peerConnectionId,vendor_mode:e.vendorCode||0});let t=await this.peer.createOfferSdp(),i=kG(),r=Mc.parse(t);Array.isArray(r.media)&&(r.media=r.media.map(e=>{if("audio"===e.type){let t=null==e?void 0:e.rtp.find(e=>"opus"===e.codec);if(t&&null!=e&&e.fmtp){let i=null==e?void 0:e.fmtp.find(e=>e.payload===t.payload);i&&this._context&&(i.config+=";stereo=1;sprop-stereo=1")}}return e}));let s={type:"offer",sdp:Mc.write(r)};try{await this._peerConnection.setLocalDescription(s),this._report("rtc_set_description",{error_code:0,message:s.sdp||"",is_local:"1",direction:"down",stream_id:e.streamId,stream_user_id:e.userId,elapse:kG()-i},{type:"offer"})}catch(t){throw this._report("rtc_set_description",{error_code:-1,message:t.message+s.sdp,is_local:"1",direction:"down",stream_id:e.streamId,stream_user_id:e.userId,elapse:kG()-i},{type:"offer"}),t}return{partialSdp:s.sdp||"",audioMid:"0",videoMid:"1",type:"offer",semantics:"unified-plan",peerConnectionMode:this.peerConnectionMode,peerConnectionId:this.peerConnectionId}}async handleAck(e){if(e.action===Of.publish||e.action===Of.subscribe){var t,i,r,s;let{signalingAck:n,videoMid:a,videoCodec:o}=e,{sdp:l}=n,c=Mc.parse(l);c.media=c.media.map(e=>(e.mid===a&&o&&MF(e,o),e));let d={sdp:Mc.write(c),type:"answer"},u=kG();try{await this._peerConnection.setRemoteDescription(d),this._report("rtc_set_description",{error_code:0,message:d.sdp||"",is_local:"1",direction:"down",stream_id:(null==(t=e.stream)?void 0:t.streamId)||"",stream_user_id:null==(i=e.stream)?void 0:i.userId,elapse:kG()-u},{type:"answer"})}catch(t){throw this._report("rtc_set_description",{error_code:-1,message:t.message+d.sdp,is_local:"1",direction:"down",stream_id:(null==(r=e.stream)?void 0:r.streamId)||"",stream_user_id:null==(s=e.stream)?void 0:s.userId,elapse:kG()-u},{type:"offer"}),t}"function"==typeof e.onSuccess&&e.onSuccess()}else e.action!==Of.unpublish&&e.action!==Of.unsubscribe||this.destroy();return""}destroy(){this.peer.destroy(),super.destroy()}async getDefaultSdp(){return{sdp:"",type:"offer",semantics:""}}connect(){throw Error("Method not implemented.")}async rollback(){try{this._peerConnection.close()}catch(e){}}get peerConnectionId(){return this._peerConnectionId}set peerConnectionId(e){this._peerConnectionId=e}}var O$=Object.defineProperty,Oq=Object.getOwnPropertyDescriptor,OQ=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?Oq(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&O$(t,i,n),n};class O0 extends C5{constructor(e,t){super(),dY(this,"_logger",void 0),dY(this,"_pubBackOff",new Map),this._ctx=e,this._roomConf=t,this._logger=new bn("RoomPublisher",2,e.id)}async hasPublished(e){return!!e.audioMid&&!!e.videoMid}async publish(e){return this._publish(e)}async _publish(e){var t,i,r,s,n,a,o,l,c,d,u,h,p,m;let f;this._logger.info("publish()","localStream: %o",e);let{videoTrack:g}=e,{audioTrack:_}=e,y=kG(),v,{handler:b}=this._ctx;this._roomConf.vendorConfig.enableMultiVendor?[b,v]=await this._getVendorPubSdpInfo(e):v=await this._ctx.handler.publish(e),this.emit("_test_pub_sdpInfo_",v);let{audioMid:S,videoMid:k}=v;e.pubAttributes={localaudio:!!_,localvideo:!!g,videostream:e.pubVideo,audiostream:e.pubAudio,extvideo:(null==g?void 0:g.sourceType)===wo.EXTERNAL,extaudio:(null==_?void 0:_.sourceType)===wo.EXTERNAL,videoDescriptions:v.videoDescriptions,videoType:wa.NORMAL};let x={attributes:mr({},e.pubAttributes),audio:!0,video:!0,screen:e.isScreen,audioMid:S,videoMid:k,sdpInfo:{msid:e.stream.id,type:v.type,sdp:v.partialSdp,semantics:v.semantics},peerConnectionMode:null==(t=v)?void 0:t.peerConnectionMode,supportMultiVendor:!0},C=!this._roomConf.vendorConfig.enableMultiVendor&&e.enableSimulcast&&(null==(i=this._ctx.serverConfig)?void 0:i.simulcastOnDemand)&&(null==(r=v.subVideoDescriptions)?void 0:r.length);(C||null!=(s=this._ctx.serverConfig)&&s.e2eFeedback)&&(x.attributes.subVideoDescriptions=v.subVideoDescriptions),null!=(n=v)&&n.peerConnectionId&&(x.peerConnectionId=v.peerConnectionId);try{this.emit("_test_pub_body_",x),f=await this._ctx.signalingManager.sendSignaling("publish",x)}catch(t){if(this._logger.error("_publish",xm(t)),null==(u=this._ctx.monitor)||u.report("rtc_error",{message:"[publisher._publish] ".concat(xm(t)),error_code:-1}),t instanceof Error?this._roomConf.report("rtc_publish_stat",{result:"fail",is_screen:"0",start:y,message:"".concat(t.name,": ").concat(t.message)}):t instanceof b$&&this._roomConf.report("rtc_publish_stat",{result:"fail",is_screen:"0",start:y,message:"".concat(t.code,": ").concat(t.message)}),await (null==(h=b)?void 0:h.rollback({msid:e.stream.id,stream:e,audioMid:S,videoMid:k})),t.code>=500&&t.code<600){this.emit("_test_pub_5xx_");let t=this._getPubBackOff(e.id);if(t.retryDuration<6e4)return this._logger.info("pubRetry",e.id,t.retryDuration),await new Promise(e=>setTimeout(e,t.interval)),t.retryDuration+=t.interval,t.interval=t.interval>4e3?8e3:2*t.interval,e.resetStream(),this.emit(Av.PUB_RETRY,{screen:e.isScreen}),this._publish(e);this._logger.info("pubRetry","end"),this._pubBackOff.delete(e.id)}else if(403===t.code)throw new b$(bY.TOKEN_NO_PUBLISH_PERMISSION,t.message||"token no publish permission");throw t}(this._roomConf.report("rtc_recv_answer",{error_code:0,answer_type:null==(a=f)?void 0:a.relayMessage.type,sequence_id:(null==(o=f)||null==(o=o.relayMessage)?void 0:o.sequenceId)||0,message:null==(l=f)||null==(l=l.relayMessage)?void 0:l.sdp,direction:"up",stream_id:"",stream_user_id:"",pc_session_id:(null==(c=b)?void 0:c.peerConnectionId)||""}),e.isScreen)?e.setVideoCaps(null==(p=f.relayMessage.content)?void 0:p.screenCaps):e.setVideoCaps(null==(m=f.relayMessage.content)?void 0:m.videoCaps),e.streamId=f.streamId;let w=await e.getSelectedCodec();e.currentVideoCodec=w;let E=new Promise((t,i)=>{var r,s,n,a,o;null==(r=b)||r.handleAck({action:Of.publish,streamId:f.streamId,audioMid:S,videoMid:k,audioTransceiverInit:null==(s=v)?void 0:s.audioTransceiverInit,videoTransceiverInit:null==(n=v)?void 0:n.videoTransceiverInit,signalingAck:{sdp:null==(a=f)||null==(a=a.relayMessage)?void 0:a.sdp,sequenceId:null==(o=f)||null==(o=o.relayMessage)?void 0:o.sequenceId},stream:e,videoCodec:w,onSuccess:()=>{this._logger.info("publish()","publish success"),t(0)},onFail:e=>{this._logger.info("publish()","publish fail"),i(e)}})});bc||await E,this.emit("___afterHandleAckInPub"),(C&&this._ctx.videoProfile.getSimulcastMode()===hj.VIDEO_ON_DEMAND||null!=(d=this._ctx.serverConfig)&&d.e2eFeedback)&&this.emit(wt.RSCP,[{StreamIds:[e.stream.id],Metadata:{VideoIndex:0}}],!0),e.videoMid=k,e.audioMid=S,e.subVideoDescriptions=v.subVideoDescriptions,e.remoteSdp=f.relayMessage.sdp,this._roomConf.report("rtc_publish_stat",{result:"success",is_screen:"0",start:y,message:"unknown"})}async updatePubTrack(e){var t,i,r,s;this._logger.info("updatePubTrack()","localStream: %o",e);let{videoTrack:n,audioTrack:a,pubAudio:o,pubVideo:l}=e,c=e.vendorHandler||this._ctx.handler,d=null==a?void 0:a.preprocessingTrack,u=null==n?void 0:n.preprocessingTrack;if(l&&u?(e.stopBlackFrame(),await (null==(t=e.videoTransceiver)?void 0:t.sender.replaceTrack(u)),this._updateVideoDescriptions(e)):await (null==(i=e.videoTransceiver)?void 0:i.sender.replaceTrack(null)),o&&d){let{mixType:t,mixedAudioTrack:i}=a;i&&t!==Od.PLAYOUT&&d.enabled&&(d=i),await (null==(r=e.audioTransceiver)?void 0:r.sender.replaceTrack(d))}else await (null==(s=e.audioTransceiver)?void 0:s.sender.replaceTrack(null)),v$(this._ctx.id,"MediaClient.updatePubTrack(audio)","null");await this._updatePublishCodec(e),this.emit("___onAfterReplaceTrack");try{v$(this._ctx.id,"MediaClient.updatePubTrack",JSON.stringify({audioStreamTrack:hJ(d),videoStreamTrack:hJ(u)}))}catch(e){}let h={localaudio:!!a,localvideo:!!n,videostream:l,audiostream:o,extvideo:(null==n?void 0:n.sourceType)===wo.EXTERNAL,extaudio:(null==a?void 0:a.sourceType)===wo.EXTERNAL,videoType:n?wa.NORMAL:e.pubAttributes.videoType},p={};for(let[t,i]of Object.entries(h))i!==Reflect.get(e.pubAttributes,t)&&Reflect.set(p,t,i);if(!Object.keys(p).length)return;if(e.observer){let{observer:t}=e,{audiostream:i,videostream:r,localaudio:s,localvideo:n,extaudio:a,extvideo:o}=p;void 0!==n?void 0!==o?t.setPushVideo(o):t.setEnableVideo(n):void 0!==r&&t.setUnmuteVideo(r),void 0!==s?void 0!==a?t.setPushAudio(a):t.setEnableAudio(s):void 0!==i&&t.setUnmuteAudio(i)}e.pubAttributes=mr(mr({},e.pubAttributes),h),e.pubAttributes.videostream||e.stopBlackFrame();let m={roomId:this._roomConf.roomId,streamId:e.streamId,attributes:p};await this._ctx.signalingManager.sendSignaling("updateStreamAttributes",m),this.emit("___onAfterUpdateSignaling"),bc&&await (null==c?void 0:c.setCurrentDescription())}async _updatePublishCodec(e){this._logger.info("updatePublishCodec()","localStream: %o",e);let{audioMid:t,videoMid:i,remoteSdp:r,streamId:s,currentVideoCodec:n}=e,a=await e.getSelectedCodec();if(this._logger.info("updatePublishCodec()","selectedCodec: %o",a),a!==n){if(e.currentVideoCodec=a,t&&i&&s&&r){var o;return(this._ctx.handler instanceof OS||this._ctx.handler instanceof Ok)&&await (null==(o=this._ctx.handler)?void 0:o._internalChangePubCodec()),new Promise((n,o)=>{var l;null==(l=this._ctx.handler)||l.handleAck({action:Of.publish,streamId:s,audioMid:t,videoMid:i,signalingAck:{sdp:r,sequenceId:-1},videoCodec:a,onSuccess:n,onFail:o,stream:e})})}{let t=["audioMid","videoMid","streamId","remoteSdp"].filter(t=>!Reflect.get(e,t));this._logger.warn("updatePublishCodec()","fast return, because params: %o",t)}}else this._logger.warn("updatePublishCodec()","selectedCodec is equal to currentVideoCodec")}async unpublish(e){this._logger.info("unpublish()","localStream: %o",e);let t={roomId:this._roomConf.roomId,initStreamId:e.initStreamId,streamId:e.streamId};this._ctx.signalingManager.sendSignaling("unpublish",t).catch(()=>{});let i=e.vendorHandler||this._ctx.handler;e.stopBlackFrame(),await (null==i?void 0:i.handleAck({action:Of.unpublish,audioMid:e.audioMid,videoMid:e.videoMid,stream:e,streamId:e.streamId}))}async updatePubBlackFrame(e){var t;let i=e.genBlackFrame();i&&(null==(t=e.videoTransceiver)||null==(t=t.sender)||t.replaceTrack(i),e.pubAttributes.videoType=wa.BLACK,this._ctx.signalingManager.sendSignaling("updateStreamAttributes",{roomId:this._roomConf.roomId,streamId:e.streamId,attributes:{videoType:wa.BLACK}}),e.on("black-frame-ended",()=>{var t;null==(t=e.videoTransceiver)||null==(t=t.sender)||t.replaceTrack(null),e.pubAttributes.videoType=wa.NORMAL,this._ctx.signalingManager.sendSignaling("updateStreamAttributes",{roomId:this._roomConf.roomId,streamId:e.streamId,attributes:{videoType:wa.NORMAL}})}))}async cleanStream(e){return this._logger.info("cleanStream()","localStream: %o",e),null==e?void 0:e.clean()}async destroyStream(e){return this._logger.info("destroyStream()","localStream: %o",e),null==e?void 0:e.destroy()}destroy(e){e.forEach(e=>{e&&(this.unpublish(e).catch(()=>{}),this.destroyStream(e).catch(()=>{}))}),this._pubBackOff.clear(),super.removeAllListeners()}async _updateVideoDescriptions(e){var t,i,r;let s=this._ctx.videoProfile.genVideoDescriptions(e),n=e.pubAttributes.videoDescriptions;if(n.length!==s.videoDescriptions.length)return;let a={};if(n.find((e,t)=>{if(e.framerate!==s.videoDescriptions[t].framerate||e.maxkbps!==s.videoDescriptions[t].maxkbps||e.width!==s.videoDescriptions[t].width||e.height!==s.videoDescriptions[t].height)return a.videoDescriptions=s.videoDescriptions,!0}),null==(t=e.subVideoDescriptions)||t.find((e,t)=>{if(e.framerate!==s.subVideoDescriptions[t].framerate||e.maxkbps!==s.subVideoDescriptions[t].maxkbps||e.width!==s.subVideoDescriptions[t].width||e.height!==s.subVideoDescriptions[t].height)return a.subVideoDescriptions=s.subVideoDescriptions,!0}),Object.keys(a).length>0){this._ctx.signalingManager.sendSignaling("updateStreamAttributes",{roomId:this._roomConf.roomId,streamId:e.streamId,attributes:a});let t=null==(i=e.videoTransceiver)||null==(i=i.sender)?void 0:i.getParameters();v$(this._ctx.id,"sender.getParameters",JSON.stringify(t),0,e.streamId),t&&Array.isArray(null==t?void 0:t.encodings)&&(t.encodings=t.encodings.map((e,i)=>{var r;return(null!=(r=e.rid)?r:1===t.encodings.length?"0":void 0)===s.sendEncodings[i].rid&&(e.maxBitrate=s.sendEncodings[i].maxBitrate,e.maxFramerate=s.sendEncodings[i].maxFramerate,e.scaleResolutionDownBy=s.sendEncodings[i].scaleResolutionDownBy),e}),this._logger.info("sender.setParameters()",JSON.stringify(t.encodings)),v$(this._ctx.id,"sender.setParameters",JSON.stringify(t),0,e.streamId),null==(r=e.videoTransceiver)||r.sender.setParameters(t),v$(this._ctx.id,"Handler.updateScaleResolutionDownBy",JSON.stringify(t.encodings)))}}async _getVendorPubSdpInfo(e){let t=new Mq(this._ctx,"");e.vendorHandler=new OJ(this._ctx,t),e.pcSessionId&&(e.vendorHandler.peerConnectionId=e.pcSessionId);let i=await e.vendorHandler.publish(e),r=e.vendorHandler;return r.on("ice_state",e=>{this.emit(wi.ON_VENDOR_CONNECTION_STATE_CHANGE,{state:{checking:hd.CONNECTION_STATE_CONNECTING,connected:hd.CONNECTION_STATE_CONNECTED,disconnected:hd.CONNECTION_STATE_RECONNECTING}[e],userId:this._roomConf.userId})}),r.once("disconnect",async()=>{var t;r.removeAllListeners(),"connected"===(null==(t=this._ctx.peerConnection)?void 0:t.getIceConnectionState())?(await this.unpublish(e),await this.publish(e),e.vendorHandler&&e.statsReport.setVar(e.vendorHandler)):this._logger.info("vendor ice failed",e.streamId)}),[r,i]}_getPubBackOff(e){return this._pubBackOff.has(e)||this._pubBackOff.set(e,{interval:1e3,retryDuration:0}),this._pubBackOff.get(e)}}OQ([A1],O0.prototype,"hasPublished",1),OQ([A1,OK,A0],O0.prototype,"publish",1),OQ([A1,OK,A0],O0.prototype,"updatePubTrack",1),OQ([A1,OK,A0],O0.prototype,"unpublish",1),OQ([A1,A0],O0.prototype,"updatePubBlackFrame",1),OQ([A1],O0.prototype,"cleanStream",1),OQ([A1],O0.prototype,"destroyStream",1),OQ([A0],O0.prototype,"_updateVideoDescriptions",1);var O1=Object.defineProperty,O2=Object.getOwnPropertyDescriptor,O3=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?O2(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&O1(t,i,n),n};class O4 extends C5{constructor(e,t){super(),dY(this,"_logger",void 0),dY(this,"_subBackOff",new Map),dY(this,"_subResolves",{}),dY(this,"_ontrackCallbackMap",new Map),this._ctx=e,this._roomConf=t,this._logger=new bn("RoomSubscriber",2,e.id)}async hasSubscribed(e){return e.streamState===Ag.SUB_ED}async subscribe(e,t,i){if(e.streamState!==Ag.SUB_ED)return this._subscribe(e,t,i);this._logger.warn("subscribe()","remoteStream ".concat(e.streamId," has been subscribed, silently return"))}async _subscribe(e,t,i){var r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S,k;let x;this._logger.info("subscribe()","mediaType: %o",t),AQ("subscribe()",e,this._logger),e.streamState=Ag.SUB_ING;let C=!1,w=!1;if(k3(t)&&(w=!0),k4(t)&&(C=!0),!C&&this._roomConf.isMultiChatMode())return void(e.streamState=Ag.INIT);let E=kG(),T=e.subVideo,I=[];this._subResolves[e.streamId]||(this._subResolves[e.streamId]=[]),I.push(new Promise((t,i)=>{this._subResolves[e.streamId].push(t);let r=setTimeout(()=>i(new b$(bY.TIME_OUT,"wait video timeout for userId: ".concat(e.userId))),6e4),s=i=>{"video"===i.mediaType&&(this._logger.info("remoteStream ".concat(e.userId," received video track")),e.off("ontrack",s),clearTimeout(r),t(0))};e.on("ontrack",s)})),this._roomConf.isMultiChatMode()||I.push(new Promise((t,i)=>{this._subResolves[e.streamId].push(t);let r=setTimeout(()=>i(new b$(bY.TIME_OUT,"wait audio timeout for userId: ".concat(e.userId))),6e4),s=i=>{"audio"===i.mediaType&&(this._logger.info("remoteStream ".concat(e.userId," received audio track")),e.off("ontrack",s),clearTimeout(r),t(0))};e.on("ontrack",s)}));let R=t=>{e.ontrack(t)};null==(r=this._ctx.handler)||r.on("ontrack",R),this._ontrackCallbackMap.set(e,R);let N,{handler:A}=this._ctx;null!=(s=this._ctx.serverConfig)&&s.forceUniHandler||!e.enableVendorMode?N=await this._ctx.handler.subscribe(e,{multiChatMode:this._roomConf.isMultiChatMode()}):[A,N]=await this._getVendorSubSdpInfo(e,R);let{audioMid:M,videoMid:P}=N;e.subVideo=C;let j={spatialLayer:(null==i?void 0:i.spatialLayer)||0,temporalLayer:0,spatialSubLayer:(null==i?void 0:i.spatialSubLayer)||-1},L={audio:!this._roomConf.isMultiChatMode(),video:!0,data:!0,screen:e.isScreen,browser:"chrome-stable",videoMid:P,audioMid:M,sdpInfo:{sdp:null==(n=N)?void 0:n.partialSdp,semantics:null==(a=N)?void 0:a.semantics,type:null==(o=N)?void 0:o.type},streamUserId:e.userId,streamId:e.streamId,config:{enableMediaType:{audio:!!this._roomConf.isMultiChatMode()||w,video:C},qualityLayer:j},extra:{enableSendRTT:!0},peerConnectionMode:null==(l=N)?void 0:l.peerConnectionMode,supportMultiVendor:!0};null!=(c=N)&&c.peerConnectionId&&(L.peerConnectionId=N.peerConnectionId);let{subscribeFallbackOption:D,userPriority:O}=this._ctx;"number"==typeof D&&(L.config.fallbackOption=D),O.has(e.userId)&&(L.config.priority=O.get(e.userId)),null!=(d=N)&&d.allSsrc&&(L.extra.subscribeSSRC=N.allSsrc),this.emit("_test_before_ack_");let{signalingAck:F,audioTransceiverInit:U,videoTransceiverInit:V}=N;F&&(e.videoMid=P,e.audioMid=M,await new Promise((t,i)=>{var r;null==(r=A)||r.handleAck({action:Of.subscribe,streamId:e.streamId,audioMid:M,videoMid:P,audioTransceiverInit:U,videoTransceiverInit:V,signalingAck:F,stream:e,onSuccess:()=>{this._logger.info("ssrc","success"),t(0)},onFail:e=>{this._logger.info("ssrc","fail",e),i(e)}})}));try{this.emit("_test_sub_body_",L);let e=this._ctx.signalingManager.sendSignaling("subscribe",L);this.emit("_test_during_signaling_",L),x=await e}catch(s){if(null==(_=this._ctx.monitor)||_.report("rtc_error",{message:"[subscriber._subscribe] ".concat(xm(s)),error_code:-1}),e.streamState=Ag.INIT,s instanceof Error&&this._roomConf.report("rtc_subscribe_stat",{result:"fail",start:E,message:s.message,stream_user_id:e.userId}),s.code>=500&&s.code<600){this.emit("_test_sub_5xx_");let r=this._getSubBackOff(e.streamId);if(r.retryDuration<6e4)return this._logger.info("subRetry",e.streamId,r.retryDuration),await new Promise(e=>setTimeout(e,r.interval)),r.retryDuration+=r.interval,r.interval=r.interval>4e3?8e3:2*r.interval,this.emit(Av.SUB_RETRY,{screen:e.isScreen,userId:e.userId}),await (null==(v=A)?void 0:v.handleAck({action:Of.unsubscribe,streamId:e.streamId,audioMid:M,videoMid:P,stream:e})),e.resetStream(),this._subscribe(e,t,i);this._logger.info("subRetry","end",e.streamId),this._subBackOff.delete(e.streamId)}e.subVideo=T,await (null==(y=A)?void 0:y.rollback({msid:e.streamId,stream:e}));let r={roomId:this._roomConf.roomId,streamId:e.streamId,userId:e.userId};if(await this._ctx.signalingManager.sendSignaling("unsubscribe",r).catch(()=>{}),e.streamState=Ag.INIT,403===s.code)throw new b$(bY.TOKEN_NO_SUBSCRIBE_PERMISSION,s.message||"token no subscribe permission");throw s}if(!x.relayMessage)throw this._roomConf.report("rtc_error",{error_code:-1009,message:"relayMessage is null"}),new b$(bY.UNEXPECTED_ERROR,"unable to subscribe");let{audioMid:B,videoMid:z}=null!=(u=null==(h=x)?void 0:h.relayMessage)?u:{},W={[M]:B,[P]:z};this._logger.info("sub midmap",e.userId,W),e.videoMid=P,e.audioMid=M,e.subMediaType=t,e.streamState=Ag.SUB_ED,e.subLayer=j,this._roomConf.report("rtc_recv_answer",{error_code:0,answer_type:null==(p=x)||null==(p=p.relayMessage)?void 0:p.type,sequence_id:(null==(m=x)||null==(m=m.relayMessage)?void 0:m.sequenceId)||0,message:null==(f=x)||null==(f=f.relayMessage)?void 0:f.sdp,direction:"down",stream_id:e.streamId,stream_user_id:e.userId,pc_session_id:(null==(g=A)?void 0:g.peerConnectionId)||""});try{null!=(b=N)&&b.signalingAck||await new Promise((t,i)=>{var r,s,n,a,o;null==(r=A)||r.handleAck({action:Of.subscribe,streamId:e.streamId,audioMid:M,videoMid:P,audioTransceiverInit:null==(s=N)?void 0:s.audioTransceiverInit,videoTransceiverInit:null==(n=N)?void 0:n.videoTransceiverInit,signalingAck:{sdp:null==(a=x)||null==(a=a.relayMessage)?void 0:a.sdp,sequenceId:null==(o=x)||null==(o=o.relayMessage)?void 0:o.sequenceId},stream:e,onSuccess:()=>{this._logger.info("sub ack","success"),t(0)},onFail:e=>{this._logger.info("sub ack","fail",e),i(e)}})}),await Promise.all(I)}catch(i){null==(S=this._ctx.monitor)||S.report("rtc_error",{message:"[subscriber._subscribe] ".concat(xm(i)),error_code:-1}),i instanceof Error&&this._roomConf.report("rtc_subscribe_stat",{result:"fail",start:E,message:i.message,stream_user_id:e.userId});let t={roomId:this._roomConf.roomId,streamId:e.streamId,userId:e.userId};throw await this._ctx.signalingManager.sendSignaling("unsubscribe",t).catch(()=>{}),await (null==(k=A)?void 0:k.handleAck({action:Of.unsubscribe,streamId:e.streamId,audioMid:M,videoMid:P,stream:e})),e.streamState=Ag.INIT,e.resetStream(),i}this._roomConf.isMultiChatMode()||(e.subAudio=w),this._roomConf.report("rtc_subscribe_stat",{result:"success",start:E,message:"unknown",stream_user_id:e.userId}),e.startReport(e=>this.emit("onRemoteStreamStats",e),A)}async unsubscribe(e){return this._unsubscribe(e)}async _unsubscribe(e){var t,i;AQ("unsubscribe()",e,this._logger);let r={roomId:this._roomConf.roomId,streamId:e.streamId,userId:e.userId},s=e.vendorHandler||this._ctx.handler;this._ctx.signalingManager.sendSignaling("unsubscribe",r).catch(()=>{}),e.streamState=Ag.INIT,e.subVideo=!1,null==(t=e.observer)||t.setSubscribeVideo(!1),this._roomConf.isMultiChatMode()||null==(i=e.observer)||i.setSubscribeAudio(!1);let n=await (null==s?void 0:s.handleAck({action:Of.unsubscribe,streamId:e.streamId,audioMid:e.audioMid,videoMid:e.videoMid,stream:e}));this._subResolves[n]&&this._subResolves[n].forEach(e=>e(0)),this._logger.info("unsubscribe","clean unsub ".concat(e.userId)),e.clean(),e.subMediaType=Sf.NONE,this._removeOnTrackListener(e),e.statsReport.unsubscribe()}async unsubscribe4removeTrack(e,t,i){var r,s,n,a;if(AQ("unsubscribe4removeTrack()",e,this._logger),this._logger.info("unsubscribe4removeTrack()","sequenceId: ",t.sequenceId,"trackType: ",i),t.sequenceId{this.emit(wi.ON_VENDOR_CONNECTION_STATE_CHANGE,{state:{checking:hd.CONNECTION_STATE_CONNECTING,connected:hd.CONNECTION_STATE_CONNECTED,disconnected:hd.CONNECTION_STATE_RECONNECTING}[t],userId:e.userId})}),r.once("disconnect",async()=>{var t;if(null==r||r.removeAllListeners(),"connected"!==(null==(t=this._ctx.peerConnection)?void 0:t.getIceConnectionState()))return void this._logger.info("vendor ice failed",e.streamId);let i=e.subMediaType;await this.unsubscribe(e),await this.subscribe(e,i),e.vendorHandler&&e.statsReport.setVar(e.vendorHandler),this.emit(Av.RESUBSCRIBE,{stream:e})}),[r,s]}async subscribe4pushTrack(e,t){var i,r,s;this._logger.info("subscribe4pushTrack()","streamInfo: %o",t),AQ("subscribe4pushTrack()",e,this._logger),e.subAudio=!0;let n=await (null==(i=this._ctx.handler)?void 0:i.subscribe(e,{multiChatMode:this._roomConf.isMultiChatMode()}));if(!n)throw new b$(bY.ADD_TRANSCEIVER_FAILED,"add transceiver failed");let{audioMid:a}=n,{videoMid:o}=n,l=[];l.push(new Promise((t,i)=>{let r=setTimeout(()=>i(new b$(bY.TIME_OUT,"wait audio timeout for userId: ".concat(e.userId))),6e4),s=i=>{"audio"===i.mediaType&&(this._logger.success("remoteStream ".concat(e.userId," received audio track")),e.off("ontrack",s),clearTimeout(r),t(0))};e.on("ontrack",s)}));let c=t=>{e.ontrack(t)};null==(r=this._ctx.handler)||r.on("ontrack",c),this._ontrackCallbackMap.set(e,c),await (null==(s=this._ctx.handler)?void 0:s.handleAck({action:Of.pushtrack,streamId:e.streamId,audioMid:a,videoMid:o,stream:e,audioTransceiverInit:null==n?void 0:n.audioTransceiverInit,videoTransceiverInit:null==n?void 0:n.videoTransceiverInit,signalingAck:null==t?void 0:t.message})),await Promise.all(l),e.videoMid=o,e.audioMid=a,e.startReport(e=>this.emit("onRemoteStreamStats",e),this._ctx.handler)}async updateUserAttributes(e){this._logger.info("updateUserAttributes()","attributes: %o",e),await this._ctx.signalingManager.sendSignaling("updateUserAttributes",{roomId:this._roomConf.roomId,sessionId:this._roomConf.sessionId,attributes:e})}async updateSubTrackLayer(e,t){if(this._logger.info("updateSubTrack()","subLayer: %o",t),e.subLayer.spatialLayer===t.spatialLayer&&e.subLayer.spatialSubLayer===t.spatialSubLayer)return void this._logger.warn("updateSubTrack()","subLayer no change");let i={roomId:this._roomConf.roomId,streamList:[e.streamId],streamId:e.streamId,streamUserId:e.userId,config:{qualityLayer:t}};return await this._ctx.signalingManager.sendSignaling("updateSubscribe",i),this.emit("___afterUpdateSubscribeSend"),e.subLayer=t,e}async updateSubPriority(e,t){if(this._logger.info("updateSubPriority()","priority: %o",t),e.priority===t)return this._logger.warn("updateSubPriority()","priority no change"),e;let i={roomId:this._roomConf.roomId,streamList:[e.streamId],streamId:e.streamId,streamUserId:e.userId,config:{priority:t}};return await this._ctx.signalingManager.sendSignaling("updateSubscribe",i),e.priority=t,e}async updateSubMediaType(e,t){var i,r;let s=!1,n=!1;k3(t)&&(n=!0),k4(t)&&(s=!0);let a={roomId:this._roomConf.roomId,streamList:[e.streamId],config:{enableMediaType:{video:s,audio:!!this._roomConf.isMultiChatMode()||n}}};return await this._ctx.signalingManager.sendSignaling("updateSubscribe",a),this._roomConf.isMultiChatMode()||(null==(r=e.observer)||r.setUnmuteAudio(n),e.subAudio=n),null==(i=e.observer)||i.setUnmuteVideo(s),e.subVideo=s,e.subMediaType=t,e}async cleanStream(e){return this._cleanStream(e)}async _cleanStream(e){this._logger.info("cleanStream()","stream: %o",e),null==e||e.clean()}destroyStream(e){return this._destroyStream(e)}_destroyStream(e){this._logger.info("destroyStream()","stream: %o",e),null==e||e.destroy()}destroy(e){var t;this._logger.info("destroy()","remoteStream: %o",e),e.forEach(e=>{this.unsubscribe(e).catch(()=>{}),this.destroyStream(e)}),this._subBackOff.clear(),this._ontrackCallbackMap.forEach((e,t)=>{this._removeOnTrackListener(t),this._ontrackCallbackMap.delete(t)}),this._subResolves={},null==(t=this._ctx.handler)||t.removeAllListeners("ontrack"),super.removeAllListeners()}_getSubBackOff(e){return this._subBackOff.has(e)||this._subBackOff.set(e,{interval:1e3,retryDuration:0}),this._subBackOff.get(e)}}O3([A1],O4.prototype,"hasSubscribed",1),O3([A1,OK,A0],O4.prototype,"subscribe",1),O3([A1,OK,A0],O4.prototype,"unsubscribe",1),O3([A1,OK,A0],O4.prototype,"unsubscribe4removeTrack",1),O3([A1],O4.prototype,"handleStreamFailed",1),O3([A1,A0],O4.prototype,"handleRemoveStream",1),O3([A1,OK,A0],O4.prototype,"subscribe4pushTrack",1),O3([A1,A0],O4.prototype,"updateUserAttributes",1),O3([A1,A0],O4.prototype,"updateSubTrackLayer",1),O3([A1,A0],O4.prototype,"updateSubPriority",1),O3([A1],O4.prototype,"updateSubMediaType",1),O3([A1],O4.prototype,"cleanStream",1),O3([A1],O4.prototype,"destroyStream",1);let O5={[hC.communication]:[0],[hC.chat]:[0],[hC.chatRoom]:[1,"IES_chatroom"],[hC.coHost]:[1,"IES_PK"],[hC.meeting]:[16],[hC.classRoom]:[0]};class O9 extends C5{constructor(e,t){super(),dY(this,"_logger",void 0),dY(this,"_authorization",void 0),dY(this,"_joinRoom5xxTimer",void 0),dY(this,"_joinTask",void 0),dY(this,"_sdpInfo",void 0),this._ctx=e,this._roomConf=t,this._logger=new bn("RoomJoin",2,e.id),this._logger.info("constructor","invoke")}join(){let e,t,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._logger.info("join()");let r=new Promise((r,s)=>{e=r,t=s,this._callJoinRoom(i).catch(e=>{let t=Array.isArray(e)&&e.length>0?e[0]:e;this._joinRoomFailed(t.message)})});return this._joinTask&&i?this._joinTask.startTime=kG():(this._joinTask={startTime:kG(),success:e,fail:t},this._roomConf.joinPromise=r),this._reportJoinRoomStart(),r}async updateToken(e){if(this._logger.info("updateToken()","newToken: %o",e),!this._ctx.appId||!this._roomConf.userId||!this._roomConf.roomId)return;let t={roomId:this._roomConf.roomId,userId:this._roomConf.userId,appId:this._ctx.appId,token:"Bearer ".concat(e)};try{await this._ctx.signalingManager.sendSignaling("updateToken",t)}catch(e){throw new b$(bY.UPDATE_TOKEN_WITH_INVALID_TOKEN,"invoke updateToken with an invalid token")}}async leave(){this._logger.info("leave()"),this._stopJoinRoom5xxRetry(),this._joinRoomFailed("leave_room");let e={Authorization:this._authorization,roomId:this._roomConf.roomId,sessionId:this._roomConf.sessionId};if(await this._ready2join(),!this._ctx.signalingManager.isConnected())return Promise.reject(new b$(bY.NOT_CONNECTED_YET,"server not connected"));await this._ctx.signalingManager.sendSignaling("leaveRoom",e,this._roomConf.rtsOnlySignalHeader)}destroy(){this._logger.info("destroy()"),this._joinRoomFailed("leave_room"),this._authorization=void 0,this._stopJoinRoom5xxRetry(),this.removeAllListeners()}async _ready2join(){var e;return await this._ctx.signalingManager.connect(),this._sdpInfo||(this._sdpInfo=await (null==(e=this._ctx.handler)?void 0:e.getDefaultSdp())),O9.supportedCodecs||(O9.supportedCodecs=await Sb()),{sdpInfo:this._sdpInfo,supportedCodecs:O9.supportedCodecs}}async _callJoinRoom(e){var t,i,r,s,n,a,o,l,c,d,u,h,p,m;this._logger.info("_callJoinRoom","invoke"),delete this._sdpInfo;let{appId:f,role:g,businessId:_,useCloudProxy:y,joinRoomParams:v,mediaParams:b}=this._ctx,{sdpInfo:S,supportedCodecs:k}=await this._ready2join(),x={Authorization:kK.token2auth(f,this._roomConf.roomId,this._roomConf.userId,this._roomConf.token),sessionId:this._roomConf.sessionId,timestamp:Date.now(),controlMessage:this._roomConf.getLiveControlMessage(),userAttributes:{extra_info:this._roomConf.userInfo.extraInfo,role:g},sdpInfo:S,params:{supportedCodecs:k,userAgent:window.navigator.userAgent,sdkVersion:SQ.VERSION,deviceId:bZ.getDeviceId(),appId:f,roomId:this._roomConf.roomId,userId:this._roomConf.userId,businessId:_,enableCloudProxy:y,channelProfile:O5[this._roomConf.roomProfileType]?"".concat(O5[this._roomConf.roomProfileType][0]):"0",SDKCodecNegotiation:S2("SDK_CODEC_NEGOTIATION"),sdkType:"rtc",joinRoomMode:this._roomConf.isRTSOnlyRoom()?2:1,deviceType:"web",platformType:2,rtsMode:this._ctx.rtsMode,mediaProcessingType:null!=(t=SQ.MEDIA_PROCESSING_TYPE)?t:0},options:{supportCheckTokenPrivilege:!0,supportTokenExpireCallBack:!0,enableSceneConfigV2:!0,enableUnBundleMode:!0,enableAudioMux:!0,enableBigRoomMode:!0,needNegotiateSDP:!0,supportMultiVendor:!0}},C={requireICEUfragV2:!0};if(this._ctx.useIPv6&&(C.ipType="ipv6"),x.accessParams=JSON.stringify(C),"AREA_CODE_US_OPCO"===S2("AREA_CODE")&&(x.params.mediaArea=JSON.stringify([{AreaList:["GEO:US_OPCO"],Attribute:"include"}])),v)for(let[e,t]of Object.entries(v))x.params[e]=t;b&&(x.mediaParams=b),S2("SIGNAL_CROP_JOINROOM")&&null!=(i=x.sdpInfo)&&i.sdp&&(x.sdpInfo.sdp=MU(x.sdpInfo.sdp)),Promise.resolve().then(()=>this.emit("onSendingJoinMessageHook"));try{let t=e?"reconnected":"joinRoom",i=await this._joinRoomWithRetry(t,x);this._logger.success("join","send join message success");let{_abtest_vid:m}=i.config||{},{engine_WEB:f}=i.config||{};this._authorization=x.Authorization,bZ.setEngineWebConfig(this._ctx.appId,this._roomConf.roomId,f),f=Object.assign({},S2("ENGINE_WEB_CONFIG"),f),this._ctx.serverConfig={videoCodec:null==(r=f)?void 0:r.video_codec,audioRed:!(null==(s=f)||!s.pub_audio_red),muteReplaceUnsub:!(null==(n=i.config)||!n.mute_replace_unsub),simulcastOnDemand:!1!==(null==(a=i.config)||null==(a=a.engine_VPM)||null==(a=a.ondemand)?void 0:a.enable),forceUniHandler:1===(null==(o=i.config)||null==(o=o.vendor_param)?void 0:o.vendor_stream_sub_mode),e2eFeedback:null==(l=f)?void 0:l.e2e_feedback},S2("SDK_CODEC_NEGOTIATION")&&(this._ctx.targetCodec=null==(u=i.config)?void 0:u.targetCodec,this._ctx.targetScreenCodec=null==(h=i.config)?void 0:h.targetScreenCodec),"boolean"==typeof(null==(c=f)?void 0:c.av_sync)&&(this._ctx.avSync=f.av_sync),this._roomConf.rtcVid=m,i.vendorConfig&&this._roomConf.setVendorConfig(i.vendorConfig),Ng.setAudioStallConfig(f),null!=(d=i.relayMessage)&&d.sdp&&(null==(p=this._ctx.handler)||p.createAVMlineAnswerTpl(i.relayMessage.sdp)),this.emit(Av.JOIN_SUCCESS,{joinRes:i,reconnect:e}),this._joinRoomSuccess(i)}catch(t){null==(m=this._ctx.monitor)||m.report("rtc_error",{message:"[join._callJoinRoom] ".concat(xm(t)),error_code:-1});let e={461:bY.ROOM_FORBIDDEN,462:bY.USER_FORBIDDEN};(null==t?void 0:t.code)>=700&&(null==t?void 0:t.code)<800?this._joinRoomFailed("token_error",bY.INVALID_TOKEN):e[null==t?void 0:t.code]?this._joinRoomFailed((null==t?void 0:t.message)||e[null==t?void 0:t.code],e[null==t?void 0:t.code]):(null==t?void 0:t.code)===bY.TIME_OUT&&this._ctx.joinRoomConfig.useTcpAfterJoinTimeout?(this._logger.error("join",M0.JOIN_TIMEOUT),this.safeEmit(Av.ON_REJOIN_WITH_TCP),this._ctx.signalingManager.reconnect(M0.JOIN_TIMEOUT,!0)):t.code===bY.OPERATION_CANCEL&&this._ctx.signalingManager.isReconnecting()||this._joinRoomFailed((null==t?void 0:t.message)||"signaling_error")}}_joinRoomWithRetry(e,t,i){return new Promise((r,s)=>{this._ctx.signalingManager.sendSignaling(e,t,this._roomConf.rtsOnlySignalHeader,1e4).then(e=>{this.emit("onJoinRoomAck",e),r(e)}).catch(n=>{if(i=i||new Ma,n.code>=500&&n.code<600&&kG()-i.initTs<6e4){let a=i.getRetryDelay();return this._logger.warn("_joinRoomWithRetry","joinRoom failed(code: ".concat(n.code,"), will retry after ").concat(a,"ms")),void(this._joinRoom5xxTimer=setTimeout(()=>{delete this._joinRoom5xxTimer,this._joinRoomWithRetry(e,t,i).then(r).catch(s)},a))}s(n)})})}_stopJoinRoom5xxRetry(){this._joinRoom5xxTimer&&(clearTimeout(this._joinRoom5xxTimer),delete this._joinRoom5xxTimer)}_reportJoinRoomStart(){this._joinTask&&(this.emit("__joinRoomStartReport"),this._roomConf.report("join_room",{type:"begin",start:this._joinTask.startTime,result:!1,reason:""},{enable_cloud_proxy:this._ctx.useCloudProxy,expectedIDC:this._ctx.expectedIDC}))}_joinRoomSuccess(e){this._joinTask&&(this._joinTask.success(e),this.emit("__joinRoomSuccessReport"),this._roomConf.report("join_room",{type:"end",start:this._joinTask.startTime,result:!0,reason:""},{enable_cloud_proxy:this._ctx.useCloudProxy,expectedIDC:this._ctx.expectedIDC}),this._roomConf.report("rtc_join_room",{error_code:0,deviceModel:"web",deviceManufacturer:"web",elapse:kG()-this._joinTask.startTime}),delete this._joinTask,delete this._roomConf.joinPromise)}_joinRoomFailed(e,t){this._joinTask&&(this._joinTask.fail(new b$(t||bY.JOIN_ROOM_FAILED,e)),this.emit("__joinRoomFailedReport"),this._roomConf.report("join_room",{type:"end",start:this._joinTask.startTime,result:!1,reason:e},{enable_cloud_proxy:this._ctx.useCloudProxy,expectedIDC:this._ctx.expectedIDC}),delete this._joinTask,delete this._roomConf.joinPromise)}}dY(O9,"supportedCodecs",void 0);var O6=Object.defineProperty,O8=Object.getOwnPropertyDescriptor,O7=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?O8(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&O6(t,i,n),n};class Fe{constructor(e,t){dY(this,"_logger",void 0),this._ctx=e,this._roomConf=t,this._logger=new bn("RoomMessage",2,e.id)}sendUserMessage(e,t){return this._ctx.signalingManager.sendP2PMessage({to:e,from:this._roomConf.userId,room:this._roomConf.roomId,app:this._ctx.appId,msg:t})}async sendRoomMessage(e,t){let i={clientId:this._roomConf.userId,binary:t,message:"",roomId:this._roomConf.roomId};return i.message=t?await kK.ab2b64str(e):e,this._ctx.signalingManager.sendSignaling("customMessage",i,this._roomConf.rtsOnlySignalHeader)}async controlMessage(e){this._logger.info("controlMessage()","params: %o",e);let t=e;"transcode"===e.type&&(t.roomId=this._roomConf.roomId),await this._ctx.signalingManager.sendSignaling("controlMessage",t)}}O7([A0],Fe.prototype,"sendUserMessage",1),O7([A0],Fe.prototype,"sendRoomMessage",1),O7([A0],Fe.prototype,"controlMessage",1);var Ft=Object.defineProperty,Fi=Object.getOwnPropertyDescriptor,Fr=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?Fi(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&Ft(t,i,n),n};let Fs={audiostream:!0,extaudio:!1,extvideo:!1,localaudio:!0,localvideo:!1,videoDescriptions:[],videostream:!1,publishTime:0};class Fn extends C5{constructor(e,t){super(),dY(this,"_localStream",void 0),dY(this,"_localScreenStream",void 0),dY(this,"_remoteUsers",new Map),dY(this,"_remoteStreams",new Map),dY(this,"_remoteStreamStreamIdUserIdMap",{}),dY(this,"_remoteUserMediaBanned",new Map),dY(this,"_virtualStreams",[]),dY(this,"_serverConfig",void 0),dY(this,"_userDuplicateLoginTimerMap",new Map),dY(this,"_networkQualityManager",void 0),dY(this,"_videoSizeObserver",void 0),dY(this,"_hasPublished",!1),dY(this,"_subtitleTool",void 0),dY(this,"_csrcUserIdMap",{}),dY(this,"_publishOnDemandItem",void 0),dY(this,"_onceTriggerBySignal",!1),dY(this,"_pubTransceiverReady",!1),dY(this,"_publishOnDemandBusy",!1),dY(this,"logger",void 0),dY(this,"_forwardStreamManager",void 0),dY(this,"_publisher",void 0),dY(this,"_subscriber",void 0),dY(this,"_roomJoin",void 0),dY(this,"_roomMessage",void 0),dY(this,"_clearSignalListeners",void 0),this.config=e,this._ctx=t,this.logger=new bn("Room",1,t.id),this.logger.info("constructor","invoke"),this._publisher=new O0(t,e),this._addPublisherListeners(),this._subscriber=new O4(t,e),this._addSubscriberListeners(),this._roomJoin=new O9(t,e),this._addJoinRoomHandler(),this._forwardStreamManager=new A9(t,e),this._addForwardStreamListeners(),this._roomMessage=new Fe(t,e),this._networkQualityManager=new AT(t),this._networkQualityManager.reportor=this._reportNetworkQuality.bind(this),this._videoSizeObserver=new AI(this),this._videoSizeObserver.onchange=this._emitVideoSizeChange.bind(this),this._addSignalListeners()}get remoteUsers(){return this._remoteUsers}get remoteStreams(){return this._remoteStreams}get localStream(){return this._localStream}get localScreenStream(){return this._localScreenStream}get virtualStreams(){return this._virtualStreams}_addSignalListeners(){let e={[we.ON_ADD_STREAM]:this._onAddStream.bind(this),[we.ON_ADD_STREAM_LIST]:e=>{e&&Array.isArray(e.streamList)&&e.streamList.forEach(e=>this._onAddStream(e))},[we.ON_REMOVE_STREAM]:this._onRemoveStream.bind(this),[we.ON_REMOVE_STREAM_LIST]:e=>{e&&Array.isArray(e.streamList)&&e.streamList.forEach(e=>this._onRemoveStream(e))},[we.USER_CONNECTION]:this._onUserConnection.bind(this),[we.USER_CONNECTION_LIST]:e=>{e&&Array.isArray(e.userList)&&e.userList.forEach(e=>this._onUserConnection(e))},[we.USER_DISCONNECTION]:this._onUserDisconnection.bind(this),[we.USER_DISCONNECTION_LIST]:e=>{e&&Array.isArray(e.userList)&&e.userList.forEach(e=>this._onUserDisconnection(e))},[we.ON_UPDATE_ROOM_ATTRIBUTES]:this._onUpdateRoomAttributes.bind(this),[we.ON_UPDATE_USER_ATTRIBUTES]:this._onUpdateUserAttributes.bind(this),[we.ON_UPDATE_STREAM_ATTRIBUTES]:this._onUpdateStreamAttributes.bind(this),[we.ON_PUSH_TRACK]:this._onPushTrack.bind(this),[we.ON_REMOVE_TRACK]:this._onRemoveTrack.bind(this),[we.ON_CUSTOM_MESSAGE]:this._onCustomMessage.bind(this),[we.USER_MESSAGE_RECEIVED]:this._onUserMessageReceived.bind(this),[we.USER_BINARY_MESSAGE_RECEIVED]:this._onUserBinaryMessageReceived.bind(this),[we.POST_PROCESSING_MESSAGE]:this._onPostProcessingMessage.bind(this),[we.ON_USER_TOKEN_WILL_EXPIRE]:this._onUserTokenWillExpire.bind(this),[we.ON_TOKEN_PUBLISH_PRIVILEGE_WILL_EXPIRE]:this._onUserTokePublishPrivilegeWillExpire.bind(this),[we.ON_TOKEN_PUBLISH_PRIVILEGE_DID_EXPIRED]:this._onUserTokenPublishPrivilegeDidExpire.bind(this),[we.ON_TOKEN_SUBSCRIBE_PRIVILEGE_WILL_EXPIRE]:this._onUserTokeSubscribePrivilegeWillExpire.bind(this),[we.ON_TOKEN_SUBSCRIBE_PRIVILEGE_DID_EXPIRED]:this._onUserTokenSubscribePrivilegeDidExpire.bind(this),[we.STREAM_CONTROL_MESSAGE]:this._onStreamControlMessage.bind(this),[we.ENGINE_CONTROL_MESSAGE]:this._onEngineControlMessage.bind(this),[we.ON_STREAM_FAILED]:this._onStreamFailed.bind(this),[wt.RTT]:this._onRTT.bind(this),[wt.SSC]:this._onSSC.bind(this),[wi.ON_CONNECTION_STATE_CHANGE]:this._onConnectionStateChange.bind(this),[we.ON_SPEAKER_CHANGE]:this._onMeetingSpeakerChange.bind(this),[we.ON_FORWARD_DST_ROOM_USER_KICK]:this._forwardStreamManager.onForwardDstRoomUserKick.bind(this._forwardStreamManager),[wt.RSCP]:this._onRSCP.bind(this)};Object.keys(e).forEach(t=>{this._ctx.signalingManager.on(t,e[t])}),this._clearSignalListeners=()=>{Object.keys(e).forEach(t=>{this._ctx.signalingManager.off(t,e[t])})}}_addPublisherListeners(){this._publisher.on(Av.PUB_RETRY,e=>{this.emit(Av.PUB_RETRY,e)}),this._publisher.on(wt.RSCP,this._onRSCP.bind(this)),this._publisher.on(wi.ON_VENDOR_CONNECTION_STATE_CHANGE,e=>this.emit(wi.ON_VENDOR_CONNECTION_STATE_CHANGE,e))}_addSubscriberListeners(){this._subscriber.on(wi.ON_VENDOR_CONNECTION_STATE_CHANGE,e=>this.emit(wi.ON_VENDOR_CONNECTION_STATE_CHANGE,e)),this._subscriber.on("onRemoteStreamStats",e=>{this._networkQualityManager.updateDownlinkStats(e,this._findRemoteStreamByScreen(e.userId,e.isScreen)),S2("HIDDEN_STATS")||(e=k5(e)),this.emit(Av.ON_REMOTE_STREAM_STATS,e)}),this._subscriber.on(Av.RESUBSCRIBE,e=>{this.emit(Av.RESUBSCRIBE,e)}),this._subscriber.on(Av.SUB_RETRY,e=>{this.emit(Av.SUB_RETRY,e)})}_addJoinRoomHandler(){this._roomJoin.on(Av.JOIN_SUCCESS,this._onJoinSucc.bind(this)),this._roomJoin.on(Av.ON_REJOIN_WITH_TCP,()=>{this.emit(Av.ON_REJOIN_WITH_TCP)})}_addForwardStreamListeners(){this._forwardStreamManager.on(Av.ON_FORWARD_STREAM_ERROR,e=>{this.safeEmit(Av.ON_FORWARD_STREAM_ERROR,e)})}_onLocalStreamStats(e){let t=e.isScreen?this._localScreenStream:this.localStream;this._networkQualityManager.updateUplinkStats(e,t),S2("HIDDEN_STATS")||(e=k5(e)),this.emit(Av.ON_LOCAL_STREAM_STATS,e)}async join(){var e,t;this.logger.info("join()"),this.config.startJoinTimestamp=kG();try{let t=await this._roomJoin.join();return this._ctx.callId=t.callId,null!=(e=t.roomAttributes)&&e.multiChatMode&&this._handleFFAudioTrack(),this._initSubtitleTool(),{users:t.clients,streams:t.streams}}catch(e){if(null==(t=this._ctx.monitor)||t.report("rtc_error",{message:"[room.join] ".concat(xm(e)),error_code:-1}),e.code!==bY.OPERATION_CANCEL)throw e}}async hasScreenPublished(){return!!this._localScreenStream&&this._publisher.hasPublished(this._localScreenStream)}async hasPublished(){return!!this._localStream&&this._publisher.hasPublished(this._localStream)}async publishScreen(e,t,i,r){var s,n,a,o,l;this.logger.info("publishScreen()"),this._localScreenStream||(this._localScreenStream=new A_(this._ctx,ho.STREAM_INDEX_SCREEN),this.config.vendorConfig.enableMultiVendor&&(this._localScreenStream.pcSessionId=hK()),this._localScreenStream.isScreen=!0,this._localScreenStream.observer=new Aw(this._ctx,this._localScreenStream));let c=!1,d=!1,u=!1,h=!1;!this._localScreenStream.videoTrack&&e?(e.sourceType===wo.EXTERNAL&&(d=!0),c=!0):this._localScreenStream.videoTrack&&!e&&(c=!1),!this._localScreenStream.audioTrack&&t?(t.sourceType===wo.EXTERNAL&&(h=!0),u=!0):this._localScreenStream.audioTrack&&!t&&(u=!1),this._localScreenStream.videoTrack=e,this._localScreenStream.audioTrack=t,i&&(k3(i)&&(this._localScreenStream.pubAudio=r===AS.PUB),k4(i)&&(this._localScreenStream.pubVideo=r===AS.PUB),this.logger.info("publishScreen mediaType","pubAudio: %o, pubVideo: %o",this._localScreenStream.pubAudio,this._localScreenStream.pubVideo));let p=await this._publisher.hasPublished(this._localScreenStream);if(!this._localScreenStream.pubAudio&&!this._localScreenStream.pubVideo)return p?this.unpublishScreen():void 0;p?(d?null==(s=this._localScreenStream.observer)||s.setPushVideo(c):null==(n=this._localScreenStream.observer)||n.setEnableVideo(c),h?null==(a=this._localScreenStream.observer)||a.setPushAudio(u):null==(o=this._localScreenStream.observer)||o.setEnableAudio(u),await this.updatePubScreenTrack()):(null==(l=this._localScreenStream.observer)||l.setPublish(!0),await this._publisher.publish(this._localScreenStream)),this._localScreenStream.pubAudio||this._localScreenStream.pubVideo?this._ctx.handler&&this._localScreenStream.startReport(this._onLocalStreamStats.bind(this),this._localScreenStream.vendorHandler||this._ctx.handler):this._localScreenStream.stopReport("unpublish screen")}async updatePubScreenTrack(){this.logger.info("updatePubScreenTrack","Invoke updatePubScreenTrack"),this._localScreenStream&&await this._publisher.updatePubTrack(this._localScreenStream)}async unpublishScreen(){var e,t;this.logger.info("unpublish","Invoke unpublishScreen"),this._localScreenStream&&(null==(e=this._localScreenStream.observer)||e.setPublish(!1),await this._publisher.unpublish(this._localScreenStream),null==(t=this._localScreenStream)||t.stopReport("unpublish screen"),await this._publisher.cleanStream(this._localScreenStream),this._localScreenStream=void 0)}async liveControlMessage(e){var t;this.logger.info("controlMessage","Invoke controlMessage"),null==(t=e.transcodeMeta)||t.layout.regions.forEach(e=>{e.roomID=this.config.roomId}),this.config.setLiveControlMessage("stopped"===e.action?void 0:e);try{await this._roomMessage.controlMessage(e)}catch(t){if("stopped"!==e.action)throw t}}async publicStreamControlMessage(e){"stopped"===e.action&&delete e.publicStreamMeta,await this._roomMessage.controlMessage(e)}getLocalStreamStats(){var e;return null==(e=this.localStream)?void 0:e.getLocalStreamStats()}async updateUserAttributes(){this.logger.info("updateUserAttributes","Invoke updateUserAttributes"),await this._subscriber.updateUserAttributes({role:this._ctx.role})}async publish(e,t,i,r){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.logger.info("publish","Invoke publish");let n=!1;this._localStream||(this._localStream=new A_(this._ctx),this.config.vendorConfig.enableMultiVendor&&(this._localStream.pcSessionId=hK()),this._localStream.observer=new Aw(this._ctx,this._localStream),n=!0,this._localStream.vendorCode=this.config.vendorConfig.vendorCode||0),this._localStream.videoTrack=e,this._localStream.audioTrack=t;let{pubAudio:a,pubVideo:o}=this._localStream;if(i&&(k3(i)&&(this._localStream.pubAudio=r===AS.PUB),k4(i)&&(this._localStream.pubVideo=r===AS.PUB),this.logger.info("publish mediaType","pubAudio: %o, pubVideo: %o",this._localStream.pubAudio,this._localStream.pubVideo)),await this._publisher.hasPublished(this._localStream))try{this.emit("___onMediaServerClientPublish"),await this.updatePubTrack()}catch(e){throw this._localStream.pubAudio=a,this._localStream.pubVideo=o,e}else{var l,c,d,u,h,p,m,f,g;if(!this._localStream.pubAudio&&!this._localStream.pubVideo)return;try{if(s)null==(l=this._localStream.observer)||l.setLogin(!0);else if(n){let e=!!this._localStream.videoTrack,t=!!this._localStream.audioTrack,i=(null==(c=this._localStream.videoTrack)?void 0:c.sourceType)===wo.EXTERNAL,r=(null==(d=this._localStream.audioTrack)?void 0:d.sourceType)===wo.EXTERNAL;this.config.isAutoPublish&&!this._hasPublished?(e&&(i?null==(u=this._localStream.observer)||u.setPushVideo(!0):null==(h=this._localStream.observer)||h.setEnableVideo(!0)),t&&(r?null==(p=this._localStream.observer)||p.setPushAudio(!0):null==(m=this._localStream.observer)||m.setEnableAudio(!0))):null==(f=this._localStream.observer)||f.setPublish(!0)}this.emit("___onMediaServerClientPublish"),await this._publisher.publish(this._localStream),this._hasPublished=!0,this.emit(Av.ON_PUBLISH_RESULT,{isScreen:!1,state:hs.PUBLISH_SUCC})}catch(e){throw null==(g=this._ctx.monitor)||g.report("rtc_error",{message:"[room.publish] ".concat(xm(e)),error_code:-1}),this.emit(Av.ON_PUBLISH_RESULT,{isScreen:!1,state:hs.PUBLISH_FAIL,errorCode:e.code}),delete this._localStream,e}}this._localStream.pubAudio||this._localStream.pubVideo?this._ctx.handler&&this._localStream.startReport(this._onLocalStreamStats.bind(this),this._localStream.vendorHandler||this._ctx.handler):this._localStream.stopReport("unpublish")}async updatePubTrack(){if(this.logger.info("updatePubTrack","Invoke updatePubTrack"),this._localStream)try{await this._publisher.updatePubTrack(this._localStream)}catch(t){var e;throw null==(e=this._ctx.monitor)||e.report("rtc_error",{message:"[room.updatePubTrack] ".concat(xm(t)),error_code:-1}),t}}async unpublish(){var e,t;if(this.logger.info("unpublish","Invoke unpublish"),this._localStream)try{await this._publisher.unpublish(this._localStream),null==(e=this._localStream)||e.stopReport("unpublish"),await this._publisher.cleanStream(this._localStream),this._localStream=void 0}catch(e){throw null==(t=this._ctx.monitor)||t.report("rtc_error",{message:"[room.unpublish] ".concat(xm(e)),error_code:-1}),e}}async subscribe(e,t){if(this.logger.info("subscribe","remoteStream %o",e),await this._subscriber.hasSubscribed(e)){let i=e.subMediaType|t;return i!==e.subMediaType?await this._subscriber.updateSubMediaType(e,i):void 0}let i=this._ctx.videoProfile.getSubLayer(e,this.config.remoteVideoConfig);try{await this._subscriber.subscribe(e,t,i)}catch(e){var r;throw null==(r=this._ctx.monitor)||r.report("rtc_error",{message:"[room.subscribe] ".concat(xm(e)),error_code:-1}),e}}async updateSubVideoConfig(e){var t;let i=this._findRemoteStreamByScreen(e,!1);if(this.logger.info("updateSubVideoConfig","userId %s",e),!i||!await this._subscriber.hasSubscribed(i)||(null==(t=i.attributes)||null==(t=t.videoDescriptions)?void 0:t.length)<=1)return;let r=this._ctx.videoProfile.getSubLayer(i);return r?(i.originalStreamIndex=r.spatialLayer,this._subscriber.updateSubTrackLayer(i,r)):void 0}async unsubscribe(e,t){var i,r;this.logger.info("unsubscribe","Invoke unsubscribe");try{if(!await this._subscriber.hasSubscribed(e))return;let r=e.subMediaType-(e.subMediaType&t);if((null==(i=this._ctx.serverConfig)||!i.muteReplaceUnsub)&&(r===Sf.NONE||this.config.isMultiChatMode()&&r===hl.AUDIO))return await this._subscriber.unsubscribe(e);await this._subscriber.updateSubMediaType(e,r)}catch(e){throw null==(r=this._ctx.monitor)||r.report("rtc_error",{message:"[room.unsubscribe] ".concat(xm(e)),error_code:-1}),e}}async startSubtitle(e){if(!this._subtitleTool)throw new b$(bY.INVOKED_BEFORE_JOIN_ROOM,"join first");await this._subtitleTool.start(e)}async updateSubtitleConfig(e){if(!this._subtitleTool)throw new b$(bY.INVOKED_BEFORE_JOIN_ROOM,"join first");await this._subtitleTool.update(e)}async stopSubtitle(){var e;null==(e=this._subtitleTool)||e.stop()}async startForwardStream2Rooms(e){return this._forwardStreamManager.startForwardStream2Rooms(e)}async updateForwardStream2Rooms(e){return this._forwardStreamManager.updateForwardStream2Rooms(e)}async stopForwardStream2Rooms(){return this._forwardStreamManager.stopForwardStream2Rooms()}async pauseForwardStream2AllRooms(){return this._forwardStreamManager.pauseForwardStream2AllRooms()}async resumeForwardStream2AllRooms(){return this._forwardStreamManager.resumeForwardStream2AllRooms()}async updateMediaParams(e){return this._ctx.signalingManager.sendSignaling("updateMediaParams",{roomId:this.config.roomId,mediaParams:e})}async leave(){var e,t,i;let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger.info("leave","Invoke leave"),null==(e=this._subtitleTool)||e.destroy(),delete this._subtitleTool;try{for(let e of this._remoteStreams.values())Array.isArray(e)&&e.forEach(e=>{var t;null==(t=e.observer)||t.setLogin(!1)});this._localStream&&(null==(t=this._localStream.observer)||t.setLogin(!1)),await this._roomJoin.leave().catch(()=>{}),this.destroy(),this.config.report("rtc_leave_room",{error_code:0,message:"",elapse:this.config.getStayRoomDuration()})}catch(e){if(null==(i=this._ctx.monitor)||i.report("rtc_error",{message:"[room.leave] ".concat(xm(e)),error_code:-1}),e instanceof Error&&this.config.report("rtc_leave_room",{error_code:-1,message:e.message,elapse:this.config.getStayRoomDuration()}),r)throw e;this.destroy()}}updateRemoteUserPriority(e){var t;null==(t=this.remoteStreams.get(e))||t.forEach(t=>{let{userPriority:i}=this._ctx;t.hasSubscribed&&i.has(e)&&this._subscriber.updateSubPriority(t,i.get(e))})}destroy(){var e,t,i;this.logger.info("destroy","Invoke destroy"),v$(this._ctx.id,"room_destroy","".concat(Error().stack)),null==(e=this._subtitleTool)||e.destroy(),delete this._subtitleTool;let r=my(t=Array.from(this._remoteStreams.values())).call(t);this._subscriber.destroy(r),this._subscriber.destroy(this._virtualStreams),this._publisher.destroy([this.localStream,this.localScreenStream]),this._roomJoin.destroy(),null==(i=this._clearSignalListeners)||i.call(this),this._remoteUsers=new Map,this._remoteStreams=new Map,this._localStream&&(this._localStream=void 0),this._localScreenStream&&(this._localScreenStream=void 0),this._userDuplicateLoginTimerMap.forEach(e=>{clearTimeout(e)}),this._userDuplicateLoginTimerMap.clear(),this._networkQualityManager.destroy(),this._videoSizeObserver.destroy(),this._csrcUserIdMap={},this._virtualStreams=[],this._remoteStreamStreamIdUserIdMap={},this._forwardStreamManager.destoy(),this._remoteUserMediaBanned.clear()}async updateToken(e){if(this.logger.info("updateToken","Invoke updateToken"),this.config.token=e,!this.config.isRTSOnlyRoom())try{await this._roomJoin.updateToken(e)}catch(e){throw this.safeEmit(Av.ON_ROOM_ERROR,{errorCode:bY.UPDATE_TOKEN_WITH_INVALID_TOKEN}),e}}sendUserMessage(e,t){return this._ctx.rtsLimiter.e2e.check(t),this._roomMessage.sendUserMessage(e,t)}sendRoomMessage(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._ctx.rtsLimiter.boradcast.check(e),this._roomMessage.sendRoomMessage(e,t)}async maybeFillBackFrame2Stream(e){var t;e.refreshBlackFrameLifetime(),null!=(t=e.videoTransceiver)&&t.sender.track||this._publisher.updatePubBlackFrame(e)}_onJoinSucc(e){var t,i;let{joinRes:r,reconnect:s}=e;this.logger.info("_onJoinSucc()","invoke. ".concat(s?"[reconnect]":"")),this.emit(Av.JOIN_SUCCESS,s),this._serverConfig=r.config,this.config.updateRoomAttributes(r.roomAttributes);let n=[],a=[],o=[],l=[],c=[];for(let e of(this.config.isRTSOnlyRoom()&&Array.isArray(r.userInfos)&&(r.clientsDetail=r.userInfos.map(e=>({clientId:e.userId,clientJoinTime:e.userJoinTime}))),null==(t=r.clientsDetail)||t.forEach(e=>{if(this._checkClientBanned(e),e.clientId===r.clientId)return;let t=this._remoteUsers.get(e.clientId);t?t._stillExist=!0:n.push(e)}),this._remoteUsers.values()))e._stillExist||a.push({clientId:e.userId}),delete e._stillExist;for(let e of(null==(i=r.streams)||i.forEach(e=>{let t=this._findRemoteStreamByScreen(e.clientId,e.screen);this.config.updateUserPubInfo(e),t?(t.stillExist=!0,t.streamId=e.streamId,c.push(e)):l.push(e)}),this._remoteStreams.values()))Array.isArray(e)&&e.forEach(e=>{e.stillExist?delete e.stillExist:o.push({clientId:e.userId,streamId:e.streamId,message:C6.clientDisconnected})});a.forEach(e=>this._onUserDisconnection(e)),n.forEach(e=>this._onUserConnection(e)),o.forEach(e=>this._onRemoveStream(e)),l.forEach(e=>this._onAddStream(e,{fromSignal:!1})),c.forEach(e=>this._onUpdateStreamAttributes(e)),this.config.resetUserPubInfo(),s&&this._handleSendOrRecvStreamAfterReconnect(),this.emit("__joinSuccess")}_handleSendOrRecvStreamAfterReconnect(){var e;for(let e of(this._localStream&&(this._publisher.cleanStream(this._localStream).then(()=>{var e;this._localStream&&(this._localStream.vendorCode=this.config.vendorConfig.vendorCode||0,null==(e=this._localStream.observer)||e.setLogin(!0))}),this._publisher.publish(this._localStream).then(()=>{var e;this._ctx.handler&&(null==(e=this._localStream)||e.startReport(this._onLocalStreamStats.bind(this),this._localStream.vendorHandler||this._ctx.handler)),this.emit(Av.ON_PUBLISH_RESULT,{isScreen:!1,state:hs.PUBLISH_SUCC,retry:!0})}).catch(e=>{this.logger.error("failed repub error:".concat(e)),this.emit(Av.ON_PUBLISH_RESULT,{isScreen:!1,state:hs.PUBLISH_FAIL,errorCode:e.code,retry:!0})})),this._localScreenStream&&(this._publisher.cleanStream(this._localScreenStream).then(()=>{var e;this._localScreenStream&&(null==(e=this._localScreenStream.observer)||e.setLogin(!0))}),this._publisher.publish(this._localScreenStream).then(()=>{var e;this._ctx.handler&&(null==(e=this._localScreenStream)||e.startReport(this._onLocalStreamStats.bind(this),this._localScreenStream.vendorHandler||this._ctx.handler)),this.emit(Av.ON_PUBLISH_RESULT,{isScreen:!0,state:hs.PUBLISH_SUCC,retry:!0})}).catch(e=>{this.logger.error("failed repub screen stream error:".concat(e)),this.emit(Av.ON_PUBLISH_RESULT,{isScreen:!0,state:hs.PUBLISH_FAIL,errorCode:e.code,retry:!0})})),this._remoteStreams.values()))Array.isArray(e)&&e.forEach(async e=>{if(e.hasSubscribed){e.resetHasSubscribed();try{var t,i;this.logger.info("start resubscribe ".concat(e.userId," with ").concat(e.subMediaType)),k4(e.subMediaType)&&(null==(t=e.observer)||t.setSubscribeVideo(!0)),k3(e.subMediaType)&&(null==(i=e.observer)||i.setSubscribeAudio(!0)),await this._subscriber.subscribe(e,e.subMediaType),this.logger.info("success resubscribe ".concat(e.userId," with ").concat(e.subMediaType)),this.safeEmit(Av.RESUBSCRIBE,{stream:e}),this.emit(Av.ON_SUBSCRIBE_RESULT,{state:hr.SUBSCRIBE_SUCC,userId:e.userId,isScreen:e.isScreen,retry:!0})}catch(t){if(this.emit(Av.ON_SUBSCRIBE_RESULT,{state:hr.SUBSCRIBE_FAIL,userId:e.userId,isScreen:e.isScreen,errorCode:t.code,retry:!0}),this.logger.error("failed resubscribe ".concat(e.userId," with ").concat(e.subMediaType,", error:").concat(t)),t.code===bY.NOT_CONNECTED_YET)return void(e.streamState=Ag.SUB_ED);await this._subscriber.cleanStream(e),e.resetHasSubscribed()}}});null==(e=this._subtitleTool)||e.reconnect(),this._forwardStreamManager.resumeFromReconnect()}_handleFFAudioTrack(){var e,t;let i=null==(e=this._ctx.handler)?void 0:e.audioTrack4ff,r=null==(t=this._ctx.handler)?void 0:t.getTransceivers();if(i&&Array.isArray(r)){let e=r.find(e=>{var t;return(null==e||null==(t=e.receiver)?void 0:t.track)===i});if(e){let t=new Ay(this._ctx,"ff-stream","ff-stream",!1,!1,Fs);t.virtual=!0,t.audioTransceiver=e,t.audioMid="0",t.audioTrack=Ar(this._ctx,i,{streamIndex:wc.VIRTUAL}),this._virtualStreams.push(t),this.safeEmit(Av.SUBSCRIBE_PUSH_TRACK,{stream:t})}}}_findRemoteStream(e,t){let i=this._remoteStreams.get(e);return Array.isArray(i)?i.find(e=>e.streamId===t):null}_findRemoteStreamByScreen(e,t){let i=this._remoteStreams.get(e);return Array.isArray(i)?i.find(e=>e.isScreen===t):null}_onAddStream(e){let{needEmit:t=!0,fromSignal:i=!0,virtual:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.clientId===this.config.userId)return;let{isAutoSubscribeAudio:s,isAutoSubscribeVideo:n}=this.config,a=this._findRemoteStreamByScreen(e.clientId,e.screen);if(a&&a.streamId!==e.streamId){var o;let t=null==(o=this._remoteStreams.get(e.clientId))?void 0:o.filter(e=>e.streamId!==a.streamId);this._subscriber.cleanStream(a),this._remoteStreams.set(e.clientId,t||[])}let l=this._findRemoteStream(e.clientId,e.streamId);if(this._remoteStreamStreamIdUserIdMap[e.streamId]=e.clientId,l)l.attributes=e.attributes;else if((l=new Ay(this._ctx,e.clientId,e.streamId,e.screen,!1,e.attributes)).virtual=r,this._initStreamListeners(l),!r){let t=this._remoteStreams.get(e.clientId);t?t.push(l):this._remoteStreams.set(e.clientId,[l])}if(l.remoteSessionId=e.remoteSessionId||"",l.observer=new AC(this._ctx,l),!l.isScreen&&n&&!this._getRemoteUserMediaBanned(e.clientId,hl.VIDEO)&&(i&&l.hasVideo&&(l.attributes.extvideo?(l.observer.setExternalVideoSource(!0),l.observer.setPushVideo(!0)):(l.observer.setExternalVideoSource(!1),l.observer.setPublishVideo(!0))),i&&l.hasAudio&&s&&!this.config.isMultiChatMode()&&!this._getRemoteUserMediaBanned(e.clientId,hl.AUDIO)&&(l.attributes.extaudio?(l.observer.setExternalAudioSource(!0),l.observer.setPushAudio(!0)):(l.observer.setExternalAudioSource(!1),l.observer.setPublishAudio(!0))),t&&!i)){let{isAutoSubscribeAudio:e,isAutoSubscribeVideo:t}=this.config;l.observer.setLogin(!0,{audio:!!e&&!this.config.isMultiChatMode(),video:!!t})}return t&&this.safeEmit(we.ON_ADD_STREAM,{stream:l}),l}_onUserConnection(e){var t;if(e.clientId===this.config.userId)return;let i=this._userDuplicateLoginTimerMap.get(e.clientId);if("number"==typeof i)return this._userDuplicateLoginTimerMap.delete(e.clientId),void self.clearTimeout(i);let r={userId:e.clientId,extraInfo:null==(t=e.attributes)?void 0:t.extra_info};this._remoteUsers.set(e.clientId,mr({},r)),this.safeEmit(we.USER_CONNECTION,{userInfo:r,publishState:this.config.getUserPubInfo(r.userId)}),this._checkClientBanned(e)}_onUserDisconnection(e){let{clientId:t,tag:i,code:r,forbiddenTime:s}=e;if(t)if(t===this.config.userInfo.userId){let e=null;i===wr.kickedByAdmin?e=bY.KICKED_OUT:i===wr.onUserTokenDidExpire?e=bY.TOKEN_EXPIRED:i===wr.userDuplicateLogin&&(e=bY.DUPLICATE_LOGIN),r===ws.roomDismissByAdmin&&(e=bY.ROOM_DISMISS),e&&this.safeEmit(Av.ON_ROOM_ERROR,{errorCode:e,forbiddenTime:s})}else{let e=u7.DROPPED;i===wr.userLeave?e=u7.QUIT:i===wr.kickedByAdmin?e=u7.KICKED_BY_ADMIN:i===wr.roleChanged&&(e=u7.SWITCH_TO_INVISIBLE);let r=()=>{var r;this._remoteUsers.delete(t);let s=[];null==(r=this._remoteStreams.get(t))||r.forEach(e=>{s.push(this._onRemoveStream({clientId:e.userId,streamId:e.streamId,message:C6.clientDisconnected}))}),this._remoteStreams.delete(t),Promise.all(s).finally(()=>{this.safeEmit(Av.ON_USER_LEAVE,{userInfo:{userId:t},reason:e,tag:i})})};if(i===wr.userDuplicateLogin){let e=this._userDuplicateLoginTimerMap.get(t);e&&self.clearTimeout(e);let i=self.setTimeout(r,5e3);this._userDuplicateLoginTimerMap.set(t,i)}else r()}}async _onRemoveStream(e){var t,i;if(e.clientId===this.config.userId)return;let r=this._remoteStreams.get(e.clientId);if(!r)return;let s=r.find(t=>t.streamId===e.streamId);if(!s)return;s.hasVideo&&(null==(t=s.observer)||t.setPublishVideo(!1)),s.hasAudio&&!this.config.isMultiChatMode()&&(null==(i=s.observer)||i.setPublishAudio(!1));let n=r.filter(t=>t.streamId!==e.streamId);this._remoteStreams.set(e.clientId,n);let a={isScreen:s.isScreen,userId:s.userId,streamId:s.streamId,attributes:{audiostream:s.attributes.audiostream,videostream:s.attributes.videostream}};try{await this._subscriber.handleRemoveStream(s)}catch(e){console.error(e)}this.safeEmit(we.ON_REMOVE_STREAM,{stream:a,reason:e.message})}_onUpdateUserAttributes(e){this._checkClientBanned(e)}_onUpdateRoomAttributes(e){var t;e.roomAttributes&&(this.config.updateRoomAttributes(e.roomAttributes),this._ctx&&(this._ctx.callId=e.roomAttributes.callId)),null!=(t=e.roomAttributes)&&t.multiChatMode&&this._handleFFAudioTrack()}_onUpdateStreamAttributes(e){var t,i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y;let{isAutoSubscribeAudio:v,isAutoSubscribeVideo:b}=this.config,{clientId:S,streamId:k,attributes:x}=e,C=this._findRemoteStream(S,k);if(!C)return;let w=C.attributes,E=mr(mr({},w),x),T=!1,I=E.localaudio!==w.localaudio,R=!1,N=!1,A=E.localvideo!==w.localvideo,M=!1,P=Sf.NONE,j=Sf.NONE;E.audiostream!==w.audiostream&&(T=E.localaudio,R=!!E.audiostream,E.audiostream?P|=hl.AUDIO:j|=hl.AUDIO),E.videostream!==w.videostream&&(N=E.localvideo,M=!!E.videostream,E.videostream?P|=hl.VIDEO:j|=hl.VIDEO),P&&this.safeEmit(Av.ON_USER_PUBLISH_STATE_CHANGE,{userId:S,mediaType:P,isScreen:C.isScreen,pubState:AS.PUB,remoteStream:C}),j&&this.safeEmit(Av.ON_USER_PUBLISH_STATE_CHANGE,{userId:S,mediaType:j,isScreen:C.isScreen,pubState:AS.UNPUB,remoteStream:C}),C.remoteSessionId=e.remoteSessionId||"",C.attributes=E,E.localaudio!==w.localaudio&&(E.localaudio?((v||C.subAudio)&&E.audiostream&&(E.extaudio?(null==(t=C.observer)||t.setExternalAudioSource(!0),null==(i=C.observer)||i.setPushAudio(!0)):(null==(r=C.observer)||r.setExternalAudioSource(!1),null==(s=C.observer)||s.setEnableAudio(!0))),this.safeEmit(Av.ON_USER_START_AUDIO_CAPTURE,{userId:S},C)):(E.extaudio?(null==(n=C.observer)||n.setExternalAudioSource(!0),null==(a=C.observer)||a.setPushAudio(!1)):(null==(o=C.observer)||o.setExternalAudioSource(!1),null==(l=C.observer)||l.setEnableAudio(!1)),C.isScreen||this.safeEmit(Av.ON_USER_STOP_AUDIO_CAPTURE,{userId:S}))),E.localvideo!==w.localvideo&&(E.localvideo?((b||C.subVideo)&&E.videostream&&(E.extvideo?(null==(c=C.observer)||c.setExternalVideoSource(!0),null==(d=C.observer)||d.setPushVideo(!0)):(null==(u=C.observer)||u.setExternalVideoSource(!1),null==(h=C.observer)||h.setEnableVideo(!0))),this.safeEmit(Av.ON_USER_START_VIDEO_CAPTURE,{userId:S})):(E.extvideo?(null==(p=C.observer)||p.setExternalVideoSource(!0),null==(m=C.observer)||m.setPushVideo(!1)):(null==(f=C.observer)||f.setExternalVideoSource(!1),null==(g=C.observer)||g.setEnableVideo(!1)),C.isScreen||this.safeEmit(Av.ON_USER_STOP_VIDEO_CAPTURE,{userId:S}))),T&&!I&&v&&(null==(_=C.observer)||_.setRemoteUnmuteAudio(R)),N&&!A&&b&&(null==(y=C.observer)||y.setRemoteUnmuteVideo(M)),"number"==typeof E.videoType&&E.videoType!==w.videoType&&this.safeEmit(Av.VIDEO_TYPE_CHANGE,{userId:C.userId,isScreen:C.isScreen,type:E.videoType===wa.BLACK?C9.BLACK:C9.NORMAL})}_onPushTrack(e){var t;if(null==(t=e.streamId)||!t.startsWith("audio_mux"))return void this.config.report("rtc_error",{message:"onPushTrack, userId: ".concat(e.clientId,", ").concat(e.streamId),error_code:Nj.TRACK_ERROR});let i=this._onAddStream(mr(mr({},e),{},{attributes:Fs}),{needEmit:!1,fromSignal:!1,virtual:!0});i&&this._subscriber.subscribe4pushTrack(i,e).then(()=>{this.safeEmit(Av.SUBSCRIBE_PUSH_TRACK,{stream:i}),this._virtualStreams.push(i)}).catch(e=>{this.logger.error("subscribe","push track failed %o",e)})}_onRemoveTrack(e){let{clientId:t,streamId:i,message:r,trackType:s}=e;this.logger.info("_onRemoveTrack","remove track: %o",t);let n=this._findRemoteStream(t,i);n&&(n.removeTrack=!0,this._subscriber.unsubscribe4removeTrack(n,r,s),this.emit(Av.REMOVE_PUSH_TRACK,{stream:n,mediaType:s+1}))}_onMeetingSpeakerChange(e){if(Array.isArray(null==e?void 0:e.speakerCsrcInfo)){let t={};null==e||e.speakerCsrcInfo.forEach(e=>{let{csrc:i,userId:r,isScreen:s}=e;s||(t[i]=r)}),this._csrcUserIdMap=t}Array.isArray(e.muxStreamInUse)&&this._virtualStreams.forEach(t=>{var i;null!=(i=e.muxStreamInUse)&&i.includes(t.streamId)?t.virtualOccupy=!0:t.virtualOccupy=!1})}getActiveSpeakerInMultiChatMode(){let e=[];return this._virtualStreams.forEach(t=>{var i;let r=null==(i=t.audioTransceiver)?void 0:i.receiver;if(r){let[t]=r.getContributingSources()||[];if(t){let{audioLevel:i,source:r}=t;this._csrcUserIdMap[r]&&e.push({userId:this._csrcUserIdMap[r],audioLevel:i})}}}),e.length&&C0(e).call(e,(e,t)=>e.audioLevel-t.audioLevel),e}_onReconnecting(){var e,t;for(let e of this._remoteStreams.values())Array.isArray(e)&&e.forEach(e=>{var t;null==(t=e.observer)||t.setDisconnect(),this._subscriber.cleanStream(e)});this._virtualStreams.forEach(e=>{var t;this.emit(Av.REMOVE_PUSH_TRACK,{stream:e,mediaType:hl.AUDIO}),null==(t=e.observer)||t.setDisconnect(),this._subscriber.cleanStream(e)}),this._virtualStreams=[],null==(e=this.localStream)||null==(e=e.observer)||e.setDisconnect(),this._publisher.cleanStream(this.localStream),null==(t=this.localScreenStream)||null==(t=t.observer)||t.setDisconnect(),this._publisher.cleanStream(this.localScreenStream)}_onConnectionStateChange(e){e.state===hd.CONNECTION_STATE_RECONNECTING?this._onReconnecting():e.state===hd.CONNECTION_STATE_RECONNECTED&&this._roomJoin.join(!0)}_initStreamListeners(e){e.on("ontrack",e=>{e.track}),e.on("onSEIMessage",t=>{this.emit(Av.ON_SEI_MESSAGED_RECEIVED,{sei:t,remoteStreamKey:{userId:e.userId,roomId:this.config.roomId,streamIndex:e.isScreen?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN}})})}_onCustomMessage(e){var t;null!=(t=this._subtitleTool)&&t.onMessageRecv(e)||this.safeEmit(we.ON_CUSTOM_MESSAGE,e)}_onUserMessageReceived(e){this.safeEmit(we.USER_MESSAGE_RECEIVED,{userId:e.from,message:e.msg})}_onUserBinaryMessageReceived(e){var t;let i={userId:e.from,message:e.msg};null!=(t=this._subtitleTool)&&t.onMessageRecv(i)||this.safeEmit(we.USER_BINARY_MESSAGE_RECEIVED,i)}_initSubtitleTool(){this._subtitleTool=new AP(this._ctx,this.config),this._subtitleTool.onEvent=e=>{this.emit(Av.ON_SUBTITLE_STATE_CHANGED,e)},this._subtitleTool.onMessage=e=>{this.emit(Av.ON_SUBTITLE_MESSAGE_RECEIVED,e)}}_onPostProcessingMessage(e){var t;if(!e.body)return;if("subtitleCallback"===e.type)return void(null==(t=this._subtitleTool)||t.onResult(e));let i=e.body,r=i.error||0,s=Ab.START,n=["success","parameter error","subscription timeout","ffmpeg error","cdn error","publish error"];if("2.0"===i.protocol){switch(i.eventType){case"TranscodeStarted":0!==i.error&&(s=Ab.START_FAILED);break;case"TranscodeStateChanged":s=0!==i.error?Ab.START_FAILED:Ab.START_SUCCESS;break;case"TranscodeStopped":s=0!==i.error?Ab.STOP_FAILED:Ab.STOP_SUCCESS;break;case"TranscodeUpdated":s=0!==i.error?Ab.UPDATE_FAILED:Ab.UPDATE_SUCCESS}this.safeEmit(we.POST_PROCESSING_MESSAGE,{code:r,protocol:i.protocol,error:i.error,eventType:s,message:n[r]})}this.safeEmit(we.POST_PROCESSING_MESSAGE,{code:r,message:n[r],type:e.type})}_onUserTokenWillExpire(){this.safeEmit(we.ON_USER_TOKEN_WILL_EXPIRE,null)}_onUserTokePublishPrivilegeWillExpire(){this.safeEmit(we.ON_TOKEN_PUBLISH_PRIVILEGE_WILL_EXPIRE,null)}_onUserTokenPublishPrivilegeDidExpire(){this.safeEmit(we.ON_TOKEN_PUBLISH_PRIVILEGE_DID_EXPIRED,null)}_onUserTokeSubscribePrivilegeWillExpire(){this.safeEmit(we.ON_TOKEN_SUBSCRIBE_PRIVILEGE_WILL_EXPIRE,null)}_onUserTokenSubscribePrivilegeDidExpire(){this.safeEmit(we.ON_TOKEN_SUBSCRIBE_PRIVILEGE_DID_EXPIRED,null)}async _onStreamFailed(e){if("publish"===e.type){var t,i;let r;(null==(t=this.localStream)?void 0:t.streamId)===e.streamId?r=this.localStream:(null==(i=this.localScreenStream)?void 0:i.streamId)===e.streamId&&(r=this.localScreenStream),r&&(await this._publisher.unpublish(r).catch(()=>{}),await this._publisher.cleanStream(r),await this._publisher.publish(r).catch(()=>{}))}else if("subscribe"===e.type){let t=this._remoteStreamStreamIdUserIdMap[e.streamId],i=this._findRemoteStream(t,e.streamId);i&&(await this._subscriber.handleStreamFailed(i),this.safeEmit(Av.RESUBSCRIBE,{stream:i}))}}_onStreamControlMessage(e){var t,i;e.type===C8.PushLimitWarn&&(null!=(t=this._localStream)&&t.pubAudio||null!=(i=this._localStream)&&i.pubVideo||this.unpublish())}async _onPublishOnDemand(){var e,t,i;if(this._publishOnDemandItem&&!this._publishOnDemandBusy&&!1!==(null==(e=this._serverConfig)||null==(e=e.engine_VPM)||null==(e=e.ondemand)?void 0:e.enable)){if(null!=(t=this._localStream)&&t.videoTransceiver){this._publishOnDemandBusy=!0;let e=this._publishOnDemandItem;this._publishOnDemandItem=void 0;let t=[],i=this._localStream.stream.id,{sender:r}=this._localStream.videoTransceiver,s=r.getParameters();if(v$(this._ctx.id,"sender.getParameters",JSON.stringify(s),0,i),Array.isArray(s.encodings)&&Array.isArray(e)){let r={};this.logger.info("_onPublishOnDemand exec","usedDescriptions: %o",e),e.forEach(e=>{var t,s,n,a,o,l;if(null!=(t=e.StreamIds)&&t.includes(i)){let t=null!=(s=null==(n=e.Metadata)?void 0:n.VideoIndex)?s:0,i=0;null!=(a=this._ctx.serverConfig)&&a.e2eFeedback&&(i=Math.max(...Object.keys(null!=(o=null==(l=e.Metadata)?void 0:l.VideoKbpsHist)?o:{}).map(e=>Number(e)),0)),r[t]={kbps:i}}});let n=[...this._localStream.pubAttributes.videoDescriptions];s.encodings=s.encodings.map(e=>{var i,s;if(e.rid){if(r[e.rid]){e.active=!0;let t=null==(i=r[e.rid])?void 0:i.kbps;t&&(e.maxBitrate=1e3*A7(e.rid,t,n))}else e.active=!1;t[Number(e.rid)]=e.active}else{let t=null==(s=r[0])?void 0:s.kbps;t&&(e.maxBitrate=1e3*A7(void 0,t,n))}return e}),this.config.report("rtc_invoke_status",{sdk_api_name:"onPublishOnDemand",message:JSON.stringify(s.encodings),error_code:0,stream_id:i,elapse:0}),this._ctx.videoProfile.activeSimStreams=t}this.logger.info("sender.setParameters()",JSON.stringify(s.encodings)),v$(this._ctx.id,"sender.setParameters",JSON.stringify(s),0,i),await r.setParameters(s),this._publishOnDemandBusy=!1}else if(null==(i=this._localStream)||!i.videoTransceiver)return;this._onPublishOnDemand()}}_onRTT(e){let{StreamIds:t,Metadata:i}=e;if(null!=t&&t.length&&i){let e=t[0];this._ctx.streamRTT[e]={audio:i.audio_rtt,video:i.video_rtt}}}_onRSCP(e,t){e.find(e=>{var t,i;return null==e||null==(t=e.StreamIds)?void 0:t.includes(null==(i=this._localStream)||null==(i=i.stream)?void 0:i.id)})&&(t?this._pubTransceiverReady=!0:this._onceTriggerBySignal=!0,t&&this._onceTriggerBySignal||(this._publishOnDemandItem=e),this._pubTransceiverReady&&this._onPublishOnDemand())}_onSSC(e){let{StreamIds:t,Metadata:i}=e,r=t[0],s=this._remoteStreamStreamIdUserIdMap[r],n=this._findRemoteStream(s,r),a={userId:s,isScreen:!!n&&n.isScreen,beforeVideoIndex:i.ssc_items[0].prev_layer_id,afterVideoIndex:i.ssc_items[0].cur_layer_id,beforeEnable:0!==i.ssc_items[0].prev_video_open,afterEnable:0!==i.ssc_items[0].cur_video_open,reason:i.ssc_items[0].change_reason};this.emit(Av.ON_SIMULCAST_SUBSCRIBE_FALLBACK,a)}_reportNetworkQuality(e,t){this.emit(Av.ON_NETWORK_QUALITY,e,t)}_emitVideoSizeChange(e,t,i,r){this.emit(Av.ON_REMOTE_VIDEO_SIZE_CHANGED,{roomId:this.config.roomId,userId:e,streamIndex:t?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN},{width:i,height:r})}async setAudioEncodeMaxBitrate(e,t){let i=e===ho.STREAM_INDEX_MAIN?this.localStream:this.localScreenStream;if(null!=i&&i.pubAudio){var r,s;let e=null==(r=i.audioTransceiver)?void 0:r.sender.getParameters();v$(this._ctx.id,"sender.getParameters",JSON.stringify(e),0,i.streamId),null!=e&&e.encodings.length&&(e.encodings[0].maxBitrate=1e3*t,v$(this._ctx.id,"sender.setParameters",JSON.stringify(e),0,i.streamId),await (null==(s=i.audioTransceiver)?void 0:s.sender.setParameters(e)))}}_onEngineControlMessage(e){let{type:t,body:i}=e;if(t===C7.CHANGE_CODEC){var r,s,n;let e;if(!S2("SDK_CODEC_NEGOTIATION"))return void this.logger.info("_onEngineControlMessage","SDK_CODEC_NEGOTIATION is false, ignore");let{codec:t,media:a,streamId:o}=i;if(!a||"audio"===a)return;let l=t.split(",").map(e=>u9(e).call(e).toUpperCase());(this.logger.info("_onEngineControlMessage","changeCodec to %s",t),o)?((null==(r=this.localStream)?void 0:r.streamId)===o?e=this.localStream:(null==(s=this.localScreenStream)?void 0:s.streamId)===o&&(e=this.localScreenStream),null==(n=e)||n.setChangeCodecs(l)):"video"===a?(e=this.localStream,this._ctx.targetCodec=l[0]):"screen"===a&&(e=this.localScreenStream,this._ctx.targetScreenCodec=l[0]),e&&this.emit(Av.UPDATE_PUBLISH,{streamIndex:e.isScreen?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN})}}_checkClientBanned(e){let{clientId:t,attributes:i}=e;if(!i||!t)return;let{serverMuteAudio:r,serverMuteVideo:s}=i;if(s){let e=1===s;this.safeEmit(Av.ON_VIDEO_STREAM_BANNED,{uid:t,banned:e}),this._setRemoteUserMediaBanned(t,hl.VIDEO,e),this._maybeStartReceiveFirstFrameForServerMute(t,hl.VIDEO,e)}if(r){let e=1===r;this.safeEmit(Av.ON_AUDIO_STREAM_BANNED,{uid:t,banned:e}),this._setRemoteUserMediaBanned(t,hl.AUDIO,e),this._maybeStartReceiveFirstFrameForServerMute(t,hl.AUDIO,e)}}_setRemoteUserMediaBanned(e,t,i){var r;let s=null!=(r=this._remoteUserMediaBanned.get(e))?r:0;i?s|=t:s&=~t,this._remoteUserMediaBanned.set(e,s)}_getRemoteUserMediaBanned(e,t){var i;return t&(null!=(i=this._remoteUserMediaBanned.get(e))?i:0)}_maybeStartReceiveFirstFrameForServerMute(e,t,i){var r,s,n;if(!i)for(let t of null!=(r=this._remoteStreams.get(e))?r:[])t.isScreen||t.attributes.localvideo&&t.subVideo&&(null==(s=t.observer)||s.setExternalVideoSource(t.attributes.extvideo),null==(n=t.observer)||n.setUnmuteVideo(!0))}}Fr([A0],Fn.prototype,"publishScreen",1),Fr([A0],Fn.prototype,"updatePubScreenTrack",1),Fr([A0],Fn.prototype,"unpublishScreen",1),Fr([A0],Fn.prototype,"liveControlMessage",1),Fr([A0],Fn.prototype,"publicStreamControlMessage",1),Fr([A0],Fn.prototype,"updateUserAttributes",1),Fr([A0],Fn.prototype,"publish",1),Fr([A0],Fn.prototype,"updatePubTrack",1),Fr([A0],Fn.prototype,"unpublish",1),Fr([A0],Fn.prototype,"subscribe",1),Fr([A0],Fn.prototype,"updateSubVideoConfig",1),Fr([A0],Fn.prototype,"unsubscribe",1),Fr([A0],Fn.prototype,"startSubtitle",1),Fr([A0],Fn.prototype,"stopSubtitle",1),Fr([A0],Fn.prototype,"startForwardStream2Rooms",1),Fr([A0],Fn.prototype,"updateForwardStream2Rooms",1),Fr([A0],Fn.prototype,"stopForwardStream2Rooms",1),Fr([A0],Fn.prototype,"pauseForwardStream2AllRooms",1),Fr([A0],Fn.prototype,"resumeForwardStream2AllRooms",1),Fr([A0],Fn.prototype,"updateMediaParams",1),Fr([A0],Fn.prototype,"updateRemoteUserPriority",1),Fr([A0],Fn.prototype,"updateToken",1),Fr([A0],Fn.prototype,"sendUserMessage",1),Fr([A0],Fn.prototype,"sendRoomMessage",1),Fr([A0],Fn.prototype,"maybeFillBackFrame2Stream",1);let Fa=async(e,t)=>{let i=new Audio(Ne.createObjectURL(new Blob([e],t)));try{return i.muted=!0,await i.play(),i.pause(),!0}catch(e){return!1}};var Fo=Object.defineProperty,Fl=Object.getOwnPropertyDescriptor,Fc=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?Fl(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&Fo(t,i,n),n};class Fd{constructor(e,t){dY(this,"_sharedAudioContext",new AudioContext),dY(this,"_workletReady",void 0),dY(this,"_audioDestination",this._sharedAudioContext.createMediaStreamDestination()),dY(this,"_localGainNode",this._sharedAudioContext.createGain()),dY(this,"_bufferGainNode",this._sharedAudioContext.createGain()),dY(this,"_audioBufferSource",void 0),dY(this,"_localSource",void 0),dY(this,"_context",void 0),dY(this,"_failedAudioList",[]),dY(this,"_startingIds",new Map),dY(this,"_revokeURLs",new Set),dY(this,"_audioFetchMap",new Map),dY(this,"_audioFetchConfig",new Map),dY(this,"mixingMap",new Map),dY(this,"resourcesCache",new Map),dY(this,"volumeConfig",new Map),dY(this,"cachedBuffer",[]),dY(this,"id","AudioMixingManager"),this.engineId=t,this._context=e;try{var i,r;this._workletReady=null==(i=this._sharedAudioContext.audioWorklet)||null==(r=i.addModule)?void 0:r.call(i,Nw),this._workletReady.catch(()=>{this._workletReady=null})}catch(e){this._workletReady=null}this._localGainNode.gain.value=1}mixMediaStream(e){this._localSource&&this._localSource.disconnect(this._localGainNode),this._localSource=this._sharedAudioContext.createMediaStreamSource(e),this._localSource.connect(this._localGainNode).connect(this._audioDestination)}async startAudioMixing(e,t,i){let r;if(void 0!==this._startingIds.get(e))return;this._startingIds.set(e,e);let{playCount:s,type:n}=i;b3(n,"mixingType",AU(Od));let a=this._context.getLocalAudioTrack();if(!a)return;let o=a.preprocessingTrack;o&&this.mixMediaStream(new MediaStream([o])),a.once("needReplaceTrack",()=>{this.mixMediaStream(new MediaStream([a.preprocessingTrack]))});let l=this.mixingMap.get(e);if(null!=l&&l.audioNode){l.audioNode.pause(),this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_STOPPED,error:bJ.AUDIO_MIXING_ERROR_OK});try{l.gainNode.disconnect(this._audioDestination),l.audioSource.disconnect(l.gainNode)}catch(e){}}let c=this.resourcesCache.get(e);if(c&&c.filePath===t)r=c.getAudioNode();else{let i,s=await fetch(t,{mode:"cors"}).then(t=>{if(t.ok)return t.arrayBuffer();throw this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_FAILED,error:bJ.AUDIO_MIXING_ERROR_START_FAILED}),this._startingIds.delete(e),this.mixingMap.delete(e),new b$(bY.LOAD_RESOURCES_FAILED,t.statusText)});if(t.endsWith("mp3")?i={type:"audio/mpeg"}:t.endsWith("aac")&&(i={type:"audio/aac"}),!await Fa(s,i))throw this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_FAILED,error:bJ.AUDIO_MIXING_ERROR_START_FAILED}),this._startingIds.delete(e),this.mixingMap.delete(e),new b$(bY.LOAD_RESOURCES_FAILED,"invalid audio resource");(r=new Audio).crossOrigin="anonymous",r.src=Ne.createObjectURL(new Blob([s],i))}if(s<=0)r.loop=!0;else if(s>0){let t=s;r.onended=()=>{--t>0?r.play():(this.mixingMap.delete(e),this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_FINISHED,error:bJ.AUDIO_MIXING_ERROR_OK}))}}try{await r.play()}catch(e){console.error(e),this._failedAudioList.push(r),this._context.onAutoPlayFailed({userId:this.id,kind:"audio",streamIndex:ho.STREAM_INDEX_MAIN,mediaType:hl.AUDIO})}this._startingIds.delete(e);let d=this._sharedAudioContext.createMediaElementSource(r),u=this._sharedAudioContext.createGain(),h=this.volumeConfig.get(e);if(u.gain.value=h?h/100:1,d.connect(u).connect(this._audioDestination),this.mixingMap.set(e,{audioSource:d,audioNode:r,gainNode:u,type:"file"}),n===Od.PUBLISH)try{u.disconnect(this._sharedAudioContext.destination)}catch(e){}else u.connect(this._sharedAudioContext.destination);this._context.updateLocalAudioTrack(this._audioDestination.stream.getAudioTracks()[0],i.type),this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_PLAYING,error:bJ.AUDIO_MIXING_ERROR_OK}),this.updateFetcher(e)}stopAudioMixing(e){let t=this.mixingMap.get(e);t&&"file"===t.type&&(this.mixingMap.delete(e),t.audioNode.pause(),t.audioSource.disconnect(t.gainNode),t.gainNode.disconnect(this._audioDestination),this.updateFetcher(e),this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_STOPPED,error:bJ.AUDIO_MIXING_ERROR_OK}))}pauseAudioMixing(e){let t=this.mixingMap.get(e);t&&(this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_PAUSED,error:bJ.AUDIO_MIXING_ERROR_OK}),t.audioNode.pause())}resumeAudioMixing(e){let t=this.mixingMap.get(e);t&&(this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_PLAYING,error:bJ.AUDIO_MIXING_ERROR_OK}),t.audioNode.play())}async preloadAudioMixing(e,t){let i;this.stopAudioMixing(e);let r=await fetch(t,{mode:"cors"}).then(e=>{if(e.ok)return e.arrayBuffer();throw new b$(bY.LOAD_RESOURCES_FAILED,e.statusText)}).catch(t=>{if(this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_FAILED,error:bJ.AUDIO_MIXING_ERROR_PRELOAD_FAILED}),t instanceof b$)throw t;throw new b$(bY.LOAD_RESOURCES_FAILED,"Load resources failed",t)});if(t.endsWith("mp3")?i={type:"audio/mpeg"}:t.endsWith("aac")&&(i={type:"audio/aac"}),!await Fa(r,i))throw this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_FAILED,error:bJ.AUDIO_MIXING_ERROR_PRELOAD_FAILED}),new b$(bY.LOAD_RESOURCES_FAILED,"Load resources failed");this._context.emitMessage({mixId:e,state:Ou.AUDIO_MIXING_STATE_PRELOADED,error:bJ.AUDIO_MIXING_ERROR_OK}),this.resourcesCache.set(e,{getAudioNode:()=>{let e=Ne.createObjectURL(new Blob([r],i));return this._revokeURLs.add(e),new Audio(e)},filePath:t,duration:0}),await new Promise(t=>{let s=Ne.createObjectURL(new Blob([r],i)),n=new Audio(s);n.addEventListener("durationchange",()=>{let i=this.resourcesCache.get(e);i&&(i.duration=n.duration,this.resourcesCache.set(e,i)),Ne.revokeObjectURL(s),t(null)})})}unloadAudioMixing(e){this.resourcesCache.has(e)&&this.resourcesCache.delete(e)}getAudioMixingVolume(e){let t=this.mixingMap.get(e);return t?100*t.gainNode.gain.value:0}setAudioMixingVolume(e,t){t<0?t=0:t>400&&(t=400),this.volumeConfig.set(e,t);let i=this.mixingMap.get(e);i&&(i.gainNode.gain.value=Number(t)/100)}getAudioMixingDuration(e){let t=this.mixingMap.get(e),i=this.resourcesCache.get(e);return t||i?t?1e3*t.audioNode.duration:i?1e3*i.duration:0:0}getAudioMixingCurrentPosition(e){let t=this.mixingMap.get(e);return t?1e3*t.audioNode.currentTime:0}setAudioMixingPosition(e,t){let i=this.mixingMap.get(e);i&&(i.audioNode.currentTime=t/1e3,i.audioNode.play())}setAudioFrameCallback(e,t){var i;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4096;if(b3(r,"frameSize",[256,512,1024,2048,4096,8192,16384]),r=null!=(i=r)?i:4096,null===this._workletReady)throw new b$(bY.NOT_SUPPORTED,"Not support AudioWorklet");t?this._audioFetchConfig.set(e,{callback:t,frameSize:r}):this._audioFetchConfig.delete(e),this.updateFetcher(e)}updateFetcher(e){var t,i;let{callback:r,frameSize:s}=null!=(t=this._audioFetchConfig.get(e))?t:{},n=null==(i=this.mixingMap.get(e))?void 0:i.gainNode;if(n&&r&&s){let t=this._audioFetchMap.get(e);t?t.setFrameSize(s):t=new NR(n,s,this._sharedAudioContext,this._workletReady),t.on("data",r),this._audioFetchMap.set(e,t)}else{let t=this._audioFetchMap.get(e);null==t||t.removeAllListeners("data"),null==t||t.destroy(),this._audioFetchMap.delete(e)}}enableAudioMixingBuffer(e){b3(e,"type",AU(Od));let t=this._context.getLocalAudioTrack();if(!t)return;let i=t.preprocessingTrack;if(i&&this.mixMediaStream(new MediaStream([i])),e===Od.PUBLISH)try{this._bufferGainNode.disconnect(this._sharedAudioContext.destination)}catch(e){}else this._bufferGainNode.connect(this._sharedAudioContext.destination);this._context.updateLocalAudioTrack(this._audioDestination.stream.getAudioTracks()[0],e),this._bufferGainNode.connect(this._audioDestination),this._context.emitMessage({mixId:-1,state:Ou.AUDIO_MIXING_STATE_PCM_ENABLED,error:bJ.AUDIO_MIXING_ERROR_OK})}disableAudioMixingBuffer(){if(this.cachedBuffer=[],this._audioBufferSource){try{this._audioBufferSource.onended=null,this._audioBufferSource.disconnect(this._bufferGainNode),this._bufferGainNode.disconnect(this._audioDestination),this._bufferGainNode.disconnect(this._sharedAudioContext.destination)}catch(e){}finally{this._audioBufferSource=void 0}this._context.updateLocalAudioTrack(),this._context.emitMessage({mixId:-1,state:Ou.AUDIO_MIXING_STATE_PCM_DISABLED,error:bJ.AUDIO_MIXING_ERROR_OK})}}pushAudioMixingBuffer(e){if(!(this._audioBufferSource&&(this.cachedBuffer.push(e),this.cachedBuffer.length>0))){this._audioBufferSource=this._sharedAudioContext.createBufferSource(),this._audioBufferSource.buffer=e,this._audioBufferSource.connect(this._bufferGainNode);try{this._audioBufferSource.start()}catch(e){this._failedAudioList.push(this._audioBufferSource)}this._audioBufferSource.onended=()=>{var e;if(null==(e=this._audioBufferSource)||e.disconnect(this._bufferGainNode),this._audioBufferSource=void 0,this.cachedBuffer.length){let e=this.cachedBuffer.shift();e&&this.pushAudioMixingBuffer(e)}}}}stopAll(){if(this._localSource)try{this._localSource.disconnect(this._localGainNode),delete this._localSource}catch(e){}this.mixingMap.forEach((e,t)=>{this.stopAudioMixing(t)})}get mixTrack(){return this._audioDestination.stream.getAudioTracks()[0]}get sharedAudioContext(){return this._sharedAudioContext}async resumeLocalPlay(){let e=[];for(let t of this._failedAudioList)try{t instanceof HTMLAudioElement?(t.muted=!1,await t.play()):t.start()}catch(i){e.push(t),console.error(i),this._context.onAutoPlayFailed({userId:this.id,kind:"audio",streamIndex:ho.STREAM_INDEX_MAIN,mediaType:hl.AUDIO});break}this._failedAudioList=e}destroy(){let{_sharedAudioContext:e}=this;"closed"!==e.state&&"function"==typeof e.close&&e.close(),this.cachedBuffer=[],this.mixingMap.clear(),this.resourcesCache.clear(),this.volumeConfig.clear(),this._startingIds=new Map,this._revokeURLs.forEach(e=>{Ne.revokeObjectURL(e)})}}Fc([vX(["id","filePath","options"])],Fd.prototype,"startAudioMixing",1),Fc([vX(["id"])],Fd.prototype,"stopAudioMixing",1),Fc([vX(["id"])],Fd.prototype,"pauseAudioMixing",1),Fc([vX(["id"])],Fd.prototype,"resumeAudioMixing",1),Fc([vX(["id"])],Fd.prototype,"preloadAudioMixing",1),Fc([vX(["id"])],Fd.prototype,"unloadAudioMixing",1),Fc([vX(["id"])],Fd.prototype,"getAudioMixingVolume",1),Fc([vX(["id","volume"])],Fd.prototype,"setAudioMixingVolume",1),Fc([vX(["id"])],Fd.prototype,"getAudioMixingDuration",1),Fc([vX(["id"])],Fd.prototype,"getAudioMixingCurrentPosition",1),Fc([vX(["id","position"])],Fd.prototype,"setAudioMixingPosition",1),Fc([vX(["id","callback","frameSize"])],Fd.prototype,"setAudioFrameCallback",1),Fc([vX(["type"])],Fd.prototype,"enableAudioMixingBuffer",1),Fc([vX()],Fd.prototype,"disableAudioMixingBuffer",1),Fc([vX(["buffer"])],Fd.prototype,"pushAudioMixingBuffer",1);class Fu extends C2.EventEmitter{constructor(e){super(),dY(this,"_loginSessionId",null),dY(this,"_userId",null),dY(this,"_token",null),dY(this,"_loginResolveCallback",void 0),dY(this,"_loginRejectCallback",void 0),dY(this,"_waitLoginToken",!1),dY(this,"_serverParamsCache",void 0),dY(this,"id",void 0),dY(this,"logger",void 0),dY(this,"_clearListeners",void 0),this._ctx=e,this.id=e.id,this.logger=new bn("RTSClient",1,e.id)}login(e,t){return new Promise((i,r)=>{var s;if(this.logger.info("login","invoke login, token: %o, userId: %o",e,t),this._loginSessionId)throw new b$(bY.ALREADY_LOGIN,"Already logined");if(this._loginResolveCallback)throw new b$(bY.LOGIN_FAILED,"Is logging in, please try again later.");this._userId=t,this._token=e,null==(s=vH(this.id))||s.set({rtm_user_id:t}),this._loginResolveCallback=i,this._loginRejectCallback=r,this._ctx.signalingManager.connect().then(()=>{this._addSignalEventHandler(),this._login()})})}async logout(){if(!this._loginSessionId||!this._userId)throw new b$(bY.NOT_LOGIN,"login first");this._checkNotInLimitMode("logout"),await this._ctx.signalingManager.sendSignaling("logout",{loginSessionId:this._loginSessionId,userId:this._userId,appId:this._ctx.appId},{functionType:AJ.C2RTM}).catch(()=>{}),this._clearState()}async updateLoginToken(e){return this._checkNotInLimitMode("updateLoginToken"),this._token=e,new Promise((e,t)=>{this._waitLoginToken?(this._loginResolveCallback=e,this._loginRejectCallback=t,this._login()):e()})}async getPeerOnlineStatus(e){if(!this._loginSessionId||!this._userId)throw new b$(bY.NOT_LOGIN,"login first");this._checkNotInLimitMode("getPeerOnlineStatus");let t=await this._ctx.signalingManager.sendSignaling("getPeerOnlineStatus",{loginSessionId:this._loginSessionId,userId:this._userId,appId:this._ctx.appId,peerUserId:e},{functionType:AJ.C2RTM});return null==t?void 0:t.status}async sendUserMessageOutsideRoom(e,t){if(!this._loginSessionId||!this._userId)throw new b$(bY.NOT_LOGIN,"login first");return this._checkNotInLimitMode("sendUserMessageOutsideRoom"),this._ctx.rtsLimiter.e2e.check(t),this._ctx.signalingManager.sendP2PMessage({from:this._userId,app:this._ctx.appId,to:e,room:"",msg:t})}async setRTSMessageLimit(e){e&&this._ctx.signalingManager.sendSignaling("RTSMessageLimit",{appId:this._ctx.appId,interval:e.rts_qps_interval,broadcast:e.rts_broadcast_qps_value,one2one:e.rts_e2e_qps_value,e2bs:e.rts_e2s_qps_value},{functionType:AJ.C2RTM}).catch(()=>{})}async setServerParams(e,t){try{if(b2(e,"signature"),b2(t,"url"),!this._loginSessionId||!this._userId)throw new b$(bY.NOT_LOGIN,"login first");await this._ctx.signalingManager.sendSignaling("setServerParams",{loginSessionId:this._loginSessionId,userId:this._userId,appId:this._ctx.appId,signature:e,url:t},{functionType:AJ.C2RTM}).catch(e=>{throw new b$(bY.UNEXPECTED_ERROR,e.msg)}),vv(this.id,t),this._serverParamsCache={signature:e,url:t},this.emit("onServerParamsSetResult")}catch(e){throw this.emit("onServerParamsSetResult",e),e}}async sendServerMessage(e){if(!this._loginSessionId||!this._userId)throw new b$(bY.NOT_LOGIN,"login first");return this._checkNotInLimitMode("sendServerMessage"),this._ctx.rtsLimiter.e2s.check(e),this._ctx.signalingManager.sendP2PMessage({from:this._userId,app:this._ctx.appId,to:"",room:"",type:AH.BUSINESS_SERVER,msg:e})}destroy(){this.logger.info("destroy","invoke."),super.removeAllListeners(),this._loginResolveCallback&&this._loginRejectCallback&&(this._loginRejectCallback(new b$(bY.LOGIN_FAILED,"logout")),delete this._loginResolveCallback,delete this._loginRejectCallback),this._clearState(),delete this._serverParamsCache}_login(){var e,t;if(!this._userId)return;let i=kH();try{this._checkNotInLimitMode("login")}catch(e){null==(t=this._loginRejectCallback)||t.call(this,e)}this._ctx.signalingManager.sendSignaling("login",{Token:kK.token2auth(this._ctx.appId,null,this._userId,this._token),timestamp:Date.now(),loginSessionId:i,params:{userAgent:window.navigator.userAgent,sdkVersion:SQ.VERSION,deviceId:bZ.getDeviceId(),appId:this._ctx.appId,userId:this._userId,deviceType:"web",platformType:2,rtsMode:this._ctx.rtsMode,mediaProcessingType:null!=(e=SQ.MEDIA_PROCESSING_TYPE)?e:0},accessParams:JSON.stringify({requireICEUfragV2:!0})},{functionType:AJ.C2RTM}).then(()=>{"function"==typeof this._loginResolveCallback&&this._loginResolveCallback(),this._loginSessionId=i,vS(this.id,i),this._waitLoginToken=!1,this._serverParamsCache&&this.setServerParams(this._serverParamsCache.signature,this._serverParamsCache.url)}).catch(e=>{let t,i,{code:r,message:s}=e||{};this._waitLoginToken=!1,r>=700&&r<800?708===r?(t=bY.INVALID_PARAMS,i="Invalid userId"):(t=bY.INVALID_TOKEN,i="Invalid token",this._waitLoginToken=!0,this._loginRejectCallback||this.emit("onRTMTokenError")):(t=bY.LOGIN_FAILED,i="login failed"),"function"==typeof this._loginRejectCallback&&this._loginRejectCallback(new b$(t,s||i))}).finally(()=>{delete this._loginResolveCallback,delete this._loginRejectCallback})}_addSignalEventHandler(){let e=e=>{e.state===hd.CONNECTION_STATE_RECONNECTED&&this._login()},t=()=>this._clearState(),i=e=>{this.emit("onUserMessageReceivedOutsideRoom",{userId:e.from,message:e.msg})},r=e=>{this.emit("onUserBinaryMessageReceivedOutsideRoom",{userId:e.from,message:e.msg})},s=e=>{e.clientId!==this._userId||e.roomId||(this.emit("onUserDisconnection"),this._clearState())};this._ctx.signalingManager.on(wi.ON_CONNECTION_STATE_CHANGE,e),this._ctx.signalingManager.on(wi.ON_RECONNECT_FAILED,t),this._ctx.signalingManager.on(we.USER_MESSAGE_RECEIVED_OUTSIDE_ROOM,i),this._ctx.signalingManager.on(we.USER_BINARY_MESSAGE_RECEIVED_OUTSIDE_ROOM,r),this._ctx.signalingManager.on(we.USER_DISCONNECTION,s),this._clearListeners=()=>{this._ctx.signalingManager.off(wi.ON_CONNECTION_STATE_CHANGE,e),this._ctx.signalingManager.off(wi.ON_RECONNECT_FAILED,t),this._ctx.signalingManager.off(we.USER_MESSAGE_RECEIVED_OUTSIDE_ROOM,i),this._ctx.signalingManager.off(we.USER_BINARY_MESSAGE_RECEIVED_OUTSIDE_ROOM,r),this._ctx.signalingManager.off(we.USER_DISCONNECTION,s)}}_clearState(){var e;null==(e=this._clearListeners)||e.call(this),this._userId=null,this._token=null,this._loginSessionId=null,vS(this.id,"")}_checkNotInLimitMode(e){if(this._ctx.rtsMode===wn.LIMIT_MODE)throw new b$(bY.NOT_ALLOWED_IN_RESTRICTED_MODE,"not allow to call ".concat(e," in rts restricted mode"))}}var Fh=((eF=Fh||{}).onWTNPushStateChanged="onWTNPushStateChanged",eF.onWTNPlayStateChanged="onWTNPlayStateChanged",eF.onWTNRemoteAudioStateChanged="onWTNRemoteAudioStateChanged",eF.onWTNRemoteVideoStateChanged="onWTNRemoteVideoStateChanged",eF.onWTNRemoteVideoStats="onWTNRemoteVideoStats",eF.onWTNRemoteAudioStats="onWTNRemoteAudioStats",eF.onWTNFirstRemoteVideoFrameDecoded="onWTNFirstRemoteVideoFrameDecoded",eF.onWTNSEIMessageReceived="onWTNSEIMessageReceived",eF),Fp=((eU=Fp||{})[eU.INIT=0]="INIT",eU[eU.START=1]="START",eU[eU.SUCCESS=2]="SUCCESS",eU[eU.STOP=3]="STOP",eU[eU.FAIL=4]="FAIL",eU),Fm=((eV=Fm||{})[eV.PUSH_SUCCESS=0]="PUSH_SUCCESS",eV[eV.START_PUSH=1]="START_PUSH",eV[eV.STOP_PUSH=2]="STOP_PUSH",eV[eV.IN_RETRY=3]="IN_RETRY",eV[eV.RETRY_FAIL=4]="RETRY_FAIL",eV[eV.NO_PUSH_PERMISSION=5]="NO_PUSH_PERMISSION",eV[eV.STREAM_PUSH_BY_OTHER=6]="STREAM_PUSH_BY_OTHER",eV),Ff=((eB=Ff||{})[eB.INIT=0]="INIT",eB[eB.START=1]="START",eB[eB.SUCCESS=2]="SUCCESS",eB[eB.STOP=3]="STOP",eB[eB.FAIL=4]="FAIL",eB),Fg=((ez=Fg||{})[ez.PLAY_SUCCESS=0]="PLAY_SUCCESS",ez[ez.START_PLAY=1]="START_PLAY",ez[ez.STOP_PLAY=2]="STOP_PLAY",ez[ez.REMOTE_STOP=3]="REMOTE_STOP",ez[ez.REMOTE_FAILURE=4]="REMOTE_FAILURE",ez[ez.STREAM_BANNED=5]="STREAM_BANNED",ez[ez.NO_PLAY_PERMISSION=6]="NO_PLAY_PERMISSION",ez[ez.STREAM_NOT_EXIST=7]="STREAM_NOT_EXIST",ez[ez.IN_RETRY=8]="IN_RETRY",ez[ez.RETRY_FAIL=9]="RETRY_FAIL",ez[ez.INTERNAL=10]="INTERNAL",ez[ez.OVER_CLIENT_SUBSCRIBE_STREAM_LIMIT=1310]="OVER_CLIENT_SUBSCRIBE_STREAM_LIMIT",ez[ez.OVER_STREAM_SUBSCRIBE_USER_LIMIT=1311]="OVER_STREAM_SUBSCRIBE_USER_LIMIT",ez[ez.OVER_STREAM_SUBSCRIBE_REQUES_TLIMIT=1312]="OVER_STREAM_SUBSCRIBE_REQUES_TLIMIT",ez),F_=((eW=F_||{})[eW.STOPED=0]="STOPED",eW[eW.STARTING=1]="STARTING",eW[eW.DECODING=2]="DECODING",eW[eW.FROZEN=3]="FROZEN",eW[eW.FAILED=4]="FAILED",eW),Fy=((eH=Fy||{})[eH.INTERNAL=0]="INTERNAL",eH[eH.NETWORK_CONGESTION=1]="NETWORK_CONGESTION",eH[eH.NETWORK_RECOVERY=2]="NETWORK_RECOVERY",eH[eH.UNMUTE=3]="UNMUTE",eH[eH.MUTE=4]="MUTE",eH[eH.REMOTE_START=5]="REMOTE_START",eH[eH.REMOTE_STOP=6]="REMOTE_STOP",eH),Fv=((eG=Fv||{})[eG.STOPED=0]="STOPED",eG[eG.STARTING=1]="STARTING",eG[eG.DECODING=2]="DECODING",eG[eG.FROZEN=3]="FROZEN",eG[eG.FAILED=4]="FAILED",eG),Fb=((eZ=Fb||{})[eZ.INTERNAL=0]="INTERNAL",eZ[eZ.NETWORK_CONGESTION=1]="NETWORK_CONGESTION",eZ[eZ.NETWORK_RECOVERY=2]="NETWORK_RECOVERY",eZ[eZ.UNMUTE=3]="UNMUTE",eZ[eZ.MUTE=4]="MUTE",eZ[eZ.REMOTE_START=5]="REMOTE_START",eZ[eZ.REMOTE_STOP=6]="REMOTE_STOP",eZ);let FS={interval:1e3,retryDuration:0};class Fk extends A_{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super(i,Nv.STREAM_INDEX_MAIN),dY(this,"_state",Fp.INIT),dY(this,"_stateChangeTs",kG()),dY(this,"streamId",void 0),dY(this,"Authorization",void 0),dY(this,"_backOff",FS),this.token=t,this.streamId=e,this.logName="WTNLocalStream-".concat(e),this.observer=new Aw(this._ctx,this),this.Authorization=kK.token2auth(i.appId,"",e,t),this._state=r?Fp.FAIL:Fp.INIT,this.isPublicStream=!0}setState(e,t){let i=this._state;if(i===e)return;this.logger.print("setState",e,t),this._state=e;let r=kG();this.safeEmit(Fh.onWTNPushStateChanged,{streamId:this.streamId,oldState:i,newState:e,reason:t,elapse:r-this._stateChangeTs}),this._stateChangeTs=r}getPushBackOff(){return this._backOff}updatePushBackOff(){this._backOff.retryDuration+=this._backOff.interval,this._backOff.interval=this._backOff.interval>4e3?8e3:2*this._backOff.interval}resetPushBackOff(){this._backOff=FS}}class Fx extends Ay{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super(i,e,e,!1,!0,{audiostream:!0,localaudio:!0,videostream:!0,localvideo:!0,extaudio:!1,extvideo:!1,videoDescriptions:[]}),dY(this,"_state",Ff.INIT),dY(this,"Authorization",void 0),dY(this,"_stateChangeTs",kG()),dY(this,"streamId",void 0),dY(this,"_backOff",FS),dY(this,"_audioState",F_.STOPED),dY(this,"_videoState",Fv.STOPED),this.token=t,this.streamId=e,this.logName="WTNRemoteStream-".concat(e),this.observer=new AC(this._ctx,this),this._initObserverEvent(r),this.Authorization=kK.token2auth(i.appId,"",e,t),this._state=r?Ff.FAIL:Ff.INIT,this.isPublicStream=!0}setState(e,t){let i=this._state;if(i===e)return;this.logger.print("setState",e,t),this._state=e;let r=kG();this.safeEmit(Fh.onWTNPlayStateChanged,{streamId:this.streamId,oldState:i,newState:e,reason:t,elapse:r-this._stateChangeTs}),this._stateChangeTs=r}get state(){return this._state}getPushBackOff(){return this._backOff}updatePushBackOff(){this._backOff.retryDuration+=this._backOff.interval,this._backOff.interval=this._backOff.interval>4e3?8e3:2*this._backOff.interval}resetPushBackOff(){this._backOff=FS}setVideoState(e,t){this._videoState!==e&&(e===Fv.DECODING&&this.setVideoState(Fv.STARTING,t),this.logger.print("setVideoState",e,t),this._videoState=e,this.safeEmit(Fh.onWTNRemoteVideoStateChanged,{streamId:this.streamId,state:e,reason:t}))}setAudioState(e,t){this._audioState!==e&&(e===F_.DECODING&&this.setAudioState(F_.STARTING,t),this.logger.print("setAudioState",e,t),this._audioState=e,this.safeEmit(Fh.onWTNRemoteAudioStateChanged,{streamId:this.streamId,state:e,reason:t}))}muteToSubMediaType(e,t){let i=!1,r=k3(this.subMediaType),s=k4(this.subMediaType);return"boolean"==typeof e&&r===e&&(this.subMediaType+=e?-hl.AUDIO:hl.AUDIO,i=!0),"boolean"==typeof t&&s===t&&(this.subMediaType+=t?-hl.VIDEO:hl.VIDEO,i=!0),i}getEnableMediaType(){return{audio:k3(this.subMediaType),video:k4(this.subMediaType)}}_initObserverEvent(e){var t,i;null==(t=this.observer)||t.once("recvAudioFirstFrame",()=>{this.setAudioState(F_.DECODING,e?Fy.NETWORK_RECOVERY:Fy.REMOTE_START)}),null==(i=this.observer)||i.once("recvVideoFirstFrame",()=>{this.setVideoState(Fv.DECODING,e?Fb.NETWORK_RECOVERY:Fb.REMOTE_START)})}}let FC=["rid"];var Fw=Object.defineProperty,FE=Object.getOwnPropertyDescriptor,FT=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?FE(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&Fw(t,i,n),n};class FI extends C5{constructor(e){super(),dY(this,"_reportName","WTNStream"),dY(this,"_localStreams",new Map),dY(this,"_remoteStreams",new Map),dY(this,"_logger",void 0),dY(this,"_monitor",void 0),dY(this,"_ontrackCallbackMap",new Map),dY(this,"_wtnPlayLocks",new Map),dY(this,"_pushTaskMap",new Map),dY(this,"_playTaskMap",new Map),dY(this,"engineId",void 0),dY(this,"_publicVideoPlayerConfig",new Map),dY(this,"__onSEIMessageReceived",void 0),dY(this,"__onRemoteStreamStats",void 0),dY(this,"__onResubscribe",void 0),dY(this,"__onPlayerEvents",void 0),dY(this,"_clearSignalListeners",void 0),this._ctx=e,this._monitor=vH(e.id),this._logger=new bn("WTNStream",1,e.id),this.engineId=e.id,this._addSignalListeners()}async startPushWTN(e,t,i,r){var s;let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(i=!!i,r=!!r,this._logger.print("startPushWTN",e,t,i,r),Sr(t),Se(e)||b2(e,"token"),this._localStreams.get(t))return;let a=new Fk(t,e,this._ctx,n);this._addLocalStreamEventHandler(a),a.setState(Fp.START,Fm.START_PUSH),this._localStreams.set(t,a),await this._ctx.signalingManager.connect(),a.videoTrack=this._ctx.localVideoTrack,a.audioTrack=this._ctx.localAudioTrack,a.pubAudio=!r,a.pubVideo=!i,null==(s=a.observer)||s.setLogin(!0),await new Promise((e,i)=>{n||this._pushTaskMap.set(t,{resolve:()=>{e(),a.startReport(()=>{},this._ctx.handler)},reject:i}),this._sendStartPushStreamSignal(a).catch(e=>i(e))})}async stopPushWTN(e){var t;this._logger.print("stopPushWTN",e);let i=this._localStreams.get(e);i&&(null==(t=i.observer)||t.setLogin(!1),i.setState(Fp.STOP,Fm.STOP_PUSH),this._ctx.signalingManager.sendSignaling("stopPushStream",{appId:this._ctx.appId,streamId:e}).catch(()=>{}),await this._stopLocalStream(i))}async muteWTNLocalAudio(e,t){var i;this._logger.print("muteWTNLocalAudio",e,t);let r=this._localStreams.get(e);if(!r)throw new b$(bY.INVALID_PARAMS,"streamId not found");this._assertNotConnect(),r.pubAudio=!t,null==(i=r.observer)||i.setUnmuteAudio(!t),await this._updatePushStream(r)}async muteWTNLocalVideo(e,t){var i;this._logger.print("muteWTNLocalVideo",e,t);let r=this._localStreams.get(e);if(!r)throw new b$(bY.INVALID_PARAMS,"streamId not found");this._assertNotConnect(),null==(i=r.observer)||i.setUnmuteVideo(!t),r.pubVideo=!t,await this._updatePushStream(r)}sendWTNSEIMessage(e,t,i){this._logger.info("sendWTNSEIMessage()","streamId: %o, sei: %o, repeatCount: %o",e,t,i);let r=this._localStreams.get(e);if(!r||!r.pubVideo&&!r.pubAudio)return;if(!SL()&&!Sj())return k7("Your browser does not support sending SEI"),!1;b1(i,"repeatCount",0,30);let s="string"==typeof t?new Uint8Array(kK.str2ab(t)):t;if(!t.length)return this._logger.warn("sei message must not be empty"),!1;if(s.byteLength>4096)return void this._logger.warn("sei size must not bigger than 4KB");bC||this._maybeFillBackFrame2Stream(r);let n=kH();r.sendSEIMessage({content:s,uuid:n,repeatCount:i+1}),setTimeout(async()=>{var e;r&&await r.revokeSEIMessage(n)&&(console.error("[RTC WebSDK] sei timeout for message: %o",t),null==(e=this._monitor)||e.report("rtc_sdk_callback",{sdk_callback_name:"sendSEIMessage",message:"timeout for message: ".concat(t),error_code:400}))},S2("SEI_TIME_OUT"))}async startPlayWTN(e,t,i,r){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];await this._startPlayWTNInternal(e,t,i,r,s)}async _startPlayWTNInternal(e,t,i,r){var s;let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];i=!!i,r=!!r,this._logger.print("startPlayWTN",e,t,i,r),Sr(t),Se(e)||b2(e,"token");let a=this._remoteStreams.get(t);if(a){if(a.state===Ff.START||a.state===Ff.SUCCESS)throw new b$(bY.REPEAT_PLAY,"repeat play public media stream");await this._stopPlayWTNInternal(t)}a=new Fx(t,e,this._ctx,n),this._addRemoteStreamEventHandler(a),a.setState(Ff.START,Fg.START_PLAY),a.muteToSubMediaType(r,i),this._remoteStreams.set(t,a),null==(s=a.observer)||s.setLogin(!0,a.getEnableMediaType());try{await this._ctx.signalingManager.connect(),await new Promise((e,i)=>{n||this._playTaskMap.set(t,{resolve:e,reject:i}),this._sendStartPullStreamSignal(a).catch(e=>i(e))})}catch(e){throw this._remoteStreams.delete(t),e}}async stopPlayWTN(e){await this._stopPlayWTNInternal(e)}async _stopPlayWTNInternal(e){var t,i;this._logger.print("stopPlayWTN",e);let r=this._remoteStreams.get(e);if(r)return r.setState(Ff.STOP,Fg.STOP_PLAY),r.setAudioState(F_.STOPED,Fy.MUTE),r.setVideoState(Fv.STOPED,Fb.MUTE),null==(t=r.observer)||t.setLogin(!1),null==r||null==(i=r.audioTrack)||i.stop(),this._remoteStreams.delete(e),await this._ctx.signalingManager.connect(),this._unsubscribePublicStream(r)}async muteWTNRemoteAudio(e,t){var i;this._logger.print("muteWTNRemoteAudio",e,t),this._assertNotConnect();let r=this._remoteStreams.get(e);if(!r)throw new b$(bY.INVALID_PARAMS,"streamId not found");r.muteToSubMediaType(t,null)&&(null==(i=r.observer)||i.setUnmuteAudio(!t),await this._updatePullStream(e,r),r.setAudioState(t?F_.STOPED:F_.DECODING,t?Fy.MUTE:Fy.UNMUTE))}async muteWTNRemoteVideo(e,t){var i;this._logger.print("muteWTNRemoteVideo",e,t),this._assertNotConnect();let r=this._remoteStreams.get(e);if(!r)throw new b$(bY.INVALID_PARAMS,"streamId not found");r.muteToSubMediaType(null,t)&&(null==(i=r.observer)||i.setUnmuteVideo(!t),await this._updatePullStream(e,r),r.setVideoState(t?Fv.STOPED:Fv.DECODING,t?Fb.MUTE:Fb.UNMUTE))}setWTNRemoteVideoPlayer(e,t){var i;if(this._logger.print("setWTNRemoteVideoPlayer()","streamId: %o, videoPlayerOption: %o",e,t),null==(i=this._publicVideoPlayerConfig.get(e))||null==(i=i.player)||i.destroy(),!t.renderDom)return void this._publicVideoPlayerConfig.delete(e);let r=new NZ(this._ctx.id,NF,mr(mr({},t),{},{isLocal:!1,userId:e})),s=mr(mr({},t),{},{player:r});return this._publicVideoPlayerConfig.set(e,s),this._updateVideoPlayerState(e),r.domElement}setWTNRemoteAudioPlaybackVolume(e,t){var i;b2(e,"publicStreamId"),t=Sp(t,"volume",0,400),this._ctx.publicAudioVolume.set(e,t),null==(i=this._remoteStreams.get(e))||null==(i=i.audioTrack)||i.setVolume(t)}__getRemoteStreams(){return this._remoteStreams}__getPublicStreamTrack(e,t){let i=this._remoteStreams.get(e);if(i)return"video"===t?i.videoTrack:i.audioTrack}async _updatePushTrack(){0!==this._localStreams.size&&(this._logger.info("_updatePushTrack()"),await this._ctx.signalingManager.connect(),this._localStreams.forEach(async e=>{var t;e.videoTrack=this._ctx.localVideoTrack,e.audioTrack=this._ctx.localAudioTrack,null==(t=e.observer)||t.setEnableVideo(!0),await this._updatePushStream(e)}))}destroy(){var e;this._remoteStreams.forEach(e=>{e.destroy()}),this._remoteStreams=new Map,this.removeAllListeners(),this._ontrackCallbackMap.clear(),this._publicVideoPlayerConfig.forEach(e=>{e.player.destroy()}),this._publicVideoPlayerConfig.clear(),null==(e=this._clearSignalListeners)||e.call(this),this._wtnPlayLocks=new Map}async _sendStartPushStreamSignal(e){var t,i,r,s;let n;this._logger.print("_sendStartPushStreamSignal()","streamId: %s",e.streamId);let{streamId:a,Authorization:o,pubAudio:l,pubVideo:c}=e,{handler:d}=this._ctx;await (null==d?void 0:d.getDefaultSdp());let u=await d.publish(e),h=await Sb(),{appId:p,businessId:m,useCloudProxy:f}=this._ctx,g={appId:p,streamId:a,Authorization:o,sdpInfo:{msid:e.stream.id,type:u.type,sdp:u.partialSdp,semantics:u.semantics},timestamp:Date.now(),params:{appId:p,businessId:m,userAgent:window.navigator.userAgent,sdkVersion:SQ.VERSION,deviceId:bZ.getDeviceId(),enableCloudProxy:f,channelProfile:"0",SDKCodecNegotiation:!0,supportedCodecs:h,sdkType:"rtc",joinRoomMode:1,deviceType:"web",platformType:2,rtsMode:this._ctx.rtsMode,mediaProcessingType:null!=(t=SQ.MEDIA_PROCESSING_TYPE)?t:0},options:{supportCheckTokenPrivilege:!0,supportTokenExpireCallBack:!0,enableSceneConfigV2:!0,enableUnBundleMode:!0,enableAudioMux:!0,enableBigRoomMode:!0,needNegotiateSDP:!0,supportMultiVendor:!0,enableStreamStatusCallback:!0},attributes:{localaudio:!!e.audioTrack,localvideo:!!e.videoTrack,videostream:c,audiostream:l,extvideo:(null==(i=e.videoTrack)?void 0:i.sourceType)===wo.EXTERNAL,extaudio:(null==(r=e.audioTrack)?void 0:r.sourceType)===wo.EXTERNAL,videoDescriptions:u.videoDescriptions.map(e=>vr(e,FC)),videoType:wa.NORMAL},video:c,audio:l,screen:e.isScreen,accessParams:JSON.stringify({requireICEUfragV2:!0})};try{this.emit("__onSendingPushStreamMessageHook"),n=await this._ctx.signalingManager.sendSignaling("startPushStream",g)}catch(t){if(await (null==d?void 0:d.rollback({msid:e.stream.id,stream:e,audioMid:u.audioMid,videoMid:u.videoMid})),t.code>=500&&t.code<600){let i=e.getPushBackOff();if(i.retryDuration<6e4)return this._logger.info("pushRetry","start msid: %s, retryDuration: %s",e.id,i.retryDuration),await new Promise(e=>setTimeout(e,i.interval)),e.updatePushBackOff(),e.resetStream(),e.setState(Fp.START,Fm.IN_RETRY),this._sendStartPushStreamSignal(e);throw this._logger.info("pushRetry","end"),e.setState(Fp.FAIL,Fm.RETRY_FAIL),await this._stopLocalStream(e),e.resetPushBackOff(),new b$(bY.WTN_PUSH_FAILED,t.message||"server error")}if(401===t.code)throw e.setState(Fp.FAIL,Fm.NO_PUSH_PERMISSION),await this._stopLocalStream(e),new b$(bY.WTN_PUSH_FAILED,t.message||"token error");if(t.code===bY.OPERATION_CANCEL&&this._ctx.signalingManager.isReconnecting())return;throw new b$(bY.WTN_PUSH_FAILED,t.message||"push error")}e.pubAttributes=g.attributes;let _=await e.getSelectedCodec();e.currentVideoCodec=_;let y=new Promise((t,i)=>{var r,s;null==d||d.handleAck({action:Of.publish,streamId:a,audioMid:u.audioMid,videoMid:u.videoMid,audioTransceiverInit:null==u?void 0:u.audioTransceiverInit,videoTransceiverInit:null==u?void 0:u.videoTransceiverInit,signalingAck:{sdp:null==(r=n)||null==(r=r.relayMessage)?void 0:r.sdp,sequenceId:null==(s=n)||null==(s=s.relayMessage)?void 0:s.sequenceId},stream:e,videoCodec:_,onSuccess:()=>{this._logger.info("pushStream()","pushStream success"),e.setState(Fp.SUCCESS,Fm.PUSH_SUCCESS),t(0)},onFail:e=>{this._logger.info("pushStream()","pushStream fail"),i(e)}})});bc||await y,null==(s=this._pushTaskMap.get(a))||s.resolve(),this._pushTaskMap.delete(a)}async _stopLocalStream(e){var t;e.stopBlackFrame(),await (null==(t=this._ctx.handler)?void 0:t.handleAck({action:Of.unpublish,audioMid:e.audioMid,videoMid:e.videoMid,stream:e,streamId:e.streamId})),e.destroy(),this._localStreams.delete(e.streamId)}async _updatePushStream(e){var t,i,r,s,n,a,o,l,c;let{videoTrack:d,audioTrack:u,pubAudio:h,pubVideo:p}=e,m=null==(t=e.audioTrack)?void 0:t.preprocessingTrack,f=null==(i=e.videoTrack)?void 0:i.preprocessingTrack;if(p&&f?(e.stopBlackFrame(),await (null==(n=e.videoTransceiver)?void 0:n.sender.replaceTrack(f))):await (null==(a=e.videoTransceiver)?void 0:a.sender.replaceTrack(null)),h&&m){let{mixType:t,mixedAudioTrack:i}=e.audioTrack;i&&t!==Od.PLAYOUT&&m.enabled&&(m=i),await (null==(o=e.audioTransceiver)?void 0:o.sender.replaceTrack(m))}else await (null==(l=e.audioTransceiver)?void 0:l.sender.replaceTrack(null));let g={localaudio:!!u,localvideo:!!d,videostream:p,audiostream:h,extvideo:(null==d?void 0:d.sourceType)===wo.EXTERNAL,extaudio:(null==u?void 0:u.sourceType)===wo.EXTERNAL,videoType:d?wa.NORMAL:e.pubAttributes.videoType},_={};for(let[t,i]of Object.entries(g))i!==Reflect.get(e.pubAttributes,t)&&Reflect.set(_,t,i);Object.keys(_).length&&(e.pubAudio=null!=(r=g.audiostream)?r:e.pubAudio,e.pubVideo=null!=(s=g.videostream)?s:e.pubVideo,e.pubAttributes=mr(mr({},e.pubAttributes),g),e.pubAttributes.videostream||e.stopBlackFrame(),await this._ctx.signalingManager.sendSignaling("updatePushStream",{appId:this._ctx.appId,streamId:e.streamId,attributes:g}),bc&&await (null==(c=this._ctx.handler)?void 0:c.setCurrentDescription()))}async _sendStartPullStreamSignal(e){var t,i,r,s,n;let a;this._logger.print("startPullStream()","streamId:",e.streamId);let{streamId:o,Authorization:l}=e,{handler:c}=this._ctx,d=await (null==c?void 0:c.subscribe(e,{multiChatMode:!1}));if(!d)throw new b$(bY.ADD_TRANSCEIVER_FAILED,"add transceiver failed");let u=kG(),{audioMid:h,videoMid:p}=d,{appId:m,businessId:f,useCloudProxy:g}=this._ctx,_=await Sb(),y={appId:m,streamId:o,Authorization:l,audio:!0,video:!0,screen:!1,timestamp:Date.now(),sdpInfo:{sdp:d.partialSdp,semantics:d.semantics,type:d.type},params:{appId:m,businessId:f,userAgent:window.navigator.userAgent,sdkVersion:SQ.VERSION,deviceId:bZ.getDeviceId(),enableCloudProxy:g,channelProfile:"0",SDKCodecNegotiation:!0,supportedCodecs:_,sdkType:"rtc",joinRoomMode:1,deviceType:"web",platformType:2,rtsMode:this._ctx.rtsMode,mediaProcessingType:null!=(t=SQ.MEDIA_PROCESSING_TYPE)?t:0},options:{supportCheckTokenPrivilege:!0,supportTokenExpireCallBack:!0,enableSceneConfigV2:!0,enableUnBundleMode:!0,enableAudioMux:!0,enableBigRoomMode:!0,needNegotiateSDP:!0,supportMultiVendor:!0,enableStreamStatusCallback:!0},config:{enableMediaType:e.getEnableMediaType(),qualityLayer:{spatialLayer:0,temporalLayer:0}},accessParams:JSON.stringify({requireICEUfragV2:!0}),extra:{enableSendRTT:!0}};try{this.emit("__onSendingPullStreamMessageHook"),a=await this._ctx.signalingManager.sendSignaling("startPullStream",y)}catch(t){if(await (null==c?void 0:c.rollback({msid:o,stream:e}).catch(()=>{})),401===t.code)throw e.setState(Ff.FAIL,Fg.NO_PLAY_PERMISSION),new b$(bY.WTN_PLAY_FAILED,t.message||"token error");if(433===t.code)throw e.setState(Ff.FAIL,Fg.OVER_CLIENT_SUBSCRIBE_STREAM_LIMIT),new b$(bY.WTN_PLAY_FAILED,t.message||"over client subscribe stream limit");if(434===t.code)throw e.setState(Ff.FAIL,Fg.OVER_STREAM_SUBSCRIBE_USER_LIMIT),new b$(bY.WTN_PLAY_FAILED,t.message||"over stream subscribe user limit");if(t.code===bY.OPERATION_CANCEL&&this._ctx.signalingManager.isReconnecting())return;throw e.setState(Ff.FAIL,Fg.INTERNAL),new b$(bY.WTN_PLAY_FAILED,t.message||"play wtn error")}let v=[];v.push(new Promise((t,i)=>{let r=setTimeout(()=>i(new b$(bY.WTN_PLAY_FAILED,"wait video timeout for streamId: ".concat(o))),6e4),s=i=>{"video"===i.mediaType&&(this._logger.success("remoteStream ".concat(e.userId," received video track")),e.off("ontrack",s),clearTimeout(r),t(0))};e.on("ontrack",s)})),v.push(new Promise((t,i)=>{let r=setTimeout(()=>i(new b$(bY.WTN_PLAY_FAILED,"wait audio timeout for streamId: ".concat(o))),6e4),s=i=>{"audio"===i.mediaType&&(this._logger.success("remoteStream ".concat(e.userId," received audio track")),e.off("ontrack",s),clearTimeout(r),t(0))};e.on("ontrack",s)}));let b=t=>{e.ontrack(t)};null==(i=this._ctx.handler)||i.on("ontrack",b),this._ontrackCallbackMap.set(e,b);let{sequenceId:S,sdp:k}=a.relayMessage;e.videoMid=p,e.audioMid=h,e.sequenceId=S,e.streamState=Ag.SUB_ED,await (null==(r=this._ctx.handler)?void 0:r.handleAck({action:Of.subscribe,streamId:o,audioMid:h,videoMid:p,audioTransceiverInit:d.audioTransceiverInit,videoTransceiverInit:d.videoTransceiverInit,signalingAck:{sdp:k,sequenceId:S},stream:e})),await Promise.all(v),null==(s=this._monitor)||s.report("rtc_subscribe_stat",{result:"success",start:u,message:"unknown",stream_user_id:e.userId}),e.startReport(t=>{var i;t.publicStreamId=t.userId,delete t.userId,delete t.isScreen;let r=k5(t);r.audioStats&&this.safeEmit(Fh.onWTNRemoteAudioStats,{streamId:e.streamId,audioStats:r.audioStats}),r.videoStats&&this.safeEmit(Fh.onWTNRemoteVideoStats,{streamId:e.streamId,videoStats:r.videoStats}),null==(i=this.__onRemoteStreamStats)||i.call(this,r)},this._ctx.handler),this._updateVideoPlayerState(o),this._initAudioPlayer(o),e.subVideo=e.getEnableMediaType().video,e.subAudio=e.getEnableMediaType().audio,null==(n=this._playTaskMap.get(o))||n.resolve(),this._playTaskMap.delete(o)}async _unsubscribePublicStream(e){var t;AQ("_unsubscribePublicStream()",e,this._logger);let i={appId:this._ctx.appId,streamId:e.streamId};try{await this._ctx.signalingManager.sendSignaling("stopPullStream",i)}catch(e){}e.streamState=Ag.INIT,await (null==(t=this._ctx.handler)?void 0:t.handleAck({action:Of.unsubscribe,streamId:e.streamId,audioMid:e.audioMid,videoMid:e.videoMid,stream:e})),e.subMediaType=Sf.NONE,this._removeOnTrackListener(e),e.statsReport.unsubscribe(),e.destroy()}async _updatePullStream(e,t){let i=t.getEnableMediaType();await this._ctx.signalingManager.sendSignaling("updatePullStream",{appId:this._ctx.appId,streamId:e,config:{enableMediaType:i}}),t.subVideo=i.video,t.subAudio=i.audio}_removeOnTrackListener(e){let t=this._ontrackCallbackMap.get(e);if(t){let i=e.vendorHandler||this._ctx.handler;null==i||i.off("ontrack",t),this._ontrackCallbackMap.delete(e)}}_addSignalListeners(){let e={[wi.ON_CONNECTION_STATE_CHANGE]:e=>{e.state===hd.CONNECTION_STATE_RECONNECTED?(Array.from(this._remoteStreams.values()).forEach(e=>{let{streamId:t,token:i}=e,{audio:r,video:s}=e.getEnableMediaType();e.destroy(),this._remoteStreams.delete(t),this._startPlayWTNInternal(i,t,!s,!r,!0).then(()=>{var t;null==(t=this.__onResubscribe)||t.call(this,{stream:e})})}),Array.from(this._localStreams.values()).forEach(e=>{let{token:t,pubAudio:i,pubVideo:r}=e;e.destroy(),this._localStreams.delete(e.streamId),this.startPushWTN(t,e.streamId,!r,!i,!0)})):e.state===hd.CONNECTION_STATE_DISCONNECTED&&(this._remoteStreams.forEach(e=>{e.setState(Ff.FAIL,Fg.IN_RETRY),e.setAudioState(F_.FROZEN,Fy.NETWORK_CONGESTION),e.setVideoState(Fv.FROZEN,Fb.NETWORK_CONGESTION)}),this._localStreams.forEach(e=>{e.setState(Fp.FAIL,Fm.IN_RETRY)}))},[we.ON_STREAM_PUSHED_BY_OTHER]:e=>{let t=this._localStreams.get(e.streamId);this._logger.print("_addSignalListeners","onStreamPushedByOther",e.streamId),t&&(t.setState(Fp.FAIL,Fm.STREAM_PUSH_BY_OTHER),this._stopLocalStream(t))},[we.ON_STREAM_PULL_STATE_CHANGED]:async e=>{let t=this._remoteStreams.get(e.streamId);if(this._logger.print("_addSignalListeners","onStreamPullStateChanged",e),t)switch(e.code){case 0:t.setState(Ff.SUCCESS,Fg.PLAY_SUCCESS);break;case 1:case 2:case 3:let i={1:Fg.STREAM_NOT_EXIST,2:Fg.REMOTE_STOP,3:Fg.REMOTE_FAILURE}[e.code];t.setAudioState(F_.STOPED,Fy.REMOTE_STOP),t.setVideoState(Fv.STOPED,Fb.REMOTE_STOP),t.setState(Ff.FAIL,i);break;case 4:var r;let s=t.getPushBackOff();s.retryDuration<6e4?(this._logger.info("subRetry",t.streamId,s.retryDuration),t.setState(Ff.START,Fg.IN_RETRY),await new Promise(e=>setTimeout(e,s.interval)),t.updatePushBackOff(),await (null==(r=this._ctx)||null==(r=r.handler)?void 0:r.handleAck({action:Of.unsubscribe,streamId:t.streamId,audioMid:t.audioMid,videoMid:t.videoMid,stream:t})),t.clean(),await this._sendStartPullStreamSignal(t)):(t.setState(Ff.FAIL,Fg.RETRY_FAIL),this._logger.info("subRetry","end",t.streamId),t.resetPushBackOff())}},[wt.RTT]:e=>{let{StreamIds:t,Metadata:i}=e;if(null!=t&&t.length&&i){let e=t[0];this._ctx.streamRTT[e]={audio:i.audio_rtt,video:i.video_rtt}}}};Object.keys(e).forEach(t=>{this._ctx.signalingManager.on(t,e[t])}),this._clearSignalListeners=()=>{Object.keys(e).forEach(t=>{this._ctx.signalingManager.off(t,e[t])})}}_addLocalStreamEventHandler(e){e.on(Fh.onWTNPushStateChanged,e=>{this.safeEmit(Fh.onWTNPushStateChanged,e)})}_addRemoteStreamEventHandler(e){e.on(Fh.onWTNPlayStateChanged,e=>{this.safeEmit(Fh.onWTNPlayStateChanged,e)}),e.on(Fh.onWTNRemoteAudioStateChanged,e=>{this.safeEmit(Fh.onWTNRemoteAudioStateChanged,e)}),e.on(Fh.onWTNRemoteVideoStateChanged,e=>{this.safeEmit(Fh.onWTNRemoteVideoStateChanged,e)}),e.on("onSEIMessage",t=>{if(t instanceof Uint8Array){let r=k9(t);for(let t=0;t1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ho.STREAM_INDEX_MAIN;null==(t=this.__onPlayerEvents)||t.call(this,e,i,r),e.on("playback_event",t=>{let i=this._remoteStreams.get(e.userId);if("loadeddata"===t.eventName){let e=()=>{i&&"video"===t.type&&this.safeEmit(Fh.onWTNFirstRemoteVideoFrameDecoded,{streamId:i.streamId})};null==i||!i.observer||i.observer.audioFirstFrameReceived?e():i.observer.once("recvVideoFirstFrame",e)}})}async _maybeFillBackFrame2Stream(e){var t,i;if(e.refreshBlackFrameLifetime(),null==(t=e.videoTransceiver)||!t.sender.track){let t=e.genBlackFrame();if(!t)return;null==(i=e.videoTransceiver)||null==(i=i.sender)||i.replaceTrack(t),e.pubAttributes.videoType=wa.BLACK,this._ctx.signalingManager.sendSignaling("updatePushStream",{streamId:e.streamId,appId:this._ctx.appId,attributes:{videoType:wa.BLACK}}),e.on("black-frame-ended",()=>{var t;null==(t=e.videoTransceiver)||null==(t=t.sender)||t.replaceTrack(null),e.pubAttributes.videoType=wa.NORMAL,this._ctx.signalingManager.sendSignaling("updatePushStream",{streamId:e.streamId,appId:this._ctx.appId,attributes:{videoType:wa.NORMAL}})})}}safeEmit(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;r3&&void 0!==arguments[3]?arguments[3]:3e4;if(!window.MediaRecorder)throw new b$(bY.NOT_SUPPORTED,"Your browser does not support MediaRecorder.");if(this._isAudioDeviceRecordTesting||this._isAudioPlaybackDeviceTesting)throw new b$(bY.REPEAT_DEVICE_TEST,"device test cannot be called repeatedly at the same time.");this._isAudioDeviceRecordTesting=!0,FN.info("startAudioDeviceRecordTest()","Invoke"),this._recoderTimer=setTimeout(()=>{FN.info("startAudioDeviceRecordTest()","".concat(r,'ms automatic call method "stopAudioDeviceRecordAndPlayTest"')),this._stopAudioCaptureAndRecoder()},r);try{this._onAutoplayFailed=t,await this._startAudioCaptureAndRecoder(e,null!=i?i:100)}catch(e){throw this._isAudioDeviceRecordTesting=!1,delete this._onAutoplayFailed,e}delete this._audioCaptureAndRecoderResolve}stopAudioDeviceRecordAndPlayTest(){FN.info("stopAudioDeviceRecordAndPlayTest()","Invoke"),void 0!==this._recoderTimer&&(clearTimeout(this._recoderTimer),delete this._recoderTimer),this._stopAudioCaptureAndRecoder()}stopAudioDevicePlayTest(){this._isAudioDeviceRecordTesting&&(FN.info("stopAudioDevicePlayTest()","Invoke"),this._isAudioDeviceRecordTesting=!1,this._mediaRecorder&&(this._mediaRecorder.ondataavailable=null),this.stopAudioDeviceRecordAndPlayTest(),this._stopEmitAudioPlaybackDeviceTestVolume(),this._destroyAudioElement()),delete this._onAutoplayFailed}getRecordTrack(){return this._audioTrack}async setSinkId(e){if(FN.info("setSinkId()","Invoke"),void 0===HTMLAudioElement.prototype.setSinkId)throw new b$(bY.NOT_SUPPORTED,"setSinkId not supported by current browser");let t=await NP.getAudioPlaybackDeviceById(e);if(!t)throw new b$(bY.INVALID_DEVICE_ID,"audio playback device id ".concat(e," is invalid"));return this._audioPlaybackDeviceId=e,this._setAudioCtxSinkId(),t}getSinkId(){return this._audioPlaybackDeviceId}destroy(){FN.info("destroy()","Invoke"),super.removeAllListeners(),this.stopAudioPlaybackDeviceTest(),this.stopAudioDevicePlayTest()}async _playAudioFile(e,t){return FN.info("_playAudioFile()","Invoke url=".concat(e,"; loop=").concat(t.loop)),new Promise((i,r)=>{let s=NA("audio",{attributes:{src:e,crossOrigin:"anonymous"}});this._audioElement=s,s.loop=t.loop,this._audioLevelFetcher=new NI(s),s.onplaying=()=>{s.onplaying=null,FN.info("_playAudioFile()","onplaying"),i()},s.onerror=async e=>{var t;FN.error("_playAudioFile()","onerror",e);let i=e.message||(null==s||null==(t=s.error)?void 0:t.message);r(new b$(bY.LOAD_RESOURCES_FAILED,"Failed to play recorded audio".concat(i?", reason: ".concat(i):".")))},this._setAudioCtxSinkId().then(()=>{var e,t;return null==(e=s.play())||null==(t=e.catch)?void 0:t.call(e,e=>{FN.warn("_playAudioFile()","autoplay error",e);let t="Failed to play recorded audio, ".concat(e.name,": ").concat(e.message);"NotAllowedError"===e.name&&this._onAutoplayFailed?this._onAutoplayFailed(()=>{var e;return Promise.all([null==(e=this._audioLevelFetcher)?void 0:e.resume(),s.play()])}):r(new b$(bY.LOAD_RESOURCES_FAILED,t))})})})}_destroyAudioElement(){this._audioElement&&(FN.info("_destroyAudioElement()","Invoke"),this._audioElement.onplaying=null,this._audioElement.onerror=null,this._audioElement.src="",delete this._audioElement,"function"==typeof this._audioCaptureAndRecoderResolve&&this._audioCaptureAndRecoderResolve())}_startEmitAudioPlaybackDeviceTestVolume(e){e=Math.max(e,100),this._audioElement&&(FN.info("_startEmitAudioPlaybackDeviceTestVolume()","start timer(".concat(e,"ms)")),this._playbackDeviceTestTimer=self.setInterval(()=>{this._audioLevelFetcher&&this.emit("onAudioPlaybackDeviceTestVolume",this._audioLevelFetcher.getAudioLevel())},e))}_stopEmitAudioPlaybackDeviceTestVolume(){var e;void 0!==this._playbackDeviceTestTimer&&(FN.info("_stopEmitAudioPlaybackDeviceTestVolume()","stop timer"),self.clearInterval(this._playbackDeviceTestTimer),delete this._playbackDeviceTestTimer),null==(e=this._audioLevelFetcher)||e.destroy(),delete this._audioLevelFetcher}async _startAudioCaptureAndRecoder(e,t){this._audioTrack=await N7(this._ctx,this._ctx.audioProfileManager.getConstraints()),this._audioTrack.setVolume(t+.01);let i=new MediaStream([this._audioTrack.preprocessingTrack]);return FN.info("startAudioDeviceRecordTest()","create microphone track success!"),new Promise((t,r)=>{let s;"function"==typeof MediaRecorder.isTypeSupported&&(s=["audio/webm","audio/mp4"].find(e=>MediaRecorder.isTypeSupported(e)),FN.info("startAudioDeviceRecordTest()","use mimeType: ".concat(s))),this._mediaRecorder=new MediaRecorder(i,s?{mimeType:s}:void 0);let n=this._mediaRecorder.mimeType;this._mediaRecorder.ondataavailable=async i=>{if(this._isAudioDeviceRecordTesting){var s;FN.info("startAudioDeviceRecordTest()","get recorded file(mimeType: ".concat(n,")."));let a=new Blob([i.data],{type:n});try{await this._playAudioFile(Ne.createObjectURL(a),{loop:!1})}catch(e){return r(e)}this._startEmitAudioPlaybackDeviceTestVolume(e),null==(s=this._audioElement)||s.addEventListener("ended",()=>{this.stopAudioDevicePlayTest(),t()}),this._audioCaptureAndRecoderResolve=t}else t()},this._mediaRecorder.onerror=e=>{r(new b$(bY.AUDIO_DEVICE_TEST_FAILED,e.message||"mediaRecorder error"))},this._audioCaptureAndRecoderResolve=t,this._mediaRecorder.start()})}_stopAudioCaptureAndRecoder(){var e;this._mediaRecorder&&("recording"===this._mediaRecorder.state&&this._mediaRecorder.stop(),delete this._mediaRecorder),null==(e=this._audioTrack)||e.destroy(),delete this._audioTrack}async _setAudioCtxSinkId(){let e=this._audioPlaybackDeviceId;if(e){"default"===e&&(e="");try{var t,i;null==(t=NN.getAudioContextInstance())||null==(i=t.setSinkId)||i.call(t,e),FN.info("setSinkId","ctx.sinkId=".concat(e))}catch(e){FN.error("setSinkId","failed, ".concat(e.name," - ").concat(e.message))}}}}let FM=()=>({url:"",video:{codec:hI.H264,width:640,height:360,fps:15,gop:2,kBitRate:FP(640,360,15)},audio:{codec:"AAC",kBitRate:64,sampleRate:48e3,channels:2,AACProfile:hT.LC},layout:{regions:[],appData:"",backgroundColor:"#000000"}});function FP(e,t,i){return e*t<=288e3?i<=15?800:1200:e*t<=864e3?i<=15?1200:1800:e*t<=1152e3?i<=15?1600:2400:e*t<=2592e3?i<=15?2500:3750:i<=15?3300:5e3}function Fj(e){if("string"!=typeof e||!/^rtmps?:\/\//.test(e))throw new b$(bY.INVALID_PARAMS,"Invalid rtmp address")}function FL(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(null==e||!e.length)throw new b$(bY.INVALID_PARAMS,"regions should not be empty.");for(let t of e){if("string"!=typeof t.userId)throw new b$(bY.INVALID_PARAMS,"region.userId(".concat(t.userId,") should be a string."));if(Si(t.userId),"boolean"!=typeof t.isScreenStream)throw new b$(bY.INVALID_PARAMS,"region.isScreenStream(".concat(t.isScreenStream,") should be a boolean."))}}function FD(e,t){var i,r;let s=(e,i)=>{let r=e.reduce((e,t)=>null==e?void 0:e[t],t),s=e.reduce((e,t)=>null==e?void 0:e[t],FM());return r&&i(r)?r:s},n=e=>e%2==0?e:e+1,a=n(s(["video","width"],e=>e>=2&&e<=1920)),o=n(s(["video","height"],e=>e>=2&&e<=1920)),l=s(["video","fps"],e=>e>=1&&e<=60),c=(null==(i=t.video)?void 0:i.kBitRate)||0,d=s(["audio","sampleRate"],e=>!![32e3,44100,48e3].find(t=>t===e||t/1e3===e));return{type:"transcode",action:e,transcodeMeta:{transcode:{url:t.url},control:{protocol:"2.0"},audio:{codec:s(["audio","codec"],e=>"AAC"===e),bitRate:1e3*s(["audio","kBitRate"],e=>e>=32&&e<=192),sampleRate:d<100?1e3*d:d,channels:s(["audio","channels"],e=>[1,2].includes(e)),profile:s(["audio","AACProfile"],e=>[hT.LC,hT.HEv1,hT.HEv2].includes(e))},video:{codec:s(["video","codec"],e=>["H264","H265"].includes(e)),fps:l,gop:s(["video","gop"],e=>e>=1&&e<=5)*l,bitRate:1e3*(c>=16&&c<=1e4?c:FP(a,o,l)),width:a,height:o},layout:{canvas:{bgnd:s(["layout","backgroundColor"],e=>/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(e))},regions:(null==(r=t.layout)||null==(r=r.regions)?void 0:r.map(e=>({alpha:!e.alpha||Number(e.alpha)>1||0>=Number(e.alpha)?1:Number(e.alpha),uid:e.userId,zorder:!e.zorder||0>Number(e.zorder)||Number(e.zorder)>100?0:Number(e.zorder),x:!e.x||Number(e.x)>=1||0>Number(e.x)?0:Number(e.x),y:!e.y||Number(e.y)>=1||0>Number(e.y)?0:Number(e.y),w:!e.w||Number(e.w)>1||0>=Number(e.w)?1:Number(e.w),h:!e.h||Number(e.h)>1||0>=Number(e.h)?1:Number(e.h),renderMode:e.renderMode&&[1,2,3].includes(e.renderMode)?e.renderMode:1,contentControl:e.contentControl&&[0,1,2].includes(e.contentControl)?e.contentControl:0,screen:!!e.isScreenStream})))||[],app_data:s(["layout","appData"],e=>"string"==typeof e)}}}}let FO=FM,FF=function(e){var t;Fj(e.url),FL(null==(t=e.layout)?void 0:t.regions)},FU=function(e){var t;e.url&&Fj(e.url),FL(null==(t=e.layout)?void 0:t.regions)},FV=function(e){return FD("started",e)},FB=function(e){return FD("layoutChanged",e)},Fz=e=>{a&&clearTimeout(a),a=setTimeout(()=>{for(let[t,i]of e)null!=t&&t.startsWith("mux")&&i.forEach(e=>{var t;null==(t=e.audioTrack)||t.pause()});for(let[t,i]of e)null!=t&&t.startsWith("mux")&&i.forEach(e=>{var t;null==(t=e.audioTrack)||t.play()})},2e3)};var FW=PT,FH=sf;r2({target:"Object",stat:!0},{fromEntries:function(e){var t={};return FW(e,function(e,i){FH(t,e,i)},{AS_ENTRIES:!0}),t}});var FG=e2(tW.Object.fromEntries);let FZ=["ele","fakeEle"],FK=["orgTrack","mediaTrack","preprocessingTrack"],FX=["orgTrack","mediaTrack","preprocessingTrack"],FY=["currentTime","duration","ended","error","muted","networkState","paused","readyState","seekable","sinkId","src","volume"],FJ=["currentTime","sampleRate","state","baseLatency","outputLatency","sinkId"],F$=["contentHint","enabled","id","kind","label","muted","readyState"],Fq=["currentDirection","direction","mid","stopped"];async function FQ(e){let t=Date.now(),i=[];e._ctx.handler&&e._ctx.handler._peerConnection&&(i=await e._ctx.handler._peerConnection.getStats());let r=[];return i.forEach(e=>{r.push(e)}),{timestamp:t,stats:r}}function F0(e){let t={};return e instanceof MediaStream&&(t.id=e.id,t.active=e.active,t.tracks=e.getTracks().map(e=>FG(F$.map(t=>[t,e[t]])))),t}async function F1(e){var t;let i=Date.now(),r=[];e._videoPlayer&&r.push({userId:"__local__",mediaType:"video",isScreen:!1,isPublic:!1,ele:e._videoPlayer._videoDom}),e._screenPlayer&&r.push({userId:"__local__",mediaType:"video",isScreen:!0,isPublic:!1,ele:e._screenPlayer._videoDom}),e._remoteVideoPlayer&&e._remoteVideoPlayer.forEach((e,t)=>{r.push({userId:t,mediaType:"video",isScreen:!1,isPublic:!1,ele:e?e._videoDom:void 0})}),e._remoteScreenPlayer&&(null==(t=e._remoteScreenPlayer)||t.forEach((e,t)=>{r.push({userId:t,mediaType:"video",isScreen:!0,isPublic:!1,ele:e?e._videoDom:void 0})})),e._remoteAudioPlayer&&e._remoteAudioPlayer.forEach((e,t)=>{r.push({userId:t,mediaType:"audio",isScreen:!1,isPublic:!1,ele:e?e._audioDom:void 0,fakeEle:e?e._fakeAudioDom:void 0})}),e._remoteScreenAudioPlayer&&e._remoteScreenAudioPlayer.forEach((e,t)=>{r.push({userId:t,mediaType:"audio",isScreen:!0,isPublic:!1,ele:e?e._audioDom:void 0,fakeEle:e?e._fakeAudioDom:void 0})}),e._publicStreamVideoPlayer&&e._publicStreamVideoPlayer.forEach((e,t)=>{r.push({userId:t,mediaType:"video",isScreen:!1,isPublic:!0,ele:e?e._videoDom:void 0})}),e._publicStreamAudioPlayer&&e._publicStreamAudioPlayer.forEach((e,t)=>{r.push({userId:t,mediaType:"audio",isScreen:!1,isPublic:!0,ele:e?e._audioDom:void 0,fakeEle:e?e._fakeAudioDom:void 0})}),e._localVideoTrack&&e._localVideoTrack.videoPlayers&&e._localVideoTrack.videoPlayers.forEach((e,t)=>{r.push({playerId:t.toString(),userId:"__local__",mediaType:"video",isScreen:!1,isPublic:!1,ele:e._videoDom})}),e._localScreenTrack&&e._localScreenTrack.videoPlayers&&e._localScreenTrack.videoPlayers.forEach((e,t)=>{r.push({playerId:t.toString(),userId:"__local__",mediaType:"video",isScreen:!0,isPublic:!1,ele:e._videoDom})}),e._room&&e._room._remoteStreams&&e._room._remoteStreams.forEach((e,t)=>{e.forEach(e=>{if(e.audioTrack){let i=e.audioTrack._audioPlayer;r.push({userId:t,mediaType:"audio",isScreen:e.isScreen,isPublic:!1,ele:i?i._audioDom:void 0,fakeEle:i?i._fakeAudioDom:void 0})}e.videoTrack&&e.videoTrack.videoPlayers&&e.videoTrack.videoPlayers.forEach((i,s)=>{r.push({playerId:s.toString(),userId:t,mediaType:"video",isScreen:e.isScreen,isPublic:!1,ele:i?i._videoDom:void 0})})})});let s=e._publicStreamManager;return s||(s=e._outsideRoom),s&&s.remoteStreams&&s.remoteStreams.forEach((e,t)=>{if(e.audioTrack){let i=e.audioTrack._audioPlayer;r.push({userId:t,mediaType:"audio",isScreen:!1,isPublic:!0,ele:i?i._audioDom:void 0,fakeEle:i?i._fakeAudioDom:void 0})}e.videoTrack&&e.videoTrack.videoPlayers&&e.videoTrack.videoPlayers.forEach((e,i)=>{r.push({playerId:i.toString(),userId:t,mediaType:"video",isScreen:!1,isPublic:!0,ele:e?e._videoDom:void 0})})}),e&&e._room&&e._room._virtualStreams&&e._room._virtualStreams.forEach((e,t)=>{if(e.audioTrack){let i=e.audioTrack._audioPlayer;r.push({userId:"virtualStream-".concat(t),mediaType:"audio",isScreen:!1,isPublic:!1,isVirtual:!0,ele:i?i._audioDom:void 0,fakeEle:i?i._fakeAudioDom:void 0})}}),{timestamp:i,elementStats:r.map(e=>{let{ele:t,fakeEle:i}=e,r=vr(e,FZ),s=mr({ele:mr({srcObject:t?F0(t.srcObject):void 0},FG(FY.map(e=>[e,t[e]])))},r);return i&&(s.fakeEle=mr({srcObject:F0(i.srcObject)},FG(FY.map(e=>[e,i[e]])))),s})}}function F2(e){let t=[],i=[];for(let r of(e&&e._room&&e._room._remoteStreams&&(i=e._room._remoteStreams.values()),i))r.forEach(e=>{e.audioTrack&&t.push(e.audioTrack)});for(let i of(e._localAudioTrack&&t.push(e._localAudioTrack),e._localScreenAudioTrack&&t.push(e._localScreenAudioTrack),t)){if(i._audioLevelFetcher&&i._audioLevelFetcher._ctx)return i._audioLevelFetcher._ctx;if(i._ac)return i._ac;if(i._audioFetchMap&&Array.from(i._audioFetchMap.values()).length)return Array.from(i._audioFetchMap.values())[0]._ctx;if(i._ap&&i._ap._ac)return i._ap._ac}return null}async function F3(e){let t=Date.now(),i=F2(e),r={};return i?(FJ.forEach(e=>{r[e]=i[e]}),{timestamp:t,acState:r}):{timestamp:t,acState:void 0}}function F4(e){let t=[];e._localAudioTrack&&t.push({userId:"__local__",mediaType:"audio",isScreen:!1,isPublic:!1,isVirtual:!1,orgTrack:e._localAudioTrack._originTrack,mediaTrack:e._localAudioTrack._mediaTrack,preprocessingTrack:e._localAudioTrack._preProcessingTrack}),e._localScreenAudioTrack&&t.push({userId:"__local__",mediaType:"audio",isScreen:!0,isPublic:!1,isVirtual:!1,orgTrack:e._localScreenAudioTrack._originTrack,mediaTrack:e._localScreenAudioTrack._mediaTrack,preprocessingTrack:e._localScreenAudioTrack._preProcessingTrack}),e._localVideoTrack&&t.push({userId:"__local__",mediaType:"video",isScreen:!1,isPublic:!1,isVirtual:!1,orgTrack:e._localVideoTrack._originTrack,mediaTrack:e._localVideoTrack._mediaTrack,preprocessingTrack:e._localVideoTrack._preProcessingTrack}),e._localScreenVideoTrack&&t.push({userId:"__local__",mediaType:"video",isScreen:!0,isPublic:!1,isVirtual:!1,orgTrack:e._localScreenVideoTrack._originTrack,mediaTrack:e._localScreenVideoTrack._mediaTrack,preprocessingTrack:e._localScreenVideoTrack._preProcessingTrack}),e._room&&e._room._remoteStreams&&e._room._remoteStreams.forEach((e,i)=>{e.forEach(e=>{e.audioTrack&&t.push({userId:i,mediaType:"audio",isScreen:e.isScreen,isPublic:!1,isVirtual:!1,orgTrack:e.audioTrack._originTrack,mediaTrack:e.audioTrack._mediaTrack}),e.videoTrack&&t.push({userId:i,mediaType:"video",isScreen:e.isScreen,isPublic:!1,isVirtual:!1,orgTrack:e.videoTrack._originTrack,mediaTrack:e.videoTrack._mediaTrack})})});let i=e._publicStreamManager;return i||(i=e._outsideRoom),i&&i.remoteStreams&&i.remoteStreams.forEach((e,i)=>{e.audioTrack&&t.push({userId:i,mediaType:"audio",isScreen:e.isScreen,isPublic:!0,isVirtual:!1,orgTrack:e.audioTrack._originTrack,mediaTrack:e.audioTrack._mediaTrack}),e.videoTrack&&t.push({userId:i,mediaType:"video",isScreen:e.isScreen,isPublic:!0,isVirtual:!1,orgTrack:e.videoTrack._originTrack,mediaTrack:e.videoTrack._mediaTrack})}),e&&e._room&&e._room._virtualStreams&&e._room._virtualStreams.forEach((e,i)=>{e.audioTrack&&t.push({userId:"virtualStream-".concat(i),mediaType:"audio",isScreen:!1,isPublic:!1,isVirtual:!0,orgTrack:e.audioTrack._originTrack,mediaTrack:e.audioTrack._mediaTrack}),e.videoTrack&&t.push({userId:"virtualStream-".concat(i),mediaType:"video",isScreen:!1,isPublic:!1,isVirtual:!0,orgTrack:e.videoTrack._originTrack,mediaTrack:e.videoTrack._mediaTrack})}),t}async function F5(e,t){if(!e)return;let i=new MediaStream;i.addTrack(e);let r=t.createMediaStreamSource(i),s=t.createAnalyser();r.connect(s),"suspended"===t.state&&(t.state,t.resume());let n=new Uint8Array(2048);s.getByteTimeDomainData(n),await new Promise(e=>{setTimeout(e,50)}),s.getByteTimeDomainData(n),await new Promise(e=>{setTimeout(e,50)});let a=0;n.forEach(e=>a=Math.max(a,Math.abs(e-128)));let o=a/128*256,l=o>2?o:0;return r.disconnect(),s.disconnect(),l}async function F9(e){let t=Date.now();if(o||(o=new AudioContext),"suspended"===o.state&&await new Promise(t=>{let i=setTimeout(()=>{o=F2(e),t()},1e3);o.resume().then(()=>{clearTimeout(i),t()},()=>{clearTimeout(i),o=null,t()})}),!o)return void console.error("[RTC_AMBULANCE] get volume is not supported");let i=F4(e),r=[];return await Promise.all(i.filter(e=>"audio"===e.mediaType).map(async e=>{let{orgTrack:t,mediaTrack:i,preprocessingTrack:s}=e,n=mr({},vr(e,FK));await Promise.all([F5(t,o).then(e=>{n.orgTrackVolume=e}),F5(i,o).then(e=>{n.mediaTrackVolume=e}),F5(s,o).then(e=>{n.preprocessingTrackVolume=e})]),r.push(n)})),{timestamp:t,trackVolumes:r}}async function F6(e){return{timestamp:Date.now(),trackStates:F4(e).map(e=>{let{orgTrack:t,mediaTrack:i,preprocessingTrack:r}=e,s=vr(e,FX);return mr({orgTrack:t?FG(F$.map(e=>[e,t[e]])):void 0,mediaTrack:i?FG(F$.map(e=>[e,i[e]])):void 0,preprocessingTrack:r?FG(F$.map(e=>[e,r[e]])):void 0},s)})}}function F8(e){if(!e)return;let t={track:e.track?e.track.id:void 0,transport:{state:e.transport?e.transport.state:void 0}};return e.transport&&e.transport.iceTransport&&(t.iceTransport={state:e.transport.iceTransport.state,role:e.transport.iceTransport.role,gatheringState:e.transport.iceTransport.gatheringState,component:e.transport.iceTransport.component}),t}async function F7(e){let t=Date.now(),i=[];e._ctx._handler&&e._ctx._handler._peerConnection&&(i=e._ctx._handler._peerConnection.getTransceivers());let r=[];return i.forEach(e=>{let t=mr({sender:F8(e.sender),receiver:F8(e.receiver)},FG(Fq.map(t=>[t,e[t]])));r.push(t)}),{timestamp:t,tranceiverStates:r}}async function Ue(e){let t={stats:[],mediaElementStates:[],audioContextStates:[],volumes:[],trackStates:[],tranceiverStates:[]},i=[];return await new Promise(r=>{let s,n=0,a=()=>{i.push(FQ(e).then(e=>{t.stats.push(e)}),F1(e).then(e=>{t.mediaElementStates.push(e)}),F3(e).then(e=>{t.audioContextStates.push(e)}),F9(e).then(e=>{t.volumes.push(e)}),F6(e).then(e=>{t.trackStates.push(e)}),F7(e).then(e=>{t.tranceiverStates.push(e)})),++n>=10?Promise.all(i).then(()=>{r()}):(clearTimeout(s),s=setTimeout(a,500))};s=setTimeout(a,500)}),t}class Ut{constructor(){dY(this,"containers",new WeakSet)}getContainerById(e){return document.getElementById(e)}registerContainer(e){var t;return"string"==typeof e&&(e=null!=(t=this.getContainerById(e))?t:void 0),!(!e||this.containers.has(e))&&(this.containers.add(e),!0)}unregisterContainer(e){var t;return"string"==typeof e&&(e=null!=(t=this.getContainerById(e))?t:void 0),!!e&&(this.containers.delete(e),!0)}}let Ui=["videoStats","audioStats"];var Ur,Us=Object.defineProperty,Un=Object.getOwnPropertyDescriptor,Ua=(e,t,i,r)=>{for(var s,n=r>1?void 0:r?Un(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&Us(t,i,n),n};let Uo=(Ur=class extends C5{constructor(e,t,i){var r;super(),r=this,dY(this,"monitor",void 0),dY(this,"logger",void 0),dY(this,"_room",void 0),dY(this,"_wtnStreamManager",void 0),dY(this,"_appId",void 0),dY(this,"_localImgVideoTrack",void 0),dY(this,"_localImgScreenTrack",void 0),dY(this,"_localScreenVideoTrack",void 0),dY(this,"_localScreenAudioTrack",void 0),dY(this,"_tempMixingAudioTrack",void 0),dY(this,"_localAudioVolume",100),dY(this,"_localScreenAudioVolume",100),dY(this,"_remoteAudioVolume",new Map),dY(this,"_remoteScreenAudioVolume",new Map),dY(this,"_localVideoPlayerConfig",{[ho.STREAM_INDEX_MAIN]:new Map,[ho.STREAM_INDEX_SCREEN]:new Map}),dY(this,"_remoteVideoPlayerConfig",{[ho.STREAM_INDEX_MAIN]:new Map,[ho.STREAM_INDEX_SCREEN]:new Map}),dY(this,"_publicStreamIds",new Map),dY(this,"_dummyMainImage",void 0),dY(this,"_dummyScreenImage",void 0),dY(this,"_trackSourceType",void 0),dY(this,"_liveTranscodeConfig",void 0),dY(this,"_startCloudProxyTimestamp",void 0),dY(this,"_pauseAllSubscribeState",{audio:void 0,video:void 0,resumeAudioStreamIds:{},resumeVideoStreamIds:{}}),dY(this,"_audioVolumeIndicationTimer",void 0),dY(this,"_dummyMainTimer",void 0),dY(this,"_dummyScreenTimer",void 0),dY(this,"_audioPropertiesReportTimer",null),dY(this,"_mirrorType",hp.MIRROR_TYPE_RENDER),dY(this,"_audioMixingManager",void 0),dY(this,"_pubLock",void 0),dY(this,"_subLocks",void 0),dY(this,"_audioCaptureLock",void 0),dY(this,"_videoCaptureLock",void 0),dY(this,"_screenCaptureLock",void 0),dY(this,"_subScreenLocks",void 0),dY(this,"_rtmClient",void 0),dY(this,"_messageStatisticsObserver",void 0),dY(this,"_waitForNewToken",!1),dY(this,"_originIceConfigRequestUrls",void 0),dY(this,"_originConfigServerUrls",void 0),dY(this,"_originLogServerUrl",void 0),dY(this,"_audioDeviceManager",void 0),dY(this,"_config",void 0),dY(this,"_needClosePreTrack",!1),dY(this,"_containerCollisionDetector",new Ut),dY(this,"_ctx",void 0),dY(this,"_removeDeviceEventHandler",void 0),dY(this,"_updateMixAudioTrack",async function(e){var t;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Od.PLAYOUT_AND_PUBLISH;(r.logger.info("_updateMixAudioTrack()"),r._localAudioTrack)?(e?(r._localAudioTrack.mixType=i,r._localAudioTrack.mixedAudioTrack=e):(delete r._localAudioTrack.mixType,delete r._localAudioTrack.mixedAudioTrack),await (null==(t=r._room)?void 0:t.hasPublished())&&await r._updatePublish(),r._wtnStreamManager._updatePushTrack()):e&&(r._tempMixingAudioTrack={track:e,type:i})}),dY(this,"_onVideoDeviceStateChange",e=>{this.safeEmit(bq.onVideoDeviceStateChanged,e)}),dY(this,"_onAudioDeviceStateChange",e=>{this.safeEmit(bq.onAudioDeviceStateChanged,e)}),dY(this,"_onAudioMixingMessage",e=>{this.safeEmit(bq.onAudioMixingStateChanged,e)}),dY(this,"_onAudioMixingAutoplayFailed",e=>{this.safeEmit(bq.onAutoplayFailed,e)}),dY(this,"_revokeAutoplayFailedWorkaround",void 0),this.id=t,this._appId=e,this.monitor=vH(t),this._ctx=new OZ(t,e,i),this._pubLock=new Az("pubLock"),this._subLocks=new Map,this._subScreenLocks=new Map,this._audioCaptureLock=new Az("audioCap"),this._videoCaptureLock=new Az("videoCap"),this._screenCaptureLock=new Az("screenCap"),this._addDeviceEventHandler(),this._audioDeviceManager=new FA(this._ctx),this._addSignalingEventHandler(),this._wtnStreamManager=new FI(this._ctx),this._addWTNStreamEventHandler(),xn&&(window.__rtc_engine__=this,window["__rtc_engine__".concat(Math.floor(100*Math.random()+1))]=this),this._trackSourceType={video:u6.VIDEO_SOURCE_TYPE_INTERNAL,screenVideo:u6.VIDEO_SOURCE_TYPE_INTERNAL,audio:u8.AUDIO_SOURCE_TYPE_INTERNAL,screenAudio:u8.AUDIO_SOURCE_TYPE_INTERNAL},this._config=i,this._rtmClient=new Fu(this._ctx),this._handleRTMClient(this._rtmClient),this._handleAudioDeviceManager(),this._messageStatisticsObserver=new vj(t),this.logger=new bn("Engine",0,t),vk(this.id),Uo.hasReportNativeDetector||(this.monitor.reportLongString("NativeDetector",JSON.stringify(xg)),Uo.hasReportNativeDetector=!0),this._initAutoplayFailedWorkaround()}get appId(){return this._appId}set appId(e){this._appId=e}async updateToken(e){if(this.logger.info("updateToken()","token: %s",e),b2(e,"token"),this._room&&this._waitForNewToken)return this._waitForNewToken=!1,this._room.config.token=e,await this._join(this._room);if(!this._room)throw new b$(bY.UPDATE_TOKEN_BEFORE_JOIN,"update token before join room");await this._room.updateToken(e);let t=[];if(this._room.config.tokenPublishPrivilegeExpired&&this._room.config.isAutoPublish&&this._ctx.visibility&&t.push(this._updatePublish({mediaType:hl.AUDIO_AND_VIDEO})),this._room.config.tokenSubscribePrivilegeExpired){let{isAutoSubscribeAudio:e,isAutoSubscribeVideo:i}=this._room.config,r=(e?hl.AUDIO:0)|(i?hl.VIDEO:0);r&&t.push(this._triedResumeAllRemoteStreams(r,!0))}await Promise.allSettled(t)}async setVideoCaptureDevice(e){var t;if(this.logger.info("setVideoCaptureDevice()","deviceId: %s",e),b2(e,"deviceId"),!this._localVideoTrack)return void this._ctx.videoProfile.setCaptureDeviceId(e);if(bS&&bC&&this._localVideoTrack.originTrack.getSettings().deviceId===e)return;let i=this._ctx.videoProfile.getCaptureConfig(e);bC&&bu&&bO>=85&&bO<=91&&(null==(t=this.localVideoTrack)||t.removePlayerTrack()),this._needClosePreTrack=this._needClosePreTrack||SV,this._needClosePreTrack&&(this._removeLocalTrackEvents(this._localVideoTrack),this._localVideoTrack.destroy(),delete this._localVideoTrack),this.logger.info("setVideoCaptureDevice()","start createCameraVideoTrack...");let r=await N8(this._ctx,i).catch(e=>{if(this._localVideoTrack&&!this._localVideoTrack.dummy)return this.logger.warn("setVideoCaptureDevice()","createCameraVideoTrack failed, stop pre VideoTrack."),this._removeLocalTrackEvents(this._localVideoTrack),this._localVideoTrack.destroy(),delete this._localVideoTrack,N8(this._ctx,i).then(e=>(this._needClosePreTrack=!0,e)).catch(async()=>{this.logger.error("setVideoCaptureDevice()","createCameraVideoTrack failed, rollback.");let t=await N8(this._ctx);throw this._switchTrack(t),e});throw e});this.logger.success("setVideoCaptureDevice()","createCameraVideoTrack success."),this._ctx.videoProfile.setCaptureDeviceId(e),this._localVideoTrack&&(this._removeLocalTrackEvents(this._localVideoTrack),this._localVideoTrack.destroy());let s=this._ctx.videoProfile.getContentHint();s&&r.setContentHint(s),await this._switchTrack(r)}async setAudioCaptureDevice(e){var t;if(this.logger.info("setAudioCaptureDevice()","deviceId: %s",e),b2(e,"deviceId"),this._ctx.audioProfileManager.updateConstraints({deviceId:{exact:e}}),!this._localAudioTrack)return;this._localAudioTrack.destroy(),this._removeLocalTrackEvents(this._localAudioTrack);let i=await N7(this._ctx,this._ctx.audioProfileManager.getConstraints());this._initLocalTrackEvents(i),this._localAudioTrack=i,this._localAudioTrack.setVolume(this._localAudioVolume),this._wtnStreamManager._updatePushTrack(),this._room&&null!=(t=this._room.localStream)&&t.pubAudio&&await this._updatePublish()}_addDeviceEventHandler(){NP.on(bq.onVideoDeviceStateChanged,this._onVideoDeviceStateChange),NP.on(bq.onAudioDeviceStateChanged,this._onAudioDeviceStateChange),this._removeDeviceEventHandler=()=>{NP.off(bq.onVideoDeviceStateChanged,this._onVideoDeviceStateChange),NP.off(bq.onAudioDeviceStateChanged,this._onAudioDeviceStateChange)}}_addSignalingEventHandler(){let e=this._ctx.signalingManager;e.on(wi.ON_CONNECTION_STATE_CHANGE,this._onConnectionStateChange.bind(this)),e.on(wi.ON_RECONNECT_FAILED,()=>{this.safeEmit(bq.onError,{errorCode:bY.RECONNECT_FAILED})}),e.on(wi.CONNECT_WITH_TCP,()=>{this.safeEmit(bq.onIceConnectWithTcp)})}_addWTNStreamEventHandler(){this._wtnStreamManager.__onResubscribe=e=>{let t=e.stream;t&&(t.audioTrack&&this._updateAudioPlayerState(t),t.videoTrack&&this._updateVideoPlayerState(t))},this._wtnStreamManager.__onRemoteStreamStats=e=>{this.safeEmit(bq.onPublicStreamStats,e)},this._wtnStreamManager.__onSEIMessageReceived=e=>{this.safeEmit(bq.onPublicStreamSEIMessageReceived,e)},this._wtnStreamManager.__onPlayerEvents=(e,t,i)=>{this._initPlayerEvents(e,t,i)}}_addHandlerEventHandler(){var e,t,i,r,s,n,a,o,l,c,d,u,h,p,m,f,g,_,y,v,b,S,k,x,C,w,E,T,I,R,N,A,M,P,j,L,D,O,F,U,V,B;null==(e=this._room)||e.on(we.ON_ADD_STREAM,this._onAddStream.bind(this)),null==(t=this._room)||t.on(we.ON_REMOVE_STREAM,this._onRemoveStream.bind(this)),null==(i=this._room)||i.on(we.USER_CONNECTION,this._onUserConnection.bind(this)),null==(r=this._room)||r.on(Av.ON_USER_LEAVE,this._onUserLeave.bind(this)),null==(s=this._room)||s.on(Av.ON_ROOM_ERROR,this._onRoomError.bind(this)),null==(n=this._room)||n.on(Av.ON_NETWORK_QUALITY,this._onNetworkQuality.bind(this)),null==(a=this._room)||a.on(we.ON_CUSTOM_MESSAGE,this._onCustomMessage.bind(this)),null==(o=this._room)||o.on(we.USER_MESSAGE_RECEIVED,this._onUserMessageReceived.bind(this)),null==(l=this._room)||l.on(we.USER_BINARY_MESSAGE_RECEIVED,this._onUserBinaryMessageReceived.bind(this)),null==(c=this._room)||c.on(we.ON_USER_TOKEN_WILL_EXPIRE,this._onUserTokenWillExpire.bind(this)),null==(d=this._room)||d.on(we.ON_TOKEN_PUBLISH_PRIVILEGE_WILL_EXPIRE,this._onUserTokenPublishPrivilegeWillExpire.bind(this)),null==(u=this._room)||u.on(we.ON_TOKEN_PUBLISH_PRIVILEGE_DID_EXPIRED,this._onUserTokenPublishPrivilegeDidExpired.bind(this)),null==(h=this._room)||h.on(we.ON_TOKEN_SUBSCRIBE_PRIVILEGE_WILL_EXPIRE,this._onUserTokenSubscribePrivilegeWillExpire.bind(this)),null==(p=this._room)||p.on(we.ON_TOKEN_SUBSCRIBE_PRIVILEGE_DID_EXPIRED,this._onUserTokenSubscribePrivilegeDidExpired.bind(this)),null==(m=this._room)||m.on(we.POST_PROCESSING_MESSAGE,e=>{var t;"2.0"===(null==(t=e)?void 0:t.protocol)?this._onStreamMixingEvent({error:e.error,event:e.eventType,message:e.message}):"publicStreamCallback"===e.type?this._onPushPublicStreamResult(e):"transcodeStatusCallback"===e.type&&this._onLiveTranscodingResult(e)}),null==(f=this._room)||f.on(wi.ON_VENDOR_CONNECTION_STATE_CHANGE,e=>this.safeEmit(bq.onVendorConnectionStateChanged,e)),null==(g=this._room)||g.on(Av.RESUBSCRIBE,this._onResubscribe.bind(this)),null==(_=this._room)||_.on(Av.SUBSCRIBE_PUSH_TRACK,this._onSubscribePushTrack.bind(this)),null==(y=this._room)||y.on(Av.REMOVE_PUSH_TRACK,this._onRemovePushTrack.bind(this)),null==(v=this._room)||v.on(Av.ON_PUBLISH_RESULT,e=>{var t,i,r;e.state===hs.PUBLISH_SUCC&&(null==(i=this._room)||i.config.setTokenPublishPrivilegeExpired(!1)),e.state===hs.PUBLISH_FAIL&&e.errorCode===bY.TOKEN_NO_PUBLISH_PERMISSION&&(null==(r=this._room)||r.config.setTokenPublishPrivilegeExpired(!0));let s=!(e.retry||null==(t=this._room)||!t.config.isAutoPublish);s&&this.safeEmit(bq.onAutoPublishResult,e),this.safeEmit(bq.onPublishResult,{isScreen:e.isScreen,isAutoPublish:s,errorCode:e.errorCode})}),null==(b=this._room)||b.on(Av.ON_SUBSCRIBE_RESULT,e=>{var t;e.state===hr.SUBSCRIBE_SUCC&&(null==(t=this._room)||t.config.setTokenSubscribePrivilegeExpired(!1)),e.state===hr.SUBSCRIBE_FAIL&&e.errorCode===bY.TOKEN_NO_SUBSCRIBE_PERMISSION&&this._handleLoseSubscribePrivilege(),this.safeEmit(bq.onSubscribeResult,{userId:e.userId,isScreen:e.isScreen,isAutoSubscribe:!1,errorCode:e.errorCode})}),null==(S=this._room)||S.on(Av.ON_REMOTE_STREAM_STATS,e=>{this.safeEmit(bq.onRemoteStreamStats,e)}),null==(k=this._room)||k.on(Av.ON_LOCAL_STREAM_STATS,e=>{this.safeEmit(bq.onLocalStreamStats,e)}),null==(x=this._room)||x.on(Av.ON_SUBTITLE_STATE_CHANGED,e=>{this.safeEmit(bq.onSubtitleStateChanged,e)}),null==(C=this._room)||C.on(Av.ON_SUBTITLE_MESSAGE_RECEIVED,e=>{this.safeEmit(bq.onSubtitleMessageReceived,e)}),null==(w=this._room)||w.on(Av.ON_USER_PUBLISH_STATE_CHANGE,this._onUserPublishStateChange.bind(this)),null==(E=this._room)||E.on(Av.ON_USER_START_AUDIO_CAPTURE,(e,t)=>{let{userId:i}=e;this._updateAudioPlayerState(t),this.safeEmit(bq.onUserStartAudioCapture,{userId:i})}),null==(T=this._room)||T.on(Av.ON_USER_STOP_AUDIO_CAPTURE,e=>{let{userId:t}=e;this.safeEmit(bq.onUserStopAudioCapture,{userId:t})}),null==(I=this._room)||I.on(Av.ON_USER_START_VIDEO_CAPTURE,e=>{let{userId:t}=e;this.safeEmit(bq.onUserStartVideoCapture,{userId:t})}),null==(R=this._room)||R.on(Av.ON_USER_STOP_VIDEO_CAPTURE,e=>{let{userId:t}=e;this.safeEmit(bq.onUserStopVideoCapture,{userId:t})}),null==(N=this._room)||N.on(Av.ON_SEI_MESSAGED_RECEIVED,e=>{this.safeEmit(bq.onSEIMessageReceived,e)}),null==(A=this._room)||A.on(Av.ON_REMOTE_VIDEO_SIZE_CHANGED,(e,t)=>{this.safeEmit(bq.onRemoteVideoSizeChanged,e,t)}),null==(M=this._room)||M.on(Av.ON_SIMULCAST_SUBSCRIBE_FALLBACK,e=>this.safeEmit(bq.onSimulcastSubscribeFallback,e)),null==(P=this._room)||P.on(Av.ON_VIDEO_STREAM_BANNED,e=>{this.safeEmit(bq.onVideoStreamBanned,{uid:e.uid,banned:e.banned})}),null==(j=this._room)||j.on(Av.ON_AUDIO_STREAM_BANNED,e=>{this.safeEmit(bq.onAudioStreamBanned,{uid:e.uid,banned:e.banned})}),null==(L=this._room)||L.on(Av.ON_FORWARD_STREAM_ERROR,e=>{this.safeEmit(bq.onForwardStreamError,e)}),null==(D=this._room)||D.on(Av.ON_REJOIN_WITH_TCP,()=>{this.safeEmit(bq.onRejoinWithTcp)}),null==(O=this._room)||O.on(Av.PUB_RETRY,e=>{this.safeEmit(bq.onPublishRetry,e)}),null==(F=this._room)||F.on(Av.SUB_RETRY,e=>{this.safeEmit(bq.onSubscribeRetry,e)}),null==(U=this._room)||U.on(Av.VIDEO_TYPE_CHANGE,e=>{this.safeEmit(bq.onSEIStreamUpdate,e)}),null==(V=this._room)||V.on(Av.JOIN_SUCCESS,e=>{this._ctx.isPreConnection||this.safeEmit(bq.onConnectionStateChanged,{state:e?hd.CONNECTION_STATE_RECONNECTED:hd.CONNECTION_STATE_CONNECTED})}),null==(B=this._room)||B.on(Av.UPDATE_PUBLISH,e=>{let{streamIndex:t}=e;t===ho.STREAM_INDEX_MAIN?this._updatePublish():t===ho.STREAM_INDEX_SCREEN&&this._updateScreenPublish()})}safeEmit(e){for(var t=arguments.length,i=Array(t>1?t-1:0),r=1;r{this.logger.error("_join","_updatePublish failed",e)}):(this.safeEmit(bq.onAutoPublishResult,{isScreen:!1,state:hs.PUBLISH_FAIL}),this.safeEmit(bq.onPublishResult,{isScreen:!1,isAutoPublish:!0,errorCode:bY.NO_PUBLISH_PERMISSION}))),this.monitor.set({rtc_vid:e.config.rtcVid}),vC(this.id,e.config.roomId),vw(this.id,e.config.userId),i}catch(t){throw t.code===bY.INVALID_TOKEN?this._waitForNewToken=!0:(e.destroy(),this._room===e&&delete this._room),t}}async leaveRoom(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger.info("leaveRoom()");let t=this._room;delete this._room,this._ctx.resetPubSubLock(OH.LEAVE),this._ctx.callId=void 0,e?await (null==t?void 0:t.leave(e)):null==t||t.leave(e).catch(),this._removeHandlerEventHandler(),this._subLocks=new Map,this._subScreenLocks=new Map,this._ctx.audioProfileManager.setRoomId(),this._liveTranscodeConfig&&this.stopLiveTranscoding(),null==t||t.destroy(),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_MAIN].forEach(e=>{e.forEach(e=>{let{player:t,renderDom:i}=e;null==t||t.destroy(),this._containerCollisionDetector.unregisterContainer(i)})}),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_MAIN].clear(),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].forEach(e=>{e.forEach(e=>{let{player:t,renderDom:i}=e;null==t||t.destroy(),this._containerCollisionDetector.unregisterContainer(i)})}),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].clear(),this._publicStreamIds=new Map,vC(this.id,""),vw(this.id,""),this.monitor.set({rtc_session_id:"",rtc_vid:""})}_destroyLocalTrack(){this._localAudioTrack&&(this._removeLocalTrackEvents(this._localAudioTrack),this._localAudioTrack.destroy(),this._localAudioTrack=void 0),this._localVideoTrack&&(this._removeLocalTrackEvents(this._localVideoTrack),this._localVideoTrack.destroy(),this._localVideoTrack=void 0),this._localScreenAudioTrack&&(this._removeLocalTrackEvents(this._localScreenAudioTrack),this._localScreenAudioTrack.destroy(),this._localScreenAudioTrack=void 0),this._localScreenVideoTrack&&(this._removeLocalTrackEvents(this._localScreenVideoTrack),this._localScreenVideoTrack.destroy(),this._localScreenVideoTrack=void 0),this._localImgVideoTrack&&(this._localImgVideoTrack.stop(),this._localImgVideoTrack=void 0),this._localImgScreenTrack&&(this._localImgScreenTrack.stop(),this._localImgScreenTrack=void 0)}destroy(){var e,t,i,r;this.logger.info("destroy()"),this.removeAllListeners(),this._removeHandlerEventHandler(),null==(e=this._removeDeviceEventHandler)||e.call(this),null==(t=this._revokeAutoplayFailedWorkaround)||t.call(this),null==(i=this._room)||i.destroy(),this._room=void 0,this._subLocks=new Map,this._subScreenLocks=new Map,this._audioCaptureLock=new Az("audioCap"),this._videoCaptureLock=new Az("videoCap"),this._screenCaptureLock=new Az("screenCap"),this._pauseAllSubscribeState={audio:void 0,video:void 0,resumeVideoStreamIds:{},resumeAudioStreamIds:{}},this._messageStatisticsObserver.destroy(),this.monitor.destroy(),vx(this.id),clearInterval(this._audioVolumeIndicationTimer),clearInterval(this._dummyMainTimer),clearInterval(this._dummyScreenTimer),this._audioVolumeIndicationTimer=void 0,this._stopAudioPropertiesReport(),this._destroyLocalTrack(),null==(r=this._audioMixingManager)||r.destroy(),this._rtmClient.destroy(),this._wtnStreamManager.destroy(),this._publicStreamIds=new Map,this._audioDeviceManager.destroy(),this._ctx.destroy(),this._localAudioVolume=100,this._localScreenAudioVolume=100,this._remoteAudioVolume.clear(),this._remoteScreenAudioVolume.clear(),this._localVideoPlayerConfig[ho.STREAM_INDEX_MAIN].forEach(e=>{e.player.destroy()}),this._localVideoPlayerConfig[ho.STREAM_INDEX_MAIN].clear(),this._localVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].forEach(e=>{e.player.destroy()}),this._localVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].clear(),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_MAIN].forEach(e=>{e.forEach(e=>{e.player.destroy()})}),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_MAIN].clear(),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].forEach(e=>{e.forEach(e=>{e.player.destroy()})}),this._remoteVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].clear()}async publishStream(e){this.logger.info("publishStream()","mediaType: %o",e),this._checkMediaType(e),this._assertNotInRoom(),k4(e)&&!this._localVideoTrack&&this._localImgVideoTrack&&(this._localVideoTrack=await N9(this._ctx,this._localImgVideoTrack)),await this._updatePublish({mediaType:e},!0)}async unpublishStream(e,t){var i;if(this.logger.info("unpublishStream()","mediaType: %o",e),this._checkMediaType(e),this._assertNotInRoom(),t)return null==(i=this._room)?void 0:i.unpublish();await this._updatePublish({mediaType:e,pubState:AS.UNPUB},!0)}async publishScreen(e){this.logger.info("publishScreen()","mediaType: %o",e),this._checkMediaType(e),this._assertNotInRoom();try{k4(e)&&!this._localScreenVideoTrack&&this._localImgScreenTrack&&(this._localScreenVideoTrack=await N6(this._ctx,this._localImgScreenTrack)),await this._updateScreenPublish({mediaType:e,pubState:AS.PUB})}catch(e){throw e instanceof b$?e:new b$(bY.UNEXPECTED_ERROR,"unexpected error",e)}}async unpublishScreen(e){this.logger.info("unpublishScreen()","mediaType: %o",e),this._checkMediaType(e),this._assertNotInRoom(),await this._updateScreenPublish({mediaType:e,pubState:AS.UNPUB})}async subscribeStream(e,t){return this.logger.info("subscribeStream()","userId: %o, mediaType: %o",e,t),this._subscribe(!1,e,t)}async _subscribe(e,t,i){var r,s,n,a,o,l;let c=i;if(i===hl.AUDIO&&null!=(r=this._room)&&r.config.isMultiChatMode())return void this.logger.warn("subscribeStream()","due to multiChatMode return");let d=this._room.remoteStreams.get(t),u=null==d?void 0:d.find(t=>t.isScreen===e);if(!u)throw new b$(bY.STREAM_NOT_EXIST,"stream not exist");let h=this._pauseAllSubscribeState.audio,p=this._pauseAllSubscribeState.video;this._pauseAllSubscribeState.audio&&(i-=i&hl.AUDIO),this._pauseAllSubscribeState.video&&(i-=i&hl.VIDEO),this.logger.warn("subscribeStream()","due to pauseAll mediaType: %o",i);let{hasSubscribed:m}=u;u.originalMediaType=i;try{await this._room.subscribe(u,i),k3(i)&&this._updateAudioPlayerState(u),k4(i)&&this._updateVideoPlayerState(u);let r=0,d=0;if(h!==this._pauseAllSubscribeState.audio&&(this._pauseAllSubscribeState.audio?r|=hl.AUDIO:d|=hl.AUDIO),p!==this._pauseAllSubscribeState.video&&(this._pauseAllSubscribeState.video?r|=hl.VIDEO:d|=hl.VIDEO),r&&this.pauseAllSubscribedStream(r),d&&this.resumeAllSubscribedStream(d),k3(c)&&(this._pauseAllSubscribeState.resumeAudioStreamIds[u.streamId]=u.streamId),k4(c)&&(this._pauseAllSubscribeState.resumeVideoStreamIds[u.streamId]=u.streamId),u.audioTrack||u.videoTrack){let i=!(e||!(null!=(n=this._room)&&n.config.isAutoSubscribeAudio||null!=(a=this._room)&&a.config.isAutoSubscribeVideo)),r={userId:t,isScreen:!1,state:hr.SUBSCRIBE_SUCC};i&&this.safeEmit(bq.onAutoSubscribeResult,r),this.safeEmit(bq.onSubscribeResult,{userId:t,isScreen:e,isAutoSubscribe:i})}(null==(s=this._room)||!s.config.isMultiChatMode())&&!m&&k3(i)&&u.hasAudio&&(null==(o=u.observer)||o.setSubscribeAudio(!0)),!m&&k4(i)&&u.hasVideo&&(null==(l=u.observer)||l.setSubscribeVideo(!0))}catch(e){throw e instanceof b$&&e.code===bY.TOKEN_NO_SUBSCRIBE_PERMISSION&&this._handleLoseSubscribePrivilege(),e}}async _handleLoseSubscribePrivilege(){var e;null==(e=this._room)||e.config.setTokenSubscribePrivilegeExpired(!0);try{await this._unSubscribeAllRemoteStreams()}catch(e){}}async unsubscribeStream(e,t){return this.logger.info("unsubscribeStream()","userId: %o, mediaType: %o",e,t),this._unsubscribe(!1,e,t)}async subscribeScreen(e,t){return this.logger.info("subscribeScreen() userId: %o, mediaType: %o",e,t),this._subscribe(!0,e,t)}async unsubscribeScreen(e,t){return this.logger.info("unsubscribeScreen() userId: %o, mediaType: %o",e,t),this._unsubscribe(!0,e,t)}_unsubscribe(e,t,i,r){var s,n;if(i===hl.AUDIO&&null!=(s=this._room)&&s.config.isMultiChatMode())return void this.logger.warn("subscribeStream()","due to multiChatMode return");let a=this._room.remoteStreams.get(t),o=null==a?void 0:a.find(t=>t.isScreen===e);if(!o)throw new b$(bY.STREAM_NOT_EXIST,"stream not exist");return bC&&bO&&bO>=85&&bO<=91&&i!==hl.AUDIO&&(null==(n=o.videoTrack)||n.stopAll()),this._room.unsubscribe(o,i).then(()=>{r||(k3(i)&&delete this._pauseAllSubscribeState.resumeAudioStreamIds[o.streamId],k4(i)&&delete this._pauseAllSubscribeState.resumeVideoStreamIds[o.streamId])})}async setRemoteVideoConfig(e,t){var i;return this.logger.info("setRemoteVideoConfig() userId: %o, remoteVideoConfig: %o",e,t),this._ctx.videoProfile.checkSimulcastApiVersion("old"),Si(e),Sd(t),this._ctx.videoProfile.setRemoteUserVideoConfig(e,t),null==(i=this._room)?void 0:i.updateSubVideoConfig(e).then(()=>{})}async setRemoteSimulcastStreamType(e,t){var i;this.logger.info("setRemoteSimulcastStreamType()","userId: %s, streamType: %s",e,t),this._ctx.videoProfile.checkSimulcastApiVersion("new"),Si(e),b3(t,"SimulcastStreamType",[hL.VIDEO_STREAM_HIGH,hL.VIDEO_STREAM_MID,hL.VIDEO_STREAM_LOW]),this._ctx.videoProfile.setRemoteUserVideoConfig(e,t),await (null==(i=this._room)?void 0:i.updateSubVideoConfig(e))}async startVideoCapture(e){var t,i;if(this.logger.info("startVideoCapture()","deviceId: %s",e),Se(e)||b2(e,"deviceId"),e&&this._ctx.videoProfile.setCaptureDeviceId(e),this._trackSourceType.video===u6.VIDEO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setVideoSourceType as internal first");if(this._localVideoTrack&&!this._localVideoTrack.dummy)throw new b$(bY.REPEAT_CAPTURE,"Has already capture");let r={},s=await N8(this._ctx),n=this._ctx.videoProfile.getContentHint();n&&s.setContentHint(n),this._initLocalTrackEvents(s),this._localVideoTrack=s,this._localVideoPlayerConfig[ho.STREAM_INDEX_MAIN].forEach(e=>{var t,i;null==(t=this._localVideoTrack)||t.setPlayer(e,this._mirrorType,null==(i=this._config)?void 0:i.autoPlayPolicy,this._initPlayerEvents.bind(this))});let a={width:(r=s.originTrack.getSettings()).width,height:r.height};if(this._localVideoTrack.resolution=a,this._ctx.videoProfile.__autoResetVideoEncoderConfig(r),setTimeout(()=>this.safeEmit(bq.onLocalVideoSizeChanged,{streamIndex:ho.STREAM_INDEX_MAIN,info:a})),this._ctx.engineDestroyed)return this._destroyLocalTrack(),r;if(this._wtnStreamManager._updatePushTrack(),!this._room)return r;let{isAutoPublish:o}=this._room.config;return(null!=(t=this._room.localStream)&&t.pubVideo||o)&&this._ctx.visibility&&this._updatePublish(),null==(i=this._room.localStream)||null==(i=i.observer)||i.setEnableVideo(!0),r}async getLocalStreamStats(){var e;return await (null==(e=this._room)?void 0:e.getLocalStreamStats())}async stopVideoCapture(){var e,t;if(this.logger.info("stopVideoCapture()"),this._trackSourceType.video===u6.VIDEO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setVideoSourceType as internal first");if(this._localVideoTrack&&!this._localVideoTrack.dummy){let e=this._ctx.extensionManager.getPluginByName(Ny.PRE_PROCESSING,"RTCBeautyExtension");e&&e.emit("stop"),this._removeLocalTrackEvents(this._localVideoTrack),this._localVideoTrack.destroy(),this._localImgVideoTrack?this._localVideoTrack.setTrack(this._localImgVideoTrack,{isDummy:!0}):this._localVideoTrack=void 0}this._wtnStreamManager._updatePushTrack(),this._room&&(null!=(e=this._room.localStream)&&e.pubVideo&&await this._updatePublish(),null==(t=this._room.localStream)||null==(t=t.observer)||t.setEnableVideo(!1))}async startAudioCapture(e){var t,i;if(this.logger.info("startAudioCapture()","deviceId: $o",e),Se(e)||b2(e,"deviceId"),e&&this._ctx.audioProfileManager.updateConstraints({deviceId:{exact:e}}),this._trackSourceType.audio===u8.AUDIO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setAudioSourceType as internal first");if(this._localAudioTrack)throw new b$(bY.REPEAT_CAPTURE,"Has already capture");let r={},s=await N7(this._ctx,this._ctx.audioProfileManager.getConstraints());r=s.originTrack.getSettings(),this._initLocalTrackEvents(s),this._localAudioTrack=s,this._localAudioTrack.setVolume(this._localAudioVolume);let{frameSize:n,callback:a}=this._ctx._localAudioTrackDumpConfig[ho.STREAM_INDEX_MAIN];n&&a&&this._localAudioTrack.setDataFetcher(n,a);let{position:o,volume:l}=this._ctx.earMonitorSettings[ho.STREAM_INDEX_MAIN];if(o!==hD.NONE&&(this._localAudioTrack.play(o),this._localAudioTrack.setPlaybackVolume(l)),this._tempMixingAudioTrack&&(this._localAudioTrack.mixType=this._tempMixingAudioTrack.type,this._localAudioTrack.mixedAudioTrack=this._tempMixingAudioTrack.track,delete this._tempMixingAudioTrack),this._ctx.engineDestroyed)return this._destroyLocalTrack(),r;if(this._wtnStreamManager._updatePushTrack(),!this._room)return r;let{isAutoPublish:c}=this._room.config;return(null!=(t=this._room.localStream)&&t.pubAudio||c)&&this._ctx.visibility&&this._updatePublish(),null==(i=this._room.localStream)||null==(i=i.observer)||i.setEnableAudio(!0),r}async stopAudioCapture(){var e,t,i;if(this.logger.info("stopAudioCapture()"),this._trackSourceType.audio===u8.AUDIO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setAudioSourceType as internal first");this._localAudioTrack&&(this._removeLocalTrackEvents(this._localAudioTrack),this._localAudioTrack.destroy()),this._localAudioTrack=void 0,null==(e=this._audioMixingManager)||e.stopAll(),this._wtnStreamManager._updatePushTrack(),this._room&&(null!=(t=this._room.localStream)&&t.pubAudio&&await this._updatePublish(),null==(i=this._room.localStream)||null==(i=i.observer)||i.setEnableAudio(!1))}async startAudioAndVideoCapture(e,t){var i,r,s,n;this.logger.print("startAudioAndVideoCapture","optionsOrAudioDeviceId: $o",e,"videoDeviceId: $o",t);let{audioDeviceId:a,videoDeviceId:o}=Sm(e,t);if(a&&this._ctx.audioProfileManager.updateConstraints({deviceId:{exact:a}}),this._trackSourceType.video===u6.VIDEO_SOURCE_TYPE_EXTERNAL||this._trackSourceType.audio===u8.AUDIO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,this._trackSourceType.video===u6.VIDEO_SOURCE_TYPE_EXTERNAL?"setVideoSourceType as internal first":"setAudioSourceType as internal first");if(this._localVideoTrack&&!this._localVideoTrack.dummy)throw new b$(bY.REPEAT_CAPTURE,"video has already capture");if(this._localAudioTrack)throw new b$(bY.REPEAT_CAPTURE,"audio has already capture");let l=this._ctx.videoProfile.getCaptureConfig(o),c={},d={},{audioTrack:u,videoTrack:h}=await Ae(this._ctx,this._ctx.audioProfileManager.getConstraints(),l),p=this._ctx.videoProfile.getContentHint();p&&h.setContentHint(p),o&&this._ctx.videoProfile.setCaptureDeviceId(o),this._initLocalTrackEvents(h),this._localVideoTrack=h,this._localVideoPlayerConfig[ho.STREAM_INDEX_MAIN].forEach(e=>{var t,i;null==(t=this._localVideoTrack)||t.setPlayer(e,this._mirrorType,null==(i=this._config)?void 0:i.autoPlayPolicy,this._initPlayerEvents.bind(this))}),this._initLocalTrackEvents(u),this._localAudioTrack=u,this._localAudioTrack.setVolume(this._localAudioVolume);let{frameSize:m,callback:f}=this._ctx._localAudioTrackDumpConfig[ho.STREAM_INDEX_MAIN];m&&f&&this._localAudioTrack.setDataFetcher(m,f),this._tempMixingAudioTrack&&(this._localAudioTrack.mixType=this._tempMixingAudioTrack.type,this._localAudioTrack.mixedAudioTrack=this._tempMixingAudioTrack.track,delete this._tempMixingAudioTrack);let g=h.originTrack,_={width:(c=g.getSettings()).width||0,height:c.height||0};if(this._localVideoTrack.resolution=_,this._ctx.videoProfile.__autoResetVideoEncoderConfig(c),setTimeout(()=>this.safeEmit(bq.onLocalVideoSizeChanged,{streamIndex:ho.STREAM_INDEX_MAIN,info:_})),d=(g=u.originTrack).getSettings(),this._ctx.engineDestroyed)return this._destroyLocalTrack(),{audioTrackSettings:d,videoTrackSettings:c};if(this._wtnStreamManager._updatePushTrack(),!this._room)return{audioTrackSettings:d,videoTrackSettings:c};let{isAutoPublish:y}=this._room.config;return(null!=(i=this._room.localStream)&&i.pubVideo||null!=(r=this._room.localStream)&&r.pubAudio||y)&&this._ctx.visibility&&this._updatePublish(),null==(s=this._room.localStream)||null==(s=s.observer)||s.setEnableVideo(!0),null==(n=this._room.localStream)||null==(n=n.observer)||n.setEnableAudio(!0),{audioTrackSettings:d,videoTrackSettings:c}}async startVideoAndAudioCapture(e,t){return this.startAudioAndVideoCapture(t,e)}getAudioMixingManager(){return this.logger.info("getAudioMixingManager()","invoke"),this._audioMixingManager||(this._audioMixingManager=new Fd({getLocalAudioTrack:()=>this._localAudioTrack,updateLocalAudioTrack:this._updateMixAudioTrack,emitMessage:this._onAudioMixingMessage,onAutoPlayFailed:this._onAudioMixingAutoplayFailed},this.id)),this._audioMixingManager}getWTNStreamManager(){return this._wtnStreamManager}getCallId(){var e;return null==(e=this._ctx)?void 0:e.callId}async startScreenCapture(){var e,t,i;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.logger.info("startScreenCapture()","config: %o",r),this._trackSourceType.screenVideo===u6.VIDEO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setVideoSourceType as internal first");if(this._trackSourceType.screenAudio===u8.AUDIO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setAudioSourceType as internal first");let[s,n]=await At(this._ctx,r);null==n||n.setVolume(this._localScreenAudioVolume),this._localScreenVideoTrack&&!this._localScreenVideoTrack.dummy&&(this._removeLocalTrackEvents(this._localScreenVideoTrack),this._localScreenVideoTrack.destroy()),null==(e=this._localScreenAudioTrack)||e.destroy(),delete this._localScreenAudioTrack,this._localScreenVideoTrack=s;let{contentHint:a}=this._ctx.videoProfile.getScreenEncodeConfig();a&&s.setContentHint(a);let o=s.originTrack;setTimeout(()=>{let e=o.getSettings();s.resolution={width:e.width,height:e.height},this.safeEmit(bq.onLocalVideoSizeChanged,{streamIndex:ho.STREAM_INDEX_SCREEN,info:{width:e.width,height:e.height}})},500),n&&(this._localScreenAudioTrack=n,this._initLocalTrackEvents(n)),this._localVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].forEach(e=>{var t,i;null==(t=this._localScreenVideoTrack)||t.setPlayer(e,hp.MIRROR_TYPE_NONE,null==(i=this._config)?void 0:i.autoPlayPolicy,this._initPlayerEvents.bind(this))}),this._initLocalTrackEvents(this._localScreenVideoTrack,!0),(null!=(t=this._room)&&null!=(t=t.localScreenStream)&&t.pubAudio||null!=(i=this._room)&&null!=(i=i.localScreenStream)&&i.pubVideo)&&await this._updateScreenPublish()}async stopScreenCapture(){var e,t,i,r;this.logger.info("stopScreenCapture()"),null==(e=this._localScreenVideoTrack)||e.stopAll(),this._localScreenVideoTrack&&(this._localScreenVideoTrack.dummy||(this._removeLocalTrackEvents(this._localScreenVideoTrack),this._localScreenVideoTrack.destroy(),this._localImgScreenTrack&&this._localScreenVideoTrack.setTrack(this._localImgScreenTrack,{isDummy:!0}))),this._localScreenAudioTrack&&(this._removeLocalTrackEvents(this._localScreenAudioTrack),this._localScreenAudioTrack.destroy()),this._localScreenAudioTrack=void 0,null!=(t=this._localScreenVideoTrack)&&t.dummy||(this._localScreenVideoTrack=void 0),(null!=(i=this._room)&&null!=(i=i.localScreenStream)&&i.pubAudio||null!=(r=this._room)&&null!=(r=r.localScreenStream)&&r.pubVideo)&&await this._updateScreenPublish()}setLocalVideoPlayer(e,t){var i,r,s,n,a,o;this.logger.info("setLocalVideoPlayer()","streamIndex: %o, videoPlayerOption: %o",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]);let l=e===ho.STREAM_INDEX_MAIN?this._localVideoTrack:this._localScreenVideoTrack,c=null!=(i=null==t?void 0:t.playerId)?i:NF;if(null==t||!t.renderDom){null==(r=this._localVideoPlayerConfig[e].get(c))||null==(r=r.player)||r.destroy(),null==l||l.removePlayer(c);let t=null==(s=this._localVideoPlayerConfig[e].get(c))?void 0:s.renderDom;return this._containerCollisionDetector.unregisterContainer(t),void this._localVideoPlayerConfig[e].delete(c)}So(t);let d=this._localVideoPlayerConfig[e].get(c);if(!d){let{renderDom:i}=t;if(!this._containerCollisionDetector.registerContainer(i))return void this.monitor.report("rtc_error",{message:"RenderDom is not empty",error_code:Nj.DUPLICATE_DOM});let r=new NZ(this._ctx.id,c,mr(mr({},t),{},{isLocal:!0,isScreen:e===ho.STREAM_INDEX_SCREEN,userId:null!=(n=t.userId)?n:"_local_"})),s=mr(mr({},t),{},{player:r});return this._localVideoPlayerConfig[e].set(c,s),null==l||l.setPlayer(s,e===ho.STREAM_INDEX_MAIN?this._mirrorType:hp.MIRROR_TYPE_NONE,null==(a=this._config)?void 0:a.autoPlayPolicy,this._initPlayerEvents.bind(this)),null==(o=s.player)?void 0:o.domElement}void 0!==t.renderMode&&(null==l||l.setRenderMode(c,t.renderMode),d.renderMode=t.renderMode)}async startLiveTranscoding(e){var t;this.logger.info("startLiveTranscoding()","transcode: %o",e),FF(e),this._liveTranscodeConfig=e;let i=null==(t=this._room)?void 0:t.config;if(i&&i.roomId.length+i.userId.length>126)throw new b$(bY.INVALID_PARAMS,"The roomId+userId must be within 126 bytes");try{this.safeEmit(bq.onStreamMixingEvent,{event:Ab.START,error:0,message:""}),this._room&&this._ctx.signalingManager.isConnected()&&await this._room.liveControlMessage(FV(this._liveTranscodeConfig))}catch(e){throw e instanceof b$?e:new b$(bY.UNEXPECTED_ERROR,"unexpected error",e)}}async updateLiveTranscoding(e){var t,i,r;if(this.logger.info("updateLiveTranscoding()","transcode: %o",e),!this._liveTranscodeConfig)return;let s=AO({},e);delete s.audio,null==(t=s.video)||delete t.codec,null==(i=s.video)||delete i.gop,FU(s),this._liveTranscodeConfig=AO(this._liveTranscodeConfig,s);try{this.safeEmit(bq.onStreamMixingEvent,{event:Ab.UPDATE,error:0,message:""}),await (null==(r=this._room)?void 0:r.liveControlMessage(FB(this._liveTranscodeConfig)))}catch(e){throw e instanceof b$?e:new b$(bY.UNEXPECTED_ERROR,"unexpected error",e)}}async stopLiveTranscoding(){if(this.logger.info("stopLiveTranscoding()"),this._liveTranscodeConfig){delete this._liveTranscodeConfig;try{var e;this.safeEmit(bq.onStreamMixingEvent,{event:Ab.STOP,error:0,message:""}),await (null==(e=this._room)?void 0:e.liveControlMessage({action:"stopped",type:"transcode"}))}catch(e){throw e instanceof b$?e:new b$(bY.UNEXPECTED_ERROR,"unexpected error",e)}}}async startSubtitle(e){var t;this.logger.info("startSubtitle()","config: %o",e),this._assertNotInRoom(),await (null==(t=this._room)?void 0:t.startSubtitle(e))}async updateSubtitleConfig(e){var t;this.logger.info("updateSubtitleConfig()","config: %o",e),this._assertNotInRoom(),await (null==(t=this._room)?void 0:t.updateSubtitleConfig(e))}stopSubtitle(){var e;this.logger.info("stopSubtitle()","invoke"),null==(e=this._room)||e.stopSubtitle()}setBusinessId(e){return this.logger.info("setBusinessId()","businessId: %s",e),!Ss(e)&&!this._room&&(this._ctx.businessId=e,!0)}async setUserVisibility(e){var t,i;if(this.logger.info("setUserVisibility()","enable: %o",e),e=!!e,this._ctx.visibility!==e)if(this._room){if(this._assertNotInRoom(),this._room.localStream&&(null==(i=this._room.localStream.observer)||i.setPublisher(e)),!e){let e=await this._pubLock.lock();try{this._room.unpublish(),this._room.unpublishScreen()}finally{e()}}this._ctx.visibility=e;try{await this._room.updateUserAttributes()}catch(t){throw this._ctx.visibility=!e,t}e&&null!=(t=this._room)&&t.config.isAutoPublish&&this._updatePublish({mediaType:hl.AUDIO_AND_VIDEO})}else this._ctx.visibility=e}_initPlayerEvents(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:ho.STREAM_INDEX_MAIN)===ho.STREAM_INDEX_SCREEN;e.on("playback_event",r=>{var s,n,a;switch(r.eventName){case"timeupdate":if(!e.hasStartPlaying&&e instanceof NK){e.hasStartPlaying=!0;let t=e.userId.replace("_screen",""),r=null==(s=this._room)||null==(s=s.remoteStreams.get(t))?void 0:s.find(e=>e.isScreen===i);setTimeout(()=>{var e;let t={is_screen:i,media_type:"audio",codec:null==r||null==(e=r.getRemoteStreamStats())||null==(e=e.audioStats)?void 0:e.codecType};this.logger.info("remote_audio_playing",JSON.stringify(t)),this.monitor.report("remote_audio_playing",t)},8e3)}return;case"loadeddata":if("audio"===r.type){let r=e.userId.replace("_screen",""),s=null==(n=this._room)||null==(n=n.remoteStreams.get(r))?void 0:n.find(e=>e.isScreen===i),a=()=>{t?this.safeEmit(bq.onFirstPublicStreamAudioFrameDecoded,{publicStreamId:r}):(this.safeEmit(bq.onAudioFirstFrameDecoded,{userId:r,isScreen:i}),this.safeEmit(bq.onRemoteAudioFirstFrame,{userId:r,isScreen:i})),this.monitor.report("first_remote_audio_render",{stream_id:"",stream_user_id:r||""},{isScreen:i})};null==s||!s.observer||s.observer.audioFirstFrameReceived?a():s.observer.once("recvAudioFirstFrame",a)}else{let s={userId:e.userId,height:e.videoHeight||0,width:e.videoWidth||0,isScreen:i,playerId:e.playerId};t?(s.publicStreamId=s.userId,delete s.userId,delete s.isScreen,this.safeEmit(bq.onFirstPublicStreamVideoFrameRendered,s),this.safeEmit(bq.onFirstPublicStreamVideoFrameDecoded,s)):e.isLocal||(this.safeEmit(bq.onVideoFirstFrameRendered,s),this.safeEmit(bq.onVideoFirstFrameDecoded,s),this.safeEmit(bq.onRemoteVideoFirstFrame,s)),this.monitor.report("first_remote_video_render",{stream_id:"",stream_user_id:r.userId||""},{isScreen:i})}break;case"autoplay-error":{t&&(r.publicStreamId=r.userId),v$(this.id,"autoplay-error",e instanceof NZ?"video":"audio",0,r.userId||"");let i={userId:r.userId,kind:e instanceof NZ?"video":"audio",mediaType:e instanceof NZ?hl.VIDEO:hl.AUDIO,streamIndex:e.isScreen?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN};return e instanceof NZ&&(i.playerId=e.playerId===NF?void 0:e.playerId),void this.safeEmit(bq.onAutoplayFailed,i)}case"playing":{let t=e.userId.replace("_screen",""),s=null==(a=this._room)||null==(a=a.remoteStreams.get(t))?void 0:a.find(e=>e.isScreen===i);"video"===r.type&&setTimeout(()=>{var e,t,r,n,a,o,l,c,d,u;let h={is_screen:i,media_type:"video",codec:null==s||null==(e=s.getRemoteStreamStats())||null==(e=e.videoStats)?void 0:e.codecType,stats_frame_size_width:null==s||null==(t=s.getRemoteStreamStats())||null==(t=t.videoStats)?void 0:t.frameSizeWidth,stats_frame_size_height:null==s||null==(r=s.getRemoteStreamStats())||null==(r=r.videoStats)?void 0:r.frameSizeHeight,stats_frame_rate_decode:null==s||null==(n=s.getRemoteStreamStats())||null==(n=n.videoStats)?void 0:n.decoderOutputFrameRate,stats_frame_rate_receive:null==s||null==(a=s.getRemoteStreamStats())||null==(a=a.videoStats)?void 0:a.receivedFrameRate,stats_frame_decoder_name:null==s||null==(o=s.getRemoteStreamStats())||null==(o=o.videoStats)?void 0:o.decoderName,stats_gpu_url:SQ.GPU_URL||(null==(l=xh())?void 0:l.renderer),track_frame_size_width:null==s||null==(c=s.videoTrack)||null==(c=c.originTrack)?void 0:c.getSettings().width,track_frame_size_height:null==s||null==(d=s.videoTrack)||null==(d=d.originTrack)?void 0:d.getSettings().height,track_frame_rate:null==s||null==(u=s.videoTrack)||null==(u=u.originTrack)?void 0:u.getSettings().frameRate};this.logger.info("remote_video_playing",JSON.stringify(h)),this.monitor.report("remote_video_playing",h)},8e3)}}e instanceof NZ&&(r.playerId=e.playerId===NF?void 0:e.playerId),this.safeEmit(bq.onPlayerEvent,r)})}_initLocalTrackEvents(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];["track-ended","track-mute","track-unmute"].forEach(t=>{e.on(t,async e=>{this.monitor.report("rtc_error",{message:"track-".concat(t," mediaType: ").concat(e.originTrack.kind),error_code:Nj.TRACK_ERROR,capture_session_id:e.captureSessionId,media_type:t,reason:t});let i=!1;e!==this._localScreenAudioTrack&&e!==this._localScreenVideoTrack||(i=!0);let{kind:r}=e.originTrack,s=e.sourceType;this.safeEmit({"track-ended":bq.onTrackEnded,"track-mute":bq.onTrackMute,"track-unmute":bq.onTrackUnmute}[t],{kind:r,isScreen:i}),!SQ.DISABLE_IOS_MUTE_WORKAROUND&&(bx||bv)&&("track-mute"===t&&(NC.emit(Nk.ON_IOS_LOCAL_TRACK_MUTE,r),"audio"===r&&s===wo.INTERNAL&&(await this.stopAudioCapture(),this.startAudioCapture())),"track-unmute"===t&&NC.emit(Nk.ON_IOS_LOCAL_TRACK_UNMUTE,r))})}),e.on("resolution-change",e=>{this._ctx.extensionManager.getPluginsByType(Ny.PRE_PROCESSING).forEach(i=>{var r;null==i||null==(r=i.applyConstraints)||r.call(i,t?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN,e)}),this.safeEmit(bq.onLocalVideoSizeChanged,{streamIndex:t?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN,info:e})}),e.on("needReplaceTrack",()=>{if(e instanceof NY){var t,i,r,s;e.stopDataFetcher();let n=this._ctx._localAudioTrackDumpConfig[null!=(t=e.streamIndex)?t:ho.STREAM_INDEX_MAIN];null!=n&&n.frameSize&&null!=n&&n.callback&&e.setDataFetcher(n.frameSize,n.callback);let{position:a,volume:o}=this._ctx.earMonitorSettings[null!=(i=e.streamIndex)?i:ho.STREAM_INDEX_MAIN];if(a!==hD.NONE&&(e.play(a),e.setPlaybackVolume(o)),this._room){let{streamIndex:t}=e;t===ho.STREAM_INDEX_MAIN?null!=(r=this._room.localStream)&&r.pubAudio&&this._ctx.visibility&&this._updatePublish():null!=(s=this._room.localStream)&&s.pubAudio&&this._ctx.visibility&&this._updateScreenPublish()}}}),e.on("autoplay-error",e=>{this.safeEmit(bq.onAutoplayFailed,e)})}_removeLocalTrackEvents(e){e.removeAllListeners("track-ended"),e.removeAllListeners("track-mute"),e.removeAllListeners("track-unmute"),e.removeAllListeners("resolution-change")}setRemoteVideoPlayer(e,t){var i,r,s,n,a,o,l;this.logger.info("setRemoteVideoPlayer()","streamIndex: %o, videoPlayerOption: %o",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),So(t);let{userId:c}=t,d=e===ho.STREAM_INDEX_SCREEN,u=null==(i=this._room)||null==(i=i.remoteStreams.get(c))?void 0:i.find(e=>e.isScreen===d),h=null==u?void 0:u.videoTrack,p=null!=(r=t.playerId)?r:NF;null==(s=this._getRemoteVideoPlayerConfig(e,c,p))||null==(s=s.player)||s.destroy();let m=null==(n=this._getRemoteVideoPlayerConfig(e,c,p))?void 0:n.renderDom;if(this._containerCollisionDetector.unregisterContainer(m),!t.renderDom)return null==(l=this._remoteVideoPlayerConfig[e].get(c))||l.delete(p),void(null==h||h.removePlayer(p));let{renderDom:f}=t;if(!this._containerCollisionDetector.registerContainer(f))return void this.monitor.report("rtc_error",{message:"RenderDom is not empty",error_code:Nj.DUPLICATE_DOM});let g=new NZ(this.id,p,mr(mr({},t),{},{isLocal:!1,isScreen:d,userId:c,alphaInfo:null==u?void 0:u.attributes.alphaInfo})),_=mr(mr({},t),{},{player:g});return this._setRemoteVideoPlayerConfig(e,c,p,_),null==h||h.setPlayer(this.id,_,null==(a=this._config)?void 0:a.autoPlayPolicy,this._initPlayerEvents.bind(this)),u&&this._updateVideoPlayerState(u),null==(o=_.player)?void 0:o.domElement}setLocalVideoMirrorType(e){var t;this.logger.info("setLocalVideoMirrorType()","mirrorType: %o",e),b3(e,"mirrorType",[hp.MIRROR_TYPE_NONE,hp.MIRROR_TYPE_RENDER]),this._mirrorType=e,null==(t=this.localVideoTrack)||t.mirror(!!e)}setRemoteVideoMirrorType(e,t,i){var r;this.logger.info("setRemoteVideoMirrorType()","userId: %s, streamIndex: %o, mirrorType: %o",e,t,i),Si(e),b3(t,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),b3(i,"mirrorType",[hp.MIRROR_TYPE_NONE,hp.MIRROR_TYPE_RENDER]),this._ctx.setUserStreamConf(e,t,{mirrorType:i}),null==(r=this._room)||null==(r=r.remoteStreams.get(e))||null==(r=r.find(e=>e.isScreen===(t===ho.STREAM_INDEX_SCREEN)))||null==(r=r.videoTrack)||r.mirror(!!i)}async setAudioPlaybackDevice(e){var t;this.logger.info("setAudioPlaybackDevice()","deviceId: %s",e),b2(e,"deviceId");let i=await this._audioDeviceManager.setSinkId(e);null==(t=this._room)||t.remoteStreams.forEach(t=>{t.forEach(t=>{var i;null==(i=t.audioTrack)||i.setPlaybackDevice(e)})}),this.safeEmit(bq.onAudioPlaybackDeviceChanged,i),this.monitor.report("rtc_audio_device",{audio_event:"playout_device_switch",message:JSON.stringify(i),error_code:0})}async play(e){var t,i,r;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:hl.AUDIO_AND_VIDEO,n=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0;this.logger.info("play()","userId: %s, mediaType: %s, streamIndex: %s",e,s,n);let o=null!=a?a:NF,l=!e||e===this._getUserId()||"local_user"===e,c=void 0===n||n===ho.STREAM_INDEX_MAIN,d=void 0===n||n===ho.STREAM_INDEX_SCREEN,u=s!==hl.VIDEO,h=s!==hl.AUDIO,p=[];if(l&&h){if(c&&this._localVideoTrack){this._localVideoTrack.mirror(!!this._mirrorType);let e=this._localVideoTrack.play(o);e&&p.push(e)}d&&this._localScreenVideoTrack&&(null==(i=this._localScreenVideoTrack)?void 0:i.manuallyPlay(o))&&p.push()}this._audioMixingManager&&e===this._audioMixingManager.id&&p.push(this._audioMixingManager.resumeLocalPlay());let m=[];return null==(t=this._room)||t.remoteStreams.forEach((t,i)=>{e&&e!==i||t.forEach(e=>{e.audioTrack&&m.push(e.audioTrack),e.videoTrack&&m.push(e.videoTrack)})}),this._wtnStreamManager.__getRemoteStreams().forEach((t,i)=>{e&&e!==i||(t.audioTrack&&m.push(t.audioTrack),t.videoTrack&&m.push(t.videoTrack))}),c||(m=m.filter(e=>!!e.isScreen)),d||(m=m.filter(e=>!e.isScreen)),u||(m=m.filter(e=>"audio"!==e.mediaType)),h||(m=m.filter(e=>"video"!==e.mediaType)),u&&(null==(r=this._room)||r.virtualStreams.forEach(e=>{e.audioTrack&&m.push(e.audioTrack)})),m.forEach(e=>{let t=e.manuallyPlay(o);t&&p.push(t)}),Promise.all(p).then(()=>{})}async stop(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:hl.AUDIO_AND_VIDEO,i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;this.logger.info("stop()","userId: %s, mediaType: %s, streamIndex: %s, playerId: %s",e,t,i,r);let s=null!=r?r:NF,n=!e||e===this._getUserId()||"local_user"===e,a=void 0===i||i===ho.STREAM_INDEX_MAIN,o=void 0===i||i===ho.STREAM_INDEX_SCREEN,l=t!==hl.VIDEO,c=t!==hl.AUDIO;if(n&&c&&(a&&this._localVideoTrack&&this._localVideoTrack.pause(s),o&&this._localScreenVideoTrack&&this._localScreenVideoTrack.pause(s)),e){var d;let t=[];null==(d=this._room)||null==(d=d.remoteStreams.get(e))||d.forEach(e=>{e.audioTrack&&t.push(e.audioTrack),e.videoTrack&&t.push(e.videoTrack)});let i=this._wtnStreamManager.__getPublicStreamTrack(e,"audio"),r=this._wtnStreamManager.__getPublicStreamTrack(e,"video");i&&t.push(i),r&&t.push(r),a||(t=t.filter(e=>!!e.isScreen)),o||(t=t.filter(e=>!e.isScreen)),l||(t=t.filter(e=>"audio"!==e.mediaType)),c||(t=t.filter(e=>"video"!==e.mediaType)),t.forEach(e=>{e.pause(s)})}}getAudioVolume(e,t){b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]);let i=0;if(t){var r;let s=null==(r=this._room)||null==(r=r.remoteStreams.get(t))||null==(r=r.find(t=>t.isScreen===(e===ho.STREAM_INDEX_SCREEN)))?void 0:r.audioTrack;s&&(i=s.getAudioLevel())}else{let t=e===ho.STREAM_INDEX_MAIN?this._localAudioTrack:this._localScreenAudioTrack;t&&(i=t.getAudioLevel())}return{linearVolume:i,nonlinearVolume:k2(i)}}setAudioFrameCallback(e,t,i){var r;let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4096;if(this.logger.info("setAudioFrameCallback()","streamIndex: %s, userId: %s, callback: %s, frameSize: %s",e,t,i?"true":"false",s),b3(s,"frameSize",[256,512,1024,2048,4096,8192,16384]),void 0===NN.isWorkletReady&&NN.getAudioContextInstance(),null===NN.isWorkletReady)throw this.logger.error("setAudioFrameCallback()","Not support AudioWorklet"),new b$(bY.NOT_SUPPORTED,"Not support AudioWorklet");t?i?this._ctx._remoteAudioTrackDumpConfig[e].set(t,{callback:i,frameSize:s}):this._ctx._remoteAudioTrackDumpConfig[e].delete(t):this._ctx._localAudioTrackDumpConfig[e]={callback:i,frameSize:i?s:void 0};let n=t?null==(r=this._room)||null==(r=r.remoteStreams.get(t))||null==(r=r.find(t=>t.isScreen===(e===ho.STREAM_INDEX_SCREEN)))?void 0:r.audioTrack:e===ho.STREAM_INDEX_MAIN?this._localAudioTrack:this._localScreenAudioTrack;n?i?n.setDataFetcher(s,i):n.stopDataFetcher():this.logger.warn("setAudioFrameCallback()","track not found")}async pauseAllSubscribedStream(e){return this.logger.info("pauseAllSubscribedStream()","mediaType: %o",e),this._checkMediaType(e),(()=>{k3(e)&&(this._pauseAllSubscribeState.audio=!0),k4(e)&&(this._pauseAllSubscribeState.video=!0)})(),this._room?this._pauseAllRemoteStreams(e):Promise.resolve()}async _pauseAllRemoteStreams(e){if(!this._room)return Promise.resolve();let t=[];return this._room.remoteStreams.forEach(i=>{Array.isArray(i)&&i.forEach(i=>{if(i.hasSubscribed){i.attributes.audiostream&&k3(e)&&(this._pauseAllSubscribeState.resumeAudioStreamIds[i.streamId]=i.streamId),i.attributes.videostream&&k4(e)&&(this._pauseAllSubscribeState.resumeVideoStreamIds[i.streamId]=i.streamId);let r=this._unsubscribe(i.isScreen,i.userId,e,!0);r&&t.push(r)}})}),Promise.all(t).then(()=>{})}async resumeAllSubscribedStream(e){if(this.logger.info("resumeAllSubscribedStream()","mediaType: %o",e),this._checkMediaType(e),(()=>{k3(e)&&(this._pauseAllSubscribeState.audio=!1),k4(e)&&(this._pauseAllSubscribeState.video=!1)})(),!this._room)return Promise.resolve();await this._triedResumeAllRemoteStreams(e,!1)}async _triedResumeAllRemoteStreams(e,t){if(!this._room||this._pauseAllSubscribeState.audio&&e===hl.AUDIO||this._pauseAllSubscribeState.video&&e===hl.VIDEO||this._pauseAllSubscribeState.video&&this._pauseAllSubscribeState.audio&&e===hl.AUDIO_AND_VIDEO)return Promise.resolve();let i=[],r=[...Object.keys(this._pauseAllSubscribeState.resumeAudioStreamIds)],s=[...Object.keys(this._pauseAllSubscribeState.resumeVideoStreamIds)];return this._room.remoteStreams.forEach(r=>{Array.isArray(r)&&r.forEach(r=>{if(t&&r.isScreen)return;let s=this._pauseAllSubscribeState.resumeAudioStreamIds[r.streamId],n=this._pauseAllSubscribeState.resumeVideoStreamIds[r.streamId];if(s&&k3(e)||n&&k4(e)){let t=this._subscribe(r.isScreen,r.userId,e).then(()=>{s&&k3(e)&&delete this._pauseAllSubscribeState.resumeAudioStreamIds[r.streamId],n&&k4(e)&&delete this._pauseAllSubscribeState.resumeVideoStreamIds[r.streamId]});t&&i.push(t)}})}),Promise.all(i).then(()=>{var e;return null==(e=this._room)||e.remoteStreams.forEach(e=>{Array.isArray(e)&&e.forEach(e=>{this._updateAudioPlayerState(e),this._updateVideoPlayerState(e)})}),Promise.resolve()}).finally(()=>{var e;return null!=(e=this._room)&&e.config.tokenSubscribePrivilegeExpired&&(r.forEach(e=>{this._pauseAllSubscribeState.resumeAudioStreamIds[e]=e}),s.forEach(e=>{this._pauseAllSubscribeState.resumeVideoStreamIds[e]=e})),Promise.resolve()})}async sendUserMessage(e,t){var i;Si(e),this._assertNotInRoom();let r=Date.now();return null==(i=this._room)||null==(i=i.sendUserMessage(e,t))?void 0:i.then(t=>(this._messageStatisticsObserver.countP2PMessage(!0,e,!1,r,t),t.id)).catch(t=>{throw this._messageStatisticsObserver.countP2PMessage(!1,e,!1,r,t),t})}async sendUserBinaryMessage(e,t){var i;Si(e),b6(t,"message"),this._assertNotInRoom();let r=Date.now();return null==(i=this._room)||null==(i=i.sendUserMessage(e,t))?void 0:i.then(t=>(this._messageStatisticsObserver.countP2PMessage(!0,e,!0,r,t),t.id)).catch(t=>{throw this._messageStatisticsObserver.countP2PMessage(!1,e,!0,r,t),t})}async sendRoomMessage(e){var t,i;this._assertNotInRoom();let r=null==(t=this._room)?void 0:t.config.roomId,s=Date.now();return null==(i=this._room)||null==(i=i.sendRoomMessage(e))?void 0:i.then(e=>(this._messageStatisticsObserver.countRoomMessage(!0,r,!1,s),e)).catch(e=>{throw this._messageStatisticsObserver.countRoomMessage(!1,r,!1,s),e})}async sendRoomBinaryMessage(e){var t,i;this._assertNotInRoom();let r=null==(t=this._room)?void 0:t.config.roomId,s=Date.now();return null==(i=this._room)||null==(i=i.sendRoomMessage(e,!0))?void 0:i.then(e=>(this._messageStatisticsObserver.countRoomMessage(!0,r,!0,s),e)).catch(e=>{throw this._messageStatisticsObserver.countRoomMessage(!1,r,!0,s),e})}async setAudioCaptureConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger.info("setAudioCaptureConfig()","config: %o",e),delete e.deviceId,b8(e),await this._shouldUpdateAudioConf("setAudioCaptureConfig")&&this._ctx.audioProfileManager.updateConstraints(e)}async setVideoCaptureConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.logger.info("setVideoCaptureConfig()","config: %o",e),this._setVideoCaptureConfig(e)}async _setVideoCaptureConfig(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};delete t.deviceId,b8(t);let i=mr(mr({},this._ctx.videoProfile.getCaptureConfig()),t);return this._localVideoTrack&&await this._localVideoTrack.updateVideoCaptureConfig(i),this._ctx.videoProfile.setCaptureConfig(i),(null==(e=this._localVideoTrack)?void 0:e.originTrack.getSettings())||{}}enableSimulcastMode(e){this.logger.info("enableSimulcastMode()","enabled: %o",e),this._ctx.videoProfile.checkSimulcastApiVersion("old");try{return this._ctx.videoProfile.setSimulcastMode(e?hj.VIDEO_ON_DEMAND:hj.VIDEO_ONLY_ONE,this._room),!0}catch(e){return!1}}async setLocalSimulcastMode(e,t){var i;this.logger.info("setLocalSimulcastMode()","mode: %o, config: %o",e,t),this._ctx.videoProfile.checkSimulcastApiVersion("new"),await this._ctx.videoProfile.setSimulcastMode(e,this._room),await this._ctx.videoProfile.setSubVideoEncodeConfig(t,this._room,this._localVideoTrack),await (null==(i=this._room)?void 0:i.hasPublished())&&this._updatePublish()}async setVideoEncoderConfig(e){var t;if(this.logger.info("setVideoEncoderConfig()","descriptions: %o",e),await this._ctx.videoProfile.setVideoEncodeConfigPolyfill(e),this._localVideoTrack){let e=this._ctx.videoProfile.getContentHint();e&&this._localVideoTrack.setContentHint(e),await this._localVideoTrack.updateVideoCaptureConfig(this._ctx.videoProfile.getCaptureConfig())}this._updateDummyCaptureImage(ho.STREAM_INDEX_MAIN),await (null==(t=this._room)?void 0:t.hasPublished())&&this._updatePublish()}setVideoEncoderAutoConfigList(e){if(Array.isArray(e))return C0(e).call(e,(e,t)=>e.maxKbps-t.maxKbps),S9(e)}async setScreenEncoderConfig(e){var t;this.logger.info("setScreenEncoderConfig()","description: %o",e),this._ctx.videoProfile.setScreenEncodeConfig(e),this._localScreenVideoTrack&&("16.1"!==bP&&await this._localScreenVideoTrack.updateVideoCaptureConfig(e),e.contentHint&&this._localScreenVideoTrack.setContentHint(e.contentHint)),this._updateDummyCaptureImage(ho.STREAM_INDEX_SCREEN),await (null==(t=this._room)?void 0:t.hasScreenPublished())&&this._updateScreenPublish()}sendSEIMessage(e,t,i){var r,s,n,a,o;let l;if(this.logger.info("sendSEIMessage()","streamIdex: %o, message: %o, repeatCount: %o",e,t,i),!SL()&&!Sj())return k7("Your browser does not support sending SEI"),!1;b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),b1(i,"repeatCount",0,30);let c="string"==typeof t?new Uint8Array(kK.str2ab(t)):t;if(!t.length)return this.logger.warn("sei message must not be empty"),!1;if(e===ho.STREAM_INDEX_MAIN){if(!(null!=(r=this._room)&&null!=(r=r.localStream)&&r.pubAudio||null!=(s=this._room)&&null!=(s=s.localStream)&&s.pubVideo))return;l=this._room.localStream}else{if(!(null!=(n=this._room)&&null!=(n=n.localScreenStream)&&n.pubAudio||null!=(a=this._room)&&null!=(a=a.localScreenStream)&&a.pubVideo))return;l=this._room.localScreenStream}if(c.byteLength>4096)return void this.logger.warn("sei size must not bigger than 4KB");bC||null==(o=this._room)||o.maybeFillBackFrame2Stream(l);let d=kH();return l.sendSEIMessage({content:c,uuid:d,repeatCount:i+1}),setTimeout(async()=>{if(l&&await l.revokeSEIMessage(d)){let e="timeout for sei message(id: ".concat(d,")");console.error("[RTC WebSDK] ".concat(e)),this.monitor.report("rtc_sdk_callback",{sdk_callback_name:"sendSEIMessageTimeout",message:e,error_code:400})}},S2("SEI_TIME_OUT")),d}setAudioVolumeIndicationInterval(e){this.logger.info("setAudioVolumeIndicationInterval()","interval %o: ",e),("number"!=typeof e||e<200)&&(e=200);let t=[];this._audioVolumeIndicationTimer&&clearInterval(this._audioVolumeIndicationTimer),this._audioVolumeIndicationTimer=setInterval(()=>{var e,i;t=[],null==(e=this._room)||e.remoteStreams.forEach((e,i)=>{var r;if(0===e.length)return;let s=e.find(e=>!e.isScreen),n=null==s||null==(r=s.audioTrack)?void 0:r.getAudioLevel();t.push({userId:i,volume:n||0})});let r=null==(i=this._localAudioTrack)?void 0:i.getAudioLevel();t.push({userId:this._getUserId(),volume:r||0}),this.safeEmit(bq.onAudioVolumeIndication,{speakers:t})},e)}_sendActiveSpeaker(e,t){if(this._room&&this._room.remoteUsers.size>=1){let i,r=e[0],s=t.reduce((e,t)=>e&&e.audioPropertiesInfo.nonlinearVolume>t.audioPropertiesInfo.nonlinearVolume?e:t,void 0);if((i=r?s?r.audioPropertiesInfo.nonlinearVolume>s.audioPropertiesInfo.nonlinearVolume?r:s:r:s)&&i.audioPropertiesInfo.nonlinearVolume>-35){let e;(e=i.streamKey?this._room.remoteUsers.get(i.streamKey.userId):this._room.config.userInfo)&&this.safeEmit(bq.onActiveSpeaker,{userId:e.userId,extraInfo:e.extraInfo})}}}enableAudioPropertiesReport(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger.info("enableAudioPropertiesReport()","config %o: ",e);let{enableInBackground:t=!0,localMainReportMode:i=hm.NORMAL,audioReportMode:r=hf.MICROPHONE}=e,{interval:s=100}=e;this._stopAudioPropertiesReport(),s<=0||(s=Math.max(100,s),this._audioPropertiesReportTimer=self.setInterval(()=>{if(!t&&"hidden"===document.visibilityState)return;let e=[],s=this._audioDeviceManager.getRecordTrack()||this._localAudioTrack;if(s){var n;let t=null==(n=this._room)||null==(n=n.localStream)?void 0:n.audioHasPublish,a=!!this._audioDeviceManager.getRecordTrack(),o=s.getAudioLevel(r),l=k2(o),c={streamIndex:ho.STREAM_INDEX_MAIN,audioPropertiesInfo:{linearVolume:o,nonlinearVolume:l}};if(t||a)e.push(c);else switch(i){case hm.DISCONNECT:break;case hm.RESET:c.audioPropertiesInfo.linearVolume=0,c.audioPropertiesInfo.nonlinearVolume=-127,e.push(c);break;case hm.NORMAL:e.push(c);break;default:throw new b$(bY.INVALID_PARAMS,"invalid localMainReportMode: ".concat(i," in config"))}}if(this._localScreenAudioTrack){let t=this._localScreenAudioTrack.getAudioLevel();e.push({streamIndex:ho.STREAM_INDEX_SCREEN,audioPropertiesInfo:{linearVolume:t,nonlinearVolume:k2(t)}})}if(this.safeEmit(bq.onLocalAudioPropertiesReport,e),this._room){let t=[];this._room.config.isMultiChatMode()?this._room.getActiveSpeakerInMultiChatMode().forEach(e=>{var i,r;let s=255*e.audioLevel;t.push({streamKey:{userId:e.userId,streamIndex:ho.STREAM_INDEX_MAIN,roomId:null!=(i=null==(r=this._room)?void 0:r.config.roomId)?i:""},audioPropertiesInfo:{linearVolume:s,nonlinearVolume:k2(s)}})}):this._room.remoteStreams.forEach((e,i)=>{e.forEach(e=>{if(e.audioTrack){var r,s;let n=e.audioTrack.getAudioLevel();t.push({streamKey:{userId:i,streamIndex:e.isScreen?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN,roomId:null!=(r=null==(s=this._room)?void 0:s.config.roomId)?r:""},audioPropertiesInfo:{linearVolume:n,nonlinearVolume:k2(n)}})}})}),this.safeEmit(bq.onRemoteAudioPropertiesReport,t),this._sendActiveSpeaker(e,t.filter(e=>e.streamKey.streamIndex!==ho.STREAM_INDEX_SCREEN))}},s))}async setVideoSourceType(e,t){this.logger.print("setVideoSourceType()","index: %o, videoSourceType: %o",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),b3(t,"VideoSourceType",[u6.VIDEO_SOURCE_TYPE_EXTERNAL,u6.VIDEO_SOURCE_TYPE_INTERNAL]);let i=e===ho.STREAM_INDEX_MAIN?"video":"screenVideo";if(this._trackSourceType[i]!==t){var r,s,n,a,o,l,c,d,u;if(this._trackSourceType[i]=t,this.logger.print("setVideoSourceType","set ".concat(i," source type to ").concat(t)),this._localVideoTrack&&e===ho.STREAM_INDEX_MAIN){let e=!1;if(t===u6.VIDEO_SOURCE_TYPE_EXTERNAL){e=!0;let t=this._ctx.extensionManager.getPluginByName(Ny.PRE_PROCESSING,"RTCBeautyExtension");t&&t.emit("stop"),this._removeLocalTrackEvents(this._localVideoTrack),this._localVideoTrack.destroy()}null==(r=this._localVideoTrack)||r.destroy(),this._localVideoTrack=void 0;let i=null==(s=this._room)?void 0:s.config.isAutoPublish;e?null==(a=this._room)||null==(a=a.localStream)||null==(a=a.observer)||a.setEnableVideo(!1):null==(o=this._room)||null==(o=o.localStream)||null==(o=o.observer)||o.setPushVideo(!1),(null!=(n=this._room)&&null!=(n=n.localStream)&&n.pubVideo||i)&&await this._updatePublish()}if(this._localScreenVideoTrack&&e===ho.STREAM_INDEX_SCREEN){let e=!1;(t===u6.VIDEO_SOURCE_TYPE_EXTERNAL&&(e=!0,this._removeLocalTrackEvents(this._localScreenVideoTrack),this._localScreenVideoTrack.destroy()),null==(l=this._localScreenVideoTrack)||l.destroy(),this._localScreenVideoTrack=void 0,e)?null==(d=this._room)||null==(d=d.localScreenStream)||null==(d=d.observer)||d.setEnableVideo(!1):null==(u=this._room)||null==(u=u.localScreenStream)||null==(u=u.observer)||u.setPushVideo(!1),null!=(c=this._room)&&null!=(c=c.localScreenStream)&&c.pubVideo&&await this._updateScreenPublish()}}}async setExternalVideoTrack(e,t){var i,r,s,n;if(this.logger.print("setExternalVideoTrack()","index: %o, track: %o",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),b4(t),e===ho.STREAM_INDEX_MAIN){if(this._trackSourceType.video!==u6.VIDEO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setVideoSourceType as external first");this._localVideoTrack=await As(this._ctx,t);let e=this._ctx.videoProfile.getContentHint();!t.contentHint&&e&&this._localVideoTrack.setContentHint(e),this._initLocalTrackEvents(this._localVideoTrack),this._localVideoPlayerConfig[ho.STREAM_INDEX_MAIN].forEach(e=>{var t,i;null==(t=this._localVideoTrack)||t.setPlayer(e,this._mirrorType,null==(i=this._config)?void 0:i.autoPlayPolicy,this._initPlayerEvents.bind(this))});let s=null==(i=this._room)?void 0:i.config.isAutoPublish;(null!=(r=this._room)&&null!=(r=r.localStream)&&r.pubVideo||s)&&await this._updatePublish()}if(e===ho.STREAM_INDEX_SCREEN){if(this._trackSourceType.screenVideo!==u6.VIDEO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setVideoSourceType as external first");this._localScreenVideoTrack=await Aa(this._ctx,t),this._initLocalTrackEvents(this._localScreenVideoTrack,!0),this._localVideoPlayerConfig[ho.STREAM_INDEX_SCREEN].forEach(e=>{var t,i;null==(t=this._localScreenVideoTrack)||t.setPlayer(e,this._mirrorType,null==(i=this._config)?void 0:i.autoPlayPolicy,this._initPlayerEvents.bind(this))}),null==(s=this._room)||null==(s=s.localScreenStream)||null==(s=s.observer)||s.setPushVideo(!0),null!=(n=this._room)&&null!=(n=n.localScreenStream)&&n.pubVideo&&await this._updateScreenPublish()}}async setAudioSourceType(e,t){this.logger.print("setAudioSourceType()","index: %o, audioSourceType: %o",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),b3(t,"audioSourceType",[u8.AUDIO_SOURCE_TYPE_EXTERNAL,u8.AUDIO_SOURCE_TYPE_INTERNAL]);let i=e===ho.STREAM_INDEX_MAIN?"audio":"screenAudio";if(this._trackSourceType[i]!==t){var r,s,n,a,o,l,c;if(this._trackSourceType[i]=t,this.logger.print("setVideoSourceType","set ".concat(i," source type to ").concat(t)),this._localAudioTrack&&e===ho.STREAM_INDEX_MAIN){let e=!1;this._trackSourceType.audio===u8.AUDIO_SOURCE_TYPE_EXTERNAL&&(e=!0,this._removeLocalTrackEvents(this._localAudioTrack),this._localAudioTrack.destroy()),this._localAudioTrack=void 0;let t=null==(r=this._room)?void 0:r.config.isAutoPublish;e?null==(n=this._room)||null==(n=n.localStream)||null==(n=n.observer)||n.setEnableAudio(!1):null==(a=this._room)||null==(a=a.localStream)||null==(a=a.observer)||a.setPushAudio(!1),(null!=(s=this._room)&&null!=(s=s.localStream)&&s.pubAudio||t)&&await this._updatePublish()}if(this._localScreenAudioTrack&&e===ho.STREAM_INDEX_SCREEN){let e=!1;(this._trackSourceType.audio===u8.AUDIO_SOURCE_TYPE_EXTERNAL&&(e=!0,this._removeLocalTrackEvents(this._localScreenAudioTrack),this._localScreenAudioTrack.destroy()),this._localScreenAudioTrack=void 0,e)?null==(l=this._room)||null==(l=l.localScreenStream)||null==(l=l.observer)||l.setEnableAudio(!1):null==(c=this._room)||null==(c=c.localScreenStream)||null==(c=c.observer)||c.setPushAudio(!1),null!=(o=this._room)&&null!=(o=o.localScreenStream)&&o.pubAudio&&await this._updateScreenPublish()}}}async setExternalAudioTrack(e,t){var i,r,s,n,a;if(this.logger.print("setExternalAudioTrack()","index: %o, track: %o",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),b4(t),e===ho.STREAM_INDEX_MAIN){if(this._trackSourceType.audio!==u8.AUDIO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setAudioSourceType as external first");this._localAudioTrack=await An(this._ctx,t),this._localAudioTrack.setVolume(this._localAudioVolume),this._initLocalTrackEvents(this._localAudioTrack);let e=this._ctx._localAudioTrackDumpConfig[ho.STREAM_INDEX_MAIN];e.frameSize&&e.callback&&this._localAudioTrack.setDataFetcher(e.frameSize,e.callback);let{position:n,volume:a}=this._ctx.earMonitorSettings[ho.STREAM_INDEX_MAIN];n!==hD.NONE&&(this.setEarMonitorMode(ho.STREAM_INDEX_MAIN,n),this.setEarMonitorVolume(ho.STREAM_INDEX_MAIN,a));let o=null==(i=this._room)?void 0:i.config.isAutoPublish;null==(r=this._room)||null==(r=r.localStream)||null==(r=r.observer)||r.setPushAudio(!0),(null!=(s=this._room)&&null!=(s=s.localStream)&&s.pubAudio||o)&&await this._updatePublish()}if(e===ho.STREAM_INDEX_SCREEN){if(this._trackSourceType.screenAudio!==u8.AUDIO_SOURCE_TYPE_EXTERNAL)throw new b$(bY.STREAM_TYPE_NOT_MATCH,"setAudioSourceType as external first");this._localScreenAudioTrack=await Ao(this._ctx,t),this._localScreenAudioTrack.setVolume(this._localScreenAudioVolume),this._initLocalTrackEvents(this._localScreenAudioTrack);let e=this._ctx._localAudioTrackDumpConfig[ho.STREAM_INDEX_SCREEN];e.frameSize&&e.callback&&this._localScreenAudioTrack.setDataFetcher(e.frameSize,e.callback);let{position:i,volume:r}=this._ctx.earMonitorSettings[ho.STREAM_INDEX_SCREEN];i!==hD.NONE&&(this.setEarMonitorMode(ho.STREAM_INDEX_SCREEN,i),this.setEarMonitorVolume(ho.STREAM_INDEX_SCREEN,r)),null==(n=this._room)||null==(n=n.localScreenStream)||null==(n=n.observer)||n.setPushAudio(!0),null!=(a=this._room)&&null!=(a=a.localScreenStream)&&a.pubAudio&&await this._updateScreenPublish()}}async login(e,t){return this.logger.info("login()","token: %o, userInfo: %o",e,t),Se(e)||b2(e,"token"),Si(t),this._rtmClient.login(e,t)}async logout(){return this.logger.info("logout()"),this._rtmClient.logout()}async updateLoginToken(e){return this.logger.info("updateLoginToken()","token: %o",e),Se(e)||b2(e,"token"),this._rtmClient.updateLoginToken(e)}async getPeerOnlineStatus(e){return this.logger.info("getPeerOnlineStatus()","userId: %o",e),Si(e),this._rtmClient.getPeerOnlineStatus(e)}async sendUserMessageOutsideRoom(e,t){Si(e);let i=Date.now();return this._rtmClient.sendUserMessageOutsideRoom(e,t).then(t=>(this._messageStatisticsObserver.countUserMessageOutsideRoom(!0,e,!1,i,t),t.id)).catch(t=>{throw this._messageStatisticsObserver.countUserMessageOutsideRoom(!1,e,!1,i,t),t})}async sendUserBinaryMessageOutsideRoom(e,t){Si(e),b6(t,"message");let i=Date.now();return this._rtmClient.sendUserMessageOutsideRoom(e,t).then(t=>(this._messageStatisticsObserver.countUserMessageOutsideRoom(!0,e,!0,i,t),t.id)).catch(t=>{throw this._messageStatisticsObserver.countUserMessageOutsideRoom(!1,e,!0,i,t),t})}async setServerParams(e,t){return this.logger.info("setServerParams()","signature: %o, url: %0",e,t),this._rtmClient.setServerParams(e,t)}async sendServerMessage(e){b2(e,"message");let t=Date.now();return this._rtmClient.sendServerMessage(e).then(e=>{this._messageStatisticsObserver.countServerMessage(!0,!1,t,e)}).catch(e=>{throw this._messageStatisticsObserver.countServerMessage(!1,!1,t,e),e})}async sendServerBinaryMessage(e){b6(e,"message");let t=Date.now();return this._rtmClient.sendServerMessage(e).then(e=>{this._messageStatisticsObserver.countServerMessage(!0,!0,t,e)}).catch(e=>{throw this._messageStatisticsObserver.countServerMessage(!1,!0,t,e),e})}startCloudProxy(e){if(this._room)throw new b$(bY.START_CLOUD_PROXY_AFTER_JOIN,"[startCloudProxy] should be invoke before join room ");if(this.logger.info("startCloudProxy()",e),b2(e.logProxy,"logProxy"),Array.isArray(e.accessProxy))for(let t of e.accessProxy)b2(t,"accessProxy");else b2(e.accessProxy,"accessProxy");b2(e.configProxy,"configProxy"),this._originIceConfigRequestUrls=S2("ICE_CONFIG_REQUEST_URLS"),this._originLogServerUrl=S2("LOG_SERVER_URL"),this._originConfigServerUrls=S2("CONFIG_REQUEST_DOMAINS"),S1("ICE_CONFIG_REQUEST_URLS",e.accessProxy),S1("LOG_SERVER_URL",SY(e.logProxy)),S1("CONFIG_REQUEST_DOMAINS",[e.configProxy]),bZ.clearAccessNode(this._appId),bZ.clearAccessUrls(),this._ctx.useCloudProxy=!0}stopCloudProxy(){var e,t,i;if(this._room)throw new b$(bY.STOP_CLOUD_PROXY_BEFORE_LEAVE,"[stopCloudProxy] should be invoke after leave room ");this.logger.info("stopCloudProxy()");let r=null==(e=this._originIceConfigRequestUrls)?void 0:e.map(e=>e.replace("https://","").replace("/dispatch/v1/AccessInfo?Action=GetAccessInfo",""));S1("ICE_CONFIG_REQUEST_URLS",null!=r?r:[]),S1("LOG_SERVER_URL",null!=(t=this._originLogServerUrl)?t:""),S1("CONFIG_REQUEST_DOMAINS",null!=(i=this._originConfigServerUrls)?i:[]),bZ.clearAccessNode(this._appId),bZ.clearAccessUrls(),this._ctx.useCloudProxy=!1,this._startCloudProxyTimestamp=void 0}async startPushPublicStream(e,t){var i,r;if(this.logger.print("startPushPublicStream()","publicStreamId: %o, publicStreamParam: %o",e,t),Sr(e),this._assertNotInRoom(),this._publicStreamIds.get(e))throw new b$(bY.REPEAT_PUSH,"repeat push public media stream");this._room&&(null==(r=t.layout)||null==(r=r.regions)||r.map(e=>{var t;e.roomId=null==(t=this._room)?void 0:t.config.roomId}));let s=S3(e,"started",t);return null==(i=this._room)||null==(i=i.publicStreamControlMessage(s))?void 0:i.then(()=>{this._publicStreamIds.set(e,e)})}async updatePublicStreamParam(e,t){var i;this.logger.print("startPushPublicStream()","publicStreamId: %o, publicStreamParam: %o",e,t),Sr(e),this._assertNotInRoom();let r=S3(e,"layoutChanged",t);return null==(i=this._room)?void 0:i.publicStreamControlMessage(r)}async stopPushPublicStream(e){var t;return this.logger.print("startPushPublicStream()","publicStreamId: %o",e),Sr(e),this._assertNotInRoom(),null==(t=this._room)?void 0:t.publicStreamControlMessage({type:"publicstream",action:"stopped",publicStreamID:e}).then(()=>{this._publicStreamIds.delete(e)})}async startPlayPublicStream(e){await this._wtnStreamManager.startPlayWTN(null,e,!1,!1)}async stopPlayPublicStream(e){await this._wtnStreamManager.stopPlayWTN(e)}async setAudioProfile(e){this.logger.info("setAudioProfile()","profile: %o",e),await this._shouldUpdateAudioConf("setAudioProfile")&&this._ctx.audioProfileManager.setAudioProfile(e)}async setAudioEncodeMaxBitrate(e){if(this.logger.print("setAudioEncodeMaxBitrate()",e),b1(e,"maxBitrate",6,256),this._ctx.audioProfileManager.setCustomMaxBitrate(e),this._ctx.audioProfileManager.customMaxBitrate){var t,i,r,s;if(bc&&(null!=(t=this._room)&&null!=(t=t.localStream)&&t.pubAudio||null!=(i=this._room)&&null!=(i=i.localScreenStream)&&i.pubAudio))throw new b$(bY.NOT_SUPPORTED,"Your browser does not support set audio encode maxBitrate dynamically.");await (null==(r=this._room)?void 0:r.setAudioEncodeMaxBitrate(ho.STREAM_INDEX_MAIN,e)),await (null==(s=this._room)?void 0:s.setAudioEncodeMaxBitrate(ho.STREAM_INDEX_SCREEN,e))}}setPublicStreamVideoPlayer(e,t){return this._wtnStreamManager.setWTNRemoteVideoPlayer(e,t)}async setDummyCaptureImagePath(e,t){return new Promise((i,r)=>{b2(t,"filePath");let s=new Image;s.crossOrigin="anonymous",s.src=t,s.onload=()=>{e===ho.STREAM_INDEX_MAIN?this._dummyMainImage=s:this._dummyScreenImage=s;try{this._updateDummyCaptureImage(e),i()}catch(e){r(new b$(bY.UNEXPECTED_ERROR,e.message))}},s.onerror=()=>{r(new b$(bY.UNEXPECTED_ERROR,"Load image error"))}})}_updateDummyCaptureImage(e){var t,i;let r,s,n,a;if(e===ho.STREAM_INDEX_MAIN?(r=this._dummyMainImage,s=this._ctx.videoProfile.getVideoEncodeConfig()[0]):(r=this._dummyScreenImage,s=this._ctx.videoProfile.getScreenEncodeConfig()),!r)return;let o=document.createElement("canvas"),l=o.getContext("2d"),c=xe(s.width),d=xe(s.height);if(!l)throw new b$(bY.UNEXPECTED_ERROR,"Not support canvas");!c||!d||r.width<=c&&r.height<=d?(n=r.width,a=r.height):(n=Math.min(c,r.width*d/r.height),a=Math.min(d,r.height*c/r.width)),o.width=n,o.height=a,l.drawImage(r,0,0,r.width,r.height,0,0,n,a);let u=window.setInterval(()=>{r&&l.drawImage(r,0,0,r.width,r.height,0,0,n,a)},200);e===ho.STREAM_INDEX_MAIN?(clearInterval(this._dummyMainTimer),this._dummyMainTimer=u):(clearInterval(this._dummyScreenTimer),this._dummyScreenTimer=u);let h=o.captureStream(5).getVideoTracks()[0];e===ho.STREAM_INDEX_MAIN?(this._localImgVideoTrack=h,null!=(t=this._localVideoTrack)&&t.dummy&&this._localVideoTrack.setTrack(this._localImgVideoTrack)):(this._localImgScreenTrack=h,null!=(i=this._localScreenVideoTrack)&&i.dummy&&this._localScreenVideoTrack.setTrack(this._localImgScreenTrack))}_addListenExtensionEvent(e){e.on("re-capture-audio",()=>{this._localAudioTrack&&this.stopAudioCapture().then(()=>{this.startAudioCapture()})}),e.on("re-capture-video",()=>{this._localVideoTrack&&!this._localVideoTrack.dummy&&this.stopVideoCapture().then(()=>{this.startVideoCapture()})}),e.on("reset-video-effect",async(e,t)=>{if(this._localVideoTrack&&!this._localVideoTrack.dummy){var i;this._localVideoTrack&&this._removeLocalTrackEvents(this._localVideoTrack);try{await this._localVideoTrack.generatePreProcessingTrack()}catch(e){t(e)}this._initLocalTrackEvents(this._localVideoTrack),this._localVideoTrack.stopAll(),this._localVideoTrack.playAll(),this.safeEmit(bq.onLocalStreamTrackChangedByExtension,{streamIndex:ho.STREAM_INDEX_MAIN,type:"video"}),e(),null!=(i=this._room)&&null!=(i=i.localStream)&&i.pubVideo&&await this._updatePublish(),this._wtnStreamManager._updatePushTrack()}e()})}async registerExtension(e){var t,i,r;e.monitor=this.monitor,e.logger=new bn(e.name,0,this.id);try{if(!await e.isSupported())throw Error("This extension is not supported.")}catch(e){throw Error("This extension is not supported.")}S2("VERSION")!==e.version&&("This extension version is ".concat(e.version,", but the sdk version is ").concat(S2("VERSION"),"."),this.monitor.report("rtc_error",{message:"This extension version is ".concat(e.version,", but the sdk version is ").concat(S2("VERSION"),"."),error_code:-1}));let s={};"RTCAIAnsExtension"===e.name&&(s={overloadThreshold:S2("AINR_OVERLOAD_THRESHOLD"),enableCache:S2("AINR_ENABLE_DUMP"),urls:S2("AINR_URLS"),cacheTime:S2("AINR_CACHE_TIME"),dumpTime:S2("AINR_DUMP_TIME")}),s=xs(s),await e.init(s),this._ctx.extensionManager.register(e),this._addListenExtensionEvent(e),null==(t=this._localAudioTrack)||t.generatePreProcessingTrack(),null==(i=this._localVideoTrack)||i.generatePreProcessingTrack(),null==(r=this._localScreenAudioTrack)||r.generatePreProcessingTrack()}defaultTranscoding(){return JSON.parse(JSON.stringify(FO()))}async _updatePublish(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.logger.info("_updatePublish()","config: %o",e),e=mr(mr({},{mediaType:void 0,invokeByJoinRoom:!1,pubState:AS.PUB}),e),!this._ctx.visibility)throw new b$(bY.NO_PUBLISH_PERMISSION,"no publish permission");let i=await this._pubLock.lock();if(this._room&&this._ctx.signalingManager.isConnected())try{await this._room.publish(this._localVideoTrack,this._localAudioTrack,e.mediaType,e.pubState,e.invokeByJoinRoom)}catch(e){throw e instanceof b$?(e.code===bY.TOKEN_NO_PUBLISH_PERMISSION&&this._room.config.setTokenPublishPrivilegeExpired(!0),e):new b$(bY.UNEXPECTED_ERROR,"unexpected error",e)}finally{i()}else if(i(),t)throw new b$(bY.NOT_CONNECTED_YET,"not connected")}async startAudioPlaybackDeviceTest(e,t){return this.logger.print("startAudioPlaybackDeviceTest()","filePath: %o, indicationInterval: %o",e,t),b2(e,"filePath"),b1(t,"indicationInterval"),await this._audioDeviceManager.startAudioPlaybackDeviceTest(e,t)}stopAudioPlaybackDeviceTest(){this.logger.info("stopAudioPlaybackDeviceTest()"),this._audioDeviceManager.stopAudioPlaybackDeviceTest()}async startAudioDeviceRecordTest(e,t){this.logger.print("startAudioDeviceRecordTest()","indicationInterval: %o",e),b1(e,"indicationInterval"),await this._audioDeviceManager.startAudioDeviceRecordTest(e,t,this._localAudioVolume)}stopAudioDeviceRecordAndPlayTest(){this.logger.info("stopAudioDeviceRecordAndPlayTest()"),this._audioDeviceManager.stopAudioDeviceRecordAndPlayTest()}stopAudioDevicePlayTest(){this.logger.info("stopAudioDevicePlayTest()"),this._audioDeviceManager.stopAudioDevicePlayTest()}setRemoteUserPriority(e,t){var i;this.logger.print("setRemoteUserPriority()","userId: %o, priority: %o",e,t);try{Si(e),b3(t,"priority",[hS.HIGH,hS.MEDIUM,hS.LOW])}catch(e){return!1}return this._ctx.userPriority.set(e,t),null==(i=this._room)||i.updateRemoteUserPriority(e),!0}async takeLocalSnapshot(e){this.logger.print("takeLocalSnapshot()","streamIndex: %o",e),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]);let t=e===ho.STREAM_INDEX_MAIN?this.localVideoTrack:this.localScreenVideoTrack;if(!t)throw new b$(bY.INVOKED_BEFORE_CAPTURE,"capture first");return t.snapshot()}async takeRemoteSnapshot(e,t){var i;this.logger.print("takeRemoteSnapshot()","id: %o, streamIndex: %o",e,t),b2(e,"id"),b3(t,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]);let r=(null==(i=this._room)||null==(i=i.remoteStreams.get(e))||null==(i=i.find(e=>e.isScreen===(t===ho.STREAM_INDEX_SCREEN)))?void 0:i.videoTrack)||this._wtnStreamManager.__getPublicStreamTrack(e,"video");if(!r)throw new b$(bY.STREAM_NOT_EXIST,"stream not exist");return r.snapshot()}setSubscribeFallbackOption(e){this.logger.info("setSubscribeFallbackOption()","option: %o",e);try{b3(e,"option",[hb.DISABLE,hb.VIDEO_STREAM_LOW,hb.AUDIO_ONLY])}catch(e){return!1}return!this._room&&(this._ctx.subscribeFallbackOption=e,!0)}getLocalStreamTrack(e,t){let i,r;if(e===ho.STREAM_INDEX_MAIN?(i="video"===t?this.localVideoTrack:this.localAudioTrack,r=()=>{var e;return null==(e=this._room)?void 0:e.localStream}):(i="video"===t?this.localScreenVideoTrack:this.localScreenAudioTrack,r=()=>{var e;return null==(e=this._room)?void 0:e.localScreenStream}),!i)return;let s=i instanceof NY&&i.mixedAudioTrack?i.mixedAudioTrack:i.preprocessingTrack;if(!s)return;let n=r();return this._reportMsTrackEvent(s,(null==n?void 0:n.stream.id)||"local"),s}getRemoteStreamTrack(e,t,i){var r,s,n,a,o;let l,c,d=(null==(r=this._room)?void 0:r.remoteStreams.get(e))||[];if(null==d||!d.length||(t===ho.STREAM_INDEX_MAIN?(c=d.find(e=>!e.isScreen),l="video"===i?null==(s=c)?void 0:s.videoTrack:null==(n=c)?void 0:n.audioTrack):(c=d.find(e=>e.isScreen),l="video"===i?null==(a=c)?void 0:a.videoTrack:null==(o=c)?void 0:o.audioTrack),!l))return;let u=l.preprocessingTrack;if(!u||!c)return;let{streamId:h}=c;return this._reportMsTrackEvent(u,h),u}getPublicStreamTrack(e,t){let i=this._wtnStreamManager.__getPublicStreamTrack(e,t),r=null==i?void 0:i.preprocessingTrack;if(r)return r?(this._reportMsTrackEvent(r,e),r):void 0}setRemoteStreamRenderSync(e){return!this._room&&(this._ctx.avSync=!!e,!0)}setJoinRoomParams(e){e&&(this._ctx.joinRoomParams=e)}async setAudioSelectionConfig(e){b3(e,"audioSelectionPriority",[hP.DEFAULT,hP.HIGH]),this._ctx.mediaParams||(this._ctx.mediaParams={}),this._ctx.mediaParams.audioSelectionConfig={isHighPriority:e===hP.HIGH},this._room&&await this._room.updateMediaParams(this._ctx.mediaParams)}setCaptureVolume(e,t){var i,r,s,n,a;b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),t=Sp(t,"volume",0,400),e===ho.STREAM_INDEX_SCREEN?(null==(i=this._localScreenAudioTrack)||i.once("needReplaceTrack",()=>{var e;null==(e=this._room)||e.updatePubScreenTrack()}),null==(r=this._localScreenAudioTrack)||r.setVolume(t),this._localScreenAudioVolume=t):(null==(s=this._localAudioTrack)||s.once("needReplaceTrack",()=>{var e;null==(e=this._room)||e.updatePubTrack()}),null==(n=this._localAudioTrack)||n.setVolume(t),null==(a=this._audioDeviceManager.audioTrack)||a.setVolume(t),this._localAudioVolume=t)}setPlaybackVolume(e,t,i){var r,s,n;if(Si(e),b3(t,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),i=Sp(i,"volume",0,400),null!=(r=this._room)&&r.config.isMultiChatMode())return;let a=t===ho.STREAM_INDEX_SCREEN;a?this._remoteScreenAudioVolume.set(e,i):this._remoteAudioVolume.set(e,i);let o=null==(s=this._room)||null==(s=s.remoteStreams.get(e))?void 0:s.find(e=>e.isScreen===a);null==o||null==(n=o.audioTrack)||n.setVolume(i)}setPublicStreamVolume(e,t){this._wtnStreamManager.setWTNRemoteAudioPlaybackVolume(e,t)}async startForwardStreamToRooms(e){return e.forEach(e=>{St(e.roomId)}),this._assertNotInRoom(),await this._room.startForwardStream2Rooms(e)}async updateForwardStreamToRooms(e){return e.forEach(e=>{St(e.roomId)}),this._assertNotInRoom(),await this._room.updateForwardStream2Rooms(e)}async stopForwardStreamToRooms(){return this._assertNotInRoom(),await this._room.stopForwardStream2Rooms()}async pauseForwardStreamToAllRooms(){return this._assertNotInRoom(),await this._room.pauseForwardStream2AllRooms()}async resumeForwardStreamToAllRooms(){return this._assertNotInRoom(),await this._room.resumeForwardStream2AllRooms()}async ambulance(){let e=await Ue(this),t=JSON.stringify(e);return this.monitor.reportLongString("ambulance",t),e}async setEarMonitorMode(e,t){this.logger.info("setEarMonitorMode()","streamIndex: %s, position: %s",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),b3(t,"position",[hD.NONE,hD.AFTER_CAPTURE,hD.AFTER_PROCESS]),this._ctx.earMonitorSettings[e].position=t;let i=e===ho.STREAM_INDEX_MAIN?this.localAudioTrack:e===ho.STREAM_INDEX_SCREEN?this.localScreenAudioTrack:void 0;if(i)return t!==hD.NONE?i.play(t):i.stop();this.logger.warn("setEarMonitorMode()","local audio track not exist")}setEarMonitorVolume(e,t){this.logger.info("setEarMonitorVolume()","streamIndex: %s, volume: %s",e,t),b3(e,"streamIndex",[ho.STREAM_INDEX_MAIN,ho.STREAM_INDEX_SCREEN]),t=Sp(t,"volume",0,400),this._ctx.earMonitorSettings[e].volume=t;let i=e===ho.STREAM_INDEX_MAIN?this.localAudioTrack:e===ho.STREAM_INDEX_SCREEN?this.localScreenAudioTrack:void 0;if(i)return i.setPlaybackVolume(t);this.logger.warn("setEarMonitorVolume()","local audio track not exist")}setUserInfo(e,t){St(e),Si(t),this.monitor.set({room_id:e,user_id:t})}_reportMsTrackEvent(e,t){if(!e.hookStop){e.hookStop=!0;let i=e.stop;e.stop=()=>{v$(this.id,"stop",t,0,t),i.call(e)}}}async _updateScreenPublish(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.logger.info("_updateScreenPublish()"),e=mr(mr({},{mediaType:void 0,pubState:AS.PUB}),e),!this._ctx.visibility)throw new b$(bY.NO_PUBLISH_PERMISSION,"no publish permission");let t=await this._pubLock.lock();if(this._room&&this._ctx.signalingManager.isConnected())try{await this._room.publishScreen(this._localScreenVideoTrack,this._localScreenAudioTrack,e.mediaType,e.pubState)}catch(e){throw e instanceof b$?e:new b$(bY.UNEXPECTED_ERROR,"unexpected error",e)}finally{t()}else t()}_updateAudioPlayerState(e){var t,i,r,s,n,a,o,l;this.logger.info("_updateAudioPlayerState()");let{userId:c,isScreen:d,isPublic:u}=e;if(e.audioTrack&&e.attributes.audiostream&&e.subAudio){if(!e.audioTrack.havePlayer()){let t=new NK(this.id,c,{muted:(null==(s=this._config)?void 0:s.autoPlayPolicy)===hE.VIDEO_ONLY||(null==(n=this._config)?void 0:n.autoPlayPolicy)===hE.PLAY_MANUALLY,isScreen:!u&&d});e.audioTrack.setPlayer(t),e.audioTrack.bindPlayerEvent(this._initPlayerEvents.bind(this));let i=this._audioDeviceManager.getSinkId();i&&e.audioTrack.setPlaybackDevice(i)}e.audioTrack.play();let l=u?null!=(t=this._ctx.publicAudioVolume.get(c))?t:100:d?null!=(i=this._remoteScreenAudioVolume.get(c))?i:100:null!=(r=this._remoteAudioVolume.get(c))?r:100;e.audioTrack.setVolume(l),bd&&bv&&Fz(null!=(a=null==(o=this._room)?void 0:o.remoteStreams)?a:new Map)}else null==(l=e.audioTrack)||l.stop()}_updateVideoPlayerState(e){if(this.logger.info("_updateVideoPlayerState()"),e.videoTrack){let i=e.isPublic?this._wtnStreamManager._publicVideoPlayerConfig:this._remoteVideoPlayerConfig[e.isScreen?ho.STREAM_INDEX_SCREEN:ho.STREAM_INDEX_MAIN].get(e.userId);if(i)for(let[,r]of i){var t;e.videoTrack.setPlayer(this.id,r,null==(t=this._config)?void 0:t.autoPlayPolicy,this._initPlayerEvents.bind(this))}}}get _localVideoTrack(){return this._ctx.localVideoTrack}get _localAudioTrack(){return this._ctx.localAudioTrack}set _localVideoTrack(e){this._ctx.localVideoTrack=e}set _localAudioTrack(e){this._ctx.localAudioTrack=e}async _onAddStream(e){let t=e.stream,{localaudio:i,audiostream:r,localvideo:s,videostream:n}=t.attributes,a=Sf.NONE;r&&(a|=hl.AUDIO),n&&(a|=hl.VIDEO),a&&(await new Promise(e=>setTimeout(e)),t.isScreen?this.safeEmit(bq.onUserPublishScreen,{userId:t.userId,mediaType:a}):(this.safeEmit(bq.onUserPublishStream,{userId:t.userId,mediaType:a,videoStreamDescriptions:t.attributes.videoDescriptions}),this._handleAutoSubscribe(t,!0)),this.safeEmit("onAddStream",{userId:t.userId,mediaType:a,isScreen:!!t.isScreen}),t.isScreen||(i&&this.safeEmit(bq.onUserStartAudioCapture,{userId:t.userId}),s&&this.safeEmit(bq.onUserStartVideoCapture,{userId:t.userId})))}_handleAutoSubscribe(e,t){var i,r,s,n,a;let o=Sf.NONE;null!=(i=this._room)&&i.config.isAutoSubscribeAudio&&(o|=hl.AUDIO),null!=(r=this._room)&&r.config.isAutoSubscribeVideo&&(o|=hl.VIDEO),o&&(t&&k3(o)&&(null==(n=e.observer)||n.setAutoSubscribeAudio(!0)),t&&k4(o)&&(null==(a=e.observer)||a.setAutoSubscribeVideo(!0)),null!=(s=this._room)&&s.config.tokenSubscribePrivilegeExpired?(k3(o)&&(this._pauseAllSubscribeState.resumeAudioStreamIds[e.streamId]=e.streamId),k4(o)&&(this._pauseAllSubscribeState.resumeVideoStreamIds[e.streamId]=e.streamId)):this._subscribe(!1,e.userId,o))}_onRemoveStream(e){var t;let i=e.stream,r=null!=(t=Uc[e.reason])?t:hc.STREAM_REMOVE_REASON_OTHER,s=i.isScreen?bq.onUserUnpublishScreen:bq.onUserUnpublishStream,n=Sf.NONE;i.attributes.audiostream&&(n|=hl.AUDIO),i.attributes.videostream&&(n|=hl.VIDEO),n!==Sf.NONE&&(this.safeEmit(s,{userId:i.userId,mediaType:n,reason:r}),this.safeEmit("onRemoveStream",{userId:i.userId,isScreen:i.isScreen})),delete this._pauseAllSubscribeState.resumeAudioStreamIds[i.streamId],delete this._pauseAllSubscribeState.resumeVideoStreamIds[i.streamId]}_onUserConnection(e){setTimeout(()=>this.safeEmit(bq.onUserJoined,e))}_onUserLeave(e){this.safeEmit(bq.onUserLeave,e)}_onRoomError(e){var t;this.safeEmit(bq.onError,e),null==(t=this._room)||t.destroy(),this._room=void 0}_onNetworkQuality(){for(var e=arguments.length,t=Array(e),i=0;i{var t;return null==(t=e.audioTrack)?void 0:t.stop()})}else e.state===hd.CONNECTION_STATE_CONNECTED&&this._rtmClient.setRTSMessageLimit(this._ctx.rtsLimiter.conf)}_stopAudioPropertiesReport(){null!==this._audioPropertiesReportTimer&&(clearInterval(this._audioPropertiesReportTimer),this._audioPropertiesReportTimer=null)}_onResubscribe(e){var t,i;e.stream&&(null==(t=e.stream.videoTrack)||t.stopAll(),null==(i=e.stream.audioTrack)||i.stop(),this._updateAudioPlayerState(e.stream),this._updateVideoPlayerState(e.stream))}_onSubscribePushTrack(e){e.stream&&this._updateAudioPlayerState(e.stream)}_onRemovePushTrack(e){e.stream&&this._updateAudioPlayerState(e.stream)}_onUserPublishStateChange(e){let{userId:t,isScreen:i,mediaType:r,pubState:s,remoteStream:n}=e,a={userId:t,mediaType:r};r&hl.AUDIO&&setTimeout(()=>{this._updateAudioPlayerState(n)}),i?s===AS.PUB?this.safeEmit(bq.onUserPublishScreen,a):this.safeEmit(bq.onUserUnpublishScreen,mr(mr({},a),{},{reason:hc.STREAM_REMOVE_REASON_UNPUBLISH})):s===AS.PUB?(a.videoStreamDescriptions=n.attributes.videoDescriptions,this.safeEmit(bq.onUserPublishStream,a),this._handleAutoSubscribe(n,!0)):this.safeEmit(bq.onUserUnpublishStream,mr(mr({},a),{},{reason:hc.STREAM_REMOVE_REASON_UNPUBLISH}))}_onCustomMessage(e){let{message:t}=e;e.binary?this.safeEmit(bq.onRoomBinaryMessageReceived,{userId:e.clientId,message:t}):this.safeEmit(bq.onRoomMessageReceived,{userId:e.clientId,message:t})}_onUserMessageReceived(e){this._messageStatisticsObserver.recvP2PMessage(e.userId),this.safeEmit(bq.onUserMessageReceived,e)}_onUserBinaryMessageReceived(e){this._messageStatisticsObserver.recvP2PMessage(e.userId),this.safeEmit(bq.onUserBinaryMessageReceived,e)}_onLiveTranscodingResult(e){this.safeEmit(bq.onLiveTranscodingResult,e)}_onStreamMixingEvent(e){this.safeEmit(bq.onStreamMixingEvent,e)}_onUserTokenWillExpire(){this.safeEmit(bq.onTokenWillExpire)}_onUserTokenPublishPrivilegeWillExpire(){this.safeEmit(bq.onTokenPublishPrivilegeWillExpire)}async _onUserTokenPublishPrivilegeDidExpired(){var e,t,i;await (null==(e=this._room)?void 0:e.unpublish().catch(()=>{})),await (null==(t=this._room)?void 0:t.unpublishScreen().catch(()=>{})),null==(i=this._room)||i.config.setTokenPublishPrivilegeExpired(!0),this.safeEmit(bq.onTokenPublishPrivilegeDidExpired,{errorCode:bY.TOKEN_NO_PUBLISH_PERMISSION,message:"Token no longer has publish privilege"})}_onUserTokenSubscribePrivilegeWillExpire(){this.safeEmit(bq.onTokenSubscribePrivilegeWillExpire)}async _onUserTokenSubscribePrivilegeDidExpired(){this._handleLoseSubscribePrivilege(),this.safeEmit(bq.onTokenSubscribePrivilegeDidExpired,{errorCode:bY.TOKEN_NO_SUBSCRIBE_PERMISSION,message:"Token no longer has subscribe privilege"})}async _unSubscribeAllRemoteStreams(){return this._room?this._pauseAllRemoteStreams(hl.AUDIO_AND_VIDEO):Promise.resolve()}_onPushPublicStreamResult(e){this.safeEmit(bq.onPushPublicStreamResult,e)}_handleRTMClient(e){e.on("onUserMessageReceivedOutsideRoom",e=>{this._messageStatisticsObserver.recvP2POutRoomMessage(e.userId),this.safeEmit(bq.onUserMessageReceivedOutsideRoom,e)}),e.on("onUserBinaryMessageReceivedOutsideRoom",e=>{this._messageStatisticsObserver.recvP2POutRoomMessage(e.userId),this.safeEmit(bq.onUserBinaryMessageReceivedOutsideRoom,e)}),e.on("onUserDisconnection",()=>{this.safeEmit(bq.onError,{errorCode:bY.RTM_DUPLICATE_LOGIN})}),e.on("onRTMTokenError",()=>{this.safeEmit(bq.onError,{errorCode:bY.RTM_TOKEN_ERROR})}),e.on("onServerParamsSetResult",e=>{this.safeEmit(bq.onServerParamsSetResult,null==e?void 0:e.code)})}getSubLock(e,t){let i=e?this._subScreenLocks:this._subLocks,r=i.get(t);return r||(r=new Az("sub_".concat(+!!e,"_").concat(t)),i.set(t,r)),r}get localAudioTrack(){return this._localAudioTrack}get localVideoTrack(){return this._localVideoTrack}get localScreenAudioTrack(){return this._localScreenAudioTrack}get localScreenVideoTrack(){return this._localScreenVideoTrack}get remoteStreams(){var e;let t=[];return null!=(e=this._room)&&e.remoteStreams&&this._room.remoteStreams.forEach(e=>{Array.isArray(e)&&e.forEach(e=>{t.push({userId:e.userId,isScreen:e.isScreen,hasVideo:e.hasVideo,hasAudio:e.hasAudio,videoStreamDescriptions:e.attributes.videoDescriptions})})}),t}get iceState(){var e;return null==(e=this._ctx.peerConnection)?void 0:e.getIceConnectionState()}get remoteUsers(){var e;let t=[];return null!=(e=this._room)&&e.remoteUsers&&this._room.remoteUsers.forEach(e=>{t.push({userId:e.userId})}),t}get multiChatMode(){var e;return!(null==(e=this._room)||!e.config.isMultiChatMode())}get checkMediaType(){return this._checkMediaType}get assertNotInRoom(){return this._assertNotInRoom}get peerConnection(){var e;return null==(e=this._ctx.peerConnection)?void 0:e.getOriginRTCPeerConnection()}_handleAudioDeviceManager(){this._audioDeviceManager.on("onAudioPlaybackDeviceTestVolume",e=>{this.safeEmit(bq.onAudioPlaybackDeviceTestVolume,e)})}_assertNotInRoom(){if(!this._room||!this._ctx.signalingManager.isConnected())throw new b$(bY.NOT_CONNECTED_YET,"server not connected")}_checkMediaType(e){b3(e,"mediaType",[hl.AUDIO,hl.VIDEO,hl.AUDIO_AND_VIDEO])}_getUserId(){var e;return(null==(e=this._room)?void 0:e.config.userInfo.userId)||"local_user"}async _switchTrack(e){var t;this._initLocalTrackEvents(e),this._localVideoTrack=e,this._localVideoPlayerConfig[ho.STREAM_INDEX_MAIN].forEach(t=>{var i;e.setPlayer(t,this._mirrorType,null==(i=this._config)?void 0:i.autoPlayPolicy,this._initPlayerEvents.bind(this))}),null!=(t=this._room)&&null!=(t=t.localStream)&&t.pubVideo&&await this._updatePublish(),this._wtnStreamManager._updatePushTrack()}async _shouldUpdateAudioConf(e){var t,i;let r=await (null==(t=this._room)?void 0:t.hasPublished())||(null==(i=this._room)||null==(i=i.localStream)?void 0:i.pubAudio)||this._localAudioTrack&&this._localAudioTrack.sourceType===wo.INTERNAL;if(r){let t="engine.".concat(e," should be called before publishing or capturing.");v$(this.id,e,t)}return!r}_getRemoteVideoPlayerConfig(e,t,i){var r;return null==(r=this._remoteVideoPlayerConfig[e].get(t))?void 0:r.get(i)}_setRemoteVideoPlayerConfig(e,t,i,r){let s=this._remoteVideoPlayerConfig[e].get(t)||new Map;s.set(i,r),this._remoteVideoPlayerConfig[e].set(t,s)}getRemoteVideoStats(){var e;let t=null==(e=this._room)?void 0:e.remoteStreams;if(!t||0===t.size)return{};let i={};return t.forEach((e,t)=>{var r,s,n;let a,o;null!=(r=e[0])&&r.isScreen?(o=e[0],a=e[1]):(o=e[1],a=e[0]);let l={mainVideoStats:k5((null==(s=a)?void 0:s.getRemoteStreamStats().videoStats)||{}),screenVideoStats:k5((null==(n=o)?void 0:n.getRemoteStreamStats().videoStats)||{})};i[t]=l}),i}getRemoteAudioStats(){var e;let t=null==(e=this._room)?void 0:e.remoteStreams;if(!t||0===t.size)return{};let i={};return t.forEach((e,t)=>{var r,s,n;let a,o;null!=(r=e[0])&&r.isScreen?(o=e[0],a=e[1]):(o=e[1],a=e[0]);let l={mainAudioStats:k5((null==(s=a)?void 0:s.getRemoteStreamStats().audioStats)||{}),screenAudioStats:k5((null==(n=o)?void 0:n.getRemoteStreamStats().audioStats)||{})};i[t]=l}),i}getLocalVideoStats(){var e,t;return{mainVideoStats:k5((null==(e=this._room)||null==(e=e.localStream)?void 0:e.getLocalStreamStats().videoStats)||{}),screenVideoStats:k5((null==(t=this._room)||null==(t=t.localScreenStream)?void 0:t.getLocalStreamStats().videoStats)||{})}}getLocalAudioStats(){var e,t;return{mainAudioStats:k5((null==(e=this._room)||null==(e=e.localStream)?void 0:e.getLocalStreamStats().audioStats)||{}),screenAudioStats:k5((null==(t=this._room)||null==(t=t.localScreenStream)?void 0:t.getLocalStreamStats().audioStats)||{})}}getPublicVideoStats(){let e=this._wtnStreamManager.__getRemoteStreams();if(!e||0===e.size)return{};let t={};return e.forEach((e,i)=>{let r=k5(e.getRemoteStreamStats().videoStats||{});delete r.isScreen,t[i]=r}),t}getPublicAudioStats(){let e=this._wtnStreamManager.__getRemoteStreams();if(!e||0===e.size)return{};let t={};return e.forEach((e,i)=>{let r=k5(e.getRemoteStreamStats().audioStats||{});delete r.isScreen,t[i]=r}),t}_initAutoplayFailedWorkaround(){if(SQ.AUTOPLAY_WORKAROUND&&(SQ.ENABLE_PLAY_AFTER_CLICK||bS)){let e,t,i=[];this.on(bq.onAutoplayFailed,e=>{i.push(e),s()});let r=()=>{i.length>0&&(v$(this.id,"resumePlay",JSON.stringify(i)),Promise.all(i.map(e=>this.play(e.userId,e.mediaType,e.streamIndex,e.playerId))).then(()=>{i=[],v$(this.id,"resumePlaySuccess",JSON.stringify(i))}).catch(()=>{v$(this.id,"resumePlayFailed",JSON.stringify(i))}))};SQ.ENABLE_PLAY_AFTER_CLICK&&(document.addEventListener("click",r),e=()=>{document.removeEventListener("click",r)});let s=()=>{var e,t;window.WeixinJSBridge&&(v$(this.id,"resumePlayInWxBridge",JSON.stringify(i)),null==(e=(t=window.WeixinJSBridge).invoke)||e.call(t,"getNetworkType",{},r))};bS&&!window.WeixinJSBridge&&(document.addEventListener("WeixinJSBridgeReady",s,!1),t=()=>{document.removeEventListener("WeixinJSBridgeReady",s)}),this._revokeAutoplayFailedWorkaround=()=>{var i,r;null==(i=e)||i(),null==(r=t)||r()}}}},dY(Ur,"hasReportNativeDetector",!1),Ur),Ul=Uo;Ua([vX()],Ul.prototype,"updateToken",1),Ua([vX(),Uh("video")],Ul.prototype,"setVideoCaptureDevice",1),Ua([vX(),Uh("audio")],Ul.prototype,"setAudioCaptureDevice",1),Ua([vX()],Ul.prototype,"connect",1),Ua([xt,vX()],Ul.prototype,"joinRoom",1),Ua([vX()],Ul.prototype,"leaveRoom",1),Ua([vX()],Ul.prototype,"destroy",1),Ua([vX(),OX],Ul.prototype,"publishStream",1),Ua([vX(),OX],Ul.prototype,"unpublishStream",1),Ua([vX(),OX],Ul.prototype,"publishScreen",1),Ua([vX(),OX],Ul.prototype,"unpublishScreen",1),Ua([vX(),OX],Ul.prototype,"subscribeStream",1),Ua([Ud],Ul.prototype,"_subscribe",1),Ua([vX(),OX],Ul.prototype,"unsubscribeStream",1),Ua([vX(),OX],Ul.prototype,"subscribeScreen",1),Ua([vX(),OX],Ul.prototype,"unsubscribeScreen",1),Ua([Ud],Ul.prototype,"_unsubscribe",1),Ua([vX(),Uu],Ul.prototype,"setRemoteVideoConfig",1),Ua([vX()],Ul.prototype,"setRemoteSimulcastStreamType",1),Ua([vX(),Uh("video")],Ul.prototype,"startVideoCapture",1),Ua([vX(),Uh("video")],Ul.prototype,"stopVideoCapture",1),Ua([vX(),Uh("audio")],Ul.prototype,"startAudioCapture",1),Ua([vX(),Uh("audio")],Ul.prototype,"stopAudioCapture",1),Ua([vX(),Uh("all")],Ul.prototype,"startAudioAndVideoCapture",1),Ua([vX()],Ul.prototype,"startVideoAndAudioCapture",1),Ua([vX()],Ul.prototype,"getAudioMixingManager",1),Ua([vX()],Ul.prototype,"getWTNStreamManager",1),Ua([vX()],Ul.prototype,"getCallId",1),Ua([vX(),Up],Ul.prototype,"startScreenCapture",1),Ua([vX(),Up],Ul.prototype,"stopScreenCapture",1),Ua([vX()],Ul.prototype,"setLocalVideoPlayer",1),Ua([vX(),OX],Ul.prototype,"startLiveTranscoding",1),Ua([vX(),OX],Ul.prototype,"updateLiveTranscoding",1),Ua([vX(),OX],Ul.prototype,"stopLiveTranscoding",1),Ua([vX(),OX],Ul.prototype,"startSubtitle",1),Ua([vX(),OX],Ul.prototype,"updateSubtitleConfig",1),Ua([vX(),OX],Ul.prototype,"stopSubtitle",1),Ua([vX()],Ul.prototype,"setBusinessId",1),Ua([vX(),OX],Ul.prototype,"setUserVisibility",1),Ua([vX()],Ul.prototype,"setRemoteVideoPlayer",1),Ua([vX()],Ul.prototype,"setLocalVideoMirrorType",1),Ua([vX()],Ul.prototype,"setRemoteVideoMirrorType",1),Ua([vX()],Ul.prototype,"setAudioPlaybackDevice",1),Ua([vX()],Ul.prototype,"play",1),Ua([vX()],Ul.prototype,"stop",1),Ua([vX()],Ul.prototype,"getAudioVolume",1),Ua([vX()],Ul.prototype,"setAudioFrameCallback",1),Ua([vX(),OX],Ul.prototype,"pauseAllSubscribedStream",1),Ua([vX(),OX],Ul.prototype,"resumeAllSubscribedStream",1),Ua([vX()],Ul.prototype,"sendUserMessage",1),Ua([vX()],Ul.prototype,"sendUserBinaryMessage",1),Ua([vX()],Ul.prototype,"sendRoomMessage",1),Ua([vX()],Ul.prototype,"sendRoomBinaryMessage",1),Ua([vX()],Ul.prototype,"setAudioCaptureConfig",1),Ua([k8("4.51"),vX()],Ul.prototype,"setVideoCaptureConfig",1),Ua([vX()],Ul.prototype,"enableSimulcastMode",1),Ua([vX()],Ul.prototype,"setLocalSimulcastMode",1),Ua([vX()],Ul.prototype,"setVideoEncoderConfig",1),Ua([vX()],Ul.prototype,"setScreenEncoderConfig",1),Ua([vX(),OX],Ul.prototype,"sendSEIMessage",1),Ua([k8("4.42"),vX()],Ul.prototype,"setAudioVolumeIndicationInterval",1),Ua([vX()],Ul.prototype,"enableAudioPropertiesReport",1),Ua([vX()],Ul.prototype,"setVideoSourceType",1),Ua([vX()],Ul.prototype,"setExternalVideoTrack",1),Ua([vX()],Ul.prototype,"setAudioSourceType",1),Ua([vX()],Ul.prototype,"setExternalAudioTrack",1),Ua([vX()],Ul.prototype,"login",1),Ua([vX()],Ul.prototype,"logout",1),Ua([vX()],Ul.prototype,"updateLoginToken",1),Ua([vX()],Ul.prototype,"getPeerOnlineStatus",1),Ua([vX()],Ul.prototype,"sendUserMessageOutsideRoom",1),Ua([vX()],Ul.prototype,"sendUserBinaryMessageOutsideRoom",1),Ua([vX()],Ul.prototype,"setServerParams",1),Ua([vX()],Ul.prototype,"sendServerMessage",1),Ua([vX()],Ul.prototype,"sendServerBinaryMessage",1),Ua([vX()],Ul.prototype,"startCloudProxy",1),Ua([vX()],Ul.prototype,"stopCloudProxy",1),Ua([vX()],Ul.prototype,"startPushPublicStream",1),Ua([vX()],Ul.prototype,"updatePublicStreamParam",1),Ua([vX()],Ul.prototype,"stopPushPublicStream",1),Ua([vX(["streamId"])],Ul.prototype,"startPlayPublicStream",1),Ua([vX(["streamId"])],Ul.prototype,"stopPlayPublicStream",1),Ua([vX()],Ul.prototype,"setAudioProfile",1),Ua([vX()],Ul.prototype,"setAudioEncodeMaxBitrate",1),Ua([vX()],Ul.prototype,"setPublicStreamVideoPlayer",1),Ua([vX()],Ul.prototype,"setDummyCaptureImagePath",1),Ua([vX()],Ul.prototype,"registerExtension",1),Ua([vX()],Ul.prototype,"startAudioPlaybackDeviceTest",1),Ua([vX()],Ul.prototype,"stopAudioPlaybackDeviceTest",1),Ua([vX()],Ul.prototype,"startAudioDeviceRecordTest",1),Ua([vX()],Ul.prototype,"stopAudioDeviceRecordAndPlayTest",1),Ua([vX()],Ul.prototype,"stopAudioDevicePlayTest",1),Ua([vX(),Uu],Ul.prototype,"setRemoteUserPriority",1),Ua([vX()],Ul.prototype,"takeLocalSnapshot",1),Ua([vX()],Ul.prototype,"takeRemoteSnapshot",1),Ua([vX()],Ul.prototype,"setSubscribeFallbackOption",1),Ua([vX()],Ul.prototype,"getLocalStreamTrack",1),Ua([vX()],Ul.prototype,"getRemoteStreamTrack",1),Ua([vX()],Ul.prototype,"getPublicStreamTrack",1),Ua([vX()],Ul.prototype,"setRemoteStreamRenderSync",1),Ua([vX()],Ul.prototype,"setJoinRoomParams",1),Ua([vX(),OX],Ul.prototype,"setAudioSelectionConfig",1),Ua([vX(),OX],Ul.prototype,"startForwardStreamToRooms",1),Ua([vX(),OX],Ul.prototype,"updateForwardStreamToRooms",1),Ua([vX(),OX],Ul.prototype,"stopForwardStreamToRooms",1),Ua([vX(),OX],Ul.prototype,"pauseForwardStreamToAllRooms",1),Ua([vX(),OX],Ul.prototype,"resumeForwardStreamToAllRooms",1),Ua([vX()],Ul.prototype,"setEarMonitorMode",1),Ua([vX([],{debounce:2e3,debounceTag:function(e){return"".concat(e)}})],Ul.prototype,"setEarMonitorVolume",1),Ua([vX()],Ul.prototype,"setUserInfo",1);let Uc={"client unpublished":hc.STREAM_REMOVE_REASON_UNPUBLISH,"publish failed":hc.STREAM_REMOVE_REASON_PUBLISH_FAILED,"stream removed":hc.STREAM_REMOVE_REASON_KEEP_LIVE_FAILED,"client disconnected":hc.STREAM_REMOVE_REASON_CLIENT_DISCONNECTED,"client republish":hc.STREAM_REMOVE_REASON_REPUBLISH,"token publish privilege expired":hc.STREAM_REMOVE_REASON_TOKEN_PRIVILEGE_EXPIRED};function Ud(e,t,i){let r=i.value;return i.value=async function(){for(var e=arguments.length,t=Array(e),i=0;ie())}},r}}function Up(e,t,i){let r=i.value;return i.value=async function(){let e=await this._screenCaptureLock.lock();try{for(var t=arguments.length,i=Array(t),s=0;s{for(var s,n=r>1?void 0:r?Uf(t,i):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r?s(t,i,n):s(n))||n);return r&&n&&Um(t,i,n),n};class U_ extends Ul{constructor(e,t,i){super(e,t,i),dY(this,"singleStreamRenderMode",!1),this.id=t,this.logger=new bn("BLWEngine",0,t),S9([{width:192,height:108,frameRate:15,maxKbps:100},{width:320,height:180,frameRate:15,maxKbps:140},{width:640,height:360,frameRate:15,maxKbps:400},{width:1280,height:720,frameRate:15,maxKbps:1e3},{width:1920,height:1080,frameRate:15,maxKbps:2e3}]),this._handleEngineEvents()}async subscribeStream(e,t){return this.logger.print("subscribeStream()","userId: %o, mediaType: %o",e,t),this.singleStreamRenderMode&&k4(t)&&super.subscribeScreen(e,hl.VIDEO).catch(e=>{this.logger.error("singleStreamRenderMode subscribeScreen()",e)}),super.subscribeStream(e,t)}async unsubscribeStream(e,t){return this.logger.print("unsubscribeStream()","userId: %o, mediaType: %o",e,t),this.singleStreamRenderMode&&k4(t)&&super.unsubscribeScreen(e,hl.VIDEO).catch(e=>{this.logger.error("singleStreamRenderMode unsubscribeScreen()",e)}),super.unsubscribeStream(e,t)}setRemoteScreenVideoStreamIndex(e){return this.logger.print("setRemoteScreenVideoStreamIndex()","streamIndex: %o",e),!this._room&&(this.singleStreamRenderMode=e===ho.STREAM_INDEX_MAIN,!0)}setRemoteVideoPlayer(e,t){if(this.logger.print("setRemoteVideoPlayer()","streamIndex: %o, videoPlayerOption: %o",e,t),null==t||delete t.playerId,!this.singleStreamRenderMode||e!==ho.STREAM_INDEX_SCREEN)return super.setRemoteVideoPlayer(e,t)}destroy(){this.singleStreamRenderMode=!1,super.destroy()}_updateVideoPlayerState(e){var t,i,r,s,n,a,o,l,c,d,u;let h,p;if(!this.singleStreamRenderMode)return super._updateVideoPlayerState(e);let{userId:m}=e,f=null==(t=this._room)?void 0:t.remoteStreams.get(m);Array.isArray(f)&&f.forEach(e=>{e.isScreen?h=e:p=e});let g=null==(i=p)||null==(i=i.videoTrack)?void 0:i.dangerousGetPlayer(NF);if(!g){let e=null==(n=this._remoteVideoPlayerConfig[ho.STREAM_INDEX_MAIN].get(m))?void 0:n.get(NF);if(!e)return;null==(a=p)||null==(a=a.videoTrack)||a.setPlayer(this.id,e,null==(o=this._config)?void 0:o.autoPlayPolicy,this._initPlayerEvents.bind(this)),g=null==(l=p)||null==(l=l.videoTrack)?void 0:l.dangerousGetPlayer(NF)}!e.isScreen&&null!=(r=h)&&r.videoTrack&&h.videoHasPublish?(this.logger.print("_updateVideoPlayerState","prevent play main stream"),null==(c=g)||c.playVideo(h.videoTrack)):e.videoTrack?(null==(d=this._config)?void 0:d.autoPlayPolicy)!==hE.PLAY_MANUALLY&&(null==(u=g)||u.playVideo(e.videoTrack)):null!=(s=g)&&s.played&&g.stop()}_handleEngineEvents(){this.on(bq.onUserPublishScreen,e=>{if(this.singleStreamRenderMode&&k4(e.mediaType)){var t,i;let r=null==(t=this._room)?void 0:t.remoteStreams.get(e.userId),s=null==r?void 0:r.find(e=>!e.isScreen),n=null==r?void 0:r.find(e=>e.isScreen);null!=n&&n.hasSubscribed?(this.logger.info("onUserPublishScreen","singleStreamRenderMode screen hasSubscribed"),this._updateVideoPlayerState(n)):(null!=(i=this._room)&&i.config.isAutoSubscribeVideo||null!=s&&s.hasSubscribed&&k4(s.subMediaType))&&(this.logger.info("onUserPublishScreen","singleStreamRenderMode subscribeScreen"),this.subscribeScreen(e.userId,hl.VIDEO))}}),this.on(bq.onUserUnpublishScreen,e=>{if(this.singleStreamRenderMode&&k4(e.mediaType)){var t;let i=null==(t=this._room)?void 0:t.remoteStreams.get(e.userId),r=null==i?void 0:i.find(e=>!e.isScreen);r&&setTimeout(()=>{this._updateVideoPlayerState(r)})}})}}Ug([vX()],U_.prototype,"subscribeStream",1),Ug([vX()],U_.prototype,"unsubscribeStream",1),Ug([vX()],U_.prototype,"setRemoteScreenVideoStreamIndex",1),Ug([vX()],U_.prototype,"setRemoteVideoPlayer",1),Ug([vX()],U_.prototype,"destroy",1);let Uy=new bn("VERTC",0);h5.storeKey="".concat(Date.now(),"-").concat(bZ.getDeviceId()),vL({rtc_sdk_version:SQ.VERSION,device_id:bZ.getDeviceId(),log_cache_key:h5.storeKey}),vD(SQ.LOG_SERVER_URL);let Uv=1,Ub=(e,t)=>{Uy.info("createEngine","Invoke VERTC.createEngine"),b2(e,"appId");let i=(Uv++).toString();return vG(i,{rtc_app_id:e,auto_play_policy:null==t?void 0:t.autoPlayPolicy}),new Ul(e,i,t)},US=(e,t)=>{Uy.print("createBLWEngine","Invoke VERTC.createBLWEngine"),b2(e,"appId");let i=(Uv++).toString();return vG(i,{rtc_app_id:e,auto_play_policy:null==t?void 0:t.autoPlayPolicy}),new U_(e,i,t)},Uk=e=>{if(Uy.info("destroyEngine","Invoke VERTC.destroyEngine"),!(e instanceof Ul))throw new b$(bY.INVALID_ENGINE,"Invalid engine object");e.destroy(),vZ(e.monitor)},Ux=async()=>NP.enumerateDevices(),UC=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{video:!0,audio:!0},{video:t,audio:i}=e,r={video:!1,audio:!1},s=[];return t&&s.push(NP.getPermissions({video:!0,force:!0}).then(e=>{r.video=e.video,e.video||(r.videoExceptionError=e.reason)})),i&&s.push(NP.getPermissions({audio:!0,force:!0}).then(e=>{r.audio=e.audio,e.audio||(r.audioExceptionError=e.reason)})),await Promise.allSettled(s),r},Uw=async()=>NP.enumerateAudioCaptureDevices(),UE=async()=>NP.enumerateVideoCaptureDevices(),UT=async()=>NP.enumerateAudioPlaybackDevices(),UI=()=>SQ.VERSION,UR=()=>Sv(),UN=()=>SS(),UA=e=>{let{logLevel:t,LogfileSize:i}=e;t&&(h5.logLevel=t),i&&(h5.LogfileSize=i)},UM=e=>{h5.download(e)};function UP(){for(var e=arguments.length,t=Array(e),i=0;ie instanceof Ul?"[ENGINE]":e))}function Uj(e,t){return function(){vF(t,0,UP(...arguments));let i=e(...arguments);return"function"==typeof(null==i?void 0:i.then)?i.then(e=>(vU(t,0,UP(e)),e)).catch(e=>{throw vU(t,e.code,e.message),e}):(vU(t,0,UP(i)),i)}}class UL{constructor(){dY(this,"getSdkVersion",Uj(UI,"getSdkVersion")),dY(this,"createEngine",Uj(Ub,"createEngine")),dY(this,"createBLWEngine",Uj(US,"createBLWEngine")),dY(this,"destroyEngine",Uj(Uk,"destroyEngine")),dY(this,"enumerateDevices",Uj(Ux,"enumerateDevices")),dY(this,"enableDevices",Uj(UC,"enableDevices")),dY(this,"enumerateAudioCaptureDevices",Uj(Uw,"enumerateAudioCaptureDevices")),dY(this,"enumerateVideoCaptureDevices",Uj(UE,"enumerateVideoCaptureDevices")),dY(this,"enumerateAudioPlaybackDevices",Uj(UT,"enumerateAudioPlaybackDevices")),dY(this,"getParameter",S2),dY(this,"setParameter",S1),dY(this,"isSupported",Uj(UR,"isSupported")),dY(this,"getSupportedCodecs",Uj(UN,"getSupportedCodecs")),dY(this,"getElectronScreenSources",Uj(N3,"getElectronScreenSources")),dY(this,"events",bq),dY(this,"ErrorCode",bY),dY(this,"platform","VolcEngine"),dY(this,"commitInfo","HEAD"),dY(this,"downloadLog",Uj(UM,"downloadLog")),dY(this,"setLogConfig",Uj(UA,"setLogConfig"))}}var UD=new UL;function UO(e,t){let i=new Uint8Array(4);for(let e=0;e>24&255,n[5]=s>>16&255,n[6]=s>>8&255,n[7]=255&s,n.set(r,8),n.buffer}function UF(e){let t=new Uint8Array(e,0,4),i="";for(let e=0;e{Uz.destroyPreCreatedEngine()},Uz.PRE_CREATE_TTL_MS);let t=(performance.now()-a).toFixed(1);UU.logger.info(`[RTCEngineManager] preCreateEngine completed in ${t}ms, appId=${r}, audioRushSync=${s&&!n?"enabled":"skipped"}`),(0,UV.o3)({name:"rtc_voice_pre_create_engine",metrics:{duration_ms:Math.round(performance.now()-a)},categories:{status:"success"}}),(0,UB.w)("rtc_voice_pre_create_engine",{duration_ms:Math.round(performance.now()-a),status:"success"})}catch(e){UU.logger.warn("[RTCEngineManager] preCreateEngine failed:",e),Uz._preCreatedEngine=void 0,Uz._preCreatedAppId=void 0,(0,UV.o3)({name:"rtc_voice_pre_create_engine",metrics:{duration_ms:Math.round(performance.now()-a)},categories:{status:"failed"}}),(0,UB.w)("rtc_voice_pre_create_engine",{duration_ms:Math.round(performance.now()-a),status:"failed"})}}static consumePreCreatedEngine(e){Uz._preCreateTTLTimer&&(clearTimeout(Uz._preCreateTTLTimer),Uz._preCreateTTLTimer=void 0);let t=Uz._preCreatedEngine,i=Uz._preCreatedAppId;if(Uz._preCreatedEngine=void 0,Uz._preCreatedAppId=void 0,t){if(i!==e){UU.logger.warn(`[RTCEngineManager] Pre-created engine appId mismatch, destroying. cached=${i}, actual=${e}`);try{UD.destroyEngine(t)}catch{}return}return t}}static destroyRtcEngineSafely(e,t){try{let i=UD.destroyEngine(e);i&&"function"==typeof i.then&&i.then(void 0,e=>{UU.logger.warn(`[RTCEngineManager] destroyEngine async failed during ${t}, ignoring.`,e)})}catch(e){UU.logger.warn(`[RTCEngineManager] destroyEngine failed during ${t}, ignoring.`,e)}}static destroyPreCreatedEngine(){Uz._preCreateTTLTimer&&(clearTimeout(Uz._preCreateTTLTimer),Uz._preCreateTTLTimer=void 0),Uz._preCreatedEngine&&(Uz.destroyRtcEngineSafely(Uz._preCreatedEngine,"destroyPreCreatedEngine"),Uz._preCreatedEngine=void 0,Uz._preCreatedAppId=void 0)}static hasPreCreatedEngine(){return!!Uz._preCreatedEngine}async createEngine(e,t,r={}){let s=performance.now(),n=!1!==r.audioRushSyncEnabled,a=!0===r.deferAudioRushSync;(a||!n)&&Uz.hasPreCreatedEngine()&&(UU.logger.info(`[RTCEngineManager] createEngine: destroy pre-created engine, audioRushSyncEnabled=${n}, deferAudioRushSync=${a}`),Uz.destroyPreCreatedEngine());let o=a||!n?void 0:Uz.consumePreCreatedEngine(e);if(o){this.engine=o,this._audioRushSyncExtension=o.__audioRushSyncExtension,delete o.__audioRushSyncExtension,UU.logger.info(`[RTCEngineManager] createEngine: consumed pre-created engine in ${(performance.now()-s).toFixed(1)}ms, audioRushSync=${this._audioRushSyncExtension?"available":"unavailable"}`);return}let l=performance.now();this.engine=UD.createEngine(e);let c=(performance.now()-l).toFixed(1),d=performance.now();(async()=>{try{let{default:e}=await i.e("7036").then(i.bind(i,21799)),t=new e;await this.engine.registerExtension(t),t.enable(),UU.logger.info(`[RTCEngineManager] AINR \u{6269}\u{5C55}\u{5F02}\u{6B65}\u{6CE8}\u{518C}\u{6210}\u{529F} (${(performance.now()-d).toFixed(0)}ms)`)}catch{UU.logger.warn("[RTCEngineManager] AI \u964D\u566A\u6269\u5C55\u6CE8\u518C\u5931\u8D25\uFF0C\u73AF\u5883\u4E0D\u652F\u6301")}})();let u=performance.now(),h=n?a?"deferred":"0ms":"disabled";n&&!a&&(await this.ensureAudioRushSyncExtension(),h=this._audioRushSyncExtension?`${(performance.now()-u).toFixed(1)}ms`:"failed");let p=(performance.now()-s).toFixed(1);UU.logger.info(`[RTCEngineManager] createEngine breakdown: VERTC.createEngine=${c}ms, Rush=${h}, total=${p}ms (AINR deferred)`)}async ensureAudioRushSyncExtension(){if(!this.engine)return void UU.logger.warn("[RTCEngineManager] Audio Rush Sync register skipped: engine not created");if(!this._audioRushSyncExtension)try{let{default:e}=await i.e("9644").then(i.bind(i,91335));this._audioRushSyncExtension=new e({}),await this.engine.registerExtension(this._audioRushSyncExtension),UU.logger.info("[RTCEngineManager] Audio Rush Sync \u6269\u5C55\u6CE8\u518C\u6210\u529F")}catch{this._audioRushSyncExtension=void 0,UU.logger.warn("[RTCEngineManager] Audio Rush Sync \u6269\u5C55\u6CE8\u518C\u5931\u8D25\uFF0C\u529F\u80FD\u964D\u7EA7")}}isFrequentlyUser(e){try{let t=Uz.getUsageRecords(e);if(0===t.length)return!1;let i=Date.now(),r=t[t.length-1];if(i-re>=s).length>=Uz.LONG_TERM_MIN_COUNT)return!0;return!1}catch{return!1}}static recordVoiceUsage(e){try{let t=Uz.getUsageRecords(e);t.push(Date.now());let i=Date.now()-Uz.LONG_TERM_WINDOW_MS,r=t.filter(e=>e>=i),s=r.length>Uz.MAX_USAGE_RECORDS?r.slice(-Uz.MAX_USAGE_RECORDS):r,n=`${Uz.VOICE_USAGE_STORAGE_KEY}${e}`;localStorage.setItem(n,JSON.stringify(s))}catch{}}static getUsageRecords(e){try{let t=`${Uz.VOICE_USAGE_STORAGE_KEY}${e}`,i=localStorage.getItem(t);if(!i)return[];let r=JSON.parse(i);if(!Array.isArray(r))return[];return r.filter(e=>"number"==typeof e&&!isNaN(e))}catch{return[]}}setCallbacks(e){this.callbacks=e,this.bindEngineEvents()}async joinRoom(e,t){if(!this.engine)throw Error("[RTCEngineManager] Engine not created. Call createEngine() first.");this.currentTokenInfo=e;let i="chat"===t,r=performance.now();await this.engine.joinRoom(e.Token,e.RoomId,{userId:e.UserId,extraInfo:JSON.stringify({call_scene:"RTC-AIGC",user_name:e.UserId,user_id:e.UserId})},{isAutoPublish:!1,isAutoSubscribeAudio:i,roomProfileType:hC.chat}),UU.logger.info(`[RTCEngineManager] joinRoom completed in ${(performance.now()-r).toFixed(1)}ms, room=${e.RoomId}, isAutoPublish=false, isAutoSubscribeAudio=${i}`)}async startAudioCapture(){if(!this.engine)return;let e=performance.now();await this.engine.startAudioCapture(),this.engine.enableAudioPropertiesReport({interval:10}),UU.logger.info(`[RTCEngineManager] startAudioCapture completed in ${(performance.now()-e).toFixed(1)}ms`)}async stopAudioCapture(){if(this.engine)try{await this.engine.stopAudioCapture()}catch{}}detachEngine(){let e=this.engine;return this.engine=void 0,this.callbacks={},e}publishStream(){this.engine&&this.engine.publishStream(hl.AUDIO)}audioRushSyncPlay(){this._audioRushSyncExtension&&(UU.logger.info("[RTCEngineManager] Audio Rush Sync play \u2014 \u5F00\u59CB\u500D\u901F\u53D1\u9001\u7F13\u5B58\u97F3\u9891"),this._audioRushSyncExtension.play())}audioRushSyncReset(){this._audioRushSyncExtension&&this._audioRushSyncExtension.reset()}async registerDraftAsrExtension(e){let t;if(!this.engine)return"unsupported";await this.destroyDraftAsrExtension();try{t=await e.loader.load()}catch(e){return UU.logger.warn("[RTCEngineManager] Draft ASR extension load failed: "+String(e)),"sdk_extension_missing"}let i=t.default??t.RTCDraftASRExtension??t.IRTCDraftASRExtension;if(!i)return UU.logger.warn("[RTCEngineManager] Draft ASR extension constructor missing from loaded module"),"sdk_extension_missing";try{let r=new i(e.config),s=await r.isSupported?.();if(!1===s)return UU.logger.warn("[RTCEngineManager] Draft ASR extension is not supported in current runtime"),await r.destroy?.(),"unsupported";return await this.engine.registerExtension(r),this._draftAsrExtension=r,this._draftAsrLocalResultUnsubscribe=this.bindDraftAsrLocalResult(r,e.onLocalResult,t.EventTypes),this._draftAsrDiagnosticUnsubscribe=this.bindDraftAsrDiagnosticEvents(r,t.EventTypes),UU.logger.info("[RTCEngineManager] Draft ASR extension registered"),"none"}catch(e){return UU.logger.warn("[RTCEngineManager] Draft ASR extension register failed: "+String(e)),await this.destroyDraftAsrExtension(),"runtime_error"}}async preloadDraftAsrExtension(){if(!this._draftAsrExtension?.preload)return"none";try{return await this._draftAsrExtension.preload(),"none"}catch(e){return UU.logger.warn("[RTCEngineManager] Draft ASR preload failed: "+String(e)),"preload_failed"}}async startDraftAsrExtension(){if(!this._draftAsrExtension?.start)return"none";try{return await this._draftAsrExtension.start(),"none"}catch(e){return UU.logger.warn("[RTCEngineManager] Draft ASR start failed: "+String(e)),"start_failed"}}async stopDraftAsrExtension(){try{await this._draftAsrExtension?.stop?.()}catch(e){UU.logger.warn("[RTCEngineManager] Draft ASR stop failed, ignoring: "+String(e))}}async resetDraftAsrExtension(){try{await this._draftAsrExtension?.reset?.()}catch(e){UU.logger.warn("[RTCEngineManager] Draft ASR reset failed, ignoring: "+String(e))}}async feedDraftAsrRemoteSubtitle(e){try{await this._draftAsrExtension?.feedRemoteSubtitle?.(e)}catch(e){UU.logger.warn("[RTCEngineManager] Draft ASR feed remote subtitle failed, ignoring: "+String(e))}}async destroyDraftAsrExtension(){let e=this._draftAsrExtension,t=this._draftAsrLocalResultUnsubscribe,i=this._draftAsrDiagnosticUnsubscribe;if(this._draftAsrExtension=void 0,this._draftAsrLocalResultUnsubscribe=void 0,this._draftAsrDiagnosticUnsubscribe=void 0,t)try{t()}catch{}if(i)try{i()}catch{}if(e){try{await e.stop?.()}catch{}try{await e.destroy?.()}catch(e){UU.logger.warn("[RTCEngineManager] Draft ASR destroy failed, ignoring: "+String(e))}}}unpublishStream(){this.engine&&this.engine.unpublishStream(hl.AUDIO)}async muteLocalAudio(){if(!this.engine)return void UU.logger.warn("[RTCEngineManager] Cannot mute: engine not created.");let e=performance.now(),t=this.engine.getLocalStreamTrack(ho.STREAM_INDEX_MAIN,"audio");t?(t.enabled=!1,UU.logger.info(`[RTCEngineManager] Local audio muted (track.enabled=false, ${(performance.now()-e).toFixed(1)}ms). Capture & publish active \u{2014} sending silence frames. ASR engine stays LISTENING.`)):(UU.logger.warn("[RTCEngineManager] Cannot get audio track, fallback to stopAudioCapture."),await this.engine.stopAudioCapture(),UU.logger.info(`[RTCEngineManager] Local audio muted (fallback: stopAudioCapture, ${(performance.now()-e).toFixed(1)}ms).`))}async unmuteLocalAudio(){if(!this.engine)return void UU.logger.warn("[RTCEngineManager] Cannot unmute: engine not created.");let e=performance.now(),t=this.engine.getLocalStreamTrack(ho.STREAM_INDEX_MAIN,"audio");t?(t.enabled=!0,UU.logger.info(`[RTCEngineManager] Local audio unmuted (track.enabled=true, ${(performance.now()-e).toFixed(1)}ms). Real audio resumes immediately \u{2014} no ASR re-activation delay.`)):(UU.logger.warn("[RTCEngineManager] Cannot get audio track, fallback to startAudioCapture."),await this.engine.startAudioCapture(),UU.logger.info(`[RTCEngineManager] Local audio unmuted (fallback: startAudioCapture, ${(performance.now()-e).toFixed(1)}ms).`))}sendCommand(e,t,i,r){if(!this.engine)return void UU.logger.warn("[RTCEngineManager] Cannot send command: engine not created.");let s=JSON.stringify({Command:t,InterruptMode:i??0,Message:r??""});UU.logger.info("[RTCEngineManager] sendCommand: command="+t+" agentUserId="+e+" payloadLen="+s.length+(r?" messageLen="+r.length:""));let n=this.engine.sendUserBinaryMessage(e,UO(s,"ctrl"));n&&"function"==typeof n.then&&n.then(e=>{UU.logger.info("[RTCEngineManager] sendCommand result: command="+t+" result="+JSON.stringify(e))}).catch(e=>{UU.logger.warn("[RTCEngineManager] sendCommand FAILED: command="+t+" error="+String(e))})}async leaveRoom(){if(this.engine)try{await this.engine.leaveRoom()}catch{}}destroyEngine(){if(this.destroyDraftAsrExtension(),this._audioRushSyncExtension){try{this._audioRushSyncExtension.destroy()}catch{UU.logger.warn("[RTCEngineManager] Audio Rush Sync destroy destroy failed, ignoring.")}this._audioRushSyncExtension=void 0}this.engine&&(Uz.destroyRtcEngineSafely(this.engine,"destroyEngine"),this.engine=void 0),this.currentTokenInfo=void 0,this.callbacks={}}getTokenInfo(){return this.currentTokenInfo}isEngineCreated(){return!!this.engine}static async enumerateAudioCaptureDevices(){try{return await UD.enumerateAudioCaptureDevices()}catch{return UU.logger.warn("[RTCEngineManager] enumerateAudioCaptureDevices failed, falling back to empty list"),[]}}async setAudioCaptureDevice(e){this.engine?await this.engine.setAudioCaptureDevice(e):UU.logger.warn("[RTCEngineManager] Cannot setAudioCaptureDevice: engine not created.")}bindEngineEvents(){if(this.engine){if(this.callbacks.onBinaryMessage&&this.engine.on(UD.events.onRoomBinaryMessageReceived,this.callbacks.onBinaryMessage),this.engine.on(UD.events.onUserBinaryMessageReceived,e=>{UU.logger.info("[RTCEngineManager] onUserBinaryMessageReceived from userId="+e.userId+" messageSize="+(e.message?.byteLength??0))}),this.callbacks.onError){let e=this.callbacks.onError;this.engine.on(UD.events.onError,t=>{e({errorCode:String(t.errorCode)})})}if(this.callbacks.onUserJoined&&this.engine.on(UD.events.onUserJoined,this.callbacks.onUserJoined),this.callbacks.onUserLeave&&this.engine.on(UD.events.onUserLeave,this.callbacks.onUserLeave),this.callbacks.onVolumeChange){let e=this.callbacks.onVolumeChange;this.engine.on(UD.events.onLocalAudioPropertiesReport,t=>{let i=t.find(e=>e.streamIndex===ho.STREAM_INDEX_MAIN);i&&e(i.audioPropertiesInfo.linearVolume)})}if(this.callbacks.onRemoteVolumeChange){let e=this.callbacks.onRemoteVolumeChange;this.engine.on(UD.events.onRemoteAudioPropertiesReport,t=>{let i=t.find(e=>e.streamKey.streamIndex===ho.STREAM_INDEX_MAIN);i&&e(i.audioPropertiesInfo.linearVolume)})}this.callbacks.onUserMessage&&this.engine.on(UD.events.onUserMessageReceived,this.callbacks.onUserMessage),this.engine.enableAudioPropertiesReport({interval:150})}}bindDraftAsrLocalResult(e,t,i){if(t){if(e.onLocalResult){let i=e.onLocalResult(t);return"function"==typeof i?i:void 0}if(e.on){let r=new Set([i?.onResult??"onResult","localResult"]),s=e=>{let i=this.normalizeDraftAsrLocalResult(e);i&&t(i)};for(let t of r)e.on(t,s);return()=>{for(let t of r)e.off?.(t,s)}}}}bindDraftAsrDiagnosticEvents(e,t){if(!e.on)return;let i=[],r=(t,r)=>{e.on?.(t,r),i.push({eventName:t,handler:r})};return r(t?.onState??"onState",e=>{UU.logger.info("[RTCEngineManager] Draft ASR state event: "+this.formatDraftAsrDiagnosticPayload(e))}),r(t?.onStatus??"onStatus",e=>{UU.logger.info("[RTCEngineManager] Draft ASR status event: "+this.formatDraftAsrDiagnosticPayload(e))}),r(t?.onError??"onError",e=>{UU.logger.warn("[RTCEngineManager] Draft ASR error event: "+this.formatDraftAsrDiagnosticPayload(e))}),r(t?.onUnsupported??"onUnsupported",e=>{UU.logger.warn("[RTCEngineManager] Draft ASR unsupported event: "+this.formatDraftAsrDiagnosticPayload(e))}),()=>{for(let t of i)e.off?.(t.eventName,t.handler)}}formatDraftAsrDiagnosticPayload(e){if(e instanceof Error)return`${e.name}: ${e.message}`;if("string"==typeof e)return e;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}normalizeDraftAsrLocalResult(e){if(!e||"object"!=typeof e)return;let t=e;if("string"!=typeof t.text||!t.text)return;let i="boolean"==typeof t.sentenceEnd?t.sentenceEnd:void 0;return{text:t.text,definite:t.definite??i??!1,paragraph:t.paragraph??i??!1,userId:t.userId,replacementMs:t.replacementMs,sequenceId:t.sequenceId,sentenceId:t.sentenceId,sentenceEnd:i}}constructor(){this.callbacks={}}}class UW{registerHandler(e,t){let i=this.handlers.get(e)||[];return i.push(t),this.handlers.set(e,i),()=>{let i=this.handlers.get(e);if(i){let e=i.indexOf(t);e>=0&&i.splice(e,1)}}}dispatch(e){try{let{type:t,value:i}=UF(e),r=JSON.parse(i);"subv"===t&&UU.logger.debug(`[MessageRouter] subv raw JSON: ${i.slice(0,500)}`),UU.logger.debug("[MessageRouter] dispatch type: "+t+" hasHandler: "+this.hasHandler(t));let s=this.handlers.get(t);if(s&&s.length>0)for(let e of s)try{e(r)}catch(e){UU.logger.warn(`[MessageRouter] handler error for type "${t}": `+e)}}catch(e){UU.logger.warn("[MessageRouter] dispatch error: "+e)}}clear(){this.handlers.clear()}hasHandler(e){let t=this.handlers.get(e);return!!t&&t.length>0}constructor(){this.handlers=new Map}}let UH="4.66.38-beta.4",UG="v4",UZ="draft_asr_v1",UK="unknown",UX="unknown";function UY(e){if(!e)return"unknown";let t=e.toLowerCase();return t.includes("beta")?"beta":t.includes("alpha")?"alpha":t.includes("rc")?"rc":"stable"}function UJ(e={}){let t=U$(e.rtcSdkVersion,UH),i={rtc_sdk_version:t,rtc_sdk_channel:e.rtcSdkChannel??UY(t),perf_opt_version:UG,voice_perf_schema_version:UZ,draft_asr_enabled:e.draftAsrEnabled??"off",audio_rush_sync_enabled:e.audioRushSyncEnabled??!0,draft_asr_model_id:U$(e.modelId,UK),draft_asr_model_version:U$(e.modelVersion,UX),draft_asr_cache_strategy:e.cacheStrategy??"disabled",draft_asr_asset_source:e.assetSource??"disabled",draft_asr_cache_hit:e.cacheHit??!1,draft_asr_fallback_reason:e.fallbackReason??"config_off"},r={draft_asr_prepare_ms:Uq(e.prepareMs),draft_asr_download_ms:Uq(e.downloadMs),draft_asr_preload_ms:Uq(e.preloadMs),draft_asr_local_first_result_ms:Uq(e.localFirstResultMs),draft_asr_server_takeover_ms:Uq(e.serverTakeoverMs),draft_asr_replacement_ms:Uq(e.replacementMs)};return{categories:i,metrics:r,flatParams:{...r,...i}}}function U$(e,t){if("string"!=typeof e)return t;let i=e.trim();return i||t}function Uq(e){return"number"!=typeof e||!Number.isFinite(e)||e<0?-1:Math.round(e)}class UQ{registerMessageHandler(e,t){return this.messageRouter.registerHandler(e,t)}registerUserMessageHandler(e,t){return this._userMessageHandlers.has(e)||this._userMessageHandlers.set(e,new Set),this._userMessageHandlers.get(e).add(t),()=>{let i=this._userMessageHandlers.get(e);i&&(i.delete(t),0===i.size&&this._userMessageHandlers.delete(e))}}sendCommand(e,t,i){return this.agentUserId?(this.engineManager.sendCommand(this.agentUserId,e,t,i),!0):(UU.logger.warn("[VoiceToTextService] sendCommand failed: agentUserId is empty, channel not ready"),!1)}constructor(e,t="transcription",i={}){this.engineManager=new Uz,this.messageRouter=new UW,this._userMessageHandlers=new Map,this.state="IDLE",this.agentUserId="",this._asrSegments=[],this._refinedText="",this._refinedFinished=!1,this._editorContextBefore="",this._editorContextAfter="",this._starting=!1,this._finishing=!1,this._hasPublished=!1,this._subvCounter=0,this._userSubvCount=0,this._botSubvCount=0,this._botParagraphs=[],this._botPendingText="",this._agentHasThought=!1,this._draftAsrTelemetryInput={draftAsrEnabled:"off",fallbackReason:"config_off"},this._draftAsrRuntimeState="disabled",this._draftAsrGeneration=0,this._peakAccumulatedLen=0,this._peakAccumulatedText="",this.transport=e,this.sceneId=t,this.options=i}setOptions(e={}){this.options=e,"IDLE"===this.state&&this.resetDraftAsrRuntime()}static{this.MAX_RECORDING_MS=9e5}static{this.NEAR_LIMIT_WARNING_BEFORE_MS=6e4}static{this.COMPLETE_DELAY_MS=1200}static{this.SPEAK_VOLUME_THRESHOLD=30}setCallbacks(e){this.callbacks=e}setEditorContext(e,t){this._editorContextBefore=e,this._editorContextAfter=t}getState(){return this.state}getAccumulatedText(){return this._asrSegments.map(e=>e.text).join("")}async enumerateAudioCaptureDevices(){return Uz.enumerateAudioCaptureDevices()}async switchAudioDevice(e){await this.engineManager.setAudioCaptureDevice(e)}getRefinedText(){return[...this._botParagraphs,...this._botPendingText?[this._botPendingText]:[]].join("\n")}async muteLocalAudio(){"RECORDING"!==this.state?UU.logger.warn("[VoiceToTextService] Cannot mute: not in RECORDING state."):await this.engineManager.muteLocalAudio()}async unmuteLocalAudio(){"RECORDING"!==this.state?UU.logger.warn("[VoiceToTextService] Cannot unmute: not in RECORDING state."):await this.engineManager.unmuteLocalAudio()}async start(e,t){let i="ERROR"===this.state;if("IDLE"!==this.state&&!i)return void UU.logger.warn("[VoiceToTextService] Cannot start: not in IDLE/ERROR state.");if(this._starting)return void UU.logger.warn("[VoiceToTextService] start() already in progress, skipping.");if(this._starting=!0,i)try{await this.cleanup()}catch(e){UU.logger.warn("[VoiceToTextService] Cleanup before ERROR retry failed, continuing with fresh start.",e)}this.setState("CONNECTING"),this._asrSegments=[],this._refinedText="",this._refinedFinished=!1,this._subvCounter=0,this._userSubvCount=0,this._botSubvCount=0,this._botParagraphs=[],this._botPendingText="",this._agentHasThought=!1,this._peakAccumulatedLen=0,this._peakAccumulatedText="",this._refineStartTs=void 0,this._refineEndTs=void 0,this._firstUserSubvTs=void 0,this._userSpeakStartTs=void 0,this._userSpeakEndTs=void 0,this._lastDefiniteSubvTs=void 0,this._hasPublished=!1,this._editorContextBefore="",this._editorContextAfter="",this.chatResponse=void 0,this.resetDraftAsrRuntime();let r={triggerTs:t?.triggerTs,triggerSource:t?.triggerSource,startTs:performance.now(),isSupportedEnd:0,enableDevicesEnd:0,startVoiceChatEnd:0,createEngineEnd:0,joinRoomEnd:0,audioCaptureEnd:0,publishEnd:0};try{let t=await Uz.isSupported();if(r.isSupportedEnd=performance.now(),!t)throw new eJ(eY.BROWSER_NOT_SUPPORTED);this.prepareDraftAsrAssets();let i=await Uz.queryMicPermission();if("denied"===i){this._starting=!1,this.setState("IDLE"),UU.logger.info("[VoiceToTextService] Microphone permission is persistently denied, notifying UI"),this.callbacks?.onPermissionBlocked?.();return}let s="granted"===i,n=this.getRtcEngineCreateOptions(),a=Uz.getCachedAppId(),o=Uz.hasPreCreatedEngine(),l=!!a&&!o,c=s&&o&&!!a;if(c){await this.engineManager.createEngine(a,"",n),r.createEngineEnd=performance.now(),await this.ensureDraftAsrAndAudioRushSyncReady();let[,t]=await Promise.all([this.engineManager.startAudioCapture().then(()=>{r.audioCaptureEnd=performance.now(),this.setState("RECORDING"),(r.audioCaptureEnd-r.startTs).toFixed(0)}),this.transport.startVoiceChat(this.sceneId,e).then(e=>(r.startVoiceChatEnd=performance.now(),e)),Promise.resolve().then(()=>{r.enableDevicesEnd=performance.now()})]),i=t;this.chatResponse=i,Uz.cacheAppId(i.appId),this.agentUserId=i.botName||"",i.appId!==a&&(UU.logger.warn(`[VoiceToTextService] appId mismatch in early-capture path: cached=${a}, actual=${i.appId}, rebuilding engine`),await this.engineManager.stopAudioCapture(),this.engineManager.destroyEngine(),this._draftAsrGeneration+=1,this._draftAsrWarmupPromise=void 0,this._draftAsrPreloadPromise=void 0,await this.engineManager.createEngine(i.appId,i.userId,n),r.createEngineEnd=performance.now(),await this.ensureDraftAsrAndAudioRushSyncReady(),await this.engineManager.startAudioCapture(),r.audioCaptureEnd=performance.now()),this.setupMessageHandlers(i.userId),this.engineManager.setCallbacks({onBinaryMessage:e=>{UU.logger.debug("[VoiceToTextService] RTC binary message received, length: "+e.message.byteLength),this.messageRouter.dispatch(e.message)},onError:e=>{console.error("[VoiceToTextService] RTC error:",e.errorCode);let t=this.getAccumulatedText()?eY.CONNECTION_LOST:eY.CONNECTION_ERROR;this.callbacks?.onError(new eJ(t,void 0,{rtcErrorCode:String(e.errorCode)}))},onVolumeChange:e=>{"RECORDING"===this.state&&e>UQ.SPEAK_VOLUME_THRESHOLD&&(this._userSpeakStartTs||(this._userSpeakStartTs=performance.now()),this._userSpeakEndTs=performance.now()),this.callbacks?.onVolumeChange?.(e)},onRemoteVolumeChange:this.callbacks?.onRemoteVolumeChange?e=>{this.callbacks?.onRemoteVolumeChange?.(e)}:void 0,onUserMessage:e=>{this.handleUserMessage(e)},onUserJoined:e=>{let t=e.userInfo.userId;UU.logger.info(`[VoiceToTextService] onUserJoined: ${t}, agentUserId=${this.agentUserId}`),t!==this.agentUserId||this._hasPublished||(this._hasPublished=!0,this._publishFallbackTimer&&(clearTimeout(this._publishFallbackTimer),this._publishFallbackTimer=void 0),UU.logger.info("[VoiceToTextService] Bot joined \u2014 publishing audio stream now."),this.publishStreamWithTelemetry(r,"bot_joined"))}}),await this.engineManager.joinRoom({AppId:i.appId,RoomId:i.roomId,UserId:i.userId,Token:i.token},this.sceneId),r.joinRoomEnd=performance.now(),this._publishFallbackTimer=setTimeout(()=>{"RECORDING"!==this.state||this._hasPublished||(this._hasPublished=!0,UU.logger.warn("[VoiceToTextService] Publish fallback timer fired \u2014 Bot may already be in room."),this.publishStreamWithTelemetry(r,"fallback_timer"))},3e3),r.publishEnd=performance.now()}else{let[,t]=await Promise.all([s?Promise.resolve().then(()=>{r.enableDevicesEnd=performance.now()}):Uz.enableDevices().then(()=>{r.enableDevicesEnd=performance.now()}),this.transport.startVoiceChat(this.sceneId,e).then(e=>(r.startVoiceChatEnd=performance.now(),e)),l?this.engineManager.createEngine(a,"",n).then(()=>{r.createEngineEnd=performance.now()}):Promise.resolve()]);this.chatResponse=t,Uz.cacheAppId(t.appId),this.agentUserId=t.botName||"",l&&t.appId!==a?(UU.logger.warn(`[VoiceToTextService] appId mismatch: cached=${a}, actual=${t.appId}, rebuilding engine`),this.engineManager.destroyEngine(),await this.engineManager.createEngine(t.appId,t.userId,n),r.createEngineEnd=performance.now()):l||(await this.engineManager.createEngine(t.appId,t.userId,n),r.createEngineEnd=performance.now()),await this.ensureDraftAsrAndAudioRushSyncReady(),this.setupMessageHandlers(t.userId),this.engineManager.setCallbacks({onBinaryMessage:e=>{UU.logger.debug("[VoiceToTextService] RTC binary message received, length: "+e.message.byteLength),this.messageRouter.dispatch(e.message)},onError:e=>{console.error("[VoiceToTextService] RTC error:",e.errorCode);let t=this.getAccumulatedText()?eY.CONNECTION_LOST:eY.CONNECTION_ERROR;this.callbacks?.onError(new eJ(t,void 0,{rtcErrorCode:String(e.errorCode)}))},onVolumeChange:e=>{"RECORDING"===this.state&&e>UQ.SPEAK_VOLUME_THRESHOLD&&(this._userSpeakStartTs||(this._userSpeakStartTs=performance.now()),this._userSpeakEndTs=performance.now()),this.callbacks?.onVolumeChange?.(e)},onRemoteVolumeChange:this.callbacks?.onRemoteVolumeChange?e=>{this.callbacks?.onRemoteVolumeChange?.(e)}:void 0,onUserMessage:e=>{this.handleUserMessage(e)},onUserJoined:e=>{let t=e.userInfo.userId;UU.logger.info(`[VoiceToTextService] onUserJoined: ${t}, agentUserId=${this.agentUserId}`),t!==this.agentUserId||this._hasPublished||(this._hasPublished=!0,this._publishFallbackTimer&&(clearTimeout(this._publishFallbackTimer),this._publishFallbackTimer=void 0),UU.logger.info("[VoiceToTextService] Bot joined \u2014 publishing audio stream now."),this.publishStreamWithTelemetry(r,"bot_joined"))}}),await Promise.all([this.engineManager.startAudioCapture().then(()=>{r.audioCaptureEnd=performance.now(),this.setState("RECORDING"),UU.logger.info("[VoiceToTextService] startAudioCapture done \u2014 entered RECORDING early (ARS buffering)")}),this.engineManager.joinRoom({AppId:t.appId,RoomId:t.roomId,UserId:t.userId,Token:t.token},this.sceneId).then(()=>{r.joinRoomEnd=performance.now()})]),this._publishFallbackTimer=setTimeout(()=>{"RECORDING"!==this.state||this._hasPublished||(UU.logger.warn("[VoiceToTextService] Bot join not detected within 3s \u2014 fallback publishStream."),this._hasPublished=!0,this.publishStreamWithTelemetry(r,"fallback_timer"))},3e3),r.publishEnd=performance.now()}this.reportStartPerformance(r,o,this.chatResponse.roomId,s,l,c),this._nearLimitWarningTimer=setTimeout(()=>{"RECORDING"===this.state&&(UU.logger.info("[VoiceToTextService] Near time limit warning triggered (1 min remaining)"),this.callbacks?.onNearTimeLimit?.())},UQ.MAX_RECORDING_MS-UQ.NEAR_LIMIT_WARNING_BEFORE_MS),this._recordingTimeoutTimer=setTimeout(()=>{"RECORDING"===this.state&&(UU.logger.info("[VoiceToTextService] Recording time limit reached (15 min), auto-finishing"),this.finish())},UQ.MAX_RECORDING_MS)}catch(t){let e=t instanceof Error?t:Error(String(t));if("NotAllowedError"===e.name||e.message.includes("Permission")||e.message.includes("permission")){let e=new eJ(eY.MIC_PERMISSION_DENIED);this.setState("IDLE"),UU.logger.info("[VoiceToTextService] Microphone permission denied by user, reverting to IDLE"),this.callbacks?.onPermissionDenied?.(e)}else{this.setState("ERROR");let t=e instanceof eJ?e:new eJ(eY.UNKNOWN,e.message);this.callbacks?.onError(t)}await this.cleanup()}finally{this._starting=!1}}async finish(){if("RECORDING"!==this.state)return void UU.logger.warn("[VoiceToTextService] Cannot finish: not in RECORDING state.");if(this._finishing)return void UU.logger.warn("[VoiceToTextService] finish() already in progress, skipping.");this._finishing=!0,this.setState("FINISHING");let e=this.getAccumulatedText();if(UU.logger.debug(` ========== [VoiceToTextService] FINISH SNAPSHOT ========== timestamp: ${new Date().toISOString()} total subv messages: ${this._subvCounter} (user: ${this._userSubvCount}, bot: ${this._botSubvCount}) ASR segments count: ${this._asrSegments.length} accumulated text (${e.length} chars): "${e}" peak accumulated text (${this._peakAccumulatedLen} chars): "${this._peakAccumulatedText}" refined text so far (${this.getRefinedText().length} chars): "${this.getRefinedText()}" ========================================================== `),!e.trim()){UU.logger.info("[VoiceToTextService] Empty transcription detected, skipping refinement");try{await this.engineManager.stopAudioCapture()}catch{}await this.completeSession(""),this._finishing=!1;return}try{if(await this.engineManager.stopAudioCapture(),this.agentUserId&&(this._editorContextBefore||this._editorContextAfter)){let e=JSON.stringify({context_before:this._editorContextBefore,context_after:this._editorContextAfter});UU.logger.info(`[VoiceToTextService] Sending ExternalTextToLLM with editor context: before=${this._editorContextBefore.length} chars, after=${this._editorContextAfter.length} chars`),this.engineManager.sendCommand(this.agentUserId,eX.EXTERNAL_TEXT_TO_LLM,void 0,e)}this._refineStartTs=performance.now(),this._refineEndTs=void 0,this.agentUserId?(UU.logger.info("[VoiceToTextService] Sending FinishSpeechRecognition to agentUserId="+this.agentUserId),this.engineManager.sendCommand(this.agentUserId,eX.FINISH_SPEECH_RECOGNITION)):UU.logger.warn("[VoiceToTextService] \u26A0\uFE0F agentUserId is empty, FinishSpeechRecognition NOT sent!"),this.refinementTimer=setTimeout(()=>{if("FINISHING"===this.state||"REFINING"===this.state){let e=this.getRefinedText()||this.getAccumulatedText();UU.logger.info("[VoiceToTextService] refinement timeout, fallback to: "+(e?e.substring(0,50):"(empty)")),this.completeSession(e).catch(e=>{console.error("[VoiceToTextService] completeSession failed (timeout fallback):",e)})}},15e3)}catch(t){let e=t instanceof Error?t:Error(String(t));this.callbacks?.onError(e)}finally{this._finishing=!1}}async cancel(){await this.cleanup(),this.setState("IDLE")}async dispose(){await this.cleanup(),this.callbacks=void 0,Uz.destroyPreCreatedEngine()}setState(e){this.state=e,this.callbacks?.onStateChange(e),"RECORDING"===e&&this.startDraftAsrRecognitionIfEligible()}setupMessageHandlers(e){this.messageRouter.clear(),this.messageRouter.registerHandler("subv",e=>{let t=e;t.data&&t.data.length>1&&UU.logger.warn(`\u{26A0}\u{FE0F} [VoiceToTextService] subv data has ${t.data.length} items! Only processing data[0]. Full data: `+JSON.stringify(t.data));let i=t.data?.[0];if(!i)return;let r=i.userId===this.agentUserId||i.userId?.includes("voiceChat_"),s=!r&&!this._firstUserSubvTs;++this._subvCounter,r?++this._botSubvCount:(++this._userSubvCount,s&&(this._firstUserSubvTs=performance.now()),this.handleDraftAsrServerSubtitle(i,s));let n=r?`[Bot#${this._botSubvCount}]`:`[User#${this._userSubvCount}]`;if(UU.logger.debug(`${new Date().toISOString()} [VoiceToTextService] subv#${this._subvCounter} ${n} definite=${i.definite} paragraph=${i.paragraph} textLen=${i.text?.length??0} fullText="${i.text}"`),!r){let e=this._asrSegments[this._asrSegments.length-1];!e||e.completed?this._asrSegments.push({text:i.text,completed:i.definite||i.paragraph}):(e.text=i.text,e.completed=i.definite||i.paragraph),(i.definite||i.paragraph)&&(this._lastDefiniteSubvTs=performance.now());let t=this.getAccumulatedText();t.length>this._peakAccumulatedLen&&(this._peakAccumulatedLen=t.length,this._peakAccumulatedText=t),UU.logger.debug(`${new Date().toISOString()} [VoiceToTextService] accumulated: segments=${this._asrSegments.length} totalLen=${t.length} peakLen=${this._peakAccumulatedLen} fullText="${t}"`),(i.definite||i.paragraph)&&this._peakAccumulatedLen>0&&t.length<.8*this._peakAccumulatedLen&&UU.logger.warn(`\u{26A0}\u{FE0F} [VoiceToTextService] ASR TRUNCATION DETECTED! current accumulated (${t.length} chars): "${t}" peak accumulated (${this._peakAccumulatedLen} chars): "${this._peakAccumulatedText}" loss ratio: ${((1-t.length/this._peakAccumulatedLen)*100).toFixed(1)}%`)}if(r){if(i.definite||i.paragraph){let e=i.text||this._botPendingText;e&&this._botParagraphs.push(e),this._botPendingText=""}else this._botPendingText=i.text;if(UU.logger.debug(`${new Date().toUTCString()} [VoiceToTextService] Bot refined text updated: paragraphs=${this._botParagraphs.length} pendingText="${this._botPendingText.substring(0,50)}" fullRefined="${this.getRefinedText().substring(0,80)}" definite=${i.definite}`),i.definite||i.paragraph){let e=this.getRefinedText();e&&this.callbacks?.onBotSubtitle?.(e)}let e=this.state;i.definite&&("FINISHING"===e||"REFINING"===e)&&this.scheduleComplete("Bot definite subv")}this.callbacks?.onSubtitle({...i,isBot:r,source:"server_asr"})}),this.messageRouter.registerHandler("conv",e=>{let t=e,i=t?.Stage?.Code;if(UU.logger.info("[VoiceToTextService] conv message received, stageCode: "+i+" currentState: "+this.state+" _agentHasThought: "+this._agentHasThought),void 0===i)return;this.callbacks?.onAgentStateChange(i),(2===i||3===i)&&(this._agentHasThought=!0);let r=this.state;("FINISHING"===r||"REFINING"===r)&&((2===i||3===i)&&this.setState("REFINING"),(5===i||4===i&&this._agentHasThought)&&this.scheduleComplete(`conv stageCode=${i}`))})}handleUserMessage(e){try{let t=JSON.parse(e.message);if(t?.type&&"string"==typeof t.type){let i=this._userMessageHandlers.get(t.type);if(i&&i.size>0){for(let r of(UU.logger.info(`[VoiceToTextService] onUserMessage dispatching type="${t.type}" from userId="${e.userId}" to ${i.size} handler(s)`),i))try{r(t)}catch(e){UU.logger.warn("[VoiceToTextService] userMessageHandler error:",e)}return}UU.logger.debug(`[VoiceToTextService] onUserMessage unknown type="${t.type}", trying OpenAI format`)}let i=t?.choices?.[0],r=i?.delta?.content,s=i?.finish_reason;if(UU.logger.debug(`${new Date().toISOString()} [VoiceToTextService] onUserMessage: userId=${e.userId} contentLen=${r?.length??0} finishReason=${s} content="${r?.substring(0,80)??""}"`),r&&(this._refinedText=r),"stop"===s){this._refinedFinished=!0,this._refineEndTs=performance.now();let e=this.state;if("FINISHING"===e||"REFINING"===e){let e=this._refinedText||this.getAccumulatedText();UU.logger.info("[VoiceToTextService] onUserMessage finish_reason=stop, completing session. refinedText: "+this._refinedText.substring(0,80)),this.completeSession(e).catch(e=>{console.error("[VoiceToTextService] completeSession failed (onUserMessage):",e)})}}}catch(e){}}scheduleComplete(e){let t=this.state;("FINISHING"===t||"REFINING"===t)&&(UU.logger.info(`[VoiceToTextService] scheduleComplete from "${e}", delay=${UQ.COMPLETE_DELAY_MS}ms, refinedText(${this.getRefinedText().length} chars): "${this.getRefinedText().substring(0,50)}" accText(${this.getAccumulatedText().length} chars): "${this.getAccumulatedText().substring(0,50)}"`),this._completeDelayTimer&&clearTimeout(this._completeDelayTimer),this._completeDelayTimer=setTimeout(()=>{let t=this.getRefinedText()||this.getAccumulatedText();UU.logger.info(`[VoiceToTextService] scheduleComplete delay elapsed (source="${e}"), completing now. finalText(${t.length} chars): "${t.substring(0,80)}"`),this.completeSession(t).catch(t=>{console.error(`[VoiceToTextService] completeSession failed (${e}):`,t)})},UQ.COMPLETE_DELAY_MS))}clearRefinementTimer(){void 0!==this.refinementTimer&&(clearTimeout(this.refinementTimer),this.refinementTimer=void 0)}async completeSession(e){let t=this.state;if("FINISHING"!==t&&"REFINING"!==t)return void UU.logger.info("[VoiceToTextService] completeSession skipped, already in state: "+t);let i=this.getAccumulatedText(),r=this._peakAccumulatedLen,s=i.length,n=r>0&&s<.8*r;UU.logger.debug(` \u{2554}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2557} \u{2551} [VoiceToTextService] SESSION COMPLETE - EVIDENCE REPORT \u{2551} \u{2560}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2563} \u{2551} Timestamp: ${new Date().toISOString()} \u{2551} Total subv: ${this._subvCounter} (user: ${this._userSubvCount}, bot: ${this._botSubvCount}) \u{2551} ASR segments: ${this._asrSegments.length} \u{2560}\u{2500}\u{2500}\u{2500}\u{2500} User ASR Text Comparison \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2563} \u{2551} Peak accumulated text (${r} chars): \u{2551} "${this._peakAccumulatedText}" \u{2551} Final accumulated text (${s} chars): \u{2551} "${i}" \u{2551} ${n?`\u{26A0}\u{FE0F} TRUNCATION: lost ${((1-s/r)*100).toFixed(1)}% of text!`:"\u2705 No truncation detected"} \u{2560}\u{2500}\u{2500}\u{2500}\u{2500} Bot Refined Text \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2563} \u{2551} Refined text (${this.getRefinedText().length} chars, ${this._botParagraphs.length} paragraphs): \u{2551} "${this.getRefinedText()}" \u{2560}\u{2500}\u{2500}\u{2500}\u{2500} Final Output \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2563} \u{2551} Text sent to input (${e.length} chars): \u{2551} "${e}" \u{255A}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{255D} `),this.messageRouter.clear(),this.clearRefinementTimer(),this._completeDelayTimer&&(clearTimeout(this._completeDelayTimer),this._completeDelayTimer=void 0),this.chatResponse?.userId&&Uz.recordVoiceUsage(this.chatResponse.userId),this.reportSessionPerformance(e);let a=this.chatResponse?.userId;UU.logger.info("[VoiceToTextService] calling onComplete callback");let o=UQ.formatRefinedText(e);if(UU.logger.info(`[VoiceToTextService] formatRefinedText result: input (${e.length} chars): "${e}" output (${o.length} chars): "${o}" has newlines: ${o.includes("\n")} lines: ${o.split("\n").length}`),this.callbacks?.onComplete(o),await this.cleanup(),this.setState("IDLE"),a){let e=new Uz,t=this.getRtcEngineCreateOptions();e.isFrequentlyUser(a)&&t.audioRushSyncEnabled&&!t.deferAudioRushSync?Uz.preCreateEngine(a,t).catch(e=>{UU.logger.warn("[VoiceToTextService] preCreateEngine after session failed: "+e)}):UU.logger.info(`[VoiceToTextService] preCreateEngine skipped after session, audioRushSyncEnabled=${t.audioRushSyncEnabled}, deferAudioRushSync=${t.deferAudioRushSync}`)}}static formatRefinedText(e){return e?e.replace(/\n/g,"").replace(/(?<=[^\s\d])(\d+[.\u3001)]\s*)/g,"\n$1").replace(/(?<=\S)([-\u2022]\s+)/g,"\n$1"):e}reportStartPerformance(e,t,i,r,s,n){let a=e.startTs,o="number"==typeof e.triggerTs,l=o?e.triggerTs:a,c=Math.max(e.enableDevicesEnd,e.startVoiceChatEnd,s?e.createEngineEnd:0),d=e.audioCaptureEnd,u={triggerToRecording:Math.round(d-l),serviceStartToRecording:Math.round(d-a),preStartPrepare:o?Math.round(a-l):-1,rtcReady:Math.round(Math.max(e.audioCaptureEnd,e.joinRoomEnd)-l),publishTrigger:void 0!==e.publishTriggerTs?Math.round(e.publishTriggerTs-l):-1,isSupported:Math.round(e.isSupportedEnd-a),enableDevices:Math.round(e.enableDevicesEnd-e.isSupportedEnd),startVoiceChat:Math.round(e.startVoiceChatEnd-e.isSupportedEnd),createEngine:s?Math.round(e.createEngineEnd-e.isSupportedEnd):Math.round(e.createEngineEnd-Math.max(e.enableDevicesEnd,e.startVoiceChatEnd)),parallelWall:Math.round(c-e.isSupportedEnd),audioCapture:Math.round(e.audioCaptureEnd-e.createEngineEnd),joinRoom:Math.round(e.joinRoomEnd-e.createEngineEnd),captureJoinWall:Math.round(Math.max(e.audioCaptureEnd,e.joinRoomEnd)-e.createEngineEnd),publishStream:Math.round(e.publishEnd-Math.max(e.audioCaptureEnd,e.joinRoomEnd)),total:Math.round(e.publishEnd-a)},h=UJ({rtcSdkVersion:UD.getSdkVersion(),...this._draftAsrTelemetryInput}),p={is_supported_ms:u.isSupported,enable_devices_ms:u.enableDevices,start_voice_chat_ms:u.startVoiceChat,trigger_to_recording_ms:u.triggerToRecording,service_start_to_recording_ms:u.serviceStartToRecording,pre_start_prepare_ms:u.preStartPrepare,rtc_ready_ms:u.rtcReady,publish_trigger_ms:u.publishTrigger,parallel_wall_ms:u.parallelWall,create_engine_ms:u.createEngine,join_room_ms:u.joinRoom,audio_capture_ms:u.audioCapture,capture_join_wall_ms:u.captureJoinWall,publish_stream_ms:u.publishStream,total_ms:u.total,...h.metrics},m={room_id:i,had_pre_created:t,skipped_enable_devices:r,parallel_created_engine:s,trigger_source:e.triggerSource??"unknown",early_capture_enabled:n,publish_trigger_type:e.publishTriggerType??"pending",...h.categories};this._startPerfTimings=e,u.isSupported,u.enableDevices,u.startVoiceChat,u.createEngine,u.parallelWall,u.audioCapture,u.joinRoom,u.captureJoinWall,u.publishStream,u.total,u.triggerToRecording,(0,UV.o3)({name:"rtc_voice_start_perf",metrics:p,categories:m}),(0,UB.w)("rtc_voice_start_perf",{...p,...m})}reportSessionPerformance(e){if(!this._startPerfTimings)return;let t=performance.now(),i=Math.round(t-this._startPerfTimings.startTs),r=Math.round(this._startPerfTimings.publishEnd-this._startPerfTimings.startTs),s=Math.round(t-this._startPerfTimings.publishEnd),n=void 0!==this._refineStartTs&&void 0!==this._refineEndTs?Math.round(this._refineEndTs-this._refineStartTs):void 0,a=void 0!==this._firstUserSubvTs?Math.round(this._firstUserSubvTs-this._startPerfTimings.publishEnd):void 0,o=void 0!==this._userSpeakStartTs&&void 0!==this._firstUserSubvTs?Math.round(this._firstUserSubvTs-this._userSpeakStartTs):void 0,l=void 0!==this._userSpeakEndTs&&void 0!==this._lastDefiniteSubvTs?Math.round(this._lastDefiniteSubvTs-this._userSpeakEndTs):void 0,c=UJ({rtcSdkVersion:UD.getSdkVersion(),...this._draftAsrTelemetryInput}),d={session_duration_ms:i,start_to_recording_ms:r,recording_to_complete_ms:s,output_text_length:e.length,asr_segment_count:this._asrSegments.length,subv_message_count:this._subvCounter,refine_duration_ms:void 0!==n?n:-1,publish_to_first_subv_ms:void 0!==a?a:-1,speak_to_first_subv_ms:void 0!==o?o:-1,speak_end_to_last_subv_ms:void 0!==l?l:-1,...c.metrics},u={room_id:this.chatResponse?.roomId||"",has_refined_text:!!this.getRefinedText(),...c.categories};UU.logger.info(`[VoiceToTextService] session performance summary (ms): start \u{2192} recording: ${r} recording \u{2192} done: ${s} refine (finish\u{2192}stop): ${void 0!==n?n:"N/A"} publish \u{2192} 1st subv: ${void 0!==a?a:"N/A"} speak \u{2192} 1st subv: ${void 0!==o?o:"N/A"} speak end \u{2192} last subv: ${void 0!==l?l:"N/A"} \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} SESSION TOTAL: ${i} output text length: ${e.length}`),(0,UV.o3)({name:"rtc_voice_session_perf",metrics:d,categories:u}),(0,UB.w)("rtc_voice_session_perf",{...d,...u}),this._startPerfTimings=void 0}async cleanup(){this.clearRefinementTimer(),this._completeDelayTimer&&(clearTimeout(this._completeDelayTimer),this._completeDelayTimer=void 0),this._recordingTimeoutTimer&&(clearTimeout(this._recordingTimeoutTimer),this._recordingTimeoutTimer=void 0),this._nearLimitWarningTimer&&(clearTimeout(this._nearLimitWarningTimer),this._nearLimitWarningTimer=void 0),this._publishFallbackTimer&&(clearTimeout(this._publishFallbackTimer),this._publishFallbackTimer=void 0),this._hasPublished=!1,this._draftAsrGeneration+=1,await this.engineManager.destroyDraftAsrExtension(),await this.cleanupDraftAsrResolvedAsset(),this.isAudioRushSyncEnabled()&&this.engineManager.audioRushSyncReset();let e=this.engineManager.detachEngine();if(this.chatResponse)try{await this.transport.stopVoiceChat({appId:this.chatResponse.appId,roomId:this.chatResponse.roomId,taskId:this.chatResponse.taskId,sceneId:this.sceneId})}catch{}if(e){try{await e.stopAudioCapture()}catch{}try{await e.leaveRoom()}catch{}Uz.destroyRtcEngineSafely(e,"voiceToTextCleanup")}this.messageRouter.clear(),this.agentUserId="",this.chatResponse=void 0}resetDraftAsrRuntime(){let e=this.options.draftAsr,t=e?.enabled??"off";this._draftAsrPrepareStartedTs=void 0,this._draftAsrRuntimeState="off"===t?"disabled":"preparing",this._draftAsrResolvedConfig=void 0,this._draftAsrPreparePromise=void 0,this._draftAsrWarmupPromise=void 0,this._draftAsrPreloadPromise=void 0,this._draftAsrCleanup=void 0,this._draftAsrLocalFirstResultTs=void 0,this._draftAsrServerTakeoverTs=void 0,this._draftAsrTelemetryInput={draftAsrEnabled:t,audioRushSyncEnabled:this.isAudioRushSyncEnabled(),modelId:e?.manifest?.modelId,modelVersion:e?.manifest?.modelVersion,cacheStrategy:"disabled",assetSource:"disabled",cacheHit:!1,fallbackReason:"off"===t?"config_off":"resolver_missing"}}prepareDraftAsrAssets(){let e=this.options.draftAsr,t=this._draftAsrGeneration,i=e?.enabled??"off";if("off"===i)return void this.setDraftAsrFallback("config_off");if(!e?.manifest){this.setDraftAsrFallback("manifest_missing"),this.reportDraftAsrAssetPerf();return}if(!e.resolver){this.setDraftAsrFallback("resolver_missing"),this.reportDraftAsrAssetPerf();return}this._draftAsrPrepareStartedTs=performance.now(),this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,draftAsrEnabled:i,modelId:e.manifest.modelId,modelVersion:e.manifest.modelVersion,fallbackReason:"none"},this._draftAsrPreparePromise=e.resolver.prepare(e.manifest).then(e=>{if(t!==this._draftAsrGeneration)return void this.cleanupStaleDraftAsrAsset(e);if(!e){this.setDraftAsrFallback("resolver_missing"),this.reportDraftAsrAssetPerf();return}return this._draftAsrCleanup=e.cleanup,this._draftAsrResolvedConfig=e,this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,cacheStrategy:e.cacheStrategy,assetSource:e.assetSource,cacheHit:e.cacheHit,fallbackReason:"fallback"===this._draftAsrRuntimeState?this._draftAsrTelemetryInput.fallbackReason:e.fallbackReason??"none",prepareMs:this.getDraftAsrPrepareMs()},this.reportDraftAsrAssetPerf(),e}).catch(e=>{t===this._draftAsrGeneration&&(UU.logger.warn("[VoiceToTextService] Draft ASR asset prepare failed: "+String(e)),this.setDraftAsrFallback("download_failed"),this.reportDraftAsrAssetPerf())})}isAudioRushSyncEnabled(){return!1!==this.options.audioRushSyncEnabled}publishStreamWithTelemetry(e,t){void 0===e.publishTriggerTs&&(e.publishTriggerTs=performance.now(),e.publishTriggerType=t),this.engineManager.publishStream(),this.playAudioRushSyncIfEnabled()}playAudioRushSyncIfEnabled(){this.isAudioRushSyncEnabled()?this.engineManager.audioRushSyncPlay():UU.logger.info("[VoiceToTextService] Audio Rush Sync play skipped: disabled by config")}getRtcEngineCreateOptions(){let e=this.isAudioRushSyncEnabled();return{audioRushSyncEnabled:e,deferAudioRushSync:e&&(this.options.draftAsr?.enabled??"off")!=="off"}}async ensureDraftAsrAndAudioRushSyncReady(){(this.options.draftAsr?.enabled??"off")!=="off"&&await this.startDraftAsrWarmup(),this.isAudioRushSyncEnabled()&&await this.engineManager.ensureAudioRushSyncExtension()}startDraftAsrWarmup(){if(this._draftAsrWarmupPromise)return this._draftAsrWarmupPromise;let e=this._draftAsrGeneration,t=this.warmupDraftAsrExtension(e).finally(()=>{e===this._draftAsrGeneration&&this._draftAsrWarmupPromise===t&&(this._draftAsrWarmupPromise=void 0)});return this._draftAsrWarmupPromise=t,this._draftAsrWarmupPromise}async warmupDraftAsrExtension(e){let t=this.options.draftAsr,i=t?.enabled??"off";if("off"===i)return;let r=this.getDraftAsrRegistrationConfig();if(e!==this._draftAsrGeneration)return;if(!r){"fallback"!==this._draftAsrRuntimeState&&(this.setDraftAsrFallback("asset_prepare_timeout"),this.reportDraftAsrRuntimePerf());return}if(this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,cacheStrategy:r.cacheStrategy,assetSource:r.assetSource,cacheHit:r.cacheHit,fallbackReason:"none"},"on"===i&&void 0!==this._firstUserSubvTs){this.setDraftAsrFallback("server_subv_first",{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf();return}if(!t?.extensionLoader){this.setDraftAsrFallback("sdk_extension_missing",{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf();return}let s=UD.getSdkVersion(),n=t.manifest?.sdkVersion;n&&n!==s&&UU.logger.warn(`[VoiceToTextService] Draft ASR SDK version mismatch warning, continuing local Draft ASR: manifest=${n}, runtime=${s}`),this._draftAsrRuntimeState="warming";let a=await this.engineManager.registerDraftAsrExtension({loader:t.extensionLoader,config:{wasmUrl:r.wasmUrl,dataUrl:r.dataUrl,recognizerConfig:r.recognizerConfig},onLocalResult:e=>{this.handleDraftAsrLocalResult(e)}});if(e===this._draftAsrGeneration){if("none"!==a){this.setDraftAsrFallback(a,{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf();return}this.startDraftAsrPreload(e)}}getDraftAsrRegistrationConfig(){if(this._draftAsrResolvedConfig)return this._draftAsrResolvedConfig;let e=this.options.draftAsr?.manifest;if(e)return{wasmUrl:e.assets.wasm.url,dataUrl:e.assets.data.url,recognizerConfig:e.recognizerConfig,cacheHit:!1,cacheStrategy:"remote_url",assetSource:"remote_fallback",fallbackReason:"none"}}startDraftAsrPreload(e){if(this._draftAsrPreloadPromise)return;let t=performance.now(),i=this.engineManager.preloadDraftAsrExtension().then(async i=>{let r=performance.now()-t;if(e===this._draftAsrGeneration){if(this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,preloadMs:r},"none"!==i){this.setDraftAsrFallback(i,{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf();return}"fallback"!==this._draftAsrRuntimeState&&(this._draftAsrRuntimeState="ready",this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,fallbackReason:"none"},this.reportDraftAsrRuntimePerf(),await this.startDraftAsrRecognitionIfEligible())}}).catch(t=>{e===this._draftAsrGeneration&&(UU.logger.warn("[VoiceToTextService] Draft ASR preload failed: "+String(t)),this.setDraftAsrFallback("runtime_error",{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf())}).finally(()=>{e===this._draftAsrGeneration&&this._draftAsrPreloadPromise===i&&(this._draftAsrPreloadPromise=void 0)});this._draftAsrPreloadPromise=i}async startDraftAsrRecognitionIfEligible(){let e=this.options.draftAsr;if(e?.enabled!=="on"||"active"===this._draftAsrRuntimeState)return;if(void 0!==this._firstUserSubvTs){if("fallback"===this._draftAsrRuntimeState)return;this.setDraftAsrFallback("server_subv_first",{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf();return}if("ready"!==this._draftAsrRuntimeState||"RECORDING"!==this.state)return;this._draftAsrRuntimeState="active";let t=await this.engineManager.startDraftAsrExtension();if("none"!==t){this.setDraftAsrFallback(t,{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf();return}this.reportDraftAsrRuntimePerf()}handleDraftAsrLocalResult(e){if(this.options.draftAsr?.enabled!=="on"||void 0!==this._firstUserSubvTs||"active"!==this._draftAsrRuntimeState||!e.text)return;if(void 0===this._draftAsrLocalFirstResultTs){let t=performance.now();this._draftAsrLocalFirstResultTs=t;let i=this._userSpeakStartTs??this._startPerfTimings?.publishEnd??this._draftAsrPrepareStartedTs;this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,localFirstResultMs:void 0!==i?t-i:void 0,replacementMs:e.replacementMs??this._draftAsrTelemetryInput.replacementMs},this.reportDraftAsrRuntimePerf()}let t=e.sentenceEnd??!1;this.callbacks?.onSubtitle({text:e.text,definite:e.definite??t,paragraph:e.paragraph??t,userId:e.userId??this.chatResponse?.userId??"",isBot:!1,source:"draft_asr_local"})}handleDraftAsrServerSubtitle(e,t){if(this.engineManager.feedDraftAsrRemoteSubtitle({text:e.text,definite:e.definite,paragraph:e.paragraph,userId:e.userId,isBot:!1}),!t)return;let i=performance.now();this._draftAsrServerTakeoverTs=i;let r=this._draftAsrLocalFirstResultTs??this._startPerfTimings?.publishEnd??this._draftAsrPrepareStartedTs;if(this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,serverTakeoverMs:void 0!==r?i-r:void 0},"active"===this._draftAsrRuntimeState){this._draftAsrRuntimeState="server_took_over",this.engineManager.stopDraftAsrExtension(),this.reportDraftAsrRuntimePerf();return}this.options.draftAsr?.enabled==="on"&&void 0===this._draftAsrLocalFirstResultTs&&"fallback"!==this._draftAsrRuntimeState&&(this.setDraftAsrFallback("server_subv_first",{preserveResolvedAsset:!0}),this.reportDraftAsrRuntimePerf())}setDraftAsrFallback(e,t){this._draftAsrRuntimeState="fallback",this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,cacheStrategy:t?.preserveResolvedAsset?this._draftAsrTelemetryInput.cacheStrategy:"disabled",assetSource:t?.preserveResolvedAsset?this._draftAsrTelemetryInput.assetSource:"disabled",cacheHit:!!t?.preserveResolvedAsset&&this._draftAsrTelemetryInput.cacheHit,fallbackReason:e,prepareMs:this.getDraftAsrPrepareMs()}}reportDraftAsrAssetPerf(){let e=UJ({rtcSdkVersion:UD.getSdkVersion(),...this._draftAsrTelemetryInput});"none"===e.categories.draft_asr_fallback_reason&&(this._draftAsrRuntimeState="ready");let t={...e.categories};(0,UV.o3)({name:"rtc_voice_draft_asr_asset_perf",metrics:{draft_asr_prepare_ms:e.metrics.draft_asr_prepare_ms,draft_asr_download_ms:e.metrics.draft_asr_download_ms,draft_asr_preload_ms:e.metrics.draft_asr_preload_ms},categories:t}),(0,UB.w)("rtc_voice_draft_asr_asset_perf",{draft_asr_prepare_ms:e.metrics.draft_asr_prepare_ms,draft_asr_download_ms:e.metrics.draft_asr_download_ms,draft_asr_preload_ms:e.metrics.draft_asr_preload_ms,...t})}reportDraftAsrRuntimePerf(){let e=UJ({rtcSdkVersion:UD.getSdkVersion(),...this._draftAsrTelemetryInput}),t={...e.categories};(0,UV.o3)({name:"rtc_voice_draft_asr_runtime_perf",metrics:{draft_asr_prepare_ms:e.metrics.draft_asr_prepare_ms,draft_asr_preload_ms:e.metrics.draft_asr_preload_ms,draft_asr_local_first_result_ms:e.metrics.draft_asr_local_first_result_ms,draft_asr_server_takeover_ms:e.metrics.draft_asr_server_takeover_ms,draft_asr_replacement_ms:e.metrics.draft_asr_replacement_ms},categories:t}),(0,UB.w)("rtc_voice_draft_asr_runtime_perf",{draft_asr_prepare_ms:e.metrics.draft_asr_prepare_ms,draft_asr_preload_ms:e.metrics.draft_asr_preload_ms,draft_asr_local_first_result_ms:e.metrics.draft_asr_local_first_result_ms,draft_asr_server_takeover_ms:e.metrics.draft_asr_server_takeover_ms,draft_asr_replacement_ms:e.metrics.draft_asr_replacement_ms,...t})}getDraftAsrPrepareMs(){if(void 0!==this._draftAsrPrepareStartedTs)return performance.now()-this._draftAsrPrepareStartedTs}async cleanupDraftAsrResolvedAsset(){let e=this._draftAsrCleanup;if(this._draftAsrCleanup=void 0,this._draftAsrResolvedConfig=void 0,e)try{await e()}catch{this._draftAsrTelemetryInput={...this._draftAsrTelemetryInput,fallbackReason:"cleanup_failed"}}}async cleanupStaleDraftAsrAsset(e){if(e?.cleanup)try{await e.cleanup()}catch{}}}var U0=i(51649);function U1(e,t,i,r,s,n,a){let[o,l]=(0,U0.useState)("IDLE"),[c,d]=(0,U0.useState)(""),[u,h]=(0,U0.useState)(0),[p,m]=(0,U0.useState)(void 0),[f,g]=(0,U0.useState)(void 0),[_,y]=(0,U0.useState)(void 0),[v,b]=(0,U0.useState)(0),[S,k]=(0,U0.useState)(!1),[x,C]=(0,U0.useState)([]),[w,E]=(0,U0.useState)(""),T=(0,U0.useRef)(void 0),I=(0,U0.useRef)(""),R=(0,U0.useRef)(t);R.current=t;let N=(0,U0.useRef)(i);N.current=i;let A=(0,U0.useRef)(r);A.current=r;let M=(0,U0.useRef)(n);M.current=n;let P=(0,U0.useRef)(a);P.current=a,(0,U0.useEffect)(()=>{T.current?.setOptions(a)},[a]);let[j,L]=(0,U0.useState)(!1),[D,O]=(0,U0.useState)(0),F=(0,U0.useRef)(void 0),U=(0,U0.useRef)(void 0);(0,U0.useEffect)(()=>{let t=new UQ(e,s,P.current);return t.setCallbacks({onStateChange:e=>{l(e)},onSubtitle:e=>{if(!e.isBot){if(d(e.text),I.current=e.text,"draft_asr_local"===e.source)return void N.current?.(e.text);let t=T.current;t&&N.current?.(t.getAccumulatedText())}},onAgentStateChange:e=>{h(e)},onComplete:e=>{UU.logger.info("[useVoiceToText] onComplete callback triggered, text: "+(e?e.substring(0,50)+"...":"(empty)")),R.current?.(e)},onError:e=>{m(e.message),e instanceof eJ?(g(e.code),y(Object.keys(e.meta).length>0?e.meta:void 0)):(g(void 0),y(void 0))},onVolumeChange:e=>{b(e)},onRemoteVolumeChange:e=>{O(e)},onNearTimeLimit:()=>{k(!0)},onSummary:e=>{e?.length,A.current?.(e)},onBotSubtitle:e=>{UU.logger.info("[useVoiceToText] onBotSubtitle callback triggered, text length: "+e?.length),M.current?.(e)},onPermissionDenied:e=>{F.current?.(e)},onPermissionBlocked:()=>{U.current?.()}}),T.current=t,()=>{t.dispose().catch(e=>{UU.logger.warn("[useVoiceToText] dispose failed during cleanup, ignoring.",e)}),T.current=void 0}},[e,s]);let V=(0,U0.useCallback)(async(e,t)=>{m(void 0),g(void 0),y(void 0),d(""),b(0),O(0),k(!1),await T.current?.start(e,t)},[]);(0,U0.useEffect)(()=>{if("RECORDING"!==o)return void k(!1);let e=!1,t=new Set,i="",r=async r=>{try{let s=T.current;if(!s||e)return;let n=await s.enumerateAudioCaptureDevices();if(e)return;C(n);let a=new Set(n.map(e=>e.deviceId));if(r){let e=n.filter(e=>!t.has(e.deviceId)),r=a.has(i);if(e.length>0){let t=e[0];UU.logger.info("[useVoiceToText] New audio device detected: "+(t.label||t.deviceId)+", auto-switching");try{await s.switchAudioDevice(t.deviceId),i=t.deviceId,E(t.deviceId)}catch{UU.logger.warn("[useVoiceToText] Auto-switch to new device failed: "+t.deviceId)}}else if(!r&&n.length>0){let e=n[0];UU.logger.info("[useVoiceToText] Current device removed, falling back to: "+(e.label||e.deviceId));try{await s.switchAudioDevice(e.deviceId),i=e.deviceId,E(e.deviceId)}catch{UU.logger.warn("[useVoiceToText] Fallback device switch failed: "+e.deviceId)}}}else n.length>0&&E(e=>{let t=e||n[0].deviceId;return i=t,t});t=a}catch{}};r(!1);let s=()=>{r(!0)};return"u">typeof navigator&&navigator.mediaDevices&&navigator.mediaDevices.addEventListener("devicechange",s),()=>{e=!0,"u">typeof navigator&&navigator.mediaDevices&&navigator.mediaDevices.removeEventListener("devicechange",s)}},[o]);let B=(0,U0.useCallback)(async()=>{await T.current?.finish()},[]),z=(0,U0.useCallback)(async()=>{m(void 0),g(void 0),y(void 0),await T.current?.cancel()},[]),W=(0,U0.useCallback)((e,t)=>{T.current?.setEditorContext(e,t)},[]),H=(0,U0.useCallback)(async e=>{try{await T.current?.switchAudioDevice(e),E(e)}catch{UU.logger.warn("[useVoiceToText] switchAudioDevice failed for deviceId: "+e)}},[]),G=(0,U0.useCallback)(async()=>{try{await T.current?.muteLocalAudio(),L(!0)}catch{UU.logger.warn("[useVoiceToText] muteLocalAudio failed")}},[]),Z=(0,U0.useCallback)(async()=>{try{await T.current?.unmuteLocalAudio(),L(!1)}catch{UU.logger.warn("[useVoiceToText] unmuteLocalAudio failed")}},[]),K=(0,U0.useCallback)((e,t)=>{let i=T.current;return i?i.registerMessageHandler(e,t):(UU.logger.warn("[useVoiceToText] registerMessageHandler called but service not initialized"),()=>{})},[]);return{state:o,draftText:c,agentState:u,error:p,errorCode:f,errorMeta:_,volumeLevel:v,remoteVolumeLevel:D,isNearTimeLimit:S,start:V,finish:B,cancel:z,setEditorContext:W,audioDevices:x,currentDeviceId:w,switchAudioDevice:H,muteLocalAudio:G,unmuteLocalAudio:Z,isMuted:j,registerMessageHandler:K,registerUserMessageHandler:(0,U0.useCallback)((e,t)=>{let i=T.current;return i?i.registerUserMessageHandler(e,t):(UU.logger.warn("[useVoiceToText] registerUserMessageHandler called but service not initialized"),()=>{})},[]),sendCommand:(0,U0.useCallback)((e,t,i)=>{let r=T.current;return r?r.sendCommand(e,t,i):(UU.logger.warn("[useVoiceToText] sendCommand called but service not initialized"),!1)},[]),onPermissionDeniedRef:F,onPermissionBlockedRef:U,draftTextRef:I}}var U2=i(69611);function U3(){let e=navigator.userAgent.toLowerCase();return e.includes("mac")?"Mac":e.includes("win")?"Windows":e.includes("linux")?"Linux":"Unknown"}function U4(e,t){let i=(e,i)=>t?t(e,void 0,i):i;switch(e){case"Mac":return[i("trae-chat-core.rtcVoice.permGuide.mac.line1","Microphone access has been denied by the system."),"",i("trae-chat-core.rtcVoice.permGuide.mac.line2","To enable it, go to:"),i("trae-chat-core.rtcVoice.permGuide.mac.line3","System Settings \u2192 Privacy & Security \u2192 Microphone \u2192 Check your app")].join("\n");case"Windows":return[i("trae-chat-core.rtcVoice.permGuide.win.line1","Microphone access has been denied by the system."),"",i("trae-chat-core.rtcVoice.permGuide.win.line2","To enable it, check system settings:"),i("trae-chat-core.rtcVoice.permGuide.win.line3",'Settings \u2192 Privacy \u2192 Microphone \u2192 Make sure "Allow apps to access your microphone" is turned on')].join("\n");case"Linux":return[i("trae-chat-core.rtcVoice.permGuide.linux.line1","Microphone access has been denied by the system."),"",i("trae-chat-core.rtcVoice.permGuide.linux.line2","Please check your system audio settings (PulseAudio/PipeWire),"),i("trae-chat-core.rtcVoice.permGuide.linux.line3","and make sure the app is not muted or blocked.")].join("\n");default:return i("trae-chat-core.rtcVoice.permGuide.default","Please allow microphone access in your system settings and try again.")}}function U5(e){let t;switch(e){case"Mac":t="x-apple.systempreferences:com.apple.preference.security?Privacy_Microphone";break;case"Windows":t="ms-settings:privacy-microphone";break;default:UU.logger.info("[MicPermissionGuide] No system settings deep-link for platform",{osType:e})}t&&(UU.logger.info("[MicPermissionGuide] Attempting to open system settings",{url:t,osType:e}),window.open(t,"_blank"))}function U9(e){let t=U3(),i=U4(t,e),r=e?e("trae-chat-core.rtcVoice.permGuide.title",void 0,"Microphone Permission Denied"):"Microphone Permission Denied",s=e?e("trae-chat-core.rtcVoice.permGuide.goSettings",void 0,"Go to Settings"):"Go to Settings",n=e?e("trae-chat-core.rtcVoice.permGuide.close",void 0,"Close"):"Close";UU.logger.info("[MicPermissionGuide] Showing permission guide modal",{osType:t});let a="Mac"===t||"Windows"===t;U2.lJ.show({type:"warning",title:r,content:i,...a?{confirmText:s,cancelText:n,onConfirm:()=>{U5(t)}}:{confirmText:n}})}},56149(e,t,i){i.d(t,{w:()=>n});var r=i(74134),s=i(24096);function n(e,t){let i;try{i=s.kL.resolve(r.F.Tea)}catch{return}let n={};for(let[e,i]of Object.entries(t))-1!==i&&void 0!==i&&(n[e]=i);i.report(e,n)}},95834(e,t,i){i.d(t,{K:()=>l});var r=i(82250);function s(e){let{request:t,config:i,envMetadata:r}=e,s=t.chatHistory.filter(e=>"user"===e.role).slice(-i.max_user_message_item_count),n=t.chatHistory.filter(e=>"assistant"===e.role).slice(-i.max_model_response_item_count),a=0,o=s.slice().reverse().filter((e,t)=>(a+=e.content.length,0===t||a<=i.max_user_message_size)).reverse().map(e=>e.content.trim().slice(0,i.max_user_message_size)),l=0,c=n.slice().reverse().filter((e,t)=>(l+=e.content.length,0===t||l<=i.max_model_response_size)).reverse().map(e=>e.content.trim().slice(0,i.max_model_response_size));return{env_metadata:r,function_type:"recommend",target_language:"",user_query:"",history_queries:"",render_context:{variables:JSON.stringify({user_input_history:JSON.stringify(o),last_assistant_response:JSON.stringify(c),active_file_content:"",symbol_infos:JSON.stringify([]),user_additional_actions:""})}}}function n(e){let t=e.match(/file="([^"]*)"/),i=e.match(/type="([^"]*)"/),r=e.match(/content="([^"]*)"/);if(t&&i&&r)return{type:i[1],absPath:t[1],content:r[1]}}var a=i(27872);let o="api/ide/v1/super_completion_query";class l{constructor(e){this.options=e}cancel(){this.controller?.abort(),this.controller=void 0}static cancelPending(){l.pendingController?.abort(),l.pendingController=void 0,l.pendingKey=void 0,l.pendingPromise=void 0}async getChatSuggest(e,t){let i={...r.h$,...t},s=JSON.stringify({sessionId:e.sessionId,historyLen:e.chatHistory.length});if(l.pendingPromise&&l.pendingKey===s)return a.logger.info("[ChatSuggestService] reusing pending request",s),l.pendingPromise;l.cancelPending();let n=new AbortController;l.pendingController=n;let o=this.executeWithTimeout(e,i,n).finally(()=>{l.pendingKey===s&&(l.pendingKey=void 0,l.pendingPromise=void 0,l.pendingController=void 0)});return l.pendingKey=s,l.pendingPromise=o,o}async executeWithTimeout(e,t,i){let s=t.request_timeout;return new Promise(n=>{let a=setTimeout(()=>{i.abort(),n({success:!1,code:r.A0.TIMEOUT,error:"request timeout",result:[],logId:""})},s);this.execute(e,t,i).then(e=>{clearTimeout(a),n(e)}).catch(e=>{clearTimeout(a),n({success:!1,code:r.A0.UNKNOWN,error:String(e),result:[],logId:""})})})}async execute(e,t,i){let l,c=s({request:e,config:t,envMetadata:this.options.getEnvMetadata()}),d=this.options.getBaseURL();a.logger.info("[ChatSuggestService] execute start",JSON.stringify({baseURL:d}));let u=await this.options.getHeaders();if(e.traceId){let t=Math.random().toString(16).slice(2,18).padEnd(16,"0");u["x-flow-traceparent"]=`04-${e.traceId}-${t}-01`}a.logger.info("[ChatSuggestService] headers obtained",JSON.stringify({hasAuth:!!u.Authorization}));let h=`${d.replace(/\/$/,"")}/${o}`;a.logger.info("[ChatSuggestService] fetching",h);let p=await fetch(h,{method:"POST",headers:{...u,"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(c),signal:i.signal});if(a.logger.info("[ChatSuggestService] fetch response",JSON.stringify({status:p.status,ok:p.ok})),!p.ok)return{success:!1,code:r.A0.UNKNOWN,error:`HTTP ${p.status}`,result:[],logId:""};let{logId:m,completionText:f}=await this.parseSSEStream(p);if(!f)return{success:!1,code:r.A0.EMPTY_RESPONSE,error:"response completionText is empty",result:[],logId:m};let g=f.trim();g.startsWith("```json")&&g.endsWith("```")&&(g=g.slice(7,g.length-3));try{l=JSON.parse(g)}catch{return{success:!1,code:r.A0.PARSE_RESPONSE_ERROR,error:"invalid completionText format",result:[],logId:m}}let _=(l=l.slice(0,5)).map((e,t)=>({id:`${m}-${t+1}`,text:e.query,references:e.mention?e.mention.map(n).filter(e=>void 0!==e):[]}));return{success:!0,code:r.A0.SUCCESS,error:"",result:_,logId:m}}async parseSSEStream(e){let t="",i="",s=e.body?.getReader();if(!s)return{logId:t,completionText:i};let n=new TextDecoder,a="",o="",l="";try{for(;;){let{done:e,value:c}=await s.read();if(e)break;let d=(a+=n.decode(c,{stream:!0})).split("\n");for(let e of(a=d.pop()||"",d)){let s=e.replace(/\r$/,"");if(s.startsWith("event:"))o=s.slice(6).trim();else if(s.startsWith("data:"))l=s.slice(5).trim();else if(""===s&&o&&l){if(o===r.R_.Meta)try{let e=JSON.parse(l);t=e.id||e.log_id||""}catch{}else if(o===r.R_.Output)try{let e=JSON.parse(l),t=e.choices?.[0];i+=t?.text||""}catch{}else if(o===r.R_.Done)return{logId:t,completionText:i};else if(o===r.R_.Error)try{let e=JSON.parse(l);throw Error(e.error||e.message||"Unknown request error")}catch(e){throw e}o="",l=""}}}}finally{s.releaseLock()}return t||(t=String(Date.now())),{logId:t,completionText:i}}}},80755(e,t,i){i.d(t,{C3Z:()=>s.C3,MId:()=>a.M,quh:()=>n.qu,DXz:()=>r.DX});var r=i(30940),s=i(43716);i(52716),i(95490),i(32997),i(96402),i(31963),i(14173),i(45779),i(8552),i(14703),i(17138),i(31259),i(12432),i(30333),i(44518);var n=i(32987);i(8757),i(81136),i(71434),i(79565),i(81641),i(64865),i(79446),i(35491),i(74263),i(64671),i(25087),i(52035),i(84554);var a=i(14702);i(60539),i(13545),i(12072),i(2685),i(77037),i(26043),i(95834),i(5373),i(27848),i(47167),i(27517),i(41405),i(7335)},94162(e,t,i){i.d(t,{d:()=>r});function r(e){if(e?.content&&e.content.length>0){let t=e.content.find(e=>"text"===e.type);if(t&&"text_content"in t)return t.text_content}if(e?.query&&e.query.length>0){let t=e.query.filter(e=>"text"===e.type).map(e=>e.data?.content||"").join("");if(t)return t}}},52716(e,t,i){i.d(t,{e3:()=>s,xC:()=>n}),i(94134),i(22293);var r=i(56335),s=function(e){return e.CloudNotSupportCustomModel="cloud-not-support-custom-model",e.CanSwitchCustomModel="can-switch-custom-model",e}({});let n=(0,r.vt)(e=>({visible:!1,type:void 0,showCustomModelHint:t=>{e({visible:!0,type:t??"cloud-not-support-custom-model"})},hideCustomModelHint:()=>{e({visible:!1,type:void 0})}}));i(57339)},44368(e,t,i){i.d(t,{CU:()=>s,X2:()=>n,_n:()=>r,an:()=>c,ch:()=>o,iA:()=>l,kr:()=>a});var r=function(e){return e.CommercialRemind="commercial_remind",e.CommercialExhaust="commercial_exhaust",e.Queue="queue",e.MaxModeUsage="max_mode_usage",e.PaygoStart="paygo_start",e.PaygoUsage="paygo_usage",e.AutoCompletionExhaust="auto_completion_exhaust",e.AutoCompletionRemind="auto_completion_remind",e.RemoteAgentGitPushFailed="remote_agent_git_push_failed",e.ContentFilterWarning="content_filter_warning",e.CnCooldownLowFrNotify="cn_cooldown_low_fr_notify",e.Unknown="unknown",e}({}),s=function(e){return e[e.AutoCompletion=1]="AutoCompletion",e[e.AdvancedModel=2]="AdvancedModel",e[e.PremiumModelFastRequest=3]="PremiumModelFastRequest",e[e.PremiumModelSlowRequest=4]="PremiumModelSlowRequest",e[e.DollarBasic=5]="DollarBasic",e[e.DollarBonus=6]="DollarBonus",e[e.PayGo=7]="PayGo",e}({}),n=function(e){return e[e.Upgrade=1]="Upgrade",e[e.Buy=2]="Buy",e[e.UseFastRequest=3]="UseFastRequest",e[e.DoNotShowAgain=100]="DoNotShowAgain",e[e.ExpressLottery=101]="ExpressLottery",e}({}),a=function(e){return e[e.NoQuotaCanUpgrade=1]="NoQuotaCanUpgrade",e[e.NoQuotaCannotUpgrade=2]="NoQuotaCannotUpgrade",e[e.HasQuotaCanUse=3]="HasQuotaCanUse",e[e.HasQuotaCannotUse=4]="HasQuotaCannotUse",e[e.AlreadyUsing=5]="AlreadyUsing",e}({}),o=function(e){return e[e.Free=0]="Free",e[e.Pro=1]="Pro",e[e.Package=2]="Package",e[e.PromoCode=3]="PromoCode",e[e.ProPlus=4]="ProPlus",e[e.ProPlusPack=5]="ProPlusPack",e[e.Ultra=6]="Ultra",e[e.Paygo=7]="Paygo",e[e.Lite=8]="Lite",e[e.SoloInvite=9]="SoloInvite",e[e.CNExpress=100]="CNExpress",e}({}),l=function(e){return e[e.Pre=1]="Pre",e[e.Post=2]="Post",e}({}),c=function(e){return e.End="end",e}({})},30045(e,t,i){i.d(t,{BG:()=>s.B,nN:()=>r.nN});var r=i(79297),s=i(74134)},55904(e,t,i){i.d(t,{Epo:()=>p.A,U34:()=>ed,_GD:()=>tl,mtl:()=>a.mt,vRb:()=>_.vR,A4o:()=>n.A4,DJn:()=>s.DJ,hEc:()=>s.hE,AuF:()=>a.Au,N2R:()=>s.N2,lxX:()=>el.l,LMj:()=>u.LM,_8H:()=>u._8,MDR:()=>r.MD,MLK:()=>r.ML,qK0:()=>a.qK,A1V:()=>s.A1,lxs:()=>n.lx,u7i:()=>l.u7,FyZ:()=>s.YV,JrA:()=>u.Jr,B3F:()=>eO,s30:()=>h.s3,CPc:()=>s.CP,tnY:()=>n.tn,Z7S:()=>s.Z7});var r=i(79024),s=i(32718),n=i(25188);i(56149),i(48671);var a=i(23845),o=i(41748);i(19648);var l=i(60413);i(48117),i(94),i(91003);var c=i(97282),d=i(51649);i(74134);var u=i(34526);i(63769),i(46681),i(39522),i(31978);var h=i(15005);i(773),i(90507);var p=i(25415),m=i(21857),f=i(17610);let g=[{mode:f.Uf.Work,label:"Work",icon:(0,c.jsx)(m.jv,{})},{mode:f.Uf.Code,label:"Code",icon:(0,c.jsx)(m.Dl,{})}];(0,d.memo)(({activeMode:e,onModeChange:t})=>{let i=(0,d.useCallback)(i=>{i!==e&&t(i)},[e,t]),r=(0,d.useMemo)(()=>g.map((t,r)=>{let s=t.mode===e,n=0===r,a=1===r,o=["messageInputTab"];return s?o.push("messageInputTabActive"):o.push("messageInputTabInactive"),n&&o.push("messageInputTabLeft"),a&&o.push("messageInputTabRight"),(0,c.jsxs)("button",{type:"button",className:o.join(" "),onClick:()=>i(t.mode),"aria-pressed":s,"aria-label":`Switch to ${t.label} mode`,children:[(0,c.jsx)("span",{className:"messageInputTabIcon",children:t.icon}),(0,c.jsx)("span",{className:"messageInputTabLabel",children:t.label})]},t.mode)}),[e,i]);return(0,c.jsx)("div",{className:"messageInputTabsContainer",children:r})}).displayName="InputModeTabs",i(69092),i(42277),i(15638);var _=i(1667),y=i(19755),v=i(84496);let b="image/jpeg,image/png,image/gif,image/webp",S=()=>(0,c.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,c.jsx)("path",{d:"M3.00033 10.3335L5.33366 8.0002L8.00033 10.6669L9.33366 9.33354L13.0003 13.0002M2.66699 2.66687H13.3337V13.3335H2.66699V2.66687Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"square"}),(0,c.jsx)("path",{d:"M11.1768 6.03955C11.1768 6.71113 10.6315 7.25635 9.95996 7.25635C9.28854 7.25616 8.74414 6.71101 8.74414 6.03955C8.74433 5.36825 9.28866 4.82392 9.95996 4.82373C10.6314 4.82373 11.1766 5.36813 11.1768 6.03955Z",fill:"currentColor"})]});(0,d.memo)(({onUpload:e,disabled:t})=>{let i=(0,d.useRef)(null),r=(0,n.s9)(),s=(0,d.useCallback)(()=>{t||i.current?.click()},[t]),a=(0,d.useCallback)(t=>{let r=t.target.files;r&&r.length>0&&e(Array.from(r)),i.current&&(i.current.value="")},[e]);return(0,c.jsxs)("div",{className:"imageUploadContainer",children:[(0,c.jsx)("input",{ref:i,type:"file",accept:b,multiple:!0,onChange:a,className:"imageUploadInput",disabled:t}),(0,c.jsx)(y.A,{content:r.localize("trae-chat-core.imageUpload.tooltip",{},"Upload image"),side:"top",children:(0,c.jsx)(v.A,{className:"imageUploadBtn",variant:"tertiary",size:"default",icon:(0,c.jsx)(S,{}),onClick:s,disabled:t})})]})}).displayName="ImageUpload",i(23516),i(10265),i(53793),i(42680),i(45227),i(79349),i(27798);var k=i(76933),x=i(95896),C=i(79273);let w={otherInputWrapper:"otherInputWrapper-m5HxHa",otherTextarea:"otherTextarea-H6vnYk",otherCounter:"otherCounter-n7dNkh",choiceList:"choiceList-hYzxPX",optionItem:"optionItem-FPs_un",optionItemOther:"optionItemOther-RebrrH",optionItemSelected:"optionItemSelected-Iv4Xgo",optionItemFocused:"optionItemFocused-ocAJvB",optionContent:"optionContent-RwGn8B",optionLabelRow:"optionLabelRow-gcwffZ",optionLabel:"optionLabel-i_zksK",optionDescription:"optionDescription-e6HnVI",optionIcons:"optionIcons-HsyL1U",optionArrowIcon:"optionArrowIcon-CODv_Z",optionEnterIcon:"optionEnterIcon-ezdQUC",optionEnterIconHidden:"optionEnterIconHidden-n3FgY1",arrowIcon:"arrowIcon-HN8neg",arrowIconDisabled:"arrowIconDisabled-cPhw1E",otherInputContainer:"otherInputContainer-p1dFmJ",textBody:"textBody-mBku2M",textContent:"textContent-qxkBxU",textTextarea:"textTextarea-yy5zIs",textToolbar:"textToolbar-qXHtc0",textExpandIcon:"textExpandIcon-jWnfq6",textCounter:"textCounter-C6M5Jy",header:"header-M0_b83",headerLeft:"headerLeft-IvszEi",avatar:"avatar-DpTSCw",title:"title-KhzjW7",headerRight:"headerRight-WJVH1v",pagination:"pagination-5D1TfU",paginationBtn:"paginationBtn-Yjsgrq",paginationText:"paginationText-sxAhz7",tooltipWithIcon:"tooltipWithIcon-AjGYaq",tooltipKey:"tooltipKey-hLsPPv",closeBtn:"closeBtn-SSnnSL",footer:"footer-jgAdou",footerWrapper:"footerWrapper-O2K1Mw",footerHidden:"footerHidden-KpOd29",footerVisible:"footerVisible-An8MZv",footerBtnFixed:"footerBtnFixed-otR2Yd",footerShortcutIcon:"footerShortcutIcon-M5_De6",footerKbd:"footerKbd-bFlf1Z",footerKbdWide:"footerKbdWide-j5JRao",questionCard:"questionCard-dak5fA",body:"body-s2RLDN",loading:"loading-MqdjCL",bodyOverlay:"bodyOverlay-XRqgZT",avatarLoadingBadge:"avatarLoadingBadge-sdZJbY",avatarLoadingSpinner:"avatarLoadingSpinner-_ThIEJ"},E=()=>(0,c.jsx)(k.rjT,{style:{width:14,height:14}}),T=()=>(0,c.jsx)(k.Y7q,{style:{width:14,height:14}}),I=()=>(0,c.jsx)(k.gzW,{style:{width:20,height:20}}),R=(0,d.memo)(({avatar:e,title:t,currentIndex:i,total:r,canGoPrev:s,canGoNext:n,onPrev:a,onNext:o,onClose:l,disabled:d,texts:u})=>{let h=u?.previous??"Previous",p=u?.next??"Next",m=u?.cancel??"Cancel",f=u?.of??"of",g=u?.ariaPrevQuestion??"Previous question",_=u?.ariaNextQuestion??"Next question",v=u?.ariaClose??"Close",b=u?.esc??"ESC";return(0,c.jsxs)("div",{className:w.header,children:[(0,c.jsxs)("div",{className:w.headerLeft,children:[e&&(0,c.jsxs)("span",{className:w.avatar,children:[e,d&&(0,c.jsx)("span",{className:w.avatarLoadingBadge,"aria-hidden":!0,children:(0,c.jsx)(C.A,{size:"small",className:w.avatarLoadingSpinner})})]}),(0,c.jsx)(x.A,{className:w.title,lines:2,tooltipMode:"mini",children:t})]}),(0,c.jsxs)("div",{className:w.headerRight,children:[(0,c.jsxs)("div",{className:w.pagination,children:[s&&!d?(0,c.jsx)(y.A,{content:(0,c.jsxs)("span",{className:w.tooltipWithIcon,children:[(0,c.jsx)("span",{className:w.tooltipKey,children:(0,c.jsx)(k.Gk,{})}),h]}),mode:"mini",children:(0,c.jsx)("button",{className:w.paginationBtn,onClick:a,"aria-label":g,children:(0,c.jsx)(E,{})})}):(0,c.jsx)("button",{className:w.paginationBtn,disabled:!0,"aria-label":g,children:(0,c.jsx)(E,{})}),(0,c.jsxs)("span",{className:w.paginationText,children:[i+1," ",f," ",r]}),n&&!d?(0,c.jsx)(y.A,{content:(0,c.jsxs)("span",{className:w.tooltipWithIcon,children:[p,(0,c.jsx)("span",{className:w.tooltipKey,children:(0,c.jsx)(k.hIg,{})})]}),mode:"mini",children:(0,c.jsx)("button",{className:w.paginationBtn,onClick:o,"aria-label":_,children:(0,c.jsx)(T,{})})}):(0,c.jsx)("button",{className:w.paginationBtn,disabled:!0,"aria-label":_,children:(0,c.jsx)(T,{})})]}),d?(0,c.jsx)("button",{className:w.closeBtn,onClick:l,"aria-label":v,disabled:!0,children:(0,c.jsx)(I,{})}):(0,c.jsx)(y.A,{content:(0,c.jsxs)("span",{children:[(0,c.jsx)("span",{className:w.tooltipCancel,children:m}),"\xa0\xa0",(0,c.jsx)("span",{className:w.tooltipKey,children:b})]}),mode:"mini",children:(0,c.jsx)("button",{className:w.closeBtn,onClick:l,"aria-label":v,children:(0,c.jsx)(I,{})})})]})]})});R.displayName="QuestionHeader";let N=R;var A=i(20848),M=i(92621),P=function(){return(P=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function L(e,t){var i=(0,d.useContext)(M.o).prefix,r=e.className,s=void 0===r?"":r,n=e.prefix,a=e.width,o=void 0===a?"1em":a,l=e.height,c=void 0===l?"1em":l,u=e.useCurrentColor,h=void 0===u||u,p=e.spin,m=j(e,["className","prefix","width","height","useCurrentColor","spin"]),f=n||i||"trae",g=p?" ".concat(f,"-icon-loading"):"";return d.default.createElement("svg",P({className:"".concat(f,"-icon ").concat(f,"-icon-keboard-enter").concat(g," ").concat(s),width:o,height:c,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},m,{ref:t}),d.default.createElement("path",{d:"M12.7085 7.99951V6.6665C12.7085 5.90711 12.0929 5.2915 11.3335 5.2915H9.3335C8.98832 5.2915 8.7085 5.01168 8.7085 4.6665C8.7085 4.32133 8.98832 4.0415 9.3335 4.0415H11.3335C12.7832 4.0415 13.9585 5.21676 13.9585 6.6665V7.99951C13.9585 9.44929 12.7833 10.6245 11.3335 10.6245H3.3335C2.98832 10.6245 2.7085 10.3447 2.7085 9.99951C2.70867 9.65448 2.98843 9.37451 3.3335 9.37451H11.3335C12.0929 9.37451 12.7085 8.75893 12.7085 7.99951Z",fill:h?"currentColor":"#262626"}),d.default.createElement("path",{d:"M4.89131 6.89082C5.13529 6.64702 5.53105 6.64712 5.7751 6.89082C6.01918 7.1349 6.01918 7.53151 5.7751 7.77559L3.55049 9.99922L5.7751 12.2248C6.01918 12.4689 6.01918 12.8645 5.7751 13.1086C5.53101 13.3525 5.13533 13.3526 4.89131 13.1086L2.22432 10.4416C1.98062 10.1976 1.98051 9.8018 2.22432 9.55781L4.89131 6.89082Z",fill:h?"currentColor":"#262626"}))}let D=d.default.forwardRef(L),O=(0,d.memo)(({isFirst:e,isLast:t,isMultiple:i,onCancel:r,onPrev:s,onNext:n,texts:a})=>{let o=a?.cancel??"Cancel",l=a?.previous??"Previous",d=a?.next??"Next",u=a?.submit??"Submit";return(0,c.jsxs)("div",{className:w.footer,children:[(0,c.jsxs)(A.A,{type:"secondary",size:"large",className:w.footerBtnFixed,onClick:r,children:[o,(0,c.jsx)("kbd",{className:w.footerKbd,children:"ESC"})]}),!e&&s&&(0,c.jsx)(A.A,{type:"secondary",size:"large",className:w.footerBtnFixed,onClick:s,children:l}),(0,c.jsxs)(A.A,{type:"primary",size:"large",className:w.footerBtnFixed,onClick:n,children:[t?u:d,(0,c.jsxs)("kbd",{className:`${w.footerKbd}${i?` ${w.footerKbdWide}`:""}`,children:[i&&(0,c.jsx)("span",{children:"\u2318"}),(0,c.jsx)(D,{style:{width:12,height:12}})]})]})]})});O.displayName="QuestionFooter";let F=O;var U=i(18419);let V=(0,d.memo)((0,d.forwardRef)(({value:e,maxLength:t=500,placeholder:i,onChange:r,onEnter:s,onFocus:n,onNavigate:a},o)=>{let l=(0,d.useRef)(null),u=(0,d.useRef)(!1),h=i??"Please enter";(0,d.useImperativeHandle)(o,()=>l.current);let p=(0,d.useCallback)(()=>{let e=l.current;if(!e)return;e.style.height="0px";let t=e.scrollHeight,i=24,r=60,s=Math.max(24,Math.min(t,60));e.style.height=`${s}px`,e.style.overflowY=s>=r?"auto":"hidden",e.dataset.singleLine=s===i?"1":"0"},[e]);(0,d.useEffect)(()=>{p()},[e,p]);let m=(0,d.useCallback)(e=>{let i=e.target.value;r(i.length<=t?i:i.slice(0,t))},[t,r]),f=e.length;return(0,c.jsxs)("div",{className:w.otherInputWrapper,children:[(0,c.jsx)("textarea",{ref:l,className:`${w.otherTextarea} custom-scrollbar`,value:e,placeholder:h,onChange:m,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),onFocus:n,"data-qa-other":"1",onCompositionStart:()=>{u.current=!0},onCompositionEnd:()=>{u.current=!1},onKeyDown:t=>{let i=l.current;if("Enter"===t.key){if(t.nativeEvent?.isComposing||u.current)return;t.preventDefault(),s?.();return}if(("ArrowUp"===t.key||"ArrowDown"===t.key)&&!(t.nativeEvent?.isComposing||u.current)&&i){let r=i.selectionStart??0,s=i.selectionEnd??0,n=0===r&&0===s,o=r===e.length&&s===e.length;"ArrowUp"===t.key&&n?(t.preventDefault(),t.stopPropagation(),i.blur(),a?.("up")):"ArrowDown"===t.key&&o&&(t.preventDefault(),t.stopPropagation(),i.blur(),a?.("down"))}}}),(0,c.jsxs)("span",{className:w.otherCounter,children:[f,"/",t]})]})}));V.displayName="OtherInput";let B=V;var z=function(){return(z=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function H(e,t){var i=(0,d.useContext)(M.o).prefix,r=e.className,s=void 0===r?"":r,n=e.prefix,a=e.width,o=void 0===a?"1em":a,l=e.height,c=void 0===l?"1em":l,u=e.useCurrentColor,h=void 0===u||u,p=e.spin,m=W(e,["className","prefix","width","height","useCurrentColor","spin"]),f=n||i||"trae",g=p?" ".concat(f,"-icon-loading"):"";return d.default.createElement("svg",z({className:"".concat(f,"-icon ").concat(f,"-icon-keyboard-arrow-up").concat(g," ").concat(s),width:o,height:c,viewBox:"0 0 12 12",fill:h?"currentColor":"#000",xmlns:"http://www.w3.org/2000/svg"},m,{ref:t}),d.default.createElement("path",{d:"M5.5 10V2.5C5.5 2.22386 5.72386 2 6 2C6.27614 2 6.5 2.22386 6.5 2.5V10C6.5 10.2761 6.27614 10.5 6 10.5C5.72386 10.5 5.5 10.2761 5.5 10Z"}),d.default.createElement("path",{d:"M5.72457 1.58203C5.91865 1.45387 6.18261 1.47562 6.35348 1.64649L9.35348 4.64649C9.54874 4.84175 9.54874 5.15825 9.35348 5.35352C9.15822 5.54878 8.84171 5.54878 8.64645 5.35352L5.99996 2.70703L3.35348 5.35352C3.15822 5.54878 2.84171 5.54878 2.64645 5.35352C2.45118 5.15825 2.45118 4.84175 2.64645 4.64649L5.64645 1.64649L5.72457 1.58203Z"}))}let G=d.default.forwardRef(H);var Z=function(){return(Z=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function X(e,t){var i=(0,d.useContext)(M.o).prefix,r=e.className,s=void 0===r?"":r,n=e.prefix,a=e.width,o=void 0===a?"1em":a,l=e.height,c=void 0===l?"1em":l,u=e.useCurrentColor,h=void 0===u||u,p=e.spin,m=K(e,["className","prefix","width","height","useCurrentColor","spin"]),f=n||i||"trae",g=p?" ".concat(f,"-icon-loading"):"";return d.default.createElement("svg",Z({className:"".concat(f,"-icon ").concat(f,"-icon-keyboard-arrow-down").concat(g," ").concat(s),width:o,height:c,viewBox:"0 0 12 12",fill:h?"currentColor":"#000",xmlns:"http://www.w3.org/2000/svg"},m,{ref:t}),d.default.createElement("path",{d:"M8.64645 6.64648C8.84171 6.45122 9.15822 6.45122 9.35348 6.64648C9.54874 6.84175 9.54874 7.15825 9.35348 7.35352L6.35348 10.3535C6.15822 10.5488 5.84171 10.5488 5.64645 10.3535L2.64645 7.35352C2.45118 7.15825 2.45118 6.84175 2.64645 6.64648C2.84171 6.45122 3.15822 6.45122 3.35348 6.64648L5.99996 9.29297L8.64645 6.64648Z"}),d.default.createElement("path",{d:"M5.5 9.5V2C5.5 1.72386 5.72386 1.5 6 1.5C6.27614 1.5 6.5 1.72386 6.5 2V9.5C6.5 9.77614 6.27614 10 6 10C5.72386 10 5.5 9.77614 5.5 9.5Z"}))}let Y=d.default.forwardRef(X),J=(0,d.memo)(({selectionType:e,label:t,description:i,isOther:r,otherText:s,selected:n,focused:a,onClick:o,onMouseEnter:l,onMouseLeave:u,onOtherTextChange:h,onOtherEnter:p,onOtherFocus:m,otherAutoFocusToken:f,onOtherNavigate:g,isFirstOption:_,isLastOption:y,otherPlaceholder:v})=>{let b=[w.optionItem,r?w.optionItemOther:void 0,a?w.optionItemFocused:void 0,n?w.optionItemSelected:void 0].filter(Boolean).join(" "),S=a,k=(0,d.useRef)(null);(0,d.useEffect)(()=>{r&&a&&"number"==typeof f&&k.current?.focus()},[r,a,f]);let C=e=>{o(),r&&k.current?.focus()},E=e=>{k.current?.blur(),g?.(e)};return(0,c.jsxs)("div",{className:b,onClick:C,onMouseEnter:l,onMouseLeave:u,children:[(0,c.jsx)("div",{className:w.optionContent,children:(0,c.jsxs)("div",{className:w.optionLabelRow,children:["multiple"===e&&(0,c.jsx)("span",{style:{display:"inline-flex",height:"20px"},children:(0,c.jsx)(U.A,{checked:n})}),(0,c.jsx)("span",{className:w.optionLabel,children:t}),r?(0,c.jsx)("div",{className:w.otherInputContainer,onMouseDown:e=>{e.stopPropagation()},onClick:e=>{e.stopPropagation()},children:(0,c.jsx)(B,{ref:k,value:s??"",placeholder:v,onChange:h??(()=>{}),onEnter:p,onFocus:m,onNavigate:E})}):i&&(0,c.jsx)(x.A,{className:w.optionDescription,tooltipMode:"mini",children:i})]})}),S&&(0,c.jsxs)("div",{className:w.optionIcons,children:[(0,c.jsx)("span",{className:[w.arrowIcon,_?w.arrowIconDisabled:""].join(" "),children:(0,c.jsx)(G,{style:{width:12,height:12}})}),(0,c.jsx)("span",{className:[w.arrowIcon,y?w.arrowIconDisabled:""].join(" "),children:(0,c.jsx)(Y,{style:{width:12,height:12}})})]})]})});J.displayName="OptionItem";let $=J,q=(0,d.memo)(({options:e,selectedOptionId:t,otherText:i="",maxLength:r=500,focusedIndex:s,onSelect:n,onEnterSelect:a,onOtherTextChange:o,onFocusChange:l,otherAutoFocusToken:u,otherPlaceholder:h})=>{let p=(0,d.useCallback)(e=>{e.isOther?n(e.id):a(e.id)},[n,a]),m=(0,d.useCallback)(e=>{l(e)},[l]),f=(0,d.useCallback)(()=>{},[]),g=(0,d.useCallback)((e,t)=>{o(e)},[o,n]);return(0,c.jsx)("div",{className:w.choiceList,children:e.map((r,o)=>{let d=t===r.id,_=s===o,y=r.isOther;return(0,c.jsx)($,{selectionType:"single",label:r.label,description:r.description,isOther:y,otherText:i,selected:d,focused:_,onClick:()=>p(r),onMouseEnter:()=>m(o),onMouseLeave:f,onOtherTextChange:e=>g(e,r),onOtherEnter:y?()=>a(r.id):void 0,onOtherFocus:y?()=>n(r.id):void 0,otherAutoFocusToken:y&&_?u:void 0,onOtherNavigate:y?t=>{let i=e.length;l("up"===t?(o-1+i)%i:(o+1)%i)}:void 0,isFirstOption:0===o,isLastOption:o===e.length-1,otherPlaceholder:h},r.id)})})});q.displayName="SingleChoiceBody";let Q=q,ee=(0,d.memo)(({options:e,selectedOptionIds:t,otherText:i="",maxLength:r=500,focusedIndex:s,onToggle:n,onOtherTextChange:a,onFocusChange:o,otherAutoFocusToken:l,otherPlaceholder:u})=>{let h=(0,d.useCallback)((e,t)=>{t||n(e)},[n]),p=(0,d.useCallback)(e=>{o(e)},[o]),m=(0,d.useCallback)(()=>{},[]),f=(0,d.useCallback)(e=>{a(e)},[a]);return(0,c.jsx)("div",{className:w.choiceList,children:e.map((r,n)=>{let a=t.includes(r.id),d=s===n,g=r.isOther??!1;return(0,c.jsx)($,{selectionType:"multiple",label:r.label,description:r.description,isOther:g,otherText:i,selected:a,focused:d,onClick:()=>h(r.id,g),onMouseEnter:()=>p(n),onMouseLeave:m,onOtherTextChange:f,onOtherNavigate:g?t=>{let i=e.length;o("up"===t?(n-1+i)%i:(n+1)%i)}:void 0,otherAutoFocusToken:g&&d?l:void 0,otherPlaceholder:u,isFirstOption:0===n,isLastOption:n===e.length-1},r.id)})})});ee.displayName="MultipleChoiceBody";let et=ee,ei=(0,d.memo)(({value:e,maxLength:t=500,placeholder:i,onChange:r})=>{let s=(0,d.useCallback)(e=>{let i=e.target.value;i.length<=t&&r(i)},[t,r]),n=e.length;return(0,c.jsx)("div",{className:w.textBody,children:(0,c.jsxs)("div",{className:w.textContent,children:[(0,c.jsx)("textarea",{className:`${w.textTextarea} custom-scrollbar`,value:e,placeholder:i,onChange:s,autoFocus:!0}),(0,c.jsx)("div",{className:w.textToolbar,children:(0,c.jsxs)("span",{className:w.textCounter,children:[n,"/",t]})})]})})});ei.displayName="TextBody";let er=ei;var es=i(19329);let en=(0,d.memo)(({questions:e,currentIndex:t,avatar:i,onAnswerChange:r,onCancel:s,onPrev:n,onNext:a,onSubmit:o,onClose:l,className:u,loading:h,loadingText:p,disableEscWhenLoading:m,texts:f})=>{let[g,_]=(0,d.useState)(new Map),[y,v]=(0,d.useState)(0),b=(0,d.useMemo)(()=>e[t],[e,t]),[S,k]=(0,d.useState)(0),[x,C]=(0,d.useState)(0),E=0===t,T=t===e.length-1,I=(0,d.useCallback)(()=>{if(b)return g.get(b.id)??b.initialAnswer},[g,b]),R=(0,d.useMemo)(()=>I(),[I]),A=(0,d.useCallback)(e=>{b&&(_(t=>{let i=new Map(t);return i.set(b.id,e),i}),r(b.id,e))},[b,r]),M=(0,d.useCallback)(()=>{T?o():a()},[T,a,o]),P=(0,d.useCallback)(e=>{let t=I();A({type:"single",optionId:e,otherText:t?.type==="single"?t.otherText:""})},[I,A]),j=(0,d.useCallback)(e=>{let t=I(),i=t?.type==="single"?t.optionId:"",r=b?.options?.find(e=>e.isOther);A({type:"single",optionId:e.length>0?r?.id??i:i,otherText:e})},[I,b?.options,A]),L=(0,d.useCallback)(e=>{P(e),M()},[P,M]),D=(0,d.useCallback)(e=>{let t=I(),i=t?.type==="multiple"?t.optionIds:[],r=t?.type==="multiple"?t.otherText:"";A({type:"multiple",optionIds:i.includes(e)?i.filter(t=>t!==e):[...i,e],otherText:r})},[I,A]),O=(0,d.useCallback)(e=>{let t=I(),i=t?.type==="multiple"?t.optionIds:[],r=b?.options?.find(e=>e.isOther),s=[...i];if(r){let t=i.includes(r.id);e.length>0&&!t?s.push(r.id):0===e.length&&t&&(s=s.filter(e=>e!==r.id))}A({type:"multiple",optionIds:s,otherText:e})},[I,b?.options,A]),U=(0,d.useCallback)(e=>{A({type:"text",text:e})},[A]),V=(0,d.useCallback)(e=>{v(e)},[]);if((0,d.useEffect)(()=>{v(0)},[t]),(0,d.useEffect)(()=>{let e=e=>{if(!b||h)return;let t=e.target,i="TEXTAREA"===t.tagName;if("Enter"===e.key&&(e.metaKey||e.ctrlKey)){e.preventDefault(),M();return}let r=b.options?.length??0,o=()=>{if(r<=0)return;let e=(y-1+r)%r;if(v(e),"multiple"===b.type){let t=b.options?.[e];t?.isOther&&C(e=>e+1)}},l=()=>{if(r<=0)return;let e=(y+1)%r;if(v(e),"multiple"===b.type){let t=b.options?.[e];t?.isOther&&C(e=>e+1)}};switch(e.key){case"ArrowUp":if("text"===b.type&&i){let i=t;(i.selectionStart??0)!==0||(i.selectionEnd??0)!==0||E||(e.preventDefault(),n?.());return}if(i)return;e.preventDefault(),o();break;case"ArrowDown":if("text"===b.type&&i){let i=t,r=i.value?.length??0;(i.selectionStart??0)!==r||(i.selectionEnd??0)!==r||T||(e.preventDefault(),a());return}if(i)return;e.preventDefault(),l();break;case"ArrowLeft":if(i){let i=t;if(i.dataset?.qaOther==="1"){(i.selectionStart??0)!==0||(i.selectionEnd??0)!==0||E||(e.preventDefault(),n?.());return}"text"===b.type&&((i.selectionStart??0)!==0||(i.selectionEnd??0)!==0||E||(e.preventDefault(),n?.()));return}e.preventDefault(),E||n?.();break;case"ArrowRight":if(i){let i=t,r=i.value?.length??0;if(i.dataset?.qaOther==="1"){(i.selectionStart??0)!==r||(i.selectionEnd??0)!==r||T||(e.preventDefault(),a());return}"text"===b.type&&((i.selectionStart??0)!==r||(i.selectionEnd??0)!==r||T||(e.preventDefault(),a()));return}e.preventDefault(),T||a();break;case"Enter":if(i)return;if("single"===b.type&&b.options){let t=b.options[y];t&&(t.isOther?(e.preventDefault(),P(t.id),k(e=>e+1)):L(t.id))}else if("multiple"===b.type&&b.options){let e=b.options[y];e&&(e.isOther?C(e=>e+1):D(e.id))}break;case" ":case"Spacebar":case"Space":if(i)return;if(e.preventDefault(),"single"===b.type&&b.options){let e=b.options[y];e&&(e.isOther?(P(e.id),k(e=>e+1)):L(e.id))}else if("multiple"===b.type&&b.options){let e=b.options[y];e&&(e.isOther?C(e=>e+1):D(e.id))}break;case"Escape":case"Esc":if(m&&h)return void e.preventDefault();e.preventDefault(),s()}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[b,y,s,L,D,P,h,m]),!b)return null;let B=(0,c.jsx)(es.A,{size:24,variant:"agent"}),z=[w.questionCard,h?w.loading:void 0,u].filter(Boolean).join(" ");return(0,c.jsxs)("div",{className:z,"aria-busy":!!h||void 0,children:[(0,c.jsx)(N,{avatar:i??B,title:b.title,currentIndex:t,total:e.length,canGoPrev:!E&&!h,canGoNext:!T&&!h,onPrev:n??(()=>{}),onNext:a,onClose:l,disabled:!!h,texts:{previous:f?.previous,next:f?.next,cancel:f?.cancel,of:f?.of,esc:f?.esc,ariaPrevQuestion:f?.ariaPrevQuestion,ariaNextQuestion:f?.ariaNextQuestion,ariaClose:f?.ariaClose}}),(0,c.jsxs)("div",{className:w.body,children:["single"===b.type&&b.options&&(0,c.jsx)(Q,{options:b.options,selectedOptionId:R?.type==="single"?R.optionId:void 0,otherText:R?.type==="single"?R.otherText:"",maxLength:b.maxLength,focusedIndex:y,onSelect:P,onEnterSelect:L,onOtherTextChange:j,onFocusChange:V,otherAutoFocusToken:S,otherPlaceholder:f?.otherPlaceholder}),"multiple"===b.type&&b.options&&(0,c.jsx)(et,{options:b.options,selectedOptionIds:R?.type==="multiple"?R.optionIds:[],otherText:R?.type==="multiple"?R.otherText:"",maxLength:b.maxLength,focusedIndex:y,onToggle:D,onOtherTextChange:O,onFocusChange:V,otherAutoFocusToken:x,otherPlaceholder:f?.otherPlaceholder}),"text"===b.type&&(0,c.jsx)(er,{value:R?.type==="text"?R.text:"",maxLength:b.maxLength,placeholder:b.placeholder,onChange:U}),h&&(0,c.jsx)("div",{className:w.bodyOverlay})]}),(0,c.jsx)("div",{className:[w.footerWrapper,h?w.footerHidden:w.footerVisible].join(" "),children:(0,c.jsx)(F,{isFirst:E,isLast:T,isMultiple:"multiple"===b.type||"text"===b.type,onCancel:s,onPrev:n,onNext:M,texts:{cancel:f?.cancel,previous:f?.previous,next:f?.next,submit:f?.submit}})})]})});en.displayName="QuestionCard";let ea=en;var eo=i(29913),el=i(11801),ec=i(91384);let ed=(0,d.memo)(function(){let e=(0,eo._)(e=>e.data),[t,i]=(0,d.useState)(0),[r,s]=(0,d.useState)(new Map),a=(0,d.useRef)(r);(0,d.useEffect)(()=>{if(e){i(e.initialStep??0);let t=new Map;e.questions.forEach(e=>{e.initialAnswer&&t.set(e.id,e.initialAnswer)}),s(t),a.current=t}else i(0),s(new Map),a.current=new Map},[e?.questions]);let o=(0,d.useCallback)((i,r)=>{s(s=>{let n=new Map(s);if(n.set(i,r),a.current=n,e?.onAnswerChange){let i=e.questions.map(e=>n.get(e.id));e.onAnswerChange(i,t)}return n})},[e,t]),l=(0,d.useCallback)(()=>{e&&i(t=>Math.min(t+1,e.questions.length-1))},[e]),u=(0,d.useCallback)(()=>{i(e=>Math.max(e-1,0))},[]),h=(0,d.useCallback)(async()=>{if(!e)return;let t=e.questions.map(e=>a.current.get(e.id));await e.onSubmit(t)},[e]),p=(0,d.useCallback)(async()=>{e&&await e.onSkip()},[e]),m=(0,d.useMemo)(()=>{if(!e)return;let{agentInfo:t}=e;return(0,c.jsx)(el.A,{agentItem:{type:t.type??ec.Eo.Chat,name:t.name,avatar_url:t.avatar_url,agent_id:t.agent_id},size:"compact"})},[e?.agentInfo]),f=(0,n.s9)();if(!e)return null;let g=!!e.isGenerating;return(0,c.jsx)("div",{className:"ask-user-question-bottom-panel",children:(0,c.jsx)(ea,{questions:e.questions,currentIndex:t,avatar:m,onAnswerChange:o,onNext:l,onPrev:u,onSubmit:h,onCancel:p,onClose:p,loading:g,loadingText:f.localize("trae-chat-core.ask-user-question.loading",{},"Loading..."),disableEscWhenLoading:!0,texts:{cancel:f.localize("trae-chat-core.ask-user-question.cancel",{},"Cancel"),previous:f.localize("trae-chat-core.ask-user-question.previous",{},"Previous"),next:f.localize("trae-chat-core.ask-user-question.next",{},"Next"),submit:f.localize("trae-chat-core.ask-user-question.submit",{},"Submit"),otherPlaceholder:f.localize("trae-chat-core.ask-user-question.pleaseEnter",{},"Please enter")}})})});var eu=i(93752),eh=i(94609);let ep=e=>(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16",...e,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"square",strokeWidth:1.2,d:"m3.333 3.336 9.334 9.333m0-9.333-9.334 9.333"})}),em=e=>(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:11,height:12,fill:"none",viewBox:"0 0 11 12",...e,children:(0,c.jsx)("path",{stroke:"#5B6066",strokeLinecap:"square",strokeWidth:.889,d:"M3.112 9.116 1.334 7.337 3.112 5.56M1.78 7.337h7.557V3.336h-4"})}),ef="scheduleConfirmPanel-pIb9Zb",eg="header-QXyCmp",e_="headerLeft-g_VF4q",ey="scheduleIcon-W_0SRe",ev="headerText-N8TWlZ",eb="closeButton-ib2LM5",eS="optionList-oSCu6R",ek="optionItem-CTxwo7",ex="optionItemSelected-Oclcnv",eC="optionText-vb1BSf",ew="inputWrapper-eJ4Oau",eE="messageInput-IeaPEY",eT="charCount-WiiyXD",eI="charCountSeparator-Ai0HhJ",eR="enterIcon-zidtiH",eN="deleteOptionItem-ZzBd33",eA="deleteOptionConfirm-dkZ77q",eM="deleteOptionCancel-kDdgy9",eP="deleteOptionText-Vy1sbQ",ej="footer-T3o7Uu",eL=500,eD="delete",eO=(0,d.memo)(function(){let e=(0,eu.t)(e=>e.data),[t,i]=(0,d.useState)("looks_good"),[r,s]=(0,d.useState)(""),a=(0,d.useRef)(null),l=(0,n.s9)(),u=e?.params.action,h=u===eD,p=o.eA.sessionById.use(e?.sessionId??""),m=(0,d.useMemo)(()=>(0,eh.ns)(p?.mode),[p?.mode]);(0,d.useEffect)(()=>{"make_changes"===t&&a.current?.focus()},[t]),(0,d.useEffect)(()=>{e||(i("looks_good"),s(""))},[e]);let f=(0,d.useCallback)(async()=>{"make_changes"===t&&r.trim()?await e?.onReject(r.trim()):await e?.onConfirm()},[e,t,r]),g=(0,d.useCallback)(async()=>{await e?.onReject()},[e]),_=(0,d.useCallback)(async()=>{await e?.onReject()},[e]),y=(0,d.useCallback)(e=>{let t=e.target.value;t.length<=eL&&s(t)},[]),v=(0,d.useCallback)(e=>{"Enter"===e.key&&(e.preventDefault(),e.stopPropagation(),f())},[f]);return e?h?(0,c.jsxs)("div",{className:ef,children:[(0,c.jsxs)("div",{className:eg,children:[(0,c.jsxs)("div",{className:e_,children:[(0,c.jsx)("div",{className:ey,children:(0,c.jsx)(el.l,{agentItem:{type:m.type,name:m.name},size:24})}),(0,c.jsx)("span",{className:ev,children:e.params.name?l.localize("trae-chat-core.schedule.deleteNamedTask",{name:e.params.name},'Delete "{name}"?'):l.localize("trae-chat-core.schedule.deleteTask",{},"Delete this automation?")})]}),(0,c.jsx)("button",{className:eb,onClick:_,children:(0,c.jsx)(ep,{width:16,height:16})})]}),(0,c.jsxs)("div",{className:eS,children:[(0,c.jsxs)("button",{className:`${eN} ${eA}`,onClick:()=>e.onConfirm(),children:[(0,c.jsx)("span",{className:eP,children:l.localize("trae-chat-core.schedule.confirm",{},"Confirm")}),(0,c.jsx)("span",{className:eR,children:(0,c.jsx)(em,{width:12,height:12})})]}),(0,c.jsx)("button",{className:`${eN} ${eM}`,onClick:()=>e.onReject(),children:(0,c.jsx)("span",{className:eP,children:l.localize("trae-chat-core.schedule.cancel",{},"Cancel")})})]})]}):(0,c.jsxs)("div",{className:ef,children:[(0,c.jsxs)("div",{className:eg,children:[(0,c.jsxs)("div",{className:e_,children:[(0,c.jsx)("div",{className:ey,children:(0,c.jsx)(el.l,{agentItem:{type:m.type,name:m.name},size:24})}),(0,c.jsx)("span",{className:ev,children:"update"===u?l.localize("trae-chat-core.schedule.confirmUpdateTitle",{},"Here are the updated details. Ready to confirm?"):l.localize("trae-chat-core.schedule.confirmCreateTitle",{},"Ready to create this task?")})]}),(0,c.jsx)("button",{className:eb,onClick:_,children:(0,c.jsx)(ep,{width:16,height:16})})]}),(0,c.jsxs)("div",{className:eS,children:[(0,c.jsx)("button",{className:`${ek} ${"looks_good"===t?ex:""}`,onClick:()=>e.onConfirm(),children:(0,c.jsx)("span",{className:eC,children:"update"===u?l.localize("trae-chat-core.schedule.confirmNow",{},"Confirm now"):l.localize("trae-chat-core.schedule.createNow",{},"Create now")})}),(0,c.jsxs)("div",{className:`${ek} ${"make_changes"===t?ex:""}`,onClick:()=>i("make_changes"),children:[(0,c.jsx)("span",{className:eC,children:l.localize("trae-chat-core.schedule.makeChanges",{},"Make changes")}),"make_changes"===t&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:ew,children:(0,c.jsx)("input",{ref:a,className:eE,placeholder:l.localize("trae-chat-core.schedule.inputPlaceholder",{},"Input..."),value:r,onChange:y,onKeyDown:v})}),(0,c.jsxs)("span",{className:eT,children:[r.length,(0,c.jsx)("span",{className:eI,children:"/"}),eL]}),(0,c.jsx)("span",{className:eR,children:(0,c.jsx)(em,{width:12,height:12})})]})]})]}),(0,c.jsxs)("div",{className:ej,children:[(0,c.jsx)(A.A,{type:"secondary",onClick:g,children:l.localize("trae-chat-core.schedule.cancel",{},"Cancel")}),(0,c.jsx)(A.A,{type:"primary",onClick:f,children:l.localize("trae-chat-core.schedule.confirm",{},"Confirm")})]})]}):null});var eF=i(54866);let eU="panel-Byyvlz",eV="titleRow-bsczGA",eB="titleIcon-llIwBh",ez="titleText-riH9wY",eW="permissionDesc-r9VNEE",eH="cwdText-QyhohH",eG="commandBlock-FOjqqZ",eZ="commandText-rHrSgO",eK="optionsList-lMhlUV",eX="optionItem-Ha_QHS",eY="optionNumber-W2ztKM",eJ="optionLabel-Yv6Kzm",e$="optionShortcut-yQzE5S",eq=(0,d.memo)(function(){let e=(0,eF.m)(e=>e.data),t=(0,d.useRef)(e?.actions);t.current=e?.actions;let i=(0,d.useCallback)(e=>{let i=t.current;if(!i)return;if("Enter"===e.key){e.preventDefault(),i[0]?.onClick();return}if("Escape"===e.key){e.preventDefault();let t=i[i.length-1];t?.onClick();return}let r=parseInt(e.key,10)-1;r>=0&&r{if(e)return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,i]),!e||e.rawContext?.kind!=="run-command")return null;let{command:r,cwd:s}=e.rawContext,{actions:n}=e;return(0,c.jsxs)("div",{className:eU,children:[(0,c.jsxs)("div",{className:eV,children:[(0,c.jsx)("span",{className:eB,children:(0,c.jsx)(k.zXX,{style:{width:20,height:20}})}),(0,c.jsx)("span",{className:ez,children:e.title})]}),(0,c.jsxs)("div",{className:eW,children:[e.description,s&&(0,c.jsx)("span",{className:eH,children:s})]}),(0,c.jsx)("div",{className:eG,children:(0,c.jsx)("span",{className:eZ,children:r})}),(0,c.jsx)("div",{className:eK,children:n.map((e,t)=>(0,c.jsxs)("div",{className:eX,onClick:e.onClick,children:[(0,c.jsx)("span",{className:eY,children:t+1}),(0,c.jsx)("span",{className:eJ,children:e.label}),0===t&&(0,c.jsx)("span",{className:e$,children:(0,c.jsx)(k.Y_,{style:{width:14,height:14}})})]},e.key))})]})}),eQ="panel-RWxKsU",e0="titleRow-ckTdOP",e1="titleIcon-wrr64O",e2="titleText-q2jBA5",e3="permissionDesc-gHvpHe",e4="fileBlock-zgQOq9",e5="fileItem-G2AaYz",e9="fileDot-Z4zzJ4",e6="filePath-AjDaoN",e8="optionsList-YwAVGK",e7="optionItem-XYAqLR",te="optionNumber-WyXSsH",tt="optionLabel-d1u3ng",ti="optionShortcut-Oau1SX",tr=(0,d.memo)(function(){let e=(0,eF.m)(e=>e.data),t=(0,d.useRef)(e?.actions);t.current=e?.actions;let i=(0,d.useCallback)(e=>{let i=t.current;if(!i)return;if("Enter"===e.key){e.preventDefault(),i[0]?.onClick();return}if("Escape"===e.key){e.preventDefault();let t=i[i.length-1];t?.onClick();return}let r=parseInt(e.key,10)-1;r>=0&&r{if(e)return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,i]),!e||e.rawContext?.kind!=="edit-file")return null;let{filePaths:r,displayPaths:s}=e.rawContext,n=s??r,{actions:a}=e;return(0,c.jsxs)("div",{className:eQ,children:[(0,c.jsxs)("div",{className:e0,children:[(0,c.jsx)("span",{className:e1,children:(0,c.jsx)(k.zXX,{style:{width:20,height:20}})}),(0,c.jsx)("span",{className:e2,children:e.title})]}),e.description&&(0,c.jsx)("div",{className:e3,children:e.description}),n.length>0&&(0,c.jsx)("div",{className:e4,children:n.map(e=>(0,c.jsxs)("div",{className:e5,children:[(0,c.jsx)("span",{className:e9}),(0,c.jsx)("span",{className:e6,children:e})]},e))}),(0,c.jsx)("div",{className:e8,children:a.map((e,t)=>(0,c.jsxs)("div",{className:e7,onClick:e.onClick,children:[(0,c.jsx)("span",{className:te,children:t+1}),(0,c.jsx)("span",{className:tt,children:e.label}),0===t&&(0,c.jsx)("span",{className:ti,children:(0,c.jsx)(k.Y_,{style:{width:14,height:14}})})]},e.key))})]})}),ts={primary:"primary",secondary:"secondary",danger:"error-strong"},tn=()=>(0,c.jsx)(k.Y_,{style:{width:12,height:12}});function ta(e){return"Enter"===e.key?(0,c.jsx)(tn,{}):"Escape"===e.key?"Esc":e.key}function to(e,t){return t.key===e.key&&!!e.metaKey===(t.metaKey||t.ctrlKey)&&!!e.shiftKey===t.shiftKey&&!!e.altKey===t.altKey}let tl=(0,d.memo)(function(){let e=(0,eF.m)(e=>e.data),t=(0,d.useRef)(e?.actions);t.current=e?.actions;let i=(0,d.useCallback)(e=>{let i=t.current;if(i){for(let t of i)if(t.shortcut&&to(t.shortcut,e)){e.preventDefault(),t.onClick();return}}},[]);return((0,d.useEffect)(()=>{if(e)return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,i]),e)?"run-command-v2"===e.panelType?(0,c.jsx)(eq,{}):"edit-file-v2"===e.panelType?(0,c.jsx)(tr,{}):(0,c.jsxs)("div",{className:`core-tool-confirm-bottom-panel${e.onClose?" core-tool-confirm-bottom-panel--closable":""}`,children:[(0,c.jsxs)("div",{className:"core-tool-confirm-bottom-panel__header-group",children:[(0,c.jsx)("div",{className:"core-tool-confirm-bottom-panel__title",children:e.title}),e.description&&(0,c.jsx)("div",{className:"core-tool-confirm-bottom-panel__description",children:e.description})]}),e.onClose&&(0,c.jsx)("button",{className:"core-tool-confirm-bottom-panel__close",onClick:e.onClose,"aria-label":"Close",children:(0,c.jsx)(k.gzW,{style:{width:16,height:16}})}),(0,c.jsx)("div",{className:"core-tool-confirm-bottom-panel__body custom-scrollbar",children:e.body}),e.optionsSlot&&(0,c.jsx)("div",{className:"core-tool-confirm-bottom-panel__options",children:e.optionsSlot}),(0,c.jsxs)("div",{className:"core-tool-confirm-bottom-panel__footer",children:[(0,c.jsx)("div",{className:"core-tool-confirm-bottom-panel__left-slot",children:e.leftSlot}),(0,c.jsx)("div",{className:"core-tool-confirm-bottom-panel__actions",children:e.actions.map(e=>(0,c.jsx)(A.A,{type:ts[e.variant||"secondary"]||"secondary",size:"large",className:"core-tool-confirm-bottom-panel__btn",shortcut:e.shortcut?ta(e.shortcut):void 0,onClick:e.onClick,children:e.label},e.key))})]})]}):null});i(41537),i(34216),i(39567);d.default.Component,i(42559),i(55673),i(95123),i(44132),i(60539),i(79123),i(73367),i(34987),i(72304),i(51198),i(7516),i(51935),i(7335),i(34274);let tc=[{group:"Base",scopeKey:"base:app:copy",zh:"\u590D\u5236\u591A\u7EF4\u8868\u683C",en:"Copy bitable"},{group:"Base",scopeKey:"base:app:create",zh:"\u521B\u5EFA\u591A\u7EF4\u8868\u683C",en:"Create bitable"},{group:"Base",scopeKey:"base:app:read",zh:"\u83B7\u53D6\u591A\u7EF4\u8868\u683C\u4FE1\u606F",en:"Get bitable info"},{group:"Base",scopeKey:"base:app:update",zh:"\u66F4\u65B0\u591A\u7EF4\u8868\u683C",en:"Update bitable"},{group:"Base",scopeKey:"base:dashboard:create",zh:"\u521B\u5EFA\u4EEA\u8868\u76D8",en:"Create dashboard"},{group:"Base",scopeKey:"base:dashboard:delete",zh:"\u5220\u9664\u4EEA\u8868\u76D8",en:"Delete dashboard"},{group:"Base",scopeKey:"base:dashboard:read",zh:"\u83B7\u53D6\u4EEA\u8868\u76D8\u4FE1\u606F",en:"Get dashboard info"},{group:"Base",scopeKey:"base:dashboard:update",zh:"\u66F4\u65B0\u4EEA\u8868\u76D8",en:"Update dashboard"},{group:"Base",scopeKey:"base:field:create",zh:"\u65B0\u589E\u5B57\u6BB5",en:"Add field"},{group:"Base",scopeKey:"base:field:delete",zh:"\u5220\u9664\u5B57\u6BB5",en:"Delete field"},{group:"Base",scopeKey:"base:field:read",zh:"\u83B7\u53D6\u5B57\u6BB5\u4FE1\u606F",en:"Get field info"},{group:"Base",scopeKey:"base:field:update",zh:"\u66F4\u65B0\u5B57\u6BB5",en:"Update field"},{group:"Base",scopeKey:"base:form:create",zh:"\u521B\u5EFA\u8868\u5355\u95EE\u5377",en:"Create form"},{group:"Base",scopeKey:"base:form:delete",zh:"\u5220\u9664\u8868\u5355\u95EE\u5377",en:"Delete form"},{group:"Base",scopeKey:"base:form:read",zh:"\u83B7\u53D6\u8868\u5355\u6570\u636E",en:"Get form data"},{group:"Base",scopeKey:"base:form:update",zh:"\u66F4\u65B0\u8868\u5355\u6570\u636E",en:"Update form data"},{group:"Base",scopeKey:"base:history:read",zh:"\u8BFB\u53D6\u591A\u7EF4\u8868\u683C\u5386\u53F2\u8BB0\u5F55",en:"Read bitable history"},{group:"Base",scopeKey:"base:record:create",zh:"\u65B0\u589E\u8BB0\u5F55",en:"Add record"},{group:"Base",scopeKey:"base:record:delete",zh:"\u5220\u9664\u8BB0\u5F55",en:"Delete record"},{group:"Base",scopeKey:"base:record:read",zh:"\u68C0\u7D22\u7279\u5B9A\u8BB0\u5F55",en:"Search records"},{group:"Base",scopeKey:"base:record:update",zh:"\u66F4\u65B0\u8BB0\u5F55",en:"Update record"},{group:"Base",scopeKey:"base:role:create",zh:"\u65B0\u589E\u81EA\u5B9A\u4E49\u89D2\u8272",en:"Add custom role"},{group:"Base",scopeKey:"base:role:delete",zh:"\u5220\u9664\u81EA\u5B9A\u4E49\u89D2\u8272",en:"Delete custom role"},{group:"Base",scopeKey:"base:role:read",zh:"\u67E5\u8BE2\u81EA\u5B9A\u4E49\u89D2\u8272",en:"Query custom roles"},{group:"Base",scopeKey:"base:role:update",zh:"\u66F4\u65B0\u81EA\u5B9A\u4E49\u89D2\u8272",en:"Update custom role"},{group:"Base",scopeKey:"base:table:create",zh:"\u65B0\u589E\u6570\u636E\u8868",en:"Add table"},{group:"Base",scopeKey:"base:table:delete",zh:"\u5220\u9664\u6570\u636E\u8868",en:"Delete table"},{group:"Base",scopeKey:"base:table:read",zh:"\u83B7\u53D6\u6570\u636E\u8868\u4FE1\u606F",en:"Get table info"},{group:"Base",scopeKey:"base:table:update",zh:"\u66F4\u65B0\u6570\u636E\u8868",en:"Update table"},{group:"Base",scopeKey:"base:view:read",zh:"\u68C0\u7D22\u89C6\u56FE",en:"Search views"},{group:"Base",scopeKey:"base:view:write_only",zh:"\u65B0\u589E\u3001\u66F4\u65B0\u3001\u5220\u9664\u89C6\u56FE",en:"Add, update, delete views"},{group:"Base",scopeKey:"base:workflow:create",zh:"\u521B\u5EFA\u81EA\u52A8\u5316\u6D41\u7A0B/\u5DE5\u4F5C\u6D41",en:"Create workflow"},{group:"Base",scopeKey:"base:workflow:delete",zh:"\u5220\u9664\u81EA\u52A8\u5316\u6D41\u7A0B/\u5DE5\u4F5C\u6D41",en:"Delete workflow"},{group:"Base",scopeKey:"base:workflow:read",zh:"\u67E5\u770B\u81EA\u52A8\u5316\u6D41\u7A0B/\u5DE5\u4F5C\u6D41",en:"View workflow"},{group:"Base",scopeKey:"base:workflow:update",zh:"\u66F4\u65B0\u81EA\u52A8\u5316\u6D41\u7A0B/\u5DE5\u4F5C\u6D41",en:"Update workflow"},{group:"Base",scopeKey:"base:workspace:list",zh:"\u5217\u51FA\u591A\u7EF4\u8868\u683C\u7A7A\u95F4",en:"List bitable spaces"},{group:"Whiteboard",scopeKey:"board:whiteboard:node:create",zh:"\u521B\u5EFA\u753B\u677F\u8282\u70B9",en:"Create whiteboard node"},{group:"Whiteboard",scopeKey:"board:whiteboard:node:delete",zh:"\u5220\u9664\u753B\u677F\u8282\u70B9",en:"Delete whiteboard node"},{group:"Whiteboard",scopeKey:"board:whiteboard:node:read",zh:"\u67E5\u770B\u753B\u677F\u8282\u70B9",en:"View whiteboard node"},{group:"Calendar",scopeKey:"calendar:calendar.event:create",zh:"\u521B\u5EFA\u65E5\u7A0B",en:"Create event"},{group:"Calendar",scopeKey:"calendar:calendar.event:delete",zh:"\u5220\u9664\u65E5\u7A0B",en:"Delete event"},{group:"Calendar",scopeKey:"calendar:calendar.event:read",zh:"\u8BFB\u53D6\u65E5\u7A0B\u4FE1\u606F",en:"Read event info"},{group:"Calendar",scopeKey:"calendar:calendar.event:reply",zh:"\u56DE\u590D\u65E5\u7A0B",en:"Reply to event"},{group:"Calendar",scopeKey:"calendar:calendar.event:update",zh:"\u66F4\u65B0\u65E5\u7A0B",en:"Update event"},{group:"Calendar",scopeKey:"calendar:calendar.free_busy:read",zh:"\u8BFB\u53D6\u65E5\u5386\u5FD9\u95F2\u4FE1\u606F",en:"Read free/busy status"},{group:"Calendar",scopeKey:"calendar:calendar:create",zh:"\u521B\u5EFA\u65E5\u5386",en:"Create calendar"},{group:"Calendar",scopeKey:"calendar:calendar:delete",zh:"\u5220\u9664\u65E5\u5386",en:"Delete calendar"},{group:"Calendar",scopeKey:"calendar:calendar:read",zh:"\u8BFB\u53D6\u65E5\u5386\u4FE1\u606F",en:"Read calendar info"},{group:"Calendar",scopeKey:"calendar:calendar:update",zh:"\u66F4\u65B0\u65E5\u5386",en:"Update calendar"},{group:"Contact",scopeKey:"contact:user.base:readonly",zh:"\u83B7\u53D6\u7528\u6237\u57FA\u672C\u4FE1\u606F",en:"Get user info"},{group:"Contact",scopeKey:"contact:user.basic_profile:readonly",zh:"\u83B7\u53D6\u7528\u6237\u7684\u57FA\u672C\u4FE1\u606F",en:"Get user profile"},{group:"Contact",scopeKey:"contact:user:search",zh:"\u641C\u7D22\u7528\u6237",en:"Search users"},{group:"Docs",scopeKey:"docs:component",zh:"\u4E91\u6587\u6863\u7F16\u8F91\u5DE5\u5177\u680F",en:"Docs Editing Toolbar"},{group:"Docs",scopeKey:"docx:document",zh:"\u521B\u5EFA\u53CA\u7F16\u8F91\u65B0\u7248\u6587\u6863",en:"Create & edit new docs"},{group:"Docs",scopeKey:"docx:document.block:convert",zh:"\u8F6C\u6362\u6587\u6863\u5757\u683C\u5F0F",en:"Convert docs block format"},{group:"Docs",scopeKey:"docs:document.comment:create",zh:"\u6DFB\u52A0\u3001\u56DE\u590D\u4E91\u6587\u6863\u4E2D\u7684\u8BC4\u8BBA",en:"Add & reply to doc comments"},{group:"Docs",scopeKey:"docs:document.comment:delete",zh:"\u5220\u9664\u4E91\u6587\u6863\u4E2D\u7684\u8BC4\u8BBA",en:"Delete doc comments"},{group:"Docs",scopeKey:"docs:document.comment:read",zh:"\u83B7\u53D6\u4E91\u6587\u6863\u4E2D\u7684\u8BC4\u8BBA",en:"Get doc comments"},{group:"Docs",scopeKey:"docs:document.comment:update",zh:"\u4FEE\u6539\u4E91\u6587\u6863\u4E2D\u7684\u8BC4\u8BBA",en:"Edit doc comments"},{group:"Docs",scopeKey:"docs:document.comment:write_only",zh:"\u56DE\u590D\u3001\u4FEE\u6539\u3001\u5220\u9664\u4E91\u6587\u6863\u4E2D\u7684\u8BC4\u8BBA",en:"Reply, edit, delete doc comments"},{group:"Docs",scopeKey:"docs:document.content:read",zh:"\u67E5\u770B\u4E91\u6587\u6863\u5185\u5BB9",en:"View doc content"},{group:"Docs",scopeKey:"docs:document.media:download",zh:"\u4E0B\u8F7D\u4E91\u6587\u6863\u4E2D\u7684\u56FE\u7247\u548C\u9644\u4EF6",en:"Download doc images & attachments"},{group:"Docs",scopeKey:"docs:document.media:upload",zh:"\u4E0A\u4F20\u56FE\u7247\u548C\u9644\u4EF6\u5230\u4E91\u6587\u6863\u4E2D",en:"Upload images & attachments to doc"},{group:"Docs",scopeKey:"docs:document:copy",zh:"\u590D\u5236\u4E91\u6587\u6863",en:"Copy document"},{group:"Docs",scopeKey:"docs:document:import",zh:"\u67E5\u770B\u3001\u521B\u5EFA\u4E91\u6587\u6863\u5BFC\u5165\u4EFB\u52A1",en:"View & create doc import tasks"},{group:"Docs",scopeKey:"docs:event:subscribe",zh:"\u8BA2\u9605\u4E91\u6587\u6863\u4E8B\u4EF6",en:"Subscribe to doc events"},{group:"Docs",scopeKey:"docs:permission.member:auth",zh:"\u5224\u65AD\u5F53\u524D\u7528\u6237\u662F\u5426\u6709\u4E91\u6587\u6863\u6743\u9650",en:"Check user doc permissions"},{group:"Docs",scopeKey:"docs:permission.member:create",zh:"\u6DFB\u52A0\u4E91\u6587\u6863\u534F\u4F5C\u8005",en:"Add doc collaborators"},{group:"Docs",scopeKey:"docs:permission.member:transfer",zh:"\u8F6C\u79FB\u4E91\u6587\u6863\u7684\u6240\u6709\u6743",en:"Transfer doc ownership"},{group:"Docs",scopeKey:"docx:document:create",zh:"\u521B\u5EFA\u65B0\u7248\u6587\u6863",en:"Create document"},{group:"Docs",scopeKey:"docx:document:readonly",zh:"\u67E5\u770B\u65B0\u7248\u6587\u6863",en:"View document"},{group:"Docs",scopeKey:"docx:document:write_only",zh:"\u7F16\u8F91\u65B0\u7248\u6587\u6863",en:"Edit document"},{group:"Drive",scopeKey:"drive:drive.metadata:readonly",zh:"\u67E5\u770B\u4E91\u7A7A\u95F4\u4E2D\u6587\u4EF6\u5143\u6570\u636E",en:"View file metadata"},{group:"Drive",scopeKey:"drive:drive",zh:"\u67E5\u770B\u3001\u8BC4\u8BBA\u3001\u7F16\u8F91\u548C\u7BA1\u7406\u4E91\u7A7A\u95F4\u4E2D\u6240\u6709\u6587\u4EF6",en:"View, comment, edit, and manage all drive files"},{group:"Drive",scopeKey:"drive:file:download",zh:"\u4E0B\u8F7D\u4E91\u7A7A\u95F4\u4E0B\u7684\u6587\u4EF6",en:"Download files"},{group:"Drive",scopeKey:"drive:file:upload",zh:"\u4E0A\u4F20\u6587\u4EF6",en:"Upload files"},{group:"Drive",scopeKey:"drive:file:view_record:readonly",zh:"\u83B7\u53D6\u6587\u6863\u8BBF\u95EE\u8BB0\u5F55",en:"Get doc access history"},{group:"Messenger",scopeKey:"im:chat.members:read",zh:"\u67E5\u770B\u7FA4\u6210\u5458",en:"View group members"},{group:"Messenger",scopeKey:"im:chat.members:write_only",zh:"\u6DFB\u52A0\u3001\u79FB\u9664\u7FA4\u6210\u5458",en:"Add & remove group members"},{group:"Messenger",scopeKey:"im:chat:read",zh:"\u67E5\u770B\u7FA4\u4FE1\u606F",en:"View group info"},{group:"Messenger",scopeKey:"im:chat:update",zh:"\u66F4\u65B0\u7FA4\u4FE1\u606F",en:"Update group info"},{group:"Messenger",scopeKey:"im:message",zh:"\u83B7\u53D6\u4E0E\u53D1\u9001\u5355\u804A\u3001\u7FA4\u7EC4\u6D88\u606F",en:"Get & send direct/group messages"},{group:"Messenger",scopeKey:"im:message.pins:read",zh:"\u67E5\u770B Pin \u6D88\u606F",en:"View pinned messages"},{group:"Messenger",scopeKey:"im:message.pins:write_only",zh:"\u6DFB\u52A0\u3001\u53D6\u6D88 Pin \u6D88\u606F",en:"Pin & unpin messages"},{group:"Messenger",scopeKey:"im:message.reactions:read",zh:"\u67E5\u770B\u6D88\u606F\u8868\u60C5\u56DE\u590D",en:"View message reactions"},{group:"Messenger",scopeKey:"im:message.reactions:write_only",zh:"\u53D1\u9001\u3001\u5220\u9664\u6D88\u606F\u8868\u60C5\u56DE\u590D",en:"Send & delete reactions"},{group:"Messenger",scopeKey:"im:message:readonly",zh:"\u83B7\u53D6\u5355\u804A\u3001\u7FA4\u7EC4\u6D88\u606F",en:"Get direct/group messages"},{group:"Messenger",scopeKey:"im:message:recall",zh:"\u64A4\u56DE\u6D88\u606F",en:"Recall message"},{group:"Mail",scopeKey:"mail:user_mailbox.mail_contact:read",zh:"\u67E5\u770B\u90AE\u7BB1\u8054\u7CFB\u4EBA",en:"View mail contacts"},{group:"Mail",scopeKey:"mail:user_mailbox.message.address:read",zh:"\u8BFB\u53D6\u90AE\u4EF6\u6536\u53D1\u5730\u5740",en:"Read email addresses"},{group:"Mail",scopeKey:"mail:user_mailbox.message.body:read",zh:"\u8BFB\u53D6\u90AE\u4EF6\u6B63\u6587",en:"Read email body"},{group:"Mail",scopeKey:"mail:user_mailbox.message.subject:read",zh:"\u8BFB\u53D6\u90AE\u4EF6\u4E3B\u9898",en:"Read email subject"},{group:"Mail",scopeKey:"mail:user_mailbox.message:modify",zh:"\u4FEE\u6539\u90AE\u4EF6",en:"Modify emails"},{group:"Mail",scopeKey:"mail:user_mailbox.message:readonly",zh:"\u67E5\u770B\u90AE\u4EF6",en:"View emails"},{group:"Mail",scopeKey:"mail:user_mailbox:readonly",zh:"\u67E5\u770B\u90AE\u7BB1",en:"View mailbox"},{group:"Meetings",scopeKey:"minutes:minutes.media:export",zh:"\u5BFC\u51FA\u5999\u8BB0\u97F3\u89C6\u9891",en:"Export minutes media"},{group:"Meetings",scopeKey:"minutes:minutes:readonly",zh:"\u67E5\u770B\u5999\u8BB0",en:"View minutes"},{group:"Meetings",scopeKey:"vc:meeting.meetingevent:read",zh:"\u67E5\u770B\u4F1A\u8BAE\u4E8B\u4EF6",en:"View meeting events"},{group:"Meetings",scopeKey:"vc:meeting.search:read",zh:"\u641C\u7D22\u4F1A\u8BAE\u8BB0\u5F55",en:"Search meeting records"},{group:"Meetings",scopeKey:"vc:note:read",zh:"\u67E5\u770B\u4F1A\u8BAE\u7EAA\u8981",en:"View meeting notes"},{group:"Meetings",scopeKey:"vc:record:readonly",zh:"\u67E5\u770B\u4F1A\u8BAE\u5F55\u5236",en:"View meeting recordings"},{group:"Sheets",scopeKey:"sheets:spreadsheet.meta:read",zh:"\u8BFB\u53D6\u7535\u5B50\u8868\u683C\u5143\u4FE1\u606F",en:"Read spreadsheet metadata"},{group:"Sheets",scopeKey:"sheets:spreadsheet.meta:write_only",zh:"\u7F16\u8F91\u7535\u5B50\u8868\u683C\u5143\u4FE1\u606F",en:"Edit spreadsheet metadata"},{group:"Sheets",scopeKey:"sheets:spreadsheet:create",zh:"\u521B\u5EFA\u7535\u5B50\u8868\u683C",en:"Create spreadsheet"},{group:"Sheets",scopeKey:"sheets:spreadsheet:read",zh:"\u8BFB\u53D6\u7535\u5B50\u8868\u683C",en:"Read spreadsheet"},{group:"Sheets",scopeKey:"sheets:spreadsheet:write_only",zh:"\u7F16\u8F91\u7535\u5B50\u8868\u683C",en:"Edit spreadsheet"},{group:"Tasks",scopeKey:"task:comment:write",zh:"\u8BC4\u8BBA\u4EFB\u52A1",en:"Comment on tasks"},{group:"Tasks",scopeKey:"task:task:read",zh:"\u67E5\u770B\u4EFB\u52A1",en:"View tasks"},{group:"Tasks",scopeKey:"task:task:write",zh:"\u521B\u5EFA\u548C\u7F16\u8F91\u4EFB\u52A1",en:"Create & edit tasks"},{group:"Tasks",scopeKey:"task:tasklist:read",zh:"\u67E5\u770B\u4EFB\u52A1\u5217\u8868",en:"View task lists"},{group:"Tasks",scopeKey:"task:tasklist:write",zh:"\u7BA1\u7406\u4EFB\u52A1\u5217\u8868",en:"Manage task lists"},{group:"Wiki",scopeKey:"wiki:node:copy",zh:"\u590D\u5236\u77E5\u8BC6\u5E93\u8282\u70B9",en:"Copy wiki node"},{group:"Wiki",scopeKey:"wiki:node:create",zh:"\u521B\u5EFA\u77E5\u8BC6\u5E93\u8282\u70B9",en:"Create wiki node"},{group:"Wiki",scopeKey:"wiki:node:read",zh:"\u67E5\u770B\u77E5\u8BC6\u5E93\u8282\u70B9",en:"View wiki node"},{group:"Wiki",scopeKey:"wiki:node:retrieve",zh:"\u68C0\u7D22\u77E5\u8BC6\u5E93\u8282\u70B9",en:"Retrieve wiki node"},{group:"Wiki",scopeKey:"wiki:node:update",zh:"\u66F4\u65B0\u77E5\u8BC6\u5E93\u8282\u70B9",en:"Update wiki node"},{group:"Wiki",scopeKey:"wiki:space:read",zh:"\u67E5\u770B\u77E5\u8BC6\u7A7A\u95F4",en:"View wiki space"},{group:"Wiki",scopeKey:"wiki:space:retrieve",zh:"\u68C0\u7D22\u77E5\u8BC6\u7A7A\u95F4",en:"Retrieve wiki space"},{group:"Wiki",scopeKey:"wiki:space:write_only",zh:"\u7BA1\u7406\u77E5\u8BC6\u7A7A\u95F4",en:"Manage wiki space"},{group:"Wiki",scopeKey:"wiki:wiki:readonly",zh:"\u67E5\u770B\u77E5\u8BC6\u5E93",en:"View wiki"},{group:"Search",scopeKey:"search:docs:read",zh:"\u641C\u7D22\u4E91\u6587\u6863",en:"Search documents"},{group:"Space",scopeKey:"space:document:move",zh:"\u79FB\u52A8\u6587\u6863",en:"Move document"},{group:"Space",scopeKey:"space:document:retrieve",zh:"\u68C0\u7D22\u6587\u6863\u4FE1\u606F",en:"Retrieve document info"},{group:"Space",scopeKey:"space:folder:create",zh:"\u521B\u5EFA\u6587\u4EF6\u5939",en:"Create folder"}];tc.map(e=>e.scopeKey),tc.map(e=>[e.scopeKey,{zh:e.zh,en:e.en}])},2391(e,t,i){i.d(t,{t:()=>l});var r=i(51649),s=i(41748),n=i(98219),a=i(74134),o=i(48671);function l(e){let t=(0,o.h1)(a.B.StreamStore).streamingTailStatus.use(e||""),[i,l]=(0,r.useState)(),c="waiting_confirm"===t.type||"waiting_confirm_redlist"===t.type,d=c?t.toolName:void 0,u=c?t.params:void 0,h=c?t.planItemId:void 0,p=s.TO.agentPlanItemById.use(h||""),m=h?p?.startTime:void 0,f=(0,r.useMemo)(()=>{if(c){if(d===n.i.BrowserWaitingForUserInteraction)return"interaction";if(d===n.i.BrowserHandOver)return"handover"}},[c,d]),g=(0,r.useMemo)(()=>f||(i?.action==="interaction"?"interaction_end":i?.action==="handover"?"handover_end":void 0),[f,i]);return(0,r.useEffect)(()=>{if(f)l({action:f,planItemId:h});else if(i?.action&&g?.endsWith("_end")){let e=setTimeout(()=>{l(void 0)},100);return()=>clearTimeout(e)}},[f,h]),{action:g,reason:u?.reason,planItemId:h||i?.planItemId,startTime:m,isWaitingForUser:"interaction"===g,isHandover:"handover"===g}}},39153(e,t,i){i.d(t,{Wx:()=>el,XT:()=>U.XT,My:()=>ea.My,G8:()=>ed.G8,_z:()=>ea._z,uC:()=>ea.uC,FU:()=>k.F,eA:()=>ec.eA});var r=i(97282),s=i(51649),n=i(88539),a=i(70325),o=i(76136),l=i(54820);let c=(0,s.memo)(function({children:e,className:t}){let i=(0,n.Fy)(e=>e.sessionId),s=(0,l.Lo)();return(0,r.jsxs)("div",{className:t?`ai-chat chat-session ${t}`:"ai-chat chat-session","data-session-id":i,children:[s&&(0,r.jsxs)("div",{className:"chat-session__debug-id",children:["[Session: ",i,"]"]}),e]})}),d={identifier:{domain:a.M.Session,name:"default"},displayName:"Session View",description:"Session view component",component:c};(0,o.MD)([d]),i(48117),i(46681),i(39522),i(31978),i(60413),i(23845),i(773);var u=i(97066);i(78576);var h=i(76924),p=i(77528),m=i(1002),f=i(25188),g=i(76933);let _=300;function y(e){return"sub-agent"===e.strategyId&&"isSubProcess"in e}let v={strategyId:"sub-agent",displayName:"Sub Agent Group",description:"Renders sub-agent group with collapsible content",component:(0,s.memo)(function({groupData:e,renderChildren:t,renderPlanItem:i}){let{isSubProcess:n,agentDisplayName:a,agentIconPath:o,desc:l,lastExploreGroupTitle:c,isOutputting:d,status:u,planItemIds:v}=e,b=u===h.QC.Running,{localize:S}=(0,f.s9)(),[k,x]=(0,s.useState)(!1),{reportCollapseClick:C}=(0,f.M6)({cardType:f.FC.SubAgentGroup,extraParams:{group_key:e.key,agent_run_id:e.agentRunId,status:u}}),[w,E]=(0,s.useState)(!1),[T,I]=(0,s.useState)(!1),[R,N]=(0,s.useState)(),A=(0,s.useRef)(null),M=(0,s.useRef)(),P=(0,s.useMemo)(()=>{if(!b&&u!==h.QC.WaitingConfirm)return d?S("trae-chat-core.subAgentGroup.outputting",{},"Outputting..."):u===h.QC.Completed||u===h.QC.Canceled?l||c:c||l},[u,l,c,d,b,S]),j=(0,s.useCallback)(e=>{N(A.current?.getBoundingClientRect()?.height),I(!0),window.clearTimeout(M.current),window.setTimeout(()=>{N(e?A.current?.scrollHeight:0)}),M.current=window.setTimeout(()=>{I(!1),N(void 0)},_)},[]),L=(0,s.useCallback)(()=>{if(u===h.QC.Running||u===h.QC.WaitingConfirm)return;let e=!w;C(e?"expand":"collapse"),E(e),j(e)},[w,j,u]);if(!y(e))return(0,r.jsx)(r.Fragment,{children:e.planItemIds.map((t,r)=>i(t,r===e.planItemIds.length-1))});let D=b||u===h.QC.WaitingConfirm,O=()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"task-sub-agent-header__title",children:a}),l&&(0,r.jsx)("span",{className:"task-sub-agent-header__subtitle",children:l}),c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"task-sub-agent-header__separator"}),(0,r.jsx)("span",{className:"task-sub-agent-header__subtitle task-sub-agent-header__subtitle--shimmer",children:c})]}),!c&&u===h.QC.WaitingConfirm&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"task-sub-agent-header__separator"}),(0,r.jsx)("span",{className:"task-sub-agent-header__subtitle task-sub-agent-header__subtitle--shimmer",children:S("trae-chat-core.subAgentGroup.waitingConfirm",{},"Waiting for confirmation")})]})]}),F=()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"task-sub-agent-header__title",children:a}),P&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"task-sub-agent-header__separator"}),(0,r.jsxs)("span",{className:"task-sub-agent-header__subtitle-group",children:[(0,r.jsx)("span",{className:"task-sub-agent-header__subtitle",children:P}),(0,r.jsx)("span",{className:"task-sub-agent-header__toggle",children:w?(0,r.jsx)(g.Y7q,{}):(0,r.jsx)(g._l8,{})})]})]}),!P&&(0,r.jsx)("span",{className:"task-sub-agent-header__toggle",children:w?(0,r.jsx)(g.Y7q,{}):(0,r.jsx)(g._l8,{})})]}),U=()=>{let e=t(void 0);return e||(v.length>0?v.map((e,t)=>i(e,t===v.length-1)):null)};return n?(0,r.jsx)(p.R.Provider,{value:{isInsideTodoGroup:!1},children:(0,r.jsx)(m.n.Provider,{value:{isSubAgent:!0},children:(0,r.jsxs)("div",{className:"task-sub-agent-group",children:[(0,r.jsxs)("div",{className:"task-sub-agent-indicator",children:[(0,r.jsx)("div",{className:"task-sub-agent-indicator__avatar",children:o&&!k?(0,r.jsx)("img",{src:o,alt:a,className:"task-sub-agent-indicator__icon",onError:()=>x(!0)}):(0,r.jsx)(g.j$8,{className:"task-sub-agent-indicator__fallback-icon"})}),!b&&w&&(0,r.jsx)("div",{className:"task-sub-agent-indicator__line"})]}),(0,r.jsxs)("div",{className:"task-sub-agent-main",children:[(0,r.jsx)("div",{className:`task-sub-agent-header ${D?"task-sub-agent-header--disabled":""}`,onClick:L,role:"button",tabIndex:0,children:D?O():F()}),(0,r.jsx)("div",{ref:A,style:T?{height:R}:w?void 0:{height:0},className:`task-sub-agent-body ${T?"task-sub-agent-body--animating":""} ${!w&&!T?"task-sub-agent-body--collapsed":""}`,children:(0,r.jsx)("div",{className:"task-sub-agent-content__wrapper",children:U()})})]})]})})}):(0,r.jsx)(r.Fragment,{children:U()})})};(0,o.Sf)().registerGroupRenderer(v),i(86199);var b=i(48671),S=i(28304),k=i(74134),x=i(77037),C=i(2543),w=i(74272),E=i(95938),T=i(16867),I=i(60539);let R="toolcallsContent-xKglrs";function N(e,t,i){if(!t)return!1;if("thinking"===e.type){let e=!!t.toolCallInfo?.name,r=!!t.thought?.trim();return!e&&!r&&!i}if("toolcall"===e.type){let e=t.toolCallInfo?.result?.status,r=t.confirmInfo?.confirm_status,{isRunning:s}=(0,f.XA)({isHistory:i,resultStatus:e,confirmStatus:r,blockLevel:t.confirmInfo?.block_level,suppressManualConfirm:(0,x.i)(t.confirmInfo)});return s}return!1}function A(e,t,i){return!!t&&"toolcall"===e.type&&!i&&t.confirmInfo?.confirm_status===w.d.Unconfirmed&&t.confirmInfo?.auto_confirm!==!0&&!(0,x.i)(t.confirmInfo)}function M(e,t,i){if(!t||"toolcall"!==e.type||i)return!1;let r=t.toolCallInfo;if(!r||!(0,T.vc)(r.name))return!1;let s=r.result?.data;if("object"!=typeof s||null===s||!0!==s.tty_mode)return!1;let{isRunning:n}=(0,f.XA)({isHistory:i,resultStatus:r.result?.status,confirmStatus:t.confirmInfo?.confirm_status,blockLevel:t.confirmInfo?.block_level,suppressManualConfirm:(0,x.i)(t.confirmInfo)});return n}let P={hasRunning:!1,hasWaitingConfirm:!1,hasRunningTtyCommand:!1,hasEnterpriseBlocked:!1};function j(e){let t=(0,S.hE)(e=>e.isHistory),i=(0,b.h1)(k.B.AgentPlanItemStore),r=(0,s.useMemo)(()=>e?.map(e=>e.planItemId)??[],[e]),n=i.agentPlanItemsByIds.useShallow(r);return(0,s.useMemo)(()=>{if(!e||0===e.length)return P;let i={hasRunning:!1,hasWaitingConfirm:!1,hasRunningTtyCommand:!1,hasEnterpriseBlocked:!1},r=new Map(n.map(e=>[e.id,e]));for(let s of e){let e=r.get(s.planItemId);if(!i.hasRunning&&N(s,e,t)&&(i.hasRunning=!0),!i.hasWaitingConfirm&&A(s,e,t)&&(i.hasWaitingConfirm=!0),!i.hasRunningTtyCommand&&M(s,e,t)&&(i.hasRunningTtyCommand=!0),i.hasEnterpriseBlocked||"toolcall"!==s.type||e?.confirmInfo?.block_level!=="enterprise_command_blacklist"||(i.hasEnterpriseBlocked=!0),i.hasRunning&&i.hasWaitingConfirm&&i.hasRunningTtyCommand&&i.hasEnterpriseBlocked)break}return i},[e,t,n])}function L({title:e,subtitle:t,titleShimmer:i,expanded:n,showLine:a,cardType:o,groupKey:l,status:c,onExpandedChange:d,children:h}){let{reportCollapseClick:p}=(0,C.M6)({cardType:o,extraParams:{group_key:l,status:c}}),m=(0,s.useCallback)(e=>{p(e?"expand":"collapse"),d(e)},[d,p]);return(0,r.jsx)(u.Q,{title:e,subtitle:t,titleShimmer:i,expanded:n,onExpandedChange:m,showLine:a,children:h})}function D({groupData:e,renderElement:t,config:i}){let[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(!1),{elements:l,isClosed:c,status:d}=e,{hasRunning:p,hasWaitingConfirm:m,hasRunningTtyCommand:f,hasEnterpriseBlocked:g}=j(l),_=c||d===h.QC.Completed,y=m||g,v=(0,s.useMemo)(()=>{let t="toolCategoryCounts"in e?e.toolCategoryCounts:void 0;return!!t&&Object.keys(t).some(e=>{let t=I.$9.getCategoryMeta(e);return t?.keepExpandedWhenRunning===!0})},[e])&&p&&!_&&!o.current;(0,s.useEffect)(()=>{f&&!o.current&&a(!0)},[f]),(0,s.useEffect)(()=>{o.current||!_||y||a(!1)},[_,y]),(0,s.useEffect)(()=>{y&&!o.current&&a(!0)},[y]),(0,s.useEffect)(()=>{_&&(o.current=!1)},[_]);let b=(0,s.useCallback)(e=>{o.current=!0,a(e)},[]),S=i.getTitle(c,m),k=i.getSubtitle?.(c),x=l&&l.length>0?(0,r.jsx)("div",{className:R,children:l.map((e,i)=>{let s=i===l.length-1;return(0,r.jsx)(E.j.Provider,{value:{showConnector:!0},children:t(e,s)},`${e.type}:${e.planItemId}`)})}):null,C=v||n,w=p&&!_;return i.collapseTrackingCardType?(0,r.jsx)(L,{title:S,subtitle:k,titleShimmer:w,expanded:C,onExpandedChange:b,showLine:!1,cardType:i.collapseTrackingCardType,groupKey:e.key,status:d,children:x}):(0,r.jsx)(u.Q,{title:S,subtitle:k,titleShimmer:w,expanded:C,onExpandedChange:b,showLine:!1,children:x})}function O({groupData:e,renderElement:t,config:i}){if(e.strategyId!==i.strategyId){let i=e.elements??[];return(0,r.jsx)(r.Fragment,{children:i.map((e,s)=>{let n=s===i.length-1;return(0,r.jsx)(E.j.Provider,{value:{showConnector:!0},children:t(e,n)},`${e.type}:${e.planItemId}`)})})}return(0,r.jsx)(D,{groupData:e,renderElement:t,config:i})}let F=(0,s.memo)(O);var U=i(92046);let V={strategyId:"explore-toolcalls",displayName:"Explore Toolcalls Group",description:"Renders explore toolcalls group with expandable section",component:(0,s.memo)(function(e){let{groupData:t}=e,i=(0,f.s9)(),n=(0,s.useMemo)(()=>U.XT.tryResolve(k.F.I18n)?.getLocale(),[]),a=(0,s.useMemo)(()=>{let{toolCategoryCounts:e,lastToolCallName:r,lastMcpServerName:s,lastElementType:a,hasThinking:o}=t;return{strategyId:"explore-toolcalls",collapseTrackingCardType:f.FC.ExploreGroup,getTitle:(t,l)=>!t&&l?i.localize("trae-chat-core.exploreGroup.waitingResponse",{},"Waiting for your response..."):I.M2.buildExploreGroupTitle({isClosed:t,lastToolCallName:r,lastMcpServerName:s,lastElementType:a,toolCategoryCounts:e,hasThinking:o,localize:i.localize,locale:n})}},[i,t,n]);return(0,r.jsx)(F,{...e,config:a})})};(0,o.Sf)().registerGroupRenderer(V);let B={strategyId:"browser-actions",displayName:"Browser Actions Group",description:"Renders browser actions group with expandable section",component:(0,s.memo)(function(e){let t=(0,f.s9)(),i=(0,s.useMemo)(()=>({strategyId:"browser-actions",collapseTrackingCardType:f.FC.BrowserActionsGroup,getTitle:(e,i)=>e?t.localize("trae-chat-core.browserActionsGroup.completed",{},"Browser actions completed"):t.localize("trae-chat-core.browserActionsGroup.inProgress",{},"Using the browser...")}),[t]);return(0,r.jsx)(F,{...e,config:i})})};function z(e){return"progress-container"===e.strategyId&&"hasFinishCard"in e}function W(e){let t=Math.floor(e/1e3),i=t%60,r=Math.floor(t/60),s=r%60,n=Math.floor(r/60),a=n%24,o=Math.floor(n/24);if(o>=1){let e=a>0?a:+(s>0);return e>0?`${o}d ${e}h`:`${o}d`}if(n>=1){let e=s>0?s:+(i>0);return e>0?`${a}h ${e}m`:`${a}h`}return r>=1?i>0?`${s}m ${i}s`:`${s}m`:`${i}s`}(0,o.Sf)().registerGroupRenderer(B);let H={strategyId:"progress-container",displayName:"Todo Progress Container",description:"Renders todo groups with collapsible progress divider after message completion",component:(0,s.memo)(function({groupData:e,renderChildren:t}){let{localize:i}=(0,f.s9)(),n=z(e),a=!!n&&e.hasFinishCard,o=n?e.childrenCount:0,l=!!n&&e.isMessageCompleted,c=n?e.chatStartTime:void 0,d=n?e.chatEndTime:void 0,u=!!n&&e.isRalphLoop,h=!!n&&e.hasEnterpriseBlockedItem,p=!!n&&e.hasShowWidget,{reportCollapseClick:m}=(0,f.M6)({cardType:f.FC.TodoProgressContainer,extraParams:{group_key:n?e.key:void 0,children_count:o}}),[_,y]=(0,s.useState)(!!h||!!p);(0,s.useEffect)(()=>{(h||p)&&y(!0)},[h,p]);let v=(0,s.useCallback)(()=>{let e=!_;m(e?"expand":"collapse"),y(e)},[_,m]);if(!n)return(0,r.jsx)(r.Fragment,{children:t(void 0)});let b=a&&l,S=c&&d&&d>c?W(d-c):void 0,k=i("trae-chat-core.latest-assistant-bar.worked-for",{},"Worked for"),x=i("trae-chat-core.todo-progress.task-details",{},"Task Details"),C=u?x:S?`${k}${S}`:k,w=!a||!l||_;return(0,r.jsxs)("div",{className:`todo-progress-container${!b?" todo-progress-container--streaming":""}`,children:[b?(0,r.jsx)("div",{className:"todo-progress-divider",role:"button",tabIndex:0,onClick:v,children:(0,r.jsxs)("span",{className:"todo-progress-divider__label",children:[C,(0,r.jsx)("span",{className:`todo-progress-divider__icon${_?" todo-progress-divider__icon--expanded":""}`,children:(0,r.jsx)(g._l8,{})})]})}):null,(0,r.jsx)("div",{className:`todo-progress-content-wrapper${w?" todo-progress-content-wrapper--expanded":""}`,children:(0,r.jsx)("div",{className:"todo-progress-content",children:t(void 0)})})]})})};(0,o.Sf)().registerGroupRenderer(H),i(34526);var G=i(74591);function Z({right:e=!1}){return(0,r.jsx)("svg",{className:`icd-wrapped-feedback__title-quote ${e?"icd-wrapped-feedback__title-quote-right":""}`,width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.70045 3.13842L4.28456 3.41597C3.57096 3.89221 2.80593 4.40465 2.3841 5.1763C2.65266 5.06283 2.94788 5.00008 3.2578 5.00008C4.49992 5.00008 5.50596 6.00794 5.50596 7.25008C5.50596 8.49223 4.49992 9.50008 3.2578 9.50008C2.02026 9.50008 1.01706 8.49964 1.00969 7.2638C0.898261 5.07666 2.00005 3.73835 3.72946 2.58419L4.14535 2.30664L4.70045 3.13842ZM10.1947 3.13842L9.77877 3.41597C9.06517 3.89221 8.30014 4.40465 7.8783 5.1763C8.14687 5.06283 8.44209 5.00008 8.75201 5.00008C9.99413 5.00008 11.0002 6.00794 11.0002 7.25008C11.0002 8.49223 9.99413 9.50008 8.75201 9.50008C7.51447 9.50008 6.51127 8.49964 6.50389 7.26381C6.39247 5.07666 7.49426 3.73835 9.22367 2.58419L9.63956 2.30664L10.1947 3.13842Z",fill:"#32F08C",fillOpacity:"0.2"})})}let K=(0,s.memo)(function({title:e,children:t,className:i}){return(0,r.jsx)("div",{className:["icd-wrapped-feedback",i].filter(Boolean).join(" "),children:(0,r.jsxs)("div",{className:"icd-wrapped-feedback__panel",children:[(0,r.jsxs)("div",{className:"icd-wrapped-feedback__title-bar",children:[(0,r.jsx)(Z,{}),(0,r.jsx)("span",{className:"icd-wrapped-feedback__title-text",children:e}),(0,r.jsx)(Z,{right:!0})]}),(0,r.jsx)("div",{className:"icd-wrapped-feedback__content",children:t})]})})});function X({state:e}){let t="default"===e?.32:1;return(0,r.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:["default"!==e&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("path",{d:"M11.167 5H9.5V3.33301H11.167V5ZM12.834 3.33301H11.167V1.66699H12.834V3.33301ZM11.167 1.66699H9.5V0H11.167V1.66699Z",fill:"#8B5C4C",fillOpacity:"0.6"}),(0,r.jsx)("path",{d:"M6.26709 5H4.6001V3.33301H6.26709V5ZM7.93408 3.33301H6.26709V1.66699H7.93408V3.33301ZM6.26709 1.66699H4.6001V0H6.26709V1.66699Z",fill:"#8B5C4C",fillOpacity:"0.6"}),(0,r.jsx)("rect",{x:"5.41504",y:"8.33325",width:"0.999415",height:"1.66667",fill:"#1A1B1D"}),(0,r.jsx)("rect",{x:"4",y:"10",width:"4",height:"5",fill:"white"})]}),(0,r.jsxs)("g",{opacity:t,children:[(0,r.jsx)("path",{d:"M2.85938 18.333H1.19238V8.33301H2.85938V18.333Z",fill:"#CB8710"}),(0,r.jsx)("path",{d:"M16.1924 10H14.5264V15H16.1924V16.667H14.5264V18.333H2.85938V8.33301H16.1924V10ZM17.8594 15H16.1924V10H17.8594V15Z",fill:"#FFD080"}),(0,r.jsx)("path",{d:"M12.8594 18.333V20H2.85938V18.333H12.8594Z",fill:"#CB8710"})]})]})}let Y=(0,s.memo)(function({value:e=0,texts:t=["Very Dissatisfied","Dissatisfied","Neutral","Satisfied","Very Satisfied"],emptyText:i="???",onChange:n}){let[a,o]=(0,s.useState)(null),l=a??e,c=l>0?t[l-1]??`${l}`:i;return(0,r.jsxs)("div",{className:"icd-rate",children:[(0,r.jsx)("div",{className:"icd-rate-icons",role:"radiogroup",children:Array.from({length:5},(i,s)=>{let l=s+1,c=null!=a?l<=a?"hover":"default":l<=e?"active":"default";return(0,r.jsx)("button",{type:"button",className:"icd-rate-item",role:"radio","aria-checked":e===l,"aria-label":t[l-1]??`${l}`,onMouseEnter:()=>o(l),onMouseLeave:()=>o(null),onClick:()=>n?.(l),children:(0,r.jsx)(X,{state:c})},l)})}),(0,r.jsx)("div",{className:"icd-rate-text",children:c})]})}),J=(0,s.memo)(function({buttonType:e="secondary",size:t="small",className:i,children:s,...n}){return(0,r.jsx)("button",{type:"button",...n,className:["icd-btn-v2",`icd-btn-v2-${e}`,`icd-btn-v2-${t}`,i].filter(Boolean).join(" "),children:(0,r.jsx)("span",{className:"icd-btn-v2-content",children:s})})});function $({direction:e}){return(0,r.jsx)("span",{className:"icd-vote-button__icon",children:"up"===e?"\uD83D\uDC4D":"\uD83D\uDC4E"})}let q=(0,s.memo)(function({selected:e=!1,direction:t,className:i,children:n,onClick:a,...o}){let[l,c]=(0,s.useState)(!1),d=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{null!=d.current&&window.clearTimeout(d.current)},[]);let u=(0,s.useCallback)(e=>{null!=d.current&&window.clearTimeout(d.current),c(!0),d.current=window.setTimeout(()=>{c(!1),d.current=null},260),a?.(e)},[a]);return(0,r.jsx)("button",{type:"button",...o,className:["icd-vote-button",`icd-vote-button-${t}`,e?"is-selected":"",l?"is-animating":"",i].filter(Boolean).join(" "),onClick:u,children:(0,r.jsxs)("span",{className:"icd-vote-button__content",children:[(0,r.jsx)("span",{className:"icd-vote-button__icon-wrap",children:(0,r.jsx)($,{direction:t})}),(0,r.jsx)("span",{className:"icd-vote-button__text",children:n})]})})}),Q=(0,s.memo)(function(e){return(0,r.jsx)(q,{...e,direction:"up"})}),ee=(0,s.memo)(function(e){return(0,r.jsx)(q,{...e,direction:"down"})}),et=(0,s.memo)(function({presentation:e,onSubmit:t,onDismiss:i}){let{localize:n}=(0,f.s9)(),a=(0,s.useRef)(null),[o,l]=(0,s.useState)("rating"),[c,d]=(0,s.useState)(0),[u,h]=(0,s.useState)([]),[p,m]=(0,s.useState)(""),g="comment_only"===e.mode,_=e.title||n("trae-chat-core.feedback.satisfaction-title",void 0,"How satisfied are you with this Chat ?"),y=(0,s.useMemo)(()=>[{label:n("trae-chat-core.feedback.reason.did-not-solve",void 0,"Did not solve the problem"),value:"did_not_solve"},{label:n("trae-chat-core.feedback.reason.partially-solved",void 0,"Partially solved the problem"),value:"partially_solved"},{label:n("trae-chat-core.feedback.reason.low-quality-code",void 0,"Low-quality code"),value:"low_quality_code"},{label:n("trae-chat-core.feedback.reason.response-too-slow",void 0,"Response too slow"),value:"response_too_slow"},{label:n("trae-chat-core.feedback.reason.long-reasoning",void 0,"Overly long reasoning"),value:"overly_long_reasoning"},{label:n("trae-chat-core.feedback.reason.other",void 0,"Other"),value:"other"}],[n]),v=(0,s.useMemo)(()=>[n("trae-chat-core.feedback.very-dissatisfied",void 0,"Very Dissatisfied"),n("trae-chat-core.feedback.dissatisfied",void 0,"Dissatisfied"),n("trae-chat-core.feedback.neutral",void 0,"Neutral"),n("trae-chat-core.feedback.satisfied",void 0,"Satisfied"),n("trae-chat-core.feedback.very-satisfied",void 0,"Very Satisfied")],[n]),b=(0,s.useCallback)(e=>{d(e),e>=3?t({kind:"satisfaction",score:e}):l("followup")},[t]),S=(0,s.useCallback)(e=>{h(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),k=(0,s.useCallback)(e=>{let t=e.target.value;if(m(t.length>1e3?t.slice(0,1e3):t),a.current){let e=a.current;e.style.height="auto";let t=Math.min(120,Math.max(80,e.scrollHeight));e.style.height=`${t}px`}},[]),x=(0,s.useCallback)(()=>{t({kind:"satisfaction",score:c,options:u,comment:p.trim()||void 0})},[t,c,u,p]);return(0,r.jsx)("div",{className:"chat-turn-feedback-wrap",children:(0,r.jsx)(K,{title:_,children:(0,r.jsxs)("div",{className:"chat-turn-feedback-body",children:["rating"===o?(0,r.jsx)("div",{className:"chat-turn-feedback-row",children:(0,r.jsx)(Y,{value:c,onChange:b,emptyText:n("trae-chat-core.feedback.empty-text",void 0,"???"),texts:v})}):null,"followup"===o?(0,r.jsxs)("div",{className:"chat-turn-feedback-reasons",children:[g?null:(0,r.jsx)("div",{className:"chat-turn-feedback-reasons-group",children:y.map(e=>(0,r.jsxs)("label",{className:"chat-turn-feedback-checkbox-item",children:[(0,r.jsx)("input",{type:"checkbox",checked:u.includes(e.value),onChange:()=>S(e.value)}),(0,r.jsx)("span",{className:"chat-turn-feedback-checkbox-label",children:e.label})]},e.value))}),(0,r.jsx)("textarea",{ref:a,className:"chat-turn-feedback-textarea",placeholder:n("trae-chat-core.feedback.comment-placeholder",void 0,"How can we improve? (optional)"),value:p,onChange:k,maxLength:1e3}),(0,r.jsxs)("div",{className:"chat-turn-feedback-actions",children:[(0,r.jsx)(J,{buttonType:"secondary",size:"small",onClick:i,children:n("trae-chat-core.feedback.cancel",void 0,"Cancel")}),(0,r.jsx)(J,{buttonType:"primary",size:"small",onClick:x,disabled:g?!c||!p.trim():!c||0===u.length,children:n("trae-chat-core.feedback.submit",void 0,"Submit")})]})]}):null]})})})}),ei=(0,s.memo)(function({presentation:e,onSubmit:t,onDismiss:i}){let{localize:n}=(0,f.s9)(),[a,o]=(0,s.useState)(null),l=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{null!=l.current&&window.clearTimeout(l.current)},[]);let c=e.title||n("trae-chat-core.feedback.resolution-title",void 0,"Did this reply solve your problem?"),d=(0,s.useCallback)(e=>{a||(o(e),l.current=window.setTimeout(()=>{t({kind:"resolution",resolution:e}),l.current=null},460))},[t,a]);return(0,r.jsx)("div",{className:"chat-turn-feedback-wrap",children:(0,r.jsx)(K,{title:c,children:(0,r.jsx)("div",{className:"chat-turn-feedback-body",children:(0,r.jsxs)("div",{className:"chat-turn-feedback-row chat-turn-feedback-row-vote",children:[(0,r.jsx)(Q,{selected:"yes"===a,disabled:null!==a,onClick:()=>d("yes"),children:n("trae-chat-core.feedback.yes",void 0,"Yes")}),(0,r.jsx)(ee,{selected:"no"===a,disabled:null!==a,onClick:()=>d("no"),children:n("trae-chat-core.feedback.no",void 0,"No")})]})})})})}),er=(0,s.memo)(function({presentation:e,onSubmit:t,onDismiss:i}){let{localize:n}=(0,f.s9)(),a=(0,s.useRef)(null),[o,l]=(0,s.useState)("selection"),[c,d]=(0,s.useState)(null),[u,h]=(0,s.useState)(""),p=e.title||n("trae-chat-core.feedback.experience-title",void 0,"How was your experience with this chat?"),m=e.experienceScoreMap??{},g=(0,s.useMemo)(()=>{let t=Object.keys(m);return t.length>0?t:e.options??[]},[m,e.options]),_=(0,s.useMemo)(()=>({cannot_evaluate:{label:n("trae-chat-core.feedback.experience.cannot-evaluate",void 0,"Cannot evaluate"),icon:"\u2753"},task_not_completed:{label:n("trae-chat-core.feedback.experience.task-not-completed",void 0,"Task not completed"),icon:"\u274C"},completed_with_issues:{label:n("trae-chat-core.feedback.experience.completed-with-issues",void 0,"Completed with issues"),icon:"\uD83D\uDFE1"},perfect:{label:n("trae-chat-core.feedback.experience.perfect",void 0,"Perfect"),icon:"\uD83D\uDC4D"}}),[n]),y=(0,s.useCallback)(e=>{d(e),l("comment")},[]),v=(0,s.useCallback)(e=>{let t=e.target.value;if(h(t.length>1e3?t.slice(0,1e3):t),a.current){let e=a.current;e.style.height="auto";let t=Math.min(120,Math.max(80,e.scrollHeight));e.style.height=`${t}px`}},[]),b=(0,s.useCallback)(()=>{c&&t({kind:"satisfaction",score:m[c],options:[c],comment:u.trim()||void 0})},[t,c,m,u]);return(0,r.jsx)("div",{className:"chat-turn-feedback-wrap",children:(0,r.jsx)(K,{title:p,children:(0,r.jsxs)("div",{className:"chat-turn-feedback-body",children:["selection"===o?(0,r.jsx)("div",{className:"chat-turn-feedback-experience-options",children:g.map(e=>{let t=_[e];return(0,r.jsxs)("button",{type:"button",className:"chat-turn-feedback-experience-option",onClick:()=>y(e),children:[(0,r.jsx)("span",{className:"chat-turn-feedback-experience-option-icon",children:t?.icon??"\uD83D\uDCAC"}),(0,r.jsx)("span",{className:"chat-turn-feedback-experience-option-label",children:t?.label??e})]},e)})}):null,"comment"===o?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"chat-turn-feedback-reasons",children:(0,r.jsx)("textarea",{ref:a,className:"chat-turn-feedback-textarea",placeholder:n("trae-chat-core.feedback.experience.comment-placeholder",void 0,"Any suggestions for improvement? (optional)"),value:u,onChange:v,maxLength:1e3})}),(0,r.jsxs)("div",{className:"chat-turn-feedback-actions",children:[(0,r.jsx)(J,{buttonType:"secondary",size:"small",onClick:i,children:n("trae-chat-core.feedback.cancel",void 0,"Cancel")}),(0,r.jsx)(J,{buttonType:"primary",size:"small",onClick:b,children:n("trae-chat-core.feedback.submit",void 0,"Submit")})]})]}):null]})})})}),es=(0,s.memo)(function(){let{presentation:e,visible:t,setVisible:i}=(0,G.u)(),a=(0,n.Fy)(e=>e.sessionId),o=(0,S.hE)(e=>e.messageId)??"",l=(0,S.hE)(e=>e.userMessageId)??"",{localize:c}=(0,f.s9)(),[d,u]=(0,s.useState)("active"),h=(0,s.useRef)(!1),p=U.XT.tryResolve(k.F.Feedback);(0,s.useEffect)(()=>{t&&e&&!h.current&&p&&(h.current=!0,p.markFeedbackShown(e.requestId))},[t,e,p]),(0,s.useEffect)(()=>{if("thanks"!==d)return;let e=setTimeout(()=>{u("hidden"),i(!1)},800);return()=>clearTimeout(e)},[d,i]);let m=(0,s.useCallback)(t=>{if(!e||!p)return;let i={requestId:e.requestId,sessionId:a,turnId:l,agentMessageId:o,kind:e.kind,...t};p.submitFeedback(i),u("thanks")},[e,p,a,l,o]),g=(0,s.useCallback)(()=>{e&&p&&(p.dismissFeedback(e.requestId),u("thanks"))},[e,p]);if(!e||"hidden"===d)return null;if("thanks"===d){let t=e.title??c("trae-chat-core.feedback.title",void 0,"Feedback");return(0,r.jsx)("div",{className:"chat-turn-feedback-wrap",children:(0,r.jsx)(K,{title:t,children:(0,r.jsx)("div",{className:"feedback-card-thanks",children:c("trae-chat-core.feedback.thanks",void 0,"Thanks for your feedback")})})})}return"satisfaction"===e.kind?"experience"===e.mode?(0,r.jsx)(er,{presentation:e,onSubmit:m,onDismiss:g}):(0,r.jsx)(et,{presentation:e,onSubmit:m,onDismiss:g}):"resolution"===e.kind?(0,r.jsx)(ei,{presentation:e,onSubmit:m,onDismiss:g}):null}),en={identifier:{domain:a.M.AgentMessage,name:"feedback"},displayName:"Feedback Slot",description:"Feedback survey slot for latest agent message",component:es};(0,o.MD)([en]),i(90507),i(15638),i(11801),i(3925),i(42680),i(91003),i(63769),i(34216),i(79123),i(22190),i(82224),i(45227),i(95123),i(79349),i(27798),i(51935),i(17610);var ea=i(86164);function eo(e,t,i,r){var s,n=arguments.length,a=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;o>=0;o--)(s=e[o])&&(a=(n<3?s(a):n>3?s(t,i,a):s(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a}i(24096),i(10839),i(95858),i(79297);class el{}el=eo([(0,U.IW)({identifier:k.F.FileReader,required:!1,description:"Port for getting file info and uploading file from different environments (Local/Remote)"})],el),i(31436),i(98950),i(90993);var ec=i(41748);i(9368),i(97766),i(51834),i(81284),i(16464);var ed=i(81907);i(32929),i(80309),i(27872),i(90649),i(2391),i(35682),i(9506),i(49282),i(19951),i(91134)},14687(e,t,i){i.d(t,{BG:()=>r.B,FU:()=>r.F,XT:()=>s.XT});var r=i(74134);i(58464),i(24096),i(28625);var s=i(92046)},47820(e,t,i){i.d(t,{W:()=>s});let r={pdf:"pdf",pptx:"pptx",ppt:"pptx",key:"pptx",xlsx:"xlsx",xls:"xlsx",csv:"csv",html:"html",htm:"html",md:"md",txt:"md",svg:"svg",png:"image",jpg:"image",jpeg:"image",gif:"image",webp:"image",bmp:"image"};function s(e){return e.startsWith("http://")||e.startsWith("https://")?"http_link":r[e.split(".").pop()?.toLowerCase()??""]??"others"}},58410(e,t,i){i.d(t,{AD:()=>s,G2:()=>a,Tr:()=>o,Xs:()=>n});var r=i(41748);function s(){return`${r.vN.soloTraeDomain.get()}/invitation/manage`}function n(){return`${r.vN.traeDomain.get()}/terms-of-service`}function a(){return`${r.vN.traeDomain.get()}/privacy-policy`}function o(){return`${r.vN.traeDocsDomain.get()}/solo/data-storage-policy-for-remote-agents`}},36163(e,t,i){i.d(t,{O:()=>d});var r=i(97282),s=i(51649),n=i(92046),a=i(74134),o=i(25188),l=i(34274);let c="",d=(0,s.memo)(function({style:e}){let t=(0,l.s)(),i=(0,o.Hr)(),[d,u]=(0,s.useState)(c);(0,s.useEffect)(()=>{(async()=>{let e=n.XT.tryResolve(a.F.BootServiceConfig),t=await e?.getTroubleshootingUrl?.();t&&u(t)})()},[]);let h=(0,s.useCallback)(()=>{d&&i?.openUrl({url:d,target:"_blank"})},[d,i]);return d?(0,r.jsx)("span",{onClick:h,style:{textDecoration:"underline",cursor:"pointer",...e},children:t.localize("trae-chat-core.error.vm.helpDoc",void 0,"Help Documentation")}):null})},19648(e,t,i){i.d(t,{s:()=>l});var r=i(51649),s=i(27872),n=i(92046),a=i(74134);let o="icube_ai_agent_react_error";class l extends r.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){s.logger.error(`[trae-chat-core] ErrorBoundary caught error in ${this.props.name}:`,{error:e,componentStack:t.componentStack});let i=n.XT.tryResolve(a.F.Slardar);i&&i.event({name:o,metrics:{timestamp:Date.now()},categories:{errorMsg:e.message.slice(0,200),errorStack:e.stack?.slice(0,1e3)||"",componentStack:t.componentStack?.slice(0,1e3)||"",componentName:this.props.name}})}render(){return this.state.hasError?null:this.props.children}}},2994(e,t,i){i.d(t,{jU:()=>s.jU,Ql:()=>s.Ql,My:()=>s.My,lq:()=>s.lq,_Y:()=>s._Y,h1:()=>r.h1}),i(51649);var r=i(48671),s=i(27981)},63379(e,t,i){i.d(t,{Z0:()=>o,nq:()=>l});var r=i(74450),s=i(45367),n=i(41748);function a(e){let t=(e,t=!1)=>{let i=e.getFullYear(),r=e.getMonth()+1,s=e.getDate(),n=e.getHours().toString().padStart(2,"0"),a=e.getMinutes().toString().padStart(2,"0"),o=e.getSeconds().toString().padStart(2,"0"),l=`${i}/${r}/${s} ${n}:${a}:${o}`;return t?`${l}[C]`:l};if(e){let i=new Date((0,r.s)(e)),s=i.getFullYear();if(!isNaN(i.getTime())&&s>=2020&&s<=2100)return t(i)}return t(new Date,!0)}function o(e){let{agentMessage:t,sessionId:i,userMessageId:r}=e,o=n.Zz.currentUser.get(),l=n.vN.isInternal.get(),c=!l,d=n.Zz.aiRegion.get()||"",u=a(t.createdAt),h=n.vN.isCN.get()?"TRAE Work CN":"TRAE Work",p=n.eA.sessionById.get(i),m=r??t.replyToMessageId,f=n.vN.ppeEnvName.get()||"no_ppe",g=(0,s.j4)()||"no_sid",_=n.vN.appVersion.get(),y="";if(c){let e=d?`${d}.`:"",r=t.traceId||"no_trace",s=o?.userId||"no_user",n=m||"no_reply";y=`${e}${s}:${r}_${i}.${t.messageId}.${n}:${h}.${_}.${g}.${f}`,u&&(y+=`.T(${u})`)}return(!c||l)&&(y=JSON.stringify({region:d,traceId:t.traceId,userId:o?.userId,chatSessionId:i,replyToMessageId:m,messageId:t.messageId,createTime:u,modelName:t.modelSmartSelectionMeta?.config_name,status:t.status,agentProcessSupport:p?.agentProcessSupport??t.agentProcessSupport,sandboxId:p?.sandbox?.name,appName:h,appVersion:_,slardarSid:g,ppe:f})),y}function l(e){let{agentMessage:t,sessionId:i,userMessageId:r,error:o}=e,l=n.Zz.currentUser.get(),c=n.vN.isInternal.get(),d=!c,u=n.Zz.aiRegion.get()||"",h=a(t.createdAt),p=n.vN.isCN.get()?"TRAE Work CN":"TRAE Work",m=n.eA.sessionById.get(i),f=r??t.replyToMessageId,g=(0,s.j4)()||"no_sid",_=n.vN.ppeEnvName.get()||"no_ppe",y="";if(d){let e=n.vN.appVersion.get(),r=u?`${u}.`:"",s=t.traceId||"no_trace",a=l?.userId||"no_user",o=f||"no_reply";y=`${r}${a}:${s}_${i}.${t.messageId}.${o}:${p}.${e}.${g}.${_}`,h&&(y+=`.T(${h})`)}return(!d||c)&&(y=JSON.stringify({region:u,traceId:t.traceId,userId:l?.userId,chatSessionId:i,replyToMessageId:f,messageId:t.messageId,createTime:h,modelName:t.modelSmartSelectionMeta?.config_name,status:t.status,agentProcessSupport:m?.agentProcessSupport??t.agentProcessSupport,sandboxId:m?.sandbox?.name,appName:p,appVersion:n.vN.appVersion.get(),slardarSid:g,ppe:_,error:o})),y}},74450(e,t,i){function r(e){return e>1e12?e:1e3*e}i.d(t,{E:()=>s,s:()=>r});let s=(e,t)=>{let{i18n:i,locale:s,hideTimeOnYear:n,showTodayLabel:a}=t;if(!e)return"";let o=new Date(r(e)),l=new Date,c=e=>e.toString().padStart(2,"0"),d=`${c(o.getHours())}:${c(o.getMinutes())}`;if(o.toDateString()===l.toDateString())return a?i.localize("solo-web.time.today_time",{time:d},`Today ${d}`):d;let u=new Date(l);if(u.setDate(u.getDate()-1),o.toDateString()===u.toDateString())return i.localize("solo-web.time.yesterday_time",{time:d},`Yesterday ${d}`);let h=o.getFullYear()===l.getFullYear(),p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],m="en"===s?p[o.getMonth()]:c(o.getMonth()+1),f=c(o.getDate()),g=String(o.getFullYear());return h?i.localize("solo-web.time.sameYear",{month:m,day:f,time:d},`${m} ${f}, ${d}`):n?i.localize("solo-web.time.crossYearDate",{year:g,month:m,day:f},`${m} ${f}, ${g}`):i.localize("solo-web.time.crossYear",{year:g,month:m,day:f,time:d},`${m} ${f}, ${g} ${d}`)}},27981(e,t,i){i.d(t,{My:()=>r.My,Ql:()=>r.Ql,_Y:()=>r._Y,jU:()=>r.jU,lq:()=>r.lq,st:()=>s.s});var r=i(16464),s=i(74450);i(63379)},81907(e,t,i){let r;i.d(t,{G8:()=>n,Y1:()=>o,_0:()=>a,mC:()=>l});let s={};function n(e){s={...s,...e},r=void 0}function a(){return s}function o(e){r=e}function l(){return r}},16464(e,t,i){i.d(t,{jU:()=>e0,Ql:()=>e3,My:()=>e5,lq:()=>e1,_Y:()=>e4});var r=i(97282),s=i(51649);let n=({children:e})=>{let t=String(e||"").trim();if(!t)return null;let i=t.split("\n"),s=[];for(let e=0;e0&&!/^\s/.test(t)){let n=t.slice(0,r).trim(),a=t.slice(r+1).trim();a=a.replace(/^["']|["']$/g,"");let o=[];for(;e+10&&(a=a?`${a}, ${o.join(", ")}`:o.join(", ")),s.push({key:n,value:a})}}return 0===s.length?(0,r.jsx)("div",{className:"markdown-frontmatter",children:(0,r.jsx)("pre",{className:"markdown-frontmatter-raw",children:t})}):(0,r.jsx)("div",{className:"markdown-frontmatter",children:(0,r.jsx)("table",{className:"markdown-frontmatter-table",children:(0,r.jsx)("tbody",{children:s.map((e,t)=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"markdown-frontmatter-key",children:e.key}),(0,r.jsx)("td",{className:"markdown-frontmatter-value",children:e.value})]},t))})})})};function a(e){let t=e.trimStart();if(!t.startsWith("---"))return{frontmatter:null,body:e};let i=t.slice(3).replace(/^[\r\n]+/,""),r=i.indexOf("\n---"),s=i.indexOf("\r\n---"),n=-1;if(-1!==r&&-1!==s?n=Math.min(r,s):-1!==r?n=r:-1!==s&&(n=s),-1===n)return{frontmatter:null,body:e};let a=i.slice(0,n).trim(),o=i.indexOf("\n---")+4;return{frontmatter:a,body:i.slice(o).trimStart()}}function o(){return{name:"frontmatter",priority:1,hooks:{onContentChange:e=>{let{frontmatter:t,body:i}=a(e);if(t){let e=encodeURIComponent(t);return`
${i}`}return e}},components:{div:({children:e,node:t,...i})=>{let s=i["data-frontmatter"];if(s)try{let e=decodeURIComponent(s);return(0,r.jsx)(n,{children:e})}catch{}return(0,r.jsx)("div",{...i,children:e})}}}}var l=i(42119);function c(e,t,i=".markdown-renderer"){if(!e)return 0;let r=t.toUpperCase(),s=0,n=e.parentElement;for(;n&&!n.matches?.(i);)n.tagName?.toUpperCase()===r&&(s+=1),n=n.parentElement;return(s+1-1)%3}let d=({children:e,node:t,...i})=>{let n=(0,s.useRef)(null),[a,o]=(0,s.useState)(0);return(0,s.useLayoutEffect)(()=>{n.current&&o(c(n.current,"ul",".markdown-renderer"))},[]),(0,r.jsx)("ul",{ref:n,className:"markdown-ul","data-level-mod":a,...i,children:e})};function u(e){let t=String((e.start||1)+e.querySelectorAll(":scope > li").length-1).length;if(!(t<=1))return 16+(t-1)*8}let h=({children:e,...t})=>{let i=(0,s.useRef)(null),[n,a]=(0,s.useState)(0),[o,l]=(0,s.useState)(void 0);return(0,s.useLayoutEffect)(()=>{i.current&&a(c(i.current,"ol",".markdown-renderer"))},[]),(0,s.useLayoutEffect)(()=>{i.current&&l(u(i.current))},[e]),(0,r.jsx)("ol",{ref:i,className:"markdown-ol","data-level-mod":n,style:o?{paddingLeft:o}:void 0,...t,children:e})},p=({children:e,node:t,...i})=>{let n=(0,s.useRef)(null);return(0,r.jsx)("li",{ref:n,className:"markdown-li",...i,children:e})};function m(){return{name:"list",priority:60,components:{ul:d,ol:h,li:p}}}var f=i(7349),g=i(28468),_=i(76933),y=i(51717),v=i(64512);let b="leftGroup-cH793_",S="trigger-OxPTiP",k="languageName-_DFxFs",x="icon-v5XdWY",C="previewToggle-kdMxuK",w="toggleText-HS28Dw",E=[{value:"",label:"Plain Text"},{value:"javascript",label:"JavaScript"},{value:"typescript",label:"TypeScript"},{value:"jsx",label:"JSX"},{value:"tsx",label:"TSX"},{value:"python",label:"Python"},{value:"java",label:"Java"},{value:"c",label:"C"},{value:"cpp",label:"C++"},{value:"csharp",label:"C#"},{value:"go",label:"Go"},{value:"rust",label:"Rust"},{value:"html",label:"HTML"},{value:"css",label:"CSS"},{value:"scss",label:"SCSS"},{value:"json",label:"JSON"},{value:"xml",label:"XML"},{value:"yaml",label:"YAML"},{value:"markdown",label:"Markdown"},{value:"mermaid",label:"Mermaid"},{value:"sql",label:"SQL"},{value:"bash",label:"Bash"},{value:"shell",label:"Shell"},{value:"powershell",label:"PowerShell"},{value:"php",label:"PHP"},{value:"ruby",label:"Ruby"},{value:"swift",label:"Swift"},{value:"kotlin",label:"Kotlin"}],T={js:"javascript",ts:"typescript",py:"python",rb:"ruby",rs:"rust","c++":"cpp","c#":"csharp",cs:"csharp",sh:"bash",zsh:"bash",yml:"yaml",md:"markdown",kt:"kotlin",ps1:"powershell",htm:"html",sass:"scss",jsonc:"json",plaintext:"",text:"",txt:""},I=e=>{if(!e)return"";let t=e.toLowerCase();return T[t]??t},R=({language:e,onLanguageChange:t,showPreviewToggle:i=!1,isPreview:n=!1,onTogglePreview:a})=>{let[o,l]=(0,s.useState)(!1),c=(0,s.useRef)(null),{localize:d}=(0,y.s9)(),u=I(e),h=E.find(e=>e.value===u),p=h?.label||e||d("languagePicker.plainText",{},"Plain Text"),m=(0,s.useMemo)(()=>E.map(e=>({type:"item",key:e.value,title:e.label})),[]),f=(0,s.useCallback)(e=>{t(e),l(!1)},[t]),g=(0,s.useCallback)(()=>{l(!1)},[]),T=(0,s.useCallback)(()=>{l(e=>!e)},[]);return(0,r.jsxs)("div",{className:b,children:[(0,r.jsxs)("button",{ref:c,type:"button",className:S,onClick:T,title:d("languagePicker.chooseLanguage",{},"Choose Language"),children:[(0,r.jsx)("span",{className:k,children:p}),(0,r.jsx)(_.Y7q,{className:x})]}),c.current&&(0,r.jsx)(v.H,{visible:o,menu:m,anchor:c.current,value:[u],placement:"bottom",searchable:{type:"local",placeholder:d("languagePicker.searchLanguage",{},"Search Language...")},onSelect:f,onClose:g}),i&&a&&(0,r.jsx)("button",{type:"button",className:C,onClick:a,title:n?d("languagePicker.source",{},"Source"):d("languagePicker.preview",{},"Preview"),children:(0,r.jsx)("span",{className:w,children:n?d("languagePicker.source",{},"Source"):d("languagePicker.preview",{},"Preview")})})]})};function N(e){let t=document.createElement("textarea"),i=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";let r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),i&&i.focus()}async function A(e){try{await navigator.clipboard.writeText(e)}catch{N(e)}}let M="copyButton-xmldNw",P=({text:e,onCopy:t})=>{let[i,n]=(0,s.useState)(!1),a=(0,s.useCallback)(()=>{A(e).then(()=>{n(!0),t?.(e),setTimeout(()=>n(!1),2e3)}).catch(console.error)},[e,t]);return(0,r.jsx)("button",{type:"button",className:M,onClick:a,title:"Copy Code",children:i?(0,r.jsx)(_.iWP,{}):(0,r.jsx)(_.bzS,{})})};function j(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}let L=({code:e,language:t,hash:i,filePath:n,mermaidRenderer:a,copyButton:o,languagePicker:l,toolbar:c,onCopy:d,showLineNumbers:u=!0})=>{let h=(0,s.useRef)(null),[p,m]=(0,s.useState)(t||""),[f,_]=(0,s.useState)(!0),[y,v]=(0,s.useState)({highlightedHtml:"",error:void 0});(0,s.useEffect)(()=>{t&&t!==p&&m(t)},[t]);let b="mermaid"===p,S=!!p&&"mermaid".startsWith(p)&&"mermaid"!==p,k=o||P,x=l||R,C=!p||/^(plain\s*text|plaintext|text)$/i.test(p);(0,s.useEffect)(()=>{if(!b){if(C)return void v({highlightedHtml:j(e),error:void 0});try{let t;t=g.getLanguage(p)?g.highlight(e,{language:p}).value:g.highlightAuto(e).value,v({highlightedHtml:t,error:void 0})}catch(t){console.error("Highlight error:",t),v({highlightedHtml:j(e),error:t.message})}}},[e,p,b,C]);let w=()=>{_(!f)},E=(0,s.useMemo)(()=>u?e.split("\n").map((e,t)=>t+1).join("\n"):null,[e,u]),T=()=>b&&f&&a?(0,r.jsx)("div",{className:"code-block-mermaid",children:(0,r.jsx)(a,{code:e,hash:i})}):S?(0,r.jsxs)("div",{className:"code-block-content",children:[u&&(0,r.jsx)("div",{className:"code-block-line-numbers",children:(0,r.jsx)("pre",{children:E})}),(0,r.jsx)("pre",{className:"code-block-code custom-scrollbar-x",children:(0,r.jsx)("code",{ref:h,children:e})})]}):(0,r.jsxs)("div",{className:"code-block-content",children:[u&&(0,r.jsx)("div",{className:"code-block-line-numbers",children:(0,r.jsx)("pre",{children:E})}),(0,r.jsx)("pre",{className:"code-block-code custom-scrollbar-x",children:(0,r.jsx)("code",{ref:h,className:p?`language-${p}`:"",dangerouslySetInnerHTML:{__html:y.highlightedHtml||j(e)}})})]});return(0,r.jsxs)("div",{className:"code-block-wrapper",children:[(0,r.jsx)("div",{className:"code-block-toolbar",children:c?(0,r.jsx)(c,{code:e,language:p,hash:i,filePath:n}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(x,{language:p,onLanguageChange:m,showPreviewToggle:b&&!!a,isPreview:f,onTogglePreview:w}),(0,r.jsx)(k,{text:e,onCopy:d})]})}),T()]})},D=s.default.memo(L,(e,t)=>e.code===t.code&&e.language===t.language&&e.hash===t.hash&&e.filePath===t.filePath&&e.mermaidRenderer===t.mermaidRenderer);var O=i(7516);function F(e){let t=0;for(let i=0;i{let[e,t]=(0,s.useState)({scale:1,translateX:0,translateY:0}),[i,r]=(0,s.useState)(!1),[n,a]=(0,s.useState)({x:0,y:0}),o=(0,s.useCallback)(t=>{0===t.button&&(r(!0),a({x:t.clientX-e.translateX,y:t.clientY-e.translateY}),t.preventDefault())},[e.translateX,e.translateY]),l=(0,s.useCallback)(e=>{i&&t(t=>({...t,translateX:e.clientX-n.x,translateY:e.clientY-n.y}))},[i,n]),c=(0,s.useCallback)(()=>{r(!1)},[]),d=(0,s.useCallback)(()=>{t({scale:1,translateX:0,translateY:0})},[]),u=(0,s.useCallback)(()=>{t(e=>({...e,scale:Math.min(3,1.2*e.scale)}))},[]),h=(0,s.useCallback)(()=>{t(e=>({...e,scale:Math.max(.1,.8*e.scale)}))},[]);return{isDragging:i,transform:e,handleWheel:(0,s.useCallback)(e=>{if(e.ctrlKey||e.metaKey){e.preventDefault(),e.stopPropagation();let i=e.deltaY>0?-.05:.05;t(e=>({...e,scale:Math.max(.1,Math.min(3,e.scale+i))}))}},[]),handleWheelDirect:(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let i=e.deltaY>0?-.05:.05;t(e=>({...e,scale:Math.max(.1,Math.min(3,e.scale+i))}))},[]),handleMouseDown:o,handleMouseMove:l,handleMouseUp:c,resetTransform:d,zoomIn:u,zoomOut:h,zoomUpMermaidGraph:u,zoomOutMermaidGraph:h}},B="u">typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),z=({scale:e,onReset:t,onZoomIn:i,onZoomOut:s,onFullscreen:n,resetTransform:a,zoomUpMermaidGraph:o,zoomOutMermaidGraph:l,className:c})=>{let d=t??a,u=i??o,h=s??l;return(0,r.jsxs)("div",{className:`mermaid-actions ${c||""}`,children:[(0,r.jsx)("button",{type:"button",onClick:h,title:`Zoom Out ${B?"\u2318":"Ctrl"} -`,children:(0,r.jsx)(_.Nin,{})}),(0,r.jsxs)("div",{className:"mermaid-actions-text",children:[Math.round(100*e),"%"]}),(0,r.jsx)("button",{type:"button",onClick:u,title:`Zoom In ${B?"\u2318":"Ctrl"} +`,children:(0,r.jsx)(_.mc3,{})}),(0,r.jsx)("button",{type:"button",onClick:d,title:"Reset",children:(0,r.jsx)(_.H42,{})}),n&&(0,r.jsx)("button",{type:"button",onClick:n,title:"Fullscreen",children:(0,r.jsx)(_.iWI,{})})]})},W=(0,s.memo)(z);W.displayName="MermaidActions";let H=null,G=null,Z=async()=>H||G||(G=i.e("9417").then(i.bind(i,99264)).then(e=>H=e.default)),K=50,X=new Map,Y=()=>{if(X.size<=K)return;let e=Array.from(X.entries());e.sort((e,t)=>e[1].lastUsed-t[1].lastUsed),e.slice(0,e.length-K).forEach(([e])=>X.delete(e))},J='"SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif',$="#2DD288",q="#DCB364",Q="#FF9392",ee="#04CBE5",et="#BFA5FF",ei="#AFB9CF",er="#8ACB3A",es="#EC93FF",en="#2DD28880",ea="#DCB36480",eo="#FF939280",el="#04CBE580",ec="#BFA5FF80",ed="#AFB9CF80",eu="#8ACB3A80",eh="#EC93FF80",ep="#7F848E",em=(e="light")=>({startOnLoad:!1,theme:"base",securityLevel:"loose",fontFamily:J,logLevel:"error",suppressErrorRendering:!0,themeVariables:{primaryColor:"dark"===e?"#2a2d33":"#f5f5f5",primaryBorderColor:ep,primaryTextColor:"dark"===e?"#e8e8e8":"#1d1d1d",secondaryColor:ea,tertiaryColor:"dark"===e?"#2a2d33":"#f5f5f5",lineColor:ep,textColor:"dark"===e?"#e8e8e8":"#1d1d1d",mainBkg:"dark"===e?"#2a2d33":"#f5f5f5",nodeBorder:$,nodeTextColor:"dark"===e?"#e8e8e8":"#1d1d1d",clusterBkg:"dark"===e?"#1e2024":"#ffffff",edgeLabelBackground:"dark"===e?"#1e2024":"#ffffff",actorBkg:"dark"===e?"#2a2d33":"#f5f5f5",actorBorder:$,actorTextColor:"dark"===e?"#e8e8e8":"#1d1d1d",noteBkgColor:"dark"===e?"#2a2d33":"#f5f5f5",noteBorderColor:$,noteTextColor:"dark"===e?"#e8e8e8":"#1d1d1d",fontSize:"13px",fontFamily:J,arrowheadColor:ep,fillType0:en,fillType1:ea,fillType2:eo,fillType3:el,fillType4:ec,fillType5:ed,fillType6:eu,fillType7:eh,pie1:$,pie2:q,pie3:Q,pie4:ee,pie5:et,pie6:ei,pie7:er,pie8:es,git0:$,git1:q,git2:Q,git3:ee,git4:et,git5:ei,git6:er,git7:es},themeCSS:` .node rect, .node circle, .node ellipse, .node polygon, .node path { fill: var(--bg-bg-base-tertiary); stroke: ${$}; } .nodeLabel, .label { color: var(--text-text-default); } text { fill: var(--text-text-default); } .actor { fill: var(--bg-bg-base-tertiary); stroke: ${$}; } .actor-line { stroke: ${ep}; } #arrowhead path { fill: ${ep}; stroke: ${ep}; } .messageLine0, .messageLine1 { stroke: ${ep}; } .messageText { fill: var(--text-text-default); } .labelText, .loopText { fill: var(--text-text-default); } .loopLine { stroke: ${ep}; } .entityBox { fill: var(--bg-bg-base-tertiary); stroke: ${$}; } .relationshipLine { stroke: ${ep}; } .relationshipLabelBox { fill: var(--bg-bg-base-tertiary); } .statediagram-note rect { fill: var(--bg-bg-base-tertiary); stroke: ${q}; } .edgeLabel { background-color: var(--bg-bg-base-secondary); } .cluster rect { fill: var(--bg-bg-base-secondary); stroke: ${ep}; } .flowchart-link { stroke: ${ep}; } `}),ef=()=>(0,r.jsx)(_.Ddh,{style:{width:17,height:16}}),eg=({code:e,hash:t,theme:i,showActions:n=!0,notSupportedText:a,renderFailedText:o,copyErrorText:l,copySuccessText:c,retryText:d,className:u})=>{let h=(0,U.DP)(),p=i??("dark"===h.theme?"dark":"light"),{localize:m}=(0,y.s9)(),f=a??m("mermaid.notSupported",{},"Not Supported"),g=o??m("mermaid.renderFailed",{},"Mermaid Render Failed"),v=l??m("mermaid.copyError",{},"Copy Error Message"),b=c??m("mermaid.copied",{},"Copied");d??m("mermaid.retry",{},"Retry");let[,S]=(0,s.useState)({}),[k,x]=(0,s.useState)(!1),[C,w]=(0,s.useState)(!1),E=(0,s.useRef)(!0),T=(0,s.useMemo)(()=>e.trim(),[e]),I=(0,s.useMemo)(()=>t||F(T),[t,T]);X.has(I)||X.set(I,{lastRenderedCode:"",svg:"",lastValidSvg:"",error:"",lastUsed:Date.now(),theme:p});let R=X.get(I);R.lastUsed=Date.now();let{transform:N,isDragging:A,handleMouseDown:M,handleMouseMove:P,handleMouseUp:j,handleWheel:L,resetTransform:D,zoomIn:z,zoomOut:H}=V(),G=V(),K=(0,s.useCallback)(()=>{w(!0),G.resetTransform()},[G]),J=(0,s.useCallback)(()=>{w(!1)},[]),$=(0,s.useRef)(!1),q=(0,s.useRef)(null),Q=(0,s.useRef)(null),ee=(0,s.useMemo)(()=>T.split("\n").some(e=>"sankey-beta"===e||"treemap-beta"===e),[T]);(0,s.useEffect)(()=>(E.current=!0,()=>{E.current=!1}),[]),(0,s.useEffect)(()=>{if(!C)return;let e=e=>{"Escape"===e.key&&w(!1)};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[C]),(0,s.useEffect)(()=>{let e=Q.current;if(C&&e)return e.addEventListener("wheel",G.handleWheelDirect,{passive:!1}),()=>{e.removeEventListener("wheel",G.handleWheelDirect)}},[C,G.handleWheelDirect]),(0,s.useEffect)(()=>{if(!T||R.lastRenderedCode===T&&R.theme===p)return;let e=!1;return(async()=>{try{if(e)return;R.error="",x(!0);let t=await Z();t.initialize(em(p));let i=`mermaid-${F(T)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:r}=await t.render(i,T);E.current&&!e&&(R.svg=r,R.lastValidSvg=r,R.lastRenderedCode=T,R.theme=p,R.lastUsed=Date.now(),Y(),S({}))}catch(t){E.current&&!e&&(R.svg="",R.lastValidSvg||(R.error=t instanceof Error?t.message:String(t)),S({}))}finally{e||x(!1)}})(),()=>{e=!0}},[T,I,p]);let et=(0,s.useCallback)(e=>{if(!$.current)return;let t=B&&e.metaKey&&"="===e.key||!B&&e.ctrlKey&&"="===e.key,i=B&&e.metaKey&&"-"===e.key||!B&&e.ctrlKey&&"-"===e.key;t&&(e.preventDefault(),e.stopPropagation(),z()),i&&(e.preventDefault(),e.stopPropagation(),H())},[z,H]),ei=R.lastValidSvg||R.svg;(0,s.useEffect)(()=>{let e=q.current;if(!e)return;let t=()=>{$.current=!0},i=()=>{$.current=!1};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",i),e.addEventListener("wheel",L,{passive:!1}),document.addEventListener("keydown",et),()=>{e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",i),e.removeEventListener("wheel",L),document.removeEventListener("keydown",et)}},[ei,L,et]);let er={transform:`translate(${N.translateX}px, ${N.translateY}px) scale(${N.scale})`,transformOrigin:"center center",transition:A?"none":"transform 0.1s ease-out"},[es,en]=(0,s.useState)(!1),ea=(0,s.useRef)(null),eo=(0,s.useCallback)(()=>{R.error&&!es&&navigator.clipboard.writeText(R.error).then(()=>{en(!0),ea.current&&clearTimeout(ea.current),ea.current=setTimeout(()=>{en(!1),ea.current=null},2e3)})},[R.error,es]);if(ee)return(0,r.jsxs)("div",{className:`mermaid-not-supported ${u||""}`,children:[(0,r.jsx)(_.Ddh,{}),(0,r.jsx)("span",{children:f})]});if(!ei&&R.error)return(0,r.jsxs)("div",{className:`mermaid-render-failed ${u||""}`,children:[(0,r.jsx)(ef,{}),(0,r.jsxs)("span",{children:[g,(0,r.jsx)("br",{}),(0,r.jsx)("button",{type:"button",className:"mermaid-copy-error-link",onClick:eo,children:es?b:v})]})]});if(!ei)return null;let el={transform:`translate(${G.transform.translateX}px, ${G.transform.translateY}px) scale(${G.transform.scale})`,transformOrigin:"center center",transition:G.isDragging?"none":"transform 0.1s ease-out"};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{ref:q,className:`mermaid-container ${u||""}`,style:{cursor:A?"grabbing":"grab"},onMouseDown:M,onMouseMove:P,onMouseUp:j,onMouseLeave:j,children:[(0,r.jsx)("div",{className:"mermaid-svg-container",style:er,dangerouslySetInnerHTML:{__html:ei}}),n&&ei&&(0,r.jsx)(W,{scale:N.scale,onReset:D,onZoomIn:z,onZoomOut:H,onFullscreen:K})]}),C&&(0,O.createPortal)((0,r.jsxs)("div",{ref:Q,className:"mermaid-fullscreen-overlay",onMouseDown:G.handleMouseDown,onMouseMove:G.handleMouseMove,onMouseUp:G.handleMouseUp,onMouseLeave:G.handleMouseUp,style:{cursor:G.isDragging?"grabbing":"grab"},children:[(0,r.jsx)("button",{type:"button",className:"mermaid-fullscreen-close",onClick:J,title:"Close (Esc)",children:(0,r.jsx)(_.gzW,{})}),(0,r.jsx)("div",{className:"mermaid-fullscreen-content",style:el,dangerouslySetInnerHTML:{__html:ei}}),(0,r.jsx)(W,{scale:G.transform.scale,onReset:G.resetTransform,onZoomIn:G.zoomIn,onZoomOut:G.zoomOut})]}),document.body)]})},e_=(0,s.memo)(eg,(e,t)=>e.code===t.code&&e.hash===t.hash&&e.theme===t.theme);function ey(e){let t=e?.replace("language-","")||"",i=t.split(":")?.[0]?.toLocaleLowerCase()||"",r=t.split(":")?.[1]||"";if(!r)return{language:i};let s=decodeURIComponent(r),n=s.split(":")?.[0]||s,a=/^(.*?)#L\d+(?:L\d+|-(?:L)?\d+)$/,o=n.match(a);return{language:i,filePath:o?o[1]:n}}e_.displayName="MermaidBlock";let ev=({node:e,className:t,children:i,mermaidRenderer:r,copyButton:n,languagePicker:a,toolbar:o,onCopy:l,...c})=>{let d=(0,f.lr)();if(!t&&"string"==typeof i&&!i.includes("\n"))return s.default.createElement("code",{className:t,...c},i);let{language:u,filePath:h}=ey(t),p=String(i).replace(/\n$/,""),m=e?.position?.start?.offset?String(e.position.start.offset):"0",g=d?.rendererId?`${d.rendererId}-${m}`:m;return s.default.createElement(D,{code:p,language:u,hash:g,filePath:h,mermaidRenderer:r,copyButton:n,languagePicker:a,toolbar:o,onCopy:l})};function eb(e={}){let{mermaidRenderer:t=e_,copyButton:i,languagePicker:r,toolbar:n,onCopy:a}=e,o=!1===t?void 0:t;return{name:"code-block",priority:50,components:{pre:({children:e})=>s.default.createElement("div",{className:"pre-wrapper"},e),code:e=>s.default.createElement(ev,{...e,mermaidRenderer:o,copyButton:i,languagePicker:r,toolbar:n,onCopy:a})}}}var eS=i(46340),ek=i(80699),ex=i(13359);let eC=({content:e,displayMode:t=!1})=>{let i=s.default.useMemo(()=>{try{return ex.default.renderToString(e,{displayMode:t,throwOnError:!0,output:"html",strict:"error",macros:{"\\RR":"\\mathbb{R}","\\CC":"\\mathbb{C}","\\QQ":"\\mathbb{Q}","\\ZZ":"\\mathbb{Z}","\\NN":"\\mathbb{N}"}})}catch(r){let t=String(e).replace(/&/g,"&").replace(//g,">"),i=String(r).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");return`${t}`}},[e,t]);return(0,r.jsx)("span",{dangerouslySetInnerHTML:{__html:i},className:t?"latex-display":"latex-inline"})},ew=({content:e})=>(0,r.jsx)(eC,{content:e}),eE=({content:e})=>(0,r.jsx)("div",{className:"latex-block-container",children:(0,r.jsx)(eC,{content:e,displayMode:!0})});function eT(e={}){let{errorColor:t="var(--text-text-default)"}=e;return{name:"latex",priority:5,remarkPlugins:[eS.A],rehypePlugins:[[ek.A,{output:"html",strict:"ignore",errorColor:t}]],components:{math:({children:e})=>(0,r.jsx)(eE,{content:String(e)}),inlinemath:({children:e})=>(0,r.jsx)(ew,{content:String(e)}),inlineMath:({children:e})=>(0,r.jsx)(ew,{content:String(e)})}}}var eI=i(38560);function eR(e={}){let{allowedTags:t=eI.Pc,transparentTags:i=eI.hw}=e;return{name:"rehype-filter",priority:90,rehypePlugins:[(0,eI.tp)({allowedTags:t,transparentTags:i})]}}function eN(){return{name:"default-link",priority:0,components:{a:({href:e,children:t,node:i,...r})=>s.default.createElement("a",{...r,className:"markdown-link",href:e,target:"_blank",rel:"noopener noreferrer"},t)}}}var eA=i(83266),eM=i(85788);function eP(e){let{onClick:t,shouldHandleClick:i}=e;return{name:"file-link",priority:80,componentMatchers:{a:e=>{let t=e.href;return!!t&&(0,eM.o1)(t)}},components:{a:({href:e,children:r,node:n,...a})=>{let o=e?(0,eM.X0)(e):void 0;if(!o)return s.default.createElement("a",{...a,href:e},r);let l=e?.startsWith("share-artifact://"),c=!!e&&(i?.(e)??!!l),d=e?.startsWith("computer://"),u=l?"markdown-computer-link":d&&!c?"markdown-no-link":"markdown-file-link";return s.default.createElement("a",{...a,"data-opens-panel":!0,className:u,href:e,onClick:e=>{e.preventDefault(),d||t(o.filePath,o.startLine,o.endLine)}},r)}}}}let ej=e=>(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",...e,children:(0,r.jsx)("path",{d:"M8.07125 3.11293C8.28482 2.89936 8.63185 2.89936 8.84542 3.11293C9.05899 3.3265 9.05899 3.67353 8.84542 3.8871L5.7325 7.00001L8.84542 10.1129C9.05899 10.3265 9.05899 10.6735 8.84542 10.8871C8.63185 11.1007 8.28482 11.1007 8.07125 10.8871L4.57125 7.3871C4.35768 7.17353 4.35768 6.82649 4.57125 6.61293L8.07125 3.11293Z",fill:"currentColor"})}),eL=e=>(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",...e,children:(0,r.jsx)("path",{d:"M5.1545 3.11292C5.36807 2.89935 5.7151 2.89935 5.92867 3.11292L9.42867 6.61292C9.64224 6.82648 9.64224 7.17352 9.42867 7.38709L5.92867 10.8871C5.7151 11.1007 5.36807 11.1007 5.1545 10.8871C4.94093 10.6735 4.94093 10.3265 5.1545 10.1129L8.26741 7L5.1545 3.88709C4.94093 3.67352 4.94093 3.32648 5.1545 3.11292Z",fill:"currentColor"})}),eD="~~~",eO=/\[\$TRAE_REF\]\(([^)]+)\)/g,eF=/(\[\$TRAE_REF\]\([^)]+\)){2,}/g,eU=RegExp("\\[\\$(?:T(?:R(?:A(?:E(?:_(?:R(?:E(?:F(?:\\](?:\\([^)]*)?)?)?)?)?)?)?)?)?)?$");function eV(e){return e.replace(eF,e=>{let t,i=[],r=RegExp(eO.source,"g");for(;null!==(t=r.exec(e));)i.push(t[1]);return`[refs](source-group://${i.join(eD)})`})}function eB(e){return e?e.replace(eU,""):e}function ez(e){try{return decodeURIComponent(e)}catch{return e}}function eW(e){return ez(e.replace(/^source:\/\//,""))}function eH(e){return ez(e.replace(/^source-group:\/\//,"")).split(eD)}function eG(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return e}}function eZ(e,t){return t.find(t=>t.link===e)}let eK=({metas:e,urls:t,onClick:i,onFaviconError:n})=>{let[a,o]=(0,s.useState)(0),l=t.length,c=(0,s.useCallback)(e=>{e.stopPropagation(),o(e=>Math.max(0,e-1))},[]),d=(0,s.useCallback)(e=>{e.stopPropagation(),o(e=>Math.min(l-1,e+1))},[l]),u=e[a],h=t[a],p=eG(h),m=u?.title||p,f=u?.description,g=u?.favicon,[y,v]=(0,s.useState)(()=>new Set);return(0,r.jsxs)("div",{className:"source-ref-popover",onClick:e=>e.stopPropagation(),children:[l>1&&(0,r.jsxs)("div",{className:"source-ref-popover-nav",children:[(0,r.jsx)("button",{className:"source-ref-popover-nav-btn",onClick:c,disabled:0===a,type:"button",children:(0,r.jsx)(ej,{})}),(0,r.jsxs)("span",{className:"source-ref-popover-nav-index",children:[a+1,"/",l]}),(0,r.jsx)("button",{className:"source-ref-popover-nav-btn",onClick:d,disabled:a===l-1,type:"button",children:(0,r.jsx)(eL,{})})]}),(0,r.jsxs)("div",{className:"source-ref-popover-body",onClick:()=>i?.(h),children:[(0,r.jsx)("div",{className:"source-ref-popover-title",children:m}),f&&(0,r.jsx)("div",{className:"source-ref-popover-desc",children:f}),(0,r.jsxs)("div",{className:"source-ref-popover-domain",children:[!g||g.startsWith("tos-")||y.has(g)?(0,r.jsx)(_.KqQ,{style:{width:13,height:13}}):(0,r.jsx)("img",{className:"source-ref-popover-domain-favicon",src:g,alt:"",onError:()=>{v(e=>new Set(e).add(g)),n?.(h)}}),(0,r.jsx)("span",{children:p})]})]})]})},eX=/[\s.,;:!?'"()[\]{}<>\/\\@#$%^&*_~`|\u3002\uff0c\u3001\uff1b\uff1a\uff1f\uff01""''\u3010\u3011\uff08\uff09\u300a\u300b\u2014\u2026\-]$/,eY=({urls:e,references:t,onClick:i,onFaviconError:n})=>{let[a,o]=(0,s.useState)(!1),[l,c]=(0,s.useState)(!1),d=s.default.useRef(null),u=s.default.useRef(null),h=s.default.useRef(null);(0,s.useEffect)(()=>{let e=d.current;if(!e)return;let t=e.previousSibling;if(t&&t.nodeType===Node.TEXT_NODE){let e=t.textContent||"",i=e[e.length-1];if(i&&!eX.test(i))return void c(!0)}c(!1)},[]);let p=e.map(e=>eZ(e,t)),m=e[0],f=eG(m)||p[0]?.title||"",g=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),i?i(m):window.open(m,"_blank")},[m,i]),_=(0,s.useCallback)(()=>{h.current&&(clearTimeout(h.current),h.current=null),o(!0)},[]),y=(0,s.useCallback)(()=>{h.current=setTimeout(()=>{o(!1)},150)},[]);(0,s.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[]);let[v,b]=(0,s.useState)({top:0,left:0});return(0,s.useEffect)(()=>{if(!a||!d.current)return;let e=d.current.getBoundingClientRect(),t=300,i=e.left;i+t>window.innerWidth-8&&(i=window.innerWidth-t-8),i<8&&(i=8),b({top:e.bottom+4,left:i})},[a]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("span",{ref:d,className:`source-ref-pill${e.length>1?" source-ref-pill--multi":""}`,style:l?{marginLeft:8}:void 0,onClick:g,onMouseEnter:_,onMouseLeave:y,children:[(0,r.jsx)("span",{className:"source-ref-pill-title",children:f}),e.length>1&&(0,r.jsxs)("span",{className:"source-ref-pill-extra",children:["+",e.length-1]})]}),a&&(0,O.createPortal)((0,r.jsx)("div",{ref:u,className:"source-ref-popover-container",style:{top:v.top,left:v.left},onMouseEnter:_,onMouseLeave:y,children:(0,r.jsx)(eK,{metas:p,urls:e,onClick:i,onFaviconError:n})}),document.body)]})};function eJ(e={}){return{name:"source-ref",priority:60,componentMatchers:{a:e=>{let t=e.href;return!!t&&(t.startsWith("source://")||t.startsWith("source-group://"))}},components:{a:({href:t})=>{if(!t)return null;let i=t.startsWith("source-group://")?eH(t):[eW(t)];return s.default.createElement(eY,{urls:i,references:e.references??[],onClick:e.onClick,onFaviconError:e.onFaviconError})}},hooks:{onContentChange:e=>{let t=eV(e);return eB(t=t.replace(/\[\$TRAE_REF\]\(([^)]+)\)/g,"[ref](source://$1)"))}}}}var e$=i(81907),eq=i(86164);function eQ(e={}){let t=e.codeBlockToolbar||(0,e$._0)().codeBlockToolbar;return[o(),(0,l.C)(),m(),eb({toolbar:t}),eT(),eR(),eN(),(0,eA.gZ)()]}function e0(){let e=(0,e$.mC)();return e||(e=eQ(),(0,e$.Y1)(e)),e}let e1=eQ();function e2(e){if(e.startsWith("share-artifact://"))return!0;try{return(0,eq.Ov)()===eq.uC.TraeIDE}catch{return!1}}function e3(e){return eP({onClick:e.onFileClick,shouldHandleClick:e2,externalLinkOptions:{onClick:e.onExternalLinkClick,showIcon:e.showExternalLinkIcon??!1,iconComponent:_.AXG}})}function e4(e={}){return(0,eA.gZ)({onClick:e.onClick,onOpenPanel:e.onOpenPanel,fetchMeta:e.fetchFeishuDocMeta})}function e5(e={}){return eJ({references:e.references,onClick:e.onClick,onFaviconError:e.onFaviconError})}},16166(e,t,i){i.d(t,{w:()=>u});var r=i(97282),s=i(51649),n=i(78576),a=i(70325),o=i(76136),l=i(25188),c=i(28304),d=i(94162);let u=(0,s.memo)(function(){let e=(0,l.Hr)(),t=(0,c.hE)(e=>e.agentMessage),i=(0,c.hE)(e=>e.userMessage),a=t?.turnId,o=(0,s.useMemo)(()=>(0,d.d)(i),[i]),u=(0,s.useCallback)(()=>{e&&a&&e.openAllDiffs({turnId:a,taskName:o})},[e,a,o]);return(0,r.jsx)(n.lT,{onOpenDiff:u})}),h={identifier:{domain:a.M.AgentMessage,name:"action-bar"},displayName:"Widget Action Bar",description:"Action bar widget for agent message",component:u};(0,o.MD)([h])},9724(e,t,i){i.d(t,{Oo:()=>M,_8:()=>A});var r=i(97282),s=i(51649),n=i(70325),a=i(76136),o=i(23147),l=i(545),c=i(20848),d=i(14687),u=i(58410),h=i(41748),p=i(25188),m=i(88539),f=i(28304),g=i(48671);let _=e=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16",...e,children:[(0,r.jsx)("path",{stroke:"url(#icon-gift_svg__a)",strokeWidth:1.2,d:"M3.333 8h-.667V5.333h10.667V8h-.667M3.333 8v5.333h9.333V8M3.333 8h9.333M8 5.333v-1.11m0 1.11H6.889a2.22 2.22 0 0 1-2.222-2.222c0-.614.497-1.111 1.11-1.111C7.006 2 8 2.995 8 4.222m0 1.111H9.11a2.22 2.22 0 0 0 2.222-2.222c0-.614-.497-1.111-1.11-1.111A2.22 2.22 0 0 0 8 4.222m0 1.111v8"}),(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:"icon-gift_svg__a",x1:2.667,x2:13.333,y1:7.667,y2:7.667,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#0AC27B"}),(0,r.jsx)("stop",{offset:.36,stopColor:"#0ECD70"}),(0,r.jsx)("stop",{offset:.72,stopColor:"#06C179"}),(0,r.jsx)("stop",{offset:1,stopColor:"#63C5B1"})]})})]});var y=i(76933);let v="fission_activity_shown";function b(){let e=(0,m.Fy)(e=>e.sessionId),t=(0,f.hE)(e=>e.messageId),i=(0,f.hE)(e=>e.isCompleted),r=h.Zz.currentUser.use()?.userId,n=h.Zz.payStatus.use(),a=n?.enable_fission??!1,o=(0,g.h1)(d.BG.SessionStore).thirdCompletedAgentMessageId.use(e),[l,c]=(0,s.useState)(!1),[u,p]=(0,s.useState)(!1),[_,y]=(0,s.useState)(void 0),b=(0,s.useMemo)(()=>!!t&&!!i&&!!o&&o===t,[t,i,o]);(0,s.useEffect)(()=>{(async()=>{if(!r)return c(!0);try{let t=d.XT.resolve(d.FU.Storage),i=await t.getByUserId(v);y(i),i?.hasClosed||i?.sessionId&&i.sessionId!==e?p(!1):p(!0)}catch{p(!0)}finally{c(!0)}})()},[r,e]);let S=(0,s.useMemo)(()=>!(!l||!a||!b||!u||_?.hasClosed||_?.sessionId&&_.sessionId!==e),[l,a,b,u,_,e]),k=(0,s.useCallback)(async()=>{if(r)try{let t=d.XT.resolve(d.FU.Storage);await t.setByUserId(v,{sessionId:e,hasClosed:!1})}catch{}},[r,e]),x=(0,s.useCallback)(async()=>{if(r){p(!1);try{let t=d.XT.resolve(d.FU.Storage);await t.setByUserId(v,{sessionId:e,hasClosed:!0})}catch{}}},[r,e]);return(0,s.useEffect)(()=>{S&&!_?.sessionId&&k()},[S,_?.sessionId,k]),{shouldShow:S,markAsClosed:x}}let S=(0,s.memo)(function(){let e=(0,p.s9)(),{shouldShow:t,markAsClosed:i}=b(),n=(0,p.Hr)(),a=(0,s.useCallback)(()=>{n?.openUrl({url:(0,u.AD)()})},[n]),o=(0,s.useCallback)(()=>{i()},[i]);return t?(0,r.jsxs)("div",{className:"fissionActivityCard",children:[(0,r.jsxs)("div",{className:"fissionActivityCardBody",children:[(0,r.jsx)("div",{className:"fissionActivityCardIcon",children:(0,r.jsx)(_,{})}),(0,r.jsxs)("div",{className:"fissionActivityCardContent",children:[(0,r.jsxs)("div",{className:"fissionActivityCardHeader",children:[(0,r.jsx)("p",{className:"fissionActivityCardTitle",children:e.localize("trae-chat-core.fission.activity.title",{},"Unlock TRAE Work for Friends")}),(0,r.jsx)("button",{type:"button",className:"fissionActivityCardClose",onClick:o,"aria-label":"Close",children:(0,r.jsx)(y.fc0,{})})]}),(0,r.jsx)("p",{className:"fissionActivityCardDescription",children:e.localize("trae-chat-core.fission.activity.description",{},"Share your invite code and invite friends to SOLO together")})]})]}),(0,r.jsx)("div",{className:"fissionActivityCardActions",children:(0,r.jsx)(c.A,{type:"secondary",size:"small",onClick:a,children:e.localize("trae-chat-core.fission.activity.invite_button",{},"Invite now")})})]}):null});var k=i(8757),x=i(86164);let C="download_desktop_card_shown";function w(){let e=(0,m.Fy)(e=>e.sessionId),t=(0,f.hE)(e=>e.messageId),i=(0,f.hE)(e=>e.isCompleted),r=h.Zz.currentUser.use()?.userId,n=h.vN.isInternal.use(),a=(0,g.h1)(d.BG.SessionStore),o=(0,k.Cw)(e=>e.downloadDesktop?.showAfterNthTurn),l=a.nthCompletedAgentMessageId.use(e,o??4),c=(0,s.useMemo)(()=>{try{return d.XT.resolve(d.FU.Download),!0}catch{return!1}},[]),[u,p]=(0,s.useState)(!1),[_,y]=(0,s.useState)(!1),[v,b]=(0,s.useState)(void 0),S=(0,s.useMemo)(()=>!!t&&!!i&&!!l&&l===t,[t,i,l]);(0,s.useEffect)(()=>{(async()=>{if(!r)return p(!0);try{let t=d.XT.resolve(d.FU.Storage),i=await t.getByUserId(C);b(i),i?.hasClosed||i?.sessionId&&i.sessionId!==e?y(!1):y(!0)}catch{y(!0)}finally{p(!0)}})()},[r,e]);let w=(0,s.useMemo)(()=>!((0,x.ww)()||!u||!c||n||!S||!_||v?.hasClosed||v?.sessionId&&v.sessionId!==e),[u,c,n,S,_,v,e]),E=(0,s.useCallback)(async()=>{if(r)try{let t=d.XT.resolve(d.FU.Storage);await t.setByUserId(C,{sessionId:e,hasClosed:!1})}catch{}},[r,e]),T=(0,s.useCallback)(async()=>{if(r){y(!1);try{let t=d.XT.resolve(d.FU.Storage);await t.setByUserId(C,{sessionId:e,hasClosed:!0})}catch{}}},[r,e]);return(0,s.useEffect)(()=>{w&&!v?.sessionId&&E()},[w,v?.sessionId,E]),{shouldShow:w,markAsClosed:T}}let E=(0,s.memo)(function(){let e=(0,p.s9)(),t=(0,p.y5)(),i=h.vN.isCN.use(),{shouldShow:n,markAsClosed:a}=w(),o=(0,s.useRef)(!1);(0,s.useEffect)(()=>{n&&!o.current&&(o.current=!0,t.report("solo_download_desktop_show",{position:"chat_flow"}))},[n,t]);let l=(0,s.useCallback)(()=>{try{d.XT.resolve(d.FU.Download).downloadDesktop("chat_flow")}catch{}},[]),u=(0,s.useCallback)(()=>{a()},[a]);return n?(0,r.jsxs)("div",{className:"downloadDesktopCard",children:[(0,r.jsxs)("div",{className:"downloadDesktopCardBody",children:[(0,r.jsx)("div",{className:"downloadDesktopCardIcon",children:(0,r.jsx)(_,{})}),(0,r.jsxs)("div",{className:"downloadDesktopCardContent",children:[(0,r.jsxs)("div",{className:"downloadDesktopCardHeader",children:[(0,r.jsx)("p",{className:"downloadDesktopCardTitle",children:e.localize(i?"trae-chat-core.download.desktop.cn.title":"trae-chat-core.download.desktop.i18n.title",{},"Explore TRAE Work on Desktop")}),(0,r.jsx)("button",{type:"button",className:"downloadDesktopCardClose",onClick:u,"aria-label":"Close",children:(0,r.jsx)(y.fc0,{})})]}),(0,r.jsx)("p",{className:"downloadDesktopCardDescription",children:e.localize(i?"trae-chat-core.download.desktop.cn.desc":"trae-chat-core.download.desktop.i18n.desc",{},"Supporting both local and cloud tasks with powerful performance and richer interactivity, ensuring a smoother overall experience.")})]})]}),(0,r.jsx)("div",{className:"downloadDesktopCardActions",children:(0,r.jsx)(c.A,{type:"secondary",size:"small",onClick:l,children:e.localize("solo-web.common.getDesktop",{},"Get Desktop")})})]}):null});var T=i(74134),I=i(66496);function R(){let e=(0,f.hE)(e=>e.userMessage),t=(0,f.hE)(e=>e.planItemIds),i=(0,f.hE)(e=>e.isCompleted),r=(0,g.h1)(T.B.AgentPlanItemStore),n=(0,s.useMemo)(()=>(0,I.ml)(e?.query),[e?.query]),a=r.agentPlanItemsByIds.use(t),o=(0,s.useMemo)(()=>a.some(e=>e?.toolCallInfo?.name==="CompactFake"),[a]);return{showCompactAfter:i&&n&&o}}function N(){let e=(0,p.s9)();return(0,r.jsx)("div",{className:"agentAfterPlans",children:(0,r.jsx)("p",{className:"agentAfterPlansText",children:e.localize("trae-chat-core.compact.compactionComplete",{},"The compaction of the conversation history is complete.")})})}let A=(0,s.memo)(function(){let{showCompactAfter:e}=R();return e?(0,r.jsx)(N,{}):null}),M=(0,s.memo)(function(){let e=(0,f.hE)(e=>e.isError),{showCompactAfter:t}=R();return e?(0,r.jsx)(l.J,{}):t?(0,r.jsx)(N,{}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(S,{}),(0,r.jsx)(E,{}),(0,r.jsx)(o.F,{reason:"after-plans"})]})}),P={identifier:{domain:n.M.AgentMessage,name:"after-plans"},displayName:"Agent After Plans",description:"Content after plan items (includes error and notification)",component:M};(0,a.MD)([P])},81113(e,t,i){i.d(t,{O:()=>f});var r=i(97282),s=i(51649),n=i(70325),a=i(76136),o=i(28304),l=i(88539),c=i(3925),d=i(75117),u=i(48671),h=i(74134),p=i(79297),m=i(96382);let f=(0,s.memo)(function(){let e=(0,o.hE)(e=>e.agentMessage),t=(0,d.OP)(),i=(0,l.Fy)(e=>e.sessionId),n=(0,l.Fy)(e=>e.session),a=(0,u.h1)(h.B.SessionStore),f=n?.worktreeData?.worktreeStatus,g=(0,s.useMemo)(()=>{let r=e?.userMessageContext?.message_divider;if(r&&(0,d.hI)(r))return t(r);if(e?.isWorktree&&f===p.St.Deleted){let r=a.sessionAgentMessages.get(i).filter(e=>(0,m.z5)(e)&&e.isWorktree),s=r[r.length-1];if(s&&s.messageId===e.messageId)return t(d.JQ.WorktreeDeleted)}if(e?.mergedCommit){let r=a.sessionAgentMessages.get(i);if(r){let t=r.findIndex(t=>t?.messageId===e.messageId);if(t>=0&&tT});var r=i(97282),s=i(51649),n=i(19164),a=i(19755),o=i(49696),l=i(70325),c=i(76136),d=i(28304),u=i(41748),h=i(11801),p=i(44368),m=i(74134),f=i(48671),g=i(34274),_=i(63379),y=i(94609),v=i(18918),b=i(37795);function S(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function k(e){return S(e?.ppe_env_name)??S(e?.ppeEnvName)}function x(e){let t=e?.model_info;if(!t||"object"!=typeof t)return;let i=t;return S(i.display_model_name)??S(i.display_name)??S(i.name)??S(i.config_name)}function C(e,t){return x(e?.userMessageContext)??x(t?.userMessageContext)??S(e?.modelSmartSelectionMeta?.config_name)}function w(e,t){return k(e?.userMessageContext)??k(t?.userMessageContext)}function E({agentMessage:e,userMessage:t,ppeEnvName:i,isStable:r=!1,isMarketPackage:s=!1}){if(r||s)return[];let n=S(e?.modelSmartSelectionMeta?.mode),a=C(e,t),o=w(e,t)??S(i);return"max"===n?["max",o].filter(Boolean):"auto"===n?["auto",a,o].filter(Boolean):[a,o].filter(Boolean)}let T=(0,s.memo)(function(){let e=(0,g.s)(),t=(0,b.c)(),i=(0,d.hE)(e=>e.agentMessage),l=(0,d.hE)(e=>e.userMessage),c=i?.sessionId??"",S=u.eA.sessionWithRelationsById.use(c),k=(0,f.h1)(m.B.EnvStore),x=(0,f.$Q)(m.B.MessageStore),C=(0,f.$Q)(m.F.Clipboard),w=k.isCN.use(),T=k.isStable.use(),I=k.isMarketPackage.use(),R=k.ppeEnvName.use(),N=u.Zz.payStatus.use(),A=i?.messageId??"",M=!!i?.fastRequestSavings,P=i?.notifications?.some(e=>e.notification_type===p._n.Queue&&e.fast_request_event?.type===p.kr.AlreadyUsing),j=x?.expressActivated.use(A),L=w&&(M||P||j),D=(0,s.useCallback)(()=>{if(t||!i)return;let r=(0,_.Z0)({agentMessage:i,sessionId:c});"function"==typeof C?.copyText?C.copyText(r,{message:e.localize("trae-chat-core.common.copySuccess",{},"Copy Success"),type:"success",duration:2e3}):navigator.clipboard.writeText(r).then(()=>{n.oR.success(e.localize("trae-chat-core.common.copySuccess",{},"Copy Success"))},()=>{})},[t,e,i,c,C]),O=(0,s.useMemo)(()=>(0,y.ns)(S?.mode),[S?.mode]),F=i?.agentType==="voice_summary",U=F?O.type:i?.agentType||O.type,V="";V=F?O.name:S?.sessionType==="assistant_sub_chat"?S?.name||O.name:i?.agentName||O.name;let B=(0,v.D)(i?.agentType??"",V,S?.mode),z=S?.sessionType==="assistant_chat",W=i?.agentId??S?.selectedAgentId??(z?"assistant":void 0),H=u.hD.agentById.use(W??""),G=H?.agent_id??H?.id??W,Z=H?.icon_type??(z?"assistant":void 0),K="assistant"===Z||"assistant"===G||"solo_team"===G,X=K?20:18,Y=(0,s.useMemo)(()=>E({agentMessage:i,userMessage:l,ppeEnvName:R,isStable:T,isMarketPackage:I}),[i,l,R,T,I]).join(" "),J=(0,f.$Q)(m.F.AgentAvatar),[$,q]=(0,s.useState)(void 0);return(0,s.useEffect)(()=>{let e=i?.agentAvatarId;e?e.startsWith("http")||e.startsWith("data:")?q(e):J&&J.resolveAvatarUrl(e).then(e=>{e&&q(e)}):q(void 0)},[i?.agentAvatarId,J]),(0,r.jsxs)("div",{className:"agent-message__header",onDoubleClick:D,children:[(0,r.jsx)(h.l,{agentItem:{type:U,name:V,avatar_url:K?void 0:H?.avatar_url??$,agent_id:G,icon_type:Z},size:X}),(0,r.jsx)("span",{className:"agent-message__title",children:B}),Y&&(0,r.jsx)("span",{className:"agent-message__metadata",children:Y}),L&&(0,r.jsx)(a.A,{content:e.localize("trea-chat-core.chat.use_fast_request",{},"Express Pass Active: Priority channel enabled for this chat."),side:"top",sideOffset:4,maxWidth:240,align:"left",children:(0,r.jsx)(o.A,{identity:N?.user_pay_identity||1,variant:"outline",size:14,showBackground:!1})})]})}),I={identifier:{domain:l.M.AgentMessage,name:"assistant-avatar"},displayName:"Assistant Avatar",description:"Avatar for assistant message",component:T};(0,c.MD)([I])},87930(e,t,i){i.d(t,{Z:()=>g});var r=i(97282),s=i(51649),n=i(57215),a=i(70325),o=i(76136),l=i(25188),c=i(28304),d=i(48671),u=i(74134),h=i(66496),p=i(44368);function m(){let e=(0,c.hE)(e=>e.userMessage),t=(0,c.hE)(e=>e.planItemIds),i=(0,d.h1)(u.B.AgentPlanItemStore),r=(0,s.useMemo)(()=>(0,h.ml)(e?.query),[e?.query]),n=i.agentPlanItemsByIds.use(t),a=(0,s.useMemo)(()=>n.some(e=>e?.toolCallInfo?.name==="CompactFake"),[n]);return{showCompactBefore:r&&a}}let f=(0,s.memo)(function(){let{localize:e}=(0,l.s9)(),[t,i]=(0,s.useState)(!1),a=(0,c.hE)(e=>e.agentMessage?.notifications),o=(0,s.useMemo)(()=>a?.find(e=>e.notification_type===p._n.ContentFilterWarning),[a]);if(!o||t)return null;let d=o.execute_point===p.iA.Post?e("trae-chat-core.notification.content_filter_warning.banner.post",{},"According to enterprise security policy, output content has been desensitized."):e("trae-chat-core.notification.content_filter_warning.banner.pre",{},"According to enterprise security policy, request content has been desensitized.");return(0,r.jsx)("div",{style:{width:"100%",marginBottom:8},children:(0,r.jsx)(n.A,{type:"info",message:d,closable:!0,onClose:()=>i(!0)})})}),g=(0,s.memo)(function(){let e=(0,l.s9)(),{showCompactBefore:t}=m();return t?(0,r.jsx)("div",{className:"agentBeforePlans",children:(0,r.jsx)("p",{className:"agentBeforePlansText",children:e.localize("trae-chat-core.compact.startCompacting",{},"I will start compacting the history of our conversation.")})}):(0,r.jsx)(f,{})}),_={identifier:{domain:a.M.AgentMessage,name:"before-plans"},displayName:"Agent Before Plans",description:"Content before plan items",component:g};(0,o.MD)([_])},40225(e,t,i){i.d(t,{L2:()=>F});var r=i(97282),s=i(51649),n=i(20848),a=i(87567),o=i(2552),l=i(79297),c=i(86164),d=i(41748),u=i(14687),h=i(27872),p=i(11831),m=i(52716),f=i(48671),g=i(25188),_=i(28304),y=i(88539);let v=i.p+"e6bc19399b9586af.png",b=i.p+"1d3de97a0428090d.png",S=e=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:218,height:115,fill:"none",viewBox:"0 0 218 115",...e,children:[(0,r.jsx)("rect",{width:216.346,height:139.149,x:.425,y:.425,stroke:"url(#configure-models-web-illustration-dark_svg__a)",strokeWidth:.85,rx:4.808}),(0,r.jsx)("foreignObject",{width:222.43,height:132.803,x:-2.617,y:9.813,children:(0,r.jsx)("div",{xmlns:"http://www.w3.org/1999/xhtml",style:{backdropFilter:"blur(1.31px)",clipPath:"url(#configure-models-web-illustration-dark_svg__b)",height:"100%",width:"100%"}})}),(0,r.jsxs)("g",{"data-figma-bg-blur-radius":2.617,children:[(0,r.jsx)("path",{fill:"url(#configure-models-web-illustration-dark_svg__c)",d:"M0 12.43h217.196v122.336a5.234 5.234 0 0 1-5.234 5.234H5.234A5.234 5.234 0 0 1 0 134.766z"}),(0,r.jsx)("path",{stroke:"url(#configure-models-web-illustration-dark_svg__d)",strokeOpacity:.8,strokeWidth:.85,d:"M216.771 12.855v121.911a4.81 4.81 0 0 1-4.809 4.809H5.233a4.81 4.81 0 0 1-4.808-4.809V12.855z"})]}),(0,r.jsx)("circle",{cx:7.522,cy:6.869,r:1.21,stroke:"#b5b9c8",strokeWidth:.85}),(0,r.jsx)("circle",{cx:13.41,cy:6.869,r:1.21,stroke:"#b5b9c8",strokeWidth:.85}),(0,r.jsx)("circle",{cx:19.298,cy:6.869,r:1.21,stroke:"#b5b9c8",strokeWidth:.85}),(0,r.jsxs)("defs",{children:[(0,r.jsxs)("linearGradient",{id:"configure-models-web-illustration-dark_svg__a",x1:108.598,x2:108.598,y1:0,y2:140,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#9599a6"}),(0,r.jsx)("stop",{offset:1,stopColor:"#9599a6",stopOpacity:.9})]}),(0,r.jsxs)("linearGradient",{id:"configure-models-web-illustration-dark_svg__c",x1:108.598,x2:108.598,y1:12.43,y2:140,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#34373b"}),(0,r.jsx)("stop",{offset:1,stopColor:"#34373b",stopOpacity:0})]}),(0,r.jsxs)("linearGradient",{id:"configure-models-web-illustration-dark_svg__d",x1:108.598,x2:108.598,y1:12.43,y2:140,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#9599a6"}),(0,r.jsx)("stop",{offset:1,stopColor:"#9599a6",stopOpacity:.5})]}),(0,r.jsx)("clipPath",{id:"configure-models-web-illustration-dark_svg__b",transform:"translate(2.617 -9.813)",children:(0,r.jsx)("path",{d:"M0 12.43h217.196v122.336a5.234 5.234 0 0 1-5.234 5.234H5.234A5.234 5.234 0 0 1 0 134.766z"})})]})]}),k=e=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:218,height:115,fill:"none",viewBox:"0 0 218 115",...e,children:[(0,r.jsx)("rect",{width:216.346,height:139.149,x:.425,y:.425,stroke:"url(#configure-models-web-illustration-light_svg__a)",strokeWidth:.85,rx:4.808}),(0,r.jsx)("foreignObject",{width:222.43,height:132.803,x:-2.617,y:9.813,children:(0,r.jsx)("div",{xmlns:"http://www.w3.org/1999/xhtml",style:{backdropFilter:"blur(1.31px)",clipPath:"url(#configure-models-web-illustration-light_svg__b)",height:"100%",width:"100%"}})}),(0,r.jsxs)("g",{"data-figma-bg-blur-radius":2.617,children:[(0,r.jsx)("path",{fill:"url(#configure-models-web-illustration-light_svg__c)",d:"M0 12.43h217.196v122.336a5.234 5.234 0 0 1-5.234 5.234H5.234A5.234 5.234 0 0 1 0 134.766z"}),(0,r.jsx)("path",{stroke:"url(#configure-models-web-illustration-light_svg__d)",strokeOpacity:.8,strokeWidth:.85,d:"M216.771 12.855v121.911a4.81 4.81 0 0 1-4.809 4.809H5.233a4.81 4.81 0 0 1-4.808-4.809V12.855z"})]}),(0,r.jsx)("circle",{cx:7.522,cy:6.869,r:1.21,stroke:"#b5b9c8",strokeWidth:.85}),(0,r.jsx)("circle",{cx:13.41,cy:6.869,r:1.21,stroke:"#b5b9c8",strokeWidth:.85}),(0,r.jsx)("circle",{cx:19.298,cy:6.869,r:1.21,stroke:"#b5b9c8",strokeWidth:.85}),(0,r.jsxs)("defs",{children:[(0,r.jsxs)("linearGradient",{id:"configure-models-web-illustration-light_svg__a",x1:108.598,x2:108.598,y1:0,y2:140,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#9599a6"}),(0,r.jsx)("stop",{offset:1,stopColor:"#9599a6",stopOpacity:.9})]}),(0,r.jsxs)("linearGradient",{id:"configure-models-web-illustration-light_svg__c",x1:108.598,x2:108.598,y1:12.43,y2:140,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#e6e8ec"}),(0,r.jsx)("stop",{offset:1,stopColor:"#f0f2f6"})]}),(0,r.jsxs)("linearGradient",{id:"configure-models-web-illustration-light_svg__d",x1:108.598,x2:108.598,y1:12.43,y2:140,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#9599a6"}),(0,r.jsx)("stop",{offset:1,stopColor:"#9599a6",stopOpacity:.5})]}),(0,r.jsx)("clipPath",{id:"configure-models-web-illustration-light_svg__b",transform:"translate(2.617 -9.813)",children:(0,r.jsx)("path",{d:"M0 12.43h217.196v122.336a5.234 5.234 0 0 1-5.234 5.234H5.234A5.234 5.234 0 0 1 0 134.766z"})})]})]});var x=i(76933);let C="configure_models_card_has_shown";function w(e){return window?.vscode?.process?.env?.[e]}let E="1"===w("CMC_SHOW_DEBUG_INFO"),T="1"===w("CMC_SKIP_ALL_CHECK"),I="1"===w("CMC_SKIP_HAS_SHOWN_CHECK"),R="1"===w("CMC_SKIP_PAY_CHECK");function N(){let[e,t]=(0,s.useState)(!1),[i,r]=(0,s.useState)(!1),n=d.Zz.currentUser.use();return(0,s.useEffect)(()=>{(async()=>{try{let e=u.XT.resolve(u.FU.Storage),t=await e.getByUserId(C);r(!0===t)}catch{r(!1)}finally{t(!0)}})()},[n?.userId]),e&&!i}function A(){let e=(0,f.h1)(u.BG.EnvStore).isCN.use(),t=d.Zz.payStatus.use();return!!e||(0,s.useMemo)(()=>t?.user_pay_identity===0||t?.trial_status?.is_eligible_for_trial===!0||t?.trial_status?.is_in_trial===!0,[t?.user_pay_identity,t?.trial_status?.is_eligible_for_trial,t?.trial_status?.is_in_trial])}function M(e){return e===a.C3.Completed||e===a.C3.Canceled||e===a.C3.Failed}function P(){let e=(0,y.Fy)(e=>e.sessionId),t=(0,_.hE)(e=>e.messageId),i=(0,f.h1)(u.BG.SessionStore).sessionAgentMessages.use(e),r=(0,_.hE)(e=>e.messageId&&!e.isHistory&&e.isLatestMessage&&M(e.status));return(0,s.useMemo)(()=>{if(!r)return!1;for(let e of i)if(M(e.status))return e.messageId===t;return!1},[r,i,t])}function j(){let e=(0,f.h1)(u.BG.ModelStore).allModels.use(),t=(0,s.useMemo)(()=>e.length>0,[e]),i=(0,s.useMemo)(()=>e.some(e=>e.config_source===o.Lf.Personal),[e]);return!!t&&!i}function L(){let e=(0,_.hE)(e=>e.messageId),t=(0,y.Fy)(e=>e.session?.env),i=N(),r=A(),s=j(),n=P();return E&&h.logger.log("[useShouldShowConfigureModelsCard]",e,{skipAllCheck:T,skipHasShownCheck:I,skipPayCheck:R,sessionEnv:t,passHasShownGate:i,passPayStatusGate:r,passCustomModelGate:s,passFirstStoppedMessageGate:n}),!!T||(!!I||!!i)&&(!!R||!!r)&&!!s&&!!n}function D(){let e=L(),[t,i]=(0,s.useState)(!1),r=(0,s.useMemo)(()=>e&&!t,[e,t]),n=(0,s.useCallback)(async()=>{try{let e=u.XT.resolve(u.FU.Storage);await e.setByUserId(C,!0)}catch{}},[]),a=(0,s.useCallback)(async()=>{i(!0),await n()},[n]);return(0,s.useEffect)(()=>{r&&n()},[r,n]),{shouldShow:r,markAsClosed:a}}let O=(0,s.memo)(function(){let e=(0,g.s9)(),t=(0,g.y5)(),{getCommonParams:i}=(0,g.X$)({}),a=(0,f.$Q)(u.FU.ModelSelect),{shouldShow:o,markAsClosed:l}=D(),c=(0,m.xC)(e=>e.showCustomModelHint),d=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(o&&!d.current){d.current=!0;let e=i();t.report(p.qu.AiGuideBannerShow,{...e})}},[o,t,i]);let h=(0,s.useCallback)(async()=>{let e=i();t.report(p.qu.AiGuideBannerClick,{...e,action:"config_model_click"});let r=await a?.openAddCustomModelDialogNew?.();(r?.configuredProviders?.length??0)>0&&(await l(),c(m.e3.CanSwitchCustomModel))},[a,l,t,i,c]),_=(0,s.useCallback)(()=>{let e=i();t.report(p.qu.AiGuideBannerClick,{...e,action:"close_click"}),l()},[l,t,i]);return o?(0,r.jsxs)("div",{className:"configureModelsCard",children:[(0,r.jsxs)("div",{className:"content",children:[(0,r.jsx)("p",{className:"title",children:e.localize("trae-chat-core.configure_models.title",{},"SOLO Supports Integrating Your Own AI Models")}),(0,r.jsx)("p",{className:"description",children:e.localize("trae-chat-core.configure_models.description",{},"In addition to SOLO's built-in models, you can integrate your own AI models via API Key / Coding Plan and other methods.")}),(0,r.jsx)("div",{className:"actions",children:(0,r.jsxs)(n.A,{className:"configureButton",onClick:h,children:[(0,r.jsx)("span",{children:e.localize("trae-chat-core.configure_models.connect_other_ai_services_button",{},"Integrate Your Own AI Model")}),(0,r.jsxs)("span",{className:"modelBadges","aria-hidden":!0,children:[(0,r.jsx)("span",{className:"modelBadge",children:(0,r.jsx)(x.aBz,{})}),(0,r.jsx)("span",{className:"modelBadge",children:(0,r.jsx)(x.irr,{})}),(0,r.jsx)("span",{className:"modelBadge",children:(0,r.jsx)(x.p1L,{})}),(0,r.jsx)("span",{className:"modelBadge modelBadgeMore",children:(0,r.jsx)(x.PyP,{})})]})]})})]}),(0,r.jsxs)("div",{className:"web-illustration","aria-hidden":!0,children:[(0,r.jsx)(k,{className:"light-illustration"}),(0,r.jsx)(S,{className:"dark-illustration"})]}),(0,r.jsxs)("div",{className:"trae-bot-illustration","aria-hidden":!0,children:[(0,r.jsx)("img",{className:"light-illustration",src:b,alt:""}),(0,r.jsx)("img",{className:"dark-illustration",src:v,alt:""})]}),(0,r.jsx)("div",{className:"close-btn",onClick:_,children:(0,r.jsx)(x.gzW,{})})]}):null}),F=()=>{let e=(0,y.Fy)(e=>e.session?.env),t=(0,f.h1)(u.BG.ModelStore).disableCustomModel.use();return!(0,c.B_)()||e===l.nN.Remote||t?null:(0,r.jsx)(O,{})}},23147(e,t,i){i.d(t,{F:()=>a});var r=i(97282),s=i(51649);let n={height:0,overflow:"hidden"},a=(0,s.memo)(function({reason:e}){return(0,r.jsx)("div",{"data-virtual-item-empty":e||"true",style:n})})},34526(e,t,i){i.d(t,{LM:()=>I.L,Jr:()=>X.J,_8:()=>F._8}),i(23147),i(5740);var r=i(97282),s=i(51649),n=i(28304),a=i(96382),o=i(25188),l=i(70325),c=i(76136),d=i(52499),u=i(92046),h=i(74134),p=i(76933);let m=(0,s.memo)(function({title:e,defaultExpanded:t=!1,children:i}){let[n,a]=(0,s.useState)(t),o=(0,s.useCallback)(()=>{a(e=>!e)},[]),l=["core-collapsible-tag__icon",!n&&"core-collapsible-tag__icon--collapsed"].filter(Boolean).join(" ");return(0,r.jsxs)("div",{className:"core-collapsible-tag",children:[(0,r.jsxs)("button",{type:"button",className:"core-collapsible-tag__trigger",onClick:o,children:[(0,r.jsx)("span",{className:l,children:(0,r.jsx)(p.Y7q,{})}),(0,r.jsx)("span",{className:"core-collapsible-tag__text",children:e})]}),n&&(0,r.jsx)("div",{className:"core-collapsible-tag__content",children:i})]})});var f=i(95409),g=i(23845);let _=(0,s.memo)(function({size:e=18,className:t}){return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,r.jsx)("g",{clipPath:"url(#clip0_icon_context)",children:(0,r.jsx)("path",{d:"M7.91732 13.3334L10.084 4.66675M12.2507 6.83344L14.4173 9.0001L12.2507 11.1668M5.75065 11.1668L3.58398 9.0001L5.75065 6.83344",stroke:"currentColor",strokeWidth:"0.975",strokeLinecap:"square"})}),(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"clip0_icon_context",children:(0,r.jsx)("rect",{width:"13",height:"13",fill:"white",transform:"translate(2.5 2.5)"})})})]})}),y=(0,s.memo)(function({size:e=14,className:t,color:i}){let s=i||"var(--accent-accent-violet)";return(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,style:{color:s},children:[(0,r.jsx)("path",{d:"M1.5 6V2.5H10.5V4.25M1.5 6V9.5H5.75881M1.5 6H5.75881",stroke:"currentColor",strokeWidth:"0.9",strokeLinecap:"square"}),(0,r.jsx)("path",{d:"M3.5 4.25C3.5 4.38807 3.38807 4.5 3.25 4.5C3.11193 4.5 3 4.38807 3 4.25C3 4.11193 3.11193 4 3.25 4C3.38807 4 3.5 4.11193 3.5 4.25Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M3.5 7.75C3.5 7.88807 3.38807 8 3.25 8C3.11193 8 3 7.88807 3 7.75C3 7.61193 3.11193 7.5 3.25 7.5C3.38807 7.5 3.5 7.61193 3.5 7.75Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M3.5 4.25C3.5 4.38807 3.38807 4.5 3.25 4.5C3.11193 4.5 3 4.38807 3 4.25C3 4.11193 3.11193 4 3.25 4C3.38807 4 3.5 4.11193 3.5 4.25Z",stroke:"currentColor",strokeWidth:"0.9"}),(0,r.jsx)("path",{d:"M3.5 7.75C3.5 7.88807 3.38807 8 3.25 8C3.11193 8 3 7.88807 3 7.75C3 7.61193 3.11193 7.5 3.25 7.5C3.38807 7.5 3.5 7.61193 3.5 7.75Z",stroke:"currentColor",strokeWidth:"0.9"}),(0,r.jsx)("path",{d:"M7.61328 9.50024H9.33918M7.61328 6H10.4984M7.61328 7.74976H10.4984",stroke:"currentColor",strokeWidth:"0.9",strokeLinecap:"square"})]})});var v=i(80408);function b(e){try{let t=e.replace(/^file:\/\//,"").split("/");return t[t.length-1]||e}catch{return e}}function S(e){if(e.reference_type===a.ss.Workspace)return"Workspace";if(e.reference_type===a.ss.Terminal)return e.terminal_id||"Terminal";if(!e.uri)return"Unknown";let t=b(e.uri);if(e.reference_type===a.ss.Function||e.reference_type===a.ss.Class){let i=e.editor_start_line??e.start_line,r=e.editor_end_line??e.end_line;if(void 0!==i&&void 0!==r&&i>=0&&r>=0)return`${t}:${i}-${r}`}return t}function k(e){let t={width:14,height:14};switch(e.reference_type){case a.ss.Workspace:return(0,r.jsx)(p.ARK,{style:t});case a.ss.Terminal:return(0,r.jsx)(p.yWD,{style:t});case a.ss.Function:return(0,r.jsx)(g.Am,{type:"type.function",size:"small"});case a.ss.Class:return(0,r.jsx)(g.Am,{type:"type.class",size:"small"});case a.ss.File:case a.ss.AllFile:case a.ss.Rule:default:return(0,r.jsx)(g.Am,{filePath:e.uri,size:"small"})}}function x(e){switch(e){case a.ss.Workspace:return"workspace";case a.ss.Terminal:return"terminal";case a.ss.Function:return"code-function";case a.ss.Class:return"code-class";default:return"file"}}let C=(0,s.memo)(function({references:e,workspaceRenderMode:t="core",WorkspaceReferenceItemSlot:i,onFileClick:n,onTerminalClick:o}){let l=(0,s.useCallback)(e=>{if(e.reference_type===a.ss.Workspace)return;let t=e.editor_start_line??e.start_line,i=e.editor_end_line??e.end_line;e.reference_type===a.ss.Terminal&&e.terminal_id?o?.(e.terminal_id,t,i):e.uri&&n?.(e.uri,t,i,e.reference_type)},[n,o]),c=(0,s.useMemo)(()=>(e||[]).map((e,s)=>{let n=e.reference_type===a.ss.Workspace,o={key:`${e.reference_type||"unknown"}-${e.uri||e.terminal_id||"unknown"}-${s}`,displayName:S(e),icon:k(e),variant:x(e.reference_type),onClick:n?void 0:()=>l(e)};return n&&"host-item-slot"===t&&i?{...o,customRender:t=>(0,r.jsx)(i,{reference:e,defaultNode:t})}:{...o}}),[e,l,t,i]);return(0,r.jsx)(v.n,{sectionIcon:(0,r.jsx)(_,{size:18}),items:c})});function w(e){try{let t=e.replace(/^file:\/\//,"").split("/");return t[t.length-1]||e}catch{return e}}let E=(0,s.memo)(function({ruleReferences:e,docReferences:t,docsetReferences:i,onFileClick:n,onDocClick:a}){let o=(0,s.useCallback)(e=>{n?.(e)},[n]),l=(0,s.useCallback)((e,t)=>{a?a(e,t):"http"===t&&window.open(e,"_blank","noopener,noreferrer")},[a]),c=(0,s.useMemo)(()=>{let s=(e||[]).filter(e=>e.uri).map((e,t)=>({key:`rule-${e.uri}-${t}`,displayName:w(e.uri),icon:(0,r.jsx)(y,{size:14}),variant:"file",onClick:()=>o(e.uri)})),n=(t||[]).filter(e=>e.link&&e.title).map((e,t)=>({key:`doc-${e.link}-${t}`,displayName:e.title,icon:(0,r.jsx)(y,{size:14}),variant:"file",onClick:()=>l(e.link,e.type)}));return[...s,...(i||[]).filter(e=>e.name).map((e,t)=>({key:`docset-${e.name}-${t}`,displayName:e.name,icon:(0,r.jsx)(y,{size:14}),variant:"file"})),...n]},[e,t,i,o,l]);return(0,r.jsx)(v.n,{sectionIcon:(0,r.jsx)(p.fye,{}),items:c})}),T=e=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:12,height:12,fill:"none",viewBox:"0 0 12 12",...e,children:[(0,r.jsxs)("g",{clipPath:"url(#network-error_svg__a)",children:[(0,r.jsx)("path",{fill:"#8D93A6",fillRule:"evenodd",d:"M11.31 4.565a5.5 5.5 0 1 0-6.746 6.746 5 5 0 0 1-.445-1.222A4.5 4.5 0 0 1 1.528 6.5H3.51c.044 1.06.223 2.032.5 2.832Q4 9.167 4 9c0-.803.19-1.563.526-2.235L4.511 6.5h.158c.21-.366.467-.702.76-1.001h-.918c.051-1.15.279-2.2.632-2.975.176-.39.374-.683.565-.86.131-.123.225-.165.292-.165l.019.001c.065.008.154.053.273.163.191.178.389.472.566.86.222.49.394 1.087.504 1.75q.47-.163.975-.23c-.147-.854-.389-1.605-.696-2.194l-.028-.052.084.033a4.52 4.52 0 0 1 2.392 2.288q.648.146 1.222.446M4.358 1.81l.03-.012-.048.091c-.462.904-.77 2.178-.829 3.611H1.528a4.5 4.5 0 0 1 2.829-3.69",clipRule:"evenodd"}),(0,r.jsx)("circle",{cx:9,cy:9,r:3,fill:"#CC4B53"})]}),(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"network-error_svg__a",children:(0,r.jsx)("path",{fill:"#fff",d:"M0 0h12v12H0z"})})})]});var I=i(43834);function R(e){return"object"==typeof e&&null!==e}function N(e){let t=e?.parsed_query??e?.parsedQuery;return Array.isArray(t)?t.filter(e=>R(e)&&"doc"===e.type):[]}function A(e){return e?.status===a.fM.Completed&&Array.isArray(e.references)&&0===e.references.length}function M(e){return e?.status===a.fM.Failed}let P={width:16,height:16};function j(e){return e===a.ss.Function||e===a.ss.Class?"CODE":"FILE"}function L(e,t){return void 0!==e?`${e}~${t??e}`:void 0}let D=(0,s.memo)(function(){let e=(0,n.hE)(e=>e.agentMessage),[t,i]=(0,s.useState)([]),c=(0,o.Hr)(),g=(0,d.cg)(),_=u.XT.tryResolve(h.F.ReferenceList),y=u.XT.tryResolve(h.F.Mention),b=_?.getWorkspaceRenderMode()??"core",S=g.getComponent(l.M.AgentMessage,I.L),k=(0,s.useMemo)(()=>{if(!e)return null;let t=Array.isArray(e.references)?e.references:[],i=t.filter(e=>e.reference_type!==a.ss.Rule),r=t.filter(e=>e.reference_type===a.ss.Rule);return{references:i,ruleReferences:r,docReferences:e.docReferences?.documents,searchReferenceData:e.searchReferenceData}},[e]),x=(0,s.useMemo)(()=>N(e?.userMessageContext),[e?.userMessageContext]);(0,s.useEffect)(()=>{let e=!1;return x.length&&_?.resolveMentionedDocsets?(_.resolveMentionedDocsets(x).then(t=>{e||i(t)}),()=>{e=!0}):(i([]),()=>{e=!0})},[x,_]);let w=(0,s.useCallback)((e,t,i,r)=>{let s=j(r),n=L(t,i);y?.handleChatResponseReferenceClick?.({action:"click",reference_type:s,file_path:e,range:n});let a=c?.openFile({filePath:e,selection:void 0!==t?{startLineNumber:t,startColumn:0,endLineNumber:i??t,endColumn:Number.MAX_SAFE_INTEGER}:void 0});a?.then(t=>{y?.handleChatResponseReferenceClick?.({action:t?.exist?"success":"failed",reference_type:s,file_path:e,range:n})})},[y,c]),R=(0,s.useCallback)((e,t,i)=>{c?.openTerminal({terminalId:e,startLine:t,endLine:i})},[c]),D=(0,s.useCallback)((e,t)=>{"file"===t?c?.openDocView({filePath:e}):c?.openUrl({url:e})},[c]),O=(0,s.useCallback)(e=>{c?.openUrl({url:e})},[c]),F=(0,o.s9)(),U=e?.searchReferenceData,V=(0,s.useMemo)(()=>A(U)?[{key:"websearch-empty",displayName:"",icon:null,customRender:()=>(0,r.jsx)("div",{children:F.localize("trae-chat-core.reference-list.no-search-results",{},"No Search Results")}),variant:"file"}]:M(U)?[{key:"websearch-error",displayName:"",icon:null,customRender:()=>(0,r.jsx)("div",{children:F.localize("trae-chat-core.reference-list.search-failed",{},"Search Failed")}),variant:"file"}]:[],[F,U]),B=(0,s.useMemo)(()=>A(U)?(0,r.jsx)(p.SzY,{style:P}):M(U)?(0,r.jsx)(T,{}):null,[U]);if(!k)return null;let{references:z,ruleReferences:W,docReferences:H}=k,G=Array.isArray(z)&&z.length>0,Z=Array.isArray(W)&&W.length>0||Array.isArray(H)&&H.length>0||t.length>0,K=!!U&&Array.isArray(U.references)&&U.references.length>0,X=V.length>0,Y=G||Z||K||X,J=F.localize("trae-chat-core.reference-list.title",void 0,"Reference");return Y?(0,r.jsx)(m,{title:J,children:(0,r.jsxs)("div",{className:"core-reference-list",children:[G&&(0,r.jsx)(C,{references:z,workspaceRenderMode:b,WorkspaceReferenceItemSlot:S,onFileClick:w,onTerminalClick:R}),Z&&(0,r.jsx)(E,{ruleReferences:W,docReferences:H,docsetReferences:t,onFileClick:e=>w(e),onDocClick:D}),K&&(0,r.jsx)(f.H,{propsData:U,onOpenUrl:O}),X&&(0,r.jsx)(v.n,{sectionIcon:B,items:V})]})}):null}),O={identifier:{domain:l.M.AgentMessage,name:"reference-list"},displayName:"Agent Reference List",description:"Reference list for agent message",component:D};(0,c.MD)([O]),i(69989),i(87930);var F=i(9724);i(51312);var U=i(19755),V=i(86020),B=i(76924),z=i(77528);let W=120;function H(e){return"todo"===e.strategyId&&"todoWriteId"in e}let G=e=>e===B.QC.Completed||e===B.QC.Canceled||e===B.QC.Failed,Z=(0,s.memo)(function({groupData:e,renderChildren:t,renderPlanItem:i}){let{localize:n}=(0,o.s9)(),{title:a,summary:l,status:c,isLatest:d,planItemIds:u}=e,[h,m]=(0,s.useState)(!!e.defaultExpanded),{reportCollapseClick:f}=(0,o.M6)({cardType:o.FC.TodoGroup,extraParams:{group_key:e.key,status:c}}),g=G(c);(0,s.useEffect)(()=>{e.defaultExpanded&&m(!0)},[e.defaultExpanded]);let _=h?"expanded":g?"summary":"preview",y=(0,s.useCallback)(()=>{let e=!h;f(e?"expand":"collapse"),m(e)},[h,f]),v=(0,s.useMemo)(()=>c===B.QC.Canceled?n("trae-chat-core.todo_group.status_canceled",void 0,"Task manually terminated"):c===B.QC.Interjected?n("trae-chat-core.todo_group.status_interjected",void 0,"Task paused, processing new request"):a,[c,a,n]),b=(0,s.useRef)(null),[S,k]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=b.current;if(!e)return;let t=()=>{k(e.scrollHeight>e.clientHeight)};t();let i=new ResizeObserver(t);return i.observe(e),()=>i.disconnect()},[v]);let x=()=>{switch(c){case B.QC.Completed:return(0,r.jsx)(p.aVx,{className:"task-todo-header__icon task-todo-header__icon--completed"});case B.QC.Running:return(0,r.jsx)(p.mrn,{className:"task-todo-header__icon task-todo-header__icon--running"});case B.QC.Canceled:return(0,r.jsx)(p.JIT,{className:"task-todo-header__icon task-todo-header__icon--canceled"});case B.QC.WaitingConfirm:return(0,r.jsx)(p.ywn,{className:"task-todo-header__icon task-todo-header__icon--warning"});case B.QC.Failed:return(0,r.jsx)(p.WMN,{className:"task-todo-header__icon task-todo-header__icon--error"});default:return(0,r.jsx)(p.zem,{className:"task-todo-header__icon task-todo-header__icon--default"})}},C=()=>{let e=t(void 0);return e||(u.length>0?u.map((e,t)=>i(e,!!d&&t===u.length-1)):null)},w=(0,s.useRef)(null),E=(0,s.useRef)(null),[T,I]=(0,s.useState)(!1),R="preview"===_;(0,s.useEffect)(()=>{if(!R)return void I(!1);let e=E.current;if(!e)return;let t=new ResizeObserver(e=>{I((e[0]?.contentRect.height??0)>W)});return t.observe(e),()=>t.disconnect()},[R]);let N=c===B.QC.Running,A=!h,M=u.length>0||null!==t(void 0),P=!0,j=M&&(N||"expanded"===_),L=(0,s.useCallback)(e=>{!e.target.closest(".task-todo-header")&&(h||(f("expand"),m(!0)))},[h,f]);return(0,r.jsxs)("div",{className:V("task-todo-section","task-todo-section--todo",{"task-todo-section--collapsed":A&&P}),onClick:A&&P?L:void 0,children:[(0,r.jsxs)("div",{className:"task-todo-item",children:[(0,r.jsxs)("div",{className:"task-todo-item__left",children:[(0,r.jsx)("div",{className:"task-todo-header__status",children:x()}),j&&(0,r.jsx)("div",{className:V("task-todo-item__line",{"task-todo-item__line--collapsed":A})})]}),(0,r.jsxs)("div",{className:"task-todo-item__right",children:[v&&(0,r.jsx)("div",{className:V("task-todo-header",{"task-todo-header--no-toggle":!P}),onClick:P?e=>{e.stopPropagation(),y()}:void 0,role:P?"button":void 0,tabIndex:P?0:void 0,children:(0,r.jsx)("div",{className:"task-todo-header__info",children:(0,r.jsx)(U.A,{content:v,side:"bottom",disabled:!S,children:(0,r.jsxs)("div",{className:"task-todo-header__title-wrapper",children:[(0,r.jsx)("span",{ref:b,className:"task-todo-header__title",children:v}),P&&(0,r.jsx)("span",{className:V("task-todo-header__toggle-icon",{"task-todo-header__toggle-icon--expanded":h}),children:(0,r.jsx)(p._l8,{})})]})})})}),("preview"===_||"expanded"===_)&&(0,r.jsx)("div",{className:"task-todo-body",children:(0,r.jsxs)("div",{ref:w,className:V("task-todo-preview",{"task-todo-preview--clamped":R}),style:R?{maxHeight:W}:void 0,children:[(0,r.jsx)("div",{ref:E,className:"task-todo-content",children:C()}),R&&T&&(0,r.jsx)("div",{className:"task-todo-preview__fade"})]})})]})]}),"summary"===_&&(0,r.jsx)("div",{className:V("task-todo-summary",{"task-todo-summary--empty":!l}),children:l})]})}),K={strategyId:"todo",displayName:"Todo Group",description:"Renders todo group with collapsible content",component:(0,s.memo)(function({groupData:e,renderChildren:t,renderPlanItem:i}){return H(e)?(0,r.jsx)(z.R.Provider,{value:{isInsideTodoGroup:!0},children:(0,r.jsx)(Z,{groupData:e,renderChildren:t,renderPlanItem:i})}):(0,r.jsx)("div",{className:"task-todo-section task-todo-section--normal",children:e.planItemIds.map((t,r)=>i(t,r===e.planItemIds.length-1))})})};(0,c.Sf)().registerGroupRenderer(K),i(86199),i(16166),i(81113);var X=i(545);i(40225)},43834(e,t,i){i.d(t,{L:()=>r});let r="workspace-reference-item-slot"},80408(e,t,i){i.d(t,{n:()=>o});var r=i(97282),s=i(51649),n=i(7063);let a=5,o=(0,s.memo)(function({sectionIcon:e,items:t,maxVisibleItems:i=a}){let[o,l]=(0,s.useState)(!1),c=(0,s.useCallback)(()=>{l(e=>!e)},[]);if(0===t.length)return null;let d=t.length>i,u=d?i-1:i,h=o?t:t.slice(0,u),p=t.length-u;return(0,r.jsxs)("div",{className:"core-reference-list__section",children:[(0,r.jsx)("span",{className:"core-reference-list__section-icon",children:e}),(0,r.jsxs)("div",{className:"core-reference-list__tags",children:[h.map(e=>{let t=(0,r.jsx)(n.A,{variant:e.variant,icon:e.icon,onClick:e.onClick,children:e.displayName}),i=e.customRender?e.customRender(t):t;return(0,r.jsx)(s.default.Fragment,{children:i},e.key)}),d&&!o&&(0,r.jsxs)("button",{type:"button",className:"core-reference-list__more-btn",onClick:c,children:["+",p," more"]})]})]})})},69989(e,t,i){var r=i(97282),s=i(51649),n=i(28304),a=i(52499),o=i(70325),l=i(76136),c=i(25188),d=i(92046),u=i(74134),h=i(96382),p=i(87567),m=i(95409),f=i(80408),g=i(43834),_=i(7063),y=i(23845),v=i(76933);function b(e){try{let t=e.replace(/^file:\/\//,"").split("/");return t[t.length-1]||e}catch{return e}}function S(e){if(e)return e.replace(/^file:\/\//,"")}function k(e){let t=e.editor_start_line??e.start_line,i=e.editor_end_line??e.end_line;if(void 0!==t&&!(t<0))return void 0===i||i<0||i===t?`${t}`:`${t}-${i}`}function x(e){return e.reference_type===h.ss.Workspace?"Workspace":e.reference_type===h.ss.Terminal?e.terminal_id||"Terminal":e.uri?b(e.uri):"Unknown"}function C(e){switch(e.reference_type){case h.ss.Workspace:return(0,r.jsx)(v.ARK,{});case h.ss.Terminal:return(0,r.jsx)(v.yWD,{});case h.ss.Function:return(0,r.jsx)(y.Am,{type:"type.function",size:"small"});case h.ss.Class:return(0,r.jsx)(y.Am,{type:"type.class",size:"small"});case h.ss.File:case h.ss.AllFile:case h.ss.Rule:default:return(0,r.jsx)(y.Am,{filePath:e.uri,size:"small"})}}function w(e){switch(e){case h.ss.Workspace:return"workspace";case h.ss.Terminal:return"terminal";case h.ss.Function:return"code-function";case h.ss.Class:return"code-class";default:return"file"}}function E(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"core-reference-summary-list-row__icon",children:e.icon}),(0,r.jsx)("span",{className:"core-reference-summary-list-row__title",children:e.displayName}),e.rangeText&&(0,r.jsx)("span",{className:"core-reference-summary-list-row__range",children:e.rangeText})]})}let T=(0,s.memo)(function({references:e,workspaceRenderMode:t="core",WorkspaceReferenceItemSlot:i,onFileClick:n,onTerminalClick:a}){let o=(0,s.useCallback)(e=>{if(e.reference_type===h.ss.Workspace)return;let t=e.editor_start_line??e.start_line,i=e.editor_end_line??e.end_line;e.reference_type===h.ss.Terminal&&e.terminal_id?a?.(e.terminal_id,t,i):e.uri&&n?.(e.uri,t,i,e.reference_type)},[n,a]),l=(0,s.useMemo)(()=>(e||[]).map((e,s)=>{let n=e.reference_type===h.ss.Workspace,a={key:`${e.reference_type||"unknown"}-${e.uri||e.terminal_id||"unknown"}-${s}`,displayName:x(e),rangeText:k(e),pathText:e.reference_type===h.ss.Workspace?void 0:S(e.uri),icon:C(e),variant:w(e.reference_type),onClick:n?void 0:()=>o(e)};return n&&"host-item-slot"===t&&i?{...a,customRender:t=>(0,r.jsx)(i,{reference:e,defaultNode:t})}:a}),[e,o,t,i]);return 0===l.length?null:(0,r.jsx)(y.G,{icon:(0,r.jsx)(v.ARK,{}),title:`${l.length} contexts`,showConnector:!0,className:"core-reference-summary-list-section",bodyClassName:"core-reference-summary-list-section__body",children:(0,r.jsx)(y.bJ,{items:l,className:"core-reference-summary-list",listClassName:"core-reference-summary-list__body",keyExtractor:e=>e.key,onItemClick:e=>e.onClick?.(),renderItem:e=>{let t=(0,r.jsx)(_.A,{variant:e.variant,icon:e.icon,onClick:e.onClick,children:e.displayName});return e.customRender?e.customRender(t):E(e)}})})});function I(e){try{let t=e.replace(/^file:\/\//,"").split("/");return t[t.length-1]||e}catch{return e}}function R(){return(0,r.jsx)(v.Mht,{})}function N(){return(0,r.jsx)(v.fye,{})}let A=(0,s.memo)(function({ruleReferences:e,docReferences:t,docsetReferences:i,onFileClick:n,onDocClick:a}){let o=(0,s.useCallback)(e=>{n?.(e)},[n]),l=(0,s.useCallback)((e,t)=>{a?a(e,t):"http"===t&&window.open(e,"_blank","noopener,noreferrer")},[a]),c=(0,s.useMemo)(()=>[...(e||[]).filter(e=>e.uri).map((e,t)=>({key:`rule-${e.uri}-${t}`,displayName:I(e.uri),icon:R(),onClick:()=>o(e.uri)})),...(i||[]).filter(e=>e.name).map((e,t)=>({key:`docset-${e.name}-${t}`,displayName:e.name,icon:R()})),...(t||[]).filter(e=>e.link&&e.title).map((e,t)=>({key:`doc-${e.link}-${t}`,displayName:e.title,icon:R(),onClick:()=>l(e.link,e.type)}))],[e,t,i,o,l]);return 0===c.length?null:(0,r.jsx)(y.G,{icon:N(),title:`${c.length} rules`,showConnector:!0,className:"core-reference-summary-list-section",bodyClassName:"core-reference-summary-list-section__body",children:(0,r.jsx)(y.bJ,{items:c,className:"core-reference-summary-list",listClassName:"core-reference-summary-list__body",keyExtractor:e=>e.key,onItemClick:e=>e.onClick?.(),renderItem:e=>(0,r.jsxs)(r.Fragment,{children:[e.icon,(0,r.jsx)("span",{className:"core-reference-summary-list-row__title",children:e.displayName})]})})})});function M(e){return"object"==typeof e&&null!==e}function P(e){let t=e?.parsed_query??e?.parsedQuery;return Array.isArray(t)?t.filter(e=>M(e)&&"doc"===e.type):[]}function j(e){return e?.status===h.fM.Completed&&Array.isArray(e.references)&&0===e.references.length}function L(e){return e?.status===h.fM.Failed}function D(e){return e===h.ss.Function||e===h.ss.Class?"CODE":"FILE"}function O(e,t){return void 0!==e?`${e}~${t??e}`:void 0}let F={width:16,height:16};function U(e){return e===p.C3.Completed||e===p.C3.Canceled||e===p.C3.Failed}let V=(0,s.memo)(function(){let e=(0,n.hE)(e=>e.agentMessage),t=(0,n.hE)(e=>e.status),[i,l]=(0,s.useState)(!1),[p,_]=(0,s.useState)(!1),[y,b]=(0,s.useState)([]),S=(0,c.Hr)(),k=(0,a.cg)(),x=(0,c.s9)(),C=d.XT.tryResolve(u.F.ReferenceList),w=d.XT.tryResolve(u.F.Mention),E=C?.getWorkspaceRenderMode()??"core",I=k.getComponent(o.M.AgentMessage,g.L),R=(0,s.useMemo)(()=>{if(!e)return;let t=Array.isArray(e.references)?e.references:[];return{references:t.filter(e=>e.reference_type!==h.ss.Rule),ruleReferences:t.filter(e=>e.reference_type===h.ss.Rule),docReferences:e.docReferences?.documents,searchReferenceData:e.searchReferenceData}},[e]),N=(0,s.useMemo)(()=>P(e?.userMessageContext),[e?.userMessageContext]);(0,s.useEffect)(()=>{let e=!1;return N.length&&C?.resolveMentionedDocsets?(C.resolveMentionedDocsets(N).then(t=>{e||b(t)}),()=>{e=!0}):(b([]),()=>{e=!0})},[N,C]);let M=(0,s.useCallback)((e,t,i,r)=>{let s=D(r),n=O(t,i);w?.handleChatResponseReferenceClick?.({action:"click",reference_type:s,file_path:e,range:n});let a=S?.openFile({filePath:e,selection:void 0!==t?{startLineNumber:t,startColumn:0,endLineNumber:i??t,endColumn:Number.MAX_SAFE_INTEGER}:void 0});a?.then(t=>{w?.handleChatResponseReferenceClick?.({action:t?.exist?"success":"failed",reference_type:s,file_path:e,range:n})})},[w,S]),V=(0,s.useCallback)((e,t,i)=>{S?.openTerminal({terminalId:e,startLine:t,endLine:i})},[S]),B=(0,s.useCallback)((e,t)=>{"file"===t?S?.openDocView({filePath:e}):S?.openUrl({url:e})},[S]),z=(0,s.useCallback)(e=>{S?.openUrl({url:e})},[S]),W=R?.searchReferenceData,H=(0,s.useMemo)(()=>j(W)?[{key:"websearch-empty",displayName:"",icon:null,customRender:()=>(0,r.jsx)("div",{children:x.localize("trae-chat-core.reference-list.no-search-results",{},"No Search Results")}),variant:"file"}]:L(W)?[{key:"websearch-error",displayName:"",icon:null,customRender:()=>(0,r.jsx)("div",{children:x.localize("trae-chat-core.reference-list.search-failed",{},"Search Failed")}),variant:"file"}]:[],[x,W]),G=(0,s.useMemo)(()=>j(W)?(0,r.jsx)(v.SzY,{style:F}):L(W)?(0,r.jsx)(v.YuY,{style:F}):null,[W]);if(!R)return null;let{references:Z,ruleReferences:K,docReferences:X}=R,Y=Z.length>0,J=K.length>0||Array.isArray(X)&&X.length>0||y.length>0,$=!!W&&Array.isArray(W.references)&&W.references.length>0,q=H.length>0;if(!(Y||J||$||q))return null;let Q=x.localize("trae-chat-core.reference-summary-card.title",void 0,"\u53C2\u8003\u5185\u5BB9"),ee=["core-reference-summary-card",U(t)&&"core-reference-summary-card--message-ended"].filter(Boolean).join(" "),et=["core-reference-summary-card__icon",p&&"core-reference-summary-card__icon--highlighted",i&&"core-reference-summary-card__icon--expanded"].filter(Boolean).join(" "),ei=()=>{l(e=>!e)},er=()=>_(!0),es=()=>_(!1),en=()=>_(!0),ea=()=>_(!1),eo=e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),ei())};return(0,r.jsxs)("div",{className:ee,children:[(0,r.jsxs)("div",{role:"button",tabIndex:0,className:"core-reference-summary-card__header",onClick:ei,onMouseEnter:er,onMouseLeave:es,onFocus:en,onBlur:ea,onKeyDown:eo,children:[(0,r.jsx)("span",{className:"core-reference-summary-card__title",children:Q}),(0,r.jsx)("span",{className:et,children:(0,r.jsx)(v._l8,{})})]}),i&&(0,r.jsx)("div",{className:"core-reference-summary-card__content",children:(0,r.jsxs)("div",{className:"core-reference-list",children:[Y&&(0,r.jsx)(T,{references:Z,workspaceRenderMode:E,WorkspaceReferenceItemSlot:I,onFileClick:M,onTerminalClick:V}),J&&(0,r.jsx)(A,{ruleReferences:K,docReferences:X,docsetReferences:y,onFileClick:e=>M(e),onDocClick:B}),$&&(0,r.jsx)(m.H,{propsData:W,onOpenUrl:z,showConnector:!0}),q&&(0,r.jsx)(f.n,{sectionIcon:G,items:H})]})})]})}),B={identifier:{domain:o.M.AgentMessage,name:"reference-summary-card"},displayName:"Reference Summary Card",description:"Tool-like reference summary card for agent message",component:V};(0,l.MD)([B])},51312(e,t,i){i.d(t,{ok:()=>F});var r=i(97282),s=i(51649),n=i(70325),a=i(76136),o=i(28304),l=i(88539),c=i(48671),d=i(74134),u=i(91384),h=i(79297),p=i(87567),m=i(98219),f=i(13962),g=i(25188),_=i(76933);let y=()=>(0,r.jsx)(_.sHo,{style:{width:16,height:16}});function v(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(2)} KB`:e<0x40000000?`${(e/1048576).toFixed(2)} MB`:`${(e/0x40000000).toFixed(2)} GB`}function b(e){let t=Math.ceil(e);if(t<=0)return"";let i=Math.floor(t/3600),r=Math.floor(t%3600/60),s=t%60,n=[];return i>0&&n.push(`${i}h`),r>0&&n.push(`${r}m`),(s>0||0===n.length)&&n.push(`${s}s`),n.join(" ")}let S=["downloading","extracting","creating","starting","vm_started","processing_pending_tasks","completed"],k=2,x=10;function C(e){let t=S.indexOf(e);return t<0?0:(S.length-1-t)*k}function w(e,t,i){let r=C(e);if("downloading"===e&&(r+=x,void 0!==t&&t.speedBytesPerSec&&t.speedBytesPerSec>0&&void 0!==t.totalBytes&&void 0!==t.downloadedBytes&&(r+=(t.totalBytes-t.downloadedBytes)/t.speedBytesPerSec)),r<=0)return"";let s=b(r);return i.localize("trae-chat-core.setup-vm.message.remaining_time",{time:s},`${s} remaining`)}function E(e,t,i,r){let s=w(e,i,r);if("downloading"===e){let e="";return e=i?.downloadedBytes!==void 0&&i?.totalBytes!==void 0&&i?.speedBytesPerSec!==void 0?r.localize("trae-chat-core.setup-vm.message.downloading_progress",{downloaded:v(i.downloadedBytes),total:v(i.totalBytes),speed:`${v(i.speedBytesPerSec)}/s`},`${v(i.downloadedBytes)} / ${v(i.totalBytes)}\u{FF08}${v(i.speedBytesPerSec)}/s\u{FF09}`):r.localize("trae-chat-core.setup-vm.message.verifying",{},"Verifying file integrity..."),s?`${e} \xb7 ${s}`:e}if("extracting"===e){let e="";return e=i?.extractedBytes!==void 0&&i?.totalBytes!==void 0&&i?.percentage!==void 0?r.localize("trae-chat-core.setup-vm.message.extracting_progress",{extracted:v(i.extractedBytes),total:v(i.totalBytes),percentage:`${i.percentage}%`},`Extracting ${v(i.extractedBytes)} / ${v(i.totalBytes)}\u{FF08}${i.percentage}%\u{FF09}`):r.localize("trae-chat-core.setup-vm.message.extracting",{},"Extracting tools..."),s?`${e} \xb7 ${s}`:e}let n=r.localize("trae-chat-core.setup-vm.download_completed",{},"TRAE Workspace started successfully");return s?`${n} \xb7 ${s}`:n}function T({stage:e}){return(0,r.jsx)(y,{})}function I(e){switch(e){case"downloading":return"trae-chat-core.setup-vm.title.downloading";case"extracting":return"trae-chat-core.setup-vm.title.extracting";case"creating":case"starting":case"vm_started":case"processing_pending_tasks":case"completed":return"trae-chat-core.setup-vm.title.starting";default:return"trae-chat-core.setup-vm.title.initializing"}}function R(e){switch(e){case"downloading":return"Downloading TRAE Workspace Package";case"extracting":return"Extracting TRAE Workspace Package";case"creating":return"Creating TRAE Workspace";case"starting":return"Starting TRAE Workspace";case"vm_started":return"TRAE Workspace Started";case"processing_pending_tasks":return"Processing Tasks";case"completed":return"Setup Completed";default:return"Initializing"}}let N=(0,s.memo)(function(e){let{vmStatus:t}=e,i=(0,g.s9)(),n=t?.stage||"creating",a=t?.percentage??0,o=t?.stageMessage,l=t?.extra,c=(0,s.useMemo)(()=>{let e=I(n),t=R(n);return i.localize(e,{},t)},[n,i]),d=(0,s.useMemo)(()=>E(n,o,l,i),[n,o,l,i]);return(0,r.jsx)("div",{className:"core-setup-vm-wrapper",children:(0,r.jsxs)("div",{className:"core-setup-vm",children:[(0,r.jsxs)("div",{className:"core-setup-vm__header",children:[(0,r.jsx)("div",{className:`core-setup-vm__stage-icon core-setup-vm__stage-icon--${n}`,children:(0,r.jsx)(T,{stage:n})}),(0,r.jsx)("div",{className:"core-setup-vm__title-section",children:(0,r.jsx)("div",{className:"core-setup-vm__title",children:c})}),(0,r.jsx)("div",{className:"core-setup-vm__progress-info",children:(0,r.jsxs)("span",{className:"core-setup-vm__percentage",children:[a,"%"]})})]}),(0,r.jsxs)("div",{className:"core-setup-vm__body",children:[(0,r.jsx)("div",{className:"core-setup-vm__progress-bar-container",children:(0,r.jsx)("div",{className:"core-setup-vm__progress-bar",style:{width:`${a}%`}})}),(0,r.jsx)("div",{className:"core-setup-vm__message",title:d,children:d})]})]})})}),A=(0,s.memo)(function({tailStatus:e,isWaitingAIResponse:t=!1,isLongRunning:i=!1,isContainerInitializing:s=!1,vmStatus:n}){let a=(0,g.s9)();return s?n?(0,r.jsx)(N,{vmStatus:n}):"empty"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--loading",children:(0,r.jsx)(f.A,{children:a.localize("trae-chat-core.taskTail.aiThinking",{},"AI thinking")})}):(0,r.jsx)("div",{className:"core-task-tail core-task-tail--placeholder"}):"empty"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--loading",children:(0,r.jsx)(f.A,{children:a.localize("trae-chat-core.taskTail.aiThinking",{},"AI thinking")})}):"container_initializing"===e?n?(0,r.jsx)(N,{vmStatus:n}):(0,r.jsx)("div",{className:"core-task-tail core-task-tail--placeholder"}):"creating_worktree"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--loading",children:(0,r.jsx)(f.A,{children:a.localize("trae-chat-core.taskTail.creatingWorktree",{},"Creating worktree\u2026")})}):"pending"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--loading",children:(0,r.jsx)(f.A,{children:a.localize("trae-chat-core.taskTail.waiting",{},"Waiting")})}):"waiting_confirm_redlist"===e||"waiting_confirm"===e||"finish"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--placeholder"}):"success"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--loading",children:(0,r.jsx)(f.A,{children:a.localize("trae-chat-core.taskTail.planningNextStep",{},"Planning the next step")})}):"failed"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--loading",children:(0,r.jsx)(f.A,{children:a.localize("trae-chat-core.taskTail.somethingWentWrong",{},"Something went wrong, analyzing")})}):"command_running"===e||"mcp_running"===e?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--placeholder"}):"edit_file_running"===e?i?(0,r.jsx)("div",{className:"core-task-tail core-task-tail--loading",children:(0,r.jsx)(f.A,{children:a.localize("trae-chat-core.taskTail.codeAlmostReady",{},"Code is almost ready")})}):(0,r.jsx)("div",{className:"core-task-tail core-task-tail--placeholder"}):(t,(0,r.jsx)("div",{className:"core-task-tail core-task-tail--placeholder"}))});var M=i(86020);let P="__stuck_diagnosis_retry__",j=(0,s.memo)(function({diagnosis:e,onDismiss:t,onRetry:i,onMuteToday:n,onSettings:a,onAction:o}){let l=(0,g.s9)(),[c,d]=(0,s.useState)(!1),u=(0,s.useCallback)((e,r,s)=>{if(!o?.(e,r,s)){if(r===P)return void i?.();r||t?.()}},[o,t,i]);if("idle"===e.status||"dismissed"===e.status)return null;if("diagnosing"===e.status)return(0,r.jsx)("div",{className:"core-stuck-diagnosis-card",children:(0,r.jsx)("div",{className:"core-stuck-diagnosis-card__header",children:(0,r.jsx)(f.A,{children:l.localize("chat.stuck.diagnosing",{},"Analyzing response status...")})})});let{result:h}=e;return h?(0,r.jsxs)("div",{className:"core-stuck-diagnosis-card",children:[(0,r.jsxs)("div",{className:"core-stuck-diagnosis-card__header",children:[(0,r.jsx)(_.zXX,{className:"core-stuck-diagnosis-card__status-icon"}),(0,r.jsx)("span",{children:h.problemLabel}),(0,r.jsxs)("div",{className:"core-stuck-diagnosis-card__settings",children:[(0,r.jsx)("button",{type:"button",className:"core-stuck-diagnosis-card__settings-button",onClick:()=>d(e=>!e),"aria-label":l.localize("chat.stuck.settings",{},"Settings"),children:(0,r.jsx)(_.Ni9,{})}),c&&(0,r.jsxs)("div",{className:"core-stuck-diagnosis-card__menu",children:[(0,r.jsx)("button",{type:"button",className:"core-stuck-diagnosis-card__menu-item",onClick:()=>{d(!1),n?.()},children:l.localize("chat.stuck.muteToday",{},"Don't remind me today")}),(0,r.jsx)("button",{type:"button",className:"core-stuck-diagnosis-card__menu-item",onClick:()=>{d(!1),a?.()},children:l.localize("chat.stuck.settings",{},"Settings")})]})]})]}),(0,r.jsx)("div",{className:"core-stuck-diagnosis-card__summary",children:h.summary}),(0,r.jsxs)("div",{className:"core-stuck-diagnosis-card__actions",children:[h.actions.map(e=>(0,r.jsx)("button",{type:"button",className:M("core-stuck-diagnosis-card__action-button",{"core-stuck-diagnosis-card__action-button--primary":e.primary}),onClick:()=>u(e.id,e.commandId,e.commandArgs),children:e.label},e.id)),(0,r.jsx)("button",{type:"button",className:"core-stuck-diagnosis-card__dismiss-button",onClick:t,"aria-label":l.localize("chat.stuck.dismiss",{},"Dismiss"),children:(0,r.jsx)(_.gzW,{})})]})]}):null}),L=1e3,D=15e3;function O(e){return e===m.i.CompactFake}let F=(0,s.memo)(function(){let e=(0,o.hE)(e=>e.agentMessage?.sessionId??""),t=(0,o.hE)(e=>e.status),i=(0,o.hE)(e=>e.planItemIds),n=(0,o.hE)(e=>e.agentMessage?.agentType),a=(0,l.Fy)(e=>e.isStreaming),m=(0,o.hE)(e=>e.vmStatus),f=(0,c.h1)(d.B.StreamStore),g=(0,c.h1)(d.B.SessionStore),_=(0,c.h1)(d.B.AgentPlanItemStore),y=(0,c.$Q)(d.F.StuckDiagnosis),v=f.streamingTailStatus.use(e),b=f.lastEventTime.use(e),S=f.editFileStartTime.use(e),k=g.sessionStatus.use(e),x=_.agentPlanItemsByIds.use(i),[C,w]=(0,s.useState)(!1),[E,T]=(0,s.useState)(!1),[,I]=(0,s.useState)(0),R=v.type;(0,s.useEffect)(()=>{if(y?.subscribe)return y.subscribe(e,()=>I(e=>e+1))},[e,y]),(0,s.useEffect)(()=>{if(!b||t!==p.C3.InProgress)return void w(!1);let e=()=>{w(Date.now()-b>L)};e();let i=setInterval(e,200);return()=>clearInterval(i)},[b,t]),(0,s.useEffect)(()=>{if("edit_file_running"!==R||!S)return void T(!1);let e=()=>{T(Date.now()-S>D)};e();let t=setInterval(e,1e3);return()=>clearInterval(t)},[R,S]);let N=!!g.worktreeCheckDialog.use(e),M=g.worktreeCreating.use(e),P=k===h.Ph.Creating,F=t===p.C3.InProgress||t===p.C3.Queuing;if((0,s.useMemo)(()=>n===u.Eo.Chat?x.some(e=>!!e.thought?.length):!!x.filter(e=>e.thought?.trim?.()||O(e.toolCallInfo?.name)||e.toolCallInfo?.name).length,[n,x]),t===p.C3.Canceled||t===p.C3.Failed)return null;let U=y?.getDiagnosis?.(e),V=F&&U&&"idle"!==U.status&&"dismissed"!==U.status?(0,r.jsx)(j,{diagnosis:U,onDismiss:()=>y?.dismiss?.(e),onRetry:()=>y?.retry?.(e),onMuteToday:()=>y?.muteToday?.(e),onSettings:()=>y?.openSettings?.(),onAction:(t,i,r)=>y?.handleAction?.(e,t,i,r)}):null;if(!N&&!M&&!P&&(!F||!a))return null;let B=N?"waiting_confirm":M?"creating_worktree":t===p.C3.Queuing&&"empty"===R?"pending":R,z=(0,r.jsx)(A,{tailStatus:B,isWaitingAIResponse:C,isLongRunning:E,isContainerInitializing:P&&!N&&!M,vmStatus:m});return"thinking"===B||"reasoning"===B||"sub_agent_running"===B||C?(0,r.jsxs)(r.Fragment,{children:[z,V]}):z}),U={identifier:{domain:n.M.AgentMessage,name:"tail"},displayName:"Task Tail",description:"Tail section for task",component:F};(0,a.MD)([U])},91003(e,t,i){var r=i(97282),s=i(51649),n=i(76933),a=i(20848),o=i(30338),l=i(74134),c=i(92046),d=i(27872),u=i(41748),h=i(57499),p=i(79297),m=i(11831),f=i(34274);let g=5e3,_=(e,t)=>e&&t?`${e} ${t}`:void 0;function y(){return c.XT.tryResolve(l.F.ArtifactShare)}function v(){return c.XT.tryResolve(l.F.Clipboard)}function b(){return c.XT.tryResolve(l.F.Toast)}function S(){return c.XT.tryResolve(l.F.Tea)}function k(){return c.XT.tryResolve(l.F.Slardar)}function x(e){let t=e.sessionId?u.eA.sessionById.get(e.sessionId):void 0,i={action:e.action,env:t?.env??"",result:e.result,session_id:e.sessionId??"",source:"html_artifact_popover"};e.errorCode&&(i.error_code=e.errorCode),e.errorReason&&(i.error_reason=e.errorReason),e.shareCreateType&&(i.share_create_type=e.shareCreateType),e.shareSessionId&&(i.share_session_id=e.shareSessionId),S()?.report(m.qu.IcubeArtifactShareToggle,i)}function C(e){let t=e.sessionId?u.eA.sessionById.get(e.sessionId):void 0,i={action:e.action,artifact_path:e.artifactPath??"",env:t?.env??"",error_code:e.errorCode,error_reason:e.errorReason,session_id:e.sessionId??"",share_session_id:e.shareSessionId??""};e.logId&&(i.logid=e.logId),k()?.log({content:`[ArtifactShareUrlModal] ${e.action} HTML artifact share failed: ${e.errorReason}`,level:"error",extra:i})}async function w(e){let t=v();if(t)return t.copyText(e);try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}function E(e){if(e instanceof Error)return e.message;if("object"==typeof e&&e&&"message"in e){let t=e.message;return"string"==typeof t?t:""}return"string"==typeof e?e:""}function T(e){if("object"==typeof e&&e){let t=e.code??e.status??e.errorCode;if("string"==typeof t||"number"==typeof t)return String(t)}let t=E(e),i=t.match(/\b\d{6}\b/)?.[0];return i||(A(e)?"share_content_too_large":N(e)?"share_audit_unavailable":R(e)?"share_content_audit_failed":"sandbox_not_ready"===t?"sandbox_not_ready":"unknown")}function I(e){if(!e||"object"!=typeof e)return;let t=e.logid??e.logId??e.log_id;if("string"==typeof t||"number"==typeof t)return String(t);let i=e.responseHeaders;return i?.["x-tt-logid"]??i?.["x-tt-log-id"]??Object.entries(i??{}).find(([e])=>"x-tt-logid"===e.toLowerCase())?.[1]}function R(e){let t=E(e).toLowerCase();return t.includes("share content audit failed")||t.includes("993401")}function N(e){let t=E(e).toLowerCase();return t.includes("share audit unavailable")||t.includes("llmshield unavailable")}function A(e){let t=E(e).toLowerCase();return t.includes("share content too large")||t.includes("exceeds audit size limit")||t.includes("exceeds size limit")}let M=3,P=3e4;async function j(e){let t=u.eA.sessionById.get(e);if(!t||t.env!==p.nN.Remote)return d.logger.info("[ArtifactShareUrlModal] ensureSandboxReady: skip (not remote), session=%s, env=%s",e,t?.env),!0;let i=t.mode===p.DX.Code&&!!t.source?.repo_url;if(d.logger.info("[ArtifactShareUrlModal] ensureSandboxReady: session=%s, mode=%s, hasSource=%s, repoUrl=%s, isGitBacked=%s, sandboxStatus=%s",e,t.mode,!!t.source,t.source?.repo_url??"none",i,t.sandbox?.allocation_status),!i)return d.logger.info("[ArtifactShareUrlModal] ensureSandboxReady: skip wakeup (not git-backed), session=%s",e),!0;if(t.sandbox?.allocation_status===M)return d.logger.info("[ArtifactShareUrlModal] ensureSandboxReady: sandbox already ready, session=%s",e),!0;d.logger.info("[ArtifactShareUrlModal] sandbox offline, waking up sandbox for session=%s",e);let r=await h.kd.wakeupAndWaitForSandboxReady(e,P);return r?d.logger.info("[ArtifactShareUrlModal] sandbox ready after wakeup, session=%s",e):d.logger.warn("[ArtifactShareUrlModal] sandbox wakeup timed out, session=%s",e),r}(0,s.memo)(function({visible:e,disabled:t=!1,sessionId:i,artifactPath:l,fileName:c,children:u,onClose:h}){let p=(0,f.s)(),[m,v]=(0,s.useState)("generate"),[S,k]=(0,s.useState)(void 0),[M,P]=(0,s.useState)(void 0),[L,D]=(0,s.useState)(!1),[O,F]=(0,s.useState)(void 0),[U,V]=(0,s.useState)(!1),[B,z]=(0,s.useState)(!1),[W,H]=(0,s.useState)(!1),G=(0,s.useRef)(void 0),Z=(0,s.useRef)(e),K=(0,s.useRef)(!1),X=e?_(i,l):void 0,Y=!!(X&&O!==X)||L,J=(0,s.useCallback)(()=>{G.current&&(clearTimeout(G.current),G.current=void 0)},[]),$=(0,s.useCallback)(()=>{J(),H(!0),G.current=setTimeout(()=>{Z.current&&H(!1),G.current=void 0},g)},[J]),q=(0,s.useCallback)(async(e,t)=>{if(!await w(e))throw Error("failed to copy artifact share link");Z.current&&($(),t?.showSuccessToast!==!1&&b()?.success(p.localize("solo-web.share.linkCopiedToast",{},"Link copied")))},[p,$]);(0,s.useEffect)(()=>{if(Z.current=e,!e){J(),v("generate"),k(void 0),P(void 0),D(!1),F(void 0),V(!1),z(!1),H(!1);return}if(!i||!l){v("generate"),k(void 0),P(void 0),D(!1),F(void 0),H(!1);return}let t=y();if(!t){v("generate"),k(void 0),P(void 0),D(!1),F(X),H(!1);return}let r=!1;return J(),v("generate"),k(void 0),P(void 0),D(!0),F(void 0),H(!1),t.getArtifactShare({sessionId:i,artifactPath:l}).then(e=>{if(!r){if(e?.status==="banned"){P(e.shareSessionId),v("banned"),H(!1);return}if(e?.status==="active"&&e.url){k(e.url),P(e.shareSessionId),v("active"),H(!1);return}P(e?.status==="disabled"?e.shareSessionId:void 0),v("generate")}}).catch(e=>{r||(d.logger.warn("[ArtifactShareUrlModal] failed to query existing share",e),v("generate"))}).finally(()=>{r||(D(!1),F(X))}),()=>{r=!0,J()}},[e,i,l,X,J]),(0,s.useEffect)(()=>()=>{Z.current=!1,J()},[J]);let Q=p.localize("solo-web.share.artifactGenericFailed",{},"Operation failed. Please try again."),ee=p.localize("solo-web.share.artifactContentAuditFailed",{},"Content doesn't meet requirements. Please adjust it and share again."),et=p.localize("solo-web.share.artifactContentTooLarge",{},"The shared content is too large. Please adjust it and share again."),ei=p.localize("solo-web.share.artifactAuditUnavailable",{},"The review service is temporarily unavailable. Please try again later."),er=p.localize("solo-web.share.artifactBannedTitle",{},"Shared content has been blocked"),es=p.localize("solo-web.share.artifactBannedDescription",{},"This HTML shared content has been blocked by an administrator and cannot be shared again."),en=(0,s.useCallback)(async()=>{let e=y();if(!e||!i||!l||Y||U)return;V(!0);let t=M?"existing":"new";try{if(d.logger.debug("[ArtifactShareUrlModal] generate link, ensuring sandbox ready, sessionId=%s, path=%s",i,l),!await j(i))throw d.logger.warn("[ArtifactShareUrlModal] sandbox not ready for share creation, timeout"),Error("sandbox_not_ready");d.logger.debug("[ArtifactShareUrlModal] sandbox ready, calling createArtifactShare");let r=await e.createArtifactShare({sessionId:i,artifactPath:l,fileName:c});k(r.url),P(r.shareSessionId),v("active"),H(!1),x({action:"enable",result:"success",sessionId:i,shareCreateType:t,shareSessionId:r.shareSessionId});try{await q(r.url,{showSuccessToast:!1})}catch{b()?.error(p.localize("solo-web.share.artifactCopyFailed",{},"Failed to copy artifact share link"))}}catch(n){let e=T(n),r=E(n)||"unknown",s=I(n);x({action:"enable",errorCode:e,errorReason:r,result:"failure",sessionId:i,shareCreateType:t,shareSessionId:M}),C({action:"enable",artifactPath:l,errorCode:e,errorReason:r,logId:s,sessionId:i,shareSessionId:M}),b()?.error(A(n)?et:N(n)?ei:R(n)?ee:Q)}finally{V(!1)}},[l,ei,U,q,ee,et,c,Q,p,i,M,Y]),ea=(0,s.useCallback)(async()=>{if(S&&!U&&!B)try{await q(S)}catch{b()?.error(p.localize("solo-web.share.artifactCopyFailed",{},"Failed to copy artifact share link"))}},[S,q,U,p,B]),eo=(0,s.useCallback)(async()=>{let e=y();if(e&&M&&!K.current&&!B&&!U){K.current=!0,z(!0);try{await e.updateShareStatus({shareSessionId:M,status:"disabled"}),k(void 0),P(void 0),v("generate"),H(!1),x({action:"disable",result:"success",sessionId:i,shareSessionId:M})}catch(s){let e=T(s),t=E(s)||"unknown",r=I(s);x({action:"disable",errorCode:e,errorReason:t,result:"failure",sessionId:i,shareSessionId:M}),C({action:"disable",artifactPath:l,errorCode:e,errorReason:t,logId:r,sessionId:i,shareSessionId:M}),b()?.error(Q)}finally{K.current=!1,z(!1)}}},[l,U,Q,i,M,B]),el=p.localize("solo-web.share.htmlArtifactPopoverGenerateLink",{},"Start sharing"),ec=p.localize("solo-web.share.htmlArtifactPopoverGeneratingLink",{},"Generating link..."),ed=p.localize("solo-web.share.htmlArtifactPopoverCheckingLink",{},"Checking share status"),eu=p.localize("solo-web.share.htmlArtifactPopoverTitle",{},"Share"),eh=p.localize("solo-web.share.htmlArtifactPopoverActiveTitle",{},"Shared publicly"),ep=p.localize("solo-web.share.htmlArtifactPopoverActiveHint",{},"Accessible to anyone with the link"),em=p.localize("solo-web.share.htmlArtifactPopoverCopyLink",{},"Copy link"),ef=p.localize("solo-web.share.htmlArtifactPopoverCopied",{},"Copied"),eg=p.localize("solo-web.share.htmlArtifactPopoverStopShare",{},"Stop sharing"),e_=(e,t)=>(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__header","data-figma-node":t,children:[(0,r.jsx)("div",{className:"core-artifact-share-url-modal__header-title",children:(0,r.jsx)("div",{className:"core-artifact-share-url-modal__header-title-inner",children:(0,r.jsx)("div",{className:"core-artifact-share-url-modal__header-text",children:(0,r.jsx)("span",{className:"core-artifact-share-url-modal__title",children:e})})})}),(0,r.jsx)("div",{className:"core-artifact-share-url-modal__header-icons",children:(0,r.jsx)("button",{type:"button",className:"core-artifact-share-url-modal__close-button",onClick:h,"aria-label":p.localize("solo-web.common.close",{},"Close"),children:(0,r.jsx)(n.gzW,{className:"core-artifact-share-url-modal__close-icon"})})})]}),ey=(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__container","data-figma-node":"9760:398064",children:[e_(eu,"9760:398065"),(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__content","data-figma-node":"9760:398066",children:[(0,r.jsx)("p",{className:"core-artifact-share-url-modal__description","data-figma-node":"9760:398067",children:p.localize("solo-web.share.htmlArtifactPopoverDescription",{},"A public link will be generated. Anyone with the link can view it.")}),(0,r.jsx)("div",{className:"core-artifact-share-url-modal__actions","data-figma-node":"9760:398068",children:(0,r.jsx)(a.A,{type:"primary",size:"large",className:["core-artifact-share-url-modal__generate-button",U?"core-artifact-share-url-modal__generate-button--loading":""].filter(Boolean).join(" "),disabled:U,onClick:en,prefixIcon:U?(0,r.jsx)(n.mrn,{className:"core-artifact-share-url-modal__generate-loading-icon"}):void 0,children:(0,r.jsx)("span",{className:"core-artifact-share-url-modal__generate-button-label",children:U?ec:el})})})]})]}),ev=(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__container","data-figma-node":"artifact-share-checking",children:[e_(eu,"artifact-share-checking-header"),(0,r.jsx)("div",{className:"core-artifact-share-url-modal__content core-artifact-share-url-modal__content--checking","data-figma-node":"artifact-share-checking-content",children:(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__checking",role:"status","aria-live":"polite",children:[(0,r.jsx)(n.mrn,{className:"core-artifact-share-url-modal__checking-icon"}),(0,r.jsx)("span",{className:"core-artifact-share-url-modal__checking-text",children:ed})]})})]}),eb=(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__container","data-figma-node":"9760:400596",children:[e_(eh,"9760:400597"),(0,r.jsx)("div",{className:"core-artifact-share-url-modal__content","data-figma-node":"9760:400598",children:(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__active-input","data-figma-node":"9760:400599",children:[(0,r.jsx)("div",{className:"core-artifact-share-url-modal__active-input-content","data-figma-node":"9760:400600",children:(0,r.jsx)("span",{className:"core-artifact-share-url-modal__active-link",title:S,children:S})}),W?(0,r.jsx)(a.A,{type:"secondary",size:"default",className:"core-artifact-share-url-modal__copied-button",disabled:!S||U||B,onClick:ea,prefixIcon:(0,r.jsx)(n.iWP,{className:"core-artifact-share-url-modal__action-icon core-artifact-share-url-modal__copied-icon"}),children:ef}):(0,r.jsx)(a.A,{type:"primary",size:"default",className:"core-artifact-share-url-modal__copy-button",disabled:!S||U||B,onClick:ea,prefixIcon:(0,r.jsx)(n.WGI,{className:"core-artifact-share-url-modal__action-icon"}),children:em})]})}),(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__active-footer","data-figma-node":"9760:400610",children:[(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__active-hint","data-figma-node":"9760:400611",children:[(0,r.jsx)(n.G_L,{className:"core-artifact-share-url-modal__info-icon"}),(0,r.jsx)("span",{className:"core-artifact-share-url-modal__active-hint-text",children:ep})]}),(0,r.jsx)(a.A,{type:"tertiary",size:"default",className:"core-artifact-share-url-modal__stop-button",disabled:U,onClick:eo,prefixIcon:(0,r.jsx)(n.tdO,{className:"core-artifact-share-url-modal__action-icon core-artifact-share-url-modal__stop-icon"}),children:eg})]})]}),eS=(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__container","data-figma-node":"artifact-share-banned",children:[e_(er,"artifact-share-banned-header"),(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__content",children:[(0,r.jsxs)("div",{className:"core-artifact-share-url-modal__banned-message",children:[(0,r.jsx)(n.G_L,{className:"core-artifact-share-url-modal__info-icon"}),(0,r.jsx)("span",{className:"core-artifact-share-url-modal__banned-message-text",children:es})]}),(0,r.jsx)("div",{className:"core-artifact-share-url-modal__actions","data-figma-node":"artifact-share-banned-actions",children:(0,r.jsx)(a.A,{type:"primary",size:"large",className:"core-artifact-share-url-modal__generate-button",disabled:!0,children:(0,r.jsx)("span",{className:"core-artifact-share-url-modal__generate-button-label",children:el})})})]})]}),ek=Y?ev:"active"===m?eb:"banned"===m?eS:ey,ex=(0,r.jsx)("button",{type:"button",className:"core-artifact-share-url-modal__fallback-trigger","aria-label":eu,children:eu});return(0,r.jsx)(o.A,{content:ek,side:"bottom",align:"end",sideOffset:4,showArrow:!1,open:e,disabled:t,onOpenChange:e=>{e||h()},contentClassName:"core-artifact-share-url-modal__popover-content",children:u??ex})}).displayName="ArtifactShareUrlModal"},80670(e,t,i){i.d(t,{P:()=>K});var r=i(97282),s=i(51649);let n={tag:"tag-I1YOry",default:"default-krvHS_",large:"large-RrGNwz",withBackground:"withBackground-IuLDcw",icon:"icon-fa7kxP"},a=(0,s.memo)((0,s.forwardRef)(({size:e="default",background:t=!0,color:i,iconColor:s,icon:a,children:o,className:l,style:c,...d},u)=>{let h=[n.tag,n[e],t&&n.withBackground,l].filter(Boolean).join(" "),p={...c,...i&&{color:i}},m=s?{color:s}:void 0;return(0,r.jsxs)("span",{ref:u,className:h,style:p,...d,children:[a&&(0,r.jsx)("span",{className:n.icon,style:m,children:a}),o]})}));a.displayName="Tag";let o=a;var l=i(69611),c=i(19755);let d={icon:"icon-v5y6c_",primary:"primary-frbXoD",secondary:"secondary-o02t28",tertiary:"tertiary-PID24s",quaternary:"quaternary-WLGWIC",small:"small-YIbHXl",default:"default-B4GSSR",large:"large-xmdlLN",disabled:"disabled-Gpg7Oc"},u=(0,s.memo)((0,s.forwardRef)(({size:e="default",variant:t,children:i,icon:s,className:n,tooltip:a,tooltipProps:o,disabled:l,...u},h)=>{let p=[d.icon,d[e],t&&d[t],l&&d.disabled,n].filter(Boolean).join(" "),m=(0,r.jsx)("span",{ref:h,className:p,...u,children:s||i});return a?(0,r.jsx)(c.A,{content:a,...o,children:m}):m}));u.displayName="Icon";let h=u;var p=i(30338),m=i(84496);let f={wrapper:"wrapper-XwKrVv",disabled:"disabled-bfXdxY",track:"track-oT8T50",default:"default-_WrD5Y",small:"small-DH9R3f",checked:"checked-dAVNRq",indeterminate:"indeterminate-IDAiBZ",input:"input-vTq7uM",thumb:"thumb-Bl0Qpm",label:"label-czP4dm"},g=(0,s.memo)((0,s.forwardRef)(({checked:e,defaultChecked:t,indeterminate:i,size:n="default",label:a,disabled:o,className:l,id:c,onChange:d,...u},h)=>{let p=(0,s.useId)(),m=c||p,g=void 0!==e,[_,y]=(0,s.useState)(t??!1),v=g?e:_,b=(0,s.useCallback)(e=>{g||y(e.target.checked),d?.(e)},[g,d]),S=[f.wrapper,f[n],o&&f.disabled,l].filter(Boolean).join(" "),k=[f.track,v&&f.checked,i&&f.indeterminate].filter(Boolean).join(" ");return(0,r.jsxs)("label",{className:S,htmlFor:m,children:[(0,r.jsxs)("span",{className:k,children:[(0,r.jsx)("input",{ref:h,type:"checkbox",id:m,checked:g?e:void 0,defaultChecked:g?void 0:t,disabled:o,className:f.input,onChange:b,...u}),(0,r.jsx)("span",{className:f.thumb})]}),a&&(0,r.jsx)("span",{className:f.label,children:a})]})}));g.displayName="Switch";let _=g;var y=i(21857);let v=e=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:12,height:12,fill:"none",viewBox:"0 0 12 12",...e,children:[(0,r.jsx)("path",{fill:"currentColor",d:"M5.45 1.81c1.295 0 2.42.715 3.01 1.77q-.462.091-.876.286A2.55 2.55 0 0 0 5.45 2.71a2.55 2.55 0 0 0-2.412 1.72l-.09.261-.275.038a2.05 2.05 0 0 0 .276 4.08h2.887c.167.332.384.635.64.901H2.95a2.95 2.95 0 0 1-.665-5.825A3.45 3.45 0 0 1 5.45 1.81"}),(0,r.jsx)("path",{fill:"currentColor",d:"M8.93 4.023a3.07 3.07 0 0 1 2.493 4.864 3.08 3.08 0 0 1-1.514 1.12c-.154.031-.211-.065-.211-.146 0-.103.003-.433.003-.844 0-.288-.095-.472-.207-.568.683-.077 1.401-.338 1.401-1.516 0-.338-.119-.61-.314-.825.03-.077.138-.392-.031-.814 0 0-.257-.085-.845.315a2.9 2.9 0 0 0-.767-.104 2.9 2.9 0 0 0-.768.104c-.587-.396-.844-.315-.844-.315-.17.422-.062.737-.031.814a1.2 1.2 0 0 0-.315.825c0 1.174.714 1.44 1.397 1.516a.65.65 0 0 0-.195.41c-.177.081-.618.212-.895-.253-.057-.092-.23-.318-.472-.314-.257.003-.104.145.004.203.13.073.28.345.315.434.061.172.26.503 1.032.36 0 .258.004.5.004.572 0 .081-.058.173-.211.146a3.07 3.07 0 0 1-2.1-2.913 3.07 3.07 0 0 1 3.071-3.07"})]});var b=i(25188);let S="listRow-ebXJ21",k="rowLeft-LUwObt",x="rowEnvIcon-WA2NBK",C="rowName-wrF2QF",w="rowSchedule-kevDRi",E="rowRight-miQ9Jg",T="container-h3CNRp",I="top-FtxM_k",R="leftContent-qXgHCJ",N="titleRow-JwRkI2",A="taskName-I40XgY",M="description-Ds54yH",P="arrowIcon-nTsP1t",j="dividerArea-Yha7sY",L="dividerLine-KCGU3L",D="bottom-BIUrFq",O="bottomRight-Z4AoOS",F="bottomTag-aLznXK",U="bottomRightTag-O25Ndc",V="tagText-CaTfmQ",B="bottomIcon-NuU00r",z="menu-QOXNb6",W="menuItem-tz349u",H="menuItemDanger-SypM8M",G="menuIconDanger-E_iOHc";var Z=i(76933);let K=(0,s.memo)(function({task:e,variant:t="default",showEnvIcon:i=!0,onRun:n,onToggle:a,onDelete:d,onEdit:u,onClick:f}){let{localize:g}=(0,b.s9)(),[K,X]=(0,s.useState)(!1),Y=(0,s.useCallback)(t=>{t.stopPropagation(),n?.(e.id)},[n,e.id]),J=(0,s.useCallback)(()=>{"simple"===t?f?.(e):u?.(e)},[t,f,u,e]),$=(0,s.useCallback)(t=>{t.stopPropagation(),a?.(e.id,t.target.checked)},[a,e.id]);if("simple"===t)return(0,r.jsxs)("div",{className:T,onClick:J,children:[(0,r.jsxs)("div",{className:I,children:[(0,r.jsx)("div",{className:R,children:(0,r.jsxs)("div",{className:N,children:[(0,r.jsx)("span",{className:A,children:e.name}),e.tag&&(0,r.jsx)(o,{size:"large",color:"var(--text-text-secondary)",style:{background:"var(--bg-bg-overlay-l1, rgba(86,99,119,0.06))"},children:e.tag?.charAt(0).toUpperCase()+e.tag?.slice(1).toLowerCase()})]})}),(0,r.jsx)("div",{className:P,children:(0,r.jsx)(Z.D6g,{})})]}),(0,r.jsx)("div",{className:M,children:e.description}),(0,r.jsx)("div",{className:j,children:(0,r.jsx)("div",{className:L})}),(0,r.jsxs)("div",{className:D,children:[(0,r.jsx)(o,{size:"large",background:!1,icon:(0,r.jsx)(Z.dx0,{className:B}),color:"var(--text-text-tertiary)",className:F,children:e.schedule}),(0,r.jsx)("div",{className:O,children:(()=>{let t="remote"===e.env;return t&&e.projectName?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o,{size:"large",background:!1,icon:(0,r.jsx)(v,{className:B}),color:"var(--text-text-tertiary)",className:U,children:(0,r.jsx)("span",{className:V,children:e.projectName})}),e.branchName&&(0,r.jsx)(o,{size:"large",background:!1,icon:(0,r.jsx)(Z.Mpl,{className:B}),color:"var(--text-text-tertiary)",className:U,children:(0,r.jsx)("span",{className:V,children:e.branchName})})]}):t?(0,r.jsx)(o,{size:"large",background:!1,icon:(0,r.jsx)(Z.VUu,{className:B}),color:"var(--text-text-tertiary)",className:U,children:(0,r.jsx)("span",{className:V,children:g("trae-chat-core.automation.card.env_remote",void 0,"Cloud")})}):e.projectName?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o,{size:"large",background:!1,icon:(0,r.jsx)(y.AR,{className:B}),color:"var(--text-text-tertiary)",className:U,children:(0,r.jsx)("span",{className:V,children:e.projectName})}),e.branchName&&(0,r.jsx)(o,{size:"large",background:!1,icon:(0,r.jsx)(Z.Mpl,{className:B}),color:"var(--text-text-tertiary)",className:U,children:(0,r.jsx)("span",{className:V,children:e.branchName})})]}):"local"===e.env?(0,r.jsx)(o,{size:"large",background:!1,icon:(0,r.jsx)(Z.VaU,{className:B}),color:"var(--text-text-tertiary)",className:U,children:(0,r.jsx)("span",{className:V,children:g("trae-chat-core.automation.card.env_local",void 0,"Local")})}):null})()})]})]});let q=(0,s.useCallback)(async()=>{X(!1),await l.lJ.show({title:g("trae-chat-core.automation.card.delete_title",void 0,"Delete automation task"),content:g("trae-chat-core.automation.card.delete_content",{name:e.name},`Are you sure you want to delete "${e.name}"? This action can't be undone.`),confirmText:g("trae-chat-core.automation.card.delete_confirm",void 0,"Delete"),cancelText:g("trae-chat-core.automation.card.delete_cancel",void 0,"Cancel")})&&await d?.(e.id)},[d,e.id,e.name]),Q=(0,r.jsx)("div",{className:z,children:(0,r.jsxs)("div",{className:`${W} ${H}`,onClick:q,children:[(0,r.jsx)(Z.xV8,{className:G}),(0,r.jsx)("span",{children:g("trae-chat-core.automation.card.delete",void 0,"Delete")})]})});return(0,r.jsxs)("div",{className:S,onClick:J,children:[(0,r.jsxs)("div",{className:k,children:[i&&("remote"===e.env?(0,r.jsx)(h,{size:"default",icon:(0,r.jsx)(Z.VUu,{}),className:x}):(0,r.jsx)(h,{size:"default",icon:(0,r.jsx)(Z.VaU,{}),className:x})),(0,r.jsx)("span",{className:C,children:e.name}),e.tag&&(0,r.jsx)(o,{size:"large",color:"var(--text-text-secondary)",style:{background:"var(--bg-bg-overlay-l1, rgba(86,99,119,0.06))"},children:e.tag?.charAt(0).toUpperCase()+e.tag?.slice(1).toLowerCase()}),e.schedule&&(0,r.jsx)("span",{className:w,children:(0,r.jsx)("span",{children:e.schedule})})]}),(0,r.jsxs)("div",{className:E,onClick:e=>e.stopPropagation(),children:[(0,r.jsx)(p.A,{content:Q,side:"bottom",align:"end",showArrow:!1,sideOffset:4,open:K,onOpenChange:X,children:(0,r.jsx)(c.A,{content:g("trae-chat-core.automation.card.more",void 0,"More"),side:"top",children:(0,r.jsx)(m.A,{variant:"tertiary",size:"small",icon:(0,r.jsx)(Z.PyP,{})})})}),(0,r.jsx)(c.A,{content:g("trae-chat-core.automation.card.run",void 0,"Run"),side:"top",children:(0,r.jsx)(m.A,{variant:"tertiary",size:"small",icon:(0,r.jsx)(Z.yPH,{}),onClick:Y})}),(0,r.jsx)(_,{size:"small",checked:e.enabled,onChange:$})]})]})})},79123(e,t,i){var r=i(97282),s=i(51649);i(86164),i(92046),i(74134);var n=i(25188),a=i(76933);i(80670);let o="skeleton-eetdSz",l="skeletonRow-rwrZ9N",c="skeletonBlock-eBj0QU",d="skeletonAnimation-oHMe81",u=({loading:e=!0,animation:t=!0,text:i,block:s,style:n,className:a,children:u})=>{if(!e)return(0,r.jsx)(r.Fragment,{children:u});let h=t?d:"";if(s){let{width:e,height:t,borderRadius:i}=s;return(0,r.jsx)("div",{className:`${c} ${h} ${a??""}`,style:{width:"number"==typeof e?`${e}px`:e,height:"number"==typeof t?`${t}px`:t,borderRadius:"number"==typeof i?`${i}px`:i,...n}})}let p=i?.rows??3,m=i?.width??[],f=i?.rowHeight??12,g=i?.gap??12;return(0,r.jsx)("div",{className:`${o} ${a??""}`,style:{gap:g,...n},children:Array.from({length:p}).map((e,t)=>{let i=m[t]??(t===p-1?"60%":"100%");return(0,r.jsx)("div",{className:`${l} ${h}`,style:{width:"number"==typeof i?`${i}px`:i,height:f}},t)})})},h=({width:e,height:t,borderRadius:i,...s})=>(0,r.jsx)(u,{block:{width:e,height:t,borderRadius:i},...s}),p="skeletonListContainer-Cztdja",m="skeletonListRow-OPodUJ",f="skeletonListLeft-Iy_dyC",g="skeletonListRight-uO5Xu4",_="skeletonHistoryContainer-ajswMC",y="skeletonDateLabel-BPF0Xf",v="skeletonHistoryRow-liM__z",b="skeletonTimelineCol-N4_XZF",S="skeletonTimelineLine-KdCOrU",k="skeletonHistoryContent-BUD8tJ",x="skeletonHistoryMeta-H28ZZk",C="skeletonTemplateContainer-p7QVFh",w="skeletonTemplateCard-dX4lkq",E=4;(0,s.memo)(()=>(0,r.jsx)("div",{className:p,children:Array.from({length:E}).map((e,t)=>(0,r.jsxs)("div",{className:m,children:[(0,r.jsxs)("div",{className:f,children:[(0,r.jsx)(h,{width:20,height:20,borderRadius:4}),(0,r.jsx)(h,{width:120+20*t,height:16,borderRadius:4}),(0,r.jsx)(h,{width:40,height:18,borderRadius:4}),(0,r.jsx)(h,{width:60,height:14,borderRadius:4})]}),(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)(h,{width:24,height:24,borderRadius:4}),(0,r.jsx)(h,{width:24,height:24,borderRadius:4}),(0,r.jsx)(h,{width:28,height:16,borderRadius:8})]})]},t))})).displayName="TaskListSkeleton";let T=[{infoWidth:330},{infoWidth:240},{infoWidth:300},{infoWidth:200},{infoWidth:280}];(0,s.memo)(()=>(0,r.jsx)("div",{className:_,children:T.map((e,t)=>(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:y,children:(0,r.jsx)(h,{width:80,height:16,borderRadius:4})}),Array.from({length:2}).map((t,i)=>(0,r.jsxs)("div",{className:v,children:[(0,r.jsxs)("div",{className:b,children:[(0,r.jsx)(h,{width:16,height:16,borderRadius:"50%"}),(0,r.jsx)("div",{className:S})]}),(0,r.jsxs)("div",{className:k,children:[(0,r.jsx)(h,{width:e.infoWidth,height:16,borderRadius:4}),(0,r.jsx)("div",{className:x,children:(0,r.jsx)(h,{width:160,height:16,borderRadius:4})})]})]},i))]},t))})).displayName="RunHistorySkeleton";let I=6;(0,s.memo)(()=>(0,r.jsx)("div",{className:C,children:Array.from({length:I}).map((e,t)=>(0,r.jsxs)("div",{className:w,children:[(0,r.jsx)(h,{width:48,height:48,borderRadius:5.6}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[(0,r.jsx)(h,{width:120,height:16,borderRadius:4}),(0,r.jsx)(h,{width:"100%",height:16,borderRadius:4})]})]},t))})).displayName="TaskTemplateSkeleton",i(55673),i(21857);let R="container-cKr3zv",N="dayButton-Ted8TV",A="selected-MAdnw1";(0,s.memo)(({value:e,onChange:t})=>{let{localize:i}=(0,n.s9)(),a=(0,s.useMemo)(()=>[i("trae-chat-core.automation.weekday.mon",void 0,"Mo"),i("trae-chat-core.automation.weekday.tue",void 0,"Tu"),i("trae-chat-core.automation.weekday.wed",void 0,"We"),i("trae-chat-core.automation.weekday.thu",void 0,"Th"),i("trae-chat-core.automation.weekday.fri",void 0,"Fr"),i("trae-chat-core.automation.weekday.sat",void 0,"Sa"),i("trae-chat-core.automation.weekday.sun",void 0,"Su")],[i]),o=i=>{e.includes(i)?t(e.filter(e=>e!==i)):t([...e,i])};return(0,r.jsx)("div",{className:R,children:a.map((t,i)=>{let s=i+1,n=e.includes(s);return(0,r.jsx)("button",{type:"button",className:`${N}${n?` ${A}`:""}`,onClick:()=>o(s),children:t},s)})})}).displayName="WeekdayToggle";var M=i(30338),P=i(74276);let j="trigger-HIZJcj",L="triggerContent-GJZGgI",D="triggerText-GSPp5g",O="triggerIcon-tqI7aC",F="popoverHighZ-KgR2GN",U="grid-VyXfdx",V="cell-MaeIaA",B="cellSelected-muTju9",z=Array.from({length:31},(e,t)=>t+1);(0,s.memo)(({value:e,onChange:t,zIndex:i})=>{let{localize:o}=(0,n.s9)(),[l,c]=(0,s.useState)(!1),d=(0,s.useCallback)(e=>{t(e),c(!1)},[t]),u=(0,r.jsx)("div",{className:U,children:z.map(t=>(0,r.jsx)("button",{type:"button",className:`${V}${t===e?` ${B}`:""}`,onClick:()=>d(t),children:t},t))});return(0,r.jsx)(M.A,{content:u,side:"bottom",align:"start",showArrow:!1,sideOffset:4,open:l,onOpenChange:c,...void 0!==i?{className:F}:{},children:(0,r.jsx)("button",{type:"button",className:j,onClick:()=>c(e=>!e),children:(0,r.jsxs)("span",{className:L,children:[(0,r.jsx)("span",{className:D,children:(0,P.MD)(e,o)}),(0,r.jsx)(a.Y7q,{className:O,style:{width:16,height:16}})]})})})}).displayName="DayGridPicker",Array.from({length:24},(e,t)=>t),Array.from({length:60},(e,t)=>t),i(99965),i(38016),i(85500),i(77068),i(53253),i(57339),i(79297),i(94609),i(19951),i(48671),i(25415)},73367(e,t,i){i(97282)},23845(e,t,i){i.d(t,{G:()=>S,Ke:()=>E,Au:()=>P,qK:()=>k,Am:()=>D,$p:()=>l,vj:()=>o,mt:()=>y.Qpg,bJ:()=>R});var r=i(97282),s=i(51649),n=i(13962),a=i(25188);let o=(0,s.memo)(function({status:e,text:t,icon:i,shimmer:o,className:l}){let{localize:c}=(0,a.s9)(),d=(0,s.useMemo)(()=>({generating:c("trae-chat-core.card-status.generating",{},"Generating"),success:c("trae-chat-core.card-status.success",{},"Success"),failed:c("trae-chat-core.card-status.failed",{},"Failed"),warning:c("trae-chat-core.card-status.warning",{},"Warning"),canceled:c("trae-chat-core.card-status.canceled",{},"Canceled"),running:c("trae-chat-core.card-status.running",{},"Running"),needconfirm:c("trae-chat-core.card-status.needconfirm",{},"Waiting for response")}),[c]),u=(0,s.useMemo)(()=>t??d[e],[t,e,d]);return(0,r.jsxs)("div",{className:`core-card-status core-card-status--${e} ${l??""}`,children:[(0,r.jsx)("span",{className:`core-card-status__indicator ${i?"core-card-status__indicator--icon":""}`,children:i}),o?(0,r.jsx)(n.A,{active:!0,className:"core-card-status__text",children:u}):(0,r.jsx)("span",{className:"core-card-status__text",children:u})]})});var l=function(e){return e[e.Critical=1]="Critical",e[e.Moderate=2]="Moderate",e[e.Silent=3]="Silent",e}({}),c=i(4235),d=i(19755),u=i(16825),h=i(28304),p=i(5810),m=i(78599),f=i(77037),g=i(71417),_=i(95938),y=i(76933);let v={status:m.oj.Running,isRunning:!1,isSuccess:!1,isFailed:!1,isInterrupted:!1,isWaitingConfirm:!1,isCanceled:!1,isConfirmed:!1};function b(){let e=(0,c.useContextSelector)(u.l,e=>void 0!==e),t=(0,c.useContextSelector)(u.l,e=>e?.resultStatus),i=(0,c.useContextSelector)(h._y,e=>e?.isHistory??!1),r=(0,c.useContextSelector)(p.V,e=>e?.planItem?.confirmInfo),n=(0,f.i)(r);return(0,c.useContextSelector)(p.V,e=>e?.planItem?.confirmInfo?.confirm_status),(0,s.useMemo)(()=>{if(e)return(0,m.XA)({isHistory:i,resultStatus:t,confirmStatus:r?.confirm_status,blockLevel:r?.block_level,suppressManualConfirm:n})},[e,i,t,r?.confirm_status,r?.block_level,n])}let S=(0,s.memo)(function({icon:e,title:t,failLevel:i,children:h,showConnector:m=!1,headerActions:f,headerSuffix:S,className:k,bodyClassName:x,loading:C,collapsible:w=!1,defaultExpanded:E=!1}){let T=(0,a.s9)(),I=b()??v,R=(0,c.useContextSelector)(u.l,e=>void 0!==e),N=(0,c.useContextSelector)(p.V,e=>e?.planItem?.confirmInfo),A=R?(0,g.rK)(N?.auto_review_result,T.localize):void 0,M=C??I.isRunning,[P,j]=(0,s.useState)(E),L=(0,s.useCallback)(()=>{w&&j(e=>!e)},[w]),D=!w||P,O=(0,_.I)(),F=!1!==h&&(m||(O?.showConnector??!1)),U=I.isFailed&&null!=i,V=(0,s.useMemo)(()=>"function"==typeof h?h(I):h,[h,I]),B=(0,s.useMemo)(()=>U&&i===l.Critical?(0,r.jsx)(d.A,{content:T.localize("trae-chat-core.toolcall-base-card.moderate-fail-tip",{},"Fail"),side:"top",children:(0,r.jsx)(y.YuY,{className:"core-toolcall-base-card__icon--warning"})}):e,[U,i,e,T]),z=(0,s.useMemo)(()=>U&&i===l.Moderate?(0,r.jsx)(d.A,{content:T.localize("trae-chat-core.toolcall-base-card.moderate-fail-tip",{},"Fail"),side:"top",children:(0,r.jsx)(y.goM,{className:"core-toolcall-base-card__title-warning"})}):null,[U,i,T]),W=(0,s.useMemo)(()=>{if(A){let e=(0,r.jsx)(o,{status:A.status,text:A.text,icon:A.icon,shimmer:A.shimmer});return A.tooltip?(0,r.jsx)(d.A,{content:A.tooltip,side:"top",children:e}):e}return M&&!I.isWaitingConfirm?null:I.isWaitingConfirm?(0,r.jsx)(o,{status:"needconfirm"}):U?(l.Silent,null):I.isSuccess?null:I.isCanceled||I.isInterrupted?(0,r.jsx)(o,{status:"canceled"}):null},[A,U,i,I,M]),H=null!=V,G=null!=B;return(0,r.jsxs)("div",{className:`core-toolcall-base-card ${k??""}`,children:[(0,r.jsxs)("div",{className:`core-toolcall-base-card__header ${w?"core-toolcall-base-card__header--clickable":""}`,onClick:L,children:[B&&(0,r.jsx)("div",{className:"core-toolcall-base-card__icon",children:B}),(0,r.jsxs)("div",{className:"core-toolcall-base-card__title-area",children:[t&&(0,r.jsx)(n.A,{active:M,className:"core-toolcall-base-card__title",children:t}),S&&(0,r.jsx)("div",{className:"core-toolcall-base-card__header-suffix",children:"string"==typeof S?(0,r.jsx)("span",{className:"core-toolcall-base-card__header-suffix-text",children:S}):S}),z,W,w&&(0,r.jsx)("span",{className:`core-toolcall-base-card__collapse-icon ${P?"core-toolcall-base-card__collapse-icon--expanded":""}`,children:(0,r.jsx)(y._l8,{})})]}),f&&(0,r.jsx)("div",{className:"core-toolcall-base-card__actions",children:f})]}),w&&!P&&G&&(0,r.jsx)("div",{className:"core-toolcall-base-card__connector-stub",children:(0,r.jsx)("div",{className:"core-toolcall-base-card__connector core-toolcall-base-card__connector--visible"})}),D&&(F||H)&&(0,r.jsxs)("div",{className:"core-toolcall-base-card__body-row",children:[G&&(0,r.jsx)("div",{className:`core-toolcall-base-card__connector ${F?"core-toolcall-base-card__connector--visible":""}`}),(0,r.jsx)("div",{className:`core-toolcall-base-card__body ${x??""}`,children:V})]})]})}),k=y.ZRj;var x=i(98757);let C=240,w=600,E=(0,s.memo)(function({children:e,collapsedHeight:t=C,expandedHeight:i=w,defaultExpanded:n=!1,className:o,onVisibleChange:l}){let c=(0,s.useRef)(null);(0,s.useRef)(!1);let[d,u]=(0,s.useState)(!1),[h,p]=(0,s.useState)(n),{theme:m}=(0,x.DP)(),{reportCollapseClick:f}=(0,a.M6)({cardType:a.FC.CollapsibleContent});(0,s.useEffect)(()=>{let e=c.current;if(!e)return;let i=()=>{u(e.scrollHeight>t)};i();let r=new ResizeObserver(i);return r.observe(e),()=>r.disconnect()},[t]);let g=(0,s.useCallback)(()=>{let e=!h;f(e?"expand":"collapse"),p(e)},[h,f]),_=d&&!h,v=d;(0,s.useEffect)(()=>{l?.(!_)},[_,l]);let b={"--collapsible-collapsed-height":`${t}px`,"--collapsible-expanded-height":`${i}px`},S=v?h?"core-collapsible-content--expanded":"core-collapsible-content--collapsed":"",k=`core-collapsible-content__body${h?" custom-scrollbar":""}`;return(0,r.jsxs)("div",{className:`core-collapsible-content ${S} ${o??""}`,style:b,children:[(0,r.jsxs)("div",{className:k,children:[(0,r.jsx)("div",{className:"core-collapsible-content__inner",ref:c,children:e}),_&&(0,r.jsx)("div",{className:`core-collapsible-content__mask core-collapsible-content__mask--${m}`})]}),v&&(0,r.jsx)("button",{type:"button",className:"core-collapsible-content__toggle",onClick:g,children:(0,r.jsx)("span",{className:`core-collapsible-content__toggle-icon ${h?"core-collapsible-content__toggle-icon--expanded":""}`,children:(0,r.jsx)(y.Y7q,{style:{width:14,height:14}})})})]})}),T=15;function I({items:e,pageSize:t=T,renderItem:i,keyExtractor:n,className:o,listClassName:l,itemStyled:c=!0,onItemClick:d,itemClassName:u,itemProps:h}){let[p,m]=(0,s.useState)(t),{reportCollapseClick:f}=(0,a.M6)({cardType:a.FC.ShowMoreList}),g=(0,s.useMemo)(()=>e.slice(0,p),[e,p]),_=e.length-p>0,y=(0,s.useCallback)(()=>{f("expand"),m(e=>e+t)},[t,f]);return(0,r.jsxs)("div",{className:`core-show-more-list ${o??""}`,children:[(0,r.jsx)("div",{className:`core-show-more-list__body${l?` ${l}`:""}`,children:g.map((e,t)=>{let s=c?`core-show-more-list__item${d?" core-show-more-list__item--clickable":""}${u?` ${u}`:""}`:`core-show-more-list__item-wrapper${u?` ${u}`:""}`;return(0,r.jsx)("div",{className:s,onClick:d?i=>d(e,t,i):void 0,...h,children:i(e,t)},n(e,t))})}),_&&(0,r.jsxs)("div",{className:"core-show-more-list__footer",children:[(0,r.jsx)("div",{className:"core-show-more-list__mask"}),(0,r.jsx)("button",{type:"button",className:"core-show-more-list__toggle",onClick:y,children:"Show more"})]})]})}let R=(0,s.memo)(I);var N=i(1563),A=i(52499),M=i(70325);let P="core.file-icon",j=(0,s.memo)((0,s.forwardRef)(function(e,t){return(0,r.jsx)(N.Ay,{ref:t,...e})}));function L(){let e=(0,A.IW)();return(0,s.useMemo)(()=>e?.getComponent(M.M.Widget,P)??j,[e])}let D=(0,s.memo)((0,s.forwardRef)(function(e,t){let i=L();return(0,r.jsx)(i,{ref:t,...e})}))},95938(e,t,i){i.d(t,{I:()=>n,j:()=>s});var r=i(51649);let s=(0,r.createContext)(void 0);function n(){return(0,r.useContext)(s)}},34216(e,t,i){i(97282),i(51649);var r=i(76933);i(25188),i(41748),i(27872),r.A2P,r.fye,r.SJM,r.KqQ,r.g6N,r.g6N},545(e,t,i){i.d(t,{J:()=>ex});var r=i(97282),s=i(51649),n=i(57215),a=i(28304),o=i(88539),l=i(74134),c=i(25188),d=i(48671),u=i(13545),h=i(24312),p=i(8780),m=i(92046),f=i(12218),g=i(79297),_=i(41748),y=i(6602),v=i(11831);function b({sessionId:e,userMessageId:t,agentMessageId:i,errorCode:r,userMessageContext:s}){let n=(0,d.h1)(l.B.SessionAppService),a=(0,d.h1)(l.B.StreamStore),o=(0,d.$Q)(l.B.CNCommercialService),b=(0,c.y5)(),S=(0,p.A)(()=>{if(t&&e){if((0,y.YW)(s))if((0,y._H)(s)){let i=(0,y.TW)(s);if(i&&i.length>0)return void n?.retryMessage(e,t,i)}else{let i=[{type:"text",data:{content:"\u7EE7\u7EED"}}];n?.retryMessage(e,t,i);return}n?.retryMessage(e,t)}}),k=(0,p.A)(()=>{e&&i&&(b.report(v.qu.CodeCompRetryClick,{is_resume:1,user_message_id:t||"",agent_message_id:i||""}),n?.resumeMessage(e,i))}),x=(0,p.A)(()=>{t&&e&&(b.report("fast_request_toggle",{action:"click",status:"off",source:"error_card"}),o?.enableAndShowGuide(),n?.retryWithFastRequest(e,t))}),C=(0,p.A)(()=>{e&&n?.continueSession(e)}),w=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.Diagnostics);e?.openNetworkDiagnostics()}),E=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.Entitlement);e?.upgrade({openFrom:(0,f.bC)(f.be.ErrorCard,f.JT.General)})}),T=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.Entitlement);e?.openUsagePage()}),I=(0,p.A)(e=>{let t=m.XT.tryResolve(l.F.OpenWebClient);t?.openWebClient(e)}),R=(0,p.A)(()=>{if(e)if((0,h.Ov)()===h.uC.SoloLite){let t=_.eA.sessionById.get(e),i=t?.env??g.nN.Local;n?.initSessionForSoloLite(e,i)}else n?.initSession(e)}),N=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.TraeApi);e?.vm?.start({force:!0}).then(()=>R())}),A=(0,p.A)(()=>{e&&a?.core.resumeSubscription(e)}),M=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.ErrorCard);e?.createNewTask()}),P=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.ErrorCard);e?.resetPPEConfig()}),j=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.ErrorCard);e?.openFeilian()}),L=(0,p.A)(e=>{let t=m.XT.tryResolve(l.F.ErrorCard);t?.openFAQ(e)}),D=(0,p.A)(e=>{if(!e)return;let t=m.XT.tryResolve(l.F.ErrorCard);t?.openExternalUrl(e)}),O=(0,p.A)(()=>{let e=m.XT.tryResolve(l.F.ModelSelect);e?.closeAutoModeAndOpenModelSelect?.()}),F=(0,p.A)(e=>{let t=m.XT.tryResolve(l.F.ModelSelect);t?.refreshModelList?.({source:e})}),U=(0,p.A)((e,t)=>{switch(e){case u.lz.Retry:case u.lz.RetryWithResume:S();break;case u.lz.Continue:C();break;case u.lz.Diagnose:w();break;case u.lz.Upgrade:E();break;case u.lz.ViewUsage:T();break;case u.lz.OpenWebClient:I(t?.path);break;case u.lz.NewTask:M();break;case u.lz.ResetPPEConfig:P();break;case u.lz.OpenFeilian:j();break;case u.lz.OpenFAQ:L(t?.url);break;case u.lz.OpenExternalUrl:D(t?.url);break;case u.lz.CloseAutoModeAndOpenModelSelect:O();break;case u.lz.RefreshModelList:F(t?.source);break;case u.lz.RefreshSession:R();break;case u.lz.RetryLiteVM:N();break;case u.lz.Resume:k()}});return{handleRetry:S,handleResume:k,handleRetryWithFastRequest:x,handleContinue:C,handleDiagnose:w,handleUpgrade:E,handleViewUsage:T,handleOpenWebClient:I,handleRefreshSession:R,handleRetryLiteVM:N,handleResumeStream:A,handleAction:U,isActionAvailable:(0,p.A)(e=>!(e===u.lz.Diagnose&&(0,h.wx)()))}}function S(){let e=(0,c.s9)(),t=(0,c.Hr)(),i=(0,s.useMemo)(()=>{let e=m.XT.tryResolve(l.F.BootServiceConfig);return e?.getFeedbackMail?.()||"feedback@mail.trae.ai"},[]),n=(0,s.useCallback)(()=>{i&&t?.openUrl({url:`mailto:${i}`,target:"_self"})},[i,t]),a=(0,r.jsx)("span",{onClick:n,style:{textDecoration:"underline",cursor:"pointer"},children:i},"email-link"),o=(0,s.useMemo)(()=>e.localizeWithReactNode("trae-chat-core.error.riskRequest_v2",{email:a}),[e,a]);return{feedbackMail:i,emailLink:a,fallbackContent:o}}function k(e){if(e&&"object"==typeof e)return e}function x(){let e=(0,a.hE)(e=>e.agentMessage),t=(0,a.hE)(e=>e.userMessage),i=(0,a.hE)(e=>e.userMessageId),r=(0,a.hE)(e=>e.status),n=(0,o.Fy)(e=>e.sessionId),c=(0,o.Fy)(e=>e.session),u=(0,d.h1)(l.B.EnvStore).ppeEnvName.use();return(0,s.useMemo)(()=>{let s=m.XT.tryResolve(l.F.ErrorCard),a=s?.getHostContext()??{},o=e?.userMessageContext??t?.userMessageContext,d=k(o?.model_info),h=e?.modelSmartSelectionMeta,p=d??(h?{config_name:h.config_name}:void 0);return{sessionId:n,turnId:e?.turnId,agentMessageId:e?.messageId,userMessageId:i??t?.messageId,traceId:e?.traceId??t?.traceId,createdAt:e?.createdAt??t?.createdAt,status:r,error:e?.error,errorData:e?.error?.data,feeUsage:e?.feeUsage??t?.feeUsage,modelInfo:p,ppeEnvName:u||o?.ppe_env_name,agentProcessSupport:e?.agentProcessSupport??c?.agentProcessSupport,host:a}},[e,t,i,r,n,c,u])}function C(){let e=(0,p.A)(()=>m.XT.tryResolve(l.F.ErrorCard)),t=(0,p.A)(()=>m.XT.tryResolve(l.F.ModelSelect)),i=(0,p.A)(()=>{e()?.resetPPEConfig()}),r=(0,p.A)(()=>{e()?.createNewTask()}),s=(0,p.A)(()=>{e()?.openFeilian()}),n=(0,p.A)(t=>{e()?.openFAQ(t)}),a=(0,p.A)(t=>{e()?.openExternalUrl(t)});return{resetPPEConfig:i,createNewTask:r,openFeilian:s,openFAQ:n,openExternalUrl:a,closeAutoModeAndOpenModelSelect:(0,p.A)(()=>{t()?.closeAutoModeAndOpenModelSelect?.()}),refreshModelList:(0,p.A)(e=>{t()?.refreshModelList?.(e)})}}var w=i(19164),E=i(63379);function T({coreText:e,request:t,extra:i}){if(!i)return e;if(i.isStable||i.isMarketPackage){let e=i.region?`${i.region}.`:"",r=i.userId||"no_user",s=t.traceId||"no_trace",n=t.sessionId||"no_session",a=t.agentMessageId||"no_message",o=t.userMessageId||"no_reply",l=i.appName||"unknown_app",c=i.formattedCreateTime?`.T(${i.formattedCreateTime})`:"";return`${e}${r}:${s}_${n}.${a}.${o}:${l}${c}`}return"bytedance"===i.userScope?JSON.stringify({region:i.region,traceId:t.traceId,userId:i.userId,userScope:i.userScope,chatSessionId:t.sessionId,replyToMessageId:t.userMessageId,messageId:t.agentMessageId,appName:i.appName,coreDebugInfo:e,...i.extraPayload}):e}async function I(e,t){let i=m.XT.tryResolve(l.F.Clipboard);if("function"==typeof i?.copyText){if(!await i.copyText(e,{message:t,type:"success",duration:2e3}))throw Error("Clipboard port copy failed");return{successToastHandled:!0}}return await navigator.clipboard.writeText(e),{successToastHandled:!1}}function R({agentMessage:e,sessionId:t,userMessageId:i,errorCardContext:r}){let s=(0,c.s9)(),n=(0,p.A)(()=>m.XT.tryResolve(l.F.ErrorCard)),a=(0,p.A)(()=>({sessionId:t,agentMessageId:e?.messageId,userMessageId:i,traceId:r.traceId,createdAt:r.createdAt,error:e?.error}));return{copyDetail:(0,p.A)(()=>{if(!e)return;let r=a(),o=(0,E.nq)({agentMessage:e,sessionId:t,userMessageId:i,error:e.error}),l=n(),c=s.localize("trae-chat-core.error.common.copySuccess",{},"Copy successful");(l?.getDebugInfoExtra(r)??Promise.resolve(void 0)).then(e=>I(T({coreText:o,request:r,extra:e}),c)).then(({successToastHandled:e})=>{e||w.oR.success(c)},()=>{w.oR.error(s.localize("trae-chat-core.error.common.copyFailed",{},"Copy failed"))})}),copyDoubleClickPayload:(0,p.A)(()=>{let e=n();if(!e?.buildDoubleClickCopyPayload)return;let t=a();e.buildDoubleClickCopyPayload(t).then(e=>{if(e)return I(JSON.stringify(e),s.localize("trae-chat-core.error.common.copySuccess",{},"Copy successful"))}).catch(()=>{})})}}var N=i(30886);let A=new Set([N.Yb.ENTERPRISE_SEAT_MODEL_USAGE_EXHAUSTED,N.Yb.ENTERPRISE_ALL_MODEL_TENANT_QUOTA_EXCEEDED,N.Yb.ENTERPRISE_ALL_MODEL_USER_QUOTA_EXCEEDED,N.Yb.ENTERPRISE_PER_MODEL_TENANT_QUOTA_EXCEEDED,N.Yb.ENTERPRISE_PER_MODEL_USER_QUOTA_EXCEEDED,N.Yb.ENTERPRISE_QUOTA_CONFIG_INVALID,N.Yb.ENTERPRISE_SUBSCRIPTION_EXPIRED]),M={[N.Yb.MODEL_PREMIUM_QUOTA_DRAINED]:"model_premium_quota_drained",[N.Yb.PAYGO_ARREARS]:"paygo_arrears",[N.Yb.PREMIUM_MODE_USAGE_LIMIT]:"premium_usage_limit",[N.Yb.STANDARD_MODE_USAGE_LIMIT]:"standard_usage_limit",[N.Yb.SENSITIVE_CONTENT]:"content_security_blocked",[N.Yb.FREE_ACTIVITY_QUOTA_EXHAUSTED]:"free_activity_quota_exhausted",[N.Yb.CAN_NOT_USE_SOLO_AGENT]:"cannot_use_solo_agent",[N.Yb.CLAUDE_MODEL_FORBIDDEN]:"claude_model_forbidden",[N.Yb.REPO_LEVEL_MODEL_UNAVAILABLE]:"repo_level_model_unavailable",[N.Yb.FirewallBlocked]:"firewall_blocked",[N.Yb.RISK_REQUEST]:"risk_request",[N.Yb.RISK_REQUEST_V2]:"risk_request_v2",[N.Yb.INVALID_ARGS]:"invalid_args",[N.Yb.MODEL_OUTPUT_TOO_LONG]:"output_too_long",[N.Yb.TASK_TURN_EXCEEDED_ERROR]:"task_turn_exceeded",[N.Yb.INVALID_TOOL_CALL]:"invalid_tool_call",[N.Yb.TOOL_CALL_RETRY_LIMIT]:"tool_call_retry_limit",[N.Yb.EXTERNAL_LLM_REQUEST_FAILED]:"external_llm_request_failed",[N.Yb.CUSTOM_MODEL_ORIGIN_ERROR]:"custom_model_origin_error",[N.Yb.MODEL_NOT_EXISTED]:"model_not_existed",[N.Yb.INTERNAL_PPE_ENV_NOT_EXIST]:"ppe_error"};function P(e){if(!e)return"unknown";if(A.has(e))return"enterprise_usage";let t=M[e];return t||(N.p.includes(e)?"network_error":"general_error")}function j(e,t,i=!0){let r=(0,c.y5)(),n=e.error?.code,a=(0,s.useMemo)(()=>P(n),[n]);return(0,s.useEffect)(()=>{i&&r.report("error_card_show",{card_type:a,error_code:n,error_message:t})},[r,a,n,t,i]),{reportClick:(0,p.A)(e=>{i&&r.report("error_card_click",{card_type:a,error_code:n,error_message:t,click_type:e})})}}let L=(0,s.memo)(function({errorCode:e,errorInfo:t,isLastMessage:i,onRetry:a,onResumeStream:o,onCopyDetail:d,errorCardContext:u,hostActions:p,reportClick:f}){let g=(0,c.s9)(),_=(0,s.useCallback)(()=>{f?.("diagnose");let e=m.XT.tryResolve(l.F.Diagnostics);e?.openNetworkDiagnostics()},[f]),y=(0,s.useCallback)(()=>{(f?.("retry"),u?.agentProcessSupport==="v3"&&o)?o():a?.()},[u?.agentProcessSupport,o,a,f]),v=(0,s.useCallback)(()=>{f?.("open_feilian"),p?.openFeilian()},[p,f]),b=(0,s.useMemo)(()=>{if(!i)return;let t=[];return e!==N.Yb.CLIENT_NETWORK_ERROR_INTERNAL||u?.host.environment?.isRemoteSSH?a&&t.push({text:g.localize("trae-chat-core.error.common.retry",void 0,"Retry"),onClick:y}):t.push({text:g.localize("trae-chat-core.error.common.openFeilian",void 0,"Open SealSuite"),onClick:v}),(0,h.wx)()||t.push({text:g.localize("trae-chat-core.error.common.diagnose",void 0,"Diagnose"),onClick:_}),t.length?t:void 0},[e,u?.host.environment?.isRemoteSSH,_,v,y,g,i,a]);return(0,r.jsx)(n.A,{type:"error",message:t.message,showDetailLink:!0,detailLinkText:g.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:d,actionButtons:b})}),D=(0,s.memo)(function({errorCode:e,errorInfo:t,isLastMessage:i,onRetry:a}){let o=(0,c.s9)(),[l,d]=(0,s.useState)(i),u=e===N.Yb.CUSTOM_MODEL_ORIGIN_ERROR?o.localize("trae-chat-core.error.custom_model_origin_error.title",void 0,"Custom model request failed"):o.localize("trae-chat-core.error.externalLlmRequestFailed",void 0,"Third-party model request failed"),h=e!==N.Yb.CUSTOM_MODEL_ORIGIN_ERROR,p=i&&h&&a?[{text:o.localize("trae-chat-core.error.common.retry",void 0,"Retry"),onClick:a}]:void 0;return(0,r.jsx)(n.A,{type:"error",message:u,reason:t.reason,expanded:l,onExpandChange:d,actionButtons:p})});var O=i(94609);let F=(0,s.memo)(function({errorCode:e,errorInfo:t,errorData:i,isLastMessage:a,onCopyDetail:u,errorCardContext:h,reportClick:p}){let g=(0,c.s9)(),y=_.vN.isInternal.use(),v=(0,o.Fy)(e=>e.session),b=(0,d.h1)(l.B.ModelStore),S=(0,s.useRef)(!1),k=h?.feeUsage,x=y&&!!i?.is_internal_usage_limit,C=(0,s.useCallback)(()=>{p?.("upgrade_to_pro");let e=m.XT.tryResolve(l.F.Entitlement);e?.upgrade({openFrom:(0,f.bC)(f.be.ErrorCard,f.JT.UsageLimit)})},[p]),w=(0,s.useCallback)(()=>{p?.("view_details");let e=m.XT.tryResolve(l.F.Entitlement);e?.openUsagePage()},[p]),E=(0,s.useMemo)(()=>{if(!v?.mode||!v?.env)return"";let e=(0,O.Y6)(v.mode,v.env);return(b.modelsByAgentType.get(e)??[]).filter(e=>e.is_internal_usage_limit).map(e=>e.display_name).join(", ")},[v?.mode,v?.env,b]);if((0,s.useEffect)(()=>{if(x||S.current)return;let e=m.XT.tryResolve(l.F.Entitlement);e?.reportUsageLimitErrorShown?.({turnId:h?.turnId,sessionId:h?.sessionId,agentMessageId:h?.agentMessageId,userMessageId:h?.userMessageId,contact_type:k?.contact_type,remaining_usage:k?.remaining_usage,remaining_usage_str:k?.remaining_usage_str}),S.current=!0},[h?.agentMessageId,h?.sessionId,h?.turnId,h?.userMessageId,k?.contact_type,k?.remaining_usage,k?.remaining_usage_str,x]),x){let e=E,t=e?g.localize("trae-chat-core.error.internalUsageLimit.messageWithModels",{models:e},"{models} share a weekly quota, which has been fully used. It will reset next week. Please switch to another model to continue."):g.localize("trae-chat-core.error.internalUsageLimit.message",void 0,"Weekly quota has been fully used. It will reset next week. Please switch to another model to continue.");return(0,r.jsx)(n.A,{type:"warning",title:g.localize("trae-chat-core.error.internalUsageLimit.title",void 0,"Weekly quota reached"),message:t})}let T=e===N.Yb.PREMIUM_MODE_USAGE_LIMIT,I=h?.host.environment?.localeLanguage||"en",R=T?h?.host.dynamicConfig?.usageLimitConfig?.premiumUsageLimit:h?.host.dynamicConfig?.usageLimitConfig?.standardUsageLimit,A=R?.errorMessage?.[I]||t.message,M=R?.actionText?.[I]||g.localize("trae-chat-core.error.common.viewDetails",void 0,"View Details"),P=a?T?[{text:g.localize("trae-chat-core.error.common.upgrade",void 0,"Upgrade to Pro"),onClick:C}]:[{text:M,onClick:w}]:void 0;return(0,r.jsx)(n.A,{type:"error",message:A,showDetailLink:!0,detailLinkText:g.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:u,actionButtons:P})}),U=(0,s.memo)(function({errorInfo:e,isLastMessage:t}){let i=(0,c.s9)(),{handleContinue:s}=b({sessionId:(0,o.Fy)(e=>e.sessionId)}),a=t&&s?[{text:i.localize("trae-chat-core.error.common.continue",void 0,"Continue"),onClick:s}]:void 0;return(0,r.jsx)(n.A,{type:"warning",message:e.message,actionButtons:a})}),V=(0,s.memo)(function({errorInfo:e,isLastMessage:t,reportClick:i}){let a=(0,s.useCallback)(()=>{i?.("view_usage");let e=m.XT.tryResolve(l.F.Entitlement);e?.openUsagePage()},[i]),o=(0,s.useMemo)(()=>{if(!t)return;let i=e.actions?.find(e=>e.type===u.lz.ViewUsage);if(i)return[{text:i.text,onClick:a}]},[e.actions,a,t]);return(0,r.jsx)(n.A,{type:"error",message:e.message,actionButtons:o})});var B=i(49696),z=i(12491);let W=(0,s.memo)(function({errorInfo:e,errorData:t,isLastMessage:i,onCopyDetail:a}){let o=(0,c.s9)(),u=(0,s.useCallback)(()=>{let e=m.XT.tryResolve(l.F.Entitlement);e?.upgrade({openFrom:(0,f.bC)(f.be.ErrorCard,f.JT.SoloAgentError)})},[]),h=(0,d.h1)(l.B.CNCommercialStore).cnCommercialVisible.use(),p=_.vN.isCN.get(),g=t?.plan,y=(0,s.useMemo)(()=>(0,z.CZ)(g??1,o,p),[g,o,p]),v=(0,s.useMemo)(()=>void 0!==g?o.localize("trae-chat-core.error.canNotUseSoloAgent.withPlan",{plan:y},`This mode is exclusive to ${y} users. Upgrade to unlock the full experience.`):e.message,[g,y,e.message,o]),b=o.localize("trae-chat-core.error.common.upgrade",void 0,"Upgrade to Pro"),S=i?[{text:b,icon:h?(0,r.jsx)(B.A,{color:"green",variant:"solid",size:14,showBackground:!1}):void 0,onClick:u}]:void 0;return(0,r.jsx)(n.A,{type:"warning",message:v,showDetailLink:!0,detailLinkText:o.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:a,actionButtons:S})});var H=i(44368),G=i(2552);function Z(e,t){let i=new Date(e);if("monthly"===t){let e=i.toLocaleString("en-US",{month:"long",timeZone:"Asia/Shanghai"}),t=i.toLocaleString("en-US",{year:"numeric",timeZone:"Asia/Shanghai"});return`the 1st of ${e}, ${t}`}let r=i.toLocaleString("en-CA",{year:"numeric",timeZone:"Asia/Shanghai"}),s=i.toLocaleString("en-CA",{month:"2-digit",timeZone:"Asia/Shanghai"}),n=i.toLocaleString("en-CA",{day:"2-digit",timeZone:"Asia/Shanghai"});return`${r}-${s}-${n}`}let K=(0,s.memo)(function({errorData:e,messageId:t,isLastMessage:i,onRetryWithFastRequest:u,reportClick:h}){let p=(0,c.s9)(),g=e,_=g?.fast_request_event?.type,y=(0,o.Fy)(e=>e.sessionId),v=(0,o.Fy)(e=>e.session),b=(0,a.hE)(e=>e.agentMessage),S=(0,d.h1)(l.B.ModelStore),k=v?.mode&&v?.env?(0,O.Y6)(v.mode,v.env):void 0,x=b?.agentType??k,C=x?S.selectedModeBySession.get(y,x):void 0,w=x?S.selectedModelBySession.get(y,x):void 0,E=C===G.VY.Auto?"auto":"manual",T=(0,s.useCallback)(()=>{h?.("upgrade_now");let e=m.XT.tryResolve(l.F.Entitlement);e?.upgrade({openFrom:(0,f.bC)(f.be.ErrorCard,f.JT.CooldownActivity),trackingParams:{message_id:t,session_id:y,mode:v?.mode,env:v?.env,agent_type:x,chat_mode:E,chat_model_mode:C,is_auto_mode:+(C===G.VY.Auto),is_custom_model:+(w?.is_preset===!1),model_source:w?.config_source,...w?.name?{model:w.name,chat_model:w.name}:{},...g?.dimension?{cooldown_type:g.dimension}:{}}})},[x,E,g?.dimension,t,C,w,v?.env,v?.mode,y,h]),I=(0,s.useMemo)(()=>g?.next_flash?Z(g.next_flash):"",[g?.next_flash]),R=(0,s.useMemo)(()=>{if(!g?.dimension)return"";let e={daily:"today",weekly:"this week",monthly:"this month"}[g.dimension]??"today";return p.localize(`trae-chat-core.error.cooldownActivity.sentence1.${g.dimension}`,{resetDate:I},`You have reached your chat limit for ${e}. You can wait for the reset on ${I} at 00:00 (Beijing Time, UTC+8)`)},[g?.dimension,I,p]),N=(0,s.useMemo)(()=>_===H.kr.HasQuotaCanUse||_===H.kr.HasQuotaCannotUse?p.localize("trae-chat-core.error.cooldownActivity.sentence2.canUse",{},", or use Fast Passes to unlock more chats."):_===H.kr.NoQuotaCanUpgrade?p.localize("trae-chat-core.error.cooldownActivity.sentence2.canUpgrade",{},", or upgrade your Fast Pass benefits to unlock more chats."):"",[_,p]),A=`${R}${N}`,M=(0,d.h1)(l.B.CNCommercialStore).cnCommercialVisible.use(),P=(0,s.useMemo)(()=>{let e=g?.fast_request_event?.buttons;if(i&&e?.length)return e.map(e=>3===e.action_type?{text:p.localize("trae-chat-core.error.cooldownActivity.button.useExpress",{},"Use Express"),icon:M?(0,r.jsx)(B.A,{color:"green",variant:"outline",size:14,showBackground:!1}):void 0,onClick:()=>{h?.("use_fast_pass"),u?.()}}:1===e.action_type?{text:p.localize("trae-chat-core.error.cooldownActivity.button.upgrade",{},"Upgrade Now"),icon:M?(0,r.jsx)(B.A,{color:"green",variant:"solid",size:14,showBackground:!1}):void 0,onClick:T}:void 0).filter(Boolean)},[i,g?.fast_request_event?.buttons,p,u,T,M,h]);return(0,r.jsx)(n.A,{type:"warning",message:A,actionButtons:P})}),X=(0,s.memo)(function({errorInfo:e,errorData:t,isLastMessage:i,errorCardContext:a,reportClick:o}){let u=(0,c.s9)(),h=(0,s.useCallback)(()=>{o?.("upgrade_to_pro");let e=m.XT.tryResolve(l.F.Entitlement);e?.upgrade({openFrom:(0,f.bC)(f.be.ErrorCard,f.JT.FreeActivityQuota)})},[o]),{next_flash_period:p,next_flash:g,user_type:y}=t??{},v=1===y,b=(0,d.h1)(l.B.CNCommercialStore).cnCommercialVisible.use(),S=(0,s.useMemo)(()=>{if(a?.host.dynamicConfig?.freeActivityErrorInfoConfig?.periodType==="real"&&g){let e=_.Zz.getCurrentServerTime();if(e)return Math.max(g-e,0)}return p},[a?.host.dynamicConfig?.freeActivityErrorInfoConfig?.periodType,g,p]),k=(0,s.useMemo)(()=>{if(!S)return e.message;let t=Math.max(1,Math.ceil(S/6e4)),i=t>=60,r=i?Math.max(Math.ceil(t/60),1):t,s=i?u.localize("trae-chat-core.error.freeActivityQuotaExhausted.hours",{period:r},`${r} hour(s)`):u.localize("trae-chat-core.error.freeActivityQuotaExhausted.min",{period:r},`${r} min`),n=u.localize("trae-chat-core.error.freeActivityQuotaExhausted.withoutQuota",{period:s},`Free quota exhausted. Resets in ${s}.`);if(v&&!b){let e=u.localize("trae-chat-core.error.freeActivityQuotaExhausted.suffix",{period:s}," Upgrade to Pro for unlimited access.");return`${n}${e}`}return n},[S,v,b,e.message,u]),x=(0,s.useMemo)(()=>{if(i&&v&&!b)return[{text:u.localize("trae-chat-core.error.common.upgrade",void 0,"Upgrade to Pro"),onClick:h}]},[i,v,b,u,h]);if(!i){let t=a?.host.dynamicConfig?.freeActivityErrorInfoConfig?.historyRule;if("hidden"===t)return null;if("fallback"===t)return(0,r.jsx)(n.A,{type:"warning",message:e.message})}return(0,r.jsx)(n.A,{type:"warning",message:k,actionButtons:x})}),Y=(0,s.memo)(function(e){let t=e.errorData;return t?.activity_type===2?(0,r.jsx)(K,{...e}):(0,r.jsx)(X,{...e})}),J=(0,s.memo)(function({errorData:e,errorCardContext:t}){let i=(0,c.s9)(),{error_type:a,tool_name:o,error_detail:l=""}=e??{},d=t?.modelInfo?.display_model_name||t?.modelInfo?.name||"",u=(0,s.useMemo)(()=>{if(a===N.EZ.TOOL_NAME_TOO_LONG&&o)return i.localize("trae-chat-core.error.invalid_tool_call.tool_name_too_long",{tool_name:o},`${o} - Combined server and tool name length exceeds 60 characters`);if(o){let e=i.localize("trae-chat-core.error.invalid_tool_call.incompatible_with_tool_name",{tool_name:o,model_name:d},`The argument schema for tool ${o} is incompatible with the model. Please switch/fix the MCP server, or switch models.`);return l?`${l} ${e}`:e}let e=i.localize("trae-chat-core.error.invalid_tool_call.incompatible_without_tool_name",{model_name:d},"The argument schema for mcp tool is incompatible with the model. Please switch/fix the MCP server, or switch models.");return l?`${l} ${e}`:e},[a,o,l,d,i]);return(0,r.jsx)(n.A,{type:"error",message:u})}),$=(0,s.memo)(function({errorInfo:e,onCopyDetail:t,errorCardContext:i,hostActions:a,reportClick:o}){let l=(0,c.s9)(),{fallbackContent:d}=S(),u=/feedback@mail\.trae\.ai/.test(e.message||""),h=(0,s.useMemo)(()=>{let t=e.message||"",s=t.match(/feedback@mail\.trae\.ai/),n=s?.[0];if(!n)return d||t;let l=i?.host.bootConfig?.feedbackMail||n,c=t.split(n);return(0,r.jsxs)("span",{children:[c[0],(0,r.jsx)("span",{onClick:()=>{o?.("feedback_mail"),a?.openExternalUrl(`mailto:${l}`)},style:{textDecoration:"underline",cursor:"pointer"},children:l}),c[1]]})},[i?.host.bootConfig?.feedbackMail,e.message,d,a,o]);return(0,r.jsx)(n.A,{type:"error",message:h,showDetailLink:!u,detailLinkText:l.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:t})}),q=(0,s.memo)(function({errorData:e,onCopyDetail:t}){let i=(0,c.s9)(),{fallbackContent:a}=S(),o=e,l=o?.type,d=(0,s.useMemo)(()=>{if(l){let e=`trae-chat-core.error.riskRequestV2.${l}`,t=i.localize(e,{});if(t&&t!==e)return t}},[l,i]),u="top_up"===l?"error":"warning";return(0,r.jsx)(n.A,{type:d?u:"error",message:d||a,showDetailLink:!d,detailLinkText:i.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:t})}),Q=(0,s.memo)(function({isLastMessage:e,hostActions:t,reportClick:i}){let a=(0,c.s9)(),o=a.localize("trae-chat-core.error.claudeModelForbidden.title",{},"Model request failed"),l=(0,s.useCallback)(()=>{i?.("refresh_model_list"),t?.refreshModelList({source:"claudeForbidden"})},[t,i]),d=(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{children:a.localize("trae-chat-core.error.claudeModelForbidden.prefix",{},"Claude model is currently unavailable. ")}),e&&(0,r.jsx)("span",{onClick:l,style:{color:"var(--text-text-brand)",textDecoration:"underline",cursor:"pointer"},children:a.localize("trae-chat-core.error.claudeModelForbidden.action",{},"Refresh model list")})]});return(0,r.jsx)(n.A,{type:"error",title:o,message:d})}),ee=(0,s.memo)(function({errorInfo:e,isLastMessage:t,onCopyDetail:i,hostActions:a,reportClick:o}){let l=(0,c.s9)(),d=(0,s.useMemo)(()=>{if(t&&a?.resetPPEConfig)return[{text:l.localize("trae-chat-core.error.ppe.resetDefaults",{},"Reset Defaults"),onClick:()=>{o?.("reset_ppe_config"),a.resetPPEConfig()}}]},[a,l,t,o]);return(0,r.jsx)(n.A,{type:"error",message:e.message,showDetailLink:!0,detailLinkText:l.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:i,actionButtons:d})}),et=(0,s.memo)(function({isLastMessage:e,reportClick:t}){let i=(0,c.s9)(),a=(0,s.useCallback)(()=>{t?.("upgrade_to_pro");let e=m.XT.tryResolve(l.F.Entitlement);e?.upgrade({openFrom:(0,f.bC)(f.be.ErrorCard,f.JT.PremiumQuotaDrained)})},[]),o=i.localize("ai.notification.commercial_exhaust.lite.content",{},"Your remaining usage is not sufficient to complete this request. To maintain a smooth experience, we recommend adding more usage or connecting to other AI services. When you retry, previously generated usage will not be charged again."),d=e?[{text:i.localize("trae-chat-core.error.common.upgrade",void 0,"Upgrade to Pro"),onClick:a}]:void 0;return(0,r.jsx)(n.A,{type:"warning",message:o,actionButtons:d})}),ei=(0,s.memo)(function({errorInfo:e,isLastMessage:t}){let i=(0,c.s9)(),a=(0,s.useCallback)(()=>{let e=m.XT.tryResolve(l.F.Entitlement);e?.openPage?.("AccountSubscription")},[]),o=t?[{text:i.localize("trae-chat-core.error.common.manageBilling",void 0,"Manage Billing"),onClick:a}]:void 0;return(0,r.jsx)(n.A,{type:"warning",message:e.message,actionButtons:o})}),er=(0,s.memo)(function({errorCode:e,errorInfo:t,isLastMessage:i,onRefreshSession:a,onCopyDetail:o}){let l=(0,c.s9)(),d=(0,s.useMemo)(()=>{if(i){if(t.actions&&t.actions.length>0)return t.actions.filter(e=>e.onClick).map(e=>({text:e.text,onClick:e.onClick}));if(a)return[{text:l.localize("trae-chat-core.error.common.refresh",void 0,"Refresh"),onClick:a}]}},[i,t.actions,a,l]),u=(0,s.useMemo)(()=>{let t=String(e),i=`trae-chat-core.error.protocol.${t}`,r=l.localize(i,void 0,"");return r||l.localize("trae-chat-core.error.protocol.default",void 0,"Network connection lost. Please click refresh to try again.")},[e,t.message,l]);return(0,r.jsx)(n.A,{type:"error",message:`${u} (${e})`,showDetailLink:t.showDetailLink,detailLinkText:l.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:o,actionButtons:d})});var es=i(36163),en=i(32718),ea=i(8757);let eo=()=>/\[([^\]]+)\]\(([^)]+)\)/g,el=e=>{try{return new URL(e).hostname.toLowerCase().endsWith(".cn")}catch{return!1}},ec=(0,s.memo)(function({errorCode:e,errorInfo:t,errorData:i,onCopyDetail:a}){let o=(0,c.s9)(),d=(0,en.hE)(e=>e.vmStatus),u=(0,s.useMemo)(()=>o.localizeWithReactNode(t?.i18nKey||"trae-chat-core.error.vm",{helpDoc:(0,r.jsx)(es.O,{},"help-link")},t.message),[o,t.message,t?.i18nKey]),h=(0,s.useMemo)(()=>{let t=e??"",r=i?.code??d?.code??d?.stageMessage??"";return r?`${t}.${r}`:`${t}`},[e,i,d?.code,d?.stageMessage]),p=(0,c.Hr)(),f=(0,s.useMemo)(()=>{let e;if(!h)return;let t=`trae-chat-core.error.vm.code-${h}`,i=o.localize(t,void 0,"");if(!i||i===t)return;let s=eo();if(!s.test(i))return i;s.lastIndex=0;let n=[],a=0;for(;null!==(e=s.exec(i));){e.index>a&&n.push(i.slice(a,e.index));let t=e[1],s=e[2];el(s)||n.push((0,r.jsx)("span",{onClick:()=>p?.openUrl({url:s,target:"_blank"}),style:{textDecoration:"underline",cursor:"pointer"},children:t},s)),a=e.index+e[0].length}return a0?n:void 0},[h,o,p]),g=(0,s.useMemo)(()=>h?`(${h})`:"",[h]),_=(0,s.useMemo)(()=>g?(0,r.jsxs)(r.Fragment,{children:[u," ",g,f?(0,r.jsxs)(r.Fragment,{children:[" ",f]}):void 0]}):u,[u,g,f]),y=(0,en.hE)(e=>e.userMessage),v=(0,en.hE)(e=>e.isLatestMessage),S=(0,en.YV)(e=>e.sessionId),{handleAction:k,isActionAvailable:x}=b({sessionId:S,userMessageId:y?.messageId,agentMessageId:(0,en.hE)(e=>e.messageId)}),C=(0,s.useMemo)(()=>{let i=t.actions?.filter(e=>x(e.type)),s=[];v&&i&&i.length>0&&s.push(...i.map(e=>({text:e.text,onClick:()=>k(e.type,e.params)})));let n=ea.Cw.getState().errorDocURLMap,a=n?.[h]??n?.[String(e??"")],c=m.XT.tryResolve(l.F.I18n)?.getLocale()??"en",d=a?.[c]??a?.[c.split("-")[0]];return d?s.push({text:o.localize("trae-chat-core.error.vm.helpDocButton",void 0,"Help Document"),onClick:()=>p?.openUrl({url:d,target:"_blank"})}):s.push({text:(0,r.jsx)(es.O,{style:{textDecoration:"none",textTransform:"capitalize"}}),onClick:()=>{}}),s.length>0?s:void 0},[t.actions,v,x,k,h,o,p]);return(0,r.jsx)(n.A,{type:"error",message:_,showDetailLink:!0,detailLinkText:o.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:a,actionButtons:C})}),ed="https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository",eu=(0,s.memo)(function({errorInfo:e,onCopyDetail:t}){let i=(0,c.s9)(),a=(0,c.Hr)(),o=(0,s.useCallback)(()=>{a?.openUrl({url:ed,target:"_blank"})},[a]),l=(0,s.useMemo)(()=>(0,r.jsx)("span",{onClick:o,style:{textDecoration:"underline",cursor:"pointer"},children:i.localize("trae-chat-core.error.remoteAgent.gitCloneFailed.viewDocs",void 0,"View docs.")},"doc-link"),[o,i]),d=(0,s.useMemo)(()=>(0,r.jsxs)("span",{children:[i.localize("trae-chat-core.error.remoteAgent.gitCloneFailed.message",void 0,"GitHub Repository sync failed.")," ",l]}),[i,l]);return(0,r.jsx)(n.A,{type:"error",message:d,showDetailLink:e.showDetailLink,detailLinkText:i.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:t})}),eh=(0,s.memo)(function({errorData:e,onRetry:t,isLastMessage:i}){let s=(0,c.s9)(),a=e?.level||"",o=e?.type==="empty_git"?s.localize("trae-chat-core.error.repoLevelModelUnavailable.emptyGit",{},"Unable to determine repository level. Please ensure the current project is a valid Git repository."):s.localize("trae-chat-core.error.repoLevelModelUnavailable",{repoLevel:a},`This model is not available for the current repository level (${a}). Please switch to another model.`);return(0,r.jsx)(n.A,{type:"warning",message:o})}),ep=(0,s.memo)(function({errorInfo:e,errorData:t}){let{localize:i}=(0,c.s9)(),s=t?.rule_name||t?.hit_rule_name||"",a=s?i("trae-chat-core.error.enterprise_content_security_intercept_with_rule",{rule_name:s},`Request contains sensitive info, hit enterprise security policy ${s}, request blocked. Contact administrator if needed.`):e.message;return(0,r.jsx)(n.A,{type:"warning",message:a})}),em=(0,s.memo)(function({errorInfo:e,isLastMessage:t,hostActions:i,reportClick:a}){let o=(0,c.s9)(),l=(0,s.useMemo)(()=>{if(t&&i?.createNewTask)return[{text:o.localize("trae-chat-core.error.common.newTask",{},"New Task"),onClick:()=>{a?.("new_task"),i.createNewTask()}}]},[i,o,t,a]);return(0,r.jsx)(n.A,{type:"error",message:e.message,actionButtons:l})}),ef=(0,s.memo)(function({errorInfo:e,isLastMessage:t,onCopyDetail:i,hostActions:a,reportClick:o}){let l=(0,c.s9)(),d=(0,s.useMemo)(()=>{if(t&&a?.resetPPEConfig)return[{text:l.localize("trae-chat-core.error.ppe.resetDefaults",{},"Reset Defaults"),onClick:()=>{o?.("reset_ppe_config"),a.resetPPEConfig()}}]},[a,l,t,o]);return(0,r.jsx)(n.A,{type:"error",message:e.message,showDetailLink:!0,detailLinkText:l.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:i,actionButtons:d})});function eg(e,t){return e===N.Yb.LLM_TASK_PROMPT_TOKEN_EXCEED_LIMIT?t.errorCardContext?.host.bootConfig?.promptTokenExceedFAQUrl:t.errorCardContext?.host.bootConfig?.aiClientErrorFAQUrl}let e_=(0,s.memo)(function(e){let{errorCode:t,errorInfo:i,hostActions:a,reportClick:o}=e,l=(0,c.s9)(),d=eg(Number(t),e),u=(0,s.useMemo)(()=>{if(d&&a?.openFAQ)return[{text:l.localize("trae-chat-core.error.common.getHelp",{},"Get Help"),onClick:()=>{o?.("get_help"),a.openFAQ(d)}}]},[d,a,l,o]);return(0,r.jsx)(n.A,{type:"error",message:i.message,actionButtons:u})}),ey={[u.iD.NetworkError]:L,[u.iD.CustomModelError]:D,[u.iD.UsageLimitError]:F,[u.iD.ContinueError]:U,[u.iD.EnterpriseError]:V,[u.iD.SoloAgentError]:W,[u.iD.FreeActivityQuotaError]:Y,[u.iD.InvalidToolCallError]:J,[u.iD.RiskRequestError]:$,[u.iD.RiskRequestV2Error]:q,[u.iD.ClaudeModelForbiddenError]:Q,[u.iD.PPEEnvNotExistError]:ee,[u.iD.PremiumQuotaDrainedError]:et,[u.iD.PaygoArrearsError]:ei,[u.iD.SSEProtocolError]:er,[u.iD.VMError]:ec,[u.iD.GitCloneFailedError]:eu,[u.iD.ContentSecurityError]:ep,[u.iD.RepoLevelModelUnavailableError]:eh,[u.iD.ToolCallRetryLimitError]:em,[u.iD.PPEServerError]:ef,[u.iD.HelpError]:e_,[u.iD.ContentSecurityError]:ep};function ev(e){return ey[e]}var eb=i(73384),eS=i(37795);function ek(e,t){return!!e&&!!t&&String(Math.abs(e)).length>3}let ex=(0,s.memo)(function({className:e}){let t=(0,c.s9)(),i=(0,eS.c)(),p=(0,a.hE)(e=>e.agentMessage),m=(0,a.hE)(e=>e.userMessage),f=(0,a.hE)(e=>e.isError),g=(0,a.hE)(e=>e.isLatestMessage),_=(0,o.Fy)(e=>e.sessionId),y=m?.messageId,v=(0,h.Ov)(),S=(0,a.hE)(e=>e.messageId),k=(0,d.h1)(l.B.ErrorService),w=p?.error?.code??u.Yb.DEFAULT,E=p?.error?.data,T=p?.error?.message,I=x(),N=C(),{handleRetry:A,handleRetryWithFastRequest:M,handleRefreshSession:P,handleResumeStream:L,handleAction:D,isActionAvailable:O}=b({sessionId:_,userMessageId:y,agentMessageId:S,errorCode:w,userMessageContext:p?.userMessageContext}),F=(0,s.useMemo)(()=>k.getErrorInfo(w,{errorData:E,originErrorMessage:T}),[k,w,E,T]),U=(0,s.useMemo)(()=>{if(!w)return;let e=(0,u.Dl)(w,{useIdeDefaultRenderer:v===h.uC.TraeIDE});return e.customRenderer?ev(e.customRenderer):ek(Number(w),I.ppeEnvName)?ev(u.iD.PPEServerError):(0,u.C)(w)?ev(u.iD.SSEProtocolError):void 0},[w,I.ppeEnvName,v]),V=(0,eb.uS)(),{copyDetail:B,copyDoubleClickPayload:z}=R({agentMessage:p,sessionId:_,userMessageId:y,errorCardContext:I}),{reportClick:W}=j(I,T,f&&!V),H="warn"===F.level?"warning":F.level,G=(0,s.useMemo)(()=>{let e=F.actions?.filter(e=>O(e.type));if(g&&e&&0!==e.length)return e.map(e=>({text:e.text,onClick:()=>{W(e.type),D(e.type,e.params)}}))},[F.actions,g,O,D,W]);return!f||V?null:U?(0,r.jsx)("div",{className:`core-error-card ${e||""}`,children:(0,r.jsx)(U,{errorCode:w,errorInfo:F,errorData:E,messageId:y||p?.messageId,isLastMessage:g,onRetry:A,onRetryWithFastRequest:M,onRefreshSession:P,onResumeStream:L,onCopyDetail:i?void 0:B,onDoubleClickCopy:z,reportClick:W,errorCardContext:I,hostActions:N})}):(0,r.jsx)("div",{className:`core-error-card ${e||""}`,children:(0,r.jsx)(n.A,{type:H,message:F.message,showDetailLink:!i&&F.showDetailLink,detailLinkText:t.localize("trae-chat-core.error.common.copyRequestDetails",void 0,"Copy Request Details"),onDetailLinkClick:B,actionButtons:G})})})},97066(e,t,i){i.d(t,{Q:()=>a});var r=i(97282),s=i(51649),n=i(76933);let a=(0,s.memo)(function({title:e="Explored",subtitle:t,expanded:i,defaultExpanded:a=!1,onExpandedChange:o,showLine:l=!0,titleShimmer:c=!1,children:d,className:u}){let h=void 0!==i,[p,m]=(0,s.useState)(a),f=h?i:p,g=(0,s.useRef)(null),[_,y]=(0,s.useState)([!1,!1]),v=(0,s.useCallback)(()=>{let e=!f;h||m(e),o?.(e)},[f,h,o]),b=(0,s.useCallback)(()=>{let e=g.current;if(!e)return;let{scrollTop:t,scrollHeight:i,clientHeight:r}=e;i>r?y([t>0,t{let e=g.current;if(!e||!f)return;b(),e.addEventListener("scroll",b,{passive:!0});let t=new ResizeObserver(()=>{b()});return t.observe(e),()=>{e.removeEventListener("scroll",b),t.disconnect()}},[b,f]);let S=["core-expandable-section",u].filter(Boolean).join(" "),k=["core-expandable-section__scroll-shadow","core-expandable-section__scroll-shadow--top",_[0]&&"core-expandable-section__scroll-shadow--visible"].filter(Boolean).join(" "),x=["core-expandable-section__scroll-shadow","core-expandable-section__scroll-shadow--bottom",_[1]&&"core-expandable-section__scroll-shadow--visible"].filter(Boolean).join(" ");return(0,r.jsxs)("div",{className:S,children:[(0,r.jsxs)("div",{className:"core-expandable-section__header",onClick:v,children:[(0,r.jsx)("span",{className:`core-expandable-section__header-title${c?" core-expandable-section__header-title--shimmer":""}`,children:e}),t&&(0,r.jsx)("span",{className:"core-expandable-section__header-subtitle",children:t}),(0,r.jsx)("span",{className:`core-expandable-section__header-icon${f?" core-expandable-section__header-icon--expanded":""}`,children:(0,r.jsx)(n._l8,{})})]}),f&&(0,r.jsxs)("div",{className:"core-expandable-section__content",children:[l&&(0,r.jsx)("div",{className:"core-expandable-section__content-line"}),(0,r.jsxs)("div",{className:"core-expandable-section__scroll-wrapper",children:[(0,r.jsx)("div",{className:k}),(0,r.jsx)("div",{ref:g,className:"core-expandable-section__scroll-content",children:d}),(0,r.jsx)("div",{className:x})]})]})]})})},82224(e,t,i){i.d(t,{q:()=>b});var r=i(97282),s=i(51649),n=i(49696),a=i(34274),o=i(48671),l=i(74134),c=i(12218),d=i(41748);function u(){let e=(0,o.h1)(l.B.CNCommercialStore),t=(0,o.h1)(l.B.CNCommercialService),i=(0,o.h1)(l.F.Entitlement),r=d.Zz.payStatus.use(),s=r?.user_pay_identity,n=e.cnCommercialVisible.use(),a=e.shouldShowRenewTipBanner.use()&&n,u=e.shouldShowLowQuotaBanner.use();return{shouldShow:(a||u)&&n,variant:a?"renew":"low-quota",remaining:e.lowQuotaBannerRemaining.use(),identity:s,dismiss:()=>t.dismissLowQuotaBanner(),dismissRenewTip:()=>t.dismissRenewTipBanner(),upgrade:()=>i.upgrade({openFrom:(0,c.bC)(c.be.Chat,c.JT.LowQuotaBanner)}),renew:async()=>{await t.dismissRenewTipBanner(),i.upgrade({openFrom:(0,c.bC)(c.be.Chat,c.JT.RenewNow)})}}}let h="banner-llrBY6",p="body-bgl7sd",m="icon-fqA7g6",f="text-wEXIAB",g="actions-bkjiVE",_="upgradeButton-mGPSsF",y="closeButton-C0aU7e";var v=i(76933);let b=(0,s.memo)(function(){let{shouldShow:e,variant:t,remaining:i,identity:s,dismiss:o,dismissRenewTip:l,upgrade:c,renew:d}=u(),b=(0,a.s)();if(!e)return null;let S="renew"===t,k=S?b.localize("trae-chat-core.fastRequest.renewTip.text",{},"Your Fast Pass benefits are about to expire. Renew now to keep using them."):b.localize("trae-chat-core.fastRequest.lowQuota.text",{remaining:String(i)},`Express Benefit: only ${i} uses remaining`),x=S?b.localize("trae-chat-core.fastRequest.renewTip.renew",{},"Renew Now"):b.localize("trae-chat-core.fastRequest.lowQuota.upgrade",{},"Upgrade Plan"),C=()=>{S?d():c()},w=()=>{S?l():o()};return(0,r.jsxs)("div",{className:h,children:[(0,r.jsxs)("div",{className:p,children:[(0,r.jsx)("span",{className:m,children:(0,r.jsx)(n.A,{identity:s,variant:"outline",size:14,showBackground:!1})}),(0,r.jsx)("span",{className:f,children:k})]}),(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("button",{type:"button",className:_,onClick:C,children:x}),(0,r.jsx)("button",{type:"button",className:y,onClick:w,"aria-label":"Close",children:(0,r.jsx)(v.fc0,{})})]})]})})},45227(e,t,i){i(97282),i(51649),i(25188),i(14687),i(12218),i(41748),i(48671),i(74134),i(60915)},22190(e,t,i){i.d(t,{M:()=>f});var r=i(97282),s=i(51649),n=i(19755),a=i(49696),o=i(25188),l=i(48671),c=i(74134),d=i(12218),u=i(91186);function h(){return(0,l.h1)(c.B.CNCommercialStore).cnCommercialVisible.use()}function p(e){let t=(0,l.h1)(c.B.CNCommercialStore),i=(0,l.h1)(c.B.SessionStore),r=(0,l.h1)(c.B.CNCommercialService),n=(0,l.h1)(c.F.Entitlement),a=(0,s.useRef)(!1);(0,s.useEffect)(()=>{a.current||(a.current=!0,r.initialize().catch(()=>{}))},[r]);let o=i.sessionStatus.use(e??""),h=(0,u.UL)(o),p=t.fastRequestEffectiveStateWithLock.use(e,h),m=t.fastRequestRemaining.use(),f=t.fastRequestShouldShowGuide.use();return{effectiveState:p,remaining:m,shouldShowGuide:f,hasNewUserFreeFastPass:t.hasNewUserFreeFastPass.use(),isLoading:t.isLoadingQuota.use(),toggle:()=>r.toggleFastRequest(),dismissGuide:()=>t.core.dismissGuideTip(),refresh:()=>r.refreshFastRequestQuota(),openUpgrade:()=>n.upgrade({openFrom:(0,d.bC)(d.be.Chat,d.JT.FastRequestToggle)})}}let m={toggleWrapper:"toggleWrapper-zB4OtF",toggleButton:"toggleButton-cGNhL5",toggleButtonActive:"toggleButtonActive-bz4w9A",toggleButtonDisabled:"toggleButtonDisabled-dOSb9V",toggleButtonLocked:"toggleButtonLocked-Uacmp6",toggleButtonLockedOn:"toggleButtonLockedOn-B3nsFr",toggleButtonExpress:"toggleButtonExpress-dcitmv",guideTooltip:"guideTooltip-eKrN4A",guideTitle:"guideTitle-pyO2co",guideTitleHighlight:"guideTitleHighlight-BOfs8Y",guideDescription:"guideDescription-rXQpx1",guideActions:"guideActions-UiBSPK",guideConfirmBtn:"guideConfirmBtn-lMAmRU",guideUpgradeBtn:"guideUpgradeBtn-M0INZ2",guideCountdown:"guideCountdown-vErwmK"},f=(0,s.memo)(({className:e,sessionId:t,isAutomationMode:i})=>{let l=h(),{effectiveState:c,remaining:d,shouldShowGuide:u,hasNewUserFreeFastPass:f,toggle:y,dismissGuide:v,openUpgrade:b,refresh:S}=p(t),k=(0,o.s9)(),x=(0,o.y5)(),C=i&&"express"!==c,w="locked-on"===c,[E,T]=(0,s.useState)(!1),[I,R]=(0,s.useState)(!1),N=(0,s.useRef)(null),A=(0,s.useRef)(!1),M=(0,s.useRef)(!1),P=(0,s.useRef)();(0,s.useEffect)(()=>{if(u&&!C&&!A.current)return P.current=setTimeout(()=>{A.current=!0,M.current=!0,R(!0),T(!0)},1e3),()=>clearTimeout(P.current)},[u,C]);let j=(0,s.useCallback)(()=>{C||"disabled"===c||"express"===c||"locked-on"===c||(x.report("fast_request_toggle",{action:"click",status:c,source:"input_bar"}),y())},[C,c,x,y]),L=(0,s.useCallback)(()=>{M.current=!1,R(!1),T(!1),v()},[v]),D=(0,s.useCallback)(()=>{M.current=!1,R(!1),T(!1),b()},[b]),O=(0,s.useRef)(),F=(0,s.useRef)(),U=(0,s.useCallback)(()=>{clearTimeout(F.current)},[]),V=(0,s.useCallback)(()=>{clearTimeout(F.current),F.current=setTimeout(()=>{T(!1)},200)},[]),B=(0,s.useCallback)(e=>{e.stopPropagation(),M.current||(U(),S(),x.report("fast_request_toggle",{action:"hover",status:c,source:"input_bar"}),clearTimeout(O.current),O.current=setTimeout(()=>{T(!0)},100))},[S,U,x,c]),z=(0,s.useCallback)(()=>{M.current||(clearTimeout(O.current),V())},[V]),W=(0,s.useCallback)(()=>{U()},[U]),H=(0,s.useCallback)(()=>{V()},[V]);(0,s.useEffect)(()=>()=>{clearTimeout(O.current),clearTimeout(F.current),clearTimeout(P.current)},[]);let G=I?_(c,f,k,L):C?k.localize("trae-chat-core.fastRequest.tooltip.automationDisabled",{},"Fast Pass benefits are currently not supported for automated tasks."):g(c,d,f,k,D),Z=I?G:(0,r.jsx)("span",{onMouseEnter:W,onMouseLeave:H,children:G}),K=[m.toggleButton,!w&&("on"===c||"express"===c)&&!C&&m.toggleButtonActive,"express"===c&&!C&&m.toggleButtonExpress,("disabled"===c||C)&&m.toggleButtonDisabled,w&&m.toggleButtonLocked,"locked-on"===c&&m.toggleButtonLockedOn,e].filter(Boolean).join(" ");if(!l)return null;let X=I||C||"on"!==c&&"off"!==c?"mini":"normal";return(0,r.jsx)("span",{className:m.toggleWrapper,children:(0,r.jsx)(n.A,{content:Z,side:"top",mode:X,open:E,children:(0,r.jsx)("button",{ref:N,type:"button",className:K,onClick:j,onMouseEnter:C?void 0:B,onMouseLeave:z,disabled:"disabled"===c||C,children:(0,r.jsx)(a.A,{color:"express"===c?"yellow":"on"!==c&&"locked-on"!==c||C?"default":"green",variant:"outline",size:16,showBackground:!1})})})})});function g(e,t,i,s,n){switch(e){case"express":return s.localize("trae-chat-core.fastRequest.tooltip.express",{},"Express is permanently enabled");case"disabled":return(0,r.jsxs)("div",{className:m.guideTooltip,children:[(0,r.jsx)("div",{className:m.guideTitle,children:(0,r.jsx)("span",{className:m.guideTitleHighlight,children:s.localize("trae-chat-core.fastRequest.tooltip.disabled.title",{},"Express Benefit")})}),(0,r.jsx)("div",{className:m.guideDescription,children:s.localize("trae-chat-core.fastRequest.tooltip.disabled.description",{},"No Express uses available, please upgrade your plan")}),(0,r.jsx)("div",{className:m.guideActions,children:(0,r.jsxs)("button",{type:"button",className:m.guideUpgradeBtn,onClick:n,children:[(0,r.jsx)(a.A,{color:"green",variant:"solid",size:14,showBackground:!1}),s.localize("trae-chat-core.fastRequest.tooltip.disabled.upgrade",{},"Upgrade Plan")]})})]});case"off":if(i)return s.localize("trae-chat-core.fastRequest.tooltip.newUserFree.off",{remaining:String(t??0)},`\u{65B0}\u{7528}\u{6237}\u{8D60}\u{9001}\u{901F}\u{901A}\u{5269}\u{4F59} ${t??0} \u{6B21}\u{FF0C}\u{70B9}\u{51FB}\u{5F00}\u{542F}\u{901F}\u{901A}`);return s.localize("trae-chat-core.fastRequest.tooltip.off",{remaining:String(t??0)},`Click to enable Express, ${t??0} uses remaining`);case"on":if(i)return s.localize("trae-chat-core.fastRequest.tooltip.newUserFree.on",{remaining:String(t??0)},`\u{65B0}\u{7528}\u{6237}\u{8D60}\u{9001}\u{901F}\u{901A}\u{5269}\u{4F59} ${t??0} \u{6B21}\u{FF0C}\u{70B9}\u{51FB}\u{5173}\u{95ED}\u{901F}\u{901A}`);return s.localize("trae-chat-core.fastRequest.tooltip.on",{remaining:String(t??0)},`Click to disable Express, ${t??0} uses remaining`);case"locked-on":return s.localize("trae-chat-core.fastRequest.tooltip.lockedOn",{},"Express is enabled for this task")}}function _(e,t,i,s){return(0,r.jsx)(y,{state:e,hasNewUserFreeFastPass:t,i18n:i,onClose:s})}f.displayName="FastRequestToggleButton";let y=({state:e,hasNewUserFreeFastPass:t,i18n:i,onClose:n})=>{let a=5,[o,l]=(0,s.useState)(a),c=(0,s.useRef)(),d=(0,s.useRef)(!1),u=(0,s.useRef)(n);u.current=n;let h=(0,s.useCallback)(()=>{d.current||(d.current=!0,u.current())},[]);(0,s.useEffect)(()=>(c.current=setInterval(()=>{l(e=>e<=1?(clearInterval(c.current),h(),0):e-1)},1e3),()=>{clearInterval(c.current),h()}),[h]);let p="express"===e,f=!p&&t;return(0,r.jsxs)("div",{className:m.guideTooltip,children:[(0,r.jsx)("div",{className:m.guideTitle,children:f?(0,r.jsx)("span",{className:m.guideTitleHighlight,children:i.localize("trae-chat-core.fastRequest.guide.newUserFree.title",{},"\u8D60\u9001\u901F\u901A\u6B21\u6570\u6B63\u5728\u4F7F\u7528")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:m.guideTitleHighlight,children:i.localize("trae-chat-core.fastRequest.guide.titleHighlight",{},"\u901F\u901A")}),(0,r.jsx)("span",{className:m.guideTitleText,children:p?i.localize("trae-chat-core.fastRequest.guide.express.titleSuffix",{},"\u6743\u76CA\u5DF2\u6C38\u4E45\u5F00\u542F"):i.localize("trae-chat-core.fastRequest.guide.titleSuffix",{},"\u6743\u76CA\u5DF2\u5F00\u542F")})]})}),(0,r.jsx)("div",{className:m.guideDescription,children:p?i.localize("trae-chat-core.fastRequest.guide.express.description",{},"\u60A8\u7684\u901F\u901A\u6743\u76CA\u5DF2\u6C38\u4E45\u751F\u6548\uFF0C\u65E0\u9700\u624B\u52A8\u64CD\u4F5C"):f?i.localize("trae-chat-core.fastRequest.guide.newUserFree.description",{},"\u65B0\u7528\u6237\u524D\u4E09\u5929\u6BCF\u5929\u9001 10 \u6B21\u901F\u901A\uFF0C\u514D\u6392\u961F\u5373\u65F6\u5904\u7406\u4EFB\u52A1\uFF0C\u5F53\u5929\u6709\u6548\u3002"):i.localize("trae-chat-core.fastRequest.guide.description",{},"\u5728\u8FD9\u91CC\u5F00\u542F\u6216\u5173\u95ED\u901F\u901A\u6743\u76CA")}),(0,r.jsx)("div",{className:m.guideActions,children:(0,r.jsxs)("button",{type:"button",className:m.guideConfirmBtn,onClick:h,children:[i.localize("trae-chat-core.fastRequest.guide.confirm",{},"\u6211\u77E5\u9053\u4E86"),(0,r.jsxs)("span",{className:m.guideCountdown,children:[o,"s"]})]})})]})}},60915(e,t,i){i(97282),i(51649)},42680(e,t,i){i(97282),i(51649),i(14687),i(27872),i(58410),i(41748),i(25188),i(60915),i(86164)},86199(e,t,i){var r=i(97282),s=i(51649),n=i(76136),a=i(25188),o=i(97066),l=i(95938);let c={strategyId:"create-task",displayName:"Create Task Group",description:"Renders adjacent CreateTask calls with a collapsible section",component:(0,s.memo)(function({groupData:e,renderElement:t}){let{localize:i}=(0,a.s9)(),s=i("trae-chat-core.createTaskGroup.title",{count:e.count},`\u{5DF2}\u{521B}\u{5EFA} ${e.count} \u{4E2A}\u{667A}\u{80FD}\u{4F53}`),n=()=>(0,r.jsx)("div",{className:"core-create-task-group__content",children:e.elements.map((i,s)=>{let n=s===e.elements.length-1;return(0,r.jsx)(l.j.Provider,{value:{showConnector:!n},children:t(i,n)},`${i.type}:${i.planItemId}`)})});return(0,r.jsx)(o.Q,{className:"core-create-task-group",title:s,defaultExpanded:!0,titleShimmer:!1,showLine:!1,children:n()})})};(0,n.Sf)().registerGroupRenderer(c)},1002(e,t,i){i.d(t,{X:()=>n,n:()=>s});var r=i(51649);let s=(0,r.createContext)(void 0);function n(){let e=(0,r.useContext)(s);return e?.isSubAgent??!1}},77528(e,t,i){i.d(t,{R:()=>s,h:()=>n});var r=i(51649);let s=(0,r.createContext)(void 0);function n(){let e=(0,r.useContext)(s);return e?.isInsideTodoGroup??!1}},90507(e,t,i){var r=i(97282),s=i(51649),n=function(e){return e.Pending="pending",e.Compressing="compressing",e.Uploading="uploading",e.Checking="checking",e.Success="success",e.Error="error",e.CheckFailed="check_failed",e}({}),a=i(25188),o=i(76933);let l=(e,t)=>{switch(e){case n.Pending:return t.localize("trae-chat-core.imageStatus.pending",{},"Pending");case n.Compressing:return t.localize("trae-chat-core.imageStatus.compressing",{},"Compressing");case n.Uploading:return t.localize("trae-chat-core.imageStatus.uploading",{},"Uploading");case n.Checking:return t.localize("trae-chat-core.imageStatus.checking",{},"Checking");case n.Success:return t.localize("trae-chat-core.imageStatus.success",{},"Success");case n.Error:return t.localize("trae-chat-core.imageStatus.error",{},"Failed");case n.CheckFailed:return t.localize("trae-chat-core.imageStatus.checkFailed",{},"Check Failed");default:return""}},c=e=>e===n.Pending||e===n.Compressing||e===n.Uploading||e===n.Checking,d=e=>e===n.Error||e===n.CheckFailed,u=(0,s.memo)(({item:e,onRetry:t,onRemove:i,i18n:a})=>{let u=(0,s.useCallback)(()=>{t(e.id)},[e.id,t]),h=(0,s.useCallback)(()=>{i(e.id)},[e.id,i]),p=c(e.status),m=d(e.status),f=e.blobURL||e.cdnURL,g=(0,s.useMemo)(()=>a.localize("trae-chat-core.imageAction.retry",{},"Retry"),[a]),_=(0,s.useMemo)(()=>a.localize("trae-chat-core.imageAction.delete",{},"Delete"),[a]);return(0,r.jsxs)("div",{className:`imagePreviewItem ${m?"imagePreviewItemError":""}`,title:e.errorMessage||l(e.status,a),children:[p?(0,r.jsxs)("div",{className:"imagePreviewItemLoading",children:[(0,r.jsx)("div",{className:"imagePreviewItemSpinner"}),e.status===n.Uploading&&void 0!==e.progressPercent&&(0,r.jsxs)("span",{className:"imagePreviewItemProgress",children:[e.progressPercent,"%"]})]}):m?(0,r.jsx)("div",{className:"imagePreviewItemErrorPlaceholder",children:(0,r.jsx)("button",{className:"imagePreviewItemRetryBtn",onClick:u,title:g,type:"button",children:(0,r.jsx)(o.H42,{style:{fontSize:16}})})}):(0,r.jsx)("img",{src:f,alt:"",className:"imagePreviewItemImage",draggable:!1}),(0,r.jsx)("button",{className:"imagePreviewItemRemoveBtn",onClick:h,title:_,type:"button",children:(0,r.jsx)(o.gzW,{style:{fontSize:10}})})]})});u.displayName="ImagePreviewItem",(0,s.memo)(({images:e,onRetry:t,onRemove:i})=>{let s=(0,a.s9)();return 0===e.length?null:(0,r.jsx)("div",{className:"imagePreviewList",children:e.map(e=>(0,r.jsx)(u,{item:e,onRetry:t,onRemove:i,i18n:s},e.id))})}).displayName="ImagePreviewList"},86002(e,t,i){i.d(t,{Z:()=>s});var r=i(60539);function s(e){let t=[];for(let i of e){if(!i)continue;let e="";if(i.thought&&(e+=i.thought),i.reasoningContent&&(e&&(e+="\n"),e+=i.reasoningContent),i.toolCallInfo){let t=i.toolCallInfo;r.M2.getToolCategory(t.name)===r.vk.Finish&&t.params?.summary&&(e&&(e+="\n"),e+=t.params.summary)}e&&t.push(e)}return t.join("\n\n").trim()}},78576(e,t,i){i.d(t,{lT:()=>H});var r=i(97282),s=i(51649),n=i(28304),a=i(87567),o=i(30886),l=i(70325),c=i(76136),d=i(88539),u=i(37795),h=i(48671),p=i(19755),m=i(84496),f=i(74134),g=i(92046),_=i(86002),y=i(41748),v=i(24312),b=i(39905),S=i(58921),k=i(25188),x=i(6602),C=i(11831),w=i(74591),E=i(76933);let T=4e3,I=(0,s.memo)(function({isCollapsed:e=!1,hideVoteUpDown:t=!1}){let i=(0,u.c)(),{localize:a}=(0,k.s9)(),o=(0,k.y5)(),l=(0,d.Fy)(e=>e.sessionId),c=(0,d.Fy)(e=>e.isStreaming),I=(0,n.hE)(e=>e.userMessageId),R=(0,n.hE)(e=>e.messageId),N=(0,n.hE)(e=>e.agentMessage),A=(0,n.hE)(e=>e.planItemIds),{getCommonParams:M}=(0,k.X$)({messageId:I}),P=(0,h.h1)(f.B.AgentPlanItemStore),j=(0,h.h1)(f.B.SessionAppService),L=I?y.L3.userMessageById.get(I):void 0,D=(0,x.VV)(L?.query),O=L?.agentType==="voice_summary",F=N?.error?.code,U=void 0!==F&&b.Am[F]?.actions?.some(e=>e.type===S.lz.Resume)&&!!R,[V,B]=(0,s.useState)(!1),[z,W]=(0,s.useState)(null),[H,G]=(0,s.useState)(!1),[Z,K]=(0,s.useState)(!1),X=g.XT.tryResolve(f.F.AssistantBar),Y=(0,v.Ov)()===v.uC.TraeIDE,J=Y?"default":"large",{visible:$}=(0,w.u)();(0,s.useEffect)(()=>{let e=!1;return Y&&X&&R?(X.isForkEnabled().then(t=>{e||K(!!t)}).catch(()=>{e||K(!1)}),()=>{e=!0}):(K(!1),()=>{e=!0})},[R,X,Y]);let q=(0,s.useCallback)(()=>{if(V)return;B(!0);let e=P.agentPlanItemsByIds.get(A),t=(0,_.Z)(e.filter(Boolean));if(t){let e=g.XT.tryResolve(f.F.Clipboard);e?e.copyText(t):navigator.clipboard.writeText(t).catch(()=>{})}let i=M();o.report(C.qu.CodeCompCopyClick,{...i,result_type:"copy_button_output",user_message_id:I||"",agent_message_id:R||""}),setTimeout(()=>B(!1),T)},[V,A,P,o,I,R,M]),Q=(0,s.useCallback)(()=>{if(!I||!l)return;let e=M();o.report(C.qu.CodeCompRetryClick,{...e,is_resume:0,user_message_id:I||"",agent_message_id:R||""});let t=(0,x.YW)(N?.userMessageContext),i=(0,x._H)(N?.userMessageContext);if(t)if(i){let e=(0,x.TW)(N?.userMessageContext);if(JSON.stringify(e),e&&e.length>0)return void j.retryMessage(l,I,e)}else{let e=[{type:"text",data:{content:"\u7EE7\u7EED"}}];j.retryMessage(l,I,e);return}j.retryMessage(l,I)},[I,l,j,o,R,N,M]),ee=(0,s.useCallback)(async()=>{if(X&&R&&!H){G(!0);try{await X.forkSession(R)}finally{G(!1)}}},[X,R,H]),et=(0,s.useCallback)(e=>{let t="up"===z?null:"up";if(W(t),"up"===t){let e=M();o.report(C.qu.CodeCompFeedbackClick,{...e,result_type:"like",user_message_id:I||"",agent_message_id:R||""})}e.currentTarget.blur()},[z,o,I,R,M]),ei=(0,s.useCallback)(e=>{let t="down"===z?null:"down";if(W(t),"down"===t){let e=M();o.report(C.qu.CodeCompFeedbackClick,{...e,result_type:"dislike",user_message_id:I||"",agent_message_id:R||""})}e.currentTarget.blur()},[z,o,I,R,M]);if(i)return(0,r.jsx)(r.Fragment,{});let er=["assistant-action-bar",e?"collapsed":""].filter(Boolean).join(" ");return(0,r.jsx)("div",{className:er,children:(0,r.jsxs)("div",{className:"assistant-action-bar-buttons",children:[!t&&!$&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p.A,{content:a("trae-chat-core.assistant-action-bar.good",void 0,"Good"),children:(0,r.jsx)(m.A,{className:`action-bar-icon ${"up"===z?"active":""}`,disabled:c,onClick:et,size:J,variant:"tertiary","aria-label":a("trae-chat-core.assistant-action-bar.good",void 0,"Good"),icon:"up"===z?(0,r.jsx)(E.qzU,{}):(0,r.jsx)(E.TYA,{})})}),(0,r.jsx)(p.A,{content:a("trae-chat-core.assistant-action-bar.bad",void 0,"Bad"),children:(0,r.jsx)(m.A,{className:"down"===z?"active":"",disabled:c,onClick:ei,size:J,variant:"tertiary","aria-label":a("trae-chat-core.assistant-action-bar.bad",void 0,"Bad"),icon:"down"===z?(0,r.jsx)(E.pgz,{}):(0,r.jsx)(E.GGK,{})})})]}),!O&&(0,r.jsx)(p.A,{content:a("trae-chat-core.assistant-action-bar.copy-all",void 0,"Copy All"),children:(0,r.jsx)(m.A,{className:V?"checked":"",disabled:c,onClick:q,size:J,variant:"tertiary","aria-label":a("trae-chat-core.assistant-action-bar.copy-all",void 0,"Copy All"),icon:V?(0,r.jsx)(E.iWP,{}):(0,r.jsx)(E.bzS,{})})}),I&&!D&&!O&&!U&&(0,r.jsx)(p.A,{content:a("trae-chat-core.assistant-action-bar.retry",void 0,"Retry"),children:(0,r.jsx)(m.A,{disabled:c,onClick:Q,size:J,variant:"tertiary","aria-label":a("trae-chat-core.assistant-action-bar.retry",void 0,"Retry"),icon:(0,r.jsx)(E.YEm,{})})}),Z&&(0,r.jsx)(p.A,{content:a("icube.fork_chat.button",void 0,"Fork"),children:(0,r.jsx)(m.A,{disabled:c||H,onClick:ee,size:J,variant:"tertiary","aria-label":a("icube.fork_chat.button",void 0,"Fork"),icon:(0,r.jsx)(E.Mpl,{})})})]})})}),R=(0,s.memo)(function({percent:e,size:t=14,hover:i=!1,progressColor:n="var(--icon-icon-secondary, #9599a6)",backgroundColor:a="var(--bg-bg-overlay-l4, rgba(0, 0, 0, 0.08))",hoverProgressColor:o="var(--icon-icon-secondary-hover, #6b6f7a)",strokeWidth:l=2,className:c}){let d=(0,s.useMemo)(()=>"number"!=typeof e||isNaN(e)?0:Math.max(0,Math.min(100,e)),[e]),u=t/2,h=Math.max(1,(t-l)/2-1),p=2*Math.PI*h,m=d/100*p,f=p-m;return(0,r.jsxs)("svg",{className:c,xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:`0 0 ${t} ${t}`,fill:"none",children:[(0,r.jsx)("circle",{cx:u,cy:u,r:h,fill:"none",stroke:a,strokeWidth:l}),d>0&&(0,r.jsx)("circle",{cx:u,cy:u,r:h,fill:"none",stroke:i?o:n,strokeWidth:l,strokeDasharray:`${m} ${f}`,strokeDashoffset:0,transform:`rotate(-90 ${u} ${u})`})]})});R.displayName="PercentCircle";let N=R,A=e=>({title:e.localize("trae-chat-core.contextUsage.title",{},"Context Usage Rate"),content:e.localize("trae-chat-core.contextUsage.content",{},"{percent} of {total}"),compact:e.localize("trae-chat-core.contextUsage.compact",{},"Compact")}),M=(e,t,i)=>e.replace("{percent}",t).replace("{total}",i),P=(0,s.memo)(function({labels:e,showCompact:t=!1,onCompact:i}){let a=(0,n.hE)(e=>e.agentMessage),o=a?.tokenUsage,[l,c]=(0,s.useState)(!1),d=(0,k.s9)(),u=(0,s.useMemo)(()=>A(d),[d]),h=(0,s.useCallback)(()=>{c(!0)},[]),m=(0,s.useCallback)(()=>{c(!1)},[]),f=(0,s.useCallback)(()=>{i?.()},[i]),g=(0,s.useMemo)(()=>({...u,...e}),[u,e]);if(!o?.lastTurnTotalTokens||!o?.maxTokens)return null;let _=o.lastTurnTotalTokens/o.maxTokens,y=`${(100*_).toFixed(0)}%`,v=`${(o.maxTokens/1e3).toFixed(0)}K`,b=(0,r.jsxs)("div",{className:"max-context-usage-rate-tooltip-content",children:[(0,r.jsxs)("div",{className:"max-context-usage-rate-tooltip-part",children:[(0,r.jsx)("div",{className:"max-context-usage-rate-tooltip-title",children:g.title}),(0,r.jsx)("div",{className:"max-context-usage-rate-tooltip-value",children:M(g.content,y,v)})]}),t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"max-context-usage-rate-tooltip-divider"}),(0,r.jsx)("div",{className:"max-context-usage-rate-tooltip-part",children:(0,r.jsx)("button",{type:"button",className:"max-context-usage-rate-tooltip-btn",onClick:f,children:g.compact})})]})]});return(0,r.jsx)(p.A,{content:b,side:"top",mode:"mini",children:(0,r.jsxs)("div",{className:"max-context-usage-rate-container",onMouseEnter:h,onMouseLeave:m,children:[(0,r.jsx)(N,{percent:100*_,size:16,hover:l}),(0,r.jsx)("div",{className:`max-context-usage-rate-percent ${l?"hover":""}`,children:y})]})})});var j=i(79273);function L(e){return e?`${e}k`:"Usage"}let D=(0,s.memo)(function({detail:e}){return e?(0,r.jsxs)("div",{className:"max-token-bar__tooltip",children:[e.token&&(0,r.jsxs)("div",{className:"max-token-bar__tooltip-part",children:[(0,r.jsx)("div",{className:"max-token-bar__tooltip-title",children:"Input | Output token"}),(0,r.jsx)("div",{className:"max-token-bar__tooltip-value",children:`${L(e.token.input)} | ${L(e.token.output)}`})]}),e.cost&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"max-token-bar__tooltip-part",children:[(0,r.jsx)("div",{className:"max-token-bar__tooltip-title",children:"Bill"}),(0,r.jsx)("div",{className:"max-token-bar__tooltip-value",children:e.cost.money??"--"})]}),(0,r.jsxs)("div",{className:"max-token-bar__tooltip-part",children:[(0,r.jsx)("div",{className:"max-token-bar__tooltip-title",children:"Request"}),(0,r.jsx)("div",{className:"max-token-bar__tooltip-value",children:e.cost.entitlement??"--"})]})]})]}):(0,r.jsx)(j.A,{size:"small"})}),O=(0,s.memo)(function({message:e}){let t=g.XT.tryResolve(f.F.AssistantBar),[i,n]=(0,s.useState)(null);if((0,s.useEffect)(()=>{t&&t.reportEvent("show",e)},[e,t]),!t)return null;let{input:a,output:o}=t.getTokenUsage(e);if(!a&&!o)return null;let l=async()=>{i||(t.reportEvent("tooltip_show",e),n(await t.getSessionUsage(e)))},c=()=>{t.reportEvent("click",e),t.openUsagePage()};return(0,r.jsx)(p.A,{content:(0,r.jsx)(D,{detail:i}),side:"top",mode:"mini",children:(0,r.jsxs)("button",{type:"button",className:"max-token-bar",onClick:c,onMouseEnter:l,children:[(0,r.jsx)("span",{className:"max-token-bar__icon",children:(0,r.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,r.jsx)("path",{d:"M7 2.333v6.125M4.375 5.25 7 2.333 9.625 5.25",stroke:"currentColor",strokeWidth:"1.167",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M2.625 9.625h8.75",stroke:"currentColor",strokeWidth:"1.167",strokeLinecap:"round"})]})}),(0,r.jsx)("span",{className:"max-token-bar__value",children:`${L(a)} | ${L(o)}`})]})})});var F=i(86871);function U(e){let t=e.toolCallInfo?.name,i=e.toolCallInfo?.result;if(!i?.data)return!1;if((0,F.VM)(t))return!!i.data?.can_show_diff;if((0,F.wY)(t)){let e=i.data;return!!e?.data?.deleted_files?.length}return!1}function V(){let e=(0,n.hE)(e=>e.planItemIds),t=(0,d.Fy)(e=>e.isStreaming),i=(0,h.h1)(f.B.AgentPlanItemStore).agentPlanItemsByIds.use(e);return(0,s.useMemo)(()=>!t&&i.filter(e=>{if(!e)return!1;let t=e.toolCallInfo?.name;return(0,F.Oz)(t)}).some(e=>e&&U(e)),[i,t])}var B=i(57499),z=i(27872);let W=[{type:"slash_command",data:{id:"compact",command:"compact",command_type:"action"}}],H=(0,s.memo)(function({children:e,onOpenDiff:t,onCompact:i}){let l=(0,k.s9)(),c=(0,n.hE)(e=>e.agentMessage),d=(0,n.hE)(e=>e.isLatestMessage),u=c?.isInterjected??!1,m=c?.agentType==="voice_summary"&&c?.status===a.C3.Completed,_=V(),y=c?.status,b=c?.chatStartTime,S=c?.chatEndTime,x=c?.messageId,C=g.XT.tryResolve(f.F.AssistantBar),w=g.XT.tryResolve(f.F.Toolcall),T=(0,h.h1)(f.B.StreamService),R=(0,s.useMemo)(()=>{if(c?.messageId)return{messageId:c.messageId,sessionId:c.sessionId,turnId:c.turnId,agentType:c.agentType,agentProcessSupport:c.agentProcessSupport,modelMode:c.modelSmartSelectionMeta?.mode,tokenUsage:c.tokenUsage?{input:c.tokenUsage.input,output:c.tokenUsage.output,lastTurnTotalTokens:c.tokenUsage.lastTurnTotalTokens,maxTokens:c.tokenUsage.maxTokens}:void 0}},[c]),N=(0,v.Ov)()===v.uC.TraeIDE,A=c?.modelSmartSelectionMeta?.mode==="max",M=y===a.C3.Completed||y===a.C3.Canceled||y===a.C3.Failed,j=!!c?.userMessageContext?.is_ralph_loop,L=c?.userMessageContext?.ralph_loop_report,D=(0,s.useMemo)(()=>{let e=c?.userMessageContext?.ralph_loop_context;if(e&&"string"==typeof e)try{return JSON.parse(e)}catch{return}},[c?.userMessageContext?.ralph_loop_context]),F=(0,s.useMemo)(()=>({completed:l.localize("trae-chat-core.latest-assistant-bar.status.completed",{},"Completed"),canceled:l.localize("trae-chat-core.latest-assistant-bar.status.canceled",{},"Manually stopped"),error:l.localize("trae-chat-core.latest-assistant-bar.status.error",{},"Abnormally stopped"),interjected:l.localize("trae-chat-core.latest-assistant-bar.status.interjected",{},"Switched to new request"),queryDiff:l.localize("trae-chat-core.latest-assistant-bar.query-diff",{},"Diff"),workedFor:l.localize("trae-chat-core.latest-assistant-bar.worked-for",{},"Worked for"),voiceProceedHint:l.localize("voiceDiscussion.proceedHint",{},"You can ask me to proceed, or provide further instructions before I begin.")}),[l]),[U,H]=(0,s.useState)(0),Z=(0,s.useRef)(null),K=(0,s.useRef)(null),X=(0,s.useRef)(null),Y=(0,s.useRef)(0),J=(0,s.useRef)({toRightTruncate:0,toBothTruncate:0}),$=(0,s.useCallback)(e=>{let t;if(!Z.current||!K.current||!X.current)return;let i=Z.current.getBoundingClientRect().width||0,r=K.current.scrollWidth||0,s=X.current.scrollWidth||0,n=20,a=20;t=r+s+20Y.current,l=i{if(c||e)return t>=1&&(J.current.toRightTruncate=r+s+n),t>=2&&(J.current.toBothTruncate=r+n+a),t;if(l){if(t>d)return 0===d&&t>=1&&(J.current.toRightTruncate=i),1===d&&t>=2&&(J.current.toBothTruncate=i),t}else if(o&&t0&&i>e)return 1}else if(1===d&&t<=0){let e=J.current.toRightTruncate;if(e>0&&i>e)return 0}}return d}),Y.current=i},[]);(0,s.useEffect)(()=>{let e=Z.current;if(!e)return;$();let t=new ResizeObserver(()=>{$()});return t.observe(e),()=>{t.disconnect()}},[$]),(0,s.useEffect)(()=>{let e=setTimeout(()=>{$(!0)},0);return()=>clearTimeout(e)},[y,_,u,b,S,x,R,M,A,$]);let q=j&&!d&&!L,Q=[],ee=(({forceShowText:e=!1}={})=>{let t=e||2!==U;if(q)return null;if(u)return(0,r.jsxs)("div",{className:"status",children:[(0,r.jsx)("span",{className:"icon-wrapper icon-wrapper--pause status-icon status-icon--pause",children:(0,r.jsx)(E._Zj,{})}),t&&(0,r.jsx)("span",{className:"status-text",children:F.interjected})]});if(y===a.C3.Canceled)return(0,r.jsxs)("div",{className:"status",children:[(0,r.jsx)("span",{className:"icon-wrapper icon-wrapper--pause status-icon status-icon--pause",children:(0,r.jsx)(E._Zj,{})}),t&&(0,r.jsx)("span",{className:"status-text",children:F.canceled})]});if(y===a.C3.Failed){let e=c?.error?.code;return e===o.Yb.ENTERPRISE_SEAT_MODEL_USAGE_EXHAUSTED||e===o.Yb.ENTERPRISE_ALL_MODEL_TENANT_QUOTA_EXCEEDED||e===o.Yb.ENTERPRISE_ALL_MODEL_USER_QUOTA_EXCEEDED||e===o.Yb.ENTERPRISE_PER_MODEL_TENANT_QUOTA_EXCEEDED||e===o.Yb.ENTERPRISE_PER_MODEL_USER_QUOTA_EXCEEDED||e===o.Yb.ENTERPRISE_QUOTA_CONFIG_INVALID?null:(0,r.jsxs)("div",{className:"status",children:[(0,r.jsx)("span",{className:"icon-wrapper status-icon",children:(0,r.jsx)(E.JIT,{})}),t&&(0,r.jsx)("span",{className:"status-text",children:F.error})]})}return null})({forceShowText:!0}),et=u||y===a.C3.Canceled||y===a.C3.Failed,ei=(0,s.useCallback)(()=>{let e=c?.sessionId,i=c?.replyToMessageId,r=c?.turnId;w?.openDiffViewInSummaryFromSnapshot&&e&&i&&r?w.openDiffViewInSummaryFromSnapshot({context:{sessionId:e,messageId:i,toolcallId:"",toolName:"query_diff",turnId:r},params:{location:"query_diff"}}):t?.()},[c?.replyToMessageId,c?.sessionId,c?.turnId,t,w]),er=(0,s.useCallback)(async()=>{if(R?.sessionId)try{let e=T.createUserMessage({sessionId:R.sessionId,query:W});await B.kd.sendMessage({userMessage:e}),C?.compactHistory(R),i?.()}catch(e){z.logger.error("[LatestAssistantBar] compact history failed:",e)}},[R,i,T,C]);if(N&&d&&(_&&Q.push((0,r.jsxs)("div",{className:"latest-assistant-bar-query-diff-wrapper",onClick:ei,children:[(0,r.jsx)("span",{className:"icon-wrapper query-diff-icon",children:(0,r.jsx)(E.v4m,{})}),(0,r.jsx)("div",{className:"latest-assistant-bar-query-diff-text",children:F.queryDiff})]},"query-diff")),M&&x&&R&&C?.shouldShowTokenBar(R)&&Q.push((0,r.jsx)(O,{message:R},"max-token-bar")),M&&x&&(A||R&&C?.shouldShowContextUsageRate(R))&&Q.push((0,r.jsx)(P,{showCompact:!!R&&(C?.shouldShowContextUsageCompact(R)??!1),onCompact:er},"max-context-usage"))),j&&!q&&y!==a.C3.Completed&&!D?.is_loop_done){let e=D?.ralph_loop_round??L?.total_requests,t=D?.ralph_loop_max_round??L?.max_requests,i=(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{children:"Ralph Loop\u6B21\u6570"}),void 0!==e&&void 0!==t&&(0,r.jsxs)("div",{children:[e,"\u6B21 / ",t,"\u6B21"]})]}),s=(0,r.jsxs)("div",{className:"ralph-loop-incompleted",children:[(0,r.jsx)(E.Ubb,{}),2!==U&&(0,r.jsx)("span",{className:"ralph-loop-incompleted-text",children:l.localize("trae-chat-core.ralph-loop-round-footer.incompleted",{},"Ralph Loop Incompleted")})]},"ralph-loop");Q.push((0,r.jsx)(p.A,{content:i,side:"top",mode:"mini",children:s},"ralph-loop"))}let es=["latest-assistant-bar",`latest-assistant-bar-stage-${U}`,j&&"latest-assistant-bar--ralph-loop"].filter(Boolean).join(" ");return q?null:(0,r.jsxs)(r.Fragment,{children:[m&&(0,r.jsx)("div",{className:"voice-proceed-hint",children:F.voiceProceedHint}),(0,r.jsxs)("div",{className:es,ref:Z,children:[(0,r.jsxs)("div",{className:"latest-assistant-bar-left-part",ref:K,children:[ee,ee&&(0,r.jsx)("span",{className:"latest-assistant-bar-left-divider","aria-hidden":"true"}),e??(0,r.jsx)(I,{isCollapsed:0!==U,hideVoteUpDown:et})]}),(0,r.jsx)("div",{className:"latest-assistant-bar-right-part",ref:X,children:Q.map((e,t)=>(0,r.jsxs)(s.default.Fragment,{children:[e,t(0,r.jsx)("span",{className:"latest-assistant-bar-divider","aria-hidden":"true"}),Z={identifier:{domain:l.M.Widget,name:"latest-assistant-bar"},displayName:"Latest Assistant Bar",description:"Status bar shown at the end of assistant message turn",component:H};(0,c.MD)([Z])},34987(e,t,i){i(97282),i(76933)},3925(e,t,i){i.d(t,{f:()=>s});var r=i(97282);let s=(0,i(51649).memo)(function({content:e,className:t}){let i=["messageDivider",t].filter(Boolean).join(" ");return(0,r.jsxs)("div",{className:i,children:[(0,r.jsx)("div",{className:"messageDividerLine"}),void 0!==e&&(0,r.jsx)("div",{className:"messageDividerContent",children:e}),(0,r.jsx)("div",{className:"messageDividerLine"})]})})},55673(e,t,i){i.d(t,{Ej:()=>h,LT:()=>u,Mp:()=>d,VU:()=>o,Zx:()=>c,nN:()=>l,rI:()=>a});var r=i(97282),s=i(51649),n=i(76933);let a=(0,s.memo)(()=>(0,r.jsx)(n.Y7q,{}));a.displayName="IconChevronDown",(0,s.memo)(()=>(0,r.jsx)(n.VLd,{style:{width:16,height:16}})).displayName="IconCheck";let o=(0,s.memo)(e=>(0,r.jsx)(n.VUu,{style:{width:16,height:16}}));o.displayName="IconCloud";let l=(0,s.memo)(e=>(0,r.jsx)(n.VaU,{style:{width:16,height:16}}));l.displayName="IconDisk";let c=(0,s.memo)(()=>(0,r.jsx)(n.Zx9,{style:{width:16,height:16}}));c.displayName="IconGithub";let d=(0,s.memo)(()=>(0,r.jsx)(n.peg,{style:{width:16,height:16}}));d.displayName="IconBranch";let u=(0,s.memo)(()=>(0,r.jsx)(n.nNr,{style:{width:16,height:16}}));u.displayName="IconEnvironment",(0,s.memo)(()=>(0,r.jsx)(n._l8,{style:{width:16,height:16}})).displayName="IconChevronRight",(0,s.memo)(()=>(0,r.jsx)(n.VPy,{style:{width:12,height:12}})).displayName="IconSparkles";let h=(0,s.memo)(()=>(0,r.jsx)(n.Ddh,{style:{width:18,height:18}}));h.displayName="IconInfoFilled",(0,s.memo)(e=>(0,r.jsx)(n.Zx9,{style:{width:16,height:16}})).displayName="IconCloudGit"},69092(e,t,i){i.d(t,{s:()=>O});var r=i(97282),s=i(51649),n=i(22644),a=i(69611),o=i(64512),l=i(77068),c=i(52716),d=i(85500),u=i(25188),h=i(55673),p=i(36325),m=i(89309),f=i(48671),g=i(74134),_=i(2552),y=i(94609),v=i(79297),b=i(76933);let S=(0,s.memo)(({sessionId:e,mode:t,hasFiles:i,clearFiles:S})=>{let[k,x]=(0,s.useState)(!1),[C,w]=(0,s.useState)(null),E=(0,u.s9)(),{popupZIndex:T}=(0,m.iw)(),I=(0,l.M)(e=>e.value),R=(0,l.M)(e=>e.setValue),N=(0,c.xC)(e=>e.showCustomModelHint),A=(0,c.xC)(e=>e.hideCustomModelHint),M=(0,n._o)(e=>e.localRemoteVisible),P=(0,n._o)(e=>e.localRemoteReadonly),j=(0,n._o)(e=>e.localDisabled),L=(0,n._o)(e=>e.worktreeDisabled),D=(0,n._o)(e=>e.worktreeVisible);(0,d.q)(e=>e.setSelectedEnvironment);let O=(0,f.h1)(g.B.ModelStore),F=(0,s.useCallback)(()=>{let i=!e,r=(0,y.Y6)(t??v.DX.Code,v.nN.Local),s=(0,y.Y6)(t??v.DX.Code,v.nN.Remote),n=O.selectedModelBySession.get(void 0,r),a=O.selectedModeBySession.get(void 0,r),o=O.selectedModeBySession.get(void 0,s),l=a===_.VY.Manual,c=n?.config_source===_.Lf.Personal,d=o===_.VY.Auto;return i&&l&&c&&d},[e,t,O]),U=(0,s.useCallback)(()=>{x(!1)},[]),V=(0,s.useCallback)(async e=>{if(e===I)return void x(!1);if(("local"!==e||!j)&&("worktree"!==e||!L)){if("remote"===I!=("remote"===e)&&i?.()){if(!await a.lJ.show({title:E.localize("trae-chat-core.localRemoteSwitch.confirmTitle",{},"Switch Execution Mode"),content:E.localize("trae-chat-core.localRemoteSwitch.confirmContent",{},"The current attachments are not compatible with the target environment and will be removed. Would you like to proceed?"),confirmText:E.localize("trae-chat-core.localRemoteSwitch.confirmOk",{},"Switch"),cancelText:E.localize("trae-chat-core.localRemoteSwitch.confirmCancel",{},"Stay"),type:"warning"}))return void x(!1);S?.()}if("remote"===e){let e="remote"!==I;R("remote"),x(!1),e&&F()&&N(c.e3.CloudNotSupportCustomModel)}else"local"===e?(R("local"),x(!1),A()):"worktree"===e&&(R("worktree"),x(!1),A())}},[R,j,L,I,i,S,E,F,N,A]),B=(0,s.useCallback)(()=>{P||x(e=>!e)},[P]),z=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:p.A.localRemoteMenuIcon,children:(0,r.jsx)(h.VU,{})}),[]),W=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:p.A.localRemoteMenuIcon,children:(0,r.jsx)(h.nN,{})}),[]),H=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:p.A.localRemoteMenuIcon,children:(0,r.jsx)(h.Mp,{})}),[]),G=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:p.A.menuCheckIcon,children:(0,r.jsx)(b.cfM,{})}),[]),Z=(0,s.useMemo)(()=>[{key:"local",type:"item",title:E.localize("trae-chat-core.mode.local",{},"Local"),icon:W,rightSlot:"local"===I?G:void 0,disabled:j},...D?[{key:"worktree",type:"item",title:E.localize("trae-chat-core.mode.worktree",{},"Worktree"),icon:H,rightSlot:"worktree"===I?G:void 0,disabled:L}]:[],{key:"remote",type:"item",title:E.localize("trae-chat-core.mode.remote",{},"Remote"),icon:z,rightSlot:"remote"===I?G:void 0}],[E,I,z,W,H,G,j,L,D]),K=(0,s.useMemo)(()=>"remote"===I?E.localize("trae-chat-core.mode.remote",{},"Remote"):"worktree"===I?E.localize("trae-chat-core.mode.worktree",{},"Worktree"):E.localize("trae-chat-core.mode.local",{},"Local"),[E,I]),X=(0,s.useMemo)(()=>"remote"===I?(0,r.jsx)(h.VU,{}):"worktree"===I?(0,r.jsx)(h.Mp,{}):(0,r.jsx)(h.nN,{}),[I]);return M?(0,r.jsxs)(r.Fragment,{children:[P?(0,r.jsxs)("span",{className:`${p.A.inputBarButton} ${p.A.inputBarButtonReadonly}`,children:[(0,r.jsx)("span",{className:p.A.inputBarButtonIcon,children:X}),(0,r.jsx)("span",{className:p.A.inputBarButtonContent,children:(0,r.jsx)("span",{className:p.A.inputBarButtonText,children:K})})]}):(0,r.jsxs)("button",{ref:w,className:p.A.inputBarButton,onClick:B,children:[(0,r.jsx)("span",{className:p.A.inputBarButtonIcon,children:X}),(0,r.jsx)("span",{className:p.A.inputBarButtonContent,children:(0,r.jsx)("span",{className:p.A.inputBarButtonText,children:K})}),(0,r.jsx)("span",{className:`${p.A.inputBarButtonArrow} ${k?p.A.inputBarButtonArrowOpen:""}`,children:(0,r.jsx)(h.rI,{})})]}),C&&(0,r.jsx)(o.H,{visible:k,menu:Z,style:{width:200,...void 0!==T?{zIndex:T}:{}},anchor:C,expandTrigger:"click",placement:"bottom",onClose:U,onSelect:V,value:[I]})]}):null});S.displayName="LocalRemoteSwitch";var k=i(2994),x=i(41748),C=i(92046),w=i(32987);let E=(0,s.memo)(()=>{let[e,t]=(0,s.useState)(!1),[i,a]=(0,s.useState)(null),c=(0,u.s9)(),[f,_]=(0,s.useState)(null),y=(0,d.q)(e=>e.selectedEnvironment),v=(0,d.q)(e=>e.environments),S=(0,d.q)(e=>e.setSelectedEnvironment),E=(0,d.q)(e=>e.setEnvironments),T=(0,d.q)(e=>e.appendEnvironments),I=(0,n._o)(e=>e.environmentVisible),R=(0,n._o)(e=>e.environmentReadonly),N=(0,m.Ki)("environmentVisible",I),A=(0,m.Ki)("environmentReadonly",R),{popupZIndex:M}=(0,m.iw)(),P="remote"!==(0,l.M)(e=>e.value),j=(0,s.useRef)(new Map),L=(0,s.useRef)(!1),D=(0,k.h1)(g.F.Environment),O=(0,k.h1)(g.F.TraeApi),F=(0,s.useCallback)(()=>{t(!1)},[]),U=(0,s.useCallback)(e=>{let i=j.current.get(e);if(i){let e=C.XT.tryResolve(g.F.Tea);e?.report(w.qu.InputEnvMenuClick,{action:"env_item"}),S(i),t(!1)}},[S]),V=x.Zz.isAuthenticated.use(),B=(0,s.useCallback)(()=>{let e=C.XT.tryResolve(g.F.User);e?.login()},[]),z=(0,s.useCallback)(()=>{if(!A){if(!V)return void B();t(e=>{if(!e){let e=C.XT.tryResolve(g.F.Tea);e?.report(w.qu.InputEnvMenuShow)}return!e})}},[A,V,B]),W=(0,s.useCallback)(async()=>{let e=C.XT.tryResolve(g.F.Tea);if(e?.report(w.qu.InputEnvMenuClick,{action:"add_env"}),D?.addEnvironment){let e=await D.addEnvironment();e&&(T([e]),j.current.set(e.id,e),S(e),L.current=!1),_(null),t(!1)}},[D,T,S]),H=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:p.A.menuCheckIcon,children:(0,r.jsx)(b.cfM,{})}),[]),G=(0,s.useCallback)(()=>(0,r.jsxs)("button",{className:p.A.cascadeFooterButton,onClick:W,children:[(0,r.jsx)("span",{style:{width:16,height:16,display:"flex",fontSize:14,alignItems:"center",justifyContent:"center"},children:(0,r.jsx)(b.xZp,{})}),c.localize("trae-chat-core.message-input.environment-button.add-environment",{},"Add Environment")]}),[W,c]),Z=(0,s.useCallback)(async e=>{if(!O?.environment)return{items:[],hasMore:!1};let t=await O.environment.listEnvironments({source:"chat",page_token:e,page_size:30});if(0!==t.code||!t.data?.items)return{items:[],hasMore:!1};let i=t.data.items.map(e=>({id:e.id,name:"default"===e.id?c.localize("environment.default",{},"Default Env"):e.name,path:e.description}));return i.forEach(e=>{j.current.set(e.id,e)}),e?T(i):E(i),{items:i.map(e=>({key:e.id,type:"item",title:e.name,subtitle:e.path})),nextPageToken:t.data.next_page_token,hasMore:!!t.data.next_page_token}},[O,E,T]);(0,s.useEffect)(()=>{!L.current&&O?.environment&&N&&!f&&V&&(L.current=!0,Z().then(e=>{if(_(e),e.items.length>0&&!y){let t=j.current.get(e.items[0].key);t&&S(t)}}))},[O,N,Z,f,y,S,V]),(0,s.useEffect)(()=>{!v.length||v.some(e=>e.id===y?.id)||S(v[0])},[v,y,S]);let K=(0,s.useMemo)(()=>({autoFetch:!0,enableLoadMore:!0,loadMoreThreshold:50,renderEmpty:()=>(0,r.jsx)("span",{}),fetchData:async e=>{if(!e&&f){let e={...f};return e.items=e.items.map(e=>({...e,rightSlot:y?.id===e.key?H:void 0})),e}let t=await Z(e);return t.items=t.items.map(e=>({...e,rightSlot:y?.id===e.key?H:void 0})),t}}),[f,y,H,Z]),X=(0,s.useMemo)(()=>[],[]),Y=(0,s.useMemo)(()=>y?.id==="default"?c.localize("environment.default",{},"Default Env"):y?.name||"Environment",[y,c]),J=(0,s.useMemo)(()=>{let e=[p.A.inputBarButton];return A&&e.push(p.A.inputBarButtonReadonly),e.join(" ")},[A]),$=(0,s.useMemo)(()=>{let t=[p.A.inputBarButtonArrow];return e&&t.push(p.A.inputBarButtonArrowOpen),t.join(" ")},[e]);return P||!N?null:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("button",{ref:a,className:J,onClick:z,children:[(0,r.jsx)("span",{className:p.A.inputBarButtonIcon,children:(0,r.jsx)(h.LT,{})}),(0,r.jsxs)("div",{className:p.A.inputBarButtonContent,children:[y?(0,r.jsx)("span",{className:p.A.inputBarButtonText,children:Y}):(0,r.jsx)("span",{className:p.A.inputBarButtonPlaceholder,children:Y}),!A&&(0,r.jsx)("span",{className:$,children:(0,r.jsx)(h.rI,{})})]})]}),i&&!A&&(0,r.jsx)(o.H,{visible:e,menu:X,style:{width:280,...void 0!==M?{zIndex:M}:{}},anchor:i,value:y?[y.id]:[],placement:"bottom-right",dataSource:K,onSelect:U,onClose:F,renderFooter:G})]})});E.displayName="EnvironmentButton";var T=i(30338),I=i(53253),R=i(99965),N=i(47210);let A=e=>e.local_project_id||e.remote_project_id||"",M=()=>(0,r.jsx)("span",{style:{fontSize:13,lineHeight:0},children:(0,r.jsx)(b.ARK,{})}),P=(0,s.memo)((0,s.forwardRef)(({style:e,iconStyle:t},i)=>{let[a,l]=(0,s.useState)(!1),[c,d]=(0,s.useState)(null),f=(0,s.useRef)(null),_=(0,u.s9)(),y=(0,N.y)(),{popupZIndex:v}=(0,m.iw)(),S=(0,m.W4)(),x=S===R.U.Work?"work":S===R.U.Design?"design":"code",C=(0,I.I)(e=>e.projectsByMode),w=(0,s.useMemo)(()=>(C?.[x]||[]).filter(e=>"ungrouped"!==e.local_project_id),[C,x]),E=(0,I.I)(e=>e.selectedProject),P=(0,I.I)(e=>e.setSelectedProject),j=(0,n._o)(e=>e.projectVisible),L=(0,n._o)(e=>e.projectReadonly),D=(0,I.I)(e=>e.validationTipTrigger),O=(0,s.useRef)(new Map),F=(0,k.h1)(g.F.Project),U=S===R.U.Code;(0,s.useEffect)(()=>{if(!U)return;let e=E&&w.some(e=>A(e)===A(E));if(E){if(0===w.length)return void P(void 0);else if(!e)return void P(w[0])}else{w.length>0&&P(w[0]);return}!(E&&w.some(e=>A(e)===A(E)))&&w.length>0&&P(w[0])},[x,w,E,P,U]);let V=(0,s.useCallback)(()=>{l(!1)},[]),B=(0,s.useCallback)(()=>{f.current?.setOpen(!0)},[]);(0,s.useImperativeHandle)(i,()=>({triggerValidationTip:B}),[B]);let z=(0,s.useRef)(D);(0,s.useEffect)(()=>{D>0&&D!==z.current&&B(),z.current=D},[D,B]);let W=(0,s.useCallback)(e=>{y.report("input_project_menu_click");let t=w.find(t=>A(t)===e);t||(t=O.current.get(e)),t&&(P(t),F?.onProjectSelect?.(t),l(!1))},[w,P,F]),H=(0,s.useCallback)(e=>{F?.prependProjectsForMode(x,[e]),O.current.set(A(e),e),P(e),F?.onProjectSelect?.(e)},[F,P,x]),G=(0,s.useCallback)(()=>{l(!1),y.report("icube_create_project_popup_show",{position:"input_box"}),F?.onAddProjectClick&&F.onAddProjectClick({mode:x,onSuccess:H})},[F,x,H,y]),Z=(0,s.useCallback)(()=>{if(f.current?.setOpen(!1),!L){if(!w.length)return void G();l(e=>(e||y.report("input_project_menu_show"),!e))}},[L,w,G,y]),K=S===R.U.Work||S===R.U.Design,X=(0,s.useCallback)(e=>{e.stopPropagation(),P(void 0)},[P]),Y=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:p.A.menuCheckIcon,children:(0,r.jsx)(b.cfM,{})}),[]),J=(0,s.useCallback)(()=>(0,r.jsxs)("button",{className:p.A.cascadeFooterButton,onClick:G,children:[(0,r.jsx)("span",{style:{width:16,height:16,display:"flex",fontSize:14,alignItems:"center",justifyContent:"center"},children:(0,r.jsx)(b.XEe,{})}),_.localize("trae-chat-core.folder.select",{},"Select a folder")]}),[G,_]),$=(0,s.useMemo)(()=>({autoFetch:!0,enableLoadMore:!0,loadMoreThreshold:50,fetchData:async e=>{if(!F)return{items:[],hasMore:!1};let t=await F.fetchProjects(e);return t.items.forEach(e=>{O.current.set(A(e),e)}),e?F.appendProjectsForMode(x,t.items):(F.setProjectsForMode(x,t.items),!I.I.getState().selectedProject&&t.items.length>0&&(P(t.items[0]),F?.onProjectSelect?.(t.items[0]))),{items:t.items.map(e=>({key:A(e),type:"item",title:e.name||_.localize("trae-chat-core.project.untitled",{},"Untitled project"),subtitle:e.extra_info?.folder,icon:M})),nextPageToken:t.nextPageToken,hasMore:t.hasMore}}}),[F,P,x]),q=(0,s.useMemo)(()=>w.map(e=>({key:A(e),type:"item",title:e.name||_.localize("trae-chat-core.project.untitled",{},"Untitled project"),subtitle:e.extra_info?.folder,icon:M,rightSlot:E&&A(E)===A(e)?Y:void 0})),[w,E,Y,_]),Q=(0,s.useMemo)(()=>E?.name?E.name:U?_.localize("trae-chat-core.folder.select",{},"Select a folder"):_.localize("trae-chat-core.folder.select_optional",{},"New project"),[E,_,U]),ee=(0,s.useMemo)(()=>{let e=[p.A.inputBarButton];return L&&e.push(p.A.inputBarButtonReadonly),e.join(" ")},[L]),et=(0,s.useMemo)(()=>{let e=[p.A.inputBarButtonArrow];return a&&e.push(p.A.inputBarButtonArrowOpen),e.join(" ")},[a]),ei=(0,s.useMemo)(()=>(0,r.jsx)("div",{className:p.A.projectButtonTipPopover,children:(0,r.jsxs)("div",{className:p.A.projectButtonTipTitle,children:[(0,r.jsx)("span",{className:p.A.projectButtonTipIcon,children:(0,r.jsx)(h.Ej,{})}),(0,r.jsx)("span",{className:p.A.projectButtonTipText,children:_.localize("trae-chat-core.project.send_tip",{},"Please select a project first.")})]})}),[_]);if(!j)return null;let er=E?"":U?p.A.projectButtonPlaceholderCode:p.A.projectButtonPlaceholderWork;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.A,{ref:f,content:ei,side:"bottom",align:"center",showArrow:!0,trigger:"click",disabled:!0,children:(0,r.jsxs)("button",{ref:d,className:`${ee} ${er}`,style:e,onClick:Z,children:[(0,r.jsx)("span",{className:p.A.inputBarButtonIcon,style:t,children:E?(0,r.jsx)(b.ARK,{}):(0,r.jsx)(b.XEe,{})}),(0,r.jsxs)("div",{className:p.A.inputBarButtonContent,style:{maxWidth:162},children:[E?(0,r.jsx)("span",{className:p.A.inputBarButtonText,children:Q}):(0,r.jsx)("span",{className:p.A.inputBarButtonPlaceholder,children:Q}),K&&E&&!L&&(0,r.jsx)("div",{className:p.A.inputBarButtonClear,onClick:X,role:"button",children:(0,r.jsx)(b.fc0,{})}),!L&&(E||!U)&&(0,r.jsx)("span",{className:et,children:(0,r.jsx)(h.rI,{})})]})]})}),c&&!L&&w.length>0&&(0,r.jsx)(o.H,{visible:a,menu:q,anchor:c,value:E?[A(E)]:[],placement:"bottom",dataSource:$,groupTitle:_.localize("trae-chat-core.project.recent",{},"Recent"),onSelect:W,onClose:V,renderFooter:J,style:{width:280,...void 0!==v?{zIndex:v}:{}}})]})}));P.displayName="ProjectButton";var j=i(15638),L=i(80755),D=i(55904);let O=(0,s.memo)(({sessionId:e,variant:t,popupZIndex:i,hasFiles:a,clearFiles:o})=>{let l=(0,n._o)(e=>e.localRemoteVisible),c=(0,n._o)(e=>e.localRemoteReadonly),d=(0,n._o)(e=>e.environmentVisible),u=(0,n._o)(e=>e.environmentReadonly),h=(0,n._o)(e=>e.repoVisible),_=(0,n._o)(e=>e.repoReadonly),y=(0,n._o)(e=>e.branchVisible),b=(0,n._o)(e=>e.branchReadonly),k=(0,n._o)(e=>e.projectVisible),x=(0,m.W4)(),C=(0,s.useMemo)(()=>x===n.Uf.Code?v.DX.Code:x===n.Uf.Design?v.DX.Design:v.DX.Work,[x]),w=x===n.Uf.Work,T=(0,s.useMemo)(()=>({localRemoteVisible:l,localRemoteReadonly:c,environmentVisible:d,environmentReadonly:u,repoVisible:h,repoReadonly:_,branchVisible:y,branchReadonly:b}),[l,c,d,u,h,_,y,b]),I=(0,L.MId)(e=>e.value),R="local"===I,N="worktree"===I,A="remote"===I,M=!(l||A&&d||!w&&(h||y)||(R||N)&&k),[O,F]=(0,s.useState)(null),U=(0,s.useRef)(M),V=(0,f.h1)(g.B.RepoStore),B=V.selectedBranch.use(),z=(0,s.useCallback)(e=>{V.core.setSelectedBranch(e.name)},[V]);(0,s.useEffect)(()=>{let e=U.current;U.current=M,!e&&M?F(T):e&&!M&&F(null)},[M,T]);let W=(0,s.useCallback)(e=>{"height"===e.propertyName&&M&&F(null)},[M]),H=(0,s.useMemo)(()=>({isExiting:M,delayedConfig:O??T,popupZIndex:i}),[M,O,T,i]),G=[p.A.inputBarContainer,"inputBarContainer",M&&("home"===t?p.A.inputBarCollapsedHome:p.A.inputBarCollapsed)].filter(Boolean).join(" ");return(0,r.jsx)(m.dJ.Provider,{value:H,children:(0,r.jsxs)("div",{className:G,onTransitionEnd:W,children:[(0,r.jsxs)("div",{className:p.A.inputBarLeft,children:[(0,r.jsx)(S,{sessionId:e,mode:C,hasFiles:a,clearFiles:o}),(R||N)&&(0,r.jsx)(P,{}),!w&&A&&h&&(0,r.jsx)(j.y,{}),N&&(0,r.jsx)(D.vRb,{selectedBranch:B,onBranchSelect:z})]}),R&&!w&&h&&(0,r.jsx)(j.y,{}),A&&(0,r.jsx)(E,{})]})})});O.displayName="InputBar"},89309(e,t,i){i.d(t,{Bl:()=>n,Ki:()=>c,W4:()=>a,dJ:()=>o,iw:()=>l});var r=i(51649),s=i(99965);let n=(0,r.createContext)(void 0);function a(){let e=(0,r.useContext)(n),t=(0,s.g)(e=>e.mode);return e??t}let o=(0,r.createContext)({isExiting:!1,delayedConfig:null}),l=()=>(0,r.useContext)(o);function c(e,t){let{delayedConfig:i}=l();return i?i[e]:t}},36325(e,t,i){i.d(t,{A:()=>r});let r={inputBarContainer:"inputBarContainer-CLmEv6",inputBarCollapsed:"inputBarCollapsed-OEsfFD",inputBarCollapsedHome:"inputBarCollapsedHome-bEV8FU",inputBarLeft:"inputBarLeft-EE7mei",inputBarRight:"inputBarRight-AlVUoZ",inputBarButton:"inputBarButton-ncFFma",inputBarButtonReadonly:"inputBarButtonReadonly-aIA6Jr",inputBarButtonIcon:"inputBarButtonIcon-BLhk2L",inputBarButtonContent:"inputBarButtonContent-AMyCYJ",inputBarButtonText:"inputBarButtonText-J2V59I",inputBarButtonPlaceholder:"inputBarButtonPlaceholder-D8zyJm",inputBarButtonArrow:"inputBarButtonArrow-LJUdmF",inputBarButtonArrowOpen:"inputBarButtonArrowOpen-GxO3Fy",localRemoteMenuIcon:"localRemoteMenuIcon-o95GXn",localRemoteCheckIcon:"localRemoteCheckIcon-qZCRAy",menuCheckIcon:"menuCheckIcon-v5_rqv",cascadeFooterButton:"cascadeFooterButton-ISVymP",connectGithubButton:"connectGithubButton-WVSsrc",connectGithubTooltipTrigger:"connectGithubTooltipTrigger-jcBqeA",connectGithubButtonIcon:"connectGithubButtonIcon-J70R2i",projectButtonTipPopover:"projectButtonTipPopover-LjjEgi",modeButtonTipPopover:"modeButtonTipPopover-HRQ3c3",projectButtonTipTitle:"projectButtonTipTitle-KN_zjk",projectButtonTipIcon:"projectButtonTipIcon-nBrWMK",projectButtonTipText:"projectButtonTipText-K1UCxe",projectButtonTipFooter:"projectButtonTipFooter-aXv_O2",projectButtonTipBtn:"projectButtonTipBtn-Lq_KKg",projectButtonTipBtnText:"projectButtonTipBtnText-jNSsmK",projectButtonTipCountdown:"projectButtonTipCountdown-tCexct",projectButtonTipWrapper:"projectButtonTipWrapper-E5DGGE",projectButtonTipArrow:"projectButtonTipArrow-WSg1lo",inputBarButtonClear:"inputBarButtonClear-bnMQWQ",projectButtonPlaceholderCode:"projectButtonPlaceholderCode-y7dCfI",projectCodeBreathe:"projectCodeBreathe-ygXx1g",projectButtonPlaceholderWork:"projectButtonPlaceholderWork-JV100D"}},21857(e,t,i){i.d(t,{AR:()=>l,Dl:()=>u,Sw:()=>o,jH:()=>a,jv:()=>d,mX:()=>n,xZ:()=>c});var r=i(97282),s=i(76933);let n=e=>(0,r.jsx)(s.XFO,{style:{width:16,height:16}}),a=e=>(0,r.jsx)(s.jHH,{style:{width:16,height:16}}),o=e=>(0,r.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,r.jsx)("path",{d:"M5.24967 2.3335L4.08301 11.6668M9.91634 2.3335L8.74967 11.6668M2.33301 4.66683H11.6663M11.6663 9.3335H2.33301",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"square"})}),l=e=>(0,r.jsx)(s.ARK,{style:{width:16,height:16}}),c=e=>(0,r.jsx)(s.xZp,{style:{width:16,height:16}}),d=e=>(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,r.jsx)("path",{d:"M13.3333 4.66667H2.66667C1.93029 4.66667 1.33333 5.26362 1.33333 6V12.6667C1.33333 13.403 1.93029 14 2.66667 14H13.3333C14.0697 14 14.6667 13.403 14.6667 12.6667V6C14.6667 5.26362 14.0697 4.66667 13.3333 4.66667Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M10.6667 14V3.33333C10.6667 2.97971 10.5262 2.64057 10.2761 2.39052C10.0261 2.14048 9.68696 2 9.33333 2H6.66667C6.31304 2 5.97391 2.14048 5.72386 2.39052C5.47381 2.64057 5.33333 2.97971 5.33333 3.33333V14",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})]}),u=e=>(0,r.jsx)(s.oCi,{style:{width:16,height:16}})},25415(e,t,i){let r;i.d(t,{A:()=>w1});var s=i(97282),n=i(51649),a=i(7516),o=i(8780),l=i(54504),c=i(44582),d=i(19164),u=i(19755),h=i(68517),p=i(20848),m=i(25188);let f="container-x_jTEP",g="content-NTZQlF",_="icon-hoyOFH",y="iconPrimary-G7_VUH",v="text-XBLPfQ",b="actions-gmYaJq";var S=i(76933);let k=({mode:e="parallel_limit",onClose:t,onUpgrade:i,onContinue:r,onManageUsage:n,limit:a=10,showUpgradeButton:o=!1,isCN:l=!1})=>{let c=(0,m.s9)(),d=o?l?c.localize("trae-chat-core.fission.limit_info_bar.description_cn",{count:a},`You've reached the ${a} concurrent cloud task limit. Please wait for a task to finish or upgrade your plan.`):c.localize("trae-chat-core.fission.limit_info_bar.description",{count:a},`You've reached the ${a} concurrent cloud task limit. Please wait for a task to finish or upgrade your plan.`):l?c.localize("trae-chat-core.fission.limit_info_bar.description_ultra_cn",{count:a},`You've reached the ${a} concurrent cloud task limit. Please wait for a task to finish before continuing.`):c.localize("trae-chat-core.fission.limit_info_bar.description_ultra",{count:a},`You've reached the ${a} concurrent cloud task limit. Please wait for a task to finish before continuing.`),u=l?c.localize("trae-chat-core.fission.limit_info_bar.upgrade_button_cn",{},"Upgrade plan"):c.localize("trae-chat-core.fission.limit_info_bar.upgrade_button",{},"Upgrade plan");return"free_access_ended"===e?(0,s.jsxs)("div",{className:f,children:[(0,s.jsxs)("div",{className:g,children:[(0,s.jsx)(S.cwm,{className:`${_} ${y}`}),(0,s.jsx)("span",{className:v,children:c.localize("trae-chat-core.fission.free_access_ended.description",{},"The limited-time free access ended. Billed by token from available Dollar Usage.")})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)(p.A,{type:"tertiary",size:"small",onClick:n,children:c.localize("trae-chat-core.fission.free_access_ended.manage_usage_button",{},"Manage usage")}),(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:r,children:c.localize("trae-chat-core.fission.free_access_ended.continue_button",{},"Continue")})]})]}):(0,s.jsxs)("div",{className:f,children:[(0,s.jsxs)("div",{className:g,children:[(0,s.jsx)(S.cwm,{className:_}),(0,s.jsx)("span",{className:v,children:d})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)(p.A,{type:"tertiary",size:"small",onClick:t,children:c.localize("trae-chat-core.fission.limit_info_bar.got_it_button",{},"Got it")}),o&&(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:i,children:u})]})]})};var x=i(30338),C=i(21857);let w=(0,n.memo)(function({enableMention:e,mentionTriggerChar:t,isMultimodalSupported:i,isCodeMode:r,disabled:a,onMentionClick:o,onSlashClick:l,onFileUploadClick:c}){let[d,u]=(0,n.useState)(!1),h=(0,m.s9)(),p=(0,n.useCallback)(()=>{u(!1),o()},[o]),f=(0,n.useCallback)(()=>{u(!1),l()},[l]),g=(0,n.useCallback)(()=>{u(!1),c()},[c]),_=(0,n.useMemo)(()=>{let n=[];if(e&&n.push({key:"mention",icon:"#"===t?(0,s.jsx)(C.Sw,{}):(0,s.jsx)(C.jH,{}),label:"#"===t?h.localize("chat-input.messageInput.contextTooltip.mention",{},"Add Context"):h.localize("chat-input.messageInput.tooltip.mention",{},"Mention"),onClick:p}),n.push({key:"slash",icon:(0,s.jsx)(C.mX,{}),label:h.localize("chat-input.messageInput.tooltip.command",{},"Command"),onClick:f}),i){let e=r?S.dwH:S.LjW;n.push({key:"upload",icon:(0,s.jsx)(e,{style:{width:16,height:16}}),label:h.localize("chat-input.fileUpload.tooltip.uploadImage",{},"Upload"),onClick:g})}return n},[e,t,i,r,h,p,f,g]),y=(0,s.jsx)("div",{className:"compactToolbarMenu",children:_.map(e=>(0,s.jsxs)("button",{className:"compactToolbarMenuItem",onClick:e.onClick,children:[(0,s.jsx)("span",{className:"compactToolbarMenuItemIcon",children:e.icon}),(0,s.jsx)("span",{children:e.label})]},e.key))});return(0,s.jsx)(x.A,{open:d,onOpenChange:u,content:y,side:"top",align:"start",sideOffset:8,children:(0,s.jsx)("button",{className:"compactToolbarTrigger","data-open":d,disabled:a,onClick:()=>u(!d),children:(0,s.jsx)(C.xZ,{})})})});var E=i(79273),T=i(51717);let I="container-tdBMJl",R="header-S9N9dP",N="avatar-TgCac5",A="titleSection-NZOAV2",M="titleWrapper-b7jWIc",P="closeBtn-lHlIct",j="optionList-M3pY0z",L="option-hnCPeq",D="optionFocused-WjMIaX",O="optionDisabled-cnuXpF",F="optionLabel-qaxINR",U="optionArrow-ZRnNuP",V="optionArrowHidden-G1NlkG",B="tooltipKey-jES1z_",z=()=>(0,s.jsx)(S.DKF,{style:{width:12,height:8}}),W=()=>(0,s.jsx)(S.Y_,{style:{width:12,height:12}}),H=(0,n.memo)((0,n.forwardRef)(({title:e,options:t,onSelect:i,onClose:r,showCloseButton:a=!0,keyboard:o=!0,autoFocus:l=!0,disabled:c=!1,confirmLoading:d=!1,className:h=""},p)=>{let{localize:m}=(0,T.s9)(),[f,g]=(0,n.useState)(0),_=(0,n.useRef)([]),y=(0,n.useRef)(null),v=m("chat-confirm-modal.basic-fallback.title",void 0,"What would you like to do next?"),b=e??v,k=t.filter(e=>!e.disabled).map(e=>e.key);(0,n.useEffect)(()=>{g(0),l&&requestAnimationFrame(()=>{y.current?.focus()})},[l]);let x=(0,n.useCallback)(()=>{y.current?.focus()},[]),C=(0,n.useCallback)(e=>{if(!c&&k.length)switch(e.key){case"ArrowUp":case"ArrowLeft":e.preventDefault(),g(e=>e<=0?k.length-1:e-1);break;case"ArrowDown":case"ArrowRight":e.preventDefault(),g(e=>e>=k.length-1?0:e+1);break;case"Enter":e.preventDefault(),k[f]&&i?.(k[f]);break;case"Escape":o&&r&&(e.preventDefault(),r())}},[c,k,f,i,r,o]),w=(0,n.useCallback)(e=>{c||i?.(e)},[c,i]),H=(0,n.useCallback)(e=>{c||e<0||g(e)},[c]),G=(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{children:m("chat-confirm-modal.shortcut-tip.close",void 0,"Close")}),"\xa0\xa0",(0,s.jsx)("span",{className:B,children:"ESC"})]});return(0,s.jsxs)("div",{ref:e=>{y.current=e,"function"==typeof p?p(e):p&&(p.current=e)},className:`${I} ${h}`,onKeyDown:C,onClick:x,tabIndex:-1,children:[(0,s.jsxs)("div",{className:R,children:[(0,s.jsx)("div",{className:N,children:(0,s.jsx)(z,{})}),(0,s.jsx)("div",{className:A,children:(0,s.jsx)(u.A,{content:b,side:"top",disabled:!b,children:(0,s.jsx)("div",{className:M,children:b})})}),a&&(0,s.jsx)(u.A,{content:G,mode:"mini",children:(0,s.jsx)("button",{className:P,onClick:r,disabled:c||d,"aria-label":"Close",children:(0,s.jsx)(S.gzW,{})})})]}),(0,s.jsx)("div",{className:j,children:t.map(e=>{let t=k.indexOf(e.key),i=t===f,r=c||d||e.disabled;return(0,s.jsx)("div",{ref:e=>{t>=0&&(_.current[t]=e)},className:`${L} ${i?D:""} ${r?O:""}`,onClick:()=>!r&&w(e.key),onMouseEnter:()=>!r&&H(t),role:"button",tabIndex:i?0:-1,"data-focused":i,children:(0,s.jsxs)("span",{className:F,children:[e.label,(0,s.jsx)("span",{className:`${U} ${!i?V:""}`,children:i&&d?(0,s.jsx)(E.A,{size:"small"}):(0,s.jsx)(W,{})})]})},e.key)})})]})}));H.displayName="ChatConfirmModal";let G=H;var Z=i(47210),K=i(11831);let X="inputConfirmModal-dQuMlS",Y="confirmModal-OEYzMx",J=(0,n.memo)(({onSelect:e,hasConflictResolve:t})=>{let i=(0,m.s9)(),r=(0,Z.y)(),{getCommonParams:a}=(0,m.X$)({}),[o,l]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=a();r.report(K.qu.AiConflictBarShow,{...e})},[r,a]);let c=(0,n.useMemo)(()=>t?[{key:"create_pr",label:i.localize("trae-chat-core.prConfirm.createPR",{},"Create PR")},{key:"discard_resolution",label:i.localize("trae-chat-core.prConfirm.discardResolution",{},"Discard AI resolution")},{key:"close",label:i.localize("trae-chat-core.prConfirm.createPRLater",{},"Create PR later")}]:[{key:"create_pr",label:i.localize("trae-chat-core.prConfirm.createPR",{},"Create PR")},{key:"close",label:i.localize("trae-chat-core.prConfirm.createPRLater",{},"Create PR later")}],[i,t]),d=(0,n.useMemo)(()=>({create_pr:"create_pr_click",close:"dismiss_pr_click",discard_resolution:"discard_ai_changes_click"}),[]),u=(0,n.useCallback)(async i=>{let s=d[i];if(s){let e=a();r.report(K.qu.AiConflictBarClick,{...e,has_conflict_path:+!!t,action:s})}l(!0);try{await e(i)}finally{l(!1)}},[e,r,t,d,a]);return(0,s.jsx)("div",{className:X,children:(0,s.jsx)(G,{options:c,onSelect:u,showCloseButton:!0,onClose:()=>u("close"),confirmLoading:o,className:Y})})});J.displayName="PrConfirmModal";var $=i(80755);let q=(0,n.memo)(({reason:e,onSelect:t})=>{let i=(0,m.y5)(),{getCommonParams:r}=(0,m.X$)({}),a=(0,m.s9)();return(0,n.useEffect)(()=>{let e=r();i.report($.quh.AiTakeoverShow,{...e,position:"chat_popup"})},[i,r]),(0,s.jsx)("div",{className:X,children:(0,s.jsx)(G,{title:e||a.localize("trae-chat-core.browserConfirm.takeOverBrowser",{},"Would you like to take over the browser?"),options:[{key:"confirm",label:a.localize("trae-chat-core.browserConfirm.confirm",{},"Confirm")},{key:"skip",label:a.localize("trae-chat-core.browserConfirm.skip",{},"Skip")}],onSelect:t,showCloseButton:!1,className:Y})})});q.displayName="BrowserWaitForUserConfirmModal";let Q={merge:"merge_worktree",discard_conflict_resolve:"discard_conflict_resolve_worktree",close:"merge_later_worktree"},ee=(0,n.memo)(({onSelect:e,hasConflict:t})=>{let i=(0,m.s9)(),r=(0,Z.y)(),{getCommonParams:a}=(0,m.X$)({}),[o,l]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=a();r.report(K.qu.AiConflictBarShow,{...e,has_conflict_path:+!!t})},[r,a,t]);let c=(0,n.useMemo)(()=>t?[{key:"merge",label:i.localize("trae-chat-core.worktreeMergeConfirm.merge",{},"Merge Code")},{key:"discard_conflict_resolve",label:i.localize("trae-chat-core.worktreeMergeConfirm.discardConflictResolve",{},"Discard AI conflict resolution")},{key:"close",label:i.localize("trae-chat-core.worktreeMergeConfirm.later",{},"Merge later")}]:[{key:"merge",label:i.localize("trae-chat-core.worktreeMergeConfirm.merge",{},"Merge Code")},{key:"close",label:i.localize("trae-chat-core.worktreeMergeConfirm.later",{},"Merge later")}],[i,t]),d=(0,n.useCallback)(async i=>{let s=a();r.report(K.qu.AiConflictBarClick,{...s,action:Q[i]||i,has_conflict_path:+!!t}),l(!0);try{await e(i)}finally{l(!1)}},[e,r,a,t]);return(0,s.jsx)("div",{className:X,children:(0,s.jsx)(G,{options:c,onSelect:d,showCloseButton:!0,onClose:()=>d("close"),confirmLoading:o,className:Y})})});ee.displayName="WorktreeMergeConfirmModal";let et={install_git:"install_git_worktree",continue_local:"continue_local_worktree",free_up_disk:"free_up_disk_worktree",commit:"commit_worktree",stash:"stash_worktree",abort:"abort_worktree",ignore:"ignore_worktree"},ei=(0,n.memo)(({onSelect:e,onClose:t,variant:i="worktree"})=>{let r=(0,m.s9)(),a=(0,Z.y)(),{getCommonParams:o}=(0,m.X$)({}),[l,c]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=o();a.report(K.qu.AiConflictBarShow,{...e})},[a,o]);let d=(()=>{switch(i){case"git-not-installed":return{title:r.localize("trae-chat-core.worktreeCheck.gitNotInstalled.title",void 0,"Git is required to create a Worktree. Please install Git first."),options:[{key:"install_git",label:r.localize("trae-chat-core.worktreeCheck.installGit",void 0,"Install Git")},{key:"continue_local",label:r.localize("trae-chat-core.worktreeCheck.continueLocal",void 0,"Continue in Local Workspace")}]};case"disk-space":return{title:r.localize("trae-chat-core.worktreeCheck.diskSpace.title",void 0,"Insufficient disk space. Please free up some space and try again."),options:[{key:"free_up_disk",label:r.localize("trae-chat-core.worktreeCheck.freeUpDisk",void 0,"Free up disk space")},{key:"continue_local",label:r.localize("trae-chat-core.worktreeCheck.continueLocal",void 0,"Continue in Local Workspace")}]};case"merge":return{title:r.localize("trae-chat-core.worktreeCheck.title",void 0,"Uncommitted Changes Detected"),options:[{key:"commit",label:r.localize("trae-chat-core.worktreeCheck.commit",void 0,"Commit Changes")},{key:"stash",label:r.localize("trae-chat-core.worktreeCheck.stash",void 0,"Stash Changes")},{key:"abort",label:r.localize("trae-chat-core.worktreeCheck.cancel",void 0,"Cancel")}]};default:return{title:r.localize("trae-chat-core.worktreeCheck.title",void 0,"Uncommitted Changes Detected"),options:[{key:"commit",label:r.localize("trae-chat-core.worktreeCheck.commit",void 0,"Commit Changes")},{key:"stash",label:r.localize("trae-chat-core.worktreeCheck.stash",void 0,"Stash Changes")},{key:"ignore",label:r.localize("trae-chat-core.worktreeCheck.ignore",void 0,"Ignore and Continue")}]}}})(),u=(0,n.useCallback)(t=>{c(!0);let i=o();a.report(K.qu.AiConflictBarClick,{...i,action:et[t]||t}),e(t)},[e,a,o,et]);return(0,s.jsx)("div",{className:X,children:(0,s.jsx)(G,{title:d.title,options:d.options,onSelect:u,showCloseButton:!0,onClose:t,confirmLoading:l,disabled:l,className:Y})})});ei.displayName="WorktreeCheckConfirmModal";var er=i(22190),es=i(82224),en=i(23845),ea=i(21992),eo=i(41748),el=i(51198),ec=i(48671),ed=i(74134),eu=i(79297);function eh(e){return({idle:"idle",reviewing:"reviewing",pending_pr:"pending_pr",conflict:"conflict",pending_pr_with_conflict_resolve:"pending_pr_with_conflict_resolve",source_branch_deleted:"source_branch_deleted"})[(e??"").replace(/^"|"$/g,"")]||"idle"}function ep(e){let t=(0,ec.h1)(ed.B.SessionStore),i=t.sessionById.use(e??""),r=t.prSelectedBranch.use(e??"");return(0,n.useMemo)(()=>{if(!e||!i)return;let t=i.target,s=i.source,n=i.worktreeData,a=t?.review_status||n?.reviewStatus,o=t?.branch||n?.worktreeBranch;return t&&"source_branch_deleted"===a?{sourceBranch:t.branch||"",targetBranch:s?.ref||"",reviewStatus:a,repoUrl:s?.repo_url||""}:a&&o&&n?.worktreeStatus!==eu.St.Deleted&&(t?.branch||n)?{sourceBranch:o,targetBranch:s?.ref||"",prSelectedBranch:r,reviewStatus:eh(a),prUrl:t?.pr_url,repoUrl:s?.repo_url||""}:void 0},[e,i,r])}var em=i(27872),ef=i(7309);function eg(e,t){let{onError:i}=t??{},r=(0,ec.h1)(ed.B.ReviewService),s=(0,ef.fn)(),a=(0,n.useCallback)(t=>{e&&r.setPrSelectedBranch(e,t)},[e,r]),o=(0,n.useCallback)(async t=>{if(e)try{await r.startReview(e,t)}catch(s){em.logger.error("[useReviewActions] startReview first attempt failed:",s),await new Promise(e=>setTimeout(e,3e3));try{await r.startReview(e,t)}catch(e){i?.(e)}}},[e,r,i]),l=(0,n.useCallback)(async t=>{if(e)try{await r.startResolveConflicts(e,t)}catch(e){em.logger.error("[useReviewActions] startResolveConflicts failed:",e),i?.(e)}},[e,r,i]),c=(0,n.useCallback)(async t=>{if(e)try{let i=await r.createPR(e,t);return i&&window.open(i,"_blank"),s?.unlockAndScrollToBottom("smooth"),i}catch(e){i?.(e);return}},[e,r,i,s]),d=(0,n.useCallback)(async()=>{e&&(await r.cancelPendingPr(e),s?.unlockAndScrollToBottom("smooth"))},[e,r,s]);return{setPrSelectedBranch:a,startReview:o,startResolveConflicts:l,createPR:c,cancelPendingPr:d,discardConflictResolution:(0,n.useCallback)(async()=>{e&&(await r.discardConflictResolution(e),s?.unlockAndScrollToBottom("smooth"))},[e,r,s]),deleteRemoteBranch:(0,n.useCallback)(async()=>{e&&await r.deleteRemoteBranch(e)},[e,r])}}var e_=i(44132),ey=i(86002),ev=i(57499),eb=i(32987),eS=i(3813);let ek={"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/bmp":"bmp","image/tiff":"tiff","image/svg+xml":"svg"};function ex(e){if(!e)return;let t=e.toLowerCase().match(/\.([a-z0-9]+)$/);return t?.[1]}function eC(e){let t=e.originalName;if(!t||!e.mimeType?.startsWith("image/")||t.startsWith("screenshot_"))return!1;let i=ex(t);if(!i)return!1;let r=t.toLowerCase();return!!(r===`image.${i}`||RegExp(`^image\\s*\\(\\d+\\)\\.${i}$`,"i").test(t))||r===`clipboard.${i}`}function ew(e){let t=ex(e.originalName),i=e.mimeType?ek[e.mimeType]:void 0,r=t||i||"png",s=e.index>=1?e.index:1;return`screenshot_${s}.${r}`}var eE=i(75952),eT=function(e){return e.Huoshan="huoshan",e.AWS="aws",e}({}),eI=function(e){return e.Idle="idle",e.Connecting="connecting",e.Connected="connected",e.Transcribing="transcribing",e.Closed="closed",e.Error="error",e}({}),eR=function(e){return e.CLOSE="CLOSE",e.PREPARING="PREPARING",e.RECORDING="RECORDING",e}({}),eN=function(e){return e[e.INIT=0]="INIT",e[e.CLIENT_CREATED=1]="CLIENT_CREATED",e[e.MEDIA_STREAM_CREATED=2]="MEDIA_STREAM_CREATED",e[e.RECORDER_CREATED=3]="RECORDER_CREATED",e[e.CLIENT_STARTED=4]="CLIENT_STARTED",e[e.CLIENT_CONNECTED=5]="CLIENT_CONNECTED",e[e.CLOSED=6]="CLOSED",e[e.ERROR=7]="ERROR",e}({});let eA={CONNECT_ERROR:"https://docs.trae.ai/troubleshooting/asr-connection",TRANSCRIBE_ERROR:"https://docs.trae.ai/troubleshooting/asr-transcription",TOKEN_FETCH_ERROR:"https://docs.trae.ai/troubleshooting/asr-token"};class eM extends Error{extraPayload;constructor(e,t={}){super(e),this.name="ASRClientError",this.extraPayload=t,Object.setPrototypeOf(this,new.target.prototype)}get helpUrl(){return eA[this.type]}getMessageWithHelp(){let{helpUrl:e}=this;return e?`${this.message} Learn more: ${e}`:this.message}info(){console.error(`[ASR Error] ${this.type}: ${this.message}`,this.extraPayload),this.helpUrl&&this.helpUrl}}class eP extends eM{type="MICROPHONE_PERMISSION_ERROR";i18nKey="asr.error.microphone_permission";constructor(e="Microphone permission denied"){super(e)}}class ej extends eM{type="CONNECT_ERROR";i18nKey="asr.error.connect";constructor(e="Failed to connect to ASR service",t){super(e,t)}}class eL extends eM{type="TOKEN_FETCH_ERROR";i18nKey="asr.error.token_fetch";constructor(e="Failed to fetch ASR token",t){super(e,t)}}class eD extends eM{type="HUOSHAN_CONNECT_ERROR";i18nKey="asr.error.huoshan_connect";constructor(e="Failed to connect to Huoshan ASR",t){super(e,t)}}class eO extends eM{type="HUOSHAN_SMALLMODEL_TRANSCRIBE_ERROR";i18nKey="asr.error.huoshan_transcribe";constructor(e="Huoshan transcription failed",t){super(e,t)}}class eF extends eM{type="AWS_CONNECT_ERROR";i18nKey="asr.error.aws_connect";constructor(e="Failed to connect to AWS Transcribe",t){super(e,t)}}class eU extends eM{type="AWS_TRANSCRIBE_ERROR";i18nKey="asr.error.aws_transcribe";constructor(e="AWS transcription failed",t){super(e,t)}}var eV=function(e){return e.USER="user",e.SYSTEM="system",e}({}),eB=function(e){return e.ERROR="error",e.TIME_LIMIT="time_limit",e.EDITOR_COMMAND="editor_command",e.PANEL_UNVISIBLE="panel_unvisible",e.AI_CLOSE="ai_close",e.LENGTH_LIMIT="length_limit",e.CLOSE_WHEN_PREPARING="close_when_preparing",e.NETWORK_OFFLINE="network_offline",e.SELF_DISCONNECT="self_disconnect",e.UNKNOWN="unknown",e.USER_STOP="user_stop",e.PANEL_CLOSE="panel_close",e}({});let ez=9e5,eW=24e4,eH=16e3,eG=1,eZ=100,eK=4096;var eX=function(e){return e.Huoshan="huoshan",e.AWS="aws",e}({});let eY=null,eJ={trace(e,...t){eY&&eY.trace(e,...t)},debug(e,...t){eY&&eY.debug(e,...t)},info(e,...t){eY&&eY.info(e,...t)},warn(e,...t){eY&&eY.warn(e,...t)},error(e,...t){eY?eY.error(e,...t):console.error(e,...t)}},e$={[eN.INIT]:[eN.CLIENT_CREATED,eN.ERROR,eN.CLOSED],[eN.CLIENT_CREATED]:[eN.MEDIA_STREAM_CREATED,eN.ERROR,eN.CLOSED],[eN.MEDIA_STREAM_CREATED]:[eN.RECORDER_CREATED,eN.ERROR,eN.CLOSED],[eN.RECORDER_CREATED]:[eN.CLIENT_STARTED,eN.ERROR,eN.CLOSED],[eN.CLIENT_STARTED]:[eN.CLIENT_CONNECTED,eN.ERROR,eN.CLOSED],[eN.CLIENT_CONNECTED]:[eN.ERROR,eN.CLOSED],[eN.CLOSED]:[],[eN.ERROR]:[eN.CLOSED]},eq={[eN.INIT]:"INIT",[eN.CLIENT_CREATED]:"CLIENT_CREATED",[eN.MEDIA_STREAM_CREATED]:"MEDIA_STREAM_CREATED",[eN.RECORDER_CREATED]:"RECORDER_CREATED",[eN.CLIENT_STARTED]:"CLIENT_STARTED",[eN.CLIENT_CONNECTED]:"CLIENT_CONNECTED",[eN.CLOSED]:"CLOSED",[eN.ERROR]:"ERROR"};class eQ{_state=eN.INIT;_onStateChange;_enableLog;constructor(e){this._onStateChange=e?.onStateChange,this._enableLog=e?.enableLog??!0}get state(){return this._state}get stateName(){return eq[this._state]}canTransitionTo(e){return e$[this._state].includes(e)}transitionTo(e){if(!this.canTransitionTo(e))return this._enableLog&&eJ.warn(`[ASRStateMachine] Invalid transition: ${eq[this._state]} -> ${eq[e]}`),!1;let t=this._state;return this._state=e,this._enableLog&&eJ.trace(`[ASRStateMachine] State transition: ${eq[t]} -> ${eq[e]}`),this._onStateChange?.(e,t),!0}isTerminal(){return this._state===eN.CLOSED||this._state===eN.ERROR}isError(){return this._state===eN.ERROR}isClosed(){return this._state===eN.CLOSED}isConnected(){return this._state===eN.CLIENT_CONNECTED}isPreparing(){return this._state>=eN.INIT&&this._state INIT`)}}let e0={localize:(e,t,i)=>{let r=i||"";return t&&Object.keys(t).length?Object.entries(t).reduce((e,[t,i])=>e.replace(`{${t}}`,String(i)),r):r}};function e1(){return e0}class e2{_stateMachine;_client=null;_mediaStream=null;_recorder=null;_handlers=null;_startTime=0;_config;_isOperating=!1;_abortController=null;constructor(e){this._config=e,this._stateMachine=new eQ({enableLog:!0})}_localize(e,t){return e1().localize(e,void 0,t)}async initialize(){eJ.trace("[ASRService] Initializing...");try{await this._config.clientService.initialize(),eJ.trace("[ASRService] Initialized")}catch(e){throw eJ.error("[ASRService] Failed to initialize:",e),this._showError(this._localize("asr.initializeFailed","Voice service initialization failed, please try again later")),e}}async start(e){if(this._isOperating)return void eJ.warn("[ASRService] Operation in progress, ignoring start request");let t=this._stateMachine.state;if(t!==eN.INIT&&(eJ.warn("[ASRService] Invalid state for starting, resetting state machine",{currentState:t}),this._stateMachine.reset()),!this._stateMachine.canTransitionTo(eN.CLIENT_CREATED))throw new ej("Invalid state for starting recording");this._isOperating=!0,this._abortController=new AbortController,this._handlers=e,this._startTime=Date.now();try{if(this._abortController.signal.aborted||(await this._createClient(),this._stateMachine.transitionTo(eN.CLIENT_CREATED),this._abortController.signal.aborted)||(await this._createMediaStream(),this._stateMachine.transitionTo(eN.MEDIA_STREAM_CREATED),this._abortController.signal.aborted))throw new ej("Operation aborted");this._createRecorder(),this._stateMachine.transitionTo(eN.RECORDER_CREATED),this._recorder&&this._recorder.startRecording(),this._stateMachine.transitionTo(eN.CLIENT_STARTED),await this._startClient()}catch(e){if(this._stateMachine.isError()||this._stateMachine.transitionTo(eN.ERROR),await this._cleanup(),this._stateMachine.reset(),e instanceof eP)this._showErrorWithHelp(e,this._localize("asr.microphonePermissionDenied","Please allow microphone permission to use voice input")),this._handlers?.onError?.(e);else if(e instanceof ej)"Operation aborted"!==e.message&&(this._showErrorWithHelp(e,this._localize("asr.connectionFailed","Voice service connection failed, please try again later")),this._handlers?.onError?.(e));else if(e instanceof Error){let t=new ej(e.message);this._showErrorWithHelp(t,this._localize("asr.connectionFailed","Voice service connection failed, please try again later")),this._handlers?.onError?.(t)}throw e}finally{this._isOperating=!1,this._abortController=null}}async stop(){if(this._isOperating)return void eJ.warn("[ASRService] Operation in progress, ignoring stop request");this._isOperating=!0;try{this._recorder&&this._recorder.stopRecording(),this._client&&await this._client.stop(this._startTime),await this._cleanup(),this._stateMachine.transitionTo(eN.CLOSED),this._stateMachine.reset()}finally{this._isOperating=!1}}async forceStop(){eJ.trace("[ASRService] Force stopping...",{isOperating:this._isOperating,state:this._stateMachine.state}),this._abortController&&this._abortController.abort(),await this._cleanup(),this._stateMachine.reset(),this._isOperating=!1,eJ.trace("[ASRService] Force stopped")}dispose(){this._config.clientService.dispose(),this._cleanup()}getState(){return this._stateMachine.state}isRecording(){return this._stateMachine.isConnected()}async _createClient(){this._client=await this._config.clientService.createClient(),await this._client.init({onOpen:()=>{eJ.trace("[ASRService] Client connected"),this._stateMachine.canTransitionTo(eN.CLIENT_CONNECTED)&&this._stateMachine.transitionTo(eN.CLIENT_CONNECTED),this._handlers?.onOpen?.()},onMessage:e=>{this._handlers?.onMessage?.(e)},onError:e=>{eJ.error("[ASRService] Client error:",e),this._stateMachine.isTerminal()||this._stateMachine.transitionTo(eN.ERROR),this._showError(this._localize("asr.recognitionError","Voice recognition error, please try again")),this._handlers?.onError?.(e)},onClose:()=>{eJ.trace("[ASRService] Client closed"),this._handlers?.onClose?.()}})}async _createMediaStream(){try{this._mediaStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:eG,sampleRate:eH,echoCancellation:!0,noiseSuppression:!0}}),eJ.trace("[ASRService] MediaStream created")}catch(e){if(e instanceof DOMException&&("NotAllowedError"===e.name||"PermissionDeniedError"===e.name))throw new eP("Microphone permission denied");throw new ej(e instanceof Error?e.message:"Failed to get microphone access")}}_createRecorder(){if(!this._mediaStream)throw new ej("MediaStream not available");let e=44;this._recorder=new eE(this._mediaStream,{type:"audio",recorderType:eE.StereoAudioRecorder,mimeType:"audio/wav",numberOfAudioChannels:eG,desiredSampRate:eH,disableLogs:!0,timeSlice:eZ,bufferSize:eK,ondataavailable:async t=>{if(!this._client)return;let i=t.slice(e);this._client.send(i)}}),eJ.trace("[ASRService] Recorder created")}async _startClient(){if(!this._client)throw new ej("Client not created");await this._client.start()}async _cleanup(){if(eJ.trace("[ASRService] Cleanup started",{hasRecorder:!!this._recorder,hasMediaStream:!!this._mediaStream,hasClient:!!this._client,trackCount:this._mediaStream?.getTracks().length??0}),this._recorder){try{this._recorder.destroy(),eJ.trace("[ASRService] Recorder destroyed")}catch(e){eJ.warn("[ASRService] Error destroying recorder:",e)}this._recorder=null}if(this._mediaStream){for(let e of this._mediaStream.getTracks())try{e.stop(),eJ.trace("[ASRService] Track stopped:",{kind:e.kind,readyState:e.readyState,label:e.label})}catch(e){eJ.error("[ASRService] Failed to stop track:",e)}this._mediaStream=null,eJ.trace("[ASRService] MediaStream released")}this._client=null,this._handlers=null,eJ.trace("[ASRService] Cleanup completed")}_showError(e){this._config.onShowError?.(e)}_showErrorWithHelp(e,t){this._config.onShowError?.(t),e.info()}}let e3=1,e4=1,e5=(e,t=0,i=0,r=0)=>{let s=new DataView(new ArrayBuffer(8));return s.setUint8(0,e3<<4|e4),s.setUint8(1,e<<4|t),s.setUint8(2,i<<4|r),s.setUint8(3,0),s.setUint32(4,0),s},e9=e=>{let t=e5(1,0,1,0),i=JSON.stringify(e),r=new TextEncoder().encode(i);t.setUint32(4,r.length);let s=new ArrayBuffer(8+r.length),n=new Uint8Array(s);return n.set(new Uint8Array(t.buffer),0),n.set(r,8),s},e6=(e,t=!1)=>{let i=e5(2,2*!!t,0,0);i.setUint32(4,e.byteLength);let r=new ArrayBuffer(8+e.byteLength),s=new Uint8Array(r);return s.set(new Uint8Array(i.buffer),0),s.set(new Uint8Array(e),8),r},e8=async(e,t)=>{try{let i=await e.arrayBuffer();if(i.byteLength<8)return eJ.warn("[HuoshanASR] Response too short"),null;let r=new DataView(i),s=r.getUint8(0),n=15&s,a=4*n,o=r.getUint8(1)>>4&15,l=15===o,c=l?8:4,d=4*!!t?.hasSequence;if(l&&t?.hasSequence){let e=new DataView(i.slice(a,a+4)).getUint32(0);return eJ.error("[HuoshanASR] Bigmodel error response, code:",e),{code:e,message:`Bigmodel transcribe error: ${e}`}}let u=a+c+d;if(i.byteLength<=u)return null;let h=new Uint8Array(i,u),p=new TextDecoder("utf-8").decode(h);try{return JSON.parse(p)}catch(e){return eJ.error("[HuoshanASR] Failed to parse JSON payload:",p),null}}catch(e){return eJ.error("[HuoshanASR] Failed to parse response:",e),null}},e7=async e=>{let t=await e.arrayBuffer(),i=44;return t.byteLength<=i?new ArrayBuffer(0):t.slice(i)};class te{type=eT.Huoshan;status=eI.Idle;baseConfig;_ws=null;_handlers=null;_config;_initialized=!1;_currentText="";constructor(e){this._config=e,this.baseConfig={type:eT.Huoshan,language:e.language||"zh-CN"}}_getCluster(){let e=this._config.language||"zh-CN",t=this._config.cluster,i=e.toLowerCase().replace("-","-");if(t[i])return t[i];let r=e.split("-")[0].toLowerCase();return t[r]?t[r]:t["zh-cn"]||t["zh-CN"]||"volcengine_streaming"}_buildWebSocketUrl(){let{token:e,appId:t,useBigModel:i,bigmodelApiUrl:r,smallmodelApiUrl:s,bigmodelResourceId:n}=this._config;if(!i)return`${s}?api_jwt=${e}`;{let i=new URLSearchParams({api_resource_id:n,api_app_key:t,api_access_key:`Jwt; ${e}`});return`${r}?${i.toString()}`}}_buildInitPayload(){let{appId:e,token:t,uid:i,useBigModel:r}=this._config,s=this._getCluster();return r?{user:{uid:i},audio:{format:"pcm",rate:16e3,bits:16,channel:1},request:{model_name:"bigmodel",show_utterances:!0}}:{app:{appid:e,token:t,cluster:s},user:{uid:i},audio:{format:"pcm",rate:16e3,bits:16,channel:1},request:{reqid:`${Date.now()}_${Math.random().toString(36).substring(2,9)}`,workflow:"audio_in,resample,partition,vad,fe,decode,nlu_punctuate",sequence:1}}}async init(e){this._handlers=e,this._initialized=!0,this._currentText="",eJ.trace("[HuoshanASR] Client initialized")}async start(){if(!this._initialized)throw new eD("Client not initialized");return this.status=eI.Connecting,new Promise((e,t)=>{try{let i=this._buildWebSocketUrl();eJ.trace("[HuoshanASR] Connecting to:",i.replace(/Jwt;[^&]+/,"Jwt;***")),this._ws=new WebSocket(i),this._ws.binaryType="blob",this._ws.onopen=()=>{eJ.trace("[HuoshanASR] WebSocket connected"),this.status=eI.Connected;let t=this._buildInitPayload();eJ.trace("[HuoshanASR] Sending init payload:",JSON.stringify(t));let i=e9(t);this._ws?.send(i),this._handlers?.onOpen?.(),e()},this._ws.onmessage=async e=>{try{let t=await e8(e.data,{hasSequence:this._config.useBigModel});if(!t)return;if(t.code&&0!==t.code){let e=new eO(t.message||"Transcription error",{code:t.code,response:t});this._handlers?.onError?.(e);return}let i=t.result?.text??"";i&&i!==this._currentText&&(this._currentText=i,this._handlers?.onMessage?.(i))}catch(e){eJ.error("[HuoshanASR] Failed to process message:",e)}},this._ws.onerror=e=>{eJ.error("[HuoshanASR] WebSocket error:",e),this.status=eI.Error;let i=new eD("WebSocket connection error");this._handlers?.onError?.(i),t(i)},this._ws.onclose=e=>{eJ.trace("[HuoshanASR] WebSocket closed:",e.code,e.reason),this.status=eI.Closed,this._handlers?.onClose?.()}}catch(e){this.status=eI.Error,t(new eD(e instanceof Error?e.message:"Failed to create WebSocket"))}})}async stop(e){if(eJ.trace("[HuoshanASRClient] Stopping..."),e){let t=Date.now()-e;eJ.trace(`[HuoshanASR] Recording duration: ${t}ms`)}if(this._ws&&this._ws.readyState===WebSocket.OPEN)try{let e=e6(new ArrayBuffer(0),!0);this._ws.send(e)}catch(e){eJ.warn("[HuoshanASR] Failed to send end marker:",e)}this._closeWebSocket(),this.status=eI.Closed}async send(e){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return void eJ.warn("[HuoshanASR] WebSocket not ready, skipping audio chunk");try{let t=await e7(e);if(0===t.byteLength)return;let i=e6(t,!1);this._ws.send(i),this.status=eI.Transcribing}catch(e){eJ.error("[HuoshanASR] Failed to send audio chunk:",e)}}_closeWebSocket(){if(this._ws){try{this._ws.onopen=null,this._ws.onmessage=null,this._ws.onerror=null,this._ws.onclose=null,(this._ws.readyState===WebSocket.OPEN||this._ws.readyState===WebSocket.CONNECTING)&&this._ws.close()}catch(e){eJ.warn("[HuoshanASR] Error closing WebSocket:",e)}this._ws=null}}}var tt=i(86832);function ti(e){return void 0===e||"string"==typeof e&&e.length<=50}function tr(e){let t=(0,tt.t)(e.userAgentAppId??r),{customUserAgent:i}=e;return Object.assign(e,{customUserAgent:"string"==typeof i?[[i]]:i,userAgentAppId:async()=>{let i=await t();if(!ti(i)){let t=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof i?t?.warn("userAgentAppId must be a string or undefined."):i.length>50&&t?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return i}})}var ts=i(43991);function tn(e){return e}let ta=e=>t=>async i=>{if(!ts.K.isInstance(i.request))return t(i);let{request:r}=i,{handlerProtocol:s=""}=e.requestHandler.metadata||{};if(s.indexOf("h2")>=0&&!r.headers[":authority"])delete r.headers.host,r.headers[":authority"]=r.hostname+(r.port?":"+r.port:"");else if(!r.headers.host){let e=r.hostname;null!=r.port&&(e+=`:${r.port}`),r.headers.host=e}return t(i)},to={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},tl=e=>({applyToStack:t=>{t.add(ta(e),to)}}),tc={partitions:[{id:"aws",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-east-1",name:"aws",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",regions:{"af-south-1":{description:"Africa (Cape Town)"},"ap-east-1":{description:"Asia Pacific (Hong Kong)"},"ap-east-2":{description:"Asia Pacific (Taipei)"},"ap-northeast-1":{description:"Asia Pacific (Tokyo)"},"ap-northeast-2":{description:"Asia Pacific (Seoul)"},"ap-northeast-3":{description:"Asia Pacific (Osaka)"},"ap-south-1":{description:"Asia Pacific (Mumbai)"},"ap-south-2":{description:"Asia Pacific (Hyderabad)"},"ap-southeast-1":{description:"Asia Pacific (Singapore)"},"ap-southeast-2":{description:"Asia Pacific (Sydney)"},"ap-southeast-3":{description:"Asia Pacific (Jakarta)"},"ap-southeast-4":{description:"Asia Pacific (Melbourne)"},"ap-southeast-5":{description:"Asia Pacific (Malaysia)"},"ap-southeast-6":{description:"Asia Pacific (New Zealand)"},"ap-southeast-7":{description:"Asia Pacific (Thailand)"},"aws-global":{description:"aws global region"},"ca-central-1":{description:"Canada (Central)"},"ca-west-1":{description:"Canada West (Calgary)"},"eu-central-1":{description:"Europe (Frankfurt)"},"eu-central-2":{description:"Europe (Zurich)"},"eu-north-1":{description:"Europe (Stockholm)"},"eu-south-1":{description:"Europe (Milan)"},"eu-south-2":{description:"Europe (Spain)"},"eu-west-1":{description:"Europe (Ireland)"},"eu-west-2":{description:"Europe (London)"},"eu-west-3":{description:"Europe (Paris)"},"il-central-1":{description:"Israel (Tel Aviv)"},"me-central-1":{description:"Middle East (UAE)"},"me-south-1":{description:"Middle East (Bahrain)"},"mx-central-1":{description:"Mexico (Central)"},"sa-east-1":{description:"South America (Sao Paulo)"},"us-east-1":{description:"US East (N. Virginia)"},"us-east-2":{description:"US East (Ohio)"},"us-west-1":{description:"US West (N. California)"},"us-west-2":{description:"US West (Oregon)"}}},{id:"aws-cn",outputs:{dnsSuffix:"amazonaws.com.cn",dualStackDnsSuffix:"api.amazonwebservices.com.cn",implicitGlobalRegion:"cn-northwest-1",name:"aws-cn",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^cn\\-\\w+\\-\\d+$",regions:{"aws-cn-global":{description:"aws-cn global region"},"cn-north-1":{description:"China (Beijing)"},"cn-northwest-1":{description:"China (Ningxia)"}}},{id:"aws-eusc",outputs:{dnsSuffix:"amazonaws.eu",dualStackDnsSuffix:"api.amazonwebservices.eu",implicitGlobalRegion:"eusc-de-east-1",name:"aws-eusc",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^eusc\\-(de)\\-\\w+\\-\\d+$",regions:{"eusc-de-east-1":{description:"AWS European Sovereign Cloud (Germany)"}}},{id:"aws-iso",outputs:{dnsSuffix:"c2s.ic.gov",dualStackDnsSuffix:"api.aws.ic.gov",implicitGlobalRegion:"us-iso-east-1",name:"aws-iso",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-iso\\-\\w+\\-\\d+$",regions:{"aws-iso-global":{description:"aws-iso global region"},"us-iso-east-1":{description:"US ISO East"},"us-iso-west-1":{description:"US ISO WEST"}}},{id:"aws-iso-b",outputs:{dnsSuffix:"sc2s.sgov.gov",dualStackDnsSuffix:"api.aws.scloud",implicitGlobalRegion:"us-isob-east-1",name:"aws-iso-b",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-isob\\-\\w+\\-\\d+$",regions:{"aws-iso-b-global":{description:"aws-iso-b global region"},"us-isob-east-1":{description:"US ISOB East (Ohio)"},"us-isob-west-1":{description:"US ISOB West"}}},{id:"aws-iso-e",outputs:{dnsSuffix:"cloud.adc-e.uk",dualStackDnsSuffix:"api.cloud-aws.adc-e.uk",implicitGlobalRegion:"eu-isoe-west-1",name:"aws-iso-e",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^eu\\-isoe\\-\\w+\\-\\d+$",regions:{"aws-iso-e-global":{description:"aws-iso-e global region"},"eu-isoe-west-1":{description:"EU ISOE West"}}},{id:"aws-iso-f",outputs:{dnsSuffix:"csp.hci.ic.gov",dualStackDnsSuffix:"api.aws.hci.ic.gov",implicitGlobalRegion:"us-isof-south-1",name:"aws-iso-f",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-isof\\-\\w+\\-\\d+$",regions:{"aws-iso-f-global":{description:"aws-iso-f global region"},"us-isof-east-1":{description:"US ISOF EAST"},"us-isof-south-1":{description:"US ISOF SOUTH"}}},{id:"aws-us-gov",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-gov-west-1",name:"aws-us-gov",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-gov\\-\\w+\\-\\d+$",regions:{"aws-us-gov-global":{description:"aws-us-gov global region"},"us-gov-east-1":{description:"AWS GovCloud (US-East)"},"us-gov-west-1":{description:"AWS GovCloud (US-West)"}}}],version:"1.1"},td="",tu=e=>{let{partitions:t}=tc;for(let i of t){let{regions:t,outputs:r}=i;for(let[i,s]of Object.entries(t))if(i===e)return{...r,...s}}for(let i of t){let{regionRegex:t,outputs:r}=i;if(new RegExp(t).test(e))return{...r}}let i=t.find(e=>"aws"===e.id);if(!i)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...i.outputs}},th=()=>td;var tp=i(42247),tm=i(60093);function tf(e,t,i){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[t]=i}tm.f.v2026||="object"==typeof process&&process.env?.AWS_NEW_RETRIES_2026==="true";let tg=/\d{12}\.ddb/;async function t_(e,t,i){let r=i.request;if(r?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&tf(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof t.retryStrategy){let i=await t.retryStrategy();if("string"==typeof i.mode)switch(i.mode){case tp.c.ADAPTIVE:tf(e,"RETRY_MODE_ADAPTIVE","F");break;case tp.c.STANDARD:tf(e,"RETRY_MODE_STANDARD","E")}}if("function"==typeof t.accountIdEndpointMode){let i=e.endpointV2;switch(String(i?.url?.hostname).match(tg)&&tf(e,"ACCOUNT_ID_ENDPOINT","O"),await t.accountIdEndpointMode?.()){case"disabled":tf(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":tf(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":tf(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let s=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(s?.$source){let t=s;for(let[i,r]of(t.accountId&&tf(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(t.$source??{})))tf(e,i,r)}}let ty="user-agent",tv="x-amz-user-agent",tb=/[^!$%&'*+\-.^_`|~\w]/g,tS=/[^!$%&'*+\-.^_`|~\w#]/g,tk=1024;function tx(e){let t="";for(let i in e){let r=e[i];if(t.length+r.length+1<=tk){t.length?t+=","+r:t+=r;continue}break}return t}let tC=e=>(t,i)=>async r=>{let{request:s}=r;if(!ts.K.isInstance(s))return t(r);let{headers:n}=s,a=i?.userAgent?.map(tw)||[],o=(await e.defaultUserAgentProvider()).map(tw);await t_(i,e,r);let l=i;o.push(`m/${tx(Object.assign({},i.__smithy_context?.features,l.__aws_sdk_context?.features))}`);let c=e?.customUserAgent?.map(tw)||[],d=await e.userAgentAppId();d&&o.push(tw(["app",`${d}`]));let u=th(),h=(u?[u]:[]).concat([...o,...a,...c]).join(" "),p=[...o.filter(e=>e.startsWith("aws-sdk-")),...c].join(" ");return"browser"!==e.runtime?(p&&(n[tv]=n[tv]?`${n[ty]} ${p}`:p),n[ty]=h):n[tv]=h,t({...r,request:s})},tw=e=>{let t=e[0].split("/").map(e=>e.replace(tb,"-")).join("/"),i=e[1]?.replace(tS,"-"),r=t.indexOf("/"),s=t.substring(0,r),n=t.substring(r+1);return"api"===s&&(n=n.toLowerCase()),[s,n,i].filter(e=>e&&e.length>0).reduce((e,t,i)=>{switch(i){case 0:return t;case 1:return`${e}/${t}`;default:return`${e}#${t}`}},"")},tE={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},tT=e=>({applyToStack:t=>{t.add(tC(e),tE)}}),tI=()=>(e,t)=>async i=>{try{let r=await e(i),{clientName:s,commandName:n,logger:a,dynamoDbDocumentClientOptions:o={}}=t,{overrideInputFilterSensitiveLog:l,overrideOutputFilterSensitiveLog:c}=o,d=l??t.inputFilterSensitiveLog,u=c??t.outputFilterSensitiveLog,{$metadata:h,...p}=r.output;return a?.info?.({clientName:s,commandName:n,input:d(i.input),output:u(p),metadata:h}),r}catch(l){let{clientName:e,commandName:r,logger:s,dynamoDbDocumentClientOptions:n={}}=t,{overrideInputFilterSensitiveLog:a}=n,o=a??t.inputFilterSensitiveLog;throw s?.error?.({clientName:e,commandName:r,input:o(i.input),error:l,metadata:l.$metadata}),l}},tR={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},tN=e=>({applyToStack:e=>{e.add(tI(),tR)}}),tA=e=>({applyToStack:e=>{}});function tM(e){let t=e.signer,i=e.signer,r=Object.assign(e,{eventSigner:t,messageSigner:i}),s=r.eventStreamPayloadHandlerProvider(r);return Object.assign(r,{eventStreamPayloadHandler:s})}let tP=e=>"ws:"===e.protocol||"wss:"===e.protocol;class tj{signer;constructor(e){this.signer=e.signer}presign(e,t={}){return this.signer.presign(e,t)}async sign(e,t){return ts.K.isInstance(e)&&tP(e)?{...await this.signer.presign({...e,body:""},{...t,expiresIn:60,unsignableHeaders:new Set(Object.keys(e.headers).filter(e=>"host"!==e))}),body:e.body}:this.signer.sign(e,t)}signMessage(e,t){return this.signer.signMessage(e,t)}}let tL=e=>{let{signer:t}=e;return Object.assign(e,{signer:async e=>{let i=await t(e);if(tD(i))return new tj({signer:i});throw Error("Expected WebsocketSignatureV4 signer, please check the client constructor.")}})},tD=e=>!!e;var tO=i(41969);let tF=(e,t)=>{if(!t||0===t.length)return e;let i=[];for(let r of t)for(let t of e)t.schemeId.split("#")[1]===r&&i.push(t);for(let t of e)i.find(({schemeId:e})=>e===t.schemeId)||i.push(t);return i};function tU(e){let t=new Map;for(let i of e)t.set(i.schemeId,i);return t}let tV=(e,t)=>(i,r)=>async s=>{let n=tF(e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,r,s.input)),e.authSchemePreference?await e.authSchemePreference():[]),a=tU(e.httpAuthSchemes),o=(0,tO.u)(r),l=[];for(let i of n){let s=a.get(i.schemeId);if(!s){l.push(`HttpAuthScheme \`${i.schemeId}\` was not enabled for this service.`);continue}let n=s.identityProvider(await t.identityProviderConfigProvider(e));if(!n){l.push(`HttpAuthScheme \`${i.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:c={},signingProperties:d={}}=i.propertiesExtractor?.(e,r)||{};i.identityProperties=Object.assign(i.identityProperties||{},c),i.signingProperties=Object.assign(i.signingProperties||{},d),o.selectedHttpAuthScheme={httpAuthOption:i,identity:await n(i.identityProperties),signer:s.signer};break}if(!o.selectedHttpAuthScheme)throw Error(l.join("\n"));return i(s)},tB={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},tz=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:i})=>({applyToStack:r=>{r.addRelativeTo(tV(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:i}),tB)}});class tW{authSchemes=new Map;constructor(e){for(let t in e){let i=e[t];void 0!==i&&this.authSchemes.set(t,i)}}getIdentityProvider(e){return this.authSchemes.get(e)}}let tH=e=>e=>{throw e},tG=(e,t)=>{},tZ=e=>(e,t)=>async i=>{if(!ts.K.isInstance(i.request))return e(i);let r=(0,tO.u)(t).selectedHttpAuthScheme;if(!r)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:s={}},identity:n,signer:a}=r,o=await e({...i,request:await a.sign(i.request,n,s)}).catch((a.errorHandler||tH)(s));return(a.successHandler||tG)(o.response,s),o},tK={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},tX=e=>({applyToStack:t=>{t.addRelativeTo(tZ(e),tK)}});var tY=i(41324),tJ=i(56395),t$=i(980),tq=i(31227),tQ=i(83603),t0=i(61835),t1=i(23236),t2=i(14595);let t3=(e,t,i,r,s)=>({name:t,namespace:e,traits:i,input:r,output:s}),t4=e=>(t,i)=>async r=>{let{response:s}=await t(r),{operationSchema:n}=(0,tO.u)(i),[,a,o,l,c,d]=n??[];try{let t=await e.protocol.deserializeResponse(t3(a,o,l,c,d),{...e,...i},s);return{response:s,output:t}}catch(e){if(Object.defineProperty(e,"$response",{value:s,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let t="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+t}catch(e){i.logger&&i.logger?.constructor?.name!=="NoOpLogger"&&i.logger?.warn?.(t)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(t2.c.isInstance(s)){let{headers:t={},statusCode:i}=s,r=Object.entries(t);e.$metadata={httpStatusCode:i,requestId:t5(/^x-[\w-]+-request-?id$/,r),extendedRequestId:t5(/^x-[\w-]+-id-2$/,r),cfId:t5(/^x-[\w-]+-cf-id$/,r)}}}catch(e){}}throw e}},t5=(e,t)=>(t.find(([t])=>t.match(e))||[void 0,void 0])[1];var t9=i(95329);let t6=e=>(t,i)=>async r=>{let{operationSchema:s}=(0,tO.u)(i),[,n,a,o,l,c]=s??[],d=i.endpointV2?async()=>(0,t9.a)(i.endpointV2):e.endpoint,u=await e.protocol.serializeRequest(t3(n,a,o,l,c),r.input,{...e,...i,endpoint:d});return t({...r,request:u})},t8={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},t7={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function ie(e){return{applyToStack:t=>{t.add(t6(e),t7),t.add(t4(e),t8),e.protocol.setSerdeContext(e)}}}function it(e,t,i){return e.$source||(e.$source={}),e.$source[t]=i,e}var ii=i(23531),ir=i(67331);let is=e=>{let t,i,r=e.credentials,s=!!e.credentials;Object.defineProperty(e,"credentials",{set(i){i&&i!==r&&i!==t&&(s=!0);let n=ia(e,{credentials:r=i,credentialDefaultProvider:e.credentialDefaultProvider}),a=io(e,n);if(s&&!a.attributed){let e="object"==typeof r&&null!==r;(t=async t=>{let i=await a(t);return e&&(!i.$source||0===Object.keys(i.$source).length)?it(i,"CREDENTIALS_CODE","e"):i}).memoized=a.memoized,t.configBound=a.configBound,t.attributed=!0}else t=a},get:()=>t,enumerable:!0,configurable:!0}),e.credentials=r;let{signingEscapePath:n=!0,systemClockOffset:a=e.systemClockOffset||0,sha256:o}=e;return i=e.signer?(0,tt.t)(e.signer):e.regionInfoProvider?()=>(0,tt.t)(e.region)().then(async t=>[await e.regionInfoProvider(t,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},t]).then(([t,i])=>{let{signingRegion:r,signingService:s}=t;e.signingRegion=e.signingRegion||r||i,e.signingName=e.signingName||s||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:o,uriEscapePath:n};return new(e.signerConstructor||ir.B)(a)}):async t=>{let i=(t=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await (0,tt.t)(e.region)(),properties:{}},t)).signingRegion,r=t.signingName;e.signingRegion=e.signingRegion||i,e.signingName=e.signingName||r||e.serviceId;let s={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:o,uriEscapePath:n};return new(e.signerConstructor||ir.B)(s)},Object.assign(e,{systemClockOffset:a,signingEscapePath:n,signer:i})};function ia(e,{credentials:t,credentialDefaultProvider:i}){let r;return(r=t?t?.memoized?t:(0,ii.K4)(t,ii.OC,ii.e):i?(0,tt.t)(i(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,r}function io(e,t){if(t.configBound)return t;let i=async i=>t({...i,callerClientConfig:e});return i.memoized=t.memoized,i.configBound=!0,i}var il=i(26324);let ic=async(e,t,i)=>({operation:(0,tO.u)(t).operation,region:await (0,il.t)(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function id(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"transcribe",region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}let iu=e=>{let t=[];return e.operation,t.push(id(e)),t},ih=e=>Object.assign(is(e),{authSchemePreference:(0,il.t)(e.authSchemePreference??[])}),ip=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:"transcribe"}),im={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};var ig="3.1077.0";let i_=({serviceId:e,clientVersion:t})=>async i=>{let r="u">typeof window?window.navigator:void 0,s=r?.userAgent??"",n=r?.userAgentData?.platform??iy.os(s)??"other",a,o=r?.userAgentData?.brands??[],l=o[o.length-1],c=l?.brand??iy.browser(s)??"unknown",d=l?.version??"unknown",u=[["aws-sdk-js",t],["ua","2.1"],[`os/${n}`,a],["lang/js"],["md/browser",`${c}_${d}`]];e&&u.push([`api/${e}`,t]);let h=await i?.userAgentAppId?.();return h&&u.push([`app/${h}`]),u},iy={os:e=>/iPhone|iPad|iPod/.test(e)?"iOS":/Macintosh|Mac OS X/.test(e)?"macOS":/Windows NT/.test(e)?"Windows":/Android/.test(e)?"Android":/Linux/.test(e)?"Linux":void 0,browser:e=>/EdgiOS|EdgA|Edg\//.test(e)?"Microsoft Edge":/Firefox\//.test(e)?"Firefox":/Chrome\//.test(e)?"Chrome":/Safari\//.test(e)?"Safari":void 0},iv={handle:(e,t)=>e(t)};var ib=i(43365);function iS(e){let{port:t,query:i}=e,{protocol:r,path:s,hostname:n}=e;r&&":"!==r.slice(-1)&&(r+=":"),t&&(n+=`:${t}`),s&&"/"!==s.charAt(0)&&(s=`/${s}`);let a=i?(0,ib.G)(i):"";a&&"?"!==a[0]&&(a=`?${a}`);let o="";if(null!=e.username||null!=e.password){let t=e.username??"",i=e.password??"";o=`${t}:${i}@`}let l="";return e.fragment&&(l=`#${e.fragment}`),`${r}//${o}${n}${s}${a}${l}`}var ik=i(84681),ix=i(64736),iC=i(51950);let iw=3e3;class iE{metadata={handlerProtocol:"websocket/h1.1"};config={};configPromise;httpHandler;sockets={};static create(e,t=new iC.N){return"function"==typeof e?.handle?e:new iE(e,t)}constructor(e,t=new iC.N){this.httpHandler=t;let i=e=>(this.config={...e??{}},this.config);"function"==typeof e?(this.config={},this.configPromise=e().then(e=>i(e))):this.configPromise=Promise.resolve(i(e))}destroy(){for(let[e,t]of Object.entries(this.sockets)){for(let e of t)e.close(1e3,"Socket closed through destroy() call");delete this.sockets[e]}}async handle(e){this.config=await this.configPromise;let{logger:t}=this.config;if(!tP(e))return t?.debug?.(`@aws-sdk - ws fetching ${e.protocol}${e.hostname}${e.path}`),this.httpHandler.handle(e);let i=iS(e);t?.debug?.(`@aws-sdk - ws connecting ${i.split("?")[0]}`);let r=new WebSocket(i);this.sockets[i]||(this.sockets[i]=[]),this.sockets[i].push(r),r.binaryType="arraybuffer";let{connectionTimeout:s=iw}=this.config;await this.waitForReady(r,s);let{body:n}=e,a=iT(n),o=iI(this.connect(r,a));return{response:new t2.c({statusCode:200,body:o})}}updateHttpClientConfig(e,t){this.configPromise=this.configPromise.then(i=>(i[e]=t,i))}httpHandlerConfigs(){return this.config??{}}removeNotUsableSockets(e){this.sockets[e]=(this.sockets[e]??[]).filter(e=>![WebSocket.CLOSING,WebSocket.CLOSED].includes(e.readyState))}waitForReady(e,t){return new Promise((i,r)=>{let s=setTimeout(()=>{this.removeNotUsableSockets(e.url),r({$metadata:{httpStatusCode:500,websocketSynthetic500Error:!0}})},t);e.onopen=()=>{clearTimeout(s),i()}})}connect(e,t){let i=[],r=null,s=null,n=e=>{r?(e.error?s(e.error):r({done:e.done,value:e.value}),r=null,s=null):i.push(e)};e.onmessage=e=>{let{data:t}=e;"string"==typeof t?n({done:!1,value:(0,ix.E)(t)}):n({done:!1,value:new Uint8Array(t)})},e.onerror=t=>{e.close(),n({done:!0,error:t})},e.onclose=()=>{this.removeNotUsableSockets(e.url),n({done:!0})};let a={[Symbol.asyncIterator]:()=>({async next(){if(i.length>0){let e=i.shift();if(e.error)throw e.error;return{done:e.done,value:e.value}}return new Promise((e,t)=>{r=e,s=t})}})};return(async()=>{try{for await(let i of t)if(e.readyState>=WebSocket.CLOSING)break;else e.send(i)}catch(e){n({done:!0,error:e})}finally{e.close(1e3)}})(),a}}let iT=e=>e[Symbol.asyncIterator]?e:iR(e)?(0,ik.I)(e):{[Symbol.asyncIterator]:async function*(){yield e}},iI=e=>"function"==typeof ReadableStream?(0,ik.y)(e):e,iR=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;var iN=i(38165),iA=i(94346),iM=i(67945),iP=i(18357),ij=i(65346),iL=i(92379);function iD(e,t){if(void 0===t)for(let i of(t=0,e))t+=i.byteLength;let i=new Uint8Array(t),r=0;for(let t of e)i.set(t,r),r+=t.byteLength;return i}let iO=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream),iF=e=>"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob),iU=async e=>iF(e)?iV(e):iB(e);async function iV(e){return e.arrayBuffer().then(e=>new Uint8Array(e))}async function iB(e){let t=[],i=e.getReader(),r=0;for(;;){let{done:e,value:s}=await i.read();if(s&&(t.push(s),r+=s.length),e)break}return iD(t,r)}let iz=e=>new Date(Date.now()+e),iW=e=>t2.c.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,iH=(e,t)=>Math.abs(iz(t).getTime()-e)>=3e5,iG=(e,t)=>{let i=Date.parse(e);return iH(i,t)?i-Date.now():t},iZ=(e,t)=>{if(!t)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return t},iK=async e=>{let t=iZ("context",e.context),i=iZ("config",e.config),r=t.endpointV2?.properties?.authSchemes?.[0],s=iZ("signer",i.signer),n=await s(r),a=e?.signingRegion;return{config:i,signer:n,signingRegion:a,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class iX{async sign(e,t,i){if(!ts.K.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let r=await iK(i),{config:s,signer:n}=r,{signingRegion:a,signingName:o}=r,l=i.context;if(l?.authSchemes?.length){let[e,t]=l.authSchemes;e?.name==="sigv4a"&&t?.name==="sigv4"&&(a=t?.signingRegion??a,o=t?.signingName??o)}return i._preRequestSystemClockOffset=s.systemClockOffset,await n.sign(e,{signingDate:iz(s.systemClockOffset),signingRegion:a,signingService:o})}errorHandler(e){return t=>{let i=t,r=i.ServerTime??iW(i.$response);if(r){let t=iZ("config",e.config),s=e._preRequestSystemClockOffset,n=iG(r,t.systemClockOffset),a=n!==t.systemClockOffset,o=void 0!==s&&s!==n;(a||o)&&i.$metadata&&(t.systemClockOffset=n,i.$metadata.clockSkewCorrected=!0)}throw t}}successHandler(e,t){let i=iW(e);if(i){let e=iZ("config",t.config);e.systemClockOffset=iG(i,e.systemClockOffset)}}}var iY=i(62291),iJ=i(38394),i$=i(67213),iq=i(45578),iQ=i(37085);let i0="The stream has already been transformed.",i1=e=>{if(!i2(e)&&!iO(e)){let t=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${t}`)}let t=!1,i=async()=>{if(t)throw Error(i0);return t=!0,await iU(e)},r=e=>{if("function"!=typeof e.stream)throw Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body");return e.stream()};return Object.assign(e,{transformToByteArray:i,transformToString:async e=>{let t=await i();if("base64"===e)return(0,i$.n)(t);if("hex"===e)return(0,iq.n)(t);if(void 0===e||"utf8"===e||"utf-8"===e)return(0,iQ.P)(t);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(t);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(t)throw Error(i0);if(t=!0,i2(e))return r(e);if(iO(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})},i2=e=>"function"==typeof Blob&&e instanceof Blob;function i3(e,t,i){if(i<=0||!Number.isInteger(i))throw Error("Invalid number of delimiters ("+i+") for splitEvery.");let r=e.split(t);if(1===i)return r;let s=[],n="";for(let e=0;e{let t,i=e.length,r=[],s=!1,n=0;for(let a=0;a{let t=(e=e.trim()).length;return t<2?e:('"'===e[0]&&'"'===e[t-1]&&(e=e.slice(1,t-1)),e.replace(/\\"/g,'"'))})};class i5{namespace;schemas;exceptions;static registries=new Map;constructor(e,t=new Map,i=new Map){this.namespace=e,this.schemas=t,this.exceptions=i}static for(e){return i5.registries.has(e)||i5.registries.set(e,new i5(e)),i5.registries.get(e)}copyFrom(e){let{schemas:t,exceptions:i}=this;for(let[i,r]of e.schemas)t.has(i)||t.set(i,r);for(let[t,r]of e.exceptions)i.has(t)||i.set(t,r)}register(e,t){let i=this.normalizeShapeId(e);for(let e of[this,i5.for(i.split("#")[0])])e.schemas.set(i,t)}getSchema(e){let t=this.normalizeShapeId(e);if(!this.schemas.has(t)){if(!e.includes("#")){let t="#"+e,i=[];for(let[e,r]of this.schemas.entries())e.endsWith(t)&&i.push(r);if(1===i.length)return i[0]}throw Error(`@smithy/core/schema - schema not found for ${t}`)}return this.schemas.get(t)}registerError(e,t){let i=e,r=i[1];for(let e of[this,i5.for(r)])e.schemas.set(r+"#"+i[2],i),e.exceptions.set(i,t)}getErrorCtor(e){let t=e;return this.exceptions.has(t)?this.exceptions.get(t):i5.for(t[1]).exceptions.get(t)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,t,i]=e,r=t+"#"+i;if(r.startsWith("smithy.ts.sdk.synthetic.")&&r.endsWith("ServiceException"))return e}}find(e){for(let t of this.schemas.values())if(e(t))return t}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes("#")?e:this.namespace+"#"+e}}function i9(e){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(e)}class i6{serdeContext;setSerdeContext(e){this.serdeContext=e}}class i8 extends i6{options;compositeErrorRegistry;constructor(e){for(let t of(super(),this.options=e,this.compositeErrorRegistry=i5.for(e.defaultNamespace),e.errorTypeRegistries??[]))this.compositeErrorRegistry.copyFrom(t)}getRequestType(){return ts.K}getResponseType(){return t2.c}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,t){if("url"in t){for(let[i,r]of(e.protocol=t.url.protocol,e.hostname=t.url.hostname,e.port=t.url.port?Number(t.url.port):void 0,e.path=t.url.pathname,e.fragment=t.url.hash||void 0,e.username=t.url.username||void 0,e.password=t.url.password||void 0,e.query||(e.query={}),t.url.searchParams.entries()))e.query[i]=r;if(t.headers)for(let i in t.headers)e.headers[i]=t.headers[i].join(", ");return e}if(e.protocol=t.protocol,e.hostname=t.hostname,e.port=t.port?Number(t.port):void 0,e.path=t.path,e.query={...t.query},t.headers)for(let i in t.headers)e.headers[i]=t.headers[i];return e}setHostPrefix(e,t,i){if(this.serdeContext?.disableHostPrefix)return;let r=iY.l1.of(t.input),s=(0,iJ.c)(t.traits??{});if(s.endpoint){let t=s.endpoint?.[0];if("string"==typeof t){for(let[e,s]of r.structIterator()){if(!s.getMergedTraits().hostLabel)continue;let r=i[e];if("string"!=typeof r)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);t=t.replace(`{${e}}`,r)}if(e.hostname=t+e.hostname,!i9(e.hostname))throw Error(`[${e.hostname}] is not a valid hostname.`)}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:i}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:t,initialRequest:i})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:i}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:i})}async loadEventStreamCapability(){let{EventStreamSerde:e,eventStreamSerdeProvider:t}=await i.e("3548").then(i.bind(i,63511));return new e({marshaller:this.resolveEventStreamMarshaller(t),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}resolveEventStreamMarshaller(e){let t=this.serdeContext;return t.eventStreamMarshaller?t.eventStreamMarshaller:e(this.serdeContext)}getDefaultContentType(){throw Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,t,i,r,s){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}var i7=i(68294);function re(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class rt extends i8{async serializeRequest(e,t,i){let r,s=t&&"object"==typeof t?t:{},n=this.serializer,a={},o={},l=await i.endpoint(),c=iY.l1.of(e?.input),d=[],u=[],h=!1,p=new ts.K({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:a,headers:o,body:void 0});if(l){this.updateServiceEndpoint(p,l),this.setHostPrefix(p,e,s);let t=(0,iJ.c)(e.traits);if(t.http){p.method=t.http[0];let[e,i]=t.http[1].split("?");for(let[t,r]of("/"==p.path?p.path=e:p.path+=e,new URLSearchParams(i??"")))a[t]=r}}for(let[e,t]of c.structIterator()){let i=t.getMergedTraits()??{},l=s[e];if(null==l&&!t.isIdempotencyToken()){if(i.httpLabel&&(p.path.includes(`{${e}+}`)||p.path.includes(`{${e}}`)))throw Error(`No value provided for input HTTP label: ${e}.`);continue}if(i.httpPayload)t.isStreaming()?t.isStructSchema()?s[e]&&(r=await this.serializeEventStream({eventStream:s[e],requestSchema:c})):r=l:(n.write(t,l),r=n.flush());else if(i.httpLabel){n.write(t,l);let i=n.flush();p.path.includes(`{${e}+}`)?p.path=p.path.replace(`{${e}+}`,i.split("/").map(re).join("/")):p.path.includes(`{${e}}`)&&(p.path=p.path.replace(`{${e}}`,re(i)))}else if(i.httpHeader)n.write(t,l),o[i.httpHeader.toLowerCase()]=String(n.flush());else if("string"==typeof i.httpPrefixHeaders)for(let e in l){let r=l[e],s=i.httpPrefixHeaders+e;n.write([t.getValueSchema(),{httpHeader:s}],r),o[s.toLowerCase()]=n.flush()}else i.httpQuery||i.httpQueryParams?this.serializeQuery(t,l,a):(h=!0,d.push(e),u.push(t))}if(h&&s){let[e,t]=(c.getName(!0)??"#Unknown").split("#"),i=c.getSchema()[6],a=[3,e,t,c.getMergedTraits(),d,u,void 0];i?a[6]=i:a.pop(),n.write(a,s),r=n.flush()}return p.headers=o,p.query=a,p.body=r,p}serializeQuery(e,t,i){let r=this.serializer,s=e.getMergedTraits();if(s.httpQueryParams){for(let r in t)if(!(r in i)){let n=t[r],a=e.getValueSchema();Object.assign(a.getMergedTraits(),{...s,httpQuery:r,httpQueryParams:void 0}),this.serializeQuery(a,n,i)}return}if(e.isListSchema()){let n=!!e.getMergedTraits().sparse,a=[];for(let i of t){r.write([e.getValueSchema(),s],i);let t=r.flush();(n||void 0!==t)&&a.push(t)}i[s.httpQuery]=a}else r.write([e,s],t),i[s.httpQuery]=r.flush()}async deserializeResponse(e,t,i){let r=this.deserializer,s=iY.l1.of(e.output),n={};if(i.statusCode>=300){let s=await (0,i7.P)(i.body,t);throw s.byteLength>0&&Object.assign(n,await r.read(15,s)),await this.handleError(e,t,i,n,this.deserializeMetadata(i)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in i.headers){let t=i.headers[e];delete i.headers[e],i.headers[e.toLowerCase()]=t}let a=await this.deserializeHttpMessage(s,t,i,n);if(a.length){let e=await (0,i7.P)(i.body,t);if(e.byteLength>0){let t=await r.read(s,e);for(let e of a)null!=t[e]&&(n[e]=t[e])}}else a.discardResponseBody&&await (0,i7.P)(i.body,t);return n.$metadata=this.deserializeMetadata(i),n}async deserializeHttpMessage(e,t,i,r,s){let n;n=r instanceof Set?s:r;let a=!0,o=this.deserializer,l=iY.l1.of(e),c=[];for(let[e,r]of l.structIterator()){let s=r.getMemberTraits();if(s.httpPayload){if(a=!1,r.isStreaming())r.isStructSchema()?n[e]=await this.deserializeEventStream({response:i,responseSchema:l}):n[e]=i1(i.body);else if(i.body){let s=await (0,i7.P)(i.body,t);s.byteLength>0&&(n[e]=await o.read(r,s))}}else if(s.httpHeader){let t=String(s.httpHeader).toLowerCase(),a=i.headers[t];if(null!=a)if(r.isListSchema()){let i=r.getValueSchema();i.getMergedTraits().httpHeader=t;let s=[];for(let e of i.isTimestampSchema()&&4===i.getSchema()?i3(a,",",2):i4(a))s.push(await o.read(i,e.trim()));n[e]=s}else n[e]=await o.read(r,a)}else if(void 0!==s.httpPrefixHeaders){for(let t in n[e]={},i.headers)if(t.startsWith(s.httpPrefixHeaders)){let a=i.headers[t],l=r.getValueSchema();l.getMergedTraits().httpHeader=t,n[e][t.slice(s.httpPrefixHeaders.length)]=await o.read(l,a)}}else s.httpResponseCode?n[e]=i.statusCode:c.push(e)}return c.discardResponseBody=a,c}}var ri=i(87180);function rr(e){return(e.includes(",")||e.includes('"'))&&(e=`"${e.replace(/"/g,'\\"')}"`),e}let rs=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};rs.from=e=>e&&"object"==typeof e&&(e instanceof rs||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?rs(String(e)):rs(JSON.stringify(e)),rs.fromObject=rs.from;var rn=i(92902);function ra(e,t){if(t.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:i,httpPrefixHeaders:r,httpHeader:s,httpQuery:n}=e.getMergedTraits();return(t.httpBindings?"string"==typeof r||s?6:n||i?5:void 0:void 0)??t.timestampFormat.default}class ro extends i6{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,t){let i=iY.l1.of(e);switch(typeof t){case"object":if(null===t){this.stringBuffer="null";return}if(i.isTimestampSchema()){if(!(t instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${t} when schema expected Date in ${i.getName(!0)}`);switch(ra(i,this.settings)){case 5:this.stringBuffer=t.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=(0,ri.JV)(t);break;default:this.stringBuffer=String(t.getTime()/1e3)}return}if(i.isBlobSchema()&&"byteLength"in t){this.stringBuffer=(this.serdeContext?.base64Encoder??i$.n)(t);return}if(i.isListSchema()&&Array.isArray(t)){let e="";for(let r of t){this.write([i.getValueSchema(),i.getMergedTraits()],r);let t=this.flush();""!==e&&(e+=", "),e+=i.getValueSchema().isTimestampSchema()?t:rr(t)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(t,null,2);break;case"string":let r=i.getMergedTraits().mediaType,s=t;if(r&&(("application/json"===r||r.endsWith("+json"))&&(s=rs.from(s)),i.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??i$.n)(s.toString());return}this.stringBuffer=t;break;default:i.isIdempotencyToken()?this.stringBuffer=(0,rn.ec)():this.stringBuffer=String(t)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class rl{codecSerializer;stringSerializer;buffer;constructor(e,t,i=new ro(t)){this.codecSerializer=e,this.stringSerializer=i}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,t){let i=iY.l1.of(e),r=i.getMergedTraits();if(r.httpHeader||r.httpLabel||r.httpQuery){this.stringSerializer.write(i,t),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(i,t)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}var rc=i(5600);let rd="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",ru="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",rh="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",rp="(\\d?\\d)",rm="(\\d{4})",rf=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),rg=RegExp(`^${rd}, ${rp} ${ru} ${rm} ${rh} GMT$`),r_=RegExp(`^${rd}, ${rp}-${ru}-(\\d\\d) ${rh} GMT$`),ry=RegExp(`^${rd} ${ru} ( [1-9]|\\d\\d) ${rh} ${rm}$`),rv=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],rb=e=>{if(null==e)return;let t=NaN;if("number"==typeof e)t=e;else if("string"==typeof e){if(!/^-?\d*\.?\d+$/.test(e))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(e)}else"object"==typeof e&&1===e.tag&&(t=e.value);if(isNaN(t)||Math.abs(t)===1/0)throw TypeError("Epoch timestamps must be valid finite numbers.");return new Date(Math.round(1e3*t))},rS=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let t=rf.exec(e);if(!t)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,i,r,s,n,a,o,,l,c]=t;rx(r,1,12),rx(s,1,31),rx(n,0,23),rx(a,0,59),rx(o,0,60);let d=new Date(Date.UTC(Number(i),Number(r)-1,Number(s),Number(n),Number(a),Number(o),Number(l)?Math.round(1e3*parseFloat(`0.${l}`)):0));if(d.setUTCFullYear(Number(i)),"Z"!=c.toUpperCase()){let[,e,t,i]=/([+-])(\d\d):(\d\d)/.exec(c)||[void 0,"+",0,0],r="-"===e?1:-1;d.setTime(d.getTime()+r*(60*Number(t)*6e4+60*Number(i)*1e3))}return d},rk=e=>{let t,i,r,s,n,a,o,l;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((l=rg.exec(e))?[,t,i,r,s,n,a,o]=l:(l=r_.exec(e))?([,t,i,r,s,n,a,o]=l,r=(Number(r)+1900).toString()):(l=ry.exec(e))&&([,i,t,s,n,a,o,r]=l),r&&a){let e=Date.UTC(Number(r),rv.indexOf(i),Number(t),Number(s),Number(n),Number(a),o?Math.round(1e3*parseFloat(`0.${o}`)):0);rx(t,1,31),rx(s,0,23),rx(n,0,59),rx(a,0,60);let l=new Date(e);return l.setUTCFullYear(Number(r)),l}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}};function rx(e,t,i){let r=Number(e);if(ri)throw Error(`Value ${r} out of range [${t}, ${i}]`)}let rC=/^-?\d*(\.\d+)?$/;class rw{string;type;constructor(e,t){if(this.string=e,this.type=t,!rC.test(e))throw Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance](e){if(!e||"object"!=typeof e)return!1;let t=e;return rw.prototype.isPrototypeOf(e)||"bigDecimal"===t.type&&rC.test(t.string)}}class rE extends i6{settings;constructor(e){super(),this.settings=e}read(e,t){let i=iY.l1.of(e);if(i.isListSchema())return i4(t).map(e=>this.read(i.getValueSchema(),e));if(i.isBlobSchema())return(this.serdeContext?.base64Decoder??ix.E)(t);if(i.isTimestampSchema())switch(ra(i,this.settings)){case 5:return rS(t);case 6:return rk(t);case 7:return rb(t);default:return new Date(t)}if(i.isStringSchema()){let e=i.getMergedTraits().mediaType,r=t;if(e)return i.getMergedTraits().httpHeader&&(r=this.base64ToUtf8(r)),("application/json"===e||e.endsWith("+json"))&&(r=rs.from(r)),r}return i.isNumericSchema()?Number(t):i.isBigIntegerSchema()?BigInt(t):i.isBigDecimalSchema()?new rw(t,"bigDecimal"):i.isBooleanSchema()?"true"===String(t).toLowerCase():t}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??iQ.P)((this.serdeContext?.base64Decoder??ix.E)(e))}}class rT extends i6{codecDeserializer;stringDeserializer;constructor(e,t){super(),this.codecDeserializer=e,this.stringDeserializer=new rE(t)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,t){let i=iY.l1.of(e),r=i.getMergedTraits(),s=this.serdeContext?.utf8Encoder??iQ.P;if(r.httpHeader||r.httpResponseCode)return this.stringDeserializer.read(i,s(t));if(r.httpPayload){if(i.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??rc.a;return"string"==typeof t?e(t):t}else if(i.isStringSchema())return"byteLength"in t?s(t):t}return this.codecDeserializer.read(i,t)}}var rI=i(94009);class rR{queryCompat;errorRegistry;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,t){let i=t.getMemberSchemas(),r=Object.values(i).find(e=>!!e.getMergedTraits().httpPayload);if(r){let t=r.getMergedTraits().mediaType;return t?t:r.isStringSchema()?"text/plain":r.isBlobSchema()?"application/octet-stream":e}if(!t.isUnitSchema()&&Object.values(i).find(e=>{let{httpQuery:t,httpQueryParams:i,httpHeader:r,httpLabel:s,httpPrefixHeaders:n}=e.getMergedTraits(),a=void 0===n;return!t&&!i&&!r&&!s&&a}))return e}async getErrorSchemaOrThrowBaseException(e,t,i,r,s,n){let a=e;e.includes("#")&&([,a]=e.split("#"));let o={$metadata:s,$fault:i.statusCode<500?"client":"server"};if(!this.errorRegistry)throw Error("@aws-sdk/core/protocols - error handler not initialized.");try{return{errorSchema:n?.(this.errorRegistry,a)??this.errorRegistry.getSchema(e),errorMetadata:o}}catch(n){r.message=r.message??r.Message??"UnknownError";let e=this.errorRegistry,t=e.getBaseException();if(t){let i=e.getErrorCtor(t)??Error;throw this.decorateServiceException(Object.assign(new i({name:a}),o),r)}let i=r,s=i?.message??i?.Message??i?.Error?.Message??i?.Error?.message;throw this.decorateServiceException(Object.assign(Error(s),{name:a},o),r)}}compose(e,t,i){let r=i;t.includes("#")&&([r]=t.split("#"));let s=i5.for(r),n=i5.for("smithy.ts.sdk.synthetic."+i);e.copyFrom(s),e.copyFrom(n),this.errorRegistry=e}decorateServiceException(e,t={}){if(this.queryCompat){let i=e.Message??t.Message,r=(0,rI.M)(e,t);i&&(r.message=i);let s=r.Error??{};s.Type=r.Error?.Type,s.Code=r.Error?.Code,s.Message=r.Error?.message??r.Error?.Message??i,r.Error=s;let n=r.$metadata.requestId;return n&&(r.RequestId=n),r}return(0,rI.M)(e,t)}setQueryCompatError(e,t){let i=t.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=i){let[t,r]=i.split(";"),s=Object.keys(e),n={Code:t,Type:r};e.Code=t,e.Type=r;for(let t=0;tiY.l1.of(e).getMergedTraits().awsQueryError?.[0]===t)}}}class rN{serdeContext;setSerdeContext(e){this.serdeContext=e}}class rA{from;to;keys;constructor(e,t){this.from=e,this.to=t;let i=new Set(Object.keys(this.from));i.delete("__type"),this.keys=i}mark(e){this.keys.delete(e)}hasUnknown(){return 1===this.keys.size&&0===Object.keys(this.to).length}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,t=this.from[e];this.to.$unknown=[e,t]}}}function rM(e,t,i){if(i?.source){let e=i.source;if("number"==typeof t&&(t>Number.MAX_SAFE_INTEGER||t(0,i7.P)(e,t).then(e=>(t?.utf8Encoder??iQ.P)(e)),rj=(e,t)=>rP(e,t).then(e=>{if(e.length)try{return JSON.parse(e)}catch(t){throw t?.name==="SyntaxError"&&Object.defineProperty(t,"$responseBodyText",{value:e}),t}return{}}),rL=(e,t)=>Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase()),rD=e=>{let t=e;return"number"==typeof t&&(t=t.toString()),t.indexOf(",")>=0&&(t=t.split(",")[0]),t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},rO=(e,t)=>rF(e,t,["header","code","type"]),rF=({headers:e},t,i)=>{for(;i.length>0;)switch(i.shift()){case"header":let r=rL(e??{},"x-amzn-errortype");if(void 0!==r)return rD(e[r]);break;case"code":let s=rL(t??{},"code");if(s&&void 0!==t[s])return rD(t[s]);break;case"type":if(t?.__type!==void 0)return rD(t.__type)}};class rU extends rN{settings;constructor(e){super(),this.settings=e}async read(e,t){return this._read(e,"string"==typeof t?JSON.parse(t,rM):await rj(t,this.serdeContext))}readObject(e,t){return this._read(e,t)}_read(e,t){let i=null!==t&&"object"==typeof t,r=iY.l1.of(e);if(i){if(r.isStructSchema()){let e,i,s=t,n=r.isUnionSchema(),a={},{jsonName:o}=this.settings;for(let[t,l]of(o&&(i={}),n&&(e=new rA(s,a)),r.structIterator())){let r=t;o&&(i[r=l.getMergedTraits().jsonName??r]=t),n&&e.mark(r),null!=s[r]&&(a[t]=this._read(l,s[r]))}if(n)e.writeUnknown();else if("string"==typeof s.__type)for(let e in s){let t=s[e],r=o?i[e]??e:e;r in a||(a[r]=t)}return a}if(Array.isArray(t)&&r.isListSchema()){let e=r.getValueSchema(),i=[];for(let r of t)i.push(this._read(e,r));return i}if(r.isMapSchema()){let e=r.getValueSchema(),i={};for(let r in t)i[r]=this._read(e,t[r]);return i}}if(r.isBlobSchema()&&"string"==typeof t)return(0,ix.E)(t);let s=r.getMergedTraits().mediaType;if(r.isStringSchema()&&"string"==typeof t&&s)return"application/json"===s||s.endsWith("+json")?rs.from(t):t;if(r.isTimestampSchema()&&null!=t)switch(ra(r,this.settings)){case 5:return(0,ri.t_)(t);case 6:return(0,ri.xE)(t);case 7:return(0,ri.l3)(t);default:return new Date(t)}if(r.isBigIntegerSchema()&&("number"==typeof t||"string"==typeof t))return BigInt(t);if(r.isBigDecimalSchema()&&void 0!=t){if(t instanceof rw)return t;let e=t;return"bigDecimal"===e.type&&"string"in e?new rw(e.string,e.type):new rw(String(t),"bigDecimal")}if(r.isNumericSchema()&&"string"==typeof t){switch(t){case"Infinity":return 1/0;case"-Infinity":return-1/0;case"NaN":return NaN}return t}if(r.isDocumentSchema())if(!i)return structuredClone(t);else{let e=Array.isArray(t)?[]:{};for(let i in t){let s=t[i];s instanceof rw?e[i]=s:e[i]=this._read(r,s)}return e}return t}}let rV=String.fromCharCode(925);class rB{values=new Map;counter=0;stage=0;createReplacer(){if(1===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer already created.");if(2===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");return this.stage=1,(e,t)=>{if(t instanceof rw){let e=`${rV+"nv"+this.counter++}_`+t.string;return this.values.set(`"${e}"`,t.string),e}if("bigint"==typeof t){let e=t.toString(),i=`${rV+"b"+this.counter++}_`+e;return this.values.set(`"${i}"`,e),i}return t}}replaceInJson(e){if(0===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer not created yet.");if(2===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");if(this.stage=2,0===this.counter)return e;for(let[t,i]of this.values)e=e.replace(t,i);return e}}class rz extends rN{settings;buffer;useReplacer=!1;rootSchema;constructor(e){super(),this.settings=e}write(e,t){this.rootSchema=iY.l1.of(e),this.buffer=this._write(this.rootSchema,t)}flush(){let{rootSchema:e,useReplacer:t}=this;if(this.rootSchema=void 0,this.useReplacer=!1,e?.isStructSchema()||e?.isDocumentSchema()){if(!t)return JSON.stringify(this.buffer);let e=new rB;return e.replaceInJson(JSON.stringify(this.buffer,e.createReplacer(),0))}return this.buffer}writeDiscriminatedDocument(e,t){this.write(e,t),"object"==typeof this.buffer&&(this.buffer.__type=iY.l1.of(e).getName(!0))}_write(e,t,i){let r=null!==t&&"object"==typeof t,s=iY.l1.of(e);if(r){if(s.isStructSchema()){let e,i=t,r={},{jsonName:n}=this.settings;n&&(e={});let a=0;for(let[t,o]of s.structIterator()){let l=this._write(o,i[t],s);if(void 0!==l){let i=t;n&&(i=o.getMergedTraits().jsonName??t,e[t]=i),r[i]=l,a++}}if(s.isUnionSchema()&&0===a){let{$unknown:e}=i;if(Array.isArray(e)){let[t,i]=e;r[t]=this._write(15,i)}}else if("string"==typeof i.__type)for(let t in i){let s=i[t],a=n?e[t]??t:t;a in r||(r[a]=this._write(15,s))}return r}if(Array.isArray(t)&&s.isListSchema()){let e=s.getValueSchema(),i=[],r=!!s.getMergedTraits().sparse;for(let s of t)(r||null!=s)&&i.push(this._write(e,s));return i}if(s.isMapSchema()){let e=s.getValueSchema(),i={},r=!!s.getMergedTraits().sparse;for(let s in t){let n=t[s];(r||null!=n)&&(i[s]=this._write(e,n))}return i}if(t instanceof Uint8Array&&(s.isBlobSchema()||s.isDocumentSchema()))return s===this.rootSchema?t:(this.serdeContext?.base64Encoder??i$.n)(t);if(t instanceof Date&&(s.isTimestampSchema()||s.isDocumentSchema()))switch(ra(s,this.settings)){case 5:return t.toISOString().replace(".000Z","Z");case 6:return(0,ri.JV)(t);default:return t.getTime()/1e3}t instanceof rw&&(this.useReplacer=!0)}if(!(null===t&&i?.isStructSchema())){if(s.isStringSchema()){if(void 0===t&&s.isIdempotencyToken())return(0,rn.ec)();let e=s.getMergedTraits().mediaType;return null!=t&&e&&("application/json"===e||e.endsWith("+json"))?rs.from(t):t}if("number"==typeof t&&s.isNumericSchema())return Math.abs(t)===1/0||isNaN(t)?String(t):t;if("string"==typeof t&&s.isBlobSchema())return s===this.rootSchema?t:(this.serdeContext?.base64Encoder??i$.n)(t);if("bigint"==typeof t&&(this.useReplacer=!0),s.isDocumentSchema())if(!r)return structuredClone(t);else{let e=Array.isArray(t)?[]:{};for(let i in t){let r=t[i];r instanceof rw?(this.useReplacer=!0,e[i]=r):e[i]=this._write(s,r)}return e}return t}}}class rW extends rN{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new rz(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new rU(this.settings);return e.setSerdeContext(this.serdeContext),e}}class rH extends rt{serializer;deserializer;codec;mixin=new rR;constructor({defaultNamespace:e,errorTypeRegistries:t}){super({defaultNamespace:e,errorTypeRegistries:t});let i={timestampFormat:{useTrait:!0,default:7},httpBindings:!0,jsonName:!0};this.codec=new rW(i),this.serializer=new rl(this.codec.createSerializer(),i),this.deserializer=new rT(this.codec.createDeserializer(),i)}getShapeId(){return"aws.protocols#restJson1"}getPayloadCodec(){return this.codec}setSerdeContext(e){this.codec.setSerdeContext(e),super.setSerdeContext(e)}async serializeRequest(e,t,i){let r=await super.serializeRequest(e,t,i),s=iY.l1.of(e.input);if(!r.headers["content-type"]){let e=this.mixin.resolveRestContentType(this.getDefaultContentType(),s);e&&(r.headers["content-type"]=e)}return null==r.body&&r.headers["content-type"]===this.getDefaultContentType()&&(r.body="{}"),r}async deserializeResponse(e,t,i){let r=await super.deserializeResponse(e,t,i);for(let[t,i]of iY.l1.of(e.output).structIterator())!i.getMemberTraits().httpPayload||t in r||(r[t]=null);return r}async handleError(e,t,i,r,s){let n=rO(i,r)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,n,this.options.defaultNamespace);let{errorSchema:a,errorMetadata:o}=await this.mixin.getErrorSchemaOrThrowBaseException(n,this.options.defaultNamespace,i,r,s),l=iY.l1.of(a),c=r.message??r.Message??"UnknownError",d=new(this.compositeErrorRegistry.getErrorCtor(a)??Error)({});await this.deserializeHttpMessage(a,t,i,r);let u={},h=this.codec.createDeserializer();for(let[e,t]of l.structIterator()){let i=t.getMergedTraits().jsonName??e;u[e]=h.readObject(t,r[i])}throw this.mixin.decorateServiceException(Object.assign(d,o,{$fault:l.getMergedTraits().error,message:c},u),r)}getDefaultContentType(){return"application/json"}}var rG=i(65763);let rZ=64,rK=32,rX=0x20000000000000-1;class rY{digestLength=rK;state=Int32Array.from(rJ);w;buffer=new Uint8Array(64);bufferLength=0;bytesHashed=0;finished=!1;inner;outer;constructor(e){if(e){let t=rY.normalizeKey(e);this.inner=new rY,this.outer=new rY;let{inner:i,outer:r}=this,s=new Uint8Array(2*rZ);for(let e=0;erX)throw Error("Cannot hash more than 2^53 - 1 bits");for(;r>0;)this.buffer[this.bufferLength++]=t[i++],r--,this.bufferLength===rZ&&(this.hashBuffer(),this.bufferLength=0)}async digest(){let{inner:e,outer:t}=this;if(e&&t){if(this.finished)throw Error("Attempted to digest an already finished HMAC.");this.finished=!0;let i=e.digestSync();return t.update(i),t.digestSync()}return this.digestSync()}reset(){this.state=Int32Array.from(rJ),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0}digestSync(){let e=this.state.slice(),t=this.buffer.slice(),i=this.bufferLength,r=8*this.bytesHashed,s=new DataView(t.buffer,t.byteOffset,t.byteLength);if(s.setUint8(i++,128),(i-1)%rZ>=rZ-8){for(let e=i;e>>24&255,n[4*t+1]=e[t]>>>16&255,n[4*t+2]=e[t]>>>8&255,n[4*t+3]=e[t]>>>0&255;return n}static normalizeKey(e){let t=(0,rG.F)(e);if(t.byteLength>rZ){let e=new rY;e.update(t);let i=e.digestSync(),r=new Uint8Array(rZ);return r.set(i),r}if(t.byteLength>>17|t<<15)^(t>>>19|t<<13)^t>>>10,s=((t=i[e-15])>>>7|t<<25)^(t>>>18|t<<14)^t>>>3;i[e]=(r+i[e-7]|0)+(s+i[e-16]|0)}let u=(((o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7))+(o&l^~o&c)|0)+(d+(r$[e]+i[e]|0)|0)|0,h=((r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10))+(r&s^r&n^s&n)|0;d=c,c=l,l=o,o=a+u|0,a=n,n=s,s=r,r=u+h|0}e[0]+=r,e[1]+=s,e[2]+=n,e[3]+=a,e[4]+=o,e[5]+=l,e[6]+=c,e[7]+=d}}let rJ=new Int32Array([0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]),r$=new Int32Array([0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]),{digest:rq,sign:rQ,importKey:r0}=globalThis?.crypto?.subtle??{},r1="function"==typeof rq&&"function"==typeof rQ&&"function"==typeof r0?globalThis.crypto.subtle:void 0,r2=8388608;class r3{digestLength=32;secret;pending=[];pendingBytes=0;fallback;finished=!1;constructor(e){e&&(this.secret=(0,rG.F)(e))}update(e){if(this.finished)throw Error("Attempted to update an already finished HMAC.");this.fallback?this.fallback.update(e):(this.pending.push(e.slice()),this.pendingBytes+=e.byteLength,this.pendingBytes>=r2&&this.switchToFallback())}async digest(){if(this.fallback)return this.fallback.digest();if(this.secret&&this.finished)throw Error("Attempted to digest an already finished HMAC.");let e=iD(this.pending);if(r1){if(this.secret){this.finished=!0;let t=await r1.importKey("raw",this.secret,{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return new Uint8Array(await r1.sign("HMAC",t,e))}return new Uint8Array(await r1.digest("SHA-256",e))}let t=new rY(this.secret);return t.update(e),t.digest()}reset(){this.pending=[],this.pendingBytes=0,this.fallback=void 0,this.finished=!1}switchToFallback(){let e=new rY(this.secret);for(let t of this.pending)e.update(t);this.fallback=e,this.pending=[],this.pendingBytes=0}}var r4=i(40395),r5=i(29887),r9=i(36148),r6=i(92570),r8=i(64394);let r7=(e,t=!1)=>{if(t){for(let t of e.split("."))if(!r7(t))return!1;return!0}return!(!(0,r6.X)(e)||e.length<3||e.length>63||e!==e.toLowerCase()||(0,r8.o)(e))},se=":",st="/",si={isVirtualHostableS3Bucket:r7,parseArn:e=>{let t=e.split(se);if(t.length<6)return null;let[i,r,s,n,a,...o]=t;return"arn"!==i||""===r||""===s||""===o.join(se)?null:{partition:r,service:s,region:n,accountId:a,resourceId:o.map(e=>e.split(st)).flat()}},partition:tu};r9.m.aws=si;var sr=i(77957),ss=i(13654),sn=i(41175),sa=i(16761),so=i(51798),sl=i(56631),sc=i(4221);let sd=1e8,su=(e,t)=>{let{nodes:i,root:r,results:s,conditions:n}=e,a=r,o={},l={referenceRecord:o,endpointParams:t.endpointParams,logger:t.logger};for(;1!==a&&-1!==a&&a=0===h.result?r:s}if(a>=sd){let e=s[a-sd];if(-1===e[0]){let[,t]=e;throw new ss.c((0,sa.O4)(t,"Error",l))}let[t,i,r]=e;return{url:(0,sc.t)(t,l),properties:(0,sl.Fb)(i,l),headers:(0,so.w)(r??{},l)}}throw new ss.c("No matching endpoint.")};class sh{nodes;root;conditions;results;constructor(e,t,i,r){this.nodes=e,this.root=t,this.conditions=i,this.results=r}static from(e,t,i,r){return new sh(e,t,i,r)}}let sp="ref",sm="isSet",sf="PartitionResult",sg="booleanEquals",s_="getAttr",sy={[sp]:"Endpoint"},sv={[sp]:sf},sb={},sS=[{[sp]:"Region"}],sk=[[sm,[sy]],[sm,sS],["aws.partition",sS,sf],[sg,[{[sp]:"UseFIPS"},!0]],[sg,[{[sp]:"UseDualStack"},!0]],[sg,[{fn:s_,argv:[sv,"supportsDualStack"]},!0]],[sg,[{fn:s_,argv:[sv,"supportsFIPS"]},!0]]],sx=[[-1],[-1,"Invalid Configuration: FIPS and custom endpoint are not supported"],[-1,"Invalid Configuration: Dualstack and custom endpoint are not supported"],[sy,sb],["https://transcribestreaming-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",sb],[-1,"FIPS and DualStack are enabled, but this partition does not support one or both"],["https://transcribestreaming-fips.{Region}.{PartitionResult#dnsSuffix}",sb],[-1,"FIPS is enabled but this partition does not support FIPS"],["https://transcribestreaming.{Region}.{PartitionResult#dualStackDnsSuffix}",sb],[-1,"DualStack is enabled but this partition does not support DualStack"],["https://transcribestreaming.{Region}.{PartitionResult#dnsSuffix}",sb],[-1,"Invalid Configuration: Missing Region"]],sC=2,sw=new Int32Array([-1,1,-1,0,12,3,1,4,0x5f5e10b,2,5,0x5f5e10b,3,8,6,4,7,0x5f5e10a,5,0x5f5e108,0x5f5e109,4,10,9,6,0x5f5e106,0x5f5e107,5,11,0x5f5e105,6,0x5f5e104,0x5f5e105,3,0x5f5e101,13,4,0x5f5e102,0x5f5e103]),sE=sh.from(sw,sC,sk,sx),sT=new sr.k({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS"]}),sI=(e,t={})=>sT.get(e,()=>su(sE,{endpointParams:e,logger:t.logger}));r9.m.aws=si;class sR extends rI.T{constructor(e){super(e),Object.setPrototypeOf(this,sR.prototype)}}class sN extends sR{name="BadRequestException";$fault="client";Message;constructor(e){super({name:"BadRequestException",$fault:"client",...e}),Object.setPrototypeOf(this,sN.prototype),this.Message=e.Message}}class sA extends sR{name="ConflictException";$fault="client";Message;constructor(e){super({name:"ConflictException",$fault:"client",...e}),Object.setPrototypeOf(this,sA.prototype),this.Message=e.Message}}class sM extends sR{name="InternalFailureException";$fault="server";Message;constructor(e){super({name:"InternalFailureException",$fault:"server",...e}),Object.setPrototypeOf(this,sM.prototype),this.Message=e.Message}}class sP extends sR{name="LimitExceededException";$fault="client";Message;constructor(e){super({name:"LimitExceededException",$fault:"client",...e}),Object.setPrototypeOf(this,sP.prototype),this.Message=e.Message}}class sj extends sR{name="ServiceUnavailableException";$fault="server";Message;constructor(e){super({name:"ServiceUnavailableException",$fault:"server",...e}),Object.setPrototypeOf(this,sj.prototype),this.Message=e.Message}}class sL extends sR{name="ResourceNotFoundException";$fault="client";Message;constructor(e){super({name:"ResourceNotFoundException",$fault:"client",...e}),Object.setPrototypeOf(this,sL.prototype),this.Message=e.Message}}let sD="Alternative",sO="AudioChunk",sF="AudioEvent",sU="AlternativeList",sV="AudioStream",sB="Alternatives",sz="Begin",sW="BeginAudioTime",sH="BeginOffsetMillis",sG="BadRequestException",sZ="Category",sK="CallAnalyticsEntity",sX="CallAnalyticsItem",sY="CallAnalyticsLanguageWithScore",sJ="ChannelDefinition",s$="ChannelDefinitions",sq="ConflictException",sQ="ConfigurationEvent",s0="ChannelId",s1="ContentIdentificationType",s2="ClinicalNoteGenerationSettings",s3="CharacterOffsets",s4="ContentRedactionOutput",s5="ContentRedactionType",s9="Content",s6="Confidence",s8="DataAccessRoleArn",s7="Entities",ne="EndAudioTime",nt="EnableChannelIdentification",ni="EntityList",nr="EndOffsetMillis",ns="EnablePartialResultsStabilization",nn="EndTime",na="End",no="Entity",nl="Items",nc="IssueDetected",nd="InternalFailureException",nu="IdentifyLanguage",nh="ItemList",np="IdentifyMultipleLanguages",nm="IsPartial",nf="Item",ng="KmsEncryptionContext",n_="KmsKeyId",ny="LanguageCode",nv="LimitExceededException",nb="LanguageIdentification",nS="LanguageModelName",nk="LanguageOptions",nx="LanguageWithScore",nC="Message",nw="MedicalAlternative",nE="MedicalAlternativeList",nT="MedicalEntity",nI="MedicalEntityList",nR="MediaEncoding",nN="MedicalItem",nA="MedicalItemList",nM="MedicalResult",nP="MedicalResultList",nj="MedicalScribeContext",nL="MedicalScribeChannelDefinition",nD="MedicalScribeEncryptionSettings",nO="MedicalScribePatientContext",nF="MedicalScribePostStreamAnalyticsSettings",nU="MediaSampleRateHertz",nV="MedicalScribeTranscriptItem",nB="MedicalScribeTranscriptItemList",nz="MedicalScribeTranscriptSegment",nW="MedicalTranscript",nH="NumberOfChannels",nG="NoteTemplate",nZ="OutputBucketName",nK="OutputEncryptionKMSKeyId",nX="OutputLocation",nY="Pronouns",nJ="PatientContext",n$="PostCallAnalyticsSettings",nq="PiiEntityTypes",nQ="PreferredLanguage",n0="PointsOfInterest",n1="ParticipantRole",n2="PartialResultsStability",n3="Results",n4="ResultId",n5="RequestId",n9="ResultList",n6="ResourceNotFoundException",n8="Result",n7="Stable",ae="SessionId",at="SegmentId",ai="SessionResumeWindow",ar="ShowSpeakerLabel",as="StartStreamTranscription",an="StartStreamTranscriptionRequest",aa="StartStreamTranscriptionResponse",ao="StartTime",al="ServiceUnavailableException",ac="Score",ad="Speaker",au="Transcript",ah="TranscriptEvent",ap="TimestampRanges",am="TranscriptResultStream",af="TimestampRange",ag="Type",a_="VocabularyFilterMatch",ay="VocabularyFilterMethod",av="VocabularyFilterName",ab="VocabularyFilterNames",aS="VocabularyName",ak="VocabularyNames",ax="client",aC="error",aw="eventPayload",aE="http",aT="httpError",aI="httpHeader",aR="smithy.ts.sdk.synthetic.com.amazonaws.transcribestreaming",aN="server",aA="streaming",aM="x-amzn-request-id",aP="x-amzn-transcribe-content-identification-type",aj="x-amzn-transcribe-content-redaction-type",aL="x-amzn-transcribe-enable-channel-identification",aD="x-amzn-transcribe-enable-partial-results-stabilization",aO="x-amzn-transcribe-identify-language",aF="x-amzn-transcribe-identify-multiple-languages",aU="x-amzn-transcribe-language-code",aV="x-amzn-transcribe-language-model-name",aB="x-amzn-transcribe-language-options",az="x-amzn-transcribe-media-encoding",aW="x-amzn-transcribe-number-of-channels",aH="x-amzn-transcribe-pii-entity-types",aG="x-amzn-transcribe-preferred-language",aZ="x-amzn-transcribe-partial-results-stability",aK="x-amzn-transcribe-session-id",aX="x-amzn-transcribe-sample-rate",aY="x-amzn-transcribe-session-resume-window",aJ="x-amzn-transcribe-show-speaker-label",a$="x-amzn-transcribe-vocabulary-filter-method",aq="x-amzn-transcribe-vocabulary-filter-name",aQ="x-amzn-transcribe-vocabulary-filter-names",a0="x-amzn-transcribe-vocabulary-name",a1="x-amzn-transcribe-vocabulary-names",a2="com.amazonaws.transcribestreaming",a3=i5.for(aR);var a4=[-3,aR,"TranscribeStreamingServiceException",0,[],[]];a3.registerError(a4,sR);let a5=i5.for(a2);var a9=[-3,a2,sG,{[aC]:ax,[aT]:400},[nC],[0]];a5.registerError(a9,sN);var a6=[-3,a2,sq,{[aC]:ax,[aT]:409},[nC],[0]];a5.registerError(a6,sA);var a8=[-3,a2,nd,{[aC]:aN,[aT]:500},[nC],[0]];a5.registerError(a8,sM);var a7=[-3,a2,nv,{[aC]:ax,[aT]:429},[nC],[0]];a5.registerError(a7,sP);var oe=[-3,a2,n6,{[aC]:ax,[aT]:404},[nC],[0]];a5.registerError(oe,sL);var ot=[-3,a2,al,{[aC]:aN,[aT]:503},[nC],[0]];a5.registerError(ot,sj);let oi=[a3,a5];var or=[0,a2,nY,8,0],os=[3,a2,sD,0,[au,nl,s7],[0,()=>oV,()=>oU]],on=[3,a2,sF,0,[sO],[[21,{[aw]:1}]]],oa=[3,a2,sK,0,[sH,nr,sZ,ag,s9,s6],[1,1,0,0,0,1]],oo=[3,a2,sX,0,[sH,nr,ag,s9,s6,a_,n7],[1,1,0,0,1,2,2]],ol=[3,a2,sY,0,[ny,ac],[0,1]],oc=[3,a2,sJ,0,[s0,n1],[1,0],2],od=[3,a2,s3,0,[sz,na],[1,1]],ou=[3,a2,s2,0,[nZ,nG],[0,0],1],oh=[3,a2,sQ,0,[s$,n$],[()=>oF,()=>oN]],op=[3,a2,no,0,[ao,nn,sZ,ag,s9,s6],[1,1,0,0,0,1]],om=[3,a2,nc,0,[s3],[()=>od]],of=[3,a2,nf,0,[ao,nn,ag,s9,a_,ad,s6,n7],[1,1,0,0,2,0,1,2]],og=[3,a2,nx,0,[ny,ac],[0,1]],o_=[3,a2,nw,0,[au,nl,s7],[0,()=>oH,()=>oW]],oy=[3,a2,nT,0,[ao,nn,sZ,s9,s6],[1,1,0,0,1]],ov=[3,a2,nN,0,[ao,nn,ag,s9,s6,ad],[1,1,0,0,1,0]],ob=[3,a2,nM,0,[n4,ao,nn,nm,sB,s0],[0,1,1,2,()=>oz,0]],oS=[3,a2,nL,0,[s0,n1],[1,0],2],ok=[3,a2,nj,0,[nJ],[[()=>oC,0]]],ox=[3,a2,nD,0,[n_,ng],[0,128],1],oC=[3,a2,nO,0,[nY],[[()=>or,0]]],ow=[3,a2,nF,0,[s2],[()=>ou],1],oE=[3,a2,nV,0,[sW,ne,ag,s6,s9,a_],[1,1,0,1,0,2]],oT=[3,a2,nz,0,[at,sW,ne,s9,nl,nm,s0],[0,1,1,0,()=>oZ,2,0]],oI=[3,a2,nW,0,[n3],[()=>oG]],oR=[3,a2,n0,0,[ap],[()=>oX]],oN=[3,a2,n$,0,[nX,s8,s4,nK],[0,0,0,0],2],oA=[3,a2,n8,0,[n4,ao,nn,nm,sB,s0,ny,nb],[0,1,1,2,()=>oO,0,0,()=>oB]],oM=[3,a2,an,0,[nU,nR,sV,ny,aS,ae,av,ay,ar,nt,nH,ns,n2,s1,s5,nq,nS,nu,nk,nQ,np,ak,ab,ai],[[1,{[aI]:aX}],[0,{[aI]:az}],[()=>oY,16],[0,{[aI]:aU}],[0,{[aI]:a0}],[0,{[aI]:aK}],[0,{[aI]:aq}],[0,{[aI]:a$}],[2,{[aI]:aJ}],[2,{[aI]:aL}],[1,{[aI]:aW}],[2,{[aI]:aD}],[0,{[aI]:aZ}],[0,{[aI]:aP}],[0,{[aI]:aj}],[0,{[aI]:aH}],[0,{[aI]:aV}],[2,{[aI]:aO}],[0,{[aI]:aB}],[0,{[aI]:aG}],[2,{[aI]:aF}],[0,{[aI]:a1}],[0,{[aI]:aQ}],[1,{[aI]:aY}]],3],oP=[3,a2,aa,0,[n5,ny,nU,nR,aS,ae,am,av,ay,ar,nt,nH,ns,n2,s1,s5,nq,nS,nu,nk,nQ,np,ak,ab,ai],[[0,{[aI]:aM}],[0,{[aI]:aU}],[1,{[aI]:aX}],[0,{[aI]:az}],[0,{[aI]:a0}],[0,{[aI]:aK}],[()=>oJ,16],[0,{[aI]:aq}],[0,{[aI]:a$}],[2,{[aI]:aJ}],[2,{[aI]:aL}],[1,{[aI]:aW}],[2,{[aI]:aD}],[0,{[aI]:aZ}],[0,{[aI]:aP}],[0,{[aI]:aj}],[0,{[aI]:aH}],[0,{[aI]:aV}],[2,{[aI]:aO}],[0,{[aI]:aB}],[0,{[aI]:aG}],[2,{[aI]:aF}],[0,{[aI]:a1}],[0,{[aI]:aQ}],[1,{[aI]:aY}]]],oj=[3,a2,af,0,[sH,nr],[1,1]],oL=[3,a2,au,0,[n3],[()=>oK]],oD=[3,a2,ah,0,[au],[()=>oL]],oO=[1,a2,sU,0,()=>os],oF=[1,a2,s$,0,()=>oc],oU=[1,a2,ni,0,()=>op],oV=[1,a2,nh,0,()=>of],oB=[1,a2,nb,0,()=>og],oz=[1,a2,nE,0,()=>o_],oW=[1,a2,nI,0,()=>oy],oH=[1,a2,nA,0,()=>ov],oG=[1,a2,nP,0,()=>ob],oZ=[1,a2,nB,0,()=>oE],oK=[1,a2,n9,0,()=>oA],oX=[1,a2,ap,0,()=>oj],oY=[4,a2,sV,{[aA]:1},[sF,sQ],[[()=>on,0],()=>oh]],oJ=[4,a2,am,{[aA]:1},[ah,sG,nv,nd,sq,al],[()=>oD,[()=>a9,0],[()=>a7,0],[()=>a8,0],[()=>a6,0],[()=>ot,0]]],o$=[9,a2,as,{[aE]:["POST","/stream-transcription",200]},()=>oM,()=>oP];let oq=e=>({apiVersion:"2017-10-26",base64Decoder:e?.base64Decoder??ix.E,base64Encoder:e?.base64Encoder??i$.n,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??sI,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??iu,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new iX}],logger:e?.logger??new r4.N,protocol:e?.protocol??rH,protocolSettings:e?.protocolSettings??{defaultNamespace:"com.amazonaws.transcribestreaming",errorTypeRegistries:oi,version:"2017-10-26",serviceTarget:"Transcribe"},serviceId:e?.serviceId??"Transcribe Streaming",sha256:e?.sha256??r3,urlParser:e?.urlParser??r5.D,utf8Decoder:e?.utf8Decoder??rc.a,utf8Encoder:e?.utf8Encoder??iQ.P}),oQ=e=>{let t=(0,iM.I)(e),i=()=>t().then(iN.l),r=oq(e);return{...r,...e,runtime:"browser",defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??iL.n,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error("Credential is missing"))),defaultUserAgentProvider:e?.defaultUserAgentProvider??i_({serviceId:r.serviceId,clientVersion:ig}),eventStreamPayloadHandlerProvider:e?.eventStreamPayloadHandlerProvider??(()=>iv),eventStreamSerdeProvider:e?.eventStreamSerdeProvider??ij.J,maxAttempts:e?.maxAttempts??3,region:e?.region??(0,iA.B)("Region is missing"),requestHandler:iE.create(e?.requestHandler??i,iC.N.create(i)),retryMode:e?.retryMode??(async()=>(await i()).retryMode||tp.L),streamCollector:e?.streamCollector??iU,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(iP.VW)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(iP.Hj))}},o0=e=>({setRegion(t){e.region=t},region:()=>e.region}),o1=e=>({region:e.region()});var o2=i(29701),o3=i(62752);let o4=e=>{let t=e.httpAuthSchemes,i=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let i=t.findIndex(t=>t.schemeId===e.schemeId);-1===i?t.push(e):t.splice(i,1,e)},httpAuthSchemes:()=>t,setHttpAuthSchemeProvider(e){i=e},httpAuthSchemeProvider:()=>i,setCredentials(e){r=e},credentials:()=>r}},o5=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),o9=(e,t)=>{let i=Object.assign(o0(e),(0,o2.xA)(e),(0,o3.e)(e),o4(e));return t.forEach(e=>e.configure(i)),Object.assign(e,o1(i),(0,o2.uv)(i),(0,o3.j)(i),o5(i))};class o6 extends tY.K{config;constructor(...[e]){let t=oQ(e||{});super(t),this.initConfig=t;let i=tr(ip(t)),r=(0,t0.$z)(i),s=tn((0,tJ.T)(r)),n=(0,t$.Co)(s),a=o9(tL(tM(ih((0,tq.o)(n)))),e?.extensions||[]);this.config=a,this.middlewareStack.use(ie(this.config)),this.middlewareStack.use(tT(this.config)),this.middlewareStack.use((0,t1.ey)(this.config)),this.middlewareStack.use((0,tQ.vK)(this.config)),this.middlewareStack.use(tl(this.config)),this.middlewareStack.use(tN(this.config)),this.middlewareStack.use(tA(this.config)),this.middlewareStack.use(tz(this.config,{httpAuthSchemeParametersProvider:ic,identityProviderConfigProvider:async e=>new tW({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(tX(this.config))}destroy(){super.destroy()}}let o8=e=>(t,i)=>async r=>{let{request:s}=r;return ts.K.isInstance(s)?e.eventStreamPayloadHandler.handle(t,r,i):t(r)},o7={tags:["EVENT_STREAM","SIGNATURE","HANDLE"],name:"eventStreamHandlingMiddleware",relation:"after",toMiddleware:"awsAuthMiddleware",override:!0},le=e=>async t=>{let{request:i}=t;return ts.K.isInstance(i)?(i.headers={...i.headers,"content-type":"application/vnd.amazon.eventstream","x-amz-content-sha256":"STREAMING-AWS4-HMAC-SHA256-EVENTS"},e({...t,request:i})):e(t)},lt={step:"build",tags:["EVENT_STREAM","HEADER","CONTENT_TYPE","CONTENT_SHA256"],name:"eventStreamHeaderMiddleware",override:!0},li=e=>({applyToStack:t=>{t.addRelativeTo(o8(e),o7),t.add(le,lt)}}),lr=e=>t=>async i=>{void 0===i.input.SessionId&&ls(e)&&(i.input.SessionId=(0,rn.v4)());let r={...i.input},s=await t(i),n=s.output;for(let e of Object.keys(n))void 0===n[e]&&r[e]&&(n[e]=r[e]);return s},ls=e=>e.requestHandler.metadata?.handlerProtocol?.includes("websocket"),ln={step:"initialize",name:"injectResponseValuesMiddleware",tags:["WEBSOCKET","EVENT_STREAM"],override:!0},la=e=>t=>i=>{let{request:r}=i;return ts.K.isInstance(r)&&e.requestHandler.metadata?.handlerProtocol?.includes("websocket")&&(r.hostname=`${r.hostname}:8443`,r.headers.host=r.hostname),t(i)},lo={name:"websocketPortMiddleware",tags:["WEBSOCKET","EVENT_STREAM","PORT"],relation:"after",toMiddleware:"eventStreamHeaderMiddleware",override:!0},ll=e=>({applyToStack:t=>{t.addRelativeTo(la(e),lo),t.add(lr(e),ln)}}),lc=(e,t)=>i=>r=>{let{request:s}=r;if(ts.K.isInstance(s)&&e.requestHandler.metadata?.handlerProtocol?.toLowerCase().includes("websocket")){s.protocol="wss:",s.method="GET",s.path=`${s.path}-websocket`;let{headers:e}=s;for(let i of(delete e["content-type"],delete e["x-amz-content-sha256"],Object.keys(e)))if(0===i.indexOf(t.headerPrefix)){let r=i.replace(t.headerPrefix,"");s.query[r]=e[i]}e["x-amz-user-agent"]&&(s.query["user-agent"]=e["x-amz-user-agent"]),s.headers={host:e.host??s.hostname}}return i(r)},ld={name:"websocketEndpointMiddleware",tags:["WEBSOCKET","EVENT_STREAM"],relation:"after",toMiddleware:"eventStreamHeaderMiddleware",override:!0},lu=()=>e=>async t=>{let i={...t.input},r=await e(t),s=r.output;return i.SessionId&&null==s.SessionId&&(s.SessionId=i.SessionId),r},lh={step:"initialize",name:"injectSessionIdMiddleware",tags:["WEBSOCKET","EVENT_STREAM"],override:!0},lp=(e,t)=>({applyToStack:i=>{i.addRelativeTo(lc(e,t),ld),i.add(lu(),lh)}});var lm=i(67967);class lf extends lm.u.classBuilder().ep(im).m(function(e,t,i,r){return[(0,t$.rD)(i,e.getEndpointParameterInstructions()),li(i),lp(i,{headerPrefix:"x-amzn-transcribe-"}),ll(i)]}).s("Transcribe","StartStreamTranscription",{eventStream:{input:!0,output:!0}}).n("TranscribeStreamingClient","StartStreamTranscriptionCommand").sc(o$).build(){}let lg="pcm";class l_{_queue=[];_isStreaming=!0;_resolveNextChunk=null;_pushCount=0;_yieldCount=0;push(e){if(!this._isStreaming)return void eJ.trace("[AudioStreamGenerator] push ignored - stream ended");if(this._pushCount++,eJ.trace(`[AudioStreamGenerator] push #${this._pushCount}, size: ${e.length}`),this._resolveNextChunk){let t=this._resolveNextChunk;this._resolveNextChunk=null,t(e)}else this._queue.push(e)}end(){if(eJ.trace(`[AudioStreamGenerator] end called, pushCount: ${this._pushCount}, yieldCount: ${this._yieldCount}`),this._isStreaming=!1,this._resolveNextChunk){let e=this._resolveNextChunk;this._resolveNextChunk=null,e(null)}}getAudioStream(){let e=this;return async function*(){eJ.trace("[AudioStreamGenerator] generator started");try{for(;;){if(e._queue.length>0){let t=e._queue.shift();e._yieldCount++,eJ.trace(`[AudioStreamGenerator] yield #${e._yieldCount} from queue, size: ${t.length}`),yield{AudioEvent:{AudioChunk:t}};continue}if(!e._isStreaming){eJ.trace("[AudioStreamGenerator] stream ended, yielding empty AudioEvent"),yield{AudioEvent:{}};break}let t=await new Promise(t=>{e._resolveNextChunk=t});if(null===t){eJ.trace("[AudioStreamGenerator] received null, ending stream"),yield{AudioEvent:{}};break}e._yieldCount++,eJ.trace(`[AudioStreamGenerator] yield #${e._yieldCount} from wait, size: ${t.length}`),yield{AudioEvent:{AudioChunk:t}}}}catch(t){eJ.trace("[AudioStreamGenerator] error:",t),e._isStreaming=!1,e._resolveNextChunk=null}finally{eJ.trace(`[AudioStreamGenerator] generator finished, total yields: ${e._yieldCount}`),e._isStreaming=!1,e._resolveNextChunk=null}}()}}let ly={"us-east-1":"us-east-1","us-west-2":"us-west-2","eu-west-1":"eu-west-1","ap-northeast-1":"ap-northeast-1","ap-southeast-1":"ap-southeast-1","ap-southeast-2":"ap-southeast-2"},lv={"en-US":"en-US,zh-CN,ja-JP","zh-CN":"zh-CN,en-US,ja-JP","ja-JP":"ja-JP,en-US,zh-CN","ko-KR":"ko-KR,en-US,zh-CN","es-US":"es-US,en-US","fr-FR":"fr-FR,en-US","de-DE":"de-DE,en-US"};class lb{type=eT.AWS;status=eI.Idle;baseConfig;_client=null;_handlers=null;_config;_initialized=!1;_audioStreamGenerator=null;_lastStableMessage="";_lastPartialMessage="";_isTranscribing=!1;constructor(e){this._config=e,this.baseConfig={type:eT.AWS,language:e.languageCode||"en-US"}}async init(e){this._handlers=e;try{let e=ly[this._config.region]||this._config.region||"us-east-1";this._client=new o6({region:e,credentials:{accessKeyId:this._config.accessKeyId,secretAccessKey:this._config.secretAccessKey,sessionToken:this._config.sessionToken}}),this._audioStreamGenerator=new l_,this._initialized=!0,this._lastStableMessage="",this._lastPartialMessage="",eJ.trace("[AWSASR] Client initialized")}catch(e){throw new eF(e instanceof Error?e.message:"Failed to initialize AWS client")}}async start(){if(!this._initialized||!this._client||!this._audioStreamGenerator)throw new eF("Client not initialized");if(this.status!==eI.Idle)return void eJ.warn("[AWSASR] start() called but already in progress, status:",this.status);this.status=eI.Connecting,this._isTranscribing=!0;try{let e=this._getLanguageOptions(),t=this._audioStreamGenerator.getAudioStream(),i=new lf({MediaEncoding:lg,MediaSampleRateHertz:16e3,AudioStream:t,LanguageOptions:e,IdentifyLanguage:!0}),r=await this._client.send(i);if(!r.TranscriptResultStream)throw new eF("TranscriptResultStream is undefined");this.status=eI.Connected,eJ.trace("[AWSASR] Connected"),this._handlers?.onOpen?.(),this._processTranscriptStream(r.TranscriptResultStream)}catch(i){eJ.error("[AWSASR] start() error:",i),this.status=eI.Error,this._isTranscribing=!1;let e="Failed to start transcription";i instanceof Error&&(e=i.message.includes("Deserialization error")?"AWS Transcribe response parsing error. Please try again.":i.message);let t=new eF(e);throw this._handlers?.onError?.(t),t}}async _processTranscriptStream(e){try{for await(let t of e){let e=(t?.TranscriptEvent?.Transcript?.Results||[])[0];if(e)if(e.IsPartial){let t=e.Alternatives?.[0]?.Transcript||"";t!==this._lastPartialMessage&&(this._lastPartialMessage=t,this._handlers?.onMessage?.(this._lastStableMessage+t))}else{let t=e.Alternatives?.[0]?.Transcript||"";this._lastStableMessage=this._lastStableMessage+t,this._lastPartialMessage="",this._handlers?.onMessage?.(this._lastStableMessage)}}}catch(e){if(this._isTranscribing){eJ.error("[AWSASR] Error processing transcript stream:",e);let t=new eU(e instanceof Error?e.message:"Transcription stream error");this._handlers?.onError?.(t)}}finally{this._destroy()}}_destroy(){this.status!==eI.Closed&&(this.status=eI.Closed,this._client?.destroy(),this._handlers?.onClose?.())}async stop(e){eJ.trace("[AWSASR] stop() called"),this._isTranscribing=!1,this._audioStreamGenerator&&this._audioStreamGenerator.end(),setTimeout(()=>{this._destroy()},3e3)}async send(e){let t=[eI.Connecting,eI.Connected,eI.Transcribing];if(!this._audioStreamGenerator||!t.includes(this.status))return void eJ.trace("[AWSASR] send() skipped, status:",this.status);try{let t=await e.arrayBuffer(),i=new Uint8Array(t);eJ.trace("[AWSASR] send() pushing audio data, size:",i.length),this._audioStreamGenerator.push(i),this.status===eI.Connected&&(eJ.trace("[AWSASR] Start streaming"),this.status=eI.Transcribing)}catch(e){eJ.trace("[AWSASR] Failed to send audio chunk:",e)}}_getLanguageOptions(){return lv[this._config.languageCode||"en-US"]||"en-US,zh-CN,ja-JP"}}class lS{_refreshTimer=null;_initialized=!1;_lastTokenFetchTime=0;async initialize(){if(this._initialized)return void eJ.trace("[ASRClientService] Already initialized");try{await this.refreshToken(),this._initialized=!0,this._startTokenRefresh(),eJ.trace("[ASRClientService] Initialized successfully")}catch(e){throw eJ.error("[ASRClientService] Failed to initialize:",e),e}}dispose(){this._stopTokenRefresh(),this._initialized=!1,eJ.trace("[ASRClientService] Disposed")}_isTokenExpired(){return 0===this._lastTokenFetchTime||Date.now()-this._lastTokenFetchTime>eW+6e4}async _ensureValidToken(){this._isTokenExpired()&&await this.refreshToken()}_startTokenRefresh(){this._refreshTimer||(this._refreshTimer=setInterval(async()=>{try{await this.refreshToken()}catch(e){eJ.error("[ASRClientService] Token refresh failed:",e)}},eW),eJ.trace("[ASRClientService] Token refresh started"))}_stopTokenRefresh(){this._refreshTimer&&(clearInterval(this._refreshTimer),this._refreshTimer=null,eJ.trace("[ASRClientService] Token refresh stopped"))}}let lk=(e,t)=>new eL(e,{cause:t instanceof Error?t.message:String(t)});class lx extends lS{_config;_cachedTokenConfig=null;constructor(e){super(),this._config=e}async createClient(){if(await this._ensureValidToken(),!this._cachedTokenConfig)throw lk("Token not available");return new te({type:eT.Huoshan,...this._cachedTokenConfig,language:this._config.language,useBigModel:this._config.useBigModel})}async refreshToken(){eJ.trace("[HuoshanASRClientService] Refreshing token...");try{let e=await this._config.fetchToken();if(0!==e.code||!e.data)throw lk(e.message||"Failed to fetch Huoshan ASR token",{code:e.code});this._cachedTokenConfig={bigmodelApiUrl:e.data.bigmodel_api_url,smallmodelApiUrl:e.data.smallmodel_api_url,bigmodelResourceId:e.data.bigmodel_resource_id,appId:e.data.app_id,token:e.data.token,cluster:e.data.cluster,uid:e.data.uid},this._lastTokenFetchTime=Date.now(),eJ.trace("[HuoshanASRClientService] Token refreshed successfully")}catch(e){if(eJ.error("[HuoshanASRClientService] Token refresh failed:",e),e instanceof Error&&"ASRTokenFetchError"===e.name)throw e;throw lk("Failed to fetch Huoshan ASR token",e)}}getCachedConfig(){return this._cachedTokenConfig}}class lC extends lS{_config;_cachedCredentials=null;constructor(e){super(),this._config=e}async createClient(){if(await this._ensureValidToken(),!this._cachedCredentials)throw lk("AWS credentials not available");return new lb({type:eT.AWS,...this._cachedCredentials,languageCode:this._config.languageCode})}async refreshToken(){eJ.trace("[AwsAsrClientService] Refreshing credentials...");try{let e=await this._config.fetchCredentials();if(0!==e.code||!e.data)throw lk(e.message||"Failed to fetch AWS credentials",{code:e.code});this._cachedCredentials={region:e.data.region,accessKeyId:e.data.access_key_id,secretAccessKey:e.data.secret_access_key,sessionToken:e.data.session_token},this._lastTokenFetchTime=Date.now(),eJ.trace("[AwsAsrClientService] Credentials refreshed successfully")}catch(e){if(eJ.error("[AwsAsrClientService] Credentials refresh failed:",e),e instanceof Error&&"ASRTokenFetchError"===e.name)throw e;throw lk("Failed to fetch AWS credentials",e)}}getCachedCredentials(){return this._cachedCredentials}}let lw="",lE="",lT=e=>{let{asrService:t,recordRef:i,onTextChange:r,onRecordEnd:s,onError:a,onButtonClick:o,onRecordStart:l,onConnected:c,waveAnimationResourceUrlLight:d=lw,waveAnimationResourceUrlDark:u=lE}=e,[h,p]=(0,n.useState)(eR.CLOSE),[m,f]=(0,n.useState)(null),g=(0,n.useRef)(eR.CLOSE),_=(0,n.useRef)({bufferedText:[],currentText:""}),y=(0,n.useRef)(0),v=(0,n.useRef)(null),b=(0,n.useRef)(eB.USER_STOP),S=(0,n.useRef)(!1),k=(0,n.useCallback)(e=>{p(e),g.current=e},[]),x=(0,n.useCallback)(e=>{i.current?.onMessage(e),_.current.currentText=e,r?.(e)},[i,r]),C=(0,n.useCallback)(()=>{v.current&&(clearTimeout(v.current),v.current=null)},[]),w=(0,n.useCallback)(async(e,r)=>{if(g.current===eR.CLOSE)return;eJ.trace("[useASRRecorder] Stopping:",{closeType:e,closeReason:r}),C();try{await t?.stop()}catch(e){eJ.error("[useASRRecorder] Error stopping ASR service:",e)}k(eR.CLOSE),i.current?.onClose();let n=_.current.currentText;n&&_.current.bufferedText.push(n),s?.(n,e,r),eJ.trace("[useASRRecorder] Stopped:",{charCount:n.length})},[t,i,C,k,s]),E=(0,n.useCallback)(async()=>{if(S.current)return void eJ.warn("[useASRRecorder] Operation in progress, ignoring start");if(g.current!==eR.CLOSE){eJ.warn("[useASRRecorder] Not in CLOSE state, attempting recovery",{currentStatus:g.current});try{await t?.forceStop()}catch(e){eJ.warn("[useASRRecorder] Recovery forceStop failed:",e)}k(eR.CLOSE)}eJ.trace("[useASRRecorder] Starting..."),S.current=!0,f(null),_.current={bufferedText:[],currentText:""},b.current=eB.USER_STOP,k(eR.PREPARING),y.current=Date.now(),l?.();try{if(!t)throw Error("ASR service is not initialized");await t.start({onOpen:()=>{eJ.trace("[useASRRecorder] Connected"),k(eR.RECORDING),c?.(),i.current?.onOpen(),v.current=setTimeout(()=>{eJ.trace("[useASRRecorder] Time limit reached"),b.current=eB.TIME_LIMIT,w(eV.SYSTEM,eB.TIME_LIMIT)},ez)},onMessage:e=>{x(e)},onError:e=>{eJ.error("[useASRRecorder] Error:",e),f(e),b.current=eB.ERROR,a?.(e),k(eR.CLOSE),i.current?.onClose()},onClose:()=>{eJ.trace("[useASRRecorder] Connection closed"),g.current!==eR.CLOSE&&w(eV.SYSTEM,b.current)}})}catch(e){eJ.error("[useASRRecorder] Failed to start:",e),k(eR.CLOSE),i.current?.onClose(),e instanceof Error&&(f(e),a?.(e))}finally{S.current=!1}},[t,k,x,w,a,l,c,i]),T=(0,n.useCallback)(()=>{S.current?eJ.warn("[useASRRecorder] Operation in progress, ignoring stop"):(b.current=eB.USER_STOP,w(eV.USER,eB.USER_STOP))},[w]),I=(0,n.useCallback)(async e=>{let r=e?.closeReason||eB.PANEL_CLOSE;b.current=r,eJ.trace("[useASRRecorder] Force stopping:",{reason:r,currentStatus:g.current,isOperating:S.current}),C();try{await t?.forceStop()}catch(e){eJ.error("[useASRRecorder] Error force stopping ASR service:",e)}k(eR.CLOSE),i.current?.onClose(),S.current=!1;let n=_.current.currentText;n&&_.current.bufferedText.push(n),s?.(n,eV.SYSTEM,r),eJ.trace("[useASRRecorder] Force stopped")},[t,C,k,i,s]),R=(0,n.useCallback)(e=>{eJ.trace("[useASRRecorder] Button clicked:",e),o?.(e)},[o]),N=(0,n.useCallback)(()=>_,[]),A=(0,n.useCallback)(()=>g,[]);(0,n.useEffect)(()=>{let e=()=>{g.current!==eR.CLOSE&&(eJ.trace("[useASRRecorder] Network offline"),b.current=eB.NETWORK_OFFLINE,w(eV.SYSTEM,eB.NETWORK_OFFLINE))};return window.addEventListener("offline",e),()=>{window.removeEventListener("offline",e)}},[w]),(0,n.useEffect)(()=>()=>{C(),g.current!==eR.CLOSE&&t&&t.stop().catch(e=>eJ.error("[useASRRecorder] Cleanup stop error:",e))},[t,C]);let M=(0,n.useMemo)(()=>_.current.currentText.length>0||_.current.bufferedText.length>0,[h]);return{status:h,isWritten:M,actions:{start:E,stop:T,forceStop:I,reportButtonClick:R,getUnsentTextRef:N,getStatusRef:A},waveAnimationResourceUrlLight:d,waveAnimationResourceUrlDark:u,error:m,currentText:_.current.currentText}},lI=()=>!(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia||"u"{let{sdkConfig:t,enabled:i=!0}=e,{provider:r,api:s,language:a="zh-CN",useBigModel:o=!0,onShowError:l}=t,[c,d]=(0,n.useState)(!1),[u,h]=(0,n.useState)(null),[p,m]=(0,n.useState)(!1),f=(0,n.useRef)(null),g=(0,n.useRef)(null),_=(0,n.useMemo)(()=>lI(),[]),y=(0,n.useCallback)(()=>{if(r===eT.AWS||r===eX.AWS){if(!s.fetchAWSCredentials)throw Error("fetchAWSCredentials is required for AWS provider");return new lC({fetchCredentials:s.fetchAWSCredentials,languageCode:"zh-CN"===a?"zh-CN":"en-US"})}if(!s.fetchHuoshanToken)throw Error("fetchHuoshanToken is required for Huoshan provider");return new lx({fetchToken:s.fetchHuoshanToken,language:a,useBigModel:o})},[r,s,a,o]);return(0,n.useEffect)(()=>{if(!i||!_)return;let e=!0;return(async()=>{d(!0),h(null);try{let t=y();if(g.current=t,await t.initialize(),!e)return void t.dispose();f.current=new e2({clientService:t,onShowError:l}),m(!0),eJ.trace("[useASRService] ASR service initialized")}catch(t){eJ.error("[useASRService] Failed to initialize ASR service:",t),e&&h(t instanceof Error?t:Error("Unknown error"))}finally{e&&d(!1)}})(),()=>{e=!1,g.current&&(g.current.dispose(),g.current=null),f.current=null,m(!1)}},[i,_,y,l]),{asrService:f.current,isInitializing:c,initError:u,isInitialized:p,isSupported:_}};var lN=i(92046);let lA="4089030846",lM="volc.bigasr.sauc.duration",lP={"zh-cn":"volcengine_streaming",en:"volcengine_streaming_en",ja:"volcengine_streaming_ja"};async function lj(){try{let e=lN.XT.resolve(ed.F.TraeApi),t=await e.asr.getSdkConfig?.();return{provider:t?.provider==="aws"?eT.AWS:eT.Huoshan,bigmodelHost:t?.bigmodelHost||""}}catch{return{provider:eT.Huoshan,bigmodelHost:""}}}let lL={fetchHuoshanToken:async()=>{try{let e=lN.XT.resolve(ed.F.TraeApi),[t,i]=await Promise.all([e.asr.getHuoshanToken(),lj()]),r=i?.bigmodelHost||"";if(t.success&&t.data)return{code:0,message:"success",data:{token:t.data.jwt_token,app_id:t.data.app_id||lA,bigmodel_api_url:`wss://${r}/api/v3/sauc/bigmodel`,smallmodel_api_url:`wss://${r}/api/v2/asr`,bigmodel_resource_id:lM,cluster:lP,uid:t.data.uid||""}};return{code:-1,message:t.message||"Failed to fetch ASR token",data:void 0}}catch(e){return em.logger.error("[ASR] Failed to fetch Huoshan token:",e),{code:-1,message:e instanceof Error?e.message:"Unknown error",data:void 0}}},fetchAWSCredentials:async()=>{try{let e=lN.XT.resolve(ed.F.TraeApi),t=await e.asr.getAWSCredentials();if(t.success&&t.data)return{code:0,message:"success",data:{region:t.data.region,access_key_id:t.data.accessKeyId,secret_access_key:t.data.secretAccessKey,session_token:t.data.sessionToken}};return{code:-1,message:t.message||"Failed to fetch AWS credentials",data:void 0}}catch(e){return em.logger.error("[ASR] Failed to fetch AWS credentials:",e),{code:-1,message:e instanceof Error?e.message:"Unknown error",data:void 0}}}},lD=e=>{let t=e.toLowerCase();return"ja"!==t&&!t.startsWith("ja-")},lO=(e={})=>{let{enabled:t=!0,onShowError:i,language:r="zh-CN",useBigModel:s}=e,[a,o]=(0,n.useState)(void 0),[l,c]=(0,n.useState)(!0);(0,n.useEffect)(()=>{let e=!0;return lj().then(t=>{e&&(o(t?.provider),c(!1))}),()=>{e=!1}},[]);let d=s??lD(r),u=(0,n.useMemo)(()=>a?{provider:a,api:lL,language:r,useBigModel:d,onShowError:i}:null,[a,r,d,i]);return lR({sdkConfig:u||{provider:eT.Huoshan,api:lL,language:r,useBigModel:d,onShowError:i},enabled:t&&!!u&&!l})},lF=lT;var lU=i(12218),lV=i(45367),lB=i(21645),lz=i(69815),lW=i(69092),lH=i(89309),lG=i(17610);let lZ=n.default.memo(({options:e})=>{let{renderAgentAction:t,selectedAgent:i,loading:r,onSelect:a,renderAgentButton:o}=e,l=(0,n.useCallback)(()=>{document.dispatchEvent(new CustomEvent("TriggerAgentPopup",{detail:{source:"agent-plugin-button"}}))},[]);return t?(0,s.jsx)(s.Fragment,{children:t()}):o?(0,s.jsx)(s.Fragment,{children:o({selectedAgent:i,loading:r,onClick:l,disabled:!1})}):null});lZ.displayName="AgentActionSlot";let lK=n.default.memo(({options:e})=>{let{renderAgentContent:t}=e;return t?(0,s.jsx)(s.Fragment,{children:t()}):null});function lX(e){return(0,s.jsx)(lZ,{options:e})}function lY(e){return(0,s.jsx)(lK,{options:e})}lK.displayName="AgentContentSlot";let lJ="agent-plugin";function l$(e){let t=e,i=null,r=[];function s(){if(i){if(r.forEach(e=>e()),r=[],t.renderAgentAction||t.renderAgentButton){let e=i.registerSlot({position:"toolbar-left",priority:100,key:"agent-action",content:lX(t)});r.push(e)}if(t.renderAgentContent){let e=i.registerSlot({position:"header",priority:100,key:"agent-content",content:lY(t)});r.push(e)}}}return{name:lJ,version:"1.0.0",description:"Agent \u9009\u62E9\u529F\u80FD\u63D2\u4EF6\uFF0C\u652F\u6301\u5728\u5DE5\u5177\u680F\u663E\u793A Agent \u6309\u94AE\u548C\u5F39\u7A97\u9009\u62E9",setup(e){i=e,s()},update(e){t=e,s()},dispose(){r.forEach(e=>e()),r=[],i=null}}}let lq={localize:(e,t,i)=>{let r=i||"";return t&&Object.keys(t).length?Object.entries(t).reduce((e,[t,i])=>e.replace(`{${t}}`,String(i)),r):r}};function lQ(){return(0,n.useMemo)(()=>lq,[])}function l0(){return lq}var l1=i(25638),l2=i(63286),l3=i(14637),l4=i(33974),l5=i(1379),l9=i(43063),l6=i(38991),l8=i(24027),l7=i(26988),ce=i(19593),ct=i(86020),ci=i.n(ct),cr={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var t=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=cr.F1&&t<=cr.F12)return!1;switch(t){case cr.ALT:case cr.CAPS_LOCK:case cr.CONTEXT_MENU:case cr.CTRL:case cr.DOWN:case cr.END:case cr.ESC:case cr.HOME:case cr.INSERT:case cr.LEFT:case cr.MAC_FF_META:case cr.META:case cr.NUMLOCK:case cr.NUM_CENTER:case cr.PAGE_DOWN:case cr.PAGE_UP:case cr.PAUSE:case cr.PRINT_SCREEN:case cr.RIGHT:case cr.SHIFT:case cr.UP:case cr.WIN_KEY:case cr.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=cr.ZERO&&e<=cr.NINE||e>=cr.NUM_ZERO&&e<=cr.NUM_MULTIPLY||e>=cr.A&&e<=cr.Z||-1!==window.navigator.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case cr.SPACE:case cr.QUESTION_MARK:case cr.NUM_PLUS:case cr.NUM_MINUS:case cr.NUM_PERIOD:case cr.NUM_DIVISION:case cr.SEMICOLON:case cr.DASH:case cr.EQUALS:case cr.COMMA:case cr.PERIOD:case cr.SLASH:case cr.APOSTROPHE:case cr.SINGLE_QUOTE:case cr.OPEN_SQUARE_BRACKET:case cr.BACKSLASH:case cr.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};let cs=cr;var cn="accept acceptCharset accessKey action allowFullScreen allowTransparency\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\n charSet checked classID className colSpan cols content contentEditable contextMenu\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\n mediaGroup method min minLength multiple muted name noValidate nonce open\n optimum pattern placeholder poster preload radioGroup readOnly rel required\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\n summary tabIndex target title type useMap value width wmode wrap",ca="onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError",co="".concat(cn," ").concat(ca).split(/[\s\n]+/),cl="aria-",cc="data-";function cd(e,t){return 0===e.indexOf(t)}function cu(e){var t,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=!1===i?{aria:!0,data:!0,attr:!0}:!0===i?{aria:!0}:(0,l3.default)({},i);var r={};return Object.keys(e).forEach(function(i){(t.aria&&("role"===i||cd(i,cl))||t.data&&cd(i,cc)||t.attr&&co.includes(i))&&(r[i]=e[i])}),r}var ch=i(16118),cp=n.createContext(null),cm=n.createContext({});let cf=function(e){var t=e.dropPosition,i=e.dropLevelOffset,r=e.indent,s={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(t){case -1:s.top=0,s.left=-i*r;break;case 1:s.bottom=0,s.left=-i*r;break;case 0:s.bottom=0,s.left=r}return n.default.createElement("div",{style:s})};function cg(e){if(null==e)throw TypeError("Cannot destructure "+e)}var c_=i(26304),cy=i(88075),cv=i(29609),cb=i(57156);function cS(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[];return n.default.Children.forEach(e,function(e){(null!=e||t.keepEmpty)&&(Array.isArray(e)?i=i.concat(cS(e)):(0,cb.A)(e)&&e.props?i=i.concat(cS(e.props.children,t)):i.push(e))}),i}var ck=i(8848),cx=i(66472),cC=n.createContext(null);function cw(e){var t=e.children,i=e.onBatchResize,r=n.useRef(0),s=n.useRef([]),a=n.useContext(cC),o=n.useCallback(function(e,t,n){r.current+=1;var o=r.current;s.current.push({size:e,element:t,data:n}),Promise.resolve().then(function(){o===r.current&&(null==i||i(s.current),s.current=[])}),null==a||a(e,t,n)},[i,a]);return n.createElement(cC.Provider,{value:o},t)}var cE=i(92611),cT=new Map;function cI(e){e.forEach(function(e){var t,i=e.target;null==(t=cT.get(i))||t.forEach(function(e){return e(i)})})}var cR=new cE.A(cI);function cN(e,t){cT.has(e)||(cT.set(e,new Set),cR.observe(e)),cT.get(e).add(t)}function cA(e,t){cT.has(e)&&(cT.get(e).delete(t),cT.get(e).size||(cR.unobserve(e),cT.delete(e)))}var cM=function(e){(0,l8.A)(i,e);var t=(0,l7.A)(i);function i(){return(0,l5.default)(this,i),t.apply(this,arguments)}return(0,l9.default)(i,[{key:"render",value:function(){return this.props.children}}]),i}(n.Component);function cP(e,t){var i=e.children,r=e.disabled,s=n.useRef(null),a=n.useRef(null),o=n.useContext(cC),l="function"==typeof i,c=l?i(s):i,d=n.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),u=!l&&n.isValidElement(c)&&(0,cx.f3)(c),h=u?(0,cx.A9)(c):null,p=(0,cx.xK)(h,s),m=function(){var e;return(0,ck.Ay)(s.current)||(s.current&&"object"===(0,l2.default)(s.current)?(0,ck.Ay)(null==(e=s.current)?void 0:e.nativeElement):null)||(0,ck.Ay)(a.current)};n.useImperativeHandle(t,function(){return m()});var f=n.useRef(e);f.current=e;var g=n.useCallback(function(e){var t=f.current,i=t.onResize,r=t.data,s=e.getBoundingClientRect(),n=s.width,a=s.height,l=e.offsetWidth,c=e.offsetHeight,u=Math.floor(n),h=Math.floor(a);if(d.current.width!==u||d.current.height!==h||d.current.offsetWidth!==l||d.current.offsetHeight!==c){var p={width:u,height:h,offsetWidth:l,offsetHeight:c};d.current=p;var m=l===Math.round(n)?n:l,g=c===Math.round(a)?a:c,_=(0,l3.default)((0,l3.default)({},p),{},{offsetWidth:m,offsetHeight:g});null==o||o(_,e,r),i&&Promise.resolve().then(function(){i(_,e)})}},[]);return n.useEffect(function(){var e=m();return e&&!r&&cN(e,g),function(){return cA(e,g)}},[s.current,r]),n.createElement(cM,{ref:a},u?n.cloneElement(c,{ref:p}):c)}let cj=n.forwardRef(cP);var cL="rc-observer-key";function cD(e,t){var i=e.children;return("function"==typeof i?[i]:cS(i)).map(function(i,r){var s=(null==i?void 0:i.key)||"".concat(cL,"-").concat(r);return n.createElement(cj,(0,l1.A)({},e,{key:s,ref:0===r?t:void 0}),i)})}var cO=n.forwardRef(cD);cO.Collection=cw;let cF=cO;var cU=i(57653),cV=n.forwardRef(function(e,t){var i=e.height,r=e.offsetY,s=e.offsetX,a=e.children,o=e.prefixCls,l=e.onInnerResize,c=e.innerProps,d=e.rtl,u=e.extra,h={},p={display:"flex",flexDirection:"column"};return void 0!==r&&(h={height:i,position:"relative",overflow:"hidden"},p=(0,l3.default)((0,l3.default)({},p),{},(0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)({transform:"translateY(".concat(r,"px)")},d?"marginRight":"marginLeft",-s),"position","absolute"),"left",0),"right",0),"top",0))),n.createElement("div",{style:h},n.createElement(cF,{onResize:function(e){e.offsetHeight&&l&&l()}},n.createElement("div",(0,l1.A)({style:p,className:ci()((0,ce.default)({},"".concat(o,"-holder-inner"),o)),ref:t},c),a,u)))});cV.displayName="Filler";let cB=cV;function cz(e){var t=e.children,i=e.setRef,r=n.useCallback(function(e){i(e)},[]);return n.cloneElement(t,{ref:r})}function cW(e,t,i,r,s,a,o,l){var c=l.getKey;return e.slice(t,i+1).map(function(e,i){var l=o(e,t+i,{style:{width:r},offsetX:s}),d=c(e);return n.createElement(cz,{key:d,setRef:function(t){return a(e,t)}},l)})}function cH(e,t,i){var r,s,n=e.length,a=t.length;if(0===n&&0===a)return null;n2&&void 0!==arguments[2]&&arguments[2],r=e?t<0&&l.current.left||t>0&&l.current.right:t<0&&l.current.top||t>0&&l.current.bottom;return i&&r?(clearTimeout(a.current),s.current=!1):(!r||s.current)&&o(),!s.current&&r}};function cY(e,t,i,r,s,a,o){var l=(0,n.useRef)(0),c=(0,n.useRef)(null),d=(0,n.useRef)(null),u=(0,n.useRef)(!1),h=cX(t,i,r,s);function p(e,t){if(cZ.A.cancel(c.current),!h(!1,t)){var i=e;i._virtualHandled||(i._virtualHandled=!0,l.current+=t,d.current=t,cK||i.preventDefault(),c.current=(0,cZ.A)(function(){var e=u.current?10:1;o(l.current*e,!1),l.current=0}))}}function m(e,t){o(t,!0),cK||e.preventDefault()}var f=(0,n.useRef)(null),g=(0,n.useRef)(null);return[function(t){if(e){cZ.A.cancel(g.current),g.current=(0,cZ.A)(function(){f.current=null},2);var i=t.deltaX,r=t.deltaY,s=t.shiftKey,n=i,o=r;("sx"===f.current||!f.current&&s&&r&&!i)&&(n=r,o=0,f.current="sx");var l=Math.abs(n),c=Math.abs(o);null===f.current&&(f.current=a&&l>c?"x":"y"),"y"===f.current?p(t,o):m(t,n)}},function(t){e&&(u.current=t.detail===d.current)}]}function cJ(e,t,i,r){var s=n.useMemo(function(){return[new Map,[]]},[e,i.id,r]),a=(0,c_.default)(s,2),o=a[0],l=a[1];return function(s){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s,a=o.get(s),c=o.get(n);if(void 0===a||void 0===c)for(var d=e.length,u=l.length;u0&&void 0!==arguments[0]&&arguments[0];u();var t=function(){var e=!1;l.current.forEach(function(t,i){if(t&&t.offsetParent){var r=t.offsetHeight,s=getComputedStyle(t),n=s.marginTop,a=s.marginBottom,o=r+cq(n)+cq(a);c.current.get(i)!==o&&(c.current.set(i,o),e=!0)}}),e&&o(function(e){return e+1})};if(e)t();else{d.current+=1;var i=d.current;Promise.resolve().then(function(){i===d.current&&t()})}}function p(r,s){var n=e(r),a=l.current.get(n);s?(l.current.set(n,s),h()):l.current.delete(n),!a!=!s&&(s?null==t||t(r):null==i||i(r))}return(0,n.useEffect)(function(){return u},[]),[p,h,c.current,a]}var c0=14/15;function c1(e,t,i){var r,s=(0,n.useRef)(!1),a=(0,n.useRef)(0),o=(0,n.useRef)(0),l=(0,n.useRef)(null),c=(0,n.useRef)(null),d=function(e){if(s.current){var t=Math.ceil(e.touches[0].pageX),r=Math.ceil(e.touches[0].pageY),n=a.current-t,l=o.current-r,d=Math.abs(n)>Math.abs(l);d?a.current=t:o.current=r;var u=i(d,d?n:l,!1,e);u&&e.preventDefault(),clearInterval(c.current),u&&(c.current=setInterval(function(){d?n*=c0:l*=c0;var e=Math.floor(d?n:l);(!i(d,e,!0)||.1>=Math.abs(e))&&clearInterval(c.current)},16))}},u=function(){s.current=!1,r()},h=function(e){r(),1!==e.touches.length||s.current||(s.current=!0,a.current=Math.ceil(e.touches[0].pageX),o.current=Math.ceil(e.touches[0].pageY),l.current=e.target,l.current.addEventListener("touchmove",d,{passive:!1}),l.current.addEventListener("touchend",u,{passive:!0}))};r=function(){l.current&&(l.current.removeEventListener("touchmove",d),l.current.removeEventListener("touchend",u))},(0,cv.A)(function(){return e&&t.current.addEventListener("touchstart",h,{passive:!0}),function(){var e;null==(e=t.current)||e.removeEventListener("touchstart",h),r(),clearInterval(c.current)}},[e])}function c2(e){return Math.floor(Math.pow(e,.5))}function c3(e,t){return("touches"in e?e.touches[0]:e)[t?"pageX":"pageY"]-window[t?"scrollX":"scrollY"]}function c4(e,t,i){n.useEffect(function(){var r=t.current;if(e&&r){var s,n,a=!1,o=function(){cZ.A.cancel(s)},l=function e(){o(),s=(0,cZ.A)(function(){i(n),e()})},c=function(){a=!1,o()},d=function(e){if(!e.target.draggable&&0===e.button){var t=e;t._virtualHandled||(t._virtualHandled=!0,a=!0)}},u=function(e){if(a){var t=c3(e,!1),i=r.getBoundingClientRect(),s=i.top,c=i.bottom;t<=s?(n=-c2(s-t),l()):t>=c?(n=c2(t-c),l()):o()}};return r.addEventListener("mousedown",d),r.ownerDocument.addEventListener("mouseup",c),r.ownerDocument.addEventListener("mousemove",u),r.ownerDocument.addEventListener("dragend",c),function(){r.removeEventListener("mousedown",d),r.ownerDocument.removeEventListener("mouseup",c),r.ownerDocument.removeEventListener("mousemove",u),r.ownerDocument.removeEventListener("dragend",c),o()}}},[e])}var c5=10;function c9(e,t,i,r,s,a,o,l){var c=n.useRef(),d=n.useState(null),u=(0,c_.default)(d,2),h=u[0],p=u[1];return(0,cv.A)(function(){if(h&&h.times=0;E-=1){var T=s(t[E]),I=i.get(T);if(void 0===I){m=!0;break}if((w-=I)<=0)break}switch(_){case"top":g=v-d;break;case"bottom":g=b-u+d;break;default:var R=e.current.scrollTop,N=R+u;vN&&(f="bottom")}null!==g&&o(g),g!==h.lastTop&&(m=!0)}m&&p((0,l3.default)((0,l3.default)({},h),{},{times:h.times+1,targetAlign:f,lastTop:g}))}},[h,e.current]),function(e){if(null==e)return void l();if(cZ.A.cancel(c.current),"number"==typeof e)o(e);else if(e&&"object"===(0,l2.default)(e)){var i,r=e.align;i="index"in e?e.index:t.findIndex(function(t){return s(t)===e.key});var n=e.offset;p({times:0,index:i,offset:void 0===n?0:n,originAlign:r})}}}let c6=n.forwardRef(function(e,t){var i=e.prefixCls,r=e.rtl,s=e.scrollOffset,a=e.scrollRange,o=e.onStartMove,l=e.onStopMove,c=e.onScroll,d=e.horizontal,u=e.spinSize,h=e.containerSize,p=e.style,m=e.thumbStyle,f=e.showScrollBar,g=n.useState(!1),_=(0,c_.default)(g,2),y=_[0],v=_[1],b=n.useState(null),S=(0,c_.default)(b,2),k=S[0],x=S[1],C=n.useState(null),w=(0,c_.default)(C,2),E=w[0],T=w[1],I=!r,R=n.useRef(),N=n.useRef(),A=n.useState(f),M=(0,c_.default)(A,2),P=M[0],j=M[1],L=n.useRef(),D=function(){!0!==f&&!1!==f&&(clearTimeout(L.current),j(!0),L.current=setTimeout(function(){j(!1)},3e3))},O=a-h||0,F=h-u||0,U=n.useMemo(function(){return 0===s||0===O?0:s/O*F},[s,O,F]),V=function(e){e.stopPropagation(),e.preventDefault()},B=n.useRef({top:U,dragging:y,pageY:k,startTop:E});B.current={top:U,dragging:y,pageY:k,startTop:E};var z=function(e){v(!0),x(c3(e,d)),T(B.current.top),o(),e.stopPropagation(),e.preventDefault()};n.useEffect(function(){var e=function(e){e.preventDefault()},t=R.current,i=N.current;return t.addEventListener("touchstart",e,{passive:!1}),i.addEventListener("touchstart",z,{passive:!1}),function(){t.removeEventListener("touchstart",e),i.removeEventListener("touchstart",z)}},[]);var W=n.useRef();W.current=O;var H=n.useRef();H.current=F,n.useEffect(function(){if(y){var e,t=function(t){var i=B.current,r=i.dragging,s=i.pageY,n=i.startTop;cZ.A.cancel(e);var a=R.current.getBoundingClientRect(),o=h/(d?a.width:a.height);if(r){var l=(c3(t,d)-s)*o,u=n;!I&&d?u-=l:u+=l;var p=W.current,m=H.current,f=Math.ceil((m?u/m:0)*p);f=Math.min(f=Math.max(f,0),p),e=(0,cZ.A)(function(){c(f,d)})}},i=function(){v(!1),l()};return window.addEventListener("mousemove",t,{passive:!0}),window.addEventListener("touchmove",t,{passive:!0}),window.addEventListener("mouseup",i,{passive:!0}),window.addEventListener("touchend",i,{passive:!0}),function(){window.removeEventListener("mousemove",t),window.removeEventListener("touchmove",t),window.removeEventListener("mouseup",i),window.removeEventListener("touchend",i),cZ.A.cancel(e)}}},[y]),n.useEffect(function(){return D(),function(){clearTimeout(L.current)}},[s]),n.useImperativeHandle(t,function(){return{delayHidden:D}});var G="".concat(i,"-scrollbar"),Z={position:"absolute",visibility:P?null:"hidden"},K={position:"absolute",borderRadius:99,background:"var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))",cursor:"pointer",userSelect:"none"};return d?(Object.assign(Z,{height:8,left:0,right:0,bottom:0}),Object.assign(K,(0,ce.default)({height:"100%",width:u},I?"left":"right",U))):(Object.assign(Z,(0,ce.default)({width:8,top:0,bottom:0},I?"right":"left",0)),Object.assign(K,{width:"100%",height:u,top:U})),n.createElement("div",{ref:R,className:ci()(G,(0,ce.default)((0,ce.default)((0,ce.default)({},"".concat(G,"-horizontal"),d),"".concat(G,"-vertical"),!d),"".concat(G,"-visible"),P)),style:(0,l3.default)((0,l3.default)({},Z),p),onMouseDown:V,onMouseMove:D},n.createElement("div",{ref:N,className:ci()("".concat(G,"-thumb"),(0,ce.default)({},"".concat(G,"-thumb-moving"),y)),style:(0,l3.default)((0,l3.default)({},K),m),onMouseDown:z}))});var c8=20;function c7(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=e/t*e;return isNaN(i)&&(i=0),Math.floor(i=Math.max(i,c8))}var de=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],dt=[],di={overflowY:"auto",overflowAnchor:"none"};function dr(e,t){var i=e.prefixCls,r=void 0===i?"rc-virtual-list":i,s=e.className,o=e.height,l=e.itemHeight,c=e.fullHeight,d=void 0===c||c,u=e.style,h=e.data,p=e.children,m=e.itemKey,f=e.virtual,g=e.direction,_=e.scrollWidth,y=e.component,v=void 0===y?"div":y,b=e.onScroll,S=e.onVirtualScroll,k=e.onVisibleChange,x=e.innerProps,C=e.extraRender,w=e.styles,E=e.showScrollBar,T=void 0===E?"optional":E,I=(0,cy.default)(e,de),R=n.useCallback(function(e){return"function"==typeof m?m(e):null==e?void 0:e[m]},[m]),N=cQ(R,null,null),A=(0,c_.default)(N,4),M=A[0],P=A[1],j=A[2],L=A[3],D=!!(!1!==f&&o&&l),O=n.useMemo(function(){return Object.values(j.maps).reduce(function(e,t){return e+t},0)},[j.id,j.maps]),F=D&&h&&(Math.max(l*h.length,O)>o||!!_),U="rtl"===g,V=ci()(r,(0,ce.default)({},"".concat(r,"-rtl"),U),s),B=h||dt,z=(0,n.useRef)(),W=(0,n.useRef)(),H=(0,n.useRef)(),G=(0,n.useState)(0),Z=(0,c_.default)(G,2),K=Z[0],X=Z[1],Y=(0,n.useState)(0),J=(0,c_.default)(Y,2),$=J[0],q=J[1],Q=(0,n.useState)(!1),ee=(0,c_.default)(Q,2),et=ee[0],ei=ee[1],er=function(){ei(!0)},es=function(){ei(!1)},en={getKey:R};function ea(e){X(function(t){var i=eE("function"==typeof e?e(t):e);return z.current.scrollTop=i,i})}var eo=(0,n.useRef)({start:0,end:B.length}),el=(0,n.useRef)(),ec=cG(B,R);el.current=(0,c_.default)(ec,1)[0];var ed=n.useMemo(function(){if(!D)return{scrollHeight:void 0,start:0,end:B.length-1,offset:void 0};if(!F)return{scrollHeight:(null==(e=W.current)?void 0:e.offsetHeight)||0,start:0,end:B.length-1,offset:void 0};for(var e,t,i,r,s=0,n=B.length,a=0;a=K&&void 0===t&&(t=a,i=s),u>K+o&&void 0===r&&(r=a),s=u}return void 0===t&&(t=0,i=0,r=Math.ceil(o/l)),void 0===r&&(r=B.length-1),{scrollHeight:s,start:t,end:r=Math.min(r+1,B.length-1),offset:i}},[F,D,K,B,L,o]),eu=ed.scrollHeight,eh=ed.start,ep=ed.end,em=ed.offset;eo.current.start=eh,eo.current.end=ep,n.useLayoutEffect(function(){var e=j.getRecord();if(1===e.size){var t=Array.from(e.keys())[0],i=e.get(t),r=B[eh];if(r&&void 0===i&&R(r)===t){var s=j.get(t)-l;ea(function(e){return e+s})}}j.resetRecord()},[eu]);var ef=n.useState({width:0,height:o}),eg=(0,c_.default)(ef,2),e_=eg[0],ey=eg[1],ev=function(e){ey({width:e.offsetWidth,height:e.offsetHeight})},eb=(0,n.useRef)(),eS=(0,n.useRef)(),ek=n.useMemo(function(){return c7(e_.width,_)},[e_.width,_]),ex=n.useMemo(function(){return c7(e_.height,eu)},[e_.height,eu]),eC=eu-o,ew=(0,n.useRef)(eC);function eE(e){var t=e;return Number.isNaN(ew.current)||(t=Math.min(t,ew.current)),t=Math.max(t,0)}ew.current=eC;var eT=K<=0,eI=K>=eC,eR=$<=0,eN=$>=_,eA=cX(eT,eI,eR,eN),eM=function(){return{x:U?-$:$,y:K}},eP=(0,n.useRef)(eM()),ej=(0,cU._q)(function(e){if(S){var t=(0,l3.default)((0,l3.default)({},eM()),e);(eP.current.x!==t.x||eP.current.y!==t.y)&&(S(t),eP.current=t)}});function eL(e,t){var i=e;t?((0,a.flushSync)(function(){q(i)}),ej()):ea(i)}function eD(e){var t=e.currentTarget.scrollTop;t!==K&&ea(t),null==b||b(e),ej()}var eO=function(e){var t=e,i=_?_-e_.width:0;return Math.min(t=Math.max(t,0),i)},eF=cY(D,eT,eI,eR,eN,!!_,(0,cU._q)(function(e,t){t?((0,a.flushSync)(function(){q(function(t){return eO(t+(U?-e:e))})}),ej()):ea(function(t){return t+e})})),eU=(0,c_.default)(eF,2),eV=eU[0],eB=eU[1];c1(D,z,function(e,t,i,r){var s=r;return!eA(e,t,i)&&(!s||!s._virtualHandled)&&(s&&(s._virtualHandled=!0),eV({preventDefault:function(){},deltaX:e?t:0,deltaY:e?0:t}),!0)}),c4(F,z,function(e){ea(function(t){return t+e})}),(0,cv.A)(function(){function e(e){var t=eT&&e.detail<0,i=eI&&e.detail>0;!D||t||i||e.preventDefault()}var t=z.current;return t.addEventListener("wheel",eV,{passive:!1}),t.addEventListener("DOMMouseScroll",eB,{passive:!0}),t.addEventListener("MozMousePixelScroll",e,{passive:!1}),function(){t.removeEventListener("wheel",eV),t.removeEventListener("DOMMouseScroll",eB),t.removeEventListener("MozMousePixelScroll",e)}},[D,eT,eI]),(0,cv.A)(function(){if(_){var e=eO($);q(e),ej({x:e})}},[e_.width,_]);var ez=function(){var e,t;null==(e=eb.current)||e.delayHidden(),null==(t=eS.current)||t.delayHidden()},eW=c9(z,B,j,l,R,function(){return P(!0)},ea,ez);n.useImperativeHandle(t,function(){return{nativeElement:H.current,getScrollInfo:eM,scrollTo:function(e){!function(e){return e&&"object"===(0,l2.default)(e)&&("left"in e||"top"in e)}(e)?eW(e):(void 0!==e.left&&q(eO(e.left)),eW(e.top))}}}),(0,cv.A)(function(){k&&k(B.slice(eh,ep+1),B)},[eh,ep,B]);var eH=cJ(B,R,j,l),eG=null==C?void 0:C({start:eh,end:ep,virtual:F,offsetX:$,offsetY:em,rtl:U,getSize:eH}),eZ=cW(B,eh,ep,_,$,M,p,en),eK=null;o&&(eK=(0,l3.default)((0,ce.default)({},d?"height":"maxHeight",o),di),D&&(eK.overflowY="hidden",_&&(eK.overflowX="hidden"),et&&(eK.pointerEvents="none")));var eX={};return U&&(eX.dir="rtl"),n.createElement("div",(0,l1.A)({ref:H,style:(0,l3.default)((0,l3.default)({},u),{},{position:"relative"}),className:V},eX,I),n.createElement(cF,{onResize:ev},n.createElement(v,{className:"".concat(r,"-holder"),style:eK,ref:z,onScroll:eD,onMouseEnter:ez},n.createElement(cB,{prefixCls:r,height:eu,offsetX:$,offsetY:em,scrollWidth:_,onInnerResize:P,ref:W,innerProps:x,rtl:U,extra:eG},eZ))),F&&eu>o&&n.createElement(c6,{ref:eb,prefixCls:r,scrollOffset:K,scrollRange:eu,rtl:U,onScroll:eL,onStartMove:er,onStopMove:es,spinSize:ex,containerSize:e_.height,style:null==w?void 0:w.verticalScrollBar,thumbStyle:null==w?void 0:w.verticalScrollBarThumb,showScrollBar:T}),F&&_>e_.width&&n.createElement(c6,{ref:eS,prefixCls:r,scrollOffset:$,scrollRange:_,rtl:U,onScroll:eL,onStartMove:er,onStopMove:es,spinSize:ek,containerSize:e_.width,horizontal:!0,style:null==w?void 0:w.horizontalScrollBar,thumbStyle:null==w?void 0:w.horizontalScrollBarThumb,showScrollBar:T}))}var ds=n.forwardRef(dr);ds.displayName="List";let dn=ds;var da=i(84119),dl=function(e){for(var t=e.prefixCls,i=e.level,r=e.isStart,s=e.isEnd,a="".concat(t,"-indent-unit"),o=[],l=0;l1&&void 0!==arguments[1]?arguments[1]:null;return e.map(function(r,d){for(var u,h=dp(i?i.pos:"0",d),p=df(r[n],h),m=0;m1&&void 0!==arguments[1]?arguments[1]:{},i=t.initWrapper,r=t.processEntity,s=t.onProcessFinished,n=t.externalGetKey,a=t.childrenPropName,o=t.fieldNames,l=arguments.length>2?arguments[2]:void 0,c=n||l,d={},u={},h={posEntities:d,keyEntities:u};return i&&(h=i(h)||h),dv(e,function(e){var t=e.node,i=e.index,s=e.pos,n=e.key,a=e.parentPos,o=e.level,l={node:t,nodes:e.nodes,index:i,key:n,pos:s,level:o},c=df(n,s);d[s]=l,u[c]=l,l.parent=d[a],l.parent&&(l.parent.children=l.parent.children||[],l.parent.children.push(l)),r&&r(l,h)},{externalGetKey:c,childrenPropName:a,fieldNames:o}),s&&s(h),h}function dS(e,t){var i=t.expandedKeys,r=t.selectedKeys,s=t.loadedKeys,n=t.loadingKeys,a=t.checkedKeys,o=t.halfCheckedKeys,l=t.dragOverNodeKey,c=t.dropPosition,d=dd(t.keyEntities,e);return{eventKey:e,expanded:-1!==i.indexOf(e),selected:-1!==r.indexOf(e),loaded:-1!==s.indexOf(e),loading:-1!==n.indexOf(e),checked:-1!==a.indexOf(e),halfChecked:-1!==o.indexOf(e),pos:String(d?d.pos:""),dragOver:l===e&&0===c,dragOverGapTop:l===e&&-1===c,dragOverGapBottom:l===e&&1===c}}function dk(e){var t=e.data,i=e.expanded,r=e.selected,s=e.checked,n=e.loaded,a=e.loading,o=e.halfChecked,l=e.dragOver,c=e.dragOverGapTop,d=e.dragOverGapBottom,u=e.pos,h=e.active,p=e.eventKey,m=(0,l3.default)((0,l3.default)({},t),{},{expanded:i,selected:r,checked:s,loaded:n,loading:a,halfChecked:o,dragOver:l,dragOverGapTop:c,dragOverGapBottom:d,pos:u,active:h,key:p});return"props"in m||Object.defineProperty(m,"props",{get:function(){return(0,ch.Ay)(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),e}}),m}var dx=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],dC="open",dw="close",dE="---",dT=function(e){var t,i,r,s=e.eventKey,a=e.className,o=e.style,l=e.dragOver,c=e.dragOverGapTop,d=e.dragOverGapBottom,u=e.isLeaf,h=e.isStart,p=e.isEnd,m=e.expanded,f=e.selected,g=e.checked,_=e.halfChecked,y=e.loading,v=e.domRef,b=e.active,S=e.data,k=e.onMouseMove,x=e.selectable,C=(0,cy.default)(e,dx),w=n.default.useContext(cp),E=n.default.useContext(cm),T=n.default.useRef(null),I=n.default.useState(!1),R=(0,c_.default)(I,2),N=R[0],A=R[1],M=!!(w.disabled||e.disabled||null!=(t=E.nodeDisabled)&&t.call(E,S)),P=n.default.useMemo(function(){return!!w.checkable&&!1!==e.checkable&&w.checkable},[w.checkable,e.checkable]),j=function(t){M||w.onNodeSelect(t,dk(e))},L=function(t){M||P&&!e.disableCheckbox&&w.onNodeCheck(t,dk(e),!g)},D=n.default.useMemo(function(){return"boolean"==typeof x?x:w.selectable},[x,w.selectable]),O=function(t){w.onNodeClick(t,dk(e)),D?j(t):L(t)},F=function(t){w.onNodeDoubleClick(t,dk(e))},U=function(t){w.onNodeMouseEnter(t,dk(e))},V=function(t){w.onNodeMouseLeave(t,dk(e))},B=function(t){w.onNodeContextMenu(t,dk(e))},z=n.default.useMemo(function(){return!!(w.draggable&&(!w.draggable.nodeDraggable||w.draggable.nodeDraggable(S)))},[w.draggable,S]),W=function(t){t.stopPropagation(),A(!0),w.onNodeDragStart(t,e);try{t.dataTransfer.setData("text/plain","")}catch(e){}},H=function(t){t.preventDefault(),t.stopPropagation(),w.onNodeDragEnter(t,e)},G=function(t){t.preventDefault(),t.stopPropagation(),w.onNodeDragOver(t,e)},Z=function(t){t.stopPropagation(),w.onNodeDragLeave(t,e)},K=function(t){t.stopPropagation(),A(!1),w.onNodeDragEnd(t,e)},X=function(t){t.preventDefault(),t.stopPropagation(),A(!1),w.onNodeDrop(t,e)},Y=function(t){y||w.onNodeExpand(t,dk(e))},J=n.default.useMemo(function(){return!!((dd(w.keyEntities,s)||{}).children||[]).length},[w.keyEntities,s]),$=n.default.useMemo(function(){return!1!==u&&(u||!w.loadData&&!J||w.loadData&&e.loaded&&!J)},[u,w.loadData,J,e.loaded]);n.default.useEffect(function(){!y&&("function"!=typeof w.loadData||!m||$||e.loaded||w.onNodeLoad(dk(e)))},[y,w.loadData,w.onNodeLoad,m,$,e]);var q=n.default.useMemo(function(){var e;return null!=(e=w.draggable)&&e.icon?n.default.createElement("span",{className:"".concat(w.prefixCls,"-draggable-icon")},w.draggable.icon):null},[w.draggable]),Q=function(t){var i=e.switcherIcon||w.switcherIcon;return"function"==typeof i?i((0,l3.default)((0,l3.default)({},e),{},{isLeaf:t})):i},ee=function(){if($){var e=Q(!0);return!1!==e?n.default.createElement("span",{className:ci()("".concat(w.prefixCls,"-switcher"),"".concat(w.prefixCls,"-switcher-noop"))},e):null}var t=Q(!1);return!1!==t?n.default.createElement("span",{onClick:Y,className:ci()("".concat(w.prefixCls,"-switcher"),"".concat(w.prefixCls,"-switcher_").concat(m?dC:dw))},t):null},et=n.default.useMemo(function(){if(!P)return null;var t="boolean"!=typeof P?P:null;return n.default.createElement("span",{className:ci()("".concat(w.prefixCls,"-checkbox"),(0,ce.default)((0,ce.default)((0,ce.default)({},"".concat(w.prefixCls,"-checkbox-checked"),g),"".concat(w.prefixCls,"-checkbox-indeterminate"),!g&&_),"".concat(w.prefixCls,"-checkbox-disabled"),M||e.disableCheckbox)),onClick:L,role:"checkbox","aria-checked":_?"mixed":g,"aria-disabled":M||e.disableCheckbox,"aria-label":"Select ".concat("string"==typeof e.title?e.title:"tree node")},t)},[P,g,_,M,e.disableCheckbox,e.title]),ei=n.default.useMemo(function(){return $?null:m?dC:dw},[$,m]),er=n.default.useMemo(function(){return n.default.createElement("span",{className:ci()("".concat(w.prefixCls,"-iconEle"),"".concat(w.prefixCls,"-icon__").concat(ei||"docu"),(0,ce.default)({},"".concat(w.prefixCls,"-icon_loading"),y))})},[w.prefixCls,ei,y]),es=n.default.useMemo(function(){var t=!!w.draggable;return!e.disabled&&t&&w.dragOverNodeKey===s?w.dropIndicatorRender({dropPosition:w.dropPosition,dropLevelOffset:w.dropLevelOffset,indent:w.indent,prefixCls:w.prefixCls,direction:w.direction}):null},[w.dropPosition,w.dropLevelOffset,w.indent,w.prefixCls,w.direction,w.draggable,w.dragOverNodeKey,w.dropIndicatorRender]),en=n.default.useMemo(function(){var t,i,r=e.title,s=void 0===r?dE:r,a="".concat(w.prefixCls,"-node-content-wrapper");if(w.showIcon){var o=e.icon||w.icon;t=o?n.default.createElement("span",{className:ci()("".concat(w.prefixCls,"-iconEle"),"".concat(w.prefixCls,"-icon__customize"))},"function"==typeof o?o(e):o):er}else w.loadData&&y&&(t=er);return i="function"==typeof s?s(S):w.titleRender?w.titleRender(S):s,n.default.createElement("span",{ref:T,title:"string"==typeof s?s:"",className:ci()(a,"".concat(a,"-").concat(ei||"normal"),(0,ce.default)({},"".concat(w.prefixCls,"-node-selected"),!M&&(f||N))),onMouseEnter:U,onMouseLeave:V,onContextMenu:B,onClick:O,onDoubleClick:F},t,n.default.createElement("span",{className:"".concat(w.prefixCls,"-title")},i),es)},[w.prefixCls,w.showIcon,e,w.icon,er,w.titleRender,S,ei,U,V,B,O,F]),ea=cu(C,{aria:!0,data:!0}),eo=(dd(w.keyEntities,s)||{}).level,el=p[p.length-1],ec=!M&&z,ed=w.draggingNodeKey===s,eu=void 0!==x?{"aria-selected":!!x}:void 0;return n.default.createElement("div",(0,l1.A)({ref:v,role:"treeitem","aria-expanded":u?void 0:m,className:ci()(a,"".concat(w.prefixCls,"-treenode"),(r={},(0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)(r,"".concat(w.prefixCls,"-treenode-disabled"),M),"".concat(w.prefixCls,"-treenode-switcher-").concat(m?"open":"close"),!u),"".concat(w.prefixCls,"-treenode-checkbox-checked"),g),"".concat(w.prefixCls,"-treenode-checkbox-indeterminate"),_),"".concat(w.prefixCls,"-treenode-selected"),f),"".concat(w.prefixCls,"-treenode-loading"),y),"".concat(w.prefixCls,"-treenode-active"),b),"".concat(w.prefixCls,"-treenode-leaf-last"),el),"".concat(w.prefixCls,"-treenode-draggable"),z),"dragging",ed),(0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)((0,ce.default)(r,"drop-target",w.dropTargetKey===s),"drop-container",w.dropContainerKey===s),"drag-over",!M&&l),"drag-over-gap-top",!M&&c),"drag-over-gap-bottom",!M&&d),"filter-node",null==(i=w.filterTreeNode)?void 0:i.call(w,dk(e))),"".concat(w.prefixCls,"-treenode-leaf"),$))),style:o,draggable:ec,onDragStart:ec?W:void 0,onDragEnter:z?H:void 0,onDragOver:z?G:void 0,onDragLeave:z?Z:void 0,onDrop:z?X:void 0,onDragEnd:z?K:void 0,onMouseMove:k},eu,ea),n.default.createElement(dc,{prefixCls:w.prefixCls,level:eo,isStart:h,isEnd:p}),q,ee(),et,en)};dT.isTreeNode=1;let dI=dT,dR=function(e,t){var i=n.useState(!1),r=(0,c_.default)(i,2),s=r[0],a=r[1];(0,cv.A)(function(){if(s)return e(),function(){t()}},[s]),(0,cv.A)(function(){return a(!0),function(){a(!1)}},[])};var dN=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"];let dA=n.forwardRef(function(e,t){var i=e.className,r=e.style,s=e.motion,a=e.motionNodes,o=e.motionType,l=e.onMotionStart,c=e.onMotionEnd,d=e.active,u=e.treeNodeRequiredProps,h=(0,cy.default)(e,dN),p=n.useState(!0),m=(0,c_.default)(p,2),f=m[0],g=m[1],_=n.useContext(cp).prefixCls,y=a&&"hide"!==o;(0,cv.A)(function(){a&&y!==f&&g(y)},[a]);var v=function(){a&&l()},b=n.useRef(!1),S=function(){a&&!b.current&&(b.current=!0,c())};dR(v,S);var k=function(e){y===e&&S()};return a?n.createElement(da.Ay,(0,l1.A)({ref:t,visible:f},s,{motionAppear:"show"===o,onVisibleChanged:k}),function(e,t){var i=e.className,r=e.style;return n.createElement("div",{ref:t,className:ci()("".concat(_,"-treenode-motion"),i),style:r},a.map(function(e){var t=Object.assign({},(cg(e.data),e.data)),i=e.title,r=e.key,s=e.isStart,a=e.isEnd;delete t.children;var o=dS(r,u);return n.createElement(dI,(0,l1.A)({},t,o,{title:i,active:d,data:e.data,key:r,isStart:s,isEnd:a}))}))}):n.createElement(dI,(0,l1.A)({domRef:t,className:i,style:r},h,{active:d}))});function dM(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=e.length,r=t.length;if(1!==Math.abs(i-r))return{add:!1,key:null};function s(e,t){var i=new Map;e.forEach(function(e){i.set(e,!0)});var r=t.filter(function(e){return!i.has(e)});return 1===r.length?r[0]:null}return i ").concat(t);return t}let dH=n.forwardRef(function(e,t){var i=e.prefixCls,r=e.data,s=(e.selectable,e.checkable,e.expandedKeys),a=e.selectedKeys,o=e.checkedKeys,l=e.loadedKeys,c=e.loadingKeys,d=e.halfCheckedKeys,u=e.keyEntities,h=e.disabled,p=e.dragging,m=e.dragOverNodeKey,f=e.dropPosition,g=e.motion,_=e.height,y=e.itemHeight,v=e.virtual,b=e.scrollWidth,S=e.focusable,k=e.activeItem,x=e.focused,C=e.tabIndex,w=e.onKeyDown,E=e.onFocus,T=e.onBlur,I=e.onActiveChange,R=e.onListChangeStart,N=e.onListChangeEnd,A=(0,cy.default)(e,dj),M=n.useRef(null),P=n.useRef(null);n.useImperativeHandle(t,function(){return{scrollTo:function(e){M.current.scrollTo(e)},getIndentWidth:function(){return P.current.offsetWidth}}});var j=n.useState(s),L=(0,c_.default)(j,2),D=L[0],O=L[1],F=n.useState(r),U=(0,c_.default)(F,2),V=U[0],B=U[1],z=n.useState(r),W=(0,c_.default)(z,2),H=W[0],G=W[1],Z=n.useState([]),K=(0,c_.default)(Z,2),X=K[0],Y=K[1],J=n.useState(null),$=(0,c_.default)(J,2),q=$[0],Q=$[1],ee=n.useRef(r);function et(){var e=ee.current;B(e),G(e),Y([]),Q(null),N()}ee.current=r,(0,cv.A)(function(){O(s);var e=dM(D,s);if(null!==e.key)if(e.add){var t=V.findIndex(function(t){return t.key===e.key}),i=dB(dP(V,r,e.key),v,_,y),n=V.slice();n.splice(t+1,0,dV),G(n),Y(i),Q("show")}else{var a=r.findIndex(function(t){return t.key===e.key}),o=dB(dP(r,V,e.key),v,_,y),l=r.slice();l.splice(a+1,0,dV),G(l),Y(o),Q("hide")}else V!==r&&(B(r),G(r))},[s,r]),n.useEffect(function(){p||et()},[p]);var ei=g?H:r,er={expandedKeys:s,selectedKeys:a,loadedKeys:l,loadingKeys:c,checkedKeys:o,halfCheckedKeys:d,dragOverNodeKey:m,dropPosition:f,keyEntities:u};return n.createElement(n.Fragment,null,x&&k&&n.createElement("span",{style:dL,"aria-live":"assertive"},dW(k)),n.createElement("div",null,n.createElement("input",{style:dL,disabled:!1===S||h,tabIndex:!1!==S?C:null,onKeyDown:w,onFocus:E,onBlur:T,value:"",onChange:dD,"aria-label":"for screen reader"})),n.createElement("div",{className:"".concat(i,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},n.createElement("div",{className:"".concat(i,"-indent")},n.createElement("div",{ref:P,className:"".concat(i,"-indent-unit")}))),n.createElement(dn,(0,l1.A)({},A,{data:ei,itemKey:dz,height:_,fullHeight:!1,virtual:v,itemHeight:y,scrollWidth:b,prefixCls:"".concat(i,"-list"),ref:M,role:"tree",onVisibleChange:function(e){e.every(function(e){return dz(e)!==dO})&&et()}}),function(e){var t=e.pos,i=Object.assign({},(cg(e.data),e.data)),r=e.title,s=e.key,a=e.isStart,o=e.isEnd,l=df(s,t);delete i.key,delete i.children;var c=dS(l,er);return n.createElement(dA,(0,l1.A)({},i,c,{title:r,active:!!k&&s===k.key,pos:t,data:e.data,isStart:a,isEnd:o,motion:g,motionNodes:s===dO?X:null,motionType:q,onMotionStart:R,onMotionEnd:et,treeNodeRequiredProps:er,onMouseMove:function(){I(null)}}))}))});function dG(e,t){if(!e)return[];var i=e.slice(),r=i.indexOf(t);return r>=0&&i.splice(r,1),i}function dZ(e,t){var i=(e||[]).slice();return -1===i.indexOf(t)&&i.push(t),i}function dK(e){return e.split("-")}function dX(e,t){var i=[];function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(function(e){var t=e.key,s=e.children;i.push(t),r(s)})}return r(dd(t,e).children),i}function dY(e){if(e.parent){var t=dK(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function dJ(e){var t=dK(e.pos);return 0===Number(t[t.length-1])}function d$(e,t,i,r,s,n,a,o,l,c){var d,u=e.clientX,h=e.clientY,p=e.target.getBoundingClientRect(),m=p.top,f=p.height,g=(("rtl"===c?-1:1)*(((null==s?void 0:s.x)||0)-u)-12)/r,_=l.filter(function(e){var t;return null==(t=o[e])||null==(t=t.children)?void 0:t.length}),y=dd(o,i.eventKey);if(h-1.5?n({dragNode:E,dropNode:T,dropPosition:1})?x=1:I=!1:n({dragNode:E,dropNode:T,dropPosition:0})?x=0:n({dragNode:E,dropNode:T,dropPosition:1})?x=1:I=!1:n({dragNode:E,dropNode:T,dropPosition:1})?x=1:I=!1,{dropPosition:x,dropLevelOffset:C,dropTargetKey:y.key,dropTargetPos:y.pos,dragOverNodeKey:k,dropContainerKey:0===x?null:(null==(d=y.parent)?void 0:d.key)||null,dropAllowed:I}}function dq(e,t){if(e){var i=t.multiple;return i?e.slice():e.length?[e[0]]:e}}function dQ(e){var t;if(!e)return null;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else{if("object"!==(0,l2.default)(e))return(0,ch.Ay)(!1,"`checkedKeys` is not an array or an object"),null;t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0}}return t}function d0(e,t){var i=new Set;function r(e){if(!i.has(e)){var s=dd(t,e);if(s){i.add(e);var n=s.parent;!s.node.disabled&&n&&r(n.key)}}}return(e||[]).forEach(function(e){r(e)}),(0,l4.default)(i)}function d1(e,t){var i=new Set;return e.forEach(function(e){t.has(e)||i.add(e)}),i}function d2(e){var t=e||{},i=t.disabled,r=t.disableCheckbox,s=t.checkable;return!!(i||r)||!1===s}function d3(e,t,i,r){for(var s=new Set(e),n=new Set,a=0;a<=i;a+=1)(t.get(a)||new Set).forEach(function(e){var t=e.key,i=e.node,n=e.children,a=void 0===n?[]:n;s.has(t)&&!r(i)&&a.filter(function(e){return!r(e.node)}).forEach(function(e){s.add(e.key)})});for(var o=new Set,l=i;l>=0;l-=1)(t.get(l)||new Set).forEach(function(e){var t=e.parent;if(!(r(e.node)||!e.parent||o.has(e.parent.key))){if(r(e.parent.node))return void o.add(t.key);var i=!0,a=!1;(t.children||[]).filter(function(e){return!r(e.node)}).forEach(function(e){var t=e.key,r=s.has(t);i&&!r&&(i=!1),!a&&(r||n.has(t))&&(a=!0)}),i&&s.add(t.key),a&&n.add(t.key),o.add(t.key)}});return{checkedKeys:Array.from(s),halfCheckedKeys:Array.from(d1(n,s))}}function d4(e,t,i,r,s){for(var n=new Set(e),a=new Set(t),o=0;o<=r;o+=1)(i.get(o)||new Set).forEach(function(e){var t=e.key,i=e.node,r=e.children,o=void 0===r?[]:r;n.has(t)||a.has(t)||s(i)||o.filter(function(e){return!s(e.node)}).forEach(function(e){n.delete(e.key)})});a=new Set;for(var l=new Set,c=r;c>=0;c-=1)(i.get(c)||new Set).forEach(function(e){var t=e.parent;if(!(s(e.node)||!e.parent||l.has(e.parent.key))){if(s(e.parent.node))return void l.add(t.key);var i=!0,r=!1;(t.children||[]).filter(function(e){return!s(e.node)}).forEach(function(e){var t=e.key,s=n.has(t);i&&!s&&(i=!1),!r&&(s||a.has(t))&&(r=!0)}),i||n.delete(t.key),r&&a.add(t.key),l.add(t.key)}});return{checkedKeys:Array.from(n),halfCheckedKeys:Array.from(d1(a,n))}}function d5(e,t,i,r){var s,n,a=[];s=r||d2;var o=new Set(e.filter(function(e){var t=!!dd(i,e);return t||a.push(e),t})),l=new Map,c=0;return Object.keys(i).forEach(function(e){var t=i[e],r=t.level,s=l.get(r);s||(s=new Set,l.set(r,s)),s.add(t),c=Math.max(c,r)}),(0,ch.Ay)(!a.length,"Tree missing follow keys: ".concat(a.slice(0,100).map(function(e){return"'".concat(e,"'")}).join(", "))),n=!0===t?d3(o,l,c,s):d4(o,t.halfCheckedKeys,l,c,s)}var d9=10,d6=function(e){(0,l8.A)(i,e);var t=(0,l7.A)(i);function i(){var e;(0,l5.default)(this,i);for(var r=arguments.length,s=Array(r),a=0;a2&&void 0!==arguments[2]&&arguments[2],n=e.state,a=n.dragChildrenKeys,o=n.dropPosition,l=n.dropTargetKey,c=n.dropTargetPos;if(n.dropAllowed){var d=e.props.onDrop;if(e.setState({dragOverNodeKey:null}),e.cleanDragState(),null!==l){var u=(0,l3.default)((0,l3.default)({},dS(l,e.getTreeNodeRequiredProps())),{},{active:(null==(r=e.getActiveItem())?void 0:r.key)===l,data:dd(e.state.keyEntities,l).node}),h=a.includes(l);(0,ch.Ay)(!h,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var p=dK(c),m={event:t,node:dk(u),dragNode:e.dragNodeProps?dk(e.dragNodeProps):null,dragNodesKeys:[e.dragNodeProps.eventKey].concat(a),dropToGap:0!==o,dropPosition:o+Number(p[p.length-1])};s||null==d||d(m),e.dragNodeProps=null}}}),(0,ce.default)((0,l6.A)(e),"cleanDragState",function(){null!==e.state.draggingNodeKey&&e.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),e.dragStartMousePosition=null,e.currentMouseOverDroppableNodeKey=null}),(0,ce.default)((0,l6.A)(e),"triggerExpandActionExpand",function(t,i){var r=e.state,s=r.expandedKeys,n=r.flattenNodes,a=i.expanded,o=i.key;if(!i.isLeaf&&!t.shiftKey&&!t.metaKey&&!t.ctrlKey){var l=n.filter(function(e){return e.key===o})[0],c=dk((0,l3.default)((0,l3.default)({},dS(o,e.getTreeNodeRequiredProps())),{},{data:l.data}));e.setExpandedKeys(a?dG(s,o):dZ(s,o)),e.onNodeExpand(t,c)}}),(0,ce.default)((0,l6.A)(e),"onNodeClick",function(t,i){var r=e.props,s=r.onClick;"click"===r.expandAction&&e.triggerExpandActionExpand(t,i),null==s||s(t,i)}),(0,ce.default)((0,l6.A)(e),"onNodeDoubleClick",function(t,i){var r=e.props,s=r.onDoubleClick;"doubleClick"===r.expandAction&&e.triggerExpandActionExpand(t,i),null==s||s(t,i)}),(0,ce.default)((0,l6.A)(e),"onNodeSelect",function(t,i){var r=e.state.selectedKeys,s=e.state,n=s.keyEntities,a=s.fieldNames,o=e.props,l=o.onSelect,c=o.multiple,d=i.selected,u=i[a.key],h=!d,p=(r=h?c?dZ(r,u):[u]:dG(r,u)).map(function(e){var t=dd(n,e);return t?t.node:null}).filter(Boolean);e.setUncontrolledState({selectedKeys:r}),null==l||l(r,{event:"select",selected:h,node:i,selectedNodes:p,nativeEvent:t.nativeEvent})}),(0,ce.default)((0,l6.A)(e),"onNodeCheck",function(t,i,r){var s,n=e.state,a=n.keyEntities,o=n.checkedKeys,l=n.halfCheckedKeys,c=e.props,d=c.checkStrictly,u=c.onCheck,h=i.key,p={event:"check",node:i,checked:r,nativeEvent:t.nativeEvent};if(d){var m=r?dZ(o,h):dG(o,h);s={checked:m,halfChecked:dG(l,h)},p.checkedNodes=m.map(function(e){return dd(a,e)}).filter(Boolean).map(function(e){return e.node}),e.setUncontrolledState({checkedKeys:m})}else{var f=d5([].concat((0,l4.default)(o),[h]),!0,a),g=f.checkedKeys,_=f.halfCheckedKeys;if(!r){var y=new Set(g);y.delete(h);var v=d5(Array.from(y),{checked:!1,halfCheckedKeys:_},a);g=v.checkedKeys,_=v.halfCheckedKeys}s=g,p.checkedNodes=[],p.checkedNodesPositions=[],p.halfCheckedKeys=_,g.forEach(function(e){var t=dd(a,e);if(t){var i=t.node,r=t.pos;p.checkedNodes.push(i),p.checkedNodesPositions.push({node:i,pos:r})}}),e.setUncontrolledState({checkedKeys:g},!1,{halfCheckedKeys:_})}null==u||u(s,p)}),(0,ce.default)((0,l6.A)(e),"onNodeLoad",function(t){var i,r=t.key,s=dd(e.state.keyEntities,r);if(null==s||null==(i=s.children)||!i.length){var n=new Promise(function(i,s){e.setState(function(n){var a=n.loadedKeys,o=void 0===a?[]:a,l=n.loadingKeys,c=void 0===l?[]:l,d=e.props,u=d.loadData,h=d.onLoad;return!u||o.includes(r)||c.includes(r)?null:(u(t).then(function(){var s=dZ(e.state.loadedKeys,r);null==h||h(s,{event:"load",node:t}),e.setUncontrolledState({loadedKeys:s}),e.setState(function(e){return{loadingKeys:dG(e.loadingKeys,r)}}),i()}).catch(function(t){if(e.setState(function(e){return{loadingKeys:dG(e.loadingKeys,r)}}),e.loadingRetryTimes[r]=(e.loadingRetryTimes[r]||0)+1,e.loadingRetryTimes[r]>=d9){var n=e.state.loadedKeys;(0,ch.Ay)(!1,"Retry for `loadData` many times but still failed. No more retry."),e.setUncontrolledState({loadedKeys:dZ(n,r)}),i()}s(t)}),{loadingKeys:dZ(c,r)})})});return n.catch(function(){}),n}}),(0,ce.default)((0,l6.A)(e),"onNodeMouseEnter",function(t,i){var r=e.props.onMouseEnter;null==r||r({event:t,node:i})}),(0,ce.default)((0,l6.A)(e),"onNodeMouseLeave",function(t,i){var r=e.props.onMouseLeave;null==r||r({event:t,node:i})}),(0,ce.default)((0,l6.A)(e),"onNodeContextMenu",function(t,i){var r=e.props.onRightClick;r&&(t.preventDefault(),r({event:t,node:i}))}),(0,ce.default)((0,l6.A)(e),"onFocus",function(){var t=e.props.onFocus;e.setState({focused:!0});for(var i=arguments.length,r=Array(i),s=0;s1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!e.destroyed){var s=!1,n=!0,a={};Object.keys(t).forEach(function(i){if(e.props.hasOwnProperty(i)){n=!1;return}s=!0,a[i]=t[i]}),s&&(!i||n)&&e.setState((0,l3.default)((0,l3.default)({},a),r))}}),(0,ce.default)((0,l6.A)(e),"scrollTo",function(t){e.listRef.current.scrollTo(t)}),e}return(0,l9.default)(i,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var e=this.props,t=e.activeKey,i=e.itemScrollOffset,r=void 0===i?0:i;void 0!==t&&t!==this.state.activeKey&&(this.setState({activeKey:t}),null!==t&&this.scrollTo({key:t,offset:r}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var e,t=this.state,i=t.focused,r=t.flattenNodes,s=t.keyEntities,a=t.draggingNodeKey,o=t.activeKey,l=t.dropLevelOffset,c=t.dropContainerKey,d=t.dropTargetKey,u=t.dropPosition,h=t.dragOverNodeKey,p=t.indent,m=this.props,f=m.prefixCls,g=m.className,_=m.style,y=m.showLine,v=m.focusable,b=m.tabIndex,S=void 0===b?0:b,k=m.selectable,x=m.showIcon,C=m.icon,w=m.switcherIcon,E=m.draggable,T=m.checkable,I=m.checkStrictly,R=m.disabled,N=m.motion,A=m.loadData,M=m.filterTreeNode,P=m.height,j=m.itemHeight,L=m.scrollWidth,D=m.virtual,O=m.titleRender,F=m.dropIndicatorRender,U=m.onContextMenu,V=m.onScroll,B=m.direction,z=m.rootClassName,W=m.rootStyle,H=cu(this.props,{aria:!0,data:!0});E&&(e="object"===(0,l2.default)(E)?E:"function"==typeof E?{nodeDraggable:E}:{});var G={prefixCls:f,selectable:k,showIcon:x,icon:C,switcherIcon:w,draggable:e,draggingNodeKey:a,checkable:T,checkStrictly:I,disabled:R,keyEntities:s,dropLevelOffset:l,dropContainerKey:c,dropTargetKey:d,dropPosition:u,dragOverNodeKey:h,indent:p,direction:B,dropIndicatorRender:F,loadData:A,filterTreeNode:M,titleRender:O,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop};return n.createElement(cp.Provider,{value:G},n.createElement("div",{className:ci()(f,g,z,(0,ce.default)((0,ce.default)((0,ce.default)({},"".concat(f,"-show-line"),y),"".concat(f,"-focused"),i),"".concat(f,"-active-focused"),null!==o)),style:W},n.createElement(dH,(0,l1.A)({ref:this.listRef,prefixCls:f,style:_,data:r,disabled:R,selectable:k,checkable:!!T,motion:N,dragging:null!==a,height:P,itemHeight:j,virtual:D,focusable:v,focused:i,tabIndex:S,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:U,onScroll:V,scrollWidth:L},this.getTreeNodeRequiredProps(),H))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var i,r,s=t.prevProps,n={prevProps:e};function a(t){return!s&&e.hasOwnProperty(t)||s&&s[t]!==e[t]}var o=t.fieldNames;if(a("fieldNames")&&(n.fieldNames=o=dg(e.fieldNames)),a("treeData")?i=e.treeData:a("children")&&((0,ch.Ay)(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),i=d_(e.children)),i){n.treeData=i;var l=db(i,{fieldNames:o});n.keyEntities=(0,l3.default)((0,ce.default)({},dO,dU),l.keyEntities)}var c=n.keyEntities||t.keyEntities;if(a("expandedKeys")||s&&a("autoExpandParent"))n.expandedKeys=e.autoExpandParent||!s&&e.defaultExpandParent?d0(e.expandedKeys,c):e.expandedKeys;else if(!s&&e.defaultExpandAll){var d=(0,l3.default)({},c);delete d[dO];var u=[];Object.keys(d).forEach(function(e){var t=d[e];t.children&&t.children.length&&u.push(t.key)}),n.expandedKeys=u}else!s&&e.defaultExpandedKeys&&(n.expandedKeys=e.autoExpandParent||e.defaultExpandParent?d0(e.defaultExpandedKeys,c):e.defaultExpandedKeys);if(n.expandedKeys||delete n.expandedKeys,i||n.expandedKeys){var h=dy(i||t.treeData,n.expandedKeys||t.expandedKeys,o);n.flattenNodes=h}if(e.selectable&&(a("selectedKeys")?n.selectedKeys=dq(e.selectedKeys,e):!s&&e.defaultSelectedKeys&&(n.selectedKeys=dq(e.defaultSelectedKeys,e))),e.checkable&&(a("checkedKeys")?r=dQ(e.checkedKeys)||{}:!s&&e.defaultCheckedKeys?r=dQ(e.defaultCheckedKeys)||{}:i&&(r=dQ(e.checkedKeys)||{checkedKeys:t.checkedKeys,halfCheckedKeys:t.halfCheckedKeys}),r)){var p=r,m=p.checkedKeys,f=void 0===m?[]:m,g=p.halfCheckedKeys,_=void 0===g?[]:g;if(!e.checkStrictly){var y=d5(f,!0,c);f=y.checkedKeys,_=y.halfCheckedKeys}n.checkedKeys=f,n.halfCheckedKeys=_}return a("loadedKeys")&&(n.loadedKeys=e.loadedKeys),n}}]),i}(n.Component);(0,ce.default)(d6,"defaultProps",{prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:cf,allowDrop:function(){return!0},expandAction:!1}),(0,ce.default)(d6,"TreeNode",dI);let d8=d6;var d7=i(84700),ue=function(){return(ue=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function ui(e,t){var i=(0,n.useContext)(d7.o).prefix,r=e.className,s=void 0===r?"":r,a=e.prefix,o=e.width,l=void 0===o?"1em":o,c=e.height,d=void 0===c?"1em":c,u=e.useCurrentColor,h=void 0!==u&&u,p=e.spin,m=ut(e,["className","prefix","width","height","useCurrentColor","spin"]),f=a||i||"trae",g=p?" ".concat(f,"-icon-loading"):"";return n.default.createElement("svg",ue({className:"".concat(f,"-icon ").concat(f,"-icon-loading_simple").concat(g," ").concat(s),width:l,height:d,viewBox:"0 0 16 17",fill:"none",xmlns:"http://www.w3.org/2000/svg"},m,{ref:t}),n.default.createElement("path",{d:"M12.6624 8.24866C12.6622 5.67382 10.5743 3.58664 7.99939 3.58664C5.42468 3.58684 3.33757 5.67395 3.33738 8.24866C3.33738 10.8235 5.42456 12.9115 7.99939 12.9117V14.2417L7.69178 14.2339C4.62746 14.0788 2.17039 11.6215 2.01514 8.55725L2.00732 8.24866C2.00752 4.93942 4.69015 2.25679 7.99939 2.25659L8.30798 2.2644C11.4742 2.42482 13.9922 5.04267 13.9924 8.24866L13.9846 8.55725C13.8242 11.7235 11.2056 14.2417 7.99939 14.2417V12.9117C10.5744 12.9117 12.6624 10.8237 12.6624 8.24866Z",fill:h?"currentColor":"#E0E2F2",fillOpacity:".12"}),n.default.createElement("path",{d:"M4.56287 13.1587C5.33753 13.7011 6.22957 14.0525 7.16605 14.1841C8.10254 14.3157 9.05687 14.2238 9.95104 13.916C10.8452 13.6081 11.6538 13.0929 12.3107 12.4127C12.9677 11.7324 13.4543 10.9063 13.7308 10.0019C14.0073 9.09757 14.0658 8.1406 13.9016 7.20928C13.7374 6.27796 13.3551 5.39873 12.7859 4.64347C12.2168 3.88821 11.477 3.27837 10.627 2.86381C9.77704 2.44924 8.84101 2.24173 7.89547 2.25824L7.91869 3.58867C8.65428 3.57583 9.38246 3.73727 10.0437 4.05978C10.7049 4.38228 11.2805 4.85671 11.7232 5.44427C12.166 6.03182 12.4634 6.71582 12.5911 7.44035C12.7189 8.16487 12.6734 8.90934 12.4583 9.61289C12.2432 10.3164 11.8646 10.9591 11.3536 11.4883C10.8425 12.0175 10.2134 12.4183 9.51783 12.6578C8.82221 12.8973 8.07978 12.9688 7.35124 12.8664C6.6227 12.764 5.92874 12.4907 5.32609 12.0687L4.56287 13.1587Z",fill:h?"currentColor":"#DADDE5"}))}let ur=n.default.forwardRef(ui);var us=i(43357),un=i(1563);let ua="u">typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);[...Array.from({length:12},(e,t)=>`F${t+13}`)],Array.from({length:12},(e,t)=>`F${t+1}`);let uo=e=>{let t={Backquote:"`",Minus:"-",Equal:"=",BracketLeft:"[",BracketRight:"]",Backslash:"\\",Semicolon:";",Quote:"'",Comma:",",Period:".",Slash:"/"};return/^Key[A-Z]$/.test(e)?e.slice(3).toLowerCase():/^Digit[0-9]$/.test(e)?e.slice(5):/^Numpad[0-9]$/.test(e)?e.slice(6):t[e]},ul={COPY:{key:"c",ctrl:!ua,meta:ua},CUT:{key:"x",ctrl:!ua,meta:ua},PASTE:{key:"v",ctrl:!ua,meta:ua},DELETE:{key:"Backspace"},RENAME:{key:"Enter"}},uc=e=>!!(e.ctrl||e.meta||e.shift||e.alt),ud=e=>{let t=[];e.ctrl&&t.push(ua?"\u2303":"Ctrl"),e.meta&&t.push(ua?"\u2318":"Win"),e.alt&&t.push(ua?"\u2325":"Alt"),e.shift&&t.push(ua?"\u21E7":"Shift");let i=uc(e)&&e.code?uo(e.code)??e.key:e.key;return t.push(1===i.length?i.toUpperCase():"Backspace"===i?ua?"\u232B":"Del":"Enter"===i?ua?"\u21B5":"Enter":"Escape"===i?"Esc":i),ua?t.join(" "):t.join("+")},uu=(e,t)=>{let i=t.ctrl?e.ctrlKey:!e.ctrlKey,r=t.meta?e.metaKey:!e.metaKey,s=t.shift?e.shiftKey:!e.shiftKey,n=t.alt?e.altKey:!e.altKey,a=e.key.toLowerCase()===t.key.toLowerCase(),o=!!(t.code&&e.code&&e.code===t.code);return i&&r&&s&&n&&(a||o)},uh="fileTreeMenu-dCdUhj",up="fileTreeMenuGroup-YbAVJ0",um="fileTreeMenuDivider-yypusY",uf="fileTreeMenuDividerLine-vSs6o_",ug="fileTreeMenuItem-CnNBzg",u_="fileTreeMenuItemDisabled-SQGaeX",uy="fileTreeMenuItemLabel-PQwTPW",uv="fileTreeMenuItemShortcut-T8tcdC",ub="renameInput-h99zFR";var uS=i(7697),uk=function(e){return e.OPEN_IN_PREVIEW="OPEN_IN_PREVIEW",e.REVEAL_IN_FINDER="REVEAL_IN_FINDER",e.ADD_TO_CHAT="ADD_TO_CHAT",e.COPY_PATH="COPY_PATH",e.COPY_RELATIVE_PATH="COPY_RELATIVE_PATH",e.NEW_FILE="NEW_FILE",e.NEW_FOLDER="NEW_FOLDER",e.COPY="COPY",e.CUT="CUT",e.PASTE="PASTE",e.RENAME="RENAME",e.RENAME_CANCEL="RENAME_CANCEL",e.DELETE="DELETE",e}({});let ux=async e=>{try{return await navigator.clipboard.writeText(e),d.oR.success(l0().localize("ondemand.common.copiedToClipboard",{},"Copied to clipboard")),!0}catch{return!1}},uC=(e,t)=>{if(!t)return e;if(e.startsWith(t)){let i=e.slice(t.length);return i.startsWith("/")?i.slice(1):i}return e},uw=(0,n.memo)(function({visible:e,position:t,node:i,menuConfig:r,rootPath:o,onAction:l,onClose:c,isEmptyArea:d=!1,clipboard:u,onClipboardChange:h,onDispatchReady:p}){let m=(0,n.useRef)(null),[f,g]=(0,n.useState)(t),[_,y]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(!e)return void y(!1);let t=e=>{m.current&&!m.current.contains(e.target)&&c()},i=e=>{"Escape"===e.key&&c()};return document.addEventListener("mousedown",t,!0),document.addEventListener("keydown",i),()=>{document.removeEventListener("mousedown",t,!0),document.removeEventListener("keydown",i)}},[e,c]),(0,n.useEffect)(()=>{if(!e||!m.current)return;let i=m.current.getBoundingClientRect(),r=window.innerWidth,s=window.innerHeight,n=t.x,a=t.y;n+i.width>r&&(n=r-i.width-8),a+i.height>s&&(a=s-i.height-8),g({x:n,y:a}),y(!0)},[e,t]);let v=(0,n.useCallback)(e=>!!e.disabled||"PASTE"===e.action&&!u||!!d&&!e.enabledOnEmpty&&!["NEW_FILE","NEW_FOLDER","PASTE"].includes(e.action),[d,u]),b=(0,n.useCallback)((e,t)=>{if("COPY_PATH"===e){ux(t.path),l({action:e,node:t});return}if("COPY_RELATIVE_PATH"===e){ux(uC(t.path,o)),l({action:e,node:t});return}if("COPY"===e)return void h?.({path:t.path,name:t.title,type:"copy"});if("CUT"===e)return void h?.({path:t.path,name:t.title,type:"cut"});if("PASTE"===e){u&&(l({action:e,node:t,clipboard:u}),"cut"===u.type&&h?.(null));return}l({action:e,node:t})},[o,l,u,h]);(0,n.useEffect)(()=>{p?.(b)},[b,p]);let S=(0,n.useCallback)(e=>{!v(e)&&i&&(b(e.action,i),"RENAME"!==e.action&&c())},[i,c,v,b]);if(!e||!i)return null;let k=r.map(e=>e.filter(e=>!e.hidden)).filter(e=>e.length>0);if(0===k.length)return null;let x=(0,s.jsx)("div",{ref:m,className:uh,style:{position:"fixed",left:f.x,top:f.y,zIndex:(0,uS.fl)("--z-dropdown"),visibility:_?"visible":"hidden"},children:k.map((e,t)=>(0,s.jsxs)("div",{className:up,children:[t>0&&(0,s.jsx)("div",{className:um,children:(0,s.jsx)("div",{className:uf})}),e.map(e=>{let t=v(e),i=!1!==e.shortcut?e.shortcut||ul[e.action]:void 0;return(0,s.jsxs)("div",{className:`${ug} ${t?u_:""}`,onClick:()=>S(e),children:[(0,s.jsx)("span",{className:uy,children:e.label}),i&&(0,s.jsx)("span",{className:uv,children:ud(i)})]},e.action)})]},t))});return(0,a.createPortal)(x,document.body)}),uE=(0,n.memo)(function({defaultValue:e,onConfirm:t,onCancel:i}){let r=(0,n.useRef)(null),[a,o]=(0,n.useState)(e),l=(0,n.useRef)(!1);(0,n.useEffect)(()=>{if(r.current){r.current.focus();let t=e.lastIndexOf(".");t>0?r.current.setSelectionRange(0,t):r.current.select()}},[e]);let c=(0,n.useCallback)(()=>{let r=a.trim();r&&r!==e?t(r):i()},[a,e,t,i]),d=(0,n.useCallback)(e=>{"Enter"!==e.key||l.current?"Escape"===e.key&&(e.preventDefault(),i()):(e.preventDefault(),c())},[c,i]),u=(0,n.useCallback)(()=>{c()},[c]),h=(0,n.useCallback)(()=>{l.current=!0},[]),p=(0,n.useCallback)(()=>{l.current=!1},[]);return(0,s.jsx)("input",{ref:r,type:"text",className:ub,value:a,onChange:e=>o(e.target.value),onKeyDown:d,onBlur:u,onCompositionStart:h,onCompositionEnd:p,onClick:e=>e.stopPropagation()})});var uT=function(e){return e.File="file",e.Directory="directory",e}({});let uI="application/x-trae-file",uR="container-aqKTmW",uN="searchWrapper-XnDv2A",uA="treeWrapperCommon-sR9ntV",uM="treeWrapper-RegTwS",uP="treeWrapperSimpleBar-xqejU1",uj="cutNode-Dkba1t",uL="loadingIcon-g2m5q1",uD="emptyState-q0yeg6",uO="uploadingNode-U1LNSo",uF="titleWrapper-RtX0hU",uU="uploadingTitle-HVQdpc",uV="uploadingSpinner-MhSW49",uB=(e,t)=>{for(let i of e){if(i.key===t)return i;if(i.children){let e=uB(i.children,t);if(e)return e}}},uz=(e,t)=>{for(let i of e){if(i.path===t)return i;if(i.children){let e=uz(i.children,t);if(e)return e}}},uW=(e,t,i)=>e.map(e=>e.key===t?{...e,children:i}:e.children?{...e,children:uW(e.children,t,i)}:e),uH=async(e,t,i,r,s)=>{let n;if(i>=t.length)return{nodes:e,keys:r};let a=t[i],o=t[i+1],l=i===t.length-1,c=r;return{nodes:await Promise.all(e.map(async e=>{if(e.title===a){if(e.type===uT.Directory){let a=e.children||[];if(a.some(e=>e.title===o)||(a=(await s(e.key,e)).map(e=>a.find(t=>t.key===e.key)||e)),l)return c=[...r,e.key],{...e,children:a};{let o=await uH(a,t,i+1,[...r,e.key],s);return c=o.keys,n=o.targetKey,{...e,children:o.nodes}}}l&&(n=e.key)}return e})),keys:c,targetKey:n}},uG="__creating__",uZ=(e,t,i)=>{let r=i?.has(e.key);return e.type===uT.Directory?(0,n.createElement)(un.Ay,{type:t?"folder.open":"folder.closed",isDirectory:!0,size:"large",className:r?"uploading-icon":void 0}):(0,n.createElement)(un.Ay,{filename:e.title,size:"default",className:r?"uploading-icon":void 0})},uK=(e,t,i)=>{let{creatingParentKey:r,creatingType:s,loadingKeySet:a}=i||{},o=e.map(e=>{let o,l=t.includes(e.key),c=uZ(e,l,a);return e.children&&(o=uK(e.children,t,i)),r===e.key&&s&&(o=[{key:uG,title:"",icon:(0,n.createElement)(un.Ay,{type:"folder"===s?"folder.closed":void 0,filename:"file"===s?"untitled":void 0,isDirectory:"folder"===s,size:"large"}),isLeaf:!0},...o||[]]),{key:e.key,title:e.title,icon:c,isLeaf:e.isLeaf,children:o}});if(""===r&&s){let e={key:uG,title:"",icon:(0,n.createElement)(un.Ay,{type:"folder"===s?"folder.closed":void 0,filename:"file"===s?"untitled":void 0,isDirectory:"folder"===s,size:"large"}),isLeaf:!0,children:void 0};o.unshift(e)}return o};var uX=i(7217),uY=i(50583);let uJ=(e,t)=>{if(!t)return;let i=e.toLowerCase(),r=t.toLowerCase(),s=[],n=0;for(;n0?s:void 0},u$=(e,t,i,r)=>{for(let s of e){if(i.length>=r)return;let e=uJ(s.name,t);e&&i.push({...s,matchIndices:e,children:void 0}),s.children&&s.children.length>0&&u$(s.children,t,i,r)}},uq=(e,t,i=50)=>{if(!t||!t.trim())return[];let r=t.trim(),s=[];return u$(e,r,s,i),s},uQ="container-RMfmAg",u0="searchBox-XSfHZL",u1="searchIcon-XC_Qqc",u2="searchInput-tQ0H5S",u3="clearButton-Kpj7ZN",u4="resultList-xdjrNd",u5="resultItem-cHm50F",u9="active-Gl220D",u6="resultIcon-tbLOWW",u8="resultContent-EbnHDd",u7="resultName-GjtY6C",he="resultPath-slQRFk",ht="highlight-VMfiR_",hi="emptyState-ujkCCe",hr=50,hs=300,hn=(0,n.memo)(({text:e,matchIndices:t})=>{if(!t||0===t.length)return(0,s.jsx)(s.Fragment,{children:e});let i=[],r=0;return t.forEach(([t,n],a)=>{t>r&&i.push((0,s.jsx)("span",{children:e.slice(r,t)},`text-${a}`)),i.push((0,s.jsx)("span",{className:ht,children:e.slice(t,n)},`highlight-${a}`)),r=n}),r{let c=lQ(),d=t??c.localize("ondemand.fileSearch.placeholder",{},"Search files..."),[u,h]=(0,n.useState)(""),[p,m]=(0,n.useState)(-1),f=(0,n.useRef)(null),g=(0,n.useRef)(),[_,y]=(0,n.useState)(""),v=(0,n.useMemo)(()=>uq(e,_,i),[e,_,i]),b=(0,n.useCallback)(e=>{let t=e.target.value;h(t),m(-1),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{y(t)},r)},[r]),S=(0,n.useCallback)(()=>{h(""),y(""),m(-1),f.current?.focus()},[]),k=(0,n.useCallback)(e=>{a?.(e),S()},[a,S]),x=(0,n.useCallback)(e=>{if(0!==v.length)switch(e.key){case"ArrowDown":e.preventDefault(),m(e=>ee>0?e-1:v.length-1);break;case"Enter":e.preventDefault(),p>=0&&p()=>{g.current&&clearTimeout(g.current)},[]);let C=_.trim().length>0;return(0,s.jsxs)("div",{className:`${uQ} ${l||""}`,children:[(0,s.jsxs)("div",{className:u0,children:[(0,s.jsx)(uX.A,{className:u1}),(0,s.jsx)("input",{ref:f,type:"text",className:u2,placeholder:d,value:u,onChange:b,onKeyDown:x}),u&&(0,s.jsx)("button",{type:"button",className:u3,onClick:S,children:(0,s.jsx)(uY.A,{style:{fontSize:10}})})]}),C&&(0,s.jsx)("div",{className:u4,children:0===v.length?(0,s.jsx)("div",{className:hi,children:c.localize("ondemand.fileSearch.noResults",{},"No matching files found")}):v.map((e,t)=>(0,s.jsxs)("div",{className:`${u5} ${t===p?u9:""}`,onClick:()=>k(e),children:[o&&(0,s.jsx)("div",{className:u6,children:o(e)}),(0,s.jsxs)("div",{className:u8,children:[(0,s.jsx)("div",{className:u7,children:(0,s.jsx)(hn,{text:e.name,matchIndices:e.matchIndices})}),(0,s.jsx)("div",{className:he,children:e.path})]})]},e.key))})]})},ho=({treeData:e,selectedKeys:t,expandedKeys:i,onSelect:r,onExpand:s,onLoadChildren:a,onFileSelect:o,onDidUserOpenFile:l,onFolderSelect:c,rootPath:d="/"})=>{let[u,h]=(0,n.useState)([]),[p,m]=(0,n.useState)([]),[f,g]=(0,n.useState)(new Set),[_,y]=(0,n.useState)(e),v=void 0!==t,b=void 0!==i,S=v?t:u,k=b?i:p;(0,n.useEffect)(()=>{y(e)},[e]);let x=(0,n.useCallback)(e=>{let t=uB(_,e);if(!t)return;let i=[e];if(v||h(i),r?.(i,t),t.type===uT.Directory){let i=k.includes(e)?k.filter(t=>t!==e):[...k,e];b||m(i),s?.(i),c?.(t.path)}else o?.(t.path),l?.(t.path)},[_,k,b,v,s,r,o,l,c]),C=(0,n.useCallback)(e=>{b||m(e),s?.(e)},[b,s]),w=(0,n.useCallback)(async e=>{let t=uB(_,e);if(t&&t.type===uT.Directory&&(!t.children||!(t.children.length>0))&&a){g(t=>new Set(t).add(e));try{let i=await a(e,t);i&&y(t=>uW(t,e,i))}finally{g(t=>{let i=new Set(t);return i.delete(e),i})}}},[_,a]),E=(0,n.useCallback)(()=>{b||m([]),s?.([])},[b,s]),T=(0,n.useCallback)(e=>{b||m(e),s?.(e)},[b,s]),I=(0,n.useCallback)((e,t,i)=>{let n=[e];if(v||h(n),r?.(n,uB(_,e)),"file"===t)o?.(i),l?.(i);else{let t=k.includes(e)?k:[...k,e];b||m(t),s?.(t),c?.(i)}},[_,k,v,b,r,s,o,l,c]),R=(0,n.useCallback)(async e=>{if(!a)return;let t=e;"/"!==d&&e.startsWith(d)&&(t=e.substring(d.length));let i=t.split("/").filter(Boolean),n=await uH(_,i,0,[],async(e,t)=>await a(e,t)||[]);y(n.nodes);let l=Array.from(new Set([...k,...n.keys]));if(b||m(l),s?.(l),n.targetKey){let t=[n.targetKey];v||h(t),r?.(t,uB(n.nodes,n.targetKey)),o?.(e)}return n},[_,k,b,v,a,s,r,o,d]);return{currentTreeData:_,selectedKeys:S,expandedKeys:k,folderLoadingKeysSet:f,handleNodeSelect:x,handleExpand:C,handleLoadData:w,collapseAll:E,expandAll:T,handleSearchSelect:I,focusPath:R}},hl=e=>e.map(e=>({key:e.key,name:e.title,path:e.path,type:e.type===uT.Directory?"directory":"file",children:e.children?hl(e.children):void 0})),hc=e=>(0,n.useMemo)(()=>hl(e),[e]);var hd=i(81365),hu=i(98757),hh=i(79342),hp=i(16349);let hm=(e,t=!1,i)=>{let r=(0,hh.t)(e,t),n=hp.t[r];return(0,s.jsx)(n,{})},hf="flatContainer-zJ5vNv",hg="breadcrumb-yHAaFc",h_="breadcrumbItem-ijG0Pz",hy="breadcrumbItemEllipsis-T4uFB2",hv="breadcrumbSeparator-ReohqI",hb="breadcrumbText-UAwc9x",hS="breadcrumbTextDropTarget-LuYEuE",hk="breadcrumbTextActive-ldGQAu",hx="breadcrumbEllipsis-g4dd6P",hC="listContainer-S3FdML",hw="listItem-XZU5IE",hE="listItemSelected-yP6H_X",hT="listItemLoading-vKPAaQ",hI="listItemCut-JcVucA",hR="listItemDropTarget-M_A4n5",hN="listItemIcon-dos8z8",hA="listItemContent-lCbuRN",hM="listItemName-wElEr7",hP="emptyState-agXDNv",hj="listItemIconUploading-lP8_xO",hL="listItemNameUploading-v1T43V",hD="uploadingSpinner-aFWDqU",hO=({menuConfig:e,treeData:t,itemSelector:i,getCurrentParentKey:r,rootPath:s="/"})=>{let[a,o]=(0,n.useState)(!1),[l,c]=(0,n.useState)({x:0,y:0}),[d,u]=(0,n.useState)(null),[h,p]=(0,n.useState)(!1),m=(0,n.useCallback)((t,i)=>{e&&0!==e.length&&(t.preventDefault(),t.stopPropagation(),c({x:t.clientX,y:t.clientY}),u(i),o(!0),p(!1))},[e]),f=(0,n.useCallback)((i,r)=>{if(!e||0===e.length)return;i.preventDefault(),i.stopPropagation();let s=uB(t,r);s&&(c({x:i.clientX,y:i.clientY}),u(s),o(!0),p(!1))},[e,t]);return{menuVisible:a,menuPosition:l,menuNode:d,isEmptyAreaMenu:h,handleContextMenu:m,handleContextMenuByKey:f,handleEmptyAreaContextMenu:(0,n.useCallback)(t=>{if(!e||0===e.length||t.target.closest(i))return;t.preventDefault(),t.stopPropagation();let n=r?.()||"",a=n?`/${n}`:s,l={key:n,title:"",type:uT.Directory,path:a};c({x:t.clientX,y:t.clientY}),u(l),o(!0),p(!0)},[e,i,r,s]),handleMenuClose:(0,n.useCallback)(()=>{o(!1),p(!1)},[]),setMenuVisible:o,setMenuNode:u}},hF=(e="/")=>({key:"",title:"",path:e,type:uT.Directory}),hU=(e,t)=>"/"===t?`/${e}`:`${t}/${e}`,hV=(e,t)=>!(e.key===t.key||"/"!==e.path&&t.path.startsWith(e.path+"/"))&&hB(e.path)!==t.path,hB=e=>e.split("/").slice(0,-1).join("/")||"/",hz=({treeData:e,onMove:t,getCurrentDirectory:i,rootPath:r="/"})=>{let[s,a]=(0,n.useState)(null),o=(0,n.useRef)(null),l=(0,n.useCallback)(e=>{o.current=e},[]),c=(0,n.useCallback)(e=>{t&&o.current&&e.type===uT.Directory&&e.key!==o.current.key&&a(e.key)},[t]),d=(0,n.useCallback)(()=>{a(null)},[]),u=(0,n.useCallback)(()=>{o.current=null,a(null)},[]),h=(0,n.useCallback)((i,s=!1,n)=>{let l;if(!t||!o.current)return;let c=o.current;if(!hV(c,l=(i.type!==uT.Directory||void 0===n||n.includes(i.key))&&(s||i.type!==uT.Directory)?uz(e,hB(i.path))||hF(r):i)){o.current=null,a(null);return}let d=hU(c.title,l.path);t({source:c,targetDir:l,sourcePath:c.path,targetPath:d}),o.current=null,a(null)},[t,e,r]),p=(0,n.useCallback)(()=>{if(!t||!o.current)return;let s=o.current,n=i?.()||"",l=(n?uB(e,n):null)||hF(r);if(hB(s.path)===l.path){o.current=null;return}if(!hV(s,l)){o.current=null,a(null);return}let c=hU(s.title,l.path);t({source:s,targetDir:l,sourcePath:s.path,targetPath:c}),o.current=null,a(null)},[t,e,i,r]);return{dropTargetKey:s,dragNodeRef:o,handleDragStart:l,handleDragEnter:c,handleDragLeave:d,handleDragEnd:u,handleDrop:h,handleContainerDrop:p}},hW=(e,t,i="/")=>{let r=""===e?i:e.startsWith("/")?e:`/${e}`;return"/"===r?`/${t}`:`${r}/${t}`},hH=e=>e.type===uT.Directory?e.key:e.path.split("/").slice(0,-1).join("/").slice(1)||"",hG=({treeData:e,selectedKeys:t,expandedKeys:i,onExpand:r,onMenuAction:s,setMenuVisible:a,setMenuNode:o,getCurrentParentKey:l,rootPath:c="/"})=>{let[d,u]=(0,n.useState)(null),[h,p]=(0,n.useState)(null),[m,f]=(0,n.useState)(null),[g,_]=(0,n.useState)(null),y=(0,n.useRef)(null),v=(0,n.useRef)(null),b=(0,n.useCallback)(async e=>{if(e.action===uk.RENAME){u(e.node.key),p(e.node),a(!1),o(e.node);return}if(e.action===uk.NEW_FILE||e.action===uk.NEW_FOLDER){let t=l?.()??hH(e.node);f(e.action===uk.NEW_FILE?"file":"folder"),_(t),o(e.node),a(!1),e.node.type!==uT.Directory||i.includes(e.node.key)||r([...i,e.node.key]);return}a(!1),await s?.(e)},[s,i,r,a,o,l]),S=(0,n.useCallback)(async e=>{d&&h&&await s?.({action:uk.RENAME,node:h,newName:e}),u(null),p(null)},[d,h,s]),k=(0,n.useCallback)(()=>{u(null),p(null)},[]),x=(0,n.useCallback)(async e=>{if(m&&null!==g){let t=hW(g,e,c),i=""===g?c:`/${g}`,r="file"===m?uk.NEW_FILE:uk.NEW_FOLDER;v.current?.onConfirm?v.current.onConfirm(e,t):await s?.({action:r,node:{key:g,title:"",type:uT.Directory,path:i},newName:t})}f(null),_(null),v.current=null},[m,g,s,c]),C=(0,n.useCallback)(()=>{v.current?.onCancel?.(),f(null),_(null),v.current=null},[]),w=(0,n.useCallback)((e,t,s)=>{v.current=s??null,f(e),_(t),i.includes(t)||""===t||r([...i,t])},[i,r]),E=(0,n.useCallback)(e=>{y.current=e},[]),T=(0,n.useCallback)(i=>{if(!i)return;let r=i=>{if(d||m)return;let r=t[0];if(!r)return;let s=uB(e,r);if(s){for(let[e,t]of Object.entries(ul))if(uu(i,t)){i.preventDefault(),i.stopPropagation(),"RENAME"===e?(u(s.key),p(s),o(s)):y.current?.(e,s);break}}};return i.addEventListener("keydown",r),()=>i.removeEventListener("keydown",r)},[e,t,d,m,o]);return{renamingKey:d,renamingNode:h,creatingType:m,creatingParentKey:g,dispatchActionRef:y,handleMenuAction:b,handleRenameConfirm:S,handleRenameCancel:k,handleCreateConfirm:x,handleCreateCancel:C,handleDispatchReady:E,setupKeyboardShortcuts:T,startCreating:w}},hZ=3,hK=(e,t,i="/")=>{let r=[{name:"/"===i?"/":i.split("/").filter(Boolean).pop()||"/",key:""}];if(!t)return r;let s=(e,t,i)=>{for(let r of e){if(r.key===t)return[...i,{name:r.title,key:r.key}];if(r.children){let e=s(r.children,t,[...i,{name:r.title,key:r.key}]);if(e)return e}}return null},n=s(e,t,[]);if(n){let e=[{name:"/",key:""},...n];if(e.length<=hZ)return e;let t=e[0],i=e.slice(-2);return[t,{name:"...",key:"__ellipsis__",isEllipsis:!0,ellipsisNames:e.slice(1,-2).map(e=>e.name)},...i]}return r},hX=(0,n.forwardRef)(({treeData:e,loadingKeys:t=[],selectedKeys:i,expandedKeys:r,currentDirectory:a,onDirectoryChange:o,onSelect:l,onExpand:c,onFileSelect:d,onDidUserOpenFile:h,onFolderSelect:p,onLoadChildren:m,emptyText:f,menuConfig:g,rootPath:_,onMenuAction:y,draggable:v=!0,onDragStart:b,onMove:S,theme:k},x)=>{let C=lQ(),{theme:w}=(0,hu.DP)(),E=f??C.localize("ondemand.fileTree.empty",{},"No files"),T=k??("dark"===w?"dark":"light"),[I,R]=(0,n.useState)(new Set),[N,A]=(0,n.useState)(null),M=void 0!==a?a||void 0:r.length>0?r[r.length-1]:void 0,P=(0,n.useCallback)(()=>M||"",[M]),{dropTargetKey:j,dragNodeRef:L,handleDragStart:D,handleDragEnter:O,handleDragLeave:F,handleDragEnd:U,handleDrop:V,handleContainerDrop:B}=hz({treeData:e,onMove:S,getCurrentDirectory:P,rootPath:_}),[z,W]=(0,n.useState)(null),H=(0,n.useMemo)(()=>new Set(t.map(e=>String(e))),[t]),{menuVisible:G,menuPosition:Z,menuNode:K,isEmptyAreaMenu:X,handleContextMenu:Y,handleEmptyAreaContextMenu:J,handleMenuClose:$,setMenuVisible:q,setMenuNode:Q}=hO({menuConfig:g,treeData:e,itemSelector:`.${hw}`,getCurrentParentKey:P}),{renamingKey:ee,creatingType:et,dispatchActionRef:ei,handleMenuAction:er,handleRenameConfirm:es,handleRenameCancel:en,handleCreateConfirm:ea,handleCreateCancel:eo,handleDispatchReady:el,setupKeyboardShortcuts:ec,startCreating:ed}=hG({treeData:e,selectedKeys:i,expandedKeys:r,onExpand:c,onMenuAction:y,setMenuVisible:q,setMenuNode:Q,getCurrentParentKey:P,rootPath:_});(0,n.useImperativeHandle)(x,()=>({startCreating:(e,t)=>{ed(e,P(),t)}}),[ed,P]);let eu=(0,n.useMemo)(()=>hK(e,M,_),[e,M,_]),eh=(0,n.useMemo)(()=>{if(!M)return e;let t=uB(e,M);return t&&t.type===uT.Directory&&t.children||[]},[e,M]),ep=(0,n.useCallback)(t=>{if(t){o?.(t);let i=eu.findIndex(e=>e.key===t);c(eu.slice(1,i+1).map(e=>e.key));let r=uB(e,t);l([t],r),r&&p?.(r.path)}else o?.(""),c([]),l([],void 0)},[eu,e,c,l,p,o]),em=(0,n.useCallback)(async e=>{if(ee!==e.key&&!H.has(e.key))if(e.type===uT.Directory){if(m&&(!e.children||0===e.children.length)){R(t=>new Set(t).add(e.key));try{await m(e.key,e)}finally{R(t=>{let i=new Set(t);return i.delete(e.key),i})}}o?.(e.key),c([...r,e.key]),l([e.key],e),p?.(e.path)}else l([e.key],e),d?.(e.path),h?.(e.path)},[r,c,l,d,h,p,m,ee,o,H]),ef=(0,n.useCallback)(e=>I.has(e.key)||H.has(e.key),[I,H]),eg=(0,n.useCallback)(e=>I.has(e.key),[I]),e_=(0,n.useCallback)(e=>H.has(e.key),[H]),ey=(0,n.useCallback)((e,t)=>{ef(t)?e.preventDefault():(D(t),b?.(e,t))},[b,D,ef]),ev=(0,n.useCallback)((e,t)=>{S&&t.type===uT.Directory&&(e.preventDefault(),O(t))},[S,O]),eb=(0,n.useCallback)((e,t)=>{e.preventDefault(),V(t)},[V]),eS=(0,n.useCallback)(e=>{e.preventDefault(),B()},[B]),ek=(0,n.useCallback)((e,t)=>{S&&L.current&&(e.preventDefault(),W(t))},[S,L]),ex=(0,n.useCallback)(()=>{W(null)},[]),eC=(0,n.useCallback)((t,i)=>{t.preventDefault(),W(null);let r=i?uB(e,i):null,s={key:"",title:"/",path:_||"/",type:uT.Directory};V(r||s)},[e,V,_]),ew=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(g)return ec(ew.current)},[g,ec]),(0,s.jsxs)("div",{ref:ew,tabIndex:0,className:hf,children:[eu.length>1&&(0,s.jsx)("div",{className:hg,onDragLeave:S?ex:void 0,children:eu.map((e,t)=>{let i=z===e.key,r=t===eu.length-1;return(0,s.jsxs)("span",{className:`${h_} ${e.isEllipsis?hy:""}`,children:[t>0&&(0,s.jsx)(hd.A,{className:hv}),e.isEllipsis?(0,s.jsx)(u.A,{content:e.ellipsisNames?.join(" / ")||e.name,side:"top",delayDuration:300,mode:"mini",children:(0,s.jsx)("span",{className:hx,children:e.name})}):(0,s.jsx)(u.A,{content:e.name,side:"top",delayDuration:300,mode:"mini",children:(0,s.jsx)("span",{className:`${hb} ${r?hk:""} ${i&&!r?hS:""}`,onClick:()=>ep(e.key),onDragOver:S&&!r?t=>ek(t,e.key):void 0,onDrop:S&&!r?t=>eC(t,e.key):void 0,children:e.name})})]},e.key||"root")})}),(0,s.jsxs)("div",{className:hC,onContextMenu:g?J:void 0,onDragOver:S?e=>e.preventDefault():void 0,onDrop:S?eS:void 0,children:[et&&(0,s.jsxs)("div",{className:hw,children:[(0,s.jsx)("div",{className:hN,children:hm("untitled","folder"===et,T)}),(0,s.jsx)("div",{className:hA,children:(0,s.jsx)(uE,{defaultValue:"",onConfirm:ea,onCancel:eo})})]}),0!==eh.length||et?eh.map(e=>{let t=N?.type==="cut"&&N?.path===e.path,r=j===e.key,n=ef(e),a=e_(e);return(0,s.jsxs)("div",{className:`${hw} ${i.includes(e.key)?hE:""} ${eg(e)?hT:""} ${t?hI:""} ${r?hR:""}`,onClick:()=>em(e),onContextMenu:n?void 0:t=>Y(t,e),draggable:v,onDragStart:v?t=>ey(t,e):void 0,onDragOver:S?t=>ev(t,e):void 0,onDragLeave:S?F:void 0,onDrop:S?t=>eb(t,e):void 0,onDragEnd:U,children:[(0,s.jsx)("div",{className:`${hN} ${a?hj:""}`,children:hm(e.title,e.type===uT.Directory,T)}),(0,s.jsx)("div",{className:hA,children:ee===e.key?(0,s.jsx)(uE,{defaultValue:e.title,onConfirm:es,onCancel:en}):(0,s.jsx)(u.A,{content:e.title,side:"right",delayDuration:300,mode:"normal",children:(0,s.jsx)("div",{className:`${hM} ${a?hL:""}`,children:e.title})})}),a&&(0,s.jsx)(ur,{className:hD})]},e.key)}):(0,s.jsx)("div",{className:hP,children:E})]}),g&&(0,s.jsx)(uw,{visible:G,position:Z,node:K,menuConfig:g,rootPath:_,onAction:er,onClose:$,isEmptyArea:X,clipboard:N,onClipboardChange:A,onDispatchReady:el})]})});hX.displayName="FlatFileList";let hY=(0,n.memo)(hX);var hJ=i(85442),h$=i(78581),hq=function(){return(hq=Object.assign||function(e){for(var t,i=1,r=arguments.length;itypeof window&&window.document&&window.document.createElement),h9=Object.freeze({__proto__:null,addClasses:h2,canUseDOM:h5,classNamesToQuery:h4,getElementDocument:h0,getElementWindow:hQ,getOptions:h1,removeClasses:h3}),h6=null,h8=null;function h7(){if(null===h6){if("u"
';var i=t.firstElementChild,r=null==i?void 0:i.firstElementChild;if(!r)return null;document.body.appendChild(i),i.scrollLeft=0;var s=e.getOffset(i),n=e.getOffset(r);i.scrollLeft=-999;var a=e.getOffset(r);return document.body.removeChild(i),e.rtlHelpers={isScrollOriginAtZero:s.left!==n.left,isScrollingToNegative:n.left!==a.left},e.rtlHelpers},e.prototype.getScrollbarWidth=function(){try{if(this.contentWrapperEl&&"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style)return 0;return h7()}catch(e){return h7()}},e.getOffset=function(e){var t=e.getBoundingClientRect(),i=pt(e),r=pe(e);return{top:t.top+(r.pageYOffset||i.documentElement.scrollTop),left:t.left+(r.pageXOffset||i.documentElement.scrollLeft)}},e.prototype.init=function(){h5&&(this.initDOM(),this.rtlHelpers=e.getRtlHelpers(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.prototype.initDOM=function(){var e,t;this.wrapperEl=this.el.querySelector(pn(this.classNames.wrapper)),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector(pn(this.classNames.contentWrapper)),this.contentEl=this.options.contentNode||this.el.querySelector(pn(this.classNames.contentEl)),this.offsetEl=this.el.querySelector(pn(this.classNames.offset)),this.maskEl=this.el.querySelector(pn(this.classNames.mask)),this.placeholderEl=this.findChild(this.wrapperEl,pn(this.classNames.placeholder)),this.heightAutoObserverWrapperEl=this.el.querySelector(pn(this.classNames.heightAutoObserverWrapperEl)),this.heightAutoObserverEl=this.el.querySelector(pn(this.classNames.heightAutoObserverEl)),this.axis.x.track.el=this.findChild(this.el,"".concat(pn(this.classNames.track)).concat(pn(this.classNames.horizontal))),this.axis.y.track.el=this.findChild(this.el,"".concat(pn(this.classNames.track)).concat(pn(this.classNames.vertical))),this.axis.x.scrollbar.el=(null==(e=this.axis.x.track.el)?void 0:e.querySelector(pn(this.classNames.scrollbar)))||null,this.axis.y.scrollbar.el=(null==(t=this.axis.y.track.el)?void 0:t.querySelector(pn(this.classNames.scrollbar)))||null,this.options.autoHide||(pr(this.axis.x.scrollbar.el,this.classNames.visible),pr(this.axis.y.scrollbar.el,this.classNames.visible))},e.prototype.initListeners=function(){var e,t=this,i=pe(this.el);if(this.el.addEventListener("mouseenter",this.onMouseEnter),this.el.addEventListener("pointerdown",this.onPointerEvent,!0),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),null==(e=this.contentWrapperEl)||e.addEventListener("scroll",this.onScroll),i.addEventListener("resize",this.onWindowResize),this.contentEl){if(window.ResizeObserver){var r=!1,s=i.ResizeObserver||ResizeObserver;this.resizeObserver=new s(function(){r&&i.requestAnimationFrame(function(){t.recalculate()})}),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),i.requestAnimationFrame(function(){r=!0})}this.mutationObserver=new i.MutationObserver(function(){i.requestAnimationFrame(function(){t.recalculate()})}),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})}},e.prototype.recalculate=function(){if(this.heightAutoObserverEl&&this.contentEl&&this.contentWrapperEl&&this.wrapperEl&&this.placeholderEl){var e=pe(this.el);this.elStyles=e.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var t=this.contentEl.offsetWidth,i=this.heightAutoObserverEl.offsetHeight<=1,r=this.heightAutoObserverEl.offsetWidth<=1||t>0,s=this.contentWrapperEl.offsetWidth,n=this.elStyles.overflowX,a=this.elStyles.overflowY;this.contentEl.style.padding="".concat(this.elStyles.paddingTop," ").concat(this.elStyles.paddingRight," ").concat(this.elStyles.paddingBottom," ").concat(this.elStyles.paddingLeft),this.wrapperEl.style.margin="-".concat(this.elStyles.paddingTop," -").concat(this.elStyles.paddingRight," -").concat(this.elStyles.paddingBottom," -").concat(this.elStyles.paddingLeft);var o=this.contentEl.scrollHeight,l=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=i?"auto":"100%",this.placeholderEl.style.width=r?"".concat(t||l,"px"):"auto",this.placeholderEl.style.height="".concat(o,"px");var c=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=0!==t&&l>t,this.axis.y.isOverflowing=o>c,this.axis.x.isOverflowing="hidden"!==n&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==a&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var d=this.axis.x.isOverflowing?this.scrollbarWidth:0,u=this.axis.y.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&l>s-u,this.axis.y.isOverflowing=this.axis.y.isOverflowing&&o>c-d,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el&&(this.axis.x.scrollbar.el.style.width="".concat(this.axis.x.scrollbar.size,"px")),this.axis.y.scrollbar.el&&(this.axis.y.scrollbar.el.style.height="".concat(this.axis.y.scrollbar.size,"px")),this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")}},e.prototype.getScrollbarSize=function(e){if(void 0===e&&(e="y"),!this.axis[e].isOverflowing||!this.contentEl)return 0;var t,i,r,s=this.contentEl[this.axis[e].scrollSizeAttr],n=null!=(i=null==(t=this.axis[e].track.el)?void 0:t[this.axis[e].offsetSizeAttr])?i:0;return r=Math.max(~~(n/s*n),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(r=Math.min(r,this.options.scrollbarMaxSize)),r},e.prototype.positionScrollbar=function(t){void 0===t&&(t="y");var i,r,s,n=this.axis[t].scrollbar;if(this.axis[t].isOverflowing&&this.contentWrapperEl&&n.el&&this.elStyles){var a=this.contentWrapperEl[this.axis[t].scrollSizeAttr],o=(null==(i=this.axis[t].track.el)?void 0:i[this.axis[t].offsetSizeAttr])||0,l=parseInt(this.elStyles[this.axis[t].sizeAttr],10),c=this.contentWrapperEl[this.axis[t].scrollOffsetAttr];c="x"===t&&this.isRtl&&(null==(r=e.getRtlHelpers())?void 0:r.isScrollOriginAtZero)?-c:c,"x"===t&&this.isRtl&&(c=(null==(s=e.getRtlHelpers())?void 0:s.isScrollingToNegative)?c:-c);var d=c/(a-l),u=~~((o-n.size)*d);u="x"===t&&this.isRtl?-u+(o-n.size):u,n.el.style.transform="x"===t?"translate3d(".concat(u,"px, 0, 0)"):"translate3d(0, ".concat(u,"px, 0)")}},e.prototype.toggleTrackVisibility=function(e){void 0===e&&(e="y");var t=this.axis[e].track.el,i=this.axis[e].scrollbar.el;t&&i&&this.contentWrapperEl&&(this.axis[e].isOverflowing||this.axis[e].forceVisible?(t.style.visibility="visible",this.contentWrapperEl.style[this.axis[e].overflowAttr]="scroll",this.el.classList.add("".concat(this.classNames.scrollable,"-").concat(e))):(t.style.visibility="hidden",this.contentWrapperEl.style[this.axis[e].overflowAttr]="hidden",this.el.classList.remove("".concat(this.classNames.scrollable,"-").concat(e))),this.axis[e].isOverflowing?i.style.display="block":i.style.display="none")},e.prototype.showScrollbar=function(e){void 0===e&&(e="y"),this.axis[e].isOverflowing&&!this.axis[e].scrollbar.isVisible&&(pr(this.axis[e].scrollbar.el,this.classNames.visible),this.axis[e].scrollbar.isVisible=!0)},e.prototype.hideScrollbar=function(e){void 0===e&&(e="y"),!this.isDragging&&this.axis[e].isOverflowing&&this.axis[e].scrollbar.isVisible&&(ps(this.axis[e].scrollbar.el,this.classNames.visible),this.axis[e].scrollbar.isVisible=!1)},e.prototype.hideNativeScrollbar=function(){this.offsetEl&&(this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-".concat(this.scrollbarWidth,"px"):"0px",this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-".concat(this.scrollbarWidth,"px"):"0px")},e.prototype.onMouseMoveForAxis=function(e){void 0===e&&(e="y");var t=this.axis[e];t.track.el&&t.scrollbar.el&&(t.track.rect=t.track.el.getBoundingClientRect(),t.scrollbar.rect=t.scrollbar.el.getBoundingClientRect(),this.isWithinBounds(t.track.rect)?(this.showScrollbar(e),pr(t.track.el,this.classNames.hover),this.isWithinBounds(t.scrollbar.rect)?pr(t.scrollbar.el,this.classNames.hover):ps(t.scrollbar.el,this.classNames.hover)):(ps(t.track.el,this.classNames.hover),this.options.autoHide&&this.hideScrollbar(e)))},e.prototype.onMouseLeaveForAxis=function(e){void 0===e&&(e="y"),ps(this.axis[e].track.el,this.classNames.hover),ps(this.axis[e].scrollbar.el,this.classNames.hover),this.options.autoHide&&this.hideScrollbar(e)},e.prototype.onDragStart=function(e,t){void 0===t&&(t="y"),this.isDragging=!0;var i,r=pt(this.el),s=pe(this.el),n=this.axis[t].scrollbar,a="y"===t?e.pageY:e.pageX;this.axis[t].dragOffset=a-((null==(i=n.rect)?void 0:i[this.axis[t].offsetAttr])||0),this.draggedAxis=t,pr(this.el,this.classNames.dragging),r.addEventListener("mousemove",this.drag,!0),r.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(r.addEventListener("click",this.preventClick,!0),r.addEventListener("dblclick",this.preventClick,!0)):(s.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.prototype.onTrackClick=function(e,t){var i,r,s,n,a=this;void 0===t&&(t="y");var o=this.axis[t];if(this.options.clickOnTrack&&o.scrollbar.el&&this.contentWrapperEl){e.preventDefault();var l=pe(this.el);this.axis[t].scrollbar.rect=o.scrollbar.el.getBoundingClientRect();var c=this.axis[t].scrollbar,d=null!=(r=null==(i=c.rect)?void 0:i[this.axis[t].offsetAttr])?r:0,u=parseInt(null!=(n=null==(s=this.elStyles)?void 0:s[this.axis[t].sizeAttr])?n:"0px",10),h=this.contentWrapperEl[this.axis[t].scrollOffsetAttr],p="y"===t?this.mouseY-d:this.mouseX-d,m=p<0?-1:1,f=-1===m?h-u:h+u,g=40,_=function(){a.contentWrapperEl&&(-1===m?h>f&&(h-=g,a.contentWrapperEl[a.axis[t].scrollOffsetAttr]=h,l.requestAnimationFrame(_)):h=e.left&&this.mouseX<=e.left+e.width&&this.mouseY>=e.top&&this.mouseY<=e.top+e.height},e.prototype.findChild=function(e,t){var i=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;return Array.prototype.filter.call(e.children,function(e){return i.call(e,t)})[0]},e.rtlHelpers=null,e.defaultOptions={forceVisible:!1,clickOnTrack:!0,scrollbarMinSize:25,scrollbarMaxSize:0,ariaLabel:"scrollable content",tabIndex:0,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging",scrolling:"simplebar-scrolling",scrollable:"simplebar-scrollable",mouseEntered:"simplebar-mouse-entered"},scrollableNode:null,contentNode:null,autoHide:!0},e.getOptions=pi,e.helpers=h9,e}(),po=function(){return(po=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i}var pc=n.forwardRef(function(e,t){var i=e.children,r=e.scrollableNodeProps,s=void 0===r?{}:r,a=pl(e,["children","scrollableNodeProps"]),o=n.useRef(),l=n.useRef(),c=n.useRef(),d={},u={};Object.keys(a).forEach(function(e){Object.prototype.hasOwnProperty.call(pa.defaultOptions,e)?d[e]=a[e]:u[e]=a[e]});var h=po(po({},pa.defaultOptions.classNames),d.classNames),p=po(po({},s),{className:"".concat(h.contentWrapper).concat(s.className?" ".concat(s.className):""),tabIndex:d.tabIndex||pa.defaultOptions.tabIndex,role:"region","aria-label":d.ariaLabel||pa.defaultOptions.ariaLabel});return n.useEffect(function(){var e;return l.current=p.ref?p.ref.current:l.current,o.current&&(e=new pa(o.current,po(po(po({},d),l.current&&{scrollableNode:l.current}),c.current&&{contentNode:c.current})),"function"==typeof t?t(e):t&&(t.current=e)),function(){null==e||e.unMount(),e=null,"function"==typeof t&&t(null)}},[]),n.createElement("div",po({"data-simplebar":"init",ref:o},u),n.createElement("div",{className:h.wrapper},n.createElement("div",{className:h.heightAutoObserverWrapperEl},n.createElement("div",{className:h.heightAutoObserverEl})),n.createElement("div",{className:h.mask},n.createElement("div",{className:h.offset},"function"==typeof i?i({scrollableNodeRef:l,scrollableNodeProps:po(po({},p),{ref:l}),contentNodeRef:c,contentNodeProps:{className:h.contentEl,ref:c}}):n.createElement("div",po({},p),n.createElement("div",{className:h.contentEl},i)))),n.createElement("div",{className:h.placeholder})),n.createElement("div",{className:"".concat(h.track," ").concat(h.horizontal)},n.createElement("div",{className:h.scrollbar})),n.createElement("div",{className:"".concat(h.track," ").concat(h.vertical)},n.createElement("div",{className:h.scrollbar})))});pc.displayName="SimpleBar";let pd=e=>{let t=[],i=e=>{e.forEach(e=>{e.type===uT.Directory&&(t.push(e.key),e.children&&i(e.children))})};return i(e),t},pu=d8;(0,n.forwardRef)((e,t)=>{let i=lQ(),{treeData:r,loading:a=!1,loadingKeys:o=[],selectedKeys:l,expandedKeys:c,currentDirectory:d,onCurrentDirectoryChange:h,onSelect:p,onExpand:m,onLoadChildren:f,onFileSelect:g,onDidUserOpenFile:_,onFolderSelect:y,onMove:v,searchPlaceholder:b,emptyText:S,draggable:k=!0,showSearch:x=!1,className:C,mode:w="tree",menuConfig:E,rootPath:T="/",onMenuAction:I,useSimpleBar:R=!1}=e,N=b??i.localize("ondemand.fileTree.searchPlaceholder",{},"Search files..."),A=S??i.localize("ondemand.fileTree.empty",{},"No files"),[M,P]=(0,n.useState)(null),j=(0,n.useRef)(null),[L,D]=(0,n.useState)(""),O=void 0!==d,F=O?d:L,U=(0,n.useCallback)(e=>{O||D(e),h?.(e)},[O,h]),{currentTreeData:V,selectedKeys:B,expandedKeys:z,folderLoadingKeysSet:W,handleNodeSelect:H,handleExpand:G,handleLoadData:Z,collapseAll:K,expandAll:X,handleSearchSelect:Y,focusPath:J}=ho({treeData:r,selectedKeys:l,expandedKeys:c,onSelect:p,onExpand:m,onLoadChildren:f,onFileSelect:g,onDidUserOpenFile:_,onFolderSelect:y,rootPath:T}),{menuVisible:$,menuPosition:q,menuNode:Q,isEmptyAreaMenu:ee,handleContextMenuByKey:et,handleEmptyAreaContextMenu:ei,handleMenuClose:er,setMenuVisible:es,setMenuNode:en}=hO({menuConfig:E,treeData:V,itemSelector:".rc-tree-treenode",rootPath:T}),{dropTargetKey:ea,dragNodeRef:eo,handleDragStart:el,handleDragEnter:ec,handleDragLeave:ed,handleDragEnd:eu,handleDrop:eh}=hz({treeData:V,onMove:v}),{renamingKey:ep,creatingType:em,creatingParentKey:ef,dispatchActionRef:eg,handleMenuAction:e_,handleRenameConfirm:ey,handleRenameCancel:ev,handleCreateConfirm:eb,handleCreateCancel:eS,handleDispatchReady:ek,setupKeyboardShortcuts:ex,startCreating:eC}=hG({treeData:V,selectedKeys:B,expandedKeys:z,onExpand:G,onMenuAction:I,setMenuVisible:es,setMenuNode:en,rootPath:T}),ew=(0,n.useMemo)(()=>new Set(o.map(e=>String(e))),[o]),eE=(0,n.useMemo)(()=>uK(V,z,{creatingParentKey:ef,creatingType:em,loadingKeySet:ew}),[V,z,ef,em,ew]),eT=hc(V),eI=(0,n.useCallback)((e,t)=>{let i=t.node.key;ew.has(i)||H(i)},[H,ew]),eR=(0,n.useCallback)(async e=>{await Z(e.key)},[Z]),eN=(0,n.useCallback)(()=>{X(pd(V))},[V,X]),eA=(0,n.useCallback)(()=>{let e=B[0];if(!e)return"";let t=uB(V,e);return t?t.type===uT.Directory?t.key:t.path.split("/").slice(0,-1).join("/").slice(1)||"":""},[B,V]),eM=(0,n.useCallback)(e=>{"flat"===w?j.current?.startCreating("file",e):eC("file",eA(),e)},[w,eC,eA]),eP=(0,n.useCallback)(e=>{"flat"===w?j.current?.startCreating("folder",e):eC("folder",eA(),e)},[w,eC,eA]),ej=(0,n.useCallback)(async e=>{let t=await J(e);t&&U(t.keys.length>0?String(t.keys[t.keys.length-1]):"")},[J,U]),eL=(0,n.useCallback)(()=>F,[F]);(0,n.useImperativeHandle)(t,()=>({collapseAll:K,expandAll:eN,scrollToKey:()=>{},focusPath:ej,getCurrentDirectory:eL,newFile:eM,newFolder:eP}),[K,eN,ej,eL,eM,eP]);let eD=(0,n.useCallback)(e=>{if(e.isLeaf)return(0,s.jsx)("span",{className:"rc-tree-switcher-leaf-line"});let t=e.data?.key;return t&&W.has(t)?(0,s.jsx)(ur,{className:uL}):(0,s.jsx)(us.A,{})},[W]),eO=(0,n.useCallback)((e,t)=>{let i=t.path.startsWith(T)?"/"===T?t.path.substring(1):t.path.substring(T.length+1):t.path.startsWith("/")?t.path.substring(1):t.path,r={type:t.type===uT.Directory?"folder":"file",name:t.title,path:t.path,relativePath:i};e.dataTransfer.setData(uI,JSON.stringify(r)),e.dataTransfer.effectAllowed="copy"},[T]),eF=(0,n.useCallback)(e=>{let t=uB(V,e.node.key);if(t){if(W.has(t.key))return void e.event.preventDefault();el(t),eO(e.event,t)}},[V,W,eO,el]),eU=(0,n.useCallback)(e=>{let t=uB(V,e.node.key);t&&ec(t)},[V,ec]),eV=(0,n.useCallback)(e=>{let t=uB(V,e.node.key);t&&eh(t,e.dropToGap,z)},[V,eh,z]),eB=(0,n.useCallback)(e=>Y(e.key,e.type,e.path),[Y]),ez=(0,n.useCallback)(e=>(0,s.jsx)(un.Ay,{filename:"directory"===e.type?void 0:e.name,isDirectory:"directory"===e.type,size:"large"}),[]),eW=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(E)return ex(eW.current)},[E,ex]);let eH=(0,n.useCallback)(e=>{let t=uB(V,e.node.key);t&&W.has(t.key)?e.event.preventDefault():et(e.event,e.node.key)},[et,V,W]);return a?(0,s.jsx)("div",{ref:eW,className:`${uR} ${C||""}`}):0===V.length?(0,s.jsx)("div",{ref:eW,className:`${uR} ${C||""}`,children:(0,s.jsx)("div",{className:uD,children:A})}):"flat"===w?(0,s.jsx)("div",{ref:eW,tabIndex:0,className:`${uR} ${C||""}`,children:(0,s.jsx)(hY,{ref:j,treeData:V,selectedKeys:B,expandedKeys:z,currentDirectory:F,onDirectoryChange:U,onSelect:(e,t)=>{p?.(e,t)},onExpand:e=>{G(e)},onFileSelect:g,onDidUserOpenFile:_,onFolderSelect:y,onLoadChildren:f,emptyText:A,menuConfig:E,rootPath:T,onMenuAction:I,draggable:k,loadingKeys:o,onDragStart:eO,onMove:v})}):(0,s.jsxs)("div",{ref:eW,tabIndex:0,className:`${uR} ${C||""}`,children:[x&&(0,s.jsx)("div",{className:uN,children:(0,s.jsx)(ha,{items:eT,placeholder:N,onSelect:eB,renderIcon:ez})}),(()=>{let e=(0,s.jsx)(pu,{prefixCls:"rc-tree",treeData:eE,selectedKeys:B,expandedKeys:z,onSelect:eI,onExpand:G,loadData:f?eR:void 0,draggable:k,onDragStart:k?eF:void 0,onDragEnter:k&&v?eU:void 0,onDragLeave:k&&v?ed:void 0,onDragEnd:k&&v?eu:void 0,onDrop:k&&v?eV:void 0,onRightClick:E?eH:void 0,showIcon:!0,showLine:!0,switcherIcon:eD,allowDrop:({dropNode:e,dropPosition:t})=>{if(!v)return!0;let i=uB(V,e.key);return!!i&&(i.type===uT.Directory||0!==t)},titleRender:e=>{let t=e.key;if(t===uG)return(0,s.jsx)(uE,{defaultValue:"",onConfirm:eb,onCancel:eS});if(ep===t){let e=uB(V,t);return(0,s.jsx)(uE,{defaultValue:e?.title||"",onConfirm:ey,onCancel:ev})}let i=uB(V,t),r=M?.type==="cut"&&M?.path===`/${t}`,n=i?.type===uT.Directory,a=!!i&&W.has(i.key),o=!!i&&ew.has(i.key),l=e.title||"";return(0,s.jsx)(u.A,{content:l,side:"right",delayDuration:300,mode:"normal",children:(0,s.jsxs)("div",{title:"",className:`${uF} ${r?uj:""} ${o?uO:""}`.trim(),"data-is-directory":n?"true":void 0,"data-is-loading":a?"true":void 0,children:[(0,s.jsx)("span",{className:o?uU:void 0,children:l}),o&&(0,s.jsx)(ur,{className:uV})]})})}}),t=E?ei:void 0;return R?(0,s.jsx)(pc,{className:`${uA} ${uP}`,onContextMenu:t,children:e}):(0,s.jsx)("div",{className:`${uA} ${uM}`,onContextMenu:t,children:e})})(),E&&(0,s.jsx)(uw,{visible:$,position:q,node:Q,menuConfig:E,rootPath:T,onAction:e_,onClose:er,isEmptyArea:ee,clipboard:M,onClipboardChange:P,onDispatchReady:ek})]})}).displayName="FileTreePanel";var ph=i(36391),pp=i(26165);let pm=(0,n.lazy)(()=>i.e("330").then(i.bind(i,88369)).then(e=>({default:e.LottieLoading}))),pf=(0,n.memo)(({className:e})=>(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"68",height:"48",viewBox:"0 0 68 48",fill:"none",className:e,children:[(0,s.jsx)("g",{clipPath:"url(#clip0_empty_panel)",children:(0,s.jsx)("path",{d:"M67.2042 48H9.59983V38.4043H0V0H67.2042V48ZM9.59983 38.4043H57.6044V9.59983H9.59983V38.4043ZM33.6044 23.8556L26.8162 30.6434L20.0285 23.8556L26.8162 17.0675L33.6044 23.8556ZM52.8045 23.8515L46.0163 30.6392L39.2286 23.8515L46.0163 17.0633L52.8045 23.8515Z",fill:"currentColor"})}),(0,s.jsx)("defs",{children:(0,s.jsx)("clipPath",{id:"clip0_empty_panel",children:(0,s.jsx)("rect",{width:"67.2042",height:"48",fill:"currentColor"})})})]}));pf.displayName="IconEmptyPanel";let pg=(0,n.memo)(({className:e})=>(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"27",height:"14",viewBox:"0 0 27 14",fill:"none",className:e,children:(0,s.jsx)("path",{d:"M6.51562 13.0303H0V6.51562H6.51562V13.0303ZM26.0605 6.51465H6.51465V0H26.0605V6.51465Z",fill:"currentColor"})}));pg.displayName="IconEmptyPanelThink",(0,n.memo)(({className:e,style:t})=>{let i=(0,n.useContext)(hu.Ay),r=(i?.theme??"dark")!=="light";return(0,s.jsx)(n.Suspense,{fallback:null,children:(0,s.jsx)(pm,{isDark:r,className:e,style:t})})}).displayName="EmptyPanelLoadingIcon";let p_=(0,n.memo)(({text:e,loading:t=!1,className:i,loadingText:r})=>{let{theme:a}=(0,hu.DP)(),o=(0,n.useContext)(T.Ay),l="light"!==a;if(t){let e="Loading...",t=r??(o?o.localize("emptyPanel.loading",{},e):e);return(0,s.jsx)("div",{className:`${pp.A.emptyPanel} ${i??""}`,children:(0,s.jsxs)(n.Suspense,{fallback:null,children:[(0,s.jsx)(pm,{isDark:l}),(0,s.jsx)(ph.A,{text:t,loading:!0,outerClassName:pp.A.emptyPanelLoadingText,showTooltip:!1})]})})}return(0,s.jsxs)("div",{className:`${pp.A.emptyPanel} ${i??""}`,children:[e&&(0,s.jsxs)("div",{className:pp.A.emptyPanelTextWrapper,children:[(0,s.jsx)("div",{className:pp.A.emptyPanelTextBox,children:(0,s.jsx)("span",{className:pp.A.emptyPanelText,children:e})}),(0,s.jsx)(pg,{className:pp.A.emptyPanelThinkIcon})]}),(0,s.jsx)(pf,{className:pp.A.emptyPanelMainIcon})]})});p_.displayName="EmptyPanel";let py=p_,pv="errorPanel-xEZ6r8",pb="content-vRyjcm",pS="icon-F6ekQZ",pk="textContent-rLl0bT",px="title-pe9cl0",pC="description-Bbp2tO",pw="descriptionRow-Rukd1B",pE="detailLink-LjTJ09",pT="action-mcLZwp",pI=(0,n.memo)(({className:e})=>(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",className:e,children:[(0,s.jsx)("circle",{cx:"24",cy:"24",r:"18.5",stroke:"currentColor",strokeWidth:"3.2"}),(0,s.jsx)("path",{d:"M18.3438 30.8431C21.4679 27.719 26.5333 27.719 29.6575 30.8431",stroke:"currentColor",strokeWidth:"3.2",strokeLinecap:"square",strokeLinejoin:"round"}),(0,s.jsx)("path",{d:"M16.7002 17.6992L20.3002 21.2992M20.3002 17.6992L16.7002 21.2992",stroke:"currentColor",strokeWidth:"3.2",strokeLinecap:"square"}),(0,s.jsx)("path",{d:"M27.7002 17.6992L31.3002 21.2992M31.3002 17.6992L27.7002 21.2992",stroke:"currentColor",strokeWidth:"3.2",strokeLinecap:"square"})]}));pI.displayName="IconSadFace";let pR=(0,n.memo)(({className:e})=>(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",className:e,children:[(0,s.jsx)("circle",{cx:"24",cy:"24",r:"18.5",stroke:"#8A9096",strokeWidth:"3.2"}),(0,s.jsx)("path",{d:"M18.3438 30.8447C21 30.8466 25 30.8412 29.6575 30.8447",stroke:"#8A9096",strokeWidth:"3.2",strokeLinecap:"square",strokeLinejoin:"round"}),(0,s.jsx)("rect",{x:"16",y:"18",width:"5",height:"5",fill:"#8A9096"}),(0,s.jsx)("rect",{x:"26",y:"18",width:"5",height:"5",fill:"#8A9096"})]}));pR.displayName="IconNeutralFace";let pN=(0,n.memo)(({title:e,description:t,icon:i,mood:r="sad",action:a,detail:o,className:l})=>{let{localize:c}=(0,T.s9)(),d="sad"===r?(0,s.jsx)(pI,{}):(0,s.jsx)(pR,{}),u=(0,n.useCallback)(()=>{o&&navigator.clipboard.writeText(o)},[o]);return(0,s.jsx)("div",{className:`${pv} ${l??""}`,children:(0,s.jsxs)("div",{className:pb,children:[(0,s.jsx)("div",{className:pS,children:i??d}),(0,s.jsxs)("div",{className:pk,children:[e&&(0,s.jsx)("div",{className:px,children:e}),t&&(0,s.jsxs)("div",{className:pw,children:[(0,s.jsx)("span",{className:pC,children:t}),o&&(0,s.jsx)("button",{type:"button",className:pE,onClick:u,children:c("errorPanel.copyDetail",{},"Copy Request Details")})]})]}),a&&(0,s.jsx)("div",{className:pT,children:a})]})})});pN.displayName="ErrorPanel";let pA=pN;function pM(){}function pP(e,t,i,r,s){for(var n,a=[];t;)a.push(t),n=t.previousComponent,delete t.previousComponent,t=n;a.reverse();for(var o=0,l=a.length,c=0,d=0;oe.length?i:e}),u.value=e.join(p)}else u.value=e.join(i.slice(c,c+u.count));c+=u.count,u.added||(d+=u.count)}}var m=a[l-1];return l>1&&"string"==typeof m.value&&(m.added||m.removed)&&e.equals("",m.value)&&(a[l-2].value+=m.value,a.pop()),a}pM.prototype={diff:function(e,t){var i,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=r.callback;"function"==typeof r&&(s=r,r={}),this.options=r;var n=this;function a(e){return s?(setTimeout(function(){s(void 0,e)},0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var o=(t=this.removeEmpty(this.tokenize(t))).length,l=e.length,c=1,d=o+l;r.maxEditLength&&(d=Math.min(d,r.maxEditLength));var u=null!=(i=r.timeout)?i:1/0,h=Date.now()+u,p=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(p[0],t,e,0);if(p[0].oldPos+1>=l&&m+1>=o)return a([{value:this.join(t),count:t.length}]);var f=-1/0,g=1/0;function _(){for(var i=Math.max(f,-c);i<=Math.min(g,c);i+=2){var r=void 0,s=p[i-1],d=p[i+1];s&&(p[i-1]=void 0);var u=!1;if(d){var h=d.oldPos-i;u=d&&0<=h&&h=l&&m+1>=o)return a(pP(n,r.lastComponent,t,e,n.useLongestToken));p[i]=r,r.oldPos+1>=l&&(g=Math.min(g,i-1)),m+1>=o&&(f=Math.max(f,i+1))}c++}if(s)!function e(){setTimeout(function(){if(c>d||Date.now()>h)return s();_()||e()},0)}();else for(;c<=d&&Date.now()<=h;){var y=_();if(y)return y}},addToPath:function(e,t,i,r){var s=e.lastComponent;return s&&s.added===t&&s.removed===i?{oldPos:e.oldPos+r,lastComponent:{count:s.count+1,added:t,removed:i,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:i,previousComponent:s}}},extractCommon:function(e,t,i,r){for(var s=t.length,n=i.length,a=e.oldPos,o=a-r,l=0;o+1"type"in e&&"collapsed"===e.type,pq=e=>"type"in e&&"collapsed"===e.type,pQ="diffWrapper-fVpqg2",p0="diffTable-EtAU0J",p1="diffLine-xzYh4L",p2="lineNumbers-zHMfD5",p3="oldLineNumber-HgOOBs",p4="newLineNumber-yjgk0l",p5="lineContent-m8uuka",p9="lineUnchanged-pOoNge",p6="lineAdded-DUUeGK",p8="lineRemoved-J2ErWv",p7="collapsedBlock-Ae4ivK",me="collapsedDashedLine-lv4Laj",mt="collapsedButton-fXyh08",mi="collapsedIcon-b8z6r_",mr="collapsedText-ZAzS4T";var ms=function(){return(ms=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function ma(e,t){var i=(0,n.useContext)(d7.o).prefix,r=e.className,s=void 0===r?"":r,a=e.prefix,o=e.width,l=void 0===o?"1em":o,c=e.height,d=void 0===c?"1em":c,u=e.useCurrentColor,h=e.spin,p=mn(e,["className","prefix","width","height","useCurrentColor","spin"]),m=a||i||"trae",f=h?" ".concat(m,"-icon-loading"):"";return n.default.createElement("svg",ms({className:"".concat(m,"-icon ").concat(m,"-icon-chevron-unfold").concat(f," ").concat(s),width:l,height:d,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},p,{ref:t}),n.default.createElement("path",{d:"M12.2998 2.79981L13.5 2.79981L13.5 4L12.2998 4L12.2998 2.79981ZM9.10059 2.79981L10.3008 2.79981L10.3008 4L9.10059 4L9.10059 2.79981ZM5.90137 2.79981L7.10156 2.79981L7.10156 4L5.90137 4L5.90137 2.79981ZM2.69824 2.79981L3.89844 2.79981L3.89844 4L2.69824 4L2.69824 2.79981ZM7.57715 12.4248L4.48633 9.33398L5.33496 8.48535L5.75879 8.91016L7.40039 10.5508L7.40039 6L8.59961 6L8.59961 10.5547L10.2441 8.91016L10.668 8.48535L11.5166 9.33399L11.0918 9.75781L8.42578 12.4248L8.00098 12.8496L7.57715 12.4248Z"}))}let mo=n.default.forwardRef(ma),ml=(0,n.memo)(({line:e,highlightedContent:t})=>{let i="added"===e.type?p6:"removed"===e.type?p8:p9;return(0,s.jsxs)("div",{className:`${p1} ${i}`,children:[(0,s.jsxs)("div",{className:p2,children:[(0,s.jsx)("span",{className:p3,children:e.oldLineNumber??""}),(0,s.jsx)("span",{className:p4,children:e.newLineNumber??""})]}),(0,s.jsx)("div",{className:p5,children:t?(0,s.jsx)("pre",{dangerouslySetInnerHTML:{__html:t||" "}}):(0,s.jsx)("pre",{children:e.content||" "})})]})});ml.displayName="DiffLine";let mc=(0,n.memo)(({block:e,onExpand:t})=>{let i=l0();return(0,s.jsxs)("div",{className:p7,onClick:t,children:[(0,s.jsx)("div",{className:me}),(0,s.jsx)("div",{className:mt,children:(0,s.jsx)(mo,{className:mi})}),(0,s.jsx)("span",{className:mr,children:i.localize("ondemand.diff.linesHidden",{count:e.count},`${e.count} lines hidden`)}),(0,s.jsx)("div",{className:me})]})});mc.displayName="CollapsedLines";let md=(0,n.memo)(({blocks:e,highlightedLines:t,onExpandBlock:i})=>(0,s.jsx)("div",{className:pQ,children:(0,s.jsx)("div",{className:p0,children:e.map((e,r)=>{if(p$(e))return(0,s.jsx)(mc,{block:e,onExpand:()=>i(e)},`collapsed-${e.startOldLine}-${e.startNewLine}`);let n=`${e.oldLineNumber??"new"}-${e.newLineNumber??"old"}`;return(0,s.jsx)(ml,{line:e,highlightedContent:t.get(n)},`line-${n}-${r}`)})})}));md.displayName="UnifiedDiffView";let mu=md,mh="sideBySideWrapper-zUX9Pl",mp="sideBySideColumn-xm6DDP",mm="sideBySideRow-vLqYUe",mf="sideLineNumber-YMOVqr",mg="sideLineContent-ugcDhF",m_="lineUnchanged-dbVfZL",my="lineAdded-NK8tzV",mv="lineRemoved-N8xoxM",mb="collapsedBlock-D5C2i3",mS="collapsedDashedLine-S_qSJP",mk="collapsedButton-n5T5va",mx="collapsedIcon-wtG4By",mC="collapsedText-139tDP",mw=(0,n.memo)(({line:e,highlightedContent:t,side:i})=>{let r="removed"===e.type?mv:"added"===e.type?my:m_,n="left"===i?e.oldLineNumber:e.newLineNumber;return(0,s.jsxs)("div",{className:`${mm} ${r}`,children:[(0,s.jsx)("span",{className:mf,children:n??""}),(0,s.jsx)("div",{className:mg,children:t?(0,s.jsx)("pre",{dangerouslySetInnerHTML:{__html:t||" "}}):(0,s.jsx)("pre",{children:e.content||" "})})]})});mw.displayName="SideDiffLine";let mE=(0,n.memo)(({count:e,onExpand:t})=>{let i=l0();return(0,s.jsxs)("div",{className:mb,onClick:t,children:[(0,s.jsx)("div",{className:mS}),(0,s.jsx)("div",{className:mk,children:(0,s.jsx)(mo,{className:mx})}),(0,s.jsx)("span",{className:mC,children:i.localize("ondemand.diff.linesHidden",{count:e},`${e} lines hidden`)}),(0,s.jsx)("div",{className:mS})]})});mE.displayName="CollapsedLines";let mT=(0,n.memo)(({blocks:e,highlightedLines:t,onExpandBlock:i})=>{let r=(0,n.useRef)(null),{leftLines:a,rightLines:o,collapsedBlocks:l}=(0,n.useMemo)(()=>{let t=[],i=[],r=[];return e.forEach((e,s)=>{pq(e)?(r.push({block:e,index:s}),e.lines.forEach(e=>{e.left&&t.push({line:e.left,blockIndex:s}),e.right&&i.push({line:e.right,blockIndex:s})})):(e.left&&t.push({line:e.left,blockIndex:s}),e.right&&i.push({line:e.right,blockIndex:s}))}),{leftLines:t,rightLines:i,collapsedBlocks:r}},[e]),c=(0,n.useCallback)(e=>`${e.oldLineNumber??"new"}-${e.newLineNumber??"old"}`,[]),d=(0,n.useCallback)((e,r)=>{let n=[],a=-1;return e.forEach(({line:e,blockIndex:o},d)=>{let u=l.find(e=>e.index===o);u&&o!==a&&(a=o,n.push((0,s.jsx)(mE,{count:u.block.count,onExpand:()=>i(u.block)},`collapsed-${r}-${o}`))),u||n.push((0,s.jsx)(mw,{line:e,highlightedContent:t.get(c(e)),side:r},`${r}-${d}-${e.oldLineNumber??""}-${e.newLineNumber??""}`))}),n},[l,t,c,i]);return(0,s.jsxs)("div",{className:mh,ref:r,children:[(0,s.jsx)("div",{className:mp,children:d(a,"left")}),(0,s.jsx)("div",{className:mp,children:d(o,"right")})]})});mT.displayName="SideBySideDiffView";let mI=mT,mR="container-k9qwgo",mN="multiFileContainer-EQMyw9",mA="fileBlock-XSNRbt",mM="fileBlockCollapsed-w2IWpA",mP="fileHeader-jhoiN9",mj="fileHeaderLeft-w0Ejy8",mL="expandButton-GYV7F7",mD="fileIcon-InjrGL",mO="fileInfo-1XUMDW",mF="fileName-ZNKjQ8",mU="filePath-ORpKRM",mV="diffStats-_e8dhs",mB="additions-V3IgCf",mz="deletions-OjmbIw",mW="fileContent-nv5OaQ",mH="emptyWrapper-pVqAJx",mG="emptyText-lKBJ_E",mZ="errorContent-j8p79y",mK="errorIcon-AuqKtM",mX="errorText-ERPlDX",mY=3,mJ=720,m$=e=>({js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",c:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",swift:"swift",m:"objectivec",mm:"objectivec",json:"json",xml:"xml",html:"html",htm:"html",css:"css",scss:"scss",sass:"scss",less:"less",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sql:"sql",sh:"bash",bash:"bash",zsh:"bash",vue:"vue",svelte:"xml"})[e.split(".").pop()?.toLowerCase()||""]||"plaintext",mq=(e,t)=>{try{if(t&&pH.getLanguage(t))return pH.highlight(e,{language:t}).value;return pH.highlightAuto(e).value}catch{return e.replace(//g,">")}},mQ=(e,t)=>{let i=pF(e,t),r=[],s=1,n=1;for(let e of i){let t=e.value.split("\n");for(let i of(""===t[t.length-1]&&t.pop(),t))e.added?r.push({type:"added",content:i,newLineNumber:n++}):e.removed?r.push({type:"removed",content:i,oldLineNumber:s++}):r.push({type:"unchanged",content:i,oldLineNumber:s++,newLineNumber:n++})}return r},m0=e=>{let t=[],i=0;for(;i{let i=[],r=[],s=()=>{if(0!==r.length){if(r.length<=2*mY+1)i.push(...r);else{let e=r.slice(mY,r.length-mY),s=e[0]?.left||e[0]?.right,n=e[e.length-1]?.left||e[e.length-1]?.right,a=`${s?.oldLineNumber??s?.newLineNumber}-${n?.oldLineNumber??n?.newLineNumber}`;t.has(a)?i.push(...r):(i.push(...r.slice(0,mY)),e.length>0&&i.push({type:"collapsed",startOldLine:s?.oldLineNumber??0,startNewLine:s?.newLineNumber??0,count:e.length,lines:e}),i.push(...r.slice(r.length-mY)))}r=[]}};for(let t of e)t.left?.type==="unchanged"&&t.right?.type==="unchanged"?r.push(t):(s(),i.push(t));return s(),i},m2=(e,t)=>{let i=[],r=[],s=()=>{if(0!==r.length){if(r.length<=2*mY+1)i.push(...r);else{let e=r.slice(mY,r.length-mY),s=`${e[0]?.oldLineNumber}-${e[e.length-1]?.oldLineNumber}`;t.has(s)?i.push(...r):(i.push(...r.slice(0,mY)),e.length>0&&i.push({type:"collapsed",startOldLine:e[0].oldLineNumber,startNewLine:e[0].newLineNumber,count:e.length,lines:e}),i.push(...r.slice(r.length-mY)))}r=[]}};for(let t of e)"unchanged"===t.type?r.push(t):(s(),i.push(t));return s(),i},m3=(0,n.memo)(({diff:e,defaultExpanded:t=!0})=>{let i=lQ(),[r,a]=(0,n.useState)(!e.error&&t),[o,l]=(0,n.useState)(new Set),[c,d]=(0,n.useState)(0),u=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!u.current)return;let e=new ResizeObserver(e=>{for(let t of e)d(t.contentRect.width)});return e.observe(u.current),()=>e.disconnect()},[]);let h=c>=mJ,p=(0,n.useMemo)(()=>m$(e.filePath),[e.filePath]),m=(0,n.useMemo)(()=>mQ(e.originalContent,e.modifiedContent),[e.originalContent,e.modifiedContent]),f=(0,n.useMemo)(()=>{let e=new Map;for(let t of m){let i=`${t.oldLineNumber??"new"}-${t.newLineNumber??"old"}`;t.content&&e.set(i,mq(t.content,p))}return e},[m,p]),g=(0,n.useMemo)(()=>m2(m,o),[m,o]),_=(0,n.useMemo)(()=>m0(m),[m]),y=(0,n.useMemo)(()=>m1(_,o),[_,o]),v=(0,n.useMemo)(()=>{let e=0,t=0;for(let i of m)"added"===i.type&&e++,"removed"===i.type&&t++;return{additions:e,deletions:t}},[m]),b=(0,n.useMemo)(()=>!e.originalContent&&e.modifiedContent?"added":e.originalContent&&!e.modifiedContent?"deleted":"modified",[e.originalContent,e.modifiedContent]),S=(0,n.useMemo)(()=>{let e={width:"16px",height:"16px"};switch(b){case"added":return(0,s.jsx)(pG.A,{...e,style:{color:"var(--status-success-default)"}});case"deleted":return(0,s.jsx)(pZ.A,{...e,style:{color:"var(--status-error-default)"}});default:return(0,s.jsx)(pK.A,{...e,style:{color:"var(--status-alert-default)"}})}},[b]),k=(0,n.useMemo)(()=>{switch(b){case"added":return"var(--status-success-surface-l1)";case"deleted":return"var(--status-error-surface-l1)";default:return"var(--status-alert-surface-l1)"}},[b]),x=(0,n.useCallback)(e=>{let t=`${e.lines[0]?.oldLineNumber??e.startOldLine}-${e.lines[e.lines.length-1]?.oldLineNumber??e.startOldLine+e.count-1}`;l(e=>{let i=new Set(e);return i.add(t),i})},[]),C=(0,n.useCallback)(e=>{let t=e.lines[0]?.left||e.lines[0]?.right,i=e.lines[e.lines.length-1]?.left||e.lines[e.lines.length-1]?.right,r=`${t?.oldLineNumber??t?.newLineNumber}-${i?.oldLineNumber??i?.newLineNumber}`;l(e=>{let t=new Set(e);return t.add(r),t})},[]),w=e.filePath.split("/").pop()||e.filePath,E=e.filePath.substring(0,e.filePath.lastIndexOf("/"));return(0,s.jsxs)("div",{className:`${mA} ${!r?mM:""}`,ref:u,"data-filepath":e.filePath,children:[(0,s.jsxs)("div",{className:mP,onClick:()=>a(!r),children:[(0,s.jsxs)("div",{className:mj,children:[(0,s.jsx)("span",{className:mL,children:r?(0,s.jsx)(pX.A,{}):(0,s.jsx)(pY.A,{})}),(0,s.jsx)("span",{className:mD,style:{backgroundColor:k},children:S})]}),(0,s.jsxs)("div",{className:mO,children:[(0,s.jsx)("span",{className:mF,children:w}),E&&(0,s.jsx)("div",{className:mU,children:(0,s.jsx)("span",{children:E})})]}),(v.additions>0||v.deletions>0)&&(0,s.jsxs)("div",{className:mV,children:[(0,s.jsxs)("span",{className:mB,children:["+",v.additions]}),(0,s.jsxs)("span",{className:mz,children:["-",v.deletions]})]})]}),r&&e.error&&(0,s.jsxs)("div",{className:mZ,children:[(0,s.jsx)(pJ.A,{className:mK}),(0,s.jsx)("span",{className:mX,children:i.localize(`ondemand.diff.error.${e.error}`,{},"This file type is not supported for display")})]}),r&&!e.error&&(0,s.jsx)("div",{className:mW,children:h?(0,s.jsx)(mI,{blocks:y,highlightedLines:f,onExpandBlock:C}):(0,s.jsx)(mu,{blocks:g,highlightedLines:f,onExpandBlock:x})})]})});m3.displayName="SingleFileDiff";let m4=(0,n.memo)(({className:e,currentDiff:t,allDiffs:i=[],emptyText:r,defaultExpanded:n=!1})=>{let a=lQ(),o=r??a.localize("ondemand.diff.empty",{},"Click the Review button on the file card to view differences");return t||i.length>0?t?(0,s.jsx)("div",{className:`${mR} ${e??""}`,children:(0,s.jsx)(m3,{diff:t,defaultExpanded:!0})}):(0,s.jsx)("div",{className:`${mR} ${mN} custom-scrollbar ${e??""}`,children:i.map(e=>(0,s.jsx)(m3,{diff:e,defaultExpanded:n},e.filePath))}):(0,s.jsx)("div",{className:`${mR} ${e??""}`,children:(0,s.jsx)("div",{className:mH,children:(0,s.jsx)("span",{className:mG,children:o})})})});m4.displayName="Diff";let m5=m4,m9=e=>!e.originalContent&&e.modifiedContent?"added":e.originalContent&&!e.modifiedContent?"deleted":"modified",m6=/^\/mnt\/trae\/file\/workspace\//,m8=(e,t)=>{let i=e;if(m6.test(i)&&(i=i.replace(m6,"")),t){let e=t.replace(/^\/|\/$/g,"");i.startsWith(e+"/")?i=i.slice(e.length+1):i.startsWith("/"+e+"/")&&(i=i.slice(e.length+2))}return i},m7=(e,t)=>{let i=[],r=new Map;for(let s of e){let e=m8(s.filePath,t).split("/").filter(Boolean);if(0===e.length)continue;let n="";for(let t=0;te.sort((e,t)=>e.type!==t.type?"directory"===e.type?-1:1:e.name.localeCompare(t.name)).map(e=>e.children?{...e,children:s(e.children)}:e);return s(i)},fe=e=>{let t=[],i=e=>{for(let r of e)"file"===r.type&&r.diffInfo&&t.push(r.diffInfo),r.children&&i(r.children)};return i(e),t},ft=e=>{if("file"===e.type)return{displayName:e.name,path:e.path,type:"file",diffInfo:e.diffInfo};let t=e,i=[t.name];for(;t.children&&1===t.children.length&&"directory"===t.children[0].type;)i.push((t=t.children[0]).name);let r=t.children?.map(e=>ft(e));return{displayName:i.join("/"),path:t.path,type:"directory",children:r}},fi=(e,t)=>m7(e,t).map(e=>ft(e)),fr="diffFileTreeContainer-ObgdmR",fs="diffFileTreeContent-Juxoxy",fn="diffFileTreeNode-ESLMzN",fa="diffFileTreeNodeRow-GGbQIG",fo="diffFileTreeNodeRowSelected-kE5MON",fl="diffFileTreeIndentGuide-rSG1F4",fc="diffFileTreeIndentLine-HVJhQZ",fd="diffFileTreeExpandIcon-Duk8Lo",fu="diffFileTreeExpandIconExpanded-ttvZVl",fh="diffFileTreeExpandIconCollapsed-udPqVr",fp="diffFileTreeDotIcon-bfEsXO",fm="diffFileTreeDiffIcon-i4Pukm",ff="diffFileTreeFolderIcon-ysvZtr",fg="diffFileTreeNodeNameWrapper-Haa6JC",f_="diffFileTreeNodeName-cKPMKL",fy="diffFileTreeChildren-Aqslzv",fv="diffFileTreeEmpty-tvs4gq",fb="diffFileTreeConflictIcon-akWNH6",fS="flattenedFileDiffStats-vbY_gN",fk="flattenedFileDiffAdded-JooMqr",fx="flattenedFileDiffDeleted-PiakaN",fC=(0,n.memo)(({depth:e})=>0===e?null:(0,s.jsx)(s.Fragment,{children:Array.from({length:e}).map((e,t)=>(0,s.jsx)("span",{className:fl,children:(0,s.jsx)("span",{className:fc})},t))}));fC.displayName="IndentGuides";let fw=(0,n.memo)(({diffType:e})=>(0,s.jsxs)("span",{className:fm,children:["added"===e&&(0,s.jsx)(pG.A,{width:"14px",height:"14px",style:{color:"var(--status-success-default)"}}),"modified"===e&&(0,s.jsx)(pK.A,{width:"14px",height:"14px",style:{color:"var(--status-alert-default)"}}),"deleted"===e&&(0,s.jsx)(pZ.A,{width:"14px",height:"14px",style:{color:"var(--status-error-default)"}})]}));fw.displayName="DiffStatusIcon";let fE=(0,n.memo)(()=>(0,s.jsx)("span",{className:fp,children:(0,s.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{d:"M9 7C9 8.10457 8.10457 9 7 9C5.89543 9 5 8.10457 5 7C5 5.89543 5.89543 5 7 5C8.10457 5 9 5.89543 9 7Z",fill:"currentColor",fillOpacity:"0.15"})})}));fE.displayName="DotIcon";let fT=(0,n.memo)(()=>(0,s.jsx)("span",{className:fb,children:"!"}));fT.displayName="ConflictIcon";let fI=(0,n.memo)(({node:e,depth:t,selectedPath:i,expandedPaths:r,onSelect:a,onToggle:o})=>{let l=r.has(e.path),c=e.diffInfo?i===e.diffInfo.filePath:i===e.path,d="directory"===e.type,h=(0,n.useRef)(null),[p,m]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=h.current;if(!e)return;let t=()=>{m(e.scrollWidth>e.clientWidth)};t();let i=new ResizeObserver(t);return i.observe(e),()=>i.disconnect()},[e.displayName]);let f=(0,n.useMemo)(()=>e.diffInfo?m9(e.diffInfo):null,[e.diffInfo]),g=(0,n.useMemo)(()=>e.diffInfo&&(void 0!==e.diffInfo.insertLineCount||void 0!==e.diffInfo.deleteLineCount)?{added:e.diffInfo.insertLineCount??0,deleted:e.diffInfo.deleteLineCount??0}:null,[e.diffInfo]),_=(0,n.useCallback)(()=>{d?o(e.path):a(e.path,e.diffInfo)},[d,e.path,e.diffInfo,o,a]);return(0,s.jsxs)("div",{className:fn,children:[(0,s.jsxs)("div",{className:`${fa} ${c?fo:""}`,onClick:_,children:[(0,s.jsx)(fC,{depth:t}),d?(0,s.jsx)("span",{className:`${fd} ${l?fu:fh}`,children:(0,s.jsx)(us.A,{})}):(0,s.jsx)(fE,{}),d?(0,s.jsx)("span",{className:ff,children:(0,s.jsx)(un.Ay,{type:l?"folder.open":"folder.closed",size:"small"})}):f&&(0,s.jsx)(fw,{diffType:f}),(0,s.jsx)(u.A,{content:e.displayName,side:"right",sideOffset:4,disabled:!p,triggerClassName:fg,children:(0,s.jsx)("span",{ref:h,className:f_,children:e.displayName})}),e.diffInfo?.isConflict&&(0,s.jsx)(fT,{}),g&&(0,s.jsxs)("span",{className:fS,children:[(0,s.jsxs)("span",{className:fk,children:["+",g.added]}),(0,s.jsxs)("span",{className:fx,children:["-",g.deleted]})]})]}),d&&l&&e.children&&(0,s.jsx)("div",{className:fy,children:e.children.map(e=>(0,s.jsx)(fI,{node:e,depth:t+1,selectedPath:i,expandedPaths:r,onSelect:a,onToggle:o},e.path))})]})});fI.displayName="CompressedTreeNodeComponent";let fR=(0,n.memo)(({diffs:e,selectedPath:t,onFileSelect:i,baseUrl:r})=>{let a=lQ(),o=(0,n.useMemo)(()=>fi(e,r),[e,r]),[l,c]=(0,n.useState)(()=>{let e=new Set,t=i=>{for(let r of i)"directory"===r.type&&(e.add(r.path),r.children&&t(r.children))};return t(o),e});(0,n.useEffect)(()=>{c(e=>{let t=new Set(e),i=e=>{for(let r of e)"directory"===r.type&&(t.has(r.path)||t.add(r.path),r.children&&i(r.children))};return i(o),t})},[o]);let d=(0,n.useCallback)(e=>{c(t=>{let i=new Set(t);return i.has(e)?i.delete(e):i.add(e),i})},[]);return 0===e.length?(0,s.jsx)("div",{className:fr,children:(0,s.jsx)("div",{className:fv,children:a.localize("web.diffPanel.noChangedFiles",{},"No changed files")})}):(0,s.jsx)("div",{className:fr,children:(0,s.jsx)("div",{className:`${fs} custom-scrollbar`,children:o.map(e=>(0,s.jsx)(fI,{node:e,depth:0,selectedPath:t,expandedPaths:l,onSelect:i,onToggle:d},e.path))})})});fR.displayName="DiffFileTree";let fN=fR;var fA=function(){return(fA=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function fP(e,t){var i=(0,n.useContext)(d7.o).prefix,r=e.className,s=void 0===r?"":r,a=e.prefix,o=e.width,l=void 0===o?"1em":o,c=e.height,d=void 0===c?"1em":c,u=e.useCurrentColor,h=void 0===u||u,p=e.spin,m=fM(e,["className","prefix","width","height","useCurrentColor","spin"]),f=a||i||"trae",g=p?" ".concat(f,"-icon-loading"):"";return n.default.createElement("svg",fA({className:"".concat(f,"-icon ").concat(f,"-icon-Collapse_filetree").concat(g," ").concat(s),width:l,height:d,viewBox:"0 0 16 16",fill:h?"currentColor":"#000",xmlns:"http://www.w3.org/2000/svg"},m,{ref:t}),n.default.createElement("path",{d:"M6.73462 2.02002V13.811H5.14966C3.4229 13.811 2.02279 12.4108 2.02271 10.6841V5.14697C2.02271 3.42016 3.42285 2.02002 5.14966 2.02002H6.73462ZM3.27661 10.6841C3.2767 11.7186 4.1151 12.5571 5.14966 12.5571H5.48169V3.27393H5.14966C4.11504 3.27393 3.27661 4.11236 3.27661 5.14697V10.6841Z"}),n.default.createElement("path",{d:"M12.769 5.14697C12.769 4.1124 11.9306 3.27399 10.896 3.27393H6.73486V12.5571H10.896C11.9305 12.5571 12.769 11.7186 12.769 10.6841V5.14697ZM14.0229 10.6841C14.0229 12.4108 12.6227 13.811 10.896 13.811H5.48096V2.02002H10.896C12.6228 2.02009 14.0229 3.4202 14.0229 5.14697V10.6841Z"}),n.default.createElement("path",{d:"M8.59184 8.30125C8.40949 8.14187 8.40949 7.85828 8.59184 7.6989L10.2507 6.24902C10.5094 6.02292 10.9139 6.20663 10.9139 6.55019V9.44995C10.9139 9.79351 10.5094 9.97722 10.2507 9.75113L8.59184 8.30125Z"}))}let fj=n.default.forwardRef(fP);var fL=function(){return(fL=Object.assign||function(e){for(var t,i=1,r=arguments.length;it.indexOf(r)&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,r=Object.getOwnPropertySymbols(e);st.indexOf(r[s])&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]]);return i};function fO(e,t){var i=(0,n.useContext)(d7.o).prefix,r=e.className,s=void 0===r?"":r,a=e.prefix,o=e.width,l=void 0===o?"1em":o,c=e.height,d=void 0===c?"1em":c,u=e.useCurrentColor,h=void 0===u||u,p=e.spin,m=fD(e,["className","prefix","width","height","useCurrentColor","spin"]),f=a||i||"trae",g=p?" ".concat(f,"-icon-loading"):"";return n.default.createElement("svg",fL({className:"".concat(f,"-icon ").concat(f,"-icon-Expand_filetree").concat(g," ").concat(s),width:l,height:d,viewBox:"0 0 16 16",fill:h?"currentColor":"#000",xmlns:"http://www.w3.org/2000/svg"},m,{ref:t}),n.default.createElement("path",{d:"M9.26538 2.02002V13.811H10.8503C12.5771 13.811 13.9772 12.4108 13.9773 10.6841V5.14697C13.9773 3.42016 12.5772 2.02002 10.8503 2.02002H9.26538ZM12.7234 10.6841C12.7233 11.7186 11.8849 12.5571 10.8503 12.5571H10.5183V3.27393H10.8503C11.885 3.27393 12.7234 4.11236 12.7234 5.14697V10.6841Z"}),n.default.createElement("path",{d:"M3.23096 5.14697C3.23096 4.1124 4.06945 3.27399 5.104 3.27393H9.26514V12.5571H5.104C4.0695 12.5571 3.23104 11.7186 3.23096 10.6841V5.14697ZM1.97705 10.6841C1.97714 12.4108 3.3773 13.811 5.104 13.811H10.519V2.02002H5.104C3.37725 2.02009 1.97705 3.4202 1.97705 5.14697V10.6841Z"}),n.default.createElement("path",{d:"M7.40816 8.30125C7.59051 8.14187 7.59051 7.85828 7.40816 7.6989L5.74931 6.24902C5.49063 6.02292 5.08607 6.20663 5.08607 6.55019V9.44995C5.08607 9.79351 5.49063 9.97722 5.74931 9.75113L7.40816 8.30125Z"}))}let fF=n.default.forwardRef(fO),fU="diffPanelWrapper-OpOaDm",fV="diffPanelContainer-ZzRAyL",fB="diffPanelSidebar-nM5ijs",fz="diffPanelSidebarExpanded-IWs2vv",fW="diffPanelSidebarInner-e7QMMu",fH="diffPanelContent-k8e2By",fG="diffPanelSingleContent-aLjaxV",fZ="diffPanelErrorWrapper-ksCCRT",fK="diffPanelHeader-TPRQbj",fX="headerIcon-QonPIf",fY="headerIconActive-KnOZoc",fJ="headerInfo-Cd8anz",f$="headerTitle-PBBw1A",fq="headerMeta-cUuExE",fQ="headerBranchTag-LxndMc",f0="headerBranchName-VCSgVa",f1="headerBranchArrow-__ILOC",f2="headerBranchDivider-hZ65m2",f3="headerMetaText-hgWstj",f4="headerDiffStats-VZEW6N",f5="headerAdditions-McioJs",f9="headerDeletions-eT4rHp",f6=(0,n.memo)(({taskName:e="Untitled Task",diffs:t,fileTreeExpanded:i,totalInsertLineCount:r,totalDeleteLineCount:n,onToggleFileTree:a,sourceBranch:o,targetBranch:l})=>{let c=lQ(),d=e=>e?e.replace(/^origin\//,""):"",h=o&&l,p=i?c.localize("ondemand.diffPanel.collapseFileTree",{},"Collapse file tree"):c.localize("ondemand.diffPanel.expandFileTree",{},"Expand file tree");return(0,s.jsxs)("div",{className:fK,children:[(0,s.jsx)(u.A,{content:p,side:"top",children:(0,s.jsx)("div",{className:`${fX} ${i?fY:""}`,onClick:a,children:i?(0,s.jsx)(fj,{}):(0,s.jsx)(fF,{})})}),(0,s.jsxs)("div",{className:fJ,children:[(0,s.jsx)("div",{className:f$,children:e}),(0,s.jsxs)("div",{className:fq,children:[h&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:fQ,children:[(0,s.jsx)("span",{className:f0,title:d(o),children:d(o)}),(0,s.jsx)("span",{className:f1,children:"\u2192"}),(0,s.jsx)("span",{className:f0,title:d(l),children:d(l)})]}),(0,s.jsx)("span",{className:f2})]}),(0,s.jsx)("span",{className:f3,children:c.localize("ondemand.diffPanel.filesChanged",{count:t.length},"{count} Files Changed")}),(0,s.jsxs)("div",{className:f4,children:[(0,s.jsxs)("span",{className:f5,children:["+",r]}),(0,s.jsxs)("span",{className:f9,children:["-",n]})]})]})]})]})});f6.displayName="DiffPanelHeader";let f8=f6,f7=(0,n.memo)(({className:e,currentDiff:t=null,allDiffs:i=[],selectedFilePath:r=null,onSelectedFilePathChange:a,loading:o=!1,taskName:l,fileTreeExpanded:c=!0,onFileTreeExpandedChange:d,totalInsertLineCount:u=0,totalDeleteLineCount:h=0,baseUrl:p,sourceBranch:m,targetBranch:f,error:g})=>{let[_,y]=(0,n.useState)(r),[v,b]=(0,n.useState)(c),S=a?r:_,k=d?c:v,x=(0,n.useCallback)(e=>{a?a(e):y(e)},[a]),C=(0,n.useCallback)(()=>{d?d(!k):b(e=>!e)},[d,k]),w=(0,n.useRef)(null),E=(0,n.useRef)(!1),T=(0,n.useRef)(null),I=(0,n.useMemo)(()=>0===i.length?[]:fe(m7(i,p)),[i,p]),R=(0,n.useCallback)(()=>{let e=w.current;return e?e.querySelector('[class*="multiFileContainer"]')||e:null},[]),N=(0,n.useCallback)(()=>{let e=R();if(!e)return null;let t=e.querySelectorAll('[class*="fileBlock"]'),i=e.getBoundingClientRect(),r=null,s=1/0;for(let e=0;e{let t=R();if(!t)return;let i=t.querySelectorAll('[class*="fileBlock"]');for(let r=0;r{let e=t.getBoundingClientRect(),i=s.getBoundingClientRect(),r=t.scrollTop+(i.top-e.top);t.scrollTop=r};!e||i||r?n():(e.click(),setTimeout(n,50));break}}},[R]),M=(0,n.useCallback)((e,t)=>{E.current=!1;let i=t?.filePath??e;x(i),t&&setTimeout(()=>A(i),0)},[x,A]);(0,n.useEffect)(()=>{let e=w.current;if(!e)return;let t=null,i=0,r=10,s=()=>{if(!(t=e.querySelector('[class*="multiFileContainer"]')||null)&&i{E.current=!0,T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{let e=N();e&&e!==S&&x(e),setTimeout(()=>{E.current=!1},50)},100)};return s(),()=>{t&&t.removeEventListener("scroll",n),T.current&&clearTimeout(T.current)}},[I,N,S,x]),(0,n.useEffect)(()=>{if(I.length>0&&!S){let e=I[0];e&&x(e.filePath)}},[I,S,x]);let P=(0,n.useRef)(null);(0,n.useEffect)(()=>{S&&S!==P.current&&!E.current&&setTimeout(()=>A(S),50),P.current=S},[S,A]);let j=I.length>0;return o?(0,s.jsx)(py,{loading:!0}):g||g?(0,s.jsx)("div",{className:`${fZ} ${e??""}`,children:(0,s.jsx)(pA,{mood:"sad",title:g})}):j?(0,s.jsxs)("div",{className:`${fU} ${e??""}`,children:[(0,s.jsx)(f8,{taskName:l,diffs:I,fileTreeExpanded:k,totalInsertLineCount:u,totalDeleteLineCount:h,onToggleFileTree:C,sourceBranch:m,targetBranch:f}),(0,s.jsxs)("div",{className:fV,children:[(0,s.jsx)("div",{className:`${fB} ${k?fz:""}`,children:(0,s.jsx)("div",{className:fW,children:(0,s.jsx)(fN,{diffs:I,selectedPath:S,onFileSelect:M,baseUrl:p})})}),(0,s.jsx)("div",{className:fH,ref:w,children:(0,s.jsx)(m5,{currentDiff:t,allDiffs:I,defaultExpanded:!0})})]})]}):(0,s.jsx)("div",{className:`${fG} ${e??""}`,children:(0,s.jsx)(m5,{currentDiff:t,allDiffs:i})})});f7.displayName="DiffPanel";let ge=f7,gt=e=>{let t,i=new Set,r=(e,r)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=r?r:"object"!=typeof s||null===s)?s:Object.assign({},t,s),i.forEach(i=>i(t,e))}},s=()=>t,n={setState:r,getState:s,getInitialState:()=>a,subscribe:e=>(i.add(e),()=>i.delete(e)),destroy:()=>{i.clear()}},a=t=e(r,s,n);return n},gi=e=>e?gt(e):gt;var gr=i(34315);let{useDebugValue:gs}=n.default,{useSyncExternalStoreWithSelector:gn}=gr,ga=!1,go=e=>e;function gl(e,t=go,i){i&&!ga&&(ga=!0);let r=gn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,i);return gs(r),r}let gc={currentDiff:null,allDiffs:[],selectedFilePath:null,loading:!1,turnId:null,taskName:null,fileTreeExpanded:!0,totalInsertLineCount:0,totalDeleteLineCount:0,baseUrl:null,sourceBranch:null,targetBranch:null,error:null},gd=(e={})=>gi(t=>({...gc,...e,setCurrentDiff:e=>t({currentDiff:e,allDiffs:[],selectedFilePath:null,turnId:null,taskName:null,totalInsertLineCount:0,totalDeleteLineCount:0,sourceBranch:null,targetBranch:null,error:null}),setAllDiffs:(e,i,r,s,n,a,o,l)=>t({allDiffs:e,currentDiff:null,selectedFilePath:null,turnId:i??null,taskName:r??null,totalInsertLineCount:s??0,totalDeleteLineCount:n??0,baseUrl:a??null,sourceBranch:o??null,targetBranch:l??null,error:null}),setSelectedFilePath:e=>t({selectedFilePath:e}),setLoading:e=>t({loading:e}),setFileTreeExpanded:e=>t({fileTreeExpanded:e}),toggleFileTree:()=>t(e=>({fileTreeExpanded:!e.fileTreeExpanded})),setBaseUrl:e=>t({baseUrl:e}),setError:e=>t({error:e}),clearAll:()=>t(gc)})),gu=(0,n.createContext)(null);function gh(e){let t=(0,n.useContext)(gu);if(!t)throw Error("useDiffPanelStore must be used within a DiffPanelProvider");return gl(t,e)}(0,n.memo)(({children:e,initialState:t})=>{let i=(0,n.useRef)(null);return i.current||(i.current=gd(t)),(0,s.jsx)(gu.Provider,{value:i.current,children:e})}).displayName="DiffPanelProvider",(0,n.memo)(({className:e})=>{let t=gh(e=>e.currentDiff),i=gh(e=>e.allDiffs),r=gh(e=>e.selectedFilePath),n=gh(e=>e.setSelectedFilePath),a=gh(e=>e.loading),o=gh(e=>e.taskName),l=gh(e=>e.fileTreeExpanded),c=gh(e=>e.setFileTreeExpanded),d=gh(e=>e.totalInsertLineCount),u=gh(e=>e.totalDeleteLineCount),h=gh(e=>e.baseUrl),p=gh(e=>e.sourceBranch),m=gh(e=>e.targetBranch),f=gh(e=>e.error);return(0,s.jsx)(ge,{className:e,currentDiff:t,allDiffs:i,selectedFilePath:r,onSelectedFilePathChange:n,loading:a,taskName:o??void 0,fileTreeExpanded:l,onFileTreeExpandedChange:c,totalInsertLineCount:d,totalDeleteLineCount:u,baseUrl:h??void 0,sourceBranch:p??void 0,targetBranch:m??void 0,error:f??void 0})}).displayName="DiffPanelWithStore";let gp="diffMobileWrapper-ZugfKH",gm="diffMobileContent-es9MzA",gf="diffMobileSingleContent-yYl_cr",gg="diffMobileErrorWrapper-CKgWsz",g_="diffMobileHeader-EmE8sr",gy="diffMobileHeaderTop-lxgAnS",gv="diffMobileHeaderFileTreeBtn-Dwdb06",gb="diffMobileHeaderTitle-b1TFiK",gS="diffMobileHeaderMeta-n28HFc",gk="diffMobileHeaderBranch-K80V3j",gx="diffMobileHeaderBranchName-ONO564",gC="diffMobileHeaderBranchArrow-AXVq7D",gw="diffMobileHeaderFileCount-kbvciV",gE="diffMobileHeaderStats-muzUKA",gT="diffMobileHeaderAdditions-KxZlVY",gI="diffMobileHeaderDeletions-w51_zG",gR=(0,n.memo)(({taskName:e="Untitled Task",diffs:t,totalInsertLineCount:i,totalDeleteLineCount:r,sourceBranch:n,targetBranch:a,onToggleFileList:o})=>{let l=lQ(),c=e=>e?e.replace(/^origin\//,""):"",d=n&&a;return(0,s.jsxs)("div",{className:g_,children:[(0,s.jsxs)("div",{className:gy,children:[(0,s.jsx)("div",{className:gv,onClick:o,children:(0,s.jsx)(fF,{})}),(0,s.jsx)("div",{className:gb,children:e})]}),(0,s.jsxs)("div",{className:gS,children:[d&&(0,s.jsxs)("div",{className:gk,children:[(0,s.jsx)("span",{className:gx,title:c(n),children:c(n)}),(0,s.jsx)("span",{className:gC,children:"\u2192"}),(0,s.jsx)("span",{className:gx,title:c(a),children:c(a)})]}),(0,s.jsx)("span",{className:gw,children:l.localize("ondemand.diffPanel.filesChanged",{count:t.length},"{count} Files Changed")}),(0,s.jsxs)("div",{className:gE,children:[(0,s.jsxs)("span",{className:gT,children:["+",i]}),(0,s.jsxs)("span",{className:gI,children:["-",r]})]})]})]})});gR.displayName="DiffMobileHeader";let gN=gR,gA="diffFileListOverlay-I7_RqH",gM="diffFileListOverlayVisible-kR54lh",gP="diffFileListPanel-JF6MAA",gj="diffFileListPanelVisible-j2GXhE",gL="diffFileListPanelHeader-XNHzRW",gD="diffFileListPanelTitle-u1knBh",gO="diffFileListCloseBtn-dACi4P",gF="diffFileListSearchBar-FSQu41",gU="diffFileListSearchInput-TK138k",gV="diffFileListSearchIcon-ImB7nS",gB="diffFileListSearchField-Z73DQq",gz="diffFileListTreeContent-QNWADA",gW="diffFileTreeNode-qCggTl",gH="diffFileTreeRow-CCiGas",gG="diffFileTreeRowSelected-oG3Res",gZ="diffFileTreeExpandIcon-EzSGKF",gK="expanded-_WjVdb",gX="collapsed-wTXcEV",gY="diffFileTreeExpandPlaceholder-MjfALS",gJ="diffFileFolderIcon-M51JwZ",g$="diffFileStatusIcon-SWsOhv",gq="diffFileTreeNodeName-CK48Ya",gQ="diffFileTreeChildren-EAp006",g0="diffFileListEmpty-RHiheA",g1=(0,n.memo)(({diffType:e})=>(0,s.jsxs)("span",{className:g$,children:["added"===e&&(0,s.jsx)(pG.A,{style:{color:"var(--status-success-default)"}}),"modified"===e&&(0,s.jsx)(pK.A,{style:{color:"var(--status-alert-default)"}}),"deleted"===e&&(0,s.jsx)(pZ.A,{style:{color:"var(--status-error-default)"}})]}));g1.displayName="DiffStatusIcon";let g2=(e,t)=>{if(!t)return!0;let i=t.toLowerCase();return"file"===e.type?e.displayName.toLowerCase().includes(i)||e.path.toLowerCase().includes(i):!!e.children&&e.children.some(e=>g2(e,t))},g3=(0,n.memo)(({node:e,depth:t,selectedPath:i,expandedPaths:r,filterText:a,onSelect:o,onToggle:l})=>{let c="directory"===e.type,d=r.has(e.path),u=e.diffInfo?i===e.diffInfo.filePath:i===e.path,h=(0,n.useMemo)(()=>{if(e.diffInfo)return m9(e.diffInfo)},[e.diffInfo]),p=(0,n.useCallback)(()=>{c?l(e.path):o(e.path,e.diffInfo)},[c,e.path,e.diffInfo,l,o]);return g2(e,a)?(0,s.jsxs)("div",{className:gW,children:[(0,s.jsxs)("div",{className:`${gH} ${u?gG:""}`,style:{paddingLeft:16*t+16},onClick:p,children:[c?(0,s.jsx)("span",{className:`${gZ} ${d?gK:gX}`,children:(0,s.jsx)(us.A,{})}):(0,s.jsx)("span",{className:gY}),c?(0,s.jsx)("span",{className:gJ,children:(0,s.jsx)(un.Ay,{type:d?"folder.open":"folder.closed",size:"small"})}):h&&(0,s.jsx)(g1,{diffType:h}),(0,s.jsx)("span",{className:gq,children:e.displayName})]}),c&&d&&e.children&&(0,s.jsx)("div",{className:gQ,children:e.children.map(e=>(0,s.jsx)(g3,{node:e,depth:t+1,selectedPath:i,expandedPaths:r,filterText:a,onSelect:o,onToggle:l},e.path))})]}):null});g3.displayName="TreeNodeComponent";let g4=(0,n.memo)(({diffs:e,selectedPath:t,onFileSelect:i,visible:r,onToggleVisible:a,baseUrl:o})=>{let l=lQ(),[c,d]=(0,n.useState)(""),u=(0,n.useMemo)(()=>fi(e,o),[e,o]),[h,p]=(0,n.useState)(()=>{let e=new Set,t=i=>{for(let r of i)"directory"===r.type&&(e.add(r.path),r.children&&t(r.children))};return t(u),e});(0,n.useEffect)(()=>{p(e=>{let t=new Set(e),i=e=>{for(let r of e)"directory"===r.type&&(t.has(r.path)||t.add(r.path),r.children&&i(r.children))};return i(u),t})},[u]);let m=(0,n.useCallback)(e=>{p(t=>{let i=new Set(t);return i.has(e)?i.delete(e):i.add(e),i})},[]),f=(0,n.useCallback)((e,t)=>{i(e,t),a()},[i,a]);return(0,n.useEffect)(()=>{r||d("")},[r]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:`${gA} ${r?gM:""}`,onClick:a}),(0,s.jsxs)("div",{className:`${gP} ${r?gj:""}`,children:[(0,s.jsxs)("div",{className:gL,children:[(0,s.jsx)("span",{className:gD,children:l.localize("ondemand.diffMobile.fileList",{},"Files")}),(0,s.jsx)("div",{className:gO,onClick:a,children:(0,s.jsx)(uY.A,{})})]}),(0,s.jsx)("div",{className:gF,children:(0,s.jsxs)("div",{className:gU,children:[(0,s.jsx)(uX.A,{className:gV}),(0,s.jsx)("input",{className:gB,type:"text",placeholder:l.localize("ondemand.diffMobile.filterFiles",{},"Filter files..."),value:c,onChange:e=>d(e.target.value)})]})}),(0,s.jsx)("div",{className:`${gz} custom-scrollbar`,children:0===e.length?(0,s.jsx)("div",{className:g0,children:l.localize("web.diffPanel.noChangedFiles",{},"No changed files")}):u.map(e=>(0,s.jsx)(g3,{node:e,depth:0,selectedPath:t,expandedPaths:h,filterText:c,onSelect:f,onToggle:m},e.path))})]})]})});g4.displayName="DiffFileList";let g5=g4,g9=(0,n.memo)(({className:e,currentDiff:t=null,allDiffs:i=[],selectedFilePath:r=null,onSelectedFilePathChange:a,loading:o=!1,taskName:l,fileListVisible:c=!1,onFileListVisibleChange:d,totalInsertLineCount:u=0,totalDeleteLineCount:h=0,baseUrl:p,sourceBranch:m,targetBranch:f,error:g})=>{let[_,y]=(0,n.useState)(r),[v,b]=(0,n.useState)(c),S=a?r:_,k=d?c:v,x=(0,n.useCallback)(e=>{a?a(e):y(e)},[a]),C=(0,n.useCallback)(()=>{d?d(!k):b(e=>!e)},[d,k]),w=(0,n.useRef)(null),E=(0,n.useRef)(!1),T=(0,n.useRef)(null),I=(0,n.useMemo)(()=>0===i.length?[]:fe(m7(i,p)),[i,p]),R=(0,n.useCallback)(()=>{let e=w.current;return e?e.querySelector('[class*="multiFileContainer"]')||e:null},[]),N=(0,n.useCallback)(()=>{let e=R();if(!e)return null;let t=e.querySelectorAll('[class*="fileBlock"]'),i=e.getBoundingClientRect(),r=null,s=1/0;for(let e=0;e{let t=R();if(!t)return;let i=t.querySelectorAll('[class*="fileBlock"]');for(let r=0;r{let e=t.getBoundingClientRect(),i=s.getBoundingClientRect(),r=t.scrollTop+(i.top-e.top);t.scrollTop=r};!e||i||r?n():(e.click(),setTimeout(n,50));break}}},[R]),M=(0,n.useCallback)((e,t)=>{E.current=!1;let i=t?.filePath??e;x(i),t&&setTimeout(()=>A(i),0)},[x,A]);(0,n.useEffect)(()=>{let e=w.current;if(!e)return;let t=null,i=0,r=10,s=()=>{if(!(t=e.querySelector('[class*="multiFileContainer"]')||null)&&i{E.current=!0,T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{let e=N();e&&e!==S&&x(e),setTimeout(()=>{E.current=!1},50)},100)};return s(),()=>{t&&t.removeEventListener("scroll",n),T.current&&clearTimeout(T.current)}},[I,N,S,x]),(0,n.useEffect)(()=>{if(I.length>0&&!S){let e=I[0];e&&x(e.filePath)}},[I,S,x]);let P=(0,n.useRef)(null);(0,n.useEffect)(()=>{S&&S!==P.current&&!E.current&&setTimeout(()=>A(S),50),P.current=S},[S,A]);let j=I.length>0;return o?(0,s.jsx)(py,{loading:!0}):g?(0,s.jsx)("div",{className:`${gg} ${e??""}`,children:(0,s.jsx)(pA,{mood:"sad",title:g})}):j?(0,s.jsxs)("div",{className:`${gp} ${e??""}`,children:[(0,s.jsx)(gN,{taskName:l,diffs:I,totalInsertLineCount:u,totalDeleteLineCount:h,sourceBranch:m,targetBranch:f,onToggleFileList:C}),(0,s.jsx)("div",{className:gm,ref:w,children:(0,s.jsx)(m5,{currentDiff:t,allDiffs:I,defaultExpanded:!0})}),(0,s.jsx)(g5,{diffs:I,selectedPath:S,onFileSelect:M,visible:k,onToggleVisible:C,baseUrl:p})]}):(0,s.jsx)("div",{className:`${gf} ${e??""}`,children:(0,s.jsx)(m5,{currentDiff:t,allDiffs:i})})});g9.displayName="DiffMobile";let g6=g9,g8={currentDiff:null,allDiffs:[],selectedFilePath:null,loading:!1,turnId:null,taskName:null,fileListVisible:!1,totalInsertLineCount:0,totalDeleteLineCount:0,baseUrl:null,sourceBranch:null,targetBranch:null,error:null},g7=(e={})=>gi(t=>({...g8,...e,setCurrentDiff:e=>t({currentDiff:e,allDiffs:[],selectedFilePath:null,turnId:null,taskName:null,totalInsertLineCount:0,totalDeleteLineCount:0,sourceBranch:null,targetBranch:null,error:null}),setAllDiffs:(e,i,r,s,n,a,o,l)=>t({allDiffs:e,currentDiff:null,selectedFilePath:null,turnId:i??null,taskName:r??null,totalInsertLineCount:s??0,totalDeleteLineCount:n??0,baseUrl:a??null,sourceBranch:o??null,targetBranch:l??null,error:null}),setSelectedFilePath:e=>t({selectedFilePath:e}),setLoading:e=>t({loading:e}),setFileListVisible:e=>t({fileListVisible:e}),toggleFileList:()=>t(e=>({fileListVisible:!e.fileListVisible})),setBaseUrl:e=>t({baseUrl:e}),setError:e=>t({error:e}),clearAll:()=>t(g8)})),_e=(0,n.createContext)(null);function _t(e){let t=(0,n.useContext)(_e);if(!t)throw Error("useDiffMobileStore must be used within a DiffMobileProvider");return gl(t,e)}(0,n.memo)(({children:e,initialState:t})=>{let i=(0,n.useRef)(null);return i.current||(i.current=g7(t)),(0,s.jsx)(_e.Provider,{value:i.current,children:e})}).displayName="DiffMobileProvider",(0,n.memo)(({className:e})=>{let t=_t(e=>e.currentDiff),i=_t(e=>e.allDiffs),r=_t(e=>e.selectedFilePath),n=_t(e=>e.setSelectedFilePath),a=_t(e=>e.loading),o=_t(e=>e.taskName),l=_t(e=>e.fileListVisible),c=_t(e=>e.setFileListVisible),d=_t(e=>e.totalInsertLineCount),u=_t(e=>e.totalDeleteLineCount),h=_t(e=>e.baseUrl),p=_t(e=>e.sourceBranch),m=_t(e=>e.targetBranch),f=_t(e=>e.error);return(0,s.jsx)(g6,{className:e,currentDiff:t,allDiffs:i,selectedFilePath:r,onSelectedFilePathChange:n,loading:a,taskName:o??void 0,fileListVisible:l,onFileListVisibleChange:c,totalInsertLineCount:d,totalDeleteLineCount:u,baseUrl:h??void 0,sourceBranch:p??void 0,targetBranch:m??void 0,error:f??void 0})}).displayName="DiffMobileWithStore";var _i=i(69686);let _r="popoverContent-mFFc7K",_s="arrowOverride-NDdq2S",_n="wrapper-oEKpH7",_a="container-q2CwTu",_o="header-q87jjs",_l="title-PFAq_i",_c="closeButton-MPwIaT",_d="content-ccMZxI",_u="lottie-cfcNM8",_h="lottieRecolor-jk8FO1",_p="footer-SORHhE";var _m=JSON.parse('{"assets":[{"id":"8","layers":[{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[-0.9,0.6],[0.4,0.9],[0,0],[0,0],[0,0]],"v":[[0,0],[0,32],[8,24],[14.7,37.3],[17.3,37.3],[18.7,34.7],[12,21.3],[21.3,21.3],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0.9,-0.6],[-1.8,-4.4],[0,0],[0,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0,0,0]},"r":2,"o":{"a":0,"k":100}}]},{"ind":4,"ty":3,"ks":{"p":{"a":0,"k":[2.667,6.438]}},"ip":0,"op":241,"st":0},{"ind":7,"ty":4,"parent":6,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[2.5,-1],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.6,-1.4]],"v":[[23.8,40.1],[21.3,46.4],[15.7,46.4],[9.9,34.9],[0,44.9],[0,0],[30.4,30.4],[19.1,30.4],[23.8,40.1]],"o":[[0.5,1.1],[-2.5,1],[0,0],[0,0],[0,0],[0,0],[0,0],[0.6,1.1],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1]},"o":{"a":0,"k":100}}]},{"ind":6,"ty":3,"ks":{},"ip":0,"op":241,"st":0}]},{"id":"12","layers":[{"ind":10,"ty":0,"ks":{"p":{"a":0,"k":[13.63,13.63]}},"w":31,"h":47,"ip":0,"op":241,"st":0,"refId":"8"},{"ind":11,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.849,37.068]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57.697,74.135]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]}]},{"id":"15","layers":[{"ind":14,"ty":0,"parent":3,"ks":{"p":{"a":0,"k":[-13.63,-13.63]}},"ef":[{"ty":25,"ef":[{"ty":2,"nm":"Shadow Color","v":{"a":0,"k":[0,0,0]}},{"ty":0,"nm":"Opacity","v":{"a":0,"k":166}},{"ty":1,"nm":"Direction","v":{"a":0,"k":180}},{"ty":0,"nm":"Distance","v":{"a":1,"k":[{"t":0,"s":[2.222],"h":1},{"t":58.2,"s":[2.222],"i":{"x":0.854,"y":0.399},"o":{"x":0.62,"y":0.001}},{"t":64.2,"s":[2.354],"i":{"x":0.271,"y":0.692},"o":{"x":0.216,"y":0.251}},{"t":70.2,"s":[2.823],"i":{"x":0.656,"y":1},"o":{"x":0.282,"y":0.794}},{"t":82.2,"s":[2.963],"i":{"x":0.84,"y":0.421},"o":{"x":0.593,"y":0.001}},{"t":88.2,"s":[2.757],"i":{"x":0.235,"y":0.774},"o":{"x":0.223,"y":0.372}},{"t":94.2,"s":[2.308],"i":{"x":0.49,"y":0.999},"o":{"x":0.19,"y":0.585}},{"t":106.2,"s":[2.222],"h":1},{"t":240,"s":[2.222],"h":1}]}},{"ty":0,"nm":"Softness","v":{"a":1,"k":[{"t":0,"s":[8],"h":1},{"t":58.2,"s":[8],"i":{"x":0.854,"y":0.399},"o":{"x":0.62,"y":0.001}},{"t":64.2,"s":[8.48],"i":{"x":0.271,"y":0.692},"o":{"x":0.216,"y":0.251}},{"t":70.2,"s":[10.16],"i":{"x":0.656,"y":1},"o":{"x":0.282,"y":0.794}},{"t":82.2,"s":[10.67],"i":{"x":0.84,"y":0.421},"o":{"x":0.593,"y":0.001}},{"t":88.2,"s":[9.92],"i":{"x":0.235,"y":0.774},"o":{"x":0.223,"y":0.372}},{"t":94.2,"s":[8.31],"i":{"x":0.49,"y":0.999},"o":{"x":0.19,"y":0.585}},{"t":106.2,"s":[8],"h":1},{"t":240,"s":[8],"h":1}]}}]}],"w":57.6972,"h":74.1351,"ip":0,"op":241,"st":0,"refId":"12"},{"ind":3,"ty":3,"ks":{"p":{"a":0,"k":[18.667,8]}},"ip":0,"op":241,"st":0}]},{"id":"18","layers":[{"ind":17,"ty":0,"ks":{"a":{"a":1,"k":[{"t":0,"s":[263,164],"i":{"x":[0.611,0.594],"y":[0.386,0.658]},"o":{"x":[0.649,0.64],"y":[0,0]}},{"t":19.5,"s":[203.28,98.323],"i":{"x":[0.514,0.479],"y":[0.74,0.901]},"o":{"x":[0.216,0.202],"y":[0.381,0.653]}},{"t":39,"s":[149.773,81.217],"i":{"x":[0.555,0.445],"y":[1,1]},"o":{"x":[0.235,0.19],"y":[0.619,1]}},{"t":78,"s":[128,80],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[128,80],"i":{"x":[0.809,0.816],"y":[0.385,0.997]},"o":{"x":[0.516,0.584],"y":[0,0.001]}},{"t":116.778,"s":[148.99522390643455,78.914],"i":{"x":[0.726,0.735],"y":[0.63,0.272]},"o":{"x":[0.407,0.418],"y":[0.293,0.002]}},{"t":118.8,"s":[166.955,79.82484383561516],"i":{"x":[0.636,0.613],"y":[0.676,0.406]},"o":{"x":[0.405,0.39],"y":[0.33,0.121]}},{"t":121.758,"s":[210.44176345907636,91.629],"i":{"x":[0.487,0.515],"y":[0.716,0.639]},"o":{"x":[0.207,0.226],"y":[0.37,0.275]}},{"t":126.732,"s":[246.85283779548678,116.732],"h":1},{"t":126.732,"s":[246.85283780700308,116.732],"i":{"x":[0.594,0.599],"y":[0.716,0.687]},"o":{"x":[0.267,0.272],"y":[0.378,0.347]}},{"t":131.4,"s":[260.202,130.46244354411593],"i":{"x":[0.584,0.617],"y":[0.698,0.705]},"o":{"x":[0.261,0.287],"y":[0.354,0.366]}},{"t":136.692,"s":[268.0213253756998,139.983],"i":{"x":[0.53,0.63],"y":[1,1]},"o":{"x":[0.217,0.288],"y":[0.582,0.722]}},{"t":156.6,"s":[276,151],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[276,151],"h":1}]},"p":{"a":1,"k":[{"t":0,"s":[263,164],"i":{"x":[0.611,0.594],"y":[0.386,0.658]},"o":{"x":[0.649,0.64],"y":[0,0]}},{"t":19.5,"s":[203.28,98.323],"i":{"x":[0.514,0.479],"y":[0.74,0.901]},"o":{"x":[0.216,0.202],"y":[0.381,0.653]}},{"t":39,"s":[149.773,81.217],"i":{"x":[0.555,0.445],"y":[1,1]},"o":{"x":[0.235,0.19],"y":[0.619,1]}},{"t":78,"s":[128,80],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[128,80],"i":{"x":[0.809,0.816],"y":[0.385,0.997]},"o":{"x":[0.516,0.584],"y":[0,0.001]}},{"t":116.778,"s":[148.99522390643455,78.914],"i":{"x":[0.726,0.735],"y":[0.63,0.272]},"o":{"x":[0.407,0.418],"y":[0.293,0.002]}},{"t":118.8,"s":[166.955,79.82484383561516],"i":{"x":[0.636,0.613],"y":[0.676,0.406]},"o":{"x":[0.405,0.39],"y":[0.33,0.121]}},{"t":121.758,"s":[210.44176345907636,91.629],"i":{"x":[0.487,0.515],"y":[0.716,0.639]},"o":{"x":[0.207,0.226],"y":[0.37,0.275]}},{"t":126.732,"s":[246.85283779548678,116.732],"h":1},{"t":126.732,"s":[246.85283780700308,116.732],"i":{"x":[0.594,0.599],"y":[0.716,0.687]},"o":{"x":[0.267,0.272],"y":[0.378,0.347]}},{"t":131.4,"s":[260.202,130.46244354411593],"i":{"x":[0.584,0.617],"y":[0.698,0.705]},"o":{"x":[0.261,0.287],"y":[0.354,0.366]}},{"t":136.692,"s":[268.0213253756998,139.983],"i":{"x":[0.53,0.63],"y":[1,1]},"o":{"x":[0.217,0.288],"y":[0.582,0.722]}},{"t":156.6,"s":[276,151],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[276,151],"h":1}]}},"w":64,"h":64,"ip":0,"op":241,"st":0,"refId":"15"}]},{"id":"24","layers":[{"ind":23,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[254.361,8.55]},"r":{"a":0,"k":37046.012},"s":{"a":0,"k":[508.721,17.1]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"31","layers":[{"ind":30,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[25,21]},"r":{"a":0,"k":0},"s":{"a":0,"k":[50,42]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.24,2.24],[2.24,39.65],[47.13,39.65],[47.13,9.72],[24.69,9.72],[19.7,2.24]]}}},{"ty":"st","c":{"a":0,"k":[0.45,0.49,0.58,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"34","layers":[{"ind":33,"ty":0,"parent":29,"ks":{},"w":50,"h":42,"ip":0,"op":241,"st":0,"refId":"31"},{"ind":29,"ty":3,"parent":28,"ks":{"s":{"a":0,"k":[100,102.38]}},"ip":0,"op":241,"st":0},{"ind":28,"ty":3,"ks":{"p":{"a":0,"k":[5.134,7.496]}},"ip":0,"op":241,"st":0}]},{"id":"40","layers":[{"ind":39,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[8.5,13.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[17,27]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,23.13],[13.15,13.15],[3.17,3.17]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"43","layers":[{"ind":42,"ty":0,"parent":38,"ks":{},"w":17,"h":27,"ip":0,"op":241,"st":0,"refId":"40"},{"ind":38,"ty":3,"ks":{"p":{"a":0,"k":[21.533,16.496]}},"ip":0,"op":241,"st":0}]},{"id":"50","layers":[{"ind":49,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"56","layers":[{"ind":55,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[158.174,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[316.348,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"62","layers":[{"ind":61,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[25,21]},"r":{"a":0,"k":0},"s":{"a":0,"k":[50,42]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.24,2.24],[2.24,39.65],[47.13,39.65],[47.13,9.72],[24.69,9.72],[19.7,2.24]]}}},{"ty":"st","c":{"a":0,"k":[0.45,0.49,0.58,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"65","layers":[{"ind":64,"ty":0,"parent":60,"ks":{},"w":50,"h":42,"ip":0,"op":241,"st":0,"refId":"62"},{"ind":60,"ty":3,"ks":{"p":{"a":0,"k":[5.134,7.64]}},"ip":0,"op":241,"st":0}]},{"id":"71","layers":[{"ind":70,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[8.5,13.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[17,27]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,23.13],[13.15,13.15],[3.17,3.17]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"74","layers":[{"ind":73,"ty":0,"parent":69,"ks":{},"w":17,"h":27,"ip":0,"op":241,"st":0,"refId":"71"},{"ind":69,"ty":3,"ks":{"p":{"a":0,"k":[21.533,16.64]}},"ip":0,"op":241,"st":0}]},{"id":"80","layers":[{"ind":79,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"86","layers":[{"ind":85,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[161,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[322,20]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"92","layers":[{"ind":91,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,23]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,46]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[23.13,42.62],[33.1,2.72]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[43.07,12.7],[53.05,22.67],[43.07,32.65]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[13.15,32.65],[3.17,22.67],[13.15,12.7]]}}},{"ty":"st","c":{"a":0,"k":[0.25,0.52,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"95","layers":[{"ind":94,"ty":0,"parent":90,"ks":{},"w":57,"h":46,"ip":0,"op":241,"st":0,"refId":"92"},{"ind":90,"ty":3,"ks":{"p":{"a":0,"k":[1.734,6.782]}},"ip":0,"op":241,"st":0}]},{"id":"101","layers":[{"ind":100,"ty":4,"parent":99,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.7,0],[0,4.7],[-4.7,0],[0,-4.7]],"v":[[17.1,8.5],[8.5,17.1],[0,8.5],[8.5,0],[17.1,8.5]],"o":[[0,4.7],[-4.7,0],[0,-4.7],[4.7,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.337,0.388,0.467,0.149]},"o":{"a":0,"k":14.9}}]},{"ind":99,"ty":3,"ks":{"p":{"a":0,"k":[21.375,21.375]}},"ip":0,"op":241,"st":0}]},{"id":"107","layers":[{"ind":106,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"113","layers":[{"ind":112,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"119","layers":[{"ind":118,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[102.599,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[205.198,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"126","layers":[{"ind":125,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29,23.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[58,47]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[23.72,43.72],[33.95,2.79]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[44.18,13.03],[54.42,23.26],[44.18,33.49]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[13.49,33.49],[3.26,23.26],[13.49,13.03]]}}},{"ty":"st","c":{"a":0,"k":[0.25,0.52,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.6}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"129","layers":[{"ind":128,"ty":0,"parent":124,"ks":{},"w":58,"h":47,"ip":0,"op":241,"st":0,"refId":"126"},{"ind":124,"ty":3,"parent":123,"ks":{"s":{"a":0,"k":[100,102.13]}},"ip":0,"op":241,"st":0},{"ind":123,"ty":3,"ks":{"p":{"a":0,"k":[1.734,6.696]}},"ip":0,"op":241,"st":0}]},{"id":"135","layers":[{"ind":134,"ty":4,"parent":133,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.7,0],[0,4.7],[-4.7,0],[0,-4.7]],"v":[[17.1,8.5],[8.5,17.1],[0,8.5],[8.5,0],[17.1,8.5]],"o":[[0,4.7],[-4.7,0],[0,-4.7],[4.7,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.337,0.388,0.467,0.149]},"o":{"a":0,"k":14.9}}]},{"ind":133,"ty":3,"ks":{"p":{"a":0,"k":[21.375,21.374]}},"ip":0,"op":241,"st":0}]},{"id":"141","layers":[{"ind":140,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"147","layers":[{"ind":146,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"153","layers":[{"ind":152,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[222.5,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[445,20]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"160","layers":[{"ind":159,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29,23.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[58,47]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[23.72,43.72],[33.95,2.79]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[44.18,13.03],[54.42,23.26],[44.18,33.49]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[13.49,33.49],[3.26,23.26],[13.49,13.03]]}}},{"ty":"st","c":{"a":0,"k":[0.25,0.52,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.6}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"163","layers":[{"ind":162,"ty":0,"parent":158,"ks":{},"w":58,"h":47,"ip":0,"op":241,"st":0,"refId":"160"},{"ind":158,"ty":3,"parent":157,"ks":{"s":{"a":0,"k":[100,102.13]}},"ip":0,"op":241,"st":0},{"ind":157,"ty":3,"ks":{"p":{"a":0,"k":[1.734,6.839]}},"ip":0,"op":241,"st":0}]},{"id":"169","layers":[{"ind":168,"ty":4,"parent":167,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.7,0],[0,4.7],[-4.7,0],[0,-4.7]],"v":[[17.1,8.5],[8.5,17.1],[0,8.5],[8.5,0],[17.1,8.5]],"o":[[0,4.7],[-4.7,0],[0,-4.7],[4.7,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.337,0.388,0.467,0.149]},"o":{"a":0,"k":14.9}}]},{"ind":167,"ty":3,"ks":{"p":{"a":0,"k":[21.375,21.377]}},"ip":0,"op":241,"st":0}]},{"id":"175","layers":[{"ind":174,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"181","layers":[{"ind":180,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"187","layers":[{"ind":186,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[242,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[484,20]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"194","layers":[{"ind":193,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[27,21.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[54,43]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[15.09,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[43.87,40.67],[50.27,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[2.3,40.67],[2.3,2.3],[20.21,2.3],[25.32,9.97],[45.79,9.97],[45.79,20.21]]}}},{"ty":"st","c":{"a":0,"k":[0.45,0.49,0.58,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.6}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"197","layers":[{"ind":196,"ty":0,"parent":192,"ks":{},"w":54,"h":43,"ip":0,"op":241,"st":0,"refId":"194"},{"ind":192,"ty":3,"parent":191,"ks":{"s":{"a":0,"k":[101.85,102.33]}},"ip":0,"op":241,"st":0},{"ind":191,"ty":3,"ks":{"p":{"a":0,"k":[4.533,6.982]}},"ip":0,"op":241,"st":0}]},{"id":"204","layers":[{"ind":203,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[13.5,8.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[27,17]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,3.18],[13.15,13.15],[23.13,3.18]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"207","layers":[{"ind":206,"ty":0,"parent":202,"ks":{},"w":27,"h":17,"ip":0,"op":241,"st":0,"refId":"204"},{"ind":202,"ty":3,"parent":201,"ks":{"s":{"a":0,"k":[103.7,100]}},"ip":0,"op":241,"st":0},{"ind":201,"ty":3,"ks":{"p":{"a":0,"k":[15.933,21.211]}},"ip":0,"op":241,"st":0}]},{"id":"213","layers":[{"ind":212,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[309,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[618,20]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"220","layers":[{"ind":219,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29,23.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[58,47]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[23.72,43.72],[33.95,2.79]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[44.18,13.03],[54.42,23.26],[44.18,33.49]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[13.49,33.49],[3.26,23.26],[13.49,13.03]]}}},{"ty":"st","c":{"a":0,"k":[0.25,0.52,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.6}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"223","layers":[{"ind":222,"ty":0,"parent":218,"ks":{},"w":58,"h":47,"ip":0,"op":241,"st":0,"refId":"220"},{"ind":218,"ty":3,"parent":217,"ks":{"s":{"a":0,"k":[101.72,100]}},"ip":0,"op":241,"st":0},{"ind":217,"ty":3,"ks":{"p":{"a":0,"k":[1.382,7.125]}},"ip":0,"op":241,"st":0}]},{"id":"230","layers":[{"ind":229,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[2.5,6.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[5,13]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.24,2.24],[2.24,12.22],[2.24,2.24]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"233","layers":[{"ind":232,"ty":0,"parent":228,"ks":{},"w":5,"h":13,"ip":0,"op":241,"st":0,"refId":"230"},{"ind":228,"ty":3,"parent":227,"ks":{"s":{"a":0,"k":[120,100]}},"ip":0,"op":241,"st":0},{"ind":227,"ty":3,"ks":{"p":{"a":0,"k":[-3.068,22.354]}},"ip":0,"op":241,"st":0}]},{"id":"236","layers":[{"ind":26,"ty":0,"parent":22,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[205.198,46.021]}},"w":509,"h":18,"ip":0,"op":241,"st":0,"refId":"24"},{"ind":36,"ty":0,"parent":27,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8495,"h":59.8495,"ip":0,"op":241,"st":0,"refId":"34"},{"ind":27,"ty":3,"parent":22,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":45,"ty":0,"parent":37,"ks":{"a":{"a":0,"k":[68.399,24.647]},"p":{"a":0,"k":[68.399,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"43"},{"ind":37,"ty":3,"parent":22,"ks":{"p":{"a":0,"k":[68.399,24.647]}},"ip":0,"op":241,"st":0},{"ind":52,"ty":0,"parent":48,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"50"},{"ind":48,"ty":3,"parent":47,"ks":{"s":{"a":0,"k":[100,100.91]}},"ip":0,"op":241,"st":0},{"ind":47,"ty":3,"parent":46,"ks":{"p":{"a":0,"k":[-0.067,-0.857]}},"ip":0,"op":241,"st":0},{"ind":46,"ty":3,"parent":22,"ks":{},"ip":0,"op":241,"st":0},{"ind":22,"ty":3,"ks":{"p":{"a":0,"k":[51.3,654.857]}},"ip":0,"op":241,"st":0},{"ind":58,"ty":0,"parent":54,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[8.55,0]}},"w":317,"h":21,"ip":0,"op":241,"st":0,"refId":"56"},{"ind":54,"ty":3,"parent":53,"ks":{"p":{"a":0,"k":[205.198,44.339]}},"ip":0,"op":241,"st":0},{"ind":67,"ty":0,"parent":59,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8495,"h":59.8495,"ip":0,"op":241,"st":0,"refId":"65"},{"ind":59,"ty":3,"parent":53,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":76,"ty":0,"parent":68,"ks":{"a":{"a":0,"k":[68.399,24.647]},"p":{"a":0,"k":[68.399,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"74"},{"ind":68,"ty":3,"parent":53,"ks":{"p":{"a":0,"k":[68.399,24.647]}},"ip":0,"op":241,"st":0},{"ind":82,"ty":0,"parent":78,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"80"},{"ind":78,"ty":3,"parent":77,"ks":{"p":{"a":0,"k":[-0.067,-0.714]}},"ip":0,"op":241,"st":0},{"ind":77,"ty":3,"parent":53,"ks":{},"ip":0,"op":241,"st":0},{"ind":53,"ty":3,"ks":{"p":{"a":0,"k":[51.3,545.714]}},"ip":0,"op":241,"st":0},{"ind":88,"ty":0,"parent":84,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":322,"h":20,"ip":0,"op":241,"st":0,"refId":"86"},{"ind":84,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[273.598,44.339]}},"ip":0,"op":241,"st":0},{"ind":97,"ty":0,"parent":89,"ks":{"a":{"a":0,"k":[205.198,24.647]},"p":{"a":0,"k":[205.198,24.647]}},"w":59.8495,"h":59.8495,"ip":0,"op":241,"st":0,"refId":"95"},{"ind":89,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[205.198,24.647]}},"ip":0,"op":241,"st":0},{"ind":103,"ty":0,"parent":98,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"101"},{"ind":98,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":109,"ty":0,"parent":105,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"107"},{"ind":105,"ty":3,"parent":104,"ks":{"p":{"a":0,"k":[-0.467,-0.571]}},"ip":0,"op":241,"st":0},{"ind":104,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[68.399,0]}},"ip":0,"op":241,"st":0},{"ind":115,"ty":0,"parent":111,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"113"},{"ind":111,"ty":3,"parent":110,"ks":{"p":{"a":0,"k":[-0.067,-0.571]}},"ip":0,"op":241,"st":0},{"ind":110,"ty":3,"parent":83,"ks":{},"ip":0,"op":241,"st":0},{"ind":83,"ty":3,"ks":{"p":{"a":0,"k":[51.3,436.571]}},"ip":0,"op":241,"st":0},{"ind":121,"ty":0,"parent":117,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[8.55,0]}},"w":206,"h":21,"ip":0,"op":241,"st":0,"refId":"119"},{"ind":117,"ty":3,"parent":116,"ks":{"p":{"a":0,"k":[275.141,44.339]}},"ip":0,"op":241,"st":0},{"ind":131,"ty":0,"parent":122,"ks":{"a":{"a":0,"k":[205.198,23.875]},"p":{"a":0,"k":[205.198,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"129"},{"ind":122,"ty":3,"parent":116,"ks":{"p":{"a":0,"k":[205.198,23.875]}},"ip":0,"op":241,"st":0},{"ind":137,"ty":0,"parent":132,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"135"},{"ind":132,"ty":3,"parent":116,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":143,"ty":0,"parent":139,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"141"},{"ind":139,"ty":3,"parent":138,"ks":{"p":{"a":0,"k":[-0.467,-0.429]}},"ip":0,"op":241,"st":0},{"ind":138,"ty":3,"parent":116,"ks":{"p":{"a":0,"k":[68.399,0]}},"ip":0,"op":241,"st":0},{"ind":149,"ty":0,"parent":145,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"147"},{"ind":145,"ty":3,"parent":144,"ks":{"p":{"a":0,"k":[-0.067,-0.429]}},"ip":0,"op":241,"st":0},{"ind":144,"ty":3,"parent":116,"ks":{},"ip":0,"op":241,"st":0},{"ind":116,"ty":3,"ks":{"p":{"a":0,"k":[51.3,327.429]}},"ip":0,"op":241,"st":0},{"ind":155,"ty":0,"parent":151,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":445,"h":20,"ip":0,"op":241,"st":0,"refId":"153"},{"ind":151,"ty":3,"parent":150,"ks":{"p":{"a":0,"k":[275.141,44.339]}},"ip":0,"op":241,"st":0},{"ind":165,"ty":0,"parent":156,"ks":{"a":{"a":0,"k":[205.198,23.875]},"p":{"a":0,"k":[205.198,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"163"},{"ind":156,"ty":3,"parent":150,"ks":{"p":{"a":0,"k":[205.198,23.875]}},"ip":0,"op":241,"st":0},{"ind":171,"ty":0,"parent":166,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"169"},{"ind":166,"ty":3,"parent":150,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":177,"ty":0,"parent":173,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"175"},{"ind":173,"ty":3,"parent":172,"ks":{"p":{"a":0,"k":[-0.467,-0.286]}},"ip":0,"op":241,"st":0},{"ind":172,"ty":3,"parent":150,"ks":{"p":{"a":0,"k":[68.399,0]}},"ip":0,"op":241,"st":0},{"ind":183,"ty":0,"parent":179,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"181"},{"ind":179,"ty":3,"parent":178,"ks":{"p":{"a":0,"k":[-0.067,-0.286]}},"ip":0,"op":241,"st":0},{"ind":178,"ty":3,"parent":150,"ks":{},"ip":0,"op":241,"st":0},{"ind":150,"ty":3,"ks":{"p":{"a":0,"k":[51.3,218.286]}},"ip":0,"op":241,"st":0},{"ind":189,"ty":0,"parent":185,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":484,"h":20,"ip":0,"op":241,"st":0,"refId":"187"},{"ind":185,"ty":3,"parent":184,"ks":{"p":{"a":0,"k":[138.342,44.339]}},"ip":0,"op":241,"st":0},{"ind":199,"ty":0,"parent":190,"ks":{"a":{"a":0,"k":[68.399,23.875]},"p":{"a":0,"k":[68.399,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"197"},{"ind":190,"ty":3,"parent":184,"ks":{"p":{"a":0,"k":[68.399,23.875]}},"ip":0,"op":241,"st":0},{"ind":209,"ty":0,"parent":200,"ks":{"a":{"a":0,"k":[0,24.647]},"p":{"a":0,"k":[0,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"207"},{"ind":200,"ty":3,"parent":184,"ks":{"p":{"a":0,"k":[0,24.647]}},"ip":0,"op":241,"st":0},{"ind":184,"ty":3,"ks":{"p":{"a":0,"k":[51.3,109.143]}},"ip":0,"op":241,"st":0},{"ind":215,"ty":0,"parent":211,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":618,"h":20,"ip":0,"op":241,"st":0,"refId":"213"},{"ind":211,"ty":3,"parent":210,"ks":{"p":{"a":0,"k":[78.493,44.339]}},"ip":0,"op":241,"st":0},{"ind":225,"ty":0,"parent":216,"ks":{"a":{"a":0,"k":[8.55,23.875]},"p":{"a":0,"k":[8.55,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"223"},{"ind":216,"ty":3,"parent":210,"ks":{"p":{"a":0,"k":[8.55,23.875]}},"ip":0,"op":241,"st":0},{"ind":235,"ty":0,"parent":226,"ks":{"a":{"a":0,"k":[0,24.647]},"p":{"a":0,"k":[0,24.647]}},"w":0.0003,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"233"},{"ind":226,"ty":3,"parent":210,"ks":{"p":{"a":0,"k":[0,24.647]}},"ip":0,"op":241,"st":0},{"ind":210,"ty":3,"ks":{"p":{"a":0,"k":[51.3,0]}},"ip":0,"op":241,"st":0}]},{"id":"239","layers":[{"ind":238,"ty":0,"ks":{"a":{"a":0,"k":[944.768,0]},"p":{"a":0,"k":[944.768,0]}},"w":944.7678,"h":764,"ip":0,"op":241,"st":0,"refId":"236"}]},{"id":"246","layers":[{"ind":245,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[20.464,10.232]},"r":{"a":0,"k":1.587},"s":{"a":0,"k":[40.929,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"251","layers":[{"ind":250,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29.313,10.232]},"r":{"a":0,"k":0.794},"s":{"a":0,"k":[58.625,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"256","layers":[{"ind":255,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[168.83,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[337.661,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"263","layers":[{"ind":262,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[36.67,21.03],[23.88,36.67],[18.19,30.98]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[14.13,0],[0,14.13],[-14.13,0],[0,-14.12]],"o":[[0,14.13],[-14.13,0],[0,-14.12],[14.13,0],[0,0]],"v":[[53.72,28.14],[28.14,53.72],[2.56,28.14],[28.14,2.56],[53.72,28.14]]}}},{"ty":"st","c":{"a":0,"k":[0.15,0.65,0.48,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":5.12}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"266","layers":[{"ind":265,"ty":0,"parent":261,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"263"},{"ind":261,"ty":3,"ks":{"p":{"a":0,"k":[5.683,5.965]}},"ip":0,"op":241,"st":0}]},{"id":"273","layers":[{"ind":272,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[20.464,10.232]},"r":{"a":0,"k":1.587},"s":{"a":0,"k":[40.929,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"278","layers":[{"ind":277,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29.313,10.232]},"r":{"a":0,"k":0.794},"s":{"a":0,"k":[58.625,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"283","layers":[{"ind":282,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[143.25,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[286.5,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"290","layers":[{"ind":289,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[3,13.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[6,27]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.56,23.98],[2.56,23.95]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.56,2.56],[2.56,15.45]]}}},{"ty":"st","c":{"a":0,"k":[0.78,0.65,0.15,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":5.12}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"296","layers":[{"ind":295,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[14.13,0],[0,14.13],[-14.12,0],[0,-14.12]],"o":[[0,14.13],[-14.12,0],[0,-14.12],[14.13,0],[0,0]],"v":[[53.72,28.14],[28.14,53.72],[2.56,28.14],[28.14,2.56],[53.72,28.14]]}}},{"ty":"st","c":{"a":0,"k":[0.78,0.65,0.15,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":5.12}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"299","layers":[{"ind":292,"ty":0,"parent":288,"ks":{},"w":6,"h":27,"ip":0,"op":241,"st":0,"refId":"290"},{"ind":288,"ty":3,"ks":{"p":{"a":0,"k":[30.995,20.576]}},"ip":0,"op":241,"st":0},{"ind":298,"ty":0,"parent":294,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"296"},{"ind":294,"ty":3,"parent":293,"ks":{"s":{"a":0,"k":[101.75,100]}},"ip":0,"op":241,"st":0},{"ind":293,"ty":3,"ks":{"p":{"a":0,"k":[4.995,5.576]}},"ip":0,"op":241,"st":0}]},{"id":"311","layers":[{"ind":306,"ty":4,"parent":305,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,17.054]},"r":{"a":0,"k":0},"s":{"a":0,"k":[62.53,85.268]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"v":[[0,0],[0,34.1],[11.4,34.1]],"o":[[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,14.2],[11.4,14.2]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.039,0.722,0.38]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":305,"ty":3,"ks":{"p":{"a":0,"k":[14.212,22.738]}},"ip":0,"op":241,"st":0},{"ind":308,"ty":4,"parent":307,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,5.685]},"r":{"a":0,"k":0},"s":{"a":0,"k":[16.485,16.485]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[5.685,5.685]},"s":{"a":0,"k":[11.369,11.369]}},{"ty":"st","c":{"a":0,"k":[0.039,0.722,0.38]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":307,"ty":3,"ks":{"p":{"a":0,"k":[8.527,11.369]}},"ip":0,"op":241,"st":0},{"ind":310,"ty":4,"parent":309,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.054,19.896]},"r":{"a":0,"k":0},"s":{"a":0,"k":[85.268,90.952]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,0],[34.1,0]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,19.9],[34.1,19.9]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,39.8],[34.1,39.8]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.039,0.722,0.38]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":309,"ty":3,"ks":{"p":{"a":0,"k":[25.581,17.054]}},"ip":0,"op":241,"st":0}]},{"id":"315","layers":[{"ind":313,"ty":0,"parent":304,"ks":{"a":{"a":0,"k":[6.821,6.822]},"p":{"a":0,"k":[6.821,6.822]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"311"},{"ind":304,"ty":3,"ks":{"p":{"a":0,"k":[6.821,6.822]}},"ip":0,"op":241,"st":0},{"ind":314,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[40.929,40.929]},"r":{"a":0,"k":12},"s":{"a":0,"k":[81.857,81.857]}},{"ty":"fl","c":{"a":0,"k":[0.855,0.867,0.882]},"o":{"a":0,"k":100}}]}]},{"id":"326","layers":[{"ind":321,"ty":4,"parent":320,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,17.054]},"r":{"a":0,"k":0},"s":{"a":0,"k":[62.53,85.268]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"v":[[0,0],[0,34.1],[11.4,34.1]],"o":[[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,14.2],[11.4,14.2]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.039,0.722,0.38]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":320,"ty":3,"ks":{"p":{"a":0,"k":[14.212,22.738]}},"ip":0,"op":241,"st":0},{"ind":323,"ty":4,"parent":322,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,5.685]},"r":{"a":0,"k":0},"s":{"a":0,"k":[16.485,16.485]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[5.685,5.685]},"s":{"a":0,"k":[11.369,11.369]}},{"ty":"st","c":{"a":0,"k":[0.039,0.722,0.38]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":322,"ty":3,"ks":{"p":{"a":0,"k":[8.527,11.369]}},"ip":0,"op":241,"st":0},{"ind":325,"ty":4,"parent":324,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.054,19.896]},"r":{"a":0,"k":0},"s":{"a":0,"k":[85.268,90.952]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,0],[34.1,0]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,19.9],[34.1,19.9]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,39.8],[34.1,39.8]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.039,0.722,0.38]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":324,"ty":3,"ks":{"p":{"a":0,"k":[25.581,17.054]}},"ip":0,"op":241,"st":0}]},{"id":"333","layers":[{"ind":332,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10,10],[0,10],[0,0],[10,0],[10,10]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31.1,10],[21.1,10],[21.1,0],[31.1,0],[31.1,10]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[52.2,10],[42.2,10],[42.2,0],[52.2,0],[52.2,10]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.357,0.376,0.4]},"o":{"a":0,"k":100}}]}]},{"id":"336","layers":[{"ind":335,"ty":0,"ks":{"o":{"a":0,"k":80},"p":{"a":0,"k":[8.005,29.098]}},"w":53,"h":11,"ip":0,"op":241,"st":0,"refId":"333"}]},{"id":"339","layers":[{"ind":338,"ty":0,"ks":{"a":{"a":0,"k":[6.821,6.821]},"p":{"a":0,"k":[6.821,6.821]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"336"}]},{"id":"344","layers":[{"ind":343,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[190.861,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[381.722,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.357,0.376,0.4]},"o":{"a":0,"k":100}}]}]},{"id":"353","layers":[{"ind":352,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[15,25]},"r":{"a":0,"k":0},"s":{"a":0,"k":[30,50]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-11.77],[0,0],[4.28,-3.79],[0,0],[0,4.93],[8.95,0],[0.25,-0.01],[0,0],[-0.25,0]],"o":[[11.77,0],[0,0],[-0.16,6.13],[0,0],[3.48,-2.97],[0,-8.95],[-0.25,0],[0,0],[0.25,-0.01],[0,0]],"v":[[0.75,0],[22.07,21.31],[22.06,21.86],[14.89,37.27],[11.26,33.64],[16.95,21.31],[0.75,5.12],[0,5.13],[0,0.02],[0.75,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.18,0.45,1,1]},"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"358","layers":[{"ind":357,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-13.81],[13.81,0],[0,13.81],[-13.81,0]],"o":[[13.81,0],[0,13.81],[-13.81,0],[0,-13.81],[0,0]],"v":[[28.42,3.41],[53.42,28.42],[28.42,53.42],[3.41,28.42],[28.42,3.41]]}}},{"ty":"st","c":{"a":0,"k":[0.18,0.45,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":6.82}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"361","layers":[{"ind":360,"ty":0,"parent":356,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"358"},{"ind":356,"ty":3,"ks":{"s":{"a":0,"k":[101.75,101.75]}},"ip":0,"op":241,"st":0}]},{"id":"364","layers":[{"ind":355,"ty":0,"parent":351,"ks":{},"w":30,"h":50,"ip":0,"op":241,"st":0,"refId":"353"},{"ind":351,"ty":3,"parent":350,"ks":{"s":{"a":0,"k":[103.33,102]}},"ip":0,"op":241,"st":0},{"ind":350,"ty":3,"ks":{"p":{"a":0,"k":[30.995,3.721]}},"ip":0,"op":241,"st":0},{"ind":363,"ty":0,"ks":{"o":{"a":0,"k":32},"p":{"a":0,"k":[3.995,3.721]}},"w":58,"h":58,"ip":0,"op":241,"st":0,"refId":"361"}]},{"id":"372","layers":[{"ind":371,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[20.464,10.232]},"r":{"a":0,"k":1.587},"s":{"a":0,"k":[40.929,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"377","layers":[{"ind":376,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29.313,10.232]},"r":{"a":0,"k":0.794},"s":{"a":0,"k":[58.625,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"382","layers":[{"ind":381,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[163.714,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[327.429,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"391","layers":[{"ind":390,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[15,25]},"r":{"a":0,"k":0},"s":{"a":0,"k":[30,50]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-11.77],[0,0],[4.28,-3.79],[0,0],[0,4.93],[8.95,0],[0.25,-0.01],[0,0],[-0.25,0]],"o":[[11.77,0],[0,0],[-0.16,6.13],[0,0],[3.48,-2.97],[0,-8.95],[-0.25,0],[0,0],[0.25,-0.01],[0,0]],"v":[[0.75,0],[22.07,21.31],[22.06,21.86],[14.89,37.27],[11.26,33.64],[16.95,21.31],[0.75,5.12],[0,5.13],[0,0.02],[0.75,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.18,0.45,1,1]},"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"396","layers":[{"ind":395,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-13.81],[13.81,0],[0,13.81],[-13.81,0]],"o":[[13.81,0],[0,13.81],[-13.81,0],[0,-13.81],[0,0]],"v":[[28.42,3.41],[53.42,28.42],[28.42,53.42],[3.41,28.42],[28.42,3.41]]}}},{"ty":"st","c":{"a":0,"k":[0.18,0.45,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":6.82}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"399","layers":[{"ind":398,"ty":0,"parent":394,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"396"},{"ind":394,"ty":3,"ks":{"s":{"a":0,"k":[101.75,101.75]}},"ip":0,"op":241,"st":0}]},{"id":"402","layers":[{"ind":393,"ty":0,"parent":389,"ks":{},"w":30,"h":50,"ip":0,"op":241,"st":0,"refId":"391"},{"ind":389,"ty":3,"parent":388,"ks":{"s":{"a":0,"k":[103.33,102]}},"ip":0,"op":241,"st":0},{"ind":388,"ty":3,"ks":{"p":{"a":0,"k":[30.995,3.864]}},"ip":0,"op":241,"st":0},{"ind":401,"ty":0,"ks":{"o":{"a":0,"k":32},"p":{"a":0,"k":[3.995,3.864]}},"w":58,"h":58,"ip":0,"op":241,"st":0,"refId":"399"}]},{"id":"408","layers":[{"ind":407,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[310.892,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[621.784,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"415","layers":[{"ind":414,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[27,21.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[54,43]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[15.09,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[43.87,40.67],[50.27,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[2.3,40.67],[2.3,2.3],[20.21,2.3],[25.32,9.97],[45.79,9.97],[45.79,20.21]]}}},{"ty":"st","c":{"a":0,"k":[0.45,0.49,0.58,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.6}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"418","layers":[{"ind":417,"ty":0,"parent":413,"ks":{},"w":54,"h":43,"ip":0,"op":241,"st":0,"refId":"415"},{"ind":413,"ty":3,"parent":412,"ks":{"s":{"a":0,"k":[100,102.33]}},"ip":0,"op":241,"st":0},{"ind":412,"ty":3,"ks":{"p":{"a":0,"k":[5.301,7.125]}},"ip":0,"op":241,"st":0}]},{"id":"424","layers":[{"ind":423,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[13.5,8.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[27,17]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,3.18],[13.15,13.15],[23.13,3.18]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"427","layers":[{"ind":426,"ty":0,"parent":422,"ks":{},"w":27,"h":17,"ip":0,"op":241,"st":0,"refId":"424"},{"ind":422,"ty":3,"ks":{"p":{"a":0,"k":[16.7,21.354]}},"ip":0,"op":241,"st":0}]},{"id":"430","layers":[{"ind":248,"ty":0,"parent":244,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[23.505,33.737]}},"w":41,"h":21,"ip":0,"op":241,"st":0,"refId":"246"},{"ind":244,"ty":3,"parent":243,"ks":{"p":{"a":0,"k":[58.625,0]}},"ip":0,"op":241,"st":0},{"ind":253,"ty":0,"parent":249,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[0,33.737]}},"w":59,"h":21,"ip":0,"op":241,"st":0,"refId":"251"},{"ind":249,"ty":3,"parent":243,"ks":{},"ip":0,"op":241,"st":0},{"ind":243,"ty":3,"parent":242,"ks":{"p":{"a":0,"k":[688.784,10.602]}},"ip":0,"op":241,"st":0},{"ind":258,"ty":0,"parent":254,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":338,"h":21,"ip":0,"op":241,"st":0,"refId":"256"},{"ind":254,"ty":3,"parent":242,"ks":{"p":{"a":0,"k":[215.888,44.339]}},"ip":0,"op":241,"st":0},{"ind":268,"ty":0,"parent":260,"ks":{},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"266"},{"ind":260,"ty":3,"parent":259,"ks":{},"ip":0,"op":241,"st":0},{"ind":259,"ty":3,"parent":242,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":242,"ty":3,"ks":{"p":{"a":0,"k":[51.3,436.571]}},"ip":0,"op":241,"st":0},{"ind":275,"ty":0,"parent":271,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[23.505,33.737]}},"w":41,"h":21,"ip":0,"op":241,"st":0,"refId":"273"},{"ind":271,"ty":3,"parent":270,"ks":{"p":{"a":0,"k":[58.625,0]}},"ip":0,"op":241,"st":0},{"ind":280,"ty":0,"parent":276,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[0,33.737]}},"w":59,"h":21,"ip":0,"op":241,"st":0,"refId":"278"},{"ind":276,"ty":3,"parent":270,"ks":{},"ip":0,"op":241,"st":0},{"ind":270,"ty":3,"parent":269,"ks":{"p":{"a":0,"k":[688.784,10.602]}},"ip":0,"op":241,"st":0},{"ind":285,"ty":0,"parent":281,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":287,"h":21,"ip":0,"op":241,"st":0,"refId":"283"},{"ind":281,"ty":3,"parent":269,"ks":{"p":{"a":0,"k":[215.888,44.339]}},"ip":0,"op":241,"st":0},{"ind":301,"ty":0,"parent":287,"ks":{"a":{"a":0,"k":[0.687,0.531]},"p":{"a":0,"k":[0.687,0.531]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"299"},{"ind":287,"ty":3,"parent":286,"ks":{"p":{"a":0,"k":[0.687,0.531]}},"ip":0,"op":241,"st":0},{"ind":286,"ty":3,"parent":269,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":269,"ty":3,"ks":{"p":{"a":0,"k":[51.3,327.429]}},"ip":0,"op":241,"st":0},{"ind":317,"ty":0,"parent":303,"ks":{"a":{"a":0,"k":[40.929,40.929]},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":34.8,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":46.8,"s":[100],"h":1},{"t":240,"s":[100],"h":1}]},"p":{"a":0,"k":[129.607,40.929]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":58.2,"s":[100,100],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.9,0.9],"y":[0,0]}},{"t":82.2,"s":[110,110],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":106.2,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[100,100],"h":1}]}},"w":82,"h":82,"ip":0,"op":241,"st":0,"refId":"315"},{"ind":328,"ty":0,"parent":319,"ks":{"a":{"a":0,"k":[6.821,6.822]},"p":{"a":0,"k":[6.821,6.822]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"326"},{"ind":319,"ty":3,"parent":318,"ks":{"p":{"a":0,"k":[6.821,6.822]}},"ip":0,"op":241,"st":0},{"ind":329,"ty":4,"parent":318,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[40.929,40.929]},"r":{"a":0,"k":12},"s":{"a":0,"k":[81.857,81.857]}},{"ty":"fl","c":{"a":0,"k":[0.882,0.898,0.914]},"o":{"a":0,"k":100}}]},{"ind":318,"ty":3,"parent":303,"ks":{"p":{"a":0,"k":[88.679,0]}},"ip":0,"op":241,"st":0},{"ind":341,"ty":0,"parent":331,"ks":{"o":{"a":0,"k":60},"p":{"a":0,"k":[6.821,6.821]}},"w":61,"h":40,"ip":0,"op":241,"st":0,"refId":"339"},{"ind":331,"ty":3,"parent":330,"ks":{},"ip":0,"op":241,"st":0},{"ind":330,"ty":3,"parent":303,"ks":{},"ip":0,"op":241,"st":0},{"ind":303,"ty":3,"parent":302,"ks":{"p":{"a":0,"k":[657.99,13.643]}},"ip":0,"op":241,"st":0},{"ind":346,"ty":0,"parent":342,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":382,"h":21,"ip":0,"op":241,"st":0,"refId":"344"},{"ind":342,"ty":3,"parent":302,"ks":{"p":{"a":0,"k":[214.875,44.339]}},"ip":0,"op":241,"st":0},{"ind":366,"ty":0,"parent":349,"ks":{},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"364"},{"ind":349,"ty":3,"parent":348,"ks":{},"ip":0,"op":241,"st":0},{"ind":348,"ty":3,"parent":347,"ks":{"p":{"a":0,"k":[0.687,0.529]}},"ip":0,"op":241,"st":0},{"ind":347,"ty":3,"parent":302,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":367,"ty":4,"parent":302,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[421.084,54.571]},"r":{"a":0,"k":13.643},"s":{"a":0,"k":[842.169,109.143]}},{"ty":"fl","c":{"a":0,"k":[0.337,0.388,0.467,0.071]},"o":{"a":0,"k":7.1}}]},{"ind":302,"ty":3,"ks":{"p":{"a":0,"k":[51.3,218.286]}},"ip":0,"op":241,"st":0},{"ind":374,"ty":0,"parent":370,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[23.505,33.737]}},"w":41,"h":21,"ip":0,"op":241,"st":0,"refId":"372"},{"ind":370,"ty":3,"parent":369,"ks":{"p":{"a":0,"k":[58.625,0]}},"ip":0,"op":241,"st":0},{"ind":379,"ty":0,"parent":375,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[0,33.737]}},"w":59,"h":21,"ip":0,"op":241,"st":0,"refId":"377"},{"ind":375,"ty":3,"parent":369,"ks":{},"ip":0,"op":241,"st":0},{"ind":369,"ty":3,"parent":368,"ks":{"p":{"a":0,"k":[688.784,10.602]}},"ip":0,"op":241,"st":0},{"ind":384,"ty":0,"parent":380,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":328,"h":21,"ip":0,"op":241,"st":0,"refId":"382"},{"ind":380,"ty":3,"parent":368,"ks":{"p":{"a":0,"k":[215.888,44.339]}},"ip":0,"op":241,"st":0},{"ind":404,"ty":0,"parent":387,"ks":{},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"402"},{"ind":387,"ty":3,"parent":386,"ks":{},"ip":0,"op":241,"st":0},{"ind":386,"ty":3,"parent":385,"ks":{"p":{"a":0,"k":[0.687,0.529]}},"ip":0,"op":241,"st":0},{"ind":385,"ty":3,"parent":368,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":368,"ty":3,"ks":{"p":{"a":0,"k":[51.3,109.143]}},"ip":0,"op":241,"st":0},{"ind":410,"ty":0,"parent":406,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":622,"h":21,"ip":0,"op":241,"st":0,"refId":"408"},{"ind":406,"ty":3,"parent":405,"ks":{"p":{"a":0,"k":[138.342,44.339]}},"ip":0,"op":241,"st":0},{"ind":420,"ty":0,"parent":411,"ks":{"a":{"a":0,"k":[68.399,23.875]},"p":{"a":0,"k":[68.399,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"418"},{"ind":411,"ty":3,"parent":405,"ks":{"p":{"a":0,"k":[68.399,23.875]}},"ip":0,"op":241,"st":0},{"ind":429,"ty":0,"parent":421,"ks":{"a":{"a":0,"k":[0,24.647]},"p":{"a":0,"k":[0,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"427"},{"ind":421,"ty":3,"parent":405,"ks":{"p":{"a":0,"k":[0,24.647]}},"ip":0,"op":241,"st":0},{"ind":405,"ty":3,"ks":{"p":{"a":0,"k":[51.3,0]}},"ip":0,"op":241,"st":0}]},{"id":"433","layers":[{"ind":432,"ty":0,"ks":{},"w":944.7678,"h":545.7143,"ip":0,"op":241,"st":0,"refId":"430"}]},{"id":"437","layers":[{"ind":20,"ty":0,"ks":{"a":{"a":0,"k":[32,32]},"o":{"a":1,"k":[{"t":0,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":37.2,"s":[100],"h":1},{"t":106.2,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":116.4,"s":[0],"h":1},{"t":240,"s":[0],"h":1}]},"p":{"a":1,"k":[{"t":0,"s":[295,196],"i":{"x":[0.611,0.594],"y":[0.386,0.658]},"o":{"x":[0.649,0.64],"y":[0,0]}},{"t":19.5,"s":[235.28,130.323],"i":{"x":[0.514,0.479],"y":[0.74,0.901]},"o":{"x":[0.216,0.202],"y":[0.381,0.653]}},{"t":39,"s":[181.773,113.217],"i":{"x":[0.555,0.445],"y":[1,1]},"o":{"x":[0.235,0.19],"y":[0.619,1]}},{"t":78,"s":[160,112],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[160,112],"i":{"x":[0.809,0.816],"y":[0.385,0.997]},"o":{"x":[0.516,0.584],"y":[0,0.001]}},{"t":116.778,"s":[180.99522390643455,110.914],"i":{"x":[0.726,0.735],"y":[0.63,0.272]},"o":{"x":[0.407,0.418],"y":[0.293,0.002]}},{"t":118.8,"s":[198.955,111.82484383561516],"i":{"x":[0.636,0.613],"y":[0.676,0.406]},"o":{"x":[0.405,0.39],"y":[0.33,0.121]}},{"t":121.758,"s":[242.44176345907636,123.629],"i":{"x":[0.487,0.515],"y":[0.716,0.639]},"o":{"x":[0.207,0.226],"y":[0.37,0.275]}},{"t":126.732,"s":[278.8528377954868,148.732],"h":1},{"t":126.732,"s":[278.8528378070031,148.732],"i":{"x":[0.594,0.599],"y":[0.716,0.687]},"o":{"x":[0.267,0.272],"y":[0.378,0.347]}},{"t":131.4,"s":[292.202,162.46244354411593],"i":{"x":[0.584,0.617],"y":[0.698,0.705]},"o":{"x":[0.261,0.287],"y":[0.354,0.366]}},{"t":136.692,"s":[300.0213253756998,171.983],"i":{"x":[0.53,0.63],"y":[1,1]},"o":{"x":[0.217,0.288],"y":[0.582,0.722]}},{"t":156.6,"s":[308,183],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[308,183],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[120,120],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":58.2,"s":[120,120],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":82.2,"s":[90,90],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":106.2,"s":[120,120],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[120,120],"h":1}]}},"w":63,"h":64,"ip":0,"op":241,"st":0,"refId":"18"},{"ind":241,"ty":0,"parent":21,"ks":{"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":106.2,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":177.6,"s":[100],"h":1},{"t":240,"s":[100],"h":1}]},"p":{"a":0,"k":[944.768,0]}},"w":781,"h":764,"ip":0,"op":241,"st":0,"refId":"239"},{"ind":435,"ty":0,"parent":21,"ks":{"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":106.2,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":142.2,"s":[0],"h":1},{"t":240,"s":[0],"h":1}]}},"w":894,"h":521,"ip":0,"op":241,"st":0,"refId":"433"},{"ind":21,"ty":3,"ks":{"a":{"a":0,"k":[944.768,382]},"p":{"a":1,"k":[{"t":0,"s":[240.768,198],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[240.768,198],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":187.8,"s":[-6.232,140],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[-6.232,140],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[100,100],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":187.8,"s":[33.91,33.91],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[33.91,33.91],"h":1}]}},"ip":0,"op":241,"st":0},{"ind":436,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[138,88.462]},"r":{"a":0,"k":0},"s":{"a":0,"k":[276,176.923]}},{"ty":"fl","c":{"a":0,"k":[0.929,0.937,0.949]},"o":{"a":0,"k":100}}]}]}],"fr":60,"h":177,"ip":0,"layers":[{"ind":439,"ty":0,"parent":2,"ks":{},"w":276,"h":176.9231,"ip":0,"op":241,"st":0,"refId":"437"},{"ind":2,"ty":3,"parent":1,"ks":{},"ip":0,"op":241,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":241,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":241,"st":0}],"meta":{"g":"https://jitter.video"},"op":240,"v":"5.7.4","w":276}');let _f={assets:_m.assets,fr:_m.fr,h:_m.h,ip:_m.ip,layers:_m.layers,meta:_m.meta,op:_m.op,v:_m.v,w:_m.w};var _g=JSON.parse('{"assets":[{"id":"8","layers":[{"ind":5,"ty":4,"parent":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[-0.9,0.6],[0.4,0.9],[0,0],[0,0],[0,0]],"v":[[0,0],[0,32],[8,24],[14.7,37.3],[17.3,37.3],[18.7,34.7],[12,21.3],[21.3,21.3],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0.9,-0.6],[-1.8,-4.4],[0,0],[0,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0,0,0]},"r":2,"o":{"a":0,"k":100}}]},{"ind":4,"ty":3,"ks":{"p":{"a":0,"k":[2.667,6.438]}},"ip":0,"op":241,"st":0},{"ind":7,"ty":4,"parent":6,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[2.5,-1],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.6,-1.4]],"v":[[23.8,40.1],[21.3,46.4],[15.7,46.4],[9.9,34.9],[0,44.9],[0,0],[30.4,30.4],[19.1,30.4],[23.8,40.1]],"o":[[0.5,1.1],[-2.5,1],[0,0],[0,0],[0,0],[0,0],[0,0],[0.6,1.1],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1]},"o":{"a":0,"k":100}}]},{"ind":6,"ty":3,"ks":{},"ip":0,"op":241,"st":0}]},{"id":"12","layers":[{"ind":10,"ty":0,"ks":{"p":{"a":0,"k":[13.63,13.63]}},"w":31,"h":47,"ip":0,"op":241,"st":0,"refId":"8"},{"ind":11,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.849,37.068]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57.697,74.135]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]}]},{"id":"15","layers":[{"ind":14,"ty":0,"parent":3,"ks":{"p":{"a":0,"k":[-13.63,-13.63]}},"ef":[{"ty":25,"ef":[{"ty":2,"nm":"Shadow Color","v":{"a":0,"k":[0,0,0]}},{"ty":0,"nm":"Opacity","v":{"a":0,"k":166}},{"ty":1,"nm":"Direction","v":{"a":0,"k":180}},{"ty":0,"nm":"Distance","v":{"a":1,"k":[{"t":0,"s":[2.222],"h":1},{"t":58.2,"s":[2.222],"i":{"x":0.854,"y":0.399},"o":{"x":0.62,"y":0.001}},{"t":64.2,"s":[2.354],"i":{"x":0.271,"y":0.692},"o":{"x":0.216,"y":0.251}},{"t":70.2,"s":[2.823],"i":{"x":0.656,"y":1},"o":{"x":0.282,"y":0.794}},{"t":82.2,"s":[2.963],"i":{"x":0.84,"y":0.421},"o":{"x":0.593,"y":0.001}},{"t":88.2,"s":[2.757],"i":{"x":0.235,"y":0.774},"o":{"x":0.223,"y":0.372}},{"t":94.2,"s":[2.308],"i":{"x":0.49,"y":0.999},"o":{"x":0.19,"y":0.585}},{"t":106.2,"s":[2.222],"h":1},{"t":240,"s":[2.222],"h":1}]}},{"ty":0,"nm":"Softness","v":{"a":1,"k":[{"t":0,"s":[8],"h":1},{"t":58.2,"s":[8],"i":{"x":0.854,"y":0.399},"o":{"x":0.62,"y":0.001}},{"t":64.2,"s":[8.48],"i":{"x":0.271,"y":0.692},"o":{"x":0.216,"y":0.251}},{"t":70.2,"s":[10.16],"i":{"x":0.656,"y":1},"o":{"x":0.282,"y":0.794}},{"t":82.2,"s":[10.67],"i":{"x":0.84,"y":0.421},"o":{"x":0.593,"y":0.001}},{"t":88.2,"s":[9.92],"i":{"x":0.235,"y":0.774},"o":{"x":0.223,"y":0.372}},{"t":94.2,"s":[8.31],"i":{"x":0.49,"y":0.999},"o":{"x":0.19,"y":0.585}},{"t":106.2,"s":[8],"h":1},{"t":240,"s":[8],"h":1}]}}]}],"w":57.6972,"h":74.1351,"ip":0,"op":241,"st":0,"refId":"12"},{"ind":3,"ty":3,"ks":{"p":{"a":0,"k":[18.667,8]}},"ip":0,"op":241,"st":0}]},{"id":"18","layers":[{"ind":17,"ty":0,"ks":{"a":{"a":1,"k":[{"t":0,"s":[263,164],"i":{"x":[0.611,0.594],"y":[0.386,0.658]},"o":{"x":[0.649,0.64],"y":[0,0]}},{"t":19.5,"s":[203.28,98.323],"i":{"x":[0.514,0.479],"y":[0.74,0.901]},"o":{"x":[0.216,0.202],"y":[0.381,0.653]}},{"t":39,"s":[149.773,81.217],"i":{"x":[0.555,0.445],"y":[1,1]},"o":{"x":[0.235,0.19],"y":[0.619,1]}},{"t":78,"s":[128,80],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[128,80],"i":{"x":[0.809,0.816],"y":[0.385,0.997]},"o":{"x":[0.516,0.584],"y":[0,0.001]}},{"t":116.778,"s":[148.99522390643455,78.914],"i":{"x":[0.726,0.735],"y":[0.63,0.272]},"o":{"x":[0.407,0.418],"y":[0.293,0.002]}},{"t":118.8,"s":[166.955,79.82484383561516],"i":{"x":[0.636,0.613],"y":[0.676,0.406]},"o":{"x":[0.405,0.39],"y":[0.33,0.121]}},{"t":121.758,"s":[210.44176345907636,91.629],"i":{"x":[0.487,0.515],"y":[0.716,0.639]},"o":{"x":[0.207,0.226],"y":[0.37,0.275]}},{"t":126.732,"s":[246.85283779548678,116.732],"h":1},{"t":126.732,"s":[246.85283780700308,116.732],"i":{"x":[0.594,0.599],"y":[0.716,0.687]},"o":{"x":[0.267,0.272],"y":[0.378,0.347]}},{"t":131.4,"s":[260.202,130.46244354411593],"i":{"x":[0.584,0.617],"y":[0.698,0.705]},"o":{"x":[0.261,0.287],"y":[0.354,0.366]}},{"t":136.692,"s":[268.0213253756998,139.983],"i":{"x":[0.53,0.63],"y":[1,1]},"o":{"x":[0.217,0.288],"y":[0.582,0.722]}},{"t":156.6,"s":[276,151],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[276,151],"h":1}]},"p":{"a":1,"k":[{"t":0,"s":[263,164],"i":{"x":[0.611,0.594],"y":[0.386,0.658]},"o":{"x":[0.649,0.64],"y":[0,0]}},{"t":19.5,"s":[203.28,98.323],"i":{"x":[0.514,0.479],"y":[0.74,0.901]},"o":{"x":[0.216,0.202],"y":[0.381,0.653]}},{"t":39,"s":[149.773,81.217],"i":{"x":[0.555,0.445],"y":[1,1]},"o":{"x":[0.235,0.19],"y":[0.619,1]}},{"t":78,"s":[128,80],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[128,80],"i":{"x":[0.809,0.816],"y":[0.385,0.997]},"o":{"x":[0.516,0.584],"y":[0,0.001]}},{"t":116.778,"s":[148.99522390643455,78.914],"i":{"x":[0.726,0.735],"y":[0.63,0.272]},"o":{"x":[0.407,0.418],"y":[0.293,0.002]}},{"t":118.8,"s":[166.955,79.82484383561516],"i":{"x":[0.636,0.613],"y":[0.676,0.406]},"o":{"x":[0.405,0.39],"y":[0.33,0.121]}},{"t":121.758,"s":[210.44176345907636,91.629],"i":{"x":[0.487,0.515],"y":[0.716,0.639]},"o":{"x":[0.207,0.226],"y":[0.37,0.275]}},{"t":126.732,"s":[246.85283779548678,116.732],"h":1},{"t":126.732,"s":[246.85283780700308,116.732],"i":{"x":[0.594,0.599],"y":[0.716,0.687]},"o":{"x":[0.267,0.272],"y":[0.378,0.347]}},{"t":131.4,"s":[260.202,130.46244354411593],"i":{"x":[0.584,0.617],"y":[0.698,0.705]},"o":{"x":[0.261,0.287],"y":[0.354,0.366]}},{"t":136.692,"s":[268.0213253756998,139.983],"i":{"x":[0.53,0.63],"y":[1,1]},"o":{"x":[0.217,0.288],"y":[0.582,0.722]}},{"t":156.6,"s":[276,151],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[276,151],"h":1}]}},"w":64,"h":64,"ip":0,"op":241,"st":0,"refId":"15"}]},{"id":"24","layers":[{"ind":23,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[254.361,8.55]},"r":{"a":0,"k":37046.012},"s":{"a":0,"k":[508.721,17.1]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"31","layers":[{"ind":30,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[25,21]},"r":{"a":0,"k":0},"s":{"a":0,"k":[50,42]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.24,2.24],[2.24,39.65],[47.13,39.65],[47.13,9.72],[24.69,9.72],[19.7,2.24]]}}},{"ty":"st","c":{"a":0,"k":[0.45,0.49,0.58,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"34","layers":[{"ind":33,"ty":0,"parent":29,"ks":{},"w":50,"h":42,"ip":0,"op":241,"st":0,"refId":"31"},{"ind":29,"ty":3,"parent":28,"ks":{"s":{"a":0,"k":[100,102.38]}},"ip":0,"op":241,"st":0},{"ind":28,"ty":3,"ks":{"p":{"a":0,"k":[5.134,7.496]}},"ip":0,"op":241,"st":0}]},{"id":"40","layers":[{"ind":39,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[8.5,13.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[17,27]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,23.13],[13.15,13.15],[3.17,3.17]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"43","layers":[{"ind":42,"ty":0,"parent":38,"ks":{},"w":17,"h":27,"ip":0,"op":241,"st":0,"refId":"40"},{"ind":38,"ty":3,"ks":{"p":{"a":0,"k":[21.533,16.496]}},"ip":0,"op":241,"st":0}]},{"id":"50","layers":[{"ind":49,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"56","layers":[{"ind":55,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[158.174,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[316.348,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"62","layers":[{"ind":61,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[25,21]},"r":{"a":0,"k":0},"s":{"a":0,"k":[50,42]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.24,2.24],[2.24,39.65],[47.13,39.65],[47.13,9.72],[24.69,9.72],[19.7,2.24]]}}},{"ty":"st","c":{"a":0,"k":[0.45,0.49,0.58,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"65","layers":[{"ind":64,"ty":0,"parent":60,"ks":{},"w":50,"h":42,"ip":0,"op":241,"st":0,"refId":"62"},{"ind":60,"ty":3,"ks":{"p":{"a":0,"k":[5.134,7.64]}},"ip":0,"op":241,"st":0}]},{"id":"71","layers":[{"ind":70,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[8.5,13.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[17,27]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,23.13],[13.15,13.15],[3.17,3.17]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"74","layers":[{"ind":73,"ty":0,"parent":69,"ks":{},"w":17,"h":27,"ip":0,"op":241,"st":0,"refId":"71"},{"ind":69,"ty":3,"ks":{"p":{"a":0,"k":[21.533,16.64]}},"ip":0,"op":241,"st":0}]},{"id":"80","layers":[{"ind":79,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[16.5,55]},"r":{"a":0,"k":0},"s":{"a":0,"k":[33,110]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.45,0],[20.84,0],[20.84,81.86],[24.05,81.86],[24.05,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.3,0.42,0.6,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"86","layers":[{"ind":85,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[161,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[322,20]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"92","layers":[{"ind":91,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,23]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,46]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[23.13,42.62],[33.1,2.72]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[43.07,12.7],[53.05,22.67],[43.07,32.65]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[13.15,32.65],[3.17,22.67],[13.15,12.7]]}}},{"ty":"st","c":{"a":0,"k":[0.25,0.52,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"95","layers":[{"ind":94,"ty":0,"parent":90,"ks":{},"w":57,"h":46,"ip":0,"op":241,"st":0,"refId":"92"},{"ind":90,"ty":3,"ks":{"p":{"a":0,"k":[1.734,6.782]}},"ip":0,"op":241,"st":0}]},{"id":"101","layers":[{"ind":100,"ty":4,"parent":99,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.7,0],[0,4.7],[-4.7,0],[0,-4.7]],"v":[[17.1,8.5],[8.5,17.1],[0,8.5],[8.5,0],[17.1,8.5]],"o":[[0,4.7],[-4.7,0],[0,-4.7],[4.7,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.337,0.388,0.467,0.149]},"o":{"a":0,"k":14.9}}]},{"ind":99,"ty":3,"ks":{"p":{"a":0,"k":[21.375,21.375]}},"ip":0,"op":241,"st":0}]},{"id":"107","layers":[{"ind":106,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[5.5,18.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[11,37]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.43,0],[6.9,0],[6.9,27.11],[7.96,27.11],[7.96,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.88,0.89,0.95,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"110","layers":[{"ind":109,"ty":0,"parent":105,"ks":{},"w":11,"h":37,"ip":0,"op":241,"st":0,"refId":"107"},{"ind":105,"ty":3,"ks":{"s":{"a":0,"k":[300,297.3]}},"ip":0,"op":241,"st":0}]},{"id":"116","layers":[{"ind":115,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[5.5,18.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[11,37]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.43,0],[6.9,0],[6.9,27.11],[7.96,27.11],[7.96,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.88,0.89,0.95,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"119","layers":[{"ind":118,"ty":0,"parent":114,"ks":{},"w":11,"h":37,"ip":0,"op":241,"st":0,"refId":"116"},{"ind":114,"ty":3,"ks":{"s":{"a":0,"k":[300,297.3]}},"ip":0,"op":241,"st":0}]},{"id":"125","layers":[{"ind":124,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[102.599,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[205.198,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.4,0.42,0.459]},"o":{"a":0,"k":100}}]}]},{"id":"132","layers":[{"ind":131,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[10.5,10.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[21,21]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[8.47,16.94],[11.86,3.39]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[15.25,6.78],[18.64,10.17],[15.25,13.55]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[5.08,13.55],[1.69,10.17],[5.08,6.78]]}}},{"ty":"st","c":{"a":0,"k":[0.48,0.72,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":1.52}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"135","layers":[{"ind":134,"ty":0,"parent":130,"ks":{},"w":21,"h":21,"ip":0,"op":241,"st":0,"refId":"132"},{"ind":130,"ty":3,"parent":129,"ks":{"s":{"a":0,"k":[276.19,276.19]}},"ip":0,"op":241,"st":0},{"ind":129,"ty":3,"ks":{"p":{"a":0,"k":[1.734,6.696]}},"ip":0,"op":241,"st":0}]},{"id":"141","layers":[{"ind":140,"ty":4,"parent":139,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.7,0],[0,4.7],[-4.7,0],[0,-4.7]],"v":[[17.1,8.5],[8.5,17.1],[0,8.5],[8.5,0],[17.1,8.5]],"o":[[0,4.7],[-4.7,0],[0,-4.7],[4.7,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.878,0.886,0.949,0.078]},"o":{"a":0,"k":7.8}}]},{"ind":139,"ty":3,"ks":{"p":{"a":0,"k":[21.375,21.374]}},"ip":0,"op":241,"st":0}]},{"id":"147","layers":[{"ind":146,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[5.5,18.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[11,37]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.43,0],[6.9,0],[6.9,27.11],[7.96,27.11],[7.96,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.88,0.89,0.95,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"150","layers":[{"ind":149,"ty":0,"parent":145,"ks":{},"w":11,"h":37,"ip":0,"op":241,"st":0,"refId":"147"},{"ind":145,"ty":3,"ks":{"s":{"a":0,"k":[300,297.3]}},"ip":0,"op":241,"st":0}]},{"id":"156","layers":[{"ind":155,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[5.5,18.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[11,37]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.43,0],[6.9,0],[6.9,27.11],[7.96,27.11],[7.96,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.88,0.89,0.95,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"159","layers":[{"ind":158,"ty":0,"parent":154,"ks":{},"w":11,"h":37,"ip":0,"op":241,"st":0,"refId":"156"},{"ind":154,"ty":3,"ks":{"s":{"a":0,"k":[300,297.3]}},"ip":0,"op":241,"st":0}]},{"id":"165","layers":[{"ind":164,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[222.5,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[445,20]}},{"ty":"fl","c":{"a":0,"k":[0.4,0.42,0.459]},"o":{"a":0,"k":100}}]}]},{"id":"172","layers":[{"ind":171,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[10.5,10.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[21,21]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[8.47,16.94],[11.86,3.39]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[15.25,6.78],[18.64,10.17],[15.25,13.55]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[5.08,13.55],[1.69,10.17],[5.08,6.78]]}}},{"ty":"st","c":{"a":0,"k":[0.48,0.72,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":1.52}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"175","layers":[{"ind":174,"ty":0,"parent":170,"ks":{},"w":21,"h":21,"ip":0,"op":241,"st":0,"refId":"172"},{"ind":170,"ty":3,"parent":169,"ks":{"s":{"a":0,"k":[276.19,276.19]}},"ip":0,"op":241,"st":0},{"ind":169,"ty":3,"ks":{"p":{"a":0,"k":[1.734,6.839]}},"ip":0,"op":241,"st":0}]},{"id":"181","layers":[{"ind":180,"ty":4,"parent":179,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.7,0],[0,4.7],[-4.7,0],[0,-4.7]],"v":[[17.1,8.5],[8.5,17.1],[0,8.5],[8.5,0],[17.1,8.5]],"o":[[0,4.7],[-4.7,0],[0,-4.7],[4.7,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.878,0.886,0.949,0.078]},"o":{"a":0,"k":7.8}}]},{"ind":179,"ty":3,"ks":{"p":{"a":0,"k":[21.375,21.377]}},"ip":0,"op":241,"st":0}]},{"id":"188","layers":[{"ind":187,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[5.5,18.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[11,37]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.43,0],[6.9,0],[6.9,27.11],[7.96,27.11],[7.96,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.88,0.89,0.95,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"195","layers":[{"ind":194,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[5.5,18.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[11,37]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[7.43,0],[6.9,0],[6.9,27.11],[7.96,27.11],[7.96,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.88,0.89,0.95,1]},"o":{"a":0,"k":9}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"201","layers":[{"ind":200,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[242,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[484,20]}},{"ty":"fl","c":{"a":0,"k":[0.4,0.42,0.459]},"o":{"a":0,"k":100}}]}]},{"id":"208","layers":[{"ind":207,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[27,21.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[54,43]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[15.09,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[43.87,40.67],[50.27,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[2.3,40.67],[2.3,2.3],[20.21,2.3],[25.32,9.97],[45.79,9.97],[45.79,20.21]]}}},{"ty":"st","c":{"a":0,"k":[0.69,0.73,0.81,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.6}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"211","layers":[{"ind":210,"ty":0,"parent":206,"ks":{},"w":54,"h":43,"ip":0,"op":241,"st":0,"refId":"208"},{"ind":206,"ty":3,"parent":205,"ks":{"s":{"a":0,"k":[101.85,102.33]}},"ip":0,"op":241,"st":0},{"ind":205,"ty":3,"ks":{"p":{"a":0,"k":[4.533,6.982]}},"ip":0,"op":241,"st":0}]},{"id":"218","layers":[{"ind":217,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[13.5,8.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[27,17]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,3.18],[13.15,13.15],[23.13,3.18]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"221","layers":[{"ind":220,"ty":0,"parent":216,"ks":{},"w":27,"h":17,"ip":0,"op":241,"st":0,"refId":"218"},{"ind":216,"ty":3,"parent":215,"ks":{"s":{"a":0,"k":[103.7,100]}},"ip":0,"op":241,"st":0},{"ind":215,"ty":3,"ks":{"p":{"a":0,"k":[15.933,21.211]}},"ip":0,"op":241,"st":0}]},{"id":"227","layers":[{"ind":226,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[309,10]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[618,20]}},{"ty":"fl","c":{"a":0,"k":[0.4,0.42,0.459]},"o":{"a":0,"k":100}}]}]},{"id":"234","layers":[{"ind":233,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[10.5,10.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[21,21]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[8.47,16.94],[11.86,3.39]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[15.25,6.78],[18.64,10.17],[15.25,13.55]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[5.08,13.55],[1.69,10.17],[5.08,6.78]]}}},{"ty":"st","c":{"a":0,"k":[0.48,0.72,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":1.52}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"237","layers":[{"ind":236,"ty":0,"parent":232,"ks":{},"w":21,"h":21,"ip":0,"op":241,"st":0,"refId":"234"},{"ind":232,"ty":3,"parent":231,"ks":{"s":{"a":0,"k":[274.58,274.57]}},"ip":0,"op":241,"st":0},{"ind":231,"ty":3,"ks":{"p":{"a":0,"k":[1.351,6.963]}},"ip":0,"op":241,"st":0}]},{"id":"244","layers":[{"ind":243,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[2.5,6.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[5,13]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.24,2.24],[2.24,12.22],[2.24,2.24]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"247","layers":[{"ind":246,"ty":0,"parent":242,"ks":{},"w":5,"h":13,"ip":0,"op":241,"st":0,"refId":"244"},{"ind":242,"ty":3,"parent":241,"ks":{"s":{"a":0,"k":[120,100]}},"ip":0,"op":241,"st":0},{"ind":241,"ty":3,"ks":{"p":{"a":0,"k":[-3.068,22.354]}},"ip":0,"op":241,"st":0}]},{"id":"250","layers":[{"ind":26,"ty":0,"parent":22,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[205.198,46.021]}},"w":509,"h":18,"ip":0,"op":241,"st":0,"refId":"24"},{"ind":36,"ty":0,"parent":27,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8495,"h":59.8495,"ip":0,"op":241,"st":0,"refId":"34"},{"ind":27,"ty":3,"parent":22,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":45,"ty":0,"parent":37,"ks":{"a":{"a":0,"k":[68.399,24.647]},"p":{"a":0,"k":[68.399,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"43"},{"ind":37,"ty":3,"parent":22,"ks":{"p":{"a":0,"k":[68.399,24.647]}},"ip":0,"op":241,"st":0},{"ind":52,"ty":0,"parent":48,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"50"},{"ind":48,"ty":3,"parent":47,"ks":{"s":{"a":0,"k":[100,100.91]}},"ip":0,"op":241,"st":0},{"ind":47,"ty":3,"parent":46,"ks":{"p":{"a":0,"k":[-0.067,-0.857]}},"ip":0,"op":241,"st":0},{"ind":46,"ty":3,"parent":22,"ks":{},"ip":0,"op":241,"st":0},{"ind":22,"ty":3,"ks":{"p":{"a":0,"k":[51.3,654.857]}},"ip":0,"op":241,"st":0},{"ind":58,"ty":0,"parent":54,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[8.55,0]}},"w":317,"h":21,"ip":0,"op":241,"st":0,"refId":"56"},{"ind":54,"ty":3,"parent":53,"ks":{"p":{"a":0,"k":[205.198,44.339]}},"ip":0,"op":241,"st":0},{"ind":67,"ty":0,"parent":59,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8495,"h":59.8495,"ip":0,"op":241,"st":0,"refId":"65"},{"ind":59,"ty":3,"parent":53,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":76,"ty":0,"parent":68,"ks":{"a":{"a":0,"k":[68.399,24.647]},"p":{"a":0,"k":[68.399,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"74"},{"ind":68,"ty":3,"parent":53,"ks":{"p":{"a":0,"k":[68.399,24.647]}},"ip":0,"op":241,"st":0},{"ind":82,"ty":0,"parent":78,"ks":{},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"80"},{"ind":78,"ty":3,"parent":77,"ks":{"p":{"a":0,"k":[-0.067,-0.714]}},"ip":0,"op":241,"st":0},{"ind":77,"ty":3,"parent":53,"ks":{},"ip":0,"op":241,"st":0},{"ind":53,"ty":3,"ks":{"p":{"a":0,"k":[51.3,545.714]}},"ip":0,"op":241,"st":0},{"ind":88,"ty":0,"parent":84,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":322,"h":20,"ip":0,"op":241,"st":0,"refId":"86"},{"ind":84,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[273.598,44.339]}},"ip":0,"op":241,"st":0},{"ind":97,"ty":0,"parent":89,"ks":{"a":{"a":0,"k":[205.198,24.647]},"p":{"a":0,"k":[205.198,24.647]}},"w":59.8495,"h":59.8495,"ip":0,"op":241,"st":0,"refId":"95"},{"ind":89,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[205.198,24.647]}},"ip":0,"op":241,"st":0},{"ind":103,"ty":0,"parent":98,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"101"},{"ind":98,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":112,"ty":0,"parent":104,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[-0.467,-0.571]}},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"110"},{"ind":104,"ty":3,"parent":83,"ks":{"p":{"a":0,"k":[68.399,0]}},"ip":0,"op":241,"st":0},{"ind":121,"ty":0,"parent":113,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[-0.067,-0.571]}},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"119"},{"ind":113,"ty":3,"parent":83,"ks":{},"ip":0,"op":241,"st":0},{"ind":83,"ty":3,"ks":{"p":{"a":0,"k":[51.3,436.571]}},"ip":0,"op":241,"st":0},{"ind":127,"ty":0,"parent":123,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[8.55,0]}},"w":206,"h":21,"ip":0,"op":241,"st":0,"refId":"125"},{"ind":123,"ty":3,"parent":122,"ks":{"p":{"a":0,"k":[275.141,44.339]}},"ip":0,"op":241,"st":0},{"ind":137,"ty":0,"parent":128,"ks":{"a":{"a":0,"k":[205.198,23.875]},"p":{"a":0,"k":[205.198,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"135"},{"ind":128,"ty":3,"parent":122,"ks":{"p":{"a":0,"k":[205.198,23.875]}},"ip":0,"op":241,"st":0},{"ind":143,"ty":0,"parent":138,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"141"},{"ind":138,"ty":3,"parent":122,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":152,"ty":0,"parent":144,"ks":{"o":{"a":0,"k":0}},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"150"},{"ind":144,"ty":3,"parent":122,"ks":{"p":{"a":0,"k":[68.399,0]}},"ip":0,"op":241,"st":0},{"ind":161,"ty":0,"parent":153,"ks":{"o":{"a":0,"k":0},"p":{"a":0,"k":[-0.067,-0.429]}},"w":33,"h":110,"ip":0,"op":241,"st":0,"refId":"159"},{"ind":153,"ty":3,"parent":122,"ks":{},"ip":0,"op":241,"st":0},{"ind":122,"ty":3,"ks":{"p":{"a":0,"k":[51.3,327.429]}},"ip":0,"op":241,"st":0},{"ind":167,"ty":0,"parent":163,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":445,"h":20,"ip":0,"op":241,"st":0,"refId":"165"},{"ind":163,"ty":3,"parent":162,"ks":{"p":{"a":0,"k":[275.141,44.339]}},"ip":0,"op":241,"st":0},{"ind":177,"ty":0,"parent":168,"ks":{"a":{"a":0,"k":[205.198,23.875]},"p":{"a":0,"k":[205.198,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"175"},{"ind":168,"ty":3,"parent":162,"ks":{"p":{"a":0,"k":[205.198,23.875]}},"ip":0,"op":241,"st":0},{"ind":183,"ty":0,"parent":178,"ks":{"a":{"a":0,"k":[136.799,24.647]},"p":{"a":0,"k":[136.799,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"181"},{"ind":178,"ty":3,"parent":162,"ks":{"p":{"a":0,"k":[136.799,24.647]}},"ip":0,"op":241,"st":0},{"ind":190,"ty":0,"parent":186,"ks":{},"w":11,"h":37,"ip":0,"op":241,"st":0,"refId":"188"},{"ind":186,"ty":3,"parent":185,"ks":{"s":{"a":0,"k":[300,721.62]}},"ip":0,"op":241,"st":0},{"ind":185,"ty":3,"parent":184,"ks":{},"ip":0,"op":241,"st":0},{"ind":184,"ty":3,"parent":162,"ks":{"p":{"a":0,"k":[68.399,0]}},"ip":0,"op":241,"st":0},{"ind":197,"ty":0,"parent":193,"ks":{},"w":11,"h":37,"ip":0,"op":241,"st":0,"refId":"195"},{"ind":193,"ty":3,"parent":192,"ks":{"s":{"a":0,"k":[300,832.43]}},"ip":0,"op":241,"st":0},{"ind":192,"ty":3,"parent":191,"ks":{},"ip":0,"op":241,"st":0},{"ind":191,"ty":3,"parent":162,"ks":{},"ip":0,"op":241,"st":0},{"ind":162,"ty":3,"ks":{"p":{"a":0,"k":[51.3,218.286]}},"ip":0,"op":241,"st":0},{"ind":203,"ty":0,"parent":199,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":484,"h":20,"ip":0,"op":241,"st":0,"refId":"201"},{"ind":199,"ty":3,"parent":198,"ks":{"p":{"a":0,"k":[138.342,44.339]}},"ip":0,"op":241,"st":0},{"ind":213,"ty":0,"parent":204,"ks":{"a":{"a":0,"k":[68.399,23.875]},"p":{"a":0,"k":[68.399,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"211"},{"ind":204,"ty":3,"parent":198,"ks":{"p":{"a":0,"k":[68.399,23.875]}},"ip":0,"op":241,"st":0},{"ind":223,"ty":0,"parent":214,"ks":{"a":{"a":0,"k":[0,24.647]},"p":{"a":0,"k":[0,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"221"},{"ind":214,"ty":3,"parent":198,"ks":{"p":{"a":0,"k":[0,24.647]}},"ip":0,"op":241,"st":0},{"ind":198,"ty":3,"ks":{"p":{"a":0,"k":[51.3,109.143]}},"ip":0,"op":241,"st":0},{"ind":229,"ty":0,"parent":225,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[9,0]}},"w":618,"h":20,"ip":0,"op":241,"st":0,"refId":"227"},{"ind":225,"ty":3,"parent":224,"ks":{"p":{"a":0,"k":[78.493,44.339]}},"ip":0,"op":241,"st":0},{"ind":239,"ty":0,"parent":230,"ks":{"a":{"a":0,"k":[10,25]},"p":{"a":0,"k":[10,25]}},"w":60,"h":60,"ip":0,"op":241,"st":0,"refId":"237"},{"ind":230,"ty":3,"parent":224,"ks":{"p":{"a":0,"k":[10,25]}},"ip":0,"op":241,"st":0},{"ind":249,"ty":0,"parent":240,"ks":{"a":{"a":0,"k":[0,24.647]},"p":{"a":0,"k":[0,24.647]}},"w":0.0003,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"247"},{"ind":240,"ty":3,"parent":224,"ks":{"p":{"a":0,"k":[0,24.647]}},"ip":0,"op":241,"st":0},{"ind":224,"ty":3,"ks":{"p":{"a":0,"k":[51.3,0]}},"ip":0,"op":241,"st":0}]},{"id":"253","layers":[{"ind":252,"ty":0,"ks":{"a":{"a":0,"k":[944.768,0]},"p":{"a":0,"k":[944.768,0]}},"w":944.7678,"h":764,"ip":0,"op":241,"st":0,"refId":"250"}]},{"id":"260","layers":[{"ind":259,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[20.464,10.232]},"r":{"a":0,"k":1.587},"s":{"a":0,"k":[40.929,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"265","layers":[{"ind":264,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29.313,10.232]},"r":{"a":0,"k":0.794},"s":{"a":0,"k":[58.625,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"270","layers":[{"ind":269,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[168.83,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[337.661,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"277","layers":[{"ind":276,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[36.67,21.03],[23.88,36.67],[18.19,30.98]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[14.13,0],[0,14.13],[-14.13,0],[0,-14.12]],"o":[[0,14.13],[-14.13,0],[0,-14.12],[14.13,0],[0,0]],"v":[[53.72,28.14],[28.14,53.72],[2.56,28.14],[28.14,2.56],[53.72,28.14]]}}},{"ty":"st","c":{"a":0,"k":[0.15,0.65,0.48,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":5.12}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"280","layers":[{"ind":279,"ty":0,"parent":275,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"277"},{"ind":275,"ty":3,"ks":{"p":{"a":0,"k":[5.683,5.965]}},"ip":0,"op":241,"st":0}]},{"id":"287","layers":[{"ind":286,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[20.464,10.232]},"r":{"a":0,"k":1.587},"s":{"a":0,"k":[40.929,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"292","layers":[{"ind":291,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29.313,10.232]},"r":{"a":0,"k":0.794},"s":{"a":0,"k":[58.625,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"297","layers":[{"ind":296,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[143.25,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[286.5,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"304","layers":[{"ind":303,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[3,13.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[6,27]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.56,23.98],[2.56,23.95]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.56,2.56],[2.56,15.45]]}}},{"ty":"st","c":{"a":0,"k":[0.78,0.65,0.15,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":5.12}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"310","layers":[{"ind":309,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[14.13,0],[0,14.13],[-14.12,0],[0,-14.12]],"o":[[0,14.13],[-14.12,0],[0,-14.12],[14.13,0],[0,0]],"v":[[53.72,28.14],[28.14,53.72],[2.56,28.14],[28.14,2.56],[53.72,28.14]]}}},{"ty":"st","c":{"a":0,"k":[0.78,0.65,0.15,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":5.12}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"313","layers":[{"ind":306,"ty":0,"parent":302,"ks":{},"w":6,"h":27,"ip":0,"op":241,"st":0,"refId":"304"},{"ind":302,"ty":3,"ks":{"p":{"a":0,"k":[30.995,20.576]}},"ip":0,"op":241,"st":0},{"ind":312,"ty":0,"parent":308,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"310"},{"ind":308,"ty":3,"parent":307,"ks":{"s":{"a":0,"k":[101.75,100]}},"ip":0,"op":241,"st":0},{"ind":307,"ty":3,"ks":{"p":{"a":0,"k":[4.995,5.576]}},"ip":0,"op":241,"st":0}]},{"id":"325","layers":[{"ind":320,"ty":4,"parent":319,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,17.054]},"r":{"a":0,"k":0},"s":{"a":0,"k":[62.53,85.268]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"v":[[0,0],[0,34.1],[11.4,34.1]],"o":[[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,14.2],[11.4,14.2]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.059,0.863,0.471]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":319,"ty":3,"ks":{"p":{"a":0,"k":[14.212,22.738]}},"ip":0,"op":241,"st":0},{"ind":322,"ty":4,"parent":321,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,5.685]},"r":{"a":0,"k":0},"s":{"a":0,"k":[16.485,16.485]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[5.685,5.685]},"s":{"a":0,"k":[11.369,11.369]}},{"ty":"st","c":{"a":0,"k":[0.059,0.863,0.471]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":321,"ty":3,"ks":{"p":{"a":0,"k":[8.527,11.369]}},"ip":0,"op":241,"st":0},{"ind":324,"ty":4,"parent":323,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.054,19.896]},"r":{"a":0,"k":0},"s":{"a":0,"k":[85.268,90.952]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,0],[34.1,0]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,19.9],[34.1,19.9]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,39.8],[34.1,39.8]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.059,0.863,0.471]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":323,"ty":3,"ks":{"p":{"a":0,"k":[25.581,17.054]}},"ip":0,"op":241,"st":0}]},{"id":"329","layers":[{"ind":327,"ty":0,"parent":318,"ks":{"a":{"a":0,"k":[6.821,6.822]},"p":{"a":0,"k":[6.821,6.822]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"325"},{"ind":318,"ty":3,"ks":{"p":{"a":0,"k":[6.821,6.822]}},"ip":0,"op":241,"st":0},{"ind":328,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[40.929,40.929]},"r":{"a":0,"k":12},"s":{"a":0,"k":[81.857,81.857]}},{"ty":"fl","c":{"a":0,"k":[0.192,0.2,0.216]},"o":{"a":0,"k":100}}]}]},{"id":"340","layers":[{"ind":335,"ty":4,"parent":334,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,17.054]},"r":{"a":0,"k":0},"s":{"a":0,"k":[62.53,85.268]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"v":[[0,0],[0,34.1],[11.4,34.1]],"o":[[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,14.2],[11.4,14.2]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.059,0.863,0.471]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":334,"ty":3,"ks":{"p":{"a":0,"k":[14.212,22.738]}},"ip":0,"op":241,"st":0},{"ind":337,"ty":4,"parent":336,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[5.685,5.685]},"r":{"a":0,"k":0},"s":{"a":0,"k":[16.485,16.485]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"el","p":{"a":0,"k":[5.685,5.685]},"s":{"a":0,"k":[11.369,11.369]}},{"ty":"st","c":{"a":0,"k":[0.059,0.863,0.471]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":336,"ty":3,"ks":{"p":{"a":0,"k":[8.527,11.369]}},"ip":0,"op":241,"st":0},{"ind":339,"ty":4,"parent":338,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","p":{"a":0,"k":[17.054,19.896]},"r":{"a":0,"k":0},"s":{"a":0,"k":[85.268,90.952]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[0,0],[34.1,0]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,19.9],[34.1,19.9]],"o":[[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"v":[[5.7,39.8],[34.1,39.8]],"o":[[0,0],[0,0]]}}},{"ty":"st","c":{"a":0,"k":[0.059,0.863,0.471]},"lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100},"w":{"a":0,"k":5.116}},{"ty":"tr","o":{"a":0,"k":100}}]}]},{"ind":338,"ty":3,"ks":{"p":{"a":0,"k":[25.581,17.054]}},"ip":0,"op":241,"st":0}]},{"id":"347","layers":[{"ind":346,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10,10],[0,10],[0,0],[10,0],[10,10]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[31.1,10],[21.1,10],[21.1,0],[31.1,0],[31.1,10]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[52.2,10],[42.2,10],[42.2,0],[52.2,0],[52.2,10]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.396,0.412,0.467]},"o":{"a":0,"k":100}}]}]},{"id":"350","layers":[{"ind":349,"ty":0,"ks":{"o":{"a":0,"k":80},"p":{"a":0,"k":[8.005,29.098]}},"w":53,"h":11,"ip":0,"op":241,"st":0,"refId":"347"}]},{"id":"353","layers":[{"ind":352,"ty":0,"ks":{"a":{"a":0,"k":[6.821,6.821]},"p":{"a":0,"k":[6.821,6.821]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"350"}]},{"id":"358","layers":[{"ind":357,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[190.861,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[381.722,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.357,0.376,0.4]},"o":{"a":0,"k":100}}]}]},{"id":"367","layers":[{"ind":366,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[15,25]},"r":{"a":0,"k":0},"s":{"a":0,"k":[30,50]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-11.77],[0,0],[4.28,-3.79],[0,0],[0,4.93],[8.95,0],[0.25,-0.01],[0,0],[-0.25,0]],"o":[[11.77,0],[0,0],[-0.16,6.13],[0,0],[3.48,-2.97],[0,-8.95],[-0.25,0],[0,0],[0.25,-0.01],[0,0]],"v":[[0.75,0],[22.07,21.31],[22.06,21.86],[14.89,37.27],[11.26,33.64],[16.95,21.31],[0.75,5.12],[0,5.13],[0,0.02],[0.75,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.18,0.45,1,1]},"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"372","layers":[{"ind":371,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-13.81],[13.81,0],[0,13.81],[-13.81,0]],"o":[[13.81,0],[0,13.81],[-13.81,0],[0,-13.81],[0,0]],"v":[[28.42,3.41],[53.42,28.42],[28.42,53.42],[3.41,28.42],[28.42,3.41]]}}},{"ty":"st","c":{"a":0,"k":[0.18,0.45,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":6.82}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"375","layers":[{"ind":374,"ty":0,"parent":370,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"372"},{"ind":370,"ty":3,"ks":{"s":{"a":0,"k":[101.75,101.75]}},"ip":0,"op":241,"st":0}]},{"id":"378","layers":[{"ind":369,"ty":0,"parent":365,"ks":{},"w":30,"h":50,"ip":0,"op":241,"st":0,"refId":"367"},{"ind":365,"ty":3,"parent":364,"ks":{"s":{"a":0,"k":[103.33,102]}},"ip":0,"op":241,"st":0},{"ind":364,"ty":3,"ks":{"p":{"a":0,"k":[30.995,3.721]}},"ip":0,"op":241,"st":0},{"ind":377,"ty":0,"ks":{"o":{"a":0,"k":32},"p":{"a":0,"k":[3.995,3.721]}},"w":58,"h":58,"ip":0,"op":241,"st":0,"refId":"375"}]},{"id":"386","layers":[{"ind":385,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[20.464,10.232]},"r":{"a":0,"k":1.587},"s":{"a":0,"k":[40.929,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"391","layers":[{"ind":390,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[29.313,10.232]},"r":{"a":0,"k":0.794},"s":{"a":0,"k":[58.625,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"396","layers":[{"ind":395,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[163.714,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[327.429,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"405","layers":[{"ind":404,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[15,25]},"r":{"a":0,"k":0},"s":{"a":0,"k":[30,50]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-11.77],[0,0],[4.28,-3.79],[0,0],[0,4.93],[8.95,0],[0.25,-0.01],[0,0],[-0.25,0]],"o":[[11.77,0],[0,0],[-0.16,6.13],[0,0],[3.48,-2.97],[0,-8.95],[-0.25,0],[0,0],[0.25,-0.01],[0,0]],"v":[[0.75,0],[22.07,21.31],[22.06,21.86],[14.89,37.27],[11.26,33.64],[16.95,21.31],[0.75,5.12],[0,5.13],[0,0.02],[0.75,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.18,0.45,1,1]},"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"410","layers":[{"ind":409,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[28.5,28.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[57,57]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-13.81],[13.81,0],[0,13.81],[-13.81,0]],"o":[[13.81,0],[0,13.81],[-13.81,0],[0,-13.81],[0,0]],"v":[[28.42,3.41],[53.42,28.42],[28.42,53.42],[3.41,28.42],[28.42,3.41]]}}},{"ty":"st","c":{"a":0,"k":[0.18,0.45,1,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":6.82}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"413","layers":[{"ind":412,"ty":0,"parent":408,"ks":{},"w":57,"h":57,"ip":0,"op":241,"st":0,"refId":"410"},{"ind":408,"ty":3,"ks":{"s":{"a":0,"k":[101.75,101.75]}},"ip":0,"op":241,"st":0}]},{"id":"416","layers":[{"ind":407,"ty":0,"parent":403,"ks":{},"w":30,"h":50,"ip":0,"op":241,"st":0,"refId":"405"},{"ind":403,"ty":3,"parent":402,"ks":{"s":{"a":0,"k":[103.33,102]}},"ip":0,"op":241,"st":0},{"ind":402,"ty":3,"ks":{"p":{"a":0,"k":[30.995,3.864]}},"ip":0,"op":241,"st":0},{"ind":415,"ty":0,"ks":{"o":{"a":0,"k":32},"p":{"a":0,"k":[3.995,3.864]}},"w":58,"h":58,"ip":0,"op":241,"st":0,"refId":"413"}]},{"id":"422","layers":[{"ind":421,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[310.892,10.232]},"r":{"a":0,"k":3.411},"s":{"a":0,"k":[621.784,20.464]}},{"ty":"fl","c":{"a":0,"k":[0.541,0.565,0.588]},"o":{"a":0,"k":100}}]}]},{"id":"429","layers":[{"ind":428,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[27,21.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[54,43]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[15.09,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[43.87,40.67],[50.27,20.21],[45.79,20.21]]}}},{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.7,40.67],[2.3,40.67],[2.3,2.3],[20.21,2.3],[25.32,9.97],[45.79,9.97],[45.79,20.21]]}}},{"ty":"st","c":{"a":0,"k":[0.45,0.49,0.58,1]},"lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.6}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"432","layers":[{"ind":431,"ty":0,"parent":427,"ks":{},"w":54,"h":43,"ip":0,"op":241,"st":0,"refId":"429"},{"ind":427,"ty":3,"parent":426,"ks":{"s":{"a":0,"k":[100,102.33]}},"ip":0,"op":241,"st":0},{"ind":426,"ty":3,"ks":{"p":{"a":0,"k":[5.301,7.125]}},"ip":0,"op":241,"st":0}]},{"id":"438","layers":[{"ind":437,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[13.5,8.5]},"r":{"a":0,"k":0},"s":{"a":0,"k":[27,17]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":241,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[3.17,3.18],[13.15,13.15],[23.13,3.18]]}}},{"ty":"st","c":{"a":0,"k":[0.54,0.56,0.59,1]},"lc":3,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":4.49}},{"ty":"tr","o":{"a":0,"k":100},"s":{"a":0,"k":[75,75]}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]},{"id":"441","layers":[{"ind":440,"ty":0,"parent":436,"ks":{},"w":27,"h":17,"ip":0,"op":241,"st":0,"refId":"438"},{"ind":436,"ty":3,"ks":{"p":{"a":0,"k":[16.7,21.354]}},"ip":0,"op":241,"st":0}]},{"id":"444","layers":[{"ind":262,"ty":0,"parent":258,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[23.505,33.737]}},"w":41,"h":21,"ip":0,"op":241,"st":0,"refId":"260"},{"ind":258,"ty":3,"parent":257,"ks":{"p":{"a":0,"k":[58.625,0]}},"ip":0,"op":241,"st":0},{"ind":267,"ty":0,"parent":263,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[0,33.737]}},"w":59,"h":21,"ip":0,"op":241,"st":0,"refId":"265"},{"ind":263,"ty":3,"parent":257,"ks":{},"ip":0,"op":241,"st":0},{"ind":257,"ty":3,"parent":256,"ks":{"p":{"a":0,"k":[688.784,10.602]}},"ip":0,"op":241,"st":0},{"ind":272,"ty":0,"parent":268,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":338,"h":21,"ip":0,"op":241,"st":0,"refId":"270"},{"ind":268,"ty":3,"parent":256,"ks":{"p":{"a":0,"k":[215.888,44.339]}},"ip":0,"op":241,"st":0},{"ind":282,"ty":0,"parent":274,"ks":{},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"280"},{"ind":274,"ty":3,"parent":273,"ks":{},"ip":0,"op":241,"st":0},{"ind":273,"ty":3,"parent":256,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":256,"ty":3,"ks":{"p":{"a":0,"k":[51.3,436.571]}},"ip":0,"op":241,"st":0},{"ind":289,"ty":0,"parent":285,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[23.505,33.737]}},"w":41,"h":21,"ip":0,"op":241,"st":0,"refId":"287"},{"ind":285,"ty":3,"parent":284,"ks":{"p":{"a":0,"k":[58.625,0]}},"ip":0,"op":241,"st":0},{"ind":294,"ty":0,"parent":290,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[0,33.737]}},"w":59,"h":21,"ip":0,"op":241,"st":0,"refId":"292"},{"ind":290,"ty":3,"parent":284,"ks":{},"ip":0,"op":241,"st":0},{"ind":284,"ty":3,"parent":283,"ks":{"p":{"a":0,"k":[688.784,10.602]}},"ip":0,"op":241,"st":0},{"ind":299,"ty":0,"parent":295,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":287,"h":21,"ip":0,"op":241,"st":0,"refId":"297"},{"ind":295,"ty":3,"parent":283,"ks":{"p":{"a":0,"k":[215.888,44.339]}},"ip":0,"op":241,"st":0},{"ind":315,"ty":0,"parent":301,"ks":{"a":{"a":0,"k":[0.687,0.531]},"p":{"a":0,"k":[0.687,0.531]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"313"},{"ind":301,"ty":3,"parent":300,"ks":{"p":{"a":0,"k":[0.687,0.531]}},"ip":0,"op":241,"st":0},{"ind":300,"ty":3,"parent":283,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":283,"ty":3,"ks":{"p":{"a":0,"k":[51.3,327.429]}},"ip":0,"op":241,"st":0},{"ind":331,"ty":0,"parent":317,"ks":{"a":{"a":0,"k":[40.929,40.929]},"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":34.8,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":46.8,"s":[100],"h":1},{"t":240,"s":[100],"h":1}]},"p":{"a":0,"k":[129.607,40.929]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":58.2,"s":[100,100],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.9,0.9],"y":[0,0]}},{"t":82.2,"s":[110,110],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":106.2,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[100,100],"h":1}]}},"w":82,"h":82,"ip":0,"op":241,"st":0,"refId":"329"},{"ind":342,"ty":0,"parent":333,"ks":{"a":{"a":0,"k":[6.821,6.822]},"p":{"a":0,"k":[6.821,6.822]}},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"340"},{"ind":333,"ty":3,"parent":332,"ks":{"p":{"a":0,"k":[6.821,6.822]}},"ip":0,"op":241,"st":0},{"ind":343,"ty":4,"parent":332,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[40.929,40.929]},"r":{"a":0,"k":12},"s":{"a":0,"k":[81.857,81.857]}},{"ty":"fl","c":{"a":0,"k":[0.157,0.165,0.176]},"o":{"a":0,"k":100}}]},{"ind":332,"ty":3,"parent":317,"ks":{"p":{"a":0,"k":[88.679,0]}},"ip":0,"op":241,"st":0},{"ind":355,"ty":0,"parent":345,"ks":{"o":{"a":0,"k":60},"p":{"a":0,"k":[6.821,6.821]}},"w":61,"h":40,"ip":0,"op":241,"st":0,"refId":"353"},{"ind":345,"ty":3,"parent":344,"ks":{},"ip":0,"op":241,"st":0},{"ind":344,"ty":3,"parent":317,"ks":{},"ip":0,"op":241,"st":0},{"ind":317,"ty":3,"parent":316,"ks":{"p":{"a":0,"k":[657.99,13.643]}},"ip":0,"op":241,"st":0},{"ind":360,"ty":0,"parent":356,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":382,"h":21,"ip":0,"op":241,"st":0,"refId":"358"},{"ind":356,"ty":3,"parent":316,"ks":{"p":{"a":0,"k":[214.875,44.339]}},"ip":0,"op":241,"st":0},{"ind":380,"ty":0,"parent":363,"ks":{},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"378"},{"ind":363,"ty":3,"parent":362,"ks":{},"ip":0,"op":241,"st":0},{"ind":362,"ty":3,"parent":361,"ks":{"p":{"a":0,"k":[0.687,0.529]}},"ip":0,"op":241,"st":0},{"ind":361,"ty":3,"parent":316,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":381,"ty":4,"parent":316,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[421.084,54.571]},"r":{"a":0,"k":13.643},"s":{"a":0,"k":[842.169,109.143]}},{"ty":"fl","c":{"a":0,"k":[0.878,0.886,0.949,0.031]},"o":{"a":0,"k":3.1}}]},{"ind":316,"ty":3,"ks":{"p":{"a":0,"k":[51.3,218.286]}},"ip":0,"op":241,"st":0},{"ind":388,"ty":0,"parent":384,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[23.505,33.737]}},"w":41,"h":21,"ip":0,"op":241,"st":0,"refId":"386"},{"ind":384,"ty":3,"parent":383,"ks":{"p":{"a":0,"k":[58.625,0]}},"ip":0,"op":241,"st":0},{"ind":393,"ty":0,"parent":389,"ks":{"o":{"a":0,"k":30},"p":{"a":0,"k":[0,33.737]}},"w":59,"h":21,"ip":0,"op":241,"st":0,"refId":"391"},{"ind":389,"ty":3,"parent":383,"ks":{},"ip":0,"op":241,"st":0},{"ind":383,"ty":3,"parent":382,"ks":{"p":{"a":0,"k":[688.784,10.602]}},"ip":0,"op":241,"st":0},{"ind":398,"ty":0,"parent":394,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":328,"h":21,"ip":0,"op":241,"st":0,"refId":"396"},{"ind":394,"ty":3,"parent":382,"ks":{"p":{"a":0,"k":[215.888,44.339]}},"ip":0,"op":241,"st":0},{"ind":418,"ty":0,"parent":401,"ks":{},"w":68.2143,"h":68.2143,"ip":0,"op":241,"st":0,"refId":"416"},{"ind":401,"ty":3,"parent":400,"ks":{},"ip":0,"op":241,"st":0},{"ind":400,"ty":3,"parent":399,"ks":{"p":{"a":0,"k":[0.687,0.529]}},"ip":0,"op":241,"st":0},{"ind":399,"ty":3,"parent":382,"ks":{"p":{"a":0,"k":[133.018,20.464]}},"ip":0,"op":241,"st":0},{"ind":382,"ty":3,"ks":{"p":{"a":0,"k":[51.3,109.143]}},"ip":0,"op":241,"st":0},{"ind":424,"ty":0,"parent":420,"ks":{"o":{"a":0,"k":40},"p":{"a":0,"k":[6.821,0]}},"w":622,"h":21,"ip":0,"op":241,"st":0,"refId":"422"},{"ind":420,"ty":3,"parent":419,"ks":{"p":{"a":0,"k":[138.342,44.339]}},"ip":0,"op":241,"st":0},{"ind":434,"ty":0,"parent":425,"ks":{"a":{"a":0,"k":[68.399,23.875]},"p":{"a":0,"k":[68.399,23.875]}},"w":61.3929,"h":61.3929,"ip":0,"op":241,"st":0,"refId":"432"},{"ind":425,"ty":3,"parent":419,"ks":{"p":{"a":0,"k":[68.399,23.875]}},"ip":0,"op":241,"st":0},{"ind":443,"ty":0,"parent":435,"ks":{"a":{"a":0,"k":[0,24.647]},"p":{"a":0,"k":[0,24.647]}},"w":59.8496,"h":59.8496,"ip":0,"op":241,"st":0,"refId":"441"},{"ind":435,"ty":3,"parent":419,"ks":{"p":{"a":0,"k":[0,24.647]}},"ip":0,"op":241,"st":0},{"ind":419,"ty":3,"ks":{"p":{"a":0,"k":[51.3,0]}},"ip":0,"op":241,"st":0}]},{"id":"447","layers":[{"ind":446,"ty":0,"ks":{},"w":944.7678,"h":545.7143,"ip":0,"op":241,"st":0,"refId":"444"}]},{"id":"451","layers":[{"ind":20,"ty":0,"ks":{"a":{"a":0,"k":[32,32]},"o":{"a":1,"k":[{"t":0,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":37.2,"s":[100],"h":1},{"t":106.2,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":116.4,"s":[0],"h":1},{"t":240,"s":[0],"h":1}]},"p":{"a":1,"k":[{"t":0,"s":[295,196],"i":{"x":[0.611,0.594],"y":[0.386,0.658]},"o":{"x":[0.649,0.64],"y":[0,0]}},{"t":19.5,"s":[235.28,130.323],"i":{"x":[0.514,0.479],"y":[0.74,0.901]},"o":{"x":[0.216,0.202],"y":[0.381,0.653]}},{"t":39,"s":[181.773,113.217],"i":{"x":[0.555,0.445],"y":[1,1]},"o":{"x":[0.235,0.19],"y":[0.619,1]}},{"t":78,"s":[160,112],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[160,112],"i":{"x":[0.809,0.816],"y":[0.385,0.997]},"o":{"x":[0.516,0.584],"y":[0,0.001]}},{"t":116.778,"s":[180.99522390643455,110.914],"i":{"x":[0.726,0.735],"y":[0.63,0.272]},"o":{"x":[0.407,0.418],"y":[0.293,0.002]}},{"t":118.8,"s":[198.955,111.82484383561516],"i":{"x":[0.636,0.613],"y":[0.676,0.406]},"o":{"x":[0.405,0.39],"y":[0.33,0.121]}},{"t":121.758,"s":[242.44176345907636,123.629],"i":{"x":[0.487,0.515],"y":[0.716,0.639]},"o":{"x":[0.207,0.226],"y":[0.37,0.275]}},{"t":126.732,"s":[278.8528377954868,148.732],"h":1},{"t":126.732,"s":[278.8528378070031,148.732],"i":{"x":[0.594,0.599],"y":[0.716,0.687]},"o":{"x":[0.267,0.272],"y":[0.378,0.347]}},{"t":131.4,"s":[292.202,162.46244354411593],"i":{"x":[0.584,0.617],"y":[0.698,0.705]},"o":{"x":[0.261,0.287],"y":[0.354,0.366]}},{"t":136.692,"s":[300.0213253756998,171.983],"i":{"x":[0.53,0.63],"y":[1,1]},"o":{"x":[0.217,0.288],"y":[0.582,0.722]}},{"t":156.6,"s":[308,183],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[308,183],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[120,120],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":58.2,"s":[120,120],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":82.2,"s":[90,90],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":106.2,"s":[120,120],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[120,120],"h":1}]}},"w":63,"h":64,"ip":0,"op":241,"st":0,"refId":"18"},{"ind":255,"ty":0,"parent":21,"ks":{"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":106.2,"s":[0],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":177.6,"s":[100],"h":1},{"t":240,"s":[100],"h":1}]},"p":{"a":0,"k":[944.768,0]}},"w":781,"h":764,"ip":0,"op":241,"st":0,"refId":"253"},{"ind":449,"ty":0,"parent":21,"ks":{"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":106.2,"s":[100],"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"t":142.2,"s":[0],"h":1},{"t":240,"s":[0],"h":1}]}},"w":894,"h":521,"ip":0,"op":241,"st":0,"refId":"447"},{"ind":21,"ty":3,"ks":{"a":{"a":0,"k":[944.768,382]},"p":{"a":1,"k":[{"t":0,"s":[240.768,198],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[240.768,198],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":187.8,"s":[-6.232,140],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[-6.232,140],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":106.2,"s":[100,100],"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.5,0.5],"y":[0,0]}},{"t":187.8,"s":[33.91,33.91],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":240,"s":[33.91,33.91],"h":1}]}},"ip":0,"op":241,"st":0},{"ind":450,"ty":4,"ks":{},"ip":0,"op":241,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[138,88.462]},"r":{"a":0,"k":0},"s":{"a":0,"k":[276,176.923]}},{"ty":"fl","c":{"a":0,"k":[0.133,0.141,0.153]},"o":{"a":0,"k":100}}]}]}],"fr":60,"h":177,"ip":0,"layers":[{"ind":453,"ty":0,"parent":2,"ks":{},"w":276,"h":176.9231,"ip":0,"op":241,"st":0,"refId":"451"},{"ind":2,"ty":3,"parent":1,"ks":{},"ip":0,"op":241,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":241,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":241,"st":0}],"meta":{"g":"https://jitter.video"},"op":240,"v":"5.7.4","w":276}');let __={assets:_g.assets,fr:_g.fr,h:_g.h,ip:_g.ip,layers:_g.layers,meta:_g.meta,op:_g.op,v:_g.v,w:_g.w},_y=_i.default||_i,_v=768,_b=300,_S=3;(0,n.memo)(({visible:e,onConfirm:t,onClose:i,onShow:r,side:a="right",mobileSide:o="bottom",align:l="start",mobileAlign:c="center",alignOffset:d=-12,mobileAlignOffset:u=0,sideOffset:h=12,children:m,brandColor:f})=>{let g=lQ(),{theme:_}=(0,hu.DP)(),y="light"!==_,v=(0,n.useRef)(!1),b=(0,n.useRef)(null),S=y?__:_f,[k,C]=(0,n.useState)(()=>"u">typeof window&&window.innerWidth<=_v),[w,E]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=()=>{C(window.innerWidth<=_v)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let T=(0,n.useRef)(i);T.current=i,(0,n.useEffect)(()=>{let t;if(!e)return void E(!1);if(k){let e=setTimeout(()=>{E(!0)},_b);return()=>clearTimeout(e)}let i=!1,r=-1,s=-1,n=0,a=()=>{if(i)return;let e=b.current;if(!e){t=requestAnimationFrame(a);return}let o=e.getBoundingClientRect();if(0===o.width&&0===o.height){t=requestAnimationFrame(a);return}o.left===r&&o.top===s?n++:n=0,r=o.left,s=o.top,n>=_S?E(!0):t=requestAnimationFrame(a)};return t=requestAnimationFrame(a),()=>{i=!0,cancelAnimationFrame(t)}},[e,k]),(0,n.useEffect)(()=>{let e;if(!w)return;let t=b.current;if(!t)return;let i=!0,r=()=>{if(!i)return;let s=t.getBoundingClientRect();0===s.width&&0===s.height?T.current():e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>{i=!1,cancelAnimationFrame(e)}},[w]),(0,n.useEffect)(()=>{w&&!v.current&&(v.current=!0,r?.())},[w,r]);let I=(0,n.useRef)(e);(0,n.useEffect)(()=>{I.current&&!e&&i(),I.current=e},[e,i]);let R=(0,n.useCallback)(e=>{e||i()},[i]),N=k?o:a,A=k?c:l,M=k?u:d,P=(0,s.jsx)("div",{className:_n,children:(0,s.jsxs)("div",{className:_a,children:[(0,s.jsxs)("div",{className:_o,children:[(0,s.jsx)("span",{className:_l,children:g.localize("solo-web.guide.fileTree.title",{},"View the files used for your current task here")}),(0,s.jsx)("button",{className:_c,onClick:i,children:(0,s.jsx)(uY.A,{})})]}),(0,s.jsx)("div",{className:_d,children:(0,s.jsx)(_y,{animationData:S,loop:!0,autoplay:!0,className:`${_u}${f?` ${_h}`:""}`,style:f?{"--lottie-brand-color":f}:void 0})}),(0,s.jsx)("div",{className:_p,children:(0,s.jsx)(p.A,{type:"primary",onClick:t,children:g.localize("solo-web.guide.fileTree.gotIt",{},"Got it")})})]})});return(0,s.jsx)(x.A,{open:w,onOpenChange:R,side:N,align:A,alignOffset:M,content:P,showArrow:!0,sideOffset:h,trigger:"click",contentClassName:_r,arrowClassName:_s,children:(0,s.jsx)("span",{ref:b,children:m})})}).displayName="FileTreeNewGuide";var _k=i(86991);let _x="remote",_C="vm",_w="work",_E="code",_T=0x6400000,_I=0xc800000,_R=0x40000000,_N=5,_A=["image/jpeg","image/png","image/gif","image/webp"],_M=["image/*",".jpg",".jpeg",".png",".gif",".webp",".svg",".bmp",".ico",".tiff",".heic",".avif","video/*",".mp4",".webm",".ogg",".mov",".avi",".wmv",".flv",".mkv",".m4v",".3gp","audio/*",".mp3",".wav",".aac",".flac",".m4a",".wma",".ogg","application/pdf",".pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document",".doc",".docx",".rtf","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".xls",".xlsx","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation",".ppt",".pptx",".odt",".ods",".odp","text/*","text/markdown","text/x-markdown",".md",".markdown",".mdx",".txt",".csv",".tsv",".log",".rtf",".rst",".tex",".latex",".bib",".org",".adoc",".asciidoc",".json",".xml",".yaml",".yml",".toml",".ini",".conf",".cfg",".env",".properties",".editorconfig",".gitignore",".gitattributes",".dockerignore",".npmrc",".nvmrc",".prettierrc",".eslintrc",".babelrc",".htaccess",".html",".htm",".xhtml",".css",".scss",".sass",".less",".styl",".stylus",".js",".mjs",".cjs",".ts",".mts",".cts",".d.ts",".jsx",".tsx",".vue",".svelte",".astro",".coffee",".ejs",".pug",".jade",".hbs",".handlebars",".mustache",".njk",".liquid",".twig",".jinja",".jinja2",".j2",".erb",".slim",".haml",".py",".pyw",".pyi",".pyx",".ipynb",".java",".kt",".kts",".scala",".groovy",".gradle",".clj",".cljs",".c",".cpp",".cc",".cxx",".h",".hpp",".hxx",".m",".mm",".cs",".vb",".fs",".fsx",".fsi",".go",".rs",".rb",".erb",".rake",".gemspec",".php",".phtml",".blade.php",".sh",".bash",".zsh",".fish",".ps1",".psm1",".bat",".cmd",".swift",".r",".R",".lua",".pl",".pm",".ex",".exs",".erl",".hrl",".hs",".lhs",".elm",".dart",".lisp",".scm",".rkt",".ml",".mli",".nim",".zig",".v",".vala",".sql",".graphql",".gql",".prisma",".asm",".s",".S",".vhd",".vhdl",".sv",".proto",".thrift",".avsc",".tf",".hcl","application/json","application/xml",".ndjson",".jsonl",".geojson","application/zip",".zip","application/x-rar-compressed",".rar","application/x-7z-compressed",".7z",".tar",".gz",".bz2",".xz",".tgz",".srt",".vtt",".ass",".ssa",".diff",".patch",".ics",".vcf"],_P=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/svg+xml","image/x-icon","image/tiff","image/avif","image/heic"];function _j(){return`file-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function _L(e){return{id:e.id,file:e.file,name:e.file?.name||"",size:e.file?.size||0,type:e.file?.type||"",status:e.status,progress:e.progressPercent,thumbnailUrl:e.blobURL,blobURL:e.blobURL,imageWidth:e.imageWidth,imageHeight:e.imageHeight,imageItem:e}}function _D(e){if(0===e)return"0 B";let t=["B","KB","MB","GB"],i=Math.floor(Math.log(e)/Math.log(1024)),r=e/Math.pow(1024,i);return`${r.toFixed(+(i>0))} ${t[i]}`}function _O(e){let t=e.lastIndexOf(".");return -1===t||t===e.length-1?"":e.substring(t+1).toLowerCase()}function _F(e){let t="type"in e?e.type:"";return _P.some(e=>t.startsWith(e.replace("/*","")))}function _U(e){let t="type"in e?e.type:"";return _A.includes(t)}function _V(e){return e.filter(e=>_U(e)).length}function _B(e,t=_M){if(0===t.length)return!0;let i=e.type,r=_O(e.name);return t.some(e=>{if(e.endsWith("/*")){let t=e.replace("/*","");return i.startsWith(t)}return e.startsWith(".")?`.${r}`===e.toLowerCase():i===e})}function _z(e,t){return e.size<=t}function _W(e,t=120,i=80){return new Promise((r,s)=>{if(!_F({type:e.type}))return void s(Error("Not an image file"));let n=new FileReader;n.onload=e=>{let n=new Image;n.onload=()=>{let e=document.createElement("canvas"),{width:a,height:o}=n;if(a>t||o>i){let e=Math.min(t/a,i/o);a=Math.round(a*e),o=Math.round(o*e)}e.width=a,e.height=o;let l=e.getContext("2d");l?(l.drawImage(n,0,0,a,o),r(e.toDataURL("image/jpeg",.8))):s(Error("Failed to get canvas context"))},n.onerror=()=>s(Error("Failed to load image")),n.src=e.target?.result},n.onerror=()=>s(Error("Failed to read file")),n.readAsDataURL(e)})}async function _H(e,t=60,i=40,r=.5){if(e.startsWith("data:"))return e;if(e.startsWith("blob:"))try{let s=await fetch(e),n=await s.blob();return new Promise(e=>{let s=new Image;s.onload=()=>{let n=document.createElement("canvas"),{width:a,height:o}=s;if(a>t||o>i){let e=Math.min(t/a,i/o);a=Math.round(a*e),o=Math.round(o*e)}n.width=a,n.height=o;let l=n.getContext("2d");l?(l.drawImage(s,0,0,a,o),e(n.toDataURL("image/jpeg",r))):e(void 0),URL.revokeObjectURL(s.src)},s.onerror=()=>{URL.revokeObjectURL(s.src),e(void 0)},s.src=URL.createObjectURL(n)})}catch{return}}function _G(e,t){return{id:_j(),file:e,name:e.name,size:e.size,type:e.type,status:_k.d8.Pending,progress:0,thumbnailUrl:t}}async function _Z(e,t){let{maxImageSize:i,maxAttachmentSize:r,maxTotalSize:s,maxImageCount:n,maxFileCount:a,acceptTypes:o,currentFiles:l,onError:c,onLimitHit:d,i18n:u}=t,h=Array.from(e),p=[],m=l.reduce((e,t)=>e+t.size,0),f=_V(l),g=l.length,_=e=>{d?.({...e,selectedFileCount:h.length,currentFileCount:g,acceptedFileCount:p.length})};for(let e of h){let t;if(null!=a&&a!==1/0&&g+p.length>=a){let e=u?.localize("chat-input.fileUpload.fileCountExceeded",{maxCount:a},`You can upload up to ${a} files at a time`)??`You can upload up to ${a} files at a time`;_({reason:"file_count_exceeded",totalSize:m,maxCount:a}),c?.(e);break}if(_K(e))continue;if(o&&!_B(e,o)){let t=u?.localize("chat-input.fileUpload.unsupportedFileType",{fileName:e.name},`Unsupported file type: ${e.name}`)??`Unsupported file type: ${e.name}`;c?.(t);continue}let l=_F({type:e.type});if(l&&!_z(e,i)){let t=_D(i),r=u?.localize("chat-input.fileUpload.imageSizeExceeded",{fileName:e.name,maxSize:t},`Image size exceeded: ${e.name} (max ${t})`)??`Image size exceeded: ${e.name} (max ${t})`;_({reason:"image_size_exceeded",file:e,fileSize:e.size,totalSize:m+e.size,maxSize:i}),c?.(r);continue}if(!l&&e.size>r){let t=_D(r),i=u?.localize("chat-input.fileUpload.fileSizeExceeded",{fileName:e.name,maxSize:t},`File size exceeded: ${e.name} (max ${t})`)??`File size exceeded: ${e.name} (max ${t})`;_({reason:"file_size_exceeded",file:e,fileSize:e.size,totalSize:m+e.size,maxSize:r}),c?.(i);continue}if(m+e.size>s){let t=_D(s),i=u?.localize("chat-input.fileUpload.totalSizeExceeded",{maxSize:t},`Total size exceeded (max ${t})`)??`Total size exceeded (max ${t})`;_({reason:"total_size_exceeded",file:e,fileSize:e.size,totalSize:m+e.size,maxSize:s}),c?.(i);continue}let d=_U(e);if(d&&f>=n){let t=u?.localize("chat-input.fileUpload.imageCountExceeded",{maxCount:n},`Image count exceeded (max ${n})`)??`Image count exceeded (max ${n})`;_({reason:"image_count_exceeded",file:e,fileSize:e.size,totalSize:m+e.size,maxCount:n}),c?.(t);continue}if(d)t=_L(await (0,_k.p6)(e));else{let i;if(l)try{i=await _W(e)}catch{i=void 0}t=_G(e,i)}p.push(t),m+=e.size,d&&f++}return p}function _K(e){if(""!==e.type||e.size>4096)return!1;let t=e.name,i=t.lastIndexOf(".");return!(i>0)||!(i0)if("function"==typeof r[0]?.webkitGetAsEntry)for(let e=0;e{let l=(0,n.useCallback)(i=>{i.stopPropagation(),t(e.id)},[e.id,t]),c=e.status===_k.d8.Error||e.status===_k.d8.CheckFailed,d=(0,n.useCallback)(()=>{c&&r?r(e):i?.(e)},[e,i,c,r]),u=(0,n.useCallback)(t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),i?.(e))},[e,i]),h=_F(e),p=e.status===_k.d8.Uploading,m=e.status===_k.d8.Pending,f=e.status===_k.d8.Compressing,g=e.status===_k.d8.Checking,_=m||f||p||g,y=e.status===_k.d8.Success,v=p&&!0===e.parsingPhase,b=!y,k=c&&r,x=(0,n.useMemo)(()=>hm(e.name),[e.name]),C=(0,s.jsxs)("div",{className:`${_Q} chat-input-v2-file-upload-item`,onClick:d,onKeyDown:u,role:"button",tabIndex:0,"data-status":e.status,children:[(0,s.jsxs)("div",{className:`${_0} chat-input-v2-file-upload-item-thumbnail`,children:[h&&e.thumbnailUrl?(0,s.jsx)("img",{src:e.thumbnailUrl,alt:e.name,className:`${_1} chat-input-v2-file-upload-item-image`}):(0,s.jsx)("span",{className:`${_2} chat-input-v2-file-upload-item-icon ${b?_3:""}`,children:x}),_&&(0,s.jsx)("div",{className:`${_4} chat-input-v2-file-upload-item-overlay`,children:(0,s.jsxs)("svg",{className:`${_5} chat-input-v2-file-upload-item-spinner`,width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,s.jsx)("circle",{opacity:"0.35",cx:"7.5",cy:"7.5",r:"6.67",stroke:"white",strokeWidth:"0.8"}),(0,s.jsx)("circle",{className:_9,cx:"7.5",cy:"7.5",r:"6.67",stroke:"white",strokeWidth:"0.8",strokeLinecap:"round",fill:"none",style:{strokeDashoffset:41.91*(1-(e.progress||0)/100)}})]})})]}),(0,s.jsxs)("div",{className:`${_6} chat-input-v2-file-upload-item-info`,children:[(0,s.jsx)("span",{className:`${_8} chat-input-v2-file-upload-item-name`,title:e.name,children:e.name}),(0,s.jsx)("span",{className:`${_7} chat-input-v2-file-upload-item-size`,children:c?(0,s.jsxs)("span",{className:ye,children:[(0,s.jsx)(S.U1W,{className:yt}),e.status===_k.d8.CheckFailed?o?.localize("trae-chat-core.file-upload.status.check-failed",{},"Check failed")||"Check failed":o?.localize("trae-chat-core.file-upload.status.upload-failed",{},"Upload failed")||"Upload failed"]}):m?o?.localize("trae-chat-core.file-upload.status.pending",{},"Waiting to process...")||"Waiting to process...":f?o?.localize("trae-chat-core.file-upload.status.compressing",{},"Compressing...")||"Compressing...":p?v?o?.localize("trae-chat-core.file-upload.status.parsing",{},"Parsing...")||"Parsing...":o?.localize("trae-chat-core.file-upload.status.uploading",{progress:e.progress||0},`Uploading...${e.progress||0}%`)||`Uploading...${e.progress||0}%`:g?o?.localize("trae-chat-core.file-upload.status.checking",{},"Checking...")||"Checking...":e.size?`${_O(e.name).toUpperCase()||"FILE"} \xb7 ${_D(e.size)}`:_O(e.name).toUpperCase()||"FILE"})]}),(0,s.jsx)("div",{className:`${yi} chat-input-v2-file-upload-item-remove`,onClick:l,"aria-label":o?.localize("trae-chat-core.file-upload.aria-label.remove-file",{},"Remove file")||"Remove file",children:(0,s.jsx)(S.cOJ,{style:{fontSize:16}})})]});return k?(0,s.jsx)(_Y.m,{content:a||o?.localize("trae-chat-core.file-upload.tooltip.retry",{},"Click to retry")||"Click to retry",side:"bottom",children:C}):C});yl.displayName="FileItemComponent";let yc=({initialZoom:e=100,minZoom:t=50,maxZoom:i=400,zoomStep:r=25}={})=>{let[s,a]=(0,n.useState)(e),[o,l]=(0,n.useState)(!1),[c,d]=(0,n.useState)({x:0,y:0}),[u,h]=(0,n.useState)({x:0,y:0}),p=(0,n.useCallback)(()=>{a(e=>Math.min(e+r,i))},[r,i]),m=(0,n.useCallback)(()=>{a(e=>Math.max(e-r,t))},[r,t]),f=(0,n.useCallback)(e=>{if(2===e.button){e.preventDefault(),e.stopPropagation();return}l(!0),h({x:e.clientX-c.x,y:e.clientY-c.y})},[c]),g=(0,n.useCallback)(e=>{o&&d({x:e.clientX-u.x,y:e.clientY-u.y})},[o,u]),_=(0,n.useCallback)(()=>{l(!1)},[]),y=(0,n.useCallback)(e=>{e.preventDefault(),a(Math.min(Math.max(s+(e.deltaY>0?-r:r),t),i))},[s,r,t,i]),v=(0,n.useCallback)(()=>{a(e),l(!1),d({x:0,y:0}),h({x:0,y:0})},[e]),b=`translate(${c.x}px, ${c.y}px) scale(${s/100})`;return{zoom:s,position:c,isDragging:o,transform:b,setZoom:a,handleZoomIn:p,handleZoomOut:m,handleMouseDown:f,handleMouseMove:g,handleMouseUp:_,handleWheel:y,reset:v}},yd="overlay-xJu5YH",yu="closeButton-i3tKwu",yh="imageWrapper-pNhSOH",yp="image-ZjKziV",ym="controls-Dupyhj",yf="controlButton-EeBsIt",yg="pageInfo-_2HqkA",y_="separator-dF6Hlu",yy=(e,t)=>{if("u"a)return{thumbnailWidth:r,thumbnailHeight:Math.round(r/n)};let o=s;return{thumbnailWidth:Math.round(s*n),thumbnailHeight:o}},yv=({files:e,startIndex:t,onClose:i})=>{let[r,o]=(0,n.useState)(t),{zoom:l,transform:c,handleZoomIn:d,handleZoomOut:u,handleMouseDown:h,handleMouseMove:p,handleMouseUp:m,handleWheel:f,reset:g}=yc(),_=e[r],y=_?.blobURL||_?.cdnURL||_?.url||_?.thumbnailUrl,{imageWidth:v,imageHeight:b}=_??{},k=v&&b?yy(v,b):void 0;(0,n.useEffect)(()=>{g()},[r,g]);let x=(0,n.useCallback)(()=>{o(t=>(t+1)%e.length)},[e.length]),C=(0,n.useCallback)(()=>{o(t=>(t-1+e.length)%e.length)},[e.length]),w=(0,n.useCallback)(t=>{switch(t.key){case"Escape":i();break;case"ArrowRight":e.length>1&&x();break;case"ArrowLeft":e.length>1&&C()}},[e.length,x,C,i]);return((0,n.useEffect)(()=>(document.addEventListener("keydown",w),()=>document.removeEventListener("keydown",w)),[w]),_&&y)?(0,a.createPortal)((0,s.jsxs)("div",{className:yd,onClick:i,role:"dialog","aria-modal":"true",children:[(0,s.jsx)("button",{className:yu,onClick:e=>{e.stopPropagation(),i()},"aria-label":"Close preview",children:(0,s.jsx)(S.gzW,{style:{fontSize:24}})}),(0,s.jsx)("div",{className:yh,onClick:e=>e.stopPropagation(),onMouseDown:h,onMouseMove:p,onMouseUp:m,onMouseLeave:m,onWheel:f,children:(0,s.jsx)("img",{src:y,alt:_.name,className:yp,style:{transform:c,transformOrigin:"center",transition:"transform 0.2s",width:k?.thumbnailWidth,height:k?.thumbnailHeight},draggable:!1})}),(0,s.jsxs)("div",{className:ym,onClick:e=>e.stopPropagation(),children:[(0,s.jsx)("button",{className:yf,onClick:C,disabled:e.length<=1,"aria-label":"Previous image",children:(0,s.jsx)(S.BuY,{})}),(0,s.jsxs)("span",{className:yg,children:[r+1," / ",e.length]}),(0,s.jsx)("button",{className:yf,onClick:x,disabled:e.length<=1,"aria-label":"Next image",children:(0,s.jsx)(S._l8,{})}),(0,s.jsx)("div",{className:y_}),(0,s.jsx)("button",{className:yf,onClick:u,disabled:l<=50,"aria-label":"Zoom out",children:(0,s.jsx)(S.Nin,{})}),(0,s.jsxs)("span",{className:yg,children:[Math.round(l),"%"]}),(0,s.jsx)("button",{className:yf,onClick:d,disabled:l>=400,"aria-label":"Zoom in",children:(0,s.jsx)(S.mc3,{})})]})]}),document.body):null},yb=({files:e,onRemove:t,onPreview:i,onRetry:r,retryTooltip:a,renderFileItem:o,i18n:l})=>{let c=(0,n.useRef)(null),[d,u]=(0,n.useState)(!1),[h,p]=(0,n.useState)(!1),[m,f]=(0,n.useState)(null),g=(0,n.useCallback)(()=>{let e=c.current;if(!e)return;let{scrollLeft:t,scrollWidth:i,clientWidth:r}=e,s=i>r,n=t<=1,a=t+r>=i-1;u(s&&!n),p(s&&!a)},[]),_=(0,n.useCallback)(()=>{let e=c.current;e&&e.scrollBy({left:-400,behavior:"smooth"})},[]),y=(0,n.useCallback)(()=>{let e=c.current;e&&e.scrollBy({left:400,behavior:"smooth"})},[]),v=e.length>0;(0,n.useLayoutEffect)(()=>{if(!v)return;g();let e=c.current;if(!e)return;e.addEventListener("scroll",g);let t=new ResizeObserver(g);return t.observe(e),()=>{e.removeEventListener("scroll",g),t.disconnect()}},[v,g]),(0,n.useEffect)(()=>{g()},[e.length,g]);let b=(0,n.useMemo)(()=>e.filter(e=>_F(e)&&e.status===_k.d8.Success),[e]),k=(0,n.useCallback)(e=>{i&&i(e),_F(e)&&e.status===_k.d8.Success&&f(e.id)},[i]),x=(0,n.useCallback)(()=>{f(null)},[]),C=(0,n.useMemo)(()=>b.findIndex(e=>e.id===m),[b,m]);return 0===e.length?null:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:`${_J} chat-input-v2-file-upload-list`,children:[d&&(0,s.jsx)("button",{type:"button",className:`${_q} chat-input-v2-file-upload-scroll-button`,"data-position":"left",onClick:_,children:(0,s.jsx)(S.BuY,{})}),(0,s.jsx)("div",{ref:c,className:`${_$} chat-input-v2-file-upload-list-inner`,"data-fade-left":d?"true":"false","data-fade-right":h?"true":"false",children:e.map(e=>o?(0,s.jsx)(n.default.Fragment,{children:o(e,()=>t(e.id))},e.id):(0,s.jsx)(yl,{file:e,onRemove:t,onPreview:k,onRetry:r,retryTooltip:a,i18n:l},e.id))}),h&&(0,s.jsx)("button",{type:"button",className:`${_q} chat-input-v2-file-upload-scroll-button`,"data-position":"right",onClick:y,children:(0,s.jsx)(S._l8,{})})]}),C>=0&&(0,s.jsx)(yv,{files:b,startIndex:C,onClose:x})]})},yS=({visible:e,hint:t,i18n:i})=>{let[r,o]=(0,n.useState)(null);return((0,n.useEffect)(()=>{o(document.querySelector(".chat-input-v2-container"))},[]),e&&r)?(0,a.createPortal)((0,s.jsx)("div",{className:yr,children:(0,s.jsx)("div",{className:ys,children:(0,s.jsxs)("div",{className:yn,children:[(0,s.jsx)(S.LYb,{className:ya}),(0,s.jsx)("span",{className:yo,children:t||i?.localize("fileUpload.dragOverlay.hint",{},"Drag and drop or click to upload and parse")||"Drag and drop or click to upload and parse"})]})})}),r):null},yk=({onClick:e,disabled:t=!1,tooltip:i="Upload file",className:r,acceptTypes:a,mode:o=_w})=>{let l=(0,n.useRef)(null),c=(0,n.useMemo)(()=>{if(a)return a},[a]),d=(0,n.useCallback)(()=>{t||l.current?.click()},[t]),u=(0,n.useCallback)(t=>{let i=t.target.files;i&&i.length>0&&e?.(i),l.current&&(l.current.value="")},[e]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(_Y.m,{content:i,side:"top",children:(0,s.jsx)("button",{className:ct("chat-input-v2-file-upload-button",r,{disabled:t}),disabled:t,onClick:d,type:"button",children:(0,s.jsx)(S.JM7,{})})}),(0,s.jsx)("input",{ref:l,type:"file",accept:c?.join(","),multiple:!0,onChange:u,className:"chat-input-v2-file-upload-input"})]})},yx=({files:e,isDragging:t,onRemove:i,onPreview:r,onRetry:n,retryTooltip:a,renderFileItem:o,dragHint:l,i18n:c})=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(yb,{files:e,onRemove:i,onPreview:r,onRetry:n,retryTooltip:a,renderFileItem:o,i18n:c}),(0,s.jsx)(yS,{visible:t,hint:l,i18n:c})]});function yC(e,t){let i;switch(t.type){case"SET_FILES":i={...e,files:t.files};break;case"ADD_FILES":i={...e,files:[...e.files,...t.files]};break;case"UPDATE_FILE":i={...e,files:e.files.map(e=>e.id===t.id?{...e,...t.updates}:e)};break;case"REMOVE_FILE":i={...e,files:e.files.filter(e=>e.id!==t.id)};break;case"SET_DRAGGING":i={...e,isDragging:t.isDragging};break;default:i=e}return i}function yw(e,t){if(!t.startsWith("image/"))return e;let i=e.toLowerCase(),r=i.match(/^screenshot_\d+\.(\w+)$/);return r?`screenshot.${r[1]}`:i.replace(/^image\s*\(\d+\)\./,"image.")}function yE(e){let t=e.file;return t?.path?`path\u0000${t.path}`:["file",yw(e.name,e.type),e.size,e.type,t?.lastModified??""].join("\0")}function yT(e){return e.status===_k.d8.Pending||e.status===_k.d8.Uploading}function yI(e,t){let i=new Set(t.filter(yT).map(yE)),r=[];for(let t of e){let e=yE(t);i.has(e)||(i.add(e),r.push(t))}return r}function yR(e){let t=null,i=e,r=null,a={current:null},o=[],l=null,c=null,d=null,u=()=>i,h=()=>l?.current.files||o,p=e=>{u().onFilesChange?.(e)},m=e=>{o=e,l&&(l.current={...l.current,files:e}),a.current||(d=e),p(e)},f=e=>{m(e),a.current?.({type:"SET_FILES",files:e})},g=e=>{let t=h(),i=yI(e,t);return 0===i.length?[]:(m([...t,...i]),a.current?.({type:"ADD_FILES",files:i}),i)},_=(e,t)=>{m(h().map(i=>i.id===e?{...i,...t}:i)),a.current?.({type:"UPDATE_FILE",id:e,updates:t})},y=e=>{m(h().filter(t=>t.id!==e)),a.current?.({type:"REMOVE_FILE",id:e})},v=async(e,t)=>{let{onUploadImageRemote:i,onUploadAttachmentRemote:s,onError:n,onUploadLifecycle:a}=t,o=r?.getI18n();if(!e.file)return!1;let l=_U(e),c=l?i:s;if(_(e.id,{status:_k.d8.Pending,progress:0,error:void 0}),c){let t=30,i=1500,r=0,s=0,l=0,d=null,u=.6,h=()=>{let n=s>t?s:Math.max(r,s);n>l&&(l=n,_(e.id,{progress:Math.floor(l)}),Math.floor(l)>=99&&!d&&(d=setTimeout(()=>{_(e.id,{parsingPhase:!0})},i)))},p=setInterval(()=>{r{s=Math.min(e.percent,99),h()});if(clearInterval(p),d&&(clearTimeout(d),d=null),t.status===_k.d8.Success)return _(e.id,{status:_k.d8.Success,progress:100,parsingPhase:!1,url:t.url,tosUri:t.uri,resourceSessionKey:t.resourceSessionKey,needsResourceCommit:!1}),a?.("upload_success",e),e.thumbnailUrl&&_F(e)&&_H(e.thumbnailUrl).then(t=>{t&&_(e.id,{thumbnailBase64:t})}),!0;return _(e.id,{status:t.status,error:t.error}),a?.("upload_failed",e,t.error),n?.(t.error||o?.localize("fileUpload.error.failedToUpload",{fileName:e.name},`Failed to upload: ${e.name}`)||`Failed to upload: ${e.name}`),!1}catch(i){clearInterval(p),d&&(clearTimeout(d),d=null);let t=i instanceof Error?i.message:o?.localize("fileUpload.error.uploadFailed",{},"Upload failed")||"Upload failed";return _(e.id,{status:_k.d8.Error,error:t}),a?.("upload_failed",e,t),n?.(o?.localize("fileUpload.error.failedToUpload",{fileName:e.name},`Failed to upload: ${e.name}`)||`Failed to upload: ${e.name}`),!1}}{let t=l?o?.localize("fileUpload.error.onUploadImageRemoteNotConfigured",{},"onUploadImageRemote is not configured")||"onUploadImageRemote is not configured":o?.localize("fileUpload.error.onUploadAttachmentRemoteNotConfigured",{},"onUploadAttachmentRemote is not configured")||"onUploadAttachmentRemote is not configured";return _(e.id,{status:_k.d8.Error,error:t}),n?.(o?.localize("fileUpload.error.failedToUpload",{fileName:e.name},`Failed to upload: ${e.name}`)||`Failed to upload: ${e.name}`),!1}},b=async(e,t)=>{let{onUpload:i,onError:s,onUploadLifecycle:n}=t,a=r?.getI18n();if(!e.file)return!1;let o=e.file;if(_(e.id,{status:_k.d8.Pending,progress:0,error:void 0}),i)try{n?.("upload_start",e);let t=await i(o);return _(e.id,{tosUri:t.uri,status:_k.d8.Success}),n?.("upload_success",e),!0}catch(i){let t=i instanceof Error?i.message:a?.localize("fileUpload.error.uploadFailed",{},"Upload failed")||"Upload failed";return _(e.id,{status:_k.d8.Error,error:t}),n?.("upload_failed",e,t),s?.(a?.localize("fileUpload.error.failedToUpload",{fileName:e.name},`Failed to upload: ${e.name}`)||`Failed to upload: ${e.name}`),!1}{let t=a?.localize("fileUpload.error.onUploadNotConfigured",{},"onUpload is not configured")||"onUpload is not configured";return _(e.id,{status:_k.d8.Error,error:t}),s?.(a?.localize("fileUpload.error.failedToUpload",{fileName:e.name},`Failed to upload: ${e.name}`)||`Failed to upload: ${e.name}`),!1}},S=async e=>{let t=u(),i=e.uploadMode?{...t,uploadMode:e.uploadMode}:t;return i.uploadMode===_x?v(e,i):b(e,i)},k=e=>{S(e)},x=async(e,t)=>{let i=u(),s=t?.uploadMode?{...i,uploadMode:t.uploadMode}:i,{maxImageSize:n=_T,maxAttachmentSize:a=_I,maxTotalSize:o=_R,maxImageCount:l=_N,maxFileCount:c,mode:d,uploadMode:p,onError:m,onLimitHit:f}=s,_=t?.bypassTypeCheck||s.uploadMode===_C?void 0:d===_E?_A:void 0,y=d===_w||p===_C?1/0:l,S=h(),k=r?.getI18n(),x=await _Z(e,{maxImageSize:n,maxAttachmentSize:a,maxTotalSize:o,maxImageCount:y,maxFileCount:c,acceptTypes:_,currentFiles:S,onError:m,onLimitHit:f,i18n:k});if(0===x.length){if(t?.rejectOnUploadError)throw Error(k?.localize("fileUpload.error.uploadFailed",{},"Upload failed")||"Upload failed");return}x.forEach(e=>{e.uploadMode=s.uploadMode});let C=g(x);if(0===C.length)return;let w=C.map(async e=>s.uploadMode===_x?v(e,s):b(e,s)),E=await Promise.all(w);if(t?.rejectOnUploadError&&E.some(e=>!e))throw Error(k?.localize("fileUpload.error.uploadFailed",{},"Upload failed")||"Upload failed")},C=e=>{let{onRemove:t,confirmBeforeRemove:i}=u(),n=()=>{y(e),t?.(e)};if(i&&r){let t="Remove File",i="Are you sure you want to remove this file?",a="Cancel",o="Remove";r.showOverlay({id:`file-upload-confirm-${e}`,preserveContent:!0,onClose:()=>{},render:({close:e})=>(0,s.jsxs)("div",{className:"file-upload-confirm-dialog",children:[(0,s.jsx)("div",{className:"file-upload-confirm-title",children:t}),(0,s.jsx)("div",{className:"file-upload-confirm-content",children:i}),(0,s.jsxs)("div",{className:"file-upload-confirm-actions",children:[(0,s.jsx)("button",{onClick:e,type:"button",children:a}),(0,s.jsx)("button",{onClick:()=>{n(),e()},type:"button",className:"file-upload-confirm-primary",children:o})]})]})})}else n()},w=({initialFiles:e=[],options:t})=>{let[i,h]=(0,n.useReducer)(yC,{files:e,isDragging:!1}),p=(0,n.useRef)(i);p.current=i,l||(l=p);let m=(0,n.useRef)(0),f=(0,n.useRef)(!1),g=(0,n.useRef)(!0);a.current=h;let _=(0,n.useCallback)(()=>{m.current=0,f.current=!1,h({type:"SET_DRAGGING",isDragging:!1})},[]);c=_,(0,n.useEffect)(()=>{if(o=i.files,g.current){g.current=!1;return}t.onFilesChange?.(i.files)},[i.files]),(0,n.useEffect)(()=>{t.files&&t.files!==i.files&&h({type:"SET_FILES",files:t.files})},[t.files]),(0,n.useEffect)(()=>{d&&(h({type:"SET_FILES",files:d}),t.onFilesChange?.(d),d=null)},[]);let y=(0,n.useCallback)(e=>{if(e.types.includes(uI))return!0;let t=Array.from(e.types).map(e=>e.toLowerCase()),i=t.includes("codefiles"),r=t.includes("resourceurls"),s=t.includes("codeeditors");return i||r||s},[]),v=(0,n.useCallback)(e=>{let t=e.dataTransfer?.types;t?.includes(uI)||!t?.includes("Files")||e.dataTransfer&&y(e.dataTransfer)||(e.preventDefault(),e.stopPropagation(),m.current++,1===m.current&&(f.current=!0,h({type:"SET_DRAGGING",isDragging:!0})))},[y]),b=(0,n.useCallback)(e=>{f.current&&(e.preventDefault(),e.stopPropagation(),m.current--,0===m.current&&(f.current=!1,h({type:"SET_DRAGGING",isDragging:!1})))},[]),S=(0,n.useCallback)(e=>{let t=e.dataTransfer?.types;t?.includes(uI)||!f.current&&!t?.includes("Files")||e.dataTransfer&&y(e.dataTransfer)||(e.preventDefault(),e.stopPropagation())},[y]),w=(0,n.useCallback)(e=>{let t=e.dataTransfer?.types;if(!t?.includes(uI)&&!(e.dataTransfer&&y(e.dataTransfer))&&(e.preventDefault(),e.stopPropagation(),m.current=0,f.current=!1,h({type:"SET_DRAGGING",isDragging:!1}),e.dataTransfer)){let{files:t,hasFolders:i}=_X(e.dataTransfer);if(i){let e=r?.getI18n(),t=e?.localize("chat-input.fileUpload.folderUploadNotSupported",{},"Folder upload is not supported")??"Folder upload is not supported";u().onError?.(t)}t.length>0&&(u().onDragUpload?.(),x(t))}},[y]);(0,n.useEffect)(()=>{let e=document.querySelector(".chat-input-v2-container");if(e)return e.addEventListener("dragenter",v),e.addEventListener("dragleave",b),e.addEventListener("dragover",S),e.addEventListener("drop",w),()=>{e.removeEventListener("dragenter",v),e.removeEventListener("dragleave",b),e.removeEventListener("dragover",S),e.removeEventListener("drop",w),_()}},[v,b,S,w,_]);let E=r?.getI18n();return(0,s.jsx)(yx,{files:i.files,isDragging:i.isDragging,onRemove:C,onRetry:k,retryTooltip:E?.localize("fileUpload.tooltip.retry",{},"Retry"),renderFileItem:t.renderFileItem,dragHint:E?.localize("fileUpload.dragOverlay.dropHint",{},"Drop files here to upload"),i18n:E})};return{name:"file-upload",version:"1.0.0",description:"File upload plugin with drag and drop support",addFiles:(e,t)=>x(e,t),resetDragState:()=>{c?.()},setup(n,l){i=l||e,r=n;let{files:u=[],showUploadButton:h=!1,uploadButtonDisabled:p=!1,mode:m}=i,f=m===_E?_A:void 0,g=n.getI18n(),_=n.registerSlot({position:"header",priority:100,key:"file-upload-list",content:(0,s.jsx)(w,{initialFiles:u,options:i},"file-upload-wrapper")}),y=null;if(h){let e=g?.localize("fileUpload.tooltip.upload",{},"Upload file")||"Upload file";y=n.registerSlot({position:"toolbar-right",priority:90,key:"file-upload-button",content:(0,s.jsx)(yk,{onClick:x,disabled:p,tooltip:e,acceptTypes:f,mode:m},"file-upload-button")})}t=()=>{_(),y?.(),r=null,a.current=null,c=null,o=[],d=null}},update(e){i=e,void 0!==e.files&&f(e.files)},dispose(){t?.(),t=null}}}var yN=function(e){return e[e.LOW=0]="LOW",e[e.NORMAL=50]="NORMAL",e[e.HIGH=100]="HIGH",e}({});i(53198),i(12965),i(36643),i(35580),i(197),i(88403),i(50272);let yA=(0,n.createContext)(void 0),yM=(0,n.createContext)(void 0);function yP(){let e=(0,n.useContext)(yA);if(!e)throw Error("usePluginSystem must be used within a PluginSystemProvider");return e}function yj(e){let{slotManager:t}=yP(),[i,r]=(0,n.useState)(()=>t.getSlotContents(e));return(0,n.useEffect)(()=>(r(t.getSlotContents(e)),t.subscribe(()=>{r(t.getSlotContents(e))})),[t,e]),i}function yL(e){let{slotManager:t}=yP(),[i,r]=(0,n.useState)(()=>t.hasContent(e));return(0,n.useEffect)(()=>(r(t.hasContent(e)),t.subscribe(()=>{r(t.hasContent(e))})),[t,e]),i}(0,n.memo)(({position:e,className:t,style:i,renderWhenEmpty:r=!1,separator:a})=>{let o=yj(e);return o.length>0||r?(0,s.jsx)("div",{className:t,style:i,children:o.map((e,t)=>(0,s.jsxs)(n.Fragment,{children:[e,a&&t{let a=yj(`toolbar-${e}`);return(0,s.jsxs)("div",{className:t,style:i,children:[a.map((e,t)=>(0,s.jsx)(n.Fragment,{children:e},`slot-${t}`)),r]})}).displayName="ToolbarSlot",(0,n.memo)(({className:e,style:t,expandWithEditor:i=!1,children:r})=>{let a=yj("right-panel"),o=a.length>0,l=n.default.Children.count(r)>0;if(!o&&!l)return null;let c={...t,...i?{alignSelf:"stretch"}:{}};return(0,s.jsxs)("div",{className:e,style:c,children:[a.map((e,t)=>(0,s.jsx)(n.Fragment,{children:e},`slot-${t}`)),r]})}).displayName="RightPanelSlot",(0,n.memo)(({position:e,children:t,fallback:i=null})=>{let r=yL(e);return(0,s.jsx)(s.Fragment,{children:r?t:i})}).displayName="ConditionalSlot",i(59029),i(49930);var yD=function(e){return e.IDLE="IDLE",e.CONNECTING="CONNECTING",e.RECORDING="RECORDING",e.FINISHING="FINISHING",e.REFINING="REFINING",e.ERROR="ERROR",e}({}),yO=i(27424);let yF="u">typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.platform)?{key:"v",ctrl:!0}:{key:"v",alt:!0},yU={key:"Escape"},yV=300,yB=e=>({enabled:e?.enabled??!0,toggleShortcut:e?.toggleShortcut??yF,cancelShortcut:e?.cancelShortcut??yU}),yz=e=>{let t=yB(e);return{toggleShortcutLabel:ud(t.toggleShortcut),cancelShortcutLabel:ud(t.cancelShortcut)}};yz().toggleShortcutLabel,yz().cancelShortcutLabel;let yW=e=>e instanceof HTMLElement&&!!e.closest('[data-shortcut-recorder="true"]');function yH({state:e,disabled:t,shortcutConfig:i,onStart:r,onFinish:s,onCancel:a}){let o=(0,n.useRef)(-1/0),l=yB(i),c=(0,n.useRef)(e);c.current=e;let d=(0,n.useRef)(t);d.current=t;let u=(0,n.useRef)(l.enabled);u.current=l.enabled;let h=(0,n.useRef)(l.toggleShortcut);h.current=l.toggleShortcut;let p=(0,n.useRef)(l.cancelShortcut);p.current=l.cancelShortcut;let m=(0,n.useRef)(r);m.current=r;let f=(0,n.useRef)(s);f.current=s;let g=(0,n.useRef)(a);g.current=a,(0,n.useEffect)(()=>{let e=e=>{if(yW(e.target)||d.current||!u.current)return;let t=performance.now(),i=c.current,r=i===yD.IDLE,s=i===yD.ERROR,n=i===yD.RECORDING,a=i===yD.CONNECTING;if(uu(e,h.current)){if(e.preventDefault(),e.stopPropagation(),t-o.current{document.removeEventListener("keydown",e,!0)}},[])}let yG={display:"inline-flex"},yZ=({state:e,disabled:t,onStart:i,onFinish:r,onCancel:a,shortcutConfig:o,tooltipStart:l="Voice input",tooltipConnecting:c="Connecting",tooltipRecording:d="Click to finish",tooltipFinishing:u="Processing..."})=>{let h=e===yD.IDLE,p=e===yD.CONNECTING,m=e===yD.RECORDING,f=e===yD.FINISHING||e===yD.REFINING,g=e===yD.ERROR,_=(0,n.useMemo)(()=>yB(o),[o]),y=(0,n.useMemo)(()=>yz(_),[_]),v=(0,n.useCallback)(()=>{!t&&(h||g?i():m?r():p&&a())},[t,h,g,m,p,i,r,a]),b=(0,n.useMemo)(()=>h||g?_.enabled?`${l} (${y.toggleShortcutLabel})`:l:p?"":m?_.enabled?`${d} (${y.toggleShortcutLabel}) \xb7 ${y.cancelShortcutLabel}`:d:f?u:_.enabled?`${l} (${y.toggleShortcutLabel})`:l,[h,g,p,m,f,l,c,d,u,_.enabled,y]),k=(0,n.useMemo)(()=>p||f?(0,s.jsx)("div",{className:"rtcVoiceBtnSpinner"}):m?(0,s.jsx)(yO.W,{name:"icube-Check"}):g?(0,s.jsx)(yO.W,{name:"error"}):(0,s.jsx)(S.QL3,{style:{width:16,height:16}}),[p,f,m,g]),x=(0,n.useMemo)(()=>ct("rtcVoicePluginButton",{disabled:t,recording:m,connecting:p||f}),[t,m,p,f]);return(0,s.jsx)(_Y.m,{content:b,side:"top",children:(0,s.jsx)("span",{style:yG,children:(0,s.jsx)("button",{disabled:t||p||f,className:x,onClick:v,type:"button",children:k})})})},yK=n.default.memo(({onClick:e,disabled:t,tooltip:i="Voice Discussion"})=>{let r=(0,n.useCallback)(()=>{t||e()},[t,e]),a=!t;return(0,s.jsx)(_Y.m,{content:i,side:"top",disabled:!a,children:(0,s.jsx)("button",{className:ct("voiceCallButton",{disabled:t}),onClick:r,disabled:t,type:"button",children:(0,s.jsx)(S.oEn,{style:{width:15,height:15}})})})}),yX=160,yY=100,yJ=12,y$=2,yq=3,yQ=28;function y0(e,t,i){let r=(0,n.useRef)(0),s=(0,n.useRef)([]),a=(0,n.useRef)(0);(0,n.useEffect)(()=>{r.current=t},[t]),(0,n.useEffect)(()=>{if(!i){s.current=[],r.current=0,a.current=0;return}0===s.current.length&&(s.current=Array(yX).fill(0));let t=!0,n=i=>{if(!t)return;let o=e.current;if(!o)return void requestAnimationFrame(n);0===a.current&&(a.current=i);let l=i-a.current;if(l>=yY){let e,t=r.current,i=s.current;e=t<=yJ?0:Math.min(Math.pow(Math.min(t/255,1),.5)*(.5+ +Math.random()),1),i.push(e),i.length>yX&&i.shift();let n=Math.floor(l/yY);a.current+=n*yY}let c=o.children,d=s.current,u=Math.min(c.length,d.length);for(let e=0;e{t=!1}},[i,e])}function y1(e){let[t,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{if(!e)return void i(0);i(0);let t=setInterval(()=>{i(e=>e+1)},1e3);return()=>{clearInterval(t)}},[e]),t}function y2(e){let t=Math.floor(e/60),i=e%60;return`${t}:${i.toString().padStart(2,"0")}`}n.default.memo(({devices:e,currentDeviceId:t,onSwitch:i,i18nTexts:r})=>{let[a,o]=(0,n.useState)(!1),l=(0,n.useCallback)(e=>{i(e),o(!1)},[i]),c=(0,n.useMemo)(()=>(0,s.jsxs)("div",{className:"rtcVoiceMicPopover",children:[(0,s.jsx)("div",{className:"rtcVoiceMicPopoverTitle",children:r.micAvailable}),e.map(e=>{let i=e.deviceId===t;return(0,s.jsxs)("button",{type:"button",className:`rtcVoiceMicPopoverItem${i?" rtcVoiceMicPopoverItemActive":""}`,onClick:()=>{l(e.deviceId)},children:[(0,s.jsx)("span",{className:"rtcVoiceMicPopoverItemLabel",children:e.label||r.micFallback.replace("__deviceId__",e.deviceId.slice(0,8))}),i&&(0,s.jsx)(yO.W,{name:"check",className:"rtcVoiceMicPopoverItemCheck"})]},e.deviceId)})]}),[e,t,l]);return 0===e.length?null:(0,s.jsx)(x.A,{content:c,open:a,onOpenChange:o,side:"top",align:"end",sideOffset:8,showArrow:!1,children:(0,s.jsxs)("button",{type:"button",className:"rtcVoiceMicSelectorBtn",children:[(0,s.jsx)("span",{className:"rtcVoiceMicSelectorLabel",children:r.micLabel}),(0,s.jsx)(yO.W,{name:"chevron-down",className:`rtcVoiceMicSelectorChevron${a?" rtcVoiceMicSelectorChevronOpen":""}`})]})})}).displayName="MicSelector";let y3={display:"inline-flex"},y4=({data:e,onCancel:t,onFinish:i,onSwitchDevice:r,shortcutConfig:a,i18nTexts:o})=>{let{state:l,error:c,volumeLevel:d=0,audioDevices:u=[],currentDeviceId:h=""}=e,p=(0,n.useMemo)(()=>({placeholderSpeak:o?.placeholderSpeak??"Start speaking...",refiningText:o?.refiningText??"Refining voice content...",btnClose:o?.btnClose??"Close",micAvailable:o?.micAvailable??"Microphone available",micFallback:o?.micFallback??"Microphone (__deviceId__)",micLabel:o?.micLabel??"Mic",tooltipCancel:o?.tooltipCancel??"Cancel",tooltipFinish:o?.tooltipFinish??"Finish recording",tooltipRefining:o?.tooltipRefining??"Processing...",refiningLabel:o?.refiningLabel??"Processing"}),[o]),m=l===yD.RECORDING,f=l===yD.FINISHING||l===yD.REFINING,g=l===yD.ERROR,_=(0,n.useMemo)(()=>yB(a),[a]),y=(0,n.useMemo)(()=>yz(_),[_]),v=(0,n.useRef)(null);y0(v,m?d:0,m);let b=y1(m),S=(0,n.useCallback)(()=>{t()},[t]),k=(0,n.useCallback)(()=>{i()},[i]),x=(0,n.useCallback)(()=>{t()},[t]);return((0,n.useCallback)(e=>{r?.(e)},[r]),(0,n.useMemo)(()=>({micAvailable:p.micAvailable,micFallback:p.micFallback,micLabel:p.micLabel}),[p]),m)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"rtcVoiceTextDisabledOverlay"}),(0,s.jsxs)("div",{className:"rtcVoiceRecordingToolbar",children:[(0,s.jsx)(_Y.m,{content:_.enabled?`${p.tooltipCancel} \xb7 ${y.cancelShortcutLabel}`:p.tooltipCancel,side:"top",children:(0,s.jsx)("button",{type:"button",className:"rtcVoiceToolbarBtn",onClick:S,children:(0,s.jsx)(yO.W,{name:"close"})})}),(0,s.jsx)("div",{className:"rtcVoiceWaveformArea",children:(0,s.jsx)("div",{className:"rtcVoiceWaveform",ref:v,children:Array.from({length:yX},(e,t)=>(0,s.jsx)("div",{className:"rtcVoiceWaveformBar"},t))})}),(0,s.jsx)("span",{className:"rtcVoiceRecordingTimer",children:y2(b)}),(0,s.jsx)(_Y.m,{content:_.enabled?`${p.tooltipFinish} (${y.toggleShortcutLabel})`:p.tooltipFinish,side:"top",children:(0,s.jsx)("button",{type:"button",className:"rtcVoiceToolbarBtn rtcVoiceToolbarBtnFinish",onClick:k,children:(0,s.jsx)(yO.W,{name:"icube-Check"})})})]})]}):f?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"rtcVoiceTextDisabledOverlay"}),(0,s.jsxs)("div",{className:"rtcVoiceRecordingToolbar",children:[(0,s.jsx)("button",{type:"button",className:"rtcVoiceToolbarBtn rtcVoiceToolbarBtnHidden",disabled:!0,children:(0,s.jsx)(yO.W,{name:"close"})}),(0,s.jsx)("div",{className:"rtcVoiceRefiningToolbarSpacer"}),p.refiningLabel&&(0,s.jsx)("span",{className:"rtcVoiceRefiningLabel",children:p.refiningLabel}),(0,s.jsx)("span",{style:y3,children:(0,s.jsx)("button",{type:"button",className:"rtcVoiceToolbarBtn rtcVoiceToolbarBtnLoading",disabled:!0,children:(0,s.jsx)("div",{className:"rtcVoiceToolbarBtnSpinner"})})})]})]}):g&&c?(0,s.jsxs)("div",{className:"rtcVoiceOverlayCenter",children:[(0,s.jsx)("div",{className:"rtcVoiceErrorText",children:c}),(0,s.jsx)("button",{type:"button",className:"rtcVoiceErrorBtn",onClick:x,children:p.btnClose})]}):null};function y5({optionsRef:e,registerForceUpdate:t,onStart:i,onFinish:r,onCancel:a,i18n:o}){let[,l]=(0,n.useReducer)(e=>e+1,0);(0,n.useEffect)(()=>{t(l)},[t]);let c=e.current,d=c.provider,u=d?.state??yD.IDLE;if(yH({state:u,disabled:c.disabled||!d||(c.voiceCallActive??!1),shortcutConfig:c.shortcutConfig,onStart:()=>i("shortcut"),onFinish:()=>r("shortcut"),onCancel:()=>a("shortcut")}),u===yD.RECORDING)return null;let h=u!==yD.IDLE,p=c.voiceCallActive??!1;return(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[(0,s.jsx)(yZ,{state:u,disabled:c.disabled||!d||p,onStart:()=>i("button"),onFinish:()=>r("button"),onCancel:()=>a("button"),shortcutConfig:c.shortcutConfig,tooltipStart:o.localize("rtcVoice.start",{},"Voice input"),tooltipConnecting:o.localize("rtcVoice.connecting",{},"Connecting..."),tooltipRecording:o.localize("rtcVoice.recording",{},"Click to finish"),tooltipFinishing:o.localize("rtcVoice.finishing",{},"Processing...")},"rtc-voice-button"),c.onVoiceCall&&(()=>{let e=(0,s.jsx)(yK,{onClick:()=>{c.onTeaReport?.("voice_discussion_click",{action:"enter_discussion"}),c.onTeaReport?.("asr_discuss_event",{action:"discussion_button_click"}),c.onVoiceCall?.()},disabled:c.disabled||!d||h,tooltip:o.localize("rtcVoice.voiceDiscussion",{},"Voice Discussion")}),t=c.voiceCallWrapper;return t?(0,s.jsx)(t,{children:e}):e})()]})}function y9({optionsRef:e,registerForceUpdate:t,onCancel:i,onFinish:r,i18n:a}){let o,[,l]=(0,n.useReducer)(e=>e+1,0);(0,n.useEffect)(()=>{t(l)},[t]);let c=e.current.provider;if(!c)return null;let d=c.state;if(d===yD.IDLE)return null;if(c.errorCode){let e=c.errorMeta??{};o=a.localize(`rtcVoice.error.${c.errorCode}`,e,c.error)}else o=c.error;return(0,s.jsx)(y4,{data:{state:d,draftText:c.draftText,error:o,volumeLevel:c.volumeLevel,audioDevices:c.audioDevices,currentDeviceId:c.currentDeviceId},onCancel:()=>i("button"),onFinish:()=>r("button"),onSwitchDevice:c.actions.switchAudioDevice,shortcutConfig:e.current.shortcutConfig,i18nTexts:{placeholderSpeak:a.localize("rtcVoice.overlay.placeholderSpeak",{},"Start speaking..."),refiningText:a.localize("rtcVoice.overlay.refiningText",{},"Refining voice content..."),btnClose:a.localize("rtcVoice.overlay.btnClose",{},"Close"),micAvailable:a.localize("rtcVoice.overlay.micAvailable",{},"Microphone available"),micFallback:a.localize("rtcVoice.overlay.micFallback",{},"Microphone (__deviceId__)"),micLabel:a.localize("rtcVoice.overlay.micLabel",{},"Mic"),tooltipCancel:a.localize("rtcVoice.overlay.tooltipCancel",{},"Cancel"),tooltipFinish:a.localize("rtcVoice.overlay.tooltipFinish",{},"Finish recording"),tooltipRefining:a.localize("rtcVoice.overlay.tooltipRefining",{},"Processing..."),refiningLabel:a.localize("rtcVoice.overlay.refiningLabel",{},"Processing")}})}function y6(e={}){let t,i={current:e},r=[];function n(e){r.includes(e)||r.push(e)}function a(){r.forEach(e=>{e()})}function o(e="button"){let t=performance.now();i.current.onTeaReport?.("voice_transcription_click",{action:"start",source:e}),i.current.onTeaReport?.("asr_recog_event",{action:"asr_button_click",source:e}),i.current.provider?.actions.start({triggerTs:t,triggerSource:e})}function l(e="button"){i.current.onTeaReport?.("voice_transcription_click",{action:"finish",source:e}),i.current.onTeaReport?.("asr_recog_event",{action:"asr_recog_end",source:e}),i.current.provider?.actions.finish()}function c(e="button"){i.current.onTeaReport?.("voice_transcription_click",{action:"cancel",source:e}),i.current.onTeaReport?.("asr_recog_event",{action:"asr_recog_cancel",source:e}),i.current.provider?.actions.cancel()}return{name:"rtc-voice",version:"1.0.0",description:"RTC-based voice input with ASR + LLM refinement",setup(e,a){a&&(i.current=a);let d=e.getI18n(),u=e.registerSlot({position:"toolbar-right",priority:yN.NORMAL,key:"rtc-voice-button",content:(0,s.jsx)(y5,{optionsRef:i,registerForceUpdate:n,onStart:o,onFinish:l,onCancel:c,i18n:d})}),h=e.registerSlot({position:"overlay",priority:yN.NORMAL,key:"rtc-voice-overlay",content:(0,s.jsx)(y9,{optionsRef:i,registerForceUpdate:n,onCancel:c,onFinish:l,i18n:d})});t=()=>{u(),h(),r.length=0}},update(e){i.current=e,a()},dispose(){t?.(),t=void 0}}}var y8=i(58444),y7=i(35682),ve=i(59413);function vt(e){let t=e.inputMode??"work";return"work"===e.sceneMode&&"remote"===e.uploadMode&&("work"===t||"design"===t)}var vi=i(73343);let vr=e=>e===lG.Uf.Work||e===lG.Uf.Design,vs=1048576,vn=y8.an.RemoteResource,va=524288e3,vo=0x40000000,vl=20,vc="__nativeFileHasData";function vd(e){return vr(e)?{maxImageSize:va,maxAttachmentSize:va,maxTotalSize:vo,...e===lG.Uf.Work?{maxFileCount:vl}:{}}:{}}function vu(e){return Math.round(e/vs*10)/10}function vh(e){let t=e/vs;return t<=0?"0MB":t<=10?"0-10MB":t<=50?"10-50MB":t<=100?"50-100MB":t<=200?"100-200MB":t<=500?"200-500MB":t<=1024?"500MB-1GB":">1GB"}function vp(e){return e===lG.Uf.Design?"design":e===lG.Uf.Code?"code":"work"}function vm(e){return e?e.startsWith("image/")?"image":"attachment":"unknown"}function vf(e){return e===lG.Uf.Code?eb.qu.InputUploadImageClick:eb.qu.InputUploadAttachmentClick}function vg(e){let t=e.file?.size??e.size;return Number.isFinite(t)?t:0}function v_(e){let t=e.path;return"string"==typeof t&&t.length>0?t:void 0}function vy(e){return!!v_(e)&&!1===e[vc]}function vv(e){return!1!==e[vc]}function vb(e){return vr(e)?va:0}function vS(e){return vr(e)?vo:0}function vk(e){return e===lG.Uf.Work?vl:0}function vx(e,t,i,r){let s=vg(t);return{action:e,reason:"upload_failed"===e?r||"unknown":"",mode:vp(i),file_type:vm(t.file?.type??t.type),file_size_bytes:s,file_size_mb:vu(s),file_size_bucket:vh(s),total_size_bytes:s,total_size_mb:vu(s),total_size_bucket:vh(s),selected_file_count:1,current_file_count:0,accepted_file_count:1,limit_file_size_mb:vu(vb(i)),limit_total_size_mb:vu(vS(i)),limit_file_count:vk(i)}}function vC(e,t){let i=e.fileSize??e.file?.size??0,r=e.totalSize??i,s="total_size_exceeded"===e.reason,n="file_count_exceeded"===e.reason||"image_count_exceeded"===e.reason,a=vb(t),o=vS(t);return{action:"upload_limit_hit",reason:e.reason,mode:vp(t),file_type:vm(e.file?.type),file_size_bytes:i,file_size_mb:vu(i),file_size_bucket:vh(i),total_size_bytes:r,total_size_mb:vu(r),total_size_bucket:vh(r),selected_file_count:e.selectedFileCount,current_file_count:e.currentFileCount,accepted_file_count:e.acceptedFileCount,limit_file_size_mb:s||n?vu(a):vu(e.maxSize??a),limit_total_size_mb:s?vu(e.maxSize??o):vu(o),limit_file_count:e.maxCount??vk(t)}}async function vw({fileItem:e,getCloudIdeJwt:t,getCoreApiHost:i,onProgress:r}){let s=e.file,n=v_(s);if(vy(s)){let e=lN.XT.tryResolve(ed.F.FileReader);if(!e?.uploadRemoteResourceFile||!n)throw Error("Native path remote upload is not available");let[a,o]=await Promise.all([t(),i()]);return e.uploadRemoteResourceFile({cloudIdeJwt:a,coreApiHost:o,bizType:vn},n,s.name,{contentType:s.type||"application/octet-stream",onProgress:r})}return(0,ve.Lz)({file:s,getCloudIdeJwt:t,getCoreApiHost:i,bizType:vn,onProgress:r})}function vE(e){let{mode:t,uploadMode:i=_x,coreApiHost:r,onFilesChange:s,onError:a,getFilePath:o,onSaveToTempDir:l}=e,c=(0,n.useCallback)(async()=>{let e=lN.XT.resolve(ed.F.Auth);return e?.getCloudIdeJwt?e.getCloudIdeJwt():(em.logger.warn("[useFileUploadPlugin] AuthPort.getCloudIdeJwt not implemented"),"")},[]),d=(0,n.useCallback)(async()=>{if(r)return r;let e=lN.XT.tryResolve(ed.F.Auth);return e?.getCoreApiHost?e.getCoreApiHost():""},[r]),u=(0,n.useRef)([]),h=(0,n.useRef)([]),p=(0,n.useRef)([]),m=(0,n.useRef)(t);m.current=t;let f=(0,n.useRef)(s);f.current=s;let g=(0,n.useRef)(a);g.current=a;let _=vr(t)?_w:_E,y=vt({sceneMode:_,uploadMode:i,inputMode:t}),v=(0,n.useCallback)(e=>e===lG.Uf.Work?u:e===lG.Uf.Design?p:h,[]),b=(0,n.useCallback)(()=>{f.current?.(u.current,h.current,p.current)},[]),S=(0,n.useCallback)(e=>{v(m.current).current=e,b()},[b,v]),k=(0,n.useCallback)(async(e,t)=>{try{let i=await vw({fileItem:e,getCloudIdeJwt:c,getCoreApiHost:d,onProgress:t});return{status:_k.d8.Success,uri:i.storeUri,resourceSessionKey:i.resourceSessionKey}}catch(r){let t=r instanceof Error?r.message:"Upload failed";em.logger.error(`[FileUpload] Upload error for ${e.name}: ${t}`);let i=(0,vi.VH)(t);return{status:_k.d8.Error,error:i}}},[c,d]),x=(0,n.useCallback)(async(e,t)=>{if(y){let i=await k(e,t);if(i.status===_k.d8.Success&&i.uri&&e.file&&vv(e.file))try{let t=await (0,y7.JG)();if(t?.onImageCached){let r=await new Promise((t,i)=>{let r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=i,r.readAsDataURL(e.file)});t.onImageCached(i.uri,{base64:r,cdnURL:""})}}catch(e){em.logger.warn("[FileUpload] Failed to cache image thumbnail:",e)}return i}let i=e.imageItem||await (0,y7.p6)(e.file);return new Promise(e=>{(0,y7.On)(i,i=>{if(t?.({percent:i.progressPercent??0}),i.status===_k.d8.Success)e({status:_k.d8.Success,uri:i.tobImageId||i.tosUri,url:i.cdnURL});else if(i.status===_k.d8.Error||i.status===_k.d8.CheckFailed){let t=(0,vi.VH)(i.errorMessage||"Upload failed");e({status:i.status,error:t})}})})},[y,k]),C=(0,n.useCallback)(async(e,t)=>k(e,t),[k]),w=(0,n.useCallback)(async e=>{let t=e,i=o?.(e)??t.path;if(em.logger.info(`[FileUpload] onUpload called, file: ${e.name}, path: ${i}`),!i&&l){em.logger.info("[FileUpload] filePath is empty, trying onSaveToTempDir fallback");try{i=(await l({file:e,filename:e.name})).path,em.logger.info(`[FileUpload] onSaveToTempDir succeeded, path: ${i}`)}catch(e){em.logger.error(`[FileUpload] onSaveToTempDir failed: ${e instanceof Error?e.message:String(e)}`)}}if(!i)throw em.logger.error("[FileUpload] Cannot get file path. Use onNativeFileSelect for VSCode sandbox environment."),Error("Cannot get file path. Please use the native file picker.");let r=lN.XT.resolve(ed.F.TraeApi);if(!r?.vm)throw em.logger.error("[FileUpload] TraeApiPort.vm not available"),Error("VM service not available");try{em.logger.info(`[FileUpload] Adding attachment via VM: ${i}`);let e=await r.vm.addAttachment({file_path:i});if(em.logger.info(`[FileUpload] VM addAttachment response: ${JSON.stringify(e)}`),0!==e.code||!e.data){let t=e.message||"Failed to add attachment";throw em.logger.error(`[FileUpload] VM addAttachment failed: code=${e.code}, message=${t}`),Error(t)}return em.logger.info(`[FileUpload] Attachment added successfully: uri=${e.data.uri}, filename=${e.data.filename}`),{uri:e.data.uri,filename:e.data.filename}}catch(e){throw em.logger.error(`[FileUpload] Exception in addAttachment: ${e instanceof Error?e.message:String(e)}`),e}},[o,l]),E=(0,n.useRef)(w);E.current=w;let T=(0,n.useRef)(x);T.current=x;let I=(0,n.useRef)(C);I.current=C;let R=(0,n.useCallback)(async e=>E.current(e),[]),N=(0,n.useCallback)(async(e,t)=>T.current(e,t),[]),A=(0,n.useCallback)(async(e,t)=>I.current(e,t),[]),M=(0,n.useCallback)((e,t,i)=>{let r=lN.XT.tryResolve(ed.F.Tea);if(!r)return;let s=m.current;r.report(vf(s),vx(e,t,s,i))},[]),P=(0,n.useCallback)(e=>{let t=lN.XT.tryResolve(ed.F.Tea);if(!t)return;let i=m.current;t.report(vf(i),vC(e,i))},[]),j=(0,n.useCallback)(()=>{let e=lN.XT.tryResolve(ed.F.Tea);if(!e)return;let t=m.current===lG.Uf.Code?eb.qu.InputUploadImageClick:eb.qu.InputUploadAttachmentClick;e.report(t,{action:"upload_drag",reason:""})},[]),L=(0,n.useMemo)(()=>vd(t),[t]),D=(0,n.useMemo)(()=>yR({uploadMode:i,mode:_,files:v(t).current,...L,onUpload:R,onUploadImageRemote:N,onUploadAttachmentRemote:A,onFilesChange:S,onUploadLifecycle:M,onLimitHit:P,onDragUpload:j,onError:e=>{em.logger.error("[FileUploadPlugin] Error:",e),g.current?.(e)}}),[t,_,i,R,N,A,S,M,P,j,v]),O=(0,n.useCallback)(()=>v(m.current).current.filter(e=>e.status===_k.d8.Success),[v]),F=(0,n.useCallback)(e=>v(e??m.current).current,[v]),U=(0,n.useCallback)(()=>v(m.current).current.filter(e=>{let t=e.status===_k.d8.Success,i=e.type?.startsWith("image/");return t&&i}),[v]),V=(0,n.useCallback)(()=>v(m.current).current.filter(e=>{let t=e.status===_k.d8.Success,i=e.type?.startsWith("image/");return t&&!i}),[v]),B=(0,n.useCallback)(()=>{v(m.current).current=[],D.update?.({uploadMode:i,mode:_,files:[],...L,onUpload:R,onUploadImageRemote:N,onUploadAttachmentRemote:A,onFilesChange:S,onUploadLifecycle:M,onLimitHit:P,onDragUpload:j}),b()},[D,i,_,L,R,N,A,S,M,P,j,b,v]),z=(0,n.useCallback)(()=>v(m.current).current.length>0,[v]),W=(0,n.useCallback)(()=>v(m.current).current.some(e=>e.status===_k.d8.Uploading||e.status===_k.d8.Pending),[v]),H=(0,n.useCallback)(()=>v(m.current).current.some(e=>e.status===_k.d8.Error||e.status===_k.d8.CheckFailed),[v]),G=(0,n.useCallback)((e,t)=>D.addFiles(e,t),[D]),Z=(0,n.useCallback)(()=>{D.resetDragState?.()},[D]),K=(0,n.useCallback)((e,t)=>{let r=t??m.current;v(r).current=e,r===m.current&&D.update?.({uploadMode:i,mode:_,files:e,...L,onUpload:R,onUploadImageRemote:N,onUploadAttachmentRemote:A,onFilesChange:S,onUploadLifecycle:M,onLimitHit:P,onDragUpload:j}),b()},[D,i,_,L,R,N,A,S,M,P,j,b,v]);return(0,n.useMemo)(()=>({plugin:D,addFiles:G,setFiles:K,getFiles:F,getUploadedFiles:O,getUploadedImages:U,getUploadedAttachments:V,clearFiles:B,resetFileUploadDragState:Z,hasFiles:z,isUploading:W,hasFailed:H,uploadMode:i,attachmentBizType:vn}),[D,G,K,F,O,U,V,B,Z,z,W,H,i])}var vT=i(9506),vI=i(86164),vR=i(34274),vN=i(56149);let vA=(0,d.LM)("message-input-toast"),vM="UNKNOWN",vP={BROWSER_NOT_SUPPORTED:"Your browser does not support voice input. Please update or switch to a modern browser.",CONNECTION_ERROR:"Connection error (code: {rtcErrorCode}).",CONNECTION_LOST:"Connection lost (code: {rtcErrorCode}). Your speech draft has been preserved.",MIC_PERMISSION_DENIED:"Microphone permission denied. Please allow microphone access in your browser settings and try again.",UNKNOWN:"An unexpected error occurred. Please try again."},vj=300,vL=3e4;function vD(e){return e.replace(/[\u201c\u201d\u201e\u201f\u2033\u2036\uff02]/g,'"').replace(/[\u2018\u2019\u201a\u201b\u2032\u2035\uff07]/g,"'")}function vO(e){let t,i=vD(e),r=/|><\/command>)/gi,s=[],n=0;for(;null!==(t=r.exec(i));){if(t.index>n){let i=e.slice(n,t.index).trim();i&&s.push({type:"text",content:i})}let i=t[1].trim();s.push({type:"command",commandName:i.replace(/^\/+/,"")}),n=t.index+t[0].length}if(0!==s.length){if(n{if(t)return r?(em.logger.info("[RTCVoice] Using externally injected transport"),r):(em.logger.info("[RTCVoice] Fallback to Demo Server transport",{proxyHost:o}),(0,vT.m9)(o))},[t,r,o]),S=(0,n.useMemo)(()=>(0,vT.m9)("__noop__"),[]),k=(0,n.useRef)(null),x=(0,n.useRef)(null),[C,w]=(0,n.useState)(!1),E=(0,n.useCallback)(e=>{let t=d.current;w(!1),e&&t&&"u">typeof window&&window.setTimeout(()=>{t.focus()},0)},[d]),T=(0,n.useCallback)(e=>{let t=d.current;t&&t.update(()=>{let t=x.current;if(t){let i=(0,c.ns)(t);if(i&&(0,c.kF)(i))return void i.setTextContent(e);x.current=null}let i=(0,c.sT)(e).setMode("token"),r=k.current,s=!1;if(r){if("text"===r.anchorType){let e=(0,c.ns)(r.anchorKey);if(e&&(0,c.kF)(e)){let t=e.getTextContentSize(),n=r.anchorOffset;if(0===n)e.insertBefore(i);else if(n>=t)e.insertAfter(i);else{let[,t]=e.splitText(n);t?t.insertBefore(i):e.insertAfter(i)}s=!0}}else if("element"===r.anchorType){let e=(0,c.ns)(r.anchorKey);if(e&&(0,c.ff)(e)){let t=e.getChildren()[r.anchorOffset];t?t.insertBefore(i):e.append(i),s=!0}}}if(!s){let e=(0,c.Ni)(),t=e.getLastChild();t&&(0,c.bS)(t)||(t=(0,c.lJ)(),e.append(t)),t.append(i)}x.current=i.getKey(),em.logger.info("[RTCVoice] Created ASR token node inline at cursor position",{key:i.getKey(),insertedAtCursor:s})})},[d]),I=(0,n.useCallback)(async e=>{let t=d.current;if(em.logger.info(`[RTCVoice] onComplete called text length: ${e?.length} has newlines: ${e?.includes("\n")} lines: ${e?.split("\n").length} text preview: "${e?.substring(0,100)}" editor: ${!!t}`),!t||!e.trim()){if(t){let e=x.current;t.update(()=>{if(e){let t=(0,c.ns)(e);t&&(0,c.kF)(t)&&t.remove()}vF()})}x.current=null,k.current=null,E(!!t);return}em.logger.info(`${new Date().toUTCString()}[RTCVoice] onComplete \u{2014} inserting refined text`);try{let i,r=vO(e);if(r?em.logger.info("[RTCVoice] Parsed command segments",{segmentCount:r.length,segments:r.map(e=>"command"===e.type?`cmd:${e.commandName}`:`text:${e.content.substring(0,30)}`)}):em.logger.info("[RTCVoice] No command tags detected, will use plain text insertion"),r){for(let e of(i=[],r))if("text"===e.type)i.push(e.content);else try{let t=await J.current?.(e.commandName);t?(em.logger.info("[RTCVoice] Resolved slash command",{id:t.id,command:t.command}),i.push(t)):em.logger.warn("[RTCVoice] Slash command not found, stripping tag",{commandName:e.commandName})}catch(t){em.logger.warn("[RTCVoice] Failed to resolve slash command, stripping tag",{commandName:e.commandName,error:t})}0===i.length&&(i=void 0)}if(i){let e=$.current?.()??"code",t=[],r=[];for(let e of i)"string"!=typeof e&&vU.has((e.command??"").toLowerCase())?t.push(e):r.push(e);if(t.length>0){let s;if(t.length>1){let i=(s=t[0]).command,r=t.slice(1).map(e=>e.command);em.logger.warn("[RTCVoice] Multiple builtin mode commands detected, keeping first",{inputMode:e,kept:i,dropped:r})}else s=t[0];i=[s,...r],em.logger.info("[RTCVoice] Builtin mode command front-positioned",{command:s.command,inputMode:e,totalItems:i.length})}0===i.length&&(i=void 0)}if(t.update(()=>{let e=x.current;if(e){let t=(0,c.ns)(e);t&&(0,c.kF)(t)&&(t.remove(),em.logger.info("[RTCVoice] Removed ASR token node"))}let t=k.current;if(t)try{let e=(0,c.uT)();e.anchor.set(t.anchorKey,t.anchorOffset,t.anchorType),e.focus.set(t.focusKey,t.focusOffset,t.focusType),(0,c.n1)(e)}catch(e){em.logger.warn("[RTCVoice] Failed to restore cursor position",e)}}),i){let e=[];for(let t=0;t0?e.push(" "+r):e.push(r)}(0,l.xg)(e,t),em.logger.info("[RTCVoice] Inserted via insertParsedQueryAtCursor",{queryLength:e.length})}else{let i=e;t.update(()=>{let e=!1;if(k.current)try{let t=(0,c.vJ)();if((0,c.I2)(t)){let r=i.split("\n");t.insertText(r[0]);for(let e=1;e0)for(let i=0;i{let t=(0,c.ns)(e);t&&(0,c.kF)(t)&&t.remove()})}finally{x.current=null,k.current=null,t.update(()=>{vF()}),E(!0)}},[d,E]),R=(0,n.useCallback)(e=>{let t=d.current;t&&e.trim()&&(em.logger.info("[RTCVoice] onSummary \u2014 replacing editor content with summary text"),t.update(()=>{let t=(0,c.Ni)();for(let i of(t.clear(),e.split("\n"))){let e=(0,c.lJ)();i.trim()&&e.append((0,c.sT)(i)),t.append(e)}}),t.focus())},[d]),N=(0,vT.Yh)(b??S,I,T,R,void 0,void 0,s),A=N.state,M=(0,n.useRef)(A);M.current=A;let[P,j]=(0,n.useState)(!1),L=(0,n.useRef)(0),D=(0,n.useRef)(void 0),O=P&&(A===vT.tF.IDLE||A===vT.tF.ERROR)?vT.tF.CONNECTING:A===vT.tF.ERROR?vT.tF.IDLE:A,F=O!==vT.tF.IDLE;(0,n.useEffect)(()=>{P&&A!==vT.tF.IDLE&&A!==vT.tF.ERROR&&(D.current=void 0,j(!1))},[A,P]),(0,n.useEffect)(()=>{(!t||A===vT.tF.ERROR)&&C&&w(!1)},[A,t,C]);let U=(0,n.useRef)(0),V=(0,n.useRef)(0),B=(0,n.useRef)(0),z=(0,n.useRef)(void 0),W=(0,n.useRef)(vT.tF.IDLE),H=(0,n.useRef)(f);H.current=f,(0,n.useEffect)(()=>{let e=W.current;if(W.current=A,A===vT.tF.RECORDING)U.current=Date.now(),H.current?.("voice_transcription_start_success"),H.current?.("asr_recog_event",{action:"asr_recog_start"});else if(A===vT.tF.FINISHING)B.current=Date.now(),V.current=Date.now();else if(A===vT.tF.REFINING)H.current?.("asr_rewrite_event",{action:"asr_rewrite_request"});else if(A===vT.tF.IDLE&&U.current>0){let t=Date.now()-U.current,i=B.current>0?B.current-U.current:t;if(e===vT.tF.REFINING&&V.current>0){let e=Date.now()-V.current;H.current?.("voice_transcription_refine_success",{refine_duration_ms:e}),H.current?.("asr_rewrite_event",{action:"asr_rewrite_success"})}H.current?.("voice_transcription_complete",{duration_ms:t,recording_duration_ms:i}),U.current=0,V.current=0,B.current=0}},[A]);let G=(0,n.useRef)(N.start);G.current=N.start;let Z=(0,n.useRef)(N.finish);Z.current=N.finish;let K=(0,n.useRef)(N.cancel);K.current=N.cancel;let X=(0,n.useRef)(u);X.current=u;let Y=(0,n.useRef)(h);Y.current=h;let J=(0,n.useRef)(p);J.current=p;let $=(0,n.useRef)(m);$.current=m;let q=(0,n.useRef)(void 0),Q=(0,n.useRef)(void 0),ee=(0,n.useRef)(void 0),et=(0,n.useCallback)((e,t)=>{let i={context_collect_ms:Math.round(e.durationMs),cache_age_ms:t?.cacheAgeMs??-1,command_count:e.commandCount},r={phase:e.phase,cache_hit:t?.cacheHit??!1,timed_out:e.timedOut,has_last_reply:e.hasLastReply,trigger_source:t?.triggerSource??"unknown"};(0,lV.o3)({name:"rtc_voice_start_context_perf",metrics:i,categories:r}),(0,vN.w)("rtc_voice_start_context_perf",{...i,...r})},[]),ei=(0,n.useCallback)(async(e,t=vj)=>{let i,r=performance.now(),s=!1,n=Promise.all([X.current?.()??Promise.resolve([]),Promise.resolve(Y.current?.())]),a=new Promise(e=>{i=setTimeout(()=>{s=!0,e([[],void 0])},t)});try{let[t,i]=await Promise.race([n,a]),o=performance.now()-r;return{variables:{availableSlashCommands:t,...i?{lastReply:i}:{}},durationMs:o,timedOut:s,phase:e,commandCount:t.length,hasLastReply:!!i}}finally{i&&clearTimeout(i)}},[]);(0,n.useEffect)(()=>{q.current=void 0},[u,h]),(0,n.useEffect)(()=>{if(!t||A!==vT.tF.IDLE)return;let e=q.current;if(e&&performance.now()-e.collectedAt<=vL||Q.current)return;let i=!1,r=setTimeout(()=>{if(i||Q.current)return;let e=ei("prefetch").then(e=>(i||e.timedOut||(q.current={variables:e.variables,collectedAt:performance.now(),result:e}),et(e,{cacheHit:!1}),e)).catch(e=>{em.logger.warn("[RTCVoice] Failed to prefetch startVoiceChat variables",e);let t={variables:{availableSlashCommands:[]},durationMs:0,timedOut:!1,phase:"prefetch",commandCount:0,hasLastReply:!1};return et(t,{cacheHit:!1}),t}).finally(()=>{Q.current===e&&(Q.current=void 0)});Q.current=e},0);return()=>{i=!0,clearTimeout(r)}},[ei,A,t,u,h,et]);let er=(0,n.useCallback)(()=>{let e=N.errorCode??vM,t={...N.errorMeta??{}};return"CONNECTION_ERROR"!==e&&"CONNECTION_LOST"!==e||t.rtcErrorCode||(t.rtcErrorCode="unknown"),v.localize(`rtcVoice.error.${e}`,t,vP[e]??vP.UNKNOWN)},[v,N.errorCode,N.errorMeta]);(0,n.useEffect)(()=>{if(A!==vT.tF.ERROR||!N.error){A!==vT.tF.ERROR&&(ee.current=void 0);return}let e=Object.entries(N.errorMeta??{}).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}:${t}`).join("|"),t=`${N.errorCode??vM}:${N.error}:${e}`;ee.current!==t&&(ee.current=t,vA.error(er()),em.logger.info("[RTCVoice] Error toast shown above message input",{errorCode:N.errorCode??vM}))},[A,er,N.error,N.errorCode,N.errorMeta]),N.onPermissionDeniedRef.current=e=>{x.current=null,k.current=null,E(!0),vA.error(v.localize("trae-chat-core.rtcVoice.error.micPermissionDenied",void 0,"Microphone permission denied")),em.logger.info("[RTCVoice] Permission denied callback fired, editor restored, toast shown")},N.onPermissionBlockedRef.current=()=>{(0,vI.B_)()?(0,vT.JC)(v.localize):vA.error(v.localize("trae-chat-core.rtcVoice.error.micPermissionBlocked",void 0,"Microphone permission is blocked. Please click the lock icon in the address bar to allow access.")),E(!0),em.logger.info("[RTCVoice] Permission blocked callback fired, isSoloLite=%s",(0,vI.B_)())};let es=(0,n.useCallback)(async e=>{let t,i=M.current===vT.tF.IDLE||M.current===vT.tF.ERROR;if(D.current||!i)return void em.logger.warn("[RTCVoice] Start ignored because voice start is already pending or active");let r={id:L.current+1,cancelled:!1};L.current=r.id,D.current=r,j(!0),w(!0);let s=d.current;s&&(s.getEditorState().read(()=>{let e=(0,c.vJ)();(0,c.I2)(e)?(k.current={anchorKey:e.anchor.key,anchorOffset:e.anchor.offset,anchorType:e.anchor.type,focusKey:e.focus.key,focusOffset:e.focus.offset,focusType:e.focus.type},em.logger.info("[RTCVoice] Saved cursor position before recording",{key:e.anchor.key,offset:e.anchor.offset})):k.current=null}),x.current=null,s.blur(),em.logger.info("[RTCVoice] Input locked for voice recording"));try{let i=q.current,s=i?performance.now()-i.collectedAt:1/0;if(i&&s<=vL)t=i.variables,et({...i.result,phase:"start",durationMs:0},{cacheHit:!0,cacheAgeMs:Math.round(s),triggerSource:e?.triggerSource});else{let i={...await (Q.current??ei("start")),phase:"start"};if(i.timedOut&&em.logger.warn(`[RTCVoice] Collecting startVoiceChat variables timed out after ${vj}ms; starting without extra context`),D.current?.id!==r.id||r.cancelled)return void em.logger.info("[RTCVoice] Start cancelled before service.start, skip RTC startup");t=i.variables,i.timedOut||(q.current={variables:i.variables,collectedAt:performance.now(),result:i}),et(i,{cacheHit:!1,triggerSource:e?.triggerSource})}em.logger.info("[RTCVoice] Collected variables for startVoiceChat",{slashCommandCount:t?.availableSlashCommands.length??0,hasLastReply:!!t?.lastReply,slashCommands:t?.availableSlashCommands??[]})}catch(e){em.logger.warn("[RTCVoice] Failed to collect variables, proceeding without them",e),t={availableSlashCommands:[]}}if(D.current?.id!==r.id||r.cancelled)return void em.logger.info("[RTCVoice] Start cancelled before service.start, skip RTC startup");try{return await G.current(t,e)}catch(e){throw E(!0),e}finally{D.current?.id===r.id&&(D.current=void 0),j(!1)}},[d,E]),en=(0,n.useCallback)(async()=>{let e=d.current;return e&&e.getEditorState().read(()=>{let e=(0,c.Ni)(),t=e.getTextContent(),i=k.current;if(i){let r=0,s=!1,n=[];for(let t of e.getChildren())if((0,c.ff)(t)){for(let e of(n.length>0&&(r+=1),t.getChildren()))if((0,c.kF)(e)){if(n.push({key:e.getKey(),length:e.getTextContentSize()}),e.getKey()===i.anchorKey){r+=i.anchorOffset,s=!0;break}r+=e.getTextContentSize()}if(s)break}s?N.setEditorContext(t.substring(0,r),t.substring(r)):N.setEditorContext("","")}else N.setEditorContext(t,"")}),Z.current()},[d,N.setEditorContext]),ea=(0,n.useCallback)(async()=>{if(D.current&&(M.current===vT.tF.IDLE||M.current===vT.tF.ERROR)){D.current.cancelled=!0,D.current=void 0,j(!1),x.current=null,k.current=null,E(!0);return}let e=d.current;if(e){let t=x.current;e.update(()=>{if(t){let e=(0,c.ns)(t);e&&(0,c.kF)(e)&&e.remove()}vF()})}return x.current=null,k.current=null,E(!0),K.current()},[d,E]),eo=(0,n.useMemo)(()=>{if(t)return{state:O,draftText:N.draftText,volumeLevel:N.volumeLevel,audioDevices:N.audioDevices,currentDeviceId:N.currentDeviceId,isNearTimeLimit:N.isNearTimeLimit,actions:{start:es,finish:en,cancel:ea,switchAudioDevice:N.switchAudioDevice}}},[t,O,N.draftText,N.volumeLevel,N.audioDevices,N.currentDeviceId,N.isNearTimeLimit,N.switchAudioDevice,es,en,ea]),el=(0,n.useMemo)(()=>y6({enabled:t,disabled:i,provider:eo,onTeaReport:f,onVoiceCall:g,voiceCallActive:_,voiceCallWrapper:y,shortcutConfig:a}),[]);(0,n.useEffect)(()=>{el.update?.({enabled:t,disabled:i,provider:eo,onTeaReport:f,onVoiceCall:g,voiceCallActive:_,voiceCallWrapper:y,shortcutConfig:a})},[el,t,i,eo,f,g,_,y,a]),(0,n.useEffect)(()=>{let e="voice-call-summary",t=()=>{let t=sessionStorage.getItem(e);t&&(sessionStorage.removeItem(e),em.logger.info("[RTCVoice] Found voice-call-summary in sessionStorage, filling editor"),R(t))};t();let i=setInterval(t,1e3),r=setTimeout(()=>clearInterval(i),3e4);return()=>{clearInterval(i),clearTimeout(r)}},[R]);let ec=(0,n.useCallback)(()=>z.current,[]),ed=(0,n.useCallback)(()=>{z.current=void 0},[]);return(0,n.useMemo)(()=>({plugin:el,state:O,isActive:F,isInputLocked:C,isNearTimeLimit:N.isNearTimeLimit,getRefinedTextSnapshot:ec,clearRefinedTextSnapshot:ed}),[el,O,F,C,N.isNearTimeLimit,ec,ed])}var vB=i(22644);let vz=50;class vW{get histories(){return this.historiesByMode[this.currentMode]}get cursor(){return this.cursorByMode[this.currentMode]}set cursor(e){this.cursorByMode[this.currentMode]=e}setMode(e){this.currentMode=e}addHistory(e){if(!e)return;let t=this.historiesByMode[this.currentMode];t.push({editorStateJson:e}),t.length>vz&&t.shift(),this.cursorByMode[this.currentMode]=t.length}getAllHistories(){return this.histories}gotoPrevHistory(){return this.cursor>0?(this.cursor-=1,this.histories[this.cursor]):null}gotoNextHistory(){return this.cursor+1vK}let v$=20;function vq(e){let t=0;return e.filter(e=>e.status===_k.d8.Success&&"string"==typeof e.tosUri&&e.tosUri.length>0).map(e=>{let i=e.type.startsWith("image/"),r=i&&t({id:e.id,name:e.name,size:e.size,type:e.type,status:_k.d8.Success,progress:100,url:e.url,cdnURL:e.cdnURL,tosUri:e.tosUri,thumbnailUrl:e.type.startsWith("image/")?e.thumbnailBase64??e.thumbnailUrl??e.url??e.cdnURL:void 0,thumbnailBase64:e.thumbnailBase64,resourceSessionKey:e.resourceSessionKey,needsResourceCommit:!!e.resourceSessionKey,imageWidth:e.imageWidth,imageHeight:e.imageHeight}))}function v0(e){if(!e||"object"!=typeof e)return;let t=e;if(t.version!==vZ||"number"!=typeof t.updatedAt||!t.scope||"object"!=typeof t.scope)return;let i=t.scope;if(void 0!==i.userId&&"string"!=typeof i.userId||"home"!==i.page&&"session"!==i.page||"work"!==i.mode&&"code"!==i.mode&&"design"!==i.mode||"session"===i.page&&void 0!==i.sessionId&&"string"!=typeof i.sessionId)return;let r=Array.isArray(t.files)?t.files:[],s=[];for(let e of r){if(!e||"object"!=typeof e)continue;let t=e;"string"==typeof t.id&&"string"==typeof t.name&&"number"==typeof t.size&&"string"==typeof t.type&&t.status===_k.d8.Success&&"string"==typeof t.tosUri&&0!==t.tosUri.length&&s.push({id:t.id,name:t.name,size:t.size,type:t.type,status:_k.d8.Success,tosUri:t.tosUri,url:"string"==typeof t.url?t.url:void 0,cdnURL:"string"==typeof t.cdnURL?t.cdnURL:void 0,thumbnailBase64:"string"==typeof t.thumbnailBase64?t.thumbnailBase64:void 0,thumbnailUrl:"string"==typeof t.thumbnailUrl?t.thumbnailUrl:void 0,resourceSessionKey:"string"==typeof t.resourceSessionKey?t.resourceSessionKey:void 0,imageWidth:"number"==typeof t.imageWidth?t.imageWidth:void 0,imageHeight:"number"==typeof t.imageHeight?t.imageHeight:void 0})}let n=t.editorState,a=n&&"object"==typeof n?n:void 0;return{version:vZ,updatedAt:t.updatedAt,scope:{userId:"string"==typeof i.userId?i.userId:void 0,page:i.page,sessionId:"session"===i.page?i.sessionId:void 0,mode:i.mode},editorState:a,files:s,lostFileNames:Array.isArray(t.lostFileNames)?t.lostFileNames.filter(e=>"string"==typeof e&&e.length>0).slice(0,10):void 0}}function v1(e){return e===lG.Uf.Code?"code":e===lG.Uf.Design?"design":"work"}function v2(e,t,i){let r=e.tosUri||"";return(e.uploadMode??t)===_x&&r&&!r.startsWith("trae-res://")&&(r=`trae-res://${i}/${r}`),r}function v3({activeMode:e,uploadedImages:t,uploadedAttachments:i,fileUploadMode:r,attachmentBizType:s,now:n=Date.now()}){let a=e===lG.Uf.Work||e===lG.Uf.Design,o=a?[]:t,l=a?[...i,...t]:i,c=o.map(e=>({resource_id:e.tosUri||e.url||"",resource_type:"image"})),d=l.map(e=>{let t=v2(e,r,s),i=t.indexOf("?");return i>0&&(t=t.substring(0,i)),(e.uploadMode??r)===_x&&t&&!t.startsWith("trae-res://")&&(t=`trae-res://${s}/${t}`),{resource_id:t,resource_type:"attachment",file_name:e.name}}),u=l.map(t=>{let i=v2(t,r,s);if(!i)return;let a={uri:i,filename:t.name,size:t.size,mimeType:t.type||"application/octet-stream",uploadMode:t.uploadMode??r,mode:v1(e),createdAt:n,updatedAt:n};return t.resourceSessionKey&&(a.resourceSessionKey=t.resourceSessionKey),t.thumbnailBase64&&(a.thumbnailBase64=t.thumbnailBase64),t.thumbnailUrl&&(a.thumbnailUrl=t.thumbnailUrl),"number"==typeof t.imageWidth&&(a.imageWidth=t.imageWidth),"number"==typeof t.imageHeight&&(a.imageHeight=t.imageHeight),a}).filter(e=>!!e);return{imagesForSend:o,attachmentsForSend:l,hasUploadedFiles:o.length>0||l.length>0,multiMedia:[...c,...d],attachmentRestoreMetas:u}}function v4(e){return e.files.map(v5)}function v5(e){return{id:e.id,name:e.name,size:e.size,type:e.type,status:_k.d8.Success,progress:100,uploadMode:e.uploadMode,tosUri:e.resourceUri,thumbnailUrl:e.type.startsWith("image/")?e.thumbnailBase64??e.thumbnailUrl:void 0,thumbnailBase64:e.thumbnailBase64,resourceSessionKey:e.resourceSessionKey,needsResourceCommit:!!e.resourceSessionKey,imageWidth:e.imageWidth,imageHeight:e.imageHeight}}var v9=i(69611),v6=i(50952);let v8={permissionModeTrigger:"permissionModeTrigger-_O2E0F",permissionModeTriggerOpen:"permissionModeTriggerOpen-mGQ3HD",permissionModeTriggerDanger:"permissionModeTriggerDanger-hYizyl",permissionModeTriggerIcon:"permissionModeTriggerIcon-HAi0lB",permissionModeTriggerLabel:"permissionModeTriggerLabel-ZwpeKr",permissionModeTriggerArrow:"permissionModeTriggerArrow-RbWsDz",permissionModePopover:"permissionModePopover-DeExaT",permissionModeContent:"permissionModeContent-VDVZcr",permissionModeHeader:"permissionModeHeader-UAKjCO",permissionModeTitle:"permissionModeTitle-yAm0wu",permissionModeLearnMore:"permissionModeLearnMore-t_N3an",permissionModeItem:"permissionModeItem-MUzFPV",permissionModeItemInner:"permissionModeItemInner-VBFW7q",permissionModeItemIcon:"permissionModeItemIcon-t0xFD5",permissionModeItemName:"permissionModeItemName-LsftM6",permissionModeItemDescWrap:"permissionModeItemDescWrap-ztvNr8",permissionModeItemDesc:"permissionModeItemDesc-aRRXkM",permissionModeItemCheck:"permissionModeItemCheck-ORNYda"},v7=[{id:v6.Z.ManualApproval,labelKey:"permission-mode.mode.manual-approval",labelDefault:"Manual Approval",descKey:"permission-mode.mode.manual-approval.desc",descDefault:"Requires your approval for each important action",Icon:S.Vai},{id:v6.Z.AutoApproval,labelKey:"permission-mode.mode.auto-approval",labelDefault:"Auto Approval",descKey:"permission-mode.mode.auto-approval.desc",descDefault:"Let AI review and approve important actions",Icon:S.E34},{id:v6.Z.FullAccess,labelKey:"permission-mode.mode.full-access",labelDefault:"Full Access",descKey:"permission-mode.mode.full-access.desc",descDefault:"Run directly on your computer without asking",Icon:S.WKe,danger:!0}],be={id:v6.Z.Custom,labelKey:"permission-mode.mode.custom",labelDefault:"Custom",descKey:"permission-mode.mode.custom.desc",descDefault:"Use a config file to set permissions",Icon:S.Ni9},bt=({text:e})=>(0,s.jsx)("span",{className:v8.permissionModeItemDescWrap,children:(0,s.jsx)(u.A,{content:e,side:"top",mode:"mini",children:(0,s.jsx)("span",{className:v8.permissionModeItemDesc,children:e})})}),bi=({port:e})=>{let{localize:t}=(0,m.s9)(),[i,r]=(0,n.useState)(e.getCurrentMode()),[a,o]=(0,n.useState)(!1),[l,c]=(0,n.useState)(!0),d=(0,n.useRef)(null);(0,n.useEffect)(()=>e.onModeChange(e=>{r(e)}),[e]),(0,n.useEffect)(()=>{let e=d.current?.closest(".chat-input-v2-editor-part-lower__left");if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)c(t.contentRect.width>420)});return t.observe(e),()=>t.disconnect()},[]);let u=(0,n.useMemo)(()=>{let t=[...v7];return e.hasCustomProfile()&&t.push(be),t},[e]),h=(0,n.useMemo)(()=>u.find(e=>e.id===i)??v7[0],[u,i]),p=(0,n.useCallback)(async r=>{if(r===i)return void o(!1);if(r===v6.Z.FullAccess){if(o(!1),!await v9.lJ.show({type:"warning",title:t("permission-mode.confirm.full-access-title",void 0,"Enable Full Access?"),content:t("permission-mode.confirm.full-access-content",void 0,"Full Access mode allows the agent to execute all operations without approval. This may pose security risks."),confirmText:t("permission-mode.confirm.enable",void 0,"Enable"),cancelText:t("permission-mode.confirm.cancel",void 0,"Cancel")}))return}else o(!1);await e.setMode(r)},[i,e,t]),f=(0,el.C)(e=>e.autoRunConfig?.permissionConfigDocsUrl),g=e.getLearnMoreUrl?.()||f,_=h.Icon,y=(0,s.jsxs)("div",{className:v8.permissionModeContent,children:[(0,s.jsxs)("div",{className:v8.permissionModeHeader,children:[(0,s.jsx)("span",{className:v8.permissionModeTitle,children:t("permission-mode.header.title",void 0,"Agent Action Approval")}),g&&(0,s.jsx)("a",{className:v8.permissionModeLearnMore,href:g,target:"_blank",rel:"noopener noreferrer",children:t("permission-mode.header.learn-more",void 0,"Learn more")})]}),u.map(e=>(0,s.jsx)("div",{className:v8.permissionModeItem,onClick:()=>p(e.id),children:(0,s.jsxs)("div",{className:v8.permissionModeItemInner,children:[(0,s.jsx)("span",{className:`${v8.permissionModeItemIcon}${e.danger?` ${v8.permissionModeItemIconDanger}`:""}`,children:(0,s.jsx)(e.Icon,{})}),(0,s.jsx)("span",{className:v8.permissionModeItemName,children:t(e.labelKey,void 0,e.labelDefault)}),(0,s.jsx)(bt,{text:t(e.descKey,void 0,e.descDefault)}),i===e.id&&(0,s.jsx)("span",{className:v8.permissionModeItemCheck,children:(0,s.jsx)(S.cfM,{})})]})},e.id))]});return(0,s.jsx)("div",{ref:d,style:{display:"inline-flex"},children:(0,s.jsx)(x.A,{content:y,open:a,onOpenChange:o,side:"top",align:"start",sideOffset:8,showArrow:!1,contentClassName:v8.permissionModePopover,children:(0,s.jsxs)("button",{className:`${v8.permissionModeTrigger}${a?` ${v8.permissionModeTriggerOpen}`:""}${h.danger?` ${v8.permissionModeTriggerDanger}`:""}`,type:"button",children:[(0,s.jsx)("span",{className:v8.permissionModeTriggerIcon,children:(0,s.jsx)(_,{})}),l&&(0,s.jsx)("span",{className:v8.permissionModeTriggerLabel,children:t(h.labelKey,void 0,h.labelDefault)}),(0,s.jsx)(S.Y7q,{className:v8.permissionModeTriggerArrow})]})})})},br=()=>{let e=(0,ec.$Q)(ed.F.PermissionMode),t=(0,el.C)(e=>e.autoRunConfig?.useNewPermissionModel!==!1);return e&&t?(0,s.jsx)(bi,{port:e}):null};var bs=i(94609),bn=i(42277),ba=function(e){return e.Pending="pending",e.InProgress="in_progress",e.Completed="completed",e}({}),bo=function(e){return e.Tasks="tasks",e.Files="files",e.Messages="messages",e.Review="review",e.Worktree="worktree",e.Terminal="terminal",e.Workflow="workflow",e.Goal="goal",e}({}),bl=i(4235);let bc=(e,t,i)=>i||"",bd=(0,bl.createContext)({sessionId:void 0,todoList:[],tasks:[],pendingMessages:[],terminalCommands:[],workflowEntries:[],crossSessionFileRefs:{},expandStatus:"collapsed",hubStatus:bo.Tasks,hiddenFiles:!1,hiddenTasks:!1,hiddenReview:!1,isStreaming:!1,isCounting:!1,countDown:5,isCompact:!1,isLight:!0,localize:bc,autoAcceptEnabled:!1,showCancelIcon:!1,todoListCount:0,hasTodoList:!1,tasksCount:0,completedTasksCount:0,allCompleted:!1,firstInProgressTaskContent:"",pendingMessagesCount:0,terminalCommandsCount:0,hasTerminalCommands:!1,workflowEntriesCount:0,hasWorkflowEntries:!1,fileTabStatus:"disable",taskTabStatus:"disable",messageTabStatus:"disable",terminalTabStatus:"disable",workflowTabStatus:"disable",noReviewCondition:!0,goalTabStatus:"disable",hasGoal:!1,noGoalCondition:!0,onSwitchHubStatus:()=>{},onSwitchExpandStatus:()=>{},onSetIsCompact:()=>{},onDeletePendingMessage:()=>{},sendNowEnabled:!1,onEditPendingMessage:()=>{},onSendNowPendingMessage:()=>{},onReorderPendingMessages:()=>{}}),bu={hub:"hub-e1exQJ",goalExpanded:"goalExpanded-lD0JVv",separator:"separator-RHpHaI",goalExpandedContent:"goalExpandedContent-iFMugS"},bh={tabs:"tabs-LWni9t",goalExpanded:"goalExpanded-LKKzB0",tabItem:"tabItem-ideJp8",disable:"disable-spbYa6",solo:"solo-dXKXvq",active:"active-yR8zca",dark:"dark-mfpAyG",tooltipBtn:"tooltipBtn-c0RUFb",tabIcon:"tabIcon-bX2w7z",branch:"branch-c3wOOl"},bp=({status:e="normal"})=>{let t=[bh.tabIcon,bh.goal,"active"===e&&bh.active,"disable"===e&&bh.disable].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.v_l,{})})},bm=({isSolo:e})=>{let{localize:t}=(0,vR.s)(),{goalTabStatus:i,onSwitchHubStatus:r,expandStatus:n,isLight:a,onReport:o}=(0,bl.useContextSelector)(bd,e=>({goalTabStatus:e.goalTabStatus,onSwitchHubStatus:e.onSwitchHubStatus,expandStatus:e.expandStatus,isLight:e.isLight,onReport:e.onReport})),l=()=>{"disable"!==i&&(r?.(bo.Goal),o?.({action:"click_switch",tab:bo.Goal,expand:n||"collapsed"}))};if("disable"===i)return null;let c=[bh.tabItem,!e&&"active"===i&&bh.active,e&&bh.solo,!a&&bh.dark].filter(Boolean).join(" "),d=t("trae-chat-core.task-hub.goal.tabTooltip",{},"Goal");return e?(0,s.jsx)("div",{className:c,children:(0,s.jsx)(bp,{status:"normal"})}):(0,s.jsx)(u.A,{content:d,side:"bottom",children:(0,s.jsx)("div",{onClick:l,className:c,children:(0,s.jsx)(bp,{status:i})})})},bf=({status:e="normal"})=>{let t=[bh.tabIcon,"active"===e&&bh.active,"disable"===e&&bh.disable].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.vl3,{})})},bg=({status:e="normal"})=>{let t=[bh.tabIcon,"active"===e&&bh.active,"disable"===e&&bh.disable].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.sdi,{})})},b_=({status:e="normal"})=>{let t=[bh.tabIcon,"active"===e&&bh.active,"disable"===e&&bh.disable].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.hVn,{})})},by=({status:e="normal"})=>{let t=[bh.tabIcon,bh.branch,"active"===e&&bh.active,"disable"===e&&bh.disable].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.Mpl,{})})},bv=({children:e})=>{let{localize:t}=(0,vR.s)(),{taskTabStatus:i,tasksCount:r,completedTasksCount:a}=(0,bl.useContextSelector)(bd,e=>({tasksCount:e.tasksCount,completedTasksCount:e.completedTasksCount,taskTabStatus:e.taskTabStatus})),o=(0,n.useMemo)(()=>"active"===i?t("ai.tasksHub.tasksItemTooltip.active",{num:`${a}/${r}`},"task"):"disable"===i?t("ai.tasksHub.tasksItemTooltip.disable",{},"no tasks"):t("ai.tasksHub.tasksItemTooltip.normal",{num:`${a}/${r}`},`tasks process ${a}/${r}`),[r,a,i,t]);return(0,s.jsx)(u.A,{content:o,side:"bottom",children:e})},bb=({children:e})=>{let{localize:t}=(0,vR.s)(),{fileTabStatus:i,todoListCount:r,autoAcceptEnabled:a,onGoToAutoAcceptSetting:o}=(0,bl.useContextSelector)(bd,e=>({fileTabStatus:e.fileTabStatus,todoListCount:e.todoListCount,autoAcceptEnabled:e.autoAcceptEnabled,onGoToAutoAcceptSetting:e.onGoToAutoAcceptSetting})),l=(0,n.useMemo)(()=>"active"===i?t("ai.tasksHub.filesItemTooltip.active",{},"filesReview"):"disable"===i?a?(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{children:t("ai.tasksHub.enableAutoKeepTipPrefix",{},"Auto keep is enabled. ")}),(0,s.jsx)("span",{className:bh.tooltipBtn,onClick:o,children:t("ai.tasksHub.enableAutoKeepTipMid",{},"Go to settings")}),(0,s.jsx)("span",{children:t("ai.tasksHub.enableAutoKeepTipSuffix",{}," to disable.")})]}):t("ai.tasksHub.filesItemTooltip.disable",{},"no files to review"):t("ai.tasksHub.filesItemTooltip.normal",{num:`${r}`},`${r} files need to review`),[i,r,a,o,t]);return(0,s.jsx)(u.A,{content:l,side:"bottom",children:e})},bS=({isSolo:e})=>{let{taskTabStatus:t,onSwitchHubStatus:i,expandStatus:r,hiddenTasks:n,isLight:a,onReport:o}=(0,bl.useContextSelector)(bd,e=>({taskTabStatus:e.taskTabStatus,onSwitchHubStatus:e.onSwitchHubStatus,expandStatus:e.expandStatus,hiddenTasks:e.hiddenTasks,isLight:e.isLight,onReport:e.onReport})),l=()=>{"disable"!==t&&(i?.(bo.Tasks),o?.({action:"click_switch",tab:bo.Tasks,expand:r||"collapsed"}))};if(n||"disable"===t)return null;let c=[bh.tabItem,!e&&"active"===t&&bh.active,e&&bh.solo,!a&&bh.dark].filter(Boolean).join(" ");return e?(0,s.jsx)("div",{className:c,children:(0,s.jsx)(bf,{status:"normal"})}):(0,s.jsx)(bv,{children:(0,s.jsx)("div",{onClick:l,className:c,children:(0,s.jsx)(bf,{status:t})})})},bk=({isSolo:e})=>{let{fileTabStatus:t,onSwitchHubStatus:i,hiddenFiles:r,expandStatus:n,isLight:a,onReport:o}=(0,bl.useContextSelector)(bd,e=>({fileTabStatus:e.fileTabStatus,onSwitchHubStatus:e.onSwitchHubStatus,hiddenFiles:e.hiddenFiles,expandStatus:e.expandStatus,isLight:e.isLight,onReport:e.onReport})),l=()=>{"disable"!==t&&(i?.(bo.Files),o?.({action:"click_switch",tab:bo.Files,expand:n||"collapsed"}))};if(r||"disable"===t)return null;let c=[bh.tabItem,!e&&"active"===t&&bh.active,e&&bh.solo,!a&&bh.dark].filter(Boolean).join(" ");return e?(0,s.jsx)("div",{className:c,children:(0,s.jsx)(bg,{status:"normal"})}):(0,s.jsx)(bb,{children:(0,s.jsx)("div",{onClick:l,className:c,children:(0,s.jsx)(bg,{status:t})})})},bx=({isSolo:e})=>{let{messageTabStatus:t,onSwitchHubStatus:i,expandStatus:r,isLight:n,onReport:a}=(0,bl.useContextSelector)(bd,e=>({messageTabStatus:e.messageTabStatus,onSwitchHubStatus:e.onSwitchHubStatus,expandStatus:e.expandStatus,isLight:e.isLight,onReport:e.onReport})),o=()=>{i?.(bo.Messages),a?.({action:"click_switch",tab:bo.Messages,expand:r||"collapsed"})};if("disable"===t)return null;let l=[bh.tabItem,!e&&"active"===t&&bh.active,e&&bh.solo,!n&&bh.dark].filter(Boolean).join(" ");return e?(0,s.jsx)("div",{className:l,children:(0,s.jsx)(b_,{status:"normal"})}):(0,s.jsx)("div",{onClick:o,className:l,children:(0,s.jsx)(b_,{status:t})})},bC=({isSolo:e})=>{let{noReviewCondition:t,hubStatus:i,onSwitchHubStatus:r,expandStatus:n,isLight:a,onReport:o,localize:l}=(0,bl.useContextSelector)(bd,e=>({noReviewCondition:e.noReviewCondition,hubStatus:e.hubStatus,onSwitchHubStatus:e.onSwitchHubStatus,expandStatus:e.expandStatus,isLight:e.isLight,onReport:e.onReport,localize:e.localize})),c=()=>{r?.(bo.Review),o?.({action:"click_switch",tab:bo.Review,expand:n||"collapsed"})};if(t)return null;let d=i===bo.Review,h=[bh.tabItem,!e&&d&&bh.active,e&&bh.solo,!a&&bh.dark].filter(Boolean).join(" ");return e?(0,s.jsx)("div",{className:h,children:(0,s.jsx)(by,{status:"normal"})}):(0,s.jsx)(u.A,{content:l?.("trae-chat-core.task-hub.tasksHub.reviewTabTooltip",{},"AI Create PR")||"AI Create PR",side:"bottom",children:(0,s.jsx)("div",{onClick:c,className:h,children:(0,s.jsx)(by,{status:d?"active":"normal"})})})},bw=({status:e="normal"})=>{let t=[bh.tabIcon,"active"===e&&bh.active,"disable"===e&&bh.disable].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.yWD,{})})},bE=({status:e="normal"})=>{let t=[bh.tabIcon,"active"===e&&bh.active,"disable"===e&&bh.disable].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.haY,{})})},bT=({isSolo:e})=>{let{localize:t}=(0,vR.s)(),{terminalTabStatus:i,terminalCommandsCount:r,onSwitchHubStatus:n,expandStatus:a,isLight:o,onReport:l}=(0,bl.useContextSelector)(bd,e=>({terminalTabStatus:e.terminalTabStatus,terminalCommandsCount:e.terminalCommandsCount,onSwitchHubStatus:e.onSwitchHubStatus,expandStatus:e.expandStatus,isLight:e.isLight,onReport:e.onReport})),c=()=>{"disable"!==i&&(n?.(bo.Terminal),l?.({action:"click_switch",tab:bo.Terminal,expand:a||"collapsed"}))};if("disable"===i)return null;let d=[bh.tabItem,!e&&"active"===i&&bh.active,e&&bh.solo,!o&&bh.dark].filter(Boolean).join(" "),h=t("trae-chat-core.task-hub.terminal.tabTooltip",{count:r},`${r} background command(s)`);return e?(0,s.jsx)("div",{className:d,children:(0,s.jsx)(bw,{status:"normal"})}):(0,s.jsx)(u.A,{content:h,side:"bottom",children:(0,s.jsx)("div",{onClick:c,className:d,children:(0,s.jsx)(bw,{status:i})})})},bI=({isSolo:e})=>{let{localize:t}=(0,vR.s)(),{workflowTabStatus:i,workflowEntriesCount:r,onSwitchHubStatus:n,expandStatus:a,isLight:o,onReport:l}=(0,bl.useContextSelector)(bd,e=>({workflowTabStatus:e.workflowTabStatus,workflowEntriesCount:e.workflowEntriesCount,onSwitchHubStatus:e.onSwitchHubStatus,expandStatus:e.expandStatus,isLight:e.isLight,onReport:e.onReport})),c=()=>{"disable"!==i&&(n?.(bo.Workflow),l?.({action:"click_switch",tab:bo.Workflow,expand:a||"collapsed"}))};if("disable"===i)return null;let d=[bh.tabItem,!e&&"active"===i&&bh.active,e&&bh.solo,!o&&bh.dark].filter(Boolean).join(" "),h=t("trae-chat-core.task-hub.workflow.tabTooltip",{count:r},`${r} workflow(s) running`);return e?(0,s.jsx)("div",{className:d,children:(0,s.jsx)(bE,{status:"normal"})}):(0,s.jsx)(u.A,{content:h,side:"bottom",children:(0,s.jsx)("div",{onClick:c,className:d,children:(0,s.jsx)(bE,{status:i})})})},bR=(0,n.forwardRef)((e,t)=>{let{sessionId:i,hubStatus:r,expandStatus:n,taskTabStatus:a,fileTabStatus:o,messageTabStatus:l,noReviewCondition:c,terminalTabStatus:d,workflowTabStatus:u,goalTabStatus:h}=(0,bl.useContextSelector)(bd,e=>({sessionId:e.sessionId,hubStatus:e.hubStatus,expandStatus:e.expandStatus,taskTabStatus:e.taskTabStatus,fileTabStatus:e.fileTabStatus,messageTabStatus:e.messageTabStatus,noReviewCondition:e.noReviewCondition,terminalTabStatus:e.terminalTabStatus,workflowTabStatus:e.workflowTabStatus,goalTabStatus:e.goalTabStatus})),p=(0,ec.h1)(ed.B.SessionStore),m=!!p.sessionById.use(i??"")?.worktreeData,f=["disable"!==a,"disable"!==o,"disable"!==l,!c&&!m,"disable"!==d,"disable"!==u,"disable"!==h].filter(Boolean).length,g=1===f;if(0===f)return null;let _=[bh.tabs,r===bo.Goal&&"expanded"===n&&bh.goalExpanded].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:_,ref:t,children:[(0,s.jsx)(bS,{isSolo:g}),(0,s.jsx)(bk,{isSolo:g}),(0,s.jsx)(bx,{isSolo:g}),(0,s.jsx)(bC,{isSolo:g}),(0,s.jsx)(bT,{isSolo:g}),(0,s.jsx)(bI,{isSolo:g}),(0,s.jsx)(bm,{isSolo:g})]})});bR.displayName="TasksHubTabs";let bN="title-GKGflc",bA="worktree-ZWzuUm",bM="goalExpanded-Fj41JI",bP="titleProvider-XjuzoW",bj="task-XXW04O",bL="tabActive-hhvu8I",bD="file-XD7ftr",bO="message-Vx8y6F",bF="review-XdcHO6",bU="terminal-Ye4Wz5",bV="workflow-wJQKqk",bB="goal-ZD5Evh",bz="titleContent-hRWEym",bW="titleText-lC4G23",bH="titleTextNum-hcEkQs",bG="titleTextLabel-Wr6vI_",bZ="titleTextAlert-IcDsbN",bK="action-wI2NTb",bX="actionButton-lsRIsg",bY="actionCancelIcon-NtwYYA",bJ="workflowTitleIcon-a7HRj_",b$="workflowPhase-QXWPts",bq="workflowElapsed-RrgDrs",bQ="workflowProgress-uDYzSH",b0="workflowProgressFill-C7ifkG",b1="link-p44kQQ",b2="collapseIcon-gCJUM4",b3="scrollTextContainer-amh7b6",b4="scrollTextWrapper-RL6rjU",b5="scrollTextCurrent-U7Ykdw",b9="animating-dZfwVU",b6="scrollTextNext-JjivvM",b8="reviewBranchInfo-PUvQUP",b7="reviewSourceBranch-hzWDbo",Se="reviewTargetBranch-P4i_Vf",St="reviewMergingTag-fCG0KL",Si="reviewConflictTag-A8i2ip",Sr="reviewBranchIcon-QB5drI",Ss="reviewArrow-YZvkt5",Sn="reviewActions-lmnWbD",Sa="reviewMoreButton-I7lz7W",So="reviewMoreButtonActive-XYa7vG",Sl="reviewingStatusText-X2YZpt",Sc="loadingIcon-DuNuEO",Sd="guidePopoverContent-tLtwKa",Su="guideArrowOverride-Z2PfG_",Sh="guidePopover-AeI8LK",Sp="guideTitle-OY9Fw0",Sm="guideInfoIcon-IHgJle",Sf="guideContent-xyGJKL",Sg="guideFooter-GOJ2Ht",S_="branchDeletedText-yM51s5",Sy=({status:e})=>(0,s.jsx)("span",{className:b2,children:"expanded"===e?(0,s.jsx)(S.ZlX,{}):(0,s.jsx)(S.OKB,{})}),Sv=()=>{let{localize:e}=(0,vR.s)(),{hubStatus:t,expandStatus:i,todoListCount:r,onSwitchExpandStatus:n,isCompact:a,crossSessionFileRefs:o,todoList:l,onAcceptAllFiles:c,onRejectAllFiles:d,onReport:h}=(0,bl.useContextSelector)(bd,e=>({hubStatus:e.hubStatus,expandStatus:e.expandStatus,todoListCount:e.todoListCount,onSwitchExpandStatus:e.onSwitchExpandStatus,isCompact:e.isCompact,crossSessionFileRefs:e.crossSessionFileRefs,todoList:e.todoList,onAcceptAllFiles:e.onAcceptAllFiles,onRejectAllFiles:e.onRejectAllFiles,onReport:e.onReport})),m=()=>{h?.({action:"click_expand",tab:t,expand:"expanded"===i?"collapsed":"expanded"}),n?.()},f=(l||[]).reduce((e,t)=>e+ +((o?.[t.filePath]?.count||0)>0),0),g=[bP,bD,t===bo.Files&&bL].filter(Boolean).join(" "),_=[bz,bD].filter(Boolean).join(" "),y=[bK,bD].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:g,children:[(0,s.jsxs)("div",{className:_,onClick:m,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&m(),children:[(0,s.jsxs)("span",{className:bW,children:[(0,s.jsx)("span",{className:bH,children:r}),(0,s.jsx)("span",{className:bG,children:e("ai.tasksHub.filesHubTitle",{}," files to review")}),f>0&&(0,s.jsx)(u.A,{side:"top",content:e("ai.tasksHub.crossSessionFileAlert",{n:f},`${f} file(s) contain changes from other tasks. Please consider them as a whole during review.`),children:(0,s.jsx)("span",{className:bZ,children:(0,s.jsx)(S.YuY,{style:{color:"var(--status-alert-default)"}})})})]}),(0,s.jsx)(Sy,{status:i})]}),(0,s.jsxs)("div",{className:y,children:[(0,s.jsx)(p.A,{type:"tertiary",size:"small",className:bX,onClick:d,children:a?"\u2715":e("ai.tasksHub.undoAll",{},"Undo All")}),(0,s.jsx)(p.A,{type:"primary",size:"small",className:bX,onClick:c,children:a?"\u2713":e("ai.tasksHub.keepAll",{},"Keep All")})]})]})},Sb=({text:e})=>{let[t,i]=(0,n.useState)(e),[r,a]=(0,n.useState)(""),[o,l]=(0,n.useState)(!1),c=(0,n.useRef)(null),d=(0,n.useRef)(null),u=(0,n.useRef)(null);(0,n.useLayoutEffect)(()=>{if(e!==t){if(c.current){let e=c.current.offsetWidth;c.current.style.width=`${e}px`}if(d.current&&u.current){let e=d.current.offsetWidth;u.current.style.width=`${e}px`}a(e),l(!0);let t=setTimeout(()=>{i(e),l(!1),a(""),c.current&&(c.current.style.width="auto"),u.current&&(u.current.style.width="auto")},300);return()=>clearTimeout(t)}},[e,t]);let h=[b4,o&&b9].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:b3,ref:c,children:(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("div",{className:b5,ref:d,children:t}),(0,s.jsx)("div",{className:b6,ref:u,children:r})]})})},SS=({status:e})=>(0,s.jsx)("span",{className:b2,children:"expanded"===e?(0,s.jsx)(S.ZlX,{}):(0,s.jsx)(S.OKB,{})}),Sk=()=>{let{localize:e}=(0,vR.s)(),{expandStatus:t,completedTasksCount:i,tasksCount:r,allCompleted:a,hubStatus:o,onSwitchHubStatus:l,hasTodoList:c,onSwitchExpandStatus:d,isCounting:h,countDown:p,onCancelTasks:m,onTasksLinkClick:f,onReport:g,showCancelIcon:_}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,tasksCount:e.tasksCount,completedTasksCount:e.completedTasksCount,allCompleted:e.allCompleted,hubStatus:e.hubStatus,onSwitchHubStatus:e.onSwitchHubStatus,onSwitchExpandStatus:e.onSwitchExpandStatus,hasTodoList:e.hasTodoList,isCounting:e.isCounting,countDown:e.countDown,onCancelTasks:e.onCancelTasks,onTasksLinkClick:e.onTasksLinkClick,onReport:e.onReport,showCancelIcon:e.showCancelIcon})),y=e=>{e.stopPropagation(),g?.({action:"click_link",tab:bo.Tasks,expand:"expanded"}),f?f():(l?.(bo.Files),d?.("expanded"))},v=()=>{g?.({action:"click_expand",tab:o,expand:"expanded"===t?"collapsed":"expanded"}),d?.()},b=()=>{m?.()},k=(0,n.useMemo)(()=>a?c?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(S.MOf,{style:{color:"var(--status-success-default)"}}),(0,s.jsx)("span",{className:bW,children:e("ai.tasksHub.tasksHubTitle.completed",{},"Mission Completed and")}),(0,s.jsx)("span",{className:b1,onClick:y,children:e("ai.tasksHub.tasksHubTitle.completed_link",{},"Files Need Review")})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(S.MOf,{style:{color:"var(--status-success-default)"}}),(0,s.jsx)("span",{className:bW,children:e("ai.tasksHub.tasksHubTitle.completed_no_file",{},"Mission Completed!")})]}):(0,s.jsxs)("span",{className:bW,children:[(0,s.jsx)("div",{className:bH,children:(0,s.jsx)(Sb,{text:`${i}/${r}`})}),(0,s.jsx)("span",{children:e("ai.tasksHub.tasksHubTitle",{}," tasks Completed")})]}),[a,c,r,i,e,y]),x=[bP,bj,o===bo.Tasks&&bL].filter(Boolean).join(" "),C=[bz,bj].filter(Boolean).join(" "),w=[bK,bj].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:x,children:[(0,s.jsxs)("div",{className:C,onClick:v,children:[k,(0,s.jsx)(SS,{status:t})]}),(0,s.jsxs)("div",{className:w,children:[h&&(0,s.jsx)("span",{children:p}),_&&(0,s.jsx)(u.A,{side:"bottom",content:e("ai.tasksHub.tasksHubCancel",{},"Check All"),children:(0,s.jsx)("div",{className:bY,onClick:b,children:(0,s.jsx)(S.iWP,{})})})]})]})},Sx=({status:e})=>(0,s.jsx)("span",{className:b2,children:"expanded"===e?(0,s.jsx)(S.ZlX,{}):(0,s.jsx)(S.OKB,{})}),SC=()=>{let{localize:e}=(0,vR.s)(),{expandStatus:t,hubStatus:i,onSwitchExpandStatus:r,onReport:n}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,hubStatus:e.hubStatus,onSwitchExpandStatus:e.onSwitchExpandStatus,onReport:e.onReport})),a=()=>{n?.({action:"click_expand",tab:i,expand:"expanded"===t?"collapsed":"expanded"}),r?.()},o=[bP,bO,i===bo.Messages&&bL].filter(Boolean).join(" "),l=[bz,bO].filter(Boolean).join(" ");return(0,s.jsx)("div",{className:o,children:(0,s.jsxs)("div",{className:l,onClick:a,children:[e("ai.tasksHub.messagesHubTitle",{},"Waiting to send..."),(0,s.jsx)(Sx,{status:t})]})})};var Sw=i(5866),SE=i(22659),ST=i.n(SE),SI=i(24415),SR=i(3540),SN=i(56398),SA=i(71613);let SM=function(e,t){SA.A&&!(0,SN.Tn)(e)&&console.error("useDebounceFn expected parameter is a function, got ".concat(typeof e));var i,r=(0,SI.A)(e),s=null!=(i=null==t?void 0:t.wait)?i:1e3,a=(0,n.useMemo)(function(){return ST()(function(){for(var e=[],t=0;t{},focusableKeys:[],onClose:()=>{},scrollPolicy:"auto",onPreviewChange:void 0,previewPlacement:void 0,popupContainerRef:void 0,portalContainer:void 0},SL=(0,n.createContext)(Sj);function SD(){return(0,n.useContext)(SL)}function SO({highlightedKey:e,setHighlightedKey:t,focusableKeys:i,onClose:r,scrollPolicy:a,onPreviewChange:o,previewPlacement:l,popupContainerRef:c,portalContainer:d,children:u}){let h=n.default.useMemo(()=>({highlightedKey:e,setHighlightedKey:t,focusableKeys:i,onClose:r,scrollPolicy:a,onPreviewChange:o,previewPlacement:l,popupContainerRef:c,portalContainer:d}),[e,t,i,r,a,o,l,c,d]);return(0,s.jsx)(SL.Provider,{value:h,children:u})}var SF=i(8674),SU=i(92973);function SV(e,t="right",i=160){let r,s=8,n=window.innerWidth,a=e.left,o=n-e.right;return{left:"left"==(r="left"===t?a>=i+s?"left":"right":o>=i+s?"right":"left")?e.left-i-s:e.right+s,actualPlacement:r}}function SB(e,t){return e.top+e.height/2-t/2}function Sz(e,t){return t?({"left-top":SU.A.popupMenuTooltipArrowLeftTop,"left-center":SU.A.popupMenuTooltipArrowLeftCenter,"left-bottom":SU.A.popupMenuTooltipArrowLeftBottom,"right-top":SU.A.popupMenuTooltipArrowRightTop,"right-center":SU.A.popupMenuTooltipArrowRightCenter,"right-bottom":SU.A.popupMenuTooltipArrowRightBottom,"top-left":SU.A.popupMenuTooltipArrowLeftTop,"top-center":SU.A.popupMenuTooltipArrowLeftCenter,"top-right":SU.A.popupMenuTooltipArrowLeftBottom,"bottom-left":SU.A.popupMenuTooltipArrowRightTop,"bottom-center":SU.A.popupMenuTooltipArrowRightCenter,"bottom-right":SU.A.popupMenuTooltipArrowRightBottom})[t]||"":"right"===e?SU.A.popupMenuTooltipArrowLeftCenter:SU.A.popupMenuTooltipArrowRightCenter}let SW=(0,n.memo)(function({visible:e,tooltip:t,anchorRect:i,popupRect:r,portalContainer:o}){let{render:l,placement:c="right",arrowPosition:d,width:u=160}=t,h=(0,n.useRef)(null),[p,m]=(0,n.useState)(0),f=SV(r,c,u);(0,n.useLayoutEffect)(()=>{if(e&&h.current){let e=h.current.offsetHeight;e!==p&&m(e)}},[e,p]);let g=(0,n.useCallback)(()=>p>0?SB(i,p):i.top,[i,p]);if(!e)return null;let _=o??document.body,y={position:"fixed",left:f.left,top:g(),width:u,zIndex:(0,uS.fl)("--z-popover"),visibility:p>0?"visible":"hidden"},v=Sz(f.actualPlacement,d),b=[SU.A.popupMenuTooltip,"left"===f.actualPlacement?SU.A.popupMenuTooltipLeft:SU.A.popupMenuTooltipRight].filter(Boolean).join(" "),S=(0,s.jsx)("div",{ref:h,className:b,style:y,children:(0,s.jsxs)("div",{className:SU.A.popupMenuTooltipContent,children:[l(),(0,s.jsxs)("div",{className:`${SU.A.popupMenuTooltipArrow} ${v}`,children:[(0,s.jsx)("svg",{className:SU.A.popupMenuTooltipArrowBody,width:"6",height:"12",viewBox:"0 0 6 12",fill:"none",children:(0,s.jsx)("path",{d:"M0 0L6 6L0 12V0Z",fill:"currentColor"})}),(0,s.jsx)("svg",{className:SU.A.popupMenuTooltipArrowBorder,width:"6",height:"12",viewBox:"0 0 6 12",fill:"none",children:(0,s.jsx)("path",{d:"M0 0L6 6L0 12",stroke:"currentColor",strokeWidth:"1",fill:"none"})})]})]})});return(0,a.createPortal)(S,_)}),SH=(0,n.memo)(function({item:e,isHighlighted:t,onClick:i,onMouseEnter:r,onMouseLeave:a}){let{scrollPolicy:o,onPreviewChange:l,previewPlacement:c,popupContainerRef:d,portalContainer:u}=SD(),h=(0,n.useRef)(null),[p,m]=(0,n.useState)(!1),{title:f,subtitle:g,badgeText:_,icon:y,rightSlot:v,disabled:b,hidden:S,highlightText:k,ariaLabel:x,dataId:C,preview:w,tooltip:E}=e;(0,n.useEffect)(()=>{if(!l||!t||!w||!1===w.enabled)return;let e=h.current,i=d?.current;if(!e||!i)return;let r=e.getBoundingClientRect(),s=i.getBoundingClientRect(),n=(0,SF.Tn)(r,s,w.placement??c??"auto"),a={type:w.type,data:w.data,containerRect:n,visible:!0,placement:w.placement??c};if(w.delay&&w.delay>0){let e=setTimeout(()=>{l(a)},w.delay);return()=>{clearTimeout(e)}}return l(a),()=>{l(null)}},[t,w,l,c,d]),(0,n.useEffect)(()=>{if(t&&h.current&&"none"!==o){let e="center"===o?"center":"nearest";h.current.scrollIntoView({block:e,inline:"nearest",behavior:"smooth"})}},[t,o]),(0,n.useEffect)(()=>{if(!E||!1===E.enabled||!t)return void m(!1);let e=E.delay??300;if(e>0){let t=setTimeout(()=>{m(!0)},e);return()=>{clearTimeout(t),m(!1)}}return m(!0),()=>{m(!1)}},[t,E]);let T=(0,n.useMemo)(()=>p&&h.current&&d?.current?{anchorRect:h.current.getBoundingClientRect(),popupRect:d.current.getBoundingClientRect()}:null,[p,d]),I=(0,n.useRef)(i);I.current=i;let R=(0,n.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),b||I.current()},[b]),N=(0,n.useCallback)(()=>{r(),b||e.onPreview?.()},[b,r,e]),A=(0,n.useCallback)(()=>{a?.()},[a]);if(S)return null;let M=k?(0,s.jsx)("span",{dangerouslySetInnerHTML:{__html:(0,SF.g)(f,k)}}):f,P=!!g,j=[SU.A.popupMenuItem,t?SU.A.popupMenuItemHighlighted:"",b?SU.A.popupMenuItemDisabled:"",P?SU.A.popupMenuItemWithSubtitle:""].filter(Boolean).join(" "),L=[SU.A.popupMenuItemContent,P?SU.A.popupMenuItemContentWithSubtitle:""].filter(Boolean).join(" ");return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{ref:h,className:j,role:"option","aria-selected":t,"aria-disabled":b,"aria-label":x??f,"data-id":C,"data-key":e.key,onMouseDown:R,onMouseEnter:N,onMouseLeave:A,children:(0,s.jsxs)("div",{className:SU.A.popupMenuItemInner,children:[y&&(0,s.jsx)("span",{className:SU.A.popupMenuItemIcon,children:y()}),(0,s.jsxs)("div",{className:L,children:[_?(0,s.jsxs)("div",{className:SU.A.popupMenuItemTitleRow,children:[(0,s.jsx)("span",{className:SU.A.popupMenuItemTitle,children:M}),(0,s.jsx)("span",{className:SU.A.popupMenuItemBadge,children:_})]}):(0,s.jsx)("span",{className:SU.A.popupMenuItemTitle,children:M}),g&&(0,s.jsx)("span",{className:SU.A.popupMenuItemSubtitle,children:g})]}),v&&(0,s.jsx)("span",{className:SU.A.popupMenuItemRightSlot,children:v()})]})}),E&&T&&(0,s.jsx)(SW,{visible:p,tooltip:E,anchorRect:T.anchorRect,popupRect:T.popupRect,portalContainer:u})]})});var SG=i(81934),SZ=i(75474);let SK=(0,n.memo)(function({group:e,highlightedKey:t,onHighlightChange:i,onSelect:r,hoverPolicy:a="sticky"}){let{title:o,collapsible:l,defaultCollapsed:c,items:d,emptyState:u}=e,[h,p]=(0,n.useState)(!!l&&(c??!1)),m=(0,n.useCallback)(()=>{l&&p(e=>!e)},[l]),f=(0,n.useCallback)(e=>{r(e)},[r]),g=(0,n.useCallback)(e=>{i(e)},[i]),_=(0,n.useCallback)(()=>{"track"===a&&i(null)},[a,i]),y=(0,n.useCallback)(e=>(0,SF.l0)(e)?e.hidden?null:(0,s.jsx)(SH,{item:e,isHighlighted:t===e.key,onClick:()=>f(e.key),onMouseEnter:()=>g(e.key),onMouseLeave:"track"===a?_:void 0},e.key):(0,SF.ul)(e)?(0,s.jsx)(SG.m,{button:e},e.key):(0,SF.Oj)(e)?(0,s.jsx)(SZ.i,{item:e},e.key):null,[t,f,g,a,_]),v=d.filter(e=>!(0,SF.l0)(e)||!e.hidden),b=0===v.length;if(b&&!u)return null;let S=void 0!==o&&""!==o,k=[SU.A.popupMenuGroupHeader,l?SU.A.popupMenuGroupHeaderCollapsible:""].filter(Boolean).join(" "),x=[SU.A.popupMenuGroupCollapseIcon,h?SU.A.popupMenuGroupCollapseIconCollapsed:""].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:SU.A.popupMenuGroup,"data-key":e.key,children:[S&&(0,s.jsxs)("div",{className:k,onClick:m,role:l?"button":void 0,"aria-expanded":l?!h:void 0,children:[(0,s.jsx)("span",{className:SU.A.popupMenuGroupTitle,children:o}),l&&(0,s.jsx)("span",{className:x,children:"\u25BC"})]}),!h&&(0,s.jsx)("div",{className:SU.A.popupMenuGroupContent,children:b&&u?(0,s.jsx)(SZ.i,{item:u}):v.map(y)})]})});function SX(e){let{menu:t,focusableKeys:i,highlightedKey:r,setHighlightedKey:s,visible:a,onClose:o,imeChangeLockRef:l,shouldStopPropagationOnKeyboardEvents:c=!0}=e,d=(0,n.useRef)(void 0);(0,n.useEffect)(()=>{if(r){let e=(0,SF.uj)(t,r);e&&e!==d.current&&(d.current=e,e.onFocus?.())}else d.current=void 0},[r,t]);let u=(0,n.useCallback)(e=>{if(!a||l?.current)return;let{key:n}=e;switch(n){case"ArrowDown":e.preventDefault(),c&&e.stopPropagation(),s((0,SF.rl)(i,r));break;case"ArrowUp":e.preventDefault(),c&&e.stopPropagation(),s((0,SF.Vy)(i,r));break;case"Enter":if(r){e.preventDefault(),c&&e.stopPropagation();let i=(0,SF.uj)(t,r);i&&!i.disabled&&(i.onSelect?.(),i.keepOpen||o())}break;case"Escape":e.preventDefault(),c&&e.stopPropagation(),o()}},[a,l,i,r,s,t,o,c]);(0,n.useEffect)(()=>{if(a)return window.addEventListener("keydown",u,!0),()=>{window.removeEventListener("keydown",u,!0)}},[a,u])}function SY(e){let{containerRef:t,highlightedKey:i,scrollPolicy:r,visible:s}=e,a=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e;if(!s||"none"===r||i===a.current||(a.current=i,!i||!t.current))return;let n=t.current,o=n.querySelector(`[data-key="${i}"]`);if(!o)return;let l=n.getBoundingClientRect(),c=o.getBoundingClientRect(),d=c.topl.bottom;if(d||u){switch(r){case"center":e="center";break;case"nearest":e="nearest";break;default:e=d?"start":"end"}o.scrollIntoView({block:e,inline:"nearest",behavior:"smooth"})}},[s,i,r,t]),(0,n.useEffect)(()=>{s||(a.current=null)},[s])}let SJ=(0,n.memo)(function({menu:e,focusPolicy:t="first",scrollPolicy:i="auto",emptyState:r,loadingState:a,loading:o=!1,onClose:l,onPreviewChange:c,previewPlacement:d,popupContainerRef:u,portalContainer:h,className:p,imeChangeLockRef:m,shouldStopPropagationOnKeyboardEvents:f,hoverPolicy:g="sticky",keyboardNavigation:_=!0}){let y=(0,n.useRef)(null);(0,n.useEffect)(()=>{(0,SF.Sd)(e)},[e]);let v=(0,n.useMemo)(()=>(0,SF.oO)(e),[e]),[b,S]=(0,n.useState)(()=>(0,SF.bB)(v,t));(0,n.useEffect)(()=>{S((0,SF.bB)(v,t))},[v,t]);let k=(0,n.useCallback)(()=>{l?.()},[l]);SX({menu:e,focusableKeys:v,highlightedKey:b,setHighlightedKey:S,visible:_,onClose:k,imeChangeLockRef:m,shouldStopPropagationOnKeyboardEvents:f}),SY({containerRef:y,highlightedKey:b,scrollPolicy:i,visible:!0});let x=(0,n.useCallback)(e=>{S(e)},[]),C=(0,n.useRef)(e);C.current=e;let w=(0,n.useCallback)(e=>{let t=(0,SF.uj)(C.current,e);t&&!t.disabled&&(t.onSelect?.(),t.keepOpen||k())},[k]),E=(0,n.useMemo)(()=>(0,SF.sq)(e),[e]),T=(0,n.useMemo)(()=>(0,SF.hH)(e),[e]),I=(0,n.useRef)(w);I.current=w;let R=(0,n.useCallback)(()=>{"track"===g&&S(null)},[g,S]),N=(0,n.useCallback)(e=>(0,SF.l0)(e)?e.hidden?null:(0,s.jsx)(SH,{item:e,isHighlighted:b===e.key,onClick:()=>I.current(e.key),onMouseEnter:()=>x(e.key),onMouseLeave:"track"===g?R:void 0},e.key):(0,SF.ul)(e)?(0,s.jsx)(SG.m,{button:e},e.key):(0,SF.Oj)(e)?(0,s.jsx)(SZ.i,{item:e},e.key):null,[b,x,g,R]),A=(0,n.useCallback)(e=>(0,s.jsx)(SK,{group:e,highlightedKey:b,onHighlightChange:x,onSelect:w,hoverPolicy:g},e.key),[b,x,w,g]),M=(0,n.useCallback)(e=>(0,s.jsx)("div",{className:SU.A.popupMenuDivider,children:(0,s.jsx)("div",{className:SU.A.popupMenuDividerLine})},e),[]),P=(0,n.useCallback)(e=>{let t=[];return e.forEach((e,i)=>{i>0&&t.push(M(`divider-${i}`)),t.push(A(e))}),t},[A,M]),j=()=>{if(o&&a)return(0,s.jsx)(SZ.i,{item:a});if(T)return r?(0,s.jsx)(SZ.i,{item:r}):null;if(E.some(e=>"__default_group__"!==e.key))return P(E);let e=E[0];return e?e.items.map(N):null};return(0,s.jsx)(SO,{highlightedKey:b,setHighlightedKey:S,focusableKeys:v,onClose:k,scrollPolicy:i,onPreviewChange:c,previewPlacement:d,popupContainerRef:u,portalContainer:h,children:(0,s.jsx)("div",{ref:y,className:`${SU.A.popupMenuContent} ${p??""}`,role:"listbox","aria-expanded":"true",children:j()})})});var S$=i(38171);let Sq=(0,n.memo)(function({visible:e,menu:t,anchor:i,placement:r="auto",offset:o,boundary:l="viewport",focusPolicy:c,scrollPolicy:d,emptyState:u,loadingState:h,loading:p,onClose:m,onPreviewChange:f,previewPlacement:g,portalContainer:_,className:y,style:v,namespace:b,imeChangeLockRef:S,shouldStopPropagationOnKeyboardEvents:k,hoverPolicy:x,keyboardNavigation:C}){let w=(0,n.useRef)(null),E=(0,S$.t)({anchor:i,popupRef:w,placement:r,offset:o,boundary:l,visible:e}),T=(0,n.useCallback)(()=>{m?.()},[m]),I=(0,n.useCallback)(t=>{if(!e)return;let r=t.target;w.current&&w.current.contains(r)||i instanceof HTMLElement&&i.contains(r)||setTimeout(()=>{T()},0)},[e,i,T]);if((0,n.useEffect)(()=>{if(e)return document.addEventListener("mousedown",I,!0),()=>{document.removeEventListener("mousedown",I,!0)}},[e,I]),!e)return null;let R=_??document.body,N={position:"fixed",top:E.top,left:E.left,maxHeight:E.maxHeight,zIndex:(0,uS.fl)("--z-dropdown"),...v},A=b?`${SU.A.popupMenu}--${b}`:"",M="top"===E.placement?SU.A.popupMenuTop:SU.A.popupMenuBottom,P=(0,s.jsx)("div",{ref:w,className:`${SU.A.popupMenu} ${M} ${A} ${y??""}`,style:N,"data-placement":E.placement,children:(0,s.jsx)(SJ,{menu:t,focusPolicy:c,scrollPolicy:d,emptyState:u,loadingState:h,loading:p,onClose:T,onPreviewChange:f,previewPlacement:g,popupContainerRef:w,portalContainer:R,imeChangeLockRef:S,shouldStopPropagationOnKeyboardEvents:k,hoverPolicy:x,keyboardNavigation:C})});return(0,a.createPortal)(P,R)});var SQ=i(1667),S0=i(9368),S1=i(48068);let S2="container-vM2KCp",S3="content-CXfmjQ",S4="icon-FupG21",S5="text-q9WLkN",S9="actions-D5vrxP",S6="arrow-f2mo2E",S8=({onClose:e})=>{let{localize:t}=(0,vR.s)(),i=(0,n.useCallback)(()=>{let t=eo.vN.isCN.get()?"https://github.com/apps/trae-ai-cn/installations/new":"https://github.com/apps/trae-ai/installations/new";window.open(t,"_blank"),e()},[e]);return(0,s.jsxs)("div",{className:S2,children:[(0,s.jsxs)("div",{className:S3,children:[(0,s.jsx)(S.cwm,{className:S4}),(0,s.jsx)("span",{className:S5,children:t("trae-chat-core.repo.no_permission_create_pr",{},"No write access to this repository. Please authorize")})]}),(0,s.jsx)("div",{className:S9,children:(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:i,children:t("trae-chat-core.git.manage_permission",{},"Manage permissions")})}),(0,s.jsxs)("svg",{className:S6,width:"16",height:"8",viewBox:"0 0 16 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,s.jsx)("path",{d:"M0 0H16L8 8L0 0Z",fill:"var(--bg-bg-tooltip, #fff)"}),(0,s.jsx)("path",{d:"M0.5 0L8 7.5L15.5 0",stroke:"var(--border-border-neutral-l2, rgba(77, 107, 153, 0.18))",strokeWidth:"1",fill:"none"})]})]})};var S7=i(1265);let ke=()=>{let{localize:e}=(0,vR.s)(),t=(0,Z.y)(),{sessionId:i,noReviewCondition:r,hubStatus:a,isStreaming:o,popupZIndex:l}=(0,bl.useContextSelector)(bd,e=>({sessionId:e.sessionId,noReviewCondition:e.noReviewCondition,hubStatus:e.hubStatus,isStreaming:e.isStreaming,popupZIndex:e.popupZIndex})),c=ep(i),{sourceBranch:h,targetBranch:m,prSelectedBranch:f,reviewStatus:g,repoUrl:_,prUrl:y}=c||{},{isRepoNotEditable:v,isRepoInitializing:b}=(0,S1.l)(_),k=(0,ec.h1)(ed.B.RepoStore),C=(0,ec.h1)(ed.B.EnvStore),w=(0,ec.h1)(ed.B.SessionStore).sessionById.use(i??""),E=!!w?.worktreeData,T=C.isInternal.use(),I=T?"Codebase":"GitHub",R=(0,n.useCallback)(()=>new Promise(e=>{let t=k.isInit.get(),i=k.isLoading.get();if(!t&&!i)return void e();let r=k.isInit.subscribe(()=>{let t=k.isInit.get(),i=k.isLoading.get();t||i||(r(),s(),e())}),s=k.isLoading.subscribe(()=>{let t=k.isInit.get(),i=k.isLoading.get();t||i||(r(),s(),e())})}),[k]),{setPrSelectedBranch:N,startReview:A,createPR:M,deleteRemoteBranch:P}=eg(i,{onError:(0,n.useCallback)(t=>{(t instanceof Error?t.message:"").includes("No commits")?d.oR.error(e("trae-chat-core.task-hub.review.error.no_commits",{},"PR creation failed: No file changes compared to the target branch")):d.oR.error(e("trae-chat-core.task-hub.review.error.general",{},"\u8BF7\u6C42\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"))},[e])}),[j,L]=(0,n.useState)(!1),[D,O]=(0,n.useState)(!1),[F,U]=(0,n.useState)(!1),[V,B]=(0,n.useState)(!1),z=(0,n.useRef)(null),W="solo-web-github-auto-sync-onboarding-dismissed",[H,G]=(0,n.useState)(()=>!localStorage.getItem(W)),X=(0,n.useCallback)(()=>{G(!1),localStorage.setItem(W,"true")},[]),Y=H&&!!c&&"source_branch_deleted"!==g&&!E,J=a===bo.Review,$="idle"===g,q="reviewing"===g,Q="conflict"===g,ee=!!y,et=e("reviewHub.tooltip.streaming",{},"Please wait until the AI response is complete before proceeding"),ei=(0,n.useCallback)(async()=>{if(L(!1),await v9.lJ.show({title:e("trae-chat-core.task-hub.review.remove_branch.title",{},"Confirm delete remote branch?"),content:e("trae-chat-core.task-hub.review.remove_branch.content",{},"All file changes in the current conversation will be lost after deleting the branch. Are you sure you want to delete the remote branch?"),confirmText:e("trae-chat-core.task-hub.review.remove_branch.confirm",{},"Delete"),cancelText:e("solo-web.common.cancel",{},"Cancel")}))try{await P(),d.oR.success(e("trae-chat-core.task-hub.review.delete_branch.success",{},"Branch deleted successfully"))}catch(t){d.oR.error(e("trae-chat-core.task-hub.review.error.delete_branch",{},"Failed to delete remote branch. Please try again later"))}},[e,P]),er=(0,n.useMemo)(()=>[{type:"item",key:"create_pr",title:e("trae-chat-core.task-hub.review.menu.create_pr",{},"Create PR Manually"),onSelect:async()=>{if(o)return;b&&await R();let e=k.repos.get();if(!T&&_&&!e.some(e=>(0,S7.Ow)(e.url,_))){L(!1),U(!0);return}let r=i?(0,S0.m)({sessionId:i}):{};t.report(K.qu.AiHubIslandClick,{...r,tab:"review",action:"review_and_merge"}),M(f||m),L(!1)}},{type:"item",key:"remove_branch",title:e("trae-chat-core.task-hub.review.menu.remove_branch_v2",{platform:I},"Remove branch from {platform}"),onSelect:ei}],[e,M,t,i,o,b,R,k,_,T,f,m,ei]),{run:es}=SM(async()=>{if(!o&&!D)try{b&&(O(!0),await R());let e=k.repos.get();if(!T&&_&&!e.some(e=>(0,S7.Ow)(e.url,_)))return void B(!0);if("pending_pr"===g||"pending_pr_with_conflict_resolve"===g)await M();else{let e=i?(0,S0.m)({sessionId:i}):{};t.report(K.qu.AiHubIslandClick,{...e,tab:"review",action:ee?"review_and_update_branch":"review_and_create_pr"}),await A()}}finally{O(!1)}},{wait:300,leading:!0,trailing:!1}),en=(0,n.useCallback)(e=>{o||N(e.name)},[N,o]),ea=(0,n.useCallback)(()=>{o||L(e=>!e)},[o]),eo=(0,n.useCallback)(()=>{L(!1)},[]),el=(0,n.useCallback)(()=>{U(!1)},[]),eu=(0,n.useCallback)(()=>{B(!1)},[]),eh=(0,n.useCallback)(()=>{y&&window.open(y,"_blank")},[y]);if(r||!c)return null;let em=[bP,bF,J&&bL].filter(Boolean).join(" ");if("source_branch_deleted"===g)return(0,s.jsx)("div",{className:em,children:(0,s.jsx)("span",{className:S_,children:e("trae-chat-core.task-hub.review.branch_deleted",{},"This branch has been deleted. Your future changes won't be saved.")})});let ef=(0,s.jsxs)("div",{className:Sh,children:[(0,s.jsxs)("div",{className:Sp,children:[(0,s.jsx)(S.Ddh,{className:Sm}),e("trae-chat-core.task-hub.review.guide.title_v2",{platform:I},"Changes Auto-Synced to {platform}")]}),(0,s.jsx)("div",{className:Sf,children:e("trae-chat-core.task-hub.review.guide.content_v2",{platform:I},"Your code changes are automatically pushed to {platform} to keep your files safe. You can delete the newly created branch below.")}),(0,s.jsx)("div",{className:Sg,children:(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:X,children:e("trae-chat-core.task-hub.review.guide.got_it",{},"Got it")})})]});return(0,s.jsxs)("div",{className:em,children:[(0,s.jsxs)("div",{className:b8,children:[(0,s.jsx)("span",{className:b7,children:h}),(0,s.jsx)("span",{className:Ss,children:(0,s.jsx)(S.hIg,{})}),$&&!ee&&_?(0,s.jsx)(SQ.eW,{repoUrl:_,selectedBranch:f||m,filterBranch:h,onBranchSelect:en,popupZIndex:l}):(0,s.jsx)("span",{className:Se,children:f||m})]}),(0,s.jsxs)("div",{className:Sn,children:[$&&!ee&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{content:Y?ef:(0,s.jsx)(S8,{onClose:el}),open:Y||F,onOpenChange:e=>{e||(Y?X():U(!1))},side:"top",align:"center",sideOffset:12,showArrow:Y,disabled:!Y,contentClassName:Y?Sd:void 0,arrowClassName:Y?Su:void 0,children:(0,s.jsx)(u.A,{content:et,disabled:!o,children:(0,s.jsx)(SP.A,{ref:z,icon:(0,s.jsx)(S.PyP,{}),variant:"tertiary",size:"small",className:[Sa,j&&So].filter(Boolean).join(" "),onClick:ea})})}),z.current&&(0,s.jsx)(Sq,{visible:j,menu:er,anchor:z.current,placement:"top",focusPolicy:"none",hoverPolicy:"track",keyboardNavigation:!1,style:{minWidth:220,maxWidth:260,...l?{zIndex:l}:{}},onClose:eo})]}),q&&(0,s.jsx)(ph.A,{loading:!0,showTooltip:!1,text:e("trae-chat-core.task-hub.review.status.reviewing",{},"AI is reviewing changes"),className:Sl,animationDuration:4}),Q&&(0,s.jsx)(ph.A,{loading:!0,showTooltip:!1,text:e("trae-chat-core.task-hub.review.status.conflict",{},"AI is resolving merge conflicts"),className:Sl,animationDuration:4}),$&&!ee&&(0,s.jsx)(x.A,{content:(0,s.jsx)(S8,{onClose:eu}),open:V,onOpenChange:B,side:"top",align:"center",sideOffset:17,showArrow:!1,disabled:!0,children:(0,s.jsx)(u.A,{content:et,disabled:!o,children:(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:es,disabled:D,suffixIcon:D?(0,s.jsx)(S.MLU,{className:Sc}):void 0,children:e("trae-chat-core.task-hub.review.button.idle",{},"AI Create PR")})})}),$&&ee&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x.A,{content:(0,s.jsx)(S8,{onClose:eu}),open:V,onOpenChange:B,side:"top",align:"center",sideOffset:17,showArrow:!1,disabled:!0,children:(0,s.jsx)(u.A,{content:et,disabled:!o,children:(0,s.jsx)(p.A,{type:"link",size:"small",onClick:es,disabled:D,suffixIcon:D?(0,s.jsx)(S.MLU,{className:Sc}):void 0,children:e("trae-chat-core.task-hub.review.button.update_branch",{},"AI Check PR")})})}),(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:eh,children:e("trae-chat-core.task-hub.review.button.view_pr",{},"View PR")})]})]})]})};var kt=i(18419),ki=i(45243);let kr=()=>{let{localize:e}=(0,vR.s)(),t=(0,Z.y)(),[i,r]=(0,n.useState)(!1),[a,o]=(0,n.useState)(!1),[l,c]=(0,n.useState)(!1),d=(0,n.useRef)(null),{sessionId:h,isStreaming:m,popupZIndex:f}=(0,bl.useContextSelector)(bd,e=>({sessionId:e.sessionId,isStreaming:e.isStreaming,popupZIndex:e.popupZIndex})),g=(0,n.useMemo)(()=>lN.XT.tryResolve(ed.F.Worktree),[]),_=(0,ec.h1)(ed.B.SessionStore),y=_.sessionById.use(h??""),v=y?.worktreeData,{startReview:b,startResolveConflicts:k}=eg(h);(0,n.useEffect)(()=>{m&&o(!1)},[m]);let x=(0,n.useCallback)(e=>{h&&v&&!m&&_.core.update(h,{worktreeData:{...v,mergedTargetBranch:e.name}})},[h,v,m,_]),C=(0,n.useCallback)(async()=>{if(!g||!h||m||!await g.ensureWorktreeCommitted(h))return;let e=v?.mergedTargetBranch||v?.mergedSourceBranch||y?.source?.ref||"";await b(e)},[g,h,m,b,v,y]),w=(0,n.useCallback)(async()=>{g&&h&&!m&&await g.ensureWorktreeCommitted(h)&&((await g.mergeWorktree(h)).success?_.core.update(h,{worktreeData:{...v,worktreeStatus:eu.St.Merged}}):o(!0))},[g,h,m,_,v]),E=(0,n.useCallback)(async()=>{if(!g||!h)return!0;let e=y?.mainFolder;if(!e)return!0;let t=v?.mergedTargetBranch||v?.mergedSourceBranch||y?.source?.ref||"",i=await g.getBranchFolder(e,t);return g.checkBeforeMerge(h,i)},[g,h,y,v]),T=(0,n.useCallback)(async()=>{if(!g||!h||m||i)return;r(!0);let e=h?(0,S0.m)({sessionId:h}):{};t.report(K.qu.AiHubIslandClick,{...e,tab:"worktree",action:"ai_merge_click"});try{if(!await E())return;await C()}finally{r(!1)}},[g,h,m,i,C,E,t]),I=(0,n.useCallback)(async()=>{if(!g||!h||m||i)return;let r=h?(0,S0.m)({sessionId:h}):{};t.report(K.qu.AiHubIslandClick,{...r,tab:"worktree",action:"delete_worktree_click"});let s=!0;await v9.lJ.show({title:e("trae-chat-core.task-hub.worktree.confirm.delete_title",{},"Confirm delete worktree?"),content:e("trae-chat-core.task-hub.worktree.confirm.delete_content",{},"After deleting the Worktree, the conversation history and code changes for this task will be preserved. If you continue the conversation, code changes will occur in the current workspace."),footer:n.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"}},n.default.createElement(kt.A,{defaultChecked:!0,onChange:e=>{s=e.target.checked},label:e("trae-chat-core.task-hub.worktree.confirm.keep_branch",{},"Keep Worktree Branch")}),n.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},n.default.createElement(p.A,{type:"secondary",size:"default",onClick:()=>v9.lJ.close(!1)},e("trae-chat-core.task-hub.worktree.confirm.cancel",{},"Cancel")),n.default.createElement(p.A,{type:"error-strong",size:"default",onClick:()=>v9.lJ.close(!0)},e("trae-chat-core.task-hub.worktree.confirm.delete",{},"Delete"))))})&&await g.removeWorktree(h,s)},[g,h,m,i,e,_,v,t]),R=(0,n.useCallback)(()=>{m||i||c(e=>!e)},[m,i]),N=(0,n.useCallback)(async()=>{if(!h||m)return;o(!1);let e=v?.mergedTargetBranch||v?.mergedSourceBranch||y?.source?.ref||"";await k(e)},[h,m,v,y,k]),A=(0,n.useCallback)(()=>{c(!1)},[]),M=(0,n.useMemo)(()=>[{type:"item",key:"manual_merge",title:e("trae-chat-core.task-hub.worktree.menu.manual_merge",{},"Manual Merge"),onSelect:async()=>{if(!g||!h||m||i)return;c(!1),r(!0);let e=h?(0,S0.m)({sessionId:h}):{};t.report(K.qu.AiHubIslandClick,{...e,tab:"worktree",action:"merge_manually_click"});try{if(!await E())return;await w()}finally{r(!1)}}},{type:"item",key:"view_changes",title:e("trae-chat-core.task-hub.worktree.menu.view_changes",{},"View Branch Changes"),onSelect:()=>{if(!g||!h)return;c(!1);let e=v?.mergedTargetBranch||v?.mergedSourceBranch||y?.source?.ref||"";g.openWorktreeMergeDiff(h,e)}},{type:"item",key:"delete_worktree",title:e("trae-chat-core.task-hub.worktree.menu.delete_worktree",{},"Delete Worktree"),onSelect:async()=>{c(!1),await I()}}],[e,g,h,m,i,_,v,y,I,w,E]);if(!v||v.worktreeStatus===eu.St.Deleted)return null;let P=v.worktreeStatus===eu.St.Merged,j=m||i,L=v?.mergedTargetBranch||v?.mergedSourceBranch||y?.source?.ref||"",D=[bP,bA].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:D,children:[(0,s.jsxs)("div",{className:b8,children:[(0,s.jsx)("span",{className:Sr,children:(0,s.jsx)(S.peg,{style:{width:16,height:16}})}),(0,s.jsx)("span",{className:b7,children:v.worktreeBranch}),L&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:Ss,children:(0,s.jsx)(S.hIg,{})}),P||v.mergedTargetBranch?(0,s.jsx)("span",{className:Se,children:L}):(0,s.jsx)(ki.t,{rootPath:y?.mainFolder,selectedBranch:L,filterBranch:v.worktreeBranch,onBranchSelect:x,disabled:j})]}),P&&(0,s.jsx)("span",{className:St,children:e("trae-chat-core.task-hub.worktree.status.merged",{},"Merged")}),a&&!P&&(0,s.jsx)("span",{className:Si,children:e("trae-chat-core.task-hub.worktree.status.conflict",{},"Merge conflict detected")})]}),(0,s.jsxs)("div",{className:Sn,children:[!P&&!a&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{content:e("trae-chat-core.task-hub.worktree.tooltip.streaming",{},"Please wait until the AI response is complete before proceeding"),disabled:!m,children:(0,s.jsx)(SP.A,{ref:d,icon:(0,s.jsx)(S.PyP,{}),variant:"tertiary",size:"small",className:[Sa,l&&So].filter(Boolean).join(" "),onClick:R})}),d.current&&(0,s.jsx)(Sq,{visible:l,menu:M,anchor:d.current,placement:"top",focusPolicy:"none",hoverPolicy:"track",keyboardNavigation:!1,style:{minWidth:180,maxWidth:180,...f?{zIndex:f}:{}},onClose:A}),(0,s.jsx)(u.A,{content:e("trae-chat-core.task-hub.worktree.tooltip.streaming",{},"Please wait until the AI response is complete before proceeding"),disabled:!m,children:(0,s.jsx)(p.A,{type:"primary",size:"small",onClick:T,disabled:j,children:e("trae-chat-core.task-hub.worktree.button.merge",{},"AI Merge")})})]}),!P&&a&&(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:N,disabled:m,children:e("trae-chat-core.task-hub.worktree.button.resolve_conflicts",{},"Resolve with AI")}),P&&(0,s.jsx)(u.A,{content:e("trae-chat-core.task-hub.worktree.tooltip.streaming",{},"Please wait until the AI response is complete before proceeding"),disabled:!m,children:(0,s.jsx)(p.A,{type:"secondary",size:"small",onClick:I,disabled:j,children:e("trae-chat-core.task-hub.worktree.menu.delete_worktree",{},"Delete Worktree")})})]})]})},ks=({status:e})=>(0,s.jsx)("span",{className:b2,children:"expanded"===e?(0,s.jsx)(S.ZlX,{}):(0,s.jsx)(S.OKB,{})}),kn=()=>{let{localize:e}=(0,vR.s)(),{hubStatus:t,expandStatus:i,terminalCommandsCount:r,onSwitchExpandStatus:n,onOpenAllTerminals:a,isCompact:o,onReport:l}=(0,bl.useContextSelector)(bd,e=>({hubStatus:e.hubStatus,expandStatus:e.expandStatus,terminalCommandsCount:e.terminalCommandsCount,onSwitchExpandStatus:e.onSwitchExpandStatus,onOpenAllTerminals:e.onOpenAllTerminals,isCompact:e.isCompact,onReport:e.onReport})),c=()=>{l?.({action:"click_expand",tab:t,expand:"expanded"===i?"collapsed":"expanded"}),n?.()},d=e=>{e.stopPropagation(),l?.({action:"click_link",tab:bo.Terminal,expand:i||"collapsed"}),a?.()};e("trae-chat-core.task-hub.terminal.title",{count:r},`${r} background command(s) running`),e("trae-chat-core.task-hub.terminal.openTerminal",{},"Open Terminal");let u=[bP,bU,t===bo.Terminal&&bL].filter(Boolean).join(" "),h=[bz,bU].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:u,children:[(0,s.jsxs)("div",{className:h,onClick:c,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&c(),children:[(0,s.jsx)("span",{className:bW,children:(0,s.jsx)("span",{className:bG,children:e("trae-chat-core.task-hub.terminal.backgroundCommands",{count:r}," background command(s) running")})}),(0,s.jsx)(ks,{status:i})]}),(0,s.jsx)("div",{className:[bK,bU].filter(Boolean).join(" "),style:{padding:0,marginRight:4},children:(0,s.jsx)(p.A,{type:"tertiary",size:"small",className:bX,onClick:d,style:{padding:0},children:(0,s.jsx)(S.D6g,{})})})]})},ka="goalContent-Z5ooT8",ko="goalHeader-TxxaHa",kl="goalHeaderExpanded-BbGmb6",kc="goalContentExpanded-GZor2J",kd="goalStatusText-CR5NaB",ku="goalStatusTextExpanded-dgBr1O",kh="goalDesc-PwC_5D",kp="goalTooltip-m2aGlj",km="goalTooltipText-dFDv2N",kf="goalActions-Tltowv",kg="actionIcon-tzBppH",k_="actionIconPrimary-VGIIuQ",ky="disabled-a6yLJa",kv="editMask-h9wcp8",kb="editDialog-X6CfSC",kS="editHeader-EOI9hv",kk="editTitle-G1huST",kx="editClose-QnDoyG",kC="editCloseIcon-SxFPFt",kw="editContent-EPNtYe",kE="editTextarea-Tumv4q",kT="editFooter-cTiRIj",kI="editButton-VJ9wdy",kR="deleteConfirm-aJQKCi",kN="deleteConfirmBody-KYJZoA",kA="deleteConfirmHeader-bw2T49",kM="deleteConfirmTitleFrame-JM98h5",kP="deleteConfirmTitleInner-M3VABC",kj="deleteConfirmIconWrap-wYlKDs",kL="deleteConfirmTitleTextFrame-bnj23T",kD="deleteConfirmTitle-ZRSIFI",kO="deleteConfirmContent-IInD7_",kF="deleteConfirmFooter-xUJbE4",kU="deleteConfirmCtas-lShFo4",kV="deleteConfirmButton-tSqIZ6",kB="deleteConfirmButtonPrimary-FbNuQD",kz="deleteConfirmButtonLabel-eTOPp_";var kW=i(86176);let kH=()=>(0,s.jsxs)("svg",{className:kC,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:[(0,s.jsx)("path",{d:"M0 6C0 2.68629 2.68629 0 6 0H18C21.3137 0 24 2.68629 24 6V18C24 21.3137 21.3137 24 18 24H6C2.68629 24 0 21.3137 0 18V6Z",fill:"#737373",fillOpacity:"0.12"}),(0,s.jsx)("path",{d:"M15.1958 7.86177C15.4561 7.6018 15.8779 7.60169 16.1381 7.86177C16.3985 8.12212 16.3985 8.54478 16.1381 8.80513L12.9428 11.9995L16.1381 15.1958C16.3983 15.4561 16.3984 15.8778 16.1381 16.1381C15.8778 16.3984 15.4561 16.3983 15.1958 16.1381L11.9995 12.9428L8.80513 16.1381C8.54478 16.3985 8.12212 16.3985 7.86177 16.1381C7.60169 15.8779 7.6018 15.4561 7.86177 15.1958L11.0571 11.9995L7.86177 8.80513C7.60142 8.54478 7.60142 8.12212 7.86177 7.86177C8.12212 7.60142 8.54478 7.60142 8.80513 7.86177L11.9995 11.0571L15.1958 7.86177Z",fill:"#404040"})]}),kG=({onClick:e})=>(0,s.jsx)("span",{className:[b2,kg].filter(Boolean).join(" "),onClick:e,children:(0,s.jsx)(S.Y7q,{})}),kZ={active:{key:"trae-chat-core.goal.status.active",defaultValue:"Active goal"},paused:{key:"trae-chat-core.goal.status.paused",defaultValue:"Goal paused"},blocked:{key:"trae-chat-core.goal.status.blocked",defaultValue:"Goal blocked"},complete:{key:"trae-chat-core.goal.status.complete",defaultValue:"Goal completed"}},kK=260,kX=244,kY=8,kJ=()=>{let{localize:e}=(0,vR.s)(),{hubStatus:t,expandStatus:i,goalInfo:r,onSwitchExpandStatus:o,onEditGoal:l,onToggleGoalPaused:c,onDeleteGoal:d,onGoalReport:h}=(0,bl.useContextSelector)(bd,e=>({hubStatus:e.hubStatus,expandStatus:e.expandStatus,goalInfo:e.goalInfo,onSwitchExpandStatus:e.onSwitchExpandStatus,onEditGoal:e.onEditGoal,onToggleGoalPaused:e.onToggleGoalPaused,onDeleteGoal:e.onDeleteGoal,onGoalReport:e.onGoalReport})),[p,m]=(0,n.useState)(!1),[f,g]=(0,n.useState)(""),[_,y]=(0,n.useState)(!1),[v,b]=(0,n.useState)(!1),[k,x]=(0,n.useState)(void 0),C=(0,n.useRef)(null),w=(0,n.useRef)(null),E=r?.status||"active",T=r?.objective||"",I=(0,kW.gG)(T),R=I?(0,s.jsx)("span",{className:km,children:I}):null,N=t===bo.Goal&&"expanded"===i,A="complete"===E;(0,n.useEffect)(()=>{p&&g(I)},[p,I]),(0,n.useEffect)(()=>{if(!v)return;let e=e=>{let t=e.target;w.current?.contains(t)||C.current?.contains(t)||b(!1)},t=e=>{"Escape"===e.key&&b(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[v]);let M=()=>{o?.()},P=e=>{e.stopPropagation(),o?.()},j=f.trim().length>0,L=async e=>{if(!_){y(!0);try{await e()}finally{y(!1)}}},D=e=>{e.stopPropagation(),h?.("edit"),m(!0)},O=e=>{e.stopPropagation(),h?.("active"===E?"pause":"resume"),L(async()=>{await c?.()})},F=e=>{e.stopPropagation(),h?.("delete");let t=e.currentTarget.getBoundingClientRect(),i=t.left+t.width/2,r=Math.max(kY,window.innerWidth-kK-kY),s=Math.min(Math.max(kY,i-kX),r);x({left:s,bottom:window.innerHeight-t.top+kY,arrowLeft:Math.min(Math.max(12,i-s-6),kK-12)}),b(!0)},U=()=>{h?.("delete_confirm"),b(!1),L(async()=>{await d?.()})},V=()=>{let e=f.trim();e&&j&&L(async()=>{await l?.(e),m(!1)})},B=kZ[E]||kZ.active,z=e(B.key,{},B.defaultValue),W=[bP,bB,t===bo.Goal&&bL,N&&bM].filter(Boolean).join(" "),H=p?(0,a.createPortal)((0,s.jsx)("div",{className:kv,onClick:()=>m(!1),children:(0,s.jsxs)("div",{className:kb,onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:kS,children:[(0,s.jsx)("div",{className:kk,children:e("trae-chat-core.goal.edit.title",{},"Edit goal")}),(0,s.jsx)("button",{type:"button",className:kx,"aria-label":e("trae-chat-core.goal.edit.close",{},"Close"),onClick:()=>m(!1),children:(0,s.jsx)(kH,{})})]}),(0,s.jsx)("div",{className:kw,children:(0,s.jsx)("textarea",{className:[kE,"custom-scrollbar"].filter(Boolean).join(" "),value:f,autoFocus:!0,maxLength:4e3,placeholder:e("trae-chat-core.goal.edit.placeholder",{},"Enter the goal you want to keep working on"),onChange:e=>g(e.target.value)})}),(0,s.jsx)("div",{className:kT,children:(0,s.jsx)("button",{type:"button",className:[kI,(!j||_)&&ky].filter(Boolean).join(" "),disabled:!j||_,onClick:V,children:e("trae-chat-core.goal.edit.save",{},"Confirm")})})]})}),document.body):null,G=k?{left:k.left,bottom:k.bottom,"--delete-confirm-arrow-left":`${k.arrowLeft}px`}:void 0,Z=v&&k?(0,a.createPortal)((0,s.jsx)("div",{ref:w,className:kR,style:G,onClick:e=>e.stopPropagation(),children:(0,s.jsxs)("div",{className:kN,children:[(0,s.jsxs)("div",{className:kA,children:[(0,s.jsx)("div",{className:kM,children:(0,s.jsxs)("div",{className:kP,children:[(0,s.jsx)("div",{className:kj,children:(0,s.jsx)(S.cwm,{})}),(0,s.jsx)("div",{className:kL,children:(0,s.jsx)("div",{className:kD,children:e("trae-chat-core.goal.deleteConfirm.title",{},"Delete goal?")})})]})}),(0,s.jsx)("div",{className:kO,children:e("trae-chat-core.goal.deleteConfirm.content",{},"Deleting it will stop the current task. Please confirm.")})]}),(0,s.jsx)("div",{className:kF,children:(0,s.jsxs)("div",{className:kU,children:[(0,s.jsx)("button",{type:"button",className:kV,onClick:()=>b(!1),children:(0,s.jsx)("span",{className:kz,children:e("trae-chat-core.goal.deleteConfirm.cancel",{},"Cancel")})}),(0,s.jsx)("button",{type:"button",className:[kV,kB,_&&ky].filter(Boolean).join(" "),disabled:_,onClick:U,children:(0,s.jsx)("span",{className:kz,children:e("trae-chat-core.goal.deleteConfirm.confirm",{},"Confirm")})})]})})]})}),document.body):null;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:W,children:(0,s.jsxs)("div",{className:[ko,N&&kl].filter(Boolean).join(" "),children:[(0,s.jsxs)("div",{className:[bz,ka,N&&kc].filter(Boolean).join(" "),onClick:M,children:[(0,s.jsx)("span",{className:[kd,N&&ku].filter(Boolean).join(" "),children:z}),!N&&I&&(0,s.jsx)(u.A,{content:R,side:"top",align:"left",maxWidth:"min(520px, calc(100vw - 32px))",maxHeight:"min(280px, calc(100vh - 96px))",contentClassName:kp,children:(0,s.jsx)("span",{className:kh,children:I})})]}),(0,s.jsxs)("div",{className:[bK,kf].filter(Boolean).join(" "),children:[!A&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{content:e("trae-chat-core.goal.tooltip.edit",{},"Edit goal"),side:"bottom",children:(0,s.jsx)("button",{type:"button",className:[kg,k_,_&&ky].filter(Boolean).join(" "),onClick:D,children:(0,s.jsx)(S.GI1,{})})}),(0,s.jsx)(u.A,{content:"active"===E?e("trae-chat-core.goal.tooltip.pause",{},"Pause goal"):e("trae-chat-core.goal.tooltip.resume",{},"Resume goal"),side:"bottom",children:(0,s.jsx)("button",{type:"button",className:[kg,_&&ky].filter(Boolean).join(" "),onClick:O,children:"active"===E?(0,s.jsx)(S._Zj,{}):(0,s.jsx)(S.yPH,{})})})]}),(0,s.jsx)(u.A,{content:e("trae-chat-core.goal.tooltip.delete",{},"Delete goal"),side:"bottom",children:(0,s.jsx)("button",{ref:C,type:"button",className:[kg,_&&ky].filter(Boolean).join(" "),onClick:F,children:(0,s.jsx)(S.xV8,{})})}),(0,s.jsx)(kG,{onClick:P})]})]})}),H,Z]})},k$=({status:e})=>(0,s.jsx)("span",{className:b2,children:"expanded"===e?(0,s.jsx)(S.ZlX,{}):(0,s.jsx)(S.OKB,{})});function kq(e){let[,t]=(0,n.useState)(0);(0,n.useEffect)(()=>{let e=window.setInterval(()=>t(e=>e+1),1e3);return()=>window.clearInterval(e)},[]);let i=Math.max(0,Math.floor((Date.now()-(e||Date.now()))/1e3)),r=Math.floor(i/60),s=i%60;return`${String(r).padStart(2,"0")}:${String(s).padStart(2,"0")}`}function kQ(e){let t=e?.name||"Workflow";return(t.split("/").pop()||t).replace(/\.(ts|js|yaml|yml)$/,"")||"Workflow"}let k0=({entry:e})=>{if(!e?.currentPhase||!e.totalPhases||e.totalPhases<=0)return null;let t=Math.min(e.currentPhase/e.totalPhases*100,100);return(0,s.jsx)("span",{className:bQ,children:(0,s.jsx)("span",{className:b0,style:{width:`${t}%`}})})},k1=()=>{let{expandStatus:e,hubStatus:t,workflowEntries:i,workflowEntriesCount:r,isCompact:a,onSwitchExpandStatus:o,onReport:l,localize:c}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,hubStatus:e.hubStatus,workflowEntries:e.workflowEntries||[],workflowEntriesCount:e.workflowEntriesCount,isCompact:e.isCompact,onSwitchExpandStatus:e.onSwitchExpandStatus,onReport:e.onReport,localize:e.localize})),d=i[0],u=kq(d?.startedAt),h=(0,n.useMemo)(()=>kQ(d),[d]),m=d?.currentPhase&&d.totalPhases?`${d.currentPhase}/${d.totalPhases}${d.phaseName?` ${d.phaseName}`:""}`:"",f=t===bo.Workflow,g="expanded"===e,_=g?c?.("trae-chat-core.task-hub.workflow.collapse",{},"Collapse"):c?.("trae-chat-core.task-hub.workflow.expand",{},"Expand"),y=()=>{l?.({action:"click_expand",tab:bo.Workflow,expand:g?"collapsed":"expanded"}),o?.()},v=[bP,bV,f&&bL].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:v,children:[(0,s.jsx)("div",{className:[bz,bV].join(" "),onClick:y,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&y(),children:r>1?(0,s.jsxs)("span",{className:bW,children:[(0,s.jsx)("span",{className:bH,children:r}),(0,s.jsx)("span",{className:bG,children:c?.("trae-chat-core.task-hub.workflow.runningLabel",{},"workflows running")})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:bJ,children:(0,s.jsx)(S.haY,{})}),(0,s.jsx)("span",{className:bG,children:h}),m&&(0,s.jsx)("span",{className:b$,children:m}),(0,s.jsx)(k0,{entry:d}),(0,s.jsx)("span",{className:bq,children:u})]})}),(0,s.jsx)("div",{className:[bK,bV].join(" "),children:(0,s.jsx)(p.A,{size:"small",type:"tertiary",onClick:y,className:bX,children:a?(0,s.jsx)(k$,{status:e}):_})})]})},k2=()=>{let e=(0,n.useRef)(null),{onSetIsCompact:t,hubStatus:i,expandStatus:r}=(0,bl.useContextSelector)(bd,e=>({onSetIsCompact:e.onSetIsCompact,hubStatus:e.hubStatus,expandStatus:e.expandStatus}));(0,n.useEffect)(()=>{let i=e.current;if(!i)return;let r=new ResizeObserver(e=>{for(let i of e){let{width:e}=i.contentRect;t?.(e<328)}});return r.observe(i),()=>{r.disconnect()}},[t]);let a=[bN,i===bo.Goal&&"expanded"===r&&bM].filter(Boolean).join(" ");return(0,s.jsxs)("div",{ref:e,className:a,children:[(0,s.jsx)(Sk,{}),(0,s.jsx)(Sv,{}),(0,s.jsx)(SC,{}),(0,s.jsx)(ke,{}),(0,s.jsx)(kr,{}),(0,s.jsx)(kn,{}),(0,s.jsx)(k1,{}),(0,s.jsx)(kJ,{})]})},k3=()=>{let{expandStatus:e,hubStatus:t,goalInfo:i,taskTabStatus:r,fileTabStatus:n,messageTabStatus:a,terminalTabStatus:o,workflowTabStatus:l,goalTabStatus:c,noReviewCondition:d}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,hubStatus:e.hubStatus,goalInfo:e.goalInfo,taskTabStatus:e.taskTabStatus,fileTabStatus:e.fileTabStatus,messageTabStatus:e.messageTabStatus,terminalTabStatus:e.terminalTabStatus,workflowTabStatus:e.workflowTabStatus,goalTabStatus:e.goalTabStatus,noReviewCondition:e.noReviewCondition})),u=["disable"!==r,"disable"!==n,"disable"!==a,!d,"disable"!==o,"disable"!==l,"disable"!==c].filter(Boolean).length,h=t===bo.Goal&&"expanded"===e,p=(0,kW.gG)(i?.objective),m=[bu.hub,"expanded"===e&&bu.expand,h&&bu.goalExpanded].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:m,children:[(0,s.jsx)(bR,{}),u>1&&(0,s.jsx)("div",{className:bu.separator}),(0,s.jsx)(k2,{}),h&&p&&(0,s.jsx)("div",{className:bu.goalExpandedContent,children:p})]})},k4="tasksHub-LQ7Qg6",k5="tasksHubInner-aXqxaM",k9="tasksHubPlaceholder-IyF_Lq",k6="expanded-XvKPk3",k8="goalExpanded-fdzFl_",k7="dark-nlsRtU",xe="expand-iZtVja",xt="collapse-jBOxnq",xi="expandContainer-DMjALq",xr="expandContainerInner-dRNB4s",xs="task-vOi_EP",xn="file-YZs6w5",xa="tabActive-eVHNTw",xo="message-YNuX54",xl="terminal-dfd0jI",xc="workflow-OH4bUr",xd="fileItem-qEpxeX",xu="fileItemLeft-f3B0yX",xh="fileItemRight-A368j4",xp="fileItemIcon-wdeoca",xm="fileItemName-hAFAjQ",xf="fileItemPath-cFHuN0",xg="fileItemAddDiff-GT5Wyw",x_="fileItemDeleteDiff-TM4Zxl",xy="fileItemCrossIcon-B_Kdcj",xv="fileItemArrow-WXGb6r",xb="shadowBottom-hPzB1U",xS="shadowTop-IPvQ0D",xk="taskIcon-HRkkq9",xx="in_progress-qpXTIN",xC="inProgress-tbpXfL",xw="completed-TJZVaD",xE="pending-Gmn6q7",xT="loadingIcon-Ysj0lm",xI="workflowItem-dh8wgg",xR="workflowItemIcon-e_4wbn",xN="workflowItemName-uXcAkr",xA="workflowItemPhase-nAsB79",xM="workflowItemElapsed-eDPzef",xP="workflowItemProgress-_NqFuv",xj="workflowItemProgressFill-tpAQw_",xL="workflowItemStopBtn-JnGUlO",xD="workflowItemLoading-Kf3s3Q",xO="taskItem-GhFwxh",xF="pendingMessageList-zfrY1O",xU="pendingMessageItem-a4xoE7",xV="pendingMessageItemDragging-NAKzJe",xB="pendingMessageItemActions-masm08",xz="pendingMessageItemDragHandle-upaqIG",xW="pendingMessageItemIcon-X0igde",xH="errorIcon-TBQuAu",xG="successIcon-vaV5wA",xZ="pendingMessageItemImages-mbGg0o",xK="pendingMessageItemContent-fNRq58",xX="pendingMessageContentText-OWvWkQ",xY="emptyMessage-cORG1m",xJ="pendingMessageItemActionButton-VRtf7k",x$="terminalItem-eNT1yb",xq="terminalItemStopBtn-OHuw4Z",xQ="terminalItemLoading-bqZ9Cf",x0="terminalItemIcon-_QpjDu",x1="terminalItemName-gMO3c9",x2=5,x3=e=>{let[t,i]=(0,n.useState)(!1),[r,s]=(0,n.useState)(!1),a=!t,o=!r;return(0,n.useEffect)(()=>{let t=()=>{if(e?.current){let{scrollTop:t,scrollHeight:r,clientHeight:n}=e.current,a=r-t-n{r.removeEventListener("scroll",t)}},[e?.current]),{showBottomShadow:a,showTopShadow:o,ref:e}},x4=({status:e})=>{let t=[xk,{[ba.Completed]:xw,[ba.InProgress]:xx,[ba.Pending]:xE}[e]].filter(Boolean).join(" ");return e===ba.Completed?(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.f9I,{})}):e===ba.InProgress?(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.oXd,{})}):(0,s.jsx)("div",{className:t,children:(0,s.jsx)(S.zem,{})})},x5=(0,n.forwardRef)(({content:e,status:t},i)=>{let r=[xO,t===ba.Completed&&xw,t===ba.InProgress&&xC].filter(Boolean).join(" ");return(0,s.jsxs)("div",{ref:i,className:r,children:[(0,s.jsx)(x4,{status:t}),(0,s.jsx)("span",{children:e})]})});x5.displayName="TaskItem";let x9=(0,n.forwardRef)((e,t)=>{let{tasks:i,hubStatus:r}=(0,bl.useContextSelector)(bd,e=>({tasks:e.tasks,hubStatus:e.hubStatus})),{showTopShadow:a,showBottomShadow:o}=x3(t),l=(0,n.useRef)(new Map);(0,n.useEffect)(()=>{i.forEach(e=>{l.current.has(e.id)||l.current.set(e.id,n.default.createRef())})},[i]),(0,n.useEffect)(()=>{let e=t?.current;if(!e)return;let r=i.filter(e=>e.status===ba.InProgress),s=i.filter(e=>e.status===ba.Completed);if(0===r.length&&0===s.length){e.scrollTop=0;return}let n=r.length>0?r[0].id:s[s.length-1].id,a=l.current.get(n)?.current;if(!a)return;let o=Math.max(0,Math.min(a.offsetTop+a.offsetHeight/2-e.clientHeight/2,e.scrollHeight-e.clientHeight));e.scrollTo({top:o,behavior:"smooth"})},[i,t]);let c=[xi,xs,r===bo.Tasks&&xa].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:c,children:[(0,s.jsx)("div",{className:xr,ref:t,children:i.map(e=>(0,s.jsx)(x5,{id:e.id,content:e.content,status:e.status,ref:l.current.get(e.id)},e.id))}),a&&(0,s.jsx)("div",{className:xS}),o&&(0,s.jsx)("div",{className:xb})]})});x9.displayName="ExpandListTasks";let x6=({newCreate:e,filePath:t,relativePath:i,deleteLineCount:r,insertLineCount:a,crossCount:o,crossSessions:c,onFileClick:d})=>{let{localize:h}=(0,vR.s)(),p=(0,n.useMemo)(()=>{let e=t.split(/[/\\]/);return e[e.length-1]||t},[t]),m=i||t,f=()=>{d?.(t)},g=(0,n.useMemo)(()=>(c||[]).map(e=>e.name||e.sessionId).filter(Boolean).join(", "),[c]);return(0,s.jsxs)("div",{onClick:f,className:xd,children:[(0,s.jsxs)("div",{className:xu,children:[(0,s.jsx)("div",{className:xp,children:e?(0,s.jsx)(S.VK0,{style:{color:"var(--status-success-default)"}}):(0,s.jsx)(S.GI1,{style:{color:"var(--status-warning-default)"}})}),(0,s.jsx)(l.jt,{className:xm,tooltipText:p,children:p}),(0,s.jsx)(l.jt,{className:xf,tooltipText:m,children:m})]}),(0,s.jsxs)("div",{className:xh,children:[(0,s.jsxs)("div",{className:xg,children:["+",a]}),(0,s.jsxs)("div",{className:x_,children:["-",r]}),(o??0)>0&&(0,s.jsx)(u.A,{side:"top",content:h("ai.tasksHub.crossFileChanges",{tasknames:g},`Also contains changes from ${g}`),children:(0,s.jsx)("span",{className:xy,children:(0,s.jsx)(S.YuY,{style:{color:"var(--status-alert-default)"}})})}),(0,s.jsx)(S._l8,{className:xv})]})]})},x8=(0,n.forwardRef)((e,t)=>{let{todoList:i,hubStatus:r,crossSessionFileRefs:n,onFileClick:a}=(0,bl.useContextSelector)(bd,e=>({todoList:e.todoList,hubStatus:e.hubStatus,crossSessionFileRefs:e.crossSessionFileRefs,onFileClick:e.onFileClick})),{showTopShadow:o,showBottomShadow:l}=x3(t),c=[xi,xn,r===bo.Files&&xa].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:c,children:[(0,s.jsx)("div",{className:xr,ref:t,children:i.map(e=>(0,s.jsx)(x6,{newCreate:e.newCreate,filePath:e.filePath,relativePath:e.relativePath,deleteLineCount:e.deleteLineCount,insertLineCount:e.insertLineCount,crossCount:n[e.filePath]?.count,crossSessions:n[e.filePath]?.sessions,onFileClick:a},`${e.filePath}`))}),o&&(0,s.jsx)("div",{className:xS}),l&&(0,s.jsx)("div",{className:xb})]})});x8.displayName="ExpandListFiles";let x7=({command:e,onKill:t,onOpenTerminal:i})=>{let{localize:r}=(0,vR.s)(),{expandStatus:a,onReport:o}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,onReport:e.onReport})),l=(0,n.useRef)(null),[c,d]=(0,n.useState)(!1),h=(0,n.useCallback)(()=>{let e=l.current;e&&d(e.scrollWidth>e.clientWidth)},[]),p=e=>{e.target.closest("[data-stop-btn]")||(o?.({action:"click_link",tab:bo.Terminal,expand:a||"collapsed"}),i())},m=e=>{e.stopPropagation(),o?.({action:"stop",tab:bo.Terminal,expand:a||"collapsed"}),t()},f=e.commandText.length>100?`${e.commandText.slice(0,100)}...`:e.commandText;return(0,s.jsxs)("div",{className:x$,onClick:p,children:[(0,s.jsx)("span",{className:x0,children:(0,s.jsx)(S.yWD,{})}),(0,s.jsx)(u.A,{side:"top",content:f,disabled:!c,children:(0,s.jsx)("span",{ref:l,className:x1,onMouseEnter:h,children:e.commandText})}),(0,s.jsx)(u.A,{side:"top",content:r("trae-chat-core.task-hub.terminal.stop",{},"Stop"),children:(0,s.jsx)("button",{"data-stop-btn":!0,className:xq,onClick:m,children:(0,s.jsx)(S.gzW,{})})}),(0,s.jsx)("span",{className:xQ,children:(0,s.jsx)(S.MLU,{})})]})},Ce=(0,n.forwardRef)((e,t)=>{let{terminalCommands:i,hubStatus:r,onKillTerminalCommand:a,onOpenTerminal:o}=(0,bl.useContextSelector)(bd,e=>({terminalCommands:e.terminalCommands,hubStatus:e.hubStatus,onKillTerminalCommand:e.onKillTerminalCommand,onOpenTerminal:e.onOpenTerminal})),l=(0,n.useRef)(null),{showTopShadow:c,showBottomShadow:d}=x3(l),u=[xi,xl,r===bo.Terminal&&xa].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:u,ref:t,children:[(0,s.jsx)("div",{className:xr,ref:l,children:i.map(e=>(0,s.jsx)(x7,{command:e,onKill:()=>a?.(e.commandId),onOpenTerminal:()=>o?.(e.commandId)},e.commandId))}),c&&(0,s.jsx)("div",{className:xS}),d&&(0,s.jsx)("div",{className:xb})]})});function Ct(e){let t=e.name||"Workflow";return(t.split("/").pop()||t).replace(/\.(ts|js|yaml|yml)$/,"")||"Workflow"}function Ci(e){let[,t]=(0,n.useState)(0);(0,n.useEffect)(()=>{let e=window.setInterval(()=>t(e=>e+1),1e3);return()=>window.clearInterval(e)},[]);let i=Math.max(0,Math.floor((Date.now()-e)/1e3)),r=Math.floor(i/60),s=i%60;return`${String(r).padStart(2,"0")}:${String(s).padStart(2,"0")}`}Ce.displayName="ExpandListTerminal";let Cr=({entry:e})=>{let t=Ci(e.startedAt),{expandStatus:i,onReport:r,onStopWorkflow:a,onOpenWorkflowDetails:o,localize:l}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,onReport:e.onReport,onStopWorkflow:e.onStopWorkflow,onOpenWorkflowDetails:e.onOpenWorkflowDetails,localize:e.localize})),c=(0,n.useMemo)(()=>Ct(e),[e]),d=e.currentPhase&&e.totalPhases?`${e.currentPhase}/${e.totalPhases}${e.phaseName?` ${e.phaseName}`:""}`:"",h=e.currentPhase&&e.totalPhases&&e.totalPhases>0?Math.min(e.currentPhase/e.totalPhases*100,100):0,p=t=>{t.target.closest("[data-stop-workflow]")||(r?.({action:"click_link",tab:bo.Workflow,expand:i||"collapsed"}),o?.(e))},m=t=>{t.stopPropagation(),r?.({action:"stop",tab:bo.Workflow,expand:i||"collapsed"}),a?.(e)};return(0,s.jsxs)("div",{className:xI,onClick:p,children:[(0,s.jsx)("span",{className:xR,children:(0,s.jsx)(S.haY,{})}),(0,s.jsx)("span",{className:xN,children:c}),d&&(0,s.jsx)("span",{className:xA,children:d}),h>0&&(0,s.jsx)("span",{className:xP,children:(0,s.jsx)("span",{className:xj,style:{width:`${h}%`}})}),(0,s.jsx)("span",{className:xM,children:t}),(0,s.jsx)(u.A,{side:"top",content:l?.("trae-chat-core.task-hub.workflow.stop",{},"Stop"),children:(0,s.jsx)("button",{"data-stop-workflow":!0,className:xL,onClick:m,children:(0,s.jsx)(S.gzW,{})})}),(0,s.jsx)("span",{className:xD,children:(0,s.jsx)(S.MLU,{})})]})},Cs=(0,n.forwardRef)((e,t)=>{let{workflowEntries:i,hubStatus:r}=(0,bl.useContextSelector)(bd,e=>({workflowEntries:e.workflowEntries||[],hubStatus:e.hubStatus})),a=n.default.useRef(null),{showTopShadow:o,showBottomShadow:l}=x3(a),c=[xi,xc,r===bo.Workflow&&xa].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:c,ref:t,children:[(0,s.jsx)("div",{className:xr,ref:a,children:i.map(e=>(0,s.jsx)(Cr,{entry:e},e.taskId))}),o&&(0,s.jsx)("div",{className:xS}),l&&(0,s.jsx)("div",{className:xb})]})});Cs.displayName="ExpandListWorkflow";var Cn=i(95896),Ca=i(82113),Co=i(33843),Cl=i(66418);let Cc=(0,n.memo)(function({message:e}){let{localize:t}=(0,vR.s)(),i=(0,n.useMemo)(()=>{let i=e.query;if((0,Ca.cy)(i)){let e=(0,Ca.Pp)(i);if(e.length>0)return e}if(e.content)return(0,s.jsx)("span",{children:e.content});let r=e.multiMedia?.length??0;if(r>0){let i=e.isWorkMode?"ai.tasksHub.pendingMessage.attachmentPlaceholder":"ai.tasksHub.pendingMessage.imagePlaceholder",n=e.isWorkMode?`Using ${r} attachment(s)`:`Using ${r} image(s)`;return(0,s.jsx)("span",{className:xY,children:t(i,{count:r},n)})}return(0,s.jsx)("span",{className:xY,children:t("ai.tasksHub.pendingMessage.emptyMessage",{},"[Message]")})},[e.query,e.content,e.multiMedia,e.isWorkMode,t]);return(0,s.jsx)(Cn.A,{className:xX,showTooltip:!1,children:i})}),Cd=(0,n.memo)(function({message:e,index:t,onDelete:i,sendNowEnabled:r,onEdit:a,onSendNow:o,dragIndex:l,onDragStart:c,onDragOver:d,onDragEnd:h,renderContent:p}){let{localize:m}=(0,vR.s)(),f=(0,n.useCallback)(()=>{i(e.userMessageId)},[e.userMessageId,i]),g=(0,n.useCallback)(()=>{a?.(e.userMessageId)},[e.userMessageId,a]),_=(0,n.useCallback)(()=>{o?.(e.userMessageId)},[e.userMessageId,o]),y=[xU,l===t&&xV].filter(Boolean).join(" ");return(0,s.jsxs)("div",{className:y,onDragOver:e=>d(e,t),onDragEnd:h,children:[r&&(0,s.jsx)("div",{className:xz,draggable:!0,onDragStart:e=>c(e,t),"aria-label":m("ai.tasksHub.messages.dragToReorder",{},"Drag to reorder")}),(0,s.jsxs)("div",{className:xW,children:["error"===e.interjectStatus&&(0,s.jsx)(S.goM,{className:xH}),"loading"===e.interjectStatus&&(0,s.jsx)(S.MLU,{className:xT}),"success"===e.interjectStatus&&(0,s.jsx)(S.tCG,{className:xG})]}),e.multiMedia?.length?(0,s.jsx)("div",{className:xZ,children:m("ai.tasksHub.pendingMessage.images",{count:e.multiMedia.length},`[${e.multiMedia.length} images]`)}):null,(0,s.jsx)("div",{className:xK,children:p?p(e):(0,s.jsx)(Cc,{message:e})}),(0,s.jsxs)("div",{className:xB,children:[r&&(0,s.jsx)(u.A,{content:m("ai.tasksHub.messages.edit",{},"Edit"),side:"top",sideOffset:4,children:(0,s.jsx)("button",{type:"button",className:xJ,"aria-label":m("ai.tasksHub.messages.edit",{},"Edit"),onClick:g,children:(0,s.jsx)(S.GI1,{})})}),r&&(0,s.jsx)(u.A,{content:m("ai.tasksHub.messages.sendNow",{},"Send now"),side:"top",sideOffset:4,children:(0,s.jsx)("button",{type:"button",className:xJ,"aria-label":m("ai.tasksHub.messages.sendNow",{},"Send now"),onClick:_,children:(0,s.jsx)(S.UPF,{})})}),(0,s.jsx)(u.A,{content:m("ai.tasksHub.messages.delete",{},"Delete"),side:"top",sideOffset:4,children:(0,s.jsx)("button",{type:"button",className:xJ,"aria-label":m("ai.tasksHub.messages.delete",{},"Delete"),onClick:f,children:"loading"===e.deleteStatus?(0,s.jsx)(S.MLU,{className:xT}):(0,s.jsx)(S.xV8,{})})})]})]})}),Cu=(0,n.forwardRef)((e,t)=>{let{hubStatus:i,pendingMessages:r,onDeletePendingMessage:a,sendNowEnabled:o,onEditPendingMessage:l,onSendNowPendingMessage:c,onReorderPendingMessages:d,renderPendingMessage:u}=(0,bl.useContextSelector)(bd,e=>({hubStatus:e.hubStatus,pendingMessages:e.pendingMessages,onDeletePendingMessage:e.onDeletePendingMessage,sendNowEnabled:e.sendNowEnabled,onEditPendingMessage:e.onEditPendingMessage,onSendNowPendingMessage:e.onSendNowPendingMessage,onReorderPendingMessages:e.onReorderPendingMessages,renderPendingMessage:e.renderPendingMessage})),{showTopShadow:h,showBottomShadow:p}=x3(t),[m,f]=(0,n.useState)(null),g=(0,n.useRef)(null),_=(0,n.useRef)(null),y=(0,Cl.H)(),v=(0,n.useMemo)(()=>lN.XT.tryResolve(ed.F.Mention),[]),b=(0,n.useMemo)(()=>({toolcallPort:y,mentionPort:v}),[y,v]),S=(0,n.useCallback)(e=>{a?.(e)},[a]),k=(0,n.useCallback)((e,t)=>{e.stopPropagation(),f(t),g.current=t;let i=e.currentTarget.closest(`.${xU}`);if(_.current=i,e.dataTransfer.effectAllowed="move",i){let t=i.getBoundingClientRect();e.dataTransfer.setDragImage(i,e.clientX-t.left,e.clientY-t.top)}},[]),x=(0,n.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="move",null!==g.current&&g.current!==t&&(d?.(g.current,t),g.current=t,f(t))},[d]),C=(0,n.useCallback)(()=>{f(null),g.current=null,_.current=null},[]),w=[xi,xo,i===bo.Messages&&xa].filter(Boolean).join(" ");return(0,s.jsx)(Co.Y8,{value:b,children:(0,s.jsxs)("div",{className:w,children:[(0,s.jsx)("div",{className:xr,ref:t,children:(0,s.jsx)("div",{className:xF,onDragEnter:e=>e.stopPropagation(),onDragOver:e=>e.stopPropagation(),onDrop:e=>{e.preventDefault(),e.stopPropagation()},children:r?.map((e,t)=>(0,s.jsx)(Cd,{message:e,index:t,onDelete:S,sendNowEnabled:o,onEdit:l,onSendNow:c,dragIndex:m,onDragStart:k,onDragOver:x,onDragEnd:C,renderContent:u},e.userMessageId||e.agentMessageId))})}),h&&(0,s.jsx)("div",{className:xS}),p&&(0,s.jsx)("div",{className:xb})]})})});Cu.displayName="PendingMessageList";let Ch=(e,t,i,r,s)=>{let{expandStatus:a,hubStatus:o,todoListCount:l,tasksCount:c,messagesCount:d,terminalCount:u,workflowCount:h}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,hubStatus:e.hubStatus,todoListCount:e.todoListCount,tasksCount:e.tasksCount,messagesCount:e.pendingMessagesCount??0,terminalCount:e.terminalCommandsCount??0,workflowCount:e.workflowEntriesCount??0})),[p,m]=(0,n.useState)("auto");return(0,n.useLayoutEffect)(()=>{if("collapsed"===a||o===bo.Review||o===bo.Goal)return void m("0px");if(e.current&&t.current&&i.current&&r.current&&s.current){if(o===bo.Tasks){let t=e.current.scrollHeight;m(`${t}px`)}if(o===bo.Files){let e=t.current.scrollHeight;m(`${e}px`)}if(o===bo.Messages){let e=i.current.scrollHeight;m(`${e}px`)}if(o===bo.Terminal){let e=r.current.scrollHeight;m(`${e}px`)}if(o===bo.Workflow){let e=s.current.scrollHeight;m(`${e}px`)}}},[o,a,l,c,d,u,h,e,t,i,r,s]),{contentStyle:{height:p}}},Cp=()=>{let{expandStatus:e,hubStatus:t,onAddBottomSpace:i,onRemoveBottomSpace:r}=(0,bl.useContextSelector)(bd,e=>({expandStatus:e.expandStatus,hubStatus:e.hubStatus,onAddBottomSpace:e.onAddBottomSpace,onRemoveBottomSpace:e.onRemoveBottomSpace})),a=(0,n.useRef)(null),o=(0,n.useRef)(null),l=(0,n.useRef)(null),c=(0,n.useRef)(null),d=(0,n.useRef)(null),u=(0,n.useRef)(null),{contentStyle:h}=Ch(a,o,l,c,d);(0,n.useLayoutEffect)(()=>{"collapsed"===e&&r?.();let s=t===bo.Tasks?a.current?.scrollHeight:t===bo.Files?o.current?.scrollHeight:t===bo.Terminal?c.current?.scrollHeight:t===bo.Workflow?d.current?.scrollHeight:l.current?.scrollHeight;"expanded"===e&&s&&i?.(`${Math.min(s,160)}px`)},[e,t,r,i]);let p=[xe,"collapsed"===e&&xt].filter(Boolean).join(" ");return(0,s.jsxs)("div",{ref:u,className:p,style:h,children:[(0,s.jsx)(x9,{ref:a}),(0,s.jsx)(x8,{ref:o}),(0,s.jsx)(Cu,{ref:l}),(0,s.jsx)(Ce,{ref:c}),(0,s.jsx)(Cs,{ref:d})]})},Cm=e=>{let{className:t,sessionId:i,tasks:r,todoList:a,pendingMessages:o,workflowEntries:l=[],expandStatus:c,hubStatus:d,hiddenFiles:u=!1,hiddenTasks:h=!1,hiddenReview:p=!1,hiddenGoal:m=!1,isLight:f=!0,goalInfo:g,onSwitchExpandStatus:_,onRemoveBottomSpace:y}=e,v=ep(i),b=(0,ec.h1)(ed.B.SessionStore).sessionById.use(i??""),S=!!b?.worktreeData&&b.worktreeData.worktreeStatus!==eu.St.Deleted,k=a.length,x=k>0,C=r.length,w=(0,n.useMemo)(()=>r.filter(e=>e.status===ba.Completed).length,[r]),E=C>0&&w===C,T=(0,n.useMemo)(()=>r.find(e=>e.status===ba.InProgress)?.content||"",[r]),I=o.length,R=I>0,N=(e.terminalCommands||[]).length,A=N>0,M=l.length,P=M>0,j=(0,n.useMemo)(()=>x?d===bo.Files?"active":"normal":"disable",[d,x]),L=(0,n.useMemo)(()=>0===C?"disable":d===bo.Tasks?"active":"normal",[C,d]),D=(0,n.useMemo)(()=>R?d===bo.Messages?"active":"normal":"disable",[R,d]),O=(0,n.useMemo)(()=>A?d===bo.Terminal?"active":"normal":"disable",[A,d]),F=(0,n.useMemo)(()=>P?d===bo.Workflow?"active":"normal":"disable",[P,d]),U=!g||m,V=!U,B=(0,n.useMemo)(()=>U?"disable":d===bo.Goal?"active":"normal",[U,d]),z=!v||p,W=S?bo.Worktree:d,H=h||0===C||E,G=u||!x,Z=!R,K=!A,X=v?.reviewStatus==="pending_pr"||v?.reviewStatus==="pending_pr_with_conflict_resolve",{onSwitchHubStatus:Y}=e;(0,n.useEffect)(()=>{d===bo.Review&&"expanded"===c&&(_?.("collapsed"),y?.())},[d,c,_,y]),(0,n.useEffect)(()=>{(W===bo.Tasks&&"disable"===L||W===bo.Files&&"disable"===j||W===bo.Messages&&"disable"===D||W===bo.Review&&z||W===bo.Terminal&&"disable"===O||W===bo.Workflow&&"disable"===F||W===bo.Goal&&"disable"===B)&&("disable"!==L?Y?.(bo.Tasks):"disable"!==j?Y?.(bo.Files):"disable"!==D?Y?.(bo.Messages):z?"disable"!==O?Y?.(bo.Terminal):"disable"!==F?Y?.(bo.Workflow):"disable"!==B&&Y?.(bo.Goal):Y?.(bo.Review))},[W,L,j,D,O,F,B,z,Y]);let J=!P,$=(0,n.useRef)({noTasksCondition:H,noFilesCondition:G,noMessagesCondition:Z,noTerminalCondition:K,noWorkflowCondition:J,noGoalCondition:U});if((0,n.useEffect)(()=>{let e=$.current,t=H&&G&&Z&&K&&J&&U,i=e.noTasksCondition&&e.noFilesCondition&&e.noMessagesCondition&&e.noTerminalCondition&&e.noWorkflowCondition&&e.noGoalCondition;t&&!i&&(_?.("collapsed"),y?.()),$.current={noTasksCondition:H,noFilesCondition:G,noMessagesCondition:Z,noTerminalCondition:K,noWorkflowCondition:J,noGoalCondition:U}},[H,G,Z,K,J,U,_,y]),(0,n.useEffect)(()=>{P&&d!==bo.Workflow&&Y?.(bo.Workflow)},[P]),(0,n.useEffect)(()=>{V&&G&&d!==bo.Goal&&Y?.(bo.Goal)},[V,G]),(0,n.useEffect)(()=>{x&&g?.status==="paused"&&d===bo.Goal&&(Y?.(bo.Files),_?.("expanded"))},[x,g?.status]),X||H&&G&&Z&&K&&J&&z&&U&&!S)return null;let q={...e,hubStatus:W,hiddenFiles:u,hiddenTasks:h,hiddenReview:p,isLight:f,todoListCount:k,hasTodoList:x,tasksCount:C,completedTasksCount:w,allCompleted:E,firstInProgressTaskContent:T,pendingMessagesCount:I,terminalCommandsCount:N,hasTerminalCommands:A,workflowEntriesCount:M,hasWorkflowEntries:P,fileTabStatus:j,taskTabStatus:L,messageTabStatus:D,terminalTabStatus:O,workflowTabStatus:F,noReviewCondition:z,goalTabStatus:B,hasGoal:V,noGoalCondition:U},Q=[k5,!f&&k7,"expanded"===c&&k6,W===bo.Goal&&"expanded"===c&&k8].filter(Boolean).join(" ");return(0,s.jsx)(bd.Provider,{value:q,children:(0,s.jsxs)("div",{className:`${k4} ${t||""}`,children:[(0,s.jsx)("div",{className:k9}),(0,s.jsxs)("div",{className:Q,children:[(0,s.jsx)(Cp,{}),(0,s.jsx)(k3,{})]})]})})};var Cf=i(72865);let Cg="Workflow",C_=new Set(["completed","success","failed","stopped","killed"]);function Cy(e){let t=e.toolCallInfo?.result?.data,i=t?.data;return i&&"object"==typeof i?i:t}function Cv(e){return"string"==typeof e&&e?e:void 0}function Cb(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function CS(e){let t=e?.toLowerCase();return!!(t&&C_.has(t))}function Ck(e){return e.toolCallInfo?.name===Cg}function Cx(e){return Cy(e)?.status==="async_launched"}function CC(e){if(!Ck(e)||!Cx(e))return;let t=Cy(e),i=Cv(t?.taskId)||Cv(t?.task_id);if(!i)return;let r=e.toolCallInfo?.params;return{taskId:i,workflowRunId:Cv(t?.workflowRunId)||Cv(t?.workflow_run_id)||Cv(t?.run_id),name:Cv(t?.name)||Cv(t?.scriptPath)||Cv(t?.script_path)||Cv(r?.name)||Cv(r?.scriptPath)||"Workflow",status:"running",currentPhase:Cb(t?.currentPhase)??Cb(t?.current_phase),totalPhases:Cb(t?.totalPhases)??Cb(t?.total_phases),phaseName:Cv(t?.phaseName)||Cv(t?.phase_name),startedAt:e.startTime||e.createdAt||Date.now()}}function Cw(e,t){return{...e,taskId:t.taskId||e.taskId,workflowRunId:t.workflowRunId||e.workflowRunId,status:t.status||e.status,name:t.name||e.name,currentPhase:t.currentPhase??e.currentPhase,totalPhases:t.totalPhases??e.totalPhases,phaseName:t.phaseName??e.phaseName}}function CE(e,t,i,r){let s=new Set(t.filter(e=>e.sessionId===i&&!e.isHistory).map(e=>e.messageId));return e.filter(e=>s.has(e.messageId)&&Ck(e)).map(CC).filter(e=>!!e&&!r.has(e.taskId))}let CT=1e3,CI=3;function CR(e,t=[]){let i=(0,ec.h1)(ed.B.AgentPlanItemStore),r=(0,ec.h1)(ed.B.MessageStore),s=i.allAgentPlanItems.useShallow(),a=r.allMessages.useShallow(),o=(0,n.useMemo)(()=>lN.XT.tryResolve(ed.F.Workflow),[]),[l,c]=(0,n.useState)([]),d=(0,n.useRef)([]),u=(0,n.useRef)(new Map),[h,p]=(0,n.useState)(()=>new Set);(0,n.useEffect)(()=>{p(new Set),c([]),u.current.clear()},[e]);let m=(0,n.useMemo)(()=>CE(s,a,e,h),[a,s,h,e]);(0,n.useEffect)(()=>{c(e=>{let i=new Map;for(let r of[...e,...t,...m]){if(h.has(r.taskId))continue;let e=i.get(r.taskId);i.set(r.taskId,{...e,...r,startedAt:e?.startedAt||r.startedAt||Date.now()})}return[...i.values()].filter(e=>!CS(e.status))})},[h,t,m]),(0,n.useEffect)(()=>{d.current=l},[l]);let f=(0,n.useMemo)(()=>l.filter(e=>!CS(e.status)).map(e=>e.taskId).sort().join("|"),[l]);return(0,n.useEffect)(()=>{if(!o||!f)return;let e=!1,t=!1,i="u"{if(i&&!t){t=!0;try{let t=d.current.filter(e=>!CS(e.status)),i=await Promise.all(t.map(async e=>{let t=await o.queryWorkflowStatus({taskId:e.taskId,workflowRunId:e.workflowRunId});return{entry:e,status:t}}));if(e)return;let r=new Set;c(e=>{let t=new Map(e.map(e=>[e.taskId,e]));for(let{entry:e,status:s}of i){if(!s.found){let i=(u.current.get(e.taskId)||0)+1;if(u.current.set(e.taskId,i),i0&&p(e=>new Set([...e,...r]))}finally{t=!1}}};r();let s=window.setInterval(r,CT),n=()=>{(i=!document.hidden)&&r()};return"u">typeof document&&document.addEventListener("visibilitychange",n),()=>{e=!0,window.clearInterval(s),"u">typeof document&&document.removeEventListener("visibilitychange",n)}},[f,o]),{workflowEntries:l,stopWorkflow:(0,n.useCallback)(async e=>{!o||(await o.stopWorkflow({taskId:e.taskId,workflowRunId:e.workflowRunId})).stopped&&(u.current.delete(e.taskId),p(t=>new Set(t).add(e.taskId)),c(t=>t.filter(t=>t.taskId!==e.taskId)))},[o]),openWorkflowDetails:(0,n.useCallback)(e=>{o?.openWorkflowDetails({taskId:e.taskId,workflowRunId:e.workflowRunId,name:e.name})},[o])}}let CN=n.default.memo(e=>{let t=(0,Cf.Y)(e.sessionId),i=CR(e.sessionId,t.workflowEntries);return(0,s.jsx)(Cm,{...e,todoList:t.todoList,crossSessionFileRefs:t.crossSessionFileRefs,tasks:t.tasks,terminalCommands:t.terminalCommands,workflowEntries:i.workflowEntries,sendNowEnabled:t.sendNowEnabled,onFileClick:t.onFileClick,onAcceptAllFiles:t.onAcceptAllFiles,onRejectAllFiles:t.onRejectAllFiles,onKillTerminalCommand:t.onKillTerminalCommand,onOpenTerminal:t.onOpenTerminal,onOpenAllTerminals:t.onOpenAllTerminals,onStopWorkflow:async e=>{await i.stopWorkflow(e)},onOpenWorkflowDetails:e=>{i.openWorkflowDetails(e)}})});function CA(e){return e&&"complete"!==e.status?{goalId:e.goal_id,objective:e.objective,status:e.status,tokensUsed:e.tokens_used,timeUsedSeconds:e.time_used_seconds,roundsUsed:e.rounds_used}:null}function CM(e){let t,{sessionId:i,latestGoalMessageContext:r,port:s,isStreaming:a,expandStatus:o,hubStatus:l}=e,[c,d]=(0,n.useState)(void 0),[u,h]=(0,n.useState)(""),p=(0,n.useRef)(u);p.current=u;let m=(0,n.useRef)(i),f=(0,n.useRef)(a),g=(0,n.useRef)(0),_=!!r?.is_goal_loop;(0,n.useEffect)(()=>{m.current!==i&&(m.current=i,g.current+=1,d(void 0),h(""))},[i]);let y=(0,n.useCallback)(async()=>{if(!i||!s||!_)return;let e=++g.current;try{let t=await s.fetchGoal(i);if(e!==g.current)return;let r=CA(t.goal);r&&(0,kW.yt)(r,p.current)?d(null):d(r)}catch{}},[i,s,_]);(0,n.useEffect)(()=>{y()},[y]),(0,n.useEffect)(()=>{let e=f.current;f.current=a,e&&!a&&y()},[a,y]);let v=(0,kW.kL)(r);(t=void 0!==c?c:v)&&(0,kW.yt)(t,u)&&(t=null);let b=(0,n.useRef)(t);b.current=t;let S=(0,n.useCallback)(async e=>{i&&s&&d(CA((await s.updateGoal(i,{objective:e})).goal))},[i,s]),k=(0,n.useCallback)(async()=>{if(!i||!s||!b.current)return;let e="active"===b.current.status?"paused":"active";if(d(CA((await s.updateGoal(i,{status:e,..."active"===e?{startContinuation:!1}:{}})).goal)),"active"===e&&!a)try{await s.resumeGoal(i)}catch(e){throw await y(),e}},[i,s,a,y]);return{goalInfo:t,onEditGoal:S,onToggleGoalPaused:k,onDeleteGoal:(0,n.useCallback)(async()=>{if(!i||!s)return;let e=b.current;h((0,kW.gJ)(p.current,(0,kW.UB)(e),(0,kW.UB)(v))),d(null),await s.clearGoal(i)},[i,s,v]),onGoalReport:(0,n.useCallback)(e=>{s&&s.reportGoalAction({buttonName:e,sessionId:i,goalId:b.current?.goalId,goalStatus:b.current?.status,isGoalExpanded:"goal"===l&&"expanded"===o})},[s,i,l,o])}}CN.displayName="TasksHubConnected";var CP=i(85500),Cj=i(30886),CL=i(39905),CD=i(69619),CO=i(77068),CF=i(53253),CU=i(14490),CV=i(39975),CB=i(44518);function Cz(e,t){return"work"===t||e.type.startsWith("image/")}function CW(e){return eC({originalName:e.name,mimeType:e.type})?`clipboard-image\u0000${e.size}\u0000${e.type}`:`${e.name}\u0000${e.size}\u0000${e.type}\u0000${e.lastModified}`}function CH(e){try{let t=new URL(e);if("file:"!==t.protocol)return;let i=decodeURIComponent(t.pathname);if(!i)return;return i}catch{return}}function CG(e,t){if(!Array.from(e.types||[]).includes(t))return[];let i=e.getData(t);return i?i.split(/\r?\n/).map(e=>e.trim()).filter(e=>e&&!e.startsWith("#")):[]}function CZ(e){let t=[],i=new Set,r=e=>{!e||i.has(e)||(i.add(e),t.push(e))};for(let t of CG(e,"text/uri-list"))r(CH(t));for(let t of CG(e,"text/plain"))t.startsWith("file://")&&r(CH(t));return t}function CK(e){let{clipboardData:t,mode:i}=e,r=[],s=CZ(t),n="work"===i?s:[],a=new Set,o="work"!==i&&s.length>0,l=!1,c=e=>{if(!Cz(e,i)){o=!0;return}let t=CW(e);a.has(t)||(a.add(t),r.push(e))};for(let e of Array.from(t.items||[])){if("file"!==e.kind)continue;let t=e.webkitGetAsEntry?.();if(t?.isDirectory){l=!0;continue}let i=e.getAsFile();i&&c(i)}for(let e of Array.from(t.files||[]))c(e);return{files:r,filePaths:n,hasBlockedFiles:o,hasFolders:l}}let CX=new WeakSet;function CY(e){let{container:t,eventTarget:i}=e;return!(!t||!i||"u"{let{isLocalMode:t,isWorktree:i,soloMode:r,selectedProject:s,selectedEnvironment:n,selectedRepoUrl:a,selectedBranch:o,hasProjects:l,githubAuthStatus:c}=e,d=(0,Cq.wx)(),u=(0,Cq.B_)();if(t)return!s&&r===eu.DX.Code&&i?{valid:!1,errorMessageKey:"trae-chat-core.project.send_tip",errorMessageDefault:"Please select a project first"}:{valid:!0};if(r===eu.DX.Work||r===eu.DX.Design)return{valid:!0};if(r===eu.DX.Code){if(d){if(!t&&a&&"unauthorized"===c)return{valid:!1,errorMessageKey:"trae-chat-core.git.before_auth",errorMessageDefault:"Please connect to GitHub first"};if(!n)return{valid:!1,errorMessageKey:"trae-chat-core.environment.send_tip",errorMessageDefault:"Please select an environment first"};if(a&&!o)return{valid:!1,errorMessageKey:"trae-chat-core.branch.send_tip",errorMessageDefault:"Please select a Git branch first"}}else if(u){if(!t&&a&&"unauthorized"===c)return{valid:!1,errorMessageKey:"trae-chat-core.git.before_auth",errorMessageDefault:"Please connect to GitHub first"};if(!n)return{valid:!1,errorMessageKey:"trae-chat-core.environment.send_tip",errorMessageDefault:"Please select an environment first"};if(a&&!o)return{valid:!1,errorMessageKey:"trae-chat-core.branch.send_tip",errorMessageDefault:"Please select a Git branch first"}}}return{valid:!0}};function C0(e){return"object"==typeof e&&null!=e}function C1(e){return Object.entries(e).filter(([,e])=>e>0).map(([e,t])=>`${e}:${t}`).join(",")}function C2(e){return e?e.includes("github.com")?"github":"other":"empty"}function C3(e){if(!e||0===e.length)return{mentionType:"",commandType:"",skillCount:0,rulesCount:0,fileCount:0,folderCount:0,webUrlCount:0,codeSelectionCount:0,webElementCount:0,logItemCount:0,fileWithCommentCount:0,dataTextCount:0,dataTextWithCommentCount:0,dataSheetCount:0,dataSheetWithCommentCount:0,markdownCount:0,markdownWithCommentCount:0,larkCount:0,isPlanMode:0,isSpecMode:0};let t={},i={},r=0,s=0,n=0,a=0,o=0,c=0,d=0,u=0,p=0,m=0,f=0,g=0,_=0,y=0,v=0,b=0,S=0,k=0;for(let x of e){if(!C0(x))continue;let e=String(x.type??"");if(e){if(e!==l.$1.SlashCommand&&(t[e]=(t[e]??0)+1),e===l.$1.File){x.selection?c+=1:n+=1,"string"==typeof x.comment&&x.comment.trim()&&(p+=1);continue}if(e===l.$1.Folder){a+=1;continue}if(e===l.$1.WebPage){o+=1;let e="string"==typeof x.url?x.url:"";e&&(0,h.uM)(e)&&(b+=1);continue}if(e===l.$1.WebElement){d+=1;continue}if(e===l.$1.Log){u+=(Array.isArray(x.messages)?x.messages:[]).length;continue}if(e===l.$1.SlashCommand){let e="string"==typeof x.commandType?x.commandType:"",t="string"==typeof x.command?x.command.toLowerCase():"";"plan"===t?(i.plan=(i.plan??0)+1,S=1):"spec"===t?(i.spec=(i.spec??0)+1,k=1):"skill"===e?(i.custom_skill=(i.custom_skill??0)+1,r+=1):"command"===e&&(i.custom_command=(i.custom_command??0)+1);continue}if(e===l.$1.Rule){s+=1;continue}if(e===l.$1.RuleAutoAttatch){s+=(Array.isArray(x.rules)?x.rules:[]).length;continue}if(e===l.$1.CommentDataText){m+=1,"string"==typeof x.comment&&x.comment.trim()&&(f+=1);continue}if(e===l.$1.CommentDataSheet){g+=1,"string"==typeof x.comment&&x.comment.trim()&&(_+=1);continue}if(e===l.$1.CommentDataMarkdown){y+=1,"string"==typeof x.comment&&x.comment.trim()&&(v+=1);continue}}}return{mentionType:C1(t),commandType:C1(i),skillCount:r,rulesCount:s,fileCount:n,folderCount:a,webUrlCount:o,codeSelectionCount:c,webElementCount:d,logItemCount:u,fileWithCommentCount:p,dataTextCount:m,dataTextWithCommentCount:f,dataSheetCount:g,dataSheetWithCommentCount:_,markdownCount:y,markdownWithCommentCount:v,larkCount:b,isPlanMode:S,isSpecMode:k}}function C4(e,t,i,r,s){return s?"worktree":e||i===eu.nN.Local?"local":t===vI.uC.SoloLite&&(r===eu.DX.Work||r===eu.DX.Design)?"vm":"cloud"}function C5(e){return e?"default"===e?"default":"custom":"default"}function C9(e){let t,i,r,s,n,a=C3(e.parsedQuery),o=e.session;o?(t=o.remoteProjectId||"",i=o.localProjectId||"",r=o.source?.repo_url,s=o.environmentName,n=o.env):(t=e.selectedProject?.remote_project_id||"",i=e.selectedProject?.local_project_id||"",r=e.selectedRepoUrl||e.selectedProject?.extra_info?.git_repo,s=e.selectedEnvironment?.name);let l=n===eu.nN.Local||e.isLocalMode?i||t:t||i,c=+!!r,d="boolean"==typeof e.isCustomModel?e.isCustomModel:!1===e.isPresetModel,u=o?.sessionType??e.sessionType??"",h={solo_chat_mode:e.mode??"",session_type:u,project_id:l,remote_project_id:t,local_project_id:i,env_deployment:C4(e.isLocalMode,e.appType,n,e.mode,e.isWorktreeMode),has_git:c,git_type:C2(r),remote_env:C5(s),chat_model:e.chatModel||"",chat_model_mode:e.chatModelMode??0,is_custom_model:+!!d,is_spec_mode:a.isSpecMode,is_plan_mode:a.isPlanMode,mention_type:a.mentionType,command_type:a.commandType,skill_count:a.skillCount,rules_count:a.rulesCount,file_count:a.fileCount,folder_count:a.folderCount,web_url_count:a.webUrlCount,code_selection_count:a.codeSelectionCount,web_element_count:a.webElementCount,log_item_count:a.logItemCount,image_count:e.imageCount??0,asr_count:e.asrCount??0,is_asr_rewrite:+!!e.isAsrRewrite,use_fast_request:+!!e.useFastRequest,attachment_count:e.attachmentCount??0,file_with_comment_count:a.fileWithCommentCount,data_text_count:a.dataTextCount,data_text_with_comment_count:a.dataTextWithCommentCount,data_sheet_count:a.dataSheetCount,data_sheet_with_comment_count:a.dataSheetWithCommentCount,markdown_count:a.markdownCount,markdown_with_comment:a.markdownWithCommentCount,lark_count:a.larkCount};e.mode===eu.DX.Design&&(h.design_library_id=e.designLibraryId||"",h.library_source=e.librarySource||"");let p="floating"===e.chatLayoutVariant;return h.is_fullscreen=+!!p,h.chat_layout=p?"floating":"normal",h}var C6=i(58410),C8=i(2391),C7=i(27981),we=i(6602),wt=i(36163),wi=i(2552);let wr=({visible:e,i18n:t})=>e?(0,s.jsx)("div",{className:"dragToChatOverlay",children:(0,s.jsx)("div",{className:"dragToChatOverlayInner",children:(0,s.jsxs)("div",{className:"dragToChatOverlayContent",children:[(0,s.jsx)(S.LYb,{className:"dragToChatOverlayIcon"}),(0,s.jsx)("span",{className:"dragToChatOverlayText",children:t.localize("trae-chat-core.drag-to-chat.overlay.hint",{},"Drop files here to add to your conversation")})]})})}):null,ws=(0,n.memo)(wr);var wn=i(60632),wa=i(56352);let wo="trae-res://remote_resource/",wl="remote_resource",wc=0xc00000,wd=5,wu=0xc00000,wh=5;function wp(e){if(!e?.startsWith(wo))return;let t=e.slice(wo.length);return t.length>0?t:void 0}function wm(e){let t=e.headers.get("content-length");if(!t)return;let i=Number(t);return Number.isFinite(i)&&i>=0?i:void 0}async function wf(e,t){let i=new AbortController,r=setTimeout(()=>i.abort(),15e3);try{let r=await fetch(e,{method:"GET",headers:{Accept:"*/*"},signal:i.signal});if(!r.ok)return;let s=wm(r);if(void 0!==s&&s>t)return void i.abort();if(!r.body){let e=await r.arrayBuffer();return e.byteLength<=t?e:void 0}let n=r.body.getReader(),a=[],o=0;for(;;){let{done:e,value:r}=await n.read();if(e)break;if(r){if((o+=r.byteLength)>t)return void i.abort();a.push(r)}}let l=new Uint8Array(o),c=0;for(let e of a)l.set(e,c),c+=e.byteLength;return l.buffer}finally{clearTimeout(r)}}function wg(e){return(0,wa.Fw)(e)??(0,wa.$3)(e)??e}async function w_(e,t,i){let r=await wf(t,wc);if(!r)return;let s=new Blob([new Uint8Array(wg(r))],{type:e.type||"image/png"}),n=URL.createObjectURL(s);return i(n),n}async function wy(e,t){let i,r=e.map(e=>({file:e,storeUri:wp(e.tosUri)})).filter(e=>!!e.storeUri).slice(0,wd);if(0===r.length)return{};let s=r.map(e=>e.storeUri);try{i=await wn.tk.getImageUrls(s,{bizType:wl})}catch(e){return em.logger.warn("[MessageInput] Failed to sign remote_resource thumbnail urls:",e),{}}let n=i.data?.url_map??{},a=await Promise.all(r.map(async({file:e,storeUri:i})=>{let r=n[i];if(r&&e.tosUri)try{let i=await w_(e,r,t);return i?[e.tosUri,{thumbnailUrl:i}]:void 0}catch(e){em.logger.warn("[MessageInput] Failed to hydrate remote_resource thumbnail:",e);return}})),o=[];for(let e of a)e&&o.push(e);return Object.fromEntries(o)}async function wv(e,t={}){let i=Math.max(0,t.maxCount??wh),r=Math.max(0,t.maxDataUrlLength??wu),s=e.filter(e=>"string"==typeof e.tosUri&&(0,y7.SJ)(e.tosUri)).slice(0,i);if(0===s.length)return{};let n=await Promise.all(s.map(async e=>{try{let t=await (0,wn.JX)(e.tosUri,{maxDataUrlLength:r});if(!t||t.length>r)return;return[e.tosUri,{thumbnailUrl:t,thumbnailBase64:t}]}catch(e){em.logger.warn("[MessageInput] Failed to hydrate ToB image thumbnail:",e);return}})),a=[];for(let e of n)e&&a.push(e);return Object.fromEntries(a)}let wb="file",wS="folder",wk="code",wx="rule";function wC(e){return{reference_type:wk,file_path:e.filePath,symbol_name:e.name,symbol_kind:e.rawSymbolKind,range:`${e.startLine}~${e.endLine}`}}function ww(e){return{reference_type:wb,file_path:e.filePath}}function wE(e){return{reference_type:wS,file_path:e.folderPath}}function wT(e){return{reference_type:wx,file_path:e.filePath}}function wI(e,t){if(e.startsWith("tos-")||e.includes("/image/")){let i=e.split("/").pop();if(i){let e=i.match(/^\d+_[a-z0-9]+_([a-z]+)_\d+x\d+$/i);if(e)return`image_${t+1}.${e[1].toLowerCase()}`}}return`image_${t+1}.png`}function wR(e){return"work"===e?lG.Uf.Work:"design"===e?lG.Uf.Design:"code"===e?lG.Uf.Code:void 0}let wN={"chat-input.mention.empty.repository":"Empty repository","chat-input.mention.empty.noMatchingItems":"No matching items found","chat-input.mention.empty.noRecommendation":"No recommendation items found","chat-input.mention.empty.noSymbols":"No symbols found","chat-input.mention.empty.noFiles":"No files found","chat-input.mention.empty.noFolders":"No folders found","chat-input.mention.empty.noDocs":"No docs found","chat-input.mention.empty.noRules":"No rules found","chat-input.mention.empty.noAssets":"No assets found","chat-input.mention.empty.webWorkHomeNoFiles":"No files under this workspace yet. Start your first task.","chat-input.mention.empty.noRepoSelected":"Please select a repository first to search files","chat-input.mention.empty.repoLoading":"Loading repositories, please wait..."},wA={pdf:"application/pdf",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",zip:"application/zip",rar:"application/x-rar-compressed","7z":"application/x-7z-compressed",tar:"application/x-tar",gz:"application/gzip",bz2:"application/x-bzip2",json:"application/json",xml:"application/xml",txt:"text/plain",csv:"text/csv",md:"text/markdown",yaml:"text/yaml",yml:"text/yaml",toml:"text/plain",ini:"text/plain",cfg:"text/plain",conf:"text/plain",log:"text/plain",html:"text/html",htm:"text/html",css:"text/css",scss:"text/x-scss",sass:"text/x-sass",less:"text/x-less",js:"text/javascript",jsx:"text/javascript",ts:"text/typescript",tsx:"text/typescript",vue:"text/plain",svelte:"text/plain",py:"text/x-python",go:"text/x-go",rs:"text/x-rust",java:"text/x-java",kt:"text/x-kotlin",scala:"text/x-scala",c:"text/x-c",cpp:"text/x-c++",cc:"text/x-c++",cxx:"text/x-c++",h:"text/x-c",hpp:"text/x-c++",cs:"text/x-csharp",fs:"text/x-fsharp",rb:"text/x-ruby",php:"text/x-php",pl:"text/x-perl",pm:"text/x-perl",lua:"text/x-lua",r:"text/x-r",swift:"text/x-swift",m:"text/x-objectivec",mm:"text/x-objectivec",sh:"text/x-shellscript",bash:"text/x-shellscript",zsh:"text/x-shellscript",fish:"text/x-shellscript",ps1:"text/plain",bat:"text/plain",cmd:"text/plain",sql:"text/x-sql",graphql:"text/plain",gql:"text/plain",dockerfile:"text/plain",makefile:"text/plain",cmake:"text/plain",gradle:"text/plain",proto:"text/plain",thrift:"text/plain"};function wM(e){return e.query?.length?(0,CV.t)(e.query):e.content.map(e=>{if("text"===e.type)return e.text_content}).filter(e=>!!e)}function wP(e,t){return(e.split("?")[0]??e).split("/").pop()||t}function wj(e,t,i){let r=e.resource_id||e.tosUri||e.url||e.cdnURL||e.blobURL;if(!r)return;let s="image"===(e.resource_type||i||("image"===e.type?"image":"attachment"))||"image"===e.type||e.type?.startsWith("image/"),n=e.file_name||e.name||wP(r,s?wI(r,t):`attachment_${t+1}`),a=n.split(".").pop()?.toLowerCase()||"";return{id:`pending-edit-${t}-${r}`,name:n,size:e.size??0,type:s?e.type?.startsWith("image/")?e.type:"image/png":wA[a]||"application/octet-stream",status:_k.d8.Success,tosUri:r,url:e.url,cdnURL:e.cdnURL,blobURL:e.blobURL,imageWidth:e.imageWidth,imageHeight:e.imageHeight}}function wL(e){if(!e?.length)return[];let t=[];for(let i of e){if("image"===i.type){let e=i.data,r=e.image_id||e.uri||e.url;r&&t.push({resource_id:r,resource_type:"image"});continue}if("attachment"===i.type){let e=i.data,r=e.uri||e.url;r&&t.push({resource_id:r,resource_type:"attachment",file_name:e.filename})}}return t}function wD(e){let t=[];for(let i of e)"image"===i.type&&i.image_id&&t.push({resource_id:i.image_id,resource_type:"image"});return t}function wO(e){let t=[...Array.isArray(e.multiMedia)?e.multiMedia:[],...wL(e.query),...wD(e.content)],i=new Set;return t.map((e,t)=>wj(e,t)).filter(e=>!(!e?.tosUri||i.has(e.tosUri))&&(i.add(e.tosUri),!0))}function wF(){try{return(0,vI.Ov)()===vI.uC.TraeIDE}catch{return!1}}let wU="message-input-toast",wV=12e3,wB=24,wz=140,wW=1200,wH=(0,d.LM)(wU,{singleton:!1,deduplicateByContent:!0,defaultToastOptions:{duration:5e3,closable:!0,showCountdown:!0,align:"left"}}),wG="remote-welcome-toast-shown",wZ=(0,n.memo)((0,n.forwardRef)(({type:e,uri:t,className:i},r)=>{let n="folder"===e||"rootfolder"===e,a=n?"folder-icon":"file-icon",o=i?`${a} ${i}`:a;return(0,s.jsx)(en.Am,{ref:r,filePath:t,isDirectory:n,size:void 0,className:o})}));wZ.displayName="FileIconLabel";let wK=["image/jpeg","image/png","image/gif","image/webp"],wX=wK.join(","),wY=new Set([".jpg",".jpeg",".png",".gif",".webp"]),wJ="__nativeFileHasData";function w$(e){let t=e.name.includes(".")?`.${e.name.split(".").pop()?.toLowerCase()}`:"";return wK.includes(e.type)||wY.has(t)}function wq(e){return e.map(e=>{let t=wA[e.name.split(".").pop()?.toLowerCase()||""]||"application/octet-stream",i=new File([e.data??new Uint8Array(0)],e.name,{type:t});return Object.defineProperty(i,"path",{value:e.path,writable:!1,enumerable:!0}),Object.defineProperty(i,wJ,{value:void 0!==e.data,writable:!1,enumerable:!1}),void 0!==e.size&&void 0===e.data&&Object.defineProperty(i,"size",{value:e.size}),i})}let wQ=(0,n.memo)(({onUpload:e,disabled:t,disabledForAuth:i,mode:r=lG.Uf.Work,allowAnyFile:a=!1,onNativeFileSelect:l})=>{let c=(0,n.useRef)(null),d=(0,vR.s)(),h=r===lG.Uf.Code,p=h&&!a?wX:"",m=h?S.dwH:S.LjW,f=h&&!a,g=(0,n.useMemo)(()=>t&&h?d.localize("image-upload-sdk.error.maxImagesExceeded",{maxCount:"5"},"Only {maxCount} images can be uploaded"):h?d.localize("chat-input.fileUpload.tooltip.uploadImage",{},"Upload image"):d.localize("chat-input.fileUpload.tooltip.upload",{},"Upload file"),[t,h,d]),_=(0,n.useMemo)(()=>{let e={inputMode:r,readData:f};return h&&!a?{...e,filters:{Images:["png","jpg","jpeg","gif","webp"]}}:e},[a,h,r,f]),y=(0,n.useCallback)(async()=>{if(t)return;let i=lN.XT.tryResolve(ed.F.Tea);if(i){let e=h?eb.qu.InputUploadImageClick:eb.qu.InputUploadAttachmentClick;i.report(e,{action:"upload_click",reason:""})}if(l){let t=await l(_);t&&t.length>0&&e(wq(t));return}c.current?.click()},[t,h,l,e,_]),v=(0,o.A)(t=>{let i=t.target.files;i&&i.length>0&&e(Array.from(i)),c.current&&(c.current.value="")});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("input",{ref:c,type:"file",accept:p,multiple:!0,onChange:v,className:"messageInputFileUploadInput",disabled:t}),(0,s.jsx)(u.A,{content:g,side:"top",disabled:i,children:(0,s.jsx)("button",{className:"messageInputToolbarIconBtn",onClick:y,disabled:t,type:"button",children:(0,s.jsx)(m,{})})})]})});wQ.displayName="FileUploadButton";let w0=(0,n.memo)(({sessionId:e,perSessionDraftEnabled:t=!!e,sessionType:i,agentId:r,environments:p=[lG.OH.Local,lG.OH.Remote],className:f,appType:g="web",showInputBar:_=!0,variant:y,disableManualStop:v=!1,enableMobileMiniInput:b=!1,maxLength:S=lG.Ow,onNativeFileSelect:x,onResolveNativeFilePaths:E,toastChannel:T,onSaveToTempDir:I,getFilePath:R,asrLanguage:N="zh-CN",designLibraryAction:A,rtcVoiceTransport:M,promptOptimizeConfig:P,rtcVoiceOptions:j,rtcVoiceShortcutConfig:L,onVoiceCall:D,voiceCallActive:O,forbidSending:F,forbidSendingTip:U,forbidSendingAlert:V,inputModeOverride:B,isSoloMode:z,mode:W="chat",initialContent:H,onContentReady:G,onEmptyChange:Z,onUploadingChange:K,fetchFeishuDocMeta:X,onOpenLarkDocPanel:Y,ghostText:$,historyPromptManager:Q,toolbarLayout:et="default",onSelectAddNewDoc:en,onSelectAddNewRule:eh,pluginToolbar:ek,transformMessageQuery:ex})=>{let eE="automation"===W,eT=(0,el.C)(e=>e.shared_artifact_and_workroom?.hit===!0),{fetchFeishuDocMeta:eI}=(0,CU.vK)(),eR=X??eI,eN=ep(e),{createPR:eA,cancelPendingPr:eM,discardConflictResolution:eP}=eg(e),ej=(0,m.Hr)(),eL=(0,vR.s)(),eD=(0,n.useMemo)(()=>em.logger,[]),eO=eo.vN.isPrivateDeploy.use(),eF=wF(),eU=!eO&&!eF,eV=(0,n.useMemo)(()=>Y||(ej?t=>{(e?t2.sessionById.get(e):void 0)?ej.openFile({filePath:(0,h.LK)(t)}):window.open(t,"_blank","noopener,noreferrer")}:void 0),[Y,ej]),eB=lN.XT.tryResolve(ed.F.LarkToken),ez=(0,n.useMemo)(()=>{if(eB)return async()=>{let e=await eB.getToken();if(e)return{accessToken:e.accessToken,platform:e.platform}}},[eB]),eW=(0,n.useMemo)(()=>{if(eB)return()=>{eB.connect()}},[eB]),[eH,eG]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(!eB)return;eB.isConnected().then(e=>{eG(e)});let e=eB.onTokenChange(e=>{eG(e)});return()=>{e()}},[eB]);let[eZ,eK]=(0,n.useState)(!1),[eX,eY]=(0,n.useState)(!1),eJ=(0,n.useMemo)(()=>eX?{disabled:!0,disabledTip:eL.localize("trae-chat-core.message-input.worktree_checking",{},"Checking environment...")}:eZ?{disabled:!0,disabledTip:eL.localize("trae-chat-core.message-input.sending",{},"Sending...")}:void 0,[eZ,eX,eL]),[e$,eq]=(0,n.useState)(!0),eQ=(0,n.useRef)(e$);eQ.current=e$,(0,n.useEffect)(()=>{Z?.(e$)},[e$,Z]);let e0=(0,vB.gr)(e=>e.mode),e1=B??e0,e2=z??e1===lG.Uf.Design,e3=(0,vB._o)(e=>e.applyDefaultConfig),{authStatus:e4,storeLoading:e5}=(0,CD.J)(),e9=(0,n.useRef)(new vW),e6=Q??e9.current;(0,n.useEffect)(()=>{e3(g,e1===lG.Uf.Code?"code":"work")},[g,e1,e3]),(0,n.useEffect)(()=>{e6.setMode?.(e1)},[e1,e6]);let e8=eo.Zz.isAuthenticated.use(),e7=p.includes(lG.OH.Remote),te=eo.vN.isExternal.use(),tt=(0,CO.M)(e=>e.value),ti=(0,vI.wx)()||"remote"===tt,tr=eo.vN.traeDomain.use(),ts=eo.Zz.currentUser.use()?.userId,tn=(0,n.useMemo)(()=>vY({userId:ts,sessionId:e,mode:e1===lG.Uf.Work?"work":e1===lG.Uf.Design?"design":"code",perSessionDraftEnabled:t}),[ts,e,e1,t]),ta=(0,n.useMemo)(()=>vX(tn),[tn]);(0,n.useEffect)(()=>{!ti||!e8||!te||(0,vI.ww)()||(async()=>{try{let e=lN.XT.resolve(ed.F.Storage),t=eo.Zz.currentUser.get()?.userId;if(!t)return;let i=`${t}:${wG}`;if(!await e.get(i)){let t=e=>{e.preventDefault(),ej?.openUrl({url:(0,C6.Xs)()})},r=e=>{e.preventDefault(),ej?.openUrl({url:(0,C6.G2)()})},n=e=>{e.preventDefault(),ej?.openUrl({url:(0,C6.Tr)()})};wH.info((0,s.jsxs)(s.Fragment,{children:[eL.localize("trae_chat_core.message_input.cloud_consent.prefix",{},"By using cloud features, you agree that TRAE Work will temporarily store and process task-related data in accordance with our"),(0,s.jsx)("a",{href:"#",onClick:t,className:"messageInputToastLink",children:eL.localize("trae_chat_core.message_input.cloud_consent.terms_of_service",{},"Terms of Service")}),eL.localize("trae_chat_core.message_input.cloud_consent.and",{},"and"),(0,s.jsx)("a",{href:"#",onClick:r,className:"messageInputToastLink",children:eL.localize("trae_chat_core.message_input.cloud_consent.privacy_policy",{},"Privacy Policy")}),eL.localize("trae_chat_core.message_input.cloud_consent.suffix",{},"temporarily store and process task-related data."),(0,s.jsx)("a",{href:"#",onClick:n,className:"messageInputToastLink",children:eL.localize("trae_chat_core.message_input.cloud_consent.learn_more",{},"Find out more here")})]}),{closable:!0,duration:1e4}),await e.set(i,!0)}}catch{}})()},[ti,e7,e8,te]);let[to,tl]=(0,n.useState)(!1),[tc,td]=(0,n.useState)(!1),[tu,th]=(0,n.useState)(0),[tp,tm]=(0,n.useState)(0);(0,n.useEffect)(()=>{K?.(to)},[to,K]);let tf=(0,n.useRef)(null),tg=(0,n.useRef)(null),t_=(0,n.useRef)(null),ty=(0,n.useRef)(0),tv=(0,o.A)(()=>{let e=tf.current;if(!e)return;let t=JSON.stringify(e.getEditorState().toJSON());e6.addHistory?.(t)}),tb=(0,n.useRef)(0),tS=(0,n.useRef)({}),tk=(0,n.useRef)({work:[],code:[],design:[]}),tx=(0,n.useRef)({work:!0,code:!0,design:!0}),tC=(0,n.useRef)(null),tw=(0,n.useRef)(void 0),tE=(0,n.useRef)(!1),tT=(0,n.useRef)(void 0),tI=(0,n.useRef)(void 0),tR=(0,n.useRef)(0),tN=(0,n.useRef)(new Set),tA=(0,n.useRef)(!1);(0,n.useEffect)(()=>{tb.current=0},[e]);let[tM,tP]=(0,n.useState)(!1),[tj,tL]=(0,n.useState)(void 0),[tD,tO]=(0,n.useState)("parallel_limit"),tF=(0,n.useRef)(null),tU=eo.Zz.payStatus.use(),tV=eo.vN.isCN.get(),tB=!(0,n.useMemo)(()=>tV?tU?.user_pay_identity===100:tU?.user_pay_identity===3,[tU?.user_pay_identity,tV])&&!eo.vN.isEnterprise.get(),[tz,tW]=(0,n.useState)(!1),tH=(0,vB.gr)(e=>e.inputFlashTrigger),tG=(0,n.useRef)(tH),tZ=(0,n.useCallback)(()=>{tP(!1),tF.current=null},[]),tK=(0,n.useCallback)(()=>{tP(!1),tF.current=null;let e=lN.XT.tryResolve(ed.F.Tea);e?.report("icube_parallel_limit_upgrade_click");let t=lN.XT.tryResolve(ed.F.Entitlement);t?.upgrade({openFrom:(0,lU.bC)(lU.be.ChatInput,lU.JT.ParallelLimit)})},[]),tX=(0,n.useCallback)(()=>{tP(!1),tF.current=null;let e=lN.XT.tryResolve(ed.F.Entitlement);e?.openUsagePage()},[]),tY=(0,n.useRef)(()=>{}),tJ=(0,n.useMemo)(()=>(0,s.jsx)(k,{mode:tD,onClose:tZ,onUpgrade:tK,onManageUsage:tX,onContinue:()=>tY.current(),limit:tj,showUpgradeButton:tB,isCN:tV}),[tZ,tK,tX,tD,tj,tB,tV]),t$=(0,n.useRef)("idle"),tq=(0,n.useRef)(null),tQ=(0,n.useRef)(new Map),t0=(0,o.A)((e,t,i)=>{tQ.current.set(e,{editorState:t,isEmpty:i})}),t1=(0,o.A)(e=>tQ.current.get(e)||{editorState:null,isEmpty:!0}),t2=(0,ec.h1)(ed.B.SessionStore),t3=(0,ec.h1)(ed.B.MessageStore),t4=(0,ec.h1)(ed.B.AgentPlanItemStore),t5=(0,ec.h1)(ed.B.RepoStore),t9=(0,ec.h1)(ed.B.AgentStore),t6=(0,ec.h1)(ed.B.ModelStore),t8=(0,ec.$Q)(ed.B.CNCommercialStore),t7=(0,ec.h1)(ed.B.StreamService),ie=(0,ec.h1)(ed.B.ModelAppService),it=(0,ec.$Q)(ed.F.ModelSelect),ii=(0,ef.fn)(),[ir,is]=(0,n.useState)(!1),[ia,io]=(0,n.useState)(!1),[il,ic]=(0,n.useState)(!1),[id,iu]=(0,n.useState)(!0),ih=(0,n.useRef)(!1),ip=(0,n.useRef)(null),im=(0,n.useRef)(!1),ig=(0,n.useRef)(0),i_=(0,n.useRef)(null),iy=t2.sessionStatus.use(e||""),iv=iy===e_.Ph.Stopping;(0,n.useEffect)(()=>{is(!1),io(!1),ih.current=!1,im.current=!1,ig.current=0,ic(!1),iu(!0)},[e,b]),(0,n.useEffect)(()=>()=>{ip.current&&clearTimeout(ip.current)},[]),(0,n.useEffect)(()=>{if(!b||!e||!ii)return;let t=ii.getScrollState().scrollTop;return ii.subscribeScrollState(e=>{let i=e.scrollHeight>e.clientHeight+1,r=e.scrollHeight-e.scrollTop-e.clientHeight;if(iu(e=>!i||r<=wB||!(r>=wz)&&e),Math.abs(e.scrollTop-t)>1){ic(!0);let t="u"80),r=Date.now()-ig.current{if(iv)return{disabled:!0,disabledTip:eL.localize("trae-chat-core.message-input.stopping",{},"Stopping...")}},[iv,eL]),iS=eJ||ib,ik=t2.sessionInitError.use(e||""),ix=t2.sessionById.use(e||""),iC=ix?.sessionType??i,iw=ix?.sessionType==="assistant_chat",iE=t5.selectedRepoUrl.use(),iT=t5.selectedBranch.use();t5.repos.use();let iI=(0,CP.q)(e=>e.selectedEnvironment),iR=(0,CO.M)(e=>e.value),iN="remote"!==iR,iA="worktree"===iR,iM=(0,CF.I)(e=>e.selectedProject),iP=(0,CF.I)(e=>e.projectsByMode),[ij,iL]=(0,n.useState)("collapsed"),[iD,iO]=(0,n.useState)(bo.Tasks),iF=t2.sessionPendingMessages.use(e??""),iU=(0,n.useMemo)(()=>iF.map(e=>{let t="",i=0;return e.query&&e.query.length>0?(t=e.query.filter(e=>"text"===e.type).map(e=>e.data.content).join(""),i=e.query.filter(e=>"image"===e.type).length):e.content&&e.content.length>0&&(t=e.content.filter(e=>"text"===e.type).map(e=>e.text_content).join(""),i=e.content.filter(e=>"image"===e.type).length),{userMessageId:e.messageId,query:e.query,content:t,interjectStatus:e.interjectStatus,deleteStatus:e.deleteStatus,multiMedia:i>0?Array(i).fill({type:"image",data:""}):void 0,isWorkMode:e1===lG.Uf.Work||e1===lG.Uf.Design}}),[iF,e1]);(0,n.useEffect)(()=>{iU.length>0&&iO(bo.Messages)},[iU.length]);let iV=(0,o.A)(async e=>{try{await ev.kd.deletePendingMessage(e,!0)}catch(e){em.logger.error("[MessageInput] Failed to delete pending message:",e)}}),iB=(0,o.A)(e=>{try{let t=ev.kd.editPendingMessage(e);if(!t)return;let i=tf.current;if(!i)return void em.logger.warn("[MessageInput] Editor not ready, cannot edit pending message");let r=wM(t);i.dispatchCommand(l.yP,void 0),r.length>0&&setTimeout(()=>{(0,l.xg)(r,i),i.focus()},0),rd(wO(t),e1)}catch(e){em.logger.error("[MessageInput] Failed to edit pending message:",e)}}),iz=(0,o.A)(async e=>{try{await ev.kd.sendNowPendingMessage(e)}catch(e){em.logger.error("[MessageInput] Failed to send pending message now:",e)}}),iW=(0,o.A)((t,i)=>{e&&ev.kd.reorderPendingMessages(e,t,i)});(0,n.useEffect)(()=>{t$.current="idle",em.logger.debug("[MessageInput] Wakeup status reset for session:",e)},[e]);let iH=(0,n.useRef)(!0);(0,n.useEffect)(()=>{let t=iH.current,i=e$;iH.current=i,t&&!i&&e&&"idle"===t$.current&&(tq.current&&clearTimeout(tq.current),tq.current=setTimeout(()=>{tq.current=null;let t=!!t2.sessionById.get(e);e&&"idle"===t$.current&&t&&(t$.current="waking",em.logger.debug("[MessageInput] Waking up sandbox on input start for session:",e),ev.kd.wakeupSandbox(e).then(t=>{t?(t$.current="awake",em.logger.debug("[MessageInput] Sandbox wakeup succeeded:",e)):(t$.current="idle",em.logger.warn("[MessageInput] Sandbox wakeup returned false, reset to idle"))}).catch(e=>{t$.current="idle",em.logger.error("[MessageInput] Sandbox wakeup failed:",e)}))},300),em.logger.debug("[MessageInput] Sandbox wakeup scheduled on input start (debounced 300ms)"))},[e$,e]),(0,n.useEffect)(()=>()=>{tq.current&&(clearTimeout(tq.current),tq.current=null)},[]),(0,n.useEffect)(()=>{let e;return tH>0&&tH!==tG.current&&(tW(!0),e=setTimeout(()=>tW(!1),600)),tG.current=tH,()=>{void 0!==e&&clearTimeout(e)}},[tH]);let iG=!e,iZ=(0,n.useMemo)(()=>lN.XT.tryResolve(ed.F.Navigate),[]),[iK,iX]=(0,n.useState)(()=>lN.XT.tryResolve(ed.F.Mention));(0,n.useEffect)(()=>{if(!iK){let e=lN.XT.tryResolve(ed.F.Mention);e&&iX(e)}},[iK,iI]);let iY=(0,n.useMemo)(()=>iK?.getMentionConfig?.(),[iK]),iJ=(0,n.useMemo)(()=>iY?.enableMention??!1,[iY]),[i$,iq]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=!1;if(iK?.getIsPastChatsEnabled)return iK.getIsPastChatsEnabled().then(t=>{e||iq(t)}).catch(e=>{em.logger.warn("[MessageInput] Failed to get isPastChatsEnabled:",e)}),()=>{e=!0}},[iK]);let[iQ,i0]=(0,n.useState)(()=>lN.XT.tryResolve(ed.F.SlashCommand));(0,n.useEffect)(()=>{if(!iQ){let e=lN.XT.tryResolve(ed.F.SlashCommand);e&&i0(e)}},[iQ,iI]),(0,n.useEffect)(()=>{let t=iQ||lN.XT.tryResolve(ed.F.SlashCommand);t?.setSessionId&&t.setSessionId(e)},[iQ,e]),(0,n.useEffect)(()=>{iQ?.setInputMode&&iQ.setInputMode(e1===lG.Uf.Work?"work":e1===lG.Uf.Design?"design":"code")},[iQ,e1]),(0,n.useEffect)(()=>{iQ?.prefetch&&iQ.prefetch()},[iQ,e,e1]),(0,n.useEffect)(()=>{iK?.setSessionId&&iK.setSessionId(e)},[iK,e]),(0,n.useEffect)(()=>{let e="",t=iT;e1===lG.Uf.Work||e1===lG.Uf.Design?(e=(0,vI.wx)()?"":iN?iM?.extra_info?.folder||"":iE||"",t=void 0):(0,vI.wx)()||!iN?"authorized"===e4?e=iE||"":(e="",t=void 0):e=iM?.extra_info?.folder||"",(e1===lG.Uf.Work||e1===lG.Uf.Design)&&(t=void 0);let i=iK||lN.XT.tryResolve(ed.F.Mention),r=iQ||lN.XT.tryResolve(ed.F.SlashCommand);if(r?.setRepoInfo&&r.setRepoInfo(e,t),i?.setRepoInfo&&i.setRepoInfo(e,t),r?.setContextKey){let i="global";e?i=t?`repo:${e}:${t}`:`repo:${e}`:iM?.remote_project_id?i=`project:${iM.remote_project_id}`:iM?.local_project_id&&(i=`project:${iM.local_project_id}`),r.setContextKey(i)}},[iK,iQ,iE,iT,iM,iN,e1,e4]);let i1=(0,n.useRef)(e1);(0,n.useEffect)(()=>{if(i1.current!==e1){if(tf.current){let e=tf.current.getEditorState().toJSON();t0(i1.current,e,e$)}tf.current?.dispatchCommand(l.yP,void 0);let e=t1(e1);if(e.editorState&&tf.current){let t=tf.current,i=t.parseEditorState(e.editorState);t.setEditorState(i),eq(e.isEmpty)}i1.current=e1}},[e1,e$,t0,t1]);let i2=(0,n.useRef)(null),i3=(0,o.A)(e=>{let t=Date.now(),i=200;i2.current&&i2.current.error===e&&t-i2.current.timestamplN.XT.tryResolve(ed.F.Storage)),i5=(0,o.A)(async(e,t)=>{if(!e||!t||"session"===e.page&&!e.sessionId||tE.current)return;let i=i4();if(i)try{let r=e.mode,s=tS.current[r],n=tk.current[r]||[],a=tx.current[r],o=vq(n),l=n.filter(e=>e.status!==_k.d8.Success||!e.tosUri).map(e=>e.name).filter(e=>e.length>0).slice(0,10);if(a&&0===n.length)return void(e.userId?await i.removeByUserId(t,e.userId):await i.removeByGuestKey(t));let c={version:vZ,updatedAt:Date.now(),scope:e,editorState:s,files:o,lostFileNames:l.length>0?l:void 0};e.userId?await i.setByUserId(t,c,e.userId):await i.setByGuestKey(t,c)}catch(e){em.logger.warn("[MessageInput] Failed to persist draft, user may not be authenticated:",e)}}),i9=(0,o.A)(()=>{eE||(tC.current&&clearTimeout(tC.current),tC.current=setTimeout(()=>{i5(tn,ta)},300))}),i6=(0,o.A)(e=>{if(!eE)if(tC.current&&(clearTimeout(tC.current),tC.current=null),e?.toHomePage&&tn){let e={...tn,page:"home",sessionId:void 0},t=vX(e);i5(e,t)}else i5(tn,ta)}),i8=(0,o.A)(async(e,t)=>{if(eE)return;let i=e.parsedQuery.some(e=>"string"==typeof e?e.trim().length>0:null!=e),r=v4(e);if(!i&&0===r.length)return;let s=t?.mode??tn.mode,n=t?.toHomePage?{...tn,page:"home",sessionId:void 0,mode:s}:{...tn,mode:s};if("session"===n.page&&!n.sessionId)return;let a=i4();if(!a)return;let o=i?(0,l.iw)(e.parsedQuery)??void 0:void 0;if(i&&!o)return void em.logger.warn("[MessageInput] Failed to serialize parsedQuery for draft persistence");tC.current&&(clearTimeout(tC.current),tC.current=null);let c=vX(n),d=vq(r),u={version:vZ,updatedAt:Date.now(),scope:n,editorState:o,files:d,lostFileNames:e.lostFileNames};try{n.userId?await a.setByUserId(c,u,n.userId):await a.setByGuestKey(c,u),tS.current[n.mode]=o,tk.current[n.mode]=r,tx.current[n.mode]=!1}catch(e){em.logger.warn("[MessageInput] Failed to persist input payload draft:",e)}}),i7=(0,o.A)(async(e,t)=>{await i8({parsedQuery:e,files:[]},t)}),re=(0,o.A)(async()=>{if(!ta)return;let e=i4();if(e)try{tn.userId?await e.removeByUserId(ta,tn.userId):await e.removeByGuestKey(ta)}catch(e){em.logger.warn("[MessageInput] Failed to clear persisted draft:",e)}}),rt=(0,o.A)(()=>{tn&&(tC.current&&(clearTimeout(tC.current),tC.current=null),tS.current[tn.mode]=void 0,tk.current[tn.mode]=[],tx.current[tn.mode]=!0,eq(!0),tf.current?.dispatchCommand(l.yP,void 0))});(0,o.A)(async()=>{rt(),await re()});let ri=(0,o.A)(async(e,t)=>{if(0===t.length)return;let i=i4();if(i)try{let r=new lB.DM(i);await r.saveMany(e,t,{userId:ts})}catch(e){em.logger.warn("[MessageInput] Failed to save attachment restore meta:",e)}}),rr=(0,o.A)(e=>{tN.current.add(e)}),rs=(0,o.A)(e=>{let t=new Set(e.map(e=>e.thumbnailUrl).filter(e=>!!e));for(let e of Array.from(tN.current))t.has(e)||(URL.revokeObjectURL(e),tN.current.delete(e))});(0,n.useEffect)(()=>()=>{for(let e of Array.from(tN.current))URL.revokeObjectURL(e);tN.current.clear()},[]);let rn="lite"===g&&(ix?ix.env===eu.nN.Remote||!!ix.sandbox:!iN),ra=e1===lG.Uf.Code?_x:"lite"===g?rn?_x:_C:_x,ro=lN.XT.tryResolve(ed.F.ExternalFile)?.isExternalFileUploadEnabled?.()??!1,{plugin:rl,addFiles:rc,setFiles:rd,getFiles:ru,getUploadedFiles:rh,getUploadedImages:rp,getUploadedAttachments:rm,clearFiles:rf,hasFiles:rg,isUploading:r_,hasFailed:ry,uploadMode:rv,attachmentBizType:rb,resetFileUploadDragState:rS}=vE({mode:e1,uploadMode:ra,getFilePath:R,onSaveToTempDir:I,onFilesChange:(0,n.useCallback)((e,t,i=[])=>{em.logger.debug("[MessageInput] files changed:",{workFiles:e,codeFiles:t,designFiles:i}),tk.current={...tk.current,work:e,code:t,design:i},rs([...e,...t,...i]),tm(e=>e+1);let r=e1===lG.Uf.Design?i:e1===lG.Uf.Work?e:t,s=r.some(e=>e.status===_k.d8.Uploading||e.status===_k.d8.Pending),n=r.some(e=>e.status===_k.d8.Error||e.status===_k.d8.CheckFailed);tl(s),td(n),th(t.filter(e=>e.status===_k.d8.Success&&e.type?.startsWith("image/")).length),i9()},[e1,i9]),onError:i3}),rk=(0,o.A)(async(e,t,i)=>{let r=e.filter(e=>e.type.startsWith("image/")&&e.tosUri&&!e.thumbnailUrl);if(0===r.length)return;let s={},n=r.filter(e=>(0,y7.SJ)(e.tosUri)),a=r.filter(e=>!!wp(e.tosUri)),o=r.filter(e=>!(0,y7.SJ)(e.tosUri)&&!wp(e.tosUri));if(n.length>0&&Object.assign(s,await wv(n)),o.length>0){let e=o.map(e=>e.tosUri),t=await wn.tk.getImageUrls(e),i=t?.data?.url_map;if(i)for(let[e,t]of Object.entries(i))t&&(s[e]={cdnURL:t,thumbnailUrl:t})}a.length>0&&Object.assign(s,await wy(a,rr)),tR.current!==i||0===Object.keys(s).length||rd(ru(t).map(e=>e.tosUri&&s[e.tosUri]?{...e,...s[e.tosUri]}:e),t)}),rx=new Set(["builtin","command","skill"]),rC=(0,n.useCallback)(async()=>{let e=iQ||lN.XT.tryResolve(ed.F.SlashCommand);if(!e)return[];try{let t=await e.provideSlashCommandGroups({searchText:""}),i=[];for(let e of t)for(let t of e.items)rx.has(t.category)&&!t.disabled&&i.push(`/${t.name.toLowerCase()}`);return i}catch(e){return em.logger.warn("[MessageInput] Failed to get slash commands for RTC voice",e),[]}},[iQ]),rw=(0,n.useCallback)(()=>{if(!e)return;let t=t2.lastAgentMessage.get(e);if(!t)return;let i=t3.messageAgentPlanItemIds.get(t.messageId);if(!i||0===i.length)return;let r=t4.agentPlanItemsByIds.get([...i]),s=(0,ey.Z)(r.filter(Boolean));return s?s.slice(0,2e3):void 0},[e,t2,t3,t4]),rE=(0,n.useCallback)(async e=>{let t=iQ||lN.XT.tryResolve(ed.F.SlashCommand);if(t)try{let i=e.replace(/^\/+/,"").toLowerCase();for(let e of(await t.provideSlashCommandGroups({searchText:""})))for(let t of e.items)if(t.name.toLowerCase()===i&&!t.disabled)return{type:l.$1.SlashCommand,id:t.id,command:t.name,displayName:t.displayName,commandType:t.category,content:t.extra?.content,hasArgumentsVar:t.extra?.hasArgumentsVar,parameters:t.parameters,documentation:t.documentation,extra:t.extra};return}catch(t){em.logger.warn("[MessageInput] Failed to resolve slash command by name",{name:e},t);return}},[iQ]),rT=(0,n.useRef)(void 0),rI=!e8,rR=(0,n.useMemo)(()=>{if(!rI)return;let e=({children:e})=>(0,s.jsx)(bn.L,{showPopover:!0,onLogin:()=>rT.current?.(),children:e});return e.displayName="VoiceCallUnlockWrapper",e},[rI]),rN=eZ||iv||(0,e_.UL)(iy),rA=(0,n.useCallback)((e,t)=>{let i=lN.XT.tryResolve(ed.F.Tea);i?.report(e,t??{})},[]),rM=(0,n.useMemo)(()=>vG(e1,iC,D),[e1,iC,D]),{plugin:rP,isActive:rj,isInputLocked:rL,isNearTimeLimit:rD,getRefinedTextSnapshot:rO,clearRefinedTextSnapshot:rF}=vV({enabled:eU&&e8,disabled:!e8||rN,transport:M,voiceOptions:j,shortcutConfig:L,editorRef:tf,getAvailableSlashCommands:rC,getLastReply:rw,getSlashCommandByName:rE,getCurrentInputMode:(0,n.useCallback)(()=>e1===lG.Uf.Work?"work":"code",[e1]),onVoiceCall:rM,voiceCallActive:O,voiceCallWrapper:rR,onTeaReport:rA}),rU=(0,n.useMemo)(()=>{if(rL)return{disabled:!0}},[rL]),rV=iS||rU,rB=(0,n.useRef)(rj);rB.current=rj,(0,n.useEffect)(()=>{rD&&wH.info("You have 1 minute remaining of voice time.")},[rD]);let{addItems:rz}=(0,eS.gz)({editorRef:tf,onError:e=>{em.logger.error("[MessageInput] Add to chat error:",e)}}),rW=(0,o.A)(e=>{rz(e)}),rH=!e8,rG=(0,o.A)(async()=>{tC.current&&(clearTimeout(tC.current),tC.current=null);let e=tn.mode,t=tf.current;t&&(tS.current[e]=t.getEditorState().toJSON()),tx.current[e]=e$,await i5(tn,ta);let i=lN.XT.tryResolve(ed.F.User);i?.login()});rT.current=rG;let{isDragging:rZ,isInternalDrag:rK,dropZoneProps:rX,resetDragState:rY}=(0,eS.dY)({enabled:!rH,onDrop:rW,onInvalidDrop:()=>{em.logger.warn("[MessageInput] Invalid drop")},workspaceRoot:ix?.mainFolder}),rJ=(0,n.useMemo)(()=>{if(!tU)return!1;let e=tU.server_time_ms??Date.now();return e>=tU.solo_fission_start_time&&e<=tU.solo_fission_expire_time},[tU]),r$=(0,n.useMemo)(()=>!!tU&&(tU.server_time_ms??Date.now()){if(tU?.commercial_activities?.length)return tU.commercial_activities.find(e=>1===e.activity_type)},[tU?.commercial_activities]),r0=6048e5,r1=(0,n.useMemo)(()=>{if(!rQ)return!1;let e=(tU?.server_time_ms??Date.now())-rQ.end_time_ms;return e>0&&e<=r0},[rQ,tU?.server_time_ms]),r2=t2.allSessions.use(),r3=(0,n.useMemo)(()=>!!rQ&&r2.some(e=>{let t=(0,C7.st)(e.createdAt);return t>=rQ.start_time_ms&&t<=rQ.end_time_ms}),[r2,rQ]),r4=(0,o.A)(async()=>{let e=lN.XT.tryResolve(ed.F.User);e?.openSoloCodeModal?await e.openSoloCodeModal({onSuccess:()=>{},onNoAuth:()=>{},onClose:e=>{}}):d.oR.error("openSoloCodeModal not available")}),r5=(0,o.A)(()=>lN.XT.tryResolve(ed.F.ExternalFile)),r9=(0,o.A)(()=>{let e=r5();return e?.isLongTextInputEnabled?.()??!1}),r6=(0,o.A)(()=>{let e=r5();return e?.isExternalFileUploadEnabled?.()??!1}),r8=(0,o.A)(async(t,i)=>{if(!t||tA.current)return;let r=r5();if(r&&r9()){tA.current=!0;try{let s=await r.stageLongText({sessionId:e,text:t}),n=tf.current;if(!s||!n)return;if(n.focus(),i?.clearEditor!==!1){let e=n.getEditorState().toJSON();for(let t of e.root?.children??[])t.children=(t.children??[]).filter(e=>"text"!==e.type&&"linebreak"!==e.type);n.setEditorState(n.parseEditorState(JSON.stringify(e)))}(0,l.xg)([s],n)}catch(e){em.logger.error("[MessageInput] Failed to stage long text input:",e)}finally{tA.current=!1}}}),r7=(0,o.A)(e=>r6()?e.filter(e=>!w$(e)):[]),se=(0,o.A)(async t=>{if(0===t.length)return!1;let i=r5(),r=r7(t);if(!i?.stageExternalFiles||0===r.length)return!1;let s=tf.current;if(!s)return!1;let n=t.filter(w$);n.length>0&&rc(n);try{let t=await i.stageExternalFiles({sessionId:e,files:r});if(t.skippedTooLargeFiles.length>0){let e=t.skippedTooLargeFiles.join(", ");wH.error(eL.localize("chat-input.fileUpload.externalFileTooLarge",{fileNames:e},`The following files exceed 50 MB and were not added: ${e}`))}if(t.skippedOverLimitFiles.length>0){let e=t.skippedOverLimitFiles.join(", ");wH.error(eL.localize("chat-input.fileUpload.externalFileCountExceeded",{fileNames:e},`Only up to 10 files can be added at once. The following files were not added: ${e}`))}if(0===t.fileReferenceList.length)return!0;return s.focus(),(0,l.xg)(t.fileReferenceList,s),!0}catch(e){return em.logger.error("[MessageInput] Failed to stage external files:",e),wH.error(eL.localize("chat-input.fileUpload.externalFileStageFailed",{},"Failed to add the dragged file. Please try again.")),!1}}),st=(0,o.A)(e=>{let t=Array.from(e);r7(t).length>0?se(t):rc(t)});(0,n.useEffect)(()=>{let e=tf.current;if(e&&r9())return e.registerCommand(c.w,e=>{if(!(e instanceof ClipboardEvent))return!1;let t=e.clipboardData?.getData("text/plain");return!!t&&!(t.length<=wV)&&(e.preventDefault(),r8(t,{clearEditor:!1}),!0)},c.d)}),(0,n.useEffect)(()=>{let t=e=>{let t=e.getData("text/uri-list")||e.getData("text/plain");return t?t.split(/\r?\n/).map(e=>e.trim()).filter(e=>e&&!e.startsWith("#")).map(e=>{try{if(e.startsWith("file://")){let t=new URL(e),i=decodeURIComponent(t.pathname).split("/").filter(Boolean);return i[i.length-1]||""}return""}catch{return""}}).filter(Boolean):[]},i=i=>{if(!CY({container:tg.current,eventTarget:i.target}))return;let r=i.clipboardData;if(!r)return;let{files:s,filePaths:n,hasBlockedFiles:a,hasFolders:o}=CK({clipboardData:r,mode:r6()||e1===lG.Uf.Work||e1===lG.Uf.Design?"work":"code"}),l=e1===lG.Uf.Code&&a;l&&wH.info(eL.localize("chat-input.fileUpload.codeModePasteFileHint",{},"Code mode only supports pasted images. Switch to Work mode to paste any file as an attachment.")),o&&(i.preventDefault(),i3(eL.localize("chat-input.fileUpload.folderUploadNotSupported",{},"Folder upload is not supported")));let c=s.length>0||n.length>0;if(!c){let e=r.getData("text/plain");if(r9()&&e&&e.length>wV){i.preventDefault(),r8(e,{clearEditor:!1});return}l&&i.preventDefault();return}if(!CJ(i))return;let d=s.filter(e=>e.type.startsWith("image/"));if(e1!==lG.Uf.Work&&e1!==lG.Uf.Design&&d.length>0){let t=(0,vI.wx)()?eu.nN.Remote:iN?eu.nN.Local:eu.nN.Remote,r=it?.getHostContext?.(),s=(0,bs.Y6)(e_.DX.Code,t),n=(r?.agentSelectionPolicy?t9.selectedAgentBySession.get(e,r.agentSelectionPolicy)?.type:void 0)??r?.fallbackAgentType??s,a=t6.selectedModeBySession.get(e,n,r?.modelSelectionPolicy),o=t6.selectedModelBySession.get(e,n,r?.modelSelectionPolicy);if(!(a===wi.VY.Auto||o?.multimodal)){l&&i.preventDefault();return}}if(C$({hasUploadableFiles:c,isAuthenticated:e8})){i.preventDefault(),rG();return}i.preventDefault();let u=async()=>{if((e1===lG.Uf.Work||e1===lG.Uf.Design)&&n.length>0&&E)try{let e=await E(n,{inputMode:e1});if(e&&e.length>0)return wq(e)}catch(e){em.logger.error("[MessageInput] Failed to resolve pasted native file paths:",e)}return n.length>0&&0===s.length&&em.logger.warn("[MessageInput] Pasted native file paths are ignored because host resolver is unavailable"),s};(async()=>{let e=await u();if(0===e.length)return;let i=(0,vI.wx)()&&(e1===lG.Uf.Work||e1===lG.Uf.Code||e1===lG.Uf.Design),s=t(r),n=0,a=e.map(e=>{let t=e.type.startsWith("image/"),r=e.name,a=s[n];return(a&&(n+=1,t&&eC({originalName:r,mimeType:e.type})&&(r=a)),t&&i&&eC({originalName:r,mimeType:e.type})&&(tb.current+=1,r=ew({index:tb.current,mimeType:e.type,originalName:r})),r===e.name)?e:new File([e],r,{type:e.type,lastModified:e.lastModified})});if(r7(a).length>0)return await se(a);if(ra===_C&&I){let e=[];for(let t of a){let i=t;if(i.path){e.push(i);continue}try{let i=await I({file:t,filename:t.name}),r=Object.assign(t,{path:i.path});e.push(r)}catch(e){em.logger.error("[MessageInput] Failed to save file to temp dir:",e)}}e.length>0&&rc(e);return}rc(a)})()};return document.addEventListener("paste",i),()=>{document.removeEventListener("paste",i)}},[e1,rc,ra,i3,rG,eL,e8,iN,r6,r9,r7,E,I,e,se,r8]),(0,n.useEffect)(()=>{let t=t=>{let i=t.detail;if(i?.targetMode&&i.targetMode!==e1||"targetSessionId"in(i||{})&&(i?.targetSessionId===null&&e||"string"==typeof i?.targetSessionId&&i.targetSessionId!==e))return;i?.clearFirst&&rf();let r=i?.files;if(r&&r.length>0){let e=rc(r,{bypassTypeCheck:!0,uploadMode:i.uploadMode,rejectOnUploadError:!0});i?.onAccepted?.(i.requestId),e.then(()=>{i?.onUploaded?.(i.requestId)}).catch(e=>{em.logger.error("[MessageInput] External file upload failed:",e),i?.onRejected?.(i.requestId,e)})}};return document.addEventListener("solo.addFiles",t),()=>{document.removeEventListener("solo.addFiles",t)}},[e1,rc,rf,e]);let{asrService:si,isInitialized:sr,initError:ss}=lO({enabled:eF&&e8,language:N,onShowError:(0,n.useCallback)(e=>{wH.error(e)},[])}),sn=lF({asrService:si,recordRef:t_,onTextChange:(0,o.A)(e=>{em.logger.debug("[MessageInput] ASR text:",e)}),onError:(0,o.A)(e=>{em.logger.error("[MessageInput] ASR error:",e.message);let t=lN.XT.tryResolve(ed.F.Tea);t?.report(eb.qu.InputAsrClick,{action:"asr_failed",reason:e.message||"unknown"})}),onButtonClick:(0,o.A)(()=>{let e=lN.XT.tryResolve(ed.F.Tea);e?.report(eb.qu.InputAsrClick,{action:"asr_click",reason:""})}),onRecordStart:(0,o.A)(()=>{let e=lN.XT.tryResolve(ed.F.Tea);e?.report(eb.qu.InputAsrClick,{action:"asr_start",reason:""})}),onConnected:(0,o.A)(()=>{let e=lN.XT.tryResolve(ed.F.Tea);e?.report(eb.qu.InputAsrClick,{action:"asr_connected",reason:""})}),onRecordEnd:(0,o.A)((e,t,i)=>{if("user"===t||"system"===t){let t=lN.XT.tryResolve(ed.F.Tea);t?.report(eb.qu.InputAsrClick,{action:"asr_complete",reason:""}),e.length>0&&(ty.current+=1)}})}),sa=(0,n.useMemo)(()=>eX?l.eL.WorktreeStatusChecking:eZ?l.eL.Sending:iv?l.eL.Stopping:(0,e_.UL)(iy)?l.eL.Running:l.eL.WaitingInput,[eZ,iv,eX,iy]),so=iw?l.eL.WaitingInput:sa,sl=sa===l.eL.Running||sa===l.eL.Sending||sa===l.eL.Stopping,sc=t2.lastAgentMessage.use(e||"");(0,n.useMemo)(()=>sl&&!!sc?.userMessageContext?.is_ralph_loop,[sl,sc]);let sd=(0,n.useMemo)(()=>!(!sc?.userMessageContext?.is_ralph_loop||(0,we._H)(sc?.userMessageContext)),[sc]),su=(0,n.useMemo)(()=>lN.XT.tryResolve(ed.F.TasksHub),[]),sh=CM({sessionId:e,latestGoalMessageContext:sc?.userMessageContext,port:su,isStreaming:sl,expandStatus:ij,hubStatus:iD}),sp=t2.lastAgentMessageTaskId.use(e||""),sm=(0,n.useMemo)(()=>!!sp,[sp]);(0,n.useEffect)(()=>{iQ?.setStreamingStatus?.(sl)},[iQ,sl]),(0,n.useEffect)(()=>{iQ?.setRalphLoopRunning?.(sd)},[iQ,sd]);let sf=(0,o.A)(async t=>{if(e&&!iv)try{let i="hotkey"===t?eb.Po.StopHotkey:eb.Po.StopButton,r=await ev.kd.stopSession(e,i);if(!r.success){em.logger.error("[MessageInput] stopSession failed:",r.error),wH.error(eL.localize("trae-chat-core.message-input.stop-failed",{},"stop failed"));return}if(iF.length>0){let{mergedQuery:t,messageIds:i}=(0,CB.eR)(iF);if(t.length>0){let e=tf.current;if(e){e$||e.dispatchCommand(l.yP,void 0);let i=(0,CV.t)(t);em.logger.info("[MessageInput] Restoring pending messages to input, count:",iF.length),(0,l.xg)(i,e),e.focus()}}t2.relation.clearPendingMessages(e),i.forEach(e=>{ev.kd.removePendingMessageLocal(e)})}}catch(e){em.logger.error("[MessageInput] handleStop error:",e)}}),sg=(0,o.A)(e=>e.some(e=>"string"==typeof e?e.trim().length>0:null!=e)),s_=(0,o.A)((e,t)=>{if(r9()&&e&&e.length>wV&&!tf.current?.isComposing())return void r8(e);if(tA.current||!tn||tE.current)return;let i=tf.current;i&&(tS.current[tn.mode]=i.getEditorState().toJSON(),i9())}),sy=e1===lG.Uf.Work?"work":e1===lG.Uf.Design?"design":"code";(0,n.useEffect)(()=>{tx.current[sy]=e$},[sy,e$]),(0,n.useEffect)(()=>{let e=tT.current,t=tI.current;t&&t!==ta&&i5(e,t),tT.current=tn,tI.current=ta},[tn,ta,i5]);let sv=(0,n.useRef)(new Set),sb=(0,o.A)(()=>{let e=tf.current?.getEditorState().toJSON()??null;sv.current.forEach(t=>{t(e,e$)})});(0,n.useEffect)(()=>{sb()},[e$,sb]),(0,n.useEffect)(()=>{if(eE||tw.current===ta)return;let e=i4();if(!e)return;let t=tf.current;if(!t)return;let i=ru(e1);if(!e$||i.length>0){tw.current=ta;return}let r=tn,s=e=>e.scope.page===r.page&&e.scope.mode===r.mode&&e.scope.sessionId===r.sessionId,n=async(e,i)=>{if(tE.current=!0,e.editorState)try{let i=t.parseEditorState(e.editorState);t.setEditorState(i),tS.current[r.mode]=e.editorState}catch{await i()}if(e.files.length>0){let t=vQ(e.files),i=wR(r.mode)??e1,s=tR.current+1;tR.current=s,rd(t,i),rk(t,i,s).catch(e=>{em.logger.warn("[MessageInput] Failed to hydrate restored draft thumbnails:",e)})}e.lostFileNames&&e.lostFileNames.length>0&&(T?.info??d.oR.info)(eL.localize("trae_chat_core.message_input.draft_restore_partial",{},"Some files in the input were not fully uploaded last time and could not be restored.")),setTimeout(()=>{tE.current=!1},0)};(async()=>{try{let t=r.userId;if(t){let i=await e.getByUserId(ta,t);if(i){let r=v0(i);if(!r||vJ(r)||!s(r)){await e.removeByUserId(ta,t),tw.current=ta;return}tw.current=ta,await n(r,async()=>{await e.removeByUserId(ta,t)});return}}let i=await e.getByGuestKey(ta);if(!i){tw.current=ta;return}let a=v0(i);if(!a||vJ(a)||!s(a)){await e.removeByGuestKey(ta),tw.current=ta;return}tw.current=ta,await n(a,async()=>{await e.removeByGuestKey(ta)})}catch(e){em.logger.warn("[MessageInput] Failed to restore draft:",e),tw.current=ta}})()},[tn,ta,e$,tp,i4,ru,e1,T,eL,rd]),(0,n.useEffect)(()=>{if(eE||!tn.userId)return;let e=i4();e&&(async()=>{try{await e.migrateGuestToUser(ta,"preferLatest",tn.userId)}catch(e){em.logger.warn("[MessageInput] Failed to migrate guest draft to user draft:",e)}})()},[tn.userId,ta,i4]),(0,n.useEffect)(()=>{if(eE)return;let e=()=>{i5(tn,ta)};return window.addEventListener("pagehide",e),()=>{window.removeEventListener("pagehide",e),i6()}},[i5,i6,tn,ta]),(0,n.useEffect)(()=>{try{let t={isInputEmpty:()=>eQ.current,clearInput:()=>{let e=tf.current;e?(e.dispatchCommand(l.yP,void 0),em.logger.info("[MessageInput] Input cleared")):em.logger.warn("[MessageInput] Editor not ready, cannot clear input")},clearAll:()=>{let t=tf.current;t&&t.dispatchCommand(l.yP,void 0),tQ.current.clear(),rd([],lG.Uf.Work),rd([],lG.Uf.Code),rd([],lG.Uf.Design),tS.current={},tk.current={work:[],code:[],design:[]},tx.current={work:!0,code:!0,design:!0},eq(!0),tC.current&&(clearTimeout(tC.current),tC.current=null),tw.current=void 0,tE.current=!1,tT.current=void 0,tI.current=void 0;let i=ts||eo.Zz.currentUser.get()?.userId,r=i4();if(r){let t=e?[{page:"session",sessionId:e}]:[{page:"home"}],s=["work","code","design"];for(let e of t)for(let t of s){let s=vX({...e,mode:t});i&&r.removeByUserId(s,i).catch(e=>{em.logger.warn("[MessageInput] Failed to clear persisted user draft on clearAll:",e)}),r.removeByGuestKey(s).catch(e=>{em.logger.warn("[MessageInput] Failed to clear persisted guest draft on clearAll:",e)})}}em.logger.info("[MessageInput] All input state cleared (editor, files, drafts, caches)")},setInputContent:(e,t=!0)=>{if(rB.current)return void em.logger.warn("[MessageInput] setInputContent blocked: RTC voice is active, protecting voice draft");let i=tf.current;if(!i)return void em.logger.warn("[MessageInput] Editor not ready, cannot set input content");let r=e.filter(e=>"string"!=typeof e&&"object"==typeof e&&null!==e&&"type"in e&&String(e.type).includes("slash")).length;em.logger.info("[MessageInput] setInputContent called, clearFirst:",t,"total items:",e.length,"slash-like items:",r),t&&i.dispatchCommand(l.yP,void 0),setTimeout(()=>{try{em.logger.info("[MessageInput] inserting parsedQuery into editor, raw parsedQuery:",e),(0,l.xg)(e,i),i.focus(),em.logger.info("[MessageInput] setInputContent focus finished")}catch(t){em.logger.error("[MessageInput] setInputContent failed:",t,"raw parsedQuery:",e)}},0)},restoreInputPayload:(e,t)=>{if(rB.current)return void em.logger.warn("[MessageInput] restoreInputPayload blocked: RTC voice is active");let i=tf.current;if(!i)return void em.logger.warn("[MessageInput] Editor not ready, cannot restore input payload");let r=wR(t?.mode)??e1,s=v4(e),n=tR.current+1;tR.current=n,i.dispatchCommand(l.yP,void 0),rd(s,r),s.length>0&&rk(s,r,n).catch(e=>{em.logger.warn("[MessageInput] Failed to hydrate restored thumbnails:",e)}),setTimeout(()=>{try{e.parsedQuery.length>0&&(0,l.xg)(e.parsedQuery,i),t?.focus!==!1&&i.focus(),em.logger.info("[MessageInput] restoreInputPayload finished, parsed items:",e.parsedQuery.length,"files:",s.length)}catch(t){em.logger.error("[MessageInput] restoreInputPayload failed:",t,"raw payload:",e)}},0)},prependInputContent:e=>{if(rB.current)return void em.logger.warn("[MessageInput] prependInputContent blocked: RTC voice is active, protecting voice draft");let t=tf.current;t?(t.update(()=>{let e=t=>{t.getChildren().forEach(t=>{"send-message-symbol"===t.getType()?t.remove():(0,c.ff)(t)&&e(t)})},t=(0,c.Ni)();e(t),t.selectStart()}),setTimeout(()=>{try{(0,l.xg)(e,t),t.focus()}catch(t){em.logger.error("[MessageInput] prependInputContent failed:",t,"raw parsedQuery:",e)}},0)):em.logger.warn("[MessageInput] Editor not ready, cannot prepend input content")},getInputContent:()=>tf.current?.getEditorState().toJSON()??null,restoreInputContent:e=>{let t=tf.current;if(!t)return void em.logger.warn("[MessageInput] Editor not ready, cannot restore input content");try{let i=t.parseEditorState(e);t.setEditorState(i)}catch(e){em.logger.error("[MessageInput] Failed to restore input content:",e)}},focusInput:()=>{let e=tf.current;e?e.focus():em.logger.warn("[MessageInput] Editor not ready, cannot focus input")},subscribeContentChange:e=>(sv.current.add(e),()=>{sv.current.delete(e)}),flushDraft:e=>{i6(e)},persistParsedQueryDraft:(e,t)=>i7(e,t),persistInputPayloadDraft:(e,t)=>i8(e,t),setRevertImages:e=>{if(0===e.length)return;let t=e.map((e,t)=>({id:`revert-image-${t}-${e}`,name:wI(e,t),size:0,type:"image/png",status:_k.d8.Success,tosUri:e}));rd(t);let i=t.filter(e=>(0,y7.SJ)(e.tosUri)),r=t.filter(e=>!(0,y7.SJ)(e.tosUri));if(i.length>0&&Promise.all(i.map(e=>(0,wn.JX)(e.tosUri).then(t=>({tosUri:e.tosUri,dataUrl:t})))).then(e=>{let i={};for(let{tosUri:t,dataUrl:r}of e)r&&(i[t]=r);if(Object.keys(i).length>0){let e=t.map(e=>e.tosUri&&i[e.tosUri]?{...e,thumbnailUrl:i[e.tosUri]}:e);rd(e)}}).catch(()=>{}),r.length>0){let e=r.map(e=>e.tosUri);wn.tk.getImageUrls(e).then(e=>{let i=e?.data?.url_map;if(!i)return;let r=t.map(e=>e.tosUri&&i[e.tosUri]?{...e,cdnURL:i[e.tosUri],thumbnailUrl:i[e.tosUri]}:e);rd(r)}).catch(()=>{})}}};lN.XT.registerInstance(ed.F.Input,t)}catch(e){em.logger.error("[MessageInput] Failed to register IInputPort:",e)}return()=>{sv.current.clear()}},[]);let sS=(0,n.useMemo)(()=>{if((0,vI.Ov)()!==vI.uC.TraeIDE)return e1===lG.Uf.Code?e_.DX.Code:e1===lG.Uf.Design?e_.DX.Design:e_.DX.Work},[e1]),sk=(0,n.useMemo)(()=>(0,vI.wx)()?eu.nN.Remote:iN?eu.nN.Local:eu.nN.Remote,[iN]),sx=it?.getHostContext?.(),sC=sx?.agentSelectionPolicy,sw=sx?.modelSelectionPolicy,sE=(0,o.A)(e=>{let t=(0,bs.Y6)(sS??e_.DX.Code,sk);return sC?t9.selectedAgentBySession.get(e,sC)?.type??sx?.fallbackAgentType??t:t}),sT=(0,o.A)(t=>{if(eZ||void 0!==t&&!t?.trim()&&0===tu)return;let i=sE(e),r=e?t2.sessionById.get(e):void 0,s=r?.env??sk;ie.prefetchForAutoMode({sessionId:e,env:s,agentType:i,requireMultimodal:tu>0})}),sI=(0,o.A)(e=>{r9()&&e&&e.length>wV&&!tf.current?.isComposing()?r8(e):sT(e)});(0,n.useEffect)(()=>{sT()},[sS,sk,e,tu]);let sR=(0,o.A)(e=>{let t=sE(e);return t6.selectedModelBySession.get(e,t,sw)}),sN=(0,o.A)(e=>{let t=sE(e);return t6.selectedModeBySession.get(e,t,sw)}),sA=(0,o.A)(e=>{let t=sR(e.sessionId),i=sN(e.sessionId),r=i===wi.VY.Auto,s=e.sessionId?t2.sessionById.get(e.sessionId):void 0;return{...C9({parsedQuery:e.parsedQuery,mode:sS,session:s,sessionType:s?.sessionType,selectedProject:s?void 0:iM,selectedEnvironment:s?void 0:iI,selectedRepoUrl:s?void 0:iE,isLocalMode:iN,isWorktreeMode:!!(s?.worktreeData||iA),appType:(0,vI.Ov)(),chatModel:r?"auto":t?.config_name??t?.display_name??t?.name,chatModelMode:i,isPresetModel:t?.is_preset,imageCount:e.imageCount,attachmentCount:e.attachmentCount,asrCount:e.asrCount,isAsrRewrite:e.isAsrRewrite,useFastRequest:t8?.fastRequestIsEnabled.get(),chatLayoutVariant:y,...sS===e_.DX.Design?(()=>{let e=window.__soloDesignLibraryLatestSelection;return{designLibraryId:e?.library?.design_library_id||"",librarySource:e&&"clear"!==e.action?e.library?.is_builtin?"builtin":"custom":"free"}})():{}}),session_id:e.sessionId||"",message_id:e.messageId||""}}),sM=(0,o.A)(e=>{let t=lN.XT.tryResolve(ed.F.Tea);if(!t)return;let i=e.sessionId?t2.sessionById.get(e.sessionId):void 0,r=e.parsedQuery?.some(e=>"slash_command"===e.type&&"string"==typeof e.command&&"ralph-loop"===e.command.toLowerCase()),s=i?.isRalphLoop||r?1:0;t.report(eb.qu.CodeCompTrigger,{...sA({parsedQuery:e.parsedQuery,sessionId:e.sessionId,messageId:e.messageId,imageCount:e.imageCount,attachmentCount:e.attachmentCount,asrCount:e.asrCount,isAsrRewrite:e.isAsrRewrite}),trigger_mode:e.triggerMode||"enter",message_source:"manual",is_ralph_loop:s,is_ralph_loop_trigger:+!!r})}),sP=(0,o.A)(async(t,n)=>{if(!eE&&!eZ){eK(!0);try{let a=eo.vN.isExternal.get(),o=eo.vN.isEnterprise.get();if(a&&!o&&!eo.Zz.payStatus.get()){(0,lV.o3)({name:"pay_status_retry_triggered",categories:{source:"send_message"}});let e=lN.XT.tryResolve(ed.F.User);if(e?.refreshPayStatus)try{await e.refreshPayStatus()}catch{}if(!eo.Zz.payStatus.get()){(0,lV.o3)({name:"pay_status_retry_failed",categories:{source:"send_message"}});let e=(0,vI.wx)()?eL.localize("trae-chat-core.message-input.pay-status-unavailable-web",{},"Unstable network connection. Please refresh the page."):eL.localize("trae-chat-core.message-input.pay-status-unavailable-lite",{},"Unstable network connection. Please restart the client.");d.oR.error(e);return}}if(a&&!o){if(r1&&rq&&r3){let e=eo.Zz.currentUser.get()?.userId;if(e){let i=lN.XT.tryResolve(ed.F.Storage);if(i){let r=`free_access_ended_popover_shown_${e}`;if(!await i.get(r)){tF.current={parsedQuery:t,payload:n},tO("free_access_ended"),tP(!0),await i.set(r,!0);return}}}}if(r$&&!rq)return void d.oR.info(eL.localize("trae-chat-core.message-input.activity-not-started-toast",{},"The activity has not started yet. Please stay tuned for updates."));if(rJ&&!rq)return void r4();if(!rJ&&!rq)return void d.oR.info(eL.localize("trae-chat-core.message-input.no-access-toast",{},"You don't have access to TRAE Work yet. Please stay tuned for updates."))}if(iy===e_.Ph.Creating)return void em.logger.warn("[MessageInput] Please wait for Env Creating");if(r_())return void em.logger.warn("[MessageInput] Please wait for files to finish uploading");if(ry())return void em.logger.warn("[MessageInput] Some files failed to upload");let u=rp(),h=rm(),{imagesForSend:p,attachmentsForSend:m,hasUploadedFiles:f,multiMedia:g,attachmentRestoreMetas:_}=v3({activeMode:e1,uploadedImages:u,uploadedAttachments:h,fileUploadMode:rv,attachmentBizType:rb});if(!sg(t)&&!f)return;wH.clear();let y=(0,CV.L)(t,g),v=ex?.(y)??y,b=[];for(let e of t)if("object"==typeof e&&null!==e&&"type"in e&&e.type===l.$1.SlashCommand){let t=e;t.id&&t.command&&b.push({id:t.id,command:t.command})}b.length>0&&iQ?.recordRecentlyUsedBatch&&iQ.recordRecentlyUsedBatch(b).catch(e=>{em.logger.warn("[MessageInput] Failed to record recently used slash commands:",e)});let S=t7.createUserMessage({sessionId:e,sessionType:iC,agentId:r,agentType:"assistant_chat"===iC||"assistant_sub_chat"===iC?"assistant":void 0,query:v,mode:sS,env:sk}),k={parsedQuery:t,triggerMode:n?.triggerMode,imageCount:p.length,attachmentCount:m.length,asrCount:ty.current,isAsrRewrite:(()=>{let e=rO();if(!e)return!1;let t="";return tf.current?.getEditorState().read(()=>{t=(0,c.Ni)().getTextContent().trim()}),t!==e})()};if(!e){let e=iP[e1===lG.Uf.Work?"work":e1===lG.Uf.Design?"design":"code"],t=CQ({isLocalMode:iN,soloMode:sS,selectedProject:iM,isWorktree:iA,selectedEnvironment:iI,selectedRepoUrl:iE,selectedBranch:iT,hasProjects:e.length>0,githubAuthStatus:e4});if(!t.valid)return void("trae-chat-core.project.send_tip"===t.errorMessageKey?CF.I.getState().triggerValidationTip():wH.error(eL.localizeWithReactNode(t.errorMessageKey,{helpDoc:(0,s.jsx)(wt.O,{})},t.errorMessageDefault)));let r=lN.XT.tryResolve(ed.F.Worktree);if(r&&iA&&!r.checkWorktreeAvailable())return;try{let e={source:iE&&sS===e_.DX.Code?{repo_url:iE,repo_name:t5.selectedRepoName.get(),ref:iT}:void 0,mode:sS,env:sk,local_project_id:iN?iM?.local_project_id:void 0,environment_id:iN?void 0:iI?.id,userMessage:S,session_type:i,auto_create_project:!1,is_worktree:"worktree"===CO.M.getState().value||void 0,worktree_base_branch:iA?iT:void 0};em.logger.info("[MessageInput] Creating session and sending message",e,iN,"isWorktreeMode:",iA,"localRemoteValue:",iR);let{result:t,error:r}=await ev.kd.createSessionAndSendMessage(e);if(r){if(r.code===Cj.Yb.SOLO_AGENT_PARALLEL_LIMIT)tL(r.error?.limit),tO("parallel_limit"),tP(!0);else{let e=(0,CL.Dl)(r.code);wH.error(eL.localizeWithReactNode(e.i18nKey,{helpDoc:(0,s.jsx)(wt.O,{})},e.defaultMessage))}return}if(!t)return void em.logger.error("[MessageInput] Failed to create session and send message");if(sM({...k,sessionId:t.sessionId,messageId:t.userMessageId}),await ri(t.sessionId,_),ty.current=0,rF(),tv(),rf(),n?.skipClearEditor||(rt(),re()),t.projectId){let e=(0,vI.Ov)()===vI.uC.SoloLite?sk===eu.nN.Remote?iM?.remote_project_id:iM?.local_project_id:t.projectId;e&&ev.kd.updateProjectAndSessionActivity(e)}iZ&&iZ.navigateSessionDetailPage(t.sessionId)}catch(e){em.logger.error("[MessageInput] createSessionAndSendMessage error:",e)}return}let x=t2.sessionMessages.get(e),C=x.length>0?x[x.length-1]:null,w=!!C?.taskId,E=so===l.eL.WaitingInput,T=!E&&!!C?.userMessageContext?.is_ralph_loop,I=su?.getSendNowEnabled?.();if(!E&&!T&&!w&&!I)return void em.logger.warn("[MessageInput] Cannot append message: last message has no taskId");T&&(await ev.kd.stopSession(e,eb.Po.StopButton),await ev.kd.waitForSessionStopped(e));try{let t;if(t=E||T?await ev.kd.sendMessage({userMessage:S,forceNewTurn:T||void 0,messageSource:"manual"}):await ev.kd.appendMessage({userMessage:S,messageSource:"manual"}),t?.error){if(t.error.code===Cj.Yb.SOLO_AGENT_PARALLEL_LIMIT){tL(t.error.error?.limit),tO("parallel_limit"),tP(!0);let e=lN.XT.tryResolve(ed.F.Tea);e?.report("icube_parallel_limit_reached",{limit:t.error.error?.limit})}else em.logger.error("[MessageInput] Failed to send message:",t.error.message);return}ii?.unlockAndScrollToLastUserMessage("smooth"),sM({...k,sessionId:e,messageId:t?.userMessageId??S.messageId}),await ri(e,_),ty.current=0,rF(),tv(),rf(),n?.skipClearEditor||(rt(),re());let i=t2.sessionById.get(e),r=i?.localProjectId;r&&ev.kd.updateProjectAndSessionActivity(r,e)}catch(i){em.logger.error("[MessageInput] sendMessage/appendMessage error:",i);let e=i,t=(0,CL.Dl)(e.code);wH.error(eL.localizeWithReactNode(t.i18nKey,{helpDoc:(0,s.jsx)(wt.O,{})},t.defaultMessage))}}finally{eK(!1)}}});tY.current=()=>{tP(!1);let e=tF.current;tF.current=null,e&&sP(e.parsedQuery,e.payload)};let sj=(0,o.A)(()=>{tf.current&&(tf.current.focus(),(0,l.EA)("/",tf.current))}),sL=iK?.getMentionTriggerChar?.()||"@",sD=(0,o.A)(()=>{iK?.reportMentionReferenceIconClicked?.(),tf.current&&(tf.current.focus(),(0,l.EA)(sL,tf.current))}),sO=e1===lG.Uf.Code&&!ro&&tu>=5,sF=sE(e),sU=t6.selectedModeBySession.use(e,sF,sw),sV=t6.selectedModelBySession.use(e,sF,sw),sB=e1===lG.Uf.Work||e1===lG.Uf.Design||sU===wi.VY.Auto||(sV?.multimodal??!1),sz=(0,n.useMemo)(()=>"compact"===et?null:(0,s.jsxs)(s.Fragment,{children:[(iJ||eT&&e1===lG.Uf.Work)&&(0,s.jsx)(bn.L,{showPopover:rH,onLogin:rG,children:(0,s.jsx)(u.A,{content:"#"===sL?eL.localize("chat-input.messageInput.contextTooltip.mention",{},"Enter '#' to add context"):eL.localize("chat-input.messageInput.tooltip.mention",{},"Mention"),side:"top",disabled:rH,children:(0,s.jsx)("button",{className:"messageInputToolbarIconBtn",onClick:rH?void 0:sD,disabled:rH,children:"#"===sL?(0,s.jsx)(C.Sw,{}):(0,s.jsx)(C.jH,{})})})}),(0,s.jsx)(bn.L,{showPopover:rH,onLogin:rG,children:(0,s.jsx)(u.A,{content:eL.localize("chat-input.messageInput.tooltip.command",{},"Command"),side:"top",disabled:rH,children:(0,s.jsx)("button",{className:"messageInputToolbarIconBtn",onClick:rH?void 0:sj,disabled:rH,children:(0,s.jsx)(C.mX,{})})})}),sB&&(0,s.jsx)(bn.L,{showPopover:rH,onLogin:rG,children:(0,s.jsx)(wQ,{mode:e1,onUpload:st,allowAnyFile:ro,disabled:sO||rH,disabledForAuth:rH,onNativeFileSelect:x})}),ek]}),[sj,sD,e1,st,ro,ra,sO,sB,x,rH,rG,iJ,sL,eL,et,ek]),sW=(0,n.useRef)(null),sH=(0,o.A)(async()=>{if(x){let e=await x();e?.length&&st(wq(e));return}sW.current?.click()}),sG=(0,o.A)(e=>{let t=e.target.files;t&&t.length>0&&st(Array.from(t)),sW.current&&(sW.current.value="")}),sZ=(0,ec.$Q)(ed.F.PermissionMode),sK=(0,el.C)(e=>e.autoRunConfig?.useNewPermissionModel!==!1),sX=t8?.cnCommercialVisible.get()??!1,sY=(0,n.useMemo)(()=>{let e=[{component:(0,s.jsx)(br,{}),position:"left",visible:!!sZ&&sK}];return"compact"===et&&e.unshift({component:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(w,{enableMention:iJ,mentionTriggerChar:sL,isMultimodalSupported:sB,isCodeMode:e1===lG.Uf.Code,disabled:rH,onMentionClick:sD,onSlashClick:sj,onFileUploadClick:sH}),!x&&(0,s.jsx)("input",{ref:sW,type:"file",accept:e1===lG.Uf.Code?wX:"",multiple:!0,style:{display:"none"},onChange:sG})]}),position:"left",visible:!0}),{toolbarItems:e}},[et,e,eE,sZ,sK,sX,iJ,sL,sB,e1,rH,sD,sj,sH]),sJ=(0,n.useCallback)(()=>{let e=lN.XT.tryResolve(ed.F.Entitlement);e?.upgrade({openFrom:(0,lU.bC)(lU.be.ChatInput,lU.JT.ModelAccessRestricted)})},[]),s$=(0,n.useMemo)(()=>(0,s.jsxs)("div",{className:"model-select-area",children:[(0,s.jsx)(er.M,{sessionId:e,isAutomationMode:eE}),(0,s.jsx)("div",{className:"model-select-area-model",children:(0,s.jsx)(bn.L,{showPopover:rH,onLogin:rG,children:(0,s.jsx)(lz.Vv,{sessionId:e,env:sk,mode:sS,disabled:rH,userIdentity:tU?.user_pay_identity,onAccessRestrictedClick:sJ})})})]}),[e,eE,sk,sS,rH,rG,tU?.user_pay_identity,sJ]),sq=(0,n.useMemo)(()=>({inputPlaceholder:e1===lG.Uf.Code?eL.localize("trae-chat-core.input.code_placeholder",{},"Decode your technical intent, deliver production-ready code."):e1===lG.Uf.Design?eL.localize("trae-chat-core.input.design_placeholder",{},"Describe your design needs, generate professional page prototypes."):eL.localize("trae-chat-core.input.work_placeholder",{},"Analyze your work needs, ship pro-level deliverables."),send:eL.localize("chat-input.send",{},"Send"),stop:eL.localize("chat-input.stop",{},"Stop"),sending:eL.localize("trae-chat-core.message-input.sending",{},"Sending..."),stopping:eL.localize("trae-chat-core.message-input.stopping",{},"Stopping"),addNewDoc:eL.localize("chat-input.messageInput.addNewDoc",{},"Add new doc"),addNewRule:eL.localize("chat-input.messageInput.addNewRule",{},"Add new rule"),mentionSearchEmptyHint:eL.localize("chat-input.mention.search.emptyHint",{},"Type a file name to search"),mentionSearchPlaceholder:!iJ||!eT||(0,vI.wx)()&&(e1===lG.Uf.Work||e1===lG.Uf.Design)&&!e?"":(0,vI.ww)()?eL.localize("chat-input.mention.search.placeholder",{},"Type to search..."):eL.localize("chat-input.mention.search.artifact",{},"Search artifacts..."),slashSearchPlaceholder:eL.localize("chat-input.slash.search.placeholder",{},"Type to search..."),searchFilesByName:eL.localize("chat-input.mention.search.searchFilesByName",{},"Enter file name to search"),searchFolderByName:eL.localize("chat-input.mention.search.searchFolderByName",{},"Enter folder name to search"),unlink:eL.localize("chat-input.webPageMention.unlink",{},"Unlink"),connectBtnText:eL.localize("chat-input.webPageMention.connectBtnText",{},"Authorize"),connectTooltipText:eL.localize("chat-input.webPageMention.connectTooltipText",{},"Lark features detected. Please authorize to continue.")}),[eL,e1,e,eT,iJ]),sQ=(0,n.useMemo)(()=>({isLogin:e8,onLogin:rG}),[e8,rG]),s0=(0,n.useMemo)(()=>{if(!e8)return(0,s.jsx)(bn.A,{onLogin:rG})},[e8,rG]),s1=(0,n.useMemo)(()=>{em.logger.info("[MessageInput] Creating mentionProvider, mentionPort:",iK?"exists":"undefined","sessionId:",e);let t=(0,vI.wx)()&&(e1===lG.Uf.Work||e1===lG.Uf.Design)&&!e,i=((0,vI.wx)()||!iN)&&e1===lG.Uf.Code&&!e&&"unauthorized"===e4&&!e5,r=!iN&&e1===lG.Uf.Code&&!e&&"unauthorized"!==e4&&e5,s=!iN&&e1===lG.Uf.Code&&!e&&"authorized"===e4&&!e5&&!iE,n=t?eL.localize("chat-input.mention.empty.webWorkHomeNoFiles",{},wN["chat-input.mention.empty.webWorkHomeNoFiles"]):i?eL.localize("trae-chat-core.git.before_auth",{},"Please connect to GitHub first"):r?eL.localize("chat-input.mention.empty.repoLoading",{},wN["chat-input.mention.empty.repoLoading"]):s?eL.localize("chat-input.mention.empty.noRepoSelected",{},wN["chat-input.mention.empty.noRepoSelected"]):void 0;return{provideAssetMentionSymbols:iK?.provideAssetMentionSymbols.bind(iK)??(async e=>(em.logger.info("[MessageInput] provideAssetMentionSymbols fallback called:",e),[])),provideFileMentionSymbols:iK?.provideFileMentionSymbols?e=>iK.provideFileMentionSymbols(e):async()=>[],provideFileMentionSymbolsStream:iK?.provideFileMentionSymbolsStream?(e,t,i)=>iK.provideFileMentionSymbolsStream(e,t,i):void 0,provideFolderMentionSymbols:iK?.provideFolderMentionSymbols?e=>iK.provideFolderMentionSymbols(e):async()=>[],provideFolderMentionSymbolsStream:iK?.provideFolderMentionSymbolsStream?(e,t,i)=>iK.provideFolderMentionSymbolsStream(e,t,i):void 0,provideCodeMentionSymbols:iK?.provideCodeMentionSymbols?e=>iK.provideCodeMentionSymbols(e):async()=>[],provideCodeMentionSymbolsStream:iK?.provideCodeMentionSymbolsStream?(e,t,i)=>iK.provideCodeMentionSymbolsStream(e,t,i):void 0,provideDocMentionSymbols:iK?.provideDocMentionSymbols?e=>iK.provideDocMentionSymbols(e):async()=>[],provideBuiltinDocMentionSymbols:iK?.provideBuiltinDocMentionSymbols?e=>iK.provideBuiltinDocMentionSymbols(e):void 0,provideRuleMentionSymbols:iK?.provideRuleMentionSymbols?e=>iK.provideRuleMentionSymbols(e):async()=>[],providePastChatsMentionSymbols:iK?.providePastChatsMentionSymbols?e=>iK.providePastChatsMentionSymbols(e):void 0,isPastChatsEnabled:i$,exportPastChat:iK?.exportPastChat?e=>iK.exportPastChat(e):void 0,provideRecentlyOpenedFiles:iK?.provideRecentlyOpenedFiles?e=>iK.provideRecentlyOpenedFiles(e):void 0,provideGetMentionItemIds:iK?.provideGetMentionItemIds?()=>iK.provideGetMentionItemIds():()=>[],provideStoreMentionItemIds:iK?.provideStoreMentionItemIds?e=>iK.provideStoreMentionItemIds(e):()=>{},provideIsEmptyRepository:iK?.provideIsEmptyRepository?()=>iK.provideIsEmptyRepository():()=>!1,folderDisabled:iY?.folderDisabled??iK?.provideIsEmptyRepository?.()??!1,provideI18nText:(e,t,i)=>{let r=i??wN[e]??e;return eL.localize(e,t,r)},workspaceSymbolBehavior:iY?.workspaceSymbolBehavior??l.V4.NotAvailable,lintErrorSymbolBehavior:iY?.lintErrorSymbolBehavior??l.V4.NotAvailable,hidePopupOnEmptyInput:!iK?.provideFileMentionSymbols&&!eT,provideSharedArtifactMentionSymbols:async e=>{let t=eo.Zz.currentUser.get()?.userId;if(!t||!iK?.provideSharedArtifactMentionSymbols)return[];let i=`user:${t}`;return(await iK.provideSharedArtifactMentionSymbols({workroomId:i,keyword:e||void 0})).map(e=>({type:"shared_artifact",displayName:e.displayName,path:e.path,artifactId:e.artifactId,mimeType:e.mimeType,pinnedAt:e.pinnedAt,mtime:e.mtime}))},noMatchingItemsOverride:eT?void 0:n}},[iK,eL,e,e1,e4,iN,e5,iE,eT,iY,i$]),s2=(0,n.useMemo)(()=>({provider:s1}),[s1]),s3=(0,n.useCallback)(e=>{if(e.visible&&e.type===l.ic.CODE&&e.symbol&&e.referencePreviewContainerRect){document.dispatchEvent(new CustomEvent("ChangeHoverCodeReference",{detail:{symbol:e.symbol,referencePreviewContainerRect:e.referencePreviewContainerRect,tooltipOnRight:e.tooltipOnRight}})),document.dispatchEvent(new CustomEvent("ChangeReferenceVisible",{detail:{visible:!0,type:l.ic.CODE}}));return}document.dispatchEvent(new CustomEvent("ChangeReferenceVisible",{detail:{visible:!1,type:e.type}}))},[]),s4=(0,n.useMemo)(()=>({action:sz,allowedMentionTypes:iY?.allowedMentionTypes??[l.$1.SharedArtifact],triggerChar:sL,onListShown:()=>{iK?.reportMentionTelemetry?.("context_add_show",{}),iK?.reportMentionReferenceListShown?.()},onClickFile:e=>{iK?.reportMentionInputReferenceClicked?.(ww(e))},onClickFolder:e=>{iK?.reportMentionInputReferenceClicked?.(wE(e))},onClickCode:e=>{iK?.reportMentionInputReferenceClicked?.(wC(e))},onClickRule:e=>{iK?.reportMentionInputReferenceClicked?.(wT(e))},onReferencePreviewChange:s3,disabled:!iJ&&(!eT||e1!==lG.Uf.Work)||rH}),[sz,rH,iK,iJ,iY,sL,s3,eT,e1]),s5=(0,n.useCallback)((e,t)=>{iK?.reportMentionTelemetry?.(e,t)},[iK]),s9=(0,n.useMemo)(()=>eL.localize("chat-input.fileUpload.status.uploadingWait",{},"Uploading, please wait"),[eL]),s6=(0,n.useMemo)(()=>({onSelectAddNewDoc:en??(()=>{em.logger.debug("[MessageInput] Add new doc clicked")}),onSelectAddNewAsset:()=>{em.logger.debug("[MessageInput] Add new asset clicked")},onSelectAddNewRule:eh??(()=>{em.logger.debug("[MessageInput] Add new rule clicked")})}),[em.logger,en,eh]),s8=(0,n.useMemo)(()=>(e1===lG.Uf.Work?tk.current.work:e1===lG.Uf.Design?tk.current.design:tk.current.code).some(e=>e.status===_k.d8.Success),[e1,tp]),s7=(0,n.useMemo)(()=>({imageThumbContent:void 0,hasMultimedia:s8}),[s8]),ne=(0,n.useMemo)(()=>({recordRef:t_,recordProvider:eF&&sr&&si&&!rH?sn:void 0,disabled:rH}),[sr,si,sn,rH]),nt=(0,o.A)(async t=>{if(!e)return;let i="cancel-ralph"===t.name;if(sl&&!i)return;if(i&&sl){let t=await ev.kd.stopSession(e,eb.Po.StopButton);if(!t.success)return void em.logger.error("[MessageInput] stopSession before cancel-ralph failed:",t.error);if(!await ev.kd.waitForSessionStopped(e))return void em.logger.error("[MessageInput] waitForSessionStopped timed out before cancel-ralph")}let r=t2.sessionById.get(e),s=[{type:"slash_command",data:{id:t.name,command:t.name,command_type:"action"}}],n=t7.createUserMessage({sessionId:e,sessionType:r?.sessionType,query:s,mode:r?.mode,env:r?.env});ev.kd.sendMessage({userMessage:n,messageSource:"manual"})}),ni=(0,n.useMemo)(()=>{if(!iQ)return;let e=el.C.getState().ralphLoop?.maxRounds,t=el.C.getState().ralphLoop?.defaultRounds,i=tr?{text:iQ.getManageAllContextText?.()??"Manage Skills & Commands",onClick:()=>iQ.onManageAllContextClick?.()}:void 0,r=tr?{skills:{text:eL.localize("chat-input.slash.empty.skills",{},"No skills added yet"),linkText:eL.localize("chat-input.slash.empty.create",{},"Create"),onLinkClick:()=>iQ.onManageAllContextClick?.()},commands:{text:eL.localize("chat-input.slash.empty.commands",{},"No commands added yet"),linkText:eL.localize("chat-input.slash.empty.create",{},"Create"),onLinkClick:()=>iQ.onManageAllContextClick?.()}}:void 0;return{enabled:!rH,provider:iQ,showTooltip:!0,tooltipDelay:300,footerAction:i,groupEmptyConfigs:r,useNewSlashUI:iQ.useNewSlashUI,ralphLoopMaxRoundLimit:e,ralphLoopDefaultRounds:t,onPopupVisibleChange:e=>{},onDataLoaded:e=>{let t=lN.XT.tryResolve(ed.F.Tea),i=iQ?.getLastPerfMetrics?.();t?.report(eb.qu.InputSlashCommandShow,{fetch_duration:i?.fetchDuration,render_duration:e,cache_hit:+!!i?.cacheHit,prefetch_hit:+!!i?.prefetchHit,source:i?.source,items_count:i?.itemsCount})},onCommandSelect:e=>{if("action"===e.category)return nt(e),!1;let t=lN.XT.tryResolve(ed.F.Tea);if(t){let i,r,s=e.name?.toLowerCase();"skill"===e.category?(i="skill",r="custom_skill"):"builtin"===e.category&&("spec"===s||"plan"===s)?(i="command",r=s):(i="command",r="custom_command"),t.report(eb.qu.InputSlashCommandClick,{type:i,slash_name:r,item_name:s||""})}}}},[iQ,rH,nt,tr,eL]),nr=b&&!!e&&il&&!id&&!ir&&!ia&&e$&&!s8;(0,n.useEffect)(()=>{b&&i_.current!==nr&&(i_.current=nr,document.activeElement?.className)},[e$,b,s8,il,ia,ir,id,nr]);let ns=(0,n.useRef)(nr);(0,n.useEffect)(()=>{let e=ns.current;if(ns.current=nr,!b||!e||nr||!id)return;let t=requestAnimationFrame(()=>{ii?.unlockAndScrollToBottom("auto")});return()=>cancelAnimationFrame(t)},[b,id,ii,nr]);let nn=(0,n.useMemo)(()=>["messageInputChatInput",iG?"messageInputChatInputHome":"messageInputChatInputConversation",nr?"messageInputChatInputMini":""].filter(Boolean).join(" "),[iG,nr]),na=(0,n.useMemo)(()=>{let e=["messageInputContainer"];return rZ&&rK&&e.push("messageInputContainerDragging"),tz&&e.push("messageInputFlashing"),nr&&e.push("messageInputContainerMini"),(0,vI.Ov)()===vI.uC.Web&&(e1===lG.Uf.Work||e1===lG.Uf.Design)&&e.push("messageInputNoBg"),"floating"===y&&e.push("messageInputFloating"),f&&e.push(f),e.join(" ")},[rZ,rK,tz,nr,f,e1,y]),no=eN?.reviewStatus==="pending_pr"||eN?.reviewStatus==="pending_pr_with_conflict_resolve",nl=eN?.reviewStatus==="pending_pr_with_conflict_resolve",nc=(0,o.A)(async e=>"create_pr"===e?eA():"discard_resolution"===e?eP():"close"===e?eM():void 0),nd=!!ix?.worktreeData,nu=(0,o.A)(async t=>{if(!e)return;let i=lN.XT.tryResolve(ed.F.Worktree);"merge"===t&&i?(await i.mergeWorktree(e)).success&&ix?.worktreeData&&t2.core.update(e,{worktreeData:{...ix.worktreeData,worktreeStatus:eu.St.Merged,reviewStatus:"idle"},target:{...ix.target,review_status:"idle"}}):"discard_conflict_resolve"===t?await eP():"close"===t&&await eM()}),nh=(0,C8.t)(e),np=(0,ec.h1)(ed.F.TraeApi),nm=(0,o.A)(async t=>{if(e&&nh.planItemId){try{await np.chat.sendUserDecision({chat_session_id:e,type:"tool_confirm",plan_item_id:nh.planItemId,tool_name:"browser_waiting_for_user_interaction",decision:t})}catch(e){em.logger.error("[MessageInput] sendUserDecision error:",e);return}"confirm"===t&&ej?.openBrowserUse({sandboxId:ix?.browserUseSandbox?.name})}}),nf=(0,ec.$Q)(ed.F.AgentPlugin),ng=(0,n.useRef)(null),[n_,ny]=(0,n.useState)(()=>nf?.getConfig?.()??null),nv=(0,n.useMemo)(()=>{if(!n_)return null;let e=l$(n_);return ng.current=e,e},[nf]);(0,n.useEffect)(()=>{if(nf&&ng.current)return nf.subscribe(e=>{ng.current?.update?.(e),ny(e)})},[nf]);let nb=(0,n.useMemo)(()=>{let e=[rl];return nv&&e.push(nv),eU&&e.push(rP),e},[rl,nv,rP,eU]),nS=(0,n.useCallback)(()=>{ip.current&&(clearTimeout(ip.current),ip.current=null),document.activeElement?.className,im.current=!1,(0,a.flushSync)(()=>{is(!0),io(!0)}),ih.current=!1},[nr]),nk=(0,n.useCallback)(()=>{ip.current&&(clearTimeout(ip.current),ip.current=null),ih.current=!1,im.current=nr,nr&&(ig.current=Date.now()),im.current,document.activeElement?.className,(0,a.flushSync)(()=>{io(!0),nr&&is(!0)})},[nr]),nx=(0,n.useCallback)(()=>{if("u"80)},[]),nC=(0,n.useCallback)(()=>{ih.current,document.activeElement?.className,is(!1),ih.current&&(ip.current&&clearTimeout(ip.current),ip.current=setTimeout(()=>{let e=tg.current,t=document.activeElement;t&&e?.contains(t)||nx()||(ih.current=!1,io(!1))},1e3))},[nx]);(0,n.useEffect)(()=>{if(!b)return;let e=tg.current;if(!e)return;let t=()=>{ip.current&&(clearTimeout(ip.current),ip.current=null),ih.current=!1,im.current=nr,nr&&(ig.current=Date.now()),im.current,document.activeElement?.className,(0,a.flushSync)(()=>{io(!0),nr&&is(!0)})},i=()=>{ip.current&&(clearTimeout(ip.current),ip.current=null),document.activeElement?.className,im.current=!1,(0,a.flushSync)(()=>{is(!0),io(!0)}),ih.current=!1},r=()=>{document.activeElement?.className,is(!1)};return e.addEventListener("pointerdown",t,!0),e.addEventListener("touchstart",t,!0),e.addEventListener("click",t,!0),e.addEventListener("focusin",i,!0),e.addEventListener("focusout",r,!0),()=>{e.removeEventListener("pointerdown",t,!0),e.removeEventListener("touchstart",t,!0),e.removeEventListener("click",t,!0),e.removeEventListener("focusin",i,!0),e.removeEventListener("focusout",r,!0)}},[b,nr]),(0,n.useEffect)(()=>{if(!b||nr||!im.current)return;im.current=!1;let e=()=>{document.activeElement?.className,tf.current?.focus()};e();let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)},[b,nr]),(0,n.useEffect)(()=>{if(!b||!ia||ir||"u"{let e=tg.current,t=document.activeElement,i=!!(t&&e?.contains(t));if(nx()){ih.current=!0;return}ih.current&&!i&&(ih.current=!1,io(!1))},t=window.visualViewport;return t?.addEventListener("resize",e),t?.addEventListener("scroll",e),()=>{t?.removeEventListener("resize",e),t?.removeEventListener("scroll",e)}},[b,ia,ir,nx]);let nw=t2.worktreeCheckDialog.use(e||""),nE=t2.mergeCheckDialog.use(e||""),nT="floating"===y&&(no&&!!e||nh.isWaitingForUser&&!!e||!!nw&&!!e||!!nE&&!!e),nI=(0,o.A)(async e=>{let t=lN.XT.tryResolve(ed.F.Worktree);if(t)try{await t.handleWorktreeCheckAction(e)}catch(e){em.logger.error("[MessageInput] handleWorktreeCheckAction error:",e)}}),nR=(0,o.A)(async()=>{if(!e)return;let t=lN.XT.tryResolve(ed.F.Worktree);if(t)try{await t.handleWorktreeCheckAction("abort")}catch(e){em.logger.error("[MessageInput] handleWorktreeCheckClose error:",e)}}),nN=(0,o.A)(async e=>{let t=lN.XT.tryResolve(ed.F.Worktree);if(t&&nE)try{await t.handleMergeCheckAction(e,nE.folder)}catch(e){em.logger.error("[MessageInput] handleMergeCheckAction error:",e)}}),nA=(0,o.A)(async()=>{let e=lN.XT.tryResolve(ed.F.Worktree);if(e&&nE)try{await e.handleMergeCheckAction("abort",nE.folder)}catch(e){em.logger.error("[MessageInput] handleMergeCheckClose error:",e)}}),nM=(0,o.A)(e=>{if(!rH)return!1;let t=e.dataTransfer?.types;return!!t&&Array.from(t).includes("Files")}),nP=(0,o.A)(e=>{nM(e)&&(e.preventDefault(),e.stopPropagation())}),nj=(0,o.A)(e=>{nM(e)&&(e.preventDefault(),e.stopPropagation())}),nL=(0,o.A)(e=>{nM(e)&&(e.preventDefault(),e.stopPropagation(),rG())}),nD=(0,o.A)(e=>{let t=Array.from(e.dataTransfer?.files??[]);return 0!==r7(t).length&&(e.preventDefault(),rY(),rS(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation?.(),se(t),!0)}),nO=(0,o.A)(e=>{nD(e)||nL(e)});(0,n.useEffect)(()=>{eE&&G&&G(()=>{let e=tf.current;if(!e)return{text:"",editorState:null,messageParts:[]};let{multiMedia:t}=v3({activeMode:e1,uploadedImages:rp(),uploadedAttachments:rm(),fileUploadMode:rv,attachmentBizType:rb});return e.getEditorState().read(()=>{let i=(0,c.Ni)().getTextContent(),r=e.getEditorState().toJSON(),s=[],n=(0,c.Ni)().getChildren();for(let e=0;e{eE&&(nF.current=!1)},[eE,H]);let nU=(0,n.useCallback)(()=>{if(!eE||!H||nF.current)return!1;let e=tf.current;if(!e)return!1;try{let t=JSON.parse(H),i=(0,CV.t)(t),r=[],s=0;for(let e of t)if(("attachment"===e.type||"image"===e.type)&&e.data){let t=e.data;if("image"===e.type&&t.image_id){let e=t.image_id,i=wI(e,s);s++,r.push({id:`restored-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:i,size:0,type:"image/png",status:_k.d8.Success,tosUri:e})}else{let e=t.uri||t.url||"",i=t.filename||"file";r.push({id:`restored-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:i,size:0,type:"application/octet-stream",status:_k.d8.Success,tosUri:e})}}if(e.dispatchCommand(l.yP,void 0),i.length>0&&(0,l.xg)(i,e),r.length>0){rd(r,e1);let e=r.filter(e=>e.type.startsWith("image/")&&e.tosUri);if(e.length>0){let t=e.filter(e=>(0,y7.SJ)(e.tosUri)),i=e.filter(e=>!(0,y7.SJ)(e.tosUri));if(t.length>0&&wv(t).then(e=>{if(Object.keys(e).length>0){let t=r.map(t=>t.tosUri&&e[t.tosUri]?{...t,...e[t.tosUri]}:t);rd(t,e1)}}).catch(e=>{em.logger.warn("[MessageInput] Failed to hydrate automation ToB thumbnails:",e)}),i.length>0){let e=i.map(e=>e.tosUri);wn.tk.getImageUrls(e).then(e=>{let t=e?.data?.url_map;if(!t)return;let i=r.map(e=>e.tosUri&&t[e.tosUri]?{...e,cdnURL:t[e.tosUri],thumbnailUrl:t[e.tosUri]}:e);rd(i,e1)}).catch(()=>{})}}}}catch{e.update(()=>{let e=(0,c.Ni)();e.clear();let t=(0,c.lJ)();t.append((0,c.sT)(H)),e.append(t)})}let t=e.registerUpdateListener(({editorState:e})=>{t();let i=e.toJSON(),r=e1===lG.Uf.Work?lG.Uf.Code:lG.Uf.Work;t0(e1,i,!1),t0(r,i,!1)});return nF.current=!0,requestAnimationFrame(()=>{let t=e.getRootElement();t&&(t.scrollTop=0,t.parentElement?.scrollTo?.(0,0))}),!0},[eE,H,e1,rd]);(0,n.useLayoutEffect)(()=>{nU()},[nU]),(0,n.useEffect)(()=>{nU()},[nU]);let nV=(0,s.jsxs)("div",{ref:tg,className:na,"data-mode":e1,onDragEnterCapture:nP,onDragOverCapture:nj,onDropCapture:nO,...rX,children:[(0,s.jsx)(d.Au,{channelId:wU,className:"messageInputToastContainer"}),(0,s.jsx)(CN,{className:nh.isWaitingForUser?"messageInputEditorTaskOpacity0":"",sessionId:e,pendingMessages:iU,expandStatus:ij,hubStatus:iD,isStreaming:sl,popupZIndex:"floating"===y?1200:void 0,onSwitchExpandStatus:e=>iL(e||("expanded"===ij?"collapsed":"expanded")),onSwitchHubStatus:iO,onDeletePendingMessage:iV,onEditPendingMessage:iB,onSendNowPendingMessage:iz,onReorderPendingMessages:iW,goalInfo:sh.goalInfo,onEditGoal:sh.onEditGoal,onToggleGoalPaused:sh.onToggleGoalPaused,onDeleteGoal:sh.onDeleteGoal,onGoalReport:sh.onGoalReport}),no&&e&&!nd&&(0,s.jsx)(ea.C,{sessionId:e,children:(0,s.jsx)(J,{onSelect:nc,hasConflictResolve:nl})}),no&&e&&nd&&(0,s.jsx)(ea.C,{sessionId:e,children:(0,s.jsx)(ee,{onSelect:nu,hasConflict:nl})}),nh.isWaitingForUser&&e&&(0,s.jsx)(ea.C,{sessionId:e,children:(0,s.jsx)(q,{reason:nh.reason,onSelect:nm})}),nw&&e&&(0,s.jsx)(ea.C,{sessionId:e,children:(0,s.jsx)(ei,{variant:"GitNotInstalled"===nw.status?"git-not-installed":"InsufficientDiskSpace"===nw.status?"disk-space":"worktree",onSelect:nI,onClose:nR})}),nE&&e&&(0,s.jsx)(ei,{variant:"merge",onSelect:nN,onClose:nA}),!nT&&(0,s.jsx)(es.q,{}),!nT&&(0,s.jsxs)("div",{className:"messageInputEditorWrapper",onPointerDownCapture:nk,onTouchStartCapture:nk,onClickCapture:nk,onFocusCapture:nk,children:[(0,s.jsx)(ws,{visible:rZ&&rK,i18n:eL}),(0,s.jsx)(l.oy,{config:sY,children:(0,s.jsx)(l.Sq,{namespace:"MessageEditor",className:nn,runningStatus:so,onSend:sP,onStop:sf,disableManualStop:v,onChange:s_,onContentChange:sI,onDidFocus:nS,onDidBlur:nC,forbidSending:eE||to||tc||!!ik||rj||F,forbidSendingTip:F?U:to?s9:void 0,forbidSendingAlert:F?V:void 0,canAppendMessage:sm,editorIsEmpty:e$,setEditorIsEmpty:eq,editorRef:tf,textProvider:sq,authConfig:sQ,disableConfig:rV,mentionConfig:s4,multimediaConfig:s7,modelSelectAction:s$,asrConfig:ne,docRuleConfig:s6,mention:s2,slashConfig:ni,fileIconLabelComponent:wZ,plugins:nb,sendButtonPopoverContent:tJ,sendButtonPopoverOpen:tM,onSendButtonPopoverOpenChange:tP,loginPopoverContent:s0,i18nInstance:eL,maxLength:S,logService:eD,enableAgentPopup:(0,vI.ww)(),onAgentListShown:()=>document.dispatchEvent(new CustomEvent("agent-popup-open")),onAgentSearchChange:(e,t)=>{document.dispatchEvent(new CustomEvent("agent-popup-search",{detail:{searchText:e,visible:t}}))},isSoloMode:e2,designLibraryAction:A,hideSendButton:eE,fetchFeishuDocMeta:eR,onOpenLarkDocPanel:eV,getLarkToken:ez,onConnectLark:eW,larkConnected:eH,isIDE:g===vI.uC.TraeIDE,promptOptimizeConfig:P,historyPromptManager:e6,invokeTelemetryCallback:s5,ghostText:$})})]}),!nT&&_&&(0,s.jsx)(lW.s,{sessionId:e,variant:y,popupZIndex:eE?1200:void 0,hasFiles:rg,clearFiles:rf})]});return void 0!==B?(0,s.jsx)(lH.Bl.Provider,{value:B,children:nV}):nV});w0.displayName="MessageInput";let w1=w0},17610(e,t,i){i.d(t,{OH:()=>s,Ow:()=>n,Uf:()=>r.U});var r=i(99965),s=function(e){return e.Local="local",e.Remote="remote",e}({});let n=2e4},72865(e,t,i){i.d(t,{Y:()=>a});var r=i(51649),s=i(92046),n=i(74134);function a(e){let[t,i]=(0,r.useState)([]),[a,o]=(0,r.useState)({}),[l,c]=(0,r.useState)([]),[d,u]=(0,r.useState)([]),[h,p]=(0,r.useState)([]),[m,f]=(0,r.useState)(!1),g=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{let t=s.XT.tryResolve(n.F.TasksHub);if(g.current=t,!t)return;let r=()=>{i(t.getTodoList(e)),o(t.getCrossSessionFileRefs(e)),c(t.getTasks(e)),u(t.getTerminalCommands(e)),p(t.getWorkflowEntries?.(e)??[]),f(t.getSendNowEnabled?.(e)??!1)};r();let a=t.onDidChange(r);return()=>a.dispose()},[e]);let _=(0,r.useCallback)(e=>{g.current?.openFileEditor(e)},[]),y=(0,r.useCallback)(()=>{g.current?.acceptAllFiles()},[]),v=(0,r.useCallback)(()=>{g.current?.rejectAllFiles()},[]),b=(0,r.useCallback)(async e=>{await g.current?.killTerminalCommand(e)},[]),S=(0,r.useCallback)(async e=>{await g.current?.openTerminal(e)},[]),k=(0,r.useCallback)(async()=>{await g.current?.openAllTerminals()},[]);return{todoList:t,crossSessionFileRefs:a,tasks:l,terminalCommands:d,workflowEntries:h,onFileClick:_,onAcceptAllFiles:y,onRejectAllFiles:v,onKillTerminalCommand:b,onOpenTerminal:S,onOpenAllTerminals:k,onStopWorkflow:(0,r.useCallback)(async e=>{await g.current?.stopWorkflow?.(e)},[]),onOpenWorkflowDetails:(0,r.useCallback)(e=>{g.current?.openWorkflowDetails?.(e)},[]),sendNowEnabled:m}}},25841(e,t,i){i.d(t,{o:()=>o});var r=i(97282),s=i(51649),n=i(25188),a=i(76933);let o=(0,s.memo)(function(){let e=(0,n.s9)(),t=e.localize("trae-chat-core.compact.description",{},"Compact conversation history to free up context space"),i=e.localize("trae-chat-core.compact.tagText",{},"Compact");return(0,r.jsxs)("span",{className:"compactMarker",children:[(0,r.jsxs)("span",{className:"compactMarkerTag",children:[(0,r.jsx)(a.Fac,{style:{width:12,height:12}}),(0,r.jsx)("span",{className:"compactMarkerTag__text",children:i})]}),"\xa0",t]})})},94(e,t,i){i.d(t,{Jx:()=>h,cl:()=>v,kA:()=>p,u:()=>f});var r=i(97282),s=i(51649),n=i(19755),a=i(34842),o=i(95896),l=i(30338),c=i(76933);let d=(e,t)=>{let i=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}_(.+)$/i,r=e.match(i);if(r)return r[1];if(e.startsWith("tos-")||e.includes("/image/")){let i=e.split("/").pop();if(i){let e=/^\d+_[a-z0-9]+_([a-z]+)_\d+x\d+$/i,r=i.match(e);if(r){let e=r[1].toLowerCase();return`image_${t+1}.${e}`}}return`image_${t+1}.png`}let s=e.split("/"),n=s[s.length-1];return n&&n.length<50?n:`image_${t+1}.png`},u=e=>/^[a-zA-Z]:[/\\]/.test(e),h=(e,t,i,r)=>{if(e.startsWith("trae-res://")){let r=e.match(/((?:UnifiedTosToB-)?[a-f0-9-]+)\.trae$/i),s=r?.[1];if(!s)return;let n=i||"/data/user/uploads";return`${n.endsWith("/")?n:`${n}/`}${s}_${t}`}if(u(e))return e;if(e.startsWith("/")){if(r&&r.length>0){if(r.some(t=>{let i=t.vmDir.endsWith("/")?t.vmDir:`${t.vmDir}/`;return e.startsWith(i)||e===t.vmDir})||r.some(t=>{let i=t.hostDir.endsWith("/")?t.hostDir:`${t.hostDir}/`;return e.startsWith(i)||e===t.hostDir}))return e;let t=r.find(e=>e.vmDir.endsWith("/uploads")||e.vmDir.includes("/uploads"));if(t){let i=e.split("/"),r=i[i.length-1];if(r){let e=t.hostDir.endsWith("/")?t.hostDir.slice(0,-1):t.hostDir;return`${e}/${r}`}}}return e}},p=e=>{if(!e||0===e.length)return[];let t=e.filter(e=>"attachment"===e.type||"image"===e.type),i=0;return t.map((e,t)=>{if("image"===e.type){let r=e.data.image_id,s=d(r,i);return i++,{id:`image-${t}`,name:s,path:r,type:"image"}}return{id:`attachment-${t}`,name:e.data.filename,path:e.data.uri,type:"attachment",hidden:e.data.hidden}})},m=new Set(["png","jpg","jpeg","gif","webp","bmp","svg","ico","avif","tiff","tif"]),f=e=>{if("image"===e.type)return!0;let t=e.name.split(".").pop()?.toLowerCase();return!!t&&m.has(t)},g=e=>{let t=e.lastIndexOf(".");return -1===t||t===e.length-1?"":e.slice(t+1).toUpperCase()},_=5,y=2,v=(0,s.memo)(function({files:e,isWorkMode:t,onFileClick:i}){let[d,u]=(0,s.useState)(null),h=(0,s.useCallback)(e=>{let t=t=>{u(t?e.id:null)},r=()=>{};i?.(e,t,r)},[i]);if(0===e.length)return null;let p=e.filter(e=>f(e)),m=e.filter(e=>!f(e));if(!t&&p.length>0&&0===m.length){let e=p.slice(0,_);return(0,r.jsx)("div",{className:"user-message__attached-top",children:(0,r.jsx)("div",{className:"user-message__attached-images",children:e.map(e=>{let t=d===e.id;return(0,r.jsxs)("div",{className:`user-message__attached-image-item ${t?"user-message__attached-image-item--loading":""}`,onClick:()=>h(e),children:[e.thumbnail?(0,r.jsx)("img",{src:e.thumbnail,alt:e.name,className:"user-message__attached-image-img",referrerPolicy:"no-referrer",crossOrigin:"anonymous"}):(0,r.jsx)("div",{className:"user-message__attached-image-placeholder",children:(0,r.jsx)(c.j5q,{className:"user-message__files-thumbnail-spinner",style:{width:20,height:20}})}),t&&(0,r.jsx)("div",{className:"user-message__attached-image-loading-overlay",children:(0,r.jsx)(c.j5q,{className:"user-message__files-thumbnail-spinner",style:{width:20,height:20}})})]},e.id)})})})}let v=e.slice(0,y),b=e.slice(y),S=b.length;return(0,r.jsx)("div",{className:"user-message__attached-top",children:(0,r.jsxs)("div",{className:"user-message__attached-cards",children:[v.map(e=>{let t=g(e.name);return(0,r.jsx)(n.A,{content:e.name,side:"top",children:(0,r.jsxs)("div",{className:"user-message__attached-card",onClick:()=>h(e),children:[(0,r.jsx)("div",{className:"user-message__attached-card-icon",children:(0,r.jsx)(a.Ay,{filename:e.name})}),(0,r.jsxs)("div",{className:"user-message__attached-card-info",children:[(0,r.jsx)(o.A,{className:"user-message__attached-card-name",showTooltip:!1,children:e.name}),t&&(0,r.jsx)("span",{className:"user-message__attached-card-ext",children:t})]})]})},e.id)}),S>0&&(0,r.jsx)(l.A,{trigger:"click",side:"bottom",align:"start",showArrow:!1,className:"user-message__overflow-popover",content:(0,r.jsx)("div",{className:"user-message__overflow-menu custom-scrollbar",children:b.map(e=>(0,r.jsxs)("div",{className:"user-message__overflow-menu-item",onClick:()=>h(e),children:[(0,r.jsx)("div",{className:"user-message__overflow-menu-item-icon",children:(0,r.jsx)(a.Ay,{filename:e.name})}),(0,r.jsx)(o.A,{className:"user-message__overflow-menu-item-name",children:e.name})]},e.id))}),children:(0,r.jsx)("div",{className:"user-message__attached-card user-message__attached-card--overflow",children:(0,r.jsxs)("span",{className:"user-message__attached-card-overflow-text",children:["+",S]})})})]})})})},48117(e,t,i){var r=i(97282),s=i(51649),n=i(19755),a=i(95896),o=i(13716),l=i(84496),c=i(19164),d=i(69611),u=i(27872),h=i(31826),p=i(88539),m=i(37795),f=i(70325),g=i(76136),_=i(20848),y=i(25188),v=i(76933);let b=e=>{switch(e.toLowerCase()){case"added":case"create":return(0,r.jsx)(v.VK0,{className:"revertConfirm__fileIcon revertConfirm__fileIcon--added"});case"deleted":case"delete":return(0,r.jsx)(v.xV8,{className:"revertConfirm__fileIcon revertConfirm__fileIcon--deleted"});case"modified":case"modify":return(0,r.jsx)(v.GI1,{className:"revertConfirm__fileIcon revertConfirm__fileIcon--modified"});default:return null}},S=e=>{let t=e.toLowerCase();return"deleted"===t||"delete"===t},k=(e,t)=>t?e.startsWith(t)?e.slice(t.length).replace(/^[/\\]/,""):e:e.split(/[/\\]/).slice(-2).join("/"),x=(0,s.memo)(function({visible:e,diffFileInfos:t,loading:i=!1,confirmLoading:s=!1,onConfirm:n,onCancel:o,workspaceRoot:l,isFirstMessage:c=!1}){let d=(0,y.s9)();if(!e)return null;let u=t.filter(e=>!e.file_path.includes("/.screenshots/")),h=u.length>0,p=e=>{switch(e.toLowerCase()){case"added":case"create":return d.localize("trae-chat-core.message.revert_confirm.will_be_added",{},"will be added");case"deleted":case"delete":return d.localize("trae-chat-core.message.revert_confirm.will_be_deleted",{},"will be deleted");case"modified":case"modify":return d.localize("trae-chat-core.message.revert_confirm.will_be_modified",{},"will be modified");default:return""}},m=()=>i?(0,r.jsxs)("div",{className:"revertConfirm__loading",children:[(0,r.jsx)(v.MLU,{className:"revertConfirm__loadingSpinner"}),(0,r.jsx)("span",{className:"revertConfirm__loadingText",children:d.localize("trae-chat-core.message.revert_confirm.loading",{},"Loading...")})]}):h?(0,r.jsx)("div",{className:"revertConfirm__list",children:u.map(e=>(0,r.jsxs)("div",{className:"revertConfirm__item",children:[(0,r.jsx)("div",{className:"revertConfirm__itemIcon",children:b(e.file_action)}),(0,r.jsx)(a.A,{className:`revertConfirm__itemTitle ${S(e.file_action)?"revertConfirm__itemTitle--deleted":""}`,tooltipContent:e.file_path,children:k(e.file_path,l)}),(0,r.jsx)("span",{className:"revertConfirm__itemStatus",children:p(e.file_action)})]},e.file_path))}):null,f=!i&&!h;return(0,r.jsxs)("div",{className:"revertConfirm",children:[(0,r.jsxs)("div",{className:"revertConfirm__header",children:[(0,r.jsx)("div",{className:"revertConfirm__infoIcon",children:(0,r.jsx)(v.cwm,{style:{width:16,height:16,color:"#387BFF"}})}),(0,r.jsxs)("div",{className:"revertConfirm__infoText",children:[(0,r.jsxs)("span",{className:"revertConfirm__message",children:[d.localize("trae-chat-core.message.revert_confirm.title",{},"Are you sure to revert to this step restart?"),c&&` ${d.localize("trae-chat-core.message.revert_confirm.first_message_warning",{},"This will also delete this session.")}`]}),f&&(0,r.jsx)("span",{className:"revertConfirm__description",children:d.localize("trae-chat-core.message.revert_confirm.description",{},"This action will revert to the previous Q&A and restore files modified by the 0 files.")})]})]}),(i||h)&&(0,r.jsx)("div",{className:"revertConfirm__content",children:m()}),(0,r.jsx)("div",{className:"revertConfirm__actionBar",children:(0,r.jsxs)("div",{className:"revertConfirm__btns",children:[(0,r.jsx)(_.A,{type:"secondary",size:"small",disabled:i||s,onClick:o,children:d.localize("trae-chat-core.message.revert_confirm.cancel",{},"Cancel")}),(0,r.jsx)(_.A,{type:"primary",size:"small",disabled:i||s,prefixIcon:s?(0,r.jsx)(v.MLU,{className:"revertConfirm__btnSpinner"}):void 0,onClick:n,children:d.localize("trae-chat-core.message.revert_confirm.confirm",{},"Confirm")})]})})]})});var C=i(92046),w=i(24096),E=i(74134),T=i(21645),I=i(79297),R=i(91186),N=i(22644),A=i(41748),M=i(57499),P=i(94),j=i(82113),L=i(34274),D=i(47210),O=i(79817),F=i(45367),U=i(66418),V=i(35682),B=i(60632),z=i(6602),W=i(14490);i(58410);var H=i(66496),G=i(46307),Z=i(86164),K=i(11831),X=i(39975),Y=i(74450);function J(e){let t=Math.floor(e/1e3),i=Math.floor(t/60),r=t%60;return`${String(i).padStart(2,"0")}:${String(r).padStart(2,"0")}`}let $=(0,s.memo)(function({duration:e}){let t=(0,L.s)(),i=(0,s.useMemo)(()=>{if(void 0!==e&&e>0)return J(e)},[e]),n=t.localize("trae-chat-core.voiceSummary.discussionCompleted",{},"Voice discussion completed");return(0,r.jsxs)("div",{className:"voice-conversation-bubble",children:[(0,r.jsx)("span",{className:"voice-conversation-bubble__icon",children:(0,r.jsx)(v.oEn,{style:{width:15,height:15}})}),(0,r.jsxs)("span",{className:"voice-conversation-bubble__text",children:[n,i&&` ${i}`]})]})});var q=i(87567),Q=i(86176);let ee=null,et=e=>e===q.Ny.AssistantChat,ei=e=>e===I.DX.Work?"work":e===I.DX.Design?"design":e===I.DX.Code?"code":void 0,er=e=>e===I.DX.Work?"work":e===I.DX.Design?"design":e===I.DX.Code?"code":void 0,es=e=>{if(e){if("work"===e)return void N.gr.getState().setMode(N.Uf.Work);if("design"===e)return void N.gr.getState().setMode(N.Uf.Design);N.gr.getState().setMode(N.Uf.Code)}},en=e=>e?{toHomePage:!0,mode:e}:{toHomePage:!0},ea=(e,t)=>{if(e===I.nN.Local)try{let e=C.XT.tryResolve(E.F.ArtifactShare),i=e?.refreshArtifactSharesForSession?.({sessionId:t,reason:"message_revert"});i&&i.catch(e=>{u.logger.warn("[trae-chat-core] Failed to refresh local artifact shares after revert:",e)})}catch(e){u.logger.warn("[trae-chat-core] Failed to trigger local artifact share refresh after revert:",e)}},eo=async(e,t)=>{if(e===I.nN.Local)try{let e=C.XT.tryResolve(E.F.ArtifactShare);await e?.deleteArtifactSharesForSession?.({sessionId:t,reason:"message_revert_empty_session"})}catch(e){u.logger.warn("[trae-chat-core] Failed to delete local artifact shares after empty revert:",e)}},el=e=>{if(!e||0===e.length)return;let t=e.filter(e=>"text"===e.type).map(e=>e.text_content??"").join("");if(t)return u.logger.warn("[trae-chat-core] Reverting input from content text fallback only, structured parts are not restored"),[t]},ec=(e,t)=>{let i=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}_(.+)$/i,r=e.match(i);if(r)return r[1];if(e.startsWith("tos-")||e.includes("/image/")){let i=e.split("/").pop();if(i){let e=/^\d+_[a-z0-9]+_([a-z]+)_\d+x\d+$/i,r=i.match(e);if(r){let e=r[1].toLowerCase();return`image_${t+1}.${e}`}}return`image_${t+1}.png`}let s=e.split("/"),n=s[s.length-1];return n&&n.length<50?n:`image_${t+1}.png`},ed=(0,s.memo)(function(){let e=(0,L.s)();return(0,r.jsxs)("div",{className:"user-message__compact-sep",children:[(0,r.jsx)("div",{className:"user-message__compact-sep-line"}),(0,r.jsx)("div",{className:"user-message__compact-sep-text",children:e.localize("trae-chat-core.message.historyChatsCompacted",{},"History Chats Compacted")}),(0,r.jsx)("div",{className:"user-message__compact-sep-line"})]})}),eu=(0,s.memo)(function({content:e,onOpenSettings:t}){let i=(0,L.s)(),s=(0,r.jsx)(n.A,{content:e?(0,r.jsxs)("div",{className:"user-message__hooks-tooltip",children:[(0,r.jsx)("div",{className:"user-message__hooks-tooltip-title",children:i.localize("trae-chat-core.message.hooksPrompt",{},"Hooks Prompt")}),e&&(0,r.jsx)("div",{className:"user-message__hooks-tooltip-message",children:e}),t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"user-message__hooks-tooltip-divider"}),(0,r.jsx)("div",{className:"user-message__hooks-tooltip-btn",onClick:t,children:i.localize("trae-chat-core.message.configureHooks",{},"Configure Hooks")})]})]}):void 0,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsx)("span",{className:"user-message__hooks-label",children:"Hooks"})});return(0,r.jsxs)("div",{className:"user-message__hooks-continued",children:[(0,r.jsx)("div",{className:"user-message__hooks-continued-line"}),(0,r.jsxs)("div",{className:"user-message__hooks-continued-content",children:["Continued by ",s]}),(0,r.jsx)("div",{className:"user-message__hooks-continued-line"})]})}),eh=(0,s.memo)(function(){let e=(0,L.s)();return(0,r.jsxs)("div",{className:"user-message__goal-set-badge",children:[(0,r.jsx)("span",{className:"user-message__goal-set-badge-icon",children:(0,r.jsx)(v.v_l,{size:16})}),(0,r.jsx)("span",{children:e.localize("trae-chat-core.user-message.goal-set",{},"Set as goal")})]})}),ep=(0,s.memo)(function({onRevertClick:e,onDeleteClick:t,onCopy:i,revertible:s,deletable:c=!0,isDeleting:d,formattedTime:u,showGoalSetBadge:h}){let p=(0,L.s)(),m=d?p.localize("solo-web.message.deleting",{},"Deleting..."):p.localize("solo-web.message.deleteMessage",{},"Delete Message");return(0,r.jsxs)("div",{className:"user-message__bottom-bar",children:[(0,r.jsxs)("div",{className:"user-message__bottom-bar-hover-actions",children:[u&&(0,r.jsx)(a.A,{className:"user-message__time",tooltipSide:"bottom",children:u}),(0,r.jsx)("span",{className:"user-message__bottom-bar-divider"}),(0,r.jsxs)("div",{className:"user-message__action-buttons",children:[(0,r.jsx)(n.A,{content:p.localize("trae-chat-core.common.copy",{},"Copy"),side:"top",mode:"normal",children:(0,r.jsx)("span",{className:"user-message__icon-wrapper",children:(0,r.jsx)(o.b,{onCopy:i})})}),c&&(0,r.jsx)(n.A,{content:m,side:"top",mode:"normal",children:(0,r.jsx)(l.A,{variant:"quaternary",size:"small",icon:(0,r.jsx)(v.xV8,{}),onClick:t,disabled:d})}),s&&(0,r.jsx)(n.A,{content:p.localize("solo-web.message.revert",{},"Revert"),side:"top",mode:"normal",children:(0,r.jsx)(l.A,{variant:"quaternary",size:"small",icon:(0,r.jsx)(v.oIq,{}),onClick:e})})]})]}),h&&(0,r.jsx)(eh,{})]})}),em=(0,s.memo)(function({onRevertClick:e,onDeleteClick:t,onCopy:i,revertible:s,copyable:a=!0,deletable:c=!0,isDeleting:d}){let u=(0,L.s)(),h=d?u.localize("solo-web.message.deleting",{},"Deleting..."):u.localize("solo-web.message.deleteMessage",{},"Delete Message");return(0,r.jsxs)("div",{className:"user-message__left-actions",children:[a&&(0,r.jsx)(n.A,{content:u.localize("trae-chat-core.common.copy",{},"Copy"),side:"top",mode:"normal",children:(0,r.jsx)("span",{className:"user-message__icon-wrapper",children:(0,r.jsx)(o.b,{onCopy:i})})}),c&&(0,r.jsx)(n.A,{content:h,side:"top",mode:"normal",children:(0,r.jsx)(l.A,{variant:"quaternary",size:"small",icon:(0,r.jsx)(v.xV8,{}),onClick:t,disabled:d})}),s&&(0,r.jsx)(n.A,{content:u.localize("solo-web.message.revert",{},"Revert"),side:"top",mode:"normal",children:(0,r.jsx)(l.A,{variant:"quaternary",size:"small",icon:(0,r.jsx)(v.oIq,{}),onClick:e})})]})}),ef=(0,s.memo)(function({renderContent:e,className:t}){let i=(0,L.s)(),n=(0,D.y)(),o=(0,F.ZP)(),l=(0,U.H)(),f=(0,m.c)(),{fetchFeishuDocMeta:g}=(0,W.vK)(),_=(0,h.n)(e=>e.userMessage),y=(0,p.Fy)(e=>e.sessionId),v=(0,p.Fy)(e=>e.session?.mode),b=(0,p.Fy)(e=>e.session?.env),S=(0,p.Fy)(e=>e.session?.status),k=(0,p.Fy)(e=>e.session?.sessionType),N=(0,p.Fy)(e=>e.session?.worktreeData),J=(0,p.Fy)(e=>e.session?.sandbox),q=(0,p.Fy)(e=>e.session?.uploadsPath),ef=(0,p.Fy)(e=>e.session?.vmHostDirMappingList),{messageId:eg,content:e_}=_,{getCommonParams:ey}=(0,O.X)({messageId:eg}),ev=(0,Y.E)(_.createdAt,{i18n:i,hideTimeOnYear:!0}),eb=(0,s.useMemo)(()=>e_&&0!==e_.length?e_.filter(e=>"text"===e.type).map(e=>e.text_content).join(""):"",[e_]),eS=(0,s.useMemo)(()=>e_&&0!==e_.length?e_.filter(e=>"image"===e.type).map((e,t)=>{let i=e.image_id;return{id:`image-${t}-${i}`,name:ec(i,t),path:i,type:"image"}}):[],[e_]),ek=(0,s.useMemo)(()=>{let e=(0,P.kA)(_.query).filter(e=>(0,P.u)(e)),t=new Set,i=[];for(let r of[...e,...eS])r.path&&!t.has(r.path)&&(t.add(r.path),i.push(r));return i},[_.query,eS]),[ex,eC]=(0,s.useState)({});(0,s.useEffect)(()=>{let e=ek.map(e=>e.path).filter(e=>!!e);if(0===e.length)return;let t={},i=[];for(let r of e){let e=r;if(r.startsWith("trae-res://")){let t=r.indexOf("/",11);-1!==t&&(e=r.slice(t+1))}t[r]=e,i.push(e)}let r=i.filter(V.SJ),s=i.filter(e=>!(0,V.SJ)(e));if(r.length>0&&Promise.all(r.map(e=>(0,B.JX)(e).then(t=>({id:e,dataUrl:t})))).then(e=>{let t={};for(let{id:i,dataUrl:r}of e)r&&(t[i]=r);Object.keys(t).length>0&&eC(e=>({...e,...t}))}).catch(e=>{u.logger.warn("[ImagePreview] ToB image download failed:",e)}),s.length>0){if(l?.getImageThumbnails){let{thumbnails:i}=l.getImageThumbnails({imageIds:s});if(Object.keys(i).length>0){let r={};for(let s of e){let e=t[s];i[e]&&(r[s]=i[e])}if(eC(e=>({...e,...r})),Object.keys(i).length===s.length)return}}l?.preloadImageUrls&&l.preloadImageUrls({imageIds:s}).then(()=>{if(l.getImageThumbnails){let{thumbnails:i}=l.getImageThumbnails({imageIds:s}),r={};for(let s of e){let e=t[s];i[e]&&(r[s]=i[e])}eC(e=>({...e,...r}))}}).catch(e=>{u.logger.warn("[ImagePreview] Preload failed:",e)})}},[ek,l]);let ew=(0,s.useMemo)(()=>{let e=(0,P.kA)(_.query).filter(e=>!(0,P.u)(e));return[...e=e.filter(e=>!e.hidden),...ek.map(e=>e.path&&ex[e.path]?{...e,thumbnail:ex[e.path]}:e)]},[_.query,ek,ex]),[eE,eT]=(0,s.useState)(!1),[eI,eR]=(0,s.useState)([]),[eN,eA]=(0,s.useState)(!1),[eM,eP]=(0,s.useState)(!1),[ej,eL]=(0,s.useState)(!1),[eD,eO]=(0,s.useState)(!1),[eF,eU]=(0,s.useState)(!1),[eV,eB]=(0,s.useState)(!1),ez=(0,s.useCallback)(()=>{eO(e=>!e)},[]),eW=(0,s.useCallback)(e=>{eU(e)},[]),eH=(0,s.useCallback)(()=>{let{query:e,content:t}=_,i="";e&&e.length>0&&(i=e.filter(e=>"text"===e.type&&!e.data?.hidden).map(e=>e.data?.content||"").filter(Boolean).join(" ")),!i&&t&&t.length>0&&(i=t.filter(e=>"text"===e.type).map(e=>e.text_content).join("")),i&&(async()=>{try{let t={"text/plain":new Blob([i],{type:"text/plain"})};if(e&&e.length>0){let r=(0,X.t)(e),s=JSON.stringify(r),n=btoa(unescape(encodeURIComponent(s))),a=i.replace(/&/g,"&").replace(//g,">"),o=`${a}`;t["text/html"]=new Blob([o],{type:"text/html"})}await navigator.clipboard.write([new ClipboardItem(t)])}catch(t){let e=C.XT.tryResolve(E.F.Clipboard);e?e.copyText(i):(u.logger.warn("clipboard.write failed, fallback to writeText:",t),navigator.clipboard.writeText(i).catch(e=>{u.logger.error("Failed to copy text:",e)}))}})();let r=ey();n.report(K.qu.CodeCompCopyClick,{...r,result_type:"copy_button_input"})},[_,n,ey]),eG=(0,s.useCallback)(async(e,t,i)=>{if(u.logger.info("[ImagePreview] handleFileClick:",{file:e,type:e.type,path:e.path}),"image"===e.type&&e.path){u.logger.info("[ImagePreview] Image file clicked, preparing preview");let r=ek.map(e=>e.path).filter(e=>!!e),s=ek.map(e=>e.name),n=r.indexOf(e.path);if(u.logger.info("[ImagePreview] allImageIds:",{allImageIds:r,clickedIndex:n,filePath:e.path}),-1===n||0===r.length)return void u.logger.warn("[ImagePreview] Image not found in imageFiles");if(!l?.previewImages){u.logger.warn("[ImagePreview] toolcallPort.previewImages not available"),c.oR.error("Image preview is not available");return}t(!0);try{u.logger.info("[ImagePreview] Calling previewImages:",{imageIds:r,startIndex:n});let e=await l.previewImages({imageIds:r,startIndex:n,displayNames:s,resolvedUrls:ex});u.logger.info("[ImagePreview] previewImages result:",e),e.success||(u.logger.error("[ImagePreview] previewImages failed:",e.error),c.oR.error(e.error||"Failed to load image preview")),i()}catch(e){u.logger.error("[ImagePreview] previewImages error:",e),c.oR.error("Failed to load image preview")}finally{t(!1)}return}if(!l||!e.path)return;let r=(0,P.Jx)(e.path,e.name,q,ef);(u.logger.info("[handleFileClick] Attachment path resolution:",{originalPath:e.path,resolvedPath:r,fileName:e.name,uploadsPath:q,vmHostDirMappingList:ef??"undefined"}),r)?(l.openFile({filePath:r,fileDisplayName:e.name}),i()):u.logger.warn("[handleFileClick] Unable to resolve attachment file path:",{path:e.path})},[l,q,ef,ek,ex]),eZ=(0,s.useCallback)(async()=>{let e=ey();n.report(K.qu.CodeCompRevertClick,{...e}),ee&&ee();let t=C.XT.tryResolve(E.F.TraeApi);if(!t)return void u.logger.warn("[trae-chat-core] ITraeApiPort not registered, cannot check revert");if(!await (0,G.Et)({env:b,mode:v,i18n:i}))return;let r=A.eA.sessionMessages.get(y).filter(e=>"user"===e.role);eB(r.length>0&&r[0].messageId===eg);let s=()=>{eT(!1),eR([]),ee===s&&(ee=null)};ee=s,eA(!0),eT(!0),b===I.nN.Remote&&M.kd.wakeupSandbox(y).catch(e=>{u.logger.warn("[trae-chat-core] Async wakeup sandbox during revert click failed:",e)});try{let e=await t.chat.messageRevertCheck({chat_session_id:y,target_message_id:eg});if(0!==e.code){o.log({content:`[RevertCheck] API error: code=${e.code}, message=${e.message||"Check failed"}`,level:"error",extra:{session_id:y,message_id:eg,error_code:e.code}}),e._toastShown||c.oR.error(i.localize("solo-web.message.checkRevertFailed",{},"Failed to check revert status")),s();return}eR(e.data?.diff_file_infos??[])}catch(t){let e=t instanceof Error?t.message:String(t);o.log({content:`[RevertCheck] Exception: ${e}`,level:"error",extra:{session_id:y,message_id:eg}}),c.oR.error(i.localize("solo-web.message.checkRevertFailed",{},"Failed to check revert status")),s()}finally{eA(!1)}},[n,o,i,y,b,eg]),eK=(0,s.useCallback)(async()=>{let e=C.XT.tryResolve(E.F.Input);if(!e){u.logger.warn("[trae-chat-core] IInputPort not registered, cannot revert query to input"),eT(!1);return}let t=C.XT.tryResolve(E.F.TraeApi);if(!t){u.logger.warn("[trae-chat-core] ITraeApiPort not registered, cannot revert message"),eT(!1);return}eP(!0);try{let{query:r,content:s}=_,a=async()=>{if(r&&r.length>0){let e=r.filter(e=>"slash_command"===e.type).length,t=r.reduce((e,t)=>{let i=t.type||"unknown";return e[i]=(e[i]??0)+1,e},{});u.logger.info("[trae-chat-core] Reverting input from query field, total query parts:",r.length,"slash query parts:",e,"query part type summary:",t,"raw query:",r);let i=C.XT.tryResolve(E.F.Storage),n=new T.qS,a=await n.restore({query:r,fallbackParsedQuery:el(s),context:{sessionId:y,mode:er(v),attachmentMetaRepository:i?new T.DM(i):void 0,attachmentMetaScope:{userId:A.Zz.currentUser.get()?.userId}}}),o=a.parsedQuery.filter(e=>"string"!=typeof e&&"object"==typeof e&&null!==e&&"type"in e&&String(e.type).includes("slash")).length,l=a.parsedQuery.reduce((e,t)=>{if("string"==typeof t)return e.text=(e.text??0)+1,e;let i=t.type||"unknown";return e[i]=(e[i]??0)+1,e},{});return u.logger.info("[trae-chat-core] Converted query to restored input payload, total parsed items:",a.parsedQuery.length,"slash parsed items:",o,"parsed item type summary:",l,"file count:",a.files.length,"lost files:",a.lostFileNames),a}return{parsedQuery:el(s)??[],files:[]}},l=(e,t,i)=>{(0!==t.parsedQuery.length||0!==t.files.length)&&(e.restoreInputPayload(t,{mode:i}),u.logger.info("[trae-chat-core] Restored input payload after Revert"))},d=A.eA.sessionMessages.get(y).filter(e=>"user"===e.role),h=d.length>0&&d[0].messageId===eg;if(h&&b===I.nN.Remote){let t=await a(),i=ei(v);u.logger.info("[trae-chat-core] Remote first message revert, deleting session directly");let r=ey();if(n.report(K.qu.CodeCompRevertSuccess,{...r}),await e.persistInputPayloadDraft(t,en(i)),es(i),await M.kd.deleteSession(y,!1)){let e=C.XT.tryResolve(E.F.Navigate);e&&e.navigateHomePage()}else u.logger.error("[trae-chat-core] Failed to delete session after reverting first message");return}if(b===I.nN.Remote&&!await M.kd.wakeupAndWaitForSandboxReady(y,3e4)){u.logger.error("[trae-chat-core] Sandbox not ready for revert, timeout or failed"),o.log({content:`[Revert] Sandbox not ready for revert, timeout or failed. sandbox=${JSON.stringify(J)}`,level:"error",extra:{session_id:y,message_id:eg}}),c.oR.error(i.localize("solo-web.message.revertFailed",{},"Revert failed. Please try again.")),eP(!1);return}(0,R.UL)(S)&&await M.kd.stopSession(y);let p=h?await a():void 0,m=h?ei(v):void 0;h&&(await e.persistInputPayloadDraft(p??{parsedQuery:[],files:[]},en(m)),es(m));let f=C.XT.tryResolve(E.F.Snapshot);f?.revertFiles&&eI?.length&&await f.revertFiles(eI);let g=await t.chat.messageRevert({chat_session_id:y,target_message_id:eg});if(0!==g.code){u.logger.error("[trae-chat-core] messageRevert failed, code:",g.code,"message:",g.message),o.log({content:`[Revert] API error: code=${g.code}, message=${g.message||"Revert failed"}`,level:"error",extra:{session_id:y,message_id:eg,error_code:g.code}}),eP(!1);return}h||ea(b,y);let k=A.L3.allMessages.get(),x=k.findIndex(e=>e.messageId===eg);if(-1!==x)for(let e of k.slice(x))A.eA.relation.removeMessage(y,e.messageId),A.L3.core.delete(e.messageId);let w=p??await a();u.logger.info("[trae-chat-core] Message reverted successfully");let N=ey();if(n.report(K.qu.CodeCompRevertSuccess,{...N}),h){u.logger.info("[trae-chat-core] First message reverted, deleting session first then restoring input");let e=b===I.nN.Local;if(await eo(b,y),!A.eA.sessionById.get(y)||await M.kd.deleteSession(y,e)){let e=C.XT.tryResolve(E.F.Navigate);e&&e.navigateHomePage()}else u.logger.error("[trae-chat-core] Failed to delete session after reverting first message")}else l(e,w,ei(v)),await new Promise(e=>setTimeout(e,100)),e.flushDraft({toHomePage:!1}),M.kd.refreshSession(y,"message_revert").catch(e=>{u.logger.warn("[trae-chat-core] Failed to refresh session after revert:",e)})}catch(t){let e=t instanceof Error?t.message:String(t);u.logger.error("[trae-chat-core] messageRevert catch error:",t),o.log({content:`[Revert] Exception: ${e}`,level:"error",extra:{session_id:y,message_id:eg}})}finally{eP(!1),eT(!1),eR([]),ee=null}},[n,i,y,v,b,S,eg,eI,_,eV,ey,o]),eX=(0,s.useCallback)(()=>{eT(!1),eR([]),ee=null},[]),eY=(0,s.useCallback)(async()=>{if(ej)return;let e=ey();if(n.report(K.qu.CodeCompDeleteClick,{...e}),!await (0,G.Et)({env:b,mode:v,i18n:i}))return;let t=A.eA.sessionMessages.get(y).filter(e=>"user"===e.role),r=1===t.length&&t[0].messageId===eg,s=r?i.localize("solo-web.message.deleteConfirmWithSession",{},"This is the only message in the session. Deleting it will also delete the session. Are you sure?"):i.localize("solo-web.message.deleteConfirm",{},"Are you sure you want to delete this message?");if(await d.lJ.show({title:i.localize("solo-web.message.deleteTitle",{},"Delete Message"),content:s,confirmText:i.localize("solo-web.common.delete",{},"Delete"),cancelText:i.localize("solo-web.common.cancel",{},"Cancel")})){eL(!0);try{await M.kd.stopSession(y);let t=C.XT.resolve(E.F.TraeApi);await t.chat.deleteMessage({chat_session_id:y,message_id:eg});let s=A.L3.allMessages.get().find(e=>"assistant"===e.role&&e.replyToMessageId===eg);A.eA.relation.removeMessage(y,eg),A.L3.core.delete(eg),s&&(A.eA.relation.removeMessage(y,s.messageId),A.L3.core.delete(s.messageId));try{w.kL.resolve(E.B.FileConvertService).clearSessionTasks(y)}catch{}if(n.report(K.qu.CodeCompDeleteSuccess,{...e}),r){u.logger.info("[trae-chat-core] Only user message deleted, deleting session and navigating to home");let e=b===I.nN.Local;if(await M.kd.deleteSession(y,e)){let e=C.XT.tryResolve(E.F.Navigate);e&&e.navigateHomePage()}else u.logger.error("[trae-chat-core] Failed to delete session after deleting only user message")}else c.oR.success(i.localize("solo-web.message.deleteSuccess",{},"Message deleted")),M.kd.refreshSession(y,"message_delete").catch(e=>{u.logger.warn("[trae-chat-core] Failed to refresh session after delete:",e)})}catch(e){u.logger.error("[trae-chat-core] Delete message failed:",e),c.oR.error(i.localize("solo-web.message.deleteFailed",{},"Failed to delete message"))}finally{eL(!1)}}},[i,y,eg,ej,n,b,ey]);if(!_)return null;let eJ={[I.DX.Code]:{bgVar:"var(--bg-bg-brand-popup)",solidBgVar:"var(--user-message-bg-solid)",solidBgTransparentVar:"var(--user-message-bg-solid-transparent)"},[I.DX.Work]:{bgVar:"var(--bg-bg-brand-popup-sub)",solidBgVar:"var(--user-message-bg-solid-sub)",solidBgTransparentVar:"var(--user-message-bg-solid-sub-transparent)"},[I.DX.Design]:{bgVar:"var(--bg-bg-invert-disabled)",solidBgVar:"var(--user-message-bg-solid-design)",solidBgTransparentVar:"var(--user-message-bg-solid-design)"}},e$=v?eJ[v]:eJ[I.DX.Code],eq=e$.solidBgVar,eQ=e$.solidBgTransparentVar;if("voice_summary"===_.agentType){let e=_.metadata?.voiceDuration;if(void 0===e||e<=0){let t=((_.query?.filter(e=>"text"===e.type).map(e=>e.data?.content??"").join("")??"")||eb).match(/(\d{2}):(\d{2})/);t&&(e=(60*parseInt(t[1],10)+parseInt(t[2],10))*1e3)}return(0,r.jsx)("section",{className:["user-message",t].filter(Boolean).join(" "),"data-message-id":eg,"data-role":"user","data-message-index":_.messageIndex,children:(0,r.jsxs)("div",{className:"user-message__main",children:[!f&&(0,r.jsx)(em,{onRevertClick:eZ,onDeleteClick:eY,onCopy:eH,copyable:!1,revertible:!1,deletable:!(0,R.UL)(S)&&!et(k),isDeleting:ej}),(0,r.jsx)("div",{className:"user-message__content-area",children:(0,r.jsx)("div",{className:"user-message__text-box",children:(0,r.jsx)($,{duration:e})})})]})})}let e0=["user-message",t].filter(Boolean).join(" "),e1=(0,H.ml)(_.query),e2=(0,z.mr)(_.userMessageContext),e3=(0,z.VV)(_.query)||e1||e2,e4=(0,Z.ww)(),e5=e4&&!!_.userMessageContext?.is_from_hooks,e9=e5&&eb||void 0,e6=(0,z.CX)(_.userMessageContext,_.query),e8=(0,Q.P9)(_.query);return e6?null:e4&&e1?(0,r.jsx)("section",{className:e0,"data-message-id":eg,"data-role":"user","data-message-index":_.messageIndex,children:(0,r.jsx)(ed,{})}):e5?(0,r.jsx)("section",{className:e0,"data-message-id":eg,"data-role":"user","data-message-index":_.messageIndex,children:(0,r.jsx)(eu,{content:e9})}):(0,r.jsxs)("section",{className:e0,"data-message-id":eg,"data-role":"user","data-message-index":_.messageIndex,"data-mode":v,children:[e2?null:(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"user-message__main",children:(0,r.jsxs)("div",{className:"user-message__content-area",children:[ew.length>0&&(0,r.jsx)(P.cl,{files:ew,isWorkMode:v===I.DX.Work||v===I.DX.Design,onFileClick:eG}),e?e(eb):eb||(0,j.cy)(_.query)?(0,r.jsx)(j.Hu,{query:_.query,content:eb,isExpanded:eD,onToggleExpand:ez,showExpandButton:eF,onContentMeasured:eW,solidBgColor:eq,solidBgColorTransparent:eQ,toolcallPort:l,attachmentCount:ew.length,isWorkMode:v===I.DX.Work||v===I.DX.Design,isWorktree:!!N,fetchFeishuDocMeta:g}):null]})})}),e3||f?ev||e8?(0,r.jsxs)("div",{className:"user-message__bottom-bar user-message__bottom-bar--readonly",children:[ev&&(0,r.jsx)(a.A,{className:"user-message__time",tooltipSide:"bottom",children:ev}),e8&&(0,r.jsx)(eh,{})]}):null:(0,r.jsx)(ep,{onRevertClick:eZ,onDeleteClick:eY,onCopy:eH,revertible:_.revertible&&!(0,R.UL)(S)&&!(_.isWorktree&&(N?.worktreeStatus===I.St.Merged||N?.worktreeStatus===I.St.Deleted))&&!et(k),deletable:!(0,R.UL)(S)&&!et(k),isDeleting:ej,formattedTime:ev,showGoalSetBadge:e8}),(0,r.jsx)(x,{visible:eE,diffFileInfos:eI,loading:eN,confirmLoading:eM,onConfirm:eK,onCancel:eX,isFirstMessage:eV})]})}),eg={identifier:{domain:f.M.UserMessage,name:"user"},displayName:"User Message",description:"User message component",component:ef};(0,g.MD)([eg]),i(25841);var e_=i(86020);let ey="data-log-index",ev=(0,s.memo)(function(){return(0,r.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M4 6L8 10L12 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),eb=(0,s.memo)(function(){return(0,r.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M4 10L8 6L12 10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})});(0,s.forwardRef)((e,t)=>{let{errorDetails:i,className:n,onExpandErrorDetail:a}=e,[o,l]=(0,s.useState)(!1),c=(0,L.s)(),d=(0,s.useRef)(null),u=()=>{l(!o),o||a?.()};return(0,s.useImperativeHandle)(t,()=>({scrollToLog:e=>{l(!0),setTimeout(()=>{if(d.current){let t=d.current.querySelector(`[${ey}="${e}"]`);t&&d.current.scrollTo({behavior:"smooth",top:t.offsetTop-d.current.offsetTop})}},0)}})),(0,r.jsxs)("div",{className:e_("error-details-expandable",n),children:[(0,r.jsx)("div",{className:"error-details-expandable__header",onClick:u,children:(0,r.jsxs)("div",{className:"error-details-expandable__toggle",children:[o?c.localize("trae-chat-core.errorDetails.collapse",{},"Collapse Error Details"):c.localize("trae-chat-core.errorDetails.expand",{},"Expand Error Details"),o?(0,r.jsx)(eb,{}):(0,r.jsx)(ev,{})]})}),o&&(0,r.jsx)("pre",{ref:d,className:"error-details-expandable__content custom-scrollbar",children:i.map(({logIndex:e,log:t})=>(0,r.jsx)("div",{"data-log-index":e,children:t},e))})]})}).displayName="ErrorDetailsExpandable"},33843(e,t,i){i.d(t,{Y8:()=>n,YO:()=>s,i7:()=>a});var r=i(51649);let s=(0,r.createContext)({}),n=s.Provider,a=()=>(0,r.useContext)(s)},82113(e,t,i){i.d(t,{Pp:()=>eQ,Hu:()=>e2,cy:()=>e0});var r=i(97282),s=i(51649),n=i(86020),a=i(76933);let o={create_pr_review:"AI Create PR",create_pr_resolve:"AI Create PR",check_pr_review:"AI Check PR",check_pr_resolve:"AI Check PR"},l={create_pr_review:{zh:"\u68C0\u67E5\u5F53\u524D\u5206\u652F\u4E0E\u76EE\u6807\u5206\u652F\u7684\u5DEE\u5F02",en:"Review the diff between the current and target branches",ja:"\u73FE\u5728\u306E\u30D6\u30E9\u30F3\u30C1\u3068\u5BFE\u8C61\u30D6\u30E9\u30F3\u30C1\u306E\u5DEE\u5206\u3092\u78BA\u8A8D"},check_pr_review:{zh:"\u68C0\u67E5\u5F53\u524D\u5206\u652F\u4E0E\u76EE\u6807\u5206\u652F\u7684\u5DEE\u5F02",en:"Review the diff between the current and target branches",ja:"\u73FE\u5728\u306E\u30D6\u30E9\u30F3\u30C1\u3068\u5BFE\u8C61\u30D6\u30E9\u30F3\u30C1\u306E\u5DEE\u5206\u3092\u78BA\u8A8D"},create_pr_resolve:{zh:"\u89E3\u51B3\u5206\u652F\u95F4\u7684\u51B2\u7A81",en:"Resolve conflicts between branches",ja:"\u30D6\u30E9\u30F3\u30C1\u9593\u306E\u7AF6\u5408\u3092\u89E3\u6C7A"},check_pr_resolve:{zh:"\u89E3\u51B3\u5206\u652F\u95F4\u7684\u51B2\u7A81",en:"Resolve conflicts between branches",ja:"\u30D6\u30E9\u30F3\u30C1\u9593\u306E\u7AF6\u5408\u3092\u89E3\u6C7A"}},c=(0,s.memo)(function({scene:e,language:t,isWorktree:i}){let s=o[e]||"AI Create PR",n=i&&("create_pr_review"===e||"create_pr_resolve"===e)?"AI Merge":s,c=l[e]?.[t]||l[e]?.en||"";return(0,r.jsxs)("span",{className:"agentReviewMarker",children:[(0,r.jsxs)("span",{className:"agentReviewMarkerTag",children:[(0,r.jsx)(a.Mpl,{className:"agentReviewMarkerTag__icon"}),(0,r.jsx)("span",{className:"agentReviewMarkerTag__text",children:n})]}),c&&(0,r.jsx)("span",{className:"agentReviewMarker__desc",children:c})]})});var d=i(25841),u=i(19755),h=i(68517),p=i(83266),m=i(30722),f=i(30338),g=i(87441),_=i(17723);let y=({visible:e,onClose:t,title:i,quoteText:n,detailText:o})=>{let l=(0,s.useMemo)(()=>(0,r.jsxs)("div",{className:"mention-info-modal-content-wrapper",children:[(0,r.jsxs)("div",{className:"mention-info-modal-header",children:[(0,r.jsx)("div",{className:"mention-info-modal-title-wrapper",children:(0,r.jsx)(u.A,{content:i,side:"top",delayDuration:300,children:(0,r.jsx)("div",{className:"mention-info-modal-title",children:i})})}),(0,r.jsx)("button",{className:"mention-info-modal-close-btn",onClick:t,"aria-label":"Close modal",children:(0,r.jsx)(a.fc0,{style:{width:16,height:16}})})]}),(0,r.jsx)("div",{className:"mention-info-modal-body",children:(0,r.jsxs)("div",{className:"mention-info-modal-card",children:[n?(0,r.jsx)("div",{className:"mention-info-modal-quote",children:(0,r.jsx)("div",{className:"mention-info-modal-quote-text",children:n})}):null,o?(0,r.jsx)("div",{className:"mention-info-modal-detail-text",children:o}):null]})})]}),[o,t,n,i]);return(0,r.jsx)(_.A,{visible:e,onClose:t,width:480,className:"mention-info-modal",maskClassName:"mention-info-modal-mask",closable:!1,children:l})};var v=i(23845),b=i(25188),S=i(92046),k=i(74134),x=i(33843);let C=132,w=()=>(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M9.83813 6.63562H8.78796V3.7124H3.71313V11.7045H6.68762V12.7546H1.49658V11.7045H2.66296V2.66309H9.83813V6.63562Z",fill:"#BFA5FF"}),(0,r.jsx)("path",{d:"M6.68762 8.9624H4.99658V7.91309H6.68762V8.9624Z",fill:"#BFA5FF"}),(0,r.jsx)("path",{d:"M7.50452 6.62964H4.99658V5.57947H7.50452V6.62964Z",fill:"#BFA5FF"}),(0,r.jsx)("path",{d:"M10.0565 7.47541C10.4093 7.47546 10.7296 7.60705 10.975 7.82234C11.2204 7.60705 11.5407 7.47546 11.8936 7.47541H14.5186V12.7613H11.8936C11.6559 12.7614 11.4561 12.9569 11.4561 13.2065H10.494L10.4846 13.1159C10.4432 12.9112 10.2646 12.7614 10.0565 12.7613H7.43146V7.47541H10.0565ZM8.39362 11.7991H10.0565C10.2095 11.7992 10.3564 11.8238 10.494 11.8692V8.88276L10.4846 8.79219C10.4431 8.58754 10.2645 8.43765 10.0565 8.43757H8.39362V11.7991ZM11.4561 11.8692C11.5936 11.8238 11.7406 11.7992 11.8936 11.7991H13.5565V8.43757H11.8936C11.6559 8.43767 11.4562 8.63323 11.4561 8.88276V11.8692Z",fill:"#BFA5FF"})]}),E=()=>(0,r.jsx)(a.l9Q,{style:{width:14,height:14}}),T=()=>(0,r.jsx)(a.yEs,{}),I=()=>(0,r.jsx)(a.p6C,{style:{width:14,height:14}}),R=()=>(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsxs)("g",{transform:"translate(1.3125 1.225)",children:[(0,r.jsx)("path",{d:"M5.25 2.27466C5.25 1.59811 4.70123 1.04932 4.02466 1.04932H2.27466C1.59811 1.04932 1.04932 1.59811 1.04932 2.27466V8.39966C1.04932 9.55947 1.98986 10.5 3.14966 10.5C4.30946 10.5 5.25 9.55947 5.25 8.39966V2.27466ZM6.29932 8.39966C6.29932 10.1394 4.88935 11.5493 3.14966 11.5493C1.40996 11.5493 0 10.1394 0 8.39966V2.27466C0 1.01821 1.01821 0 2.27466 0H4.02466C5.28114 0 6.29932 1.01822 6.29932 2.27466V8.39966Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M5.61145 0.728241C5.75642 0.477137 6.07812 0.391005 6.32922 0.53598L8.10742 1.56223C9.1954 2.19046 9.56774 3.58197 8.9397 4.67001L5.8772 9.9747C5.73225 10.2257 5.41135 10.3118 5.16028 10.167C4.90925 10.022 4.82322 9.70111 4.96802 9.45004L8.03052 4.14536C8.36878 3.55945 8.16779 2.81055 7.58191 2.47226L5.80371 1.44516C5.55276 1.3002 5.46667 0.979276 5.61145 0.728241Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M9.11636 2.98666C9.36746 2.84171 9.68831 2.92783 9.83328 3.17892L10.8604 4.95712C11.4886 6.04529 11.1155 7.43676 10.0273 8.06491L4.87039 11.042C4.61936 11.1867 4.29843 11.1006 4.15347 10.8497C4.00853 10.5986 4.09467 10.2778 4.34573 10.1328L9.50259 7.15573C10.0885 6.81752 10.2895 6.06776 9.9512 5.48178L8.9241 3.70358C8.77924 3.4525 8.86531 3.13161 9.11636 2.98666Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M4.02466 8.39966C4.02466 8.88289 3.63291 9.27466 3.14966 9.27466C2.66641 9.27466 2.27466 8.88289 2.27466 8.39966C2.27466 7.91642 2.66641 7.52466 3.14966 7.52466C3.63291 7.52466 4.02466 7.91642 4.02466 8.39966Z",fill:"currentColor"})]})}),N=()=>(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("g",{transform:"translate(1.1665 1.1665)",children:(0,r.jsx)("path",{d:"M4.42969 0.00585938C6.54784 0.113201 8.25179 1.78491 8.41211 3.88867H9.72266C10.7963 3.88884 11.6668 4.75943 11.667 5.83301V9.72266L11.6641 9.82227C11.6119 10.8495 10.7628 11.6668 9.72266 11.667H5.83301C4.75943 11.6668 3.88884 10.7963 3.88867 9.72266V8.41113C1.78484 8.2509 0.113204 6.5479 0.00585938 4.42969L0 4.21289C0.000175852 1.88639 1.88639 0.000176085 4.21289 0L4.42969 0.00585938ZM5.83301 4.98535C5.36515 4.98559 4.98559 5.36514 4.98535 5.83301V9.72266C4.98552 10.1906 5.3651 10.5701 5.83301 10.5703H9.72266C10.1906 10.5701 10.5701 10.1906 10.5703 9.72266V5.83301C10.5701 5.3651 10.1906 4.98552 9.72266 4.98535H5.83301ZM4.21289 1.09668C2.49206 1.09686 1.09686 2.49206 1.09668 4.21289C1.09681 5.82427 2.32015 7.15019 3.88867 7.3125V5.83301C3.88891 4.75947 4.75947 3.88891 5.83301 3.88867H7.3125C7.15019 2.32015 5.82427 1.09681 4.21289 1.09668Z",fill:"currentColor"})})}),A=()=>(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("g",{transform:"translate(0.8232 1.9754)",children:(0,r.jsx)("path",{d:"M11.0986 9.61426C11.3433 9.61426 11.5418 9.81205 11.542 10.0566C11.542 10.3014 11.3433 10.5 11.0986 10.5H9.1582C8.91356 10.4999 8.71484 10.3013 8.71484 10.0566C8.71499 9.8121 8.91365 9.61434 9.1582 9.61426H11.0986ZM4.49805 0C5.17043 8.03457e-05 5.77348 0.296877 6.18555 0.764648C6.59762 0.297019 7.19979 6.05541e-05 7.87207 0H10.9639C11.7401 9.94763e-05 12.3691 0.630011 12.3691 1.40625V4.69434C12.3691 4.88064 12.2185 5.03222 12.0322 5.03223H11.583C11.3967 5.03223 11.2451 4.88065 11.2451 4.69434V1.40625C11.2451 1.25106 11.119 1.1251 10.9639 1.125H7.87207C7.25118 1.12511 6.74718 1.62815 6.74707 2.24902V8.19336C7.04613 8.02728 7.36854 7.92941 7.69434 7.89062C7.79041 7.87919 7.87207 7.95696 7.87207 8.05371V8.84961C7.87188 8.93679 7.80451 9.00853 7.71875 9.02441C7.54491 9.05664 7.38334 9.11671 7.24023 9.20508C7.00382 9.35125 6.81186 9.56093 6.6875 9.80957C6.59229 9.99965 6.39813 10.1199 6.18555 10.1201C5.9727 10.12 5.77686 9.99994 5.68164 9.80957C5.55725 9.56095 5.36632 9.35122 5.12988 9.20508C4.90507 9.06625 4.6352 8.99615 4.34277 8.99609H1.40625C0.630113 8.99598 0.000111289 8.36595 0 7.58984V1.40625C0 0.630025 0.630051 0.000111328 1.40625 0H4.49805ZM12.4023 7.64551C12.6471 7.64551 12.8457 7.84415 12.8457 8.08887C12.8455 8.33342 12.6469 8.53125 12.4023 8.53125H9.1582C8.91368 8.53117 8.71503 8.33337 8.71484 8.08887C8.71484 7.84421 8.91356 7.64559 9.1582 7.64551H12.4023ZM1.40625 1.125C1.25109 1.12511 1.125 1.25106 1.125 1.40625V7.58984C1.12511 7.74493 1.25116 7.87196 1.40625 7.87207H4.34277C4.77926 7.87212 5.22225 7.97084 5.62305 8.19336V2.24902C5.62293 1.62818 5.1189 1.12515 4.49805 1.125H1.40625ZM12.4023 5.67773C12.6471 5.67773 12.8457 5.87638 12.8457 6.12109C12.8456 6.36574 12.647 6.56445 12.4023 6.56445H9.1582C8.91361 6.56437 8.71492 6.36569 8.71484 6.12109C8.71484 5.87643 8.91356 5.67782 9.1582 5.67773H12.4023Z",fill:"currentColor"})})}),M=()=>(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsxs)("g",{transform:"translate(1.46 1.75)",children:[(0,r.jsx)("path",{d:"M5.86801 7.58333V3.20833C5.86801 2.86684 5.59143 2.59025 5.24993 2.59025H4.08326C3.78043 2.59025 3.53468 2.3445 3.53468 2.04167C3.53468 1.73883 3.78043 1.49308 4.08326 1.49308H5.24993C6.1971 1.49308 6.96518 2.26117 6.96518 3.20833V7.58333C6.96518 7.92483 7.24177 8.20142 7.58326 8.20142H9.62493C9.92777 8.20142 10.1735 8.44716 10.1735 8.75C10.1735 9.05284 9.92777 9.29858 9.62493 9.29858H7.58326C6.63609 9.29858 5.86801 8.5305 5.86801 7.58333Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M8.65361 6.90369C8.86775 6.68955 9.21536 6.68955 9.42949 6.90369L10.8052 8.27999C11.0647 8.53964 11.0647 8.96028 10.8052 9.21993L9.42949 10.5962C9.21536 10.8104 8.86775 10.8104 8.65361 10.5962C8.43948 10.3821 8.43948 10.0345 8.65361 9.82035L9.72401 8.74996L8.65361 7.67957C8.43948 7.46543 8.43948 7.11782 8.65361 6.90369Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M2.98673 2.04167C2.98673 1.51976 2.56358 1.0966 2.04167 1.0966C1.51976 1.0966 1.0966 1.51976 1.0966 2.04167C1.0966 2.56358 1.51976 2.98673 2.04167 2.98673V4.08333C0.914086 4.08333 0 3.16925 0 2.04167C0 0.914086 0.914086 0 2.04167 0C3.16925 0 4.08333 0.914086 4.08333 2.04167C4.08333 3.16925 3.16925 4.08333 2.04167 4.08333V2.98673C2.56358 2.98673 2.98673 2.56358 2.98673 2.04167Z",fill:"currentColor"})]})}),P=()=>(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 11.9973",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("mask",{id:"query-design-library-component-icon-mask",style:{maskType:"luminance"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"12",height:"12",children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.25138 3.90429C3.03446 3.68756 2.74036 3.56581 2.43373 3.56581C2.12709 3.56581 1.833 3.68756 1.61608 3.90429L0.338939 5.1805C0.231485 5.28793 0.146247 5.41547 0.0880913 5.55584C0.0299361 5.69621 3.8147e-06 5.84667 3.8147e-06 5.99861C3.8147e-06 6.15056 0.0299361 6.30101 0.0880913 6.44138C0.146247 6.58176 0.231485 6.7093 0.338939 6.81672L1.61608 8.09201C1.833 8.30874 2.12709 8.43049 2.43373 8.43049C2.74036 8.43049 3.03446 8.30874 3.25138 8.09201L4.52759 6.81672C4.63504 6.7093 4.72028 6.58176 4.77844 6.44138C4.83659 6.30101 4.86653 6.15056 4.86653 5.99861C4.86653 5.84667 4.83659 5.69621 4.77844 5.55584C4.72028 5.41547 4.63504 5.28793 4.52759 5.1805L3.25138 3.90429ZM3.90568 1.61376C3.79823 1.72119 3.71299 1.84873 3.65483 1.9891C3.59668 2.12948 3.56674 2.27993 3.56674 2.43187C3.56674 2.58382 3.59668 2.73427 3.65483 2.87464C3.71299 3.01502 3.79823 3.14256 3.90568 3.24998L5.18282 4.5262C5.39974 4.74293 5.69383 4.86467 6.00047 4.86467C6.3071 4.86467 6.6012 4.74293 6.81811 4.5262L8.09433 3.24998C8.20178 3.14256 8.28702 3.01502 8.34518 2.87464C8.40333 2.73427 8.43327 2.58382 8.43327 2.43187C8.43327 2.27993 8.40333 2.12948 8.34518 1.9891C8.28702 1.84873 8.20178 1.72119 8.09433 1.61376L6.81719 0.338473C6.60027 0.121742 6.30618 0 5.99954 0C5.69291 0 5.39881 0.121742 5.18189 0.338473L3.90568 1.61376ZM10.3839 3.90429C10.167 3.68756 9.87292 3.56581 9.56628 3.56581C9.25964 3.56581 8.96555 3.68756 8.74863 3.90429L7.47242 5.1805C7.36496 5.28793 7.27973 5.41547 7.22157 5.55584C7.16341 5.69621 7.13348 5.84667 7.13348 5.99861C7.13348 6.15056 7.16341 6.30101 7.22157 6.44138C7.27973 6.58176 7.36496 6.7093 7.47242 6.81672L8.74863 8.09201C8.96555 8.30874 9.25964 8.43049 9.56628 8.43049C9.87292 8.43049 10.167 8.30874 10.3839 8.09201L11.6611 6.81672C11.7685 6.7093 11.8538 6.58176 11.9119 6.44138C11.9701 6.30101 12 6.15056 12 5.99861C12 5.84667 11.9701 5.69621 11.9119 5.55584C11.8538 5.41547 11.7685 5.28793 11.6611 5.1805L10.3839 3.90429ZM8.09433 10.3825C8.31106 10.1656 8.4328 9.87153 8.4328 9.56489C8.4328 9.25825 8.31106 8.96416 8.09433 8.74724L6.81719 7.4701C6.60027 7.25337 6.30618 7.13163 5.99954 7.13163C5.69291 7.13163 5.39881 7.25337 5.18189 7.4701L3.90568 8.74724C3.68895 8.96416 3.56721 9.25825 3.56721 9.56489C3.56721 9.87153 3.68895 10.1656 3.90568 10.3825L5.18282 11.6588C5.39974 11.8755 5.69383 11.9972 6.00047 11.9972C6.3071 11.9972 6.6012 11.8755 6.81811 11.6588L8.09433 10.3825Z",fill:"white"})}),(0,r.jsx)("g",{mask:"url(#query-design-library-component-icon-mask)",children:(0,r.jsx)("path",{d:"M0.995453 5.83445L2.27167 4.55824L0.962136 3.24963L-0.313154 4.52677L0.995453 5.83538V5.83445ZM2.27167 7.43735L0.994527 6.16206L-0.313154 7.46975L0.963062 8.74596L2.27167 7.43643V7.43735ZM3.90696 8.74689L5.1841 7.47067L3.87457 6.16206L2.59836 7.43735L3.90696 8.74689ZM5.1841 4.52584L3.90604 3.24963L2.59743 4.55824L3.87365 5.83538L5.18225 4.52584H5.1841ZM3.25266 3.90393L4.52888 5.18015L5.83748 3.87154L4.56127 2.59533L3.25266 3.90393ZM7.4737 5.18015L8.74992 3.90393L7.44131 2.59533L6.1651 3.87154L7.4737 5.18015ZM6.1651 0.992422L7.44131 2.26864L8.74992 0.959105L7.4737 -0.316184L6.1651 0.992422ZM4.56219 2.26864L5.83748 0.991497L4.52888 -0.316184L3.25266 0.959105L4.56219 2.26864ZM8.09562 3.24963L6.81848 4.52584L8.12801 5.83445L9.40422 4.55824L8.09562 3.24963ZM6.81848 7.46975L8.09562 8.74689L9.40422 7.43735L8.12801 6.16206L6.8194 7.47067L6.81848 7.46975ZM11.0071 6.16206L9.73091 7.43735L11.0404 8.74689L12.3157 7.47067L11.0071 6.16206ZM9.73091 4.55824L11.0071 5.83445L12.3157 4.52584L11.0404 3.24963L9.73091 4.55824ZM8.74992 8.09166L7.4737 6.81637L6.1651 8.12497L7.44039 9.40119L8.74992 8.09166ZM4.52888 6.81637L3.25266 8.09166L4.56219 9.40119L5.83748 8.12497L4.52888 6.81637ZM5.83748 11.0041L4.56219 9.72788L3.25266 11.0365L4.52888 12.3127L5.83748 11.0041ZM7.44039 9.72788L6.1651 11.0041L7.4737 12.3127L8.74992 11.0365L7.44039 9.72788ZM4.52888 12.3127C4.72224 12.5061 4.95179 12.6594 5.20442 12.7641C5.45706 12.8687 5.72784 12.9226 6.00129 12.9226C6.27474 12.9226 6.54552 12.8687 6.79815 12.7641C7.05079 12.6594 7.28034 12.5061 7.4737 12.3127L6.1651 11.0041C6.1436 11.0256 6.11807 11.0427 6.08996 11.0544C6.06186 11.0661 6.03172 11.0721 6.00129 11.0721C5.97086 11.0721 5.94072 11.0661 5.91261 11.0544C5.88451 11.0427 5.85897 11.0256 5.83748 11.0041L4.52888 12.3127ZM3.25266 8.09166C2.86243 8.48213 2.64322 9.0125 2.64322 9.56453C2.64322 10.1166 2.86243 10.646 3.25266 11.0365L4.56219 9.72788C4.51896 9.68451 4.49468 9.62577 4.49468 9.56453C4.49468 9.5033 4.51896 9.44456 4.56219 9.40119L3.25266 8.09166ZM7.4737 6.81637C7.28034 6.62301 7.05079 6.4687 6.79815 6.36405C6.54552 6.2594 6.27474 6.20554 6.00129 6.20554C5.72784 6.20554 5.45706 6.2594 5.20442 6.36405C4.95179 6.4687 4.72224 6.62301 4.52888 6.81637L5.83748 8.12497C5.85897 8.10343 5.88451 8.08633 5.91261 8.07467C5.94072 8.06301 5.97086 8.057 6.00129 8.057C6.03172 8.057 6.06186 8.06301 6.08996 8.07467C6.11807 8.08633 6.1436 8.10343 6.1651 8.12497L7.4737 6.81637ZM7.44039 9.40119C7.48362 9.44456 7.5079 9.5033 7.5079 9.56453C7.5079 9.62577 7.48362 9.68451 7.44039 9.72788L8.74992 11.0365C8.94328 10.8431 9.09666 10.6136 9.20131 10.3609C9.30596 10.1083 9.35982 9.83752 9.35982 9.56407C9.35982 9.29062 9.30596 9.01984 9.20131 8.76721C9.09666 8.51457 8.94328 8.28502 8.74992 8.09166L7.44039 9.40119ZM12.3157 7.47067C12.5091 7.27731 12.6625 7.04776 12.7671 6.79512C12.8718 6.54249 12.9256 6.27171 12.9256 5.99826C12.9256 5.7248 12.8718 5.45403 12.7671 5.20139C12.6625 4.94876 12.5091 4.7192 12.3157 4.52584L11.0071 5.83445C11.0287 5.85594 11.0458 5.88147 11.0574 5.90958C11.0691 5.93769 11.0751 5.96783 11.0751 5.99826C11.0751 6.02869 11.0691 6.05882 11.0574 6.08693C11.0458 6.11504 11.0287 6.14057 11.0071 6.16206L12.3157 7.47067ZM8.09562 8.74689C8.28897 8.94025 8.51853 9.09363 8.77116 9.19828C9.0238 9.30292 9.29458 9.35679 9.56803 9.35679C9.84148 9.35679 10.1123 9.30292 10.3649 9.19828C10.6175 9.09363 10.8471 8.94025 11.0404 8.74689L9.73091 7.43735C9.68754 7.48059 9.6288 7.50486 9.56757 7.50486C9.50633 7.50486 9.44759 7.48059 9.40422 7.43735L8.09562 8.74689ZM6.81848 4.52584C6.62511 4.7192 6.47173 4.94876 6.36708 5.20139C6.26244 5.45403 6.20858 5.7248 6.20858 5.99826C6.20858 6.27171 6.26244 6.54249 6.36708 6.79512C6.47173 7.04776 6.62511 7.27639 6.81848 7.46975L8.12801 6.16206C8.10646 6.14057 8.08937 6.11504 8.0777 6.08693C8.06604 6.05882 8.06003 6.02869 8.06003 5.99826C8.06003 5.96783 8.06604 5.93769 8.0777 5.90958C8.08937 5.88147 8.10646 5.85594 8.12801 5.83445L6.81848 4.52584ZM9.40422 4.55824C9.44759 4.515 9.50633 4.49073 9.56757 4.49073C9.6288 4.49073 9.68754 4.515 9.73091 4.55824L11.0404 3.24963C10.8471 3.05627 10.6175 2.90288 10.3649 2.79824C10.1123 2.69359 9.84148 2.63973 9.56803 2.63973C9.29458 2.63973 9.0238 2.69359 8.77116 2.79824C8.51853 2.90288 8.28897 3.05627 8.09562 3.24963L9.40422 4.55824ZM7.4737 -0.316184C7.28034 -0.509546 7.04987 -0.662929 6.79723 -0.767576C6.54459 -0.872222 6.27382 -0.926083 6.00036 -0.926083C5.72691 -0.926083 5.45614 -0.872222 5.2035 -0.767576C4.95086 -0.662929 4.72131 -0.509546 4.52795 -0.316184L5.83656 0.992422C5.85805 0.970876 5.88358 0.953781 5.91169 0.942117C5.9398 0.930453 5.96993 0.92445 6.00036 0.92445C6.0308 0.92445 6.06093 0.930453 6.08904 0.942117C6.11715 0.953781 6.14268 0.970876 6.16417 0.992422L7.4737 -0.316184ZM8.74899 3.90393C8.94235 3.71057 9.09574 3.48102 9.20039 3.22838C9.30503 2.97575 9.35889 2.70497 9.35889 2.43152C9.35889 2.15807 9.30503 1.88729 9.20039 1.63465C9.09574 1.38202 8.94235 1.15246 8.74899 0.959105L7.44131 2.26864C7.48454 2.31201 7.5079 2.37074 7.5079 2.43198C7.5079 2.49322 7.48454 2.55196 7.44131 2.59533L8.74992 3.90393H8.74899ZM4.52795 5.18015C4.72131 5.37351 4.95086 5.52689 5.2035 5.63154C5.45614 5.73618 5.72691 5.79005 6.00036 5.79005C6.27382 5.79005 6.54459 5.73618 6.79723 5.63154C7.04987 5.52689 7.28034 5.37351 7.4737 5.18015L6.16417 3.87154C6.14268 3.89309 6.11715 3.91018 6.08904 3.92185C6.06093 3.93351 6.0308 3.93951 6.00036 3.93951C5.96993 3.93951 5.9398 3.93351 5.91169 3.92185C5.88358 3.91018 5.85805 3.89309 5.83656 3.87154L4.52795 5.18015ZM4.56034 2.59533C4.51711 2.55196 4.49283 2.49322 4.49283 2.43198C4.49283 2.37074 4.51711 2.31201 4.56034 2.26864L3.25266 0.959105C3.0593 1.15246 2.90592 1.38202 2.80127 1.63465C2.69662 1.88729 2.64276 2.15807 2.64276 2.43152C2.64276 2.70497 2.69662 2.97575 2.80127 3.22838C2.90592 3.48102 3.0593 3.71057 3.25266 3.90393L4.56127 2.59533H4.56034ZM5.18225 7.47067C5.37561 7.27731 5.529 7.04776 5.63364 6.79512C5.73829 6.54249 5.79215 6.27171 5.79215 5.99826C5.79215 5.7248 5.73829 5.45403 5.63364 5.20139C5.529 4.94876 5.37561 4.7192 5.18225 4.52584L3.87365 5.83445C3.89519 5.85594 3.91229 5.88147 3.92395 5.90958C3.93561 5.93769 3.94162 5.96783 3.94162 5.99826C3.94162 6.02869 3.93561 6.05882 3.92395 6.08693C3.91229 6.11504 3.89612 6.14057 3.87457 6.16206L5.18225 7.47067ZM0.962136 8.74689C1.3526 9.13712 1.88205 9.35632 2.43409 9.35632C2.98612 9.35632 3.51557 9.13712 3.90604 8.74689L2.59743 7.43735C2.55406 7.48059 2.49532 7.50486 2.43409 7.50486C2.37285 7.50486 2.31504 7.48059 2.27167 7.43735L0.963062 8.74689H0.962136ZM2.27167 4.55824C2.31504 4.515 2.37285 4.49073 2.43409 4.49073C2.49532 4.49073 2.55406 4.515 2.59743 4.55824L3.90696 3.24963C3.7136 3.05627 3.48405 2.90288 3.23142 2.79824C2.97878 2.69359 2.708 2.63973 2.43455 2.63973C2.1611 2.63973 1.89032 2.69359 1.63768 2.79824C1.38505 2.90288 1.1555 3.05627 0.962136 3.24963L2.27167 4.55824ZM-0.314079 4.52584C-0.507441 4.7192 -0.660824 4.94876 -0.765471 5.20139C-0.870117 5.45403 -0.923978 5.7248 -0.923978 5.99826C-0.923978 6.27171 -0.870117 6.54249 -0.765471 6.79512C-0.660824 7.04776 -0.507441 7.27731 -0.314079 7.47067L0.994527 6.16206C0.972981 6.14057 0.955886 6.11504 0.944222 6.08693C0.932558 6.05882 0.926554 6.02869 0.926554 5.99826C0.926554 5.96783 0.932558 5.93769 0.944222 5.90958C0.955886 5.88147 0.973906 5.85594 0.995453 5.83445L-0.314079 4.52584Z",fill:"currentColor"})})]}),j=new Set(["spec","plan","ralph-loop","cancel-ralph","browser_use"]),L=(e,t)=>("builtin"===e||"action"===e)&&j.has(t?.toLowerCase()??""),D=({commandType:e,commandName:t,iconUrl:i})=>{let s="skill"===e,n="plugin"===e,o=t?.toLowerCase(),l=("builtin"===e||"action"===e)&&("ralph-loop"===o||"cancel-ralph"===o),c=L(e,t);return l?(0,r.jsx)(a.Ubb,{style:{color:"var(--accent-accent-violet)",fontSize:"12px"}}):c?(0,r.jsx)(a.haY,{style:{color:"var(--accent-accent-violet)",fontSize:"12px"}}):n?i?(0,r.jsx)("img",{src:i,alt:"",style:{width:12,height:12,borderRadius:2}}):(0,r.jsx)(a.d5A,{style:{color:"var(--accent-accent-blue)",fontSize:"12px"}}):s?(0,r.jsx)(a.A2P,{style:{color:"var(--accent-accent-blue)",fontSize:"12px"}}):(0,r.jsx)(a.SJM,{style:{color:"var(--accent-accent-blue)",fontSize:"12px"}})};function O(e){let t=e.split(/[/\\]/);return t[t.length-1]||e}let F=({className:e})=>(0,r.jsx)(a.iUz,{className:e,style:{width:12,height:12}}),U=e=>"text"===e.type,V=e=>"file"===e.type,B=e=>"folder"===e.type,z=e=>"code"===e.type,W=e=>"terminal"===e.type,H=e=>"doc"===e.type,G=e=>"web_search"===e.type,Z=e=>"web_page"===e.type,K=e=>"log"===e.type,X=e=>"problem_item"===e.type,Y=e=>"problem_file"===e.type,J=e=>"rule"===e.type,$=e=>"figma"===e.type,q=e=>"webview"===e.type,Q=e=>"web_element"===e.type,ee=e=>"workspace"===e.type,et=e=>"lint_error"===e.type,ei=e=>"slash_command"===e.type,er=e=>"send_message"===e.type,es=e=>"comment_datasheet"===e.type,en=e=>"comment_datatext"===e.type,ea=e=>"comment_datamarkdown"===e.type,eo=e=>"agent_review_marker"===e.type,el=e=>"past_chat"===e.type,ec=e=>"visual_editor_changes"===e.type,ed=e=>"command"===e.type,eu=e=>"design_canvas_page"===e.type,eh=e=>"referenced_design_library"===e.type,ep=e=>"editing_design_library"===e.type,em=e=>"visual_changes"===e.type,ef=e=>"shared_artifact"===e.type,eg=(0,s.memo)(function({data:e}){let{mentionPort:t}=(0,x.i7)(),i=e.name||e.relate_path||e.file_path,a=void 0!==e.start_line&&void 0!==e.end_line,o=!!(e.file_path&&t?.handleUserQueryFileReferenceClick),[l,c]=(0,s.useState)(!1),d=!!e.comment,h=d,p=n("query-mention-symbol",{clickable:o||d,"has-comment-content":d}),m=(0,s.useCallback)(()=>{e.file_path&&t?.handleUserQueryFileReferenceClick?t.handleUserQueryFileReferenceClick({file_path:e.file_path,file_display_name:i,selection:void 0!==e.start_line?{startLineNumber:e.start_line,startColumn:1,endLineNumber:e.end_line??e.start_line,endColumn:1}:void 0}):h&&c(!0)},[e.file_path,e.start_line,e.end_line,i,t,h]),f=o||h?m:void 0,g=e.file_path||i,_=g?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{children:g}),e.comment&&(0,r.jsx)("div",{style:{marginTop:"4px",color:"var(--text-text-tertiary)"},children:e.comment})]}):void 0,b=()=>(0,r.jsxs)("span",{className:p,onClick:f,role:f?"button":void 0,tabIndex:f?0:void 0,onKeyDown:f?e=>"Enter"===e.key&&m():void 0,children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon file-icon",children:(0,r.jsx)(v.Am,{filename:i,size:"small"})}),d&&(0,r.jsxs)("span",{className:"comment-mention-text-wrapper",children:[(0,r.jsx)("span",{className:"query-mention-text",children:i}),(0,r.jsx)("span",{className:"comment-mention-separator",children:"\xb7"}),(0,r.jsxs)("span",{className:"comment-content-wrapper",children:[(0,r.jsx)(F,{className:"comment-bubble-icon"}),(0,r.jsx)("span",{className:"comment-text",children:e.comment})]})]}),!d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"query-mention-text",children:i}),a&&(0,r.jsxs)("span",{className:"query-mention-selection",children:[e.start_line,"-",e.end_line]})]})]});return(0,r.jsxs)(r.Fragment,{children:[h?b():_?(0,r.jsx)(u.A,{content:_,side:"top",maxWidth:280,delayDuration:300,children:b()}):b(),(0,r.jsx)(y,{visible:l,onClose:()=>c(!1),title:i,quoteText:e.selected_text||void 0,detailText:e.comment||e.file_path||i})]})}),e_=(0,s.memo)(function({data:e}){let{toolcallPort:t}=(0,x.i7)(),i=e.name||e.relate_path||e.folder_path,n=!!t&&!!e.folder_path,a=(0,s.useCallback)(()=>{t&&e.folder_path&&t.openFile({filePath:e.folder_path})},[t,e.folder_path]);return(0,r.jsx)(u.A,{content:e.folder_path,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:`query-mention-symbol${n?" clickable":""} folder`,onClick:n?a:void 0,role:n?"button":void 0,tabIndex:n?0:void 0,onKeyDown:n?e=>"Enter"===e.key&&a():void 0,children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon folder-icon",children:(0,r.jsx)(v.Am,{filePath:e.folder_path,size:"small",isDirectory:!0})}),(0,r.jsx)("span",{className:"query-mention-text",children:i})]})})}),ey=()=>(0,r.jsx)("span",{className:"codicon codicon-icube-SymbolClass",style:{fontSize:"12px",color:"var(--accent-accent-lime, #5FBF00)"}}),ev=()=>(0,r.jsx)("span",{className:"codicon codicon-icube-SymbolFunction",style:{fontSize:"12px",color:"var(--accent-accent-violet, #874FFF)"}}),eb=(0,s.memo)(function({data:e}){let{toolcallPort:t}=(0,x.i7)(),i=e.name||e.relate_path||e.file_path,n=e.symbol_kind,a=1===n?ey:2===n?ev:()=>(0,r.jsx)(v.Am,{filename:i,size:"small"}),o=void 0!==e.start_line&&void 0!==e.end_line,l=!!t&&!!e.file_path,c=(0,s.useCallback)(()=>{t&&e.file_path&&t.openFile({filePath:e.file_path,selection:o?{startLineNumber:e.start_line,endLineNumber:e.end_line}:void 0})},[t,e.file_path,o,e.start_line,e.end_line]);return(0,r.jsx)(u.A,{content:e.file_path,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:`query-mention-symbol${l?" clickable":""}`,onClick:l?c:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,onKeyDown:l?e=>"Enter"===e.key&&c():void 0,children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:i})]})})}),eS=(0,s.memo)(function({data:e}){let{isTerminalDeleted:t}=(0,x.i7)(),i=e.command||e.selection||"Terminal",s=e.terminal_id,o=!!s&&t?.(s);return(0,r.jsx)(u.A,{content:o?"Terminal deleted":i,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:n("query-mention-symbol",{"terminal-deleted":o}),children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a.yWD,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:i})]})})}),ek=(0,s.memo)(function({data:e}){let t=e.doc_tag||e.entry_point||"Doc",i="enterprise"===e.doc_type?w:E;return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(i,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),ex=(0,s.memo)(function({data:e}){let t=e.query||"Web Search";return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a.SzY,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eC=(0,s.memo)(function({data:e}){let{fetchFeishuDocMeta:t,toolcallPort:i}=(0,x.i7)();return(0,s.useMemo)(()=>!!e.url&&(0,h.uM)(e.url),[e.url])&&e.url?(0,r.jsx)(u.A,{content:e.url,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsx)(p.r1,{href:e.url,fetchMeta:t,onClick:i?e=>i.openUrl({url:e}):void 0,onOpenPanel:i?e=>i.openFile({filePath:(0,h.LK)(e)}):void 0,children:e.url})}):(0,r.jsx)(u.A,{content:e.url,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsx)(m.d,{url:e.url||""})})}),ew=e=>{if(!e||0===e.length)return a.U1W;for(let t of["error","warn","info"])if(e.some(e=>e.log_level===t)){if("error"===t)return a.WMN;if("warn"===t)return a.goM;break}return a.U1W},eE=(0,s.memo)(function({data:e}){let t=e.title||e.source||"Log",i=ew(e.messages);return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(i,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eT=e=>8===e?a.WMN:4===e?a.goM:a.U1W,eI=(0,s.memo)(function({data:e}){let t=e.message||"Problem",i=20,s=t.length>i?`${t.slice(0,i)}...`:t,n=eT(e.severity||0),a=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{fontWeight:500},children:e.message}),e.relate_path&&(0,r.jsxs)("div",{style:{fontSize:11,opacity:.7},children:[e.relate_path,":",e.start_line_number]})]});return(0,r.jsx)(u.A,{content:a,side:"top",maxWidth:320,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(n,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:s})]})})}),eR=(0,s.memo)(function({data:e}){let t=e.file_name||e.relate_path||"Problem File",i=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{fontWeight:500},children:t}),e.relate_path&&(0,r.jsx)("div",{style:{fontSize:11,opacity:.7},children:e.relate_path}),e.problem_count&&(0,r.jsxs)("div",{style:{fontSize:11,opacity:.7},children:[e.problem_count," problem(s)"]})]});return(0,r.jsx)(u.A,{content:i,side:"top",maxWidth:320,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a.goM,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eN=(0,s.memo)(function({data:e}){let{toolcallPort:t}=(0,x.i7)(),i=e.name||e.relate_path||e.file_path||"Rule",n=e.file_path||e.relate_path||"rule.md",a=!!t&&!!n,o=(0,s.useCallback)(()=>{t&&n&&t.openFile({filePath:n})},[t,n]);return(0,r.jsx)(u.A,{content:i,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:`query-mention-symbol${a?" clickable":""}`,onClick:a?o:void 0,role:a?"button":void 0,tabIndex:a?0:void 0,onKeyDown:a?e=>"Enter"===e.key&&o():void 0,children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(v.Am,{filePath:n,size:"small"})}),(0,r.jsx)("span",{className:"query-mention-text",children:i})]})})}),eA=(0,s.memo)(function({data:e}){let t=e.display_name||"Figma";return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(T,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eM=(0,s.memo)(function(){return(0,r.jsx)(u.A,{content:"Webview",side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a.yWD,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:"Webview"})]})})}),eP=(0,s.memo)(function({data:e}){let t=e.tag_name||e.relate_path||"Web Element",i=!!e.comment,[a,o]=(0,s.useState)(!1),l=n("query-mention-symbol",{clickable:!0}),c=(0,s.useCallback)(()=>{o(!0)},[]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:l,onClick:c,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&c(),children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)("span",{className:"codicon codicon-icube-WebElementSelect",style:{fontSize:"12px",color:"var(--text-text-brand, #0AB861)"}})}),(0,r.jsx)("span",{className:"query-mention-text",children:t}),i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"comment-mention-separator",children:"\xb7"}),(0,r.jsx)(F,{className:"comment-bubble-icon"}),(0,r.jsx)("span",{className:"comment-text",children:e.comment})]})]})}),(0,r.jsx)(y,{visible:a,onClose:()=>o(!1),title:t,quoteText:e.outer_html||void 0,detailText:e.comment||e.relate_path||e.file_path||void 0})]})}),ej=(0,s.memo)(function(){return(0,r.jsx)(u.A,{content:"Workspace",side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(I,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:"Workspace"})]})})}),eL=(0,s.memo)(function({data:e}){let t=e.text||"Lint Error";return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a.goM,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eD=(0,s.memo)(function({data:e}){if("compact"===e.command)return(0,r.jsx)(d.o,{});let t=e.command||"Command",i="design_library"===e.command_type,a=L(e.command_type,t),o=e.display_name,l=(0,s.useMemo)(()=>{if(o)return o;if(!a)return t;let e=t.toLowerCase();return"plan"===e?"Plan":"spec"===e?"Spec":"ralph-loop"===e?"Ralph Loop":"cancel-ralph"===e?"Exit Ralph Loop":"browser_use"===e?"Browser":t},[t,a,o]),c=i?n("query-mention-symbol","query-mention-symbol--design-canvas-brand","query-mention-symbol--design-library"):n("query-mention-symbol","slash-command-symbol",{"builtin-slash":a});return(0,r.jsx)(u.A,{content:l,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:c,children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:i?(0,r.jsx)(R,{}):(0,r.jsx)(D,{commandType:e.command_type,commandName:t,iconUrl:e.icon_url})}),(0,r.jsx)("span",{className:"query-mention-text",children:l})]})})}),eO=(0,s.memo)(function({data:e}){let t=e.display_name||"@Agent",i=e.agent_run_id?`${t}`:t;return(0,r.jsx)(u.A,{content:i,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol send-message-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a.SJM,{style:{color:"var(--assistant-target-mention-fg, #8a5a00)",fontSize:"12px"}})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eF=(0,s.memo)(function({data:e}){let t=e.file||e.relate_path||"",i=e.file||O(t)||"Sheet",a=e.comment||"",[o,l]=(0,s.useState)(!1),c=n("query-mention-symbol","show-file-icons",{clickable:!!a,"has-comment-content":!!a}),d=t||i,h=d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{children:d}),a&&(0,r.jsx)("div",{style:{marginTop:"4px",color:"var(--text-text-tertiary)"},children:a})]}):void 0,p=()=>(0,r.jsxs)("span",{className:c,onClick:()=>l(!0),children:[(0,r.jsx)(v.Am,{filename:i,size:"small"}),(0,r.jsxs)("span",{className:"comment-mention-text-wrapper",children:[(0,r.jsx)("span",{className:"query-mention-text",children:i}),a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"comment-mention-separator",children:"\xb7"}),(0,r.jsxs)("span",{className:"comment-content-wrapper",children:[(0,r.jsx)(F,{className:"comment-bubble-icon"}),(0,r.jsx)("span",{className:"comment-text",children:a})]})]})]})]});return(0,r.jsxs)(r.Fragment,{children:[a?p():h?(0,r.jsx)(u.A,{content:h,side:"top",maxWidth:320,delayDuration:300,children:p()}):p(),(0,r.jsx)(y,{visible:o,onClose:()=>l(!1),title:i,quoteText:e.selection_coordinates,detailText:a||t||i})]})}),eU=(0,s.memo)(function({data:e}){let t=e.file||e.relate_path||"",i=e.file||O(t)||"Document",a=e.comment||"",[o,l]=(0,s.useState)(!1),c=n("query-mention-symbol","show-file-icons",{clickable:!!a,"has-comment-content":!!a}),d=t||i,h=d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{children:d}),a&&(0,r.jsx)("div",{style:{marginTop:"4px",color:"var(--text-text-tertiary)"},children:a})]}):void 0,p=()=>(0,r.jsxs)("span",{className:c,onClick:()=>l(!0),children:[(0,r.jsx)(v.Am,{filename:i,size:"small"}),(0,r.jsxs)("span",{className:"comment-mention-text-wrapper",children:[(0,r.jsx)("span",{className:"query-mention-text",children:i}),a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"comment-mention-separator",children:"\xb7"}),(0,r.jsxs)("span",{className:"comment-content-wrapper",children:[(0,r.jsx)(F,{className:"comment-bubble-icon"}),(0,r.jsx)("span",{className:"comment-text",children:a})]})]})]})]});return(0,r.jsxs)(r.Fragment,{children:[a?p():h?(0,r.jsx)(u.A,{content:h,side:"top",maxWidth:320,delayDuration:300,children:p()}):p(),(0,r.jsx)(y,{visible:o,onClose:()=>l(!1),title:i,quoteText:e.selection?.text||void 0,detailText:a||t||i})]})}),eV=(0,s.memo)(function({data:e}){let t=e.relate_path||e.file||"",i=e.file||O(t)||"Markdown",a=e.comment||"",[o,l]=(0,s.useState)(!1),c=n("query-mention-symbol","show-file-icons",{clickable:!!a,"has-comment-content":!!a}),d=t||i,h=d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{children:d}),a&&(0,r.jsx)("div",{style:{marginTop:"4px",color:"var(--text-text-tertiary)"},children:a})]}):void 0,p=()=>(0,r.jsxs)("span",{className:c,onClick:()=>l(!0),children:[(0,r.jsx)(v.Am,{filename:i,size:"small"}),(0,r.jsxs)("span",{className:"comment-mention-text-wrapper",children:[(0,r.jsx)("span",{className:"query-mention-text",children:i}),a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"comment-mention-separator",children:"\xb7"}),(0,r.jsxs)("span",{className:"comment-content-wrapper",children:[(0,r.jsx)(F,{className:"comment-bubble-icon"}),(0,r.jsx)("span",{className:"comment-text",children:a})]})]})]})]});return(0,r.jsxs)(r.Fragment,{children:[a?p():h?(0,r.jsx)(u.A,{content:h,side:"top",maxWidth:320,delayDuration:300,children:p()}):p(),(0,r.jsx)(y,{visible:o,onClose:()=>l(!1),title:i,quoteText:e.selection?.text||void 0,detailText:a||t||i})]})}),eB=()=>(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M8 4V8L10.5 10.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M2.5 8C2.5 4.96243 4.96243 2.5 8 2.5C11.0376 2.5 13.5 4.96243 13.5 8C13.5 11.0376 11.0376 13.5 8 13.5C4.96243 13.5 2.5 11.0376 2.5 8Z",stroke:"currentColor",strokeWidth:"1.2"})]}),ez=()=>(0,r.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M11.05 2.55C11.6 2 12.5 2 13.05 2.55L13.45 2.95C14 3.5 14 4.4 13.45 4.95L5.45 12.95L2 14L3.05 10.55L11.05 2.55Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),eW=(0,s.memo)(function({data:e}){let t=e.name||"Past Chat";return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(eB,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eH=(0,s.memo)(function({data:e}){let t=(0,b.s9)(),i="visual-changes"===e.iconType,s="smart-flow"===e.iconType,o=!e.iconType||"device"===e.iconType,l="component"===e.iconType,c="design-library"===e.iconType,d="design-library-theme"===e.iconType,u="design-library-component"===e.iconType,h="design-library-graphic"===e.iconType,p="design-library-spec"===e.iconType,m="image"===e.iconType,_=l||m||s||c||d||u||h||p,y=i?"visual changes":s?e.title||t.localize("solo_design_sdk.send-to-chat.smart-flow-tag",{},"Link Pages"):e.title||"Design Page",v=(0,r.jsxs)("span",{className:n("query-mention-symbol",{"query-mention-symbol--visual-changes":i,"query-mention-symbol--smart-flow":s,"query-mention-symbol--design-canvas-page":o,"query-mention-symbol--design-canvas-element":u,"query-mention-symbol--design-canvas-image":m,"query-mention-symbol--design-canvas-brand":_,"query-mention-symbol--design-library":c,"query-mention-symbol--design-library-theme":d,"query-mention-symbol--design-library-component":u,"query-mention-symbol--design-library-graphic":h,"query-mention-symbol--design-library-spec":p}),children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:i?(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 8V6.75L11.75 3L13 4.25L9.25 8H8Z",stroke:"currentColor",strokeWidth:"1.02857",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M6.00195 8H4.25195C3.5616 8 3.00195 8.55965 3.00195 9.25C3.00195 9.94035 3.5616 10.5 4.25195 10.5H11.752C12.4423 10.5 13.002 11.0597 13.002 11.75C13.002 12.4404 12.4423 13 11.752 13H6.50195",stroke:"currentColor",strokeWidth:"1.02857",strokeLinejoin:"round"})]}):s?(0,r.jsx)(M,{}):c?(0,r.jsx)(R,{}):d?(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M7.11914 2.20039C9.01203 2.20065 10.5546 3.69435 10.6348 5.56758C11.8435 6.12507 12.6825 7.34637 12.6826 8.76484C12.6826 10.7092 11.1065 12.2854 9.16211 12.2854C8.43185 12.2852 7.75376 12.0626 7.19141 11.6818C6.629 12.0625 5.95101 12.2853 5.2207 12.2854C3.27637 12.2853 1.7002 10.7092 1.7002 8.76484C1.70027 7.4053 2.47128 6.22636 3.59961 5.63984C3.64253 3.73279 5.2018 2.20046 7.11914 2.20039ZM3.74414 6.7248C3.11244 7.18281 2.70026 7.92493 2.7002 8.76484C2.7002 10.1569 3.82865 11.2853 5.2207 11.2854C5.6573 11.2853 6.06773 11.174 6.42578 10.9787C5.96572 10.4107 5.67869 9.69695 5.64551 8.91719C4.73464 8.49674 4.03389 7.69981 3.74414 6.7248ZM10.5156 6.64082C10.2563 7.60021 9.60269 8.39594 8.73828 8.84492C8.72026 9.6529 8.43135 10.3932 7.95703 10.9787C8.31504 11.1741 8.72555 11.2853 9.16211 11.2854C10.5542 11.2854 11.6826 10.157 11.6826 8.76484C11.6825 7.87133 11.2168 7.0884 10.5156 6.64082ZM7.70215 9.1916C7.51245 9.22325 7.31782 9.24138 7.11914 9.24141C6.97178 9.2414 6.8262 9.23067 6.68359 9.21309C6.75877 9.63171 6.93686 10.0137 7.19141 10.3332C7.45034 10.0083 7.62925 9.61864 7.70215 9.1916ZM7.19141 7.19551C6.95975 7.48607 6.79137 7.82866 6.70605 8.20332C6.84051 8.2255 6.9784 8.2414 7.11914 8.24141C7.30853 8.24137 7.49248 8.21756 7.66992 8.17793C7.58282 7.81319 7.41783 7.47947 7.19141 7.19551ZM5.2207 6.24434C5.03104 6.24435 4.84664 6.26712 4.66895 6.30684C4.82248 6.95062 5.22187 7.49751 5.76367 7.84395C5.89326 7.3646 6.12195 6.92609 6.42578 6.55098C6.06775 6.35568 5.65727 6.24434 5.2207 6.24434ZM9.16211 6.24434C8.72558 6.24443 8.31502 6.35563 7.95703 6.55098C8.24305 6.90405 8.46189 7.31331 8.59473 7.75996C9.08157 7.40701 9.43668 6.88618 9.57422 6.28047C9.44012 6.25842 9.30245 6.24434 9.16211 6.24434ZM7.11914 3.20039C5.87292 3.20045 4.83989 4.10487 4.63672 5.29316C4.82669 5.26144 5.02173 5.24434 5.2207 5.24434C5.95078 5.24434 6.62911 5.46638 7.19141 5.84687C7.75365 5.46633 8.43209 5.24445 9.16211 5.24434C9.30914 5.24434 9.45439 5.25418 9.59668 5.27168C9.3848 4.09412 8.35766 3.20063 7.11914 3.20039Z",fill:"currentColor"})}):h?(0,r.jsx)(N,{}):p?(0,r.jsx)(A,{}):u?(0,r.jsx)(P,{}):o?(0,r.jsx)(a.GRt,{}):l?(0,r.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M6.55078 7.82825C6.23396 7.02694 7.02694 6.23396 7.82825 6.55078L13.3448 8.73486C13.9877 8.9894 14.0643 9.8695 13.4739 10.2302L11.4598 11.4598L10.2302 13.4739C9.8695 14.0643 8.9894 13.9877 8.73486 13.3448L6.55078 7.82825ZM9.56287 12.4656L10.5404 10.8677C10.6219 10.7342 10.7342 10.6219 10.8677 10.5404L12.4656 9.56287L7.65991 7.65991L9.56287 12.4656ZM4.34875 9.71069C4.56224 9.49737 4.90853 9.49746 5.12207 9.71069C5.33564 9.92426 5.33563 10.2713 5.12207 10.4849L4.50342 11.1035C4.28988 11.3168 3.94361 11.3169 3.7301 11.1035C3.5166 10.89 3.51674 10.5438 3.7301 10.3302L4.34875 9.71069ZM3.625 6.86951C3.92694 6.86951 4.17172 7.11448 4.17188 7.41638C4.17188 7.71841 3.92703 7.96326 3.625 7.96326H2.75C2.44797 7.96326 2.20312 7.71841 2.20312 7.41638C2.20328 7.11448 2.44806 6.86951 2.75 6.86951H3.625ZM3.7301 3.7301C3.94364 3.51656 4.28984 3.51661 4.50342 3.7301L5.12207 4.34875C5.33564 4.56232 5.33564 4.9085 5.12207 5.12207C4.9085 5.33564 4.56232 5.33564 4.34875 5.12207L3.7301 4.50342C3.51661 4.28984 3.51656 3.94364 3.7301 3.7301ZM10.3302 3.7301C10.5438 3.51677 10.89 3.51661 11.1035 3.7301C11.3169 3.9436 11.3168 4.28986 11.1035 4.50342L10.4849 5.12207C10.2713 5.33563 9.92426 5.33564 9.71069 5.12207C9.49748 4.90851 9.49734 4.56222 9.71069 4.34875L10.3302 3.7301ZM6.86951 3.625V2.75C6.86951 2.44806 7.11448 2.20328 7.41638 2.20312C7.71841 2.20312 7.96326 2.44797 7.96326 2.75V3.625C7.96326 3.92703 7.71841 4.17188 7.41638 4.17188C7.11448 4.17172 6.86951 3.92694 6.86951 3.625Z",fill:"currentColor"})}):m?(0,r.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M12.1202 5.08325C12.1202 4.41888 11.5815 3.88028 10.9171 3.88013H5.0835C4.41903 3.88013 3.88037 4.41879 3.88037 5.08325V9.01221L4.04272 8.85071C4.93966 7.95374 6.39366 7.95382 7.29065 8.85071L10.5608 12.12H10.9171C11.5814 12.1198 12.1201 11.5811 12.1202 10.9169V5.08325ZM10.078 6.54187C10.078 6.19956 9.80081 5.92151 9.4585 5.92151C9.11618 5.92151 8.83899 6.19956 8.83899 6.54187C8.83914 6.88406 9.11627 7.16138 9.4585 7.16138C9.80072 7.16138 10.0778 6.88406 10.078 6.54187ZM3.88037 10.9169C3.88052 11.5812 4.41912 12.12 5.0835 12.12H9.01331L6.51733 9.62402C6.04749 9.15428 5.28585 9.1542 4.81604 9.62402L3.88037 10.5597V10.9169ZM11.1718 6.54187C11.1716 7.48812 10.4048 8.25513 9.4585 8.25513C8.51221 8.25513 7.74539 7.48812 7.74524 6.54187C7.74524 5.59551 8.51211 4.82776 9.4585 4.82776C10.4049 4.82776 11.1718 5.59551 11.1718 6.54187ZM13.214 10.9169C13.2138 12.1852 12.1854 13.2136 10.9171 13.2137H5.0835C3.81507 13.2137 2.78677 12.1853 2.78662 10.9169V5.08325C2.78662 3.81473 3.81497 2.78638 5.0835 2.78638H10.9171C12.1855 2.78653 13.214 3.81483 13.214 5.08325V10.9169Z",fill:"currentColor"})}):(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("rect",{x:"1",y:"1",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.2"}),(0,r.jsx)("rect",{x:"3",y:"3",width:"6",height:"2",rx:"0.5",fill:"currentColor"}),(0,r.jsx)("rect",{x:"3",y:"6.5",width:"4",height:"1.5",rx:"0.5",fill:"currentColor",opacity:"0.5"})]})}),(0,r.jsx)("span",{className:"query-mention-text",children:y}),i&&"number"==typeof e.editCount?(0,r.jsx)("span",{className:"query-mention-count",children:e.editCount}):null]});return i?(0,r.jsx)(f.A,{content:(0,r.jsx)(g.x,{edits:e.edits??[],pageNames:e.pageNames??{}}),side:"top",align:"start",trigger:"click",contentClassName:"changesTooltipWrapper",showArrow:!1,children:v}):v}),eG=(0,s.memo)(function({data:e}){let t=e.name||e.library_id||"Design Library";return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol query-mention-symbol--design-canvas-brand query-mention-symbol--design-library",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(R,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})});function eZ(e){return e.library_id||e.name||""}function eK(e,t){if(e.context)return!1;let i=eZ(e);return!(i&&t.has(i))&&(i&&t.add(i),!0)}let eX=(0,s.memo)(function({data:e}){let t="visual changes";return(0,r.jsx)(f.A,{content:(0,r.jsx)(g.x,{edits:e.edits,pageNames:e.pageNames}),side:"top",align:"start",trigger:"click",contentClassName:"changesTooltipWrapper",showArrow:!1,children:(0,r.jsxs)("span",{className:"query-mention-symbol query-mention-symbol--visual-changes",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 8V6.75L11.75 3L13 4.25L9.25 8H8Z",stroke:"#F53CFF",strokeWidth:"1.02857",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M6.00195 8H4.25195C3.5616 8 3.00195 8.55965 3.00195 9.25C3.00195 9.94035 3.5616 10.5 4.25195 10.5H11.752C12.4423 10.5 13.002 11.0597 13.002 11.75C13.002 12.4404 12.4423 13 11.752 13H6.50195",stroke:"#F53CFF",strokeWidth:"1.02857",strokeLinejoin:"round"})]})}),(0,r.jsx)("span",{className:"query-mention-text",children:t}),(0,r.jsx)("span",{className:"query-mention-count",children:e.editCount})]})})}),eY=(0,s.memo)(function({data:e}){let t=e.display_name||e.path||"Artifact";return(0,r.jsx)(u.A,{content:t,side:"top",maxWidth:280,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(a.jG4,{style:{width:14,height:14}})}),(0,r.jsx)("span",{className:"query-mention-text",children:t})]})})}),eJ=(0,s.memo)(function({data:e}){let t=e.editCount??0,i=`${t} ${1===t?"change":"changes"}`,n=(0,s.useMemo)(()=>{let t=e.edits??[];return 0===t.length?i:(0,r.jsx)("div",{className:"visual-editor-changes-tooltip",children:t.map(e=>(0,r.jsxs)("div",{className:"visual-editor-changes-tooltip-item",children:[(0,r.jsx)("div",{className:"visual-editor-changes-tooltip-property",children:e.property}),(0,r.jsxs)("div",{className:"visual-editor-changes-tooltip-values",children:[(0,r.jsx)("span",{className:"visual-editor-changes-tooltip-old",children:e.oldValue}),(0,r.jsx)("span",{className:"visual-editor-changes-tooltip-arrow",children:" \u2192 "}),(0,r.jsx)("span",{className:"visual-editor-changes-tooltip-new",children:e.newValue})]}),(0,r.jsx)("div",{className:"visual-editor-changes-tooltip-selector",children:e.elementSelector})]},e.id))})},[e.edits,i]);return(0,r.jsx)(u.A,{content:n,className:"visual-editor-changes-tooltip-container",side:"top",maxWidth:360,delayDuration:300,children:(0,r.jsxs)("span",{className:"query-mention-symbol",children:[(0,r.jsx)("span",{className:"query-mention-symbol-icon",children:(0,r.jsx)(ez,{})}),(0,r.jsx)("span",{className:"query-mention-text",children:i})]})})}),e$=(0,s.memo)(function({data:e}){let t=e.name?.trim();return(0,r.jsx)("span",{className:"query-mention-symbol",children:(0,r.jsx)("span",{className:"query-mention-text query-mention-text--command",children:t})})}),eq=(e,t)=>{let i=[],s=[],n=new Set,a=!1;return e.forEach((e,o)=>{if(U(e)){if(e.data.hidden)return;let t=(e.data.content||"").split("\n");t.forEach((e,n)=>{e&&(e.trim()&&(a=!0),a&&s.push((0,r.jsx)("span",{className:"user-message-query-text",children:e},`text-${o}-${n}`))),n0?s:(0,r.jsx)("br",{})},`line-${i.length}`)),s=[])})}else a=!0,V(e)?s.push((0,r.jsx)(eg,{data:e.data},`file-${o}`)):B(e)?s.push((0,r.jsx)(e_,{data:e.data},`folder-${o}`)):z(e)?s.push((0,r.jsx)(eb,{data:e.data},`code-${o}`)):W(e)?s.push((0,r.jsx)(eS,{data:e.data},`terminal-${o}`)):H(e)?s.push((0,r.jsx)(ek,{data:e.data},`doc-${o}`)):G(e)?s.push((0,r.jsx)(ex,{data:e.data},`web-search-${o}`)):Z(e)?s.push((0,r.jsx)(eC,{data:e.data},`web-page-${o}`)):K(e)?s.push((0,r.jsx)(eE,{data:e.data},`log-${o}`)):X(e)?s.push((0,r.jsx)(eI,{data:e.data},`problem-item-${o}`)):Y(e)?s.push((0,r.jsx)(eR,{data:e.data},`problem-file-${o}`)):J(e)?s.push((0,r.jsx)(eN,{data:e.data},`rule-${o}`)):$(e)?s.push((0,r.jsx)(eA,{data:e.data},`figma-${o}`)):q(e)?s.push((0,r.jsx)(eM,{data:e.data},`webview-${o}`)):Q(e)?s.push((0,r.jsx)(eP,{data:e.data},`web-element-${o}`)):ee(e)?s.push((0,r.jsx)(ej,{},`workspace-${o}`)):et(e)?s.push((0,r.jsx)(eL,{data:e.data},`lint-error-${o}`)):ei(e)?s.push((0,r.jsx)(eD,{data:e.data},`slash-command-${o}`)):er(e)?s.push((0,r.jsx)(eO,{data:e.data},`send-message-${o}`)):es(e)?s.push((0,r.jsx)(eF,{data:e.data},`comment-sheet-${o}`)):en(e)?s.push((0,r.jsx)(eU,{data:e.data},`comment-text-${o}`)):ea(e)?s.push((0,r.jsx)(eV,{data:e.data},`comment-markdown-${o}`)):eo(e)?s.push((0,r.jsx)(c,{scene:e.data.scene,language:e.data.language,isWorktree:t?.isWorktree},`agent-review-marker-${o}`)):el(e)?s.push((0,r.jsx)(eW,{data:e.data},`past-chat-${o}`)):ec(e)?s.push((0,r.jsx)(eJ,{data:e.data},`visual-editor-${o}`)):ed(e)?s.push((0,r.jsx)(e$,{data:e.data},`command-${o}`)):eu(e)?s.push((0,r.jsx)(eH,{data:e.data},`design-canvas-page-${o}`)):eh(e)?s.push((0,r.jsx)(eG,{data:e.data},`referenced-design-library-${o}`)):ep(e)?eK(e.data,n)&&s.push((0,r.jsx)(eG,{data:e.data},`editing-design-library-${o}`)):em(e)?s.push((0,r.jsx)(eX,{data:e.data},`visual-changes-${o}`)):ef(e)&&s.push((0,r.jsx)(eY,{data:e.data},`shared-artifact-${o}`))}),s.length>0&&i.push((0,r.jsx)("div",{className:"user-message-query-line",children:s},`line-${i.length}`)),i},eQ=(e,t)=>{let i=[],s=new Set;return e.forEach((e,n)=>{if(U(e)){if(e.data.hidden)return;let t=(e.data.content||"").replace(/\n/g," ");t&&i.push((0,r.jsx)("span",{children:t},`text-${n}`))}else V(e)?i.push((0,r.jsx)(eg,{data:e.data},`file-${n}`)):B(e)?i.push((0,r.jsx)(e_,{data:e.data},`folder-${n}`)):z(e)?i.push((0,r.jsx)(eb,{data:e.data},`code-${n}`)):W(e)?i.push((0,r.jsx)(eS,{data:e.data},`terminal-${n}`)):H(e)?i.push((0,r.jsx)(ek,{data:e.data},`doc-${n}`)):G(e)?i.push((0,r.jsx)(ex,{data:e.data},`web-search-${n}`)):Z(e)?i.push((0,r.jsx)(eC,{data:e.data},`web-page-${n}`)):K(e)?i.push((0,r.jsx)(eE,{data:e.data},`log-${n}`)):X(e)?i.push((0,r.jsx)(eI,{data:e.data},`problem-item-${n}`)):Y(e)?i.push((0,r.jsx)(eR,{data:e.data},`problem-file-${n}`)):J(e)?i.push((0,r.jsx)(eN,{data:e.data},`rule-${n}`)):$(e)?i.push((0,r.jsx)(eA,{data:e.data},`figma-${n}`)):q(e)?i.push((0,r.jsx)(eM,{data:e.data},`webview-${n}`)):Q(e)?i.push((0,r.jsx)(eP,{data:e.data},`web-element-${n}`)):ee(e)?i.push((0,r.jsx)(ej,{},`workspace-${n}`)):et(e)?i.push((0,r.jsx)(eL,{data:e.data},`lint-error-${n}`)):ei(e)?i.push((0,r.jsx)(eD,{data:e.data},`slash-command-${n}`)):er(e)?i.push((0,r.jsx)(eO,{data:e.data},`send-message-${n}`)):es(e)?i.push((0,r.jsx)(eF,{data:e.data},`comment-sheet-${n}`)):en(e)?i.push((0,r.jsx)(eU,{data:e.data},`comment-text-${n}`)):ea(e)?i.push((0,r.jsx)(eV,{data:e.data},`comment-markdown-${n}`)):eo(e)?i.push((0,r.jsx)(c,{scene:e.data.scene,language:e.data.language,isWorktree:t?.isWorktree},`agent-review-marker-${n}`)):el(e)?i.push((0,r.jsx)(eW,{data:e.data},`past-chat-${n}`)):ec(e)?i.push((0,r.jsx)(eJ,{data:e.data},`visual-editor-${n}`)):ed(e)?i.push((0,r.jsx)(e$,{data:e.data},`command-${n}`)):eu(e)?i.push((0,r.jsx)(eH,{data:e.data},`design-canvas-page-${n}`)):eh(e)?i.push((0,r.jsx)(eG,{data:e.data},`referenced-design-library-${n}`)):ep(e)?eK(e.data,s)&&i.push((0,r.jsx)(eG,{data:e.data},`editing-design-library-${n}`)):em(e)?i.push((0,r.jsx)(eX,{data:e.data},`visual-changes-${n}`)):ef(e)&&i.push((0,r.jsx)(eY,{data:e.data},`shared-artifact-${n}`))}),i},e0=e=>!!e&&0!==e.length&&e.some(e=>U(e)?!e.data.hidden&&!!e.data.content?.trim():!("attachment"===e.type||"image"===e.type||ep(e))),e1=e=>!!e&&0!==e.length&&e.some(e=>!!U(e)&&!e.data.hidden&&!!e.data.content?.trim()),e2=(0,s.memo)(function({query:e,content:t,isExpanded:i,onToggleExpand:a,showExpandButton:o,onContentMeasured:l,toolcallPort:c,isWorkMode:d,isWorktree:u,fetchFeishuDocMeta:h}){let p=(0,b.s9)(),m=(0,s.useRef)(null),[f,g]=(0,s.useState)(!1),_=(0,s.useMemo)(()=>S.XT.tryResolve(k.F.Mention),[]),y=(0,s.useMemo)(()=>({toolcallPort:c,mentionPort:_,fetchFeishuDocMeta:h,isTerminalDeleted:c?.isTerminalDeleted?.bind(c)}),[c,_,h]),v=(0,s.useMemo)(()=>{if(e1(e)||e0(e)){let t=eq(e,{isWorktree:u});if(t.length>0)return t}return t?(0,r.jsx)("span",{children:t.trimStart()}):null},[e,t,d,p,u]);return((0,s.useEffect)(()=>{m.current&&(l(m.current.scrollHeight>C),g(!0))},[v,l]),(0,s.useEffect)(()=>{!i&&m.current&&(m.current.scrollTop=0)},[i]),v)?(0,r.jsx)("div",{className:"user-message__text-box",children:(0,r.jsx)(x.YO.Provider,{value:y,children:(0,r.jsx)("div",{className:"user-message__text-wrapper",children:(0,r.jsxs)("div",{className:n("user-message__text-inner",{"user-message__text-inner--collapsed":!i&&o}),children:[(0,r.jsxs)("div",{ref:m,className:n("user-message__text-content","custom-scrollbar",{"user-message__text-content--collapsed":!i&&o,"user-message__text-content--expanded":i&&o,"user-message__text-content--no-expand":f&&!o}),children:[v,o&&!i&&(0,r.jsx)("div",{className:"user-message__expand-gradient"})]}),o&&!i&&(0,r.jsx)("div",{className:"user-message__expand-float",children:(0,r.jsx)("button",{className:"user-message__expand-button",onClick:a,type:"button",children:p.localize("trae-chat-core.user-message.show-more",void 0,"Show more")})})]})})})}):null})},773(e,t,i){var r=i(97282),s=i(51649),n=i(85470),a=i(68143),o=i(76933);let l=()=>(0,r.jsx)(o.rjT,{}),c="core-model-select";var d=i(25188);let u=(0,s.memo)(({showTriggerIcon:e})=>{let t=(0,d.s9)(),i=(0,a.A1)(e=>e.open),o=(0,a.A1)(e=>e.setOpen),u=(0,a.A1)(e=>e.selectedModel),h=(0,a.A1)(e=>e.autoModeOpen),p=(0,a.A1)(e=>e.shouldShowMaxBadge)(u),m=(0,s.useMemo)(()=>{if(h)return t.localize("trae-chat-core.model.mode.auto",{},"TRAE Auto Model");let e=u?.display_name||u?.name;return e||t.localize("trae-chat-core.model.mode.auto",{},"TRAE Auto Model")},[h,t,u?.display_name,u?.name]),f=(0,s.useCallback)(e=>{e.stopPropagation()},[o,i]);return(0,r.jsxs)(n.l9,{onClick:f,className:`${c}-trigger`,children:[(0,r.jsxs)("div",{className:`${c}-trigger-value`,children:[(0,r.jsx)("span",{children:m}),p&&(0,r.jsx)("span",{className:`${c}-badge ${c}-badge-max`,children:"Max"})]}),e&&(0,r.jsx)(n.In,{className:`${c}-trigger-arrow ${i?"open":""}`,children:(0,r.jsx)(l,{})})]})});u.displayName="Trigger";var h=i(57339),p=i(2552);let m=new Set;function f(e){m.forEach(t=>t(e))}function g(e){let[t,i]=(0,s.useState)(!1),r=(0,s.useRef)();return(0,s.useEffect)(()=>{let t=t=>{t===e&&(i(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>i(!1),600))};return m.add(t),()=>{m.delete(t),r.current&&clearTimeout(r.current)}},[e]),t}var _=i(53120),y=i(27872),v=i(12491),b=i(41748);let S=new Map,k=e=>e.replace(/\bfill="(?!none|url\()([^"]*)"/gi,'fill="currentColor"'),x=(0,s.memo)(({url:e,useCurrentColor:t})=>{let[i,n]=(0,s.useState)("");(0,s.useEffect)(()=>{(async()=>{if(!e)return n("");if(S.has(e))return n(S.get(e)||"");try{let t=await fetch(e);if(!t.ok)throw Error(`HTTP error! Status: ${t.status}`);let i=await t.text();n(i),S.set(e,i)}catch(e){y.logger.error("[ModelItem] Failed to fetch SVG:",e)}})()},[e]);let a=(0,s.useMemo)(()=>t?k(i):i,[i,t]);return e?(0,r.jsx)("div",{className:`${c}-model-item-icon-logo-holder`,dangerouslySetInnerHTML:{__html:a}}):null});x.displayName="SVGAsImage";let C=(0,s.memo)(({model:e,isDark:t})=>{let i=(0,s.useMemo)(()=>t?e.icon?.dark:e.icon?.light,[t,e.icon]);return i?(0,r.jsx)(x,{url:i,useCurrentColor:!0}):(0,r.jsx)("div",{className:`${c}-model-item-icon-placeholder`,children:(0,r.jsx)(o.rTv,{style:{width:16,height:16}})})});C.displayName="ModelItemIcon";let w=(0,s.memo)(({modelKey:e,identityList:t,i18n:i,onUpgradeClick:n})=>{let a=(0,s.useRef)(null),o=g(e);(0,s.useEffect)(()=>{if(!o||!a.current)return;let e=a.current;e.classList.remove(`${c}-access-tooltip-btn-blink`),e.offsetWidth,e.classList.add(`${c}-access-tooltip-btn-blink`);let t=()=>{e.classList.remove(`${c}-access-tooltip-btn-blink`),e.removeEventListener("animationend",t)};e.addEventListener("animationend",t)},[o]);let l=b.vN.isCN.get(),d=(0,s.useMemo)(()=>(0,v.je)(t,i,l),[t,i,l]);return(0,r.jsxs)("div",{className:`${c}-access-tooltip`,children:[(0,r.jsx)("div",{className:`${c}-access-tooltip-title`,children:i.localize("trae-chat-core.model.access_tooltip_title",{},"Unlock SOTA Model")}),(0,r.jsx)("div",{className:`${c}-access-tooltip-desc`,children:i.localize("trae-chat-core.model.access_tooltip_desc",{identities:d},`This model is only available to ${d} users. Upgrade to unlock.`)}),(0,r.jsx)("button",{ref:a,type:"button",className:`${c}-access-tooltip-btn`,onClick:n,children:i.localize("trae-chat-core.model.access_tooltip_upgrade",{},"Upgrade plan")})]})});w.displayName="AccessRestrictedTooltip";let E=(0,s.memo)(({item:e,value:t,isDark:i,isHighlighted:n,i18n:l,onMouseEnter:d,onMouseLeave:u,onUpgradeClick:h,onItemClick:p})=>{let[m,f]=(0,s.useState)(!1),g=(0,s.useRef)(),y=(0,a.A1)(e=>e.setOpen),v=(0,s.useCallback)(()=>{g.current=setTimeout(()=>f(!1),150)},[]),b=(0,s.useCallback)(()=>{g.current&&(clearTimeout(g.current),g.current=void 0)},[]);(0,s.useEffect)(()=>()=>{g.current&&clearTimeout(g.current)},[]);let S=(0,s.useCallback)(()=>{b(),f(!0),d()},[b,d]),k=(0,s.useCallback)(()=>{v(),u()},[v,u]),x=(0,s.useCallback)(e=>{p(e),b(),f(!0)},[p,b]),E=(0,s.useCallback)(e=>{h(e),y(!1)},[h,y]),T=(0,s.useCallback)(()=>{b()},[b]),I=(0,s.useCallback)(()=>{v()},[v]),R=(0,s.useMemo)(()=>e.features?.access?.data?.identity_list??[],[e.features?.access?.data?.identity_list]),N=(0,r.jsx)("div",{onMouseEnter:T,onMouseLeave:I,children:(0,r.jsx)(w,{modelKey:t,identityList:R,i18n:l,onUpgradeClick:E})});return(0,r.jsx)(_.m,{content:N,side:"left",sideOffset:8,delayDuration:0,open:m,children:(0,r.jsx)("div",{role:"option","aria-disabled":"true","aria-selected":!1,className:`${c}-model-item access-restricted ${n?"highlighted":""}`,onMouseEnter:S,onMouseLeave:k,onClick:x,onPointerDown:e=>e.preventDefault(),children:(0,r.jsxs)("div",{className:`${c}-model-item-wrapper`,children:[(0,r.jsxs)("div",{className:`${c}-model-item-inner-wrapper`,children:[(0,r.jsx)("div",{className:`${c}-model-item-icon`,children:(0,r.jsx)(C,{model:e,isDark:i})}),(0,r.jsx)("span",{className:`${c}-model-item-name`,title:e.display_name||e.name,children:e.display_name||e.name})]}),(0,r.jsx)("span",{className:`${c}-model-item-lock`,children:(0,r.jsx)(o.XEb,{style:{width:14,height:14}})})]})})})});E.displayName="AccessRestrictedItem";let T=(0,s.memo)(({selection:e,isSelected:t,isHighlighted:i,isDark:l,accessRestricted:u,onHighlight:h})=>{let{item:m,value:g}=e,_=(0,p.UU)(m),y=(0,d.s9)(),v=(0,a.A1)(e=>e.onAccessRestrictedClick),b=(0,a.A1)(e=>e.shouldShowMaxBadge)(m),S=(0,s.useCallback)(()=>{h(g)},[h,g]),k=(0,s.useCallback)(()=>{h(null)},[h]),x=(0,s.useCallback)(e=>{e.stopPropagation(),e.preventDefault(),v(g)},[v,g]),w=(0,s.useCallback)(e=>{e.stopPropagation(),e.preventDefault(),f(g)},[g]);if(u)return(0,r.jsx)(E,{item:m,value:g,isDark:l,isHighlighted:i,i18n:y,onMouseEnter:S,onMouseLeave:k,onUpgradeClick:x,onItemClick:w});let T=!_;return(0,r.jsx)(n.q7,{value:g,disabled:T,className:`${c}-model-item ${i?"highlighted":""} ${T?"disabled":""}`,onMouseEnter:S,onMouseLeave:k,children:(0,r.jsxs)("div",{className:`${c}-model-item-wrapper`,children:[(0,r.jsxs)("div",{className:`${c}-model-item-inner-wrapper`,children:[(0,r.jsx)("div",{className:`${c}-model-item-icon`,children:(0,r.jsx)(C,{model:m,isDark:l})}),(0,r.jsx)(n.p4,{asChild:!0,children:(0,r.jsx)("span",{className:`${c}-model-item-name`,title:m.display_name||m.name,children:m.display_name||m.name})})]}),b&&(0,r.jsx)("span",{className:`${c}-badge ${c}-badge-max`,children:"Max"}),(0,r.jsx)(n.VF,{className:`${c}-model-item-check`,children:(0,r.jsx)(o.cfM,{})})]})})});T.displayName="ModelItem";let I="core-model-select-tooltip-content",R=e=>{let t=(0,d.s9)();return(0,r.jsxs)("div",{className:`${I}`,...e,children:[(0,r.jsx)("div",{className:`${I}-header`,children:t.localize("trae-chat-core.model.mode.auto",{},"TRAE Auto Model")}),(0,r.jsx)("span",{className:`${I}-text`,children:t.localize("trae-chat-core.model.mode.auto_tooltip",{},"Automatically select the best model for your task")})]})};function N(){let[e,t]=(0,s.useState)(!1),i=(0,s.useRef)(null);return{tooltipShow:e,handleMouseEnter:(0,s.useCallback)(()=>{null!==i.current&&(window.clearTimeout(i.current),i.current=null),setTimeout(()=>{t(!0)},100)},[]),handleMouseLeave:(0,s.useCallback)(()=>{i.current=window.setTimeout(()=>{t(!1)},100)},[])}}let A=(0,s.memo)(({mode:e,isActive:t,onSelect:i})=>{let n=(0,d.s9)(),{tooltipShow:a,handleMouseEnter:l,handleMouseLeave:u}=N(),h=(0,s.useCallback)(()=>{i(e)},[e,i]),p=n.localize("trae-chat-core.model.mode.auto",{},"TRAE Auto Model");return(0,r.jsx)(_.m,{open:a,side:"right",sideOffset:12,disableHoverableContent:!1,content:(0,r.jsx)(R,{onMouseEnter:l,onMouseLeave:u}),showArrow:!0,children:(0,r.jsxs)("div",{onMouseEnter:l,onMouseLeave:u,className:`${c}-auto-mode-item ${t?"active":""}`,onClick:h,children:[(0,r.jsxs)("div",{className:`${c}-auto-mode-item-inner`,children:[(0,r.jsx)("div",{className:`${c}-auto-mode-item-icon`,children:(0,r.jsx)(o.DKF,{})}),(0,r.jsx)("span",{className:`${c}-auto-mode-item-name`,children:p})]}),t&&(0,r.jsx)("div",{className:`${c}-auto-mode-item-check`,children:(0,r.jsx)(o.cfM,{})})]})})});A.displayName="AutoModeItem",(0,s.memo)(({modeList:e,autoModeOpen:t,onModeChange:i})=>{let s=(0,d.s9)(),n=e.find(e=>e.type===p.VY.Auto);if(!n)return null;let a=s.localize("trae-chat-core.model.mode.preset",{},"Preset Models");return(0,r.jsxs)("div",{className:`${c}-mode-list`,children:[a&&(0,r.jsx)("div",{className:`${c}-model-group-label`,children:(0,r.jsx)("span",{children:a})}),(0,r.jsx)(A,{mode:n,isActive:t,onSelect:i})]})}).displayName="ModeList",(0,s.memo)(({autoModeOpen:e})=>{let t=(0,d.s9)();return e?(0,r.jsx)("div",{className:`${c}-auto-mode-tips`,children:t.localize("trae-chat-core.model.mode.auto_tips",{},"Auto mode will automatically select the best model for your task.")}):null}).displayName="AutoModeTips";let M=(0,s.memo)(({group:e,selectedModelKey:t,highlightedOption:i,isDark:s,onHighlight:a,isAccessRestricted:o,autoMode:l,autoModeOpen:u=!1,onModeChange:p})=>{let m=(0,d.s9)(),f=(e=>{switch(e){case h.Y$.PRESET:return m.localize("trae-chat-core.model.group.preset",{},"Preset Models");case h.Y$.PREMIUM:return m.localize("trae-chat-core.model.group.premium",{},"Premium Models");case h.Y$.ADVANCED:return m.localize("trae-chat-core.model.group.advanced",{},"Advanced Models");case h.Y$.CUSTOM:return m.localize("trae-chat-core.model.group.custom",{},"Custom Models");default:return""}})(e.key);return(0,r.jsxs)(n.YJ,{className:`${c}-model-group`,children:[f&&(0,r.jsx)(n.JU,{className:`${c}-model-group-label`,children:(0,r.jsx)("span",{children:f})}),l&&p&&(0,r.jsx)(A,{mode:l,isActive:u,onSelect:p}),e.options?.map(e=>(0,r.jsx)(T,{selection:e,isSelected:e.value===t,isHighlighted:i===e.value,isDark:s,accessRestricted:o(e.value),onHighlight:a},e.value))]})});M.displayName="ModelGroup";let P=(0,s.memo)(({mountRoot:e,shouldPreventFocusRestore:t})=>{let i=(0,d.s9)(),l=(0,a.A1)(e=>e.groups),u=(0,a.A1)(e=>e.selectedModelKey),m=(0,a.A1)(e=>e.highlightedOption),g=(0,a.A1)(e=>e.setHighlightedOption),_=(0,a.A1)(e=>e.setIsTooltipOpen),y=(0,a.A1)(e=>e.modelSelectHeight),v=(0,a.A1)(e=>e.onModelChange),b=(0,a.A1)(e=>e.setOpen),S=(0,a.A1)(e=>e.autoModeOpen),k=(0,a.A1)(e=>e.modeList),x=(0,a.A1)(e=>e.onModeChange),C=(0,a.A1)(e=>e.onClickAddCustomModel),w=(0,a.A1)(e=>e.isDark),E=(0,a.A1)(e=>e.enableCustomModel),T=(0,a.A1)(e=>e.showModeList),I=(0,a.A1)(e=>e.isAccessRestricted),R=(0,a.A1)(e=>e.onAccessRestrictedClick),N=(0,s.useMemo)(()=>l?.reduce((e,t)=>e.concat(t.options??[]),[])||[],[l]),A=(0,s.useCallback)(e=>{if("Enter"===e.key&&m){if(I(m)){f(m),R(m),e.preventDefault();return}v(m),b(!1)}if("ArrowUp"===e.key||"ArrowDown"===e.key){let t,i=N.findIndex(e=>e.value===(m||u));(t="ArrowUp"===e.key?i<=0?0:i-1:i>=N.length-1?N.length-1:i+1)>=0&&t{t.current&&e.preventDefault()},[t]),j=E,L=new Set([h.Y$.PRESET,h.Y$.PREMIUM,h.Y$.ADVANCED,h.Y$.ENTERPRISE_BUILTIN]),D=(0,s.useMemo)(()=>T?k.find(e=>e.type===p.VY.Auto):void 0,[T,k]),O=(0,s.useMemo)(()=>{let e=l.filter(e=>e.options&&e.options.length>0);if(D&&!e.some(e=>L.has(e.key))){let t=l.find(e=>L.has(e.key));return t?[t,...e]:[{key:h.Y$.PRESET,options:[]},...e]}return e},[l,D]),F=(0,s.useMemo)(()=>O.find(e=>L.has(e.key))?.key,[O]);return(0,r.jsx)(n.ZL,{container:e,children:(0,r.jsx)("div",{className:`${c}-portal`,children:(0,r.jsx)(n.UC,{sideOffset:4,position:"popper",align:"end",onCloseAutoFocus:P,onKeyDown:A,className:`${c}-portal-content`,children:(0,r.jsx)(n.LM,{className:`${c}-portal-viewport`,children:(0,r.jsxs)("div",{style:{maxHeight:y},className:`${c}-portal-inner-content`,children:[(0,r.jsx)("div",{className:`${c}-model-list`,children:O.map(e=>(0,r.jsx)(M,{group:e,selectedModelKey:S?"":u,highlightedOption:m,isDark:w,onHighlight:g,isAccessRestricted:I,autoMode:e.key===F?D:void 0,autoModeOpen:S,onModeChange:x},e.key))}),j&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:`${c}-divider`}),(0,r.jsx)("div",{className:`${c}-footer`,children:(0,r.jsxs)("button",{type:"button",className:`${c}-footer-action`,onClick:C,children:[(0,r.jsx)("span",{className:`${c}-footer-action-icon`,children:(0,r.jsx)(o.Ni9,{})}),i.localize("trae-chat-core.model.footer.add_model",{},"Add Model")]})})]})]})})})})})});P.displayName="Portal";var j=i(44640);i(7516);var L=i(52716);let D="trae-custom-model-hint";function O(e){let t=(0,d.s9)();return(0,s.useMemo)(()=>{switch(e){case L.e3.CanSwitchCustomModel:return t.localize("trae-chat-core.model-select.can-switch-custom-model-hint",{},"You can switch models here.");case L.e3.CloudNotSupportCustomModel:default:return t.localize("trae-chat-core.model-select.custom-model-hint",{},"Cloud mode does not currently support the use of custom models.")}},[e,t])}let F=({visible:e,type:t=L.e3.CloudNotSupportCustomModel,onClose:i,autoCloseDelay:n=3e3,children:a,alignOffset:l=-16,style:c})=>{let u=O(t),h=(0,d.s9)(),[p,m]=(0,s.useState)(),[f,g]=(0,s.useState)(Math.ceil(n/1e3));return((0,s.useEffect)(()=>{m(document.body)},[]),(0,s.useEffect)(()=>{e&&g(Math.ceil(n/1e3))},[e,n,t]),(0,s.useEffect)(()=>{if(e&&f>0){let e=setInterval(()=>{g(e=>e-1)},1e3);return()=>clearInterval(e)}},[e,f>0,t]),(0,s.useEffect)(()=>{e&&0===f&&i&&i()},[e,f,i]),p)?(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)(j.bL,{defaultOpen:!1,open:e,children:[(0,r.jsx)(j.l9,{asChild:!0,children:(0,r.jsx)("div",{children:a})}),(0,r.jsx)(j.ZL,{container:p,children:(0,r.jsxs)(j.UC,{side:"bottom",align:"center",style:c,className:D,children:[(0,r.jsxs)("div",{className:`${D}-content`,children:[(0,r.jsxs)("div",{className:`${D}-top`,children:[(0,r.jsx)("div",{className:`${D}-icon`,children:(0,r.jsx)(o.Ddh,{})}),(0,r.jsx)("span",{className:`${D}-text`,children:u})]}),(0,r.jsx)("div",{className:`${D}-bottom`,children:(0,r.jsxs)("button",{className:`${D}-btn`,onClick:i,children:[(0,r.jsx)("span",{className:`${D}-btn-text`,children:h.localize("trae-chat-core.model-select.custom-model-hint-btn",{},"Got it")}),f>0&&(0,r.jsx)("span",{className:`${D}-btn-countdown`,children:`${f}s`})]})})]}),(0,r.jsx)(j.i3,{className:`${D}-arrow`,width:12,height:6})]})})]})}):(0,r.jsx)(r.Fragment,{children:a})};function U(){let e=(0,L.xC)(e=>e.visible),t=(0,L.xC)(e=>e.type),i=(0,L.xC)(e=>e.hideCustomModelHint);return{shouldShowHint:e,hintType:t,dismissHint:(0,s.useCallback)(()=>{i()},[i])}}var V=i(76136),B=i(70325);let z=(0,s.memo)(({showTriggerIcon:e=!0,className:t,mountRoot:i})=>{let o=(0,a.A1)(e=>e.open),l=(0,a.A1)(e=>e.setOpen),d=(0,a.A1)(e=>e.disabled),h=(0,a.A1)(e=>e.selectedModelKey),p=(0,a.A1)(e=>e.autoModeOpen),m=(0,a.A1)(e=>e.onModelChange),g=(0,a.A1)(e=>e.onMenuShown),_=(0,a.A1)(e=>e.onMenuClosed),y=(0,a.A1)(e=>e.groups),v=(0,a.A1)(e=>e.enableCustomModel),b=(0,a.A1)(e=>e.isAccessRestricted),S=(0,a.A1)(e=>e.onAccessRestrictedClick),k=y.every(e=>!e.options||0===e.options.length)&&!v,x=(0,s.useRef)(null),C=(0,s.useRef)(!1),{shouldShowHint:w,hintType:E,dismissHint:T}=U(),I=e=>{l(e),e?g():_()},R=e=>{if(b(e)){f(e),S(e);return}C.current=!0,m(e)},N=(0,r.jsxs)(n.bL,{disabled:d||k,value:p?"":h,open:o,onOpenChange:I,onValueChange:R,children:[(0,r.jsx)(u,{showTriggerIcon:e&&!k}),(0,r.jsx)(P,{mountRoot:i,shouldPreventFocusRestore:C})]});return(0,r.jsx)("div",{ref:x,className:`${c} ${d?`${c}-disabled`:""} ${k?`${c}-no-options`:""} ${t||""}`,children:(0,r.jsx)(F,{visible:w,onClose:T,type:E,children:N})})});z.displayName="ModelSelectView";let W={identifier:{domain:B.M.ModelSelect,name:"ModelSelectView"},displayName:"Model Select View",description:"Default model selection component",component:z};(0,V.MD)([W])},53120(e,t,i){i.d(t,{m:()=>o});var r=i(97282);i(51649);var s=i(6726),n=i(86020);let a="core-model-select-tooltip";function o(e){let{children:t,content:i,delayDuration:o=100,side:l="right",disabled:c=!1,disableHoverableContent:d=!1,defaultOpen:u=!1,sideOffset:h=0,open:p,showArrow:m=!0}=e;return(0,r.jsx)(s.Kq,{delayDuration:o,disableHoverableContent:d,children:(0,r.jsxs)(s.bL,{defaultOpen:u,open:p,children:[(0,r.jsx)(s.l9,{asChild:!0,children:t}),(0,r.jsx)(s.ZL,{children:(0,r.jsxs)(s.UC,{side:l,align:"center",className:n(a,{disabled:c}),sideOffset:h,children:[i,m&&(0,r.jsx)(s.i3,{className:`${a}-arrow`,width:16,height:8})]})})]})})}},73384(e,t,i){i.d(t,{Dt:()=>R,K8:()=>v,PR:()=>I,_q:()=>M,fL:()=>T,oO:()=>S,or:()=>N,uS:()=>A});var r=i(51649),s=i(8780),n=i(34274),a=i(25188),o=i(48671),l=i(74134),c=i(12218),d=i(2552),u=i(94609),h=i(41748),p=i(44368),m=i(88082),f=i(28304),g=i(88539),_=i(30886);let y=e=>{if(null!=e)try{return Number(e).toFixed(2)}catch{return""}},v=(e,t)=>{if(e)switch(t){case p.CU.AutoCompletion:return y(e.auto_completion);case p.CU.PremiumModelFastRequest:return y(e.premium_model_fast_request);case p.CU.PremiumModelSlowRequest:return y(e.premium_model_slow_request);case p.CU.AdvancedModel:return y(e.advanced_model);case p.CU.DollarBasic:return y(e.dollar_basic);case p.CU.DollarBonus:return y(e.dollar_bonus);default:return}},b=(e,t)=>t?e(`ai.notification.usage_type.${t}`,{},""):"",S=e=>{let{localize:t}=(0,n.s)();return b(t,e)},k=(e,t)=>t?e(`ai.notification.product_type.${t}`,{},""):"",x=e=>{let{localize:t}=(0,n.s)();return k(t,e)},C=(e,t,i)=>t&&i?e(`ai.notification.action_type.${t}`,{product_type:i},""):"",w=(e,t)=>{let{localize:i}=(0,n.s)();return C(i,e,t)},E=e=>e.notification_type===p._n.CnCooldownLowFrNotify,T=e=>{let t=(0,o.$Q)(l.B.CommercialService),i=(0,g.Fy)(e=>e.sessionId),r=(0,f.hE)(e=>e.messageId),n=(0,f.hE)(e=>e.userMessageId),a=(0,s.A)((s,a)=>{if(!r||!i||!e?.notification_type)return;let o=E(e)?e.cn_cooldown_low_fr_notify?.remaining:v(e?.remain_usage||{},e?.usage_type);t?.trackCommercialNotificationEvent(n||r,i,{type:s,notification_type:e?.notification_type,usage_type:E(e)?void 0:e?.usage_type,remaining_usage:String(o),...a})}),c=(0,s.A)(e=>{a("show",e)}),d=(0,s.A)(e=>{a("click",{action_type:e?.action_type,product_type:e?.product_type})});return{teaCommercialNotificationEvent:a,teaCommercialNotificationShow:c,teaCommercialNotificationClick:d}},I=(e,t)=>{let i=(0,o.$Q)(l.F.Entitlement),h=(0,o.$Q)(l.B.CNCommercialService),m=(0,o.h1)(l.B.CNCommercialStore),_=m.cnCommercialVisible.use(),y=(0,o.$Q)(l.F.TraeApi),v=(0,o.$Q)(l.B.StreamStore),b=(0,o.$Q)(l.B.MessageStore),S=(0,o.$Q)(l.B.ModelStore),k=(0,g.Fy)(e=>e.sessionId),C=(0,g.Fy)(e=>e.session),E=(0,f.hE)(e=>e.messageId),I=(0,f.hE)(e=>e.userMessageId),R=(0,f.hE)(e=>e.agentMessage),N=x(e?.product_type),A=w(e?.action_type,N),{teaCommercialNotificationClick:M}=T(t),{localize:P}=(0,n.s)(),j=(0,a.y5)(),L=(0,s.A)(()=>{M(e);let t=k?v?.getContext(k):void 0,r=C?.mode&&C?.env?(0,u.Y6)(C.mode,C.env):void 0,s=R?.agentType??r,n=s?S?.selectedModeBySession.get(k,s):void 0,a=s?S?.selectedModelBySession.get(k,s):void 0,o=t?.tracking?.model||a?.name,l=n===d.VY.Auto?"auto":"manual";i?.upgrade({openFrom:(0,c.bC)(c.be.Notification,c.JT.Commercial),trackingParams:{message_id:I||E,session_id:k,mode:C?.mode,env:C?.env,agent_type:s,chat_mode:l,chat_model_mode:n,is_auto_mode:+(n===d.VY.Auto),is_custom_model:+(a?.is_preset===!1),model_source:a?.config_source,...o?{model:o,chat_model:o}:{}}})}),D=(0,s.A)(()=>{M(e)}),O=(0,s.A)(()=>{M(e),i?.openPage("AccountSubscription")}),F=P("ai.notification.paygo.action_text",{},"ai.notification.paygo.action_text"),U=P("ai.notification.fast_request.use_button",{},"Use Express"),V=(0,s.A)(async()=>{if(M(e),j.report("fast_request_toggle",{action:"click",status:"off",source:"queue_card"}),h?.enableAndShowGuide(),k){m.core.setFastRequestLock(k,!0);let e=v?.getContext(k),t=e?.queueId,i=e?.requestUUID;try{await y?.chat.sendUserDecision({chat_session_id:k,type:"use_fast_request",plan_item_id:"",tool_name:"",decision:"",params:JSON.stringify({message_id:I,queue_id:t})}),E&&b?.ui.setExpressActivated(E,!0),i&&b?.ui.setExpressActivatedByRequestUUID(i,!0)}catch{}}});return(0,r.useMemo)(()=>{let{product_type:t,action_type:i}=e||{};return i===p.X2.Buy&&t===p.ch.Paygo?[F,O]:i===p.X2.UseFastRequest?[U,V]:A?i===p.X2.Upgrade?[A,L]:i===p.X2.Buy&&t&&[p.ch.Package].includes(t)?[A,D]:[void 0,void 0]:[void 0,void 0]},[e,A,L,D,O,F,U,V,_])},R=()=>(0,o.$Q)(l.B.CommercialService),N=()=>(0,o.$Q)(l.F.Entitlement),A=()=>{let e=(0,f.hE)(e=>e.agentMessage),t=e?.error?.code,i=e?.notifications,r=!!(t&&[_.Yb.PREMIUM_MODE_USAGE_LIMIT,_.Yb.STANDARD_MODE_USAGE_LIMIT].includes(t)),s=!!i?.find(e=>e.notification_type===p._n.CommercialExhaust);return r&&s},M=()=>{let e=(0,o.h1)(l.B.EnvStore).isCN.use(),t=h.Zz.payStatus.use();return(0,r.useMemo)(()=>!!e&&!!t?.detail?.can_show_get_express&&t?.detail?.can_get_express_status===m.R.TodayCanTry,[e,t?.detail?.can_show_get_express,t?.detail?.can_get_express_status])}},63769(e,t,i){i.d(t,{JK:()=>F});var r=i(97282),s=i(51649),n=i(8780),a=i(28304),o=i(44368),l=i(34274),c=i(57215);let d=(0,s.memo)(function({type:e,title:t,message:i,open:n=!0,closeable:a=!1,onClose:o,primaryButtonText:l,primaryButtonIcon:d,onPrimaryClick:u,secondaryButtonText:h,secondaryButtonIcon:p,onSecondaryClick:m,onShow:f}){return((0,s.useEffect)(()=>{n&&f&&f()},[n,f]),n)?(0,r.jsx)(c.A,{type:e,title:t,message:i,closable:a,onClose:o,primaryButtonText:l,primaryButtonIcon:d,onPrimaryButtonClick:u,secondaryButtonText:h,secondaryButtonIcon:p,onSecondaryButtonClick:m}):null});var u=i(73384),h=i(87567),p=i(48671),m=i(74134);let f=(0,s.memo)(function({notification:e,isLastMessage:t}){let{localize:i}=(0,l.s)(),o=(0,u.Dt)(),c=(0,a.hE)(e=>e.status),{usage_type:f,remain_usage:g={},button:_}=e,y=(0,u.oO)(f),v=(0,u.K8)(g,f),b=i("do_not_show_again"),[S,k]=(0,s.useState)(!1),{teaCommercialNotificationShow:x,teaCommercialNotificationClick:C}=(0,u.fL)(e),w=c===h.C3.Completed,E=(0,p.h1)(m.B.CNCommercialStore).cnCommercialVisible.use();(0,s.useEffect)(()=>{!async function(){if(!o)return k(!0);let t=await o.checkShownToday(e.notification_type,e.usage_type),i=await o.checkDoNotShowAgain(e.notification_type,e.usage_type);k(!(t||i))}()},[e.notification_type,e.usage_type,o]);let T=(0,n.A)(()=>{C({action_type:void 0}),o?.clickDoNotShowAgain(e.notification_type,e.usage_type),k(!1)}),I=(0,n.A)(()=>{o?.clickClose(e.notification_type,e.usage_type),k(!1)}),[R,N]=(0,u.PR)(_?.[0],e),[A,M]=R?[b,T]:[void 0,void 0];if(!(void 0!==v&&t&&w&&!E))return null;let P=i("ai.commercial_remind.title",{},"Quota Near Limit"),j=i("ai.commercial_remind.content",{usage_type:y,num:v},"You only have { num } { usage_type } remaining. To ensure a smooth experience, we recommend securing more available quota in time.");return(0,r.jsx)(d,{onShow:x,closeable:!0,open:S,title:P,message:j,type:"info",primaryButtonText:R,onPrimaryClick:N,secondaryButtonText:A,onSecondaryClick:M,onClose:I})}),g="notificationContent-_4lrXE";var _=i(24312),y=i(41748);let v=(0,s.memo)(function({notification:e,showNotification:t}){let{localize:i}=(0,l.s)(),a=(0,p.$Q)(m.F.ModelSelect),o=y.Zz.payStatus.use(),c=(0,s.useMemo)(()=>o?.user_pay_identity===0,[o?.user_pay_identity]),h=i("ai.notification.commercial_exhaust.title",{}),{button:f=[]}=e,_=i("ai.notification.commercial_exhaust.lite.content",{},"Your remaining usage is not sufficient to complete this request. To maintain a smooth experience, we recommend adding more usage or connecting to other AI services. When you retry, previously generated usage will not be charged again."),[v,b]=(0,u.PR)(f[0],e),[S,k]=(0,u.PR)(f[1],e),{teaCommercialNotificationShow:x}=(0,u.fL)(e),C=i("ai.notification.commercial_exhaust.lite.secondary_button",{},"Connect Other Services (API Key)"),w=(0,n.A)(()=>{a?.openAddCustomModelDialog()}),E=c?C:S,T=c?w:k;if(!t)return null;let I=(0,r.jsx)("div",{className:g,children:(0,r.jsx)("div",{children:(0,r.jsx)("span",{children:_})})});return(0,r.jsx)(d,{type:"warning",onShow:x,message:I,title:h,primaryButtonText:v,onPrimaryClick:b,secondaryButtonText:E,onSecondaryClick:T})}),b=(0,s.memo)(function({notification:e,showNotification:t}){let{localize:i}=(0,l.s)(),s=(0,u.or)(),a=(0,p.h1)(m.B.CNCommercialStore).cnCommercialVisible.use(),{usage_type:o,button:c=[]}=e,h=(0,u.oO)(o),f=a?i("ai.notification.commercial_exhaust.cn.title",{},"No Fast Passes remaining"):i("ai.notification.commercial_exhaust.title",{}),_=i("ai.notification.commercial_exhaust.cn.content",{},"No Fast Passes available at the moment. Upgrade now to resume your seamless, uninterrupted chat experience!"),y=i("ai.notification.commercial_exhaust.cn.button",{},"Upgrade Plan"),v=i("ai.notification.commercial_exhaust.content.l1",{usage_type:h},"Your remaining { usage_type } is not enough to use this model. Your current quota status:");i("ai.notification.commercial_exhaust.content.link");let[b,S]=(0,u.PR)(c[0],e),[k,x]=(0,u.PR)(c[1],e),{teaCommercialNotificationShow:C}=(0,u.fL)(e);if((0,n.A)(()=>{s?.openPage("AccountUsage")}),!t)return null;let w=a?(0,r.jsx)("div",{className:g,children:(0,r.jsx)("div",{children:(0,r.jsx)("span",{children:_})})}):(0,r.jsx)("div",{className:g,children:(0,r.jsx)("div",{children:(0,r.jsx)("span",{children:v})})});return(0,r.jsx)(d,{type:"warning",onShow:C,message:w,title:f,primaryButtonText:a?y:b,onPrimaryClick:S,secondaryButtonText:a?void 0:k,onSecondaryClick:a?void 0:x})}),S=(0,s.memo)(function(e){return(0,_.B_)()?(0,r.jsx)(v,{...e}):(0,r.jsx)(b,{...e})});var k=i(49696);let x=(0,s.memo)(function(e){let{fastRequestEventType:t,fastRequestRefunded:i,title:s,fastRequestMessage:n,fastRequestCannotUseMessage:a,fastRequestNoQuotaMessage:l,fastRequestNoQuotaNoUpgradeMessage:c,fastRequestAlreadyUsingMessage:u,fastRequestAlreadyUsingRefundMessage:h,isFastFinishContent:p,fallbackMessage:m,fastRequestActionText:f,fastRequestActionIcon:g,onFastRequestClick:_,primaryButtonText:y,primaryButtonIcon:v,onPrimaryClick:b,secondaryButtonText:S,secondaryButtonIcon:k,onSecondaryClick:x,isFastFinish:C,hasUsageType:w,onShow:E}=e;if(void 0!==t)switch(t){case o.kr.HasQuotaCanUse:return(0,r.jsx)(d,{type:"info",title:s,message:n,onShow:E,primaryButtonText:f,primaryButtonIcon:g,onPrimaryClick:_});case o.kr.HasQuotaCannotUse:return(0,r.jsx)(d,{type:"info",title:s,message:a,onShow:E});case o.kr.NoQuotaCanUpgrade:return(0,r.jsx)(d,{type:"info",title:s,message:l,onShow:E,primaryButtonText:f,primaryButtonIcon:g,onPrimaryClick:_});case o.kr.NoQuotaCannotUpgrade:return(0,r.jsx)(d,{type:"info",title:s,message:c,onShow:E});case o.kr.AlreadyUsing:{let e=i?h:u;return(0,r.jsx)(d,{type:"info",title:s,message:e,onShow:E})}}return C&&w?(0,r.jsx)(d,{type:"info",title:s,message:p,onShow:E,primaryButtonText:y,primaryButtonIcon:v,onPrimaryClick:b,secondaryButtonText:S,secondaryButtonIcon:k,onSecondaryClick:x}):(0,r.jsx)(d,{type:"info",title:s,message:m,onShow:E})}),C=(0,s.memo)(function({notification:e,queueStatus:t}){let{localize:i}=(0,l.s)(),n=(0,p.$Q)(m.B.MessageStore),c=(0,p.h1)(m.B.CNCommercialStore).cnCommercialVisible.use(),d=n?.expressActivatedByRequestUUID.use(e.request_uuid??"")??!1,{position:f,usage_type:_,is_fast_finish:v,button:b=[],fast_request_event:S,queue_status:C}=e,w=i("ai.notification.commercial_queue.title",{},"In queue"),E=i("ai.notification.commercial_queue.content.l1",{position:f,usage_type:(0,u.oO)(e.usage_type)},"You've used up your {usage_type} quota and have entered the slow queue (current position: {position})."),T=i("ai.notification.commercial_queue.content.l2",{},"To get faster responses and ensure a smooth experience, we recommend securing more available quota."),I=i("ai.notification.commercial_queue.content.fallback",{position:f},"Too many current requests. Your queue position is {position}. Please switch to other models for a smoother experience."),R=(0,a.hE)(e=>e.status),{teaCommercialNotificationShow:N,teaCommercialNotificationClick:A,teaCommercialNotificationEvent:M}=(0,u.fL)(e),[P,j]=(0,u.PR)(b[0],e),[L,D]=(0,u.PR)(b[1],e),O=(0,s.useMemo)(()=>{if(!S?.buttons?.length)return;let e=S.buttons[0];return{action_type:e.action_type,product_type:e.product_type}},[S?.buttons]),[F,U]=(0,u.PR)(O,e);(0,u._q)();let V=(0,u.or)(),B=y.Zz.payStatus.use(),z=B?.user_pay_identity===100,W=S?.refunded===!0,H=S?.type===o.kr.AlreadyUsing;i("ai.notification.commercial_queue.content.get_express.l1",{position:f},"Too many requests right now. You're in the queue at position {position}. You may try other models or switch to Auto Mode for a smoother experience."),i("ai.notification.commercial_queue.content.get_express.l2",{},"Don't want to queue? Win an Express Pass to skip the line now!"),i("ai.notification.commercial_queue.content.get_express.action",{},"Win Express Pass");let G=i("ai.notification.fast_request.has_quota",{position:f},"You're at position {position}. Use Express to skip the queue!"),Z=i("ai.notification.fast_request.cannot_use",{position:f},"You're at position {position}. Express is not available for the current request."),K=i("ai.notification.fast_request.no_quota",{position:f},"You're at position {position}. Upgrade to get Express quota."),X=i("ai.notification.fast_request.no_quota_no_upgrade",{position:f},"You're at position {position}. No Express quota available."),Y=i("ai.notification.fast_request.already_using",{position:f},"Express activated. You're being fast-tracked at position {position}."),J=z?i("ai.notification.fast_request.already_using_refund.express",{position:f},"Express Pass activated. You're being fast-tracked at position {position}. Your Express Pass usage will be refunded after the queue ends."):i("ai.notification.fast_request.already_using_refund",{position:f},"Express activated. You're being fast-tracked at position {position}. Express usage will be refunded after the queue ends.");(0,s.useCallback)(()=>{M("show",{action_type:o.X2.ExpressLottery})},[M]);let $=(0,s.useMemo)(()=>{let e=S?.type;if(void 0===e)return N;switch(e){case o.kr.HasQuotaCanUse:return()=>N({action_type:o.X2.UseFastRequest,fast_request_event_type:o.kr.HasQuotaCanUse});case o.kr.HasQuotaCannotUse:return()=>N({fast_request_event_type:o.kr.HasQuotaCannotUse});case o.kr.NoQuotaCanUpgrade:return()=>N({action_type:O?.action_type,fast_request_event_type:o.kr.NoQuotaCanUpgrade});case o.kr.NoQuotaCannotUpgrade:return()=>N({fast_request_event_type:o.kr.NoQuotaCannotUpgrade});case o.kr.AlreadyUsing:return()=>N({fast_request_event_type:o.kr.AlreadyUsing,fast_request_refunded:W});default:return N}},[S?.type,O?.action_type,W,N]);if((0,s.useCallback)(()=>{A({action_type:o.X2.ExpressLottery}),V?.openExpressLottery?.()},[V,A]),R!==h.C3.Queuing||t===o.an.End||C===o.an.End||!W&&(d||H)||!f)return null;let q=(0,r.jsxs)("div",{className:g,children:[(0,r.jsx)("span",{children:E}),(0,r.jsx)("span",{children:T})]});return(0,r.jsx)(x,{fastRequestEventType:S?.type,fastRequestRefunded:W,title:w,fastRequestMessage:G,fastRequestCannotUseMessage:Z,fastRequestNoQuotaMessage:K,fastRequestNoQuotaNoUpgradeMessage:X,fastRequestAlreadyUsingMessage:Y,fastRequestAlreadyUsingRefundMessage:J,isFastFinishContent:q,fallbackMessage:I,fastRequestActionText:F,fastRequestActionIcon:c?(0,r.jsx)(k.A,{color:"green",variant:"outline",size:14,showBackground:!1}):void 0,onFastRequestClick:U,primaryButtonText:P,primaryButtonIcon:c?(0,r.jsx)(k.A,{color:"green",variant:"solid",size:14,showBackground:!1}):void 0,onPrimaryClick:j,secondaryButtonText:L,secondaryButtonIcon:c?(0,r.jsx)(k.A,{color:"green",variant:"solid",size:14,showBackground:!1}):void 0,onSecondaryClick:D,isFastFinish:v,hasUsageType:!!_,onShow:$})}),w=(0,s.memo)(function({notification:e,isLastMessage:t,isUltraUser:i=!1}){let{localize:o}=(0,l.s)(),c=(0,a.hE)(e=>e.status)===h.C3.Completed,{button:p}=e,[m,f]=(0,s.useState)(!0),g=(0,n.A)(()=>{f(!1)}),[_,y]=(0,u.PR)(p?.[0],e);if(!(t&&c))return null;let v=o("ai.notification.paygo_start.title",{},"Pay As You Go Enabled"),b=o("ai.notification.paygo_start.content",{},"You are now using pay-as-you-go billing. Usage will be charged based on actual consumption."),S=o("ai.notification.paygo_start.non_ultra_content",{},"Upgrade to Ultra for unlimited requests."),k=i?b:`${b} ${S}`;return(0,r.jsx)(d,{closeable:!0,open:m,title:v,message:k,type:"info",primaryButtonText:_,onPrimaryClick:y,onClose:g})}),E=(0,s.memo)(function({notification:e,isLastMessage:t}){let{localize:i}=(0,l.s)(),a=(0,u.Dt)(),o=(0,u.or)(),c=i("ai.notification.do_not_show_again",{},"Don't show again"),[h,p]=(0,s.useState)(!1);(0,s.useEffect)(()=>{!async function(){if(!a)return p(!0);let t=await a.checkDoNotShowAgain(e.notification_type),i=await a.checkShownToday(e.notification_type);p(!(t||i)),t||i||await a.markShownToday(e.notification_type)}()},[e.notification_type,a]);let m=(0,n.A)(()=>{a?.clickClose(e.notification_type),p(!1)}),f=(0,n.A)(()=>{p(!1),a?.clickDoNotShowAgain(e.notification_type)}),g=(0,n.A)(()=>{o?.openPage("AccountUsage")}),_=i("ai.notification.paygo_usage.view_usage",{},"View Usage"),y=g,v=c,b=f;if(!t)return null;let S=i("ai.notification.paygo_usage.content",{},"Your current usage is being charged based on actual consumption.");return(0,r.jsx)(d,{closeable:!0,open:h,message:S,type:"info",primaryButtonText:_,onPrimaryClick:y,secondaryButtonText:v,onSecondaryClick:b,onClose:m})});var T=i(19164),I=i(92046);let R=(0,s.memo)(function({notification:e}){let{localize:t}=(0,l.s)(),i=t("trae-chat-core.error.remoteAgent.gitPushFailed",{},"Git failed to push to remote."),n=t("trae-chat-core.error.common.copyRequestDetails",{},"Copy Request Details"),a=(0,s.useCallback)(()=>{let i=I.XT.tryResolve(m.F.Clipboard);i?i.copyText(e.message):navigator.clipboard.writeText(e.message).catch(()=>{}),T.oR.success(t("trae-chat-core.error.common.copySuccess",{},"Copy successful"))},[e.message,t]);return(0,r.jsx)(c.A,{type:"warning",message:i,showDetailLink:!0,detailLinkText:n,onDetailLinkClick:a})}),N=(0,s.memo)(function({notification:e}){let t,{localize:i}=(0,l.s)();switch(e.execute_point){case o.iA.Pre:t=i("trae-chat-core.notification.content_filter_warning.pre",{},"Request content has been desensitized per enterprise security policy.");break;case o.iA.Post:t=i("trae-chat-core.notification.content_filter_warning.post",{},"Output content has been desensitized per enterprise security policy.");break;default:t=i("trae-chat-core.notification.content_filter_warning.unknown",{},"Content has been processed per enterprise security policy.")}return(0,r.jsx)(c.A,{type:"warning",message:t})}),A=(0,s.memo)(function({notification:e}){let{localize:t}=(0,l.s)(),i=e.cn_cooldown_low_fr_notify,{teaCommercialNotificationShow:s}=(0,u.fL)(e),[,n]=(0,u.PR)(e.button?.[0],e);if(!i)return null;let a=i.remaining??0,o=(()=>{switch(i.dimension){case"w":case"week":case"weekly":return"ai.notification.cn_cooldown_low_fr.content.week";case"m":case"month":case"monthly":return"ai.notification.cn_cooldown_low_fr.content.month";default:return"ai.notification.cn_cooldown_low_fr.content.day"}})(),c=t("ai.notification.cn_cooldown_low_fr.title",{},"Quota notice"),h=t(o,{remaining:a},"You have {remaining} chats left today. Upgrade to unlock more."),p=t("ai.notification.cn_cooldown_low_fr.button.upgrade",{},"Upgrade");return(0,r.jsx)(d,{onShow:s,title:c,message:h,type:"info",primaryButtonText:p,onPrimaryClick:n})}),M={[o._n.Queue]:{priority:0,placements:["normal"],render:({notification:e,queueStatus:t})=>(0,r.jsx)(C,{notification:e,queueStatus:t})},[o._n.CommercialExhaust]:{priority:1,placements:["normal"],render:({notification:e,showCommercialExhaustNotification:t})=>(0,r.jsx)(S,{notification:e,showNotification:t})},[o._n.ContentFilterWarning]:{priority:2,placements:["normal"],render:({notification:e})=>(0,r.jsx)(N,{notification:e})},[o._n.CommercialRemind]:{priority:3,placements:["normal"],render:({notification:e,isLastMessage:t})=>(0,r.jsx)(f,{notification:e,isLastMessage:t})},[o._n.MaxModeUsage]:{priority:4,placements:["normal"],render:()=>null},[o._n.PaygoStart]:{priority:5,placements:["normal"],render:({notification:e,isLastMessage:t,isUltraUser:i})=>(0,r.jsx)(w,{notification:e,isLastMessage:t,isUltraUser:i})},[o._n.PaygoUsage]:{priority:6,placements:["normal"],render:({notification:e,isLastMessage:t})=>(0,r.jsx)(E,{notification:e,isLastMessage:t})},[o._n.RemoteAgentGitPushFailed]:{priority:7,placements:["normal"],render:({notification:e})=>(0,r.jsx)(R,{notification:e})},[o._n.CnCooldownLowFrNotify]:{priority:8,placements:["normal"],render:({notification:e})=>(0,r.jsx)(A,{notification:e})}},P=e=>M[e],j=e=>P(e.notification_type)?.priority??Number.MAX_SAFE_INTEGER,L=(e,t)=>{let i=P(e.notification_type);return!!i?.placements.includes(t)},D=(0,s.memo)(function({notification:e,isLastMessage:t=!1,showCommercialExhaustNotification:i=!0,queueStatus:s,isUltraUser:a}){let o=(0,n.A)(()=>e?P(e.notification_type)?.render({notification:e,isLastMessage:t,showCommercialExhaustNotification:i,queueStatus:s,isUltraUser:a})??null:null);return(0,r.jsx)("div",{children:o()})});D.displayName="Notification";let O=(0,s.memo)(function({notifications:e,isLastMessage:t=!1,showCommercialExhaustNotification:i=!0,queueStatus:s,isUltraUser:n}){return e?.length?(0,r.jsx)(r.Fragment,{children:[...e].filter(e=>L(e,"normal")).sort((e,t)=>j(e)-j(t)).map(e=>(0,r.jsx)(D,{notification:e,isLastMessage:t,showCommercialExhaustNotification:i,queueStatus:s,isUltraUser:n},e.notification_type))}):null});O.displayName="NotificationList";let F=(0,s.memo)(function(){let e=(0,a.hE)(e=>e.isLatestMessage),t=(0,a.hE)(e=>e.agentMessage),i=t?.notifications;return i?.length?(0,r.jsx)(O,{notifications:i,isLastMessage:e}):null});F.displayName="AgentNotificationList"},46681(e,t,i){var r=i(97282),s=i(51649),n=i(13716),a=i(11953),o=i(70325),l=i(76136),c=i(54820);let d=(0,s.memo)(function({children:e,className:t}){let i=(0,a.D)(e=>e.planItemId),o=(0,a.D)(e=>e.planItem),l=o?.hide??!1,d=(0,c.Lo)(),u=(0,s.useCallback)(()=>{o&&navigator.clipboard.writeText(JSON.stringify(o,null,2)).catch(()=>{})},[o]);if(!o||l)return null;let h=["agent-plan-item",t].filter(Boolean).join(" ");return(0,r.jsxs)("div",{className:h,"data-plan-item-id":i,"data-toolcall-type":o.toolCallInfo?.name,children:[d&&(0,r.jsxs)("div",{className:"agent-plan-item__debug-id",children:[(0,r.jsxs)("span",{children:["[PlanItem: ",i,"]"]}),(0,r.jsx)(n.b,{onCopy:u})]}),e]})}),u={identifier:{domain:o.M.PlanItem,name:"default"},displayName:"Plan Item",description:"Plan item component",component:d};(0,l.MD)([u])},1667(e,t,i){i.d(t,{eW:()=>m,vR:()=>y});var r=i(97282),s=i(51649),n=i(95896),a=i(19755),o=i(64512),l=i(55673),c=i(25188),d=i(38850),u=i(36325),h=i(76933);let p=()=>(0,r.jsx)(h.Mpl,{style:{width:16,height:16}}),m=(0,s.memo)(({repoUrl:e,repoName:t,selectedBranch:i,filterBranch:m,onBranchSelect:f,disabled:g=!1,readonly:_=!1,placeholder:y,placement:v="top",branches:b,popupZIndex:S})=>{let[k,x]=(0,s.useState)(!1),[C,w]=(0,s.useState)(null),E=(0,c.s9)(),{menuData:T,isLoading:I,displayText:R,cacheKeyword:N,cacheHasMore:A,cacheNextPageToken:M,handleOpen:P,handleSearch:j,handleSelect:L}=(0,d.F)({repoUrl:e,selectedBranch:i,filterBranch:m,onBranchSelect:f,branches:b}),D=(0,s.useMemo)(()=>i?[i]:[],[i]),O=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:u.A.menuCheckIcon,children:(0,r.jsx)(h.cfM,{})}),[]),F=(0,s.useMemo)(()=>T.map(e=>({...e,icon:p,rightSlot:e.key===i?O:void 0})),[T,i,O]),U=(0,s.useCallback)(async(e,t)=>{let r=await j(e,t);return{...r,items:r.items.map(e=>({...e,icon:p,rightSlot:e.key===i?O:void 0}))}},[j,i,O]),V=!!e||!!b,B=(0,s.useCallback)(()=>{_||g||!V||(x(e=>!e),P())},[_,g,V,P]),z=(0,s.useCallback)(()=>{x(!1)},[]),W=(0,s.useCallback)(e=>{L(e),x(!1)},[L]),H=(0,s.useMemo)(()=>{let e=[u.A.inputBarButton];return(_||g||!V)&&e.push(u.A.inputBarButtonReadonly),e.join(" ")},[_,g,V]),G=(0,s.useMemo)(()=>{let e=[u.A.inputBarButtonArrow];return k&&e.push(u.A.inputBarButtonArrowOpen),e.join(" ")},[k]),Z=()=>{if(_)return(0,r.jsx)("span",{className:H,children:(0,r.jsx)("div",{className:u.A.inputBarButtonContent,children:(0,r.jsx)("span",{className:u.A.inputBarButtonText,children:R})})});let e=(0,r.jsx)("button",{ref:w,className:H,onClick:B,disabled:!V,children:(0,r.jsxs)("div",{className:u.A.inputBarButtonContent,children:[R?(0,r.jsx)(n.A,{className:u.A.inputBarButtonText,tooltipSide:"bottom",tooltipMode:"mini",children:R}):(0,r.jsx)("span",{className:u.A.inputBarButtonPlaceholder,children:y||E.localize("trae-chat-core.repoSelector.selectBranch",{},"Select branch")}),!_&&V&&(0,r.jsx)("span",{className:G,children:(0,r.jsx)(l.rI,{})})]})});return g||!V?(0,r.jsx)(a.A,{content:V?E.localize("reviewHub.tooltip.streaming",{},"Please wait until the AI response is complete before proceeding"):E.localize("trae-chat-core.repo_selector.branch_selector.no_repository_selected",{},"No repository selected"),children:e}):e};return(0,r.jsxs)(r.Fragment,{children:[Z(),C&&V&&!_&&(0,r.jsx)(o.H,{visible:k,menu:F,anchor:C,value:D,style:{width:280,height:280,...S?{zIndex:S}:{}},placement:v,searchable:{type:"async",onSearch:U,placeholder:E.localize("trae-chat-core.repo_selector.branch_selector.search_placeholder",{},"Search branches..."),debounceDelay:300,minLength:0,autoFocus:!1,enableLoadMore:A,defaultValue:N,initialHasMore:A,initialNextPageToken:M},onSelect:W,onClose:z})]})});m.displayName="BranchSelector";var f=i(92046),g=i(74134),_=i(53253);let y=(0,s.memo)(({rootPath:e,...t})=>{let i=(0,s.useMemo)(()=>f.XT.tryResolve(g.F.Worktree),[]),n=(0,_.I)(e=>e.selectedProject),a=n?.local_project_id,o=e??n?.extra_info?.folder,[l,c]=(0,s.useState)([]);return((0,s.useEffect)(()=>{i&&o&&(c([]),i.getLocalBranches(o).then(e=>{c(e)}))},[i,a,o]),l.length)?(0,r.jsx)(m,{...t,repoUrl:"",branches:l}):null});y.displayName="LocalBranchSelector",i(45243)},45243(e,t,i){i.d(t,{t:()=>b});var r=i(97282),s=i(51649),n=i(19755),a=i(64512),o=i(92046),l=i(74134),c=i(53253),d=i(25188),u=i(38850);let h="selectorButton-MHYc6p",p="selectorButtonReadonly-Pl71sn",m="selectorText-yID3gF",f="selectorPlaceholder-_jChO7",g="selectorArrow-oSdEWX",_="menuCheckIcon-U3Un6x";var y=i(76933);let v=()=>(0,r.jsx)(y.Mpl,{style:{width:16,height:16}}),b=(0,s.memo)(({rootPath:e,selectedBranch:t,filterBranch:i,onBranchSelect:b,disabled:S=!1,readonly:k=!1,placeholder:x,placement:C="top"})=>{let w=(0,s.useMemo)(()=>o.XT.tryResolve(l.F.Worktree),[]),E=(0,c.I)(e=>e.selectedProject),T=E?.local_project_id,I=e??E?.extra_info?.folder,[R,N]=(0,s.useState)([]);(0,s.useEffect)(()=>{w&&I&&w.getLocalBranches(I).then(e=>{N(e)})},[w,T,I]);let[A,M]=(0,s.useState)(!1),[P,j]=(0,s.useState)(null),L=(0,d.s9)(),{menuData:D,displayText:O,cacheKeyword:F,cacheHasMore:U,cacheNextPageToken:V,handleOpen:B,handleSearch:z,handleSelect:W}=(0,u.F)({repoUrl:"",selectedBranch:t,filterBranch:i,onBranchSelect:b,branches:R}),H=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:_,children:(0,r.jsx)(y.cfM,{})}),[]),G=(0,s.useMemo)(()=>D.map(e=>({...e,icon:v,rightSlot:e.key===t?H:void 0})),[D,t,H]),Z=(0,s.useCallback)(async(e,i)=>{let r=await z(e,i);return{...r,items:r.items.map(e=>({...e,icon:v,rightSlot:e.key===t?H:void 0}))}},[z,t,H]),K=R.length>0,X=(0,s.useCallback)(()=>{k||S||!K||(M(e=>!e),B())},[k,S,K,B]),Y=(0,s.useCallback)(()=>{M(!1)},[]),J=(0,s.useCallback)(e=>{W(e),M(!1)},[W]),$=(0,s.useMemo)(()=>{let e=[h];return(k||S||!K)&&e.push(p),e.join(" ")},[k,S,K]);if(!R.length)return null;if(k)return(0,r.jsx)("span",{className:$,children:(0,r.jsx)("span",{className:m,children:O})});let q=(0,r.jsxs)("button",{ref:j,className:$,onClick:X,disabled:!K,children:[(0,r.jsx)("span",{className:m,children:O||(0,r.jsx)("span",{className:f,children:x||L.localize("trae-chat-core.repoSelector.selectBranch",{},"Select branch")})}),!k&&K&&(0,r.jsx)("span",{className:g,children:(0,r.jsx)(y.OKB,{})})]}),Q=S?(0,r.jsx)(n.A,{content:L.localize("reviewHub.tooltip.streaming",{},"Please wait until the AI response is complete before proceeding"),children:q}):q;return(0,r.jsxs)(r.Fragment,{children:[Q,P&&K&&!k&&(0,r.jsx)(a.H,{visible:A,menu:G,anchor:P,value:t?[t]:[],style:{width:280,height:280},placement:C,searchable:{type:"async",onSearch:Z,placeholder:L.localize("trae-chat-core.repo_selector.branch_selector.search_placeholder",{},"Search branches..."),debounceDelay:300,minLength:0,autoFocus:!1,enableLoadMore:U,defaultValue:F,initialHasMore:U,initialNextPageToken:V},onSelect:J,onClose:Y})]})});b.displayName="LocalBranchSelectorV2"},38850(e,t,i){i.d(t,{F:()=>o});var r=i(51649),s=i(74134),n=i(48671),a=i(41748);function o({repoUrl:e,selectedBranch:t,filterBranch:i,onBranchSelect:o,branches:l}){let c=(0,n.h1)(s.B.RepoService),d=a.vN.isInternal.use(),[u,h]=(0,r.useState)([]),[p,m]=(0,r.useState)(!1),[f,g]=(0,r.useState)(t),_=(0,r.useRef)([]),y=(0,r.useRef)(void 0),v=(0,r.useRef)([]),b=(0,r.useCallback)(async()=>{if(!e&&!l)return{items:[],hasMore:!1,nextPageToken:void 0};m(!0);try{let t=l||(await c.searchBranches(e,"")).items;_.current=t,(!d||l)&&(v.current=t);let i=t.map(e=>({type:"item",key:e.name,title:e.name}));return y.current={items:t.map(e=>({key:e.name,title:e.name})),keyword:"",hasMore:!l&&!d&&!1,nextPageToken:void 0},h(i),{items:i,hasMore:!1,nextPageToken:void 0}}finally{m(!1)}},[e,c,d,l]),S=(0,r.useCallback)(async()=>{y.current&&y.current.items.length>0?h(y.current.items.map(e=>({type:"item",key:e.key,title:e.title}))):await b()},[b]),k=(0,r.useCallback)(async(t,r)=>{if(!e&&!l)return{items:[],hasMore:!1,nextPageToken:void 0};if(l||!d){0===v.current.length&&(l?v.current=l:v.current=(await c.searchBranches(e,"")).items);let r=v.current;if(t){let e=t.toLowerCase();r=v.current.filter(t=>t.name.toLowerCase().includes(e))}i&&(r=r.filter(e=>e.name!==i)),_.current=r;let s=r.map(e=>({type:"item",key:e.name,title:e.name}));return y.current={items:r.map(e=>({key:e.name,title:e.name})),keyword:t,hasMore:!1,nextPageToken:void 0},h(s),{items:s,hasMore:!1,nextPageToken:void 0}}let s=await c.searchBranches(e,t,r),n=i?s.items.filter(e=>e.name!==i):s.items,a=n.map(e=>({type:"item",key:e.name,title:e.name})),o=n.map(e=>({key:e.name,title:e.name}));return r?(_.current=[..._.current,...n],y.current&&(y.current={items:[...y.current.items,...o],keyword:y.current.keyword,hasMore:!!s.nextPageToken,nextPageToken:s.nextPageToken}),h(e=>[...e,...a])):(_.current=n,y.current={items:o,keyword:t,hasMore:!!s.nextPageToken,nextPageToken:s.nextPageToken},h(a)),{items:a,hasMore:!!s.nextPageToken,nextPageToken:s.nextPageToken}},[e,c,d,i,l]),x=(0,r.useCallback)(e=>{g(e);let t=_.current.find(t=>t.name===e);t&&o?.(t)},[o]);(0,r.useEffect)(()=>{g(t)},[t]),(0,r.useEffect)(()=>{_.current=[],y.current=void 0,v.current=[],h([])},[e]);let C=(0,r.useMemo)(()=>f||"",[f]),w=y.current?.keyword||"",E=y.current?.hasMore??!1,T=y.current?.nextPageToken;return{menuData:(0,r.useMemo)(()=>i?u.filter(e=>e.key!==i):u,[u,i]),isLoading:p,currentBranch:f,displayText:C,cacheKeyword:w,cacheHasMore:E,cacheNextPageToken:T,handleOpen:S,handleSearch:k,handleSelect:x}}},15638(e,t,i){i.d(t,{y:()=>M});var r=i(97282),s=i(51649),n=i(19755),a=i(95896),o=i(64512),l=i(22644),c=i(69619),d=i(17723),u=i(20848),h=i(25188);let p=e=>(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:34,height:24,fill:"none",viewBox:"0 0 34 24",...e,children:[(0,r.jsxs)("g",{fill:"currentColor",clipPath:"url(#icon-logo_svg__a)",children:[(0,r.jsx)("path",{d:"M.002 0H0v19.549h4.454V4.454h24.864v15.092H4.454V24h29.318V0z"}),(0,r.jsx)("path",{d:"m13.43 8.776-3.149 3.15 3.15 3.149 3.149-3.15zM23.204 8.775l-3.15 3.149 3.15 3.149 3.15-3.15z"})]}),(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"icon-logo_svg__a",children:(0,r.jsx)("path",{fill:"#fff",d:"M0 0h33.772v24H0z"})})})]}),m=e=>(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{stroke:"#26292C",strokeWidth:1.8,d:"M10.799 7.95H6.554a4.05 4.05 0 1 0 0 8.1h4.245M13.199 7.95h4.245a4.05 4.05 0 1 1 0 8.1H13.2M7.951 12h8.1"})}),f=e=>(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:27,height:27,fill:"none",viewBox:"0 0 27 27",...e,children:(0,r.jsx)("path",{fill:"currentColor",stroke:"currentColor",strokeWidth:1.389,d:"M13.5 2.898c5.828 0 10.547 4.72 10.547 10.547a10.564 10.564 0 0 1-7.03 9.95c0-.214.003-.532.006-.932.003-.538.008-1.219.008-1.973 0-.601-.101-1.123-.275-1.56.969-.203 1.952-.562 2.768-1.246 1.167-.98 1.88-2.518 1.88-4.83 0-1.26-.4-2.32-1.071-3.18.161-.615.299-1.726-.245-3.086l-.122-.305-.312-.102-.18.55.179-.55h-.001l-.01-.004-.013-.004-.03-.008-.08-.017a2 2 0 0 0-.23-.026c-.185-.01-.43.003-.738.067-.564.118-1.334.41-2.333 1.054a11.2 11.2 0 0 0-2.69-.323c-.908 0-1.82.107-2.691.323-.999-.637-1.766-.928-2.329-1.048a3 3 0 0 0-.734-.072 1.8 1.8 0 0 0-.337.048l-.013.003-.01.003v.001c0 .005.017.06.208.672l-.21-.672-.319.1-.123.31c-.544 1.36-.408 2.472-.247 3.088-.67.862-1.07 1.931-1.07 3.178 0 2.304.709 3.842 1.87 4.823.814.686 1.797 1.048 2.766 1.252a3.5 3.5 0 0 0-.145.466c-.241.075-.531.13-.823.103-.392-.036-.846-.22-1.235-.872l-.008-.014-.12-.18a3.8 3.8 0 0 0-.636-.694c-.369-.31-.908-.62-1.581-.61-.253.005-.592.037-.855.23a.85.85 0 0 0-.267 1.064c.101.223.275.39.393.49.13.11.276.205.411.279.02.012.083.058.18.168.092.103.19.235.284.378.097.147.181.292.246.414l.132.271a2.68 2.68 0 0 0 1.226 1.451c.608.341 1.424.512 2.511.42l.004.503.005.6a10.54 10.54 0 0 1-7.058-9.951l.014-.543C3.25 7.327 7.855 2.898 13.501 2.898Z"})}),g=e=>(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{stroke:"#5B6066",strokeLinecap:"square",strokeWidth:1.2,d:"m7.334 7.333 9.333 9.334m0-9.334-9.333 9.334"})}),_=(0,s.memo)(({visible:e,onClose:t,onConnect:i})=>{let n=(0,h.s9)(),a=(0,s.useCallback)(async()=>{await i(),t()},[i,t]);return(0,r.jsx)(d.A,{visible:e,onClose:t,className:"github-auth-modal",children:(0,r.jsxs)("div",{className:"github-auth-modal-content",children:[(0,r.jsx)("button",{type:"button",className:"github-auth-modal-close",onClick:t,children:(0,r.jsx)(g,{width:24,height:24})}),(0,r.jsx)("div",{className:"github-auth-modal-icon",children:(0,r.jsxs)("div",{className:"github-auth-modal-icon-wrapper",children:[(0,r.jsx)("div",{className:"github-auth-modal-icon-item github-auth-modal-icon-trae",children:(0,r.jsx)(p,{width:"23"})}),(0,r.jsx)("div",{className:"github-auth-modal-icon-line"}),(0,r.jsx)("div",{className:"github-auth-modal-icon-item github-auth-modal-icon-link",children:(0,r.jsx)(m,{})}),(0,r.jsx)("div",{className:"github-auth-modal-icon-line"}),(0,r.jsx)("div",{className:"github-auth-modal-icon-item github-auth-modal-icon-github",children:(0,r.jsx)(f,{})})]})}),(0,r.jsxs)("div",{className:"github-auth-modal-text",children:[(0,r.jsx)("h3",{className:"github-auth-modal-title",children:n.localize("trae-chat-core.repo_selector.github_auth_modal.title",{},"Connect GitHub")}),(0,r.jsx)("p",{className:"github-auth-modal-desc",children:n.localize("trae-chat-core.repo_selector.github_auth_modal.description",{},"Disable access anytime to revoke permissions. Data from GitHub may be used to provide you relevant and useful information.")})]}),(0,r.jsx)(u.A,{type:"primary",size:"large",className:"github-auth-modal-btn",onClick:a,children:n.localize("trae-chat-core.repo_selector.github_auth_modal.authorize_button",{},"Authorize GitHub")})]})})});_.displayName="GithubAuthModal";var y=i(89309),v=i(36325),b=i(76933),S=i(55673);let k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKoAAACqCAYAAAFKceQUAAAAAXNSR0IArs4c6QAAPGpJREFUeAHtXQeAVcW5nrm7y7J0sAMqdo0dLLFj7BpbEmOJvrT3bFEBBYmVVQRsFCUviSYxRazEEvFJ1KhoNMYCKsYklsQSC2oUpbPlzvu+/8x/dm6/u3svsObM7j0z888/f/nmP3P6OcYkySNgy0Fi2KmubtA6pqkW3OkWs8m9V9q3SvUrKfigsc7VgKs2ZQxz+aE883KDpXWFFKCxcBo+xrk0urJ3KxZp5FJH+ZuXSrVg54IW73metxQcj11jM/iOvThqo/V3XJ7ZppoKWkzL+Fu2wvRVZs3f+ch0k3YhuAylypNDHDbSQZwxKbRwsJ6ekt+ioy9yLsS9xZr6mY22SQVnWKxC2dhmkbJm5uqR8tU5s/K4Ua5BuWKLQ6Fzp+W3Ujtl58ddAsxhIjG/pTHqm2ExOxQXmh/PmeOt1aj5VqPrQzkieNgI90dWiqU9znVu79GFQ4yQtCIe02nzBuWIYJc2VxcTyjZ2lGE9ztXk45V2NLQa8znbRfC86XaWMu80wu2q5TAXiyB8r41MS0hn+cCxrq9afOfldgvScjDGADyLgXyGjWFqaTUHsTN/+4ym7RHeB53vpndLmc8UY+0TRwUJYWQog+YcVLZz5BnfGgVh+YFJbdGUYXHxiIgiBgP0C50zmIulsD8UqsYkeYJAFRHIWCkK6TnyIjcfk8L2WAE+/O0Vdv1CfEovKhTrfN4tMteu2y9rW6tUmOYZa5kSme+LdV8nGa5JMv35nPUTxkWbq7CPlvNayh2Rhj7RjkgqZVoevcrWaQds0xZgm7aezA1ps+WtV9jXtU3zvJbW9jJNtIwWhQLZ6XcT7PqxBzXmNRUU5rVhRWcvCiNimO0xL+emFmc+rbNmAIUThnBbRu7YUhVIItGipZ+tMP1Yz06LnzLrxRiDlzPYyY1tGAumw85yW5ta8zd2Js+8aTbvZiVbOOvfuMQtx5zbndZiH+PhGePswZGlXiCZCgnc/GxXz/bs9NvxtkEwhrmw9SC2x+6zgo3kWcyz0+6jXHr9erNiP+z0ZbexvmKpWYcNFM6UIdRYc2hEzlyC1yqGmS1RLV1v1ufgElumDKEY8a9G5Mzl+++aHuzAjvAnJ7aB58saZuQQoeH2ilGw7XGuGxs1vTvTLldL9zzPpPce7c6RNuwnHPJD56iMv+ZWsxHpsdahI90SVHqqoDBXpbuNatvHkjUKHXRri3r6/olR1MTuY9R7tTSb7UJh2eVnp2L/Cjioq1wzWMdvjArM7pPUEwQSBCqGQDwJdFTiIWPdZJsy53LF52EmfxTKjV1G3Zm5d463u3RUD/tRbvsTpr/9h5iWbIPUOBqez2Btb2o2A++eaD9or+J2G7vXaLcSxnRTxRTAshhnzKyHrrJHqRFHXujGYofnSjUeZdlI0EmcKmm9/XKbsRui/Qrl1FF2wnZ2PhRuHytHbxo6J+tcSD6Bx1zoWhAuNRlOGrMUBvfKx5+PVtLYbc9063fvZmTIuLGSoYckDYEnr2WpvHQMTuiQWUciNhxE7IgcCMMfKSYp/zAMd7XDdjLN2R25eSaq3C3gGS/8r8zmKVbHgfbT2CrvIf29HJZlpKz5w0njnDiC4/utZ1xhX82WlYNKuLeZzQzr6MAcBOhL2E0Yk9NeJuGoC9z5kLEXDD8E6NbnIA05HC/sXGbYl1HJZyj2At286xBtVU5fu8R9jDBbW0KDxuLH8ozGNoNjY7c/w23ard78I7Sp/Ya61F6jTauugBjf0U9cbSeHMouVv36xuxkr8Mk+LMRYGDwLCMsMEyMGQ3NiBGvDXsWEZ7ftPsq0yk4dApHxnW4112TzFKsv+9z8IN5BjHYOIdDsqX1iY+dOMznHE2j8kzKWk8PA+7jCUCF/cNZiP1pO0JXTv66P+Uj6Uob/4dBuovaNw4CEoSPcCkRIjtHYDe7/4jT7mXYqlu+CAwFdYRhtEoPIn7yWK33+s+Y8cNh4c7NSeeP+GKC7r2jbcGQYSyOwkt2L7OhiBuVr27Rf2+lknDptgcIabrGoQJWrMUoTOiocXqGhIGVU4NaH903MPLtBnrwJRzfvonFQ3sYCRD3q0Wag3AyDaokwFamxYiTrniYjgLLwWbPk95Nsb1RzUkFjQ87tRrj1ulkzH/PsOhCYtw+O1A94dpp9NOwXlncd4Y6vqTU3wMC+sbF0wpqFqbT5xqPXFu4byknKCQIJAgkCCQL/YQjk3ep0BIPDf+hOxxbox7U1snWURcqZ6bhKEZ2l7IjQoE8nDXX2kB+atG4ieWaT+045Oymgf/S2aZjzK7si0N2uYocN/cr57iYY+F0ayR0O3dkQo0May/jhn3wf4gi15HWgfB6wf7vT/ue7Bei4Xj7jxHBvmLSjHBhKh5pwXSlnf7iUEQSjXQnXoK/BXvp63NPnpYI4R0H2+kHXPLudvEjdTrjULYiK5S/bZyjOW0H5aCqkMUyhUTgvNeT/JlqLE+W2eZHpLu045iCr/qSfNesdO9qty/ZyU/6TFgV6f3mwaRaFaiT4OLxNOEh7/Fr7dNht9nTLExqWF+42XNc0EREeJzEMiHS3Hoaolg1U2YwQyjVCDogUHclbzJHZRgqvX8y90TYvaTb94j4osExZIV+pctmGDjvbbaYxp8ONo9L0nCn2/lJK/nCV/RxoLsroD2u/eYm7p1RfbS859HLvizV7032eGcMVTbkSRKWonq+CSuUIj83ra6LDZZ6kY3/Mt8fw6ifC58MPjBk8p9Hm3Imicqk/b9p5hPs+4unnYSPhj6cclP80xeDQyTL0SiesiEdvGZxARg+RhVymL1gC+Q/PaLQH5xOWd+hx7P9RtpHszNgKf2Ubyc4z5W6laEqDEJGjOeVG5YNwK1Pes4o5huJ4fz48XYeysxOFM1EoYIxvFYuopZeI7X9Jfy+D8vjTmGcO3d1OvswtIV+YMgzd9vtuABq3Dxkyys58gvNPM/Db55kp7d+6YH7daFmzGQSDfo0V8U01kjroPBPXAaSe3xrnJknJLzJiNN8pSvJBxsW4Wjoh7FipMk6374Q9rhckTiGUuZYRr7F9cWGr77nevfqYRdkGtKwwg1/6qX0vm17J+mG4IaBXf7OCxoSGAqDrbm20I6krHvpevc0neZR/2m4jsXZnX0nPIzeDxK0YTkHiknhmzGIof6CMsaGYFOuUqDnOL62l5XJy3Es4l3flrbWxWcmbaMrpozx3T7DTZJ72vfyKFc/zbYZqj47muKgBHUOph+sDcxj7QHvEydqPjpJTDoX4VDFDB68TjYgOH3L+7aOKysphGG0T+3xZ+1XM0HcxryoS3ljuwMR3z6rCYrkiyP4yKmJx1KOoobyIVkxwRhu2PKzHiLKMk7wZPEUqw7/junPnIcvZuEdsKIy/M6b6gl7py6YXqqsSyYkKfnuf694vxB/Se21gloT9CCbqnypPbCgm9OOVGOY8/R3Wi5WxxTqQCpiYy8+aDfY5z10qxAKLwy5ws4i+jgbZ2Ld1udlGu8QTPgkwajngl0MIZdDcNZkt5v3YlrwCsgtmQ524NfdoNC9fbNbBjrTcjUy5B+DMdm2DWaBbIm6H5Dot2tCn9Z4JxS9CKChqY8kcClqenxrdG7jTSNcPdzAupJFUyhQrh3Y1PqM9i07D75vQtvmkDO8si1HC9agcmrYVyjFktdhPWMh2XgLCFeYLZM2Fy/Ra51WNQR1iqbOdfPjFedocQVlhymOUddlXPMIORcrxbYdzr7NXYi/oNBpJS9WwOCeZ9EAYy/zhiuAe90+yORsKPzhBj6DIHWgMQN5904AtLuY66FK7jTJLIaM7EeFgajxqLqeB0Ib6ooeutDnPZKjwooYqEwy+EYynFFrRyJdrpPZm7lK7jzTP4RhpRxhbozELmc2oz8HdF3kPP0IJSTlBIEEgQSBBIEEgQSBBIEEgQSBBIEFgjUCgrKOo6lvq7KFjzVgc8l2BIzW5T5061TgeJsrP07SsPFJ35oHFn5kTcZo45zw6+VZlUrtXpU7RNfx892U80Pg0DSAoTDyuZgppUlYaD8RxRiCbz3dro5PgzHV4wYJcFEBtlSa1Z9Uo5fMrm5i/A5TNqVAAw0KMAFgScb4uNPDkAzAjUrV/lrx4oPCwJG7uH3LbRPshda6KpLZXWZez+43GPbXWbEeFBEqc9kBSOekKluYx3bexLn2DujpQtD/1ObP0tQWmP28toJxqJrWpajq+PNINqas1b6rTVBRGH+valpGzASkGGGdosfbLVamc/uiY0dfXpT9lBHJwjvHXuOHpO2yrVqK+qqU9R7pv4FHamVRARbwFjXNiDBTpHgB1HO33/eFqW/Z9+Xh67JsA+Q7pnyU/lqn6SWBy5m8A9ktRpfJLVVNxybh3f6+6lHlSQaMCLWtOGqMOOLfgVoYt5kyzb5HWoYT5+pitzPsQty7lMzGLdelggih0Z56+7XIbP88iHSq08OorJM2L4XP7a9VFl+lJCp1TJ8VxOIrGeU9cY4f5rp3OjrzAfbWmxswSPZH8SD9VKaA+x+Wz4XiDz+OdVpolgP5WJA3BVc8BfcxwRN7leEptVxXMXJxBQcq+TqWov/vHa+2GLFcyHX2x+y5k30SZoU4pY6E0r/M91Kd/njI/mW3MEtNY5o1URQym/A4l3EnYA++T+gMA2yNbgBjtJUuZDCjIBsavhljnHTbDGz83xcr9SNkyOlPnZe2+g8xyUQu9agMHV2hYyEAzF0pUD+xbDDP3xc0vL/rmdmUqs7xOmLeGDjKPoVPJOyFUsBjqpbNMuneu5U+T297FUp4B5XK51FEXmrehbHCGfq9bbKMtfoClrm2ks+xVIV8CtkG3NJZ/pBbfOONlFMhcaugI8wnAiC+RFmCMyTBEEq/dMhFIliVCItorUUs1ljbd4twZuGNjFq8xMxGkNBYxkN4uXsZlmwy0p5E/RtUYPsr9Od400wxZWyN6/yntRRaUVzQNPceNwxzZWJSpjEaNGChc3Nxktn/hf+3bZXTrFAvva8NLheYBoG2gn3+CFZ1WEGWQfV3o2sZcf+zHSpTenjHObAJKOATaJnkbawY5quAug49RWjtPU2GSw73FaXMmXiZ3S2GmNaPlqAvdDnj9062w5ksAzQYDH61RaFCAmAf72Ss/c2bArEa7LJ8n2ienDYB+BmLBmwQyOuAVDdjqbF3OjTUZ/dagCjdua21oXgewgxUU5hrJNFXLzLGhbXoX+OCe7pxnZ/LOqbhhYgq6lQdo2nxn7vX211TalZN/sGjDQ0a5Ab17m4+BG4/P5NYZBZdHKRK6nIdxh/RgZ94BZV3yhYn8OanQTcjZjLgnZ9sXptu/ZtMrV3d2z3PN6TDyOqx6OFOIZM37eDvaV5+YYl+onJ5MSQePdj17dzeLAZwEJRfyE/VRmT1oD25p/P7tjVb2iUljEjujYrQEoMegdE9Iy1fGVvMJvIxiv3xtlaDhFuGRkIM3arUZGc55sDztVpj1/zjdct6veDrmIrcb7pd6hgAJSFiI/ihKhSZt1vztlsbM8wgS4hkWOXNbRr1ABVF6YYGmTpMH4zW1sH0qfrLGaa67Z6wjpWw383JUrPxySYt5Ve+aE/1YiH4gqfYwBy3nRrgcUHF7Zs7LPPKZjNVxy3z0StBqF8pUFt0K6J1RB+mYOMXcljnvd8Co3inD+9TFhlCnlL0N3AdGnWwZKQdUsPxXBkeBCvZdbyzQ1GnyW7/Cs3bOfE5rY4dQFicz8+640TnvGwk7awTeRXMhB5LAKWqiH4s4Z9mZl7J15YCKeXI+eCmrVKrFXkKVjopsGrdqf1OjU/LIgQhkGujriNbf7X62G1zK2Pa0Hz7WHQ3+c6EiWluQUx+T6vVgp/Hap5wglDk4Ym9bhi/GaqMWLi1ZZPq8epNdXJijYy0YtDexsRjC3rJRYI4Cf0xCY50VZ258crI9jcUOJ5zbOGIL8yfI2011SNRRB0BV3dTHHwZ7xl1X2FOy9bEtb4JDX4WQWXkbCxHxyMnc68xTkQmFmNpB50vFdpRdm+5iKBbMuRWWOsqS+7qnzcbd5sc/1Y5Bxlu7B2Lw/gh/N6UMAc+bKfWApm2gvwhAd/ZsGZm3I4MWV3Y4x22Hs/cd2sJiYJswug/A64ewM/cOVlPs0uUmlzL90dIw73rzS2vzHU/jZM5I809EzMZ0iEl2bZCr8cxjZ1GROhmZrHkdUu9F/hwmtSW4vDMAJ1r2Bf+x4JMtd05fLyPq7uUFNOj/7T1X2ONEfp4F9ZdMiNp23UNfUmAJhk33NLUzvxk9KqSseBn9QThOf4hbCQWBbVqmIywzaVnyiCRtMhjF+nNdD9q1v8pF/ybM9VvMusq+48XmzbwZedsyiIOPcw3rDTK8dp73/U8ZzBWoFHpuAA/2XIs9j/PUcI1aqiQmCjKRjedBb4+0kU4+T9P+SlMeNgsNC8hpxQbq27OvLO8kkcr2KsrLELk8QDgeBnSofzlaCoGqfXcY4bbCk51/xv5yP3GeDQSAmeaeOYOmbSQiSZvPM/qzIW3ewhnqHZ66un0bYS+a4juWuEGDMb9A77UhjMHS6YQjpa2fvzr3rZOFBPMlETU9zS1YdY9AFPcQoLgIV2XUhQ6ygk55yssciWfmbnrkanue1Dq48LI62LtIt82vdpthg4DHLdMnY8syMJ2Gu0wB7FitarsvNFumWk1rbYsZ9/xkW9YhchG1GU3bNrpePVLN2+Bp5R2x+h6IVb0nGD7FRvM26P5gadr87ZXgkzAZnZNKgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCgCBQtcspHcX38DFup1SdGYPrS4fhol5/NTDrqicf2n0OD0ZMv2e8vb2juqrVT22ulvyy5B76QzcEjHcDxJ1pkBqlF+i0TmCl7HOWyYNnDHiD7ul4eo/376/2JDauLiu+cp7buLbWzANYfM91dDuPt0gNC4ENy+TPqKMD6i14Xu+UO1Zz9KrttHEVJpc6cKz5A8DcXw1griDRkHh1J1jespBHeaXN80g7eHFleknzMrPZPdfaj3zXVZqJTatS4/Dz3Np4IPfjEDTqpyExjfUAKGnXurc45JX2PP0xLZyNqP0R21dlCq7CV18tPl6+TwqAIpKi+zyR895TTfF9qJ4ufL6RZflhQT69TzSjv/L4/rjTYPrxl7qctyp7kVXLVhmoeAX5V6DsCXrigy0CFJUQTG1UAMmrZUWBUSxEErQ/SWT0Sftg43ccPhKT81Zb5atGvkpA3f0ctwVW10fUUX8XsvgTA6HggElpwu+9JpACPuoSpciFj0w+qXztTzLL6HvYiY3ueuWrds4xr2riewA2Wtssl+iCJirMmA9BII3t8V16JERgtLWBxMSmuD/7CNX39+2hLraLbOR4oubIO64o/akZL7LDWZUj1dnBa5lXNILUSo040pmkzgoQyOaN29P+pmHlYb/w54XF/X1dZKLMKt5mfufwRpf3KUfqqVSqqoI9R5mDYOimNFac8laLv7KICBptflUlyEuxip/x8NW4ky/PJ3cOxydKcPPbz9B7F0rQyCykg/IpGxHUMNDK5313Y79qJfWn8vJxv/6eQ/ENrFS0hlKRKiMI8Soc0MHQgq/m7fHw1fb5cgwaDh199zbzIE4+kBPqgF7RF+ukHlQArmtuNZvgwyFvl6OjIzxVi9Tdh5oT4JVlhMQJTnnH5ItVdFibMZ8+h/tC2xVBc+bgq1RzzA54GQ0/NPUz7EJRZJQgWGS3UYQO/RZfu3oQla09Z8WzKs2p+L40HsGhUzGo3jmtY8dc2ljHqv7UI9e0D9AQiVmT7C/wMNtXRR914pexh6DMaBB91mx2xA9dfyVXOq8KqMNOxbG8NQ0CIMAUZ71D4oDSUEHkfIJ3++/dWcf4hQV8oeEaytHgjPV73bSDjfiv7dXNXMRqNVJVQE31NCPEIVgsjnjLWZafJyKa0i3Bp1A66+A/XjcXA9jFBfeDqR+6+QOwJ3dWX6H+lQcVT83B4tNVoTrhcRSH2MY6ovTZSj5a/spM2wS5R2ukqh7qEv1YSA4GDGg/PitAnkqnymyoAOSw/qY/3lN1IZ6c+29Y3luMh7V0UB3iRorJ13HrvTkpolRu+fFy8+d1e+DFPjZ6ukD0e2Ni/aijXL/FBmbFFuPc/XiT2pVLPjPz/Nc7O22Md7NjcjjS6R7mFIT7DZAgA6S7SpRI4XREci2zQqfwXlM8S9quD2ihZ1npqIvcLMj/qujFIl9OQUoXodjVwm7YjH8vMWc8dK1dWpaiAkwdXP2dxfcyv256yLdY+bhPHPGy1fWREeokSX5YSG5N1c514nD0dolKouaTTEMoM6eN2Qn85D5l7V5myUmN7sd8/VI2T7n1doPKJ/+GjTDvICJ/W0iJ2izgYaEOEU1tQ+Gfhfp3lg50XhPdEBTm2XLjNhS07HnOGLCWWXRCo+vQWyvbBSoeRNsBj1Iuw5iWfL6eQDKFxgoJCx8tOd8SjXp0fplOmeWi3+sSvYEtrMsaRZo2Uq3nF6PxAWSsfk+dPM5hN43Tf/mpbFB3OscdjVUk5y0MhVTRVhpMa7TMXFJkYtXe1oMXRX1M3dTHaUDLIYBqE+3RMvNoom3rg6O00d8ahweNG/G8d5mpLMadR7rDsFW/t0yZMZsYq7XAOURJeslyM1WbKp0veN3gLSxRtIZAUo8ALOhFWuOi2geC9lH7AeyBJ/MR+zJTSVD5lgowdfjMuRoo4eCdwiHs/738E7uwTBvbzcb9Vbzt8GBGXQwadfufRKOXKiCT7hklC/oJHUSQDvhWmSe6i4OK/c/2fiXT25qRxYbjXVJouOvPU+1RGQxVqPz+KvukazVfg+6VAqYHjarEHtSVpPYp2KyHiVXSMJWcddKlbv+wLV8ZA1A4YcP0PAQNK8yRvwUGcGZfDjveQP4qjP0cJ1Cew1vxZuCV8Mvy96oW1aWOvMAcBVsOwFXcAVhLNoKmHWFTAyKqlnMuQZAfyyz4OnPd79Z2jMSSla+YfjP992DJk528iGyyMdgwbYF59LXclsIUGJ6G0gebjPnuX65bdR8rKGxR4Raei+2/l7kEIPLzIrJPqgCzl4KpuYDKBhbS5t4Zl9ljWc2XCoLarrdSUjK+lo4XFm8Wfq41n8I1jUZw19oLr/vEVdcMAIFMDCSMljJpLDjTvNKYATMbbd7dwrxz6o4/cHw7Wt9yAUCEPo6Po67d1QClfzzRfdcE+01M9ifiDJeT+RUOSY525pIIJpKv13VzvNSTP+UFFfc3/S4/ey4VSubi68rDc1u6FoV3D2JX73gNT2IpAAJMLSu+5EHEHoAWD3Wmr3lBRadyLzW04I1rcvEtU2zXrOHr0TMRrTfH0Ulg1RWCi0oAcM8TG80h2hzmOaDibTq7hwzFytgX3LlYe6Xatj3OdeMHGap1/jO0c8kKcwbqrQpsCCT5lM4yruhewjw75YCKKB2dzZS3jndPz7/e/iVvW4WIe+Ctu3uPdnP7b2RWblBvVvTsY1buO8bdQJArpCJHDE/7IVoFA41SAVYr6CHRGuXb5AgAIRdUI9fq8/Fm0ziiVUu7jnLbYt76BA4NpRLvEze+p641xCzkVrtaypcuM78R4LDwemMgOZ8KDQvMwT0Nr3RkpXyglrXVxzv9qnZbOCMRb0v7Cx1g0s0BnZHVz5kebhe8Zq5K6cF35TWjfJ1SRlL9YgNtw2uEhg8v46W0GVKKVjr/jZFC4hsGmkPZJk4wR0Ec8TS2IW2fL0qipk4uebSE10Orfj1NSKmkMTEHrra21QxhPUz5IjVsXy1lXNY4io7QcgWThniS5jX7Dqre24ah/++ik0p90sENc7w/tbu2a75GgooQsAIorUQ4iBMoKsDIHZx2eDplY3Wk4jneohnr87pjfAObajAFZOteI0EFYJ9IVMqizeSYBqixxeL10k3bWitccmbzGESKDoBUsIWcMouzNXcCVN18ZIvsfB0z2qMihY6gkOEcGzwd2eHCV/GFnOWXu2YIoOhXI3zOjGtLC76pla0+H6jyHadsxuz6zmfzMK06CfuJ79Ho8AcH4iSRgjqGdf+YWMECnpzhfQsbUKSopS5WMIo6oL7asrheXn/KapxyQXXmybi1SAGXGHh/aHVSk/kHvZAoEW8iNSxqVcpp07D3CMfzoxVNeFez7H1wIFWn2hLqR/uyuaflfjI0B1ScLb+yHAsxpw3Z+Wwnrx8uh789PHMXGpxZa7tzmn3FOTrpf4wYDKzF3dH3t0d2KV5e74fcn2fziX7aofrJYPEhsTwpB9R5P7LRfJaHOZsE5a9k0ypSx34ituy/ElnqBL3ySYqejilg+71GuX20rbN5TS8zAjJ6BerivQ6VrW0AeLLSwjwHVGl0ZkHIVKiMaF0HJ2B+XKi9M3TcDTiOUaFzKR0Jf/GqSWLKPIKTLWUdCRaz6ZAxbigG6SrRgwXzDP2k+R/oK978MP8nUfKCiingW8WUZ7RZc8bQka4xg1aBykufmAU4cbwUAxc5Qpn0EonbCyY66Ct1Db3MhzuNdP2koQOLQ8a6HWtqzVztStGUT12iVhaogECbQHwJJ+WbUcpJeUHlFAAZuNRUXoKOcQD24a2+5yr3EnBMAXDq2/SFO2+RH5GjAFvxjYClmSlT3ytlFux5nts36kFi6cTTiQePdWfgKO5F0YWFDJbvSpokGEA6f9g7acVVzeO1KTunrXkTrqQeghH5fd7GAkTqw9850VVTswhQxDYV6FKczFs0B5pPYUcfiQ5w0+DwWpJEDulooDbJrXm+tcmc/CFe1P3GdMuNXk4CmD0G9MX3XVNyM9v60g9clB/q0jpzJrZB/zN3j7dfjii5S+XNbQEFwL4HIQPzNpYgwr83wHI3RvZZOFvs1sTNcPn6nhd+ZN/PJ5L3b8GGl0LnxGgslMaw9c6KCKFHwpqxKj6ASH8QT728g2jmabqtAApvs+QHFEQGWdknHCyRwXYW2gaL5ZXLV5q1it1uyS4FE+/wW3cQvuLAlWtVJGuumzvVjsxWBWB5a+TxdFoNjnNPY11A8nXKiGleoPQnEUnWIc+r4MZ5xJK/vzGj7p1gp3mWvFlRsN6daZfjBN+BeXtWg+jMiGGj3IPZoue9jw0n9khkPkPUMI88buMkSX5Y6BZbW0lnYs62uD+JHmS2ka46QvlsY8Jc/mgpQMlXFFQy4KOIj2H1bGR5lSRnDt47+3EcbLQ+T5shcE5OXggANIYgRFle07RNwMriYxuTAimCIlK0pGz+yBP9Xp01wZZ1aF4SVGqYd729DAp+xPKqSJizfpOt543ppmlFkxkIBz9nmzyHxTzT8bguEenbyS+JvPl+aAQ54xf2R9s/7p9ot46ElF6WBSrF4FL02diVOAeaW0uL7RwH1sj9ciVY98qPcUfIMrMONjxvKwicB4mG1Lnw8yT7E0DJfdlXhUcHI6c/eP2MoAP0+AMT7eYiqMxF2aBS3gvX2+mAdDsYlHP9pkx95bK9WoiRO9xzp5pNYcNvEE3pGBzfgXWNMpLyAUkebWNR94OFxv6kcT89bS6cPckOJ709SQelPX2EF1vkX6JwIka6ww8cFFIKmbs/P9U+W6hd6fxeFp4zfRhOyH4m6XQo3DUSGoikxz+GElBjlMY0FphwjhQ35r28bKk5sKPPeKmoSGA7lzwawbNTt8GyQyGI3yXpdIKjiwFon/YI2gV3egOnX2Kzuw5yWfsELCzUQQIYgp3dDjCbcVT1j9Zmc8JjU+xL7dGfzas6s+ntruM04DfwVbKLsf+3CTr3hDfc0W5XguOfAtC12tUpYN4BH1BsqDWXQs7RAIknWLoBKOIZRSQKUmEfRCTKy0H6FLUblq8w1z8z3eIosPOJ+iqe1sHXdfo3NH/JmZqhAHq4Sad6Ym3L2YGrW2IG1q0069Uux+ND9Wbc3KusbNkrY5CzuzaaTXC5YzBW5xPxfcuBpgaPsrv0a6lU6ncty5a9PXdizw8qoyuRkiCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgkCCQIJAgUBkEqnKjf2VMWzOl8MUqrXVm3fp6syks7I/HMvrhKYxT8NTIlngYZgCeh+mBJ/ccnnNfjPKHeDDrETys9WCqFY9iOfMBHtd4a/YbeGKD77tLUtkIJIGaByq8q7WhX3czFAF2BILwCIC0FfJ6BQvl+IE27U4S6XyCUJ/R4lM4SkeQxilo5wOGnyLIn0NhFlgev2u8rc4LfmLtXbNAHP/Dk0sdcK7ZvLabORVRdRJmwQ0UkBAcBiHr+YJP26SfMqGSQfd1CsimUzC7Mfmcj9m+AFtuamoxd9wzyX4Stf7nLhWf/ygE+Bqa/n3NaakaMwqBsyEDR5OWlRTnLPgojWlxpzjAJAiVL19QSl8vIEMOKz6IKTZuQwHkJmRPYOa98vbL7SOq9j8pVzy+8D7zxdbrbWLOxCx1CaJgAB1nUHJTnT3DSbBmB41HCsEiSQOaFWnSdl8nWyjHN5NdkuqM9ZNBOnl5qGofybHwLC2wYS4+YTx25nj7eCTti78UDL64brrU/qPMNrbO3AhH99SRp9Ox4yhoWXPioUEWl8M+2l6ERlk+7iJZqGtiWywfFdUb00q0Cx94IH8JFjcsWmguxzdeK/IYvdq4puWK0ZpmV+fswdvr9h1iDsDs+WscuKyvwsRZ73HoOMs6+OTVtpgWzHQaTMXaRAD6kEdlxXI9IZsey8unn52R2Ef5wv5Q1QRf/9DSYk6dOcG+J8xfsEXo7xfANZfaZ6TZCS/ovBujujEd0sGNN7HqJRpC57WcLxCExmBFymhXGT4o43byeoHM+FNSRn928El15GvXNgryYvOuBPBxJU6LPYAXL31nduMXa4ZVvxWvLpvjAKkvPvlzMwb1SI0KDnDsYBhM6qVvVB7JufC8So/ZPUHpGkDMc1YEdCqoP5CjAUwdQuYi1O95lRbzkT/gVTmefRHsmYgDr6vI/0VICkPX9QWfS9pnmDkGA3UrXo1UFw6oOhUPqCdIHWXNs/uQLjHAgAn5gv4KnOZsUnkhLR9d25VfeHz/MODDMnk0qX00TmT5KM2QizfJgX9+00rz9buutP/Uvl01V9+6pP08MY9vv0zGFaEz1BEZfA4cE4gxnVVU8g0+ecKgYVemmJ4dCGjDCfpP0f4yjsBfRET8Hfmb6PAprkDJe77Ttaah1pn1wbcZ6NuifWdslrfAStFDAo3CvZ1Sp8KslKPf91F+b5b0UvvJosmX/40zBKffebm9S+ldMQ/96lL2736264OT9L+D0cN1kOiAOhTnvsBMB1b5c2hg0DbKYpI637dp8U24VnPDw9fYF6OWji+Hf8d17zkQH2w25gdQeSgO+Ph9Ikk+i4WTno8WbwWybM6W4/suwgpzze2N9opYcBcrZGPQJczf/gzXv1eD+T0GeLfs4KMD6pQPstzgI48yZQ+0F4CZ92OwNH72mflZoa8hkLXzydnDx+DFht3MOATfaXyzo8rUQt5gBRPpebcQ7Bj4JXLwWk9Qr7+t0V6s8rtSrlh0GZs5k6bqzN0YpIyXa9OR7ODLCOJg4OisOh73IRHvSsXyKbT996PX2H+QtCoTP0/aew+8c9aa/8VvQ9ghM63YqM7AIPFVDSOTL2vOathH6cgX4YaZSXeMt2V9sUlVrAm5+rAm2FLShiHYZK4/wFwGxvNlINjDB2DoiA5SzOMlk0dpIT9mJYeZ7K8I0+Mfm7r6bwrhi5IHrm2+jS3GNNjbM7Q1n/2hX3RV+ZWXGJEodGs+xqfyvnfHFbain+ui3mom9amaOiojGyfxdxuEF9KnzGyc3JYvTocDoWV1SOsayGqE0mM+nHvEO9WnPjHZXqA8a0bu7JFjzYa4H2EGDsL2oU20We2OA88bq/Rs/6QfG3VGxocDUH3+84Xm4K50NQtj3jXSVr1ND1jaiKPnbsSciftn/HHQJCdNf8rENs+LLIMPDUsRpKeteUFKS62bdZV9Z8VyOfX2GzoR+yaOtNV9lVnsq7ovNN9XGPiWdWu26dPPjJR6F1lwXVszE2bQIT1NXb9+pjuOjjcFuEcjSC8pdIQsjnCBQdFZhY6RJPVg5Hz7CpDGPnmtvZ58a3I68jy3tq03P4fdR8f+wODYz2yfwSRQkB7ytTlJNN7Cb0yqycxd+qn5qKXetPZaYFpmrqE3dNOP1Z64T/Z5vWnABw2+7GrwtWN8IQlGbY2BiMciLqAhG/zQCeHjMJAPDWxjNe7DwbOmBTPw/U9ONl9DzXOzx5qaXOqI881WODPwEJwZrH6pteqb+plDj3wWDNhGfq1ImVUUgAm/2fYiELm/2ZkHcMvLGx/3Nc1zGvEJhNWc1M5VawaObodtaXriyyonwICzANp2hQxQAz2QcfAJPxuzB8HTZCB8G3lVji/zq4KHPjnZPsl6V0h4BKZPXR8zBn5cTCzCxKrQAn+1XXmlC9oJhHbP1yeDRnnGLMM52Nn4wtcNH6TMH+fw+0aN+GLeKk5qc9XVctZs7o5ZwZqL4f1xUNyu/WMFXKZHWMu6gkrjtT10SNuF13sI7PHJZfOCWWj2f+omK9+v801rdMZTVz33NPsAtNnwpz72KTv46AVBYJB5MJhpmc3aRhr37bPbfbeMPqSBldreRZj+pKkZH+TGs1+raldBbaL5VUguNexUMwAzJ6+InApgOqUv7oyCljWn8eFgKJ15SAfUrag/9NRkezj7dJmEffbDNjM71KbMg7B/ndg/LcCRoBj57IM1pNNf4kEao07bmIc4sZwdxMoLVnbEST3zDvgmvevMr7F7sELoVVpk6K6YDqz9O21ndk/Vml9BQbu+KVjKBgHTIyzGh2US/ODEuRcovFjgvwXbrd/+ebI5CTX27iLJ2cPGmE2xnzobPmwh/gSWExfSPBzSIlh5HuVX/LLbpN0L0DblVTWsZ8hhAxTin99CuzPdbMbdWmf+VY1dg3ZtftXggjnWenwb/WtDdzQf457QJ2F8RYNUcImAUYDkO5FCx4IzAJGMc9LYiCQ5+zqzAjeOzOhaQUoPrFvebD7B6bSH6Yv+2MLEOr+xyeQzwUGwIE3bNBfOaEGS/Ljw+GmduUYnZQid/CxLozQ3gOfbqW7m9ZONeeRbje5LaIWkyqWKCRt6jhuGE9P3wLQNK2decUnxGk8vAJqu8cSPJGn3ZY/pUvCd/8xU+2OQu2Q6eLRbt1s38zMYfyRP1YVOqM8MIMVCMQhp7CMdufC8ce4FarvkIY19PTFsI4vqhK6VUHD/ymXm+zMr9FHGbF3epPKzHU5xPWsHmF/AyOPL71V5TjpSCECAxqc4n12ZNqe8OM2+VXntq1aiv/vqG/BpCoJ1LQRGSoOEligODD5GJLHRxLK2Z9CDSlCUvsofyyBDsDJ4NZFcDXywYIZfiLMFF72fMj/r7Cmu0Ca1o+x82Dluf0zw98GRXmV3qiAjBojblzTQJFbcuTeY1Unje0maQX8J+S8/+MDc/u5Mu7yCqtcQUS51yA/NpnUpOVA9Bv4PhO+1GA8iEo0tv7NLhKwEs9AYeFFj5EZEFATjIBYsAyYWw4CVMvGmCCyUVekkC9EZnoN9Cie1Tpwx0Xb4E7QqX+SWv3B22Dk4zZQyl5ffpxOcOFJH9K0AeO/A4Mexpj6O8nxcHHj/xWkG3/vlQRHjsysdHHUCj3Z25WuI6how89bhYMyY3RBA+wO/Ycj52HgdggsTc5TiQPOEfPSYFvbRcnbumTGpvNvaak6+rYOPeKtOL76cDKecRpj/hZOnl8PdUR6/n/MU8uua3je/f2WmbeqorKRfIQRcCje+DK6rM9/GeH4Pq/kgBGodyvGmnT0lSLCQnNsu0nydVdIlwNmAJHzMWfAMnvYJxvPMGY32TvK1J6nMMvsgSEeaG8D832V2aB8bZk54+XfchnbOvB/ZR9vXOeHuLAJHne96I2h/gG3TaAQZZ1uJNS40IKlDgsZHjs8ygxXMYR8R4vuh6RP0OePmcXZme+xVPWX1GTbCjYdFFb9DHMbzktwcu8ycjLvpO7wfU5YTCVNJBLir0KMP7rdI4QZufxZHAgULDRgNPo1g0oWmQYo83p/wGgOeBa1pc9Ktl9vHShoT9C2Ld+gIdwgYeflObS2rXxlMH7S0miNemm5fKIM3YVmFCOBUWM/e9eY0BOxEDHr0NkMUNADCYNWyBiuZhE8DF3az7tvTyF9qwc1HeDTm3+W4pDqL8g4+zjWsO9DMhfBtijK2t9GZmXOvMyfA/FV+k0N7Tf3P5Xepr19otnMpczdmyM0kYHzUaPBocErugVI+5eHMq+0+X4p94p/e3GhHl4NtLKcYM2bTMRB+dTGe9rZhp3ravOvsqPb2W9P4+fK1nuua3rUNZkeA+SXsxPTHKbIUBnUp9rj/hTXwBTyu/K+np+IkeJddIZ392kVmI8TAPfjt7AMtnll1TIQeBCTpDDClZ/BF9PfwGqIjbx9femtaMlD5nNJa/XA+0uCNyhVKCNK7EaRfr5C4VS8Gl4r33EBevsaV9zAdOBoSAiplLHDS2yFw30fzZe+tNL95Y7pF0Ha15FJHX2C2rq2Vew0YtHFSP8NZM6MMTvLEAYuKLy9FXP/81kZb8mmDktf61+pj9kBgbRFb1fkCX9zQZWfSHU536+6xIW4qrjMvA+TD8IuvecuBBeseI80xw3LPfhB+Nw6sNx/tN9odCy4Z387Duaok2PRHK8yb2EJchvPYDjEhfmoeO03/6Ti8kzwwL+b1PGDrDrYvD2903QO2vMWSgQo4N0f0VxLUW+ZeZ9/Ja80aThw20m3Q0GDmAOCDORZMCn6YKz3Owaz8wLIPeG/Zb0x1z0NTd6XT01PtcjxuzZti5qs/zGPffZl6SQuDVfnjNhaMqYG8ITX9Sm+tSwYqIvTySGZllq7VPFwZSatWyuY4ZYObvs8E+PEBJQdDNmEwRQeCeThIUvc0GVASrOmO8ph9znbroNalEs7QLIHPz9Bo8d9bLz6T5n8ki78BLaPNt+OMQgpbnB7kL5ZKBipAjd8vWkxQuW3plFlQLu+axLdigUkBeF5Ll6SDwFvrCg0SZxQmP0CYPHCfhpVzxjzL0RcvGK7kLpXoqvYijUNE7HMvoE9M4n9UjPz0DYoJm6RMnAK+uJI2KZym6uebCmalAxVf7SjYuwMNNTgq7kC31d6ltqfgvZJgK+BqlNJ0cLSddaWhE7HGLTMIeGzyELDdca/CBiqjq+T1NWL/AIIgfmJlZC4/LljX3NPpm7ZLnknH3GVKvi27ZKBC6S+oqFIJ5+P2q5SsVSmn51J51uoNDTwCHqaQznLcHgwk+ZUOHuxJmD1CGV2h3FRneOAzVP1Qh9R/1tkW171Tyq904SGfNa04I1LyzraSgYqpfY7XVZEMg3Pytt93AyoibBUKwcefWnHZ7wVsv6MjXh0Q2KDg0xyWdb813i3wo8Q2+QmjqYOsY/c6yw1ktSskuQur1uwNW3elS+oLc03cp8EYS1L/tVn6sMUX0K8VJ/3ffut1vE6pRCoZqEuceRKC3ykhp/xmazbq3ts0wlr1p/y+q5OTL2ZYIaek/ibAw3oZKFa8J0JHlQPEnyYdUK0zRzCz14apenylBadZw7Y1s+xsbb0ZiFG7CK7V0Ua6GLvp8SCdwZrjvzIil2LE3wS+l9+YjrtVS6SSAOHk9CIIxjNGFU1n41bBM2CyH+KKyq6aMLwkg49X30YFOosQdA1EGQA2+iRtLHsvtZ38MpC4pQ7F7+w12pwHKSXHQuWujvyQC3FQ3c1MgS87Ub/6z6ijX4qB2EaCD1wWJfk6y8qPoo+t0vcRlxUoPMmNtekFzAKV3UylzaVz55tJuG+Kd4F3ibTj6W4QsHgMb/+LjtiBumzqiaQv+6LGp7RnA806+3GAka1E+epli8z46r6LtSMQ4/2t55mNUt3xSiFjDqTdTJJzof4LNaJ7coSL59V+no39+eTqzDvH228rrVie3b8g787nuBNwvusWdKjsmo994OaV5vj5P7UfFVS+JjXgUfCddzRH16TwBmoeEAUIShkDx4QDhCgIkcd08vqBjbuxnX2ie3H/iP3gk3Fi/T3KWN2J+6S2p9kf434TzNwgw2ZvXExDnX5qnWW/EsYBG/uDK1vA5zU8Xn14ud8XULmxjGIFXJn5FdrLWgOKyclug0N8wufypYvM5Fe7wNtLeDfZegPNFAxG/JRDOEgyWj4g6auCLLmvKE3b2V8SnuBE18ktTeaqZ1bTR874VpaGYWZLPP58DYw/3Fsmfqidam7cBoLQuNL5RsGEdZ+0L0b7Y/xG3DXBym6UthfLs/UV4zW8OtO3xtwHpoOLMnawUQLWmJ/gDRGT5r+MCwNr8C4BPxeEN8DchpnhMLqrg5AP0IzZVbEBY8ir5VgOXokJPH6Bu1euTS8xC6q/S+Ds8DNNz/peZldbYy7DZlPeyRr75gMwtFPLwuP9EvvDYAWdNJ1d4fRnONqadPcEyxt6yk6hrrI68R1SGCDeQJ3xavKyOreDCb5+BOOmYfNwa+si8+/5N5tlcDlYP9shrEqsO410/fBKzBmw8wgZGxQEUD9QLGvgYQaJy8Lj2zyrWCh0LjyvL/JdWe/jatBP0zXmdpyFWTD/Wp537Pw9vJw5a7Y1fWt6mW1h+Jm4EnEMduzqQ/3x2lTAfuWVQIShtFkTfQ/roH8GP66+d6KdpDzl5llyyuwGB4fuZG6BkcfBmI7JKFMV2YBRGiH6GvLZWBsfg8K/Lk2bz3o2y6O4zTgab61fYFz3/mTteOrIrIUVtwdWXD7s+F+YOXnlKQ5ItUSClXRP0ODVPLsP6eTVWSjmi/q3oP46+jxILIDA3/BNg4WLF8v3BzKwAC6pwYshqoepxRF7bavBJ4VqzEC8amkXzJh8YmMfyFq7qH5vizddMrWPFbGNqAd8MU24Ix748iFYxtw7wd7sye3KiEeHE26o5u16k2BYfYeFVKgjsGIwYyzKSJHXcjkTAGdggMq7OGl2H75fdd2zU+xrZUgzvHm6fgPzPzjouAb9G7SPDJivUAnreWce36b9NJc+QYV1Jsl9Jaax0LaSpDFz8WVw0TP+vk+Gfs8v8lBWOaxrIk18yBOI2l37CR/5tXNbOQ2fXwOm3501wf45aG5XMZTbro7KvMMItxWeFeed39so7QuWP9m7nzkSb/r4rLhfeNfBWWYrVytnA3bA7CrYhgPoxzueccmQQWsLtFgV+8eDlCdgguCUPqJP5WiOFtKzZ+gc/eSLNUeFDP2+TXkydGmbb5TMReedVzSZcx+61vKdtB1OqrPDArQjTl+djXOLE1DvrbQvUg6gxj4/rfQBAPfh093N94HFlRjIvhqJIdBSxkLyIJiIl7aFAUiaBIUC6vuQlh18sQztkyVf22N52k4lWiYTktjCHAUtS4Nvi/VntaPKLdsLmEV/cP8E+6z26Uyerb8zsqJN4CBcvcDVFgju2Slha2BnzJKnPTfV3liOaXyEZ0A/Mx44nIYB7V0sCFReOBgSSBqQyuDz7MDRftJHeYI+Slc+NoXylVX5YltVPzuiLNGqtLiTD+KIzgtub+Iwb9z9V9pblKUSeWh7JeSJDDmNlTJjYfQoOF/yXsOKKa62IGvemDvVRlekytTFgy3cb3QeZpdRALsfZlrBPBt4BglpwCxiYO6ZQl6hRUERW8B24eEiaAv7kVl1aFmUsYKkbaK/iJx8NkFOM1biv2J2H//AldX55mq2L5HVFVwOPct9BcecU3CgsxXQ5C1iXTdZ8wECtWOXkfFA4E6DzD74kO/VwGE7DLgcdMUDgAJPvjEQJFgClBAE8UEYydKH/AGPliWQgmCN+T1vdqBl9POyy9EPHgdZ/8bseT/Pe+Mbsa8H5lS8qHZWXHC2QHmatY+8zOBMtG2IX3x0nM27ptYxMNc8P9We31n7ZJZtwO6RxYc2jNkYeQ/K5GCgHAel1uOZDwTSmCTnQoNSc2ltk+WrksV9fUHrykPdpMl+ry+TJimKXt4YtRAr1PO4RXEKgvMh31r1TM2ouqJMBS41dIQ5CLTT8OP9jX0AyGo/xZVpY2YNQM3GwdThmdQK1DDTDlvfHICrQf8DHfsBh974RVseBgdSHCwsB/Vw8HJ4wBfFVmZ/kNuCHQIoI4MPFZWFgMUeCy60WLxF0Zl70y3mV4+UecqOeiqZQl8rKbd9sjBYO69v9sbnFL8OcPaDUYMgoAEo8XHayt4E0z7LOGgt2PQei3Oqq+bbobyYsrPZo8aZ4+H7PgiSQch74NcNZVwIi4JLgyms60woLvqAQ7/8gegbmPlobUZ5OeQugZy/gzobs+b9cyZblld7EjtXuxUFDNj2TLd+91o5P7s3gnZbsG2K3zoAlgPHE/bdUGdA4/x8RQO6GXJ/XtvDXPbMRPshyqs5yVsU18MKsyUCeG9cWCAWm8PvtTHT8aO+XJkFC7TVgOYP2cRsXoJtQgmXoHHaCC/WRTAuBIYfptJyZ/1fcKj+zNIl5lVcmSNPkhIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBBIEEgQSBNYYBP4fM9v7lX+zij0AAAAASUVORK5CYII=";var x=i(41748),C=i(92046),w=i(74134),E=i(32987),T=i(48671),I=i(80755),R=i(1265);let N=()=>(0,r.jsx)(b.Mpl,{style:{width:16,height:16}}),A=()=>(0,r.jsx)("img",{src:k,alt:"ByteCloud",width:16,height:16,style:{borderRadius:2,filter:"grayscale(1)",opacity:.7}}),M=(0,s.memo)(()=>{let e=(0,h.s9)(),[t,i]=(0,s.useState)(!1),[d,u]=(0,s.useState)(!1),{popupZIndex:p}=(0,y.iw)(),[m,f]=(0,s.useState)(!1),[g,k]=(0,s.useState)(null),[M,P]=(0,s.useState)(null),j=(0,T.h1)(w.B.EnvStore),L=j.isExternal.use(),D=j.isEnterprise.use(),O=j.isCustomDomainMode.use();(0,y.W4)();let{authStatus:F,menuData:U,branchMenuData:V,selectedRepoPath:B,selectedBranchPath:z,storeLoading:W,isInit:H,isBranchEmpty:G,isBranchLoading:Z,isAuthLoading:K,repoDisplayText:X,branchDisplayText:Y,rootCacheKeyword:J,rootCacheHasMore:$,rootCacheNextPageToken:q,branchCacheKeyword:Q,branchCacheHasMore:ee,branchCacheNextPageToken:et,handleAuthorize:ei,handleRepoSearch:er,handleRepoOpen:es,handleRepoSelect:en,prepareBranchDataFromCache:ea,handleBranchOpen:eo,handleBranchSearch:el,handleBranchSelect:ec,resetState:ed}=(0,c.J)(),eu=(0,l._o)(e=>e.repoVisible),eh=(0,l._o)(e=>e.repoReadonly),ep=(0,l._o)(e=>e.branchVisible),em=(0,l._o)(e=>e.branchReadonly),ef=(0,y.Ki)("repoVisible",eu),eg=(0,y.Ki)("repoReadonly",eh),e_=(0,y.Ki)("branchVisible",ep),ey=(0,y.Ki)("branchReadonly",em),ev=(0,I.MId)(e=>"remote"!==e.value),eb=F,eS=B[0],ek=!!eS,ex=D&&O,eC=e.localize("trae-chat-core.repoSelector.connectToGithubDisabledCustomDomain",{},"Authorization is not supported when using a custom domain. Please switch to the public domain to configure authorization."),ew=(0,s.useCallback)(()=>(0,r.jsx)("span",{className:v.A.menuCheckIcon,children:(0,r.jsx)(b.cfM,{})}),[]),eE=(0,s.useMemo)(()=>U.map(e=>({...e,rightSlot:e.key===eS?ew:void 0})),[U,eS,ew]),eT=(0,s.useMemo)(()=>V.map(e=>({...e,icon:N,rightSlot:e.key===z[0]?ew:void 0})),[V,z,ew]),eI=x.Zz.isAuthenticated.use(),eR=!!eI&&!eg&&H,eN=(0,s.useCallback)(()=>{let e=C.XT.tryResolve(w.F.User);e?.login()},[]),eA=(0,s.useCallback)(async()=>{if(!eg){if(!eI)return void eN();if("unauthorized"===eb)return void f(!0);"authorized"===eb&&i(e=>{if(!e){let e=C.XT.tryResolve(w.F.Tea);e?.report(E.qu.InputGitRepoMenuShow)}return!e})}},[eg,eI,eN,eb,es]),eM=(0,s.useCallback)(()=>{if(ey||!ek)return;if(!eI)return void eN();let e=ea();u(e=>!e),e||eo()},[ey,ek,eI,eN,ea,eo]),eP=(0,s.useCallback)(()=>{f(!1)},[]),ej=(0,s.useCallback)(async()=>{await ei()},[ei]),eL=(0,s.useCallback)(e=>{let t=C.XT.tryResolve(w.F.Tea);t?.report(E.qu.InputGitRepoMenuClick,{action:"repo_item"}),en(e),i(!1)},[en]),eD=(0,s.useCallback)(e=>{e.stopPropagation(),ed()},[ed]),eO=(0,s.useCallback)(e=>{ec(e),u(!1)},[ec]),eF=(0,s.useCallback)(()=>{i(!1)},[]),eU=(0,s.useCallback)(()=>{u(!1)},[]),eV=(0,s.useCallback)(()=>{let e=C.XT.tryResolve(w.F.Tea);e?.report(E.qu.InputGitRepoMenuClick,{action:"manage"});let t=C.XT.tryResolve(w.F.Repo),i=t?.getManageGithubUrl();i&&window.open(i,"_blank")},[]),eB=(0,s.useCallback)(()=>{let e=C.XT.tryResolve(w.F.Tea);e?.report(E.qu.InputGitRepoMenuClick,{action:"manage"}),window.open("https://code.byted.org/","_blank")},[]),ez=(0,s.useCallback)(()=>{let e=B[0];e&&window.open((0,R.S5)(e),"_blank")},[B]),eW=(0,s.useCallback)(()=>(0,r.jsxs)("div",{className:"repo-selector-footer",onClick:eV,children:[(0,r.jsxs)("span",{className:"repo-selector-footer-left",children:[(0,r.jsx)("span",{className:"repo-selector-footer-icon",children:(0,r.jsx)(S.Zx,{})}),(0,r.jsx)("span",{className:"repo-selector-footer-text",children:e.localize("trae-chat-core.repoSelector.manageGithub",{},"Manage Github")})]}),(0,r.jsx)("span",{className:"repo-selector-footer-link-icon",children:(0,r.jsx)(b.SaU,{})})]}),[e,eV]),eH=(0,s.useCallback)(()=>(0,r.jsxs)("div",{className:"repo-selector-footer",onClick:eB,children:[(0,r.jsxs)("span",{className:"repo-selector-footer-left",children:[(0,r.jsx)("span",{className:"repo-selector-footer-icon",children:(0,r.jsx)(A,{})}),(0,r.jsx)("span",{className:"repo-selector-footer-text",children:e.localize("trae-chat-core.repoSelector.manageBitsCode",{},"Manage Bits-Code")})]}),(0,r.jsx)("span",{className:"repo-selector-footer-link-icon",children:(0,r.jsx)(b.SaU,{})})]}),[e,eB]),eG=(0,s.useMemo)(()=>{let e=[v.A.inputBarButton];return eg&&e.push(v.A.inputBarButtonReadonly),e.join(" ")},[eg]),eZ=(0,s.useMemo)(()=>{let e=[v.A.inputBarButton];return(ey||!ek)&&e.push(v.A.inputBarButtonReadonly),e.join(" ")},[ey,ek]),eK=(0,s.useMemo)(()=>{let e=[v.A.inputBarButtonArrow];return t&&e.push(v.A.inputBarButtonArrowOpen),e.join(" ")},[t]),eX=(0,s.useMemo)(()=>{let e=[v.A.inputBarButtonArrow];return d&&e.push(v.A.inputBarButtonArrowOpen),e.join(" ")},[d]),eY=(0,s.useCallback)(()=>{let e=C.XT.tryResolve(w.F.Tea);e?.report(E.qu.InputConnetGitClick),f(!0)},[]);return ef||e_?"unauthorized"!==eb||ev?(0,r.jsxs)(r.Fragment,{children:[ef&&(0,r.jsxs)("button",{ref:k,className:eG,onClick:eA,disabled:eR,children:[(0,r.jsx)("span",{className:v.A.inputBarButtonIcon,style:X?void 0:{color:"var(--text-text-disabled)"},children:L?(0,r.jsx)(S.Zx,{}):(0,r.jsx)(A,{})}),(0,r.jsxs)("div",{className:v.A.inputBarButtonContent,children:[X?(0,r.jsx)(a.A,{className:v.A.inputBarButtonText,tooltipSide:"bottom",children:X}):(0,r.jsx)("span",{className:v.A.inputBarButtonPlaceholder,style:{color:"var(--text-text-disabled)"},children:e.localize("trae-chat-core.repoSelector.select_repo_optional",{},"Select repo")}),X&&!eg&&(0,r.jsx)("div",{className:v.A.inputBarButtonClear,onClick:eD,role:"button","aria-label":e.localize("trae-chat-core.repoSelector.clearRepo",{},"Clear repo"),children:(0,r.jsx)(b.fc0,{})}),eR?(0,r.jsx)("span",{className:eK,style:X?void 0:{color:"var(--text-text-disabled)"},children:(0,r.jsx)(b.MLU,{})}):!eg&&(0,r.jsx)("span",{className:eK,style:X?void 0:{color:"var(--text-text-disabled)"},children:(0,r.jsx)(S.rI,{})})]})]}),e_&&ek&&(ey?(0,r.jsxs)("span",{className:eZ,children:[(0,r.jsx)("span",{className:v.A.inputBarButtonIcon,children:(0,r.jsx)(N,{})}),(0,r.jsx)(n.A,{side:"bottom",mode:"mini",content:e.localize("trae-chat-core.branch.readonly_tooltip",{branch:Y},"Cannot switch branches in Local mode."),children:(0,r.jsx)("div",{className:v.A.inputBarButtonContent,children:(0,r.jsx)("span",{className:v.A.inputBarButtonText,children:Y})})})]}):G&&ek?(0,r.jsxs)("button",{className:`${v.A.inputBarButton} repo-selector-create-branch`,onClick:ez,children:[(0,r.jsx)("span",{className:v.A.inputBarButtonIcon,children:(0,r.jsx)(N,{})}),(0,r.jsx)("span",{className:"repo-selector-create-branch-text",children:e.localize("trae-chat-core.repoSelector.createBranch",{},"Create branch")}),(0,r.jsx)("span",{className:"repo-selector-create-branch-icon",children:(0,r.jsx)(b.SaU,{})})]}):(0,r.jsxs)("button",{ref:P,className:eZ,onClick:eM,disabled:!ek||Z&&0===V.length,children:[(0,r.jsx)("span",{className:v.A.inputBarButtonIcon,children:(0,r.jsx)(N,{})}),(0,r.jsxs)("div",{className:v.A.inputBarButtonContent,children:[Y?(0,r.jsx)(a.A,{className:v.A.inputBarButtonText,tooltipSide:"bottom",tooltipMode:"mini",children:Y}):(0,r.jsx)("span",{className:v.A.inputBarButtonPlaceholder,children:e.localize("trae-chat-core.repoSelector.selectBranch",{},"Select branch")}),Z&&0===V.length?(0,r.jsx)("span",{className:eX,children:(0,r.jsx)(b.MLU,{})}):!ey&&ek&&(0,r.jsx)("span",{className:eX,children:(0,r.jsx)(S.rI,{})})]})]})),g&&"authorized"===eb&&!eg&&(0,r.jsx)(o.H,{visible:t,menu:eE,anchor:g,value:B,style:{width:280,height:280,...void 0!==p?{zIndex:p}:{}},placement:"bottom",searchable:{type:"async",onSearch:er,placeholder:e.localize("trae-chat-core.repoSelector.searchRepositories",{},"Search repositories..."),debounceDelay:300,minLength:0,autoFocus:!1,enableLoadMore:!0,defaultValue:J,initialHasMore:$,initialNextPageToken:q},onSelect:eL,onClose:eF,renderFooter:L?eW:eH}),M&&ek&&!ey&&(0,r.jsx)(o.H,{visible:d,menu:eT,anchor:M,value:z,style:{width:280,height:280,...void 0!==p?{zIndex:p}:{}},placement:"bottom",searchable:{type:"async",onSearch:el,placeholder:e.localize("trae-chat-core.repo_selector.branch_selector.search_placeholder",{},"Search branches..."),debounceDelay:300,minLength:0,autoFocus:!1,enableLoadMore:ee,defaultValue:Q,initialHasMore:ee,initialNextPageToken:et},onSelect:eO,onClose:eU}),(0,r.jsx)(_,{visible:m,onClose:eP,onConnect:ej})]}):L?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.A,{side:"top",mode:"mini",disabled:!ex,content:eC,children:(0,r.jsx)("span",{className:v.A.connectGithubTooltipTrigger,children:(0,r.jsxs)("button",{className:v.A.connectGithubButton,onClick:ex?void 0:eY,disabled:ex||K,children:[K?(0,r.jsx)("span",{className:v.A.connectGithubButtonIcon,children:(0,r.jsx)(b.MLU,{})}):(0,r.jsx)("span",{className:v.A.connectGithubButtonIcon,children:(0,r.jsx)(S.Zx,{})}),e.localize("trae-chat-core.repoSelector.connectToGithub",{},"Connect to GitHub")]})})}),(0,r.jsx)(_,{visible:m,onClose:eP,onConnect:ej})]}):(0,r.jsxs)("button",{className:v.A.connectGithubButton,onClick:ej,disabled:K,children:[K?(0,r.jsx)("span",{className:v.A.connectGithubButtonIcon,children:(0,r.jsx)(b.MLU,{})}):(0,r.jsx)("span",{className:v.A.connectGithubButtonIcon,children:(0,r.jsx)(A,{})}),e.localize("trae-chat-core.repoSelector.connectToBytecloud",{},"Connect to ByteCloud")]}):null});M.displayName="RepoSelector"},69619(e,t,i){i.d(t,{J:()=>m});var r=i(51649),s=i(8780),n=i(74134),a=i(48671),o=i(25188),l=i(41748),c=i(99965),d=i(89309),u=i(30886),h=i(76933);let p=()=>(0,r.createElement)(h.Mpl,{style:{width:16,height:16}});function m(){let e=(0,a.h1)(n.B.RepoService),t=(0,a.h1)(n.B.RepoStore),i=(0,a.$Q)(n.F.Repo),h=(0,o.s9)(),m=l.vN.isInternal.use(),f=(0,d.W4)(),g=t.error.use(),_=t.repos.use(),y=t.isLoading.use(),v=t.isInit.use(),b=t.repoNextPageToken.use(),S=t.selectedRepoUrl.use(),k=t.selectedRepoName.use(),x=t.selectedBranch.use(),C=t.levelCache.use(),[w,E]=(0,r.useState)([]),[T,I]=(0,r.useState)(!1),[R,N]=(0,r.useState)([]),[A,M]=(0,r.useState)(!1),[P,j]=(0,r.useState)(!1),[L,D]=(0,r.useState)(!1),O=(0,r.useRef)(new Map),F=(0,r.useRef)(void 0),U=(0,r.useRef)(new Map),V=(0,r.useRef)([]),B=(0,r.useRef)(new Map),z=(0,r.useRef)(new Map),W=(0,r.useRef)(null),H=(0,r.useRef)([]),G=(0,r.useRef)(new Map),Z=(0,r.useRef)(new Map),K=(0,r.useCallback)(async t=>{let i=B.current.get(t);if(i?.length)return{items:i};let r=Z.current.get(t);if(r)return r;let s=(async()=>{let i=await e.searchBranches(t,"");return B.current.set(t,i.items),{items:i.items}})();Z.current.set(t,s);try{return await s}finally{Z.current.delete(t)}},[e]),X=(0,r.useCallback)(async(t,i,r)=>{if(!m){let{items:e}=await K(t);if(!i)return{items:e,nextPageToken:void 0};let r=i.toLowerCase();return{items:e.filter(e=>e.name.toLowerCase().includes(r)),nextPageToken:void 0}}let s=`${t}:${i}:${r||""}`;W.current=s;let n=z.current.get(s);n||(n=e.searchBranches(t,i,r),z.current.set(s,n));try{let e=await n;if(W.current===s)return H.current.forEach(t=>t(e)),H.current=[],e;return new Promise(e=>{H.current.push(e)})}catch(e){if(z.current.delete(s),W.current===s)throw H.current.forEach(e=>e({items:[],nextPageToken:void 0})),H.current=[],e;return new Promise(e=>{H.current.push(e)})}},[e,m,K]),Y=(0,r.useMemo)(()=>[u.Yb.GIT_TOKEN_NOT_FOUND,u.Yb.GIT_TOKEN_INVALID].includes(g?.code)?"unauthorized":!(_.length>0)&&(v||g)?"unknown":"authorized",[g,_,v]),J=(0,s.A)(()=>new Promise(t=>{i?.authorize({onSuccess:()=>{D(!0),e.fetchRepos().then(()=>{e_()}).finally(()=>{D(!1)}),t(!0)},onFail:()=>{t(!1)}})})),$=(0,r.useCallback)(e=>e.join("/"),[]),q=(0,r.useCallback)(e=>{let t=$(e);return O.current.get(t)},[$]),Q=(0,r.useCallback)((e,t)=>{let i=$(e);O.current.set(i,t)},[$]),ee=(0,r.useCallback)(e=>{let t=i?.isRepoBlacklisted?.(e.url)??!1;return{type:"item",key:e.url,title:e.full_name||e.name,...t&&{disabled:!0,tooltip:h.localize("trae-chat-core.repoSelector.repoBlocked",{},"This repository has been restricted from AI features. Please contact your administrator.")}}},[i,h]),et=(0,r.useCallback)(async()=>(await e.fetchRepos(),t.repos.get().map(e=>ee(e))),[e,t,ee]),ei=(0,r.useCallback)(async(i,r)=>{if(!m){let t=V.current;0===t.length&&_.length>0&&(V.current=t=_.map(e=>({name:e.name,url:e.url,full_name:e.full_name}))),0===t.length&&(V.current=t=(await e.searchRepos("")).items.map(e=>({name:e.name,url:e.url,full_name:e.full_name})));let r=t;if(i){let e=i.toLowerCase();r=t.filter(t=>t.name.toLowerCase().includes(e)||t.full_name&&t.full_name.toLowerCase().includes(e))}let s=r.map(e=>ee(e));E(s);let n=r.map(e=>({key:e.url,title:e.full_name||e.name}));return O.current.set("",{items:n,keyword:i||"",hasMore:!1,nextPageToken:void 0}),{items:s,hasMore:!1,nextPageToken:void 0}}if(!i&&!r){let e=_.map(e=>ee({name:e.name,url:e.url,full_name:e.full_name}));E(e);let t=_.map(e=>({key:e.url,title:e.full_name||e.name}));return O.current.set("",{items:t,keyword:"",hasMore:!!b,nextPageToken:b}),{items:e,hasMore:!!b,nextPageToken:b}}if(!i&&r){let i=new Set(t.repos.get().map(e=>e.repo_id));if(await e.fetchRepos(!0)){let e=t.repos.get(),r=t.repoNextPageToken.get();E(e.map(e=>ee({name:e.name,url:e.url,full_name:e.full_name})));let s=e.map(e=>({key:e.url,title:e.full_name||e.name}));return O.current.set("",{items:s,keyword:"",hasMore:!!r,nextPageToken:r}),{items:e.filter(e=>!i.has(e.repo_id)).map(e=>ee({name:e.name,url:e.url,full_name:e.full_name})),hasMore:!!r,nextPageToken:r}}return{items:[],hasMore:!1,nextPageToken:void 0}}let s=await e.searchRepos(i,r),n=s.items.map(e=>ee({name:e.name,url:e.url,full_name:e.full_name})),a=s.items.map(e=>({key:e.url,title:e.full_name||e.name}));if(r){E(e=>[...e,...n]);let e=O.current.get("");e&&O.current.set("",{items:[...e.items,...a],keyword:e.keyword,hasMore:!!s.nextPageToken,nextPageToken:s.nextPageToken})}else E(n),O.current.set("",{items:a,keyword:i,hasMore:!!s.nextPageToken,nextPageToken:s.nextPageToken});return{items:n,hasMore:!!s.nextPageToken,nextPageToken:s.nextPageToken}},[e,t,ee,_,b,m]),er=(0,r.useCallback)(async()=>{O.current=new Map(Object.entries(C));let e=O.current.get("");if(e&&e.items.length>0)return void E(e.items.map(e=>ee({name:e.title,url:e.key,full_name:e.title})));if(_.length>0){E(_.map(e=>ee({name:e.name,url:e.url,full_name:e.full_name}))),I(!0);return}T||(E([]),E(await et()),I(!0))},[C,ee,_,T,et]),es=(0,r.useCallback)(async e=>{let i=w.find(t=>t.key===e),r=i?.title||"";t.core.setSelectedRepo(e,r,void 0),F.current=void 0,N([]),j(!1),M(!1);let s=U.current.get(e);s&&(""!==s.keyword||0===s.items.length)&&U.current.delete(e);let n={};O.current.forEach((e,t)=>{n[t]=e});let a={items:w.map(e=>({key:e.key,title:e.title})),keyword:O.current.get("")?.keyword||"",hasMore:!!b,nextPageToken:b};n[""]=a,t.ui.setLevelCache(n),t.ui.setSelectedPath([e]);let o=i=>{let s=t.selectedBranch.get();if(s&&i.some(e=>e.title===s))return void t.core.setSelectedRepo(e,r,s);let n=i.find(e=>"main"===e.title),a=i.find(e=>"master"===e.title),o=n||a;o&&t.core.setSelectedRepo(e,r,o.title)},l=U.current.get(e);if(l&&l.items.length>0){j(!0),o(l.items);return}let c=G.current.get(e);if(c){M(!0),j(!1),await c;let t=U.current.get(e);t&&o(t.items),M(!1),j(!0);return}M(!0),j(!1);let d=(async()=>{let t=await X(e,""),i=t.items.map(t=>({key:`${e}#${t.name}`,title:t.name})),r={items:i,keyword:"",hasMore:!!t.nextPageToken,nextPageToken:t.nextPageToken};U.current.set(e,r),F.current=r,N(i.map(e=>({type:"item",key:e.key,title:e.title}))),o(i)})();G.current.set(e,d);try{await d}finally{G.current.delete(e),M(!1),j(!0)}},[w,t,b,X]),en=(0,r.useCallback)(()=>{if(!S)return!1;let e=U.current.get(S);return!!e&&e.items.length>0&&(N(e.items.map(e=>({type:"item",key:e.key,title:e.title}))),F.current=e,!0)},[S]),ea=(0,r.useCallback)(async()=>{if(!S)return;if(en())return void j(!0);let e=G.current.get(S);if(e){await e,en(),j(!0);return}N([]),M(!0);let t=(async()=>{let e=await X(S,""),t=e.items.map(e=>({key:`${S}#${e.name}`,title:e.name})),i={items:t,keyword:"",hasMore:!!e.nextPageToken,nextPageToken:e.nextPageToken};F.current=i,U.current.set(S,i),N(t.map(e=>({type:"item",key:e.key,title:e.title})))})();G.current.set(S,t);try{await t}finally{G.current.delete(S),M(!1),j(!0)}},[S,en,X]),eo=(0,r.useCallback)(async(e,t)=>{if(!S)return{items:[],hasMore:!1,nextPageToken:void 0};if(!t){let t=U.current.get(S);if(t&&t.keyword===e&&t.items.length>0)return{items:t.items.map(e=>({type:"item",key:e.key,title:e.title,icon:p})),hasMore:t.hasMore,nextPageToken:t.nextPageToken}}let i=await X(S,e,t),r=i.items.map(e=>({type:"item",key:`${S}#${e.name}`,title:e.name,icon:p})),s=i.items.map(e=>({key:`${S}#${e.name}`,title:e.name}));return t?(N(e=>[...e,...r]),F.current&&(F.current={items:[...F.current.items,...s],keyword:F.current.keyword,hasMore:!!i.nextPageToken,nextPageToken:i.nextPageToken})):(N(r),F.current={items:s,keyword:e,hasMore:!!i.nextPageToken,nextPageToken:i.nextPageToken}),{items:r,hasMore:!!i.nextPageToken,nextPageToken:i.nextPageToken}},[S,X]),el=(0,r.useCallback)(e=>{let i=e.split("#")[1];t.core.setSelectedRepo(S,k,i),F.current&&S&&U.current.set(S,F.current);let r={};O.current.forEach((e,t)=>{r[t]=e}),t.ui.setLevelCache(r),t.ui.setSelectedPath([S,e])},[S,k,t]),ec=(0,r.useMemo)(()=>k||"",[k]),ed=(0,r.useMemo)(()=>x||"",[x]),eu=(0,r.useMemo)(()=>k&&x?`${k}:${x}`:"",[k,x]),eh=(0,r.useCallback)(()=>{E([]),N([]),I(!1),M(!1),j(!1),O.current.clear(),U.current.clear(),F.current=void 0,V.current=[],B.current.clear(),t.core.setSelectedRepo(void 0,void 0,void 0),t.ui.setLevelCache({}),t.ui.setSelectedPath([])},[t]),ep=(0,r.useRef)(Y),em=l.Zz.isAuthenticated.use(),ef=l.Zz.currentUser.use()?.userId,eg=(0,r.useRef)(ef);(0,r.useEffect)(()=>{"unknown"===Y&&!y&&em&&f===c.U.Code&&e.fetchRepos()},[em,f]),(0,r.useEffect)(()=>{let t=async()=>{c.g.getState().mode===c.U.Code&&(await e.fetchRepos(),e_())};return window.addEventListener("focus",t),()=>{window.removeEventListener("focus",t)}},[Y,e]),(0,r.useEffect)(()=>{let t=eg.current;(eg.current=ef,ef)?ef&&t!==ef&&c.g.getState().mode===c.U.Code&&e.fetchRepos():eh()},[ef,e,eh]),(0,r.useEffect)(()=>{f===c.U.Code&&em&&t.isInit.get()&&e.fetchRepos()},[f,em,e,t]),(0,r.useEffect)(()=>{let e=ep.current;ep.current=Y,"authorized"===Y&&("unauthorized"===e||"unknown"===e)&&(E([]),N([]),I(!1),O.current.clear(),U.current.clear(),F.current=void 0,V.current=[],B.current.clear(),t.ui.setLevelCache({}))},[Y,t]);let e_=(0,s.A)(async()=>{if(!S)return;let e=U.current.get(S);if(!e||!(e.items.length>0)){U.current.delete(S),F.current=void 0,M(!0),j(!1);try{let e=await X(S,""),i=t.selectedRepoUrl.get()||"";if(i!==S)return;let r=e.items.map(e=>({key:`${i}#${e.name}`,title:e.name})),s={items:r,keyword:"",hasMore:!!e.nextPageToken,nextPageToken:e.nextPageToken};U.current.set(S,s),F.current=s;let n=r.map(e=>({type:"item",key:e.key,title:e.title}));if(N(n),r.length>0){let e=t.selectedRepoName.get()||"",i=t.selectedBranch.get();if(i&&r.some(e=>e.title===i))t.core.setSelectedRepo(S,e,i);else{let i=r.find(e=>"main"===e.title),s=r.find(e=>"master"===e.title),n=i||s;n&&t.core.setSelectedRepo(S,e,n.title)}}}finally{M(!1),j(!0)}}}),ey=(0,r.useMemo)(()=>S?[S]:[],[S]),ev=(0,r.useMemo)(()=>S&&x?[`${S}#${x}`]:[],[S,x]),eb=(0,r.useMemo)(()=>S&&x?[S,`${S}#${x}`]:[],[S,x]),eS=C[""]?.keyword||"",ek=C[""]?.hasMore??!!b,ex=C[""]?.nextPageToken||b,eC=U.current.get(S||"")?.keyword||"",ew=F.current?.hasMore??!1,eE=F.current?.nextPageToken,eT=P&&!A&&(()=>{if(!S)return!1;let e=U.current.get(S);return!e||0===e.items.length})();return(0,r.useEffect)(()=>{S&&"authorized"===Y&&e_()},[S,x,Y,e_]),{authStatus:Y,menuData:w,branchMenuData:R,selectedPath:eb,selectedRepoPath:ey,selectedBranchPath:ev,storeLoading:y,isInit:v,isBranchLoading:A,isBranchEmpty:eT,isAuthLoading:L,displayText:eu,repoDisplayText:ec,branchDisplayText:ed,rootCacheKeyword:eS,rootCacheHasMore:ek,rootCacheNextPageToken:ex,branchCacheKeyword:eC,branchCacheHasMore:ew,branchCacheNextPageToken:eE,getSubmenuInitialData:q,updateWorkingCache:Q,handleAuthorize:J,handleRepoSearch:ei,handleRepoOpen:er,handleRepoSelect:es,prepareBranchDataFromCache:en,handleBranchOpen:ea,handleBranchSearch:eo,handleBranchSelect:el,resetState:eh}}},23516(e,t,i){i.d(t,{YV:()=>k});var r=i(97282),s=i(51649),n=i(45367),a=i(68950);let o=3e3,l=5e3,c=2,d=1,u="icube_show_widget_render",h=(e,t)=>{if(t||!e)return"*";try{return new URL(e).origin}catch{return"*"}},p=e=>e.widgetId??e.widget_id,m=(e,t)=>t?"srcdoc":e?"url":"unknown",f=(e,t,i,r)=>e?t<=0?"render_not_pushed":i?r:"height_not_reported":"sandbox_not_ready",g=(0,s.forwardRef)(function({widgetId:e,sandboxUrl:t,sandboxHtml:i,htmlContent:g,streaming:_,theme:y,maxHeight:v=2e3,className:b,style:S,onReady:k,onHeightChange:x,onSendPrompt:C,onExportImage:w,onExportImageError:E,onExportSvg:T,onExportSvgError:I,telemetryContext:R},N){let A=(0,n.ZP)(),M=(0,s.useRef)(null),P=(0,s.useRef)(`show-widget-${Math.random().toString(36).slice(2)}`),[j,L]=(0,s.useState)(200),[D,O]=(0,s.useState)(!1),F=(0,s.useRef)(!1),U=(0,s.useRef)(_),V=(0,s.useRef)(0),B=(0,s.useRef)(null),z=(0,s.useRef)(null),W=(0,s.useRef)(null),H=(0,s.useRef)(void 0),G=(0,s.useRef)(void 0),Z=(0,s.useRef)(200),K=(0,s.useRef)(void 0),X=(0,s.useRef)(""),Y=(0,s.useRef)(void 0),J=(0,s.useRef)(g),$=(0,s.useRef)(e||P.current),q=(0,s.useRef)({startTime:Date.now(),renderCount:0,sandboxRetryCount:0,lastIframeHeight:0}),Q=(0,s.useRef)(!1),ee=(0,s.useRef)(!1),et=(0,s.useRef)(!1);F.current=D,U.current=_,J.current=g,$.current=e||P.current,(0,s.useEffect)(()=>()=>{B.current&&clearTimeout(B.current),z.current&&clearTimeout(z.current),null!==W.current&&cancelAnimationFrame(W.current)},[]),(0,s.useEffect)(()=>{(t||i)&&(q.current.sandboxSourceTime||(q.current.sandboxSourceTime=Date.now()))},[i,t]);let ei=(0,s.useCallback)((e,r={},s={},n)=>{let o=Date.now(),l=q.current,c=(0,a.iK)(J.current,U.current),d={total_duration:o-l.startTime,render_count:l.renderCount,sandbox_retry_count:l.sandboxRetryCount,last_iframe_height:l.lastIframeHeight,widget_code_length:c.widgetCodeLength,style_length:c.styleLength,body_length:c.bodyLength,script_count:c.scriptCount,external_script_count:c.externalScriptCount,external_style_count:c.externalStyleCount,...s};l.sandboxSourceTime&&(d.time_to_sandbox_source=l.sandboxSourceTime-l.startTime),l.sandboxReadyTime&&(d.time_to_sandbox_ready=l.sandboxReadyTime-l.startTime),l.firstRenderPushTime&&(d.time_to_first_render_push=l.firstRenderPushTime-l.startTime),l.firstHeightTime&&(d.time_to_first_height=l.firstHeightTime-l.startTime),l.completeTime&&(d.time_to_complete=l.completeTime-l.startTime),A.event({name:u,metrics:d,categories:{phase:e,widget_mode:R?.widgetMode||"inline",render_surface:R?.renderSurface||"chat_card",sandbox_source:m(t,i),widget_type:c.widgetType,content_stage:c.contentStage,is_history:+!!R?.isHistory,tool_id:R?.toolId,tool_type:R?.toolType,plan_item_id:R?.planItemId,sandbox_write_success:l.sandboxWriteSuccess,...r},error_message:(0,a.k3)(n)})},[i,t,A,R]),er=(0,s.useCallback)(e=>{let r=M.current;r?.contentWindow&&r.contentWindow.postMessage({...e,widgetId:$.current,widget_id:$.current},h(t,i))},[i,t]),es=(0,s.useCallback)(()=>{er({type:"theme_change",theme:y,isDark:"dark"===y})},[er,y]),en=(0,s.useCallback)((e,t)=>{if(!Number.isFinite(e)||e<=0)return;let i=Math.min(Math.ceil(e),v);Math.abs(i-Z.current){W.current=null;let e=H.current;H.current=void 0,G.current=void 0,void 0===e||!(Math.abs(e-Z.current)({exportAsImage:e=>{er({type:"export_as_image",format:e})},requestSvgExport:()=>{er({type:"request_svg_export"})}}),[er]),(0,s.useEffect)(()=>{let e=e=>{if(!M.current||t&&e.origin!==new URL(t).origin&&"null"!==e.origin)return;let i=e.data;if(i&&i.type&&p(i)===$.current)switch(i.type){case"sandbox_ready":{let e=F.current;if(X.current="",q.current.sandboxReadyTime=Date.now(),O(!0),B.current&&(clearTimeout(B.current),B.current=null),k?.(),es(),Y.current)q.current.firstRenderPushTime||(q.current.firstRenderPushTime=Date.now()),q.current.renderCount+=1,Y.current.streaming||(Q.current=!0),er(Y.current),X.current=Y.current.html,Y.current=void 0;else if(e&&J.current){let e={type:"render_complete",html:J.current,streaming:!1};q.current.firstRenderPushTime||(q.current.firstRenderPushTime=Date.now()),q.current.renderCount+=1,Q.current=!0,er(e),X.current=J.current}break}case"sandbox_write_result":q.current.sandboxWriteSuccess=i.success,i.success||ei("sandbox_write_failed",{error_type:"write_failed"},{},i.error);break;case"sandbox_error":ei("resource_error"===i.errorType?"sandbox_resource_error":"sandbox_script_error",{error_type:i.errorType||"unknown_error",resource_type:i.resourceType},{},i.message);break;case"widget_height":en(i.height,"height");break;case"widget_size":en(i.height,"size");break;case"send_prompt":C?.(i.prompt);break;case"export_image":w?.(i);break;case"export_image_error":ei("export_error",{error_type:"export_image_error"},{},i.error),E?.(i);break;case"export_svg":T?.(i);break;case"export_svg_error":ei("export_error",{error_type:"export_svg_error"},{},i.error),I?.(i)}};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[t,k,C,w,E,T,I,er,es,ei,en]),(0,s.useEffect)(()=>{let e=M.current;if(!e||"u"{let i=Math.ceil(t[0]?.contentRect.width||e.getBoundingClientRect().width||0);!Number.isFinite(i)||i<=0||K.current===i||(K.current=i,F.current&&er({type:"measure_size"}))});return t.observe(e),()=>t.disconnect()},[er]),(0,s.useEffect)(()=>{if(!D&&(t||i))return B.current=setTimeout(()=>{if(ei("sandbox_ready_timeout",{error_type:"ready_timeout"}),V.current{e.src=t}))}},o),()=>{B.current&&clearTimeout(B.current)}},[D,t,i,ei]),(0,s.useEffect)(()=>{if(!g&&!X.current)return;let e={type:"render_complete",html:g,streaming:_};if(!D){Y.current=e;return}X.current=g,q.current.firstRenderPushTime||(q.current.firstRenderPushTime=Date.now()),q.current.renderCount+=1,_||(Q.current=!0),er(e)},[g,_,D,er]),(0,s.useEffect)(()=>{D&&es()},[y,D,es]),(0,s.useEffect)(()=>{if(g)return z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{if(et.current||ee.current)return;let e=f(F.current,q.current.renderCount,q.current.firstHeightTime,U.current?"body_started":"complete");et.current=!0,ei("blank_detected",{blank_reason:e})},l),()=>{z.current&&clearTimeout(z.current)}},[g,ei]);let ea=i?{srcDoc:i,sandbox:"allow-scripts"}:{src:t,sandbox:"allow-scripts allow-same-origin"};return t||i?(0,r.jsx)("iframe",{ref:M,...ea,name:$.current,tabIndex:-1,onError:()=>ei("iframe_error",{error_type:"iframe_error"}),className:b,style:{width:"100%",height:`${j}px`,border:"none",borderRadius:"8px",display:"block",...S,transition:"none"}}):null});var _=i(74134),y=i(92046);let v=e=>"light"===e?"light":"dark"===e||"dark-blue"===e?"dark":void 0,b=()=>{let e=v(document.documentElement.getAttribute("data-theme"));return e||(window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light")},S=e=>{let[t,i]=(0,s.useState)(b);return(0,s.useEffect)(()=>{if(e)return;let t=()=>i(b()),r=new MutationObserver(t);r.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});let s=window.matchMedia?.("(prefers-color-scheme: dark)");return s?.addEventListener("change",t),t(),()=>{r.disconnect(),s?.removeEventListener("change",t)}},[e]),v(e)??t},k=(0,s.forwardRef)(function({widgetId:e,widgetCode:t,streaming:i=!1,maxHeight:n,className:a,iframeClassName:o,theme:l,onSendPrompt:c,onExportImage:d,onExportImageError:u,onExportSvg:h,onExportSvgError:p,telemetryContext:m},f){let v=(0,s.useMemo)(()=>y.XT.tryResolve(_.F.WidgetSandbox),[]),[b,k]=(0,s.useState)(void 0),x=(0,s.useMemo)(()=>v?.getSandboxHtml?.(),[v]),C=S(l),[w,E]=(0,s.useState)(t),T=(0,s.useRef)(null),I=(0,s.useRef)(t);I.current=t,(0,s.useEffect)(()=>{if(x||!v)return;let e=!1;return v.getSandboxUrl().then(t=>{e||k(t)}).catch(()=>{}),()=>{e=!0}},[v,x]),(0,s.useEffect)(()=>{if(!i){T.current&&(clearTimeout(T.current),T.current=null),E(t);return}T.current||(E(t),T.current=setTimeout(()=>{T.current=null,E(I.current)},150))},[t,i]),(0,s.useEffect)(()=>()=>{T.current&&clearTimeout(T.current)},[]);let R=(0,s.useCallback)(e=>{c?.(e)},[c]);return t?(0,r.jsx)("div",{className:a,style:{width:"100%"},children:(0,r.jsx)(g,{ref:f,widgetId:e,sandboxUrl:b,sandboxHtml:x,htmlContent:w,streaming:i,theme:C,maxHeight:n,className:o,onSendPrompt:R,onExportImage:d,onExportImageError:u,onExportSvg:h,onExportSvgError:p,telemetryContext:m})}):null}),x=["coral","amber","lime","mint","teal","sky","indigo","violet","magenta","slate"];x.map(e=>` g.c-${e}>rect,g.c-${e}>ellipse,g.c-${e}>circle,g.c-${e}>polygon, rect.c-${e},ellipse.c-${e},circle.c-${e},polygon.c-${e}{fill:var(--color-${e}-1);stroke:var(--color-${e}-7)} .c-${e}>.th,.c-${e}>.t{fill:var(--color-${e}-9)} .c-${e}>.ts{fill:var(--color-${e}-7)} @media (prefers-color-scheme: dark){ g.c-${e}>rect,g.c-${e}>ellipse,g.c-${e}>circle,g.c-${e}>polygon, rect.c-${e},ellipse.c-${e},circle.c-${e},polygon.c-${e}{fill:var(--color-${e}-9);stroke:var(--color-${e}-5)} .c-${e}>.th,.c-${e}>.t{fill:var(--color-${e}-3)} .c-${e}>.ts{fill:var(--color-${e}-5)} } `).join("\n")},68950(e,t,i){i.d(t,{iK:()=>l,k3:()=>c});let r=[0,100,500,1e3,3e3,1e4,3e4],s=240;function n(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;for(let e=0;e=i&&t]/i.test(t)&&/<\/svg>\s*$/i.test(t)?"svg":/import\s+React|from\s+['"]react['"]|React\.createElement/.test(t)?"react":/<[a-z][\s\S]*>/i.test(t)?"html":"unknown":"unknown"}function o(e,t=!1){if(!e.trim())return"empty";if(e.includes("");if(t<0||!e.slice(t+8).trim())return"style_only"}return t?"body_started":"complete"}function l(e,t=!1){let i=Array.from(e.matchAll(/]*>([\s\S]*?)<\/style>/gi)),r=Array.from(e.matchAll(/]*)>([\s\S]*?)<\/script>/gi)),s=r.filter(e=>/\ssrc\s*=/.test(e[1]||"")).length,c=(e.match(/]*rel=["']?stylesheet["']?[^>]*>/gi)||[]).length,d=i.reduce((e,t)=>e+(t[1]?.length||0),0),u=e.replace(/]*>[\s\S]*?<\/style>/gi,"").replace(/]*>[\s\S]*?<\/script>/gi,"").trim().length;return{widgetType:a(e),contentStage:o(e,t),widgetCodeLength:e.length,widgetCodeLengthBucket:n(e.length),styleLength:d,bodyLength:u,scriptCount:r.length,externalScriptCount:s,externalStyleCount:c}}function c(e){if(null==e)return;let t=String(e).replace(//gi,"