shopar-plugin 0.0.3 → 0.0.4-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/env/studio5.hdr +0 -0
- package/dist/shopar-ipd.js +1 -0
- package/dist/shopar-plugin.esm.js +1 -1
- package/dist/shopar-plugin.js +1 -1
- package/dist/wasm/mediapipe/vision_wasm_internal.js +20 -0
- package/dist/wasm/mediapipe/vision_wasm_internal.wasm +0 -0
- package/dist/wasm/mediapipe/vision_wasm_nosimd_internal.js +20 -0
- package/dist/wasm/mediapipe/vision_wasm_nosimd_internal.wasm +0 -0
- package/package.json +5 -3
- package/dist/env/studio2.hdr +0 -0
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ There are two distinct ways of integrating the plugin: via Script tag and via NP
|
|
|
32
32
|
Add the following script to your HTML.
|
|
33
33
|
|
|
34
34
|
```html
|
|
35
|
-
<script src="https://cdn.jsdelivr.net/npm/shopar-plugin@
|
|
35
|
+
<script src="https://cdn.jsdelivr.net/npm/shopar-plugin@{{VERSION}}/dist/shopar-plugin.js"></script>
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
It is possible to use a different CDN instead of [jsDelivr](https://www.jsdelivr.com/) (e.g. [cdnjs](https://cdnjs.com/), [unpkg](https://www.unpkg.com/)), or even a relative path if the plugin is distributed as a static asset to your app. Just make sure to set the `baseUrl` parameter accordingly (see [setup options](#shoparpluginsetupoptions) for more details).
|
|
@@ -96,7 +96,7 @@ Options used for the plugin setup:
|
|
|
96
96
|
- `baseUrl` (optional)
|
|
97
97
|
- Type: `string`
|
|
98
98
|
- If provided, defines where the additional ShopAR plugin files are fetched from.
|
|
99
|
-
- Default value: `https://cdn.jsdelivr.net/npm/shopar-plugin@
|
|
99
|
+
- Default value: `https://cdn.jsdelivr.net/npm/shopar-plugin@{{VERSION}}/dist`
|
|
100
100
|
|
|
101
101
|
## License
|
|
102
102
|
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ShopAR__IPD={})}(this,(function(t){"use strict";function e(t,e,n,r){return new(n||(n=Promise))((function(s,i){function o(t){try{h(r.next(t))}catch(t){i(t)}}function a(t){try{h(r.throw(t))}catch(t){i(t)}}function h(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}h((r=r.apply(t,e||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;var n=self;function r(){throw Error("Invalid UTF8")}function s(t,e){return e=String.fromCharCode.apply(null,e),null==t?e:t+e}let i,o;const a="undefined"!=typeof TextDecoder;let h;const c="undefined"!=typeof TextEncoder;function u(t){if(c)t=(h||=new TextEncoder).encode(t);else{let n=0;const r=new Uint8Array(3*t.length);for(let s=0;s<t.length;s++){var e=t.charCodeAt(s);if(128>e)r[n++]=e;else{if(2048>e)r[n++]=e>>6|192;else{if(55296<=e&&57343>=e){if(56319>=e&&s<t.length){const i=t.charCodeAt(++s);if(56320<=i&&57343>=i){e=1024*(e-55296)+i-56320+65536,r[n++]=e>>18|240,r[n++]=e>>12&63|128,r[n++]=e>>6&63|128,r[n++]=63&e|128;continue}s--}e=65533}r[n++]=e>>12|224,r[n++]=e>>6&63|128}r[n++]=63&e|128}}t=n===r.length?r:r.subarray(0,n)}return t}var l,f;t:{for(var d=["CLOSURE_FLAGS"],p=n,g=0;g<d.length;g++)if(null==(p=p[d[g]])){f=null;break t}f=p}var m,y=f&&f[610401301];l=null!=y&&y;const v=n.navigator;function _(t){return!!l&&!!m&&m.brands.some((({brand:e})=>e&&-1!=e.indexOf(t)))}function w(t){var e;return(e=n.navigator)&&(e=e.userAgent)||(e=""),-1!=e.indexOf(t)}function A(){return!!l&&!!m&&0<m.brands.length}function b(){return A()?_("Chromium"):(w("Chrome")||w("CriOS"))&&!(!A()&&w("Edge"))||w("Silk")}m=v&&v.userAgentData||null;var E=!A()&&(w("Trident")||w("MSIE"));!w("Android")||b(),b(),w("Safari")&&(b()||!A()&&w("Coast")||!A()&&w("Opera")||!A()&&w("Edge")||(A()?_("Microsoft Edge"):w("Edg/"))||A()&&_("Opera"));var T={},k=null;function x(){if(!k){k={};for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var r=t.concat(e[n].split(""));T[n]=r;for(var s=0;s<r.length;s++){var i=r[s];void 0===k[i]&&(k[i]=s)}}}}var L="undefined"!=typeof Uint8Array,F=!E&&"function"==typeof btoa;function S(t){if(!F){var e;void 0===e&&(e=0),x(),e=T[e];var n=Array(Math.floor(t.length/3)),r=e[64]||"";let h=0,c=0;for(;h<t.length-2;h+=3){var s=t[h],i=t[h+1],o=t[h+2],a=e[s>>2];s=e[(3&s)<<4|i>>4],i=e[(15&i)<<2|o>>6],o=e[63&o],n[c++]=a+s+i+o}switch(a=0,o=r,t.length-h){case 2:o=e[(15&(a=t[h+1]))<<2]||r;case 1:t=t[h],n[c]=e[t>>2]+e[(3&t)<<4|a>>4]+o+r}return n.join("")}for(e="",n=0,r=t.length-10240;n<r;)e+=String.fromCharCode.apply(null,t.subarray(n,n+=10240));return e+=String.fromCharCode.apply(null,n?t.subarray(n):t),btoa(e)}const O=/[-_.]/g,M={"-":"+",_:"/",".":"="};function P(t){return M[t]||""}function R(t){if(!F)return function(t){var e=t.length,n=3*e/4;n%3?n=Math.floor(n):-1!="=.".indexOf(t[e-1])&&(n=-1!="=.".indexOf(t[e-2])?n-2:n-1);var r=new Uint8Array(n),s=0;return function(t,e){function n(e){for(;r<t.length;){var n=t.charAt(r++),s=k[n];if(null!=s)return s;if(!/^[\s\xa0]*$/.test(n))throw Error("Unknown base64 encoding at char: "+n)}return e}x();for(var r=0;;){var s=n(-1),i=n(0),o=n(64),a=n(64);if(64===a&&-1===s)break;e(s<<2|i>>4),64!=o&&(e(i<<4&240|o>>2),64!=a&&e(o<<6&192|a))}}(t,(function(t){r[s++]=t})),s!==n?r.subarray(0,s):r}(t);O.test(t)&&(t=t.replace(O,P)),t=atob(t);const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return e}function C(t){return L&&null!=t&&t instanceof Uint8Array}let I;function D(){return I||=new Uint8Array(0)}var B={};let U;function N(t){if(t!==B)throw Error("illegal external caller")}function G(){return U||=new V(null,B)}function j(t){N(B);var e=t.N;return null==(e=null==e||C(e)?e:"string"==typeof e?R(e):null)?e:t.N=e}var V=class{constructor(t,e){if(N(e),this.N=t,null!=t&&0===t.length)throw Error("ByteString should be constructed with non-empty values")}ha(){const t=j(this);return t?new Uint8Array(t):D()}};function z(t,e){return Error(`Invalid wire type: ${t} (at position ${e})`)}function W(){return Error("Failed to read varint, encoding is invalid.")}function X(t,e){return Error(`Tried to read past the end of the data ${e} > ${t}`)}function H(t){return 0==t.length?G():new V(t,B)}function $(t){if("string"==typeof t)return{buffer:R(t),H:!1};if(Array.isArray(t))return{buffer:new Uint8Array(t),H:!1};if(t.constructor===Uint8Array)return{buffer:t,H:!1};if(t.constructor===ArrayBuffer)return{buffer:new Uint8Array(t),H:!1};if(t.constructor===V)return{buffer:j(t)||D(),H:!0};if(t instanceof Uint8Array)return{buffer:new Uint8Array(t.buffer,t.byteOffset,t.byteLength),H:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}const q="function"==typeof Uint8Array.prototype.slice;let K,Y=0,J=0;function Z(t){const e=0>t;let n=(t=Math.abs(t))>>>0;if(t=Math.floor((t-n)/4294967296),e){const[e,r]=rt(n,t);t=r,n=e}Y=n>>>0,J=t>>>0}function Q(t){const e=K||=new DataView(new ArrayBuffer(8));e.setFloat32(0,+t,!0),J=0,Y=e.getUint32(0,!0)}function tt(t,e){return 4294967296*e+(t>>>0)}function et(t,e){const n=2147483648&e;return n&&(e=~e>>>0,0==(t=1+~t>>>0)&&(e=e+1>>>0)),t=tt(t,e),n?-t:t}function nt(t){if(16>t.length)Z(Number(t));else if("function"==typeof BigInt)t=BigInt(t),Y=Number(t&BigInt(4294967295))>>>0,J=Number(t>>BigInt(32)&BigInt(4294967295));else{const e=+("-"===t[0]);J=Y=0;const n=t.length;for(let r=e,s=(n-e)%6+e;s<=n;r=s,s+=6){const e=Number(t.slice(r,s));J*=1e6,Y=1e6*Y+e,4294967296<=Y&&(J+=Math.trunc(Y/4294967296),J>>>=0,Y>>>=0)}if(e){const[t,e]=rt(Y,J);Y=t,J=e}}}function rt(t,e){return e=~e,t?t=1+~t:e+=1,[t,e]}function st(t,e,{R:n=!1}={}){t.R=n,e&&(e=$(e),t.h=e.buffer,t.s=e.H,t.v=0,t.l=t.h.length,t.g=t.v)}function it(t,e){if(t.g=e,e>t.l)throw X(t.l,e)}function ot(t,e){let n,r=0,s=0,i=0;const o=t.h;let a=t.g;do{n=o[a++],r|=(127&n)<<i,i+=7}while(32>i&&128&n);for(32<i&&(s|=(127&n)>>4),i=3;32>i&&128&n;i+=7)n=o[a++],s|=(127&n)<<i;if(it(t,a),128>n)return e(r>>>0,s>>>0);throw W()}function at(t){let e=0,n=t.g;const r=n+10,s=t.h;for(;n<r;){const r=s[n++];if(e|=r,0==(128&r))return it(t,n),!!(127&e)}throw W()}function ht(t){var e=t.h;const n=t.g,r=e[n],s=e[n+1],i=e[n+2];return e=e[n+3],it(t,t.g+4),(r<<0|s<<8|i<<16|e<<24)>>>0}function ct(t,e){if(0>e)throw Error(`Tried to read a negative byte length: ${e}`);const n=t.g,r=n+e;if(r>t.l)throw X(e,t.l-n);return t.g=r,n}function ut(t,e){if(0==e)return G();var n=ct(t,e);return t.R&&t.s?n=t.h.subarray(n,n+e):(t=t.h,n=n===(e=n+e)?D():q?t.slice(n,e):new Uint8Array(t.subarray(n,e))),H(n)}var lt=class{constructor(t,e){this.h=null,this.s=!1,this.g=this.l=this.v=0,st(this,t,e)}m(){const t=this.h;let e=this.g,n=t[e++],r=127&n;if(128&n&&(n=t[e++],r|=(127&n)<<7,128&n&&(n=t[e++],r|=(127&n)<<14,128&n&&(n=t[e++],r|=(127&n)<<21,128&n&&(n=t[e++],r|=n<<28,128&n&&128&t[e++]&&128&t[e++]&&128&t[e++]&&128&t[e++]&&128&t[e++])))))throw W();return it(this,e),r}j(){return this.m()>>>0}A(){var t=ht(this);const e=2*(t>>31)+1,n=t>>>23&255;return t&=8388607,255==n?t?NaN:1/0*e:0==n?e*Math.pow(2,-149)*t:e*Math.pow(2,n-150)*(t+Math.pow(2,23))}C(){return this.m()}},ft=[];function dt(t){var e=t.g;if(e.g==e.l)return!1;t.l=t.g.g;var n=t.g.j();if(e=n>>>3,!(0<=(n&=7)&&5>=n))throw z(n,t.l);if(1>e)throw Error(`Invalid field number: ${e} (at position ${t.l})`);return t.m=e,t.h=n,!0}function pt(t){switch(t.h){case 0:0!=t.h?pt(t):at(t.g);break;case 1:it(t=t.g,t.g+8);break;case 2:if(2!=t.h)pt(t);else{var e=t.g.j();it(t=t.g,t.g+e)}break;case 5:it(t=t.g,t.g+4);break;case 3:for(e=t.m;;){if(!dt(t))throw Error("Unmatched start-group tag: stream EOF");if(4==t.h){if(t.m!=e)throw Error("Unmatched end-group tag");break}pt(t)}break;default:throw z(t.h,t.l)}}function gt(t,e,n){const r=t.g.l,s=t.g.j(),i=t.g.g+s;let o=i-r;if(0>=o&&(t.g.l=i,n(e,t,void 0,void 0,void 0),o=i-t.g.g),o)throw Error(`Message parsing ended unexpectedly. Expected to read ${s} bytes, instead read ${s-o} bytes, either the data ended unexpectedly or the message misreported its own length`);return t.g.g=i,t.g.l=r,e}function mt(t){var e=t.g.j(),n=ct(t=t.g,e);if(t=t.h,a){var h,c=t;(h=o)||(h=o=new TextDecoder("utf-8",{fatal:!0})),t=n+e,c=0===n&&t===c.length?c:c.subarray(n,t);try{var u=h.decode(c)}catch(t){if(void 0===i){try{h.decode(new Uint8Array([128]))}catch(t){}try{h.decode(new Uint8Array([97])),i=!0}catch(t){i=!1}}throw!i&&(o=void 0),t}}else{e=(u=n)+e,n=[];let i,o=null;for(;u<e;){var l=t[u++];128>l?n.push(l):224>l?u>=e?r():(i=t[u++],194>l||128!=(192&i)?(u--,r()):n.push((31&l)<<6|63&i)):240>l?u>=e-1?r():(i=t[u++],128!=(192&i)||224===l&&160>i||237===l&&160<=i||128!=(192&(c=t[u++]))?(u--,r()):n.push((15&l)<<12|(63&i)<<6|63&c)):244>=l?u>=e-2?r():(i=t[u++],128!=(192&i)||0!=i-144+(l<<28)>>30||128!=(192&(c=t[u++]))||128!=(192&(h=t[u++]))?(u--,r()):(l=(7&l)<<18|(63&i)<<12|(63&c)<<6|63&h,l-=65536,n.push(55296+(l>>10&1023),56320+(1023&l)))):r(),8192<=n.length&&(o=s(o,n),n.length=0)}u=s(o,n)}return u}function yt(t){const e=t.g.j();return ut(t.g,e)}function vt(t,e,n){var r=t.g.j();for(r=t.g.g+r;t.g.g<r;)n.push(e.call(t.g))}var _t=[];function wt(t){return t?/^\d+$/.test(t)?(nt(t),new At(Y,J)):null:bt||=new At(0,0)}var At=class{constructor(t,e){this.h=t>>>0,this.g=e>>>0}};let bt;function Et(t){return t?/^-?\d+$/.test(t)?(nt(t),new Tt(Y,J)):null:kt||=new Tt(0,0)}var Tt=class{constructor(t,e){this.h=t>>>0,this.g=e>>>0}};let kt;function xt(t,e,n){for(;0<n||127<e;)t.g.push(127&e|128),e=(e>>>7|n<<25)>>>0,n>>>=7;t.g.push(e)}function Lt(t,e){for(;127<e;)t.g.push(127&e|128),e>>>=7;t.g.push(e)}function Ft(t,e){if(0<=e)Lt(t,e);else{for(let n=0;9>n;n++)t.g.push(127&e|128),e>>=7;t.g.push(1)}}function St(t,e){t.g.push(e>>>0&255),t.g.push(e>>>8&255),t.g.push(e>>>16&255),t.g.push(e>>>24&255)}function Ot(t,e){0!==e.length&&(t.l.push(e),t.h+=e.length)}function Mt(t,e,n){Lt(t.g,8*e+n)}function Pt(t,e){return Mt(t,e,2),e=t.g.end(),Ot(t,e),e.push(t.h),e}function Rt(t,e){var n=e.pop();for(n=t.h+t.g.length()-n;127<n;)e.push(127&n|128),n>>>=7,t.h++;e.push(n),t.h++}function Ct(t,e,n){Mt(t,e,2),Lt(t.g,n.length),Ot(t,t.g.end()),Ot(t,n)}function It(t,e,n,r){null!=n&&(e=Pt(t,e),r(n,t),Rt(t,e))}class Dt{constructor(t,e,n){this.g=t,this.h=e,this.l=n}}function Bt(t){return Array.prototype.slice.call(t)}const Ut="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():void 0;var Nt=Ut?(t,e)=>{t[Ut]|=e}:(t,e)=>{void 0!==t.D?t.D|=e:Object.defineProperties(t,{D:{value:e,configurable:!0,writable:!0,enumerable:!1}})};function Gt(t){const e=Vt(t);1!=(1&e)&&(Object.isFrozen(t)&&(t=Bt(t)),Wt(t,1|e))}var jt=Ut?(t,e)=>{t[Ut]&=~e}:(t,e)=>{void 0!==t.D&&(t.D&=~e)},Vt=Ut?t=>0|t[Ut]:t=>0|t.D,zt=Ut?t=>t[Ut]:t=>t.D,Wt=Ut?(t,e)=>{t[Ut]=e}:(t,e)=>{void 0!==t.D?t.D=e:Object.defineProperties(t,{D:{value:e,configurable:!0,writable:!0,enumerable:!1}})};function Xt(){var t=[];return Nt(t,1),t}function Ht(t){return Nt(t,34),t}function $t(t,e){Wt(e,-255&(0|t))}function qt(t,e){Wt(e,-221&(34|t))}function Kt(t){return 0==(t=t>>11&1023)?536870912:t}var Yt,Jt={};function Zt(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&t.constructor===Object}function Qt(t,e,n){if(null!=t)if("string"==typeof t)t=t?new V(t,B):G();else if(t.constructor!==V)if(C(t))t=n?H(t):t.length?new V(new Uint8Array(t),B):G();else{if(!e)throw Error();t=void 0}return t}const te=[];function ee(t){if(2&t)throw Error()}Wt(te,55),Yt=Object.freeze(te);class ne{constructor(t,e,n){this.l=0,this.g=t,this.h=e,this.m=n}next(){if(this.l<this.g.length){const t=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,t):t}}return{done:!0,value:void 0}}[Symbol.iterator](){return new ne(this.g,this.h,this.m)}}var re={};let se,ie;function oe(t,e){(e=se?e[se]:void 0)&&(t[se]=Bt(e))}function ae(t,e){t.__closure__error__context__984382||(t.__closure__error__context__984382={}),t.__closure__error__context__984382.severity=e}function he(t){return null==t?t:"number"==typeof t||"NaN"===t||"Infinity"===t||"-Infinity"===t?Number(t):void 0}function ce(t){return null==t?t:"boolean"==typeof t||"number"==typeof t?!!t:void 0}function ue(t){return"number"==typeof t&&Number.isFinite(t)||!!t&&"string"==typeof t&&isFinite(t)}function le(t){if(null==t)return t;if("string"==typeof t){if(!t)return;t=+t}return"number"==typeof t?t:void 0}function fe(t){if(null==t)return t;if("string"==typeof t){if(!t)return;t=+t}return"number"==typeof t?t:void 0}function de(t){if("string"!=typeof t)throw Error();return t}function pe(t){if(null!=t&&"string"!=typeof t)throw Error();return t}function ge(t){return null==t||"string"==typeof t?t:void 0}function me(t,e,n,r){var s=!1;return null==t||"object"!=typeof t||(s=Array.isArray(t))||t.M!==Jt?s?(0===(s=n=Vt(t))&&(s|=32&r),(s|=2&r)!==n&&Wt(t,s),new e(t)):(n?2&r?(t=e[ye])?e=t:(Ht((t=new e).u),e=e[ye]=t):e=new e:e=void 0,e):t}const ye="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():"di";function ve(t){return t}function _e(t,e,n){return"string"==typeof(t="number"==(e=typeof t)||"string"===e?t:n?0:void 0)&&(n=+t,Number.isSafeInteger(n))?n:t}let we,Ae,be;function Ee(t){switch(typeof t){case"boolean":return Ae||=[0,void 0,!0];case"number":return 0<t?void 0:0===t?be||=[0,void 0]:[-t,void 0];case"string":return[0,t];case"object":return t}}function Te(t,e){return ke(t,e[0],e[1])}function ke(t,e,n){if(null==t&&(t=we),we=void 0,null==t){var r=96;n?(t=[n],r|=512):t=[],e&&(r=-2095105&r|(1023&e)<<11)}else{if(!Array.isArray(t))throw Error();if(64&(r=Vt(t)))return ie&&delete t[ie],t;if(r|=64,n&&(r|=512,n!==t[0]))throw Error();t:{var s=(n=t).length;if(s){const t=s-1;var i=n[t];if(Zt(i)){1024<=(s=t-(e=+!!(512&(r|=256))-1))&&(xe(n,e,i),s=1023),r=-2095105&r|(1023&s)<<11;break t}}e&&(i=+!!(512&r)-1,1024<(e=Math.max(e,s-i))&&(xe(n,i,{}),r|=256,e=1023),r=-2095105&r|(1023&e)<<11)}}return Wt(t,r),t}function xe(t,e,n){const r=1023+e,s=t.length;for(let i=r;i<s;i++){const r=t[i];null!=r&&r!==n&&(n[i-e]=r)}t.length=r+1,t[r]=n}function Le(t){if(2&t.g)throw Error("Cannot mutate an immutable Map")}var Fe=class extends Map{constructor(t,e,n=ve,r=ve){super();let s=Vt(t);s|=64,Wt(t,s),this.g=s,this.l=e,this.h=n||ve,this.j=this.l?Se:r||ve;for(let i=0;i<t.length;i++){const o=t[i],a=n(o[0],!1,!0);let h=o[1];e?void 0===h&&(h=null):h=r(o[1],!1,!0,void 0,void 0,s),super.set(a,h)}}s(t=Oe){return this.m(t)}m(t=Oe){const e=[],n=super.entries();for(var r;!(r=n.next()).done;)(r=r.value)[0]=t(r[0]),r[1]=t(r[1]),e.push(r);return e}clear(){Le(this),super.clear()}delete(t){return Le(this),super.delete(this.h(t,!0,!1))}entries(){var t=this.A();return new ne(t,Me,this)}keys(){return this.C()}values(){var t=this.A();return new ne(t,Fe.prototype.get,this)}forEach(t,e){super.forEach(((n,r)=>{t.call(e,this.get(r),r,this)}))}set(t,e){return Le(this),null==(t=this.h(t,!0,!1))?this:null==e?(super.delete(t),this):super.set(t,this.j(e,!0,!0,this.l,!1,this.g))}I(t){const e=this.h(t[0],!1,!0);t=t[1],t=this.l?void 0===t?null:t:this.j(t,!1,!0,void 0,!1,this.g),super.set(e,t)}has(t){return super.has(this.h(t,!1,!1))}get(t){t=this.h(t,!1,!1);const e=super.get(t);if(void 0!==e){var n=this.l;return n?((n=this.j(e,!1,!0,n,this.v,this.g))!==e&&super.set(t,n),n):e}}A(){return Array.from(super.keys())}C(){return super.keys()}[Symbol.iterator](){return this.entries()}};function Se(t,e,n,r,s,i){return t=me(t,r,n,i),s&&(t=Ne(t)),t}function Oe(t){return t}function Me(t){return[t,this.get(t)]}function Pe(t,e,n,r,s,i){if(null!=t){if(Array.isArray(t))t=s&&0==t.length&&1&Vt(t)?void 0:i&&2&Vt(t)?t:Re(t,e,n,void 0!==r,s,i);else if(Zt(t)){const o={};for(let a in t)o[a]=Pe(t[a],e,n,r,s,i);t=o}else t=e(t,r);return t}}function Re(t,e,n,r,s,i){const o=r||n?Vt(t):0;r=r?!!(32&o):void 0;const a=Bt(t);for(let t=0;t<a.length;t++)a[t]=Pe(a[t],e,n,r,s,i);return n&&(oe(a,t),n(o,a)),a}function Ce(t){return Pe(t,Ie,void 0,void 0,!1,!1)}function Ie(t){return t.M===Jt?t.toJSON():t instanceof Fe?t.s(Ce):function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"boolean":return t?1:0;case"object":if(t&&!Array.isArray(t)){if(C(t))return S(t);if(t instanceof V){const e=t.N;return null==e?"":"string"==typeof e?e:t.N=S(e)}if(t instanceof Fe)return t.s()}}return t}(t)}function De(t,e,n=qt){if(null!=t){if(L&&t instanceof Uint8Array)return e?t:new Uint8Array(t);if(Array.isArray(t)){var r=Vt(t);return 2&r?t:(e&&=0===r||!!(32&r)&&!(64&r||!(16&r)),e?(Wt(t,34|r),4&r&&Object.freeze(t),t):Re(t,De,4&r?qt:n,!0,!1,!0))}return t.M===Jt?(n=t.u,t=2&(r=zt(n))?t:Be(t,n,r,!0)):t instanceof Fe&&(n=Ht(t.m(De)),t=new Fe(n,t.l,t.h,t.j)),t}}function Be(t,e,n,r){return t=t.constructor,we=e=Ue(e,n,r),e=new t(e),we=void 0,e}function Ue(t,e,n){const r=n||2&e?qt:$t,s=!!(32&e);return t=function(t,e,n){const r=Bt(t);var s=r.length;const i=256&e?r[s-1]:void 0;for(s+=i?-1:0,e=512&e?1:0;e<s;e++)r[e]=n(r[e]);if(i){e=r[e]={};for(const t in i)e[t]=n(i[t])}return oe(r,t),r}(t,e,(t=>De(t,s,r))),Nt(t,32|(n?2:0)),t}function Ne(t){const e=t.u,n=zt(e);return 2&n?Be(t,e,n,!1):t}function Ge(t,e){return je(t=t.u,zt(t),e)}function je(t,e,n,r){if(-1===n)return null;if(n>=Kt(e)){if(256&e)return t[t.length-1][n]}else{var s=t.length;if(r&&256&e&&null!=(r=t[s-1][n]))return r;if((e=n+(+!!(512&e)-1))<s)return t[e]}}function Ve(t,e,n,r){const s=t.u,i=zt(s);return ee(i),ze(s,i,e,n,r),t}function ze(t,e,n,r,s){var i=Kt(e);if(n>=i||s){if(s=e,256&e)i=t[t.length-1];else{if(null==r)return;i=t[i+(+!!(512&e)-1)]={},s|=256}i[n]=r,s!==e&&Wt(t,s)}else t[n+(+!!(512&e)-1)]=r,256&e&&n in(t=t[t.length-1])&&delete t[n]}function We(t,e,n,r,s){var i=2&e;let o=je(t,e,n,s);Array.isArray(o)||(o=Yt);const a=!(2&r),h=!(1&r);r=!!(32&e);let c=Vt(o);return 0!==c||!r||i||a?1&c||(c|=1,Wt(o,c)):(c|=33,Wt(o,c)),i?(2&c||Ht(o),h&&Object.freeze(o)):(i=2&c,h&&i?(o=Bt(o),i=1,r&&!a&&(i|=32),Wt(o,i),ze(t,e,n,o,s)):a&&32&c&&!i&&jt(o,32)),o}function Xe(t,e){t=t.u;const n=zt(t),r=je(t,n,e),s=he(r);return null!=s&&s!==r&&ze(t,n,e,s),s}function He(t){t=t.u;const e=zt(t),n=je(t,e,1),r=Qt(n,!0,!!(34&e));return null!=r&&r!==n&&ze(t,e,1,r),r}function $e(t,e,n){t=t.u;const r=zt(t),s=2&r;let i=We(t,r,e,1),o=Vt(i);if(!(4&o)){Object.isFrozen(i)&&(i=Bt(i),Wt(i,o=-3&o|32),ze(t,r,e,i));let a=0,h=0;for(;a<i.length;a++){const t=n(i[a]);null!=t&&(i[h++]=t)}h<a&&(i.length=h),o|=21,s?o|=34:o&=-33,Wt(i,o),2&o&&Object.freeze(i)}return!s&&(2&o||Object.isFrozen(i))&&(i=Bt(i),Wt(i,-35&o),ze(t,r,e,i)),i}let qe;function Ke(){return qe??=new Fe(Ht([]),void 0,void 0,void 0,re)}function Ye(t){t=Bt(t);for(let e=0;e<t.length;e++){const n=t[e]=Bt(t[e]);Array.isArray(n[1])&&(n[1]=Ht(n[1]))}return t}function Je(t,e,n){{t=t.u;const r=zt(t);if(ee(r),null==n)ze(t,r,e);else{if(!(4&Vt(n))){Object.isFrozen(n)&&(n=Bt(n));for(let t=0;t<n.length;t++)n[t]=de(n[t]);Wt(n,5)}ze(t,r,e,n)}}}function Ze(t,e){return Qe(t=t.u,zt(t),zs)===e?e:-1}function Qe(t,e,n){let r=0;for(let s=0;s<n.length;s++){const i=n[s];null!=je(t,e,i)&&(0!==r&&ze(t,e,r),r=i)}return r}function tn(t,e,n,r){const s=zt(t);ee(s);const i=je(t,s,n,r);let o;if(null!=i&&i.M===Jt)return(e=Ne(i))!==i&&ze(t,s,n,e,r),e.u;if(Array.isArray(i)){const t=Vt(i);o=2&t?Ue(i,t,!1):i,o=Te(o,e)}else o=Te(void 0,e);return o!==i&&ze(t,s,n,o,r),o}function en(t,e,n,r){t=t.u;const s=zt(t),i=je(t,s,n,r);return(e=me(i,e,!1,s))!==i&&null!=e&&ze(t,s,n,e,r),e}function nn(t,e,n,r=!1){if(null==(e=en(t,e,n,r)))return e;t=t.u;const s=zt(t);if(!(2&s)){const i=Ne(e);i!==e&&ze(t,s,n,e=i,r)}return e}function rn(t,e,n,r,s){var i=!!(2&e),o=We(t,e,r,1),a=o===Yt;if(a&&2!==s)return o;if(a||!(4&Vt(o))){var h=o;o=!!(2&e),a=!!(2&Vt(h)),i=h,!o&&a&&(h=Bt(h));var c=e|((a=a||void 0)?2:0),u=a;a=!1;let l=0,f=0;for(;l<h.length;l++){const t=me(h[l],n,!1,c);if(null==t)continue;const e=!!(2&Vt(t.u));u=u||e,a=a||!e,h[f++]=t}return f<l&&(h.length=f),c=5|(h=Vt(n=h)),u=u?-9&c:8|c,h!=(u=a?-17&u:16|u)&&(Object.isFrozen(n)&&(n=Bt(n)),Wt(n,u)),i!==(h=n)&&ze(t,e,r,h),(o&&2!==s||1===s)&&Object.freeze(h),h}return 3===s||(i?2===s&&(s=Vt(o),o=Bt(o),Wt(o,s),ze(t,e,r,o)):(i=Object.isFrozen(o),1===s?i||Object.freeze(o):(n=-33&(s=Vt(o)),i||2&s?(o=Bt(o),Wt(o,-3&n),ze(t,e,r,o)):s!==n&&Wt(o,n)))),o}function sn(t,e,n){var r=t.u;const s=zt(r);if(e=rn(r,s,e,n,(t=!!(2&s))?1:2),!(t||8&Vt(e))){for(n=0;n<e.length;n++)(t=e[n])!==(r=Ne(t))&&(e[n]=r);Nt(e,8)}return e}function on(t,e,n,r,s){return null==r&&(r=void 0),Ve(t,n,r,s)}function an(t,e,n,r){null==r&&(r=void 0),t=t.u;const s=zt(t);ee(s),(n=Qe(t,s,n))&&n!==e&&null!=r&&ze(t,s,n),ze(t,s,e,r)}function hn(t,e,n){t=t.u;const r=zt(t);ee(r),t=rn(t,r,e,1,2),e=null!=n?n:new e,t.push(e),2&Vt(e.u)?jt(t,8):jt(t,16)}function cn(t,e){return le(Ge(t,e))}function un(t){return null==(t=Ge(t,2))||ue(t)?t:void 0}function ln(t,e){return ge(Ge(t,e))}function fn(t){return t??0}function dn(t,e){return fn(Xe(t,e))}function pn(t,e,n){if(null!=n){if("boolean"!=typeof n)throw t=typeof n,Error(`Expected boolean but got ${"object"!=t?t:n?Array.isArray(n)?"array":t:"null"}: ${n}`);n=!!n}Ve(t,e,n)}function gn(t,e,r){if(null!=r){if("number"!=typeof r)throw ae(t=Error(),"warning"),t;if(!Number.isFinite(r)){const t=Error();ae(t,"incident"),function(t){n.setTimeout((()=>{throw t}),0)}(t)}}Ve(t,e,r)}function mn(t,e,n){if(null!=n&&"number"!=typeof n)throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);Ve(t,e,n)}function yn(t,e,n){n=de(n),t=t.u;const r=zt(t);ee(r),We(t,r,e,2).push(n)}function vn(t,e,n){e.g?e.m(t,e.g,e.h,n,!0):e.m(t,e.h,n,!0)}Fe.prototype.toJSON=void 0;var _n=class{constructor(t,e){this.u=ke(t,e)}toJSON(){return wn(this,Re(this.u,Ie,void 0,void 0,!1,!1),!0)}l(){var t=Ni;return t.g?t.l(this,t.g,t.h,!0):t.l(this,t.h,t.defaultValue,!0)}clone(){const t=this.u;return Be(this,t,zt(t),!1)}H(){return!!(2&Vt(this.u))}};function wn(t,e,n){var r=t.constructor.B,s=Kt(zt(n?t.u:e)),i=!1;if(r){if(!n){var o;if((e=Bt(e)).length&&Zt(o=e[e.length-1]))for(i=0;i<r.length;i++)if(r[i]>=s){Object.assign(e[e.length-1]={},o);break}i=!0}var a;s=e,n=!n,t=Kt(o=zt(t.u)),o=+!!(512&o)-1;for(let e=0;e<r.length;e++){var h=r[e];if(h<t){var c=s[h+=o];null==c?s[h]=n?Yt:Xt():n&&c!==Yt&&Gt(c)}else{if(!a){var u=void 0;s.length&&Zt(u=s[s.length-1])?a=u:s.push(a={})}c=a[h],null==a[h]?a[h]=n?Yt:Xt():n&&c!==Yt&&Gt(c)}}}if(!(r=e.length))return e;let l,f;if(Zt(a=e[r-1])){t:{var d=a;u={},s=!1;for(let t in d)n=d[t],Array.isArray(n)&&n!=n&&(s=!0),null!=n?u[t]=n:s=!0;if(s){for(let t in u){d=u;break t}d=null}}d!=a&&(l=!0),r--}for(;0<r&&null==(a=e[r-1]);r--)f=!0;return l||f?(e=i?e:Array.prototype.slice.call(e,0,r),i&&(e.length=r),d&&e.push(d),e):e}function An(t){return{ca:mr,U:t}}function bn(t,e){if(Array.isArray(e)){var n=Vt(e);if(4&n)return e;for(var r=0,s=0;r<e.length;r++){const n=t(e[r]);null!=n&&(e[s++]=n)}return s<r&&(e.length=s),Wt(e,5|n),2&n&&Object.freeze(e),e}}_n.prototype.M=Jt,_n.prototype.toString=function(){return wn(this,this.u,!1).toString()};const En=Symbol();function Tn(t){let e=t[En];if(!e){const n=On(t),r=jn(t),s=r.h;e=s?(t,e)=>s(t,e,r):(t,e)=>{for(;dt(e)&&4!=e.h;){var s=e.m,i=r[s];if(!i){var o=r.g;o&&(o=o[s])&&(i=r[s]=kn(o))}i&&i(e,t,s)||(s=(i=e).l,pt(i),i.aa?i=void 0:(o=i.g.g-s,i.g.g=s,i=ut(i.g,o)),s=t,i&&(se||=Symbol(),(o=s[se])?o.push(i):s[se]=[i]))}for(const e in n){t[ie||=Symbol()]=n;break}},t[En]=e}return e}function kn(t){const e=function(t){if(t=t.U)return Tn(t)}(t),n=t.ca.g;if(e){const r=jn(t.U).L;return(t,s,i)=>n(t,s,i,r,e)}return(t,e,r)=>n(t,e,r)}const xn=Symbol();function Ln(t,e,n,r){let s;if(r){const e=r[xn];s=e?e.L:Ee(r[0]),n[t]=e??r}s&&s===Ae?((e=n.xa)||(n.xa=e=[]),e.push(t)):e.l&&((e=n.Ba)||(n.Ba=e=[]),e.push(t))}function Fn(t,e,n,r){Ln(t,e,r)}function Sn(t,e,n,r,s){Ln(t,e,s,n)}function On(t){let e=t[xn];return e||(e=t[xn]={},Mn(t,e,Fn,Sn,e))}function Mn(t,e,n,r,s){e.L=Ee(t[0]);let i=1;if(t.length>i&&!(t[i]instanceof Dt)){var o=t[i++];if(Array.isArray(o))return e.h=o[0],e.g=o[1],e;e.g=o}for(o=0;i<t.length;){var a=t[i++],h=t[i];for("number"==typeof h?(i++,o+=h):o++,h=i;h<t.length&&!(t[h]instanceof Dt);)h++;if(h-=i){var c=t,u=i,l=c[u];if("function"==typeof l&&(l=l(),c[u]=l),(c=Array.isArray(l))&&!(c=Un in l||Cn in l)&&(c=0<l.length)){const t=Ee(u=(c=l)[0]);null!=t&&t!==u&&(c[0]=t),c=null!=t}(l=c?l:void 0)?(i++,1===h?void 0!==(a=r(o,a,l,void 0,s))&&(e[o]=a):void 0!==(a=r(o,a,l,t[i++],s))&&(e[o]=a)):void 0!==(a=n(o,a,t[i++],s))&&(e[o]=a)}else void 0!==(a=n(o,a,void 0,s))&&(e[o]=a)}return e}const Pn=Symbol();function Rn(t){let e=t[Pn];if(!e){const n=Bn(t);e=(t,e)=>zn(t,e,n),t[Pn]=e}return e}const Cn=Symbol();function In(t,e){return e.h}function Dn(t,e,n){let r,s;const i=e.h;return(t,e,o)=>i(t,e,o,s||=Bn(n).L,r||=Rn(n))}function Bn(t){let e=t[Cn];return e||(e=Mn(t,t[Cn]={},In,Dn),Un in t&&Cn in t&&(t.length=0),e)}const Un=Symbol();function Nn(t,e,n){const r=e.g;return n?(t,e,s)=>r(t,e,s,n):r}function Gn(t,e,n,r){const s=e.g;let i,o;return(t,e,a)=>s(t,e,a,o||=jn(n).L,i||=Tn(n),r)}function jn(t){let e=t[Un];return e||(On(t),e=Mn(t,t[Un]={},Nn,Gn),Un in t&&Cn in t&&(t.length=0),e)}function Vn(t,e){var n=t[e];if(n)return n;if((n=t.g)&&(n=n[e])){var r=n.U,s=n.ca.h;if(r){const t=Rn(r),e=Bn(r).L;n=(n,r,i)=>s(n,r,i,e,t)}else n=s;return t[e]=n}}function zn(t,e,n){for(var r=zt(t),s=+!!(512&r)-1,i=t.length,o=512&r?1:0,a=i+(256&r?-1:0);o<a;o++){const r=t[o];if(null==r)continue;const i=o-s,a=Vn(n,i);a&&a(e,r,i)}if(256&r){r=t[i-1];for(let t in r)s=+t,Number.isNaN(s)||null!=(i=r[t])&&(a=Vn(n,s))&&a(e,i,s)}if(t=se?t[se]:void 0)for(Ot(e,e.g.end()),n=0;n<t.length;n++)Ot(e,j(t[n])||D())}function Wn(t,e){return new Dt(t,e,!1)}function Xn(t,e){return new Dt(t,e,!0)}function Hn(t,e,n){ze(t,zt(t),e,n)}var $n=Wn((function(t,e,n,r,s){return 2===t.h&&(t=gt(t,Te([void 0,void 0],r),s),ee(r=zt(e)),(s=je(e,r,n))instanceof Fe?0!=(2&s.g)?((s=s.m()).push(t),ze(e,r,n,s)):s.I(t):Array.isArray(s)?(2&Vt(s)&&ze(e,r,n,s=Ye(s)),s.push(t)):ze(e,r,n,[t]),!0)}),(function(t,e,n,r,s){if(e instanceof Fe)e.forEach(((e,i)=>{It(t,n,Te([i,e],r),s)}));else if(Array.isArray(e))for(let i=0;i<e.length;i++){const o=e[i];Array.isArray(o)&&It(t,n,Te(o,r),s)}}));function qn(t,e,n){t:if(null!=e){if(ue(e)){if("string"==typeof e)break t;if("number"==typeof e)break t}e=void 0}null!=e&&("string"==typeof e&&Et(e),null!=e&&(Mt(t,n,0),"number"==typeof e?(t=t.g,Z(e),xt(t,Y,J)):(n=Et(e),xt(t.g,n.h,n.g))))}function Kn(t,e,n){null!=(e=le(e))&&null!=e&&(Mt(t,n,0),Ft(t.g,e))}function Yn(t,e,n){null!=(e=ce(e))&&(Mt(t,n,0),t.g.g.push(e?1:0))}function Jn(t,e,n){null!=(e=ge(e))&&Ct(t,n,u(e))}function Zn(t,e,n,r,s){It(t,n,e instanceof _n?e.u:Array.isArray(e)?Te(e,r):void 0,s)}function Qn(t,e,n){null!=(e=null==e||"string"==typeof e||C(e)||e instanceof V?e:void 0)&&Ct(t,n,$(e).buffer)}function tr(t,e,n){return(5===t.h||2===t.h)&&(e=We(e,zt(e),n,2,!1),2==t.h?vt(t,lt.prototype.A,e):e.push(t.g.A()),!0)}var er=Wn((function(t,e,n){if(1!==t.h)return!1;var r=t.g;t=ht(r);const s=ht(r);r=2*(s>>31)+1;const i=s>>>20&2047;return t=4294967296*(1048575&s)+t,Hn(e,n,2047==i?t?NaN:1/0*r:0==i?r*Math.pow(2,-1074)*t:r*Math.pow(2,i-1075)*(t+4503599627370496)),!0}),(function(t,e,n){null!=(e=he(e))&&(Mt(t,n,1),t=t.g,(n=K||=new DataView(new ArrayBuffer(8))).setFloat64(0,+e,!0),Y=n.getUint32(0,!0),J=n.getUint32(4,!0),St(t,Y),St(t,J))})),nr=Wn((function(t,e,n){return 5===t.h&&(Hn(e,n,t.g.A()),!0)}),(function(t,e,n){null!=(e=he(e))&&(Mt(t,n,5),t=t.g,Q(e),St(t,Y))})),rr=Xn(tr,(function(t,e,n){if(null!=(e=bn(he,e)))for(let i=0;i<e.length;i++){var r=t,s=e[i];null!=s&&(Mt(r,n,5),r=r.g,Q(s),St(r,Y))}})),sr=Xn(tr,(function(t,e,n){if(null!=(e=bn(he,e))&&e.length){Mt(t,n,2),Lt(t.g,4*e.length);for(let r=0;r<e.length;r++)n=t.g,Q(e[r]),St(n,Y)}})),ir=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,ot(t.g,et)),!0)}),qn),or=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,0===(t=ot(t.g,et))?void 0:t),!0)}),qn),ar=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,ot(t.g,tt)),!0)}),(function(t,e,n){t:if(null!=e){if(ue(e)){if("string"==typeof e)break t;if("number"==typeof e)break t}e=void 0}null!=e&&("string"==typeof e&&wt(e),null!=e&&(Mt(t,n,0),"number"==typeof e?(t=t.g,Z(e),xt(t,Y,J)):(n=wt(e),xt(t.g,n.h,n.g))))})),hr=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,t.g.m()),!0)}),Kn),cr=Xn((function(t,e,n){return(0===t.h||2===t.h)&&(e=We(e,zt(e),n,2,!1),2==t.h?vt(t,lt.prototype.m,e):e.push(t.g.m()),!0)}),(function(t,e,n){if(null!=(e=bn(le,e))&&e.length){n=Pt(t,n);for(let n=0;n<e.length;n++)Ft(t.g,e[n]);Rt(t,n)}})),ur=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,0===(t=t.g.m())?void 0:t),!0)}),Kn),lr=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,at(t.g)),!0)}),Yn),fr=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,!1===(t=at(t.g))?void 0:t),!0)}),Yn),dr=Xn((function(t,e,n){if(2!==t.h)return!1;t=mt(t);const r=zt(e);return ee(r),We(e,r,n,2).push(t),!0}),(function(t,e,n){if(null!=(e=bn(ge,e)))for(let s=0;s<e.length;s++){var r=e[s];null!=r&&Ct(t,n,u(r))}})),pr=Wn((function(t,e,n){return 2===t.h&&(Hn(e,n,""===(t=mt(t))?void 0:t),!0)}),Jn),gr=Wn((function(t,e,n){return 2===t.h&&(Hn(e,n,mt(t)),!0)}),Jn),mr=Wn((function(t,e,n,r,s){return 2===t.h&&(gt(t,tn(e,r,n,!0),s),!0)}),Zn),yr=Wn((function(t,e,n,r,s){return 2===t.h&&(gt(t,tn(e,r,n),s),!0)}),Zn),vr=Xn((function(t,e,n,r,s){if(2!==t.h)return!1;r=Te(void 0,r);const i=zt(e);ee(i);let o=We(e,i,n,3);return(Object.isFrozen(o)||4&Vt(o))&&(o=Bt(o),ze(e,i,n,o)),o.push(r),gt(t,r,s),!0}),(function(t,e,n,r,s){if(Array.isArray(e))for(let i=0;i<e.length;i++)Zn(t,e[i],n,r,s)})),_r=Wn((function(t,e,n,r,s,i){if(2!==t.h)return!1;const o=zt(e);return ee(o),(i=Qe(e,o,i))&&n!==i&&ze(e,o,i),gt(t,e=tn(e,r,n),s),!0}),Zn),wr=Wn((function(t,e,n){return 2===t.h&&(Hn(e,n,yt(t)),!0)}),Qn),Ar=Xn((function(t,e,n){return(0===t.h||2===t.h)&&(e=We(e,zt(e),n,2,!1),2==t.h?vt(t,lt.prototype.j,e):e.push(t.g.j()),!0)}),(function(t,e,n){if(null!=(e=bn(fe,e)))for(let i=0;i<e.length;i++){var r=t,s=e[i];null!=s&&(Mt(r,n,0),Lt(r.g,s))}})),br=Wn((function(t,e,n){return 0===t.h&&(Hn(e,n,t.g.m()),!0)}),(function(t,e,n){null!=(e=le(e))&&(e=parseInt(e,10),Mt(t,n,0),Ft(t.g,e))})),Er=Xn((function(t,e,n){return(0===t.h||2===t.h)&&(e=We(e,zt(e),n,2,!1),2==t.h?vt(t,lt.prototype.C,e):e.push(t.g.m()),!0)}),(function(t,e,n){if(null!=(e=bn(le,e))&&e.length){n=Pt(t,n);for(let n=0;n<e.length;n++)Ft(t.g,e[n]);Rt(t,n)}}));class Tr{constructor(t,e){this.h=t,this.g=e,this.l=nn,this.m=on,this.defaultValue=void 0}}function kr(t,e){return new Tr(t,e)}function xr(t,e){return(n,r)=>{t:{if(_t.length){const t=_t.pop();t.o(r),st(t.g,n,r),n=t}else n=new class{constructor(t,e){if(ft.length){const n=ft.pop();st(n,t,e),t=n}else t=new lt(t,e);this.g=t,this.l=this.g.g,this.h=this.m=-1,this.o(e)}o({aa:t=!1}={}){this.aa=t}}(n,r);try{var s=new t;const r=s.u;Tn(e)(r,n),ie&&delete r[ie];var i=s;break t}finally{(s=n.g).h=null,s.s=!1,s.v=0,s.l=0,s.g=0,s.R=!1,n.m=-1,n.h=-1,100>_t.length&&_t.push(n)}i=void 0}return i}}function Lr(t){return function(){const e=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const t=this.g;return this.g=[],t}}}};zn(this.u,e,Bn(t)),Ot(e,e.g.end());const n=new Uint8Array(e.h),r=e.l,s=r.length;let i=0;for(let t=0;t<s;t++){const e=r[t];n.set(e,i),i+=e.length}return e.l=[n],n}}var Fr=[0,pr,Wn((function(t,e,n){return 2===t.h&&(Hn(e,n,(t=yt(t))===G()?void 0:t),!0)}),(function(t,e,n){if(null!=e){if(e instanceof _n){const r=e.Ea;return void(r&&(e=r(e),null!=e&&Ct(t,n,$(e).buffer)))}if(Array.isArray(e))return}Qn(t,e,n)}))],Sr=[0,gr],Or=[0,hr,br,lr,lr,cr,br,br],Mr=[0,lr,lr],Pr=class extends _n{constructor(){super()}};Pr.B=[6];var Rr=[0,lr,gr,lr,br,br,Er,gr,gr,yr,Mr,br],Cr=[0,gr,gr,gr],Ir=class extends _n{constructor(){super()}},Dr=[0],Br=[0,hr],Ur=[1,2,3,4,5],Nr=class extends _n{constructor(t){super(t,2)}},Gr={},jr=[-2,Gr,lr];Gr[336783863]=An([0,gr,lr,lr,hr,yr,[0,_r,Dr,Ur,_r,Rr,Ur,_r,Cr,Ur,_r,Br,Ur,_r,Or,Ur],yr,Sr]);var Vr=[0,pr,fr],zr=[0,or,or,fr,fr,fr,fr,or,cr,pr,ur,or,or,fr,ur,fr,fr,fr,pr],Wr=[-1,{}],Xr=[0,gr,yr,2,Wr],Hr=[0,gr,dr,yr,Wr];function $r(t,e){e=pe(e),t=t.u;const n=zt(t);ee(n),ze(t,n,2,""===e?void 0:e)}function qr(t,e){yn(t,3,e)}function Kr(t,e){yn(t,4,e)}var Yr=class extends _n{constructor(t){super(t,500)}o(t){return on(this,0,7,t)}};Yr.B=[3,4,5,6,8,13,17,1005];var Jr=[-500,pr,pr,dr,dr,dr,dr,yr,jr,vr,Fr,ur,ur,yr,Xr,yr,Hr,vr,Vr,pr,yr,zr,ur,dr,dr,988],Zr=[0,pr,pr,yr,Wr],Qr=[-500,gr,gr,yr,[-1,{}],gr,999],ts=[-500,gr,dr,dr,yr,[-2,{},lr],dr,998,dr],es=[-500,gr,dr,yr,Wr,dr,999];function ns(t,e){hn(t,Yr,e)}function rs(t,e){yn(t,10,e)}function ss(t,e){yn(t,15,e)}var is=class extends _n{constructor(t){super(t,500)}o(t){return on(this,0,1001,t)}};is.B=[1,6,7,9,10,15,16,17,14,1002];var os=[-500,vr,Jr,vr,5,Qr,vr,ts,ur,vr,es,dr,ur,yr,Xr,yr,Hr,vr,Zr,dr,dr,dr,yr,zr,pr,pr,fr,yr,980,Wr,vr,Fr],as=xr(is,os);is.prototype.g=Lr(os);var hs=[0,vr,[0,hr,hr,hr]],cs=class extends _n{constructor(t){super(t)}},us=[0,hr,nr,gr,gr],ls=class extends _n{constructor(t){super(t)}g(){return sn(this,cs,1)}};ls.B=[1];var fs=[0,vr,us],ds=xr(ls,fs),ps=[0,hr,nr],gs=[0,hr,hr,yr,hs],ms=class extends _n{constructor(t){super(t)}},ys=[0,hr,hr,hr,hr],vs=[0,nr,nr,nr,nr],_s=class extends _n{constructor(t){super(t)}},ws=[0,nr,nr,gr,nr],As=class extends _n{constructor(t){super(t)}h(){return nn(this,ms,2)}g(){return sn(this,_s,5)}};As.B=[5];var bs=[0,br,yr,ys,yr,vs,yr,gs,vr,ws],Es=class extends _n{constructor(t){super(t)}};Es.B=[1,2,3,8,9];var Ts=xr(Es,[0,dr,cr,sr,yr,bs,gr,gr,ir,vr,ps,dr,ir]),ks=class extends _n{constructor(t){super(t)}},xs=[0,nr,nr,nr,nr,nr],Ls=class extends _n{constructor(t){super(t)}};Ls.B=[1];var Fs=xr(Ls,[0,vr,xs]),Ss=class extends _n{constructor(t){super(t)}},Os=[0,nr,nr,nr,nr,nr],Ms=class extends _n{constructor(t){super(t)}};Ms.B=[1];var Ps=xr(Ms,[0,vr,Os]),Rs=class extends _n{constructor(t){super(t)}};Rs.B=[3];var Cs=[0,hr,hr,sr,br],Is=class extends _n{constructor(){super()}};Is.prototype.g=Lr([0,nr,nr,nr,nr,nr,ir]);var Ds=class extends _n{constructor(t){super(t)}},Bs=[0,hr,2,gr,yr,fs],Us=class extends _n{constructor(t){super(t)}};Us.B=[1];var Ns=xr(Us,[0,vr,Bs,ir]),Gs=class extends _n{constructor(t){super(t)}};Gs.B=[1];var js=class extends _n{constructor(t){super(t)}fa(){const t=He(this);return null==t?G():t}},Vs=class extends _n{constructor(t){super(t)}},zs=[1,2],Ws=[0,_r,[0,sr],zs,_r,[0,wr],zs,hr,gr],Xs=class extends _n{constructor(t){super(t)}};Xs.B=[1];var Hs=xr(Xs,[0,vr,Ws,ir]),$s=class extends _n{constructor(t){super(t)}};$s.B=[4,5];var qs=[0,gr,hr,nr,dr,dr],Ks=class extends _n{constructor(t){super(t)}},Ys=[0,lr,lr],Js=class extends _n{constructor(t){super(t)}},Zs=[1,2,3,4,5],Qs=class extends _n{constructor(t){super(t)}g(){return null!=He(this)}h(){return null!=ln(this,2)}},ti=[0,wr,gr,yr,[0,hr,ir,ir],yr,[0,ar,ir]],ei=class extends _n{constructor(t){super(t)}g(){return ce(Ge(this,2))??!1}},ni=[0,yr,ti,lr,yr,[0,_r,Br,Zs,_r,Rr,Zs,_r,Or,Zs,_r,Dr,Zs,_r,Cr,Zs]],ri=class extends _n{constructor(t){super(t)}},si=[0,yr,ni,nr,nr,hr],ii=kr(502141897,ri);Gr[502141897]=An(si);var oi=[0,yr,ti];Gr[512499200]=An(oi);var ai=[0,yr,oi];Gr[515723506]=An(ai);var hi=xr(class extends _n{constructor(t){super(t)}},[0,yr,[0,br,br,rr,Ar],yr,Cs]),ci=[0,yr,ni];Gr[508981768]=An(ci);var ui=class extends _n{constructor(t){super(t)}},li=[0,yr,ni,nr,yr,ci,lr],fi=class extends _n{constructor(t){super(t)}},di=[0,yr,ni,yr,si,yr,li,nr,yr,ai];Gr[508968149]=An(li);var pi=kr(508968150,fi);Gr[508968150]=An(di);var gi=class extends _n{constructor(t){super(t)}},mi=kr(513916220,gi);Gr[513916220]=An([0,yr,ni,yr,di,hr]);var yi=class extends _n{constructor(t){super(t)}h(){return nn(this,$s,2)}g(){Ve(this,2)}},vi=[0,yr,ni,yr,qs];Gr[478825465]=An(vi);var _i=[0,yr,ni];Gr[478825422]=An(_i);var wi=class extends _n{constructor(t){super(t)}},Ai=[0,yr,ni,yr,_i,yr,vi,yr,vi],bi=class extends _n{constructor(t){super(t)}},Ei=[0,yr,ni,nr,hr],Ti=class extends _n{constructor(t){super(t)}},ki=[0,yr,ni,nr],xi=class extends _n{constructor(t){super(t)}},Li=[0,yr,ni,yr,Ei,yr,ki,nr],Fi=class extends _n{constructor(t){super(t)}},Si=[0,yr,ni,yr,Li,yr,Ai];Gr[463370452]=An(Ai),Gr[464864288]=An(Ei),Gr[474472470]=An(ki);var Oi=kr(462713202,xi);Gr[462713202]=An(Li);var Mi=kr(479097054,Fi);Gr[479097054]=An(Si);var Pi=class extends _n{constructor(t){super(t)}},Ri=kr(456383383,Pi);Gr[456383383]=An([0,yr,ni,yr,qs]);var Ci=class extends _n{constructor(t){super(t)}},Ii=kr(476348187,Ci);Gr[476348187]=An([0,yr,ni,yr,Ys]);var Di=class extends _n{constructor(t){super(t)}},Bi=[0,br,br],Ui=class extends _n{constructor(t){super(t)}};Ui.B=[3];var Ni=kr(458105876,class extends _n{constructor(t){super(t)}g(){var t=this.u;const e=zt(t);var n=2&e;return t=function(t,e,n){var r=Ui;const s=2&e;let i=!1;if(null==n){if(s)return Ke();n=[]}else if(n.constructor===Fe){if(0==(2&n.g)||s)return n;n=n.m()}else Array.isArray(n)?i=!!(2&Vt(n)):n=[];if(s){if(!n.length)return Ke();i||(i=!0,Ht(n))}else i&&(i=!1,n=Ye(n));return i||(64&Vt(n)?jt(n,32):32&e&&Nt(n,32)),ze(t,e,2,r=new Fe(n,r,_e,void 0),!1),r}(t,e,je(t,e,2)),null==t||!n&&Ui&&(t.v=!0),t}});Gr[458105876]=An([0,yr,Bi,$n,[!0,ir,yr,[0,gr,gr,dr]]]);var Gi=class extends _n{constructor(t){super(t)}},ji=kr(458105758,Gi);Gr[458105758]=An([0,yr,ni,gr,yr,Bi]);var Vi=class extends _n{constructor(t){super(t)}};Vi.B=[5,6];var zi=kr(443442058,Vi);Gr[443442058]=An([0,yr,ni,gr,hr,nr,dr,dr]);var Wi=class extends _n{constructor(t){super(t)}},Xi=[0,yr,ni,nr,nr,hr];Gr[514774813]=An(Xi);var Hi=class extends _n{constructor(t){super(t)}},$i=[0,yr,ni,nr,lr],qi=class extends _n{constructor(t){super(t)}},Ki=[0,yr,ni,yr,Xi,yr,$i,nr];Gr[518928384]=An($i);var Yi=kr(516587230,qi);function Ji(t,e){return e=e?e.clone():new $s,void 0!==t.displayNamesLocale?Ve(e,1,pe(t.displayNamesLocale)):void 0===t.displayNamesLocale&&Ve(e,1),void 0!==t.maxResults?gn(e,2,t.maxResults):"maxResults"in t&&Ve(e,2),void 0!==t.scoreThreshold?mn(e,3,t.scoreThreshold):"scoreThreshold"in t&&Ve(e,3),void 0!==t.categoryAllowlist?Je(e,4,t.categoryAllowlist):"categoryAllowlist"in t&&Ve(e,4),void 0!==t.categoryDenylist?Je(e,5,t.categoryDenylist):"categoryDenylist"in t&&Ve(e,5),e}function Zi(t,e=-1,n=""){return{categories:t.map((t=>({index:fn(cn(t,1))??-1,score:dn(t,2)??0,categoryName:ln(t,3)??""??"",displayName:ln(t,4)??""??""}))),headIndex:e,headName:n}}function Qi(t){var e=$e(t,3,he),n=$e(t,2,le);const r=$e(t,1,ge),s=$e(t,9,ge),i={categories:[],keypoints:[]};for(let t=0;t<e.length;t++)i.categories.push({score:e[t],index:n[t]??-1,categoryName:r[t]??"",displayName:s[t]??""});if((e=nn(t,As,4)?.h())&&(i.boundingBox={originX:cn(e,1)??0,originY:cn(e,2)??0,width:cn(e,3)??0,height:cn(e,4)??0,angle:0}),nn(t,As,4)?.g().length)for(const e of nn(t,As,4).g())i.keypoints.push({x:Xe(e,1)??0,y:Xe(e,2)??0,score:Xe(e,4)??0,label:ln(e,3)??""});return i}function to(t){const e=[];for(const n of sn(t,Ss,1))e.push({x:dn(n,1)??0,y:dn(n,2)??0,z:dn(n,3)??0});return e}function eo(t){const e=[];for(const n of sn(t,ks,1))e.push({x:dn(n,1)??0,y:dn(n,2)??0,z:dn(n,3)??0});return e}function no(t){return Array.from(t,(t=>127<t?t-256:t))}function ro(t,e){if(t.length!==e.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${t.length} vs. ${e.length}).`);let n=0,r=0,s=0;for(let i=0;i<t.length;i++)n+=t[i]*e[i],r+=t[i]*t[i],s+=e[i]*e[i];if(0>=r||0>=s)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return n/Math.sqrt(r*s)}let so;Gr[516587230]=An(Ki);const io=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function oo(){if(void 0===so)try{await WebAssembly.instantiate(io),so=!0}catch{so=!1}return so}async function ao(t,e=""){const n=await oo()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${e}/${t}_${n}.js`,wasmBinaryPath:`${e}/${t}_${n}.wasm`}}var ho=class{};function co(){const t=navigator.userAgent;return t.includes("Safari")&&!t.includes("Chrome")}async function uo(t){if("function"!=typeof importScripts){const e=document.createElement("script");return e.src=t.toString(),e.crossOrigin="anonymous",new Promise(((t,n)=>{e.addEventListener("load",(()=>{t()}),!1),e.addEventListener("error",(t=>{n(t)}),!1),document.body.appendChild(e)}))}importScripts(t.toString())}function lo(t,e,n){t.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),n(e=t.i.stringToNewUTF8(e)),t.i._free(e)}function fo(t,e,n){if(!t.i.canvas)throw Error("No OpenGL canvas configured.");if(n?t.i._bindTextureToStream(n):t.i._bindTextureToCanvas(),!(n=t.i.canvas.getContext("webgl2")||t.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");return t.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),t.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),e.videoWidth?(n=e.videoWidth,e=e.videoHeight):e.naturalWidth?(n=e.naturalWidth,e=e.naturalHeight):(n=e.width,e=e.height),!t.l||n===t.i.canvas.width&&e===t.i.canvas.height||(t.i.canvas.width=n,t.i.canvas.height=e),[n,e]}function po(t,e,n){t.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const r=new Uint32Array(e.length);for(let n=0;n<e.length;n++)r[n]=t.i.stringToNewUTF8(e[n]);e=t.i._malloc(4*r.length),t.i.HEAPU32.set(r,e>>2),n(e);for(const e of r)t.i._free(e);t.i._free(e)}function go(t,e,n){t.i.simpleListeners=t.i.simpleListeners||{},t.i.simpleListeners[e]=n}function mo(t,e,n){let r=[];t.i.simpleListeners=t.i.simpleListeners||{},t.i.simpleListeners[e]=(t,e,s)=>{e?(n(r,s),r=[]):r.push(t)}}function yo(t,e){const n=nn(t.baseOptions,Qs,1)||new Qs;"string"==typeof e?(Ve(n,2,pe(e)),Ve(n,1)):e instanceof Uint8Array&&(Ve(n,1,Qt(e,!1,!1)),Ve(n,2)),on(t.baseOptions,0,1,n)}function vo(t){try{const e=t.J.length;if(1===e)throw Error(t.J[0].message);if(1<e)throw Error("Encountered multiple errors: "+t.J.map((t=>t.message)).join(", "))}finally{t.J=[]}}function _o(t,e){t.I=Math.max(t.I,e)}function wo(t,e){t.A=new Yr,$r(t.A,"PassThroughCalculator"),qr(t.A,"free_memory"),Kr(t.A,"free_memory_unused_out"),rs(e,"free_memory"),ns(e,t.A)}function Ao(t,e){qr(t.A,e),Kr(t.A,e+"_unused_out")}function bo(t){t.g.addBoolToStream(!0,"free_memory",t.I)}ho.forVisionTasks=function(t){return ao("vision",t)},ho.forTextTasks=function(t){return ao("text",t)},ho.forAudioTasks=function(t){return ao("audio",t)},ho.isSimdSupported=function(){return oo()};var Eo=class{constructor(t){this.g=t,this.J=[],this.I=0,this.g.setAutoRenderToScreen(!1)}l(t,e=!0){if(e){const e=t.baseOptions||{};if(t.baseOptions?.modelAssetBuffer&&t.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(nn(this.baseOptions,Qs,1)?.g()||nn(this.baseOptions,Qs,1)?.h()||t.baseOptions?.modelAssetBuffer||t.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(t,e){let n=nn(t.baseOptions,Js,3);if(!n){var r=n=new Js,s=new Ir;an(r,4,Zs,s)}"delegate"in e&&("GPU"===e.delegate?(e=n,r=new Pr,an(e,2,Zs,r)):(e=n,r=new Ir,an(e,4,Zs,r))),on(t.baseOptions,0,3,n)}(this,e),e.modelAssetPath)return fetch(e.modelAssetPath.toString()).then((t=>{if(t.ok)return t.arrayBuffer();throw Error(`Failed to fetch model: ${e.modelAssetPath} (${t.status})`)})).then((t=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(t),!0,!1,!1),yo(this,"/model.dat"),this.m(),this.P()}));yo(this,e.modelAssetBuffer)}return this.m(),this.P(),Promise.resolve()}P(){}W(){let t;if(this.g.W((e=>{t=as(e)})),!t)throw Error("Failed to retrieve CalculatorGraphConfig");return t}setGraph(t,e){this.g.attachErrorListener(((t,e)=>{this.J.push(Error(e))})),this.g.Aa(),this.g.setGraph(t,e),this.A=void 0,vo(this)}finishProcessing(){this.g.finishProcessing(),vo(this)}close(){this.A=void 0,this.g.closeGraph()}};function To(t,e){if(null===t)throw Error(`Unable to obtain required WebGL resource: ${e}`);return t}Eo.prototype.close=Eo.prototype.close;class ko{constructor(t,e,n,r){this.g=t,this.h=e,this.m=n,this.l=r}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}function xo(t,e,n){const r=t.h;if(n=To(r.createShader(n),"Failed to create WebGL shader"),r.shaderSource(n,e),r.compileShader(n),!r.getShaderParameter(n,r.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${r.getShaderInfoLog(n)}`);return r.attachShader(t.g,n),n}function Lo(t,e){const n=t.h,r=To(n.createVertexArray(),"Failed to create vertex array");n.bindVertexArray(r);const s=To(n.createBuffer(),"Failed to create buffer");n.bindBuffer(n.ARRAY_BUFFER,s),n.enableVertexAttribArray(t.s),n.vertexAttribPointer(t.s,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),n.STATIC_DRAW);const i=To(n.createBuffer(),"Failed to create buffer");return n.bindBuffer(n.ARRAY_BUFFER,i),n.enableVertexAttribArray(t.A),n.vertexAttribPointer(t.A,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array(e?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),n.bindVertexArray(null),new ko(n,r,s,i)}function Fo(t,e){if(t.h){if(e!==t.h)throw Error("Cannot change GL context once initialized")}else t.h=e}function So(t,e,n,r){if(Fo(t,e),!t.g){const e=t.h;if(t.g=To(e.createProgram(),"Failed to create WebGL program"),t.C=xo(t,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",e.VERTEX_SHADER),t.v=xo(t,"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D inputTexture;\n void main() {\n gl_FragColor = texture2D(inputTexture, vTex);\n }\n ",e.FRAGMENT_SHADER),e.linkProgram(t.g),!e.getProgramParameter(t.g,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(t.g)}`);t.s=e.getAttribLocation(t.g,"aVertex"),t.A=e.getAttribLocation(t.g,"aTex")}return n?(t.m||(t.m=Lo(t,!0)),n=t.m):(t.j||(t.j=Lo(t,!1)),n=t.j),e.useProgram(t.g),n.bind(),t=r(),n.g.bindVertexArray(null),t}function Oo(t,e,n){Fo(t,e),t.l||(t.l=To(e.createFramebuffer(),"Failed to create framebuffe.")),e.bindFramebuffer(e.FRAMEBUFFER,t.l),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0)}function Mo(t){t.h?.bindFramebuffer(t.h.FRAMEBUFFER,null)}var Po=class{close(){if(this.g){const t=this.h;t.deleteProgram(this.g),t.deleteShader(this.C),t.deleteShader(this.v)}this.l&&this.h.deleteFramebuffer(this.l),this.j&&this.j.close(),this.m&&this.m.close()}};function Ro(t,e){switch(e){case 0:return t.g.find((t=>t instanceof ImageData));case 1:return t.g.find((t=>"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap));case 2:return t.g.find((t=>"undefined"!=typeof WebGLTexture&&t instanceof WebGLTexture));default:throw Error(`Type is not supported: ${e}`)}}function Co(t){var e=Ro(t,0);if(!e){e=Do(t);const n=Bo(t),r=new Uint8Array(t.width*t.height*4);Oo(n,e,Io(t)),e.readPixels(0,0,t.width,t.height,e.RGBA,e.UNSIGNED_BYTE,r),Mo(n),e=new ImageData(new Uint8ClampedArray(r.buffer),t.width,t.height),t.g.push(e)}return e}function Io(t){let e=Ro(t,2);if(!e){const n=Do(t);e=No(t);const r=Ro(t,1)||Co(t);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r),Go(t)}return e}function Do(t){if(!t.canvas)throw Error("Conversion to different image formats require that a canvas is passed when iniitializing the image.");return t.h||(t.h=To(t.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),t.h}function Bo(t){return t.l||(t.l=new Po),t.l}function Uo(t){(t=Do(t)).texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR)}function No(t){const e=Do(t);e.viewport(0,0,t.width,t.height),e.activeTexture(e.TEXTURE0);let n=Ro(t,2);return n?e.bindTexture(e.TEXTURE_2D,n):(n=To(e.createTexture(),"Failed to create texture"),t.g.push(n),t.m=!0,e.bindTexture(e.TEXTURE_2D,n),Uo(t)),n}function Go(t){t.h.bindTexture(t.h.TEXTURE_2D,null)}function jo(t){const e=Do(t);return So(Bo(t),e,!0,(()=>function(t,e){const n=t.canvas;if(n.width===t.width&&n.height===t.height)return e();const r=n.width,s=n.height;return n.width=t.width,n.height=t.height,t=e(),n.width=r,n.height=s,t}(t,(()=>{if(e.bindFramebuffer(e.FRAMEBUFFER,null),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),!(t.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return t.canvas.transferToImageBitmap()}))))}var Vo=class{constructor(t,e,n,r,s,i,o){this.g=t,this.j=e,this.m=n,this.canvas=r,this.l=s,this.width=i,this.height=o,(this.j||this.m)&&0==--zo&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}va(){return!!Ro(this,0)}ba(){return!!Ro(this,1)}K(){return!!Ro(this,2)}ra(){return Co(this)}qa(){var t=Ro(this,1);return t||(Io(this),No(this),t=jo(this),Go(this),this.g.push(t),this.j=!0),t}V(){return Io(this)}clone(){const t=[];for(const e of this.g){let n;if(e instanceof ImageData)n=new ImageData(e.data,this.width,this.height);else if(e instanceof WebGLTexture){const t=Do(this),e=Bo(this);t.activeTexture(t.TEXTURE1),n=To(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,n),Uo(this),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,null),t.bindTexture(t.TEXTURE_2D,null),Oo(e,t,n),So(e,t,!1,(()=>{No(this),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),Go(this)})),Mo(e),Go(this)}else{if(!(e instanceof ImageBitmap))throw Error(`Type is not supported: ${e}`);Io(this),No(this),n=jo(this),Go(this)}t.push(n)}return new Vo(t,this.ba(),this.K(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Ro(this,1).close(),this.m&&Do(this).deleteTexture(Ro(this,2)),zo=-1}};Vo.prototype.close=Vo.prototype.close,Vo.prototype.clone=Vo.prototype.clone,Vo.prototype.getAsWebGLTexture=Vo.prototype.V,Vo.prototype.getAsImageBitmap=Vo.prototype.qa,Vo.prototype.getAsImageData=Vo.prototype.ra,Vo.prototype.hasWebGLTexture=Vo.prototype.K,Vo.prototype.hasImageBitmap=Vo.prototype.ba,Vo.prototype.hasImageData=Vo.prototype.va;var zo=250;function Wo(t,e){switch(e){case 0:return t.g.find((t=>t instanceof Uint8Array));case 1:return t.g.find((t=>t instanceof Float32Array));case 2:return t.g.find((t=>"undefined"!=typeof WebGLTexture&&t instanceof WebGLTexture));default:throw Error(`Type is not supported: ${e}`)}}function Xo(t){var e=Wo(t,1);if(!e){if(e=Wo(t,0))e=new Float32Array(e).map((t=>t/255));else{e=new Float32Array(t.width*t.height);const r=$o(t);var n=Ko(t);if(Oo(n,r,Ho(t)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document){n=new Float32Array(t.width*t.height*4),r.readPixels(0,0,t.width,t.height,r.RGBA,r.FLOAT,n);for(let t=0,r=0;t<e.length;++t,r+=4)e[t]=n[r]}else r.readPixels(0,0,t.width,t.height,r.RED,r.FLOAT,e)}t.g.push(e)}return e}function Ho(t){let e=Wo(t,2);if(!e){const n=$o(t);e=Jo(t);const r=Xo(t),s=qo(t);n.texImage2D(n.TEXTURE_2D,0,s,t.width,t.height,0,n.RED,n.FLOAT,r),Zo(t)}return e}function $o(t){if(!t.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return t.h||(t.h=To(t.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),t.h}function qo(t){if(t=$o(t),!Qo)if(t.getExtension("EXT_color_buffer_float")&&t.getExtension("OES_texture_float_linear")&&t.getExtension("EXT_float_blend"))Qo=t.R32F;else{if(!t.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Qo=t.R16F}return Qo}function Ko(t){return t.l||(t.l=new Po),t.l}function Yo(t){(t=$o(t)).texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST)}function Jo(t){const e=$o(t);e.viewport(0,0,t.width,t.height),e.activeTexture(e.TEXTURE0);let n=Wo(t,2);return n?e.bindTexture(e.TEXTURE_2D,n):(n=To(e.createTexture(),"Failed to create texture"),t.g.push(n),t.m=!0,e.bindTexture(e.TEXTURE_2D,n),Yo(t)),n}function Zo(t){t.h.bindTexture(t.h.TEXTURE_2D,null)}var Qo,ta=class{constructor(t,e,n,r,s,i){this.g=t,this.m=e,this.canvas=n,this.l=r,this.width=s,this.height=i,this.m&&0==--ea&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}wa(){return!!Wo(this,0)}ua(){return!!Wo(this,1)}K(){return!!Wo(this,2)}sa(){return(t=Wo(this,0))||(t=Xo(this),t=new Uint8Array(t.map((t=>255*t))),this.g.push(t)),t;var t}pa(){return Xo(this)}V(){return Ho(this)}clone(){const t=[];for(const e of this.g){let n;if(e instanceof Uint8Array)n=new Uint8Array(e);else if(e instanceof Float32Array)n=new Float32Array(e);else{if(!(e instanceof WebGLTexture))throw Error(`Type is not supported: ${e}`);{const t=$o(this),e=Ko(this);t.activeTexture(t.TEXTURE1),n=To(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,n),Yo(this);const r=qo(this);t.texImage2D(t.TEXTURE_2D,0,r,this.width,this.height,0,t.RED,t.FLOAT,null),t.bindTexture(t.TEXTURE_2D,null),Oo(e,t,n),So(e,t,!1,(()=>{Jo(this),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),Zo(this)})),Mo(e),Zo(this)}}t.push(n)}return new ta(t,this.K(),this.canvas,this.l,this.width,this.height)}close(){this.m&&$o(this).deleteTexture(Wo(this,2)),ea=-1}};ta.prototype.close=ta.prototype.close,ta.prototype.clone=ta.prototype.clone,ta.prototype.getAsWebGLTexture=ta.prototype.V,ta.prototype.getAsFloat32Array=ta.prototype.pa,ta.prototype.getAsUint8Array=ta.prototype.sa,ta.prototype.hasWebGLTexture=ta.prototype.K,ta.prototype.hasFloat32Array=ta.prototype.ua,ta.prototype.hasUint8Array=ta.prototype.wa;var ea=250;function na(...t){return t.map((([t,e])=>({start:t,end:e})))}const ra=function(t){return class extends t{Aa(){this.i._registerModelResourcesGraphService()}}}((sa=class{constructor(t,e){this.l=!0,this.i=t,this.g=null,this.h=0,this.m="function"==typeof this.i._addIntToInputStream,void 0!==e?this.i.canvas=e:"undefined"==typeof OffscreenCanvas||co()?(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas")):this.i.canvas=new OffscreenCanvas(1,1)}async initializeGraph(t){const e=await(await fetch(t)).arrayBuffer();t=!(t.endsWith(".pbtxt")||t.endsWith(".textproto")),this.setGraph(new Uint8Array(e),t)}setGraphFromString(t){this.setGraph((new TextEncoder).encode(t),!1)}setGraph(t,e){const n=t.length,r=this.i._malloc(n);this.i.HEAPU8.set(t,r),e?this.i._changeBinaryGraph(n,r):this.i._changeTextGraph(n,r),this.i._free(r)}configureAudio(t,e,n,r,s){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),lo(this,r||"input_audio",(r=>{lo(this,s=s||"audio_header",(s=>{this.i._configureAudio(r,s,t,e,n)}))}))}setAutoResizeCanvas(t){this.l=t}setAutoRenderToScreen(t){this.i._setAutoRenderToScreen(t)}setGpuBufferVerticalFlip(t){this.i.gpuOriginForWebTexturesIsBottomLeft=t}W(t){go(this,"__graph_config__",(e=>{t(e)})),lo(this,"__graph_config__",(t=>{this.i._getGraphConfig(t,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(t){this.i.errorListener=t}attachEmptyPacketListener(t,e){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[t]=e}addAudioToStream(t,e,n){this.addAudioToStreamWithShape(t,0,0,e,n)}addAudioToStreamWithShape(t,e,n,r,s){const i=4*t.length;this.h!==i&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(i),this.h=i),this.i.HEAPF32.set(t,this.g/4),lo(this,r,(t=>{this.i._addAudioToInputStream(this.g,e,n,t,s)}))}addGpuBufferToStream(t,e,n){lo(this,e,(e=>{const[r,s]=fo(this,t,e);this.i._addBoundTextureToStream(e,r,s,n)}))}addBoolToStream(t,e,n){lo(this,e,(e=>{this.i._addBoolToInputStream(t,e,n)}))}addDoubleToStream(t,e,n){lo(this,e,(e=>{this.i._addDoubleToInputStream(t,e,n)}))}addFloatToStream(t,e,n){lo(this,e,(e=>{this.i._addFloatToInputStream(t,e,n)}))}addIntToStream(t,e,n){lo(this,e,(e=>{this.i._addIntToInputStream(t,e,n)}))}addStringToStream(t,e,n){lo(this,e,(e=>{lo(this,t,(t=>{this.i._addStringToInputStream(t,e,n)}))}))}addStringRecordToStream(t,e,n){lo(this,e,(e=>{po(this,Object.keys(t),(r=>{po(this,Object.values(t),(s=>{this.i._addFlatHashMapToInputStream(r,s,Object.keys(t).length,e,n)}))}))}))}addProtoToStream(t,e,n,r){lo(this,n,(n=>{lo(this,e,(e=>{const s=this.i._malloc(t.length);this.i.HEAPU8.set(t,s),this.i._addProtoToInputStream(s,t.length,e,n,r),this.i._free(s)}))}))}addEmptyPacketToStream(t,e){lo(this,t,(t=>{this.i._addEmptyPacketToInputStream(t,e)}))}addBoolToInputSidePacket(t,e){lo(this,e,(e=>{this.i._addBoolToInputSidePacket(t,e)}))}addDoubleToInputSidePacket(t,e){lo(this,e,(e=>{this.i._addDoubleToInputSidePacket(t,e)}))}addFloatToInputSidePacket(t,e){lo(this,e,(e=>{this.i._addFloatToInputSidePacket(t,e)}))}addIntToInputSidePacket(t,e){lo(this,e,(e=>{this.i._addIntToInputSidePacket(t,e)}))}addStringToInputSidePacket(t,e){lo(this,e,(e=>{lo(this,t,(t=>{this.i._addStringToInputSidePacket(t,e)}))}))}addProtoToInputSidePacket(t,e,n){lo(this,n,(n=>{lo(this,e,(e=>{const r=this.i._malloc(t.length);this.i.HEAPU8.set(t,r),this.i._addProtoToInputSidePacket(r,t.length,e,n),this.i._free(r)}))}))}attachBoolListener(t,e){go(this,t,e),lo(this,t,(t=>{this.i._attachBoolListener(t)}))}attachBoolVectorListener(t,e){mo(this,t,e),lo(this,t,(t=>{this.i._attachBoolVectorListener(t)}))}attachIntListener(t,e){go(this,t,e),lo(this,t,(t=>{this.i._attachIntListener(t)}))}attachIntVectorListener(t,e){mo(this,t,e),lo(this,t,(t=>{this.i._attachIntVectorListener(t)}))}attachDoubleListener(t,e){go(this,t,e),lo(this,t,(t=>{this.i._attachDoubleListener(t)}))}attachDoubleVectorListener(t,e){mo(this,t,e),lo(this,t,(t=>{this.i._attachDoubleVectorListener(t)}))}attachFloatListener(t,e){go(this,t,e),lo(this,t,(t=>{this.i._attachFloatListener(t)}))}attachFloatVectorListener(t,e){mo(this,t,e),lo(this,t,(t=>{this.i._attachFloatVectorListener(t)}))}attachStringListener(t,e){go(this,t,e),lo(this,t,(t=>{this.i._attachStringListener(t)}))}attachStringVectorListener(t,e){mo(this,t,e),lo(this,t,(t=>{this.i._attachStringVectorListener(t)}))}attachProtoListener(t,e,n){go(this,t,e),lo(this,t,(t=>{this.i._attachProtoListener(t,n||!1)}))}attachProtoVectorListener(t,e,n){mo(this,t,e),lo(this,t,(t=>{this.i._attachProtoVectorListener(t,n||!1)}))}attachAudioListener(t,e,n){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),go(this,t,((t,n)=>{t=new Float32Array(t.buffer,t.byteOffset,t.length/4),e(t,n)})),lo(this,t,(t=>{this.i._attachAudioListener(t,n||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends sa{get Y(){return this.i}ga(t,e,n){lo(this,e,(e=>{const[r,s]=fo(this,t,e);this.Y._addBoundTextureAsImageToStream(e,r,s,n)}))}S(t,e){go(this,t,e),lo(this,t,(t=>{this.Y._attachImageListener(t)}))}T(t,e){mo(this,t,e),lo(this,t,(t=>{this.Y._attachImageVectorListener(t)}))}}));var sa,ia=class extends ra{};async function oa(t,e,n){return async function(t,e,n,r){return async function(t,e,n,r){return t=await(async(t,e,n,r,s)=>{if(e&&await uo(e),!self.ModuleFactory)throw Error("ModuleFactory not set.");if(n&&(await uo(n),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&s&&((e=self.Module).locateFile=s.locateFile,s.mainScriptUrlOrBlob&&(e.mainScriptUrlOrBlob=s.mainScriptUrlOrBlob)),s=await self.ModuleFactory(self.Module||s),self.ModuleFactory=self.Module=void 0,new t(s,r)})(t,n.wasmLoaderPath,n.assetLoaderPath,e,{locateFile:t=>t.endsWith(".wasm")?n.wasmBinaryPath.toString():n.assetBinaryPath&&t.endsWith(".data")?n.assetBinaryPath.toString():t}),await t.o(r),t}(t,e,n,r)}(t,n.canvas??("undefined"==typeof OffscreenCanvas||co()?document.createElement("canvas"):void 0),e,n)}function aa(t,e,n,r){if(t.Z){const i=new Is;if(n?.regionOfInterest){if(!t.ea)throw Error("This task doesn't support region-of-interest.");var s=n.regionOfInterest;if(s.left>=s.right||s.top>=s.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(0>s.left||0>s.top||1<s.right||1<s.bottom)throw Error("Expected RectF values to be in [0,1].");mn(i,1,(s.left+s.right)/2),mn(i,2,(s.top+s.bottom)/2),mn(i,4,s.right-s.left),mn(i,3,s.bottom-s.top)}else mn(i,1,.5),mn(i,2,.5),mn(i,4,1),mn(i,3,1);if(n?.rotationDegrees){if(0!=n?.rotationDegrees%90)throw Error("Expected rotation to be a multiple of 90°.");if(mn(i,5,-Math.PI*n.rotationDegrees/180),0!=n?.rotationDegrees%180){const[t,r]=void 0!==e.videoWidth?[e.videoWidth,e.videoHeight]:void 0!==e.naturalWidth?[e.naturalWidth,e.naturalHeight]:[e.width,e.height];n=dn(i,3)*r/t,s=dn(i,4)*t/r,mn(i,4,n),mn(i,3,s)}}t.g.addProtoToStream(i.g(),"mediapipe.NormalizedRect",t.Z,r)}t.g.ga(e,t.da,r??performance.now()),t.finishProcessing()}function ha(t,e,n){if(t.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");aa(t,e,n,t.I+1)}function ca(t,e,n,r){if(!t.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");aa(t,e,n,r)}function ua(t,e,n){var r=e.data;const s=e.width,i=s*(e=e.height);if((r instanceof Uint8Array||r instanceof Float32Array)&&r.length!==i)throw Error("Unsupported channel count: "+r.length/i);return t=new ta([r],!1,t.g.i.canvas,t.O,s,e),n?t.clone():t}var la=class extends Eo{constructor(t,e,n,r){super(t),this.g=t,this.da=e,this.Z=n,this.ea=r,this.O=new Po}l(t,e=!0){if("runningMode"in t&&pn(this.baseOptions,2,!!t.runningMode&&"IMAGE"!==t.runningMode),void 0!==t.canvas&&this.g.i.canvas!==t.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(t,e)}close(){this.O.close(),super.close()}};la.prototype.close=la.prototype.close;var fa=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect_in",!1),this.j={detections:[]},this.h=new ri,t=new ei,on(this.h,0,1,t),mn(this.h,2,.5),mn(this.h,3,.3)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){return"minDetectionConfidence"in t&&mn(this.h,2,t.minDetectionConfidence??.5),"minSuppressionThreshold"in t&&mn(this.h,3,t.minSuppressionThreshold??.3),this.l(t)}F(t,e){return this.j={detections:[]},ha(this,t,e),this.j}G(t,e,n){return this.j={detections:[]},ca(this,t,n,e),this.j}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect_in"),ss(t,"detections");const e=new Nr;vn(e,ii,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect_in"),Kr(n,"DETECTIONS:detections"),n.o(e),ns(t,n),this.g.attachProtoVectorListener("detections",((t,e)=>{for(const e of t)t=Ts(e),this.j.detections.push(Qi(t));_o(this,e)})),this.g.attachEmptyPacketListener("detections",(t=>{_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};fa.prototype.detectForVideo=fa.prototype.G,fa.prototype.detect=fa.prototype.F,fa.prototype.setOptions=fa.prototype.o,fa.createFromModelPath=async function(t,e){return oa(fa,t,{baseOptions:{modelAssetPath:e}})},fa.createFromModelBuffer=function(t,e){return oa(fa,t,{baseOptions:{modelAssetBuffer:e}})},fa.createFromOptions=function(t,e){return oa(fa,t,e)};var da=na([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),pa=na([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),ga=na([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),ma=na([474,475],[475,476],[476,477],[477,474]),ya=na([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),va=na([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),_a=na([469,470],[470,471],[471,472],[472,469]),wa=na([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),Aa=[...da,...pa,...ga,...ya,...va,...wa],ba=na([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Ea(t){t.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var Ta=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,this.h=new fi,t=new ei,on(this.h,0,1,t),this.v=new ui,on(this.h,0,3,this.v),this.s=new ri,on(this.h,0,2,this.s),gn(this.s,4,1),mn(this.s,2,.5),mn(this.v,2,.5),mn(this.h,4,.5)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){return"numFaces"in t&&gn(this.s,4,t.numFaces??1),"minFaceDetectionConfidence"in t&&mn(this.s,2,t.minFaceDetectionConfidence??.5),"minTrackingConfidence"in t&&mn(this.h,4,t.minTrackingConfidence??.5),"minFacePresenceConfidence"in t&&mn(this.v,2,t.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in t&&(this.outputFaceBlendshapes=!!t.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in t&&(this.outputFacialTransformationMatrixes=!!t.outputFacialTransformationMatrixes),this.l(t)}F(t,e){return Ea(this),ha(this,t,e),this.j}G(t,e,n){return Ea(this),ca(this,t,n,e),this.j}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect"),ss(t,"face_landmarks");const e=new Nr;vn(e,pi,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"NORM_LANDMARKS:face_landmarks"),n.o(e),ns(t,n),this.g.attachProtoVectorListener("face_landmarks",((t,e)=>{for(const e of t)t=Ps(e),this.j.faceLandmarks.push(to(t));_o(this,e)})),this.g.attachEmptyPacketListener("face_landmarks",(t=>{_o(this,t)})),this.outputFaceBlendshapes&&(ss(t,"blendshapes"),Kr(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((t,e)=>{if(this.outputFaceBlendshapes)for(const e of t)t=ds(e),this.j.faceBlendshapes.push(Zi(t.g()??[]));_o(this,e)})),this.g.attachEmptyPacketListener("blendshapes",(t=>{_o(this,t)}))),this.outputFacialTransformationMatrixes&&(ss(t,"face_geometry"),Kr(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((t,e)=>{if(this.outputFacialTransformationMatrixes)for(const e of t)(t=nn(hi(e),Rs,2))&&this.j.facialTransformationMatrixes.push({rows:fn(cn(t,1))??0,columns:fn(cn(t,2))??0,data:$e(t,3,he)??[]});_o(this,e)})),this.g.attachEmptyPacketListener("face_geometry",(t=>{_o(this,t)}))),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};Ta.prototype.detectForVideo=Ta.prototype.G,Ta.prototype.detect=Ta.prototype.F,Ta.prototype.setOptions=Ta.prototype.o,Ta.createFromModelPath=function(t,e){return oa(Ta,t,{baseOptions:{modelAssetPath:e}})},Ta.createFromModelBuffer=function(t,e){return oa(Ta,t,{baseOptions:{modelAssetBuffer:e}})},Ta.createFromOptions=function(t,e){return oa(Ta,t,e)},Ta.FACE_LANDMARKS_LIPS=da,Ta.FACE_LANDMARKS_LEFT_EYE=pa,Ta.FACE_LANDMARKS_LEFT_EYEBROW=ga,Ta.FACE_LANDMARKS_LEFT_IRIS=ma,Ta.FACE_LANDMARKS_RIGHT_EYE=ya,Ta.FACE_LANDMARKS_RIGHT_EYEBROW=va,Ta.FACE_LANDMARKS_RIGHT_IRIS=_a,Ta.FACE_LANDMARKS_FACE_OVAL=wa,Ta.FACE_LANDMARKS_CONTOURS=Aa,Ta.FACE_LANDMARKS_TESSELATION=ba;var ka=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect",!0),this.j=new gi,t=new ei,on(this.j,0,1,t)}get baseOptions(){return nn(this.j,ei,1)}set baseOptions(t){on(this.j,0,1,t)}o(t){return super.l(t)}Da(t,e,n){const r="function"!=typeof e?e:{};if(this.h="function"==typeof e?e:n,ha(this,t,r??{}),!this.h)return this.s}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect"),ss(t,"stylized_image");const e=new Nr;vn(e,mi,this.j);const n=new Yr;$r(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"STYLIZED_IMAGE:stylized_image"),n.o(e),ns(t,n),this.g.S("stylized_image",((t,e)=>{var n=!this.h,r=t.data,s=t.width;const i=s*(t=t.height);if(r instanceof Uint8Array)if(r.length===3*i){const e=new Uint8ClampedArray(4*i);for(let t=0;t<i;++t)e[4*t]=r[3*t],e[4*t+1]=r[3*t+1],e[4*t+2]=r[3*t+2],e[4*t+3]=255;r=new ImageData(e,s,t)}else{if(r.length!==4*i)throw Error("Unsupported channel count: "+r.length/i);r=new ImageData(new Uint8ClampedArray(r.buffer,r.byteOffset,r.length),s,t)}else if(!(r instanceof WebGLTexture))throw Error(`Unsupported format: ${r.constructor.name}`);s=new Vo([r],!1,!1,this.g.i.canvas,this.O,s,t),this.s=n=n?s.clone():s,this.h&&this.h(n),_o(this,e)})),this.g.attachEmptyPacketListener("stylized_image",(t=>{this.s=null,this.h&&this.h(null),_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};ka.prototype.stylize=ka.prototype.Da,ka.prototype.setOptions=ka.prototype.o,ka.createFromModelPath=function(t,e){return oa(ka,t,{baseOptions:{modelAssetPath:e}})},ka.createFromModelBuffer=function(t,e){return oa(ka,t,{baseOptions:{modelAssetBuffer:e}})},ka.createFromOptions=function(t,e){return oa(ka,t,e)};var xa=na([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function La(t){t.gestures=[],t.landmarks=[],t.worldLandmarks=[],t.handedness=[]}function Fa(t){return 0===t.gestures.length?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:t.gestures,landmarks:t.landmarks,worldLandmarks:t.worldLandmarks,handedness:t.handedness,handednesses:t.handedness}}function Sa(t,e=!0){const n=[];for(const s of t){var r=ds(s);t=[];for(const n of r.g())r=e&&null!=cn(n,1)?fn(cn(n,1)):-1,t.push({score:dn(n,2)??0,index:r,categoryName:ln(n,3)??""??"",displayName:ln(n,4)??""??""});n.push(t)}return n}var Oa=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.v=new Fi,t=new ei,on(this.v,0,1,t),this.C=new xi,on(this.v,0,2,this.C),this.s=new Ti,on(this.C,0,3,this.s),this.h=new bi,on(this.C,0,2,this.h),this.j=new wi,on(this.v,0,3,this.j),mn(this.h,2,.5),mn(this.C,4,.5),mn(this.s,2,.5)}get baseOptions(){return nn(this.v,ei,1)}set baseOptions(t){on(this.v,0,1,t)}o(t){if(gn(this.h,3,t.numHands??1),"minHandDetectionConfidence"in t&&mn(this.h,2,t.minHandDetectionConfidence??.5),"minTrackingConfidence"in t&&mn(this.C,4,t.minTrackingConfidence??.5),"minHandPresenceConfidence"in t&&mn(this.s,2,t.minHandPresenceConfidence??.5),t.cannedGesturesClassifierOptions){var e=new yi,n=Ji(t.cannedGesturesClassifierOptions,nn(this.j,yi,3)?.h());on(e,0,2,n),on(this.j,0,3,e)}else void 0===t.cannedGesturesClassifierOptions&&nn(this.j,yi,3)?.g();return t.customGesturesClassifierOptions?(on(e=new yi,0,2,n=Ji(t.customGesturesClassifierOptions,nn(this.j,yi,4)?.h())),on(this.j,0,4,e)):void 0===t.customGesturesClassifierOptions&&nn(this.j,yi,4)?.g(),this.l(t)}ya(t,e){return La(this),ha(this,t,e),Fa(this)}za(t,e,n){return La(this),ca(this,t,n,e),Fa(this)}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect"),ss(t,"hand_gestures"),ss(t,"hand_landmarks"),ss(t,"world_hand_landmarks"),ss(t,"handedness");const e=new Nr;vn(e,Mi,this.v);const n=new Yr;$r(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"HAND_GESTURES:hand_gestures"),Kr(n,"LANDMARKS:hand_landmarks"),Kr(n,"WORLD_LANDMARKS:world_hand_landmarks"),Kr(n,"HANDEDNESS:handedness"),n.o(e),ns(t,n),this.g.attachProtoVectorListener("hand_landmarks",((t,e)=>{for(const e of t){t=Ps(e);const n=[];for(const e of sn(t,Ss,1))n.push({x:dn(e,1)??0,y:dn(e,2)??0,z:dn(e,3)??0});this.landmarks.push(n)}_o(this,e)})),this.g.attachEmptyPacketListener("hand_landmarks",(t=>{_o(this,t)})),this.g.attachProtoVectorListener("world_hand_landmarks",((t,e)=>{for(const e of t){t=Fs(e);const n=[];for(const e of sn(t,ks,1))n.push({x:dn(e,1)??0,y:dn(e,2)??0,z:dn(e,3)??0});this.worldLandmarks.push(n)}_o(this,e)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(t=>{_o(this,t)})),this.g.attachProtoVectorListener("hand_gestures",((t,e)=>{this.gestures.push(...Sa(t,!1)),_o(this,e)})),this.g.attachEmptyPacketListener("hand_gestures",(t=>{_o(this,t)})),this.g.attachProtoVectorListener("handedness",((t,e)=>{this.handedness.push(...Sa(t)),_o(this,e)})),this.g.attachEmptyPacketListener("handedness",(t=>{_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};function Ma(t){return{landmarks:t.landmarks,worldLandmarks:t.worldLandmarks,handednesses:t.handedness,handedness:t.handedness}}Oa.prototype.recognizeForVideo=Oa.prototype.za,Oa.prototype.recognize=Oa.prototype.ya,Oa.prototype.setOptions=Oa.prototype.o,Oa.createFromModelPath=function(t,e){return oa(Oa,t,{baseOptions:{modelAssetPath:e}})},Oa.createFromModelBuffer=function(t,e){return oa(Oa,t,{baseOptions:{modelAssetBuffer:e}})},Oa.createFromOptions=function(t,e){return oa(Oa,t,e)},Oa.HAND_CONNECTIONS=xa;var Pa=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.j=new xi,t=new ei,on(this.j,0,1,t),this.s=new Ti,on(this.j,0,3,this.s),this.h=new bi,on(this.j,0,2,this.h),gn(this.h,3,1),mn(this.h,2,.5),mn(this.s,2,.5),mn(this.j,4,.5)}get baseOptions(){return nn(this.j,ei,1)}set baseOptions(t){on(this.j,0,1,t)}o(t){return"numHands"in t&&gn(this.h,3,t.numHands??1),"minHandDetectionConfidence"in t&&mn(this.h,2,t.minHandDetectionConfidence??.5),"minTrackingConfidence"in t&&mn(this.j,4,t.minTrackingConfidence??.5),"minHandPresenceConfidence"in t&&mn(this.s,2,t.minHandPresenceConfidence??.5),this.l(t)}F(t,e){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ha(this,t,e),Ma(this)}G(t,e,n){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ca(this,t,n,e),Ma(this)}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect"),ss(t,"hand_landmarks"),ss(t,"world_hand_landmarks"),ss(t,"handedness");const e=new Nr;vn(e,Oi,this.j);const n=new Yr;$r(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"LANDMARKS:hand_landmarks"),Kr(n,"WORLD_LANDMARKS:world_hand_landmarks"),Kr(n,"HANDEDNESS:handedness"),n.o(e),ns(t,n),this.g.attachProtoVectorListener("hand_landmarks",((t,e)=>{for(const e of t)t=Ps(e),this.landmarks.push(to(t));_o(this,e)})),this.g.attachEmptyPacketListener("hand_landmarks",(t=>{_o(this,t)})),this.g.attachProtoVectorListener("world_hand_landmarks",((t,e)=>{for(const e of t)t=Fs(e),this.worldLandmarks.push(eo(t));_o(this,e)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(t=>{_o(this,t)})),this.g.attachProtoVectorListener("handedness",((t,e)=>{var n=this.handedness,r=n.push;const s=[];for(const e of t){t=ds(e);const n=[];for(const e of t.g())n.push({score:dn(e,2)??0,index:fn(cn(e,1))??-1,categoryName:ln(e,3)??""??"",displayName:ln(e,4)??""??""});s.push(n)}r.call(n,...s),_o(this,e)})),this.g.attachEmptyPacketListener("handedness",(t=>{_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};Pa.prototype.detectForVideo=Pa.prototype.G,Pa.prototype.detect=Pa.prototype.F,Pa.prototype.setOptions=Pa.prototype.o,Pa.createFromModelPath=function(t,e){return oa(Pa,t,{baseOptions:{modelAssetPath:e}})},Pa.createFromModelBuffer=function(t,e){return oa(Pa,t,{baseOptions:{modelAssetBuffer:e}})},Pa.createFromOptions=function(t,e){return oa(Pa,t,e)},Pa.HAND_CONNECTIONS=xa;var Ra=class extends la{constructor(t,e){super(new ia(t,e),"input_image","norm_rect",!0),this.j={classifications:[]},this.h=new Pi,t=new ei,on(this.h,0,1,t)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){var e=Ji(t,nn(this.h,$s,2));return on(this.h,0,2,e),this.l(t)}ia(t,e){return this.j={classifications:[]},ha(this,t,e),this.j}ja(t,e,n){return this.j={classifications:[]},ca(this,t,n,e),this.j}m(){var t=new is;rs(t,"input_image"),rs(t,"norm_rect"),ss(t,"classifications");const e=new Nr;vn(e,Ri,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),qr(n,"IMAGE:input_image"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"CLASSIFICATIONS:classifications"),n.o(e),ns(t,n),this.g.attachProtoListener("classifications",((t,e)=>{this.j=function(t){const e={classifications:sn(t,Ds,1).map((t=>Zi(nn(t,ls,4)?.g()??[],fn(cn(t,2)),ln(t,3)??"")))};return null!=un(t)&&(e.timestampMs=fn(un(t))),e}(Ns(t)),_o(this,e)})),this.g.attachEmptyPacketListener("classifications",(t=>{_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};Ra.prototype.classifyForVideo=Ra.prototype.ja,Ra.prototype.classify=Ra.prototype.ia,Ra.prototype.setOptions=Ra.prototype.o,Ra.createFromModelPath=function(t,e){return oa(Ra,t,{baseOptions:{modelAssetPath:e}})},Ra.createFromModelBuffer=function(t,e){return oa(Ra,t,{baseOptions:{modelAssetBuffer:e}})},Ra.createFromOptions=function(t,e){return oa(Ra,t,e)};var Ca=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect",!0),this.h=new Ci,this.embeddings={embeddings:[]},t=new ei,on(this.h,0,1,t)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){var e=this.h,n=nn(this.h,Ks,2);return n=n?n.clone():new Ks,void 0!==t.l2Normalize?pn(n,1,t.l2Normalize):"l2Normalize"in t&&Ve(n,1),void 0!==t.quantize?pn(n,2,t.quantize):"quantize"in t&&Ve(n,2),on(e,0,2,n),this.l(t)}na(t,e){return ha(this,t,e),this.embeddings}oa(t,e,n){return ca(this,t,n,e),this.embeddings}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect"),ss(t,"embeddings_out");const e=new Nr;vn(e,Ii,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"EMBEDDINGS:embeddings_out"),n.o(e),ns(t,n),this.g.attachProtoListener("embeddings_out",((t,e)=>{t=Hs(t),this.embeddings=function(t){return{embeddings:sn(t,Vs,1).map((t=>{const e={headIndex:fn(cn(t,3))??-1,headName:ln(t,4)??""??""};if(void 0!==en(t,Gs,Ze(t,1)))t=$e(t=nn(t,Gs,Ze(t,1)),1,he),e.floatEmbedding=t;else{const n=new Uint8Array(0);e.quantizedEmbedding=nn(t,js,Ze(t,2))?.fa()?.ha()??n}return e})),timestampMs:fn(un(t))}}(t),_o(this,e)})),this.g.attachEmptyPacketListener("embeddings_out",(t=>{_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};Ca.cosineSimilarity=function(t,e){if(t.floatEmbedding&&e.floatEmbedding)t=ro(t.floatEmbedding,e.floatEmbedding);else{if(!t.quantizedEmbedding||!e.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");t=ro(no(t.quantizedEmbedding),no(e.quantizedEmbedding))}return t},Ca.prototype.embedForVideo=Ca.prototype.oa,Ca.prototype.embed=Ca.prototype.na,Ca.prototype.setOptions=Ca.prototype.o,Ca.createFromModelPath=function(t,e){return oa(Ca,t,{baseOptions:{modelAssetPath:e}})},Ca.createFromModelBuffer=function(t,e){return oa(Ca,t,{baseOptions:{modelAssetBuffer:e}})},Ca.createFromOptions=function(t,e){return oa(Ca,t,e)};var Ia=class{constructor(t,e,n){this.confidenceMasks=t,this.categoryMask=e,this.qualityScores=n}close(){this.confidenceMasks?.forEach((t=>{t.close()})),this.categoryMask?.close()}};function Da(t){t.categoryMask=void 0,t.confidenceMasks=void 0,t.qualityScores=void 0}function Ba(t){try{const e=new Ia(t.confidenceMasks,t.categoryMask,t.qualityScores);if(!t.j)return e;t.j(e)}finally{bo(t)}}Ia.prototype.close=Ia.prototype.close;var Ua=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Gi,this.v=new Di,on(this.h,0,3,this.v),t=new ei,on(this.h,0,1,t)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){return void 0!==t.displayNamesLocale?Ve(this.h,2,pe(t.displayNamesLocale)):"displayNamesLocale"in t&&Ve(this.h,2),"outputCategoryMask"in t&&(this.outputCategoryMask=t.outputCategoryMask??!1),"outputConfidenceMasks"in t&&(this.outputConfidenceMasks=t.outputConfidenceMasks??!0),super.l(t)}P(){!function(t){const e=sn(t.W(),Yr,1).filter((t=>(ln(t,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(t.s=[],1<e.length)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");1===e.length&&(nn(e[0],Nr,7)?.l()?.g()??new Map).forEach(((e,n)=>{t.s[Number(n)]=ln(e,1)??""}))}(this)}X(t,e,n){const r="function"!=typeof e?e:{};return this.j="function"==typeof e?e:n,Da(this),ha(this,t,r),Ba(this)}Ca(t,e,n,r){const s="function"!=typeof n?n:{};return this.j="function"==typeof n?n:r,Da(this),ca(this,t,s,e),Ba(this)}ta(){return this.s}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect");const e=new Nr;vn(e,ji,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect"),n.o(e),ns(t,n),wo(this,t),this.outputConfidenceMasks&&(ss(t,"confidence_masks"),Kr(n,"CONFIDENCE_MASKS:confidence_masks"),Ao(this,"confidence_masks"),this.g.T("confidence_masks",((t,e)=>{this.confidenceMasks=t.map((t=>ua(this,t,!this.j))),_o(this,e)})),this.g.attachEmptyPacketListener("confidence_masks",(t=>{this.confidenceMasks=[],_o(this,t)}))),this.outputCategoryMask&&(ss(t,"category_mask"),Kr(n,"CATEGORY_MASK:category_mask"),Ao(this,"category_mask"),this.g.S("category_mask",((t,e)=>{this.categoryMask=ua(this,t,!this.j),_o(this,e)})),this.g.attachEmptyPacketListener("category_mask",(t=>{this.categoryMask=void 0,_o(this,t)}))),ss(t,"quality_scores"),Kr(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((t,e)=>{this.qualityScores=t,_o(this,e)})),this.g.attachEmptyPacketListener("quality_scores",(t=>{this.categoryMask=void 0,_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};Ua.prototype.getLabels=Ua.prototype.ta,Ua.prototype.segmentForVideo=Ua.prototype.Ca,Ua.prototype.segment=Ua.prototype.X,Ua.prototype.setOptions=Ua.prototype.o,Ua.createFromModelPath=function(t,e){return oa(Ua,t,{baseOptions:{modelAssetPath:e}})},Ua.createFromModelBuffer=function(t,e){return oa(Ua,t,{baseOptions:{modelAssetBuffer:e}})},Ua.createFromOptions=function(t,e){return oa(Ua,t,e)};var Na=class{constructor(t,e,n){this.confidenceMasks=t,this.categoryMask=e,this.qualityScores=n}close(){this.confidenceMasks?.forEach((t=>{t.close()})),this.categoryMask?.close()}};Na.prototype.close=Na.prototype.close;var Ga=class extends _n{constructor(t){super(t)}},ja=[0,hr,hr,hr],Va=[0,er,er,er,er,lr],za=[0,er,er,er,er,lr,er,er],Wa=[0,yr,za],Xa=[0,yr,Wa,yr,ja],Ha=[0,yr,za,yr,ja],$a=[0,yr,za,hr,hr],qa=[0,yr,$a,yr,ja],Ka=[0,er,er,er,er,lr,yr,ja,yr,ja],Ya=[0,er,er,er,er,lr,br],Ja=class extends _n{constructor(t){super(t)}},Za=[0,er,er,lr],Qa=class extends _n{constructor(){super()}};Qa.B=[1];var th=class extends _n{constructor(t){super(t)}},eh=[1,2,3,4,5,6,7,8,9,10,14,15],nh=[0,_r,za,eh,_r,Ha,eh,_r,Wa,eh,_r,Xa,eh,_r,Za,eh,_r,Ya,eh,_r,Va,eh,_r,[0,gr,er,er,er,lr,hr,lr,lr,er,3,yr,ja],eh,_r,$a,eh,_r,qa,eh,er,yr,ja,gr,_r,Ka,eh,_r,[0,vr,Za],eh],rh=[0,gr,hr,hr,lr],sh=class extends _n{constructor(){super()}};sh.B=[1],sh.prototype.g=Lr([0,vr,nh,gr,yr,rh]);var ih=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Gi,this.v=new Di,on(this.h,0,3,this.v),t=new ei,on(this.h,0,1,t)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){return"outputCategoryMask"in t&&(this.outputCategoryMask=t.outputCategoryMask??!1),"outputConfidenceMasks"in t&&(this.outputConfidenceMasks=t.outputConfidenceMasks??!0),super.l(t)}X(t,e,n,r){const s="function"!=typeof n?n:{};this.j="function"==typeof n?n:r,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,n=this.I+1,r=new sh;const i=new th;var o=new Ga;if(gn(o,1,255),on(i,0,12,o),e.keypoint&&e.scribble)throw Error("Cannot provide both keypoint and scribble.");if(e.keypoint){var a=new Ja;pn(a,3,!0),mn(a,1,e.keypoint.x),mn(a,2,e.keypoint.y),an(i,5,eh,a)}else{if(!e.scribble)throw Error("Must provide either a keypoint or a scribble.");for(a of(o=new Qa,e.scribble))pn(e=new Ja,3,!0),mn(e,1,a.x),mn(e,2,a.y),hn(o,Ja,e);an(i,15,eh,o)}hn(r,th,i),this.g.addProtoToStream(r.g(),"drishti.RenderData","roi_in",n),ha(this,t,s);t:{try{const t=new Na(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var h=t;break t}this.j(t)}finally{bo(this)}h=void 0}return h}m(){var t=new is;rs(t,"image_in"),rs(t,"roi_in"),rs(t,"norm_rect_in");const e=new Nr;vn(e,ji,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),qr(n,"IMAGE:image_in"),qr(n,"ROI:roi_in"),qr(n,"NORM_RECT:norm_rect_in"),n.o(e),ns(t,n),wo(this,t),this.outputConfidenceMasks&&(ss(t,"confidence_masks"),Kr(n,"CONFIDENCE_MASKS:confidence_masks"),Ao(this,"confidence_masks"),this.g.T("confidence_masks",((t,e)=>{this.confidenceMasks=t.map((t=>ua(this,t,!this.j))),_o(this,e)})),this.g.attachEmptyPacketListener("confidence_masks",(t=>{this.confidenceMasks=[],_o(this,t)}))),this.outputCategoryMask&&(ss(t,"category_mask"),Kr(n,"CATEGORY_MASK:category_mask"),Ao(this,"category_mask"),this.g.S("category_mask",((t,e)=>{this.categoryMask=ua(this,t,!this.j),_o(this,e)})),this.g.attachEmptyPacketListener("category_mask",(t=>{this.categoryMask=void 0,_o(this,t)}))),ss(t,"quality_scores"),Kr(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((t,e)=>{this.qualityScores=t,_o(this,e)})),this.g.attachEmptyPacketListener("quality_scores",(t=>{this.categoryMask=void 0,_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};ih.prototype.segment=ih.prototype.X,ih.prototype.setOptions=ih.prototype.o,ih.createFromModelPath=function(t,e){return oa(ih,t,{baseOptions:{modelAssetPath:e}})},ih.createFromModelBuffer=function(t,e){return oa(ih,t,{baseOptions:{modelAssetBuffer:e}})},ih.createFromOptions=function(t,e){return oa(ih,t,e)};var oh=class extends la{constructor(t,e){super(new ia(t,e),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},this.h=new Vi,t=new ei,on(this.h,0,1,t)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){return void 0!==t.displayNamesLocale?Ve(this.h,2,pe(t.displayNamesLocale)):"displayNamesLocale"in t&&Ve(this.h,2),void 0!==t.maxResults?gn(this.h,3,t.maxResults):"maxResults"in t&&Ve(this.h,3),void 0!==t.scoreThreshold?mn(this.h,4,t.scoreThreshold):"scoreThreshold"in t&&Ve(this.h,4),void 0!==t.categoryAllowlist?Je(this.h,5,t.categoryAllowlist):"categoryAllowlist"in t&&Ve(this.h,5),void 0!==t.categoryDenylist?Je(this.h,6,t.categoryDenylist):"categoryDenylist"in t&&Ve(this.h,6),this.l(t)}F(t,e){return this.j={detections:[]},ha(this,t,e),this.j}G(t,e,n){return this.j={detections:[]},ca(this,t,n,e),this.j}m(){var t=new is;rs(t,"input_frame_gpu"),rs(t,"norm_rect"),ss(t,"detections");const e=new Nr;vn(e,zi,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),qr(n,"IMAGE:input_frame_gpu"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"DETECTIONS:detections"),n.o(e),ns(t,n),this.g.attachProtoVectorListener("detections",((t,e)=>{for(const e of t)t=Ts(e),this.j.detections.push(Qi(t));_o(this,e)})),this.g.attachEmptyPacketListener("detections",(t=>{_o(this,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};function ah(t){t.landmarks=[],t.worldLandmarks=[],t.v=void 0}function hh(t){try{const e=new class{constructor(t,e,n){this.landmarks=t,this.worldLandmarks=e,this.g=n}close(){this.g?.forEach((t=>{t.close()}))}}(t.landmarks,t.worldLandmarks,t.v);if(!t.s)return e;t.s(e)}finally{bo(t)}}oh.prototype.detectForVideo=oh.prototype.G,oh.prototype.detect=oh.prototype.F,oh.prototype.setOptions=oh.prototype.o,oh.createFromModelPath=async function(t,e){return oa(oh,t,{baseOptions:{modelAssetPath:e}})},oh.createFromModelBuffer=function(t,e){return oa(oh,t,{baseOptions:{modelAssetBuffer:e}})},oh.createFromOptions=function(t,e){return oa(oh,t,e)};var ch=class extends la{constructor(t,e){super(new ia(t,e),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,this.h=new qi,t=new ei,on(this.h,0,1,t),this.C=new Hi,on(this.h,0,3,this.C),this.j=new Wi,on(this.h,0,2,this.j),gn(this.j,4,1),mn(this.j,2,.5),mn(this.C,2,.5),mn(this.h,4,.5)}get baseOptions(){return nn(this.h,ei,1)}set baseOptions(t){on(this.h,0,1,t)}o(t){return"numPoses"in t&&gn(this.j,4,t.numPoses??1),"minPoseDetectionConfidence"in t&&mn(this.j,2,t.minPoseDetectionConfidence??.5),"minTrackingConfidence"in t&&mn(this.h,4,t.minTrackingConfidence??.5),"minPosePresenceConfidence"in t&&mn(this.C,2,t.minPosePresenceConfidence??.5),"outputSegmentationMasks"in t&&(this.outputSegmentationMasks=t.outputSegmentationMasks??!1),this.l(t)}F(t,e,n){const r="function"!=typeof e?e:{};return this.s="function"==typeof e?e:n,ah(this),ha(this,t,r),hh(this)}G(t,e,n,r){const s="function"!=typeof n?n:{};return this.s="function"==typeof n?n:r,ah(this),ca(this,t,s,e),hh(this)}m(){var t=new is;rs(t,"image_in"),rs(t,"norm_rect"),ss(t,"normalized_landmarks"),ss(t,"world_landmarks"),ss(t,"segmentation_masks");const e=new Nr;vn(e,Yi,this.h);const n=new Yr;$r(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),qr(n,"IMAGE:image_in"),qr(n,"NORM_RECT:norm_rect"),Kr(n,"NORM_LANDMARKS:normalized_landmarks"),Kr(n,"WORLD_LANDMARKS:world_landmarks"),n.o(e),ns(t,n),wo(this,t),this.g.attachProtoVectorListener("normalized_landmarks",((t,e)=>{this.landmarks=[];for(const e of t)t=Ps(e),this.landmarks.push(to(t));_o(this,e)})),this.g.attachEmptyPacketListener("normalized_landmarks",(t=>{this.landmarks=[],_o(this,t)})),this.g.attachProtoVectorListener("world_landmarks",((t,e)=>{this.worldLandmarks=[];for(const e of t)t=Fs(e),this.worldLandmarks.push(eo(t));_o(this,e)})),this.g.attachEmptyPacketListener("world_landmarks",(t=>{this.worldLandmarks=[],_o(this,t)})),this.outputSegmentationMasks&&(Kr(n,"SEGMENTATION_MASK:segmentation_masks"),Ao(this,"segmentation_masks"),this.g.T("segmentation_masks",((t,e)=>{this.v=t.map((t=>ua(this,t,!this.s))),_o(this,e)})),this.g.attachEmptyPacketListener("segmentation_masks",(t=>{this.v=[],_o(this,t)}))),t=t.g(),this.setGraph(new Uint8Array(t),!0)}};let uh;ch.prototype.detectForVideo=ch.prototype.G,ch.prototype.detect=ch.prototype.F,ch.prototype.setOptions=ch.prototype.o,ch.createFromModelPath=function(t,e){return oa(ch,t,{baseOptions:{modelAssetPath:e}})},ch.createFromModelBuffer=function(t,e){return oa(ch,t,{baseOptions:{modelAssetBuffer:e}})},ch.createFromOptions=function(t,e){return oa(ch,t,e)},ch.POSE_CONNECTIONS=na([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);const lh=75;let fh;function dh(t,e,n){return{x:t.x*e,y:t.y*n,z:t.z}}function ph(t,e){return Math.hypot(t.x-e.x,t.y-e.y)}t.initialize=function(t,n){return e(this,void 0,void 0,(function*(){const e=yield ho.forVisionTasks(t);uh=yield Ta.createFromOptions(e,{baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/1/face_landmarker.task",delegate:"GPU"},runningMode:"VIDEO"}),fh=n}))},t.predict=function(t){return e(this,void 0,void 0,(function*(){return function(t,e,n){if(null==t.faceLandmarks||null==t.faceLandmarks[0])return{error:"No landmarks detected!",ipd:0,faceWidth:0};const r=t.faceLandmarks[0],s=ph(dh(r[468],e,n),dh(r[473],e,n));if(s<lh)return{error:"User is too far!",ipd:0,faceWidth:0};const i=dh(r[469],e,n),o=dh(r[470],e,n),a=dh(r[471],e,n),h=dh(r[472],e,n),c=dh(r[474],e,n),u=dh(r[475],e,n),l=dh(r[476],e,n),f=dh(r[477],e,n),d=[ph(i,a),ph(o,h),ph(c,l),ph(u,f)],p=.5*(d[0]+d[2]),g=dh(r[127],e,n);return{ipd:11.7/p*s,faceWidth:11.7/p*ph(dh(r[356],e,n),g)}}(uh.detectForVideo(fh,t),fh.videoWidth,fh.videoHeight)}))}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,t,n,o){return new(n||(n=Promise))((function(i,r){function s(e){try{c(o.next(e))}catch(e){r(e)}}function a(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((o=o.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const t=[Uint8Array,Uint32Array],n=t.length-2,o=["addEventListener","alert","atob","blur","btoa","cancelAnimationFrame","localStorage","location","locationbar","hash","hasOwnProperty","host","hostname","href","requestAnimationFrame"],i=[2,12,7,1],r=window[o[i[i[n]]]][o[i[i[i.length-1]]]],s=r.charCodeAt(n),a=s^s,c=new t[1]([a]);function d(){const e=(new TextEncoder).encode(r),t=o.map((e=>e.length));for(let n=0;n<e.length;n++)e[n]^=t[n%t.length];return window[o[t[2]]](String.fromCodePoint(...e))}const l=[1e3,2e3,4e3],u=l.length;function h(t,n=0){return e(this,void 0,void 0,(function*(){try{return yield t()}catch(e){if(n>=u)throw e;return yield new Promise((e=>setTimeout(e,l[n]))),h(t,n+1)}}))}let p;const m=()=>p,f=e=>{let t=!1;const n=[];e.then((()=>{t=!0,n.forEach((e=>e()))}));const o=e=>{t?e():n.push(e)},i={organizationId:"Unknown",sku:"Unknown"};let r,s=0;function a(e,t={}){t=Object.assign(Object.assign(Object.assign({},t),i),{vtoTime:(performance.now()-s)/1e3,vtoSessionId:r}),o((()=>{const{trackEventImpl:n}=window.ShopAR__analytics;n(e,t)}))}return{init:function(e,t){i.organizationId=e||"Unknown",i.sku=t||"Unknown",s=performance.now(),o((()=>{const{initializeImpl:e,uuidv4:t}=window.ShopAR__analytics;e(),r=t()}))},initialized:()=>a("initialized"),vtoLaunched:()=>a("vto_launched"),vtoCameraAsked:()=>a("vto_camera_asked"),vtoCameraGranted:()=>a("vto_camera_granted"),vtoCameraDenied:e=>a("vto_camera_denied",{error:e}),vtoInitSuccess:()=>a("vto_init_success"),previewLaunched:()=>a("preview_launched"),previewInteracted:()=>a("preview_interacted")}};let w;const v=()=>w,g=()=>{const t=m(),n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.width="100%",o.height="100%",o.zIndex="1",o.display="none";const i=window.ShopAR__DeepAR;let r,s;const a={Glasses:"rigidFaceTrackingInit",Shoes:"footInit",Watches:void 0},c={Glasses:"user",Shoes:"environment",Watches:"environment"};let d;let l=!0;return{domElement:n,init:(o,d)=>e(void 0,void 0,void 0,(function*(){const l=null!=d?a[d]:void 0,u=null!=d?c[d]:"user";return null==s&&(s=e(void 0,void 0,void 0,(function*(){r=yield i.deepar.initialize({licenseKey:o||"your_license_key_goes_here",previewElement:n,additionalOptions:{hint:l,cameraConfig:{facingMode:u,cameraPermissionAsked:()=>{t.vtoCameraAsked()},cameraPermissionGranted:()=>{t.vtoCameraGranted()}}}}),t.vtoInitSuccess()}))),s})),parse:t=>e(void 0,void 0,void 0,(function*(){return null==d&&(d=r.switchEffect(t)),d})),isPaused:()=>l,resume:()=>{l=!1,r.setPaused(l),o.display=""},pause:()=>{l=!0,r.setPaused(l),o.display="none"}}};let y;const E=()=>y,C=()=>{const t=m(),n=document.createElement("canvas"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.width="100%",o.height="100%",o.zIndex="1";const i=window.ShopAR__THREE,r=i.THREE,s=new r.WebGLRenderer({canvas:n,antialias:!0});s.outputEncoding=r.sRGBEncoding,s.toneMapping=r.LinearToneMapping,s.toneMappingExposure=Math.pow(1.2,5),s.setPixelRatio(2*window.devicePixelRatio),s.setClearColor(new r.Color(16777215)),s.useLegacyLights=!1;const a=new r.PerspectiveCamera(60,1,2,100);a.position.set(8,6,14);const c=new r.Scene,d=new i.OrbitControls(a,s.domElement);d.target.set(0,.03,0),d.dampingFactor=.3;{const e=function(e,t){let n;return()=>{n||e(),clearTimeout(n),n=setTimeout((()=>{n=void 0}),t)}}((()=>t.previewInteracted()),200);d.addEventListener("end",e)}{const e=new r.AmbientLight(new r.Color(16777215),.3),t=new r.DirectionalLight(new r.Color(16777215),.1);t.position.set(10,0,10);const n=new r.DirectionalLight(new r.Color(16777215),.1);n.position.set(-10,0,10),c.add(e,t,n)}const l=()=>{const e=n.clientWidth,t=n.clientHeight;n.width===e&&n.height===t||(s.setSize(e,t,!1),a.aspect=e/t,a.updateProjectionMatrix())};let u;let h=!1;const p=()=>{h||(requestAnimationFrame(p),l(),d.update(),s.render(c,a))};return{domElement:n,updateSize:l,parse:(t,n)=>e(void 0,void 0,void 0,(function*(){return null==u&&(u=e(void 0,void 0,void 0,(function*(){const e=new i.RGBELoader,o=function(e,t){const n=e.THREE,o=new n.DataTexture(t.data,t.width,t.height,void 0,t.type,void 0,n.ClampToEdgeWrapping,n.ClampToEdgeWrapping,n.LinearFilter,n.LinearFilter,1,n.LinearEncoding);return o.flipY=!0,o.generateMipmaps=!1,o.needsUpdate=!0,o}(i,e.parse(n));o.mapping=r.EquirectangularReflectionMapping,o.encoding=r.LinearEncoding,c.environment=o;const a=(new i.GLTFLoader).setDRACOLoader((new i.DRACOLoader).setDecoderPath(`https://cdn.jsdelivr.net/npm/three@0.${r.REVISION}.0/examples/jsm/libs/draco/gltf/`)).setKTX2Loader((new i.KTX2Loader).setTranscoderPath(`https://cdn.jsdelivr.net/npm/three@0.${r.REVISION}.0/examples/jsm/libs/basis/`).detectSupport(s)).setMeshoptDecoder("function"==typeof i.MeshoptDecoder?i.MeshoptDecoder():i.MeshoptDecoder),d=yield a.parseAsync(t.buffer,"");c.add(d.scene),c.traverse((e=>{if(e instanceof r.Mesh){const t=e.material;t.depthWrite=!0,t instanceof r.MeshPhysicalMaterial&&t.transmissionMap&&(t.transmission=1,t.toneMapped=!1,t.fog=!1,t.needsUpdate=!0)}}))}))),u})),isPaused:()=>h,resume:()=>{h=!1,p(),o.display=""},pause:()=>{h=!0,o.display="none"}}},b="0.0.3";let A=`https://cdn.jsdelivr.net/npm/shopar-plugin@${b}/dist`;const P={update:e=>{null!=e&&(A=e.endsWith("/")?e.substring(0,e.length-1):e)},toString:()=>A};function S(e,t){const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("width",e),n.setAttribute("height",e);{const o=document.createElementNS("http://www.w3.org/2000/svg","image");o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),o.setAttribute("width",e),o.setAttribute("height",e),n.appendChild(o)}return n}function L(e,t,n,o){const i=document.createElement("button");if(i.id=e,i.type="button",i.className="shopar-btn",null!=o){const e=S("1.75rem",o);i.appendChild(e)}{const e=document.createElement("span");e.textContent=t,i.appendChild(e)}return i.ariaLabel=n,i.style.zIndex="2",i}function R(t){return e(this,void 0,void 0,(function*(){const n=yield h((()=>e(this,void 0,void 0,(function*(){const e=yield fetch(t).catch((e=>{throw console.error(e),new Error("Resource unavailable.")}));if(!e.ok)throw new Error(`Resource download failed with status ${e.status}.`);return e}))));try{return yield(yield n.blob()).arrayBuffer()}catch(e){throw console.error(e),new Error("Resource has invalid body.")}}))}function k(t){return e(this,void 0,void 0,(function*(){if("function"!=typeof importScripts){const e=document.createElement("script");return e.setAttribute("src",t),e.setAttribute("crossorigin","anonymous"),new Promise((t=>{e.addEventListener("load",(()=>t()),!1),e.addEventListener("error",(()=>t()),!1),document.body.appendChild(e)}))}importScripts(t.toString())}))}function $(n,o,i){return e(this,void 0,void 0,(function*(){let r="glb".charCodeAt(0),s="3d".charCodeAt(0);r>>=1,r+=s;const d=String.fromCharCode(r+14);s>>=2,r^=s+2;const l=String.fromCharCode(r-3);r^=5;const u=String.fromCharCode(r-7);r^=2;const p=String.fromCharCode(r-7),m=window[`${u}${l+d+(typeof[])[(+!+[]+ +!+[])*(+!+[]+ +!+[])]}${p}`],f=yield h((()=>e(this,void 0,void 0,(function*(){const e=yield m(`${n}`).catch((()=>{throw new Error("Unknown error.")}));if(!e.ok)throw new Error("Unknown error.");return e})))),w=new t[0](yield(yield f.blob().catch((()=>{throw new Error("Unknown error.")}))).arrayBuffer().catch((()=>{throw new Error("Unknown error.")})));i+=s;const v=w.byteLength;if(c[a]=Math.min(76,o)*((r>>5)-1),152===c[a]&&(c[a]=v),i==a)return w;i=a,i^=a;for(let e=0,t=w.length;e<t;e++)c[a]^=c[i]<<13,c[a]^=c[i]>>17,c[a]^=c[i]<<5,w[e]=w[e]^c[a];return i^=c[0],i^=c[1],i^=c[2],w}))}function x(e,t){if(null==e)throw new Error(`'${t}' not specified.`)}function I(e,t){if("string"!=typeof e)throw new Error(`'${t}' must be a string.`)}function _(e){const{apiKey:t,sku:n,targetElement:o,baseUrl:i}=e;x(t,"apiKey"),I(t,"apiKey"),x(n,"sku"),I(n,"sku"),x(o,"targetElement"),function(e,t){if(!(e instanceof HTMLElement))throw new Error(`'${t}' must be an HTMLElement.`)}(o,"targetElement"),null!=i&&I(i,"baseUrl")}var M;!function(e){e[e.None=0]="None",e[e.AR=1]="AR",e[e.Preview=2]="Preview"}(M||(M={}));let T,N=M.None,U=0;const D=[];let j;function z(){if(N===M.AR){const e=v();null==e||e.isPaused()||e.pause()}else if(N===M.Preview){const e=E();null==e||e.isPaused()||e.pause()}}function G(e){if(N=e,N===M.None){const e=D.filter((e=>null!=e));T.replaceChildren(...e)}else T.replaceChildren(j)}function O(t){return e(this,void 0,void 0,(function*(){_(t);const{apiKey:n,sku:o,targetElement:i}=t;P.update(t.baseUrl);const r=function(t,n){return e(this,void 0,void 0,(function*(){const o=yield h((()=>e(this,void 0,void 0,(function*(){const e=yield fetch(`https://dashboard.shopar.ai/plugin?${new URLSearchParams({apiKey:t,sku:n,sid:d()})}`).catch((e=>{throw console.error(e),new Error("API unavailable.")}));if(!e.ok)throw new Error(`API call failed with status ${e.status}.`);return e}))));try{return yield o.json()}catch(e){throw console.error(e),new Error("API returned invalid body.")}}))}(n,o),s=(a=k(`${P}/shopar-analytics.js`),null==p&&(p=f(a)),p);var a;s.init(n,o),function(e){const t=getComputedStyle(e);if(!["static","relative"].includes(t.position))throw new Error(`Invalid targetElement's position. Expected 'static' or 'relative', but found '${t.position}'.`)}(i),i.style.position="relative";const c=function(){const e=document.createElement("div"),t=e.style;return t.position="absolute",t.top="0",t.bottom="0",t.left="0",t.right="0",e}();i.appendChild(c),T=function(){const e=document.createElement("div");return e.role="group",e.ariaLabel="Preview type chooser",e.className="shopar-btn-container",e}(),c.appendChild(T),j=L("shopar-btn-close","Close","Close ShopAR view",`${P}/img/icons/close.svg`),j.onclick=()=>{l.hide(),u.hide(),z(),G(M.None)};const l=function(){const e=document.createElement("div"),t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=document.createElement("div");return i.className="shopar-spinner",n.appendChild(i),{container:e,show:()=>{t.display=""},hide:()=>{t.display="none"}}}();c.appendChild(l.container);const u=function(){const e=document.createElement("div"),t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.flexDirection="column",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=S("4rem",`${P}/img/icons/close.svg`);n.appendChild(i);const r=document.createElement("div");r.className="shopar-error-title",r.textContent="Camera Error",n.appendChild(r);const s=document.createElement("div");return s.className="shopar-error-body",s.textContent="Please refresh the page and allow the use of camera.",n.appendChild(s),{container:e,show:()=>{t.display=""},hide:()=>{t.display="none"}}}();c.appendChild(u.container);const{category:m,arUrl:v,arKey:E,previewUrl:b}=yield r;if(s.initialized(),null!=v){const t=Promise.all([k(`${P}/shopar-deepar.js`),R(v)]),n={Glasses:`${P}/img/icons/glasses.svg`,Shoes:`${P}/img/icons/shoe.svg`,Watches:`${P}/img/icons/watch.svg`},o=null!=m&&n[m]||n.Glasses;D[M.AR]=L("shopar-btn-vto","Try-on","Launch ShopAR virtual try-on",o),T.appendChild(D[M.AR]),D[M.AR].onclick=()=>e(this,void 0,void 0,(function*(){const e=++U,n=M.AR,o=N===n?M.None:n;if(z(),G(o),N===M.None)return;s.vtoLaunched(),u.hide(),l.show();const[,i]=yield t;if(U!==e)return;const r=(null==w&&(w=g()),w);c.contains(r.domElement)||c.appendChild(r.domElement);try{yield r.init(E,m)}catch(e){return s.vtoCameraDenied(e),l.hide(),void u.show()}U===e&&(yield r.parse(i),U===e&&(r.resume(),l.hide()))}))}if(null!=b){const t=255,n=Promise.all([k(`${P}/shopar-three.js`),$(b,(new Date).getTime()+t,Math.random()*t),R(`${P}/env/studio2.hdr`)]);D[M.Preview]=L("shopar-btn-3d","3D","Launch ShopAR 3D preview",`${P}/img/icons/cube.svg`),T.appendChild(D[M.Preview]),D[M.Preview].onclick=()=>e(this,void 0,void 0,(function*(){const e=++U,t=M.Preview,o=N===t?M.None:t;if(z(),G(o),N===M.None)return;s.previewLaunched(),u.hide(),l.show();const[,i,r]=yield n;if(U!==e)return;const a=(null==y&&(y=C()),y);c.contains(a.domElement)||(c.appendChild(a.domElement),a.updateSize()),yield a.parse(i,r),U===e&&(a.resume(),l.hide())}))}}))}const K={setup:function(t){return e(this,void 0,void 0,(function*(){!function(t,n){e(this,void 0,void 0,(function*(){try{yield n()}catch(e){throw e instanceof Error?new K.PluginError(`${t} failed: ${e.message}`):(console.error(e),new K.PluginError(`${t} failed.`))}}))}("setup",(()=>O(t)))}))},version:b,PluginError:class extends Error{constructor(e){super(`ShopAR Plugin: ${e}`)}}};export{K as plugin};
|
|
1
|
+
function e(e,t,n,o){return new(n||(n=Promise))((function(i,r){function s(e){try{c(o.next(e))}catch(e){r(e)}}function a(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((o=o.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const t=[Uint8Array,Uint32Array],n=t.length-2,o=["addEventListener","alert","atob","blur","btoa","cancelAnimationFrame","localStorage","location","locationbar","hash","hasOwnProperty","host","hostname","href","requestAnimationFrame"],i=[2,12,7,1],r=window[o[i[i[n]]]][o[i[i[i.length-1]]]],s=r.charCodeAt(n),a=s^s,c=new t[1]([a]);function d(){const e=(new TextEncoder).encode(r),t=o.map((e=>e.length));for(let n=0;n<e.length;n++)e[n]^=t[n%t.length];return window[o[t[2]]](String.fromCodePoint(...e))}const l=[1e3,2e3,4e3],u=l.length;function h(t,n=0){return e(this,void 0,void 0,(function*(){try{return yield t()}catch(e){if(n>=u)throw e;return yield new Promise((e=>setTimeout(e,l[n]))),h(t,n+1)}}))}let p;const f=()=>p,v=e=>{let t=!1;const n=[];e.then((()=>{t=!0,n.forEach((e=>e()))}));const o=e=>{t?e():n.push(e)},i={organizationId:"Unknown",sku:"Unknown"};let r,s=0;function a(e,t={}){t=Object.assign(Object.assign(Object.assign({},t),i),{vtoTime:(performance.now()-s)/1e3,vtoSessionId:r}),o((()=>{const{trackEventImpl:n}=window.ShopAR__analytics;n(e,t)}))}return{init:function(e,t){i.organizationId=e||"Unknown",i.sku=t||"Unknown",s=performance.now(),o((()=>{const{initializeImpl:e,uuidv4:t}=window.ShopAR__analytics;e(),r=t()}))},initialized:()=>a("initialized"),vtoLaunched:()=>a("vto_launched"),vtoCameraAsked:()=>a("vto_camera_asked"),vtoCameraGranted:()=>a("vto_camera_granted"),vtoCameraDenied:e=>a("vto_camera_denied",{error:e}),vtoInitSuccess:()=>a("vto_init_success"),previewLaunched:()=>a("preview_launched"),previewInteracted:()=>a("preview_interacted")}};const m="0.0.4-alpha.0";let w=`https://cdn.jsdelivr.net/npm/shopar-plugin@${m}/dist`;const g={update:e=>{null!=e&&(w=e.endsWith("/")?e.substring(0,e.length-1):e)},toString:()=>w},y=10;function E(t,n){return e(this,void 0,void 0,(function*(){const{ShopAR__IPD:o}=window;yield o.initialize(`${g}/wasm/mediapipe`,t);const i=[];setInterval((()=>e(this,void 0,void 0,(function*(){const{error:e,ipd:t}=yield o.predict(performance.now());if(null==e){!function(e,t){e.length>y&&e.splice(0,1);e.push(t)}(i,t);const e=62/(i.reduce(((e,t)=>t+e),0)/i.length);n.changeParameterVector("GLASSES","","scale",e,e,e,0),n.changeParameterVector("shopar_glasses","","scale",e,e,e,0)}}))),200)}))}function b(e,t,n){const o=null==e?void 0:e.querySelector(`#${t}`);if(null!=o)return o;const i=n();return null==e||e.appendChild(i),i}function C(e,t,n){const o=b(e,t,n),i=o.style;return{element:o,show:()=>{i.display=""},hide:()=>{i.display="none"}}}const S="shopar-deepar-output";function A(){const e=document.createElement("div");e.id=S;const t=e.style;return t.position="absolute",t.top="0",t.left="0",t.width="100%",t.height="100%",t.zIndex="1",t.display="none",e}let P;const L=()=>P,R=t=>{const n=f(),o=function(e){return b(e,S,A)}(t),i=o.style;let r,s;let a;let c=!0;return{domElement:o,init:(t,i)=>e(void 0,void 0,void 0,(function*(){const a=function(e){const t={Glasses:"rigidFaceTrackingInit",Shoes:"footInit",Watches:void 0};return null==e?void 0:t[e]}(i),c=function(e){var t;const n={Glasses:"user",Shoes:"environment",Watches:"environment"};return null==e?"user":null!==(t=n[e])&&void 0!==t?t:"user"}(i);return null==s&&(s=e(void 0,void 0,void 0,(function*(){if(null==(null===(s=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===s?void 0:s.getUserMedia))throw new Error("No camera available!");var s;const d=function(e){return navigator.mediaDevices.getUserMedia({video:{facingMode:e,frameRate:{ideal:30},width:{ideal:640},height:{ideal:360}}})}(c);n.vtoCameraAsked(),r=yield window.ShopAR__DeepAR.deepar.initialize({licenseKey:t||"your_license_key_goes_here",previewElement:o,additionalOptions:{hint:a,cameraConfig:{disableDefaultCamera:!0}}});const l=yield function(t){return e(this,void 0,void 0,(function*(){const e=document.createElement("video");return e.setAttribute("playsinline","playsinline"),e.srcObject=yield t,e}))}(d);n.vtoCameraGranted(),yield function(t,n,o){return e(this,void 0,void 0,(function*(){yield new Promise((i=>{n.onloadedmetadata=()=>{n.play().then((()=>e(this,void 0,void 0,(function*(){t.setVideoElement(n,o),i()}))))}}))}))}(r,l,"user"===c),"Glasses"===i&&E(l,r),n.vtoInitSuccess()}))),s})),parse:t=>e(void 0,void 0,void 0,(function*(){return null==a&&(a=r.switchEffect(t)),a})),isPaused:()=>c,resume:()=>{c=!1,r.setPaused(c),i.display=""},pause:()=>{c=!0,r.setPaused(c),i.display="none"}}};const k="shopar-three-output";function $(){const e=document.createElement("canvas");e.id=k;const t=e.style;return t.position="absolute",t.top="0",t.left="0",t.width="100%",t.height="100%",t.zIndex="1",e}let x;const I=()=>x,_=t=>{const n=f(),o=function(e){return b(e,k,$)}(t),i=o.style,r=window.ShopAR__THREE,s=r.THREE,a=new s.WebGLRenderer({canvas:o,antialias:!0});a.outputEncoding=s.sRGBEncoding,a.toneMapping=s.LinearToneMapping,a.toneMappingExposure=Math.pow(1,5),a.setPixelRatio(2*window.devicePixelRatio),a.setClearColor(new s.Color(16777215));const c=new s.PerspectiveCamera(60,1,2,100);c.position.set(8,6,14);const d=new s.Scene,l=new r.OrbitControls(c,a.domElement);l.target.set(0,.03,0),l.dampingFactor=.3;{const e=function(e,t){let n;return()=>{n||e(),clearTimeout(n),n=setTimeout((()=>{n=void 0}),t)}}((()=>n.previewInteracted()),200);l.addEventListener("end",e)}{const e=new s.AmbientLight(new s.Color(16777215),.3),t=new s.DirectionalLight(new s.Color(16777215),1);t.position.set(0,60,60),d.add(e,t)}const u=()=>{const e=o.clientWidth,t=o.clientHeight;o.width===e&&o.height===t||(a.setSize(e,t,!1),c.aspect=e/t,c.updateProjectionMatrix())};let h;let p=!1;const v=()=>{p||(requestAnimationFrame(v),u(),l.update(),a.render(d,c))};return{domElement:o,updateSize:u,parse:(t,n)=>e(void 0,void 0,void 0,(function*(){return null==h&&(h=e(void 0,void 0,void 0,(function*(){const e=new r.RGBELoader,o=function(e,t){const n=e.THREE,o=new n.DataTexture(t.data,t.width,t.height,void 0,t.type,void 0,n.ClampToEdgeWrapping,n.ClampToEdgeWrapping,n.LinearFilter,n.LinearFilter,1,n.LinearEncoding);return o.flipY=!0,o.generateMipmaps=!1,o.needsUpdate=!0,o}(r,e.parse(n));o.mapping=s.EquirectangularReflectionMapping,o.encoding=s.LinearEncoding,d.environment=o;const i=(new r.GLTFLoader).setDRACOLoader((new r.DRACOLoader).setDecoderPath(`https://cdn.jsdelivr.net/npm/three@0.${s.REVISION}.0/examples/jsm/libs/draco/gltf/`)).setKTX2Loader((new r.KTX2Loader).setTranscoderPath(`https://cdn.jsdelivr.net/npm/three@0.${s.REVISION}.0/examples/jsm/libs/basis/`).detectSupport(a)).setMeshoptDecoder("function"==typeof r.MeshoptDecoder?r.MeshoptDecoder():r.MeshoptDecoder),c=yield i.parseAsync(t.buffer,"");d.add(c.scene),d.traverse((e=>{if(e instanceof s.Mesh){const t=e.material;t.depthWrite=!0,t instanceof s.MeshPhysicalMaterial&&t.transmissionMap&&(t.transmission=1,t.toneMapped=!1,t.fog=!1,t.needsUpdate=!0)}}))}))),h})),isPaused:()=>p,resume:()=>{p=!1,v(),i.display=""},pause:()=>{p=!0,i.display="none"}}};function U(e,t){const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("width",e),n.setAttribute("height",e);{const o=document.createElementNS("http://www.w3.org/2000/svg","image");o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),o.setAttribute("width",e),o.setAttribute("height",e),n.appendChild(o)}return n}const M="shopar-error";function T(){const e=document.createElement("div");e.id=M;const t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.flexDirection="column",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=U("4rem",`${g}/img/icons/close.svg`);n.appendChild(i);const r=document.createElement("div");r.className="shopar-error-title",r.textContent="Camera Error",n.appendChild(r);const s=document.createElement("div");return s.className="shopar-error-body",s.textContent="Please refresh the page and allow the use of camera.",n.appendChild(s),e}function D(e,t){return b(e,t.id,(()=>function(e){const{id:t,iconUrl:n,textContent:o,ariaLabel:i}=e,r=document.createElement("button");if(r.id=t,r.type="button",r.className="shopar-btn",null!=n){const e=U("1.75rem",n);r.appendChild(e)}{const e=document.createElement("span");e.textContent=o,r.appendChild(e)}return r.ariaLabel=i,r.style.zIndex="2",r}(t)))}const N="shopar-control";function j(){const e=document.createElement("div");return e.id=N,e.role="group",e.ariaLabel="Preview type chooser",e.className="shopar-btn-container",e}const z="shopar-loading";function G(){const e=document.createElement("div");e.id=z;const t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=document.createElement("div");return i.className="shopar-spinner",n.appendChild(i),e}const O="shopar-main";function K(){const e=document.createElement("div");e.id=O;const t=e.style;return t.position="absolute",t.top="0",t.bottom="0",t.left="0",t.right="0",e}function W(t){return e(this,void 0,void 0,(function*(){const n=yield h((()=>e(this,void 0,void 0,(function*(){const e=yield fetch(t).catch((e=>{throw console.error(e),new Error("Resource unavailable.")}));if(!e.ok)throw new Error(`Resource download failed with status ${e.status}.`);return e}))));try{return yield(yield n.blob()).arrayBuffer()}catch(e){throw console.error(e),new Error("Resource has invalid body.")}}))}function F(t){return e(this,void 0,void 0,(function*(){if("function"!=typeof importScripts){const e=document.createElement("script");return e.setAttribute("src",t),e.setAttribute("crossorigin","anonymous"),new Promise((t=>{e.addEventListener("load",(()=>t()),!1),e.addEventListener("error",(()=>t()),!1),document.body.appendChild(e)}))}importScripts(t.toString())}))}function H(n,o,i){return e(this,void 0,void 0,(function*(){let r="glb".charCodeAt(0),s="3d".charCodeAt(0);r>>=1,r+=s;const d=String.fromCharCode(r+14);s>>=2,r^=s+2;const l=String.fromCharCode(r-3);r^=5;const u=String.fromCharCode(r-7);r^=2;const p=String.fromCharCode(r-7),f=window[`${u}${l+d+(typeof[])[(+!+[]+ +!+[])*(+!+[]+ +!+[])]}${p}`],v=yield h((()=>e(this,void 0,void 0,(function*(){const e=yield f(`${n}`).catch((()=>{throw new Error("Unknown error.")}));if(!e.ok)throw new Error("Unknown error.");return e})))),m=new t[0](yield(yield v.blob().catch((()=>{throw new Error("Unknown error.")}))).arrayBuffer().catch((()=>{throw new Error("Unknown error.")})));i+=s;const w=m.byteLength;if(c[a]=Math.min(76,o)*((r>>5)-1),152===c[a]&&(c[a]=w),i==a)return m;i=a,i^=a;for(let e=0,t=m.length;e<t;e++)c[a]^=c[i]<<13,c[a]^=c[i]>>17,c[a]^=c[i]<<5,m[e]=m[e]^c[a];return i^=c[0],i^=c[1],i^=c[2],m}))}function V(e,t){if(null==e)throw new Error(`'${t}' not specified.`)}function q(e,t){if("string"!=typeof e)throw new Error(`'${t}' must be a string.`)}function B(e){const{apiKey:t,sku:n,targetElement:o,baseUrl:i}=e;V(t,"apiKey"),q(t,"apiKey"),V(n,"sku"),q(n,"sku"),V(o,"targetElement"),function(e,t){if(!(e instanceof HTMLElement))throw new Error(`'${t}' must be an HTMLElement.`)}(o,"targetElement"),null!=i&&q(i,"baseUrl")}var X;!function(e){e[e.None=0]="None",e[e.AR=1]="AR",e[e.Preview=2]="Preview"}(X||(X={}));let Y,J=X.None,Q=0;const Z=[];let ee;function te(){if(J===X.AR){const e=L();null==e||e.isPaused()||e.pause()}else if(J===X.Preview){const e=I();null==e||e.isPaused()||e.pause()}}function ne(e){if(J=e,J===X.None){const e=Z.filter((e=>null!=e));Y.replaceChildren(...e)}else Y.replaceChildren(ee)}function oe(t){return e(this,void 0,void 0,(function*(){B(t);const{apiKey:n,sku:o,targetElement:i}=t;g.update(t.baseUrl);const r=function(t,n){return e(this,void 0,void 0,(function*(){const o=yield h((()=>e(this,void 0,void 0,(function*(){const e=yield fetch(`https://dashboard.shopar.ai/plugin?${new URLSearchParams({apiKey:t,sku:n,sid:d()})}`).catch((e=>{throw console.error(e),new Error("API unavailable.")}));if(!e.ok)throw new Error(`API call failed with status ${e.status}.`);return e}))));try{return yield o.json()}catch(e){throw console.error(e),new Error("API returned invalid body.")}}))}(n,o),s=(a=F(`${g}/shopar-analytics.js`),null==p&&(p=v(a)),p);var a;s.init(n,o),function(e){const t=getComputedStyle(e);if(!["static","relative"].includes(t.position))throw new Error(`Invalid targetElement's position. Expected 'static' or 'relative', but found '${t.position}'.`)}(i),i.style.position="relative";const c=b(i,O,K);Y=function(e){return b(e,N,j)}(c),ee=D(null,{id:"shopar-btn-close",textContent:"Close",ariaLabel:"Close ShopAR view",iconUrl:`${g}/img/icons/close.svg`}),ee.onclick=()=>{l.hide(),u.hide(),te(),ne(X.None)};const l=function(e){return C(e,z,G)}(c),u=function(e){return C(e,M,T)}(c),{category:f,arUrl:m,arKey:w,previewUrl:y}=yield r;if(s.initialized(),null!=m){const t=Promise.all([F(`${g}/shopar-deepar.js`),W(m),..."Glasses"===f?[F(`${g}/shopar-ipd.js`)]:[]]),n={Glasses:`${g}/img/icons/glasses.svg`,Shoes:`${g}/img/icons/shoe.svg`,Watches:`${g}/img/icons/watch.svg`},o=null!=f&&n[f]||n.Glasses;Z[X.AR]=D(Y,{id:"shopar-btn-vto",textContent:"Try-on",ariaLabel:"Launch ShopAR virtual try-on",iconUrl:o}),Z[X.AR].onclick=()=>e(this,void 0,void 0,(function*(){const e=++Q,n=X.AR,o=J===n?X.None:n;if(te(),ne(o),J===X.None)return;s.vtoLaunched(),u.hide(),l.show();const[,i]=yield t;if(Q!==e)return;const r=(e=>(null==P&&(P=R(e)),P))(c);try{yield r.init(w,f)}catch(e){return s.vtoCameraDenied(e),l.hide(),void u.show()}Q===e&&(yield r.parse(i),Q===e&&(r.resume(),l.hide()))}))}if(null!=y){const t=255,n=Promise.all([F(`${g}/shopar-three.js`),H(y,(new Date).getTime()+t,Math.random()*t),W(`${g}/env/studio5.hdr`)]);Z[X.Preview]=D(Y,{id:"shopar-btn-3d",textContent:"3D",ariaLabel:"Launch ShopAR 3D preview",iconUrl:`${g}/img/icons/cube.svg`}),Z[X.Preview].onclick=()=>e(this,void 0,void 0,(function*(){const e=++Q,t=X.Preview,o=J===t?X.None:t;if(te(),ne(o),J===X.None)return;s.previewLaunched(),u.hide(),l.show();const[,i,r]=yield n;if(Q!==e)return;const a=(e=>(null==x&&(x=_(e)),x))(c);a.updateSize(),yield a.parse(i,r),Q===e&&(a.resume(),l.hide())}))}}))}const ie={setup:function(t){return e(this,void 0,void 0,(function*(){!function(t,n){e(this,void 0,void 0,(function*(){try{yield n()}catch(e){throw e instanceof Error?new ie.PluginError(`${t} failed: ${e.message}`):(console.error(e),new ie.PluginError(`${t} failed.`))}}))}("setup",(()=>oe(t)))}))},version:m,PluginError:class extends Error{constructor(e){super(`ShopAR Plugin: ${e}`)}}};export{ie as plugin};
|
package/dist/shopar-plugin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ShopAR={})}(this,(function(e){"use strict";function t(e,t,n,o){return new(n||(n=Promise))((function(i,r){function s(e){try{c(o.next(e))}catch(e){r(e)}}function a(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((o=o.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const n=[Uint8Array,Uint32Array],o=n.length-2,i=["addEventListener","alert","atob","blur","btoa","cancelAnimationFrame","localStorage","location","locationbar","hash","hasOwnProperty","host","hostname","href","requestAnimationFrame"],r=[2,12,7,1],s=window[i[r[r[o]]]][i[r[r[r.length-1]]]],a=s.charCodeAt(o),c=a^a,d=new n[1]([c]);function l(){const e=(new TextEncoder).encode(s),t=i.map((e=>e.length));for(let n=0;n<e.length;n++)e[n]^=t[n%t.length];return window[i[t[2]]](String.fromCodePoint(...e))}const u=[1e3,2e3,4e3],h=u.length;function p(e,n=0){return t(this,void 0,void 0,(function*(){try{return yield e()}catch(t){if(n>=h)throw t;return yield new Promise((e=>setTimeout(e,u[n]))),p(e,n+1)}}))}let f;const m=()=>f,w=e=>{let t=!1;const n=[];e.then((()=>{t=!0,n.forEach((e=>e()))}));const o=e=>{t?e():n.push(e)},i={organizationId:"Unknown",sku:"Unknown"};let r,s=0;function a(e,t={}){t=Object.assign(Object.assign(Object.assign({},t),i),{vtoTime:(performance.now()-s)/1e3,vtoSessionId:r}),o((()=>{const{trackEventImpl:n}=window.ShopAR__analytics;n(e,t)}))}return{init:function(e,t){i.organizationId=e||"Unknown",i.sku=t||"Unknown",s=performance.now(),o((()=>{const{initializeImpl:e,uuidv4:t}=window.ShopAR__analytics;e(),r=t()}))},initialized:()=>a("initialized"),vtoLaunched:()=>a("vto_launched"),vtoCameraAsked:()=>a("vto_camera_asked"),vtoCameraGranted:()=>a("vto_camera_granted"),vtoCameraDenied:e=>a("vto_camera_denied",{error:e}),vtoInitSuccess:()=>a("vto_init_success"),previewLaunched:()=>a("preview_launched"),previewInteracted:()=>a("preview_interacted")}};let v;const g=()=>v,y=()=>{const e=m(),n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.width="100%",o.height="100%",o.zIndex="1",o.display="none";const i=window.ShopAR__DeepAR;let r,s;const a={Glasses:"rigidFaceTrackingInit",Shoes:"footInit",Watches:void 0},c={Glasses:"user",Shoes:"environment",Watches:"environment"};let d;let l=!0;return{domElement:n,init:(o,d)=>t(void 0,void 0,void 0,(function*(){const l=null!=d?a[d]:void 0,u=null!=d?c[d]:"user";return null==s&&(s=t(void 0,void 0,void 0,(function*(){r=yield i.deepar.initialize({licenseKey:o||"your_license_key_goes_here",previewElement:n,additionalOptions:{hint:l,cameraConfig:{facingMode:u,cameraPermissionAsked:()=>{e.vtoCameraAsked()},cameraPermissionGranted:()=>{e.vtoCameraGranted()}}}}),e.vtoInitSuccess()}))),s})),parse:e=>t(void 0,void 0,void 0,(function*(){return null==d&&(d=r.switchEffect(e)),d})),isPaused:()=>l,resume:()=>{l=!1,r.setPaused(l),o.display=""},pause:()=>{l=!0,r.setPaused(l),o.display="none"}}};let E;const b=()=>E,C=()=>{const e=m(),n=document.createElement("canvas"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.width="100%",o.height="100%",o.zIndex="1";const i=window.ShopAR__THREE,r=i.THREE,s=new r.WebGLRenderer({canvas:n,antialias:!0});s.outputEncoding=r.sRGBEncoding,s.toneMapping=r.LinearToneMapping,s.toneMappingExposure=Math.pow(1.2,5),s.setPixelRatio(2*window.devicePixelRatio),s.setClearColor(new r.Color(16777215)),s.useLegacyLights=!1;const a=new r.PerspectiveCamera(60,1,2,100);a.position.set(8,6,14);const c=new r.Scene,d=new i.OrbitControls(a,s.domElement);d.target.set(0,.03,0),d.dampingFactor=.3;{const t=function(e,t){let n;return()=>{n||e(),clearTimeout(n),n=setTimeout((()=>{n=void 0}),t)}}((()=>e.previewInteracted()),200);d.addEventListener("end",t)}{const e=new r.AmbientLight(new r.Color(16777215),.3),t=new r.DirectionalLight(new r.Color(16777215),.1);t.position.set(10,0,10);const n=new r.DirectionalLight(new r.Color(16777215),.1);n.position.set(-10,0,10),c.add(e,t,n)}const l=()=>{const e=n.clientWidth,t=n.clientHeight;n.width===e&&n.height===t||(s.setSize(e,t,!1),a.aspect=e/t,a.updateProjectionMatrix())};let u;let h=!1;const p=()=>{h||(requestAnimationFrame(p),l(),d.update(),s.render(c,a))};return{domElement:n,updateSize:l,parse:(e,n)=>t(void 0,void 0,void 0,(function*(){return null==u&&(u=t(void 0,void 0,void 0,(function*(){const t=new i.RGBELoader,o=function(e,t){const n=e.THREE,o=new n.DataTexture(t.data,t.width,t.height,void 0,t.type,void 0,n.ClampToEdgeWrapping,n.ClampToEdgeWrapping,n.LinearFilter,n.LinearFilter,1,n.LinearEncoding);return o.flipY=!0,o.generateMipmaps=!1,o.needsUpdate=!0,o}(i,t.parse(n));o.mapping=r.EquirectangularReflectionMapping,o.encoding=r.LinearEncoding,c.environment=o;const a=(new i.GLTFLoader).setDRACOLoader((new i.DRACOLoader).setDecoderPath(`https://cdn.jsdelivr.net/npm/three@0.${r.REVISION}.0/examples/jsm/libs/draco/gltf/`)).setKTX2Loader((new i.KTX2Loader).setTranscoderPath(`https://cdn.jsdelivr.net/npm/three@0.${r.REVISION}.0/examples/jsm/libs/basis/`).detectSupport(s)).setMeshoptDecoder("function"==typeof i.MeshoptDecoder?i.MeshoptDecoder():i.MeshoptDecoder),d=yield a.parseAsync(e.buffer,"");c.add(d.scene),c.traverse((e=>{if(e instanceof r.Mesh){const t=e.material;t.depthWrite=!0,t instanceof r.MeshPhysicalMaterial&&t.transmissionMap&&(t.transmission=1,t.toneMapped=!1,t.fog=!1,t.needsUpdate=!0)}}))}))),u})),isPaused:()=>h,resume:()=>{h=!1,p(),o.display=""},pause:()=>{h=!0,o.display="none"}}},A="0.0.3";let P=`https://cdn.jsdelivr.net/npm/shopar-plugin@${A}/dist`;const S={update:e=>{null!=e&&(P=e.endsWith("/")?e.substring(0,e.length-1):e)},toString:()=>P};function L(e,t){const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("width",e),n.setAttribute("height",e);{const o=document.createElementNS("http://www.w3.org/2000/svg","image");o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),o.setAttribute("width",e),o.setAttribute("height",e),n.appendChild(o)}return n}function R(e,t,n,o){const i=document.createElement("button");if(i.id=e,i.type="button",i.className="shopar-btn",null!=o){const e=L("1.75rem",o);i.appendChild(e)}{const e=document.createElement("span");e.textContent=t,i.appendChild(e)}return i.ariaLabel=n,i.style.zIndex="2",i}function k(e){return t(this,void 0,void 0,(function*(){const n=yield p((()=>t(this,void 0,void 0,(function*(){const t=yield fetch(e).catch((e=>{throw console.error(e),new Error("Resource unavailable.")}));if(!t.ok)throw new Error(`Resource download failed with status ${t.status}.`);return t}))));try{return yield(yield n.blob()).arrayBuffer()}catch(e){throw console.error(e),new Error("Resource has invalid body.")}}))}function x(e){return t(this,void 0,void 0,(function*(){if("function"!=typeof importScripts){const t=document.createElement("script");return t.setAttribute("src",e),t.setAttribute("crossorigin","anonymous"),new Promise((e=>{t.addEventListener("load",(()=>e()),!1),t.addEventListener("error",(()=>e()),!1),document.body.appendChild(t)}))}importScripts(e.toString())}))}function $(e,o,i){return t(this,void 0,void 0,(function*(){let r="glb".charCodeAt(0),s="3d".charCodeAt(0);r>>=1,r+=s;const a=String.fromCharCode(r+14);s>>=2,r^=s+2;const l=String.fromCharCode(r-3);r^=5;const u=String.fromCharCode(r-7);r^=2;const h=String.fromCharCode(r-7),f=window[`${u}${l+a+(typeof[])[(+!+[]+ +!+[])*(+!+[]+ +!+[])]}${h}`],m=yield p((()=>t(this,void 0,void 0,(function*(){const t=yield f(`${e}`).catch((()=>{throw new Error("Unknown error.")}));if(!t.ok)throw new Error("Unknown error.");return t})))),w=new n[0](yield(yield m.blob().catch((()=>{throw new Error("Unknown error.")}))).arrayBuffer().catch((()=>{throw new Error("Unknown error.")})));i+=s;const v=w.byteLength;if(d[c]=Math.min(76,o)*((r>>5)-1),152===d[c]&&(d[c]=v),i==c)return w;i=c,i^=c;for(let e=0,t=w.length;e<t;e++)d[c]^=d[i]<<13,d[c]^=d[i]>>17,d[c]^=d[i]<<5,w[e]=w[e]^d[c];return i^=d[0],i^=d[1],i^=d[2],w}))}function I(e,t){if(null==e)throw new Error(`'${t}' not specified.`)}function T(e,t){if("string"!=typeof e)throw new Error(`'${t}' must be a string.`)}function _(e){const{apiKey:t,sku:n,targetElement:o,baseUrl:i}=e;I(t,"apiKey"),T(t,"apiKey"),I(n,"sku"),T(n,"sku"),I(o,"targetElement"),function(e,t){if(!(e instanceof HTMLElement))throw new Error(`'${t}' must be an HTMLElement.`)}(o,"targetElement"),null!=i&&T(i,"baseUrl")}var M;!function(e){e[e.None=0]="None",e[e.AR=1]="AR",e[e.Preview=2]="Preview"}(M||(M={}));let N,U=M.None,D=0;const j=[];let z;function G(){if(U===M.AR){const e=g();null==e||e.isPaused()||e.pause()}else if(U===M.Preview){const e=b();null==e||e.isPaused()||e.pause()}}function O(e){if(U=e,U===M.None){const e=j.filter((e=>null!=e));N.replaceChildren(...e)}else N.replaceChildren(z)}function K(e){return t(this,void 0,void 0,(function*(){_(e);const{apiKey:n,sku:o,targetElement:i}=e;S.update(e.baseUrl);const r=function(e,n){return t(this,void 0,void 0,(function*(){const o=yield p((()=>t(this,void 0,void 0,(function*(){const t=yield fetch(`https://dashboard.shopar.ai/plugin?${new URLSearchParams({apiKey:e,sku:n,sid:l()})}`).catch((e=>{throw console.error(e),new Error("API unavailable.")}));if(!t.ok)throw new Error(`API call failed with status ${t.status}.`);return t}))));try{return yield o.json()}catch(e){throw console.error(e),new Error("API returned invalid body.")}}))}(n,o),s=(a=x(`${S}/shopar-analytics.js`),null==f&&(f=w(a)),f);var a;s.init(n,o),function(e){const t=getComputedStyle(e);if(!["static","relative"].includes(t.position))throw new Error(`Invalid targetElement's position. Expected 'static' or 'relative', but found '${t.position}'.`)}(i),i.style.position="relative";const c=function(){const e=document.createElement("div"),t=e.style;return t.position="absolute",t.top="0",t.bottom="0",t.left="0",t.right="0",e}();i.appendChild(c),N=function(){const e=document.createElement("div");return e.role="group",e.ariaLabel="Preview type chooser",e.className="shopar-btn-container",e}(),c.appendChild(N),z=R("shopar-btn-close","Close","Close ShopAR view",`${S}/img/icons/close.svg`),z.onclick=()=>{d.hide(),u.hide(),G(),O(M.None)};const d=function(){const e=document.createElement("div"),t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=document.createElement("div");return i.className="shopar-spinner",n.appendChild(i),{container:e,show:()=>{t.display=""},hide:()=>{t.display="none"}}}();c.appendChild(d.container);const u=function(){const e=document.createElement("div"),t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.flexDirection="column",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=L("4rem",`${S}/img/icons/close.svg`);n.appendChild(i);const r=document.createElement("div");r.className="shopar-error-title",r.textContent="Camera Error",n.appendChild(r);const s=document.createElement("div");return s.className="shopar-error-body",s.textContent="Please refresh the page and allow the use of camera.",n.appendChild(s),{container:e,show:()=>{t.display=""},hide:()=>{t.display="none"}}}();c.appendChild(u.container);const{category:h,arUrl:m,arKey:g,previewUrl:b}=yield r;if(s.initialized(),null!=m){const e=Promise.all([x(`${S}/shopar-deepar.js`),k(m)]),n={Glasses:`${S}/img/icons/glasses.svg`,Shoes:`${S}/img/icons/shoe.svg`,Watches:`${S}/img/icons/watch.svg`},o=null!=h&&n[h]||n.Glasses;j[M.AR]=R("shopar-btn-vto","Try-on","Launch ShopAR virtual try-on",o),N.appendChild(j[M.AR]),j[M.AR].onclick=()=>t(this,void 0,void 0,(function*(){const t=++D,n=M.AR,o=U===n?M.None:n;if(G(),O(o),U===M.None)return;s.vtoLaunched(),u.hide(),d.show();const[,i]=yield e;if(D!==t)return;const r=(null==v&&(v=y()),v);c.contains(r.domElement)||c.appendChild(r.domElement);try{yield r.init(g,h)}catch(e){return s.vtoCameraDenied(e),d.hide(),void u.show()}D===t&&(yield r.parse(i),D===t&&(r.resume(),d.hide()))}))}if(null!=b){const e=255,n=Promise.all([x(`${S}/shopar-three.js`),$(b,(new Date).getTime()+e,Math.random()*e),k(`${S}/env/studio2.hdr`)]);j[M.Preview]=R("shopar-btn-3d","3D","Launch ShopAR 3D preview",`${S}/img/icons/cube.svg`),N.appendChild(j[M.Preview]),j[M.Preview].onclick=()=>t(this,void 0,void 0,(function*(){const e=++D,t=M.Preview,o=U===t?M.None:t;if(G(),O(o),U===M.None)return;s.previewLaunched(),u.hide(),d.show();const[,i,r]=yield n;if(D!==e)return;const a=(null==E&&(E=C()),E);c.contains(a.domElement)||(c.appendChild(a.domElement),a.updateSize()),yield a.parse(i,r),D===e&&(a.resume(),d.hide())}))}}))}const W={setup:function(e){return t(this,void 0,void 0,(function*(){!function(e,n){t(this,void 0,void 0,(function*(){try{yield n()}catch(t){throw t instanceof Error?new W.PluginError(`${e} failed: ${t.message}`):(console.error(t),new W.PluginError(`${e} failed.`))}}))}("setup",(()=>K(e)))}))},version:A,PluginError:class extends Error{constructor(e){super(`ShopAR Plugin: ${e}`)}}};e.plugin=W}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ShopAR={})}(this,(function(e){"use strict";function t(e,t,n,o){return new(n||(n=Promise))((function(i,r){function s(e){try{c(o.next(e))}catch(e){r(e)}}function a(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((o=o.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const n=[Uint8Array,Uint32Array],o=n.length-2,i=["addEventListener","alert","atob","blur","btoa","cancelAnimationFrame","localStorage","location","locationbar","hash","hasOwnProperty","host","hostname","href","requestAnimationFrame"],r=[2,12,7,1],s=window[i[r[r[o]]]][i[r[r[r.length-1]]]],a=s.charCodeAt(o),c=a^a,d=new n[1]([c]);function l(){const e=(new TextEncoder).encode(s),t=i.map((e=>e.length));for(let n=0;n<e.length;n++)e[n]^=t[n%t.length];return window[i[t[2]]](String.fromCodePoint(...e))}const u=[1e3,2e3,4e3],h=u.length;function p(e,n=0){return t(this,void 0,void 0,(function*(){try{return yield e()}catch(t){if(n>=h)throw t;return yield new Promise((e=>setTimeout(e,u[n]))),p(e,n+1)}}))}let f;const v=()=>f,m=e=>{let t=!1;const n=[];e.then((()=>{t=!0,n.forEach((e=>e()))}));const o=e=>{t?e():n.push(e)},i={organizationId:"Unknown",sku:"Unknown"};let r,s=0;function a(e,t={}){t=Object.assign(Object.assign(Object.assign({},t),i),{vtoTime:(performance.now()-s)/1e3,vtoSessionId:r}),o((()=>{const{trackEventImpl:n}=window.ShopAR__analytics;n(e,t)}))}return{init:function(e,t){i.organizationId=e||"Unknown",i.sku=t||"Unknown",s=performance.now(),o((()=>{const{initializeImpl:e,uuidv4:t}=window.ShopAR__analytics;e(),r=t()}))},initialized:()=>a("initialized"),vtoLaunched:()=>a("vto_launched"),vtoCameraAsked:()=>a("vto_camera_asked"),vtoCameraGranted:()=>a("vto_camera_granted"),vtoCameraDenied:e=>a("vto_camera_denied",{error:e}),vtoInitSuccess:()=>a("vto_init_success"),previewLaunched:()=>a("preview_launched"),previewInteracted:()=>a("preview_interacted")}};const w="0.0.4-alpha.0";let g=`https://cdn.jsdelivr.net/npm/shopar-plugin@${w}/dist`;const y={update:e=>{null!=e&&(g=e.endsWith("/")?e.substring(0,e.length-1):e)},toString:()=>g},E=10;function b(e,n){return t(this,void 0,void 0,(function*(){const{ShopAR__IPD:o}=window;yield o.initialize(`${y}/wasm/mediapipe`,e);const i=[];setInterval((()=>t(this,void 0,void 0,(function*(){const{error:e,ipd:t}=yield o.predict(performance.now());if(null==e){!function(e,t){e.length>E&&e.splice(0,1);e.push(t)}(i,t);const e=62/(i.reduce(((e,t)=>t+e),0)/i.length);n.changeParameterVector("GLASSES","","scale",e,e,e,0),n.changeParameterVector("shopar_glasses","","scale",e,e,e,0)}}))),200)}))}function C(e,t,n){const o=null==e?void 0:e.querySelector(`#${t}`);if(null!=o)return o;const i=n();return null==e||e.appendChild(i),i}function S(e,t,n){const o=C(e,t,n),i=o.style;return{element:o,show:()=>{i.display=""},hide:()=>{i.display="none"}}}const A="shopar-deepar-output";function P(){const e=document.createElement("div");e.id=A;const t=e.style;return t.position="absolute",t.top="0",t.left="0",t.width="100%",t.height="100%",t.zIndex="1",t.display="none",e}let L;const R=()=>L,x=e=>{const n=v(),o=function(e){return C(e,A,P)}(e),i=o.style;let r,s;let a;let c=!0;return{domElement:o,init:(e,i)=>t(void 0,void 0,void 0,(function*(){const a=function(e){const t={Glasses:"rigidFaceTrackingInit",Shoes:"footInit",Watches:void 0};return null==e?void 0:t[e]}(i),c=function(e){var t;const n={Glasses:"user",Shoes:"environment",Watches:"environment"};return null==e?"user":null!==(t=n[e])&&void 0!==t?t:"user"}(i);return null==s&&(s=t(void 0,void 0,void 0,(function*(){if(null==(null===(s=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===s?void 0:s.getUserMedia))throw new Error("No camera available!");var s;const d=function(e){return navigator.mediaDevices.getUserMedia({video:{facingMode:e,frameRate:{ideal:30},width:{ideal:640},height:{ideal:360}}})}(c);n.vtoCameraAsked(),r=yield window.ShopAR__DeepAR.deepar.initialize({licenseKey:e||"your_license_key_goes_here",previewElement:o,additionalOptions:{hint:a,cameraConfig:{disableDefaultCamera:!0}}});const l=yield function(e){return t(this,void 0,void 0,(function*(){const t=document.createElement("video");return t.setAttribute("playsinline","playsinline"),t.srcObject=yield e,t}))}(d);n.vtoCameraGranted(),yield function(e,n,o){return t(this,void 0,void 0,(function*(){yield new Promise((i=>{n.onloadedmetadata=()=>{n.play().then((()=>t(this,void 0,void 0,(function*(){e.setVideoElement(n,o),i()}))))}}))}))}(r,l,"user"===c),"Glasses"===i&&b(l,r),n.vtoInitSuccess()}))),s})),parse:e=>t(void 0,void 0,void 0,(function*(){return null==a&&(a=r.switchEffect(e)),a})),isPaused:()=>c,resume:()=>{c=!1,r.setPaused(c),i.display=""},pause:()=>{c=!0,r.setPaused(c),i.display="none"}}};const k="shopar-three-output";function $(){const e=document.createElement("canvas");e.id=k;const t=e.style;return t.position="absolute",t.top="0",t.left="0",t.width="100%",t.height="100%",t.zIndex="1",e}let I;const _=()=>I,U=e=>{const n=v(),o=function(e){return C(e,k,$)}(e),i=o.style,r=window.ShopAR__THREE,s=r.THREE,a=new s.WebGLRenderer({canvas:o,antialias:!0});a.outputEncoding=s.sRGBEncoding,a.toneMapping=s.LinearToneMapping,a.toneMappingExposure=Math.pow(1,5),a.setPixelRatio(2*window.devicePixelRatio),a.setClearColor(new s.Color(16777215));const c=new s.PerspectiveCamera(60,1,2,100);c.position.set(8,6,14);const d=new s.Scene,l=new r.OrbitControls(c,a.domElement);l.target.set(0,.03,0),l.dampingFactor=.3;{const e=function(e,t){let n;return()=>{n||e(),clearTimeout(n),n=setTimeout((()=>{n=void 0}),t)}}((()=>n.previewInteracted()),200);l.addEventListener("end",e)}{const e=new s.AmbientLight(new s.Color(16777215),.3),t=new s.DirectionalLight(new s.Color(16777215),1);t.position.set(0,60,60),d.add(e,t)}const u=()=>{const e=o.clientWidth,t=o.clientHeight;o.width===e&&o.height===t||(a.setSize(e,t,!1),c.aspect=e/t,c.updateProjectionMatrix())};let h;let p=!1;const f=()=>{p||(requestAnimationFrame(f),u(),l.update(),a.render(d,c))};return{domElement:o,updateSize:u,parse:(e,n)=>t(void 0,void 0,void 0,(function*(){return null==h&&(h=t(void 0,void 0,void 0,(function*(){const t=new r.RGBELoader,o=function(e,t){const n=e.THREE,o=new n.DataTexture(t.data,t.width,t.height,void 0,t.type,void 0,n.ClampToEdgeWrapping,n.ClampToEdgeWrapping,n.LinearFilter,n.LinearFilter,1,n.LinearEncoding);return o.flipY=!0,o.generateMipmaps=!1,o.needsUpdate=!0,o}(r,t.parse(n));o.mapping=s.EquirectangularReflectionMapping,o.encoding=s.LinearEncoding,d.environment=o;const i=(new r.GLTFLoader).setDRACOLoader((new r.DRACOLoader).setDecoderPath(`https://cdn.jsdelivr.net/npm/three@0.${s.REVISION}.0/examples/jsm/libs/draco/gltf/`)).setKTX2Loader((new r.KTX2Loader).setTranscoderPath(`https://cdn.jsdelivr.net/npm/three@0.${s.REVISION}.0/examples/jsm/libs/basis/`).detectSupport(a)).setMeshoptDecoder("function"==typeof r.MeshoptDecoder?r.MeshoptDecoder():r.MeshoptDecoder),c=yield i.parseAsync(e.buffer,"");d.add(c.scene),d.traverse((e=>{if(e instanceof s.Mesh){const t=e.material;t.depthWrite=!0,t instanceof s.MeshPhysicalMaterial&&t.transmissionMap&&(t.transmission=1,t.toneMapped=!1,t.fog=!1,t.needsUpdate=!0)}}))}))),h})),isPaused:()=>p,resume:()=>{p=!1,f(),i.display=""},pause:()=>{p=!0,i.display="none"}}};function M(e,t){const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("width",e),n.setAttribute("height",e);{const o=document.createElementNS("http://www.w3.org/2000/svg","image");o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t),o.setAttribute("width",e),o.setAttribute("height",e),n.appendChild(o)}return n}const T="shopar-error";function D(){const e=document.createElement("div");e.id=T;const t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.flexDirection="column",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=M("4rem",`${y}/img/icons/close.svg`);n.appendChild(i);const r=document.createElement("div");r.className="shopar-error-title",r.textContent="Camera Error",n.appendChild(r);const s=document.createElement("div");return s.className="shopar-error-body",s.textContent="Please refresh the page and allow the use of camera.",n.appendChild(s),e}function N(e,t){return C(e,t.id,(()=>function(e){const{id:t,iconUrl:n,textContent:o,ariaLabel:i}=e,r=document.createElement("button");if(r.id=t,r.type="button",r.className="shopar-btn",null!=n){const e=M("1.75rem",n);r.appendChild(e)}{const e=document.createElement("span");e.textContent=o,r.appendChild(e)}return r.ariaLabel=i,r.style.zIndex="2",r}(t)))}const j="shopar-control";function z(){const e=document.createElement("div");return e.id=j,e.role="group",e.ariaLabel="Preview type chooser",e.className="shopar-btn-container",e}const G="shopar-loading";function O(){const e=document.createElement("div");e.id=G;const t=e.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="1",t.display="none";const n=document.createElement("div"),o=n.style;o.position="absolute",o.width="100%",o.height="100%",o.backgroundColor="#ffffff",o.display="flex",o.justifyContent="center",o.alignItems="center",e.appendChild(n);const i=document.createElement("div");return i.className="shopar-spinner",n.appendChild(i),e}const K="shopar-main";function W(){const e=document.createElement("div");e.id=K;const t=e.style;return t.position="absolute",t.top="0",t.bottom="0",t.left="0",t.right="0",e}function F(e){return t(this,void 0,void 0,(function*(){const n=yield p((()=>t(this,void 0,void 0,(function*(){const t=yield fetch(e).catch((e=>{throw console.error(e),new Error("Resource unavailable.")}));if(!t.ok)throw new Error(`Resource download failed with status ${t.status}.`);return t}))));try{return yield(yield n.blob()).arrayBuffer()}catch(e){throw console.error(e),new Error("Resource has invalid body.")}}))}function H(e){return t(this,void 0,void 0,(function*(){if("function"!=typeof importScripts){const t=document.createElement("script");return t.setAttribute("src",e),t.setAttribute("crossorigin","anonymous"),new Promise((e=>{t.addEventListener("load",(()=>e()),!1),t.addEventListener("error",(()=>e()),!1),document.body.appendChild(t)}))}importScripts(e.toString())}))}function V(e,o,i){return t(this,void 0,void 0,(function*(){let r="glb".charCodeAt(0),s="3d".charCodeAt(0);r>>=1,r+=s;const a=String.fromCharCode(r+14);s>>=2,r^=s+2;const l=String.fromCharCode(r-3);r^=5;const u=String.fromCharCode(r-7);r^=2;const h=String.fromCharCode(r-7),f=window[`${u}${l+a+(typeof[])[(+!+[]+ +!+[])*(+!+[]+ +!+[])]}${h}`],v=yield p((()=>t(this,void 0,void 0,(function*(){const t=yield f(`${e}`).catch((()=>{throw new Error("Unknown error.")}));if(!t.ok)throw new Error("Unknown error.");return t})))),m=new n[0](yield(yield v.blob().catch((()=>{throw new Error("Unknown error.")}))).arrayBuffer().catch((()=>{throw new Error("Unknown error.")})));i+=s;const w=m.byteLength;if(d[c]=Math.min(76,o)*((r>>5)-1),152===d[c]&&(d[c]=w),i==c)return m;i=c,i^=c;for(let e=0,t=m.length;e<t;e++)d[c]^=d[i]<<13,d[c]^=d[i]>>17,d[c]^=d[i]<<5,m[e]=m[e]^d[c];return i^=d[0],i^=d[1],i^=d[2],m}))}function q(e,t){if(null==e)throw new Error(`'${t}' not specified.`)}function B(e,t){if("string"!=typeof e)throw new Error(`'${t}' must be a string.`)}function X(e){const{apiKey:t,sku:n,targetElement:o,baseUrl:i}=e;q(t,"apiKey"),B(t,"apiKey"),q(n,"sku"),B(n,"sku"),q(o,"targetElement"),function(e,t){if(!(e instanceof HTMLElement))throw new Error(`'${t}' must be an HTMLElement.`)}(o,"targetElement"),null!=i&&B(i,"baseUrl")}var Y;!function(e){e[e.None=0]="None",e[e.AR=1]="AR",e[e.Preview=2]="Preview"}(Y||(Y={}));let J,Q=Y.None,Z=0;const ee=[];let te;function ne(){if(Q===Y.AR){const e=R();null==e||e.isPaused()||e.pause()}else if(Q===Y.Preview){const e=_();null==e||e.isPaused()||e.pause()}}function oe(e){if(Q=e,Q===Y.None){const e=ee.filter((e=>null!=e));J.replaceChildren(...e)}else J.replaceChildren(te)}function ie(e){return t(this,void 0,void 0,(function*(){X(e);const{apiKey:n,sku:o,targetElement:i}=e;y.update(e.baseUrl);const r=function(e,n){return t(this,void 0,void 0,(function*(){const o=yield p((()=>t(this,void 0,void 0,(function*(){const t=yield fetch(`https://dashboard.shopar.ai/plugin?${new URLSearchParams({apiKey:e,sku:n,sid:l()})}`).catch((e=>{throw console.error(e),new Error("API unavailable.")}));if(!t.ok)throw new Error(`API call failed with status ${t.status}.`);return t}))));try{return yield o.json()}catch(e){throw console.error(e),new Error("API returned invalid body.")}}))}(n,o),s=(a=H(`${y}/shopar-analytics.js`),null==f&&(f=m(a)),f);var a;s.init(n,o),function(e){const t=getComputedStyle(e);if(!["static","relative"].includes(t.position))throw new Error(`Invalid targetElement's position. Expected 'static' or 'relative', but found '${t.position}'.`)}(i),i.style.position="relative";const c=C(i,K,W);J=function(e){return C(e,j,z)}(c),te=N(null,{id:"shopar-btn-close",textContent:"Close",ariaLabel:"Close ShopAR view",iconUrl:`${y}/img/icons/close.svg`}),te.onclick=()=>{d.hide(),u.hide(),ne(),oe(Y.None)};const d=function(e){return S(e,G,O)}(c),u=function(e){return S(e,T,D)}(c),{category:h,arUrl:v,arKey:w,previewUrl:g}=yield r;if(s.initialized(),null!=v){const e=Promise.all([H(`${y}/shopar-deepar.js`),F(v),..."Glasses"===h?[H(`${y}/shopar-ipd.js`)]:[]]),n={Glasses:`${y}/img/icons/glasses.svg`,Shoes:`${y}/img/icons/shoe.svg`,Watches:`${y}/img/icons/watch.svg`},o=null!=h&&n[h]||n.Glasses;ee[Y.AR]=N(J,{id:"shopar-btn-vto",textContent:"Try-on",ariaLabel:"Launch ShopAR virtual try-on",iconUrl:o}),ee[Y.AR].onclick=()=>t(this,void 0,void 0,(function*(){const t=++Z,n=Y.AR,o=Q===n?Y.None:n;if(ne(),oe(o),Q===Y.None)return;s.vtoLaunched(),u.hide(),d.show();const[,i]=yield e;if(Z!==t)return;const r=(e=>(null==L&&(L=x(e)),L))(c);try{yield r.init(w,h)}catch(e){return s.vtoCameraDenied(e),d.hide(),void u.show()}Z===t&&(yield r.parse(i),Z===t&&(r.resume(),d.hide()))}))}if(null!=g){const e=255,n=Promise.all([H(`${y}/shopar-three.js`),V(g,(new Date).getTime()+e,Math.random()*e),F(`${y}/env/studio5.hdr`)]);ee[Y.Preview]=N(J,{id:"shopar-btn-3d",textContent:"3D",ariaLabel:"Launch ShopAR 3D preview",iconUrl:`${y}/img/icons/cube.svg`}),ee[Y.Preview].onclick=()=>t(this,void 0,void 0,(function*(){const e=++Z,t=Y.Preview,o=Q===t?Y.None:t;if(ne(),oe(o),Q===Y.None)return;s.previewLaunched(),u.hide(),d.show();const[,i,r]=yield n;if(Z!==e)return;const a=(e=>(null==I&&(I=U(e)),I))(c);a.updateSize(),yield a.parse(i,r),Z===e&&(a.resume(),d.hide())}))}}))}const re={setup:function(e){return t(this,void 0,void 0,(function*(){!function(e,n){t(this,void 0,void 0,(function*(){try{yield n()}catch(t){throw t instanceof Error?new re.PluginError(`${e} failed: ${t.message}`):(console.error(t),new re.PluginError(`${e} failed.`))}}))}("setup",(()=>ie(e)))}))},version:w,PluginError:class extends Error{constructor(e){super(`ShopAR Plugin: ${e}`)}}};e.plugin=re}));
|