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.
- package/README.md +2 -2
- package/dist/deepar/VERSION.txt +1 -1
- package/dist/deepar/file_sizes.json +1 -1
- package/dist/deepar/js/deepar.esm.js +1 -1
- package/dist/deepar/js/deepar.js +1 -1
- package/dist/deepar/js/types/version.d.ts +1 -1
- package/dist/deepar/package.json +1 -1
- package/dist/deepar/wasm/deepar.wasm +0 -0
- package/dist/shopar-analytics.js +1 -1
- package/dist/shopar-deepar.js +1 -1
- package/dist/shopar-plugin.esm.js +1 -1
- package/dist/shopar-plugin.js +1 -1
- package/package.json +1 -1
package/dist/shopar-deepar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ShopAR__DeepAR={})}(this,function(e){"use strict";
|
|
2
|
-
/*! For license information please see deepar.esm.js.LICENSE.txt */var t={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=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",T=n&&r.java?"JavaPackage":b(r.java),k=n?m:"RuntimeObject",x=/\bJava/.test(T)&&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(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)==k?(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)}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var a=r[e]={id:e,loaded:!1,exports:{}};return t[e].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i={};(()=>{n.d(i,{Gv:()=>J,R0:()=>e,j2:()=>Y,i8:()=>t});var e={};n.r(e),n.d(e,{CameraPermissionDeniedError:()=>d,NoCameraError:()=>c,SwitchEffectCanceled:()=>l});const t="5.6.21-shopar-alpha-400";var r,a=(r="undefined"!=typeof document?document.currentScript?.src:void 0,function(e={}){var t,n,i=e,a=new Promise((e,r)=>{t=e,n=r});let o=null;const s=[];i.addPreRenderListener=function(e){s.push(e)},i.addPostRenderListener=function(e){s.push(e)},i.removePreRenderListener=function(e){0<=(e=s.indexOf(e))&&s.splice(e,1)},i.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,T,k,x,S,_,j,A,I=!1,F=null,C=null,O=null,M=null,R=null,L=null,B=null,D=null,W=null;i.Ki=[null];let U=0;function $(e){const t=i.Ki.length;return i.Ki[t]=e,t}i.preinitializedWebGLContext=i.canvas.getContext("webgl2",{alpha:!1,antialias:!0,powerPreference:"high-performance"}),i.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=i.canvas.width;const t=i.canvas.height;i.canvasWidth===e&&i.canvasHeight===t||(i.canvasWidth=e,i.canvasHeight=t,Go(e,t)),i._render();for(const e of s)e();i.apiObject.__deeparRendered&&i.apiObject.__deeparRendered(wa),i.apiObject.__deeparRendered2&&i.apiObject.__deeparRendered2(wa)}function N(){var e=!1,t=i.Ki[0];if(t&&t.readyState===t.HAVE_ENOUGH_DATA)(function(){const e=_a;if(!xa||!Ca||!Ia)return!0;switch(e.clientWaitSync(Ia,0,0)){case e.TIMEOUT_EXPIRED:case e.WAIT_FAILED:return!1;case e.CONDITION_SATISFIED:case e.ALREADY_SIGNALED:return!0}})()&&(i._processFrameVideo(0,q,U),e=I=!0);else if(!I||0<Object.entries(X).length||null!=K||null!=H){if(e=f||u,!(t=i._malloc(e.data.length)))return;he.set(e.data,t),i._processFrameRawPixels(t,e.width,e.height,e.Gj),I=!0,i._free(t),e=!0}e&&V()}function z(){N()}i.setFps=function(e){G.ij=1e3/e},G.add(z),i.startLoop=function(){G.add(z),G.start()},i.endLoop=function(){G.Ti=void 0,G.stop()},i.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},i.processFrameRawPixels=function(e,t,r,n){var a=i._malloc(e.length);a&&(he.set(e,a),i._processFrameRawPixels(a,t,r,n),f=new ImageData(new Uint8ClampedArray(e),t,r),f.Gj=n,I=!0,G.fj||V(),i._free(a))},i.isFootTrackingInitialized=function(){return Ja},i.isFaceTrackingInitialized=function(){return Da},i.isWristTrackingInitialized=function(){return go},i.setReadPixelsAsync=function(e){Ca=e};let X={},K=null,H=null;i.switchEffectByteArray=function(e,t,r,n,a,o,s,l){if(!F)throw Error("Error in internal API: __switchEffect is null!");const c=i._malloc(r.length);if(!c)throw Error("Cannot allocate buffer for switch effect.");he.set(r,c);const d=n.length?i._malloc(n.length):0;if(n.length){if(!d)throw Error("Cannot allocate buffer for environement map.");he.set(n,d)}const u=a.length?i._malloc(a.length):0;if(a.length){if(!u)throw Error("Cannot allocate buffer for environement map.");he.set(a,u)}if(t in X)s(new i.customErrors.SwitchEffectCanceled(`Cannot switch effect on slot ${t} because switch effect already in progress on the same slot.`));else{X[t]={Si:o,error:s,Hj:l};try{F(t,c,r.length,e,d,n.length,u,a.length),I=!1,G.fj||N()}catch(e){throw delete X[t],e}}},i.hasVar=function(e,t){return h(e,t)},i.getVarType=function(e,t){if(m(e,t))return w(e,t);throw Error("Variable named '"+e+"' does not exist.")},i.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.")},i.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.")},i.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.")},i.getStringVar=function(e,t){if(v(e,t))return T(e,t);throw Error("Variable named '"+e+"' does not exist or is not a string.")},i.setBoolVar=function(e,t,r){return k(e,t,r)},i.setIntVar=function(e,t,r){return x(e,t,r)},i.setDoubleVar=function(e,t,r){return S(e,t,r)},i.setStringVar=function(e,t,r){return _(e,t,r)},i.deleteVar=function(e,t){return j(e,t)},i.clearVars=function(e){return A(e)},i.clearEffect=function(e){X[e]&&X[e].error&&(X[e].error(new i.customErrors.SwitchEffectCanceled(`Switch effect canceled by the call to clearEffect() on the same slot: ${e}.`)),delete X[e]),C&&(C(e),G.fj||N())},i.moveGameObject=function(e,t){O&&(O(e,t),G.fj||N())};let q=!0;i.setMirror=function(e){q=!!e};let Y=!1;function J(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}i.startCamera=function(e,t,r,n,a,o){i.stopVideo(),q=!!e;let s=document.createElement("video");s.setAttribute("playsinline","playsinline"),i.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})},Y=!0}).catch(e=>{n&&n(e),console.error(`${e.name}: ${e.message}`)})},i.shutdown=function(){Q={},i.stopVideo(),null!=l&&l.shutdownTfjs(),s.length=0;try{$o()}catch(e){console.error(e)}finally{i.bk()}},i.setVideoElement=function(e,t){i.stopVideo(),q=!!t,i.Ki[0]=e},i.stopVideo=function(){i.Ki[0]&&(Y&&(i.Ki[0]&&i.Ki[0].srcObject&&(i.Ki[0].srcObject.getTracks().forEach(e=>{e.stop()}),i.Ki[0].srcObject=null),Y=!1),i.Ki[0]=null)},i.getVideoElement=function(){return i.Ki[0]},i.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")},i.backgroundReplacement=async function(e,t,r,n,i){if(e){H&&H.error&&H.error(""),H={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=Xo(r.length);he.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 H=null,e}},a.src=URL.createObjectURL(t)}else R(!1,null,0,0,0),n()},i.backgroundBlur=function(e,t,r,n){if(e){K&&K.error&&K.error(""),K={Si:r,error:n};try{M(e,t),I=!1,G.fj||N()}catch(e){throw K=null,e}}else M(!1,0),r()},i.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]=i.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return i._free(e),t},i.getTransformationBetween=function(e,t){if(!(e=B(e,t)))return null;t=new Float32Array(16);for(let r=0;16>r;++r)t[r]=i.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return i._free(e),t},i.setEnvironmentMap=async function(e){if(J(e)){var t=i._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");he.set(e,t),D(t,e.length)}else{const[t,r,n]=await La(e);Vo(t,r,n)}},i.setDiamondEnvironmentMap=async function(e){if(J(e)){var t=i._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");he.set(e,t),W(t,e.length)}else{const[t,r,n]=await La(e);zo(t,r,n)}},i.Tj=function(e,t,r,n){if(i.apiObject.onFaceTracked){var a=[];for(let d=0;d<n;d++){let n={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(n.detected=!!i.HEAP32[o/Float32Array.BYTES_PER_ELEMENT],o=0;3>o;o++)n.translation.push(i.HEAPF32[s/Float32Array.BYTES_PER_ELEMENT+o]),n.rotation.push(i.HEAPF32[u/Float32Array.BYTES_PER_ELEMENT+o]);for(s=0;16>s;s++)n.poseMatrix.push(i.HEAPF32[l/Float32Array.BYTES_PER_ELEMENT+s]);for(l=0;204>l;l++)n.landmarks.push(i.HEAPF32[c/Float32Array.BYTES_PER_ELEMENT+l]),136>l&&n.landmarks2d.push(i.HEAPF32[f/Float32Array.BYTES_PER_ELEMENT+l]);for(c=0;4>c;c++)n.faceRect.push(i.HEAPF32[h/Float32Array.BYTES_PER_ELEMENT+c]);a.push(n)}i.apiObject.onFaceTracked(a)}},i.Ak=function(){i.apiObject.onVideoStarted&&i.apiObject.onVideoStarted()},i.Yj=function(){i.apiObject.onInitialize&&i.apiObject.onInitialize()},i.Vj=function(e){i.apiObject.onFaceVisibilityChanged&&i.apiObject.onFaceVisibilityChanged(e)},i.Xj=function(e){i.apiObject.onImageVisibilityChanged&&i.apiObject.onImageVisibilityChanged(e)},i.zk=function(){i.apiObject.onCameraPermissionGranted&&i.apiObject.onCameraPermissionGranted()},i.yk=function(){i.apiObject.onCameraPermissionDenied&&i.apiObject.onCameraPermissionDenied()},i.xk=function(){i.apiObject.onCameraPermissionAsked&&i.apiObject.onCameraPermissionAsked()},i.$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]=he[e+a+2],o[s+1]=he[e+a+1],o[s+2]=he[e+a+0],o[s+3]=he[e+a+3]}i.putImageData(a,0,0),console.error("DeepAR screenshot taken but no registered callback.")},i.Nj=function(e){i.apiObject.onAnimationTransitionedToState&&i.apiObject.onAnimationTransitionedToState(e)},i.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)},i.Rj=function(e){X[e]&&X[e].Si&&X[e].Si(),delete X[e]},i.Pj=function(){H&&H.Si&&H.Si(),H={}},i.Oj=function(){K&&K.Si&&K.Si(),K={}},i.Zj=function(e){i.apiObject.onNumberOfFacesVisibleChanged&&i.apiObject.onNumberOfFacesVisibleChanged(e)},i.bk=function(){i.apiObject.onShutdown&&i.apiObject.onShutdown()},i.Uj=function(e,t,r){i.apiObject.onFaceTrackingInitialized&&i.apiObject.onFaceTrackingInitialized(e,t,r)},i.Bj=function(e,t,r,n){i.apiObject.onFootTrackingInitialized&&i.apiObject.onFootTrackingInitialized(e,t,r,n)},i.ak=function(){i.apiObject.onSegmentationInitialized&&i.apiObject.onSegmentationInitialized()},i.Wj=function(e,t){i.apiObject.onFeetTracked&&i.apiObject.onFeetTracked(e,t),i.leftFootData=e,i.rightFootData=t},i._getFootData=function(){return i.leftFootData&&i.rightFootData?{left:i.leftFootData,right:i.rightFootData}:null},i.Cj=function(e,t,r,n){i.apiObject.onWristTrackingInitialized&&i.apiObject.onWristTrackingInitialized(e,t,r,n)},i.ck=function(e){i.apiObject.onWristTracked&&i.apiObject.onWristTracked(e)},i.Qj=function(e,t){for(let r of Object.values(X))r.Hj&&r.Hj({loaded:e,total:t})},i._useExternalTrackingData=function(e){i.useExternalTrackingData=e},i._setExternalTrackingDataFoot=function(e,t){i.externalTrackingDataFoot={left:e,right:t}},i.noInitialRun=!0,i.initializeDeepAR=async function(){c=i.platform,d=i.draco_decoder;const e=i.initializeML&&i.initializeML.faceInit;var t=va();t=180/Math.PI*Math.atan(Math.tan(Math.PI/180*t/2)/(640/360))*2,e&&Ka(t,640,360),i.initializeML&&(i.initializeML.footInit&&co(t,0,640,360),i.initializeML.wristInit&&So(t,0,640,360)),F=jo("switchEffect",null,"string number number number number number".split(" ")),C=jo("clearEffect",null,["string"]),O=jo("moveGameObject",null,["string","string"]),M=jo("backgroundBlur",null,["boolean","number"]),R=jo("backgroundReplacement",null,["boolean","number","number","number","number"]),L=jo("getClosestPointOnMesh",null,["string","number","number","number"]),B=jo("getTransformationBetween",null,["string","string"]),D=jo("setEnvironmentMap",null,["number","number"]),W=jo("setDiamondEnvironmentMap",null,["number","number"]),h=jo("hasVar","boolean",["string","string"]),m=jo("getVarTypeStatus","boolean",["string","string"]),g=jo("getBoolVarStatus","boolean",["string","string"]),p=jo("getIntVarStatus","boolean",["string","string"]),b=jo("getDoubleVarStatus","boolean",["string","string"]),v=jo("getStringVarStatus","boolean",["string","string"]),w=jo("getVarType","int",["string","string"]),y=jo("getBoolVar","boolean",["string","string"]),E=jo("getIntVar","int",["string","string"]),P=jo("getDoubleVar","number",["string","string"]),T=jo("getStringVar","string",["string","string"]),k=jo("setBoolVar","boolean",["string","boolean","string"]),x=jo("setIntVar","boolean",["string","int","string"]),S=jo("setDoubleVar","boolean",["string","number","string"]),_=jo("setStringVar","boolean",["string","string","string"]),j=jo("deleteVar","boolean",["string","string"]),A=jo("clearVars","boolean",["string"]),i.pushConsoleLog=jo("pushConsoleLog","boolean",["string","int"]),i.changeParameterFloat=jo("changeParameterFloat",null,["string","string","string","number"]),i.changeParameterVector=jo("changeParameterVector",null,"string string string number number number number".split(" ")),i.changeParameterBool=jo("changeParameterBool",null,["string","string","string","boolean"]),i.changeParameterTexture=jo("changeParameterTexture",null,"string string string number number number number".split(" ")),i.fireTrigger=jo("fireTrigger",null,["string"]),i.setFaceDetectionSensitivity=jo("setFaceDetectionSensitivity",null,["number"]),i.showStats=jo("showStats",null,["number"]),i.simulatePhysics=jo("simulatePhysics",null,["number"]),i.showColliders=jo("showColliders",null,["number"]),i.setLicenseKey=jo("setLicenseKey",null,["string"]),i.muteSound=jo("muteSound",null,["boolean"]),i.setExposure=jo("setExposure",null,["number"]),i.setEnvironmentMapIntensity=jo("setEnvironmentMapIntensity",null,["number"]),i.setToneMapping=jo("setToneMapping",null,["number"]),i.resetEnvironmentMap=jo("resetEnvironmentMap",null,[]),i.resetToneMapping=jo("resetToneMapping",null,[]),i.resetEnvironmentMapIntensity=jo("resetEnvironmentMapIntensity",null,[]),i.resetExposure=jo("resetExposure",null,[]),i.setBloomEnabled=jo("setBloomEnabled",null,["boolean"]),i.setBloomThreshold=jo("setBloomThreshold",null,["number"]),i.setBloomStrength=jo("setBloomStrength",null,["number"]),i.setBloomRadius=jo("setBloomRadius",null,["number"]),i.split_sum=await createImageBitmap(new Blob([await i.split_sum]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}),i.initialize(i.canvasWidth,i.canvasHeight,!0,!1,e,!0,!0,!1,i.onVerify)};let Q={};function Z(e,t,r){Q[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 n=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!=i.globalProgress&&i.globalProgress.isUrlTracked(t)?i.globalProgress.getFilePromises(t).then(e=>{n(e)}).catch(()=>{a()}):fetch(this.path).then(t=>{t.ok?t.arrayBuffer().then(e=>{n(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 ee(e,t){Z(`${e}-tfjsBackendWasmPath`,t.tfjsBackendWasmPath,["fe0951aee7c0feb369aa12a65a24b871da9386fb55b40b918c2a59b24e09be83"]),Z(`${e}-tfjsBackendWasmSimdPath`,t.tfjsBackendWasmSimdPath,["3402e2b8668afb320151b4aae8080ad2136875f424aa95c95e3a4bc87d09097e"]),Z(`${e}-tfjsBackendWasmThreadedPath`,t.tfjsBackendWasmThreadedPath,["118f499abf412a285905483c91db693296c0b112cfaab04128bf54f61c141ce9"])}function te(e){if(!Q[e])throw Error(`No ML model with name ${e}.`);return Q[e].jk()}function re(e){if(!Q[e])throw Error(`No ML model with name ${e}.`);return Q[e].oj()}async function ne(e){const t={tfjsBackendWasmPath:"",tfjsBackendWasmSimdPath:"",tfjsBackendWasmThreadedPath:""};return i.WASM_HAS_SIMD_SUPPORT&&i.WASM_HAS_MULTITHREAD_SUPPORT?t.tfjsBackendWasmThreadedPath=await Q[`${e}-tfjsBackendWasmThreadedPath`].oj():i.WASM_HAS_SIMD_SUPPORT?t.tfjsBackendWasmSimdPath=await Q[`${e}-tfjsBackendWasmSimdPath`].oj():t.tfjsBackendWasmPath=await Q[`${e}-tfjsBackendWasmPath`].oj(),t}Z("rigidFaceDetector",i.rigidFaceTrackingConfig.detectorPath,["8270514ae788bc6ee67db086c9400581d17a78c18de38c878f1148dcc3a8e480"]),Z("rigidFaceTracker",i.rigidFaceTrackingConfig.trackerPath,["9ab8c04aa4294ff23c66798a4a442fd9dbef4a8f61ea6e1530e51445846b5605"]),Z("rigidFacePEW",i.rigidFaceTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),ee("rigidFaceDetector",i.rigidFaceTrackingConfig),Z("footDetector",i.footTrackingConfig.detectorPath,["6d0f65c977509cf5d93f65a3b26539ab29ec540322476f0b7adac9ee289db4bd"]),Z("footTracker",i.footTrackingConfig.trackerPath,["297c230e346d4e9e7ac1f78e9e87f4e85754338547061501eee2542e334ca7be","c72af568553b85b1f20d61fd07ba5db46a0db2b5261472099310bbc51afa967f","e5180848c0d88fe6ab483b22a4490e9db80408d2887cd165cecd5e7f2efd8555"]),Z("footObj",i.footTrackingConfig.objPath,["3b903682a513f5d96cabb8135ead157240141f0f0d5c833a77e7de91a87a2bca"]),Z("footPEW",i.footTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),ee("footDetector",i.footTrackingConfig),Z("wristDetector",i.wristTrackingConfig.detectorPath,["b4c14a6f4b7bed1bc1cb313bbad5e877c7958c25b8e47d12583404f9a611d7ff"]),Z("wristTracker",i.wristTrackingConfig.trackerPath,["8bbbc4398f33db43ef32f1615d6d11322e8dc5d1f800cb8da4a0580d6267dba0","cbb7a12bd06b28a809c914700c8cd64530a9d08d4d82f6d9c758dfc022264a6d"]),Z("wristObj",i.wristTrackingConfig.objPath,["5c763303cac33e377bbfbc3bd13475c0b99ca6412f9774ecc7a65fe72ac01732"]),Z("wristPEW",i.wristTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),ee("wristDetector",i.wristTrackingConfig),Z("default_envmap.webp",i.defaultEnvmapPath,["f822e455a5d5a3c1d5c91d9c22d3d1b511f645062fa2e4c8755d698af02b9b80"]);var ie,ae=Object.assign({},i),oe="";"undefined"!=typeof document&&document.currentScript&&(oe=document.currentScript.src),r&&(oe=r),oe=oe.startsWith("blob:")?"":oe.substr(0,oe.replace(/[?#].*/,"").lastIndexOf("/")+1),ie=e=>fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url)));var se,le=console.log.bind(console),ce=console.error.bind(console);Object.assign(i,ae),ae=null,i.wasmBinary&&(se=i.wasmBinary);var de,ue,fe,he,me,ge,pe,be,ve,we,ye=!1;function Ee(){var e=de.buffer;i.HEAP8=fe=new Int8Array(e),i.HEAP16=me=new Int16Array(e),i.HEAPU8=he=new Uint8Array(e),i.HEAPU16=ge=new Uint16Array(e),i.HEAP32=pe=new Int32Array(e),i.HEAPU32=be=new Uint32Array(e),i.HEAPF32=ve=new Float32Array(e),i.HEAPF64=we=new Float64Array(e)}var Pe=[],Te=[],ke=[],xe=[],Se=!1,_e=!1,je=0,Ae=null;function Ie(e){throw i.onAbort?.(e),ce(e="Aborted("+e+")"),ye=!0,ue=1,e+=". Build with -sASSERTIONS for more info.",Se&&Zo(),e=new WebAssembly.RuntimeError(e),n(e),e}var Fe,Ce=e=>e.startsWith("data:application/octet-stream;base64,");function Oe(e){if(e==Fe&&se)return new Uint8Array(se);throw"both async and sync fetching of the wasm failed"}function Me(e,t,r){return function(e){return se?Promise.resolve().then(()=>Oe(e)):ie(e).then(e=>new Uint8Array(e),()=>Oe(e))}(e).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{ce(`failed to asynchronously prepare wasm: ${e}`),Ie(e)})}var Re={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(he.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),he.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(he.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),he.set(i,n)},98624:()=>{var e=window.navigator.userAgent||"no user agent",t=Xo(32);for(let r=0;32>r;++r)he[t+r]=e.charCodeAt(r%e.length);return t},98862:()=>{var e=window.location.hostname||"no hostname",t=Xo(32);for(let r=0;32>r;++r)he[t+r]=e.charCodeAt(r%e.length);return t},99096:()=>{console.error("License key not valid")},99135:()=>{i.Yj()},99159:(e,t,r)=>{i.$j(e,t,r)},99202:e=>{i.Zj(e)},99249:e=>{i.Rj(e?Ge(he,e):"")},99293:(e,t,r,n,a,o,s,l,c)=>{i.Tj({translationOffset:e,rotationOffset:t,poseMatrixOffset:r,landmarksOffset:n,landmarks2DOffset:a,faceRectOffset:o},s,l,c)},99477:(e,t)=>{i.Sj(e?Ge(he,e):"",t?Ge(he,t):"")},99534:()=>{i.Oj()},99572:()=>{i.Pj()},99617:(e,t,r,n)=>{i.Bj(e,t,r,n)},99672:(e,t,r,n)=>{i.Cj(e,t,r,n)},99728:(e,t,r,n)=>{function a(e,t){return{detected:e,scale:[ve[t>>=2],ve[t+1],ve[t+2]],rotation:[ve[t+3],ve[t+4],ve[t+5],ve[t+6]],position:[ve[t+7],ve[t+8],ve[t+9]]}}e=a(e,t),r=a(r,n),i.Wj(e,r)},100185:(e,t)=>{i.ck({detected:!!e,isLeft:!!t})},100250:()=>{i.ak()},100291:e=>{i.Vj(!!e)},100332:e=>{i.Xj(!!e)},100376:(e,t)=>{e=e?Ge(he,e,t):"",i.Nj(e)},100457:()=>{alert("DeepAR license not valid")},100491:()=>{i.endLoop()},100512:()=>{let e=te("face");if(!e)return 0;e=new Uint8Array(e);var t=Xo(e.length);return he.set(e,t),Q.face.Fj(),t},100755:()=>{let e=te("default_envmap.webp");if(!e)return 0;e=new Uint8Array(e);var t=Xo(e.length);return he.set(e,t),t},100965:()=>{let e=te("default_envmap.webp").byteLength;return Q["default_envmap.webp"].Fj(),e},101074:()=>i.useExternalTrackingData,101120:(e,t)=>{i.Qj(e,t)}};function Le(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var Be,De,We,Ue=e=>{for(;0<e.length;)e.shift()(i)},$e="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Ge=(e,t,r)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&$e)return $e.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},Ve=(e,t)=>e?Ge(he,e,t):"",Ne=e=>{for(var t="";he[e];)t+=Be[he[e++]];return t},ze={},Xe={},Ke={},He=e=>{throw new De(e)},qe=(e,t,r)=>{function n(t){if((t=r(t)).length!==e.length)throw new We("Mismatched type converter count");for(var n=0;n<e.length;++n)Ye(e[n],t[n])}e.forEach(function(e){Ke[e]=t});var i=Array(t.length),a=[],o=0;t.forEach((e,t)=>{Xe.hasOwnProperty(e)?i[t]=Xe[e]:(a.push(e),ze.hasOwnProperty(e)||(ze[e]=[]),ze[e].push(()=>{i[t]=Xe[e],++o===a.length&&n(i)}))}),0===a.length&&n(i)};function Ye(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 De(`type "${n}" must have a positive integer typeid pointer`);if(Xe.hasOwnProperty(e)){if(r.mk)return;throw new De(`Cannot register type '${n}' twice`)}Xe[e]=t,delete Ke[e],ze.hasOwnProperty(e)&&(t=ze[e],delete ze[e],t.forEach(e=>e()))}(e,t,r)}var Je,Qe=e=>{throw new De(e.Ii.Mi.Ji.name+" instance already deleted")},Ze=!1,et=()=>{},tt=(e,t,r)=>t===r?e:void 0===r.Pi||null===(e=tt(e,t,r.Pi))?null:r.gk(e),rt={},nt=[],it=()=>{for(;nt.length;){var e=nt.pop();e.Ii.gj=!1,e.delete()}},at={},ot=(e,t)=>{if(!t.Mi||!t.Li)throw new We("makeClassHandle requires ptr and ptrType");if(!!t.Qi!=!!t.Ni)throw new We("Both smartPtrType and smartPtr must be specified");return t.count={value:1},st(Object.create(e,{Ii:{value:t,writable:!0}}))},st=e=>"undefined"==typeof FinalizationRegistry?(st=e=>e,e):(Ze=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))}),et=e=>{Ze.unregister(e)},(st=e=>{var t=e.Ii;return t.Ni&&Ze.register(e,{Ii:t},e),e})(e));function lt(){}var ct=(e,t)=>Object.defineProperty(t,"name",{value:e}),dt=(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 De(`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}},ut=(e,t,r)=>{if(i.hasOwnProperty(e)){if(void 0===r||void 0!==i[e].Oi&&void 0!==i[e].Oi[r])throw new De(`Cannot register public name '${e}' twice`);if(dt(i,e,e),i.hasOwnProperty(r))throw new De(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);i[e].Oi[r]=t}else i[e]=t,void 0!==r&&(i[e].Jk=r)};function ft(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 ht=(e,t,r)=>{for(;t!==r;){if(!t.lj)throw new De(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.lj(e),t=t.Pi}return e};function mt(e,t){if(null===t){if(this.wj)throw new De(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new De(`Cannot pass "${Dt(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new De(`Cannot pass deleted object as a pointer of type ${this.name}`);return ht(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function gt(e,t){if(null===t){if(this.wj)throw new De(`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 De(`Cannot pass "${Dt(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new De(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.pj&&t.Ii.Mi.pj)throw new De(`Cannot convert argument of type ${t.Ii.Qi?t.Ii.Qi.name:t.Ii.Mi.name} to parameter type ${this.name}`);if(r=ht(t.Ii.Li,t.Ii.Mi.Ji,this.Ji),this.qj){if(void 0===t.Ii.Ni)throw new De("Passing raw pointer to smart pointer is illegal");switch(this.uk){case 0:if(t.Ii.Qi!==this)throw new De(`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,Lt(()=>n.delete())),null!==e&&e.push(this.Zi,r)}break;default:throw new De("Unsupporting sharing policy")}}return r}function pt(e,t){if(null===t){if(this.wj)throw new De(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new De(`Cannot pass "${Dt(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new De(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.Ii.Mi.pj)throw new De(`Cannot convert argument of type ${t.Ii.Mi.name} to parameter type ${this.name}`);return ht(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function bt(e){return this.fromWireType(be[e>>2])}function vt(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=gt:(this.toWireType=n?mt:pt,this.Vi=null)}var wt,yt,Et=(e,t,r)=>{if(!i.hasOwnProperty(e))throw new We("Replacing nonexistent public symbol");void 0!==i[e].Oi&&void 0!==r?i[e].Oi[r]=t:(i[e]=t,i[e].nj=r)},Pt=(e,t)=>{var r=(e=Ne(e)).includes("j")?((e,t)=>(...r)=>((e,t,r=[])=>(e.includes("j")?(e=e.replace(/p/g,"i"),t=(0,i["dynCall_"+e])(t,...r)):t=wt.get(t)(...r),t))(e,t,r))(e,t):wt.get(t);if("function"!=typeof r)throw new De(`unknown function pointer with signature ${e}: ${t}`);return r},Tt=e=>{e=Wo(e);var t=Ne(e);return Uo(e),t},kt=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||Xe[t]||(Ke[t]?Ke[t].forEach(e):(r.push(t),n[t]=!0))}),new yt(`${e}: `+r.map(Tt).join([", "]))},xt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(be[t+4*n>>2]);return r},St=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function _t(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].Vi)return!0;return!1}function jt(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=ct(t.name||"unknownFunctionName",function(){});return r.prototype=t.prototype,r=new r,(e=t.apply(r,e))instanceof Object?e:r}function At(e,t,r,n,i,a){var o=t.length;if(2>o)throw new De("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==r,l=_t(t);for(r="void"!==t[0].name,n=[e,He,n,i,St,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=_t(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=jt(h)(...n),ct(e,t)}var It,Ft=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Ct=[],Ot=[],Mt=e=>{9<e&&0==--Ot[e+1]&&(Ot[e]=void 0,Ct.push(e))},Rt=e=>{if(!e)throw new De("Cannot use deleted val. handle = "+e);return Ot[e]},Lt=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const t=Ct.pop()||Ot.length;return Ot[t]=e,Ot[t+1]=1,t}},Bt={name:"emscripten::val",fromWireType:e=>{var t=Rt(e);return Mt(e),t},toWireType:(e,t)=>Lt(t),argPackAdvance:8,readValueFromPointer:bt,Vi:null},Dt=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Wt=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(ve[e>>2])};case 8:return function(e){return this.fromWireType(we[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Ut=(e,t,r)=>{switch(t){case 1:return r?e=>fe[e]:e=>he[e];case 2:return r?e=>me[e>>1]:e=>ge[e>>1];case 4:return r?e=>pe[e>>2]:e=>be[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},$t=(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},Gt=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},Vt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Nt=(e,t)=>{for(var r=e>>1,n=r+t/2;!(r>=n)&&ge[r];)++r;if(32<(r<<=1)-e&&Vt)return Vt.decode(he.subarray(e,r));for(r="",n=0;!(n>=t/2);++n){var i=me[e+2*n>>1];if(0==i)break;r+=String.fromCharCode(i)}return r},zt=(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)me[t>>1]=e.charCodeAt(i),t+=2;return me[t>>1]=0,t-n},Xt=e=>2*e.length,Kt=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=pe[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},Ht=(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)),pe[t>>2]=a,(t+=4)+4>r)break}return pe[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},Yt=(e,t)=>{var r=Xe[e];if(void 0===r)throw e=`${t} has unknown type ${Tt(e)}`,new De(e);return r},Jt=(e,t,r)=>{var n=[];return e=e.toWireType(n,r),n.length&&(be[t>>2]=Lt(n)),e},Qt=[],Zt={},er=e=>{var t=Zt[e];return void 0===t?Ne(e):t},tr=0,rr=(e,t)=>{if(fr=e,hr=t,ur)if(lr||(tr+=1,lr=!0),0==e)cr=function(){var e=0|Math.max(0,nr+t-It());setTimeout(ir,e)};else if(1==e)cr=function(){kr(ir)};else if(2==e){if(void 0===Ar)if("undefined"==typeof setImmediate){var r=[];addEventListener("message",e=>{"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),r.shift()())},!0),Ar=function(e){r.push(e),postMessage("setimmediate","*")}}else Ar=setImmediate;cr=function(){Ar(ir)}}};It=()=>performance.now();var nr,ir,ar=e=>{if(!(e instanceof Le||"unwind"==e))throw e},or=()=>{if(!(_e||0<tr))try{var e=ue;throw ue=e,0<tr||(Jo(),Ue(ke),ba(),_e=!0),ue=e,0<tr||(ye=!0),new Le(e)}catch(e){ar(e)}},sr=()=>{sr.yj||(sr.yj={}),sr.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.']||(sr.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,ce('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.'))},lr=!1,cr=null,dr=0,ur=null,fr=0,hr=0,mr=0,gr=[],pr=!1,br=!1,vr=[],wr=!1,yr=void 0,Er=void 0;function Pr(){return!!pr&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0)}var Tr=0;function kr(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===Tr)Tr=t+1e3/60;else for(;t+2>=Tr;)Tr+=1e3/60;setTimeout(e,Math.max(Tr-t,0))}}var xr=[];function Sr(){var e=i.canvas;xr.forEach(t=>t(e.width,e.height))}function _r(e,t,r){jr(i.canvas,e,t),r||Sr()}function jr(e,t,r){t&&r?(e.wk=t,e.lk=r):(t=e.wk,r=e.lk);var n=t,a=r;if(i.forcedAspectRatio&&0<i.forcedAspectRatio&&(n/a<i.forcedAspectRatio?n=Math.round(a*i.forcedAspectRatio):a=Math.round(n/i.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var o=Math.min(screen.width/n,screen.height/a);n=Math.round(n*o),a=Math.round(a*o)}Er?(e.width!=n&&(e.width=n),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&&(n!=t||a!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}var Ar,Ir,Fr,Cr,Or,Mr=!1,Rr={alpha:!1,depth:!1,stencil:!1,antialias:!1},Lr={},Br=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))},Dr=1,Wr=[],Ur=[],$r=[],Gr=[],Vr=[],Nr=[],zr=[],Xr=[],Kr=[],Hr=[],qr=[],Yr=[],Jr={},Qr={},Zr=4,en=0,tn=e=>{for(var t=Dr++,r=e.length;r<t;r++)e[r]=null;return t},rn=(e,t,r,n)=>{for(var i=0;i<e;i++){var a=Fo[r](),o=a&&tn(n);a?(a.name=o,n[o]=a):Cr||=1282,pe[t+4*i>>2]=o}},nn=(e,t)=>{if(i.preinitializedWebGLContext){var r=i.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?an(r,t):0},an=(e,t)=>{var r=tn(Xr),n={handle:r,attributes:t,version:t.xj,Wi:e};return e.canvas&&(e.canvas.Mj=n),Xr[r]=n,(void 0===t.hk||t.hk)&&sn(n),r},on=e=>{Or=Xr[e],i.Yi=Fo=Or?.Wi},sn=e=>{if(e||=Or,!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"),Br(t).forEach(e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)})}},ln={},cn=e=>{var t=Gt(e)+1,r=Xo(t);return r&&$t(e,he,r,t),r},dn=[],un=(e,t)=>{dn.length=0;for(var r;r=he[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,dn.push(112==r?be[t>>2]:105==r?pe[t>>2]:we[t>>3]),t+=n?8:4}return dn},fn=e=>Fo.activeTexture(e),hn=(e,t)=>{Fo.attachShader(Ur[e],Nr[t])},mn=(e,t)=>{35051==e?Fo.vj=t:35052==e&&(Fo.Ui=t),Fo.bindBuffer(e,Wr[t])},gn=(e,t)=>{Fo.bindFramebuffer(e,$r[t])},pn=(e,t)=>{Fo.bindRenderbuffer(e,Gr[t])},bn=(e,t)=>{Fo.bindTexture(e,Vr[t])},vn=e=>{Fo.bindVertexArray(zr[e])},wn=(e,t,r,n)=>Fo.blendColor(e,t,r,n),yn=(e,t)=>Fo.blendEquationSeparate(e,t),En=(e,t,r,n)=>Fo.blendFuncSeparate(e,t,r,n),Pn=(e,t,r,n)=>{r&&t?Fo.bufferData(e,he,n,r,t):Fo.bufferData(e,t,n)},Tn=(e,t,r,n)=>{r&&Fo.bufferSubData(e,t,he,n,r)},kn=e=>Fo.checkFramebufferStatus(e),xn=e=>Fo.clear(e),Sn=(e,t,r,n)=>Fo.clearColor(e,t,r,n),_n=e=>Fo.clearDepth(e),jn=e=>Fo.clearStencil(e),An=(e,t,r,n)=>{Fo.colorMask(!!e,!!t,!!r,!!n)},In=e=>{Fo.compileShader(Nr[e])},Fn=(e,t,r,n,i,a,o,s)=>{Fo.Ui||!o?Fo.compressedTexImage2D(e,t,r,n,i,a,o,s):Fo.compressedTexImage2D(e,t,r,n,i,a,he,s,o)},Cn=(e,t,r,n,i,a,o,s,l)=>{Fo.Ui||!s?Fo.compressedTexSubImage2D(e,t,r,n,i,a,o,s,l):Fo.compressedTexSubImage2D(e,t,r,n,i,a,o,he,l,s)},On=(e,t,r,n,i,a,o,s)=>Fo.copyTexSubImage2D(e,t,r,n,i,a,o,s),Mn=()=>{var e=tn(Ur),t=Fo.createProgram();return t.name=e,t.tj=t.rj=t.sj=0,t.zj=1,Ur[e]=t,e},Rn=e=>{var t=tn(Nr);return Nr[t]=Fo.createShader(e),t},Ln=e=>Fo.cullFace(e),Bn=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Wr[n];i&&(Fo.deleteBuffer(i),i.name=0,Wr[n]=null,n==Fo.vj&&(Fo.vj=0),n==Fo.Ui&&(Fo.Ui=0))}},Dn=(e,t)=>{for(var r=0;r<e;++r){var n=pe[t+4*r>>2],i=$r[n];i&&(Fo.deleteFramebuffer(i),i.name=0,$r[n]=null)}},Wn=e=>{if(e){var t=Ur[e];t?(Fo.deleteProgram(t),t.name=0,Ur[e]=null):Cr||=1281}},Un=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Gr[n];i&&(Fo.deleteRenderbuffer(i),i.name=0,Gr[n]=null)}},$n=e=>{if(e){var t=Nr[e];t?(Fo.deleteShader(t),Nr[e]=null):Cr||=1281}},Gn=e=>{if(e){var t=Yr[e];t?(Fo.deleteSync(t),t.name=0,Yr[e]=null):Cr||=1281}},Vn=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Vr[n];i&&(Fo.deleteTexture(i),i.name=0,Vr[n]=null)}},Nn=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2];Fo.deleteVertexArray(zr[n]),zr[n]=null}},zn=e=>Fo.depthFunc(e),Xn=e=>{Fo.depthMask(!!e)},Kn=(e,t)=>{Fo.detachShader(Ur[e],Nr[t])},Hn=e=>Fo.disable(e),qn=e=>{Fo.disableVertexAttribArray(e)},Yn=(e,t,r)=>{Fo.drawArrays(e,t,r)},Jn=(e,t,r,n)=>{Fo.drawArraysInstanced(e,t,r,n)},Qn=[],Zn=(e,t)=>{for(var r=Qn[e],n=0;n<e;n++)r[n]=pe[t+4*n>>2];Fo.drawBuffers(r)},ei=(e,t,r,n)=>{Fo.drawElements(e,t,r,n)},ti=(e,t,r,n,i)=>{Fo.drawElementsInstanced(e,t,r,n,i)},ri=e=>Fo.enable(e),ni=e=>{Fo.enableVertexAttribArray(e)},ii=()=>Fo.flush(),ai=(e,t,r,n)=>{Fo.framebufferRenderbuffer(e,t,r,Gr[n])},oi=(e,t,r,n,i)=>{Fo.framebufferTexture2D(e,t,r,Vr[n],i)},si=(e,t)=>{rn(e,t,"createBuffer",Wr)},li=(e,t)=>{rn(e,t,"createFramebuffer",$r)},ci=(e,t)=>{rn(e,t,"createRenderbuffer",Gr)},di=(e,t)=>{rn(e,t,"createTexture",Vr)},ui=(e,t)=>{rn(e,t,"createVertexArray",zr)},fi=e=>Fo.generateMipmap(e),hi=(e,t,r,n,i,a,o,s)=>{t=Ur[t],(e=Fo[e](t,r))&&(n=s&&$t(e.name,he,s,n),i&&(pe[i>>2]=n),a&&(pe[a>>2]=e.size),o&&(pe[o>>2]=e.type))},mi=(e,t,r,n,i,a,o)=>{hi("getActiveAttrib",e,t,r,n,i,a,o)},gi=(e,t,r,n,i,a,o)=>{hi("getActiveUniform",e,t,r,n,i,a,o)},pi=(e,t)=>Fo.getAttribLocation(Ur[e],t?Ge(he,t):""),bi=(e,t)=>{be[e>>2]=t,be[e+4>>2]=(t-be[e>>2])/4294967296};function vi(){var e=Br(Fo);return e.concat(e.map(e=>"GL_"+e))}var wi=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&(Cr||=1280));case 34814:case 36345:n=0;break;case 34466:var i=Fo.getParameter(34467);n=i?i.length:0;break;case 33309:if(2>Or.version)return void(Cr||=1282);n=vi().length;break;case 33307:case 33308:if(2>Or.version)return void(Cr||=1280);n=33307==e?3:0}if(void 0===n)switch(i=Fo.getParameter(e),typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void(Cr||=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(Cr||=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:pe[t+4*e>>2]=i[e];break;case 2:ve[t+4*e>>2]=i[e];break;case 4:fe[t+e]=i[e]?1:0}return}try{n=0|i.name}catch(t){return Cr||=1280,void ce(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return Cr||=1280,void ce(`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:bi(t,n);break;case 0:pe[t>>2]=n;break;case 2:ve[t>>2]=n;break;case 4:fe[t]=n?1:0}}else Cr||=1281},yi=()=>{var e=Fo.getError()||Cr;return Cr=0,e},Ei=(e,t)=>wi(e,t,2),Pi=(e,t,r,n)=>{if(r){switch(typeof(t=Fo.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(Cr||=1280)}else{if(!(t instanceof WebGLBuffer))return void(Cr||=1280);e=0|t.name}break;default:return void(Cr||=1280)}switch(n){case 1:bi(r,e);break;case 0:pe[r>>2]=e;break;case 2:ve[r>>2]=e;break;case 4:fe[r]=e?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else Cr||=1281},Ti=(e,t)=>wi(e,t,0),ki=(e,t,r,n)=>{null===(e=Fo.getProgramInfoLog(Ur[e]))&&(e="(unknown error)"),t=0<t&&n?$t(e,he,n,t):0,r&&(pe[r>>2]=t)},xi=(e,t,r)=>{if(r)if(e>=Dr)Cr||=1281;else if(e=Ur[e],35716==t)null===(e=Fo.getProgramInfoLog(e))&&(e="(unknown error)"),pe[r>>2]=e.length+1;else if(35719==t){if(!e.tj)for(t=0;t<Fo.getProgramParameter(e,35718);++t)e.tj=Math.max(e.tj,Fo.getActiveUniform(e,t).name.length+1);pe[r>>2]=e.tj}else if(35722==t){if(!e.rj)for(t=0;t<Fo.getProgramParameter(e,35721);++t)e.rj=Math.max(e.rj,Fo.getActiveAttrib(e,t).name.length+1);pe[r>>2]=e.rj}else if(35381==t){if(!e.sj)for(t=0;t<Fo.getProgramParameter(e,35382);++t)e.sj=Math.max(e.sj,Fo.getActiveUniformBlockName(e,t).length+1);pe[r>>2]=e.sj}else pe[r>>2]=Fo.getProgramParameter(e,t);else Cr||=1281},Si=(e,t,r)=>{r?(e=Kr[e],t=2>Or.version?Fo.Ri.getQueryObjectEXT(e,t):Fo.getQueryParameter(e,t),bi(r,"boolean"==typeof t?t?1:0:t)):Cr||=1281},_i=(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Fo.Ri.getQueryObjectEXT(Kr[e],t))?e?1:0:e,pe[r>>2]=n):Cr||=1281},ji=(e,t,r,n)=>{null===(e=Fo.getShaderInfoLog(Nr[e]))&&(e="(unknown error)"),t=0<t&&n?$t(e,he,n,t):0,r&&(pe[r>>2]=t)},Ai=(e,t,r)=>{r?35716==t?(null===(e=Fo.getShaderInfoLog(Nr[e]))&&(e="(unknown error)"),pe[r>>2]=e?e.length+1:0):35720==t?(e=Fo.getShaderSource(Nr[e]),pe[r>>2]=e?e.length+1:0):pe[r>>2]=Fo.getShaderParameter(Nr[e],t):Cr||=1281},Ii=e=>{var t=Jr[e];if(!t){switch(e){case 7939:t=cn(vi().join(" "));break;case 7936:case 7937:case 37445:case 37446:(t=Fo.getParameter(e))||(Cr||=1280),t=t?cn(t):0;break;case 7938:t=cn(`OpenGL ES 3.0 (${Fo.getParameter(7938)})`);break;case 35724:var r=(t=Fo.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=cn(t);break;default:Cr||=1280}Jr[e]=t}return t},Fi=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Ci=e=>{var t,r=e.kj,n=e.Lj;if(!r)for(e.kj=r={},e.Kj={},t=0;t<Fo.getProgramParameter(e,35718);++t){var i=Fo.getActiveUniform(e,t),a=i.name;i=i.size;var o=Fi(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}},Oi=(e,t)=>{if(t=t?Ge(he,t):"",e=Ur[e]){Ci(e);var r=e.kj,n=0,i=t,a=Fi(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]||Fo.getUniformLocation(e,t)))return n}else Cr||=1281;return-1},Mi=e=>{var t=Fo.fk;if(t){var r=t.kj[e];return"number"==typeof r&&(t.kj[e]=r=Fo.getUniformLocation(t,t.Kj[e]+(0<r?`[${r}]`:""))),r}Cr||=1282},Ri=(e,t,r,n)=>{if(r)if(e=Ur[e],Ci(e),"number"==typeof(e=Fo.getUniform(e,Mi(t)))||"boolean"==typeof e)switch(n){case 0:pe[r>>2]=e;break;case 2:ve[r>>2]=e}else for(t=0;t<e.length;t++)switch(n){case 0:pe[r+4*t>>2]=e[t];break;case 2:ve[r+4*t>>2]=e[t]}else Cr||=1281},Li=(e,t,r,n)=>{if(r)if(e=Fo.getVertexAttrib(e,t),34975==t)pe[r>>2]=e&&e.name;else if("number"==typeof e||"boolean"==typeof e)switch(n){case 0:pe[r>>2]=e;break;case 2:ve[r>>2]=e;break;case 5:pe[r>>2]=Math.fround(e)}else for(t=0;t<e.length;t++)switch(n){case 0:pe[r+4*t>>2]=e[t];break;case 2:ve[r+4*t>>2]=e[t];break;case 5:pe[r+4*t>>2]=Math.fround(e[t])}else Cr||=1281},Bi=(e,t,r)=>{Li(e,t,r,0)},Di=e=>Fo.isSync(Yr[e]),Wi=e=>(e=zr[e])?Fo.isVertexArray(e):0,Ui=e=>{e=Ur[e],Fo.linkProgram(e),e.kj=0,e.Lj={}},$i=(e,t)=>{3317==e?Zr=t:3314==e&&(en=t),Fo.pixelStorei(e,t)},Gi=e=>0==(e-=5120)?fe:1==e?he:2==e?me:4==e?pe:6==e?ve:5==e||28922==e||28520==e||30779==e||30782==e?be:ge,Vi=(e,t,r,n,i)=>(e=Gi(e),t=n*((en||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+Zr-1&-Zr),e.subarray(i>>>31-Math.clz32(e.BYTES_PER_ELEMENT),i+t>>>31-Math.clz32(e.BYTES_PER_ELEMENT))),Ni=(e,t,r,n,i,a,o)=>{if(Fo.vj)Fo.readPixels(e,t,r,n,i,a,o);else{var s=Gi(a);o>>>=31-Math.clz32(s.BYTES_PER_ELEMENT),Fo.readPixels(e,t,r,n,i,a,s,o)}},zi=(e,t,r,n)=>Fo.renderbufferStorage(e,t,r,n),Xi=(e,t,r,n)=>Fo.scissor(e,t,r,n),Ki=(e,t,r,n)=>{for(var i="",a=0;a<t;++a)i+=Ve(be[r+4*a>>2],n?be[n+4*a>>2]:void 0);Fo.shaderSource(Nr[e],i)},Hi=(e,t,r,n)=>Fo.stencilFuncSeparate(e,t,r,n),qi=(e,t,r,n)=>Fo.stencilOpSeparate(e,t,r,n),Yi=(e,t,r,n,i,a,o,s,l)=>{if(Fo.Ui)Fo.texImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=Gi(s);l>>>=31-Math.clz32(c.BYTES_PER_ELEMENT),Fo.texImage2D(e,t,r,n,i,a,o,s,c,l)}else c=l?Vi(s,o,n,i,l):null,Fo.texImage2D(e,t,r,n,i,a,o,s,c)},Ji=(e,t,r)=>Fo.texParameterf(e,t,r),Qi=(e,t,r)=>{Fo.texParameterf(e,t,ve[r>>2])},Zi=(e,t,r)=>Fo.texParameteri(e,t,r),ea=(e,t,r,n,i,a,o,s,l)=>{if(Fo.Ui)Fo.texSubImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=Gi(s);Fo.texSubImage2D(e,t,r,n,i,a,o,s,c,l>>>31-Math.clz32(c.BYTES_PER_ELEMENT))}else l=l?Vi(s,o,i,a,l):null,Fo.texSubImage2D(e,t,r,n,i,a,o,s,l)},ta=(e,t)=>{Fo.uniform1i(Mi(e),t)},ra=(e,t,r)=>{t&&Fo.uniform1iv(Mi(e),pe,r>>2,t)},na=(e,t,r)=>{t&&Fo.uniform4fv(Mi(e),ve,r>>2,4*t)},ia=(e,t,r,n)=>{t&&Fo.uniformMatrix3fv(Mi(e),!!r,ve,n>>2,9*t)},aa=(e,t,r,n)=>{t&&Fo.uniformMatrix4fv(Mi(e),!!r,ve,n>>2,16*t)},oa=e=>{e=Ur[e],Fo.useProgram(e),Fo.fk=e},sa=(e,t)=>{Fo.vertexAttribDivisor(e,t)},la=(e,t,r,n,i,a)=>{Fo.vertexAttribPointer(e,t,r,!!n,i,a)},ca=(e,t,r,n)=>Fo.viewport(e,t,r,n),da=(e,t,r,n)=>{Fo.waitSync(Yr[e],t,(r>>>0)+4294967296*n)},ua=(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},fa=(e,t)=>0<=e?e:32>=t?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e,ha=e=>{for(var t=e;he[t];)++t;return t-e};function ma(e){var t=Array(Gt(e)+1);return e=$t(e,t,0,t.length),t.length=e,t}var ga=[null,[],[]],pa=(e,t)=>{var r=ga[e];0===t||10===t?((1===e?le:ce)(Ge(r,0)),r.length=0):r.push(t)},ba=()=>{Qo(0),ga[1].length&&pa(1,10),ga[2].length&&pa(2,10)};function va(){return["iOS","Android"].includes(c.os.family)?85:"OS X"===c.os.family?54:90}var wa=null,ya=null,Ea=0,Pa=null,Ta=-1,ka=-1,xa=!1,Sa=null,_a=null,ja=null,Aa=null,Ia=null,Fa=null,Ca=!0,Oa={},Ma=0,Ra=0;async function La(e){e=await createImageBitmap(new Blob([e]),{premultiplyAlpha:"none",colorSpaceConversion:"none"});var t=Or.Wi,r=t.createTexture();const n=tn(Vr);return r.name=n,Vr[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 Ba=!1,Da=!1,Wa=0,Ua=0,$a=0,Ga=null,Va=null,Na=null,za=null,Xa=null;async function Ka(e,t,r){if(!Da&&!Ba){console.log(`DeepAR Rigid Face Tracking initialize started. FovY: ${e}, width: ${t}, height: ${r}`),Ba=!0;try{l||=await i.dynamicImports.xzimg(i.globalProgress),null==Ga&&(Ga=new l.Geometry),null==Va&&(Va=new l.VideoManager(null)).setNbFramesDelay(0);const n=await re("rigidFaceDetector"),a=await re("rigidFaceTracker");let o={poseEstimationWasmFilename:await re("rigidFacePEW"),modelFilename:n,featuresFilename:a,fovY:e,geometryToDetect:"FACE",normMode:"eye_center",detectScoreThs:.2,trackScoreThs:.4,filteringShift:.2,filteringLevel:1,computePose:!0,wasmBackend:{enable:!0,...await ne("rigidFaceDetector")}};await Ga.initialize(Va,o),Wa=t,Ua=r,$a=e,Ba=!1,Da=!0,console.log("DeepAR RigidFaceTracking initialized!"),i.Uj(e,t,r)}catch(e){Ba=!1,console.error(e)}}}function Ha(e){if(!Ba&&null!=Ga&&Ga.isInitialized()){Va.preProcessWithBuffer(e);try{Ga.trackSync()}catch(e){return console.log(e),void(Na=!1)}null!=(e=Ga.getInterpolatedPose())&&Ga.isDetected()?(Xa=e.t(),za=e.R(),Na=!0):Na=!1}}var qa,Ya=!1,Ja=!1,Qa=0,Za=0,eo=0,to=null,ro=null,no=null,io=null,ao=null,oo=null,so=null,lo=null;async function co(e,t,r,n){if(!Ja&&!Ya){Ya=!0,console.log(`DeepAR Foot Tracking initialize started. FovY: ${e}, width: ${r}, height: ${n}`);try{l||=await i.dynamicImports.xzimg(i.globalProgress),null==to&&(to=new l.Foot),null==ro&&(ro=new l.VideoManager(null),qa=t,ro.setNbFramesDelay(qa));const a=await re("footDetector"),o=await re("footTracker"),s=await re("footObj");let c={poseEstimationWasmFilename:await re("footPEW"),modelFilename:a,featuresFilename:o,objContainer:s,fovY:e,detectScoreThs:.25,validTrackedKeypThs:.3,trackScoreThs:.3,filteringShift:.5,footToDetect:"BOTH",wasmBackend:{enable:!0,...await ne("footDetector")}};await to.initialize(ro,c),Qa=r,Za=n,eo=e,Ya=!1,Ja=!0,console.log("DeepAR FootTracking initialized!"),i.Bj(e,t,r,n)}catch(e){Ya=!1,console.error(e)}}}function uo(e){if(!Ya&&null!=to&&to.isInitialized()){ro.preProcessWithBuffer(e);try{to.trackSync()}catch(e){return console.log(e),void(lo=ao=!1)}e=to.getInterpolatedPose("LEFT_FOOT");var t=to.getInterpolatedPose("RIGHT_FOOT");null!=e&&e.isDetected()?(no=e.t(),io=e.R(),ao=!0):ao=!1,null!=t&&t.isDetected()?(oo=t.t(),so=t.R(),lo=!0):lo=!1}}var fo,ho,mo=!1,go=!1,po=0,bo=0,vo=0,wo=null,yo=null,Eo=null,Po=null,To=null,ko=0,xo=0;async function So(e,t,r,n){if(!go&&!mo){mo=!0,console.log(`DeepAR Wrist Tracking initialize started. FovY: ${e}, width: ${r}, height: ${n}`);try{l||=await i.dynamicImports.xzimg(i.globalProgress),null==wo&&(wo=new l.Geometry),null==yo&&(yo=new l.VideoManager(null),xo=t,yo.setNbFramesDelay(xo));const a=await re("wristDetector"),o=await re("wristTracker"),s=await re("wristObj");let c={geometryToDetect:"WRIST",poseEstimationWasmFilename:await re("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 ne("wristDetector")}};await wo.initialize(yo,c),po=r,bo=n,vo=e,mo=!1,go=!0,console.log("DeepAR WristTracking initialized!"),i.Cj(e,t,r,n)}catch(e){mo=!1,console.error(e)}}}function _o(e){if(go){yo.preProcessWithBuffer(e);try{wo.trackSync()}catch(e){return console.log(e),void(Eo=!1)}e=!1,wo.isDetected()?(++ko>xo&&(e=!0),(Eo=e)&&(e=wo.getInterpolatedPose(),Po=e.t(),To=e.R())):(ko=0,Eo=!1)}}for(var jo=(e,t,r,n)=>{var a=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&a&&!n?i["_"+e]:(...n)=>((e,t,r,n)=>{var a={string:e=>{var t=0;if(null!=e&&0!==e){t=Gt(e)+1;var r=ts(t);$t(e,he,r,t),t=r}return t},array:e=>{var t=ts(e.length);return fe.set(e,t),t}};e=i["_"+e];var o,s=[],l=0;if(n)for(var c=0;c<n.length;c++){var d=a[r[c]];d?(0===l&&(l=rs()),s[c]=d(n[c])):s[c]=n[c]}return o=r=e(...s),0!==l&&es(l),"string"===t?o?Ge(he,o):"":"boolean"===t?!!o:o})(e,t,r,n)},Ao=Array(256),Io=0;256>Io;++Io)Ao[Io]=String.fromCharCode(Io);Be=Ao,De=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},We=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(lt.prototype,{isAliasOf:function(e){if(!(this instanceof lt&&e instanceof lt))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||Qe(this),this.Ii.jj)return this.Ii.count.value+=1,this;var e=st,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||Qe(this),this.Ii.gj&&!this.Ii.jj)throw new De("Object already scheduled for deletion");et(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||Qe(this),this.Ii.gj&&!this.Ii.jj)throw new De("Object already scheduled for deletion");return nt.push(this),1===nt.length&&Je&&Je(it),this.Ii.gj=!0,this}}),i.getInheritedInstanceCount=()=>Object.keys(at).length,i.getLiveInheritedInstances=()=>{var e,t=[];for(e in at)at.hasOwnProperty(e)&&t.push(at[e]);return t},i.flushPendingDeletes=it,i.setDelayFunction=e=>{Je=e,nt.length&&Je&&Je(it)},Object.assign(vt.prototype,{kk(e){return this.Ij&&(e=this.Ij(e)),e},Dj(e){this.Zi?.(e)},argPackAdvance:8,readValueFromPointer:bt,fromWireType:function(e){function t(){return this.qj?ot(this.Ji.hj,{Mi:this.qk,Li:r,Qi:this,Ni:e}):ot(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 De("ptr should not be undefined");for(;e.Pi;)t=e.lj(t),e=e.Pi;return at[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=rt[n]))return t.call(this);n=this.pj?n.ek:n.pointerType;var i=tt(r,this.Ji,n.Ji);return null===i?t.call(this):this.qj?ot(n.Ji.hj,{Mi:n,Li:i,Qi:this,Ni:e}):ot(n.Ji.hj,{Mi:n,Li:i})}}),yt=i.UnboundTypeError=(fo=Error,(ho=ct("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(fo.prototype),ho.prototype.constructor=ho,ho.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},ho),Ot.push(0,1,void 0,1,null,1,!0,1,!1,1),i.count_emval_handles=()=>Ot.length/2-5-Ct.length,i.requestFullscreen=function(e,t){function r(){pr=!1;var e=n.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.exitFullscreen=Pr,yr&&n.requestPointerLock(),pr=!0,Er?("undefined"!=typeof SDL&&(pe[SDL.screen>>2]=8388608|be[SDL.screen>>2]),jr(i.canvas),Sr()):jr(n)):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),Er?("undefined"!=typeof SDL&&(pe[SDL.screen>>2]=-8388609&be[SDL.screen>>2]),jr(i.canvas),Sr()):jr(n)),i.onFullScreen?.(pr),i.onFullscreen?.(pr)}void 0===(yr=e)&&(yr=!0),void 0===(Er=t)&&(Er=!1);var n=i.canvas;wr||(wr=!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");n.parentNode.insertBefore(a,n),a.appendChild(n),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()},i.requestAnimationFrame=kr,i.setCanvasSize=_r,i.pauseMainLoop=function(){cr=null,dr++},i.resumeMainLoop=function(){dr++;var e=fr,t=hr,r=ur;ur=null,(e=>{function t(){return!(r<dr&&(--tr,or(),1))}ur=e;var r=dr;lr=!1,ir=function(){if(!ye)if(0<gr.length){var r=gr.shift();r.Ek(r.Bk),t()&&setTimeout(ir,0)}else if(t())if(mr=mr+1|0,1==fr&&1<hr&&0!=mr%hr)cr();else{if(0==fr&&(nr=It()),!ye&&!_e&&!ye)try{e(),or()}catch(e){ar(e)}t()&&("object"==typeof SDL&&SDL.audio?.Lk?.(),cr())}}})(r),rr(e,t),cr()},i.getUserMedia=function(e){let t;(t=window).getUserMedia||(t.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},i.createContext=function(e,t,r,n){if(t&&i.Yi&&e==i.canvas)return i.Yi;var a;if(t){var o={antialias:!1,alpha:!1,xj:2};if(n)for(var s in n)o[s]=n[s];if(void 0!==ln&&(a=nn(e,o)))var l=Xr[a].Wi}else l=e.getContext("2d");return l?(r&&(i.Yi=l,t&&on(a),i.vk=t,vr.forEach(e=>e()),function(){function e(){br=document.pointerLockElement===i.canvas||document.mozPointerLockElement===i.canvas||document.webkitPointerLockElement===i.canvas||document.msPointerLockElement===i.canvas}if(!Ir){Ir=!0;var t=i.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),i.elementPointerLock&&t.addEventListener("click",e=>{!br&&i.canvas.requestPointerLock&&(i.canvas.requestPointerLock(),e.preventDefault())},!1))}}()),l):null};for(var Fo,Co=0;32>Co;++Co)Qn.push(Array(Co));const Oo="undefined"!=typeof OffscreenCanvas,Mo=!!Oo&&!!new OffscreenCanvas(1,1).getContext("2d"),Ro=!!Oo&&!!new OffscreenCanvas(1,1).getContext("webgl2");xa=Ro;let Lo=!1;if(Ro){Sa=new OffscreenCanvas(1,1);const e=_a=Sa.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),xa=!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),ja=e.getUniformLocation(n,"u_modelView"),console.log("DeepAR: Using Offscreen canvas (webgl2 context) for image pipeline."),Lo=!0}Lo||(Mo?(console.log("DeepAR: Using Offscreen canvas (2D context) for image pipeline."),wa=new OffscreenCanvas(1,1),ya=wa.getContext("2d")):(console.log("DeepAR: Using DOM canvas (2D context) for image pipeline."),(wa=document.createElement("canvas")).style.display="none",ya=wa.getContext("2d",{willReadFrequently:!0,desynchronized:!0})));var Bo={ga:function(){return 0},wb:function(){return 0},xb:function(){},yb:()=>{Ie("")},sb:()=>{},Ta:(e,t,r,n)=>{Ye(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(he[e])},Vi:null})},hh:(e,t,r,n,i,a,o,s,l,c,d,u,f)=>{d=Ne(d),a=Pt(i,a),s&&=Pt(o,s),c&&=Pt(l,c),f=Pt(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);ut(h,function(){kt(`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=lt.prototype;t=ct(d,function(...e){if(Object.getPrototypeOf(this)!==o)throw new De("Use 'new' to construct "+d);if(void 0===u.$i)throw new De(d+" has no accessible constructor");var t=u.$i[e.length];if(void 0===t)throw new De(`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 ft(d,t,o,f,r,a,s,c);return u.Pi&&((l=u.Pi).Aj??(l.Aj=[]),u.Pi.Aj.push(u)),r=new vt(d,u,!0,!1,!1),l=new vt(d+"*",u,!1,!1,!1),i=new vt(d+" const*",u,!1,!0,!1),rt[e]={pointerType:l,ek:i},Et(h,t),[r,l,i]})},$g:(e,t,r,n,i,a)=>{var o=xt(t,r);i=Pt(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 De(`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]=()=>{kt(`Cannot construct ${e.name} due to unbound types`,o)},qe([],o,n=>(n.splice(1,0,null),e.Ji.$i[t-1]=At(r,n,null,i,a),[])),[]})},s:(e,t,r,n,i,a,o,s,l)=>{var c=xt(r,n);t=Ne(t),t=Ft(t),a=Pt(i,a),qe([],[e],e=>{function n(){kt(`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):(dt(d,t,i),d[t].Oi[r-2]=n),qe([],c,n=>(n=At(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=>Ye(e,Bt),Y:(e,t,r)=>{Ye(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:8,readValueFromPointer:Wt(t,r),Vi:null})},B:(e,t,r,n,i,a,o)=>{var s=xt(t,r);e=Ne(e),e=Ft(e),i=Pt(n,i),ut(e,function(){kt(`Cannot call ${e} due to unbound types`,s)},t-1),qe([],s,r=>(Et(e,At(e,[r[0],null].concat(r.slice(1)),null,i,a,o),t-1),[]))},k:(e,t,r,n,i)=>{if(t=Ne(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};Ye(e,{name:t,fromWireType:i,toWireType:o,argPackAdvance:8,readValueFromPointer:Ut(t,r,0!==n),Vi:null})},e:(e,t,r)=>{function n(e){return new i(fe.buffer,be[e+4>>2],be[e>>2])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];Ye(e,{name:r=Ne(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{mk:!0})},L:e=>{Ye(e,Bt)},Ea:(e,t)=>{var r="std::string"===(t=Ne(t));Ye(e,{name:t,fromWireType:function(e){var t=be[e>>2],n=e+4;if(r)for(var i=n,a=0;a<=t;++a){var o=n+a;if(a==t||0==he[o]){if(i=i?Ge(he,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(he[n+a]);s=s.join("")}return Uo(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 De("Cannot pass non-string to std::string");var i=r&&n?Gt(t):t.length,a=Xo(4+i+1),o=a+4;if(be[a>>2]=i,r&&n)$t(t,he,o,i+1);else if(n)for(n=0;n<i;++n){var s=t.charCodeAt(n);if(255<s)throw Uo(o),new De("String has UTF-16 code units that do not fit in 8 bits");he[o+n]=s}else for(n=0;n<i;++n)he[o+n]=t[n];return null!==e&&e.push(Uo,a),a},argPackAdvance:8,readValueFromPointer:bt,Vi(e){Uo(e)}})},R:(e,t,r)=>{if(r=Ne(r),2===t)var n=Nt,i=zt,a=Xt,o=e=>ge[e>>1];else 4===t&&(n=Kt,i=Ht,a=qt,o=e=>be[e>>2]);Ye(e,{name:r,fromWireType:e=>{for(var r,i=be[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 Uo(e),r},toWireType:(e,n)=>{if("string"!=typeof n)throw new De(`Cannot pass non-string to C++ string type ${r}`);var o=a(n),s=Xo(4+o+t);return be[s>>2]=o/t,i(n,s+4,o+t),null!==e&&e.push(Uo,s),s},argPackAdvance:8,readValueFromPointer:bt,Vi(e){Uo(e)}})},cb:(e,t)=>{Ye(e,{pk:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},fg:(e,t,r)=>(e=Rt(e),t=Yt(t,"emval::as"),Jt(t,r,e)),ia:(e,t,r,n)=>(e=Qt[e])(null,t=Rt(t),r,n),Lf:(e,t,r,n,i)=>(e=Qt[e])(t=Rt(t),t[r=er(r)],n,i),mb:Mt,ka:(e,t,r)=>{t=((e,t)=>{for(var r=Array(e),n=0;n<e;++n)r[n]=Yt(be[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(Jt),i+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s.push(i+"};\n"),e=jt(s)(...l),r=`methodCaller<(${t.map(e=>e.name).join(", ")}) => ${n.name}>`,(e=>{var t=Qt.length;return Qt.push(e),t})(ct(r,e))},qg:(e,t)=>(e=Rt(e),t=Rt(t),Lt(e[t])),Af:e=>{9<e&&(Ot[e+1]+=1)},Wf:e=>Lt(er(e)),Bg:e=>{var t=Rt(e);St(t),Mt(e)},p:(e,t)=>(e=(e=Yt(e,"_emval_take_value")).readValueFromPointer(t),Lt(e)),Ia:function(e,t,r,n,i){d.decode({data:he.slice(e,e+t).buffer,preserveVertexOrder:r}).then(e=>{var t=e.data,r=e.vertexCount,a=e.trianglesCount;e=Ko(n,r,a,i);const o=Ho(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),he.set(a,e),he.set(t,o),qo(n,i)})},Fh:(e,t,r,n,i)=>{if(62e3!=e)r=0;else{if(t)for(;;){if(12321==(e=pe[t>>2]))Rr.alpha=0<pe[t+4>>2];else if(12325==e)Rr.depth=0<pe[t+4>>2];else if(12326==e)Rr.stencil=0<pe[t+4>>2];else if(12337==e)e=pe[t+4>>2],Rr.antialias=0<e;else if(12338==e)e=pe[t+4>>2],Rr.antialias=1==e;else if(12544==e)Rr.Fk=12547!=pe[t+4>>2];else if(12344==e)break;t+=8}r&&n||i?(i&&(pe[i>>2]=1),r&&0<n&&(be[r>>2]=62002),r=1):r=0}return r},W:(e,t,r,n)=>{if(62e3!=e)return 0;for(e=1;;){if(12440!=(t=pe[n>>2])){if(12344==t)break;return 0}e=pe[n+4>>2],n+=8}return 2>e||3<e?0:(Rr.xj=e-1,Rr.Hk=0,0!=(Fr=nn(i.canvas,Rr))?(on(Fr),i.vk=!0,vr.forEach(function(e){e()}),on(null),62004):0)},X:(e,t)=>62e3!=e||62002!=t?0:62006,V:(e,t)=>62e3!=e||62004!=t?0:(Or===Xr[e=Fr]&&(Or=null),"object"==typeof JSEvents&&JSEvents.Mk(Xr[e].Wi.canvas),Xr[e]&&Xr[e].Wi.canvas&&(Xr[e].Wi.canvas.Mj=void 0),Xr[e]=null,1),U:(e,t)=>62e3!=e?0:1,Ga:e=>0!=e&&1!=e?0:62e3,Fa:(e,t,r)=>62e3!=e?0:(t&&(pe[t>>2]=1),r&&(pe[r>>2]=4),Mr=!0,1),l:(e,t,r,n)=>62e3!=e||0!=n&&62004!=n||0!=r&&62006!=r||0!=t&&62006!=t?0:(on(n?Fr:null),1),F:(e,t)=>{if(62e3!=e)return 0;if(Lr[t])return Lr[t];switch(t){case 12371:e=cn("Emscripten");break;case 12372:e=cn("1.4 Emscripten EGL");break;case 12373:e=cn("");break;case 12429:e=cn("OpenGL_ES");break;default:return 0}return Lr[t]=e},T:()=>Mr&&i.Yi&&!i.Yi.isContextLost()?1:0,Da:(e,t)=>62e3!=e?0:(0==t?rr(0,0):rr(1,t),1),Eh:e=>62e3!=e?0:(Mr=!1,1),c:(e,t,r)=>(t=un(t,r),Re[e](...t)),G:(e,t,r)=>(t=un(t,r),Re[e](...t)),ja:e=>{throw ue=e,0<(tr=0)||(Jo(),Ue(ke),ba(),_e=!0),ue=e,0<tr||(ye=!0),new Le(e)},H:It,Ag:fn,zg:hn,ud:(e,t)=>{Fo.beginQuery(e,Kr[t])},Rg:(e,t)=>{Fo.Ri.beginQueryEXT(e,Kr[t])},$c:e=>Fo.beginTransformFeedback(e),yg:(e,t,r)=>{Fo.bindAttribLocation(Ur[e],t,r?Ge(he,r):"")},xg:mn,Yc:(e,t,r)=>{Fo.bindBufferBase(e,t,Wr[r])},Zc:(e,t,r,n,i)=>{Fo.bindBufferRange(e,t,Wr[r],n,i)},wg:gn,vg:pn,bc:(e,t)=>{Fo.bindSampler(e,Hr[t])},ug:bn,Ub:(e,t)=>{Fo.bindTransformFeedback(e,qr[t])},ed:vn,Jg:vn,tg:wn,sg:e=>Fo.blendEquation(e),rg:yn,pg:(e,t)=>Fo.blendFunc(e,t),og:En,id:(e,t,r,n,i,a,o,s,l,c)=>Fo.blitFramebuffer(e,t,r,n,i,a,o,s,l,c),ng:Pn,mg:Tn,lg:kn,kg:xn,zc:(e,t,r,n)=>Fo.clearBufferfi(e,t,r,n),Ac:(e,t,r)=>{Fo.clearBufferfv(e,t,ve,r>>2)},Cc:(e,t,r)=>{Fo.clearBufferiv(e,t,pe,r>>2)},Bc:(e,t,r)=>{Fo.clearBufferuiv(e,t,be,r>>2)},jg:Sn,ig:_n,hg:jn,lc:(e,t,r,n)=>Fo.clientWaitSync(Yr[e],t,(r>>>0)+4294967296*n),gg:An,eg:In,dg:Fn,zd:(e,t,r,n,i,a,o,s,l)=>{Fo.Ui?Fo.compressedTexImage3D(e,t,r,n,i,a,o,s,l):Fo.compressedTexImage3D(e,t,r,n,i,a,o,he,l,s)},cg:Cn,yd:(e,t,r,n,i,a,o,s,l,c,d)=>{Fo.Ui?Fo.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,c,d):Fo.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,he,d,c)},xc:(e,t,r,n,i)=>Fo.copyBufferSubData(e,t,r,n,i),bg:(e,t,r,n,i,a,o,s)=>Fo.copyTexImage2D(e,t,r,n,i,a,o,s),ag:On,Ad:(e,t,r,n,i,a,o,s,l)=>Fo.copyTexSubImage3D(e,t,r,n,i,a,o,s,l),$f:Mn,_f:Rn,Zf:Ln,Yf:Bn,Xf:Dn,Vf:Wn,wd:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Kr[n];i&&(Fo.deleteQuery(i),Kr[n]=null)}},Tg:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Kr[n];i&&(Fo.Ri.deleteQueryEXT(i),Kr[n]=null)}},Uf:Un,dc:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Hr[n];i&&(Fo.deleteSampler(i),i.name=0,Hr[n]=null)}},Tf:$n,mc:Gn,Sf:Vn,Tb:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=qr[n];i&&(Fo.deleteTransformFeedback(i),i.name=0,qr[n]=null)}},dd:Nn,Ig:Nn,Rf:zn,Qf:Xn,Pf:(e,t)=>Fo.depthRange(e,t),Of:Kn,Nf:Hn,Mf:qn,Kf:Yn,qc:Jn,Eg:Jn,Cb:Jn,Id:Jn,Db:Jn,pd:Zn,Gd:Zn,Fg:Zn,Jf:ei,pc:ti,Dg:ti,zb:ti,Ab:ti,Hd:ti,Ed:(e,t,r,n,i,a)=>{Fo.drawElements(e,n,i,a)},If:ri,Hf:ni,td:e=>Fo.endQuery(e),Qg:e=>{Fo.Ri.endQueryEXT(e)},_c:()=>Fo.endTransformFeedback(),oc:(e,t)=>(e=Fo.fenceSync(e,t))?(t=tn(Yr),e.name=t,Yr[t]=e,t):0,Gf:()=>Fo.finish(),Ff:ii,Ef:ai,Df:oi,gd:(e,t,r,n,i)=>{Fo.framebufferTextureLayer(e,t,Vr[r],n,i)},Cf:e=>Fo.frontFace(e),Bf:si,yf:li,xd:(e,t)=>{rn(e,t,"createQuery",Kr)},Ug:(e,t)=>{for(var r=0;r<e;r++){var n=Fo.Ri.createQueryEXT();if(!n){for(Cr||=1282;r<e;)pe[t+4*r++>>2]=0;break}var i=tn(Kr);n.name=i,Kr[i]=n,pe[t+4*r>>2]=i}},xf:ci,ec:(e,t)=>{rn(e,t,"createSampler",Hr)},wf:di,Sb:(e,t)=>{rn(e,t,"createTransformFeedback",qr)},cd:ui,Hg:ui,zf:fi,vf:mi,uf:gi,sc:(e,t,r,n,i)=>{e=Ur[e],(e=Fo.getActiveUniformBlockName(e,t))&&(i&&0<r?(r=$t(e,he,i,r),n&&(pe[n>>2]=r)):n&&(pe[n>>2]=0))},tc:(e,t,r,n)=>{if(n){if(e=Ur[e],35393==r)pe[n>>2]=Fo.getActiveUniformBlockName(e,t).length+1;else if(null!==(e=Fo.getActiveUniformBlockParameter(e,t,r)))if(35395==r)for(r=0;r<e.length;r++)pe[n+4*r>>2]=e[r];else pe[n>>2]=e}else Cr||=1281},vc:(e,t,r,n,i)=>{if(i)if(0<t&&0==r)Cr||=1281;else{e=Ur[e];for(var a=[],o=0;o<t;o++)a.push(pe[r+4*o>>2]);if(e=Fo.getActiveUniforms(e,a,n))for(t=e.length,o=0;o<t;o++)pe[i+4*o>>2]=e[o]}else Cr||=1281},tf:(e,t,r,n)=>{var i=(e=Fo.getAttachedShaders(Ur[e])).length;for(i>t&&(i=t),pe[r>>2]=i,t=0;t<i;++t)pe[n+4*t>>2]=Nr.indexOf(e[t])},sf:pi,rf:(e,t)=>wi(e,t,4),fc:(e,t,r)=>{r?bi(r,Fo.getBufferParameter(e,t)):Cr||=1281},qf:(e,t,r)=>{r?pe[r>>2]=Fo.getBufferParameter(e,t):Cr||=1281},of:yi,nf:Ei,Mc:(e,t)=>Fo.getFragDataLocation(Ur[e],t?Ge(he,t):""),mf:(e,t,r,n)=>{((e=Fo.getFramebufferAttachmentParameter(e,t,r))instanceof WebGLRenderbuffer||e instanceof WebGLTexture)&&(e=0|e.name),pe[n>>2]=e},hc:(e,t,r)=>Pi(e,t,r,1),jc:(e,t)=>{wi(e,t,1)},ad:(e,t,r)=>Pi(e,t,r,0),lf:Ti,Gb:(e,t,r,n,i)=>{if(0>n)Cr||=1281;else if(i){if(null!==(e=Fo.getInternalformatParameter(e,t,r)))for(t=0;t<e.length&&t<n;++t)pe[i+4*t>>2]=e[t]}else Cr||=1281},Ob:()=>{Cr||=1282},jf:ki,kf:xi,Lg:Si,Ng:_i,Kg:Si,rd:(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Fo.getQueryParameter(Kr[e],t))?e?1:0:e,pe[r>>2]=n):Cr||=1281},Mg:_i,sd:(e,t,r)=>{r?pe[r>>2]=Fo.getQuery(e,t):Cr||=1281},Og:(e,t,r)=>{r?pe[r>>2]=Fo.Ri.getQueryEXT(e,t):Cr||=1281},hf:(e,t,r)=>{r?pe[r>>2]=Fo.getRenderbufferParameter(e,t):Cr||=1281},Wb:(e,t,r)=>{r?ve[r>>2]=Fo.getSamplerParameter(Hr[e],t):Cr||=1281},Yb:(e,t,r)=>{r?pe[r>>2]=Fo.getSamplerParameter(Hr[e],t):Cr||=1281},ff:ji,ef:(e,t,r,n)=>{e=Fo.getShaderPrecisionFormat(e,t),pe[r>>2]=e.rangeMin,pe[r+4>>2]=e.rangeMax,pe[n>>2]=e.precision},df:(e,t,r,n)=>{(e=Fo.getShaderSource(Nr[e]))&&(t=0<t&&n?$t(e,he,n,t):0,r&&(pe[r>>2]=t))},gf:Ai,cf:Ii,yc:(e,t)=>{if(2>Or.version)return Cr||=1282,0;var r=Qr[e];return r?0>t||t>=r.length?(Cr||=1281,0):r[t]:7939===e?(r=vi().map(cn),r=Qr[e]=r,0>t||t>=r.length?(Cr||=1281,0):r[t]):(Cr||=1280,0)},ic:(e,t,r,n,i)=>{0>r?Cr||=1281:i?null!==(e=Fo.getSyncParameter(Yr[e],t))&&(pe[i>>2]=e,n&&(pe[n>>2]=1)):Cr||=1281},bf:(e,t,r)=>{r?ve[r>>2]=Fo.getTexParameter(e,t):Cr||=1281},af:(e,t,r)=>{r?pe[r>>2]=Fo.getTexParameter(e,t):Cr||=1281},Vc:(e,t,r,n,i,a,o)=>{e=Ur[e],(e=Fo.getTransformFeedbackVarying(e,t))&&(o&&0<r?(r=$t(e.name,he,o,r),n&&(pe[n>>2]=r)):n&&(pe[n>>2]=0),i&&(pe[i>>2]=e.size),a&&(pe[a>>2]=e.type))},uc:(e,t)=>Fo.getUniformBlockIndex(Ur[e],t?Ge(he,t):""),wc:(e,t,r,n)=>{if(n)if(0<t&&(0==r||0==n))Cr||=1281;else{e=Ur[e];for(var i=[],a=0;a<t;a++)i.push(Ve(pe[r+4*a>>2]));if(e=Fo.getUniformIndices(e,i))for(t=e.length,a=0;a<t;a++)pe[n+4*a>>2]=e[a]}else Cr||=1281},Ze:Oi,$e:(e,t,r)=>{Ri(e,t,r,2)},_e:(e,t,r)=>{Ri(e,t,r,0)},Nc:(e,t,r)=>Ri(e,t,r,0),Tc:Bi,Sc:Bi,We:(e,t,r)=>{r?pe[r>>2]=Fo.getVertexAttribOffset(e,t):Cr||=1281},Ye:(e,t,r)=>{Li(e,t,r,2)},Xe:(e,t,r)=>{Li(e,t,r,5)},Ve:(e,t)=>Fo.hint(e,t),Kb:(e,t,r)=>{for(var n=Qn[t],i=0;i<t;i++)n[i]=pe[r+4*i>>2];Fo.invalidateFramebuffer(e,n)},Jb:(e,t,r,n,i,a,o)=>{for(var s=Qn[t],l=0;l<t;l++)s[l]=pe[r+4*l>>2];Fo.invalidateSubFramebuffer(e,s,n,i,a,o)},Ue:e=>(e=Wr[e])?Fo.isBuffer(e):0,Te:e=>Fo.isEnabled(e),Se:e=>(e=$r[e])?Fo.isFramebuffer(e):0,Re:e=>(e=Ur[e])?Fo.isProgram(e):0,vd:e=>(e=Kr[e])?Fo.isQuery(e):0,Sg:e=>(e=Kr[e])?Fo.Ri.isQueryEXT(e):0,Qe:e=>(e=Gr[e])?Fo.isRenderbuffer(e):0,cc:e=>(e=Hr[e])?Fo.isSampler(e):0,Pe:e=>(e=Nr[e])?Fo.isShader(e):0,nc:Di,Oe:e=>(e=Vr[e])?Fo.isTexture(e):0,Rb:e=>Fo.isTransformFeedback(qr[e]),bd:Wi,Gg:Wi,Ne:e=>Fo.lineWidth(e),Me:Ui,Qb:()=>Fo.pauseTransformFeedback(),Le:$i,Ke:(e,t)=>Fo.polygonOffset(e,t),Nb:()=>{Cr||=1280},Lb:()=>{Cr||=1280},Pg:(e,t)=>{Fo.Ri.queryCounterEXT(Kr[e],t)},Fd:e=>Fo.readBuffer(e),Je:Ni,Ie:()=>{},He:zi,hd:(e,t,r,n,i)=>Fo.renderbufferStorageMultisample(e,t,r,n,i),Pb:()=>Fo.resumeTransformFeedback(),Ge:(e,t)=>{Fo.sampleCoverage(e,!!t)},_b:(e,t,r)=>{Fo.samplerParameterf(Hr[e],t,r)},Zb:(e,t,r)=>{Fo.samplerParameterf(Hr[e],t,ve[r>>2])},ac:(e,t,r)=>{Fo.samplerParameteri(Hr[e],t,r)},$b:(e,t,r)=>{Fo.samplerParameteri(Hr[e],t,pe[r>>2])},Fe:Xi,Ee:()=>{Cr||=1280},De:Ki,Ce:(e,t,r)=>Fo.stencilFunc(e,t,r),Be:Hi,Ae:e=>Fo.stencilMask(e),ze:(e,t)=>Fo.stencilMaskSeparate(e,t),ye:(e,t,r)=>Fo.stencilOp(e,t,r),xe:qi,we:Yi,Dd:(e,t,r,n,i,a,o,s,l,c)=>{if(Fo.Ui)Fo.texImage3D(e,t,r,n,i,a,o,s,l,c);else if(c){var d=Gi(l);Fo.texImage3D(e,t,r,n,i,a,o,s,l,d,c>>>31-Math.clz32(d.BYTES_PER_ELEMENT))}else Fo.texImage3D(e,t,r,n,i,a,o,s,l,null)},ve:Ji,ue:Qi,te:Zi,se:(e,t,r)=>{Fo.texParameteri(e,t,pe[r>>2])},Ib:(e,t,r,n,i)=>Fo.texStorage2D(e,t,r,n,i),Hb:(e,t,r,n,i,a)=>Fo.texStorage3D(e,t,r,n,i,a),qe:ea,Cd:(e,t,r,n,i,a,o,s,l,c,d)=>{if(Fo.Ui)Fo.texSubImage3D(e,t,r,n,i,a,o,s,l,c,d);else if(d){var u=Gi(c);Fo.texSubImage3D(e,t,r,n,i,a,o,s,l,c,u,d>>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else Fo.texSubImage3D(e,t,r,n,i,a,o,s,l,c,null)},Xc:(e,t,r,n)=>{e=Ur[e];for(var i=[],a=0;a<t;a++)i.push(Ve(pe[r+4*a>>2]));Fo.transformFeedbackVaryings(e,i,n)},pe:(e,t)=>{Fo.uniform1f(Mi(e),t)},oe:(e,t,r)=>{t&&Fo.uniform1fv(Mi(e),ve,r>>2,t)},ne:ta,me:ra,Kc:(e,t)=>{Fo.uniform1ui(Mi(e),t)},Gc:(e,t,r)=>{t&&Fo.uniform1uiv(Mi(e),be,r>>2,t)},le:(e,t,r)=>{Fo.uniform2f(Mi(e),t,r)},ke:(e,t,r)=>{t&&Fo.uniform2fv(Mi(e),ve,r>>2,2*t)},je:(e,t,r)=>{Fo.uniform2i(Mi(e),t,r)},ie:(e,t,r)=>{t&&Fo.uniform2iv(Mi(e),pe,r>>2,2*t)},Jc:(e,t,r)=>{Fo.uniform2ui(Mi(e),t,r)},Fc:(e,t,r)=>{t&&Fo.uniform2uiv(Mi(e),be,r>>2,2*t)},he:(e,t,r,n)=>{Fo.uniform3f(Mi(e),t,r,n)},fe:(e,t,r)=>{t&&Fo.uniform3fv(Mi(e),ve,r>>2,3*t)},ee:(e,t,r,n)=>{Fo.uniform3i(Mi(e),t,r,n)},de:(e,t,r)=>{t&&Fo.uniform3iv(Mi(e),pe,r>>2,3*t)},Ic:(e,t,r,n)=>{Fo.uniform3ui(Mi(e),t,r,n)},Ec:(e,t,r)=>{t&&Fo.uniform3uiv(Mi(e),be,r>>2,3*t)},ce:(e,t,r,n,i)=>{Fo.uniform4f(Mi(e),t,r,n,i)},be:na,ae:(e,t,r,n,i)=>{Fo.uniform4i(Mi(e),t,r,n,i)},$d:(e,t,r)=>{t&&Fo.uniform4iv(Mi(e),pe,r>>2,4*t)},Hc:(e,t,r,n,i)=>{Fo.uniform4ui(Mi(e),t,r,n,i)},Dc:(e,t,r)=>{t&&Fo.uniform4uiv(Mi(e),be,r>>2,4*t)},rc:(e,t,r)=>{e=Ur[e],Fo.uniformBlockBinding(e,t,r)},_d:(e,t,r,n)=>{t&&Fo.uniformMatrix2fv(Mi(e),!!r,ve,n>>2,4*t)},od:(e,t,r,n)=>{t&&Fo.uniformMatrix2x3fv(Mi(e),!!r,ve,n>>2,6*t)},md:(e,t,r,n)=>{t&&Fo.uniformMatrix2x4fv(Mi(e),!!r,ve,n>>2,8*t)},Zd:ia,nd:(e,t,r,n)=>{t&&Fo.uniformMatrix3x2fv(Mi(e),!!r,ve,n>>2,6*t)},kd:(e,t,r,n)=>{t&&Fo.uniformMatrix3x4fv(Mi(e),!!r,ve,n>>2,12*t)},Yd:aa,ld:(e,t,r,n)=>{t&&Fo.uniformMatrix4x2fv(Mi(e),!!r,ve,n>>2,8*t)},jd:(e,t,r,n)=>{t&&Fo.uniformMatrix4x3fv(Mi(e),!!r,ve,n>>2,12*t)},Wd:oa,Vd:e=>{Fo.validateProgram(Ur[e])},Ud:(e,t)=>Fo.vertexAttrib1f(e,t),Td:(e,t)=>{Fo.vertexAttrib1f(e,ve[t>>2])},Sd:(e,t,r)=>Fo.vertexAttrib2f(e,t,r),Rd:(e,t)=>{Fo.vertexAttrib2f(e,ve[t>>2],ve[t+4>>2])},Qd:(e,t,r,n)=>Fo.vertexAttrib3f(e,t,r,n),Pd:(e,t)=>{Fo.vertexAttrib3f(e,ve[t>>2],ve[t+4>>2],ve[t+8>>2])},Od:(e,t,r,n,i)=>Fo.vertexAttrib4f(e,t,r,n,i),Nd:(e,t)=>{Fo.vertexAttrib4f(e,ve[t>>2],ve[t+4>>2],ve[t+8>>2],ve[t+12>>2])},Vb:sa,Cg:sa,Eb:sa,Jd:sa,Fb:sa,Rc:(e,t,r,n,i)=>Fo.vertexAttribI4i(e,t,r,n,i),Pc:(e,t)=>{Fo.vertexAttribI4i(e,pe[t>>2],pe[t+4>>2],pe[t+8>>2],pe[t+12>>2])},Qc:(e,t,r,n,i)=>Fo.vertexAttribI4ui(e,t,r,n,i),Oc:(e,t)=>{Fo.vertexAttribI4ui(e,be[t>>2],be[t+4>>2],be[t+8>>2],be[t+12>>2])},Uc:(e,t,r,n,i)=>{Fo.vertexAttribIPointer(e,t,r,n,i)},Ld:la,Kd:ca,kc:da,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=we[a>>3],a+=8):"i64"==e?(e=[pe[a>>2],pe[a+4>>2]],a+=8):(e=pe[a>>2],a+=4),e}for(var n,i,a=t,o=[];;){var s=e;if(0===(n=fe[e]))break;if(i=fe[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=fe[e+1]}var f=0;if(42==i)f=r("i32"),e++,i=fe[e+1];else for(;48<=i&&57>=i;)f=10*f+(i-48),e++,i=fe[e+1];var h=!1,m=-1;if(46==i){if(m=0,h=!0,e++,42==(i=fe[e+1]))m=r("i32"),e++;else for(;!(48>(i=fe[e+1])||57<i);)m=10*m+(i-48),e++;i=fe[e+1]}switch(0>m&&(m=6,h=!1),String.fromCharCode(i)){case"h":if(104==(i=fe[e+2])){e++;var g=1}else g=2;break;case"l":108==(i=fe[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=fe[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?ua:fa)(n&Math.pow(256,g)-1,8*g));var p=Math.abs(n);if(s="",100==i||105==i)var b=ua(n,8*g).toString(10);else if(117==i)b=fa(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*"))?ha(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(he[l++]);else o=o.concat(ma("(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*"),pe[t>>2]=o.length;break;case"%":o.push(n);break;default:for(c=s;c<e+2;c++)o.push(fe[c])}e+=2}else o.push(n),e+=1}return o})(t,r),r=Ge(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&&(sr(),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?ce(r):le(r)},ub:e=>{var t=he.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)-de.buffer.byteLength+65535)/65536;try{de.grow(i),Ee();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},Dh:(e,t)=>{_r(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=be[t>>2],s=be[t+4>>2];t+=8;for(var l=0;l<s;l++)pa(e,he[o+l]);i+=s}return be[n>>2]=i,0},ge:va,O:fn,Ca:hn,f:mn,a:gn,m:pn,d:bn,dh:wn,eh:yn,fh:En,la:Pn,oa:Tn,A:kn,_g:xn,na:Sn,bh:_n,ah:jn,y:An,kh:In,Ch:Fn,qh:Cn,gh:On,zh:Mn,mh:Rn,pa:Ln,va:Bn,z:Dn,Ba:Wn,P:Un,ta:$n,nh:Gn,r:Vn,u:zn,K:Xn,Aa:Kn,b:Hn,wa:qn,Zg:Yn,Vg:ei,g:ri,ya:ni,ch:ii,N:ai,v:oi,ma:si,w:li,Q:ci,q:di,D:fi,th:mi,wh:gi,za:pi,h:yi,Ah:Ei,o:Ti,xh:ki,n:xi,ih:ji,jh:Ai,S:Ii,vh:Oi,oh:Di,yh:Ui,C:$i,J:Ni,ua:zi,M:Xi,lh:Ki,ra:Hi,qa:qi,Bh:Yi,rh:Ji,sh:Qi,i:Zi,ph:ea,Wg:ta,Yg:ra,t:na,Xg:ia,j:aa,E:oa,xa:la,sa:ca,rb:da,Z:async function(e,t,r,n){const[i,a,o]=await La(he.subarray(e,e+t));Yo(i,r,a,o,n)},_:function(e,t,r,n){e=createImageBitmap(new Blob([he.subarray(e,e+t)]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then(e=>[n,e]),r in Oa||(Oa[r]=[]),Oa[r].push(e)},Ja:async function(e,t){const r=await Promise.all(Oa[e]),n=Or.Wi;var i=n.createTexture();const a=tn(Vr);i.name=a,Vr[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 Oa[e],Yo(a,e,i,o,t)},Xd:function(){const e=Or.Wi,t=e.createTexture(),r=tn(Vr);t.name=r,Vr[r]=t;const n=i.split_sum;return e.bindTexture(e.TEXTURE_2D,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n),Ma=n.width,Ra=n.height,n.close(),r},pf:function(){wa&&(wa.width=0,wa.height=0,wa.remove()),Sa&&(Sa.width=0,Sa.height=0),Pa=_a=ya=Sa=wa=null},ha:function(e){i.Ki[e]=null},ca:function(e){var t=(e=i.Ki[e]).canvas;const r=e.Yi,n=t.width;if(t=t.height,e.mj||Ta!==n||ka!==t)if(xa){if(!Ca){var a=new Uint8ClampedArray(4*n*t);return r.readPixels(0,0,n,t,r.RGBA,r.UNSIGNED_BYTE,a),Pa=new ImageData(a,n,t),Ta=n,ka=t,e.mj=!1,$(Pa)}if(null==Ia)return r.bindBuffer(r.PIXEL_PACK_BUFFER,Aa),r.readPixels(0,0,n,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ia=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush(),0;switch(r.clientWaitSync(Ia,0,0)){case r.TIMEOUT_EXPIRED:case r.WAIT_FAILED:return Pa?$(Pa):0}a=new Uint8ClampedArray(4*n*t),r.bindBuffer(r.PIXEL_PACK_BUFFER,Aa),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,a),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),r.deleteSync(Ia),Pa=new ImageData(a,n,t),Ta=n,ka=t,e.mj=!1,r.bindBuffer(r.PIXEL_PACK_BUFFER,Aa),r.readPixels(0,0,n,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ia=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush()}else Pa=r.getImageData(0,0,n,t),Ta=n,ka=t,e.mj=!1;return $(Pa)},aa:function(e){return(e=i.Ki[e])?e.height:0},ba:function(e){return(e=i.Ki[e])?e.width:0},$:function(e,t){if(!(e=i.Ki[e]))throw Error("Image data does not exist.");he.set(e.data,t)},Bd:function(){return Ra},Md:function(){return Ma},Wc:function(){return Ea||=$({canvas:xa?Sa:wa,Yi:xa?_a:ya,mj:!0}),Ea},fd:function(e){return i.Ki[e].videoHeight},qd:function(e){return i.Ki[e].videoWidth},re:function(e,t){if(({canvas:e}=i.Ki[e]),t=Vr[t],!Or||!t)return-1;Fo.bindTexture(Fo.TEXTURE_2D,t),Fo.texImage2D(Fo.TEXTURE_2D,0,Fo.RGBA,Fo.RGBA,Fo.UNSIGNED_BYTE,e)},Lc:function(e,t,r){const n=(e=i.Ki[e]).canvas,a=e.Yi,o=i.Ki[t];t=o.videoWidth;let s=o.videoHeight;90!==r&&270!==r||([t,s]=[s,t]),xa?((null==Fa||null==Aa&&Ca||Sa.width!==t||Sa.height!==s)&&(n.width=t,n.height=s,a.deleteSync(Ia),Ia=null,null!=Fa&&a.deleteTexture(Fa),null!=Aa&&a.deleteBuffer(Aa),Aa=a.createBuffer(),a.bindBuffer(a.PIXEL_PACK_BUFFER,Aa),a.bufferData(a.PIXEL_PACK_BUFFER,4*t*s,a.STREAM_READ),a.bindBuffer(a.PIXEL_PACK_BUFFER,null),Fa=a.createTexture(),a.bindTexture(a.TEXTURE_2D,Fa),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,Fa),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(ja,!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)):(n.width===t&&n.height===s||(n.width=t,n.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){ve.set(Xa,e>>2)},jb:function(e){ve.set(za,e>>2)},tb:function(){return $a},Bb:function(){return Ua},Mb:function(){return Wa},Xb:Ka,lb:function(){return Na},I:function(){return Da},gc:function(){return Ba},pb:function(){Ba||(null!=Ga&&(Ga.isInitialized()&&Ga.release(),Ga=null),Va=null,Ua=Wa=0,Da=!1,console.log("DeepAR FaceTracking released."))},ob:function(e){if(!(e=i.Ki[e]))throw Error("No image data.");Ha(e)},nb:function(e,t,r){Ha(e=new ImageData(new Uint8ClampedArray(he.subarray(e,e+t*r*4)),t,r))},gb:function(){return eo},hb:function(){return Za},_a:function(e){ve.set(no,e>>2)},Za:function(e){ve.set(io,e>>2)},Xa:function(e){ve.set(oo,e>>2)},Wa:function(e){ve.set(so,e>>2)},ib:function(){return Qa},db:co,x:function(){return Ja},fb:function(){return Ya},$a:function(){return ao},Ya:function(){return lo},eb:function(){Ya||(null!=to&&(to.isInitialized()&&to.release(),to=null),Za=Qa=0,ro=null,Ja=!1,console.log("DeepAR FootTracking released."))},bb:function(e){if(!(e=i.Ki[e]))throw Error("No image data.");uo(e)},ab:function(e,t,r){uo(e=new ImageData(new Uint8ClampedArray(he.subarray(e,e+t*r*4)),t,r))},Ma:function(){return vo},Na:function(){return bo},Oa:function(){return po},Pa:function(e){ve.set(Po,e>>2)},Ra:function(e){ve.set(To,e>>2)},Ka:So,da:function(){return go},Qa:function(){return wo.isMirrored()},Sa:function(){return Eo},La:function(){mo||(null!=wo&&(wo.isInitialized()&&wo.release(),wo=null),bo=po=0,yo=null,go=!1,console.log("DeepAR WristTracking released."))},Va:function(e){if(!(e=i.Ki[e]))throw Error("No image data.");_o(e)},Ua:function(e,t,r){_o(e=new ImageData(new Uint8ClampedArray(he.subarray(e,e+t*r*4)),t,r))}},Do=function(){var e={a:Bo};return je++,Fe||=Ce("deepar.wasm")?"deepar.wasm":i.locateFile?i.locateFile("deepar.wasm",oe):oe+"deepar.wasm",function(e,t){var r=Fe;return se||"function"!=typeof WebAssembly.instantiateStreaming||Ce(r)||"function"!=typeof fetch?Me(r,e,t):fetch(r,{credentials:"same-origin"}).then(n=>WebAssembly.instantiateStreaming(n,e).then(t,function(n){return ce(`wasm streaming compile failed: ${n}`),ce("falling back to ArrayBuffer instantiation"),Me(r,e,t)}))}(e,function(e){Do=e.instance.exports,de=Do.Gh,Ee(),wt=Do.Kh,Te.unshift(Do.Hh),0==--je&&Ae&&(e=Ae,Ae=null,e())}).catch(n),{}}(),Wo=e=>(Wo=Do.Ih)(e),Uo=i._free=e=>(Uo=i._free=Do.Jh)(e),$o=i._shutdownEngine=()=>($o=i._shutdownEngine=Do.Lh)();i._processFrameVideo=(e,t,r)=>(i._processFrameVideo=Do.Mh)(e,t,r),i._processFrameRawPixels=(e,t,r,n)=>(i._processFrameRawPixels=Do.Nh)(e,t,r,n),i._switchEffect=(e,t,r,n,a,o,s,l)=>(i._switchEffect=Do.Oh)(e,t,r,n,a,o,s,l),i._clearEffect=e=>(i._clearEffect=Do.Ph)(e),i._showStats=e=>(i._showStats=Do.Qh)(e),i._setStats=e=>(i._setStats=Do.Rh)(e),i.__Z8getStatsv=e=>(i.__Z8getStatsv=Do.Sh)(e),i._render=()=>(i._render=Do.Th)(),i._changeParameterFloat=(e,t,r,n)=>(i._changeParameterFloat=Do.Uh)(e,t,r,n),i._changeParameterBool=(e,t,r,n)=>(i._changeParameterBool=Do.Vh)(e,t,r,n),i._changeParameterVector=(e,t,r,n,a,o,s)=>(i._changeParameterVector=Do.Wh)(e,t,r,n,a,o,s),i._changeParameterTexture=(e,t,r,n,a,o,s)=>(i._changeParameterTexture=Do.Xh)(e,t,r,n,a,o,s);var Go=i._reset=(e,t)=>(Go=i._reset=Do.Yh)(e,t);i._moveGameObject=(e,t)=>(i._moveGameObject=Do.Zh)(e,t),i._setCameraFov=(e,t)=>(i._setCameraFov=Do._h)(e,t),i._getClosestPointOnMesh=(e,t,r,n)=>(i._getClosestPointOnMesh=Do.$h)(e,t,r,n),i._getTransformationBetween=(e,t)=>(i._getTransformationBetween=Do.ai)(e,t),i._setEnvironmentMap=(e,t)=>(i._setEnvironmentMap=Do.bi)(e,t);var Vo=i._setEnvironmentMapNative=(e,t,r)=>(Vo=i._setEnvironmentMapNative=Do.ci)(e,t,r);i._setEnvironmentMapIntensity=e=>(i._setEnvironmentMapIntensity=Do.di)(e),i._setExposure=e=>(i._setExposure=Do.ei)(e),i._setToneMapping=e=>(i._setToneMapping=Do.fi)(e),i._resetEnvironmentMap=()=>(i._resetEnvironmentMap=Do.gi)(),i._resetToneMapping=()=>(i._resetToneMapping=Do.hi)(),i._resetExposure=()=>(i._resetExposure=Do.ii)(),i._resetEnvironmentMapIntensity=()=>(i._resetEnvironmentMapIntensity=Do.ji)(),i._setBloomEnabled=e=>(i._setBloomEnabled=Do.ki)(e),i._setBloomThreshold=e=>(i._setBloomThreshold=Do.li)(e),i._setBloomStrength=e=>(i._setBloomStrength=Do.mi)(e),i._setBloomRadius=e=>(i._setBloomRadius=Do.ni)(e),i._setDiamondEnvironmentMap=(e,t)=>(i._setDiamondEnvironmentMap=Do.oi)(e,t);var No,zo=i._setDiamondEnvironmentMapNative=(e,t,r)=>(zo=i._setDiamondEnvironmentMapNative=Do.pi)(e,t,r),Xo=i._malloc=e=>(Xo=i._malloc=Do.qi)(e),Ko=i._allocateMeshData=(e,t,r,n)=>(Ko=i._allocateMeshData=Do.ri)(e,t,r,n),Ho=i._getTrianglesDataPtr=(e,t)=>(Ho=i._getTrianglesDataPtr=Do.si)(e,t),qo=i._onDracoMeshDecoded=(e,t)=>(qo=i._onDracoMeshDecoded=Do.ti)(e,t),Yo=i._onCreateImageBitmap=(e,t,r,n,a)=>(Yo=i._onCreateImageBitmap=Do.ui)(e,t,r,n,a),Jo=()=>(Jo=Do.vi)(),Qo=e=>(Qo=Do.wi)(e),Zo=()=>(Zo=Do.xi)(),es=e=>(es=Do.yi)(e),ts=e=>(ts=Do.zi)(e),rs=()=>(rs=Do.Ai)();function ns(){0<je||(Ue(Pe),0<je||No||(No=!0,i.calledRun=!0,ye||(Se=!0,Ue(Te),t(i),i.onRuntimeInitialized?.(),Ue(xe))))}return i.dynCall_viiiij=(e,t,r,n,a,o,s)=>(i.dynCall_viiiij=Do.Bi)(e,t,r,n,a,o,s),i.dynCall_viiij=(e,t,r,n,a,o)=>(i.dynCall_viiij=Do.Ci)(e,t,r,n,a,o),i.dynCall_iij=(e,t,r,n)=>(i.dynCall_iij=Do.Di)(e,t,r,n),i.dynCall_iijii=(e,t,r,n,a,o)=>(i.dynCall_iijii=Do.Ei)(e,t,r,n,a,o),i.dynCall_vijii=(e,t,r,n,a,o)=>(i.dynCall_vijii=Do.Fi)(e,t,r,n,a,o),i.dynCall_jiji=(e,t,r,n,a)=>(i.dynCall_jiji=Do.Gi)(e,t,r,n,a),i.dynCall_viij=(e,t,r,n,a)=>(i.dynCall_viij=Do.Hi)(e,t,r,n,a),i.cwrap=jo,Ae=function e(){No||ns(),No||(Ae=e)},ns(),a});const o=a;var s=n(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(t,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?t(e.value):(n=e.value,n instanceof r?n:new r(function(e){e(n)})).then(a,o)}s((n=n.apply(e,[])).next())})};const y=[],E={};const P=function(e){const t=`__deeparDynamicJsModule_${e}__`;let r;return e=>(n=null)=>w(this,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,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,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]})}("xzimg");var T=function(e,t,r,n){return new(r||(r=Promise))(function(t,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?t(e.value):(n=e.value,n instanceof r?n:new r(function(e){e(n)})).then(a,o)}s((n=n.apply(e,[])).next())})};function k(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}let x,S,_=0;class j{constructor(e){this.isReady=!1,this.currentWorkloadEstimate=0,this.readyPromise=new Promise((e,t)=>T(this,0,void 0,function*(){try{this.worker=new Worker(yield x);const t=r=>{"ready"===r.data.type&&(this.isReady=!0,this.worker.removeEventListener("message",t),e())};this.worker.addEventListener("message",t);const r=yield S;this.worker.postMessage({type:"init",wasmBuffer:r},[r.slice(0)])}catch(e){t(e)}}))}waitForReady(){return T(this,0,void 0,function*(){if(!this.isReady)return this.readyPromise})}decode(e){return T(this,0,void 0,function*(){this.isReady||(yield this.waitForReady());const t=_++,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=k(i,0),s=k(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 A{constructor(e,t){this.decoders=[],this.maxDecoders=navigator.hardwareConcurrency||1,this.maxDecoders>4&&(this.maxDecoders=4),x=t.downloadFile(e.js,"text").then(e=>new Blob([e],{type:"text/javascript"})).then(e=>URL.createObjectURL(e)),S=t.downloadFile(e.wasm);for(let t=0;t<this.maxDecoders;t++)this.decoders.push(new j(e));Promise.all(this.decoders.map(e=>e.waitForReady())).then(()=>{x.then(e=>{URL.revokeObjectURL(e),x=null}),S.then(e=>{S=null})}).catch(()=>{x=null,S=null})}decode(e){return T(this,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()),x=null,S=null}}const I={"text/javascript":5e4,"application/wasm":2e6,"application/octet-stream":2e6,"binary/octet-stream":5e6,"application/x-ttf":3e6},F={".js":5e4,".mjs":5e4,".wasm":2e6,".bin":2e6,".deepar":5e6,".hdr":1e6,".obj":2e4};let C=null;class O{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(C);for(const r of t)if(e.endsWith(r)){i.total=C[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(F);for(const r of t)if(e.endsWith(r)){i.total=F[r];break}}if(0===i.total){const e=n.getResponseHeader("Content-Type");i.total=e in I?I[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 M{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 R=(()=>{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}})(),L=(()=>{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 B;function D(e){B&&e.removePreRenderListener(B),B=null}var W=function(e,t,r,n){return new(r||(r=Promise))(function(t,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?t(e.value):(n=e.value,n instanceof r?n:new r(function(e){e(n)})).then(a,o)}s((n=n.apply(e,[])).next())})};const U="https://d3jgs8uysn2mr7.cloudfront.net/v"+t+"/",$={video:{facingMode:"user",frameRate:{ideal:30},width:{ideal:640},height:{ideal:360}}},G="DEFAULT_SLOT";let V;function N(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 z(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 X(){return"mediaDevices"in navigator&&"getUserMedia"in navigator.mediaDevices}function K(e){const t=Object.assign({},e);return L&&R?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmSimdPath):R?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmThreadedSimdPath):(delete t.tfjsBackendWasmSimdPath,delete t.tfjsBackendWasmThreadedSimdPath),t}let H=!1,q=!1;function Y(t){var r,n,i,a,l,h,w,y,E,T,k,x,S;return W(this,void 0,void 0,function*(){if(H)throw new Error("DeepAR is already initialized. You cannot have multiple instances of DeepAR object. Call DeepAR.shutdown() first.");if(q)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,I=$,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);I.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:I.video.facingMode,"environment"===(null===(T=null===(E=null==t?void 0:t.additionalOptions)||void 0===E?void 0:E.cameraConfig)||void 0===T?void 0:T.facingMode)&&(j=!1);let B,D=!1;if(F){if(!X())throw new c;null===(S=null===(x=null===(k=null==t?void 0:t.additionalOptions)||void 0===k?void 0:k.cameraConfig)||void 0===x?void 0:x.cameraPermissionAsked)||void 0===S||S.call(x),B=navigator.mediaDevices.getUserMedia(I),B.catch(()=>{D=!0})}const G=()=>W(this,void 0,void 0,function*(){var r,n,i,a,l,c,u,f,h,m,g,v,w,y,E,T;if(D)throw new d;if(t.rootPath=(E=t.rootPath)?E.endsWith("/")?E:E+"/":U,T=yield fetch(function(e){return e.rootPath+"file_sizes.json"}(t)).then(e=>e.json()),C=T,D)throw new d;const k=new O;let x=null;const S=new M;S.addGlobalProgress(k);let _,I,$,G,X=!1;t.effect&&(X=!0,"string"!=typeof t.effect?I=t.effect:_=k.downloadFile(t.effect),x=new O,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)&&($=k.downloadFile(t.effectOptions.envmap)),"string"==typeof(null===(n=null==t?void 0:t.effectOptions)||void 0===n?void 0:n.diamondEnvMap)&&(G=k.downloadFile(t.effectOptions.diamondEnvMap));let Y,Q=!1;(null===(i=null==t?void 0:t.additionalOptions)||void 0===i?void 0:i.customEnvMapPath)&&(Q=!0,Y=k.downloadFile(t.additionalOptions.customEnvMapPath));const Z=t.rootPath+"wasm/deepar.wasm",ee=k.downloadFile(Z),te=k.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 A(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),k),ie={footInit:z(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:z(t,"faceInit")||z(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:z(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"},N(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"},N(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"},N(e))}(t),le=function(e){return e.rootPath+"default_envmap.webp"}(t),ce=Object.values(ie).some(e=>e);if(ie.faceInit){k.downloadFile(re.xzimgPath).catch(()=>{});for(const e of Object.values(K(ae)))k.downloadFile(e).catch(()=>{})}if(ie.footInit){k.downloadFile(re.xzimgPath).catch(()=>{});for(const e of Object.values(K(oe)))k.downloadFile(e).catch(()=>{})}if(ie.wristInit){k.downloadFile(re.xzimgPath).catch(()=>{});for(const e of Object.values(K(se)))k.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:P(re.xzimgPath)},customErrors:e,platform:s,draco_decoder:ne,split_sum:te,globalProgress:S,wasmBinary:null,WASM_HAS_SIMD_SUPPORT:R,WASM_HAS_MULTITHREAD_SUPPORT:L,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)},q=!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,q=!1,S.dispose(),de)throw de;throw e}t.previewElement&&(ue.addPreRenderListener(p),ue.addPostRenderListener(b));const he=new J(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((()=>W(this,void 0,void 0,function*(){var e,r,n;return V=document.createElement("video"),V.setAttribute("playsinline","playsinline"),V.srcObject=yield B.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=>{V.onloadedmetadata=()=>{V.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(V,j),V.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()}}))),X&&me.push((()=>W(this,void 0,void 0,function*(){var e;_&&(I=yield _);let r=null!==(e=null==t?void 0:t.effectOptions)&&void 0!==e?e:{};$&&(r.envmap=yield $),G&&(r.diamondEnvMap=yield G),r.onProgress=x.addCustomProgress(),r.trackingInit=void 0,yield he.switchEffect(I,r)}))()),Q&&!X&&me.push((()=>W(this,void 0,void 0,function*(){yield he.setEnvironmentMap(yield Y)}))()),me.length>0)try{yield Promise.all(me)}catch(e){if(q=!1,ue.globalProgress=null,S.dispose(),he.shutdown(),de)throw de;throw e}return ue.globalProgress=null,S.dispose(),q=!1,H=!0,he});if(!F)return G();try{return(yield Promise.all([G(),B]))[0]}catch(e){if(q=!1,H=!1,v(),D)throw new d;throw e}})}class J{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 W(this,void 0,void 0,function*(){let a,o,s,l;const c=new O,d=new O,u=new M;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(K(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(K(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(K(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:G;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||G)}startCamera(e){return W(this,void 0,void 0,function*(){if(!X())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:$,t,r,null==e?void 0:e.cameraPermissionAsked,null==e?void 0:e.cameraPermissionGranted),this.module.startLoop()})})}stopCamera(){this.stopVideo()}stopVideo(){V&&(null!=V.srcObject&&V.srcObject.getTracks().forEach(e=>{e.stop()}),V.srcObject=null,V.parentNode&&V.parentNode.removeChild(V),V=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(),H=!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 W(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 W(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 W(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 W(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){D(e),B=()=>{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(B)}(this,t):D(this)}showStats(e){this.module.showStats(e)}setStatsCapture(e){this.module._setStats(e)}getStats(){return JSON.parse(this.module.getStats())}}})();var a=i.Gv,o=i.R0,s=i.j2,l=i.i8,c=Object.freeze({__proto__:null,DeepAR:a,errors:o,initialize:s,version:l});e.deepar=c});
|
|
2
|
+
/*! For license information please see deepar.esm.js.LICENSE.txt */var t={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=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",T=n&&r.java?"JavaPackage":b(r.java),k=n?m:"RuntimeObject",x=/\bJava/.test(T)&&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(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)==k?(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)}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var a=r[e]={id:e,loaded:!1,exports:{}};return t[e].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i={};(()=>{n.d(i,{Gv:()=>J,R0:()=>e,j2:()=>Y,i8:()=>t});var e={};n.r(e),n.d(e,{CameraPermissionDeniedError:()=>d,NoCameraError:()=>c,SwitchEffectCanceled:()=>l});const t="5.6.21-shopar-alpha-401";var r,a=(r="undefined"!=typeof document?document.currentScript?.src:void 0,function(e={}){var t,n,i=e,a=new Promise((e,r)=>{t=e,n=r});let o=null;const s=[];i.addPreRenderListener=function(e){s.push(e)},i.addPostRenderListener=function(e){s.push(e)},i.removePreRenderListener=function(e){0<=(e=s.indexOf(e))&&s.splice(e,1)},i.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,T,k,x,S,_,j,A,I=!1,F=null,C=null,O=null,M=null,R=null,L=null,B=null,D=null,W=null;i.Ki=[null];let U=0;function $(e){const t=i.Ki.length;return i.Ki[t]=e,t}i.preinitializedWebGLContext=i.canvas.getContext("webgl2",{alpha:!1,antialias:!0,powerPreference:"high-performance"}),i.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=i.canvas.width;const t=i.canvas.height;i.canvasWidth===e&&i.canvasHeight===t||(i.canvasWidth=e,i.canvasHeight=t,Go(e,t)),i._render();for(const e of s)e();i.apiObject.__deeparRendered&&i.apiObject.__deeparRendered(wa),i.apiObject.__deeparRendered2&&i.apiObject.__deeparRendered2(wa)}function N(){var e=!1,t=i.Ki[0];if(t&&t.readyState===t.HAVE_ENOUGH_DATA)(function(){const e=_a;if(!xa||!Ca||!Ia)return!0;switch(e.clientWaitSync(Ia,0,0)){case e.TIMEOUT_EXPIRED:case e.WAIT_FAILED:return!1;case e.CONDITION_SATISFIED:case e.ALREADY_SIGNALED:return!0}})()&&(i._processFrameVideo(0,q,U),e=I=!0);else if(!I||0<Object.entries(X).length||null!=K||null!=H){if(e=f||u,!(t=i._malloc(e.data.length)))return;he.set(e.data,t),i._processFrameRawPixels(t,e.width,e.height,e.Gj),I=!0,i._free(t),e=!0}e&&V()}function z(){N()}i.setFps=function(e){G.ij=1e3/e},G.add(z),i.startLoop=function(){G.add(z),G.start()},i.endLoop=function(){G.Ti=void 0,G.stop()},i.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},i.processFrameRawPixels=function(e,t,r,n){var a=i._malloc(e.length);a&&(he.set(e,a),i._processFrameRawPixels(a,t,r,n),f=new ImageData(new Uint8ClampedArray(e),t,r),f.Gj=n,I=!0,G.fj||V(),i._free(a))},i.isFootTrackingInitialized=function(){return Ja},i.isFaceTrackingInitialized=function(){return Da},i.isWristTrackingInitialized=function(){return go},i.setReadPixelsAsync=function(e){Ca=e};let X={},K=null,H=null;i.switchEffectByteArray=function(e,t,r,n,a,o,s,l){if(!F)throw Error("Error in internal API: __switchEffect is null!");const c=i._malloc(r.length);if(!c)throw Error("Cannot allocate buffer for switch effect.");he.set(r,c);const d=n.length?i._malloc(n.length):0;if(n.length){if(!d)throw Error("Cannot allocate buffer for environement map.");he.set(n,d)}const u=a.length?i._malloc(a.length):0;if(a.length){if(!u)throw Error("Cannot allocate buffer for environement map.");he.set(a,u)}if(t in X)s(new i.customErrors.SwitchEffectCanceled(`Cannot switch effect on slot ${t} because switch effect already in progress on the same slot.`));else{X[t]={Si:o,error:s,Hj:l};try{F(t,c,r.length,e,d,n.length,u,a.length),I=!1,G.fj||N()}catch(e){throw delete X[t],e}}},i.hasVar=function(e,t){return h(e,t)},i.getVarType=function(e,t){if(m(e,t))return w(e,t);throw Error("Variable named '"+e+"' does not exist.")},i.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.")},i.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.")},i.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.")},i.getStringVar=function(e,t){if(v(e,t))return T(e,t);throw Error("Variable named '"+e+"' does not exist or is not a string.")},i.setBoolVar=function(e,t,r){return k(e,t,r)},i.setIntVar=function(e,t,r){return x(e,t,r)},i.setDoubleVar=function(e,t,r){return S(e,t,r)},i.setStringVar=function(e,t,r){return _(e,t,r)},i.deleteVar=function(e,t){return j(e,t)},i.clearVars=function(e){return A(e)},i.clearEffect=function(e){X[e]&&X[e].error&&(X[e].error(new i.customErrors.SwitchEffectCanceled(`Switch effect canceled by the call to clearEffect() on the same slot: ${e}.`)),delete X[e]),C&&(C(e),G.fj||N())},i.moveGameObject=function(e,t){O&&(O(e,t),G.fj||N())};let q=!0;i.setMirror=function(e){q=!!e};let Y=!1;function J(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}i.startCamera=function(e,t,r,n,a,o){i.stopVideo(),q=!!e;let s=document.createElement("video");s.setAttribute("playsinline","playsinline"),i.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})},Y=!0}).catch(e=>{n&&n(e),console.error(`${e.name}: ${e.message}`)})},i.shutdown=function(){Q={},i.stopVideo(),null!=l&&l.shutdownTfjs(),s.length=0;try{$o()}catch(e){console.error(e)}finally{i.bk()}},i.setVideoElement=function(e,t){i.stopVideo(),q=!!t,i.Ki[0]=e},i.stopVideo=function(){i.Ki[0]&&(Y&&(i.Ki[0]&&i.Ki[0].srcObject&&(i.Ki[0].srcObject.getTracks().forEach(e=>{e.stop()}),i.Ki[0].srcObject=null),Y=!1),i.Ki[0]=null)},i.getVideoElement=function(){return i.Ki[0]},i.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")},i.backgroundReplacement=async function(e,t,r,n,i){if(e){H&&H.error&&H.error(""),H={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=Xo(r.length);he.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 H=null,e}},a.src=URL.createObjectURL(t)}else R(!1,null,0,0,0),n()},i.backgroundBlur=function(e,t,r,n){if(e){K&&K.error&&K.error(""),K={Si:r,error:n};try{M(e,t),I=!1,G.fj||N()}catch(e){throw K=null,e}}else M(!1,0),r()},i.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]=i.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return i._free(e),t},i.getTransformationBetween=function(e,t){if(!(e=B(e,t)))return null;t=new Float32Array(16);for(let r=0;16>r;++r)t[r]=i.HEAPF32[e/Float32Array.BYTES_PER_ELEMENT+r];return i._free(e),t},i.setEnvironmentMap=async function(e){if(J(e)){var t=i._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");he.set(e,t),D(t,e.length)}else{const[t,r,n]=await La(e);Vo(t,r,n)}},i.setDiamondEnvironmentMap=async function(e){if(J(e)){var t=i._malloc(e.length);if(!t)throw Error("Cannot allocate buffer for environement map.");he.set(e,t),W(t,e.length)}else{const[t,r,n]=await La(e);zo(t,r,n)}},i.Tj=function(e,t,r,n){if(i.apiObject.onFaceTracked){var a=[];for(let d=0;d<n;d++){let n={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(n.detected=!!(255&i.HEAP32[o/Float32Array.BYTES_PER_ELEMENT]),o=0;3>o;o++)n.translation.push(i.HEAPF32[s/Float32Array.BYTES_PER_ELEMENT+o]),n.rotation.push(i.HEAPF32[u/Float32Array.BYTES_PER_ELEMENT+o]);for(s=0;16>s;s++)n.poseMatrix.push(i.HEAPF32[l/Float32Array.BYTES_PER_ELEMENT+s]);for(l=0;204>l;l++)n.landmarks.push(i.HEAPF32[c/Float32Array.BYTES_PER_ELEMENT+l]),136>l&&n.landmarks2d.push(i.HEAPF32[f/Float32Array.BYTES_PER_ELEMENT+l]);for(c=0;4>c;c++)n.faceRect.push(i.HEAPF32[h/Float32Array.BYTES_PER_ELEMENT+c]);a.push(n)}i.apiObject.onFaceTracked(a)}},i.Ak=function(){i.apiObject.onVideoStarted&&i.apiObject.onVideoStarted()},i.Yj=function(){i.apiObject.onInitialize&&i.apiObject.onInitialize()},i.Vj=function(e){i.apiObject.onFaceVisibilityChanged&&i.apiObject.onFaceVisibilityChanged(e)},i.Xj=function(e){i.apiObject.onImageVisibilityChanged&&i.apiObject.onImageVisibilityChanged(e)},i.zk=function(){i.apiObject.onCameraPermissionGranted&&i.apiObject.onCameraPermissionGranted()},i.yk=function(){i.apiObject.onCameraPermissionDenied&&i.apiObject.onCameraPermissionDenied()},i.xk=function(){i.apiObject.onCameraPermissionAsked&&i.apiObject.onCameraPermissionAsked()},i.$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]=he[e+a+2],o[s+1]=he[e+a+1],o[s+2]=he[e+a+0],o[s+3]=he[e+a+3]}i.putImageData(a,0,0),console.error("DeepAR screenshot taken but no registered callback.")},i.Nj=function(e){i.apiObject.onAnimationTransitionedToState&&i.apiObject.onAnimationTransitionedToState(e)},i.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)},i.Rj=function(e){X[e]&&X[e].Si&&X[e].Si(),delete X[e]},i.Pj=function(){H&&H.Si&&H.Si(),H={}},i.Oj=function(){K&&K.Si&&K.Si(),K={}},i.Zj=function(e){i.apiObject.onNumberOfFacesVisibleChanged&&i.apiObject.onNumberOfFacesVisibleChanged(e)},i.bk=function(){i.apiObject.onShutdown&&i.apiObject.onShutdown()},i.Uj=function(e,t,r){i.apiObject.onFaceTrackingInitialized&&i.apiObject.onFaceTrackingInitialized(e,t,r)},i.Bj=function(e,t,r,n){i.apiObject.onFootTrackingInitialized&&i.apiObject.onFootTrackingInitialized(e,t,r,n)},i.ak=function(){i.apiObject.onSegmentationInitialized&&i.apiObject.onSegmentationInitialized()},i.Wj=function(e,t){i.apiObject.onFeetTracked&&i.apiObject.onFeetTracked(e,t),i.leftFootData=e,i.rightFootData=t},i._getFootData=function(){return i.leftFootData&&i.rightFootData?{left:i.leftFootData,right:i.rightFootData}:null},i.Cj=function(e,t,r,n){i.apiObject.onWristTrackingInitialized&&i.apiObject.onWristTrackingInitialized(e,t,r,n)},i.ck=function(e){i.apiObject.onWristTracked&&i.apiObject.onWristTracked(e)},i.Qj=function(e,t){for(let r of Object.values(X))r.Hj&&r.Hj({loaded:e,total:t})},i._useExternalTrackingData=function(e){i.useExternalTrackingData=e},i._setExternalTrackingDataFoot=function(e,t){i.externalTrackingDataFoot={left:e,right:t}},i.noInitialRun=!0,i.initializeDeepAR=async function(){c=i.platform,d=i.draco_decoder;const e=i.initializeML&&i.initializeML.faceInit;var t=va();t=180/Math.PI*Math.atan(Math.tan(Math.PI/180*t/2)/(640/360))*2,e&&Ka(t,640,360),i.initializeML&&(i.initializeML.footInit&&co(t,0,640,360),i.initializeML.wristInit&&So(t,0,640,360)),F=jo("switchEffect",null,"string number number number number number".split(" ")),C=jo("clearEffect",null,["string"]),O=jo("moveGameObject",null,["string","string"]),M=jo("backgroundBlur",null,["boolean","number"]),R=jo("backgroundReplacement",null,["boolean","number","number","number","number"]),L=jo("getClosestPointOnMesh",null,["string","number","number","number"]),B=jo("getTransformationBetween",null,["string","string"]),D=jo("setEnvironmentMap",null,["number","number"]),W=jo("setDiamondEnvironmentMap",null,["number","number"]),h=jo("hasVar","boolean",["string","string"]),m=jo("getVarTypeStatus","boolean",["string","string"]),g=jo("getBoolVarStatus","boolean",["string","string"]),p=jo("getIntVarStatus","boolean",["string","string"]),b=jo("getDoubleVarStatus","boolean",["string","string"]),v=jo("getStringVarStatus","boolean",["string","string"]),w=jo("getVarType","int",["string","string"]),y=jo("getBoolVar","boolean",["string","string"]),E=jo("getIntVar","int",["string","string"]),P=jo("getDoubleVar","number",["string","string"]),T=jo("getStringVar","string",["string","string"]),k=jo("setBoolVar","boolean",["string","boolean","string"]),x=jo("setIntVar","boolean",["string","int","string"]),S=jo("setDoubleVar","boolean",["string","number","string"]),_=jo("setStringVar","boolean",["string","string","string"]),j=jo("deleteVar","boolean",["string","string"]),A=jo("clearVars","boolean",["string"]),i.pushConsoleLog=jo("pushConsoleLog","boolean",["string","int"]),i.changeParameterFloat=jo("changeParameterFloat",null,["string","string","string","number"]),i.changeParameterVector=jo("changeParameterVector",null,"string string string number number number number".split(" ")),i.changeParameterBool=jo("changeParameterBool",null,["string","string","string","boolean"]),i.changeParameterTexture=jo("changeParameterTexture",null,"string string string number number number number".split(" ")),i.fireTrigger=jo("fireTrigger",null,["string"]),i.setFaceDetectionSensitivity=jo("setFaceDetectionSensitivity",null,["number"]),i.showStats=jo("showStats",null,["number"]),i.simulatePhysics=jo("simulatePhysics",null,["number"]),i.showColliders=jo("showColliders",null,["number"]),i.setLicenseKey=jo("setLicenseKey",null,["string"]),i.muteSound=jo("muteSound",null,["boolean"]),i.setExposure=jo("setExposure",null,["number"]),i.setEnvironmentMapIntensity=jo("setEnvironmentMapIntensity",null,["number"]),i.setToneMapping=jo("setToneMapping",null,["number"]),i.resetEnvironmentMap=jo("resetEnvironmentMap",null,[]),i.resetToneMapping=jo("resetToneMapping",null,[]),i.resetEnvironmentMapIntensity=jo("resetEnvironmentMapIntensity",null,[]),i.resetExposure=jo("resetExposure",null,[]),i.setBloomEnabled=jo("setBloomEnabled",null,["boolean"]),i.setBloomThreshold=jo("setBloomThreshold",null,["number"]),i.setBloomStrength=jo("setBloomStrength",null,["number"]),i.setBloomRadius=jo("setBloomRadius",null,["number"]),i.split_sum=await createImageBitmap(new Blob([await i.split_sum]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}),i.initialize(i.canvasWidth,i.canvasHeight,!0,!1,e,!0,!0,!1,i.onVerify)};let Q={};function Z(e,t,r){Q[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 n=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!=i.globalProgress&&i.globalProgress.isUrlTracked(t)?i.globalProgress.getFilePromises(t).then(e=>{n(e)}).catch(()=>{a()}):fetch(this.path).then(t=>{t.ok?t.arrayBuffer().then(e=>{n(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 ee(e,t){Z(`${e}-tfjsBackendWasmPath`,t.tfjsBackendWasmPath,["fe0951aee7c0feb369aa12a65a24b871da9386fb55b40b918c2a59b24e09be83"]),Z(`${e}-tfjsBackendWasmSimdPath`,t.tfjsBackendWasmSimdPath,["3402e2b8668afb320151b4aae8080ad2136875f424aa95c95e3a4bc87d09097e"]),Z(`${e}-tfjsBackendWasmThreadedPath`,t.tfjsBackendWasmThreadedPath,["118f499abf412a285905483c91db693296c0b112cfaab04128bf54f61c141ce9"])}function te(e){if(!Q[e])throw Error(`No ML model with name ${e}.`);return Q[e].jk()}function re(e){if(!Q[e])throw Error(`No ML model with name ${e}.`);return Q[e].oj()}async function ne(e){const t={tfjsBackendWasmPath:"",tfjsBackendWasmSimdPath:"",tfjsBackendWasmThreadedPath:""};return i.WASM_HAS_SIMD_SUPPORT&&i.WASM_HAS_MULTITHREAD_SUPPORT?t.tfjsBackendWasmThreadedPath=await Q[`${e}-tfjsBackendWasmThreadedPath`].oj():i.WASM_HAS_SIMD_SUPPORT?t.tfjsBackendWasmSimdPath=await Q[`${e}-tfjsBackendWasmSimdPath`].oj():t.tfjsBackendWasmPath=await Q[`${e}-tfjsBackendWasmPath`].oj(),t}Z("rigidFaceDetector",i.rigidFaceTrackingConfig.detectorPath,["8270514ae788bc6ee67db086c9400581d17a78c18de38c878f1148dcc3a8e480"]),Z("rigidFaceTracker",i.rigidFaceTrackingConfig.trackerPath,["9ab8c04aa4294ff23c66798a4a442fd9dbef4a8f61ea6e1530e51445846b5605"]),Z("rigidFacePEW",i.rigidFaceTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),ee("rigidFaceDetector",i.rigidFaceTrackingConfig),Z("footDetector",i.footTrackingConfig.detectorPath,["6d0f65c977509cf5d93f65a3b26539ab29ec540322476f0b7adac9ee289db4bd"]),Z("footTracker",i.footTrackingConfig.trackerPath,["297c230e346d4e9e7ac1f78e9e87f4e85754338547061501eee2542e334ca7be","c72af568553b85b1f20d61fd07ba5db46a0db2b5261472099310bbc51afa967f","e5180848c0d88fe6ab483b22a4490e9db80408d2887cd165cecd5e7f2efd8555"]),Z("footObj",i.footTrackingConfig.objPath,["3b903682a513f5d96cabb8135ead157240141f0f0d5c833a77e7de91a87a2bca"]),Z("footPEW",i.footTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),ee("footDetector",i.footTrackingConfig),Z("wristDetector",i.wristTrackingConfig.detectorPath,["b4c14a6f4b7bed1bc1cb313bbad5e877c7958c25b8e47d12583404f9a611d7ff"]),Z("wristTracker",i.wristTrackingConfig.trackerPath,["8bbbc4398f33db43ef32f1615d6d11322e8dc5d1f800cb8da4a0580d6267dba0","cbb7a12bd06b28a809c914700c8cd64530a9d08d4d82f6d9c758dfc022264a6d"]),Z("wristObj",i.wristTrackingConfig.objPath,["5c763303cac33e377bbfbc3bd13475c0b99ca6412f9774ecc7a65fe72ac01732"]),Z("wristPEW",i.wristTrackingConfig.poseEstimationWasmPath,["55e668327885970371152a98d6612f8f50579996f046479db5b943c00199494d"]),ee("wristDetector",i.wristTrackingConfig),Z("default_envmap.webp",i.defaultEnvmapPath,["f822e455a5d5a3c1d5c91d9c22d3d1b511f645062fa2e4c8755d698af02b9b80"]);var ie,ae=Object.assign({},i),oe="";"undefined"!=typeof document&&document.currentScript&&(oe=document.currentScript.src),r&&(oe=r),oe=oe.startsWith("blob:")?"":oe.substr(0,oe.replace(/[?#].*/,"").lastIndexOf("/")+1),ie=e=>fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url)));var se,le=console.log.bind(console),ce=console.error.bind(console);Object.assign(i,ae),ae=null,i.wasmBinary&&(se=i.wasmBinary);var de,ue,fe,he,me,ge,pe,be,ve,we,ye=!1;function Ee(){var e=de.buffer;i.HEAP8=fe=new Int8Array(e),i.HEAP16=me=new Int16Array(e),i.HEAPU8=he=new Uint8Array(e),i.HEAPU16=ge=new Uint16Array(e),i.HEAP32=pe=new Int32Array(e),i.HEAPU32=be=new Uint32Array(e),i.HEAPF32=ve=new Float32Array(e),i.HEAPF64=we=new Float64Array(e)}var Pe=[],Te=[],ke=[],xe=[],Se=!1,_e=!1,je=0,Ae=null;function Ie(e){throw i.onAbort?.(e),ce(e="Aborted("+e+")"),ye=!0,ue=1,e+=". Build with -sASSERTIONS for more info.",Se&&Zo(),e=new WebAssembly.RuntimeError(e),n(e),e}var Fe,Ce=e=>e.startsWith("data:application/octet-stream;base64,");function Oe(e){if(e==Fe&&se)return new Uint8Array(se);throw"both async and sync fetching of the wasm failed"}function Me(e,t,r){return function(e){return se?Promise.resolve().then(()=>Oe(e)):ie(e).then(e=>new Uint8Array(e),()=>Oe(e))}(e).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{ce(`failed to asynchronously prepare wasm: ${e}`),Ie(e)})}var Re={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(he.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),he.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(he.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),he.set(i,n)},98624:()=>{var e=window.navigator.userAgent||"no user agent",t=Xo(32);for(let r=0;32>r;++r)he[t+r]=e.charCodeAt(r%e.length);return t},98862:()=>{var e=window.location.hostname||"no hostname",t=Xo(32);for(let r=0;32>r;++r)he[t+r]=e.charCodeAt(r%e.length);return t},99096:()=>{console.error("License key not valid")},99135:()=>{i.Yj()},99159:(e,t,r)=>{i.$j(e,t,r)},99202:e=>{i.Zj(e)},99249:e=>{i.Rj(e?Ge(he,e):"")},99293:(e,t,r,n,a,o,s,l,c)=>{i.Tj({translationOffset:e,rotationOffset:t,poseMatrixOffset:r,landmarksOffset:n,landmarks2DOffset:a,faceRectOffset:o},s,l,c)},99477:(e,t)=>{i.Sj(e?Ge(he,e):"",t?Ge(he,t):"")},99534:()=>{i.Oj()},99572:()=>{i.Pj()},99617:(e,t,r,n)=>{i.Bj(e,t,r,n)},99672:(e,t,r,n)=>{i.Cj(e,t,r,n)},99728:(e,t,r,n)=>{function a(e,t){return{detected:e,scale:[ve[t>>=2],ve[t+1],ve[t+2]],rotation:[ve[t+3],ve[t+4],ve[t+5],ve[t+6]],position:[ve[t+7],ve[t+8],ve[t+9]]}}e=a(e,t),r=a(r,n),i.Wj(e,r)},100185:(e,t)=>{i.ck({detected:!!e,isLeft:!!t})},100250:()=>{i.ak()},100291:e=>{i.Vj(!!e)},100332:e=>{i.Xj(!!e)},100376:(e,t)=>{e=e?Ge(he,e,t):"",i.Nj(e)},100457:()=>{alert("DeepAR license not valid")},100491:()=>{i.endLoop()},100512:()=>{let e=te("face");if(!e)return 0;e=new Uint8Array(e);var t=Xo(e.length);return he.set(e,t),Q.face.Fj(),t},100755:()=>{let e=te("default_envmap.webp");if(!e)return 0;e=new Uint8Array(e);var t=Xo(e.length);return he.set(e,t),t},100965:()=>{let e=te("default_envmap.webp").byteLength;return Q["default_envmap.webp"].Fj(),e},101074:()=>i.useExternalTrackingData,101120:(e,t)=>{i.Qj(e,t)}};function Le(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var Be,De,We,Ue=e=>{for(;0<e.length;)e.shift()(i)},$e="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Ge=(e,t,r)=>{var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&$e)return $e.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},Ve=(e,t)=>e?Ge(he,e,t):"",Ne=e=>{for(var t="";he[e];)t+=Be[he[e++]];return t},ze={},Xe={},Ke={},He=e=>{throw new De(e)},qe=(e,t,r)=>{function n(t){if((t=r(t)).length!==e.length)throw new We("Mismatched type converter count");for(var n=0;n<e.length;++n)Ye(e[n],t[n])}e.forEach(function(e){Ke[e]=t});var i=Array(t.length),a=[],o=0;t.forEach((e,t)=>{Xe.hasOwnProperty(e)?i[t]=Xe[e]:(a.push(e),ze.hasOwnProperty(e)||(ze[e]=[]),ze[e].push(()=>{i[t]=Xe[e],++o===a.length&&n(i)}))}),0===a.length&&n(i)};function Ye(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 De(`type "${n}" must have a positive integer typeid pointer`);if(Xe.hasOwnProperty(e)){if(r.mk)return;throw new De(`Cannot register type '${n}' twice`)}Xe[e]=t,delete Ke[e],ze.hasOwnProperty(e)&&(t=ze[e],delete ze[e],t.forEach(e=>e()))}(e,t,r)}var Je,Qe=e=>{throw new De(e.Ii.Mi.Ji.name+" instance already deleted")},Ze=!1,et=()=>{},tt=(e,t,r)=>t===r?e:void 0===r.Pi||null===(e=tt(e,t,r.Pi))?null:r.gk(e),rt={},nt=[],it=()=>{for(;nt.length;){var e=nt.pop();e.Ii.gj=!1,e.delete()}},at={},ot=(e,t)=>{if(!t.Mi||!t.Li)throw new We("makeClassHandle requires ptr and ptrType");if(!!t.Qi!=!!t.Ni)throw new We("Both smartPtrType and smartPtr must be specified");return t.count={value:1},st(Object.create(e,{Ii:{value:t,writable:!0}}))},st=e=>"undefined"==typeof FinalizationRegistry?(st=e=>e,e):(Ze=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))}),et=e=>{Ze.unregister(e)},(st=e=>{var t=e.Ii;return t.Ni&&Ze.register(e,{Ii:t},e),e})(e));function lt(){}var ct=(e,t)=>Object.defineProperty(t,"name",{value:e}),dt=(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 De(`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}},ut=(e,t,r)=>{if(i.hasOwnProperty(e)){if(void 0===r||void 0!==i[e].Oi&&void 0!==i[e].Oi[r])throw new De(`Cannot register public name '${e}' twice`);if(dt(i,e,e),i.hasOwnProperty(r))throw new De(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`);i[e].Oi[r]=t}else i[e]=t,void 0!==r&&(i[e].Jk=r)};function ft(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 ht=(e,t,r)=>{for(;t!==r;){if(!t.lj)throw new De(`Expected null or instance of ${r.name}, got an instance of ${t.name}`);e=t.lj(e),t=t.Pi}return e};function mt(e,t){if(null===t){if(this.wj)throw new De(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new De(`Cannot pass "${Dt(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new De(`Cannot pass deleted object as a pointer of type ${this.name}`);return ht(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function gt(e,t){if(null===t){if(this.wj)throw new De(`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 De(`Cannot pass "${Dt(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new De(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.pj&&t.Ii.Mi.pj)throw new De(`Cannot convert argument of type ${t.Ii.Qi?t.Ii.Qi.name:t.Ii.Mi.name} to parameter type ${this.name}`);if(r=ht(t.Ii.Li,t.Ii.Mi.Ji,this.Ji),this.qj){if(void 0===t.Ii.Ni)throw new De("Passing raw pointer to smart pointer is illegal");switch(this.uk){case 0:if(t.Ii.Qi!==this)throw new De(`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,Lt(()=>n.delete())),null!==e&&e.push(this.Zi,r)}break;default:throw new De("Unsupporting sharing policy")}}return r}function pt(e,t){if(null===t){if(this.wj)throw new De(`null is not a valid ${this.name}`);return 0}if(!t.Ii)throw new De(`Cannot pass "${Dt(t)}" as a ${this.name}`);if(!t.Ii.Li)throw new De(`Cannot pass deleted object as a pointer of type ${this.name}`);if(t.Ii.Mi.pj)throw new De(`Cannot convert argument of type ${t.Ii.Mi.name} to parameter type ${this.name}`);return ht(t.Ii.Li,t.Ii.Mi.Ji,this.Ji)}function bt(e){return this.fromWireType(be[e>>2])}function vt(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=gt:(this.toWireType=n?mt:pt,this.Vi=null)}var wt,yt,Et=(e,t,r)=>{if(!i.hasOwnProperty(e))throw new We("Replacing nonexistent public symbol");void 0!==i[e].Oi&&void 0!==r?i[e].Oi[r]=t:(i[e]=t,i[e].nj=r)},Pt=(e,t)=>{var r=(e=Ne(e)).includes("j")?((e,t)=>(...r)=>((e,t,r=[])=>(e.includes("j")?(e=e.replace(/p/g,"i"),t=(0,i["dynCall_"+e])(t,...r)):t=wt.get(t)(...r),t))(e,t,r))(e,t):wt.get(t);if("function"!=typeof r)throw new De(`unknown function pointer with signature ${e}: ${t}`);return r},Tt=e=>{e=Wo(e);var t=Ne(e);return Uo(e),t},kt=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||Xe[t]||(Ke[t]?Ke[t].forEach(e):(r.push(t),n[t]=!0))}),new yt(`${e}: `+r.map(Tt).join([", "]))},xt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(be[t+4*n>>2]);return r},St=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function _t(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].Vi)return!0;return!1}function jt(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=ct(t.name||"unknownFunctionName",function(){});return r.prototype=t.prototype,r=new r,(e=t.apply(r,e))instanceof Object?e:r}function At(e,t,r,n,i,a){var o=t.length;if(2>o)throw new De("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==r,l=_t(t);for(r="void"!==t[0].name,n=[e,He,n,i,St,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=_t(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=jt(h)(...n),ct(e,t)}var It,Ft=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Ct=[],Ot=[],Mt=e=>{9<e&&0==--Ot[e+1]&&(Ot[e]=void 0,Ct.push(e))},Rt=e=>{if(!e)throw new De("Cannot use deleted val. handle = "+e);return Ot[e]},Lt=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const t=Ct.pop()||Ot.length;return Ot[t]=e,Ot[t+1]=1,t}},Bt={name:"emscripten::val",fromWireType:e=>{var t=Rt(e);return Mt(e),t},toWireType:(e,t)=>Lt(t),argPackAdvance:8,readValueFromPointer:bt,Vi:null},Dt=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Wt=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(ve[e>>2])};case 8:return function(e){return this.fromWireType(we[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Ut=(e,t,r)=>{switch(t){case 1:return r?e=>fe[e]:e=>he[e];case 2:return r?e=>me[e>>1]:e=>ge[e>>1];case 4:return r?e=>pe[e>>2]:e=>be[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},$t=(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},Gt=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},Vt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Nt=(e,t)=>{for(var r=e>>1,n=r+t/2;!(r>=n)&&ge[r];)++r;if(32<(r<<=1)-e&&Vt)return Vt.decode(he.subarray(e,r));for(r="",n=0;!(n>=t/2);++n){var i=me[e+2*n>>1];if(0==i)break;r+=String.fromCharCode(i)}return r},zt=(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)me[t>>1]=e.charCodeAt(i),t+=2;return me[t>>1]=0,t-n},Xt=e=>2*e.length,Kt=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=pe[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},Ht=(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)),pe[t>>2]=a,(t+=4)+4>r)break}return pe[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},Yt=(e,t)=>{var r=Xe[e];if(void 0===r)throw e=`${t} has unknown type ${Tt(e)}`,new De(e);return r},Jt=(e,t,r)=>{var n=[];return e=e.toWireType(n,r),n.length&&(be[t>>2]=Lt(n)),e},Qt=[],Zt={},er=e=>{var t=Zt[e];return void 0===t?Ne(e):t},tr=0,rr=(e,t)=>{if(fr=e,hr=t,ur)if(lr||(tr+=1,lr=!0),0==e)cr=function(){var e=0|Math.max(0,nr+t-It());setTimeout(ir,e)};else if(1==e)cr=function(){kr(ir)};else if(2==e){if(void 0===Ar)if("undefined"==typeof setImmediate){var r=[];addEventListener("message",e=>{"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),r.shift()())},!0),Ar=function(e){r.push(e),postMessage("setimmediate","*")}}else Ar=setImmediate;cr=function(){Ar(ir)}}};It=()=>performance.now();var nr,ir,ar=e=>{if(!(e instanceof Le||"unwind"==e))throw e},or=()=>{if(!(_e||0<tr))try{var e=ue;throw ue=e,0<tr||(Jo(),Ue(ke),ba(),_e=!0),ue=e,0<tr||(ye=!0),new Le(e)}catch(e){ar(e)}},sr=()=>{sr.yj||(sr.yj={}),sr.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.']||(sr.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,ce('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.'))},lr=!1,cr=null,dr=0,ur=null,fr=0,hr=0,mr=0,gr=[],pr=!1,br=!1,vr=[],wr=!1,yr=void 0,Er=void 0;function Pr(){return!!pr&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0)}var Tr=0;function kr(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===Tr)Tr=t+1e3/60;else for(;t+2>=Tr;)Tr+=1e3/60;setTimeout(e,Math.max(Tr-t,0))}}var xr=[];function Sr(){var e=i.canvas;xr.forEach(t=>t(e.width,e.height))}function _r(e,t,r){jr(i.canvas,e,t),r||Sr()}function jr(e,t,r){t&&r?(e.wk=t,e.lk=r):(t=e.wk,r=e.lk);var n=t,a=r;if(i.forcedAspectRatio&&0<i.forcedAspectRatio&&(n/a<i.forcedAspectRatio?n=Math.round(a*i.forcedAspectRatio):a=Math.round(n/i.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var o=Math.min(screen.width/n,screen.height/a);n=Math.round(n*o),a=Math.round(a*o)}Er?(e.width!=n&&(e.width=n),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&&(n!=t||a!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}var Ar,Ir,Fr,Cr,Or,Mr=!1,Rr={alpha:!1,depth:!1,stencil:!1,antialias:!1},Lr={},Br=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))},Dr=1,Wr=[],Ur=[],$r=[],Gr=[],Vr=[],Nr=[],zr=[],Xr=[],Kr=[],Hr=[],qr=[],Yr=[],Jr={},Qr={},Zr=4,en=0,tn=e=>{for(var t=Dr++,r=e.length;r<t;r++)e[r]=null;return t},rn=(e,t,r,n)=>{for(var i=0;i<e;i++){var a=Fo[r](),o=a&&tn(n);a?(a.name=o,n[o]=a):Cr||=1282,pe[t+4*i>>2]=o}},nn=(e,t)=>{if(i.preinitializedWebGLContext){var r=i.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?an(r,t):0},an=(e,t)=>{var r=tn(Xr),n={handle:r,attributes:t,version:t.xj,Wi:e};return e.canvas&&(e.canvas.Mj=n),Xr[r]=n,(void 0===t.hk||t.hk)&&sn(n),r},on=e=>{Or=Xr[e],i.Yi=Fo=Or?.Wi},sn=e=>{if(e||=Or,!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"),Br(t).forEach(e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)})}},ln={},cn=e=>{var t=Gt(e)+1,r=Xo(t);return r&&$t(e,he,r,t),r},dn=[],un=(e,t)=>{dn.length=0;for(var r;r=he[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,dn.push(112==r?be[t>>2]:105==r?pe[t>>2]:we[t>>3]),t+=n?8:4}return dn},fn=e=>Fo.activeTexture(e),hn=(e,t)=>{Fo.attachShader(Ur[e],Nr[t])},mn=(e,t)=>{35051==e?Fo.vj=t:35052==e&&(Fo.Ui=t),Fo.bindBuffer(e,Wr[t])},gn=(e,t)=>{Fo.bindFramebuffer(e,$r[t])},pn=(e,t)=>{Fo.bindRenderbuffer(e,Gr[t])},bn=(e,t)=>{Fo.bindTexture(e,Vr[t])},vn=e=>{Fo.bindVertexArray(zr[e])},wn=(e,t,r,n)=>Fo.blendColor(e,t,r,n),yn=(e,t)=>Fo.blendEquationSeparate(e,t),En=(e,t,r,n)=>Fo.blendFuncSeparate(e,t,r,n),Pn=(e,t,r,n)=>{r&&t?Fo.bufferData(e,he,n,r,t):Fo.bufferData(e,t,n)},Tn=(e,t,r,n)=>{r&&Fo.bufferSubData(e,t,he,n,r)},kn=e=>Fo.checkFramebufferStatus(e),xn=e=>Fo.clear(e),Sn=(e,t,r,n)=>Fo.clearColor(e,t,r,n),_n=e=>Fo.clearDepth(e),jn=e=>Fo.clearStencil(e),An=(e,t,r,n)=>{Fo.colorMask(!!e,!!t,!!r,!!n)},In=e=>{Fo.compileShader(Nr[e])},Fn=(e,t,r,n,i,a,o,s)=>{Fo.Ui||!o?Fo.compressedTexImage2D(e,t,r,n,i,a,o,s):Fo.compressedTexImage2D(e,t,r,n,i,a,he,s,o)},Cn=(e,t,r,n,i,a,o,s,l)=>{Fo.Ui||!s?Fo.compressedTexSubImage2D(e,t,r,n,i,a,o,s,l):Fo.compressedTexSubImage2D(e,t,r,n,i,a,o,he,l,s)},On=(e,t,r,n,i,a,o,s)=>Fo.copyTexSubImage2D(e,t,r,n,i,a,o,s),Mn=()=>{var e=tn(Ur),t=Fo.createProgram();return t.name=e,t.tj=t.rj=t.sj=0,t.zj=1,Ur[e]=t,e},Rn=e=>{var t=tn(Nr);return Nr[t]=Fo.createShader(e),t},Ln=e=>Fo.cullFace(e),Bn=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Wr[n];i&&(Fo.deleteBuffer(i),i.name=0,Wr[n]=null,n==Fo.vj&&(Fo.vj=0),n==Fo.Ui&&(Fo.Ui=0))}},Dn=(e,t)=>{for(var r=0;r<e;++r){var n=pe[t+4*r>>2],i=$r[n];i&&(Fo.deleteFramebuffer(i),i.name=0,$r[n]=null)}},Wn=e=>{if(e){var t=Ur[e];t?(Fo.deleteProgram(t),t.name=0,Ur[e]=null):Cr||=1281}},Un=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Gr[n];i&&(Fo.deleteRenderbuffer(i),i.name=0,Gr[n]=null)}},$n=e=>{if(e){var t=Nr[e];t?(Fo.deleteShader(t),Nr[e]=null):Cr||=1281}},Gn=e=>{if(e){var t=Yr[e];t?(Fo.deleteSync(t),t.name=0,Yr[e]=null):Cr||=1281}},Vn=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Vr[n];i&&(Fo.deleteTexture(i),i.name=0,Vr[n]=null)}},Nn=(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2];Fo.deleteVertexArray(zr[n]),zr[n]=null}},zn=e=>Fo.depthFunc(e),Xn=e=>{Fo.depthMask(!!e)},Kn=(e,t)=>{Fo.detachShader(Ur[e],Nr[t])},Hn=e=>Fo.disable(e),qn=e=>{Fo.disableVertexAttribArray(e)},Yn=(e,t,r)=>{Fo.drawArrays(e,t,r)},Jn=(e,t,r,n)=>{Fo.drawArraysInstanced(e,t,r,n)},Qn=[],Zn=(e,t)=>{for(var r=Qn[e],n=0;n<e;n++)r[n]=pe[t+4*n>>2];Fo.drawBuffers(r)},ei=(e,t,r,n)=>{Fo.drawElements(e,t,r,n)},ti=(e,t,r,n,i)=>{Fo.drawElementsInstanced(e,t,r,n,i)},ri=e=>Fo.enable(e),ni=e=>{Fo.enableVertexAttribArray(e)},ii=()=>Fo.flush(),ai=(e,t,r,n)=>{Fo.framebufferRenderbuffer(e,t,r,Gr[n])},oi=(e,t,r,n,i)=>{Fo.framebufferTexture2D(e,t,r,Vr[n],i)},si=(e,t)=>{rn(e,t,"createBuffer",Wr)},li=(e,t)=>{rn(e,t,"createFramebuffer",$r)},ci=(e,t)=>{rn(e,t,"createRenderbuffer",Gr)},di=(e,t)=>{rn(e,t,"createTexture",Vr)},ui=(e,t)=>{rn(e,t,"createVertexArray",zr)},fi=e=>Fo.generateMipmap(e),hi=(e,t,r,n,i,a,o,s)=>{t=Ur[t],(e=Fo[e](t,r))&&(n=s&&$t(e.name,he,s,n),i&&(pe[i>>2]=n),a&&(pe[a>>2]=e.size),o&&(pe[o>>2]=e.type))},mi=(e,t,r,n,i,a,o)=>{hi("getActiveAttrib",e,t,r,n,i,a,o)},gi=(e,t,r,n,i,a,o)=>{hi("getActiveUniform",e,t,r,n,i,a,o)},pi=(e,t)=>Fo.getAttribLocation(Ur[e],t?Ge(he,t):""),bi=(e,t)=>{be[e>>2]=t,be[e+4>>2]=(t-be[e>>2])/4294967296};function vi(){var e=Br(Fo);return e.concat(e.map(e=>"GL_"+e))}var wi=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&(Cr||=1280));case 34814:case 36345:n=0;break;case 34466:var i=Fo.getParameter(34467);n=i?i.length:0;break;case 33309:if(2>Or.version)return void(Cr||=1282);n=vi().length;break;case 33307:case 33308:if(2>Or.version)return void(Cr||=1280);n=33307==e?3:0}if(void 0===n)switch(i=Fo.getParameter(e),typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void(Cr||=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(Cr||=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:pe[t+4*e>>2]=i[e];break;case 2:ve[t+4*e>>2]=i[e];break;case 4:fe[t+e]=i[e]?1:0}return}try{n=0|i.name}catch(t){return Cr||=1280,void ce(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return Cr||=1280,void ce(`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:bi(t,n);break;case 0:pe[t>>2]=n;break;case 2:ve[t>>2]=n;break;case 4:fe[t]=n?1:0}}else Cr||=1281},yi=()=>{var e=Fo.getError()||Cr;return Cr=0,e},Ei=(e,t)=>wi(e,t,2),Pi=(e,t,r,n)=>{if(r){switch(typeof(t=Fo.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(Cr||=1280)}else{if(!(t instanceof WebGLBuffer))return void(Cr||=1280);e=0|t.name}break;default:return void(Cr||=1280)}switch(n){case 1:bi(r,e);break;case 0:pe[r>>2]=e;break;case 2:ve[r>>2]=e;break;case 4:fe[r]=e?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else Cr||=1281},Ti=(e,t)=>wi(e,t,0),ki=(e,t,r,n)=>{null===(e=Fo.getProgramInfoLog(Ur[e]))&&(e="(unknown error)"),t=0<t&&n?$t(e,he,n,t):0,r&&(pe[r>>2]=t)},xi=(e,t,r)=>{if(r)if(e>=Dr)Cr||=1281;else if(e=Ur[e],35716==t)null===(e=Fo.getProgramInfoLog(e))&&(e="(unknown error)"),pe[r>>2]=e.length+1;else if(35719==t){if(!e.tj)for(t=0;t<Fo.getProgramParameter(e,35718);++t)e.tj=Math.max(e.tj,Fo.getActiveUniform(e,t).name.length+1);pe[r>>2]=e.tj}else if(35722==t){if(!e.rj)for(t=0;t<Fo.getProgramParameter(e,35721);++t)e.rj=Math.max(e.rj,Fo.getActiveAttrib(e,t).name.length+1);pe[r>>2]=e.rj}else if(35381==t){if(!e.sj)for(t=0;t<Fo.getProgramParameter(e,35382);++t)e.sj=Math.max(e.sj,Fo.getActiveUniformBlockName(e,t).length+1);pe[r>>2]=e.sj}else pe[r>>2]=Fo.getProgramParameter(e,t);else Cr||=1281},Si=(e,t,r)=>{r?(e=Kr[e],t=2>Or.version?Fo.Ri.getQueryObjectEXT(e,t):Fo.getQueryParameter(e,t),bi(r,"boolean"==typeof t?t?1:0:t)):Cr||=1281},_i=(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Fo.Ri.getQueryObjectEXT(Kr[e],t))?e?1:0:e,pe[r>>2]=n):Cr||=1281},ji=(e,t,r,n)=>{null===(e=Fo.getShaderInfoLog(Nr[e]))&&(e="(unknown error)"),t=0<t&&n?$t(e,he,n,t):0,r&&(pe[r>>2]=t)},Ai=(e,t,r)=>{r?35716==t?(null===(e=Fo.getShaderInfoLog(Nr[e]))&&(e="(unknown error)"),pe[r>>2]=e?e.length+1:0):35720==t?(e=Fo.getShaderSource(Nr[e]),pe[r>>2]=e?e.length+1:0):pe[r>>2]=Fo.getShaderParameter(Nr[e],t):Cr||=1281},Ii=e=>{var t=Jr[e];if(!t){switch(e){case 7939:t=cn(vi().join(" "));break;case 7936:case 7937:case 37445:case 37446:(t=Fo.getParameter(e))||(Cr||=1280),t=t?cn(t):0;break;case 7938:t=cn(`OpenGL ES 3.0 (${Fo.getParameter(7938)})`);break;case 35724:var r=(t=Fo.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=cn(t);break;default:Cr||=1280}Jr[e]=t}return t},Fi=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Ci=e=>{var t,r=e.kj,n=e.Lj;if(!r)for(e.kj=r={},e.Kj={},t=0;t<Fo.getProgramParameter(e,35718);++t){var i=Fo.getActiveUniform(e,t),a=i.name;i=i.size;var o=Fi(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}},Oi=(e,t)=>{if(t=t?Ge(he,t):"",e=Ur[e]){Ci(e);var r=e.kj,n=0,i=t,a=Fi(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]||Fo.getUniformLocation(e,t)))return n}else Cr||=1281;return-1},Mi=e=>{var t=Fo.fk;if(t){var r=t.kj[e];return"number"==typeof r&&(t.kj[e]=r=Fo.getUniformLocation(t,t.Kj[e]+(0<r?`[${r}]`:""))),r}Cr||=1282},Ri=(e,t,r,n)=>{if(r)if(e=Ur[e],Ci(e),"number"==typeof(e=Fo.getUniform(e,Mi(t)))||"boolean"==typeof e)switch(n){case 0:pe[r>>2]=e;break;case 2:ve[r>>2]=e}else for(t=0;t<e.length;t++)switch(n){case 0:pe[r+4*t>>2]=e[t];break;case 2:ve[r+4*t>>2]=e[t]}else Cr||=1281},Li=(e,t,r,n)=>{if(r)if(e=Fo.getVertexAttrib(e,t),34975==t)pe[r>>2]=e&&e.name;else if("number"==typeof e||"boolean"==typeof e)switch(n){case 0:pe[r>>2]=e;break;case 2:ve[r>>2]=e;break;case 5:pe[r>>2]=Math.fround(e)}else for(t=0;t<e.length;t++)switch(n){case 0:pe[r+4*t>>2]=e[t];break;case 2:ve[r+4*t>>2]=e[t];break;case 5:pe[r+4*t>>2]=Math.fround(e[t])}else Cr||=1281},Bi=(e,t,r)=>{Li(e,t,r,0)},Di=e=>Fo.isSync(Yr[e]),Wi=e=>(e=zr[e])?Fo.isVertexArray(e):0,Ui=e=>{e=Ur[e],Fo.linkProgram(e),e.kj=0,e.Lj={}},$i=(e,t)=>{3317==e?Zr=t:3314==e&&(en=t),Fo.pixelStorei(e,t)},Gi=e=>0==(e-=5120)?fe:1==e?he:2==e?me:4==e?pe:6==e?ve:5==e||28922==e||28520==e||30779==e||30782==e?be:ge,Vi=(e,t,r,n,i)=>(e=Gi(e),t=n*((en||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+Zr-1&-Zr),e.subarray(i>>>31-Math.clz32(e.BYTES_PER_ELEMENT),i+t>>>31-Math.clz32(e.BYTES_PER_ELEMENT))),Ni=(e,t,r,n,i,a,o)=>{if(Fo.vj)Fo.readPixels(e,t,r,n,i,a,o);else{var s=Gi(a);o>>>=31-Math.clz32(s.BYTES_PER_ELEMENT),Fo.readPixels(e,t,r,n,i,a,s,o)}},zi=(e,t,r,n)=>Fo.renderbufferStorage(e,t,r,n),Xi=(e,t,r,n)=>Fo.scissor(e,t,r,n),Ki=(e,t,r,n)=>{for(var i="",a=0;a<t;++a)i+=Ve(be[r+4*a>>2],n?be[n+4*a>>2]:void 0);Fo.shaderSource(Nr[e],i)},Hi=(e,t,r,n)=>Fo.stencilFuncSeparate(e,t,r,n),qi=(e,t,r,n)=>Fo.stencilOpSeparate(e,t,r,n),Yi=(e,t,r,n,i,a,o,s,l)=>{if(Fo.Ui)Fo.texImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=Gi(s);l>>>=31-Math.clz32(c.BYTES_PER_ELEMENT),Fo.texImage2D(e,t,r,n,i,a,o,s,c,l)}else c=l?Vi(s,o,n,i,l):null,Fo.texImage2D(e,t,r,n,i,a,o,s,c)},Ji=(e,t,r)=>Fo.texParameterf(e,t,r),Qi=(e,t,r)=>{Fo.texParameterf(e,t,ve[r>>2])},Zi=(e,t,r)=>Fo.texParameteri(e,t,r),ea=(e,t,r,n,i,a,o,s,l)=>{if(Fo.Ui)Fo.texSubImage2D(e,t,r,n,i,a,o,s,l);else if(l){var c=Gi(s);Fo.texSubImage2D(e,t,r,n,i,a,o,s,c,l>>>31-Math.clz32(c.BYTES_PER_ELEMENT))}else l=l?Vi(s,o,i,a,l):null,Fo.texSubImage2D(e,t,r,n,i,a,o,s,l)},ta=(e,t)=>{Fo.uniform1i(Mi(e),t)},ra=(e,t,r)=>{t&&Fo.uniform1iv(Mi(e),pe,r>>2,t)},na=(e,t,r)=>{t&&Fo.uniform4fv(Mi(e),ve,r>>2,4*t)},ia=(e,t,r,n)=>{t&&Fo.uniformMatrix3fv(Mi(e),!!r,ve,n>>2,9*t)},aa=(e,t,r,n)=>{t&&Fo.uniformMatrix4fv(Mi(e),!!r,ve,n>>2,16*t)},oa=e=>{e=Ur[e],Fo.useProgram(e),Fo.fk=e},sa=(e,t)=>{Fo.vertexAttribDivisor(e,t)},la=(e,t,r,n,i,a)=>{Fo.vertexAttribPointer(e,t,r,!!n,i,a)},ca=(e,t,r,n)=>Fo.viewport(e,t,r,n),da=(e,t,r,n)=>{Fo.waitSync(Yr[e],t,(r>>>0)+4294967296*n)},ua=(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},fa=(e,t)=>0<=e?e:32>=t?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e,ha=e=>{for(var t=e;he[t];)++t;return t-e};function ma(e){var t=Array(Gt(e)+1);return e=$t(e,t,0,t.length),t.length=e,t}var ga=[null,[],[]],pa=(e,t)=>{var r=ga[e];0===t||10===t?((1===e?le:ce)(Ge(r,0)),r.length=0):r.push(t)},ba=()=>{Qo(0),ga[1].length&&pa(1,10),ga[2].length&&pa(2,10)};function va(){return["iOS","Android"].includes(c.os.family)?85:"OS X"===c.os.family?54:90}var wa=null,ya=null,Ea=0,Pa=null,Ta=-1,ka=-1,xa=!1,Sa=null,_a=null,ja=null,Aa=null,Ia=null,Fa=null,Ca=!0,Oa={},Ma=0,Ra=0;async function La(e){e=await createImageBitmap(new Blob([e]),{premultiplyAlpha:"none",colorSpaceConversion:"none"});var t=Or.Wi,r=t.createTexture();const n=tn(Vr);return r.name=n,Vr[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 Ba=!1,Da=!1,Wa=0,Ua=0,$a=0,Ga=null,Va=null,Na=null,za=null,Xa=null;async function Ka(e,t,r){if(!Da&&!Ba){console.log(`DeepAR Rigid Face Tracking initialize started. FovY: ${e}, width: ${t}, height: ${r}`),Ba=!0;try{l||=await i.dynamicImports.xzimg(i.globalProgress),null==Ga&&(Ga=new l.Geometry),null==Va&&(Va=new l.VideoManager(null)).setNbFramesDelay(0);const n=await re("rigidFaceDetector"),a=await re("rigidFaceTracker");let o={poseEstimationWasmFilename:await re("rigidFacePEW"),modelFilename:n,featuresFilename:a,fovY:e,geometryToDetect:"FACE",normMode:"eye_center",detectScoreThs:.2,trackScoreThs:.4,filteringShift:.2,filteringLevel:1,computePose:!0,wasmBackend:{enable:!0,...await ne("rigidFaceDetector")}};await Ga.initialize(Va,o),Wa=t,Ua=r,$a=e,Ba=!1,Da=!0,console.log("DeepAR RigidFaceTracking initialized!"),i.Uj(e,t,r)}catch(e){Ba=!1,console.error(e)}}}function Ha(e){if(!Ba&&null!=Ga&&Ga.isInitialized()){Va.preProcessWithBuffer(e);try{Ga.trackSync()}catch(e){return console.log(e),void(Na=!1)}null!=(e=Ga.getInterpolatedPose())&&Ga.isDetected()?(Xa=e.t(),za=e.R(),Na=!0):Na=!1}}var qa,Ya=!1,Ja=!1,Qa=0,Za=0,eo=0,to=null,ro=null,no=null,io=null,ao=null,oo=null,so=null,lo=null;async function co(e,t,r,n){if(!Ja&&!Ya){Ya=!0,console.log(`DeepAR Foot Tracking initialize started. FovY: ${e}, width: ${r}, height: ${n}`);try{l||=await i.dynamicImports.xzimg(i.globalProgress),null==to&&(to=new l.Foot),null==ro&&(ro=new l.VideoManager(null),qa=t,ro.setNbFramesDelay(qa));const a=await re("footDetector"),o=await re("footTracker"),s=await re("footObj");let c={poseEstimationWasmFilename:await re("footPEW"),modelFilename:a,featuresFilename:o,objContainer:s,fovY:e,detectScoreThs:.25,validTrackedKeypThs:.3,trackScoreThs:.3,filteringShift:.5,footToDetect:"BOTH",wasmBackend:{enable:!0,...await ne("footDetector")}};await to.initialize(ro,c),Qa=r,Za=n,eo=e,Ya=!1,Ja=!0,console.log("DeepAR FootTracking initialized!"),i.Bj(e,t,r,n)}catch(e){Ya=!1,console.error(e)}}}function uo(e){if(!Ya&&null!=to&&to.isInitialized()){ro.preProcessWithBuffer(e);try{to.trackSync()}catch(e){return console.log(e),void(lo=ao=!1)}e=to.getInterpolatedPose("LEFT_FOOT");var t=to.getInterpolatedPose("RIGHT_FOOT");null!=e&&e.isDetected()?(no=e.t(),io=e.R(),ao=!0):ao=!1,null!=t&&t.isDetected()?(oo=t.t(),so=t.R(),lo=!0):lo=!1}}var fo,ho,mo=!1,go=!1,po=0,bo=0,vo=0,wo=null,yo=null,Eo=null,Po=null,To=null,ko=0,xo=0;async function So(e,t,r,n){if(!go&&!mo){mo=!0,console.log(`DeepAR Wrist Tracking initialize started. FovY: ${e}, width: ${r}, height: ${n}`);try{l||=await i.dynamicImports.xzimg(i.globalProgress),null==wo&&(wo=new l.Geometry),null==yo&&(yo=new l.VideoManager(null),xo=t,yo.setNbFramesDelay(xo));const a=await re("wristDetector"),o=await re("wristTracker"),s=await re("wristObj");let c={geometryToDetect:"WRIST",poseEstimationWasmFilename:await re("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 ne("wristDetector")}};await wo.initialize(yo,c),po=r,bo=n,vo=e,mo=!1,go=!0,console.log("DeepAR WristTracking initialized!"),i.Cj(e,t,r,n)}catch(e){mo=!1,console.error(e)}}}function _o(e){if(go){yo.preProcessWithBuffer(e);try{wo.trackSync()}catch(e){return console.log(e),void(Eo=!1)}e=!1,wo.isDetected()?(++ko>xo&&(e=!0),(Eo=e)&&(e=wo.getInterpolatedPose(),Po=e.t(),To=e.R())):(ko=0,Eo=!1)}}for(var jo=(e,t,r,n)=>{var a=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&a&&!n?i["_"+e]:(...n)=>((e,t,r,n)=>{var a={string:e=>{var t=0;if(null!=e&&0!==e){t=Gt(e)+1;var r=ts(t);$t(e,he,r,t),t=r}return t},array:e=>{var t=ts(e.length);return fe.set(e,t),t}};e=i["_"+e];var o,s=[],l=0;if(n)for(var c=0;c<n.length;c++){var d=a[r[c]];d?(0===l&&(l=rs()),s[c]=d(n[c])):s[c]=n[c]}return o=r=e(...s),0!==l&&es(l),"string"===t?o?Ge(he,o):"":"boolean"===t?!!o:o})(e,t,r,n)},Ao=Array(256),Io=0;256>Io;++Io)Ao[Io]=String.fromCharCode(Io);Be=Ao,De=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},We=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(lt.prototype,{isAliasOf:function(e){if(!(this instanceof lt&&e instanceof lt))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||Qe(this),this.Ii.jj)return this.Ii.count.value+=1,this;var e=st,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||Qe(this),this.Ii.gj&&!this.Ii.jj)throw new De("Object already scheduled for deletion");et(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||Qe(this),this.Ii.gj&&!this.Ii.jj)throw new De("Object already scheduled for deletion");return nt.push(this),1===nt.length&&Je&&Je(it),this.Ii.gj=!0,this}}),i.getInheritedInstanceCount=()=>Object.keys(at).length,i.getLiveInheritedInstances=()=>{var e,t=[];for(e in at)at.hasOwnProperty(e)&&t.push(at[e]);return t},i.flushPendingDeletes=it,i.setDelayFunction=e=>{Je=e,nt.length&&Je&&Je(it)},Object.assign(vt.prototype,{kk(e){return this.Ij&&(e=this.Ij(e)),e},Dj(e){this.Zi?.(e)},argPackAdvance:8,readValueFromPointer:bt,fromWireType:function(e){function t(){return this.qj?ot(this.Ji.hj,{Mi:this.qk,Li:r,Qi:this,Ni:e}):ot(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 De("ptr should not be undefined");for(;e.Pi;)t=e.lj(t),e=e.Pi;return at[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=rt[n]))return t.call(this);n=this.pj?n.ek:n.pointerType;var i=tt(r,this.Ji,n.Ji);return null===i?t.call(this):this.qj?ot(n.Ji.hj,{Mi:n,Li:i,Qi:this,Ni:e}):ot(n.Ji.hj,{Mi:n,Li:i})}}),yt=i.UnboundTypeError=(fo=Error,(ho=ct("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(fo.prototype),ho.prototype.constructor=ho,ho.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},ho),Ot.push(0,1,void 0,1,null,1,!0,1,!1,1),i.count_emval_handles=()=>Ot.length/2-5-Ct.length,i.requestFullscreen=function(e,t){function r(){pr=!1;var e=n.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.exitFullscreen=Pr,yr&&n.requestPointerLock(),pr=!0,Er?("undefined"!=typeof SDL&&(pe[SDL.screen>>2]=8388608|be[SDL.screen>>2]),jr(i.canvas),Sr()):jr(n)):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),Er?("undefined"!=typeof SDL&&(pe[SDL.screen>>2]=-8388609&be[SDL.screen>>2]),jr(i.canvas),Sr()):jr(n)),i.onFullScreen?.(pr),i.onFullscreen?.(pr)}void 0===(yr=e)&&(yr=!0),void 0===(Er=t)&&(Er=!1);var n=i.canvas;wr||(wr=!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");n.parentNode.insertBefore(a,n),a.appendChild(n),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()},i.requestAnimationFrame=kr,i.setCanvasSize=_r,i.pauseMainLoop=function(){cr=null,dr++},i.resumeMainLoop=function(){dr++;var e=fr,t=hr,r=ur;ur=null,(e=>{function t(){return!(r<dr&&(--tr,or(),1))}ur=e;var r=dr;lr=!1,ir=function(){if(!ye)if(0<gr.length){var r=gr.shift();r.Ek(r.Bk),t()&&setTimeout(ir,0)}else if(t())if(mr=mr+1|0,1==fr&&1<hr&&0!=mr%hr)cr();else{if(0==fr&&(nr=It()),!ye&&!_e&&!ye)try{e(),or()}catch(e){ar(e)}t()&&("object"==typeof SDL&&SDL.audio?.Lk?.(),cr())}}})(r),rr(e,t),cr()},i.getUserMedia=function(e){let t;(t=window).getUserMedia||(t.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},i.createContext=function(e,t,r,n){if(t&&i.Yi&&e==i.canvas)return i.Yi;var a;if(t){var o={antialias:!1,alpha:!1,xj:2};if(n)for(var s in n)o[s]=n[s];if(void 0!==ln&&(a=nn(e,o)))var l=Xr[a].Wi}else l=e.getContext("2d");return l?(r&&(i.Yi=l,t&&on(a),i.vk=t,vr.forEach(e=>e()),function(){function e(){br=document.pointerLockElement===i.canvas||document.mozPointerLockElement===i.canvas||document.webkitPointerLockElement===i.canvas||document.msPointerLockElement===i.canvas}if(!Ir){Ir=!0;var t=i.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),i.elementPointerLock&&t.addEventListener("click",e=>{!br&&i.canvas.requestPointerLock&&(i.canvas.requestPointerLock(),e.preventDefault())},!1))}}()),l):null};for(var Fo,Co=0;32>Co;++Co)Qn.push(Array(Co));const Oo="undefined"!=typeof OffscreenCanvas,Mo=!!Oo&&!!new OffscreenCanvas(1,1).getContext("2d"),Ro=!!Oo&&!!new OffscreenCanvas(1,1).getContext("webgl2");xa=Ro;let Lo=!1;if(Ro){Sa=new OffscreenCanvas(1,1);const e=_a=Sa.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),xa=!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),ja=e.getUniformLocation(n,"u_modelView"),console.log("DeepAR: Using Offscreen canvas (webgl2 context) for image pipeline."),Lo=!0}Lo||(Mo?(console.log("DeepAR: Using Offscreen canvas (2D context) for image pipeline."),wa=new OffscreenCanvas(1,1),ya=wa.getContext("2d")):(console.log("DeepAR: Using DOM canvas (2D context) for image pipeline."),(wa=document.createElement("canvas")).style.display="none",ya=wa.getContext("2d",{willReadFrequently:!0,desynchronized:!0})));var Bo={ga:function(){return 0},wb:function(){return 0},xb:function(){},yb:()=>{Ie("")},sb:()=>{},Ta:(e,t,r,n)=>{Ye(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(he[e])},Vi:null})},hh:(e,t,r,n,i,a,o,s,l,c,d,u,f)=>{d=Ne(d),a=Pt(i,a),s&&=Pt(o,s),c&&=Pt(l,c),f=Pt(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);ut(h,function(){kt(`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=lt.prototype;t=ct(d,function(...e){if(Object.getPrototypeOf(this)!==o)throw new De("Use 'new' to construct "+d);if(void 0===u.$i)throw new De(d+" has no accessible constructor");var t=u.$i[e.length];if(void 0===t)throw new De(`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 ft(d,t,o,f,r,a,s,c);return u.Pi&&((l=u.Pi).Aj??(l.Aj=[]),u.Pi.Aj.push(u)),r=new vt(d,u,!0,!1,!1),l=new vt(d+"*",u,!1,!1,!1),i=new vt(d+" const*",u,!1,!0,!1),rt[e]={pointerType:l,ek:i},Et(h,t),[r,l,i]})},$g:(e,t,r,n,i,a)=>{var o=xt(t,r);i=Pt(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 De(`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]=()=>{kt(`Cannot construct ${e.name} due to unbound types`,o)},qe([],o,n=>(n.splice(1,0,null),e.Ji.$i[t-1]=At(r,n,null,i,a),[])),[]})},s:(e,t,r,n,i,a,o,s,l)=>{var c=xt(r,n);t=Ne(t),t=Ft(t),a=Pt(i,a),qe([],[e],e=>{function n(){kt(`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):(dt(d,t,i),d[t].Oi[r-2]=n),qe([],c,n=>(n=At(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=>Ye(e,Bt),Y:(e,t,r)=>{Ye(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:8,readValueFromPointer:Wt(t,r),Vi:null})},B:(e,t,r,n,i,a,o)=>{var s=xt(t,r);e=Ne(e),e=Ft(e),i=Pt(n,i),ut(e,function(){kt(`Cannot call ${e} due to unbound types`,s)},t-1),qe([],s,r=>(Et(e,At(e,[r[0],null].concat(r.slice(1)),null,i,a,o),t-1),[]))},k:(e,t,r,n,i)=>{if(t=Ne(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};Ye(e,{name:t,fromWireType:i,toWireType:o,argPackAdvance:8,readValueFromPointer:Ut(t,r,0!==n),Vi:null})},e:(e,t,r)=>{function n(e){return new i(fe.buffer,be[e+4>>2],be[e>>2])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];Ye(e,{name:r=Ne(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{mk:!0})},L:e=>{Ye(e,Bt)},Ea:(e,t)=>{var r="std::string"===(t=Ne(t));Ye(e,{name:t,fromWireType:function(e){var t=be[e>>2],n=e+4;if(r)for(var i=n,a=0;a<=t;++a){var o=n+a;if(a==t||0==he[o]){if(i=i?Ge(he,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(he[n+a]);s=s.join("")}return Uo(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 De("Cannot pass non-string to std::string");var i=r&&n?Gt(t):t.length,a=Xo(4+i+1),o=a+4;if(be[a>>2]=i,r&&n)$t(t,he,o,i+1);else if(n)for(n=0;n<i;++n){var s=t.charCodeAt(n);if(255<s)throw Uo(o),new De("String has UTF-16 code units that do not fit in 8 bits");he[o+n]=s}else for(n=0;n<i;++n)he[o+n]=t[n];return null!==e&&e.push(Uo,a),a},argPackAdvance:8,readValueFromPointer:bt,Vi(e){Uo(e)}})},R:(e,t,r)=>{if(r=Ne(r),2===t)var n=Nt,i=zt,a=Xt,o=e=>ge[e>>1];else 4===t&&(n=Kt,i=Ht,a=qt,o=e=>be[e>>2]);Ye(e,{name:r,fromWireType:e=>{for(var r,i=be[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 Uo(e),r},toWireType:(e,n)=>{if("string"!=typeof n)throw new De(`Cannot pass non-string to C++ string type ${r}`);var o=a(n),s=Xo(4+o+t);return be[s>>2]=o/t,i(n,s+4,o+t),null!==e&&e.push(Uo,s),s},argPackAdvance:8,readValueFromPointer:bt,Vi(e){Uo(e)}})},cb:(e,t)=>{Ye(e,{pk:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},fg:(e,t,r)=>(e=Rt(e),t=Yt(t,"emval::as"),Jt(t,r,e)),ia:(e,t,r,n)=>(e=Qt[e])(null,t=Rt(t),r,n),Lf:(e,t,r,n,i)=>(e=Qt[e])(t=Rt(t),t[r=er(r)],n,i),mb:Mt,ka:(e,t,r)=>{t=((e,t)=>{for(var r=Array(e),n=0;n<e;++n)r[n]=Yt(be[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(Jt),i+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s.push(i+"};\n"),e=jt(s)(...l),r=`methodCaller<(${t.map(e=>e.name).join(", ")}) => ${n.name}>`,(e=>{var t=Qt.length;return Qt.push(e),t})(ct(r,e))},qg:(e,t)=>(e=Rt(e),t=Rt(t),Lt(e[t])),Af:e=>{9<e&&(Ot[e+1]+=1)},Wf:e=>Lt(er(e)),Bg:e=>{var t=Rt(e);St(t),Mt(e)},p:(e,t)=>(e=(e=Yt(e,"_emval_take_value")).readValueFromPointer(t),Lt(e)),Ia:function(e,t,r,n,i){d.decode({data:he.slice(e,e+t).buffer,preserveVertexOrder:r}).then(e=>{var t=e.data,r=e.vertexCount,a=e.trianglesCount;e=Ko(n,r,a,i);const o=Ho(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),he.set(a,e),he.set(t,o),qo(n,i)})},Fh:(e,t,r,n,i)=>{if(62e3!=e)r=0;else{if(t)for(;;){if(12321==(e=pe[t>>2]))Rr.alpha=0<pe[t+4>>2];else if(12325==e)Rr.depth=0<pe[t+4>>2];else if(12326==e)Rr.stencil=0<pe[t+4>>2];else if(12337==e)e=pe[t+4>>2],Rr.antialias=0<e;else if(12338==e)e=pe[t+4>>2],Rr.antialias=1==e;else if(12544==e)Rr.Fk=12547!=pe[t+4>>2];else if(12344==e)break;t+=8}r&&n||i?(i&&(pe[i>>2]=1),r&&0<n&&(be[r>>2]=62002),r=1):r=0}return r},W:(e,t,r,n)=>{if(62e3!=e)return 0;for(e=1;;){if(12440!=(t=pe[n>>2])){if(12344==t)break;return 0}e=pe[n+4>>2],n+=8}return 2>e||3<e?0:(Rr.xj=e-1,Rr.Hk=0,0!=(Fr=nn(i.canvas,Rr))?(on(Fr),i.vk=!0,vr.forEach(function(e){e()}),on(null),62004):0)},X:(e,t)=>62e3!=e||62002!=t?0:62006,V:(e,t)=>62e3!=e||62004!=t?0:(Or===Xr[e=Fr]&&(Or=null),"object"==typeof JSEvents&&JSEvents.Mk(Xr[e].Wi.canvas),Xr[e]&&Xr[e].Wi.canvas&&(Xr[e].Wi.canvas.Mj=void 0),Xr[e]=null,1),U:(e,t)=>62e3!=e?0:1,Ga:e=>0!=e&&1!=e?0:62e3,Fa:(e,t,r)=>62e3!=e?0:(t&&(pe[t>>2]=1),r&&(pe[r>>2]=4),Mr=!0,1),l:(e,t,r,n)=>62e3!=e||0!=n&&62004!=n||0!=r&&62006!=r||0!=t&&62006!=t?0:(on(n?Fr:null),1),F:(e,t)=>{if(62e3!=e)return 0;if(Lr[t])return Lr[t];switch(t){case 12371:e=cn("Emscripten");break;case 12372:e=cn("1.4 Emscripten EGL");break;case 12373:e=cn("");break;case 12429:e=cn("OpenGL_ES");break;default:return 0}return Lr[t]=e},T:()=>Mr&&i.Yi&&!i.Yi.isContextLost()?1:0,Da:(e,t)=>62e3!=e?0:(0==t?rr(0,0):rr(1,t),1),Eh:e=>62e3!=e?0:(Mr=!1,1),c:(e,t,r)=>(t=un(t,r),Re[e](...t)),G:(e,t,r)=>(t=un(t,r),Re[e](...t)),ja:e=>{throw ue=e,0<(tr=0)||(Jo(),Ue(ke),ba(),_e=!0),ue=e,0<tr||(ye=!0),new Le(e)},H:It,Ag:fn,zg:hn,ud:(e,t)=>{Fo.beginQuery(e,Kr[t])},Rg:(e,t)=>{Fo.Ri.beginQueryEXT(e,Kr[t])},$c:e=>Fo.beginTransformFeedback(e),yg:(e,t,r)=>{Fo.bindAttribLocation(Ur[e],t,r?Ge(he,r):"")},xg:mn,Yc:(e,t,r)=>{Fo.bindBufferBase(e,t,Wr[r])},Zc:(e,t,r,n,i)=>{Fo.bindBufferRange(e,t,Wr[r],n,i)},wg:gn,vg:pn,bc:(e,t)=>{Fo.bindSampler(e,Hr[t])},ug:bn,Ub:(e,t)=>{Fo.bindTransformFeedback(e,qr[t])},ed:vn,Jg:vn,tg:wn,sg:e=>Fo.blendEquation(e),rg:yn,pg:(e,t)=>Fo.blendFunc(e,t),og:En,id:(e,t,r,n,i,a,o,s,l,c)=>Fo.blitFramebuffer(e,t,r,n,i,a,o,s,l,c),ng:Pn,mg:Tn,lg:kn,kg:xn,zc:(e,t,r,n)=>Fo.clearBufferfi(e,t,r,n),Ac:(e,t,r)=>{Fo.clearBufferfv(e,t,ve,r>>2)},Cc:(e,t,r)=>{Fo.clearBufferiv(e,t,pe,r>>2)},Bc:(e,t,r)=>{Fo.clearBufferuiv(e,t,be,r>>2)},jg:Sn,ig:_n,hg:jn,lc:(e,t,r,n)=>Fo.clientWaitSync(Yr[e],t,(r>>>0)+4294967296*n),gg:An,eg:In,dg:Fn,zd:(e,t,r,n,i,a,o,s,l)=>{Fo.Ui?Fo.compressedTexImage3D(e,t,r,n,i,a,o,s,l):Fo.compressedTexImage3D(e,t,r,n,i,a,o,he,l,s)},cg:Cn,yd:(e,t,r,n,i,a,o,s,l,c,d)=>{Fo.Ui?Fo.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,c,d):Fo.compressedTexSubImage3D(e,t,r,n,i,a,o,s,l,he,d,c)},xc:(e,t,r,n,i)=>Fo.copyBufferSubData(e,t,r,n,i),bg:(e,t,r,n,i,a,o,s)=>Fo.copyTexImage2D(e,t,r,n,i,a,o,s),ag:On,Ad:(e,t,r,n,i,a,o,s,l)=>Fo.copyTexSubImage3D(e,t,r,n,i,a,o,s,l),$f:Mn,_f:Rn,Zf:Ln,Yf:Bn,Xf:Dn,Vf:Wn,wd:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Kr[n];i&&(Fo.deleteQuery(i),Kr[n]=null)}},Tg:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Kr[n];i&&(Fo.Ri.deleteQueryEXT(i),Kr[n]=null)}},Uf:Un,dc:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=Hr[n];i&&(Fo.deleteSampler(i),i.name=0,Hr[n]=null)}},Tf:$n,mc:Gn,Sf:Vn,Tb:(e,t)=>{for(var r=0;r<e;r++){var n=pe[t+4*r>>2],i=qr[n];i&&(Fo.deleteTransformFeedback(i),i.name=0,qr[n]=null)}},dd:Nn,Ig:Nn,Rf:zn,Qf:Xn,Pf:(e,t)=>Fo.depthRange(e,t),Of:Kn,Nf:Hn,Mf:qn,Kf:Yn,qc:Jn,Eg:Jn,Cb:Jn,Id:Jn,Db:Jn,pd:Zn,Gd:Zn,Fg:Zn,Jf:ei,pc:ti,Dg:ti,zb:ti,Ab:ti,Hd:ti,Ed:(e,t,r,n,i,a)=>{Fo.drawElements(e,n,i,a)},If:ri,Hf:ni,td:e=>Fo.endQuery(e),Qg:e=>{Fo.Ri.endQueryEXT(e)},_c:()=>Fo.endTransformFeedback(),oc:(e,t)=>(e=Fo.fenceSync(e,t))?(t=tn(Yr),e.name=t,Yr[t]=e,t):0,Gf:()=>Fo.finish(),Ff:ii,Ef:ai,Df:oi,gd:(e,t,r,n,i)=>{Fo.framebufferTextureLayer(e,t,Vr[r],n,i)},Cf:e=>Fo.frontFace(e),Bf:si,yf:li,xd:(e,t)=>{rn(e,t,"createQuery",Kr)},Ug:(e,t)=>{for(var r=0;r<e;r++){var n=Fo.Ri.createQueryEXT();if(!n){for(Cr||=1282;r<e;)pe[t+4*r++>>2]=0;break}var i=tn(Kr);n.name=i,Kr[i]=n,pe[t+4*r>>2]=i}},xf:ci,ec:(e,t)=>{rn(e,t,"createSampler",Hr)},wf:di,Sb:(e,t)=>{rn(e,t,"createTransformFeedback",qr)},cd:ui,Hg:ui,zf:fi,vf:mi,uf:gi,sc:(e,t,r,n,i)=>{e=Ur[e],(e=Fo.getActiveUniformBlockName(e,t))&&(i&&0<r?(r=$t(e,he,i,r),n&&(pe[n>>2]=r)):n&&(pe[n>>2]=0))},tc:(e,t,r,n)=>{if(n){if(e=Ur[e],35393==r)pe[n>>2]=Fo.getActiveUniformBlockName(e,t).length+1;else if(null!==(e=Fo.getActiveUniformBlockParameter(e,t,r)))if(35395==r)for(r=0;r<e.length;r++)pe[n+4*r>>2]=e[r];else pe[n>>2]=e}else Cr||=1281},vc:(e,t,r,n,i)=>{if(i)if(0<t&&0==r)Cr||=1281;else{e=Ur[e];for(var a=[],o=0;o<t;o++)a.push(pe[r+4*o>>2]);if(e=Fo.getActiveUniforms(e,a,n))for(t=e.length,o=0;o<t;o++)pe[i+4*o>>2]=e[o]}else Cr||=1281},tf:(e,t,r,n)=>{var i=(e=Fo.getAttachedShaders(Ur[e])).length;for(i>t&&(i=t),pe[r>>2]=i,t=0;t<i;++t)pe[n+4*t>>2]=Nr.indexOf(e[t])},sf:pi,rf:(e,t)=>wi(e,t,4),fc:(e,t,r)=>{r?bi(r,Fo.getBufferParameter(e,t)):Cr||=1281},qf:(e,t,r)=>{r?pe[r>>2]=Fo.getBufferParameter(e,t):Cr||=1281},of:yi,nf:Ei,Mc:(e,t)=>Fo.getFragDataLocation(Ur[e],t?Ge(he,t):""),mf:(e,t,r,n)=>{((e=Fo.getFramebufferAttachmentParameter(e,t,r))instanceof WebGLRenderbuffer||e instanceof WebGLTexture)&&(e=0|e.name),pe[n>>2]=e},hc:(e,t,r)=>Pi(e,t,r,1),jc:(e,t)=>{wi(e,t,1)},ad:(e,t,r)=>Pi(e,t,r,0),lf:Ti,Gb:(e,t,r,n,i)=>{if(0>n)Cr||=1281;else if(i){if(null!==(e=Fo.getInternalformatParameter(e,t,r)))for(t=0;t<e.length&&t<n;++t)pe[i+4*t>>2]=e[t]}else Cr||=1281},Ob:()=>{Cr||=1282},jf:ki,kf:xi,Lg:Si,Ng:_i,Kg:Si,rd:(e,t,r)=>{var n;r?(n="boolean"==typeof(e=Fo.getQueryParameter(Kr[e],t))?e?1:0:e,pe[r>>2]=n):Cr||=1281},Mg:_i,sd:(e,t,r)=>{r?pe[r>>2]=Fo.getQuery(e,t):Cr||=1281},Og:(e,t,r)=>{r?pe[r>>2]=Fo.Ri.getQueryEXT(e,t):Cr||=1281},hf:(e,t,r)=>{r?pe[r>>2]=Fo.getRenderbufferParameter(e,t):Cr||=1281},Wb:(e,t,r)=>{r?ve[r>>2]=Fo.getSamplerParameter(Hr[e],t):Cr||=1281},Yb:(e,t,r)=>{r?pe[r>>2]=Fo.getSamplerParameter(Hr[e],t):Cr||=1281},ff:ji,ef:(e,t,r,n)=>{e=Fo.getShaderPrecisionFormat(e,t),pe[r>>2]=e.rangeMin,pe[r+4>>2]=e.rangeMax,pe[n>>2]=e.precision},df:(e,t,r,n)=>{(e=Fo.getShaderSource(Nr[e]))&&(t=0<t&&n?$t(e,he,n,t):0,r&&(pe[r>>2]=t))},gf:Ai,cf:Ii,yc:(e,t)=>{if(2>Or.version)return Cr||=1282,0;var r=Qr[e];return r?0>t||t>=r.length?(Cr||=1281,0):r[t]:7939===e?(r=vi().map(cn),r=Qr[e]=r,0>t||t>=r.length?(Cr||=1281,0):r[t]):(Cr||=1280,0)},ic:(e,t,r,n,i)=>{0>r?Cr||=1281:i?null!==(e=Fo.getSyncParameter(Yr[e],t))&&(pe[i>>2]=e,n&&(pe[n>>2]=1)):Cr||=1281},bf:(e,t,r)=>{r?ve[r>>2]=Fo.getTexParameter(e,t):Cr||=1281},af:(e,t,r)=>{r?pe[r>>2]=Fo.getTexParameter(e,t):Cr||=1281},Vc:(e,t,r,n,i,a,o)=>{e=Ur[e],(e=Fo.getTransformFeedbackVarying(e,t))&&(o&&0<r?(r=$t(e.name,he,o,r),n&&(pe[n>>2]=r)):n&&(pe[n>>2]=0),i&&(pe[i>>2]=e.size),a&&(pe[a>>2]=e.type))},uc:(e,t)=>Fo.getUniformBlockIndex(Ur[e],t?Ge(he,t):""),wc:(e,t,r,n)=>{if(n)if(0<t&&(0==r||0==n))Cr||=1281;else{e=Ur[e];for(var i=[],a=0;a<t;a++)i.push(Ve(pe[r+4*a>>2]));if(e=Fo.getUniformIndices(e,i))for(t=e.length,a=0;a<t;a++)pe[n+4*a>>2]=e[a]}else Cr||=1281},Ze:Oi,$e:(e,t,r)=>{Ri(e,t,r,2)},_e:(e,t,r)=>{Ri(e,t,r,0)},Nc:(e,t,r)=>Ri(e,t,r,0),Tc:Bi,Sc:Bi,We:(e,t,r)=>{r?pe[r>>2]=Fo.getVertexAttribOffset(e,t):Cr||=1281},Ye:(e,t,r)=>{Li(e,t,r,2)},Xe:(e,t,r)=>{Li(e,t,r,5)},Ve:(e,t)=>Fo.hint(e,t),Kb:(e,t,r)=>{for(var n=Qn[t],i=0;i<t;i++)n[i]=pe[r+4*i>>2];Fo.invalidateFramebuffer(e,n)},Jb:(e,t,r,n,i,a,o)=>{for(var s=Qn[t],l=0;l<t;l++)s[l]=pe[r+4*l>>2];Fo.invalidateSubFramebuffer(e,s,n,i,a,o)},Ue:e=>(e=Wr[e])?Fo.isBuffer(e):0,Te:e=>Fo.isEnabled(e),Se:e=>(e=$r[e])?Fo.isFramebuffer(e):0,Re:e=>(e=Ur[e])?Fo.isProgram(e):0,vd:e=>(e=Kr[e])?Fo.isQuery(e):0,Sg:e=>(e=Kr[e])?Fo.Ri.isQueryEXT(e):0,Qe:e=>(e=Gr[e])?Fo.isRenderbuffer(e):0,cc:e=>(e=Hr[e])?Fo.isSampler(e):0,Pe:e=>(e=Nr[e])?Fo.isShader(e):0,nc:Di,Oe:e=>(e=Vr[e])?Fo.isTexture(e):0,Rb:e=>Fo.isTransformFeedback(qr[e]),bd:Wi,Gg:Wi,Ne:e=>Fo.lineWidth(e),Me:Ui,Qb:()=>Fo.pauseTransformFeedback(),Le:$i,Ke:(e,t)=>Fo.polygonOffset(e,t),Nb:()=>{Cr||=1280},Lb:()=>{Cr||=1280},Pg:(e,t)=>{Fo.Ri.queryCounterEXT(Kr[e],t)},Fd:e=>Fo.readBuffer(e),Je:Ni,Ie:()=>{},He:zi,hd:(e,t,r,n,i)=>Fo.renderbufferStorageMultisample(e,t,r,n,i),Pb:()=>Fo.resumeTransformFeedback(),Ge:(e,t)=>{Fo.sampleCoverage(e,!!t)},_b:(e,t,r)=>{Fo.samplerParameterf(Hr[e],t,r)},Zb:(e,t,r)=>{Fo.samplerParameterf(Hr[e],t,ve[r>>2])},ac:(e,t,r)=>{Fo.samplerParameteri(Hr[e],t,r)},$b:(e,t,r)=>{Fo.samplerParameteri(Hr[e],t,pe[r>>2])},Fe:Xi,Ee:()=>{Cr||=1280},De:Ki,Ce:(e,t,r)=>Fo.stencilFunc(e,t,r),Be:Hi,Ae:e=>Fo.stencilMask(e),ze:(e,t)=>Fo.stencilMaskSeparate(e,t),ye:(e,t,r)=>Fo.stencilOp(e,t,r),xe:qi,we:Yi,Dd:(e,t,r,n,i,a,o,s,l,c)=>{if(Fo.Ui)Fo.texImage3D(e,t,r,n,i,a,o,s,l,c);else if(c){var d=Gi(l);Fo.texImage3D(e,t,r,n,i,a,o,s,l,d,c>>>31-Math.clz32(d.BYTES_PER_ELEMENT))}else Fo.texImage3D(e,t,r,n,i,a,o,s,l,null)},ve:Ji,ue:Qi,te:Zi,se:(e,t,r)=>{Fo.texParameteri(e,t,pe[r>>2])},Ib:(e,t,r,n,i)=>Fo.texStorage2D(e,t,r,n,i),Hb:(e,t,r,n,i,a)=>Fo.texStorage3D(e,t,r,n,i,a),qe:ea,Cd:(e,t,r,n,i,a,o,s,l,c,d)=>{if(Fo.Ui)Fo.texSubImage3D(e,t,r,n,i,a,o,s,l,c,d);else if(d){var u=Gi(c);Fo.texSubImage3D(e,t,r,n,i,a,o,s,l,c,u,d>>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else Fo.texSubImage3D(e,t,r,n,i,a,o,s,l,c,null)},Xc:(e,t,r,n)=>{e=Ur[e];for(var i=[],a=0;a<t;a++)i.push(Ve(pe[r+4*a>>2]));Fo.transformFeedbackVaryings(e,i,n)},pe:(e,t)=>{Fo.uniform1f(Mi(e),t)},oe:(e,t,r)=>{t&&Fo.uniform1fv(Mi(e),ve,r>>2,t)},ne:ta,me:ra,Kc:(e,t)=>{Fo.uniform1ui(Mi(e),t)},Gc:(e,t,r)=>{t&&Fo.uniform1uiv(Mi(e),be,r>>2,t)},le:(e,t,r)=>{Fo.uniform2f(Mi(e),t,r)},ke:(e,t,r)=>{t&&Fo.uniform2fv(Mi(e),ve,r>>2,2*t)},je:(e,t,r)=>{Fo.uniform2i(Mi(e),t,r)},ie:(e,t,r)=>{t&&Fo.uniform2iv(Mi(e),pe,r>>2,2*t)},Jc:(e,t,r)=>{Fo.uniform2ui(Mi(e),t,r)},Fc:(e,t,r)=>{t&&Fo.uniform2uiv(Mi(e),be,r>>2,2*t)},he:(e,t,r,n)=>{Fo.uniform3f(Mi(e),t,r,n)},fe:(e,t,r)=>{t&&Fo.uniform3fv(Mi(e),ve,r>>2,3*t)},ee:(e,t,r,n)=>{Fo.uniform3i(Mi(e),t,r,n)},de:(e,t,r)=>{t&&Fo.uniform3iv(Mi(e),pe,r>>2,3*t)},Ic:(e,t,r,n)=>{Fo.uniform3ui(Mi(e),t,r,n)},Ec:(e,t,r)=>{t&&Fo.uniform3uiv(Mi(e),be,r>>2,3*t)},ce:(e,t,r,n,i)=>{Fo.uniform4f(Mi(e),t,r,n,i)},be:na,ae:(e,t,r,n,i)=>{Fo.uniform4i(Mi(e),t,r,n,i)},$d:(e,t,r)=>{t&&Fo.uniform4iv(Mi(e),pe,r>>2,4*t)},Hc:(e,t,r,n,i)=>{Fo.uniform4ui(Mi(e),t,r,n,i)},Dc:(e,t,r)=>{t&&Fo.uniform4uiv(Mi(e),be,r>>2,4*t)},rc:(e,t,r)=>{e=Ur[e],Fo.uniformBlockBinding(e,t,r)},_d:(e,t,r,n)=>{t&&Fo.uniformMatrix2fv(Mi(e),!!r,ve,n>>2,4*t)},od:(e,t,r,n)=>{t&&Fo.uniformMatrix2x3fv(Mi(e),!!r,ve,n>>2,6*t)},md:(e,t,r,n)=>{t&&Fo.uniformMatrix2x4fv(Mi(e),!!r,ve,n>>2,8*t)},Zd:ia,nd:(e,t,r,n)=>{t&&Fo.uniformMatrix3x2fv(Mi(e),!!r,ve,n>>2,6*t)},kd:(e,t,r,n)=>{t&&Fo.uniformMatrix3x4fv(Mi(e),!!r,ve,n>>2,12*t)},Yd:aa,ld:(e,t,r,n)=>{t&&Fo.uniformMatrix4x2fv(Mi(e),!!r,ve,n>>2,8*t)},jd:(e,t,r,n)=>{t&&Fo.uniformMatrix4x3fv(Mi(e),!!r,ve,n>>2,12*t)},Wd:oa,Vd:e=>{Fo.validateProgram(Ur[e])},Ud:(e,t)=>Fo.vertexAttrib1f(e,t),Td:(e,t)=>{Fo.vertexAttrib1f(e,ve[t>>2])},Sd:(e,t,r)=>Fo.vertexAttrib2f(e,t,r),Rd:(e,t)=>{Fo.vertexAttrib2f(e,ve[t>>2],ve[t+4>>2])},Qd:(e,t,r,n)=>Fo.vertexAttrib3f(e,t,r,n),Pd:(e,t)=>{Fo.vertexAttrib3f(e,ve[t>>2],ve[t+4>>2],ve[t+8>>2])},Od:(e,t,r,n,i)=>Fo.vertexAttrib4f(e,t,r,n,i),Nd:(e,t)=>{Fo.vertexAttrib4f(e,ve[t>>2],ve[t+4>>2],ve[t+8>>2],ve[t+12>>2])},Vb:sa,Cg:sa,Eb:sa,Jd:sa,Fb:sa,Rc:(e,t,r,n,i)=>Fo.vertexAttribI4i(e,t,r,n,i),Pc:(e,t)=>{Fo.vertexAttribI4i(e,pe[t>>2],pe[t+4>>2],pe[t+8>>2],pe[t+12>>2])},Qc:(e,t,r,n,i)=>Fo.vertexAttribI4ui(e,t,r,n,i),Oc:(e,t)=>{Fo.vertexAttribI4ui(e,be[t>>2],be[t+4>>2],be[t+8>>2],be[t+12>>2])},Uc:(e,t,r,n,i)=>{Fo.vertexAttribIPointer(e,t,r,n,i)},Ld:la,Kd:ca,kc:da,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=we[a>>3],a+=8):"i64"==e?(e=[pe[a>>2],pe[a+4>>2]],a+=8):(e=pe[a>>2],a+=4),e}for(var n,i,a=t,o=[];;){var s=e;if(0===(n=fe[e]))break;if(i=fe[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=fe[e+1]}var f=0;if(42==i)f=r("i32"),e++,i=fe[e+1];else for(;48<=i&&57>=i;)f=10*f+(i-48),e++,i=fe[e+1];var h=!1,m=-1;if(46==i){if(m=0,h=!0,e++,42==(i=fe[e+1]))m=r("i32"),e++;else for(;!(48>(i=fe[e+1])||57<i);)m=10*m+(i-48),e++;i=fe[e+1]}switch(0>m&&(m=6,h=!1),String.fromCharCode(i)){case"h":if(104==(i=fe[e+2])){e++;var g=1}else g=2;break;case"l":108==(i=fe[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=fe[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?ua:fa)(n&Math.pow(256,g)-1,8*g));var p=Math.abs(n);if(s="",100==i||105==i)var b=ua(n,8*g).toString(10);else if(117==i)b=fa(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*"))?ha(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(he[l++]);else o=o.concat(ma("(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*"),pe[t>>2]=o.length;break;case"%":o.push(n);break;default:for(c=s;c<e+2;c++)o.push(fe[c])}e+=2}else o.push(n),e+=1}return o})(t,r),r=Ge(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&&(sr(),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?ce(r):le(r)},ub:e=>{var t=he.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)-de.buffer.byteLength+65535)/65536;try{de.grow(i),Ee();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},Dh:(e,t)=>{_r(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=be[t>>2],s=be[t+4>>2];t+=8;for(var l=0;l<s;l++)pa(e,he[o+l]);i+=s}return be[n>>2]=i,0},ge:va,O:fn,Ca:hn,f:mn,a:gn,m:pn,d:bn,dh:wn,eh:yn,fh:En,la:Pn,oa:Tn,A:kn,_g:xn,na:Sn,bh:_n,ah:jn,y:An,kh:In,Ch:Fn,qh:Cn,gh:On,zh:Mn,mh:Rn,pa:Ln,va:Bn,z:Dn,Ba:Wn,P:Un,ta:$n,nh:Gn,r:Vn,u:zn,K:Xn,Aa:Kn,b:Hn,wa:qn,Zg:Yn,Vg:ei,g:ri,ya:ni,ch:ii,N:ai,v:oi,ma:si,w:li,Q:ci,q:di,D:fi,th:mi,wh:gi,za:pi,h:yi,Ah:Ei,o:Ti,xh:ki,n:xi,ih:ji,jh:Ai,S:Ii,vh:Oi,oh:Di,yh:Ui,C:$i,J:Ni,ua:zi,M:Xi,lh:Ki,ra:Hi,qa:qi,Bh:Yi,rh:Ji,sh:Qi,i:Zi,ph:ea,Wg:ta,Yg:ra,t:na,Xg:ia,j:aa,E:oa,xa:la,sa:ca,rb:da,Z:async function(e,t,r,n){const[i,a,o]=await La(he.subarray(e,e+t));Yo(i,r,a,o,n)},_:function(e,t,r,n){e=createImageBitmap(new Blob([he.subarray(e,e+t)]),{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then(e=>[n,e]),r in Oa||(Oa[r]=[]),Oa[r].push(e)},Ja:async function(e,t){const r=await Promise.all(Oa[e]),n=Or.Wi;var i=n.createTexture();const a=tn(Vr);i.name=a,Vr[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 Oa[e],Yo(a,e,i,o,t)},Xd:function(){const e=Or.Wi,t=e.createTexture(),r=tn(Vr);t.name=r,Vr[r]=t;const n=i.split_sum;return e.bindTexture(e.TEXTURE_2D,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n),Ma=n.width,Ra=n.height,n.close(),r},pf:function(){wa&&(wa.width=0,wa.height=0,wa.remove()),Sa&&(Sa.width=0,Sa.height=0),Pa=_a=ya=Sa=wa=null},ha:function(e){i.Ki[e]=null},ca:function(e){var t=(e=i.Ki[e]).canvas;const r=e.Yi,n=t.width;if(t=t.height,e.mj||Ta!==n||ka!==t)if(xa){if(!Ca){var a=new Uint8ClampedArray(4*n*t);return r.readPixels(0,0,n,t,r.RGBA,r.UNSIGNED_BYTE,a),Pa=new ImageData(a,n,t),Ta=n,ka=t,e.mj=!1,$(Pa)}if(null==Ia)return r.bindBuffer(r.PIXEL_PACK_BUFFER,Aa),r.readPixels(0,0,n,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ia=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush(),0;switch(r.clientWaitSync(Ia,0,0)){case r.TIMEOUT_EXPIRED:case r.WAIT_FAILED:return Pa?$(Pa):0}a=new Uint8ClampedArray(4*n*t),r.bindBuffer(r.PIXEL_PACK_BUFFER,Aa),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,a),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),r.deleteSync(Ia),Pa=new ImageData(a,n,t),Ta=n,ka=t,e.mj=!1,r.bindBuffer(r.PIXEL_PACK_BUFFER,Aa),r.readPixels(0,0,n,t,r.RGBA,r.UNSIGNED_BYTE,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),Ia=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush()}else Pa=r.getImageData(0,0,n,t),Ta=n,ka=t,e.mj=!1;return $(Pa)},aa:function(e){return(e=i.Ki[e])?e.height:0},ba:function(e){return(e=i.Ki[e])?e.width:0},$:function(e,t){if(!(e=i.Ki[e]))throw Error("Image data does not exist.");he.set(e.data,t)},Bd:function(){return Ra},Md:function(){return Ma},Wc:function(){return Ea||=$({canvas:xa?Sa:wa,Yi:xa?_a:ya,mj:!0}),Ea},fd:function(e){return i.Ki[e].videoHeight},qd:function(e){return i.Ki[e].videoWidth},re:function(e,t){if(({canvas:e}=i.Ki[e]),t=Vr[t],!Or||!t)return-1;Fo.bindTexture(Fo.TEXTURE_2D,t),Fo.texImage2D(Fo.TEXTURE_2D,0,Fo.RGBA,Fo.RGBA,Fo.UNSIGNED_BYTE,e)},Lc:function(e,t,r){const n=(e=i.Ki[e]).canvas,a=e.Yi,o=i.Ki[t];t=o.videoWidth;let s=o.videoHeight;90!==r&&270!==r||([t,s]=[s,t]),xa?((null==Fa||null==Aa&&Ca||Sa.width!==t||Sa.height!==s)&&(n.width=t,n.height=s,a.deleteSync(Ia),Ia=null,null!=Fa&&a.deleteTexture(Fa),null!=Aa&&a.deleteBuffer(Aa),Aa=a.createBuffer(),a.bindBuffer(a.PIXEL_PACK_BUFFER,Aa),a.bufferData(a.PIXEL_PACK_BUFFER,4*t*s,a.STREAM_READ),a.bindBuffer(a.PIXEL_PACK_BUFFER,null),Fa=a.createTexture(),a.bindTexture(a.TEXTURE_2D,Fa),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,Fa),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(ja,!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)):(n.width===t&&n.height===s||(n.width=t,n.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){ve.set(Xa,e>>2)},jb:function(e){ve.set(za,e>>2)},tb:function(){return $a},Bb:function(){return Ua},Mb:function(){return Wa},Xb:Ka,lb:function(){return Na},I:function(){return Da},gc:function(){return Ba},pb:function(){Ba||(null!=Ga&&(Ga.isInitialized()&&Ga.release(),Ga=null),Va=null,Ua=Wa=0,Da=!1,console.log("DeepAR FaceTracking released."))},ob:function(e){if(!(e=i.Ki[e]))throw Error("No image data.");Ha(e)},nb:function(e,t,r){Ha(e=new ImageData(new Uint8ClampedArray(he.subarray(e,e+t*r*4)),t,r))},gb:function(){return eo},hb:function(){return Za},_a:function(e){ve.set(no,e>>2)},Za:function(e){ve.set(io,e>>2)},Xa:function(e){ve.set(oo,e>>2)},Wa:function(e){ve.set(so,e>>2)},ib:function(){return Qa},db:co,x:function(){return Ja},fb:function(){return Ya},$a:function(){return ao},Ya:function(){return lo},eb:function(){Ya||(null!=to&&(to.isInitialized()&&to.release(),to=null),Za=Qa=0,ro=null,Ja=!1,console.log("DeepAR FootTracking released."))},bb:function(e){if(!(e=i.Ki[e]))throw Error("No image data.");uo(e)},ab:function(e,t,r){uo(e=new ImageData(new Uint8ClampedArray(he.subarray(e,e+t*r*4)),t,r))},Ma:function(){return vo},Na:function(){return bo},Oa:function(){return po},Pa:function(e){ve.set(Po,e>>2)},Ra:function(e){ve.set(To,e>>2)},Ka:So,da:function(){return go},Qa:function(){return wo.isMirrored()},Sa:function(){return Eo},La:function(){mo||(null!=wo&&(wo.isInitialized()&&wo.release(),wo=null),bo=po=0,yo=null,go=!1,console.log("DeepAR WristTracking released."))},Va:function(e){if(!(e=i.Ki[e]))throw Error("No image data.");_o(e)},Ua:function(e,t,r){_o(e=new ImageData(new Uint8ClampedArray(he.subarray(e,e+t*r*4)),t,r))}},Do=function(){var e={a:Bo};return je++,Fe||=Ce("deepar.wasm")?"deepar.wasm":i.locateFile?i.locateFile("deepar.wasm",oe):oe+"deepar.wasm",function(e,t){var r=Fe;return se||"function"!=typeof WebAssembly.instantiateStreaming||Ce(r)||"function"!=typeof fetch?Me(r,e,t):fetch(r,{credentials:"same-origin"}).then(n=>WebAssembly.instantiateStreaming(n,e).then(t,function(n){return ce(`wasm streaming compile failed: ${n}`),ce("falling back to ArrayBuffer instantiation"),Me(r,e,t)}))}(e,function(e){Do=e.instance.exports,de=Do.Gh,Ee(),wt=Do.Kh,Te.unshift(Do.Hh),0==--je&&Ae&&(e=Ae,Ae=null,e())}).catch(n),{}}(),Wo=e=>(Wo=Do.Ih)(e),Uo=i._free=e=>(Uo=i._free=Do.Jh)(e),$o=i._shutdownEngine=()=>($o=i._shutdownEngine=Do.Lh)();i._processFrameVideo=(e,t,r)=>(i._processFrameVideo=Do.Mh)(e,t,r),i._processFrameRawPixels=(e,t,r,n)=>(i._processFrameRawPixels=Do.Nh)(e,t,r,n),i._switchEffect=(e,t,r,n,a,o,s,l)=>(i._switchEffect=Do.Oh)(e,t,r,n,a,o,s,l),i._clearEffect=e=>(i._clearEffect=Do.Ph)(e),i._showStats=e=>(i._showStats=Do.Qh)(e),i._setStats=e=>(i._setStats=Do.Rh)(e),i.__Z8getStatsv=e=>(i.__Z8getStatsv=Do.Sh)(e),i._render=()=>(i._render=Do.Th)(),i._changeParameterFloat=(e,t,r,n)=>(i._changeParameterFloat=Do.Uh)(e,t,r,n),i._changeParameterBool=(e,t,r,n)=>(i._changeParameterBool=Do.Vh)(e,t,r,n),i._changeParameterVector=(e,t,r,n,a,o,s)=>(i._changeParameterVector=Do.Wh)(e,t,r,n,a,o,s),i._changeParameterTexture=(e,t,r,n,a,o,s)=>(i._changeParameterTexture=Do.Xh)(e,t,r,n,a,o,s);var Go=i._reset=(e,t)=>(Go=i._reset=Do.Yh)(e,t);i._moveGameObject=(e,t)=>(i._moveGameObject=Do.Zh)(e,t),i._setCameraFov=(e,t)=>(i._setCameraFov=Do._h)(e,t),i._getClosestPointOnMesh=(e,t,r,n)=>(i._getClosestPointOnMesh=Do.$h)(e,t,r,n),i._getTransformationBetween=(e,t)=>(i._getTransformationBetween=Do.ai)(e,t),i._setEnvironmentMap=(e,t)=>(i._setEnvironmentMap=Do.bi)(e,t);var Vo=i._setEnvironmentMapNative=(e,t,r)=>(Vo=i._setEnvironmentMapNative=Do.ci)(e,t,r);i._setEnvironmentMapIntensity=e=>(i._setEnvironmentMapIntensity=Do.di)(e),i._setExposure=e=>(i._setExposure=Do.ei)(e),i._setToneMapping=e=>(i._setToneMapping=Do.fi)(e),i._resetEnvironmentMap=()=>(i._resetEnvironmentMap=Do.gi)(),i._resetToneMapping=()=>(i._resetToneMapping=Do.hi)(),i._resetExposure=()=>(i._resetExposure=Do.ii)(),i._resetEnvironmentMapIntensity=()=>(i._resetEnvironmentMapIntensity=Do.ji)(),i._setBloomEnabled=e=>(i._setBloomEnabled=Do.ki)(e),i._setBloomThreshold=e=>(i._setBloomThreshold=Do.li)(e),i._setBloomStrength=e=>(i._setBloomStrength=Do.mi)(e),i._setBloomRadius=e=>(i._setBloomRadius=Do.ni)(e),i._setDiamondEnvironmentMap=(e,t)=>(i._setDiamondEnvironmentMap=Do.oi)(e,t);var No,zo=i._setDiamondEnvironmentMapNative=(e,t,r)=>(zo=i._setDiamondEnvironmentMapNative=Do.pi)(e,t,r),Xo=i._malloc=e=>(Xo=i._malloc=Do.qi)(e),Ko=i._allocateMeshData=(e,t,r,n)=>(Ko=i._allocateMeshData=Do.ri)(e,t,r,n),Ho=i._getTrianglesDataPtr=(e,t)=>(Ho=i._getTrianglesDataPtr=Do.si)(e,t),qo=i._onDracoMeshDecoded=(e,t)=>(qo=i._onDracoMeshDecoded=Do.ti)(e,t),Yo=i._onCreateImageBitmap=(e,t,r,n,a)=>(Yo=i._onCreateImageBitmap=Do.ui)(e,t,r,n,a),Jo=()=>(Jo=Do.vi)(),Qo=e=>(Qo=Do.wi)(e),Zo=()=>(Zo=Do.xi)(),es=e=>(es=Do.yi)(e),ts=e=>(ts=Do.zi)(e),rs=()=>(rs=Do.Ai)();function ns(){0<je||(Ue(Pe),0<je||No||(No=!0,i.calledRun=!0,ye||(Se=!0,Ue(Te),t(i),i.onRuntimeInitialized?.(),Ue(xe))))}return i.dynCall_viiiij=(e,t,r,n,a,o,s)=>(i.dynCall_viiiij=Do.Bi)(e,t,r,n,a,o,s),i.dynCall_viiij=(e,t,r,n,a,o)=>(i.dynCall_viiij=Do.Ci)(e,t,r,n,a,o),i.dynCall_iij=(e,t,r,n)=>(i.dynCall_iij=Do.Di)(e,t,r,n),i.dynCall_iijii=(e,t,r,n,a,o)=>(i.dynCall_iijii=Do.Ei)(e,t,r,n,a,o),i.dynCall_vijii=(e,t,r,n,a,o)=>(i.dynCall_vijii=Do.Fi)(e,t,r,n,a,o),i.dynCall_jiji=(e,t,r,n,a)=>(i.dynCall_jiji=Do.Gi)(e,t,r,n,a),i.dynCall_viij=(e,t,r,n,a)=>(i.dynCall_viij=Do.Hi)(e,t,r,n,a),i.cwrap=jo,Ae=function e(){No||ns(),No||(Ae=e)},ns(),a});const o=a;var s=n(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(t,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?t(e.value):(n=e.value,n instanceof r?n:new r(function(e){e(n)})).then(a,o)}s((n=n.apply(e,[])).next())})};const y=[],E={};const P=function(e){const t=`__deeparDynamicJsModule_${e}__`;let r;return e=>(n=null)=>w(this,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,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,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]})}("xzimg");var T=function(e,t,r,n){return new(r||(r=Promise))(function(t,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?t(e.value):(n=e.value,n instanceof r?n:new r(function(e){e(n)})).then(a,o)}s((n=n.apply(e,[])).next())})};function k(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}let x,S,_=0;class j{constructor(e){this.isReady=!1,this.currentWorkloadEstimate=0,this.readyPromise=new Promise((e,t)=>T(this,0,void 0,function*(){try{this.worker=new Worker(yield x);const t=r=>{"ready"===r.data.type&&(this.isReady=!0,this.worker.removeEventListener("message",t),e())};this.worker.addEventListener("message",t);const r=yield S;this.worker.postMessage({type:"init",wasmBuffer:r},[r.slice(0)])}catch(e){t(e)}}))}waitForReady(){return T(this,0,void 0,function*(){if(!this.isReady)return this.readyPromise})}decode(e){return T(this,0,void 0,function*(){this.isReady||(yield this.waitForReady());const t=_++,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=k(i,0),s=k(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 A{constructor(e,t){this.decoders=[],this.maxDecoders=navigator.hardwareConcurrency||1,this.maxDecoders>4&&(this.maxDecoders=4),x=t.downloadFile(e.js,"text").then(e=>new Blob([e],{type:"text/javascript"})).then(e=>URL.createObjectURL(e)),S=t.downloadFile(e.wasm);for(let t=0;t<this.maxDecoders;t++)this.decoders.push(new j(e));Promise.all(this.decoders.map(e=>e.waitForReady())).then(()=>{x.then(e=>{URL.revokeObjectURL(e),x=null}),S.then(e=>{S=null})}).catch(()=>{x=null,S=null})}decode(e){return T(this,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()),x=null,S=null}}const I={"text/javascript":5e4,"application/wasm":2e6,"application/octet-stream":2e6,"binary/octet-stream":5e6,"application/x-ttf":3e6},F={".js":5e4,".mjs":5e4,".wasm":2e6,".bin":2e6,".deepar":5e6,".hdr":1e6,".obj":2e4};let C=null;class O{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(C);for(const r of t)if(e.endsWith(r)){i.total=C[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(F);for(const r of t)if(e.endsWith(r)){i.total=F[r];break}}if(0===i.total){const e=n.getResponseHeader("Content-Type");i.total=e in I?I[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 M{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 R=(()=>{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}})(),L=(()=>{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 B;function D(e){B&&e.removePreRenderListener(B),B=null}var W=function(e,t,r,n){return new(r||(r=Promise))(function(t,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function o(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var n;e.done?t(e.value):(n=e.value,n instanceof r?n:new r(function(e){e(n)})).then(a,o)}s((n=n.apply(e,[])).next())})};const U="https://d3jgs8uysn2mr7.cloudfront.net/v"+t+"/",$={video:{facingMode:"user",frameRate:{ideal:30},width:{ideal:640},height:{ideal:360}}},G="DEFAULT_SLOT";let V;function N(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 z(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 X(){return"mediaDevices"in navigator&&"getUserMedia"in navigator.mediaDevices}function K(e){const t=Object.assign({},e);return L&&R?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmSimdPath):R?(delete t.tfjsBackendWasmPath,delete t.tfjsBackendWasmThreadedSimdPath):(delete t.tfjsBackendWasmSimdPath,delete t.tfjsBackendWasmThreadedSimdPath),t}let H=!1,q=!1;function Y(t){var r,n,i,a,l,h,w,y,E,T,k,x,S;return W(this,void 0,void 0,function*(){if(H)throw new Error("DeepAR is already initialized. You cannot have multiple instances of DeepAR object. Call DeepAR.shutdown() first.");if(q)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,I=$,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);I.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:I.video.facingMode,"environment"===(null===(T=null===(E=null==t?void 0:t.additionalOptions)||void 0===E?void 0:E.cameraConfig)||void 0===T?void 0:T.facingMode)&&(j=!1);let B,D=!1;if(F){if(!X())throw new c;null===(S=null===(x=null===(k=null==t?void 0:t.additionalOptions)||void 0===k?void 0:k.cameraConfig)||void 0===x?void 0:x.cameraPermissionAsked)||void 0===S||S.call(x),B=navigator.mediaDevices.getUserMedia(I),B.catch(()=>{D=!0})}const G=()=>W(this,void 0,void 0,function*(){var r,n,i,a,l,c,u,f,h,m,g,v,w,y,E,T;if(D)throw new d;if(t.rootPath=(E=t.rootPath)?E.endsWith("/")?E:E+"/":U,T=yield fetch(function(e){return e.rootPath+"file_sizes.json"}(t)).then(e=>e.json()),C=T,D)throw new d;const k=new O;let x=null;const S=new M;S.addGlobalProgress(k);let _,I,$,G,X=!1;t.effect&&(X=!0,"string"!=typeof t.effect?I=t.effect:_=k.downloadFile(t.effect),x=new O,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)&&($=k.downloadFile(t.effectOptions.envmap)),"string"==typeof(null===(n=null==t?void 0:t.effectOptions)||void 0===n?void 0:n.diamondEnvMap)&&(G=k.downloadFile(t.effectOptions.diamondEnvMap));let Y,Q=!1;(null===(i=null==t?void 0:t.additionalOptions)||void 0===i?void 0:i.customEnvMapPath)&&(Q=!0,Y=k.downloadFile(t.additionalOptions.customEnvMapPath));const Z=t.rootPath+"wasm/deepar.wasm",ee=k.downloadFile(Z),te=k.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 A(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),k),ie={footInit:z(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:z(t,"faceInit")||z(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:z(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"},N(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"},N(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"},N(e))}(t),le=function(e){return e.rootPath+"default_envmap.webp"}(t),ce=Object.values(ie).some(e=>e);if(ie.faceInit){k.downloadFile(re.xzimgPath).catch(()=>{});for(const e of Object.values(K(ae)))k.downloadFile(e).catch(()=>{})}if(ie.footInit){k.downloadFile(re.xzimgPath).catch(()=>{});for(const e of Object.values(K(oe)))k.downloadFile(e).catch(()=>{})}if(ie.wristInit){k.downloadFile(re.xzimgPath).catch(()=>{});for(const e of Object.values(K(se)))k.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:P(re.xzimgPath)},customErrors:e,platform:s,draco_decoder:ne,split_sum:te,globalProgress:S,wasmBinary:null,WASM_HAS_SIMD_SUPPORT:R,WASM_HAS_MULTITHREAD_SUPPORT:L,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)},q=!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,q=!1,S.dispose(),de)throw de;throw e}t.previewElement&&(ue.addPreRenderListener(p),ue.addPostRenderListener(b));const he=new J(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((()=>W(this,void 0,void 0,function*(){var e,r,n;return V=document.createElement("video"),V.setAttribute("playsinline","playsinline"),V.srcObject=yield B.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=>{V.onloadedmetadata=()=>{V.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(V,j),V.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()}}))),X&&me.push((()=>W(this,void 0,void 0,function*(){var e;_&&(I=yield _);let r=null!==(e=null==t?void 0:t.effectOptions)&&void 0!==e?e:{};$&&(r.envmap=yield $),G&&(r.diamondEnvMap=yield G),r.onProgress=x.addCustomProgress(),r.trackingInit=void 0,yield he.switchEffect(I,r)}))()),Q&&!X&&me.push((()=>W(this,void 0,void 0,function*(){yield he.setEnvironmentMap(yield Y)}))()),me.length>0)try{yield Promise.all(me)}catch(e){if(q=!1,ue.globalProgress=null,S.dispose(),he.shutdown(),de)throw de;throw e}return ue.globalProgress=null,S.dispose(),q=!1,H=!0,he});if(!F)return G();try{return(yield Promise.all([G(),B]))[0]}catch(e){if(q=!1,H=!1,v(),D)throw new d;throw e}})}class J{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 W(this,void 0,void 0,function*(){let a,o,s,l;const c=new O,d=new O,u=new M;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(K(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(K(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(K(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:G;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||G)}startCamera(e){return W(this,void 0,void 0,function*(){if(!X())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:$,t,r,null==e?void 0:e.cameraPermissionAsked,null==e?void 0:e.cameraPermissionGranted),this.module.startLoop()})})}stopCamera(){this.stopVideo()}stopVideo(){V&&(null!=V.srcObject&&V.srcObject.getTracks().forEach(e=>{e.stop()}),V.srcObject=null,V.parentNode&&V.parentNode.removeChild(V),V=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(),H=!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 W(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 W(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 W(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 W(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){D(e),B=()=>{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(B)}(this,t):D(this)}showStats(e){this.module.showStats(e)}setStatsCapture(e){this.module._setStats(e)}getStats(){return JSON.parse(this.module.getStats())}}})();var a=i.Gv,o=i.R0,s=i.j2,l=i.i8,c=Object.freeze({__proto__:null,DeepAR:a,errors:o,initialize:s,version:l});e.deepar=c});
|