shopar-plugin 1.1.0-alpha.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see deepar.esm.js.LICENSE.txt */
2
- var e={795:function(e,t,r){var n;e=r.nmd(e),function(){var i={function:!0,object:!0},a=i[typeof window]&&window||this,o=i[typeof t]&&t,s=i.object&&e&&!e.nodeType&&e,l=o&&s&&"object"==typeof r.g&&r.g;!l||l.global!==l&&l.window!==l&&l.self!==l||(a=l);var c=Math.pow(2,53)-1,d=/\bOpera/,u=Object.prototype,f=u.hasOwnProperty,h=u.toString;function m(e){return(e=String(e)).charAt(0).toUpperCase()+e.slice(1)}function g(e){return e=y(e),/^(?:webOS|i(?:OS|P))/.test(e)?e:m(e)}function p(e,t){for(var r in e)f.call(e,r)&&t(e[r],r,e)}function b(e){return null==e?m(e):h.call(e).slice(8,-1)}function v(e){return String(e).replace(/([ -])(?!$)/g,"$1?")}function w(e,t){var r=null;return function(e,t){var r=-1,n=e?e.length:0;if("number"==typeof n&&n>-1&&n<=c)for(;++r<n;)t(e[r],r);else p(e,t)}(e,(function(n,i){r=t(r,n,i,e)})),r}function y(e){return String(e).replace(/^ +| +$/g,"")}var E=function e(t){var r=a,n=t&&"object"==typeof t&&"String"!=b(t);n&&(r=t,t=null);var i=r.navigator||{},o=i.userAgent||"";t||(t=o);var s,l,c,u,f=n?!!i.likeChrome:/\bChrome\b/.test(t)&&!/internal|\n/i.test(h.toString()),m="Object",E=n?m:"ScriptBridgingProxyObject",P=n?m:"Environment",k=n&&r.java?"JavaPackage":b(r.java),T=n?m:"RuntimeObject",x=/\bJava/.test(k)&&r.java,S=x&&b(r.environment)==P,_=x?"a":"α",j=x?"b":"β",A=r.document||{},I=r.operamini||r.opera,F=d.test(F=n&&I?I["[[Class]]"]:b(I))?F:I=null,C=t,O=[],M=null,R=t==o,L=R&&I&&"function"==typeof I.version&&I.version(),B=w([{label:"EdgeHTML",pattern:"Edge"},"Trident",{label:"WebKit",pattern:"AppleWebKit"},"iCab","Presto","NetFront","Tasman","KHTML","Gecko"],(function(e,r){return e||RegExp("\\b"+(r.pattern||v(r))+"\\b","i").exec(t)&&(r.label||r)})),D=w(["Adobe AIR","Arora","Avant Browser","Breach","Camino","Electron","Epiphany","Fennec","Flock","Galeon","GreenBrowser","iCab","Iceweasel","K-Meleon","Konqueror","Lunascape","Maxthon",{label:"Microsoft Edge",pattern:"(?:Edge|Edg|EdgA|EdgiOS)"},"Midori","Nook Browser","PaleMoon","PhantomJS","Raven","Rekonq","RockMelt",{label:"Samsung Internet",pattern:"SamsungBrowser"},"SeaMonkey",{label:"Silk",pattern:"(?:Cloud9|Silk-Accelerated)"},"Sleipnir","SlimBrowser",{label:"SRWare Iron",pattern:"Iron"},"Sunrise","Swiftfox","Vivaldi","Waterfox","WebPositive",{label:"Yandex Browser",pattern:"YaBrowser"},{label:"UC Browser",pattern:"UCBrowser"},"Opera Mini",{label:"Opera Mini",pattern:"OPiOS"},"Opera",{label:"Opera",pattern:"OPR"},"Chromium","Chrome",{label:"Chrome",pattern:"(?:HeadlessChrome)"},{label:"Chrome Mobile",pattern:"(?:CriOS|CrMo)"},{label:"Firefox",pattern:"(?:Firefox|Minefield)"},{label:"Firefox for iOS",pattern:"FxiOS"},{label:"IE",pattern:"IEMobile"},{label:"IE",pattern:"MSIE"},"Safari"],(function(e,r){return e||RegExp("\\b"+(r.pattern||v(r))+"\\b","i").exec(t)&&(r.label||r)})),W=G([{label:"BlackBerry",pattern:"BB10"},"BlackBerry",{label:"Galaxy S",pattern:"GT-I9000"},{label:"Galaxy S2",pattern:"GT-I9100"},{label:"Galaxy S3",pattern:"GT-I9300"},{label:"Galaxy S4",pattern:"GT-I9500"},{label:"Galaxy S5",pattern:"SM-G900"},{label:"Galaxy S6",pattern:"SM-G920"},{label:"Galaxy S6 Edge",pattern:"SM-G925"},{label:"Galaxy S7",pattern:"SM-G930"},{label:"Galaxy S7 Edge",pattern:"SM-G935"},"Google TV","Lumia","iPad","iPod","iPhone","Kindle",{label:"Kindle Fire",pattern:"(?:Cloud9|Silk-Accelerated)"},"Nexus","Nook","PlayBook","PlayStation Vita","PlayStation","TouchPad","Transformer",{label:"Wii U",pattern:"WiiU"},"Wii","Xbox One",{label:"Xbox 360",pattern:"Xbox"},"Xoom"]),U=w({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,"Kindle Fire":1},Asus:{Transformer:1},"Barnes & Noble":{Nook:1},BlackBerry:{PlayBook:1},Google:{"Google TV":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,"Xbox One":1},Motorola:{Xoom:1},Nintendo:{"Wii U":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{"Galaxy S":1,"Galaxy S2":1,"Galaxy S3":1,"Galaxy S4":1},Sony:{PlayStation:1,"PlayStation Vita":1},Xiaomi:{Mi:1,Redmi:1}},(function(e,r,n){return e||(r[W]||r[/^[a-z]+(?: +[a-z]+\b)*/i.exec(W)]||RegExp("\\b"+v(n)+"(?:\\b|\\w*\\d)","i").exec(t))&&n})),$=w(["Windows Phone","KaiOS","Android","CentOS",{label:"Chrome OS",pattern:"CrOS"},"Debian",{label:"DragonFly BSD",pattern:"DragonFly"},"Fedora","FreeBSD","Gentoo","Haiku","Kubuntu","Linux Mint","OpenBSD","Red Hat","SuSE","Ubuntu","Xubuntu","Cygwin","Symbian OS","hpwOS","webOS ","webOS","Tablet OS","Tizen","Linux","Mac OS X","Macintosh","Mac","Windows 98;","Windows "],(function(e,r){var n=r.pattern||v(r);return!e&&(e=RegExp("\\b"+n+"(?:/[\\d.]+|[ \\w.]*)","i").exec(t))&&(e=function(e,t,r){var n={"10.0":"10",6.4:"10 Technical Preview",6.3:"8.1",6.2:"8",6.1:"Server 2008 R2 / 7","6.0":"Server 2008 / Vista",5.2:"Server 2003 / XP 64-bit",5.1:"XP",5.01:"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"};return t&&r&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(n=n[/[\d.]+$/.exec(e)])&&(e="Windows "+n),e=String(e),t&&r&&(e=e.replace(RegExp(t,"i"),r)),g(e.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0])}(e,n,r.label||r)),e}));function G(e){return w(e,(function(e,r){var n=r.pattern||v(r);return!e&&(e=RegExp("\\b"+n+" *\\d+[.\\w_]*","i").exec(t)||RegExp("\\b"+n+" *\\w+-[\\w]*","i").exec(t)||RegExp("\\b"+n+"(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)","i").exec(t))&&((e=String(r.label&&!RegExp(n,"i").test(r.label)?r.label:e).split("/"))[1]&&!/[\d.]+/.test(e[0])&&(e[0]+=" "+e[1]),r=r.label||r,e=g(e[0].replace(RegExp(n,"i"),r).replace(RegExp("; *(?:"+r+"[_-])?","i")," ").replace(RegExp("("+r+")[-_.]?(\\w)","i"),"$1 $2"))),e}))}function V(e){return w(e,(function(e,r){return e||(RegExp(r+"(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)","i").exec(t)||0)[1]||null}))}if(B&&(B=[B]),/\bAndroid\b/.test($)&&!W&&(s=/\bAndroid[^;]*;(.*?)(?:Build|\) AppleWebKit)\b/i.exec(t))&&(W=y(s[1]).replace(/^[a-z]{2}-[a-z]{2};\s*/i,"")||null),U&&!W?W=G([U]):U&&W&&(W=W.replace(RegExp("^("+v(U)+")[-_.\\s]","i"),U+" ").replace(RegExp("^("+v(U)+")[-_.]?(\\w)","i"),U+" $2")),(s=/\bGoogle TV\b/.exec(W))&&(W=s[0]),/\bSimulator\b/i.test(t)&&(W=(W?W+" ":"")+"Simulator"),"Opera Mini"==D&&/\bOPiOS\b/.test(t)&&O.push("running in Turbo/Uncompressed mode"),"IE"==D&&/\blike iPhone OS\b/.test(t)?(U=(s=e(t.replace(/like iPhone OS/,""))).manufacturer,W=s.product):/^iP/.test(W)?(D||(D="Safari"),$="iOS"+((s=/ OS ([\d_]+)/i.exec(t))?" "+s[1].replace(/_/g,"."):"")):"Konqueror"==D&&/^Linux\b/i.test($)?$="Kubuntu":U&&"Google"!=U&&(/Chrome/.test(D)&&!/\bMobile Safari\b/i.test(t)||/\bVita\b/.test(W))||/\bAndroid\b/.test($)&&/^Chrome/.test(D)&&/\bVersion\//i.test(t)?(D="Android Browser",$=/\bAndroid\b/.test($)?$:"Android"):"Silk"==D?(/\bMobi/i.test(t)||($="Android",O.unshift("desktop mode")),/Accelerated *= *true/i.test(t)&&O.unshift("accelerated")):"UC Browser"==D&&/\bUCWEB\b/.test(t)?O.push("speed mode"):"PaleMoon"==D&&(s=/\bFirefox\/([\d.]+)\b/.exec(t))?O.push("identifying as Firefox "+s[1]):"Firefox"==D&&(s=/\b(Mobile|Tablet|TV)\b/i.exec(t))?($||($="Firefox OS"),W||(W=s[1])):!D||(s=!/\bMinefield\b/i.test(t)&&/\b(?:Firefox|Safari)\b/.exec(D))?(D&&!W&&/[\/,]|^[^(]+?\)/.test(t.slice(t.indexOf(s+"/")+8))&&(D=null),(s=W||U||$)&&(W||U||/\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test($))&&(D=/[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test($)?$:s)+" Browser")):"Electron"==D&&(s=(/\bChrome\/([\d.]+)\b/.exec(t)||0)[1])&&O.push("Chromium "+s),L||(L=V(["(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$)|UCBrowser|YaBrowser)","Version",v(D),"(?:Firefox|Minefield|NetFront)"])),(s=("iCab"==B&&parseFloat(L)>3?"WebKit":/\bOpera\b/.test(D)&&(/\bOPR\b/.test(t)?"Blink":"Presto"))||/\b(?:Midori|Nook|Safari)\b/i.test(t)&&!/^(?:Trident|EdgeHTML)$/.test(B)&&"WebKit"||!B&&/\bMSIE\b/i.test(t)&&("Mac OS"==$?"Tasman":"Trident")||"WebKit"==B&&/\bPlayStation\b(?! Vita\b)/i.test(D)&&"NetFront")&&(B=[s]),"IE"==D&&(s=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(t)||0)[1])?(D+=" Mobile",$="Windows Phone "+(/\+$/.test(s)?s:s+".x"),O.unshift("desktop mode")):/\bWPDesktop\b/i.test(t)?(D="IE Mobile",$="Windows Phone 8.x",O.unshift("desktop mode"),L||(L=(/\brv:([\d.]+)/.exec(t)||0)[1])):"IE"!=D&&"Trident"==B&&(s=/\brv:([\d.]+)/.exec(t))&&(D&&O.push("identifying as "+D+(L?" "+L:"")),D="IE",L=s[1]),R){if("global",u=null!=(c=r)?typeof c.global:"number",/^(?:boolean|number|string|undefined)$/.test(u)||"object"==u&&!c.global)b(s=r.runtime)==E?(D="Adobe AIR",$=s.flash.system.Capabilities.os):b(s=r.phantom)==T?(D="PhantomJS",L=(s=s.version||null)&&s.major+"."+s.minor+"."+s.patch):"number"==typeof A.documentMode&&(s=/\bTrident\/(\d+)/i.exec(t))?(L=[L,A.documentMode],(s=+s[1]+4)!=L[1]&&(O.push("IE "+L[1]+" mode"),B&&(B[1]=""),L[1]=s),L="IE"==D?String(L[1].toFixed(1)):L[0]):"number"==typeof A.documentMode&&/^(?:Chrome|Firefox)\b/.test(D)&&(O.push("masking as "+D+" "+L),D="IE",L="11.0",B=["Trident"],$="Windows");else if(x&&(C=(s=x.lang.System).getProperty("os.arch"),$=$||s.getProperty("os.name")+" "+s.getProperty("os.version")),S){try{L=r.require("ringo/engine").version.join("."),D="RingoJS"}catch(e){(s=r.system)&&s.global.system==r.system&&(D="Narwhal",$||($=s[0].os||null))}D||(D="Rhino")}else"object"==typeof r.process&&!r.process.browser&&(s=r.process)&&("object"==typeof s.versions&&("string"==typeof s.versions.electron?(O.push("Node "+s.versions.node),D="Electron",L=s.versions.electron):"string"==typeof s.versions.nw&&(O.push("Chromium "+L,"Node "+s.versions.node),D="NW.js",L=s.versions.nw)),D||(D="Node.js",C=s.arch,$=s.platform,L=(L=/[\d.]+/.exec(s.version))?L[0]:null));$=$&&g($)}if(L&&(s=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(L)||/(?:alpha|beta)(?: ?\d)?/i.exec(t+";"+(R&&i.appMinorVersion))||/\bMinefield\b/i.test(t)&&"a")&&(M=/b/i.test(s)?"beta":"alpha",L=L.replace(RegExp(s+"\\+?$"),"")+("beta"==M?j:_)+(/\d+\+?/.exec(s)||"")),"Fennec"==D||"Firefox"==D&&/\b(?:Android|Firefox OS|KaiOS)\b/.test($))D="Firefox Mobile";else if("Maxthon"==D&&L)L=L.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(W))"Xbox 360"==W&&($=null),"Xbox 360"==W&&/\bIEMobile\b/.test(t)&&O.unshift("mobile mode");else if(!/^(?:Chrome|IE|Opera)$/.test(D)&&(!D||W||/Browser|Mobi/.test(D))||"Windows CE"!=$&&!/Mobi/i.test(t))if("IE"==D&&R)try{null===r.external&&O.unshift("platform preview")}catch(e){O.unshift("embedded")}else(/\bBlackBerry\b/.test(W)||/\bBB10\b/.test(t))&&(s=(RegExp(W.replace(/ +/g," *")+"/([.\\d]+)","i").exec(t)||0)[1]||L)?($=((s=[s,/BB10/.test(t)])[1]?(W=null,U="BlackBerry"):"Device Software")+" "+s[0],L=null):this!=p&&"Wii"!=W&&(R&&I||/Opera/.test(D)&&/\b(?:MSIE|Firefox)\b/i.test(t)||"Firefox"==D&&/\bOS X (?:\d+\.){2,}/.test($)||"IE"==D&&($&&!/^Win/.test($)&&L>5.5||/\bWindows XP\b/.test($)&&L>8||8==L&&!/\bTrident\b/.test(t)))&&!d.test(s=e.call(p,t.replace(d,"")+";"))&&s.name&&(s="ing as "+s.name+((s=s.version)?" "+s:""),d.test(D)?(/\bIE\b/.test(s)&&"Mac OS"==$&&($=null),s="identify"+s):(s="mask"+s,D=F?g(F.replace(/([a-z])([A-Z])/g,"$1 $2")):"Opera",/\bIE\b/.test(s)&&($=null),R||(L=null)),B=["Presto"],O.push(s));else D+=" Mobile";(s=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(t)||0)[1])&&(s=[parseFloat(s.replace(/\.(\d)$/,".0$1")),s],"Safari"==D&&"+"==s[1].slice(-1)?(D="WebKit Nightly",M="alpha",L=s[1].slice(0,-1)):L!=s[1]&&L!=(s[2]=(/\bSafari\/([\d.]+\+?)/i.exec(t)||0)[1])||(L=null),s[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(t)||0)[1],537.36==s[0]&&537.36==s[2]&&parseFloat(s[1])>=28&&"WebKit"==B&&(B=["Blink"]),R&&(f||s[1])?(B&&(B[1]="like Chrome"),s=s[1]||((s=s[0])<530?1:s<532?2:s<532.05?3:s<533?4:s<534.03?5:s<534.07?6:s<534.1?7:s<534.13?8:s<534.16?9:s<534.24?10:s<534.3?11:s<535.01?12:s<535.02?"13+":s<535.07?15:s<535.11?16:s<535.19?17:s<536.05?18:s<536.1?19:s<537.01?20:s<537.11?"21+":s<537.13?23:s<537.18?24:s<537.24?25:s<537.36?26:"Blink"!=B?"27":"28")):(B&&(B[1]="like Safari"),s=(s=s[0])<400?1:s<500?2:s<526?3:s<533?4:s<534?"4+":s<535?5:s<537?6:s<538?7:s<601?8:s<602?9:s<604?10:s<606?11:s<608?12:"12"),B&&(B[1]+=" "+(s+="number"==typeof s?".x":/[.+]/.test(s)?"":"+")),"Safari"==D&&(!L||parseInt(L)>45)?L=s:"Chrome"==D&&/\bHeadlessChrome/i.test(t)&&O.unshift("headless")),"Opera"==D&&(s=/\bzbov|zvav$/.exec($))?(D+=" ",O.unshift("desktop mode"),"zvav"==s?(D+="Mini",L=null):D+="Mobile",$=$.replace(RegExp(" *"+s+"$"),"")):"Safari"==D&&/\bChrome\b/.exec(B&&B[1])?(O.unshift("desktop mode"),D="Chrome Mobile",L=null,/\bOS X\b/.test($)?(U="Apple",$="iOS 4.3+"):$=null):/\bSRWare Iron\b/.test(D)&&!L&&(L=V("Chrome")),L&&0==L.indexOf(s=/[\d.]+$/.exec($))&&t.indexOf("/"+s+"-")>-1&&($=y($.replace(s,""))),$&&-1!=$.indexOf(D)&&!RegExp(D+" OS").test($)&&($=$.replace(RegExp(" *"+v(D)+" *"),"")),B&&!/\b(?:Avant|Nook)\b/.test(D)&&(/Browser|Lunascape|Maxthon/.test(D)||"Safari"!=D&&/^iOS/.test($)&&/\bSafari\b/.test(B[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(D)&&B[1])&&(s=B[B.length-1])&&O.push(s),O.length&&(O=["("+O.join("; ")+")"]),U&&W&&W.indexOf(U)<0&&O.push("on "+U),W&&O.push((/^on /.test(O[O.length-1])?"":"on ")+W),$&&(s=/ ([\d.+]+)$/.exec($),l=s&&"/"==$.charAt($.length-s[0].length-1),$={architecture:32,family:s&&!l?$.replace(s[0],""):$,version:s?s[1]:null,toString:function(){var e=this.version;return this.family+(e&&!l?" "+e:"")+(64==this.architecture?" 64-bit":"")}}),(s=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(C))&&!/\bi686\b/i.test(C)?($&&($.architecture=64,$.family=$.family.replace(RegExp(" *"+s),"")),D&&(/\bWOW64\b/i.test(t)||R&&/\w(?:86|32)$/.test(i.cpuClass||i.platform)&&!/\bWin64; x64\b/i.test(t))&&O.unshift("32-bit")):$&&/^OS X/.test($.family)&&"Chrome"==D&&parseFloat(L)>=39&&($.architecture=64),t||(t=null);var N={};return N.description=t,N.layout=B&&B[0],N.manufacturer=U,N.name=D,N.prerelease=M,N.product=W,N.ua=t,N.version=D&&L,N.os=$||{architecture:null,family:null,version:null,toString:function(){return"null"}},N.parse=e,N.toString=function(){return this.description||""},N.version&&O.unshift(L),N.name&&O.unshift(D),$&&D&&($!=String($).split(" ")[0]||$!=D.split(" ")[0]&&!W)&&O.push(W?"("+$+")":"on "+$),O.length&&(N.description=O.join(" ")),N}();a.platform=E,void 0===(n=function(){return E}.call(t,r,t,e))||(e.exports=n)}.call(this)}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{r.d(n,{Gv:()=>Q,R0:()=>e,j2:()=>J,i8:()=>t});var e={};r.r(e),r.d(e,{CameraPermissionDeniedError:()=>d,NoCameraError:()=>c,SwitchEffectCanceled:()=>l});const t="5.6.21-shopar-alpha-400";var i,a=(i="undefined"!=typeof document?document.currentScript?.src:void 0,function(e={}){var t,r,n=e,a=new Promise(((e,n)=>{t=e,r=n}));let o=null;const s=[];n.addPreRenderListener=function(e){s.push(e)},n.addPostRenderListener=function(e){s.push(e)},n.removePreRenderListener=function(e){0<=(e=s.indexOf(e))&&s.splice(e,1)},n.removePostRenderListener=function(e){0<=(e=s.indexOf(e))&&s.splice(e,1)};var l=null,c=null,d=null;const u=new ImageData(640,360);u.Gj=!0;let f,h,m,g,p,b,v,w,y,E,P,k,T,x,S,_,j,A,I=!1,F=null,C=null,O=null,M=null,R=null,L=null,B=null,D=null,W=null;n.Ki=[null];let U=0;function $(e){const t=n.Ki.length;return n.Ki[t]=e,t}n.preinitializedWebGLContext=n.canvas.getContext("webgl2",{alpha:!1,antialias:!0,powerPreference:"high-performance"}),n.process=function(){};let G=new class{get fj(){switch(this.type){case"Timer":return this.ej;case"RAF":return this.dj;case"Oscillator":return this.cj}}constructor(){this.cj=this.dj=this.ej=!1,this.type="RAF",this.ij=1e3/63}add(e){this.Ti=e}start(){switch(this.type){case"Timer":if(!this.ej){this.ej=!0;const e=()=>{setTimeout((()=>{this.Ti&&this.Ti(),this.ej&&e()}),this.ij)};e()}break;case"RAF":if(!this.dj){this.dj=!0;const e=t=>{requestAnimationFrame((r=>{r-t<=this.ij?this.dj&&e(t):this.Ti&&(this.Ti(),e(r))}))};e(-this.ij-10)}break;case"Oscillator":if(!this.cj){o=o||new AudioContext,this.cj=!0;const e=o.createGain();let t;e.gain.value=0,e.connect(o.destination);const r=()=>{this.Ti&&this.Ti(),t&&t.disconnect(),this.uj=t=o.createOscillator(),t.connect(e),this.cj&&(t.onended=r,t.start(),t.stop(o.currentTime+this.ij/1e3))};r()}}}stop(){switch(this.type){case"Timer":this.ej=!1;break;case"RAF":this.dj=!1;break;case"Oscillator":this.cj=!1,this.uj&&(this.uj.onended=null,this.uj=void 0)}}};function V(){for(var e of s)e();e=n.canvas.width;const t=n.canvas.height;n.canvasWidth===e&&n.canvasHeight===t||(n.canvasWidth=e,n.canvasHeight=t,qo(e,t)),n._render();for(const e of s)e();n.apiObject.__deeparRendered&&n.apiObject.__deeparRendered(Sa),n.apiObject.__deeparRendered2&&n.apiObject.__deeparRendered2(Sa)}function N(){var e=!1,t=n.Ki[0];if(t&&t.readyState===t.HAVE_ENOUGH_DATA)(function(){const e=Ma;if(!Ca||!Wa||!Ba)return!0;switch(e.clientWaitSync(Ba,0,0)){case e.TIMEOUT_EXPIRED:case e.WAIT_FAILED:return!1;case e.CONDITION_SATISFIED:case e.ALREADY_SIGNALED:return!0}})()&&(n._processFrameVideo(0,J,U),e=I=!0);else if(!I||0<Object.entries(H).length||null!=q||null!=Y){if(e=f||u,!(t=n._malloc(e.data.length)))return;ge.set(e.data,t),n._processFrameRawPixels(t,e.width,e.height,e.Gj),I=!0,n._free(t),e=!0}e&&V()}function z(){N()}n.setFps=function(e){G.ij=1e3/e},G.add(z),n.startLoop=function(){G.add(z),G.start()},n.endLoop=function(){G.Ti=void 0,G.stop()};var X=!1,K=null;n.setVideoRotation=function(e){if(0!==e&&90!==e&&180!==e&&270!==e)throw Error(`Called setVideoRotation with ${e}. Valid values are: 0, 90, 180 and 270.`);U=e},n.processFrameRawPixels=function(e,t,r,i){var a=n._malloc(e.length);a&&(ge.set(e,a),n._processFrameRawPixels(a,t,r,i),f=new ImageData(new Uint8ClampedArray(e),t,r),f.Gj=i,I=!0,G.fj||V(),n._free(a))},n.isFootTrackingInitialized=function(){return io},n.isFaceTrackingInitialized=function(){return za},n.isWristTrackingInitialized=function(){return Po},n.setReadPixelsAsync=function(e){Wa=e};let H={},q=null,Y=null;n.switchEffectByteArray=function(e,t,r,i,a,o,s,l){if(!F)throw Error("Error in internal API: __switchEffect is null!");const c=n._malloc(r.length);if(!c)throw Error("Cannot allocate buffer for switch effect.");ge.set(r,c);const d=i.length?n._malloc(i.length):0;if(i.length){if(!d)throw Error("Cannot allocate buffer for environement map.");ge.set(i,d)}const u=a.length?n._malloc(a.length):0;if(a.length){if(!u)throw Error("Cannot allocate buffer for environement map.");ge.set(a,u)}if(t in H)s(new n.customErrors.SwitchEffectCanceled(`Cannot switch effect on slot ${t} because switch effect already in progress on the same slot.`));else{H[t]={Si:o,error:s,Hj:l};try{F(t,c,r.length,e,d,i.length,u,a.length),I=!1,G.fj||N()}catch(e){throw delete H[t],e}}},n.hasVar=function(e,t){return h(e,t)},n.getVarType=function(e,t){if(m(e,t))return w(e,t);throw Error("Variable named '"+e+"' does not exist.")},n.getBoolVar=function(e,t){if(g(e,t))return y(e,t);throw Error("Variable named '"+e+"' does not exist or is not a boolean.")},n.getIntVar=function(e,t){if(p(e,t))return E(e,t);throw Error("Variable named '"+e+"' does not exist or is not an integer.")},n.getDoubleVar=function(e,t){if(b(e,t))return P(e,t);throw Error("Variable named '"+e+"' does not exist or is not a double.")},n.getStringVar=function(e,t){if(v(e,t))return k(e,t);throw Error("Variable named '"+e+"' does not exist or is not a string.")},n.setBoolVar=function(e,t,r){return T(e,t,r)},n.setIntVar=function(e,t,r){return x(e,t,r)},n.setDoubleVar=function(e,t,r){return S(e,t,r)},n.setStringVar=function(e,t,r){return _(e,t,r)},n.deleteVar=function(e,t){return j(e,t)},n.clearVars=function(e){return A(e)},n.clearEffect=function(e){H[e]&&H[e].error&&(H[e].error(new n.customErrors.SwitchEffectCanceled(`Switch effect canceled by the call to clearEffect() on the same slot: ${e}.`)),delete H[e]),C&&(C(e),G.fj||N())},n.moveGameObject=function(e,t){O&&(O(e,t),G.fj||N())};let J=!0;n.setMirror=function(e){J=!!e};let Q=!1;function Z(e){const t=[35,63,82,65,68,73,65,78,67,69,10];if(!e||e.length<t.length)return!1;for(let r=0;r<t.length;r++)if(e[r]!==t[r])return!1;return!0}n.startCamera=function(e,t,r,i,a,o){n.stopVideo(),J=!!e;let s=document.createElement("video");s.setAttribute("playsinline","playsinline"),n.Ki[0]=s,t=t||{video:!0},a&&a(),navigator.mediaDevices.getUserMedia(t).then((function(e){o&&o(),s.srcObject=e,s.onloadedmetadata=()=>{s.play().then((()=>{r&&r(),s.onloadedmetadata=null}))},Q=!0})).catch((e=>{i&&i(e),console.error(`${e.name}: ${e.message}`)}))},n.shutdown=function(){ee={},n.stopVideo(),null!=l&&l.shutdownTfjs(),s.length=0;try{Ho()}catch(e){console.error(e)}finally{n.bk()}},n.setVideoElement=function(e,t){n.stopVideo(),J=!!t,n.Ki[0]=e},n.stopVideo=function(){n.Ki[0]&&(Q&&(n.Ki[0]&&n.Ki[0].srcObject&&(n.Ki[0].srcObject.getTracks().forEach((e=>{e.stop()})),n.Ki[0].srcObject=null),Q=!1),n.Ki[0]=null)},n.getVideoElement=function(){return n.Ki[0]},n.setOffscreenRenderingEnabled=function(e){!function(e){var t=G;if(t.type!==e){var r=t.ej|t.cj|t.dj;t.stop(),t.type=e,r&&t.start()}}(e?"Oscillator":"RAF")},n.backgroundReplacement=async function(e,t,r,n,i){if(e){Y&&Y.error&&Y.error(""),Y={Si:n,error:i},t=await(await fetch(t,{mode:r})).blob();var a=new Image;a.onload=()=>{const t=document.createElement("canvas");var r=t.getContext("2d",{willReadFrequently:!0});t.width=a.width,t.height=a.height,r.drawImage(a,0,0),r=r.getImageData(0,0,t.width,t.height),r=new Uint8Array(r.data.buffer);const n=Zo(r.length);ge.set(r,n),URL.revokeObjectURL(a.src);try{R(e,n,r.length,t.width,t.height),I=!1,G.fj||N()}catch(e){throw Y=null,e}},a.src=URL.createObjectURL(t)}else R(!1,null,0,0,0),n()},n.backgroundBlur=function(e,t,r,n){if(e){q&&q.error&&q.error(""),q={Si:r,error:n};try{M(e,t),I=!1,G.fj||N()}catch(e){throw q=null,e}}else M(!1,0),r()},n.getClosestPointOnMesh=function(e,t){if(!(e=L(e,t[0],t[1],t[2])))return null;t=new Float32Array(3);for(let r=0;3>r;++r)t[r]=n.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return n._free(e),t},n.getTransformationBetween=function(e,t){if(!(e=B(e,t)))return null;t=new Float32Array(16);for(let r=0;16>r;++r)t[r]=n.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return n._free(e),t},n.setEnvironmentMap=async function(e){if(Z(e)){var t=n._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");ge.set(e,t),D(t,e.length)}else{const[t,r,n]=await Va(e);Yo(t,r,n)}},n.setDiamondEnvironmentMap=async function(e){if(Z(e)){var t=n._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");ge.set(e,t),W(t,e.length)}else{const[t,r,n]=await Va(e);Qo(t,r,n)}},n.Tj=function(e,t,r,i){if(n.apiObject.onFaceTracked){var a=[];for(let d=0;d<i;d++){let i={detected:!1,translation:[],rotation:[],poseMatrix:[],landmarks:[],landmarks2d:[],faceRect:[]};var o=t+d*r,s=o+e.translationOffset;let u=o+e.rotationOffset;var l=o+e.poseMatrixOffset,c=o+e.landmarksOffset;let f=o+e.landmarks2DOffset,h=o+e.faceRectOffset;for(i.detected=!!n.HEAP32[o/Float32Array.BYTES_PER_ELEMENT],o=0;3>o;o++)i.translation.push(n.HEAPF32[s/Float32Array.BYTES_PER_ELEMENT+o]),i.rotation.push(n.HEAPF32[u/Float32Array.BYTES_PER_ELEMENT+o]);for(s=0;16>s;s++)i.poseMatrix.push(n.HEAPF32[l/Float32Array.BYTES_PER_ELEMENT+s]);for(l=0;204>l;l++)i.landmarks.push(n.HEAPF32[c/Float32Array.BYTES_PER_ELEMENT+l]),136>l&&i.landmarks2d.push(n.HEAPF32[f/Float32Array.BYTES_PER_ELEMENT+l]);for(c=0;4>c;c++)i.faceRect.push(n.HEAPF32[h/Float32Array.BYTES_PER_ELEMENT+c]);a.push(i)}n.apiObject.onFaceTracked(a)}},n.Ak=function(){n.apiObject.onVideoStarted&&n.apiObject.onVideoStarted()},n.Yj=function(){n.apiObject.onInitialize&&n.apiObject.onInitialize()},n.Vj=function(e){n.apiObject.onFaceVisibilityChanged&&n.apiObject.onFaceVisibilityChanged(e)},n.Xj=function(e){n.apiObject.onImageVisibilityChanged&&n.apiObject.onImageVisibilityChanged(e)},n.zk=function(){n.apiObject.onCameraPermissionGranted&&n.apiObject.onCameraPermissionGranted()},n.yk=function(){n.apiObject.onCameraPermissionDenied&&n.apiObject.onCameraPermissionDenied()},n.xk=function(){n.apiObject.onCameraPermissionAsked&&n.apiObject.onCameraPermissionAsked()},n.$j=function(e,t,r){const n=document.createElement("canvas"),i=n.getContext("2d");n.width=t,n.height=r;const a=i.getImageData(0,0,n.width,n.height),o=a.data;for(let n=0;n<r;n++)for(let i=0;i<t;i++){const a=4*((r-n-1)*t+i),s=4*(n*t+i);o[s]=ge[e+a+2],o[s+1]=ge[e+a+1],o[s+2]=ge[e+a+0],o[s+3]=ge[e+a+3]}i.putImageData(a,0,0),X?(X=!1,K(n.toDataURL("image/png")),K=null):console.error("DeepAR screenshot taken but no registered callback.")},n.Nj=function(e){n.apiObject.onAnimationTransitionedToState&&n.apiObject.onAnimationTransitionedToState(e)},n.Sj=function(e,t){"Error"===e?console.error(t):"Debug"===e?console.debug(t):"Info"===e?console.info(t):"Warning"===e?console.warn(t):console.log(t)},n.Rj=function(e){H[e]&&H[e].Si&&H[e].Si(),delete H[e]},n.Pj=function(){Y&&Y.Si&&Y.Si(),Y={}},n.Oj=function(){q&&q.Si&&q.Si(),q={}},n.Zj=function(e){n.apiObject.onNumberOfFacesVisibleChanged&&n.apiObject.onNumberOfFacesVisibleChanged(e)},n.bk=function(){n.apiObject.onShutdown&&n.apiObject.onShutdown()},n.Uj=function(e,t,r){n.apiObject.onFaceTrackingInitialized&&n.apiObject.onFaceTrackingInitialized(e,t,r)},n.Bj=function(e,t,r,i){n.apiObject.onFootTrackingInitialized&&n.apiObject.onFootTrackingInitialized(e,t,r,i)},n.ak=function(){n.apiObject.onSegmentationInitialized&&n.apiObject.onSegmentationInitialized()},n.Wj=function(e,t){n.apiObject.onFeetTracked&&n.apiObject.onFeetTracked(e,t),n.leftFootData=e,n.rightFootData=t},n._getFootData=function(){return n.leftFootData&&n.rightFootData?{left:n.leftFootData,right:n.rightFootData}:null},n.Cj=function(e,t,r,i){n.apiObject.onWristTrackingInitialized&&n.apiObject.onWristTrackingInitialized(e,t,r,i)},n.ck=function(e){n.apiObject.onWristTracked&&n.apiObject.onWristTracked(e)},n.Qj=function(e,t){for(let r of Object.values(H))r.Hj&&r.Hj({loaded:e,total:t})},n._useExternalTrackingData=function(e){n.useExternalTrackingData=e},n._setExternalTrackingDataFoot=function(e,t){n.externalTrackingDataFoot={left:e,right:t}},n.noInitialRun=!0,n.initializeDeepAR=async function(){c=n.platform,d=n.draco_decoder;const e=n.initializeML&&n.initializeML.faceInit;var t=xa(),r=640/360;1>r&&(r=1/r),t=180/Math.PI*Math.atan(Math.tan(Math.PI/180*t/2)/r)*2,e&&eo(t,640,360),n.initializeML&&(n.initializeML.footInit&&bo(t,0,640,360),n.initializeML.wristInit&&Oo(t,0,640,360)),F=Ro("switchEffect",null,"string number number number number number".split(" ")),C=Ro("clearEffect",null,["string"]),O=Ro("moveGameObject",null,["string","string"]),M=Ro("backgroundBlur",null,["boolean","number"]),R=Ro("backgroundReplacement",null,["boolean","number","number","number","number"]),L=Ro("getClosestPointOnMesh",null,["string","number","number","number"]),B=Ro("getTransformationBetween",null,["string","string"]),D=Ro("setEnvironmentMap",null,["number","number"]),W=Ro("setDiamondEnvironmentMap",null,["number","number"]),h=Ro("hasVar","boolean",["string","string"]),m=Ro("getVarTypeStatus","boolean",["string","string"]),g=Ro("getBoolVarStatus","boolean",["string","string"]),p=Ro("getIntVarStatus","boolean",["string","string"]),b=Ro("getDoubleVarStatus","boolean",["string","string"]),v=Ro("getStringVarStatus","boolean",["string","string"]),w=Ro("getVarType","int",["string","string"]),y=Ro("getBoolVar","boolean",["string","string"]),E=Ro("getIntVar","int",["string","string"]),P=Ro("getDoubleVar","number",["string","string"]),k=Ro("getStringVar","string",["string","string"]),T=Ro("setBoolVar","boolean",["string","boolean","string"]),x=Ro("setIntVar","boolean",["string","int","string"]),S=Ro("setDoubleVar","boolean",["string","number","string"]),_=Ro("setStringVar","boolean",["string","string","string"]),j=Ro("deleteVar","boolean",["string","string"]),A=Ro("clearVars","boolean",["string"]),n.pushConsoleLog=Ro("pushConsoleLog","boolean",["string","int"]),n.changeParameterFloat=Ro("changeParameterFloat",null,["string","string","string","number"]),n.changeParameterVector=Ro("changeParameterVector",null,"string string string number number number number".split(" ")),n.changeParameterBool=Ro("changeParameterBool",null,["string","string","string","boolean"]),n.changeParameterTexture=Ro("changeParameterTexture",null,"string string string number number number number".split(" ")),n.fireTrigger=Ro("fireTrigger",null,["string"]),n.setFaceDetectionSensitivity=Ro("setFaceDetectionSensitivity",null,["number"]),n.showStats=Ro("showStats",null,["number"]),n.simulatePhysics=Ro("simulatePhysics",null,["number"]),n.showColliders=Ro("showColliders",null,["number"]),n.setLicenseKey=Ro("setLicenseKey",null,["string"]),n.muteSound=Ro("muteSound",null,["boolean"]),n.setExposure=Ro("setExposure",null,["number"]),n.setEnvironmentMapIntensity=Ro("setEnvironmentMapIntensity",null,["number"]),n.setToneMapping=Ro("setToneMapping",null,["number"]),n.resetEnvironmentMap=Ro("resetEnvironmentMap",null,[]),n.resetToneMapping=Ro("resetToneMapping",null,[]),n.resetEnvironmentMapIntensity=Ro("resetEnvironmentMapIntensity",null,[]),n.resetExposure=Ro("resetExposure",null,[]),n.setBloomEnabled=Ro("setBloomEnabled",null,["boolean"]),n.setBloomThreshold=Ro("setBloomThreshold",null,["number"]),n.setBloomStrength=Ro("setBloomStrength",null,["number"]),n.setBloomRadius=Ro("setBloomRadius",null,["number"]),n.split_sum=await createImageBitmap(new Blob([await n.split_sum]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}),n.initialize(n.canvasWidth,n.canvasHeight,!0,!1,e,!0,!0,!1,n.onVerify)};let ee={};function te(e,t,r){ee[e]={path:t,bj:!1,data:null,aj:!1,Xi:[],Ej:r,Jj:function(r){if(r&&this.Xi.push(r),this.data)this.Xi.forEach((e=>{e.Si(this.data)})),0!==this.Xi.length&&(this.data=null,this.aj=this.bj=!1,this.Xi=[]);else if(!this.bj){this.aj&&this.Xi.forEach((e=>{e.error()})),this.path||(console.error(`The ${e} model was requested but the path to it is not defined.`),this.aj=!0,this.Xi.forEach((e=>{e.error()}))),this.bj=!0;var i=r=>{this.data=r,this.bj=!1,this.aj=!0,async function(e){return e=await crypto.subtle.digest("SHA-256",e),Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,"0"))).join("")}(r).then((r=>{this.Ej.some((e=>e===r))||console.error(`The loaded ${e} model (${t}) does not pass the validity check. DeepAR may not function as expected or it might crash. Expected digests: ${this.Ej} but got this digest ${r}.`)})),this.Xi.forEach((e=>{e.Si(r)}))},a=t=>{console.error(t),console.error(`Error downloading the ${e} model (${this.path}), could not resolve the array buffer`),this.Xi.forEach((e=>{e.error()}))};null!=n.globalProgress&&n.globalProgress.isUrlTracked(t)?n.globalProgress.getFilePromises(t).then((e=>{i(e)})).catch((()=>{a()})):fetch(this.path).then((t=>{t.ok?t.arrayBuffer().then((e=>{i(e)})).catch((e=>{a(e)})):(this.bj=!1,this.aj=!0,console.error(`Error downloading the ${e} model (${this.path}), response status = ${t.status}. Effects using ${e} will not work properly or at all.`),this.Xi.forEach((e=>{e.error()})))}))}},jk:function(){return this.data?this.data:this.aj||this.bj?null:void this.Jj()},Fj:function(){this.data=null,this.aj=this.bj=!1},oj:async function(){return new Promise(((e,t)=>{this.Jj({Si:e,error:t})}))}}}function re(e,t){te(`${e}-tfjsBackendWasmPath`,t.tfjsBackendWasmPath,["fe0951aee7c0feb369aa12a65a24b871da9386fb55b40b918c2a59b24e09be83"]),te(`${e}-tfjsBackendWasmSimdPath`,t.tfjsBackendWasmSimdPath,["3402e2b8668afb320151b4aae8080ad2136875f424aa95c95e3a4bc87d09097e"]),te(`${e}-tfjsBackendWasmThreadedPath`,t.tfjsBackendWasmThreadedPath,["118f499abf412a285905483c91db693296c0b112cfaab04128bf54f61c141ce9"])}function ne(e){if(!ee[e])throw Error(`No ML model with name ${e}.`);return ee[e].jk()}function ie(e){if(!ee[e])throw Error(`No ML model with name ${e}.`);return ee[e].oj()}async function ae(e){const t={tfjsBackendWasmPath:"",tfjsBackendWasmSimdPath:"",tfjsBackendWasmThreadedPath:""};return n.WASM_HAS_SIMD_SUPPORT&&n.WASM_HAS_MULTITHREAD_SUPPORT?t.tfjsBackendWasmThreadedPath=await ee[`${e}-tfjsBackendWasmThreadedPath`].oj():n.WASM_HAS_SIMD_SUPPORT?t.tfjsBackendWasmSimdPath=await ee[`${e}-tfjsBackendWasmSimdPath`].oj():t.tfjsBackendWasmPath=await ee[`${e}-tfjsBackendWasmPath`].oj(),t}te("rigidFaceDetector",n.rigidFaceTrackingConfig.detectorPath,["8270514ae788bc6ee67db086c9400581d17a78c18de38c878f1148dcc3a8e480"]),te("rigidFaceTracker",n.rigidFaceTrackingConfig.trackerPath,["9ab8c04aa4294ff23c66798a4a442fd9dbef4a8f61ea6e1530e51445846b5605"]),te("rigidFacePEW",n.rigidFaceTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),re("rigidFaceDetector",n.rigidFaceTrackingConfig),te("footDetector",n.footTrackingConfig.detectorPath,["6d0f65c977509cf5d93f65a3b26539ab29ec540322476f0b7adac9ee289db4bd"]),te("footTracker",n.footTrackingConfig.trackerPath,["297c230e346d4e9e7ac1f78e9e87f4e85754338547061501eee2542e334ca7be","c72af568553b85b1f20d61fd07ba5db46a0db2b5261472099310bbc51afa967f","e5180848c0d88fe6ab483b22a4490e9db80408d2887cd165cecd5e7f2efd8555"]),te("footObj",n.footTrackingConfig.objPath,["3b903682a513f5d96cabb8135ead157240141f0f0d5c833a77e7de91a87a2bca"]),te("footPEW",n.footTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),re("footDetector",n.footTrackingConfig),te("wristDetector",n.wristTrackingConfig.detectorPath,["b4c14a6f4b7bed1bc1cb313bbad5e877c7958c25b8e47d12583404f9a611d7ff"]),te("wristTracker",n.wristTrackingConfig.trackerPath,["8bbbc4398f33db43ef32f1615d6d11322e8dc5d1f800cb8da4a0580d6267dba0","cbb7a12bd06b28a809c914700c8cd64530a9d08d4d82f6d9c758dfc022264a6d"]),te("wristObj",n.wristTrackingConfig.objPath,["5c763303cac33e377bbfbc3bd13475c0b99ca6412f9774ecc7a65fe72ac01732"]),te("wristPEW",n.wristTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),re("wristDetector",n.wristTrackingConfig),te("default_envmap.webp",n.defaultEnvmapPath,["f822e455a5d5a3c1d5c91d9c22d3d1b511f645062fa2e4c8755d698af02b9b80"]);var oe,se=Object.assign({},n),le="";"undefined"!=typeof document&&document.currentScript&&(le=document.currentScript.src),i&&(le=i),le=le.startsWith("blob:")?"":le.substr(0,le.replace(/[?#].*/,"").lastIndexOf("/")+1),oe=e=>fetch(e,{credentials:"same-origin"}).then((e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))));var ce,de=console.log.bind(console),ue=console.error.bind(console);Object.assign(n,se),se=null,n.wasmBinary&&(ce=n.wasmBinary);var fe,he,me,ge,pe,be,ve,we,ye,Ee,Pe=!1;function ke(){var e=fe.buffer;n.HEAP8=me=new Int8Array(e),n.HEAP16=pe=new Int16Array(e),n.HEAPU8=ge=new Uint8Array(e),n.HEAPU16=be=new Uint16Array(e),n.HEAP32=ve=new Int32Array(e),n.HEAPU32=we=new Uint32Array(e),n.HEAPF32=ye=new Float32Array(e),n.HEAPF64=Ee=new Float64Array(e)}var Te=[],xe=[],Se=[],_e=[],je=!1,Ae=!1,Ie=0,Fe=null,Ce=null;function Oe(e){throw n.onAbort?.(e),ue(e="Aborted("+e+")"),Pe=!0,he=1,e+=". Build with -sASSERTIONS for more info.",je&&os(),e=new WebAssembly.RuntimeError(e),r(e),e}var Me,Re=e=>e.startsWith("data:application/octet-stream;base64,");function Le(e){if(e==Me&&ce)return new Uint8Array(ce);throw"both async and sync fetching of the wasm failed"}function Be(e,t,r){return function(e){return ce?Promise.resolve().then((()=>Le(e))):oe(e).then((e=>new Uint8Array(e)),(()=>Le(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then(r,(e=>{ue(`failed to asynchronously prepare wasm: ${e}`),Oe(e)}))}var De={96916:(e,t,r,n,i,a)=>{var o=document.createElement("canvas"),s=o.getContext("2d");o.width=t,o.height=r,e=new Uint8ClampedArray(ge.subarray(e,e+o.width*o.height*4)),e=new ImageData(e,o.width,o.height),s.putImageData(e,0,0),e=(s=document.createElement("canvas")).getContext("2d"),s.width=i,s.height=a,e.drawImage(o,0,0,s.width,s.height),i=e.getImageData(0,0,s.width,s.height),i=new Uint8Array(i.data.buffer),ge.set(i,n)},97770:(e,t,r,n,i,a)=>{var o=document.createElement("canvas"),s=o.getContext("2d");o.width=t,o.height=r,e=new Uint8ClampedArray(ge.subarray(e,e+o.width*o.height*4)),e=new ImageData(e,o.width,o.height),s.putImageData(e,0,0),e=(s=document.createElement("canvas")).getContext("2d"),s.width=i,s.height=a,e.drawImage(o,0,0,s.width,s.height),i=e.getImageData(0,0,s.width,s.height),i=new Uint8Array(i.data.buffer),ge.set(i,n)},98624:()=>{var e=window.navigator.userAgent||"no user agent",t=Zo(32);for(let r=0;32>r;++r)ge[t+r]=e.charCodeAt(r%e.length);return t},98862:()=>{var e=window.location.hostname||"no hostname",t=Zo(32);for(let r=0;32>r;++r)ge[t+r]=e.charCodeAt(r%e.length);return t},99096:()=>{console.error("License key not valid")},99135:()=>{n.Yj()},99159:(e,t,r)=>{n.$j(e,t,r)},99202:e=>{n.Zj(e)},99249:e=>{n.Rj(e?ze(ge,e):"")},99293:(e,t,r,i,a,o,s,l,c)=>{n.Tj({translationOffset:e,rotationOffset:t,poseMatrixOffset:r,landmarksOffset:i,landmarks2DOffset:a,faceRectOffset:o},s,l,c)},99477:(e,t)=>{n.Sj(e?ze(ge,e):"",t?ze(ge,t):"")},99534:()=>{n.Oj()},99572:()=>{n.Pj()},99617:(e,t,r,i)=>{n.Bj(e,t,r,i)},99672:(e,t,r,i)=>{n.Cj(e,t,r,i)},99728:(e,t,r,i)=>{function a(e,t){return{detected:e,scale:[ye[t>>=2],ye[t+1],ye[t+2]],rotation:[ye[t+3],ye[t+4],ye[t+5],ye[t+6]],position:[ye[t+7],ye[t+8],ye[t+9]]}}e=a(e,t),r=a(r,i),n.Wj(e,r)},100185:(e,t)=>{n.ck({detected:!!e,isLeft:!!t})},100250:()=>{n.ak()},100291:e=>{n.Vj(!!e)},100332:e=>{n.Xj(!!e)},100376:(e,t)=>{e=e?ze(ge,e,t):"",n.Nj(e)},100457:()=>{alert("DeepAR license not valid")},100491:()=>{n.endLoop()},100512:()=>{let e=ne("face");if(!e)return 0;e=new Uint8Array(e);var t=Zo(e.length);return ge.set(e,t),ee.face.Fj(),t},100755:()=>{let e=ne("default_envmap.webp");if(!e)return 0;e=new Uint8Array(e);var t=Zo(e.length);return ge.set(e,t),t},100965:()=>{let e=ne("default_envmap.webp").byteLength;return ee["default_envmap.webp"].Fj(),e},101074:()=>n.useExternalTrackingData,101120:(e,t)=>{n.Qj(e,t)}};function We(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var Ue,$e,Ge,Ve=e=>{for(;0<e.length;)e.shift()(n)},Ne="undefined"!=typeof TextDecoder?new TextDecoder:void 0,ze=(e,t,r)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&Ne)return Ne.decode(e.subarray(t,r));for(n="";t<r;){var i=e[t++];if(128&i){var a=63&e[t++];if(192==(224&i))n+=String.fromCharCode((31&i)<<6|a);else{var o=63&e[t++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&e[t++])?n+=String.fromCharCode(i):(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else n+=String.fromCharCode(i)}return n},Xe=(e,t)=>e?ze(ge,e,t):"",Ke=e=>{for(var t="";ge[e];)t+=Ue[ge[e++]];return t},He={},qe={},Ye={},Je=e=>{throw new $e(e)},Qe=(e,t,r)=>{function n(t){if((t=r(t)).length!==e.length)throw new Ge("Mismatched type converter count");for(var n=0;n<e.length;++n)Ze(e[n],t[n])}e.forEach((function(e){Ye[e]=t}));var i=Array(t.length),a=[],o=0;t.forEach(((e,t)=>{qe.hasOwnProperty(e)?i[t]=qe[e]:(a.push(e),He.hasOwnProperty(e)||(He[e]=[]),He[e].push((()=>{i[t]=qe[e],++o===a.length&&n(i)})))})),0===a.length&&n(i)};function Ze(e,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t,r={}){var n=t.name;if(!e)throw new $e(`type "${n}" must have a positive integer typeid pointer`);if(qe.hasOwnProperty(e)){if(r.mk)return;throw new $e(`Cannot register type '${n}' twice`)}qe[e]=t,delete Ye[e],He.hasOwnProperty(e)&&(t=He[e],delete He[e],t.forEach((e=>e())))}(e,t,r)}var et,tt=e=>{throw new $e(e.Ii.Mi.Ji.name+" instance already deleted")},rt=!1,nt=()=>{},it=(e,t,r)=>t===r?e:void 0===r.Pi||null===(e=it(e,t,r.Pi))?null:r.gk(e),at={},ot=[],st=()=>{for(;ot.length;){var e=ot.pop();e.Ii.gj=!1,e.delete()}},lt={},ct=(e,t)=>{if(!t.Mi||!t.Li)throw new Ge("makeClassHandle requires ptr and ptrType");if(!!t.Qi!=!!t.Ni)throw new Ge("Both smartPtrType and smartPtr must be specified");return t.count={value:1},dt(Object.create(e,{Ii:{value:t,writable:!0}}))},dt=e=>"undefined"==typeof FinalizationRegistry?(dt=e=>e,e):(rt=new FinalizationRegistry((e=>{--(e=e.Ii).count.value,0===e.count.value&&(e.Ni?e.Qi.Zi(e.Ni):e.Mi.Ji.Zi(e.Li))})),nt=e=>{rt.unregister(e)},(dt=e=>{var t=e.Ii;return t.Ni&&rt.register(e,{Ii:t},e),e})(e));function ut(){}var ft=(e,t)=>Object.defineProperty(t,"name",{value:e}),ht=(e,t,r)=>{if(void 0===e[t].Oi){var n=e[t];e[t]=function(...n){if(!e[t].Oi.hasOwnProperty(n.length))throw new $e(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].Oi})!`);return e[t].Oi[n.length].apply(this,n)},e[t].Oi=[],e[t].Oi[n.nj]=n}},mt=(e,t,r)=>{if(n.hasOwnProperty(e)){if(void 0===r||void 0!==n[e].Oi&&void 0!==n[e].Oi[r])throw new $e(`Cannot register public name '${e}' twice`);if(ht(n,e,e),n.hasOwnProperty(r))throw new $e(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);n[e].Oi[r]=t}else n[e]=t,void 0!==r&&(n[e].Jk=r)};function gt(e,t,r,n,i,a,o,s){this.name=e,this.constructor=t,this.hj=r,this.Zi=n,this.Pi=i,this.ik=a,this.lj=o,this.gk=s,this.rk=[]}var pt=(e,t,r)=>{for(;t!==r;){if(!t.lj)throw new $e(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.lj(e),t=t.Pi}return e};function bt(e,t){if(null===t){if(this.wj)throw new $e(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new $e(`Cannot pass "${$t(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new $e(`Cannot pass deleted object as a pointer of type ${this.name}`);return pt(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function vt(e,t){if(null===t){if(this.wj)throw new $e(`null is not a valid ${this.name}`);if(this.qj){var r=this.sk();return null!==e&&e.push(this.Zi,r),r}return 0}if(!t||!t.Ii)throw new $e(`Cannot pass "${$t(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new $e(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.pj&&t.Ii.Mi.pj)throw new $e(`Cannot convert argument of type ${t.Ii.Qi?t.Ii.Qi.name:t.Ii.Mi.name} to parameter type ${this.name}`);if(r=pt(t.Ii.Li,t.Ii.Mi.Ji,this.Ji),this.qj){if(void 0===t.Ii.Ni)throw new $e("Passing raw pointer to smart pointer is illegal");switch(this.uk){case 0:if(t.Ii.Qi!==this)throw new $e(`Cannot convert argument of type ${t.Ii.Qi?t.Ii.Qi.name:t.Ii.Mi.name} to parameter type ${this.name}`);r=t.Ii.Ni;break;case 1:r=t.Ii.Ni;break;case 2:if(t.Ii.Qi===this)r=t.Ii.Ni;else{var n=t.clone();r=this.tk(r,Wt((()=>n.delete()))),null!==e&&e.push(this.Zi,r)}break;default:throw new $e("Unsupporting sharing policy")}}return r}function wt(e,t){if(null===t){if(this.wj)throw new $e(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new $e(`Cannot pass "${$t(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new $e(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.Ii.Mi.pj)throw new $e(`Cannot convert argument of type ${t.Ii.Mi.name} to parameter type ${this.name}`);return pt(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function yt(e){return this.fromWireType(we[e>>2])}function Et(e,t,r,n,i,a,o,s,l,c,d){this.name=e,this.Ji=t,this.wj=r,this.pj=n,this.qj=i,this.qk=a,this.uk=o,this.Ij=s,this.sk=l,this.tk=c,this.Zi=d,i||void 0!==t.Pi?this.toWireType=vt:(this.toWireType=n?bt:wt,this.Vi=null)}var Pt,kt,Tt=(e,t,r)=>{if(!n.hasOwnProperty(e))throw new Ge("Replacing nonexistent public symbol");void 0!==n[e].Oi&&void 0!==r?n[e].Oi[r]=t:(n[e]=t,n[e].nj=r)},xt=(e,t)=>{var r=(e=Ke(e)).includes("j")?((e,t)=>(...r)=>((e,t,r=[])=>(e.includes("j")?(e=e.replace(/p/g,"i"),t=(0,n["dynCall_"+e])(t,...r)):t=Pt.get(t)(...r),t))(e,t,r))(e,t):Pt.get(t);if("function"!=typeof r)throw new $e(`unknown function pointer with signature ${e}: ${t}`);return r},St=e=>{e=Xo(e);var t=Ke(e);return Ko(e),t},_t=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||qe[t]||(Ye[t]?Ye[t].forEach(e):(r.push(t),n[t]=!0))})),new kt(`${e}: `+r.map(St).join([", "]))},jt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(we[t+4*n>>2]);return r},At=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function It(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].Vi)return!0;return!1}function Ft(e){var t=Function;if(!(t instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof t} which is not a function`);var r=ft(t.name||"unknownFunctionName",(function(){}));return r.prototype=t.prototype,r=new r,(e=t.apply(r,e))instanceof Object?e:r}function Ct(e,t,r,n,i,a){var o=t.length;if(2>o)throw new $e("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==r,l=It(t);for(r="void"!==t[0].name,n=[e,Je,n,i,At,t[0],t[1]],i=0;i<o-2;++i)n.push(t[i+2]);if(!l)for(i=s?1:2;i<t.length;++i)null!==t[i].Vi&&n.push(t[i].Vi);l=It(t),i=t.length;var c="",d="";for(o=0;o<i-2;++o)c+=(0!==o?", ":"")+"arg"+o,d+=(0!==o?", ":"")+"arg"+o+"Wired";c=`\n return function (${c}) {\n if (arguments.length !== ${i-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${i-2}');\n }`,l&&(c+="var destructors = [];\n");var u=l?"destructors":"null",f="humanName throwBindingError invoker fn runDestructors retType classParam".split(" ");for(s&&(c+="var thisWired = classParam['toWireType']("+u+", this);\n"),o=0;o<i-2;++o)c+="var arg"+o+"Wired = argType"+o+"['toWireType']("+u+", arg"+o+");\n",f.push("argType"+o);if(s&&(d="thisWired"+(0<d.length?", ":"")+d),c+=(r||a?"var rv = ":"")+"invoker(fn"+(0<d.length?", ":"")+d+");\n",l)c+="runDestructors(destructors);\n";else for(o=s?1:2;o<t.length;++o)a=1===o?"thisWired":"arg"+(o-2)+"Wired",null!==t[o].Vi&&(c+=`${a}_dtor(${a});\n`,f.push(`${a}_dtor`));r&&(c+="var ret = retType['fromWireType'](rv);\nreturn ret;\n");let[h,m]=[f,c+"}\n"];return h.push(m),t=Ft(h)(...n),ft(e,t)}var Ot,Mt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Rt=[],Lt=[],Bt=e=>{9<e&&0==--Lt[e+1]&&(Lt[e]=void 0,Rt.push(e))},Dt=e=>{if(!e)throw new $e("Cannot use deleted val. handle = "+e);return Lt[e]},Wt=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const t=Rt.pop()||Lt.length;return Lt[t]=e,Lt[t+1]=1,t}},Ut={name:"emscripten::val",fromWireType:e=>{var t=Dt(e);return Bt(e),t},toWireType:(e,t)=>Wt(t),argPackAdvance:8,readValueFromPointer:yt,Vi:null},$t=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Gt=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(ye[e>>2])};case 8:return function(e){return this.fromWireType(Ee[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Vt=(e,t,r)=>{switch(t){case 1:return r?e=>me[e]:e=>ge[e];case 2:return r?e=>pe[e>>1]:e=>be[e>>1];case 4:return r?e=>ve[e>>2]:e=>we[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Nt=(e,t,r,n)=>{if(!(0<n))return 0;var i=r;n=r+n-1;for(var a=0;a<e.length;++a){var o=e.charCodeAt(a);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-i},zt=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},Xt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Kt=(e,t)=>{for(var r=e>>1,n=r+t/2;!(r>=n)&&be[r];)++r;if(32<(r<<=1)-e&&Xt)return Xt.decode(ge.subarray(e,r));for(r="",n=0;!(n>=t/2);++n){var i=pe[e+2*n>>1];if(0==i)break;r+=String.fromCharCode(i)}return r},Ht=(e,t,r)=>{if(r??=2147483647,2>r)return 0;var n=t;r=(r-=2)<2*e.length?r/2:e.length;for(var i=0;i<r;++i)pe[t>>1]=e.charCodeAt(i),t+=2;return pe[t>>1]=0,t-n},qt=e=>2*e.length,Yt=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=ve[e+4*r>>2];if(0==i)break;++r,65536<=i?(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i)):n+=String.fromCharCode(i)}return n},Jt=(e,t,r)=>{if(r??=2147483647,4>r)return 0;var n=t;r=n+r-4;for(var i=0;i<e.length;++i){var a=e.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),ve[t>>2]=a,(t+=4)+4>r)break}return ve[t>>2]=0,t-n},Qt=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);55296<=n&&57343>=n&&++r,t+=4}return t},Zt=(e,t)=>{var r=qe[e];if(void 0===r)throw e=`${t} has unknown type ${St(e)}`,new $e(e);return r},er=(e,t,r)=>{var n=[];return e=e.toWireType(n,r),n.length&&(we[t>>2]=Wt(n)),e},tr=[],rr={},nr=e=>{var t=rr[e];return void 0===t?Ke(e):t},ir=0,ar=(e,t)=>{if(pr=e,br=t,gr)if(fr||(ir+=1,fr=!0),0==e)hr=function(){var e=0|Math.max(0,or+t-Ot());setTimeout(sr,e)};else if(1==e)hr=function(){jr(sr)};else if(2==e){if(void 0===Or)if("undefined"==typeof setImmediate){var r=[];addEventListener("message",(e=>{"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),r.shift()())}),!0),Or=function(e){r.push(e),postMessage("setimmediate","*")}}else Or=setImmediate;hr=function(){Or(sr)}}};Ot=()=>performance.now();var or,sr,lr,cr=e=>{if(!(e instanceof We||"unwind"==e))throw e},dr=()=>{if(!(Ae||0<ir))try{var e=he;throw he=e,0<ir||(is(),Ve(Se),Ta(),Ae=!0),he=e,0<ir||(Pe=!0),new We(e)}catch(e){cr(e)}},ur=()=>{ur.yj||(ur.yj={}),ur.yj['Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.']||(ur.yj['Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.']=1,ue('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'))},fr=!1,hr=null,mr=0,gr=null,pr=0,br=0,vr=0,wr=[],yr=!1,Er=!1,Pr=[],kr=!1,Tr=void 0,xr=void 0;function Sr(){return!!yr&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0)}var _r=0;function jr(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===_r)_r=t+1e3/60;else for(;t+2>=_r;)_r+=1e3/60;setTimeout(e,Math.max(_r-t,0))}}var Ar=[];function Ir(){var e=n.canvas;Ar.forEach((t=>t(e.width,e.height)))}function Fr(e,t,r){Cr(n.canvas,e,t),r||Ir()}function Cr(e,t,r){t&&r?(e.wk=t,e.lk=r):(t=e.wk,r=e.lk);var i=t,a=r;if(n.forcedAspectRatio&&0<n.forcedAspectRatio&&(i/a<n.forcedAspectRatio?i=Math.round(a*n.forcedAspectRatio):a=Math.round(i/n.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var o=Math.min(screen.width/i,screen.height/a);i=Math.round(i*o),a=Math.round(a*o)}xr?(e.width!=i&&(e.width=i),e.height!=a&&(e.height=a),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(i!=t||a!=r?(e.style.setProperty("width",i+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}var Or,Mr,Rr,Lr,Br,Dr=!1,Wr=0,Ur=0,$r=0,Gr={alpha:!1,depth:!1,stencil:!1,antialias:!1},Vr={},Nr=e=>{var t="EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw".split(" ");return(e.getSupportedExtensions()||[]).filter((e=>t.includes(e)))},zr=1,Xr=[],Kr=[],Hr=[],qr=[],Yr=[],Jr=[],Qr=[],Zr=[],en=[],tn=[],rn=[],nn=[],an={},on={},sn=4,ln=0,cn=e=>{for(var t=zr++,r=e.length;r<t;r++)e[r]=null;return t},dn=(e,t,r,n)=>{for(var i=0;i<e;i++){var a=Do[r](),o=a&&cn(n);a?(a.name=o,n[o]=a):Lr||=1282,ve[t+4*i>>2]=o}},un=(e,t)=>{if(n.preinitializedWebGLContext){var r=n.preinitializedWebGLContext;t.xj=Number(r.getParameter(r.VERSION).match(/^WebGL (\d+).\d+/)[1])}else e.Ti||(e.Ti=e.getContext,e.getContext=function(t,r){return"webgl"==t==(r=e.Ti(t,r))instanceof WebGLRenderingContext?r:null}),r=e.getContext("webgl2",t);return r?fn(r,t):0},fn=(e,t)=>{var r=cn(Zr),n={handle:r,attributes:t,version:t.xj,Wi:e};return e.canvas&&(e.canvas.Mj=n),Zr[r]=n,(void 0===t.hk||t.hk)&&mn(n),r},hn=e=>{Br=Zr[e],n.Yi=Do=Br?.Wi},mn=e=>{if(e||=Br,!e.nk){e.nk=!0;var t=e.Wi;t.Dk=t.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),t.Gk=t.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"),2<=e.version&&(t.Ri=t.getExtension("EXT_disjoint_timer_query_webgl2")),(2>e.version||!t.Ri)&&(t.Ri=t.getExtension("EXT_disjoint_timer_query")),t.Ik=t.getExtension("WEBGL_multi_draw"),Nr(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}},gn={},pn=e=>{var t=zt(e)+1,r=Zo(t);return r&&Nt(e,ge,r,t),r},bn=[],vn=(e,t)=>{bn.length=0;for(var r;r=ge[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,bn.push(112==r?we[t>>2]:105==r?ve[t>>2]:Ee[t>>3]),t+=n?8:4}return bn},wn=e=>Do.activeTexture(e),yn=(e,t)=>{Do.attachShader(Kr[e],Jr[t])},En=(e,t)=>{35051==e?Do.vj=t:35052==e&&(Do.Ui=t),Do.bindBuffer(e,Xr[t])},Pn=(e,t)=>{Do.bindFramebuffer(e,Hr[t])},kn=(e,t)=>{Do.bindRenderbuffer(e,qr[t])},Tn=(e,t)=>{Do.bindTexture(e,Yr[t])},xn=e=>{Do.bindVertexArray(Qr[e])},Sn=(e,t,r,n)=>Do.blendColor(e,t,r,n),_n=(e,t)=>Do.blendEquationSeparate(e,t),jn=(e,t,r,n)=>Do.blendFuncSeparate(e,t,r,n),An=(e,t,r,n)=>{r&&t?Do.bufferData(e,ge,n,r,t):Do.bufferData(e,t,n)},In=(e,t,r,n)=>{r&&Do.bufferSubData(e,t,ge,n,r)},Fn=e=>Do.checkFramebufferStatus(e),Cn=e=>Do.clear(e),On=(e,t,r,n)=>Do.clearColor(e,t,r,n),Mn=e=>Do.clearDepth(e),Rn=e=>Do.clearStencil(e),Ln=(e,t,r,n)=>{Do.colorMask(!!e,!!t,!!r,!!n)},Bn=e=>{Do.compileShader(Jr[e])},Dn=(e,t,r,n,i,a,o,s)=>{Do.Ui||!o?Do.compressedTexImage2D(e,t,r,n,i,a,o,s):Do.compressedTexImage2D(e,t,r,n,i,a,ge,s,o)},Wn=(e,t,r,n,i,a,o,s,l)=>{Do.Ui||!s?Do.compressedTexSubImage2D(e,t,r,n,i,a,o,s,l):Do.compressedTexSubImage2D(e,t,r,n,i,a,o,ge,l,s)},Un=(e,t,r,n,i,a,o,s)=>Do.copyTexSubImage2D(e,t,r,n,i,a,o,s),$n=()=>{var e=cn(Kr),t=Do.createProgram();return t.name=e,t.tj=t.rj=t.sj=0,t.zj=1,Kr[e]=t,e},Gn=e=>{var t=cn(Jr);return Jr[t]=Do.createShader(e),t},Vn=e=>Do.cullFace(e),Nn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=Xr[n];i&&(Do.deleteBuffer(i),i.name=0,Xr[n]=null,n==Do.vj&&(Do.vj=0),n==Do.Ui&&(Do.Ui=0))}},zn=(e,t)=>{for(var r=0;r<e;++r){var n=ve[t+4*r>>2],i=Hr[n];i&&(Do.deleteFramebuffer(i),i.name=0,Hr[n]=null)}},Xn=e=>{if(e){var t=Kr[e];t?(Do.deleteProgram(t),t.name=0,Kr[e]=null):Lr||=1281}},Kn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=qr[n];i&&(Do.deleteRenderbuffer(i),i.name=0,qr[n]=null)}},Hn=e=>{if(e){var t=Jr[e];t?(Do.deleteShader(t),Jr[e]=null):Lr||=1281}},qn=e=>{if(e){var t=nn[e];t?(Do.deleteSync(t),t.name=0,nn[e]=null):Lr||=1281}},Yn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=Yr[n];i&&(Do.deleteTexture(i),i.name=0,Yr[n]=null)}},Jn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2];Do.deleteVertexArray(Qr[n]),Qr[n]=null}},Qn=e=>Do.depthFunc(e),Zn=e=>{Do.depthMask(!!e)},ei=(e,t)=>{Do.detachShader(Kr[e],Jr[t])},ti=e=>Do.disable(e),ri=e=>{Do.disableVertexAttribArray(e)},ni=(e,t,r)=>{Do.drawArrays(e,t,r)},ii=(e,t,r,n)=>{Do.drawArraysInstanced(e,t,r,n)},ai=[],oi=(e,t)=>{for(var r=ai[e],n=0;n<e;n++)r[n]=ve[t+4*n>>2];Do.drawBuffers(r)},si=(e,t,r,n)=>{Do.drawElements(e,t,r,n)},li=(e,t,r,n,i)=>{Do.drawElementsInstanced(e,t,r,n,i)},ci=e=>Do.enable(e),di=e=>{Do.enableVertexAttribArray(e)},ui=()=>Do.flush(),fi=(e,t,r,n)=>{Do.framebufferRenderbuffer(e,t,r,qr[n])},hi=(e,t,r,n,i)=>{Do.framebufferTexture2D(e,t,r,Yr[n],i)},mi=(e,t)=>{dn(e,t,"createBuffer",Xr)},gi=(e,t)=>{dn(e,t,"createFramebuffer",Hr)},pi=(e,t)=>{dn(e,t,"createRenderbuffer",qr)},bi=(e,t)=>{dn(e,t,"createTexture",Yr)},vi=(e,t)=>{dn(e,t,"createVertexArray",Qr)},wi=e=>Do.generateMipmap(e),yi=(e,t,r,n,i,a,o,s)=>{t=Kr[t],(e=Do[e](t,r))&&(n=s&&Nt(e.name,ge,s,n),i&&(ve[i>>2]=n),a&&(ve[a>>2]=e.size),o&&(ve[o>>2]=e.type))},Ei=(e,t,r,n,i,a,o)=>{yi("getActiveAttrib",e,t,r,n,i,a,o)},Pi=(e,t,r,n,i,a,o)=>{yi("getActiveUniform",e,t,r,n,i,a,o)},ki=(e,t)=>Do.getAttribLocation(Kr[e],t?ze(ge,t):""),Ti=(e,t)=>{we[e>>2]=t,we[e+4>>2]=(t-we[e>>2])/4294967296};function xi(){var e=Nr(Do);return e.concat(e.map((e=>"GL_"+e)))}var Si=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&(Lr||=1280));case 34814:case 36345:n=0;break;case 34466:var i=Do.getParameter(34467);n=i?i.length:0;break;case 33309:if(2>Br.version)return void(Lr||=1282);n=xi().length;break;case 33307:case 33308:if(2>Br.version)return void(Lr||=1280);n=33307==e?3:0}if(void 0===n)switch(i=Do.getParameter(e),typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void(Lr||=1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void(Lr||=1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(e=0;e<i.length;++e)switch(r){case 0:ve[t+4*e>>2]=i[e];break;case 2:ye[t+4*e>>2]=i[e];break;case 4:me[t+e]=i[e]?1:0}return}try{n=0|i.name}catch(t){return Lr||=1280,void ue(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return Lr||=1280,void ue(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${i} of type ${typeof i}!`)}switch(r){case 1:Ti(t,n);break;case 0:ve[t>>2]=n;break;case 2:ye[t>>2]=n;break;case 4:me[t]=n?1:0}}else Lr||=1281},_i=()=>{var e=Do.getError()||Lr;return Lr=0,e},ji=(e,t)=>Si(e,t,2),Ai=(e,t,r,n)=>{if(r){switch(typeof(t=Do.getIndexedParameter(e,t))){case"boolean":e=t?1:0;break;case"number":e=t;break;case"object":if(null===t)switch(e){case 35983:case 35368:e=0;break;default:return void(Lr||=1280)}else{if(!(t instanceof WebGLBuffer))return void(Lr||=1280);e=0|t.name}break;default:return void(Lr||=1280)}switch(n){case 1:Ti(r,e);break;case 0:ve[r>>2]=e;break;case 2:ye[r>>2]=e;break;case 4:me[r]=e?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else Lr||=1281},Ii=(e,t)=>Si(e,t,0),Fi=(e,t,r,n)=>{null===(e=Do.getProgramInfoLog(Kr[e]))&&(e="(unknown error)"),t=0<t&&n?Nt(e,ge,n,t):0,r&&(ve[r>>2]=t)},Ci=(e,t,r)=>{if(r)if(e>=zr)Lr||=1281;else if(e=Kr[e],35716==t)null===(e=Do.getProgramInfoLog(e))&&(e="(unknown error)"),ve[r>>2]=e.length+1;else if(35719==t){if(!e.tj)for(t=0;t<Do.getProgramParameter(e,35718);++t)e.tj=Math.max(e.tj,Do.getActiveUniform(e,t).name.length+1);ve[r>>2]=e.tj}else if(35722==t){if(!e.rj)for(t=0;t<Do.getProgramParameter(e,35721);++t)e.rj=Math.max(e.rj,Do.getActiveAttrib(e,t).name.length+1);ve[r>>2]=e.rj}else if(35381==t){if(!e.sj)for(t=0;t<Do.getProgramParameter(e,35382);++t)e.sj=Math.max(e.sj,Do.getActiveUniformBlockName(e,t).length+1);ve[r>>2]=e.sj}else ve[r>>2]=Do.getProgramParameter(e,t);else Lr||=1281},Oi=(e,t,r)=>{r?(e=en[e],t=2>Br.version?Do.Ri.getQueryObjectEXT(e,t):Do.getQueryParameter(e,t),Ti(r,"boolean"==typeof t?t?1:0:t)):Lr||=1281},Mi=(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Do.Ri.getQueryObjectEXT(en[e],t))?e?1:0:e,ve[r>>2]=n):Lr||=1281},Ri=(e,t,r,n)=>{null===(e=Do.getShaderInfoLog(Jr[e]))&&(e="(unknown error)"),t=0<t&&n?Nt(e,ge,n,t):0,r&&(ve[r>>2]=t)},Li=(e,t,r)=>{r?35716==t?(null===(e=Do.getShaderInfoLog(Jr[e]))&&(e="(unknown error)"),ve[r>>2]=e?e.length+1:0):35720==t?(e=Do.getShaderSource(Jr[e]),ve[r>>2]=e?e.length+1:0):ve[r>>2]=Do.getShaderParameter(Jr[e],t):Lr||=1281},Bi=e=>{var t=an[e];if(!t){switch(e){case 7939:t=pn(xi().join(" "));break;case 7936:case 7937:case 37445:case 37446:(t=Do.getParameter(e))||(Lr||=1280),t=t?pn(t):0;break;case 7938:t=pn(`OpenGL ES 3.0 (${Do.getParameter(7938)})`);break;case 35724:var r=(t=Do.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==r&&(3==r[1].length&&(r[1]+="0"),t=`OpenGL ES GLSL ES ${r[1]} (${t})`),t=pn(t);break;default:Lr||=1280}an[e]=t}return t},Di=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Wi=e=>{var t,r=e.kj,n=e.Lj;if(!r)for(e.kj=r={},e.Kj={},t=0;t<Do.getProgramParameter(e,35718);++t){var i=Do.getActiveUniform(e,t),a=i.name;i=i.size;var o=Di(a);o=0<o?a.slice(0,o):a;var s=e.zj;for(e.zj+=i,n[o]=[i,s],a=0;a<i;++a)r[s]=a,e.Kj[s++]=o}},Ui=(e,t)=>{if(t=t?ze(ge,t):"",e=Kr[e]){Wi(e);var r=e.kj,n=0,i=t,a=Di(t);if(0<a&&(n=parseInt(t.slice(a+1))>>>0,i=t.slice(0,a)),(i=e.Lj[i])&&n<i[0]&&(r[n+=i[1]]=r[n]||Do.getUniformLocation(e,t)))return n}else Lr||=1281;return-1},$i=e=>{var t=Do.fk;if(t){var r=t.kj[e];return"number"==typeof r&&(t.kj[e]=r=Do.getUniformLocation(t,t.Kj[e]+(0<r?`[${r}]`:""))),r}Lr||=1282},Gi=(e,t,r,n)=>{if(r)if(e=Kr[e],Wi(e),"number"==typeof(e=Do.getUniform(e,$i(t)))||"boolean"==typeof e)switch(n){case 0:ve[r>>2]=e;break;case 2:ye[r>>2]=e}else for(t=0;t<e.length;t++)switch(n){case 0:ve[r+4*t>>2]=e[t];break;case 2:ye[r+4*t>>2]=e[t]}else Lr||=1281},Vi=(e,t,r,n)=>{if(r)if(e=Do.getVertexAttrib(e,t),34975==t)ve[r>>2]=e&&e.name;else if("number"==typeof e||"boolean"==typeof e)switch(n){case 0:ve[r>>2]=e;break;case 2:ye[r>>2]=e;break;case 5:ve[r>>2]=Math.fround(e)}else for(t=0;t<e.length;t++)switch(n){case 0:ve[r+4*t>>2]=e[t];break;case 2:ye[r+4*t>>2]=e[t];break;case 5:ve[r+4*t>>2]=Math.fround(e[t])}else Lr||=1281},Ni=(e,t,r)=>{Vi(e,t,r,0)},zi=e=>Do.isSync(nn[e]),Xi=e=>(e=Qr[e])?Do.isVertexArray(e):0,Ki=e=>{e=Kr[e],Do.linkProgram(e),e.kj=0,e.Lj={}},Hi=(e,t)=>{3317==e?sn=t:3314==e&&(ln=t),Do.pixelStorei(e,t)},qi=e=>0==(e-=5120)?me:1==e?ge:2==e?pe:4==e?ve:6==e?ye:5==e||28922==e||28520==e||30779==e||30782==e?we:be,Yi=(e,t,r,n,i)=>(e=qi(e),t=n*((ln||r)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[t-6402]||1)*e.BYTES_PER_ELEMENT+sn-1&-sn),e.subarray(i>>>31-Math.clz32(e.BYTES_PER_ELEMENT),i+t>>>31-Math.clz32(e.BYTES_PER_ELEMENT))),Ji=(e,t,r,n,i,a,o)=>{if(Do.vj)Do.readPixels(e,t,r,n,i,a,o);else{var s=qi(a);o>>>=31-Math.clz32(s.BYTES_PER_ELEMENT),Do.readPixels(e,t,r,n,i,a,s,o)}},Qi=(e,t,r,n)=>Do.renderbufferStorage(e,t,r,n),Zi=(e,t,r,n)=>Do.scissor(e,t,r,n),ea=(e,t,r,n)=>{for(var i="",a=0;a<t;++a)i+=Xe(we[r+4*a>>2],n?we[n+4*a>>2]:void 0);Do.shaderSource(Jr[e],i)},ta=(e,t,r,n)=>Do.stencilFuncSeparate(e,t,r,n),ra=(e,t,r,n)=>Do.stencilOpSeparate(e,t,r,n),na=(e,t,r,n,i,a,o,s,l)=>{if(Do.Ui)Do.texImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=qi(s);l>>>=31-Math.clz32(c.BYTES_PER_ELEMENT),Do.texImage2D(e,t,r,n,i,a,o,s,c,l)}else c=l?Yi(s,o,n,i,l):null,Do.texImage2D(e,t,r,n,i,a,o,s,c)},ia=(e,t,r)=>Do.texParameterf(e,t,r),aa=(e,t,r)=>{Do.texParameterf(e,t,ye[r>>2])},oa=(e,t,r)=>Do.texParameteri(e,t,r),sa=(e,t,r,n,i,a,o,s,l)=>{if(Do.Ui)Do.texSubImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=qi(s);Do.texSubImage2D(e,t,r,n,i,a,o,s,c,l>>>31-Math.clz32(c.BYTES_PER_ELEMENT))}else l=l?Yi(s,o,i,a,l):null,Do.texSubImage2D(e,t,r,n,i,a,o,s,l)},la=(e,t)=>{Do.uniform1i($i(e),t)},ca=(e,t,r)=>{t&&Do.uniform1iv($i(e),ve,r>>2,t)},da=(e,t,r)=>{t&&Do.uniform4fv($i(e),ye,r>>2,4*t)},ua=(e,t,r,n)=>{t&&Do.uniformMatrix3fv($i(e),!!r,ye,n>>2,9*t)},fa=(e,t,r,n)=>{t&&Do.uniformMatrix4fv($i(e),!!r,ye,n>>2,16*t)},ha=e=>{e=Kr[e],Do.useProgram(e),Do.fk=e},ma=(e,t)=>{Do.vertexAttribDivisor(e,t)},ga=(e,t,r,n,i,a)=>{Do.vertexAttribPointer(e,t,r,!!n,i,a)},pa=(e,t,r,n)=>Do.viewport(e,t,r,n),ba=(e,t,r,n)=>{Do.waitSync(nn[e],t,(r>>>0)+4294967296*n)},va=(e,t)=>{if(0>=e)return e;var r=32>=t?Math.abs(1<<t-1):Math.pow(2,t-1);return e>=r&&(32>=t||e>r)&&(e=-2*r+e),e},wa=(e,t)=>0<=e?e:32>=t?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e,ya=e=>{for(var t=e;ge[t];)++t;return t-e};function Ea(e){var t=Array(zt(e)+1);return e=Nt(e,t,0,t.length),t.length=e,t}var Pa=[null,[],[]],ka=(e,t)=>{var r=Pa[e];0===t||10===t?((1===e?de:ue)(ze(r,0)),r.length=0):r.push(t)},Ta=()=>{as(0),Pa[1].length&&ka(1,10),Pa[2].length&&ka(2,10)};function xa(){return["iOS","Android"].includes(c.os.family)?85:"OS X"===c.os.family?54:90}var Sa=null,_a=null,ja=0,Aa=null,Ia=-1,Fa=-1,Ca=!1,Oa=null,Ma=null,Ra=null,La=null,Ba=null,Da=null,Wa=!0,Ua={},$a=0,Ga=0;async function Va(e){e=await createImageBitmap(new Blob([e]),{premultiplyAlpha:"none",colorSpaceConversion:"none"});var t=Br.Wi,r=t.createTexture();const n=cn(Yr);return r.name=n,Yr[n]=r,t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t=e.width,r=e.height,e.close(),[n,t,r]}var Na=!1,za=!1,Xa=0,Ka=0,Ha=0,qa=null,Ya=null,Ja=null,Qa=null,Za=null;async function eo(e,t,r){if(!za&&!Na){console.log(`DeepAR Rigid Face Tracking initialize started. FovY: ${e}, width: ${t}, height: ${r}`),Na=!0;try{l||=await n.dynamicImports.xzimg(n.globalProgress),null==qa&&(qa=new l.Geometry),null==Ya&&(Ya=new l.VideoManager(null)).setNbFramesDelay(0);const i=await ie("rigidFaceDetector"),a=await ie("rigidFaceTracker");let o={poseEstimationWasmFilename:await ie("rigidFacePEW"),modelFilename:i,featuresFilename:a,fovY:e,geometryToDetect:"FACE",normMode:"eye_center",detectScoreThs:.2,trackScoreThs:.4,filteringShift:.2,filteringLevel:1,computePose:!0,wasmBackend:{enable:!0,...await ae("rigidFaceDetector")}};await qa.initialize(Ya,o),Xa=t,Ka=r,Ha=e,Na=!1,za=!0,console.log("DeepAR RigidFaceTracking initialized!"),n.Uj(e,t,r)}catch(e){Na=!1,console.error(e)}}}function to(e){if(!Na&&null!=qa&&qa.isInitialized()){Ya.preProcessWithBuffer(e);try{qa.trackSync()}catch(e){return console.log(e),void(Ja=!1)}null!=(e=qa.getInterpolatedPose())&&qa.isDetected()?(Za=e.t(),Qa=e.R(),Ja=!0):Ja=!1}}var ro,no=!1,io=!1,ao=0,oo=0,so=0,lo=null,co=null,uo=null,fo=null,ho=null,mo=null,go=null,po=null;async function bo(e,t,r,i){if(!io&&!no){no=!0,console.log(`DeepAR Foot Tracking initialize started. FovY: ${e}, width: ${r}, height: ${i}`);try{l||=await n.dynamicImports.xzimg(n.globalProgress),null==lo&&(lo=new l.Foot),null==co&&(co=new l.VideoManager(null),ro=t,co.setNbFramesDelay(ro));const a=await ie("footDetector"),o=await ie("footTracker"),s=await ie("footObj");let c={poseEstimationWasmFilename:await ie("footPEW"),modelFilename:a,featuresFilename:o,objContainer:s,fovY:e,detectScoreThs:.25,validTrackedKeypThs:.3,trackScoreThs:.3,filteringShift:.5,footToDetect:"BOTH",wasmBackend:{enable:!0,...await ae("footDetector")}};await lo.initialize(co,c),ao=r,oo=i,so=e,no=!1,io=!0,console.log("DeepAR FootTracking initialized!"),n.Bj(e,t,r,i)}catch(e){no=!1,console.error(e)}}}function vo(e){if(!no&&null!=lo&&lo.isInitialized()){co.preProcessWithBuffer(e);try{lo.trackSync()}catch(e){return console.log(e),void(po=ho=!1)}e=lo.getInterpolatedPose("LEFT_FOOT");var t=lo.getInterpolatedPose("RIGHT_FOOT");null!=e&&e.isDetected()?(uo=e.t(),fo=e.R(),ho=!0):ho=!1,null!=t&&t.isDetected()?(mo=t.t(),go=t.R(),po=!0):po=!1}}var wo,yo,Eo=!1,Po=!1,ko=0,To=0,xo=0,So=null,_o=null,jo=null,Ao=null,Io=null,Fo=0,Co=0;async function Oo(e,t,r,i){if(!Po&&!Eo){Eo=!0,console.log(`DeepAR Wrist Tracking initialize started. FovY: ${e}, width: ${r}, height: ${i}`);try{l||=await n.dynamicImports.xzimg(n.globalProgress),null==So&&(So=new l.Geometry),null==_o&&(_o=new l.VideoManager(null),Co=t,_o.setNbFramesDelay(Co));const a=await ie("wristDetector"),o=await ie("wristTracker"),s=await ie("wristObj");let c={geometryToDetect:"WRIST",poseEstimationWasmFilename:await ie("wristPEW"),modelFilename:a,featuresFilename:o,objContainer:s,fovY:e,detectScoreThs:.25,validDetectedKeypThs:.25,trackScoreThs:.45,validTrackedKeypThs:.45,filteringShift:.5,trackedNumKeypsThs:30,reprojThs:50,activeIds:[44,46,47,65,66,78,108,110,111,113,114,115,123,127,130,136,139,140,142,143,145,148,151,153,158,160,166,170,171,174,175,177,178],computePose:!0,wasmBackend:{enable:!0,...await ae("wristDetector")}};await So.initialize(_o,c),ko=r,To=i,xo=e,Eo=!1,Po=!0,console.log("DeepAR WristTracking initialized!"),n.Cj(e,t,r,i)}catch(e){Eo=!1,console.error(e)}}}function Mo(e){if(Po){_o.preProcessWithBuffer(e);try{So.trackSync()}catch(e){return console.log(e),void(jo=!1)}e=!1,So.isDetected()?(++Fo>Co&&(e=!0),(jo=e)&&(e=So.getInterpolatedPose(),Ao=e.t(),Io=e.R())):(Fo=0,jo=!1)}}for(var Ro=(e,t,r,i)=>{var a=!r||r.every((e=>"number"===e||"boolean"===e));return"string"!==t&&a&&!i?n["_"+e]:(...i)=>((e,t,r,i)=>{var a={string:e=>{var t=0;if(null!=e&&0!==e){t=zt(e)+1;var r=ls(t);Nt(e,ge,r,t),t=r}return t},array:e=>{var t=ls(e.length);return me.set(e,t),t}};e=n["_"+e];var o,s=[],l=0;if(i)for(var c=0;c<i.length;c++){var d=a[r[c]];d?(0===l&&(l=cs()),s[c]=d(i[c])):s[c]=i[c]}return o=r=e(...s),0!==l&&ss(l),"string"===t?o?ze(ge,o):"":"boolean"===t?!!o:o})(e,t,r,i)},Lo=Array(256),Bo=0;256>Bo;++Bo)Lo[Bo]=String.fromCharCode(Bo);Ue=Lo,$e=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Ge=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(ut.prototype,{isAliasOf:function(e){if(!(this instanceof ut&&e instanceof ut))return!1;var t=this.Ii.Mi.Ji,r=this.Ii.Li;e.Ii=e.Ii;var n=e.Ii.Mi.Ji;for(e=e.Ii.Li;t.Pi;)r=t.lj(r),t=t.Pi;for(;n.Pi;)e=n.lj(e),n=n.Pi;return t===n&&r===e},clone:function(){if(this.Ii.Li||tt(this),this.Ii.jj)return this.Ii.count.value+=1,this;var e=dt,t=Object,r=t.create,n=Object.getPrototypeOf(this),i=this.Ii;return(e=e(r.call(t,n,{Ii:{value:{count:i.count,gj:i.gj,jj:i.jj,Li:i.Li,Mi:i.Mi,Ni:i.Ni,Qi:i.Qi}}}))).Ii.count.value+=1,e.Ii.gj=!1,e},delete(){if(this.Ii.Li||tt(this),this.Ii.gj&&!this.Ii.jj)throw new $e("Object already scheduled for deletion");nt(this);var e=this.Ii;--e.count.value,0===e.count.value&&(e.Ni?e.Qi.Zi(e.Ni):e.Mi.Ji.Zi(e.Li)),this.Ii.jj||(this.Ii.Ni=void 0,this.Ii.Li=void 0)},isDeleted:function(){return!this.Ii.Li},deleteLater:function(){if(this.Ii.Li||tt(this),this.Ii.gj&&!this.Ii.jj)throw new $e("Object already scheduled for deletion");return ot.push(this),1===ot.length&&et&&et(st),this.Ii.gj=!0,this}}),n.getInheritedInstanceCount=()=>Object.keys(lt).length,n.getLiveInheritedInstances=()=>{var e,t=[];for(e in lt)lt.hasOwnProperty(e)&&t.push(lt[e]);return t},n.flushPendingDeletes=st,n.setDelayFunction=e=>{et=e,ot.length&&et&&et(st)},Object.assign(Et.prototype,{kk(e){return this.Ij&&(e=this.Ij(e)),e},Dj(e){this.Zi?.(e)},argPackAdvance:8,readValueFromPointer:yt,fromWireType:function(e){function t(){return this.qj?ct(this.Ji.hj,{Mi:this.qk,Li:r,Qi:this,Ni:e}):ct(this.Ji.hj,{Mi:this,Li:e})}var r=this.kk(e);if(!r)return this.Dj(e),null;var n=((e,t)=>{if(void 0===t)throw new $e("ptr should not be undefined");for(;e.Pi;)t=e.lj(t),e=e.Pi;return lt[t]})(this.Ji,r);if(void 0!==n)return 0===n.Ii.count.value?(n.Ii.Li=r,n.Ii.Ni=e,n.clone()):(n=n.clone(),this.Dj(e),n);if(n=this.Ji.ik(r),!(n=at[n]))return t.call(this);n=this.pj?n.ek:n.pointerType;var i=it(r,this.Ji,n.Ji);return null===i?t.call(this):this.qj?ct(n.Ji.hj,{Mi:n,Li:i,Qi:this,Ni:e}):ct(n.Ji.hj,{Mi:n,Li:i})}}),kt=n.UnboundTypeError=(wo=Error,(yo=ft("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(wo.prototype),yo.prototype.constructor=yo,yo.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},yo),Lt.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=()=>Lt.length/2-5-Rt.length,n.requestFullscreen=function(e,t){function r(){yr=!1;var e=i.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(i.exitFullscreen=Sr,Tr&&i.requestPointerLock(),yr=!0,xr?("undefined"!=typeof SDL&&(ve[SDL.screen>>2]=8388608|we[SDL.screen>>2]),Cr(n.canvas),Ir()):Cr(i)):(e.parentNode.insertBefore(i,e),e.parentNode.removeChild(e),xr?("undefined"!=typeof SDL&&(ve[SDL.screen>>2]=-8388609&we[SDL.screen>>2]),Cr(n.canvas),Ir()):Cr(i)),n.onFullScreen?.(yr),n.onFullscreen?.(yr)}void 0===(Tr=e)&&(Tr=!0),void 0===(xr=t)&&(xr=!1);var i=n.canvas;kr||(kr=!0,document.addEventListener("fullscreenchange",r,!1),document.addEventListener("mozfullscreenchange",r,!1),document.addEventListener("webkitfullscreenchange",r,!1),document.addEventListener("MSFullscreenChange",r,!1));var a=document.createElement("div");i.parentNode.insertBefore(a,i),a.appendChild(i),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?()=>a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(a.webkitRequestFullScreen?()=>a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),a.requestFullscreen()},n.requestAnimationFrame=jr,n.setCanvasSize=Fr,n.pauseMainLoop=function(){hr=null,mr++},n.resumeMainLoop=function(){mr++;var e=pr,t=br,r=gr;gr=null,(e=>{function t(){return!(r<mr&&(--ir,dr(),1))}gr=e;var r=mr;fr=!1,sr=function(){if(!Pe)if(0<wr.length){var r=wr.shift();if(r.Ek(r.Bk),lr){var n=lr,i=0==n%1?n-1:Math.floor(n);lr=r.Ck?i:(8*n+(i+.5))/9}t()&&setTimeout(sr,0)}else if(t())if(vr=vr+1|0,1==pr&&1<br&&0!=vr%br)hr();else{if(0==pr&&(or=Ot()),!Pe&&!Ae&&!Pe)try{e(),dr()}catch(e){cr(e)}t()&&("object"==typeof SDL&&SDL.audio?.Lk?.(),hr())}}})(r),ar(e,t),hr()},n.getUserMedia=function(e){let t;(t=window).getUserMedia||(t.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},n.createContext=function(e,t,r,i){if(t&&n.Yi&&e==n.canvas)return n.Yi;var a;if(t){var o={antialias:!1,alpha:!1,xj:2};if(i)for(var s in i)o[s]=i[s];if(void 0!==gn&&(a=un(e,o)))var l=Zr[a].Wi}else l=e.getContext("2d");return l?(r&&(n.Yi=l,t&&hn(a),n.vk=t,Pr.forEach((e=>e())),function(){function e(){Er=document.pointerLockElement===n.canvas||document.mozPointerLockElement===n.canvas||document.webkitPointerLockElement===n.canvas||document.msPointerLockElement===n.canvas}if(!Mr){Mr=!0;var t=n.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||(()=>{}),t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),n.elementPointerLock&&t.addEventListener("click",(e=>{!Er&&n.canvas.requestPointerLock&&(n.canvas.requestPointerLock(),e.preventDefault())}),!1))}}()),l):null};for(var Do,Wo=0;32>Wo;++Wo)ai.push(Array(Wo));const Uo="undefined"!=typeof OffscreenCanvas,$o=!!Uo&&!!new OffscreenCanvas(1,1).getContext("2d"),Go=!!Uo&&!!new OffscreenCanvas(1,1).getContext("webgl2");Ca=Go;let Vo=!1;if(Go){Oa=new OffscreenCanvas(1,1);const e=Ma=Oa.getContext("webgl2"),t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t," #version 300 es\n layout(location = 0) in vec2 a_position;\n layout(location = 1) in vec2 a_texCoord;\n \n uniform mat2 u_modelView;\n \n out vec2 v_texCoord;\n \n void main() {\n gl_Position = vec4(u_modelView * a_position, 0.0, 1.0);\n v_texCoord = a_texCoord;\n }\n "),e.compileShader(t);const r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r," #version 300 es\n precision mediump float;\n in vec2 v_texCoord;\n uniform sampler2D u_texture;\n \n out vec4 outColor;\n \n void main() {\n outColor = texture(u_texture, v_texCoord);\n }\n "),e.compileShader(r);const n=e.createProgram();e.attachShader(n,t),e.attachShader(n,r),e.linkProgram(n),e.getProgramParameter(n,e.LINK_STATUS)||(console.error("DeepAR image pipeline: Offscreen canvas (webgl2 context) error occurred linking the program.",e.getProgramInfoLog(n)),e.deleteProgram(n),e.deleteShader(t),e.deleteShader(r),Ca=!1),e.useProgram(n),e.deleteShader(t),e.deleteShader(r);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),e.STATIC_DRAW),e.enableVertexAttribArray(0),e.vertexAttribPointer(0,2,e.FLOAT,!1,0,0);const a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,0,2,0,0,2]),e.STATIC_DRAW),e.enableVertexAttribArray(1),e.vertexAttribPointer(1,2,e.FLOAT,!1,0,0),Ra=e.getUniformLocation(n,"u_modelView"),console.log("DeepAR: Using Offscreen canvas (webgl2 context) for image pipeline."),Vo=!0}Vo||($o?(console.log("DeepAR: Using Offscreen canvas (2D context) for image pipeline."),Sa=new OffscreenCanvas(1,1),_a=Sa.getContext("2d")):(console.log("DeepAR: Using DOM canvas (2D context) for image pipeline."),(Sa=document.createElement("canvas")).style.display="none",_a=Sa.getContext("2d",{willReadFrequently:!0,desynchronized:!0})));var No={ga:function(){return 0},wb:function(){return 0},xb:function(){},yb:()=>{Oe("")},sb:()=>{},Ta:(e,t,r,n)=>{Ze(e,{name:t=Ke(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(ge[e])},Vi:null})},hh:(e,t,r,n,i,a,o,s,l,c,d,u,f)=>{d=Ke(d),a=xt(i,a),s&&=xt(o,s),c&&=xt(l,c),f=xt(u,f);var h=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=t&&57>=t?`_${e}`:e})(d);mt(h,(function(){_t(`Cannot construct ${d} due to unbound types`,[n])})),Qe([e,t,r],n?[n]:[],(t=>{if(t=t[0],n)var r=t.Ji,i=r.hj;else i=ut.prototype;t=ft(d,(function(...e){if(Object.getPrototypeOf(this)!==o)throw new $e("Use 'new' to construct "+d);if(void 0===u.$i)throw new $e(d+" has no accessible constructor");var t=u.$i[e.length];if(void 0===t)throw new $e(`Tried to invoke ctor of ${d} with invalid number of parameters (${e.length}) - expected (${Object.keys(u.$i).toString()}) parameters instead!`);return t.apply(this,e)}));var o=Object.create(i,{constructor:{value:t}});t.prototype=o;var l,u=new gt(d,t,o,f,r,a,s,c);return u.Pi&&((l=u.Pi).Aj??(l.Aj=[]),u.Pi.Aj.push(u)),r=new Et(d,u,!0,!1,!1),l=new Et(d+"*",u,!1,!1,!1),i=new Et(d+" const*",u,!1,!0,!1),at[e]={pointerType:l,ek:i},Tt(h,t),[r,l,i]}))},$g:(e,t,r,n,i,a)=>{var o=jt(t,r);i=xt(n,i),Qe([],[e],(e=>{var r=`constructor ${(e=e[0]).name}`;if(void 0===e.Ji.$i&&(e.Ji.$i=[]),void 0!==e.Ji.$i[t-1])throw new $e(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.Ji.$i[t-1]=()=>{_t(`Cannot construct ${e.name} due to unbound types`,o)},Qe([],o,(n=>(n.splice(1,0,null),e.Ji.$i[t-1]=Ct(r,n,null,i,a),[]))),[]}))},s:(e,t,r,n,i,a,o,s,l)=>{var c=jt(r,n);t=Ke(t),t=Mt(t),a=xt(i,a),Qe([],[e],(e=>{function n(){_t(`Cannot call ${i} due to unbound types`,c)}var i=`${(e=e[0]).name}.${t}`;t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.Ji.rk.push(t);var d=e.Ji.hj,u=d[t];return void 0===u||void 0===u.Oi&&u.className!==e.name&&u.nj===r-2?(n.nj=r-2,n.className=e.name,d[t]=n):(ht(d,t,i),d[t].Oi[r-2]=n),Qe([],c,(n=>(n=Ct(i,n,e,a,o,l),void 0===d[t].Oi?(n.nj=r-2,d[t]=n):d[t].Oi[r-2]=n,[]))),[]}))},uh:e=>Ze(e,Ut),Y:(e,t,r)=>{Ze(e,{name:t=Ke(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:8,readValueFromPointer:Gt(t,r),Vi:null})},B:(e,t,r,n,i,a,o)=>{var s=jt(t,r);e=Ke(e),e=Mt(e),i=xt(n,i),mt(e,(function(){_t(`Cannot call ${e} due to unbound types`,s)}),t-1),Qe([],s,(r=>(Tt(e,Ct(e,[r[0],null].concat(r.slice(1)),null,i,a,o),t-1),[])))},k:(e,t,r,n,i)=>{if(t=Ke(t),-1===i&&(i=4294967295),i=e=>e,0===n){var a=32-8*r;i=e=>e<<a>>>a}var o=t.includes("unsigned")?function(e,t){return t>>>0}:function(e,t){return t};Ze(e,{name:t,fromWireType:i,toWireType:o,argPackAdvance:8,readValueFromPointer:Vt(t,r,0!==n),Vi:null})},e:(e,t,r)=>{function n(e){return new i(me.buffer,we[e+4>>2],we[e>>2])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];Ze(e,{name:r=Ke(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{mk:!0})},L:e=>{Ze(e,Ut)},Ea:(e,t)=>{var r="std::string"===(t=Ke(t));Ze(e,{name:t,fromWireType:function(e){var t=we[e>>2],n=e+4;if(r)for(var i=n,a=0;a<=t;++a){var o=n+a;if(a==t||0==ge[o]){if(i=i?ze(ge,i,o-i):"",void 0===s)var s=i;else s+=String.fromCharCode(0),s+=i;i=o+1}}else{for(s=Array(t),a=0;a<t;++a)s[a]=String.fromCharCode(ge[n+a]);s=s.join("")}return Ko(e),s},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;if(!(n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array))throw new $e("Cannot pass non-string to std::string");var i=r&&n?zt(t):t.length,a=Zo(4+i+1),o=a+4;if(we[a>>2]=i,r&&n)Nt(t,ge,o,i+1);else if(n)for(n=0;n<i;++n){var s=t.charCodeAt(n);if(255<s)throw Ko(o),new $e("String has UTF-16 code units that do not fit in 8 bits");ge[o+n]=s}else for(n=0;n<i;++n)ge[o+n]=t[n];return null!==e&&e.push(Ko,a),a},argPackAdvance:8,readValueFromPointer:yt,Vi(e){Ko(e)}})},R:(e,t,r)=>{if(r=Ke(r),2===t)var n=Kt,i=Ht,a=qt,o=e=>be[e>>1];else 4===t&&(n=Yt,i=Jt,a=Qt,o=e=>we[e>>2]);Ze(e,{name:r,fromWireType:e=>{for(var r,i=we[e>>2],a=e+4,s=0;s<=i;++s){var l=e+4+s*t;s!=i&&0!=o(l)||(a=n(a,l-a),void 0===r?r=a:(r+=String.fromCharCode(0),r+=a),a=l+t)}return Ko(e),r},toWireType:(e,n)=>{if("string"!=typeof n)throw new $e(`Cannot pass non-string to C++ string type ${r}`);var o=a(n),s=Zo(4+o+t);return we[s>>2]=o/t,i(n,s+4,o+t),null!==e&&e.push(Ko,s),s},argPackAdvance:8,readValueFromPointer:yt,Vi(e){Ko(e)}})},cb:(e,t)=>{Ze(e,{pk:!0,name:t=Ke(t),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},fg:(e,t,r)=>(e=Dt(e),t=Zt(t,"emval::as"),er(t,r,e)),ia:(e,t,r,n)=>(e=tr[e])(null,t=Dt(t),r,n),Lf:(e,t,r,n,i)=>(e=tr[e])(t=Dt(t),t[r=nr(r)],n,i),mb:Bt,ka:(e,t,r)=>{t=((e,t)=>{for(var r=Array(e),n=0;n<e;++n)r[n]=Zt(we[t+4*n>>2],"parameter "+n);return r})(e,t);var n=t.shift();e--;var i="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var s=["retType"],l=[n],c=0;c<e;++c)o.push("arg"+c),s.push("argType"+c),l.push(t[c]),i+=` var arg${c} = argType${c}.readValueFromPointer(args${a?"+"+a:""});\n`,a+=t[c].argPackAdvance;return i+=` var rv = ${1===r?"new func":"func.call"}(${o.join(", ")});\n`,n.pk||(s.push("emval_returnValue"),l.push(er),i+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s.push(i+"};\n"),e=Ft(s)(...l),r=`methodCaller<(${t.map((e=>e.name)).join(", ")}) => ${n.name}>`,(e=>{var t=tr.length;return tr.push(e),t})(ft(r,e))},qg:(e,t)=>(e=Dt(e),t=Dt(t),Wt(e[t])),Af:e=>{9<e&&(Lt[e+1]+=1)},Wf:e=>Wt(nr(e)),Bg:e=>{var t=Dt(e);At(t),Bt(e)},p:(e,t)=>(e=(e=Zt(e,"_emval_take_value")).readValueFromPointer(t),Wt(e)),Ia:function(e,t,r,n,i){d.decode({data:ge.slice(e,e+t).buffer,preserveVertexOrder:r}).then((e=>{var t=e.data,r=e.vertexCount,a=e.trianglesCount;e=es(n,r,a,i);const o=ts(n,i);r*=56;const s=3*a*(65535>3*a?2:4);a=new Uint8Array(t,8,r),t=new Uint8Array(t,8+r,s),ge.set(a,e),ge.set(t,o),rs(n,i)}))},Fh:(e,t,r,n,i)=>{if(62e3!=e)r=0;else{if(t)for(;;){if(12321==(e=ve[t>>2]))Gr.alpha=0<ve[t+4>>2];else if(12325==e)Gr.depth=0<ve[t+4>>2];else if(12326==e)Gr.stencil=0<ve[t+4>>2];else if(12337==e)e=ve[t+4>>2],Gr.antialias=0<e;else if(12338==e)e=ve[t+4>>2],Gr.antialias=1==e;else if(12544==e)Gr.Fk=12547!=ve[t+4>>2];else if(12344==e)break;t+=8}r&&n||i?(i&&(ve[i>>2]=1),r&&0<n&&(we[r>>2]=62002),r=1):r=0}return r},W:(e,t,r,i)=>{if(62e3!=e)return 0;for(e=1;;){if(12440!=(t=ve[i>>2])){if(12344==t)break;return 0}e=ve[i+4>>2],i+=8}return 2>e||3<e?0:(Gr.xj=e-1,Gr.Hk=0,0!=(Rr=un(n.canvas,Gr))?(hn(Rr),n.vk=!0,Pr.forEach((function(e){e()})),hn(null),62004):0)},X:(e,t)=>62e3!=e||62002!=t?0:62006,V:(e,t)=>62e3!=e||62004!=t?0:(Br===Zr[e=Rr]&&(Br=null),"object"==typeof JSEvents&&JSEvents.Mk(Zr[e].Wi.canvas),Zr[e]&&Zr[e].Wi.canvas&&(Zr[e].Wi.canvas.Mj=void 0),Zr[e]=null,Wr==t&&(Wr=0),1),U:(e,t)=>62e3!=e?0:(62006!=t||(Ur==t&&(Ur=0),$r==t&&($r=0)),1),Ga:e=>0!=e&&1!=e?0:62e3,Fa:(e,t,r)=>62e3!=e?0:(t&&(ve[t>>2]=1),r&&(ve[r>>2]=4),Dr=!0,1),l:(e,t,r,n)=>62e3!=e||0!=n&&62004!=n||0!=r&&62006!=r||0!=t&&62006!=t?0:(hn(n?Rr:null),Wr=n,$r=t,Ur=r,1),F:(e,t)=>{if(62e3!=e)return 0;if(Vr[t])return Vr[t];switch(t){case 12371:e=pn("Emscripten");break;case 12372:e=pn("1.4 Emscripten EGL");break;case 12373:e=pn("");break;case 12429:e=pn("OpenGL_ES");break;default:return 0}return Vr[t]=e},T:()=>Dr&&n.Yi&&!n.Yi.isContextLost()?1:0,Da:(e,t)=>62e3!=e?0:(0==t?ar(0,0):ar(1,t),1),Eh:e=>62e3!=e?0:($r=Ur=Wr=0,Dr=!1,1),c:(e,t,r)=>(t=vn(t,r),De[e](...t)),G:(e,t,r)=>(t=vn(t,r),De[e](...t)),ja:e=>{throw he=e,0<(ir=0)||(is(),Ve(Se),Ta(),Ae=!0),he=e,0<ir||(Pe=!0),new We(e)},H:Ot,Ag:wn,zg:yn,ud:(e,t)=>{Do.beginQuery(e,en[t])},Rg:(e,t)=>{Do.Ri.beginQueryEXT(e,en[t])},$c:e=>Do.beginTransformFeedback(e),yg:(e,t,r)=>{Do.bindAttribLocation(Kr[e],t,r?ze(ge,r):"")},xg:En,Yc:(e,t,r)=>{Do.bindBufferBase(e,t,Xr[r])},Zc:(e,t,r,n,i)=>{Do.bindBufferRange(e,t,Xr[r],n,i)},wg:Pn,vg:kn,bc:(e,t)=>{Do.bindSampler(e,tn[t])},ug:Tn,Ub:(e,t)=>{Do.bindTransformFeedback(e,rn[t])},ed:xn,Jg:xn,tg:Sn,sg:e=>Do.blendEquation(e),rg:_n,pg:(e,t)=>Do.blendFunc(e,t),og:jn,id:(e,t,r,n,i,a,o,s,l,c)=>Do.blitFramebuffer(e,t,r,n,i,a,o,s,l,c),ng:An,mg:In,lg:Fn,kg:Cn,zc:(e,t,r,n)=>Do.clearBufferfi(e,t,r,n),Ac:(e,t,r)=>{Do.clearBufferfv(e,t,ye,r>>2)},Cc:(e,t,r)=>{Do.clearBufferiv(e,t,ve,r>>2)},Bc:(e,t,r)=>{Do.clearBufferuiv(e,t,we,r>>2)},jg:On,ig:Mn,hg:Rn,lc:(e,t,r,n)=>Do.clientWaitSync(nn[e],t,(r>>>0)+4294967296*n),gg:Ln,eg:Bn,dg:Dn,zd:(e,t,r,n,i,a,o,s,l)=>{Do.Ui?Do.compressedTexImage3D(e,t,r,n,i,a,o,s,l):Do.compressedTexImage3D(e,t,r,n,i,a,o,ge,l,s)},cg:Wn,yd:(e,t,r,n,i,a,o,s,l,c,d)=>{Do.Ui?Do.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,c,d):Do.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,ge,d,c)},xc:(e,t,r,n,i)=>Do.copyBufferSubData(e,t,r,n,i),bg:(e,t,r,n,i,a,o,s)=>Do.copyTexImage2D(e,t,r,n,i,a,o,s),ag:Un,Ad:(e,t,r,n,i,a,o,s,l)=>Do.copyTexSubImage3D(e,t,r,n,i,a,o,s,l),$f:$n,_f:Gn,Zf:Vn,Yf:Nn,Xf:zn,Vf:Xn,wd:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=en[n];i&&(Do.deleteQuery(i),en[n]=null)}},Tg:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=en[n];i&&(Do.Ri.deleteQueryEXT(i),en[n]=null)}},Uf:Kn,dc:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=tn[n];i&&(Do.deleteSampler(i),i.name=0,tn[n]=null)}},Tf:Hn,mc:qn,Sf:Yn,Tb:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=rn[n];i&&(Do.deleteTransformFeedback(i),i.name=0,rn[n]=null)}},dd:Jn,Ig:Jn,Rf:Qn,Qf:Zn,Pf:(e,t)=>Do.depthRange(e,t),Of:ei,Nf:ti,Mf:ri,Kf:ni,qc:ii,Eg:ii,Cb:ii,Id:ii,Db:ii,pd:oi,Gd:oi,Fg:oi,Jf:si,pc:li,Dg:li,zb:li,Ab:li,Hd:li,Ed:(e,t,r,n,i,a)=>{Do.drawElements(e,n,i,a)},If:ci,Hf:di,td:e=>Do.endQuery(e),Qg:e=>{Do.Ri.endQueryEXT(e)},_c:()=>Do.endTransformFeedback(),oc:(e,t)=>(e=Do.fenceSync(e,t))?(t=cn(nn),e.name=t,nn[t]=e,t):0,Gf:()=>Do.finish(),Ff:ui,Ef:fi,Df:hi,gd:(e,t,r,n,i)=>{Do.framebufferTextureLayer(e,t,Yr[r],n,i)},Cf:e=>Do.frontFace(e),Bf:mi,yf:gi,xd:(e,t)=>{dn(e,t,"createQuery",en)},Ug:(e,t)=>{for(var r=0;r<e;r++){var n=Do.Ri.createQueryEXT();if(!n){for(Lr||=1282;r<e;)ve[t+4*r++>>2]=0;break}var i=cn(en);n.name=i,en[i]=n,ve[t+4*r>>2]=i}},xf:pi,ec:(e,t)=>{dn(e,t,"createSampler",tn)},wf:bi,Sb:(e,t)=>{dn(e,t,"createTransformFeedback",rn)},cd:vi,Hg:vi,zf:wi,vf:Ei,uf:Pi,sc:(e,t,r,n,i)=>{e=Kr[e],(e=Do.getActiveUniformBlockName(e,t))&&(i&&0<r?(r=Nt(e,ge,i,r),n&&(ve[n>>2]=r)):n&&(ve[n>>2]=0))},tc:(e,t,r,n)=>{if(n){if(e=Kr[e],35393==r)ve[n>>2]=Do.getActiveUniformBlockName(e,t).length+1;else if(null!==(e=Do.getActiveUniformBlockParameter(e,t,r)))if(35395==r)for(r=0;r<e.length;r++)ve[n+4*r>>2]=e[r];else ve[n>>2]=e}else Lr||=1281},vc:(e,t,r,n,i)=>{if(i)if(0<t&&0==r)Lr||=1281;else{e=Kr[e];for(var a=[],o=0;o<t;o++)a.push(ve[r+4*o>>2]);if(e=Do.getActiveUniforms(e,a,n))for(t=e.length,o=0;o<t;o++)ve[i+4*o>>2]=e[o]}else Lr||=1281},tf:(e,t,r,n)=>{var i=(e=Do.getAttachedShaders(Kr[e])).length;for(i>t&&(i=t),ve[r>>2]=i,t=0;t<i;++t)ve[n+4*t>>2]=Jr.indexOf(e[t])},sf:ki,rf:(e,t)=>Si(e,t,4),fc:(e,t,r)=>{r?Ti(r,Do.getBufferParameter(e,t)):Lr||=1281},qf:(e,t,r)=>{r?ve[r>>2]=Do.getBufferParameter(e,t):Lr||=1281},of:_i,nf:ji,Mc:(e,t)=>Do.getFragDataLocation(Kr[e],t?ze(ge,t):""),mf:(e,t,r,n)=>{((e=Do.getFramebufferAttachmentParameter(e,t,r))instanceof WebGLRenderbuffer||e instanceof WebGLTexture)&&(e=0|e.name),ve[n>>2]=e},hc:(e,t,r)=>Ai(e,t,r,1),jc:(e,t)=>{Si(e,t,1)},ad:(e,t,r)=>Ai(e,t,r,0),lf:Ii,Gb:(e,t,r,n,i)=>{if(0>n)Lr||=1281;else if(i){if(null!==(e=Do.getInternalformatParameter(e,t,r)))for(t=0;t<e.length&&t<n;++t)ve[i+4*t>>2]=e[t]}else Lr||=1281},Ob:()=>{Lr||=1282},jf:Fi,kf:Ci,Lg:Oi,Ng:Mi,Kg:Oi,rd:(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Do.getQueryParameter(en[e],t))?e?1:0:e,ve[r>>2]=n):Lr||=1281},Mg:Mi,sd:(e,t,r)=>{r?ve[r>>2]=Do.getQuery(e,t):Lr||=1281},Og:(e,t,r)=>{r?ve[r>>2]=Do.Ri.getQueryEXT(e,t):Lr||=1281},hf:(e,t,r)=>{r?ve[r>>2]=Do.getRenderbufferParameter(e,t):Lr||=1281},Wb:(e,t,r)=>{r?ye[r>>2]=Do.getSamplerParameter(tn[e],t):Lr||=1281},Yb:(e,t,r)=>{r?ve[r>>2]=Do.getSamplerParameter(tn[e],t):Lr||=1281},ff:Ri,ef:(e,t,r,n)=>{e=Do.getShaderPrecisionFormat(e,t),ve[r>>2]=e.rangeMin,ve[r+4>>2]=e.rangeMax,ve[n>>2]=e.precision},df:(e,t,r,n)=>{(e=Do.getShaderSource(Jr[e]))&&(t=0<t&&n?Nt(e,ge,n,t):0,r&&(ve[r>>2]=t))},gf:Li,cf:Bi,yc:(e,t)=>{if(2>Br.version)return Lr||=1282,0;var r=on[e];return r?0>t||t>=r.length?(Lr||=1281,0):r[t]:7939===e?(r=xi().map(pn),r=on[e]=r,0>t||t>=r.length?(Lr||=1281,0):r[t]):(Lr||=1280,0)},ic:(e,t,r,n,i)=>{0>r?Lr||=1281:i?null!==(e=Do.getSyncParameter(nn[e],t))&&(ve[i>>2]=e,n&&(ve[n>>2]=1)):Lr||=1281},bf:(e,t,r)=>{r?ye[r>>2]=Do.getTexParameter(e,t):Lr||=1281},af:(e,t,r)=>{r?ve[r>>2]=Do.getTexParameter(e,t):Lr||=1281},Vc:(e,t,r,n,i,a,o)=>{e=Kr[e],(e=Do.getTransformFeedbackVarying(e,t))&&(o&&0<r?(r=Nt(e.name,ge,o,r),n&&(ve[n>>2]=r)):n&&(ve[n>>2]=0),i&&(ve[i>>2]=e.size),a&&(ve[a>>2]=e.type))},uc:(e,t)=>Do.getUniformBlockIndex(Kr[e],t?ze(ge,t):""),wc:(e,t,r,n)=>{if(n)if(0<t&&(0==r||0==n))Lr||=1281;else{e=Kr[e];for(var i=[],a=0;a<t;a++)i.push(Xe(ve[r+4*a>>2]));if(e=Do.getUniformIndices(e,i))for(t=e.length,a=0;a<t;a++)ve[n+4*a>>2]=e[a]}else Lr||=1281},Ze:Ui,$e:(e,t,r)=>{Gi(e,t,r,2)},_e:(e,t,r)=>{Gi(e,t,r,0)},Nc:(e,t,r)=>Gi(e,t,r,0),Tc:Ni,Sc:Ni,We:(e,t,r)=>{r?ve[r>>2]=Do.getVertexAttribOffset(e,t):Lr||=1281},Ye:(e,t,r)=>{Vi(e,t,r,2)},Xe:(e,t,r)=>{Vi(e,t,r,5)},Ve:(e,t)=>Do.hint(e,t),Kb:(e,t,r)=>{for(var n=ai[t],i=0;i<t;i++)n[i]=ve[r+4*i>>2];Do.invalidateFramebuffer(e,n)},Jb:(e,t,r,n,i,a,o)=>{for(var s=ai[t],l=0;l<t;l++)s[l]=ve[r+4*l>>2];Do.invalidateSubFramebuffer(e,s,n,i,a,o)},Ue:e=>(e=Xr[e])?Do.isBuffer(e):0,Te:e=>Do.isEnabled(e),Se:e=>(e=Hr[e])?Do.isFramebuffer(e):0,Re:e=>(e=Kr[e])?Do.isProgram(e):0,vd:e=>(e=en[e])?Do.isQuery(e):0,Sg:e=>(e=en[e])?Do.Ri.isQueryEXT(e):0,Qe:e=>(e=qr[e])?Do.isRenderbuffer(e):0,cc:e=>(e=tn[e])?Do.isSampler(e):0,Pe:e=>(e=Jr[e])?Do.isShader(e):0,nc:zi,Oe:e=>(e=Yr[e])?Do.isTexture(e):0,Rb:e=>Do.isTransformFeedback(rn[e]),bd:Xi,Gg:Xi,Ne:e=>Do.lineWidth(e),Me:Ki,Qb:()=>Do.pauseTransformFeedback(),Le:Hi,Ke:(e,t)=>Do.polygonOffset(e,t),Nb:()=>{Lr||=1280},Lb:()=>{Lr||=1280},Pg:(e,t)=>{Do.Ri.queryCounterEXT(en[e],t)},Fd:e=>Do.readBuffer(e),Je:Ji,Ie:()=>{},He:Qi,hd:(e,t,r,n,i)=>Do.renderbufferStorageMultisample(e,t,r,n,i),Pb:()=>Do.resumeTransformFeedback(),Ge:(e,t)=>{Do.sampleCoverage(e,!!t)},_b:(e,t,r)=>{Do.samplerParameterf(tn[e],t,r)},Zb:(e,t,r)=>{Do.samplerParameterf(tn[e],t,ye[r>>2])},ac:(e,t,r)=>{Do.samplerParameteri(tn[e],t,r)},$b:(e,t,r)=>{Do.samplerParameteri(tn[e],t,ve[r>>2])},Fe:Zi,Ee:()=>{Lr||=1280},De:ea,Ce:(e,t,r)=>Do.stencilFunc(e,t,r),Be:ta,Ae:e=>Do.stencilMask(e),ze:(e,t)=>Do.stencilMaskSeparate(e,t),ye:(e,t,r)=>Do.stencilOp(e,t,r),xe:ra,we:na,Dd:(e,t,r,n,i,a,o,s,l,c)=>{if(Do.Ui)Do.texImage3D(e,t,r,n,i,a,o,s,l,c);else if(c){var d=qi(l);Do.texImage3D(e,t,r,n,i,a,o,s,l,d,c>>>31-Math.clz32(d.BYTES_PER_ELEMENT))}else Do.texImage3D(e,t,r,n,i,a,o,s,l,null)},ve:ia,ue:aa,te:oa,se:(e,t,r)=>{Do.texParameteri(e,t,ve[r>>2])},Ib:(e,t,r,n,i)=>Do.texStorage2D(e,t,r,n,i),Hb:(e,t,r,n,i,a)=>Do.texStorage3D(e,t,r,n,i,a),qe:sa,Cd:(e,t,r,n,i,a,o,s,l,c,d)=>{if(Do.Ui)Do.texSubImage3D(e,t,r,n,i,a,o,s,l,c,d);else if(d){var u=qi(c);Do.texSubImage3D(e,t,r,n,i,a,o,s,l,c,u,d>>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else Do.texSubImage3D(e,t,r,n,i,a,o,s,l,c,null)},Xc:(e,t,r,n)=>{e=Kr[e];for(var i=[],a=0;a<t;a++)i.push(Xe(ve[r+4*a>>2]));Do.transformFeedbackVaryings(e,i,n)},pe:(e,t)=>{Do.uniform1f($i(e),t)},oe:(e,t,r)=>{t&&Do.uniform1fv($i(e),ye,r>>2,t)},ne:la,me:ca,Kc:(e,t)=>{Do.uniform1ui($i(e),t)},Gc:(e,t,r)=>{t&&Do.uniform1uiv($i(e),we,r>>2,t)},le:(e,t,r)=>{Do.uniform2f($i(e),t,r)},ke:(e,t,r)=>{t&&Do.uniform2fv($i(e),ye,r>>2,2*t)},je:(e,t,r)=>{Do.uniform2i($i(e),t,r)},ie:(e,t,r)=>{t&&Do.uniform2iv($i(e),ve,r>>2,2*t)},Jc:(e,t,r)=>{Do.uniform2ui($i(e),t,r)},Fc:(e,t,r)=>{t&&Do.uniform2uiv($i(e),we,r>>2,2*t)},he:(e,t,r,n)=>{Do.uniform3f($i(e),t,r,n)},fe:(e,t,r)=>{t&&Do.uniform3fv($i(e),ye,r>>2,3*t)},ee:(e,t,r,n)=>{Do.uniform3i($i(e),t,r,n)},de:(e,t,r)=>{t&&Do.uniform3iv($i(e),ve,r>>2,3*t)},Ic:(e,t,r,n)=>{Do.uniform3ui($i(e),t,r,n)},Ec:(e,t,r)=>{t&&Do.uniform3uiv($i(e),we,r>>2,3*t)},ce:(e,t,r,n,i)=>{Do.uniform4f($i(e),t,r,n,i)},be:da,ae:(e,t,r,n,i)=>{Do.uniform4i($i(e),t,r,n,i)},$d:(e,t,r)=>{t&&Do.uniform4iv($i(e),ve,r>>2,4*t)},Hc:(e,t,r,n,i)=>{Do.uniform4ui($i(e),t,r,n,i)},Dc:(e,t,r)=>{t&&Do.uniform4uiv($i(e),we,r>>2,4*t)},rc:(e,t,r)=>{e=Kr[e],Do.uniformBlockBinding(e,t,r)},_d:(e,t,r,n)=>{t&&Do.uniformMatrix2fv($i(e),!!r,ye,n>>2,4*t)},od:(e,t,r,n)=>{t&&Do.uniformMatrix2x3fv($i(e),!!r,ye,n>>2,6*t)},md:(e,t,r,n)=>{t&&Do.uniformMatrix2x4fv($i(e),!!r,ye,n>>2,8*t)},Zd:ua,nd:(e,t,r,n)=>{t&&Do.uniformMatrix3x2fv($i(e),!!r,ye,n>>2,6*t)},kd:(e,t,r,n)=>{t&&Do.uniformMatrix3x4fv($i(e),!!r,ye,n>>2,12*t)},Yd:fa,ld:(e,t,r,n)=>{t&&Do.uniformMatrix4x2fv($i(e),!!r,ye,n>>2,8*t)},jd:(e,t,r,n)=>{t&&Do.uniformMatrix4x3fv($i(e),!!r,ye,n>>2,12*t)},Wd:ha,Vd:e=>{Do.validateProgram(Kr[e])},Ud:(e,t)=>Do.vertexAttrib1f(e,t),Td:(e,t)=>{Do.vertexAttrib1f(e,ye[t>>2])},Sd:(e,t,r)=>Do.vertexAttrib2f(e,t,r),Rd:(e,t)=>{Do.vertexAttrib2f(e,ye[t>>2],ye[t+4>>2])},Qd:(e,t,r,n)=>Do.vertexAttrib3f(e,t,r,n),Pd:(e,t)=>{Do.vertexAttrib3f(e,ye[t>>2],ye[t+4>>2],ye[t+8>>2])},Od:(e,t,r,n,i)=>Do.vertexAttrib4f(e,t,r,n,i),Nd:(e,t)=>{Do.vertexAttrib4f(e,ye[t>>2],ye[t+4>>2],ye[t+8>>2],ye[t+12>>2])},Vb:ma,Cg:ma,Eb:ma,Jd:ma,Fb:ma,Rc:(e,t,r,n,i)=>Do.vertexAttribI4i(e,t,r,n,i),Pc:(e,t)=>{Do.vertexAttribI4i(e,ve[t>>2],ve[t+4>>2],ve[t+8>>2],ve[t+12>>2])},Qc:(e,t,r,n,i)=>Do.vertexAttribI4ui(e,t,r,n,i),Oc:(e,t)=>{Do.vertexAttribI4ui(e,we[t>>2],we[t+4>>2],we[t+8>>2],we[t+12>>2])},Uc:(e,t,r,n,i)=>{Do.vertexAttribIPointer(e,t,r,n,i)},Ld:ga,Kd:pa,kc:ba,Ha:(e,t,r)=>{if(t=((e,t)=>{function r(e){var t=a;return("double"===e||"i64"===e)&&7&t&&(t+=4),a=t,"double"===e?(e=Ee[a>>3],a+=8):"i64"==e?(e=[ve[a>>2],ve[a+4>>2]],a+=8):(e=ve[a>>2],a+=4),e}for(var n,i,a=t,o=[];;){var s=e;if(0===(n=me[e]))break;if(i=me[e+1],37==n){var l=!1,c=t=!1,d=!1,u=!1;e:for(;;){switch(i){case 43:l=!0;break;case 45:t=!0;break;case 35:c=!0;break;case 48:if(d)break e;d=!0;break;case 32:u=!0;break;default:break e}e++,i=me[e+1]}var f=0;if(42==i)f=r("i32"),e++,i=me[e+1];else for(;48<=i&&57>=i;)f=10*f+(i-48),e++,i=me[e+1];var h=!1,m=-1;if(46==i){if(m=0,h=!0,e++,42==(i=me[e+1]))m=r("i32"),e++;else for(;!(48>(i=me[e+1])||57<i);)m=10*m+(i-48),e++;i=me[e+1]}switch(0>m&&(m=6,h=!1),String.fromCharCode(i)){case"h":if(104==(i=me[e+2])){e++;var g=1}else g=2;break;case"l":108==(i=me[e+2])?(e++,g=8):g=4;break;case"L":case"q":case"j":g=8;break;case"z":case"t":case"I":g=4;break;default:g=null}switch(g&&e++,i=me[e+1],String.fromCharCode(i)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":s=100==i||105==i,n=r("i"+8*(g=g||4)),8==g&&(n=117==i?(n[0]>>>0)+4294967296*(n[1]>>>0):(n[0]>>>0)+4294967296*n[1]),4>=g&&(n=(s?va:wa)(n&Math.pow(256,g)-1,8*g));var p=Math.abs(n);if(s="",100==i||105==i)var b=va(n,8*g).toString(10);else if(117==i)b=wa(n,8*g).toString(10),n=Math.abs(n);else if(111==i)b=(c?"0":"")+p.toString(8);else if(120==i||88==i){if(s=c&&0!=n?"0x":"",0>n){for(n=-n,b=(p-1).toString(16),p=[],c=0;c<b.length;c++)p.push((15-parseInt(b[c],16)).toString(16));for(b=p.join("");b.length<2*g;)b="f"+b}else b=p.toString(16);88==i&&(s=s.toUpperCase(),b=b.toUpperCase())}else 112==i&&(0===p?b="(nil)":(s="0x",b=p.toString(16)));if(h)for(;b.length<m;)b="0"+b;for(0<=n&&(l?s="+"+s:u&&(s=" "+s)),"-"==b.charAt(0)&&(s="-"+s,b=b.substr(1));s.length+b.length<f;)t?b+=" ":d?b="0"+b:s=" "+s;(b=s+b).split("").forEach((function(e){o.push(e.charCodeAt(0))}));break;case"f":case"F":case"e":case"E":case"g":case"G":if(n=r("double"),isNaN(n))b="nan",d=!1;else if(isFinite(n)){if(h=!1,g=Math.min(m,20),103!=i&&71!=i||(h=!0,(m=m||1)>(g=parseInt(n.toExponential(g).split("e")[1],10))&&-4<=g?(i=(103==i?"f":"F").charCodeAt(0),m-=g+1):(i=(103==i?"e":"E").charCodeAt(0),m--),g=Math.min(m,20)),101==i||69==i?(b=n.toExponential(g),/[eE][-+]\d$/.test(b)&&(b=b.slice(0,-1)+"0"+b.slice(-1))):102!=i&&70!=i||(b=n.toFixed(g),0===n&&(0>n||0===n&&-1/0==1/n)&&(b="-"+b)),s=b.split("e"),h&&!c)for(;1<s[0].length&&s[0].includes(".")&&("0"==s[0].slice(-1)||"."==s[0].slice(-1));)s[0]=s[0].slice(0,-1);else for(c&&-1==b.indexOf(".")&&(s[0]+=".");m>g++;)s[0]+="0";b=s[0]+(1<s.length?"e"+s[1]:""),69==i&&(b=b.toUpperCase()),0<=n&&(l?b="+"+b:u&&(b=" "+b))}else b=(0>n?"-":"")+"inf",d=!1;for(;b.length<f;)b=t?b+" ":!d||"-"!=b[0]&&"+"!=b[0]?(d?"0":" ")+b:b[0]+"0"+b.slice(1);97>i&&(b=b.toUpperCase()),b.split("").forEach((function(e){o.push(e.charCodeAt(0))}));break;case"s":if(d=(l=r("i8*"))?ya(l):6,h&&(d=Math.min(d,m)),!t)for(;d<f--;)o.push(32);if(l)for(c=0;c<d;c++)o.push(ge[l++]);else o=o.concat(Ea("(null)".substr(0,d)));if(t)for(;d<f--;)o.push(32);break;case"c":for(t&&o.push(r("i8"));0<--f;)o.push(32);t||o.push(r("i8"));break;case"n":t=r("i32*"),ve[t>>2]=o.length;break;case"%":o.push(n);break;default:for(c=s;c<e+2;c++)o.push(me[c])}e+=2}else o.push(n),e+=1}return o})(t,r),r=ze(t,0),24&e){t=r=r.replace(/\s+$/,""),r=0<r.length?"\n":"";var n=e,i=Error().stack.toString();i=i.slice(i.indexOf("\n",Math.max(i.lastIndexOf("_emscripten_log"),i.lastIndexOf("_emscripten_get_callstack")))+1),8&n&&"undefined"==typeof emscripten_source_map&&(ur(),n=8^n|16);var a=i.split("\n");i="";var o,s=RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),l=RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),c=RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(o in a){var d,u=a[o];if((d=c.exec(u))&&5==d.length){u=d[1];var f=d[2],h=d[3];d=d[4]}else{if((d=s.exec(u))||(d=l.exec(u)),!(d&&4<=d.length)){i+=u+"\n";continue}u=d[1],f=d[2],h=d[3],d=0|d[4]}var m=!1;if(8&n){var g=emscripten_source_map.Kk({line:h,dk:d});(m=g?.source)&&(64&n&&(g.source=g.source.substring(g.source.replace(/\\/g,"/").lastIndexOf("/")+1)),i+=` at ${u} (${g.source}:${g.line}:${g.dk})\n`)}(16&n||!m)&&(64&n&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),i+=(m?` = ${u}`:` at ${u}`)+` (${f}:${h}:${d})\n`)}r=t+(r+(i=i.replace(/\s+$/,"")))}1&e?4&e?console.error(r):2&e?console.warn(r):512&e?console.info(r):256&e?console.debug(r):console.log(r):6&e?ue(r):de(r)},ub:e=>{var t=ge.length;if(2147483648<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296);var i=Math;n=Math.max(e,n);e:{i=(i.min.call(i,2147483648,n+(65536-n%65536)%65536)-fe.buffer.byteLength+65535)/65536;try{fe.grow(i),ke();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},Dh:(e,t)=>{Fr(e,t)},ea:()=>52,vb:()=>52,qb:function(){return 70},fa:(e,t,r,n)=>{for(var i=0,a=0;a<r;a++){var o=we[t>>2],s=we[t+4>>2];t+=8;for(var l=0;l<s;l++)ka(e,ge[o+l]);i+=s}return we[n>>2]=i,0},ge:xa,O:wn,Ca:yn,f:En,a:Pn,m:kn,d:Tn,dh:Sn,eh:_n,fh:jn,la:An,oa:In,A:Fn,_g:Cn,na:On,bh:Mn,ah:Rn,y:Ln,kh:Bn,Ch:Dn,qh:Wn,gh:Un,zh:$n,mh:Gn,pa:Vn,va:Nn,z:zn,Ba:Xn,P:Kn,ta:Hn,nh:qn,r:Yn,u:Qn,K:Zn,Aa:ei,b:ti,wa:ri,Zg:ni,Vg:si,g:ci,ya:di,ch:ui,N:fi,v:hi,ma:mi,w:gi,Q:pi,q:bi,D:wi,th:Ei,wh:Pi,za:ki,h:_i,Ah:ji,o:Ii,xh:Fi,n:Ci,ih:Ri,jh:Li,S:Bi,vh:Ui,oh:zi,yh:Ki,C:Hi,J:Ji,ua:Qi,M:Zi,lh:ea,ra:ta,qa:ra,Bh:na,rh:ia,sh:aa,i:oa,ph:sa,Wg:la,Yg:ca,t:da,Xg:ua,j:fa,E:ha,xa:ga,sa:pa,rb:ba,Z:async function(e,t,r,n){const[i,a,o]=await Va(ge.subarray(e,e+t));ns(i,r,a,o,n)},_:function(e,t,r,n){e=createImageBitmap(new Blob([ge.subarray(e,e+t)]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((e=>[n,e])),r in Ua||(Ua[r]=[]),Ua[r].push(e)},Ja:async function(e,t){const r=await Promise.all(Ua[e]),n=Br.Wi;var i=n.createTexture();const a=cn(Yr);i.name=a,Yr[a]=i,n.bindTexture(n.TEXTURE_2D,i);let o=i=1;for(const[e,t]of r)n.texImage2D(n.TEXTURE_2D,e,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t),0===e&&(i=t.width,o=t.height),t.close();delete Ua[e],ns(a,e,i,o,t)},Xd:function(){const e=Br.Wi,t=e.createTexture(),r=cn(Yr);t.name=r,Yr[r]=t;const i=n.split_sum;return e.bindTexture(e.TEXTURE_2D,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,i),$a=i.width,Ga=i.height,i.close(),r},pf:function(){Sa&&(Sa.width=0,Sa.height=0,Sa.remove()),Oa&&(Oa.width=0,Oa.height=0),Aa=Ma=_a=Oa=Sa=null},ha:function(e){n.Ki[e]=null},ca:function(e){var t=(e=n.Ki[e]).canvas;const r=e.Yi,i=t.width;if(t=t.height,e.mj||Ia!==i||Fa!==t)if(Ca){if(!Wa){var a=new Uint8ClampedArray(4*i*t);return r.readPixels(0,0,i,t,r.RGBA,r.UNSIGNED_BYTE,a),Aa=new ImageData(a,i,t),Ia=i,Fa=t,e.mj=!1,$(Aa)}if(null==Ba)return r.bindBuffer(r.PIXEL_PACK_BUFFER,La),r.readPixels(0,0,i,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ba=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush(),0;switch(r.clientWaitSync(Ba,0,0)){case r.TIMEOUT_EXPIRED:case r.WAIT_FAILED:return Aa?$(Aa):0}a=new Uint8ClampedArray(4*i*t),r.bindBuffer(r.PIXEL_PACK_BUFFER,La),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,a),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),r.deleteSync(Ba),Aa=new ImageData(a,i,t),Ia=i,Fa=t,e.mj=!1,r.bindBuffer(r.PIXEL_PACK_BUFFER,La),r.readPixels(0,0,i,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ba=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush()}else Aa=r.getImageData(0,0,i,t),Ia=i,Fa=t,e.mj=!1;return $(Aa)},aa:function(e){return(e=n.Ki[e])?e.height:0},ba:function(e){return(e=n.Ki[e])?e.width:0},$:function(e,t){if(!(e=n.Ki[e]))throw Error("Image data does not exist.");ge.set(e.data,t)},Bd:function(){return Ga},Md:function(){return $a},Wc:function(){return ja||=$({canvas:Ca?Oa:Sa,Yi:Ca?Ma:_a,mj:!0}),ja},fd:function(e){return n.Ki[e].videoHeight},qd:function(e){return n.Ki[e].videoWidth},re:function(e,t){if(({canvas:e}=n.Ki[e]),t=Yr[t],!Br||!t)return-1;Do.bindTexture(Do.TEXTURE_2D,t),Do.texImage2D(Do.TEXTURE_2D,0,Do.RGBA,Do.RGBA,Do.UNSIGNED_BYTE,e)},Lc:function(e,t,r){const i=(e=n.Ki[e]).canvas,a=e.Yi,o=n.Ki[t];t=o.videoWidth;let s=o.videoHeight;90!==r&&270!==r||([t,s]=[s,t]),Ca?((null==Da||null==La&&Wa||Oa.width!==t||Oa.height!==s)&&(i.width=t,i.height=s,a.deleteSync(Ba),Ba=null,null!=Da&&a.deleteTexture(Da),null!=La&&a.deleteBuffer(La),La=a.createBuffer(),a.bindBuffer(a.PIXEL_PACK_BUFFER,La),a.bufferData(a.PIXEL_PACK_BUFFER,4*t*s,a.STREAM_READ),a.bindBuffer(a.PIXEL_PACK_BUFFER,null),Da=a.createTexture(),a.bindTexture(a.TEXTURE_2D,Da),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.bindTexture(a.TEXTURE_2D,null)),a.bindTexture(a.TEXTURE_2D,Da),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,o),r=-r*Math.PI/180,r=new Float32Array([Math.cos(r),-Math.sin(r),Math.sin(r),Math.cos(r)]),a.uniformMatrix2fv(Ra,!1,r),a.viewport(0,0,t,s),a.clearColor(0,0,0,1),a.clear(a.COLOR_BUFFER_BIT),a.drawArrays(a.TRIANGLES,0,3)):(i.width===t&&i.height===s||(i.width=t,i.height=s),a.translate(t/2,s/2),a.rotate(r*Math.PI/180),a.drawImage(o,-o.videoWidth/2,-o.videoHeight/2),a.resetTransform()),e.mj=!0},kb:function(e){ye.set(Za,e>>2)},jb:function(e){ye.set(Qa,e>>2)},tb:function(){return Ha},Bb:function(){return Ka},Mb:function(){return Xa},Xb:eo,lb:function(){return Ja},I:function(){return za},gc:function(){return Na},pb:function(){Na||(null!=qa&&(qa.isInitialized()&&qa.release(),qa=null),Ya=null,Ka=Xa=0,za=!1,console.log("DeepAR FaceTracking released."))},ob:function(e){if(!(e=n.Ki[e]))throw Error("No image data.");to(e)},nb:function(e,t,r){to(e=new ImageData(new Uint8ClampedArray(ge.subarray(e,e+t*r*4)),t,r))},gb:function(){return so},hb:function(){return oo},_a:function(e){ye.set(uo,e>>2)},Za:function(e){ye.set(fo,e>>2)},Xa:function(e){ye.set(mo,e>>2)},Wa:function(e){ye.set(go,e>>2)},ib:function(){return ao},db:bo,x:function(){return io},fb:function(){return no},$a:function(){return ho},Ya:function(){return po},eb:function(){no||(null!=lo&&(lo.isInitialized()&&lo.release(),lo=null),oo=ao=0,co=null,io=!1,console.log("DeepAR FootTracking released."))},bb:function(e){if(!(e=n.Ki[e]))throw Error("No image data.");vo(e)},ab:function(e,t,r){vo(e=new ImageData(new Uint8ClampedArray(ge.subarray(e,e+t*r*4)),t,r))},Ma:function(){return xo},Na:function(){return To},Oa:function(){return ko},Pa:function(e){ye.set(Ao,e>>2)},Ra:function(e){ye.set(Io,e>>2)},Ka:Oo,da:function(){return Po},Qa:function(){return So.isMirrored()},Sa:function(){return jo},La:function(){Eo||(null!=So&&(So.isInitialized()&&So.release(),So=null),To=ko=0,_o=null,Po=!1,console.log("DeepAR WristTracking released."))},Va:function(e){if(!(e=n.Ki[e]))throw Error("No image data.");Mo(e)},Ua:function(e,t,r){Mo(e=new ImageData(new Uint8ClampedArray(ge.subarray(e,e+t*r*4)),t,r))}},zo=function(){var e={a:No};return Ie++,Me||=Re("deepar.wasm")?"deepar.wasm":n.locateFile?n.locateFile("deepar.wasm",le):le+"deepar.wasm",function(e,t){var r=Me;return ce||"function"!=typeof WebAssembly.instantiateStreaming||Re(r)||"function"!=typeof fetch?Be(r,e,t):fetch(r,{credentials:"same-origin"}).then((n=>WebAssembly.instantiateStreaming(n,e).then(t,(function(n){return ue(`wasm streaming compile failed: ${n}`),ue("falling back to ArrayBuffer instantiation"),Be(r,e,t)}))))}(e,(function(e){zo=e.instance.exports,fe=zo.Gh,ke(),Pt=zo.Kh,xe.unshift(zo.Hh),0==--Ie&&(null!==Fe&&(clearInterval(Fe),Fe=null),Ce&&(e=Ce,Ce=null,e()))})).catch(r),{}}(),Xo=e=>(Xo=zo.Ih)(e),Ko=n._free=e=>(Ko=n._free=zo.Jh)(e),Ho=n._shutdownEngine=()=>(Ho=n._shutdownEngine=zo.Lh)();n._processFrameVideo=(e,t,r)=>(n._processFrameVideo=zo.Mh)(e,t,r),n._processFrameRawPixels=(e,t,r,i)=>(n._processFrameRawPixels=zo.Nh)(e,t,r,i),n._switchEffect=(e,t,r,i,a,o,s,l)=>(n._switchEffect=zo.Oh)(e,t,r,i,a,o,s,l),n._clearEffect=e=>(n._clearEffect=zo.Ph)(e),n._showStats=e=>(n._showStats=zo.Qh)(e),n._setStats=e=>(n._setStats=zo.Rh)(e),n.__Z8getStatsv=e=>(n.__Z8getStatsv=zo.Sh)(e),n._render=()=>(n._render=zo.Th)(),n._changeParameterFloat=(e,t,r,i)=>(n._changeParameterFloat=zo.Uh)(e,t,r,i),n._changeParameterBool=(e,t,r,i)=>(n._changeParameterBool=zo.Vh)(e,t,r,i),n._changeParameterVector=(e,t,r,i,a,o,s)=>(n._changeParameterVector=zo.Wh)(e,t,r,i,a,o,s),n._changeParameterTexture=(e,t,r,i,a,o,s)=>(n._changeParameterTexture=zo.Xh)(e,t,r,i,a,o,s);var qo=n._reset=(e,t)=>(qo=n._reset=zo.Yh)(e,t);n._moveGameObject=(e,t)=>(n._moveGameObject=zo.Zh)(e,t),n._setCameraFov=(e,t)=>(n._setCameraFov=zo._h)(e,t),n._getClosestPointOnMesh=(e,t,r,i)=>(n._getClosestPointOnMesh=zo.$h)(e,t,r,i),n._getTransformationBetween=(e,t)=>(n._getTransformationBetween=zo.ai)(e,t),n._setEnvironmentMap=(e,t)=>(n._setEnvironmentMap=zo.bi)(e,t);var Yo=n._setEnvironmentMapNative=(e,t,r)=>(Yo=n._setEnvironmentMapNative=zo.ci)(e,t,r);n._setEnvironmentMapIntensity=e=>(n._setEnvironmentMapIntensity=zo.di)(e),n._setExposure=e=>(n._setExposure=zo.ei)(e),n._setToneMapping=e=>(n._setToneMapping=zo.fi)(e),n._resetEnvironmentMap=()=>(n._resetEnvironmentMap=zo.gi)(),n._resetToneMapping=()=>(n._resetToneMapping=zo.hi)(),n._resetExposure=()=>(n._resetExposure=zo.ii)(),n._resetEnvironmentMapIntensity=()=>(n._resetEnvironmentMapIntensity=zo.ji)(),n._setBloomEnabled=e=>(n._setBloomEnabled=zo.ki)(e),n._setBloomThreshold=e=>(n._setBloomThreshold=zo.li)(e),n._setBloomStrength=e=>(n._setBloomStrength=zo.mi)(e),n._setBloomRadius=e=>(n._setBloomRadius=zo.ni)(e),n._setDiamondEnvironmentMap=(e,t)=>(n._setDiamondEnvironmentMap=zo.oi)(e,t);var Jo,Qo=n._setDiamondEnvironmentMapNative=(e,t,r)=>(Qo=n._setDiamondEnvironmentMapNative=zo.pi)(e,t,r),Zo=n._malloc=e=>(Zo=n._malloc=zo.qi)(e),es=n._allocateMeshData=(e,t,r,i)=>(es=n._allocateMeshData=zo.ri)(e,t,r,i),ts=n._getTrianglesDataPtr=(e,t)=>(ts=n._getTrianglesDataPtr=zo.si)(e,t),rs=n._onDracoMeshDecoded=(e,t)=>(rs=n._onDracoMeshDecoded=zo.ti)(e,t),ns=n._onCreateImageBitmap=(e,t,r,i,a)=>(ns=n._onCreateImageBitmap=zo.ui)(e,t,r,i,a),is=()=>(is=zo.vi)(),as=e=>(as=zo.wi)(e),os=()=>(os=zo.xi)(),ss=e=>(ss=zo.yi)(e),ls=e=>(ls=zo.zi)(e),cs=()=>(cs=zo.Ai)();function ds(){0<Ie||(Ve(Te),0<Ie||Jo||(Jo=!0,n.calledRun=!0,Pe||(je=!0,Ve(xe),t(n),n.onRuntimeInitialized?.(),Ve(_e))))}return n.dynCall_viiiij=(e,t,r,i,a,o,s)=>(n.dynCall_viiiij=zo.Bi)(e,t,r,i,a,o,s),n.dynCall_viiij=(e,t,r,i,a,o)=>(n.dynCall_viiij=zo.Ci)(e,t,r,i,a,o),n.dynCall_iij=(e,t,r,i)=>(n.dynCall_iij=zo.Di)(e,t,r,i),n.dynCall_iijii=(e,t,r,i,a,o)=>(n.dynCall_iijii=zo.Ei)(e,t,r,i,a,o),n.dynCall_vijii=(e,t,r,i,a,o)=>(n.dynCall_vijii=zo.Fi)(e,t,r,i,a,o),n.dynCall_jiji=(e,t,r,i,a)=>(n.dynCall_jiji=zo.Gi)(e,t,r,i,a),n.dynCall_viij=(e,t,r,i,a)=>(n.dynCall_viij=zo.Hi)(e,t,r,i,a),n.cwrap=Ro,Ce=function e(){Jo||ds(),Jo||(Ce=e)},ds(),a});const o=a;var s=r(795);class l extends Error{constructor(e){super(e),this.name="SwitchEffectCanceled"}}class c extends Error{constructor(e){super(e),this.name="NoCameraError"}}class d extends Error{constructor(e){super(e),this.name="CameraPermissionDeniedError"}}let u,f=0;const h=function(){var e;if(null===(e=document.documentElement.getAttribute("itemtype"))||void 0===e?void 0:e.includes("schema.org/SearchResultsPage"))return!0;const t=null!=document.head?Array.from(document.head.querySelectorAll("meta")):[];for(const e of t)if("viewport"===e.name)return!0;return!1}();function m(){return 0!=f?f:h&&window.devicePixelRatio||1}function g(e,t,r,n){e.width=Math.floor(t*n),e.height=Math.floor(r*n)}h||console.error('DeepAR cannot utilize screen DPR because no meta viewport tag is defined. Add <meta name="viewport" content="width=device-width, initial-scale=1" /> to you HTML.');const p=()=>{const e=parseFloat(u.computedStyle.width||"0"),t=parseFloat(u.computedStyle.height||"0"),r=m();e===u.cssWidth&&t===u.cssHeight&&r===u.devicePixelRatio||(u.cssWidth=e,u.cssHeight=t,u.devicePixelRatio=r,g(u.canvas,e,t,r))},b=()=>{u.canvas.style.width="100%",u.canvas.style.height="100%"};function v(){u&&(u.canvas.width=0,u.canvas.height=0,u.canvas.remove(),u=null)}var w=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const y=[],E={};function P(e){const t=`__deeparDynamicJsModule_${e}__`;let r;return e=>(n=null)=>w(this,void 0,void 0,(function*(){if(r!==e&&(window[t]=null),r=e,null!=window[t])return window[t];if(yield function(e,t,r=null){return w(this,void 0,void 0,(function*(){if(e in E)return E[e];if("undefined"==typeof window)throw new Error(`Cannot load DeepAR dynamic JS module because window is undefined. Module: ${e}`);const n=(()=>w(this,void 0,void 0,(function*(){let n;r&&r.isUrlTracked(e)&&(n=yield r.getFilePromises(e).then((e=>URL.createObjectURL(new Blob([e],{type:"application/javascript"})))));const i=()=>{e in E&&delete E[e],n&&URL.revokeObjectURL(n)},a=n||e;if("function"==typeof window.define&&window.define.amd&&"function"==typeof window.require)return new Promise((e=>{window.require([a],(r=>{y.push(a),window[t]=r,i(),e()}),(()=>{i(),e()}))}));const o=document.createElement("script");return o.setAttribute("src",a),o.setAttribute("crossorigin","anonymous"),new Promise((e=>{o.addEventListener("load",(()=>{i(),e()}),!1),o.addEventListener("error",(()=>{i(),e()}),!1),document.body.appendChild(o)}))})))();return E[e]=n,n}))}(e,t,n),null==window[t])throw new Error(`Error loading DeepAR JS dynamic module xzimg. The window.${t} is undefined or null.`);return window[t]}))}const k=P("xzimg");P("mediaPipe");var T=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};function x(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}let S,_,j=0;class A{constructor(e){this.isReady=!1,this.currentWorkloadEstimate=0,this.readyPromise=new Promise(((e,t)=>T(this,void 0,void 0,(function*(){try{this.worker=new Worker(yield S);const t=r=>{"ready"===r.data.type&&(this.isReady=!0,this.worker.removeEventListener("message",t),e())};this.worker.addEventListener("message",t);const r=yield _;this.worker.postMessage({type:"init",wasmBuffer:r},[r.slice(0)])}catch(e){t(e)}}))))}waitForReady(){return T(this,void 0,void 0,(function*(){if(!this.isReady)return this.readyPromise}))}decode(e){return T(this,void 0,void 0,(function*(){this.isReady||(yield this.waitForReady());const t=j++,r=e.data.byteLength;return this.currentWorkloadEstimate+=r,this.worker.postMessage({type:"decode",data:e.data,preserveVertexOrder:e.preserveVertexOrder,jobId:t},[e.data]),new Promise((e=>{const n=i=>{const a=i.data;if("decoded"===a.type&&a.jobId===t){const t=a.data,i=new Uint8Array(t),o=x(i,0),s=x(i,4);this.worker.removeEventListener("message",n),this.currentWorkloadEstimate-=r,e({data:t,vertexCount:o,trianglesCount:s})}};this.worker.addEventListener("message",n)}))}))}getWorkloadEstimate(){return this.currentWorkloadEstimate}dispose(){this.worker?this.worker.terminate():this.readyPromise.then((()=>this.worker.terminate())).catch((()=>{}))}}class I{constructor(e,t){this.decoders=[],this.maxDecoders=navigator.hardwareConcurrency||1,this.maxDecoders>4&&(this.maxDecoders=4),S=t.downloadFile(e.js,"text").then((e=>new Blob([e],{type:"text/javascript"}))).then((e=>URL.createObjectURL(e))),_=t.downloadFile(e.wasm);for(let t=0;t<this.maxDecoders;t++)this.decoders.push(new A(e));Promise.all(this.decoders.map((e=>e.waitForReady()))).then((()=>{S.then((e=>{URL.revokeObjectURL(e),S=null})),_.then((e=>{_=null}))})).catch((()=>{S=null,_=null}))}decode(e){return T(this,void 0,void 0,(function*(){return this.decoders.reduce(((e,t)=>t.getWorkloadEstimate()<e.getWorkloadEstimate()?t:e)).decode(e)}))}dispose(){this.decoders.forEach((e=>e.dispose())),S=null,_=null}}const F={"text/javascript":5e4,"application/wasm":2e6,"application/octet-stream":2e6,"binary/octet-stream":5e6,"application/x-ttf":3e6},C={".js":5e4,".mjs":5e4,".wasm":2e6,".bin":2e6,".deepar":5e6,".hdr":1e6,".obj":2e4};let O=null;class M{constructor(e=!0){this.files=new Map,this.totalProgress={loaded:0,total:0},this.startImmediately=e}downloadFile(e,t="arraybuffer",r=this.startImmediately){if(this.files.has(e))return this.files.get(e).dataPromise;const n=new XMLHttpRequest;n.open("GET",e),n.responseType=t,this.files.set(e,{loaded:0,total:0,isFailed:!1,dataPromise:null,data:null,isStarted:r,xhr:n,isLengthComputable:!1,isEventLengthComputable:!1,isCancelled:!1});const i=this.files.get(e),a=new Promise(((t,r)=>{n.onload=()=>{n.status>=200&&n.status<300?t(n.response):(i.isFailed=!0,r(new Error(`Download failed for ${e} with status ${n.status}`)))},n.onerror=()=>{i.isFailed=!0,r(new Error("Network error for "+e+" ("+n.status+")"))},n.onabort=()=>{i.isFailed=!0,i.isCancelled&&r(new Error("Download cancelled for "+e+" ("+n.status+")")),r(new Error("Download aborted for "+e+" ("+n.status+")"))}}));return i.dataPromise=a,r&&n.send(),a.then((e=>{i.data=e,i.loaded=i.total,this.reportProgress()})).catch((e=>{i.isFailed=!0})),n.onprogress=t=>{if(!(i.isFailed||n.status>=300||n.status<200)){if(i.isEventLengthComputable&&!t.lengthComputable&&(i.total=0),0===i.total)if(t.lengthComputable)i.total=t.total,i.isLengthComputable=!0,i.isEventLengthComputable=!0;else{const t=Object.keys(O);for(const r of t)if(e.endsWith(r)){i.total=O[r],i.isLengthComputable=!0;break}if(0===i.total){const e=n.getResponseHeader("x-amz-meta-content-length");e&&(i.total=parseInt(e),i.isLengthComputable=!0)}if(0===i.total){const t=Object.keys(C);for(const r of t)if(e.endsWith(r)){i.total=C[r];break}}if(0===i.total){const e=n.getResponseHeader("Content-Type");i.total=e in F?F[e]:1e6}}i.isLengthComputable?i.loaded=t.loaded:i.loaded=Math.min(t.loaded,.95*i.total),this.reportProgress()}},a}addCustomProgress(){const e=crypto.randomUUID();this.files.set(e,{loaded:0,total:0,isFailed:!1,dataPromise:null,data:null,isStarted:!0,xhr:null,isLengthComputable:!0,isEventLengthComputable:!0,isCancelled:!1});const t=this.files.get(e);return e=>{0===t.total&&(t.total=e.total),t.loaded=e.loaded,this.reportProgress()}}reportProgress(){if(null==this.files)return;let e=!0;this.totalProgress.loaded=0,this.totalProgress.total=0;for(const[t,r]of this.files.entries()){if(0==r.total){e=!1;break}this.totalProgress.loaded+=r.loaded,this.totalProgress.total+=r.total}e&&this.onProgress&&this.onProgress(this.totalProgress)}getFileProgress(e){return this.files.get(e)}getProgress(){return this.totalProgress}getFilePromises(e){return this.files.get(e).dataPromise}getFileData(e){return this.files.get(e).data}getFilesList(){return Array.from(this.files.keys())}isUrlTracked(e){return this.files.has(e)}dispose(){this.files.forEach((e=>{e.isCancelled=!0,e.xhr&&e.xhr.abort()})),this.files.clear(),this.files=null,this.totalProgress=null,this.onProgress=null}startDownloading(){for(const e of this.files.values())e.isStarted||(e.xhr.send(),e.isStarted=!0)}allFilesHaveSize(){for(const e of this.files.values())if(0==e.total)return!1;return this.files.size>0}}class R{constructor(){this.progressArray=[],this.progressGroupId=[],this.groupWeight=new Map,this.totalProgress={loaded:0,total:0}}addGlobalProgress(e,t=0){this.progressArray.push(e),this.progressGroupId.push(t),this.groupWeight.has(t)||this.groupWeight.set(t,1),e.onProgress=e=>{this.totalProgress.loaded=0,this.totalProgress.total=100;const t=Array.from(this.groupWeight.values()).reduce(((e,t)=>e+t),0),r=Array(this.groupWeight.size).fill(0),n=Array(this.groupWeight.size).fill(0);for(let e=0;e<this.progressArray.length;e++){const t=this.progressArray[e];r[this.progressGroupId[e]]+=t.getProgress().loaded,n[this.progressGroupId[e]]+=t.getProgress().total}for(let e=0;e<this.groupWeight.size;e++){const i=this.groupWeight.get(e)/t;this.totalProgress.loaded+=0===n[e]?0:r[e]/n[e]*i*100}this.onProgress&&this.onProgress(this.totalProgress)}}setGroupWeight(e,t){this.groupWeight.set(e,t)}getFileProgress(e){for(const t of this.progressArray)if(t.getFilesList().includes(e))return t.getFileProgress(e)}getProgress(){return this.totalProgress}getFilePromises(e){for(const t of this.progressArray)if(t.getFilesList().includes(e))return t.getFilePromises(e)}getFileData(e){for(const t of this.progressArray)if(t.getFilesList().includes(e))return t.getFileData(e)}getFilesList(){return this.progressArray.map((e=>e.getFilesList())).flat()}isUrlTracked(e){return this.progressArray.some((t=>t.isUrlTracked(e)))}dispose(){this.onProgress=null,this.progressArray.forEach((e=>e.dispose())),this.progressArray.length=0,this.totalProgress=null}}const L=(()=>{try{return WebAssembly.validate(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]))}catch(e){return!1}})(),B=(()=>{try{return(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch(e){return!1}})();let D;function W(e){D&&e.removePreRenderListener(D),D=null}var U=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const $="https://d3jgs8uysn2mr7.cloudfront.net/v"+t+"/",G={video:{facingMode:"user",frameRate:{ideal:30},width:{ideal:640},height:{ideal:360}}},V="DEFAULT_SLOT";let N;function z(e){return{tfjsBackendWasmPath:e.rootPath+"wasm/tfjs-backend-wasm.wasm",tfjsBackendWasmSimdPath:e.rootPath+"wasm/tfjs-backend-wasm-simd.wasm",tfjsBackendWasmThreadedSimdPath:e.rootPath+"wasm/tfjs-backend-wasm-threaded-simd.wasm"}}function X(e,t){return!(!e.additionalOptions||!e.additionalOptions.hint)&&("string"==typeof e.additionalOptions.hint?e.additionalOptions.hint===t:!!Array.isArray(e.additionalOptions.hint)&&e.additionalOptions.hint.some((e=>e===t)))}function K(){return"mediaDevices"in navigator&&"getUserMedia"in navigator.mediaDevices}function H(e){const t=Object.assign({},e);return B&&L?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmSimdPath):L?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmThreadedSimdPath):(delete t.tfjsBackendWasmSimdPath,delete t.tfjsBackendWasmThreadedSimdPath),t}let q=!1,Y=!1;function J(t){var r,n,i,a,l,h,w,y,E,P,T,x,S;return U(this,void 0,void 0,(function*(){if(q)throw new Error("DeepAR is already initialized. You cannot have multiple instances of DeepAR object. Call DeepAR.shutdown() first.");if(Y)throw new Error("deepar.initialize() called but DeepAR is currently being initialized.");const _=null!==(n=null===(r=null==t?void 0:t.additionalOptions)||void 0===r?void 0:r.pixelRatio)&&void 0!==n?n:0;t.canvas||(t.canvas=function(e,t){u&&(console.warn("Canvas is already created. Call invalidate() first."),v());const r=document.createElement("canvas");r.style.display="block",r.style.maxWidth="100%",r.style.maxHeight="100%",f=t;const n=getComputedStyle(e);return u={computedStyle:n,cssWidth:parseFloat(n.width||"0"),cssHeight:parseFloat(n.height||"0"),devicePixelRatio:m(),previewElement:e,canvas:r},g(r,u.cssWidth,u.cssHeight,u.devicePixelRatio),e.append(r),r}(t.previewElement,_));let j=!0,A=G,F=!(null!==(l=null===(a=null===(i=null==t?void 0:t.additionalOptions)||void 0===i?void 0:i.cameraConfig)||void 0===a?void 0:a.disableDefaultCamera)&&void 0!==l&&l);A.video.facingMode=null!==(y=null===(w=null===(h=null==t?void 0:t.additionalOptions)||void 0===h?void 0:h.cameraConfig)||void 0===w?void 0:w.facingMode)&&void 0!==y?y:A.video.facingMode,"environment"===(null===(P=null===(E=null==t?void 0:t.additionalOptions)||void 0===E?void 0:E.cameraConfig)||void 0===P?void 0:P.facingMode)&&(j=!1);let C,D=!1;if(F){if(!K())throw new c;null===(S=null===(x=null===(T=null==t?void 0:t.additionalOptions)||void 0===T?void 0:T.cameraConfig)||void 0===x?void 0:x.cameraPermissionAsked)||void 0===S||S.call(x),C=navigator.mediaDevices.getUserMedia(A),C.catch((()=>{D=!0}))}const W=()=>U(this,void 0,void 0,(function*(){var r,n,i,a,l,c,u,f,h,m,g,v,w,y,E,P;if(D)throw new d;if(t.rootPath=(E=t.rootPath)?E.endsWith("/")?E:E+"/":$,P=yield fetch(function(e){return e.rootPath+"file_sizes.json"}(t)).then((e=>e.json())),O=P,D)throw new d;const T=new M;let x=null;const S=new R;S.addGlobalProgress(T);let _,A,W,G,V=!1;t.effect&&(V=!0,"string"!=typeof t.effect?A=t.effect:_=T.downloadFile(t.effect),x=new M,S.addGlobalProgress(x,1),S.setGroupWeight(0,8),S.setGroupWeight(1,2)),"string"==typeof(null===(r=null==t?void 0:t.effectOptions)||void 0===r?void 0:r.envmap)&&(W=T.downloadFile(t.effectOptions.envmap)),"string"==typeof(null===(n=null==t?void 0:t.effectOptions)||void 0===n?void 0:n.diamondEnvMap)&&(G=T.downloadFile(t.effectOptions.diamondEnvMap));let K,J=!1;(null===(i=null==t?void 0:t.additionalOptions)||void 0===i?void 0:i.customEnvMapPath)&&(J=!0,K=T.downloadFile(t.additionalOptions.customEnvMapPath));const Z=t.rootPath+"wasm/deepar.wasm",ee=T.downloadFile(Z),te=T.downloadFile(function(e){return e.rootPath+"split_sum.webp"}(t)),re=function(e){return{xzimgPath:e.rootPath+"js/dynamicModules/xzimg.js",mediaPipePath:e.rootPath+"js/dynamicModules/mediaPipe.js"}}(t),ne=new I(function(e){return{js:e.rootPath+"js/workers/draco-decoder.js",wasm:new URL(e.rootPath+"wasm/draco-decoder.wasm",window.location.href).href}}(t),T),ie={footInit:X(t,"footInit")||(null===(l=null===(a=null==t?void 0:t.effectOptions)||void 0===a?void 0:a.trackingInit)||void 0===l?void 0:l.foot),faceInit:X(t,"faceInit")||X(t,"rigidFaceTrackingInit")||(null===(u=null===(c=null==t?void 0:t.effectOptions)||void 0===c?void 0:c.trackingInit)||void 0===u?void 0:u.face),wristInit:X(t,"wristInit")||(null===(h=null===(f=null==t?void 0:t.effectOptions)||void 0===f?void 0:f.trackingInit)||void 0===h?void 0:h.wrist)},ae=function(e){return Object.assign({poseEstimationWasmPath:e.rootPath+"wasm/libxzimgPoseEstimation.wasm",detectorPath:e.rootPath+"models/face-cnn/face-det.bin",trackerPath:e.rootPath+"models/face-cnn/face-track-19-v2.bin"},z(e))}(t),oe=function(e){return Object.assign({poseEstimationWasmPath:e.rootPath+"wasm/libxzimgPoseEstimation.wasm",objPath:e.rootPath+"models/foot/foot-right-200.obj",detectorPath:e.rootPath+"models/foot/foot-detector-96x96x6-q8.bin",trackerPath:e.rootPath+"models/foot/foot-keyps-superfast-23JUN2024.bin"},z(e))}(t),se=function(e){return Object.assign({poseEstimationWasmPath:e.rootPath+"wasm/libxzimgPoseEstimation.wasm",objPath:e.rootPath+"models/wrist/wrist-track.obj",detectorPath:e.rootPath+"models/wrist/wrist-det-9.bin",trackerPath:e.rootPath+"models/wrist/wrist-track-181-q.bin"},z(e))}(t),le=function(e){return e.rootPath+"default_envmap.webp"}(t),ce=Object.values(ie).some((e=>e));if(ie.faceInit){T.downloadFile(re.xzimgPath).catch((()=>{}));for(const e of Object.values(H(ae)))T.downloadFile(e).catch((()=>{}))}if(ie.footInit){T.downloadFile(re.xzimgPath).catch((()=>{}));for(const e of Object.values(H(oe)))T.downloadFile(e).catch((()=>{}))}if(ie.wristInit){T.downloadFile(re.xzimgPath).catch((()=>{}));for(const e of Object.values(H(se)))T.downloadFile(e).catch((()=>{}))}let de,ue,fe={licenseKey:t.licenseKey,canvasWidth:t.canvas.width,canvasHeight:t.canvas.height,canvas:t.canvas,rigidFaceTrackingConfig:ae,footTrackingConfig:oe,wristTrackingConfig:se,defaultEnvmapPath:le,apiObject:{onInitialize:()=>{}},onAbort:e=>de=new WebAssembly.RuntimeError("Aborted: "+e),initializeML:ie,dynamicImports:{xzimg:k(re.xzimgPath)},customErrors:e,platform:s,draco_decoder:ne,split_sum:te,globalProgress:S,wasmBinary:null,WASM_HAS_SIMD_SUPPORT:L,WASM_HAS_MULTITHREAD_SUPPORT:B,locateFile:(e,t)=>"deepar.wasm"===e?Z:t+e,onVerify:null!==(g=null===(m=null==t?void 0:t.additionalOptions)||void 0===m?void 0:m.onVerify)&&void 0!==g?g:e=>e};S.onProgress=e=>{t.onProgress&&t.onProgress(e)},Y=!0;try{if(fe.wasmBinary=yield ee,D)throw new d;if(ue=yield o(fe),D)throw new d;if(fe.wasmBinary=null,yield ue.initializeDeepAR(),D)throw new d;ue.startLoop()}catch(e){if(ue=null,fe=null,Y=!1,S.dispose(),de)throw de;throw e}t.previewElement&&(ue.addPreRenderListener(p),ue.addPostRenderListener(b));const he=new Q(ue,ne);(null===(v=null==t?void 0:t.additionalOptions)||void 0===v?void 0:v.exposure)&&he.setExposure(t.additionalOptions.exposure),(null===(w=null==t?void 0:t.additionalOptions)||void 0===w?void 0:w.envMapIntensity)&&he.setEnvironmentMapIntensity(t.additionalOptions.envMapIntensity),(null===(y=null==t?void 0:t.additionalOptions)||void 0===y?void 0:y.toneMapping)&&he.setToneMapping(t.additionalOptions.toneMapping);let me=[];if(F&&me.push((()=>U(this,void 0,void 0,(function*(){var e,r,n;return N=document.createElement("video"),N.setAttribute("playsinline","playsinline"),N.srcObject=yield C.catch((()=>{throw new d})),null===(n=null===(r=null===(e=null==t?void 0:t.additionalOptions)||void 0===e?void 0:e.cameraConfig)||void 0===r?void 0:r.cameraPermissionGranted)||void 0===n||n.call(r),new Promise((e=>{N.onloadedmetadata=()=>{N.play().then((()=>{var r,n;(null===(n=null===(r=null==t?void 0:t.additionalOptions)||void 0===r?void 0:r.cameraConfig)||void 0===n?void 0:n.rotation)&&ue.setVideoRotation(t.additionalOptions.cameraConfig.rotation),ue.setVideoElement(N,j),N.onloadedmetadata=null,e()}))}}))})))()),ce&&(me.push(fe.dynamicImports.xzimg(S)),ie.faceInit&&!fe.isFaceTrackingInitialized()&&me.push(new Promise((e=>{he.callbacks.onFaceTrackingInitialized=()=>{(null==he?void 0:he.callbacks)&&(he.callbacks.onFaceTrackingInitialized=void 0),e()}}))),ie.footInit&&!fe.isFootTrackingInitialized()&&me.push(new Promise((e=>{he.callbacks.onFootTrackingInitialized=()=>{(null==he?void 0:he.callbacks)&&(he.callbacks.onFootTrackingInitialized=void 0),e()}}))),ie.wristInit&&!fe.isWristTrackingInitialized()&&me.push(new Promise((e=>{he.callbacks.onWristTrackingInitialized=()=>{(null==he?void 0:he.callbacks)&&(he.callbacks.onWristTrackingInitialized=void 0),e()}})))),V&&me.push((()=>U(this,void 0,void 0,(function*(){var e;_&&(A=yield _);let r=null!==(e=null==t?void 0:t.effectOptions)&&void 0!==e?e:{};W&&(r.envmap=yield W),G&&(r.diamondEnvMap=yield G),r.onProgress=x.addCustomProgress(),r.trackingInit=void 0,yield he.switchEffect(A,r)})))()),J&&!V&&me.push((()=>U(this,void 0,void 0,(function*(){yield he.setEnvironmentMap(yield K)})))()),me.length>0)try{yield Promise.all(me)}catch(e){if(Y=!1,ue.globalProgress=null,S.dispose(),he.shutdown(),de)throw de;throw e}return ue.globalProgress=null,S.dispose(),Y=!1,q=!0,he}));if(!F)return W();try{return(yield Promise.all([W(),C]))[0]}catch(e){if(Y=!1,q=!1,v(),D)throw new d;throw e}}))}class Q{constructor(e,t){this.module=null,this.isPaused=!1,this.callbacks={},e.apiObject=this.callbacks,this.module=e,this.dracoDecoder=t}switchEffect(e,t){var r,n,i;return U(this,void 0,void 0,(function*(){let a,o,s,l;const c=new M,d=new M,u=new R;u.addGlobalProgress(c,0),u.addGlobalProgress(d,1),u.setGroupWeight(0,0),u.setGroupWeight(1,2);let f=!1;if((null===(r=null==t?void 0:t.trackingInit)||void 0===r?void 0:r.face)&&!this.module.isFaceTrackingInitialized()){for(const e of Object.values(H(this.module.rigidFaceTrackingConfig)))c.downloadFile(e);f=!0}if((null===(n=null==t?void 0:t.trackingInit)||void 0===n?void 0:n.foot)&&!this.module.isFootTrackingInitialized()){for(const e of Object.values(H(this.module.footTrackingConfig)))c.downloadFile(e);f=!0}if((null===(i=null==t?void 0:t.trackingInit)||void 0===i?void 0:i.wrist)&&!this.module.isWristTrackingInitialized()){for(const e of Object.values(H(this.module.wristTrackingConfig)))c.downloadFile(e);f=!0}if(f&&(this.module.dynamicImports.xzimg(u),this.module.globalProgress=u),t){const e="face"in t&&"number"==typeof t.face,r="slot"in t&&"string"==typeof t.slot;if(e&&!r)throw new Error("Slot is not defined. When using switchEffect with a face parameter, you need to specify the slot also.");t.envmap&&("string"==typeof t.envmap?(u.setGroupWeight(0,8),s=c.downloadFile(t.envmap)):a=t.envmap),t.diamondEnvMap&&("string"==typeof t.diamondEnvMap?(u.setGroupWeight(0,8),l=c.downloadFile(t.diamondEnvMap)):o=t.diamondEnvMap)}const h=(null==t?void 0:t.face)?t.face:0,m=(null==t?void 0:t.slot)?t.slot:V;if(h<0||h>3)throw new Error(`Face value is ${h} but should be 0, 1, 2 or 3`);const g=d.addCustomProgress();let p;return(null==t?void 0:t.onProgress)&&(u.onProgress=t.onProgress),"string"==typeof e?(u.setGroupWeight(0,8),p=yield c.downloadFile(e)):p=e,s&&(a=yield s),l&&(o=yield l),new Promise(((e,t)=>{this.module.startLoop();const r=e=>()=>{this.isPaused&&this.module.endLoop(),u.dispose(),this.module.globalProgress=null,e()};this.module.switchEffectByteArray(h,m,new Uint8Array(p),new Uint8Array(a),new Uint8Array(o),r(e),r(t),g)}))}))}clearEffect(e){this.module.clearEffect(e||V)}startCamera(e){return U(this,void 0,void 0,(function*(){if(!K())throw new Error("No camera available!");return new Promise(((t,r)=>{var n,i;this.module.startCamera(null===(n=null==e?void 0:e.mirror)||void 0===n||n,null!==(i=null==e?void 0:e.mediaStreamConstraints)&&void 0!==i?i:G,t,r,null==e?void 0:e.cameraPermissionAsked,null==e?void 0:e.cameraPermissionGranted),this.module.startLoop()}))}))}stopCamera(){this.stopVideo()}stopVideo(){N&&(null!=N.srcObject&&N.srcObject.getTracks().forEach((e=>{e.stop()})),N.srcObject=null,N.parentNode&&N.parentNode.removeChild(N),N=null),this.module.stopVideo()}getVideoElement(){return this.module.getVideoElement()}setVideoElement(e,t){if(!e)throw new Error("No video element provided.");this.stopVideo(),this.module.setVideoElement(e,t),this.module.startLoop()}changePreviewElement(e,t=0){if(null==u)throw new Error("Cannot change previewElement if DeepAR was not initialized with preview element.");!function(e,t){const r=getComputedStyle(e);f=t,u={computedStyle:r,cssWidth:parseFloat(r.width||"0"),cssHeight:parseFloat(r.height||"0"),devicePixelRatio:m(),previewElement:e,canvas:u.canvas},g(u.canvas,u.cssWidth,u.cssHeight,u.devicePixelRatio),u.canvas.remove(),e.append(u.canvas)}(e,t)}shutdown(){this.dracoDecoder.dispose(),this.stopVideo(),this.module.shutdown(),function(){if("undefined"==typeof window)return;window.__deeparDynamicJsModule_mediaPipe__&&delete window.__deeparDynamicJsModule_mediaPipe__,window.__deeparDynamicJsModule_xzimg__&&delete window.__deeparDynamicJsModule_xzimg__;const e=window.require;if("function"==typeof e&&e.undef){for(let t=0;t<y.length;t++)e.undef(y[t]);y.length=0}}(),v(),q=!1,this.module=void 0,this.callbacks=void 0;for(const e in this)Object.prototype.hasOwnProperty.call(this,e)&&(this[e]=void 0)}processFrame(e,t,r,n){this.module.processFrameRawPixels(e,t,r,n)}processImage(e){const t=document.createElement("canvas"),r=t.getContext("2d",{willReadFrequently:!0});t.width=e.width,t.height=e.height,r.drawImage(e,0,0);const n=r.getImageData(0,0,t.width,t.height),i=new Uint8Array(n.data.buffer);this.processFrame(i,e.width,e.height,!1)}setPaused(e){this.isPaused=e,e?this.module.endLoop():this.module.startLoop()}changeParameterFloat(e,t,r,n){this.module.changeParameterFloat(e,null==t?"":t,r,n)}changeParameterBool(e,t,r,n){this.module.changeParameterBool(e,null==t?"":t,r,n)}changeParameterVector(e,t,r,n,i,a,o){this.module.changeParameterVector(e,null==t?"":t,r,n,i,a,o)}changeParameterTexture(e,t,r,n,i="cors"){return U(this,void 0,void 0,(function*(){let a=yield fetch(n,{mode:i}),o=yield a.blob();const s=new Image,l=new Promise((n=>{s.onload=()=>{const i=document.createElement("canvas"),a=i.getContext("2d",{willReadFrequently:!0});i.width=s.width,i.height=s.height,a.drawImage(s,0,0);const o=a.getImageData(0,0,i.width,i.height),l=new Uint8Array(o.data.buffer),c=this.module._malloc(l.length);this.module.HEAPU8.set(l,c),this.module.changeParameterTexture(e,null==t?"":t,r,c,l.length,i.width,i.height),URL.revokeObjectURL(s.src),n()}}));return s.src=URL.createObjectURL(o),l}))}getCanvas(){return this.module.canvas}setFps(e){this.module.setFps(e)}moveGameObject(e,t){this.module.moveGameObject(e,t)}setFov(e,t){if(!e&&null==t)throw new Error("The second parameter fov is undefined.");this.module._setCameraFov(e,t)}setReadPixelsAsync(e){this.module.setReadPixelsAsync(e)}setEnvironmentMap(e){return U(this,void 0,void 0,(function*(){let t;if("string"==typeof e){const r=yield fetch(e);if(!r.ok)throw new Error(`Failed to fetch ${e}. HTTP status: ${r.status} (${r.statusText}).`);t=yield r.arrayBuffer()}else t=e;return this.module.setEnvironmentMap(new Uint8Array(t))}))}resetEnvironmentMap(){return U(this,void 0,void 0,(function*(){return this.setEnvironmentMap(this.module.defaultEnvmapPath)}))}setExposure(e){if("number"!=typeof e)throw new Error("The passed exposure must be a number. It is a "+typeof e+".");this.module.setExposure(e)}getExposure(){return this.module.getExposure()}resetExposure(){this.module.resetExposure()}setEnvironmentMapIntensity(e){if("number"!=typeof e)throw new Error("The passed environmentMapIntensity must be a number. It is a "+typeof e+".");this.module.setEnvironmentMapIntensity(e)}getEnvironmentMapIntensity(){return this.module.getEnvironmentMapIntensity()}resetEnvironmentMapIntensity(){this.module.resetEnvironmentMapIntensity()}setToneMapping(e){const t={Linear:1,Reinhard:2,Cineon:3,ACES:4,AGX:5,Neutral:6};if(!(e in t))throw new Error(`Tone mapping ${e} not supported. Use: Linear, Reinhard, Cineon, ACES, AGX or Neutral."`);this.module.setToneMapping(t[e])}getToneMapping(){const e=this.module.getToneMapping();return e?{1:"Linear",2:"Reinhard",3:"Cineon",4:"ACES",5:"AGX",6:"Neutral"}[e]:void 0}resetToneMapping(){this.module.resetToneMapping()}setBloomEnabled(e){if("boolean"!=typeof e)throw new Error("The passed exposure must be a boolean. It is a "+typeof e+".");this.module.setBloomEnabled(e)}setBloomThreshold(e){if("number"!=typeof e)throw new Error("The passed threshold must be a number. It is a "+typeof e+".");this.module.setBloomThreshold(e)}setBloomStrength(e){if("number"!=typeof e)throw new Error("The passed exposure must be a number. It is a "+typeof e+".");this.module.setBloomStrength(e)}setBloomRadius(e){if("number"!=typeof e)throw new Error("The passed exposure must be a number. It is a "+typeof e+".");this.module.setBloomRadius(e)}setDiamondEnvironmentMap(e){return U(this,void 0,void 0,(function*(){let t;if("string"==typeof e){const r=yield fetch(e);if(!r.ok)throw new Error(`Failed to fetch ${e}. HTTP status: ${r.status} (${r.statusText}).`);t=yield r.arrayBuffer()}else t=e;return this.module.setDiamondEnvironmentMap(new Uint8Array(t))}))}getClosestPointOnMesh(e,t){const r=this.module.getClosestPointOnMesh(e,t);if(!r)throw new Error(`Failed to find a point on a mesh ${e}`);return r}getTransformationBetween(e,t){const r=this.module.getTransformationBetween(e,t);if(!r)throw new Error(`Failed to find a transformation between nodes ${e} and ${t}`);return r}addPreRenderListener(e){this.module.addPreRenderListener(e)}addPostRenderListener(e){this.module.addPostRenderListener(e)}removePreRenderListener(e){this.module.removePreRenderListener(e)}removePostRenderListener(e){this.module.removePostRenderListener(e)}setWatchTicking(e,t=8){e?function(e,t=8){W(e),D=()=>{const r=((e=8)=>{const t=new Date,r=t.getHours()%12,n=t.getMinutes(),i=t.getSeconds(),a=t.getMilliseconds();return{h:30*(r+n/60),m:6*(n+i/60),s:6*(i+Math.floor(a*e/999)/e)}})(t);e.changeParameterVector("hours","","rotation",0,-r.h,0,0),e.changeParameterVector("minutes","","rotation",0,-r.m,0,0),e.changeParameterVector("seconds","","rotation",0,-r.s,0,0),e.changeParameterVector("Hand_seconds","","rotation",0,-r.s,0,0)},e.addPreRenderListener(D)}(this,t):W(this)}showStats(e){this.module.showStats(e)}setStatsCapture(e){this.module._setStats(e)}getStats(){return JSON.parse(this.module.getStats())}}})();var i=n.Gv,a=n.R0,o=n.j2,s=n.i8;export{i as DeepAR,a as errors,o as initialize,s as version};
2
+ var e={795:function(e,t,r){var n;e=r.nmd(e),function(){var i={function:!0,object:!0},a=i[typeof window]&&window||this,o=i[typeof t]&&t,s=i.object&&e&&!e.nodeType&&e,l=o&&s&&"object"==typeof r.g&&r.g;!l||l.global!==l&&l.window!==l&&l.self!==l||(a=l);var c=Math.pow(2,53)-1,d=/\bOpera/,u=Object.prototype,f=u.hasOwnProperty,h=u.toString;function m(e){return(e=String(e)).charAt(0).toUpperCase()+e.slice(1)}function g(e){return e=y(e),/^(?:webOS|i(?:OS|P))/.test(e)?e:m(e)}function p(e,t){for(var r in e)f.call(e,r)&&t(e[r],r,e)}function b(e){return null==e?m(e):h.call(e).slice(8,-1)}function v(e){return String(e).replace(/([ -])(?!$)/g,"$1?")}function w(e,t){var r=null;return function(e,t){var r=-1,n=e?e.length:0;if("number"==typeof n&&n>-1&&n<=c)for(;++r<n;)t(e[r],r);else p(e,t)}(e,(function(n,i){r=t(r,n,i,e)})),r}function y(e){return String(e).replace(/^ +| +$/g,"")}var E=function e(t){var r=a,n=t&&"object"==typeof t&&"String"!=b(t);n&&(r=t,t=null);var i=r.navigator||{},o=i.userAgent||"";t||(t=o);var s,l,c,u,f=n?!!i.likeChrome:/\bChrome\b/.test(t)&&!/internal|\n/i.test(h.toString()),m="Object",E=n?m:"ScriptBridgingProxyObject",P=n?m:"Environment",k=n&&r.java?"JavaPackage":b(r.java),T=n?m:"RuntimeObject",x=/\bJava/.test(k)&&r.java,S=x&&b(r.environment)==P,_=x?"a":"α",j=x?"b":"β",A=r.document||{},I=r.operamini||r.opera,F=d.test(F=n&&I?I["[[Class]]"]:b(I))?F:I=null,C=t,O=[],M=null,R=t==o,L=R&&I&&"function"==typeof I.version&&I.version(),B=w([{label:"EdgeHTML",pattern:"Edge"},"Trident",{label:"WebKit",pattern:"AppleWebKit"},"iCab","Presto","NetFront","Tasman","KHTML","Gecko"],(function(e,r){return e||RegExp("\\b"+(r.pattern||v(r))+"\\b","i").exec(t)&&(r.label||r)})),D=w(["Adobe AIR","Arora","Avant Browser","Breach","Camino","Electron","Epiphany","Fennec","Flock","Galeon","GreenBrowser","iCab","Iceweasel","K-Meleon","Konqueror","Lunascape","Maxthon",{label:"Microsoft Edge",pattern:"(?:Edge|Edg|EdgA|EdgiOS)"},"Midori","Nook Browser","PaleMoon","PhantomJS","Raven","Rekonq","RockMelt",{label:"Samsung Internet",pattern:"SamsungBrowser"},"SeaMonkey",{label:"Silk",pattern:"(?:Cloud9|Silk-Accelerated)"},"Sleipnir","SlimBrowser",{label:"SRWare Iron",pattern:"Iron"},"Sunrise","Swiftfox","Vivaldi","Waterfox","WebPositive",{label:"Yandex Browser",pattern:"YaBrowser"},{label:"UC Browser",pattern:"UCBrowser"},"Opera Mini",{label:"Opera Mini",pattern:"OPiOS"},"Opera",{label:"Opera",pattern:"OPR"},"Chromium","Chrome",{label:"Chrome",pattern:"(?:HeadlessChrome)"},{label:"Chrome Mobile",pattern:"(?:CriOS|CrMo)"},{label:"Firefox",pattern:"(?:Firefox|Minefield)"},{label:"Firefox for iOS",pattern:"FxiOS"},{label:"IE",pattern:"IEMobile"},{label:"IE",pattern:"MSIE"},"Safari"],(function(e,r){return e||RegExp("\\b"+(r.pattern||v(r))+"\\b","i").exec(t)&&(r.label||r)})),W=G([{label:"BlackBerry",pattern:"BB10"},"BlackBerry",{label:"Galaxy S",pattern:"GT-I9000"},{label:"Galaxy S2",pattern:"GT-I9100"},{label:"Galaxy S3",pattern:"GT-I9300"},{label:"Galaxy S4",pattern:"GT-I9500"},{label:"Galaxy S5",pattern:"SM-G900"},{label:"Galaxy S6",pattern:"SM-G920"},{label:"Galaxy S6 Edge",pattern:"SM-G925"},{label:"Galaxy S7",pattern:"SM-G930"},{label:"Galaxy S7 Edge",pattern:"SM-G935"},"Google TV","Lumia","iPad","iPod","iPhone","Kindle",{label:"Kindle Fire",pattern:"(?:Cloud9|Silk-Accelerated)"},"Nexus","Nook","PlayBook","PlayStation Vita","PlayStation","TouchPad","Transformer",{label:"Wii U",pattern:"WiiU"},"Wii","Xbox One",{label:"Xbox 360",pattern:"Xbox"},"Xoom"]),U=w({Apple:{iPad:1,iPhone:1,iPod:1},Alcatel:{},Archos:{},Amazon:{Kindle:1,"Kindle Fire":1},Asus:{Transformer:1},"Barnes & Noble":{Nook:1},BlackBerry:{PlayBook:1},Google:{"Google TV":1,Nexus:1},HP:{TouchPad:1},HTC:{},Huawei:{},Lenovo:{},LG:{},Microsoft:{Xbox:1,"Xbox One":1},Motorola:{Xoom:1},Nintendo:{"Wii U":1,Wii:1},Nokia:{Lumia:1},Oppo:{},Samsung:{"Galaxy S":1,"Galaxy S2":1,"Galaxy S3":1,"Galaxy S4":1},Sony:{PlayStation:1,"PlayStation Vita":1},Xiaomi:{Mi:1,Redmi:1}},(function(e,r,n){return e||(r[W]||r[/^[a-z]+(?: +[a-z]+\b)*/i.exec(W)]||RegExp("\\b"+v(n)+"(?:\\b|\\w*\\d)","i").exec(t))&&n})),$=w(["Windows Phone","KaiOS","Android","CentOS",{label:"Chrome OS",pattern:"CrOS"},"Debian",{label:"DragonFly BSD",pattern:"DragonFly"},"Fedora","FreeBSD","Gentoo","Haiku","Kubuntu","Linux Mint","OpenBSD","Red Hat","SuSE","Ubuntu","Xubuntu","Cygwin","Symbian OS","hpwOS","webOS ","webOS","Tablet OS","Tizen","Linux","Mac OS X","Macintosh","Mac","Windows 98;","Windows "],(function(e,r){var n=r.pattern||v(r);return!e&&(e=RegExp("\\b"+n+"(?:/[\\d.]+|[ \\w.]*)","i").exec(t))&&(e=function(e,t,r){var n={"10.0":"10",6.4:"10 Technical Preview",6.3:"8.1",6.2:"8",6.1:"Server 2008 R2 / 7","6.0":"Server 2008 / Vista",5.2:"Server 2003 / XP 64-bit",5.1:"XP",5.01:"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"};return t&&r&&/^Win/i.test(e)&&!/^Windows Phone /i.test(e)&&(n=n[/[\d.]+$/.exec(e)])&&(e="Windows "+n),e=String(e),t&&r&&(e=e.replace(RegExp(t,"i"),r)),g(e.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0])}(e,n,r.label||r)),e}));function G(e){return w(e,(function(e,r){var n=r.pattern||v(r);return!e&&(e=RegExp("\\b"+n+" *\\d+[.\\w_]*","i").exec(t)||RegExp("\\b"+n+" *\\w+-[\\w]*","i").exec(t)||RegExp("\\b"+n+"(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)","i").exec(t))&&((e=String(r.label&&!RegExp(n,"i").test(r.label)?r.label:e).split("/"))[1]&&!/[\d.]+/.test(e[0])&&(e[0]+=" "+e[1]),r=r.label||r,e=g(e[0].replace(RegExp(n,"i"),r).replace(RegExp("; *(?:"+r+"[_-])?","i")," ").replace(RegExp("("+r+")[-_.]?(\\w)","i"),"$1 $2"))),e}))}function V(e){return w(e,(function(e,r){return e||(RegExp(r+"(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)","i").exec(t)||0)[1]||null}))}if(B&&(B=[B]),/\bAndroid\b/.test($)&&!W&&(s=/\bAndroid[^;]*;(.*?)(?:Build|\) AppleWebKit)\b/i.exec(t))&&(W=y(s[1]).replace(/^[a-z]{2}-[a-z]{2};\s*/i,"")||null),U&&!W?W=G([U]):U&&W&&(W=W.replace(RegExp("^("+v(U)+")[-_.\\s]","i"),U+" ").replace(RegExp("^("+v(U)+")[-_.]?(\\w)","i"),U+" $2")),(s=/\bGoogle TV\b/.exec(W))&&(W=s[0]),/\bSimulator\b/i.test(t)&&(W=(W?W+" ":"")+"Simulator"),"Opera Mini"==D&&/\bOPiOS\b/.test(t)&&O.push("running in Turbo/Uncompressed mode"),"IE"==D&&/\blike iPhone OS\b/.test(t)?(U=(s=e(t.replace(/like iPhone OS/,""))).manufacturer,W=s.product):/^iP/.test(W)?(D||(D="Safari"),$="iOS"+((s=/ OS ([\d_]+)/i.exec(t))?" "+s[1].replace(/_/g,"."):"")):"Konqueror"==D&&/^Linux\b/i.test($)?$="Kubuntu":U&&"Google"!=U&&(/Chrome/.test(D)&&!/\bMobile Safari\b/i.test(t)||/\bVita\b/.test(W))||/\bAndroid\b/.test($)&&/^Chrome/.test(D)&&/\bVersion\//i.test(t)?(D="Android Browser",$=/\bAndroid\b/.test($)?$:"Android"):"Silk"==D?(/\bMobi/i.test(t)||($="Android",O.unshift("desktop mode")),/Accelerated *= *true/i.test(t)&&O.unshift("accelerated")):"UC Browser"==D&&/\bUCWEB\b/.test(t)?O.push("speed mode"):"PaleMoon"==D&&(s=/\bFirefox\/([\d.]+)\b/.exec(t))?O.push("identifying as Firefox "+s[1]):"Firefox"==D&&(s=/\b(Mobile|Tablet|TV)\b/i.exec(t))?($||($="Firefox OS"),W||(W=s[1])):!D||(s=!/\bMinefield\b/i.test(t)&&/\b(?:Firefox|Safari)\b/.exec(D))?(D&&!W&&/[\/,]|^[^(]+?\)/.test(t.slice(t.indexOf(s+"/")+8))&&(D=null),(s=W||U||$)&&(W||U||/\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test($))&&(D=/[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test($)?$:s)+" Browser")):"Electron"==D&&(s=(/\bChrome\/([\d.]+)\b/.exec(t)||0)[1])&&O.push("Chromium "+s),L||(L=V(["(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$)|UCBrowser|YaBrowser)","Version",v(D),"(?:Firefox|Minefield|NetFront)"])),(s=("iCab"==B&&parseFloat(L)>3?"WebKit":/\bOpera\b/.test(D)&&(/\bOPR\b/.test(t)?"Blink":"Presto"))||/\b(?:Midori|Nook|Safari)\b/i.test(t)&&!/^(?:Trident|EdgeHTML)$/.test(B)&&"WebKit"||!B&&/\bMSIE\b/i.test(t)&&("Mac OS"==$?"Tasman":"Trident")||"WebKit"==B&&/\bPlayStation\b(?! Vita\b)/i.test(D)&&"NetFront")&&(B=[s]),"IE"==D&&(s=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(t)||0)[1])?(D+=" Mobile",$="Windows Phone "+(/\+$/.test(s)?s:s+".x"),O.unshift("desktop mode")):/\bWPDesktop\b/i.test(t)?(D="IE Mobile",$="Windows Phone 8.x",O.unshift("desktop mode"),L||(L=(/\brv:([\d.]+)/.exec(t)||0)[1])):"IE"!=D&&"Trident"==B&&(s=/\brv:([\d.]+)/.exec(t))&&(D&&O.push("identifying as "+D+(L?" "+L:"")),D="IE",L=s[1]),R){if("global",u=null!=(c=r)?typeof c.global:"number",/^(?:boolean|number|string|undefined)$/.test(u)||"object"==u&&!c.global)b(s=r.runtime)==E?(D="Adobe AIR",$=s.flash.system.Capabilities.os):b(s=r.phantom)==T?(D="PhantomJS",L=(s=s.version||null)&&s.major+"."+s.minor+"."+s.patch):"number"==typeof A.documentMode&&(s=/\bTrident\/(\d+)/i.exec(t))?(L=[L,A.documentMode],(s=+s[1]+4)!=L[1]&&(O.push("IE "+L[1]+" mode"),B&&(B[1]=""),L[1]=s),L="IE"==D?String(L[1].toFixed(1)):L[0]):"number"==typeof A.documentMode&&/^(?:Chrome|Firefox)\b/.test(D)&&(O.push("masking as "+D+" "+L),D="IE",L="11.0",B=["Trident"],$="Windows");else if(x&&(C=(s=x.lang.System).getProperty("os.arch"),$=$||s.getProperty("os.name")+" "+s.getProperty("os.version")),S){try{L=r.require("ringo/engine").version.join("."),D="RingoJS"}catch(e){(s=r.system)&&s.global.system==r.system&&(D="Narwhal",$||($=s[0].os||null))}D||(D="Rhino")}else"object"==typeof r.process&&!r.process.browser&&(s=r.process)&&("object"==typeof s.versions&&("string"==typeof s.versions.electron?(O.push("Node "+s.versions.node),D="Electron",L=s.versions.electron):"string"==typeof s.versions.nw&&(O.push("Chromium "+L,"Node "+s.versions.node),D="NW.js",L=s.versions.nw)),D||(D="Node.js",C=s.arch,$=s.platform,L=(L=/[\d.]+/.exec(s.version))?L[0]:null));$=$&&g($)}if(L&&(s=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(L)||/(?:alpha|beta)(?: ?\d)?/i.exec(t+";"+(R&&i.appMinorVersion))||/\bMinefield\b/i.test(t)&&"a")&&(M=/b/i.test(s)?"beta":"alpha",L=L.replace(RegExp(s+"\\+?$"),"")+("beta"==M?j:_)+(/\d+\+?/.exec(s)||"")),"Fennec"==D||"Firefox"==D&&/\b(?:Android|Firefox OS|KaiOS)\b/.test($))D="Firefox Mobile";else if("Maxthon"==D&&L)L=L.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(W))"Xbox 360"==W&&($=null),"Xbox 360"==W&&/\bIEMobile\b/.test(t)&&O.unshift("mobile mode");else if(!/^(?:Chrome|IE|Opera)$/.test(D)&&(!D||W||/Browser|Mobi/.test(D))||"Windows CE"!=$&&!/Mobi/i.test(t))if("IE"==D&&R)try{null===r.external&&O.unshift("platform preview")}catch(e){O.unshift("embedded")}else(/\bBlackBerry\b/.test(W)||/\bBB10\b/.test(t))&&(s=(RegExp(W.replace(/ +/g," *")+"/([.\\d]+)","i").exec(t)||0)[1]||L)?($=((s=[s,/BB10/.test(t)])[1]?(W=null,U="BlackBerry"):"Device Software")+" "+s[0],L=null):this!=p&&"Wii"!=W&&(R&&I||/Opera/.test(D)&&/\b(?:MSIE|Firefox)\b/i.test(t)||"Firefox"==D&&/\bOS X (?:\d+\.){2,}/.test($)||"IE"==D&&($&&!/^Win/.test($)&&L>5.5||/\bWindows XP\b/.test($)&&L>8||8==L&&!/\bTrident\b/.test(t)))&&!d.test(s=e.call(p,t.replace(d,"")+";"))&&s.name&&(s="ing as "+s.name+((s=s.version)?" "+s:""),d.test(D)?(/\bIE\b/.test(s)&&"Mac OS"==$&&($=null),s="identify"+s):(s="mask"+s,D=F?g(F.replace(/([a-z])([A-Z])/g,"$1 $2")):"Opera",/\bIE\b/.test(s)&&($=null),R||(L=null)),B=["Presto"],O.push(s));else D+=" Mobile";(s=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(t)||0)[1])&&(s=[parseFloat(s.replace(/\.(\d)$/,".0$1")),s],"Safari"==D&&"+"==s[1].slice(-1)?(D="WebKit Nightly",M="alpha",L=s[1].slice(0,-1)):L!=s[1]&&L!=(s[2]=(/\bSafari\/([\d.]+\+?)/i.exec(t)||0)[1])||(L=null),s[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(t)||0)[1],537.36==s[0]&&537.36==s[2]&&parseFloat(s[1])>=28&&"WebKit"==B&&(B=["Blink"]),R&&(f||s[1])?(B&&(B[1]="like Chrome"),s=s[1]||((s=s[0])<530?1:s<532?2:s<532.05?3:s<533?4:s<534.03?5:s<534.07?6:s<534.1?7:s<534.13?8:s<534.16?9:s<534.24?10:s<534.3?11:s<535.01?12:s<535.02?"13+":s<535.07?15:s<535.11?16:s<535.19?17:s<536.05?18:s<536.1?19:s<537.01?20:s<537.11?"21+":s<537.13?23:s<537.18?24:s<537.24?25:s<537.36?26:"Blink"!=B?"27":"28")):(B&&(B[1]="like Safari"),s=(s=s[0])<400?1:s<500?2:s<526?3:s<533?4:s<534?"4+":s<535?5:s<537?6:s<538?7:s<601?8:s<602?9:s<604?10:s<606?11:s<608?12:"12"),B&&(B[1]+=" "+(s+="number"==typeof s?".x":/[.+]/.test(s)?"":"+")),"Safari"==D&&(!L||parseInt(L)>45)?L=s:"Chrome"==D&&/\bHeadlessChrome/i.test(t)&&O.unshift("headless")),"Opera"==D&&(s=/\bzbov|zvav$/.exec($))?(D+=" ",O.unshift("desktop mode"),"zvav"==s?(D+="Mini",L=null):D+="Mobile",$=$.replace(RegExp(" *"+s+"$"),"")):"Safari"==D&&/\bChrome\b/.exec(B&&B[1])?(O.unshift("desktop mode"),D="Chrome Mobile",L=null,/\bOS X\b/.test($)?(U="Apple",$="iOS 4.3+"):$=null):/\bSRWare Iron\b/.test(D)&&!L&&(L=V("Chrome")),L&&0==L.indexOf(s=/[\d.]+$/.exec($))&&t.indexOf("/"+s+"-")>-1&&($=y($.replace(s,""))),$&&-1!=$.indexOf(D)&&!RegExp(D+" OS").test($)&&($=$.replace(RegExp(" *"+v(D)+" *"),"")),B&&!/\b(?:Avant|Nook)\b/.test(D)&&(/Browser|Lunascape|Maxthon/.test(D)||"Safari"!=D&&/^iOS/.test($)&&/\bSafari\b/.test(B[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(D)&&B[1])&&(s=B[B.length-1])&&O.push(s),O.length&&(O=["("+O.join("; ")+")"]),U&&W&&W.indexOf(U)<0&&O.push("on "+U),W&&O.push((/^on /.test(O[O.length-1])?"":"on ")+W),$&&(s=/ ([\d.+]+)$/.exec($),l=s&&"/"==$.charAt($.length-s[0].length-1),$={architecture:32,family:s&&!l?$.replace(s[0],""):$,version:s?s[1]:null,toString:function(){var e=this.version;return this.family+(e&&!l?" "+e:"")+(64==this.architecture?" 64-bit":"")}}),(s=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(C))&&!/\bi686\b/i.test(C)?($&&($.architecture=64,$.family=$.family.replace(RegExp(" *"+s),"")),D&&(/\bWOW64\b/i.test(t)||R&&/\w(?:86|32)$/.test(i.cpuClass||i.platform)&&!/\bWin64; x64\b/i.test(t))&&O.unshift("32-bit")):$&&/^OS X/.test($.family)&&"Chrome"==D&&parseFloat(L)>=39&&($.architecture=64),t||(t=null);var N={};return N.description=t,N.layout=B&&B[0],N.manufacturer=U,N.name=D,N.prerelease=M,N.product=W,N.ua=t,N.version=D&&L,N.os=$||{architecture:null,family:null,version:null,toString:function(){return"null"}},N.parse=e,N.toString=function(){return this.description||""},N.version&&O.unshift(L),N.name&&O.unshift(D),$&&D&&($!=String($).split(" ")[0]||$!=D.split(" ")[0]&&!W)&&O.push(W?"("+$+")":"on "+$),O.length&&(N.description=O.join(" ")),N}();a.platform=E,void 0===(n=function(){return E}.call(t,r,t,e))||(e.exports=n)}.call(this)}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{r.d(n,{Gv:()=>Q,R0:()=>e,j2:()=>J,i8:()=>t});var e={};r.r(e),r.d(e,{CameraPermissionDeniedError:()=>d,NoCameraError:()=>c,SwitchEffectCanceled:()=>l});const t="5.6.21-shopar-alpha-401";var i,a=(i="undefined"!=typeof document?document.currentScript?.src:void 0,function(e={}){var t,r,n=e,a=new Promise(((e,n)=>{t=e,r=n}));let o=null;const s=[];n.addPreRenderListener=function(e){s.push(e)},n.addPostRenderListener=function(e){s.push(e)},n.removePreRenderListener=function(e){0<=(e=s.indexOf(e))&&s.splice(e,1)},n.removePostRenderListener=function(e){0<=(e=s.indexOf(e))&&s.splice(e,1)};var l=null,c=null,d=null;const u=new ImageData(640,360);u.Gj=!0;let f,h,m,g,p,b,v,w,y,E,P,k,T,x,S,_,j,A,I=!1,F=null,C=null,O=null,M=null,R=null,L=null,B=null,D=null,W=null;n.Ki=[null];let U=0;function $(e){const t=n.Ki.length;return n.Ki[t]=e,t}n.preinitializedWebGLContext=n.canvas.getContext("webgl2",{alpha:!1,antialias:!0,powerPreference:"high-performance"}),n.process=function(){};let G=new class{get fj(){switch(this.type){case"Timer":return this.ej;case"RAF":return this.dj;case"Oscillator":return this.cj}}constructor(){this.cj=this.dj=this.ej=!1,this.type="RAF",this.ij=1e3/63}add(e){this.Ti=e}start(){switch(this.type){case"Timer":if(!this.ej){this.ej=!0;const e=()=>{setTimeout((()=>{this.Ti&&this.Ti(),this.ej&&e()}),this.ij)};e()}break;case"RAF":if(!this.dj){this.dj=!0;const e=t=>{requestAnimationFrame((r=>{r-t<=this.ij?this.dj&&e(t):this.Ti&&(this.Ti(),e(r))}))};e(-this.ij-10)}break;case"Oscillator":if(!this.cj){o=o||new AudioContext,this.cj=!0;const e=o.createGain();let t;e.gain.value=0,e.connect(o.destination);const r=()=>{this.Ti&&this.Ti(),t&&t.disconnect(),this.uj=t=o.createOscillator(),t.connect(e),this.cj&&(t.onended=r,t.start(),t.stop(o.currentTime+this.ij/1e3))};r()}}}stop(){switch(this.type){case"Timer":this.ej=!1;break;case"RAF":this.dj=!1;break;case"Oscillator":this.cj=!1,this.uj&&(this.uj.onended=null,this.uj=void 0)}}};function V(){for(var e of s)e();e=n.canvas.width;const t=n.canvas.height;n.canvasWidth===e&&n.canvasHeight===t||(n.canvasWidth=e,n.canvasHeight=t,qo(e,t)),n._render();for(const e of s)e();n.apiObject.__deeparRendered&&n.apiObject.__deeparRendered(Sa),n.apiObject.__deeparRendered2&&n.apiObject.__deeparRendered2(Sa)}function N(){var e=!1,t=n.Ki[0];if(t&&t.readyState===t.HAVE_ENOUGH_DATA)(function(){const e=Ma;if(!Ca||!Wa||!Ba)return!0;switch(e.clientWaitSync(Ba,0,0)){case e.TIMEOUT_EXPIRED:case e.WAIT_FAILED:return!1;case e.CONDITION_SATISFIED:case e.ALREADY_SIGNALED:return!0}})()&&(n._processFrameVideo(0,J,U),e=I=!0);else if(!I||0<Object.entries(H).length||null!=q||null!=Y){if(e=f||u,!(t=n._malloc(e.data.length)))return;ge.set(e.data,t),n._processFrameRawPixels(t,e.width,e.height,e.Gj),I=!0,n._free(t),e=!0}e&&V()}function z(){N()}n.setFps=function(e){G.ij=1e3/e},G.add(z),n.startLoop=function(){G.add(z),G.start()},n.endLoop=function(){G.Ti=void 0,G.stop()};var X=!1,K=null;n.setVideoRotation=function(e){if(0!==e&&90!==e&&180!==e&&270!==e)throw Error(`Called setVideoRotation with ${e}. Valid values are: 0, 90, 180 and 270.`);U=e},n.processFrameRawPixels=function(e,t,r,i){var a=n._malloc(e.length);a&&(ge.set(e,a),n._processFrameRawPixels(a,t,r,i),f=new ImageData(new Uint8ClampedArray(e),t,r),f.Gj=i,I=!0,G.fj||V(),n._free(a))},n.isFootTrackingInitialized=function(){return io},n.isFaceTrackingInitialized=function(){return za},n.isWristTrackingInitialized=function(){return Po},n.setReadPixelsAsync=function(e){Wa=e};let H={},q=null,Y=null;n.switchEffectByteArray=function(e,t,r,i,a,o,s,l){if(!F)throw Error("Error in internal API: __switchEffect is null!");const c=n._malloc(r.length);if(!c)throw Error("Cannot allocate buffer for switch effect.");ge.set(r,c);const d=i.length?n._malloc(i.length):0;if(i.length){if(!d)throw Error("Cannot allocate buffer for environement map.");ge.set(i,d)}const u=a.length?n._malloc(a.length):0;if(a.length){if(!u)throw Error("Cannot allocate buffer for environement map.");ge.set(a,u)}if(t in H)s(new n.customErrors.SwitchEffectCanceled(`Cannot switch effect on slot ${t} because switch effect already in progress on the same slot.`));else{H[t]={Si:o,error:s,Hj:l};try{F(t,c,r.length,e,d,i.length,u,a.length),I=!1,G.fj||N()}catch(e){throw delete H[t],e}}},n.hasVar=function(e,t){return h(e,t)},n.getVarType=function(e,t){if(m(e,t))return w(e,t);throw Error("Variable named '"+e+"' does not exist.")},n.getBoolVar=function(e,t){if(g(e,t))return y(e,t);throw Error("Variable named '"+e+"' does not exist or is not a boolean.")},n.getIntVar=function(e,t){if(p(e,t))return E(e,t);throw Error("Variable named '"+e+"' does not exist or is not an integer.")},n.getDoubleVar=function(e,t){if(b(e,t))return P(e,t);throw Error("Variable named '"+e+"' does not exist or is not a double.")},n.getStringVar=function(e,t){if(v(e,t))return k(e,t);throw Error("Variable named '"+e+"' does not exist or is not a string.")},n.setBoolVar=function(e,t,r){return T(e,t,r)},n.setIntVar=function(e,t,r){return x(e,t,r)},n.setDoubleVar=function(e,t,r){return S(e,t,r)},n.setStringVar=function(e,t,r){return _(e,t,r)},n.deleteVar=function(e,t){return j(e,t)},n.clearVars=function(e){return A(e)},n.clearEffect=function(e){H[e]&&H[e].error&&(H[e].error(new n.customErrors.SwitchEffectCanceled(`Switch effect canceled by the call to clearEffect() on the same slot: ${e}.`)),delete H[e]),C&&(C(e),G.fj||N())},n.moveGameObject=function(e,t){O&&(O(e,t),G.fj||N())};let J=!0;n.setMirror=function(e){J=!!e};let Q=!1;function Z(e){const t=[35,63,82,65,68,73,65,78,67,69,10];if(!e||e.length<t.length)return!1;for(let r=0;r<t.length;r++)if(e[r]!==t[r])return!1;return!0}n.startCamera=function(e,t,r,i,a,o){n.stopVideo(),J=!!e;let s=document.createElement("video");s.setAttribute("playsinline","playsinline"),n.Ki[0]=s,t=t||{video:!0},a&&a(),navigator.mediaDevices.getUserMedia(t).then((function(e){o&&o(),s.srcObject=e,s.onloadedmetadata=()=>{s.play().then((()=>{r&&r(),s.onloadedmetadata=null}))},Q=!0})).catch((e=>{i&&i(e),console.error(`${e.name}: ${e.message}`)}))},n.shutdown=function(){ee={},n.stopVideo(),null!=l&&l.shutdownTfjs(),s.length=0;try{Ho()}catch(e){console.error(e)}finally{n.bk()}},n.setVideoElement=function(e,t){n.stopVideo(),J=!!t,n.Ki[0]=e},n.stopVideo=function(){n.Ki[0]&&(Q&&(n.Ki[0]&&n.Ki[0].srcObject&&(n.Ki[0].srcObject.getTracks().forEach((e=>{e.stop()})),n.Ki[0].srcObject=null),Q=!1),n.Ki[0]=null)},n.getVideoElement=function(){return n.Ki[0]},n.setOffscreenRenderingEnabled=function(e){!function(e){var t=G;if(t.type!==e){var r=t.ej|t.cj|t.dj;t.stop(),t.type=e,r&&t.start()}}(e?"Oscillator":"RAF")},n.backgroundReplacement=async function(e,t,r,n,i){if(e){Y&&Y.error&&Y.error(""),Y={Si:n,error:i},t=await(await fetch(t,{mode:r})).blob();var a=new Image;a.onload=()=>{const t=document.createElement("canvas");var r=t.getContext("2d",{willReadFrequently:!0});t.width=a.width,t.height=a.height,r.drawImage(a,0,0),r=r.getImageData(0,0,t.width,t.height),r=new Uint8Array(r.data.buffer);const n=Zo(r.length);ge.set(r,n),URL.revokeObjectURL(a.src);try{R(e,n,r.length,t.width,t.height),I=!1,G.fj||N()}catch(e){throw Y=null,e}},a.src=URL.createObjectURL(t)}else R(!1,null,0,0,0),n()},n.backgroundBlur=function(e,t,r,n){if(e){q&&q.error&&q.error(""),q={Si:r,error:n};try{M(e,t),I=!1,G.fj||N()}catch(e){throw q=null,e}}else M(!1,0),r()},n.getClosestPointOnMesh=function(e,t){if(!(e=L(e,t[0],t[1],t[2])))return null;t=new Float32Array(3);for(let r=0;3>r;++r)t[r]=n.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return n._free(e),t},n.getTransformationBetween=function(e,t){if(!(e=B(e,t)))return null;t=new Float32Array(16);for(let r=0;16>r;++r)t[r]=n.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return n._free(e),t},n.setEnvironmentMap=async function(e){if(Z(e)){var t=n._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");ge.set(e,t),D(t,e.length)}else{const[t,r,n]=await Va(e);Yo(t,r,n)}},n.setDiamondEnvironmentMap=async function(e){if(Z(e)){var t=n._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");ge.set(e,t),W(t,e.length)}else{const[t,r,n]=await Va(e);Qo(t,r,n)}},n.Tj=function(e,t,r,i){if(n.apiObject.onFaceTracked){var a=[];for(let d=0;d<i;d++){let i={detected:!1,translation:[],rotation:[],poseMatrix:[],landmarks:[],landmarks2d:[],faceRect:[]};var o=t+d*r,s=o+e.translationOffset;let u=o+e.rotationOffset;var l=o+e.poseMatrixOffset,c=o+e.landmarksOffset;let f=o+e.landmarks2DOffset,h=o+e.faceRectOffset;for(i.detected=!!(255&n.HEAP32[o/Float32Array.BYTES_PER_ELEMENT]),o=0;3>o;o++)i.translation.push(n.HEAPF32[s/Float32Array.BYTES_PER_ELEMENT+o]),i.rotation.push(n.HEAPF32[u/Float32Array.BYTES_PER_ELEMENT+o]);for(s=0;16>s;s++)i.poseMatrix.push(n.HEAPF32[l/Float32Array.BYTES_PER_ELEMENT+s]);for(l=0;204>l;l++)i.landmarks.push(n.HEAPF32[c/Float32Array.BYTES_PER_ELEMENT+l]),136>l&&i.landmarks2d.push(n.HEAPF32[f/Float32Array.BYTES_PER_ELEMENT+l]);for(c=0;4>c;c++)i.faceRect.push(n.HEAPF32[h/Float32Array.BYTES_PER_ELEMENT+c]);a.push(i)}n.apiObject.onFaceTracked(a)}},n.Ak=function(){n.apiObject.onVideoStarted&&n.apiObject.onVideoStarted()},n.Yj=function(){n.apiObject.onInitialize&&n.apiObject.onInitialize()},n.Vj=function(e){n.apiObject.onFaceVisibilityChanged&&n.apiObject.onFaceVisibilityChanged(e)},n.Xj=function(e){n.apiObject.onImageVisibilityChanged&&n.apiObject.onImageVisibilityChanged(e)},n.zk=function(){n.apiObject.onCameraPermissionGranted&&n.apiObject.onCameraPermissionGranted()},n.yk=function(){n.apiObject.onCameraPermissionDenied&&n.apiObject.onCameraPermissionDenied()},n.xk=function(){n.apiObject.onCameraPermissionAsked&&n.apiObject.onCameraPermissionAsked()},n.$j=function(e,t,r){const n=document.createElement("canvas"),i=n.getContext("2d");n.width=t,n.height=r;const a=i.getImageData(0,0,n.width,n.height),o=a.data;for(let n=0;n<r;n++)for(let i=0;i<t;i++){const a=4*((r-n-1)*t+i),s=4*(n*t+i);o[s]=ge[e+a+2],o[s+1]=ge[e+a+1],o[s+2]=ge[e+a+0],o[s+3]=ge[e+a+3]}i.putImageData(a,0,0),X?(X=!1,K(n.toDataURL("image/png")),K=null):console.error("DeepAR screenshot taken but no registered callback.")},n.Nj=function(e){n.apiObject.onAnimationTransitionedToState&&n.apiObject.onAnimationTransitionedToState(e)},n.Sj=function(e,t){"Error"===e?console.error(t):"Debug"===e?console.debug(t):"Info"===e?console.info(t):"Warning"===e?console.warn(t):console.log(t)},n.Rj=function(e){H[e]&&H[e].Si&&H[e].Si(),delete H[e]},n.Pj=function(){Y&&Y.Si&&Y.Si(),Y={}},n.Oj=function(){q&&q.Si&&q.Si(),q={}},n.Zj=function(e){n.apiObject.onNumberOfFacesVisibleChanged&&n.apiObject.onNumberOfFacesVisibleChanged(e)},n.bk=function(){n.apiObject.onShutdown&&n.apiObject.onShutdown()},n.Uj=function(e,t,r){n.apiObject.onFaceTrackingInitialized&&n.apiObject.onFaceTrackingInitialized(e,t,r)},n.Bj=function(e,t,r,i){n.apiObject.onFootTrackingInitialized&&n.apiObject.onFootTrackingInitialized(e,t,r,i)},n.ak=function(){n.apiObject.onSegmentationInitialized&&n.apiObject.onSegmentationInitialized()},n.Wj=function(e,t){n.apiObject.onFeetTracked&&n.apiObject.onFeetTracked(e,t),n.leftFootData=e,n.rightFootData=t},n._getFootData=function(){return n.leftFootData&&n.rightFootData?{left:n.leftFootData,right:n.rightFootData}:null},n.Cj=function(e,t,r,i){n.apiObject.onWristTrackingInitialized&&n.apiObject.onWristTrackingInitialized(e,t,r,i)},n.ck=function(e){n.apiObject.onWristTracked&&n.apiObject.onWristTracked(e)},n.Qj=function(e,t){for(let r of Object.values(H))r.Hj&&r.Hj({loaded:e,total:t})},n._useExternalTrackingData=function(e){n.useExternalTrackingData=e},n._setExternalTrackingDataFoot=function(e,t){n.externalTrackingDataFoot={left:e,right:t}},n.noInitialRun=!0,n.initializeDeepAR=async function(){c=n.platform,d=n.draco_decoder;const e=n.initializeML&&n.initializeML.faceInit;var t=xa(),r=640/360;1>r&&(r=1/r),t=180/Math.PI*Math.atan(Math.tan(Math.PI/180*t/2)/r)*2,e&&eo(t,640,360),n.initializeML&&(n.initializeML.footInit&&bo(t,0,640,360),n.initializeML.wristInit&&Oo(t,0,640,360)),F=Ro("switchEffect",null,"string number number number number number".split(" ")),C=Ro("clearEffect",null,["string"]),O=Ro("moveGameObject",null,["string","string"]),M=Ro("backgroundBlur",null,["boolean","number"]),R=Ro("backgroundReplacement",null,["boolean","number","number","number","number"]),L=Ro("getClosestPointOnMesh",null,["string","number","number","number"]),B=Ro("getTransformationBetween",null,["string","string"]),D=Ro("setEnvironmentMap",null,["number","number"]),W=Ro("setDiamondEnvironmentMap",null,["number","number"]),h=Ro("hasVar","boolean",["string","string"]),m=Ro("getVarTypeStatus","boolean",["string","string"]),g=Ro("getBoolVarStatus","boolean",["string","string"]),p=Ro("getIntVarStatus","boolean",["string","string"]),b=Ro("getDoubleVarStatus","boolean",["string","string"]),v=Ro("getStringVarStatus","boolean",["string","string"]),w=Ro("getVarType","int",["string","string"]),y=Ro("getBoolVar","boolean",["string","string"]),E=Ro("getIntVar","int",["string","string"]),P=Ro("getDoubleVar","number",["string","string"]),k=Ro("getStringVar","string",["string","string"]),T=Ro("setBoolVar","boolean",["string","boolean","string"]),x=Ro("setIntVar","boolean",["string","int","string"]),S=Ro("setDoubleVar","boolean",["string","number","string"]),_=Ro("setStringVar","boolean",["string","string","string"]),j=Ro("deleteVar","boolean",["string","string"]),A=Ro("clearVars","boolean",["string"]),n.pushConsoleLog=Ro("pushConsoleLog","boolean",["string","int"]),n.changeParameterFloat=Ro("changeParameterFloat",null,["string","string","string","number"]),n.changeParameterVector=Ro("changeParameterVector",null,"string string string number number number number".split(" ")),n.changeParameterBool=Ro("changeParameterBool",null,["string","string","string","boolean"]),n.changeParameterTexture=Ro("changeParameterTexture",null,"string string string number number number number".split(" ")),n.fireTrigger=Ro("fireTrigger",null,["string"]),n.setFaceDetectionSensitivity=Ro("setFaceDetectionSensitivity",null,["number"]),n.showStats=Ro("showStats",null,["number"]),n.simulatePhysics=Ro("simulatePhysics",null,["number"]),n.showColliders=Ro("showColliders",null,["number"]),n.setLicenseKey=Ro("setLicenseKey",null,["string"]),n.muteSound=Ro("muteSound",null,["boolean"]),n.setExposure=Ro("setExposure",null,["number"]),n.setEnvironmentMapIntensity=Ro("setEnvironmentMapIntensity",null,["number"]),n.setToneMapping=Ro("setToneMapping",null,["number"]),n.resetEnvironmentMap=Ro("resetEnvironmentMap",null,[]),n.resetToneMapping=Ro("resetToneMapping",null,[]),n.resetEnvironmentMapIntensity=Ro("resetEnvironmentMapIntensity",null,[]),n.resetExposure=Ro("resetExposure",null,[]),n.setBloomEnabled=Ro("setBloomEnabled",null,["boolean"]),n.setBloomThreshold=Ro("setBloomThreshold",null,["number"]),n.setBloomStrength=Ro("setBloomStrength",null,["number"]),n.setBloomRadius=Ro("setBloomRadius",null,["number"]),n.split_sum=await createImageBitmap(new Blob([await n.split_sum]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}),n.initialize(n.canvasWidth,n.canvasHeight,!0,!1,e,!0,!0,!1,n.onVerify)};let ee={};function te(e,t,r){ee[e]={path:t,bj:!1,data:null,aj:!1,Xi:[],Ej:r,Jj:function(r){if(r&&this.Xi.push(r),this.data)this.Xi.forEach((e=>{e.Si(this.data)})),0!==this.Xi.length&&(this.data=null,this.aj=this.bj=!1,this.Xi=[]);else if(!this.bj){this.aj&&this.Xi.forEach((e=>{e.error()})),this.path||(console.error(`The ${e} model was requested but the path to it is not defined.`),this.aj=!0,this.Xi.forEach((e=>{e.error()}))),this.bj=!0;var i=r=>{this.data=r,this.bj=!1,this.aj=!0,async function(e){return e=await crypto.subtle.digest("SHA-256",e),Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,"0"))).join("")}(r).then((r=>{this.Ej.some((e=>e===r))||console.error(`The loaded ${e} model (${t}) does not pass the validity check. DeepAR may not function as expected or it might crash. Expected digests: ${this.Ej} but got this digest ${r}.`)})),this.Xi.forEach((e=>{e.Si(r)}))},a=t=>{console.error(t),console.error(`Error downloading the ${e} model (${this.path}), could not resolve the array buffer`),this.Xi.forEach((e=>{e.error()}))};null!=n.globalProgress&&n.globalProgress.isUrlTracked(t)?n.globalProgress.getFilePromises(t).then((e=>{i(e)})).catch((()=>{a()})):fetch(this.path).then((t=>{t.ok?t.arrayBuffer().then((e=>{i(e)})).catch((e=>{a(e)})):(this.bj=!1,this.aj=!0,console.error(`Error downloading the ${e} model (${this.path}), response status = ${t.status}. Effects using ${e} will not work properly or at all.`),this.Xi.forEach((e=>{e.error()})))}))}},jk:function(){return this.data?this.data:this.aj||this.bj?null:void this.Jj()},Fj:function(){this.data=null,this.aj=this.bj=!1},oj:async function(){return new Promise(((e,t)=>{this.Jj({Si:e,error:t})}))}}}function re(e,t){te(`${e}-tfjsBackendWasmPath`,t.tfjsBackendWasmPath,["fe0951aee7c0feb369aa12a65a24b871da9386fb55b40b918c2a59b24e09be83"]),te(`${e}-tfjsBackendWasmSimdPath`,t.tfjsBackendWasmSimdPath,["3402e2b8668afb320151b4aae8080ad2136875f424aa95c95e3a4bc87d09097e"]),te(`${e}-tfjsBackendWasmThreadedPath`,t.tfjsBackendWasmThreadedPath,["118f499abf412a285905483c91db693296c0b112cfaab04128bf54f61c141ce9"])}function ne(e){if(!ee[e])throw Error(`No ML model with name ${e}.`);return ee[e].jk()}function ie(e){if(!ee[e])throw Error(`No ML model with name ${e}.`);return ee[e].oj()}async function ae(e){const t={tfjsBackendWasmPath:"",tfjsBackendWasmSimdPath:"",tfjsBackendWasmThreadedPath:""};return n.WASM_HAS_SIMD_SUPPORT&&n.WASM_HAS_MULTITHREAD_SUPPORT?t.tfjsBackendWasmThreadedPath=await ee[`${e}-tfjsBackendWasmThreadedPath`].oj():n.WASM_HAS_SIMD_SUPPORT?t.tfjsBackendWasmSimdPath=await ee[`${e}-tfjsBackendWasmSimdPath`].oj():t.tfjsBackendWasmPath=await ee[`${e}-tfjsBackendWasmPath`].oj(),t}te("rigidFaceDetector",n.rigidFaceTrackingConfig.detectorPath,["8270514ae788bc6ee67db086c9400581d17a78c18de38c878f1148dcc3a8e480"]),te("rigidFaceTracker",n.rigidFaceTrackingConfig.trackerPath,["9ab8c04aa4294ff23c66798a4a442fd9dbef4a8f61ea6e1530e51445846b5605"]),te("rigidFacePEW",n.rigidFaceTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),re("rigidFaceDetector",n.rigidFaceTrackingConfig),te("footDetector",n.footTrackingConfig.detectorPath,["6d0f65c977509cf5d93f65a3b26539ab29ec540322476f0b7adac9ee289db4bd"]),te("footTracker",n.footTrackingConfig.trackerPath,["297c230e346d4e9e7ac1f78e9e87f4e85754338547061501eee2542e334ca7be","c72af568553b85b1f20d61fd07ba5db46a0db2b5261472099310bbc51afa967f","e5180848c0d88fe6ab483b22a4490e9db80408d2887cd165cecd5e7f2efd8555"]),te("footObj",n.footTrackingConfig.objPath,["3b903682a513f5d96cabb8135ead157240141f0f0d5c833a77e7de91a87a2bca"]),te("footPEW",n.footTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),re("footDetector",n.footTrackingConfig),te("wristDetector",n.wristTrackingConfig.detectorPath,["b4c14a6f4b7bed1bc1cb313bbad5e877c7958c25b8e47d12583404f9a611d7ff"]),te("wristTracker",n.wristTrackingConfig.trackerPath,["8bbbc4398f33db43ef32f1615d6d11322e8dc5d1f800cb8da4a0580d6267dba0","cbb7a12bd06b28a809c914700c8cd64530a9d08d4d82f6d9c758dfc022264a6d"]),te("wristObj",n.wristTrackingConfig.objPath,["5c763303cac33e377bbfbc3bd13475c0b99ca6412f9774ecc7a65fe72ac01732"]),te("wristPEW",n.wristTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),re("wristDetector",n.wristTrackingConfig),te("default_envmap.webp",n.defaultEnvmapPath,["f822e455a5d5a3c1d5c91d9c22d3d1b511f645062fa2e4c8755d698af02b9b80"]);var oe,se=Object.assign({},n),le="";"undefined"!=typeof document&&document.currentScript&&(le=document.currentScript.src),i&&(le=i),le=le.startsWith("blob:")?"":le.substr(0,le.replace(/[?#].*/,"").lastIndexOf("/")+1),oe=e=>fetch(e,{credentials:"same-origin"}).then((e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))));var ce,de=console.log.bind(console),ue=console.error.bind(console);Object.assign(n,se),se=null,n.wasmBinary&&(ce=n.wasmBinary);var fe,he,me,ge,pe,be,ve,we,ye,Ee,Pe=!1;function ke(){var e=fe.buffer;n.HEAP8=me=new Int8Array(e),n.HEAP16=pe=new Int16Array(e),n.HEAPU8=ge=new Uint8Array(e),n.HEAPU16=be=new Uint16Array(e),n.HEAP32=ve=new Int32Array(e),n.HEAPU32=we=new Uint32Array(e),n.HEAPF32=ye=new Float32Array(e),n.HEAPF64=Ee=new Float64Array(e)}var Te=[],xe=[],Se=[],_e=[],je=!1,Ae=!1,Ie=0,Fe=null,Ce=null;function Oe(e){throw n.onAbort?.(e),ue(e="Aborted("+e+")"),Pe=!0,he=1,e+=". Build with -sASSERTIONS for more info.",je&&os(),e=new WebAssembly.RuntimeError(e),r(e),e}var Me,Re=e=>e.startsWith("data:application/octet-stream;base64,");function Le(e){if(e==Me&&ce)return new Uint8Array(ce);throw"both async and sync fetching of the wasm failed"}function Be(e,t,r){return function(e){return ce?Promise.resolve().then((()=>Le(e))):oe(e).then((e=>new Uint8Array(e)),(()=>Le(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then(r,(e=>{ue(`failed to asynchronously prepare wasm: ${e}`),Oe(e)}))}var De={96916:(e,t,r,n,i,a)=>{var o=document.createElement("canvas"),s=o.getContext("2d");o.width=t,o.height=r,e=new Uint8ClampedArray(ge.subarray(e,e+o.width*o.height*4)),e=new ImageData(e,o.width,o.height),s.putImageData(e,0,0),e=(s=document.createElement("canvas")).getContext("2d"),s.width=i,s.height=a,e.drawImage(o,0,0,s.width,s.height),i=e.getImageData(0,0,s.width,s.height),i=new Uint8Array(i.data.buffer),ge.set(i,n)},97770:(e,t,r,n,i,a)=>{var o=document.createElement("canvas"),s=o.getContext("2d");o.width=t,o.height=r,e=new Uint8ClampedArray(ge.subarray(e,e+o.width*o.height*4)),e=new ImageData(e,o.width,o.height),s.putImageData(e,0,0),e=(s=document.createElement("canvas")).getContext("2d"),s.width=i,s.height=a,e.drawImage(o,0,0,s.width,s.height),i=e.getImageData(0,0,s.width,s.height),i=new Uint8Array(i.data.buffer),ge.set(i,n)},98624:()=>{var e=window.navigator.userAgent||"no user agent",t=Zo(32);for(let r=0;32>r;++r)ge[t+r]=e.charCodeAt(r%e.length);return t},98862:()=>{var e=window.location.hostname||"no hostname",t=Zo(32);for(let r=0;32>r;++r)ge[t+r]=e.charCodeAt(r%e.length);return t},99096:()=>{console.error("License key not valid")},99135:()=>{n.Yj()},99159:(e,t,r)=>{n.$j(e,t,r)},99202:e=>{n.Zj(e)},99249:e=>{n.Rj(e?ze(ge,e):"")},99293:(e,t,r,i,a,o,s,l,c)=>{n.Tj({translationOffset:e,rotationOffset:t,poseMatrixOffset:r,landmarksOffset:i,landmarks2DOffset:a,faceRectOffset:o},s,l,c)},99477:(e,t)=>{n.Sj(e?ze(ge,e):"",t?ze(ge,t):"")},99534:()=>{n.Oj()},99572:()=>{n.Pj()},99617:(e,t,r,i)=>{n.Bj(e,t,r,i)},99672:(e,t,r,i)=>{n.Cj(e,t,r,i)},99728:(e,t,r,i)=>{function a(e,t){return{detected:e,scale:[ye[t>>=2],ye[t+1],ye[t+2]],rotation:[ye[t+3],ye[t+4],ye[t+5],ye[t+6]],position:[ye[t+7],ye[t+8],ye[t+9]]}}e=a(e,t),r=a(r,i),n.Wj(e,r)},100185:(e,t)=>{n.ck({detected:!!e,isLeft:!!t})},100250:()=>{n.ak()},100291:e=>{n.Vj(!!e)},100332:e=>{n.Xj(!!e)},100376:(e,t)=>{e=e?ze(ge,e,t):"",n.Nj(e)},100457:()=>{alert("DeepAR license not valid")},100491:()=>{n.endLoop()},100512:()=>{let e=ne("face");if(!e)return 0;e=new Uint8Array(e);var t=Zo(e.length);return ge.set(e,t),ee.face.Fj(),t},100755:()=>{let e=ne("default_envmap.webp");if(!e)return 0;e=new Uint8Array(e);var t=Zo(e.length);return ge.set(e,t),t},100965:()=>{let e=ne("default_envmap.webp").byteLength;return ee["default_envmap.webp"].Fj(),e},101074:()=>n.useExternalTrackingData,101120:(e,t)=>{n.Qj(e,t)}};function We(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var Ue,$e,Ge,Ve=e=>{for(;0<e.length;)e.shift()(n)},Ne="undefined"!=typeof TextDecoder?new TextDecoder:void 0,ze=(e,t,r)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&Ne)return Ne.decode(e.subarray(t,r));for(n="";t<r;){var i=e[t++];if(128&i){var a=63&e[t++];if(192==(224&i))n+=String.fromCharCode((31&i)<<6|a);else{var o=63&e[t++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&e[t++])?n+=String.fromCharCode(i):(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else n+=String.fromCharCode(i)}return n},Xe=(e,t)=>e?ze(ge,e,t):"",Ke=e=>{for(var t="";ge[e];)t+=Ue[ge[e++]];return t},He={},qe={},Ye={},Je=e=>{throw new $e(e)},Qe=(e,t,r)=>{function n(t){if((t=r(t)).length!==e.length)throw new Ge("Mismatched type converter count");for(var n=0;n<e.length;++n)Ze(e[n],t[n])}e.forEach((function(e){Ye[e]=t}));var i=Array(t.length),a=[],o=0;t.forEach(((e,t)=>{qe.hasOwnProperty(e)?i[t]=qe[e]:(a.push(e),He.hasOwnProperty(e)||(He[e]=[]),He[e].push((()=>{i[t]=qe[e],++o===a.length&&n(i)})))})),0===a.length&&n(i)};function Ze(e,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t,r={}){var n=t.name;if(!e)throw new $e(`type "${n}" must have a positive integer typeid pointer`);if(qe.hasOwnProperty(e)){if(r.mk)return;throw new $e(`Cannot register type '${n}' twice`)}qe[e]=t,delete Ye[e],He.hasOwnProperty(e)&&(t=He[e],delete He[e],t.forEach((e=>e())))}(e,t,r)}var et,tt=e=>{throw new $e(e.Ii.Mi.Ji.name+" instance already deleted")},rt=!1,nt=()=>{},it=(e,t,r)=>t===r?e:void 0===r.Pi||null===(e=it(e,t,r.Pi))?null:r.gk(e),at={},ot=[],st=()=>{for(;ot.length;){var e=ot.pop();e.Ii.gj=!1,e.delete()}},lt={},ct=(e,t)=>{if(!t.Mi||!t.Li)throw new Ge("makeClassHandle requires ptr and ptrType");if(!!t.Qi!=!!t.Ni)throw new Ge("Both smartPtrType and smartPtr must be specified");return t.count={value:1},dt(Object.create(e,{Ii:{value:t,writable:!0}}))},dt=e=>"undefined"==typeof FinalizationRegistry?(dt=e=>e,e):(rt=new FinalizationRegistry((e=>{--(e=e.Ii).count.value,0===e.count.value&&(e.Ni?e.Qi.Zi(e.Ni):e.Mi.Ji.Zi(e.Li))})),nt=e=>{rt.unregister(e)},(dt=e=>{var t=e.Ii;return t.Ni&&rt.register(e,{Ii:t},e),e})(e));function ut(){}var ft=(e,t)=>Object.defineProperty(t,"name",{value:e}),ht=(e,t,r)=>{if(void 0===e[t].Oi){var n=e[t];e[t]=function(...n){if(!e[t].Oi.hasOwnProperty(n.length))throw new $e(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].Oi})!`);return e[t].Oi[n.length].apply(this,n)},e[t].Oi=[],e[t].Oi[n.nj]=n}},mt=(e,t,r)=>{if(n.hasOwnProperty(e)){if(void 0===r||void 0!==n[e].Oi&&void 0!==n[e].Oi[r])throw new $e(`Cannot register public name '${e}' twice`);if(ht(n,e,e),n.hasOwnProperty(r))throw new $e(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);n[e].Oi[r]=t}else n[e]=t,void 0!==r&&(n[e].Jk=r)};function gt(e,t,r,n,i,a,o,s){this.name=e,this.constructor=t,this.hj=r,this.Zi=n,this.Pi=i,this.ik=a,this.lj=o,this.gk=s,this.rk=[]}var pt=(e,t,r)=>{for(;t!==r;){if(!t.lj)throw new $e(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.lj(e),t=t.Pi}return e};function bt(e,t){if(null===t){if(this.wj)throw new $e(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new $e(`Cannot pass "${$t(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new $e(`Cannot pass deleted object as a pointer of type ${this.name}`);return pt(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function vt(e,t){if(null===t){if(this.wj)throw new $e(`null is not a valid ${this.name}`);if(this.qj){var r=this.sk();return null!==e&&e.push(this.Zi,r),r}return 0}if(!t||!t.Ii)throw new $e(`Cannot pass "${$t(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new $e(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.pj&&t.Ii.Mi.pj)throw new $e(`Cannot convert argument of type ${t.Ii.Qi?t.Ii.Qi.name:t.Ii.Mi.name} to parameter type ${this.name}`);if(r=pt(t.Ii.Li,t.Ii.Mi.Ji,this.Ji),this.qj){if(void 0===t.Ii.Ni)throw new $e("Passing raw pointer to smart pointer is illegal");switch(this.uk){case 0:if(t.Ii.Qi!==this)throw new $e(`Cannot convert argument of type ${t.Ii.Qi?t.Ii.Qi.name:t.Ii.Mi.name} to parameter type ${this.name}`);r=t.Ii.Ni;break;case 1:r=t.Ii.Ni;break;case 2:if(t.Ii.Qi===this)r=t.Ii.Ni;else{var n=t.clone();r=this.tk(r,Wt((()=>n.delete()))),null!==e&&e.push(this.Zi,r)}break;default:throw new $e("Unsupporting sharing policy")}}return r}function wt(e,t){if(null===t){if(this.wj)throw new $e(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new $e(`Cannot pass "${$t(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new $e(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.Ii.Mi.pj)throw new $e(`Cannot convert argument of type ${t.Ii.Mi.name} to parameter type ${this.name}`);return pt(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function yt(e){return this.fromWireType(we[e>>2])}function Et(e,t,r,n,i,a,o,s,l,c,d){this.name=e,this.Ji=t,this.wj=r,this.pj=n,this.qj=i,this.qk=a,this.uk=o,this.Ij=s,this.sk=l,this.tk=c,this.Zi=d,i||void 0!==t.Pi?this.toWireType=vt:(this.toWireType=n?bt:wt,this.Vi=null)}var Pt,kt,Tt=(e,t,r)=>{if(!n.hasOwnProperty(e))throw new Ge("Replacing nonexistent public symbol");void 0!==n[e].Oi&&void 0!==r?n[e].Oi[r]=t:(n[e]=t,n[e].nj=r)},xt=(e,t)=>{var r=(e=Ke(e)).includes("j")?((e,t)=>(...r)=>((e,t,r=[])=>(e.includes("j")?(e=e.replace(/p/g,"i"),t=(0,n["dynCall_"+e])(t,...r)):t=Pt.get(t)(...r),t))(e,t,r))(e,t):Pt.get(t);if("function"!=typeof r)throw new $e(`unknown function pointer with signature ${e}: ${t}`);return r},St=e=>{e=Xo(e);var t=Ke(e);return Ko(e),t},_t=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||qe[t]||(Ye[t]?Ye[t].forEach(e):(r.push(t),n[t]=!0))})),new kt(`${e}: `+r.map(St).join([", "]))},jt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(we[t+4*n>>2]);return r},At=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function It(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].Vi)return!0;return!1}function Ft(e){var t=Function;if(!(t instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof t} which is not a function`);var r=ft(t.name||"unknownFunctionName",(function(){}));return r.prototype=t.prototype,r=new r,(e=t.apply(r,e))instanceof Object?e:r}function Ct(e,t,r,n,i,a){var o=t.length;if(2>o)throw new $e("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==r,l=It(t);for(r="void"!==t[0].name,n=[e,Je,n,i,At,t[0],t[1]],i=0;i<o-2;++i)n.push(t[i+2]);if(!l)for(i=s?1:2;i<t.length;++i)null!==t[i].Vi&&n.push(t[i].Vi);l=It(t),i=t.length;var c="",d="";for(o=0;o<i-2;++o)c+=(0!==o?", ":"")+"arg"+o,d+=(0!==o?", ":"")+"arg"+o+"Wired";c=`\n return function (${c}) {\n if (arguments.length !== ${i-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${i-2}');\n }`,l&&(c+="var destructors = [];\n");var u=l?"destructors":"null",f="humanName throwBindingError invoker fn runDestructors retType classParam".split(" ");for(s&&(c+="var thisWired = classParam['toWireType']("+u+", this);\n"),o=0;o<i-2;++o)c+="var arg"+o+"Wired = argType"+o+"['toWireType']("+u+", arg"+o+");\n",f.push("argType"+o);if(s&&(d="thisWired"+(0<d.length?", ":"")+d),c+=(r||a?"var rv = ":"")+"invoker(fn"+(0<d.length?", ":"")+d+");\n",l)c+="runDestructors(destructors);\n";else for(o=s?1:2;o<t.length;++o)a=1===o?"thisWired":"arg"+(o-2)+"Wired",null!==t[o].Vi&&(c+=`${a}_dtor(${a});\n`,f.push(`${a}_dtor`));r&&(c+="var ret = retType['fromWireType'](rv);\nreturn ret;\n");let[h,m]=[f,c+"}\n"];return h.push(m),t=Ft(h)(...n),ft(e,t)}var Ot,Mt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Rt=[],Lt=[],Bt=e=>{9<e&&0==--Lt[e+1]&&(Lt[e]=void 0,Rt.push(e))},Dt=e=>{if(!e)throw new $e("Cannot use deleted val. handle = "+e);return Lt[e]},Wt=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const t=Rt.pop()||Lt.length;return Lt[t]=e,Lt[t+1]=1,t}},Ut={name:"emscripten::val",fromWireType:e=>{var t=Dt(e);return Bt(e),t},toWireType:(e,t)=>Wt(t),argPackAdvance:8,readValueFromPointer:yt,Vi:null},$t=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Gt=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(ye[e>>2])};case 8:return function(e){return this.fromWireType(Ee[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Vt=(e,t,r)=>{switch(t){case 1:return r?e=>me[e]:e=>ge[e];case 2:return r?e=>pe[e>>1]:e=>be[e>>1];case 4:return r?e=>ve[e>>2]:e=>we[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Nt=(e,t,r,n)=>{if(!(0<n))return 0;var i=r;n=r+n-1;for(var a=0;a<e.length;++a){var o=e.charCodeAt(a);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-i},zt=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},Xt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Kt=(e,t)=>{for(var r=e>>1,n=r+t/2;!(r>=n)&&be[r];)++r;if(32<(r<<=1)-e&&Xt)return Xt.decode(ge.subarray(e,r));for(r="",n=0;!(n>=t/2);++n){var i=pe[e+2*n>>1];if(0==i)break;r+=String.fromCharCode(i)}return r},Ht=(e,t,r)=>{if(r??=2147483647,2>r)return 0;var n=t;r=(r-=2)<2*e.length?r/2:e.length;for(var i=0;i<r;++i)pe[t>>1]=e.charCodeAt(i),t+=2;return pe[t>>1]=0,t-n},qt=e=>2*e.length,Yt=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=ve[e+4*r>>2];if(0==i)break;++r,65536<=i?(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i)):n+=String.fromCharCode(i)}return n},Jt=(e,t,r)=>{if(r??=2147483647,4>r)return 0;var n=t;r=n+r-4;for(var i=0;i<e.length;++i){var a=e.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),ve[t>>2]=a,(t+=4)+4>r)break}return ve[t>>2]=0,t-n},Qt=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);55296<=n&&57343>=n&&++r,t+=4}return t},Zt=(e,t)=>{var r=qe[e];if(void 0===r)throw e=`${t} has unknown type ${St(e)}`,new $e(e);return r},er=(e,t,r)=>{var n=[];return e=e.toWireType(n,r),n.length&&(we[t>>2]=Wt(n)),e},tr=[],rr={},nr=e=>{var t=rr[e];return void 0===t?Ke(e):t},ir=0,ar=(e,t)=>{if(pr=e,br=t,gr)if(fr||(ir+=1,fr=!0),0==e)hr=function(){var e=0|Math.max(0,or+t-Ot());setTimeout(sr,e)};else if(1==e)hr=function(){jr(sr)};else if(2==e){if(void 0===Or)if("undefined"==typeof setImmediate){var r=[];addEventListener("message",(e=>{"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),r.shift()())}),!0),Or=function(e){r.push(e),postMessage("setimmediate","*")}}else Or=setImmediate;hr=function(){Or(sr)}}};Ot=()=>performance.now();var or,sr,lr,cr=e=>{if(!(e instanceof We||"unwind"==e))throw e},dr=()=>{if(!(Ae||0<ir))try{var e=he;throw he=e,0<ir||(is(),Ve(Se),Ta(),Ae=!0),he=e,0<ir||(Pe=!0),new We(e)}catch(e){cr(e)}},ur=()=>{ur.yj||(ur.yj={}),ur.yj['Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.']||(ur.yj['Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.']=1,ue('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'))},fr=!1,hr=null,mr=0,gr=null,pr=0,br=0,vr=0,wr=[],yr=!1,Er=!1,Pr=[],kr=!1,Tr=void 0,xr=void 0;function Sr(){return!!yr&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0)}var _r=0;function jr(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===_r)_r=t+1e3/60;else for(;t+2>=_r;)_r+=1e3/60;setTimeout(e,Math.max(_r-t,0))}}var Ar=[];function Ir(){var e=n.canvas;Ar.forEach((t=>t(e.width,e.height)))}function Fr(e,t,r){Cr(n.canvas,e,t),r||Ir()}function Cr(e,t,r){t&&r?(e.wk=t,e.lk=r):(t=e.wk,r=e.lk);var i=t,a=r;if(n.forcedAspectRatio&&0<n.forcedAspectRatio&&(i/a<n.forcedAspectRatio?i=Math.round(a*n.forcedAspectRatio):a=Math.round(i/n.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var o=Math.min(screen.width/i,screen.height/a);i=Math.round(i*o),a=Math.round(a*o)}xr?(e.width!=i&&(e.width=i),e.height!=a&&(e.height=a),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(i!=t||a!=r?(e.style.setProperty("width",i+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}var Or,Mr,Rr,Lr,Br,Dr=!1,Wr=0,Ur=0,$r=0,Gr={alpha:!1,depth:!1,stencil:!1,antialias:!1},Vr={},Nr=e=>{var t="EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw".split(" ");return(e.getSupportedExtensions()||[]).filter((e=>t.includes(e)))},zr=1,Xr=[],Kr=[],Hr=[],qr=[],Yr=[],Jr=[],Qr=[],Zr=[],en=[],tn=[],rn=[],nn=[],an={},on={},sn=4,ln=0,cn=e=>{for(var t=zr++,r=e.length;r<t;r++)e[r]=null;return t},dn=(e,t,r,n)=>{for(var i=0;i<e;i++){var a=Do[r](),o=a&&cn(n);a?(a.name=o,n[o]=a):Lr||=1282,ve[t+4*i>>2]=o}},un=(e,t)=>{if(n.preinitializedWebGLContext){var r=n.preinitializedWebGLContext;t.xj=Number(r.getParameter(r.VERSION).match(/^WebGL (\d+).\d+/)[1])}else e.Ti||(e.Ti=e.getContext,e.getContext=function(t,r){return"webgl"==t==(r=e.Ti(t,r))instanceof WebGLRenderingContext?r:null}),r=e.getContext("webgl2",t);return r?fn(r,t):0},fn=(e,t)=>{var r=cn(Zr),n={handle:r,attributes:t,version:t.xj,Wi:e};return e.canvas&&(e.canvas.Mj=n),Zr[r]=n,(void 0===t.hk||t.hk)&&mn(n),r},hn=e=>{Br=Zr[e],n.Yi=Do=Br?.Wi},mn=e=>{if(e||=Br,!e.nk){e.nk=!0;var t=e.Wi;t.Dk=t.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),t.Gk=t.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"),2<=e.version&&(t.Ri=t.getExtension("EXT_disjoint_timer_query_webgl2")),(2>e.version||!t.Ri)&&(t.Ri=t.getExtension("EXT_disjoint_timer_query")),t.Ik=t.getExtension("WEBGL_multi_draw"),Nr(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}},gn={},pn=e=>{var t=zt(e)+1,r=Zo(t);return r&&Nt(e,ge,r,t),r},bn=[],vn=(e,t)=>{bn.length=0;for(var r;r=ge[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,bn.push(112==r?we[t>>2]:105==r?ve[t>>2]:Ee[t>>3]),t+=n?8:4}return bn},wn=e=>Do.activeTexture(e),yn=(e,t)=>{Do.attachShader(Kr[e],Jr[t])},En=(e,t)=>{35051==e?Do.vj=t:35052==e&&(Do.Ui=t),Do.bindBuffer(e,Xr[t])},Pn=(e,t)=>{Do.bindFramebuffer(e,Hr[t])},kn=(e,t)=>{Do.bindRenderbuffer(e,qr[t])},Tn=(e,t)=>{Do.bindTexture(e,Yr[t])},xn=e=>{Do.bindVertexArray(Qr[e])},Sn=(e,t,r,n)=>Do.blendColor(e,t,r,n),_n=(e,t)=>Do.blendEquationSeparate(e,t),jn=(e,t,r,n)=>Do.blendFuncSeparate(e,t,r,n),An=(e,t,r,n)=>{r&&t?Do.bufferData(e,ge,n,r,t):Do.bufferData(e,t,n)},In=(e,t,r,n)=>{r&&Do.bufferSubData(e,t,ge,n,r)},Fn=e=>Do.checkFramebufferStatus(e),Cn=e=>Do.clear(e),On=(e,t,r,n)=>Do.clearColor(e,t,r,n),Mn=e=>Do.clearDepth(e),Rn=e=>Do.clearStencil(e),Ln=(e,t,r,n)=>{Do.colorMask(!!e,!!t,!!r,!!n)},Bn=e=>{Do.compileShader(Jr[e])},Dn=(e,t,r,n,i,a,o,s)=>{Do.Ui||!o?Do.compressedTexImage2D(e,t,r,n,i,a,o,s):Do.compressedTexImage2D(e,t,r,n,i,a,ge,s,o)},Wn=(e,t,r,n,i,a,o,s,l)=>{Do.Ui||!s?Do.compressedTexSubImage2D(e,t,r,n,i,a,o,s,l):Do.compressedTexSubImage2D(e,t,r,n,i,a,o,ge,l,s)},Un=(e,t,r,n,i,a,o,s)=>Do.copyTexSubImage2D(e,t,r,n,i,a,o,s),$n=()=>{var e=cn(Kr),t=Do.createProgram();return t.name=e,t.tj=t.rj=t.sj=0,t.zj=1,Kr[e]=t,e},Gn=e=>{var t=cn(Jr);return Jr[t]=Do.createShader(e),t},Vn=e=>Do.cullFace(e),Nn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=Xr[n];i&&(Do.deleteBuffer(i),i.name=0,Xr[n]=null,n==Do.vj&&(Do.vj=0),n==Do.Ui&&(Do.Ui=0))}},zn=(e,t)=>{for(var r=0;r<e;++r){var n=ve[t+4*r>>2],i=Hr[n];i&&(Do.deleteFramebuffer(i),i.name=0,Hr[n]=null)}},Xn=e=>{if(e){var t=Kr[e];t?(Do.deleteProgram(t),t.name=0,Kr[e]=null):Lr||=1281}},Kn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=qr[n];i&&(Do.deleteRenderbuffer(i),i.name=0,qr[n]=null)}},Hn=e=>{if(e){var t=Jr[e];t?(Do.deleteShader(t),Jr[e]=null):Lr||=1281}},qn=e=>{if(e){var t=nn[e];t?(Do.deleteSync(t),t.name=0,nn[e]=null):Lr||=1281}},Yn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=Yr[n];i&&(Do.deleteTexture(i),i.name=0,Yr[n]=null)}},Jn=(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2];Do.deleteVertexArray(Qr[n]),Qr[n]=null}},Qn=e=>Do.depthFunc(e),Zn=e=>{Do.depthMask(!!e)},ei=(e,t)=>{Do.detachShader(Kr[e],Jr[t])},ti=e=>Do.disable(e),ri=e=>{Do.disableVertexAttribArray(e)},ni=(e,t,r)=>{Do.drawArrays(e,t,r)},ii=(e,t,r,n)=>{Do.drawArraysInstanced(e,t,r,n)},ai=[],oi=(e,t)=>{for(var r=ai[e],n=0;n<e;n++)r[n]=ve[t+4*n>>2];Do.drawBuffers(r)},si=(e,t,r,n)=>{Do.drawElements(e,t,r,n)},li=(e,t,r,n,i)=>{Do.drawElementsInstanced(e,t,r,n,i)},ci=e=>Do.enable(e),di=e=>{Do.enableVertexAttribArray(e)},ui=()=>Do.flush(),fi=(e,t,r,n)=>{Do.framebufferRenderbuffer(e,t,r,qr[n])},hi=(e,t,r,n,i)=>{Do.framebufferTexture2D(e,t,r,Yr[n],i)},mi=(e,t)=>{dn(e,t,"createBuffer",Xr)},gi=(e,t)=>{dn(e,t,"createFramebuffer",Hr)},pi=(e,t)=>{dn(e,t,"createRenderbuffer",qr)},bi=(e,t)=>{dn(e,t,"createTexture",Yr)},vi=(e,t)=>{dn(e,t,"createVertexArray",Qr)},wi=e=>Do.generateMipmap(e),yi=(e,t,r,n,i,a,o,s)=>{t=Kr[t],(e=Do[e](t,r))&&(n=s&&Nt(e.name,ge,s,n),i&&(ve[i>>2]=n),a&&(ve[a>>2]=e.size),o&&(ve[o>>2]=e.type))},Ei=(e,t,r,n,i,a,o)=>{yi("getActiveAttrib",e,t,r,n,i,a,o)},Pi=(e,t,r,n,i,a,o)=>{yi("getActiveUniform",e,t,r,n,i,a,o)},ki=(e,t)=>Do.getAttribLocation(Kr[e],t?ze(ge,t):""),Ti=(e,t)=>{we[e>>2]=t,we[e+4>>2]=(t-we[e>>2])/4294967296};function xi(){var e=Nr(Do);return e.concat(e.map((e=>"GL_"+e)))}var Si=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&(Lr||=1280));case 34814:case 36345:n=0;break;case 34466:var i=Do.getParameter(34467);n=i?i.length:0;break;case 33309:if(2>Br.version)return void(Lr||=1282);n=xi().length;break;case 33307:case 33308:if(2>Br.version)return void(Lr||=1280);n=33307==e?3:0}if(void 0===n)switch(i=Do.getParameter(e),typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void(Lr||=1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void(Lr||=1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(e=0;e<i.length;++e)switch(r){case 0:ve[t+4*e>>2]=i[e];break;case 2:ye[t+4*e>>2]=i[e];break;case 4:me[t+e]=i[e]?1:0}return}try{n=0|i.name}catch(t){return Lr||=1280,void ue(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return Lr||=1280,void ue(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${i} of type ${typeof i}!`)}switch(r){case 1:Ti(t,n);break;case 0:ve[t>>2]=n;break;case 2:ye[t>>2]=n;break;case 4:me[t]=n?1:0}}else Lr||=1281},_i=()=>{var e=Do.getError()||Lr;return Lr=0,e},ji=(e,t)=>Si(e,t,2),Ai=(e,t,r,n)=>{if(r){switch(typeof(t=Do.getIndexedParameter(e,t))){case"boolean":e=t?1:0;break;case"number":e=t;break;case"object":if(null===t)switch(e){case 35983:case 35368:e=0;break;default:return void(Lr||=1280)}else{if(!(t instanceof WebGLBuffer))return void(Lr||=1280);e=0|t.name}break;default:return void(Lr||=1280)}switch(n){case 1:Ti(r,e);break;case 0:ve[r>>2]=e;break;case 2:ye[r>>2]=e;break;case 4:me[r]=e?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else Lr||=1281},Ii=(e,t)=>Si(e,t,0),Fi=(e,t,r,n)=>{null===(e=Do.getProgramInfoLog(Kr[e]))&&(e="(unknown error)"),t=0<t&&n?Nt(e,ge,n,t):0,r&&(ve[r>>2]=t)},Ci=(e,t,r)=>{if(r)if(e>=zr)Lr||=1281;else if(e=Kr[e],35716==t)null===(e=Do.getProgramInfoLog(e))&&(e="(unknown error)"),ve[r>>2]=e.length+1;else if(35719==t){if(!e.tj)for(t=0;t<Do.getProgramParameter(e,35718);++t)e.tj=Math.max(e.tj,Do.getActiveUniform(e,t).name.length+1);ve[r>>2]=e.tj}else if(35722==t){if(!e.rj)for(t=0;t<Do.getProgramParameter(e,35721);++t)e.rj=Math.max(e.rj,Do.getActiveAttrib(e,t).name.length+1);ve[r>>2]=e.rj}else if(35381==t){if(!e.sj)for(t=0;t<Do.getProgramParameter(e,35382);++t)e.sj=Math.max(e.sj,Do.getActiveUniformBlockName(e,t).length+1);ve[r>>2]=e.sj}else ve[r>>2]=Do.getProgramParameter(e,t);else Lr||=1281},Oi=(e,t,r)=>{r?(e=en[e],t=2>Br.version?Do.Ri.getQueryObjectEXT(e,t):Do.getQueryParameter(e,t),Ti(r,"boolean"==typeof t?t?1:0:t)):Lr||=1281},Mi=(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Do.Ri.getQueryObjectEXT(en[e],t))?e?1:0:e,ve[r>>2]=n):Lr||=1281},Ri=(e,t,r,n)=>{null===(e=Do.getShaderInfoLog(Jr[e]))&&(e="(unknown error)"),t=0<t&&n?Nt(e,ge,n,t):0,r&&(ve[r>>2]=t)},Li=(e,t,r)=>{r?35716==t?(null===(e=Do.getShaderInfoLog(Jr[e]))&&(e="(unknown error)"),ve[r>>2]=e?e.length+1:0):35720==t?(e=Do.getShaderSource(Jr[e]),ve[r>>2]=e?e.length+1:0):ve[r>>2]=Do.getShaderParameter(Jr[e],t):Lr||=1281},Bi=e=>{var t=an[e];if(!t){switch(e){case 7939:t=pn(xi().join(" "));break;case 7936:case 7937:case 37445:case 37446:(t=Do.getParameter(e))||(Lr||=1280),t=t?pn(t):0;break;case 7938:t=pn(`OpenGL ES 3.0 (${Do.getParameter(7938)})`);break;case 35724:var r=(t=Do.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==r&&(3==r[1].length&&(r[1]+="0"),t=`OpenGL ES GLSL ES ${r[1]} (${t})`),t=pn(t);break;default:Lr||=1280}an[e]=t}return t},Di=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Wi=e=>{var t,r=e.kj,n=e.Lj;if(!r)for(e.kj=r={},e.Kj={},t=0;t<Do.getProgramParameter(e,35718);++t){var i=Do.getActiveUniform(e,t),a=i.name;i=i.size;var o=Di(a);o=0<o?a.slice(0,o):a;var s=e.zj;for(e.zj+=i,n[o]=[i,s],a=0;a<i;++a)r[s]=a,e.Kj[s++]=o}},Ui=(e,t)=>{if(t=t?ze(ge,t):"",e=Kr[e]){Wi(e);var r=e.kj,n=0,i=t,a=Di(t);if(0<a&&(n=parseInt(t.slice(a+1))>>>0,i=t.slice(0,a)),(i=e.Lj[i])&&n<i[0]&&(r[n+=i[1]]=r[n]||Do.getUniformLocation(e,t)))return n}else Lr||=1281;return-1},$i=e=>{var t=Do.fk;if(t){var r=t.kj[e];return"number"==typeof r&&(t.kj[e]=r=Do.getUniformLocation(t,t.Kj[e]+(0<r?`[${r}]`:""))),r}Lr||=1282},Gi=(e,t,r,n)=>{if(r)if(e=Kr[e],Wi(e),"number"==typeof(e=Do.getUniform(e,$i(t)))||"boolean"==typeof e)switch(n){case 0:ve[r>>2]=e;break;case 2:ye[r>>2]=e}else for(t=0;t<e.length;t++)switch(n){case 0:ve[r+4*t>>2]=e[t];break;case 2:ye[r+4*t>>2]=e[t]}else Lr||=1281},Vi=(e,t,r,n)=>{if(r)if(e=Do.getVertexAttrib(e,t),34975==t)ve[r>>2]=e&&e.name;else if("number"==typeof e||"boolean"==typeof e)switch(n){case 0:ve[r>>2]=e;break;case 2:ye[r>>2]=e;break;case 5:ve[r>>2]=Math.fround(e)}else for(t=0;t<e.length;t++)switch(n){case 0:ve[r+4*t>>2]=e[t];break;case 2:ye[r+4*t>>2]=e[t];break;case 5:ve[r+4*t>>2]=Math.fround(e[t])}else Lr||=1281},Ni=(e,t,r)=>{Vi(e,t,r,0)},zi=e=>Do.isSync(nn[e]),Xi=e=>(e=Qr[e])?Do.isVertexArray(e):0,Ki=e=>{e=Kr[e],Do.linkProgram(e),e.kj=0,e.Lj={}},Hi=(e,t)=>{3317==e?sn=t:3314==e&&(ln=t),Do.pixelStorei(e,t)},qi=e=>0==(e-=5120)?me:1==e?ge:2==e?pe:4==e?ve:6==e?ye:5==e||28922==e||28520==e||30779==e||30782==e?we:be,Yi=(e,t,r,n,i)=>(e=qi(e),t=n*((ln||r)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[t-6402]||1)*e.BYTES_PER_ELEMENT+sn-1&-sn),e.subarray(i>>>31-Math.clz32(e.BYTES_PER_ELEMENT),i+t>>>31-Math.clz32(e.BYTES_PER_ELEMENT))),Ji=(e,t,r,n,i,a,o)=>{if(Do.vj)Do.readPixels(e,t,r,n,i,a,o);else{var s=qi(a);o>>>=31-Math.clz32(s.BYTES_PER_ELEMENT),Do.readPixels(e,t,r,n,i,a,s,o)}},Qi=(e,t,r,n)=>Do.renderbufferStorage(e,t,r,n),Zi=(e,t,r,n)=>Do.scissor(e,t,r,n),ea=(e,t,r,n)=>{for(var i="",a=0;a<t;++a)i+=Xe(we[r+4*a>>2],n?we[n+4*a>>2]:void 0);Do.shaderSource(Jr[e],i)},ta=(e,t,r,n)=>Do.stencilFuncSeparate(e,t,r,n),ra=(e,t,r,n)=>Do.stencilOpSeparate(e,t,r,n),na=(e,t,r,n,i,a,o,s,l)=>{if(Do.Ui)Do.texImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=qi(s);l>>>=31-Math.clz32(c.BYTES_PER_ELEMENT),Do.texImage2D(e,t,r,n,i,a,o,s,c,l)}else c=l?Yi(s,o,n,i,l):null,Do.texImage2D(e,t,r,n,i,a,o,s,c)},ia=(e,t,r)=>Do.texParameterf(e,t,r),aa=(e,t,r)=>{Do.texParameterf(e,t,ye[r>>2])},oa=(e,t,r)=>Do.texParameteri(e,t,r),sa=(e,t,r,n,i,a,o,s,l)=>{if(Do.Ui)Do.texSubImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=qi(s);Do.texSubImage2D(e,t,r,n,i,a,o,s,c,l>>>31-Math.clz32(c.BYTES_PER_ELEMENT))}else l=l?Yi(s,o,i,a,l):null,Do.texSubImage2D(e,t,r,n,i,a,o,s,l)},la=(e,t)=>{Do.uniform1i($i(e),t)},ca=(e,t,r)=>{t&&Do.uniform1iv($i(e),ve,r>>2,t)},da=(e,t,r)=>{t&&Do.uniform4fv($i(e),ye,r>>2,4*t)},ua=(e,t,r,n)=>{t&&Do.uniformMatrix3fv($i(e),!!r,ye,n>>2,9*t)},fa=(e,t,r,n)=>{t&&Do.uniformMatrix4fv($i(e),!!r,ye,n>>2,16*t)},ha=e=>{e=Kr[e],Do.useProgram(e),Do.fk=e},ma=(e,t)=>{Do.vertexAttribDivisor(e,t)},ga=(e,t,r,n,i,a)=>{Do.vertexAttribPointer(e,t,r,!!n,i,a)},pa=(e,t,r,n)=>Do.viewport(e,t,r,n),ba=(e,t,r,n)=>{Do.waitSync(nn[e],t,(r>>>0)+4294967296*n)},va=(e,t)=>{if(0>=e)return e;var r=32>=t?Math.abs(1<<t-1):Math.pow(2,t-1);return e>=r&&(32>=t||e>r)&&(e=-2*r+e),e},wa=(e,t)=>0<=e?e:32>=t?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e,ya=e=>{for(var t=e;ge[t];)++t;return t-e};function Ea(e){var t=Array(zt(e)+1);return e=Nt(e,t,0,t.length),t.length=e,t}var Pa=[null,[],[]],ka=(e,t)=>{var r=Pa[e];0===t||10===t?((1===e?de:ue)(ze(r,0)),r.length=0):r.push(t)},Ta=()=>{as(0),Pa[1].length&&ka(1,10),Pa[2].length&&ka(2,10)};function xa(){return["iOS","Android"].includes(c.os.family)?85:"OS X"===c.os.family?54:90}var Sa=null,_a=null,ja=0,Aa=null,Ia=-1,Fa=-1,Ca=!1,Oa=null,Ma=null,Ra=null,La=null,Ba=null,Da=null,Wa=!0,Ua={},$a=0,Ga=0;async function Va(e){e=await createImageBitmap(new Blob([e]),{premultiplyAlpha:"none",colorSpaceConversion:"none"});var t=Br.Wi,r=t.createTexture();const n=cn(Yr);return r.name=n,Yr[n]=r,t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t=e.width,r=e.height,e.close(),[n,t,r]}var Na=!1,za=!1,Xa=0,Ka=0,Ha=0,qa=null,Ya=null,Ja=null,Qa=null,Za=null;async function eo(e,t,r){if(!za&&!Na){console.log(`DeepAR Rigid Face Tracking initialize started. FovY: ${e}, width: ${t}, height: ${r}`),Na=!0;try{l||=await n.dynamicImports.xzimg(n.globalProgress),null==qa&&(qa=new l.Geometry),null==Ya&&(Ya=new l.VideoManager(null)).setNbFramesDelay(0);const i=await ie("rigidFaceDetector"),a=await ie("rigidFaceTracker");let o={poseEstimationWasmFilename:await ie("rigidFacePEW"),modelFilename:i,featuresFilename:a,fovY:e,geometryToDetect:"FACE",normMode:"eye_center",detectScoreThs:.2,trackScoreThs:.4,filteringShift:.2,filteringLevel:1,computePose:!0,wasmBackend:{enable:!0,...await ae("rigidFaceDetector")}};await qa.initialize(Ya,o),Xa=t,Ka=r,Ha=e,Na=!1,za=!0,console.log("DeepAR RigidFaceTracking initialized!"),n.Uj(e,t,r)}catch(e){Na=!1,console.error(e)}}}function to(e){if(!Na&&null!=qa&&qa.isInitialized()){Ya.preProcessWithBuffer(e);try{qa.trackSync()}catch(e){return console.log(e),void(Ja=!1)}null!=(e=qa.getInterpolatedPose())&&qa.isDetected()?(Za=e.t(),Qa=e.R(),Ja=!0):Ja=!1}}var ro,no=!1,io=!1,ao=0,oo=0,so=0,lo=null,co=null,uo=null,fo=null,ho=null,mo=null,go=null,po=null;async function bo(e,t,r,i){if(!io&&!no){no=!0,console.log(`DeepAR Foot Tracking initialize started. FovY: ${e}, width: ${r}, height: ${i}`);try{l||=await n.dynamicImports.xzimg(n.globalProgress),null==lo&&(lo=new l.Foot),null==co&&(co=new l.VideoManager(null),ro=t,co.setNbFramesDelay(ro));const a=await ie("footDetector"),o=await ie("footTracker"),s=await ie("footObj");let c={poseEstimationWasmFilename:await ie("footPEW"),modelFilename:a,featuresFilename:o,objContainer:s,fovY:e,detectScoreThs:.25,validTrackedKeypThs:.3,trackScoreThs:.3,filteringShift:.5,footToDetect:"BOTH",wasmBackend:{enable:!0,...await ae("footDetector")}};await lo.initialize(co,c),ao=r,oo=i,so=e,no=!1,io=!0,console.log("DeepAR FootTracking initialized!"),n.Bj(e,t,r,i)}catch(e){no=!1,console.error(e)}}}function vo(e){if(!no&&null!=lo&&lo.isInitialized()){co.preProcessWithBuffer(e);try{lo.trackSync()}catch(e){return console.log(e),void(po=ho=!1)}e=lo.getInterpolatedPose("LEFT_FOOT");var t=lo.getInterpolatedPose("RIGHT_FOOT");null!=e&&e.isDetected()?(uo=e.t(),fo=e.R(),ho=!0):ho=!1,null!=t&&t.isDetected()?(mo=t.t(),go=t.R(),po=!0):po=!1}}var wo,yo,Eo=!1,Po=!1,ko=0,To=0,xo=0,So=null,_o=null,jo=null,Ao=null,Io=null,Fo=0,Co=0;async function Oo(e,t,r,i){if(!Po&&!Eo){Eo=!0,console.log(`DeepAR Wrist Tracking initialize started. FovY: ${e}, width: ${r}, height: ${i}`);try{l||=await n.dynamicImports.xzimg(n.globalProgress),null==So&&(So=new l.Geometry),null==_o&&(_o=new l.VideoManager(null),Co=t,_o.setNbFramesDelay(Co));const a=await ie("wristDetector"),o=await ie("wristTracker"),s=await ie("wristObj");let c={geometryToDetect:"WRIST",poseEstimationWasmFilename:await ie("wristPEW"),modelFilename:a,featuresFilename:o,objContainer:s,fovY:e,detectScoreThs:.25,validDetectedKeypThs:.25,trackScoreThs:.45,validTrackedKeypThs:.45,filteringShift:.5,trackedNumKeypsThs:30,reprojThs:50,activeIds:[44,46,47,65,66,78,108,110,111,113,114,115,123,127,130,136,139,140,142,143,145,148,151,153,158,160,166,170,171,174,175,177,178],computePose:!0,wasmBackend:{enable:!0,...await ae("wristDetector")}};await So.initialize(_o,c),ko=r,To=i,xo=e,Eo=!1,Po=!0,console.log("DeepAR WristTracking initialized!"),n.Cj(e,t,r,i)}catch(e){Eo=!1,console.error(e)}}}function Mo(e){if(Po){_o.preProcessWithBuffer(e);try{So.trackSync()}catch(e){return console.log(e),void(jo=!1)}e=!1,So.isDetected()?(++Fo>Co&&(e=!0),(jo=e)&&(e=So.getInterpolatedPose(),Ao=e.t(),Io=e.R())):(Fo=0,jo=!1)}}for(var Ro=(e,t,r,i)=>{var a=!r||r.every((e=>"number"===e||"boolean"===e));return"string"!==t&&a&&!i?n["_"+e]:(...i)=>((e,t,r,i)=>{var a={string:e=>{var t=0;if(null!=e&&0!==e){t=zt(e)+1;var r=ls(t);Nt(e,ge,r,t),t=r}return t},array:e=>{var t=ls(e.length);return me.set(e,t),t}};e=n["_"+e];var o,s=[],l=0;if(i)for(var c=0;c<i.length;c++){var d=a[r[c]];d?(0===l&&(l=cs()),s[c]=d(i[c])):s[c]=i[c]}return o=r=e(...s),0!==l&&ss(l),"string"===t?o?ze(ge,o):"":"boolean"===t?!!o:o})(e,t,r,i)},Lo=Array(256),Bo=0;256>Bo;++Bo)Lo[Bo]=String.fromCharCode(Bo);Ue=Lo,$e=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Ge=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(ut.prototype,{isAliasOf:function(e){if(!(this instanceof ut&&e instanceof ut))return!1;var t=this.Ii.Mi.Ji,r=this.Ii.Li;e.Ii=e.Ii;var n=e.Ii.Mi.Ji;for(e=e.Ii.Li;t.Pi;)r=t.lj(r),t=t.Pi;for(;n.Pi;)e=n.lj(e),n=n.Pi;return t===n&&r===e},clone:function(){if(this.Ii.Li||tt(this),this.Ii.jj)return this.Ii.count.value+=1,this;var e=dt,t=Object,r=t.create,n=Object.getPrototypeOf(this),i=this.Ii;return(e=e(r.call(t,n,{Ii:{value:{count:i.count,gj:i.gj,jj:i.jj,Li:i.Li,Mi:i.Mi,Ni:i.Ni,Qi:i.Qi}}}))).Ii.count.value+=1,e.Ii.gj=!1,e},delete(){if(this.Ii.Li||tt(this),this.Ii.gj&&!this.Ii.jj)throw new $e("Object already scheduled for deletion");nt(this);var e=this.Ii;--e.count.value,0===e.count.value&&(e.Ni?e.Qi.Zi(e.Ni):e.Mi.Ji.Zi(e.Li)),this.Ii.jj||(this.Ii.Ni=void 0,this.Ii.Li=void 0)},isDeleted:function(){return!this.Ii.Li},deleteLater:function(){if(this.Ii.Li||tt(this),this.Ii.gj&&!this.Ii.jj)throw new $e("Object already scheduled for deletion");return ot.push(this),1===ot.length&&et&&et(st),this.Ii.gj=!0,this}}),n.getInheritedInstanceCount=()=>Object.keys(lt).length,n.getLiveInheritedInstances=()=>{var e,t=[];for(e in lt)lt.hasOwnProperty(e)&&t.push(lt[e]);return t},n.flushPendingDeletes=st,n.setDelayFunction=e=>{et=e,ot.length&&et&&et(st)},Object.assign(Et.prototype,{kk(e){return this.Ij&&(e=this.Ij(e)),e},Dj(e){this.Zi?.(e)},argPackAdvance:8,readValueFromPointer:yt,fromWireType:function(e){function t(){return this.qj?ct(this.Ji.hj,{Mi:this.qk,Li:r,Qi:this,Ni:e}):ct(this.Ji.hj,{Mi:this,Li:e})}var r=this.kk(e);if(!r)return this.Dj(e),null;var n=((e,t)=>{if(void 0===t)throw new $e("ptr should not be undefined");for(;e.Pi;)t=e.lj(t),e=e.Pi;return lt[t]})(this.Ji,r);if(void 0!==n)return 0===n.Ii.count.value?(n.Ii.Li=r,n.Ii.Ni=e,n.clone()):(n=n.clone(),this.Dj(e),n);if(n=this.Ji.ik(r),!(n=at[n]))return t.call(this);n=this.pj?n.ek:n.pointerType;var i=it(r,this.Ji,n.Ji);return null===i?t.call(this):this.qj?ct(n.Ji.hj,{Mi:n,Li:i,Qi:this,Ni:e}):ct(n.Ji.hj,{Mi:n,Li:i})}}),kt=n.UnboundTypeError=(wo=Error,(yo=ft("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(wo.prototype),yo.prototype.constructor=yo,yo.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},yo),Lt.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=()=>Lt.length/2-5-Rt.length,n.requestFullscreen=function(e,t){function r(){yr=!1;var e=i.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(i.exitFullscreen=Sr,Tr&&i.requestPointerLock(),yr=!0,xr?("undefined"!=typeof SDL&&(ve[SDL.screen>>2]=8388608|we[SDL.screen>>2]),Cr(n.canvas),Ir()):Cr(i)):(e.parentNode.insertBefore(i,e),e.parentNode.removeChild(e),xr?("undefined"!=typeof SDL&&(ve[SDL.screen>>2]=-8388609&we[SDL.screen>>2]),Cr(n.canvas),Ir()):Cr(i)),n.onFullScreen?.(yr),n.onFullscreen?.(yr)}void 0===(Tr=e)&&(Tr=!0),void 0===(xr=t)&&(xr=!1);var i=n.canvas;kr||(kr=!0,document.addEventListener("fullscreenchange",r,!1),document.addEventListener("mozfullscreenchange",r,!1),document.addEventListener("webkitfullscreenchange",r,!1),document.addEventListener("MSFullscreenChange",r,!1));var a=document.createElement("div");i.parentNode.insertBefore(a,i),a.appendChild(i),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?()=>a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(a.webkitRequestFullScreen?()=>a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),a.requestFullscreen()},n.requestAnimationFrame=jr,n.setCanvasSize=Fr,n.pauseMainLoop=function(){hr=null,mr++},n.resumeMainLoop=function(){mr++;var e=pr,t=br,r=gr;gr=null,(e=>{function t(){return!(r<mr&&(--ir,dr(),1))}gr=e;var r=mr;fr=!1,sr=function(){if(!Pe)if(0<wr.length){var r=wr.shift();if(r.Ek(r.Bk),lr){var n=lr,i=0==n%1?n-1:Math.floor(n);lr=r.Ck?i:(8*n+(i+.5))/9}t()&&setTimeout(sr,0)}else if(t())if(vr=vr+1|0,1==pr&&1<br&&0!=vr%br)hr();else{if(0==pr&&(or=Ot()),!Pe&&!Ae&&!Pe)try{e(),dr()}catch(e){cr(e)}t()&&("object"==typeof SDL&&SDL.audio?.Lk?.(),hr())}}})(r),ar(e,t),hr()},n.getUserMedia=function(e){let t;(t=window).getUserMedia||(t.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},n.createContext=function(e,t,r,i){if(t&&n.Yi&&e==n.canvas)return n.Yi;var a;if(t){var o={antialias:!1,alpha:!1,xj:2};if(i)for(var s in i)o[s]=i[s];if(void 0!==gn&&(a=un(e,o)))var l=Zr[a].Wi}else l=e.getContext("2d");return l?(r&&(n.Yi=l,t&&hn(a),n.vk=t,Pr.forEach((e=>e())),function(){function e(){Er=document.pointerLockElement===n.canvas||document.mozPointerLockElement===n.canvas||document.webkitPointerLockElement===n.canvas||document.msPointerLockElement===n.canvas}if(!Mr){Mr=!0;var t=n.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||(()=>{}),t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),n.elementPointerLock&&t.addEventListener("click",(e=>{!Er&&n.canvas.requestPointerLock&&(n.canvas.requestPointerLock(),e.preventDefault())}),!1))}}()),l):null};for(var Do,Wo=0;32>Wo;++Wo)ai.push(Array(Wo));const Uo="undefined"!=typeof OffscreenCanvas,$o=!!Uo&&!!new OffscreenCanvas(1,1).getContext("2d"),Go=!!Uo&&!!new OffscreenCanvas(1,1).getContext("webgl2");Ca=Go;let Vo=!1;if(Go){Oa=new OffscreenCanvas(1,1);const e=Ma=Oa.getContext("webgl2"),t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t," #version 300 es\n layout(location = 0) in vec2 a_position;\n layout(location = 1) in vec2 a_texCoord;\n \n uniform mat2 u_modelView;\n \n out vec2 v_texCoord;\n \n void main() {\n gl_Position = vec4(u_modelView * a_position, 0.0, 1.0);\n v_texCoord = a_texCoord;\n }\n "),e.compileShader(t);const r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r," #version 300 es\n precision mediump float;\n in vec2 v_texCoord;\n uniform sampler2D u_texture;\n \n out vec4 outColor;\n \n void main() {\n outColor = texture(u_texture, v_texCoord);\n }\n "),e.compileShader(r);const n=e.createProgram();e.attachShader(n,t),e.attachShader(n,r),e.linkProgram(n),e.getProgramParameter(n,e.LINK_STATUS)||(console.error("DeepAR image pipeline: Offscreen canvas (webgl2 context) error occurred linking the program.",e.getProgramInfoLog(n)),e.deleteProgram(n),e.deleteShader(t),e.deleteShader(r),Ca=!1),e.useProgram(n),e.deleteShader(t),e.deleteShader(r);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),e.STATIC_DRAW),e.enableVertexAttribArray(0),e.vertexAttribPointer(0,2,e.FLOAT,!1,0,0);const a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,0,2,0,0,2]),e.STATIC_DRAW),e.enableVertexAttribArray(1),e.vertexAttribPointer(1,2,e.FLOAT,!1,0,0),Ra=e.getUniformLocation(n,"u_modelView"),console.log("DeepAR: Using Offscreen canvas (webgl2 context) for image pipeline."),Vo=!0}Vo||($o?(console.log("DeepAR: Using Offscreen canvas (2D context) for image pipeline."),Sa=new OffscreenCanvas(1,1),_a=Sa.getContext("2d")):(console.log("DeepAR: Using DOM canvas (2D context) for image pipeline."),(Sa=document.createElement("canvas")).style.display="none",_a=Sa.getContext("2d",{willReadFrequently:!0,desynchronized:!0})));var No={ga:function(){return 0},wb:function(){return 0},xb:function(){},yb:()=>{Oe("")},sb:()=>{},Ta:(e,t,r,n)=>{Ze(e,{name:t=Ke(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(ge[e])},Vi:null})},hh:(e,t,r,n,i,a,o,s,l,c,d,u,f)=>{d=Ke(d),a=xt(i,a),s&&=xt(o,s),c&&=xt(l,c),f=xt(u,f);var h=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=t&&57>=t?`_${e}`:e})(d);mt(h,(function(){_t(`Cannot construct ${d} due to unbound types`,[n])})),Qe([e,t,r],n?[n]:[],(t=>{if(t=t[0],n)var r=t.Ji,i=r.hj;else i=ut.prototype;t=ft(d,(function(...e){if(Object.getPrototypeOf(this)!==o)throw new $e("Use 'new' to construct "+d);if(void 0===u.$i)throw new $e(d+" has no accessible constructor");var t=u.$i[e.length];if(void 0===t)throw new $e(`Tried to invoke ctor of ${d} with invalid number of parameters (${e.length}) - expected (${Object.keys(u.$i).toString()}) parameters instead!`);return t.apply(this,e)}));var o=Object.create(i,{constructor:{value:t}});t.prototype=o;var l,u=new gt(d,t,o,f,r,a,s,c);return u.Pi&&((l=u.Pi).Aj??(l.Aj=[]),u.Pi.Aj.push(u)),r=new Et(d,u,!0,!1,!1),l=new Et(d+"*",u,!1,!1,!1),i=new Et(d+" const*",u,!1,!0,!1),at[e]={pointerType:l,ek:i},Tt(h,t),[r,l,i]}))},$g:(e,t,r,n,i,a)=>{var o=jt(t,r);i=xt(n,i),Qe([],[e],(e=>{var r=`constructor ${(e=e[0]).name}`;if(void 0===e.Ji.$i&&(e.Ji.$i=[]),void 0!==e.Ji.$i[t-1])throw new $e(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.Ji.$i[t-1]=()=>{_t(`Cannot construct ${e.name} due to unbound types`,o)},Qe([],o,(n=>(n.splice(1,0,null),e.Ji.$i[t-1]=Ct(r,n,null,i,a),[]))),[]}))},s:(e,t,r,n,i,a,o,s,l)=>{var c=jt(r,n);t=Ke(t),t=Mt(t),a=xt(i,a),Qe([],[e],(e=>{function n(){_t(`Cannot call ${i} due to unbound types`,c)}var i=`${(e=e[0]).name}.${t}`;t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.Ji.rk.push(t);var d=e.Ji.hj,u=d[t];return void 0===u||void 0===u.Oi&&u.className!==e.name&&u.nj===r-2?(n.nj=r-2,n.className=e.name,d[t]=n):(ht(d,t,i),d[t].Oi[r-2]=n),Qe([],c,(n=>(n=Ct(i,n,e,a,o,l),void 0===d[t].Oi?(n.nj=r-2,d[t]=n):d[t].Oi[r-2]=n,[]))),[]}))},uh:e=>Ze(e,Ut),Y:(e,t,r)=>{Ze(e,{name:t=Ke(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:8,readValueFromPointer:Gt(t,r),Vi:null})},B:(e,t,r,n,i,a,o)=>{var s=jt(t,r);e=Ke(e),e=Mt(e),i=xt(n,i),mt(e,(function(){_t(`Cannot call ${e} due to unbound types`,s)}),t-1),Qe([],s,(r=>(Tt(e,Ct(e,[r[0],null].concat(r.slice(1)),null,i,a,o),t-1),[])))},k:(e,t,r,n,i)=>{if(t=Ke(t),-1===i&&(i=4294967295),i=e=>e,0===n){var a=32-8*r;i=e=>e<<a>>>a}var o=t.includes("unsigned")?function(e,t){return t>>>0}:function(e,t){return t};Ze(e,{name:t,fromWireType:i,toWireType:o,argPackAdvance:8,readValueFromPointer:Vt(t,r,0!==n),Vi:null})},e:(e,t,r)=>{function n(e){return new i(me.buffer,we[e+4>>2],we[e>>2])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];Ze(e,{name:r=Ke(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{mk:!0})},L:e=>{Ze(e,Ut)},Ea:(e,t)=>{var r="std::string"===(t=Ke(t));Ze(e,{name:t,fromWireType:function(e){var t=we[e>>2],n=e+4;if(r)for(var i=n,a=0;a<=t;++a){var o=n+a;if(a==t||0==ge[o]){if(i=i?ze(ge,i,o-i):"",void 0===s)var s=i;else s+=String.fromCharCode(0),s+=i;i=o+1}}else{for(s=Array(t),a=0;a<t;++a)s[a]=String.fromCharCode(ge[n+a]);s=s.join("")}return Ko(e),s},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;if(!(n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array))throw new $e("Cannot pass non-string to std::string");var i=r&&n?zt(t):t.length,a=Zo(4+i+1),o=a+4;if(we[a>>2]=i,r&&n)Nt(t,ge,o,i+1);else if(n)for(n=0;n<i;++n){var s=t.charCodeAt(n);if(255<s)throw Ko(o),new $e("String has UTF-16 code units that do not fit in 8 bits");ge[o+n]=s}else for(n=0;n<i;++n)ge[o+n]=t[n];return null!==e&&e.push(Ko,a),a},argPackAdvance:8,readValueFromPointer:yt,Vi(e){Ko(e)}})},R:(e,t,r)=>{if(r=Ke(r),2===t)var n=Kt,i=Ht,a=qt,o=e=>be[e>>1];else 4===t&&(n=Yt,i=Jt,a=Qt,o=e=>we[e>>2]);Ze(e,{name:r,fromWireType:e=>{for(var r,i=we[e>>2],a=e+4,s=0;s<=i;++s){var l=e+4+s*t;s!=i&&0!=o(l)||(a=n(a,l-a),void 0===r?r=a:(r+=String.fromCharCode(0),r+=a),a=l+t)}return Ko(e),r},toWireType:(e,n)=>{if("string"!=typeof n)throw new $e(`Cannot pass non-string to C++ string type ${r}`);var o=a(n),s=Zo(4+o+t);return we[s>>2]=o/t,i(n,s+4,o+t),null!==e&&e.push(Ko,s),s},argPackAdvance:8,readValueFromPointer:yt,Vi(e){Ko(e)}})},cb:(e,t)=>{Ze(e,{pk:!0,name:t=Ke(t),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},fg:(e,t,r)=>(e=Dt(e),t=Zt(t,"emval::as"),er(t,r,e)),ia:(e,t,r,n)=>(e=tr[e])(null,t=Dt(t),r,n),Lf:(e,t,r,n,i)=>(e=tr[e])(t=Dt(t),t[r=nr(r)],n,i),mb:Bt,ka:(e,t,r)=>{t=((e,t)=>{for(var r=Array(e),n=0;n<e;++n)r[n]=Zt(we[t+4*n>>2],"parameter "+n);return r})(e,t);var n=t.shift();e--;var i="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var s=["retType"],l=[n],c=0;c<e;++c)o.push("arg"+c),s.push("argType"+c),l.push(t[c]),i+=` var arg${c} = argType${c}.readValueFromPointer(args${a?"+"+a:""});\n`,a+=t[c].argPackAdvance;return i+=` var rv = ${1===r?"new func":"func.call"}(${o.join(", ")});\n`,n.pk||(s.push("emval_returnValue"),l.push(er),i+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s.push(i+"};\n"),e=Ft(s)(...l),r=`methodCaller<(${t.map((e=>e.name)).join(", ")}) => ${n.name}>`,(e=>{var t=tr.length;return tr.push(e),t})(ft(r,e))},qg:(e,t)=>(e=Dt(e),t=Dt(t),Wt(e[t])),Af:e=>{9<e&&(Lt[e+1]+=1)},Wf:e=>Wt(nr(e)),Bg:e=>{var t=Dt(e);At(t),Bt(e)},p:(e,t)=>(e=(e=Zt(e,"_emval_take_value")).readValueFromPointer(t),Wt(e)),Ia:function(e,t,r,n,i){d.decode({data:ge.slice(e,e+t).buffer,preserveVertexOrder:r}).then((e=>{var t=e.data,r=e.vertexCount,a=e.trianglesCount;e=es(n,r,a,i);const o=ts(n,i);r*=56;const s=3*a*(65535>3*a?2:4);a=new Uint8Array(t,8,r),t=new Uint8Array(t,8+r,s),ge.set(a,e),ge.set(t,o),rs(n,i)}))},Fh:(e,t,r,n,i)=>{if(62e3!=e)r=0;else{if(t)for(;;){if(12321==(e=ve[t>>2]))Gr.alpha=0<ve[t+4>>2];else if(12325==e)Gr.depth=0<ve[t+4>>2];else if(12326==e)Gr.stencil=0<ve[t+4>>2];else if(12337==e)e=ve[t+4>>2],Gr.antialias=0<e;else if(12338==e)e=ve[t+4>>2],Gr.antialias=1==e;else if(12544==e)Gr.Fk=12547!=ve[t+4>>2];else if(12344==e)break;t+=8}r&&n||i?(i&&(ve[i>>2]=1),r&&0<n&&(we[r>>2]=62002),r=1):r=0}return r},W:(e,t,r,i)=>{if(62e3!=e)return 0;for(e=1;;){if(12440!=(t=ve[i>>2])){if(12344==t)break;return 0}e=ve[i+4>>2],i+=8}return 2>e||3<e?0:(Gr.xj=e-1,Gr.Hk=0,0!=(Rr=un(n.canvas,Gr))?(hn(Rr),n.vk=!0,Pr.forEach((function(e){e()})),hn(null),62004):0)},X:(e,t)=>62e3!=e||62002!=t?0:62006,V:(e,t)=>62e3!=e||62004!=t?0:(Br===Zr[e=Rr]&&(Br=null),"object"==typeof JSEvents&&JSEvents.Mk(Zr[e].Wi.canvas),Zr[e]&&Zr[e].Wi.canvas&&(Zr[e].Wi.canvas.Mj=void 0),Zr[e]=null,Wr==t&&(Wr=0),1),U:(e,t)=>62e3!=e?0:(62006!=t||(Ur==t&&(Ur=0),$r==t&&($r=0)),1),Ga:e=>0!=e&&1!=e?0:62e3,Fa:(e,t,r)=>62e3!=e?0:(t&&(ve[t>>2]=1),r&&(ve[r>>2]=4),Dr=!0,1),l:(e,t,r,n)=>62e3!=e||0!=n&&62004!=n||0!=r&&62006!=r||0!=t&&62006!=t?0:(hn(n?Rr:null),Wr=n,$r=t,Ur=r,1),F:(e,t)=>{if(62e3!=e)return 0;if(Vr[t])return Vr[t];switch(t){case 12371:e=pn("Emscripten");break;case 12372:e=pn("1.4 Emscripten EGL");break;case 12373:e=pn("");break;case 12429:e=pn("OpenGL_ES");break;default:return 0}return Vr[t]=e},T:()=>Dr&&n.Yi&&!n.Yi.isContextLost()?1:0,Da:(e,t)=>62e3!=e?0:(0==t?ar(0,0):ar(1,t),1),Eh:e=>62e3!=e?0:($r=Ur=Wr=0,Dr=!1,1),c:(e,t,r)=>(t=vn(t,r),De[e](...t)),G:(e,t,r)=>(t=vn(t,r),De[e](...t)),ja:e=>{throw he=e,0<(ir=0)||(is(),Ve(Se),Ta(),Ae=!0),he=e,0<ir||(Pe=!0),new We(e)},H:Ot,Ag:wn,zg:yn,ud:(e,t)=>{Do.beginQuery(e,en[t])},Rg:(e,t)=>{Do.Ri.beginQueryEXT(e,en[t])},$c:e=>Do.beginTransformFeedback(e),yg:(e,t,r)=>{Do.bindAttribLocation(Kr[e],t,r?ze(ge,r):"")},xg:En,Yc:(e,t,r)=>{Do.bindBufferBase(e,t,Xr[r])},Zc:(e,t,r,n,i)=>{Do.bindBufferRange(e,t,Xr[r],n,i)},wg:Pn,vg:kn,bc:(e,t)=>{Do.bindSampler(e,tn[t])},ug:Tn,Ub:(e,t)=>{Do.bindTransformFeedback(e,rn[t])},ed:xn,Jg:xn,tg:Sn,sg:e=>Do.blendEquation(e),rg:_n,pg:(e,t)=>Do.blendFunc(e,t),og:jn,id:(e,t,r,n,i,a,o,s,l,c)=>Do.blitFramebuffer(e,t,r,n,i,a,o,s,l,c),ng:An,mg:In,lg:Fn,kg:Cn,zc:(e,t,r,n)=>Do.clearBufferfi(e,t,r,n),Ac:(e,t,r)=>{Do.clearBufferfv(e,t,ye,r>>2)},Cc:(e,t,r)=>{Do.clearBufferiv(e,t,ve,r>>2)},Bc:(e,t,r)=>{Do.clearBufferuiv(e,t,we,r>>2)},jg:On,ig:Mn,hg:Rn,lc:(e,t,r,n)=>Do.clientWaitSync(nn[e],t,(r>>>0)+4294967296*n),gg:Ln,eg:Bn,dg:Dn,zd:(e,t,r,n,i,a,o,s,l)=>{Do.Ui?Do.compressedTexImage3D(e,t,r,n,i,a,o,s,l):Do.compressedTexImage3D(e,t,r,n,i,a,o,ge,l,s)},cg:Wn,yd:(e,t,r,n,i,a,o,s,l,c,d)=>{Do.Ui?Do.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,c,d):Do.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,ge,d,c)},xc:(e,t,r,n,i)=>Do.copyBufferSubData(e,t,r,n,i),bg:(e,t,r,n,i,a,o,s)=>Do.copyTexImage2D(e,t,r,n,i,a,o,s),ag:Un,Ad:(e,t,r,n,i,a,o,s,l)=>Do.copyTexSubImage3D(e,t,r,n,i,a,o,s,l),$f:$n,_f:Gn,Zf:Vn,Yf:Nn,Xf:zn,Vf:Xn,wd:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=en[n];i&&(Do.deleteQuery(i),en[n]=null)}},Tg:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=en[n];i&&(Do.Ri.deleteQueryEXT(i),en[n]=null)}},Uf:Kn,dc:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=tn[n];i&&(Do.deleteSampler(i),i.name=0,tn[n]=null)}},Tf:Hn,mc:qn,Sf:Yn,Tb:(e,t)=>{for(var r=0;r<e;r++){var n=ve[t+4*r>>2],i=rn[n];i&&(Do.deleteTransformFeedback(i),i.name=0,rn[n]=null)}},dd:Jn,Ig:Jn,Rf:Qn,Qf:Zn,Pf:(e,t)=>Do.depthRange(e,t),Of:ei,Nf:ti,Mf:ri,Kf:ni,qc:ii,Eg:ii,Cb:ii,Id:ii,Db:ii,pd:oi,Gd:oi,Fg:oi,Jf:si,pc:li,Dg:li,zb:li,Ab:li,Hd:li,Ed:(e,t,r,n,i,a)=>{Do.drawElements(e,n,i,a)},If:ci,Hf:di,td:e=>Do.endQuery(e),Qg:e=>{Do.Ri.endQueryEXT(e)},_c:()=>Do.endTransformFeedback(),oc:(e,t)=>(e=Do.fenceSync(e,t))?(t=cn(nn),e.name=t,nn[t]=e,t):0,Gf:()=>Do.finish(),Ff:ui,Ef:fi,Df:hi,gd:(e,t,r,n,i)=>{Do.framebufferTextureLayer(e,t,Yr[r],n,i)},Cf:e=>Do.frontFace(e),Bf:mi,yf:gi,xd:(e,t)=>{dn(e,t,"createQuery",en)},Ug:(e,t)=>{for(var r=0;r<e;r++){var n=Do.Ri.createQueryEXT();if(!n){for(Lr||=1282;r<e;)ve[t+4*r++>>2]=0;break}var i=cn(en);n.name=i,en[i]=n,ve[t+4*r>>2]=i}},xf:pi,ec:(e,t)=>{dn(e,t,"createSampler",tn)},wf:bi,Sb:(e,t)=>{dn(e,t,"createTransformFeedback",rn)},cd:vi,Hg:vi,zf:wi,vf:Ei,uf:Pi,sc:(e,t,r,n,i)=>{e=Kr[e],(e=Do.getActiveUniformBlockName(e,t))&&(i&&0<r?(r=Nt(e,ge,i,r),n&&(ve[n>>2]=r)):n&&(ve[n>>2]=0))},tc:(e,t,r,n)=>{if(n){if(e=Kr[e],35393==r)ve[n>>2]=Do.getActiveUniformBlockName(e,t).length+1;else if(null!==(e=Do.getActiveUniformBlockParameter(e,t,r)))if(35395==r)for(r=0;r<e.length;r++)ve[n+4*r>>2]=e[r];else ve[n>>2]=e}else Lr||=1281},vc:(e,t,r,n,i)=>{if(i)if(0<t&&0==r)Lr||=1281;else{e=Kr[e];for(var a=[],o=0;o<t;o++)a.push(ve[r+4*o>>2]);if(e=Do.getActiveUniforms(e,a,n))for(t=e.length,o=0;o<t;o++)ve[i+4*o>>2]=e[o]}else Lr||=1281},tf:(e,t,r,n)=>{var i=(e=Do.getAttachedShaders(Kr[e])).length;for(i>t&&(i=t),ve[r>>2]=i,t=0;t<i;++t)ve[n+4*t>>2]=Jr.indexOf(e[t])},sf:ki,rf:(e,t)=>Si(e,t,4),fc:(e,t,r)=>{r?Ti(r,Do.getBufferParameter(e,t)):Lr||=1281},qf:(e,t,r)=>{r?ve[r>>2]=Do.getBufferParameter(e,t):Lr||=1281},of:_i,nf:ji,Mc:(e,t)=>Do.getFragDataLocation(Kr[e],t?ze(ge,t):""),mf:(e,t,r,n)=>{((e=Do.getFramebufferAttachmentParameter(e,t,r))instanceof WebGLRenderbuffer||e instanceof WebGLTexture)&&(e=0|e.name),ve[n>>2]=e},hc:(e,t,r)=>Ai(e,t,r,1),jc:(e,t)=>{Si(e,t,1)},ad:(e,t,r)=>Ai(e,t,r,0),lf:Ii,Gb:(e,t,r,n,i)=>{if(0>n)Lr||=1281;else if(i){if(null!==(e=Do.getInternalformatParameter(e,t,r)))for(t=0;t<e.length&&t<n;++t)ve[i+4*t>>2]=e[t]}else Lr||=1281},Ob:()=>{Lr||=1282},jf:Fi,kf:Ci,Lg:Oi,Ng:Mi,Kg:Oi,rd:(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Do.getQueryParameter(en[e],t))?e?1:0:e,ve[r>>2]=n):Lr||=1281},Mg:Mi,sd:(e,t,r)=>{r?ve[r>>2]=Do.getQuery(e,t):Lr||=1281},Og:(e,t,r)=>{r?ve[r>>2]=Do.Ri.getQueryEXT(e,t):Lr||=1281},hf:(e,t,r)=>{r?ve[r>>2]=Do.getRenderbufferParameter(e,t):Lr||=1281},Wb:(e,t,r)=>{r?ye[r>>2]=Do.getSamplerParameter(tn[e],t):Lr||=1281},Yb:(e,t,r)=>{r?ve[r>>2]=Do.getSamplerParameter(tn[e],t):Lr||=1281},ff:Ri,ef:(e,t,r,n)=>{e=Do.getShaderPrecisionFormat(e,t),ve[r>>2]=e.rangeMin,ve[r+4>>2]=e.rangeMax,ve[n>>2]=e.precision},df:(e,t,r,n)=>{(e=Do.getShaderSource(Jr[e]))&&(t=0<t&&n?Nt(e,ge,n,t):0,r&&(ve[r>>2]=t))},gf:Li,cf:Bi,yc:(e,t)=>{if(2>Br.version)return Lr||=1282,0;var r=on[e];return r?0>t||t>=r.length?(Lr||=1281,0):r[t]:7939===e?(r=xi().map(pn),r=on[e]=r,0>t||t>=r.length?(Lr||=1281,0):r[t]):(Lr||=1280,0)},ic:(e,t,r,n,i)=>{0>r?Lr||=1281:i?null!==(e=Do.getSyncParameter(nn[e],t))&&(ve[i>>2]=e,n&&(ve[n>>2]=1)):Lr||=1281},bf:(e,t,r)=>{r?ye[r>>2]=Do.getTexParameter(e,t):Lr||=1281},af:(e,t,r)=>{r?ve[r>>2]=Do.getTexParameter(e,t):Lr||=1281},Vc:(e,t,r,n,i,a,o)=>{e=Kr[e],(e=Do.getTransformFeedbackVarying(e,t))&&(o&&0<r?(r=Nt(e.name,ge,o,r),n&&(ve[n>>2]=r)):n&&(ve[n>>2]=0),i&&(ve[i>>2]=e.size),a&&(ve[a>>2]=e.type))},uc:(e,t)=>Do.getUniformBlockIndex(Kr[e],t?ze(ge,t):""),wc:(e,t,r,n)=>{if(n)if(0<t&&(0==r||0==n))Lr||=1281;else{e=Kr[e];for(var i=[],a=0;a<t;a++)i.push(Xe(ve[r+4*a>>2]));if(e=Do.getUniformIndices(e,i))for(t=e.length,a=0;a<t;a++)ve[n+4*a>>2]=e[a]}else Lr||=1281},Ze:Ui,$e:(e,t,r)=>{Gi(e,t,r,2)},_e:(e,t,r)=>{Gi(e,t,r,0)},Nc:(e,t,r)=>Gi(e,t,r,0),Tc:Ni,Sc:Ni,We:(e,t,r)=>{r?ve[r>>2]=Do.getVertexAttribOffset(e,t):Lr||=1281},Ye:(e,t,r)=>{Vi(e,t,r,2)},Xe:(e,t,r)=>{Vi(e,t,r,5)},Ve:(e,t)=>Do.hint(e,t),Kb:(e,t,r)=>{for(var n=ai[t],i=0;i<t;i++)n[i]=ve[r+4*i>>2];Do.invalidateFramebuffer(e,n)},Jb:(e,t,r,n,i,a,o)=>{for(var s=ai[t],l=0;l<t;l++)s[l]=ve[r+4*l>>2];Do.invalidateSubFramebuffer(e,s,n,i,a,o)},Ue:e=>(e=Xr[e])?Do.isBuffer(e):0,Te:e=>Do.isEnabled(e),Se:e=>(e=Hr[e])?Do.isFramebuffer(e):0,Re:e=>(e=Kr[e])?Do.isProgram(e):0,vd:e=>(e=en[e])?Do.isQuery(e):0,Sg:e=>(e=en[e])?Do.Ri.isQueryEXT(e):0,Qe:e=>(e=qr[e])?Do.isRenderbuffer(e):0,cc:e=>(e=tn[e])?Do.isSampler(e):0,Pe:e=>(e=Jr[e])?Do.isShader(e):0,nc:zi,Oe:e=>(e=Yr[e])?Do.isTexture(e):0,Rb:e=>Do.isTransformFeedback(rn[e]),bd:Xi,Gg:Xi,Ne:e=>Do.lineWidth(e),Me:Ki,Qb:()=>Do.pauseTransformFeedback(),Le:Hi,Ke:(e,t)=>Do.polygonOffset(e,t),Nb:()=>{Lr||=1280},Lb:()=>{Lr||=1280},Pg:(e,t)=>{Do.Ri.queryCounterEXT(en[e],t)},Fd:e=>Do.readBuffer(e),Je:Ji,Ie:()=>{},He:Qi,hd:(e,t,r,n,i)=>Do.renderbufferStorageMultisample(e,t,r,n,i),Pb:()=>Do.resumeTransformFeedback(),Ge:(e,t)=>{Do.sampleCoverage(e,!!t)},_b:(e,t,r)=>{Do.samplerParameterf(tn[e],t,r)},Zb:(e,t,r)=>{Do.samplerParameterf(tn[e],t,ye[r>>2])},ac:(e,t,r)=>{Do.samplerParameteri(tn[e],t,r)},$b:(e,t,r)=>{Do.samplerParameteri(tn[e],t,ve[r>>2])},Fe:Zi,Ee:()=>{Lr||=1280},De:ea,Ce:(e,t,r)=>Do.stencilFunc(e,t,r),Be:ta,Ae:e=>Do.stencilMask(e),ze:(e,t)=>Do.stencilMaskSeparate(e,t),ye:(e,t,r)=>Do.stencilOp(e,t,r),xe:ra,we:na,Dd:(e,t,r,n,i,a,o,s,l,c)=>{if(Do.Ui)Do.texImage3D(e,t,r,n,i,a,o,s,l,c);else if(c){var d=qi(l);Do.texImage3D(e,t,r,n,i,a,o,s,l,d,c>>>31-Math.clz32(d.BYTES_PER_ELEMENT))}else Do.texImage3D(e,t,r,n,i,a,o,s,l,null)},ve:ia,ue:aa,te:oa,se:(e,t,r)=>{Do.texParameteri(e,t,ve[r>>2])},Ib:(e,t,r,n,i)=>Do.texStorage2D(e,t,r,n,i),Hb:(e,t,r,n,i,a)=>Do.texStorage3D(e,t,r,n,i,a),qe:sa,Cd:(e,t,r,n,i,a,o,s,l,c,d)=>{if(Do.Ui)Do.texSubImage3D(e,t,r,n,i,a,o,s,l,c,d);else if(d){var u=qi(c);Do.texSubImage3D(e,t,r,n,i,a,o,s,l,c,u,d>>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else Do.texSubImage3D(e,t,r,n,i,a,o,s,l,c,null)},Xc:(e,t,r,n)=>{e=Kr[e];for(var i=[],a=0;a<t;a++)i.push(Xe(ve[r+4*a>>2]));Do.transformFeedbackVaryings(e,i,n)},pe:(e,t)=>{Do.uniform1f($i(e),t)},oe:(e,t,r)=>{t&&Do.uniform1fv($i(e),ye,r>>2,t)},ne:la,me:ca,Kc:(e,t)=>{Do.uniform1ui($i(e),t)},Gc:(e,t,r)=>{t&&Do.uniform1uiv($i(e),we,r>>2,t)},le:(e,t,r)=>{Do.uniform2f($i(e),t,r)},ke:(e,t,r)=>{t&&Do.uniform2fv($i(e),ye,r>>2,2*t)},je:(e,t,r)=>{Do.uniform2i($i(e),t,r)},ie:(e,t,r)=>{t&&Do.uniform2iv($i(e),ve,r>>2,2*t)},Jc:(e,t,r)=>{Do.uniform2ui($i(e),t,r)},Fc:(e,t,r)=>{t&&Do.uniform2uiv($i(e),we,r>>2,2*t)},he:(e,t,r,n)=>{Do.uniform3f($i(e),t,r,n)},fe:(e,t,r)=>{t&&Do.uniform3fv($i(e),ye,r>>2,3*t)},ee:(e,t,r,n)=>{Do.uniform3i($i(e),t,r,n)},de:(e,t,r)=>{t&&Do.uniform3iv($i(e),ve,r>>2,3*t)},Ic:(e,t,r,n)=>{Do.uniform3ui($i(e),t,r,n)},Ec:(e,t,r)=>{t&&Do.uniform3uiv($i(e),we,r>>2,3*t)},ce:(e,t,r,n,i)=>{Do.uniform4f($i(e),t,r,n,i)},be:da,ae:(e,t,r,n,i)=>{Do.uniform4i($i(e),t,r,n,i)},$d:(e,t,r)=>{t&&Do.uniform4iv($i(e),ve,r>>2,4*t)},Hc:(e,t,r,n,i)=>{Do.uniform4ui($i(e),t,r,n,i)},Dc:(e,t,r)=>{t&&Do.uniform4uiv($i(e),we,r>>2,4*t)},rc:(e,t,r)=>{e=Kr[e],Do.uniformBlockBinding(e,t,r)},_d:(e,t,r,n)=>{t&&Do.uniformMatrix2fv($i(e),!!r,ye,n>>2,4*t)},od:(e,t,r,n)=>{t&&Do.uniformMatrix2x3fv($i(e),!!r,ye,n>>2,6*t)},md:(e,t,r,n)=>{t&&Do.uniformMatrix2x4fv($i(e),!!r,ye,n>>2,8*t)},Zd:ua,nd:(e,t,r,n)=>{t&&Do.uniformMatrix3x2fv($i(e),!!r,ye,n>>2,6*t)},kd:(e,t,r,n)=>{t&&Do.uniformMatrix3x4fv($i(e),!!r,ye,n>>2,12*t)},Yd:fa,ld:(e,t,r,n)=>{t&&Do.uniformMatrix4x2fv($i(e),!!r,ye,n>>2,8*t)},jd:(e,t,r,n)=>{t&&Do.uniformMatrix4x3fv($i(e),!!r,ye,n>>2,12*t)},Wd:ha,Vd:e=>{Do.validateProgram(Kr[e])},Ud:(e,t)=>Do.vertexAttrib1f(e,t),Td:(e,t)=>{Do.vertexAttrib1f(e,ye[t>>2])},Sd:(e,t,r)=>Do.vertexAttrib2f(e,t,r),Rd:(e,t)=>{Do.vertexAttrib2f(e,ye[t>>2],ye[t+4>>2])},Qd:(e,t,r,n)=>Do.vertexAttrib3f(e,t,r,n),Pd:(e,t)=>{Do.vertexAttrib3f(e,ye[t>>2],ye[t+4>>2],ye[t+8>>2])},Od:(e,t,r,n,i)=>Do.vertexAttrib4f(e,t,r,n,i),Nd:(e,t)=>{Do.vertexAttrib4f(e,ye[t>>2],ye[t+4>>2],ye[t+8>>2],ye[t+12>>2])},Vb:ma,Cg:ma,Eb:ma,Jd:ma,Fb:ma,Rc:(e,t,r,n,i)=>Do.vertexAttribI4i(e,t,r,n,i),Pc:(e,t)=>{Do.vertexAttribI4i(e,ve[t>>2],ve[t+4>>2],ve[t+8>>2],ve[t+12>>2])},Qc:(e,t,r,n,i)=>Do.vertexAttribI4ui(e,t,r,n,i),Oc:(e,t)=>{Do.vertexAttribI4ui(e,we[t>>2],we[t+4>>2],we[t+8>>2],we[t+12>>2])},Uc:(e,t,r,n,i)=>{Do.vertexAttribIPointer(e,t,r,n,i)},Ld:ga,Kd:pa,kc:ba,Ha:(e,t,r)=>{if(t=((e,t)=>{function r(e){var t=a;return("double"===e||"i64"===e)&&7&t&&(t+=4),a=t,"double"===e?(e=Ee[a>>3],a+=8):"i64"==e?(e=[ve[a>>2],ve[a+4>>2]],a+=8):(e=ve[a>>2],a+=4),e}for(var n,i,a=t,o=[];;){var s=e;if(0===(n=me[e]))break;if(i=me[e+1],37==n){var l=!1,c=t=!1,d=!1,u=!1;e:for(;;){switch(i){case 43:l=!0;break;case 45:t=!0;break;case 35:c=!0;break;case 48:if(d)break e;d=!0;break;case 32:u=!0;break;default:break e}e++,i=me[e+1]}var f=0;if(42==i)f=r("i32"),e++,i=me[e+1];else for(;48<=i&&57>=i;)f=10*f+(i-48),e++,i=me[e+1];var h=!1,m=-1;if(46==i){if(m=0,h=!0,e++,42==(i=me[e+1]))m=r("i32"),e++;else for(;!(48>(i=me[e+1])||57<i);)m=10*m+(i-48),e++;i=me[e+1]}switch(0>m&&(m=6,h=!1),String.fromCharCode(i)){case"h":if(104==(i=me[e+2])){e++;var g=1}else g=2;break;case"l":108==(i=me[e+2])?(e++,g=8):g=4;break;case"L":case"q":case"j":g=8;break;case"z":case"t":case"I":g=4;break;default:g=null}switch(g&&e++,i=me[e+1],String.fromCharCode(i)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":s=100==i||105==i,n=r("i"+8*(g=g||4)),8==g&&(n=117==i?(n[0]>>>0)+4294967296*(n[1]>>>0):(n[0]>>>0)+4294967296*n[1]),4>=g&&(n=(s?va:wa)(n&Math.pow(256,g)-1,8*g));var p=Math.abs(n);if(s="",100==i||105==i)var b=va(n,8*g).toString(10);else if(117==i)b=wa(n,8*g).toString(10),n=Math.abs(n);else if(111==i)b=(c?"0":"")+p.toString(8);else if(120==i||88==i){if(s=c&&0!=n?"0x":"",0>n){for(n=-n,b=(p-1).toString(16),p=[],c=0;c<b.length;c++)p.push((15-parseInt(b[c],16)).toString(16));for(b=p.join("");b.length<2*g;)b="f"+b}else b=p.toString(16);88==i&&(s=s.toUpperCase(),b=b.toUpperCase())}else 112==i&&(0===p?b="(nil)":(s="0x",b=p.toString(16)));if(h)for(;b.length<m;)b="0"+b;for(0<=n&&(l?s="+"+s:u&&(s=" "+s)),"-"==b.charAt(0)&&(s="-"+s,b=b.substr(1));s.length+b.length<f;)t?b+=" ":d?b="0"+b:s=" "+s;(b=s+b).split("").forEach((function(e){o.push(e.charCodeAt(0))}));break;case"f":case"F":case"e":case"E":case"g":case"G":if(n=r("double"),isNaN(n))b="nan",d=!1;else if(isFinite(n)){if(h=!1,g=Math.min(m,20),103!=i&&71!=i||(h=!0,(m=m||1)>(g=parseInt(n.toExponential(g).split("e")[1],10))&&-4<=g?(i=(103==i?"f":"F").charCodeAt(0),m-=g+1):(i=(103==i?"e":"E").charCodeAt(0),m--),g=Math.min(m,20)),101==i||69==i?(b=n.toExponential(g),/[eE][-+]\d$/.test(b)&&(b=b.slice(0,-1)+"0"+b.slice(-1))):102!=i&&70!=i||(b=n.toFixed(g),0===n&&(0>n||0===n&&-1/0==1/n)&&(b="-"+b)),s=b.split("e"),h&&!c)for(;1<s[0].length&&s[0].includes(".")&&("0"==s[0].slice(-1)||"."==s[0].slice(-1));)s[0]=s[0].slice(0,-1);else for(c&&-1==b.indexOf(".")&&(s[0]+=".");m>g++;)s[0]+="0";b=s[0]+(1<s.length?"e"+s[1]:""),69==i&&(b=b.toUpperCase()),0<=n&&(l?b="+"+b:u&&(b=" "+b))}else b=(0>n?"-":"")+"inf",d=!1;for(;b.length<f;)b=t?b+" ":!d||"-"!=b[0]&&"+"!=b[0]?(d?"0":" ")+b:b[0]+"0"+b.slice(1);97>i&&(b=b.toUpperCase()),b.split("").forEach((function(e){o.push(e.charCodeAt(0))}));break;case"s":if(d=(l=r("i8*"))?ya(l):6,h&&(d=Math.min(d,m)),!t)for(;d<f--;)o.push(32);if(l)for(c=0;c<d;c++)o.push(ge[l++]);else o=o.concat(Ea("(null)".substr(0,d)));if(t)for(;d<f--;)o.push(32);break;case"c":for(t&&o.push(r("i8"));0<--f;)o.push(32);t||o.push(r("i8"));break;case"n":t=r("i32*"),ve[t>>2]=o.length;break;case"%":o.push(n);break;default:for(c=s;c<e+2;c++)o.push(me[c])}e+=2}else o.push(n),e+=1}return o})(t,r),r=ze(t,0),24&e){t=r=r.replace(/\s+$/,""),r=0<r.length?"\n":"";var n=e,i=Error().stack.toString();i=i.slice(i.indexOf("\n",Math.max(i.lastIndexOf("_emscripten_log"),i.lastIndexOf("_emscripten_get_callstack")))+1),8&n&&"undefined"==typeof emscripten_source_map&&(ur(),n=8^n|16);var a=i.split("\n");i="";var o,s=RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),l=RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),c=RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(o in a){var d,u=a[o];if((d=c.exec(u))&&5==d.length){u=d[1];var f=d[2],h=d[3];d=d[4]}else{if((d=s.exec(u))||(d=l.exec(u)),!(d&&4<=d.length)){i+=u+"\n";continue}u=d[1],f=d[2],h=d[3],d=0|d[4]}var m=!1;if(8&n){var g=emscripten_source_map.Kk({line:h,dk:d});(m=g?.source)&&(64&n&&(g.source=g.source.substring(g.source.replace(/\\/g,"/").lastIndexOf("/")+1)),i+=` at ${u} (${g.source}:${g.line}:${g.dk})\n`)}(16&n||!m)&&(64&n&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),i+=(m?` = ${u}`:` at ${u}`)+` (${f}:${h}:${d})\n`)}r=t+(r+(i=i.replace(/\s+$/,"")))}1&e?4&e?console.error(r):2&e?console.warn(r):512&e?console.info(r):256&e?console.debug(r):console.log(r):6&e?ue(r):de(r)},ub:e=>{var t=ge.length;if(2147483648<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296);var i=Math;n=Math.max(e,n);e:{i=(i.min.call(i,2147483648,n+(65536-n%65536)%65536)-fe.buffer.byteLength+65535)/65536;try{fe.grow(i),ke();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},Dh:(e,t)=>{Fr(e,t)},ea:()=>52,vb:()=>52,qb:function(){return 70},fa:(e,t,r,n)=>{for(var i=0,a=0;a<r;a++){var o=we[t>>2],s=we[t+4>>2];t+=8;for(var l=0;l<s;l++)ka(e,ge[o+l]);i+=s}return we[n>>2]=i,0},ge:xa,O:wn,Ca:yn,f:En,a:Pn,m:kn,d:Tn,dh:Sn,eh:_n,fh:jn,la:An,oa:In,A:Fn,_g:Cn,na:On,bh:Mn,ah:Rn,y:Ln,kh:Bn,Ch:Dn,qh:Wn,gh:Un,zh:$n,mh:Gn,pa:Vn,va:Nn,z:zn,Ba:Xn,P:Kn,ta:Hn,nh:qn,r:Yn,u:Qn,K:Zn,Aa:ei,b:ti,wa:ri,Zg:ni,Vg:si,g:ci,ya:di,ch:ui,N:fi,v:hi,ma:mi,w:gi,Q:pi,q:bi,D:wi,th:Ei,wh:Pi,za:ki,h:_i,Ah:ji,o:Ii,xh:Fi,n:Ci,ih:Ri,jh:Li,S:Bi,vh:Ui,oh:zi,yh:Ki,C:Hi,J:Ji,ua:Qi,M:Zi,lh:ea,ra:ta,qa:ra,Bh:na,rh:ia,sh:aa,i:oa,ph:sa,Wg:la,Yg:ca,t:da,Xg:ua,j:fa,E:ha,xa:ga,sa:pa,rb:ba,Z:async function(e,t,r,n){const[i,a,o]=await Va(ge.subarray(e,e+t));ns(i,r,a,o,n)},_:function(e,t,r,n){e=createImageBitmap(new Blob([ge.subarray(e,e+t)]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((e=>[n,e])),r in Ua||(Ua[r]=[]),Ua[r].push(e)},Ja:async function(e,t){const r=await Promise.all(Ua[e]),n=Br.Wi;var i=n.createTexture();const a=cn(Yr);i.name=a,Yr[a]=i,n.bindTexture(n.TEXTURE_2D,i);let o=i=1;for(const[e,t]of r)n.texImage2D(n.TEXTURE_2D,e,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t),0===e&&(i=t.width,o=t.height),t.close();delete Ua[e],ns(a,e,i,o,t)},Xd:function(){const e=Br.Wi,t=e.createTexture(),r=cn(Yr);t.name=r,Yr[r]=t;const i=n.split_sum;return e.bindTexture(e.TEXTURE_2D,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,i),$a=i.width,Ga=i.height,i.close(),r},pf:function(){Sa&&(Sa.width=0,Sa.height=0,Sa.remove()),Oa&&(Oa.width=0,Oa.height=0),Aa=Ma=_a=Oa=Sa=null},ha:function(e){n.Ki[e]=null},ca:function(e){var t=(e=n.Ki[e]).canvas;const r=e.Yi,i=t.width;if(t=t.height,e.mj||Ia!==i||Fa!==t)if(Ca){if(!Wa){var a=new Uint8ClampedArray(4*i*t);return r.readPixels(0,0,i,t,r.RGBA,r.UNSIGNED_BYTE,a),Aa=new ImageData(a,i,t),Ia=i,Fa=t,e.mj=!1,$(Aa)}if(null==Ba)return r.bindBuffer(r.PIXEL_PACK_BUFFER,La),r.readPixels(0,0,i,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ba=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush(),0;switch(r.clientWaitSync(Ba,0,0)){case r.TIMEOUT_EXPIRED:case r.WAIT_FAILED:return Aa?$(Aa):0}a=new Uint8ClampedArray(4*i*t),r.bindBuffer(r.PIXEL_PACK_BUFFER,La),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,a),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),r.deleteSync(Ba),Aa=new ImageData(a,i,t),Ia=i,Fa=t,e.mj=!1,r.bindBuffer(r.PIXEL_PACK_BUFFER,La),r.readPixels(0,0,i,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ba=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush()}else Aa=r.getImageData(0,0,i,t),Ia=i,Fa=t,e.mj=!1;return $(Aa)},aa:function(e){return(e=n.Ki[e])?e.height:0},ba:function(e){return(e=n.Ki[e])?e.width:0},$:function(e,t){if(!(e=n.Ki[e]))throw Error("Image data does not exist.");ge.set(e.data,t)},Bd:function(){return Ga},Md:function(){return $a},Wc:function(){return ja||=$({canvas:Ca?Oa:Sa,Yi:Ca?Ma:_a,mj:!0}),ja},fd:function(e){return n.Ki[e].videoHeight},qd:function(e){return n.Ki[e].videoWidth},re:function(e,t){if(({canvas:e}=n.Ki[e]),t=Yr[t],!Br||!t)return-1;Do.bindTexture(Do.TEXTURE_2D,t),Do.texImage2D(Do.TEXTURE_2D,0,Do.RGBA,Do.RGBA,Do.UNSIGNED_BYTE,e)},Lc:function(e,t,r){const i=(e=n.Ki[e]).canvas,a=e.Yi,o=n.Ki[t];t=o.videoWidth;let s=o.videoHeight;90!==r&&270!==r||([t,s]=[s,t]),Ca?((null==Da||null==La&&Wa||Oa.width!==t||Oa.height!==s)&&(i.width=t,i.height=s,a.deleteSync(Ba),Ba=null,null!=Da&&a.deleteTexture(Da),null!=La&&a.deleteBuffer(La),La=a.createBuffer(),a.bindBuffer(a.PIXEL_PACK_BUFFER,La),a.bufferData(a.PIXEL_PACK_BUFFER,4*t*s,a.STREAM_READ),a.bindBuffer(a.PIXEL_PACK_BUFFER,null),Da=a.createTexture(),a.bindTexture(a.TEXTURE_2D,Da),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.bindTexture(a.TEXTURE_2D,null)),a.bindTexture(a.TEXTURE_2D,Da),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,o),r=-r*Math.PI/180,r=new Float32Array([Math.cos(r),-Math.sin(r),Math.sin(r),Math.cos(r)]),a.uniformMatrix2fv(Ra,!1,r),a.viewport(0,0,t,s),a.clearColor(0,0,0,1),a.clear(a.COLOR_BUFFER_BIT),a.drawArrays(a.TRIANGLES,0,3)):(i.width===t&&i.height===s||(i.width=t,i.height=s),a.translate(t/2,s/2),a.rotate(r*Math.PI/180),a.drawImage(o,-o.videoWidth/2,-o.videoHeight/2),a.resetTransform()),e.mj=!0},kb:function(e){ye.set(Za,e>>2)},jb:function(e){ye.set(Qa,e>>2)},tb:function(){return Ha},Bb:function(){return Ka},Mb:function(){return Xa},Xb:eo,lb:function(){return Ja},I:function(){return za},gc:function(){return Na},pb:function(){Na||(null!=qa&&(qa.isInitialized()&&qa.release(),qa=null),Ya=null,Ka=Xa=0,za=!1,console.log("DeepAR FaceTracking released."))},ob:function(e){if(!(e=n.Ki[e]))throw Error("No image data.");to(e)},nb:function(e,t,r){to(e=new ImageData(new Uint8ClampedArray(ge.subarray(e,e+t*r*4)),t,r))},gb:function(){return so},hb:function(){return oo},_a:function(e){ye.set(uo,e>>2)},Za:function(e){ye.set(fo,e>>2)},Xa:function(e){ye.set(mo,e>>2)},Wa:function(e){ye.set(go,e>>2)},ib:function(){return ao},db:bo,x:function(){return io},fb:function(){return no},$a:function(){return ho},Ya:function(){return po},eb:function(){no||(null!=lo&&(lo.isInitialized()&&lo.release(),lo=null),oo=ao=0,co=null,io=!1,console.log("DeepAR FootTracking released."))},bb:function(e){if(!(e=n.Ki[e]))throw Error("No image data.");vo(e)},ab:function(e,t,r){vo(e=new ImageData(new Uint8ClampedArray(ge.subarray(e,e+t*r*4)),t,r))},Ma:function(){return xo},Na:function(){return To},Oa:function(){return ko},Pa:function(e){ye.set(Ao,e>>2)},Ra:function(e){ye.set(Io,e>>2)},Ka:Oo,da:function(){return Po},Qa:function(){return So.isMirrored()},Sa:function(){return jo},La:function(){Eo||(null!=So&&(So.isInitialized()&&So.release(),So=null),To=ko=0,_o=null,Po=!1,console.log("DeepAR WristTracking released."))},Va:function(e){if(!(e=n.Ki[e]))throw Error("No image data.");Mo(e)},Ua:function(e,t,r){Mo(e=new ImageData(new Uint8ClampedArray(ge.subarray(e,e+t*r*4)),t,r))}},zo=function(){var e={a:No};return Ie++,Me||=Re("deepar.wasm")?"deepar.wasm":n.locateFile?n.locateFile("deepar.wasm",le):le+"deepar.wasm",function(e,t){var r=Me;return ce||"function"!=typeof WebAssembly.instantiateStreaming||Re(r)||"function"!=typeof fetch?Be(r,e,t):fetch(r,{credentials:"same-origin"}).then((n=>WebAssembly.instantiateStreaming(n,e).then(t,(function(n){return ue(`wasm streaming compile failed: ${n}`),ue("falling back to ArrayBuffer instantiation"),Be(r,e,t)}))))}(e,(function(e){zo=e.instance.exports,fe=zo.Gh,ke(),Pt=zo.Kh,xe.unshift(zo.Hh),0==--Ie&&(null!==Fe&&(clearInterval(Fe),Fe=null),Ce&&(e=Ce,Ce=null,e()))})).catch(r),{}}(),Xo=e=>(Xo=zo.Ih)(e),Ko=n._free=e=>(Ko=n._free=zo.Jh)(e),Ho=n._shutdownEngine=()=>(Ho=n._shutdownEngine=zo.Lh)();n._processFrameVideo=(e,t,r)=>(n._processFrameVideo=zo.Mh)(e,t,r),n._processFrameRawPixels=(e,t,r,i)=>(n._processFrameRawPixels=zo.Nh)(e,t,r,i),n._switchEffect=(e,t,r,i,a,o,s,l)=>(n._switchEffect=zo.Oh)(e,t,r,i,a,o,s,l),n._clearEffect=e=>(n._clearEffect=zo.Ph)(e),n._showStats=e=>(n._showStats=zo.Qh)(e),n._setStats=e=>(n._setStats=zo.Rh)(e),n.__Z8getStatsv=e=>(n.__Z8getStatsv=zo.Sh)(e),n._render=()=>(n._render=zo.Th)(),n._changeParameterFloat=(e,t,r,i)=>(n._changeParameterFloat=zo.Uh)(e,t,r,i),n._changeParameterBool=(e,t,r,i)=>(n._changeParameterBool=zo.Vh)(e,t,r,i),n._changeParameterVector=(e,t,r,i,a,o,s)=>(n._changeParameterVector=zo.Wh)(e,t,r,i,a,o,s),n._changeParameterTexture=(e,t,r,i,a,o,s)=>(n._changeParameterTexture=zo.Xh)(e,t,r,i,a,o,s);var qo=n._reset=(e,t)=>(qo=n._reset=zo.Yh)(e,t);n._moveGameObject=(e,t)=>(n._moveGameObject=zo.Zh)(e,t),n._setCameraFov=(e,t)=>(n._setCameraFov=zo._h)(e,t),n._getClosestPointOnMesh=(e,t,r,i)=>(n._getClosestPointOnMesh=zo.$h)(e,t,r,i),n._getTransformationBetween=(e,t)=>(n._getTransformationBetween=zo.ai)(e,t),n._setEnvironmentMap=(e,t)=>(n._setEnvironmentMap=zo.bi)(e,t);var Yo=n._setEnvironmentMapNative=(e,t,r)=>(Yo=n._setEnvironmentMapNative=zo.ci)(e,t,r);n._setEnvironmentMapIntensity=e=>(n._setEnvironmentMapIntensity=zo.di)(e),n._setExposure=e=>(n._setExposure=zo.ei)(e),n._setToneMapping=e=>(n._setToneMapping=zo.fi)(e),n._resetEnvironmentMap=()=>(n._resetEnvironmentMap=zo.gi)(),n._resetToneMapping=()=>(n._resetToneMapping=zo.hi)(),n._resetExposure=()=>(n._resetExposure=zo.ii)(),n._resetEnvironmentMapIntensity=()=>(n._resetEnvironmentMapIntensity=zo.ji)(),n._setBloomEnabled=e=>(n._setBloomEnabled=zo.ki)(e),n._setBloomThreshold=e=>(n._setBloomThreshold=zo.li)(e),n._setBloomStrength=e=>(n._setBloomStrength=zo.mi)(e),n._setBloomRadius=e=>(n._setBloomRadius=zo.ni)(e),n._setDiamondEnvironmentMap=(e,t)=>(n._setDiamondEnvironmentMap=zo.oi)(e,t);var Jo,Qo=n._setDiamondEnvironmentMapNative=(e,t,r)=>(Qo=n._setDiamondEnvironmentMapNative=zo.pi)(e,t,r),Zo=n._malloc=e=>(Zo=n._malloc=zo.qi)(e),es=n._allocateMeshData=(e,t,r,i)=>(es=n._allocateMeshData=zo.ri)(e,t,r,i),ts=n._getTrianglesDataPtr=(e,t)=>(ts=n._getTrianglesDataPtr=zo.si)(e,t),rs=n._onDracoMeshDecoded=(e,t)=>(rs=n._onDracoMeshDecoded=zo.ti)(e,t),ns=n._onCreateImageBitmap=(e,t,r,i,a)=>(ns=n._onCreateImageBitmap=zo.ui)(e,t,r,i,a),is=()=>(is=zo.vi)(),as=e=>(as=zo.wi)(e),os=()=>(os=zo.xi)(),ss=e=>(ss=zo.yi)(e),ls=e=>(ls=zo.zi)(e),cs=()=>(cs=zo.Ai)();function ds(){0<Ie||(Ve(Te),0<Ie||Jo||(Jo=!0,n.calledRun=!0,Pe||(je=!0,Ve(xe),t(n),n.onRuntimeInitialized?.(),Ve(_e))))}return n.dynCall_viiiij=(e,t,r,i,a,o,s)=>(n.dynCall_viiiij=zo.Bi)(e,t,r,i,a,o,s),n.dynCall_viiij=(e,t,r,i,a,o)=>(n.dynCall_viiij=zo.Ci)(e,t,r,i,a,o),n.dynCall_iij=(e,t,r,i)=>(n.dynCall_iij=zo.Di)(e,t,r,i),n.dynCall_iijii=(e,t,r,i,a,o)=>(n.dynCall_iijii=zo.Ei)(e,t,r,i,a,o),n.dynCall_vijii=(e,t,r,i,a,o)=>(n.dynCall_vijii=zo.Fi)(e,t,r,i,a,o),n.dynCall_jiji=(e,t,r,i,a)=>(n.dynCall_jiji=zo.Gi)(e,t,r,i,a),n.dynCall_viij=(e,t,r,i,a)=>(n.dynCall_viij=zo.Hi)(e,t,r,i,a),n.cwrap=Ro,Ce=function e(){Jo||ds(),Jo||(Ce=e)},ds(),a});const o=a;var s=r(795);class l extends Error{constructor(e){super(e),this.name="SwitchEffectCanceled"}}class c extends Error{constructor(e){super(e),this.name="NoCameraError"}}class d extends Error{constructor(e){super(e),this.name="CameraPermissionDeniedError"}}let u,f=0;const h=function(){var e;if(null===(e=document.documentElement.getAttribute("itemtype"))||void 0===e?void 0:e.includes("schema.org/SearchResultsPage"))return!0;const t=null!=document.head?Array.from(document.head.querySelectorAll("meta")):[];for(const e of t)if("viewport"===e.name)return!0;return!1}();function m(){return 0!=f?f:h&&window.devicePixelRatio||1}function g(e,t,r,n){e.width=Math.floor(t*n),e.height=Math.floor(r*n)}h||console.error('DeepAR cannot utilize screen DPR because no meta viewport tag is defined. Add <meta name="viewport" content="width=device-width, initial-scale=1" /> to you HTML.');const p=()=>{const e=parseFloat(u.computedStyle.width||"0"),t=parseFloat(u.computedStyle.height||"0"),r=m();e===u.cssWidth&&t===u.cssHeight&&r===u.devicePixelRatio||(u.cssWidth=e,u.cssHeight=t,u.devicePixelRatio=r,g(u.canvas,e,t,r))},b=()=>{u.canvas.style.width="100%",u.canvas.style.height="100%"};function v(){u&&(u.canvas.width=0,u.canvas.height=0,u.canvas.remove(),u=null)}var w=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const y=[],E={};function P(e){const t=`__deeparDynamicJsModule_${e}__`;let r;return e=>(n=null)=>w(this,void 0,void 0,(function*(){if(r!==e&&(window[t]=null),r=e,null!=window[t])return window[t];if(yield function(e,t,r=null){return w(this,void 0,void 0,(function*(){if(e in E)return E[e];if("undefined"==typeof window)throw new Error(`Cannot load DeepAR dynamic JS module because window is undefined. Module: ${e}`);const n=(()=>w(this,void 0,void 0,(function*(){let n;r&&r.isUrlTracked(e)&&(n=yield r.getFilePromises(e).then((e=>URL.createObjectURL(new Blob([e],{type:"application/javascript"})))));const i=()=>{e in E&&delete E[e],n&&URL.revokeObjectURL(n)},a=n||e;if("function"==typeof window.define&&window.define.amd&&"function"==typeof window.require)return new Promise((e=>{window.require([a],(r=>{y.push(a),window[t]=r,i(),e()}),(()=>{i(),e()}))}));const o=document.createElement("script");return o.setAttribute("src",a),o.setAttribute("crossorigin","anonymous"),new Promise((e=>{o.addEventListener("load",(()=>{i(),e()}),!1),o.addEventListener("error",(()=>{i(),e()}),!1),document.body.appendChild(o)}))})))();return E[e]=n,n}))}(e,t,n),null==window[t])throw new Error(`Error loading DeepAR JS dynamic module xzimg. The window.${t} is undefined or null.`);return window[t]}))}const k=P("xzimg");P("mediaPipe");var T=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};function x(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}let S,_,j=0;class A{constructor(e){this.isReady=!1,this.currentWorkloadEstimate=0,this.readyPromise=new Promise(((e,t)=>T(this,void 0,void 0,(function*(){try{this.worker=new Worker(yield S);const t=r=>{"ready"===r.data.type&&(this.isReady=!0,this.worker.removeEventListener("message",t),e())};this.worker.addEventListener("message",t);const r=yield _;this.worker.postMessage({type:"init",wasmBuffer:r},[r.slice(0)])}catch(e){t(e)}}))))}waitForReady(){return T(this,void 0,void 0,(function*(){if(!this.isReady)return this.readyPromise}))}decode(e){return T(this,void 0,void 0,(function*(){this.isReady||(yield this.waitForReady());const t=j++,r=e.data.byteLength;return this.currentWorkloadEstimate+=r,this.worker.postMessage({type:"decode",data:e.data,preserveVertexOrder:e.preserveVertexOrder,jobId:t},[e.data]),new Promise((e=>{const n=i=>{const a=i.data;if("decoded"===a.type&&a.jobId===t){const t=a.data,i=new Uint8Array(t),o=x(i,0),s=x(i,4);this.worker.removeEventListener("message",n),this.currentWorkloadEstimate-=r,e({data:t,vertexCount:o,trianglesCount:s})}};this.worker.addEventListener("message",n)}))}))}getWorkloadEstimate(){return this.currentWorkloadEstimate}dispose(){this.worker?this.worker.terminate():this.readyPromise.then((()=>this.worker.terminate())).catch((()=>{}))}}class I{constructor(e,t){this.decoders=[],this.maxDecoders=navigator.hardwareConcurrency||1,this.maxDecoders>4&&(this.maxDecoders=4),S=t.downloadFile(e.js,"text").then((e=>new Blob([e],{type:"text/javascript"}))).then((e=>URL.createObjectURL(e))),_=t.downloadFile(e.wasm);for(let t=0;t<this.maxDecoders;t++)this.decoders.push(new A(e));Promise.all(this.decoders.map((e=>e.waitForReady()))).then((()=>{S.then((e=>{URL.revokeObjectURL(e),S=null})),_.then((e=>{_=null}))})).catch((()=>{S=null,_=null}))}decode(e){return T(this,void 0,void 0,(function*(){return this.decoders.reduce(((e,t)=>t.getWorkloadEstimate()<e.getWorkloadEstimate()?t:e)).decode(e)}))}dispose(){this.decoders.forEach((e=>e.dispose())),S=null,_=null}}const F={"text/javascript":5e4,"application/wasm":2e6,"application/octet-stream":2e6,"binary/octet-stream":5e6,"application/x-ttf":3e6},C={".js":5e4,".mjs":5e4,".wasm":2e6,".bin":2e6,".deepar":5e6,".hdr":1e6,".obj":2e4};let O=null;class M{constructor(e=!0){this.files=new Map,this.totalProgress={loaded:0,total:0},this.startImmediately=e}downloadFile(e,t="arraybuffer",r=this.startImmediately){if(this.files.has(e))return this.files.get(e).dataPromise;const n=new XMLHttpRequest;n.open("GET",e),n.responseType=t,this.files.set(e,{loaded:0,total:0,isFailed:!1,dataPromise:null,data:null,isStarted:r,xhr:n,isLengthComputable:!1,isEventLengthComputable:!1,isCancelled:!1});const i=this.files.get(e),a=new Promise(((t,r)=>{n.onload=()=>{n.status>=200&&n.status<300?t(n.response):(i.isFailed=!0,r(new Error(`Download failed for ${e} with status ${n.status}`)))},n.onerror=()=>{i.isFailed=!0,r(new Error("Network error for "+e+" ("+n.status+")"))},n.onabort=()=>{i.isFailed=!0,i.isCancelled&&r(new Error("Download cancelled for "+e+" ("+n.status+")")),r(new Error("Download aborted for "+e+" ("+n.status+")"))}}));return i.dataPromise=a,r&&n.send(),a.then((e=>{i.data=e,i.loaded=i.total,this.reportProgress()})).catch((e=>{i.isFailed=!0})),n.onprogress=t=>{if(!(i.isFailed||n.status>=300||n.status<200)){if(i.isEventLengthComputable&&!t.lengthComputable&&(i.total=0),0===i.total)if(t.lengthComputable)i.total=t.total,i.isLengthComputable=!0,i.isEventLengthComputable=!0;else{const t=Object.keys(O);for(const r of t)if(e.endsWith(r)){i.total=O[r],i.isLengthComputable=!0;break}if(0===i.total){const e=n.getResponseHeader("x-amz-meta-content-length");e&&(i.total=parseInt(e),i.isLengthComputable=!0)}if(0===i.total){const t=Object.keys(C);for(const r of t)if(e.endsWith(r)){i.total=C[r];break}}if(0===i.total){const e=n.getResponseHeader("Content-Type");i.total=e in F?F[e]:1e6}}i.isLengthComputable?i.loaded=t.loaded:i.loaded=Math.min(t.loaded,.95*i.total),this.reportProgress()}},a}addCustomProgress(){const e=crypto.randomUUID();this.files.set(e,{loaded:0,total:0,isFailed:!1,dataPromise:null,data:null,isStarted:!0,xhr:null,isLengthComputable:!0,isEventLengthComputable:!0,isCancelled:!1});const t=this.files.get(e);return e=>{0===t.total&&(t.total=e.total),t.loaded=e.loaded,this.reportProgress()}}reportProgress(){if(null==this.files)return;let e=!0;this.totalProgress.loaded=0,this.totalProgress.total=0;for(const[t,r]of this.files.entries()){if(0==r.total){e=!1;break}this.totalProgress.loaded+=r.loaded,this.totalProgress.total+=r.total}e&&this.onProgress&&this.onProgress(this.totalProgress)}getFileProgress(e){return this.files.get(e)}getProgress(){return this.totalProgress}getFilePromises(e){return this.files.get(e).dataPromise}getFileData(e){return this.files.get(e).data}getFilesList(){return Array.from(this.files.keys())}isUrlTracked(e){return this.files.has(e)}dispose(){this.files.forEach((e=>{e.isCancelled=!0,e.xhr&&e.xhr.abort()})),this.files.clear(),this.files=null,this.totalProgress=null,this.onProgress=null}startDownloading(){for(const e of this.files.values())e.isStarted||(e.xhr.send(),e.isStarted=!0)}allFilesHaveSize(){for(const e of this.files.values())if(0==e.total)return!1;return this.files.size>0}}class R{constructor(){this.progressArray=[],this.progressGroupId=[],this.groupWeight=new Map,this.totalProgress={loaded:0,total:0}}addGlobalProgress(e,t=0){this.progressArray.push(e),this.progressGroupId.push(t),this.groupWeight.has(t)||this.groupWeight.set(t,1),e.onProgress=e=>{this.totalProgress.loaded=0,this.totalProgress.total=100;const t=Array.from(this.groupWeight.values()).reduce(((e,t)=>e+t),0),r=Array(this.groupWeight.size).fill(0),n=Array(this.groupWeight.size).fill(0);for(let e=0;e<this.progressArray.length;e++){const t=this.progressArray[e];r[this.progressGroupId[e]]+=t.getProgress().loaded,n[this.progressGroupId[e]]+=t.getProgress().total}for(let e=0;e<this.groupWeight.size;e++){const i=this.groupWeight.get(e)/t;this.totalProgress.loaded+=0===n[e]?0:r[e]/n[e]*i*100}this.onProgress&&this.onProgress(this.totalProgress)}}setGroupWeight(e,t){this.groupWeight.set(e,t)}getFileProgress(e){for(const t of this.progressArray)if(t.getFilesList().includes(e))return t.getFileProgress(e)}getProgress(){return this.totalProgress}getFilePromises(e){for(const t of this.progressArray)if(t.getFilesList().includes(e))return t.getFilePromises(e)}getFileData(e){for(const t of this.progressArray)if(t.getFilesList().includes(e))return t.getFileData(e)}getFilesList(){return this.progressArray.map((e=>e.getFilesList())).flat()}isUrlTracked(e){return this.progressArray.some((t=>t.isUrlTracked(e)))}dispose(){this.onProgress=null,this.progressArray.forEach((e=>e.dispose())),this.progressArray.length=0,this.totalProgress=null}}const L=(()=>{try{return WebAssembly.validate(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]))}catch(e){return!1}})(),B=(()=>{try{return(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch(e){return!1}})();let D;function W(e){D&&e.removePreRenderListener(D),D=null}var U=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const $="https://d3jgs8uysn2mr7.cloudfront.net/v"+t+"/",G={video:{facingMode:"user",frameRate:{ideal:30},width:{ideal:640},height:{ideal:360}}},V="DEFAULT_SLOT";let N;function z(e){return{tfjsBackendWasmPath:e.rootPath+"wasm/tfjs-backend-wasm.wasm",tfjsBackendWasmSimdPath:e.rootPath+"wasm/tfjs-backend-wasm-simd.wasm",tfjsBackendWasmThreadedSimdPath:e.rootPath+"wasm/tfjs-backend-wasm-threaded-simd.wasm"}}function X(e,t){return!(!e.additionalOptions||!e.additionalOptions.hint)&&("string"==typeof e.additionalOptions.hint?e.additionalOptions.hint===t:!!Array.isArray(e.additionalOptions.hint)&&e.additionalOptions.hint.some((e=>e===t)))}function K(){return"mediaDevices"in navigator&&"getUserMedia"in navigator.mediaDevices}function H(e){const t=Object.assign({},e);return B&&L?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmSimdPath):L?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmThreadedSimdPath):(delete t.tfjsBackendWasmSimdPath,delete t.tfjsBackendWasmThreadedSimdPath),t}let q=!1,Y=!1;function J(t){var r,n,i,a,l,h,w,y,E,P,T,x,S;return U(this,void 0,void 0,(function*(){if(q)throw new Error("DeepAR is already initialized. You cannot have multiple instances of DeepAR object. Call DeepAR.shutdown() first.");if(Y)throw new Error("deepar.initialize() called but DeepAR is currently being initialized.");const _=null!==(n=null===(r=null==t?void 0:t.additionalOptions)||void 0===r?void 0:r.pixelRatio)&&void 0!==n?n:0;t.canvas||(t.canvas=function(e,t){u&&(console.warn("Canvas is already created. Call invalidate() first."),v());const r=document.createElement("canvas");r.style.display="block",r.style.maxWidth="100%",r.style.maxHeight="100%",f=t;const n=getComputedStyle(e);return u={computedStyle:n,cssWidth:parseFloat(n.width||"0"),cssHeight:parseFloat(n.height||"0"),devicePixelRatio:m(),previewElement:e,canvas:r},g(r,u.cssWidth,u.cssHeight,u.devicePixelRatio),e.append(r),r}(t.previewElement,_));let j=!0,A=G,F=!(null!==(l=null===(a=null===(i=null==t?void 0:t.additionalOptions)||void 0===i?void 0:i.cameraConfig)||void 0===a?void 0:a.disableDefaultCamera)&&void 0!==l&&l);A.video.facingMode=null!==(y=null===(w=null===(h=null==t?void 0:t.additionalOptions)||void 0===h?void 0:h.cameraConfig)||void 0===w?void 0:w.facingMode)&&void 0!==y?y:A.video.facingMode,"environment"===(null===(P=null===(E=null==t?void 0:t.additionalOptions)||void 0===E?void 0:E.cameraConfig)||void 0===P?void 0:P.facingMode)&&(j=!1);let C,D=!1;if(F){if(!K())throw new c;null===(S=null===(x=null===(T=null==t?void 0:t.additionalOptions)||void 0===T?void 0:T.cameraConfig)||void 0===x?void 0:x.cameraPermissionAsked)||void 0===S||S.call(x),C=navigator.mediaDevices.getUserMedia(A),C.catch((()=>{D=!0}))}const W=()=>U(this,void 0,void 0,(function*(){var r,n,i,a,l,c,u,f,h,m,g,v,w,y,E,P;if(D)throw new d;if(t.rootPath=(E=t.rootPath)?E.endsWith("/")?E:E+"/":$,P=yield fetch(function(e){return e.rootPath+"file_sizes.json"}(t)).then((e=>e.json())),O=P,D)throw new d;const T=new M;let x=null;const S=new R;S.addGlobalProgress(T);let _,A,W,G,V=!1;t.effect&&(V=!0,"string"!=typeof t.effect?A=t.effect:_=T.downloadFile(t.effect),x=new M,S.addGlobalProgress(x,1),S.setGroupWeight(0,8),S.setGroupWeight(1,2)),"string"==typeof(null===(r=null==t?void 0:t.effectOptions)||void 0===r?void 0:r.envmap)&&(W=T.downloadFile(t.effectOptions.envmap)),"string"==typeof(null===(n=null==t?void 0:t.effectOptions)||void 0===n?void 0:n.diamondEnvMap)&&(G=T.downloadFile(t.effectOptions.diamondEnvMap));let K,J=!1;(null===(i=null==t?void 0:t.additionalOptions)||void 0===i?void 0:i.customEnvMapPath)&&(J=!0,K=T.downloadFile(t.additionalOptions.customEnvMapPath));const Z=t.rootPath+"wasm/deepar.wasm",ee=T.downloadFile(Z),te=T.downloadFile(function(e){return e.rootPath+"split_sum.webp"}(t)),re=function(e){return{xzimgPath:e.rootPath+"js/dynamicModules/xzimg.js",mediaPipePath:e.rootPath+"js/dynamicModules/mediaPipe.js"}}(t),ne=new I(function(e){return{js:e.rootPath+"js/workers/draco-decoder.js",wasm:new URL(e.rootPath+"wasm/draco-decoder.wasm",window.location.href).href}}(t),T),ie={footInit:X(t,"footInit")||(null===(l=null===(a=null==t?void 0:t.effectOptions)||void 0===a?void 0:a.trackingInit)||void 0===l?void 0:l.foot),faceInit:X(t,"faceInit")||X(t,"rigidFaceTrackingInit")||(null===(u=null===(c=null==t?void 0:t.effectOptions)||void 0===c?void 0:c.trackingInit)||void 0===u?void 0:u.face),wristInit:X(t,"wristInit")||(null===(h=null===(f=null==t?void 0:t.effectOptions)||void 0===f?void 0:f.trackingInit)||void 0===h?void 0:h.wrist)},ae=function(e){return Object.assign({poseEstimationWasmPath:e.rootPath+"wasm/libxzimgPoseEstimation.wasm",detectorPath:e.rootPath+"models/face-cnn/face-det.bin",trackerPath:e.rootPath+"models/face-cnn/face-track-19-v2.bin"},z(e))}(t),oe=function(e){return Object.assign({poseEstimationWasmPath:e.rootPath+"wasm/libxzimgPoseEstimation.wasm",objPath:e.rootPath+"models/foot/foot-right-200.obj",detectorPath:e.rootPath+"models/foot/foot-detector-96x96x6-q8.bin",trackerPath:e.rootPath+"models/foot/foot-keyps-superfast-23JUN2024.bin"},z(e))}(t),se=function(e){return Object.assign({poseEstimationWasmPath:e.rootPath+"wasm/libxzimgPoseEstimation.wasm",objPath:e.rootPath+"models/wrist/wrist-track.obj",detectorPath:e.rootPath+"models/wrist/wrist-det-9.bin",trackerPath:e.rootPath+"models/wrist/wrist-track-181-q.bin"},z(e))}(t),le=function(e){return e.rootPath+"default_envmap.webp"}(t),ce=Object.values(ie).some((e=>e));if(ie.faceInit){T.downloadFile(re.xzimgPath).catch((()=>{}));for(const e of Object.values(H(ae)))T.downloadFile(e).catch((()=>{}))}if(ie.footInit){T.downloadFile(re.xzimgPath).catch((()=>{}));for(const e of Object.values(H(oe)))T.downloadFile(e).catch((()=>{}))}if(ie.wristInit){T.downloadFile(re.xzimgPath).catch((()=>{}));for(const e of Object.values(H(se)))T.downloadFile(e).catch((()=>{}))}let de,ue,fe={licenseKey:t.licenseKey,canvasWidth:t.canvas.width,canvasHeight:t.canvas.height,canvas:t.canvas,rigidFaceTrackingConfig:ae,footTrackingConfig:oe,wristTrackingConfig:se,defaultEnvmapPath:le,apiObject:{onInitialize:()=>{}},onAbort:e=>de=new WebAssembly.RuntimeError("Aborted: "+e),initializeML:ie,dynamicImports:{xzimg:k(re.xzimgPath)},customErrors:e,platform:s,draco_decoder:ne,split_sum:te,globalProgress:S,wasmBinary:null,WASM_HAS_SIMD_SUPPORT:L,WASM_HAS_MULTITHREAD_SUPPORT:B,locateFile:(e,t)=>"deepar.wasm"===e?Z:t+e,onVerify:null!==(g=null===(m=null==t?void 0:t.additionalOptions)||void 0===m?void 0:m.onVerify)&&void 0!==g?g:e=>e};S.onProgress=e=>{t.onProgress&&t.onProgress(e)},Y=!0;try{if(fe.wasmBinary=yield ee,D)throw new d;if(ue=yield o(fe),D)throw new d;if(fe.wasmBinary=null,yield ue.initializeDeepAR(),D)throw new d;ue.startLoop()}catch(e){if(ue=null,fe=null,Y=!1,S.dispose(),de)throw de;throw e}t.previewElement&&(ue.addPreRenderListener(p),ue.addPostRenderListener(b));const he=new Q(ue,ne);(null===(v=null==t?void 0:t.additionalOptions)||void 0===v?void 0:v.exposure)&&he.setExposure(t.additionalOptions.exposure),(null===(w=null==t?void 0:t.additionalOptions)||void 0===w?void 0:w.envMapIntensity)&&he.setEnvironmentMapIntensity(t.additionalOptions.envMapIntensity),(null===(y=null==t?void 0:t.additionalOptions)||void 0===y?void 0:y.toneMapping)&&he.setToneMapping(t.additionalOptions.toneMapping);let me=[];if(F&&me.push((()=>U(this,void 0,void 0,(function*(){var e,r,n;return N=document.createElement("video"),N.setAttribute("playsinline","playsinline"),N.srcObject=yield C.catch((()=>{throw new d})),null===(n=null===(r=null===(e=null==t?void 0:t.additionalOptions)||void 0===e?void 0:e.cameraConfig)||void 0===r?void 0:r.cameraPermissionGranted)||void 0===n||n.call(r),new Promise((e=>{N.onloadedmetadata=()=>{N.play().then((()=>{var r,n;(null===(n=null===(r=null==t?void 0:t.additionalOptions)||void 0===r?void 0:r.cameraConfig)||void 0===n?void 0:n.rotation)&&ue.setVideoRotation(t.additionalOptions.cameraConfig.rotation),ue.setVideoElement(N,j),N.onloadedmetadata=null,e()}))}}))})))()),ce&&(me.push(fe.dynamicImports.xzimg(S)),ie.faceInit&&!fe.isFaceTrackingInitialized()&&me.push(new Promise((e=>{he.callbacks.onFaceTrackingInitialized=()=>{(null==he?void 0:he.callbacks)&&(he.callbacks.onFaceTrackingInitialized=void 0),e()}}))),ie.footInit&&!fe.isFootTrackingInitialized()&&me.push(new Promise((e=>{he.callbacks.onFootTrackingInitialized=()=>{(null==he?void 0:he.callbacks)&&(he.callbacks.onFootTrackingInitialized=void 0),e()}}))),ie.wristInit&&!fe.isWristTrackingInitialized()&&me.push(new Promise((e=>{he.callbacks.onWristTrackingInitialized=()=>{(null==he?void 0:he.callbacks)&&(he.callbacks.onWristTrackingInitialized=void 0),e()}})))),V&&me.push((()=>U(this,void 0,void 0,(function*(){var e;_&&(A=yield _);let r=null!==(e=null==t?void 0:t.effectOptions)&&void 0!==e?e:{};W&&(r.envmap=yield W),G&&(r.diamondEnvMap=yield G),r.onProgress=x.addCustomProgress(),r.trackingInit=void 0,yield he.switchEffect(A,r)})))()),J&&!V&&me.push((()=>U(this,void 0,void 0,(function*(){yield he.setEnvironmentMap(yield K)})))()),me.length>0)try{yield Promise.all(me)}catch(e){if(Y=!1,ue.globalProgress=null,S.dispose(),he.shutdown(),de)throw de;throw e}return ue.globalProgress=null,S.dispose(),Y=!1,q=!0,he}));if(!F)return W();try{return(yield Promise.all([W(),C]))[0]}catch(e){if(Y=!1,q=!1,v(),D)throw new d;throw e}}))}class Q{constructor(e,t){this.module=null,this.isPaused=!1,this.callbacks={},e.apiObject=this.callbacks,this.module=e,this.dracoDecoder=t}switchEffect(e,t){var r,n,i;return U(this,void 0,void 0,(function*(){let a,o,s,l;const c=new M,d=new M,u=new R;u.addGlobalProgress(c,0),u.addGlobalProgress(d,1),u.setGroupWeight(0,0),u.setGroupWeight(1,2);let f=!1;if((null===(r=null==t?void 0:t.trackingInit)||void 0===r?void 0:r.face)&&!this.module.isFaceTrackingInitialized()){for(const e of Object.values(H(this.module.rigidFaceTrackingConfig)))c.downloadFile(e);f=!0}if((null===(n=null==t?void 0:t.trackingInit)||void 0===n?void 0:n.foot)&&!this.module.isFootTrackingInitialized()){for(const e of Object.values(H(this.module.footTrackingConfig)))c.downloadFile(e);f=!0}if((null===(i=null==t?void 0:t.trackingInit)||void 0===i?void 0:i.wrist)&&!this.module.isWristTrackingInitialized()){for(const e of Object.values(H(this.module.wristTrackingConfig)))c.downloadFile(e);f=!0}if(f&&(this.module.dynamicImports.xzimg(u),this.module.globalProgress=u),t){const e="face"in t&&"number"==typeof t.face,r="slot"in t&&"string"==typeof t.slot;if(e&&!r)throw new Error("Slot is not defined. When using switchEffect with a face parameter, you need to specify the slot also.");t.envmap&&("string"==typeof t.envmap?(u.setGroupWeight(0,8),s=c.downloadFile(t.envmap)):a=t.envmap),t.diamondEnvMap&&("string"==typeof t.diamondEnvMap?(u.setGroupWeight(0,8),l=c.downloadFile(t.diamondEnvMap)):o=t.diamondEnvMap)}const h=(null==t?void 0:t.face)?t.face:0,m=(null==t?void 0:t.slot)?t.slot:V;if(h<0||h>3)throw new Error(`Face value is ${h} but should be 0, 1, 2 or 3`);const g=d.addCustomProgress();let p;return(null==t?void 0:t.onProgress)&&(u.onProgress=t.onProgress),"string"==typeof e?(u.setGroupWeight(0,8),p=yield c.downloadFile(e)):p=e,s&&(a=yield s),l&&(o=yield l),new Promise(((e,t)=>{this.module.startLoop();const r=e=>()=>{this.isPaused&&this.module.endLoop(),u.dispose(),this.module.globalProgress=null,e()};this.module.switchEffectByteArray(h,m,new Uint8Array(p),new Uint8Array(a),new Uint8Array(o),r(e),r(t),g)}))}))}clearEffect(e){this.module.clearEffect(e||V)}startCamera(e){return U(this,void 0,void 0,(function*(){if(!K())throw new Error("No camera available!");return new Promise(((t,r)=>{var n,i;this.module.startCamera(null===(n=null==e?void 0:e.mirror)||void 0===n||n,null!==(i=null==e?void 0:e.mediaStreamConstraints)&&void 0!==i?i:G,t,r,null==e?void 0:e.cameraPermissionAsked,null==e?void 0:e.cameraPermissionGranted),this.module.startLoop()}))}))}stopCamera(){this.stopVideo()}stopVideo(){N&&(null!=N.srcObject&&N.srcObject.getTracks().forEach((e=>{e.stop()})),N.srcObject=null,N.parentNode&&N.parentNode.removeChild(N),N=null),this.module.stopVideo()}getVideoElement(){return this.module.getVideoElement()}setVideoElement(e,t){if(!e)throw new Error("No video element provided.");this.stopVideo(),this.module.setVideoElement(e,t),this.module.startLoop()}changePreviewElement(e,t=0){if(null==u)throw new Error("Cannot change previewElement if DeepAR was not initialized with preview element.");!function(e,t){const r=getComputedStyle(e);f=t,u={computedStyle:r,cssWidth:parseFloat(r.width||"0"),cssHeight:parseFloat(r.height||"0"),devicePixelRatio:m(),previewElement:e,canvas:u.canvas},g(u.canvas,u.cssWidth,u.cssHeight,u.devicePixelRatio),u.canvas.remove(),e.append(u.canvas)}(e,t)}shutdown(){this.dracoDecoder.dispose(),this.stopVideo(),this.module.shutdown(),function(){if("undefined"==typeof window)return;window.__deeparDynamicJsModule_mediaPipe__&&delete window.__deeparDynamicJsModule_mediaPipe__,window.__deeparDynamicJsModule_xzimg__&&delete window.__deeparDynamicJsModule_xzimg__;const e=window.require;if("function"==typeof e&&e.undef){for(let t=0;t<y.length;t++)e.undef(y[t]);y.length=0}}(),v(),q=!1,this.module=void 0,this.callbacks=void 0;for(const e in this)Object.prototype.hasOwnProperty.call(this,e)&&(this[e]=void 0)}processFrame(e,t,r,n){this.module.processFrameRawPixels(e,t,r,n)}processImage(e){const t=document.createElement("canvas"),r=t.getContext("2d",{willReadFrequently:!0});t.width=e.width,t.height=e.height,r.drawImage(e,0,0);const n=r.getImageData(0,0,t.width,t.height),i=new Uint8Array(n.data.buffer);this.processFrame(i,e.width,e.height,!1)}setPaused(e){this.isPaused=e,e?this.module.endLoop():this.module.startLoop()}changeParameterFloat(e,t,r,n){this.module.changeParameterFloat(e,null==t?"":t,r,n)}changeParameterBool(e,t,r,n){this.module.changeParameterBool(e,null==t?"":t,r,n)}changeParameterVector(e,t,r,n,i,a,o){this.module.changeParameterVector(e,null==t?"":t,r,n,i,a,o)}changeParameterTexture(e,t,r,n,i="cors"){return U(this,void 0,void 0,(function*(){let a=yield fetch(n,{mode:i}),o=yield a.blob();const s=new Image,l=new Promise((n=>{s.onload=()=>{const i=document.createElement("canvas"),a=i.getContext("2d",{willReadFrequently:!0});i.width=s.width,i.height=s.height,a.drawImage(s,0,0);const o=a.getImageData(0,0,i.width,i.height),l=new Uint8Array(o.data.buffer),c=this.module._malloc(l.length);this.module.HEAPU8.set(l,c),this.module.changeParameterTexture(e,null==t?"":t,r,c,l.length,i.width,i.height),URL.revokeObjectURL(s.src),n()}}));return s.src=URL.createObjectURL(o),l}))}getCanvas(){return this.module.canvas}setFps(e){this.module.setFps(e)}moveGameObject(e,t){this.module.moveGameObject(e,t)}setFov(e,t){if(!e&&null==t)throw new Error("The second parameter fov is undefined.");this.module._setCameraFov(e,t)}setReadPixelsAsync(e){this.module.setReadPixelsAsync(e)}setEnvironmentMap(e){return U(this,void 0,void 0,(function*(){let t;if("string"==typeof e){const r=yield fetch(e);if(!r.ok)throw new Error(`Failed to fetch ${e}. HTTP status: ${r.status} (${r.statusText}).`);t=yield r.arrayBuffer()}else t=e;return this.module.setEnvironmentMap(new Uint8Array(t))}))}resetEnvironmentMap(){return U(this,void 0,void 0,(function*(){return this.setEnvironmentMap(this.module.defaultEnvmapPath)}))}setExposure(e){if("number"!=typeof e)throw new Error("The passed exposure must be a number. It is a "+typeof e+".");this.module.setExposure(e)}getExposure(){return this.module.getExposure()}resetExposure(){this.module.resetExposure()}setEnvironmentMapIntensity(e){if("number"!=typeof e)throw new Error("The passed environmentMapIntensity must be a number. It is a "+typeof e+".");this.module.setEnvironmentMapIntensity(e)}getEnvironmentMapIntensity(){return this.module.getEnvironmentMapIntensity()}resetEnvironmentMapIntensity(){this.module.resetEnvironmentMapIntensity()}setToneMapping(e){const t={Linear:1,Reinhard:2,Cineon:3,ACES:4,AGX:5,Neutral:6};if(!(e in t))throw new Error(`Tone mapping ${e} not supported. Use: Linear, Reinhard, Cineon, ACES, AGX or Neutral."`);this.module.setToneMapping(t[e])}getToneMapping(){const e=this.module.getToneMapping();return e?{1:"Linear",2:"Reinhard",3:"Cineon",4:"ACES",5:"AGX",6:"Neutral"}[e]:void 0}resetToneMapping(){this.module.resetToneMapping()}setBloomEnabled(e){if("boolean"!=typeof e)throw new Error("The passed exposure must be a boolean. It is a "+typeof e+".");this.module.setBloomEnabled(e)}setBloomThreshold(e){if("number"!=typeof e)throw new Error("The passed threshold must be a number. It is a "+typeof e+".");this.module.setBloomThreshold(e)}setBloomStrength(e){if("number"!=typeof e)throw new Error("The passed exposure must be a number. It is a "+typeof e+".");this.module.setBloomStrength(e)}setBloomRadius(e){if("number"!=typeof e)throw new Error("The passed exposure must be a number. It is a "+typeof e+".");this.module.setBloomRadius(e)}setDiamondEnvironmentMap(e){return U(this,void 0,void 0,(function*(){let t;if("string"==typeof e){const r=yield fetch(e);if(!r.ok)throw new Error(`Failed to fetch ${e}. HTTP status: ${r.status} (${r.statusText}).`);t=yield r.arrayBuffer()}else t=e;return this.module.setDiamondEnvironmentMap(new Uint8Array(t))}))}getClosestPointOnMesh(e,t){const r=this.module.getClosestPointOnMesh(e,t);if(!r)throw new Error(`Failed to find a point on a mesh ${e}`);return r}getTransformationBetween(e,t){const r=this.module.getTransformationBetween(e,t);if(!r)throw new Error(`Failed to find a transformation between nodes ${e} and ${t}`);return r}addPreRenderListener(e){this.module.addPreRenderListener(e)}addPostRenderListener(e){this.module.addPostRenderListener(e)}removePreRenderListener(e){this.module.removePreRenderListener(e)}removePostRenderListener(e){this.module.removePostRenderListener(e)}setWatchTicking(e,t=8){e?function(e,t=8){W(e),D=()=>{const r=((e=8)=>{const t=new Date,r=t.getHours()%12,n=t.getMinutes(),i=t.getSeconds(),a=t.getMilliseconds();return{h:30*(r+n/60),m:6*(n+i/60),s:6*(i+Math.floor(a*e/999)/e)}})(t);e.changeParameterVector("hours","","rotation",0,-r.h,0,0),e.changeParameterVector("minutes","","rotation",0,-r.m,0,0),e.changeParameterVector("seconds","","rotation",0,-r.s,0,0),e.changeParameterVector("Hand_seconds","","rotation",0,-r.s,0,0)},e.addPreRenderListener(D)}(this,t):W(this)}showStats(e){this.module.showStats(e)}setStatsCapture(e){this.module._setStats(e)}getStats(){return JSON.parse(this.module.getStats())}}})();var i=n.Gv,a=n.R0,o=n.j2,s=n.i8;export{i as DeepAR,a as errors,o as initialize,s as version};