@zappar/zappar-cv 3.0.0-beta.7 → 3.0.1-alpha.10

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.
Files changed (65) hide show
  1. package/README.md +2 -2
  2. package/lib/additional.d.ts +5 -1
  3. package/lib/camera-source.js +8 -4
  4. package/lib/ceres-worker.d.ts +1 -0
  5. package/lib/ceres-worker.js +67 -0
  6. package/lib/data-download.d.ts +8 -0
  7. package/lib/data-download.js +8 -0
  8. package/lib/deserializer.d.ts +1 -0
  9. package/lib/deserializer.js +7 -0
  10. package/lib/direct.js +3 -1
  11. package/lib/drawgrid.d.ts +2 -0
  12. package/lib/drawgrid.js +136 -0
  13. package/lib/drawpoints.d.ts +11 -0
  14. package/lib/drawpoints.js +180 -0
  15. package/lib/gen/zappar-bridge.d.ts +20 -0
  16. package/lib/gen/zappar-bridge.js +1 -0
  17. package/lib/gen/zappar-client.d.ts +1 -0
  18. package/lib/gen/zappar-client.js +208 -13
  19. package/lib/gen/zappar-cwrap.js +144 -3
  20. package/lib/gen/zappar-native.d.ts +24 -1
  21. package/lib/gen/zappar-native.js +6 -0
  22. package/lib/gen/zappar-server.d.ts +3 -0
  23. package/lib/gen/zappar-server.js +108 -10
  24. package/lib/gen/zappar.d.ts +24 -0
  25. package/lib/gen/zappar.js +1 -0
  26. package/lib/html-element-source.d.ts +3 -1
  27. package/lib/html-element-source.js +12 -6
  28. package/lib/image-process-gl.d.ts +3 -2
  29. package/lib/image-process-gl.js +9 -7
  30. package/lib/imagebitmap-camera-source.d.ts +3 -1
  31. package/lib/imagebitmap-camera-source.js +10 -4
  32. package/lib/index.d.ts +1 -1
  33. package/lib/index.js +1 -1
  34. package/lib/mstp-camera-source.d.ts +11 -1
  35. package/lib/mstp-camera-source.js +84 -6
  36. package/lib/native.js +56 -2
  37. package/lib/pipeline.d.ts +3 -1
  38. package/lib/pipeline.js +12 -2
  39. package/lib/profile.d.ts +2 -2
  40. package/lib/profile.js +3 -3
  41. package/lib/serializer.d.ts +1 -0
  42. package/lib/serializer.js +1 -0
  43. package/lib/version.d.ts +1 -1
  44. package/lib/version.js +1 -1
  45. package/lib/worker-client.d.ts +1 -0
  46. package/lib/worker-client.js +23 -1
  47. package/lib/worker-imagebitmap.js +5 -4
  48. package/lib/worker-messages.d.ts +10 -0
  49. package/lib/worker-messages.js +10 -0
  50. package/lib/worker-server.d.ts +1 -1
  51. package/lib/worker-server.js +83 -15
  52. package/lib/worker.js +2 -1
  53. package/lib/workerinterface.d.ts +8 -1
  54. package/lib/zappar-cv.js +215 -134
  55. package/lib/zappar-cv.wasm +0 -0
  56. package/package.json +4 -3
  57. package/umd/169.zappar-cv.js +1 -1
  58. package/umd/25.zappar-cv.js +1 -0
  59. package/umd/751.zappar-cv.js +1 -0
  60. package/umd/867.zappar-cv.js +1 -0
  61. package/umd/ca409d4e8cebe454b816.wasm +0 -0
  62. package/umd/zappar-cv.js +1 -1
  63. package/umd/zappar-cv.worker.js +1 -1
  64. package/umd/51b1854609f16d933fe2.wasm +0 -0
  65. package/umd/56.zappar-cv.js +0 -1
package/umd/zappar-cv.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ZCV=t():e.ZCV=t()}(self,(function(){return(()=>{var e={238:function(e,t,r){var i;!function(a,n){"use strict";var s="function",o="undefined",_="object",c="string",l="model",d="name",u="type",h="vendor",f="version",p="architecture",m="console",b="mobile",g="tablet",w="smarttv",v="wearable",y="embedded",E="Amazon",A="Apple",T="ASUS",R="BlackBerry",x="Browser",k="Chrome",M="Firefox",F="Google",L="Huawei",I="LG",S="Microsoft",C="Motorola",U="Opera",D="Samsung",P="Sharp",O="Sony",B="Xiaomi",z="Zebra",V="Facebook",N=function(e){for(var t={},r=0;r<e.length;r++)t[e[r].toUpperCase()]=e[r];return t},G=function(e,t){return typeof e===c&&-1!==W(t).indexOf(W(e))},W=function(e){return e.toLowerCase()},Y=function(e,t){if(typeof e===c)return e=e.replace(/^\s\s*/,""),typeof t===o?e:e.substring(0,350)},H=function(e,t){for(var r,i,a,o,c,l,d=0;d<t.length&&!c;){var u=t[d],h=t[d+1];for(r=i=0;r<u.length&&!c;)if(c=u[r++].exec(e))for(a=0;a<h.length;a++)l=c[++i],typeof(o=h[a])===_&&o.length>0?2===o.length?typeof o[1]==s?this[o[0]]=o[1].call(this,l):this[o[0]]=o[1]:3===o.length?typeof o[1]!==s||o[1].exec&&o[1].test?this[o[0]]=l?l.replace(o[1],o[2]):n:this[o[0]]=l?o[1].call(this,l,o[2]):n:4===o.length&&(this[o[0]]=l?o[3].call(this,l.replace(o[1],o[2])):n):this[o]=l||n;d+=2}},j=function(e,t){for(var r in t)if(typeof t[r]===_&&t[r].length>0){for(var i=0;i<t[r].length;i++)if(G(t[r][i],e))return"?"===r?n:r}else if(G(t[r],e))return"?"===r?n:r;return e},q={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},X={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[f,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[f,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,f],[/opios[\/ ]+([\w\.]+)/i],[f,[d,U+" Mini"]],[/\bopr\/([\w\.]+)/i],[f,[d,U]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[d,f],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[f,[d,"UC"+x]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[f,[d,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[f,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[f,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[f,[d,"IE"]],[/yabrowser\/([\w\.]+)/i],[f,[d,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+x],f],[/\bfocus\/([\w\.]+)/i],[f,[d,M+" Focus"]],[/\bopt\/([\w\.]+)/i],[f,[d,U+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[f,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[f,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[f,[d,U+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[f,[d,"MIUI "+x]],[/fxios\/([-\w\.]+)/i],[f,[d,M]],[/\bqihu|(qi?ho?o?|360)browser/i],[[d,"360 "+x]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1 "+x],f],[/(comodo_dragon)\/([\w\.]+)/i],[[d,/_/g," "],f],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[d,f],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,V],f],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[d,f],[/\bgsa\/([\w\.]+) .*safari\//i],[f,[d,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[f,[d,k+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,k+" WebView"],f],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[f,[d,"Android "+x]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,f],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[f,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[f,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[f,j,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,f],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],f],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[f,[d,M+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,f],[/(cobalt)\/([\w\.]+)/i],[d,[f,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[p,"amd64"]],[/(ia32(?=;))/i],[[p,W]],[/((?:i[346]|x)86)[;\)]/i],[[p,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[p,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[p,"armhf"]],[/windows (ce|mobile); ppc;/i],[[p,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[p,/ower/,"",W]],[/(sun4\w)[;\)]/i],[[p,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[p,W]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[h,D],[u,g]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[l,[h,D],[u,b]],[/\((ip(?:hone|od)[\w ]*);/i],[l,[h,A],[u,b]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[l,[h,A],[u,g]],[/(macintosh);/i],[l,[h,A]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[l,[h,L],[u,g]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[l,[h,L],[u,b]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[l,/_/g," "],[h,B],[u,b]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[l,/_/g," "],[h,B],[u,g]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[l,[h,"OPPO"],[u,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[l,[h,"Vivo"],[u,b]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[l,[h,"Realme"],[u,b]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[l,[h,C],[u,b]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[l,[h,C],[u,g]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[h,I],[u,g]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[l,[h,I],[u,b]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[l,[h,"Lenovo"],[u,g]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[l,/_/g," "],[h,"Nokia"],[u,b]],[/(pixel c)\b/i],[l,[h,F],[u,g]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[l,[h,F],[u,b]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[l,[h,O],[u,b]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[l,"Xperia Tablet"],[h,O],[u,g]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[l,[h,"OnePlus"],[u,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[l,[h,E],[u,g]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[l,/(.+)/g,"Fire Phone $1"],[h,E],[u,b]],[/(playbook);[-\w\),; ]+(rim)/i],[l,h,[u,g]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[l,[h,R],[u,b]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[l,[h,T],[u,g]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[l,[h,T],[u,b]],[/(nexus 9)/i],[l,[h,"HTC"],[u,g]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\w]*)/i],[h,[l,/_/g," "],[u,b]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[l,[h,"Acer"],[u,g]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[l,[h,"Meizu"],[u,b]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[l,[h,P],[u,b]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[h,l,[u,b]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[h,l,[u,g]],[/(surface duo)/i],[l,[h,S],[u,g]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[l,[h,"Fairphone"],[u,b]],[/(u304aa)/i],[l,[h,"AT&T"],[u,b]],[/\bsie-(\w*)/i],[l,[h,"Siemens"],[u,b]],[/\b(rct\w+) b/i],[l,[h,"RCA"],[u,g]],[/\b(venue[\d ]{2,7}) b/i],[l,[h,"Dell"],[u,g]],[/\b(q(?:mv|ta)\w+) b/i],[l,[h,"Verizon"],[u,g]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[l,[h,"Barnes & Noble"],[u,g]],[/\b(tm\d{3}\w+) b/i],[l,[h,"NuVision"],[u,g]],[/\b(k88) b/i],[l,[h,"ZTE"],[u,g]],[/\b(nx\d{3}j) b/i],[l,[h,"ZTE"],[u,b]],[/\b(gen\d{3}) b.+49h/i],[l,[h,"Swiss"],[u,b]],[/\b(zur\d{3}) b/i],[l,[h,"Swiss"],[u,g]],[/\b((zeki)?tb.*\b) b/i],[l,[h,"Zeki"],[u,g]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[h,"Dragon Touch"],l,[u,g]],[/\b(ns-?\w{0,9}) b/i],[l,[h,"Insignia"],[u,g]],[/\b((nxa|next)-?\w{0,9}) b/i],[l,[h,"NextBook"],[u,g]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[h,"Voice"],l,[u,b]],[/\b(lvtel\-)?(v1[12]) b/i],[[h,"LvTel"],l,[u,b]],[/\b(ph-1) /i],[l,[h,"Essential"],[u,b]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[l,[h,"Envizen"],[u,g]],[/\b(trio[-\w\. ]+) b/i],[l,[h,"MachSpeed"],[u,g]],[/\btu_(1491) b/i],[l,[h,"Rotor"],[u,g]],[/(shield[\w ]+) b/i],[l,[h,"Nvidia"],[u,g]],[/(sprint) (\w+)/i],[h,l,[u,b]],[/(kin\.[onetw]{3})/i],[[l,/\./g," "],[h,S],[u,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[l,[h,z],[u,g]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[l,[h,z],[u,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[h,l,[u,m]],[/droid.+; (shield) bui/i],[l,[h,"Nvidia"],[u,m]],[/(playstation [345portablevi]+)/i],[l,[h,O],[u,m]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[l,[h,S],[u,m]],[/smart-tv.+(samsung)/i],[h,[u,w]],[/hbbtv.+maple;(\d+)/i],[[l,/^/,"SmartTV"],[h,D],[u,w]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[h,I],[u,w]],[/(apple) ?tv/i],[h,[l,A+" TV"],[u,w]],[/crkey/i],[[l,k+"cast"],[h,F],[u,w]],[/droid.+aft(\w)( bui|\))/i],[l,[h,E],[u,w]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[l,[h,P],[u,w]],[/(bravia[\w ]+)( bui|\))/i],[l,[h,O],[u,w]],[/(mitv-\w{5}) bui/i],[l,[h,B],[u,w]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[h,Y],[l,Y],[u,w]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,w]],[/((pebble))app/i],[h,l,[u,v]],[/droid.+; (glass) \d/i],[l,[h,F],[u,v]],[/droid.+; (wt63?0{2,3})\)/i],[l,[h,z],[u,v]],[/(quest( 2)?)/i],[l,[h,V],[u,v]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[h,[u,y]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[l,[u,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[l,[u,g]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,g]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[u,b]],[/(android[-\w\. ]{0,9});.+buil/i],[l,[h,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[f,[d,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[f,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[d,f],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[f,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,f],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[d,[f,j,q]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[d,"Windows"],[f,j,q]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[f,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,"Mac OS"],[f,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[f,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,f],[/\(bb(10);/i],[f,[d,R]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[f,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[f,[d,M+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[f,[d,"webOS"]],[/crkey\/([\d\.]+)/i],[f,[d,k+"cast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[d,"Chromium OS"],f],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,f],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],f],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[d,f]]},Z=function(e,t){if(typeof e===_&&(t=e,e=n),!(this instanceof Z))return new Z(e,t).getResult();var r=e||(typeof a!==o&&a.navigator&&a.navigator.userAgent?a.navigator.userAgent:""),i=t?function(e,t){var r={};for(var i in e)t[i]&&t[i].length%2==0?r[i]=t[i].concat(e[i]):r[i]=e[i];return r}(X,t):X;return this.getBrowser=function(){var e,t={};return t[d]=n,t[f]=n,H.call(t,r,i.browser),t.major=typeof(e=t.version)===c?e.replace(/[^\d\.]/g,"").split(".")[0]:n,t},this.getCPU=function(){var e={};return e[p]=n,H.call(e,r,i.cpu),e},this.getDevice=function(){var e={};return e[h]=n,e[l]=n,e[u]=n,H.call(e,r,i.device),e},this.getEngine=function(){var e={};return e[d]=n,e[f]=n,H.call(e,r,i.engine),e},this.getOS=function(){var e={};return e[d]=n,e[f]=n,H.call(e,r,i.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===c&&e.length>350?Y(e,350):e,this},this.setUA(r),this};Z.VERSION="1.0.33",Z.BROWSER=N([d,f,"major"]),Z.CPU=N([p]),Z.DEVICE=N([l,h,u,m,b,w,g,v,y]),Z.ENGINE=Z.OS=N([d,f]),typeof t!==o?(e.exports&&(t=e.exports=Z),t.UAParser=Z):r.amdO?(i=function(){return Z}.call(t,r,t,e))===n||(e.exports=i):typeof a!==o&&(a.UAParser=Z);var K=typeof a!==o&&(a.jQuery||a.Zepto);if(K&&!K.ua){var Q=new Z;K.ua=Q.getResult(),K.ua.get=function(){return Q.getUA()},K.ua.set=function(e){Q.setUA(e);var t=Q.getResult();for(var r in t)K.ua[r]=t[r]}}}("object"==typeof window?window:this)},276:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});var i=r(477),a=r.n(i);function n(){return a()('(()=>{var e={238:function(e,t,r){var a;!function(i,n){"use strict";var o="function",_="undefined",s="object",c="string",u="model",f="name",l="type",d="vendor",p="version",m="architecture",h="console",b="mobile",w="tablet",g="smarttv",y="wearable",v="embedded",E="Amazon",A="Apple",k="ASUS",T="BlackBerry",R="Browser",x="Chrome",L="Firefox",z="Google",M="Huawei",F="LG",O="Microsoft",I="Motorola",P="Opera",S="Samsung",C="Sharp",D="Sony",B="Xiaomi",U="Zebra",V="Facebook",N=function(e){for(var t={},r=0;r<e.length;r++)t[e[r].toUpperCase()]=e[r];return t},W=function(e,t){return typeof e===c&&-1!==G(t).indexOf(G(e))},G=function(e){return e.toLowerCase()},Y=function(e,t){if(typeof e===c)return e=e.replace(/^\\s\\s*/,""),typeof t===_?e:e.substring(0,350)},H=function(e,t){for(var r,a,i,_,c,u,f=0;f<t.length&&!c;){var l=t[f],d=t[f+1];for(r=a=0;r<l.length&&!c;)if(c=l[r++].exec(e))for(i=0;i<d.length;i++)u=c[++a],typeof(_=d[i])===s&&_.length>0?2===_.length?typeof _[1]==o?this[_[0]]=_[1].call(this,u):this[_[0]]=_[1]:3===_.length?typeof _[1]!==o||_[1].exec&&_[1].test?this[_[0]]=u?u.replace(_[1],_[2]):n:this[_[0]]=u?_[1].call(this,u,_[2]):n:4===_.length&&(this[_[0]]=u?_[3].call(this,u.replace(_[1],_[2])):n):this[_]=u||n;f+=2}},X=function(e,t){for(var r in t)if(typeof t[r]===s&&t[r].length>0){for(var a=0;a<t[r].length;a++)if(W(t[r][a],e))return"?"===r?n:r}else if(W(t[r],e))return"?"===r?n:r;return e},q={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},K={browser:[[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],[p,[f,"Chrome"]],[/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],[p,[f,"Edge"]],[/(opera mini)\\/([-\\w\\.]+)/i,/(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,/(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i],[f,p],[/opios[\\/ ]+([\\w\\.]+)/i],[p,[f,P+" Mini"]],[/\\bopr\\/([\\w\\.]+)/i],[p,[f,P]],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,/(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,/(?:ms|\\()(ie) ([\\w\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,/(weibo)__([\\d\\.]+)/i],[f,p],[/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],[p,[f,"UC"+R]],[/microm.+\\bqbcore\\/([\\w\\.]+)/i,/\\bqbcore\\/([\\w\\.]+).+microm/i],[p,[f,"WeChat(Win) Desktop"]],[/micromessenger\\/([\\w\\.]+)/i],[p,[f,"WeChat"]],[/konqueror\\/([\\w\\.]+)/i],[p,[f,"Konqueror"]],[/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],[p,[f,"IE"]],[/yabrowser\\/([\\w\\.]+)/i],[p,[f,"Yandex"]],[/(avast|avg)\\/([\\w\\.]+)/i],[[f,/(.+)/,"$1 Secure "+R],p],[/\\bfocus\\/([\\w\\.]+)/i],[p,[f,L+" Focus"]],[/\\bopt\\/([\\w\\.]+)/i],[p,[f,P+" Touch"]],[/coc_coc\\w+\\/([\\w\\.]+)/i],[p,[f,"Coc Coc"]],[/dolfin\\/([\\w\\.]+)/i],[p,[f,"Dolphin"]],[/coast\\/([\\w\\.]+)/i],[p,[f,P+" Coast"]],[/miuibrowser\\/([\\w\\.]+)/i],[p,[f,"MIUI "+R]],[/fxios\\/([-\\w\\.]+)/i],[p,[f,L]],[/\\bqihu|(qi?ho?o?|360)browser/i],[[f,"360 "+R]],[/(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i],[[f,/(.+)/,"$1 "+R],p],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[f,/_/g," "],p],[/(electron)\\/([\\w\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i],[f,p],[/(metasr)[\\/ ]?([\\w\\.]+)/i,/(lbbrowser)/i,/\\[(linkedin)app\\]/i],[f],[/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],[[f,V],p],[/safari (line)\\/([\\w\\.]+)/i,/\\b(line)\\/([\\w\\.]+)\\/iab/i,/(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],[f,p],[/\\bgsa\\/([\\w\\.]+) .*safari\\//i],[p,[f,"GSA"]],[/headlesschrome(?:\\/([\\w\\.]+)| )/i],[p,[f,x+" Headless"]],[/ wv\\).+(chrome)\\/([\\w\\.]+)/i],[[f,x+" WebView"],p],[/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],[p,[f,"Android "+R]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],[f,p],[/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i],[p,[f,"Mobile Safari"]],[/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i],[p,f],[/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],[f,[p,X,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\\/([\\w\\.]+)/i],[f,p],[/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],[[f,"Netscape"],p],[/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],[p,[f,L+" Reality"]],[/ekiohf.+(flow)\\/([\\w\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,/(firefox)\\/([\\w\\.]+)/i,/(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,/(links) \\(([\\w\\.]+)/i],[f,p],[/(cobalt)\\/([\\w\\.]+)/i],[f,[p,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],[[m,"amd64"]],[/(ia32(?=;))/i],[[m,G]],[/((?:i[346]|x)86)[;\\)]/i],[[m,"ia32"]],[/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],[[m,"arm64"]],[/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],[[m,"armhf"]],[/windows (ce|mobile); ppc;/i],[[m,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],[[m,/ower/,"",G]],[/(sun4\\w)[;\\)]/i],[[m,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i],[[m,G]]],device:[[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[u,[d,S],[l,w]],[/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,/samsung[- ]([-\\w]+)/i,/sec-(sgh\\w+)/i],[u,[d,S],[l,b]],[/\\((ip(?:hone|od)[\\w ]*);/i],[u,[d,A],[l,b]],[/\\((ipad);[-\\w\\),; ]+apple/i,/applecoremedia\\/[\\w\\.]+ \\((ipad)/i,/\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],[u,[d,A],[l,w]],[/(macintosh);/i],[u,[d,A]],[/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],[u,[d,M],[l,w]],[/(?:huawei|honor)([-\\w ]+)[;\\)]/i,/\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i],[u,[d,M],[l,b]],[/\\b(poco[\\w ]+)(?: bui|\\))/i,/\\b; (\\w+) build\\/hm\\1/i,/\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,/\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,/\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i],[[u,/_/g," "],[d,B],[l,b]],[/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],[[u,/_/g," "],[d,B],[l,w]],[/; (\\w+) bui.+ oppo/i,/\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],[u,[d,"OPPO"],[l,b]],[/vivo (\\w+)(?: bui|\\))/i,/\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],[u,[d,"Vivo"],[l,b]],[/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],[u,[d,"Realme"],[l,b]],[/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,/\\bmot(?:orola)?[- ](\\w*)/i,/((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i],[u,[d,I],[l,b]],[/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],[u,[d,I],[l,w]],[/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],[u,[d,F],[l,w]],[/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,/\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,/\\blg-?([\\d\\w]+) bui/i],[u,[d,F],[l,b]],[/(ideatab[-\\w ]+)/i,/lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],[u,[d,"Lenovo"],[l,w]],[/(?:maemo|nokia).*(n900|lumia \\d+)/i,/nokia[-_ ]?([-\\w\\.]*)/i],[[u,/_/g," "],[d,"Nokia"],[l,b]],[/(pixel c)\\b/i],[u,[d,z],[l,w]],[/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],[u,[d,z],[l,b]],[/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],[u,[d,D],[l,b]],[/sony tablet [ps]/i,/\\b(?:sony)?sgp\\w+(?: bui|\\))/i],[[u,"Xperia Tablet"],[d,D],[l,w]],[/ (kb2005|in20[12]5|be20[12][59])\\b/i,/(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],[u,[d,"OnePlus"],[l,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\\))/i,/(kf[a-z]+)( bui|\\)).+silk\\//i],[u,[d,E],[l,w]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],[[u,/(.+)/g,"Fire Phone $1"],[d,E],[l,b]],[/(playbook);[-\\w\\),; ]+(rim)/i],[u,d,[l,w]],[/\\b((?:bb[a-f]|st[hv])100-\\d)/i,/\\(bb10; (\\w+)/i],[u,[d,T],[l,b]],[/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],[u,[d,k],[l,w]],[/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],[u,[d,k],[l,b]],[/(nexus 9)/i],[u,[d,"HTC"],[l,w]],[/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,/(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\\w]*)/i],[d,[u,/_/g," "],[l,b]],[/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],[u,[d,"Acer"],[l,w]],[/droid.+; (m[1-5] note) bui/i,/\\bmz-([-\\w]{2,})/i],[u,[d,"Meizu"],[l,b]],[/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],[u,[d,C],[l,b]],[/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,/(hp) ([\\w ]+\\w)/i,/(asus)-?(\\w+)/i,/(microsoft); (lumia[\\w ]+)/i,/(lenovo)[-_ ]?([-\\w]+)/i,/(jolla)/i,/(oppo) ?([\\w ]+) bui/i],[d,u,[l,b]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/(nook)[\\w ]+build\\/(\\w+)/i,/(dell) (strea[kpr\\d ]*[\\dko])/i,/(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,/(trinity)[- ]*(t\\d{3}) bui/i,/(gigaset)[- ]+(q\\w{1,9}) bui/i,/(vodafone) ([\\w ]+)(?:\\)| bui)/i],[d,u,[l,w]],[/(surface duo)/i],[u,[d,O],[l,w]],[/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],[u,[d,"Fairphone"],[l,b]],[/(u304aa)/i],[u,[d,"AT&T"],[l,b]],[/\\bsie-(\\w*)/i],[u,[d,"Siemens"],[l,b]],[/\\b(rct\\w+) b/i],[u,[d,"RCA"],[l,w]],[/\\b(venue[\\d ]{2,7}) b/i],[u,[d,"Dell"],[l,w]],[/\\b(q(?:mv|ta)\\w+) b/i],[u,[d,"Verizon"],[l,w]],[/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],[u,[d,"Barnes & Noble"],[l,w]],[/\\b(tm\\d{3}\\w+) b/i],[u,[d,"NuVision"],[l,w]],[/\\b(k88) b/i],[u,[d,"ZTE"],[l,w]],[/\\b(nx\\d{3}j) b/i],[u,[d,"ZTE"],[l,b]],[/\\b(gen\\d{3}) b.+49h/i],[u,[d,"Swiss"],[l,b]],[/\\b(zur\\d{3}) b/i],[u,[d,"Swiss"],[l,w]],[/\\b((zeki)?tb.*\\b) b/i],[u,[d,"Zeki"],[l,w]],[/\\b([yr]\\d{2}) b/i,/\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],[[d,"Dragon Touch"],u,[l,w]],[/\\b(ns-?\\w{0,9}) b/i],[u,[d,"Insignia"],[l,w]],[/\\b((nxa|next)-?\\w{0,9}) b/i],[u,[d,"NextBook"],[l,w]],[/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[d,"Voice"],u,[l,b]],[/\\b(lvtel\\-)?(v1[12]) b/i],[[d,"LvTel"],u,[l,b]],[/\\b(ph-1) /i],[u,[d,"Essential"],[l,b]],[/\\b(v(100md|700na|7011|917g).*\\b) b/i],[u,[d,"Envizen"],[l,w]],[/\\b(trio[-\\w\\. ]+) b/i],[u,[d,"MachSpeed"],[l,w]],[/\\btu_(1491) b/i],[u,[d,"Rotor"],[l,w]],[/(shield[\\w ]+) b/i],[u,[d,"Nvidia"],[l,w]],[/(sprint) (\\w+)/i],[d,u,[l,b]],[/(kin\\.[onetw]{3})/i],[[u,/\\./g," "],[d,O],[l,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],[u,[d,U],[l,w]],[/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],[u,[d,U],[l,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[d,u,[l,h]],[/droid.+; (shield) bui/i],[u,[d,"Nvidia"],[l,h]],[/(playstation [345portablevi]+)/i],[u,[d,D],[l,h]],[/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],[u,[d,O],[l,h]],[/smart-tv.+(samsung)/i],[d,[l,g]],[/hbbtv.+maple;(\\d+)/i],[[u,/^/,"SmartTV"],[d,S],[l,g]],[/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],[[d,F],[l,g]],[/(apple) ?tv/i],[d,[u,A+" TV"],[l,g]],[/crkey/i],[[u,x+"cast"],[d,z],[l,g]],[/droid.+aft(\\w)( bui|\\))/i],[u,[d,E],[l,g]],[/\\(dtv[\\);].+(aquos)/i,/(aquos-tv[\\w ]+)\\)/i],[u,[d,C],[l,g]],[/(bravia[\\w ]+)( bui|\\))/i],[u,[d,D],[l,g]],[/(mitv-\\w{5}) bui/i],[u,[d,B],[l,g]],[/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,/hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i],[[d,Y],[u,Y],[l,g]],[/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],[[l,g]],[/((pebble))app/i],[d,u,[l,y]],[/droid.+; (glass) \\d/i],[u,[d,z],[l,y]],[/droid.+; (wt63?0{2,3})\\)/i],[u,[d,U],[l,y]],[/(quest( 2)?)/i],[u,[d,V],[l,y]],[/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],[d,[l,v]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],[u,[l,b]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],[u,[l,w]],[/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],[[l,w]],[/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i],[[l,b]],[/(android[-\\w\\. ]{0,9});.+buil/i],[u,[d,"Generic"]]],engine:[[/windows.+ edge\\/([\\w\\.]+)/i],[p,[f,"EdgeHTML"]],[/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],[p,[f,"Blink"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,/ekioh(flow)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,/(icab)[\\/ ]([23]\\.[\\d\\.]+)/i],[f,p],[/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],[p,f]],os:[[/microsoft (windows) (vista|xp)/i],[f,p],[/(windows) nt 6\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,/(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i],[f,[p,X,q]],[/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],[[f,"Windows"],[p,X,q]],[/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,/cfnetwork\\/.+darwin/i],[[p,/_/g,"."],[f,"iOS"]],[/(mac os x) ?([\\w\\. ]*)/i,/(macintosh|mac_powerpc\\b)(?!.+haiku)/i],[[f,"Mac OS"],[p,/_/g,"."]],[/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i],[p,f],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,/(blackberry)\\w*\\/([\\w\\.]*)/i,/(tizen|kaios)[\\/ ]([\\w\\.]+)/i,/\\((series40);/i],[f,p],[/\\(bb(10);/i],[p,[f,T]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],[p,[f,"Symbian"]],[/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],[p,[f,L+" OS"]],[/web0s;.+rt(tv)/i,/\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],[p,[f,"webOS"]],[/crkey\\/([\\d\\.]+)/i],[p,[f,x+"cast"]],[/(cros) [\\w]+ ([\\w\\.]+\\w)/i],[[f,"Chromium OS"],p],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\);]+)/i,/\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,/(mint)[\\/\\(\\) ]?(\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,/(hurd|linux) ?([\\w\\.]*)/i,/(gnu) ?([\\w\\.]*)/i,/\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,/(haiku) (\\w+)/i],[f,p],[/(sunos) ?([\\w\\.\\d]*)/i],[[f,"Solaris"],p],[/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,/(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,/\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\\w\\.]*)/i],[f,p]]},Z=function(e,t){if(typeof e===s&&(t=e,e=n),!(this instanceof Z))return new Z(e,t).getResult();var r=e||(typeof i!==_&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),a=t?function(e,t){var r={};for(var a in e)t[a]&&t[a].length%2==0?r[a]=t[a].concat(e[a]):r[a]=e[a];return r}(K,t):K;return this.getBrowser=function(){var e,t={};return t[f]=n,t[p]=n,H.call(t,r,a.browser),t.major=typeof(e=t.version)===c?e.replace(/[^\\d\\.]/g,"").split(".")[0]:n,t},this.getCPU=function(){var e={};return e[m]=n,H.call(e,r,a.cpu),e},this.getDevice=function(){var e={};return e[d]=n,e[u]=n,e[l]=n,H.call(e,r,a.device),e},this.getEngine=function(){var e={};return e[f]=n,e[p]=n,H.call(e,r,a.engine),e},this.getOS=function(){var e={};return e[f]=n,e[p]=n,H.call(e,r,a.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===c&&e.length>350?Y(e,350):e,this},this.setUA(r),this};Z.VERSION="1.0.33",Z.BROWSER=N([f,p,"major"]),Z.CPU=N([m]),Z.DEVICE=N([u,d,l,h,b,g,w,y,v]),Z.ENGINE=Z.OS=N([f,p]),typeof t!==_?(e.exports&&(t=e.exports=Z),t.UAParser=Z):r.amdO?(a=function(){return Z}.call(t,r,t,e))===n||(e.exports=a):typeof i!==_&&(i.UAParser=Z);var j=typeof i!==_&&(i.jQuery||i.Zepto);if(j&&!j.ua){var Q=new Z;j.ua=Q.getResult(),j.ua.get=function(){return Q.getUA()},j.ua.set=function(e){Q.setUA(e);var t=Q.getResult();for(var r in t)j.ua[r]=t[r]}}}("object"==typeof window?window:this)},751:(e,t,r)=>{"use strict";e.exports=r.p+"51b1854609f16d933fe2.wasm"}},t={};function r(a){var i=t[a];if(void 0!==i)return i.exports;var n=t[a]={exports:{}};return e[a].call(n.exports,n,n.exports,r),n.exports}r.m=e,r.amdO={},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var a=t.getElementsByTagName("script");a.length&&(e=a[a.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\\?.*$/,"").replace(/\\/[^\\/]+$/,"/"),r.p=e})(),r.b=self.location+"",(()=>{"use strict";var e;const t=(e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var r,a,i;t=t||{},r||(r=void 0!==t?t:{}),r.ready=new Promise((function(e,t){a=e,i=t}));var n,o={};for(n in r)r.hasOwnProperty(n)&&(o[n]=r[n]);var _="./this.program";function s(e,t){throw t}var c,u="";u=self.location.href,e&&(u=e),u=0!==u.indexOf("blob:")?u.substr(0,u.lastIndexOf("/")+1):"",c=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)};var f,l,d=r.print||console.log.bind(console),p=r.printErr||console.warn.bind(console);for(n in o)o.hasOwnProperty(n)&&(r[n]=o[n]);o=null,r.thisProgram&&(_=r.thisProgram),r.quit&&(s=r.quit),r.wasmBinary&&(l=r.wasmBinary);var m=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&Z("no native wasm support detected");var h,b,w=!1;function g(e,t){e||Z("Assertion failed: "+t)}function y(e){var t=r["_"+e];return g(t,"Cannot call unknown function "+e+", make sure it is exported"),t}var v,E,A,k,T,R,x,L,z,M="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(e,t,r){var a=t+r;for(r=t;e[r]&&!(r>=a);)++r;if(16<r-t&&e.subarray&&M)return M.decode(e.subarray(t,r));for(a="";t<r;){var i=e[t++];if(128&i){var n=63&e[t++];if(192==(224&i))a+=String.fromCharCode((31&i)<<6|n);else{var o=63&e[t++];65536>(i=224==(240&i)?(15&i)<<12|n<<6|o:(7&i)<<18|n<<12|o<<6|63&e[t++])?a+=String.fromCharCode(i):(i-=65536,a+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else a+=String.fromCharCode(i)}return a}function O(e,t){return e?F(A,e,t):""}function I(e,t,r,a){if(!(0<a))return 0;var i=r;a=r+a-1;for(var n=0;n<e.length;++n){var o=e.charCodeAt(n);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++n)),127>=o){if(r>=a)break;t[r++]=o}else{if(2047>=o){if(r+1>=a)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=a)break;t[r++]=224|o>>12}else{if(r+3>=a)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}function P(e){for(var t=0,r=0;r<e.length;++r){var a=e.charCodeAt(r);55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++r)),127>=a?++t:t=2047>=a?t+2:65535>=a?t+3:t+4}return t}function S(e){var t=P(e)+1,r=sr(t);return r&&I(e,E,r,t),r}function C(e,t){for(var r=0;r<e.length;++r)E[t++>>0]=e.charCodeAt(r);E[t>>0]=0}function D(){var e=h.buffer;v=e,r.HEAP8=E=new Int8Array(e),r.HEAP16=k=new Int16Array(e),r.HEAP32=R=new Int32Array(e),r.HEAPU8=A=new Uint8Array(e),r.HEAPU16=T=new Uint16Array(e),r.HEAPU32=x=new Uint32Array(e),r.HEAPF32=L=new Float32Array(e),r.HEAPF64=z=new Float64Array(e)}var B,U=[],V=[],N=[],W=[];function G(){var e=r.preRun.shift();U.unshift(e)}var Y=0,H=null,X=null;function q(){Y++,r.monitorRunDependencies&&r.monitorRunDependencies(Y)}function K(){if(Y--,r.monitorRunDependencies&&r.monitorRunDependencies(Y),0==Y&&(null!==H&&(clearInterval(H),H=null),X)){var e=X;X=null,e()}}function Z(e){throw r.onAbort&&r.onAbort(e),p(e),w=!0,b=1,e=new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info."),i(e),e}r.preloadedImages={},r.preloadedAudios={};var j,Q,$,J="zappar-cv.wasm";if(String.prototype.startsWith?!J.startsWith("data:application/octet-stream;base64,"):0!==J.indexOf("data:application/octet-stream;base64,")){var ee=J;J=r.locateFile?r.locateFile(ee,u):u+ee}function te(e){for(;0<e.length;){var t=e.shift();if("function"==typeof t)t(r);else{var a=t.Pd;"number"==typeof a?void 0===t.hd?B.get(a)():B.get(a)(t.hd):a(void 0===t.hd?null:t.hd)}}}function re(e,t){if(0===e)e=Date.now();else{if(1!==e&&4!==e)return R[ur()>>2]=28,-1;e=$()}return R[t>>2]=e/1e3|0,R[t+4>>2]=e%1e3*1e6|0,0}function ae(e){this.ad=e-16,this.fe=function(e){R[this.ad+8>>2]=e},this.ce=function(e){R[this.ad+0>>2]=e},this.de=function(){R[this.ad+4>>2]=0},this.be=function(){E[this.ad+12>>0]=0},this.ee=function(){E[this.ad+13>>0]=0},this.Sd=function(e,t){this.fe(e),this.ce(t),this.de(),this.be(),this.ee()}}function ie(e,t){for(var r=0,a=e.length-1;0<=a;a--){var i=e[a];"."===i?e.splice(a,1):".."===i?(e.splice(a,1),r++):r&&(e.splice(a,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function ne(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=ie(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function oe(e){var t=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&(t=t.substr(0,t.length-1)),e+t):"."}function _e(e){if("/"===e)return"/";var t=(e=(e=ne(e)).replace(/\\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)}function se(){for(var e="",t=!1,r=arguments.length-1;-1<=r&&!t;r--){if("string"!=typeof(t=0<=r?arguments[r]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,t="/"===t.charAt(0)}return(t?"/":"")+(e=ie(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."}$=function(){return performance.now()};var ce=[];function ue(e,t){ce[e]={input:[],Qc:[],$c:t},Se(e,fe)}var fe={open:function(e){var t=ce[e.node.ed];if(!t)throw new Ee(43);e.Oc=t,e.seekable=!1},close:function(e){e.Oc.$c.flush(e.Oc)},flush:function(e){e.Oc.$c.flush(e.Oc)},read:function(e,t,r,a){if(!e.Oc||!e.Oc.$c.Cd)throw new Ee(60);for(var i=0,n=0;n<a;n++){try{var o=e.Oc.$c.Cd(e.Oc)}catch(e){throw new Ee(29)}if(void 0===o&&0===i)throw new Ee(6);if(null==o)break;i++,t[r+n]=o}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,r,a){if(!e.Oc||!e.Oc.$c.ud)throw new Ee(60);try{for(var i=0;i<a;i++)e.Oc.$c.ud(e.Oc,t[r+i])}catch(e){throw new Ee(29)}return a&&(e.node.timestamp=Date.now()),i}},le={Cd:function(e){if(!e.input.length){var t=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\\n"),!t)return null;e.input=ir(t,!0)}return e.input.shift()},ud:function(e,t){null===t||10===t?(d(F(e.Qc,0)),e.Qc=[]):0!=t&&e.Qc.push(t)},flush:function(e){e.Qc&&0<e.Qc.length&&(d(F(e.Qc,0)),e.Qc=[])}},de={ud:function(e,t){null===t||10===t?(p(F(e.Qc,0)),e.Qc=[]):0!=t&&e.Qc.push(t)},flush:function(e){e.Qc&&0<e.Qc.length&&(p(F(e.Qc,0)),e.Qc=[])}},pe={Tc:null,Vc:function(){return pe.createNode(null,"/",16895,0)},createNode:function(e,t,r,a){if(24576==(61440&r)||4096==(61440&r))throw new Ee(63);return pe.Tc||(pe.Tc={dir:{node:{Sc:pe.Kc.Sc,Uc:pe.Kc.Uc,cd:pe.Kc.cd,kd:pe.Kc.kd,Hd:pe.Kc.Hd,qd:pe.Kc.qd,Id:pe.Kc.Id,ld:pe.Kc.ld,md:pe.Kc.md},stream:{Yc:pe.Mc.Yc}},file:{node:{Sc:pe.Kc.Sc,Uc:pe.Kc.Uc},stream:{Yc:pe.Mc.Yc,read:pe.Mc.read,write:pe.Mc.write,xd:pe.Mc.xd,Dd:pe.Mc.Dd,Fd:pe.Mc.Fd}},link:{node:{Sc:pe.Kc.Sc,Uc:pe.Kc.Uc,fd:pe.Kc.fd},stream:{}},yd:{node:{Sc:pe.Kc.Sc,Uc:pe.Kc.Uc},stream:Pe}}),16384==(61440&(r=Le(e,t,r,a)).mode)?(r.Kc=pe.Tc.dir.node,r.Mc=pe.Tc.dir.stream,r.Lc={}):32768==(61440&r.mode)?(r.Kc=pe.Tc.file.node,r.Mc=pe.Tc.file.stream,r.Nc=0,r.Lc=null):40960==(61440&r.mode)?(r.Kc=pe.Tc.link.node,r.Mc=pe.Tc.link.stream):8192==(61440&r.mode)&&(r.Kc=pe.Tc.yd.node,r.Mc=pe.Tc.yd.stream),r.timestamp=Date.now(),e&&(e.Lc[t]=r,e.timestamp=r.timestamp),r},se:function(e){return e.Lc?e.Lc.subarray?e.Lc.subarray(0,e.Nc):new Uint8Array(e.Lc):new Uint8Array(0)},zd:function(e,t){var r=e.Lc?e.Lc.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.Lc,e.Lc=new Uint8Array(t),0<e.Nc&&e.Lc.set(r.subarray(0,e.Nc),0))},$d:function(e,t){if(e.Nc!=t)if(0==t)e.Lc=null,e.Nc=0;else{var r=e.Lc;e.Lc=new Uint8Array(t),r&&e.Lc.set(r.subarray(0,Math.min(t,e.Nc))),e.Nc=t}},Kc:{Sc:function(e){var t={};return t.Nd=8192==(61440&e.mode)?e.id:1,t.td=e.id,t.mode=e.mode,t.Yd=1,t.uid=0,t.Qd=0,t.ed=e.ed,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Nc:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.Jd=new Date(e.timestamp),t.Xd=new Date(e.timestamp),t.Md=new Date(e.timestamp),t.Kd=4096,t.Ld=Math.ceil(t.size/t.Kd),t},Uc:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&pe.$d(e,t.size)},cd:function(){throw Ae[44]},kd:function(e,t,r,a){return pe.createNode(e,t,r,a)},Hd:function(e,t,r){if(16384==(61440&e.mode)){try{var a=xe(t,r)}catch(e){}if(a)for(var i in a.Lc)throw new Ee(55)}delete e.parent.Lc[e.name],e.parent.timestamp=Date.now(),e.name=r,t.Lc[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},qd:function(e,t){delete e.Lc[t],e.timestamp=Date.now()},Id:function(e,t){var r,a=xe(e,t);for(r in a.Lc)throw new Ee(55);delete e.Lc[t],e.timestamp=Date.now()},ld:function(e){var t,r=[".",".."];for(t in e.Lc)e.Lc.hasOwnProperty(t)&&r.push(t);return r},md:function(e,t,r){return(e=pe.createNode(e,t,41471,0)).link=r,e},fd:function(e){if(40960!=(61440&e.mode))throw new Ee(28);return e.link}},Mc:{read:function(e,t,r,a,i){var n=e.node.Lc;if(i>=e.node.Nc)return 0;if(8<(e=Math.min(e.node.Nc-i,a))&&n.subarray)t.set(n.subarray(i,i+e),r);else for(a=0;a<e;a++)t[r+a]=n[i+a];return e},write:function(e,t,r,a,i,n){if(t.buffer===E.buffer&&(n=!1),!a)return 0;if((e=e.node).timestamp=Date.now(),t.subarray&&(!e.Lc||e.Lc.subarray)){if(n)return e.Lc=t.subarray(r,r+a),e.Nc=a;if(0===e.Nc&&0===i)return e.Lc=t.slice(r,r+a),e.Nc=a;if(i+a<=e.Nc)return e.Lc.set(t.subarray(r,r+a),i),a}if(pe.zd(e,i+a),e.Lc.subarray&&t.subarray)e.Lc.set(t.subarray(r,r+a),i);else for(n=0;n<a;n++)e.Lc[i+n]=t[r+n];return e.Nc=Math.max(e.Nc,i+a),a},Yc:function(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Nc),0>t)throw new Ee(28);return t},xd:function(e,t,r){pe.zd(e.node,t+r),e.node.Nc=Math.max(e.node.Nc,t+r)},Dd:function(e,t,r,a,i,n){if(0!==t)throw new Ee(28);if(32768!=(61440&e.node.mode))throw new Ee(43);if(e=e.node.Lc,2&n||e.buffer!==v){for((0<a||a+r<e.length)&&(e=e.subarray?e.subarray(a,a+r):Array.prototype.slice.call(e,a,a+r)),a=!0,n=16384*Math.ceil(r/16384),t=sr(n);r<n;)E[t+r++]=0;if(!(r=t))throw new Ee(48);E.set(e,r)}else a=!1,r=e.byteOffset;return{ad:r,oe:a}},Fd:function(e,t,r,a,i){if(32768!=(61440&e.node.mode))throw new Ee(43);return 2&i||pe.Mc.write(e,t,0,a,r,!1),0}}},me=null,he={},be=[],we=1,ge=null,ye=!0,ve={},Ee=null,Ae={};function ke(e,t){if(t=t||{},!(e=se("/",e)))return{path:"",node:null};var r,a={Ad:!0,vd:0};for(r in a)void 0===t[r]&&(t[r]=a[r]);if(8<t.vd)throw new Ee(32);e=ie(e.split("/").filter((function(e){return!!e})),!1);var i=me;for(a="/",r=0;r<e.length;r++){var n=r===e.length-1;if(n&&t.parent)break;if(i=xe(i,e[r]),a=ne(a+"/"+e[r]),i.dd&&(!n||n&&t.Ad)&&(i=i.dd.root),!n||t.jd)for(n=0;40960==(61440&i.mode);)if(i=Ne(a),i=ke(a=se(oe(a),i),{vd:t.vd}).node,40<n++)throw new Ee(32)}return{path:a,node:i}}function Te(e){for(var t;;){if(e===e.parent)return e=e.Vc.Ed,t?"/"!==e[e.length-1]?e+"/"+t:e+t:e;t=t?e.name+"/"+t:e.name,e=e.parent}}function Re(e,t){for(var r=0,a=0;a<t.length;a++)r=(r<<5)-r+t.charCodeAt(a)|0;return(e+r>>>0)%ge.length}function xe(e,t){var r;if(r=(r=Fe(e,"x"))?r:e.Kc.cd?0:2)throw new Ee(r,e);for(r=ge[Re(e.id,t)];r;r=r.Zc){var a=r.name;if(r.parent.id===e.id&&a===t)return r}return e.Kc.cd(e,t)}function Le(e,t,r,a){return t=Re((e=new ar(e,t,r,a)).parent.id,e.name),e.Zc=ge[t],ge[t]=e}var ze={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090};function Me(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function Fe(e,t){return ye||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2}function Oe(e,t){try{return xe(e,t),20}catch(e){}return Fe(e,"wx")}var Ie,Pe={open:function(e){e.Mc=he[e.node.ed].Mc,e.Mc.open&&e.Mc.open(e)},Yc:function(){throw new Ee(70)}};function Se(e,t){he[e]={Mc:t}}function Ce(e,t){var r="/"===t,a=!t;if(r&&me)throw new Ee(10);if(!r&&!a){var i=ke(t,{Ad:!1});if(t=i.path,(i=i.node).dd)throw new Ee(10);if(16384!=(61440&i.mode))throw new Ee(54)}t={type:e,we:{},Ed:t,Wd:[]},(e=e.Vc(t)).Vc=t,t.root=e,r?me=e:i&&(i.dd=t,i.Vc&&i.Vc.Wd.push(t))}function De(e,t,r){var a=ke(e,{parent:!0}).node;if(!(e=_e(e))||"."===e||".."===e)throw new Ee(28);var i=Oe(a,e);if(i)throw new Ee(i);if(!a.Kc.kd)throw new Ee(63);return a.Kc.kd(a,e,t,r)}function Be(e){return De(e,16895,0)}function Ue(e,t,r){void 0===r&&(r=t,t=438),De(e,8192|t,r)}function Ve(e,t){if(!se(e))throw new Ee(44);var r=ke(t,{parent:!0}).node;if(!r)throw new Ee(44);var a=Oe(r,t=_e(t));if(a)throw new Ee(a);if(!r.Kc.md)throw new Ee(63);r.Kc.md(r,t,e)}function Ne(e){if(!(e=ke(e).node))throw new Ee(44);if(!e.Kc.fd)throw new Ee(28);return se(Te(e.parent),e.Kc.fd(e))}function We(e,t){if(!(e=ke(e,{jd:!t}).node))throw new Ee(44);if(!e.Kc.Sc)throw new Ee(63);return e.Kc.Sc(e)}function Ge(e){return We(e,!0)}function Ye(e,t,a,i){if(""===e)throw new Ee(44);if("string"==typeof t){var n=ze[t];if(void 0===n)throw Error("Unknown file open mode: "+t);t=n}if(a=64&t?4095&(void 0===a?438:a)|32768:0,"object"==typeof e)var o=e;else{e=ne(e);try{o=ke(e,{jd:!(131072&t)}).node}catch(e){}}if(n=!1,64&t)if(o){if(128&t)throw new Ee(20)}else o=De(e,a,0),n=!0;if(!o)throw new Ee(44);if(8192==(61440&o.mode)&&(t&=-513),65536&t&&16384!=(61440&o.mode))throw new Ee(54);if(!n&&(a=o?40960==(61440&o.mode)?32:16384==(61440&o.mode)&&("r"!==Me(t)||512&t)?31:Fe(o,Me(t)):44))throw new Ee(a);if(512&t){if(!(a="string"==typeof(a=o)?ke(a,{jd:!0}).node:a).Kc.Uc)throw new Ee(63);if(16384==(61440&a.mode))throw new Ee(31);if(32768!=(61440&a.mode))throw new Ee(28);if(n=Fe(a,"w"))throw new Ee(n);a.Kc.Uc(a,{size:0,timestamp:Date.now()})}t&=-131713,(i=function(e,t){Ze||((Ze=function(){}).prototype={});var r,a=new Ze;for(r in e)a[r]=e[r];return e=a,t=function(e){for(e=e||0;e<=4096;e++)if(!be[e])return e;throw new Ee(33)}(t),e.Wc=t,be[t]=e}({node:o,path:Te(o),flags:t,seekable:!0,position:0,Mc:o.Mc,ke:[],error:!1},i)).Mc.open&&i.Mc.open(i),!r.logReadFiles||1&t||(je||(je={}),e in je||(je[e]=1,p("FS.trackingDelegate error on read file: "+e)));try{ve.onOpenFile&&(o=0,1!=(2097155&t)&&(o|=1),0!=(2097155&t)&&(o|=2),ve.onOpenFile(e,o))}catch(t){p("FS.trackingDelegate[\'onOpenFile\'](\'"+e+"\', flags) threw an exception: "+t.message)}return i}function He(e,t,r){if(null===e.Wc)throw new Ee(8);if(!e.seekable||!e.Mc.Yc)throw new Ee(70);if(0!=r&&1!=r&&2!=r)throw new Ee(28);return e.position=e.Mc.Yc(e,t,r),e.ke=[],e.position}function Xe(){Ee||((Ee=function(e,t){this.node=t,this.ae=function(e){this.Pc=e},this.ae(e),this.message="FS error"}).prototype=Error(),Ee.prototype.constructor=Ee,[44].forEach((function(e){Ae[e]=new Ee(e),Ae[e].stack="<generic error, no stack>"})))}function qe(e,t,r){e=ne("/dev/"+e);var a=function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}(!!t,!!r);Ke||(Ke=64);var i=Ke++<<8|0;Se(i,{open:function(e){e.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(e,r,a,i){for(var n=0,o=0;o<i;o++){try{var _=t()}catch(e){throw new Ee(29)}if(void 0===_&&0===n)throw new Ee(6);if(null==_)break;n++,r[a+o]=_}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,a,i){for(var n=0;n<i;n++)try{r(t[a+n])}catch(e){throw new Ee(29)}return i&&(e.node.timestamp=Date.now()),n}}),Ue(e,a,i)}var Ke,Ze,je,Qe={};function $e(e,t,r){try{var a=e(t)}catch(e){if(e&&e.node&&ne(t)!==ne(Te(e.node)))return-54;throw e}return R[r>>2]=a.Nd,R[r+4>>2]=0,R[r+8>>2]=a.td,R[r+12>>2]=a.mode,R[r+16>>2]=a.Yd,R[r+20>>2]=a.uid,R[r+24>>2]=a.Qd,R[r+28>>2]=a.ed,R[r+32>>2]=0,Q=[a.size>>>0,(j=a.size,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[r+40>>2]=Q[0],R[r+44>>2]=Q[1],R[r+48>>2]=4096,R[r+52>>2]=a.Ld,R[r+56>>2]=a.Jd.getTime()/1e3|0,R[r+60>>2]=0,R[r+64>>2]=a.Xd.getTime()/1e3|0,R[r+68>>2]=0,R[r+72>>2]=a.Md.getTime()/1e3|0,R[r+76>>2]=0,Q=[a.td>>>0,(j=a.td,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[r+80>>2]=Q[0],R[r+84>>2]=Q[1],0}var Je=void 0;function et(){return R[(Je+=4)-4>>2]}function tt(e){if(!(e=be[e]))throw new Ee(8);return e}function rt(e){try{e()}catch(e){if(!(e instanceof br)&&"unwind"!==e)throw e&&"object"==typeof e&&e.stack&&p("exception thrown: "+[e,e.stack]),e}}var at,it,nt,ot=!1,_t=null,st=0,ct=null,ut=0,ft=0,lt=0,dt=[],pt={},mt=!1,ht=!1,bt=[];function wt(e,t,a,i){if(t&&r.sd&&e==r.canvas)return r.sd;var n;if(t){var o={antialias:!1,alpha:!1,Vd:1};if(i)for(var _ in i)o[_]=i[_];if(void 0!==jt&&(n=function(e,t){e.Bd||(e.Bd=e.getContext,e.getContext=function(t,r){return"webgl"==t==(r=e.Bd(t,r))instanceof WebGLRenderingContext?r:null});var r=e.getContext("webgl",t);return r?function(e,t){var r=Xt(Ht),a={te:r,attributes:t,version:t.Vd,rd:e};return e.canvas&&(e.canvas.me=a),Ht[r]=a,(void 0===t.Od||t.Od)&&function(e){if(e||(e=Kt),!e.Td){e.Td=!0;var t=e.rd;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,a,i){t.drawArraysInstancedANGLE(e,r,a,i)},e.drawElementsInstanced=function(e,r,a,i,n){t.drawElementsInstancedANGLE(e,r,a,i,n)})}(t),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(t),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}(t),t.qe=t.getExtension("EXT_disjoint_timer_query"),t.ue=t.getExtension("WEBGL_multi_draw"),(t.getSupportedExtensions()||[]).forEach((function(e){0>e.indexOf("lose_context")&&0>e.indexOf("debug")&&t.getExtension(e)}))}}(a),r}(r,t):0}(e,o)))var s=Ht[n].rd}else s=e.getContext("2d");return s?(a&&(t||g(void 0===Jt,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),r.sd=s,t&&(Kt=Ht[n],r.sd=Jt=Kt&&Kt.rd),r.ye=t,bt.forEach((function(e){e()})),function(){function e(){ht=document.pointerLockElement===r.canvas||document.mozPointerLockElement===r.canvas||document.webkitPointerLockElement===r.canvas||document.msPointerLockElement===r.canvas}if(r.preloadPlugins||(r.preloadPlugins=[]),!xt){xt=!0;try{Lt=!0}catch(e){Lt=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}zt="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Lt?null:console.log("warning: no BlobBuilder"),Mt="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,r.Gd||void 0!==Mt||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),r.Gd=!0),r.preloadPlugins.push({canHandle:function(e){return!r.Gd&&/\\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,a,i){var n=null;if(Lt)try{(n=new Blob([e],{type:Rt(t)})).size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:Rt(t)}))}catch(e){!function(e){f||(f={}),f[e]||(f[e]=1,p(e))}("Blob constructor present but fails: "+e+"; falling back to blob builder")}n||((n=new zt).append(new Uint8Array(e).buffer),n=n.getBlob());var o=Mt.createObjectURL(n),_=new Image;_.onload=function(){g(_.complete,"Image "+t+" could not be decoded");var i=document.createElement("canvas");i.width=_.width,i.height=_.height,i.getContext("2d").drawImage(_,0,0),r.preloadedImages[t]=i,Mt.revokeObjectURL(o),a&&a(e)},_.onerror=function(){console.log("Image "+o+" could not be decoded"),i&&i()},_.src=o}}),r.preloadPlugins.push({canHandle:function(e){return!r.ve&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,a,i){function n(i){_||(_=!0,r.preloadedAudios[t]=i,a&&a(e))}function o(){_||(_=!0,r.preloadedAudios[t]=new Audio,i&&i())}var _=!1;if(!Lt)return o();try{var s=new Blob([e],{type:Rt(t)})}catch(e){return o()}s=Mt.createObjectURL(s);var c=new Audio;c.addEventListener("canplaythrough",(function(){n(c)}),!1),c.onerror=function(){if(!_){console.log("warning: browser could not fully decode audio "+t+", trying slower base64 approach");for(var r="",a=0,i=0,o=0;o<e.length;o++)for(a=a<<8|e[o],i+=8;6<=i;){var s=a>>i-6&63;i-=6,r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[s]}2==i?(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(3&a)<<4],r+="=="):4==i&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(15&a)<<2],r+="="),c.src="data:audio/x-"+t.substr(-3)+";base64,"+r,n(c)}},c.src=s,Tt((function(){n(c)}),1e4)}});var t=r.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||function(){},t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},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),r.elementPointerLock&&t.addEventListener("click",(function(e){!ht&&r.canvas.requestPointerLock&&(r.canvas.requestPointerLock(),e.preventDefault())}),!1))}}()),s):null}var gt=!1,yt=void 0,vt=void 0;function Et(){return!!mt&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)}var At=0;function kt(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===At)At=t+1e3/60;else for(;t+2>=At;)At+=1e3/60;setTimeout(e,Math.max(At-t,0))}}function Tt(e,t){setTimeout((function(){rt(e)}),t)}function Rt(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]}var xt,Lt,zt,Mt,Ft=[];function Ot(){var e=r.canvas;Ft.forEach((function(t){t(e.width,e.height)}))}function It(e,t,a){t&&a?(e.le=t,e.Rd=a):(t=e.le,a=e.Rd);var i=t,n=a;if(r.forcedAspectRatio&&0<r.forcedAspectRatio&&(i/n<r.forcedAspectRatio?i=Math.round(n*r.forcedAspectRatio):n=Math.round(i/r.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var o=Math.min(screen.width/i,screen.height/n);i=Math.round(i*o),n=Math.round(n*o)}vt?(e.width!=i&&(e.width=i),e.height!=n&&(e.height=n),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=a&&(e.height=a),void 0!==e.style&&(i!=t||n!=a?(e.style.setProperty("width",i+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}function Pt(){return!1}r._emscripten_is_main_browser_thread=Pt;var St,Ct=[];function Dt(e,t){x[e>>2]=t,x[e+4>>2]=t/4294967296|0}function Bt(e,t,r,a,i){function n(t){var r=0,a=0;t&&(a=y.response?y.response.byteLength:0,r=sr(a),A.set(new Uint8Array(y.response),r)),x[e+12>>2]=r,Dt(e+16,a)}var o=x[e+8>>2];if(o){var _=O(o),s=e+112,c=O(s);c||(c="GET");var u=x[s+52>>2],f=x[s+56>>2],l=!!x[s+60>>2],d=x[s+68>>2],p=x[s+72>>2];o=x[s+76>>2];var m=x[s+80>>2],h=x[s+84>>2];s=x[s+88>>2];var b=!!(1&u),w=!!(2&u);u=!!(64&u),d=d?O(d):void 0,p=p?O(p):void 0;var g=m?O(m):void 0,y=new XMLHttpRequest;if(y.withCredentials=l,y.open(c,_,!u,d,p),u||(y.timeout=f),y.ne=_,y.responseType="arraybuffer",m&&y.overrideMimeType(g),o)for(;(c=x[o>>2])&&(_=x[o+4>>2]);)o+=8,c=O(c),_=O(_),y.setRequestHeader(c,_);Ct.push(y),x[e+0>>2]=Ct.length,o=h&&s?A.slice(h,h+s):null,y.onload=function(a){n(b&&!w);var i=y.response?y.response.byteLength:0;Dt(e+24,0),i&&Dt(e+32,i),T[e+40>>1]=y.readyState,T[e+42>>1]=y.status,y.statusText&&I(y.statusText,A,e+44,64),200<=y.status&&300>y.status?t&&t(e,y,a):r&&r(e,y,a)},y.onerror=function(t){n(b);var a=y.status;Dt(e+24,0),Dt(e+32,y.response?y.response.byteLength:0),T[e+40>>1]=y.readyState,T[e+42>>1]=a,r&&r(e,y,t)},y.ontimeout=function(t){r&&r(e,y,t)},y.onprogress=function(t){var r=b&&w&&y.response?y.response.byteLength:0,i=0;b&&w&&(i=sr(r),A.set(new Uint8Array(y.response),i)),x[e+12>>2]=i,Dt(e+16,r),Dt(e+24,t.loaded-r),Dt(e+32,t.total),T[e+40>>1]=y.readyState,3<=y.readyState&&0===y.status&&0<t.loaded&&(y.status=200),T[e+42>>1]=y.status,y.statusText&&I(y.statusText,A,e+44,64),a&&a(e,y,t),i&&_r(i)},y.onreadystatechange=function(t){T[e+40>>1]=y.readyState,2<=y.readyState&&(T[e+42>>1]=y.status),i&&i(e,y,t)};try{y.send(o)}catch(t){r&&r(e,y,t)}}else r(e,0,"no url specified!")}function Ut(e,t,r,a){var i=St;if(i){var n=x[e+112+64>>2];n||(n=x[e+8>>2]);var o=O(n);try{var _=i.transaction(["FILES"],"readwrite").objectStore("FILES").put(t,o);_.onsuccess=function(){T[e+40>>1]=4,T[e+42>>1]=200,I("OK",A,e+44,64),r(e,0,o)},_.onerror=function(t){T[e+40>>1]=4,T[e+42>>1]=413,I("Payload Too Large",A,e+44,64),a(e,0,t)}}catch(t){a(e,0,t)}}else a(e,0,"IndexedDB not available!")}var Vt,Nt={};function Wt(){if(!Vt){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:_||"./this.program"};for(e in Nt)t[e]=Nt[e];var r=[];for(e in t)r.push(e+"="+t[e]);Vt=r}return Vt}var Gt=1,Yt=[],Ht=[];function Xt(e){for(var t=Gt++,r=e.length;r<t;r++)e[r]=null;return t}var qt,Kt,Zt,jt={};function Qt(e){return 0==e%4&&(0!=e%100||0==e%400)}function $t(e,t){for(var r=0,a=0;a<=t;r+=e[a++]);return r}var Jt,er=[31,29,31,30,31,30,31,31,30,31,30,31],tr=[31,28,31,30,31,30,31,31,30,31,30,31];function rr(e,t){for(e=new Date(e.getTime());0<t;){var r=e.getMonth(),a=(Qt(e.getFullYear())?er:tr)[r];if(!(t>a-e.getDate())){e.setDate(e.getDate()+t);break}t-=a-e.getDate()+1,e.setDate(1),11>r?e.setMonth(r+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return e}function ar(e,t,r,a){e||(e=this),this.parent=e,this.Vc=e.Vc,this.dd=null,this.id=we++,this.name=t,this.mode=r,this.Kc={},this.Mc={},this.ed=a}function ir(e,t){var r=Array(P(e)+1);return e=I(e,r,0,r.length),t&&(r.length=e),r}Object.defineProperties(ar.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}}}),Xe(),ge=Array(4096),Ce(pe,"/"),Be("/tmp"),Be("/home"),Be("/home/web_user"),function(){Be("/dev"),Se(259,{read:function(){return 0},write:function(e,t,r,a){return a}}),Ue("/dev/null",259),ue(1280,le),ue(1536,de),Ue("/dev/tty",1280),Ue("/dev/tty1",1536);var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){Z("randomDevice")}}();qe("random",e),qe("urandom",e),Be("/dev/shm"),Be("/dev/shm/tmp")}(),function(){Be("/proc");var e=Be("/proc/self");Be("/proc/self/fd"),Ce({Vc:function(){var t=Le(e,"fd",16895,73);return t.Kc={cd:function(e,t){var r=be[+t];if(!r)throw new Ee(8);return(e={parent:null,Vc:{Ed:"fake"},Kc:{fd:function(){return r.path}}}).parent=e}},t}},"/proc/self/fd")}(),r.requestFullscreen=function(e,t){!function(e,t){function a(){mt=!1;var e=i.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(i.exitFullscreen=Et,yt&&i.requestPointerLock(),mt=!0,vt?("undefined"!=typeof SDL&&(R[SDL.screen>>2]=8388608|x[SDL.screen>>2]),It(r.canvas),Ot()):It(i)):(e.parentNode.insertBefore(i,e),e.parentNode.removeChild(e),vt?("undefined"!=typeof SDL&&(R[SDL.screen>>2]=-8388609&x[SDL.screen>>2]),It(r.canvas),Ot()):It(i)),r.onFullScreen&&r.onFullScreen(mt),r.onFullscreen&&r.onFullscreen(mt)}void 0===(yt=e)&&(yt=!0),void 0===(vt=t)&&(vt=!1);var i=r.canvas;gt||(gt=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");i.parentNode.insertBefore(n,i),n.appendChild(i),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),n.requestFullscreen()}(e,t)},r.requestAnimationFrame=function(e){kt(e)},r.setCanvasSize=function(e,t,a){It(r.canvas,e,t),a||Ot()},r.pauseMainLoop=function(){_t=null,st++},r.resumeMainLoop=function(){st++;var e=ut,t=ft,a=ct;ct=null,function(e){function t(){if(a<st){if(!m)try{gr(b)}catch(e){if(!(e instanceof br))throw e}return!1}return!0}g(!ct,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),ct=e;var a=st;ot=!1,it=function(){if(!w)if(0<dt.length){var a=Date.now(),i=dt.shift();if(i.Pd(i.hd),nt){var n=nt,o=0==n%1?n-1:Math.floor(n);nt=i.pe?o:(8*n+(o+.5))/9}console.log(\'main loop blocker "\'+i.name+\'" took \'+(Date.now()-a)+" ms"),r.setStatus&&(a=r.statusMessage||"Please wait...",n=pt.re,(i=nt)?i<n?r.setStatus(a+" ("+(n-i)+"/"+n+")"):r.setStatus(a):r.setStatus("")),t()&&setTimeout(it,0)}else t()&&(lt=lt+1|0,1==ut&&1<ft&&0!=lt%ft?_t():(0==ut&&(at=$()),w||r.preMainLoop&&!1===r.preMainLoop()||(rt(e),r.postMainLoop&&r.postMainLoop()),t()&&("object"==typeof SDL&&SDL.audio&&SDL.audio.Zd&&SDL.audio.Zd(),_t())))}}(a),function(e,t){if(ut=e,ft=t,ct)if(ot||(ot=!0),0==e)_t=function(){var e=0|Math.max(0,at+t-$());setTimeout(it,e)};else if(1==e)_t=function(){kt(it)};else if(2==e){if("undefined"==typeof setImmediate){var a=[];addEventListener("message",(function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),a.shift()())}),!0),setImmediate=function(e){a.push(e),void 0===r.setImmediates&&(r.setImmediates=[]),r.setImmediates.push(e),postMessage({target:"setimmediate"})}}_t=function(){setImmediate(it)}}}(e,t),_t()},r.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(void 0)},r.createContext=function(e,t,r,a){return wt(e,t,r,a)},function(e,t){try{var r=indexedDB.open("emscripten_filesystem",1)}catch(e){return void t()}r.onupgradeneeded=function(e){(e=e.target.result).objectStoreNames.contains("FILES")&&e.deleteObjectStore("FILES"),e.createObjectStore("FILES")},r.onsuccess=function(e){!function(e){St=e,K()}(e.target.result)},r.onerror=function(e){t()}}(0,(function(){St=!1,K()})),"undefined"!=typeof ENVIRONMENT_IS_FETCH_WORKER&&ENVIRONMENT_IS_FETCH_WORKER||q();var nr={D:function(e,t){return re(e,t)},a:function(e){return sr(e+16)+16},b:function(e,t,r){throw new ae(e).Sd(t,r),e},e:function(e,t,r){Je=r;try{var a=tt(e);switch(t){case 0:var i=et();return 0>i?-28:Ye(a.path,a.flags,0,i).Wc;case 1:case 2:case 13:case 14:return 0;case 3:return a.flags;case 4:return i=et(),a.flags|=i,0;case 12:return i=et(),k[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return R[ur()>>2]=28,-1}}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},E:function(e,t,r){try{var a=tt(e);if(!a.Xc){var i=ke(a.path,{jd:!0}).node;if(!i.Kc.ld)throw new Ee(54);var n=i.Kc.ld(i);a.Xc=n}e=0;for(var o=He(a,0,1),_=Math.floor(o/280);_<a.Xc.length&&e+280<=r;){var s=a.Xc[_];if("."===s[0])var c=1,u=4;else{var f=xe(a.node,s);c=f.id,u=8192==(61440&f.mode)?2:16384==(61440&f.mode)?4:40960==(61440&f.mode)?10:8}Q=[c>>>0,(j=c,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[t+e>>2]=Q[0],R[t+e+4>>2]=Q[1],Q=[280*(_+1)>>>0,(j=280*(_+1),1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[t+e+8>>2]=Q[0],R[t+e+12>>2]=Q[1],k[t+e+16>>1]=280,E[t+e+18>>0]=u,I(s,A,t+e+19,256),e+=280,_+=1}return He(a,280*_,0),e}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},n:function(){return 42},J:function(e,t,r){Je=r;try{var a=tt(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return a.Oc?0:-59;case 21519:if(!a.Oc)return-59;var i=et();return R[i>>2]=0;case 21520:return a.Oc?-28:-59;case 21531:if(e=i=et(),!a.Mc.Ud)throw new Ee(59);return a.Mc.Ud(a,t,e);default:Z("bad ioctl syscall "+t)}}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},I:function(e,t){try{return $e(Ge,e=O(e),t)}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},p:function(e,t,r){Je=r;try{return Ye(O(e),t,r?et():0).Wc}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},F:function(e,t){try{return $e(We,e=O(e),t)}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},H:function(e,t){try{return Ve(e=O(e),t=O(t)),0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},K:function(e){try{if(!e)return-21;var t={__size__:390,domainname:325,machine:260,nodename:65,release:130,sysname:0,version:195};return C("Emscripten",e+t.sysname),C("emscripten",e+t.nodename),C("1.0",e+t.release),C("#1",e+t.version),C("wasm32",e+t.machine),0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},G:function(e){try{var t=ke(e=O(e),{parent:!0}).node,r=_e(e),a=xe(t,r);e:{try{var i=xe(t,r)}catch(e){var n=e.Pc;break e}n=Fe(t,"wx")||(16384==(61440&i.mode)?31:0)}if(n)throw new Ee(n);if(!t.Kc.qd)throw new Ee(63);if(a.dd)throw new Ee(10);try{ve.willDeletePath&&ve.willDeletePath(e)}catch(t){p("FS.trackingDelegate[\'willDeletePath\'](\'"+e+"\') threw an exception: "+t.message)}t.Kc.qd(t,r);var o=Re(a.parent.id,a.name);if(ge[o]===a)ge[o]=a.Zc;else for(var _=ge[o];_;){if(_.Zc===a){_.Zc=a.Zc;break}_=_.Zc}try{ve.onDeletePath&&ve.onDeletePath(e)}catch(t){p("FS.trackingDelegate[\'onDeletePath\'](\'"+e+"\') threw an exception: "+t.message)}return 0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),-e.Pc}},L:function(e){delete Ct[e-1]},c:function(){Z()},h:re,P:function(e,t){return e-t},R:function(){self.postMessage({t:"gfx"})},u:function(){var e=new URL(location.origin).hostname;if(0===e.length&&(e=new URL(location.href.replace("blob:","")).hostname),/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e))0===e.indexOf("10.")&&(e="10.*"),0===e.indexOf("192.168.")&&(e="192.168.*"),0===e.indexOf("172.")&&(e="172.*"),0===e.indexOf("127.")&&(e="127.*");else{var t=new RegExp("("+String.fromCharCode(92)+".ngrok"+String.fromCharCode(92)+".io)$","i");t.test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".ngrok-free"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".arweb"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.arweb.app")}t=P(e)+1;var r=sr(t);return I(e,A,r,t+1),r},t:function(){self.postMessage({t:"licerr"})},l:function(e,t,r){function a(){B.get(e)(t)}0<=r?Tt(a,r):function(e){kt((function(){rt(e)}))}(a)},y:function(){return 2147483648},N:Pt,w:function(e,t,r){A.copyWithin(e,t,t+r)},x:function(e){var t=A.length;if(2147483648<e)return!1;for(var r=1;4>=r;r*=2){var a=t*(1+.2/r);a=Math.min(a,e+100663296),0<(a=Math.max(e,a))%65536&&(a+=65536-a%65536);e:{try{h.grow(Math.min(2147483648,a)-v.byteLength+65535>>>16),D();var i=1;break e}catch(e){}i=void 0}if(i)return!0}return!1},M:function(e,t,r,a,i){function n(e,r){Ut(e,r.response,(function(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}),(function(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}))}function o(e){rt((function(){m?B.get(m)(e):i&&i(e)}))}function _(e){rt((function(){d?B.get(d)(e):r&&r(e)}))}function s(e){rt((function(){p?B.get(p)(e):a&&a(e)}))}function c(e){rt((function(){l?B.get(l)(e):t&&t(e)}))}var u=e+112,f=O(u),l=x[u+36>>2],d=x[u+40>>2],p=x[u+44>>2],m=x[u+48>>2],h=x[u+52>>2],b=!!(4&h),w=!!(32&h);if(h=!!(16&h),"EM_IDB_STORE"===f)f=x[u+84>>2],Ut(e,A.slice(f,f+x[u+88>>2]),c,_);else if("EM_IDB_DELETE"===f)!function(e,t,r){var a=St;if(a){var i=x[e+112+64>>2];i||(i=x[e+8>>2]),i=O(i);try{var n=a.transaction(["FILES"],"readwrite").objectStore("FILES").delete(i);n.onsuccess=function(r){r=r.target.result,x[e+12>>2]=0,Dt(e+16,0),Dt(e+24,0),Dt(e+32,0),T[e+40>>1]=4,T[e+42>>1]=200,I("OK",A,e+44,64),t(e,0,r)},n.onerror=function(t){T[e+40>>1]=4,T[e+42>>1]=404,I("Not Found",A,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,_);else if(h){if(w)return 0;Bt(e,b?n:c,_,s,o)}else!function(e,t,r){var a=St;if(a){var i=x[e+112+64>>2];i||(i=x[e+8>>2]),i=O(i);try{var n=a.transaction(["FILES"],"readonly").objectStore("FILES").get(i);n.onsuccess=function(a){if(a.target.result){var i=(a=a.target.result).byteLength||a.length,n=sr(i);A.set(new Uint8Array(a),n),x[e+12>>2]=n,Dt(e+16,i),Dt(e+24,0),Dt(e+32,i),T[e+40>>1]=4,T[e+42>>1]=200,I("OK",A,e+44,64),t(e,0,a)}else T[e+40>>1]=4,T[e+42>>1]=404,I("Not Found",A,e+44,64),r(e,0,"no data")},n.onerror=function(t){T[e+40>>1]=4,T[e+42>>1]=404,I("Not Found",A,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,w?_:b?function(e){Bt(e,n,_,s,o)}:function(e){Bt(e,c,_,s,o)});return e},B:function(e,t){try{var r=0;return Wt().forEach((function(a,i){var n=t+r;R[e+4*i>>2]=n,C(a,n),r+=a.length+1})),0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),e.Pc}},C:function(e,t){try{var r=Wt();R[e>>2]=r.length;var a=0;return r.forEach((function(e){a+=e.length+1})),R[t>>2]=a,0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),e.Pc}},O:function(e){gr(e)},g:function(e){try{var t=tt(e);if(null===t.Wc)throw new Ee(8);t.Xc&&(t.Xc=null);try{t.Mc.close&&t.Mc.close(t)}catch(e){throw e}finally{be[t.Wc]=null}return t.Wc=null,0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),e.Pc}},q:function(e,t,r,a){try{e:{for(var i=tt(e),n=e=0;n<r;n++){var o=R[t+(8*n+4)>>2],_=i,s=R[t+8*n>>2],c=o,u=void 0,f=E;if(0>c||0>u)throw new Ee(28);if(null===_.Wc)throw new Ee(8);if(1==(2097155&_.flags))throw new Ee(8);if(16384==(61440&_.node.mode))throw new Ee(31);if(!_.Mc.read)throw new Ee(28);var l=void 0!==u;if(l){if(!_.seekable)throw new Ee(70)}else u=_.position;var d=_.Mc.read(_,f,s,c,u);l||(_.position+=d);var p=d;if(0>p){var m=-1;break e}if(e+=p,p<o)break}m=e}return R[a>>2]=m,0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),e.Pc}},v:function(e,t,r,a,i){try{var n=tt(e);return-9007199254740992>=(e=4294967296*r+(t>>>0))||9007199254740992<=e?-61:(He(n,e,a),Q=[n.position>>>0,(j=n.position,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[i>>2]=Q[0],R[i+4>>2]=Q[1],n.Xc&&0===e&&0===a&&(n.Xc=null),0)}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),e.Pc}},k:function(e,t,r,a){try{e:{for(var i=tt(e),n=e=0;n<r;n++){var o=i,_=R[t+8*n>>2],s=R[t+(8*n+4)>>2],c=void 0,u=E;if(0>s||0>c)throw new Ee(28);if(null===o.Wc)throw new Ee(8);if(0==(2097155&o.flags))throw new Ee(8);if(16384==(61440&o.node.mode))throw new Ee(31);if(!o.Mc.write)throw new Ee(28);o.seekable&&1024&o.flags&&He(o,0,2);var f=void 0!==c;if(f){if(!o.seekable)throw new Ee(70)}else c=o.position;var l=o.Mc.write(o,u,_,s,c,void 0);f||(o.position+=l);try{o.path&&ve.onWriteToFile&&ve.onWriteToFile(o.path)}catch(e){p("FS.trackingDelegate[\'onWriteToFile\'](\'"+o.path+"\') threw an exception: "+e.message)}var d=l;if(0>d){var m=-1;break e}e+=d}m=e}return R[a>>2]=m,0}catch(e){return void 0!==Qe&&e instanceof Ee||Z(e),e.Pc}},f:function(e){var t=Date.now();return R[e>>2]=t/1e3|0,R[e+4>>2]=t%1e3*1e3|0,0},m:function(e,t){Jt.bindTexture(e,Yt[t])},o:function(e,t){for(var r=0;r<e;r++){var a=Jt.createTexture(),i=a&&Xt(Yt);a?(a.name=i,Yt[i]=a):qt||(qt=1282),R[t+4*r>>2]=i}},i:function(e,t,r,a,i,n,o,_,s){var c=Jt,u=c.texImage2D;if(s){var f=_-5120;f=1==f?A:4==f?R:6==f?L:5==f||28922==f?x:T;var l=31-Math.clz32(f.BYTES_PER_ELEMENT);s=f.subarray(s>>l,s+i*(a*({5:3,6:4,8:2,29502:3,29504:4}[o-6402]||1)*(1<<l)+4-1&-4)>>l)}else s=null;u.call(c,e,t,r,a,i,n,o,_,s)},j:function(e,t,r){Jt.texParameteri(e,t,r)},s:function e(t,r){return t=new Date(1e3*R[t>>2]),R[r>>2]=t.getUTCSeconds(),R[r+4>>2]=t.getUTCMinutes(),R[r+8>>2]=t.getUTCHours(),R[r+12>>2]=t.getUTCDate(),R[r+16>>2]=t.getUTCMonth(),R[r+20>>2]=t.getUTCFullYear()-1900,R[r+24>>2]=t.getUTCDay(),R[r+36>>2]=0,R[r+32>>2]=0,R[r+28>>2]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,e.wd||(e.wd=S("GMT")),R[r+40>>2]=e.wd,r},r:function(e,t){!function(){function e(e){return(e=e.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?e[1]:"GMT"}if(!Zt){Zt=!0;var t=(new Date).getFullYear(),r=new Date(t,0,1),a=new Date(t,6,1);t=r.getTimezoneOffset();var i=a.getTimezoneOffset(),n=Math.max(t,i);R[dr()>>2]=60*n,R[lr()>>2]=Number(t!=i),r=e(r),a=e(a),r=S(r),a=S(a),i<t?(R[fr()>>2]=r,R[fr()+4>>2]=a):(R[fr()>>2]=a,R[fr()+4>>2]=r)}}(),e=new Date(1e3*R[e>>2]),R[t>>2]=e.getSeconds(),R[t+4>>2]=e.getMinutes(),R[t+8>>2]=e.getHours(),R[t+12>>2]=e.getDate(),R[t+16>>2]=e.getMonth(),R[t+20>>2]=e.getFullYear()-1900,R[t+24>>2]=e.getDay();var r=new Date(e.getFullYear(),0,1);R[t+28>>2]=(e.getTime()-r.getTime())/864e5|0,R[t+36>>2]=-60*e.getTimezoneOffset();var a=new Date(e.getFullYear(),6,1).getTimezoneOffset();return e=0|(a!=(r=r.getTimezoneOffset())&&e.getTimezoneOffset()==Math.min(r,a)),R[t+32>>2]=e,e=R[fr()+(e?4:0)>>2],R[t+40>>2]=e,t},Q:function(){return 6},z:function(){return 28},A:function(e,t,r,a){return function(e,t,r,a){function i(e,t,r){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=r[0]+e;return e}function n(e,t){return i(e,t,"0")}function o(e,t){function r(e){return 0>e?-1:0<e?1:0}var a;return 0===(a=r(e.getFullYear()-t.getFullYear()))&&0===(a=r(e.getMonth()-t.getMonth()))&&(a=r(e.getDate()-t.getDate())),a}function _(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function s(e){e=rr(new Date(e.Rc+1900,0,1),e.pd);var t=new Date(e.getFullYear()+1,0,4),r=_(new Date(e.getFullYear(),0,4));return t=_(t),0>=o(r,e)?0>=o(t,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var c=R[a+40>>2];for(var u in a={ie:R[a>>2],he:R[a+4>>2],nd:R[a+8>>2],gd:R[a+12>>2],bd:R[a+16>>2],Rc:R[a+20>>2],od:R[a+24>>2],pd:R[a+28>>2],xe:R[a+32>>2],ge:R[a+36>>2],je:c?O(c):""},r=O(r),c={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(u,"g"),c[u]);var f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),l="January February March April May June July August September October November December".split(" ");for(u in c={"%a":function(e){return f[e.od].substring(0,3)},"%A":function(e){return f[e.od]},"%b":function(e){return l[e.bd].substring(0,3)},"%B":function(e){return l[e.bd]},"%C":function(e){return n((e.Rc+1900)/100|0,2)},"%d":function(e){return n(e.gd,2)},"%e":function(e){return i(e.gd,2," ")},"%g":function(e){return s(e).toString().substring(2)},"%G":function(e){return s(e)},"%H":function(e){return n(e.nd,2)},"%I":function(e){return 0==(e=e.nd)?e=12:12<e&&(e-=12),n(e,2)},"%j":function(e){return n(e.gd+$t(Qt(e.Rc+1900)?er:tr,e.bd-1),3)},"%m":function(e){return n(e.bd+1,2)},"%M":function(e){return n(e.he,2)},"%n":function(){return"\\n"},"%p":function(e){return 0<=e.nd&&12>e.nd?"AM":"PM"},"%S":function(e){return n(e.ie,2)},"%t":function(){return"\\t"},"%u":function(e){return e.od||7},"%U":function(e){var t=new Date(e.Rc+1900,0,1),r=0===t.getDay()?t:rr(t,7-t.getDay());return 0>o(r,e=new Date(e.Rc+1900,e.bd,e.gd))?n(Math.ceil((31-r.getDate()+($t(Qt(e.getFullYear())?er:tr,e.getMonth()-1)-31)+e.getDate())/7),2):0===o(r,t)?"01":"00"},"%V":function(e){var t=new Date(e.Rc+1901,0,4),r=_(new Date(e.Rc+1900,0,4));t=_(t);var a=rr(new Date(e.Rc+1900,0,1),e.pd);return 0>o(a,r)?"53":0>=o(t,a)?"01":n(Math.ceil((r.getFullYear()<e.Rc+1900?e.pd+32-r.getDate():e.pd+1-r.getDate())/7),2)},"%w":function(e){return e.od},"%W":function(e){var t=new Date(e.Rc,0,1),r=1===t.getDay()?t:rr(t,0===t.getDay()?1:7-t.getDay()+1);return 0>o(r,e=new Date(e.Rc+1900,e.bd,e.gd))?n(Math.ceil((31-r.getDate()+($t(Qt(e.getFullYear())?er:tr,e.getMonth()-1)-31)+e.getDate())/7),2):0===o(r,t)?"01":"00"},"%y":function(e){return(e.Rc+1900).toString().substring(2)},"%Y":function(e){return e.Rc+1900},"%z":function(e){var t=0<=(e=e.ge);return e=Math.abs(e)/60,(t?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":function(e){return e.je},"%%":function(){return"%"}})0<=r.indexOf(u)&&(r=r.replace(new RegExp(u,"g"),c[u](a)));return(u=ir(r,!1)).length>t?0:(E.set(u,e),u.length-1)}(e,t,r,a)},d:function(e){var t=Date.now()/1e3|0;return e&&(R[e>>2]=t),t}},or=function(){function e(e){r.asm=e.exports,h=r.asm.S,D(),B=r.asm.X,V.unshift(r.asm.T),K()}var t={a:nr};if(q(),r.instantiateWasm)try{return r.instantiateWasm(t,e)}catch(e){return p("Module.instantiateWasm callback failed with error: "+e),!1}return t=function(e){var t=J;try{e:{try{if(t==J&&l){var r=new Uint8Array(l);break e}if(c){r=c(t);break e}throw"sync fetching of the wasm failed: you can preload it to Module[\'wasmBinary\'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){Z(e)}r=void 0}var a=new WebAssembly.Module(r),i=new WebAssembly.Instance(a,e)}catch(t){throw e=t.toString(),p("failed to compile wasm module: "+e),(0<=e.indexOf("imported Memory")||0<=e.indexOf("memory import"))&&p("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),t}return[i,a]}(t),e(t[0]),r.asm}();r.___wasm_call_ctors=or.T,r._zappar_has_initialized=or.U,r._zappar_invert=or.V,r._zappar_loaded=or.W,r._zappar_pipeline_create=or.Y,r._zappar_pipeline_destroy=or.Z,r._zappar_pipeline_camera_frame_submit=or._,r._zappar_pipeline_camera_frame_submit_raw_pointer=or.$,r._zappar_pipeline_frame_update=or.aa,r._zappar_pipeline_camera_frame_user_data=or.ba,r._zappar_pipeline_camera_model=or.ca,r._zappar_pipeline_frame_number=or.da,r._zappar_pipeline_camera_frame_data_raw_size=or.ea,r._zappar_pipeline_camera_frame_data_raw_width=or.fa,r._zappar_pipeline_camera_frame_data_raw_height=or.ga,r._zappar_pipeline_camera_frame_data_raw=or.ha,r._zappar_pipeline_motion_accelerometer_submit=or.ia,r._zappar_pipeline_motion_accelerometer_with_gravity_submit_int=or.ja,r._zappar_pipeline_motion_accelerometer_without_gravity_submit_int=or.ka,r._zappar_pipeline_motion_rotation_rate_submit_int=or.la,r._zappar_pipeline_motion_attitude_submit_int=or.ma,r._zappar_pipeline_motion_rotation_rate_submit=or.na,r._zappar_pipeline_motion_attitude_submit=or.oa,r._zappar_pipeline_motion_attitude_matrix_submit=or.pa,r._zappar_pipeline_camera_frame_user_facing=or.qa,r._zappar_pipeline_camera_frame_texture_matrix=or.ra,r._zappar_pipeline_camera_pose_with_attitude=or.sa,r._zappar_pipeline_camera_pose_with_origin=or.ta,r._zappar_pipeline_camera_frame_camera_attitude=or.ua,r._zappar_pipeline_camera_frame_device_attitude=or.va,r._zappar_pipeline_camera_frame_texture_gl=or.wa,r._zappar_pipeline_camera_frame_upload_gl=or.xa,r._zappar_pipeline_sequence_record_start=or.ya,r._zappar_pipeline_sequence_record_stop=or.za,r._zappar_pipeline_sequence_record_clear=or.Aa,r._zappar_pipeline_sequence_record_device_attitude_matrices_set=or.Ba,r._zappar_pipeline_sequence_record_data_size=or.Ca,r._zappar_pipeline_sequence_record_data=or.Da,r._zappar_pipeline_process_gl=or.Ea,r._zappar_pipeline_camera_pose_default=or.Fa,r._zappar_instant_world_tracker_create=or.Ga,r._zappar_instant_world_tracker_destroy=or.Ha,r._zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw=or.Ia,r._zappar_instant_world_tracker_anchor_pose_raw=or.Ja,r._zappar_instant_world_tracker_enabled_set=or.Ka,r._zappar_instant_world_tracker_enabled=or.La,r._zappar_image_tracker_create=or.Ma,r._zappar_image_tracker_destroy=or.Na,r._zappar_image_tracker_target_load_from_memory=or.Oa,r.__Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc=or.Pa;var _r=r._free=or.Qa;r._zappar_image_tracker_anchor_count=or.Ra,r._zappar_image_tracker_anchor_id=or.Sa,r._zappar_image_tracker_anchor_pose_raw=or.Ta,r._zappar_image_tracker_enabled_set=or.Ua,r._zappar_image_tracker_enabled=or.Va,r._zappar_image_tracker_target_loaded_version=or.Wa,r.__Z33zappar_image_tracker_target_countP23zappar_image_tracker_ti=or.Xa,r.__Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii=or.Ya,r.__Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii=or.Za,r.__Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii=or._a,r.__Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii=or.$a,r.__Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii=or.ab,r.__Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii=or.bb,r.__Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii=or.cb,r.__Z38zappar_image_tracker_target_radius_topP23zappar_image_tracker_tii=or.db,r.__Z41zappar_image_tracker_target_radius_bottomP23zappar_image_tracker_tii=or.eb,r.__Z39zappar_image_tracker_target_side_lengthP23zappar_image_tracker_tii=or.fb,r.__Z49zappar_image_tracker_target_physical_scale_factorP23zappar_image_tracker_tii=or.gb,r.__Z49zappar_image_tracker_target_preview_mesh_verticesP23zappar_image_tracker_tii=or.hb,r.__Z48zappar_image_tracker_target_preview_mesh_normalsP23zappar_image_tracker_tii=or.ib,r.__Z44zappar_image_tracker_target_preview_mesh_uvsP23zappar_image_tracker_tii=or.jb,r.__Z48zappar_image_tracker_target_preview_mesh_indicesP23zappar_image_tracker_tii=or.kb,r.__Z54zappar_image_tracker_target_preview_mesh_vertices_sizeP23zappar_image_tracker_tii=or.lb,r.__Z53zappar_image_tracker_target_preview_mesh_normals_sizeP23zappar_image_tracker_tii=or.mb,r.__Z49zappar_image_tracker_target_preview_mesh_uvs_sizeP23zappar_image_tracker_tii=or.nb,r.__Z53zappar_image_tracker_target_preview_mesh_indices_sizeP23zappar_image_tracker_tii=or.ob,r.__Z32zappar_image_tracker_target_typeP23zappar_image_tracker_tii=or.pb,r._zappar_face_tracker_create=or.qb,r._zappar_face_tracker_destroy=or.rb,r._zappar_face_tracker_model_load_from_memory=or.sb,r._zappar_face_tracker_anchor_count=or.tb,r._zappar_face_tracker_anchor_id=or.ub,r._zappar_face_tracker_anchor_pose_raw=or.vb,r._zappar_face_tracker_anchor_identity_coefficients=or.wb,r._zappar_face_tracker_anchor_expression_coefficients=or.xb,r._zappar_face_tracker_enabled_set=or.yb,r._zappar_face_tracker_enabled=or.zb,r._zappar_face_tracker_max_faces_set=or.Ab,r._zappar_face_tracker_max_faces=or.Bb,r._zappar_face_tracker_model_loaded_version=or.Cb,r._zappar_face_landmark_create=or.Db,r._zappar_face_landmark_destroy=or.Eb,r.__Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i=or.Fb,r._zappar_face_landmark_anchor_pose=or.Gb,r._zappar_barcode_finder_create=or.Hb,r._zappar_barcode_finder_destroy=or.Ib,r._zappar_barcode_finder_found_number=or.Jb,r._zappar_barcode_finder_found_text=or.Kb,r._zappar_barcode_finder_enabled_set=or.Lb,r._zappar_barcode_finder_enabled=or.Mb,r._zappar_barcode_finder_found_format=or.Nb,r._zappar_barcode_finder_formats=or.Ob,r._zappar_barcode_finder_formats_set=or.Pb;var sr=r._malloc=or.Qb;r._zappar_face_mesh_create=or.Rb,r._zappar_face_mesh_destroy=or.Sb,r.__Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii=or.Tb,r.__Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti=or.Ub,r.__Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti=or.Vb,r.__Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti=or.Wb,r.__Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti=or.Xb,r.__Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti=or.Yb,r.__Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti=or.Zb,r.__Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti=or._b,r.__Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i=or.$b,r.__Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti=or.ac,r.__Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti=or.bc,r._zappar_camera_source_create=or.cc,r._zappar_camera_source_destroy=or.dc,r._zappar_camera_source_start=or.ec,r._zappar_camera_source_pause=or.fc,r._zappar_camera_default_device_id=or.gc,r._zappar_sequence_source_create=or.hc,r.__Z28zappar_sequence_source_startP25zappar_sequence_source_ti=or.ic,r.__Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci=or.jc,r.__Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti=or.kc,r._zappar_sequence_source_destroy=or.lc,r._zappar_sequence_source_max_playback_fps_set=or.mc,r._zappar_log_level_set=or.nc,r._zappar_log_level=or.oc,r.__Z23zappar_log_redirect_setPFv18zappar_log_level_tPKcE=or.pc,r._zappar_world_tracker_create=or.qc,r._zappar_world_tracker_destroy=or.rc,r._zappar_world_tracker_world_anchor_valid=or.sc,r._zappar_world_tracker_plane_count=or.tc,r._zappar_world_tracker_plane_pose_raw=or.uc,r._zappar_world_tracker_world_anchor_pose_raw=or.vc,r._zappar_world_tracker_ground_anchor_valid=or.wc,r._zappar_world_tracker_ground_anchor_pose_raw=or.xc,r._zappar_world_tracker_reset=or.yc,r._zappar_world_tracker_enabled_set=or.zc,r._zappar_world_tracker_quality=or.Ac,r._zappar_world_tracker_enabled=or.Bc,r._zappar_analytics_project_id_set=or.Cc;var cr,ur=r.___errno_location=or.Dc,fr=r.__get_tzname=or.Ec,lr=r.__get_daylight=or.Fc,dr=r.__get_timezone=or.Gc,pr=r.stackSave=or.Hc,mr=r.stackRestore=or.Ic,hr=r.stackAlloc=or.Jc;function br(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function wr(){function e(){if(!cr&&(cr=!0,r.calledRun=!0,!w)){if(r.noFSInit||Ie||(Ie=!0,Xe(),r.stdin=r.stdin,r.stdout=r.stdout,r.stderr=r.stderr,r.stdin?qe("stdin",r.stdin):Ve("/dev/tty","/dev/stdin"),r.stdout?qe("stdout",null,r.stdout):Ve("/dev/tty","/dev/stdout"),r.stderr?qe("stderr",null,r.stderr):Ve("/dev/tty1","/dev/stderr"),Ye("/dev/stdin",0),Ye("/dev/stdout",1),Ye("/dev/stderr",1)),te(V),ye=!1,te(N),a(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var e=r.postRun.shift();W.unshift(e)}te(W)}}if(!(0<Y)){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)G();te(U),0<Y||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),e()}),1)):e())}}function gr(e){b=e,m||(r.onExit&&r.onExit(e),w=!0),s(e,new br(e))}if(r.cwrap=function(e,t,r,a){var i=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&i&&!a?y(e):function(){return function(e,t,r,a){var i,n={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);t=hr(r),I(e,A,t,r)}return t},array:function(e){var t=hr(e.length);return E.set(e,t),t}},o=y(e),_=[];if(e=0,a)for(var s=0;s<a.length;s++){var c=n[r[s]];c?(0===e&&(e=pr()),_[s]=c(a[s])):_[s]=a[s]}return i=r=o.apply(null,_),r="string"===t?O(i):"boolean"===t?!!i:i,0!==e&&mr(e),r}(e,t,r,arguments)}},r.setValue=function(e,t,r){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":E[e>>0]=t;break;case"i16":k[e>>1]=t;break;case"i32":R[e>>2]=t;break;case"i64":Q=[t>>>0,(j=t,1<=+Math.abs(j)?0<j?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],R[e>>2]=Q[0],R[e+4>>2]=Q[1];break;case"float":L[e>>2]=t;break;case"double":z[e>>3]=t;break;default:Z("invalid type for setValue: "+r)}},r.getValue=function(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return E[e>>0];case"i16":return k[e>>1];case"i32":case"i64":return R[e>>2];case"float":return L[e>>2];case"double":return z[e>>3];default:Z("invalid type for getValue: "+t)}return null},r.UTF8ToString=O,X=function e(){cr||wr(),cr||(X=e)},r.run=wr,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);0<r.preInit.length;)r.preInit.pop()();return wr(),t});class a{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t,r=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=r)return;if(!t){let e=r;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,t=new ArrayBuffer(e)}let a=this._buffer?this._i32View:void 0;this._buffer=t,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),a&&this._i32View.set(a.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout((()=>{this._timeoutSet=!1,this._send()}),0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}class i{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}class n{constructor(e,t){this._impl=e,this._sender=t,this._deserializer=new i,this.serializersByPipelineId=new Map,this._pipeline_id_by_pipeline_id=new Map,this._pipeline_by_instance=new Map,this._pipeline_id_by_camera_source_id=new Map,this._camera_source_by_instance=new Map,this._pipeline_id_by_sequence_source_id=new Map,this._sequence_source_by_instance=new Map,this._pipeline_id_by_image_tracker_id=new Map,this._image_tracker_by_instance=new Map,this._pipeline_id_by_face_tracker_id=new Map,this._face_tracker_by_instance=new Map,this._pipeline_id_by_face_mesh_id=new Map,this._face_mesh_by_instance=new Map,this._pipeline_id_by_face_landmark_id=new Map,this._face_landmark_by_instance=new Map,this._pipeline_id_by_barcode_finder_id=new Map,this._barcode_finder_by_instance=new Map,this._pipeline_id_by_instant_world_tracker_id=new Map,this._instant_world_tracker_by_instance=new Map,this._pipeline_id_by_world_tracker_id=new Map,this._world_tracker_by_instance=new Map}processBuffer(e){this._deserializer.setData(e),this._deserializer.forMessages(((e,t)=>{switch(e){case 38:this._impl.log_level_set(t.logLevel());break;case 35:this._impl.analytics_project_id_set(t.string(),t.string());break;case 31:{let e=t.type(),r=this._impl.pipeline_create();this._pipeline_by_instance.set(e,r),this._pipeline_id_by_pipeline_id.set(e,e),this.serializersByPipelineId.set(e,new a((t=>{this._sender(e,t)})));break}case 32:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_destroy(r),this._pipeline_by_instance.delete(e);break}case 9:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_frame_update(r);break}case 8:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_camera_frame_submit(r,t.dataWithLength(),t.int(),t.int(),t.int(),t.matrix4x4(),t.cameraModel(),t.bool());break}case 10:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 12:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_with_gravity_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 11:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_without_gravity_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 15:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 13:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 16:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 14:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit_int(r,t.timestamp(),t.timestamp(),t.float(),t.float(),t.float());break}case 17:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_matrix_submit(r,t.matrix4x4());break}case 33:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),i=t.string(),n=this._impl.camera_source_create(a,i);this._camera_source_by_instance.set(e,n),this._pipeline_id_by_camera_source_id.set(e,r);break}case 34:{let e=t.type(),r=this._camera_source_by_instance.get(e);if(void 0===r)return;this._impl.camera_source_destroy(r),this._camera_source_by_instance.delete(e);break}case 39:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),i=this._impl.sequence_source_create(a);this._sequence_source_by_instance.set(e,i),this._pipeline_id_by_sequence_source_id.set(e,r);break}case 40:{let e=t.type(),r=this._sequence_source_by_instance.get(e);if(void 0===r)return;this._impl.sequence_source_destroy(r),this._sequence_source_by_instance.delete(e);break}case 2:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),i=this._impl.image_tracker_create(a);this._image_tracker_by_instance.set(e,i),this._pipeline_id_by_image_tracker_id.set(e,r);break}case 18:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_destroy(r),this._image_tracker_by_instance.delete(e);break}case 4:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_target_load_from_memory(r,t.dataWithLength());break}case 3:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_enabled_set(r,t.bool());break}case 24:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),i=this._impl.face_tracker_create(a);this._face_tracker_by_instance.set(e,i),this._pipeline_id_by_face_tracker_id.set(e,r);break}case 25:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_destroy(r),this._face_tracker_by_instance.delete(e);break}case 26:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_model_load_from_memory(r,t.dataWithLength());break}case 27:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_enabled_set(r,t.bool());break}case 28:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_max_faces_set(r,t.int());break}case 29:{let e=t.type(),r=this._impl.face_mesh_create();this._face_mesh_by_instance.set(e,r);break}case 30:{let e=t.type(),r=this._face_mesh_by_instance.get(e);if(void 0===r)return;this._impl.face_mesh_destroy(r),this._face_mesh_by_instance.delete(e);break}case 36:{let e=t.type(),r=t.faceLandmarkName(),a=this._impl.face_landmark_create(r);this._face_landmark_by_instance.set(e,a);break}case 37:{let e=t.type(),r=this._face_landmark_by_instance.get(e);if(void 0===r)return;this._impl.face_landmark_destroy(r),this._face_landmark_by_instance.delete(e);break}case 20:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),i=this._impl.barcode_finder_create(a);this._barcode_finder_by_instance.set(e,i),this._pipeline_id_by_barcode_finder_id.set(e,r);break}case 21:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_destroy(r),this._barcode_finder_by_instance.delete(e);break}case 22:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_enabled_set(r,t.bool());break}case 23:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_formats_set(r,t.barcodeFormat());break}case 5:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),i=this._impl.instant_world_tracker_create(a);this._instant_world_tracker_by_instance.set(e,i),this._pipeline_id_by_instant_world_tracker_id.set(e,r);break}case 19:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_destroy(r),this._instant_world_tracker_by_instance.delete(e);break}case 6:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_enabled_set(r,t.bool());break}case 7:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(r,t.float(),t.float(),t.float(),t.instantTrackerTransformOrientation());break}case 41:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),i=this._impl.world_tracker_create(a);this._world_tracker_by_instance.set(e,i),this._pipeline_id_by_world_tracker_id.set(e,r);break}case 42:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_destroy(r),this._world_tracker_by_instance.delete(e);break}case 43:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_enabled_set(r,t.bool());break}case 44:{let e=t.type(),r=this._world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.world_tracker_reset(r);break}}}))}exploreState(){for(let[e,t]of this._pipeline_by_instance){let r=this._pipeline_id_by_pipeline_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&(a.sendMessage(7,(r=>{r.type(e),r.int(this._impl.pipeline_frame_number(t))})),a.sendMessage(6,(r=>{r.type(e),r.cameraModel(this._impl.pipeline_camera_model(t))})),a.sendMessage(5,(r=>{r.type(e),r.int(this._impl.pipeline_camera_frame_user_data(t))})),a.sendMessage(11,(r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_camera_attitude(t))})),a.sendMessage(12,(r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_device_attitude(t))})))}for(let[e,t]of this._camera_source_by_instance){let t=this._pipeline_id_by_camera_source_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._sequence_source_by_instance){let t=this._pipeline_id_by_sequence_source_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._image_tracker_by_instance){let r=this._pipeline_id_by_image_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(19,(r=>{r.type(e),r.int(this._impl.image_tracker_target_loaded_version(t))})),a.sendMessage(1,(r=>{r.type(e),r.int(this._impl.image_tracker_anchor_count(t))}));for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(2,(a=>{a.type(e),a.int(r),a.string(this._impl.image_tracker_anchor_id(t,r))}));for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(3,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.image_tracker_anchor_pose_raw(t,r))}))}}for(let[e,t]of this._face_tracker_by_instance){let r=this._pipeline_id_by_face_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(18,(r=>{r.type(e),r.int(this._impl.face_tracker_model_loaded_version(t))})),a.sendMessage(13,(r=>{r.type(e),r.int(this._impl.face_tracker_anchor_count(t))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(14,(a=>{a.type(e),a.int(r),a.string(this._impl.face_tracker_anchor_id(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(15,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.face_tracker_anchor_pose_raw(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(16,(a=>{a.type(e),a.int(r),a.identityCoefficients(this._impl.face_tracker_anchor_identity_coefficients(t,r))}));for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(17,(a=>{a.type(e),a.int(r),a.expressionCoefficients(this._impl.face_tracker_anchor_expression_coefficients(t,r))}))}}for(let[e,t]of this._face_mesh_by_instance){let t=this._pipeline_id_by_face_mesh_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._face_landmark_by_instance){let t=this._pipeline_id_by_face_landmark_id.get(e);t&&this.serializersByPipelineId.get(t)}for(let[e,t]of this._barcode_finder_by_instance){let r=this._pipeline_id_by_barcode_finder_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(8,(r=>{r.type(e),r.int(this._impl.barcode_finder_found_number(t))}));for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(9,(a=>{a.type(e),a.int(r),a.string(this._impl.barcode_finder_found_text(t,r))}));for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(10,(a=>{a.type(e),a.int(r),a.barcodeFormat(this._impl.barcode_finder_found_format(t,r))}))}}for(let[e,t]of this._instant_world_tracker_by_instance){let r=this._pipeline_id_by_instant_world_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&a.sendMessage(4,(r=>{r.type(e),r.matrix4x4(this._impl.instant_world_tracker_anchor_pose_raw(t))}))}for(let[e,t]of this._world_tracker_by_instance){let r=this._pipeline_id_by_world_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(27,(r=>{r.type(e),r.int(this._impl.world_tracker_quality(t))})),a.sendMessage(21,(r=>{r.type(e),r.int(this._impl.world_tracker_plane_count(t))}));for(let r=0;r<this._impl.world_tracker_plane_count(t);r++)a.sendMessage(22,(a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.world_tracker_plane_pose_raw(t,r))}));a.sendMessage(23,(r=>{r.type(e),r.bool(this._impl.world_tracker_world_anchor_valid(t))})),a.sendMessage(24,(r=>{r.type(e),r.matrix4x4(this._impl.world_tracker_world_anchor_pose_raw(t))})),a.sendMessage(23,(r=>{r.type(e),r.bool(this._impl.world_tracker_ground_anchor_valid(t))})),a.sendMessage(26,(r=>{r.type(e),r.matrix4x4(this._impl.world_tracker_ground_anchor_pose_raw(t))}))}}}}class o{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}}class _{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}}var s,c,u,f,l,d,p,m="undefined"!=typeof Float32Array?Float32Array:Array;function h(){var e=new m(16);return m!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function b(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.random,Math.PI,Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)}),function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(s||(s={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(c||(c={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(u||(u={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(f||(f={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(l||(l={})),function(e){e[e.IMAGE_TRACKER_TYPE_PLANAR=0]="IMAGE_TRACKER_TYPE_PLANAR",e[e.IMAGE_TRACKER_TYPE_CYLINDRICAL=1]="IMAGE_TRACKER_TYPE_CYLINDRICAL",e[e.IMAGE_TRACKER_TYPE_CONICAL=2]="IMAGE_TRACKER_TYPE_CONICAL"}(d||(d={})),function(e){e[e.WORLD_TRACKER_QUALITY_INITIALIZING=0]="WORLD_TRACKER_QUALITY_INITIALIZING",e[e.WORLD_TRACKER_QUALITY_GOOD=1]="WORLD_TRACKER_QUALITY_GOOD",e[e.WORLD_TRACKER_QUALITY_ORIENTATION_ONLY=2]="WORLD_TRACKER_QUALITY_ORIENTATION_ONLY"}(p||(p={}));const w=new Map;class g{constructor(e){this._gl=e,this._viewports=[],this._underlyingViewport=this._gl.viewport,this._viewports.push(this._gl.getParameter(this._gl.VIEWPORT)),this._gl.viewport=(e,t,r,a)=>{this._viewports[this._viewports.length-1]=[e,t,r,a],this._underlyingViewport.call(this._gl,e,t,r,a)}}static get(e){let t=w.get(e);return t||(t=new g(e),w.set(e,t)),t}push(){this._viewports.push(this._viewports[this._viewports.length-1])}pop(){const e=this._viewports.pop(),t=this._viewports[this._viewports.length-1];e&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]||this._underlyingViewport.call(this._gl,t[0],t[1],t[2],t[3])}}var y,v=r(238);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(y||(y={}));let E={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,dataWidth:320,dataHeight:240,videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!0,preferImageBitmapCamera:!1,ios164CameraSelection:!1,relyOnConstraintsForCameraSelection:!1,forceWindowOrientation:!1,intervalMultiplier:1,trustSensorIntervals:!1};"undefined"!=typeof window&&(window.zeeProfile=E,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),E.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),E.preferImageBitmapCamera=!0));let A=new v.UAParser,k=(A.getOS().name||"unknown").toLowerCase(),T=(A.getEngine().name||"unknown").toLowerCase();function R(e){E.forceWindowOrientation=!0,E.preferMediaStreamTrackProcessorCamera=!1,E.intervalMultiplier=1e3,E.trustSensorIntervals=!0;let t=e.split(".");if(t.length>=2){const e=parseInt(t[0]),r=parseInt(t[1]);(e<11||11===e&&r<3)&&(E.blacklisted=!0),(e<12||12===e&&r<2)&&(E.videoElementInDOM=!0),(12===e&&r>=2||e>=13)&&(E.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(E.showSafariPermissionsResetIfNecessary=!0),(e>=12&&r>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(E.requestHighFrameRate=!0,e<14&&(E.videoHeight=360,E.dataHeight=180)),16===e&&r>=4&&(E.ios164CameraSelection=!0),e>=17&&(E.relyOnConstraintsForCameraSelection=!0)}}function x(e,t,r){let a=e.createShader(t);if(!a)throw new Error("Unable to create shader");e.shaderSource(a,r),e.compileShader(a);let i=e.getShaderInfoLog(a);if(i&&i.trim().length>0)throw new Error("Shader compile error: "+i);return a}"webkit"===T&&"ios"!==k&&(E.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&R("15.0")),"webkit"===T&&"ios"===k&&(E.deviceMotionMutliplier=1,R(A.getOS().version||"15.0"));class L{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=h(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null,this._isWebGL2=!1,this._isWebGL2=e.getParameter(e.VERSION).indexOf("WebGL 2")>=0,this._isWebGL2||(this._instancedArraysExtension=this._gl.getExtension("ANGLE_instanced_arrays"))}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,t,r,a){let i=this._gl;const n=g.get(i);n.push();const o=i.isEnabled(i.SCISSOR_TEST),_=i.isEnabled(i.DEPTH_TEST),s=i.isEnabled(i.BLEND),c=i.isEnabled(i.CULL_FACE),u=i.isEnabled(i.STENCIL_TEST),f=i.getParameter(i.ACTIVE_TEXTURE),l=i.getParameter(i.UNPACK_FLIP_Y_WEBGL),d=i.getParameter(i.CURRENT_PROGRAM);i.activeTexture(i.TEXTURE0);const p=i.getParameter(i.TEXTURE_BINDING_2D),m=i.getParameter(i.FRAMEBUFFER_BINDING),h=i.getParameter(i.ARRAY_BUFFER_BINDING),b=i.getParameter(i.ELEMENT_ARRAY_BUFFER_BINDING);i.disable(i.SCISSOR_TEST),i.disable(i.DEPTH_TEST),i.disable(i.BLEND),i.disable(i.CULL_FACE),i.disable(i.STENCIL_TEST),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.bindTexture(i.TEXTURE_2D,e);const w=i.RGBA,y=i.RGBA,v=i.UNSIGNED_BYTE;i.texImage2D(i.TEXTURE_2D,0,w,y,v,t);let A=0,k=0;"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?(A=t.videoWidth,k=t.videoHeight):(A=t.width,k=t.height),k>A&&(k=[A,A=k][0]),this._updateTransforms(r,a);let T=this._getFramebuffer(i,E.dataWidth/4,E.dataHeight),R=this._getVertexBuffer(i),x=this._getIndexBuffer(i),L=this._getGreyscaleShader(i);const z=i.getVertexAttrib(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_SIZE),M=i.getVertexAttrib(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_TYPE),F=i.getVertexAttrib(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_NORMALIZED),O=i.getVertexAttrib(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_STRIDE),I=i.getVertexAttribOffset(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_POINTER),P=i.getVertexAttrib(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_ENABLED),S=i.getVertexAttrib(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),C=i.getVertexAttrib(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_SIZE),D=i.getVertexAttrib(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_TYPE),B=i.getVertexAttrib(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_NORMALIZED),U=i.getVertexAttrib(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_STRIDE),V=i.getVertexAttribOffset(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_POINTER),N=i.getVertexAttrib(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),W=i.getVertexAttrib(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_ENABLED);let G=0,Y=0;this._isWebGL2?(G=i.getVertexAttrib(L.aVertexPositionLoc,i.VERTEX_ATTRIB_ARRAY_DIVISOR),Y=i.getVertexAttrib(L.aTextureCoordLoc,i.VERTEX_ATTRIB_ARRAY_DIVISOR),i.vertexAttribDivisor(L.aVertexPositionLoc,0),i.vertexAttribDivisor(L.aTextureCoordLoc,0)):this._instancedArraysExtension&&(G=i.getVertexAttrib(L.aVertexPositionLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),Y=i.getVertexAttrib(L.aTextureCoordLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aVertexPositionLoc,0),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aTextureCoordLoc,0)),i.bindFramebuffer(i.FRAMEBUFFER,T),i.viewport(0,0,this._framebufferWidth,this._framebufferHeight),i.clear(i.COLOR_BUFFER_BIT),i.bindBuffer(i.ARRAY_BUFFER,R),i.vertexAttribPointer(L.aVertexPositionLoc,2,i.FLOAT,!1,16,0),i.enableVertexAttribArray(L.aVertexPositionLoc),i.vertexAttribPointer(L.aTextureCoordLoc,2,i.FLOAT,!1,16,8),i.enableVertexAttribArray(L.aTextureCoordLoc),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,x),i.useProgram(L.program),i.uniform1f(L.uTexWidthLoc,E.dataWidth),i.uniformMatrix4fv(L.uUvTransformLoc,!1,this._cameraUvTransform),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,e),i.uniform1i(L.uSamplerLoc,0),i.drawElements(i.TRIANGLES,6,i.UNSIGNED_SHORT,0),i.bindBuffer(i.ARRAY_BUFFER,S),i.vertexAttribPointer(L.aVertexPositionLoc,z,M,F,O,I),i.bindBuffer(i.ARRAY_BUFFER,N),i.vertexAttribPointer(L.aTextureCoordLoc,C,D,B,U,V),i.bindBuffer(i.ARRAY_BUFFER,h),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,b),P||i.disableVertexAttribArray(L.aVertexPositionLoc),W||i.disableVertexAttribArray(L.aTextureCoordLoc),this._isWebGL2?(i.vertexAttribDivisor(L.aVertexPositionLoc,G),i.vertexAttribDivisor(L.aTextureCoordLoc,Y)):this._instancedArraysExtension&&(this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aVertexPositionLoc,G),this._instancedArraysExtension.vertexAttribDivisorANGLE(L.aTextureCoordLoc,Y)),i.bindFramebuffer(i.FRAMEBUFFER,m),i.useProgram(d),i.bindTexture(i.TEXTURE_2D,p),i.activeTexture(f),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,l),n.pop(),s&&i.enable(i.BLEND),c&&i.enable(i.CULL_FACE),_&&i.enable(i.DEPTH_TEST),o&&i.enable(i.SCISSOR_TEST),u&&i.enable(i.STENCIL_TEST)}readFrame(e,t){let r=this._gl,a=new Uint8Array(t);const i=r.getParameter(r.FRAMEBUFFER_BINDING);let n=this._getFramebuffer(r,E.dataWidth/4,E.dataHeight);return r.bindFramebuffer(r.FRAMEBUFFER,n),r.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,r.RGBA,r.UNSIGNED_BYTE,a),r.bindFramebuffer(r.FRAMEBUFFER,i),{uvTransform:this._cameraUvTransform,data:t,texture:e,dataWidth:E.dataWidth,dataHeight:E.dataHeight,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0);const a=e.getParameter(e.TEXTURE_BINDING_2D);e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);if(i!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+i.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,a),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=x(e,e.VERTEX_SHADER,I),a=x(e,e.FRAGMENT_SHADER,P);e.attachShader(t,r),e.attachShader(t,a),function(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}(e,t);let i=e.getUniformLocation(t,"uTexWidth");if(!i)throw new Error("Unable to get uniform location uTexWidth");let n=e.getUniformLocation(t,"uUvTransform");if(!n)throw new Error("Unable to get uniform location uUvTransform");let o=e.getUniformLocation(t,"uSampler");if(!o)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:i,uUvTransformLoc:n,uSamplerLoc:o},this._greyscaleShader}}let z,M,F,O,I="\\n attribute vec4 aVertexPosition;\\n attribute vec2 aTextureCoord;\\n\\n varying highp vec2 vTextureCoord1;\\n varying highp vec2 vTextureCoord2;\\n varying highp vec2 vTextureCoord3;\\n varying highp vec2 vTextureCoord4;\\n\\n uniform float uTexWidth;\\n\\tuniform mat4 uUvTransform;\\n\\n void main(void) {\\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\\n\\n gl_Position = aVertexPosition;\\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\\n }\\n",P="\\n varying highp vec2 vTextureCoord1;\\n varying highp vec2 vTextureCoord2;\\n varying highp vec2 vTextureCoord3;\\n varying highp vec2 vTextureCoord4;\\n\\n uniform sampler2D uSampler;\\n\\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\\n\\n void main(void) {\\n lowp vec4 outpx;\\n\\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\\n\\n gl_FragColor = outpx;\\n }\\n";var S=function(e,t,r,a){return new(r||(r=Promise))((function(i,n){function o(e){try{s(a.next(e))}catch(e){n(e)}}function _(e){try{s(a.throw(e))}catch(e){n(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,_)}s((a=a.apply(e,t||[])).next())}))};let C=new class{constructor(){this.onOutgoingMessage=new o,this.onIncomingMessage=new _,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}},D=0,B=!1;const U=new Map;function V(e){return S(this,void 0,void 0,(function*(){let r=t({locateFile:(t,r)=>t.endsWith("zappar-cv.wasm")?e:r+t,onRuntimeInitialized:()=>{let e=function(e){let t=e.cwrap("zappar_log_level","number",[]),r=e.cwrap("zappar_log_level_set",null,["number"]),a=e.cwrap("zappar_analytics_project_id_set",null,["string","string"]),i=e.cwrap("zappar_pipeline_create","number",[]),n=e.cwrap("zappar_pipeline_destroy",null,["number"]),o=e.cwrap("zappar_pipeline_camera_frame_data_raw","number",["number"]),_=e.cwrap("zappar_pipeline_camera_frame_data_raw_size","number",["number"]),s=e.cwrap("zappar_pipeline_camera_frame_data_raw_width","number",["number"]),c=e.cwrap("zappar_pipeline_camera_frame_data_raw_height","number",["number"]),u=e.cwrap("zappar_pipeline_frame_update",null,["number"]),f=e.cwrap("zappar_pipeline_frame_number","number",["number"]),l=e.cwrap("zappar_pipeline_camera_model","number",["number"]),d=e.cwrap("zappar_pipeline_camera_frame_user_data","number",["number"]),p=e.cwrap("zappar_pipeline_camera_frame_submit",null,["number","number","number","number","number","number","number","number","number"]),m=e.cwrap("zappar_pipeline_camera_frame_submit_raw_pointer",null,["number","number","number","number","number","number","number","number","number","number","number"]),h=e.cwrap("zappar_pipeline_camera_frame_camera_attitude","number",["number"]),b=e.cwrap("zappar_pipeline_camera_frame_device_attitude","number",["number"]),w=e.cwrap("zappar_pipeline_motion_accelerometer_submit",null,["number","number","number","number","number"]),g=e.cwrap("zappar_pipeline_motion_accelerometer_with_gravity_submit_int",null,["number","number","number","number","number","number"]),y=e.cwrap("zappar_pipeline_motion_accelerometer_without_gravity_submit_int",null,["number","number","number","number","number","number"]),v=e.cwrap("zappar_pipeline_motion_rotation_rate_submit",null,["number","number","number","number","number"]),E=e.cwrap("zappar_pipeline_motion_rotation_rate_submit_int",null,["number","number","number","number","number","number"]),A=e.cwrap("zappar_pipeline_motion_attitude_submit",null,["number","number","number","number","number"]),k=e.cwrap("zappar_pipeline_motion_attitude_submit_int",null,["number","number","number","number","number","number"]),T=e.cwrap("zappar_pipeline_motion_attitude_matrix_submit",null,["number","number"]),R=e.cwrap("zappar_camera_source_create","number",["number","string"]),x=e.cwrap("zappar_camera_source_destroy",null,["number"]),L=e.cwrap("zappar_sequence_source_create","number",["number"]),z=e.cwrap("zappar_sequence_source_destroy",null,["number"]),M=e.cwrap("zappar_image_tracker_create","number",["number"]),F=e.cwrap("zappar_image_tracker_destroy",null,["number"]),O=e.cwrap("zappar_image_tracker_target_load_from_memory",null,["number","number","number"]),I=e.cwrap("zappar_image_tracker_target_loaded_version","number",["number"]),P=e.cwrap("zappar_image_tracker_enabled","number",["number"]),S=e.cwrap("zappar_image_tracker_enabled_set",null,["number","number"]),C=e.cwrap("zappar_image_tracker_anchor_count","number",["number"]),D=e.cwrap("zappar_image_tracker_anchor_id","string",["number","number"]),B=e.cwrap("zappar_image_tracker_anchor_pose_raw","number",["number","number"]),U=e.cwrap("zappar_face_tracker_create","number",["number"]),V=e.cwrap("zappar_face_tracker_destroy",null,["number"]),N=e.cwrap("zappar_face_tracker_model_load_from_memory",null,["number","number","number"]),W=e.cwrap("zappar_face_tracker_model_loaded_version","number",["number"]),G=e.cwrap("zappar_face_tracker_enabled_set",null,["number","number"]),Y=e.cwrap("zappar_face_tracker_enabled","number",["number"]),H=e.cwrap("zappar_face_tracker_max_faces_set",null,["number","number"]),X=e.cwrap("zappar_face_tracker_max_faces","number",["number"]),q=e.cwrap("zappar_face_tracker_anchor_count","number",["number"]),K=e.cwrap("zappar_face_tracker_anchor_id","string",["number","number"]),Z=e.cwrap("zappar_face_tracker_anchor_pose_raw","number",["number","number"]),j=e.cwrap("zappar_face_tracker_anchor_identity_coefficients","number",["number","number"]),Q=e.cwrap("zappar_face_tracker_anchor_expression_coefficients","number",["number","number"]),$=e.cwrap("zappar_face_mesh_create","number",[]),J=e.cwrap("zappar_face_mesh_destroy",null,["number"]),ee=e.cwrap("zappar_face_landmark_create","number",["number"]),te=e.cwrap("zappar_face_landmark_destroy",null,["number"]),re=e.cwrap("zappar_barcode_finder_create","number",["number"]),ae=e.cwrap("zappar_barcode_finder_destroy",null,["number"]),ie=e.cwrap("zappar_barcode_finder_enabled_set",null,["number","number"]),ne=e.cwrap("zappar_barcode_finder_enabled","number",["number"]),oe=e.cwrap("zappar_barcode_finder_found_number","number",["number"]),_e=e.cwrap("zappar_barcode_finder_found_text","string",["number","number"]),se=e.cwrap("zappar_barcode_finder_found_format","number",["number","number"]),ce=e.cwrap("zappar_barcode_finder_formats","number",["number"]),ue=e.cwrap("zappar_barcode_finder_formats_set",null,["number","number"]),fe=e.cwrap("zappar_instant_world_tracker_create","number",["number"]),le=e.cwrap("zappar_instant_world_tracker_destroy",null,["number"]),de=e.cwrap("zappar_instant_world_tracker_enabled_set",null,["number","number"]),pe=e.cwrap("zappar_instant_world_tracker_enabled","number",["number"]),me=e.cwrap("zappar_instant_world_tracker_anchor_pose_raw","number",["number"]),he=e.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw",null,["number","number","number","number","number"]),be=e.cwrap("zappar_world_tracker_create","number",["number"]),we=e.cwrap("zappar_world_tracker_destroy",null,["number"]),ge=e.cwrap("zappar_world_tracker_enabled","number",["number"]),ye=e.cwrap("zappar_world_tracker_enabled_set",null,["number","number"]),ve=e.cwrap("zappar_world_tracker_quality","number",["number"]),Ee=e.cwrap("zappar_world_tracker_plane_count","number",["number"]),Ae=e.cwrap("zappar_world_tracker_plane_pose_raw","number",["number","number"]),ke=e.cwrap("zappar_world_tracker_world_anchor_valid","number",["number"]),Te=e.cwrap("zappar_world_tracker_world_anchor_pose_raw","number",["number"]),Re=e.cwrap("zappar_world_tracker_ground_anchor_valid","number",["number"]),xe=e.cwrap("zappar_world_tracker_ground_anchor_pose_raw","number",["number"]),Le=e.cwrap("zappar_world_tracker_reset",null,["number"]),ze=32,Me=e._malloc(ze),Fe=(e._malloc(64),new Map),Oe=(t,r)=>{let a=Fe.get(t);return(!a||a[0]<r)&&(a&&e._free(a[1]),a=[r,e._malloc(r)],Fe.set(t,a)),a[1]};return{log_level:()=>t(),log_level_set:e=>r(e),analytics_project_id_set:(e,t)=>a(e,t),pipeline_create:()=>i(),pipeline_destroy:()=>{n()},pipeline_camera_frame_data_raw:e=>o(e),pipeline_camera_frame_data_raw_size:e=>_(e),pipeline_camera_frame_data_raw_width:e=>s(e),pipeline_camera_frame_data_raw_height:e=>c(e),pipeline_frame_update:e=>u(e),pipeline_frame_number:e=>f(e),pipeline_camera_model:t=>{let r=l(t),a=new Float32Array(6);return a.set(e.HEAPF32.subarray(r/4,6+r/4)),r=a,r},pipeline_camera_frame_user_data:e=>d(e),pipeline_camera_frame_submit:(t,r,a,i,n,o,_,s)=>{ze<r.byteLength&&(e._free(Me),ze=r.byteLength,Me=e._malloc(ze));let c=Me,u=r.byteLength;e.HEAPU8.set(new Uint8Array(r),Me);let f=a,l=i,d=n,m=Oe(4,o.byteLength);e.HEAPF32.set(o,m/4);let h=Oe(5,_.byteLength);return e.HEAPF32.set(_,h/4),p(t,c,u,f,l,d,m,h,s?1:0)},pipeline_camera_frame_submit_raw_pointer:(t,r,a,i,n,o,_,s,c,u,f)=>{let l=r,d=a,p=i,h=n,b=o,w=_,g=Oe(6,s.byteLength);e.HEAPF32.set(s,g/4);let y=c,v=Oe(8,u.byteLength);return e.HEAPF32.set(u,v/4),m(t,l,d,p,h,b,w,g,y,v,f?1:0)},pipeline_camera_frame_camera_attitude:t=>{let r=h(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_camera_frame_device_attitude:t=>{let r=b(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_motion_accelerometer_submit:(e,t,r,a,i)=>w(e,t,r,a,i),pipeline_motion_accelerometer_with_gravity_submit_int:(e,t,r,a,i,n)=>g(e,t,r,a,i,n),pipeline_motion_accelerometer_without_gravity_submit_int:(e,t,r,a,i,n)=>y(e,t,r,a,i,n),pipeline_motion_rotation_rate_submit:(e,t,r,a,i)=>v(e,t,r,a,i),pipeline_motion_rotation_rate_submit_int:(e,t,r,a,i,n)=>E(e,t,r,a,i,n),pipeline_motion_attitude_submit:(e,t,r,a,i)=>A(e,t,r,a,i),pipeline_motion_attitude_submit_int:(e,t,r,a,i,n)=>k(e,t,r,a,i,n),pipeline_motion_attitude_matrix_submit:(t,r)=>{let a=Oe(0,r.byteLength);return e.HEAPF32.set(r,a/4),T(t,a)},camera_source_create:(e,t)=>R(e,t),camera_source_destroy:()=>{x()},sequence_source_create:e=>L(e),sequence_source_destroy:()=>{z()},image_tracker_create:e=>M(e),image_tracker_destroy:()=>{F()},image_tracker_target_load_from_memory:(t,r)=>{ze<r.byteLength&&(e._free(Me),ze=r.byteLength,Me=e._malloc(ze));let a=Me,i=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),Me),O(t,a,i)},image_tracker_target_loaded_version:e=>I(e),image_tracker_enabled:e=>{let t=P(e);return t=1===t,t},image_tracker_enabled_set:(e,t)=>S(e,t?1:0),image_tracker_anchor_count:e=>C(e),image_tracker_anchor_id:(e,t)=>D(e,t),image_tracker_anchor_pose_raw:(t,r)=>{let a=B(t,r),i=new Float32Array(16);return i.set(e.HEAPF32.subarray(a/4,16+a/4)),a=i,a},face_tracker_create:e=>U(e),face_tracker_destroy:()=>{V()},face_tracker_model_load_from_memory:(t,r)=>{ze<r.byteLength&&(e._free(Me),ze=r.byteLength,Me=e._malloc(ze));let a=Me,i=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),Me),N(t,a,i)},face_tracker_model_loaded_version:e=>W(e),face_tracker_enabled_set:(e,t)=>G(e,t?1:0),face_tracker_enabled:e=>{let t=Y(e);return t=1===t,t},face_tracker_max_faces_set:(e,t)=>H(e,t),face_tracker_max_faces:e=>X(e),face_tracker_anchor_count:e=>q(e),face_tracker_anchor_id:(e,t)=>K(e,t),face_tracker_anchor_pose_raw:(t,r)=>{let a=Z(t,r),i=new Float32Array(16);return i.set(e.HEAPF32.subarray(a/4,16+a/4)),a=i,a},face_tracker_anchor_identity_coefficients:(t,r)=>{let a=j(t,r),i=new Float32Array(50);return i.set(e.HEAPF32.subarray(a/4,50+a/4)),a=i,a},face_tracker_anchor_expression_coefficients:(t,r)=>{let a=Q(t,r),i=new Float32Array(29);return i.set(e.HEAPF32.subarray(a/4,29+a/4)),a=i,a},face_mesh_create:()=>$(),face_mesh_destroy:()=>{J()},face_landmark_create:e=>ee(e),face_landmark_destroy:()=>{te()},barcode_finder_create:e=>re(e),barcode_finder_destroy:()=>{ae()},barcode_finder_enabled_set:(e,t)=>ie(e,t?1:0),barcode_finder_enabled:e=>{let t=ne(e);return t=1===t,t},barcode_finder_found_number:e=>oe(e),barcode_finder_found_text:(e,t)=>_e(e,t),barcode_finder_found_format:(e,t)=>se(e,t),barcode_finder_formats:e=>ce(e),barcode_finder_formats_set:(e,t)=>ue(e,t),instant_world_tracker_create:e=>fe(e),instant_world_tracker_destroy:()=>{le()},instant_world_tracker_enabled_set:(e,t)=>de(e,t?1:0),instant_world_tracker_enabled:e=>{let t=pe(e);return t=1===t,t},instant_world_tracker_anchor_pose_raw:t=>{let r=me(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,a,i)=>he(e,t,r,a,i),world_tracker_create:e=>be(e),world_tracker_destroy:()=>{we()},world_tracker_enabled:e=>{let t=ge(e);return t=1===t,t},world_tracker_enabled_set:(e,t)=>ye(e,t?1:0),world_tracker_quality:e=>ve(e),world_tracker_plane_count:e=>Ee(e),world_tracker_plane_pose_raw:(t,r)=>{let a=Ae(t,r),i=new Float32Array(16);return i.set(e.HEAPF32.subarray(a/4,16+a/4)),a=i,a},world_tracker_world_anchor_valid:e=>{let t=ke(e);return t=1===t,t},world_tracker_world_anchor_pose_raw:t=>{let r=Te(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},world_tracker_ground_anchor_valid:e=>{let t=Re(e);return t=1===t,t},world_tracker_ground_anchor_pose_raw:t=>{let r=xe(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},world_tracker_reset:e=>Le(e)}}(r),t=new n(e,((e,t)=>{C.postOutgoingMessage({p:e,t:"zappar",d:t},[t])}));C.postOutgoingMessage("loaded",[]),C.onIncomingMessage.bind((a=>{var i,n,o;switch(a.t){case"zappar":t.processBuffer(a.d),C.postOutgoingMessage({t:"buf",d:a.d},[a.d]);break;case"buf":null===(i=t.serializersByPipelineId.get(a.p))||void 0===i||i.bufferReturn(a.d);break;case"cameraFrameC2S":{let r,i=a,n=t._pipeline_by_instance.get(i.p);n&&(e.pipeline_camera_frame_submit(n,i.d,i.width,i.height,i.token,i.c2d,i.cm,i.userFacing),e.pipeline_frame_update(n),r=e.pipeline_camera_frame_device_attitude(n),t.exploreState());let o={token:i.token,d:i.d,p:i.p,t:"cameraFrameRecycleS2C",att:r};C.postOutgoingMessage(o,[i.d]);break}case"rawenabled":B=a.v;break;case"rawrequest":{const e=a,t=U.get(e.p),r={t:"raw",token:e.token,p:e.p,data:t&&null!==(o=null===(n=t.ready.find((t=>t.token===e.token)))||void 0===n?void 0:n.data)&&void 0!==o?o:null};C.postOutgoingMessage(r,[]);break}case"streamC2S":{let i=a;(function(e,t,r,a,i,n,o){return S(this,void 0,void 0,(function*(){for(;;){let _;try{_=yield r.getReader()}catch(e){yield K(1e3);continue}try{return void(yield q(e,t,_,a,i,n,o))}catch(e){}return void(yield K(1e3))}}))})(r,e,i.s,i.p,i.userFacing,t,i.source).then((()=>{let e={t:"streamEndedS2C",p:i.p,source:i.source};C.postOutgoingMessage(e,[])})).catch((e=>{}));break}case"cameraToScreenC2S":D=a.r;break;case"imageBitmapC2S":!function(e,t,r,a){const[i,n]=function(){if(!F||!O){const e=new OffscreenCanvas(1,1);if(O=e.getContext("webgl"),!O)throw new Error("Unable to get offscreen GL context");F=new L(O)}return[F,O]}();if(M||(M=n.createTexture(),n.bindTexture(n.TEXTURE_2D,M),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR)),!M)return;(!z||z.byteLength<E.dataWidth*E.dataHeight)&&(z=new ArrayBuffer(E.dataWidth*E.dataHeight)),i.uploadFrame(M,e.i,e.r,e.userFacing);let o=i.readFrame(M,z),_={t:"imageBitmapS2C",dataWidth:o.dataWidth,dataHeight:o.dataHeight,frame:e.i,userFacing:o.userFacing,uvTransform:o.uvTransform||h(),tokenId:e.tokenId,p:e.p};a.postOutgoingMessage(_,[e.i]);let s=r._pipeline_by_instance.get(e.p);s&&(t.pipeline_camera_frame_submit(s,z,o.dataWidth,o.dataHeight,e.tokenId,e.cameraToDevice,e.cameraModel,o.userFacing),t.pipeline_frame_update(s),r.exploreState())}(a,e,t,C);break;case"sensorDataC2S":{const r=a,i=t._pipeline_by_instance.get(r.p);if(!i)break;switch(r.sensor){case"accel":e.pipeline_motion_accelerometer_submit(i,r.timestamp,r.x,r.y,r.z);break;case"accel_w_gravity_int":e.pipeline_motion_accelerometer_with_gravity_submit_int(i,r.timestamp,r.interval,r.x,r.y,r.z);break;case"accel_wo_gravity_int":e.pipeline_motion_accelerometer_without_gravity_submit_int(i,r.timestamp,r.interval,r.x,r.y,r.z);break;case"attitude_int":e.pipeline_motion_attitude_submit_int(i,r.timestamp,r.interval,r.x,r.y,r.z);break;case"attitude":e.pipeline_motion_attitude_submit(i,r.timestamp,r.x,r.y,r.z);break;case"rotation_rate_int":e.pipeline_motion_rotation_rate_submit_int(i,r.timestamp,r.interval,r.x,r.y,r.z);break;case"rotation_rate":e.pipeline_motion_rotation_rate_submit(i,r.timestamp,r.x,r.y,r.z)}break}case"attitudeMatrixC2S":{const r=a,i=t._pipeline_by_instance.get(r.p);if(!i)break;e.pipeline_motion_attitude_matrix_submit(i,r.m);break}}}))}})}))}let N=0,W=0,G=1;function Y(e){return new Promise(((t,r)=>{const a=setTimeout((()=>{r("Frame timeout")}),2e3);e.read().then((e=>{clearTimeout(a),t(e)}))}))}const H=h(),X=new Float32Array([300,300,160,120,0,0]);function q(e,t,r,a,i,n,o){var _;return S(this,void 0,void 0,(function*(){for(;;){let u=yield Y(r);if(u.done)return void(null===(_=u.value)||void 0===_||_.close());let f=u.value,l=f.allocationSize();l>W&&(N>0&&e._free(N),N=e._malloc(l),W=l),yield f.copyTo(e.HEAPU8.subarray(N,N+W));let d=G;G++;const p=f.visibleRect.width,m=f.visibleRect.height;let h,w=p,g=m;switch(D){case 270:h=new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]),w=m,g=p;break;case 180:h=new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);break;case 90:h=new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1]),w=m,g=p;break;default:h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}let y=f.clone();i?(c=[-1,1,-1],(s=H)[0]=c[0],s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c[1],s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=c[2],s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1):b(H);let v=300*E.dataWidth/320;X[0]=v,X[1]=v,X[2]=.5*E.dataWidth,X[3]=.5*E.dataHeight;const A={token:d,d:y,p:a,t:"videoFrameS2C",userFacing:i,uvTransform:h,w:E.dataWidth,h:E.dataHeight,cameraToDevice:H,cameraModel:X,source:o};C.postOutgoingMessage(A,[A.d,A.uvTransform.buffer]);const k=n._pipeline_by_instance.get(a);if(k){try{t.pipeline_camera_frame_submit_raw_pointer(k,N,l,Z(f.format),p,m,d,H,D,X,i)}catch(e){}if(t.pipeline_frame_update(k),B){let r=U.get(a);if(r||(r={available:[],ready:[]},U.set(a,r)),r.ready.length>4){const e=r.ready.splice(0,1);for(const t of e)r.available.push(new Uint8Array(t.data.data))}const i=t.pipeline_camera_frame_data_raw_size(k);let n;for(;!n||n.byteLength<i;)r.available.length<1&&r.available.push(new Uint8Array(i)),n=r.available.pop();const o=t.pipeline_camera_frame_data_raw(k);n.set(e.HEAPU8.subarray(o,o+i)),r.ready.push({token:d,data:{data:n,width:t.pipeline_camera_frame_data_raw_width(a),height:t.pipeline_camera_frame_data_raw_height(a)}})}n.exploreState()}f.close()}var s,c}))}function K(e){return new Promise((t=>{setTimeout(t,e)}))}function Z(e){switch(e){case"I420":return l.FRAME_PIXEL_FORMAT_I420;case"I420A":return l.FRAME_PIXEL_FORMAT_I420A;case"I422":return l.FRAME_PIXEL_FORMAT_I422;case"I444":return l.FRAME_PIXEL_FORMAT_I444;case"NV12":return l.FRAME_PIXEL_FORMAT_NV12;case"RGBA":case"RGBX":return l.FRAME_PIXEL_FORMAT_RGBA;case"BGRA":case"BGRX":return l.FRAME_PIXEL_FORMAT_BGRA}return l.FRAME_PIXEL_FORMAT_Y}const j=self;C.onOutgoingMessage.bind((()=>{let e=C.getOutgoingMessages();for(let t of e)j.postMessage(t.msg,t.transferables)}));let Q=e=>{e&&e.data&&"wasm"===e.data.t&&(V(location.href.startsWith("blob")?e.data.url:new URL(r(751),r.b).toString()),j.removeEventListener("message",Q))};j.addEventListener("message",Q),j.addEventListener("message",(e=>{C.postIncomingMessage(e.data)}))})()})();',"Worker",void 0,r.p+"zappar-cv.worker.js")}},477:e=>{"use strict";e.exports=function(e,t,r,i){var a=self||window;try{try{var n;try{n=new a.Blob([e])}catch(t){(n=new(a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder)).append(e),n=n.getBlob()}var s=a.URL||a.webkitURL,o=s.createObjectURL(n),_=new a[t](o,r);return s.revokeObjectURL(o),_}catch(i){return new a[t]("data:application/javascript,".concat(encodeURIComponent(e)),r)}}catch(e){if(!i)throw Error("Inline worker is not supported");return new a[t](i,r)}}},698:(e,t,r)=>{"use strict";e.exports=r.p+"b4f46e148a3b3b5aef90.zbin"},825:(e,t,r)=>{"use strict";e.exports=r.p+"f7b62a3a53b5c9b3222b.zbin"},367:(e,t,r)=>{"use strict";e.exports=r.p+"482727c0e7dd40d73f5a.zbin"},751:(e,t,r)=>{"use strict";e.exports=r.p+"51b1854609f16d933fe2.wasm"}},t={};function r(i){var a=t[i];if(void 0!==a)return a.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}r.m=e,r.amdO={},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.u=e=>e+".zappar-cv.js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var i=t.getElementsByTagName("script");i.length&&(e=i[i.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),r.b=document.baseURI||self.location.href;var i={};return(()=>{"use strict";var e,t,a,n,s,o,_;r.r(i),r.d(i,{barcode_format_t:()=>e,face_landmark_name_t:()=>t,image_target_type_t:()=>o,initialize:()=>Nt,instant_world_tracker_transform_orientation_t:()=>a,log_level_t:()=>n,world_tracker_quality_t:()=>_}),function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(e||(e={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(t||(t={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(a||(a={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(n||(n={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(s||(s={})),function(e){e[e.IMAGE_TRACKER_TYPE_PLANAR=0]="IMAGE_TRACKER_TYPE_PLANAR",e[e.IMAGE_TRACKER_TYPE_CYLINDRICAL=1]="IMAGE_TRACKER_TYPE_CYLINDRICAL",e[e.IMAGE_TRACKER_TYPE_CONICAL=2]="IMAGE_TRACKER_TYPE_CONICAL"}(o||(o={})),function(e){e[e.WORLD_TRACKER_QUALITY_INITIALIZING=0]="WORLD_TRACKER_QUALITY_INITIALIZING",e[e.WORLD_TRACKER_QUALITY_GOOD=1]="WORLD_TRACKER_QUALITY_GOOD",e[e.WORLD_TRACKER_QUALITY_ORIENTATION_ONLY=2]="WORLD_TRACKER_QUALITY_ORIENTATION_ONLY"}(_||(_={}));class c{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t,r=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=r)return;if(!t){let e=r;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,t=new ArrayBuffer(e)}let i=this._buffer?this._i32View:void 0;this._buffer=t,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),i&&this._i32View.set(i.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout((()=>{this._timeoutSet=!1,this._send()}),0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}class l{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}class d{constructor(e){this._messageSender=e,this._globalState={log_level:1},this.serializer=new c((e=>{this._messageSender(e)})),this.deserializer=new l,this._latestId=1,this._pipeline_state_by_instance=new Map,this._camera_source_state_by_instance=new Map,this._sequence_source_state_by_instance=new Map,this._image_tracker_state_by_instance=new Map,this._face_tracker_state_by_instance=new Map,this._face_mesh_state_by_instance=new Map,this._face_landmark_state_by_instance=new Map,this._barcode_finder_state_by_instance=new Map,this._instant_world_tracker_state_by_instance=new Map,this._world_tracker_state_by_instance=new Map,this.impl={log_level:()=>this._globalState.log_level,log_level_set:e=>{this.serializer.sendMessage(38,(t=>{t.logLevel(e)}))},analytics_project_id_set:(e,t)=>{this.serializer.sendMessage(35,(r=>{r.string(e),r.string(t)}))},pipeline_create:()=>{let e=this._latestId++,t={current_frame_user_data:0,camera_model:new Float32Array([300,300,160,120,0,0]),camera_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_camera_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_device_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),frame_number:0};return this._pipeline_state_by_instance.set(e,t),this.serializer.sendMessage(31,(t=>{t.type(e)})),e},pipeline_destroy:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this._pipeline_state_by_instance.delete(e),this.serializer.sendMessage(32,(t=>{t.type(e)}))},pipeline_frame_update:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(9,(t=>{t.type(e)}))},pipeline_frame_number:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.frame_number},pipeline_camera_model:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_model},pipeline_camera_frame_user_data:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.current_frame_user_data},pipeline_camera_frame_submit:(e,t,r,i,a,n,s,o)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(8,(_=>{_.type(e),_.dataWithLength(t),_.int(r),_.int(i),_.int(a),_.matrix4x4(n),_.cameraModel(s),_.bool(o)}))},pipeline_camera_frame_camera_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_camera_attitude},pipeline_camera_frame_device_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_device_attitude},pipeline_motion_accelerometer_submit:(e,t,r,i,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(10,(n=>{n.type(e),n.timestamp(t),n.float(r),n.float(i),n.float(a)}))},pipeline_motion_accelerometer_with_gravity_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(12,(s=>{s.type(e),s.timestamp(t),s.timestamp(r),s.float(i),s.float(a),s.float(n)}))},pipeline_motion_accelerometer_without_gravity_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(11,(s=>{s.type(e),s.timestamp(t),s.timestamp(r),s.float(i),s.float(a),s.float(n)}))},pipeline_motion_rotation_rate_submit:(e,t,r,i,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(15,(n=>{n.type(e),n.timestamp(t),n.float(r),n.float(i),n.float(a)}))},pipeline_motion_rotation_rate_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(13,(s=>{s.type(e),s.timestamp(t),s.timestamp(r),s.float(i),s.float(a),s.float(n)}))},pipeline_motion_attitude_submit:(e,t,r,i,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(16,(n=>{n.type(e),n.timestamp(t),n.float(r),n.float(i),n.float(a)}))},pipeline_motion_attitude_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(14,(s=>{s.type(e),s.timestamp(t),s.timestamp(r),s.float(i),s.float(a),s.float(n)}))},pipeline_motion_attitude_matrix_submit:(e,t)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(17,(r=>{r.type(e),r.matrix4x4(t)}))},camera_source_create:(e,t)=>{let r=this._latestId++;return this._camera_source_state_by_instance.set(r,{}),this.serializer.sendMessage(33,(i=>{i.type(r),i.type(e),i.string(t)})),r},camera_source_destroy:e=>{if(!this._camera_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._camera_source_state_by_instance.delete(e),this.serializer.sendMessage(34,(t=>{t.type(e)}))},sequence_source_create:e=>{let t=this._latestId++;return this._sequence_source_state_by_instance.set(t,{}),this.serializer.sendMessage(39,(r=>{r.type(t),r.type(e)})),t},sequence_source_destroy:e=>{if(!this._sequence_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._sequence_source_state_by_instance.delete(e),this.serializer.sendMessage(40,(t=>{t.type(e)}))},image_tracker_create:e=>{let t=this._latestId++;return this._image_tracker_state_by_instance.set(t,{enabled:!0,target_loaded_version:-1,anchor_count:0,anchor_id:[],anchor_pose:[]}),this.serializer.sendMessage(2,(r=>{r.type(t),r.type(e)})),t},image_tracker_destroy:e=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._image_tracker_state_by_instance.delete(e),this.serializer.sendMessage(18,(t=>{t.type(e)}))},image_tracker_target_load_from_memory:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(4,(r=>{r.type(e),r.dataWithLength(t)}))},image_tracker_target_loaded_version:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.target_loaded_version},image_tracker_enabled:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},image_tracker_enabled_set:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(3,(r=>{r.type(e),r.bool(t)}))},image_tracker_anchor_count:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},image_tracker_anchor_id:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},image_tracker_anchor_pose_raw:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_create:e=>{let t=this._latestId++;return this._face_tracker_state_by_instance.set(t,{enabled:!0,model_loaded:-1,max_faces:1,anchor_count:0,anchor_id:[],anchor_pose:[],anchor_identity_coefficients:[],anchor_expression_coefficients:[]}),this.serializer.sendMessage(24,(r=>{r.type(t),r.type(e)})),t},face_tracker_destroy:e=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_tracker_state_by_instance.delete(e),this.serializer.sendMessage(25,(t=>{t.type(e)}))},face_tracker_model_load_from_memory:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(26,(r=>{r.type(e),r.dataWithLength(t)}))},face_tracker_model_loaded_version:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.model_loaded},face_tracker_enabled_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(27,(r=>{r.type(e),r.bool(t)}))},face_tracker_enabled:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},face_tracker_max_faces_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(28,(r=>{r.type(e),r.int(t)}))},face_tracker_max_faces:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.max_faces},face_tracker_anchor_count:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},face_tracker_anchor_id:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},face_tracker_anchor_pose_raw:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_anchor_identity_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_identity_coefficients[t]},face_tracker_anchor_expression_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_expression_coefficients[t]},face_mesh_create:()=>{let e=this._latestId++;return this._face_mesh_state_by_instance.set(e,{}),this.serializer.sendMessage(29,(t=>{t.type(e)})),e},face_mesh_destroy:e=>{if(!this._face_mesh_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_mesh_state_by_instance.delete(e),this.serializer.sendMessage(30,(t=>{t.type(e)}))},face_landmark_create:e=>{let t=this._latestId++;return this._face_landmark_state_by_instance.set(t,{}),this.serializer.sendMessage(36,(r=>{r.type(t),r.faceLandmarkName(e)})),t},face_landmark_destroy:e=>{if(!this._face_landmark_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_landmark_state_by_instance.delete(e),this.serializer.sendMessage(37,(t=>{t.type(e)}))},barcode_finder_create:e=>{let t=this._latestId++;return this._barcode_finder_state_by_instance.set(t,{enabled:!0,number_found:0,found_text:[],found_format:[],formats:131071}),this.serializer.sendMessage(20,(r=>{r.type(t),r.type(e)})),t},barcode_finder_destroy:e=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this._barcode_finder_state_by_instance.delete(e),this.serializer.sendMessage(21,(t=>{t.type(e)}))},barcode_finder_enabled_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(22,(r=>{r.type(e),r.bool(t)}))},barcode_finder_enabled:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},barcode_finder_found_number:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.number_found},barcode_finder_found_text:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_text[t]},barcode_finder_found_format:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_format[t]},barcode_finder_formats:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.formats},barcode_finder_formats_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(23,(r=>{r.type(e),r.barcodeFormat(t)}))},instant_world_tracker_create:e=>{let t=this._latestId++,r={enabled:!0,pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};return this._instant_world_tracker_state_by_instance.set(t,r),this.serializer.sendMessage(5,(r=>{r.type(t),r.type(e)})),t},instant_world_tracker_destroy:e=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._instant_world_tracker_state_by_instance.delete(e),this.serializer.sendMessage(19,(t=>{t.type(e)}))},instant_world_tracker_enabled_set:(e,t)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(6,(r=>{r.type(e),r.bool(t)}))},instant_world_tracker_enabled:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},instant_world_tracker_anchor_pose_raw:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.pose},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,i,a)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(7,(n=>{n.type(e),n.float(t),n.float(r),n.float(i),n.instantTrackerTransformOrientation(a)}))},world_tracker_create:e=>{let t=this._latestId++,r={enabled:!0,plane_count:0,plane_pose:[],world_anchor_valid:!0,world_anchor_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),ground_anchor_valid:!0,ground_anchor_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),quality:0};return this._world_tracker_state_by_instance.set(t,r),this.serializer.sendMessage(41,(r=>{r.type(t),r.type(e)})),t},world_tracker_destroy:e=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._world_tracker_state_by_instance.delete(e),this.serializer.sendMessage(42,(t=>{t.type(e)}))},world_tracker_enabled:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},world_tracker_enabled_set:(e,t)=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(43,(r=>{r.type(e),r.bool(t)}))},world_tracker_quality:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.quality},world_tracker_plane_count:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.plane_count},world_tracker_plane_pose_raw:(e,t)=>{let r=this._world_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.plane_pose[t]},world_tracker_world_anchor_valid:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.world_anchor_valid},world_tracker_world_anchor_pose_raw:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.world_anchor_pose},world_tracker_ground_anchor_valid:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.world_anchor_valid},world_tracker_ground_anchor_pose_raw:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.ground_anchor_pose},world_tracker_reset:e=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(44,(t=>{t.type(e)}))}}}processMessages(e){this.deserializer.setData(e),this.deserializer.forMessages(((e,t)=>{switch(e){case 7:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.frame_number=t.int();break}case 6:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_model=t.cameraModel();break}case 5:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.current_frame_user_data=t.int();break}case 11:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_camera_attitude=t.matrix4x4();break}case 12:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_device_attitude=t.matrix4x4();break}case 19:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.target_loaded_version=t.int();break}case 1:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 2:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_id[i]=t.string();break}case 3:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_pose[i]=t.matrix4x4();break}case 18:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.model_loaded=t.int();break}case 13:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 14:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_id[i]=t.string();break}case 15:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_pose[i]=t.matrix4x4();break}case 16:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_identity_coefficients[i]=t.identityCoefficients();break}case 17:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_expression_coefficients[i]=t.expressionCoefficients();break}case 8:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;r.number_found=t.int();break}case 9:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let i=t.int();r.found_text[i]=t.string();break}case 10:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let i=t.int();r.found_format[i]=t.barcodeFormat();break}case 4:{let e=t.type(),r=this._instant_world_tracker_state_by_instance.get(e);if(!r)return;r.pose=t.matrix4x4();break}case 27:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.quality=t.int();break}case 21:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.plane_count=t.int();break}case 22:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.plane_pose[i]=t.matrix4x4();break}case 23:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.world_anchor_valid=t.bool();break}case 24:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.world_anchor_pose=t.matrix4x4();break}case 23:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.world_anchor_valid=t.bool();break}case 26:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.ground_anchor_pose=t.matrix4x4();break}}}))}}function u(e,t,r){let i=e.createShader(t);if(!i)throw new Error("Unable to create shader");e.shaderSource(i,r),e.compileShader(i);let a=e.getShaderInfoLog(i);if(a&&a.trim().length>0)throw new Error("Shader compile error: "+a);return i}function h(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}let f,p,m,b={};function g(e){if(m)return m;if(m=e.createBuffer(),!m)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,m),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,1,1,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),m}let w="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 projMatrix;\nuniform mat4 cameraMatrix;\nuniform mat4 modelViewMatrix;\nattribute vec4 position;\nattribute vec2 textureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main()\n{\n gl_Position = projMatrix * cameraMatrix * modelViewMatrix * position;\n vTextureCoord = textureCoord;\n}",v="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nuniform sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2D(skinSampler, vTextureCoord);\n}";function y(e){if(f)return f;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,w),i=u(e,e.FRAGMENT_SHADER,v);e.attachShader(t,r),e.attachShader(t,i),h(e,t);let a=e.getUniformLocation(t,"projMatrix");if(!a)throw new Error("Unable to get uniform location projMatrix");let n=e.getUniformLocation(t,"modelViewMatrix");if(!n)throw new Error("Unable to get uniform location modelViewMatrix");let s=e.getUniformLocation(t,"cameraMatrix");if(!s)throw new Error("Unable to get uniform location cameraMatrix");let o=e.getUniformLocation(t,"skinSampler");if(!o)throw new Error("Unable to get uniform location skinSampler");return f={prog:t,unif_matrix:n,unif_proj:a,unif_camera:s,unif_skinSampler:o,attr_position:e.getAttribLocation(t,"position"),attr_textureCoord:e.getAttribLocation(t,"textureCoord")},f}var E=1e-6,A="undefined"!=typeof Float32Array?Float32Array:Array;function T(){var e=new A(16);return A!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function R(e,t){var r=t[0],i=t[1],a=t[2],n=t[3],s=t[4],o=t[5],_=t[6],c=t[7],l=t[8],d=t[9],u=t[10],h=t[11],f=t[12],p=t[13],m=t[14],b=t[15],g=r*o-i*s,w=r*_-a*s,v=r*c-n*s,y=i*_-a*o,E=i*c-n*o,A=a*c-n*_,T=l*p-d*f,R=l*m-u*f,x=l*b-h*f,k=d*m-u*p,M=d*b-h*p,F=u*b-h*m,L=g*F-w*M+v*k+y*x-E*R+A*T;return L?(L=1/L,e[0]=(o*F-_*M+c*k)*L,e[1]=(a*M-i*F-n*k)*L,e[2]=(p*A-m*E+b*y)*L,e[3]=(u*E-d*A-h*y)*L,e[4]=(_*x-s*F-c*R)*L,e[5]=(r*F-a*x+n*R)*L,e[6]=(m*v-f*A-b*w)*L,e[7]=(l*A-u*v+h*w)*L,e[8]=(s*M-o*x+c*T)*L,e[9]=(i*x-r*M-n*T)*L,e[10]=(f*E-p*v+b*g)*L,e[11]=(d*v-l*E-h*g)*L,e[12]=(o*R-s*k-_*T)*L,e[13]=(r*k-i*R+a*T)*L,e[14]=(p*w-f*y-m*g)*L,e[15]=(l*y-d*w+u*g)*L,e):null}function x(e,t,r){var i=t[0],a=t[1],n=t[2],s=t[3],o=t[4],_=t[5],c=t[6],l=t[7],d=t[8],u=t[9],h=t[10],f=t[11],p=t[12],m=t[13],b=t[14],g=t[15],w=r[0],v=r[1],y=r[2],E=r[3];return e[0]=w*i+v*o+y*d+E*p,e[1]=w*a+v*_+y*u+E*m,e[2]=w*n+v*c+y*h+E*b,e[3]=w*s+v*l+y*f+E*g,w=r[4],v=r[5],y=r[6],E=r[7],e[4]=w*i+v*o+y*d+E*p,e[5]=w*a+v*_+y*u+E*m,e[6]=w*n+v*c+y*h+E*b,e[7]=w*s+v*l+y*f+E*g,w=r[8],v=r[9],y=r[10],E=r[11],e[8]=w*i+v*o+y*d+E*p,e[9]=w*a+v*_+y*u+E*m,e[10]=w*n+v*c+y*h+E*b,e[11]=w*s+v*l+y*f+E*g,w=r[12],v=r[13],y=r[14],E=r[15],e[12]=w*i+v*o+y*d+E*p,e[13]=w*a+v*_+y*u+E*m,e[14]=w*n+v*c+y*h+E*b,e[15]=w*s+v*l+y*f+E*g,e}function k(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function M(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function F(e,t,r){var i,a,n,s=r[0],o=r[1],_=r[2],c=Math.hypot(s,o,_);return c<E?null:(s*=c=1/c,o*=c,_*=c,i=Math.sin(t),n=1-(a=Math.cos(t)),e[0]=s*s*n+a,e[1]=o*s*n+_*i,e[2]=_*s*n-o*i,e[3]=0,e[4]=s*o*n-_*i,e[5]=o*o*n+a,e[6]=_*o*n+s*i,e[7]=0,e[8]=s*_*n+o*i,e[9]=o*_*n-s*i,e[10]=_*_*n+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function L(){var e=new A(3);return A!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function I(e,t){var r=t[0],i=t[1],a=t[2],n=r*r+i*i+a*a;return n>0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function S(e,t,r){var i=t[0],a=t[1],n=t[2],s=r[0],o=r[1],_=r[2];return e[0]=a*_-n*o,e[1]=n*s-i*_,e[2]=i*o-a*s,e}function C(e,t,r){var i=t[0],a=t[1],n=t[2],s=r[3]*i+r[7]*a+r[11]*n+r[15];return s=s||1,e[0]=(r[0]*i+r[4]*a+r[8]*n+r[12])/s,e[1]=(r[1]*i+r[5]*a+r[9]*n+r[13])/s,e[2]=(r[2]*i+r[6]*a+r[10]*n+r[14])/s,e}Math.random,Math.PI,Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)}),L();var U,D=r(238);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(U||(U={}));let P={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,dataWidth:320,dataHeight:240,videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!0,preferImageBitmapCamera:!1,ios164CameraSelection:!1,relyOnConstraintsForCameraSelection:!1,forceWindowOrientation:!1,intervalMultiplier:1,trustSensorIntervals:!1};"undefined"!=typeof window&&(window.zeeProfile=P,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),P.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),P.preferImageBitmapCamera=!0));let O=new D.UAParser,B=(O.getOS().name||"unknown").toLowerCase(),z=(O.getEngine().name||"unknown").toLowerCase();function V(e){P.forceWindowOrientation=!0,P.preferMediaStreamTrackProcessorCamera=!1,P.intervalMultiplier=1e3,P.trustSensorIntervals=!0;let t=e.split(".");if(t.length>=2){const e=parseInt(t[0]),r=parseInt(t[1]);(e<11||11===e&&r<3)&&(P.blacklisted=!0),(e<12||12===e&&r<2)&&(P.videoElementInDOM=!0),(12===e&&r>=2||e>=13)&&(P.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(P.showSafariPermissionsResetIfNecessary=!0),(e>=12&&r>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(P.requestHighFrameRate=!0,e<14&&(P.videoHeight=360,P.dataHeight=180)),16===e&&r>=4&&(P.ios164CameraSelection=!0),e>=17&&(P.relyOnConstraintsForCameraSelection=!0)}}function N(e,t,r,i=.01,a=100){let n=2*e[2],s=2*e[3],o=T();!function(e,t,r,i,a,n,s){var o=1/(r-t),_=1/(a-i),c=1/(n-s);e[0]=2*n*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*n*_,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(a+i)*_,e[10]=(s+n)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*n*2*c,e[15]=0}(o,i*(-.5-e[2])/e[0],i*(n-.5-e[2])/e[0],i*(s-.5-e[3])/e[1],i*(-.5-e[3])/e[1],i,a),o[4]*=-1,o[5]*=-1,o[6]*=-1,o[7]*=-1;let _=T();M(_,[.5*n,.5*s,1]),x(o,_,o),F(_,G(!1)*Math.PI/180,[0,0,1]),x(o,_,o);let c=L();c[0]=n,c[1]=s,c[2]=0,C(c,c,_);let l=Math.abs(c[0]),d=Math.abs(c[1]),u=1;return u=l/t>d/r?r/d:t/l,M(_,[u,u,1]),x(o,_,o),M(_,[2/t,2/r,1]),x(o,_,o),F(_,G(!1)*Math.PI/-180,[0,0,1]),x(o,o,_),o}function G(e){if(window.screen.orientation&&!P.forceWindowOrientation)switch(window.screen.orientation.type){case"portrait-primary":return e?90:270;case"landscape-secondary":return 180;case"portrait-secondary":return e?270:90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return e?90:270;case 90:return 0;case 180:return e?270:90;case-90:return 180}return 0}"webkit"===z&&"ios"!==B&&(P.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&V("15.0")),"webkit"===z&&"ios"===B&&(P.deviceMotionMutliplier=1,V(O.getOS().version||"15.0"));class W{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}}class Y{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}}var H=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function s(e){try{_(i.next(e))}catch(e){n(e)}}function o(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}_((i=i.apply(e,t||[])).next())}))};let j=new class{constructor(){this.onOutgoingMessage=new W,this.onIncomingMessage=new Y,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}};var q;!function(e){e[e.PermissionTitle=0]="PermissionTitle",e[e.PermissionDescription=1]="PermissionDescription",e[e.PermissionButton=2]="PermissionButton"}(q||(q={}));const[X,Z]=function(e){const[t,r]=e.toLowerCase().split("-");return[t,r||""]}(navigator.language);function K(e){switch(X){case"es":switch(e){case q.PermissionTitle:return"Ya casi...";case q.PermissionDescription:return"Para brindar esta experiencia de realidad aumentada, necesitamos acceso a la cámara y los sensores de movimiento de su dispositivo.";case q.PermissionButton:return"Permitir acceso"}break;case"de":switch(e){case q.PermissionTitle:return"Fast am Ziel..";case q.PermissionDescription:return"Um dir dieses Augmented Reality Erlebnis zu liefern, brauchen wir Zugriff auf die Kamera und Bewegungssensoren deines Gerätes.";case q.PermissionButton:return"Gewähre Zugriff"}break;case"pt":switch(e){case q.PermissionTitle:return"Está quase!";case q.PermissionDescription:return"Esta experiência de realidade aumentada precisa de acesso à câmera e aos sensores de movimento deste dispositivo.";case q.PermissionButton:return"Permitir acesso"}}switch(e){case q.PermissionTitle:return"Almost there...";case q.PermissionDescription:return"In order to provide this augmented reality experience, we need access to your device's camera and motion sensors.";case q.PermissionButton:return"Grant Access"}return""}var Q=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function s(e){try{_(i.next(e))}catch(e){n(e)}}function o(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}_((i=i.apply(e,t||[])).next())}))};let $=new D.UAParser,J=!1,ee=!1,te=!1,re=!1;function ie(){return Q(this,void 0,void 0,(function*(){if(navigator.permissions&&navigator.permissions.query)try{let e=yield navigator.permissions.query({name:"camera"});te="denied"===e.state,J="granted"===e.state}catch(e){}}))}function ae(){return J}function ne(){return ee}function se(){return te}function oe(){return re}function _e(){return te||re}function ce(){return J&&ee}function le(){return Q(this,void 0,void 0,(function*(){yield ue(),yield de()}))}function de(){return Q(this,void 0,void 0,(function*(){try{(yield navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach((e=>e.stop())),J=!0,te=!1}catch(e){J=!1,te=!0}}))}function ue(){return Q(this,void 0,void 0,(function*(){if(window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission&&"granted"!==(yield window.DeviceOrientationEvent.requestPermission()))return ee=!1,re=!0,!1;ee=!0,re=!1}))}function he(){return Q(this,void 0,void 0,(function*(){if(yield ie(),ce())return!0;let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML=`\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">${K(q.PermissionTitle)}</div>\n <div class="zappar-text">${K(q.PermissionDescription)}</div>\n <button id="zappar-permission-request-button">${K(q.PermissionButton)}</button>\n </div>\n`,document.body.append(e);let t=e.querySelector("#zappar-permission-request-button");return yield new Promise((r=>{null==t||t.addEventListener("click",(()=>Q(this,void 0,void 0,(function*(){for(yield le(),e.remove();;){if(yield new Promise((e=>requestAnimationFrame((()=>e())))),_e())return void r(!1);if(ce())return void r(!0)}}))))}))}))}function fe(){"Chrome"===$.getBrowser().name?function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience.<br/><br/>To grant access, please tap the ! button in the address bar of your browser, then "Site settings", and finally "Clear and reset". You can then reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",(()=>window.location.reload()))}():function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience. Please reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",(()=>window.location.reload()))}()}window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission||(ee=!0),ie();let pe=n.LOG_LEVEL_ERROR;function me(...e){pe>=n.LOG_LEVEL_VERBOSE&&console.log("[Zappar] INFO",...e)}function be(...e){pe>=n.LOG_LEVEL_ERROR&&console.error("[Zappar] ERROR",...e)}function ge(...e){pe>=n.LOG_LEVEL_VERBOSE&&console.log("[Zappar] WARN",...e)}let we=1,ve=new Map;function ye(e){return ve.get(e)}class Ee{constructor(){this.render_mean_=new Float32Array,this.render_identity_=new Float32Array(50),this.render_expression_=new Float32Array(29),this.render_uvs_=new Float32Array,this.render_indices_=new Uint16Array,this.vertices_=new Float32Array,this.normals_=new Float32Array,this.normalsCalculated_=!1,this.modelVersion_=-1,this.mirrored_=!1}loadFromMemory(e,t,r,i,a){let n=0,s=new Uint16Array(e),o=new Int32Array(e),_=new Float32Array(e),c=()=>{let e=o[n++]*o[n++],t=_.subarray(n,n+e);return n+=e,t},l=()=>{let e=o[n++],t=s.subarray(2*n,2*n+e);return n+=e/2,t};this.render_mean_=c(),this.render_identity_=c(),this.render_expression_=c(),this.render_uvs_=c();let d=l(),u=n<o.length?l():new Uint16Array,h=n<o.length?l():new Uint16Array,f=n<o.length?l():new Uint16Array,p=n<o.length?l():new Uint16Array;if(t||r||i||a){let e=d.length;t&&(e+=u.length),r&&(e+=h.length),i&&(e+=f.length),a&&(e+=p.length),this.render_indices_=new Uint16Array(e),this.render_indices_.set(d,0);let n=d.length;t&&(this.render_indices_.set(u,n),n+=u.length),r&&(this.render_indices_.set(h,n),n+=h.length),i&&(this.render_indices_.set(f,n),n+=f.length),a&&(this.render_indices_.set(p,n),n+=p.length)}else this.render_indices_=d;this.vertices_=new Float32Array(this.render_mean_),this.normals_=new Float32Array(this.vertices_.length),this.modelVersion_++}getVertices(){return this.vertices_}getUVs(){return this.render_uvs_}getIndices(){if(this.mirrored_){if(!this.render_indices_reversed){this.render_indices_reversed=new Uint16Array(this.render_indices_.length);for(let e=0;e<this.render_indices_.length;e+=3)this.render_indices_reversed[e]=this.render_indices_[e+2],this.render_indices_reversed[e+1]=this.render_indices_[e+1],this.render_indices_reversed[e+2]=this.render_indices_[e]}return this.render_indices_reversed}return this.render_indices_}getNormals(){return this.normalsCalculated_||this.calculateNormals(),this.normals_}getModelVersion(){return this.modelVersion_}getLandmarkDataForVertex(e){let t=[this.render_mean_[3*e],this.render_mean_[3*e+1],this.render_mean_[3*e+2]],r=[];for(let t=0;t<50;t++)r.push(this.render_identity_[3*e*50+t]),r.push(this.render_identity_[50*(3*e+1)+t]),r.push(this.render_identity_[50*(3*e+2)+t]);let i=[];for(let t=0;t<29;t++)i.push(this.render_expression_[3*e*29+t]),i.push(this.render_expression_[29*(3*e+1)+t]),i.push(this.render_expression_[29*(3*e+2)+t]);return{mean:t,identity:r,expression:i}}update(e,t,r){if(0!==this.render_mean_.length&&0!==this.render_identity_.length&&0!==this.render_expression_.length){this.mirrored_=r,this.vertices_.set(this.render_mean_);for(let t=0;t<e.length;t++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=e[t]*this.render_identity_[r*e.length+t];for(let e=0;e<t.length;e++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=t[e]*this.render_expression_[r*t.length+e];if(r)for(let e=0;e<this.vertices_.length;e+=3)this.vertices_[e]*=-1;this.normalsCalculated_=!1}}calculateNormals(){let e=this.getIndices(),t=this.vertices_,r=new Float32Array(e.length);if(!t)return;let i=e.length,a=this.normals_,n=new Float32Array([0,0,0]),s=new Float32Array([0,0,0]),o=new Float32Array([0,0,0]);for(let a=0;a<i;a+=3){let i=3*e[a],u=3*e[a+1],h=3*e[a+2];n[0]=t[u]-t[i],n[1]=t[u+1]-t[i+1],n[2]=t[u+2]-t[i+2],s[0]=t[h]-t[i],s[1]=t[h+1]-t[i+1],s[2]=t[h+2]-t[i+2],S(o,n,s);let f=(c=void 0,l=void 0,d=void 0,c=(_=o)[0],l=_[1],d=_[2],Math.hypot(c,l,d));r[a]=o[0]/f,r[a+1]=o[1]/f,r[a+2]=o[2]/f}var _,c,l,d;a.fill(0);for(let t=0;t<i;t+=3){let i=3*e[t],n=3*e[t+1],s=3*e[t+2];a[i]+=r[t],a[i+1]+=r[t+1],a[i+2]+=r[t+2],a[n]+=r[t],a[n+1]+=r[t+1],a[n+2]+=r[t+2],a[s]+=r[t],a[s+1]+=r[t+1],a[s+2]+=r[t+2]}let u=a.length/3;for(let e=0;e<u;e++){let t=3*e;n[0]=a[t],n[1]=a[t+1],n[2]=a[t+2],I(s,n),a[t]=s[0],a[t+1]=s[1],a[t+2]=s[2]}this.normalsCalculated_=!0}}let Ae=T();class Te{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._vbo=void 0,this._shader&&this._gl.deleteProgram(this._shader.prog),this._shader=void 0}_generate(e,t){if(this._vbo)return this._vbo;if(this._vbo||(this._vbo=e.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");let r=new Float32Array([-1,-1,0,0,0,-1,1,0,0,1,1,-1,0,1,0,1,-1,0,1,0,-1,1,0,0,1,1,1,0,1,1]);return e.bindBuffer(e.ARRAY_BUFFER,this._vbo),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),this._vbo}drawCameraFrame(e,t,r,i){if(!r.texture)return;let a=this._gl;const n=a.isEnabled(a.DEPTH_TEST),s=a.isEnabled(a.SCISSOR_TEST),o=a.isEnabled(a.CULL_FACE),_=a.isEnabled(a.STENCIL_TEST),c=a.isEnabled(a.BLEND),l=a.getParameter(a.TEXTURE_BINDING_2D),d=a.getParameter(a.FRAMEBUFFER_BINDING),u=a.getParameter(a.CURRENT_PROGRAM),h=a.getParameter(a.ACTIVE_TEXTURE);a.disable(a.DEPTH_TEST),a.disable(a.SCISSOR_TEST),a.disable(a.CULL_FACE),a.disable(a.STENCIL_TEST),a.disable(a.BLEND);let f=this._getCameraShader(a),p=this._generate(a,r);a.activeTexture(a.TEXTURE0),a.useProgram(f.prog),a.uniformMatrix4fv(f.unif_skinTexTransform,!1,ke(r.dataWidth,r.dataHeight,e,t,r.uvTransform||Ae,i)),a.uniform1i(f.unif_skinSampler,0),a.bindTexture(a.TEXTURE_2D,r.texture),a.bindBuffer(a.ARRAY_BUFFER,p),a.vertexAttribPointer(f.attr_position,3,a.FLOAT,!1,20,0),a.enableVertexAttribArray(f.attr_position),a.vertexAttribPointer(f.attr_texCoord,2,a.FLOAT,!1,20,12),a.enableVertexAttribArray(f.attr_texCoord),a.drawArrays(a.TRIANGLES,0,6),a.disableVertexAttribArray(f.attr_position),a.disableVertexAttribArray(f.attr_texCoord),a.bindFramebuffer(a.FRAMEBUFFER,d),a.useProgram(u),a.bindTexture(a.TEXTURE_2D,l),a.activeTexture(h),c&&a.enable(a.BLEND),o&&a.enable(a.CULL_FACE),n&&a.enable(a.DEPTH_TEST),s&&a.enable(a.SCISSOR_TEST),_&&a.enable(a.STENCIL_TEST)}_getCameraShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,Re),i=u(e,e.FRAGMENT_SHADER,xe);e.attachShader(t,r),e.attachShader(t,i),h(e,t);let a=e.getUniformLocation(t,"skinTexTransform");if(!a)throw new Error("Unable to get uniform location skinTexTransform");let n=e.getUniformLocation(t,"skinSampler");if(!n)throw new Error("Unable to get uniform location skinSampler");return this._shader={prog:t,unif_skinTexTransform:a,unif_skinSampler:n,attr_position:e.getAttribLocation(t,"position"),attr_texCoord:e.getAttribLocation(t,"texCoord")},this._shader}}let Re="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nattribute vec4 position;\nattribute vec4 texCoord;\nvarying vec4 skinTexVarying;\nuniform mat4 skinTexTransform;\n\nvoid main()\n{\n gl_Position = position;\n skinTexVarying = skinTexTransform * texCoord;\n}",xe="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2DProj(skinSampler, skinTexVarying);\n}";function ke(e,t,r,i,a,n){let s=T(),o=T();k(o,[-.5,-.5,0]),x(s,o,s),n&&(M(o,[-1,1,1]),x(s,o,s)),F(o,-1*function(){if(window.screen.orientation&&!P.forceWindowOrientation)switch(window.screen.orientation.type){case"portrait-primary":return 270;case"landscape-secondary":return 180;case"portrait-secondary":return 90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return 270;case 90:return 0;case 180:return 90;case-90:return 180}return 0}()*Math.PI/180,[0,0,1]),x(s,o,s);let _=L();_[0]=r,_[1]=i,_[2]=0,C(_,_,o);let c=Math.abs(_[0]),l=Math.abs(_[1]);M(o,[1,-1,1]),x(s,o,s);let d=c/l,u=e/t;return M(o,d>u?[1,u/d,1]:[d/u,1,1]),x(s,o,s),k(o,[.5,.5,0]),x(s,o,s),x(s,a,s),s}class Me{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._normalbo&&this._gl.deleteBuffer(this._normalbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._normalbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateNormalBO(e,t){if(this._normalbo||(this._normalbo=t.createBuffer()),!this._normalbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._normalbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._normalbo}drawFace(e,t){let r=this._gl,i=this._getShader(r),a=this._generateVBO(t.getVertices(),r),n=this._generateNormalBO(t.getNormals(),r),s=this._generateIBO(t.getIndices(),r);r.enable(r.DEPTH_TEST),r.enable(r.CULL_FACE),r.useProgram(i.prog),r.uniformMatrix4fv(i.unif_matrix,!1,e),r.bindBuffer(r.ARRAY_BUFFER,a),r.vertexAttribPointer(i.attr_position,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(i.attr_position),r.bindBuffer(r.ARRAY_BUFFER,n),r.vertexAttribPointer(i.attr_normal,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(i.attr_normal),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,s),r.drawElements(r.TRIANGLES,t.getIndices().length,r.UNSIGNED_SHORT,0),r.disableVertexAttribArray(i.attr_position),r.disableVertexAttribArray(i.attr_normal),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,Fe),i=u(e,e.FRAGMENT_SHADER,Le);e.attachShader(t,r),e.attachShader(t,i),h(e,t);let a=e.getUniformLocation(t,"matrix");if(!a)throw new Error("Unable to get uniform location mattrix");return this._shader={prog:t,unif_matrix:a,attr_position:e.getAttribLocation(t,"position"),attr_normal:e.getAttribLocation(t,"normal")},this._shader}}let Fe="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nattribute vec4 position;\nattribute vec3 normal;\nvarying highp vec3 vnormal;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vnormal = normal;\n}",Le="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nvarying highp vec3 vnormal;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n vec3 normal2 = 0.5 * vnormal + 0.5;\n gl_FragColor = vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}";class Ie{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._uvbo&&this._gl.deleteBuffer(this._uvbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._uvbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateUVBO(e,t){if(this._uvbo||(this._uvbo=t.createBuffer()),!this._uvbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._uvbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._uvbo}drawFace(e,t,r,i,a,n){let s=this._gl,o=this._getShader(s),_=this._generateVBO(t,s),c=this._generateUVBO(i,s),l=this._generateIBO(a,s);s.enable(s.DEPTH_TEST),s.enable(s.CULL_FACE),s.useProgram(o.prog),s.uniformMatrix4fv(o.unif_matrix,!1,e),s.uniformMatrix4fv(o.unif_uvmatrix,!1,r),s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n),s.uniform1i(o.unif_sampler,0),s.bindBuffer(s.ARRAY_BUFFER,_),s.vertexAttribPointer(o.attr_position,3,s.FLOAT,!1,12,0),s.enableVertexAttribArray(o.attr_position),s.bindBuffer(s.ARRAY_BUFFER,c),s.vertexAttribPointer(o.attr_uv,3,s.FLOAT,!1,12,0),s.enableVertexAttribArray(o.attr_uv),s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,l),s.drawElements(s.TRIANGLES,6912,s.UNSIGNED_SHORT,0),s.disableVertexAttribArray(o.attr_position),s.disableVertexAttribArray(o.attr_uv),s.bindBuffer(s.ARRAY_BUFFER,null),s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,Se),i=u(e,e.FRAGMENT_SHADER,Ce);e.attachShader(t,r),e.attachShader(t,i),h(e,t);let a=e.getUniformLocation(t,"matrix");if(!a)throw new Error("Unable to get uniform location matrix");let n=e.getUniformLocation(t,"uvmatrix");if(!n)throw new Error("Unable to get uniform location matrix");let s=e.getUniformLocation(t,"uSampler");if(!s)throw new Error("Unable to get uniform location sampler");return this._shader={prog:t,unif_matrix:a,unif_sampler:s,unif_uvmatrix:n,attr_position:e.getAttribLocation(t,"position"),attr_uv:e.getAttribLocation(t,"uv"),attr_texturecoord:e.getAttribLocation(t,"aTextureCoord")},this._shader}}let Se="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nuniform mat4 uvmatrix;\nattribute vec4 position;\nattribute vec3 normal;\nattribute vec3 uv;\n\n// varying highp vec3 vnormal;\n\nvarying highp vec2 vTextureCoord;\nvarying highp float vAlpha;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vec4 ret = uvmatrix * vec4(uv.x, uv.y, uv.z, 1.0);\n ret.x /= ret.w * 2.0;\n ret.y /= ret.w * 2.0;\n ret.x += 0.5;\n ret.y += 0.0;\n vAlpha = 1.0;\n vTextureCoord = ret.xy;\n}",Ce="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nvarying highp vec3 vnormal;\nvarying highp float vAlpha;\nuniform lowp sampler2D uSampler;\n\nvoid main()\n{\n // vec3 normal2 = 0.5 * vnormal + 0.5;\n vec4 p = texture2D(uSampler, vTextureCoord);\n p.a = vAlpha;\n gl_FragColor = p; // vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}";var Ue;!function(e){e[e.CAMERA_FRAME=0]="CAMERA_FRAME",e[e.ACCELEROMETER=1]="ACCELEROMETER",e[e.ROTATION_RATE=2]="ROTATION_RATE",e[e.ATTITUDE=3]="ATTITUDE",e[e.ATTITUDE_MATRIX=4]="ATTITUDE_MATRIX",e[e.ACCELEROMETER_WO_GRAVITY_INT=5]="ACCELEROMETER_WO_GRAVITY_INT",e[e.ACCELEROMETER_W_GRAVITY_INT=6]="ACCELEROMETER_W_GRAVITY_INT",e[e.ROTATION_RATE_INT=7]="ROTATION_RATE_INT",e[e.ATTITUDE_INT=8]="ATTITUDE_INT"}(Ue||(Ue={}));class De{constructor(e){this._insertionByte=0,this._numberPackets=0,this._started=!1,this._hasLoggedUnsuppored=!1,this._data=new ArrayBuffer(this._estimatedSize(e,320,240)),this._dataView=new DataView(this._data),this._dataUint8=new Uint8Array(this._data),this._dataFloat32=new Float32Array(this._data)}_estimatedSize(e,t,r){return De.headerSizeBytes+(De.psbPacketType+De.cameraPacketSizeBytes+t*r)*e}start(){this._started=!0,this._insertionByte=0,this._numberPackets=0,this._growArrayBuffer(De.headerSizeBytes);let e=(new TextEncoder).encode("UAR1");this._dataUint8.set(e),this._dataView.setUint32(4,0,!0),this._insertionByte+=8}stop(){this._started=!1;let e=this._data.slice(0,this._insertionByte);this._data=e,this._dataUint8=new Uint8Array(this._data),this._dataFloat32=new Float32Array(this._data),this._dataView=new DataView(this._data)}data(){return this._dataUint8}appendCameraFrame(e){if(!this._started)return;if(!e.data){if(this._hasLoggedUnsuppored)return;return this._hasLoggedUnsuppored=!0,void be("Unable to record frames from this camera source")}if(e.data.byteLength!==e.dataWidth*e.dataHeight)return void be("Unable to record frame to sequence: greyscale array doesn't match dimensions");let t=De.psbPacketType+De.cameraPacketSizeBytes+e.dataWidth*e.dataHeight;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,Ue.CAMERA_FRAME,!0),this._insertionByte+=De.psbPacketType,this._dataView.setUint32(this._insertionByte,e.dataWidth,!0),this._insertionByte+=De.psbCameraFrameWidth,this._dataView.setUint32(this._insertionByte,e.dataHeight,!0),this._insertionByte+=De.psbCameraFrameHeight,this._dataFloat32.set(e.cameraToDevice,this._insertionByte/4),this._insertionByte+=De.psbCameraToDeviceTransform,this._dataFloat32.set(e.cameraModel,this._insertionByte/4),this._insertionByte+=De.psbCameraModel,this._dataView.setUint32(this._insertionByte,e.userFacing?1:0,!0),this._insertionByte+=De.psbFlags,this._dataUint8.set(new Uint8Array(e.data),this._insertionByte),this._insertionByte+=e.data.byteLength,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAccelerometer(e,t,r,i){this._appendTimestampedVec3(Ue.ACCELEROMETER,e,t,r,i)}appendRotationRate(e,t,r,i){this._appendTimestampedVec3(Ue.ROTATION_RATE,e,t,r,i)}appendAttitude(e,t,r,i){this._appendTimestampedVec3(Ue.ATTITUDE,e,t,r,i)}appendAccelerometerWithoutGravityInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ACCELEROMETER_WO_GRAVITY_INT,e,t,r,i,a)}appendAccelerometerWithGravityInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ACCELEROMETER_W_GRAVITY_INT,e,t,r,i,a)}appendRotationRateInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ROTATION_RATE_INT,e,t,r,i,a)}appendAttitudeInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ATTITUDE_INT,e,t,r,i,a)}_appendSensorWithInterval(e,t,r,i,a,n){if(!this._started)return;let s=De.psbPacketType+De.sensorWithIntervalPacketSizeBytes;this._growArrayBuffer(s),this._dataView.setUint32(this._insertionByte,e,!0),this._insertionByte+=De.psbPacketType,this._dataView.setUint32(this._insertionByte,t,!0),this._insertionByte+=4,this._dataView.setUint32(this._insertionByte,r,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,i,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,a,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,n,!0),this._insertionByte+=4,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}_appendTimestampedVec3(e,t,r,i,a){if(!this._started)return;let n=De.psbPacketType+De.accelerometerPacketSizeBytes;this._growArrayBuffer(n),this._dataView.setUint32(this._insertionByte,e,!0),this._insertionByte+=De.psbPacketType,this._dataView.setUint32(this._insertionByte,t,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,r,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,i,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,a,!0),this._insertionByte+=4,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAttitudeMatrix(e){if(!this._started)return;let t=De.psbPacketType+De.attitudeMatrixPacketSizeBytes;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,Ue.ATTITUDE_MATRIX,!0),this._insertionByte+=De.psbPacketType,this._dataFloat32.set(e,this._insertionByte/4),this._insertionByte+=De.attitudeMatrixPacketSizeBytes,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}_growArrayBuffer(e){for(;this._insertionByte+e>this._data.byteLength;){let e=Math.max(2*this._data.byteLength,this._estimatedSize(50,320,240)),t=new ArrayBuffer(e),r=new Uint8Array(t);r.set(this._dataUint8),this._data=t,this._dataUint8=r,this._dataFloat32=new Float32Array(this._data),this._dataView=new DataView(this._data)}}}De.headerSizeBytes=8,De.psbPacketType=4,De.psbCameraFrameWidth=4,De.psbCameraFrameHeight=4,De.psbFlags=4,De.psbCameraToDeviceTransform=64,De.psbCameraModel=24,De.cameraPacketSizeBytes=De.psbCameraFrameWidth+De.psbCameraFrameHeight+De.psbCameraToDeviceTransform+De.psbCameraModel+De.psbFlags,De.accelerometerPacketSizeBytes=16,De.sensorWithIntervalPacketSizeBytes=20,De.rotationRatePacketSizeBytes=16,De.attitudePacketSizeBytes=16,De.attitudeMatrixPacketSizeBytes=64;class Pe{constructor(e){this._data=e,this.dataByPacket=new Map,this.dataByCameraFrame=new Map,this.numberPackets=0,this.numberCameraFrames=0,this.numberAccelerometerPackets=0,this.numberRotationRatePackets=0,this.numberAttitudePackets=0,this.numberAttitudeMatrixPackets=0;let t=new TextDecoder,r="";try{r=t.decode(this._data.slice(0,4))}catch(e){throw new Error("Unable to decode header - perhaps this isn't a sequence file?")}if("UAR1"!==r)throw new Error(`Invalid - perhaps this isn't a sequence file: ${r}`);let i=0,a=new DataView(this._data);this.numberPackets=a.getUint32(4,!0),i+=De.headerSizeBytes;for(let e=0;e<this.numberPackets;e++){let t=a.getUint32(i,!0);switch(i+=De.psbPacketType,t){case Ue.CAMERA_FRAME:{let t=a.getUint32(i,!0);i+=De.psbCameraFrameWidth;let r=a.getUint32(i,!0);i+=De.psbCameraFrameHeight;let n=new Float32Array(this._data,i,De.psbCameraToDeviceTransform/4);i+=De.psbCameraToDeviceTransform;let s=new Float32Array(this._data,i,De.psbCameraModel/4);i+=De.psbCameraModel;let o=a.getUint32(i,!0);i+=De.psbFlags;let _=1===o,c=new Uint8Array(this._data,i,t*r);i+=t*r;let l={type:Ue.CAMERA_FRAME,width:t,height:r,cameraToDevice:n,cameraModel:s,userFacing:_,greyscale:c};this.dataByPacket.set(e,l),this.dataByCameraFrame.set(this.numberCameraFrames,l),this.numberCameraFrames++;break}case Ue.ACCELEROMETER:{let t=a.getUint32(i,!0);i+=4;let r=a.getFloat32(i,!0);i+=4;let n=a.getFloat32(i,!0);i+=4;let s=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:Ue.ACCELEROMETER,t,x:r,y:n,z:s}),this.numberAccelerometerPackets++;break}case Ue.ROTATION_RATE:{let t=a.getUint32(i,!0);i+=4;let r=a.getFloat32(i,!0);i+=4;let n=a.getFloat32(i,!0);i+=4;let s=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:Ue.ROTATION_RATE,t,x:r,y:n,z:s}),this.numberRotationRatePackets++;break}case Ue.ATTITUDE:{let t=a.getUint32(i,!0);i+=4;let r=a.getFloat32(i,!0);i+=4;let n=a.getFloat32(i,!0);i+=4;let s=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:Ue.ATTITUDE,t,x:r,y:n,z:s}),this.numberAttitudePackets++;break}case Ue.ATTITUDE_MATRIX:{let t=new Float32Array(this._data,i,De.attitudeMatrixPacketSizeBytes/4);i+=De.attitudeMatrixPacketSizeBytes,this.dataByPacket.set(e,{type:Ue.ATTITUDE_MATRIX,attitude:t}),this.numberAttitudeMatrixPackets++;break}case Ue.ACCELEROMETER_WO_GRAVITY_INT:case Ue.ACCELEROMETER_W_GRAVITY_INT:case Ue.ATTITUDE_INT:case Ue.ROTATION_RATE_INT:{let r=a.getUint32(i,!0);i+=4;let n=a.getUint32(i,!0);i+=4;let s=a.getFloat32(i,!0);i+=4;let o=a.getFloat32(i,!0);i+=4;let _=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:t,t:r,int:n,x:s,y:o,z:_}),this.numberAccelerometerPackets++;break}}}}}class Oe{}const Be=new Map;class ze{constructor(e){this._gl=e,this._viewports=[],this._underlyingViewport=this._gl.viewport,this._viewports.push(this._gl.getParameter(this._gl.VIEWPORT)),this._gl.viewport=(e,t,r,i)=>{this._viewports[this._viewports.length-1]=[e,t,r,i],this._underlyingViewport.call(this._gl,e,t,r,i)}}static get(e){let t=Be.get(e);return t||(t=new ze(e),Be.set(e,t)),t}push(){this._viewports.push(this._viewports[this._viewports.length-1])}pop(){const e=this._viewports.pop(),t=this._viewports[this._viewports.length-1];e&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]||this._underlyingViewport.call(this._gl,t[0],t[1],t[2],t[3])}}class Ve{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=T(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null,this._isWebGL2=!1,this._isWebGL2=e.getParameter(e.VERSION).indexOf("WebGL 2")>=0,this._isWebGL2||(this._instancedArraysExtension=this._gl.getExtension("ANGLE_instanced_arrays"))}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,t,r,i){let a=this._gl;const n=ze.get(a);n.push();const s=a.isEnabled(a.SCISSOR_TEST),o=a.isEnabled(a.DEPTH_TEST),_=a.isEnabled(a.BLEND),c=a.isEnabled(a.CULL_FACE),l=a.isEnabled(a.STENCIL_TEST),d=a.getParameter(a.ACTIVE_TEXTURE),u=a.getParameter(a.UNPACK_FLIP_Y_WEBGL),h=a.getParameter(a.CURRENT_PROGRAM);a.activeTexture(a.TEXTURE0);const f=a.getParameter(a.TEXTURE_BINDING_2D),p=a.getParameter(a.FRAMEBUFFER_BINDING),m=a.getParameter(a.ARRAY_BUFFER_BINDING),b=a.getParameter(a.ELEMENT_ARRAY_BUFFER_BINDING);a.disable(a.SCISSOR_TEST),a.disable(a.DEPTH_TEST),a.disable(a.BLEND),a.disable(a.CULL_FACE),a.disable(a.STENCIL_TEST),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),a.bindTexture(a.TEXTURE_2D,e);const g=a.RGBA,w=a.RGBA,v=a.UNSIGNED_BYTE;a.texImage2D(a.TEXTURE_2D,0,g,w,v,t);let y=0,E=0;"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?(y=t.videoWidth,E=t.videoHeight):(y=t.width,E=t.height),E>y&&(E=[y,y=E][0]),this._updateTransforms(r,i);let A=this._getFramebuffer(a,P.dataWidth/4,P.dataHeight),T=this._getVertexBuffer(a),R=this._getIndexBuffer(a),x=this._getGreyscaleShader(a);const k=a.getVertexAttrib(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_SIZE),M=a.getVertexAttrib(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_TYPE),F=a.getVertexAttrib(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_NORMALIZED),L=a.getVertexAttrib(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_STRIDE),I=a.getVertexAttribOffset(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_POINTER),S=a.getVertexAttrib(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_ENABLED),C=a.getVertexAttrib(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),U=a.getVertexAttrib(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_SIZE),D=a.getVertexAttrib(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_TYPE),O=a.getVertexAttrib(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_NORMALIZED),B=a.getVertexAttrib(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_STRIDE),z=a.getVertexAttribOffset(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_POINTER),V=a.getVertexAttrib(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),N=a.getVertexAttrib(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_ENABLED);let G=0,W=0;this._isWebGL2?(G=a.getVertexAttrib(x.aVertexPositionLoc,a.VERTEX_ATTRIB_ARRAY_DIVISOR),W=a.getVertexAttrib(x.aTextureCoordLoc,a.VERTEX_ATTRIB_ARRAY_DIVISOR),a.vertexAttribDivisor(x.aVertexPositionLoc,0),a.vertexAttribDivisor(x.aTextureCoordLoc,0)):this._instancedArraysExtension&&(G=a.getVertexAttrib(x.aVertexPositionLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),W=a.getVertexAttrib(x.aTextureCoordLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aVertexPositionLoc,0),this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aTextureCoordLoc,0)),a.bindFramebuffer(a.FRAMEBUFFER,A),a.viewport(0,0,this._framebufferWidth,this._framebufferHeight),a.clear(a.COLOR_BUFFER_BIT),a.bindBuffer(a.ARRAY_BUFFER,T),a.vertexAttribPointer(x.aVertexPositionLoc,2,a.FLOAT,!1,16,0),a.enableVertexAttribArray(x.aVertexPositionLoc),a.vertexAttribPointer(x.aTextureCoordLoc,2,a.FLOAT,!1,16,8),a.enableVertexAttribArray(x.aTextureCoordLoc),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,R),a.useProgram(x.program),a.uniform1f(x.uTexWidthLoc,P.dataWidth),a.uniformMatrix4fv(x.uUvTransformLoc,!1,this._cameraUvTransform),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e),a.uniform1i(x.uSamplerLoc,0),a.drawElements(a.TRIANGLES,6,a.UNSIGNED_SHORT,0),a.bindBuffer(a.ARRAY_BUFFER,C),a.vertexAttribPointer(x.aVertexPositionLoc,k,M,F,L,I),a.bindBuffer(a.ARRAY_BUFFER,V),a.vertexAttribPointer(x.aTextureCoordLoc,U,D,O,B,z),a.bindBuffer(a.ARRAY_BUFFER,m),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,b),S||a.disableVertexAttribArray(x.aVertexPositionLoc),N||a.disableVertexAttribArray(x.aTextureCoordLoc),this._isWebGL2?(a.vertexAttribDivisor(x.aVertexPositionLoc,G),a.vertexAttribDivisor(x.aTextureCoordLoc,W)):this._instancedArraysExtension&&(this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aVertexPositionLoc,G),this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aTextureCoordLoc,W)),a.bindFramebuffer(a.FRAMEBUFFER,p),a.useProgram(h),a.bindTexture(a.TEXTURE_2D,f),a.activeTexture(d),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,u),n.pop(),_&&a.enable(a.BLEND),c&&a.enable(a.CULL_FACE),o&&a.enable(a.DEPTH_TEST),s&&a.enable(a.SCISSOR_TEST),l&&a.enable(a.STENCIL_TEST)}readFrame(e,t){let r=this._gl,i=new Uint8Array(t);const a=r.getParameter(r.FRAMEBUFFER_BINDING);let n=this._getFramebuffer(r,P.dataWidth/4,P.dataHeight);return r.bindFramebuffer(r.FRAMEBUFFER,n),r.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,r.RGBA,r.UNSIGNED_BYTE,i),r.bindFramebuffer(r.FRAMEBUFFER,a),{uvTransform:this._cameraUvTransform,data:t,texture:e,dataWidth:P.dataWidth,dataHeight:P.dataHeight,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0);const i=e.getParameter(e.TEXTURE_BINDING_2D);e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let a=e.checkFramebufferStatus(e.FRAMEBUFFER);if(a!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+a.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,i),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,Ne),i=u(e,e.FRAGMENT_SHADER,Ge);e.attachShader(t,r),e.attachShader(t,i),h(e,t);let a=e.getUniformLocation(t,"uTexWidth");if(!a)throw new Error("Unable to get uniform location uTexWidth");let n=e.getUniformLocation(t,"uUvTransform");if(!n)throw new Error("Unable to get uniform location uUvTransform");let s=e.getUniformLocation(t,"uSampler");if(!s)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:a,uUvTransformLoc:n,uSamplerLoc:s},this._greyscaleShader}}let Ne="\n attribute vec4 aVertexPosition;\n attribute vec2 aTextureCoord;\n\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform float uTexWidth;\n\tuniform mat4 uUvTransform;\n\n void main(void) {\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\n\n gl_Position = aVertexPosition;\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\n }\n",Ge="\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform sampler2D uSampler;\n\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\n\n void main(void) {\n lowp vec4 outpx;\n\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\n\n gl_FragColor = outpx;\n }\n",We=1,Ye=new Map;class He extends Oe{constructor(e,t){super(),this._video=e,this._pipeline=t,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._cameraToDeviceTransform=T(),this._cameraToDeviceTransformUserFacing=T(),this._cameraModel=new Float32Array([300,300,160,120,0,0]),M(this._cameraToDeviceTransformUserFacing,[-1,1,-1]);let r=this._video;this._video instanceof HTMLVideoElement?r.addEventListener("loadedmetadata",(()=>{this._hadFrames=!0})):this._hadFrames=!0,this._resetGLContext=this._resetGLContext.bind(this);let i=lt.get(this._pipeline);i&&i.onGLContextReset.bind(this._resetGLContext)}static createVideoElementSource(e,t){let r=We++;return Ye.set(r,new He(t,e)),me("html_element_source_t initialized"),r}static getVideoElementSource(e){return Ye.get(e)}_resetGLContext(){var e,t;this._currentVideoTexture=void 0,null===(t=null===(e=this._imageProcessor)||void 0===e?void 0:e.resetGLContext)||void 0===t||t.call(e)}destroy(){let e=lt.get(this._pipeline);e&&e.onGLContextReset.unbind(this._resetGLContext),this.pause(),this._resetGLContext()}pause(){this._isPaused=!0;let e=lt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}start(){var e;this._isPaused&&(this._isUploadFrame=!0,this._video instanceof HTMLVideoElement&&(this._hadFrames=!1)),this._isPaused=!1;let t=lt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}getFrame(e){let t=lt.get(this._pipeline);if(!t)return;let r=t.glContext;if(r&&!this._isPaused&&this._hadFrames)try{let i=this._processFrame(r,this._cameraToScreenRotation,e);if(i){let e=t.registerToken(i);t.sendDataToWorker(i.data||new ArrayBuffer(0),e,i.dataWidth,i.dataHeight,i.userFacing,i.cameraToDevice,i.cameraModel),i.data=void 0}}catch(e){console.log("Unable to process frame")}}_processFrame(e,t,r){let i=lt.get(this._pipeline);if(!i)return;if(this._imageProcessor||(this._imageProcessor=new Ve(e)),this._isUploadFrame){if(this._currentVideoTexture||(this._currentVideoTexture=i.getVideoTexture()),!this._currentVideoTexture)return;return this._imageProcessor.uploadFrame(this._currentVideoTexture,this._video,t,this._isUserFacing),void(this._isUploadFrame=!this._isUploadFrame)}if(r||!this._currentVideoTexture)return;this._isUploadFrame=!this._isUploadFrame;let a=P.dataWidth*P.dataHeight,n=i.cameraPixelArrays.pop();for(;n&&n.byteLength!==a;)n=i.cameraPixelArrays.pop();n||(n=new ArrayBuffer(a));let s=this._currentVideoTexture;this._currentVideoTexture=void 0;let o=300*P.dataWidth/320;return this._cameraModel[0]=o,this._cameraModel[1]=o,this._cameraModel[2]=.5*P.dataWidth,this._cameraModel[3]=.5*P.dataHeight,Object.assign(Object.assign({},this._imageProcessor.readFrame(s,n)),{cameraModel:this._cameraModel,cameraSource:this,cameraToDevice:this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform})}uploadGL(){}}var je=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function s(e){try{_(i.next(e))}catch(e){n(e)}}function o(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}_((i=i.apply(e,t||[])).next())}))};let qe=document.createElement("video");qe.setAttribute("playsinline",""),qe.setAttribute("webkit-playsinline",""),P.videoElementInDOM&&(qe.style.width="0px",qe.style.height="0px",document.body.appendChild(qe));class Xe extends He{constructor(e,t,r){super(qe,t),this._impl=e,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._hasStartedOrientation=!1,this._lastTimestamp=-1,this._deviceMotionListener=e=>{let t=lt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now(),i=e.interval*P.intervalMultiplier;this._lastTimestamp>-1&&!P.trustSensorIntervals&&(i=Math.max(r-this._lastTimestamp,i)),this._lastTimestamp=r,null!==e.acceleration&&null!==e.acceleration.x&&null!==e.acceleration.y&&null!==e.acceleration.z&&t.motionAccelerometerWithoutGravitySubmitInt(r,i,e.acceleration.x*P.deviceMotionMutliplier,e.acceleration.y*P.deviceMotionMutliplier,e.acceleration.z*P.deviceMotionMutliplier),null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&(t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*P.deviceMotionMutliplier,e.accelerationIncludingGravity.y*P.deviceMotionMutliplier,e.accelerationIncludingGravity.z*P.deviceMotionMutliplier),t.motionAccelerometerWithGravitySubmitInt(r,i,e.accelerationIncludingGravity.x*P.deviceMotionMutliplier,e.accelerationIncludingGravity.y*P.deviceMotionMutliplier,e.accelerationIncludingGravity.z*P.deviceMotionMutliplier)),null!==e.rotationRate&&null!==e.rotationRate.alpha&&null!==e.rotationRate.beta&&null!==e.rotationRate.gamma&&this._hasStartedOrientation?(t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180),t.motionRotationRateSubmitInt(r,i,e.rotationRate.alpha,e.rotationRate.beta,e.rotationRate.gamma)):this._hasStartedOrientation||this._startDeviceOrientation()}}destroy(){it(this._impl),super.destroy()}_stop(){this._currentStream&&(this._currentStream.getTracks().forEach((e=>e.stop())),this._currentStream=null)}pause(){super.pause(),this._stopDeviceMotion(),this._syncCamera()}start(){super.start(),this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return je(this,void 0,void 0,(function*(){let e,t;if(this._deviceId!==Xe.DEFAULT_DEVICE_ID&&this._deviceId!==Xe.USER_DEFAULT_DEVICE_ID)e=this._deviceId;else if(t=this._deviceId===Xe.DEFAULT_DEVICE_ID?"environment":"user",P.ios164CameraSelection){if(!this._explicitEnvironmentCameraId||!this._explicitUserCameraId){(yield navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:t}})).getTracks().forEach((e=>e.stop()));let e=yield navigator.mediaDevices.enumerateDevices();e=e.filter((e=>"videoinput"===e.kind)),e.length>=2&&(this._explicitUserCameraId=e[0].deviceId,this._explicitEnvironmentCameraId=e[1].deviceId)}e="environment"===t?this._explicitEnvironmentCameraId:this._explicitUserCameraId}let r={audio:!1,video:{facingMode:t,width:P.videoWidth,height:P.videoHeight,frameRate:P.requestHighFrameRate?60:void 0,deviceId:e}};if(e||P.relyOnConstraintsForCameraSelection)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let i=yield navigator.mediaDevices.enumerateDevices(),a=!1;return i=i.filter((e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0})),a&&0!==i.length?("object"==typeof r.video&&(me("choosing device ID",i[i.length-1].deviceId),r.video.deviceId=i[i.length-1].deviceId),r):r}))}getFrame(e){this._cameraToScreenRotation=G(!1),super.getFrame(e)}_getUserMedia(){return je(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise(((t,r)=>{navigator.getUserMedia(e,t,r)}))}))}_syncCamera(){return je(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();e.length>0&&(this._isUserFacing="user"===e[0].getSettings().facingMode)}if(!(this._video instanceof HTMLVideoElement))return;this._video.src="",this._video.loop=!1,this._video.muted=!0,this._video.srcObject=this._currentStream,this._video.play()}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,this._deviceOrientationListener=e=>{let t=lt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmitInt(r,0,e.alpha,e.beta,e.gamma)},window.addEventListener("deviceorientation",this._deviceOrientationListener))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1),this._startDeviceOrientation()}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener),this._deviceOrientationListener&&window.removeEventListener("deviceorientation",this._deviceOrientationListener)}}Xe.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",Xe.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b";var Ze=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function s(e){try{_(i.next(e))}catch(e){n(e)}}function o(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}_((i=i.apply(e,t||[])).next())}))};class Ke extends Oe{constructor(e,t,r){super(),this._impl=e,this._pipeline=t,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._isPaused=!0,this._isUserFacing=!1,this._hadFrames=!1,this._canvas=new OffscreenCanvas(640,480),this._context=this._canvas.getContext("2d"),this._lastFrameTime=-1,this._video=document.createElement("video"),this._cameraToDeviceTransform=T(),this._cameraToDeviceTransformUserFacing=T(),this._cameraModel=new Float32Array([300,300,160,120,0,0]),this._hasStartedOrientation=!1,this._lastTimestamp=-1,this._deviceMotionListener=e=>{let t=lt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now(),i=e.interval;this._lastTimestamp>-1&&!P.trustSensorIntervals&&(i=Math.max(r-this._lastTimestamp,i)),this._lastTimestamp=r,i*=P.intervalMultiplier,null!==e.acceleration&&null!==e.acceleration.x&&null!==e.acceleration.y&&null!==e.acceleration.z&&t.motionAccelerometerWithoutGravitySubmitInt(r,i,e.acceleration.x*P.deviceMotionMutliplier,e.acceleration.y*P.deviceMotionMutliplier,e.acceleration.z*P.deviceMotionMutliplier),null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&(t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*P.deviceMotionMutliplier,e.accelerationIncludingGravity.y*P.deviceMotionMutliplier,e.accelerationIncludingGravity.z*P.deviceMotionMutliplier),t.motionAccelerometerWithGravitySubmitInt(r,i,e.accelerationIncludingGravity.x*P.deviceMotionMutliplier,e.accelerationIncludingGravity.y*P.deviceMotionMutliplier,e.accelerationIncludingGravity.z*P.deviceMotionMutliplier)),null!==e.rotationRate&&null!==e.rotationRate.alpha&&null!==e.rotationRate.beta&&null!==e.rotationRate.gamma&&this._hasStartedOrientation?(t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180),t.motionRotationRateSubmitInt(r,i,e.rotationRate.alpha,e.rotationRate.beta,e.rotationRate.gamma)):this._hasStartedOrientation||this._startDeviceOrientation()},me("Using ImageBitmap camera source"),M(this._cameraToDeviceTransformUserFacing,[-1,1,-1]),this._video.muted=!0,this._video.setAttribute("playsinline",""),this._video.setAttribute("webkit-playsinline",""),P.videoElementInDOM&&(this._video.style.width="0px",this._video.style.height="0px",document.body.appendChild(this._video)),this._video.addEventListener("loadedmetadata",(()=>{this._hadFrames=!0}))}destroy(){this.pause(),it(this._impl)}_stop(){this._currentStream&&(this._currentStream.getTracks().forEach((e=>e.stop())),this._currentStream=null)}pause(){this._isPaused=!0;let e=lt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0),this._stopDeviceMotion(),this._syncCamera()}start(){var e;let t=lt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this),this._isPaused=!1,this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return Ze(this,void 0,void 0,(function*(){let e,t;this._deviceId!==Ke.DEFAULT_DEVICE_ID&&this._deviceId!==Ke.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===Ke.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:P.videoWidth,height:P.videoHeight,frameRate:P.requestHighFrameRate?60:void 0,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let i=yield navigator.mediaDevices.enumerateDevices(),a=!1;return i=i.filter((e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0})),a&&0!==i.length?("object"==typeof r.video&&(me("choosing device ID",i[i.length-1].deviceId),r.video.deviceId=i[i.length-1].deviceId),r):r}))}getFrame(e){var t,r;if(!this._context)return;if(!this._hadFrames)return;if(e)return;let i=performance.now();if(i<this._lastFrameTime+25)return;this._lastFrameTime=i,this._canvas.width!==this._video.videoWidth&&(this._canvas.width=this._video.videoWidth),this._canvas.height!==this._video.videoHeight&&(this._canvas.height=this._video.videoHeight),this._context.drawImage(this._video,0,0);const a=this._canvas.transferToImageBitmap();let n=G(!1),s=lt.get(this._pipeline);if(!s)return;let o=300*P.dataWidth/320;this._cameraModel[0]=o,this._cameraModel[1]=o,this._cameraModel[2]=.5*P.dataWidth,this._cameraModel[3]=.5*P.dataHeight;let _=s.registerToken({dataWidth:this._canvas.width,dataHeight:this._canvas.height,texture:void 0,userFacing:this._isUserFacing,cameraSource:this,cameraModel:this._cameraModel.slice(),cameraToDevice:this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform});null===(r=null===(t=lt.get(this._pipeline))||void 0===t?void 0:t.sendImageBitmapToWorker)||void 0===r||r.call(t,a,n,this._isUserFacing,_,this._cameraModel,this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform)}_getUserMedia(){return Ze(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise(((t,r)=>{navigator.getUserMedia(e,t,r)}))}))}_syncCamera(){return Ze(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();e.length>0&&(this._isUserFacing="user"===e[0].getSettings().facingMode)}this._video.src="",this._video.loop=!1,this._video.muted=!0,this._video.srcObject=this._currentStream,this._video.play()}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,window.addEventListener("deviceorientation",(e=>{let t=lt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmitInt(r,0,e.alpha,e.beta,e.gamma)})))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener)}uploadGL(e){const t=lt.get(this._pipeline),r=null==t?void 0:t.glContext;if(!e||e.texture||!e.frame||!t||!r)return;let i=t.getVideoTexture();i&&(r.bindTexture(r.TEXTURE_2D,i),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e.frame),r.bindTexture(r.TEXTURE_2D,null),e.texture=i,e.frame.close(),delete e.frame)}}Ke.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",Ke.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b";var Qe=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function s(e){try{_(i.next(e))}catch(e){n(e)}}function o(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}_((i=i.apply(e,t||[])).next())}))};class $e extends Oe{constructor(e,t,r){super(),this._impl=e,this._pipeline=t,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._isPaused=!0,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._hasStartedOrientation=!1,this._lastTimestamp=-1,this._deviceMotionListener=e=>{let t=lt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now(),i=e.interval;this._lastTimestamp>-1&&!P.trustSensorIntervals&&(i=Math.max(r-this._lastTimestamp,i)),this._lastTimestamp=r,i*=P.intervalMultiplier,null!==e.acceleration&&null!==e.acceleration.x&&null!==e.acceleration.y&&null!==e.acceleration.z&&t.motionAccelerometerWithoutGravitySubmitInt(r,i,e.acceleration.x*P.deviceMotionMutliplier,e.acceleration.y*P.deviceMotionMutliplier,e.acceleration.z*P.deviceMotionMutliplier),null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&(t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*P.deviceMotionMutliplier,e.accelerationIncludingGravity.y*P.deviceMotionMutliplier,e.accelerationIncludingGravity.z*P.deviceMotionMutliplier),t.motionAccelerometerWithGravitySubmitInt(r,i,e.accelerationIncludingGravity.x*P.deviceMotionMutliplier,e.accelerationIncludingGravity.y*P.deviceMotionMutliplier,e.accelerationIncludingGravity.z*P.deviceMotionMutliplier)),null!==e.rotationRate&&null!==e.rotationRate.alpha&&null!==e.rotationRate.beta&&null!==e.rotationRate.gamma&&this._hasStartedOrientation?(t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180),t.motionRotationRateSubmitInt(r,i,e.rotationRate.alpha,e.rotationRate.beta,e.rotationRate.gamma)):this._hasStartedOrientation||this._startDeviceOrientation()},me("Using MSTP camera source")}destroy(){this.pause(),it(this._impl)}_stop(){this._currentStream&&(this._currentStream.getTracks().forEach((e=>e.stop())),this._currentStream=null)}pause(){this._isPaused=!0;let e=lt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0),this._stopDeviceMotion(),this._syncCamera()}start(){var e;let t=lt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this),this._isPaused=!1,this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return Qe(this,void 0,void 0,(function*(){let e,t;this._deviceId!==$e.DEFAULT_DEVICE_ID&&this._deviceId!==$e.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===$e.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:P.videoWidth,height:P.videoHeight,frameRate:P.requestHighFrameRate?60:30,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let i=yield navigator.mediaDevices.enumerateDevices(),a=!1;return i=i.filter((e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0})),a&&0!==i.length?("object"==typeof r.video&&(me("choosing device ID",i[i.length-1].deviceId),r.video.deviceId=i[i.length-1].deviceId),r):r}))}getFrame(e){var t,r;let i=G(!1);i!=this._cameraToScreenRotation&&(null===(r=null===(t=lt.get(this._pipeline))||void 0===t?void 0:t.sendCameraToScreenRotationToWorker)||void 0===r||r.call(t,i),this._cameraToScreenRotation=i)}_getUserMedia(){return Qe(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise(((t,r)=>{navigator.getUserMedia(e,t,r)}))}))}streamEnded(){console.log("MSTP stream ended"),this._stop(),this._syncCamera()}_syncCamera(){return Qe(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();if(e.length>0){this._isUserFacing="user"===e[0].getSettings().facingMode;let t=new MediaStreamTrackProcessor({track:e[0]});const r=this._currentStream;if(yield(1e3,new Promise((e=>{setTimeout(e,1e3)}))),r!==this._currentStream)return;let i=lt.get(this._pipeline);i&&i.sendCameraStreamToWorker(this._impl,t.readable,this._isUserFacing)}}}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,window.addEventListener("deviceorientation",(e=>{let t=lt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmitInt(r,0,e.alpha,e.beta,e.gamma)})))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener)}uploadGL(e){const t=lt.get(this._pipeline),r=null==t?void 0:t.glContext;if(!e||e.texture||!e.frame||!t||!r)return;let i=t.getVideoTexture();i&&(r.bindTexture(r.TEXTURE_2D,i),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e.frame),r.bindTexture(r.TEXTURE_2D,null),e.texture=i,e.frame.close(),delete e.frame)}}$e.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",$e.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b";let Je=1,et=new Map;function tt(e,t){et.set(e,t)}function rt(e){return et.get(e)}function it(e){et.delete(e)}class at{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._uvbo&&this._gl.deleteBuffer(this._uvbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._uvbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateUVBO(e,t){if(this._uvbo||(this._uvbo=t.createBuffer()),!this._uvbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._uvbo),t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._uvbo}draw(e,t,r){var i;const a=t.getPreviewMesh(r),n=null===(i=t.getTargetInfo(r).preview)||void 0===i?void 0:i.image;if(!a||!n)return;if(!n.complete)return;let s=this._gl,o=this._getShader(s),_=this._generateVBO(a.vertices,s),c=this._generateUVBO(a.uvs,s),l=this._generateIBO(a.indices,s);s.enable(s.DEPTH_TEST),s.enable(s.CULL_FACE),s.useProgram(o.prog),s.uniformMatrix4fv(o.unif_matrix,!1,e),s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,function(e,t){let r=nt.get(t);if(r)return r;if(r=e.createTexture()||void 0,!r)throw new Error("Unable to create texture");nt.set(t,r),e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE);const i=e.RGBA,a=e.RGBA,n=e.UNSIGNED_BYTE;return e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,a,n,t),t.addEventListener("load",(()=>{if(!r)return;e.bindTexture(e.TEXTURE_2D,r);const i=e.RGBA,a=e.RGBA,n=e.UNSIGNED_BYTE;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,a,n,t)})),r}(s,n)),s.uniform1i(o.unif_skinSampler,0),s.bindBuffer(s.ARRAY_BUFFER,_),s.vertexAttribPointer(o.attr_position,3,s.FLOAT,!1,0,0),s.enableVertexAttribArray(o.attr_position),s.bindBuffer(s.ARRAY_BUFFER,c),s.vertexAttribPointer(o.attr_textureCoord,2,s.FLOAT,!1,0,0),s.enableVertexAttribArray(o.attr_textureCoord),s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,l),s.drawElements(s.TRIANGLES,a.indices.length,s.UNSIGNED_SHORT,0),s.disableVertexAttribArray(o.attr_position),s.disableVertexAttribArray(o.attr_textureCoord),s.bindBuffer(s.ARRAY_BUFFER,null),s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,st),i=u(e,e.FRAGMENT_SHADER,ot);e.attachShader(t,r),e.attachShader(t,i),h(e,t);let a=e.getUniformLocation(t,"matrix");if(!a)throw new Error("Unable to get uniform location mattrix");let n=e.getUniformLocation(t,"skinSampler");if(!n)throw new Error("Unable to get uniform location skinSampler");return this._shader={prog:t,unif_matrix:a,unif_skinSampler:n,attr_position:e.getAttribLocation(t,"position"),attr_textureCoord:e.getAttribLocation(t,"textureCoord")},this._shader}}const nt=new Map;let st="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nattribute vec4 position;\nattribute vec2 textureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vTextureCoord = textureCoord;\n}",ot="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nuniform sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2D(skinSampler, vTextureCoord);\n}",_t=new Map,ct=T();class lt{constructor(e,t,r){this._client=e,this._impl=t,this._mgr=r,this.pendingMessages=[],this.cameraTokens=new Map,this.nextCameraToken=1,this.tokensInFlight=0,this.videoTextures=[],this.cameraPixelArrays=[],this._sequenceRecordDeviceAttitudeMatrices=!0,this._sequenceRecorderFirstCameraToken=0,this._cameraFrameDataPromises=new Map,this._cameraFrameDataResolves=new Map,this._cameraFrameDataRejects=new Map,this._cameraFrameDataEnabled=!1,this.onGLContextReset=new W}static create(e,t){let r=e.pipeline_create();return _t.set(r,new lt(e,r,t)),r}static get(e){return _t.get(e)}frameUpdate(e){for(let t of this.pendingMessages)e.processMessages(t),this._mgr.postOutgoingMessage({t:"buf",p:this._impl,d:t},[t]);this.pendingMessages=[],this.cleanOldFrames()}cleanOldFrames(){var e,t;let r=this._client.pipeline_camera_frame_user_data(this._impl);if(r)for(let i of this.cameraTokens)i[0]<r&&(i[1].texture&&this.videoTextures.push(i[1].texture),null===(t=null===(e=i[1].frame)||void 0===e?void 0:e.close)||void 0===t||t.call(e),i[1].data&&(this.cameraPixelArrays.push(i[1].data),i[1].data=void 0),this.cameraTokens.delete(i[0]))}cameraFrameDataRawResult(e){var t,r;let i=this.cameraTokens.get(e.token);i&&(null===e.data?null===(t=this._cameraFrameDataRejects.get(i))||void 0===t||t(new Error("Raw camera data not available")):(i.data=e.data.data,null===(r=this._cameraFrameDataResolves.get(i))||void 0===r||r(e.data)),this._cameraFrameDataRejects.delete(i),this._cameraFrameDataResolves.delete(i),this._cameraFrameDataPromises.delete(i))}cameraTokenReturn(e){let t=this.cameraTokens.get(e.token);if(this._sequenceRecorder&&this._sequenceRecordDeviceAttitudeMatrices&&e.token>=this._sequenceRecorderFirstCameraToken&&t&&(e.att&&this._sequenceRecorder.appendAttitudeMatrix(e.att),t.data=e.d,this._sequenceRecorder.appendCameraFrame(t)),t&&!t.data&&e.d){t.data=e.d;const r=this._cameraFrameDataResolves.get(t);r&&r({data:t.data,width:t.dataWidth,height:t.dataHeight}),this._cameraFrameDataRejects.delete(t),this._cameraFrameDataResolves.delete(t),this._cameraFrameDataPromises.delete(t)}this.tokensInFlight--}sequenceRecordStart(e){this._sequenceRecorder||(this._sequenceRecorder=new De(e)),this._sequenceRecorder.start(),this._sequenceRecorderFirstCameraToken=this.nextCameraToken}sequenceRecordStop(){var e;null===(e=this._sequenceRecorder)||void 0===e||e.stop()}sequenceRecordData(){var e;return(null===(e=this._sequenceRecorder)||void 0===e?void 0:e.data())||new Uint8Array(0)}sequenceRecordClear(){delete this._sequenceRecorder}sequenceRecordDeviceAttitudeMatrices(e){this._sequenceRecordDeviceAttitudeMatrices=e}getVideoTexture(){return this.videoTextures.pop()}getCameraFrameDataRaw(){if(!this._cameraFrameDataEnabled)throw new Error("Raw camera frame data is not enabled.");const e=this.getCurrentCameraInfo();if(!e)return Promise.resolve(void 0);if(e.data)return Promise.resolve({data:e.data.slice(0),width:e.dataWidth,height:e.dataHeight});let t=this._cameraFrameDataPromises.get(e);return t||(t=new Promise(((t,r)=>{if(void 0!==e.remoteToken){const t={t:"rawrequest",token:e.remoteToken,p:this._impl};this._mgr.postOutgoingMessage(t,[])}this._cameraFrameDataResolves.set(e,t),this._cameraFrameDataRejects.set(e,r)})),this._cameraFrameDataPromises.set(e,t)),t}setCameraFrameDataRawEnabled(e){this._cameraFrameDataEnabled=e;const t={t:"rawenabled",v:e};this._mgr.postOutgoingMessage(t,[])}destroy(){this._client.pipeline_destroy(this._impl),_t.delete(this._impl)}getCurrentCameraInfo(){let e=this._client.pipeline_camera_frame_user_data(this._impl);if(e)return this.cameraTokens.get(e)}cameraFrameDrawGL(e,t,r){if(!this.glContext)return;let i=this.getCurrentCameraInfo();i&&(this._cameraDraw||(this._cameraDraw=new Te(this.glContext)),this._cameraDraw.drawCameraFrame(e,t,i,!0===r))}glContextLost(){this._cameraDraw&&this._cameraDraw.dispose(),this._faceDraw&&this._faceDraw.dispose(),this._imageTargetPreviewDraw&&this._imageTargetPreviewDraw.dispose(),this._faceProjectDraw&&this._faceProjectDraw.dispose(),delete this._cameraDraw,delete this._faceDraw,delete this._imageTargetPreviewDraw,delete this._faceProjectDraw,f=void 0,p=void 0,m=void 0,b={},this.onGLContextReset.emit();for(let e of this.videoTextures)this.glContext&&this.glContext.deleteTexture(e);this.videoTextures=[];for(let e of this.cameraTokens)this.glContext&&e[1].texture&&this.glContext.deleteTexture(e[1].texture),e[1].texture=void 0;this.glContext=void 0}glContextSet(e,t){this.glContextLost(),this.glContext=e,t=t||[];for(let r=0;r<4;r++){let i=t[r]||e.createTexture();i&&(e.bindTexture(e.TEXTURE_2D,i),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),this.videoTextures.push(i))}e.bindTexture(e.TEXTURE_2D,null)}drawFace(e,t,r,i){if(!this.glContext)return;this._faceDraw||(this._faceDraw=new Me(this.glContext));let a=T();x(a,e,t),x(a,a,r),this._faceDraw.drawFace(a,i)}drawImageTargetPreview(e,t,r,i,a){if(!this.glContext)return;this._imageTargetPreviewDraw||(this._imageTargetPreviewDraw=new at(this.glContext));let n=T();x(n,e,t),x(n,n,r),this._imageTargetPreviewDraw.draw(n,a,i)}drawFaceProject(e,t,r,i,a,n){this.glContext&&(this._faceProjectDraw||(this._faceProjectDraw=new Ie(this.glContext)),this._faceProjectDraw.drawFace(e,t,r,i,a,n))}cameraFrameTexture(){var e;return null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.texture}cameraFrameTextureMatrix(e,t,r){let i=this.getCurrentCameraInfo();return i?ke(i.dataWidth,i.dataHeight,e,t,i.uvTransform||ct,r):T()}cameraFrameUserFacing(){var e;return(null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.userFacing)||!1}cameraPoseWithAttitude(e){let t=dt(this.getCurrentCameraInfo(),this._client.pipeline_camera_frame_camera_attitude(this._impl));if(e){let e=T();M(e,[-1,1,1]),x(t,e,t),x(t,t,e)}return R(t,t),t}videoFrameFromWorker(e){let t=this.nextCameraToken++;const r=rt(e.source);r&&(this.cameraTokens.set(t,{dataWidth:e.w,dataHeight:e.h,texture:void 0,frame:e.d,userFacing:e.userFacing,uvTransform:e.uvTransform,cameraModel:e.cameraModel,cameraToDevice:e.cameraToDevice,cameraSource:r,remoteToken:e.token}),this.cleanOldFrames())}imageBitmapFromWorker(e){let t=this.cameraTokens.get(e.tokenId);t&&(t.dataWidth=e.dataWidth,t.dataHeight=e.dataHeight,t.frame=e.frame,t.userFacing=e.userFacing,t.uvTransform=e.uvTransform,this.tokensInFlight--,this.cleanOldFrames())}uploadGL(){var e,t;let r=this.getCurrentCameraInfo();null===(t=null===(e=null==r?void 0:r.cameraSource)||void 0===e?void 0:e.uploadGL)||void 0===t||t.call(e,r)}registerToken(e){let t=this.nextCameraToken++;return this.cameraTokens.set(t,e),this.tokensInFlight++,t}processGL(){this.glContext?this.currentCameraSource&&(this.tokensInFlight>0?this.currentCameraSource.getFrame(!0):this.currentCameraSource.getFrame(!1)):be("no GL context for camera frames - please call pipeline_gl_context_set")}motionAccelerometerSubmit(e,t,r,i){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAccelerometer(e,t,r,i);const n={t:"sensorDataC2S",sensor:"accel",interval:0,timestamp:e,x:t,y:r,z:i,p:this._impl};this._mgr.postOutgoingMessage(n,[])}motionAccelerometerWithoutGravitySubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendAccelerometerWithoutGravityInt(e,t,r,i,a);const s={t:"sensorDataC2S",sensor:"accel_wo_gravity_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(s,[])}motionAccelerometerWithGravitySubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendAccelerometerWithGravityInt(e,t,r,i,a);const s={t:"sensorDataC2S",sensor:"accel_w_gravity_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(s,[])}motionRotationRateSubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendRotationRateInt(e,t,r,i,a);const s={t:"sensorDataC2S",sensor:"rotation_rate_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(s,[])}motionAttitudeSubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendAttitudeInt(e,t,r,i,a);const s={t:"sensorDataC2S",sensor:"attitude_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(s,[])}motionRotationRateSubmit(e,t,r,i){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendRotationRate(e,t,r,i);const n={t:"sensorDataC2S",sensor:"rotation_rate",interval:0,timestamp:e,x:t,y:r,z:i,p:this._impl};this._mgr.postOutgoingMessage(n,[])}motionAttitudeSubmit(e,t,r,i){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAttitude(e,t,r,i);const n={t:"sensorDataC2S",sensor:"attitude",interval:0,timestamp:e,x:t,y:r,z:i,p:this._impl};this._mgr.postOutgoingMessage(n,[])}motionAttitudeMatrix(e){const t={t:"attitudeMatrixC2S",p:this._impl,m:e};this._mgr.postOutgoingMessage(t,[])}sendCameraStreamToWorker(e,t,r){let i={t:"streamC2S",p:this._impl,s:t,userFacing:r,source:e};this._mgr.postOutgoingMessage(i,[i.s])}sendCameraToScreenRotationToWorker(e){let t={p:this._impl,t:"cameraToScreenC2S",r:e};this._mgr.postOutgoingMessage(t,[])}sendImageBitmapToWorker(e,t,r,i,a,n){let s={p:this._impl,t:"imageBitmapC2S",i:e,r:t,tokenId:i,userFacing:r,cameraModel:a,cameraToDevice:n};this._mgr.postOutgoingMessage(s,[e])}sendDataToWorker(e,t,r,i,a,n,s){let o={d:e,p:this._impl,width:r,height:i,token:t,userFacing:a,c2d:n,cm:s,t:"cameraFrameC2S"};this._mgr.postOutgoingMessage(o,[e])}}function dt(e,t){let r=!1;r=!!e&&e.userFacing;let i=T();return F(i,G(r)*Math.PI/180,[0,0,1]),x(i,i,t),i}const ut={0:[{mean:[.235,.2344,.7305],identity:[.008,.0087,.0024,-.0026,6e-4,-.0022,5e-4,.0033,.0026,.0017,-.0055,-8e-4,.0011,.0059,0,2e-4,.001,-.001,-.0044,-.0011,-1e-4,.0024,.0019,-9e-4,4e-4,-.0015,0,.0038,.0013,3e-4,.002,-.0021,.0018,.0023,.0011,.0012,-.0011,-.0017,9e-4,-.0012,-8e-4,7e-4,-.0017,.0029,-.0029,8e-4,-.0027,8e-4,-.0017,4e-4,9e-4,-.001,-3e-4,8e-4,-.0016,-3e-4,-7e-4,.0016,-9e-4,.0021,-5e-4,.0011,-.0024,-1e-4,6e-4,1e-4,-.0026,-4e-4,-3e-4,-9e-4,5e-4,3e-4,-8e-4,-.001,-4e-4,-8e-4,.0022,-.0014,-1e-4,-.0023,0,-.0018,7e-4,-.0036,.0017,.0017,-.0018,-2e-4,-4e-4,-9e-4,-8e-4,3e-4,.0012,9e-4,-4e-4,-.0016,5e-4,-.0013,.0011,.0023,.0029,.0024,.0017,-.0027,-4e-4,-.001,-.0018,-.0015,-.001,.001,-.0013,-1e-4,-2e-4,7e-4,3e-4,3e-4,-.0016,9e-4,-.0021,4e-4,.0014,.002,-7e-4,-4e-4,2e-4,-4e-4,-6e-4,-9e-4,.0015,4e-4,-4e-4,5e-4,-.0015,9e-4,3e-4,3e-4,-2e-4,-8e-4,-9e-4,.0023,4e-4,1e-4,-4e-4,-1e-4,7e-4,2e-4,.001,1e-4,-.0029,-5e-4],expression:[0,3e-4,.0052,-7e-4,-.0051,-.0103,0,.0019,.0027,-.0054,.0135,.035,-5e-4,-6e-4,.0025,-.0045,-.0557,-.003,-.0191,-.1199,.0548,-.0036,-.0682,-.0167,2e-4,-.0085,-.0085,.0044,.0041,-.0568,.0044,.179,.0065,-.0017,-.1006,.0036,-.0267,-.3279,.0301,-.0011,-.0173,-.001,.0046,.2808,.0207,.0162,.238,-.0225,.0017,.1041,.0203,5e-4,.0161,.0031,-.0436,.6504,.0873,-.0099,.1039,.0048,-.0254,.2534,-.0042,.003,-.0106,-.0153,-.0118,.0252,9e-4,-.0071,.0099,.007,-.0724,.0461,-.0235,.0833,.004,.0141,-.0219,.0132,-.0042,-.0179,.0045,-.0215,.3638,.0054,-.0445]},{mean:[.2358,.1466,.7183],identity:[.0077,.0093,1e-4,-.0022,0,-.0041,5e-4,.0022,.0028,.0018,-.0038,-.0013,.001,.0044,-2e-4,0,.0017,-.0016,-.0043,-2e-4,-1e-4,.0023,9e-4,5e-4,-7e-4,-4e-4,-.0017,.003,7e-4,6e-4,.0011,-.0018,5e-4,.0018,-8e-4,4e-4,-.0023,-6e-4,-3e-4,-.0015,-.0014,-1e-4,-.0018,.0027,-.0026,3e-4,-.0031,.0011,-.0026,-.0011,.0012,-.0013,-2e-4,7e-4,-.0021,.0021,4e-4,.0012,-.001,.002,-3e-4,2e-4,-.0026,-3e-4,.001,1e-4,-.0018,-.001,9e-4,-.0011,.001,4e-4,-8e-4,-7e-4,-.001,-3e-4,7e-4,-5e-4,-6e-4,-.0019,-5e-4,-.002,7e-4,-.0027,.0014,.0013,6e-4,-5e-4,-3e-4,-3e-4,-.001,0,.0019,1e-4,6e-4,-.0012,4e-4,-9e-4,4e-4,.0025,3e-4,.0024,.0017,-9e-4,-.0015,-.0015,-.001,-.0023,-.001,-5e-4,-4e-4,8e-4,9e-4,7e-4,2e-4,7e-4,-9e-4,9e-4,-.0013,1e-4,9e-4,2e-4,6e-4,-6e-4,-8e-4,-4e-4,-7e-4,8e-4,.0019,3e-4,.0015,2e-4,-.0015,-3e-4,0,6e-4,3e-4,6e-4,-6e-4,2e-4,5e-4,-4e-4,.0012,-4e-4,2e-4,-8e-4,6e-4,-4e-4,2e-4,-.0021],expression:[-.0034,.0054,.0069,.004,6e-4,-.0104,-3e-4,.0036,.0025,.0065,.0296,.0208,-9e-4,.0154,.0029,-.0167,.0124,.004,-.0102,.0351,.028,-.019,.0146,-.0035,-.0023,-.0069,-.0051,-.01,.0262,-.028,.0112,.082,.023,-.0019,-.066,-.0104,-.0408,.0164,.0075,-.0074,.0367,.0041,.0517,-.0207,.0045,.0291,-.0672,-.0129,.0345,-.1558,-.0106,.0037,-.0437,-.0021,.0854,-.1121,.0187,.0041,.0072,.0011,.0193,-.0143,-.0119,.005,-.02,-.0122,-.008,.0527,.0036,-.006,.0222,.007,-.0429,.046,-.0046,.0226,-.0059,.0202,-.0173,.0087,0,-.0067,-.0095,-.0153,.1506,-.0017,.0021]}],1:[{mean:[-.2271,.2323,.7319],identity:[-.0084,.0097,.0018,.0041,2e-4,-.002,-.0012,.0036,.0019,-9e-4,-.0063,-.001,-3e-4,.0053,6e-4,1e-4,5e-4,-.0015,.0044,-.0025,-.0015,-.002,.0016,-6e-4,2e-4,-.0013,0,-.0022,2e-4,2e-4,-.0025,-.0014,.0015,8e-4,2e-4,.0012,6e-4,-6e-4,.0017,0,3e-4,-1e-4,.0024,.0025,-.0029,-.0015,-.0015,1e-4,.0031,-.0016,7e-4,.0019,6e-4,.002,9e-4,.001,-.0014,-.002,-.0015,.0029,1e-4,5e-4,-.0023,8e-4,-.0011,.0019,.0017,-3e-4,-.0011,-3e-4,.0011,-8e-4,.0019,-.0022,1e-4,.0015,.0017,-8e-4,-.0011,-.0022,3e-4,.0022,6e-4,-.003,-2e-4,0,-.0017,-2e-4,0,1e-4,4e-4,.0012,.0019,-.0014,4e-4,-.0017,-.0012,-.0011,.0021,-.0029,.0026,.0018,-.0023,-.0029,1e-4,.0014,-.0019,-4e-4,-4e-4,.0023,-.0016,0,-9e-4,.0014,-.0015,.0015,-.0016,-.0011,-.0022,1e-4,-.0018,.0027,-.0013,4e-4,-1e-4,-5e-4,.0011,-2e-4,.0015,5e-4,-9e-4,-1e-4,.0029,6e-4,0,-3e-4,7e-4,-8e-4,-5e-4,.0025,3e-4,2e-4,-8e-4,-1e-4,3e-4,0,.0014,2e-4,-.0024,1e-4],expression:[-.0025,-9e-4,.006,.004,-.0027,-.0113,-8e-4,.001,.0031,-.0016,.0144,.0382,-3e-4,-5e-4,.0035,-.0044,-.0511,-.0014,-7e-4,-.1007,.0582,-6e-4,-.0606,-.0165,5e-4,-.0087,-.0093,.0036,.0057,-.0576,-.0039,.1488,.0127,.0016,-.0666,-9e-4,-.0153,.3162,-.0445,-.0021,.0023,.0043,-.0033,.2382,.0063,-.0217,.167,-.039,.0097,-.1144,-.0189,-.0145,.6831,.0632,-.0012,-.1959,-.0133,4e-4,.1108,-3e-4,.0062,.2593,-.0161,-.0018,-.0051,-.012,.0162,.016,-.0022,-.0052,-.0201,.0101,.0115,.0365,-.024,-.0059,.0188,-.0336,.0352,.0224,-.0229,.0146,.0086,-.0273,-.0032,.0103,-.0112]},{mean:[-.2288,.1541,.7202],identity:[-.0082,.0101,2e-4,.0036,-7e-4,-.0037,-8e-4,.0024,.0022,-.0013,-.0045,-.0013,-6e-4,.0045,-4e-4,4e-4,.0012,-.0014,.0042,-.001,-7e-4,-.0019,3e-4,-2e-4,.0012,-4e-4,-.0012,-.0018,-4e-4,-1e-4,-.0014,-.0012,1e-4,1e-4,-.0017,.001,.0015,-1e-4,6e-4,1e-4,0,-6e-4,.0028,.0021,-.0025,-.002,-.0015,7e-4,.0028,-.0023,9e-4,.0013,1e-4,.0016,.0012,.0032,-6e-4,-.0013,-.0011,.0021,3e-4,-5e-4,-.0024,4e-4,-4e-4,.0014,.0015,-8e-4,-3e-4,3e-4,.0017,-6e-4,.002,-.0018,-3e-4,9e-4,1e-4,2e-4,-6e-4,-.0015,-4e-4,.0022,7e-4,-.0023,0,-2e-4,-2e-4,-3e-4,-1e-4,6e-4,-2e-4,6e-4,.0022,-3e-4,.0013,-.0014,-5e-4,-3e-4,.0013,-.0027,6e-4,.0025,-.0023,-8e-4,-.0013,.0017,-9e-4,-.0019,1e-4,8e-4,-7e-4,-4e-4,0,.001,-.001,.0019,-8e-4,-.0015,-6e-4,-2e-4,-.0011,8e-4,1e-4,9e-4,-8e-4,-4e-4,6e-4,7e-4,.0021,-4e-4,7e-4,-5e-4,.0021,-7e-4,-4e-4,-9e-4,8e-4,3e-4,1e-4,3e-4,1e-4,9e-4,.001,-5e-4,5e-4,-.001,.001,4e-4,-5e-4,-.0012],expression:[8e-4,.0037,.0078,-4e-4,5e-4,-.012,-2e-4,-.0046,.0033,-.0089,.0295,.0221,-.0024,-.0084,.0013,.0057,.0125,.0049,-.0036,.0373,.0285,.0115,.0135,-.0035,.0048,.0108,-.0033,.0106,.0281,-.0301,-.0082,.0803,.0244,-7e-4,-.0725,-.0105,-.0247,-.0036,-.0143,-.0045,-.029,2e-4,-.0303,.0093,-.0021,-.0196,-.0754,-.0211,.0326,.1246,.006,-.0804,-.1499,.0109,.0182,-.0029,-.0014,-.0035,.0072,-8e-4,-.0152,-.0108,-.0166,-.0073,-.0144,-.0095,.0101,.047,-.0018,-.004,-.0189,.0027,.0104,.0298,-.0042,-.0096,.0191,-.0217,.0228,.0226,-.0105,.0047,-.0048,-.0172,.0061,-.0043,-.0016]}],2:{mean:[.5396,.2028,.2496],identity:[.0204,.0146,-.0182,-.0052,.0158,-.0038,-.0025,-.0108,-.006,.0085,-.0044,.0029,.0042,.001,.0095,.0015,-.0034,-.0064,-.0057,7e-4,.0026,7e-4,.0037,-6e-4,.0037,.0026,.0024,5e-4,-.0019,-.0013,.003,-.0028,.0018,-9e-4,.002,-.0047,.004,-.003,.0031,-.0027,-.0026,-.0017,.0016,.0014,-4e-4,.0021,-.002,0,.0017,7e-4,-4e-4,-7e-4,-.0018,-9e-4,2e-4,-.0012,1e-4,-5e-4,-.0011,4e-4,2e-4,.0011,1e-4,8e-4,.0017,-.0013,.0025,.0017,.001,2e-4,3e-4,5e-4,-4e-4,-1e-4,-5e-4,7e-4,-.0022,-.0029,6e-4,-8e-4,-6e-4,6e-4,-5e-4,5e-4,.0013,3e-4,-5e-4,-.003,7e-4,2e-4,.0016,-4e-4,0,0,4e-4,1e-4,.0014,.0012,1e-4,4e-4,-1e-4,8e-4,9e-4,4e-4,-4e-4,9e-4,-2e-4,.001,9e-4,4e-4,1e-4,7e-4,7e-4,.001,-.0017,-8e-4,2e-4,.0017,-3e-4,-1e-4,4e-4,5e-4,7e-4,5e-4,-1e-4,-6e-4,-1e-4,1e-4,-3e-4,-7e-4,-2e-4,-5e-4,0,-3e-4,3e-4,8e-4,-2e-4,-3e-4,5e-4,1e-4,-7e-4,-.001,-2e-4,3e-4,4e-4,-1e-4,7e-4,0,4e-4,4e-4],expression:[1e-4,-4e-4,1e-4,0,5e-4,2e-4,0,0,3e-4,-2e-4,3e-4,5e-4,-1e-4,2e-4,8e-4,1e-4,-2e-4,-5e-4,-3e-4,6e-4,5e-4,0,1e-4,2e-4,1e-4,-1e-4,-6e-4,-2e-4,5e-4,0,-4e-4,4e-4,.0016,4e-4,-4e-4,-.0015,0,1e-4,1e-4,-3e-4,3e-4,.0019,-2e-4,7e-4,4e-4,4e-4,-8e-4,-.0015,.0013,-.0016,-.0069,4e-4,-6e-4,-.0019,0,-1e-4,5e-4,-3e-4,2e-4,.0014,-3e-4,6e-4,.0011,4e-4,-3e-4,-.0032,-6e-4,8e-4,.0025,-3e-4,3e-4,.0015,-1e-4,1e-4,3e-4,-1e-4,0,0,-3e-4,4e-4,.0019,1e-4,0,-8e-4,-1e-4,1e-4,5e-4]},3:{mean:[-.5464,.2141,.26],identity:[-.0207,.0172,-.0176,.0068,.0148,-.0051,.0042,-.0101,-.0058,-.0087,-.0059,.0045,-.0056,.0017,.0097,-.0048,-.004,-.0044,.0019,2e-4,.0041,-.0052,.0041,2e-4,-.0027,6e-4,.002,-.0027,-.0033,-6e-4,-.004,9e-4,-.0012,-1e-4,-.0026,.0021,-.003,-.0025,.0052,.0025,.0022,-1e-4,-8e-4,.0013,.001,4e-4,.0018,.0014,6e-4,-5e-4,-.0015,-.0039,.0014,-1e-4,8e-4,-2e-4,6e-4,-5e-4,-.0038,-.0012,-.0018,-3e-4,.001,9e-4,.0012,.0024,-.0024,-7e-4,-.0016,-.0016,3e-4,-.001,-.0014,-.0014,.001,-3e-4,-7e-4,-.0012,3e-4,6e-4,3e-4,-5e-4,3e-4,.0012,6e-4,-8e-4,4e-4,4e-4,8e-4,-2e-4,-.0014,3e-4,0,.0023,-3e-4,-.0012,-.0013,.0011,-2e-4,-.0014,-1e-4,.0014,0,3e-4,3e-4,-8e-4,-5e-4,-7e-4,-7e-4,-2e-4,3e-4,5e-4,2e-4,-1e-4,.0011,-.0014,1e-4,-.0015,-1e-4,-3e-4,0,-.001,-1e-4,-8e-4,8e-4,-8e-4,-2e-4,-.0011,-3e-4,-4e-4,1e-4,-2e-4,3e-4,-7e-4,0,3e-4,1e-4,-8e-4,5e-4,1e-4,4e-4,.0014,-6e-4,-.001,-3e-4,-2e-4,1e-4,-1e-4,-1e-4,7e-4],expression:[-3e-4,-1e-4,6e-4,4e-4,0,-7e-4,0,-3e-4,-2e-4,-4e-4,.0012,8e-4,1e-4,-5e-4,-7e-4,-4e-4,0,1e-4,-4e-4,.0017,7e-4,0,1e-4,3e-4,0,4e-4,4e-4,5e-4,1e-4,-.001,-7e-4,.0022,.0026,5e-4,-.0024,-.0023,0,1e-4,3e-4,0,-.0013,-.0015,6e-4,.0014,8e-4,-2e-4,-.0025,-.0023,-3e-4,.0049,.006,-2e-4,-7e-4,-2e-4,0,-.0019,-.0018,-2e-4,.0017,.0017,3e-4,.0015,7e-4,1e-4,-.0023,-.0036,2e-4,.0023,.0017,0,-5e-4,-3e-4,-3e-4,4e-4,2e-4,-1e-4,-3e-4,-5e-4,1e-4,.0018,.0025,1e-4,-6e-4,-.0011,0,1e-4,1e-4]},4:{mean:[.0018,.1864,.853],identity:[-.0011,.0134,.0085,9e-4,-.0025,-7e-4,-3e-4,.0033,4e-4,-5e-4,-.0047,-.002,7e-4,.0026,-.0069,-1e-4,.0036,.0072,5e-4,-8e-4,-.0047,4e-4,-8e-4,-.001,0,2e-4,-.0036,-2e-4,-.001,-.0048,-1e-4,.0018,.0044,-7e-4,-2e-4,.0043,3e-4,.002,-.0031,0,-7e-4,.0013,0,.0037,.0033,-.0016,-.0012,.002,-1e-4,-.0027,.0051,5e-4,8e-4,7e-4,-.0017,.0054,.0023,-3e-4,.0032,1e-4,0,7e-4,-5e-4,-.0011,2e-4,8e-4,0,-.0033,-8e-4,-7e-4,7e-4,.0033,5e-4,-3e-4,.0029,-1e-4,-.0024,-.0011,-.002,-.0015,-.0019,2e-4,7e-4,.0031,6e-4,.0012,0,0,-.0021,0,-9e-4,-.0011,-.0011,-2e-4,.0015,.001,.0013,8e-4,.001,-3e-4,9e-4,.0027,-2e-4,-.0011,-.0011,6e-4,7e-4,2e-4,1e-4,-5e-4,-.0022,.0011,-.0014,9e-4,3e-4,2e-4,0,-6e-4,-4e-4,-.0011,-7e-4,.001,-.0012,6e-4,-.0012,-.0015,3e-4,-9e-4,-.0013,-.0013,7e-4,.001,-.0011,-.0013,.0015,4e-4,1e-4,4e-4,-1e-4,-.0016,-.0016,9e-4,-7e-4,-.0024,5e-4,-1e-4,-.0017,-2e-4,3e-4,-9e-4],expression:[-.0017,.0019,.0097,.003,-.0103,-.0093,9e-4,6e-4,.0023,-.0017,-.0204,.0376,.0033,-.0034,.0033,-.0026,-.0322,.0396,-.0032,-.0947,.0942,-7e-4,-.0175,.0266,-.001,-6e-4,.0016,.0025,.0157,-.0142,-.0022,.037,.015,.0021,-.0102,-.0107,.0036,.0055,-.0051,.0021,3e-4,-3e-4,4e-4,-.0177,.0074,-6e-4,-.0357,.0149,-.0066,9e-4,.0013,-.0031,.0016,.0095,.002,.0052,.0035,-3e-4,.0053,-.0082,.002,.0022,-.0071,-.0011,5e-4,.0055,.0011,3e-4,-.0126,-4e-4,3e-4,-.0023,-.0015,.0059,.0063,-.0042,-.0023,.0055,.0019,.0017,-.0075,6e-4,-8e-4,.0018,.0012,.0012,-5e-4]},5:{mean:[-.002,-.0469,1.0039],identity:[-.0017,.0018,.0156,6e-4,-.0038,5e-4,4e-4,.0013,.002,-4e-4,-.0015,-.0051,5e-4,-7e-4,-.0055,-1e-4,-9e-4,.008,-2e-4,.0036,-.0053,4e-4,-.0026,-.0016,7e-4,9e-4,-.009,-3e-4,7e-4,-.0084,.0015,.0021,.0032,-.0015,.0018,.0046,-3e-4,-4e-4,-1e-4,8e-4,-.0044,-7e-4,-8e-4,7e-4,.0048,-.0024,-3e-4,.0024,2e-4,-.0051,.0058,-6e-4,.0028,.0018,-.0021,.0035,.0057,.0011,.0065,0,-2e-4,.0011,.003,-.0027,8e-4,7e-4,3e-4,-.0039,-.002,-2e-4,-.0015,.0034,.0012,-.0025,.0024,-2e-4,4e-4,-.0042,-.0024,-.001,-.0023,.0016,-7e-4,.0039,1e-4,-5e-4,.0018,3e-4,-2e-4,-9e-4,-.0015,3e-4,-7e-4,-1e-4,-2e-4,.0023,.0032,.002,-.0013,.0013,-.0038,.0045,1e-4,-.0031,1e-4,.0019,-1e-4,.0016,.0013,0,-.002,.0023,2e-4,.0011,.0018,-.0024,6e-4,-.0017,.002,-8e-4,-.0021,7e-4,.0011,8e-4,4e-4,-.001,.0012,2e-4,-6e-4,-.0027,-5e-4,.001,-9e-4,1e-4,-1e-4,8e-4,-.0011,.0022,-.001,-5e-4,-.0011,.0016,-.0015,8e-4,-3e-4,9e-4,.0013,-7e-4,-7e-4,-2e-4],expression:[-.0018,-.0168,.0088,.0389,.1026,.0414,.2201,-.0262,-.0016,-.0017,.0612,-.0298,-.0323,.0093,.0013,-.005,.2207,.1315,-4e-4,.0858,-.0303,-.0133,.015,-.008,.1454,.0114,.0177,-.0077,.1022,.0356,-.0023,.1088,.0232,.003,-.0706,.0347,-1e-4,.004,-.0011,.0397,-.0096,-.0033,.0029,-.01,-.0083,-6e-4,-.0135,.0016,-.0087,-.0019,.0022,-.004,-.0087,.0105,8e-4,-.005,.0069,.0028,.0409,-.0391,.003,.0103,.0051,.0026,.0776,-.0083,-.0062,-.0567,.0268,.0175,.0017,.0156,-.0043,.0299,-.0395,-.0015,.0051,-.0148,.0125,.0035,.0603,.0109,-.0645,-.0257,.002,6e-4,-8e-4]},6:{mean:[-6e-4,-.1542,.8789],identity:[-7e-4,-.0032,.01,0,-.0027,.0031,6e-4,5e-4,-6e-4,-3e-4,.0013,-.0049,-2e-4,-.002,-.0046,8e-4,-.0011,.0054,2e-4,.0043,-.0027,3e-4,-.0022,-.0019,8e-4,.0032,-.0069,0,4e-4,-.0071,.0016,.0027,.0039,-.0017,9e-4,.0031,-1e-4,-5e-4,-4e-4,7e-4,-.0026,-.0012,-5e-4,6e-4,2e-4,-.0014,-.0013,.0019,-2e-4,-.0053,.0031,-6e-4,.0016,.0023,-.0013,.0021,.0029,8e-4,.0052,0,4e-4,0,.0037,-.0026,3e-4,.002,-2e-4,-.0024,4e-4,-4e-4,-.0012,8e-4,7e-4,-.0023,5e-4,0,.0014,-.0022,-.0016,0,-.0012,8e-4,-7e-4,.0014,-6e-4,-.0012,-3e-4,2e-4,.0012,-3e-4,-.002,-1e-4,1e-4,-2e-4,-.0016,9e-4,.002,.0019,0,6e-4,-.0022,.0016,1e-4,-.0017,-.0013,.001,9e-4,-1e-4,.0011,3e-4,-7e-4,.0014,8e-4,.0013,.0011,-.002,0,-.0015,.0014,.001,-.0015,7e-4,3e-4,.001,-1e-4,.0012,7e-4,6e-4,-4e-4,-.0013,-.0012,-9e-4,-.0011,2e-4,-5e-4,5e-4,4e-4,2e-4,1e-4,0,5e-4,5e-4,-.0014,.0015,-9e-4,5e-4,.0014,-8e-4,-8e-4,.0012],expression:[8e-4,.0481,.1653,.0784,.1008,-.3992,.5088,-.02,.0542,.001,.3723,-.0151,-.0986,.0283,-.0033,-.0121,.2634,.1202,.0036,-.0529,-.0245,-.0297,-.1085,.0495,.3264,.0083,4e-4,-.0314,.1459,-.1142,-.003,1e-4,.1154,-.0035,-.0285,-.0184,-1e-4,.0012,.0035,.079,-.0103,.0043,.011,-.004,-.0774,-.0047,-.023,.0284,-.0048,-.001,.0149,-.0039,.0046,.0528,-6e-4,.0063,.0376,.0096,.0558,-.0295,0,-.0311,-.0634,.0062,.0176,-.0154,-.0109,-.1149,.0192,.0326,.0121,.0237,.0034,.0262,-.0778,.0014,-.0045,-.0203,.0077,.0588,.0575,.008,-.0557,-.0095,.0032,.0054,-.0042]},7:{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},8:{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]},9:[{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]}],10:{mean:[-.007,-.6338,.7695],identity:[1e-4,-.0296,.0089,-6e-4,-.0073,-.0065,-1e-4,-.0029,-.0031,-2e-4,.0128,.0065,0,-.0116,-.014,-1e-4,-.0037,-.0052,-5e-4,.0028,.003,-4e-4,.0041,.0015,6e-4,.0088,-.0076,-.0011,-.0015,-.0073,7e-4,-.0011,.0019,-.0011,-5e-4,.0031,-1e-4,-.0018,9e-4,.0018,.0038,.0068,-4e-4,-1e-4,.0061,.0024,.0024,-.0066,-6e-4,.0051,.0014,.002,.005,-.0035,1e-4,-.0034,-.004,-7e-4,.001,-8e-4,1e-4,-5e-4,-.0021,2e-4,.0045,-.0043,-.0012,-.0024,-.0014,6e-4,.0034,.0027,-8e-4,-.0053,.0014,1e-4,.0013,-.0018,6e-4,-.0015,.0029,-2e-4,-.0035,1e-4,-.002,.0012,.0048,.0011,1e-4,-2e-4,-3e-4,-.0012,.0033,6e-4,.002,-.0033,4e-4,.0028,2e-4,8e-4,-1e-4,-.0018,8e-4,.0017,1e-4,9e-4,8e-4,3e-4,.0019,-.001,.001,-7e-4,-.0013,0,1e-4,.0032,-1e-4,1e-4,.0011,-4e-4,5e-4,-7e-4,.0018,-3e-4,2e-4,7e-4,8e-4,-.0014,7e-4,.0015,-6e-4,-1e-4,-4e-4,.0019,-9e-4,-6e-4,-6e-4,-.0012,2e-4,-.0012,-8e-4,4e-4,6e-4,-.0011,3e-4,9e-4,-4e-4,6e-4,-7e-4,-4e-4],expression:[-.0603,2.0527,1.9014,.1025,.6143,.3804,.7881,-.1023,-.0764,.0454,-.2487,-.5073,-.6704,-.031,-.0181,.0466,.0651,-.0726,-.0033,-.0022,.2944,.0101,.1669,-.5225,-.4685,.0236,.0079,.011,.2173,.4529,.0121,-.2104,-.0673,.0225,-.4023,.0317,-9e-4,.0076,-.0032,.0333,.0523,.0129,-.001,-.0319,-.0139,.0015,-.0044,.0247,-5e-4,.0161,.0061,.0074,.0776,-.0176,.007,.055,-.017,.0052,-.1819,.0294,-.0161,-.0337,.0226,-.008,-.0297,.1967,-.0095,.0383,.2039,.0434,.0271,-.0064,-.0037,-.0294,-.024,.0024,-.0137,-.0209,-.0031,.0628,.1003,-.0126,-.056,-.0097,-.0012,-.0041,.0162]},11:{mean:[.2505,.3833,.7793],identity:[.0098,.012,.0077,-6e-4,-3e-4,0,1e-4,.0082,-7e-4,.0019,-.0036,-.0012,2e-4,.0119,-.0039,.001,1e-4,.0031,-.0036,-.0059,-7e-4,.0026,.0028,-.0011,9e-4,-.0032,8e-4,.0029,.0043,3e-4,.0025,-9e-4,.0047,.0016,.0022,.0018,-.001,.0025,-.003,-.001,.0033,.0034,4e-4,-.0052,.0024,-2e-4,.001,-.0014,-6e-4,.0038,-.0015,-6e-4,-.001,-.0011,-4e-4,-.001,4e-4,-7e-4,.0036,-8e-4,-2e-4,-.0019,5e-4,3e-4,-6e-4,-.0024,-.0017,-.0014,6e-4,-4e-4,-.0031,-.0013,-6e-4,.0042,2e-4,-2e-4,-.002,-3e-4,8e-4,.0018,-5e-4,-6e-4,-2e-4,-6e-4,.0025,.0019,.001,8e-4,-.0015,-.0012,-1e-4,-6e-4,-4e-4,.0023,-.001,6e-4,-2e-4,-.001,0,-9e-4,-.002,-.0011,1e-4,0,-1e-4,5e-4,6e-4,9e-4,-6e-4,5e-4,8e-4,-1e-4,-2e-4,-.0017,-6e-4,-4e-4,4e-4,-6e-4,.0012,4e-4,3e-4,-7e-4,3e-4,-2e-4,6e-4,1e-4,5e-4,-.0019,-6e-4,4e-4,7e-4,-1e-4,1e-4,5e-4,.001,-6e-4,-.002,-7e-4,-5e-4,5e-4,3e-4,7e-4,.0014,0,5e-4,-5e-4,-2e-4,3e-4,-6e-4,-1e-4],expression:[-9e-4,-3e-4,.0032,-.003,-.0034,-.0031,.0014,0,4e-4,-.0139,-.0764,.0275,-.002,-.0089,.0031,-.0503,-.0771,.038,-.1323,-.3523,.1368,-.0474,-.0564,.0296,-.0045,.007,-.0013,.0153,.1259,-.0464,.0866,.2175,-.0786,-.0413,-.1248,.0448,-.1777,-.4607,.1782,-5e-4,-.005,.0016,.0629,.1506,-.0624,.0545,.2576,-.0864,-.0231,-.0552,.0244,-.0136,-.0359,.0169,-.1158,-.2996,.1214,-.0235,-.0354,.0165,-.0745,-.1079,.0475,-.0116,-.0039,.0012,.0013,-.0108,-8e-4,.0044,-.0027,-1e-4,-.0694,.0363,.0071,.1462,-.136,.0047,.009,-.0177,.0038,-.0271,.0118,.0011,-.0399,-.0111,.0123]},12:{mean:[-.2981,.3828,.7563],identity:[-.0116,.014,.0054,.0018,5e-4,0,-4e-4,.0068,-.0013,-.0019,-.0048,-5e-4,5e-4,.0108,-.0036,-.0029,-.0018,.0029,.0043,-.0077,6e-4,-.0017,.002,-.0011,-.0014,-.0035,.0015,-.0024,.0011,4e-4,-.0048,2e-4,.0029,-1e-4,-1e-4,.003,.0019,.0035,-.0016,-4e-4,.0039,.0019,1e-4,-.0064,.004,3e-4,.002,-.0021,.0017,.0011,-.001,.0026,.0025,-5e-4,2e-4,-3e-4,-5e-4,-7e-4,9e-4,-4e-4,-.001,-.0022,.001,9e-4,-.0014,7e-4,.0011,-.001,-5e-4,-8e-4,-.0017,-.0021,9e-4,.0036,5e-4,4e-4,-.0031,6e-4,-.0015,.0027,2e-4,1e-4,-.0011,2e-4,-.0011,-.0018,4e-4,-.0013,-2e-4,7e-4,9e-4,-3e-4,.001,-.0021,8e-4,6e-4,-9e-4,4e-4,-7e-4,8e-4,-.002,-.0013,0,7e-4,-.0012,-1e-4,.0014,.0014,-1e-4,.0013,6e-4,6e-4,-.0014,-.0015,-9e-4,1e-4,1e-4,9e-4,7e-4,0,1e-4,-.001,-4e-4,0,-5e-4,1e-4,-3e-4,4e-4,-5e-4,-1e-4,-.0011,2e-4,0,1e-4,8e-4,8e-4,0,-7e-4,-8e-4,0,2e-4,-1e-4,.001,3e-4,4e-4,-2e-4,0,5e-4,.0018,-1e-4],expression:[0,-4e-4,.0028,.0036,-8e-4,-.0026,-.0015,-8e-4,3e-4,.0075,-.0608,.025,.0019,-.0076,.0033,.0379,-.0437,.0335,.0964,-.2452,.1233,.0368,-.0251,.0253,.0033,.0097,-.0021,-.0095,.1171,-.0475,-.064,.1548,-.0718,.0228,-.0831,.0343,-.1924,.6206,-.2771,.0021,-.0143,.0056,-.0705,.2522,-.1116,-.0692,.4229,-.1592,-.0093,.05,-.0185,.0948,-.3196,.1437,-.0184,.0194,-.0131,.0205,-.0353,.0201,.0676,-.135,.0672,.0137,-.0311,.0118,3e-4,-.0077,-2e-4,-.0151,4e-4,-.0058,.029,-.0139,.0163,.1324,.1819,-.0039,.0406,.0501,.0017,.0331,.0161,.0062,-.0235,-.0446,.0047]}};let ht=1,ft=new Map;function pt(e){return ft.get(e)}class mt{constructor(e){this._name=e,this.anchor_pose=T()}_getVertex(e,t,r){let i=r.mean.slice();for(let t=0;t<50;t++)i[0]+=e[t]*r.identity[3*t+0],i[1]+=e[t]*r.identity[3*t+1],i[2]+=e[t]*r.identity[3*t+2];for(let e=0;e<29;e++)i[0]+=t[e]*r.expression[3*e+0],i[1]+=t[e]*r.expression[3*e+1],i[2]+=t[e]*r.expression[3*e+2];return i}update(e,t,r){let i,a=ut[this._name.toString()];if(a){if(Array.isArray(a)){i=this._getVertex(e,t,a[0]);let r=this._getVertex(e,t,a[1]);i[0]=.5*(i[0]+r[0]),i[1]=.5*(i[1]+r[1]),i[2]=.5*(i[2]+r[2])}else i=this._getVertex(e,t,a);r&&(i[0]*=-1),k(this.anchor_pose,i)}}}const bt={incompatible:()=>!("function"==typeof Promise&&"object"==typeof WebAssembly&&navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices&&navigator.mediaDevices.getUserMedia),incompatible_ui:()=>{const e=document.createElement("div");e.append(function(){let e=document.createElement("div"),t="a recent web browser";navigator.userAgent.match(/Android/i)?(t="Chrome for Android",window.location.href="googlechrome://navigate?url="+encodeURI(window.location.href),setTimeout((()=>{window.location.href="samsunginternet://open?url="+encodeURI(window.location.href)}),2e3)):navigator.userAgent.match(/iPhone|iPod|iPad/i)&&(t="Safari",e.classList.add("zee-launcher-browser-safari")),e.classList.add("zee-launcher-unsupported"),e.innerHTML=`\n <style>.zee-launcher-unsupported {\n display: flex;\n flex-direction: column;\n height: 100%;\n justify-content: center;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n align-items: center;\n }\n .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 210 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23ffffff' stroke-width='2'%3E%3Cg transform='translate(83 146.5)'%3E%3Cpath d='m55.146 88.785l-32.039-49.472c19.962-24.947 49.904-38.684 80.517-38.81 17.739-0.12642 35.855 4.4246 52.336 13.99 18.2 10.619 32.039 25.874 40.846 43.404l-86.095-4.5511c-24.365-1.4327-47.556 12.347-55.565 35.439zm13.797 16.224c0 19.468 15.684 35.229 35.059 35.229 19.374 0 35.059-15.76 35.059-35.229 0-19.468-15.684-35.229-35.059-35.229-19.374 0-35.059 15.718-35.059 35.229zm132.06-37.588l-58.585 3.034c15.894 18.668 16.145 45.595 2.7678 66.243l-47.01 72.648c19.5 1.0535 39.588-3.2447 57.788-13.864 45.039-26.126 63.282-80.908 45.039-128.06zm-144.93 57.647l-39.126-77.326c-10.694 16.434-16.942 36.156-16.942 57.267 0 52.253 38.078 95.53 87.856 103.2l26.713-52.59c-24.155 4.5511-47.472-8.765-58.501-30.551z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");\n width: 211px;\n height: 211px;\n margin-bottom: 25%;\n margin-top: -60px;\n background-repeat: no-repeat;\n }\n .zee-launcher-browser-safari .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 211 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='m180 251.86c0-4.0385 2.9377-7.855 7.2552-7.855 3.9614 0 7.7448 2.8402 7.7448 7.145 0 4.0385-2.8487 7.855-7.1662 7.855-4.0059 0-7.8338-2.9734-7.8338-7.145zm112-0.35503c0 57.728-46.772 104.5-104.5 104.5s-104.5-46.772-104.5-104.5 46.772-104.5 104.5-104.5 104.5 46.772 104.5 104.5zm-12-1c0-51.649-41.851-93.5-93.5-93.5s-93.5 41.851-93.5 93.5 41.851 93.5 93.5 93.5 93.5-41.851 93.5-93.5zm-30.624 40.983c0 1.5095 5.4495 4.2768 6.8328 5.1154-11.486 17.401-29.26 29.938-49.423 34.928l-1.8444-7.757c-0.12576-1.0482-0.79646-1.174-1.7606-1.174-0.79646 0-1.2576 1.174-1.1737 1.7611l1.8444 7.8828c-5.5753 1.174-11.234 1.7611-16.935 1.7611-15.217 0-30.182-4.2768-43.177-12.202 0.71263-1.174 5.1141-7.5474 5.1141-8.4698 0-0.79666-0.71263-1.5095-1.5091-1.5095-1.6348 0-5.1141 6.9603-6.1621 8.344-17.522-11.615-30.182-29.602-35.044-50.148l8.0066-1.761c0.92222-0.25158 1.1737-0.92246 1.1737-1.7611 0-0.79667-1.1737-1.2579-1.8444-1.174l-7.8389 1.803c-1.048-5.3251-1.6348-10.692-1.6348-16.143 0-15.556 4.4015-30.86 12.66-43.984 1.1737 0.71281 6.749 4.5284 7.6712 4.5284 0.79646 0 1.5091-0.58702 1.5091-1.3837 0-1.6353-6.1621-4.7381-7.5455-5.7024 11.821-17.275 29.805-29.728 50.219-34.34l1.7606 7.757c0.25152 0.92246 0.92222 1.174 1.7606 1.174 0.83838 0 1.2576-1.174 1.1737-1.8449l-1.7606-7.6732c5.1141-0.92246 10.312-1.5095 15.552-1.5095 15.552 0 30.727 4.4026 43.973 12.663-0.79646 1.174-4.5273 6.6249-4.5273 7.5474 0 0.79667 0.58687 1.5095 1.3833 1.5095 1.6348 0 4.7369-6.0379 5.5753-7.4216 17.187 11.615 29.469 29.351 34.248 49.561l-6.4975 1.3837c-1.048 0.25158-1.1737 0.92246-1.1737 1.8449 0 0.79667 1.1737 1.2579 1.7606 1.174l6.6232-1.5095c1.048 5.3251 1.6348 10.776 1.6348 16.227 0 15.221-4.1919 30.189-12.073 43.062-1.1737-0.58702-6.0364-4.0672-6.9586-4.0672-0.8803 0-1.5929 0.71281-1.5929 1.5095zm-14.876-98.483c-5.2178 4.88-53.863 49.48-55.228 51.8l-38.772 64.2c5.0974-4.76 53.863-49.6 55.108-51.72l38.892-64.28z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");\n }\n .zee-launcher-unsupported-message {\n text-align: center;\n width: 250px;\n font-family: sans-serif;\n color: #ffffff;\n }\n .zee-launcher-unsupported-message-copy {\n border: 1px solid #ffffff;\n border-radius: 5px;\n margin-top: 10px;\n }\n #zee-launcher-unsupported-message-input {\n border: none;\n padding: 10px;\n border-radius: 0px;\n border-right: 1px solid #344B60;\n height: 40px;\n color: #ffffff;\n background-color: black;\n box-sizing: border-box;\n width: calc(100% - 65px);\n margin-left: 5px;\n }\n #zee-launcher-unsupported-message-button {\n background: none;\n border: none;\n outline: none;\n text-transform: uppercase;\n color: #ffffff;\n height: 40px;\n display: inline-block;\n width: 59px;\n }\n .zee-launcher-unsupported-message-before-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-before-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-after-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-after-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n </style>\n <div class="zee-launcher-browser-logo"></div>\n <div class="zee-launcher-unsupported-message">Open with ${t} to access this content.</div>\n <div class="zee-launcher-unsupported-message-before-copy">\n <div class="zee-launcher-unsupported-message ">Tap below to copy the address for easy pasting into ${t}.</div>\n <div class="zee-launcher-unsupported-message-copy"><input id="zee-launcher-unsupported-message-input" type="text/"><button id="zee-launcher-unsupported-message-button">Copy</button></div>\n </div>\n <div class="zee-launcher-unsupported-message zee-launcher-unsupported-message-after-copy">COPIED! Now paste into ${t}'s address bar to experience the content.</div>\n `;let r=e.querySelector("#zee-launcher-unsupported-message-input")||document.createElement("input");r.value=window.location.href;let i=()=>{if(navigator.userAgent.match(/iPhone|iPod|iPad/i)){let e=document.createRange();e.selectNodeContents(r);let t=window.getSelection();if(!t)return;t.removeAllRanges(),t.addRange(e),r.setSelectionRange(0,999999999)}else r.select();document.execCommand("copy"),r.blur(),e.classList.toggle("zee-launcher-unsupported-message-copied",!0)};return(e.querySelector("#zee-launcher-unsupported-message-button")||document.createElement("button")).addEventListener("click",i),r.addEventListener("click",i),e}()),Object.assign(e.style,{position:"fixed",width:"100%",height:"100%",top:"0px",left:"0px",zIndex:1001,backgroundColor:"rgba(0, 0, 0, 0.9)",fontFamily:"sans-serif",color:"white",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}),e.classList.add("zee_launcher_compatibility"),document.body.append(e)}};let gt=1,wt=new Map;class vt extends Oe{constructor(e,t){super(),this._impl=e,this._pipeline=t,this._packetNumber=0,this._motionUpdatesQueued=0,this._motionUpdatesSent=0,this._minFrameGapMs=0,this._lastUpdateTime=0}static create(e){let t=gt++;return wt.set(t,new vt(t,e)),me("sequence_source_source_t initialized"),t}static get(e){return wt.get(e)}loadFromMemory(e){try{this._decoder=new Pe(e),this._packetNumber=0,this._lastUpdateTime=0}catch(e){be("Unable to decode sequence:",e)}}maxPlaybackFpsSet(e){this._minFrameGapMs=e<=0?0:1e3/e}setTime(e){e<0?delete this._time:this._time=e}getFrame(e){var t;let r=lt.get(this._pipeline);if(!r)return;if(!this._decoder)return;if(this._submitMotionUpdates(r),this._motionUpdatesQueued>this._motionUpdatesSent)return;if(e)return;let i=null!==(t=this._time)&&void 0!==t?t:performance.now();if(i<this._lastUpdateTime+this._minFrameGapMs)return;if(this._packetNumber>=this._decoder.numberPackets)return;let a=this._decoder.dataByPacket.get(this._packetNumber);if(a.type!=Ue.CAMERA_FRAME)return;this._packetNumber++;let n=r.cameraPixelArrays.pop();for(;n&&n.byteLength!==a.greyscale.byteLength;)n=r.cameraPixelArrays.pop();n||(n=new ArrayBuffer(a.greyscale.byteLength)),new Uint8Array(n).set(a.greyscale),this._lastUpdateTime=i;let s={data:n,cameraSourceData:a.greyscale,cameraModel:a.cameraModel,cameraToDevice:a.cameraToDevice,dataWidth:a.width,dataHeight:a.height,texture:void 0,userFacing:a.userFacing,uvTransform:T(),cameraSource:this};this._submitMotionUpdates(r);const o=r.registerToken(s);r.sendDataToWorker(s.data||new ArrayBuffer(0),o,s.dataWidth,s.dataHeight,s.userFacing,s.cameraToDevice,s.cameraModel)}destroy(){wt.delete(this._impl),this.pause()}start(){var e;let t=lt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}pause(){let e=lt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}uploadGL(e){let t=lt.get(this._pipeline);if(!t)return;let r=null==t?void 0:t.glContext;r&&(e.texture||(e.texture=t.getVideoTexture()),e.texture&&e.cameraSourceData&&(r.bindTexture(r.TEXTURE_2D,e.texture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e.dataWidth,e.dataHeight,0,r.LUMINANCE,r.UNSIGNED_BYTE,new Uint8Array(e.cameraSourceData)),r.bindTexture(r.TEXTURE_2D,null)))}_submitMotionUpdates(e){let t=!1;for(;this._packetNumber<this._decoder.numberPackets;){let r=this._decoder.dataByPacket.get(this._packetNumber);if(r.type==Ue.CAMERA_FRAME)break;switch(r.type){case Ue.ACCELEROMETER:e.motionAccelerometerSubmit(r.t,r.x,r.y,r.z),t=!0;break;case Ue.ROTATION_RATE:e.motionRotationRateSubmit(r.t,r.x,r.y,r.z),t=!0;break;case Ue.ATTITUDE:e.motionAttitudeSubmit(r.t,r.x,r.y,r.z),t=!0;break;case Ue.ATTITUDE_MATRIX:e.motionAttitudeMatrix(r.attitude),t=!0;break;case Ue.ACCELEROMETER_WO_GRAVITY_INT:e.motionAccelerometerWithoutGravitySubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0;break;case Ue.ACCELEROMETER_W_GRAVITY_INT:e.motionAccelerometerWithGravitySubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0;break;case Ue.ATTITUDE_INT:e.motionAttitudeSubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0;break;case Ue.ROTATION_RATE_INT:e.motionRotationRateSubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0}this._packetNumber++}t&&(this._motionUpdatesQueued++,setTimeout((()=>{this._motionUpdatesSent++}),0))}}const yt='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="250" height="80.408" viewBox="0 0 250 80.408"><defs><filter id="a" x="0" y="1.182" width="250" height="79.226" filterUnits="userSpaceOnUse"><feOffset dy="3" input="SourceAlpha"/><feGaussianBlur stdDeviation="3" result="b"/><feFlood flood-opacity="0.161"/><feComposite operator="in" in2="b"/><feComposite in="SourceGraphic"/></filter><filter id="c" x="6.929" y="0" width="111.975" height="40.988" filterUnits="userSpaceOnUse"><feOffset dy="3" input="SourceAlpha"/><feGaussianBlur stdDeviation="3" result="d"/><feFlood flood-opacity="0.161"/><feComposite operator="in" in2="d"/><feComposite in="SourceGraphic"/></filter></defs><g transform="translate(-26.873 -414.029)"><g transform="translate(44 423.332)"><g transform="translate(0 0.635)" style="isolation:isolate"><g transform="translate(0 0)"><g transform="matrix(1, 0, 0, 1, -17.13, -9.94)" filter="url(#a)"><path d="M55.766,44.97V11.8h8.272v2.6h.089a8.258,8.258,0,0,1,7.046-3.357,11.4,11.4,0,0,1,8.5,3.686,12.667,12.667,0,0,1,3.278,8.622,12.509,12.509,0,0,1-3.25,8.57,11.353,11.353,0,0,1-8.429,3.6,9.533,9.533,0,0,1-7.229-2.95V43.378l-8.269,1.594h0Zm8-21.671a4.958,4.958,0,0,0,5.319,5.15A4.957,4.957,0,0,0,74.4,23.3a5.321,5.321,0,0,0-10.638,0ZM16.105,18.412H2.752V11.038H30.9L14.887,37.16H38.22L0,44.534ZM131.469,38.45a.761.761,0,0,1-.484-.166.582.582,0,0,1-.228-.419l-.553-3.586a12.243,12.243,0,0,1-1.782-.721l-2.789,2.084a.718.718,0,0,1-.5.176.688.688,0,0,1-.495-.214,25.864,25.864,0,0,1-3.264-3.274.754.754,0,0,1,.018-.9c.2-.277.543-.713,1.01-1.3.483-.6.832-1.05,1.068-1.374a9.614,9.614,0,0,1-.811-1.929l-3.62-.527a.631.631,0,0,1-.416-.243.728.728,0,0,1-.159-.458V21.283a.743.743,0,0,1,.159-.448.6.6,0,0,1,.376-.253l3.68-.546a9.511,9.511,0,0,1,.772-1.792c-.523-.733-1.235-1.638-2.117-2.69a.731.731,0,0,1-.2-.467.82.82,0,0,1,.178-.449,19.577,19.577,0,0,1,1.949-2.095c.953-.924,1.582-1.393,1.87-1.393a.861.861,0,0,1,.515.195l2.729,2.084a11.551,11.551,0,0,1,1.8-.741,31.446,31.446,0,0,1,.573-3.623.666.666,0,0,1,.712-.546h4.392a.757.757,0,0,1,.485.166.58.58,0,0,1,.228.419l.553,3.584a12.576,12.576,0,0,1,1.782.722l2.809-2.085a.641.641,0,0,1,.475-.176.776.776,0,0,1,.5.195,27.035,27.035,0,0,1,3.264,3.313.625.625,0,0,1,.139.429.742.742,0,0,1-.159.447c-.2.271-.525.7-1.008,1.3-.467.581-.827,1.043-1.069,1.373a11.8,11.8,0,0,1,.812,1.91l3.62.545a.626.626,0,0,1,.416.244.736.736,0,0,1,.158.457v4.325a.755.755,0,0,1-.158.449.6.6,0,0,1-.4.253l-3.66.545a12.692,12.692,0,0,1-.772,1.774c.465.653,1.177,1.559,2.117,2.688a.751.751,0,0,1,.2.488.648.648,0,0,1-.178.448,19.638,19.638,0,0,1-1.958,2.1c-.947.918-1.573,1.384-1.861,1.384a.976.976,0,0,1-.515-.176l-2.731-2.1a11.361,11.361,0,0,1-1.8.741,31.849,31.849,0,0,1-.573,3.625.668.668,0,0,1-.713.546Zm-1.385-18.491a4.935,4.935,0,0,0,0,7.053,5.12,5.12,0,0,0,7.163,0,4.931,4.931,0,0,0,0-7.053,5.117,5.117,0,0,0-7.163,0Zm69.969,14.868a18.523,18.523,0,0,1-4.932-2.073l1.705-6.1A13.441,13.441,0,0,0,200.779,29a12.14,12.14,0,0,0,4.344.818,4.644,4.644,0,0,0,2.351-.482,1.538,1.538,0,0,0,.806-1.4q0-1.5-3.25-2.242-1.061-.246-1.705-.425a12.335,12.335,0,0,1-5.358-2.589,5.5,5.5,0,0,1-1.671-4.157,6.323,6.323,0,0,1,2.547-5.267,10.993,10.993,0,0,1,6.9-1.972,21.351,21.351,0,0,1,4.552.5,25.439,25.439,0,0,1,4.736,1.557l-1.705,5.491a14.244,14.244,0,0,0-3.319-1.636,10.6,10.6,0,0,0-3.364-.561,4.227,4.227,0,0,0-2.121.426,1.357,1.357,0,0,0-.714,1.232q0,1.211,3.227,2.04.737.2,1.106.291,4.264,1.187,5.935,2.79a5.728,5.728,0,0,1,1.67,4.337A6.781,6.781,0,0,1,213,33.37a11.48,11.48,0,0,1-7.259,2.14A22.577,22.577,0,0,1,200.053,34.827ZM30.568,31.834a12.566,12.566,0,0,1-3.292-8.59,12.567,12.567,0,0,1,3.247-8.568,11.3,11.3,0,0,1,8.423-3.638,9.519,9.519,0,0,1,7.217,3V11.8h8.264V34.735H46.163V32.186h-.09c-1.32,2.071-3.951,3.308-7.038,3.308A11.412,11.412,0,0,1,30.568,31.834Zm5.245-8.545a4.95,4.95,0,0,0,5.312,5.141,4.95,4.95,0,0,0,5.312-5.141A5.023,5.023,0,0,0,41.125,18.1,5.023,5.023,0,0,0,35.813,23.289Zm69.2,11.554-3.527-10.452q-.282-.892-.505-1.8t-.412-1.8a30.821,30.821,0,0,1-.917,3.454l-.047.16L96.1,34.842H90.176l-9.925-23.1h8.632l3.552,10.223q.4,1.12.634,1.955t.377,1.635a23.558,23.558,0,0,1,.917-3.179q.093-.274.141-.411l3.528-10.223h5.056l3.5,10.2.07.183a20.724,20.724,0,0,1,.988,3.43q.141-.732.364-1.532t.647-2.058l3.574-10.223h8.678l-9.971,23.1Zm80.154-.092-8.587-9.841v9.841h-7.888V1.5L176.583,0V22.28l8.272-9.665h9.96L184.584,23.266l11.156,11.485Zm-35.09,0V11.782h8.272v3.761h.091a8.131,8.131,0,0,1,7.546-4.074h1.593V19.3a6.8,6.8,0,0,0-3.5-.761c-4.593,0-5.728,3-5.728,6.941v9.268Z" transform="translate(17.13 15.31)"/></g><g transform="matrix(1, 0, 0, 1, -17.13, -9.94)" filter="url(#c)"><path d="M3.576-12.852v-4.3H6.628a2.867,2.867,0,0,1,1.945.55A2.034,2.034,0,0,1,9.188-15a2.06,2.06,0,0,1-.615,1.608,2.784,2.784,0,0,1-1.945.542ZM2.017-18.464V-6.748H3.576v-4.792H7.153a3.569,3.569,0,0,0,2.683-.9A3.478,3.478,0,0,0,10.747-15a3.45,3.45,0,0,0-.911-2.552,3.638,3.638,0,0,0-2.683-.911Zm11.421,7.483a4.221,4.221,0,0,1,.205-1.37,2.957,2.957,0,0,1,.566-1.009,2.411,2.411,0,0,1,.845-.624A2.515,2.515,0,0,1,16.08-14.2a2.515,2.515,0,0,1,1.026.213,2.411,2.411,0,0,1,.845.624,2.957,2.957,0,0,1,.566,1.009,4.221,4.221,0,0,1,.205,1.37,4.221,4.221,0,0,1-.205,1.37,2.867,2.867,0,0,1-.566,1,2.457,2.457,0,0,1-.845.615,2.515,2.515,0,0,1-1.026.213,2.515,2.515,0,0,1-1.026-.213,2.457,2.457,0,0,1-.845-.615,2.867,2.867,0,0,1-.566-1A4.221,4.221,0,0,1,13.438-10.981Zm-1.477,0a5.573,5.573,0,0,0,.263,1.739,3.97,3.97,0,0,0,.788,1.4,3.623,3.623,0,0,0,1.3.935,4.4,4.4,0,0,0,1.772.336A4.381,4.381,0,0,0,17.86-6.9a3.641,3.641,0,0,0,1.288-.935,3.97,3.97,0,0,0,.788-1.4,5.573,5.573,0,0,0,.263-1.739,5.65,5.65,0,0,0-.263-1.748,3.96,3.96,0,0,0-.788-1.411,3.729,3.729,0,0,0-1.288-.944,4.29,4.29,0,0,0-1.78-.345,4.3,4.3,0,0,0-1.772.345,3.71,3.71,0,0,0-1.3.944,3.96,3.96,0,0,0-.788,1.411A5.65,5.65,0,0,0,11.961-10.981Zm18.28,4.234,2.708-8.484H31.5L29.6-8.29h-.033L27.8-15.231H26.27L24.564-8.29h-.033l-1.92-6.941H21.068l2.724,8.484H25.3l1.707-6.744h.033l1.723,6.744ZM40.169-11.8H35.3a2.905,2.905,0,0,1,.213-.927A2.473,2.473,0,0,1,36-13.492a2.255,2.255,0,0,1,.747-.517,2.429,2.429,0,0,1,.976-.189,2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,40.169-11.8Zm1.346,2.363H40.136a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.105,5.105,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,41.515-9.439Zm1.526-5.793v8.484h1.395v-3.774a5.8,5.8,0,0,1,.164-1.452,2.784,2.784,0,0,1,.525-1.075,2.251,2.251,0,0,1,.952-.673,3.945,3.945,0,0,1,1.428-.23v-1.477a3.135,3.135,0,0,0-1.871.459,3.779,3.779,0,0,0-1.247,1.526h-.033v-1.789ZM54.15-11.8H49.276a2.905,2.905,0,0,1,.213-.927,2.473,2.473,0,0,1,.492-.763,2.255,2.255,0,0,1,.747-.517A2.429,2.429,0,0,1,51.7-14.2a2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,54.15-11.8ZM55.5-9.439H54.117a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.1,5.1,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,55.5-9.439Zm2.593-1.477a5.581,5.581,0,0,1,.131-1.214,3.212,3.212,0,0,1,.427-1.05,2.221,2.221,0,0,1,.788-.738,2.4,2.4,0,0,1,1.2-.279,2.589,2.589,0,0,1,1.231.271,2.389,2.389,0,0,1,.829.714,2.985,2.985,0,0,1,.468,1.026,4.889,4.889,0,0,1,.148,1.206,4.919,4.919,0,0,1-.139,1.165,3.053,3.053,0,0,1-.451,1.026,2.4,2.4,0,0,1-.8.73,2.4,2.4,0,0,1-1.2.279,2.491,2.491,0,0,1-1.173-.263,2.332,2.332,0,0,1-.82-.706,3.122,3.122,0,0,1-.476-1.009A4.338,4.338,0,0,1,58.088-10.916Zm6.564,4.168V-18.464H63.257V-14.1h-.033a2.247,2.247,0,0,0-.566-.632,3.216,3.216,0,0,0-.714-.41,3.583,3.583,0,0,0-.755-.222,4.132,4.132,0,0,0-.706-.066,3.861,3.861,0,0,0-1.7.353,3.487,3.487,0,0,0-1.214.952,4.018,4.018,0,0,0-.722,1.4,5.985,5.985,0,0,0-.238,1.707,5.8,5.8,0,0,0,.246,1.707,4.218,4.218,0,0,0,.73,1.411,3.529,3.529,0,0,0,1.214.968,3.827,3.827,0,0,0,1.715.361,4.135,4.135,0,0,0,1.625-.312A2.053,2.053,0,0,0,63.224-7.9h.033v1.149Zm6.761-11.716V-6.748h1.395V-7.88h.033a2.247,2.247,0,0,0,.566.632,2.982,2.982,0,0,0,.714.4,3.874,3.874,0,0,0,.763.213,4.193,4.193,0,0,0,.7.066,3.94,3.94,0,0,0,1.7-.345,3.4,3.4,0,0,0,1.214-.944,4.018,4.018,0,0,0,.722-1.4,5.985,5.985,0,0,0,.238-1.707,5.8,5.8,0,0,0-.246-1.707,4.312,4.312,0,0,0-.73-1.419,3.488,3.488,0,0,0-1.214-.976,3.827,3.827,0,0,0-1.715-.361,4.043,4.043,0,0,0-1.625.32,2.088,2.088,0,0,0-1.083,1.026h-.033v-4.381Zm6.564,7.4a5.581,5.581,0,0,1-.131,1.214,3.212,3.212,0,0,1-.427,1.05,2.243,2.243,0,0,1-.779.738,2.385,2.385,0,0,1-1.206.279A2.589,2.589,0,0,1,74.2-8.052a2.389,2.389,0,0,1-.829-.714,2.985,2.985,0,0,1-.468-1.026A4.889,4.889,0,0,1,72.758-11a4.919,4.919,0,0,1,.139-1.165,3.053,3.053,0,0,1,.451-1.026,2.4,2.4,0,0,1,.8-.73,2.4,2.4,0,0,1,1.2-.279,2.491,2.491,0,0,1,1.173.263,2.332,2.332,0,0,1,.82.706,3.122,3.122,0,0,1,.476,1.009A4.338,4.338,0,0,1,77.976-11.063Zm6.449,5.448a8.871,8.871,0,0,1-.484,1.05,2.871,2.871,0,0,1-.525.7,1.782,1.782,0,0,1-.64.394,2.462,2.462,0,0,1-.812.123,3.721,3.721,0,0,1-.492-.033A2.324,2.324,0,0,1,81-3.5v-1.28a2.342,2.342,0,0,0,.418.139,1.765,1.765,0,0,0,.4.057,1.2,1.2,0,0,0,.714-.205,1.255,1.255,0,0,0,.435-.583L83.539-6.8l-3.364-8.434h1.575L84.228-8.29h.033l2.379-6.941h1.477Z" transform="translate(17.85 28.4)"/></g></g></g><g transform="translate(0 0)"><g transform="translate(0 5.371)"><path d="M11.76,24.456A11.41,11.41,0,0,1,3.292,20.8,12.564,12.564,0,0,1,0,12.206,12.569,12.569,0,0,1,3.246,3.638,11.307,11.307,0,0,1,11.67,0a9.519,9.519,0,0,1,7.217,3V.759h8.264V23.7H18.887V21.148H18.8C17.478,23.219,14.846,24.456,11.76,24.456ZM13.849,7.064A5.023,5.023,0,0,0,8.537,12.25a4.95,4.95,0,0,0,5.312,5.141A4.95,4.95,0,0,0,19.16,12.25,5.023,5.023,0,0,0,13.849,7.064Z" transform="translate(27.277 11.038)" fill="#fff"/><path d="M0,33.931V.758H8.271v2.6H8.36A8.258,8.258,0,0,1,15.406,0,11.4,11.4,0,0,1,23.9,3.686a12.665,12.665,0,0,1,3.278,8.622,12.508,12.508,0,0,1-3.25,8.57,11.351,11.351,0,0,1-8.429,3.6,9.535,9.535,0,0,1-7.229-2.95V32.337L0,33.931ZM13.317,7.07A5.028,5.028,0,0,0,8,12.259a4.957,4.957,0,0,0,5.319,5.15,4.957,4.957,0,0,0,5.319-5.15A5.028,5.028,0,0,0,13.317,7.07Z" transform="translate(55.766 11.041)" fill="#fff"/><path d="M22.836,0l3.5,10.2.07.183a20.748,20.748,0,0,1,.988,3.43q.141-.731.364-1.532t.647-2.058L31.985,0h8.678L30.691,23.1H24.764L21.237,12.647q-.282-.891-.505-1.8t-.412-1.8A30.927,30.927,0,0,1,19.4,12.51l-.047.16L15.851,23.1H9.925L0,0H8.631l3.552,10.223q.4,1.121.635,1.955t.377,1.635a23.522,23.522,0,0,1,.917-3.179q.093-.274.141-.411L17.78,0h5.056" transform="translate(80.251 11.743)" fill="#fff"/><path d="M0,34.75V1.5L7.888,0V22.28l8.272-9.665H26.12L15.889,23.266,27.045,34.75H16.475L7.888,24.91v9.84H0" transform="translate(168.695 0)" fill="#fff"/><path d="M0,21.47l1.705-6.1a13.453,13.453,0,0,0,3.952,2.342A12.145,12.145,0,0,0,10,18.534a4.643,4.643,0,0,0,2.351-.482,1.539,1.539,0,0,0,.807-1.4q0-1.5-3.25-2.241-1.06-.246-1.705-.426A12.325,12.325,0,0,1,2.846,11.4,5.5,5.5,0,0,1,1.176,7.239,6.324,6.324,0,0,1,3.722,1.972,11,11,0,0,1,10.624,0a21.365,21.365,0,0,1,4.551.5,25.45,25.45,0,0,1,4.736,1.558l-1.706,5.49a14.24,14.24,0,0,0-3.319-1.636,10.6,10.6,0,0,0-3.364-.56A4.22,4.22,0,0,0,9.4,5.782a1.356,1.356,0,0,0-.714,1.233q0,1.211,3.227,2.04.737.2,1.106.291,4.264,1.188,5.935,2.79a5.728,5.728,0,0,1,1.671,4.337,6.782,6.782,0,0,1-2.743,5.614,11.478,11.478,0,0,1-7.259,2.14,22.565,22.565,0,0,1-5.693-.683A18.517,18.517,0,0,1,0,21.47" transform="translate(195.121 11.284)" fill="#fff"/><path d="M8.273,4.075h.091A8.13,8.13,0,0,1,15.909,0H17.5V7.834A6.8,6.8,0,0,0,14,7.074c-4.593,0-5.728,3-5.728,6.941v9.268H0V.313H8.273V4.075" transform="translate(150.08 11.469)" fill="#fff"/><path d="M17.392,29.929H13a.76.76,0,0,1-.485-.166.579.579,0,0,1-.227-.419l-.553-3.586a12.3,12.3,0,0,1-1.781-.721L7.163,27.123a.719.719,0,0,1-.495.176.687.687,0,0,1-.495-.214A25.873,25.873,0,0,1,2.91,23.81a.753.753,0,0,1,.019-.9c.2-.277.542-.713,1.009-1.3.483-.6.832-1.05,1.068-1.374a9.591,9.591,0,0,1-.811-1.929l-3.62-.526a.63.63,0,0,1-.416-.243A.729.729,0,0,1,0,17.089V12.762a.746.746,0,0,1,.159-.448.6.6,0,0,1,.376-.253l3.68-.546a9.5,9.5,0,0,1,.772-1.792C4.464,8.991,3.752,8.085,2.87,7.034a.732.732,0,0,1-.2-.468.82.82,0,0,1,.179-.449A19.622,19.622,0,0,1,4.8,4.023C5.751,3.1,6.38,2.631,6.668,2.631a.859.859,0,0,1,.515.194L9.913,4.91a11.536,11.536,0,0,1,1.8-.741A31.372,31.372,0,0,1,12.287.546.665.665,0,0,1,13,0h4.392a.755.755,0,0,1,.485.166.581.581,0,0,1,.229.419l.553,3.584a12.543,12.543,0,0,1,1.781.722L23.25,2.807a.641.641,0,0,1,.475-.176.775.775,0,0,1,.495.194,27.092,27.092,0,0,1,3.264,3.313.625.625,0,0,1,.139.429.745.745,0,0,1-.159.448c-.2.271-.525.695-1.008,1.3-.467.581-.827,1.043-1.069,1.373a11.784,11.784,0,0,1,.812,1.91l3.62.545a.625.625,0,0,1,.416.244.736.736,0,0,1,.157.458v4.325a.754.754,0,0,1-.157.449.606.606,0,0,1-.4.253l-3.66.545a12.628,12.628,0,0,1-.772,1.774c.465.654,1.177,1.559,2.117,2.688a.752.752,0,0,1,.2.488.648.648,0,0,1-.177.448,19.641,19.641,0,0,1-1.959,2.1c-.947.918-1.573,1.384-1.86,1.384a.978.978,0,0,1-.515-.176l-2.731-2.1a11.429,11.429,0,0,1-1.8.741,32.016,32.016,0,0,1-.573,3.624A.668.668,0,0,1,17.392,29.929ZM15.2,9.976a4.938,4.938,0,0,0-3.582,1.463,4.935,4.935,0,0,0,0,7.053,5.12,5.12,0,0,0,7.163,0,4.932,4.932,0,0,0,0-7.053A4.938,4.938,0,0,0,15.2,9.976Z" transform="translate(118.47 8.521)" fill="#fff"/><path d="M0,33.5,16.106,7.374H2.752V0H30.9L14.887,26.122H38.22L0,33.5" transform="translate(0 11.038)" fill="#fff"/></g><path d="M3.576-12.852v-4.3H6.628a2.867,2.867,0,0,1,1.945.55A2.034,2.034,0,0,1,9.188-15a2.06,2.06,0,0,1-.615,1.608,2.784,2.784,0,0,1-1.945.542ZM2.017-18.464V-6.748H3.576v-4.792H7.153a3.569,3.569,0,0,0,2.683-.9A3.478,3.478,0,0,0,10.747-15a3.45,3.45,0,0,0-.911-2.552,3.638,3.638,0,0,0-2.683-.911Zm11.421,7.483a4.221,4.221,0,0,1,.205-1.37,2.957,2.957,0,0,1,.566-1.009,2.411,2.411,0,0,1,.845-.624A2.515,2.515,0,0,1,16.08-14.2a2.515,2.515,0,0,1,1.026.213,2.411,2.411,0,0,1,.845.624,2.957,2.957,0,0,1,.566,1.009,4.221,4.221,0,0,1,.205,1.37,4.221,4.221,0,0,1-.205,1.37,2.867,2.867,0,0,1-.566,1,2.457,2.457,0,0,1-.845.615,2.515,2.515,0,0,1-1.026.213,2.515,2.515,0,0,1-1.026-.213,2.457,2.457,0,0,1-.845-.615,2.867,2.867,0,0,1-.566-1A4.221,4.221,0,0,1,13.438-10.981Zm-1.477,0a5.573,5.573,0,0,0,.263,1.739,3.97,3.97,0,0,0,.788,1.4,3.623,3.623,0,0,0,1.3.935,4.4,4.4,0,0,0,1.772.336A4.381,4.381,0,0,0,17.86-6.9a3.641,3.641,0,0,0,1.288-.935,3.97,3.97,0,0,0,.788-1.4,5.573,5.573,0,0,0,.263-1.739,5.65,5.65,0,0,0-.263-1.748,3.96,3.96,0,0,0-.788-1.411,3.729,3.729,0,0,0-1.288-.944,4.29,4.29,0,0,0-1.78-.345,4.3,4.3,0,0,0-1.772.345,3.71,3.71,0,0,0-1.3.944,3.96,3.96,0,0,0-.788,1.411A5.65,5.65,0,0,0,11.961-10.981Zm18.28,4.234,2.708-8.484H31.5L29.6-8.29h-.033L27.8-15.231H26.27L24.564-8.29h-.033l-1.92-6.941H21.068l2.724,8.484H25.3l1.707-6.744h.033l1.723,6.744ZM40.169-11.8H35.3a2.905,2.905,0,0,1,.213-.927A2.473,2.473,0,0,1,36-13.492a2.255,2.255,0,0,1,.747-.517,2.429,2.429,0,0,1,.976-.189,2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,40.169-11.8Zm1.346,2.363H40.136a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.105,5.105,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,41.515-9.439Zm1.526-5.793v8.484h1.395v-3.774a5.8,5.8,0,0,1,.164-1.452,2.784,2.784,0,0,1,.525-1.075,2.251,2.251,0,0,1,.952-.673,3.945,3.945,0,0,1,1.428-.23v-1.477a3.135,3.135,0,0,0-1.871.459,3.779,3.779,0,0,0-1.247,1.526h-.033v-1.789ZM54.15-11.8H49.276a2.905,2.905,0,0,1,.213-.927,2.473,2.473,0,0,1,.492-.763,2.255,2.255,0,0,1,.747-.517A2.429,2.429,0,0,1,51.7-14.2a2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,54.15-11.8ZM55.5-9.439H54.117a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.1,5.1,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,55.5-9.439Zm2.593-1.477a5.581,5.581,0,0,1,.131-1.214,3.212,3.212,0,0,1,.427-1.05,2.221,2.221,0,0,1,.788-.738,2.4,2.4,0,0,1,1.2-.279,2.589,2.589,0,0,1,1.231.271,2.389,2.389,0,0,1,.829.714,2.985,2.985,0,0,1,.468,1.026,4.889,4.889,0,0,1,.148,1.206,4.919,4.919,0,0,1-.139,1.165,3.053,3.053,0,0,1-.451,1.026,2.4,2.4,0,0,1-.8.73,2.4,2.4,0,0,1-1.2.279,2.491,2.491,0,0,1-1.173-.263,2.332,2.332,0,0,1-.82-.706,3.122,3.122,0,0,1-.476-1.009A4.338,4.338,0,0,1,58.088-10.916Zm6.564,4.168V-18.464H63.257V-14.1h-.033a2.247,2.247,0,0,0-.566-.632,3.216,3.216,0,0,0-.714-.41,3.583,3.583,0,0,0-.755-.222,4.132,4.132,0,0,0-.706-.066,3.861,3.861,0,0,0-1.7.353,3.487,3.487,0,0,0-1.214.952,4.018,4.018,0,0,0-.722,1.4,5.985,5.985,0,0,0-.238,1.707,5.8,5.8,0,0,0,.246,1.707,4.218,4.218,0,0,0,.73,1.411,3.529,3.529,0,0,0,1.214.968,3.827,3.827,0,0,0,1.715.361,4.135,4.135,0,0,0,1.625-.312A2.053,2.053,0,0,0,63.224-7.9h.033v1.149Zm6.761-11.716V-6.748h1.395V-7.88h.033a2.247,2.247,0,0,0,.566.632,2.982,2.982,0,0,0,.714.4,3.874,3.874,0,0,0,.763.213,4.193,4.193,0,0,0,.7.066,3.94,3.94,0,0,0,1.7-.345,3.4,3.4,0,0,0,1.214-.944,4.018,4.018,0,0,0,.722-1.4,5.985,5.985,0,0,0,.238-1.707,5.8,5.8,0,0,0-.246-1.707,4.312,4.312,0,0,0-.73-1.419,3.488,3.488,0,0,0-1.214-.976,3.827,3.827,0,0,0-1.715-.361,4.043,4.043,0,0,0-1.625.32,2.088,2.088,0,0,0-1.083,1.026h-.033v-4.381Zm6.564,7.4a5.581,5.581,0,0,1-.131,1.214,3.212,3.212,0,0,1-.427,1.05,2.243,2.243,0,0,1-.779.738,2.385,2.385,0,0,1-1.206.279A2.589,2.589,0,0,1,74.2-8.052a2.389,2.389,0,0,1-.829-.714,2.985,2.985,0,0,1-.468-1.026A4.889,4.889,0,0,1,72.758-11a4.919,4.919,0,0,1,.139-1.165,3.053,3.053,0,0,1,.451-1.026,2.4,2.4,0,0,1,.8-.73,2.4,2.4,0,0,1,1.2-.279,2.491,2.491,0,0,1,1.173.263,2.332,2.332,0,0,1,.82.706,3.122,3.122,0,0,1,.476,1.009A4.338,4.338,0,0,1,77.976-11.063Zm6.449,5.448a8.871,8.871,0,0,1-.484,1.05,2.871,2.871,0,0,1-.525.7,1.782,1.782,0,0,1-.64.394,2.462,2.462,0,0,1-.812.123,3.721,3.721,0,0,1-.492-.033A2.324,2.324,0,0,1,81-3.5v-1.28a2.342,2.342,0,0,0,.418.139,1.765,1.765,0,0,0,.4.057,1.2,1.2,0,0,0,.714-.205,1.255,1.255,0,0,0,.435-.583L83.539-6.8l-3.364-8.434h1.575L84.228-8.29h.033l2.379-6.941h1.477Z" transform="translate(0.722 18.464)" fill="#fff"/></g></g></g></svg>';function Et(){var e=new A(2);return A!=Float32Array&&(e[0]=0,e[1]=0),e}function At(e,t){return e[0]=t[0],e[1]=t[1],e}function Tt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}function Rt(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}function xt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}function kt(e){var t=e[0],r=e[1];return Math.hypot(t,r)}function Mt(){return{indices:new Uint16Array(0),vertices:new Float32Array(0),normals:new Float32Array(0),uvs:new Float32Array(0)}}function Ft(e){const t=2*e.trainedWidth/(e.trainedHeight*e.topRadius);return Lt(e,2,!1,0,0,0,Et(),e.trainedWidth/e.trainedHeight,t,e.physicalScaleFactor)}function Lt(e,t,r,i,a,n,s,_,c,l){isNaN(_)&&(_=1);const d=[],u=[],h=l>0?l:1,f=2*h/t,p=64;for(let t=0;t<=p;++t){const i=t*c/p+(2*Math.PI-c)/2,a=e.bottomRadius*Math.sin(i)*f,n=e.bottomRadius*Math.cos(i)*f,s=e.topRadius*Math.sin(i)*f,o=e.topRadius*Math.cos(i)*f,_=-1*h,l=h;r?(d.push(a,_,n),d.push(s,l,o)):(d.push(s,l,-o),d.push(a,_,-n))}for(let t=0;t<=p;++t)if(e.type==o.IMAGE_TRACKER_TYPE_CYLINDRICAL){const e=1-t/p;u.push(e,1),u.push(e,0)}else{let e=2*-(t/p-.5)*i;r&&(e=-e+i,e>i&&(e=e-i-i));const o=Et();o[0]=Math.sin(e),o[1]=Math.cos(e),r&&(o[1]*=-1);const c=Et();At(c,o),xt(c,c,a),Tt(c,s,c);const l=Et();At(l,o),xt(l,l,n),Tt(l,s,l),u.push((l[0]+_)/(2*_),1-(1-l[1])/2),u.push((c[0]+_)/(2*_),1-(1-c[1])/2)}const m=[];for(let e=0;e<p;++e){const t=2*e;m.push(t+1,t+2,t+3),m.push(t+0,t+2,t+1)}return{vertices:new Float32Array(d),indices:new Uint16Array(m),normals:new Float32Array(0),uvs:new Float32Array(u)}}Et();const It=new TextDecoder;class St{constructor(e,t=!1){this._data=e,this._paddingBytes=t,this.truncatedChunks=!1,this._view=new DataView(this._data),this.root=this._parse()}_parse(){if("RIFF"!==It.decode(this._data.slice(0,4)))throw new Error("Not a valid ZPT file");return this._parseChunk(0)}_parseChunk(e){const t=It.decode(this._data.slice(e,e+4)),r=this._view.getUint32(e+4,!0),i=new Uint8Array(this._data,e+8,r);let a,n;if(i.byteLength!==r&&(this.truncatedChunks=!0),"RIFF"===t||"LIST"===t){n=It.decode(this._data.slice(e+8,e+12)),a=[];let t=4;for(;t<i.byteLength-1;){const r=this._parseChunk(e+8+t);a.push(r),t+=r.data.byteLength+8,this._paddingBytes&&1&r.data.byteLength&&t++}}return{ident:t,data:i,subident:n,subchunks:a}}find(e,t=this.root){if(t.ident===e)return t;if(t.subchunks)for(let r of t.subchunks){const t=this.find(e,r);if(t)return t}}has(e){return void 0!==this.find(e)}}let Ct=new Map;const Ut=new TextDecoder;class Dt{constructor(e,t){this._client=e,this._impl=t,this._targets=[]}static create(e,t){let r=t.image_tracker_create(e);return Ct.set(r,new Dt(t,r)),r}static get(e){return Ct.get(e)}destroy(){this._client.image_tracker_destroy(this._impl),Ct.delete(this._impl)}loadFromMemory(e){this._targets.push({data:e}),this._client.image_tracker_target_load_from_memory(this._impl,e)}targetCount(){return this._targets.length}getTargetInfo(e){let t=this._targets[e];if(t&&t.info)return t.info;t.info={topRadius:-1,bottomRadius:-1,sideLength:-1,physicalScaleFactor:-1,trainedWidth:0,trainedHeight:0,type:o.IMAGE_TRACKER_TYPE_PLANAR};try{const e=new St(t.data,!1),r=e.find("IMG ");if(r){let i="image/png";const a=e.find("IMGM");a&&(i=Ut.decode(a.data)),t.info.preview={mimeType:i,compressed:r.data}}const i=e.find("ODLE");if(i){const e=Ut.decode(i.data);this._parseOdle(e,t.info)}}catch(e){}return t.info}_parseOdle(e,t){let r=0,i="0";return[i,r]=Pt(r,e),"1"===i?this._parseOdleV1(e,r,t):"3"===i?this._parseOdleV3(e,r,t):void 0}_parseOdleV1(e,t,r){let i="0";if([i,t]=Pt(t,e),"0"!==i&&"1"!==i)return;let a="";if([a,t]=Pt(t,e),0!==a.length)return;let n="";[n,t]=Pt(t,e);const s=n.split(" ");s.length<5||(r.trainedWidth=parseInt(s[3].replace("[","")),r.trainedHeight=parseInt(s[4].replace("]","")))}_parseOdleV3(e,t,r){let i="0";if([i,t]=Pt(t,e),"0"!==i&&"1"!==i)return;let a="0";[a,t]=Pt(t,e);const n=parseInt(a);if(isNaN(n)||n<1)return;let s="";if([s,t]=Pt(t,e),0!==s.length)return;let o="";[o,t]=Pt(t,e);const _=o.split(" ");if(_.length<6)return;const c=parseInt(_[0]);0!==c&&1!==c&&2!==c||(r.type=c),r.trainedWidth=parseInt(_[4].replace("[","")),r.trainedHeight=parseInt(_[5].replace("]","")),_.length>=7&&(r.physicalScaleFactor=parseFloat(_[6]),isNaN(r.physicalScaleFactor)&&(r.physicalScaleFactor=-1)),_.length>=8&&(r.topRadius=parseFloat(_[7]),isNaN(r.topRadius)&&(r.topRadius=-1),r.bottomRadius=r.topRadius),_.length>=9&&(r.bottomRadius=parseFloat(_[8]),isNaN(r.bottomRadius)&&(r.bottomRadius=-1)),_.length>=10&&(r.sideLength=parseFloat(_[9]),isNaN(r.sideLength)&&(r.sideLength=-1))}getDecodedPreview(e){const t=this.getTargetInfo(e);if(t.preview){if(!t.preview.image){const e=new Blob([t.preview.compressed],{type:t.preview.mimeType});t.preview.image=new Image,t.preview.image.src=URL.createObjectURL(e)}return t.preview.image}}getPreviewMesh(e){const t=this.getTargetInfo(e);return t.previewMesh||(t.previewMesh=function(e){switch(e.type){case o.IMAGE_TRACKER_TYPE_PLANAR:return function(e){const t=e.trainedWidth/e.trainedHeight;if(isNaN(t))return Mt();const r=e.physicalScaleFactor>0?e.physicalScaleFactor:1;return{vertices:new Float32Array([-1*t*r,-1*r,0,-1*t*r,r,0,t*r,r,0,t*r,-1*r,0]),indices:new Uint16Array([0,2,1,0,3,2]),uvs:new Float32Array([0,0,0,1,1,1,1,0]),normals:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1])}}(e);case o.IMAGE_TRACKER_TYPE_CYLINDRICAL:return Ft(e);case o.IMAGE_TRACKER_TYPE_CONICAL:return function(e){const t=e.topRadius-e.bottomRadius;if(0===t)return console.warn("Conical target has matching radii, using cylindrical preview mesh with a defined image size instead."),Ft(e);const r=Math.sqrt(e.sideLength*e.sideLength-t*t),i=e.bottomRadius>e.topRadius;let a=e.trainedWidth/e.trainedHeight;isNaN(a)&&(a=1);const n=!(e.bottomRadius>0&&e.topRadius>0),s=e.sideLength<2*Math.abs(e.topRadius-e.bottomRadius),o=Et(),_=Et(),c=Et();if(n)if(s)if(i){c[1]=a-1;const e=Math.acos((2-a)/a);o[0]=a*Math.sin(e),o[1]=a-1+a*Math.cos(e),At(_,c)}else{c[1]=1-a;const e=Math.PI+Math.acos((2-a)/a);o[0]=a*Math.sin(e),o[1]=1-a+a*Math.cos(e),At(_,c)}else i?(c[1]=1,At(_,c),o[0]=a,o[1]=1-Math.sqrt(4-Math.pow(a,2))):(c[1]=-1,At(_,c),o[0]=-a,o[1]=Math.sqrt(4-Math.pow(a,2))-1);else if(s)if(i){c[1]=a-1;const t=Math.acos((2-a)/a);o[0]=a*Math.sin(t),o[1]=a-1+a*Math.cos(t),_[0]=(a-e.sideLength)*Math.sin(t),_[1]=a-1+(a-e.sideLength)*Math.cos(t)}else{c[1]=1-a;const t=Math.PI+Math.acos((2-a)/a);o[0]=a*Math.sin(t),o[1]=1-a+a*Math.cos(t),_[0]=(a-e.sideLength)*Math.sin(t),_[1]=1-a+(a-e.sideLength)*Math.cos(t)}else{const t=i?e.topRadius/e.bottomRadius:e.bottomRadius/e.topRadius;i?(_[0]=t*a,_[1]=1,o[0]=a,o[1]=1-Math.sqrt(e.sideLength*e.sideLength-(_[0]-o[0])*(_[0]-o[0])),c[1]=o[1]+o[0]/(o[0]-_[0])*(_[1]-o[1])):(_[0]=-t*a,_[1]=-1,o[0]=-a,o[1]=Math.sqrt(e.sideLength*e.sideLength-(_[0]-o[0])*(_[0]-o[0]))-1,c[1]=o[1]- -o[0]/(_[0]-o[0])*(o[1]-_[1]))}const l=Et();Rt(l,o,c);const d=Et();Rt(d,_,c);const u=kt(l),h=kt(d);let f=2*Math.abs(Math.atan(l[0]/l[1]));s&&(f=2*Math.PI-f);let p=u*f/e.topRadius,m=Math.abs(Math.atan(l[0]/l[1]));return s&&(m=Math.PI-m),Lt(e,r,i,m,h,u,c,a,p,e.physicalScaleFactor)}(e)}return Mt()}(t)),t.previewMesh}}function Pt(e,t){let r=t.indexOf("\n",e);return[t.substring(e,r>=0?r:void 0).replace("\r",""),r+1]}var Ot=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function s(e){try{_(i.next(e))}catch(e){n(e)}}function o(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}_((i=i.apply(e,t||[])).next())}))};let Bt;function zt(e){if(Bt)return Bt;let t=!1;(function(e){return H(this,void 0,void 0,(function*(){var t;function i(){let t=j.getOutgoingMessages();for(let r of t)e.postMessage(r.msg,r.transferables)}e||(e=new Worker(new URL(r.p+r.u(56),r.b),{type:void 0})),e.postMessage({t:"wasm",url:new URL(r(751),r.b).toString()}),yield(t=e,new Promise((e=>{let r=i=>{"loaded"===i.data&&(t.removeEventListener("message",r),e())};t.addEventListener("message",r)}))),j.onOutgoingMessage.bind(i),i(),e.addEventListener("message",(e=>{j.postIncomingMessage(e.data)}))}))})(null==e?void 0:e.worker).then((()=>{me("Fully loaded"),t=!0}));let i=new d((e=>{j.postOutgoingMessage({t:"zappar",d:e},[e])}));const a=function(){let e=window.localStorage.getItem("z_uar_lid");if(null===e){const t=new Uint8Array(8);window.crypto.getRandomValues(t),e="";for(let r=0;r<t.byteLength;r++){const i=t[r].toString(16);1===i.length?e+="0"+i:2===i.length&&(e+=i)}}return e}();let n=!1;if(window.location.hostname.toLowerCase().indexOf(".zappar.io")>0||window.location.hostname.toLowerCase().indexOf(".webar.run")>0||window.location.hostname.toLowerCase().indexOf(".arweb.app")>0){let e=window.location.pathname.split("/");e.length>1&&e[1].length>0&&i.impl.analytics_project_id_set(".wiz"+e[1],a)}return j.onIncomingMessage.bind((e=>{var t,r,a,n,s,o,_,c;switch(e.t){case"zappar":null===(t=lt.get(e.p))||void 0===t||t.pendingMessages.push(e.d);break;case"buf":i.serializer.bufferReturn(e.d);break;case"cameraFrameRecycleS2C":{let t=e;null===(a=null===(r=lt.get(t.p))||void 0===r?void 0:r.cameraTokenReturn)||void 0===a||a.call(r,e);break}case"videoFrameS2C":{let t=e;null===(s=null===(n=lt.get(t.p))||void 0===n?void 0:n.videoFrameFromWorker)||void 0===s||s.call(n,t);break}case"imageBitmapS2C":{let t=e;null===(_=null===(o=lt.get(t.p))||void 0===o?void 0:o.imageBitmapFromWorker)||void 0===_||_.call(o,t);break}case"raw":{let t=e;null===(c=lt.get(t.p))||void 0===c||c.cameraFrameDataRawResult(t);break}case"streamEndedS2C":{const t=rt(e.source);t instanceof $e&&t.streamEnded();break}case"licerr":{let e=document.createElement("div");e.innerHTML="Visit <a href='https://docs.zap.works/universal-ar/licensing/' style='color: white;'>our licensing page</a> to find out about hosting on your own domain.",e.style.position="absolute",e.style.bottom="20px",e.style.width="80%",e.style.backgroundColor="black",e.style.color="white",e.style.borderRadius="10px",e.style.padding="10px",e.style.fontFamily="sans-serif",e.style.textAlign="center",e.style.left="10%",e.style.zIndex=Number.MAX_SAFE_INTEGER.toString();let t=document.createElement("span");t.innerText=" (30)",e.append(t);let r=30;setInterval((function(){r--,r>=0&&(t.innerText=" ("+r.toString()+")")}),1e3),document.body.append(e)}case"gfx":{let e=document.createElement("div");e.innerHTML=yt,e.style.position="absolute",e.style.bottom="20px",e.style.width="250px",e.style.left="50%",e.style.marginLeft="-125px",e.style.zIndex=Number.MAX_SAFE_INTEGER.toString(),e.style.opacity="0",e.style.transition="opacity 0.5s",document.body.append(e),setTimeout((function(){e.style.opacity="1"}),500),setTimeout((function(){e.style.opacity="0"}),3e3),setTimeout((function(){e.remove()}),4e3)}}})),Bt=Object.assign(Object.assign({},i.impl),{loaded:()=>t,camera_default_device_id:e=>e?Xe.USER_DEFAULT_DEVICE_ID:Xe.DEFAULT_DEVICE_ID,camera_source_create:(e,t)=>function(e,t){let r=Je++;return P.preferMediaStreamTrackProcessorCamera&&"MediaStreamTrackProcessor"in window&&"MediaStreamTrackGenerator"in window?tt(r,new $e(r,e,t)):P.preferImageBitmapCamera&&"undefined"!=typeof OffscreenCanvas?tt(r,new Ke(r,e,t)):tt(r,new Xe(r,e,t)),me("camera_source_t initialized"),r}(e,t),camera_source_destroy:e=>{var t;return null===(t=rt(e))||void 0===t?void 0:t.destroy()},camera_source_pause:e=>{var t;return null===(t=rt(e))||void 0===t?void 0:t.pause()},camera_source_start:e=>{var t;return null===(t=rt(e))||void 0===t?void 0:t.start()},camera_count:()=>2,camera_id:e=>0===e?Xe.DEFAULT_DEVICE_ID:Xe.USER_DEFAULT_DEVICE_ID,camera_name:e=>0===e?"Rear-facing Camera":"User-facing Camera",camera_user_facing:e=>0!==e,pose_from_raw:(e,t)=>{let r=dt(void 0,e);if(t){let e=T();M(e,[-1,1,1]),x(r,e,r),x(r,r,e)}return r},pipeline_create:()=>lt.create(i.impl,j),pipeline_frame_update:e=>{var t;return null===(t=lt.get(e))||void 0===t?void 0:t.frameUpdate(i)},pipeline_camera_frame_draw_gl:(e,t,r,i)=>{var a;null===(a=lt.get(e))||void 0===a||a.cameraFrameDrawGL(t,r,i)},draw_plane:(e,t,r,i,a)=>{!function(e,t,r,i,a){let n=y(e),s=function(e){if(p)return p;if(p=e.createBuffer(),!p)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,p),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-.5,.125,0,-.5,-.125,0,.5,.125,0,.5,-.125,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),p}(e),o=g(e);e.disable(e.DEPTH_TEST),e.useProgram(n.prog),e.uniformMatrix4fv(n.unif_proj,!1,t),e.uniformMatrix4fv(n.unif_camera,!1,r),e.uniformMatrix4fv(n.unif_matrix,!1,i),e.bindBuffer(e.ARRAY_BUFFER,s),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,function(e,t){if(b[t])return b[t];let r=e.createTexture();if(!r)throw new Error("Unable to create texture");b[t]=r,e.bindTexture(e.TEXTURE_2D,r);const i=e.RGBA,a=e.RGBA,n=e.UNSIGNED_BYTE,s=new Uint8Array([0,0,255,255]);e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,1,1,0,a,n,s);const o=new Image;return o.onload=function(){e.bindTexture(e.TEXTURE_2D,r),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,a,n,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR)},o.src=t,r}(e,a)),e.uniform1i(n.unif_skinSampler,0),e.vertexAttribPointer(n.attr_position,3,e.FLOAT,!1,12,0),e.enableVertexAttribArray(n.attr_position),e.bindBuffer(e.ARRAY_BUFFER,o),e.vertexAttribPointer(n.attr_textureCoord,2,e.FLOAT,!1,8,0),e.enableVertexAttribArray(n.attr_textureCoord),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.disableVertexAttribArray(n.attr_position),e.disableVertexAttribArray(n.attr_textureCoord),e.bindBuffer(e.ARRAY_BUFFER,null)}(e,t,r,i,a)},pipeline_draw_face:(e,t,r,i,a)=>{var n;let s=ye(a);if(!s)return ge("attempting to call draw_face on a destroyed zappar_face_mesh_t"),new Uint16Array;null===(n=lt.get(e))||void 0===n||n.drawFace(t,r,i,s)},pipeline_draw_face_project:(e,t,r,i,a,n,s)=>{var o;null===(o=lt.get(e))||void 0===o||o.drawFaceProject(t,r,i,a,n,s)},pipeline_draw_image_target_preview:(e,t,r,i,a,n)=>{var s;let o=Dt.get(a);o?null===(s=lt.get(e))||void 0===s||s.drawImageTargetPreview(t,r,i,n,o):ge("image tracker not found")},projection_matrix_from_camera_model:N,projection_matrix_from_camera_model_ext:N,pipeline_process_gl:e=>{var t;return null===(t=lt.get(e))||void 0===t?void 0:t.processGL()},pipeline_gl_context_set:(e,t,r)=>{var i;return null===(i=lt.get(e))||void 0===i?void 0:i.glContextSet(t,r)},pipeline_gl_context_lost:e=>{var t;return null===(t=lt.get(e))||void 0===t?void 0:t.glContextLost()},pipeline_camera_frame_upload_gl:e=>{var t;return null===(t=lt.get(e))||void 0===t?void 0:t.uploadGL()},pipeline_camera_frame_texture_gl:e=>{var t;return null===(t=lt.get(e))||void 0===t?void 0:t.cameraFrameTexture()},pipeline_camera_frame_texture_matrix:(e,t,r,i)=>{var a;return(null===(a=lt.get(e))||void 0===a?void 0:a.cameraFrameTextureMatrix(t,r,i))||T()},pipeline_camera_frame_user_facing:e=>{var t;return(null===(t=lt.get(e))||void 0===t?void 0:t.cameraFrameUserFacing())||!1},pipeline_camera_pose_default:()=>T(),pipeline_camera_pose_with_attitude:(e,t)=>{var r;return(null===(r=lt.get(e))||void 0===r?void 0:r.cameraPoseWithAttitude(t))||T()},pipeline_camera_pose_with_origin:(e,t)=>{let r=T();return R(r,t),r},pipeline_sequence_record_clear:e=>{var t;return null===(t=lt.get(e))||void 0===t?void 0:t.sequenceRecordClear()},pipeline_sequence_record_start:(e,t)=>{var r;return null===(r=lt.get(e))||void 0===r?void 0:r.sequenceRecordStart(t)},pipeline_sequence_record_stop:e=>{var t;return null===(t=lt.get(e))||void 0===t?void 0:t.sequenceRecordStop()},pipeline_sequence_record_device_attitude_matrices_set:(e,t)=>{var r;return null===(r=lt.get(e))||void 0===r?void 0:r.sequenceRecordDeviceAttitudeMatrices(t)},pipeline_sequence_record_data:e=>{var t;return(null===(t=lt.get(e))||void 0===t?void 0:t.sequenceRecordData())||new Uint8Array(0)},pipeline_sequence_record_data_size:e=>{var t;return(null===(t=lt.get(e))||void 0===t?void 0:t.sequenceRecordData().byteLength)||0},pipeline_camera_frame_data_raw:e=>{var t;return(null===(t=lt.get(e))||void 0===t?void 0:t.getCameraFrameDataRaw())||Promise.reject()},pipeline_camera_frame_data_raw_enabled_set:(e,t)=>{var r;return null===(r=lt.get(e))||void 0===r?void 0:r.setCameraFrameDataRawEnabled(t)},instant_world_tracker_anchor_pose_camera_relative:(e,t)=>{let r=dt(void 0,i.impl.instant_world_tracker_anchor_pose_raw(e));if(t){let e=T();M(e,[-1,1,1]),x(r,e,r),x(r,r,e)}return r},instant_world_tracker_anchor_pose:(e,t,r)=>{let a=dt(void 0,i.impl.instant_world_tracker_anchor_pose_raw(e));if(r){let e=T();M(e,[-1,1,1]),x(a,e,a),x(a,a,e)}return x(a,t,a),a},instant_world_tracker_anchor_pose_set_from_camera_offset:(e,t,r,a,n)=>{let s=G(!1)*Math.PI/180,o=T();F(o,-s,[0,0,1]);let _=L();C(_,[t,r,a],o),i.impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(e,_[0],_[1],_[2],n)},image_tracker_create:e=>Dt.create(e,i.impl),image_tracker_destroy:e=>{var t;return null===(t=Dt.get(e))||void 0===t?void 0:t.destroy()},image_tracker_target_type:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).type:(ge("attempting to call image_tracker_target_type on a destroyed zappar_image_tracker_t"),o.IMAGE_TRACKER_TYPE_PLANAR)},image_tracker_target_count:e=>{let t=Dt.get(e);return t?t.targetCount():(ge("attempting to call image_tracker_target_count on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_load_from_memory:(e,t)=>{let r=Dt.get(e);if(!r)return ge("attempting to call image_tracker_target_load_from_memory on a destroyed zappar_image_tracker_t"),0;r.loadFromMemory(t)},image_tracker_target_preview_compressed:(e,t)=>{var r;let i=Dt.get(e);return i?(null===(r=i.getTargetInfo(t).preview)||void 0===r?void 0:r.compressed)||new Uint8Array(0):(ge("attempting to call image_tracker_target_preview_compressed on a destroyed zappar_image_tracker_t"),new Uint8Array(0))},image_tracker_target_preview_compressed_mimetype:(e,t)=>{var r;let i=Dt.get(e);return i?(null===(r=i.getTargetInfo(t).preview)||void 0===r?void 0:r.mimeType)||"":(ge("attempting to call image_tracker_target_preview_compressed_mimetype on a destroyed zappar_image_tracker_t"),"")},image_tracker_target_preview_compressed_size:(e,t)=>{var r,i;let a=Dt.get(e);return a?(null===(i=null===(r=a.getTargetInfo(t).preview)||void 0===r?void 0:r.compressed)||void 0===i?void 0:i.byteLength)||0:(ge("attempting to call image_tracker_target_preview_compressed_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_physical_scale_factor:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).physicalScaleFactor:(ge("attempting to call image_tracker_target_physical_scale_factor on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_radius_top:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).topRadius:(ge("attempting to call image_tracker_target_radius_top on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_radius_bottom:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).bottomRadius:(ge("attempting to call image_tracker_target_radius_bottom on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_side_length:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).sideLength:(ge("attempting to call image_tracker_target_side_length on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_image:(e,t)=>{let r=Dt.get(e);return r?r.getDecodedPreview(t):(ge("attempting to call image_tracker_target_image on a destroyed zappar_image_tracker_t"),new Image)},image_tracker_anchor_pose_camera_relative:(e,t,r)=>{let a=dt(void 0,i.impl.image_tracker_anchor_pose_raw(e,t));if(r){let e=T();M(e,[-1,1,1]),x(a,e,a),x(a,a,e)}return a},image_tracker_anchor_pose:(e,t,r,a)=>{let n=dt(void 0,i.impl.image_tracker_anchor_pose_raw(e,t));if(a){let e=T();M(e,[-1,1,1]),x(n,e,n),x(n,n,e)}return x(n,r,n),n},image_tracker_target_preview_mesh_indices:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).indices:(ge("attempting to call image_tracker_target_preview_mesh_indices on a destroyed zappar_image_tracker_t"),new Uint16Array)},image_tracker_target_preview_mesh_vertices:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).vertices:(ge("attempting to call image_tracker_target_preview_mesh_vertices on a destroyed zappar_image_tracker_t"),new Float32Array)},image_tracker_target_preview_mesh_uvs:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).uvs:(ge("attempting to call image_tracker_target_preview_mesh_uvs on a destroyed zappar_image_tracker_t"),new Float32Array)},image_tracker_target_preview_mesh_normals:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).normals:(ge("attempting to call image_tracker_target_preview_mesh_normals on a destroyed zappar_image_tracker_t"),new Float32Array)},image_tracker_target_preview_mesh_indices_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).indices.length:(ge("attempting to call image_tracker_target_preview_mesh_indices_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_preview_mesh_vertices_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).vertices.length:(ge("attempting to call image_tracker_target_preview_mesh_vertices_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_preview_mesh_uvs_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).uvs.length:(ge("attempting to call image_tracker_target_preview_mesh_uvs_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_preview_mesh_normals_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).normals.length:(ge("attempting to call image_tracker_target_preview_mesh_normals_size on a destroyed zappar_image_tracker_t"),0)},face_tracker_anchor_pose_camera_relative:(e,t,r)=>{let a=dt(void 0,i.impl.face_tracker_anchor_pose_raw(e,t));if(r){let e=T();M(e,[-1,1,1]),x(a,e,a),x(a,a,e)}return a},face_tracker_anchor_pose:(e,t,r,a)=>{let n=dt(void 0,i.impl.face_tracker_anchor_pose_raw(e,t));if(a){let e=T();M(e,[-1,1,1]),x(n,e,n),x(n,n,e)}return x(n,r,n),n},face_tracker_model_load_default:e=>Ot(this,void 0,void 0,(function*(){yield function(e){return Ot(this,void 0,void 0,(function*(){let t=new URL(r(367),r.b),i=yield fetch(t.toString()),a=yield i.arrayBuffer();null==Bt||Bt.face_tracker_model_load_from_memory(e,a)}))}(e)})),face_mesh_create:()=>function(){let e=we++;return ve.set(e,new Ee),me("face_mesh_t initialized"),e}(),face_mesh_destroy:e=>{!function(e){ve.delete(e)}(e)},face_mesh_indices:e=>{let t=ye(e);return t?t.getIndices():(ge("attempting to call face_mesh_indices on a destroyed zappar_face_mesh_t"),new Uint16Array)},face_mesh_indices_size:e=>{let t=ye(e);return t?t.getIndices().length:(ge("attempting to call face_mesh_indices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_uvs:e=>{let t=ye(e);return t?t.getUVs():(ge("attempting to call face_mesh_uvs on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_uvs_size:e=>{let t=ye(e);return t?t.getUVs().length:(ge("attempting to call face_mesh_uvs_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_vertices:e=>{let t=ye(e);return t?t.getVertices():(ge("attempting to call face_mesh_vertices on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_vertices_size:e=>{let t=ye(e);return t?t.getVertices().length:(ge("attempting to call face_mesh_vertices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_normals:e=>{let t=ye(e);return t?t.getNormals():(ge("attempting to call face_mesh_normals on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_normals_size:e=>{let t=ye(e);return t?t.getNormals().length:(ge("attempting to call face_mesh_normals_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_load_from_memory:(e,t,r,i,a,n)=>{let s=ye(e);s?s.loadFromMemory(t,r,i,a,n):ge("attempting to call face_mesh_load_from_memory on a destroyed zappar_face_mesh_t")},face_mesh_update:(e,t,r,i)=>{let a=ye(e);a?a.update(t,r,i):ge("attempting to call face_mesh_update on a destroyed zappar_face_mesh_t")},face_mesh_load_default:e=>Ot(this,void 0,void 0,(function*(){let t=ye(e);if(!t)return void ge("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t");let i=new URL(r(698),r.b),a=yield fetch(i.toString());t.loadFromMemory(yield a.arrayBuffer(),!1,!1,!1,!1)})),face_mesh_load_default_face:(e,t,i,a)=>Ot(this,void 0,void 0,(function*(){let n=ye(e);if(!n)return void ge("attempting to call face_mesh_load_default_face on a destroyed zappar_face_mesh_t");let s=new URL(r(698),r.b),o=yield fetch(s.toString());n.loadFromMemory(yield o.arrayBuffer(),t,i,a,!1)})),face_mesh_load_default_full_head_simplified:(e,t,i,a,n)=>Ot(this,void 0,void 0,(function*(){let s=ye(e);if(!s)return void ge("attempting to call face_mesh_load_default_full_head_simplified on a destroyed zappar_face_mesh_t");let o=new URL(r(825),r.b),_=yield fetch(o.toString());s.loadFromMemory(yield _.arrayBuffer(),t,i,a,n)})),face_mesh_loaded_version:e=>{let t=ye(e);return t?t.getModelVersion():(ge("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t"),-1)},face_landmark_create:e=>function(e){let t=ht++;return ft.set(t,new mt(e)),me("face_landmark_t initialized"),t}(e),face_landmark_destroy:e=>{!function(e){ft.delete(e)}(e)},face_landmark_update:(e,t,r,i)=>{let a=pt(e);a?a.update(t,r,i):ge("attempting to call face_landmark_update on a destroyed zappar_face_landmark_t")},face_landmark_anchor_pose:e=>{let t=pt(e);return t?t.anchor_pose:(ge("attempting to call face_landmark_anchor_pose on a destroyed zappar_face_landmark_t"),T())},world_tracker_plane_pose_camera_relative:(e,t,r)=>{let a=dt(void 0,i.impl.world_tracker_plane_pose_raw(e,t));if(r){let e=T();M(e,[-1,1,1]),x(a,e,a),x(a,a,e)}return a},world_tracker_plane_pose:(e,t,r,a)=>{let n=dt(void 0,i.impl.world_tracker_plane_pose_raw(e,t));if(a){let e=T();M(e,[-1,1,1]),x(n,e,n),x(n,n,e)}return x(n,r,n),n},world_tracker_world_anchor_pose:(e,t,r)=>{let a=dt(void 0,i.impl.world_tracker_world_anchor_pose_raw(e));if(r){let e=T();M(e,[-1,1,1]),x(a,e,a),x(a,a,e)}return x(a,t,a),a},world_tracker_world_anchor_pose_camera_relative:(e,t)=>{let r=dt(void 0,i.impl.world_tracker_world_anchor_pose_raw(e));if(t){let e=T();M(e,[-1,1,1]),x(r,e,r),x(r,r,e)}return r},world_tracker_ground_anchor_pose:(e,t,r)=>{let a=dt(void 0,i.impl.world_tracker_ground_anchor_pose_raw(e));if(r){let e=T();M(e,[-1,1,1]),x(a,e,a),x(a,a,e)}return x(a,t,a),a},world_tracker_ground_anchor_pose_camera_relative:(e,t)=>{let r=dt(void 0,i.impl.world_tracker_ground_anchor_pose_raw(e));if(t){let e=T();M(e,[-1,1,1]),x(r,e,r),x(r,r,e)}return r},html_element_source_create:(e,t)=>He.createVideoElementSource(e,t),html_element_source_start:e=>{var t;return null===(t=He.getVideoElementSource(e))||void 0===t?void 0:t.start()},html_element_source_pause:e=>{var t;return null===(t=He.getVideoElementSource(e))||void 0===t?void 0:t.pause()},html_element_source_destroy:e=>{var t;return null===(t=He.getVideoElementSource(e))||void 0===t?void 0:t.destroy()},sequence_source_create:e=>vt.create(e),sequence_source_load_from_memory:(e,t)=>{var r;return null===(r=vt.get(e))||void 0===r?void 0:r.loadFromMemory(t)},sequence_source_pause:e=>{var t;return null===(t=vt.get(e))||void 0===t?void 0:t.pause()},sequence_source_start:e=>{var t;return null===(t=vt.get(e))||void 0===t?void 0:t.start()},sequence_source_max_playback_fps_set:(e,t)=>{var r;return null===(r=vt.get(e))||void 0===r?void 0:r.maxPlaybackFpsSet(t)},sequence_source_time_set:(e,t)=>{var r;return null===(r=vt.get(e))||void 0===r?void 0:r.setTime(t)},sequence_source_destroy:e=>{var t;return null===(t=vt.get(e))||void 0===t?void 0:t.destroy()},permission_granted_all:ce,permission_granted_camera:ae,permission_granted_motion:ne,permission_denied_any:_e,permission_denied_camera:se,permission_denied_motion:oe,permission_request_motion:ue,permission_request_camera:de,permission_request_all:le,permission_request_ui:he,permission_request_ui_promise:he,permission_denied_ui:fe,browser_incompatible:bt.incompatible,browser_incompatible_ui:bt.incompatible_ui,log_level_set:e=>{!function(e){pe=e}(e),i.impl.log_level_set(e)},cookies_permitted:e=>{var t;e?n||(t=a,window.localStorage.setItem("z_uar_lid",t),n=!0):window.localStorage.removeItem("z_uar_lid")}}),Bt}const Vt="3.0.0-beta.7";function Nt(e){return function(e){return console.log(`Zappar CV v${Vt}`),zt(e)}(Object.assign(Object.assign({},e),{worker:(null==e?void 0:e.worker)||new(r(276).Z)}))}})(),i})()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ZCV=t():e.ZCV=t()}(self,(()=>(()=>{var e={238:function(e,t,r){var i;!function(a,n){"use strict";var o="function",s="undefined",_="object",c="string",l="model",d="name",h="type",u="vendor",f="version",p="architecture",m="console",b="mobile",v="tablet",g="smarttv",E="wearable",w="embedded",y="Amazon",A="Apple",T="ASUS",R="BlackBerry",x="Browser",k="Chrome",S="Firefox",I="Google",N="Huawei",L="LG",F="Microsoft",M="Motorola",z="Opera",P="Samsung",j="Sharp",C="Sony",B="Xiaomi",U="Zebra",D="Facebook",O=function(e){for(var t={},r=0;r<e.length;r++)t[e[r].toUpperCase()]=e[r];return t},V=function(e,t){return typeof e===c&&-1!==G(t).indexOf(G(e))},G=function(e){return e.toLowerCase()},K=function(e,t){if(typeof e===c)return e=e.replace(/^\s\s*/,""),typeof t===s?e:e.substring(0,350)},Z=function(e,t){for(var r,i,a,s,c,l,d=0;d<t.length&&!c;){var h=t[d],u=t[d+1];for(r=i=0;r<h.length&&!c;)if(c=h[r++].exec(e))for(a=0;a<u.length;a++)l=c[++i],typeof(s=u[a])===_&&s.length>0?2===s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3===s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):n:this[s[0]]=l?s[1].call(this,l,s[2]):n:4===s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):n):this[s]=l||n;d+=2}},W=function(e,t){for(var r in t)if(typeof t[r]===_&&t[r].length>0){for(var i=0;i<t[r].length;i++)if(V(t[r][i],e))return"?"===r?n:r}else if(V(t[r],e))return"?"===r?n:r;return e},H={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},Y={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[f,[d,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[f,[d,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[d,f],[/opios[\/ ]+([\w\.]+)/i],[f,[d,z+" Mini"]],[/\bopr\/([\w\.]+)/i],[f,[d,z]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[d,f],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[f,[d,"UC"+x]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[f,[d,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[f,[d,"WeChat"]],[/konqueror\/([\w\.]+)/i],[f,[d,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[f,[d,"IE"]],[/yabrowser\/([\w\.]+)/i],[f,[d,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[d,/(.+)/,"$1 Secure "+x],f],[/\bfocus\/([\w\.]+)/i],[f,[d,S+" Focus"]],[/\bopt\/([\w\.]+)/i],[f,[d,z+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[f,[d,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[f,[d,"Dolphin"]],[/coast\/([\w\.]+)/i],[f,[d,z+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[f,[d,"MIUI "+x]],[/fxios\/([-\w\.]+)/i],[f,[d,S]],[/\bqihu|(qi?ho?o?|360)browser/i],[[d,"360 "+x]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[d,/(.+)/,"$1 "+x],f],[/(comodo_dragon)\/([\w\.]+)/i],[[d,/_/g," "],f],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[d,f],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[d],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[d,D],f],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[d,f],[/\bgsa\/([\w\.]+) .*safari\//i],[f,[d,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[f,[d,k+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[d,k+" WebView"],f],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[f,[d,"Android "+x]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[d,f],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[f,[d,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[f,d],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[d,[f,W,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[d,f],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[d,"Netscape"],f],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[f,[d,S+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[d,f],[/(cobalt)\/([\w\.]+)/i],[d,[f,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[p,"amd64"]],[/(ia32(?=;))/i],[[p,G]],[/((?:i[346]|x)86)[;\)]/i],[[p,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[p,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[p,"armhf"]],[/windows (ce|mobile); ppc;/i],[[p,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[p,/ower/,"",G]],[/(sun4\w)[;\)]/i],[[p,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[p,G]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[u,P],[h,v]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[l,[u,P],[h,b]],[/\((ip(?:hone|od)[\w ]*);/i],[l,[u,A],[h,b]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[l,[u,A],[h,v]],[/(macintosh);/i],[l,[u,A]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[l,[u,N],[h,v]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[l,[u,N],[h,b]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[l,/_/g," "],[u,B],[h,b]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[l,/_/g," "],[u,B],[h,v]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[l,[u,"OPPO"],[h,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[l,[u,"Vivo"],[h,b]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[l,[u,"Realme"],[h,b]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[l,[u,M],[h,b]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[l,[u,M],[h,v]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[u,L],[h,v]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[l,[u,L],[h,b]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[l,[u,"Lenovo"],[h,v]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[l,/_/g," "],[u,"Nokia"],[h,b]],[/(pixel c)\b/i],[l,[u,I],[h,v]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[l,[u,I],[h,b]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[l,[u,C],[h,b]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[l,"Xperia Tablet"],[u,C],[h,v]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[l,[u,"OnePlus"],[h,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[l,[u,y],[h,v]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[l,/(.+)/g,"Fire Phone $1"],[u,y],[h,b]],[/(playbook);[-\w\),; ]+(rim)/i],[l,u,[h,v]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[l,[u,R],[h,b]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[l,[u,T],[h,v]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[l,[u,T],[h,b]],[/(nexus 9)/i],[l,[u,"HTC"],[h,v]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\w]*)/i],[u,[l,/_/g," "],[h,b]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[l,[u,"Acer"],[h,v]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[l,[u,"Meizu"],[h,b]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[l,[u,j],[h,b]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[u,l,[h,b]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[u,l,[h,v]],[/(surface duo)/i],[l,[u,F],[h,v]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[l,[u,"Fairphone"],[h,b]],[/(u304aa)/i],[l,[u,"AT&T"],[h,b]],[/\bsie-(\w*)/i],[l,[u,"Siemens"],[h,b]],[/\b(rct\w+) b/i],[l,[u,"RCA"],[h,v]],[/\b(venue[\d ]{2,7}) b/i],[l,[u,"Dell"],[h,v]],[/\b(q(?:mv|ta)\w+) b/i],[l,[u,"Verizon"],[h,v]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[l,[u,"Barnes & Noble"],[h,v]],[/\b(tm\d{3}\w+) b/i],[l,[u,"NuVision"],[h,v]],[/\b(k88) b/i],[l,[u,"ZTE"],[h,v]],[/\b(nx\d{3}j) b/i],[l,[u,"ZTE"],[h,b]],[/\b(gen\d{3}) b.+49h/i],[l,[u,"Swiss"],[h,b]],[/\b(zur\d{3}) b/i],[l,[u,"Swiss"],[h,v]],[/\b((zeki)?tb.*\b) b/i],[l,[u,"Zeki"],[h,v]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[u,"Dragon Touch"],l,[h,v]],[/\b(ns-?\w{0,9}) b/i],[l,[u,"Insignia"],[h,v]],[/\b((nxa|next)-?\w{0,9}) b/i],[l,[u,"NextBook"],[h,v]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[u,"Voice"],l,[h,b]],[/\b(lvtel\-)?(v1[12]) b/i],[[u,"LvTel"],l,[h,b]],[/\b(ph-1) /i],[l,[u,"Essential"],[h,b]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[l,[u,"Envizen"],[h,v]],[/\b(trio[-\w\. ]+) b/i],[l,[u,"MachSpeed"],[h,v]],[/\btu_(1491) b/i],[l,[u,"Rotor"],[h,v]],[/(shield[\w ]+) b/i],[l,[u,"Nvidia"],[h,v]],[/(sprint) (\w+)/i],[u,l,[h,b]],[/(kin\.[onetw]{3})/i],[[l,/\./g," "],[u,F],[h,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[l,[u,U],[h,v]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[l,[u,U],[h,b]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[u,l,[h,m]],[/droid.+; (shield) bui/i],[l,[u,"Nvidia"],[h,m]],[/(playstation [345portablevi]+)/i],[l,[u,C],[h,m]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[l,[u,F],[h,m]],[/smart-tv.+(samsung)/i],[u,[h,g]],[/hbbtv.+maple;(\d+)/i],[[l,/^/,"SmartTV"],[u,P],[h,g]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[u,L],[h,g]],[/(apple) ?tv/i],[u,[l,A+" TV"],[h,g]],[/crkey/i],[[l,k+"cast"],[u,I],[h,g]],[/droid.+aft(\w)( bui|\))/i],[l,[u,y],[h,g]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[l,[u,j],[h,g]],[/(bravia[\w ]+)( bui|\))/i],[l,[u,C],[h,g]],[/(mitv-\w{5}) bui/i],[l,[u,B],[h,g]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[u,K],[l,K],[h,g]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[h,g]],[/((pebble))app/i],[u,l,[h,E]],[/droid.+; (glass) \d/i],[l,[u,I],[h,E]],[/droid.+; (wt63?0{2,3})\)/i],[l,[u,U],[h,E]],[/(quest( 2)?)/i],[l,[u,D],[h,E]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[u,[h,w]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[l,[h,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[l,[h,v]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[h,v]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[h,b]],[/(android[-\w\. ]{0,9});.+buil/i],[l,[u,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[f,[d,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[f,[d,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[d,f],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[f,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,f],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[d,[f,W,H]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[d,"Windows"],[f,W,H]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[f,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[d,"Mac OS"],[f,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[f,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[d,f],[/\(bb(10);/i],[f,[d,R]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[f,[d,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[f,[d,S+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[f,[d,"webOS"]],[/crkey\/([\d\.]+)/i],[f,[d,k+"cast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[d,"Chromium OS"],f],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[d,f],[/(sunos) ?([\w\.\d]*)/i],[[d,"Solaris"],f],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[d,f]]},X=function(e,t){if(typeof e===_&&(t=e,e=n),!(this instanceof X))return new X(e,t).getResult();var r=e||(typeof a!==s&&a.navigator&&a.navigator.userAgent?a.navigator.userAgent:""),i=t?function(e,t){var r={};for(var i in e)t[i]&&t[i].length%2==0?r[i]=t[i].concat(e[i]):r[i]=e[i];return r}(Y,t):Y;return this.getBrowser=function(){var e,t={};return t[d]=n,t[f]=n,Z.call(t,r,i.browser),t.major=typeof(e=t.version)===c?e.replace(/[^\d\.]/g,"").split(".")[0]:n,t},this.getCPU=function(){var e={};return e[p]=n,Z.call(e,r,i.cpu),e},this.getDevice=function(){var e={};return e[u]=n,e[l]=n,e[h]=n,Z.call(e,r,i.device),e},this.getEngine=function(){var e={};return e[d]=n,e[f]=n,Z.call(e,r,i.engine),e},this.getOS=function(){var e={};return e[d]=n,e[f]=n,Z.call(e,r,i.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===c&&e.length>350?K(e,350):e,this},this.setUA(r),this};X.VERSION="1.0.33",X.BROWSER=O([d,f,"major"]),X.CPU=O([p]),X.DEVICE=O([l,u,h,m,b,g,v,E,w]),X.ENGINE=X.OS=O([d,f]),typeof t!==s?(e.exports&&(t=e.exports=X),t.UAParser=X):r.amdO?(i=function(){return X}.call(t,r,t,e))===n||(e.exports=i):typeof a!==s&&(a.UAParser=X);var q=typeof a!==s&&(a.jQuery||a.Zepto);if(q&&!q.ua){var J=new X;q.ua=J.getResult(),q.ua.get=function(){return J.getUA()},q.ua.set=function(e){J.setUA(e);var t=J.getResult();for(var r in t)q.ua[r]=t[r]}}}("object"==typeof window?window:this)},276:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});var i=r(477),a=r.n(i);function n(){return a()('(()=>{var e={238:function(e,r,t){var a;!function(i,_){"use strict";var n="function",o="undefined",s="object",c="string",l="model",d="name",h="type",u="vendor",f="version",p="architecture",b="console",m="mobile",E="tablet",v="smarttv",w="wearable",g="embedded",y="Amazon",N="Apple",k="ASUS",S="BlackBerry",j="Browser",z="Chrome",I="Firefox",R="Google",A="Huawei",x="LG",L="Microsoft",T="Motorola",P="Opera",F="Samsung",M="Sharp",K="Sony",O="Xiaomi",C="Zebra",D="Facebook",B=function(e){for(var r={},t=0;t<e.length;t++)r[e[t].toUpperCase()]=e[t];return r},U=function(e,r){return typeof e===c&&-1!==Z(r).indexOf(Z(e))},Z=function(e){return e.toLowerCase()},V=function(e,r){if(typeof e===c)return e=e.replace(/^\\s\\s*/,""),typeof r===o?e:e.substring(0,350)},G=function(e,r){for(var t,a,i,o,c,l,d=0;d<r.length&&!c;){var h=r[d],u=r[d+1];for(t=a=0;t<h.length&&!c;)if(c=h[t++].exec(e))for(i=0;i<u.length;i++)l=c[++a],typeof(o=u[i])===s&&o.length>0?2===o.length?typeof o[1]==n?this[o[0]]=o[1].call(this,l):this[o[0]]=o[1]:3===o.length?typeof o[1]!==n||o[1].exec&&o[1].test?this[o[0]]=l?l.replace(o[1],o[2]):_:this[o[0]]=l?o[1].call(this,l,o[2]):_:4===o.length&&(this[o[0]]=l?o[3].call(this,l.replace(o[1],o[2])):_):this[o]=l||_;d+=2}},H=function(e,r){for(var t in r)if(typeof r[t]===s&&r[t].length>0){for(var a=0;a<r[t].length;a++)if(U(r[t][a],e))return"?"===t?_:t}else if(U(r[t],e))return"?"===t?_:t;return e},W={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},X={browser:[[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],[f,[d,"Chrome"]],[/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],[f,[d,"Edge"]],[/(opera mini)\\/([-\\w\\.]+)/i,/(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,/(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i],[d,f],[/opios[\\/ ]+([\\w\\.]+)/i],[f,[d,P+" Mini"]],[/\\bopr\\/([\\w\\.]+)/i],[f,[d,P]],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,/(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,/(?:ms|\\()(ie) ([\\w\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,/(weibo)__([\\d\\.]+)/i],[d,f],[/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],[f,[d,"UC"+j]],[/microm.+\\bqbcore\\/([\\w\\.]+)/i,/\\bqbcore\\/([\\w\\.]+).+microm/i],[f,[d,"WeChat(Win) Desktop"]],[/micromessenger\\/([\\w\\.]+)/i],[f,[d,"WeChat"]],[/konqueror\\/([\\w\\.]+)/i],[f,[d,"Konqueror"]],[/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],[f,[d,"IE"]],[/yabrowser\\/([\\w\\.]+)/i],[f,[d,"Yandex"]],[/(avast|avg)\\/([\\w\\.]+)/i],[[d,/(.+)/,"$1 Secure "+j],f],[/\\bfocus\\/([\\w\\.]+)/i],[f,[d,I+" Focus"]],[/\\bopt\\/([\\w\\.]+)/i],[f,[d,P+" Touch"]],[/coc_coc\\w+\\/([\\w\\.]+)/i],[f,[d,"Coc Coc"]],[/dolfin\\/([\\w\\.]+)/i],[f,[d,"Dolphin"]],[/coast\\/([\\w\\.]+)/i],[f,[d,P+" Coast"]],[/miuibrowser\\/([\\w\\.]+)/i],[f,[d,"MIUI "+j]],[/fxios\\/([-\\w\\.]+)/i],[f,[d,I]],[/\\bqihu|(qi?ho?o?|360)browser/i],[[d,"360 "+j]],[/(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i],[[d,/(.+)/,"$1 "+j],f],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[d,/_/g," "],f],[/(electron)\\/([\\w\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i],[d,f],[/(metasr)[\\/ ]?([\\w\\.]+)/i,/(lbbrowser)/i,/\\[(linkedin)app\\]/i],[d],[/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],[[d,D],f],[/safari (line)\\/([\\w\\.]+)/i,/\\b(line)\\/([\\w\\.]+)\\/iab/i,/(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],[d,f],[/\\bgsa\\/([\\w\\.]+) .*safari\\//i],[f,[d,"GSA"]],[/headlesschrome(?:\\/([\\w\\.]+)| )/i],[f,[d,z+" Headless"]],[/ wv\\).+(chrome)\\/([\\w\\.]+)/i],[[d,z+" WebView"],f],[/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],[f,[d,"Android "+j]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],[d,f],[/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i],[f,[d,"Mobile Safari"]],[/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i],[f,d],[/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],[d,[f,H,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\\/([\\w\\.]+)/i],[d,f],[/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],[[d,"Netscape"],f],[/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],[f,[d,I+" Reality"]],[/ekiohf.+(flow)\\/([\\w\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,/(firefox)\\/([\\w\\.]+)/i,/(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,/(links) \\(([\\w\\.]+)/i],[d,f],[/(cobalt)\\/([\\w\\.]+)/i],[d,[f,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],[[p,"amd64"]],[/(ia32(?=;))/i],[[p,Z]],[/((?:i[346]|x)86)[;\\)]/i],[[p,"ia32"]],[/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],[[p,"arm64"]],[/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],[[p,"armhf"]],[/windows (ce|mobile); ppc;/i],[[p,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],[[p,/ower/,"",Z]],[/(sun4\\w)[;\\)]/i],[[p,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i],[[p,Z]]],device:[[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[u,F],[h,E]],[/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,/samsung[- ]([-\\w]+)/i,/sec-(sgh\\w+)/i],[l,[u,F],[h,m]],[/\\((ip(?:hone|od)[\\w ]*);/i],[l,[u,N],[h,m]],[/\\((ipad);[-\\w\\),; ]+apple/i,/applecoremedia\\/[\\w\\.]+ \\((ipad)/i,/\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],[l,[u,N],[h,E]],[/(macintosh);/i],[l,[u,N]],[/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],[l,[u,A],[h,E]],[/(?:huawei|honor)([-\\w ]+)[;\\)]/i,/\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i],[l,[u,A],[h,m]],[/\\b(poco[\\w ]+)(?: bui|\\))/i,/\\b; (\\w+) build\\/hm\\1/i,/\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,/\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,/\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i],[[l,/_/g," "],[u,O],[h,m]],[/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],[[l,/_/g," "],[u,O],[h,E]],[/; (\\w+) bui.+ oppo/i,/\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],[l,[u,"OPPO"],[h,m]],[/vivo (\\w+)(?: bui|\\))/i,/\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],[l,[u,"Vivo"],[h,m]],[/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],[l,[u,"Realme"],[h,m]],[/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,/\\bmot(?:orola)?[- ](\\w*)/i,/((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i],[l,[u,T],[h,m]],[/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],[l,[u,T],[h,E]],[/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[u,x],[h,E]],[/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,/\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,/\\blg-?([\\d\\w]+) bui/i],[l,[u,x],[h,m]],[/(ideatab[-\\w ]+)/i,/lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],[l,[u,"Lenovo"],[h,E]],[/(?:maemo|nokia).*(n900|lumia \\d+)/i,/nokia[-_ ]?([-\\w\\.]*)/i],[[l,/_/g," "],[u,"Nokia"],[h,m]],[/(pixel c)\\b/i],[l,[u,R],[h,E]],[/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],[l,[u,R],[h,m]],[/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],[l,[u,K],[h,m]],[/sony tablet [ps]/i,/\\b(?:sony)?sgp\\w+(?: bui|\\))/i],[[l,"Xperia Tablet"],[u,K],[h,E]],[/ (kb2005|in20[12]5|be20[12][59])\\b/i,/(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],[l,[u,"OnePlus"],[h,m]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\\))/i,/(kf[a-z]+)( bui|\\)).+silk\\//i],[l,[u,y],[h,E]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],[[l,/(.+)/g,"Fire Phone $1"],[u,y],[h,m]],[/(playbook);[-\\w\\),; ]+(rim)/i],[l,u,[h,E]],[/\\b((?:bb[a-f]|st[hv])100-\\d)/i,/\\(bb10; (\\w+)/i],[l,[u,S],[h,m]],[/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],[l,[u,k],[h,E]],[/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],[l,[u,k],[h,m]],[/(nexus 9)/i],[l,[u,"HTC"],[h,E]],[/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,/(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\\w]*)/i],[u,[l,/_/g," "],[h,m]],[/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],[l,[u,"Acer"],[h,E]],[/droid.+; (m[1-5] note) bui/i,/\\bmz-([-\\w]{2,})/i],[l,[u,"Meizu"],[h,m]],[/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],[l,[u,M],[h,m]],[/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,/(hp) ([\\w ]+\\w)/i,/(asus)-?(\\w+)/i,/(microsoft); (lumia[\\w ]+)/i,/(lenovo)[-_ ]?([-\\w]+)/i,/(jolla)/i,/(oppo) ?([\\w ]+) bui/i],[u,l,[h,m]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/(nook)[\\w ]+build\\/(\\w+)/i,/(dell) (strea[kpr\\d ]*[\\dko])/i,/(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,/(trinity)[- ]*(t\\d{3}) bui/i,/(gigaset)[- ]+(q\\w{1,9}) bui/i,/(vodafone) ([\\w ]+)(?:\\)| bui)/i],[u,l,[h,E]],[/(surface duo)/i],[l,[u,L],[h,E]],[/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],[l,[u,"Fairphone"],[h,m]],[/(u304aa)/i],[l,[u,"AT&T"],[h,m]],[/\\bsie-(\\w*)/i],[l,[u,"Siemens"],[h,m]],[/\\b(rct\\w+) b/i],[l,[u,"RCA"],[h,E]],[/\\b(venue[\\d ]{2,7}) b/i],[l,[u,"Dell"],[h,E]],[/\\b(q(?:mv|ta)\\w+) b/i],[l,[u,"Verizon"],[h,E]],[/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],[l,[u,"Barnes & Noble"],[h,E]],[/\\b(tm\\d{3}\\w+) b/i],[l,[u,"NuVision"],[h,E]],[/\\b(k88) b/i],[l,[u,"ZTE"],[h,E]],[/\\b(nx\\d{3}j) b/i],[l,[u,"ZTE"],[h,m]],[/\\b(gen\\d{3}) b.+49h/i],[l,[u,"Swiss"],[h,m]],[/\\b(zur\\d{3}) b/i],[l,[u,"Swiss"],[h,E]],[/\\b((zeki)?tb.*\\b) b/i],[l,[u,"Zeki"],[h,E]],[/\\b([yr]\\d{2}) b/i,/\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],[[u,"Dragon Touch"],l,[h,E]],[/\\b(ns-?\\w{0,9}) b/i],[l,[u,"Insignia"],[h,E]],[/\\b((nxa|next)-?\\w{0,9}) b/i],[l,[u,"NextBook"],[h,E]],[/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[u,"Voice"],l,[h,m]],[/\\b(lvtel\\-)?(v1[12]) b/i],[[u,"LvTel"],l,[h,m]],[/\\b(ph-1) /i],[l,[u,"Essential"],[h,m]],[/\\b(v(100md|700na|7011|917g).*\\b) b/i],[l,[u,"Envizen"],[h,E]],[/\\b(trio[-\\w\\. ]+) b/i],[l,[u,"MachSpeed"],[h,E]],[/\\btu_(1491) b/i],[l,[u,"Rotor"],[h,E]],[/(shield[\\w ]+) b/i],[l,[u,"Nvidia"],[h,E]],[/(sprint) (\\w+)/i],[u,l,[h,m]],[/(kin\\.[onetw]{3})/i],[[l,/\\./g," "],[u,L],[h,m]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],[l,[u,C],[h,E]],[/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],[l,[u,C],[h,m]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[u,l,[h,b]],[/droid.+; (shield) bui/i],[l,[u,"Nvidia"],[h,b]],[/(playstation [345portablevi]+)/i],[l,[u,K],[h,b]],[/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],[l,[u,L],[h,b]],[/smart-tv.+(samsung)/i],[u,[h,v]],[/hbbtv.+maple;(\\d+)/i],[[l,/^/,"SmartTV"],[u,F],[h,v]],[/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],[[u,x],[h,v]],[/(apple) ?tv/i],[u,[l,N+" TV"],[h,v]],[/crkey/i],[[l,z+"cast"],[u,R],[h,v]],[/droid.+aft(\\w)( bui|\\))/i],[l,[u,y],[h,v]],[/\\(dtv[\\);].+(aquos)/i,/(aquos-tv[\\w ]+)\\)/i],[l,[u,M],[h,v]],[/(bravia[\\w ]+)( bui|\\))/i],[l,[u,K],[h,v]],[/(mitv-\\w{5}) bui/i],[l,[u,O],[h,v]],[/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,/hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i],[[u,V],[l,V],[h,v]],[/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],[[h,v]],[/((pebble))app/i],[u,l,[h,w]],[/droid.+; (glass) \\d/i],[l,[u,R],[h,w]],[/droid.+; (wt63?0{2,3})\\)/i],[l,[u,C],[h,w]],[/(quest( 2)?)/i],[l,[u,D],[h,w]],[/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],[u,[h,g]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],[l,[h,m]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],[l,[h,E]],[/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],[[h,E]],[/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i],[[h,m]],[/(android[-\\w\\. ]{0,9});.+buil/i],[l,[u,"Generic"]]],engine:[[/windows.+ edge\\/([\\w\\.]+)/i],[f,[d,"EdgeHTML"]],[/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],[f,[d,"Blink"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,/ekioh(flow)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,/(icab)[\\/ ]([23]\\.[\\d\\.]+)/i],[d,f],[/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],[f,d]],os:[[/microsoft (windows) (vista|xp)/i],[d,f],[/(windows) nt 6\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,/(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i],[d,[f,H,W]],[/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],[[d,"Windows"],[f,H,W]],[/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,/cfnetwork\\/.+darwin/i],[[f,/_/g,"."],[d,"iOS"]],[/(mac os x) ?([\\w\\. ]*)/i,/(macintosh|mac_powerpc\\b)(?!.+haiku)/i],[[d,"Mac OS"],[f,/_/g,"."]],[/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i],[f,d],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,/(blackberry)\\w*\\/([\\w\\.]*)/i,/(tizen|kaios)[\\/ ]([\\w\\.]+)/i,/\\((series40);/i],[d,f],[/\\(bb(10);/i],[f,[d,S]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],[f,[d,"Symbian"]],[/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],[f,[d,I+" OS"]],[/web0s;.+rt(tv)/i,/\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],[f,[d,"webOS"]],[/crkey\\/([\\d\\.]+)/i],[f,[d,z+"cast"]],[/(cros) [\\w]+ ([\\w\\.]+\\w)/i],[[d,"Chromium OS"],f],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\);]+)/i,/\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,/(mint)[\\/\\(\\) ]?(\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,/(hurd|linux) ?([\\w\\.]*)/i,/(gnu) ?([\\w\\.]*)/i,/\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,/(haiku) (\\w+)/i],[d,f],[/(sunos) ?([\\w\\.\\d]*)/i],[[d,"Solaris"],f],[/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,/(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,/\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\\w\\.]*)/i],[d,f]]},Y=function(e,r){if(typeof e===s&&(r=e,e=_),!(this instanceof Y))return new Y(e,r).getResult();var t=e||(typeof i!==o&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),a=r?function(e,r){var t={};for(var a in e)r[a]&&r[a].length%2==0?t[a]=r[a].concat(e[a]):t[a]=e[a];return t}(X,r):X;return this.getBrowser=function(){var e,r={};return r[d]=_,r[f]=_,G.call(r,t,a.browser),r.major=typeof(e=r.version)===c?e.replace(/[^\\d\\.]/g,"").split(".")[0]:_,r},this.getCPU=function(){var e={};return e[p]=_,G.call(e,t,a.cpu),e},this.getDevice=function(){var e={};return e[u]=_,e[l]=_,e[h]=_,G.call(e,t,a.device),e},this.getEngine=function(){var e={};return e[d]=_,e[f]=_,G.call(e,t,a.engine),e},this.getOS=function(){var e={};return e[d]=_,e[f]=_,G.call(e,t,a.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return t},this.setUA=function(e){return t=typeof e===c&&e.length>350?V(e,350):e,this},this.setUA(t),this};Y.VERSION="1.0.33",Y.BROWSER=B([d,f,"major"]),Y.CPU=B([p]),Y.DEVICE=B([l,u,h,b,m,v,E,w,g]),Y.ENGINE=Y.OS=B([d,f]),typeof r!==o?(e.exports&&(r=e.exports=Y),r.UAParser=Y):t.amdO?(a=function(){return Y}.call(r,t,r,e))===_||(e.exports=a):typeof i!==o&&(i.UAParser=Y);var q=typeof i!==o&&(i.jQuery||i.Zepto);if(q&&!q.ua){var J=new Y;q.ua=J.getResult(),q.ua.get=function(){return J.getUA()},q.ua.set=function(e){J.setUA(e);var r=J.getResult();for(var t in r)q.ua[t]=r[t]}}}("object"==typeof window?window:this)},751:(e,r,t)=>{"use strict";e.exports=t.p+"ca409d4e8cebe454b816.wasm"}},r={};function t(a){var i=r[a];if(void 0!==i)return i.exports;var _=r[a]={exports:{}};return e[a].call(_.exports,_,_.exports,t),_.exports}t.m=e,t.amdO={},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e;t.g.importScripts&&(e=t.g.location+"");var r=t.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var a=r.getElementsByTagName("script");if(a.length)for(var i=a.length-1;i>-1&&!e;)e=a[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\\?.*$/,"").replace(/\\/[^\\/]+$/,"/"),t.p=e})(),t.b=self.location+"",(()=>{"use strict";var e;const r=(e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(r={}){var t,a,i=r;i.ready=new Promise(((e,r)=>{t=e,a=r}));var _,n=Object.assign({},i),o="./this.program",s=(e,r)=>{throw r},c="";c=self.location.href,e&&(c=e),c=c.startsWith("blob:")?"":c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1),_=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)};var l,d=i.print||console.log.bind(console),h=i.printErr||console.error.bind(console);Object.assign(i,n),n=null,i.thisProgram&&(o=i.thisProgram),i.quit&&(s=i.quit),i.wasmBinary&&(l=i.wasmBinary),"object"!=typeof WebAssembly&&K("no native wasm support detected");var u,f,p,b,m,E,v,w,g,y,N=!1;function k(){var e=u.buffer;i.HEAP8=p=new Int8Array(e),i.HEAP16=m=new Int16Array(e),i.HEAPU8=b=new Uint8Array(e),i.HEAPU16=E=new Uint16Array(e),i.HEAP32=v=new Int32Array(e),i.HEAPU32=w=new Uint32Array(e),i.HEAPF32=g=new Float32Array(e),i.HEAPF64=y=new Float64Array(e)}var S=[],j=[],z=[];function I(){var e=i.preRun.shift();S.unshift(e)}var R,A,x,L=0,T=null,P=null;function F(){L++,i.monitorRunDependencies?.(L)}function M(){if(L--,i.monitorRunDependencies?.(L),0==L&&(null!==T&&(clearInterval(T),T=null),P)){var e=P;P=null,e()}}function K(e){throw i.onAbort?.(e),h(e="Aborted("+e+")"),N=!0,f=1,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),a(e),e}if(!(R="zappar-cv.wasm").startsWith("data:application/octet-stream;base64,")){var O=R;R=i.locateFile?i.locateFile(O,c):c+O}function C(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var D=e=>{for(;0<e.length;)e.shift()(i)},B=i.noExitRuntime||!0,U=[],Z=0,V=0;class G{constructor(e){this.Tj=e,this.Ij=e-24}}var H=e=>{var r=V;if(!r)return ht(0),0;var t=new G(r);w[t.Ij+16>>2]=r;var a=w[t.Ij+4>>2];if(!a)return ht(0),r;for(var i in e){var _=e[i];if(0===_||_===a)break;if(Et(_,a,t.Ij+16))return ht(_),r}return ht(a),r},W=()=>{var e=U.pop();e||K("no exception to throw");var r=e.Tj;throw 0==p[e.Ij+13>>0]&&(U.push(e),p[e.Ij+13>>0]=1,p[e.Ij+12>>0]=0,Z++),V=r},X=(e,r)=>{for(var t=0,a=e.length-1;0<=a;a--){var i=e[a];"."===i?e.splice(a,1):".."===i?(e.splice(a,1),t++):t&&(e.splice(a,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},Y=e=>{var r="/"===e.charAt(0),t="/"===e.substr(-1);return(e=X(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},q=e=>{var r=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1);return e=r[0],r=r[1],e||r?(r&&=r.substr(0,r.length-1),e+r):"."},J=e=>{if("/"===e)return"/";var r=(e=(e=Y(e)).replace(/\\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},$=e=>($=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);K("initRandomDevice")})())(e);function Q(){for(var e="",r=!1,t=arguments.length-1;-1<=t&&!r;t--){if("string"!=typeof(r=0<=t?arguments[t]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,r="/"===r.charAt(0)}return(r?"/":"")+(e=X(e.split("/").filter((e=>!!e)),!r).join("/"))||"."}var ee="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,re=(e,r,t)=>{var a=r+t;for(t=r;e[t]&&!(t>=a);)++t;if(16<t-r&&e.buffer&&ee)return ee.decode(e.subarray(r,t));for(a="";r<t;){var i=e[r++];if(128&i){var _=63&e[r++];if(192==(224&i))a+=String.fromCharCode((31&i)<<6|_);else{var n=63&e[r++];65536>(i=224==(240&i)?(15&i)<<12|_<<6|n:(7&i)<<18|_<<12|n<<6|63&e[r++])?a+=String.fromCharCode(i):(i-=65536,a+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else a+=String.fromCharCode(i)}return a},te=[],ae=e=>{for(var r=0,t=0;t<e.length;++t){var a=e.charCodeAt(t);127>=a?r++:2047>=a?r+=2:55296<=a&&57343>=a?(r+=4,++t):r+=3}return r},ie=(e,r,t,a)=>{if(!(0<a))return 0;var i=t;a=t+a-1;for(var _=0;_<e.length;++_){var n=e.charCodeAt(_);if(55296<=n&&57343>=n&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++_)),127>=n){if(t>=a)break;r[t++]=n}else{if(2047>=n){if(t+1>=a)break;r[t++]=192|n>>6}else{if(65535>=n){if(t+2>=a)break;r[t++]=224|n>>12}else{if(t+3>=a)break;r[t++]=240|n>>18,r[t++]=128|n>>12&63}r[t++]=128|n>>6&63}r[t++]=128|63&n}}return r[t]=0,t-i};function _e(e,r){var t=Array(ae(e)+1);return e=ie(e,t,0,t.length),r&&(t.length=e),t}var ne=[];function oe(e,r){ne[e]={input:[],Jj:[],Rj:r},Oe(e,se)}var se={open(e){var r=ne[e.node.bk];if(!r)throw new ge(43);e.Gj=r,e.seekable=!1},close(e){e.Gj.Rj.fk(e.Gj)},fk(e){e.Gj.Rj.fk(e.Gj)},read(e,r,t,a){if(!e.Gj||!e.Gj.Rj.vk)throw new ge(60);for(var i=0,_=0;_<a;_++){try{var n=e.Gj.Rj.vk(e.Gj)}catch(e){throw new ge(29)}if(void 0===n&&0===i)throw new ge(6);if(null==n)break;i++,r[t+_]=n}return i&&(e.node.timestamp=Date.now()),i},write(e,r,t,a){if(!e.Gj||!e.Gj.Rj.qk)throw new ge(60);try{for(var i=0;i<a;i++)e.Gj.Rj.qk(e.Gj,r[t+i])}catch(e){throw new ge(29)}return a&&(e.node.timestamp=Date.now()),i}},ce={vk(){e:{if(!te.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n"),!e){e=null;break e}te=_e(e,!0)}e=te.shift()}return e},qk(e,r){null===r||10===r?(d(re(e.Jj,0)),e.Jj=[]):0!=r&&e.Jj.push(r)},fk(e){e.Jj&&0<e.Jj.length&&(d(re(e.Jj,0)),e.Jj=[])},Lk:()=>({bl:25856,dl:5,al:191,cl:35387,$k:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Mk:()=>0,Nk:()=>[24,80]},le={qk(e,r){null===r||10===r?(h(re(e.Jj,0)),e.Jj=[]):0!=r&&e.Jj.push(r)},fk(e){e.Jj&&0<e.Jj.length&&(h(re(e.Jj,0)),e.Jj=[])}};function de(e,r){var t=e.Ej?e.Ej.length:0;t>=r||(r=Math.max(r,t*(1048576>t?2:1.125)>>>0),0!=t&&(r=Math.max(r,256)),t=e.Ej,e.Ej=new Uint8Array(r),0<e.Hj&&e.Ej.set(t.subarray(0,e.Hj),0))}var he={Nj:null,Qj:()=>he.createNode(null,"/",16895,0),createNode(e,r,t,a){if(24576==(61440&t)||4096==(61440&t))throw new ge(63);return he.Nj||(he.Nj={dir:{node:{Mj:he.Dj.Mj,Oj:he.Dj.Oj,ak:he.Dj.ak,gk:he.Dj.gk,Ak:he.Dj.Ak,mk:he.Dj.mk,ik:he.Dj.ik,hk:he.Dj.hk,jk:he.Dj.jk},stream:{Vj:he.Fj.Vj}},file:{node:{Mj:he.Dj.Mj,Oj:he.Dj.Oj},stream:{Vj:he.Fj.Vj,read:he.Fj.read,write:he.Fj.write,dk:he.Fj.dk,xk:he.Fj.xk,zk:he.Fj.zk}},link:{node:{Mj:he.Dj.Mj,Oj:he.Dj.Oj,ck:he.Dj.ck},stream:{}},tk:{node:{Mj:he.Dj.Mj,Oj:he.Dj.Oj},stream:Ke}}),Re((t=Ie(e,r,t,a)).mode)?(t.Dj=he.Nj.dir.node,t.Fj=he.Nj.dir.stream,t.Ej={}):32768==(61440&t.mode)?(t.Dj=he.Nj.file.node,t.Fj=he.Nj.file.stream,t.Hj=0,t.Ej=null):40960==(61440&t.mode)?(t.Dj=he.Nj.link.node,t.Fj=he.Nj.link.stream):8192==(61440&t.mode)&&(t.Dj=he.Nj.tk.node,t.Fj=he.Nj.tk.stream),t.timestamp=Date.now(),e&&(e.Ej[r]=t,e.timestamp=t.timestamp),t},il:e=>e.Ej?e.Ej.subarray?e.Ej.subarray(0,e.Hj):new Uint8Array(e.Ej):new Uint8Array(0),Dj:{Mj(e){var r={};return r.Fk=8192==(61440&e.mode)?e.id:1,r.wk=e.id,r.mode=e.mode,r.Rk=1,r.uid=0,r.Hk=0,r.bk=e.bk,Re(e.mode)?r.size=4096:32768==(61440&e.mode)?r.size=e.Hj:40960==(61440&e.mode)?r.size=e.link.length:r.size=0,r.Bk=new Date(e.timestamp),r.Qk=new Date(e.timestamp),r.Ek=new Date(e.timestamp),r.Ck=4096,r.Dk=Math.ceil(r.size/r.Ck),r},Oj(e,r){if(void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&(r=r.size,e.Hj!=r))if(0==r)e.Ej=null,e.Hj=0;else{var t=e.Ej;e.Ej=new Uint8Array(r),t&&e.Ej.set(t.subarray(0,Math.min(r,e.Hj))),e.Hj=r}},ak(){throw ye[44]},gk:(e,r,t,a)=>he.createNode(e,r,t,a),Ak(e,r,t){if(Re(e.mode)){try{var a=ze(r,t)}catch(e){}if(a)for(var i in a.Ej)throw new ge(55)}delete e.parent.Ej[e.name],e.parent.timestamp=Date.now(),e.name=t,r.Ej[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},mk(e,r){delete e.Ej[r],e.timestamp=Date.now()},ik(e,r){var t,a=ze(e,r);for(t in a.Ej)throw new ge(55);delete e.Ej[r],e.timestamp=Date.now()},hk(e){var r,t=[".",".."];for(r of Object.keys(e.Ej))t.push(r);return t},jk:(e,r,t)=>((e=he.createNode(e,r,41471,0)).link=t,e),ck(e){if(40960!=(61440&e.mode))throw new ge(28);return e.link}},Fj:{read(e,r,t,a,i){var _=e.node.Ej;if(i>=e.node.Hj)return 0;if(8<(e=Math.min(e.node.Hj-i,a))&&_.subarray)r.set(_.subarray(i,i+e),t);else for(a=0;a<e;a++)r[t+a]=_[i+a];return e},write(e,r,t,a,i,_){if(r.buffer===p.buffer&&(_=!1),!a)return 0;if((e=e.node).timestamp=Date.now(),r.subarray&&(!e.Ej||e.Ej.subarray)){if(_)return e.Ej=r.subarray(t,t+a),e.Hj=a;if(0===e.Hj&&0===i)return e.Ej=r.slice(t,t+a),e.Hj=a;if(i+a<=e.Hj)return e.Ej.set(r.subarray(t,t+a),i),a}if(de(e,i+a),e.Ej.subarray&&r.subarray)e.Ej.set(r.subarray(t,t+a),i);else for(_=0;_<a;_++)e.Ej[i+_]=r[t+_];return e.Hj=Math.max(e.Hj,i+a),a},Vj(e,r,t){if(1===t?r+=e.position:2===t&&32768==(61440&e.node.mode)&&(r+=e.node.Hj),0>r)throw new ge(28);return r},dk(e,r,t){de(e.node,r+t),e.node.Hj=Math.max(e.node.Hj,r+t)},xk(e,r,t,a,i){if(32768!=(61440&e.node.mode))throw new ge(43);if(e=e.node.Ej,2&i||e.buffer!==p.buffer){if((0<t||t+r<e.length)&&(e=e.subarray?e.subarray(t,t+r):Array.prototype.slice.call(e,t,t+r)),t=!0,K(),!(r=void 0))throw new ge(48);p.set(e,r)}else t=!1,r=e.byteOffset;return{Ij:r,Yj:t}},zk:(e,r,t,a)=>(he.Fj.write(e,r,0,a,t,!1),0)}},ue=i.preloadPlugins||[],fe=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},pe=null,be={},me=[],Ee=1,ve=null,we=!0,ge=class{constructor(e){this.name="ErrnoError",this.Kj=e}},ye={};function Ne(e,r={}){if(!(e=Q(e)))return{path:"",node:null};if(8<(r=Object.assign({uk:!0,rk:0},r)).rk)throw new ge(32);e=e.split("/").filter((e=>!!e));for(var t=pe,a="/",i=0;i<e.length;i++){var _=i===e.length-1;if(_&&r.parent)break;if(t=ze(t,e[i]),a=Y(a+"/"+e[i]),t.Zj&&(!_||_&&r.uk)&&(t=t.Zj.root),!_||r.ek)for(_=0;40960==(61440&t.mode);)if(t=Ve(a),t=Ne(a=Q(q(a),t),{rk:r.rk+1}).node,40<_++)throw new ge(32)}return{path:a,node:t}}function ke(e){for(var r;;){if(e===e.parent)return e=e.Qj.yk,r?"/"!==e[e.length-1]?`${e}/${r}`:e+r:e;r=r?`${e.name}/${r}`:e.name,e=e.parent}}function Se(e,r){for(var t=0,a=0;a<r.length;a++)t=(t<<5)-t+r.charCodeAt(a)|0;return(e+t>>>0)%ve.length}function je(e){var r=Se(e.parent.id,e.name);if(ve[r]===e)ve[r]=e.$j;else for(r=ve[r];r;){if(r.$j===e){r.$j=e.$j;break}r=r.$j}}function ze(e,r){var t=Re(e.mode)?(t=xe(e,"x"))?t:e.Dj.ak?0:2:54;if(t)throw new ge(t);for(t=ve[Se(e.id,r)];t;t=t.$j){var a=t.name;if(t.parent.id===e.id&&a===r)return t}return e.Dj.ak(e,r)}function Ie(e,r,t,a){return r=Se((e=new it(e,r,t,a)).parent.id,e.name),e.$j=ve[r],ve[r]=e}function Re(e){return 16384==(61440&e)}function Ae(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r}function xe(e,r){return we?0:!r.includes("r")||292&e.mode?r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0:2}function Le(e,r){try{return ze(e,r),20}catch(e){}return xe(e,"wx")}function Te(e,r,t){try{var a=ze(e,r)}catch(e){return e.Kj}if(e=xe(e,"wx"))return e;if(t){if(!Re(a.mode))return 54;if(a===a.parent||"/"===ke(a))return 10}else if(Re(a.mode))return 31;return 0}function Pe(e){if(!(e=me[e]))throw new ge(8);return e}function Fe(e,r=-1){return Ye||((Ye=function(){this.Lj={}}).prototype={},Object.defineProperties(Ye.prototype,{object:{get(){return this.node},set(e){this.node=e}},flags:{get(){return this.Lj.flags},set(e){this.Lj.flags=e}},position:{get(){return this.Lj.position},set(e){this.Lj.position=e}}})),e=Object.assign(new Ye,e),-1==r&&(r=function(){for(var e=0;4096>=e;e++)if(!me[e])return e;throw new ge(33)}()),e.Sj=r,me[r]=e}var Me,Ke={open(e){e.Fj=be[e.node.bk].Fj,e.Fj.open?.(e)},Vj(){throw new ge(70)}};function Oe(e,r){be[e]={Fj:r}}function Ce(e,r){var t="/"===r;if(t&&pe)throw new ge(10);if(!t&&r){var a=Ne(r,{uk:!1});if(r=a.path,(a=a.node).Zj)throw new ge(10);if(!Re(a.mode))throw new ge(54)}r={type:e,ml:{},yk:r,Pk:[]},(e=e.Qj(r)).Qj=r,r.root=e,t?pe=e:a&&(a.Zj=r,a.Qj&&a.Qj.Pk.push(r))}function De(e,r,t){var a=Ne(e,{parent:!0}).node;if(!(e=J(e))||"."===e||".."===e)throw new ge(28);var i=Le(a,e);if(i)throw new ge(i);if(!a.Dj.gk)throw new ge(63);return a.Dj.gk(a,e,r,t)}function Be(e){return De(e,16895,0)}function Ue(e,r,t){void 0===t&&(t=r,r=438),De(e,8192|r,t)}function Ze(e,r){if(!Q(e))throw new ge(44);var t=Ne(r,{parent:!0}).node;if(!t)throw new ge(44);var a=Le(t,r=J(r));if(a)throw new ge(a);if(!t.Dj.jk)throw new ge(63);t.Dj.jk(t,r,e)}function Ve(e){if(!(e=Ne(e).node))throw new ge(44);if(!e.Dj.ck)throw new ge(28);return Q(ke(e.parent),e.Dj.ck(e))}function Ge(e,r,t){if(""===e)throw new ge(44);if("string"==typeof r){var a={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===a)throw Error(`Unknown file open mode: ${r}`);r=a}if(t=64&r?4095&(void 0===t?438:t)|32768:0,"object"==typeof e)var _=e;else{e=Y(e);try{_=Ne(e,{ek:!(131072&r)}).node}catch(e){}}if(a=!1,64&r)if(_){if(128&r)throw new ge(20)}else _=De(e,t,0),a=!0;if(!_)throw new ge(44);if(8192==(61440&_.mode)&&(r&=-513),65536&r&&!Re(_.mode))throw new ge(54);if(!a&&(t=_?40960==(61440&_.mode)?32:Re(_.mode)&&("r"!==Ae(r)||512&r)?31:xe(_,Ae(r)):44))throw new ge(t);if(512&r&&!a){if(!(t="string"==typeof(t=_)?Ne(t,{ek:!0}).node:t).Dj.Oj)throw new ge(63);if(Re(t.mode))throw new ge(31);if(32768!=(61440&t.mode))throw new ge(28);if(a=xe(t,"w"))throw new ge(a);t.Dj.Oj(t,{size:0,timestamp:Date.now()})}return r&=-131713,(_=Fe({node:_,path:ke(_),flags:r,seekable:!0,position:0,Fj:_.Fj,Wk:[],error:!1})).Fj.open&&_.Fj.open(_),!i.logReadFiles||1&r||(qe||={},e in qe||(qe[e]=1)),_}function He(e,r,t){if(null===e.Sj)throw new ge(8);if(!e.seekable||!e.Fj.Vj)throw new ge(70);if(0!=t&&1!=t&&2!=t)throw new ge(28);return e.position=e.Fj.Vj(e,r,t),e.Wk=[],e.position}function We(e,r,t){e=Y("/dev/"+e);var a=fe(!!r,!!t);Xe||=64;var i=Xe++<<8|0;Oe(i,{open(e){e.seekable=!1},close(){t?.buffer?.length&&t(10)},read(e,t,a,i){for(var _=0,n=0;n<i;n++){try{var o=r()}catch(e){throw new ge(29)}if(void 0===o&&0===_)throw new ge(6);if(null==o)break;_++,t[a+n]=o}return _&&(e.node.timestamp=Date.now()),_},write(e,r,a,i){for(var _=0;_<i;_++)try{t(r[a+_])}catch(e){throw new ge(29)}return i&&(e.node.timestamp=Date.now()),_}}),Ue(e,a,i)}var Xe,Ye,qe,Je={},$e=(e,r)=>e?re(b,e,r):"";function Qe(e,r){if("/"===r.charAt(0))return r;if(e=-100===e?"/":Pe(e).path,0==r.length)throw new ge(44);return Y(e+"/"+r)}var er=void 0;function rr(){var e=v[+er>>2];return er+=4,e}var tr,ar=e=>0==e%4&&(0!=e%100||0==e%400),ir=[0,31,60,91,121,152,182,213,244,274,305,335],_r=[0,31,59,90,120,151,181,212,243,273,304,334],nr=e=>{var r=ae(e)+1,t=ct(r);return t&&ie(e,b,t,r),t},or=e=>{f=e,B||(i.onExit?.(e),N=!0),s(e,new C(e))},sr=e=>{if(!N)try{if(e(),!B)try{f=e=f,or(e)}catch(e){e instanceof C||"unwind"==e||s(1,e)}}catch(e){e instanceof C||"unwind"==e||s(1,e)}},cr=(e,r)=>{setTimeout((()=>{sr(e)}),r)};tr=()=>performance.now();var lr,dr,hr,ur=!1,fr=null,pr=0,br=null,mr=0,Er=0,vr=0,wr=[],gr={},yr=!1,Nr=!1,kr=[],Sr=!1,jr=void 0,zr=void 0;function Ir(){return!!yr&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0)}var Rr=0;function Ar(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var r=Date.now();if(0===Rr)Rr=r+1e3/60;else for(;r+2>=Rr;)Rr+=1e3/60;setTimeout(e,Math.max(Rr-r,0))}}function xr(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]}var Lr=[];function Tr(){var e=i.canvas;Lr.forEach((r=>r(e.width,e.height)))}function Pr(e,r,t){r&&t?(e.Xk=r,e.Ik=t):(r=e.Xk,t=e.Ik);var a=r,_=t;if(i.forcedAspectRatio&&0<i.forcedAspectRatio&&(a/_<i.forcedAspectRatio?a=Math.round(_*i.forcedAspectRatio):_=Math.round(a/i.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var n=Math.min(screen.width/a,screen.height/_);a=Math.round(a*n),_=Math.round(_*n)}zr?(e.width!=a&&(e.width=a),e.height!=_&&(e.height=_),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=t&&(e.height=t),void 0!==e.style&&(a!=r||_!=t?(e.style.setProperty("width",a+"px","important"),e.style.setProperty("height",_+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}var Fr,Mr,Kr,Or,Cr,Dr=[],Br=e=>{var r=Dr[e];return r||(e>=Dr.length&&(Dr.length=e+1),Dr[e]=r=Kr.get(e)),r};function Ur(e,r,t,a,i){function _(){var r=0,t=0;y.response&&v&&0===w[e+12>>2]&&(t=y.response.byteLength),0<t&&(r=ct(t),b.set(new Uint8Array(y.response),r)),w[e+12>>2]=r,Zr(e+16,t),Zr(e+24,0),(r=y.response?y.response.byteLength:0)&&Zr(e+32,r),E[e+40>>1]=y.readyState,E[e+42>>1]=y.status,y.statusText&&ie(y.statusText,b,e+44,64)}var n=w[e+8>>2];if(n){var o=n?re(b,n):"",s=e+112,c=$e(s+0);c||="GET";var l=w[s+56>>2],d=w[s+68>>2],h=w[s+72>>2];n=w[s+76>>2];var u=w[s+80>>2],f=w[s+84>>2],p=w[s+88>>2],m=w[s+52>>2],v=!!(1&m),g=!!(2&m);m=!!(64&m),d=d?d?re(b,d):"":void 0,h=h?h?re(b,h):"":void 0;var y=new XMLHttpRequest;if(y.withCredentials=!!b[s+60>>0],y.open(c,o,!m,d,h),m||(y.timeout=l),y.Lj=o,y.responseType="arraybuffer",u&&(o=u?re(b,u):"",y.overrideMimeType(o)),n)for(;(s=w[n>>2])&&(o=w[n+4>>2]);)n+=8,s=s?re(b,s):"",o=o?re(b,o):"",y.setRequestHeader(s,o);var N=Or.dk(y);w[e>>2]=N,n=f&&p?b.slice(f,f+p):null,y.onload=a=>{Or.has(N)&&(_(),200<=y.status&&300>y.status?r?.(e,y,a):t?.(e,y,a))},y.onerror=r=>{Or.has(N)&&(_(),t?.(e,y,r))},y.ontimeout=r=>{Or.has(N)&&t?.(e,y,r)},y.onprogress=r=>{if(Or.has(N)){var t=v&&g&&y.response?y.response.byteLength:0,i=0;0<t&&v&&g&&(i=ct(t),b.set(new Uint8Array(y.response),i)),w[e+12>>2]=i,Zr(e+16,t),Zr(e+24,r.loaded-t),Zr(e+32,r.total),E[e+40>>1]=y.readyState,3<=y.readyState&&0===y.status&&0<r.loaded&&(y.status=200),E[e+42>>1]=y.status,y.statusText&&ie(y.statusText,b,e+44,64),a?.(e,y,r),i&&st(i)}},y.onreadystatechange=r=>{Or.has(N)&&(E[e+40>>1]=y.readyState,2<=y.readyState&&(E[e+42>>1]=y.status),i?.(e,y,r))};try{y.send(n)}catch(r){t?.(e,y,r)}}else t(e,0,"no url specified!")}var Zr=(e,r)=>{w[e>>2]=r,w[e+4>>2]=(r-w[e>>2])/4294967296};function Vr(e,r,t,a){var i=Cr;if(i){var _=w[e+112+64>>2];_||=w[e+8>>2];var n=_?re(b,_):"";try{var o=i.transaction(["FILES"],"readwrite").objectStore("FILES").put(r,n);o.onsuccess=()=>{E[e+40>>1]=4,E[e+42>>1]=200,ie("OK",b,e+44,64),t(e,0,n)},o.onerror=r=>{E[e+40>>1]=4,E[e+42>>1]=413,ie("Payload Too Large",b,e+44,64),a(e,0,r)}}catch(r){a(e,0,r)}}else a(e,0,"IndexedDB not available!")}var Gr,Hr,Wr,Xr={},Yr=()=>{if(!Gr){var e,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:o||"./this.program"};for(e in Xr)void 0===Xr[e]?delete r[e]:r[e]=Xr[e];var t=[];for(e in r)t.push(`${e}=${r[e]}`);Gr=t}return Gr},qr=1,Jr=[],$r=[],Qr=e=>{for(var r=qr++,t=e.length;t<r;t++)e[t]=null;return r},et=e=>{if(e||=Wr,!e.Jk){e.Jk=!0;var r=e.nk;(e=>{var r=e.getExtension("ANGLE_instanced_arrays");r&&(e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,a,i)=>r.drawArraysInstancedANGLE(e,t,a,i),e.drawElementsInstanced=(e,t,a,i,_)=>r.drawElementsInstancedANGLE(e,t,a,i,_))})(r),(e=>{var r=e.getExtension("OES_vertex_array_object");r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e))})(r),(e=>{var r=e.getExtension("WEBGL_draw_buffers");r&&(e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t))})(r),r.fl=r.getExtension("EXT_disjoint_timer_query"),r.jl=r.getExtension("WEBGL_multi_draw"),function(e){var r="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_half_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear 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=>r.includes(e)))}(r).forEach((e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)}))}},rt={},tt=[31,29,31,30,31,30,31,31,30,31,30,31],at=[31,28,31,30,31,30,31,31,30,31,30,31];function it(e,r,t,a){e||=this,this.parent=e,this.Qj=e.Qj,this.Zj=null,this.id=Ee++,this.name=r,this.mode=t,this.Dj={},this.Fj={},this.bk=a}Object.defineProperties(it.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}}}),[44].forEach((e=>{ye[e]=new ge(e),ye[e].stack="<generic error, no stack>"})),ve=Array(4096),Ce(he,"/"),Be("/tmp"),Be("/home"),Be("/home/web_user"),function(){Be("/dev"),Oe(259,{read:()=>0,write:(e,r,t,a)=>a}),Ue("/dev/null",259),oe(1280,ce),oe(1536,le),Ue("/dev/tty",1280),Ue("/dev/tty1",1536);var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=$(e).byteLength),e[--r]);We("random",t),We("urandom",t),Be("/dev/shm"),Be("/dev/shm/tmp")}(),function(){Be("/proc");var e=Be("/proc/self");Be("/proc/self/fd"),Ce({Qj(){var r=Ie(e,"fd",16895,73);return r.Dj={ak(e,r){var t=Pe(+r);return(e={parent:null,Qj:{yk:"fake"},Dj:{ck:()=>t.path}}).parent=e}},r}},"/proc/self/fd")}(),i.requestFullscreen=function(e,r){function t(){yr=!1;var e=a.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(a.exitFullscreen=Ir,jr&&a.requestPointerLock(),yr=!0,zr?("undefined"!=typeof SDL&&(v[SDL.screen>>2]=8388608|w[SDL.screen>>2]),Pr(i.canvas),Tr()):Pr(a)):(e.parentNode.insertBefore(a,e),e.parentNode.removeChild(e),zr?("undefined"!=typeof SDL&&(v[SDL.screen>>2]=-8388609&w[SDL.screen>>2]),Pr(i.canvas),Tr()):Pr(a)),i.onFullScreen?.(yr),i.onFullscreen?.(yr)}void 0===(jr=e)&&(jr=!0),void 0===(zr=r)&&(zr=!1);var a=i.canvas;Sr||(Sr=!0,document.addEventListener("fullscreenchange",t,!1),document.addEventListener("mozfullscreenchange",t,!1),document.addEventListener("webkitfullscreenchange",t,!1),document.addEventListener("MSFullscreenChange",t,!1));var _=document.createElement("div");a.parentNode.insertBefore(_,a),_.appendChild(a),_.requestFullscreen=_.requestFullscreen||_.mozRequestFullScreen||_.msRequestFullscreen||(_.webkitRequestFullscreen?()=>_.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(_.webkitRequestFullScreen?()=>_.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),_.requestFullscreen()},i.requestAnimationFrame=Ar,i.setCanvasSize=function(e,r,t){Pr(i.canvas,e,r),t||Tr()},i.pauseMainLoop=function(){fr=null,pr++},i.resumeMainLoop=function(){pr++;var e=mr,r=Er,t=br;br=null,(e=>{!br||K("emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),br=e;var r=pr;ur=!1,dr=function(){if(!N)if(0<wr.length){var t=wr.shift();if(t.hl(t.Zk),hr){var a=hr,_=0==a%1?a-1:Math.floor(a);hr=t.el?_:(8*a+(_+.5))/9}i.setStatus&&(t=i.statusMessage||"Please wait...",_=gr.gl,(a=hr)?a<_?i.setStatus(t+" ("+(_-a)+"/"+_+")"):i.setStatus(t):i.setStatus("")),r<pr||setTimeout(dr,0)}else r<pr||(vr=vr+1|0,1==mr&&1<Er&&0!=vr%Er?fr():(0==mr&&(lr=tr()),N||i.preMainLoop&&!1===i.preMainLoop()||(sr(e),i.postMainLoop?.()),r<pr||("object"==typeof SDL&&SDL.audio?.nl?.(),fr())))}})(t),((e,r)=>{if(mr=e,Er=r,br)if(ur||=!0,0==e)fr=function(){var e=0|Math.max(0,lr+r-tr());setTimeout(dr,e)};else if(1==e)fr=function(){Ar(dr)};else if(2==e){if(void 0===Fr)if("undefined"==typeof setImmediate){var t=[];addEventListener("message",(e=>{"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),t.shift()())}),!0),Fr=function(e){t.push(e),void 0===i.setImmediates&&(i.setImmediates=[]),i.setImmediates.push(e),postMessage({target:"setimmediate"})}}else Fr=setImmediate;fr=function(){Fr(dr)}}})(e,r),fr()},i.getUserMedia=function(e){let r;(r=window).getUserMedia||(r.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},i.createContext=function(e,r,t,a){if(r&&i.pk&&e==i.canvas)return i.pk;var _;if(r){var n={antialias:!1,alpha:!1,Ok:1};if(a)for(var o in a)n[o]=a[o];if(void 0!==rt&&(_=((e,r)=>{e.Lj||(e.Lj=e.getContext,e.getContext=function(r,t){return"webgl"==r==(t=e.Lj(r,t))instanceof WebGLRenderingContext?t:null});var t=e.getContext("webgl",r);return t?((e,r)=>{var t=Qr($r),a={handle:t,attributes:r,version:r.Ok,nk:e};return e.canvas&&(e.canvas.Yk=a),$r[t]=a,(void 0===r.Gk||r.Gk)&&et(a),t})(t,r):0})(e,n)))var s=$r[_].nk}else s=e.getContext("2d");return s?(t&&(r||void 0===_t||K("cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),i.pk=s,r&&(Wr=$r[_],i.pk=_t=Wr?.nk),i.pl=r,kr.forEach((e=>e())),function(){function e(){Nr=document.pointerLockElement===i.canvas||document.mozPointerLockElement===i.canvas||document.webkitPointerLockElement===i.canvas||document.msPointerLockElement===i.canvas}if(!Mr){Mr=!0,ue.push({canHandle:function(e){return!i.ll&&/\\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,r,t,a){var i=new Blob([e],{type:xr(r)});i.size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:xr(r)}));var _=URL.createObjectURL(i),n=new Image;n.onload=()=>{n.complete||K(`Image ${r} could not be decoded`);var a=document.createElement("canvas");a.width=n.width,a.height=n.height,a.getContext("2d").drawImage(n,0,0),URL.revokeObjectURL(_),t?.(e)},n.onerror=()=>{h(`Image ${_} could not be decoded`),a?.()},n.src=_}}),ue.push({canHandle:function(e){return!i.kl&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,r,t){function a(){i||(i=!0,t?.(e))}var i=!1,_=URL.createObjectURL(new Blob([e],{type:xr(r)})),n=new Audio;n.addEventListener("canplaythrough",(()=>a()),!1),n.onerror=function(){if(!i){h(`warning: browser could not fully decode audio ${r}, trying slower base64 approach`);for(var t="",_=0,o=0,s=0;s<e.length;s++)for(_=_<<8|e[s],o+=8;6<=o;){var c=_>>o-6&63;o-=6,t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[c]}2==o?(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(3&_)<<4],t+="=="):4==o&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(15&_)<<2],t+="="),n.src="data:audio/x-"+r.substr(-3)+";base64,"+t,a()}},n.src=_,cr((()=>{a()}),1e4)}});var r=i.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||(()=>{}),r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),r.exitPointerLock=r.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&&r.addEventListener("click",(e=>{!Nr&&i.canvas.requestPointerLock&&(i.canvas.requestPointerLock(),e.preventDefault())}),!1))}}()),s):null},Or=new class{constructor(){this.Yj=[void 0],this.Lj=[]}get(e){return this.Yj[e]}has(e){return void 0!==this.Yj[e]}dk(e){var r=this.Lj.pop()||this.Yj.length;return this.Yj[r]=e,r}},F(),function(e,r){try{var t=indexedDB.open("emscripten_filesystem",1)}catch(e){return void r()}t.onupgradeneeded=e=>{(e=e.target.result).objectStoreNames.contains("FILES")&&e.deleteObjectStore("FILES"),e.createObjectStore("FILES")},t.onsuccess=e=>(e=>{Cr=e,M()})(e.target.result),t.onerror=r}(0,(()=>{Cr=!1,M()}));var _t,nt={r:e=>{if(e=new G(e),0==p[e.Ij+12>>0]&&(p[e.Ij+12>>0]=1,Z--),p[e.Ij+13>>0]=0,U.push(e),mt(e.Tj),vt(w[e.Ij+4>>2]))e=w[e.Tj>>2];else{var r=w[e.Ij+16>>2];e=0!==r?r:e.Tj}return e},dc:()=>{if(!U.length)return 0;var e=U[U.length-1];return mt(e.Tj),e.Tj},w:()=>{dt(0,0);var e=U.pop();bt(e.Tj),V=0},a:()=>H([]),i:e=>H([e]),D:(e,r)=>H([e,r]),Ka:W,cc:e=>{e&&(e=new G(e),U.push(e),p[e.Ij+13>>0]=1,W())},n:(e,r,t)=>{var a=new G(e);throw w[a.Ij+16>>2]=0,w[a.Ij+4>>2]=r,w[a.Ij+8>>2]=t,Z++,V=e},ta:()=>Z,c:e=>{throw V||=e,V},T:function(e,r,t){er=t;try{var a=Pe(e);switch(r){case 0:var i=rr();if(0>i)break;for(;me[i];)i++;return Fe(a,i).Sj;case 1:case 2:case 13:case 14:return 0;case 3:return a.flags;case 4:return i=rr(),a.flags|=i,0;case 12:return i=rr(),m[i+0>>1]=2,0}return-28}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},jc:function(e,r,t){try{var a=Pe(e);if(!a.Uj){var i=Ne(a.path,{ek:!0}).node;if(!i.Dj.hk)throw new ge(54);var _=i.Dj.hk(i);a.Uj=_}e=0;for(var n=He(a,0,1),o=Math.floor(n/280);o<a.Uj.length&&e+280<=t;){var s=a.Uj[o];if("."===s)var c=a.node.id,l=4;else if(".."===s)c=Ne(a.path,{parent:!0}).node.id,l=4;else{var d=ze(a.node,s);c=d.id,l=8192==(61440&d.mode)?2:Re(d.mode)?4:40960==(61440&d.mode)?10:8}x=[c>>>0,(A=c,1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[r+e>>2]=x[0],v[r+e+4>>2]=x[1],x=[280*(o+1)>>>0,(A=280*(o+1),1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[r+e+8>>2]=x[0],v[r+e+12>>2]=x[1],m[r+e+16>>1]=280,p[r+e+18>>0]=l,ie(s,b,r+e+19,256),e+=280,o+=1}return He(a,280*o,0),e}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},qc:function(e,r,t){er=t;try{var a=Pe(e);switch(r){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return a.Gj?0:-59;case 21505:if(!a.Gj)return-59;if(a.Gj.Rj.Lk){e=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var i=rr();v[i>>2]=25856,v[i+4>>2]=5,v[i+8>>2]=191,v[i+12>>2]=35387;for(var _=0;32>_;_++)p[i+_+17>>0]=e[_]||0}return 0;case 21506:case 21507:case 21508:if(!a.Gj)return-59;if(a.Gj.Rj.Mk)for(i=rr(),e=[],_=0;32>_;_++)e.push(p[i+_+17>>0]);return 0;case 21519:return a.Gj?(i=rr(),v[i>>2]=0):-59;case 21520:return a.Gj?-28:-59;case 21531:if(i=rr(),!a.Fj.Kk)throw new ge(59);return a.Fj.Kk(a,r,i);case 21523:return a.Gj?(a.Gj.Rj.Nk&&(_=[24,80],i=rr(),m[i>>1]=_[0],m[i+2>>1]=_[1]),0):-59;default:return-28}}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},Oa:function(e,r,t,a){er=a;try{return Ge(r=Qe(e,r=r?re(b,r):""),t,a?rr():0).Sj}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},hc:function(e,r,t,a){try{if(r=Qe(e,r=r?re(b,r):""),0>=a)return-28;var i=Ve(r),_=Math.min(a,ae(i)),n=p[t+_];return ie(i,b,t,a+1),p[t+_]=n,_}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},mc:function(e,r){try{var t=Ne(e=e?re(b,e):"",{ek:!0}).node;if(!t)throw new ge(44);if(!t.Dj.Mj)throw new ge(63);var a=t.Dj.Mj(t);v[r>>2]=a.Fk,v[r+4>>2]=a.mode,w[r+8>>2]=a.Rk,v[r+12>>2]=a.uid,v[r+16>>2]=a.Hk,v[r+20>>2]=a.bk,x=[a.size>>>0,(A=a.size,1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[r+24>>2]=x[0],v[r+28>>2]=x[1],v[r+32>>2]=4096,v[r+36>>2]=a.Dk;var i=a.Bk.getTime(),_=a.Qk.getTime(),n=a.Ek.getTime();return x=[Math.floor(i/1e3)>>>0,(A=Math.floor(i/1e3),1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[r+40>>2]=x[0],v[r+44>>2]=x[1],w[r+48>>2]=i%1e3*1e3,x=[Math.floor(_/1e3)>>>0,(A=Math.floor(_/1e3),1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[r+56>>2]=x[0],v[r+60>>2]=x[1],w[r+64>>2]=_%1e3*1e3,x=[Math.floor(n/1e3)>>>0,(A=Math.floor(n/1e3),1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[r+72>>2]=x[0],v[r+76>>2]=x[1],w[r+80>>2]=n%1e3*1e3,x=[a.wk>>>0,(A=a.wk,1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[r+88>>2]=x[0],v[r+92>>2]=x[1],0}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},ic:function(e,r){try{return Ze(e=e?re(b,e):"",r=r?re(b,r):""),0}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},fc:function(e,r,t){try{if(r=Qe(e,r=r?re(b,r):""),0===t){var a=r,i=Ne(a,{parent:!0}).node;if(!i)throw new ge(44);var _=J(a),n=ze(i,_),o=Te(i,_,!1);if(o)throw new ge(o);if(!i.Dj.mk)throw new ge(63);if(n.Zj)throw new ge(10);i.Dj.mk(i,_),je(n)}else if(512===t){a=Ne(i=r,{parent:!0}).node;var s=J(i),c=ze(a,s),l=Te(a,s,!0);if(l)throw new ge(l);if(!a.Dj.ik)throw new ge(63);if(c.Zj)throw new ge(10);a.Dj.ik(a,s),je(c)}else K("Invalid flags passed to unlinkat");return 0}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return-e.Kj}},rc:function(e){if(Or.has(e)){var r=Or.get(e),t=Or;t.Yj[e]=void 0,t.Lj.push(e),0<r.readyState&&4>r.readyState&&r.abort()}},oc:()=>1,xb:function(e,r,t){e=new Date(1e3*(r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN)),v[t>>2]=e.getUTCSeconds(),v[t+4>>2]=e.getUTCMinutes(),v[t+8>>2]=e.getUTCHours(),v[t+12>>2]=e.getUTCDate(),v[t+16>>2]=e.getUTCMonth(),v[t+20>>2]=e.getUTCFullYear()-1900,v[t+24>>2]=e.getUTCDay(),v[t+28>>2]=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},yb:function(e,r,t){e=new Date(1e3*(r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN)),v[t>>2]=e.getSeconds(),v[t+4>>2]=e.getMinutes(),v[t+8>>2]=e.getHours(),v[t+12>>2]=e.getDate(),v[t+16>>2]=e.getMonth(),v[t+20>>2]=e.getFullYear()-1900,v[t+24>>2]=e.getDay(),v[t+28>>2]=(ar(e.getFullYear())?ir:_r)[e.getMonth()]+e.getDate()-1|0,v[t+36>>2]=-60*e.getTimezoneOffset(),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var a=new Date(e.getFullYear(),0,1).getTimezoneOffset();v[t+32>>2]=0|(r!=a&&e.getTimezoneOffset()==Math.min(a,r))},gc:(e,r,t)=>{function a(e){return(e=e.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?e[1]:"GMT"}var i=(new Date).getFullYear(),_=new Date(i,0,1),n=new Date(i,6,1);i=_.getTimezoneOffset();var o=n.getTimezoneOffset();w[e>>2]=60*Math.max(i,o),v[r>>2]=Number(i!=o),e=a(_),r=a(n),e=nr(e),r=nr(r),o<i?(w[t>>2]=e,w[t+4>>2]=r):(w[t>>2]=r,w[t+4>>2]=e)},G:()=>{K("")},sb:function(){self.postMessage({t:"gfx"})},ub:function(){var e=new URL(location.origin).hostname;if(0===e.length&&(e=new URL(location.href.replace("blob:","")).hostname),/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e))0===e.indexOf("10.")&&(e="10.*"),0===e.indexOf("192.168.")&&(e="192.168.*"),0===e.indexOf("172.")&&(e="172.*"),0===e.indexOf("127.")&&(e="127.*");else{var r=new RegExp("("+String.fromCharCode(92)+".ngrok"+String.fromCharCode(92)+".io)$","i");r.test(e)&&(e="*.ngrok.io"),(r=new RegExp("("+String.fromCharCode(92)+".ngrok-free"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.ngrok.io"),(r=new RegExp("("+String.fromCharCode(92)+".arweb"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.arweb.app")}r=ae(e)+1;var t=ct(r);return ie(e,b,t,r+1),t},tb:function(){self.postMessage({t:"licerr"})},Ja:(e,r,t)=>{function a(){Br(e)(r)}0<=t?cr(a,t):function(e){Ar((()=>{sr(e)}))}(a)},ua:()=>Date.now(),ac:()=>2147483648,nc:tr,tc:()=>!1,pc:(e,r,t)=>b.copyWithin(e,r,r+t),ec:e=>{var r=b.length;if(2147483648<(e>>>=0))return!1;for(var t=1;4>=t;t*=2){var a=r*(1+.2/t);a=Math.min(a,e+100663296);var i=Math;a=Math.max(e,a);e:{i=(i.min.call(i,2147483648,a+(65536-a%65536)%65536)-u.buffer.byteLength+65535)/65536;try{u.grow(i),k();var _=1;break e}catch(e){}_=void 0}if(_)return!0}return!1},sc:function(e,r,t,a,i){function _(e){h?e():sr(e)}var n=e+112,o=w[n+36>>2],s=w[n+40>>2],c=w[n+44>>2],l=w[n+48>>2],d=w[n+52>>2],h=!!(64&d),u=e=>{_((()=>{o?Br(o)(e):r?.(e)}))},f=e=>{_((()=>{c?Br(c)(e):a?.(e)}))},p=e=>{_((()=>{s?Br(s)(e):t?.(e)}))},m=e=>{_((()=>{l?Br(l)(e):i?.(e)}))},v=e=>{Ur(e,u,p,f,m)},g=(e,t)=>{Vr(e,t.response,(e=>{_((()=>{o?Br(o)(e):r?.(e)}))}),(e=>{_((()=>{o?Br(o)(e):r?.(e)}))}))},y=$e(n+0),N=!!(16&d),k=!!(4&d);if(d=!!(32&d),"EM_IDB_STORE"===y)v=w[n+84>>2],Vr(e,b.slice(v,v+w[n+88>>2]),u,p);else if("EM_IDB_DELETE"===y)!function(e,r,t){var a=Cr;if(a){var i=w[e+112+64>>2];i||=w[e+8>>2],i=i?re(b,i):"";try{var _=a.transaction(["FILES"],"readwrite").objectStore("FILES").delete(i);_.onsuccess=t=>{t=t.target.result,w[e+12>>2]=0,Zr(e+16,0),Zr(e+24,0),Zr(e+32,0),E[e+40>>1]=4,E[e+42>>1]=200,ie("OK",b,e+44,64),r(e,0,t)},_.onerror=r=>{E[e+40>>1]=4,E[e+42>>1]=404,ie("Not Found",b,e+44,64),t(e,0,r)}}catch(r){t(e,0,r)}}else t(e,0,"IndexedDB not available!")}(e,u,p);else if(N){if(d)return 0;Ur(e,k?g:u,p,f,m)}else!function(e,r,t){var a=Cr;if(a){var i=w[e+112+64>>2];i||=w[e+8>>2],i=i?re(b,i):"";try{var _=a.transaction(["FILES"],"readonly").objectStore("FILES").get(i);_.onsuccess=a=>{if(a.target.result){var i=(a=a.target.result).byteLength||a.length,_=ct(i);b.set(new Uint8Array(a),_),w[e+12>>2]=_,Zr(e+16,i),Zr(e+24,0),Zr(e+32,i),E[e+40>>1]=4,E[e+42>>1]=200,ie("OK",b,e+44,64),r(e,0,a)}else E[e+40>>1]=4,E[e+42>>1]=404,ie("Not Found",b,e+44,64),t(e,0,"no data")},_.onerror=r=>{E[e+40>>1]=4,E[e+42>>1]=404,ie("Not Found",b,e+44,64),t(e,0,r)}}catch(r){t(e,0,r)}}else t(e,0,"IndexedDB not available!")}(e,u,d?p:k?e=>{Ur(e,g,p,f,m)}:v);return e},kc:(e,r)=>{var t=0;return Yr().forEach(((a,i)=>{var _=r+t;for(i=w[e+4*i>>2]=_,_=0;_<a.length;++_)p[i++>>0]=a.charCodeAt(_);p[i>>0]=0,t+=a.length+1})),0},lc:(e,r)=>{var t=Yr();w[e>>2]=t.length;var a=0;return t.forEach((e=>a+=e.length+1)),w[r>>2]=a,0},uc:e=>{f=e,or(e)},ca:function(e){try{var r=Pe(e);if(null===r.Sj)throw new ge(8);r.Uj&&(r.Uj=null);try{r.Fj.close&&r.Fj.close(r)}catch(e){throw e}finally{me[r.Sj]=null}return r.Sj=null,0}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return e.Kj}},Pa:function(e,r,t,a){try{e:{var i=Pe(e);e=r;for(var _,n=r=0;n<t;n++){var o=w[e>>2],s=w[e+4>>2];e+=8;var c=i,l=_,d=p;if(0>s||0>l)throw new ge(28);if(null===c.Sj)throw new ge(8);if(1==(2097155&c.flags))throw new ge(8);if(Re(c.node.mode))throw new ge(31);if(!c.Fj.read)throw new ge(28);var h=void 0!==l;if(h){if(!c.seekable)throw new ge(70)}else l=c.position;var u=c.Fj.read(c,d,o,s,l);h||(c.position+=u);var f=u;if(0>f){var b=-1;break e}if(r+=f,f<s)break;void 0!==_&&(_+=f)}b=r}return w[a>>2]=b,0}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return e.Kj}},zb:function(e,r,t,a,i){r=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;try{if(isNaN(r))return 61;var _=Pe(e);return He(_,r,a),x=[_.position>>>0,(A=_.position,1<=+Math.abs(A)?0<A?+Math.floor(A/4294967296)>>>0:~~+Math.ceil((A-+(~~A>>>0))/4294967296)>>>0:0)],v[i>>2]=x[0],v[i+4>>2]=x[1],_.Uj&&0===r&&0===a&&(_.Uj=null),0}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return e.Kj}},va:function(e,r,t,a){try{e:{var i=Pe(e);e=r;for(var _,n=r=0;n<t;n++){var o=w[e>>2],s=w[e+4>>2];e+=8;var c=i,l=o,d=s,h=_,u=p;if(0>d||0>h)throw new ge(28);if(null===c.Sj)throw new ge(8);if(0==(2097155&c.flags))throw new ge(8);if(Re(c.node.mode))throw new ge(31);if(!c.Fj.write)throw new ge(28);c.seekable&&1024&c.flags&&He(c,0,2);var f=void 0!==h;if(f){if(!c.seekable)throw new ge(70)}else h=c.position;var b=c.Fj.write(c,u,l,d,h,void 0);f||(c.position+=b);var m=b;if(0>m){var E=-1;break e}r+=m,void 0!==_&&(_+=m)}E=r}return w[a>>2]=E,0}catch(e){if(void 0===Je||"ErrnoError"!==e.name)throw e;return e.Kj}},Ma:(e,r)=>{_t.bindTexture(e,Jr[r])},Na:(e,r)=>{for(var t=0;t<e;t++){var a=_t.createTexture(),i=a&&Qr(Jr);a?(a.name=i,Jr[i]=a):Hr||=1282,v[r+4*t>>2]=i}},ra:(e,r,t,a,i,_,n,o,s)=>{var c=_t,l=c.texImage2D;if(s){var d=o-5120;d=1==d?b:4==d?v:6==d?g:5==d||28922==d?w:E;var h=31-Math.clz32(d.BYTES_PER_ELEMENT);s=d.subarray(s>>h,s+i*(a*({5:3,6:4,8:2,29502:3,29504:4}[n-6402]||1)*(1<<h)+4-1&-4)>>h)}else s=null;l.call(c,e,r,t,a,i,_,n,o,s)},sa:function(e,r,t){_t.texParameteri(e,r,t)},z:function(e){var r=ut();try{return Br(e)()}catch(e){if(ft(r),e!==e+0)throw e;dt(1,0)}},da:function(e,r){var t=ut();try{return Br(e)(r)}catch(e){if(ft(t),e!==e+0)throw e;dt(1,0)}},wa:function(e,r,t){var a=ut();try{return Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},W:function(e,r,t){var a=ut();try{return Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},V:function(e,r,t,a){var i=ut();try{return Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},ib:function(e,r,t,a,i){var _=ut();try{return Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},za:function(e,r,t,a,i,_,n,o){var s=ut();try{return Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},Mb:function(e,r,t,a,i){var _=ut();try{return Ft(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Ab:function(e,r,t,a,i){var _=ut();try{return Wt(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Q:function(e,r){var t=ut();try{return Br(e)(r)}catch(e){if(ft(t),e!==e+0)throw e;dt(1,0)}},fa:function(e,r,t){var a=ut();try{return Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},ga:function(e,r,t,a){var i=ut();try{return Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},ab:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},t:function(e){var r=ut();try{return Br(e)()}catch(e){if(ft(r),e!==e+0)throw e;dt(1,0)}},Ra:function(e,r,t,a,i){var _=ut();try{return Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Ya:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},b:function(e,r){var t=ut();try{return Br(e)(r)}catch(e){if(ft(t),e!==e+0)throw e;dt(1,0)}},q:function(e,r,t){var a=ut();try{return Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},Aa:function(e,r,t,a){var i=ut();try{return Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},wc:function(e,r,t,a,i){var _=ut();try{return Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},ya:function(e,r,t,a){var i=ut();try{return Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},ha:function(e,r,t){var a=ut();try{return Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},_a:function(e,r,t,a,i){var _=ut();try{return Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Za:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},e:function(e,r,t){var a=ut();try{return Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},U:function(e,r,t,a){var i=ut();try{return Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},jb:function(e,r,t,a,i){var _=ut();try{return Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},vc:function(e,r,t,a,i,_,n,o){var s=ut();try{return Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},Xa:function(e,r,t,a,i,_,n,o,s,c,l,d,h){var u=ut();try{return Br(e)(r,t,a,i,_,n,o,s,c,l,d,h)}catch(e){if(ft(u),e!==e+0)throw e;dt(1,0)}},$a:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},mb:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},d:function(e,r,t,a){var i=ut();try{return Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},Ta:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},l:function(e,r,t,a,i){var _=ut();try{return Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Sa:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},ia:function(e,r,t,a,i,_,n){var o=ut();try{return Br(e)(r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},Ga:function(e,r,t,a,i,_,n,o,s){var c=ut();try{return Br(e)(r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},s:function(e,r,t,a,i,_){var n=ut();try{return Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},B:function(e,r,t,a,i,_,n){var o=ut();try{return Br(e)(r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},x:function(e,r,t,a,i,_,n,o){var s=ut();try{return Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},pb:function(e,r,t,a,i,_,n,o,s,c,l){var d=ut();try{return Br(e)(r,t,a,i,_,n,o,s,c,l)}catch(e){if(ft(d),e!==e+0)throw e;dt(1,0)}},H:function(e,r,t,a,i,_,n,o,s){var c=ut();try{return Br(e)(r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},ba:function(e,r,t,a,i,_,n,o,s,c){var l=ut();try{return Br(e)(r,t,a,i,_,n,o,s,c)}catch(e){if(ft(l),e!==e+0)throw e;dt(1,0)}},M:function(e,r,t,a,i,_,n,o,s,c,l){var d=ut();try{return Br(e)(r,t,a,i,_,n,o,s,c,l)}catch(e){if(ft(d),e!==e+0)throw e;dt(1,0)}},ka:function(e,r,t,a,i,_,n,o,s,c,l,d){var h=ut();try{return Br(e)(r,t,a,i,_,n,o,s,c,l,d)}catch(e){if(ft(h),e!==e+0)throw e;dt(1,0)}},wb:function(e,r,t,a,i,_,n){var o=ut();try{return Xt(e,r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},Jb:function(e,r,t,a,i,_,n,o,s){var c=ut();try{return Ot(e,r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},Cb:function(e,r,t,a,i,_){var n=ut();try{return Gt(e,r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},Rb:function(e,r,t,a,i){var _=ut();try{return xt(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Xb:function(e,r,t,a){var i=ut();try{return St(e,r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},Vb:function(e,r,t,a,i){var _=ut();try{return jt(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Lb:function(e,r,t,a,i,_){var n=ut();try{return Mt(e,r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},Ib:function(e,r,t,a,i,_,n){var o=ut();try{return Ct(e,r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},Tb:function(e,r,t,a,i,_){var n=ut();try{return It(e,r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},Ob:function(e,r,t,a,i,_,n,o,s,c,l,d,h){var u=ut();try{return Tt(e,r,t,a,i,_,n,o,s,c,l,d,h)}catch(e){if(ft(u),e!==e+0)throw e;dt(1,0)}},Db:function(e,r,t,a){var i=ut();try{return Vt(e,r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},_b:function(e){var r=ut();try{return wt(e)}catch(e){if(ft(r),e!==e+0)throw e;dt(1,0)}},Qb:function(e,r){var t=ut();try{return Lt(e,r)}catch(e){if(ft(t),e!==e+0)throw e;dt(1,0)}},Gb:function(e,r,t){var a=ut();try{return Bt(e,r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},Hb:function(e,r,t,a){var i=ut();try{return Dt(e,r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},vb:function(e,r,t,a,i){var _=ut();try{return Yt(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Ub:function(e,r,t,a){var i=ut();try{return At(e,r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},Sb:function(e,r,t,a,i){var _=ut();try{return Rt(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Bb:function(e,r,t){var a=ut();try{return Ht(e,r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},m:function(e){var r=ut();try{Br(e)()}catch(e){if(ft(r),e!==e+0)throw e;dt(1,0)}},Ea:function(e,r,t){var a=ut();try{Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},L:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},g:function(e,r){var t=ut();try{Br(e)(r)}catch(e){if(ft(t),e!==e+0)throw e;dt(1,0)}},Qa:function(e,r,t){var a=ut();try{Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},gb:function(e,r,t,a){var i=ut();try{Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},Ua:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},ma:function(e,r,t,a,i,_,n){var o=ut();try{Br(e)(r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},Wa:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},La:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},aa:function(e,r,t,a){var i=ut();try{Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},R:function(e,r,t,a,i){var _=ut();try{Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},ob:function(e,r,t){var a=ut();try{Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},Va:function(e,r,t,a,i){var _=ut();try{Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},cb:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},f:function(e,r,t){var a=ut();try{Br(e)(r,t)}catch(e){if(ft(a),e!==e+0)throw e;dt(1,0)}},u:function(e,r,t,a){var i=ut();try{Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},O:function(e,r,t,a,i){var _=ut();try{Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},N:function(e,r,t,a){var i=ut();try{Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},_:function(e,r,t,a,i){var _=ut();try{Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Ba:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},db:function(e,r,t,a,i,_,n,o,s){var c=ut();try{Br(e)(r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},P:function(e,r,t,a,i){var _=ut();try{Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},h:function(e,r,t,a){var i=ut();try{Br(e)(r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},ea:function(e,r,t,a,i){var _=ut();try{Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},xa:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},kb:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},Ca:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},ja:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},Ia:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},Y:function(e,r,t,a,i,_,n,o,s,c,l,d){var h=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d)}catch(e){if(ft(h),e!==e+0)throw e;dt(1,0)}},qb:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},pa:function(e,r,t,a,i,_,n){var o=ut();try{Br(e)(r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},j:function(e,r,t,a,i){var _=ut();try{Br(e)(r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},na:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},hb:function(e,r,t,a,i,_,n,o,s){var c=ut();try{Br(e)(r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},rb:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},bb:function(e,r,t,a,i,_,n,o,s,c,l){var d=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l)}catch(e){if(ft(d),e!==e+0)throw e;dt(1,0)}},Ha:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},qa:function(e,r,t,a,i,_,n){var o=ut();try{Br(e)(r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},fb:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},nb:function(e,r,t,a,i,_,n,o,s){var c=ut();try{Br(e)(r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},k:function(e,r,t,a,i,_){var n=ut();try{Br(e)(r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},X:function(e,r,t,a,i,_,n){var o=ut();try{Br(e)(r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},lb:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},$:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},o:function(e,r,t,a,i,_,n){var o=ut();try{Br(e)(r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},y:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},oa:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},p:function(e,r,t,a,i,_,n,o){var s=ut();try{Br(e)(r,t,a,i,_,n,o)}catch(e){if(ft(s),e!==e+0)throw e;dt(1,0)}},v:function(e,r,t,a,i,_,n,o,s,c,l,d,h){var u=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d,h)}catch(e){if(ft(u),e!==e+0)throw e;dt(1,0)}},S:function(e,r,t,a,i,_,n,o,s,c){var l=ut();try{Br(e)(r,t,a,i,_,n,o,s,c)}catch(e){if(ft(l),e!==e+0)throw e;dt(1,0)}},Z:function(e,r,t,a,i,_,n,o,s,c,l,d,h){var u=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d,h)}catch(e){if(ft(u),e!==e+0)throw e;dt(1,0)}},C:function(e,r,t,a,i,_,n,o,s){var c=ut();try{Br(e)(r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},F:function(e,r,t,a,i,_,n,o,s,c){var l=ut();try{Br(e)(r,t,a,i,_,n,o,s,c)}catch(e){if(ft(l),e!==e+0)throw e;dt(1,0)}},I:function(e,r,t,a,i,_,n,o,s,c,l){var d=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l)}catch(e){if(ft(d),e!==e+0)throw e;dt(1,0)}},Da:function(e,r,t,a,i,_,n,o,s,c,l,d){var h=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d)}catch(e){if(ft(h),e!==e+0)throw e;dt(1,0)}},K:function(e,r,t,a,i,_,n,o,s,c,l,d,h,u){var f=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d,h,u)}catch(e){if(ft(f),e!==e+0)throw e;dt(1,0)}},E:function(e,r,t,a,i,_,n,o,s,c,l,d){var h=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d)}catch(e){if(ft(h),e!==e+0)throw e;dt(1,0)}},J:function(e,r,t,a,i,_,n,o,s,c,l,d,h){var u=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d,h)}catch(e){if(ft(u),e!==e+0)throw e;dt(1,0)}},Fa:function(e,r,t,a,i,_,n,o,s,c,l,d,h,u){var f=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d,h,u)}catch(e){if(ft(f),e!==e+0)throw e;dt(1,0)}},eb:function(e,r,t,a,i,_,n,o,s,c,l,d,h,u,f){var p=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d,h,u,f)}catch(e){if(ft(p),e!==e+0)throw e;dt(1,0)}},la:function(e,r,t,a,i,_,n,o,s,c,l,d,h,u,f,p){var b=ut();try{Br(e)(r,t,a,i,_,n,o,s,c,l,d,h,u,f,p)}catch(e){if(ft(b),e!==e+0)throw e;dt(1,0)}},Kb:function(e,r,t,a,i,_,n,o,s){var c=ut();try{Kt(e,r,t,a,i,_,n,o,s)}catch(e){if(ft(c),e!==e+0)throw e;dt(1,0)}},Zb:function(e,r,t,a,i,_){var n=ut();try{Nt(e,r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},$b:function(e,r,t,a,i){var _=ut();try{gt(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Nb:function(e,r,t,a,i,_){var n=ut();try{Pt(e,r,t,a,i,_)}catch(e){if(ft(n),e!==e+0)throw e;dt(1,0)}},Wb:function(e,r,t,a,i,_,n){var o=ut();try{yt(e,r,t,a,i,_,n)}catch(e){if(ft(o),e!==e+0)throw e;dt(1,0)}},Yb:function(e,r,t,a){var i=ut();try{kt(e,r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},Pb:function(e,r,t,a,i){var _=ut();try{zt(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},Eb:function(e,r,t,a){var i=ut();try{Zt(e,r,t,a)}catch(e){if(ft(i),e!==e+0)throw e;dt(1,0)}},Fb:function(e,r,t,a,i){var _=ut();try{Ut(e,r,t,a,i)}catch(e){if(ft(_),e!==e+0)throw e;dt(1,0)}},A:e=>e,bc:(e,r,t,a)=>((e,r,t,a)=>{function i(e,r,t){for(e="number"==typeof e?e.toString():e||"";e.length<r;)e=t[0]+e;return e}function _(e,r){return i(e,r,"0")}function n(e,r){function t(e){return 0>e?-1:0<e?1:0}var a;return 0===(a=t(e.getFullYear()-r.getFullYear()))&&0===(a=t(e.getMonth()-r.getMonth()))&&(a=t(e.getDate()-r.getDate())),a}function o(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function s(e){var r=e.Wj;for(e=new Date(new Date(e.Xj+1900,0,1).getTime());0<r;){var t=e.getMonth(),a=(ar(e.getFullYear())?tt:at)[t];if(!(r>a-e.getDate())){e.setDate(e.getDate()+r);break}r-=a-e.getDate()+1,e.setDate(1),11>t?e.setMonth(t+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return t=new Date(e.getFullYear()+1,0,4),r=o(new Date(e.getFullYear(),0,4)),t=o(t),0>=n(r,e)?0>=n(t,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var c=w[a+40>>2];for(var l in a={Uk:v[a>>2],Tk:v[a+4>>2],kk:v[a+8>>2],sk:v[a+12>>2],lk:v[a+16>>2],Xj:v[a+20>>2],Pj:v[a+24>>2],Wj:v[a+28>>2],ol:v[a+32>>2],Sk:v[a+36>>2],Vk:c&&c?re(b,c):""},t=t?re(b,t):"",c={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})t=t.replace(new RegExp(l,"g"),c[l]);var d="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),h="January February March April May June July August September October November December".split(" ");for(l in c={"%a":e=>d[e.Pj].substring(0,3),"%A":e=>d[e.Pj],"%b":e=>h[e.lk].substring(0,3),"%B":e=>h[e.lk],"%C":e=>_((e.Xj+1900)/100|0,2),"%d":e=>_(e.sk,2),"%e":e=>i(e.sk,2," "),"%g":e=>s(e).toString().substring(2),"%G":s,"%H":e=>_(e.kk,2),"%I":e=>(0==(e=e.kk)?e=12:12<e&&(e-=12),_(e,2)),"%j":e=>{for(var r=0,t=0;t<=e.lk-1;r+=(ar(e.Xj+1900)?tt:at)[t++]);return _(e.sk+r,3)},"%m":e=>_(e.lk+1,2),"%M":e=>_(e.Tk,2),"%n":()=>"\\n","%p":e=>0<=e.kk&&12>e.kk?"AM":"PM","%S":e=>_(e.Uk,2),"%t":()=>"\\t","%u":e=>e.Pj||7,"%U":e=>_(Math.floor((e.Wj+7-e.Pj)/7),2),"%V":e=>{var r=Math.floor((e.Wj+7-(e.Pj+6)%7)/7);if(2>=(e.Pj+371-e.Wj-2)%7&&r++,r)53==r&&(4==(t=(e.Pj+371-e.Wj)%7)||3==t&&ar(e.Xj)||(r=1));else{r=52;var t=(e.Pj+7-e.Wj-1)%7;(4==t||5==t&&ar(e.Xj%400-1))&&r++}return _(r,2)},"%w":e=>e.Pj,"%W":e=>_(Math.floor((e.Wj+7-(e.Pj+6)%7)/7),2),"%y":e=>(e.Xj+1900).toString().substring(2),"%Y":e=>e.Xj+1900,"%z":e=>{var r=0<=(e=e.Sk);return e=Math.abs(e)/60,(r?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":e=>e.Vk,"%%":()=>"%"},t=t.replace(/%%/g,"\\0\\0"),c)t.includes(l)&&(t=t.replace(new RegExp(l,"g"),c[l](a)));return(l=_e(t=t.replace(/\\0\\0/g,"%"),!1)).length>r?0:(p.set(l,e),l.length-1)})(e,r,t,a)},ot=function(){function e(e){return ot=e.exports,u=ot.xc,k(),Kr=ot.Cc,j.unshift(ot.yc),M(),ot}var r={a:nt};if(F(),i.instantiateWasm)try{return i.instantiateWasm(r,e)}catch(e){h(`Module.instantiateWasm callback failed with error: ${e}`),a(e)}return r=function(e){if(R==R&&l)var r=new Uint8Array(l);else{if(!_)throw\'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)\';r=_(R)}return r=new WebAssembly.Module(r),[new WebAssembly.Instance(r,e),r]}(r),e(r[0])}();i._zappar_has_initialized=ot.zc,i._zappar_invert=ot.Ac,i._zappar_loaded=ot.Bc,i._zappar_pipeline_create=ot.Dc,i._zappar_pipeline_destroy=ot.Ec,i._zappar_pipeline_camera_frame_submit=ot.Fc,i._zappar_pipeline_camera_frame_submit_raw_pointer=ot.Gc,i._zappar_pipeline_frame_update=ot.Hc,i._zappar_pipeline_camera_frame_user_data=ot.Ic,i._zappar_pipeline_camera_model=ot.Jc,i._zappar_pipeline_frame_number=ot.Kc,i._zappar_pipeline_camera_frame_data_raw_size=ot.Lc,i._zappar_pipeline_camera_frame_data_raw_width=ot.Mc,i._zappar_pipeline_camera_frame_data_raw_height=ot.Nc,i._zappar_pipeline_camera_frame_data_raw=ot.Oc,i._zappar_pipeline_motion_accelerometer_submit=ot.Pc,i._zappar_pipeline_motion_accelerometer_with_gravity_submit_int=ot.Qc,i._zappar_pipeline_motion_accelerometer_without_gravity_submit_int=ot.Rc,i._zappar_pipeline_motion_rotation_rate_submit_int=ot.Sc,i._zappar_pipeline_motion_attitude_submit_int=ot.Tc,i._zappar_pipeline_motion_rotation_rate_submit=ot.Uc,i._zappar_pipeline_motion_attitude_submit=ot.Vc,i._zappar_pipeline_motion_attitude_matrix_submit=ot.Wc,i._zappar_pipeline_camera_frame_user_facing=ot.Xc,i._zappar_pipeline_camera_frame_texture_matrix=ot.Yc,i._zappar_pipeline_camera_pose_with_attitude=ot.Zc,i._zappar_pipeline_camera_pose_with_origin=ot._c,i._zappar_pipeline_camera_frame_camera_attitude=ot.$c,i._zappar_pipeline_camera_frame_device_attitude=ot.ad,i._zappar_pipeline_camera_frame_texture_gl=ot.bd,i._zappar_pipeline_camera_frame_upload_gl=ot.cd,i._zappar_pipeline_sequence_record_start=ot.dd,i._zappar_pipeline_sequence_record_stop=ot.ed,i._zappar_pipeline_sequence_record_clear=ot.fd,i._zappar_pipeline_sequence_record_device_attitude_matrices_set=ot.gd,i._zappar_pipeline_sequence_record_data_size=ot.hd,i._zappar_pipeline_sequence_record_data=ot.id,i._zappar_pipeline_process_gl=ot.jd,i._zappar_pipeline_camera_pose_default=ot.kd,i._zappar_instant_world_tracker_create=ot.ld,i._zappar_instant_world_tracker_destroy=ot.md,i._zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw=ot.nd,i._zappar_instant_world_tracker_anchor_pose_raw=ot.od,i._zappar_instant_world_tracker_enabled_set=ot.pd,i._zappar_instant_world_tracker_enabled=ot.qd,i._zappar_image_tracker_create=ot.rd,i._zappar_image_tracker_destroy=ot.sd,i._zappar_image_tracker_target_load_from_memory=ot.td,i.__Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc=ot.ud;var st=i._free=ot.vd;i._zappar_image_tracker_anchor_count=ot.wd,i._zappar_image_tracker_anchor_id=ot.xd,i._zappar_image_tracker_anchor_pose_raw=ot.yd,i._zappar_image_tracker_enabled_set=ot.zd,i._zappar_image_tracker_enabled=ot.Ad,i._zappar_image_tracker_target_loaded_version=ot.Bd,i.__Z33zappar_image_tracker_target_countP23zappar_image_tracker_ti=ot.Cd,i.__Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii=ot.Dd,i.__Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii=ot.Ed,i.__Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii=ot.Fd,i.__Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii=ot.Gd,i.__Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii=ot.Hd,i.__Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii=ot.Id,i.__Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii=ot.Jd,i.__Z38zappar_image_tracker_target_radius_topP23zappar_image_tracker_tii=ot.Kd,i.__Z41zappar_image_tracker_target_radius_bottomP23zappar_image_tracker_tii=ot.Ld,i.__Z39zappar_image_tracker_target_side_lengthP23zappar_image_tracker_tii=ot.Md,i.__Z49zappar_image_tracker_target_physical_scale_factorP23zappar_image_tracker_tii=ot.Nd,i.__Z49zappar_image_tracker_target_preview_mesh_verticesP23zappar_image_tracker_tii=ot.Od,i.__Z48zappar_image_tracker_target_preview_mesh_normalsP23zappar_image_tracker_tii=ot.Pd,i.__Z44zappar_image_tracker_target_preview_mesh_uvsP23zappar_image_tracker_tii=ot.Qd,i.__Z48zappar_image_tracker_target_preview_mesh_indicesP23zappar_image_tracker_tii=ot.Rd,i.__Z54zappar_image_tracker_target_preview_mesh_vertices_sizeP23zappar_image_tracker_tii=ot.Sd,i.__Z53zappar_image_tracker_target_preview_mesh_normals_sizeP23zappar_image_tracker_tii=ot.Td,i.__Z49zappar_image_tracker_target_preview_mesh_uvs_sizeP23zappar_image_tracker_tii=ot.Ud,i.__Z53zappar_image_tracker_target_preview_mesh_indices_sizeP23zappar_image_tracker_tii=ot.Vd,i.__Z32zappar_image_tracker_target_typeP23zappar_image_tracker_tii=ot.Wd,i._zappar_face_tracker_create=ot.Xd,i._zappar_face_tracker_destroy=ot.Yd,i._zappar_face_tracker_model_load_from_memory=ot.Zd,i._zappar_face_tracker_anchor_count=ot._d,i._zappar_face_tracker_anchor_id=ot.$d,i._zappar_face_tracker_anchor_pose_raw=ot.ae,i._zappar_face_tracker_anchor_identity_coefficients=ot.be,i._zappar_face_tracker_anchor_expression_coefficients=ot.ce,i._zappar_face_tracker_enabled_set=ot.de,i._zappar_face_tracker_enabled=ot.ee,i._zappar_face_tracker_max_faces_set=ot.fe,i._zappar_face_tracker_max_faces=ot.ge,i._zappar_face_tracker_model_loaded_version=ot.he,i._zappar_face_landmark_create=ot.ie,i._zappar_face_landmark_destroy=ot.je,i.__Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i=ot.ke,i._zappar_face_landmark_anchor_pose=ot.le,i._zappar_barcode_finder_create=ot.me,i._zappar_barcode_finder_destroy=ot.ne,i._zappar_barcode_finder_found_number=ot.oe,i._zappar_barcode_finder_found_text=ot.pe,i._zappar_barcode_finder_enabled_set=ot.qe,i._zappar_barcode_finder_enabled=ot.re,i._zappar_barcode_finder_found_format=ot.se,i._zappar_barcode_finder_formats=ot.te,i._zappar_barcode_finder_formats_set=ot.ue,i._zappar_zapcode_tracker_create=ot.ve,i._zappar_zapcode_tracker_destroy=ot.we,i._zappar_zapcode_tracker_target_load_from_memory=ot.xe,i.__Z44zappar_zapcode_tracker_target_load_from_fileP25zappar_zapcode_tracker_tiPKc=ot.ye,i._zappar_zapcode_tracker_anchor_count=ot.ze,i._zappar_zapcode_tracker_anchor_id=ot.Ae,i._zappar_zapcode_tracker_anchor_pose_raw=ot.Be,i._zappar_zapcode_tracker_enabled_set=ot.Ce,i._zappar_zapcode_tracker_enabled=ot.De,i._zappar_zapcode_tracker_target_loaded_version=ot.Ee;var ct=i._malloc=ot.Fe;i._zappar_face_mesh_create=ot.Ge,i._zappar_face_mesh_destroy=ot.He,i.__Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii=ot.Ie,i.__Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti=ot.Je,i.__Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti=ot.Ke,i.__Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti=ot.Le,i.__Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti=ot.Me,i.__Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti=ot.Ne,i.__Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti=ot.Oe,i.__Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti=ot.Pe,i.__Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i=ot.Qe,i.__Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti=ot.Re,i.__Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti=ot.Se,i._zappar_camera_source_create=ot.Te,i._zappar_camera_source_destroy=ot.Ue,i._zappar_camera_source_start=ot.Ve,i._zappar_camera_source_pause=ot.We,i._zappar_camera_default_device_id=ot.Xe,i._zappar_sequence_source_create=ot.Ye,i.__Z28zappar_sequence_source_startP25zappar_sequence_source_ti=ot.Ze,i.__Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci=ot._e,i.__Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti=ot.$e,i._zappar_sequence_source_destroy=ot.af,i._zappar_sequence_source_max_playback_fps_set=ot.bf,i._zappar_log_level_set=ot.cf,i._zappar_log_level=ot.df,i.__Z23zappar_log_redirect_setPFv18zappar_log_level_tPKcE=ot.ef,i._zappar_world_tracker_create=ot.ff,i._zappar_world_tracker_destroy=ot.gf,i._zappar_world_tracker_world_anchor_valid=ot.hf,i._zappar_world_tracker_plane_count=ot.jf,i._zappar_world_tracker_plane_pose_raw=ot.kf,i._zappar_world_tracker_world_anchor_pose_raw=ot.lf,i._zappar_world_tracker_ground_anchor_valid=ot.mf,i._zappar_world_tracker_ground_anchor_pose_raw=ot.nf,i._zappar_world_tracker_reset=ot.of,i._zappar_world_tracker_enabled_set=ot.pf,i._zappar_world_tracker_quality=ot.qf,i._zappar_world_tracker_enabled=ot.rf,i._zappar_world_tracker_tracks_data_enabled=ot.sf,i._zappar_world_tracker_projections_data_enabled=ot.tf,i._zappar_world_tracker_tracks_data_enabled_set=ot.uf,i._zappar_world_tracker_projections_data_enabled_set=ot.vf,i._zappar_world_tracker_tracks_data=ot.wf,i._zappar_world_tracker_tracks_data_size=ot.xf,i._zappar_world_tracker_projections_data=ot.yf,i._zappar_world_tracker_projections_data_size=ot.zf,i._worker_message_send_count=ot.Af,i._worker_message_send_clear=ot.Bf,i._worker_message_send_data_size=ot.Cf,i._worker_message_send_reference=ot.Df,i._worker_message_send_data=ot.Ef,i._worker_message_receive=ot.Ff,i._ceres_worker=ot.Gf,i._data_download_clear=ot.Hf,i._data_download_size=ot.If,i._data_download=ot.Jf,i._data_should_record_set=ot.Kf,i._zappar_analytics_project_id_set=ot.Lf,i.__ZN5boost13serialization16singleton_module8get_lockEv=ot.Mf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN10SLAMSystem19InitializationInputEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Nf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__23mapIi5FrameNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Of,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__24pairIKi5FrameEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Pf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveE5FrameE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Qf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__23mapIiN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEENS4_4lessIiEENS4_9allocatorINS4_4pairIKiS8_EEEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Rf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__24pairIKiN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Sf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Tf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam5Pose3EE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Uf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Vf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__26bitsetILm1EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Wf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__26vectorI3ImuNS4_9allocatorIS6_EEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Xf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveE3ImuE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Yf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__23mapIi12WorldFeatureNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Zf,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__24pairIKi12WorldFeatureEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot._f,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveE12WorldFeatureE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.$f,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__210shared_ptrIN5gtsam7Cal3_S2EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.ag,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam7Cal3_S2EE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.bg,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5Eigen6MatrixIdLi5ELi1ELi0ELi5ELi1EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.cg,i.__ZNK5boost7archive6detail19pointer_iserializerINS0_15binary_iarchiveEN5gtsam7Cal3_S2EE15load_object_ptrERNS1_14basic_iarchiveEPvj=ot.dg,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN10SLAMSystem10ParametersEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.eg,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN2cv12TermCriteriaEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.fg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN10SLAMSystem20InitializationResultEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.gg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN10SLAMSystem19InitializationInputEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.hg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__23mapIi5FrameNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ig,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__24pairIKi5FrameEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.jg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveE5FrameE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.kg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__23mapIiN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEENS4_4lessIiEENS4_9allocatorINS4_4pairIKiS8_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.lg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__24pairIKiN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.mg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ng,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam5Pose3EE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.og,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.pg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__26bitsetILm1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.qg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__26vectorI3ImuNS4_9allocatorIS6_EEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.rg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveE3ImuE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.sg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__23mapIi12WorldFeatureNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.tg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__24pairIKi12WorldFeatureEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ug,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveE12WorldFeatureE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.vg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__210shared_ptrIN5gtsam7Cal3_S2EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.wg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam7Cal3_S2EE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.xg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5Eigen6MatrixIdLi5ELi1ELi0ELi5ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.yg,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_15binary_oarchiveEN5gtsam7Cal3_S2EE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.zg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN10SLAMSystem10ParametersEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ag,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN2cv12TermCriteriaEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Bg,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN10SLAMSystem20InitializationResultEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Cg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveE9RecordingE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Dg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__26vectorI11SensorEventNS4_9allocatorIS6_EEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Eg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveE11SensorEventE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Fg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5Eigen6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Gg,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__23setIiNS4_4lessIiEENS4_9allocatorIiEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Hg,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__26bitsetILm2EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Ig,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__23setIiNS4_4lessIiEENS4_9allocatorIiEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Jg,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__26bitsetILm2EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Kg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5Eigen6MatrixIdLi3ELi1ELi0ELi3ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Lg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5Eigen6MatrixIdLi5ELi1ELi0ELi5ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Mg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__23setIiNS4_4lessIiEENS4_9allocatorIiEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ng,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__26bitsetILm2EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Og,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__23mapIi5FrameNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Pg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__24pairIKi5FrameEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Qg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveE5FrameE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Rg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__23mapIiN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEENS4_4lessIiEENS4_9allocatorINS4_4pairIKiS8_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Sg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__24pairIKiN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Tg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5Eigen6MatrixIdLi2ELi1ELi0ELi2ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ug,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam5Pose3EE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Vg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__26bitsetILm1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Wg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__26vectorI3ImuNS4_9allocatorIS6_EEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Xg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveE3ImuE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Yg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__23mapIi12WorldFeatureNS4_4lessIiEENS4_9allocatorINS4_4pairIKiS6_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Zg,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__24pairIKi12WorldFeatureEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot._g,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveE12WorldFeatureE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.$g,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_iarchiveEN5gtsam5Pose3EE11instantiateEv=ot.ah,i.__ZNK5boost7archive6detail19pointer_iserializerINS0_15binary_iarchiveEN5gtsam5Pose3EE15load_object_ptrERNS1_14basic_iarchiveEPvj=ot.bh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_oarchiveEN5gtsam5Pose3EE11instantiateEv=ot.ch,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_15binary_oarchiveEN5gtsam5Pose3EE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.dh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_12xml_oarchiveEN5gtsam5Pose3EE11instantiateEv=ot.eh,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_12xml_oarchiveEN5gtsam5Pose3EE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.fh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_iarchiveEN5gtsam21LinearContainerFactorEE11instantiateEv=ot.gh,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam21LinearContainerFactorEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.hh,i.__ZN5boost13serialization18void_cast_registerIN5gtsam21LinearContainerFactorENS2_15NonlinearFactorEEERKNS0_16void_cast_detail11void_casterEPKT_PKT0_=ot.ih,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam15NonlinearFactorEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.jh,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__210shared_ptrIN5gtsam14GaussianFactorEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.kh,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__28optionalIN5gtsam6ValuesEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.lh,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam6ValuesEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.mh,i.__ZNK5boost7archive6detail19pointer_iserializerINS0_15binary_iarchiveEN5gtsam21LinearContainerFactorEE15load_object_ptrERNS1_14basic_iarchiveEPvj=ot.nh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_oarchiveEN5gtsam21LinearContainerFactorEE11instantiateEv=ot.oh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam21LinearContainerFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ph,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam15NonlinearFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.qh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__210shared_ptrIN5gtsam14GaussianFactorEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.rh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__28optionalIN5gtsam6ValuesEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.sh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam6ValuesEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.th,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_15binary_oarchiveEN5gtsam21LinearContainerFactorEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.uh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_12xml_oarchiveEN5gtsam21LinearContainerFactorEE11instantiateEv=ot.vh,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam21LinearContainerFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.wh,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam15NonlinearFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.xh,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__210shared_ptrIN5gtsam14GaussianFactorEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.yh,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__28optionalIN5gtsam6ValuesEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.zh,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam6ValuesEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ah,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_12xml_oarchiveEN5gtsam21LinearContainerFactorEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.Bh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_iarchiveEN5gtsam13HessianFactorEE11instantiateEv=ot.Ch,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam13HessianFactorEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Dh,i.__ZNK5boost7archive6detail19pointer_iserializerINS0_15binary_iarchiveEN5gtsam13HessianFactorEE15load_object_ptrERNS1_14basic_iarchiveEPvj=ot.Eh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_oarchiveEN5gtsam13HessianFactorEE11instantiateEv=ot.Fh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam13HessianFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Gh,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_15binary_oarchiveEN5gtsam13HessianFactorEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.Hh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_12xml_oarchiveEN5gtsam13HessianFactorEE11instantiateEv=ot.Ih,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam13HessianFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Jh,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_12xml_oarchiveEN5gtsam13HessianFactorEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.Kh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_iarchiveEN5gtsam14JacobianFactorEE11instantiateEv=ot.Lh,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam14JacobianFactorEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Mh,i.__ZNK5boost7archive6detail19pointer_iserializerINS0_15binary_iarchiveEN5gtsam14JacobianFactorEE15load_object_ptrERNS1_14basic_iarchiveEPvj=ot.Nh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_15binary_oarchiveEN5gtsam14JacobianFactorEE11instantiateEv=ot.Oh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam14JacobianFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ph,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_15binary_oarchiveEN5gtsam14JacobianFactorEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.Qh,i.__ZN5boost7archive6detail25ptr_serialization_supportINS0_12xml_oarchiveEN5gtsam14JacobianFactorEE11instantiateEv=ot.Rh,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam14JacobianFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Sh,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_12xml_oarchiveEN5gtsam14JacobianFactorEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.Th,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5Eigen6MatrixIdLi6ELi1ELi0ELi6ELi1EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Uh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5Eigen6MatrixIdLi6ELi1ELi0ELi6ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Vh,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5Eigen6MatrixIdLi6ELi1ELi0ELi6ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Wh,i.__ZN5boost13serialization18void_cast_registerIN5gtsam10noiseModel8DiagonalENS3_8GaussianEEERKNS0_16void_cast_detail11void_casterEPKT_PKT0_=ot.Xh,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam10noiseModel8GaussianEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Yh,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5Eigen6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Zh,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam10noiseModel8GaussianEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot._h,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5Eigen6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.$h,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam10noiseModel8GaussianEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ai,i.__ZN5boost13serialization18void_cast_registerIN5gtsam15NonlinearFactorENS2_6FactorEEERKNS0_16void_cast_detail11void_casterEPKT_PKT0_=ot.bi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam6FactorEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.ci,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam6FactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.di,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam6FactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ei,i.__ZN5boost13serialization18void_cast_registerIN5gtsam14GaussianFactorENS2_6FactorEEERKNS0_16void_cast_detail11void_casterEPKT_PKT0_=ot.fi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.gi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__26vectorIlNS4_9allocatorIlEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.hi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ii,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__26vectorIlNS4_9allocatorIlEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ji,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5Eigen6MatrixIdLin1ELin1ELi0ELin1ELin1EEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ki,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__26vectorIlNS4_9allocatorIlEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.li,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__23mapIyNS4_10unique_ptrIN5gtsam5ValueENS4_14default_deleteIS8_EEEENS4_4lessIyEENS4_9allocatorINS4_4pairIKySB_EEEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.mi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__24pairIKyNS4_10unique_ptrIN5gtsam5ValueENS4_14default_deleteIS9_EEEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.ni,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__210unique_ptrIN5gtsam5ValueENS4_14default_deleteIS7_EEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.oi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__23mapIyRKN5gtsam5ValueENS4_4lessIyEENS4_9allocatorINS4_4pairIKyS9_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.pi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__24pairIKyRKN5gtsam5ValueEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.qi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam5ValueEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ri,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__23mapIyRKN5gtsam5ValueENS4_4lessIyEENS4_9allocatorINS4_4pairIKyS9_EEEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.si,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__24pairIKyRKN5gtsam5ValueEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ti,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam5ValueEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.ui,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__26vectorIyNS4_9allocatorIyEEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.vi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__26vectorIyNS4_9allocatorIyEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.wi,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__26vectorIyNS4_9allocatorIyEEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.xi,i.__ZN5boost13serialization18void_cast_registerIN5gtsam14JacobianFactorENS2_14GaussianFactorEEERKNS0_16void_cast_detail11void_casterEPKT_PKT0_=ot.yi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam14GaussianFactorEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.zi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam19VerticalBlockMatrixEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Ai,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveENSt3__210shared_ptrIN5gtsam10noiseModel8DiagonalEEEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Bi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam10noiseModel8DiagonalEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Ci,i.__ZNK5boost7archive6detail19pointer_iserializerINS0_15binary_iarchiveEN5gtsam10noiseModel8DiagonalEE15load_object_ptrERNS1_14basic_iarchiveEPvj=ot.Di,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam14GaussianFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ei,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam19VerticalBlockMatrixEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Fi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveENSt3__210shared_ptrIN5gtsam10noiseModel8DiagonalEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Gi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam10noiseModel8DiagonalEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Hi,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_15binary_oarchiveEN5gtsam10noiseModel8DiagonalEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.Ii,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam14GaussianFactorEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ji,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam19VerticalBlockMatrixEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ki,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveENSt3__210shared_ptrIN5gtsam10noiseModel8DiagonalEEEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Li,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam10noiseModel8DiagonalEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Mi,i.__ZNK5boost7archive6detail19pointer_oserializerINS0_12xml_oarchiveEN5gtsam10noiseModel8DiagonalEE15save_object_ptrERNS1_14basic_oarchiveEPKv=ot.Ni,i.__ZN5boost13serialization18void_cast_registerIN5gtsam13HessianFactorENS2_14GaussianFactorEEERKNS0_16void_cast_detail11void_casterEPKT_PKT0_=ot.Oi,i.__ZNK5boost7archive6detail11iserializerINS0_15binary_iarchiveEN5gtsam20SymmetricBlockMatrixEE16load_object_dataERNS1_14basic_iarchiveEPvj=ot.Pi,i.__ZNK5boost7archive6detail11oserializerINS0_15binary_oarchiveEN5gtsam20SymmetricBlockMatrixEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Qi,i.__ZNK5boost7archive6detail11oserializerINS0_12xml_oarchiveEN5gtsam20SymmetricBlockMatrixEE16save_object_dataERNS1_14basic_oarchiveEPKv=ot.Ri;var lt,dt=ot.Si,ht=ot.Ti,ut=ot.Ui,ft=ot.Vi,pt=ot.Wi,bt=ot.Xi,mt=ot.Yi,Et=ot.Zi,vt=ot._i,wt=i.dynCall_j=ot.$i,gt=i.dynCall_viij=ot.aj,yt=i.dynCall_viijii=ot.bj,Nt=i.dynCall_viiij=ot.cj,kt=i.dynCall_vij=ot.dj,St=i.dynCall_iij=ot.ej,jt=i.dynCall_iiji=ot.fj,zt=i.dynCall_viji=ot.gj,It=i.dynCall_iijj=ot.hj,Rt=i.dynCall_jiji=ot.ij,At=i.dynCall_jij=ot.jj,xt=i.dynCall_iiij=ot.kj,Lt=i.dynCall_ji=ot.lj,Tt=i.dynCall_iijjjjji=ot.mj,Pt=i.dynCall_viiji=ot.nj,Ft=i.dynCall_diji=ot.oj,Mt=i.dynCall_iijii=ot.pj,Kt=i.dynCall_viiiijii=ot.qj,Ot=i.dynCall_iiiiijii=ot.rj,Ct=i.dynCall_iijiii=ot.sj,Dt=i.dynCall_jiii=ot.tj,Bt=i.dynCall_jii=ot.uj,Ut=i.dynCall_vjii=ot.vj,Zt=i.dynCall_vji=ot.wj,Vt=i.dynCall_iji=ot.xj,Gt=i.dynCall_iiiij=ot.yj,Ht=i.dynCall_jj=ot.zj,Wt=i.dynCall_djj=ot.Aj,Xt=i.dynCall_iiiiij=ot.Bj,Yt=i.dynCall_jiiii=ot.Cj;function qt(){function e(){if(!lt&&(lt=!0,i.calledRun=!0,!N)){if(i.noFSInit||Me||(Me=!0,i.stdin=i.stdin,i.stdout=i.stdout,i.stderr=i.stderr,i.stdin?We("stdin",i.stdin):Ze("/dev/tty","/dev/stdin"),i.stdout?We("stdout",null,i.stdout):Ze("/dev/tty","/dev/stdout"),i.stderr?We("stderr",null,i.stderr):Ze("/dev/tty1","/dev/stderr"),Ge("/dev/stdin",0),Ge("/dev/stdout",1),Ge("/dev/stderr",1)),we=!1,D(j),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var e=i.postRun.shift();z.unshift(e)}D(z)}}if(!(0<L)){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)I();D(S),0<L||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e())}}if(i.___start_em_js=681908,i.___stop_em_js=683073,i.cwrap=(e,r,t,a)=>{var _=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&_&&!a?i["_"+e]:function(){return((e,r,t,a)=>{var _={string:e=>{var r=0;if(null!=e&&0!==e){r=ae(e)+1;var t=pt(r);ie(e,b,t,r),r=t}return r},array:e=>{var r=pt(e.length);return p.set(e,r),r}};e=i["_"+e];var n,o=[],s=0;if(a)for(var c=0;c<a.length;c++){var l=_[t[c]];l?(0===s&&(s=ut()),o[c]=l(a[c])):o[c]=a[c]}return n=t=e.apply(null,o),0!==s&&ft(s),"string"===r?n?re(b,n):"":"boolean"===r?!!n:n})(e,r,t,arguments)}},i.setValue=function(e,r,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":p[e>>0]=r;break;case"i16":m[e>>1]=r;break;case"i32":v[e>>2]=r;break;case"i64":K("to do setValue(i64) use WASM_BIGINT");case"float":g[e>>2]=r;break;case"double":y[e>>3]=r;break;case"*":w[e>>2]=r;break;default:K(`invalid type for setValue: ${t}`)}},i.getValue=function(e,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":return p[e>>0];case"i16":return m[e>>1];case"i32":return v[e>>2];case"i64":K("to do getValue(i64) use WASM_BIGINT");case"float":return g[e>>2];case"double":return y[e>>3];case"*":return w[e>>2];default:K(`invalid type for getValue: ${r}`)}},i.UTF8ToString=$e,P=function e(){lt||qt(),lt||(P=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);0<i.preInit.length;)i.preInit.pop()();return qt(),r});class a{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),floatArray:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let r,t=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=t)return;if(!r){let e=t;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,r=new ArrayBuffer(e)}let a=this._buffer?this._i32View:void 0;this._buffer=r,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),a&&this._i32View.set(a.subarray(0,this._offset))}sendMessage(e,r){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,r(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout((()=>{this._timeoutSet=!1,this._send()}),0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let r=0;r<e.length;++r)this._i32View[this._offset+r]=e[r];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let r=0;r<e.length;++r)this._f32View[this._offset+r]=e[r];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let r=0;r<e.length;++r)this._i32View[this._offset+r]=e[r]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let r=new Uint8Array(e);this.uint8ArrayBuffer(r)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let r=2*this._offset;this._u16View.set(e,r),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let r=(new TextEncoder).encode(e);this._ensureArrayBuffer(r.byteLength/4),this._i32View[this._offset]=r.byteLength,this._offset++,this._u8View.set(r,4*this._offset),this._offset+=r.byteLength>>2,0!=(3&r.byteLength)&&this._offset++}}class i{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],r=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,r},dataWithLength:()=>{let e=this._i32View[this._startOffset++],r=new Uint8Array(e);return r.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=r.byteLength>>2,0!=(3&r.byteLength)&&this._startOffset++,r.buffer},floatArray:()=>{let e=this._i32View[this._startOffset++],r=new Float32Array(e);return r.set(this._f32View.subarray(this._startOffset,this._startOffset+e)),this._startOffset+=e,r},matrix4x4:()=>{let e=this._i32View[this._startOffset++],r=new Float32Array(e);return r.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,r},matrix3x3:()=>{let e=this._i32View[this._startOffset++],r=new Float32Array(e);return r.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,r},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],r=new Float32Array(e);return r.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,r},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],r=new Float32Array(e);return r.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,r},cameraModel:()=>{let e=this._i32View[this._startOffset++],r=new Float32Array(e);return r.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,r},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let r=this._i32View[this._offset],t=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=r,e(t,this._processor)}}}class _{constructor(e,r){this._impl=e,this._sender=r,this._deserializer=new i,this.serializersByPipelineId=new Map,this._pipeline_id_by_pipeline_id=new Map,this._pipeline_by_instance=new Map,this._pipeline_id_by_camera_source_id=new Map,this._camera_source_by_instance=new Map,this._pipeline_id_by_sequence_source_id=new Map,this._sequence_source_by_instance=new Map,this._pipeline_id_by_image_tracker_id=new Map,this._image_tracker_by_instance=new Map,this._pipeline_id_by_face_tracker_id=new Map,this._face_tracker_by_instance=new Map,this._pipeline_id_by_face_mesh_id=new Map,this._face_mesh_by_instance=new Map,this._pipeline_id_by_face_landmark_id=new Map,this._face_landmark_by_instance=new Map,this._pipeline_id_by_barcode_finder_id=new Map,this._barcode_finder_by_instance=new Map,this._pipeline_id_by_instant_world_tracker_id=new Map,this._instant_world_tracker_by_instance=new Map,this._pipeline_id_by_zapcode_tracker_id=new Map,this._zapcode_tracker_by_instance=new Map,this._pipeline_id_by_world_tracker_id=new Map,this._world_tracker_by_instance=new Map}processBuffer(e){this._deserializer.setData(e),this._deserializer.forMessages(((e,r)=>{switch(e){case 38:this._impl.log_level_set(r.logLevel());break;case 35:this._impl.analytics_project_id_set(r.string(),r.string());break;case 31:{let e=r.type(),t=this._impl.pipeline_create();this._pipeline_by_instance.set(e,t),this._pipeline_id_by_pipeline_id.set(e,e),this.serializersByPipelineId.set(e,new a((r=>{this._sender(e,r)})));break}case 32:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_destroy(t),this._pipeline_by_instance.delete(e);break}case 9:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_frame_update(t);break}case 8:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_camera_frame_submit(t,r.dataWithLength(),r.int(),r.int(),r.int(),r.matrix4x4(),r.cameraModel(),r.bool());break}case 10:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_accelerometer_submit(t,r.timestamp(),r.float(),r.float(),r.float());break}case 12:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_accelerometer_with_gravity_submit_int(t,r.timestamp(),r.timestamp(),r.float(),r.float(),r.float());break}case 11:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_accelerometer_without_gravity_submit_int(t,r.timestamp(),r.timestamp(),r.float(),r.float(),r.float());break}case 15:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_rotation_rate_submit(t,r.timestamp(),r.float(),r.float(),r.float());break}case 13:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_rotation_rate_submit_int(t,r.timestamp(),r.timestamp(),r.float(),r.float(),r.float());break}case 16:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_attitude_submit(t,r.timestamp(),r.float(),r.float(),r.float());break}case 14:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_attitude_submit_int(t,r.timestamp(),r.timestamp(),r.float(),r.float(),r.float());break}case 17:{let e=r.type(),t=this._pipeline_by_instance.get(e);if(void 0===t)return;this._impl.pipeline_motion_attitude_matrix_submit(t,r.matrix4x4());break}case 33:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=r.string(),_=this._impl.camera_source_create(a,i);this._camera_source_by_instance.set(e,_),this._pipeline_id_by_camera_source_id.set(e,t);break}case 34:{let e=r.type(),t=this._camera_source_by_instance.get(e);if(void 0===t)return;this._impl.camera_source_destroy(t),this._camera_source_by_instance.delete(e);break}case 39:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=this._impl.sequence_source_create(a);this._sequence_source_by_instance.set(e,i),this._pipeline_id_by_sequence_source_id.set(e,t);break}case 40:{let e=r.type(),t=this._sequence_source_by_instance.get(e);if(void 0===t)return;this._impl.sequence_source_destroy(t),this._sequence_source_by_instance.delete(e);break}case 2:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=this._impl.image_tracker_create(a);this._image_tracker_by_instance.set(e,i),this._pipeline_id_by_image_tracker_id.set(e,t);break}case 18:{let e=r.type(),t=this._image_tracker_by_instance.get(e);if(void 0===t)return;this._impl.image_tracker_destroy(t),this._image_tracker_by_instance.delete(e);break}case 4:{let e=r.type(),t=this._image_tracker_by_instance.get(e);if(void 0===t)return;this._impl.image_tracker_target_load_from_memory(t,r.dataWithLength());break}case 3:{let e=r.type(),t=this._image_tracker_by_instance.get(e);if(void 0===t)return;this._impl.image_tracker_enabled_set(t,r.bool());break}case 24:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=this._impl.face_tracker_create(a);this._face_tracker_by_instance.set(e,i),this._pipeline_id_by_face_tracker_id.set(e,t);break}case 25:{let e=r.type(),t=this._face_tracker_by_instance.get(e);if(void 0===t)return;this._impl.face_tracker_destroy(t),this._face_tracker_by_instance.delete(e);break}case 26:{let e=r.type(),t=this._face_tracker_by_instance.get(e);if(void 0===t)return;this._impl.face_tracker_model_load_from_memory(t,r.dataWithLength());break}case 27:{let e=r.type(),t=this._face_tracker_by_instance.get(e);if(void 0===t)return;this._impl.face_tracker_enabled_set(t,r.bool());break}case 28:{let e=r.type(),t=this._face_tracker_by_instance.get(e);if(void 0===t)return;this._impl.face_tracker_max_faces_set(t,r.int());break}case 29:{let e=r.type(),t=this._impl.face_mesh_create();this._face_mesh_by_instance.set(e,t);break}case 30:{let e=r.type(),t=this._face_mesh_by_instance.get(e);if(void 0===t)return;this._impl.face_mesh_destroy(t),this._face_mesh_by_instance.delete(e);break}case 36:{let e=r.type(),t=r.faceLandmarkName(),a=this._impl.face_landmark_create(t);this._face_landmark_by_instance.set(e,a);break}case 37:{let e=r.type(),t=this._face_landmark_by_instance.get(e);if(void 0===t)return;this._impl.face_landmark_destroy(t),this._face_landmark_by_instance.delete(e);break}case 20:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=this._impl.barcode_finder_create(a);this._barcode_finder_by_instance.set(e,i),this._pipeline_id_by_barcode_finder_id.set(e,t);break}case 21:{let e=r.type(),t=this._barcode_finder_by_instance.get(e);if(void 0===t)return;this._impl.barcode_finder_destroy(t),this._barcode_finder_by_instance.delete(e);break}case 22:{let e=r.type(),t=this._barcode_finder_by_instance.get(e);if(void 0===t)return;this._impl.barcode_finder_enabled_set(t,r.bool());break}case 23:{let e=r.type(),t=this._barcode_finder_by_instance.get(e);if(void 0===t)return;this._impl.barcode_finder_formats_set(t,r.barcodeFormat());break}case 5:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=this._impl.instant_world_tracker_create(a);this._instant_world_tracker_by_instance.set(e,i),this._pipeline_id_by_instant_world_tracker_id.set(e,t);break}case 19:{let e=r.type(),t=this._instant_world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.instant_world_tracker_destroy(t),this._instant_world_tracker_by_instance.delete(e);break}case 6:{let e=r.type(),t=this._instant_world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.instant_world_tracker_enabled_set(t,r.bool());break}case 7:{let e=r.type(),t=this._instant_world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(t,r.float(),r.float(),r.float(),r.instantTrackerTransformOrientation());break}case 41:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=this._impl.zapcode_tracker_create(a);this._zapcode_tracker_by_instance.set(e,i),this._pipeline_id_by_zapcode_tracker_id.set(e,t);break}case 44:{let e=r.type(),t=this._zapcode_tracker_by_instance.get(e);if(void 0===t)return;this._impl.zapcode_tracker_destroy(t),this._zapcode_tracker_by_instance.delete(e);break}case 43:{let e=r.type(),t=this._zapcode_tracker_by_instance.get(e);if(void 0===t)return;this._impl.zapcode_tracker_target_load_from_memory(t,r.dataWithLength());break}case 42:{let e=r.type(),t=this._zapcode_tracker_by_instance.get(e);if(void 0===t)return;this._impl.zapcode_tracker_enabled_set(t,r.bool());break}case 45:{let e=r.type(),t=r.type(),a=this._pipeline_by_instance.get(t),i=this._impl.world_tracker_create(a);this._world_tracker_by_instance.set(e,i),this._pipeline_id_by_world_tracker_id.set(e,t);break}case 46:{let e=r.type(),t=this._world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.world_tracker_destroy(t),this._world_tracker_by_instance.delete(e);break}case 47:{let e=r.type(),t=this._world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.world_tracker_enabled_set(t,r.bool());break}case 48:{let e=r.type(),t=this._world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.world_tracker_reset(t);break}case 49:{let e=r.type(),t=this._world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.world_tracker_tracks_data_enabled_set(t,r.bool());break}case 50:{let e=r.type(),t=this._world_tracker_by_instance.get(e);if(void 0===t)return;this._impl.world_tracker_projections_data_enabled_set(t,r.bool());break}}}))}exploreState(){for(let[e,r]of this._pipeline_by_instance){let t=this._pipeline_id_by_pipeline_id.get(e);if(!t)continue;let a=this.serializersByPipelineId.get(t);a&&(a.sendMessage(7,(t=>{t.type(e),t.int(this._impl.pipeline_frame_number(r))})),a.sendMessage(6,(t=>{t.type(e),t.cameraModel(this._impl.pipeline_camera_model(r))})),a.sendMessage(5,(t=>{t.type(e),t.int(this._impl.pipeline_camera_frame_user_data(r))})),a.sendMessage(11,(t=>{t.type(e),t.matrix4x4(this._impl.pipeline_camera_frame_camera_attitude(r))})),a.sendMessage(12,(t=>{t.type(e),t.matrix4x4(this._impl.pipeline_camera_frame_device_attitude(r))})))}for(let[e,r]of this._camera_source_by_instance){let r=this._pipeline_id_by_camera_source_id.get(e);r&&this.serializersByPipelineId.get(r)}for(let[e,r]of this._sequence_source_by_instance){let r=this._pipeline_id_by_sequence_source_id.get(e);r&&this.serializersByPipelineId.get(r)}for(let[e,r]of this._image_tracker_by_instance){let t=this._pipeline_id_by_image_tracker_id.get(e);if(!t)continue;let a=this.serializersByPipelineId.get(t);if(a){a.sendMessage(19,(t=>{t.type(e),t.int(this._impl.image_tracker_target_loaded_version(r))})),a.sendMessage(1,(t=>{t.type(e),t.int(this._impl.image_tracker_anchor_count(r))}));for(let t=0;t<this._impl.image_tracker_anchor_count(r);t++)a.sendMessage(2,(a=>{a.type(e),a.int(t),a.string(this._impl.image_tracker_anchor_id(r,t))}));for(let t=0;t<this._impl.image_tracker_anchor_count(r);t++)a.sendMessage(3,(a=>{a.type(e),a.int(t),a.matrix4x4(this._impl.image_tracker_anchor_pose_raw(r,t))}))}}for(let[e,r]of this._face_tracker_by_instance){let t=this._pipeline_id_by_face_tracker_id.get(e);if(!t)continue;let a=this.serializersByPipelineId.get(t);if(a){a.sendMessage(18,(t=>{t.type(e),t.int(this._impl.face_tracker_model_loaded_version(r))})),a.sendMessage(13,(t=>{t.type(e),t.int(this._impl.face_tracker_anchor_count(r))}));for(let t=0;t<this._impl.face_tracker_anchor_count(r);t++)a.sendMessage(14,(a=>{a.type(e),a.int(t),a.string(this._impl.face_tracker_anchor_id(r,t))}));for(let t=0;t<this._impl.face_tracker_anchor_count(r);t++)a.sendMessage(15,(a=>{a.type(e),a.int(t),a.matrix4x4(this._impl.face_tracker_anchor_pose_raw(r,t))}));for(let t=0;t<this._impl.face_tracker_anchor_count(r);t++)a.sendMessage(16,(a=>{a.type(e),a.int(t),a.identityCoefficients(this._impl.face_tracker_anchor_identity_coefficients(r,t))}));for(let t=0;t<this._impl.face_tracker_anchor_count(r);t++)a.sendMessage(17,(a=>{a.type(e),a.int(t),a.expressionCoefficients(this._impl.face_tracker_anchor_expression_coefficients(r,t))}))}}for(let[e,r]of this._face_mesh_by_instance){let r=this._pipeline_id_by_face_mesh_id.get(e);r&&this.serializersByPipelineId.get(r)}for(let[e,r]of this._face_landmark_by_instance){let r=this._pipeline_id_by_face_landmark_id.get(e);r&&this.serializersByPipelineId.get(r)}for(let[e,r]of this._barcode_finder_by_instance){let t=this._pipeline_id_by_barcode_finder_id.get(e);if(!t)continue;let a=this.serializersByPipelineId.get(t);if(a){a.sendMessage(8,(t=>{t.type(e),t.int(this._impl.barcode_finder_found_number(r))}));for(let t=0;t<this._impl.barcode_finder_found_number(r);t++)a.sendMessage(9,(a=>{a.type(e),a.int(t),a.string(this._impl.barcode_finder_found_text(r,t))}));for(let t=0;t<this._impl.barcode_finder_found_number(r);t++)a.sendMessage(10,(a=>{a.type(e),a.int(t),a.barcodeFormat(this._impl.barcode_finder_found_format(r,t))}))}}for(let[e,r]of this._instant_world_tracker_by_instance){let t=this._pipeline_id_by_instant_world_tracker_id.get(e);if(!t)continue;let a=this.serializersByPipelineId.get(t);a&&a.sendMessage(4,(t=>{t.type(e),t.matrix4x4(this._impl.instant_world_tracker_anchor_pose_raw(r))}))}for(let[e,r]of this._zapcode_tracker_by_instance){let t=this._pipeline_id_by_zapcode_tracker_id.get(e);if(!t)continue;let a=this.serializersByPipelineId.get(t);if(a){a.sendMessage(24,(t=>{t.type(e),t.int(this._impl.zapcode_tracker_target_loaded_version(r))})),a.sendMessage(21,(t=>{t.type(e),t.int(this._impl.zapcode_tracker_anchor_count(r))}));for(let t=0;t<this._impl.zapcode_tracker_anchor_count(r);t++)a.sendMessage(22,(a=>{a.type(e),a.int(t),a.string(this._impl.zapcode_tracker_anchor_id(r,t))}));for(let t=0;t<this._impl.zapcode_tracker_anchor_count(r);t++)a.sendMessage(23,(a=>{a.type(e),a.int(t),a.matrix4x4(this._impl.zapcode_tracker_anchor_pose_raw(r,t))}))}}for(let[e,r]of this._world_tracker_by_instance){let t=this._pipeline_id_by_world_tracker_id.get(e);if(!t)continue;let a=this.serializersByPipelineId.get(t);if(a){a.sendMessage(31,(t=>{t.type(e),t.int(this._impl.world_tracker_quality(r))})),a.sendMessage(25,(t=>{t.type(e),t.int(this._impl.world_tracker_plane_count(r))}));for(let t=0;t<this._impl.world_tracker_plane_count(r);t++)a.sendMessage(26,(a=>{a.type(e),a.int(t),a.matrix4x4(this._impl.world_tracker_plane_pose_raw(r,t))}));a.sendMessage(27,(t=>{t.type(e),t.bool(this._impl.world_tracker_world_anchor_valid(r))})),a.sendMessage(28,(t=>{t.type(e),t.matrix4x4(this._impl.world_tracker_world_anchor_pose_raw(r))})),a.sendMessage(27,(t=>{t.type(e),t.bool(this._impl.world_tracker_ground_anchor_valid(r))})),a.sendMessage(30,(t=>{t.type(e),t.matrix4x4(this._impl.world_tracker_ground_anchor_pose_raw(r))})),a.sendMessage(34,(t=>{t.type(e),t.int(this._impl.world_tracker_tracks_data_size(r))})),a.sendMessage(33,(t=>{t.type(e),t.floatArray(this._impl.world_tracker_tracks_data(r))})),a.sendMessage(37,(t=>{t.type(e),t.int(this._impl.world_tracker_projections_data_size(r))})),a.sendMessage(36,(t=>{t.type(e),t.floatArray(this._impl.world_tracker_projections_data(r))}))}}}}class n{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let r=this._funcs.indexOf(e);r>-1&&this._funcs.splice(r,1)}emit(){for(var e=0,r=this._funcs.length;e<r;e++)this._funcs[e]()}}class o{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let r=this._funcs.indexOf(e);r>-1&&this._funcs.splice(r,1)}emit(e){for(var r=0,t=this._funcs.length;r<t;r++)this._funcs[r](e)}}var s,c,l,d,h,u,f,p,b="undefined"!=typeof Float32Array?Float32Array:Array;function m(){var e=new b(16);return b!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function E(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.random,Math.PI,Math.hypot||(Math.hypot=function(){for(var e=0,r=arguments.length;r--;)e+=arguments[r]*arguments[r];return Math.sqrt(e)}),function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(s||(s={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(c||(c={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(l||(l={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(d||(d={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(h||(h={})),function(e){e[e.IMAGE_TRACKER_TYPE_PLANAR=0]="IMAGE_TRACKER_TYPE_PLANAR",e[e.IMAGE_TRACKER_TYPE_CYLINDRICAL=1]="IMAGE_TRACKER_TYPE_CYLINDRICAL",e[e.IMAGE_TRACKER_TYPE_CONICAL=2]="IMAGE_TRACKER_TYPE_CONICAL"}(u||(u={})),function(e){e[e.WORLD_TRACKER_QUALITY_INITIALIZING=0]="WORLD_TRACKER_QUALITY_INITIALIZING",e[e.WORLD_TRACKER_QUALITY_GOOD=1]="WORLD_TRACKER_QUALITY_GOOD",e[e.WORLD_TRACKER_QUALITY_ORIENTATION_ONLY=2]="WORLD_TRACKER_QUALITY_ORIENTATION_ONLY"}(f||(f={})),function(e){e[e.DEFAULT=0]="DEFAULT",e[e.HIGH=1]="HIGH"}(p||(p={}));const v=new Map;class w{constructor(e){this._gl=e,this._viewports=[],this._underlyingViewport=this._gl.viewport,this._viewports.push(this._gl.getParameter(this._gl.VIEWPORT)),this._gl.viewport=(e,r,t,a)=>{this._viewports[this._viewports.length-1]=[e,r,t,a],this._underlyingViewport.call(this._gl,e,r,t,a)}}static get(e){let r=v.get(e);return r||(r=new w(e),v.set(e,r)),r}push(){this._viewports.push(this._viewports[this._viewports.length-1])}pop(){const e=this._viewports.pop(),r=this._viewports[this._viewports.length-1];e&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]||this._underlyingViewport.call(this._gl,r[0],r[1],r[2],r[3])}}var g,y=t(238);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(g||(g={}));let N={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,getDataSize:e=>e===p.HIGH?[640,480]:[320,240],videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!0,preferImageBitmapCamera:!1,ios164CameraSelection:!1,relyOnConstraintsForCameraSelection:!1,forceWindowOrientation:!1,intervalMultiplier:1,trustSensorIntervals:!1};"undefined"!=typeof window&&(window.zeeProfile=N,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),N.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),N.preferImageBitmapCamera=!0));let k=new y.UAParser,S=(k.getOS().name||"unknown").toLowerCase(),j=(k.getEngine().name||"unknown").toLowerCase();function z(e){N.forceWindowOrientation=!0,N.preferMediaStreamTrackProcessorCamera=!1,N.intervalMultiplier=1e3,N.trustSensorIntervals=!0;let r=e.split(".");if(r.length>=2){const e=parseInt(r[0]),t=parseInt(r[1]);(e<11||11===e&&t<3)&&(N.blacklisted=!0),(e<12||12===e&&t<2)&&(N.videoElementInDOM=!0),(12===e&&t>=2||e>=13)&&(N.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(N.showSafariPermissionsResetIfNecessary=!0),(e>=12&&t>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(N.requestHighFrameRate=!0,e<14&&(N.videoHeight=360,N.getDataSize=e=>e===p.HIGH?[640,360]:[320,180])),16===e&&t>=4&&(N.ios164CameraSelection=!0),e>=17&&(N.relyOnConstraintsForCameraSelection=!0)}}function I(e,r,t){let a=e.createShader(r);if(!a)throw new Error("Unable to create shader");e.shaderSource(a,t),e.compileShader(a);let i=e.getShaderInfoLog(a);if(i&&i.trim().length>0)throw new Error("Shader compile error: "+i);return a}"webkit"===j&&"ios"!==S&&(N.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&z("15.0")),"webkit"===j&&"ios"===S&&(N.deviceMotionMutliplier=1,z(k.getOS().version||"15.0"));class R{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=m(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null,this._isWebGL2=!1,this._isWebGL2=e.getParameter(e.VERSION).indexOf("WebGL 2")>=0,this._isWebGL2||(this._instancedArraysExtension=this._gl.getExtension("ANGLE_instanced_arrays"))}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,r,t,a,i){let _=this._gl;const n=w.get(_);n.push();const o=_.isEnabled(_.SCISSOR_TEST),s=_.isEnabled(_.DEPTH_TEST),c=_.isEnabled(_.BLEND),l=_.isEnabled(_.CULL_FACE),d=_.isEnabled(_.STENCIL_TEST),h=_.getParameter(_.ACTIVE_TEXTURE),u=_.getParameter(_.UNPACK_FLIP_Y_WEBGL),f=_.getParameter(_.CURRENT_PROGRAM);_.activeTexture(_.TEXTURE0);const p=_.getParameter(_.TEXTURE_BINDING_2D),b=_.getParameter(_.FRAMEBUFFER_BINDING),m=_.getParameter(_.ARRAY_BUFFER_BINDING),E=_.getParameter(_.ELEMENT_ARRAY_BUFFER_BINDING);_.disable(_.SCISSOR_TEST),_.disable(_.DEPTH_TEST),_.disable(_.BLEND),_.disable(_.CULL_FACE),_.disable(_.STENCIL_TEST),_.pixelStorei(_.UNPACK_FLIP_Y_WEBGL,!1),_.bindTexture(_.TEXTURE_2D,e);const v=_.RGBA,g=_.RGBA,y=_.UNSIGNED_BYTE;_.texImage2D(_.TEXTURE_2D,0,v,g,y,r);let k=0,S=0;"undefined"!=typeof HTMLVideoElement&&r instanceof HTMLVideoElement?(k=r.videoWidth,S=r.videoHeight):(k=r.width,S=r.height),S>k&&(S=[k,k=S][0]),this._updateTransforms(t,a);const[j,z]=N.getDataSize(i);let I=this._getFramebuffer(_,j/4,z),R=this._getVertexBuffer(_),A=this._getIndexBuffer(_),x=this._getGreyscaleShader(_);const L=_.getVertexAttrib(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_SIZE),T=_.getVertexAttrib(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_TYPE),P=_.getVertexAttrib(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_NORMALIZED),F=_.getVertexAttrib(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_STRIDE),M=_.getVertexAttribOffset(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_POINTER),K=_.getVertexAttrib(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_ENABLED),O=_.getVertexAttrib(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),C=_.getVertexAttrib(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_SIZE),D=_.getVertexAttrib(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_TYPE),B=_.getVertexAttrib(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_NORMALIZED),U=_.getVertexAttrib(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_STRIDE),Z=_.getVertexAttribOffset(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_POINTER),V=_.getVertexAttrib(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),G=_.getVertexAttrib(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_ENABLED);let H=0,W=0;this._isWebGL2?(H=_.getVertexAttrib(x.aVertexPositionLoc,_.VERTEX_ATTRIB_ARRAY_DIVISOR),W=_.getVertexAttrib(x.aTextureCoordLoc,_.VERTEX_ATTRIB_ARRAY_DIVISOR),_.vertexAttribDivisor(x.aVertexPositionLoc,0),_.vertexAttribDivisor(x.aTextureCoordLoc,0)):this._instancedArraysExtension&&(H=_.getVertexAttrib(x.aVertexPositionLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),W=_.getVertexAttrib(x.aTextureCoordLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aVertexPositionLoc,0),this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aTextureCoordLoc,0)),_.bindFramebuffer(_.FRAMEBUFFER,I),_.viewport(0,0,this._framebufferWidth,this._framebufferHeight),_.clear(_.COLOR_BUFFER_BIT),_.bindBuffer(_.ARRAY_BUFFER,R),_.vertexAttribPointer(x.aVertexPositionLoc,2,_.FLOAT,!1,16,0),_.enableVertexAttribArray(x.aVertexPositionLoc),_.vertexAttribPointer(x.aTextureCoordLoc,2,_.FLOAT,!1,16,8),_.enableVertexAttribArray(x.aTextureCoordLoc),_.bindBuffer(_.ELEMENT_ARRAY_BUFFER,A),_.useProgram(x.program),_.uniform1f(x.uTexWidthLoc,j),_.uniformMatrix4fv(x.uUvTransformLoc,!1,this._cameraUvTransform),_.activeTexture(_.TEXTURE0),_.bindTexture(_.TEXTURE_2D,e),_.uniform1i(x.uSamplerLoc,0),_.drawElements(_.TRIANGLES,6,_.UNSIGNED_SHORT,0),_.bindBuffer(_.ARRAY_BUFFER,O),_.vertexAttribPointer(x.aVertexPositionLoc,L,T,P,F,M),_.bindBuffer(_.ARRAY_BUFFER,V),_.vertexAttribPointer(x.aTextureCoordLoc,C,D,B,U,Z),_.bindBuffer(_.ARRAY_BUFFER,m),_.bindBuffer(_.ELEMENT_ARRAY_BUFFER,E),K||_.disableVertexAttribArray(x.aVertexPositionLoc),G||_.disableVertexAttribArray(x.aTextureCoordLoc),this._isWebGL2?(_.vertexAttribDivisor(x.aVertexPositionLoc,H),_.vertexAttribDivisor(x.aTextureCoordLoc,W)):this._instancedArraysExtension&&(this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aVertexPositionLoc,H),this._instancedArraysExtension.vertexAttribDivisorANGLE(x.aTextureCoordLoc,W)),_.bindFramebuffer(_.FRAMEBUFFER,b),_.useProgram(f),_.bindTexture(_.TEXTURE_2D,p),_.activeTexture(h),_.pixelStorei(_.UNPACK_FLIP_Y_WEBGL,u),n.pop(),c&&_.enable(_.BLEND),l&&_.enable(_.CULL_FACE),s&&_.enable(_.DEPTH_TEST),o&&_.enable(_.SCISSOR_TEST),d&&_.enable(_.STENCIL_TEST)}readFrame(e,r,t){let a=this._gl,i=new Uint8Array(r);const _=a.getParameter(a.FRAMEBUFFER_BINDING),[n,o]=N.getDataSize(t);let s=this._getFramebuffer(a,n/4,o);return a.bindFramebuffer(a.FRAMEBUFFER,s),a.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,a.RGBA,a.UNSIGNED_BYTE,i),a.bindFramebuffer(a.FRAMEBUFFER,_),{uvTransform:this._cameraUvTransform,data:r,texture:e,dataWidth:n,dataHeight:o,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,r){e==this._computedTransformRotation&&r==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=r,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,r,t){if(this._framebufferWidth===r&&this._framebufferHeight===t&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0);const a=e.getParameter(e.TEXTURE_BINDING_2D);e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,r,t,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);if(i!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+i.toString());return this._framebufferWidth=r,this._framebufferHeight=t,e.bindTexture(e.TEXTURE_2D,a),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let r=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,r,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let r=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,r,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let r=e.createProgram();if(!r)throw new Error("Unable to create program");let t=I(e,e.VERTEX_SHADER,P),a=I(e,e.FRAGMENT_SHADER,F);e.attachShader(r,t),e.attachShader(r,a),function(e,r){e.linkProgram(r);let t=e.getProgramInfoLog(r);if(t&&t.trim().length>0)throw new Error("Unable to link: "+t)}(e,r);let i=e.getUniformLocation(r,"uTexWidth");if(!i)throw new Error("Unable to get uniform location uTexWidth");let _=e.getUniformLocation(r,"uUvTransform");if(!_)throw new Error("Unable to get uniform location uUvTransform");let n=e.getUniformLocation(r,"uSampler");if(!n)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:r,aVertexPositionLoc:e.getAttribLocation(r,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(r,"aTextureCoord"),uTexWidthLoc:i,uUvTransformLoc:_,uSamplerLoc:n},this._greyscaleShader}}let A,x,L,T,P="\\n attribute vec4 aVertexPosition;\\n attribute vec2 aTextureCoord;\\n\\n varying highp vec2 vTextureCoord1;\\n varying highp vec2 vTextureCoord2;\\n varying highp vec2 vTextureCoord3;\\n varying highp vec2 vTextureCoord4;\\n\\n uniform float uTexWidth;\\n\\tuniform mat4 uUvTransform;\\n\\n void main(void) {\\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\\n\\n gl_Position = aVertexPosition;\\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\\n }\\n",F="\\n varying highp vec2 vTextureCoord1;\\n varying highp vec2 vTextureCoord2;\\n varying highp vec2 vTextureCoord3;\\n varying highp vec2 vTextureCoord4;\\n\\n uniform sampler2D uSampler;\\n\\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\\n\\n void main(void) {\\n lowp vec4 outpx;\\n\\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\\n\\n gl_FragColor = outpx;\\n }\\n";var M=function(e,r,t,a){return new(t||(t=Promise))((function(i,_){function n(e){try{s(a.next(e))}catch(e){_(e)}}function o(e){try{s(a.throw(e))}catch(e){_(e)}}function s(e){var r;e.done?i(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(n,o)}s((a=a.apply(e,r||[])).next())}))};let K,O=new class{constructor(){this.onOutgoingMessage=new n,this.onIncomingMessage=new o,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,r){this._outgoingMessages.push({msg:e,transferables:r}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}},C=0,D=!1;const B=new Map,U=new Map;function Z(e,t,a){return M(this,void 0,void 0,(function*(){let i=r({locateFile:(r,t)=>r.endsWith("zappar-cv.wasm")?e:t+r,instantiateWasm:(e,r)=>{const a=new WebAssembly.Instance(t,e);return r(a),a.exports},onRuntimeInitialized:()=>{let e=function(e){let r=e.cwrap("zappar_log_level","number",[]),t=e.cwrap("zappar_log_level_set",null,["number"]),a=e.cwrap("zappar_analytics_project_id_set",null,["string","string"]),i=e.cwrap("zappar_pipeline_create","number",[]),_=e.cwrap("zappar_pipeline_destroy",null,["number"]),n=e.cwrap("zappar_pipeline_camera_frame_data_raw","number",["number"]),o=e.cwrap("zappar_pipeline_camera_frame_data_raw_size","number",["number"]),s=e.cwrap("zappar_pipeline_camera_frame_data_raw_width","number",["number"]),c=e.cwrap("zappar_pipeline_camera_frame_data_raw_height","number",["number"]),l=e.cwrap("zappar_pipeline_frame_update",null,["number"]),d=e.cwrap("zappar_pipeline_frame_number","number",["number"]),h=e.cwrap("zappar_pipeline_camera_model","number",["number"]),u=e.cwrap("zappar_pipeline_camera_frame_user_data","number",["number"]),f=e.cwrap("zappar_pipeline_camera_frame_submit",null,["number","number","number","number","number","number","number","number","number"]),p=e.cwrap("zappar_pipeline_camera_frame_submit_raw_pointer",null,["number","number","number","number","number","number","number","number","number","number","number","number","number"]),b=e.cwrap("zappar_pipeline_camera_frame_camera_attitude","number",["number"]),m=e.cwrap("zappar_pipeline_camera_frame_device_attitude","number",["number"]),E=e.cwrap("zappar_pipeline_motion_accelerometer_submit",null,["number","number","number","number","number"]),v=e.cwrap("zappar_pipeline_motion_accelerometer_with_gravity_submit_int",null,["number","number","number","number","number","number"]),w=e.cwrap("zappar_pipeline_motion_accelerometer_without_gravity_submit_int",null,["number","number","number","number","number","number"]),g=e.cwrap("zappar_pipeline_motion_rotation_rate_submit",null,["number","number","number","number","number"]),y=e.cwrap("zappar_pipeline_motion_rotation_rate_submit_int",null,["number","number","number","number","number","number"]),N=e.cwrap("zappar_pipeline_motion_attitude_submit",null,["number","number","number","number","number"]),k=e.cwrap("zappar_pipeline_motion_attitude_submit_int",null,["number","number","number","number","number","number"]),S=e.cwrap("zappar_pipeline_motion_attitude_matrix_submit",null,["number","number"]),j=e.cwrap("zappar_camera_source_create","number",["number","string"]),z=e.cwrap("zappar_camera_source_destroy",null,["number"]),I=e.cwrap("zappar_sequence_source_create","number",["number"]),R=e.cwrap("zappar_sequence_source_destroy",null,["number"]),A=e.cwrap("zappar_image_tracker_create","number",["number"]),x=e.cwrap("zappar_image_tracker_destroy",null,["number"]),L=e.cwrap("zappar_image_tracker_target_load_from_memory",null,["number","number","number"]),T=e.cwrap("zappar_image_tracker_target_loaded_version","number",["number"]),P=e.cwrap("zappar_image_tracker_enabled","number",["number"]),F=e.cwrap("zappar_image_tracker_enabled_set",null,["number","number"]),M=e.cwrap("zappar_image_tracker_anchor_count","number",["number"]),K=e.cwrap("zappar_image_tracker_anchor_id","string",["number","number"]),O=e.cwrap("zappar_image_tracker_anchor_pose_raw","number",["number","number"]),C=e.cwrap("zappar_face_tracker_create","number",["number"]),D=e.cwrap("zappar_face_tracker_destroy",null,["number"]),B=e.cwrap("zappar_face_tracker_model_load_from_memory",null,["number","number","number"]),U=e.cwrap("zappar_face_tracker_model_loaded_version","number",["number"]),Z=e.cwrap("zappar_face_tracker_enabled_set",null,["number","number"]),V=e.cwrap("zappar_face_tracker_enabled","number",["number"]),G=e.cwrap("zappar_face_tracker_max_faces_set",null,["number","number"]),H=e.cwrap("zappar_face_tracker_max_faces","number",["number"]),W=e.cwrap("zappar_face_tracker_anchor_count","number",["number"]),X=e.cwrap("zappar_face_tracker_anchor_id","string",["number","number"]),Y=e.cwrap("zappar_face_tracker_anchor_pose_raw","number",["number","number"]),q=e.cwrap("zappar_face_tracker_anchor_identity_coefficients","number",["number","number"]),J=e.cwrap("zappar_face_tracker_anchor_expression_coefficients","number",["number","number"]),$=e.cwrap("zappar_face_mesh_create","number",[]),Q=e.cwrap("zappar_face_mesh_destroy",null,["number"]),ee=e.cwrap("zappar_face_landmark_create","number",["number"]),re=e.cwrap("zappar_face_landmark_destroy",null,["number"]),te=e.cwrap("zappar_barcode_finder_create","number",["number"]),ae=e.cwrap("zappar_barcode_finder_destroy",null,["number"]),ie=e.cwrap("zappar_barcode_finder_enabled_set",null,["number","number"]),_e=e.cwrap("zappar_barcode_finder_enabled","number",["number"]),ne=e.cwrap("zappar_barcode_finder_found_number","number",["number"]),oe=e.cwrap("zappar_barcode_finder_found_text","string",["number","number"]),se=e.cwrap("zappar_barcode_finder_found_format","number",["number","number"]),ce=e.cwrap("zappar_barcode_finder_formats","number",["number"]),le=e.cwrap("zappar_barcode_finder_formats_set",null,["number","number"]),de=e.cwrap("zappar_instant_world_tracker_create","number",["number"]),he=e.cwrap("zappar_instant_world_tracker_destroy",null,["number"]),ue=e.cwrap("zappar_instant_world_tracker_enabled_set",null,["number","number"]),fe=e.cwrap("zappar_instant_world_tracker_enabled","number",["number"]),pe=e.cwrap("zappar_instant_world_tracker_anchor_pose_raw","number",["number"]),be=e.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw",null,["number","number","number","number","number"]),me=e.cwrap("zappar_zapcode_tracker_create","number",["number"]),Ee=e.cwrap("zappar_zapcode_tracker_destroy",null,["number"]),ve=e.cwrap("zappar_zapcode_tracker_target_load_from_memory",null,["number","number","number"]),we=e.cwrap("zappar_zapcode_tracker_target_loaded_version","number",["number"]),ge=e.cwrap("zappar_zapcode_tracker_enabled","number",["number"]),ye=e.cwrap("zappar_zapcode_tracker_enabled_set",null,["number","number"]),Ne=e.cwrap("zappar_zapcode_tracker_anchor_count","number",["number"]),ke=e.cwrap("zappar_zapcode_tracker_anchor_id","string",["number","number"]),Se=e.cwrap("zappar_zapcode_tracker_anchor_pose_raw","number",["number","number"]),je=e.cwrap("zappar_world_tracker_create","number",["number"]),ze=e.cwrap("zappar_world_tracker_destroy",null,["number"]),Ie=e.cwrap("zappar_world_tracker_enabled","number",["number"]),Re=e.cwrap("zappar_world_tracker_enabled_set",null,["number","number"]),Ae=e.cwrap("zappar_world_tracker_quality","number",["number"]),xe=e.cwrap("zappar_world_tracker_plane_count","number",["number"]),Le=e.cwrap("zappar_world_tracker_plane_pose_raw","number",["number","number"]),Te=e.cwrap("zappar_world_tracker_world_anchor_valid","number",["number"]),Pe=e.cwrap("zappar_world_tracker_world_anchor_pose_raw","number",["number"]),Fe=e.cwrap("zappar_world_tracker_ground_anchor_valid","number",["number"]),Me=e.cwrap("zappar_world_tracker_ground_anchor_pose_raw","number",["number"]),Ke=e.cwrap("zappar_world_tracker_reset",null,["number"]),Oe=e.cwrap("zappar_world_tracker_tracks_data_enabled","number",["number"]),Ce=e.cwrap("zappar_world_tracker_tracks_data_enabled_set",null,["number","number"]),De=e.cwrap("zappar_world_tracker_tracks_data_size","number",["number"]),Be=e.cwrap("zappar_world_tracker_tracks_data","number",["number"]),Ue=e.cwrap("zappar_world_tracker_projections_data_enabled_set",null,["number","number"]),Ze=e.cwrap("zappar_world_tracker_projections_data_size","number",["number"]),Ve=e.cwrap("zappar_world_tracker_projections_data","number",["number"]),Ge=32,He=e._malloc(Ge),We=(e._malloc(64),new Map),Xe=(r,t)=>{let a=We.get(r);return(!a||a[0]<t)&&(a&&e._free(a[1]),a=[t,e._malloc(t)],We.set(r,a)),a[1]};return{log_level:()=>r(),log_level_set:e=>t(e),analytics_project_id_set:(e,r)=>a(e,r),pipeline_create:()=>i(),pipeline_destroy:()=>{_()},pipeline_camera_frame_data_raw:e=>n(e),pipeline_camera_frame_data_raw_size:e=>o(e),pipeline_camera_frame_data_raw_width:e=>s(e),pipeline_camera_frame_data_raw_height:e=>c(e),pipeline_frame_update:e=>l(e),pipeline_frame_number:e=>d(e),pipeline_camera_model:r=>{let t=h(r),a=new Float32Array(6);return a.set(e.HEAPF32.subarray(t/4,6+t/4)),t=a,t},pipeline_camera_frame_user_data:e=>u(e),pipeline_camera_frame_submit:(r,t,a,i,_,n,o,s)=>{Ge<t.byteLength&&(e._free(He),Ge=t.byteLength,He=e._malloc(Ge));let c=He,l=t.byteLength;e.HEAPU8.set(new Uint8Array(t),He);let d=a,h=i,u=_,p=Xe(4,n.byteLength);e.HEAPF32.set(n,p/4);let b=Xe(5,o.byteLength);return e.HEAPF32.set(o,b/4),f(r,c,l,d,h,u,p,b,s?1:0)},pipeline_camera_frame_submit_raw_pointer:(r,t,a,i,_,n,o,s,c,l,d,h,u)=>{let f=t,b=a,m=i,E=_,v=n,w=o,g=Xe(6,s.byteLength);e.HEAPF32.set(s,g/4);let y=c,N=Xe(8,l.byteLength);return e.HEAPF32.set(l,N/4),p(r,f,b,m,E,v,w,g,y,N,d?1:0,h,u?1:0)},pipeline_camera_frame_camera_attitude:r=>{let t=b(r),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(t/4,16+t/4)),t=a,t},pipeline_camera_frame_device_attitude:r=>{let t=m(r),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(t/4,16+t/4)),t=a,t},pipeline_motion_accelerometer_submit:(e,r,t,a,i)=>E(e,r,t,a,i),pipeline_motion_accelerometer_with_gravity_submit_int:(e,r,t,a,i,_)=>v(e,r,t,a,i,_),pipeline_motion_accelerometer_without_gravity_submit_int:(e,r,t,a,i,_)=>w(e,r,t,a,i,_),pipeline_motion_rotation_rate_submit:(e,r,t,a,i)=>g(e,r,t,a,i),pipeline_motion_rotation_rate_submit_int:(e,r,t,a,i,_)=>y(e,r,t,a,i,_),pipeline_motion_attitude_submit:(e,r,t,a,i)=>N(e,r,t,a,i),pipeline_motion_attitude_submit_int:(e,r,t,a,i,_)=>k(e,r,t,a,i,_),pipeline_motion_attitude_matrix_submit:(r,t)=>{let a=Xe(0,t.byteLength);return e.HEAPF32.set(t,a/4),S(r,a)},camera_source_create:(e,r)=>j(e,r),camera_source_destroy:()=>{z()},sequence_source_create:e=>I(e),sequence_source_destroy:()=>{R()},image_tracker_create:e=>A(e),image_tracker_destroy:()=>{x()},image_tracker_target_load_from_memory:(r,t)=>{Ge<t.byteLength&&(e._free(He),Ge=t.byteLength,He=e._malloc(Ge));let a=He,i=t.byteLength;return e.HEAPU8.set(new Uint8Array(t),He),L(r,a,i)},image_tracker_target_loaded_version:e=>T(e),image_tracker_enabled:e=>{let r=P(e);return r=1===r,r},image_tracker_enabled_set:(e,r)=>F(e,r?1:0),image_tracker_anchor_count:e=>M(e),image_tracker_anchor_id:(e,r)=>K(e,r),image_tracker_anchor_pose_raw:(r,t)=>{let a=O(r,t),i=new Float32Array(16);return i.set(e.HEAPF32.subarray(a/4,16+a/4)),a=i,a},face_tracker_create:e=>C(e),face_tracker_destroy:()=>{D()},face_tracker_model_load_from_memory:(r,t)=>{Ge<t.byteLength&&(e._free(He),Ge=t.byteLength,He=e._malloc(Ge));let a=He,i=t.byteLength;return e.HEAPU8.set(new Uint8Array(t),He),B(r,a,i)},face_tracker_model_loaded_version:e=>U(e),face_tracker_enabled_set:(e,r)=>Z(e,r?1:0),face_tracker_enabled:e=>{let r=V(e);return r=1===r,r},face_tracker_max_faces_set:(e,r)=>G(e,r),face_tracker_max_faces:e=>H(e),face_tracker_anchor_count:e=>W(e),face_tracker_anchor_id:(e,r)=>X(e,r),face_tracker_anchor_pose_raw:(r,t)=>{let a=Y(r,t),i=new Float32Array(16);return i.set(e.HEAPF32.subarray(a/4,16+a/4)),a=i,a},face_tracker_anchor_identity_coefficients:(r,t)=>{let a=q(r,t),i=new Float32Array(50);return i.set(e.HEAPF32.subarray(a/4,50+a/4)),a=i,a},face_tracker_anchor_expression_coefficients:(r,t)=>{let a=J(r,t),i=new Float32Array(29);return i.set(e.HEAPF32.subarray(a/4,29+a/4)),a=i,a},face_mesh_create:()=>$(),face_mesh_destroy:()=>{Q()},face_landmark_create:e=>ee(e),face_landmark_destroy:()=>{re()},barcode_finder_create:e=>te(e),barcode_finder_destroy:()=>{ae()},barcode_finder_enabled_set:(e,r)=>ie(e,r?1:0),barcode_finder_enabled:e=>{let r=_e(e);return r=1===r,r},barcode_finder_found_number:e=>ne(e),barcode_finder_found_text:(e,r)=>oe(e,r),barcode_finder_found_format:(e,r)=>se(e,r),barcode_finder_formats:e=>ce(e),barcode_finder_formats_set:(e,r)=>le(e,r),instant_world_tracker_create:e=>de(e),instant_world_tracker_destroy:()=>{he()},instant_world_tracker_enabled_set:(e,r)=>ue(e,r?1:0),instant_world_tracker_enabled:e=>{let r=fe(e);return r=1===r,r},instant_world_tracker_anchor_pose_raw:r=>{let t=pe(r),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(t/4,16+t/4)),t=a,t},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,r,t,a,i)=>be(e,r,t,a,i),zapcode_tracker_create:e=>me(e),zapcode_tracker_destroy:()=>{Ee()},zapcode_tracker_target_load_from_memory:(r,t)=>{Ge<t.byteLength&&(e._free(He),Ge=t.byteLength,He=e._malloc(Ge));let a=He,i=t.byteLength;return e.HEAPU8.set(new Uint8Array(t),He),ve(r,a,i)},zapcode_tracker_target_loaded_version:e=>we(e),zapcode_tracker_enabled:e=>{let r=ge(e);return r=1===r,r},zapcode_tracker_enabled_set:(e,r)=>ye(e,r?1:0),zapcode_tracker_anchor_count:e=>Ne(e),zapcode_tracker_anchor_id:(e,r)=>ke(e,r),zapcode_tracker_anchor_pose_raw:(r,t)=>{let a=Se(r,t),i=new Float32Array(16);return i.set(e.HEAPF32.subarray(a/4,16+a/4)),a=i,a},world_tracker_create:e=>je(e),world_tracker_destroy:()=>{ze()},world_tracker_enabled:e=>{let r=Ie(e);return r=1===r,r},world_tracker_enabled_set:(e,r)=>Re(e,r?1:0),world_tracker_quality:e=>Ae(e),world_tracker_plane_count:e=>xe(e),world_tracker_plane_pose_raw:(r,t)=>{let a=Le(r,t),i=new Float32Array(16);return i.set(e.HEAPF32.subarray(a/4,16+a/4)),a=i,a},world_tracker_world_anchor_valid:e=>{let r=Te(e);return r=1===r,r},world_tracker_world_anchor_pose_raw:r=>{let t=Pe(r),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(t/4,16+t/4)),t=a,t},world_tracker_ground_anchor_valid:e=>{let r=Fe(e);return r=1===r,r},world_tracker_ground_anchor_pose_raw:r=>{let t=Me(r),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(t/4,16+t/4)),t=a,t},world_tracker_reset:e=>Ke(e),world_tracker_tracks_data_enabled:e=>{let r=Oe(e);return r=1===r,r},world_tracker_tracks_data_enabled_set:(e,r)=>Ce(e,r?1:0),world_tracker_tracks_data_size:e=>De(e),world_tracker_tracks_data:r=>{let t=Be(r),a=De(r),i=new Float32Array(a);return i.set(e.HEAPF32.subarray(t/4,a+t/4)),t=i,t},world_tracker_projections_data_enabled_set:(e,r)=>Ue(e,r?1:0),world_tracker_projections_data_size:e=>Ze(e),world_tracker_projections_data:r=>{let t=Ve(r),a=Ze(r),i=new Float32Array(a);return i.set(e.HEAPF32.subarray(t/4,a+t/4)),t=i,t}}}(i);const r=function(e){return{worker_message_send_count:e.cwrap("worker_message_send_count","number",[]),worker_message_send_clear:e.cwrap("worker_message_send_clear",null,[]),worker_message_send_data_size:e.cwrap("worker_message_send_data_size","number",["number"]),worker_message_send_data:e.cwrap("worker_message_send_data","number",["number"]),worker_message_send_reference:e.cwrap("worker_message_send_reference","number",["number"]),worker_message_receive:e.cwrap("worker_message_receive",null,["number","number","number"])}}(i),t=a>0?function(e){return{data_download_clear:e.cwrap("data_download_clear",null,[]),data_download_size:e.cwrap("data_download_size","number",[]),data_download:e.cwrap("data_download","number",[]),data_should_record_set:e.cwrap("data_should_record_set",null,["number"])}}(i):void 0;null==t||t.data_should_record_set(a);let n=new _(e,((e,r)=>{O.postOutgoingMessage({p:e,t:"zappar",d:r},[r])}));O.postOutgoingMessage("loaded",[]),O.onIncomingMessage.bind((a=>{var _,o,s;switch(a.t){case"zappar":n.processBuffer(a.d),O.postOutgoingMessage({t:"buf",d:a.d},[a.d]);break;case"buf":null===(_=n.serializersByPipelineId.get(a.p))||void 0===_||_.bufferReturn(a.d);break;case"cameraFrameC2S":{let _,o=a,s=n._pipeline_by_instance.get(o.p);s&&(e.pipeline_camera_frame_submit(s,o.d,o.width,o.height,o.token,o.c2d,o.cm,o.userFacing),e.pipeline_frame_update(s),_=e.pipeline_camera_frame_device_attitude(s),n.exploreState(),Q(i,r),t&&ee(i,t));let c={token:o.token,d:o.d,p:o.p,t:"cameraFrameRecycleS2C",att:_};O.postOutgoingMessage(c,[o.d]);break}case"rawenabled":D=a.v;break;case"rawrequest":{const e=a,r=B.get(e.p),t={t:"raw",token:e.token,p:e.p,data:r&&null!==(s=null===(o=r.ready.find((r=>r.token===e.token)))||void 0===o?void 0:o.data)&&void 0!==s?s:null};O.postOutgoingMessage(t,[]);break}case"cameraProfileC2S":{let e=a;U.set(e.source,e.p);break}case"streamC2S":{let _=a;(function(e,r,t,a,i,_,n,o,s){return M(this,void 0,void 0,(function*(){for(;;){let c;try{c=yield t.getReader()}catch(e){yield J(1e3);continue}try{return void(yield q(e,r,c,a,i,_,n,o,s))}catch(e){}return void(yield J(1e3))}}))})(i,e,_.s,_.p,_.userFacing,n,_.source,r,t).then((()=>{let e={t:"streamEndedS2C",p:_.p,source:_.source};O.postOutgoingMessage(e,[])})).catch((e=>{}));break}case"cameraToScreenC2S":C=a.r;break;case"imageBitmapC2S":!function(e,r,t,a){const[i,_]=function(){if(!L||!T){const e=new OffscreenCanvas(1,1);if(T=e.getContext("webgl"),!T)throw new Error("Unable to get offscreen GL context");L=new R(T)}return[L,T]}();if(x||(x=_.createTexture(),_.bindTexture(_.TEXTURE_2D,x),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_S,_.CLAMP_TO_EDGE),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_T,_.CLAMP_TO_EDGE),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MIN_FILTER,_.LINEAR)),!x)return;const[n,o]=N.getDataSize(e.cp);(!A||A.byteLength<n*o)&&(A=new ArrayBuffer(n*o)),i.uploadFrame(x,e.i,e.r,e.userFacing,e.cp);let s=i.readFrame(x,A,e.cp),c={t:"imageBitmapS2C",dataWidth:s.dataWidth,dataHeight:s.dataHeight,frame:e.i,userFacing:s.userFacing,uvTransform:s.uvTransform||m(),tokenId:e.tokenId,p:e.p};a.postOutgoingMessage(c,[e.i]);let l=t._pipeline_by_instance.get(e.p);l&&(r.pipeline_camera_frame_submit(l,A,s.dataWidth,s.dataHeight,e.tokenId,e.cameraToDevice,e.cameraModel,s.userFacing),r.pipeline_frame_update(l),t.exploreState())}(a,e,n,O);break;case"sensorDataC2S":{const r=a,t=n._pipeline_by_instance.get(r.p);if(!t)break;switch(r.sensor){case"accel":e.pipeline_motion_accelerometer_submit(t,r.timestamp,r.x,r.y,r.z);break;case"accel_w_gravity_int":e.pipeline_motion_accelerometer_with_gravity_submit_int(t,r.timestamp,r.interval,r.x,r.y,r.z);break;case"accel_wo_gravity_int":e.pipeline_motion_accelerometer_without_gravity_submit_int(t,r.timestamp,r.interval,r.x,r.y,r.z);break;case"attitude_int":e.pipeline_motion_attitude_submit_int(t,r.timestamp,r.interval,r.x,r.y,r.z);break;case"attitude":e.pipeline_motion_attitude_submit(t,r.timestamp,r.x,r.y,r.z);break;case"rotation_rate_int":e.pipeline_motion_rotation_rate_submit_int(t,r.timestamp,r.interval,r.x,r.y,r.z);break;case"rotation_rate":e.pipeline_motion_rotation_rate_submit(t,r.timestamp,r.x,r.y,r.z)}break}case"attitudeMatrixC2S":{const r=a,t=n._pipeline_by_instance.get(r.p);if(!t)break;e.pipeline_motion_attitude_matrix_submit(t,r.m);break}}}))}})}))}let V=0,G=0,H=1;function W(e){return new Promise(((r,t)=>{const a=setTimeout((()=>{t("Frame timeout")}),2e3);e.read().then((e=>{clearTimeout(a),r(e)}))}))}const X=m(),Y=new Float32Array([300,300,160,120,0,0]);function q(e,r,t,a,i,_,n,o,s){var c,l;return M(this,void 0,void 0,(function*(){for(;;){let u=yield W(t);if(u.done)return void(null===(c=u.value)||void 0===c||c.close());let f=u.value,b=f.allocationSize();b>G&&(V>0&&e._free(V),V=e._malloc(b),G=b),yield f.copyTo(e.HEAPU8.subarray(V,V+G));let m=H;H++;const v=f.visibleRect.width,w=f.visibleRect.height;let g,y=v,N=w;switch(C){case 270:g=new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]),y=w,N=v;break;case 180:g=new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);break;case 90:g=new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1]),y=w,N=v;break;default:g=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}let k=!1;U.get(n)!==p.HIGH&&(y/=2,N/=2,k=!0);let S=f.clone();i?(h=[-1,1,-1],(d=X)[0]=h[0],d[1]=0,d[2]=0,d[3]=0,d[4]=0,d[5]=h[1],d[6]=0,d[7]=0,d[8]=0,d[9]=0,d[10]=h[2],d[11]=0,d[12]=0,d[13]=0,d[14]=0,d[15]=1):E(X);let j=300*y/320;Y[0]=j,Y[1]=j,Y[2]=.5*y,Y[3]=.5*N;const z={token:m,d:S,p:a,t:"videoFrameS2C",userFacing:i,uvTransform:g,w:y,h:N,cameraToDevice:X,cameraModel:Y,source:n};O.postOutgoingMessage(z,[z.d,z.uvTransform.buffer]);const I=_._pipeline_by_instance.get(a);if(I){try{r.pipeline_camera_frame_submit_raw_pointer(I,V,b,$(f.format),v,w,m,X,C,Y,i,null!==(l=f.timestamp)&&void 0!==l?l:-1,k),Q(e,o),s&&ee(e,s)}catch(e){console.log("Exception during camera processing",e)}if(r.pipeline_frame_update(I),D){let t=B.get(a);if(t||(t={available:[],ready:[]},B.set(a,t)),t.ready.length>4){const e=t.ready.splice(0,1);for(const r of e)t.available.push(new Uint8Array(r.data.data))}const i=r.pipeline_camera_frame_data_raw_size(I);let _;for(;!_||_.byteLength<i;)t.available.length<1&&t.available.push(new Uint8Array(i)),_=t.available.pop();const n=r.pipeline_camera_frame_data_raw(I);_.set(e.HEAPU8.subarray(n,n+i)),t.ready.push({token:m,data:{data:_,width:r.pipeline_camera_frame_data_raw_width(a),height:r.pipeline_camera_frame_data_raw_height(a)}})}_.exploreState()}f.close()}var d,h}))}function J(e){return new Promise((r=>{setTimeout(r,e)}))}function $(e){switch(e){case"I420":return h.FRAME_PIXEL_FORMAT_I420;case"I420A":return h.FRAME_PIXEL_FORMAT_I420A;case"I422":return h.FRAME_PIXEL_FORMAT_I422;case"I444":return h.FRAME_PIXEL_FORMAT_I444;case"NV12":return h.FRAME_PIXEL_FORMAT_NV12;case"RGBA":case"RGBX":return h.FRAME_PIXEL_FORMAT_RGBA;case"BGRA":case"BGRX":return h.FRAME_PIXEL_FORMAT_BGRA}return h.FRAME_PIXEL_FORMAT_Y}function Q(e,r){const t=r.worker_message_send_count();if(0!==t){K||(K=new MessageChannel,K.port1.start(),K.port1.addEventListener("message",(t=>{if("msgrec"!==t.data.t)return;const a=t.data.data,i=e._malloc(a.byteLength);e.HEAPU8.set(a,i),r.worker_message_receive(t.data.reference,a.byteLength,i),e._free(i)})),O.postOutgoingMessage({t:"setupCeresWorker",port:K.port2},[K.port2]));for(let a=0;a<t;a++){const t=r.worker_message_send_reference(a),i=r.worker_message_send_data_size(a),_=r.worker_message_send_data(a),n=e.HEAPU8.slice(_,_+i);K.port1.postMessage({t:"msgsend",data:n,reference:t},[n.buffer])}r.worker_message_send_clear()}}function ee(e,r){const t=r.data_download_size();if(0===t)return;const a=r.data_download(),i=e.HEAPU8.slice(a,a+t);O.postOutgoingMessage({t:"_z_datadownload",data:i},[i.buffer]),r.data_download_clear()}const re=self;O.onOutgoingMessage.bind((()=>{let e=O.getOutgoingMessages();for(let r of e)re.postMessage(r.msg,r.transferables)}));let te=e=>{var r;e&&e.data&&"wasm"===e.data.t&&(Z(location.href.startsWith("blob")?e.data.url:new URL(t(751),t.b).toString(),e.data.module,null!==(r=e.data.shouldRecordData)&&void 0!==r?r:0),re.removeEventListener("message",te))};re.addEventListener("message",te),re.addEventListener("message",(e=>{O.postIncomingMessage(e.data)}))})()})();',"Worker",void 0,r.p+"zappar-cv.worker.js")}},477:e=>{"use strict";e.exports=function(e,t,r,i){var a=self||window;try{try{var n;try{n=new a.Blob([e])}catch(t){(n=new(a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder)).append(e),n=n.getBlob()}var o=a.URL||a.webkitURL,s=o.createObjectURL(n),_=new a[t](s,r);return o.revokeObjectURL(s),_}catch(i){return new a[t]("data:application/javascript,".concat(encodeURIComponent(e)),r)}}catch(e){if(!i)throw Error("Inline worker is not supported");return new a[t](i,r)}}},698:(e,t,r)=>{"use strict";e.exports=r.p+"b4f46e148a3b3b5aef90.zbin"},825:(e,t,r)=>{"use strict";e.exports=r.p+"f7b62a3a53b5c9b3222b.zbin"},367:(e,t,r)=>{"use strict";e.exports=r.p+"482727c0e7dd40d73f5a.zbin"},751:(e,t,r)=>{"use strict";e.exports=r.p+"ca409d4e8cebe454b816.wasm"}},t={};function r(i){var a=t[i];if(void 0!==a)return a.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}r.m=e,r.amdO={},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.u=e=>e+".zappar-cv.js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var i=t.getElementsByTagName("script");if(i.length)for(var a=i.length-1;a>-1&&!e;)e=i[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),r.b=document.baseURI||self.location.href;var i={};return(()=>{"use strict";var e,t,a,n,o,s,_,c;r.r(i),r.d(i,{barcode_format_t:()=>e,camera_profile_t:()=>c,face_landmark_name_t:()=>t,image_target_type_t:()=>s,initialize:()=>$t,instant_world_tracker_transform_orientation_t:()=>a,log_level_t:()=>n,world_tracker_quality_t:()=>_}),function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(e||(e={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(t||(t={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(a||(a={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(n||(n={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(o||(o={})),function(e){e[e.IMAGE_TRACKER_TYPE_PLANAR=0]="IMAGE_TRACKER_TYPE_PLANAR",e[e.IMAGE_TRACKER_TYPE_CYLINDRICAL=1]="IMAGE_TRACKER_TYPE_CYLINDRICAL",e[e.IMAGE_TRACKER_TYPE_CONICAL=2]="IMAGE_TRACKER_TYPE_CONICAL"}(s||(s={})),function(e){e[e.WORLD_TRACKER_QUALITY_INITIALIZING=0]="WORLD_TRACKER_QUALITY_INITIALIZING",e[e.WORLD_TRACKER_QUALITY_GOOD=1]="WORLD_TRACKER_QUALITY_GOOD",e[e.WORLD_TRACKER_QUALITY_ORIENTATION_ONLY=2]="WORLD_TRACKER_QUALITY_ORIENTATION_ONLY"}(_||(_={})),function(e){e[e.DEFAULT=0]="DEFAULT",e[e.HIGH=1]="HIGH"}(c||(c={}));class l{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),floatArray:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t,r=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=r)return;if(!t){let e=r;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,t=new ArrayBuffer(e)}let i=this._buffer?this._i32View:void 0;this._buffer=t,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),i&&this._i32View.set(i.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout((()=>{this._timeoutSet=!1,this._send()}),0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}class d{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},floatArray:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+e)),this._startOffset+=e,t},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}class h{constructor(e){this._messageSender=e,this._globalState={log_level:1},this.serializer=new l((e=>{this._messageSender(e)})),this.deserializer=new d,this._latestId=1,this._pipeline_state_by_instance=new Map,this._camera_source_state_by_instance=new Map,this._sequence_source_state_by_instance=new Map,this._image_tracker_state_by_instance=new Map,this._face_tracker_state_by_instance=new Map,this._face_mesh_state_by_instance=new Map,this._face_landmark_state_by_instance=new Map,this._barcode_finder_state_by_instance=new Map,this._instant_world_tracker_state_by_instance=new Map,this._zapcode_tracker_state_by_instance=new Map,this._world_tracker_state_by_instance=new Map,this.impl={log_level:()=>this._globalState.log_level,log_level_set:e=>{this.serializer.sendMessage(38,(t=>{t.logLevel(e)}))},analytics_project_id_set:(e,t)=>{this.serializer.sendMessage(35,(r=>{r.string(e),r.string(t)}))},pipeline_create:()=>{let e=this._latestId++,t={current_frame_user_data:0,camera_model:new Float32Array([300,300,160,120,0,0]),camera_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_camera_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_device_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),frame_number:0};return this._pipeline_state_by_instance.set(e,t),this.serializer.sendMessage(31,(t=>{t.type(e)})),e},pipeline_destroy:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this._pipeline_state_by_instance.delete(e),this.serializer.sendMessage(32,(t=>{t.type(e)}))},pipeline_frame_update:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(9,(t=>{t.type(e)}))},pipeline_frame_number:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.frame_number},pipeline_camera_model:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_model},pipeline_camera_frame_user_data:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.current_frame_user_data},pipeline_camera_frame_submit:(e,t,r,i,a,n,o,s)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(8,(_=>{_.type(e),_.dataWithLength(t),_.int(r),_.int(i),_.int(a),_.matrix4x4(n),_.cameraModel(o),_.bool(s)}))},pipeline_camera_frame_camera_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_camera_attitude},pipeline_camera_frame_device_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_device_attitude},pipeline_motion_accelerometer_submit:(e,t,r,i,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(10,(n=>{n.type(e),n.timestamp(t),n.float(r),n.float(i),n.float(a)}))},pipeline_motion_accelerometer_with_gravity_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(12,(o=>{o.type(e),o.timestamp(t),o.timestamp(r),o.float(i),o.float(a),o.float(n)}))},pipeline_motion_accelerometer_without_gravity_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(11,(o=>{o.type(e),o.timestamp(t),o.timestamp(r),o.float(i),o.float(a),o.float(n)}))},pipeline_motion_rotation_rate_submit:(e,t,r,i,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(15,(n=>{n.type(e),n.timestamp(t),n.float(r),n.float(i),n.float(a)}))},pipeline_motion_rotation_rate_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(13,(o=>{o.type(e),o.timestamp(t),o.timestamp(r),o.float(i),o.float(a),o.float(n)}))},pipeline_motion_attitude_submit:(e,t,r,i,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(16,(n=>{n.type(e),n.timestamp(t),n.float(r),n.float(i),n.float(a)}))},pipeline_motion_attitude_submit_int:(e,t,r,i,a,n)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(14,(o=>{o.type(e),o.timestamp(t),o.timestamp(r),o.float(i),o.float(a),o.float(n)}))},pipeline_motion_attitude_matrix_submit:(e,t)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(17,(r=>{r.type(e),r.matrix4x4(t)}))},camera_source_create:(e,t)=>{let r=this._latestId++;return this._camera_source_state_by_instance.set(r,{}),this.serializer.sendMessage(33,(i=>{i.type(r),i.type(e),i.string(t)})),r},camera_source_destroy:e=>{if(!this._camera_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._camera_source_state_by_instance.delete(e),this.serializer.sendMessage(34,(t=>{t.type(e)}))},sequence_source_create:e=>{let t=this._latestId++;return this._sequence_source_state_by_instance.set(t,{}),this.serializer.sendMessage(39,(r=>{r.type(t),r.type(e)})),t},sequence_source_destroy:e=>{if(!this._sequence_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._sequence_source_state_by_instance.delete(e),this.serializer.sendMessage(40,(t=>{t.type(e)}))},image_tracker_create:e=>{let t=this._latestId++;return this._image_tracker_state_by_instance.set(t,{enabled:!0,target_loaded_version:-1,anchor_count:0,anchor_id:[],anchor_pose:[]}),this.serializer.sendMessage(2,(r=>{r.type(t),r.type(e)})),t},image_tracker_destroy:e=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._image_tracker_state_by_instance.delete(e),this.serializer.sendMessage(18,(t=>{t.type(e)}))},image_tracker_target_load_from_memory:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(4,(r=>{r.type(e),r.dataWithLength(t)}))},image_tracker_target_loaded_version:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.target_loaded_version},image_tracker_enabled:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},image_tracker_enabled_set:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(3,(r=>{r.type(e),r.bool(t)}))},image_tracker_anchor_count:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},image_tracker_anchor_id:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},image_tracker_anchor_pose_raw:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_create:e=>{let t=this._latestId++;return this._face_tracker_state_by_instance.set(t,{enabled:!0,model_loaded:-1,max_faces:1,anchor_count:0,anchor_id:[],anchor_pose:[],anchor_identity_coefficients:[],anchor_expression_coefficients:[]}),this.serializer.sendMessage(24,(r=>{r.type(t),r.type(e)})),t},face_tracker_destroy:e=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_tracker_state_by_instance.delete(e),this.serializer.sendMessage(25,(t=>{t.type(e)}))},face_tracker_model_load_from_memory:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(26,(r=>{r.type(e),r.dataWithLength(t)}))},face_tracker_model_loaded_version:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.model_loaded},face_tracker_enabled_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(27,(r=>{r.type(e),r.bool(t)}))},face_tracker_enabled:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},face_tracker_max_faces_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(28,(r=>{r.type(e),r.int(t)}))},face_tracker_max_faces:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.max_faces},face_tracker_anchor_count:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},face_tracker_anchor_id:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},face_tracker_anchor_pose_raw:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_anchor_identity_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_identity_coefficients[t]},face_tracker_anchor_expression_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_expression_coefficients[t]},face_mesh_create:()=>{let e=this._latestId++;return this._face_mesh_state_by_instance.set(e,{}),this.serializer.sendMessage(29,(t=>{t.type(e)})),e},face_mesh_destroy:e=>{if(!this._face_mesh_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_mesh_state_by_instance.delete(e),this.serializer.sendMessage(30,(t=>{t.type(e)}))},face_landmark_create:e=>{let t=this._latestId++;return this._face_landmark_state_by_instance.set(t,{}),this.serializer.sendMessage(36,(r=>{r.type(t),r.faceLandmarkName(e)})),t},face_landmark_destroy:e=>{if(!this._face_landmark_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_landmark_state_by_instance.delete(e),this.serializer.sendMessage(37,(t=>{t.type(e)}))},barcode_finder_create:e=>{let t=this._latestId++;return this._barcode_finder_state_by_instance.set(t,{enabled:!0,number_found:0,found_text:[],found_format:[],formats:131071}),this.serializer.sendMessage(20,(r=>{r.type(t),r.type(e)})),t},barcode_finder_destroy:e=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this._barcode_finder_state_by_instance.delete(e),this.serializer.sendMessage(21,(t=>{t.type(e)}))},barcode_finder_enabled_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(22,(r=>{r.type(e),r.bool(t)}))},barcode_finder_enabled:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},barcode_finder_found_number:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.number_found},barcode_finder_found_text:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_text[t]},barcode_finder_found_format:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_format[t]},barcode_finder_formats:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.formats},barcode_finder_formats_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(23,(r=>{r.type(e),r.barcodeFormat(t)}))},instant_world_tracker_create:e=>{let t=this._latestId++,r={enabled:!0,pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};return this._instant_world_tracker_state_by_instance.set(t,r),this.serializer.sendMessage(5,(r=>{r.type(t),r.type(e)})),t},instant_world_tracker_destroy:e=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._instant_world_tracker_state_by_instance.delete(e),this.serializer.sendMessage(19,(t=>{t.type(e)}))},instant_world_tracker_enabled_set:(e,t)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(6,(r=>{r.type(e),r.bool(t)}))},instant_world_tracker_enabled:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},instant_world_tracker_anchor_pose_raw:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.pose},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,i,a)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(7,(n=>{n.type(e),n.float(t),n.float(r),n.float(i),n.instantTrackerTransformOrientation(a)}))},zapcode_tracker_create:e=>{let t=this._latestId++;return this._zapcode_tracker_state_by_instance.set(t,{enabled:!0,target_loaded_version:-1,anchor_count:0,anchor_id:[],anchor_pose:[]}),this.serializer.sendMessage(41,(r=>{r.type(t),r.type(e)})),t},zapcode_tracker_destroy:e=>{if(!this._zapcode_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._zapcode_tracker_state_by_instance.delete(e),this.serializer.sendMessage(44,(t=>{t.type(e)}))},zapcode_tracker_target_load_from_memory:(e,t)=>{if(!this._zapcode_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(43,(r=>{r.type(e),r.dataWithLength(t)}))},zapcode_tracker_target_loaded_version:e=>{let t=this._zapcode_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.target_loaded_version},zapcode_tracker_enabled:e=>{let t=this._zapcode_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},zapcode_tracker_enabled_set:(e,t)=>{if(!this._zapcode_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(42,(r=>{r.type(e),r.bool(t)}))},zapcode_tracker_anchor_count:e=>{let t=this._zapcode_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},zapcode_tracker_anchor_id:(e,t)=>{let r=this._zapcode_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},zapcode_tracker_anchor_pose_raw:(e,t)=>{let r=this._zapcode_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},world_tracker_create:e=>{let t=this._latestId++,r={enabled:!0,plane_count:0,plane_pose:[],world_anchor_valid:!1,world_anchor_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),ground_anchor_valid:!1,ground_anchor_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),tracks_data_enabled:!1,tracks_data:new Float32Array([]),tracks_data_size:0,projections_data_enabled:!1,projections_data:new Float32Array([]),projections_data_size:0,quality:0};return this._world_tracker_state_by_instance.set(t,r),this.serializer.sendMessage(45,(r=>{r.type(t),r.type(e)})),t},world_tracker_destroy:e=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._world_tracker_state_by_instance.delete(e),this.serializer.sendMessage(46,(t=>{t.type(e)}))},world_tracker_enabled:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},world_tracker_enabled_set:(e,t)=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(47,(r=>{r.type(e),r.bool(t)}))},world_tracker_quality:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.quality},world_tracker_plane_count:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.plane_count},world_tracker_plane_pose_raw:(e,t)=>{let r=this._world_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.plane_pose[t]},world_tracker_world_anchor_valid:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.world_anchor_valid},world_tracker_world_anchor_pose_raw:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.world_anchor_pose},world_tracker_ground_anchor_valid:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.world_anchor_valid},world_tracker_ground_anchor_pose_raw:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.ground_anchor_pose},world_tracker_reset:e=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(48,(t=>{t.type(e)}))},world_tracker_tracks_data_enabled:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.tracks_data_enabled},world_tracker_tracks_data_enabled_set:(e,t)=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(49,(r=>{r.type(e),r.bool(t)}))},world_tracker_tracks_data_size:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.tracks_data_size},world_tracker_tracks_data:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.tracks_data},world_tracker_projections_data_enabled_set:(e,t)=>{if(!this._world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(50,(r=>{r.type(e),r.bool(t)}))},world_tracker_projections_data_size:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.projections_data_size},world_tracker_projections_data:e=>{let t=this._world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.projections_data}}}processMessages(e){this.deserializer.setData(e),this.deserializer.forMessages(((e,t)=>{switch(e){case 7:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.frame_number=t.int();break}case 6:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_model=t.cameraModel();break}case 5:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.current_frame_user_data=t.int();break}case 11:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_camera_attitude=t.matrix4x4();break}case 12:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_device_attitude=t.matrix4x4();break}case 19:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.target_loaded_version=t.int();break}case 1:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 2:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_id[i]=t.string();break}case 3:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_pose[i]=t.matrix4x4();break}case 18:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.model_loaded=t.int();break}case 13:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 14:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_id[i]=t.string();break}case 15:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_pose[i]=t.matrix4x4();break}case 16:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_identity_coefficients[i]=t.identityCoefficients();break}case 17:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_expression_coefficients[i]=t.expressionCoefficients();break}case 8:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;r.number_found=t.int();break}case 9:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let i=t.int();r.found_text[i]=t.string();break}case 10:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let i=t.int();r.found_format[i]=t.barcodeFormat();break}case 4:{let e=t.type(),r=this._instant_world_tracker_state_by_instance.get(e);if(!r)return;r.pose=t.matrix4x4();break}case 24:{let e=t.type(),r=this._zapcode_tracker_state_by_instance.get(e);if(!r)return;r.target_loaded_version=t.int();break}case 21:{let e=t.type(),r=this._zapcode_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 22:{let e=t.type(),r=this._zapcode_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_id[i]=t.string();break}case 23:{let e=t.type(),r=this._zapcode_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.anchor_pose[i]=t.matrix4x4();break}case 31:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.quality=t.int();break}case 25:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.plane_count=t.int();break}case 26:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;let i=t.int();r.plane_pose[i]=t.matrix4x4();break}case 27:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.world_anchor_valid=t.bool();break}case 28:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.world_anchor_pose=t.matrix4x4();break}case 27:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.world_anchor_valid=t.bool();break}case 30:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.ground_anchor_pose=t.matrix4x4();break}case 34:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.tracks_data_size=t.int();break}case 33:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.tracks_data=t.floatArray();break}case 37:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.projections_data_size=t.int();break}case 36:{let e=t.type(),r=this._world_tracker_state_by_instance.get(e);if(!r)return;r.projections_data=t.floatArray();break}}}))}}function u(e,t,r){let i=e.createShader(t);if(!i)throw new Error("Unable to create shader");e.shaderSource(i,r),e.compileShader(i);let a=e.getShaderInfoLog(i);if(a&&a.trim().length>0)throw new Error("Shader compile error: "+a);return i}function f(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}let p,m,b,v={};function g(e){if(b)return b;if(b=e.createBuffer(),!b)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,b),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,1,1,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),b}let E="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 projMatrix;\nuniform mat4 cameraMatrix;\nuniform mat4 modelViewMatrix;\nattribute vec4 position;\nattribute vec2 textureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main()\n{\n gl_Position = projMatrix * cameraMatrix * modelViewMatrix * position;\n vTextureCoord = textureCoord;\n}",w="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nuniform sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2D(skinSampler, vTextureCoord);\n}";function y(e){if(p)return p;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,E),i=u(e,e.FRAGMENT_SHADER,w);e.attachShader(t,r),e.attachShader(t,i),f(e,t);let a=e.getUniformLocation(t,"projMatrix");if(!a)throw new Error("Unable to get uniform location projMatrix");let n=e.getUniformLocation(t,"modelViewMatrix");if(!n)throw new Error("Unable to get uniform location modelViewMatrix");let o=e.getUniformLocation(t,"cameraMatrix");if(!o)throw new Error("Unable to get uniform location cameraMatrix");let s=e.getUniformLocation(t,"skinSampler");if(!s)throw new Error("Unable to get uniform location skinSampler");return p={prog:t,unif_matrix:n,unif_proj:a,unif_camera:o,unif_skinSampler:s,attr_position:e.getAttribLocation(t,"position"),attr_textureCoord:e.getAttribLocation(t,"textureCoord")},p}var A=1e-6,T="undefined"!=typeof Float32Array?Float32Array:Array;function R(){var e=new T(16);return T!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function x(e,t){var r=t[0],i=t[1],a=t[2],n=t[3],o=t[4],s=t[5],_=t[6],c=t[7],l=t[8],d=t[9],h=t[10],u=t[11],f=t[12],p=t[13],m=t[14],b=t[15],v=r*s-i*o,g=r*_-a*o,E=r*c-n*o,w=i*_-a*s,y=i*c-n*s,A=a*c-n*_,T=l*p-d*f,R=l*m-h*f,x=l*b-u*f,k=d*m-h*p,S=d*b-u*p,I=h*b-u*m,N=v*I-g*S+E*k+w*x-y*R+A*T;return N?(N=1/N,e[0]=(s*I-_*S+c*k)*N,e[1]=(a*S-i*I-n*k)*N,e[2]=(p*A-m*y+b*w)*N,e[3]=(h*y-d*A-u*w)*N,e[4]=(_*x-o*I-c*R)*N,e[5]=(r*I-a*x+n*R)*N,e[6]=(m*E-f*A-b*g)*N,e[7]=(l*A-h*E+u*g)*N,e[8]=(o*S-s*x+c*T)*N,e[9]=(i*x-r*S-n*T)*N,e[10]=(f*y-p*E+b*v)*N,e[11]=(d*E-l*y-u*v)*N,e[12]=(s*R-o*k-_*T)*N,e[13]=(r*k-i*R+a*T)*N,e[14]=(p*g-f*w-m*v)*N,e[15]=(l*w-d*g+h*v)*N,e):null}function k(e,t,r){var i=t[0],a=t[1],n=t[2],o=t[3],s=t[4],_=t[5],c=t[6],l=t[7],d=t[8],h=t[9],u=t[10],f=t[11],p=t[12],m=t[13],b=t[14],v=t[15],g=r[0],E=r[1],w=r[2],y=r[3];return e[0]=g*i+E*s+w*d+y*p,e[1]=g*a+E*_+w*h+y*m,e[2]=g*n+E*c+w*u+y*b,e[3]=g*o+E*l+w*f+y*v,g=r[4],E=r[5],w=r[6],y=r[7],e[4]=g*i+E*s+w*d+y*p,e[5]=g*a+E*_+w*h+y*m,e[6]=g*n+E*c+w*u+y*b,e[7]=g*o+E*l+w*f+y*v,g=r[8],E=r[9],w=r[10],y=r[11],e[8]=g*i+E*s+w*d+y*p,e[9]=g*a+E*_+w*h+y*m,e[10]=g*n+E*c+w*u+y*b,e[11]=g*o+E*l+w*f+y*v,g=r[12],E=r[13],w=r[14],y=r[15],e[12]=g*i+E*s+w*d+y*p,e[13]=g*a+E*_+w*h+y*m,e[14]=g*n+E*c+w*u+y*b,e[15]=g*o+E*l+w*f+y*v,e}function S(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function I(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function N(e,t,r){var i,a,n,o=r[0],s=r[1],_=r[2],c=Math.hypot(o,s,_);return c<A?null:(o*=c=1/c,s*=c,_*=c,i=Math.sin(t),n=1-(a=Math.cos(t)),e[0]=o*o*n+a,e[1]=s*o*n+_*i,e[2]=_*o*n-s*i,e[3]=0,e[4]=o*s*n-_*i,e[5]=s*s*n+a,e[6]=_*s*n+o*i,e[7]=0,e[8]=o*_*n+s*i,e[9]=s*_*n-o*i,e[10]=_*_*n+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function L(){var e=new T(3);return T!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function F(e,t){var r=t[0],i=t[1],a=t[2],n=r*r+i*i+a*a;return n>0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function M(e,t,r){var i=t[0],a=t[1],n=t[2],o=r[0],s=r[1],_=r[2];return e[0]=a*_-n*s,e[1]=n*o-i*_,e[2]=i*s-a*o,e}function z(e,t,r){var i=t[0],a=t[1],n=t[2],o=r[3]*i+r[7]*a+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*i+r[4]*a+r[8]*n+r[12])/o,e[1]=(r[1]*i+r[5]*a+r[9]*n+r[13])/o,e[2]=(r[2]*i+r[6]*a+r[10]*n+r[14])/o,e}Math.random,Math.PI,Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)}),L();var P,j=r(238);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(P||(P={}));let C={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,getDataSize:e=>e===c.HIGH?[640,480]:[320,240],videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!0,preferImageBitmapCamera:!1,ios164CameraSelection:!1,relyOnConstraintsForCameraSelection:!1,forceWindowOrientation:!1,intervalMultiplier:1,trustSensorIntervals:!1};"undefined"!=typeof window&&(window.zeeProfile=C,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),C.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),C.preferImageBitmapCamera=!0));let B=new j.UAParser,U=(B.getOS().name||"unknown").toLowerCase(),D=(B.getEngine().name||"unknown").toLowerCase();function O(e){C.forceWindowOrientation=!0,C.preferMediaStreamTrackProcessorCamera=!1,C.intervalMultiplier=1e3,C.trustSensorIntervals=!0;let t=e.split(".");if(t.length>=2){const e=parseInt(t[0]),r=parseInt(t[1]);(e<11||11===e&&r<3)&&(C.blacklisted=!0),(e<12||12===e&&r<2)&&(C.videoElementInDOM=!0),(12===e&&r>=2||e>=13)&&(C.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(C.showSafariPermissionsResetIfNecessary=!0),(e>=12&&r>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(C.requestHighFrameRate=!0,e<14&&(C.videoHeight=360,C.getDataSize=e=>e===c.HIGH?[640,360]:[320,180])),16===e&&r>=4&&(C.ios164CameraSelection=!0),e>=17&&(C.relyOnConstraintsForCameraSelection=!0)}}function V(e,t,r,i=.01,a=100){let n=2*e[2],o=2*e[3],s=R();!function(e,t,r,i,a,n,o){var s=1/(r-t),_=1/(a-i),c=1/(n-o);e[0]=2*n*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*n*_,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(a+i)*_,e[10]=(o+n)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*n*2*c,e[15]=0}(s,i*(-.5-e[2])/e[0],i*(n-.5-e[2])/e[0],i*(o-.5-e[3])/e[1],i*(-.5-e[3])/e[1],i,a),s[4]*=-1,s[5]*=-1,s[6]*=-1,s[7]*=-1;let _=R();I(_,[.5*n,.5*o,1]),k(s,_,s),N(_,G(!1)*Math.PI/180,[0,0,1]),k(s,_,s);let c=L();c[0]=n,c[1]=o,c[2]=0,z(c,c,_);let l=Math.abs(c[0]),d=Math.abs(c[1]),h=1;return h=l/t>d/r?r/d:t/l,I(_,[h,h,1]),k(s,_,s),I(_,[2/t,2/r,1]),k(s,_,s),N(_,G(!1)*Math.PI/-180,[0,0,1]),k(s,s,_),s}function G(e){if(window.screen.orientation&&!C.forceWindowOrientation)switch(window.screen.orientation.type){case"portrait-primary":return e?90:270;case"landscape-secondary":return 180;case"portrait-secondary":return e?270:90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return e?90:270;case 90:return 0;case 180:return e?270:90;case-90:return 180}return 0}"webkit"===D&&"ios"!==U&&(C.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&O("15.0")),"webkit"===D&&"ios"===U&&(C.deviceMotionMutliplier=1,O(B.getOS().version||"15.0"));class K{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}}class Z{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}}var W,H=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function o(e){try{_(i.next(e))}catch(e){n(e)}}function s(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}_((i=i.apply(e,t||[])).next())}))};let Y=new class{constructor(){this.onOutgoingMessage=new K,this.onIncomingMessage=new Z,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}};const X=new URLSearchParams(window.location.search),q=parseInt(null!==(W=X.get("_zrecorddata"))&&void 0!==W?W:"0"),J=H(void 0,void 0,void 0,(function*(){const e=yield fetch(new URL(r(751),r.b).toString());return yield WebAssembly.compileStreaming(e)}));var $;!function(e){e[e.PermissionTitle=0]="PermissionTitle",e[e.PermissionDescription=1]="PermissionDescription",e[e.PermissionButton=2]="PermissionButton"}($||($={}));const[Q,ee]=function(e){const[t,r]=e.toLowerCase().split("-");return[t,r||""]}(navigator.language);function te(e){switch(Q){case"es":switch(e){case $.PermissionTitle:return"Ya casi...";case $.PermissionDescription:return"Para brindar esta experiencia de realidad aumentada, necesitamos acceso a la cámara y los sensores de movimiento de su dispositivo.";case $.PermissionButton:return"Permitir acceso"}break;case"de":switch(e){case $.PermissionTitle:return"Fast am Ziel..";case $.PermissionDescription:return"Um dir dieses Augmented Reality Erlebnis zu liefern, brauchen wir Zugriff auf die Kamera und Bewegungssensoren deines Gerätes.";case $.PermissionButton:return"Gewähre Zugriff"}break;case"pt":switch(e){case $.PermissionTitle:return"Está quase!";case $.PermissionDescription:return"Esta experiência de realidade aumentada precisa de acesso à câmera e aos sensores de movimento deste dispositivo.";case $.PermissionButton:return"Permitir acesso"}}switch(e){case $.PermissionTitle:return"Almost there...";case $.PermissionDescription:return"In order to provide this augmented reality experience, we need access to your device's camera and motion sensors.";case $.PermissionButton:return"Grant Access"}return""}var re=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function o(e){try{_(i.next(e))}catch(e){n(e)}}function s(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}_((i=i.apply(e,t||[])).next())}))};let ie=new j.UAParser,ae=!1,ne=!1,oe=!1,se=!1;function _e(){return re(this,void 0,void 0,(function*(){if(navigator.permissions&&navigator.permissions.query)try{let e=yield navigator.permissions.query({name:"camera"});oe="denied"===e.state,ae="granted"===e.state}catch(e){}}))}function ce(){return ae}function le(){return ne}function de(){return oe}function he(){return se}function ue(){return oe||se}function fe(){return ae&&ne}function pe(){return re(this,void 0,void 0,(function*(){yield be(),yield me()}))}function me(){return re(this,void 0,void 0,(function*(){try{(yield navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach((e=>e.stop())),ae=!0,oe=!1}catch(e){ae=!1,oe=!0}}))}function be(){return re(this,void 0,void 0,(function*(){if(window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission&&"granted"!==(yield window.DeviceOrientationEvent.requestPermission()))return ne=!1,se=!0,!1;ne=!0,se=!1}))}function ve(){return re(this,void 0,void 0,(function*(){if(yield _e(),fe())return!0;let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML=`\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">${te($.PermissionTitle)}</div>\n <div class="zappar-text">${te($.PermissionDescription)}</div>\n <button id="zappar-permission-request-button">${te($.PermissionButton)}</button>\n </div>\n`,document.body.append(e);let t=e.querySelector("#zappar-permission-request-button");return yield new Promise((r=>{null==t||t.addEventListener("click",(()=>re(this,void 0,void 0,(function*(){for(yield pe(),e.remove();;){if(yield new Promise((e=>requestAnimationFrame((()=>e())))),ue())return void r(!1);if(fe())return void r(!0)}}))))}))}))}function ge(){"Chrome"===ie.getBrowser().name?function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience.<br/><br/>To grant access, please tap the ! button in the address bar of your browser, then "Site settings", and finally "Clear and reset". You can then reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",(()=>window.location.reload()))}():function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience. Please reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",(()=>window.location.reload()))}()}window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission||(ne=!0),_e();let Ee=n.LOG_LEVEL_ERROR;function we(...e){Ee>=n.LOG_LEVEL_VERBOSE&&console.log("[Zappar] INFO",...e)}function ye(...e){Ee>=n.LOG_LEVEL_ERROR&&console.error("[Zappar] ERROR",...e)}function Ae(...e){Ee>=n.LOG_LEVEL_VERBOSE&&console.log("[Zappar] WARN",...e)}let Te=1,Re=new Map;function xe(e){return Re.get(e)}class ke{constructor(){this.render_mean_=new Float32Array,this.render_identity_=new Float32Array(50),this.render_expression_=new Float32Array(29),this.render_uvs_=new Float32Array,this.render_indices_=new Uint16Array,this.vertices_=new Float32Array,this.normals_=new Float32Array,this.normalsCalculated_=!1,this.modelVersion_=-1,this.mirrored_=!1}loadFromMemory(e,t,r,i,a){let n=0,o=new Uint16Array(e),s=new Int32Array(e),_=new Float32Array(e),c=()=>{let e=s[n++]*s[n++],t=_.subarray(n,n+e);return n+=e,t},l=()=>{let e=s[n++],t=o.subarray(2*n,2*n+e);return n+=e/2,t};this.render_mean_=c(),this.render_identity_=c(),this.render_expression_=c(),this.render_uvs_=c();let d=l(),h=n<s.length?l():new Uint16Array,u=n<s.length?l():new Uint16Array,f=n<s.length?l():new Uint16Array,p=n<s.length?l():new Uint16Array;if(t||r||i||a){let e=d.length;t&&(e+=h.length),r&&(e+=u.length),i&&(e+=f.length),a&&(e+=p.length),this.render_indices_=new Uint16Array(e),this.render_indices_.set(d,0);let n=d.length;t&&(this.render_indices_.set(h,n),n+=h.length),r&&(this.render_indices_.set(u,n),n+=u.length),i&&(this.render_indices_.set(f,n),n+=f.length),a&&(this.render_indices_.set(p,n),n+=p.length)}else this.render_indices_=d;this.vertices_=new Float32Array(this.render_mean_),this.normals_=new Float32Array(this.vertices_.length),this.modelVersion_++}getVertices(){return this.vertices_}getUVs(){return this.render_uvs_}getIndices(){if(this.mirrored_){if(!this.render_indices_reversed){this.render_indices_reversed=new Uint16Array(this.render_indices_.length);for(let e=0;e<this.render_indices_.length;e+=3)this.render_indices_reversed[e]=this.render_indices_[e+2],this.render_indices_reversed[e+1]=this.render_indices_[e+1],this.render_indices_reversed[e+2]=this.render_indices_[e]}return this.render_indices_reversed}return this.render_indices_}getNormals(){return this.normalsCalculated_||this.calculateNormals(),this.normals_}getModelVersion(){return this.modelVersion_}getLandmarkDataForVertex(e){let t=[this.render_mean_[3*e],this.render_mean_[3*e+1],this.render_mean_[3*e+2]],r=[];for(let t=0;t<50;t++)r.push(this.render_identity_[3*e*50+t]),r.push(this.render_identity_[50*(3*e+1)+t]),r.push(this.render_identity_[50*(3*e+2)+t]);let i=[];for(let t=0;t<29;t++)i.push(this.render_expression_[3*e*29+t]),i.push(this.render_expression_[29*(3*e+1)+t]),i.push(this.render_expression_[29*(3*e+2)+t]);return{mean:t,identity:r,expression:i}}update(e,t,r){if(0!==this.render_mean_.length&&0!==this.render_identity_.length&&0!==this.render_expression_.length){this.mirrored_=r,this.vertices_.set(this.render_mean_);for(let t=0;t<e.length;t++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=e[t]*this.render_identity_[r*e.length+t];for(let e=0;e<t.length;e++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=t[e]*this.render_expression_[r*t.length+e];if(r)for(let e=0;e<this.vertices_.length;e+=3)this.vertices_[e]*=-1;this.normalsCalculated_=!1}}calculateNormals(){let e=this.getIndices(),t=this.vertices_,r=new Float32Array(e.length);if(!t)return;let i=e.length,a=this.normals_,n=new Float32Array([0,0,0]),o=new Float32Array([0,0,0]),s=new Float32Array([0,0,0]);for(let a=0;a<i;a+=3){let i=3*e[a],h=3*e[a+1],u=3*e[a+2];n[0]=t[h]-t[i],n[1]=t[h+1]-t[i+1],n[2]=t[h+2]-t[i+2],o[0]=t[u]-t[i],o[1]=t[u+1]-t[i+1],o[2]=t[u+2]-t[i+2],M(s,n,o);let f=(c=void 0,l=void 0,d=void 0,c=(_=s)[0],l=_[1],d=_[2],Math.hypot(c,l,d));r[a]=s[0]/f,r[a+1]=s[1]/f,r[a+2]=s[2]/f}var _,c,l,d;a.fill(0);for(let t=0;t<i;t+=3){let i=3*e[t],n=3*e[t+1],o=3*e[t+2];a[i]+=r[t],a[i+1]+=r[t+1],a[i+2]+=r[t+2],a[n]+=r[t],a[n+1]+=r[t+1],a[n+2]+=r[t+2],a[o]+=r[t],a[o+1]+=r[t+1],a[o+2]+=r[t+2]}let h=a.length/3;for(let e=0;e<h;e++){let t=3*e;n[0]=a[t],n[1]=a[t+1],n[2]=a[t+2],F(o,n),a[t]=o[0],a[t+1]=o[1],a[t+2]=o[2]}this.normalsCalculated_=!0}}let Se=R();class Ie{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._vbo=void 0,this._shader&&this._gl.deleteProgram(this._shader.prog),this._shader=void 0}_generate(e,t){if(this._vbo)return this._vbo;if(this._vbo||(this._vbo=e.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");let r=new Float32Array([-1,-1,0,0,0,-1,1,0,0,1,1,-1,0,1,0,1,-1,0,1,0,-1,1,0,0,1,1,1,0,1,1]);return e.bindBuffer(e.ARRAY_BUFFER,this._vbo),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),this._vbo}drawCameraFrame(e,t,r,i){if(!r.texture)return;let a=this._gl;const n=a.isEnabled(a.DEPTH_TEST),o=a.isEnabled(a.SCISSOR_TEST),s=a.isEnabled(a.CULL_FACE),_=a.isEnabled(a.STENCIL_TEST),c=a.isEnabled(a.BLEND),l=a.getParameter(a.TEXTURE_BINDING_2D),d=a.getParameter(a.FRAMEBUFFER_BINDING),h=a.getParameter(a.CURRENT_PROGRAM),u=a.getParameter(a.ACTIVE_TEXTURE);a.disable(a.DEPTH_TEST),a.disable(a.SCISSOR_TEST),a.disable(a.CULL_FACE),a.disable(a.STENCIL_TEST),a.disable(a.BLEND);let f=this._getCameraShader(a),p=this._generate(a,r);a.activeTexture(a.TEXTURE0),a.useProgram(f.prog),a.uniformMatrix4fv(f.unif_skinTexTransform,!1,Fe(r.dataWidth,r.dataHeight,e,t,r.uvTransform||Se,i)),a.uniform1i(f.unif_skinSampler,0),a.bindTexture(a.TEXTURE_2D,r.texture),a.bindBuffer(a.ARRAY_BUFFER,p),a.vertexAttribPointer(f.attr_position,3,a.FLOAT,!1,20,0),a.enableVertexAttribArray(f.attr_position),a.vertexAttribPointer(f.attr_texCoord,2,a.FLOAT,!1,20,12),a.enableVertexAttribArray(f.attr_texCoord),a.drawArrays(a.TRIANGLES,0,6),a.disableVertexAttribArray(f.attr_position),a.disableVertexAttribArray(f.attr_texCoord),a.bindFramebuffer(a.FRAMEBUFFER,d),a.useProgram(h),a.bindTexture(a.TEXTURE_2D,l),a.activeTexture(u),c&&a.enable(a.BLEND),s&&a.enable(a.CULL_FACE),n&&a.enable(a.DEPTH_TEST),o&&a.enable(a.SCISSOR_TEST),_&&a.enable(a.STENCIL_TEST)}_getCameraShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,Ne),i=u(e,e.FRAGMENT_SHADER,Le);e.attachShader(t,r),e.attachShader(t,i),f(e,t);let a=e.getUniformLocation(t,"skinTexTransform");if(!a)throw new Error("Unable to get uniform location skinTexTransform");let n=e.getUniformLocation(t,"skinSampler");if(!n)throw new Error("Unable to get uniform location skinSampler");return this._shader={prog:t,unif_skinTexTransform:a,unif_skinSampler:n,attr_position:e.getAttribLocation(t,"position"),attr_texCoord:e.getAttribLocation(t,"texCoord")},this._shader}}let Ne="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nattribute vec4 position;\nattribute vec4 texCoord;\nvarying vec4 skinTexVarying;\nuniform mat4 skinTexTransform;\n\nvoid main()\n{\n gl_Position = position;\n skinTexVarying = skinTexTransform * texCoord;\n}",Le="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2DProj(skinSampler, skinTexVarying);\n}";function Fe(e,t,r,i,a,n){let o=R(),s=R();S(s,[-.5,-.5,0]),k(o,s,o),n&&(I(s,[-1,1,1]),k(o,s,o)),N(s,-1*function(){if(window.screen.orientation&&!C.forceWindowOrientation)switch(window.screen.orientation.type){case"portrait-primary":return 270;case"landscape-secondary":return 180;case"portrait-secondary":return 90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return 270;case 90:return 0;case 180:return 90;case-90:return 180}return 0}()*Math.PI/180,[0,0,1]),k(o,s,o);let _=L();_[0]=r,_[1]=i,_[2]=0,z(_,_,s);let c=Math.abs(_[0]),l=Math.abs(_[1]);I(s,[1,-1,1]),k(o,s,o);let d=c/l,h=e/t;return I(s,d>h?[1,h/d,1]:[d/h,1,1]),k(o,s,o),S(s,[.5,.5,0]),k(o,s,o),k(o,a,o),o}class Me{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._normalbo&&this._gl.deleteBuffer(this._normalbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._normalbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateNormalBO(e,t){if(this._normalbo||(this._normalbo=t.createBuffer()),!this._normalbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._normalbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._normalbo}drawFace(e,t){let r=this._gl,i=this._getShader(r),a=this._generateVBO(t.getVertices(),r),n=this._generateNormalBO(t.getNormals(),r),o=this._generateIBO(t.getIndices(),r);r.enable(r.DEPTH_TEST),r.enable(r.CULL_FACE),r.useProgram(i.prog),r.uniformMatrix4fv(i.unif_matrix,!1,e),r.bindBuffer(r.ARRAY_BUFFER,a),r.vertexAttribPointer(i.attr_position,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(i.attr_position),r.bindBuffer(r.ARRAY_BUFFER,n),r.vertexAttribPointer(i.attr_normal,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(i.attr_normal),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,o),r.drawElements(r.TRIANGLES,t.getIndices().length,r.UNSIGNED_SHORT,0),r.disableVertexAttribArray(i.attr_position),r.disableVertexAttribArray(i.attr_normal),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,ze),i=u(e,e.FRAGMENT_SHADER,Pe);e.attachShader(t,r),e.attachShader(t,i),f(e,t);let a=e.getUniformLocation(t,"matrix");if(!a)throw new Error("Unable to get uniform location mattrix");return this._shader={prog:t,unif_matrix:a,attr_position:e.getAttribLocation(t,"position"),attr_normal:e.getAttribLocation(t,"normal")},this._shader}}let ze="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nattribute vec4 position;\nattribute vec3 normal;\nvarying highp vec3 vnormal;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vnormal = normal;\n}",Pe="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nvarying highp vec3 vnormal;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n vec3 normal2 = 0.5 * vnormal + 0.5;\n gl_FragColor = vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}";class je{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._uvbo&&this._gl.deleteBuffer(this._uvbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._uvbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateUVBO(e,t){if(this._uvbo||(this._uvbo=t.createBuffer()),!this._uvbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._uvbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._uvbo}drawFace(e,t,r,i,a,n){let o=this._gl,s=this._getShader(o),_=this._generateVBO(t,o),c=this._generateUVBO(i,o),l=this._generateIBO(a,o);o.enable(o.DEPTH_TEST),o.enable(o.CULL_FACE),o.useProgram(s.prog),o.uniformMatrix4fv(s.unif_matrix,!1,e),o.uniformMatrix4fv(s.unif_uvmatrix,!1,r),o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,n),o.uniform1i(s.unif_sampler,0),o.bindBuffer(o.ARRAY_BUFFER,_),o.vertexAttribPointer(s.attr_position,3,o.FLOAT,!1,12,0),o.enableVertexAttribArray(s.attr_position),o.bindBuffer(o.ARRAY_BUFFER,c),o.vertexAttribPointer(s.attr_uv,3,o.FLOAT,!1,12,0),o.enableVertexAttribArray(s.attr_uv),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,l),o.drawElements(o.TRIANGLES,6912,o.UNSIGNED_SHORT,0),o.disableVertexAttribArray(s.attr_position),o.disableVertexAttribArray(s.attr_uv),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,Ce),i=u(e,e.FRAGMENT_SHADER,Be);e.attachShader(t,r),e.attachShader(t,i),f(e,t);let a=e.getUniformLocation(t,"matrix");if(!a)throw new Error("Unable to get uniform location matrix");let n=e.getUniformLocation(t,"uvmatrix");if(!n)throw new Error("Unable to get uniform location matrix");let o=e.getUniformLocation(t,"uSampler");if(!o)throw new Error("Unable to get uniform location sampler");return this._shader={prog:t,unif_matrix:a,unif_sampler:o,unif_uvmatrix:n,attr_position:e.getAttribLocation(t,"position"),attr_uv:e.getAttribLocation(t,"uv"),attr_texturecoord:e.getAttribLocation(t,"aTextureCoord")},this._shader}}let Ce="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nuniform mat4 uvmatrix;\nattribute vec4 position;\nattribute vec3 normal;\nattribute vec3 uv;\n\n// varying highp vec3 vnormal;\n\nvarying highp vec2 vTextureCoord;\nvarying highp float vAlpha;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vec4 ret = uvmatrix * vec4(uv.x, uv.y, uv.z, 1.0);\n ret.x /= ret.w * 2.0;\n ret.y /= ret.w * 2.0;\n ret.x += 0.5;\n ret.y += 0.0;\n vAlpha = 1.0;\n vTextureCoord = ret.xy;\n}",Be="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nvarying highp vec3 vnormal;\nvarying highp float vAlpha;\nuniform lowp sampler2D uSampler;\n\nvoid main()\n{\n // vec3 normal2 = 0.5 * vnormal + 0.5;\n vec4 p = texture2D(uSampler, vTextureCoord);\n p.a = vAlpha;\n gl_FragColor = p; // vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}";var Ue;!function(e){e[e.CAMERA_FRAME=0]="CAMERA_FRAME",e[e.ACCELEROMETER=1]="ACCELEROMETER",e[e.ROTATION_RATE=2]="ROTATION_RATE",e[e.ATTITUDE=3]="ATTITUDE",e[e.ATTITUDE_MATRIX=4]="ATTITUDE_MATRIX",e[e.ACCELEROMETER_WO_GRAVITY_INT=5]="ACCELEROMETER_WO_GRAVITY_INT",e[e.ACCELEROMETER_W_GRAVITY_INT=6]="ACCELEROMETER_W_GRAVITY_INT",e[e.ROTATION_RATE_INT=7]="ROTATION_RATE_INT",e[e.ATTITUDE_INT=8]="ATTITUDE_INT"}(Ue||(Ue={}));class De{constructor(e){this._insertionByte=0,this._numberPackets=0,this._started=!1,this._hasLoggedUnsuppored=!1,this._data=new ArrayBuffer(this._estimatedSize(e,320,240)),this._dataView=new DataView(this._data),this._dataUint8=new Uint8Array(this._data),this._dataFloat32=new Float32Array(this._data)}_estimatedSize(e,t,r){return De.headerSizeBytes+(De.psbPacketType+De.cameraPacketSizeBytes+t*r)*e}start(){this._started=!0,this._insertionByte=0,this._numberPackets=0,this._growArrayBuffer(De.headerSizeBytes);let e=(new TextEncoder).encode("UAR1");this._dataUint8.set(e),this._dataView.setUint32(4,0,!0),this._insertionByte+=8}stop(){this._started=!1;let e=this._data.slice(0,this._insertionByte);this._data=e,this._dataUint8=new Uint8Array(this._data),this._dataFloat32=new Float32Array(this._data),this._dataView=new DataView(this._data)}data(){return this._dataUint8}appendCameraFrame(e){if(!this._started)return;if(!e.data){if(this._hasLoggedUnsuppored)return;return this._hasLoggedUnsuppored=!0,void ye("Unable to record frames from this camera source")}if(e.data.byteLength!==e.dataWidth*e.dataHeight)return void ye("Unable to record frame to sequence: greyscale array doesn't match dimensions");let t=De.psbPacketType+De.cameraPacketSizeBytes+e.dataWidth*e.dataHeight;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,Ue.CAMERA_FRAME,!0),this._insertionByte+=De.psbPacketType,this._dataView.setUint32(this._insertionByte,e.dataWidth,!0),this._insertionByte+=De.psbCameraFrameWidth,this._dataView.setUint32(this._insertionByte,e.dataHeight,!0),this._insertionByte+=De.psbCameraFrameHeight,this._dataFloat32.set(e.cameraToDevice,this._insertionByte/4),this._insertionByte+=De.psbCameraToDeviceTransform,this._dataFloat32.set(e.cameraModel,this._insertionByte/4),this._insertionByte+=De.psbCameraModel,this._dataView.setUint32(this._insertionByte,e.userFacing?1:0,!0),this._insertionByte+=De.psbFlags,this._dataUint8.set(new Uint8Array(e.data),this._insertionByte),this._insertionByte+=e.data.byteLength,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAccelerometer(e,t,r,i){this._appendTimestampedVec3(Ue.ACCELEROMETER,e,t,r,i)}appendRotationRate(e,t,r,i){this._appendTimestampedVec3(Ue.ROTATION_RATE,e,t,r,i)}appendAttitude(e,t,r,i){this._appendTimestampedVec3(Ue.ATTITUDE,e,t,r,i)}appendAccelerometerWithoutGravityInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ACCELEROMETER_WO_GRAVITY_INT,e,t,r,i,a)}appendAccelerometerWithGravityInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ACCELEROMETER_W_GRAVITY_INT,e,t,r,i,a)}appendRotationRateInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ROTATION_RATE_INT,e,t,r,i,a)}appendAttitudeInt(e,t,r,i,a){this._appendSensorWithInterval(Ue.ATTITUDE_INT,e,t,r,i,a)}_appendSensorWithInterval(e,t,r,i,a,n){if(!this._started)return;let o=De.psbPacketType+De.sensorWithIntervalPacketSizeBytes;this._growArrayBuffer(o),this._dataView.setUint32(this._insertionByte,e,!0),this._insertionByte+=De.psbPacketType,this._dataView.setUint32(this._insertionByte,t,!0),this._insertionByte+=4,this._dataView.setUint32(this._insertionByte,r,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,i,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,a,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,n,!0),this._insertionByte+=4,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}_appendTimestampedVec3(e,t,r,i,a){if(!this._started)return;let n=De.psbPacketType+De.accelerometerPacketSizeBytes;this._growArrayBuffer(n),this._dataView.setUint32(this._insertionByte,e,!0),this._insertionByte+=De.psbPacketType,this._dataView.setUint32(this._insertionByte,t,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,r,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,i,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,a,!0),this._insertionByte+=4,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAttitudeMatrix(e){if(!this._started)return;let t=De.psbPacketType+De.attitudeMatrixPacketSizeBytes;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,Ue.ATTITUDE_MATRIX,!0),this._insertionByte+=De.psbPacketType,this._dataFloat32.set(e,this._insertionByte/4),this._insertionByte+=De.attitudeMatrixPacketSizeBytes,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}_growArrayBuffer(e){for(;this._insertionByte+e>this._data.byteLength;){let e=Math.max(2*this._data.byteLength,this._estimatedSize(50,320,240)),t=new ArrayBuffer(e),r=new Uint8Array(t);r.set(this._dataUint8),this._data=t,this._dataUint8=r,this._dataFloat32=new Float32Array(this._data),this._dataView=new DataView(this._data)}}}De.headerSizeBytes=8,De.psbPacketType=4,De.psbCameraFrameWidth=4,De.psbCameraFrameHeight=4,De.psbFlags=4,De.psbCameraToDeviceTransform=64,De.psbCameraModel=24,De.cameraPacketSizeBytes=De.psbCameraFrameWidth+De.psbCameraFrameHeight+De.psbCameraToDeviceTransform+De.psbCameraModel+De.psbFlags,De.accelerometerPacketSizeBytes=16,De.sensorWithIntervalPacketSizeBytes=20,De.rotationRatePacketSizeBytes=16,De.attitudePacketSizeBytes=16,De.attitudeMatrixPacketSizeBytes=64;class Oe{constructor(e){this._data=e,this.dataByPacket=new Map,this.dataByCameraFrame=new Map,this.numberPackets=0,this.numberCameraFrames=0,this.numberAccelerometerPackets=0,this.numberRotationRatePackets=0,this.numberAttitudePackets=0,this.numberAttitudeMatrixPackets=0;let t=new TextDecoder,r="";try{r=t.decode(this._data.slice(0,4))}catch(e){throw new Error("Unable to decode header - perhaps this isn't a sequence file?")}if("UAR1"!==r)throw new Error(`Invalid - perhaps this isn't a sequence file: ${r}`);let i=0,a=new DataView(this._data);this.numberPackets=a.getUint32(4,!0),i+=De.headerSizeBytes;for(let e=0;e<this.numberPackets;e++){let t=a.getUint32(i,!0);switch(i+=De.psbPacketType,t){case Ue.CAMERA_FRAME:{let t=a.getUint32(i,!0);i+=De.psbCameraFrameWidth;let r=a.getUint32(i,!0);i+=De.psbCameraFrameHeight;let n=new Float32Array(this._data,i,De.psbCameraToDeviceTransform/4);i+=De.psbCameraToDeviceTransform;let o=new Float32Array(this._data,i,De.psbCameraModel/4);i+=De.psbCameraModel;let s=a.getUint32(i,!0);i+=De.psbFlags;let _=1===s,c=new Uint8Array(this._data,i,t*r);i+=t*r;let l={type:Ue.CAMERA_FRAME,width:t,height:r,cameraToDevice:n,cameraModel:o,userFacing:_,greyscale:c};this.dataByPacket.set(e,l),this.dataByCameraFrame.set(this.numberCameraFrames,l),this.numberCameraFrames++;break}case Ue.ACCELEROMETER:{let t=a.getUint32(i,!0);i+=4;let r=a.getFloat32(i,!0);i+=4;let n=a.getFloat32(i,!0);i+=4;let o=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:Ue.ACCELEROMETER,t,x:r,y:n,z:o}),this.numberAccelerometerPackets++;break}case Ue.ROTATION_RATE:{let t=a.getUint32(i,!0);i+=4;let r=a.getFloat32(i,!0);i+=4;let n=a.getFloat32(i,!0);i+=4;let o=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:Ue.ROTATION_RATE,t,x:r,y:n,z:o}),this.numberRotationRatePackets++;break}case Ue.ATTITUDE:{let t=a.getUint32(i,!0);i+=4;let r=a.getFloat32(i,!0);i+=4;let n=a.getFloat32(i,!0);i+=4;let o=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:Ue.ATTITUDE,t,x:r,y:n,z:o}),this.numberAttitudePackets++;break}case Ue.ATTITUDE_MATRIX:{let t=new Float32Array(this._data,i,De.attitudeMatrixPacketSizeBytes/4);i+=De.attitudeMatrixPacketSizeBytes,this.dataByPacket.set(e,{type:Ue.ATTITUDE_MATRIX,attitude:t}),this.numberAttitudeMatrixPackets++;break}case Ue.ACCELEROMETER_WO_GRAVITY_INT:case Ue.ACCELEROMETER_W_GRAVITY_INT:case Ue.ATTITUDE_INT:case Ue.ROTATION_RATE_INT:{let r=a.getUint32(i,!0);i+=4;let n=a.getUint32(i,!0);i+=4;let o=a.getFloat32(i,!0);i+=4;let s=a.getFloat32(i,!0);i+=4;let _=a.getFloat32(i,!0);i+=4,this.dataByPacket.set(e,{type:t,t:r,int:n,x:o,y:s,z:_}),this.numberAccelerometerPackets++;break}}}}}class Ve{}const Ge=new Map;class Ke{constructor(e){this._gl=e,this._viewports=[],this._underlyingViewport=this._gl.viewport,this._viewports.push(this._gl.getParameter(this._gl.VIEWPORT)),this._gl.viewport=(e,t,r,i)=>{this._viewports[this._viewports.length-1]=[e,t,r,i],this._underlyingViewport.call(this._gl,e,t,r,i)}}static get(e){let t=Ge.get(e);return t||(t=new Ke(e),Ge.set(e,t)),t}push(){this._viewports.push(this._viewports[this._viewports.length-1])}pop(){const e=this._viewports.pop(),t=this._viewports[this._viewports.length-1];e&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]||this._underlyingViewport.call(this._gl,t[0],t[1],t[2],t[3])}}class Ze{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=R(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null,this._isWebGL2=!1,this._isWebGL2=e.getParameter(e.VERSION).indexOf("WebGL 2")>=0,this._isWebGL2||(this._instancedArraysExtension=this._gl.getExtension("ANGLE_instanced_arrays"))}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,t,r,i,a){let n=this._gl;const o=Ke.get(n);o.push();const s=n.isEnabled(n.SCISSOR_TEST),_=n.isEnabled(n.DEPTH_TEST),c=n.isEnabled(n.BLEND),l=n.isEnabled(n.CULL_FACE),d=n.isEnabled(n.STENCIL_TEST),h=n.getParameter(n.ACTIVE_TEXTURE),u=n.getParameter(n.UNPACK_FLIP_Y_WEBGL),f=n.getParameter(n.CURRENT_PROGRAM);n.activeTexture(n.TEXTURE0);const p=n.getParameter(n.TEXTURE_BINDING_2D),m=n.getParameter(n.FRAMEBUFFER_BINDING),b=n.getParameter(n.ARRAY_BUFFER_BINDING),v=n.getParameter(n.ELEMENT_ARRAY_BUFFER_BINDING);n.disable(n.SCISSOR_TEST),n.disable(n.DEPTH_TEST),n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.STENCIL_TEST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),n.bindTexture(n.TEXTURE_2D,e);const g=n.RGBA,E=n.RGBA,w=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,0,g,E,w,t);let y=0,A=0;"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?(y=t.videoWidth,A=t.videoHeight):(y=t.width,A=t.height),A>y&&(A=[y,y=A][0]),this._updateTransforms(r,i);const[T,R]=C.getDataSize(a);let x=this._getFramebuffer(n,T/4,R),k=this._getVertexBuffer(n),S=this._getIndexBuffer(n),I=this._getGreyscaleShader(n);const N=n.getVertexAttrib(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_SIZE),L=n.getVertexAttrib(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_TYPE),F=n.getVertexAttrib(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_NORMALIZED),M=n.getVertexAttrib(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_STRIDE),z=n.getVertexAttribOffset(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_POINTER),P=n.getVertexAttrib(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_ENABLED),j=n.getVertexAttrib(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),B=n.getVertexAttrib(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_SIZE),U=n.getVertexAttrib(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_TYPE),D=n.getVertexAttrib(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_NORMALIZED),O=n.getVertexAttrib(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_STRIDE),V=n.getVertexAttribOffset(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_POINTER),G=n.getVertexAttrib(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING),K=n.getVertexAttrib(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_ENABLED);let Z=0,W=0;this._isWebGL2?(Z=n.getVertexAttrib(I.aVertexPositionLoc,n.VERTEX_ATTRIB_ARRAY_DIVISOR),W=n.getVertexAttrib(I.aTextureCoordLoc,n.VERTEX_ATTRIB_ARRAY_DIVISOR),n.vertexAttribDivisor(I.aVertexPositionLoc,0),n.vertexAttribDivisor(I.aTextureCoordLoc,0)):this._instancedArraysExtension&&(Z=n.getVertexAttrib(I.aVertexPositionLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),W=n.getVertexAttrib(I.aTextureCoordLoc,this._instancedArraysExtension.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),this._instancedArraysExtension.vertexAttribDivisorANGLE(I.aVertexPositionLoc,0),this._instancedArraysExtension.vertexAttribDivisorANGLE(I.aTextureCoordLoc,0)),n.bindFramebuffer(n.FRAMEBUFFER,x),n.viewport(0,0,this._framebufferWidth,this._framebufferHeight),n.clear(n.COLOR_BUFFER_BIT),n.bindBuffer(n.ARRAY_BUFFER,k),n.vertexAttribPointer(I.aVertexPositionLoc,2,n.FLOAT,!1,16,0),n.enableVertexAttribArray(I.aVertexPositionLoc),n.vertexAttribPointer(I.aTextureCoordLoc,2,n.FLOAT,!1,16,8),n.enableVertexAttribArray(I.aTextureCoordLoc),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,S),n.useProgram(I.program),n.uniform1f(I.uTexWidthLoc,T),n.uniformMatrix4fv(I.uUvTransformLoc,!1,this._cameraUvTransform),n.activeTexture(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,e),n.uniform1i(I.uSamplerLoc,0),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0),n.bindBuffer(n.ARRAY_BUFFER,j),n.vertexAttribPointer(I.aVertexPositionLoc,N,L,F,M,z),n.bindBuffer(n.ARRAY_BUFFER,G),n.vertexAttribPointer(I.aTextureCoordLoc,B,U,D,O,V),n.bindBuffer(n.ARRAY_BUFFER,b),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,v),P||n.disableVertexAttribArray(I.aVertexPositionLoc),K||n.disableVertexAttribArray(I.aTextureCoordLoc),this._isWebGL2?(n.vertexAttribDivisor(I.aVertexPositionLoc,Z),n.vertexAttribDivisor(I.aTextureCoordLoc,W)):this._instancedArraysExtension&&(this._instancedArraysExtension.vertexAttribDivisorANGLE(I.aVertexPositionLoc,Z),this._instancedArraysExtension.vertexAttribDivisorANGLE(I.aTextureCoordLoc,W)),n.bindFramebuffer(n.FRAMEBUFFER,m),n.useProgram(f),n.bindTexture(n.TEXTURE_2D,p),n.activeTexture(h),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,u),o.pop(),c&&n.enable(n.BLEND),l&&n.enable(n.CULL_FACE),_&&n.enable(n.DEPTH_TEST),s&&n.enable(n.SCISSOR_TEST),d&&n.enable(n.STENCIL_TEST)}readFrame(e,t,r){let i=this._gl,a=new Uint8Array(t);const n=i.getParameter(i.FRAMEBUFFER_BINDING),[o,s]=C.getDataSize(r);let _=this._getFramebuffer(i,o/4,s);return i.bindFramebuffer(i.FRAMEBUFFER,_),i.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,i.RGBA,i.UNSIGNED_BYTE,a),i.bindFramebuffer(i.FRAMEBUFFER,n),{uvTransform:this._cameraUvTransform,data:t,texture:e,dataWidth:o,dataHeight:s,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0);const i=e.getParameter(e.TEXTURE_BINDING_2D);e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let a=e.checkFramebufferStatus(e.FRAMEBUFFER);if(a!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+a.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,i),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,We),i=u(e,e.FRAGMENT_SHADER,He);e.attachShader(t,r),e.attachShader(t,i),f(e,t);let a=e.getUniformLocation(t,"uTexWidth");if(!a)throw new Error("Unable to get uniform location uTexWidth");let n=e.getUniformLocation(t,"uUvTransform");if(!n)throw new Error("Unable to get uniform location uUvTransform");let o=e.getUniformLocation(t,"uSampler");if(!o)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:a,uUvTransformLoc:n,uSamplerLoc:o},this._greyscaleShader}}let We="\n attribute vec4 aVertexPosition;\n attribute vec2 aTextureCoord;\n\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform float uTexWidth;\n\tuniform mat4 uUvTransform;\n\n void main(void) {\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\n\n gl_Position = aVertexPosition;\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\n }\n",He="\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform sampler2D uSampler;\n\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\n\n void main(void) {\n lowp vec4 outpx;\n\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\n\n gl_FragColor = outpx;\n }\n",Ye=1,Xe=new Map;class qe extends Ve{constructor(e,t){super(),this._video=e,this._pipeline=t,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._cameraToDeviceTransform=R(),this._cameraToDeviceTransformUserFacing=R(),this._cameraModel=new Float32Array([300,300,160,120,0,0]),this._profile=c.DEFAULT,I(this._cameraToDeviceTransformUserFacing,[-1,1,-1]);let r=this._video;this._video instanceof HTMLVideoElement?r.addEventListener("loadedmetadata",(()=>{this._hadFrames=!0})):this._hadFrames=!0,this._resetGLContext=this._resetGLContext.bind(this);let i=pt.get(this._pipeline);i&&i.onGLContextReset.bind(this._resetGLContext)}static createVideoElementSource(e,t){let r=Ye++;return Xe.set(r,new qe(t,e)),we("html_element_source_t initialized"),r}static getVideoElementSource(e){return Xe.get(e)}_resetGLContext(){var e,t;this._currentVideoTexture=void 0,null===(t=null===(e=this._imageProcessor)||void 0===e?void 0:e.resetGLContext)||void 0===t||t.call(e)}destroy(){let e=pt.get(this._pipeline);e&&e.onGLContextReset.unbind(this._resetGLContext),this.pause(),this._resetGLContext()}pause(){this._isPaused=!0;let e=pt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}start(){var e;this._isPaused&&(this._isUploadFrame=!0,this._video instanceof HTMLVideoElement&&(this._hadFrames=!1)),this._isPaused=!1;let t=pt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}getFrame(e){let t=pt.get(this._pipeline);if(!t)return;let r=t.glContext;if(r&&!this._isPaused&&this._hadFrames)try{let i=this._processFrame(r,this._cameraToScreenRotation,e);if(i){let e=t.registerToken(i);t.sendDataToWorker(i.data||new ArrayBuffer(0),e,i.dataWidth,i.dataHeight,i.userFacing,i.cameraToDevice,i.cameraModel),i.data=void 0}}catch(e){console.log("Unable to process frame")}}_processFrame(e,t,r){let i=pt.get(this._pipeline);if(!i)return;if(this._imageProcessor||(this._imageProcessor=new Ze(e)),this._isUploadFrame){if(this._currentVideoTexture||(this._currentVideoTexture=i.getVideoTexture()),!this._currentVideoTexture)return;return this._imageProcessor.uploadFrame(this._currentVideoTexture,this._video,t,this._isUserFacing,this._profile),void(this._isUploadFrame=!this._isUploadFrame)}if(r||!this._currentVideoTexture)return;this._isUploadFrame=!this._isUploadFrame;const[a,n]=C.getDataSize(this._profile);let o=a*n,s=i.cameraPixelArrays.pop();for(;s&&s.byteLength!==o;)s=i.cameraPixelArrays.pop();s||(s=new ArrayBuffer(o));let _=this._currentVideoTexture;this._currentVideoTexture=void 0;let c=300*a/320;return this._cameraModel[0]=c,this._cameraModel[1]=c,this._cameraModel[2]=.5*a,this._cameraModel[3]=.5*n,Object.assign(Object.assign({},this._imageProcessor.readFrame(_,s,this._profile)),{cameraModel:this._cameraModel,cameraSource:this,cameraToDevice:this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform})}uploadGL(){}setProfile(e){this._profile=e}}var Je=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function o(e){try{_(i.next(e))}catch(e){n(e)}}function s(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}_((i=i.apply(e,t||[])).next())}))};let $e=document.createElement("video");$e.setAttribute("playsinline",""),$e.setAttribute("webkit-playsinline",""),C.videoElementInDOM&&($e.style.width="0px",$e.style.height="0px",document.body.appendChild($e));class Qe extends qe{constructor(e,t,r){super($e,t),this._impl=e,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._hasStartedOrientation=!1,this._lastTimestamp=-1,this._deviceMotionListener=e=>{let t=pt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();const i=e.interval*C.intervalMultiplier;C.trustSensorIntervals&&(-1===this._lastTimestamp?this._lastTimestamp=r:(this._lastTimestamp+=i,r=this._lastTimestamp)),null!==e.acceleration&&null!==e.acceleration.x&&null!==e.acceleration.y&&null!==e.acceleration.z&&t.motionAccelerometerWithoutGravitySubmitInt(r,i,e.acceleration.x*C.deviceMotionMutliplier,e.acceleration.y*C.deviceMotionMutliplier,e.acceleration.z*C.deviceMotionMutliplier),null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&(t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*C.deviceMotionMutliplier,e.accelerationIncludingGravity.y*C.deviceMotionMutliplier,e.accelerationIncludingGravity.z*C.deviceMotionMutliplier),t.motionAccelerometerWithGravitySubmitInt(r,i,e.accelerationIncludingGravity.x*C.deviceMotionMutliplier,e.accelerationIncludingGravity.y*C.deviceMotionMutliplier,e.accelerationIncludingGravity.z*C.deviceMotionMutliplier)),null!==e.rotationRate&&null!==e.rotationRate.alpha&&null!==e.rotationRate.beta&&null!==e.rotationRate.gamma&&this._hasStartedOrientation?(t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180),t.motionRotationRateSubmitInt(r,i,e.rotationRate.alpha,e.rotationRate.beta,e.rotationRate.gamma)):this._hasStartedOrientation||this._startDeviceOrientation()}}destroy(){_t(this._impl),super.destroy()}_stop(){this._currentStream&&(this._currentStream.getTracks().forEach((e=>e.stop())),this._currentStream=null)}pause(){super.pause(),this._stopDeviceMotion(),this._syncCamera()}start(){super.start(),this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return Je(this,void 0,void 0,(function*(){let e,t;if(this._deviceId!==Qe.DEFAULT_DEVICE_ID&&this._deviceId!==Qe.USER_DEFAULT_DEVICE_ID)e=this._deviceId;else if(t=this._deviceId===Qe.DEFAULT_DEVICE_ID?"environment":"user",C.ios164CameraSelection){if(!this._explicitEnvironmentCameraId||!this._explicitUserCameraId){(yield navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:t}})).getTracks().forEach((e=>e.stop()));let e=yield navigator.mediaDevices.enumerateDevices();e=e.filter((e=>"videoinput"===e.kind)),e.length>=2&&(this._explicitUserCameraId=e[0].deviceId,this._explicitEnvironmentCameraId=e[1].deviceId)}e="environment"===t?this._explicitEnvironmentCameraId:this._explicitUserCameraId}let r={audio:!1,video:{facingMode:t,width:C.videoWidth,height:C.videoHeight,frameRate:C.requestHighFrameRate?60:void 0,deviceId:e}};if(e||C.relyOnConstraintsForCameraSelection)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let i=yield navigator.mediaDevices.enumerateDevices(),a=!1;return i=i.filter((e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0})),a&&0!==i.length?("object"==typeof r.video&&(we("choosing device ID",i[i.length-1].deviceId),r.video.deviceId=i[i.length-1].deviceId),r):r}))}getFrame(e){this._cameraToScreenRotation=G(!1),super.getFrame(e)}_getUserMedia(){return Je(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise(((t,r)=>{navigator.getUserMedia(e,t,r)}))}))}_syncCamera(){return Je(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();e.length>0&&(this._isUserFacing="user"===e[0].getSettings().facingMode)}if(!(this._video instanceof HTMLVideoElement))return;this._video.src="",this._video.loop=!1,this._video.muted=!0,this._video.srcObject=this._currentStream,this._video.play()}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,this._deviceOrientationListener=e=>{let t=pt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmitInt(r,0,e.alpha,e.beta,e.gamma)},window.addEventListener("deviceorientation",this._deviceOrientationListener))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1),this._startDeviceOrientation()}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener),this._deviceOrientationListener&&window.removeEventListener("deviceorientation",this._deviceOrientationListener)}}Qe.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",Qe.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b";var et=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function o(e){try{_(i.next(e))}catch(e){n(e)}}function s(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}_((i=i.apply(e,t||[])).next())}))};class tt extends Ve{constructor(e,t,r){super(),this._impl=e,this._pipeline=t,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._isPaused=!0,this._isUserFacing=!1,this._hadFrames=!1,this._canvas=new OffscreenCanvas(640,480),this._context=this._canvas.getContext("2d"),this._lastFrameTime=-1,this._video=document.createElement("video"),this._cameraToDeviceTransform=R(),this._cameraToDeviceTransformUserFacing=R(),this._cameraModel=new Float32Array([300,300,160,120,0,0]),this._profile=c.DEFAULT,this._hasStartedOrientation=!1,this._lastTimestamp=-1,this._deviceMotionListener=e=>{let t=pt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now(),i=e.interval;this._lastTimestamp>-1&&!C.trustSensorIntervals&&(i=Math.max(r-this._lastTimestamp,i)),this._lastTimestamp=r,i*=C.intervalMultiplier,null!==e.acceleration&&null!==e.acceleration.x&&null!==e.acceleration.y&&null!==e.acceleration.z&&t.motionAccelerometerWithoutGravitySubmitInt(r,i,e.acceleration.x*C.deviceMotionMutliplier,e.acceleration.y*C.deviceMotionMutliplier,e.acceleration.z*C.deviceMotionMutliplier),null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&(t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*C.deviceMotionMutliplier,e.accelerationIncludingGravity.y*C.deviceMotionMutliplier,e.accelerationIncludingGravity.z*C.deviceMotionMutliplier),t.motionAccelerometerWithGravitySubmitInt(r,i,e.accelerationIncludingGravity.x*C.deviceMotionMutliplier,e.accelerationIncludingGravity.y*C.deviceMotionMutliplier,e.accelerationIncludingGravity.z*C.deviceMotionMutliplier)),null!==e.rotationRate&&null!==e.rotationRate.alpha&&null!==e.rotationRate.beta&&null!==e.rotationRate.gamma&&this._hasStartedOrientation?(t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180),t.motionRotationRateSubmitInt(r,i,e.rotationRate.alpha,e.rotationRate.beta,e.rotationRate.gamma)):this._hasStartedOrientation||this._startDeviceOrientation()},we("Using ImageBitmap camera source"),I(this._cameraToDeviceTransformUserFacing,[-1,1,-1]),this._video.muted=!0,this._video.setAttribute("playsinline",""),this._video.setAttribute("webkit-playsinline",""),C.videoElementInDOM&&(this._video.style.width="0px",this._video.style.height="0px",document.body.appendChild(this._video)),this._video.addEventListener("loadedmetadata",(()=>{this._hadFrames=!0}))}destroy(){this.pause(),_t(this._impl)}setProfile(e){this._profile=e}_stop(){this._currentStream&&(this._currentStream.getTracks().forEach((e=>e.stop())),this._currentStream=null)}pause(){this._isPaused=!0;let e=pt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0),this._stopDeviceMotion(),this._syncCamera()}start(){var e;let t=pt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this),this._isPaused=!1,this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return et(this,void 0,void 0,(function*(){let e,t;this._deviceId!==tt.DEFAULT_DEVICE_ID&&this._deviceId!==tt.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===tt.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:C.videoWidth,height:C.videoHeight,frameRate:C.requestHighFrameRate?60:void 0,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let i=yield navigator.mediaDevices.enumerateDevices(),a=!1;return i=i.filter((e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0})),a&&0!==i.length?("object"==typeof r.video&&(we("choosing device ID",i[i.length-1].deviceId),r.video.deviceId=i[i.length-1].deviceId),r):r}))}getFrame(e){var t,r;if(!this._context)return;if(!this._hadFrames)return;if(e)return;let i=performance.now();if(i<this._lastFrameTime+25)return;this._lastFrameTime=i,this._canvas.width!==this._video.videoWidth&&(this._canvas.width=this._video.videoWidth),this._canvas.height!==this._video.videoHeight&&(this._canvas.height=this._video.videoHeight),this._context.drawImage(this._video,0,0);const a=this._canvas.transferToImageBitmap();let n=G(!1),o=pt.get(this._pipeline);if(!o)return;const[s,_]=C.getDataSize(this._profile);let c=300*s/320;this._cameraModel[0]=c,this._cameraModel[1]=c,this._cameraModel[2]=.5*s,this._cameraModel[3]=.5*_;let l=o.registerToken({dataWidth:this._canvas.width,dataHeight:this._canvas.height,texture:void 0,userFacing:this._isUserFacing,cameraSource:this,cameraModel:this._cameraModel.slice(),cameraToDevice:this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform});null===(r=null===(t=pt.get(this._pipeline))||void 0===t?void 0:t.sendImageBitmapToWorker)||void 0===r||r.call(t,a,n,this._isUserFacing,l,this._cameraModel,this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform,this._profile)}_getUserMedia(){return et(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise(((t,r)=>{navigator.getUserMedia(e,t,r)}))}))}_syncCamera(){return et(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();e.length>0&&(this._isUserFacing="user"===e[0].getSettings().facingMode)}this._video.src="",this._video.loop=!1,this._video.muted=!0,this._video.srcObject=this._currentStream,this._video.play()}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,window.addEventListener("deviceorientation",(e=>{let t=pt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmitInt(r,0,e.alpha,e.beta,e.gamma)})))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener)}uploadGL(e){const t=pt.get(this._pipeline),r=null==t?void 0:t.glContext;if(!e||e.texture||!e.frame||!t||!r)return;let i=t.getVideoTexture();i&&(r.bindTexture(r.TEXTURE_2D,i),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e.frame),r.bindTexture(r.TEXTURE_2D,null),e.texture=i,e.frame.close(),delete e.frame)}}tt.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",tt.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b";var rt=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function o(e){try{_(i.next(e))}catch(e){n(e)}}function s(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}_((i=i.apply(e,t||[])).next())}))};class it extends Ve{constructor(e,t,r){super(),this._impl=e,this._pipeline=t,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._isPaused=!0,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._hasStartedOrientation=!1,this._lastTimestamp=-1,this._deviceMotionListener=e=>{let t=pt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();const i=e.interval*C.intervalMultiplier;C.trustSensorIntervals&&(-1===this._lastTimestamp?this._lastTimestamp=r:(this._lastTimestamp+=i,r=this._lastTimestamp)),null!==e.acceleration&&null!==e.acceleration.x&&null!==e.acceleration.y&&null!==e.acceleration.z&&t.motionAccelerometerWithoutGravitySubmitInt(r,i,e.acceleration.x*C.deviceMotionMutliplier,e.acceleration.y*C.deviceMotionMutliplier,e.acceleration.z*C.deviceMotionMutliplier),null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&(t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*C.deviceMotionMutliplier,e.accelerationIncludingGravity.y*C.deviceMotionMutliplier,e.accelerationIncludingGravity.z*C.deviceMotionMutliplier),t.motionAccelerometerWithGravitySubmitInt(r,i,e.accelerationIncludingGravity.x*C.deviceMotionMutliplier,e.accelerationIncludingGravity.y*C.deviceMotionMutliplier,e.accelerationIncludingGravity.z*C.deviceMotionMutliplier)),null!==e.rotationRate&&null!==e.rotationRate.alpha&&null!==e.rotationRate.beta&&null!==e.rotationRate.gamma&&this._hasStartedOrientation?(t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180),t.motionRotationRateSubmitInt(r,i,e.rotationRate.alpha,e.rotationRate.beta,e.rotationRate.gamma)):this._hasStartedOrientation||this._startDeviceOrientation()},this._lastAccelerometerTimestamp=-1,this._accelerometerReading=()=>{var e;if(!this._accelerometer||void 0===this._accelerometer.x||void 0===this._accelerometer.y||void 0===this._accelerometer.z)return;let t=pt.get(this._pipeline);if(!t)return;const r=null!==(e=this._accelerometer.timestamp)&&void 0!==e?e:performance.now(),i=this._lastAccelerometerTimestamp>-1?r-this._lastAccelerometerTimestamp:30;this._lastAccelerometerTimestamp=r,t.motionAccelerometerSubmit(r,this._accelerometer.x*C.deviceMotionMutliplier,this._accelerometer.y*C.deviceMotionMutliplier,this._accelerometer.z*C.deviceMotionMutliplier),t.motionAccelerometerWithGravitySubmitInt(r,i,this._accelerometer.x*C.deviceMotionMutliplier,this._accelerometer.y*C.deviceMotionMutliplier,this._accelerometer.z*C.deviceMotionMutliplier)},this._lastLinearAccelerationTimestamp=-1,this._linearAccelerationReading=()=>{var e;if(!this._linearAcceleration||void 0===this._linearAcceleration.x||void 0===this._linearAcceleration.y||void 0===this._linearAcceleration.z)return;let t=pt.get(this._pipeline);if(!t)return;const r=null!==(e=this._linearAcceleration.timestamp)&&void 0!==e?e:performance.now(),i=this._lastLinearAccelerationTimestamp>-1?r-this._lastLinearAccelerationTimestamp:30;this._lastLinearAccelerationTimestamp=r,t.motionAccelerometerWithoutGravitySubmitInt(r,i,this._linearAcceleration.x*C.deviceMotionMutliplier,this._linearAcceleration.y*C.deviceMotionMutliplier,this._linearAcceleration.z*C.deviceMotionMutliplier)},this._lastGyroscopeReading=-1,this._gyroscopeReading=()=>{var e;if(!this._gyroscope||void 0===this._gyroscope.x||void 0===this._gyroscope.y||void 0===this._gyroscope.z)return;let t=pt.get(this._pipeline);if(!t)return;const r=null!==(e=this._gyroscope.timestamp)&&void 0!==e?e:performance.now(),i=this._lastGyroscopeReading>-1?r-this._lastGyroscopeReading:30;this._lastGyroscopeReading=r,t.motionRotationRateSubmit(r,-this._gyroscope.x,-this._gyroscope.y,-this._gyroscope.z),t.motionRotationRateSubmitInt(r,i,180*this._gyroscope.x/Math.PI,180*this._gyroscope.y/Math.PI,180*this._gyroscope.z/Math.PI)},we("Using MSTP camera source")}destroy(){this.pause(),_t(this._impl)}_stop(){this._currentStream&&(this._currentStream.getTracks().forEach((e=>e.stop())),this._currentStream=null)}pause(){this._isPaused=!0;let e=pt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0),this._stopDeviceMotion(),this._syncCamera()}start(){var e;let t=pt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this),this._isPaused=!1,this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return rt(this,void 0,void 0,(function*(){let e,t;this._deviceId!==it.DEFAULT_DEVICE_ID&&this._deviceId!==it.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===it.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:C.videoWidth,height:C.videoHeight,frameRate:C.requestHighFrameRate?60:30,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let i=yield navigator.mediaDevices.enumerateDevices(),a=!1;return i=i.filter((e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0})),a&&0!==i.length?("object"==typeof r.video&&(we("choosing device ID",i[i.length-1].deviceId),r.video.deviceId=i[i.length-1].deviceId),r):r}))}getFrame(e){var t,r;let i=G(!1);i!=this._cameraToScreenRotation&&(null===(r=null===(t=pt.get(this._pipeline))||void 0===t?void 0:t.sendCameraToScreenRotationToWorker)||void 0===r||r.call(t,i),this._cameraToScreenRotation=i)}_getUserMedia(){return rt(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise(((t,r)=>{navigator.getUserMedia(e,t,r)}))}))}streamEnded(){console.log("MSTP stream ended"),this._stop(),this._syncCamera()}_syncCamera(){return rt(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();if(e.length>0){this._isUserFacing="user"===e[0].getSettings().facingMode;let t=new MediaStreamTrackProcessor({track:e[0]});const r=this._currentStream;if(yield(1e3,new Promise((e=>{setTimeout(e,1e3)}))),r!==this._currentStream)return;let i=pt.get(this._pipeline);i&&i.sendCameraStreamToWorker(this._impl,t.readable,this._isUserFacing)}}}}))}setProfile(e){let t=pt.get(this._pipeline);t&&t.sendCameraProfileToWorker(this._impl,e)}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,window.addEventListener("deviceorientation",(e=>{let t=pt.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmitInt(r,0,e.alpha,e.beta,e.gamma)})))}_startDeviceMotion(){try{this._accelerometer=new Accelerometer({frequency:60}),this._linearAcceleration=new LinearAccelerationSensor({frequency:60}),this._gyroscope=new Gyroscope({frequency:60}),this._accelerometer.addEventListener("reading",this._accelerometerReading),this._accelerometer.start(),this._linearAcceleration.addEventListener("reading",this._linearAccelerationReading),this._linearAcceleration.start(),this._gyroscope.addEventListener("reading",this._gyroscopeReading),this._gyroscope.start()}catch(e){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}}_stopDeviceMotion(){this._accelerometer&&(this._accelerometer.stop(),this._accelerometer.removeEventListener("reading",this._accelerometerReading),delete this._accelerometer),this._linearAcceleration&&(this._linearAcceleration.stop(),this._linearAcceleration.removeEventListener("reading",this._linearAccelerationReading),delete this._linearAcceleration),this._gyroscope&&(this._gyroscope.stop(),this._gyroscope.removeEventListener("reading",this._gyroscopeReading),delete this._gyroscope),window.removeEventListener("devicemotion",this._deviceMotionListener)}uploadGL(e){const t=pt.get(this._pipeline),r=null==t?void 0:t.glContext;if(!e||e.texture||!e.frame||!t||!r)return;let i=t.getVideoTexture();i&&(r.bindTexture(r.TEXTURE_2D,i),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e.frame),r.bindTexture(r.TEXTURE_2D,null),e.texture=i,e.frame.close(),delete e.frame)}}it.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",it.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b";let at=1,nt=new Map;function ot(e,t){nt.set(e,t)}function st(e){return nt.get(e)}function _t(e){nt.delete(e)}class ct{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._uvbo&&this._gl.deleteBuffer(this._uvbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._uvbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateUVBO(e,t){if(this._uvbo||(this._uvbo=t.createBuffer()),!this._uvbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._uvbo),t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._uvbo}draw(e,t,r){var i;const a=t.getPreviewMesh(r),n=null===(i=t.getTargetInfo(r).preview)||void 0===i?void 0:i.image;if(!a||!n)return;if(!n.complete)return;let o=this._gl,s=this._getShader(o),_=this._generateVBO(a.vertices,o),c=this._generateUVBO(a.uvs,o),l=this._generateIBO(a.indices,o);o.enable(o.DEPTH_TEST),o.enable(o.CULL_FACE),o.useProgram(s.prog),o.uniformMatrix4fv(s.unif_matrix,!1,e),o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,function(e,t){let r=lt.get(t);if(r)return r;if(r=e.createTexture()||void 0,!r)throw new Error("Unable to create texture");lt.set(t,r),e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE);const i=e.RGBA,a=e.RGBA,n=e.UNSIGNED_BYTE;return e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,a,n,t),t.addEventListener("load",(()=>{if(!r)return;e.bindTexture(e.TEXTURE_2D,r);const i=e.RGBA,a=e.RGBA,n=e.UNSIGNED_BYTE;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,a,n,t)})),r}(o,n)),o.uniform1i(s.unif_skinSampler,0),o.bindBuffer(o.ARRAY_BUFFER,_),o.vertexAttribPointer(s.attr_position,3,o.FLOAT,!1,0,0),o.enableVertexAttribArray(s.attr_position),o.bindBuffer(o.ARRAY_BUFFER,c),o.vertexAttribPointer(s.attr_textureCoord,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(s.attr_textureCoord),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,l),o.drawElements(o.TRIANGLES,a.indices.length,o.UNSIGNED_SHORT,0),o.disableVertexAttribArray(s.attr_position),o.disableVertexAttribArray(s.attr_textureCoord),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,dt),i=u(e,e.FRAGMENT_SHADER,ht);e.attachShader(t,r),e.attachShader(t,i),f(e,t);let a=e.getUniformLocation(t,"matrix");if(!a)throw new Error("Unable to get uniform location mattrix");let n=e.getUniformLocation(t,"skinSampler");if(!n)throw new Error("Unable to get uniform location skinSampler");return this._shader={prog:t,unif_matrix:a,unif_skinSampler:n,attr_position:e.getAttribLocation(t,"position"),attr_textureCoord:e.getAttribLocation(t,"textureCoord")},this._shader}}const lt=new Map;let dt="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nattribute vec4 position;\nattribute vec2 textureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vTextureCoord = textureCoord;\n}",ht="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nuniform sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2D(skinSampler, vTextureCoord);\n}",ut=new Map,ft=R();class pt{constructor(e,t,r){this._client=e,this._impl=t,this._mgr=r,this.pendingMessages=[],this.cameraTokens=new Map,this.nextCameraToken=1,this.tokensInFlight=0,this.videoTextures=[],this.cameraPixelArrays=[],this._sequenceRecordDeviceAttitudeMatrices=!0,this._sequenceRecorderFirstCameraToken=0,this._cameraFrameDataPromises=new Map,this._cameraFrameDataResolves=new Map,this._cameraFrameDataRejects=new Map,this._cameraFrameDataEnabled=!1,this.onGLContextReset=new K}static create(e,t){let r=e.pipeline_create();return ut.set(r,new pt(e,r,t)),r}static get(e){return ut.get(e)}frameUpdate(e){for(let t of this.pendingMessages)e.processMessages(t),this._mgr.postOutgoingMessage({t:"buf",p:this._impl,d:t},[t]);this.pendingMessages=[],this.cleanOldFrames()}cleanOldFrames(){var e,t;let r=this._client.pipeline_camera_frame_user_data(this._impl);if(r)for(let i of this.cameraTokens)i[0]<r&&(i[1].texture&&this.videoTextures.push(i[1].texture),null===(t=null===(e=i[1].frame)||void 0===e?void 0:e.close)||void 0===t||t.call(e),i[1].data&&(this.cameraPixelArrays.push(i[1].data),i[1].data=void 0),this.cameraTokens.delete(i[0]))}cameraFrameDataRawResult(e){var t,r;let i=this.cameraTokens.get(e.token);i&&(null===e.data?null===(t=this._cameraFrameDataRejects.get(i))||void 0===t||t(new Error("Raw camera data not available")):(i.data=e.data.data,null===(r=this._cameraFrameDataResolves.get(i))||void 0===r||r(e.data)),this._cameraFrameDataRejects.delete(i),this._cameraFrameDataResolves.delete(i),this._cameraFrameDataPromises.delete(i))}cameraTokenReturn(e){let t=this.cameraTokens.get(e.token);if(this._sequenceRecorder&&this._sequenceRecordDeviceAttitudeMatrices&&e.token>=this._sequenceRecorderFirstCameraToken&&t&&(e.att&&this._sequenceRecorder.appendAttitudeMatrix(e.att),t.data=e.d,this._sequenceRecorder.appendCameraFrame(t)),t&&!t.data&&e.d){t.data=e.d;const r=this._cameraFrameDataResolves.get(t);r&&r({data:t.data,width:t.dataWidth,height:t.dataHeight}),this._cameraFrameDataRejects.delete(t),this._cameraFrameDataResolves.delete(t),this._cameraFrameDataPromises.delete(t)}this.tokensInFlight--}sequenceRecordStart(e){this._sequenceRecorder||(this._sequenceRecorder=new De(e)),this._sequenceRecorder.start(),this._sequenceRecorderFirstCameraToken=this.nextCameraToken}sequenceRecordStop(){var e;null===(e=this._sequenceRecorder)||void 0===e||e.stop()}sequenceRecordData(){var e;return(null===(e=this._sequenceRecorder)||void 0===e?void 0:e.data())||new Uint8Array(0)}sequenceRecordClear(){delete this._sequenceRecorder}sequenceRecordDeviceAttitudeMatrices(e){this._sequenceRecordDeviceAttitudeMatrices=e}getVideoTexture(){return this.videoTextures.pop()}getCameraFrameDataRaw(){if(!this._cameraFrameDataEnabled)throw new Error("Raw camera frame data is not enabled.");const e=this.getCurrentCameraInfo();if(!e)return Promise.resolve(void 0);if(e.data)return Promise.resolve({data:e.data.slice(0),width:e.dataWidth,height:e.dataHeight});let t=this._cameraFrameDataPromises.get(e);return t||(t=new Promise(((t,r)=>{if(void 0!==e.remoteToken){const t={t:"rawrequest",token:e.remoteToken,p:this._impl};this._mgr.postOutgoingMessage(t,[])}this._cameraFrameDataResolves.set(e,t),this._cameraFrameDataRejects.set(e,r)})),this._cameraFrameDataPromises.set(e,t)),t}setCameraFrameDataRawEnabled(e){this._cameraFrameDataEnabled=e;const t={t:"rawenabled",v:e};this._mgr.postOutgoingMessage(t,[])}destroy(){this._client.pipeline_destroy(this._impl),ut.delete(this._impl)}getCurrentCameraInfo(){let e=this._client.pipeline_camera_frame_user_data(this._impl);if(e)return this.cameraTokens.get(e)}cameraFrameDrawGL(e,t,r){if(!this.glContext)return;let i=this.getCurrentCameraInfo();i&&(this._cameraDraw||(this._cameraDraw=new Ie(this.glContext)),this._cameraDraw.drawCameraFrame(e,t,i,!0===r))}glContextLost(){this._cameraDraw&&this._cameraDraw.dispose(),this._faceDraw&&this._faceDraw.dispose(),this._imageTargetPreviewDraw&&this._imageTargetPreviewDraw.dispose(),this._faceProjectDraw&&this._faceProjectDraw.dispose(),delete this._cameraDraw,delete this._faceDraw,delete this._imageTargetPreviewDraw,delete this._faceProjectDraw,p=void 0,m=void 0,b=void 0,v={},this.onGLContextReset.emit();for(let e of this.videoTextures)this.glContext&&this.glContext.deleteTexture(e);this.videoTextures=[];for(let e of this.cameraTokens)this.glContext&&e[1].texture&&this.glContext.deleteTexture(e[1].texture),e[1].texture=void 0;this.glContext=void 0}glContextSet(e,t){this.glContextLost(),this.glContext=e,t=t||[];for(let r=0;r<4;r++){let i=t[r]||e.createTexture();i&&(e.bindTexture(e.TEXTURE_2D,i),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),this.videoTextures.push(i))}e.bindTexture(e.TEXTURE_2D,null)}drawFace(e,t,r,i){if(!this.glContext)return;this._faceDraw||(this._faceDraw=new Me(this.glContext));let a=R();k(a,e,t),k(a,a,r),this._faceDraw.drawFace(a,i)}drawImageTargetPreview(e,t,r,i,a){if(!this.glContext)return;this._imageTargetPreviewDraw||(this._imageTargetPreviewDraw=new ct(this.glContext));let n=R();k(n,e,t),k(n,n,r),this._imageTargetPreviewDraw.draw(n,a,i)}drawFaceProject(e,t,r,i,a,n){this.glContext&&(this._faceProjectDraw||(this._faceProjectDraw=new je(this.glContext)),this._faceProjectDraw.drawFace(e,t,r,i,a,n))}cameraFrameTexture(){var e;return null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.texture}cameraFrameTextureMatrix(e,t,r){let i=this.getCurrentCameraInfo();return i?Fe(i.dataWidth,i.dataHeight,e,t,i.uvTransform||ft,r):R()}cameraFrameUserFacing(){var e;return(null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.userFacing)||!1}cameraPoseWithAttitude(e){let t=mt(this.getCurrentCameraInfo(),this._client.pipeline_camera_frame_camera_attitude(this._impl));if(e){let e=R();I(e,[-1,1,1]),k(t,e,t),k(t,t,e)}return x(t,t),t}videoFrameFromWorker(e){let t=this.nextCameraToken++;const r=st(e.source);r&&(this.cameraTokens.set(t,{dataWidth:e.w,dataHeight:e.h,texture:void 0,frame:e.d,userFacing:e.userFacing,uvTransform:e.uvTransform,cameraModel:e.cameraModel,cameraToDevice:e.cameraToDevice,cameraSource:r,remoteToken:e.token}),this.cleanOldFrames())}imageBitmapFromWorker(e){let t=this.cameraTokens.get(e.tokenId);t&&(t.dataWidth=e.dataWidth,t.dataHeight=e.dataHeight,t.frame=e.frame,t.userFacing=e.userFacing,t.uvTransform=e.uvTransform,this.tokensInFlight--,this.cleanOldFrames())}uploadGL(){var e,t;let r=this.getCurrentCameraInfo();null===(t=null===(e=null==r?void 0:r.cameraSource)||void 0===e?void 0:e.uploadGL)||void 0===t||t.call(e,r)}registerToken(e){let t=this.nextCameraToken++;return this.cameraTokens.set(t,e),this.tokensInFlight++,t}processGL(){this.glContext?this.currentCameraSource&&(this.tokensInFlight>0?this.currentCameraSource.getFrame(!0):this.currentCameraSource.getFrame(!1)):ye("no GL context for camera frames - please call pipeline_gl_context_set")}motionAccelerometerSubmit(e,t,r,i){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAccelerometer(e,t,r,i);const n={t:"sensorDataC2S",sensor:"accel",interval:0,timestamp:e,x:t,y:r,z:i,p:this._impl};this._mgr.postOutgoingMessage(n,[])}motionAccelerometerWithoutGravitySubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendAccelerometerWithoutGravityInt(e,t,r,i,a);const o={t:"sensorDataC2S",sensor:"accel_wo_gravity_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(o,[])}motionAccelerometerWithGravitySubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendAccelerometerWithGravityInt(e,t,r,i,a);const o={t:"sensorDataC2S",sensor:"accel_w_gravity_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(o,[])}motionRotationRateSubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendRotationRateInt(e,t,r,i,a);const o={t:"sensorDataC2S",sensor:"rotation_rate_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(o,[])}motionAttitudeSubmitInt(e,t,r,i,a){var n;null===(n=this._sequenceRecorder)||void 0===n||n.appendAttitudeInt(e,t,r,i,a);const o={t:"sensorDataC2S",sensor:"attitude_int",interval:t,timestamp:e,x:r,y:i,z:a,p:this._impl};this._mgr.postOutgoingMessage(o,[])}motionRotationRateSubmit(e,t,r,i){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendRotationRate(e,t,r,i);const n={t:"sensorDataC2S",sensor:"rotation_rate",interval:0,timestamp:e,x:t,y:r,z:i,p:this._impl};this._mgr.postOutgoingMessage(n,[])}motionAttitudeSubmit(e,t,r,i){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAttitude(e,t,r,i);const n={t:"sensorDataC2S",sensor:"attitude",interval:0,timestamp:e,x:t,y:r,z:i,p:this._impl};this._mgr.postOutgoingMessage(n,[])}motionAttitudeMatrix(e){const t={t:"attitudeMatrixC2S",p:this._impl,m:e};this._mgr.postOutgoingMessage(t,[])}sendCameraStreamToWorker(e,t,r){let i={t:"streamC2S",p:this._impl,s:t,userFacing:r,source:e};this._mgr.postOutgoingMessage(i,[i.s])}sendCameraProfileToWorker(e,t){let r={t:"cameraProfileC2S",p:this._impl,source:e,profile:t};this._mgr.postOutgoingMessage(r,[])}sendCameraToScreenRotationToWorker(e){let t={p:this._impl,t:"cameraToScreenC2S",r:e};this._mgr.postOutgoingMessage(t,[])}sendImageBitmapToWorker(e,t,r,i,a,n,o){let s={p:this._impl,t:"imageBitmapC2S",i:e,r:t,tokenId:i,userFacing:r,cameraModel:a,cameraToDevice:n,cp:o};this._mgr.postOutgoingMessage(s,[e])}sendDataToWorker(e,t,r,i,a,n,o){let s={d:e,p:this._impl,width:r,height:i,token:t,userFacing:a,c2d:n,cm:o,t:"cameraFrameC2S"};this._mgr.postOutgoingMessage(s,[e])}}function mt(e,t){let r=!1;r=!!e&&e.userFacing;let i=R();return N(i,G(r)*Math.PI/180,[0,0,1]),k(i,i,t),i}const bt={0:[{mean:[.235,.2344,.7305],identity:[.008,.0087,.0024,-.0026,6e-4,-.0022,5e-4,.0033,.0026,.0017,-.0055,-8e-4,.0011,.0059,0,2e-4,.001,-.001,-.0044,-.0011,-1e-4,.0024,.0019,-9e-4,4e-4,-.0015,0,.0038,.0013,3e-4,.002,-.0021,.0018,.0023,.0011,.0012,-.0011,-.0017,9e-4,-.0012,-8e-4,7e-4,-.0017,.0029,-.0029,8e-4,-.0027,8e-4,-.0017,4e-4,9e-4,-.001,-3e-4,8e-4,-.0016,-3e-4,-7e-4,.0016,-9e-4,.0021,-5e-4,.0011,-.0024,-1e-4,6e-4,1e-4,-.0026,-4e-4,-3e-4,-9e-4,5e-4,3e-4,-8e-4,-.001,-4e-4,-8e-4,.0022,-.0014,-1e-4,-.0023,0,-.0018,7e-4,-.0036,.0017,.0017,-.0018,-2e-4,-4e-4,-9e-4,-8e-4,3e-4,.0012,9e-4,-4e-4,-.0016,5e-4,-.0013,.0011,.0023,.0029,.0024,.0017,-.0027,-4e-4,-.001,-.0018,-.0015,-.001,.001,-.0013,-1e-4,-2e-4,7e-4,3e-4,3e-4,-.0016,9e-4,-.0021,4e-4,.0014,.002,-7e-4,-4e-4,2e-4,-4e-4,-6e-4,-9e-4,.0015,4e-4,-4e-4,5e-4,-.0015,9e-4,3e-4,3e-4,-2e-4,-8e-4,-9e-4,.0023,4e-4,1e-4,-4e-4,-1e-4,7e-4,2e-4,.001,1e-4,-.0029,-5e-4],expression:[0,3e-4,.0052,-7e-4,-.0051,-.0103,0,.0019,.0027,-.0054,.0135,.035,-5e-4,-6e-4,.0025,-.0045,-.0557,-.003,-.0191,-.1199,.0548,-.0036,-.0682,-.0167,2e-4,-.0085,-.0085,.0044,.0041,-.0568,.0044,.179,.0065,-.0017,-.1006,.0036,-.0267,-.3279,.0301,-.0011,-.0173,-.001,.0046,.2808,.0207,.0162,.238,-.0225,.0017,.1041,.0203,5e-4,.0161,.0031,-.0436,.6504,.0873,-.0099,.1039,.0048,-.0254,.2534,-.0042,.003,-.0106,-.0153,-.0118,.0252,9e-4,-.0071,.0099,.007,-.0724,.0461,-.0235,.0833,.004,.0141,-.0219,.0132,-.0042,-.0179,.0045,-.0215,.3638,.0054,-.0445]},{mean:[.2358,.1466,.7183],identity:[.0077,.0093,1e-4,-.0022,0,-.0041,5e-4,.0022,.0028,.0018,-.0038,-.0013,.001,.0044,-2e-4,0,.0017,-.0016,-.0043,-2e-4,-1e-4,.0023,9e-4,5e-4,-7e-4,-4e-4,-.0017,.003,7e-4,6e-4,.0011,-.0018,5e-4,.0018,-8e-4,4e-4,-.0023,-6e-4,-3e-4,-.0015,-.0014,-1e-4,-.0018,.0027,-.0026,3e-4,-.0031,.0011,-.0026,-.0011,.0012,-.0013,-2e-4,7e-4,-.0021,.0021,4e-4,.0012,-.001,.002,-3e-4,2e-4,-.0026,-3e-4,.001,1e-4,-.0018,-.001,9e-4,-.0011,.001,4e-4,-8e-4,-7e-4,-.001,-3e-4,7e-4,-5e-4,-6e-4,-.0019,-5e-4,-.002,7e-4,-.0027,.0014,.0013,6e-4,-5e-4,-3e-4,-3e-4,-.001,0,.0019,1e-4,6e-4,-.0012,4e-4,-9e-4,4e-4,.0025,3e-4,.0024,.0017,-9e-4,-.0015,-.0015,-.001,-.0023,-.001,-5e-4,-4e-4,8e-4,9e-4,7e-4,2e-4,7e-4,-9e-4,9e-4,-.0013,1e-4,9e-4,2e-4,6e-4,-6e-4,-8e-4,-4e-4,-7e-4,8e-4,.0019,3e-4,.0015,2e-4,-.0015,-3e-4,0,6e-4,3e-4,6e-4,-6e-4,2e-4,5e-4,-4e-4,.0012,-4e-4,2e-4,-8e-4,6e-4,-4e-4,2e-4,-.0021],expression:[-.0034,.0054,.0069,.004,6e-4,-.0104,-3e-4,.0036,.0025,.0065,.0296,.0208,-9e-4,.0154,.0029,-.0167,.0124,.004,-.0102,.0351,.028,-.019,.0146,-.0035,-.0023,-.0069,-.0051,-.01,.0262,-.028,.0112,.082,.023,-.0019,-.066,-.0104,-.0408,.0164,.0075,-.0074,.0367,.0041,.0517,-.0207,.0045,.0291,-.0672,-.0129,.0345,-.1558,-.0106,.0037,-.0437,-.0021,.0854,-.1121,.0187,.0041,.0072,.0011,.0193,-.0143,-.0119,.005,-.02,-.0122,-.008,.0527,.0036,-.006,.0222,.007,-.0429,.046,-.0046,.0226,-.0059,.0202,-.0173,.0087,0,-.0067,-.0095,-.0153,.1506,-.0017,.0021]}],1:[{mean:[-.2271,.2323,.7319],identity:[-.0084,.0097,.0018,.0041,2e-4,-.002,-.0012,.0036,.0019,-9e-4,-.0063,-.001,-3e-4,.0053,6e-4,1e-4,5e-4,-.0015,.0044,-.0025,-.0015,-.002,.0016,-6e-4,2e-4,-.0013,0,-.0022,2e-4,2e-4,-.0025,-.0014,.0015,8e-4,2e-4,.0012,6e-4,-6e-4,.0017,0,3e-4,-1e-4,.0024,.0025,-.0029,-.0015,-.0015,1e-4,.0031,-.0016,7e-4,.0019,6e-4,.002,9e-4,.001,-.0014,-.002,-.0015,.0029,1e-4,5e-4,-.0023,8e-4,-.0011,.0019,.0017,-3e-4,-.0011,-3e-4,.0011,-8e-4,.0019,-.0022,1e-4,.0015,.0017,-8e-4,-.0011,-.0022,3e-4,.0022,6e-4,-.003,-2e-4,0,-.0017,-2e-4,0,1e-4,4e-4,.0012,.0019,-.0014,4e-4,-.0017,-.0012,-.0011,.0021,-.0029,.0026,.0018,-.0023,-.0029,1e-4,.0014,-.0019,-4e-4,-4e-4,.0023,-.0016,0,-9e-4,.0014,-.0015,.0015,-.0016,-.0011,-.0022,1e-4,-.0018,.0027,-.0013,4e-4,-1e-4,-5e-4,.0011,-2e-4,.0015,5e-4,-9e-4,-1e-4,.0029,6e-4,0,-3e-4,7e-4,-8e-4,-5e-4,.0025,3e-4,2e-4,-8e-4,-1e-4,3e-4,0,.0014,2e-4,-.0024,1e-4],expression:[-.0025,-9e-4,.006,.004,-.0027,-.0113,-8e-4,.001,.0031,-.0016,.0144,.0382,-3e-4,-5e-4,.0035,-.0044,-.0511,-.0014,-7e-4,-.1007,.0582,-6e-4,-.0606,-.0165,5e-4,-.0087,-.0093,.0036,.0057,-.0576,-.0039,.1488,.0127,.0016,-.0666,-9e-4,-.0153,.3162,-.0445,-.0021,.0023,.0043,-.0033,.2382,.0063,-.0217,.167,-.039,.0097,-.1144,-.0189,-.0145,.6831,.0632,-.0012,-.1959,-.0133,4e-4,.1108,-3e-4,.0062,.2593,-.0161,-.0018,-.0051,-.012,.0162,.016,-.0022,-.0052,-.0201,.0101,.0115,.0365,-.024,-.0059,.0188,-.0336,.0352,.0224,-.0229,.0146,.0086,-.0273,-.0032,.0103,-.0112]},{mean:[-.2288,.1541,.7202],identity:[-.0082,.0101,2e-4,.0036,-7e-4,-.0037,-8e-4,.0024,.0022,-.0013,-.0045,-.0013,-6e-4,.0045,-4e-4,4e-4,.0012,-.0014,.0042,-.001,-7e-4,-.0019,3e-4,-2e-4,.0012,-4e-4,-.0012,-.0018,-4e-4,-1e-4,-.0014,-.0012,1e-4,1e-4,-.0017,.001,.0015,-1e-4,6e-4,1e-4,0,-6e-4,.0028,.0021,-.0025,-.002,-.0015,7e-4,.0028,-.0023,9e-4,.0013,1e-4,.0016,.0012,.0032,-6e-4,-.0013,-.0011,.0021,3e-4,-5e-4,-.0024,4e-4,-4e-4,.0014,.0015,-8e-4,-3e-4,3e-4,.0017,-6e-4,.002,-.0018,-3e-4,9e-4,1e-4,2e-4,-6e-4,-.0015,-4e-4,.0022,7e-4,-.0023,0,-2e-4,-2e-4,-3e-4,-1e-4,6e-4,-2e-4,6e-4,.0022,-3e-4,.0013,-.0014,-5e-4,-3e-4,.0013,-.0027,6e-4,.0025,-.0023,-8e-4,-.0013,.0017,-9e-4,-.0019,1e-4,8e-4,-7e-4,-4e-4,0,.001,-.001,.0019,-8e-4,-.0015,-6e-4,-2e-4,-.0011,8e-4,1e-4,9e-4,-8e-4,-4e-4,6e-4,7e-4,.0021,-4e-4,7e-4,-5e-4,.0021,-7e-4,-4e-4,-9e-4,8e-4,3e-4,1e-4,3e-4,1e-4,9e-4,.001,-5e-4,5e-4,-.001,.001,4e-4,-5e-4,-.0012],expression:[8e-4,.0037,.0078,-4e-4,5e-4,-.012,-2e-4,-.0046,.0033,-.0089,.0295,.0221,-.0024,-.0084,.0013,.0057,.0125,.0049,-.0036,.0373,.0285,.0115,.0135,-.0035,.0048,.0108,-.0033,.0106,.0281,-.0301,-.0082,.0803,.0244,-7e-4,-.0725,-.0105,-.0247,-.0036,-.0143,-.0045,-.029,2e-4,-.0303,.0093,-.0021,-.0196,-.0754,-.0211,.0326,.1246,.006,-.0804,-.1499,.0109,.0182,-.0029,-.0014,-.0035,.0072,-8e-4,-.0152,-.0108,-.0166,-.0073,-.0144,-.0095,.0101,.047,-.0018,-.004,-.0189,.0027,.0104,.0298,-.0042,-.0096,.0191,-.0217,.0228,.0226,-.0105,.0047,-.0048,-.0172,.0061,-.0043,-.0016]}],2:{mean:[.5396,.2028,.2496],identity:[.0204,.0146,-.0182,-.0052,.0158,-.0038,-.0025,-.0108,-.006,.0085,-.0044,.0029,.0042,.001,.0095,.0015,-.0034,-.0064,-.0057,7e-4,.0026,7e-4,.0037,-6e-4,.0037,.0026,.0024,5e-4,-.0019,-.0013,.003,-.0028,.0018,-9e-4,.002,-.0047,.004,-.003,.0031,-.0027,-.0026,-.0017,.0016,.0014,-4e-4,.0021,-.002,0,.0017,7e-4,-4e-4,-7e-4,-.0018,-9e-4,2e-4,-.0012,1e-4,-5e-4,-.0011,4e-4,2e-4,.0011,1e-4,8e-4,.0017,-.0013,.0025,.0017,.001,2e-4,3e-4,5e-4,-4e-4,-1e-4,-5e-4,7e-4,-.0022,-.0029,6e-4,-8e-4,-6e-4,6e-4,-5e-4,5e-4,.0013,3e-4,-5e-4,-.003,7e-4,2e-4,.0016,-4e-4,0,0,4e-4,1e-4,.0014,.0012,1e-4,4e-4,-1e-4,8e-4,9e-4,4e-4,-4e-4,9e-4,-2e-4,.001,9e-4,4e-4,1e-4,7e-4,7e-4,.001,-.0017,-8e-4,2e-4,.0017,-3e-4,-1e-4,4e-4,5e-4,7e-4,5e-4,-1e-4,-6e-4,-1e-4,1e-4,-3e-4,-7e-4,-2e-4,-5e-4,0,-3e-4,3e-4,8e-4,-2e-4,-3e-4,5e-4,1e-4,-7e-4,-.001,-2e-4,3e-4,4e-4,-1e-4,7e-4,0,4e-4,4e-4],expression:[1e-4,-4e-4,1e-4,0,5e-4,2e-4,0,0,3e-4,-2e-4,3e-4,5e-4,-1e-4,2e-4,8e-4,1e-4,-2e-4,-5e-4,-3e-4,6e-4,5e-4,0,1e-4,2e-4,1e-4,-1e-4,-6e-4,-2e-4,5e-4,0,-4e-4,4e-4,.0016,4e-4,-4e-4,-.0015,0,1e-4,1e-4,-3e-4,3e-4,.0019,-2e-4,7e-4,4e-4,4e-4,-8e-4,-.0015,.0013,-.0016,-.0069,4e-4,-6e-4,-.0019,0,-1e-4,5e-4,-3e-4,2e-4,.0014,-3e-4,6e-4,.0011,4e-4,-3e-4,-.0032,-6e-4,8e-4,.0025,-3e-4,3e-4,.0015,-1e-4,1e-4,3e-4,-1e-4,0,0,-3e-4,4e-4,.0019,1e-4,0,-8e-4,-1e-4,1e-4,5e-4]},3:{mean:[-.5464,.2141,.26],identity:[-.0207,.0172,-.0176,.0068,.0148,-.0051,.0042,-.0101,-.0058,-.0087,-.0059,.0045,-.0056,.0017,.0097,-.0048,-.004,-.0044,.0019,2e-4,.0041,-.0052,.0041,2e-4,-.0027,6e-4,.002,-.0027,-.0033,-6e-4,-.004,9e-4,-.0012,-1e-4,-.0026,.0021,-.003,-.0025,.0052,.0025,.0022,-1e-4,-8e-4,.0013,.001,4e-4,.0018,.0014,6e-4,-5e-4,-.0015,-.0039,.0014,-1e-4,8e-4,-2e-4,6e-4,-5e-4,-.0038,-.0012,-.0018,-3e-4,.001,9e-4,.0012,.0024,-.0024,-7e-4,-.0016,-.0016,3e-4,-.001,-.0014,-.0014,.001,-3e-4,-7e-4,-.0012,3e-4,6e-4,3e-4,-5e-4,3e-4,.0012,6e-4,-8e-4,4e-4,4e-4,8e-4,-2e-4,-.0014,3e-4,0,.0023,-3e-4,-.0012,-.0013,.0011,-2e-4,-.0014,-1e-4,.0014,0,3e-4,3e-4,-8e-4,-5e-4,-7e-4,-7e-4,-2e-4,3e-4,5e-4,2e-4,-1e-4,.0011,-.0014,1e-4,-.0015,-1e-4,-3e-4,0,-.001,-1e-4,-8e-4,8e-4,-8e-4,-2e-4,-.0011,-3e-4,-4e-4,1e-4,-2e-4,3e-4,-7e-4,0,3e-4,1e-4,-8e-4,5e-4,1e-4,4e-4,.0014,-6e-4,-.001,-3e-4,-2e-4,1e-4,-1e-4,-1e-4,7e-4],expression:[-3e-4,-1e-4,6e-4,4e-4,0,-7e-4,0,-3e-4,-2e-4,-4e-4,.0012,8e-4,1e-4,-5e-4,-7e-4,-4e-4,0,1e-4,-4e-4,.0017,7e-4,0,1e-4,3e-4,0,4e-4,4e-4,5e-4,1e-4,-.001,-7e-4,.0022,.0026,5e-4,-.0024,-.0023,0,1e-4,3e-4,0,-.0013,-.0015,6e-4,.0014,8e-4,-2e-4,-.0025,-.0023,-3e-4,.0049,.006,-2e-4,-7e-4,-2e-4,0,-.0019,-.0018,-2e-4,.0017,.0017,3e-4,.0015,7e-4,1e-4,-.0023,-.0036,2e-4,.0023,.0017,0,-5e-4,-3e-4,-3e-4,4e-4,2e-4,-1e-4,-3e-4,-5e-4,1e-4,.0018,.0025,1e-4,-6e-4,-.0011,0,1e-4,1e-4]},4:{mean:[.0018,.1864,.853],identity:[-.0011,.0134,.0085,9e-4,-.0025,-7e-4,-3e-4,.0033,4e-4,-5e-4,-.0047,-.002,7e-4,.0026,-.0069,-1e-4,.0036,.0072,5e-4,-8e-4,-.0047,4e-4,-8e-4,-.001,0,2e-4,-.0036,-2e-4,-.001,-.0048,-1e-4,.0018,.0044,-7e-4,-2e-4,.0043,3e-4,.002,-.0031,0,-7e-4,.0013,0,.0037,.0033,-.0016,-.0012,.002,-1e-4,-.0027,.0051,5e-4,8e-4,7e-4,-.0017,.0054,.0023,-3e-4,.0032,1e-4,0,7e-4,-5e-4,-.0011,2e-4,8e-4,0,-.0033,-8e-4,-7e-4,7e-4,.0033,5e-4,-3e-4,.0029,-1e-4,-.0024,-.0011,-.002,-.0015,-.0019,2e-4,7e-4,.0031,6e-4,.0012,0,0,-.0021,0,-9e-4,-.0011,-.0011,-2e-4,.0015,.001,.0013,8e-4,.001,-3e-4,9e-4,.0027,-2e-4,-.0011,-.0011,6e-4,7e-4,2e-4,1e-4,-5e-4,-.0022,.0011,-.0014,9e-4,3e-4,2e-4,0,-6e-4,-4e-4,-.0011,-7e-4,.001,-.0012,6e-4,-.0012,-.0015,3e-4,-9e-4,-.0013,-.0013,7e-4,.001,-.0011,-.0013,.0015,4e-4,1e-4,4e-4,-1e-4,-.0016,-.0016,9e-4,-7e-4,-.0024,5e-4,-1e-4,-.0017,-2e-4,3e-4,-9e-4],expression:[-.0017,.0019,.0097,.003,-.0103,-.0093,9e-4,6e-4,.0023,-.0017,-.0204,.0376,.0033,-.0034,.0033,-.0026,-.0322,.0396,-.0032,-.0947,.0942,-7e-4,-.0175,.0266,-.001,-6e-4,.0016,.0025,.0157,-.0142,-.0022,.037,.015,.0021,-.0102,-.0107,.0036,.0055,-.0051,.0021,3e-4,-3e-4,4e-4,-.0177,.0074,-6e-4,-.0357,.0149,-.0066,9e-4,.0013,-.0031,.0016,.0095,.002,.0052,.0035,-3e-4,.0053,-.0082,.002,.0022,-.0071,-.0011,5e-4,.0055,.0011,3e-4,-.0126,-4e-4,3e-4,-.0023,-.0015,.0059,.0063,-.0042,-.0023,.0055,.0019,.0017,-.0075,6e-4,-8e-4,.0018,.0012,.0012,-5e-4]},5:{mean:[-.002,-.0469,1.0039],identity:[-.0017,.0018,.0156,6e-4,-.0038,5e-4,4e-4,.0013,.002,-4e-4,-.0015,-.0051,5e-4,-7e-4,-.0055,-1e-4,-9e-4,.008,-2e-4,.0036,-.0053,4e-4,-.0026,-.0016,7e-4,9e-4,-.009,-3e-4,7e-4,-.0084,.0015,.0021,.0032,-.0015,.0018,.0046,-3e-4,-4e-4,-1e-4,8e-4,-.0044,-7e-4,-8e-4,7e-4,.0048,-.0024,-3e-4,.0024,2e-4,-.0051,.0058,-6e-4,.0028,.0018,-.0021,.0035,.0057,.0011,.0065,0,-2e-4,.0011,.003,-.0027,8e-4,7e-4,3e-4,-.0039,-.002,-2e-4,-.0015,.0034,.0012,-.0025,.0024,-2e-4,4e-4,-.0042,-.0024,-.001,-.0023,.0016,-7e-4,.0039,1e-4,-5e-4,.0018,3e-4,-2e-4,-9e-4,-.0015,3e-4,-7e-4,-1e-4,-2e-4,.0023,.0032,.002,-.0013,.0013,-.0038,.0045,1e-4,-.0031,1e-4,.0019,-1e-4,.0016,.0013,0,-.002,.0023,2e-4,.0011,.0018,-.0024,6e-4,-.0017,.002,-8e-4,-.0021,7e-4,.0011,8e-4,4e-4,-.001,.0012,2e-4,-6e-4,-.0027,-5e-4,.001,-9e-4,1e-4,-1e-4,8e-4,-.0011,.0022,-.001,-5e-4,-.0011,.0016,-.0015,8e-4,-3e-4,9e-4,.0013,-7e-4,-7e-4,-2e-4],expression:[-.0018,-.0168,.0088,.0389,.1026,.0414,.2201,-.0262,-.0016,-.0017,.0612,-.0298,-.0323,.0093,.0013,-.005,.2207,.1315,-4e-4,.0858,-.0303,-.0133,.015,-.008,.1454,.0114,.0177,-.0077,.1022,.0356,-.0023,.1088,.0232,.003,-.0706,.0347,-1e-4,.004,-.0011,.0397,-.0096,-.0033,.0029,-.01,-.0083,-6e-4,-.0135,.0016,-.0087,-.0019,.0022,-.004,-.0087,.0105,8e-4,-.005,.0069,.0028,.0409,-.0391,.003,.0103,.0051,.0026,.0776,-.0083,-.0062,-.0567,.0268,.0175,.0017,.0156,-.0043,.0299,-.0395,-.0015,.0051,-.0148,.0125,.0035,.0603,.0109,-.0645,-.0257,.002,6e-4,-8e-4]},6:{mean:[-6e-4,-.1542,.8789],identity:[-7e-4,-.0032,.01,0,-.0027,.0031,6e-4,5e-4,-6e-4,-3e-4,.0013,-.0049,-2e-4,-.002,-.0046,8e-4,-.0011,.0054,2e-4,.0043,-.0027,3e-4,-.0022,-.0019,8e-4,.0032,-.0069,0,4e-4,-.0071,.0016,.0027,.0039,-.0017,9e-4,.0031,-1e-4,-5e-4,-4e-4,7e-4,-.0026,-.0012,-5e-4,6e-4,2e-4,-.0014,-.0013,.0019,-2e-4,-.0053,.0031,-6e-4,.0016,.0023,-.0013,.0021,.0029,8e-4,.0052,0,4e-4,0,.0037,-.0026,3e-4,.002,-2e-4,-.0024,4e-4,-4e-4,-.0012,8e-4,7e-4,-.0023,5e-4,0,.0014,-.0022,-.0016,0,-.0012,8e-4,-7e-4,.0014,-6e-4,-.0012,-3e-4,2e-4,.0012,-3e-4,-.002,-1e-4,1e-4,-2e-4,-.0016,9e-4,.002,.0019,0,6e-4,-.0022,.0016,1e-4,-.0017,-.0013,.001,9e-4,-1e-4,.0011,3e-4,-7e-4,.0014,8e-4,.0013,.0011,-.002,0,-.0015,.0014,.001,-.0015,7e-4,3e-4,.001,-1e-4,.0012,7e-4,6e-4,-4e-4,-.0013,-.0012,-9e-4,-.0011,2e-4,-5e-4,5e-4,4e-4,2e-4,1e-4,0,5e-4,5e-4,-.0014,.0015,-9e-4,5e-4,.0014,-8e-4,-8e-4,.0012],expression:[8e-4,.0481,.1653,.0784,.1008,-.3992,.5088,-.02,.0542,.001,.3723,-.0151,-.0986,.0283,-.0033,-.0121,.2634,.1202,.0036,-.0529,-.0245,-.0297,-.1085,.0495,.3264,.0083,4e-4,-.0314,.1459,-.1142,-.003,1e-4,.1154,-.0035,-.0285,-.0184,-1e-4,.0012,.0035,.079,-.0103,.0043,.011,-.004,-.0774,-.0047,-.023,.0284,-.0048,-.001,.0149,-.0039,.0046,.0528,-6e-4,.0063,.0376,.0096,.0558,-.0295,0,-.0311,-.0634,.0062,.0176,-.0154,-.0109,-.1149,.0192,.0326,.0121,.0237,.0034,.0262,-.0778,.0014,-.0045,-.0203,.0077,.0588,.0575,.008,-.0557,-.0095,.0032,.0054,-.0042]},7:{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},8:{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]},9:[{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]}],10:{mean:[-.007,-.6338,.7695],identity:[1e-4,-.0296,.0089,-6e-4,-.0073,-.0065,-1e-4,-.0029,-.0031,-2e-4,.0128,.0065,0,-.0116,-.014,-1e-4,-.0037,-.0052,-5e-4,.0028,.003,-4e-4,.0041,.0015,6e-4,.0088,-.0076,-.0011,-.0015,-.0073,7e-4,-.0011,.0019,-.0011,-5e-4,.0031,-1e-4,-.0018,9e-4,.0018,.0038,.0068,-4e-4,-1e-4,.0061,.0024,.0024,-.0066,-6e-4,.0051,.0014,.002,.005,-.0035,1e-4,-.0034,-.004,-7e-4,.001,-8e-4,1e-4,-5e-4,-.0021,2e-4,.0045,-.0043,-.0012,-.0024,-.0014,6e-4,.0034,.0027,-8e-4,-.0053,.0014,1e-4,.0013,-.0018,6e-4,-.0015,.0029,-2e-4,-.0035,1e-4,-.002,.0012,.0048,.0011,1e-4,-2e-4,-3e-4,-.0012,.0033,6e-4,.002,-.0033,4e-4,.0028,2e-4,8e-4,-1e-4,-.0018,8e-4,.0017,1e-4,9e-4,8e-4,3e-4,.0019,-.001,.001,-7e-4,-.0013,0,1e-4,.0032,-1e-4,1e-4,.0011,-4e-4,5e-4,-7e-4,.0018,-3e-4,2e-4,7e-4,8e-4,-.0014,7e-4,.0015,-6e-4,-1e-4,-4e-4,.0019,-9e-4,-6e-4,-6e-4,-.0012,2e-4,-.0012,-8e-4,4e-4,6e-4,-.0011,3e-4,9e-4,-4e-4,6e-4,-7e-4,-4e-4],expression:[-.0603,2.0527,1.9014,.1025,.6143,.3804,.7881,-.1023,-.0764,.0454,-.2487,-.5073,-.6704,-.031,-.0181,.0466,.0651,-.0726,-.0033,-.0022,.2944,.0101,.1669,-.5225,-.4685,.0236,.0079,.011,.2173,.4529,.0121,-.2104,-.0673,.0225,-.4023,.0317,-9e-4,.0076,-.0032,.0333,.0523,.0129,-.001,-.0319,-.0139,.0015,-.0044,.0247,-5e-4,.0161,.0061,.0074,.0776,-.0176,.007,.055,-.017,.0052,-.1819,.0294,-.0161,-.0337,.0226,-.008,-.0297,.1967,-.0095,.0383,.2039,.0434,.0271,-.0064,-.0037,-.0294,-.024,.0024,-.0137,-.0209,-.0031,.0628,.1003,-.0126,-.056,-.0097,-.0012,-.0041,.0162]},11:{mean:[.2505,.3833,.7793],identity:[.0098,.012,.0077,-6e-4,-3e-4,0,1e-4,.0082,-7e-4,.0019,-.0036,-.0012,2e-4,.0119,-.0039,.001,1e-4,.0031,-.0036,-.0059,-7e-4,.0026,.0028,-.0011,9e-4,-.0032,8e-4,.0029,.0043,3e-4,.0025,-9e-4,.0047,.0016,.0022,.0018,-.001,.0025,-.003,-.001,.0033,.0034,4e-4,-.0052,.0024,-2e-4,.001,-.0014,-6e-4,.0038,-.0015,-6e-4,-.001,-.0011,-4e-4,-.001,4e-4,-7e-4,.0036,-8e-4,-2e-4,-.0019,5e-4,3e-4,-6e-4,-.0024,-.0017,-.0014,6e-4,-4e-4,-.0031,-.0013,-6e-4,.0042,2e-4,-2e-4,-.002,-3e-4,8e-4,.0018,-5e-4,-6e-4,-2e-4,-6e-4,.0025,.0019,.001,8e-4,-.0015,-.0012,-1e-4,-6e-4,-4e-4,.0023,-.001,6e-4,-2e-4,-.001,0,-9e-4,-.002,-.0011,1e-4,0,-1e-4,5e-4,6e-4,9e-4,-6e-4,5e-4,8e-4,-1e-4,-2e-4,-.0017,-6e-4,-4e-4,4e-4,-6e-4,.0012,4e-4,3e-4,-7e-4,3e-4,-2e-4,6e-4,1e-4,5e-4,-.0019,-6e-4,4e-4,7e-4,-1e-4,1e-4,5e-4,.001,-6e-4,-.002,-7e-4,-5e-4,5e-4,3e-4,7e-4,.0014,0,5e-4,-5e-4,-2e-4,3e-4,-6e-4,-1e-4],expression:[-9e-4,-3e-4,.0032,-.003,-.0034,-.0031,.0014,0,4e-4,-.0139,-.0764,.0275,-.002,-.0089,.0031,-.0503,-.0771,.038,-.1323,-.3523,.1368,-.0474,-.0564,.0296,-.0045,.007,-.0013,.0153,.1259,-.0464,.0866,.2175,-.0786,-.0413,-.1248,.0448,-.1777,-.4607,.1782,-5e-4,-.005,.0016,.0629,.1506,-.0624,.0545,.2576,-.0864,-.0231,-.0552,.0244,-.0136,-.0359,.0169,-.1158,-.2996,.1214,-.0235,-.0354,.0165,-.0745,-.1079,.0475,-.0116,-.0039,.0012,.0013,-.0108,-8e-4,.0044,-.0027,-1e-4,-.0694,.0363,.0071,.1462,-.136,.0047,.009,-.0177,.0038,-.0271,.0118,.0011,-.0399,-.0111,.0123]},12:{mean:[-.2981,.3828,.7563],identity:[-.0116,.014,.0054,.0018,5e-4,0,-4e-4,.0068,-.0013,-.0019,-.0048,-5e-4,5e-4,.0108,-.0036,-.0029,-.0018,.0029,.0043,-.0077,6e-4,-.0017,.002,-.0011,-.0014,-.0035,.0015,-.0024,.0011,4e-4,-.0048,2e-4,.0029,-1e-4,-1e-4,.003,.0019,.0035,-.0016,-4e-4,.0039,.0019,1e-4,-.0064,.004,3e-4,.002,-.0021,.0017,.0011,-.001,.0026,.0025,-5e-4,2e-4,-3e-4,-5e-4,-7e-4,9e-4,-4e-4,-.001,-.0022,.001,9e-4,-.0014,7e-4,.0011,-.001,-5e-4,-8e-4,-.0017,-.0021,9e-4,.0036,5e-4,4e-4,-.0031,6e-4,-.0015,.0027,2e-4,1e-4,-.0011,2e-4,-.0011,-.0018,4e-4,-.0013,-2e-4,7e-4,9e-4,-3e-4,.001,-.0021,8e-4,6e-4,-9e-4,4e-4,-7e-4,8e-4,-.002,-.0013,0,7e-4,-.0012,-1e-4,.0014,.0014,-1e-4,.0013,6e-4,6e-4,-.0014,-.0015,-9e-4,1e-4,1e-4,9e-4,7e-4,0,1e-4,-.001,-4e-4,0,-5e-4,1e-4,-3e-4,4e-4,-5e-4,-1e-4,-.0011,2e-4,0,1e-4,8e-4,8e-4,0,-7e-4,-8e-4,0,2e-4,-1e-4,.001,3e-4,4e-4,-2e-4,0,5e-4,.0018,-1e-4],expression:[0,-4e-4,.0028,.0036,-8e-4,-.0026,-.0015,-8e-4,3e-4,.0075,-.0608,.025,.0019,-.0076,.0033,.0379,-.0437,.0335,.0964,-.2452,.1233,.0368,-.0251,.0253,.0033,.0097,-.0021,-.0095,.1171,-.0475,-.064,.1548,-.0718,.0228,-.0831,.0343,-.1924,.6206,-.2771,.0021,-.0143,.0056,-.0705,.2522,-.1116,-.0692,.4229,-.1592,-.0093,.05,-.0185,.0948,-.3196,.1437,-.0184,.0194,-.0131,.0205,-.0353,.0201,.0676,-.135,.0672,.0137,-.0311,.0118,3e-4,-.0077,-2e-4,-.0151,4e-4,-.0058,.029,-.0139,.0163,.1324,.1819,-.0039,.0406,.0501,.0017,.0331,.0161,.0062,-.0235,-.0446,.0047]}};let vt=1,gt=new Map;function Et(e){return gt.get(e)}class wt{constructor(e){this._name=e,this.anchor_pose=R()}_getVertex(e,t,r){let i=r.mean.slice();for(let t=0;t<50;t++)i[0]+=e[t]*r.identity[3*t+0],i[1]+=e[t]*r.identity[3*t+1],i[2]+=e[t]*r.identity[3*t+2];for(let e=0;e<29;e++)i[0]+=t[e]*r.expression[3*e+0],i[1]+=t[e]*r.expression[3*e+1],i[2]+=t[e]*r.expression[3*e+2];return i}update(e,t,r){let i,a=bt[this._name.toString()];if(a){if(Array.isArray(a)){i=this._getVertex(e,t,a[0]);let r=this._getVertex(e,t,a[1]);i[0]=.5*(i[0]+r[0]),i[1]=.5*(i[1]+r[1]),i[2]=.5*(i[2]+r[2])}else i=this._getVertex(e,t,a);r&&(i[0]*=-1),S(this.anchor_pose,i)}}}const yt={incompatible:()=>!("function"==typeof Promise&&"object"==typeof WebAssembly&&navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices&&navigator.mediaDevices.getUserMedia),incompatible_ui:()=>{const e=document.createElement("div");e.append(function(){let e=document.createElement("div"),t="a recent web browser";navigator.userAgent.match(/Android/i)?(t="Chrome for Android",window.location.href="googlechrome://navigate?url="+encodeURI(window.location.href),setTimeout((()=>{window.location.href="samsunginternet://open?url="+encodeURI(window.location.href)}),2e3)):navigator.userAgent.match(/iPhone|iPod|iPad/i)&&(t="Safari",e.classList.add("zee-launcher-browser-safari")),e.classList.add("zee-launcher-unsupported"),e.innerHTML=`\n <style>.zee-launcher-unsupported {\n display: flex;\n flex-direction: column;\n height: 100%;\n justify-content: center;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n align-items: center;\n }\n .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 210 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23ffffff' stroke-width='2'%3E%3Cg transform='translate(83 146.5)'%3E%3Cpath d='m55.146 88.785l-32.039-49.472c19.962-24.947 49.904-38.684 80.517-38.81 17.739-0.12642 35.855 4.4246 52.336 13.99 18.2 10.619 32.039 25.874 40.846 43.404l-86.095-4.5511c-24.365-1.4327-47.556 12.347-55.565 35.439zm13.797 16.224c0 19.468 15.684 35.229 35.059 35.229 19.374 0 35.059-15.76 35.059-35.229 0-19.468-15.684-35.229-35.059-35.229-19.374 0-35.059 15.718-35.059 35.229zm132.06-37.588l-58.585 3.034c15.894 18.668 16.145 45.595 2.7678 66.243l-47.01 72.648c19.5 1.0535 39.588-3.2447 57.788-13.864 45.039-26.126 63.282-80.908 45.039-128.06zm-144.93 57.647l-39.126-77.326c-10.694 16.434-16.942 36.156-16.942 57.267 0 52.253 38.078 95.53 87.856 103.2l26.713-52.59c-24.155 4.5511-47.472-8.765-58.501-30.551z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");\n width: 211px;\n height: 211px;\n margin-bottom: 25%;\n margin-top: -60px;\n background-repeat: no-repeat;\n }\n .zee-launcher-browser-safari .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 211 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='m180 251.86c0-4.0385 2.9377-7.855 7.2552-7.855 3.9614 0 7.7448 2.8402 7.7448 7.145 0 4.0385-2.8487 7.855-7.1662 7.855-4.0059 0-7.8338-2.9734-7.8338-7.145zm112-0.35503c0 57.728-46.772 104.5-104.5 104.5s-104.5-46.772-104.5-104.5 46.772-104.5 104.5-104.5 104.5 46.772 104.5 104.5zm-12-1c0-51.649-41.851-93.5-93.5-93.5s-93.5 41.851-93.5 93.5 41.851 93.5 93.5 93.5 93.5-41.851 93.5-93.5zm-30.624 40.983c0 1.5095 5.4495 4.2768 6.8328 5.1154-11.486 17.401-29.26 29.938-49.423 34.928l-1.8444-7.757c-0.12576-1.0482-0.79646-1.174-1.7606-1.174-0.79646 0-1.2576 1.174-1.1737 1.7611l1.8444 7.8828c-5.5753 1.174-11.234 1.7611-16.935 1.7611-15.217 0-30.182-4.2768-43.177-12.202 0.71263-1.174 5.1141-7.5474 5.1141-8.4698 0-0.79666-0.71263-1.5095-1.5091-1.5095-1.6348 0-5.1141 6.9603-6.1621 8.344-17.522-11.615-30.182-29.602-35.044-50.148l8.0066-1.761c0.92222-0.25158 1.1737-0.92246 1.1737-1.7611 0-0.79667-1.1737-1.2579-1.8444-1.174l-7.8389 1.803c-1.048-5.3251-1.6348-10.692-1.6348-16.143 0-15.556 4.4015-30.86 12.66-43.984 1.1737 0.71281 6.749 4.5284 7.6712 4.5284 0.79646 0 1.5091-0.58702 1.5091-1.3837 0-1.6353-6.1621-4.7381-7.5455-5.7024 11.821-17.275 29.805-29.728 50.219-34.34l1.7606 7.757c0.25152 0.92246 0.92222 1.174 1.7606 1.174 0.83838 0 1.2576-1.174 1.1737-1.8449l-1.7606-7.6732c5.1141-0.92246 10.312-1.5095 15.552-1.5095 15.552 0 30.727 4.4026 43.973 12.663-0.79646 1.174-4.5273 6.6249-4.5273 7.5474 0 0.79667 0.58687 1.5095 1.3833 1.5095 1.6348 0 4.7369-6.0379 5.5753-7.4216 17.187 11.615 29.469 29.351 34.248 49.561l-6.4975 1.3837c-1.048 0.25158-1.1737 0.92246-1.1737 1.8449 0 0.79667 1.1737 1.2579 1.7606 1.174l6.6232-1.5095c1.048 5.3251 1.6348 10.776 1.6348 16.227 0 15.221-4.1919 30.189-12.073 43.062-1.1737-0.58702-6.0364-4.0672-6.9586-4.0672-0.8803 0-1.5929 0.71281-1.5929 1.5095zm-14.876-98.483c-5.2178 4.88-53.863 49.48-55.228 51.8l-38.772 64.2c5.0974-4.76 53.863-49.6 55.108-51.72l38.892-64.28z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");\n }\n .zee-launcher-unsupported-message {\n text-align: center;\n width: 250px;\n font-family: sans-serif;\n color: #ffffff;\n }\n .zee-launcher-unsupported-message-copy {\n border: 1px solid #ffffff;\n border-radius: 5px;\n margin-top: 10px;\n }\n #zee-launcher-unsupported-message-input {\n border: none;\n padding: 10px;\n border-radius: 0px;\n border-right: 1px solid #344B60;\n height: 40px;\n color: #ffffff;\n background-color: black;\n box-sizing: border-box;\n width: calc(100% - 65px);\n margin-left: 5px;\n }\n #zee-launcher-unsupported-message-button {\n background: none;\n border: none;\n outline: none;\n text-transform: uppercase;\n color: #ffffff;\n height: 40px;\n display: inline-block;\n width: 59px;\n }\n .zee-launcher-unsupported-message-before-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-before-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-after-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-after-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n </style>\n <div class="zee-launcher-browser-logo"></div>\n <div class="zee-launcher-unsupported-message">Open with ${t} to access this content.</div>\n <div class="zee-launcher-unsupported-message-before-copy">\n <div class="zee-launcher-unsupported-message ">Tap below to copy the address for easy pasting into ${t}.</div>\n <div class="zee-launcher-unsupported-message-copy"><input id="zee-launcher-unsupported-message-input" type="text/"><button id="zee-launcher-unsupported-message-button">Copy</button></div>\n </div>\n <div class="zee-launcher-unsupported-message zee-launcher-unsupported-message-after-copy">COPIED! Now paste into ${t}'s address bar to experience the content.</div>\n `;let r=e.querySelector("#zee-launcher-unsupported-message-input")||document.createElement("input");r.value=window.location.href;let i=()=>{if(navigator.userAgent.match(/iPhone|iPod|iPad/i)){let e=document.createRange();e.selectNodeContents(r);let t=window.getSelection();if(!t)return;t.removeAllRanges(),t.addRange(e),r.setSelectionRange(0,999999999)}else r.select();document.execCommand("copy"),r.blur(),e.classList.toggle("zee-launcher-unsupported-message-copied",!0)};return(e.querySelector("#zee-launcher-unsupported-message-button")||document.createElement("button")).addEventListener("click",i),r.addEventListener("click",i),e}()),Object.assign(e.style,{position:"fixed",width:"100%",height:"100%",top:"0px",left:"0px",zIndex:1001,backgroundColor:"rgba(0, 0, 0, 0.9)",fontFamily:"sans-serif",color:"white",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}),e.classList.add("zee_launcher_compatibility"),document.body.append(e)}};let At=1,Tt=new Map;class Rt extends Ve{constructor(e,t){super(),this._impl=e,this._pipeline=t,this._packetNumber=0,this._motionUpdatesQueued=0,this._motionUpdatesSent=0,this._minFrameGapMs=0,this._lastUpdateTime=0}static create(e){let t=At++;return Tt.set(t,new Rt(t,e)),we("sequence_source_source_t initialized"),t}static get(e){return Tt.get(e)}loadFromMemory(e){try{this._decoder=new Oe(e),this._packetNumber=0,this._lastUpdateTime=0}catch(e){ye("Unable to decode sequence:",e)}}maxPlaybackFpsSet(e){this._minFrameGapMs=e<=0?0:1e3/e}setTime(e){e<0?delete this._time:this._time=e}getFrame(e){var t;let r=pt.get(this._pipeline);if(!r)return;if(!this._decoder)return;if(this._submitMotionUpdates(r),this._motionUpdatesQueued>this._motionUpdatesSent)return;if(e)return;let i=null!==(t=this._time)&&void 0!==t?t:performance.now();if(i<this._lastUpdateTime+this._minFrameGapMs)return;if(this._packetNumber>=this._decoder.numberPackets)return;let a=this._decoder.dataByPacket.get(this._packetNumber);if(a.type!=Ue.CAMERA_FRAME)return;this._packetNumber++;let n=r.cameraPixelArrays.pop();for(;n&&n.byteLength!==a.greyscale.byteLength;)n=r.cameraPixelArrays.pop();n||(n=new ArrayBuffer(a.greyscale.byteLength)),new Uint8Array(n).set(a.greyscale),this._lastUpdateTime=i;let o={data:n,cameraSourceData:a.greyscale,cameraModel:a.cameraModel,cameraToDevice:a.cameraToDevice,dataWidth:a.width,dataHeight:a.height,texture:void 0,userFacing:a.userFacing,uvTransform:R(),cameraSource:this};this._submitMotionUpdates(r);const s=r.registerToken(o);r.sendDataToWorker(o.data||new ArrayBuffer(0),s,o.dataWidth,o.dataHeight,o.userFacing,o.cameraToDevice,o.cameraModel)}destroy(){Tt.delete(this._impl),this.pause()}start(){var e;let t=pt.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}pause(){let e=pt.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}uploadGL(e){let t=pt.get(this._pipeline);if(!t)return;let r=null==t?void 0:t.glContext;r&&(e.texture||(e.texture=t.getVideoTexture()),e.texture&&e.cameraSourceData&&(r.bindTexture(r.TEXTURE_2D,e.texture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e.dataWidth,e.dataHeight,0,r.LUMINANCE,r.UNSIGNED_BYTE,new Uint8Array(e.cameraSourceData)),r.bindTexture(r.TEXTURE_2D,null)))}_submitMotionUpdates(e){let t=!1;for(;this._packetNumber<this._decoder.numberPackets;){let r=this._decoder.dataByPacket.get(this._packetNumber);if(r.type==Ue.CAMERA_FRAME)break;switch(r.type){case Ue.ACCELEROMETER:e.motionAccelerometerSubmit(r.t,r.x,r.y,r.z),t=!0;break;case Ue.ROTATION_RATE:e.motionRotationRateSubmit(r.t,r.x,r.y,r.z),t=!0;break;case Ue.ATTITUDE:e.motionAttitudeSubmit(r.t,r.x,r.y,r.z),t=!0;break;case Ue.ATTITUDE_MATRIX:e.motionAttitudeMatrix(r.attitude),t=!0;break;case Ue.ACCELEROMETER_WO_GRAVITY_INT:e.motionAccelerometerWithoutGravitySubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0;break;case Ue.ACCELEROMETER_W_GRAVITY_INT:e.motionAccelerometerWithGravitySubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0;break;case Ue.ATTITUDE_INT:e.motionAttitudeSubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0;break;case Ue.ROTATION_RATE_INT:e.motionRotationRateSubmitInt(r.t,r.int,r.x,r.y,r.z),t=!0}this._packetNumber++}t&&(this._motionUpdatesQueued++,setTimeout((()=>{this._motionUpdatesSent++}),0))}}const xt='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="250" height="80.408" viewBox="0 0 250 80.408"><defs><filter id="a" x="0" y="1.182" width="250" height="79.226" filterUnits="userSpaceOnUse"><feOffset dy="3" input="SourceAlpha"/><feGaussianBlur stdDeviation="3" result="b"/><feFlood flood-opacity="0.161"/><feComposite operator="in" in2="b"/><feComposite in="SourceGraphic"/></filter><filter id="c" x="6.929" y="0" width="111.975" height="40.988" filterUnits="userSpaceOnUse"><feOffset dy="3" input="SourceAlpha"/><feGaussianBlur stdDeviation="3" result="d"/><feFlood flood-opacity="0.161"/><feComposite operator="in" in2="d"/><feComposite in="SourceGraphic"/></filter></defs><g transform="translate(-26.873 -414.029)"><g transform="translate(44 423.332)"><g transform="translate(0 0.635)" style="isolation:isolate"><g transform="translate(0 0)"><g transform="matrix(1, 0, 0, 1, -17.13, -9.94)" filter="url(#a)"><path d="M55.766,44.97V11.8h8.272v2.6h.089a8.258,8.258,0,0,1,7.046-3.357,11.4,11.4,0,0,1,8.5,3.686,12.667,12.667,0,0,1,3.278,8.622,12.509,12.509,0,0,1-3.25,8.57,11.353,11.353,0,0,1-8.429,3.6,9.533,9.533,0,0,1-7.229-2.95V43.378l-8.269,1.594h0Zm8-21.671a4.958,4.958,0,0,0,5.319,5.15A4.957,4.957,0,0,0,74.4,23.3a5.321,5.321,0,0,0-10.638,0ZM16.105,18.412H2.752V11.038H30.9L14.887,37.16H38.22L0,44.534ZM131.469,38.45a.761.761,0,0,1-.484-.166.582.582,0,0,1-.228-.419l-.553-3.586a12.243,12.243,0,0,1-1.782-.721l-2.789,2.084a.718.718,0,0,1-.5.176.688.688,0,0,1-.495-.214,25.864,25.864,0,0,1-3.264-3.274.754.754,0,0,1,.018-.9c.2-.277.543-.713,1.01-1.3.483-.6.832-1.05,1.068-1.374a9.614,9.614,0,0,1-.811-1.929l-3.62-.527a.631.631,0,0,1-.416-.243.728.728,0,0,1-.159-.458V21.283a.743.743,0,0,1,.159-.448.6.6,0,0,1,.376-.253l3.68-.546a9.511,9.511,0,0,1,.772-1.792c-.523-.733-1.235-1.638-2.117-2.69a.731.731,0,0,1-.2-.467.82.82,0,0,1,.178-.449,19.577,19.577,0,0,1,1.949-2.095c.953-.924,1.582-1.393,1.87-1.393a.861.861,0,0,1,.515.195l2.729,2.084a11.551,11.551,0,0,1,1.8-.741,31.446,31.446,0,0,1,.573-3.623.666.666,0,0,1,.712-.546h4.392a.757.757,0,0,1,.485.166.58.58,0,0,1,.228.419l.553,3.584a12.576,12.576,0,0,1,1.782.722l2.809-2.085a.641.641,0,0,1,.475-.176.776.776,0,0,1,.5.195,27.035,27.035,0,0,1,3.264,3.313.625.625,0,0,1,.139.429.742.742,0,0,1-.159.447c-.2.271-.525.7-1.008,1.3-.467.581-.827,1.043-1.069,1.373a11.8,11.8,0,0,1,.812,1.91l3.62.545a.626.626,0,0,1,.416.244.736.736,0,0,1,.158.457v4.325a.755.755,0,0,1-.158.449.6.6,0,0,1-.4.253l-3.66.545a12.692,12.692,0,0,1-.772,1.774c.465.653,1.177,1.559,2.117,2.688a.751.751,0,0,1,.2.488.648.648,0,0,1-.178.448,19.638,19.638,0,0,1-1.958,2.1c-.947.918-1.573,1.384-1.861,1.384a.976.976,0,0,1-.515-.176l-2.731-2.1a11.361,11.361,0,0,1-1.8.741,31.849,31.849,0,0,1-.573,3.625.668.668,0,0,1-.713.546Zm-1.385-18.491a4.935,4.935,0,0,0,0,7.053,5.12,5.12,0,0,0,7.163,0,4.931,4.931,0,0,0,0-7.053,5.117,5.117,0,0,0-7.163,0Zm69.969,14.868a18.523,18.523,0,0,1-4.932-2.073l1.705-6.1A13.441,13.441,0,0,0,200.779,29a12.14,12.14,0,0,0,4.344.818,4.644,4.644,0,0,0,2.351-.482,1.538,1.538,0,0,0,.806-1.4q0-1.5-3.25-2.242-1.061-.246-1.705-.425a12.335,12.335,0,0,1-5.358-2.589,5.5,5.5,0,0,1-1.671-4.157,6.323,6.323,0,0,1,2.547-5.267,10.993,10.993,0,0,1,6.9-1.972,21.351,21.351,0,0,1,4.552.5,25.439,25.439,0,0,1,4.736,1.557l-1.705,5.491a14.244,14.244,0,0,0-3.319-1.636,10.6,10.6,0,0,0-3.364-.561,4.227,4.227,0,0,0-2.121.426,1.357,1.357,0,0,0-.714,1.232q0,1.211,3.227,2.04.737.2,1.106.291,4.264,1.187,5.935,2.79a5.728,5.728,0,0,1,1.67,4.337A6.781,6.781,0,0,1,213,33.37a11.48,11.48,0,0,1-7.259,2.14A22.577,22.577,0,0,1,200.053,34.827ZM30.568,31.834a12.566,12.566,0,0,1-3.292-8.59,12.567,12.567,0,0,1,3.247-8.568,11.3,11.3,0,0,1,8.423-3.638,9.519,9.519,0,0,1,7.217,3V11.8h8.264V34.735H46.163V32.186h-.09c-1.32,2.071-3.951,3.308-7.038,3.308A11.412,11.412,0,0,1,30.568,31.834Zm5.245-8.545a4.95,4.95,0,0,0,5.312,5.141,4.95,4.95,0,0,0,5.312-5.141A5.023,5.023,0,0,0,41.125,18.1,5.023,5.023,0,0,0,35.813,23.289Zm69.2,11.554-3.527-10.452q-.282-.892-.505-1.8t-.412-1.8a30.821,30.821,0,0,1-.917,3.454l-.047.16L96.1,34.842H90.176l-9.925-23.1h8.632l3.552,10.223q.4,1.12.634,1.955t.377,1.635a23.558,23.558,0,0,1,.917-3.179q.093-.274.141-.411l3.528-10.223h5.056l3.5,10.2.07.183a20.724,20.724,0,0,1,.988,3.43q.141-.732.364-1.532t.647-2.058l3.574-10.223h8.678l-9.971,23.1Zm80.154-.092-8.587-9.841v9.841h-7.888V1.5L176.583,0V22.28l8.272-9.665h9.96L184.584,23.266l11.156,11.485Zm-35.09,0V11.782h8.272v3.761h.091a8.131,8.131,0,0,1,7.546-4.074h1.593V19.3a6.8,6.8,0,0,0-3.5-.761c-4.593,0-5.728,3-5.728,6.941v9.268Z" transform="translate(17.13 15.31)"/></g><g transform="matrix(1, 0, 0, 1, -17.13, -9.94)" filter="url(#c)"><path d="M3.576-12.852v-4.3H6.628a2.867,2.867,0,0,1,1.945.55A2.034,2.034,0,0,1,9.188-15a2.06,2.06,0,0,1-.615,1.608,2.784,2.784,0,0,1-1.945.542ZM2.017-18.464V-6.748H3.576v-4.792H7.153a3.569,3.569,0,0,0,2.683-.9A3.478,3.478,0,0,0,10.747-15a3.45,3.45,0,0,0-.911-2.552,3.638,3.638,0,0,0-2.683-.911Zm11.421,7.483a4.221,4.221,0,0,1,.205-1.37,2.957,2.957,0,0,1,.566-1.009,2.411,2.411,0,0,1,.845-.624A2.515,2.515,0,0,1,16.08-14.2a2.515,2.515,0,0,1,1.026.213,2.411,2.411,0,0,1,.845.624,2.957,2.957,0,0,1,.566,1.009,4.221,4.221,0,0,1,.205,1.37,4.221,4.221,0,0,1-.205,1.37,2.867,2.867,0,0,1-.566,1,2.457,2.457,0,0,1-.845.615,2.515,2.515,0,0,1-1.026.213,2.515,2.515,0,0,1-1.026-.213,2.457,2.457,0,0,1-.845-.615,2.867,2.867,0,0,1-.566-1A4.221,4.221,0,0,1,13.438-10.981Zm-1.477,0a5.573,5.573,0,0,0,.263,1.739,3.97,3.97,0,0,0,.788,1.4,3.623,3.623,0,0,0,1.3.935,4.4,4.4,0,0,0,1.772.336A4.381,4.381,0,0,0,17.86-6.9a3.641,3.641,0,0,0,1.288-.935,3.97,3.97,0,0,0,.788-1.4,5.573,5.573,0,0,0,.263-1.739,5.65,5.65,0,0,0-.263-1.748,3.96,3.96,0,0,0-.788-1.411,3.729,3.729,0,0,0-1.288-.944,4.29,4.29,0,0,0-1.78-.345,4.3,4.3,0,0,0-1.772.345,3.71,3.71,0,0,0-1.3.944,3.96,3.96,0,0,0-.788,1.411A5.65,5.65,0,0,0,11.961-10.981Zm18.28,4.234,2.708-8.484H31.5L29.6-8.29h-.033L27.8-15.231H26.27L24.564-8.29h-.033l-1.92-6.941H21.068l2.724,8.484H25.3l1.707-6.744h.033l1.723,6.744ZM40.169-11.8H35.3a2.905,2.905,0,0,1,.213-.927A2.473,2.473,0,0,1,36-13.492a2.255,2.255,0,0,1,.747-.517,2.429,2.429,0,0,1,.976-.189,2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,40.169-11.8Zm1.346,2.363H40.136a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.105,5.105,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,41.515-9.439Zm1.526-5.793v8.484h1.395v-3.774a5.8,5.8,0,0,1,.164-1.452,2.784,2.784,0,0,1,.525-1.075,2.251,2.251,0,0,1,.952-.673,3.945,3.945,0,0,1,1.428-.23v-1.477a3.135,3.135,0,0,0-1.871.459,3.779,3.779,0,0,0-1.247,1.526h-.033v-1.789ZM54.15-11.8H49.276a2.905,2.905,0,0,1,.213-.927,2.473,2.473,0,0,1,.492-.763,2.255,2.255,0,0,1,.747-.517A2.429,2.429,0,0,1,51.7-14.2a2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,54.15-11.8ZM55.5-9.439H54.117a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.1,5.1,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,55.5-9.439Zm2.593-1.477a5.581,5.581,0,0,1,.131-1.214,3.212,3.212,0,0,1,.427-1.05,2.221,2.221,0,0,1,.788-.738,2.4,2.4,0,0,1,1.2-.279,2.589,2.589,0,0,1,1.231.271,2.389,2.389,0,0,1,.829.714,2.985,2.985,0,0,1,.468,1.026,4.889,4.889,0,0,1,.148,1.206,4.919,4.919,0,0,1-.139,1.165,3.053,3.053,0,0,1-.451,1.026,2.4,2.4,0,0,1-.8.73,2.4,2.4,0,0,1-1.2.279,2.491,2.491,0,0,1-1.173-.263,2.332,2.332,0,0,1-.82-.706,3.122,3.122,0,0,1-.476-1.009A4.338,4.338,0,0,1,58.088-10.916Zm6.564,4.168V-18.464H63.257V-14.1h-.033a2.247,2.247,0,0,0-.566-.632,3.216,3.216,0,0,0-.714-.41,3.583,3.583,0,0,0-.755-.222,4.132,4.132,0,0,0-.706-.066,3.861,3.861,0,0,0-1.7.353,3.487,3.487,0,0,0-1.214.952,4.018,4.018,0,0,0-.722,1.4,5.985,5.985,0,0,0-.238,1.707,5.8,5.8,0,0,0,.246,1.707,4.218,4.218,0,0,0,.73,1.411,3.529,3.529,0,0,0,1.214.968,3.827,3.827,0,0,0,1.715.361,4.135,4.135,0,0,0,1.625-.312A2.053,2.053,0,0,0,63.224-7.9h.033v1.149Zm6.761-11.716V-6.748h1.395V-7.88h.033a2.247,2.247,0,0,0,.566.632,2.982,2.982,0,0,0,.714.4,3.874,3.874,0,0,0,.763.213,4.193,4.193,0,0,0,.7.066,3.94,3.94,0,0,0,1.7-.345,3.4,3.4,0,0,0,1.214-.944,4.018,4.018,0,0,0,.722-1.4,5.985,5.985,0,0,0,.238-1.707,5.8,5.8,0,0,0-.246-1.707,4.312,4.312,0,0,0-.73-1.419,3.488,3.488,0,0,0-1.214-.976,3.827,3.827,0,0,0-1.715-.361,4.043,4.043,0,0,0-1.625.32,2.088,2.088,0,0,0-1.083,1.026h-.033v-4.381Zm6.564,7.4a5.581,5.581,0,0,1-.131,1.214,3.212,3.212,0,0,1-.427,1.05,2.243,2.243,0,0,1-.779.738,2.385,2.385,0,0,1-1.206.279A2.589,2.589,0,0,1,74.2-8.052a2.389,2.389,0,0,1-.829-.714,2.985,2.985,0,0,1-.468-1.026A4.889,4.889,0,0,1,72.758-11a4.919,4.919,0,0,1,.139-1.165,3.053,3.053,0,0,1,.451-1.026,2.4,2.4,0,0,1,.8-.73,2.4,2.4,0,0,1,1.2-.279,2.491,2.491,0,0,1,1.173.263,2.332,2.332,0,0,1,.82.706,3.122,3.122,0,0,1,.476,1.009A4.338,4.338,0,0,1,77.976-11.063Zm6.449,5.448a8.871,8.871,0,0,1-.484,1.05,2.871,2.871,0,0,1-.525.7,1.782,1.782,0,0,1-.64.394,2.462,2.462,0,0,1-.812.123,3.721,3.721,0,0,1-.492-.033A2.324,2.324,0,0,1,81-3.5v-1.28a2.342,2.342,0,0,0,.418.139,1.765,1.765,0,0,0,.4.057,1.2,1.2,0,0,0,.714-.205,1.255,1.255,0,0,0,.435-.583L83.539-6.8l-3.364-8.434h1.575L84.228-8.29h.033l2.379-6.941h1.477Z" transform="translate(17.85 28.4)"/></g></g></g><g transform="translate(0 0)"><g transform="translate(0 5.371)"><path d="M11.76,24.456A11.41,11.41,0,0,1,3.292,20.8,12.564,12.564,0,0,1,0,12.206,12.569,12.569,0,0,1,3.246,3.638,11.307,11.307,0,0,1,11.67,0a9.519,9.519,0,0,1,7.217,3V.759h8.264V23.7H18.887V21.148H18.8C17.478,23.219,14.846,24.456,11.76,24.456ZM13.849,7.064A5.023,5.023,0,0,0,8.537,12.25a4.95,4.95,0,0,0,5.312,5.141A4.95,4.95,0,0,0,19.16,12.25,5.023,5.023,0,0,0,13.849,7.064Z" transform="translate(27.277 11.038)" fill="#fff"/><path d="M0,33.931V.758H8.271v2.6H8.36A8.258,8.258,0,0,1,15.406,0,11.4,11.4,0,0,1,23.9,3.686a12.665,12.665,0,0,1,3.278,8.622,12.508,12.508,0,0,1-3.25,8.57,11.351,11.351,0,0,1-8.429,3.6,9.535,9.535,0,0,1-7.229-2.95V32.337L0,33.931ZM13.317,7.07A5.028,5.028,0,0,0,8,12.259a4.957,4.957,0,0,0,5.319,5.15,4.957,4.957,0,0,0,5.319-5.15A5.028,5.028,0,0,0,13.317,7.07Z" transform="translate(55.766 11.041)" fill="#fff"/><path d="M22.836,0l3.5,10.2.07.183a20.748,20.748,0,0,1,.988,3.43q.141-.731.364-1.532t.647-2.058L31.985,0h8.678L30.691,23.1H24.764L21.237,12.647q-.282-.891-.505-1.8t-.412-1.8A30.927,30.927,0,0,1,19.4,12.51l-.047.16L15.851,23.1H9.925L0,0H8.631l3.552,10.223q.4,1.121.635,1.955t.377,1.635a23.522,23.522,0,0,1,.917-3.179q.093-.274.141-.411L17.78,0h5.056" transform="translate(80.251 11.743)" fill="#fff"/><path d="M0,34.75V1.5L7.888,0V22.28l8.272-9.665H26.12L15.889,23.266,27.045,34.75H16.475L7.888,24.91v9.84H0" transform="translate(168.695 0)" fill="#fff"/><path d="M0,21.47l1.705-6.1a13.453,13.453,0,0,0,3.952,2.342A12.145,12.145,0,0,0,10,18.534a4.643,4.643,0,0,0,2.351-.482,1.539,1.539,0,0,0,.807-1.4q0-1.5-3.25-2.241-1.06-.246-1.705-.426A12.325,12.325,0,0,1,2.846,11.4,5.5,5.5,0,0,1,1.176,7.239,6.324,6.324,0,0,1,3.722,1.972,11,11,0,0,1,10.624,0a21.365,21.365,0,0,1,4.551.5,25.45,25.45,0,0,1,4.736,1.558l-1.706,5.49a14.24,14.24,0,0,0-3.319-1.636,10.6,10.6,0,0,0-3.364-.56A4.22,4.22,0,0,0,9.4,5.782a1.356,1.356,0,0,0-.714,1.233q0,1.211,3.227,2.04.737.2,1.106.291,4.264,1.188,5.935,2.79a5.728,5.728,0,0,1,1.671,4.337,6.782,6.782,0,0,1-2.743,5.614,11.478,11.478,0,0,1-7.259,2.14,22.565,22.565,0,0,1-5.693-.683A18.517,18.517,0,0,1,0,21.47" transform="translate(195.121 11.284)" fill="#fff"/><path d="M8.273,4.075h.091A8.13,8.13,0,0,1,15.909,0H17.5V7.834A6.8,6.8,0,0,0,14,7.074c-4.593,0-5.728,3-5.728,6.941v9.268H0V.313H8.273V4.075" transform="translate(150.08 11.469)" fill="#fff"/><path d="M17.392,29.929H13a.76.76,0,0,1-.485-.166.579.579,0,0,1-.227-.419l-.553-3.586a12.3,12.3,0,0,1-1.781-.721L7.163,27.123a.719.719,0,0,1-.495.176.687.687,0,0,1-.495-.214A25.873,25.873,0,0,1,2.91,23.81a.753.753,0,0,1,.019-.9c.2-.277.542-.713,1.009-1.3.483-.6.832-1.05,1.068-1.374a9.591,9.591,0,0,1-.811-1.929l-3.62-.526a.63.63,0,0,1-.416-.243A.729.729,0,0,1,0,17.089V12.762a.746.746,0,0,1,.159-.448.6.6,0,0,1,.376-.253l3.68-.546a9.5,9.5,0,0,1,.772-1.792C4.464,8.991,3.752,8.085,2.87,7.034a.732.732,0,0,1-.2-.468.82.82,0,0,1,.179-.449A19.622,19.622,0,0,1,4.8,4.023C5.751,3.1,6.38,2.631,6.668,2.631a.859.859,0,0,1,.515.194L9.913,4.91a11.536,11.536,0,0,1,1.8-.741A31.372,31.372,0,0,1,12.287.546.665.665,0,0,1,13,0h4.392a.755.755,0,0,1,.485.166.581.581,0,0,1,.229.419l.553,3.584a12.543,12.543,0,0,1,1.781.722L23.25,2.807a.641.641,0,0,1,.475-.176.775.775,0,0,1,.495.194,27.092,27.092,0,0,1,3.264,3.313.625.625,0,0,1,.139.429.745.745,0,0,1-.159.448c-.2.271-.525.695-1.008,1.3-.467.581-.827,1.043-1.069,1.373a11.784,11.784,0,0,1,.812,1.91l3.62.545a.625.625,0,0,1,.416.244.736.736,0,0,1,.157.458v4.325a.754.754,0,0,1-.157.449.606.606,0,0,1-.4.253l-3.66.545a12.628,12.628,0,0,1-.772,1.774c.465.654,1.177,1.559,2.117,2.688a.752.752,0,0,1,.2.488.648.648,0,0,1-.177.448,19.641,19.641,0,0,1-1.959,2.1c-.947.918-1.573,1.384-1.86,1.384a.978.978,0,0,1-.515-.176l-2.731-2.1a11.429,11.429,0,0,1-1.8.741,32.016,32.016,0,0,1-.573,3.624A.668.668,0,0,1,17.392,29.929ZM15.2,9.976a4.938,4.938,0,0,0-3.582,1.463,4.935,4.935,0,0,0,0,7.053,5.12,5.12,0,0,0,7.163,0,4.932,4.932,0,0,0,0-7.053A4.938,4.938,0,0,0,15.2,9.976Z" transform="translate(118.47 8.521)" fill="#fff"/><path d="M0,33.5,16.106,7.374H2.752V0H30.9L14.887,26.122H38.22L0,33.5" transform="translate(0 11.038)" fill="#fff"/></g><path d="M3.576-12.852v-4.3H6.628a2.867,2.867,0,0,1,1.945.55A2.034,2.034,0,0,1,9.188-15a2.06,2.06,0,0,1-.615,1.608,2.784,2.784,0,0,1-1.945.542ZM2.017-18.464V-6.748H3.576v-4.792H7.153a3.569,3.569,0,0,0,2.683-.9A3.478,3.478,0,0,0,10.747-15a3.45,3.45,0,0,0-.911-2.552,3.638,3.638,0,0,0-2.683-.911Zm11.421,7.483a4.221,4.221,0,0,1,.205-1.37,2.957,2.957,0,0,1,.566-1.009,2.411,2.411,0,0,1,.845-.624A2.515,2.515,0,0,1,16.08-14.2a2.515,2.515,0,0,1,1.026.213,2.411,2.411,0,0,1,.845.624,2.957,2.957,0,0,1,.566,1.009,4.221,4.221,0,0,1,.205,1.37,4.221,4.221,0,0,1-.205,1.37,2.867,2.867,0,0,1-.566,1,2.457,2.457,0,0,1-.845.615,2.515,2.515,0,0,1-1.026.213,2.515,2.515,0,0,1-1.026-.213,2.457,2.457,0,0,1-.845-.615,2.867,2.867,0,0,1-.566-1A4.221,4.221,0,0,1,13.438-10.981Zm-1.477,0a5.573,5.573,0,0,0,.263,1.739,3.97,3.97,0,0,0,.788,1.4,3.623,3.623,0,0,0,1.3.935,4.4,4.4,0,0,0,1.772.336A4.381,4.381,0,0,0,17.86-6.9a3.641,3.641,0,0,0,1.288-.935,3.97,3.97,0,0,0,.788-1.4,5.573,5.573,0,0,0,.263-1.739,5.65,5.65,0,0,0-.263-1.748,3.96,3.96,0,0,0-.788-1.411,3.729,3.729,0,0,0-1.288-.944,4.29,4.29,0,0,0-1.78-.345,4.3,4.3,0,0,0-1.772.345,3.71,3.71,0,0,0-1.3.944,3.96,3.96,0,0,0-.788,1.411A5.65,5.65,0,0,0,11.961-10.981Zm18.28,4.234,2.708-8.484H31.5L29.6-8.29h-.033L27.8-15.231H26.27L24.564-8.29h-.033l-1.92-6.941H21.068l2.724,8.484H25.3l1.707-6.744h.033l1.723,6.744ZM40.169-11.8H35.3a2.905,2.905,0,0,1,.213-.927A2.473,2.473,0,0,1,36-13.492a2.255,2.255,0,0,1,.747-.517,2.429,2.429,0,0,1,.976-.189,2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,40.169-11.8Zm1.346,2.363H40.136a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.105,5.105,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,41.515-9.439Zm1.526-5.793v8.484h1.395v-3.774a5.8,5.8,0,0,1,.164-1.452,2.784,2.784,0,0,1,.525-1.075,2.251,2.251,0,0,1,.952-.673,3.945,3.945,0,0,1,1.428-.23v-1.477a3.135,3.135,0,0,0-1.871.459,3.779,3.779,0,0,0-1.247,1.526h-.033v-1.789ZM54.15-11.8H49.276a2.905,2.905,0,0,1,.213-.927,2.473,2.473,0,0,1,.492-.763,2.255,2.255,0,0,1,.747-.517A2.429,2.429,0,0,1,51.7-14.2a2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,54.15-11.8ZM55.5-9.439H54.117a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.1,5.1,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,55.5-9.439Zm2.593-1.477a5.581,5.581,0,0,1,.131-1.214,3.212,3.212,0,0,1,.427-1.05,2.221,2.221,0,0,1,.788-.738,2.4,2.4,0,0,1,1.2-.279,2.589,2.589,0,0,1,1.231.271,2.389,2.389,0,0,1,.829.714,2.985,2.985,0,0,1,.468,1.026,4.889,4.889,0,0,1,.148,1.206,4.919,4.919,0,0,1-.139,1.165,3.053,3.053,0,0,1-.451,1.026,2.4,2.4,0,0,1-.8.73,2.4,2.4,0,0,1-1.2.279,2.491,2.491,0,0,1-1.173-.263,2.332,2.332,0,0,1-.82-.706,3.122,3.122,0,0,1-.476-1.009A4.338,4.338,0,0,1,58.088-10.916Zm6.564,4.168V-18.464H63.257V-14.1h-.033a2.247,2.247,0,0,0-.566-.632,3.216,3.216,0,0,0-.714-.41,3.583,3.583,0,0,0-.755-.222,4.132,4.132,0,0,0-.706-.066,3.861,3.861,0,0,0-1.7.353,3.487,3.487,0,0,0-1.214.952,4.018,4.018,0,0,0-.722,1.4,5.985,5.985,0,0,0-.238,1.707,5.8,5.8,0,0,0,.246,1.707,4.218,4.218,0,0,0,.73,1.411,3.529,3.529,0,0,0,1.214.968,3.827,3.827,0,0,0,1.715.361,4.135,4.135,0,0,0,1.625-.312A2.053,2.053,0,0,0,63.224-7.9h.033v1.149Zm6.761-11.716V-6.748h1.395V-7.88h.033a2.247,2.247,0,0,0,.566.632,2.982,2.982,0,0,0,.714.4,3.874,3.874,0,0,0,.763.213,4.193,4.193,0,0,0,.7.066,3.94,3.94,0,0,0,1.7-.345,3.4,3.4,0,0,0,1.214-.944,4.018,4.018,0,0,0,.722-1.4,5.985,5.985,0,0,0,.238-1.707,5.8,5.8,0,0,0-.246-1.707,4.312,4.312,0,0,0-.73-1.419,3.488,3.488,0,0,0-1.214-.976,3.827,3.827,0,0,0-1.715-.361,4.043,4.043,0,0,0-1.625.32,2.088,2.088,0,0,0-1.083,1.026h-.033v-4.381Zm6.564,7.4a5.581,5.581,0,0,1-.131,1.214,3.212,3.212,0,0,1-.427,1.05,2.243,2.243,0,0,1-.779.738,2.385,2.385,0,0,1-1.206.279A2.589,2.589,0,0,1,74.2-8.052a2.389,2.389,0,0,1-.829-.714,2.985,2.985,0,0,1-.468-1.026A4.889,4.889,0,0,1,72.758-11a4.919,4.919,0,0,1,.139-1.165,3.053,3.053,0,0,1,.451-1.026,2.4,2.4,0,0,1,.8-.73,2.4,2.4,0,0,1,1.2-.279,2.491,2.491,0,0,1,1.173.263,2.332,2.332,0,0,1,.82.706,3.122,3.122,0,0,1,.476,1.009A4.338,4.338,0,0,1,77.976-11.063Zm6.449,5.448a8.871,8.871,0,0,1-.484,1.05,2.871,2.871,0,0,1-.525.7,1.782,1.782,0,0,1-.64.394,2.462,2.462,0,0,1-.812.123,3.721,3.721,0,0,1-.492-.033A2.324,2.324,0,0,1,81-3.5v-1.28a2.342,2.342,0,0,0,.418.139,1.765,1.765,0,0,0,.4.057,1.2,1.2,0,0,0,.714-.205,1.255,1.255,0,0,0,.435-.583L83.539-6.8l-3.364-8.434h1.575L84.228-8.29h.033l2.379-6.941h1.477Z" transform="translate(0.722 18.464)" fill="#fff"/></g></g></g></svg>';function kt(){var e=new T(2);return T!=Float32Array&&(e[0]=0,e[1]=0),e}function St(e,t){return e[0]=t[0],e[1]=t[1],e}function It(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}function Nt(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}function Lt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}function Ft(e){var t=e[0],r=e[1];return Math.hypot(t,r)}function Mt(){return{indices:new Uint16Array(0),vertices:new Float32Array(0),normals:new Float32Array(0),uvs:new Float32Array(0)}}function zt(e){const t=2*e.trainedWidth/(e.trainedHeight*e.topRadius);return Pt(e,2,!1,0,0,0,kt(),e.trainedWidth/e.trainedHeight,t,e.physicalScaleFactor)}function Pt(e,t,r,i,a,n,o,_,c,l){isNaN(_)&&(_=1);const d=[],h=[],u=l>0?l:1,f=2*u/t,p=64;for(let t=0;t<=p;++t){const i=t*c/p+(2*Math.PI-c)/2,a=e.bottomRadius*Math.sin(i)*f,n=e.bottomRadius*Math.cos(i)*f,o=e.topRadius*Math.sin(i)*f,s=e.topRadius*Math.cos(i)*f,_=-1*u,l=u;r?(d.push(a,_,n),d.push(o,l,s)):(d.push(o,l,-s),d.push(a,_,-n))}for(let t=0;t<=p;++t)if(e.type==s.IMAGE_TRACKER_TYPE_CYLINDRICAL){const e=1-t/p;h.push(e,1),h.push(e,0)}else{let e=2*-(t/p-.5)*i;r&&(e=-e+i,e>i&&(e=e-i-i));const s=kt();s[0]=Math.sin(e),s[1]=Math.cos(e),r&&(s[1]*=-1);const c=kt();St(c,s),Lt(c,c,a),It(c,o,c);const l=kt();St(l,s),Lt(l,l,n),It(l,o,l),h.push((l[0]+_)/(2*_),1-(1-l[1])/2),h.push((c[0]+_)/(2*_),1-(1-c[1])/2)}const m=[];for(let e=0;e<p;++e){const t=2*e;m.push(t+1,t+2,t+3),m.push(t+0,t+2,t+1)}return{vertices:new Float32Array(d),indices:new Uint16Array(m),normals:new Float32Array(0),uvs:new Float32Array(h)}}kt();const jt=new TextDecoder;class Ct{constructor(e,t=!1){this._data=e,this._paddingBytes=t,this.truncatedChunks=!1,this._view=new DataView(this._data),this.root=this._parse()}_parse(){if("RIFF"!==jt.decode(this._data.slice(0,4)))throw new Error("Not a valid ZPT file");return this._parseChunk(0)}_parseChunk(e){const t=jt.decode(this._data.slice(e,e+4)),r=this._view.getUint32(e+4,!0),i=new Uint8Array(this._data,e+8,r);let a,n;if(i.byteLength!==r&&(this.truncatedChunks=!0),"RIFF"===t||"LIST"===t){n=jt.decode(this._data.slice(e+8,e+12)),a=[];let t=4;for(;t<i.byteLength-1;){const r=this._parseChunk(e+8+t);a.push(r),t+=r.data.byteLength+8,this._paddingBytes&&1&r.data.byteLength&&t++}}return{ident:t,data:i,subident:n,subchunks:a}}find(e,t=this.root){if(t.ident===e)return t;if(t.subchunks)for(let r of t.subchunks){const t=this.find(e,r);if(t)return t}}has(e){return void 0!==this.find(e)}}let Bt=new Map;const Ut=new TextDecoder;class Dt{constructor(e,t){this._client=e,this._impl=t,this._targets=[]}static create(e,t){let r=t.image_tracker_create(e);return Bt.set(r,new Dt(t,r)),r}static get(e){return Bt.get(e)}destroy(){this._client.image_tracker_destroy(this._impl),Bt.delete(this._impl)}loadFromMemory(e){this._targets.push({data:e}),this._client.image_tracker_target_load_from_memory(this._impl,e)}targetCount(){return this._targets.length}getTargetInfo(e){let t=this._targets[e];if(t&&t.info)return t.info;t.info={topRadius:-1,bottomRadius:-1,sideLength:-1,physicalScaleFactor:-1,trainedWidth:0,trainedHeight:0,type:s.IMAGE_TRACKER_TYPE_PLANAR};try{const e=new Ct(t.data,!1),r=e.find("IMG ");if(r){let i="image/png";const a=e.find("IMGM");a&&(i=Ut.decode(a.data)),t.info.preview={mimeType:i,compressed:r.data}}const i=e.find("ODLE");if(i){const e=Ut.decode(i.data);this._parseOdle(e,t.info)}}catch(e){}return t.info}_parseOdle(e,t){let r=0,i="0";return[i,r]=Ot(r,e),"1"===i?this._parseOdleV1(e,r,t):"3"===i?this._parseOdleV3(e,r,t):void 0}_parseOdleV1(e,t,r){let i="0";if([i,t]=Ot(t,e),"0"!==i&&"1"!==i)return;let a="";if([a,t]=Ot(t,e),0!==a.length)return;let n="";[n,t]=Ot(t,e);const o=n.split(" ");o.length<5||(r.trainedWidth=parseInt(o[3].replace("[","")),r.trainedHeight=parseInt(o[4].replace("]","")))}_parseOdleV3(e,t,r){let i="0";if([i,t]=Ot(t,e),"0"!==i&&"1"!==i)return;let a="0";[a,t]=Ot(t,e);const n=parseInt(a);if(isNaN(n)||n<1)return;let o="";if([o,t]=Ot(t,e),0!==o.length)return;let s="";[s,t]=Ot(t,e);const _=s.split(" ");if(_.length<6)return;const c=parseInt(_[0]);0!==c&&1!==c&&2!==c||(r.type=c),r.trainedWidth=parseInt(_[4].replace("[","")),r.trainedHeight=parseInt(_[5].replace("]","")),_.length>=7&&(r.physicalScaleFactor=parseFloat(_[6]),isNaN(r.physicalScaleFactor)&&(r.physicalScaleFactor=-1)),_.length>=8&&(r.topRadius=parseFloat(_[7]),isNaN(r.topRadius)&&(r.topRadius=-1),r.bottomRadius=r.topRadius),_.length>=9&&(r.bottomRadius=parseFloat(_[8]),isNaN(r.bottomRadius)&&(r.bottomRadius=-1)),_.length>=10&&(r.sideLength=parseFloat(_[9]),isNaN(r.sideLength)&&(r.sideLength=-1))}getDecodedPreview(e){const t=this.getTargetInfo(e);if(t.preview){if(!t.preview.image){const e=new Blob([t.preview.compressed],{type:t.preview.mimeType});t.preview.image=new Image,t.preview.image.src=URL.createObjectURL(e)}return t.preview.image}}getPreviewMesh(e){const t=this.getTargetInfo(e);return t.previewMesh||(t.previewMesh=function(e){switch(e.type){case s.IMAGE_TRACKER_TYPE_PLANAR:return function(e){const t=e.trainedWidth/e.trainedHeight;if(isNaN(t))return Mt();const r=e.physicalScaleFactor>0?e.physicalScaleFactor:1;return{vertices:new Float32Array([-1*t*r,-1*r,0,-1*t*r,r,0,t*r,r,0,t*r,-1*r,0]),indices:new Uint16Array([0,2,1,0,3,2]),uvs:new Float32Array([0,0,0,1,1,1,1,0]),normals:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1])}}(e);case s.IMAGE_TRACKER_TYPE_CYLINDRICAL:return zt(e);case s.IMAGE_TRACKER_TYPE_CONICAL:return function(e){const t=e.topRadius-e.bottomRadius;if(0===t)return console.warn("Conical target has matching radii, using cylindrical preview mesh with a defined image size instead."),zt(e);const r=Math.sqrt(e.sideLength*e.sideLength-t*t),i=e.bottomRadius>e.topRadius;let a=e.trainedWidth/e.trainedHeight;isNaN(a)&&(a=1);const n=!(e.bottomRadius>0&&e.topRadius>0),o=e.sideLength<2*Math.abs(e.topRadius-e.bottomRadius),s=kt(),_=kt(),c=kt();if(n)if(o)if(i){c[1]=a-1;const e=Math.acos((2-a)/a);s[0]=a*Math.sin(e),s[1]=a-1+a*Math.cos(e),St(_,c)}else{c[1]=1-a;const e=Math.PI+Math.acos((2-a)/a);s[0]=a*Math.sin(e),s[1]=1-a+a*Math.cos(e),St(_,c)}else i?(c[1]=1,St(_,c),s[0]=a,s[1]=1-Math.sqrt(4-Math.pow(a,2))):(c[1]=-1,St(_,c),s[0]=-a,s[1]=Math.sqrt(4-Math.pow(a,2))-1);else if(o)if(i){c[1]=a-1;const t=Math.acos((2-a)/a);s[0]=a*Math.sin(t),s[1]=a-1+a*Math.cos(t),_[0]=(a-e.sideLength)*Math.sin(t),_[1]=a-1+(a-e.sideLength)*Math.cos(t)}else{c[1]=1-a;const t=Math.PI+Math.acos((2-a)/a);s[0]=a*Math.sin(t),s[1]=1-a+a*Math.cos(t),_[0]=(a-e.sideLength)*Math.sin(t),_[1]=1-a+(a-e.sideLength)*Math.cos(t)}else{const t=i?e.topRadius/e.bottomRadius:e.bottomRadius/e.topRadius;i?(_[0]=t*a,_[1]=1,s[0]=a,s[1]=1-Math.sqrt(e.sideLength*e.sideLength-(_[0]-s[0])*(_[0]-s[0])),c[1]=s[1]+s[0]/(s[0]-_[0])*(_[1]-s[1])):(_[0]=-t*a,_[1]=-1,s[0]=-a,s[1]=Math.sqrt(e.sideLength*e.sideLength-(_[0]-s[0])*(_[0]-s[0]))-1,c[1]=s[1]- -s[0]/(_[0]-s[0])*(s[1]-_[1]))}const l=kt();Nt(l,s,c);const d=kt();Nt(d,_,c);const h=Ft(l),u=Ft(d);let f=2*Math.abs(Math.atan(l[0]/l[1]));o&&(f=2*Math.PI-f);let p=h*f/e.topRadius,m=Math.abs(Math.atan(l[0]/l[1]));return o&&(m=Math.PI-m),Pt(e,r,i,m,u,h,c,a,p,e.physicalScaleFactor)}(e)}return Mt()}(t)),t.previewMesh}}function Ot(e,t){let r=t.indexOf("\n",e);return[t.substring(e,r>=0?r:void 0).replace("\r",""),r+1]}let Vt,Gt,Kt;let Zt="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 projMatrix;\nuniform mat4 cameraMatrix;\nuniform mat4 modelViewMatrix;\nattribute vec4 position;\nattribute vec2 textureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main()\n{\n gl_Position = projMatrix * cameraMatrix * modelViewMatrix * position;\n vTextureCoord = textureCoord;\n}",Wt="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nuniform sampler2D skinSampler;\n\nvoid main()\n{\n vec2 pixels = 100.0 * vTextureCoord + 0.5;\n if ((int(mod(pixels.x, 10.0)) == 0) || (int(mod(pixels.y, 10.0)) == 0)) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n } else {\n discard;\n }\n}";R();var Ht=function(e,t,r,i){return new(r||(r=Promise))((function(a,n){function o(e){try{_(i.next(e))}catch(e){n(e)}}function s(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}_((i=i.apply(e,t||[])).next())}))};let Yt;const Xt=new Map;function qt(e){if(Yt)return Yt;let t=!1;(function(e){return H(this,void 0,void 0,(function*(){var t;function i(){let t=Y.getOutgoingMessages();for(let r of t)e.postMessage(r.msg,r.transferables)}e||(e=new Worker(new URL(r.p+r.u(751),r.b),{type:void 0})),e.postMessage({t:"wasm",url:new URL(r(751),r.b).toString(),module:yield J,shouldRecordData:q}),yield(t=e,new Promise((e=>{let r=i=>{"loaded"===i.data&&(t.removeEventListener("message",r),e())};t.addEventListener("message",r)}))),Y.onOutgoingMessage.bind(i),i(),e.addEventListener("message",(e=>{Y.postIncomingMessage(e.data)}))}))})(null==e?void 0:e.worker).then((()=>{we("Fully loaded"),t=!0}));let i=new h((e=>{Y.postOutgoingMessage({t:"zappar",d:e},[e])}));const a=function(){let e=window.localStorage.getItem("z_uar_lid");if(null===e){const t=new Uint8Array(8);window.crypto.getRandomValues(t),e="";for(let r=0;r<t.byteLength;r++){const i=t[r].toString(16);1===i.length?e+="0"+i:2===i.length&&(e+=i)}}return e}();let n=!1;if(window.location.hostname.toLowerCase().indexOf(".zappar.io")>0||window.location.hostname.toLowerCase().indexOf(".webar.run")>0||window.location.hostname.toLowerCase().indexOf(".arweb.app")>0){let e=window.location.pathname.split("/");e.length>1&&e[1].length>0&&i.impl.analytics_project_id_set(".wiz"+e[1],a)}return Y.onIncomingMessage.bind((e=>{var t,a,n,o,s,_,c,l;switch(e.t){case"zappar":null===(t=pt.get(e.p))||void 0===t||t.pendingMessages.push(e.d);break;case"buf":i.serializer.bufferReturn(e.d);break;case"cameraFrameRecycleS2C":{let t=e;null===(n=null===(a=pt.get(t.p))||void 0===a?void 0:a.cameraTokenReturn)||void 0===n||n.call(a,e);break}case"videoFrameS2C":{let t=e;null===(s=null===(o=pt.get(t.p))||void 0===o?void 0:o.videoFrameFromWorker)||void 0===s||s.call(o,t);break}case"imageBitmapS2C":{let t=e;null===(c=null===(_=pt.get(t.p))||void 0===_?void 0:_.imageBitmapFromWorker)||void 0===c||c.call(_,t);break}case"raw":{let t=e;null===(l=pt.get(t.p))||void 0===l||l.cameraFrameDataRawResult(t);break}case"streamEndedS2C":{const t=st(e.source);t instanceof it&&t.streamEnded();break}case"setupCeresWorker":!function(e,t){H(this,void 0,void 0,(function*(){t||(t=new Worker(new URL(r.p+r.u(25),r.b),{type:void 0})),t.postMessage({t:"wasm",url:new URL(r(751),r.b).toString(),module:yield J,port:e},[e])}))}(e.port);break;case"_z_datadownload":{let t=new Blob([e.data],{type:"application/octet-stream"}),r=URL.createObjectURL(t),i=document.createElement("a");i.download="sequencedata.bin",i.href=r,i.click();break}case"licerr":{let e=document.createElement("div");e.innerHTML="Visit <a href='https://docs.zap.works/universal-ar/licensing/' style='color: white;'>our licensing page</a> to find out about hosting on your own domain.",e.style.position="absolute",e.style.bottom="20px",e.style.width="80%",e.style.backgroundColor="black",e.style.color="white",e.style.borderRadius="10px",e.style.padding="10px",e.style.fontFamily="sans-serif",e.style.textAlign="center",e.style.left="10%",e.style.zIndex=Number.MAX_SAFE_INTEGER.toString();let t=document.createElement("span");t.innerText=" (30)",e.append(t);let r=30;setInterval((function(){r--,r>=0&&(t.innerText=" ("+r.toString()+")")}),1e3),document.body.append(e)}case"gfx":{let e=document.createElement("div");e.innerHTML=xt,e.style.position="absolute",e.style.bottom="20px",e.style.width="250px",e.style.left="50%",e.style.marginLeft="-125px",e.style.zIndex=Number.MAX_SAFE_INTEGER.toString(),e.style.opacity="0",e.style.transition="opacity 0.5s",document.body.append(e),setTimeout((function(){e.style.opacity="1"}),500),setTimeout((function(){e.style.opacity="0"}),3e3),setTimeout((function(){e.remove()}),4e3)}}})),Yt=Object.assign(Object.assign({},i.impl),{loaded:()=>t,camera_default_device_id:e=>e?Qe.USER_DEFAULT_DEVICE_ID:Qe.DEFAULT_DEVICE_ID,camera_source_create:(e,t)=>function(e,t){let r=at++;return C.preferMediaStreamTrackProcessorCamera&&"MediaStreamTrackProcessor"in window&&"MediaStreamTrackGenerator"in window?ot(r,new it(r,e,t)):C.preferImageBitmapCamera&&"undefined"!=typeof OffscreenCanvas?ot(r,new tt(r,e,t)):ot(r,new Qe(r,e,t)),we("camera_source_t initialized"),r}(e,t),camera_source_destroy:e=>{var t;return null===(t=st(e))||void 0===t?void 0:t.destroy()},camera_source_pause:e=>{var t;return null===(t=st(e))||void 0===t?void 0:t.pause()},camera_source_start:e=>{var t;return null===(t=st(e))||void 0===t?void 0:t.start()},camera_source_profile_set:(e,t)=>{var r;return null===(r=st(e))||void 0===r?void 0:r.setProfile(t)},camera_count:()=>2,camera_id:e=>0===e?Qe.DEFAULT_DEVICE_ID:Qe.USER_DEFAULT_DEVICE_ID,camera_name:e=>0===e?"Rear-facing Camera":"User-facing Camera",camera_user_facing:e=>0!==e,pose_from_raw:(e,t)=>{let r=mt(void 0,e);if(t){let e=R();I(e,[-1,1,1]),k(r,e,r),k(r,r,e)}return r},pipeline_create:()=>pt.create(i.impl,Y),pipeline_frame_update:e=>{var t;return null===(t=pt.get(e))||void 0===t?void 0:t.frameUpdate(i)},pipeline_camera_frame_draw_gl:(e,t,r,i)=>{var a;null===(a=pt.get(e))||void 0===a||a.cameraFrameDrawGL(t,r,i)},pipeline_camera_frame_data_width:e=>{var t,r;const i=null===(t=pt.get(e))||void 0===t?void 0:t.getCurrentCameraInfo();return null!==(r=null==i?void 0:i.dataWidth)&&void 0!==r?r:0},pipeline_camera_frame_data_height:e=>{var t,r;const i=null===(t=pt.get(e))||void 0===t?void 0:t.getCurrentCameraInfo();return null!==(r=null==i?void 0:i.dataHeight)&&void 0!==r?r:0},draw_plane:(e,t,r,i,a)=>{!function(e,t,r,i,a){let n=y(e),o=function(e){if(m)return m;if(m=e.createBuffer(),!m)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,m),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-.5,.125,0,-.5,-.125,0,.5,.125,0,.5,-.125,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),m}(e),s=g(e);e.disable(e.DEPTH_TEST),e.useProgram(n.prog),e.uniformMatrix4fv(n.unif_proj,!1,t),e.uniformMatrix4fv(n.unif_camera,!1,r),e.uniformMatrix4fv(n.unif_matrix,!1,i),e.bindBuffer(e.ARRAY_BUFFER,o),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,function(e,t){if(v[t])return v[t];let r=e.createTexture();if(!r)throw new Error("Unable to create texture");v[t]=r,e.bindTexture(e.TEXTURE_2D,r);const i=e.RGBA,a=e.RGBA,n=e.UNSIGNED_BYTE,o=new Uint8Array([0,0,255,255]);e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,1,1,0,a,n,o);const s=new Image;return s.onload=function(){e.bindTexture(e.TEXTURE_2D,r),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,i,a,n,s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR)},s.src=t,r}(e,a)),e.uniform1i(n.unif_skinSampler,0),e.vertexAttribPointer(n.attr_position,3,e.FLOAT,!1,12,0),e.enableVertexAttribArray(n.attr_position),e.bindBuffer(e.ARRAY_BUFFER,s),e.vertexAttribPointer(n.attr_textureCoord,2,e.FLOAT,!1,8,0),e.enableVertexAttribArray(n.attr_textureCoord),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.disableVertexAttribArray(n.attr_position),e.disableVertexAttribArray(n.attr_textureCoord),e.bindBuffer(e.ARRAY_BUFFER,null)}(e,t,r,i,a)},draw_grid:(e,t,r,i)=>{!function(e,t,r,i){let a=function(e){if(Vt)return Vt;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=u(e,e.VERTEX_SHADER,Zt),i=u(e,e.FRAGMENT_SHADER,Wt);e.attachShader(t,r),e.attachShader(t,i),f(e,t);let a=e.getUniformLocation(t,"projMatrix");if(!a)throw new Error("Unable to get uniform location projMatrix");let n=e.getUniformLocation(t,"modelViewMatrix");if(!n)throw new Error("Unable to get uniform location modelViewMatrix");let o=e.getUniformLocation(t,"cameraMatrix");if(!o)throw new Error("Unable to get uniform location cameraMatrix");return Vt={prog:t,unif_matrix:n,unif_proj:a,unif_camera:o,attr_position:e.getAttribLocation(t,"position"),attr_textureCoord:e.getAttribLocation(t,"textureCoord")},Vt}(e),n=function(e){if(Gt)return Gt;if(Gt=e.createBuffer(),!Gt)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,Gt),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0,-.5]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),Gt}(e),o=function(e){if(Kt)return Kt;if(Kt=e.createBuffer(),!Kt)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,Kt),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,1,1,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),Kt}(e);e.disable(e.DEPTH_TEST),e.useProgram(a.prog),e.uniformMatrix4fv(a.unif_proj,!1,t),e.uniformMatrix4fv(a.unif_camera,!1,r),e.uniformMatrix4fv(a.unif_matrix,!1,i),e.bindBuffer(e.ARRAY_BUFFER,n),e.vertexAttribPointer(a.attr_position,3,e.FLOAT,!1,12,0),e.enableVertexAttribArray(a.attr_position),e.bindBuffer(e.ARRAY_BUFFER,o),e.vertexAttribPointer(a.attr_textureCoord,2,e.FLOAT,!1,8,0),e.enableVertexAttribArray(a.attr_textureCoord),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.disableVertexAttribArray(a.attr_position),e.disableVertexAttribArray(a.attr_textureCoord),e.bindBuffer(e.ARRAY_BUFFER,null)}(e,t,r,i)},pipeline_draw_face:(e,t,r,i,a)=>{var n;let o=xe(a);if(!o)return Ae("attempting to call draw_face on a destroyed zappar_face_mesh_t"),new Uint16Array;null===(n=pt.get(e))||void 0===n||n.drawFace(t,r,i,o)},pipeline_draw_face_project:(e,t,r,i,a,n,o)=>{var s;null===(s=pt.get(e))||void 0===s||s.drawFaceProject(t,r,i,a,n,o)},pipeline_draw_image_target_preview:(e,t,r,i,a,n)=>{var o;let s=Dt.get(a);s?null===(o=pt.get(e))||void 0===o||o.drawImageTargetPreview(t,r,i,n,s):Ae("image tracker not found")},projection_matrix_from_camera_model:V,projection_matrix_from_camera_model_ext:V,pipeline_process_gl:e=>{var t;return null===(t=pt.get(e))||void 0===t?void 0:t.processGL()},pipeline_gl_context_set:(e,t,r)=>{var i;return null===(i=pt.get(e))||void 0===i?void 0:i.glContextSet(t,r)},pipeline_gl_context_lost:e=>{var t;return null===(t=pt.get(e))||void 0===t?void 0:t.glContextLost()},pipeline_camera_frame_upload_gl:e=>{var t;return null===(t=pt.get(e))||void 0===t?void 0:t.uploadGL()},pipeline_camera_frame_texture_gl:e=>{var t;return null===(t=pt.get(e))||void 0===t?void 0:t.cameraFrameTexture()},pipeline_camera_frame_texture_matrix:(e,t,r,i)=>{var a;return(null===(a=pt.get(e))||void 0===a?void 0:a.cameraFrameTextureMatrix(t,r,i))||R()},pipeline_camera_frame_user_facing:e=>{var t;return(null===(t=pt.get(e))||void 0===t?void 0:t.cameraFrameUserFacing())||!1},pipeline_camera_pose_default:()=>R(),pipeline_camera_pose_with_attitude:(e,t)=>{var r;return(null===(r=pt.get(e))||void 0===r?void 0:r.cameraPoseWithAttitude(t))||R()},pipeline_camera_pose_with_origin:(e,t)=>{let r=R();return x(r,t),r},pipeline_sequence_record_clear:e=>{var t;return null===(t=pt.get(e))||void 0===t?void 0:t.sequenceRecordClear()},pipeline_sequence_record_start:(e,t)=>{var r;return null===(r=pt.get(e))||void 0===r?void 0:r.sequenceRecordStart(t)},pipeline_sequence_record_stop:e=>{var t;return null===(t=pt.get(e))||void 0===t?void 0:t.sequenceRecordStop()},pipeline_sequence_record_device_attitude_matrices_set:(e,t)=>{var r;return null===(r=pt.get(e))||void 0===r?void 0:r.sequenceRecordDeviceAttitudeMatrices(t)},pipeline_sequence_record_data:e=>{var t;return(null===(t=pt.get(e))||void 0===t?void 0:t.sequenceRecordData())||new Uint8Array(0)},pipeline_sequence_record_data_size:e=>{var t;return(null===(t=pt.get(e))||void 0===t?void 0:t.sequenceRecordData().byteLength)||0},pipeline_camera_frame_data_raw:e=>{var t;return(null===(t=pt.get(e))||void 0===t?void 0:t.getCameraFrameDataRaw())||Promise.reject()},pipeline_camera_frame_data_raw_enabled_set:(e,t)=>{var r;return null===(r=pt.get(e))||void 0===r?void 0:r.setCameraFrameDataRawEnabled(t)},instant_world_tracker_anchor_pose_camera_relative:(e,t)=>{let r=mt(void 0,i.impl.instant_world_tracker_anchor_pose_raw(e));if(t){let e=R();I(e,[-1,1,1]),k(r,e,r),k(r,r,e)}return r},instant_world_tracker_anchor_pose:(e,t,r)=>{let a=mt(void 0,i.impl.instant_world_tracker_anchor_pose_raw(e));if(r){let e=R();I(e,[-1,1,1]),k(a,e,a),k(a,a,e)}return k(a,t,a),a},instant_world_tracker_anchor_pose_set_from_camera_offset:(e,t,r,a,n)=>{let o=G(!1)*Math.PI/180,s=R();N(s,-o,[0,0,1]);let _=L();z(_,[t,r,a],s),i.impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(e,_[0],_[1],_[2],n)},image_tracker_create:e=>Dt.create(e,i.impl),image_tracker_destroy:e=>{var t;return null===(t=Dt.get(e))||void 0===t?void 0:t.destroy()},image_tracker_target_type:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).type:(Ae("attempting to call image_tracker_target_type on a destroyed zappar_image_tracker_t"),s.IMAGE_TRACKER_TYPE_PLANAR)},image_tracker_target_count:e=>{let t=Dt.get(e);return t?t.targetCount():(Ae("attempting to call image_tracker_target_count on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_load_from_memory:(e,t)=>{let r=Dt.get(e);if(!r)return Ae("attempting to call image_tracker_target_load_from_memory on a destroyed zappar_image_tracker_t"),0;r.loadFromMemory(t)},image_tracker_target_preview_compressed:(e,t)=>{var r;let i=Dt.get(e);return i?(null===(r=i.getTargetInfo(t).preview)||void 0===r?void 0:r.compressed)||new Uint8Array(0):(Ae("attempting to call image_tracker_target_preview_compressed on a destroyed zappar_image_tracker_t"),new Uint8Array(0))},image_tracker_target_preview_compressed_mimetype:(e,t)=>{var r;let i=Dt.get(e);return i?(null===(r=i.getTargetInfo(t).preview)||void 0===r?void 0:r.mimeType)||"":(Ae("attempting to call image_tracker_target_preview_compressed_mimetype on a destroyed zappar_image_tracker_t"),"")},image_tracker_target_preview_compressed_size:(e,t)=>{var r,i;let a=Dt.get(e);return a?(null===(i=null===(r=a.getTargetInfo(t).preview)||void 0===r?void 0:r.compressed)||void 0===i?void 0:i.byteLength)||0:(Ae("attempting to call image_tracker_target_preview_compressed_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_physical_scale_factor:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).physicalScaleFactor:(Ae("attempting to call image_tracker_target_physical_scale_factor on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_radius_top:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).topRadius:(Ae("attempting to call image_tracker_target_radius_top on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_radius_bottom:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).bottomRadius:(Ae("attempting to call image_tracker_target_radius_bottom on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_side_length:(e,t)=>{let r=Dt.get(e);return r?r.getTargetInfo(t).sideLength:(Ae("attempting to call image_tracker_target_side_length on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_image:(e,t)=>{let r=Dt.get(e);return r?r.getDecodedPreview(t):(Ae("attempting to call image_tracker_target_image on a destroyed zappar_image_tracker_t"),new Image)},image_tracker_anchor_pose_camera_relative:(e,t,r)=>{let a=mt(void 0,i.impl.image_tracker_anchor_pose_raw(e,t));if(r){let e=R();I(e,[-1,1,1]),k(a,e,a),k(a,a,e)}return a},image_tracker_anchor_pose:(e,t,r,a)=>{let n=mt(void 0,i.impl.image_tracker_anchor_pose_raw(e,t));if(a){let e=R();I(e,[-1,1,1]),k(n,e,n),k(n,n,e)}return k(n,r,n),n},image_tracker_target_preview_mesh_indices:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).indices:(Ae("attempting to call image_tracker_target_preview_mesh_indices on a destroyed zappar_image_tracker_t"),new Uint16Array)},image_tracker_target_preview_mesh_vertices:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).vertices:(Ae("attempting to call image_tracker_target_preview_mesh_vertices on a destroyed zappar_image_tracker_t"),new Float32Array)},image_tracker_target_preview_mesh_uvs:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).uvs:(Ae("attempting to call image_tracker_target_preview_mesh_uvs on a destroyed zappar_image_tracker_t"),new Float32Array)},image_tracker_target_preview_mesh_normals:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).normals:(Ae("attempting to call image_tracker_target_preview_mesh_normals on a destroyed zappar_image_tracker_t"),new Float32Array)},image_tracker_target_preview_mesh_indices_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).indices.length:(Ae("attempting to call image_tracker_target_preview_mesh_indices_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_preview_mesh_vertices_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).vertices.length:(Ae("attempting to call image_tracker_target_preview_mesh_vertices_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_preview_mesh_uvs_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).uvs.length:(Ae("attempting to call image_tracker_target_preview_mesh_uvs_size on a destroyed zappar_image_tracker_t"),0)},image_tracker_target_preview_mesh_normals_size:(e,t)=>{let r=Dt.get(e);return r?r.getPreviewMesh(t).normals.length:(Ae("attempting to call image_tracker_target_preview_mesh_normals_size on a destroyed zappar_image_tracker_t"),0)},zapcode_tracker_anchor_pose_camera_relative:(e,t,r)=>{let a=mt(void 0,i.impl.zapcode_tracker_anchor_pose_raw(e,t));if(r){let e=R();I(e,[-1,1,1]),k(a,e,a),k(a,a,e)}return a},zapcode_tracker_anchor_pose:(e,t,r,a)=>{let n=mt(void 0,i.impl.zapcode_tracker_anchor_pose_raw(e,t));if(a){let e=R();I(e,[-1,1,1]),k(n,e,n),k(n,n,e)}return k(n,r,n),n},face_tracker_anchor_pose_camera_relative:(e,t,r)=>{let a=mt(void 0,i.impl.face_tracker_anchor_pose_raw(e,t));if(r){let e=R();I(e,[-1,1,1]),k(a,e,a),k(a,a,e)}return a},face_tracker_anchor_pose:(e,t,r,a)=>{let n=mt(void 0,i.impl.face_tracker_anchor_pose_raw(e,t));if(a){let e=R();I(e,[-1,1,1]),k(n,e,n),k(n,n,e)}return k(n,r,n),n},face_tracker_model_load_default:e=>Ht(this,void 0,void 0,(function*(){yield function(e){return Ht(this,void 0,void 0,(function*(){let t=new URL(r(367),r.b),i=yield fetch(t.toString()),a=yield i.arrayBuffer();null==Yt||Yt.face_tracker_model_load_from_memory(e,a)}))}(e)})),face_mesh_create:()=>function(){let e=Te++;return Re.set(e,new ke),we("face_mesh_t initialized"),e}(),face_mesh_destroy:e=>{!function(e){Re.delete(e)}(e)},face_mesh_indices:e=>{let t=xe(e);return t?t.getIndices():(Ae("attempting to call face_mesh_indices on a destroyed zappar_face_mesh_t"),new Uint16Array)},face_mesh_indices_size:e=>{let t=xe(e);return t?t.getIndices().length:(Ae("attempting to call face_mesh_indices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_uvs:e=>{let t=xe(e);return t?t.getUVs():(Ae("attempting to call face_mesh_uvs on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_uvs_size:e=>{let t=xe(e);return t?t.getUVs().length:(Ae("attempting to call face_mesh_uvs_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_vertices:e=>{let t=xe(e);return t?t.getVertices():(Ae("attempting to call face_mesh_vertices on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_vertices_size:e=>{let t=xe(e);return t?t.getVertices().length:(Ae("attempting to call face_mesh_vertices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_normals:e=>{let t=xe(e);return t?t.getNormals():(Ae("attempting to call face_mesh_normals on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_normals_size:e=>{let t=xe(e);return t?t.getNormals().length:(Ae("attempting to call face_mesh_normals_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_load_from_memory:(e,t,r,i,a,n)=>{let o=xe(e);o?o.loadFromMemory(t,r,i,a,n):Ae("attempting to call face_mesh_load_from_memory on a destroyed zappar_face_mesh_t")},face_mesh_update:(e,t,r,i)=>{let a=xe(e);a?a.update(t,r,i):Ae("attempting to call face_mesh_update on a destroyed zappar_face_mesh_t")},face_mesh_load_default:e=>Ht(this,void 0,void 0,(function*(){let t=xe(e);if(!t)return void Ae("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t");let i=new URL(r(698),r.b),a=yield fetch(i.toString());t.loadFromMemory(yield a.arrayBuffer(),!1,!1,!1,!1)})),face_mesh_load_default_face:(e,t,i,a)=>Ht(this,void 0,void 0,(function*(){let n=xe(e);if(!n)return void Ae("attempting to call face_mesh_load_default_face on a destroyed zappar_face_mesh_t");let o=new URL(r(698),r.b),s=yield fetch(o.toString());n.loadFromMemory(yield s.arrayBuffer(),t,i,a,!1)})),face_mesh_load_default_full_head_simplified:(e,t,i,a,n)=>Ht(this,void 0,void 0,(function*(){let o=xe(e);if(!o)return void Ae("attempting to call face_mesh_load_default_full_head_simplified on a destroyed zappar_face_mesh_t");let s=new URL(r(825),r.b),_=yield fetch(s.toString());o.loadFromMemory(yield _.arrayBuffer(),t,i,a,n)})),face_mesh_loaded_version:e=>{let t=xe(e);return t?t.getModelVersion():(Ae("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t"),-1)},face_landmark_create:e=>function(e){let t=vt++;return gt.set(t,new wt(e)),we("face_landmark_t initialized"),t}(e),face_landmark_destroy:e=>{!function(e){gt.delete(e)}(e)},face_landmark_update:(e,t,r,i)=>{let a=Et(e);a?a.update(t,r,i):Ae("attempting to call face_landmark_update on a destroyed zappar_face_landmark_t")},face_landmark_anchor_pose:e=>{let t=Et(e);return t?t.anchor_pose:(Ae("attempting to call face_landmark_anchor_pose on a destroyed zappar_face_landmark_t"),R())},world_tracker_create:e=>{const t=i.impl.world_tracker_create(e);return Xt.set(t,e),t},world_tracker_points_data_matrix:(e,t,r,i)=>{const a=Xt.get(e);return void 0!==a&&Yt?function(e,t,r,i,a){let n=R(),o=R();return S(o,[-.5*e,-.5*t,0]),k(n,o,n),I(o,[2/e,2/-t,1]),k(n,o,n),a&&(I(o,[-1,1,1]),k(n,o,n)),I(o,[1,(r>i?r/i:i/r)/(e/t),1]),k(n,o,n),N(o,function(){if(window.screen.orientation&&!C.forceWindowOrientation)switch(window.screen.orientation.type){case"portrait-primary":return 270;case"landscape-secondary":return 180;case"portrait-secondary":return 90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return 270;case 90:return 0;case 180:return 90;case-90:return 180}return 0}()*Math.PI/180,[0,0,1]),k(n,o,n),n}(Yt.pipeline_camera_frame_data_width(a),Yt.pipeline_camera_frame_data_height(a),t,r,i):R()},world_tracker_plane_pose_camera_relative:(e,t,r)=>{let a=mt(void 0,i.impl.world_tracker_plane_pose_raw(e,t));if(r){let e=R();I(e,[-1,1,1]),k(a,e,a),k(a,a,e)}return a},world_tracker_plane_pose:(e,t,r,a)=>{let n=mt(void 0,i.impl.world_tracker_plane_pose_raw(e,t));if(a){let e=R();I(e,[-1,1,1]),k(n,e,n),k(n,n,e)}return k(n,r,n),n},world_tracker_world_anchor_pose:(e,t,r)=>{let a=mt(void 0,i.impl.world_tracker_world_anchor_pose_raw(e));if(r){let e=R();I(e,[-1,1,1]),k(a,e,a),k(a,a,e)}return k(a,t,a),a},world_tracker_world_anchor_pose_camera_relative:(e,t)=>{let r=mt(void 0,i.impl.world_tracker_world_anchor_pose_raw(e));if(t){let e=R();I(e,[-1,1,1]),k(r,e,r),k(r,r,e)}return r},world_tracker_ground_anchor_pose:(e,t,r)=>{let a=mt(void 0,i.impl.world_tracker_ground_anchor_pose_raw(e));if(r){let e=R();I(e,[-1,1,1]),k(a,e,a),k(a,a,e)}return k(a,t,a),a},world_tracker_ground_anchor_pose_camera_relative:(e,t)=>{let r=mt(void 0,i.impl.world_tracker_ground_anchor_pose_raw(e));if(t){let e=R();I(e,[-1,1,1]),k(r,e,r),k(r,r,e)}return r},html_element_source_create:(e,t)=>qe.createVideoElementSource(e,t),html_element_source_start:e=>{var t;return null===(t=qe.getVideoElementSource(e))||void 0===t?void 0:t.start()},html_element_source_pause:e=>{var t;return null===(t=qe.getVideoElementSource(e))||void 0===t?void 0:t.pause()},html_element_source_destroy:e=>{var t;return null===(t=qe.getVideoElementSource(e))||void 0===t?void 0:t.destroy()},sequence_source_create:e=>Rt.create(e),sequence_source_load_from_memory:(e,t)=>{var r;return null===(r=Rt.get(e))||void 0===r?void 0:r.loadFromMemory(t)},sequence_source_pause:e=>{var t;return null===(t=Rt.get(e))||void 0===t?void 0:t.pause()},sequence_source_start:e=>{var t;return null===(t=Rt.get(e))||void 0===t?void 0:t.start()},sequence_source_max_playback_fps_set:(e,t)=>{var r;return null===(r=Rt.get(e))||void 0===r?void 0:r.maxPlaybackFpsSet(t)},sequence_source_time_set:(e,t)=>{var r;return null===(r=Rt.get(e))||void 0===r?void 0:r.setTime(t)},sequence_source_destroy:e=>{var t;return null===(t=Rt.get(e))||void 0===t?void 0:t.destroy()},permission_granted_all:fe,permission_granted_camera:ce,permission_granted_motion:le,permission_denied_any:ue,permission_denied_camera:de,permission_denied_motion:he,permission_request_motion:be,permission_request_camera:me,permission_request_all:pe,permission_request_ui:ve,permission_request_ui_promise:ve,permission_denied_ui:ge,browser_incompatible:yt.incompatible,browser_incompatible_ui:yt.incompatible_ui,log_level_set:e=>{!function(e){Ee=e}(e),i.impl.log_level_set(e)},cookies_permitted:e=>{var t;e?n||(t=a,window.localStorage.setItem("z_uar_lid",t),n=!0):window.localStorage.removeItem("z_uar_lid")}}),Yt}const Jt="3.0.1-alpha.10";function $t(e){return function(e){return console.log(`Zappar CV v${Jt}`),qt(e)}(Object.assign(Object.assign({},e),{worker:(null==e?void 0:e.worker)||new(r(276).Z)}))}})(),i})()));