UNPKG

zego-express-engine-webrtc

Version:

zego webrtc express sdk

1 lines 75.7 kB
!function(n,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("long"));else if("function"==typeof define&&define.amd)define(["long"],r);else{var e="object"==typeof exports?r(require("long")):r(n.long);for(var t in e)("object"==typeof exports?exports:n)[t]=e[t]}}("undefined"!=typeof self?self:this,function(n){return function(){"use strict";var r={327:function(n,r,e){e.d(r,{L:function(){return i}});var t=e(4872);function i(n,r){if(n&&!(0,t.dr)(n)&&n.zegoStream){if(r.info("cu.gs type:zego"),(0,t.dr)(n.stream))return n.stream;throw new Error("The ZegoLocalStream type requires first calling the capture api to capture the stream")}return n}},1350:function(n,r,e){e.d(r,{E:function(){return o}});var t=function(n,r,e,t){return new(e||(e=Promise))(function(i,o){function s(n){try{u(t.next(n))}catch(n){o(n)}}function g(n){try{u(t.throw(n))}catch(n){o(n)}}function u(n){var r;n.done?i(n.value):(r=n.value,r instanceof e?r:new e(function(n){n(r)})).then(s,g)}u((t=t.apply(n,r||[])).next())})},i=function(n,r){var e,t,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:g(0),throw:g(1),return:g(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function g(g){return function(u){return function(g){if(e)throw new TypeError("Generator is already executing.");for(;o&&(o=0,g[0]&&(s=0)),s;)try{if(e=1,t&&(i=2&g[0]?t.return:g[0]?t.throw||((i=t.return)&&i.call(t),0):t.next)&&!(i=i.call(t,g[1])).done)return i;switch(t=0,i&&(g=[2&g[0],i.value]),g[0]){case 0:case 1:i=g;break;case 4:return s.label++,{value:g[1],done:!1};case 5:s.label++,t=g[1],g=[0];continue;case 7:g=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==g[0]&&2!==g[0])){s=0;continue}if(3===g[0]&&(!i||g[1]>i[0]&&g[1]<i[3])){s.label=g[1];break}if(6===g[0]&&s.label<i[1]){s.label=i[1],i=g;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(g);break}i[2]&&s.ops.pop(),s.trys.pop();continue}g=r.call(n,s)}catch(n){g=[6,n],t=0}finally{e=i=0}if(5&g[0])throw g[1];return{value:g[0]?g[1]:void 0,done:!0}}([g,u])}}},o=function(){function n(){this.isFirstNode=!0,this.isLastNode=!0,this.hasAnother=!1}return n.prototype.connect=function(n){return t(this,void 0,void 0,function(){return i(this,function(r){switch(r.label){case 0:return this.next=n,this.output?[4,n.setInput(this.output)]:[3,2];case 1:r.sent(),r.label=2;case 2:return[2,n]}})})},n.prototype.disconnect=function(n){return t(this,void 0,void 0,function(){return i(this,function(r){switch(r.label){case 0:return this.next?[4,this.next.setInput(null,n)]:[3,2];case 1:r.sent(),this.next=void 0,r.label=2;case 2:return[2]}})})},n.prototype.setNodePos=function(n,r,e){void 0!==n&&(this.isFirstNode=n),void 0!==r&&(this.isLastNode=r),"boolean"==typeof e&&(this.hasAnother=!e)},n}()},4872:function(n,r,e){function t(n){return void 0===n}function i(n){return n instanceof MediaStream}e.d(r,{TE:function(){return t},dr:function(){return i}})},4908:function(n,r,e){e(8627),e(5095)},5095:function(n,r,e){e.d(r,{Gq:function(){return t},Tr:function(){return s},tK:function(){return i},yS:function(){return g},yp:function(){return o}});var t=function(n){return n},i=function(n){return n},o=function(n){return n},s=function(n){return n},g=function(n){return n}},6994:function(r){r.exports=n},7202:function(n,r,e){e(6994)},8627:function(n,r,e){e.d(r,{$wo:function(){return R},Arx:function(){return En},B3d:function(){return dn},Be2:function(){return tn},FB3:function(){return Z},HCP:function(){return N},HO9:function(){return k},I4J:function(){return zn},I7C:function(){return rn},J79:function(){return u},JDv:function(){return sn},JSm:function(){return on},L8E:function(){return J},LLz:function(){return C},MK1:function(){return vn},MrD:function(){return _},MrS:function(){return w},MuX:function(){return Pn},NCg:function(){return Jn},OdW:function(){return Kn},OrZ:function(){return Q},Oy0:function(){return v},PA0:function(){return h},PTE:function(){return p},Q3v:function(){return gn},Q9p:function(){return f},QYE:function(){return Rn},RBR:function(){return hn},RZs:function(){return mn},RfS:function(){return H},S4u:function(){return o},S5f:function(){return c},SB8:function(){return yn},SRE:function(){return L},SmZ:function(){return P},T_8:function(){return an},Tij:function(){return Cn},V2t:function(){return E},VU9:function(){return z},WP4:function(){return X},XHx:function(){return pn},Xxx:function(){return I},ZEp:function(){return a},ZpF:function(){return D},Zws:function(){return Bn},_68:function(){return U},_HD:function(){return b},aUw:function(){return B},aa2:function(){return M},ann:function(){return fn},b1q:function(){return qn},cMG:function(){return Dn},ckD:function(){return Sn},ckg:function(){return Mn},clM:function(){return s},d49:function(){return g},dXc:function(){return Gn},dg1:function(){return K},dqB:function(){return bn},ekj:function(){return In},f43:function(){return j},fzq:function(){return O},g9p:function(){return l},gHA:function(){return An},gSF:function(){return A},hYx:function(){return Un},hje:function(){return kn},iei:function(){return S},jZ$:function(){return x},jut:function(){return q},kOd:function(){return T},kbF:function(){return V},lgu:function(){return wn},m6U:function(){return nn},mrK:function(){return $},pWJ:function(){return Fn},qvY:function(){return un},sJH:function(){return m},sVF:function(){return y},s_m:function(){return F},t85:function(){return Y},wxm:function(){return ln},xU2:function(){return W},xbZ:function(){return cn},xfZ:function(){return d},yK:function(){return G},zML:function(){return Qn},zcJ:function(){return xn},zgL:function(){return Yn},zs3:function(){return en}});var t=e(8866),i="the user cancels the stream request.",o={code:1000002,message:"not login room"},s={code:1000014,message:"stream ID is too long"},g={code:1000015,message:"streamID is empty"},u={code:1000016,message:"stream ID contains illegal characters"},h={code:1000017,message:t.Rl},c={code:1000018,message:t.qC},a={code:1100001,message:t.dO},f={code:1100002,message:"network timeout."},v={code:1100999,message:"unknown server error"},b={code:1101005,message:"signal hb fail"},A={code:1102017,message:"dispatch error"},l={code:1102018,message:"token expired"},k={code:1102021,message:"biz channel error."},d={code:1102022,message:"dispatch request timeout"},B={code:1102024,message:"invalid channel"},y={code:1102026,msg:t.fT},I={code:1003025,message:"stream is forbided by media server"},p={code:1003050,message:"the extra info of the stream is null"},E={code:1003051,message:"the extra info of the stream is too long"},w={code:1003080,message:"browser does not support the codec"},C={code:1103001,message:t.dO},Q={code:1103002,message:"browser do not support"},G={code:1103010,message:"screen fail"},F={code:1103011,message:"enumerate devices fail"},q={code:1103012,message:"use camera device fail"},m={code:1103019,message:"publish streams auth fail"},D={code:1103021,message:"session request fail"},P={code:1103022,message:"create offer error"},z={code:1103023,message:"setLocalDescription error"},K={code:1103024,message:"mediaDesc error"},S={code:1103025,message:"other side offer error"},U={code:1103026,message:"candidate error"},x={code:1103027,message:"server session closed"},M={code:1103028,message:"ice connection error"},R={code:1103030,message:"negotiation timeout"},Y={code:1103042,message:"screen canceled"},J={code:1103043,message:"screen not support"},O={code:1103044,message:t.aw},j={code:1103099,message:"stream is not capturing"},H={code:1103049,message:"repeated pull same stream"},N={code:1103050,message:"websocket disconnected"},L={code:1103051,message:"publisher retry timeout"},Z={code:1103053,message:"https is required"},W={code:1103055,message:t.Wk},V={code:1103056,message:"publish is publishing"},T={code:1103058,message:"client ip changed"},X={code:1103059,message:"ttl over time"},_={code:1103060,message:"session request timeout"},$={code:1103061,message:"get media fail"},nn={code:1103062,message:"update stream info fail"},rn={code:1103063,message:"publish target no response"},en={code:1103064,message:"get device not allowed"},tn={code:1103065,message:"device is not readable"},on={code:1103066,message:"device does not meet constraints"},sn={code:1103067,message:"update sdp time out"},gn={code:1103068,message:"update sdp fail"},un={code:1103073,message:"video effect is starting, please operate after video effect is started"},hn={code:1103078,message:"publish stream poor and net probe poor"},cn={code:1103089,message:i},an={code:1004099,message:"internal exeception"},fn={code:1104001,message:"input parm error"},vn={code:1104021,message:"session request fail"},bn={code:1104022,message:"create offer error"},An={code:1104023,message:"setLocalDescription error"},ln={code:1104024,message:"mediaDesc error"},kn={code:1104025,message:"other side offer error"},dn={code:1104026,message:"candidate error"},Bn={code:1104028,message:"ice connection error"},yn={code:1104029,message:"websocket disconnected"},In={code:1104030,message:"negotiation timeout"},pn={code:1104031,message:"player retry timeout"},En={code:1104032,message:"player is playing"},wn={code:1104033,message:"client ip changed"},Cn={code:1104034,message:"ttl is over time"},Qn={code:1104035,message:"reset session push"},Gn={code:1104036,message:"session request timeout"},Fn={code:1104037,message:"probe time out"},qn={code:1104038,message:"resource mode is not supported"},mn={code:1104039,message:"play stream not found"},Dn={code:1004020,message:"play stream interrupted"},Pn={code:1104041,message:"stream quality poor and net probe poor"},zn={code:1104042,message:i},Kn={code:1104043,message:"mini sdp error"},Sn={code:1104045,message:"play streams is out limit"},Un={code:1104046,message:"play streams auth fail"},xn={code:1103074,message:"video track is not readable"},Mn={code:1103048,message:t.pt},Rn={code:1103072,message:"not support beauty effect"},Yn={code:1103075,message:"beauty effect overload"},Jn={code:1103100,message:"background process is start, but not subscribe yet"}},8866:function(n,r,e){e.d(r,{Rl:function(){return a},Wk:function(){return c},aw:function(){return s},dO:function(){return g},fT:function(){return i},h2:function(){return h},l3:function(){return t},pt:function(){return o},qC:function(){return u}});e(7202),e(8627),e(4908);var t=Promise;var i="room not exist",o="device is not found",s="stream is not from zego",g="input param error",u="local stream wrong",h="no preview",c="publish stream no found",a="network is broken"}},e={};function t(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return r[n](o,o.exports,t),o.exports}t.d=function(n,r){for(var e in r)t.o(r,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:r[e]})},t.o=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})};var i={};t.r(i),t.d(i,{BeautyEffect:function(){return Z}});var o=t(8627),s=t(8866),g=t(4872),u=t(327),h=function(n,r,e,t){return new(e||(e=Promise))(function(i,o){function s(n){try{u(t.next(n))}catch(n){o(n)}}function g(n){try{u(t.throw(n))}catch(n){o(n)}}function u(n){var r;n.done?i(n.value):(r=n.value,r instanceof e?r:new e(function(n){n(r)})).then(s,g)}u((t=t.apply(n,r||[])).next())})},c=function(n,r){var e,t,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:g(0),throw:g(1),return:g(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function g(g){return function(u){return function(g){if(e)throw new TypeError("Generator is already executing.");for(;o&&(o=0,g[0]&&(s=0)),s;)try{if(e=1,t&&(i=2&g[0]?t.return:g[0]?t.throw||((i=t.return)&&i.call(t),0):t.next)&&!(i=i.call(t,g[1])).done)return i;switch(t=0,i&&(g=[2&g[0],i.value]),g[0]){case 0:case 1:i=g;break;case 4:return s.label++,{value:g[1],done:!1};case 5:s.label++,t=g[1],g=[0];continue;case 7:g=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==g[0]&&2!==g[0])){s=0;continue}if(3===g[0]&&(!i||g[1]>i[0]&&g[1]<i[3])){s.label=g[1];break}if(6===g[0]&&s.label<i[1]){s.label=i[1],i=g;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(g);break}i[2]&&s.ops.pop(),s.trys.pop();continue}g=r.call(n,s)}catch(n){g=[6,n],t=0}finally{e=i=0}if(5&g[0])throw g[1];return{value:g[0]?g[1]:void 0,done:!0}}([g,u])}}},a="zc.p.0.sbe.3",f=function(){function n(n){this.t=n,this.recordedFrameCount=0,this.targetFrameRate=0,this.recordingDuration=0}return n.prototype.startRecordBeautyEffectOutput=function(n){return h(this,void 0,void 0,function(){var r,e,t,i=this;return c(this,function(o){switch(o.label){case 0:return r=6,this.recordID?(this.t.warn(a+" detector is already recording"),[2,{result:!0}]):(e=(new Date).getTime(),this.recordID=e,this.targetFrameRate=n,this.recordedFrameCount=0,this.recordingDuration=r,[4,new s.l3(function(n){window.setTimeout(n,1e3*i.recordingDuration)})]);case 1:return o.sent(),this.recordID!==e?(this.recordID=void 0,[2,{result:!0}]):(this.recordID=void 0,t=this.recordedFrameCount/r,this.recordedFrameCount<this.targetFrameRate*this.recordingDuration/2?(this.t.warn(a+" detect effect overload: current fps: "+t),[2,{result:!1,targetFPS:this.targetFrameRate,currentFPS:t}]):(this.t.info(a+" detect effect current fps: "+t),[2,{result:!0}]))}})})},n.prototype.stopRecordBeautyEffectOutput=function(){this.recordedFrameCount=this.targetFrameRate=0,this.recordID=void 0},n.prototype.addFrame=function(){this.recordID&&(this.recordedFrameCount+=1)},n}();function v(n){for(var r=n,e="",t=0;t<r.length;t++){var i=r.charCodeAt(t),o=i;i>=65&&i<=90&&(o=(i-65-13+26)%26+65),i>=97&&i<=122&&(o=(i-97-13+26)%26+97),e+=String.fromCharCode(o)}return e}var b,A=function(){function n(n,r,e){this.gl=n,this.width=r,this.height=e,this.type="baseShader",this.program=null,this.program=null}return n.prototype.setEffectConfig=function(n){},n.prototype.setConstUniforms=function(){},n.prototype.resetResolution=function(n,r){this.width=n||this.width,this.height=r||this.height},n.prototype.render=function(){},n.prototype.renderPreTextures=function(n,r,e){},n.prototype.makeProgram=function(n,r){var e=this.gl,t=v(n),i=v(r),o=this.makeShader(t,e.VERTEX_SHADER),s=this.makeShader(i,e.FRAGMENT_SHADER),g=e.createProgram();return e.attachShader(g,o),e.attachShader(g,s),e.linkProgram(g),e.getProgramParameter(g,e.LINK_STATUS),g},n.prototype.release=function(){},n.prototype.makeShader=function(n,r){var e=this.gl,t=e.createShader(r);return e.shaderSource(t,n),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS),t},n}(),l="nggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\nhavsbez uvtuc sybng grkOyheJvqguBssfrg;\nhavsbez uvtuc sybng grkOyheUrvtugBssfrg;\ninelvat irp2 i_grkpbbeq0;\ninelvat irp4 grkgherFuvsg_1;\ninelvat irp4 grkgherFuvsg_2;\ninelvat irp4 grkgherFuvsg_3;\ninelvat irp4 grkgherFuvsg_4;\nibvq znva()\n{\n ty_Cbfvgvba = nCbfvgvba;\n i_grkpbbeq0 = nGrkPbbeqvangr.kl;\n\n irp2 fvatyrFgrcBssfrg = irp2(grkOyheJvqguBssfrg, grkOyheUrvtugBssfrg)*2.5;\n\n grkgherFuvsg_1 = irp4(nGrkPbbeqvangr.kl - fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + fvatyrFgrcBssfrg);\n grkgherFuvsg_2 = irp4(nGrkPbbeqvangr.kl - 2.0 * fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + 2.0 * fvatyrFgrcBssfrg);\n grkgherFuvsg_3 = irp4(nGrkPbbeqvangr.kl - 3.0 * fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + 3.0 * fvatyrFgrcBssfrg);\n grkgherFuvsg_4 = irp4(nGrkPbbeqvangr.kl - 4.0 * fvatyrFgrcBssfrg, nGrkPbbeqvangr.kl + 4.0 * fvatyrFgrcBssfrg);\n}",k="cerpvfvba zrqvhzc sybng;\nhavsbez fnzcyre2Q hGrkgher;\ninelvat irp2 i_grkpbbeq0;\ninelvat uvtuc irp4 grkgherFuvsg_1;\ninelvat uvtuc irp4 grkgherFuvsg_2;\ninelvat uvtuc irp4 grkgherFuvsg_3;\ninelvat uvtuc irp4 grkgherFuvsg_4;\nibvq znva(ibvq) { \n zrqvhzc irp3 fhz = grkgher2Q(hGrkgher, i_grkpbbeq0).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_1.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_1.mj).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_2.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_2.mj).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_3.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_3.mj).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_4.kl).eto;\n fhz += grkgher2Q(hGrkgher, grkgherFuvsg_4.mj).eto;\n ty_SentPbybe = irp4(fhz * 0.1111, 1.0); \n}",d=(b=function(n,r){return b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])},b(n,r)},function(n,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function e(){this.constructor=n}b(n,r),n.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}),B=function(n){function r(r,e,t){var i=n.call(this,r,e,t)||this;return i.width=e,i.height=t,i.type="BlurShader",i.blurXProgram=null,i.blurYProgram=null,i.diffProgram=null,i.uIntensity=null,i.smoothIntensity=.5,i.blurTextureList=[],i.blurBufferList=[],i.blurXProgram=i.makeProgram(l,k),i.setBorderBlurProgram(i.blurXProgram,1/(e||1),0),i.blurYProgram=i.makeProgram(l,k),i.setBorderBlurProgram(i.blurYProgram,0,1/(t||1)),i.diffProgram=i.makeProgram("nggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\nhavsbez zng4 hCZIZngevk;\ninelvat irp2 i_grkpbbeq0;\nibvq znva()\n{\n // ty_Cbfvgvba = hCZIZngevk * nCbfvgvba;\n ty_Cbfvgvba = nCbfvgvba;\n i_grkpbbeq0 = nGrkPbbeqvangr.kl;\n}","cerpvfvba zrqvhzc sybng;\nhavsbez fnzcyre2Q hGrkgher;\ninelvat irp2 i_grkpbbeq0;\nhavsbez fnzcyre2Q oyheGrkgher;\nibvq znva(ibvq) {\n irp4 vPbybe = grkgher2Q(oyheGrkgher, i_grkpbbeq0);\n irp4 zrnaPbybe = grkgher2Q(hGrkgher, i_grkpbbeq0);\n irp4 qvssPbybe = vPbybe - zrnaPbybe;\n qvssPbybe.e = zva(qvssPbybe.e * 50.0 * qvssPbybe.e, 1.0);\n qvssPbybe.t = zva(qvssPbybe.t * 50.0 * qvssPbybe.t, 1.0);\n qvssPbybe.o = zva(qvssPbybe.o * 50.0 * qvssPbybe.o, 1.0);\n ty_SentPbybe = irp4(qvssPbybe.eto, 1.0);\n}"),i.setDiffBlurProgram(i.diffProgram),i.program=i.makeProgram("\nnggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\ninelvat irp2 i_grkpbbeq0;\nhavsbez sybng jvqguBssfrg;\nhavsbez sybng urvtugBssfrg;\ninelvat irp2 grkgherFuvsg_1;\ninelvat irp2 grkgherFuvsg_2;\ninelvat irp2 grkgherFuvsg_3;\ninelvat irp2 grkgherFuvsg_4;\nibvq znva()\n{\n ty_Cbfvgvba = nCbfvgvba;\n i_grkpbbeq0 = nGrkPbbeqvangr.kl;\n grkgherFuvsg_1 = irp2(i_grkpbbeq0 + 0.5 * irp2(jvqguBssfrg,urvtugBssfrg));\n grkgherFuvsg_2 = irp2(i_grkpbbeq0 + 0.5 * irp2(-jvqguBssfrg,-urvtugBssfrg));\n grkgherFuvsg_3 = irp2(i_grkpbbeq0 + 0.5 * irp2(-jvqguBssfrg,urvtugBssfrg));\n grkgherFuvsg_4 = irp2(i_grkpbbeq0 + 0.5 * irp2(jvqguBssfrg,-urvtugBssfrg));\n}\n","\ncerpvfvba zrqvhzc sybng;\nhavsbez fnzcyre2Q hGrkgher;\ninelvat irp2 i_grkpbbeq0;\nhavsbez fnzcyre2Q oyheGrkgher;\nhavsbez fnzcyre2Q oyheQvssGrkgher;\nhavsbez ybjc sybng oyheNycun;\nibvq znva(ibvq) {\n ybjc irp4 vPbybe = grkgher2Q(hGrkgher, i_grkpbbeq0);\n ybjc irp4 zrnaPbybe = grkgher2Q(oyheGrkgher, i_grkpbbeq0);\n ybjc irp4 inePbybe = grkgher2Q(oyheQvssGrkgher, i_grkpbbeq0);\n ybjc sybng nycun = oyheNycun * 1.0;\n ybjc sybng gurgn = 0.1;\n zrqvhzc sybng c = pynzc((zva(vPbybe.e, zrnaPbybe.e - 0.1) - 0.2) * 4.0, 0.0, 1.0);\n zrqvhzc sybng zrnaIne = znk(znk(inePbybe.e, inePbybe.t), inePbybe.o);\n zrqvhzc sybng xZva = 0.1;\n ybjc irp3 erfhygPbybe;\n xZva = (1.0 - zrnaIne / (zrnaIne + gurgn)) * c * nycun;\n erfhygPbybe = zvk(vPbybe.eto, zrnaPbybe.eto, xZva);\n erfhygPbybe = zvk(vPbybe.eto, erfhygPbybe, zva(1.0,nycun));\n ty_SentPbybe = irp4(erfhygPbybe,1.0);\n}"),i.initBlurBuffer(),i}return d(r,n),r.prototype.setEffectConfig=function(n){isNaN(n.smoothIntensity)||(this.smoothIntensity=n.smoothIntensity/100)},r.prototype.render=function(){this.gl.uniform1f(this.uIntensity,this.smoothIntensity)},r.prototype.initBlurBuffer=function(){var n=this,r=this.gl;this.blurTextureList.forEach(function(r){var e;r&&(null===(e=n.gl)||void 0===e||e.deleteTexture(r))}),this.blurBufferList.forEach(function(r){var e;r&&(null===(e=n.gl)||void 0===e||e.deleteFramebuffer(r))}),this.blurTextureList=[],this.blurBufferList=[];for(var e=0;e<3;e++){var t=r.createTexture();if(!t)return;r.bindTexture(r.TEXTURE_2D,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null);var i=r.createFramebuffer();if(!i)return;r.bindFramebuffer(r.FRAMEBUFFER,i),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0),this.blurTextureList.push(t),this.blurBufferList.push(i)}},r.prototype.renderPreTextures=function(n,r,e){var t=this,i=this.gl,o=[0,1,0],s=[1,1,2];[this.blurXProgram,this.blurYProgram,this.diffProgram].forEach(function(g,u){if(g){i.useProgram(g);var h=i.getUniformLocation(g,"uTexture");i.uniform1i(h,o[u]);var c=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,c),i.bufferData(i.ARRAY_BUFFER,new Float32Array(n),i.STATIC_DRAW);var a=i.createBuffer();i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,a),i.bufferData(i.ELEMENT_ARRAY_BUFFER,new Uint16Array(r),i.STATIC_DRAW);var f=i.getAttribLocation(g,"aPosition");i.enableVertexAttribArray(f),i.vertexAttribPointer(f,3,i.FLOAT,!1,0,0);var v=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,v),i.bufferData(i.ARRAY_BUFFER,new Float32Array(e),i.STATIC_DRAW);var b=i.getAttribLocation(g,"aTexCoordinate");i.enableVertexAttribArray(b),i.vertexAttribPointer(b,2,i.FLOAT,!1,0,0),i.bindFramebuffer(i.FRAMEBUFFER,t.blurBufferList[u]),i.clearColor(0,0,0,1),i.clear(i.COLOR_BUFFER_BIT),i.drawElements(i.TRIANGLES,6,i.UNSIGNED_SHORT,0),i.activeTexture(i.TEXTURE0+s[u]),i.bindTexture(i.TEXTURE_2D,t.blurTextureList[u])}})},r.prototype.setConstUniforms=function(){var n=this.width,r=this.height,e=this.program;if(e){var t=this.gl;t.useProgram(e);var i=t.getUniformLocation(e,"widthOffset");t.uniform1f(i,1/n);var o=t.getUniformLocation(e,"heightOffset");t.uniform1f(o,1/r),this.uIntensity=t.getUniformLocation(e,"blurAlpha"),t.uniform1f(this.uIntensity,this.smoothIntensity);var s=t.getUniformLocation(e,"blurTexture");t.uniform1i(s,1);var g=t.getUniformLocation(e,"blurDiffTexture");t.uniform1i(g,2)}},r.prototype.resetResolution=function(n,r){this.width=n||this.width,this.height=r||this.height,this.blurXProgram&&this.setBorderBlurProgram(this.blurXProgram,1/(n||1),0),this.blurYProgram&&this.setBorderBlurProgram(this.blurYProgram,0,1/(r||1)),this.setConstUniforms(),this.initBlurBuffer()},r.prototype.setBorderBlurProgram=function(n,r,e){var t=this.gl;t.useProgram(n);var i=t.getUniformLocation(n,"texBlurWidthOffset");t.uniform1f(i,r);var o=t.getUniformLocation(n,"texBlurHeightOffset");t.uniform1f(o,e)},r.prototype.setDiffBlurProgram=function(n){var r=this.gl;r.useProgram(n);var e=r.getUniformLocation(n,"blurTexture");r.uniform1i(e,1)},r}(A),y=function(){var n=function(r,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])},n(r,e)};return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=r}n(r,e),r.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}}(),I=function(n){function r(r,e,t){var i=n.call(this,r,e,t)||this;return i.width=e,i.height=t,i.type="LightShader",i.uLightIntensity=null,i.uRedIntensity=null,i.whitenIntensity=.5,i.rosyIntensity=.5,i.program=i.makeProgram("cerpvfvba uvtuc sybng;\nnggevohgr irp2 nGrkPbbeqvangr;\nnggevohgr irp4 nCbfvgvba;\nhavsbez zng4 hCZIZngevk;\ninelvat irp2 iGrkPbbeq;\nibvq znva() {\n ty_Cbfvgvba = hCZIZngevk * nCbfvgvba;\n iGrkPbbeq = nGrkPbbeqvangr;\n}","cerpvfvba uvtuc sybng;\ninelvat irp2 iGrkPbbeq;\nhavsbez fnzcyre2Q hGrkgher;\nhavsbez sybng vagrafvgl;\nhavsbez sybng ebflVagrafvgl;\nirp3 oevtugarffNaqPbagenfg(irp3 pbybe){\n sybng v = vagrafvgl * 1.0;\n sybng CV = 3.1415926;\n sybng O = 0.12 * v;\n sybng p = 0.1 * v;\n sybng x = gna((45. + 44. * p) / 180.0 * CV);\n pbybe = ((pbybe*255.0 - 127.5 * (1.0 - O)) * x + 127.5 * (1.0 + O)) / 255.0;\n erghea pbybe;\n}\nibvq znva() {\n irp4 grkgherPbybe = grkgher2Q(hGrkgher, iGrkPbbeq);\n grkgherPbybe = irp4(oevtugarffNaqPbagenfg(grkgherPbybe.eto), grkgherPbybe.j);\n grkgherPbybe.e = zva(grkgherPbybe.e + 0.06 * ebflVagrafvgl, 1.0);\n ty_SentPbybe = grkgherPbybe;\n}"),i}return y(r,n),r.prototype.setEffectConfig=function(n){isNaN(n.whitenIntensity)||(this.whitenIntensity=n.whitenIntensity/100),isNaN(n.rosyIntensity)||(this.rosyIntensity=n.rosyIntensity/100)},r.prototype.render=function(){var n=this.gl;n.uniform1f(this.uLightIntensity,this.whitenIntensity),n.uniform1f(this.uRedIntensity,this.rosyIntensity)},r.prototype.setConstUniforms=function(){var n=this.program;if(n){var r=this.gl;r.useProgram(n),this.uLightIntensity=r.getUniformLocation(n,"intensity"),r.uniform1f(this.uLightIntensity,this.whitenIntensity),this.uRedIntensity=r.getUniformLocation(n,"rosyIntensity"),r.uniform1f(this.uRedIntensity,this.rosyIntensity);var e=r.getUniformLocation(n,"uPMVMatrix");r.uniformMatrix4fv(e,!1,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}},r}(A),p=function(){var n=function(r,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])},n(r,e)};return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=r}n(r,e),r.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}}(),E=function(n,r,e,t){return new(e||(e=Promise))(function(i,o){function s(n){try{u(t.next(n))}catch(n){o(n)}}function g(n){try{u(t.throw(n))}catch(n){o(n)}}function u(n){var r;n.done?i(n.value):(r=n.value,r instanceof e?r:new e(function(n){n(r)})).then(s,g)}u((t=t.apply(n,r||[])).next())})},w=function(n,r){var e,t,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:g(0),throw:g(1),return:g(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function g(g){return function(u){return function(g){if(e)throw new TypeError("Generator is already executing.");for(;o&&(o=0,g[0]&&(s=0)),s;)try{if(e=1,t&&(i=2&g[0]?t.return:g[0]?t.throw||((i=t.return)&&i.call(t),0):t.next)&&!(i=i.call(t,g[1])).done)return i;switch(t=0,i&&(g=[2&g[0],i.value]),g[0]){case 0:case 1:i=g;break;case 4:return s.label++,{value:g[1],done:!1};case 5:s.label++,t=g[1],g=[0];continue;case 7:g=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==g[0]&&2!==g[0])){s=0;continue}if(3===g[0]&&(!i||g[1]>i[0]&&g[1]<i[3])){s.label=g[1];break}if(6===g[0]&&s.label<i[1]){s.label=i[1],i=g;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(g);break}i[2]&&s.ops.pop(),s.trys.pop();continue}g=r.call(n,s)}catch(n){g=[6,n],t=0}finally{e=i=0}if(5&g[0])throw g[1];return{value:g[0]?g[1]:void 0,done:!0}}([g,u])}}},C=function(n){function r(r,e,t){var i=n.call(this,r,e,t)||this;return i.width=e,i.height=t,i.type="LowLightShader",i.uIntensity=null,i.lowlightEnhancement=!1,i.lutTex=null,i.lutImg=null,i.lutTexIdx=10,i.uLutTex=null,i.program=i.makeProgram("\nnggevohgr irp4 nCbfvgvba;\nnggevohgr irp4 nGrkPbbeqvangr;\nhavsbez sybng grkryJvqgu;\nhavsbez sybng grkryUrvtug;\ninelvat irp2 grkgherPbbeqvangr[9];\ninelvat irp2 grkgherPbbeqvangr2;\nhavsbez zng4 hCZIZngevk;\nibvq znva(){\n ty_Cbfvgvba = hCZIZngevk * nCbfvgvba;\n grkgherPbbeqvangr2 = nGrkPbbeqvangr.kl;\n grkgherPbbeqvangr[0] = nGrkPbbeqvangr.kl;\n irp2 jvqguFgrc = irp2(grkryJvqgu, 0.0);\n irp2 urvtugFgrc = irp2(0.0, grkryUrvtug);\n irp2 jvqguUrvtugFgrc = irp2(grkryJvqgu, grkryUrvtug);\n irp2 jvqguArtngvirUrvtugFgrc = irp2(grkryJvqgu, -grkryUrvtug);\n \n grkgherPbbeqvangr[0] = nGrkPbbeqvangr.kl;\n grkgherPbbeqvangr[1] = nGrkPbbeqvangr.kl - jvqguFgrc;\n grkgherPbbeqvangr[2] = nGrkPbbeqvangr.kl + jvqguFgrc;\n \n grkgherPbbeqvangr[3] = nGrkPbbeqvangr.kl - urvtugFgrc;\n grkgherPbbeqvangr[4] = nGrkPbbeqvangr.kl - jvqguUrvtugFgrc;\n grkgherPbbeqvangr[5] = nGrkPbbeqvangr.kl + jvqguArtngvirUrvtugFgrc;\n \n grkgherPbbeqvangr[6] = nGrkPbbeqvangr.kl + urvtugFgrc;\n grkgherPbbeqvangr[7] = nGrkPbbeqvangr.kl - jvqguArtngvirUrvtugFgrc;\n grkgherPbbeqvangr[8] = nGrkPbbeqvangr.kl + jvqguUrvtugFgrc;\n}\n","cerpvfvba uvtuc sybng;\ninelvat uvtuc irp2 grkgherPbbeqvangr[9];\ninelvat uvtuc irp2 grkgherPbbeqvangr2;\nhavsbez fnzcyre2Q hGrkgher;\nhavsbez fnzcyre2Q vachgVzntrGrkgher2;\nhavsbez uvtuc zng3 zngLHIgbETO;\nhavsbez uvtuc zng3 zngETOgbLHI;\nhavsbez sybng hVagrafvgl;\npbafg irp3 pbzcIrp = irp3(-0.0/255.0, -128.0/255.0, -128.0/255.0);\nirp4 eto2lhi(irp4 vachgETO) {\n irp3 bhgchgLHI;\n bhgchgLHI = zngETOgbLHI * vachgETO.eto;\n bhgchgLHI -= pbzcIrp;\n erghea irp4(pynzc(bhgchgLHI,\n irp3(0.0, 0.0, 0.0),\n irp3(1.0, 1.0, 1.0)),\n vachgETO.n);\n}\nirp2 fnghengvba(irp2 bet, sybng snpgbe) {\n irp2 zbq = irp2((bet.k - 128.0/255.0) * snpgbe + 128.0/255.0,\n (bet.l - 128.0/255.0) * snpgbe + 128.0/255.0);\n erghea pynzc(zbq, irp2(0.0, 0.0), irp2(1.0, 1.0));\n}\nirp4 lhi2eto(irp4 vachgLHI) {\n irp3 bhgchgETO;\n vachgLHI.eto += pbzcIrp;\n bhgchgETO = zngLHIgbETO * vachgLHI.eto;\n erghea irp4(pynzc(bhgchgETO,\n irp3(0.0, 0.0, 0.0),\n irp3(1.0, 1.0, 1.0)),\n vachgLHI.n);\n}\nibvq znva(){\n irp4 lhi[9];\n sbe(vag v = 0; v < 9; v++){\n lhi[v] = eto2lhi(grkgher2Q(hGrkgher, grkgherPbbeqvangr[v]));\n }\n sybng fzbbguL = 0.0;\n fzbbguL += 1.0*lhi[4].e + 2.0*lhi[3].e + 1.0*lhi[5].e;\n fzbbguL += 2.0*lhi[1].e + 4.0*lhi[0].e + 2.0*lhi[2].e;\n fzbbguL += 1.0*lhi[7].e + 2.0*lhi[6].e + 1.0*lhi[8].e;\n fzbbguL = fzbbguL / 16.0;\n sybng bhgchgL = grkgher2Q(vachgVzntrGrkgher2, irp2(fzbbguL, lhi[0].e)).e;\n irp3 arjLHI = irp3(zvk(fzbbguL, bhgchgL, hVagrafvgl), lhi[0].to);\n ty_SentPbybe = lhi2eto(irp4(arjLHI.eto, lhi[0].n));\n}\n"),i}return p(r,n),r.prototype.setEffectConfig=function(n){this.lowlightEnhancement=1===n.lowlightEnhancement},r.prototype.release=function(){this.gl.deleteTexture(this.lutTex)},r.prototype.render=function(){var n=this.gl;n.uniform1f(this.uIntensity,this.lowlightEnhancement?.6:0);var r=this,e=r.program,t=r.width,i=r.height,o=r.lutTex;if(e){var s=n.getUniformLocation(e,"texelWidth");n.uniform1f(s,1/t);var g=n.getUniformLocation(e,"texelHeight");n.uniform1f(g,1/i),n.activeTexture(n.TEXTURE0+this.lutTexIdx),n.bindTexture(n.TEXTURE_2D,o)}},r.prototype.setConstUniforms=function(){return E(this,void 0,void 0,function(){var n,r,e,t,i,o,g,u,h,c,a=this;return w(this,function(f){switch(f.label){case 0:return n=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r=[1,1,1,0,-.344,1.772,1.402,-.714,0],e=[.298973,-.168721,.500019,.58706,-.331298,-.41873,.113967,.500019,-.081289],(t=this.program)?((i=this.gl).useProgram(t),this.uIntensity=i.getUniformLocation(t,"uIntensity"),o=i.getUniformLocation(t,"matYUVtoRGB"),i.uniformMatrix3fv(o,!1,r),g=i.getUniformLocation(t,"matRGBtoYUV"),i.uniformMatrix3fv(g,!1,e),u=i.getUniformLocation(t,"uPMVMatrix"),i.uniformMatrix4fv(u,!1,n),h=i.getUniformLocation(t,"inputImageTexture2"),c=this,[4,new s.l3(function(n){var r=i.createTexture(),e=a.lutTexIdx,o=a.lutImg;o||(o=new Image);o.onload=function(){i.useProgram(t),a.lutImg=o,i.activeTexture(i.TEXTURE0+e),i.bindTexture(i.TEXTURE_2D,r),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.texImage2D(i.TEXTURE_2D,0,i.LUMINANCE,i.LUMINANCE,i.UNSIGNED_BYTE,o),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.uniform1i(h,e),r&&n(r)},o.src="\ndata:image/png;base64,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