UNPKG

facefilter

Version:

Real time face detection and tracking from camera video feed.

113 lines (112 loc) 111 kB
/** * Jeeliz Face Filter - https://github.com/jeeliz/jeelizFaceFilter * * Copyright 2020 WebAR.rocks ( https://webar.rocks ) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* eslint-enable */ /* prettier-ignore */ var Fa="function"==typeof Object.defineProperties?Object.defineProperty:function(J,N,Q){if(J==Array.prototype||J==Object.prototype)return J;J[N]=Q.value;return J};function Ua(J){J=["object"==typeof globalThis&&globalThis,J,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var N=0;N<J.length;++N){var Q=J[N];if(Q&&Q.Math==Math)return Q}throw Error("Cannot find global object");}var xb=Ua(this); function Ib(J,N){if(N)a:{var Q=xb;J=J.split(".");for(var ea=0;ea<J.length-1;ea++){var la=J[ea];if(!(la in Q))break a;Q=Q[la]}J=J[J.length-1];ea=Q[J];N=N(ea);N!=ea&&null!=N&&Fa(Q,J,{configurable:!0,writable:!0,value:N})}}function Jb(J){var N=0;return function(){return N<J.length?{done:!1,value:J[N++]}:{done:!0}}} function Kb(J){var N="undefined"!=typeof Symbol&&Symbol.iterator&&J[Symbol.iterator];if(N)return N.call(J);if("number"==typeof J.length)return{next:Jb(J)};throw Error(String(J)+" is not an iterable or ArrayLike");} Ib("Symbol",function(J){function N(va){if(this instanceof N)throw new TypeError("Symbol is not a constructor");return new Q(ea+(va||"")+"_"+la++,va)}function Q(va,O){this.D=va;Fa(this,"description",{configurable:!0,writable:!0,value:O})}if(J)return J;Q.prototype.toString=function(){return this.D};var ea="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",la=0;return N}); Ib("Symbol.iterator",function(J){if(J)return J;J=Symbol("Symbol.iterator");for(var N="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),Q=0;Q<N.length;Q++){var ea=xb[N[Q]];"function"===typeof ea&&"function"!=typeof ea.prototype[J]&&Fa(ea.prototype,J,{configurable:!0,writable:!0,value:function(){return Xb(Jb(this))}})}return J});function Xb(J){J={next:J};J[Symbol.iterator]=function(){return this};return J} Ib("Promise",function(J){function N(O){this.ba=0;this.qa=void 0;this.D=[];this.Zc=!1;var U=this.eb();try{O(U.resolve,U.reject)}catch(ha){U.reject(ha)}}function Q(){this.D=null}function ea(O){return O instanceof N?O:new N(function(U){U(O)})}if(J)return J;Q.prototype.ba=function(O){if(null==this.D){this.D=[];var U=this;this.qa(function(){U.fb()})}this.D.push(O)};var la=xb.setTimeout;Q.prototype.qa=function(O){la(O,0)};Q.prototype.fb=function(){for(;this.D&&this.D.length;){var O=this.D;this.D=[];for(var U= 0;U<O.length;++U){var ha=O[U];O[U]=null;try{ha()}catch(ma){this.eb(ma)}}}this.D=null};Q.prototype.eb=function(O){this.qa(function(){throw O;})};N.prototype.eb=function(){function O(ma){return function(Aa){ha||(ha=!0,ma.call(U,Aa))}}var U=this,ha=!1;return{resolve:O(this.Ie),reject:O(this.fb)}};N.prototype.Ie=function(O){if(O===this)this.fb(new TypeError("A Promise cannot resolve to itself"));else if(O instanceof N)this.Le(O);else{a:switch(typeof O){case "object":var U=null!=O;break a;case "function":U= !0;break a;default:U=!1}U?this.He(O):this.De(O)}};N.prototype.He=function(O){var U=void 0;try{U=O.then}catch(ha){this.fb(ha);return}"function"==typeof U?this.Me(U,O):this.De(O)};N.prototype.fb=function(O){this.$c(2,O)};N.prototype.De=function(O){this.$c(1,O)};N.prototype.$c=function(O,U){if(0!=this.ba)throw Error("Cannot settle("+O+", "+U+"): Promise already settled in state"+this.ba);this.ba=O;this.qa=U;2===this.ba&&this.Ke();this.Fe()};N.prototype.Ke=function(){var O=this;la(function(){if(O.Ge()){var U= xb.console;"undefined"!==typeof U&&U.error(O.qa)}},1)};N.prototype.Ge=function(){if(this.Zc)return!1;var O=xb.CustomEvent,U=xb.Event,ha=xb.dispatchEvent;if("undefined"===typeof ha)return!0;"function"===typeof O?O=new O("unhandledrejection",{cancelable:!0}):"function"===typeof U?O=new U("unhandledrejection",{cancelable:!0}):(O=xb.document.createEvent("CustomEvent"),O.initCustomEvent("unhandledrejection",!1,!0,O));O.promise=this;O.reason=this.qa;return ha(O)};N.prototype.Fe=function(){if(null!=this.D){for(var O= 0;O<this.D.length;++O)va.ba(this.D[O]);this.D=null}};var va=new Q;N.prototype.Le=function(O){var U=this.eb();O.ob(U.resolve,U.reject)};N.prototype.Me=function(O,U){var ha=this.eb();try{O.call(U,ha.resolve,ha.reject)}catch(ma){ha.reject(ma)}};N.prototype.then=function(O,U){function ha(Ga,Qa){return"function"==typeof Ga?function(ab){try{ma(Ga(ab))}catch(ib){Aa(ib)}}:Qa}var ma,Aa,jb=new N(function(Ga,Qa){ma=Ga;Aa=Qa});this.ob(ha(O,ma),ha(U,Aa));return jb};N.prototype.catch=function(O){return this.then(void 0, O)};N.prototype.ob=function(O,U){function ha(){switch(ma.ba){case 1:O(ma.qa);break;case 2:U(ma.qa);break;default:throw Error("Unexpected state: "+ma.ba);}}var ma=this;null==this.D?va.ba(ha):this.D.push(ha);this.Zc=!0};N.resolve=ea;N.reject=function(O){return new N(function(U,ha){ha(O)})};N.race=function(O){return new N(function(U,ha){for(var ma=Kb(O),Aa=ma.next();!Aa.done;Aa=ma.next())ea(Aa.value).ob(U,ha)})};N.all=function(O){var U=Kb(O),ha=U.next();return ha.done?ea([]):new N(function(ma,Aa){function jb(ab){return function(ib){Ga[ab]= ib;Qa--;0==Qa&&ma(Ga)}}var Ga=[],Qa=0;do Ga.push(void 0),Qa++,ea(ha.value).ob(jb(Ga.length-1),Aa),ha=U.next();while(!ha.done)})};return N});Ib("Math.log2",function(J){return J?J:function(N){return Math.log(N)/Math.LN2}});function Yb(J,N){J instanceof String&&(J+="");var Q=0,ea=!1,la={next:function(){if(!ea&&Q<J.length){var va=Q++;return{value:N(va,J[va]),done:!1}}ea=!0;return{done:!0,value:void 0}}};la[Symbol.iterator]=function(){return la};return la} Ib("Array.prototype.keys",function(J){return J?J:function(){return Yb(this,function(N){return N})}});var Zb="function"==typeof Object.assign?Object.assign:function(J,N){for(var Q=1;Q<arguments.length;Q++){var ea=arguments[Q];if(ea)for(var la in ea)Object.prototype.hasOwnProperty.call(ea,la)&&(J[la]=ea[la])}return J};Ib("Object.assign",function(J){return J||Zb}); function $b(J,N,Q){J instanceof String&&(J=String(J));for(var ea=J.length,la=0;la<ea;la++){var va=J[la];if(N.call(Q,va,la,J))return{Kd:la,Ee:va}}return{Kd:-1,Ee:void 0}}Ib("Array.prototype.find",function(J){return J?J:function(N,Q){return $b(this,N,Q).Ee}});Ib("Object.is",function(J){return J?J:function(N,Q){return N===Q?0!==N||1/N===1/Q:N!==N&&Q!==Q}}); Ib("Array.prototype.includes",function(J){return J?J:function(N,Q){var ea=this;ea instanceof String&&(ea=String(ea));var la=ea.length;Q=Q||0;for(0>Q&&(Q=Math.max(Q+la,0));Q<la;Q++){var va=ea[Q];if(va===N||Object.is(va,N))return!0}return!1}}); Ib("String.prototype.includes",function(J){return J?J:function(N,Q){if(null==this)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(N instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return-1!==this.indexOf(N,Q||0)}});Ib("Array.prototype.findIndex",function(J){return J?J:function(N,Q){return $b(this,N,Q).Kd}}); Ib("Promise.prototype.finally",function(J){return J?J:function(N){return this.then(function(Q){return Promise.resolve(N()).then(function(){return Q})},function(Q){return Promise.resolve(N()).then(function(){throw Q;})})}}); const JEELIZFACEFILTERGEN=function(){function J(a){var c=null,d=null,g=null,k=0,n=this,r=null,m={cb:[],Mb:"none",Fc:!1,Lb:null,grid:null};this.A=function(){this.We(r.cb);g.Eg({Mb:r.Mb,Fc:r.Fc,Lb:r.Lb})};this.Jf=function(l){return c[l]};this.Xb=function(l){["s32","s34","s27"].forEach(function(q){F.U(q,[{type:"2f",name:"u21",value:l}])});c&&c.forEach(function(q){q.Xb(l)})};this.We=function(l){var q=null;k=l.length;var x=null!==r.grid&&a.grid.length&&!(1===a.grid[0]&&1===a.grid[1]),B=x?r.grid:[1,1]; x&&this.Xb(B);c=l.map(function(v,t){v=Object.assign({},v,{index:t,parent:n,Ob:q,Xf:t===k-1,$a:x,V:B});return q=t=0===t?ac.instance(v):bc.instance(v)});d=c[0];g=c[k-1];c.forEach(function(v,t){0!==t&&v.mg()})};this.W=function(l){l.h(0);var q=l;c.forEach(function(x){q=x.W(q,!1)});return q};this.If=function(){return d.Hf()};this.Ya=function(){return g.Lf()};this.Dd=function(){return g.Dd()};this.m=function(){c&&(c.forEach(function(l){l.m()}),g=d=c=null,k=0)};"undefined"!==typeof a&&(r=Object.assign({}, m,a),this.A())}function N(a,c){return a[c>>3]>>7-(c&7)&1}function Q(a,c,d){for(var g=0,k=0;k<d;k++)g=g<<1|N(a,c+k);return g}function ea(a){var c=null;a=a.data;"undefined"===typeof btoa&&"undefined"!==typeof Buffer?c=Buffer.from(a,"base64").toString("latin1"):c=atob(a);a=c.length;for(var d=new Uint8Array(a),g=0;g<a;++g)d[g]=c.charCodeAt(g);return d}function la(a){return"string"===typeof a?JSON.parse(a):a}function va(a){if("undefined"===typeof la(a).nb){var c=la(a);a=c.ne;var d=c.nf,g=c.n;c=ea(c);for(var k= new Float32Array(g),n=new Float32Array(d),r=a+d+1,m=new Float32Array(d),l=.5,q=0;q<d;q++)m[q]=l,l*=.5;for(l=0;l<g;++l){var x=r*l;q=0===N(c,x)?1:-1;var B=Q(c,x+1,a),v=c;x=x+1+a;for(var t=n.length,G=0,K=x;K<x+t;++K)n[G]=N(v,K,!0),++G;for(x=v=0;x<d;++x)v+=n[x]*m[x];k[l]=0===v&&0===B?0:q*(1+v)*Math.pow(2,1+B-Math.pow(2,a-1))}a=k}else if(g=la(a),a=g.nb,0===a)a=new Uint8Array(g.nb);else{d=g.n;g=ea(g);c=new Uint32Array(d);for(k=0;k<d;++k)c[k]=Q(g,k*a,a);a=c}return a}function O(){return-1!==[ta.ready,ta.play, ta.pause].indexOf(ya)}function U(){if(ya===ta.play)return!1;ya=ta.play;bb.stop();Ga(0)}function ha(){if(ya!==ta.play)return!1;Ca.stop();bb.stop();ya=ta.pause;return!0}function ma(a,c,d,g,k){a=4*(3*c+a)+d;return g+(ba.buffer[a]/255+ba.buffer[a+12]/65025)*(k-g)}function Aa(){b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL,!1);Va.Of()}function jb(){var a=qa.ta();Ha.O();b.viewport(0,0,3,2*a);F.set("s62");ba.Aa.h(0);V.l(!1,!1);return na.enableAsyncReadPixels?ia.Qb(0,0,3,2*a,ba.buffer,ab,1):ia.je(0,0,3,2*a,ba.buffer)} function Ga(){ya!==ta.pause&&(na.isCleanGLStateAtEachIteration&&(F.sd(),V.reset(),V.Ea(),b.disable(b.DEPTH_TEST),b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL,!1),F.Ma()),Ca.Kc(Qa,jb,ib,ab,cc,na.animateProcessOrder))}function Qa(){Ha.ha();if(!M.Eb)if(M.Db)M.element.needsUpdate&&(M.F.re(M.element.videoWidth,M.element.videoHeight),M.F.Wb(M.element.arrayBuffer),M.element.needsUpdate=!1);else{var a=M.element.currentTime,c=a-M.Pb;0>c&&(M.Pb=a,c=0);1E3*c<pa.Pg||(M.Pb+=c,M.F.refresh())}a=Ca.Kf();qa.update(a,Ra);for(c= 0;c<a;++c){qa.Ub(c);F.set("s64");var d=Ra[qa.Ed()];F.K("u46",1+cb.Lc*(Math.cos(d.ry)-1));Y.Ga&&F.K("u45",d.rz);qa.ze("u44");var g=db.If();d=Lb.rf(ja.u,d,g);ja.Za.N(d,g);M.F.h(0);ba.Aa.h(1);V.l(!1,!1);db.W(ja.Za)}Ca.Ub()}function ab(){Ha.Mg();na.isCleanGLStateAtEachIteration&&(Ha.reset(),ka.reset(),b.enable(b.DEPTH_TEST));Y.$b&&Y.$b(qa.Wd()?Ra:Ra[0]);na.isCleanGLStateAtEachIteration&&(b.disable(b.BLEND),V.reset(),V.Ea())}function ib(){for(var a=0;a<qa.ta();++a)if(qa.cg(a)){var c=a,d=kb[c],g=[c],k= Ra[c],n=yb[c],r=2*c;d.qb=ma(1,r,3,0,1);k.detected=Ka.ca(k.detected,d.qb,pa.Oe);d.x=ma(0,r,1,-1,1);d.y=ma(0,r,2,-1,1);d.ea=ma(0,r,3,0,1);if(d.qb<na.multiDetectionThresholdFactors[0]*na.threshold)d.xa=Math.floor(d.xa/2),Y.Ga&&(k.rz=0,k.ry=0);else{var m=ba.gb;d.rx=ma(1,r,0,-m[0],m[0]);d.ry=ma(1,r,1,-m[1],m[1]);d.za=ma(1,r,2,-m[2],m[2]);for(m=0;m<ba.da;++m)d.zd[m]=ba.Fa[m](ma(2,r,m,0,1));r=d.ea*ba.me;g.dx=d.x-k.xRaw;g.dy=d.y-k.yRaw;g.jc=r-k.sRaw;g.fc=d.rx-k.rx;g.hc=d.ry-k.ry;g.ic=Y.Ga?d.za:d.za-k.rz; m=Ca.Bf();g=(1-rb.Jb(Ia.translationFactorRange[0],Ia.translationFactorRange[1],Math.sqrt(g.dx*g.dx+g.dy*g.dy+g.jc*g.jc)/m))*(1-rb.Jb(Ia.rotationFactorRange[0],Ia.rotationFactorRange[1],Math.sqrt(g.fc*g.fc+g.hc*g.hc+g.ic*g.ic)/m))*rb.Jb(Ia.qualityFactorRange[0],Ia.qualityFactorRange[1],d.qb);c=n[++zb[c]%n.length]=g;for(m=0;m<n.length;++m)c=Math.min(c,n[m]);c=Math.max(.5,c);g=Math.min(c,g);n=Ka.ca(Ia.alphaRange[1],Ia.alphaRange[0],Math.pow(g,pa.Qe));k.xRaw=Ka.ca(k.xRaw,d.x,n);k.yRaw=Ka.ca(k.yRaw,d.y, n);k.sRaw=Ka.ca(k.sRaw,r,n);k.rx=Ka.ca(k.rx,d.rx,n);k.ry=Ka.ca(k.ry,d.ry,n);k.rz=Y.Ga?k.rz+Ia.followZRotAlphaFactor*n*d.za:Ka.ca(k.rz,d.za,n);c=k.sRaw*cb.ec*Math.sin(k.ry);r=Math.sin(k.rz)*c/eb;k.x=k.xRaw+Math.cos(k.rz)*c;k.y=k.yRaw+r;k.s=k.sRaw;n=Math.max(n,pa.Pe);for(c=0;c<ba.da;++c)k.expressions[c]=Ka.ca(k.expressions[c],d.zd[c],n);++d.xa}}}function cc(){ya===ta.play&&bb.Kc(Ga)}function Mb(){ja.Za=Lb.instance({});var a={width:pa.we,height:qa.ta(),isFloat:!0,isPot:!1,array:qa.lf(new Float32Array([0, .5,.5,0,0,0,0,0,0,0,0,0]))};ba.Aa=dc.instance(a)}function Ab(){F.U("s64",[{type:"1i",name:"u1",value:0},{type:"1i",name:"u42",value:1},{type:"2f",name:"u43",value:ja.H},{type:"1f",name:"u44",value:.5},{type:"1f",name:"u45",value:0}]);F.U("s65",[{type:"1i",name:"u47",value:0},{type:"1i",name:"u42",value:1},{type:"1f",name:"u50",value:pa.Kg},{type:"1f",name:"u51",value:na.threshold},{type:"3f",name:"u49",value:[ba.R[0]*ja.H[0],ba.R[1]*ja.H[1],ba.R[2]]},{type:"1f",name:"u44",value:.5},{type:"1f",name:"u52", value:1},{type:"1f",name:"u45",value:0}]);var a=[{type:"1i",name:"u47",value:0}];F.U("s66",a);F.U("s67",a);F.U("s62",[{type:"1i",name:"u42",value:0},{type:"1f",name:"u55",value:ja.H[0]},{type:"2f",name:"u54",value:[0,.5/qa.ta()]}])}function Bb(){ja.H[0]=1;ja.H[1]=ja.u/ja.J;lb.A({Nb:na.overlapFactors,ce:na.nScaleLevels,u:ja.u,J:ja.J,le:na.scale0Factor,R:ba.R,Mc:na.scanCenterFirst})}function ec(a){if(Y.Pa)Nb("string"===typeof Y.Pa?JSON.parse(Y.Pa):Y.Pa,a);else{var c=Y.dd;"JSON"!==c.toUpperCase().split(".").pop()&& (c+=pa.neuralNetworkPath);sb.get(c,function(d){d=JSON.parse(d);Nb(d,a)})}}function Nb(a,c){if(a.exportData){var d=a.exportData;d.rotationEulerAnglesFactors&&(ba.gb=d.rotationEulerAnglesFactors);if(d.translationScalingFactors){var g=d.translationScalingFactors,k=na.translationScalingFactors;ba.R[0]=g[0]*k[0];ba.R[1]=g[1]*k[1];ba.R[2]=g[2]*k[2]}"undefined"!==typeof d.nExpressions&&(ba.da=d.nExpressions);ba.me=d.dsMean?1+d.dsMean:1;cb.Lc=.4;cb.ec=.7;"undefined"!==typeof d.fgScaleXFactor&&(cb.Lc=d.fgScaleXFactor); "undefined"!==typeof d.fgDisplaceXFactor&&(cb.ec=d.fgDisplaceXFactor)}ba.da||(ba.da=pa.be);if(!ba.Fa)for(ba.Fa=[],d=0;d<ba.da;++d)ba.Fa.push(pa.uf);c(a)}function fc(){if(Va.A({pb:Y.ja,width:ja.u,height:ja.J,debug:!1,Ec:function(){Wa("GLCONTEXT_LOST")},antialias:Y.antialias,premultipliedAlpha:!0}))return!0;Wa("GL_INCOMPATIBLE");return!1}function gc(){var a=qa.Ed(),c=Ra[a];ba.Aa.ug(1);b.viewport(0,a,1,1);F.set("s65");Y.Ga&&F.K("u45",c.rz);qa.ze("u44");var d=1,g=qa.Gg(kb,Ra,ja.u/ja.J);qa.Wd()&&(g&&(d= 0,kb[a].xa=0,c.isDetected=!1,c.detected=0),F.K("u52",d));F.Ag("u48",lb.get(a));V.l(!1,!1);if(qa.Vd()||g)b.viewport(1,a,1,1),F.set("s66"),F.K("u52",d),V.l(!1,!1);qa.Vd()&&(b.viewport(2,a,1,1),F.set("s67"),V.l(!1,!1));ba.Aa.sync()}function Ob(){M.F&&M.F.remove();M.Db=M.element.isFakeVideo?!0:!1;if(M.Db){var a=Pb();a={isFlipY:!1,array:M.element.arrayBuffer,width:a.w,height:a.Ia,isKeepArray:!0}}else a={L:M.element};M.Rc=ka.instance(Object.assign({isPot:!1,isLinear:!0,isFloat:!1},a));M.F=M.Rc}function Xa(){var a= [{type:"mat2",name:"u41",value:M.B}];F.U("s63",[{type:"1i",name:"u1",value:0}].concat(a));F.U("s64",a)}function Ya(){var a=[.5,.5],c=M.H[1]/M.H[0];eb=Va.Y()/Va.M();90===Math.abs(Ba.rotate)&&(c=1/c);c>eb?a[1]*=eb/c:a[0]*=c/eb;F.U("s65",[{name:"u53",type:"1f",value:eb}]);M.B[0]=0;M.B[1]=0;M.B[2]=0;M.B[3]=0;switch(Ba.rotate){case 0:M.B[0]=a[0];M.B[3]=a[1];break;case 180:M.B[0]=-a[0];M.B[3]=-a[1];break;case 90:M.B[1]=a[0];M.B[2]=-a[1];break;case -90:M.B[1]=-a[0],M.B[2]=a[1]}Ba.flipX&&(M.B[0]*=-1,M.B[2]*= -1);M.Eb||(M.B[1]*=-1,M.B[3]*=-1)}function Pb(){var a={w:M.element.videoWidth||M.element.width,Ia:M.element.videoHeight||M.element.height};if(!a.w||!a.Ia||4>a.w||4>a.Ia)throw Error("INVALID VIDEO DIMENSIONS - width = "+a.w+" height = "+a.Ia);return a}function Cb(){var a=Pb(),c=M.H[0]!==a.w||M.H[1]!==a.Ia;c&&(M.H[0]=a.w,M.H[1]=a.Ia);return c}function tb(a,c){if(ya===ta.error)return!1;M.element=a;Cb();c&&c();return!0}function Qb(a,c,d){a&&a();M.Ua={video:{facingMode:{exact:Ba.facingMode},width:{min:Ba.minWidth, max:Ba.maxWidth,ideal:Ba.idealWidth},height:{min:Ba.minHeight,max:Ba.maxHeight,ideal:Ba.idealHeight}},audio:!1};fa.fd(M.Ua,Ba.deviceId);fa.get(M.element?M.element:fa.Id(),function(g){c&&c(g);d(g)},function(){Wa("WEBCAM_UNAVAILABLE")},M.Ua)}function Wa(a){ya!==ta.error&&(ya=ta.error,Y.Ta&&Y.Ta(a))}var Ka={Rh:function(a){return Math.ceil(Math.log2(a))},mi:function(a){return Math.log2(a)},ii:function(a){return 0===Math.log2(a)%1},ah:function(a){var c=[0,0,0,0];a.forEach(function(d){c[0]+=d[0];c[1]+= d[1];c[2]+=d[2];c[3]+=d[3]});return c},bh:function(a,c,d){return Math.min(Math.max(a,c),d)},fh:function(a){return a*Math.PI/180},ui:function(a,c){c=Math.pow(10,c);return Math.round(a*c)/c},vi:function(a){return Math.round(1E6*a)/1E6},Sh:function(a,c){return(100*a/c).toFixed(3)},ca:function(a,c,d){return a*(1-d)+c*d},ni:function(a,c){return a[0]*(1-c)+a[1]*c},kf:function(a,c){return Ka.bf(a-c)},bf:function(a){for(;a>Math.PI;)a-=2*Math.PI;for(;a<=-Math.PI;)a+=2*Math.PI;return a},jh:function(a,c){return Math.abs(Ka.kf(a, c))},Qg:function(a,c){return Math.atan2(Math.sin(a)+Math.sin(c),Math.cos(a)+Math.cos(c))}},sb={get:function(a,c,d){var g=new XMLHttpRequest;g.open("GET",a,!0);g.withCredentials=!1;g.onreadystatechange=function(){4===g.readyState&&(200===g.status||0===g.status?c(g.responseText):"undefined"!==typeof d&&d(g.status))};g.send()},Mf:function(a){return new Promise(function(c,d){sb.get(a,c,d)})},Oh:function(a,c,d){a+=d?"?"+sb.qf(d):"";sb.get(a,function(g){c(JSON.parse(g))})},pi:function(a,c,d){var g=new XMLHttpRequest; g.open("POST",a,!0);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.onreadystatechange=function(){4!==g.readyState||200!==g.status&&0!==g.status||d(g.responseText)};g.send(c)},qf:function(a){return"string"===typeof a?a:Object.keys(a).map(function(c){return encodeURIComponent(c)+"="+encodeURIComponent(a[c])}).join("&")},Ch:function(a,c){var d=new XMLHttpRequest;d.open("POST",a,!0);d.responseType="arraybuffer";d.onload=function(){c(d.response)};d.send()}},hc={create:function(a, c){for(var d=Array(c),g=0;g<c;++g)d[g]=a;return d},gh:function(a,c){for(var d=0;d<a.length;++d)c[d]=a[d]},clone:function(a){for(var c=Array(a.length),d=0;d<a.length;++d)c[d]=a[d];return c},yi:function(a,c,d){a.forEach(function(g,k){c[k]=g*d})},Ki:function(a){for(var c=a.length-1;0<c;--c){var d=Math.floor(Math.random()*(c+1)),g=a[c];a[c]=a[d];a[d]=g}},Mi:function(a){return a.sort(function(c,d){return c-d})},Jg:function(a){return Array.isArray(a)||a.constructor===Float32Array||a.constructor===Uint8Array}}, Db={cc:function(a,c){if(0===c||"object"!==typeof a)return a;a=Object.assign({},a);c=void 0===c||-1===c?-1:c-1;for(var d in a)a[d]=Db.cc(a[d],c);return a},ih:function(a){return JSON.parse(JSON.stringify(a))}},rb={Li:function(a,c,d){a=Math.min(Math.max((d-a)/(c-a),0),1);return a*a*(3-2*a)},Jb:function(a,c,d){return Math.min(Math.max((d-a)/(c-a),0),1)},uh:function(a,c,d,g){return Math.pow(Math.min(Math.max((g-a)/(c-a),0),1),d)},Ri:function(){return 0},oi:function(){return 1},li:function(a){return a}, rh:function(a){return a*a},wh:function(a){return a*(2-a)},oh:function(a){return.5>a?2*a*a:-1+(4-2*a)*a},mh:function(a){return a*a*a},vh:function(a){return--a*a*a+1},nh:function(a){return.5>a?4*a*a*a:(a-1)*(2*a-2)*(2*a-2)+1},sh:function(a){return a*a*a*a},xh:function(a){return 1- --a*a*a*a},ph:function(a){return.5>a?8*a*a*a*a:1-8*--a*a*a*a},th:function(a){return a*a*a*a*a},yh:function(a){return 1+--a*a*a*a*a},qh:function(a){return.5>a?16*a*a*a*a*a:1+16*--a*a*a*a*a}},ic={yf:function(a,c,d){switch(a){case "relu":return d+ "=max(vec4(0.),"+c+");";case "elu":return d+"=mix(exp(-abs("+c+"))-vec4(1.),"+c+",step(0.,"+c+"));";case "elu01":return d+"=mix(0.1*exp(-abs("+c+"))-vec4(0.1),"+c+",step(0.,"+c+"));";case "arctan":return d+"=atan(3.14159265359*texture2D(u0,vUV))/3.14159265359;";case "copy":return"";case "gelu":return d+"="+d+";\n vec4 zou="+c+";\n vec4 polyZou=0.7978845608028654*(zou+0.044715*zou*zou*zou);\n vec4 exZou=exp(-abs(polyZou));\n vec4 exZou2=exZou*exZou;\n vec4 tanhZou=sign(polyZou)*(vec4(1.)-exZou2)/(vec4(1.)+exZou2);\n "+ d+"=0.5*zou*(vec4(1.)+tanhZou);";default:return!1}}},F=function(){function a(u,h,A){h=u.createShader(h);u.shaderSource(h,A);u.compileShader(h);return u.getShaderParameter(h,u.COMPILE_STATUS)?h:null}function c(u,h,A){h=a(u,u.VERTEX_SHADER,h);A=a(u,u.FRAGMENT_SHADER,A);u===b&&m.push(h,A);var T=u.createProgram();u.attachShader(T,h);u.attachShader(T,A);u.linkProgram(T);return T}function d(u){return["float","sampler2D","int"].map(function(h){return"precision "+u+" "+h+";\n"}).join("")}function g(u,h){h.o= h.o?!0:!1;if(!h.o){h.Ba=h.Ba||"precision lowp float;attribute vec2 a0;varying vec2 vv0;void main(){gl_Position=vec4(a0,0.,1.),vv0=a0*.5+vec2(.5);}";h.mb=h.mb||["a0"];h.Ra=h.Ra||[2];h.precision=h.precision||v;h.id=x++;void 0!==h.pe&&(h.pe.forEach(function(S,ca){h.g=h.g.replace(S,h.Rb[ca])}),h.pe.splice(0));h.Yc=0;h.Ra.forEach(function(S){h.Yc+=4*S});var A=d(h.precision);h.ya=c(u,A+h.Ba,A+h.g);h.C={};h.i.forEach(function(S){h.C[S]=u.getUniformLocation(h.ya,S)});h.attributes={};h.Sa=[];h.mb.forEach(function(S){var ca= u.getAttribLocation(h.ya,S);h.attributes[S]=ca;h.Sa.push(ca)});if(h.j){u.useProgram(h.ya);q=h;l=h.id;for(var T in h.j)u.uniform1i(h.C[T],h.j[T])}h.wa=!0}}function k(u){La.yg(R);l!==u.id&&(R.S(),l=u.id,q=u,b.useProgram(u.ya),u.Sa.forEach(function(h){0!==h&&b.enableVertexAttribArray(h)}))}function n(u,h,A){g(u,h,A);u.useProgram(h.ya);u.enableVertexAttribArray(h.attributes.a0);l=-1;return q=h}function r(){return{g:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",i:["u1"], j:{u1:0}}}var m=[],l=-1,q=null,x=0,B=!1,v="highp",t=["u1"],G=["u0"],K={u1:0},e={u0:0},y={u1:0,u2:1},H={u1:0,u3:1},D=["u1","u3","u4"],z=["u5","u6"],f={u5:0},p=["u7","u8","u9","u10"],E={u7:0,u8:1},L={s0:r(),s1:{g:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",i:t,j:K,precision:"lowp"},s2:{g:"uniform sampler2D u1,u2;varying vec2 vv0;void main(){vec4 a=texture2D(u2,vv0),b=texture2D(u1,vv0);gl_FragColor=a*b;}",i:["u1","u2"],j:y},s3:{g:"uniform sampler2D u1;uniform vec2 u11,u12;varying vec2 vv0;void main(){vec2 a=vv0*u11+u12;gl_FragColor=texture2D(u1,a);}", i:["u1","u11","u12"],j:K,o:!0},s4:{g:"uniform sampler2D u1;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=a.r*f;}",i:t,j:K},s5:{g:"uniform sampler2D u1,u2;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u2,vv0),b=texture2D(u1,vv0);gl_FragColor=a.a*b.r*f;}",i:["u1","u2"],j:y},s6:{g:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vec2(1.-vv0.x,vv0.y));}",i:t,j:K},s7:{g:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vec2(vv0.x,1.-vv0.y));}", i:t,j:K},s8:{g:"uniform sampler2D u0;uniform float u11;varying vec2 vv0;void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=a*u11;}",i:["u0","u11"],j:e},s9:{g:"uniform sampler2D u0;uniform float u11;varying vec2 vv0;const vec4 f=vec4(.25),g=vec4(1.);void main(){vec4 a=texture2D(u0,vv0);float b=dot(a*u11,f);gl_FragColor=b*g;}",i:["u0","u11"],j:e},s10:{g:"uniform sampler2D u1;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.);void main(){float a=.25*dot(e,texture2D(u1,vv0));gl_FragColor=a*e;}",i:t,j:K}, s11:{g:"uniform sampler2D u1,u13;uniform float u14;const vec4 f=vec4(1.);varying vec2 vv0;void main(){vec4 a=texture2D(u1,vv0),b=texture2D(u13,vv0);gl_FragColor=mix(b,a,u14*f);}",i:["u1","u13","u14"],j:{u1:0,u13:1}},s12:{g:"uniform sampler2D u1;uniform vec2 u15;varying vec2 vv0;void main(){gl_FragColor=.25*(texture2D(u1,vv0+u15)+texture2D(u1,vv0+u15*vec2(1.,-1.))+texture2D(u1,vv0+u15*vec2(-1.,-1.))+texture2D(u1,vv0+u15*vec2(-1.,1.)));}",i:["u1","u15"],j:K},s13:{g:"uniform sampler2D u1;varying vec2 vv0;vec4 f(vec3 d){vec3 b=d/65536.,a=clamp(ceil(log2(b)),-128.,127.);float c=max(max(a.r,a.g),a.b),g=exp2(c);vec3 h=clamp(b/g,0.,1.);return vec4(h,(c+128.)/256.);}void main(){vec3 a=texture2D(u1,vv0).rgb;gl_FragColor=f(a);}", i:t,j:K,o:!0},s14:{g:"uniform sampler2D u1;varying vec2 vv0;vec3 f(vec4 a){float b=a.a*256.-128.;vec3 c=a.rgb;return exp2(b)*c*65536.;}void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=vec4(f(a),1.);}",i:t,j:K,o:!0},s15:{g:"uniform sampler2D u1;uniform vec4 u16;varying vec2 vv0;float g(float a,float b){a=floor(a)+.5;return floor(a/exp2(b));}float h(float a,float b){return floor(a*exp2(b)+.5);}float i(float a,float b){return mod(a,h(1.,b));}float e(float c,float a,float b){a=floor(a+.5),b=floor(b+.5);return i(g(c,a),b-a);}vec4 j(float a){if(a==0.)return vec4(0.,0.,0.,0.);float k=128.*step(a,0.);a=abs(a);float c=floor(log2(a)),l=c+127.,b=(a/exp2(c)-1.)*8388608.,d=l/2.,m=fract(d)*2.,n=floor(d),o=e(b,0.,8.),p=e(b,8.,16.),q=m*128.+e(b,16.,23.),r=k+n;return vec4(o,p,q,r)/255.;}void main(){float a=dot(texture2D(u1,vv0),u16);gl_FragColor=j(a);}", i:["u1","u16"],j:K},s16:{g:"uniform sampler2D u0;varying vec2 vv0;const vec4 e=vec4(1.);void main(){vec4 a=texture2D(u0,vv0),b=e/(e+exp(-a));gl_FragColor=b;}",i:G,j:e,o:!0},s17:{g:"uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(0.);void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=max(f,a);}",i:G,j:e,o:!0},s18:{g:"uniform sampler2D u0;varying vec2 vv0;const vec4 e=vec4(1.);const float g=.797885,h=.044715;vec4 i(vec4 a){vec4 b=exp(-abs(a)),c=b*b,d=sign(a)*(e-c)/(e+c);return d;}void main(){vec4 a=texture2D(u0,vv0),b=a+h*a*a*a,c=i(g*b);gl_FragColor=.5*a*(e+c);}", i:G,j:e,o:!0},s19:{g:"uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.);void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=mix(exp(-abs(a))-f,a,step(0.,a));}",i:G,j:e,o:!0},s20:{g:"uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.);void main(){vec4 a=texture2D(u0,vv0),b=exp(a)-f;gl_FragColor=mix(.1*b,a,step(0.,a));}",i:G,j:e},s21:{g:"uniform sampler2D u0;const float e=3.141593;varying vec2 vv0;void main(){gl_FragColor=atan(e*texture2D(u0,vv0))/e;}",i:G,j:e},s22:{g:"uniform sampler2D u0;const float e=3.141593;varying vec2 vv0;void main(){gl_FragColor=2.*atan(e*texture2D(u0,vv0))/e;}", i:G,j:e,o:!0},s23:{g:"uniform sampler2D u0,u17;uniform float u18;const vec2 e=vec2(.5);const float f=1e-5;const vec4 g=vec4(1.),i=vec4(0.);varying vec2 vv0;void main(){vec4 a=texture2D(u17,e);float b=u18*u18;vec4 c=max(b*a,f*g);gl_FragColor=texture2D(u0,vv0)/c;}",i:["u0","u17","u18"],j:{u0:0,u17:1},o:!0},s24:{g:"uniform sampler2D u1;uniform vec2 u19;varying vec2 vv0;void main(){float a=u19.x*u19.y;vec2 b=floor(vv0*a)/a,c=fract(vv0*a),d=floor(b*u19.y),f=floor(u19.x*fract(b*u19.y)),g=(f*u19.y+d)/a;gl_FragColor=texture2D(u1,g+c/a);}", i:["u1","u19"],j:K},s25:{g:"uniform sampler2D u8,u7,u20;varying vec2 vv0;void main(){vec4 a=texture2D(u20,vv0);vec2 b=a.rg,c=a.ba;vec4 d=texture2D(u8,b),f=texture2D(u7,c);gl_FragColor=d*f;}",i:["u8","u7","u20"],j:Object.assign({u20:2},E),o:!0},s26:{g:"uniform float u9,u10;uniform sampler2D u8,u7;varying vec2 vv0;void main(){vec2 b=fract(vv0*u9);float a=u9*u10;vec2 c=(vec2(.5)+floor(a*vv0))/a;vec4 d=texture2D(u8,c),f=texture2D(u7,b);gl_FragColor=d*f;}",i:p,j:E},s27:{g:"uniform float u9,u10;uniform vec2 u21;uniform sampler2D u8,u7;varying vec2 vv0;void main(){float a=u9*u10;vec2 b=mod(vv0*u21,vec2(1.)),c=floor(vv0*u21)/u21,d=c+fract(b*u9)/u21,f=(vec2(.5)+floor(a*b))/a;vec4 g=texture2D(u8,f),h=texture2D(u7,d);gl_FragColor=g*h;}", i:["u21"].concat(p),j:E,o:!0},s28:{g:"uniform float u9,u10;uniform sampler2D u8,u7,u23,u24,u25,u26;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.),g=vec4(1e-3,1e-3,1e-3,1e-3);void main(){vec2 c=fract(vv0*u9),d=vv0;float h=u9*u10;d=(.5+floor(h*vv0))/h;vec4 l=texture2D(u8,d),m=texture2D(u7,c),a=texture2D(u26,d);a=floor(.5+a*255.);vec4 n=texture2D(u23,c),o=texture2D(u24,c),p=texture2D(u25,c),i=step(-g,-a),b=e-i,j=b*step(-e-g,-a);b*=e-j;vec4 k=b*step(-2.*e-g,-a);b*=e-k;vec4 q=b,r=i*m+j*n+k*o+q*p;gl_FragColor=l*r;}", i:["u26","u23","u24","u25"].concat(p),j:Object.assign({u26:3,u23:4,u24:5,u25:6},E),o:!0},s29:{g:"uniform sampler2D u8,u7,u3;uniform float u9,u27,u28,u10;uniform vec2 u29;varying vec2 vv0;const vec2 f=vec2(1.),l=vec2(0.);void main(){vec2 c=floor(u27*vv0),d=u27*vv0-c;float g=u9/u27;vec2 h=floor(d*g),i=d*g-h,j=(c+i)/u27;float m=u27*u10/u9;vec2 b=m*h,n=floor(.5*(u10-1.)*(f-u29));b=floor(u29*b+n);vec2 a=(b+i*u28)/u10;a+=.25/u10;vec2 k=step(a,f)*step(l,a);vec4 o=texture2D(u8,j),p=texture2D(u7,a),q=o*p,r=texture2D(u3,j);gl_FragColor=(q*u28*u28+r)*k.x*k.y;}", i:["u27","u28","u3","u29"].concat(p),j:Object.assign({u3:2},E)},s30:{g:"uniform sampler2D u8,u7;varying vec2 vv0;void main(){vec4 a=texture2D(u8,vv0),b=texture2D(u7,vv0);gl_FragColor=a*b;}",i:["u8","u7"],j:E,o:!0},s31:{g:"uniform sampler2D u1,u3;uniform float u4;varying vec2 vv0;void main(){gl_FragColor=texture2D(u3,vv0)+u4*texture2D(u1,vv0);}",i:D,j:H},s32:{g:"uniform sampler2D u1,u3;uniform vec2 u21;uniform float u4;varying vec2 vv0;void main(){gl_FragColor=texture2D(u3,vv0*u21)+u4*texture2D(u1,vv0);}", i:["u21"].concat(D),j:H,o:!0},s33:{g:"uniform sampler2D u1,u3;uniform float u4;varying vec2 vv0;const vec4 e=vec4(1.);void main(){vec4 a=texture2D(u3,vv0)+u4*texture2D(u1,vv0);vec2 h=mod(gl_FragCoord.xy,vec2(2.)),d=step(h,vec2(.75));float b=d.x+2.*d.y,c=step(2.5,b),g=(1.-c)*step(1.5,b),i=(1.-c)*(1.-g)*step(.5,b);a=mix(a,a.argb,i*e),a=mix(a,a.barg,g*e),a=mix(a,a.gbar,c*e),gl_FragColor=a;}",i:D,j:H,o:!0},s34:{g:"uniform sampler2D u1,u3;uniform vec2 u21;uniform float u4;varying vec2 vv0;const vec4 e=vec4(1.);void main(){vec4 a=texture2D(u3,vv0*u21)+u4*texture2D(u1,vv0);vec2 h=mod(gl_FragCoord.xy,vec2(2.)),d=step(h,vec2(.75));float b=d.x+2.*d.y,c=step(2.5,b),g=(1.-c)*step(1.5,b),i=(1.-c)*(1.-g)*step(.5,b);a=mix(a,a.argb,i*e),a=mix(a,a.barg,g*e),a=mix(a,a.gbar,c*e),gl_FragColor=a;}", i:["u21"].concat(D),j:H,o:!0},s35:{g:"uniform sampler2D u1,u3;uniform float u4;varying vec2 vv0;const vec4 h=vec4(1.);void main(){vec4 a=texture2D(u3,vv0)+u4*texture2D(u1,vv0);vec2 b=floor(gl_FragCoord.xy);vec3 d=b.x*vec3(1.)+vec3(0.,1.,2.);float c=mod(b.y,2.);vec4 f=vec4(c,(1.-c)*step(mod(d,vec3(3.)),vec3(.5)));mat4 g=mat4(a.rgba,a.gbar,a.barg,a.argb);gl_FragColor=g*f;}",i:D,j:H,o:!0},s36:{g:"varying vec2 vv0;uniform sampler2D u1;const vec4 f=vec4(1.,1.,1.,1.),g=vec4(.299,.587,.114,0.);void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=dot(a,g)*f;}", i:t,j:K,precision:"lowp"},s37:{g:"varying vec2 vv0;uniform sampler2D u1;uniform float u30;const vec3 f=vec3(.299,.587,.114);void main(){vec3 a=texture2D(u1,vv0).rgb,b=texture2D(u1,vv0+vec2(0.,u30)).rgb,c=texture2D(u1,vv0+vec2(u30,u30)).rgb,d=texture2D(u1,vv0+vec2(u30,0.)).rgb;gl_FragColor=vec4(dot(a,f),dot(b,f),dot(c,f),dot(d,f));}",i:["u1","u30"],j:K,precision:"lowp"},s38:{g:"varying vec2 vv0;uniform sampler2D u1;uniform float u30;const vec3 f=vec3(.299,.587,.114);void main(){vec3 a=texture2D(u1,vv0).rgb,b=texture2D(u1,vv0+vec2(0.,u30)).rgb,c=texture2D(u1,vv0+vec2(u30,u30)).rgb,d=texture2D(u1,vv0+vec2(u30,0.)).rgb;gl_FragColor=vec4(a.r,b.g,c.b,dot(d,f));}", i:["u1","u30"],j:K,precision:"lowp"},s39:{g:"varying vec2 vv0;uniform sampler2D u1,u2;uniform float u31;const vec4 f=vec4(1.);void main(){vec4 a=vec4(0.);a-=texture2D(u1,vec2(vv0.x-u31,vv0.y-u31))*1.,a-=texture2D(u1,vec2(vv0.x-u31,vv0.y))*2.,a-=texture2D(u1,vec2(vv0.x-u31,vv0.y+u31))*1.,a+=texture2D(u1,vec2(vv0.x+u31,vv0.y-u31))*1.,a+=texture2D(u1,vec2(vv0.x+u31,vv0.y))*2.,a+=texture2D(u1,vec2(vv0.x+u31,vv0.y+u31))*1.;vec4 b=vec4(0.);b-=texture2D(u1,vec2(vv0.x-u31,vv0.y-u31))*1.,b-=texture2D(u1,vec2(vv0.x,vv0.y-u31))*2.,b-=texture2D(u1,vec2(vv0.x+u31,vv0.y-u31))*1.,b+=texture2D(u1,vec2(vv0.x-u31,vv0.y+u31))*1.,b+=texture2D(u1,vec2(vv0.x,vv0.y+u31))*2.,b+=texture2D(u1,vec2(vv0.x+u31,vv0.y+u31))*1.;vec3 c=sqrt(a.rgb*a.rgb+b.rgb*b.rgb);vec4 e=vec4(c,texture2D(u1,vv0).a),g=texture2D(u2,vv0);gl_FragColor=g.a*e.r*f;}", i:["u1","u2","u31"],j:y,o:!0},s40:{g:"varying vec2 vv0;uniform sampler2D u1,u2;uniform float u31;const vec4 j=vec4(1.,1.,1.,1.);const vec2 k=vec2(1.,1.);void main(){float h=0.;vec2 l=k*u31,a,b;float c,d,i=0.;for(float e=-4.;e<=4.;e+=1.)for(float f=-4.;f<=4.;f+=1.)a=vec2(e,f),c=length(a)/2.,d=exp(-c*c),b=vv0+l*a,h+=d*texture2D(u1,b).r,i+=d;vec4 m=texture2D(u2,vv0);gl_FragColor=m.a*(texture2D(u1,b).r-h/i)*j;}",i:["u1","u2","u31"],j:y,o:!0},s41:{g:"uniform sampler2D u5;uniform vec2 u6;varying vec2 vv0;const vec2 f=vec2(1.),g=vec2(.5),h=vec2(1.,0.),i=vec2(0.,1.);void main(){vec2 a=f/u6,c=u6/2.,d=floor(vv0*c)+g,j=d/c,b=j-a*.5;vec4 k=texture2D(u5,b),l=texture2D(u5,b+a*h),m=texture2D(u5,b+a*i),n=texture2D(u5,b+a),o=max(k,l),p=max(m,n);gl_FragColor=max(o,p);}", i:z,j:f,o:!0},s42:{g:"uniform sampler2D u5;uniform vec2 u6;varying vec2 vv0;const vec2 k=vec2(1.),l=vec2(1.,0.),m=vec2(0.,1.),n=vec2(2.,0.),o=vec2(0.,2.);vec4 e(vec2 b,vec2 a){vec4 c=texture2D(u5,a),d=texture2D(u5,a+b*l),f=texture2D(u5,a+b*m),g=texture2D(u5,a+b),h=max(c,d),i=max(f,g);return max(h,i);}void main(){vec2 a=k/u6,c=u6/4.,d=4.*floor(vv0*c),f=d/u6,b=f+a*.5;vec4 g=e(a,b),h=e(a,b+a*n),i=e(a,b+a*2.),p=e(a,b+a*o),q=max(g,h),r=max(i,p);gl_FragColor=max(q,r);}",i:z,j:f,o:!0},s43:{g:"uniform sampler2D u1;varying vec2 vv0;void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=a*a;}", i:["u1"],j:K,precision:"lowp",o:!0},s44:{g:"uniform sampler2D u1;uniform vec2 u15;varying vec2 vv0;const float e=15444.;void main(){vec4 a=1001./e*texture2D(u1,vv0-3.*u15)+2002./e*texture2D(u1,vv0-2.*u15)+3003./e*texture2D(u1,vv0-u15)+3432./e*texture2D(u1,vv0)+3003./e*texture2D(u1,vv0+u15)+2002./e*texture2D(u1,vv0+2.*u15)+1001./e*texture2D(u1,vv0+3.*u15);gl_FragColor=a;}",i:["u15","u1"],j:K,precision:"lowp",o:!0},s45:{g:"uniform sampler2D u1,u17,u32;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);const float g=.1;void main(){vec4 a=texture2D(u17,vv0),b=texture2D(u32,vv0),c=texture2D(u1,vv0),d=max(f*g,b-a*a),h=sqrt(d);gl_FragColor=(c-a)/h;}", i:["u1","u17","u32"],j:{u1:0,u17:1,u32:2},o:!0}},w={s46:{g:"uniform float u9,u33;uniform sampler2D u8,u7,u3;varying vec2 vv0;const vec2 ZERO2=vec2(0.),ONE2=vec2(1.),HALF2=vec2(.5),EPS2=vec2(1e-5);void main(){vec4 sum=texture2D(u3,vv0);float toSparsity=1.1111;vec2 uvFrom,uvWeight,xyPatch=ZERO2,eps2=EPS2/u9,xyTo=floor(vv0*u9+eps2);float weightSize=toSparsity*u9;vec2 halfFromSparsity=ONE2*(toSparsity-1.)/2.;for(float patch_x=0.;patch_x<1.1111;patch_x+=1.){xyPatch.x=patch_x;for(float patch_y=0.;patch_y<1.1111;patch_y+=1.)xyPatch.y=patch_y,uvFrom=(xyTo+HALF2+u33*(xyPatch-halfFromSparsity))/u9,uvFrom+=step(uvFrom,-eps2),uvFrom-=step(ONE2-eps2,uvFrom),uvWeight=(xyTo*toSparsity+xyPatch+HALF2)/weightSize,sum+=texture2D(u8,uvWeight)*texture2D(u7,uvFrom);}gl_FragColor=sum,gl_FragColor*=2.2222;}", i:["u9","u8","u7","u3","u33"],Rb:["1.1111","gl_FragColor\\*=2.2222;"]},s47:{g:"uniform float u9,u33,u10;uniform sampler2D u8,u7,u3;varying vec2 vv0;const vec2 ZERO2=vec2(0.),ONE2=vec2(1.),HALF2=vec2(.5),EPS2=vec2(1e-4);void main(){vec4 sum=texture2D(u3,vv0);float fromSparsity=1.1111,shrinkFactor=3.3333;vec2 uvFrom,uvWeight,xyFrom,xyPatchTo,xyPatch=ZERO2,xyShrink=ZERO2,eps2=EPS2/u10,xyTo=floor(vv0*u9+eps2);float weightSize=fromSparsity*u10;vec2 halfFromSparsity=ONE2*(fromSparsity-1.)/2.;float toSparsity=weightSize/u9;vec2 xyFrom0=xyTo*shrinkFactor;for(float patch_x=0.;patch_x<1.1111;patch_x+=1.){xyPatch.x=patch_x;for(float patch_y=0.;patch_y<1.1111;patch_y+=1.){xyPatch.y=patch_y;for(float shrink_x=0.;shrink_x<3.3333;shrink_x+=1.){xyShrink.x=shrink_x;for(float shrink_y=0.;shrink_y<3.3333;shrink_y+=1.)xyShrink.y=shrink_y,xyFrom=xyFrom0+xyShrink+shrinkFactor*u33*(xyPatch-halfFromSparsity),uvFrom=(xyFrom+HALF2)/u10,uvFrom+=step(uvFrom,-eps2),uvFrom-=step(ONE2-eps2,uvFrom),xyPatchTo=xyPatch*shrinkFactor+xyShrink,uvWeight=(xyTo*toSparsity+xyPatchTo+HALF2)/weightSize,sum+=texture2D(u8,uvWeight)*texture2D(u7,uvFrom);}}}gl_FragColor=sum,gl_FragColor*=2.2222;}", i:"u9 u10 u8 u7 u3 u33".split(" "),Rb:["1.1111","gl_FragColor\\*=2.2222;","3.3333"]}},P=null,X=null,R={Gb:function(){return B},A:function(){if(!B){P=Db.cc(L,2);X=Db.cc(w,2);v="highp";b.getShaderPrecisionFormat&&(b.getShaderPrecisionFormat(b.FRAGMENT_SHADER,b.MEDIUM_FLOAT),b.getShaderPrecisionFormat(b.FRAGMENT_SHADER,b.LOW_FLOAT));for(var u in P)g(b,P[u],u);F.set("s0");b.enableVertexAttribArray(0);B=!0}},jb:function(u){u.forEach(function(h){R.gd(h)})},gd:function(u){P[u.id]=u;g(b,u,u.id)},Qf:function(u, h,A){h||(h=u);P[h]=Object.create(X[u]);P[h].Wf=!0;X[u].Rb&&X[u].Rb.forEach(function(T,S){var ca="";"gl_Frag"===T.substring(0,7)?(T=new RegExp("[,;]?"+T,"g"),ca=";"):T=new RegExp(T,"g");P[h].g=P[h].g.replace(T,ca+A[S])});g(b,P[h],h)},set:function(u){var h=P[u];h.o&&(h.o=!1,g(b,h,u));k(h)},hb:function(u){return n(u,r(),"s48")},Pc:function(u){return n(u,{g:"void main(){gl_FragColor=vec4(.5,.5,.5,.5);}",i:[],precision:v},"s49")},tf:function(u){return"undefined"===typeof P[u]?!1:P[u].wa},S:function(){-1!== l&&(l=-1,q.Sa.forEach(function(u){0!==u&&b.disableVertexAttribArray(u)}))},Qc:function(){var u=0;q.Sa.forEach(function(h,A){A=q.Ra[A];b.vertexAttribPointer(h,A,b.FLOAT,!1,q.Yc,u);u+=4*A})},sd:function(){b.enableVertexAttribArray(0)},Ma:function(){R.Sb(b)},Sb:function(u){u.vertexAttribPointer(q.Sa[0],2,u.FLOAT,!1,8,0)},Fi:function(u,h){b.uniform1i(q.C[u],h)},K:function(u,h){b.uniform1f(q.C[u],h)},X:function(u,h,A){b.uniform2f(q.C[u],h,A)},zg:function(u,h){b.uniform2fv(q.C[u],h)},Ag:function(u,h){b.uniform3fv(q.C[u], h)},Gi:function(u,h,A,T){b.uniform3f(q.C[u],h,A,T)},Bg:function(u,h,A,T,S){b.uniform4f(q.C[u],h,A,T,S)},ue:function(u,h){b.uniform4fv(q.C[u],h)},Hi:function(u,h){b.uniformMatrix2fv(q.C[u],!1,h)},Ii:function(u,h){b.uniformMatrix3fv(q.C[u],!1,h)},Ji:function(u,h){b.uniformMatrix4fv(q.C[u],!1,h)},U:function(u,h){R.set(u);h.forEach(function(A){switch(A.type){case "4f":b.uniform4fv(q.C[A.name],A.value);break;case "3f":b.uniform3fv(q.C[A.name],A.value);break;case "2f":b.uniform2fv(q.C[A.name],A.value); break;case "1f":b.uniform1f(q.C[A.name],A.value);break;case "1i":b.uniform1i(q.C[A.name],A.value);break;case "mat2":b.uniformMatrix2fv(q.C[A.name],!1,A.value);break;case "mat3":b.uniformMatrix3fv(q.C[A.name],!1,A.value);break;case "mat4":b.uniformMatrix4fv(q.C[A.name],!1,A.value)}})},Qh:function(){return"lowp"},m:function(){R.S();b.disableVertexAttribArray(0);for(var u in P){var h=P[u];h.wa&&(h.wa=!1,b.deleteProgram(h.ya));h.Wf&&delete P[u]}m.forEach(function(A){b.deleteShader(A)});m.splice(0);x= 0;B=!1;q=null;l=-1}};return R}(),b=null,Va=function(){function a(t){console.log("ERROR in ContextFF: ",t);return!1}function c(){return navigator.userAgent&&-1!==navigator.userAgent.indexOf("forceWebGL1")}function d(t,G,K){t.setAttribute("width",G);t.setAttribute("height",K)}function g(t){if(c())return!1;var G=document.createElement("canvas");d(G,5,5);var K=null;try{K=G.getContext("webgl2",t)}catch(e){return!1}if(!K)return!1;k(K);ia.td(K);t=ia.dc(K);if(!t.ma&&!t.oa)return Oa.m(),ia.reset(),!1;K=Oa.hd(K, t);Oa.m();ia.reset();return K?!0:!1}function k(t){t.clearColor(0,0,0,0);t.disable(t.DEPTH_TEST);t.disable(t.BLEND);t.disable(t.DITHER);t.disable(t.STENCIL_TEST);t.disable(t.CULL_FACE);t.GENERATE_MIPMAP_HINT&&t.FASTEST&&t.hint(t.GENERATE_MIPMAP_HINT,t.FASTEST);t.disable(t.SAMPLE_ALPHA_TO_COVERAGE);t.disable(t.SAMPLE_COVERAGE);t.depthFunc(t.LEQUAL);t.clearDepth(1)}var n=null,r=null,m=null,l=!0,q=null,x=null,B=[],v={M:function(){return n.width},Y:function(){return n.height},Hh:function(){return n},Fh:function(){return b}, pa:function(){return l},flush:function(){b.flush()},Of:function(){Ha.reset();Ha.ha();v.sg()},sg:function(){ka.reset();V.reset();F.S();F.sd();b.disable(b.DEPTH_TEST);b.disable(b.BLEND);V.Ea();F.Ma()},Af:function(){q||(q=new Uint8Array(n.width*n.height*4));b.readPixels(0,0,n.width,n.height,b.RGBA,b.UNSIGNED_BYTE,q);return q},Jh:function(){return n.toDataURL("image/jpeg")},Kh:function(){Ha.O();r||(r=document.createElement("canvas"),m=r.getContext("2d"));d(r,n.width,n.height);for(var t=v.Af(),G=m.createImageData(r.width, r.height),K=r.width,e=r.height,y=G.data,H=0;H<e;++H)for(var D=e-H-1,z=0;z<K;++z){var f=4*(H*K+z),p=4*(D*K+z);y[f]=t[p];y[f+1]=t[p+1];y[f+2]=t[p+2];y[f+3]=t[p+3]}m.putImageData(G,0,0);return r.toDataURL("image/png")},Ih:function(t){!r&&t&&(r=document.createElement("canvas"),m=r.getContext("2d"));var G=t?r:document.createElement("canvas");d(G,n.width,n.height);(t?m:G.getContext("2d")).drawImage(n,0,0);return G},A:function(t){t=Object.assign({na:null,Ec:null,pb:null,nd:null,width:512,height:512,premultipliedAlpha:!1, Tf:!0,antialias:!1,debug:!1,hh:!1},t);t.na?(b=t.na,n=t.na.canvas):t.nd&&!t.pb?n=document.getElementById(t.nd):t.pb&&(n=t.pb);n||(n=document.createElement("canvas"));n.width=t.width;n.height=t.height;if(b)l=b instanceof WebGL2RenderingContext;else{l=!0;var G={antialias:t.antialias,alpha:!0,preserveDrawingBuffer:!0,premultipliedAlpha:t.premultipliedAlpha,stencil:!1,depth:t.Tf,failIfMajorPerformanceCaveat:!0,powerPreference:"high-performance"};navigator&&navigator.userAgent&&-1!==navigator.userAgent.indexOf("noAntialiasing")&& (G.antialias=!1);var K=g(G);K||!G.antialias||c()||(G.antialias=!1,K=g(G));K&&(b=n.getContext("webgl2",G));b?l=!0:((b=n.getContext("webgl",G))||(b=n.getContext("experimental-webgl",G)),l=!1)}if(!b)return a("WebGL1 and 2 are not enabled");t.Ec&&n.addEventListener&&(x=t.Ec,n.addEventListener("webglcontextlost",x,!1));if(!ia.A())return a("Not enough GL capabilities");k(b);F.A();V.A();Oa.hd(b,ia.zf());B.forEach(function(e){e(b)});B.splice(0);return!0},Wg:function(){return new Promise(function(t){b?t(b): B.push(t)})},m:function(){b&&(ia.m(),F.m(),Oa.m());x&&(n.removeEventListener("webglcontextlost",x,!1),x=null);b=q=m=r=n=null;B.splice(0)}};return v}(),La=function(){function a(){null===c&&("undefined"!==typeof F?c=F:"undefined"!==typeof JEShaders&&(c=JEShaders))}var c=null;return{reset:function(){c=null},yg:function(d){c!==d&&(c&&c.S(),c=d)},Gb:function(){return c.Gb()},Ma:function(){return c.Ma()},Sb:function(d){return c.Sb(d)},Qc:function(){return c.Qc()},S:function(){return c.S()},set:function(d){a(); return c.set(d)},hb:function(d){a();return c.hb(d)},Pc:function(d){a();return c.Pc(d)}}}(),Na=function(){function a(h){b.bindTexture(b.TEXTURE_2D,h)}function c(){return m?b.NO_ERROR:b.getError()}function d(h){P[0]=h;h=X[0];var A=h>>16&32768,T=h>>12&2047,S=h>>23&255;return 103>S?A:142<S?A|31744|((255==S?0:1)&&h&8388607):113>S?(T|=2048,A|(T>>114-S)+(T>>113-S&1)):A=(A|S-112<<10|T>>1)+(T&1)}function g(h){var A=new Uint16Array(h.length);h.forEach(function(T,S){A[S]=d(T)});return A}function k(){if(null!== R.qc)return R.qc;var h=r(g([.5,.5,.5,.5]),!0);return null===h?!0:R.qc=h}function n(){if(null!==R.rc)return R.rc;var h=r(new Uint8Array([127,127,127,127]),!1);return null===h?!0:R.rc=h}function r(h,A){if(!La.Gb()||!y)return null;var T=null,S=Math.sqrt(h.length/4);try{var ca=b.getError();if("FUCKING_BIG_ERROR"===ca)return!1;T=u.instance({isFloat:!1,T:A,array:h,width:S});ca=b.getError();if(ca!==b.NO_ERROR)return!1}catch(Da){return!1}za.O();b.viewport(0,0,S,S);b.clearColor(0,0,0,0);b.clear(b.COLOR_BUFFER_BIT); La.set("s0");T.Da(0);xa.l(!0,!0);h=4*S*S;A=new Uint8Array(h);b.readPixels(0,0,S,S,b.RGBA,b.UNSIGNED_BYTE,A);S=!0;for(ca=0;ca<h;++ca)S=S&&3>Math.abs(A[ca]-127);T.remove();za.ha();return S}var m=!1,l=0,q=null,x=0,B=null,v=null,t=null,G=null,K=null,e=null,y=!1,H=[],D={isFloat:!1,isPot:!0,isLinear:!1,isMipmap:!1,Sd:!1,isAnisotropicFiltering:!1,isMirrorX:!1,isMirrorY:!1,isSrgb:!1,isKeepArray:!1,isFlipY:null,width:0,height:0,url:null,array:null,data:null,L:null,pc:null,Vf:!1,T:!1,G:null,Kb:4,yc:0},z=!1, f=null,p=null,E=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],L=!1,w=!1,P=new Float32Array(1),X=new Int32Array(P.buffer),R={qc:null,rc:null},u={A:function(){y||(K=[b.RGBA,null,b.RGBA,b.RGBA],e=[b.RGBA,null,b.RGBA,b.RGBA],q=[b.TEXTURE0,b.TEXTURE1,b.TEXTURE2,b.TEXTURE3,b.TEXTURE4,b.TEXTURE5,b.TEXTURE6,b.TEXTURE7],L="undefined"!==typeof JEContext,w="undefined"!==typeof ia,L&&JEContext.ji()&&q.push(b.TEXTURE8,b.TEXTURE9),B=[-1,-1,-1,-1,-1,-1,-1,-1],G=[b.UNSIGNED_BYTE,b.FLOAT,b.FLOAT],y=!0)},Bi:function(){b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.LINEAR)},Ci:function(){b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST)},Pf:function(){if(!v){for(var h=new Float32Array(16384),A=0;16384>A;++A)h[A]=2*Math.random()-1;v={random:u.instance({isFloat:!0,isPot:!0,array:h,width:64}),Ce:u.instance({isFloat:!1,isPot:!0,width:1,array:new Uint8Array([0,0,0,0])})}}u.Og()},se:function(h){b.framebufferTexture2D(za.nc(), b.COLOR_ATTACHMENT0,b.TEXTURE_2D,h,0)},Zh:function(){return v.Ce},Og:function(){G[1]=ia.mc(b)},wg:function(){e=K=[b.RGBA,b.RGBA,b.RGBA,b.RGBA]},ke:function(h){F.set("s1");za.O();var A=h.M(),T=h.Y();b.viewport(0,0,A,T);h.h(0);xa.l(!1,!1)},si:function(h,A){u.ke(h);b.readPixels(0,0,h.M(),h.Y(),b.RGBA,b.UNSIGNED_BYTE,A)},ti:function(h,A){u.ke(h);return ia.Qb(0,0,h.M(),h.Y(),A)},Bd:function(h,A,T,S,ca,Da,Sa){h.activeTexture(h.TEXTURE0);var fb=h.createTexture();h.bindTexture(h.TEXTURE_2D,fb);ca=ca instanceof Float32Array?ca:new Float32Array(ca);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_S,h.CLAMP_TO_EDGE);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_T,h.CLAMP_TO_EDGE);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MAG_FILTER,h.NEAREST);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MIN_FILTER,h.NEAREST);h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,Da);h.texImage2D(h.TEXTURE_2D,0,h.RGBA,T,S,0,h.RGBA,h.FLOAT,ca);h.bindTexture(h.TEXTURE_2D,null);h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,!1);Sa&&(za.ha(),F.hb(h));h.viewport(0,0,T,S);h.framebufferTexture2D(h.FRAMEBUFFER, h.COLOR_ATTACHMENT0,h.TEXTURE_2D,A,0);h.bindTexture(h.TEXTURE_2D,fb);Sa?xa.l(!0,!0):V.vb(h);h.deleteTexture(fb);y&&(B[0]=-1,t=null,l=0)},Zb:function(h){h!==l&&(b.activeTexture(q[h]),l=h)},Di:function(h){m=h},instance:function(h){var A;function T(){Z=void 0!==C.L.videoWidth?C.L.videoWidth:C.L.width;aa=void 0!==C.L.videoHeight?C.L.videoHeight:C.L.height}function S(I){var W=c();if("FUCKING_BIG_ERROR"===W)return!1;b.texImage2D(b.TEXTURE_2D,0,ua,ra,sa,I);W=c();W!==b.NO_ERROR&&ra!==b.RGBA&&(ra=b.RGBA,b.texImage2D(b.TEXTURE_2D, 0,ua,ra,sa,I));return!0}function ca(){if(!Rb){a(Ea);Pa&&b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL,Pa);C.isPot?(b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,C.isMirrorX?b.MIRRORED_REPEAT:b.REPEAT),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,C.isMirrorY?b.MIRRORED_REPEAT:b.REPEAT)):(b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE));C.isAnisotropicFiltering&&"undefined"!==typeof JESETTINGS&&b.texParameterf(b.TEXTURE_2D,JEContext.Lh().TEXTURE_MAX_ANISOTROPY_EXT, JESETTINGS.Sg);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,C.isLinear?b.LINEAR:b.NEAREST);var I=C.isMipmap&&!gb;b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,C.Sd?b.LINEAR_MIPMAP_LINEAR:C.isLinear?I?b.NEAREST_MIPMAP_LINEAR:b.LINEAR:I?b.NEAREST_MIPMAP_NEAREST:b.NEAREST);ra=K[C.Kb-1];ua=e[C.Kb-1];sa=G[Eb];ia.pa()&&(I=ia.Cf(),ra===b.RGBA&&sa===b.FLOAT?C.isMipmap||C.isLinear?ua=Oa.Ef(b):ia.jd()?I&&(ua=I):ua=b.RGBA16F||b.RGBA:ra===b.RGB&&sa===b.FLOAT&&I&&(ua=I,ra=b.RGBA));if(C.T&&!C.isFloat|| C.isFloat&&C.isMipmap&&Oa.ag())ua=ia.Df(),sa=ia.mc(b);C.yc&&(ub=C.yc);C.isSrgb&&4===C.Kb&&(ra=JEContext.Xh());if(C.L)S(C.L);else if(C.url)S(Za);else if(Ja){I=Ja;try{"FUCKING_BIG_ERROR"!==b.getError()&&(b.texImage2D(b.TEXTURE_2D,0,ua,Z,aa,0,ra,sa,I),c()!==b.NO_ERROR&&(b.texImage2D(b.TEXTURE_2D,0,ua,Z,aa,0,ra,sa,null),c()!==b.NO_ERROR&&b.texImage2D(b.TEXTURE_2D,0,b.RGBA,Z,aa,0,b.RGBA,b.UNSIGNED_BYTE,null)))}catch(wc){b.texImage2D(b.TEXTURE_2D,0,ua,Z,aa,0,ra,sa,null)}C.isKeepArray||(Ja=null)}else I= c(),"FUCKING_BIG_ERROR"!==I&&(b.texImage2D(b.TEXTURE_2D,0,ua,Z,aa,0,ra,sa,null),I=c(),I!==b.NO_ERROR&&(ra=b.RGBA,C.T&&sa!==b.FLOAT&&(sa=b.FLOAT,b.texImage2D(b.TEXTURE_2D,0,ua,Z,aa,0,ra,sa,null))));if(C.isMipmap)if(!gb&&oa)oa.wb(),vb=!0;else if(gb){I=Math.log2(Math.min(Z,aa));hb=Array(1+I);hb[0]=Ea;for(var W=1;W<=I;++W){var wa=Math.pow(2,W),da=Z/wa;wa=aa/wa;var $a=b.createTexture();a($a);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER, b.NEAREST);b.texImage2D(b.TEXTURE_2D,0,ua,da,wa,0,ra,sa,null);a(null);hb[W]=$a}vb=!0}a(null);B[l]=-1;Pa&&b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL,!1);mb=!0;C.G&&oa&&(C.G(oa),C.G=null)}}function Da(){for(var I=Z*aa,W=2*I,wa=3*I,da=0;da<I;++da)Ma[0][da]=nb[da],Ma[1][da]=nb[da+I],Ma[2][da]=nb[da+W],Ma[3][da]=nb[da+wa]}function Sa(){var I=Z*aa*4;Ta=[new Uint8Array(I),new Uint8Array(I),new Uint8Array(I),new Uint8Array(I)];Ma=[new Float32Array(Ta[0].buffer),new Float32Array(Ta[1].buffer),new Float32Array(Ta[2].buffer), new Float32Array(Ta[3].buffer)];wb=new Uint8Array(4*I);nb=new Float32Array(wb.buffer);ob=!0}function fb(){A=new Uint8Array(Z*aa*4);Sb=new Float32Array(A.buffer);Fb=!0}var C=Object.assign({},D,h),pb=x++;null===C.isFlipY&&(C.isFlipY=C.url?!0:!1);C.data&&(C.array="string"===typeof C.data?va(C.data):C.isFloat?new Float32Array(C.data):new Uint8Array(C.data),C.isFlipY=!1);var Eb=0,Tb=C.L?!0:!1,qb=null,Gb=null,Ub=!1;C.T=C.T||C.isFloat;C.T&&(Eb=1);!C.Vf&&C.isFloat&&w&&!ia.jd()&&(C.isFloat=!1);C.isFloat&& (Eb=2);C.isAnisotropicFiltering&&L&&!JEContext.ci()&&(C.isAnisotropicFiltering=!1);var Ea=C.pc||b.createTexture(),Za=null,Ja=!1,Z=0,aa=0,mb=!1,Rb=!1,ob=!1,Ma=null,Ta=null,wb=null,nb=null,ua=null,ra=null,sa=null,Pa=C.isFlipY,jc=(h=C.T&&C.isMipmap)&&Oa.Xe(),gb=h&&!jc?!0:!1,hb=null,ub=-1,Vb=-1,vb=!1;var Fb=!1;var Sb=A=null;C.width&&(Z=C.width,aa=C.height?C.height:Z);var oa={get:function(){return Ea},M:function(){return Z},Y:function(){return aa},$h:fun