mediasfu-shared 1.2.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/audioProcessing-0z5KlcmO.js +35 -0
- package/dist/audioProcessing-0z5KlcmO.js.map +1 -0
- package/dist/audioProcessing-BpbrdCk-.cjs +34 -0
- package/dist/audioProcessing-BpbrdCk-.cjs.map +1 -0
- package/dist/consumers/audioProcessing.d.ts +8 -0
- package/dist/consumers/audioProcessing.d.ts.map +1 -0
- package/dist/consumers/connectIps.d.ts.map +1 -1
- package/dist/consumers/createSendTransport.d.ts.map +1 -1
- package/dist/consumers/gridLayout/addVideosGrid.engine.d.ts +6 -0
- package/dist/consumers/gridLayout/addVideosGrid.engine.d.ts.map +1 -1
- package/dist/consumers/index.cjs +3 -2
- package/dist/consumers/index.cjs.map +1 -1
- package/dist/consumers/index.js +14 -13
- package/dist/consumers/signalNewConsumerTransport.d.ts.map +1 -1
- package/dist/consumers/switchUserAudio.d.ts +3 -1
- package/dist/consumers/switchUserAudio.d.ts.map +1 -1
- package/dist/consumers/transportRecovery.d.ts +8 -0
- package/dist/consumers/transportRecovery.d.ts.map +1 -0
- package/dist/{getParticipantMedia-BH3d_-Q1.cjs → getParticipantMedia-CP4hE5Rg.cjs} +9 -4
- package/dist/getParticipantMedia-CP4hE5Rg.cjs.map +1 -0
- package/dist/{getParticipantMedia-CGqnSb93.js → getParticipantMedia-CvXdDj03.js} +9 -4
- package/dist/getParticipantMedia-CvXdDj03.js.map +1 -0
- package/dist/index.cjs +138 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +205 -92
- package/dist/index.js.map +1 -1
- package/dist/index.native.cjs +8 -7
- package/dist/index.native.cjs.map +1 -1
- package/dist/index.native.js +19 -18
- package/dist/{joinLocalRoom-7ibqv7zZ.js → joinLocalRoom-Cx1y3Ojj.js} +4 -4
- package/dist/{joinLocalRoom-7ibqv7zZ.js.map → joinLocalRoom-Cx1y3Ojj.js.map} +1 -1
- package/dist/{joinLocalRoom-BJBDvTYh.cjs → joinLocalRoom-DNJ2zb8W.cjs} +10 -10
- package/dist/{joinLocalRoom-BJBDvTYh.cjs.map → joinLocalRoom-DNJ2zb8W.cjs.map} +1 -1
- package/dist/{joinRoomOnMediaSFU-y6vJ1OBo.js → joinRoomOnMediaSFU-BnAWLciF.js} +9 -3
- package/dist/joinRoomOnMediaSFU-BnAWLciF.js.map +1 -0
- package/dist/{joinRoomOnMediaSFU-CC8RVJgr.cjs → joinRoomOnMediaSFU-D2C7q1GK.cjs} +9 -3
- package/dist/joinRoomOnMediaSFU-D2C7q1GK.cjs.map +1 -0
- package/dist/methods/index.cjs +3 -3
- package/dist/methods/index.js +3 -3
- package/dist/methods/stream/clickAudio.d.ts +3 -1
- package/dist/methods/stream/clickAudio.d.ts.map +1 -1
- package/dist/methods/stream/switchAudio.d.ts +3 -1
- package/dist/methods/stream/switchAudio.d.ts.map +1 -1
- package/dist/methods/utils/headless/virtualBackground.d.ts +15 -1
- package/dist/methods/utils/headless/virtualBackground.d.ts.map +1 -1
- package/dist/methods/utils/virtualBackgroundCompositor.d.ts +4 -0
- package/dist/methods/utils/virtualBackgroundCompositor.d.ts.map +1 -1
- package/dist/methods/utils/virtualBackgroundFrameLoop.d.ts +10 -0
- package/dist/methods/utils/virtualBackgroundFrameLoop.d.ts.map +1 -0
- package/dist/sockets/SocketManager.d.ts +0 -27
- package/dist/sockets/SocketManager.d.ts.map +1 -1
- package/dist/{translationConsumerSwitch-C20MfNNq.cjs → translationConsumerSwitch-BAsQUpH6.cjs} +9 -1
- package/dist/translationConsumerSwitch-BAsQUpH6.cjs.map +1 -0
- package/dist/{translationConsumerSwitch-zKuS5wgH.js → translationConsumerSwitch-BUODiT6o.js} +20 -12
- package/dist/translationConsumerSwitch-BUODiT6o.js.map +1 -0
- package/dist/types/index.cjs +3 -3
- package/dist/types/index.js +3 -3
- package/dist/types/shared-base-types.d.ts +12 -0
- package/dist/types/shared-base-types.d.ts.map +1 -1
- package/dist/{updateParticipantAudioDecibels-bZ6R8WHj.cjs → updateParticipantAudioDecibels-BJ2PxJJD.cjs} +287 -58
- package/dist/updateParticipantAudioDecibels-BJ2PxJJD.cjs.map +1 -0
- package/dist/{updateParticipantAudioDecibels-C_MygF6q.js → updateParticipantAudioDecibels-DiJ_LFfH.js} +284 -55
- package/dist/updateParticipantAudioDecibels-DiJ_LFfH.js.map +1 -0
- package/package.json +1 -1
- package/src/consumers/audioProcessing.ts +26 -0
- package/src/consumers/connectIps.ts +46 -7
- package/src/consumers/createSendTransport.ts +5 -20
- package/src/consumers/gridLayout/addVideosGrid.engine.ts +13 -0
- package/src/consumers/signalNewConsumerTransport.ts +7 -25
- package/src/consumers/switchUserAudio.ts +18 -5
- package/src/consumers/transportRecovery.ts +170 -0
- package/src/index.ts +2 -0
- package/src/methods/stream/clickAudio.ts +13 -5
- package/src/methods/stream/switchAudio.ts +10 -1
- package/src/methods/utils/headless/virtualBackground.ts +55 -15
- package/src/methods/utils/virtualBackgroundCompositor.ts +18 -1
- package/src/methods/utils/virtualBackgroundFrameLoop.ts +69 -0
- package/src/sockets/SocketManager.ts +54 -7
- package/src/types/shared-base-types.ts +3 -0
- package/dist/getParticipantMedia-BH3d_-Q1.cjs.map +0 -1
- package/dist/getParticipantMedia-CGqnSb93.js.map +0 -1
- package/dist/joinRoomOnMediaSFU-CC8RVJgr.cjs.map +0 -1
- package/dist/joinRoomOnMediaSFU-y6vJ1OBo.js.map +0 -1
- package/dist/translationConsumerSwitch-C20MfNNq.cjs.map +0 -1
- package/dist/translationConsumerSwitch-zKuS5wgH.js.map +0 -1
- package/dist/updateParticipantAudioDecibels-C_MygF6q.js.map +0 -1
- package/dist/updateParticipantAudioDecibels-bZ6R8WHj.cjs.map +0 -1
- package/dist/validateAlphanumeric-DKn5BsUP.cjs +0 -15
- package/dist/validateAlphanumeric-DKn5BsUP.cjs.map +0 -1
- package/dist/validateAlphanumeric-Dk1JB80W.js +0 -16
- package/dist/validateAlphanumeric-Dk1JB80W.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/@mediapipe/selfie_segmentation/selfie_segmentation.js","../src/methods/utils/virtualBackgroundCompositor.ts","../src/methods/utils/headless/virtualBackground.ts"],"sourcesContent":["(function(){/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';var x;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ba=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};\nfunction ca(a){a=[\"object\"==typeof globalThis&&globalThis,a,\"object\"==typeof window&&window,\"object\"==typeof self&&self,\"object\"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error(\"Cannot find global object\");}var y=ca(this);function z(a,b){if(b)a:{var c=y;a=a.split(\".\");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}}\nz(\"Symbol\",function(a){function b(g){if(this instanceof b)throw new TypeError(\"Symbol is not a constructor\");return new c(d+(g||\"\")+\"_\"+e++,g)}function c(g,f){this.h=g;ba(this,\"description\",{configurable:!0,writable:!0,value:f})}if(a)return a;c.prototype.toString=function(){return this.h};var d=\"jscomp_symbol_\"+(1E9*Math.random()>>>0)+\"_\",e=0;return b});\nz(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;c<b.length;c++){var d=y[b[c]];\"function\"===typeof d&&\"function\"!=typeof d.prototype[a]&&ba(d.prototype,a,{configurable:!0,writable:!0,value:function(){return da(aa(this))}})}return a});function da(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}\nfunction A(a){var b=\"undefined\"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ea(a){if(!(a instanceof Array)){a=A(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var fa=\"function\"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};z(\"Object.assign\",function(a){return a||fa});\nvar ha=\"function\"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ia;if(\"function\"==typeof Object.setPrototypeOf)ia=Object.setPrototypeOf;else{var ja;a:{var ka={a:!0},la={};try{la.__proto__=ka;ja=la.a;break a}catch(a){}ja=!1}ia=ja?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+\" is not extensible\");return a}:null}var ma=ia;\nfunction na(a,b){a.prototype=ha(b.prototype);a.prototype.constructor=a;if(ma)ma(a,b);else for(var c in b)if(\"prototype\"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.za=b.prototype}function oa(){this.m=!1;this.j=null;this.i=void 0;this.h=1;this.v=this.s=0;this.l=null}function pa(a){if(a.m)throw new TypeError(\"Generator is already running\");a.m=!0}oa.prototype.u=function(a){this.i=a};\nfunction qa(a,b){a.l={ma:b,na:!0};a.h=a.s||a.v}oa.prototype.return=function(a){this.l={return:a};this.h=this.v};function D(a,b,c){a.h=c;return{value:b}}function ra(a){this.h=new oa;this.i=a}function sa(a,b){pa(a.h);var c=a.h.j;if(c)return ta(a,\"return\"in c?c[\"return\"]:function(d){return{value:d,done:!0}},b,a.h.return);a.h.return(b);return ua(a)}\nfunction ta(a,b,c,d){try{var e=b.call(a.h.j,c);if(!(e instanceof Object))throw new TypeError(\"Iterator result \"+e+\" is not an object\");if(!e.done)return a.h.m=!1,e;var g=e.value}catch(f){return a.h.j=null,qa(a.h,f),ua(a)}a.h.j=null;d.call(a.h,g);return ua(a)}function ua(a){for(;a.h.h;)try{var b=a.i(a.h);if(b)return a.h.m=!1,{value:b.value,done:!1}}catch(c){a.h.i=void 0,qa(a.h,c)}a.h.m=!1;if(a.h.l){b=a.h.l;a.h.l=null;if(b.na)throw b.ma;return{value:b.return,done:!0}}return{value:void 0,done:!0}}\nfunction va(a){this.next=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j.next,b,a.h.u):(a.h.u(b),b=ua(a));return b};this.throw=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j[\"throw\"],b,a.h.u):(qa(a.h,b),b=ua(a));return b};this.return=function(b){return sa(a,b)};this[Symbol.iterator]=function(){return this}}function wa(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function g(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(g,e)}g(a.next())})}\nfunction E(a){return wa(new va(new ra(a)))}\nz(\"Promise\",function(a){function b(f){this.i=0;this.j=void 0;this.h=[];this.u=!1;var h=this.l();try{f(h.resolve,h.reject)}catch(k){h.reject(k)}}function c(){this.h=null}function d(f){return f instanceof b?f:new b(function(h){h(f)})}if(a)return a;c.prototype.i=function(f){if(null==this.h){this.h=[];var h=this;this.j(function(){h.m()})}this.h.push(f)};var e=y.setTimeout;c.prototype.j=function(f){e(f,0)};c.prototype.m=function(){for(;this.h&&this.h.length;){var f=this.h;this.h=[];for(var h=0;h<f.length;++h){var k=\nf[h];f[h]=null;try{k()}catch(l){this.l(l)}}}this.h=null};c.prototype.l=function(f){this.j(function(){throw f;})};b.prototype.l=function(){function f(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:f(this.I),reject:f(this.m)}};b.prototype.I=function(f){if(f===this)this.m(new TypeError(\"A Promise cannot resolve to itself\"));else if(f instanceof b)this.L(f);else{a:switch(typeof f){case \"object\":var h=null!=f;break a;case \"function\":h=!0;break a;default:h=!1}h?this.F(f):this.s(f)}};\nb.prototype.F=function(f){var h=void 0;try{h=f.then}catch(k){this.m(k);return}\"function\"==typeof h?this.M(h,f):this.s(f)};b.prototype.m=function(f){this.v(2,f)};b.prototype.s=function(f){this.v(1,f)};b.prototype.v=function(f,h){if(0!=this.i)throw Error(\"Cannot settle(\"+f+\", \"+h+\"): Promise already settled in state\"+this.i);this.i=f;this.j=h;2===this.i&&this.K();this.H()};b.prototype.K=function(){var f=this;e(function(){if(f.D()){var h=y.console;\"undefined\"!==typeof h&&h.error(f.j)}},1)};b.prototype.D=\nfunction(){if(this.u)return!1;var f=y.CustomEvent,h=y.Event,k=y.dispatchEvent;if(\"undefined\"===typeof k)return!0;\"function\"===typeof f?f=new f(\"unhandledrejection\",{cancelable:!0}):\"function\"===typeof h?f=new h(\"unhandledrejection\",{cancelable:!0}):(f=y.document.createEvent(\"CustomEvent\"),f.initCustomEvent(\"unhandledrejection\",!1,!0,f));f.promise=this;f.reason=this.j;return k(f)};b.prototype.H=function(){if(null!=this.h){for(var f=0;f<this.h.length;++f)g.i(this.h[f]);this.h=null}};var g=new c;b.prototype.L=\nfunction(f){var h=this.l();f.T(h.resolve,h.reject)};b.prototype.M=function(f,h){var k=this.l();try{f.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};b.prototype.then=function(f,h){function k(p,n){return\"function\"==typeof p?function(q){try{l(p(q))}catch(t){m(t)}}:n}var l,m,r=new b(function(p,n){l=p;m=n});this.T(k(f,l),k(h,m));return r};b.prototype.catch=function(f){return this.then(void 0,f)};b.prototype.T=function(f,h){function k(){switch(l.i){case 1:f(l.j);break;case 2:h(l.j);break;default:throw Error(\"Unexpected state: \"+\nl.i);}}var l=this;null==this.h?g.i(k):this.h.push(k);this.u=!0};b.resolve=d;b.reject=function(f){return new b(function(h,k){k(f)})};b.race=function(f){return new b(function(h,k){for(var l=A(f),m=l.next();!m.done;m=l.next())d(m.value).T(h,k)})};b.all=function(f){var h=A(f),k=h.next();return k.done?d([]):new b(function(l,m){function r(q){return function(t){p[q]=t;n--;0==n&&l(p)}}var p=[],n=0;do p.push(void 0),n++,d(k.value).T(r(p.length-1),m),k=h.next();while(!k.done)})};return b});\nfunction xa(a,b){a instanceof String&&(a+=\"\");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var g=c++;return{value:b(g,a[g]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e}z(\"Array.prototype.keys\",function(a){return a?a:function(){return xa(this,function(b){return b})}});\nz(\"Array.prototype.fill\",function(a){return a?a:function(b,c,d){var e=this.length||0;0>c&&(c=Math.max(0,e+c));if(null==d||d>e)d=e;d=Number(d);0>d&&(d=Math.max(0,e+d));for(c=Number(c||0);c<d;c++)this[c]=b;return this}});function F(a){return a?a:Array.prototype.fill}z(\"Int8Array.prototype.fill\",F);z(\"Uint8Array.prototype.fill\",F);z(\"Uint8ClampedArray.prototype.fill\",F);z(\"Int16Array.prototype.fill\",F);z(\"Uint16Array.prototype.fill\",F);z(\"Int32Array.prototype.fill\",F);\nz(\"Uint32Array.prototype.fill\",F);z(\"Float32Array.prototype.fill\",F);z(\"Float64Array.prototype.fill\",F);z(\"Object.is\",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});z(\"Array.prototype.includes\",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var g=d[c];if(g===b||Object.is(g,b))return!0}return!1}});\nz(\"String.prototype.includes\",function(a){return a?a:function(b,c){if(null==this)throw new TypeError(\"The 'this' value for String.prototype.includes must not be null or undefined\");if(b instanceof RegExp)throw new TypeError(\"First argument to String.prototype.includes must not be a regular expression\");return-1!==this.indexOf(b,c||0)}});var ya=this||self;\nfunction Aa(a,b){a=a.split(\".\");var c=ya;a[0]in c||\"undefined\"==typeof c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};function Ba(a){var b;a:{if(b=ya.navigator)if(b=b.userAgent)break a;b=\"\"}return-1!=b.indexOf(a)};var Ca=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=Array(c),e=\"string\"===typeof a?a.split(\"\"):a,g=0;g<c;g++)g in e&&(d[g]=b.call(void 0,e[g],g,a));return d};var Da={},Ea=null;function Fa(a){var b=a.length,c=3*b/4;c%3?c=Math.floor(c):-1!=\"=.\".indexOf(a[b-1])&&(c=-1!=\"=.\".indexOf(a[b-2])?c-2:c-1);var d=new Uint8Array(c),e=0;Ga(a,function(g){d[e++]=g});return e!==c?d.subarray(0,e):d}\nfunction Ga(a,b){function c(k){for(;d<a.length;){var l=a.charAt(d++),m=Ea[l];if(null!=m)return m;if(!/^[\\s\\xa0]*$/.test(l))throw Error(\"Unknown base64 encoding at char: \"+l);}return k}Ha();for(var d=0;;){var e=c(-1),g=c(0),f=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|g>>4);64!=f&&(b(g<<4&240|f>>2),64!=h&&b(f<<6&192|h))}}\nfunction Ha(){if(!Ea){Ea={};for(var a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".split(\"\"),b=[\"+/=\",\"+/\",\"-_=\",\"-_.\",\"-_\"],c=0;5>c;c++){var d=a.concat(b[c].split(\"\"));Da[c]=d;for(var e=0;e<d.length;e++){var g=d[e];void 0===Ea[g]&&(Ea[g]=e)}}}};var Ia=\"undefined\"!==typeof Uint8Array,Ja=!(Ba(\"Trident\")||Ba(\"MSIE\"))&&\"function\"===typeof ya.btoa;\nfunction Ka(a){if(!Ja){var b;void 0===b&&(b=0);Ha();b=Da[b];for(var c=Array(Math.floor(a.length/3)),d=b[64]||\"\",e=0,g=0;e<a.length-2;e+=3){var f=a[e],h=a[e+1],k=a[e+2],l=b[f>>2];f=b[(f&3)<<4|h>>4];h=b[(h&15)<<2|k>>6];k=b[k&63];c[g++]=l+f+h+k}l=0;k=d;switch(a.length-e){case 2:l=a[e+1],k=b[(l&15)<<2]||d;case 1:a=a[e],c[g]=b[a>>2]+b[(a&3)<<4|l>>4]+k+d}return c.join(\"\")}for(b=\"\";10240<a.length;)b+=String.fromCharCode.apply(null,a.subarray(0,10240)),a=a.subarray(10240);b+=String.fromCharCode.apply(null,\na);return btoa(b)}var La=RegExp(\"[-_.]\",\"g\");function Ma(a){switch(a){case \"-\":return\"+\";case \"_\":return\"/\";case \".\":return\"=\";default:return\"\"}}function Na(a){if(!Ja)return Fa(a);La.test(a)&&(a=a.replace(La,Ma));a=atob(a);for(var b=new Uint8Array(a.length),c=0;c<a.length;c++)b[c]=a.charCodeAt(c);return b}var Oa;function Pa(){return Oa||(Oa=new Uint8Array(0))}var Qa={};var Ra=\"function\"===typeof Uint8Array.prototype.slice,G=0,H=0;function Sa(a){var b=0>a;a=Math.abs(a);var c=a>>>0;a=Math.floor((a-c)/4294967296);b&&(c=A(Ta(c,a)),b=c.next().value,a=c.next().value,c=b);G=c>>>0;H=a>>>0}var Ua=\"function\"===typeof BigInt;function Ta(a,b){b=~b;a?a=~a+1:b+=1;return[a,b]};function Va(a,b){this.i=a>>>0;this.h=b>>>0}\nfunction Wa(a){if(!a)return Xa||(Xa=new Va(0,0));if(!/^-?\\d+$/.test(a))return null;if(16>a.length)Sa(Number(a));else if(Ua)a=BigInt(a),G=Number(a&BigInt(4294967295))>>>0,H=Number(a>>BigInt(32)&BigInt(4294967295));else{var b=+(\"-\"===a[0]);H=G=0;for(var c=a.length,d=b,e=(c-b)%6+b;e<=c;d=e,e+=6)d=Number(a.slice(d,e)),H*=1E6,G=1E6*G+d,4294967296<=G&&(H+=G/4294967296|0,G%=4294967296);b&&(b=A(Ta(G,H)),a=b.next().value,b=b.next().value,G=a,H=b)}return new Va(G,H)}var Xa;function Ya(a,b){return Error(\"Invalid wire type: \"+a+\" (at position \"+b+\")\")}function Za(){return Error(\"Failed to read varint, encoding is invalid.\")}function $a(a,b){return Error(\"Tried to read past the end of the data \"+b+\" > \"+a)};function K(){throw Error(\"Invalid UTF8\");}function ab(a,b){b=String.fromCharCode.apply(null,b);return null==a?b:a+b}var bb=void 0,cb,db=\"undefined\"!==typeof TextDecoder,eb,fb=\"undefined\"!==typeof TextEncoder;var gb;function hb(a){if(a!==Qa)throw Error(\"illegal external caller\");}function ib(a,b){hb(b);this.V=a;if(null!=a&&0===a.length)throw Error(\"ByteString should be constructed with non-empty values\");}function jb(){return gb||(gb=new ib(null,Qa))}function kb(a){hb(Qa);var b=a.V;b=null==b||Ia&&null!=b&&b instanceof Uint8Array?b:\"string\"===typeof b?Na(b):null;return null==b?b:a.V=b};function lb(a){if(\"string\"===typeof a)return{buffer:Na(a),C:!1};if(Array.isArray(a))return{buffer:new Uint8Array(a),C:!1};if(a.constructor===Uint8Array)return{buffer:a,C:!1};if(a.constructor===ArrayBuffer)return{buffer:new Uint8Array(a),C:!1};if(a.constructor===ib)return{buffer:kb(a)||Pa(),C:!0};if(a instanceof Uint8Array)return{buffer:new Uint8Array(a.buffer,a.byteOffset,a.byteLength),C:!1};throw Error(\"Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers\");\n};function mb(a,b){this.i=null;this.m=!1;this.h=this.j=this.l=0;nb(this,a,b)}function nb(a,b,c){c=void 0===c?{}:c;a.S=void 0===c.S?!1:c.S;b&&(b=lb(b),a.i=b.buffer,a.m=b.C,a.l=0,a.j=a.i.length,a.h=a.l)}mb.prototype.reset=function(){this.h=this.l};function L(a,b){a.h=b;if(b>a.j)throw $a(a.j,b);}\nfunction ob(a){var b=a.i,c=a.h,d=b[c++],e=d&127;if(d&128&&(d=b[c++],e|=(d&127)<<7,d&128&&(d=b[c++],e|=(d&127)<<14,d&128&&(d=b[c++],e|=(d&127)<<21,d&128&&(d=b[c++],e|=d<<28,d&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128)))))throw Za();L(a,c);return e}function pb(a,b){if(0>b)throw Error(\"Tried to read a negative byte length: \"+b);var c=a.h,d=c+b;if(d>a.j)throw $a(b,a.j-c);a.h=d;return c}var qb=[];function rb(){this.h=[]}rb.prototype.length=function(){return this.h.length};rb.prototype.end=function(){var a=this.h;this.h=[];return a};function sb(a,b,c){for(;0<c||127<b;)a.h.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.h.push(b)}function M(a,b){for(;127<b;)a.h.push(b&127|128),b>>>=7;a.h.push(b)};function tb(a,b){if(qb.length){var c=qb.pop();nb(c,a,b);a=c}else a=new mb(a,b);this.h=a;this.j=this.h.h;this.i=this.l=-1;this.setOptions(b)}tb.prototype.setOptions=function(a){a=void 0===a?{}:a;this.ca=void 0===a.ca?!1:a.ca};tb.prototype.reset=function(){this.h.reset();this.j=this.h.h;this.i=this.l=-1};\nfunction ub(a){var b=a.h;if(b.h==b.j)return!1;a.j=a.h.h;var c=ob(a.h)>>>0;b=c>>>3;c&=7;if(!(0<=c&&5>=c))throw Ya(c,a.j);if(1>b)throw Error(\"Invalid field number: \"+b+\" (at position \"+a.j+\")\");a.l=b;a.i=c;return!0}\nfunction vb(a){switch(a.i){case 0:if(0!=a.i)vb(a);else a:{a=a.h;for(var b=a.h,c=b+10,d=a.i;b<c;)if(0===(d[b++]&128)){L(a,b);break a}throw Za();}break;case 1:a=a.h;L(a,a.h+8);break;case 2:2!=a.i?vb(a):(b=ob(a.h)>>>0,a=a.h,L(a,a.h+b));break;case 5:a=a.h;L(a,a.h+4);break;case 3:b=a.l;do{if(!ub(a))throw Error(\"Unmatched start-group tag: stream EOF\");if(4==a.i){if(a.l!=b)throw Error(\"Unmatched end-group tag\");break}vb(a)}while(1);break;default:throw Ya(a.i,a.j);}}var wb=[];function xb(){this.j=[];this.i=0;this.h=new rb}function N(a,b){0!==b.length&&(a.j.push(b),a.i+=b.length)}function yb(a,b){if(b=b.R){N(a,a.h.end());for(var c=0;c<b.length;c++)N(a,kb(b[c])||Pa())}};var O=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol()?Symbol():void 0;function P(a,b){if(O)return a[O]|=b;if(void 0!==a.A)return a.A|=b;Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}});return b}function zb(a,b){O?a[O]&&(a[O]&=~b):void 0!==a.A&&(a.A&=~b)}function Q(a){var b;O?b=a[O]:b=a.A;return null==b?0:b}function R(a,b){O?a[O]=b:void 0!==a.A?a.A=b:Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}})}\nfunction Ab(a){P(a,1);return a}function Bb(a,b){R(b,(a|0)&-51)}function Cb(a,b){R(b,(a|18)&-41)};var Db={};function Eb(a){return null!==a&&\"object\"===typeof a&&!Array.isArray(a)&&a.constructor===Object}var Fb,Gb=[];R(Gb,23);Fb=Object.freeze(Gb);function Hb(a){if(Q(a.o)&2)throw Error(\"Cannot mutate an immutable Message\");}function Ib(a){var b=a.length;(b=b?a[b-1]:void 0)&&Eb(b)?b.g=1:(b={},a.push((b.g=1,b)))};function Jb(a){var b=a.i+a.G;return a.B||(a.B=a.o[b]={})}function S(a,b){return-1===b?null:b>=a.i?a.B?a.B[b]:void 0:a.o[b+a.G]}function U(a,b,c,d){Hb(a);Kb(a,b,c,d)}function Kb(a,b,c,d){a.j&&(a.j=void 0);b>=a.i||d?Jb(a)[b]=c:(a.o[b+a.G]=c,(a=a.B)&&b in a&&delete a[b])}function Lb(a,b,c,d){var e=S(a,b);Array.isArray(e)||(e=Fb);var g=Q(e);g&1||Ab(e);if(d)g&2||P(e,2),c&1||Object.freeze(e);else{d=!(c&2);var f=g&2;c&1||!f?d&&g&16&&!f&&zb(e,16):(e=Ab(Array.prototype.slice.call(e)),Kb(a,b,e))}return e}\nfunction Mb(a,b){var c=S(a,b);var d=null==c?c:\"number\"===typeof c||\"NaN\"===c||\"Infinity\"===c||\"-Infinity\"===c?Number(c):void 0;null!=d&&d!==c&&Kb(a,b,d);return d}\nfunction Nb(a,b,c,d,e){a.h||(a.h={});var g=a.h[c],f=Lb(a,c,3,e);if(!g){var h=f;g=[];var k=!!(Q(a.o)&16);f=!!(Q(h)&2);var l=h;!e&&f&&(h=Array.prototype.slice.call(h));for(var m=f,r=0;r<h.length;r++){var p=h[r];var n=b,q=!1;q=void 0===q?!1:q;p=Array.isArray(p)?new n(p):q?new n:void 0;if(void 0!==p){n=p.o;var t=q=Q(n);f&&(t|=2);k&&(t|=16);t!=q&&R(n,t);n=t;m=m||!!(2&n);g.push(p)}}a.h[c]=g;k=Q(h);b=k|33;b=m?b&-9:b|8;k!=b&&(m=h,Object.isFrozen(m)&&(m=Array.prototype.slice.call(m)),R(m,b),h=m);l!==h&&Kb(a,\nc,h);(e||d&&f)&&P(g,2);d&&Object.freeze(g);return g}e||(e=Object.isFrozen(g),d&&!e?Object.freeze(g):!d&&e&&(g=Array.prototype.slice.call(g),a.h[c]=g));return g}function Ob(a,b,c){var d=!!(Q(a.o)&2);b=Nb(a,b,c,d,d);a=Lb(a,c,3,d);if(!(d||Q(a)&8)){for(d=0;d<b.length;d++){c=b[d];if(Q(c.o)&2){var e=Pb(c,!1);e.j=c}else e=c;c!==e&&(b[d]=e,a[d]=e.o)}P(a,8)}return b}\nfunction V(a,b,c){if(null!=c&&\"number\"!==typeof c)throw Error(\"Value of float/double field must be a number|null|undefined, found \"+typeof c+\": \"+c);U(a,b,c)}function Qb(a,b,c,d,e){Hb(a);var g=Nb(a,c,b,!1,!1);c=null!=d?d:new c;a=Lb(a,b,2,!1);void 0!=e?(g.splice(e,0,c),a.splice(e,0,c.o)):(g.push(c),a.push(c.o));c.C()&&zb(a,8);return c}function Rb(a,b){return null==a?b:a}function W(a,b,c){c=void 0===c?0:c;return Rb(Mb(a,b),c)};var Sb;function Tb(a){switch(typeof a){case \"number\":return isFinite(a)?a:String(a);case \"object\":if(a)if(Array.isArray(a)){if(0!==(Q(a)&128))return a=Array.prototype.slice.call(a),Ib(a),a}else{if(Ia&&null!=a&&a instanceof Uint8Array)return Ka(a);if(a instanceof ib){var b=a.V;return null==b?\"\":\"string\"===typeof b?b:a.V=Ka(b)}}}return a};function Ub(a,b,c,d){if(null!=a){if(Array.isArray(a))a=Vb(a,b,c,void 0!==d);else if(Eb(a)){var e={},g;for(g in a)e[g]=Ub(a[g],b,c,d);a=e}else a=b(a,d);return a}}function Vb(a,b,c,d){var e=Q(a);d=d?!!(e&16):void 0;a=Array.prototype.slice.call(a);for(var g=0;g<a.length;g++)a[g]=Ub(a[g],b,c,d);c(e,a);return a}function Wb(a){return a.ja===Db?a.toJSON():Tb(a)}function Xb(a,b){a&128&&Ib(b)};function Yb(a,b,c){c=void 0===c?Cb:c;if(null!=a){if(Ia&&a instanceof Uint8Array)return a.length?new ib(new Uint8Array(a),Qa):jb();if(Array.isArray(a)){var d=Q(a);if(d&2)return a;if(b&&!(d&32)&&(d&16||0===d))return R(a,d|2),a;a=Vb(a,Yb,d&4?Cb:c,!0);b=Q(a);b&4&&b&2&&Object.freeze(a);return a}return a.ja===Db?Zb(a):a}}\nfunction $b(a,b,c,d,e,g,f){if(a=a.h&&a.h[c]){d=Q(a);d&2?d=a:(g=Ca(a,Zb),Cb(d,g),Object.freeze(g),d=g);Hb(b);f=null==d?Fb:Ab([]);if(null!=d){g=!!d.length;for(a=0;a<d.length;a++){var h=d[a];g=g&&!(Q(h.o)&2);f[a]=h.o}g=(g?8:0)|1;a=Q(f);(a&g)!==g&&(Object.isFrozen(f)&&(f=Array.prototype.slice.call(f)),R(f,a|g));b.h||(b.h={});b.h[c]=d}else b.h&&(b.h[c]=void 0);Kb(b,c,f,e)}else U(b,c,Yb(d,g,f),e)}function Zb(a){if(Q(a.o)&2)return a;a=Pb(a,!0);P(a.o,2);return a}\nfunction Pb(a,b){var c=a.o,d=[];P(d,16);var e=a.constructor.h;e&&d.push(e);e=a.B;if(e){d.length=c.length;d.fill(void 0,d.length,c.length);var g={};d[d.length-1]=g}0!==(Q(c)&128)&&Ib(d);b=b||a.C()?Cb:Bb;g=a.constructor;Sb=d;d=new g(d);Sb=void 0;a.R&&(d.R=a.R.slice());g=!!(Q(c)&16);for(var f=e?c.length-1:c.length,h=0;h<f;h++)$b(a,d,h-a.G,c[h],!1,g,b);if(e)for(var k in e)$b(a,d,+k,e[k],!0,g,b);return d};function X(a,b,c){null==a&&(a=Sb);Sb=void 0;var d=this.constructor.i||0,e=0<d,g=this.constructor.h,f=!1;if(null==a){a=g?[g]:[];var h=48;var k=!0;e&&(d=0,h|=128);R(a,h)}else{if(!Array.isArray(a))throw Error();if(g&&g!==a[0])throw Error();var l=h=P(a,0);if(k=0!==(16&l))(f=0!==(32&l))||(l|=32);if(e)if(128&l)d=0;else{if(0<a.length){var m=a[a.length-1];if(Eb(m)&&\"g\"in m){d=0;l|=128;delete m.g;var r=!0,p;for(p in m){r=!1;break}r&&a.pop()}}}else if(128&l)throw Error();h!==l&&R(a,l)}this.G=(g?0:-1)-d;this.h=\nvoid 0;this.o=a;a:{g=this.o.length;d=g-1;if(g&&(g=this.o[d],Eb(g))){this.B=g;this.i=d-this.G;break a}void 0!==b&&-1<b?(this.i=Math.max(b,d+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE}if(!e&&this.B&&\"g\"in this.B)throw Error('Unexpected \"g\" flag in sparse object of message that is not a group type.');if(c){b=k&&!f&&!0;e=this.i;var n;for(k=0;k<c.length;k++)f=c[k],f<e?(f+=this.G,(d=a[f])?ac(d,b):a[f]=Fb):(n||(n=Jb(this)),(d=n[f])?ac(d,b):n[f]=Fb)}}\nX.prototype.toJSON=function(){return Vb(this.o,Wb,Xb)};X.prototype.C=function(){return!!(Q(this.o)&2)};function ac(a,b){if(Array.isArray(a)){var c=Q(a),d=1;!b||c&2||(d|=16);(c&d)!==d&&R(a,c|d)}}X.prototype.ja=Db;X.prototype.toString=function(){return this.o.toString()};function bc(a,b,c){if(c){var d={},e;for(e in c){var g=c[e],f=g.ra;f||(d.J=g.xa||g.oa.W,g.ia?(d.aa=cc(g.ia),f=function(h){return function(k,l,m){return h.J(k,l,m,h.aa)}}(d)):g.ka?(d.Z=dc(g.da.P,g.ka),f=function(h){return function(k,l,m){return h.J(k,l,m,h.Z)}}(d)):f=d.J,g.ra=f);f(b,a,g.da);d={J:d.J,aa:d.aa,Z:d.Z}}}yb(b,a)}var ec=Symbol();function fc(a,b,c){return a[ec]||(a[ec]=function(d,e){return b(d,e,c)})}\nfunction gc(a){var b=a[ec];if(!b){var c=hc(a);b=function(d,e){return ic(d,e,c)};a[ec]=b}return b}function jc(a){var b=a.ia;if(b)return gc(b);if(b=a.wa)return fc(a.da.P,b,a.ka)}function kc(a){var b=jc(a),c=a.da,d=a.oa.U;return b?function(e,g){return d(e,g,c,b)}:function(e,g){return d(e,g,c)}}function lc(a,b){var c=a[b];\"function\"==typeof c&&0===c.length&&(c=c(),a[b]=c);return Array.isArray(c)&&(mc in c||nc in c||0<c.length&&\"function\"==typeof c[0])?c:void 0}\nfunction oc(a,b,c,d,e,g){b.P=a[0];var f=1;if(a.length>f&&\"number\"!==typeof a[f]){var h=a[f++];c(b,h)}for(;f<a.length;){c=a[f++];for(var k=f+1;k<a.length&&\"number\"!==typeof a[k];)k++;h=a[f++];k-=f;switch(k){case 0:d(b,c,h);break;case 1:(k=lc(a,f))?(f++,e(b,c,h,k)):d(b,c,h,a[f++]);break;case 2:k=f++;k=lc(a,k);e(b,c,h,k,a[f++]);break;case 3:g(b,c,h,a[f++],a[f++],a[f++]);break;case 4:g(b,c,h,a[f++],a[f++],a[f++],a[f++]);break;default:throw Error(\"unexpected number of binary field arguments: \"+k);}}return b}\nvar pc=Symbol();function cc(a){var b=a[pc];if(!b){var c=qc(a);b=function(d,e){return rc(d,e,c)};a[pc]=b}return b}function dc(a,b){var c=a[pc];c||(c=function(d,e){return bc(d,e,b)},a[pc]=c);return c}var nc=Symbol();function sc(a,b){a.push(b)}function tc(a,b,c){a.push(b,c.W)}function uc(a,b,c,d){var e=cc(d),g=qc(d).P,f=c.W;a.push(b,function(h,k,l){return f(h,k,l,g,e)})}function vc(a,b,c,d,e,g){var f=dc(d,g),h=c.W;a.push(b,function(k,l,m){return h(k,l,m,d,f)})}\nfunction qc(a){var b=a[nc];if(b)return b;b=oc(a,a[nc]=[],sc,tc,uc,vc);mc in a&&nc in a&&(a.length=0);return b}var mc=Symbol();function wc(a,b){a[0]=b}function xc(a,b,c,d){var e=c.U;a[b]=d?function(g,f,h){return e(g,f,h,d)}:e}function yc(a,b,c,d,e){var g=c.U,f=gc(d),h=hc(d).P;a[b]=function(k,l,m){return g(k,l,m,h,f,e)}}function zc(a,b,c,d,e,g,f){var h=c.U,k=fc(d,e,g);a[b]=function(l,m,r){return h(l,m,r,d,k,f)}}\nfunction hc(a){var b=a[mc];if(b)return b;b=oc(a,a[mc]={},wc,xc,yc,zc);mc in a&&nc in a&&(a.length=0);return b}\nfunction ic(a,b,c){for(;ub(b)&&4!=b.i;){var d=b.l,e=c[d];if(!e){var g=c[0];g&&(g=g[d])&&(e=c[d]=kc(g))}if(!e||!e(b,a,d)){e=b;d=a;g=e.j;vb(e);var f=e;if(!f.ca){e=f.h.h-g;f.h.h=g;f=f.h;if(0==e)e=jb();else{g=pb(f,e);if(f.S&&f.m)e=f.i.subarray(g,g+e);else{f=f.i;var h=g;e=g+e;e=h===e?Pa():Ra?f.slice(h,e):new Uint8Array(f.subarray(h,e))}e=0==e.length?jb():new ib(e,Qa)}(g=d.R)?g.push(e):d.R=[e]}}}return a}\nfunction rc(a,b,c){for(var d=c.length,e=1==d%2,g=e?1:0;g<d;g+=2)(0,c[g+1])(b,a,c[g]);bc(a,b,e?c[0]:void 0)}function Ac(a,b){return{U:a,W:b}}\nvar Y=Ac(function(a,b,c){if(5!==a.i)return!1;a=a.h;var d=a.i,e=a.h,g=d[e];var f=d[e+1];var h=d[e+2];d=d[e+3];L(a,a.h+4);f=(g<<0|f<<8|h<<16|d<<24)>>>0;a=2*(f>>31)+1;g=f>>>23&255;f&=8388607;U(b,c,255==g?f?NaN:Infinity*a:0==g?a*Math.pow(2,-149)*f:a*Math.pow(2,g-150)*(f+Math.pow(2,23)));return!0},function(a,b,c){b=Mb(b,c);if(null!=b){M(a.h,8*c+5);a=a.h;var d=+b;0===d?0<1/d?G=H=0:(H=0,G=2147483648):isNaN(d)?(H=0,G=2147483647):(d=(c=0>d?-2147483648:0)?-d:d,3.4028234663852886E38<d?(H=0,G=(c|2139095040)>>>\n0):1.1754943508222875E-38>d?(d=Math.round(d/Math.pow(2,-149)),H=0,G=(c|d)>>>0):(b=Math.floor(Math.log(d)/Math.LN2),d*=Math.pow(2,-b),d=Math.round(8388608*d),16777216<=d&&++b,H=0,G=(c|b+127<<23|d&8388607)>>>0));c=G;a.h.push(c>>>0&255);a.h.push(c>>>8&255);a.h.push(c>>>16&255);a.h.push(c>>>24&255)}}),Bc=Ac(function(a,b,c){if(0!==a.i)return!1;var d=a.h,e=0,g=a=0,f=d.i,h=d.h;do{var k=f[h++];e|=(k&127)<<g;g+=7}while(32>g&&k&128);32<g&&(a|=(k&127)>>4);for(g=3;32>g&&k&128;g+=7)k=f[h++],a|=(k&127)<<g;L(d,\nh);if(128>k){d=e>>>0;k=a>>>0;if(a=k&2147483648)d=~d+1>>>0,k=~k>>>0,0==d&&(k=k+1>>>0);d=4294967296*k+(d>>>0)}else throw Za();U(b,c,a?-d:d);return!0},function(a,b,c){b=S(b,c);null!=b&&(\"string\"===typeof b&&Wa(b),null!=b&&(M(a.h,8*c),\"number\"===typeof b?(a=a.h,Sa(b),sb(a,G,H)):(c=Wa(b),sb(a.h,c.i,c.h))))}),Cc=Ac(function(a,b,c){if(0!==a.i)return!1;U(b,c,ob(a.h));return!0},function(a,b,c){b=S(b,c);if(null!=b&&null!=b)if(M(a.h,8*c),a=a.h,c=b,0<=c)M(a,c);else{for(b=0;9>b;b++)a.h.push(c&127|128),c>>=7;a.h.push(1)}}),\nDc=Ac(function(a,b,c){if(2!==a.i)return!1;var d=ob(a.h)>>>0;a=a.h;var e=pb(a,d);a=a.i;if(db){var g=a,f;(f=cb)||(f=cb=new TextDecoder(\"utf-8\",{fatal:!0}));a=e+d;g=0===e&&a===g.length?g:g.subarray(e,a);try{var h=f.decode(g)}catch(r){if(void 0===bb){try{f.decode(new Uint8Array([128]))}catch(p){}try{f.decode(new Uint8Array([97])),bb=!0}catch(p){bb=!1}}!bb&&(cb=void 0);throw r;}}else{h=e;d=h+d;e=[];for(var k=null,l,m;h<d;)l=a[h++],128>l?e.push(l):224>l?h>=d?K():(m=a[h++],194>l||128!==(m&192)?(h--,K()):\ne.push((l&31)<<6|m&63)):240>l?h>=d-1?K():(m=a[h++],128!==(m&192)||224===l&&160>m||237===l&&160<=m||128!==((g=a[h++])&192)?(h--,K()):e.push((l&15)<<12|(m&63)<<6|g&63)):244>=l?h>=d-2?K():(m=a[h++],128!==(m&192)||0!==(l<<28)+(m-144)>>30||128!==((g=a[h++])&192)||128!==((f=a[h++])&192)?(h--,K()):(l=(l&7)<<18|(m&63)<<12|(g&63)<<6|f&63,l-=65536,e.push((l>>10&1023)+55296,(l&1023)+56320))):K(),8192<=e.length&&(k=ab(k,e),e.length=0);h=ab(k,e)}U(b,c,h);return!0},function(a,b,c){b=S(b,c);if(null!=b){var d=!1;\nd=void 0===d?!1:d;if(fb){if(d&&/(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])/.test(b))throw Error(\"Found an unpaired surrogate\");b=(eb||(eb=new TextEncoder)).encode(b)}else{for(var e=0,g=new Uint8Array(3*b.length),f=0;f<b.length;f++){var h=b.charCodeAt(f);if(128>h)g[e++]=h;else{if(2048>h)g[e++]=h>>6|192;else{if(55296<=h&&57343>=h){if(56319>=h&&f<b.length){var k=b.charCodeAt(++f);if(56320<=k&&57343>=k){h=1024*(h-55296)+k-56320+65536;g[e++]=h>>18|240;g[e++]=h>>12&63|128;\ng[e++]=h>>6&63|128;g[e++]=h&63|128;continue}else f--}if(d)throw Error(\"Found an unpaired surrogate\");h=65533}g[e++]=h>>12|224;g[e++]=h>>6&63|128}g[e++]=h&63|128}}b=e===g.length?g:g.subarray(0,e)}M(a.h,8*c+2);M(a.h,b.length);N(a,a.h.end());N(a,b)}}),Ec=Ac(function(a,b,c,d,e){if(2!==a.i)return!1;b=Qb(b,c,d);c=a.h.j;d=ob(a.h)>>>0;var g=a.h.h+d,f=g-c;0>=f&&(a.h.j=g,e(b,a,void 0,void 0,void 0),f=g-a.h.h);if(f)throw Error(\"Message parsing ended unexpectedly. Expected to read \"+(d+\" bytes, instead read \"+\n(d-f)+\" bytes, either the data ended unexpectedly or the message misreported its own length\"));a.h.h=g;a.h.j=c;return!0},function(a,b,c,d,e){b=Ob(b,d,c);if(null!=b)for(d=0;d<b.length;d++){var g=a;M(g.h,8*c+2);var f=g.h.end();N(g,f);f.push(g.i);g=f;e(b[d],a);f=a;var h=g.pop();for(h=f.i+f.h.length()-h;127<h;)g.push(h&127|128),h>>>=7,f.i++;g.push(h);f.i++}});function Fc(a){return function(b,c){a:{if(wb.length){var d=wb.pop();d.setOptions(c);nb(d.h,b,c);b=d}else b=new tb(b,c);try{var e=hc(a);var g=ic(new e.P,b,e);break a}finally{e=b.h,e.i=null,e.m=!1,e.l=0,e.j=0,e.h=0,e.S=!1,b.l=-1,b.i=-1,100>wb.length&&wb.push(b)}g=void 0}return g}}function Gc(a){return function(){var b=new xb;rc(this,b,qc(a));N(b,b.h.end());for(var c=new Uint8Array(b.i),d=b.j,e=d.length,g=0,f=0;f<e;f++){var h=d[f];c.set(h,g);g+=h.length}b.j=[c];return c}};function Z(a){X.call(this,a)}na(Z,X);var Hc=[Z,1,Cc,2,Y,3,Dc,4,Dc];Z.prototype.l=Gc(Hc);function Ic(a){X.call(this,a,-1,Jc)}na(Ic,X);Ic.prototype.addClassification=function(a,b){Qb(this,1,Z,a,b);return this};var Jc=[1],Kc=Fc([Ic,1,Ec,Hc]);function Lc(a){X.call(this,a)}na(Lc,X);var Mc=[Lc,1,Y,2,Y,3,Y,4,Y,5,Y];Lc.prototype.l=Gc(Mc);function Nc(a){X.call(this,a,-1,Oc)}na(Nc,X);var Oc=[1],Pc=Fc([Nc,1,Ec,Mc]);function Qc(a){X.call(this,a)}na(Qc,X);var Rc=[Qc,1,Y,2,Y,3,Y,4,Y,5,Y,6,Bc],Sc=Fc(Rc);Qc.prototype.l=Gc(Rc);function Tc(a,b,c){c=a.createShader(0===c?a.VERTEX_SHADER:a.FRAGMENT_SHADER);a.shaderSource(c,b);a.compileShader(c);if(!a.getShaderParameter(c,a.COMPILE_STATUS))throw Error(\"Could not compile WebGL shader.\\n\\n\"+a.getShaderInfoLog(c));return c};function Uc(a){return Ob(a,Z,1).map(function(b){var c=S(b,1);return{index:null==c?0:c,qa:W(b,2),label:null!=S(b,3)?Rb(S(b,3),\"\"):void 0,displayName:null!=S(b,4)?Rb(S(b,4),\"\"):void 0}})};function Vc(a){return{x:W(a,1),y:W(a,2),z:W(a,3),visibility:null!=Mb(a,4)?W(a,4):void 0}};function Wc(a,b){this.i=a;this.h=b;this.m=0}\nfunction Xc(a,b,c){Yc(a,b);if(\"function\"===typeof a.h.canvas.transferToImageBitmap)return Promise.resolve(a.h.canvas.transferToImageBitmap());if(c)return Promise.resolve(a.h.canvas);if(\"function\"===typeof createImageBitmap)return createImageBitmap(a.h.canvas);void 0===a.j&&(a.j=document.createElement(\"canvas\"));return new Promise(function(d){a.j.height=a.h.canvas.height;a.j.width=a.h.canvas.width;a.j.getContext(\"2d\",{}).drawImage(a.h.canvas,0,0,a.h.canvas.width,a.h.canvas.height);d(a.j)})}\nfunction Yc(a,b){var c=a.h;if(void 0===a.s){var d=Tc(c,\"\\n attribute vec2 aVertex;\\n attribute vec2 aTex;\\n varying vec2 vTex;\\n void main(void) {\\n gl_Position = vec4(aVertex, 0.0, 1.0);\\n vTex = aTex;\\n }\",0),e=Tc(c,\"\\n precision mediump float;\\n varying vec2 vTex;\\n uniform sampler2D sampler0;\\n void main(){\\n gl_FragColor = texture2D(sampler0, vTex);\\n }\",1),g=c.createProgram();c.attachShader(g,d);c.attachShader(g,e);c.linkProgram(g);if(!c.getProgramParameter(g,c.LINK_STATUS))throw Error(\"Could not compile WebGL program.\\n\\n\"+\nc.getProgramInfoLog(g));d=a.s=g;c.useProgram(d);e=c.getUniformLocation(d,\"sampler0\");a.l={O:c.getAttribLocation(d,\"aVertex\"),N:c.getAttribLocation(d,\"aTex\"),ya:e};a.v=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.v);c.enableVertexAttribArray(a.l.O);c.vertexAttribPointer(a.l.O,2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);a.u=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.u);c.enableVertexAttribArray(a.l.N);c.vertexAttribPointer(a.l.N,\n2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);c.uniform1i(e,0)}d=a.l;c.useProgram(a.s);c.canvas.width=b.width;c.canvas.height=b.height;c.viewport(0,0,b.width,b.height);c.activeTexture(c.TEXTURE0);a.i.bindTexture2d(b.glName);c.enableVertexAttribArray(d.O);c.bindBuffer(c.ARRAY_BUFFER,a.v);c.vertexAttribPointer(d.O,2,c.FLOAT,!1,0,0);c.enableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,a.u);c.vertexAttribPointer(d.N,\n2,c.FLOAT,!1,0,0);c.bindFramebuffer(c.DRAW_FRAMEBUFFER?c.DRAW_FRAMEBUFFER:c.FRAMEBUFFER,null);c.clearColor(0,0,0,0);c.clear(c.COLOR_BUFFER_BIT);c.colorMask(!0,!0,!0,!0);c.drawArrays(c.TRIANGLE_FAN,0,4);c.disableVertexAttribArray(d.O);c.disableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,null);a.i.bindTexture2d(0)}function Zc(a){this.h=a};var $c=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function ad(a,b){return b+a}function bd(a,b){window[a]=b}function cd(a){var b=document.createElement(\"script\");b.setAttribute(\"src\",a);b.setAttribute(\"crossorigin\",\"anonymous\");return new Promise(function(c){b.addEventListener(\"load\",function(){c()},!1);b.addEventListener(\"error\",function(){c()},!1);document.body.appendChild(b)})}\nfunction dd(){return E(function(a){switch(a.h){case 1:return a.s=2,D(a,WebAssembly.instantiate($c),4);case 4:a.h=3;a.s=0;break;case 2:return a.s=0,a.l=null,a.return(!1);case 3:return a.return(!0)}})}\nfunction ed(a){this.h=a;this.listeners={};this.l={};this.L={};this.s={};this.v={};this.M=this.u=this.ga=!0;this.I=Promise.resolve();this.fa=\"\";this.D={};this.locateFile=a&&a.locateFile||ad;if(\"object\"===typeof window)var b=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf(\"/\"))+\"/\";else if(\"undefined\"!==typeof location)b=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf(\"/\"))+\"/\";else throw Error(\"solutions can only be loaded on a web page or in a web worker\");\nthis.ha=b;if(a.options){b=A(Object.keys(a.options));for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=a.options[c].default;void 0!==d&&(this.l[c]=\"function\"===typeof d?d():d)}}}x=ed.prototype;x.close=function(){this.j&&this.j.delete();return Promise.resolve()};\nfunction fd(a){var b,c,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!a.ga)return p.return();b=void 0===a.h.files?[]:\"function\"===typeof a.h.files?a.h.files(a.l):a.h.files;return D(p,dd(),2);case 2:c=p.i;if(\"object\"===typeof window)return bd(\"createMediapipeSolutionsWasm\",{locateFile:a.locateFile}),bd(\"createMediapipeSolutionsPackedAssets\",{locateFile:a.locateFile}),f=b.filter(function(n){return void 0!==n.data}),h=b.filter(function(n){return void 0===n.data}),k=Promise.all(f.map(function(n){var q=\ngd(a,n.url);if(void 0!==n.path){var t=n.path;q=q.then(function(w){a.overrideFile(t,w);return Promise.resolve(w)})}return q})),l=Promise.all(h.map(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c?cd(a.locateFile(n.url,a.ha)):Promise.resolve()})).then(function(){var n,q,t;return E(function(w){if(1==w.h)return n=window.createMediapipeSolutionsWasm,q=window.createMediapipeSolutionsPackedAssets,t=a,D(w,n(q),2);t.i=w.i;w.h=0})}),m=function(){return E(function(n){a.h.graph&&a.h.graph.url?n=D(n,\ngd(a,a.h.graph.url),0):(n.h=0,n=void 0);return n})}(),D(p,Promise.all([l,k,m]),7);if(\"function\"!==typeof importScripts)throw Error(\"solutions can only be loaded on a web page or in a web worker\");d=b.filter(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c}).map(function(n){return a.locateFile(n.url,a.ha)});importScripts.apply(null,ea(d));e=a;return D(p,createMediapipeSolutionsWasm(Module),6);case 6:e.i=p.i;a.m=new OffscreenCanvas(1,1);a.i.canvas=a.m;g=a.i.GL.createContext(a.m,{antialias:!1,\nalpha:!1,va:\"undefined\"!==typeof WebGL2RenderingContext?2:1});a.i.GL.makeContextCurrent(g);p.h=4;break;case 7:a.m=document.createElement(\"canvas\");r=a.m.getContext(\"webgl2\",{});if(!r&&(r=a.m.getContext(\"webgl\",{}),!r))return alert(\"Failed to create WebGL canvas context when passing video frame.\"),p.return();a.K=r;a.i.canvas=a.m;a.i.createContext(a.m,!0,!0,{});case 4:a.j=new a.i.SolutionWasm,a.ga=!1,p.h=0}})}\nfunction hd(a){var b,c,d,e,g,f,h,k;return E(function(l){if(1==l.h){if(a.h.graph&&a.h.graph.url&&a.fa===a.h.graph.url)return l.return();a.u=!0;if(!a.h.graph||!a.h.graph.url){l.h=2;return}a.fa=a.h.graph.url;return D(l,gd(a,a.h.graph.url),3)}2!=l.h&&(b=l.i,a.j.loadGraph(b));c=A(Object.keys(a.D));for(d=c.next();!d.done;d=c.next())e=d.value,a.j.overrideFile(e,a.D[e]);a.D={};if(a.h.listeners)for(g=A(a.h.listeners),f=g.next();!f.done;f=g.next())h=f.value,id(a,h);k=a.l;a.l={};a.setOptions(k);l.h=0})}\nx.reset=function(){var a=this;return E(function(b){a.j&&(a.j.reset(),a.s={},a.v={});b.h=0})};\nx.setOptions=function(a,b){var c=this;if(b=b||this.h.options){for(var d=[],e=[],g={},f=A(Object.keys(a)),h=f.next();!h.done;g={X:g.X,Y:g.Y},h=f.next())if(h=h.value,!(h in this.l&&this.l[h]===a[h])){this.l[h]=a[h];var k=b[h];void 0!==k&&(k.onChange&&(g.X=k.onChange,g.Y=a[h],d.push(function(l){return function(){var m;return E(function(r){if(1==r.h)return D(r,l.X(l.Y),2);m=r.i;!0===m&&(c.u=!0);r.h=0})}}(g))),k.graphOptionXref&&(h=Object.assign({},{calculatorName:\"\",calculatorIndex:0},k.graphOptionXref,\n{valueNumber:1===k.type?a[h]:0,valueBoolean:0===k.type?a[h]:!1,valueString:2===k.type?a[h]:\"\"}),e.push(h)))}if(0!==d.length||0!==e.length)this.u=!0,this.H=(void 0===this.H?[]:this.H).concat(e),this.F=(void 0===this.F?[]:this.F).concat(d)}};\nfunction jd(a){var b,c,d,e,g,f,h;return E(function(k){switch(k.h){case 1:if(!a.u)return k.return();if(!a.F){k.h=2;break}b=A(a.F);c=b.next();case 3:if(c.done){k.h=5;break}d=c.value;return D(k,d(),4);case 4:c=b.next();k.h=3;break;case 5:a.F=void 0;case 2:if(a.H){e=new a.i.GraphOptionChangeRequestList;g=A(a.H);for(f=g.next();!f.done;f=g.next())h=f.value,e.push_back(h);a.j.changeOptions(e);e.delete();a.H=void 0}a.u=!1;k.h=0}})}\nx.initialize=function(){var a=this;return E(function(b){return 1==b.h?D(b,fd(a),2):3!=b.h?D(b,hd(a),3):D(b,jd(a),0)})};function gd(a,b){var c,d;return E(function(e){if(b in a.L)return e.return(a.L[b]);c=a.locateFile(b,\"\");d=fetch(c).then(function(g){return g.arrayBuffer()});a.L[b]=d;return e.return(d)})}x.overrideFile=function(a,b){this.j?this.j.overrideFile(a,b):this.D[a]=b};x.clearOverriddenFiles=function(){this.D={};this.j&&this.j.clearOverriddenFiles()};\nx.send=function(a,b){var c=this,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!c.h.inputs)return p.return();d=1E3*(void 0===b||null===b?performance.now():b);return D(p,c.I,2);case 2:return D(p,c.initialize(),3);case 3:e=new c.i.PacketDataList;g=A(Object.keys(a));for(f=g.next();!f.done;f=g.next())if(h=f.value,k=c.h.inputs[h]){a:{var n=a[h];switch(k.type){case \"video\":var q=c.s[k.stream];q||(q=new Wc(c.i,c.K),c.s[k.stream]=q);0===q.m&&(q.m=q.i.createTexture());if(\"undefined\"!==typeof HTMLVideoElement&&\nn instanceof HTMLVideoElement){var t=n.videoWidth;var w=n.videoHeight}else\"undefined\"!==typeof HTMLImageElement&&n instanceof HTMLImageElement?(t=n.naturalWidth,w=n.naturalHeight):(t=n.width,w=n.height);w={glName:q.m,width:t,height:w};t=q.h;t.canvas.width=w.width;t.canvas.height=w.height;t.activeTexture(t.TEXTURE0);q.i.bindTexture2d(q.m);t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n);q.i.bindTexture2d(0);q=w;break a;case \"detections\":q=c.s[k.stream];q||(q=new Zc(c.i),c.s[k.stream]=q);\nq.data||(q.data=new q.h.DetectionListData);q.data.reset(n.length);for(w=0;w<n.length;++w){t=n[w];var v=q.data,B=v.setBoundingBox,J=w;var I=t.la;var u=new Qc;V(u,1,I.sa);V(u,2,I.ta);V(u,3,I.height);V(u,4,I.width);V(u,5,I.rotation);U(u,6,I.pa);I=u.l();B.call(v,J,I);if(t.ea)for(v=0;v<t.ea.length;++v){u=t.ea[v];B=q.data;J=B.addNormalizedLandmark;I=w;u=Object.assign({},u,{visibility:u.visibility?u.visibility:0});var C=new Lc;V(C,1,u.x);V(C,2,u.y);V(C,3,u.z);u.visibility&&V(C,4,u.visibility);u=C.l();J.call(B,\nI,u)}if(t.ba)for(v=0;v<t.ba.length;++v)B=q.data,J=B.addClassification,I=w,u=t.ba[v],C=new Z,V(C,2,u.qa),u.index&&U(C,1,u.index),u.label&&U(C,3,u.label),u.displayName&&U(C,4,u.displayName),u=C.l(),J.call(B,I,u)}q=q.data;break a;default:q={}}}l=q;m=k.stream;switch(k.type){case \"video\":e.pushTexture2d(Object.assign({},l,{stream:m,timestamp:d}));break;case \"detections\":r=l;r.stream=m;r.timestamp=d;e.pushDetectionList(r);break;default:throw Error(\"Unknown input config type: '\"+k.type+\"'\");}}c.j.send(e);\nreturn D(p,c.I,4);case 4:e.delete(),p.h=0}})};\nfunction kd(a,b,c){var d,e,g,f,h,k,l,m,r,p,n,q,t,w;return E(function(v){switch(v.h){case 1:if(!c)return v.return(b);d={};e=0;g=A(Object.keys(c));for(f=g.next();!f.done;f=g.next())h=f.value,k=c[h],\"string\"!==typeof k&&\"texture\"===k.type&&void 0!==b[k.stream]&&++e;1<e&&(a.M=!1);l=A(Object.keys(c));f=l.next();case 2:if(f.done){v.h=4;break}m=f.value;r=c[m];if(\"string\"===typeof r)return t=d,w=m,D(v,ld(a,m,b[r]),14);p=b[r.stream];if(\"detection_list\"===r.type){if(p){var B=p.getRectList();for(var J=p.getLandmarksList(),\nI=p.getClassificationsList(),u=[],C=0;C<B.size();++C){var T=Sc(B.get(C)),od=W(T,1),pd=W(T,2),qd=W(T,3),rd=W(T,4),sd=W(T,5,0),za=void 0;za=void 0===za?0:za;T={la:{sa:od,ta:pd,height:qd,width:rd,rotation:sd,pa:Rb(S(T,6),za)},ea:Ob(Pc(J.get(C)),Lc,1).map(Vc),ba:Uc(Kc(I.get(C)))};u.push(T)}B=u}else B=[];d[m]=B;v.h=7;break}if(\"proto_list\"===r.type){if(p){B=Array(p.size());for(J=0;J<p.size();J++)B[J]=p.get(J);p.delete()}else B=[];d[m]=B;v.h=7;break}if(void 0===p){v.h=3;break}if(\"float_list\"===r.type){d[m]=\np;v.h=7;break}if(\"proto\"===r.type){d[m]=p;v.h=7;break}if(\"texture\"!==r.type)throw Error(\"Unknown output config type: '\"+r.type+\"'\");n=a.v[m];n||(n=new Wc(a.i,a.K),a.v[m]=n);return D(v,Xc(n,p,a.M),13);case 13:q=v.i,d[m]=q;case 7:r.transform&&d[m]&&(d[m]=r.transform(d[m]));v.h=3;break;case 14:t[w]=v.i;case 3:f=l.next();v.h=2;break;case 4:return v.return(d)}})}\nfunction ld(a,b,c){var d;return E(function(e){return\"number\"===typeof c||c instanceof Uint8Array||c instanceof a.i.Uint8BlobList?e.return(c):c instanceof a.i.Texture2dDataOut?(d=a.v[b],d||(d=new Wc(a.i,a.K),a.v[b]=d),e.return(Xc(d,c,a.M))):e.return(void 0)})}\nfunction id(a,b){for(var c=b.name||\"$\",d=[].concat(ea(b.wants)),e=new a.i.StringList,g=A(b.wants),f=g.next();!f.done;f=g.next())e.push_back(f.value);g=a.i.PacketListener.implement({onResults:function(h){for(var k={},l=0;l<b.wants.length;++l)k[d[l]]=h.get(l);var m=a.listeners[c];m&&(a.I=kd(a,k,b.outs).then(function(r){r=m(r);for(var p=0;p<b.wants.length;++p){var n=k[d[p]];\"object\"===typeof n&&n.hasOwnProperty&&n.hasOwnProperty(\"delete\")&&n.delete()}r&&(a.I=r)}))}});a.j.attachMultiListener(e,g);e.delete()}\nx.onResults=function(a,b){this.listeners[b||\"$\"]=a};Aa(\"Solution\",ed);Aa(\"OptionType\",{BOOL:0,NUMBER:1,ua:2,0:\"BOOL\",1:\"NUMBER\",2:\"STRING\"});function md(a){void 0===a&&(a=0);switch(a){case 1:return\"selfie_segmentation_landscape.tflite\";default:return\"selfie_segmentation.tflite\"}}\nfunction nd(a){var b=this;a=a||{};this.h=new ed({locateFile:a.locateFile,files:function(c){return[{simd:!0,url:\"selfie_segmentation_solution_simd_wasm_bin.js\"},{simd:!1,url:\"selfie_segmentation_solution_wasm_bin.js\"},{data:!0,url:md(c.modelSelection)}]},graph:{url:\"selfie_segmentation.binarypb\"},listeners:[{wants:[\"segmentation_mask\",\"image_transformed\"],outs:{image:{type:\"texture\",stream:\"image_transformed\"},segmentationMask:{type:\"texture\",stream:\"segmentation_mask\"}}}],inputs:{image:{type:\"video\",\nstream:\"input_frames_gpu\"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:\"InferenceCalculator\",fieldName:\"use_cpu_inference\"},default:\"object\"!==typeof window||void 0===window.navigator?!1:\"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod\".split(\";\").includes(navigator.platform)||navigator.userAgent.includes(\"Mac\")&&\"ontouchend\"in document},selfieMode:{type:0,graphOptionXref:{calculatorType:\"GlScalerCalculator\",calculatorIndex:1,fieldName:\"flip_horizontal\"}},modelSelection:{type:1,\ngraphOptionXref:{calculatorType:\"ConstantSidePacketCalculator\",calculatorName:\"ConstantSidePacketCalculatorModelSelection\",fieldName:\"int_value\"},onChange:function(c){var d,e,g;return E(function(f){if(1==f.h)return d=md(c),e=\"third_party/mediapipe/modules/selfie_segmentation/\"+d,D(f,gd(b.h,d),2);g=f.i;b.h.overrideFile(e,g);return f.return(!0)})}}}})}x=nd.prototype;x.close=function(){this.h.close();return Promise.resolve()};x.onResults=function(a){this.h.onResults(a)};\nx.initialize=function(){var a=this;return E(function(b){return D(b,a.h.initialize(),0)})};x.reset=function(){this.h.reset()};x.send=function(a){var b=this;return E(function(c){return D(c,b.h.send(a),0)})};x.setOptions=function(a){this.h.setOptions(a)};Aa(\"SelfieSegmentation\",nd);Aa(\"VERSION\",\"0.1.1675465747\");}).call(this);\n","/** Options for composing one segmented camera frame. */\nexport interface CompositeVirtualBackgroundFrameOptions {\n ctx: CanvasRenderingContext2D;\n segmentationMask: CanvasImageSource;\n sourceImage: CanvasImageSource;\n backgroundImage?: CanvasImageSource | null;\n width: number;\n height: number;\n repeatPattern?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';\n blurFallbackPixels?: number;\n}\n\n/**\n * Paint the segmented person over a replacement background.\n *\n * Keeping this operation in the shared runtime makes headless web adapters and\n * the React SDK use the same compositing contract. It is deliberately not\n * exported from the native entry point; native platforms use their camera\n * processor instead of a browser canvas.\n */\nexport function compositeVirtualBackgroundFrame({\n ctx,\n segmentationMask,\n sourceImage,\n backgroundImage = null,\n width,\n height,\n repeatPattern = 'repeat',\n blurFallbackPixels = 0,\n}: CompositeVirtualBackgroundFrameOptions): void {\n const previousFilter = ctx.filter;\n ctx.save();\n try {\n ctx.clearRect(0, 0, width, height);\n ctx.globalCompositeOperation = 'source-over';\n ctx.drawImage(segmentationMask, 0, 0, width, height);\n ctx.globalCompositeOperation = 'source-in';\n ctx.drawImage(sourceImage, 0, 0, width, height);\n ctx.globalCompositeOperation = 'destination-over';\n if (backgroundImage) {\n const pattern = ctx.createPattern(backgroundImage, repeatPattern);\n ctx.fillStyle = pattern || 'transparent';\n ctx.fillRect(0, 0, width, height);\n } else if (blurFallbackPixels > 0) {\n ctx.filter = `blur(${blurFallbackPixels}px)`;\n ctx.drawImage(sourceImage, 0, 0, width, height);\n }\n } finally {\n ctx.filter = previousFilter || 'none';\n ctx.globalCompositeOperation = 'source-over';\n ctx.restore();\n }\n}\n","import { SelfieSegmentation } from '@mediapipe/selfie_segmentation';\nimport { HeadlessOptions } from './headlessTypes';\nimport { getCurrentParams } from './getCurrentParams';\nimport { getLocalVideoStream } from './getMediaStreams';\nimport { HeadlessActionResult } from './roomActions';\nimport { compositeVirtualBackgroundFrame } from '../virtualBackgroundCompositor';\n\nconst MEDIAPIPE_CDN = 'https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation';\n\n/**\n * One running background session. Kept module-level because the pipeline owns\n * real resources (a MediaPipe instance, a RAF loop, an offscreen canvas) that\n * must be torn down exactly once, and because a second call should replace the\n * first rather than stack another loop on the same camera.\n */\ninterface BackgroundSession {\n stop: () => void;\n stream: MediaStream;\n /** A live raw-camera clone that can be returned to the producer on clear. */\n restoreTrack: MediaStreamTrack | null;\n}\nlet session: BackgroundSession | null = null;\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const image = new Image();\n // Backgrounds are usually served cross-origin; without this the canvas is\n // tainted and captureStream() throws a SecurityError instead of producing\n // frames — a failure that looks like \"virtual background silently does nothing\".\n image.crossOrigin = 'anonymous';\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error('The background image could not be loaded.'));\n image.src = src;\n });\n}\n\nexport interface ApplyVirtualBackgroundOptions extends HeadlessOptions {\n /**\n * Background image URL, or a ready `HTMLImageElement` / `HTMLCanvasElement`.\n * Pass `null` to segment the person onto a transparent background.\n */\n image: string | HTMLImageElement | HTMLCanvasElement | null;\n /** Capture frame rate for the processed stream. Defaults to 30. */\n frameRate?: number;\n /** MediaPipe model: 0 = general, 1 = landscape (faster). Defaults to 1. */\n modelSelection?: 0 | 1;\n /**\n * Replace the live producer's track so remote viewers see the background\n * immediately. Defaults to true; set false to preview locally first.\n */\n publish?: boolean;\n /**\n * Where to load the MediaPipe model and wasm from. Defaults to the jsDelivr\n * CDN. Point this at a self-hosted copy of\n * `node_modules/@mediapipe/selfie_segmentation` for offline or air-gapped\n * deployments, or where a Content-Security-Policy forbids the CDN.\n * A trailing slash is added if missing.\n */\n assetPath?: string;\n}\n\nexport type ApplyVirtualBackgroundType = (\n options: ApplyVirtualBackgroundOptions\n) => Promise<HeadlessActionResult & { stream: MediaStream | null }>;\n\n/**\n * Apply a virtual background headlessly — no modal, no DOM of your own.\n *\n * The SDK's own background support lives inside `BackgroundModal`, whose apply\n * path is bound to that component's refs (a preview `<video>` and a `<canvas>`)\n * and is driven by `autoClickBackground` / `isBackgroundModalVisible`. A\n * `returnUI={false}` surface therefore had no way to turn a background on\n * without mounting the modal off-screen and simulating a click.\n *\n * This runs the same MediaPipe pipeline the modal uses — identical compositing:\n * draw the segmentation mask, retain the person with `source-in`, then paint\n * the replacement behind them with `destination-over` — against an offscreen video and\n * canvas it creates and owns.\n *\n * It also keeps the SDK's own state honest (`virtualStream`, `processedStream`,\n * `keepBackground`), so `getLocalVideoStream` keeps returning the right\n * self-view without the caller choosing. Callers should not select the\n * processed stream themselves.\n *\n * The camera must already be on: this processes `localStreamVideo`, it does not\n * acquire one.\n *\n * @example\n * ```ts\n * await applyVirtualBackground({ parameters, image: '/backgrounds/office.jpg' });\n * await clearVirtualBackground({ parameters });\n * ```\n */\nexport async function applyVirtualBackground({\n parameters,\n image,\n frameRate = 30,\n modelSelection = 1,\n publish = true,\n assetPath = MEDIAPIPE_CDN,\n}: ApplyVirtualBackgroundOptions): Promise<HeadlessActionResult & { stream: MediaStream | null }> {\n const live = getCurrentParams({ parameters });\n if (live.audioOnlyRoom) {\n return { ok: false, error: 'You cannot use a background in an audio-only event.', stream: null };\n }\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return { ok: false, error: 'Virtual backgrounds require a browser environment.', stream: null };\n }\n\n // Always process the *raw* camera. Reading through getLocalVideoStream would\n // feed an already-processed stream back through segmentation once a\n // background is running, compounding artefacts on every change.\n const camera = (live.localStreamVideo as MediaStream | null)\n || getLocalVideoStream({ parameters: live });\n const sourceTrack = camera?.getVideoTracks?.()[0] || null;\n if (!sourceTrack || sourceTrack.readyState !== 'live') {\n return { ok: false, error: 'Turn your camera on before applying a background.', stream: null };\n }\n\n const previousSession = session;\n let candidateStop: (() => void) | null = null;\n try {\n const settings = sourceTrack.getSettings ? sourceTrack.getSettings() : {};\n const width = Number(settings.width) || 640;\n const height = Number(settings.height) || 360;\n\n const backgroundImage = typeof image === 'string' ? await loadImage(image) : image;\n const producer = publish ? (live.videoProducer || live.localVideoProducer) : null;\n\n // mediasoup Producers normally own their track (`stopTracks: true`). Their\n // replaceTrack operation therefore stops the old raw track. Keep MediaPipe\n // on an isolated clone and retain a second live clone for a clean clear.\n const processingTrack = sourceTrack.clone?.();\n if (!processingTrack) throw new Error('This camera cannot create the isolated track required for a virtual background.');\n const restoreTrack = producer ? sourceTrack.clone?.() : sourceTrack;\n if (!restoreTrack) {\n processingTrack.stop();\n throw new Error('This camera cannot preserve a track for restoring the original view.');\n }\n\n const video = document.createElement('video');\n video.autoplay = true;\n video.muted = true;\n video.playsInline = true;\n video.srcObject = new MediaStream([processingTrack]);\n await video.play().catch(() => {});\n\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n if (!ctx) throw new Error('This browser cannot composite a background.');\n\n const base = assetPath.endsWith('/') ? assetPath.slice(0, -1) : assetPath;\n const segmentation = new SelfieSegmentation({\n locateFile: (file: string) => `${base}/${file}`,\n });\n segmentation.setOptions({ modelSelection, selfieMode: false });\n await segmentation.initialize();\n\n // Same compositing as the SDK's modal, so the result is visually identical.\n segmentation.onResults((results: any) => {\n try {\n if (!canvas.width || !canvas.height) return;\n compositeVirtualBackgroundFrame({\n ctx,\n segmentationMask: results.segmentationMask,\n sourceImage: results.image,\n backgroundImage: backgroundImage as CanvasImageSource | null,\n width: canvas.width,\n height: canvas.height,\n });\n } catch {\n // A dropped frame must never kill the loop.\n }\n });\n\n let stopped = false;\n let frameHandle = 0;\n const pump = async () => {\n if (stopped) return;\n try {\n if (video.readyState >= 2) await segmentation.send({ image: video });\n } catch {\n // Ignore a single failed frame; the next one is already queued.\n }\n frameHandle = window.requestAnimationFrame(() => { void pump(); });\n };\n void pump();\n\n const processed: MediaStream = (canvas as any).captureStream(frameRate);\n if (!processed?.getVideoTracks?.().length) {\n throw new Error('The processed background stream produced no video track.');\n }\n\n const stop = () => {\n if (stopped) return;\n stopped = true;\n window.cancelAnimationFrame(frameHandle);\n try { segmentation.close(); } catch { /* already closed */ }\n processed.getTracks().forEach((track) => track.stop());\n processingTrack.stop();\n video.srcObject = null;\n };\n candidateStop = stop;\n\n if (producer) {\n const track = processed.getVideoTracks()[0];\n if (producer && typeof producer.replaceTrack === 'function' && track) {\n // replaceTrack avoids renegotiation, so remote viewers see the\n // background appear without the call visibly reconnecting.\n await producer.replaceTrack({ track });\n }\n if (camera?.removeTrack && camera?.addTrack && restoreTrack !== sourceTrack) {\n camera.removeTrack(sourceTrack);\n camera.addTrack(restoreTrack);\n if (sourceTrack.readyState === 'live') sourceTrack.stop();\n }\n }\n\n previousSession?.stop();\n session = { stop, stream: processed, restoreTrack };\n candidateStop = null;\n live.updateVirtualStream?.(processed);\n live.updateProcessedStream?.(processed);\n live.updateKeepBackground?.(true);\n\n return { ok: true, error: '', stream: processed };\n } catch (error: any) {\n candidateStop?.();\n return {\n ok: false,\n error: error?.message || 'The virtual background could not be applied.',\n stream: null,\n };\n }\n}\n\nexport type ClearVirtualBackgroundType = (\n options: HeadlessOptions\n) => Promise<HeadlessActionResult>;\n\n/**\n * Remove the virtual background and go back to the raw camera.\n *\n * Restores the original camera track on the live producer before tearing the\n * pipeline down, so viewers transition straight from processed to raw rather\n * than through a frozen or black frame.\n */\nexport async function clearVirtualBackground({\n parameters,\n}: HeadlessOptions): Promise<HeadlessActionResult> {\n const live = getCurrentParams({ parameters });\n const active = session;\n if (!active) {\n live.updateKeepBackground?.(false);\n return { ok: true, error: '' };\n }\n try {\n const producer = live.videoProducer || live.localVideoProducer;\n const original = active.restoreTrack;\n if (producer && typeof producer.replaceTrack === 'function'\n && original && original.readyState === 'live') {\n await producer.replaceTrack({ track: original });\n }\n active.stop();\n session = null;\n live.updateVirtualStream?.(null);\n live.updateProcessedStream?.(null);\n live.updateKeepBackground?.(false);\n return { ok: true, error: '' };\n } catch (error: any) {\n return { ok: false, error: error?.message || 'The virtual background could not be cleared.' };\n }\n}\n\n/** True while a headless background pipeline is running in this tab. */\nexport function isVirtualBackgroundRunning(): boolean {\n return session !== null;\n}\n"],"names":["x","aa","a","b","c","global","y","z","d","e","g","f","A","D","E","h","k","l","m","p","n","q","t","r","F","G","H","K","ab","L","M","N","O","P","Q","R","S","U","V","W","X","ac","Y","Z","ad","w","v","B","J","I","u","C","T","this","SelfieSegmentation"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/@mediapipe/selfie_segmentation/selfie_segmentation.js","../src/methods/utils/virtualBackgroundCompositor.ts","../src/methods/utils/virtualBackgroundFrameLoop.ts","../src/methods/utils/headless/virtualBackground.ts"],"sourcesContent":["(function(){/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';var x;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ba=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};\nfunction ca(a){a=[\"object\"==typeof globalThis&&globalThis,a,\"object\"==typeof window&&window,\"object\"==typeof self&&self,\"object\"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error(\"Cannot find global object\");}var y=ca(this);function z(a,b){if(b)a:{var c=y;a=a.split(\".\");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}}\nz(\"Symbol\",function(a){function b(g){if(this instanceof b)throw new TypeError(\"Symbol is not a constructor\");return new c(d+(g||\"\")+\"_\"+e++,g)}function c(g,f){this.h=g;ba(this,\"description\",{configurable:!0,writable:!0,value:f})}if(a)return a;c.prototype.toString=function(){return this.h};var d=\"jscomp_symbol_\"+(1E9*Math.random()>>>0)+\"_\",e=0;return b});\nz(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;c<b.length;c++){var d=y[b[c]];\"function\"===typeof d&&\"function\"!=typeof d.prototype[a]&&ba(d.prototype,a,{configurable:!0,writable:!0,value:function(){return da(aa(this))}})}return a});function da(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}\nfunction A(a){var b=\"undefined\"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ea(a){if(!(a instanceof Array)){a=A(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var fa=\"function\"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};z(\"Object.assign\",function(a){return a||fa});\nvar ha=\"function\"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ia;if(\"function\"==typeof Object.setPrototypeOf)ia=Object.setPrototypeOf;else{var ja;a:{var ka={a:!0},la={};try{la.__proto__=ka;ja=la.a;break a}catch(a){}ja=!1}ia=ja?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+\" is not extensible\");return a}:null}var ma=ia;\nfunction na(a,b){a.prototype=ha(b.prototype);a.prototype.constructor=a;if(ma)ma(a,b);else for(var c in b)if(\"prototype\"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.za=b.prototype}function oa(){this.m=!1;this.j=null;this.i=void 0;this.h=1;this.v=this.s=0;this.l=null}function pa(a){if(a.m)throw new TypeError(\"Generator is already running\");a.m=!0}oa.prototype.u=function(a){this.i=a};\nfunction qa(a,b){a.l={ma:b,na:!0};a.h=a.s||a.v}oa.prototype.return=function(a){this.l={return:a};this.h=this.v};function D(a,b,c){a.h=c;return{value:b}}function ra(a){this.h=new oa;this.i=a}function sa(a,b){pa(a.h);var c=a.h.j;if(c)return ta(a,\"return\"in c?c[\"return\"]:function(d){return{value:d,done:!0}},b,a.h.return);a.h.return(b);return ua(a)}\nfunction ta(a,b,c,d){try{var e=b.call(a.h.j,c);if(!(e instanceof Object))throw new TypeError(\"Iterator result \"+e+\" is not an object\");if(!e.done)return a.h.m=!1,e;var g=e.value}catch(f){return a.h.j=null,qa(a.h,f),ua(a)}a.h.j=null;d.call(a.h,g);return ua(a)}function ua(a){for(;a.h.h;)try{var b=a.i(a.h);if(b)return a.h.m=!1,{value:b.value,done:!1}}catch(c){a.h.i=void 0,qa(a.h,c)}a.h.m=!1;if(a.h.l){b=a.h.l;a.h.l=null;if(b.na)throw b.ma;return{value:b.return,done:!0}}return{value:void 0,done:!0}}\nfunction va(a){this.next=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j.next,b,a.h.u):(a.h.u(b),b=ua(a));return b};this.throw=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j[\"throw\"],b,a.h.u):(qa(a.h,b),b=ua(a));return b};this.return=function(b){return sa(a,b)};this[Symbol.iterator]=function(){return this}}function wa(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function g(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(g,e)}g(a.next())})}\nfunction E(a){return wa(new va(new ra(a)))}\nz(\"Promise\",function(a){function b(f){this.i=0;this.j=void 0;this.h=[];this.u=!1;var h=this.l();try{f(h.resolve,h.reject)}catch(k){h.reject(k)}}function c(){this.h=null}function d(f){return f instanceof b?f:new b(function(h){h(f)})}if(a)return a;c.prototype.i=function(f){if(null==this.h){this.h=[];var h=this;this.j(function(){h.m()})}this.h.push(f)};var e=y.setTimeout;c.prototype.j=function(f){e(f,0)};c.prototype.m=function(){for(;this.h&&this.h.length;){var f=this.h;this.h=[];for(var h=0;h<f.length;++h){var k=\nf[h];f[h]=null;try{k()}catch(l){this.l(l)}}}this.h=null};c.prototype.l=function(f){this.j(function(){throw f;})};b.prototype.l=function(){function f(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:f(this.I),reject:f(this.m)}};b.prototype.I=function(f){if(f===this)this.m(new TypeError(\"A Promise cannot resolve to itself\"));else if(f instanceof b)this.L(f);else{a:switch(typeof f){case \"object\":var h=null!=f;break a;case \"function\":h=!0;break a;default:h=!1}h?this.F(f):this.s(f)}};\nb.prototype.F=function(f){var h=void 0;try{h=f.then}catch(k){this.m(k);return}\"function\"==typeof h?this.M(h,f):this.s(f)};b.prototype.m=function(f){this.v(2,f)};b.prototype.s=function(f){this.v(1,f)};b.prototype.v=function(f,h){if(0!=this.i)throw Error(\"Cannot settle(\"+f+\", \"+h+\"): Promise already settled in state\"+this.i);this.i=f;this.j=h;2===this.i&&this.K();this.H()};b.prototype.K=function(){var f=this;e(function(){if(f.D()){var h=y.console;\"undefined\"!==typeof h&&h.error(f.j)}},1)};b.prototype.D=\nfunction(){if(this.u)return!1;var f=y.CustomEvent,h=y.Event,k=y.dispatchEvent;if(\"undefined\"===typeof k)return!0;\"function\"===typeof f?f=new f(\"unhandledrejection\",{cancelable:!0}):\"function\"===typeof h?f=new h(\"unhandledrejection\",{cancelable:!0}):(f=y.document.createEvent(\"CustomEvent\"),f.initCustomEvent(\"unhandledrejection\",!1,!0,f));f.promise=this;f.reason=this.j;return k(f)};b.prototype.H=function(){if(null!=this.h){for(var f=0;f<this.h.length;++f)g.i(this.h[f]);this.h=null}};var g=new c;b.prototype.L=\nfunction(f){var h=this.l();f.T(h.resolve,h.reject)};b.prototype.M=function(f,h){var k=this.l();try{f.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};b.prototype.then=function(f,h){function k(p,n){return\"function\"==typeof p?function(q){try{l(p(q))}catch(t){m(t)}}:n}var l,m,r=new b(function(p,n){l=p;m=n});this.T(k(f,l),k(h,m));return r};b.prototype.catch=function(f){return this.then(void 0,f)};b.prototype.T=function(f,h){function k(){switch(l.i){case 1:f(l.j);break;case 2:h(l.j);break;default:throw Error(\"Unexpected state: \"+\nl.i);}}var l=this;null==this.h?g.i(k):this.h.push(k);this.u=!0};b.resolve=d;b.reject=function(f){return new b(function(h,k){k(f)})};b.race=function(f){return new b(function(h,k){for(var l=A(f),m=l.next();!m.done;m=l.next())d(m.value).T(h,k)})};b.all=function(f){var h=A(f),k=h.next();return k.done?d([]):new b(function(l,m){function r(q){return function(t){p[q]=t;n--;0==n&&l(p)}}var p=[],n=0;do p.push(void 0),n++,d(k.value).T(r(p.length-1),m),k=h.next();while(!k.done)})};return b});\nfunction xa(a,b){a instanceof String&&(a+=\"\");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var g=c++;return{value:b(g,a[g]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e}z(\"Array.prototype.keys\",function(a){return a?a:function(){return xa(this,function(b){return b})}});\nz(\"Array.prototype.fill\",function(a){return a?a:function(b,c,d){var e=this.length||0;0>c&&(c=Math.max(0,e+c));if(null==d||d>e)d=e;d=Number(d);0>d&&(d=Math.max(0,e+d));for(c=Number(c||0);c<d;c++)this[c]=b;return this}});function F(a){return a?a:Array.prototype.fill}z(\"Int8Array.prototype.fill\",F);z(\"Uint8Array.prototype.fill\",F);z(\"Uint8ClampedArray.prototype.fill\",F);z(\"Int16Array.prototype.fill\",F);z(\"Uint16Array.prototype.fill\",F);z(\"Int32Array.prototype.fill\",F);\nz(\"Uint32Array.prototype.fill\",F);z(\"Float32Array.prototype.fill\",F);z(\"Float64Array.prototype.fill\",F);z(\"Object.is\",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});z(\"Array.prototype.includes\",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var g=d[c];if(g===b||Object.is(g,b))return!0}return!1}});\nz(\"String.prototype.includes\",function(a){return a?a:function(b,c){if(null==this)throw new TypeError(\"The 'this' value for String.prototype.includes must not be null or undefined\");if(b instanceof RegExp)throw new TypeError(\"First argument to String.prototype.includes must not be a regular expression\");return-1!==this.indexOf(b,c||0)}});var ya=this||self;\nfunction Aa(a,b){a=a.split(\".\");var c=ya;a[0]in c||\"undefined\"==typeof c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};function Ba(a){var b;a:{if(b=ya.navigator)if(b=b.userAgent)break a;b=\"\"}return-1!=b.indexOf(a)};var Ca=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=Array(c),e=\"string\"===typeof a?a.split(\"\"):a,g=0;g<c;g++)g in e&&(d[g]=b.call(void 0,e[g],g,a));return d};var Da={},Ea=null;function Fa(a){var b=a.length,c=3*b/4;c%3?c=Math.floor(c):-1!=\"=.\".indexOf(a[b-1])&&(c=-1!=\"=.\".indexOf(a[b-2])?c-2:c-1);var d=new Uint8Array(c),e=0;Ga(a,function(g){d[e++]=g});return e!==c?d.subarray(0,e):d}\nfunction Ga(a,b){function c(k){for(;d<a.length;){var l=a.charAt(d++),m=Ea[l];if(null!=m)return m;if(!/^[\\s\\xa0]*$/.test(l))throw Error(\"Unknown base64 encoding at char: \"+l);}return k}Ha();for(var d=0;;){var e=c(-1),g=c(0),f=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|g>>4);64!=f&&(b(g<<4&240|f>>2),64!=h&&b(f<<6&192|h))}}\nfunction Ha(){if(!Ea){Ea={};for(var a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".split(\"\"),b=[\"+/=\",\"+/\",\"-_=\",\"-_.\",\"-_\"],c=0;5>c;c++){var d=a.concat(b[c].split(\"\"));Da[c]=d;for(var e=0;e<d.length;e++){var g=d[e];void 0===Ea[g]&&(Ea[g]=e)}}}};var Ia=\"undefined\"!==typeof Uint8Array,Ja=!(Ba(\"Trident\")||Ba(\"MSIE\"))&&\"function\"===typeof ya.btoa;\nfunction Ka(a){if(!Ja){var b;void 0===b&&(b=0);Ha();b=Da[b];for(var c=Array(Math.floor(a.length/3)),d=b[64]||\"\",e=0,g=0;e<a.length-2;e+=3){var f=a[e],h=a[e+1],k=a[e+2],l=b[f>>2];f=b[(f&3)<<4|h>>4];h=b[(h&15)<<2|k>>6];k=b[k&63];c[g++]=l+f+h+k}l=0;k=d;switch(a.length-e){case 2:l=a[e+1],k=b[(l&15)<<2]||d;case 1:a=a[e],c[g]=b[a>>2]+b[(a&3)<<4|l>>4]+k+d}return c.join(\"\")}for(b=\"\";10240<a.length;)b+=String.fromCharCode.apply(null,a.subarray(0,10240)),a=a.subarray(10240);b+=String.fromCharCode.apply(null,\na);return btoa(b)}var La=RegExp(\"[-_.]\",\"g\");function Ma(a){switch(a){case \"-\":return\"+\";case \"_\":return\"/\";case \".\":return\"=\";default:return\"\"}}function Na(a){if(!Ja)return Fa(a);La.test(a)&&(a=a.replace(La,Ma));a=atob(a);for(var b=new Uint8Array(a.length),c=0;c<a.length;c++)b[c]=a.charCodeAt(c);return b}var Oa;function Pa(){return Oa||(Oa=new Uint8Array(0))}var Qa={};var Ra=\"function\"===typeof Uint8Array.prototype.slice,G=0,H=0;function Sa(a){var b=0>a;a=Math.abs(a);var c=a>>>0;a=Math.floor((a-c)/4294967296);b&&(c=A(Ta(c,a)),b=c.next().value,a=c.next().value,c=b);G=c>>>0;H=a>>>0}var Ua=\"function\"===typeof BigInt;function Ta(a,b){b=~b;a?a=~a+1:b+=1;return[a,b]};function Va(a,b){this.i=a>>>0;this.h=b>>>0}\nfunction Wa(a){if(!a)return Xa||(Xa=new Va(0,0));if(!/^-?\\d+$/.test(a))return null;if(16>a.length)Sa(Number(a));else if(Ua)a=BigInt(a),G=Number(a&BigInt(4294967295))>>>0,H=Number(a>>BigInt(32)&BigInt(4294967295));else{var b=+(\"-\"===a[0]);H=G=0;for(var c=a.length,d=b,e=(c-b)%6+b;e<=c;d=e,e+=6)d=Number(a.slice(d,e)),H*=1E6,G=1E6*G+d,4294967296<=G&&(H+=G/4294967296|0,G%=4294967296);b&&(b=A(Ta(G,H)),a=b.next().value,b=b.next().value,G=a,H=b)}return new Va(G,H)}var Xa;function Ya(a,b){return Error(\"Invalid wire type: \"+a+\" (at position \"+b+\")\")}function Za(){return Error(\"Failed to read varint, encoding is invalid.\")}function $a(a,b){return Error(\"Tried to read past the end of the data \"+b+\" > \"+a)};function K(){throw Error(\"Invalid UTF8\");}function ab(a,b){b=String.fromCharCode.apply(null,b);return null==a?b:a+b}var bb=void 0,cb,db=\"undefined\"!==typeof TextDecoder,eb,fb=\"undefined\"!==typeof TextEncoder;var gb;function hb(a){if(a!==Qa)throw Error(\"illegal external caller\");}function ib(a,b){hb(b);this.V=a;if(null!=a&&0===a.length)throw Error(\"ByteString should be constructed with non-empty values\");}function jb(){return gb||(gb=new ib(null,Qa))}function kb(a){hb(Qa);var b=a.V;b=null==b||Ia&&null!=b&&b instanceof Uint8Array?b:\"string\"===typeof b?Na(b):null;return null==b?b:a.V=b};function lb(a){if(\"string\"===typeof a)return{buffer:Na(a),C:!1};if(Array.isArray(a))return{buffer:new Uint8Array(a),C:!1};if(a.constructor===Uint8Array)return{buffer:a,C:!1};if(a.constructor===ArrayBuffer)return{buffer:new Uint8Array(a),C:!1};if(a.constructor===ib)return{buffer:kb(a)||Pa(),C:!0};if(a instanceof Uint8Array)return{buffer:new Uint8Array(a.buffer,a.byteOffset,a.byteLength),C:!1};throw Error(\"Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers\");\n};function mb(a,b){this.i=null;this.m=!1;this.h=this.j=this.l=0;nb(this,a,b)}function nb(a,b,c){c=void 0===c?{}:c;a.S=void 0===c.S?!1:c.S;b&&(b=lb(b),a.i=b.buffer,a.m=b.C,a.l=0,a.j=a.i.length,a.h=a.l)}mb.prototype.reset=function(){this.h=this.l};function L(a,b){a.h=b;if(b>a.j)throw $a(a.j,b);}\nfunction ob(a){var b=a.i,c=a.h,d=b[c++],e=d&127;if(d&128&&(d=b[c++],e|=(d&127)<<7,d&128&&(d=b[c++],e|=(d&127)<<14,d&128&&(d=b[c++],e|=(d&127)<<21,d&128&&(d=b[c++],e|=d<<28,d&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128)))))throw Za();L(a,c);return e}function pb(a,b){if(0>b)throw Error(\"Tried to read a negative byte length: \"+b);var c=a.h,d=c+b;if(d>a.j)throw $a(b,a.j-c);a.h=d;return c}var qb=[];function rb(){this.h=[]}rb.prototype.length=function(){return this.h.length};rb.prototype.end=function(){var a=this.h;this.h=[];return a};function sb(a,b,c){for(;0<c||127<b;)a.h.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.h.push(b)}function M(a,b){for(;127<b;)a.h.push(b&127|128),b>>>=7;a.h.push(b)};function tb(a,b){if(qb.length){var c=qb.pop();nb(c,a,b);a=c}else a=new mb(a,b);this.h=a;this.j=this.h.h;this.i=this.l=-1;this.setOptions(b)}tb.prototype.setOptions=function(a){a=void 0===a?{}:a;this.ca=void 0===a.ca?!1:a.ca};tb.prototype.reset=function(){this.h.reset();this.j=this.h.h;this.i=this.l=-1};\nfunction ub(a){var b=a.h;if(b.h==b.j)return!1;a.j=a.h.h;var c=ob(a.h)>>>0;b=c>>>3;c&=7;if(!(0<=c&&5>=c))throw Ya(c,a.j);if(1>b)throw Error(\"Invalid field number: \"+b+\" (at position \"+a.j+\")\");a.l=b;a.i=c;return!0}\nfunction vb(a){switch(a.i){case 0:if(0!=a.i)vb(a);else a:{a=a.h;for(var b=a.h,c=b+10,d=a.i;b<c;)if(0===(d[b++]&128)){L(a,b);break a}throw Za();}break;case 1:a=a.h;L(a,a.h+8);break;case 2:2!=a.i?vb(a):(b=ob(a.h)>>>0,a=a.h,L(a,a.h+b));break;case 5:a=a.h;L(a,a.h+4);break;case 3:b=a.l;do{if(!ub(a))throw Error(\"Unmatched start-group tag: stream EOF\");if(4==a.i){if(a.l!=b)throw Error(\"Unmatched end-group tag\");break}vb(a)}while(1);break;default:throw Ya(a.i,a.j);}}var wb=[];function xb(){this.j=[];this.i=0;this.h=new rb}function N(a,b){0!==b.length&&(a.j.push(b),a.i+=b.length)}function yb(a,b){if(b=b.R){N(a,a.h.end());for(var c=0;c<b.length;c++)N(a,kb(b[c])||Pa())}};var O=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol()?Symbol():void 0;function P(a,b){if(O)return a[O]|=b;if(void 0!==a.A)return a.A|=b;Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}});return b}function zb(a,b){O?a[O]&&(a[O]&=~b):void 0!==a.A&&(a.A&=~b)}function Q(a){var b;O?b=a[O]:b=a.A;return null==b?0:b}function R(a,b){O?a[O]=b:void 0!==a.A?a.A=b:Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}})}\nfunction Ab(a){P(a,1);return a}function Bb(a,b){R(b,(a|0)&-51)}function Cb(a,b){R(b,(a|18)&-41)};var Db={};function Eb(a){return null!==a&&\"object\"===typeof a&&!Array.isArray(a)&&a.constructor===Object}var Fb,Gb=[];R(Gb,23);Fb=Object.freeze(Gb);function Hb(a){if(Q(a.o)&2)throw Error(\"Cannot mutate an immutable Message\");}function Ib(a){var b=a.length;(b=b?a[b-1]:void 0)&&Eb(b)?b.g=1:(b={},a.push((b.g=1,b)))};function Jb(a){var b=a.i+a.G;return a.B||(a.B=a.o[b]={})}function S(a,b){return-1===b?null:b>=a.i?a.B?a.B[b]:void 0:a.o[b+a.G]}function U(a,b,c,d){Hb(a);Kb(a,b,c,d)}function Kb(a,b,c,d){a.j&&(a.j=void 0);b>=a.i||d?Jb(a)[b]=c:(a.o[b+a.G]=c,(a=a.B)&&b in a&&delete a[b])}function Lb(a,b,c,d){var e=S(a,b);Array.isArray(e)||(e=Fb);var g=Q(e);g&1||Ab(e);if(d)g&2||P(e,2),c&1||Object.freeze(e);else{d=!(c&2);var f=g&2;c&1||!f?d&&g&16&&!f&&zb(e,16):(e=Ab(Array.prototype.slice.call(e)),Kb(a,b,e))}return e}\nfunction Mb(a,b){var c=S(a,b);var d=null==c?c:\"number\"===typeof c||\"NaN\"===c||\"Infinity\"===c||\"-Infinity\"===c?Number(c):void 0;null!=d&&d!==c&&Kb(a,b,d);return d}\nfunction Nb(a,b,c,d,e){a.h||(a.h={});var g=a.h[c],f=Lb(a,c,3,e);if(!g){var h=f;g=[];var k=!!(Q(a.o)&16);f=!!(Q(h)&2);var l=h;!e&&f&&(h=Array.prototype.slice.call(h));for(var m=f,r=0;r<h.length;r++){var p=h[r];var n=b,q=!1;q=void 0===q?!1:q;p=Array.isArray(p)?new n(p):q?new n:void 0;if(void 0!==p){n=p.o;var t=q=Q(n);f&&(t|=2);k&&(t|=16);t!=q&&R(n,t);n=t;m=m||!!(2&n);g.push(p)}}a.h[c]=g;k=Q(h);b=k|33;b=m?b&-9:b|8;k!=b&&(m=h,Object.isFrozen(m)&&(m=Array.prototype.slice.call(m)),R(m,b),h=m);l!==h&&Kb(a,\nc,h);(e||d&&f)&&P(g,2);d&&Object.freeze(g);return g}e||(e=Object.isFrozen(g),d&&!e?Object.freeze(g):!d&&e&&(g=Array.prototype.slice.call(g),a.h[c]=g));return g}function Ob(a,b,c){var d=!!(Q(a.o)&2);b=Nb(a,b,c,d,d);a=Lb(a,c,3,d);if(!(d||Q(a)&8)){for(d=0;d<b.length;d++){c=b[d];if(Q(c.o)&2){var e=Pb(c,!1);e.j=c}else e=c;c!==e&&(b[d]=e,a[d]=e.o)}P(a,8)}return b}\nfunction V(a,b,c){if(null!=c&&\"number\"!==typeof c)throw Error(\"Value of float/double field must be a number|null|undefined, found \"+typeof c+\": \"+c);U(a,b,c)}function Qb(a,b,c,d,e){Hb(a);var g=Nb(a,c,b,!1,!1);c=null!=d?d:new c;a=Lb(a,b,2,!1);void 0!=e?(g.splice(e,0,c),a.splice(e,0,c.o)):(g.push(c),a.push(c.o));c.C()&&zb(a,8);return c}function Rb(a,b){return null==a?b:a}function W(a,b,c){c=void 0===c?0:c;return Rb(Mb(a,b),c)};var Sb;function Tb(a){switch(typeof a){case \"number\":return isFinite(a)?a:String(a);case \"object\":if(a)if(Array.isArray(a)){if(0!==(Q(a)&128))return a=Array.prototype.slice.call(a),Ib(a),a}else{if(Ia&&null!=a&&a instanceof Uint8Array)return Ka(a);if(a instanceof ib){var b=a.V;return null==b?\"\":\"string\"===typeof b?b:a.V=Ka(b)}}}return a};function Ub(a,b,c,d){if(null!=a){if(Array.isArray(a))a=Vb(a,b,c,void 0!==d);else if(Eb(a)){var e={},g;for(g in a)e[g]=Ub(a[g],b,c,d);a=e}else a=b(a,d);return a}}function Vb(a,b,c,d){var e=Q(a);d=d?!!(e&16):void 0;a=Array.prototype.slice.call(a);for(var g=0;g<a.length;g++)a[g]=Ub(a[g],b,c,d);c(e,a);return a}function Wb(a){return a.ja===Db?a.toJSON():Tb(a)}function Xb(a,b){a&128&&Ib(b)};function Yb(a,b,c){c=void 0===c?Cb:c;if(null!=a){if(Ia&&a instanceof Uint8Array)return a.length?new ib(new Uint8Array(a),Qa):jb();if(Array.isArray(a)){var d=Q(a);if(d&2)return a;if(b&&!(d&32)&&(d&16||0===d))return R(a,d|2),a;a=Vb(a,Yb,d&4?Cb:c,!0);b=Q(a);b&4&&b&2&&Object.freeze(a);return a}return a.ja===Db?Zb(a):a}}\nfunction $b(a,b,c,d,e,g,f){if(a=a.h&&a.h[c]){d=Q(a);d&2?d=a:(g=Ca(a,Zb),Cb(d,g),Object.freeze(g),d=g);Hb(b);f=null==d?Fb:Ab([]);if(null!=d){g=!!d.length;for(a=0;a<d.length;a++){var h=d[a];g=g&&!(Q(h.o)&2);f[a]=h.o}g=(g?8:0)|1;a=Q(f);(a&g)!==g&&(Object.isFrozen(f)&&(f=Array.prototype.slice.call(f)),R(f,a|g));b.h||(b.h={});b.h[c]=d}else b.h&&(b.h[c]=void 0);Kb(b,c,f,e)}else U(b,c,Yb(d,g,f),e)}function Zb(a){if(Q(a.o)&2)return a;a=Pb(a,!0);P(a.o,2);return a}\nfunction Pb(a,b){var c=a.o,d=[];P(d,16);var e=a.constructor.h;e&&d.push(e);e=a.B;if(e){d.length=c.length;d.fill(void 0,d.length,c.length);var g={};d[d.length-1]=g}0!==(Q(c)&128)&&Ib(d);b=b||a.C()?Cb:Bb;g=a.constructor;Sb=d;d=new g(d);Sb=void 0;a.R&&(d.R=a.R.slice());g=!!(Q(c)&16);for(var f=e?c.length-1:c.length,h=0;h<f;h++)$b(a,d,h-a.G,c[h],!1,g,b);if(e)for(var k in e)$b(a,d,+k,e[k],!0,g,b);return d};function X(a,b,c){null==a&&(a=Sb);Sb=void 0;var d=this.constructor.i||0,e=0<d,g=this.constructor.h,f=!1;if(null==a){a=g?[g]:[];var h=48;var k=!0;e&&(d=0,h|=128);R(a,h)}else{if(!Array.isArray(a))throw Error();if(g&&g!==a[0])throw Error();var l=h=P(a,0);if(k=0!==(16&l))(f=0!==(32&l))||(l|=32);if(e)if(128&l)d=0;else{if(0<a.length){var m=a[a.length-1];if(Eb(m)&&\"g\"in m){d=0;l|=128;delete m.g;var r=!0,p;for(p in m){r=!1;break}r&&a.pop()}}}else if(128&l)throw Error();h!==l&&R(a,l)}this.G=(g?0:-1)-d;this.h=\nvoid 0;this.o=a;a:{g=this.o.length;d=g-1;if(g&&(g=this.o[d],Eb(g))){this.B=g;this.i=d-this.G;break a}void 0!==b&&-1<b?(this.i=Math.max(b,d+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE}if(!e&&this.B&&\"g\"in this.B)throw Error('Unexpected \"g\" flag in sparse object of message that is not a group type.');if(c){b=k&&!f&&!0;e=this.i;var n;for(k=0;k<c.length;k++)f=c[k],f<e?(f+=this.G,(d=a[f])?ac(d,b):a[f]=Fb):(n||(n=Jb(this)),(d=n[f])?ac(d,b):n[f]=Fb)}}\nX.prototype.toJSON=function(){return Vb(this.o,Wb,Xb)};X.prototype.C=function(){return!!(Q(this.o)&2)};function ac(a,b){if(Array.isArray(a)){var c=Q(a),d=1;!b||c&2||(d|=16);(c&d)!==d&&R(a,c|d)}}X.prototype.ja=Db;X.prototype.toString=function(){return this.o.toString()};function bc(a,b,c){if(c){var d={},e;for(e in c){var g=c[e],f=g.ra;f||(d.J=g.xa||g.oa.W,g.ia?(d.aa=cc(g.ia),f=function(h){return function(k,l,m){return h.J(k,l,m,h.aa)}}(d)):g.ka?(d.Z=dc(g.da.P,g.ka),f=function(h){return function(k,l,m){return h.J(k,l,m,h.Z)}}(d)):f=d.J,g.ra=f);f(b,a,g.da);d={J:d.J,aa:d.aa,Z:d.Z}}}yb(b,a)}var ec=Symbol();function fc(a,b,c){return a[ec]||(a[ec]=function(d,e){return b(d,e,c)})}\nfunction gc(a){var b=a[ec];if(!b){var c=hc(a);b=function(d,e){return ic(d,e,c)};a[ec]=b}return b}function jc(a){var b=a.ia;if(b)return gc(b);if(b=a.wa)return fc(a.da.P,b,a.ka)}function kc(a){var b=jc(a),c=a.da,d=a.oa.U;return b?function(e,g){return d(e,g,c,b)}:function(e,g){return d(e,g,c)}}function lc(a,b){var c=a[b];\"function\"==typeof c&&0===c.length&&(c=c(),a[b]=c);return Array.isArray(c)&&(mc in c||nc in c||0<c.length&&\"function\"==typeof c[0])?c:void 0}\nfunction oc(a,b,c,d,e,g){b.P=a[0];var f=1;if(a.length>f&&\"number\"!==typeof a[f]){var h=a[f++];c(b,h)}for(;f<a.length;){c=a[f++];for(var k=f+1;k<a.length&&\"number\"!==typeof a[k];)k++;h=a[f++];k-=f;switch(k){case 0:d(b,c,h);break;case 1:(k=lc(a,f))?(f++,e(b,c,h,k)):d(b,c,h,a[f++]);break;case 2:k=f++;k=lc(a,k);e(b,c,h,k,a[f++]);break;case 3:g(b,c,h,a[f++],a[f++],a[f++]);break;case 4:g(b,c,h,a[f++],a[f++],a[f++],a[f++]);break;default:throw Error(\"unexpected number of binary field arguments: \"+k);}}return b}\nvar pc=Symbol();function cc(a){var b=a[pc];if(!b){var c=qc(a);b=function(d,e){return rc(d,e,c)};a[pc]=b}return b}function dc(a,b){var c=a[pc];c||(c=function(d,e){return bc(d,e,b)},a[pc]=c);return c}var nc=Symbol();function sc(a,b){a.push(b)}function tc(a,b,c){a.push(b,c.W)}function uc(a,b,c,d){var e=cc(d),g=qc(d).P,f=c.W;a.push(b,function(h,k,l){return f(h,k,l,g,e)})}function vc(a,b,c,d,e,g){var f=dc(d,g),h=c.W;a.push(b,function(k,l,m){return h(k,l,m,d,f)})}\nfunction qc(a){var b=a[nc];if(b)return b;b=oc(a,a[nc]=[],sc,tc,uc,vc);mc in a&&nc in a&&(a.length=0);return b}var mc=Symbol();function wc(a,b){a[0]=b}function xc(a,b,c,d){var e=c.U;a[b]=d?function(g,f,h){return e(g,f,h,d)}:e}function yc(a,b,c,d,e){var g=c.U,f=gc(d),h=hc(d).P;a[b]=function(k,l,m){return g(k,l,m,h,f,e)}}function zc(a,b,c,d,e,g,f){var h=c.U,k=fc(d,e,g);a[b]=function(l,m,r){return h(l,m,r,d,k,f)}}\nfunction hc(a){var b=a[mc];if(b)return b;b=oc(a,a[mc]={},wc,xc,yc,zc);mc in a&&nc in a&&(a.length=0);return b}\nfunction ic(a,b,c){for(;ub(b)&&4!=b.i;){var d=b.l,e=c[d];if(!e){var g=c[0];g&&(g=g[d])&&(e=c[d]=kc(g))}if(!e||!e(b,a,d)){e=b;d=a;g=e.j;vb(e);var f=e;if(!f.ca){e=f.h.h-g;f.h.h=g;f=f.h;if(0==e)e=jb();else{g=pb(f,e);if(f.S&&f.m)e=f.i.subarray(g,g+e);else{f=f.i;var h=g;e=g+e;e=h===e?Pa():Ra?f.slice(h,e):new Uint8Array(f.subarray(h,e))}e=0==e.length?jb():new ib(e,Qa)}(g=d.R)?g.push(e):d.R=[e]}}}return a}\nfunction rc(a,b,c){for(var d=c.length,e=1==d%2,g=e?1:0;g<d;g+=2)(0,c[g+1])(b,a,c[g]);bc(a,b,e?c[0]:void 0)}function Ac(a,b){return{U:a,W:b}}\nvar Y=Ac(function(a,b,c){if(5!==a.i)return!1;a=a.h;var d=a.i,e=a.h,g=d[e];var f=d[e+1];var h=d[e+2];d=d[e+3];L(a,a.h+4);f=(g<<0|f<<8|h<<16|d<<24)>>>0;a=2*(f>>31)+1;g=f>>>23&255;f&=8388607;U(b,c,255==g?f?NaN:Infinity*a:0==g?a*Math.pow(2,-149)*f:a*Math.pow(2,g-150)*(f+Math.pow(2,23)));return!0},function(a,b,c){b=Mb(b,c);if(null!=b){M(a.h,8*c+5);a=a.h;var d=+b;0===d?0<1/d?G=H=0:(H=0,G=2147483648):isNaN(d)?(H=0,G=2147483647):(d=(c=0>d?-2147483648:0)?-d:d,3.4028234663852886E38<d?(H=0,G=(c|2139095040)>>>\n0):1.1754943508222875E-38>d?(d=Math.round(d/Math.pow(2,-149)),H=0,G=(c|d)>>>0):(b=Math.floor(Math.log(d)/Math.LN2),d*=Math.pow(2,-b),d=Math.round(8388608*d),16777216<=d&&++b,H=0,G=(c|b+127<<23|d&8388607)>>>0));c=G;a.h.push(c>>>0&255);a.h.push(c>>>8&255);a.h.push(c>>>16&255);a.h.push(c>>>24&255)}}),Bc=Ac(function(a,b,c){if(0!==a.i)return!1;var d=a.h,e=0,g=a=0,f=d.i,h=d.h;do{var k=f[h++];e|=(k&127)<<g;g+=7}while(32>g&&k&128);32<g&&(a|=(k&127)>>4);for(g=3;32>g&&k&128;g+=7)k=f[h++],a|=(k&127)<<g;L(d,\nh);if(128>k){d=e>>>0;k=a>>>0;if(a=k&2147483648)d=~d+1>>>0,k=~k>>>0,0==d&&(k=k+1>>>0);d=4294967296*k+(d>>>0)}else throw Za();U(b,c,a?-d:d);return!0},function(a,b,c){b=S(b,c);null!=b&&(\"string\"===typeof b&&Wa(b),null!=b&&(M(a.h,8*c),\"number\"===typeof b?(a=a.h,Sa(b),sb(a,G,H)):(c=Wa(b),sb(a.h,c.i,c.h))))}),Cc=Ac(function(a,b,c){if(0!==a.i)return!1;U(b,c,ob(a.h));return!0},function(a,b,c){b=S(b,c);if(null!=b&&null!=b)if(M(a.h,8*c),a=a.h,c=b,0<=c)M(a,c);else{for(b=0;9>b;b++)a.h.push(c&127|128),c>>=7;a.h.push(1)}}),\nDc=Ac(function(a,b,c){if(2!==a.i)return!1;var d=ob(a.h)>>>0;a=a.h;var e=pb(a,d);a=a.i;if(db){var g=a,f;(f=cb)||(f=cb=new TextDecoder(\"utf-8\",{fatal:!0}));a=e+d;g=0===e&&a===g.length?g:g.subarray(e,a);try{var h=f.decode(g)}catch(r){if(void 0===bb){try{f.decode(new Uint8Array([128]))}catch(p){}try{f.decode(new Uint8Array([97])),bb=!0}catch(p){bb=!1}}!bb&&(cb=void 0);throw r;}}else{h=e;d=h+d;e=[];for(var k=null,l,m;h<d;)l=a[h++],128>l?e.push(l):224>l?h>=d?K():(m=a[h++],194>l||128!==(m&192)?(h--,K()):\ne.push((l&31)<<6|m&63)):240>l?h>=d-1?K():(m=a[h++],128!==(m&192)||224===l&&160>m||237===l&&160<=m||128!==((g=a[h++])&192)?(h--,K()):e.push((l&15)<<12|(m&63)<<6|g&63)):244>=l?h>=d-2?K():(m=a[h++],128!==(m&192)||0!==(l<<28)+(m-144)>>30||128!==((g=a[h++])&192)||128!==((f=a[h++])&192)?(h--,K()):(l=(l&7)<<18|(m&63)<<12|(g&63)<<6|f&63,l-=65536,e.push((l>>10&1023)+55296,(l&1023)+56320))):K(),8192<=e.length&&(k=ab(k,e),e.length=0);h=ab(k,e)}U(b,c,h);return!0},function(a,b,c){b=S(b,c);if(null!=b){var d=!1;\nd=void 0===d?!1:d;if(fb){if(d&&/(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])/.test(b))throw Error(\"Found an unpaired surrogate\");b=(eb||(eb=new TextEncoder)).encode(b)}else{for(var e=0,g=new Uint8Array(3*b.length),f=0;f<b.length;f++){var h=b.charCodeAt(f);if(128>h)g[e++]=h;else{if(2048>h)g[e++]=h>>6|192;else{if(55296<=h&&57343>=h){if(56319>=h&&f<b.length){var k=b.charCodeAt(++f);if(56320<=k&&57343>=k){h=1024*(h-55296)+k-56320+65536;g[e++]=h>>18|240;g[e++]=h>>12&63|128;\ng[e++]=h>>6&63|128;g[e++]=h&63|128;continue}else f--}if(d)throw Error(\"Found an unpaired surrogate\");h=65533}g[e++]=h>>12|224;g[e++]=h>>6&63|128}g[e++]=h&63|128}}b=e===g.length?g:g.subarray(0,e)}M(a.h,8*c+2);M(a.h,b.length);N(a,a.h.end());N(a,b)}}),Ec=Ac(function(a,b,c,d,e){if(2!==a.i)return!1;b=Qb(b,c,d);c=a.h.j;d=ob(a.h)>>>0;var g=a.h.h+d,f=g-c;0>=f&&(a.h.j=g,e(b,a,void 0,void 0,void 0),f=g-a.h.h);if(f)throw Error(\"Message parsing ended unexpectedly. Expected to read \"+(d+\" bytes, instead read \"+\n(d-f)+\" bytes, either the data ended unexpectedly or the message misreported its own length\"));a.h.h=g;a.h.j=c;return!0},function(a,b,c,d,e){b=Ob(b,d,c);if(null!=b)for(d=0;d<b.length;d++){var g=a;M(g.h,8*c+2);var f=g.h.end();N(g,f);f.push(g.i);g=f;e(b[d],a);f=a;var h=g.pop();for(h=f.i+f.h.length()-h;127<h;)g.push(h&127|128),h>>>=7,f.i++;g.push(h);f.i++}});function Fc(a){return function(b,c){a:{if(wb.length){var d=wb.pop();d.setOptions(c);nb(d.h,b,c);b=d}else b=new tb(b,c);try{var e=hc(a);var g=ic(new e.P,b,e);break a}finally{e=b.h,e.i=null,e.m=!1,e.l=0,e.j=0,e.h=0,e.S=!1,b.l=-1,b.i=-1,100>wb.length&&wb.push(b)}g=void 0}return g}}function Gc(a){return function(){var b=new xb;rc(this,b,qc(a));N(b,b.h.end());for(var c=new Uint8Array(b.i),d=b.j,e=d.length,g=0,f=0;f<e;f++){var h=d[f];c.set(h,g);g+=h.length}b.j=[c];return c}};function Z(a){X.call(this,a)}na(Z,X);var Hc=[Z,1,Cc,2,Y,3,Dc,4,Dc];Z.prototype.l=Gc(Hc);function Ic(a){X.call(this,a,-1,Jc)}na(Ic,X);Ic.prototype.addClassification=function(a,b){Qb(this,1,Z,a,b);return this};var Jc=[1],Kc=Fc([Ic,1,Ec,Hc]);function Lc(a){X.call(this,a)}na(Lc,X);var Mc=[Lc,1,Y,2,Y,3,Y,4,Y,5,Y];Lc.prototype.l=Gc(Mc);function Nc(a){X.call(this,a,-1,Oc)}na(Nc,X);var Oc=[1],Pc=Fc([Nc,1,Ec,Mc]);function Qc(a){X.call(this,a)}na(Qc,X);var Rc=[Qc,1,Y,2,Y,3,Y,4,Y,5,Y,6,Bc],Sc=Fc(Rc);Qc.prototype.l=Gc(Rc);function Tc(a,b,c){c=a.createShader(0===c?a.VERTEX_SHADER:a.FRAGMENT_SHADER);a.shaderSource(c,b);a.compileShader(c);if(!a.getShaderParameter(c,a.COMPILE_STATUS))throw Error(\"Could not compile WebGL shader.\\n\\n\"+a.getShaderInfoLog(c));return c};function Uc(a){return Ob(a,Z,1).map(function(b){var c=S(b,1);return{index:null==c?0:c,qa:W(b,2),label:null!=S(b,3)?Rb(S(b,3),\"\"):void 0,displayName:null!=S(b,4)?Rb(S(b,4),\"\"):void 0}})};function Vc(a){return{x:W(a,1),y:W(a,2),z:W(a,3),visibility:null!=Mb(a,4)?W(a,4):void 0}};function Wc(a,b){this.i=a;this.h=b;this.m=0}\nfunction Xc(a,b,c){Yc(a,b);if(\"function\"===typeof a.h.canvas.transferToImageBitmap)return Promise.resolve(a.h.canvas.transferToImageBitmap());if(c)return Promise.resolve(a.h.canvas);if(\"function\"===typeof createImageBitmap)return createImageBitmap(a.h.canvas);void 0===a.j&&(a.j=document.createElement(\"canvas\"));return new Promise(function(d){a.j.height=a.h.canvas.height;a.j.width=a.h.canvas.width;a.j.getContext(\"2d\",{}).drawImage(a.h.canvas,0,0,a.h.canvas.width,a.h.canvas.height);d(a.j)})}\nfunction Yc(a,b){var c=a.h;if(void 0===a.s){var d=Tc(c,\"\\n attribute vec2 aVertex;\\n attribute vec2 aTex;\\n varying vec2 vTex;\\n void main(void) {\\n gl_Position = vec4(aVertex, 0.0, 1.0);\\n vTex = aTex;\\n }\",0),e=Tc(c,\"\\n precision mediump float;\\n varying vec2 vTex;\\n uniform sampler2D sampler0;\\n void main(){\\n gl_FragColor = texture2D(sampler0, vTex);\\n }\",1),g=c.createProgram();c.attachShader(g,d);c.attachShader(g,e);c.linkProgram(g);if(!c.getProgramParameter(g,c.LINK_STATUS))throw Error(\"Could not compile WebGL program.\\n\\n\"+\nc.getProgramInfoLog(g));d=a.s=g;c.useProgram(d);e=c.getUniformLocation(d,\"sampler0\");a.l={O:c.getAttribLocation(d,\"aVertex\"),N:c.getAttribLocation(d,\"aTex\"),ya:e};a.v=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.v);c.enableVertexAttribArray(a.l.O);c.vertexAttribPointer(a.l.O,2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);a.u=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.u);c.enableVertexAttribArray(a.l.N);c.vertexAttribPointer(a.l.N,\n2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);c.uniform1i(e,0)}d=a.l;c.useProgram(a.s);c.canvas.width=b.width;c.canvas.height=b.height;c.viewport(0,0,b.width,b.height);c.activeTexture(c.TEXTURE0);a.i.bindTexture2d(b.glName);c.enableVertexAttribArray(d.O);c.bindBuffer(c.ARRAY_BUFFER,a.v);c.vertexAttribPointer(d.O,2,c.FLOAT,!1,0,0);c.enableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,a.u);c.vertexAttribPointer(d.N,\n2,c.FLOAT,!1,0,0);c.bindFramebuffer(c.DRAW_FRAMEBUFFER?c.DRAW_FRAMEBUFFER:c.FRAMEBUFFER,null);c.clearColor(0,0,0,0);c.clear(c.COLOR_BUFFER_BIT);c.colorMask(!0,!0,!0,!0);c.drawArrays(c.TRIANGLE_FAN,0,4);c.disableVertexAttribArray(d.O);c.disableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,null);a.i.bindTexture2d(0)}function Zc(a){this.h=a};var $c=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function ad(a,b){return b+a}function bd(a,b){window[a]=b}function cd(a){var b=document.createElement(\"script\");b.setAttribute(\"src\",a);b.setAttribute(\"crossorigin\",\"anonymous\");return new Promise(function(c){b.addEventListener(\"load\",function(){c()},!1);b.addEventListener(\"error\",function(){c()},!1);document.body.appendChild(b)})}\nfunction dd(){return E(function(a){switch(a.h){case 1:return a.s=2,D(a,WebAssembly.instantiate($c),4);case 4:a.h=3;a.s=0;break;case 2:return a.s=0,a.l=null,a.return(!1);case 3:return a.return(!0)}})}\nfunction ed(a){this.h=a;this.listeners={};this.l={};this.L={};this.s={};this.v={};this.M=this.u=this.ga=!0;this.I=Promise.resolve();this.fa=\"\";this.D={};this.locateFile=a&&a.locateFile||ad;if(\"object\"===typeof window)var b=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf(\"/\"))+\"/\";else if(\"undefined\"!==typeof location)b=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf(\"/\"))+\"/\";else throw Error(\"solutions can only be loaded on a web page or in a web worker\");\nthis.ha=b;if(a.options){b=A(Object.keys(a.options));for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=a.options[c].default;void 0!==d&&(this.l[c]=\"function\"===typeof d?d():d)}}}x=ed.prototype;x.close=function(){this.j&&this.j.delete();return Promise.resolve()};\nfunction fd(a){var b,c,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!a.ga)return p.return();b=void 0===a.h.files?[]:\"function\"===typeof a.h.files?a.h.files(a.l):a.h.files;return D(p,dd(),2);case 2:c=p.i;if(\"object\"===typeof window)return bd(\"createMediapipeSolutionsWasm\",{locateFile:a.locateFile}),bd(\"createMediapipeSolutionsPackedAssets\",{locateFile:a.locateFile}),f=b.filter(function(n){return void 0!==n.data}),h=b.filter(function(n){return void 0===n.data}),k=Promise.all(f.map(function(n){var q=\ngd(a,n.url);if(void 0!==n.path){var t=n.path;q=q.then(function(w){a.overrideFile(t,w);return Promise.resolve(w)})}return q})),l=Promise.all(h.map(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c?cd(a.locateFile(n.url,a.ha)):Promise.resolve()})).then(function(){var n,q,t;return E(function(w){if(1==w.h)return n=window.createMediapipeSolutionsWasm,q=window.createMediapipeSolutionsPackedAssets,t=a,D(w,n(q),2);t.i=w.i;w.h=0})}),m=function(){return E(function(n){a.h.graph&&a.h.graph.url?n=D(n,\ngd(a,a.h.graph.url),0):(n.h=0,n=void 0);return n})}(),D(p,Promise.all([l,k,m]),7);if(\"function\"!==typeof importScripts)throw Error(\"solutions can only be loaded on a web page or in a web worker\");d=b.filter(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c}).map(function(n){return a.locateFile(n.url,a.ha)});importScripts.apply(null,ea(d));e=a;return D(p,createMediapipeSolutionsWasm(Module),6);case 6:e.i=p.i;a.m=new OffscreenCanvas(1,1);a.i.canvas=a.m;g=a.i.GL.createContext(a.m,{antialias:!1,\nalpha:!1,va:\"undefined\"!==typeof WebGL2RenderingContext?2:1});a.i.GL.makeContextCurrent(g);p.h=4;break;case 7:a.m=document.createElement(\"canvas\");r=a.m.getContext(\"webgl2\",{});if(!r&&(r=a.m.getContext(\"webgl\",{}),!r))return alert(\"Failed to create WebGL canvas context when passing video frame.\"),p.return();a.K=r;a.i.canvas=a.m;a.i.createContext(a.m,!0,!0,{});case 4:a.j=new a.i.SolutionWasm,a.ga=!1,p.h=0}})}\nfunction hd(a){var b,c,d,e,g,f,h,k;return E(function(l){if(1==l.h){if(a.h.graph&&a.h.graph.url&&a.fa===a.h.graph.url)return l.return();a.u=!0;if(!a.h.graph||!a.h.graph.url){l.h=2;return}a.fa=a.h.graph.url;return D(l,gd(a,a.h.graph.url),3)}2!=l.h&&(b=l.i,a.j.loadGraph(b));c=A(Object.keys(a.D));for(d=c.next();!d.done;d=c.next())e=d.value,a.j.overrideFile(e,a.D[e]);a.D={};if(a.h.listeners)for(g=A(a.h.listeners),f=g.next();!f.done;f=g.next())h=f.value,id(a,h);k=a.l;a.l={};a.setOptions(k);l.h=0})}\nx.reset=function(){var a=this;return E(function(b){a.j&&(a.j.reset(),a.s={},a.v={});b.h=0})};\nx.setOptions=function(a,b){var c=this;if(b=b||this.h.options){for(var d=[],e=[],g={},f=A(Object.keys(a)),h=f.next();!h.done;g={X:g.X,Y:g.Y},h=f.next())if(h=h.value,!(h in this.l&&this.l[h]===a[h])){this.l[h]=a[h];var k=b[h];void 0!==k&&(k.onChange&&(g.X=k.onChange,g.Y=a[h],d.push(function(l){return function(){var m;return E(function(r){if(1==r.h)return D(r,l.X(l.Y),2);m=r.i;!0===m&&(c.u=!0);r.h=0})}}(g))),k.graphOptionXref&&(h=Object.assign({},{calculatorName:\"\",calculatorIndex:0},k.graphOptionXref,\n{valueNumber:1===k.type?a[h]:0,valueBoolean:0===k.type?a[h]:!1,valueString:2===k.type?a[h]:\"\"}),e.push(h)))}if(0!==d.length||0!==e.length)this.u=!0,this.H=(void 0===this.H?[]:this.H).concat(e),this.F=(void 0===this.F?[]:this.F).concat(d)}};\nfunction jd(a){var b,c,d,e,g,f,h;return E(function(k){switch(k.h){case 1:if(!a.u)return k.return();if(!a.F){k.h=2;break}b=A(a.F);c=b.next();case 3:if(c.done){k.h=5;break}d=c.value;return D(k,d(),4);case 4:c=b.next();k.h=3;break;case 5:a.F=void 0;case 2:if(a.H){e=new a.i.GraphOptionChangeRequestList;g=A(a.H);for(f=g.next();!f.done;f=g.next())h=f.value,e.push_back(h);a.j.changeOptions(e);e.delete();a.H=void 0}a.u=!1;k.h=0}})}\nx.initialize=function(){var a=this;return E(function(b){return 1==b.h?D(b,fd(a),2):3!=b.h?D(b,hd(a),3):D(b,jd(a),0)})};function gd(a,b){var c,d;return E(function(e){if(b in a.L)return e.return(a.L[b]);c=a.locateFile(b,\"\");d=fetch(c).then(function(g){return g.arrayBuffer()});a.L[b]=d;return e.return(d)})}x.overrideFile=function(a,b){this.j?this.j.overrideFile(a,b):this.D[a]=b};x.clearOverriddenFiles=function(){this.D={};this.j&&this.j.clearOverriddenFiles()};\nx.send=function(a,b){var c=this,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!c.h.inputs)return p.return();d=1E3*(void 0===b||null===b?performance.now():b);return D(p,c.I,2);case 2:return D(p,c.initialize(),3);case 3:e=new c.i.PacketDataList;g=A(Object.keys(a));for(f=g.next();!f.done;f=g.next())if(h=f.value,k=c.h.inputs[h]){a:{var n=a[h];switch(k.type){case \"video\":var q=c.s[k.stream];q||(q=new Wc(c.i,c.K),c.s[k.stream]=q);0===q.m&&(q.m=q.i.createTexture());if(\"undefined\"!==typeof HTMLVideoElement&&\nn instanceof HTMLVideoElement){var t=n.videoWidth;var w=n.videoHeight}else\"undefined\"!==typeof HTMLImageElement&&n instanceof HTMLImageElement?(t=n.naturalWidth,w=n.naturalHeight):(t=n.width,w=n.height);w={glName:q.m,width:t,height:w};t=q.h;t.canvas.width=w.width;t.canvas.height=w.height;t.activeTexture(t.TEXTURE0);q.i.bindTexture2d(q.m);t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n);q.i.bindTexture2d(0);q=w;break a;case \"detections\":q=c.s[k.stream];q||(q=new Zc(c.i),c.s[k.stream]=q);\nq.data||(q.data=new q.h.DetectionListData);q.data.reset(n.length);for(w=0;w<n.length;++w){t=n[w];var v=q.data,B=v.setBoundingBox,J=w;var I=t.la;var u=new Qc;V(u,1,I.sa);V(u,2,I.ta);V(u,3,I.height);V(u,4,I.width);V(u,5,I.rotation);U(u,6,I.pa);I=u.l();B.call(v,J,I);if(t.ea)for(v=0;v<t.ea.length;++v){u=t.ea[v];B=q.data;J=B.addNormalizedLandmark;I=w;u=Object.assign({},u,{visibility:u.visibility?u.visibility:0});var C=new Lc;V(C,1,u.x);V(C,2,u.y);V(C,3,u.z);u.visibility&&V(C,4,u.visibility);u=C.l();J.call(B,\nI,u)}if(t.ba)for(v=0;v<t.ba.length;++v)B=q.data,J=B.addClassification,I=w,u=t.ba[v],C=new Z,V(C,2,u.qa),u.index&&U(C,1,u.index),u.label&&U(C,3,u.label),u.displayName&&U(C,4,u.displayName),u=C.l(),J.call(B,I,u)}q=q.data;break a;default:q={}}}l=q;m=k.stream;switch(k.type){case \"video\":e.pushTexture2d(Object.assign({},l,{stream:m,timestamp:d}));break;case \"detections\":r=l;r.stream=m;r.timestamp=d;e.pushDetectionList(r);break;default:throw Error(\"Unknown input config type: '\"+k.type+\"'\");}}c.j.send(e);\nreturn D(p,c.I,4);case 4:e.delete(),p.h=0}})};\nfunction kd(a,b,c){var d,e,g,f,h,k,l,m,r,p,n,q,t,w;return E(function(v){switch(v.h){case 1:if(!c)return v.return(b);d={};e=0;g=A(Object.keys(c));for(f=g.next();!f.done;f=g.next())h=f.value,k=c[h],\"string\"!==typeof k&&\"texture\"===k.type&&void 0!==b[k.stream]&&++e;1<e&&(a.M=!1);l=A(Object.keys(c));f=l.next();case 2:if(f.done){v.h=4;break}m=f.value;r=c[m];if(\"string\"===typeof r)return t=d,w=m,D(v,ld(a,m,b[r]),14);p=b[r.stream];if(\"detection_list\"===r.type){if(p){var B=p.getRectList();for(var J=p.getLandmarksList(),\nI=p.getClassificationsList(),u=[],C=0;C<B.size();++C){var T=Sc(B.get(C)),od=W(T,1),pd=W(T,2),qd=W(T,3),rd=W(T,4),sd=W(T,5,0),za=void 0;za=void 0===za?0:za;T={la:{sa:od,ta:pd,height:qd,width:rd,rotation:sd,pa:Rb(S(T,6),za)},ea:Ob(Pc(J.get(C)),Lc,1).map(Vc),ba:Uc(Kc(I.get(C)))};u.push(T)}B=u}else B=[];d[m]=B;v.h=7;break}if(\"proto_list\"===r.type){if(p){B=Array(p.size());for(J=0;J<p.size();J++)B[J]=p.get(J);p.delete()}else B=[];d[m]=B;v.h=7;break}if(void 0===p){v.h=3;break}if(\"float_list\"===r.type){d[m]=\np;v.h=7;break}if(\"proto\"===r.type){d[m]=p;v.h=7;break}if(\"texture\"!==r.type)throw Error(\"Unknown output config type: '\"+r.type+\"'\");n=a.v[m];n||(n=new Wc(a.i,a.K),a.v[m]=n);return D(v,Xc(n,p,a.M),13);case 13:q=v.i,d[m]=q;case 7:r.transform&&d[m]&&(d[m]=r.transform(d[m]));v.h=3;break;case 14:t[w]=v.i;case 3:f=l.next();v.h=2;break;case 4:return v.return(d)}})}\nfunction ld(a,b,c){var d;return E(function(e){return\"number\"===typeof c||c instanceof Uint8Array||c instanceof a.i.Uint8BlobList?e.return(c):c instanceof a.i.Texture2dDataOut?(d=a.v[b],d||(d=new Wc(a.i,a.K),a.v[b]=d),e.return(Xc(d,c,a.M))):e.return(void 0)})}\nfunction id(a,b){for(var c=b.name||\"$\",d=[].concat(ea(b.wants)),e=new a.i.StringList,g=A(b.wants),f=g.next();!f.done;f=g.next())e.push_back(f.value);g=a.i.PacketListener.implement({onResults:function(h){for(var k={},l=0;l<b.wants.length;++l)k[d[l]]=h.get(l);var m=a.listeners[c];m&&(a.I=kd(a,k,b.outs).then(function(r){r=m(r);for(var p=0;p<b.wants.length;++p){var n=k[d[p]];\"object\"===typeof n&&n.hasOwnProperty&&n.hasOwnProperty(\"delete\")&&n.delete()}r&&(a.I=r)}))}});a.j.attachMultiListener(e,g);e.delete()}\nx.onResults=function(a,b){this.listeners[b||\"$\"]=a};Aa(\"Solution\",ed);Aa(\"OptionType\",{BOOL:0,NUMBER:1,ua:2,0:\"BOOL\",1:\"NUMBER\",2:\"STRING\"});function md(a){void 0===a&&(a=0);switch(a){case 1:return\"selfie_segmentation_landscape.tflite\";default:return\"selfie_segmentation.tflite\"}}\nfunction nd(a){var b=this;a=a||{};this.h=new ed({locateFile:a.locateFile,files:function(c){return[{simd:!0,url:\"selfie_segmentation_solution_simd_wasm_bin.js\"},{simd:!1,url:\"selfie_segmentation_solution_wasm_bin.js\"},{data:!0,url:md(c.modelSelection)}]},graph:{url:\"selfie_segmentation.binarypb\"},listeners:[{wants:[\"segmentation_mask\",\"image_transformed\"],outs:{image:{type:\"texture\",stream:\"image_transformed\"},segmentationMask:{type:\"texture\",stream:\"segmentation_mask\"}}}],inputs:{image:{type:\"video\",\nstream:\"input_frames_gpu\"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:\"InferenceCalculator\",fieldName:\"use_cpu_inference\"},default:\"object\"!==typeof window||void 0===window.navigator?!1:\"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod\".split(\";\").includes(navigator.platform)||navigator.userAgent.includes(\"Mac\")&&\"ontouchend\"in document},selfieMode:{type:0,graphOptionXref:{calculatorType:\"GlScalerCalculator\",calculatorIndex:1,fieldName:\"flip_horizontal\"}},modelSelection:{type:1,\ngraphOptionXref:{calculatorType:\"ConstantSidePacketCalculator\",calculatorName:\"ConstantSidePacketCalculatorModelSelection\",fieldName:\"int_value\"},onChange:function(c){var d,e,g;return E(function(f){if(1==f.h)return d=md(c),e=\"third_party/mediapipe/modules/selfie_segmentation/\"+d,D(f,gd(b.h,d),2);g=f.i;b.h.overrideFile(e,g);return f.return(!0)})}}}})}x=nd.prototype;x.close=function(){this.h.close();return Promise.resolve()};x.onResults=function(a){this.h.onResults(a)};\nx.initialize=function(){var a=this;return E(function(b){return D(b,a.h.initialize(),0)})};x.reset=function(){this.h.reset()};x.send=function(a){var b=this;return E(function(c){return D(c,b.h.send(a),0)})};x.setOptions=function(a){this.h.setOptions(a)};Aa(\"SelfieSegmentation\",nd);Aa(\"VERSION\",\"0.1.1675465747\");}).call(this);\n","/** Options for composing one segmented camera frame. */\nexport interface CompositeVirtualBackgroundFrameOptions {\n ctx: CanvasRenderingContext2D;\n segmentationMask: CanvasImageSource;\n sourceImage: CanvasImageSource;\n backgroundImage?: CanvasImageSource | null;\n width: number;\n height: number;\n repeatPattern?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';\n blurFallbackPixels?: number;\n}\n\n/** Stable room-state value used by every web UI surface for background blur. */\nexport const VIRTUAL_BACKGROUND_BLUR = 'blur';\nexport const DEFAULT_BACKGROUND_BLUR_PIXELS = 16;\n\nexport function isVirtualBackgroundBlur(value: unknown): boolean {\n return value === VIRTUAL_BACKGROUND_BLUR;\n}\n\n/**\n * Paint the segmented person over a replacement background.\n *\n * Keeping this operation in the shared runtime makes headless web adapters and\n * the React SDK use the same compositing contract. It is deliberately not\n * exported from the native entry point; native platforms use their camera\n * processor instead of a browser canvas.\n */\nexport function compositeVirtualBackgroundFrame({\n ctx,\n segmentationMask,\n sourceImage,\n backgroundImage = null,\n width,\n height,\n repeatPattern = 'repeat',\n blurFallbackPixels = 0,\n}: CompositeVirtualBackgroundFrameOptions): void {\n const previousFilter = ctx.filter;\n ctx.save();\n try {\n ctx.clearRect(0, 0, width, height);\n ctx.globalCompositeOperation = 'source-over';\n ctx.drawImage(segmentationMask, 0, 0, width, height);\n ctx.globalCompositeOperation = 'source-in';\n ctx.drawImage(sourceImage, 0, 0, width, height);\n ctx.globalCompositeOperation = 'destination-over';\n if (backgroundImage) {\n const pattern = ctx.createPattern(backgroundImage, repeatPattern);\n ctx.fillStyle = pattern || 'transparent';\n ctx.fillRect(0, 0, width, height);\n } else if (blurFallbackPixels > 0) {\n ctx.filter = `blur(${blurFallbackPixels}px)`;\n // Draw beyond the visible bounds so the blur kernel does not expose a\n // transparent/black fringe around the processed frame.\n const bleed = Math.max(2, blurFallbackPixels * 2);\n ctx.drawImage(\n sourceImage,\n -bleed,\n -bleed,\n width + bleed * 2,\n height + bleed * 2,\n );\n }\n } finally {\n ctx.filter = previousFilter || 'none';\n ctx.globalCompositeOperation = 'source-over';\n ctx.restore();\n }\n}\n","export interface VirtualBackgroundFrameLoopOptions {\n owner: object;\n processFrame: () => Promise<unknown> | unknown;\n shouldContinue: () => boolean;\n /** Best effort: background tabs may still throttle timers and camera capture. */\n keepProcessingWhenHidden?: boolean;\n}\n\nconst activeLoops = new WeakMap<object, () => void>();\nconst activeFrames = new WeakMap<object, Promise<unknown>>();\n\n/** Run at most one segmentation frame at a time, including in hidden tabs. */\nexport function startVirtualBackgroundFrameLoop({\n owner,\n processFrame,\n shouldContinue,\n keepProcessingWhenHidden = true,\n}: VirtualBackgroundFrameLoopOptions): () => void {\n activeLoops.get(owner)?.();\n let stopped = false;\n let inFlight = false;\n let animationFrameId: number | null = null;\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n const cancelScheduledFrame = () => {\n if (animationFrameId !== null) cancelAnimationFrame(animationFrameId);\n if (timeoutId !== null) clearTimeout(timeoutId);\n animationFrameId = null;\n timeoutId = null;\n };\n const stop = () => {\n if (stopped) return;\n stopped = true;\n cancelScheduledFrame();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n if (activeLoops.get(owner) === stop) activeLoops.delete(owner);\n };\n const schedule = () => {\n if (stopped || inFlight) return;\n if (!shouldContinue()) { stop(); return; }\n if (document.hidden && keepProcessingWhenHidden) {\n timeoutId = setTimeout(() => { void runFrame(); }, 1000);\n } else {\n animationFrameId = requestAnimationFrame(() => { void runFrame(); });\n }\n };\n const runFrame = async () => {\n animationFrameId = null;\n timeoutId = null;\n if (stopped || inFlight) return;\n if (!shouldContinue()) { stop(); return; }\n inFlight = true;\n try {\n const previousFrame = activeFrames.get(owner);\n if (previousFrame) await previousFrame.catch(() => undefined);\n if (stopped || !shouldContinue()) { stop(); return; }\n const currentFrame = Promise.resolve(processFrame());\n activeFrames.set(owner, currentFrame);\n try { await currentFrame; }\n finally { if (activeFrames.get(owner) === currentFrame) activeFrames.delete(owner); }\n } catch { /* A dropped frame is recoverable. */ }\n finally { inFlight = false; schedule(); }\n };\n const onVisibilityChange = () => { cancelScheduledFrame(); schedule(); };\n activeLoops.set(owner, stop);\n document.addEventListener('visibilitychange', onVisibilityChange);\n void runFrame();\n return stop;\n}\n","import { SelfieSegmentation } from '@mediapipe/selfie_segmentation';\nimport { HeadlessOptions } from './headlessTypes';\nimport { getCurrentParams } from './getCurrentParams';\nimport { getLocalVideoStream } from './getMediaStreams';\nimport { HeadlessActionResult } from './roomActions';\nimport {\n compositeVirtualBackgroundFrame,\n DEFAULT_BACKGROUND_BLUR_PIXELS,\n} from '../virtualBackgroundCompositor';\nimport { startVirtualBackgroundFrameLoop } from '../virtualBackgroundFrameLoop';\n\nconst MEDIAPIPE_CDN = 'https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation';\n\n/**\n * One running background session. Kept module-level because the pipeline owns\n * real resources (a MediaPipe instance, a RAF loop, an offscreen canvas) that\n * must be torn down exactly once, and because a second call should replace the\n * first rather than stack another loop on the same camera.\n */\ninterface BackgroundSession {\n stop: () => void;\n stream: MediaStream;\n /** A live raw-camera clone that can be returned to the producer on clear. */\n restoreTrack: MediaStreamTrack | null;\n}\nlet session: BackgroundSession | null = null;\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const image = new Image();\n // Backgrounds are usually served cross-origin; without this the canvas is\n // tainted and captureStream() throws a SecurityError instead of producing\n // frames — a failure that looks like \"virtual background silently does nothing\".\n image.crossOrigin = 'anonymous';\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error('The background image could not be loaded.'));\n image.src = src;\n });\n}\n\nexport interface ApplyVirtualBackgroundOptions extends HeadlessOptions {\n /**\n * Background image URL, or a ready `HTMLImageElement` / `HTMLCanvasElement`.\n * Pass `null` to segment the person onto a transparent background.\n */\n image: string | HTMLImageElement | HTMLCanvasElement | null;\n /** Capture frame rate for the processed stream. Defaults to 30. */\n frameRate?: number;\n /** MediaPipe model: 0 = general, 1 = landscape (faster). Defaults to 1. */\n modelSelection?: 0 | 1;\n /**\n * Replace the live producer's track so remote viewers see the background\n * immediately. Defaults to true; set false to preview locally first.\n */\n publish?: boolean;\n /**\n * Where to load the MediaPipe model and wasm from. Defaults to the jsDelivr\n * CDN. Point this at a self-hosted copy of\n * `node_modules/@mediapipe/selfie_segmentation` for offline or air-gapped\n * deployments, or where a Content-Security-Policy forbids the CDN.\n * A trailing slash is added if missing.\n */\n assetPath?: string;\n /**\n * Blur the area behind the segmented person by this many pixels. When this\n * is greater than zero it takes precedence over `image`. Defaults to 0.\n */\n blurPixels?: number;\n /** Best-effort hidden-tab processing for blur and image backgrounds. Defaults to true. */\n keepProcessingWhenHidden?: boolean;\n}\n\nexport type ApplyVirtualBackgroundType = (\n options: ApplyVirtualBackgroundOptions\n) => Promise<HeadlessActionResult & { stream: MediaStream | null }>;\n\n/**\n * Apply a virtual background headlessly — no modal, no DOM of your own.\n *\n * The SDK's own background support lives inside `BackgroundModal`, whose apply\n * path is bound to that component's refs (a preview `<video>` and a `<canvas>`)\n * and is driven by `autoClickBackground` / `isBackgroundModalVisible`. A\n * `returnUI={false}` surface therefore had no way to turn a background on\n * without mounting the modal off-screen and simulating a click.\n *\n * This runs the same MediaPipe pipeline the modal uses — identical compositing:\n * draw the segmentation mask, retain the person with `source-in`, then paint\n * the replacement behind them with `destination-over` — against an offscreen video and\n * canvas it creates and owns.\n *\n * It also keeps the SDK's own state honest (`virtualStream`, `processedStream`,\n * `keepBackground`), so `getLocalVideoStream` keeps returning the right\n * self-view without the caller choosing. Callers should not select the\n * processed stream themselves.\n *\n * The camera must already be on: this processes `localStreamVideo`, it does not\n * acquire one.\n *\n * @example\n * ```ts\n * await applyVirtualBackground({ parameters, image: '/backgrounds/office.jpg' });\n * await clearVirtualBackground({ parameters });\n * ```\n */\nexport async function applyVirtualBackground({\n parameters,\n image,\n frameRate = 30,\n modelSelection = 1,\n publish = true,\n assetPath = MEDIAPIPE_CDN,\n blurPixels = 0,\n keepProcessingWhenHidden = true,\n}: ApplyVirtualBackgroundOptions): Promise<HeadlessActionResult & { stream: MediaStream | null }> {\n const live = getCurrentParams({ parameters });\n if (live.audioOnlyRoom) {\n return { ok: false, error: 'You cannot use a background in an audio-only event.', stream: null };\n }\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return { ok: false, error: 'Virtual backgrounds require a browser environment.', stream: null };\n }\n\n // Always process the *raw* camera. Reading through getLocalVideoStream would\n // feed an already-processed stream back through segmentation once a\n // background is running, compounding artefacts on every change.\n const camera = (live.localStreamVideo as MediaStream | null)\n || getLocalVideoStream({ parameters: live });\n const sourceTrack = camera?.getVideoTracks?.()[0] || null;\n if (!sourceTrack || sourceTrack.readyState !== 'live') {\n return { ok: false, error: 'Turn your camera on before applying a background.', stream: null };\n }\n\n const previousSession = session;\n let candidateStop: (() => void) | null = null;\n try {\n const settings = sourceTrack.getSettings ? sourceTrack.getSettings() : {};\n const width = Number(settings.width) || 640;\n const height = Number(settings.height) || 360;\n\n const resolvedBlurPixels = Math.max(0, Number(blurPixels) || 0);\n const backgroundImage = resolvedBlurPixels > 0\n ? null\n : (typeof image === 'string' ? await loadImage(image) : image);\n const producer = publish ? (live.videoProducer || live.localVideoProducer) : null;\n\n // mediasoup Producers normally own their track (`stopTracks: true`). Their\n // replaceTrack operation therefore stops the old raw track. Keep MediaPipe\n // on an isolated clone and retain a second live clone for a clean clear.\n const processingTrack = sourceTrack.clone?.();\n if (!processingTrack) throw new Error('This camera cannot create the isolated track required for a virtual background.');\n const restoreTrack = producer ? sourceTrack.clone?.() : sourceTrack;\n if (!restoreTrack) {\n processingTrack.stop();\n throw new Error('This camera cannot preserve a track for restoring the original view.');\n }\n\n const video = document.createElement('video');\n video.autoplay = true;\n video.muted = true;\n video.playsInline = true;\n video.srcObject = new MediaStream([processingTrack]);\n await video.play().catch(() => {});\n\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n if (!ctx) throw new Error('This browser cannot composite a background.');\n\n const base = assetPath.endsWith('/') ? assetPath.slice(0, -1) : assetPath;\n const segmentation = new SelfieSegmentation({\n locateFile: (file: string) => `${base}/${file}`,\n });\n segmentation.setOptions({ modelSelection, selfieMode: false });\n await segmentation.initialize();\n\n // Same compositing as the SDK's modal, so the result is visually identical.\n segmentation.onResults((results: any) => {\n try {\n if (!canvas.width || !canvas.height) return;\n compositeVirtualBackgroundFrame({\n ctx,\n segmentationMask: results.segmentationMask,\n sourceImage: results.image,\n backgroundImage: backgroundImage as CanvasImageSource | null,\n width: canvas.width,\n height: canvas.height,\n blurFallbackPixels: resolvedBlurPixels,\n });\n } catch {\n // A dropped frame must never kill the loop.\n }\n });\n\n let stopped = false;\n const stopFrameLoop = startVirtualBackgroundFrameLoop({\n owner: segmentation,\n keepProcessingWhenHidden,\n shouldContinue: () => !stopped && processingTrack.readyState === 'live',\n processFrame: () => video.readyState >= 2\n ? segmentation.send({ image: video })\n : undefined,\n });\n\n let processed: MediaStream;\n try {\n processed = (canvas as any).captureStream(frameRate);\n } catch (error) {\n stopFrameLoop();\n throw error;\n }\n if (!processed?.getVideoTracks?.().length) {\n stopFrameLoop();\n throw new Error('The processed background stream produced no video track.');\n }\n\n const stop = () => {\n if (stopped) return;\n stopped = true;\n stopFrameLoop();\n try { segmentation.close(); } catch { /* already closed */ }\n processed.getTracks().forEach((track) => track.stop());\n processingTrack.stop();\n video.srcObject = null;\n };\n candidateStop = stop;\n\n if (producer) {\n const track = processed.getVideoTracks()[0];\n if (producer && typeof producer.replaceTrack === 'function' && track) {\n // replaceTrack avoids renegotiation, so remote viewers see the\n // background appear without the call visibly reconnecting.\n await producer.replaceTrack({ track });\n }\n if (camera?.removeTrack && camera?.addTrack && restoreTrack !== sourceTrack) {\n camera.removeTrack(sourceTrack);\n camera.addTrack(restoreTrack);\n if (sourceTrack.readyState === 'live') sourceTrack.stop();\n }\n }\n\n previousSession?.stop();\n session = { stop, stream: processed, restoreTrack };\n candidateStop = null;\n live.updateVirtualStream?.(processed);\n live.updateProcessedStream?.(processed);\n live.updateKeepBackground?.(true);\n\n return { ok: true, error: '', stream: processed };\n } catch (error: any) {\n candidateStop?.();\n return {\n ok: false,\n error: error?.message || 'The virtual background could not be applied.',\n stream: null,\n };\n }\n}\n\nexport interface ApplyBackgroundBlurOptions extends Omit<ApplyVirtualBackgroundOptions, 'image'> {\n /** Blur strength in CSS pixels. Defaults to 16. */\n blurPixels?: number;\n}\n\n/** Apply person-aware background blur through the standard processed-track lifecycle. */\nexport function applyBackgroundBlur({\n blurPixels = DEFAULT_BACKGROUND_BLUR_PIXELS,\n ...options\n}: ApplyBackgroundBlurOptions): ReturnType<ApplyVirtualBackgroundType> {\n return applyVirtualBackground({\n ...options,\n image: null,\n blurPixels,\n });\n}\n\nexport type ApplyBackgroundBlurType = typeof applyBackgroundBlur;\n\nexport type ClearVirtualBackgroundType = (\n options: HeadlessOptions\n) => Promise<HeadlessActionResult>;\n\n/**\n * Remove the virtual background and go back to the raw camera.\n *\n * Restores the original camera track on the live producer before tearing the\n * pipeline down, so viewers transition straight from processed to raw rather\n * than through a frozen or black frame.\n */\nexport async function clearVirtualBackground({\n parameters,\n}: HeadlessOptions): Promise<HeadlessActionResult> {\n const live = getCurrentParams({ parameters });\n const active = session;\n if (!active) {\n live.updateKeepBackground?.(false);\n return { ok: true, error: '' };\n }\n try {\n const producer = live.videoProducer || live.localVideoProducer;\n const original = active.restoreTrack;\n if (producer && typeof producer.replaceTrack === 'function'\n && original && original.readyState === 'live') {\n await producer.replaceTrack({ track: original });\n }\n active.stop();\n session = null;\n live.updateVirtualStream?.(null);\n live.updateProcessedStream?.(null);\n live.updateKeepBackground?.(false);\n return { ok: true, error: '' };\n } catch (error: any) {\n return { ok: false, error: error?.message || 'The virtual background could not be cleared.' };\n }\n}\n\n/** True while a headless background pipeline is running in this tab. */\nexport function isVirtualBackgroundRunning(): boolean {\n return session !== null;\n}\n"],"names":["x","aa","a","b","c","global","y","z","d","e","g","f","A","D","E","h","k","l","m","p","n","q","t","r","F","G","H","K","ab","L","M","N","O","P","Q","R","S","U","V","W","X","ac","Y","Z","ad","w","v","B","J","I","u","C","T","this","SelfieSegmentation"],"mappings":"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","x_google_ignoreList":[0]}
|