idmission-web-sdk 1.0.19 → 1.0.21
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/dist/components/video_id/IdVideoCapture.d.ts +11 -1
- package/dist/components/video_id/IdVideoCaptureFlipIdPrompt.d.ts +15 -0
- package/dist/components/video_id/IdVideoCaptureGuides.d.ts +3 -1
- package/dist/components/video_id/IdVideoCaptureSuccess.d.ts +20 -0
- package/dist/sdk2.cjs.development.js +396 -63
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +396 -63
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +396 -63
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("react-dom/client"),require("@sentry/react"),require("styled-components"),require("@tensorflow/tfjs")):"function"==typeof define&&define.amd?define(["exports","react","react-dom/client","@sentry/react","styled-components","@tensorflow/tfjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Sdk2={},e.React,e.ReactDOM,e.Sentry,e.styled,e.tf)}(this,(function(e,t,n,r,o,i){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var l=a(t),u=s(t),c=s(n),d=s(r),h=a(o),f=s(i),p=function(e,t){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},p(e,t)};function g(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var m=function(){return m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},m.apply(this,arguments)};function v(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))}function b(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function y(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function w(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}const x={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class E{constructor(e){this.init(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||x,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,r){return r&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new E(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new E(this.logger,e)}}var C=new E;class S{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]=this.observers[e]||[],this.observers[e].push(t)})),this}off(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((e=>e!==t)):delete this.observers[e])}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(this.observers[e]){[].concat(this.observers[e]).forEach((e=>{e(...n)}))}if(this.observers["*"]){[].concat(this.observers["*"]).forEach((t=>{t.apply(t,[e,...n])}))}}}function k(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function T(e){return null==e?"":""+e}function A(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}const i="string"!=typeof t?[].concat(t):t.split(".");for(;i.length>1;){if(o())return{};const t=r(i.shift());!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}return o()?{}:{obj:e,k:r(i.shift())}}function I(e,t,n){const{obj:r,k:o}=A(e,t,Object);r[o]=n}function R(e,t){const{obj:n,k:r}=A(e,t);if(n)return n[r]}function D(e,t,n){for(const r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):D(e[r],t[r],n):e[r]=t[r]);return e}function _(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var F={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function M(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>F[e])):e}const L=[" ",",","?","!",";"];function P(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let o=e;for(let e=0;e<r.length;++e){if(!o)return;if("string"==typeof o[r[e]]&&e+1<r.length)return;if(void 0===o[r[e]]){let i=2,a=r.slice(e,e+i).join(n),s=o[a];for(;void 0===s&&r.length>e+i;)i++,a=r.slice(e,e+i).join(n),s=o[a];if(void 0===s)return;if(null===s)return null;if(t.endsWith(a)){if("string"==typeof s)return s;if(a&&"string"==typeof s[a])return s[a]}const l=r.slice(e+i).join(n);return l?P(s,l,n):void 0}o=o[r[e]]}return o}function B(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class O extends S{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."));const s=R(this.data,a);return s||!i||"string"!=typeof n?s:P(this.data&&this.data[e]&&this.data[e][t],n,o)}addResource(e,t,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),I(this.data,a,r),o.silent||this.emit("added",e,t,n,r)}addResources(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const r in n)"string"!=typeof n[r]&&"[object Array]"!==Object.prototype.toString.apply(n[r])||this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=n,n=t,t=a[1]),this.addNamespaces(t);let s=R(this.data,a)||{};r?D(s,n,o):s={...s,...n},I(this.data,a,s),i.silent||this.emit("added",e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var N={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,o))})),t}};const U={};class j extends S{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),function(e,t,n){e.forEach((e=>{t[e]&&(n[e]=t[e])}))}(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=C.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){if(null==e)return!1;const t=this.resolve(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}});return t&&void 0!==t.res}extractFromKey(e,t){let n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");const r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const i=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const r=L.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const o=new RegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let i=!o.test(e);if(!i){const t=e.indexOf(n);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i}(e,n,r));if(i&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:o};const i=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}translate(e,t,n){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const r=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:i,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.length-1],l=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(u){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${s}${e}${i}`,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:`${s}${e}${i}`}return r?{res:i,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:i}const c=this.resolve(e,t);let d=c&&c.res;const h=c&&c.usedKey||i,f=c&&c.exactUsedKey||i,p=Object.prototype.toString.apply(d),g=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&d&&("string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(p)<0&&("string"!=typeof g||"[object Array]"!==p)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...t,ns:a}):`key '${i} (${this.language})' returned an object instead of string.`;return r?(c.res=e,c):e}if(o){const e="[object Array]"===p,n=e?[]:{},r=e?f:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const i=`${r}${o}${e}`;n[e]=this.translate(i,{...t,joinArrays:!1,ns:a}),n[e]===i&&(n[e]=d[e])}d=n}}else if(m&&"string"==typeof g&&"[object Array]"===p)d=d.join(g),d&&(d=this.extendTranslation(d,e,t,n));else{let r=!1,a=!1;const u=void 0!==t.count&&"string"!=typeof t.count,h=j.hasDefaultValue(t),f=u?this.pluralResolver.getSuffix(l,t.count,t):"",p=t.ordinal&&u?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",g=t[`defaultValue${f}`]||t[`defaultValue${p}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(r=!0,d=g),this.isValidLookup(d)||(a=!0,d=i);const m=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:d,v=h&&g!==d&&this.options.updateMissing;if(a||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,s,i,v?g:d),o){const e=this.resolve(i,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const n=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&n&&n[0])for(let t=0;t<n.length;t++)e.push(n[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const r=(e,n,r)=>{const o=h&&r!==d?r:m;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,o,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,o,v,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?e.forEach((e=>{this.pluralResolver.getSuffixes(e,t).forEach((n=>{r([e],i+n,t[`defaultValue${n}`]||g)}))})):r(e,i,g))}d=this.extendTranslation(d,e,t,c,n),a&&d===i&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${i}`),(a||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${i}`:i,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(c.res=d,c):d}extendTranslation(e,t,n,r,o){var i=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const a="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(a){const t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let l=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,n.lng||this.language,n),a){const t=e.match(this.interpolator.nestingRegexp);s<(t&&t.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(n.lng=r.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return o&&o[0]===r[0]&&!n.context?(i.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):i.translate(...r,t)}),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,s="string"==typeof a?[a]:a;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=N.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:r,...n}:n,this)),e}resolve(e){let t,n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const s=this.extractFromKey(e,a),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const c=void 0!==a.count&&"string"!=typeof a.count,d=c&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,f=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);u.forEach((e=>{this.isValidLookup(t)||(i=e,!U[`${f[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(i)&&(U[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${i}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach((n=>{if(this.isValidLookup(t))return;o=n;const i=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(i,l,n,e,a);else{let e;c&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(i.push(l+e),a.ordinal&&0===e.indexOf(r)&&i.push(l+e.replace(r,this.options.pluralSeparator)),d&&i.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;i.push(n),c&&(i.push(n+e),a.ordinal&&0===e.indexOf(r)&&i.push(n+e.replace(r,this.options.pluralSeparator)),d&&i.push(n+t))}}let s;for(;s=i.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}static hasDefaultValue(e){const t="defaultValue";for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&void 0!==e[n])return!0;return!1}}function G(e){return e.charAt(0).toUpperCase()+e.slice(1)}class ${constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=C.create("languageUtils")}getScriptPartFromCode(e){if(!(e=B(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=B(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let n=e.split("-");return this.options.lowerCaseLng?n=n.map((e=>e.toLowerCase())):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=G(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=G(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=G(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const n=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(n)||(t=n)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find((e=>e===n?e:e.indexOf("-")<0&&n.indexOf("-")<0?void 0:0===e.indexOf(n)?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&o(this.formatLanguageCode(e))})),r}}let z=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],q={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};const V=["v1","v2","v3"],W=["v4"],H={zero:0,one:1,two:2,few:3,many:4,other:5};class K{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=C.create("pluralResolver"),this.options.compatibilityJSON&&!W.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=function(){const e={};return z.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:q[t.fc]}}))})),e}()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(B(e),{type:t.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){const t=this.getRule(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});return this.shouldUseIntlApi()?t&&t.resolvedOptions().pluralCategories.length>1:t&&t.numbers.length>1}getPluralFormsOfKey(e,t){return this.getSuffixes(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort(((e,t)=>H[e]-H[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):n.numbers.map((n=>this.getSuffix(e,n,t))):[]}getSuffix(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=this.getRule(e,n);return r?this.shouldUseIntlApi()?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const n=e.plurals(e.noAbs?t:Math.abs(t));let r=e.numbers[n];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));const o=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?`_plural_${r.toString()}`:o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!V.includes(this.options.compatibilityJSON)}}function Y(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=function(e,t,n){const r=R(e,n);return void 0!==r?r:R(t,n)}(e,t,n);return!i&&o&&"string"==typeof n&&(i=P(e,n,r),void 0===i&&(i=P(t,n,r))),i}class X{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=C.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const t=e.interpolation;this.escape=void 0!==t.escape?t.escape:M,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?_(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?_(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?_(t.nestingPrefix):t.nestingPrefixEscaped||_("$t("),this.nestingSuffix=t.nestingSuffix?_(t.nestingSuffix):t.nestingSuffixEscaped||_(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){this.regexp=new RegExp(`${this.prefix}(.+?)${this.suffix}`,"g");this.regexpUnescape=new RegExp(`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`,"g");this.nestingRegexp=new RegExp(`${this.nestingPrefix}(.+?)${this.nestingSuffix}`,"g")}interpolate(e,t,n,r){let o,i,a;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const u=e=>{if(e.indexOf(this.formatSeparator)<0){const o=Y(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,n,{...r,...t,interpolationkey:e}):o}const o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(Y(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...r,...t,interpolationkey:i})};this.resetRegExp();const c=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,d=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>l(e)},{regex:this.regexp,safeValue:e=>l(this.escapeValue?this.escape(e):e)}].forEach((t=>{for(a=0;o=t.regex.exec(e);){const n=o[1].trim();if(i=u(n),void 0===i)if("function"==typeof c){const t=c(e,o,r);i="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))i="";else{if(d){i=o[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),i=""}else"string"==typeof i||this.useRawValueToEscape||(i=T(i));const s=t.safeValue(i);if(e=e.replace(o[0],s),d?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function a(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let i=`{${r[1]}`;e=r[0],i=this.interpolate(i,o);const a=i.match(/'/g),s=i.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o={...t,...o})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];o={...i},o=o.replace&&"string"!=typeof o.replace?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let l=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),s=e,l=!0}if(r=t(a.call(this,n[1].trim(),o),o),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=T(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,i.lng,{...i,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function J(e){const t={};return function(n,r,o){const i=r+JSON.stringify(o);let a=t[i];return a||(a=e(B(r),o),t[i]=a),a(n)}}class Z{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=C.create("formatter"),this.options=e,this.formats={number:J(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:J(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:J(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:J(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:J(((e,t)=>{const n=new Intl.ListFormat(e,{...t});return e=>n.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=J(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:o,formatOptions:i}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);"currency"===t&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach((e=>{if(!e)return;const[t,...r]=e.split(":"),o=r.join(":").trim().replace(/^'+|'+$/g,"");n[t.trim()]||(n[t.trim()]=o),"false"===o&&(n[t.trim()]=!1),"true"===o&&(n[t.trim()]=!0),isNaN(o)||(n[t.trim()]=parseInt(o,10))}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[o]){let t=e;try{const a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{};t=this.formats[o](e,a.locale||a.lng||r.locale||r.lng||n,{...i,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e);return o}}class Q extends S{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=C.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(n,r.backend,r)}queueLoad(e,t,n,r){const o={},i={},a={},s={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const a=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,r=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(a[e]=!0)})),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),o=r[0],i=r[1];t&&this.emit("failedLoading",o,i,t),n&&this.store.addResourceBundle(o,i,n),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:o,k:i}=A(e,t,Object);o[i]=o[i]||[],r&&(o[i]=o[i].concat(n)),r||o[i].push(n)}(n.loaded,[o],i),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((e=>{a[e]||(a[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,i=arguments.length>5?arguments[5]:void 0;if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:o,callback:i});this.readingCalls++;const a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,r+1,2*o,i)}),o):i(a,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,a);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>a(null,e))).catch(a):a(null,n)}catch(e){a(e)}}prepareLoading(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const o=this.queueLoad(e,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=e.split("|"),r=n[0],o=n[1];this.read(r,o,"read",void 0,void 0,((n,i)=>{n&&this.logger.warn(`${t}loading namespace ${o} for language ${r} failed`,n),!n&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${r}`,i),this.loaded(e,n,i)}))}saveMissing(e,t,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){const s={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,n,r,s):l(e,t,n,r),o&&"function"==typeof o.then?o.then((e=>a(null,e))).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function ee(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const n=e[3]||e[2];Object.keys(n).forEach((e=>{t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function te(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function ne(){}class re extends S{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var n;if(super(),this.options=te(e),this.services={},this.logger=C,this.modules={external:[]},n=this,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((e=>{"function"==typeof n[e]&&(n[e]=n[e].bind(n))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=ee();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...te(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){let t;C.init(this.modules.logger?o(this.modules.logger):null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=Z);const n=new $(this.options);this.store=new O(this.options.resources,this.options);const i=this.services;i.logger=C,i.resourceStore=this.store,i.languageUtils=n,i.pluralResolver=new K(n,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(i.formatter=o(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new X(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Q(o(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.languageDetector&&(i.languageDetector=o(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=o(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new j(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=ne),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const i=k(),a=()=>{const e=(e,t)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(t),n(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),i}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ne;const n="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(n&&"cimode"===n.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],r=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(n)r(n);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>r(e)))}this.options.preload&&this.options.preload.forEach((e=>r(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,n){const r=k();return e||(e=this.languages),t||(t=this.options.ns),n||(n=ne),this.services.backendConnector.reload(e,t,(e=>{r.resolve(),n(e)})),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&N.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var n=this;this.isLanguageChangingTo=e;const r=k();this.emit("languageChanging",e);const o=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(e,i)=>{i?(o(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},a=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||o(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{i(e,n)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}getFixedT(e,t,n){var r=this;const o=function(e,t){let i;if("object"!=typeof t){for(var a=arguments.length,s=new Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];i=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else i={...t};i.lng=i.lng||o.lng,i.lngs=i.lngs||o.lngs,i.ns=i.ns||o.ns,i.keyPrefix=i.keyPrefix||n||o.keyPrefix;const u=r.options.keySeparator||".";let c;return c=i.keyPrefix&&Array.isArray(e)?e.map((e=>`${i.keyPrefix}${u}${e}`)):i.keyPrefix?`${i.keyPrefix}${u}${e}`:e,r.t(c,i)};return"string"==typeof e?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=n,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const i=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,i);if(void 0!==e)return e}return!!this.hasResourceBundle(n,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!i(n,e)||r&&!i(o,e)))}loadNamespaces(e,t){const n=k();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=k();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],o=e.filter((e=>r.indexOf(e)<0));return o.length?(this.options.preload=r.concat(o),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new $(ee());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new re(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ne;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},o=new re(r);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));return["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},n&&(o.store=new O(this.store.data,r),o.services.resourceStore=o.store),o.translator=new j(o.services,r),o.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o.emit(e,...n)})),o.init(r,t),o.translator.options=r,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const oe=re.createInstance();oe.createInstance=re.createInstance;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ae(e,t){return e(t={exports:{}},t.exports),t.exports}const se={};function le(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&se[t[0]]||("string"==typeof t[0]&&(se[t[0]]=new Date),function(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t)}}(...t))}const ue=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout((()=>{e.off("initialized",n)}),0),t()};e.on("initialized",n)}};function ce(e,t,n){e.loadNamespaces(t,ue(e,n))}function de(e,t,n,r){"string"==typeof n&&(n=[n]),n.forEach((t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)})),e.loadLanguages(t,ue(e,r))}const he=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,fe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},pe=e=>fe[e];let ge,me={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(he,pe)};const ve={type:"3rdParty",init(e){!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};me={...me,...e}}(e.options.react),function(e){ge=e}(e)}},be=t.createContext();class ye{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const we=(e,n)=>{const r=t.useRef();return t.useEffect((()=>{r.current=n?r.current:e}),[e,n]),r.current};function xe(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:r}=n,{i18n:o,defaultNS:i}=t.useContext(be)||{},a=r||o||ge;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new ye),!a){le("You will need to pass in an i18next instance by using initReactI18next");const e=(e,t)=>"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,t=[e,{},!1];return t.t=e,t.i18n={},t.ready=!1,t}a.options.react&&void 0!==a.options.react.wait&&le("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...me,...a.options.react,...n},{useSuspense:l,keyPrefix:u}=s;let c=e||i||a.options&&a.options.defaultNS;c="string"==typeof c?[c]:c||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(c);const d=(a.isInitialized||a.initializedStoreOnce)&&c.every((e=>function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0!==t.options.ignoreJSONStructure?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}):function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.languages[0],o=!!t.options&&t.options.fallbackLng,i=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;const a=(e,n)=>{const r=t.services.backendConnector.state[`${e}|${n}`];return-1===r||2===r};return!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!a(r,e)||o&&!a(i,e)))}(e,t,n):(le("i18n.languages were undefined or empty",t.languages),!0)}(e,a,s)));function h(){return a.getFixedT(n.lng||null,"fallback"===s.nsMode?c:c[0],u)}const[f,p]=t.useState(h);let g=c.join();n.lng&&(g=`${n.lng}${g}`);const m=we(g),v=t.useRef(!0);t.useEffect((()=>{const{bindI18n:e,bindI18nStore:t}=s;function r(){v.current&&p(h)}return v.current=!0,d||l||(n.lng?de(a,n.lng,c,(()=>{v.current&&p(h)})):ce(a,c,(()=>{v.current&&p(h)}))),d&&m&&m!==g&&v.current&&p(h),e&&a&&a.on(e,r),t&&a&&a.store.on(t,r),()=>{v.current=!1,e&&a&&e.split(" ").forEach((e=>a.off(e,r))),t&&a&&t.split(" ").forEach((e=>a.store.off(e,r)))}}),[a,g]);const b=t.useRef(!0);t.useEffect((()=>{v.current&&!b.current&&p(h),b.current=!1}),[a,u]);const y=[f,a,d];if(y.t=f,y.i18n=a,y.ready=d,d)return y;if(!d&&!l)return y;throw new Promise((e=>{n.lng?de(a,n.lng,c,(()=>e())):ce(a,c,(()=>e()))}))}function Ee(e){return Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ee(e)}function Ce(e){var t=function(e,t){if("object"!==Ee(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ee(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ee(t)?t:String(t)}function Se(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ce(r.key),r)}}var ke=[],Te=ke.forEach,Ae=ke.slice;var Ie=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Re=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+60*n*1e3)),r&&(o.domain=r),document.cookie=function(e,t,n){var r=n||{};r.path=r.path||"/";var o=encodeURIComponent(t),i="".concat(e,"=").concat(o);if(r.maxAge>0){var a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");i+="; Max-Age=".concat(Math.floor(a))}if(r.domain){if(!Ie.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain=".concat(r.domain)}if(r.path){if(!Ie.test(r.path))throw new TypeError("option path is invalid");i+="; Path=".concat(r.path)}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");i+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i}(e,encodeURIComponent(t),o)},De=function(e){for(var t="".concat(e,"="),n=document.cookie.split(";"),r=0;r<n.length;r++){for(var o=n[r];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},_e={name:"cookie",lookup:function(e){var t;if(e.lookupCookie&&"undefined"!=typeof document){var n=De(e.lookupCookie);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&"undefined"!=typeof document&&Re(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain,t.cookieOptions)}},Fe={name:"querystring",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.search;!window.location.search&&window.location.hash&&window.location.hash.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));for(var r=n.substring(1).split("&"),o=0;o<r.length;o++){var i=r[o].indexOf("=");if(i>0)r[o].substring(0,i)===e.lookupQuerystring&&(t=r[o].substring(i+1))}}return t}},Me=null,Le=function(){if(null!==Me)return Me;try{Me="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Me=!1}return Me},Pe={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&Le()){var n=window.localStorage.getItem(e.lookupLocalStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&Le()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},Be=null,Oe=function(){if(null!==Be)return Be;try{Be="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){Be=!1}return Be},Ne={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&Oe()){var n=window.sessionStorage.getItem(e.lookupSessionStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&Oe()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},Ue={name:"navigator",lookup:function(e){var t=[];if("undefined"!=typeof navigator){if(navigator.languages)for(var n=0;n<navigator.languages.length;n++)t.push(navigator.languages[n]);navigator.userLanguage&&t.push(navigator.userLanguage),navigator.language&&t.push(navigator.language)}return t.length>0?t:void 0}},je={name:"htmlTag",lookup:function(e){var t,n=e.htmlTag||("undefined"!=typeof document?document.documentElement:null);return n&&"function"==typeof n.getAttribute&&(t=n.getAttribute("lang")),t}},Ge={name:"path",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(n instanceof Array)if("number"==typeof e.lookupFromPathIndex){if("string"!=typeof n[e.lookupFromPathIndex])return;t=n[e.lookupFromPathIndex].replace("/","")}else t=n[0].replace("/","")}return t}},$e={name:"subdomain",lookup:function(e){var t="number"==typeof e.lookupFromSubdomainIndex?e.lookupFromSubdomainIndex+1:1,n="undefined"!=typeof window&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[t]}};var ze=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}var t,n,r;return t=e,n=[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e||{languageUtils:{}},this.options=function(e){return Te.call(Ae.call(arguments,1),(function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])})),e}(t,this.options||{},{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(e){return e.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(_e),this.addDetector(Fe),this.addDetector(Pe),this.addDetector(Ne),this.addDetector(Ue),this.addDetector(je),this.addDetector(Ge),this.addDetector($e)}},{key:"addDetector",value:function(e){this.detectors[e.name]=e}},{key:"detect",value:function(e){var t=this;e||(e=this.options.order);var n=[];return e.forEach((function(e){if(t.detectors[e]){var r=t.detectors[e].lookup(t.options);r&&"string"==typeof r&&(r=[r]),r&&(n=n.concat(r))}})),n=n.map((function(e){return t.options.convertDetectedLanguage(e)})),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}},{key:"cacheUserLanguage",value:function(e,t){var n=this;t||(t=this.options.caches),t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach((function(t){n.detectors[t]&&n.detectors[t].cacheUserLanguage(e,n.options)})))}}],n&&Se(t.prototype,n),r&&Se(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();ze.type="languageDetector";var qe,Ve,We="1.0.19";function He(){return window.platform}!function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}(qe||(qe={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(Ve||(Ve={}));var Ke={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"},Ye=t.createContext({submit:function(){return v(void 0,void 0,void 0,(function(){return b(this,(function(e){return[2,null]}))}))},submissionStatus:Ve.READY,submissionRequest:null,submissionResponse:null,submissionError:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,signatureVideo:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setSignatureVideo:function(){return null},setAdditionalDocuments:function(){return null},logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},checkLiveness:function(){return v(void 0,void 0,void 0,(function(){return b(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}});function Xe(e,t){if(t)switch(function(e){var t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(n)}(t).iss){case"https://auth.idmission.com/auth/realms/identity":return Ke.prod;case"https://demoauth.idmission.com/auth/realms/identity":return Ke.demo}var n=Ke[e];if(!n)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return n}function Je(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function Ze(e,t){var n=t.geolocationResult,r={selfie:t.selfieCaptureAttempts,front:t.idFrontCaptureAttempts,back:t.idBackCaptureAttempts,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_".concat(We),Resolution:"".concat(window.innerWidth," x ").concat(window.innerHeight)},o=He();o&&(r.os=o.os.family,r.osVersion=o.os.version,r.browserVersion="".concat(o.name," ").concat(o.version)),n&&(r.GeoLocation=JSON.stringify(n)),e.additionalData.metadata=JSON.stringify(r)}function Qe(e){return v(this,void 0,void 0,(function(){return b(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function et(e){return e.replace(/^data:.*;base64,/,"")}function tt(e){var t,n;return null!==(n=null===(t=e.match(/^(data:.*;base64),/))||void 0===t?void 0:t[1])&&void 0!==n?n:""}var nt,rt=h.default.div(nt||(nt=w(["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"],["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"])),(function(e){var t=e.$heightOffset;return null!=t?t:0})),ot=t.forwardRef((function(e,n){var r=e.children,o=e.className,i=e.heightOffset,a=void 0===i?0:i,s=e.style,u=e.onClick,c=t.useState(!1),d=c[0],h=c[1];return t.useEffect((function(){h(!1);var e=function(){var e=document.documentElement;e.style.setProperty("--app-width","".concat(window.innerWidth,"px")),e.style.setProperty("--app-height","".concat(window.innerHeight,"px"))};return window.addEventListener("resize",e),e(),h(!0),function(){window.removeEventListener("resize",e)}}),[]),l.default.createElement(rt,{ref:n,style:s,onClick:u,className:o,$heightOffset:a},d&&r)}));ot.displayName="PageContainer";var it,at,st,lt,ut=h.default(ot)(it||(it=w(["\n background: white;\n z-index: 10000;\n"],["\n background: white;\n z-index: 10000;\n"]))),ct=h.default.div(at||(at=w(["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"],["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"]))),dt=h.default.div(st||(st=w(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"],["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"]))),ht=h.default.div(lt||(lt=w(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"],["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"]))),ft=function(){return ft=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ft.apply(this,arguments)},pt={lines:12,length:7,width:5,radius:10,scale:1,corners:1,color:"#000",fadeColor:"transparent",animation:"spinner-line-fade-default",rotate:0,direction:1,speed:1,zIndex:2e9,className:"spinner",top:"50%",left:"50%",shadow:"0 0 1px transparent",position:"absolute"},gt=function(){function e(e){void 0===e&&(e={}),this.opts=ft(ft({},pt),e)}return e.prototype.spin=function(e){return this.stop(),this.el=document.createElement("div"),this.el.className=this.opts.className,this.el.setAttribute("role","progressbar"),mt(this.el,{position:this.opts.position,width:0,zIndex:this.opts.zIndex,left:this.opts.left,top:this.opts.top,transform:"scale("+this.opts.scale+")"}),e&&e.insertBefore(this.el,e.firstChild||null),function(e,t){var n=Math.round(t.corners*t.width*500)/1e3+"px",r="none";!0===t.shadow?r="0 2px 4px #000":"string"==typeof t.shadow&&(r=t.shadow);for(var o=function(e){for(var t=/^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/,n=[],r=0,o=e.split(",");r<o.length;r++){var i=o[r].match(t);if(null!==i){var a=+i[2],s=+i[5],l=i[4],u=i[7];0!==a||l||(l=u),0!==s||u||(u=l),l===u&&n.push({prefix:i[1]||"",x:a,y:s,xUnits:l,yUnits:u,end:i[8]})}}return n}(r),i=0;i<t.lines;i++){var a=~~(360/t.lines*i+t.rotate),s=mt(document.createElement("div"),{position:"absolute",top:-t.width/2+"px",width:t.length+t.width+"px",height:t.width+"px",background:vt(t.fadeColor,i),borderRadius:n,transformOrigin:"left",transform:"rotate("+a+"deg) translateX("+t.radius+"px)"}),l=i*t.direction/t.lines/t.speed;l-=1/t.speed;var u=mt(document.createElement("div"),{width:"100%",height:"100%",background:vt(t.color,i),borderRadius:n,boxShadow:bt(o,a),animation:1/t.speed+"s linear "+l+"s infinite "+t.animation});s.appendChild(u),e.appendChild(s)}}(this.el,this.opts),this},e.prototype.stop=function(){return this.el&&("undefined"!=typeof requestAnimationFrame?cancelAnimationFrame(this.animateId):clearTimeout(this.animateId),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.el=void 0),this},e}();function mt(e,t){for(var n in t)e.style[n]=t[n];return e}function vt(e,t){return"string"==typeof e?e:e[t%e.length]}function bt(e,t){for(var n=[],r=0,o=e;r<o.length;r++){var i=o[r],a=yt(i.x,i.y,t);n.push(i.prefix+a[0]+i.xUnits+" "+a[1]+i.yUnits+i.end)}return n.join(", ")}function yt(e,t,n){var r=n*Math.PI/180,o=Math.sin(r),i=Math.cos(r);return[Math.round(1e3*(e*i+t*o))/1e3,Math.round(1e3*(-e*o+t*i))/1e3]}function wt(e){if(void 0!==e){if(e.classList.contains("ladda-button")||e.classList.add("ladda-button"),e.hasAttribute("data-style")||e.setAttribute("data-style","expand-right"),!e.querySelector(".ladda-label")){var t=document.createElement("span");t.className="ladda-label",function(e,t){var n=document.createRange();n.selectNodeContents(e),n.surroundContents(t),e.appendChild(t)}(e,t)}var n,r,o=e.querySelector(".ladda-spinner");o||((o=document.createElement("span")).className="ladda-spinner"),e.appendChild(o);var i={start:function(){return r||(r=function(e){var t,n,r=e.offsetHeight;0===r&&(r=parseFloat(window.getComputedStyle(e).height));r>32&&(r*=.8);e.hasAttribute("data-spinner-size")&&(r=parseInt(e.getAttribute("data-spinner-size"),10));e.hasAttribute("data-spinner-color")&&(t=e.getAttribute("data-spinner-color"));e.hasAttribute("data-spinner-lines")&&(n=parseInt(e.getAttribute("data-spinner-lines"),10));var o=.2*r;return new gt({color:t||"#fff",lines:n||12,radius:o,length:.6*o,width:o<7?2:3,animation:"ladda-spinner-line-fade",zIndex:"auto",top:"auto",left:"auto",className:""})}(e)),e.disabled=!0,e.setAttribute("data-loading",""),clearTimeout(n),r.spin(o),this.setProgress(0),this},startAfter:function(e){return clearTimeout(n),n=setTimeout((function(){i.start()}),e),this},stop:function(){return i.isLoading()&&(e.disabled=!1,e.removeAttribute("data-loading")),clearTimeout(n),r&&(n=setTimeout((function(){r.stop()}),1e3)),this},toggle:function(){return this.isLoading()?this.stop():this.start()},setProgress:function(t){t=Math.max(Math.min(t,1),0);var n=e.querySelector(".ladda-progress");0===t&&n&&n.parentNode?n.parentNode.removeChild(n):(n||((n=document.createElement("div")).className="ladda-progress",e.appendChild(n)),n.style.width=(t||0)*e.offsetWidth+"px")},isLoading:function(){return e.hasAttribute("data-loading")},remove:function(){clearTimeout(n),e.disabled=!1,e.removeAttribute("data-loading"),r&&(r.stop(),r=null)}};return i}console.warn("Ladda button target must be defined.")}var xt,Et,Ct,St=function(e){var n=e.children,r=e.colors,o=void 0===r?{}:r,i=e.disabled,a=e.finished,s=e.onClick,u=e.style,c=t.useRef(null),d=t.useRef(null);return o.backgroundColor||(o.backgroundColor="#16a085"),o.textColor||(o.textColor="white"),o.loadingBackgroundColor||(o.loadingBackgroundColor="gray"),o.loadingTextColor||(o.loadingTextColor="white"),t.useEffect((function(){if(c.current){d.current=wt(c.current),d.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=d.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=d.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),t.useEffect((function(){var e;a&&(null===(e=d.current)||void 0===e||e.stop())}),[a]),l.default.createElement(kt,{className:"ladda-button","data-style":"expand-right",disabled:i,ref:c,onClick:s,$backgroundColor:o.backgroundColor,$textColor:o.textColor,$disabledBackgroundColor:o.loadingBackgroundColor,$disabledTextColor:o.loadingTextColor,style:u},l.default.createElement("span",{className:"ladda-label"},n))},kt=h.default.button(xt||(xt=w(["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"],["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"])),(function(e){var t=e.$textColor;return null!=t?t:"#fff"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledTextColor;return null!=t?t:"#fff"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"})),Tt=function(e){var n=e.accessBlockedImageUrl,r=xe().t,o=t.useContext(Ye).retryLocationAccess;return l.default.createElement(ut,null,l.default.createElement("div",{style:{display:"flex",height:"100%"}},l.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},l.default.createElement(dt,{style:{flexGrow:0}},l.default.createElement("img",{src:n,alt:""})),l.default.createElement("h3",null,r("Your location access is disabled")),l.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},r("This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.")),l.default.createElement(St,{onClick:o,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},r("Retry")))))},At=function(e){function t(t){var n=e.call(this,t.statusMessage)||this;return n.status=t,n}return g(t,e),t}(Error),It=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t}(Error),Rt=function(e){var t=e.error;return l.default.createElement(ut,null,l.default.createElement(ct,{style:{justifyContent:"center"}},t instanceof It?l.default.createElement(_t,{error:t,onRetry:e.onRetry}):l.default.createElement(Dt,{error:t})))},Dt=function(e){var t=e.error,n=(0,xe().t)("We're sorry, an unexpected error has occurred.");return l.default.createElement(l.default.Fragment,null,l.default.createElement("h3",{style:{marginBottom:8}},n),t.status.statusCode&&l.default.createElement("p",{style:{marginBottom:0}},l.default.createElement("code",null,"Status: ",t.status.statusCode)),l.default.createElement("p",{style:{marginBottom:0}},"Message: ",l.default.createElement("code",null,t.message)),t.status.errorData&&l.default.createElement("p",{style:{marginBottom:0}},"Data: ",l.default.createElement("code",null,t.status.errorData)))},_t=function(e){var t=e.onRetry,n=xe().t,r=n("Network unreachable"),o=n("We're having trouble reaching our services, please check your connection and try again."),i=n("Retry");return l.default.createElement(l.default.Fragment,null,l.default.createElement("h3",{style:{marginBottom:8}},r),l.default.createElement("p",{style:{marginBottom:0}},o),t&&l.default.createElement("div",{style:{marginTop:32}},l.default.createElement(St,{colors:{backgroundColor:"#ea8557"},finished:!0,onClick:t},i)))},Ft=function(e){var n=e.action,r=e.children,o=e.url,i=e.environment,a=void 0===i?"prod":i,s=e.token,u=e.companyId,c=e.enrollmentId,d=e.personalData,h=e.cardData,f=e.manualReviewRequired,p=void 0!==f&&f,g=e.verifyIdWithExternalDatabases,w=void 0!==g&&g,x=e.deduplicationEnabled,E=void 0!==x&&x,C=e.deduplicationSynchronous,S=void 0!==C&&C,k=e.geolocationEnabled,T=void 0===k||k,A=e.geolocationRequired,I=void 0!==A&&A,R=e.webhooksEnabled,D=void 0!==R&&R,_=e.webhooksClientTraceId,F=e.webhooksStripSpecialCharacters,M=void 0===F||F,L=e.onBeforeSubmit,P=e.onResponseReceived,B=e.onRequestFailure,O=t.useState(Ve.READY),N=O[0],U=O[1],j=t.useState(null),G=j[0],$=j[1],z=t.useState(null),q=z[0],V=z[1],W=t.useState(null),H=W[0],K=W[1],Y=t.useState(null),X=Y[0],J=Y[1],Z=t.useState(null),Q=Z[0],ee=Z[1],te=t.useState(null),ne=te[0],re=te[1],oe=t.useState(null),ie=oe[0],ae=oe[1],se=t.useState(null),le=se[0],ue=se[1],ce=t.useState(null),de=ce[0],he=ce[1],fe=t.useState(null),pe=fe[0],ge=fe[1],me=t.useState(null),ve=me[0],be=me[1],ye=t.useState(null),we=ye[0],xe=ye[1],Ee=t.useState(0),Ce=Ee[0],Se=Ee[1],ke=t.useState(!1),Te=ke[0],Ae=ke[1],Ie=t.useState([]),Re=Ie[0],De=Ie[1],_e=t.useState([]),Fe=_e[0],Me=_e[1],Le=t.useState([]),Pe=Le[0],Be=Le[1],Oe=t.useCallback((function(e){De((function(t){return y(y([],t,!0),[e],!1)}))}),[]),Ne=t.useCallback((function(e){Me((function(t){return y(y([],t,!0),[e],!1)}))}),[]),Ue=t.useCallback((function(e){Be((function(t){return y(y([],t,!0),[e],!1)}))}),[]),je=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){var e,t,r,i,l,f,g,v,y,x,C,k;return b(this,(function(b){switch(b.label){case 0:if(n===qe.NONE)return e={status:{statusCode:"000"},resultData:{}},U(Ve.SUBMITTED),V(e),[2,e];U(Ve.SUBMITTING),b.label=1;case 1:return b.trys.push([1,8,,9]),t={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:p?"Y":"N",bypassAgeValidation:"N",deDuplicationRequired:E?"Y":"N",bypassNameMatching:"Y",postDataAPIRequired:D?"Y":"N",sendInputImagesInPost:"N",sendProcessedImagesInPost:"N",needImmediateResponse:"N",deduplicationSynchronous:S?"Y":"N",verifyDataWithHost:w?"Y":"N",idBackImageRequired:"N",stripSpecialCharacters:M?"Y":"N",idImageResolutionCheck:"Y"}},Q&&(t.customerData.idData.idImageFront=Q),ne&&(t.customerData.idData.idImageBack=ne),ie&&(t.customerData.idData.idImageFront=ie),le&&(n===qe.IDENTIFY?t.biometricData={selfie:le}:t.customerData.biometricData={selfie:le}),u&&(t.employee={companyId:u}),d&&(t.customerData.personalData=d),h&&(t.customerData.cardData=h),c&&((k=t.customerData).personalData||(k.personalData={}),t.customerData.personalData.uniqueNumber=c),_&&(t.additionalData.clientTraceId=_),de&&(t.customerData.signatureData={signatureImage:JSON.stringify(de)}),ve&&(t.customerData.additionalDocuments=ve.map((function(e){return m(m({},e),{additionalDocument:JSON.stringify(m(m({},e.additionalDocument),{uniqueId:t.additionalData.uniqueRequestId}))})}))),Ze(t,{selfieCaptureAttempts:Pe,idFrontCaptureAttempts:Re,idBackCaptureAttempts:Fe,geolocationResult:we}),L?[4,L(t)]:[3,3];case 2:(r=b.sent())&&(t=r),b.label=3;case 3:return i=o||Xe(a,s),l=function(e,t,n,r){var o=r?"v4":"v3";switch(e){case qe.ENROLL:return"/".concat(o,t?"/customer/enroll":"/customer/enroll-biometrics");case qe.IDENTIFY:return"/".concat(o,"/customer/identify");case qe.VALIDATE:return"/".concat(o,n?"/customer/validate-id-match-face":"/customer/validate-id");case qe.VERIFY:return"/".concat(o,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}(n,!!(Q||ne||ie),!!le,!!s),[4,fetch(i+l,{method:"POST",headers:Je(s),body:JSON.stringify(t)}).catch((function(e){throw new It(e.message)}))];case 4:return(f=b.sent())&&f.ok?[3,6]:[4,null==f?void 0:f.text()];case 5:if(!(g=b.sent())||"Load failed"===g)throw new It(g);throw new At({statusCode:null!==(C=null==f?void 0:f.statusText)&&void 0!==C?C:"???",statusMessage:g});case 6:return[4,f.json()];case 7:if("000"!==(v=b.sent()).status.statusCode)throw new At(v.status);return $(t),V(v),U(Ve.SUBMITTED),null==P||P(v),[2,v];case 8:throw y=b.sent(),x=y,U(Ve.FAILED),K(y instanceof At||y instanceof It?y:"Load failed"===x.message?new It:new At({statusCode:"",statusMessage:x.message})),J((function(){return["VERIFY","IDENTIFY"].includes(n)?function(){return null}:je})),null==B||B(x),x;case 9:return[2]}}))}))}),[n,ve,h,u,E,S,c,a,we,Fe,ne,Re,Q,p,L,B,P,ie,d,Pe,le,de,s,o,w,_,D,M]),Ge=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t,n,r,i,l,u,c,d,h,f,p;return b(this,(function(g){switch(g.label){case 0:return g.trys.push([0,6,,7]),h={securityData:{userName:"",password:"",merchantId:0}},f={},p={},[4,Qe(e)];case 1:return h.customerData=(f.biometricData=(p.selfie=g.sent(),p),f),h.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:"Y",estimateAge:"N",predictGender:"N"},Ze(t=h,{selfieCaptureAttempts:Pe,idFrontCaptureAttempts:Re,idBackCaptureAttempts:Fe,geolocationResult:we}),n=o||Xe(a,s),r="/".concat(!!s?"v4":"v3","/customer/live-check"),[4,fetch(n+r,{method:"POST",headers:Je(s),body:JSON.stringify(t)}).catch((function(e){throw new It(e.message)}))];case 2:return(i=g.sent()).ok?[3,4]:[4,i.text()];case 3:if(!(l=g.sent())||"Load failed"===l)throw new It(l);throw new At({statusCode:i.statusText,statusMessage:l});case 4:return[4,i.json()];case 5:if("000"!==(u=g.sent()).status.statusCode)throw new At(u.status);return V(u),[2,u];case 6:throw c=g.sent(),d=c,U(Ve.FAILED),K(c instanceof At||c instanceof It?c:"Load failed"===d.message?new It:new At({statusCode:"",statusMessage:d.message})),J((function(){return function(){return null}})),null==B||B(d),d;case 7:return[2]}}))}))}),[a,we,Fe,Re,B,Pe,s,o]),$e=t.useCallback((function(){Se((function(e){return e+1}))}),[]);t.useEffect((function(){T&&(console.log("making geolocation attempt",Ce),navigator.geolocation.getCurrentPosition((function(e){xe(e),Ae(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);Ae(!0)})))}),[Ce,T,I]);var ze=t.useCallback((function(){X&&(K(null),U(Ve.READY),X())}),[X]);return l.default.createElement(Ye.Provider,{value:{submit:je,submissionStatus:N,submissionRequest:G,submissionResponse:q,submissionError:H,submissionEnvironment:a,idFrontImage:Q,idBackImage:ne,passportImage:ie,selfieImage:le,signatureData:de,signatureVideo:pe,additionalDocuments:ve,setIdFrontImage:ee,setIdBackImage:re,setPassportImage:ae,setSelfieImage:ue,setSignatureData:he,setSignatureVideo:ge,setAdditionalDocuments:be,logIdFrontCaptureAttempt:Oe,logIdBackCaptureAttempt:Ne,logSelfieCaptureAttempt:Ue,checkLiveness:Ge,retryLocationAccess:$e}},I&&Te?l.default.createElement(Tt,null):r,H&&l.default.createElement(Rt,{error:H,onRetry:ze}))};function Mt(e){return v(this,void 0,void 0,(function(){var t,n,r,o,i,a;return b(this,(function(s){switch(s.label){case 0:return Ct?[2,Ct]:[4,f.loadGraphModel(e)];case 1:return Ct=s.sent(),[4,f.ready()];case 2:return s.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),r=f.tensor4d(Array.from(n.dataSync()),[1,448,448,3]),o=f.cast(r,"int32"),a=(i=f).dispose,[4,Ct.executeAsync(o)];case 3:return a.apply(i,[s.sent()]),n.dispose(),o.dispose(),r.dispose(),f.dispose(t),[2,Ct]}}))}))}!function(e){e.NONE="NONE",e.ID_CARD="ID_CARD",e.ID_CARD_FRONT="ID_CARD_FRONT",e.ID_CARD_BACK="ID_CARD_BACK",e.PASSPORT="PASSPORT"}(Et||(Et={}));var Lt={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function Pt(e,t,n){return e[t]?e[t][0]?e[t][0][n]:e[t][n]:"contentBoxSize"===t?e.contentRect["inlineSize"===n?"width":"height"]:void 0}function Bt(e){void 0===e&&(e={});var n=e.onResize,r=t.useRef(void 0);r.current=n;var o=e.round||Math.round,i=t.useRef(),a=t.useState({width:void 0,height:void 0}),s=a[0],l=a[1],u=t.useRef(!1);t.useEffect((function(){return u.current=!1,function(){u.current=!0}}),[]);var c=t.useRef({width:void 0,height:void 0}),d=function(e,n){var r=t.useRef(null),o=t.useRef(null);o.current=n;var i=t.useRef(null);t.useEffect((function(){a()}));var a=t.useCallback((function(){var t=o.current,n=i.current||(t?t instanceof Element?t:t.current:null);r.current&&r.current.element===n&&r.current.subscriber===e||(r.current&&r.current.cleanup&&r.current.cleanup(),r.current={element:n,subscriber:e,cleanup:n?e(n):void 0})}),[e]);return t.useEffect((function(){return function(){r.current&&r.current.cleanup&&(r.current.cleanup(),r.current=null)}}),[]),t.useCallback((function(e){i.current=e,a()}),[a])}(t.useCallback((function(t){return i.current&&i.current.box===e.box&&i.current.round===o||(i.current={box:e.box,round:o,instance:new ResizeObserver((function(t){var n=t[0],i="border-box"===e.box?"borderBoxSize":"device-pixel-content-box"===e.box?"devicePixelContentBoxSize":"contentBoxSize",a=Pt(n,i,"inlineSize"),s=Pt(n,i,"blockSize"),d=a?o(a):void 0,h=s?o(s):void 0;if(c.current.width!==d||c.current.height!==h){var f={width:d,height:h};c.current.width=d,c.current.height=h,r.current?r.current(f):u.current||l(f)}}))}),i.current.instance.observe(t,{box:e.box}),function(){i.current&&i.current.instance.unobserve(t)}}),[e.box,o]),e.ref);return t.useMemo((function(){return{ref:d,width:s.width,height:s.height}}),[d,s.width,s.height])}window.OffscreenCanvas||(window.OffscreenCanvas=function(e,t){var n=this;return this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=t,this.canvas.convertToBlob=function(){return new Promise((function(e){n.canvas.toBlob(e)}))},this.canvas});var Ot=t.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}});let Nt;function Ut(e){if(void 0!==Nt)return Nt;if(e||"undefined"!=typeof navigator&&null!=navigator){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}var jt=function(e){var n=e.width,r=void 0===n?0:n,o=e.height,i=void 0===o?0:o,a=e.padding,s=void 0===a?Ut()?0:50:a,u=e.borderWidth,c=void 0===u?4:u,d=e.borderColor,h=void 0===d?"white":d,f=e.isMirrored,p=void 0!==f&&f,g=e.instruction,v=void 0===g?"":g,b=e.portraitGuidesImageUrl,y=e.landscapeGuidesImageUrl,w=e.onClick,x=t.useContext(Ot),E=x.orientation,C=x.wrapperRef,S=x.wrapperWidth,k=x.wrapperHeight,T=x.imageAspectRatio,A=x.wrapperAspectRatio,I=x.onImageLoaded,R=x.setDimensions;0==r&&(r=S),0==i&&(i=k),t.useEffect((function(){R({width:r,height:i})}),[i,R,r]);var D={height:k-2*s-2*c};return T>=A&&(D={width:S-2*s-2*c}),l.default.createElement(ot,{ref:C,onClick:w,style:{zIndex:1e3}},l.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},v)),l.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*s,"px - ").concat(2*c,"px)")}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}}),l.default.createElement("div",{style:{transform:p?"scaleX(-1)":"",border:"".concat(c,"px solid ").concat(h),maxWidth:"calc(100% - ".concat(2*s,"px - ").concat(2*c,"px)"),maxHeight:i-2*s-2*c}},l.default.createElement("img",{src:"portrait"===E?b:y,alt:"",onLoad:I,style:m({},D)})),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}})),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},v))))};function Gt(e){return v(this,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return"BarcodeDetector"in window?(t=new BarcodeDetector({formats:["pdf417"]}),console.log("this is a real native result!"),[4,t.detect(e)]):[2,[]];case 1:return[2,n.sent()]}}))}))}function $t(e,t){return void 0===t&&(t=!1),v(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,u,c;return b(this,(function(d){switch(d.label){case 0:return[4,new Promise((function(a){if(o=e.naturalWidth,i=e.naturalHeight,n=document.createElement("canvas"),!(r=n.getContext("2d")))return[];if(t){console.log("rotating!!"),n.width=i,n.height=o,r.setTransform(0,1,-1,0,n.width,0),r.drawImage(e,0,0,o,i);var s=new Image;s.width=n.width,s.height=n.height,s.onload=function(){a(s)},n.toBlob((function(e){e&&(s.src=URL.createObjectURL(e))}))}else r.drawImage(e,0,0,n.width,n.height),a(e)}))];case 1:return a=d.sent(),s=new ZXing.BitmapLuminanceSource(r,a),l=new ZXing.Common.HybridBinarizer(s),u=new ZXing.BinaryBitmap(l),c=ZXing.PDF417.PDF417Reader.decode(u,null,!1),r.clearRect(0,0,n.width,n.height),n.remove(),[2,c]}}))}))}function zt(){return"BarcodeDetector"in window}function qt(e,t){var n=this;return new Promise((function(r){var o=new Image;o.onload=function(){return v(n,void 0,void 0,(function(){var e,n,i,a;return b(this,(function(s){switch(s.label){case 0:return zt()?[4,Gt(o)]:[3,2];case 1:return n=s.sent(),console.log("native result",n,"".concat(o.width,"x").concat(o.height)),r(n.length>0?m(m({},n[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(i=null==t?void 0:t[2])&&void 0!==i?i:0)<(null!==(a=null==t?void 0:t[3])&&void 0!==a?a:0),[4,$t(o,e)];case 3:n=s.sent(),console.log("zxing result",n),r(n.length>0?m(m({},n[0]),{Source:"zxing"}):null),s.label=4;case 4:return[2]}}))}))},o.src=URL.createObjectURL(e)}))}function Vt(){if(!(["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document))return!1;var e=window.screen.width<window.screen.height?window.screen.width:window.screen.height,t=window.screen.width*window.devicePixelRatio,n=window.screen.height*window.devicePixelRatio;return 1179==t&&2556==n||1290==t&&2796==n&&(393==e||430==e)}var Wt,Ht=["front","avant","anteriore","cameraaanvoorzijde","kamerapåframsidan","forsidekamera","kamerapåforsiden","aparatprzedni","etukamera","kameradepan","ÖnKamera","cameramặttrước","camerăfață","prednákamera","prednjakamera","előlapikamera","přednífotoaparát","μπροστινήκάμερα","переднякамера","передняякамера","преднакамера","алдыңғыкамера","מצלמה קדמית","الكاميرا الأمامية","फ़्रंटकैमरा","前置相机","前置鏡頭","前面カメラ","전면카메라","กล้องด้านหน้า"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Kt=["back","rear","posterior","trasera","traseira","arrière","rückkamera","fotocamera(posteriore)","cameraaanachterzijde","kamerapåbaksidan","kamerapåbaksiden","bagsidekamera","aparattylny","takakamera","arkakamera","kamerabelakang","cameramặtsau","camerăspate","stražnjakamera","zadnákamera","hátoldalikamera","zadnífotoaparát","πίσωκάμερα","заднякамера","Задняякамера","заднакамера","артқыкамера","מצלמה אחורית","الكاميرا الخلفية","बैककैमरा","后置相机","後置鏡頭","背面カメラ","후면카메라","กล้องด้านหลัง"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Yt=["backultrawidecamera","ultraampliaposterior","ultra-angulartraseira","ultragrandeangulartraseira","ultragrandangle","ultragranangular","ultra-weitwinkelkamera","ultra-grandangolo","ultrabredecameraaanachterzijde","ultravidvinkelkamerapåbaksidan","ultravidvinkelkameraetpåbagsiden","ultravidvinkelkamerabak","ultragenişkameraarkayüzü","ultralaajakulmainentakakamera","tylnyaparatultraszerokokątny","cameracựcrộngmặtsau","camerăcuobiectivultra‑superangularspate","ultraszéleslátószögűkamera","kameraultralebarbelakang","stražnjaultraširokakamera","zadníultraširokoúhlýfotoaparát","ultraširokouhlá","πίσωυπερευρείακάμερα","заднянадширококутнакамера","Задняясверхширокоугольнаякамера","Задна свръх широкоъгълна камера","артқыультракеңбұрыштыкамера","מצלמה אולטרה רחבה אחורית","كاميرا خلفية عريضة جدًا","बैकअल्ट्रावाइडकैमरा","后置超广角相机","後置超廣角鏡頭相機","背面超広角カメラ","후면울트라와이드카메라","กล้องด้านหลังอัลตร้าไวด์"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Xt=function(e,t){var n=e instanceof MediaDeviceInfo?Jt(e):e;return("string"==typeof t?[t]:t).some((function(e){return n.includes(e)}))},Jt=function(e){return e.label.toLocaleLowerCase().split(" ").join("")};function Zt(){Wt&&(console.log("releasing camera access..."),Wt.release(),Wt=void 0)}var Qt,en=function(e){var n=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1}:e,r=n.preferFrontFacingCamera,o=void 0!==r&&r,i=n.preferContinuityCamera,a=void 0===i||i,s=n.requestMicrophoneAccess,l=void 0!==s&&s,u=t.useRef(null),c=t.useRef(null),d=t.useState(null),h=d[0],f=d[1],p=t.useState(!1),g=p[0],m=p[1],w=t.useState(null),x=w[0],E=w[1],C=t.useState(!1),S=C[0],k=C[1],T=t.useState(a),A=T[0],I=T[1],R=t.useState(!1),D=R[0],_=R[1],F=t.useState(!1),M=F[0],L=F[1];t.useEffect((function(){console.log("iphone continuity camera allowed changed",A),Zt(),c.current=null,m(!1)}),[A]);var P=t.useCallback((function(){L(!1)}),[]);t.useEffect((function(){M||function(e){return v(this,void 0,void 0,(function(){var t,n;return b(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,navigator.mediaDevices.getUserMedia({video:{facingMode:{exact:e}},audio:!1})];case 1:return t=r.sent(),[3,3];case 2:return r.sent(),[2,[]];case 3:return[4,navigator.mediaDevices.enumerateDevices()];case 4:return n=r.sent().filter((function(e){return"videoinput"===e.kind})),t.getVideoTracks().forEach((function(e){e.enabled=!1,e.stop()})),t=null,[2,n]}}))}))}().then((function(e){var t,n=He();if(!(D||n&&"OS X"!==n.os.family)){var r=e.find((function(e){return Xt(e,"iphone")}));k(!!r),r&&A&&(t=r)}o&&(t=e.find((function(e){return Xt(e,Ht)}))),Vt()?t||(t=e.find((function(e){return Xt(e,Yt)}))):t||(t=e.find((function(e){return Xt(e,Kt)&&!Xt(e,Yt)}))),t||(t=e.find((function(e){return Xt(e,Kt)}))),!o&&"iOS"===(null==n?void 0:n.os.family)&&e.length>0&&(t||(t=e[1])),t||(t=e[0]),f(t)})).catch((function(e){if("NotAllowedError"!==e.name)throw e;console.error("camera access has been blocked by the user",e),L(!0)}))}),[M,A,D,o]),t.useEffect((function(){var e;if(h){var t=function(){Zt(),c.current=null,m(!1)};return(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia)?(v(void 0,void 0,void 0,(function(){var e,t,n;return b(this,(function(r){switch(r.label){case 0:e=null,r.label=1;case 1:return r.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:l,video:{deviceId:{exact:h.deviceId},width:{ideal:1920},aspectRatio:1.777777778}})];case 2:return e=r.sent(),[3,4];case 3:return"NotAllowedError"===r.sent().name?(A?(k(!1),_(!0)):L(!0),[2]):[3,4];case 4:if(e)return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 6:return e=r.sent(),console.log("opened stream with no width and height constraints"),[3,8];case 7:return r.sent(),console.log("cannot open stream at all"),[3,8];case 8:if(!e)throw new Error("failed to open camera");return t=function(){S&&A?(console.log("someone unplugged the continuity camera"),Zt(),c.current=null,k(!1),_(!0),E(null),f(null)):(console.log("someone unplugged the webcam"),Zt(),c.current=null,m(!1),L(!0),E(null))},null===(n=u.current)||void 0===n||n.addEventListener("ended",t),e.getVideoTracks().forEach((function(e){e.onended=t})),c.current=function(e,t,n){Zt(),console.log("obtaining camera access...");var r=e.getVideoTracks()[0].getSettings(),o=r.width,i=r.height,a=t.toLocaleLowerCase().split(" ").join(""),s=Xt(a,y(y(y([],Kt,!0),Yt,!0),["iphone"],!1));return o||(o=0),i||(i=0),Wt={label:t,stream:e,width:o,height:i,isRearFacing:s,release:function(){e.getTracks().forEach((function(e){e.enabled=!1,e.stop()})),n&&(n.pause(),n.srcObject=null,n.src="")}},n&&(n.srcObject=e),Wt}(e,h.label,u.current),[2]}}))})),t):t}}),[A,S,l,h]),t.useEffect((function(){E(null),g&&v(void 0,void 0,void 0,(function(){var e,t,n,r;return b(this,(function(o){return(e=(null!==(r=null===(n=null===(t=c.current)||void 0===t?void 0:t.stream)||void 0===n?void 0:n.getVideoTracks())&&void 0!==r?r:[])[0])?(E(new ImageCapture(e)),[2]):[2]}))}))}),[g]);var B=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return x?[4,x.grabFrame()]:[2,null];case 1:return[2,e.sent()]}}))}))}),[x]),O=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){var e,t,n,r,o;return b(this,(function(i){switch(i.label){case 0:return e=document.createElement("canvas"),(t=e.getContext("2d"))&&c.current&&u.current?(e.width=null===(r=u.current)||void 0===r?void 0:r.videoWidth,e.height=null===(o=u.current)||void 0===o?void 0:o.videoHeight,t.drawImage(u.current,0,0,e.width,e.height),n=e.toDataURL("image/jpeg",.98),[4,fetch(n)]):[2,null];case 1:return[4,i.sent().blob()];case 2:return[2,i.sent()]}}))}))}),[]);return{videoRef:u,videoDevice:h,videoLoaded:g,setVideoLoaded:m,cameraRef:c,cameraAccessDenied:M,retryCameraAccess:P,releaseCameraAccess:Zt,iphoneContinuityCameraAvailable:S,iphoneContinuityCameraAllowed:A,setIphoneContinuityCameraAllowed:I,captureDevice:x,grabFrame:B,takePhoto:O}},tn=t.createContext({videoRef:{current:null},videoLoaded:!1,cameraRef:{current:null},cameraReady:!1,cameraAccessDenied:!1,retryCameraAccess:function(){return null},releaseCameraAccess:function(){return null},iphoneContinuityCameraAvailable:!1,iphoneContinuityCameraAllowed:!0,setIphoneContinuityCameraAllowed:function(){return null},grabFrame:function(){return Promise.resolve(null)},takePhoto:function(){return Promise.resolve(null)},setVideoLoaded:function(){return null}}),nn=function(e){var n=e.children,r=e.preferFrontFacingCamera,o=e.preferContinuityCamera,i=e.requestMicrophoneAccess,a=en({preferFrontFacingCamera:void 0!==r&&r,preferContinuityCamera:void 0===o||o,requestMicrophoneAccess:void 0!==i&&i}),s=a.videoRef,u=a.videoLoaded,c=a.setVideoLoaded,d=a.cameraRef,h=a.cameraAccessDenied,f=a.retryCameraAccess,p=a.releaseCameraAccess,g=a.iphoneContinuityCameraAvailable,m=a.iphoneContinuityCameraAllowed,v=a.setIphoneContinuityCameraAllowed,b=a.grabFrame,y=a.takePhoto,w=a.captureDevice,x=t.useState(!1),E=x[0],C=x[1];return t.useEffect((function(){C(!1),w&&C(!0)}),[w]),t.useEffect((function(){return function(){p()}}),[p]),l.default.createElement(tn.Provider,{value:{videoRef:s,videoLoaded:u,setVideoLoaded:c,cameraRef:d,cameraReady:E,cameraAccessDenied:h,releaseCameraAccess:p,retryCameraAccess:f,iphoneContinuityCameraAvailable:g,iphoneContinuityCameraAllowed:m,setIphoneContinuityCameraAllowed:v,grabFrame:b,takePhoto:y}},n)};function rn(e){return v(this,void 0,void 0,(function(){var t,n,r,o,i,a,s,l,u;return b(this,(function(c){switch(c.label){case 0:return Qt?[2,Qt]:[4,f.loadLayersModel(e)];case 1:return Qt=c.sent(),[4,f.ready()];case 2:return c.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),i=(o=f).tensor4d,s=(a=Array).from,[4,n.data()];case 3:return r=i.apply(o,[s.apply(a,[c.sent()]),[1,448,448,3]]),l=f.cast(r,"int32"),[4,Qt.predict(l)];case 4:return[4,(u=c.sent()).data()];case 5:return c.sent(),f.dispose(u),n.dispose(),l.dispose(),r.dispose(),f.dispose(t),[2,Qt]}}))}))}class on{refCount(e){return an("refCount")}incRef(e){return an("incRef")}timerAvailable(){return!0}time(e){return an("time")}read(e){return an("read")}readSync(e){return an("readSync")}readToGPU(e,t){return an("readToGPU")}numDataIds(){return an("numDataIds")}disposeData(e,t){return an("disposeData")}write(e,t,n){return an("write")}move(e,t,n,r,o){return an("move")}createTensorFromGPUData(e,t,n){return an("createTensorFromGPUData")}memory(){return an("memory")}floatPrecision(){return an("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return an("dispose")}}function an(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function sn(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function ln(e){if(0===e.length)return 1;let t=e[0];for(let n=1;n<e.length;n++)t*=e[n];return t}function un(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function cn(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function dn(e){if("float32"===e||"int32"===e)return 4;if("complex64"===e)return 8;if("bool"===e)return 1;throw new Error(`Unknown dtype ${e}`)}function hn(e){return"string"==typeof e||e instanceof String}function fn(e){return Array.isArray(e)?fn(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":"number"==typeof e?"float32":hn(e)?"string":function(e){return"boolean"==typeof e}(e)?"bool":"float32"}function pn(e){return!!(e&&e.constructor&&e.call&&e.apply)}function gn(e){const t=e.length;if(t<2)return[];const n=new Array(t-1);n[t-2]=e[t-1];for(let r=t-3;r>=0;--r)n[r]=n[r+1]*e[r+1];return n}function mn(e,t,n,r=!1){const o=new Array;if(1===t.length){const i=t[0]*(r?2:1);for(let t=0;t<i;t++)o[t]=n[e+t]}else{const i=t[0],a=t.slice(1),s=a.reduce(((e,t)=>e*t))*(r?2:1);for(let t=0;t<i;t++)o[t]=mn(e+t*s,a,n,r)}return o}function vn(e,t,n=!1){if(0===e.length)return t[0];const r=e.reduce(((e,t)=>e*t))*(n?2:1);if(0===r)return[];if(r!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return mn(0,e,t,n)}function bn(e,t){if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t)return new Uint8Array(e);throw new Error(`Unknown data type ${t}`)}function yn(e){e.forEach((t=>{sn(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function wn(e){return e&&e.then&&"function"==typeof e.then}const xn="tfjsflags";class En{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=Cn,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&(Sn().getBool("IS_TEST")||Sn().getBool("PROD")||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},null!=this.urlFlags[e]){const t=this.urlFlags[e];Sn().getBool("IS_TEST")||Sn().getBool("PROD")||console.warn(`Setting feature override from URL ${e}: ${t}.`),this.set(e,t)}}async getAsync(e){return e in this.flags||(this.flags[e]=await this.evaluateFlag(e)),this.flags[e]}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(wn(t))throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(null==this.flagRegistry[e])throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,null!=this.flagRegistry[e].setHook&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(null==this.flagRegistry[e])throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(void 0===this.global||void 0===this.global.location||void 0===this.global.location.search)return;const e=this.getQueryParams(this.global.location.search);if(xn in e){e[xn].split(",").forEach((e=>{const[t,n]=e.split(":");this.urlFlags[t]=function(e,t){const n=t.toLowerCase();return"true"===n||"false"===n?"true"===n:""+ +n===n?+n:t}(0,n)}))}}}function Cn(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...n)=>(function(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}(t,n[0],n[1]),n.join("=")))),t}function Sn(){return Tn}let kn,Tn=null;function An(){if(null==kn){let e;if("undefined"!=typeof window)e=window;else if("undefined"!=typeof global)e=global;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}kn=e}return kn}function In(e,t){const n=function(){const e=An();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const Rn="Add",Dn="Cast",_n="Identity";function Fn(...e){Sn().getBool("IS_TEST")||Sn().getBool("PROD")||console.warn(...e)}const Mn=In("kernelRegistry",(()=>new Map)),Ln=In("gradRegistry",(()=>new Map));function Pn(e,t){const n=function(e,t){return`${t}_${e}`}(e,t);return Mn.get(n)}function Bn(e){return Ln.get(e)}function On(e){const t=Mn.entries(),n=[];for(;;){const{done:r,value:o}=t.next();if(r)break;const[i,a]=o,[s]=i.split("_");s===e&&n.push(a)}return n}function Nn(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function Un(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=zn(e)),Sn().getBool("DEBUG")&&function(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(isNaN(r)||!isFinite(r))throw Error(`A tensor of type ${t} being uploaded contains ${r}.`)}}(e,t),function(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let n=0;n<t.length;++n)0!==Math.round(e[n])&&(t[n]=1);return t}throw new Error(`Unknown data type ${t}`)}function jn(){return Sn().platform.now()}function Gn(e,t="utf-8"){return t=t||"utf-8",Sn().platform.decode(e,t)}function $n(e){return null!=Sn().platform.isTypedArray?Sn().platform.isTypedArray(e):Nn(e)}function zn(e,t=[],n=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||wn(e)||null==e||$n(e)&&n)t.push(e);else if(Array.isArray(e)||$n(e))for(let r=0;r<e.length;++r)zn(e[r],t,n);else{let r=-1;for(const t of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(t)&&(r=Math.max(r,Number(t)));for(let o=0;o<=r;o++)zn(e[o],t,n)}return t}class qn{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new Wn)}profileKernel(e,t,n){let r;const o=()=>{r=n()};let i;const a=jn();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(o);else{o();for(const e of r)e.dataSync();i=Promise.resolve({kernelMs:jn()-a})}if(Sn().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<r.length;t++){const n=r[t];n.data().then((t=>{Vn(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:i.then((e=>e.kernelMs)),extraInfo:i.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:o,extraInfo:i}=e;n.forEach((e=>{Promise.all([e.data(),r,i]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],o,n[2])}))}))}}function Vn(e,t,n){if("float32"!==t)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(isNaN(r)||!isFinite(r))return console.warn(`Found ${r} in the result of '${n}'`),!0}return!1}class Wn{logKernelProfile(e,t,n,r,o,i){const a="number"==typeof r?cn(`${r}ms`,9):r.error,s=cn(e,25),l=t.rank,u=t.size,c=cn(t.shape.toString(),14);let d="";for(const e in o){const n=o[e];if(null!=n){const r=n.shape||t.shape,o=r.length;d+=`${e}: ${o}D ${o>0?r:""} `}}console.log(`%c${s}\t%c${a}\t%c${l}D ${c}\t%c${u}\t%c${d}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}const Hn=20,Kn=3,Yn=7;function Xn(e,t,n,r){const o=gn(t),i=function(e,t,n,r){const o=ln(t),i=r[r.length-1],a=new Array(i).fill(0),s=t.length,l="complex64"===n?er(e):e;if(s>1)for(let e=0;e<o/i;e++){const t=e*i;for(let e=0;e<i;e++)a[e]=Math.max(a[e],Jn(l[t+e],0,n).length)}return a}(e,t,n,o),a=t.length,s=Qn(e,t,n,o,i),l=["Tensor"];return r&&(l.push(` dtype: ${n}`),l.push(` rank: ${a}`),l.push(` shape: [${t}]`),l.push(" values:")),l.push(s.map((e=>" "+e)).join("\n")),l.join("\n")}function Jn(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(Yn))} + ${parseFloat(e[1].toFixed(Yn))}j`:hn(e)?`'${e}'`:"bool"===n?Zn(e):parseFloat(e.toFixed(Yn)).toString(),cn(r,t)}function Zn(e){return 0===e?"false":"true"}function Qn(e,t,n,r,o,i=!0){const a="complex64"===n?2:1,s=t[0],l=t.length;if(0===l){if("complex64"===n){return[Jn(er(e)[0],0,n)]}return"bool"===n?[Zn(e[0])]:[e[0].toString()]}if(1===l){if(s>Hn){let t=Array.from(e.slice(0,Kn*a)),r=Array.from(e.slice((s-Kn)*a,s*a));return"complex64"===n&&(t=er(t),r=er(r)),["["+t.map(((e,t)=>Jn(e,o[t],n))).join(", ")+", ..., "+r.map(((e,t)=>Jn(e,o[s-Kn+t],n))).join(", ")+"]"]}return["["+("complex64"===n?er(e):Array.from(e)).map(((e,t)=>Jn(e,o[t],n))).join(", ")+"]"]}const u=t.slice(1),c=r.slice(1),d=r[0]*a,h=[];if(s>Hn){for(let t=0;t<Kn;t++){const r=t*d;h.push(...Qn(e.slice(r,r+d),u,n,c,o,!1))}h.push("...");for(let t=s-Kn;t<s;t++){const r=t*d;h.push(...Qn(e.slice(r,r+d),u,n,c,o,t===s-1))}}else for(let t=0;t<s;t++){const r=t*d;h.push(...Qn(e.slice(r,r+d),u,n,c,o,t===s-1))}const f=2===l?",":"";h[0]="["+(s>0?h[0]+f:"");for(let e=1;e<h.length-1;e++)h[e]=" "+h[e]+f;let p=",\n";for(let e=2;e<l;e++)p+="\n";return h[h.length-1]=" "+h[h.length-1]+"]"+(i?"":p),h}function er(e){const t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}class tr{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=ln(e),null!=n){const e=n.length;sn(e===this.size,(()=>`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||function(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else if("bool"===e)n=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);n=new Array(t)}return n}(t,this.size),this.strides=gn(e)}set(e,...t){0===t.length&&(t=[0]),sn(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const n=this.locToIndex(t);this.values[n]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const n of e){if(n<0||n>=this.shape[t]){throw new Error(`Requested out of range element at ${e}. Buffer shape=${this.shape}`)}t++}let n=e[e.length-1];for(let t=0;t<e.length-1;++t)n+=this.strides[t]*e[t];return this.values[n]}locToIndex(e){if(0===this.rank)return 0;if(1===this.rank)return e[0];let t=e[e.length-1];for(let n=0;n<e.length-1;++n)t+=this.strides[n]*e[n];return t}indexToLoc(e){if(0===this.rank)return[];if(1===this.rank)return[e];const t=new Array(this.shape.length);for(let n=0;n<t.length-1;++n)t[n]=Math.floor(e/this.strides[n]),e-=t[n]*this.strides[n];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return nr().makeTensor(this.values,this.shape,this.dtype)}}let nr=null,rr=null;class or{constructor(e,t,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=ln(e),this.strides=gn(e),this.dataId=n,this.id=r,this.rankType=this.rank<5?this.rank.toString():"higher"}get rank(){return this.shape.length}async buffer(){const e=await this.data();return rr.buffer(this.shape,this.dtype,e)}bufferSync(){return rr.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return vn(this.shape,e,"complex64"===this.dtype)}arraySync(){return vn(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=nr().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>Gn(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),nr().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=nr().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>Gn(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await nr().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(nr().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return rr.print(this,e)}clone(){return this.throwIfDisposed(),rr.clone(this)}toString(e=!1){return Xn(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),rr.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),nr().makeVariable(this,e,t,n)}}Object.defineProperty(or,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),In("Tensor",(()=>or));class ir extends or{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!un(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);nr().disposeTensor(this),this.dataId=e.dataId,nr().incRef(this,null)}dispose(){nr().disposeVariable(this),this.isDisposedInternal=!0}}var ar,sr,lr,ur,cr;Object.defineProperty(ir,Symbol.hasInstance,{value:e=>e instanceof or&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(ar||(ar={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(sr||(sr={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(lr||(lr={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(ur||(ur={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(cr||(cr={}));const dr={float32:ur,int32:sr,bool:lr,complex64:cr};function hr(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function fr(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function pr(e,t){if(e.dtype===t.dtype)return[e,t];const n=function(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return dr[e][t]}(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function gr(e){const t=[];return mr(e,t,new Set),t}function mr(e,t,n){if(null==e)return;if(e instanceof or)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const o=e;for(const e in o){const r=o[e];n.has(r)||(n.add(r),mr(r,t,n))}}function vr(e){return null!=e.kernelName}class br{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class yr{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new br}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t];if(await this.initializeBackend(n).success)return void await this.setBackend(n)}throw new Error("Could not initialize any backends, all backend initializations failed.")}get backend(){if(null!=this.pendingBackendInit)throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);if(null==this.backendInstance){const{name:e,asyncInit:t}=this.initializeBackendsAndReturnBest();if(t)throw new Error(`The highest priority backend '${e}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);this.setBackend(e)}return this.backendInstance}backendNames(){return Object.keys(this.registryFactory)}findBackend(e){if(!(e in this.registry)){if(!(e in this.registryFactory))return null;{const{asyncInit:t}=this.initializeBackend(e);if(t)return null}}return this.registry[e]}findBackendFactory(e){return e in this.registryFactory?this.registryFactory[e].factory:null}registerBackend(e,t,n=1){return e in this.registryFactory?(Fn(`${e} backend was already registered. Reusing existing backend factory.`),!1):(this.registryFactory[e]={factory:t,priority:n},!0)}async setBackend(e){if(null==this.registryFactory[e])throw new Error(`Backend name '${e}' not found in registry`);if(this.backendName=e,null==this.registry[e]){this.backendInstance=null;const{success:t,asyncInit:n}=this.initializeBackend(e);if(!(n?await t:t))return!1}return this.backendInstance=this.registry[e],this.setupRegisteredKernels(),this.profiler=new qn(this.backendInstance),!0}setupRegisteredKernels(){On(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){On(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(!n||n instanceof on||"function"!=typeof n.then)return this.registry[e]=n,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,r=n.then((n=>!(t<this.pendingBackendInitId)&&(this.registry[e]=n,this.pendingBackendInit=null,!0))).catch((n=>(t<this.pendingBackendInitId||(this.pendingBackendInit=null,Fn(`Initialization of backend ${e} failed`),Fn(n.stack||n.message)),!1)));return this.pendingBackendInit=r,{success:r,asyncInit:!0}}}catch(t){return Fn(`Initialization of backend ${e} failed`),Fn(t.stack||t.message),{success:!1,asyncInit:!1}}}removeBackend(e){if(!(e in this.registryFactory))throw new Error(`${e} backend not found in registry`);this.backendName===e&&null!=this.pendingBackendInit&&this.pendingBackendInitId++,e in this.registry&&(this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e]),delete this.registryFactory[e],this.backendName===e&&(this.pendingBackendInit=null,this.backendName=null,this.backendInstance=null)}getSortedBackends(){if(0===Object.keys(this.registryFactory).length)throw new Error("No backend found in registry.");return Object.keys(this.registryFactory).sort(((e,t)=>this.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t],{success:r,asyncInit:o}=this.initializeBackend(n);if(o||r)return{name:n,asyncInit:o}}throw new Error("Could not initialize any backends, all backend initializations failed.")}moveData(e,t){const n=this.state.tensorInfo.get(t),r=n.backend,o=this.readSync(t),i=r.refCount(t);r.disposeData(t,!0),n.backend=e,e.move(t,o,n.shape,n.dtype,i),this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack[this.state.numDataMovesStack.length-1]++}tidy(e,t){let n,r=null;if(null==t){if("function"!=typeof e)throw new Error("Please provide a function to tidy()");t=e}else{if("string"!=typeof e&&!(e instanceof String))throw new Error("When calling with two arguments, the first argument to tidy() must be a string");if("function"!=typeof t)throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function");r=e}return this.scopedRun((()=>this.startScope(r)),(()=>this.endScope(n)),(()=>(n=t(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(e,t,n){e();try{const e=n();return t(),e}catch(e){throw t(),e}}nextTensorId(){return yr.nextTensorId++}nextVariableId(){return yr.nextVariableId++}clone(e){const t=xr.runKernel(_n,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>xr.runKernel(Dn,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,n){if(!(null!=Pn(e,this.backendName)))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let o=0;n.forEach((e=>{o+="complex64"===e.dtype?3:1}));const i=r-t-o-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),o=this.state.numBytes,i=this.state.numTensors;let a,s;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const l=vr(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(vr(e)){const{kernelName:t,inputs:o,attrs:i}=e,l=Pn(t,this.backendName);sn(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),a=()=>{const e=this.backend.numDataIds();s=l.kernelFunc({inputs:o,attrs:i,backend:this.backend});const a=Array.isArray(s)?s:[s];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,a);const u=a.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(r){const e=this.getTensorsForGradient(t,o,u);n=this.saveTensorsForBackwardMode(e)}return u}}else{const{forwardFunc:t}=e,o=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};a=()=>{const e=this.backend.numDataIds();s=this.tidy((()=>t(this.backend,o)));const n=Array.isArray(s)?s:[s];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:u,attrs:c}=e,d=vr(e)?null:e.backwardsFunc;let h;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(h=this.profiler.profileKernel(l,u,(()=>a())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(h),t=h.outputs):t=a()})),r&&this.addTapeNode(l,u,t,d,n,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-o,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(u).map((e=>null!=u[e]?u[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:h.timeMs,extraInfo:h.extraInfo}),Array.isArray(s)?t:t[0]}saveTensorsForBackwardMode(e){return e.map((e=>this.keep(this.clone(e))))}getTensorsForGradient(e,t,n){const r=Bn(e);if(null!=r){const e=r.inputsToSave||[],o=r.outputsToSave||[];let i;r.saveAllInputs?(sn(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(t).map((e=>t[e]))):i=e.map((e=>t[e]));const a=n.filter(((e,t)=>o[t]));return i.concat(a)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");r=r||this.backend;let o=e;"string"===(n=n||"float32")&&hn(e[0])&&(o=e.map((e=>function(e,t="utf-8"){return t=t||"utf-8",Sn().platform.encode(e,t)}(e))));const i=r.write(o,t,n),a=new or(t,n,i,this.nextTensorId());if(this.trackTensor(a,r),"string"===n){const e=this.state.tensorInfo.get(i),t=function(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}(o);this.state.numBytes+=t-e.bytes,e.bytes=t}return a}makeTensorFromDataId(e,t,n,r){return this.makeTensorFromTensorInfo({dataId:e,shape:t,dtype:n=n||"float32"},r)}makeTensorFromTensorInfo(e,t){const{dataId:n,shape:r,dtype:o}=e,i=new or(r,o,n,this.nextTensorId());return this.trackTensor(i,t),i}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const o=new ir(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[o.name])throw new Error(`Variable with name ${o.name} was already registered`);return this.state.registeredVariables[o.name]=o,this.incRef(o,this.backend),o}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*dn(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof ir||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*dn(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){this.disposeVariable(this.state.registeredVariables[e])}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,n,r,o,i){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:o},s=Bn(e);null!=s&&(r=s.gradFunc),null!=r&&(a.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=bn(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],o,i))),this.state.activeTape.push(a)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=gr(e),n=new Set(t.map((e=>e.id)));for(let e=0;e<this.state.activeScope.track.length;e++){const t=this.state.activeScope.track[e];t.kept||n.has(t.id)||t.dispose()}const r=this.state.scopeStack.pop();this.state.activeScope=0===this.state.scopeStack.length?null:this.state.scopeStack[this.state.scopeStack.length-1],t.forEach((e=>{e.kept||e.scopeId!==r.id||this.track(e)}))}gradients(e,t,n,r=!1){if(sn(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const o=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));sn(o instanceof or,(()=>"The result y returned by f() must be a tensor."));const i=function(e,t,n){const r={},o={};for(let e=0;e<t.length;e++)r[t[e].id]=!0;for(let n=0;n<e.length;n++){const i=e[n],a=i.inputs;for(const e in a){const n=a[e];let s=!1;for(let e=0;e<t.length;e++)if(r[n.id]){i.outputs.forEach((e=>r[e.id]=!0)),s=!0,o[i.id]=!0;break}if(s)break}}const i={};i[n.id]=!0;const a={};for(let t=e.length-1;t>=0;t--){const n=e[t],r=n.inputs;for(let e=0;e<n.outputs.length;e++)if(i[n.outputs[e].id]){for(const e in r)i[r[e].id]=!0,a[n.id]=!0;break}}const s=[];for(let t=0;t<e.length;t++){const n=e[t];if(o[n.id]&&a[n.id]){const e={};for(const t in n.inputs){const o=n.inputs[t];r[o.id]&&(e[t]=o)}const t=Object.assign({},n);t.inputs=e,t.outputs=n.outputs,s.push(t)}}return s}(this.state.activeTape,t,o);if(!r&&0===i.length&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[o.id]=null==n?function(e){const t=function(e,t){const n=bn(e,t);for(let e=0;e<n.length;e++)n[e]=1;return n}(ln(e),"float32");return xr.makeTensor(t,e,"float32")}(o.shape):n,function(e,t,n,r){for(let o=t.length-1;o>=0;o--){const i=t[o],a=[];if(i.outputs.forEach((t=>{const n=e[t.id];a.push(null!=n?n:null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const s=i.gradient(a);for(const t in i.inputs){if(!(t in s))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(s)}.`);const o=n((()=>s[t]()));if("float32"!==o.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${o.dtype}'`);const a=i.inputs[t];if(!un(o.shape,a.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${t}' has shape '${o.shape}', which does not match the shape of the input '${a.shape}'`);if(null==e[a.id])e[a.id]=o;else{const t=e[a.id];e[a.id]=r(t,o),t.dispose()}}}}(e,i,(e=>this.tidy(e)),Er);const r=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:o,grads:r}}))}customGrad(e){return sn(pn(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;sn(t.every((e=>e instanceof or)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};t.forEach(((e,t)=>{r[t]=e}));return this.runKernelFunc({forwardFunc:(r,o)=>(n=e(...t,o),sn(n.value instanceof or,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),sn(pn(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(e,r)=>{const o=n.gradFunc(e,r),i=Array.isArray(o)?o:[o];sn(i.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),sn(i.every((e=>e instanceof or)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const a={};return i.forEach(((e,t)=>{a[t]=()=>e})),a},inputs:r})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=jn(),n=await this.backend.time(e);return n.wallMs=jn()-t,n}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new br;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function wr(){const e=An();if(null==e._tfengine){const t=new En(e);e._tfengine=new yr(t)}return Tn=e._tfengine.ENV,function(e){nr=e}((()=>e._tfengine)),e._tfengine}yr.nextTensorId=0,yr.nextVariableId=0;const xr=wr();function Er(e,t){return xr.runKernel(Rn,{a:e,b:t})}const Cr=Sn();function Sr(e,t){let n=e;if($n(e))return"string"===t?[]:[e.length];if(hr(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(fr(e))return[e.buffer.size/(null==t?4:dn(t))];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||$n(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&Sn().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&kr(e,r,[]),r}function kr(e,t,n){if(n=n||[],!Array.isArray(e)&&!$n(e))return void sn(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));sn(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),sn(e.length===t[0],(()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const r=t.slice(1);for(let t=0;t<e.length;++t)kr(e[t],r,n.concat(t))}function Tr(e,t,n,r){if("string_or_numeric"!==e){if(null==e)throw new Error("Expected dtype cannot be null.");if("numeric"!==e&&e!==t||"numeric"===e&&"string"===t)throw new Error(`Argument '${n}' passed to '${r}' must be ${e} tensor, but got ${t} tensor`)}}function Ar(e,t,n,r="numeric"){if(e instanceof or)return Tr(r,e.dtype,t,n),e;let o=fn(e);if("string"!==o&&["bool","int32","float32"].indexOf(r)>=0&&(o=r),Tr(r,o,t,n),null==e||!$n(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${null==e?"null":e.constructor.name}'`)}const i=Sr(e,o);$n(e)||Array.isArray(e)||(e=[e]);const a="string"!==o?Un(e,o):zn(e,[],!0);return xr.makeTensor(a,i,o)}Cr.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),Cr.registerFlag("IS_BROWSER",(()=>"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope)),Cr.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),Cr.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),Cr.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),Cr.registerFlag("PROD",(()=>!1)),Cr.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>Cr.getBool("DEBUG"))),Cr.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),Cr.registerFlag("IS_TEST",(()=>!1)),Cr.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>Cr.getBool("DEBUG"))),Cr.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),Cr.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),Cr.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));function Ir(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+="__op";const o=(...e)=>{xr.startScope(n);try{const t=r(...e);return wn(t)&&console.error("Cannot return a Promise inside of tidy."),xr.endScope(t),t}catch(e){throw xr.endScope(null),e}};return Object.defineProperty(o,"name",{value:n,configurable:!0}),o}class Rr{static join(e){return new Rr(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>$n(e)?e.buffer:e))).length)return;this.bufferUniformSize=e[0].byteLength;let t=0;for(let n=0;n<e.length;n++){const r=e[n];n!==e.length-1&&r.byteLength!==this.bufferUniformSize&&(this.bufferUniformSize=void 0);const o=t+r.byteLength;this.shards.push({buffer:r,start:t,end:o}),t=o}0===this.shards.length&&(this.byteLength=0),this.byteLength=this.shards[this.shards.length-1].end}slice(e=0,t=this.byteLength){if(0===this.shards.length)return new ArrayBuffer(0);if(e=isNaN(Number(e))?0:e,t=isNaN(Number(t))?0:t,e=Math.max(0,e),(t=Math.min(this.byteLength,t))<=e)return new ArrayBuffer(0);const n=this.findShardForByte(e);if(-1===n)throw new Error(`Could not find start shard for byte ${e}`);const r=new ArrayBuffer(t-e),o=new Uint8Array(r);let i=0;for(let r=n;r<this.shards.length;r++){const n=this.shards[r],a=e+i-n.start,s=i,l=Math.min(t,n.end),u=new Uint8Array(n.buffer,a,l-n.start-a);if(o.set(u,s),i+=u.length,t<n.end)break}return r}findShardForByte(e){if(0===this.shards.length||e<0||e>=this.byteLength)return-1;if(null!=this.bufferUniformSize)return this.previousShardIndex=Math.floor(e/this.bufferUniformSize),this.previousShardIndex;function t(t){return e<t.start?-1:e>=t.end?1:0}if(0===t(this.shards[this.previousShardIndex]))return this.previousShardIndex;const n=function(e,t){let n=0,r=e.length;for(;n<=r;){const o=Math.floor((r-n)/2)+n,i=t(e[o]);if(0===i)return o;i<0?r=o:n=o+1}return-1}(this.shards,t);return-1===n?-1:(this.previousShardIndex=n,this.previousShardIndex)}}const Dr="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function _r(e){return Dr?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function Fr(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:_r(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:_r(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new Rr(e.weightData).byteLength}}class Mr{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Mr.instance&&(Mr.instance=new Mr),Mr.instance}static registerSaveRouter(e){Mr.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Mr.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Mr.getHandlers(e,"save")}static getLoadHandlers(e,t){return Mr.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?Mr.getInstance().loadRouters:Mr.getInstance().saveRouters).forEach((t=>{const o=t(e,n);null!==o&&r.push(o)})),r}}const Lr="tensorflowjs",Pr="models_store",Br="model_info_store";function Or(){if(!Sn().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function Nr(e){const t=e.result;t.createObjectStore(Pr,{keyPath:"modelPath"}),t.createObjectStore(Br,{keyPath:"modelPath"})}class Ur{constructor(e){if(this.indexedDB=Or(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,n)=>{const r=this.indexedDB.open(Lr,1);r.onupgradeneeded=()=>Nr(r),r.onsuccess=()=>{const o=r.result;if(null==t){const t=o.transaction(Pr,"readonly"),r=t.objectStore(Pr).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return o.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(o.close(),n(r.error)),t.oncomplete=()=>o.close()}else{const r=Fr(t),i=o.transaction(Br,"readwrite");let a,s,l=i.objectStore(Br);try{a=l.put({modelPath:this.modelPath,modelArtifactsInfo:r})}catch(e){return n(e)}a.onsuccess=()=>{s=o.transaction(Pr,"readwrite");const a=s.objectStore(Pr);let u;try{u=a.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r})}catch(e){return n(e)}u.onsuccess=()=>e({modelArtifactsInfo:r}),u.onerror=e=>{l=i.objectStore(Br);const t=l.delete(this.modelPath);t.onsuccess=()=>(o.close(),n(u.error)),t.onerror=e=>(o.close(),n(u.error))}},a.onerror=e=>(o.close(),n(a.error)),i.oncomplete=()=>{null==s?o.close():s.oncomplete=()=>o.close()}}},r.onerror=e=>n(r.error)}))}}Ur.URL_SCHEME="indexeddb://";const jr=e=>{return Sn().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Ur.URL_SCHEME)?(t=e.slice(Ur.URL_SCHEME.length),new Ur(t)):null;var t};Mr.registerSaveRouter(jr),Mr.registerLoadRouter(jr);class Gr{constructor(){this.indexedDB=Or()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(Lr,1);n.onupgradeneeded=()=>Nr(n),n.onsuccess=()=>{const r=n.result,o=r.transaction(Br,"readonly"),i=o.objectStore(Br).getAll();i.onsuccess=()=>{const t={};for(const e of i.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},i.onerror=e=>(r.close(),t(i.error)),o.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(Ur.URL_SCHEME)?t.slice(Ur.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(Lr,1);r.onupgradeneeded=()=>Nr(r),r.onsuccess=()=>{const o=r.result,i=o.transaction(Br,"readwrite"),a=i.objectStore(Br),s=a.get(e);let l;s.onsuccess=()=>{if(null==s.result)return o.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=a.delete(e),i=()=>{l=o.transaction(Pr,"readwrite");const r=l.objectStore(Pr).delete(e);r.onsuccess=()=>t(s.result.modelArtifactsInfo),r.onerror=e=>n(s.error)};r.onsuccess=i,r.onerror=e=>(i(),o.close(),n(s.error))}},s.onerror=e=>(o.close(),n(s.error)),i.oncomplete=()=>{null==l?o.close():l.oncomplete=()=>o.close()}},r.onerror=e=>n(r.error)}))}}const $r="/",zr="tensorflowjs_models",qr="info",Vr="model_topology",Wr="weight_specs",Hr="weight_data",Kr="model_metadata";function Yr(e){return{info:[zr,e,qr].join($r),topology:[zr,e,Vr].join($r),weightSpecs:[zr,e,Wr].join($r),weightData:[zr,e,Hr].join($r),modelMetadata:[zr,e,Kr].join($r)}}function Xr(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function Jr(e){const t=e.split($r);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join($r)}class Zr{constructor(e){if(!Sn().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=Yr(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=Fr(e),o=Rr.join(e.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(e){if(Dr)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let n="";for(let e=0,r=t.length;e<r;e++)n+=String.fromCharCode(t[e]);return btoa(n)}(o));return this.LS.setItem(this.keys.modelMetadata,JSON.stringify({format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:null!=e.signature?e.signature:void 0,userDefinedMetadata:null!=e.userDefinedMetadata?e.userDefinedMetadata:void 0,modelInitializer:null!=e.modelInitializer?e.modelInitializer:void 0,initializerSignature:null!=e.initializerSignature?e.initializerSignature:void 0,trainingConfig:null!=e.trainingConfig?e.trainingConfig:void 0})),{modelArtifactsInfo:r}}catch(e){throw Xr(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${r.modelTopologyBytes}, weightSpecsBytes=${r.weightSpecsBytes}, weightDataBytes=${r.weightDataBytes}.`)}}}async load(){const e=JSON.parse(this.LS.getItem(this.keys.info));if(null==e)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if("JSON"!==e.modelTopologyType)throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");const t={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(null==n)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=n;const r=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(null==r)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=r;const o=this.LS.getItem(this.keys.modelMetadata);if(null!=o){const e=JSON.parse(o);t.format=e.format,t.generatedBy=e.generatedBy,t.convertedBy=e.convertedBy,null!=e.signature&&(t.signature=e.signature),null!=e.userDefinedMetadata&&(t.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(t.modelInitializer=e.modelInitializer),null!=e.initializerSignature&&(t.initializerSignature=e.initializerSignature),null!=e.trainingConfig&&(t.trainingConfig=e.trainingConfig)}const i=this.LS.getItem(this.keys.weightData);if(null==i)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=function(e){if(Dr){const t=Buffer.from(e,"base64");return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n.set([t.charCodeAt(e)],e);return n.buffer}(i),t}}Zr.URL_SCHEME="localstorage://";const Qr=e=>{return Sn().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Zr.URL_SCHEME)?(t=e.slice(Zr.URL_SCHEME.length),new Zr(t)):null;var t};Mr.registerSaveRouter(Qr),Mr.registerLoadRouter(Qr);class eo{constructor(){sn(Sn().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),sn("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=zr+$r,n=$r+qr;for(let r=0;r<this.LS.length;++r){const o=this.LS.key(r);if(o.startsWith(t)&&o.endsWith(n)){e[Jr(o)]=JSON.parse(this.LS.getItem(o))}}return e}async removeModel(e){var t;const n=Yr(e=(t=e).startsWith(Zr.URL_SCHEME)?t.slice(Zr.URL_SCHEME.length):t);if(null==this.LS.getItem(n.info))throw new Error(`Cannot find model at path '${e}'`);const r=JSON.parse(this.LS.getItem(n.info));return Xr(n),r}}class to{constructor(){this.managers={}}static getInstance(){return null==to.instance&&(to.instance=new to),to.instance}static registerManager(e,t){sn(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),sn(e.length>0,(()=>"scheme must not be an empty string."));const n=to.getInstance();sn(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=to.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(to.getInstance().managers)}}class no{constructor(){this.messageName="setTimeoutCustom",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){"undefined"!=typeof window&&Sn().getBool("USE_SETTIMEOUTCUSTOM")?(this.functionRefs.push(e),setTimeout((()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},"*")}),t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener("message",(e=>{if(e.source===window&&e.data.name===this.messageName){e.stopPropagation();(0,this.functionRefs[e.data.index])(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}}),!0))):setTimeout(e,t)}isTypedArray(e){return Nn(e)}}if(Sn().get("IS_BROWSER")){Sn().setPlatform("browser",new no);try{to.registerManager(Zr.URL_SCHEME,new eo)}catch(e){}try{to.registerManager(Ur.URL_SCHEME,new Gr)}catch(e){}}const ro=()=>require("node-fetch");let oo;class io{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=Sn().global.fetch?Sn().global.fetch(e,t):(null==oo&&(oo=ro()),oo(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}isTypedArray(e){return this.util.types.isFloat32Array(e)||this.util.types.isInt32Array(e)||this.util.types.isUint8Array(e)||this.util.types.isUint8ClampedArray(e)}}Sn().get("IS_NODE")&&!Sn().get("IS_BROWSER")&&Sn().setPlatform("node",new io);const ao=Ir({cast_:function(e,t){const n=Ar(e,"x","cast");if(!function(e){return"bool"===e||"complex64"===e||"float32"===e||"int32"===e||"string"===e}(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");return xr.runKernel(Dn,{x:n},{dtype:t})}});const so=Ir({clone_:function(e){const t=Ar(e,"x","clone","string_or_numeric");return xr.runKernel(_n,{x:t})}});wr();const lo={buffer:function(e,t="float32",n){return t=t||"float32",yn(e),new tr(e,t,n)},cast:ao,clone:so,print:function(e,t=!1){console.log(e.toString(t))}};function uo(e,t){return xr.tidy(e,t)}function co(e){gr(e).forEach((e=>e.dispose()))}rr=lo;const ho=Ir({add_:function(e,t){let n=Ar(e,"a","add"),r=Ar(t,"b","add");return[n,r]=pr(n,r),xr.runKernel(Rn,{a:n,b:r})}});const fo=Ir({floorDiv_:function(e,t){let n=Ar(e,"a","floorDiv"),r=Ar(t,"b","floorDiv");return[n,r]=pr(n,r),xr.runKernel("FloorDiv",{a:n,b:r})}});const po=Ir({div_:function(e,t){let n=Ar(e,"a","div"),r=Ar(t,"b","div");return[n,r]=pr(n,r),"int32"===n.dtype&&"int32"===r.dtype?fo(n,r):xr.runKernel("RealDiv",{a:n,b:r},{})}});const go=Ir({mul_:function(e,t){let n=Ar(e,"a","mul"),r=Ar(t,"b","mul");return[n,r]=pr(n,r),xr.runKernel("Multiply",{a:n,b:r})}});const mo=Ir({abs_:function(e){const t=Ar(e,"x","abs");if("complex64"===t.dtype){return xr.runKernel("ComplexAbs",{x:t})}return xr.runKernel("Abs",{x:t})}});const vo=Ir({zerosLike_:function(e){const t=Ar(e,"x","zerosLike");return xr.runKernel("ZerosLike",{x:t})}});const bo=Ir({pow_:function(e,t){let n=Ar(e,"base","pow"),r=Ar(t,"exp","pow");return[n,r]=pr(n,r),xr.runKernel("Pow",{a:n,b:r})}});function yo(e,t){if(($n(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&$n(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return function(e,t,n,r){if(null==r)r=fn(e);else if("complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(fr(e)||hr(e)){if("float32"!==r&&"int32"!==r)throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${r}.`);return xr.backend.createTensorFromGPUData(e,t||n,r)}if(!$n(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){yn(t);const e=ln(t),r=ln(n);sn(e===r,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${r}`));for(let e=0;e<n.length;++e){const r=e!==n.length-1||n[e]!==ln(t.slice(e));sn(n[e]===t[e]||!r,(()=>`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return $n(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?Un(e,r):zn(e,[],!0),xr.makeTensor(e,t,r)}(e,[],[],t)}const wo=Ir({sqrt_:function(e){const t=Ar(e,"x","sqrt","float32");return xr.runKernel("Sqrt",{x:t})}});const xo=Ir({square_:function(e){const t=Ar(e,"x","square");return xr.runKernel("Square",{x:t},{})}});const Eo=Ir({sub_:function(e,t){let n=Ar(e,"a","sub"),r=Ar(t,"b","sub");return[n,r]=pr(n,r),xr.runKernel("Sub",{a:n,b:r})}});const Co=Ir({maximum_:function(e,t){let n=Ar(e,"a","maximum"),r=Ar(t,"b","maximum");return[n,r]=pr(n,r),"bool"===n.dtype&&(n=ao(n,"int32"),r=ao(r,"int32")),function(e,t){const n=Math.max(e.length,t.length),r=new Array(n);for(let o=0;o<n;o++){let i=e[e.length-o-1];null==i&&(i=1);let a=t[t.length-o-1];if(null==a&&(a=1),1===i)r[n-o-1]=a;else if(1===a)r[n-o-1]=i;else{if(i!==a)throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`);r[n-o-1]=i}}}(n.shape,r.shape),xr.runKernel("Maximum",{a:n,b:r})}});class So{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class ko{constructor(){this.classNameMap={}}static getMap(){return null==ko.instance&&(ko.instance=new ko),ko.instance}static register(e){ko.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function To(e){sn(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),sn("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),sn(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),ko.register(e)}class Ao extends So{minimize(e,t=!1,n){const{value:r,grads:o}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:o[e.name]})));this.applyGradients(e)}else this.applyGradients(o);return co(o),t?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return function(e,t){sn(pn(e),(()=>"The f passed in variableGrads(f) must be a function")),sn(null==t||Array.isArray(t)&&t.every((e=>e instanceof ir)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in xr.registeredVariables)t.push(xr.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,o=t.length;sn((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`));const{value:i,grads:a}=xr.gradients(e,t,null,!0);sn(a.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),sn(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const s={};return t.forEach(((e,t)=>{null!=a[t]&&(s[e.name]=a[t])})),null!=r&&r.forEach((e=>s[e.name]=null)),{value:i,grads:s}}(e,t)}dispose(){null!=this.iterations_&&co(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:yo(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(Ao,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class Io extends Ao{static get className(){return"SGD"}constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);t.forEach(((t,n)=>{const r=Array.isArray(e)?e[n].tensor:e[t];if(null==r)return;const o=xr.registeredVariables[t];uo((()=>{const e=ho(go(this.c,r),o);o.assign(e)}))})),this.incrementIterations()}setLearningRate(e){var t;this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=(t=yo(-e),xr.keep(t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}const Ro=[class extends Ao{static get className(){return"Adadelta"}constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=xr.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:uo((()=>vo(r).variable(false)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:uo((()=>vo(r).variable(false)))});const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable,a=this.accumulatedUpdates[n].variable;uo((()=>{const e=ho(go(i,this.rho),go(xo(o),1-this.rho)),t=go(po(wo(ho(a,this.epsilon)),wo(ho(i,this.epsilon))),o),n=ho(go(a,this.rho),go(xo(t),1-this.rho));i.assign(e),a.assign(n);const s=ho(go(t,-this.learningRate),r);r.assign(s)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(co(this.accumulatedGrads.map((e=>e.variable))),co(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}},class extends Ao{static get className(){return"Adagrad"}constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:uo((()=>function(e,t,n){return yn(e),n=n||fn(t),xr.runKernel("Fill",{},{shape:e,value:t,dtype:n})}(r.shape,this.initialAccumulatorValue).variable(e)))}}const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable;uo((()=>{const e=ho(i,xo(o));i.assign(e);const t=ho(go(po(o,wo(ho(e,xr.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&co(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}},class extends Ao{static get className(){return"Adam"}constructor(e,t,n,r=null){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],uo((()=>{this.accBeta1=yo(t).variable(),this.accBeta2=yo(n).variable()})),null==r&&(this.epsilon=xr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);uo((()=>{const n=Eo(1,this.accBeta1),r=Eo(1,this.accBeta2);t.forEach(((t,o)=>{const i=xr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:uo((()=>vo(i).variable(false)))}),null==this.accumulatedSecondMoment[o]&&(this.accumulatedSecondMoment[o]={originalName:`${t}/v`,variable:uo((()=>vo(i).variable(false)))});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedSecondMoment[o].variable,u=ho(go(s,this.beta1),go(a,1-this.beta1)),c=ho(go(l,this.beta2),go(xo(a),1-this.beta2)),d=po(u,n),h=po(c,r);s.assign(u),l.assign(c);const f=ho(go(po(d,ho(wo(h),this.epsilon)),-this.learningRate),i);i.assign(f)})),this.accBeta1.assign(go(this.accBeta1,this.beta1)),this.accBeta2.assign(go(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&co(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&co(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),uo((()=>{this.accBeta1.assign(bo(this.beta1,this.iterations_+1)),this.accBeta2.assign(bo(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}},class extends Ao{static get className(){return"Adamax"}constructor(e,t,n,r=null,o=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=o,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],uo((()=>{this.iteration=yo(0).variable(),this.accBeta1=yo(t).variable()})),null==r&&(this.epsilon=xr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);uo((()=>{const n=Eo(1,this.accBeta1),r=po(-this.learningRate,ho(go(this.iteration,this.decay),1));t.forEach(((t,o)=>{const i=xr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:vo(i).variable(false)}),null==this.accumulatedWeightedInfNorm[o]&&(this.accumulatedWeightedInfNorm[o]={originalName:`${t}/v`,variable:vo(i).variable(false)});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedWeightedInfNorm[o].variable,u=ho(go(s,this.beta1),go(a,1-this.beta1)),c=go(l,this.beta2),d=mo(a),h=Co(c,d);s.assign(u),l.assign(h);const f=ho(go(po(r,n),po(u,ho(h,this.epsilon))),i);i.assign(f)})),this.iteration.assign(ho(this.iteration,1)),this.accBeta1.assign(go(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&co(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&co(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}},class extends Io{static get className(){return"Momentum"}constructor(e,t,n=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=yo(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:uo((()=>vo(r).variable(e)))}}const o=this.accumulations[n].variable,i=Array.isArray(e)?e[n].tensor:e[t];null!=i&&uo((()=>{let e;const t=ho(go(this.m,o),i);e=ho(go(this.c,this.useNesterov?ho(i,go(t,this.m)):t),r),o.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&co(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}},class extends Ao{static get className(){return"RMSProp"}constructor(e,t=.9,n=0,r=null,o=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=o,null==r&&(this.epsilon=xr.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t],o=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:uo((()=>vo(r).variable(o)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:uo((()=>vo(r).variable(o)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:uo((()=>vo(r).variable(o)))});const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedMeanSquares[n].variable,s=this.accumulatedMoments[n].variable;uo((()=>{const e=ho(go(a,this.decay),go(xo(i),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,o=ho(go(t,this.decay),go(i,1-this.decay)),l=po(go(i,this.learningRate),wo(Eo(e,ho(xo(o),this.epsilon)))),u=ho(go(s,this.momentum),l);a.assign(e),t.assign(o),s.assign(u);const c=Eo(r,u);r.assign(c)}else{const e=ho(go(a,this.decay),go(xo(i),1-this.decay)),t=ho(go(s,this.momentum),po(go(i,this.learningRate),wo(ho(e,this.epsilon))));a.assign(e),s.assign(t);const n=Eo(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&co(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&co(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&co(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}},Io];!function(){for(const e of Ro)To(e)}();const Do={},_o={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function Fo(e,t){if(!(e in Do)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if(Sn().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete Do[e]}),!1),Sn().getBool("SOFTWARE_WEBGL_ENABLED")&&(_o.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",_o)||n.getContext("experimental-webgl",_o);return n.getContext("webgl2",_o)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;Do[e]=n}const n=Do[e];return null==n||n.isContextLost()?(delete Do[e],Fo(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),Do[e])}var Mo="https://websdk-cdn-dev.idmission.com/assets";function Lo(e){var t=e.width,n=e.height;return e instanceof HTMLVideoElement&&(t=e.videoWidth,n=e.videoHeight),[t,n]}var Po,Bo=h.default.canvas(Po||(Po=w(["\n display: none;\n"],["\n display: none;\n"])));function Oo(e,t,n,r){if(e){var o=e.getContext("2d");if(o){if(!n||!r){var i=Lo(t);n||(n=i[0]),r||(r=i[1])}e.width=n,e.height=r,o.drawImage(t,0,0,n,r)}}}function No(e){if(e){var t=e.getContext("2d");t&&t.clearRect(0,0,e.width,e.height)}}function Uo(e,t,n,r){if(!e||!t)return"";var o=e.getContext("2d"),i=t.getContext("2d");if(!o||!i)throw new Error("could not get 2d context");e.width=n.width,e.height=n.height,o.putImageData(n,0,0);var a=r.box,s=a.width,l=.6*n.height-s,u=Math.max(0,a.xMin-l/2);Ut()?(t.width=n.width,t.height=n.height,i.drawImage(e,0,0,t.width,t.height)):(t.width=s+l,t.height=n.height,i.drawImage(e,u,0,t.width,t.height,0,0,t.width,t.height));var c=t.toDataURL("image/jpeg",.92);return No(e),No(t),c}var jo={boxes:0,scores:7,labels:4},Go=t.createContext({ready:!1,working:{current:!1},error:null,thresholds:{},setThresholds:function(){return null},makePrediction:function(){return null},onPredictionMade:function(){return null},detectionTime:0,focusPredictionTime:0,getBestFrame:function(){return Promise.resolve(null)},resetBestFrame:function(){return null}}),$o="".concat(Mo,"/models/documentdetection448/model.json"),zo="".concat(Mo,"/models/focus/model.json"),qo=function(e){var n=e.children,r=e.documentDetectionModelUrl,o=e.focusModelUrl,a=e.logPredictions,s=void 0!==a&&a,u=t.useState(!1),c=u[0],d=u[1],h=t.useState(0),p=h[0],g=h[1],m=t.useState(0),y=m[0],w=m[1],x=t.useState(0),E=x[0],C=x[1],S=t.useState(0),k=S[0],T=S[1],A=t.useState(0),I=A[0],R=A[1],D=t.useRef(!1),_=t.useRef(),F=t.useRef(null),M=t.useState(0),L=M[0],P=M[1],B=t.useState(0),O=B[0],N=B[1],U=t.useState(null),j=U[0],G=U[1];t.useEffect((function(){d(!1);var e=r||$o,t=o||zo;function n(){return v(this,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return f.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,f.setBackend("webgl")];case 1:return n.sent(),[4,f.ready()];case 2:return n.sent(),[4,Promise.all([Mt(e),rn(t)])];case 3:return n.sent(),[2]}}))}))}function a(){return v(this,void 0,void 0,(function(){var r;return b(this,(function(o){switch(o.label){case 0:return d(!1),Ct=null,Qt=null,delete Do[2],(r=document.createElement("canvas").getContext("webgl2"))&&e&&t?(i.setWebGLContext(2,r),function(){try{f.backend().dispose()}catch(e){console.error("failed to dispose backend",e)}}(),[4,n()]):[3,2];case 1:o.sent(),d(!0),o.label=2;case 2:return[2]}}))}))}n().then((function(){d(!0)})).catch((function(e){G(e)}));var s=Fo(2).canvas;return s.addEventListener("webglcontextlost",a),function(){var e;null===(e=s.removeEventListener)||void 0===e||e.call(s,"webglcontextlost",a)}}),[r,o]);var $=t.useMemo((function(){return{document:p,passport:y,mrz:E,pdf417:k,focus:I}}),[p,I,E,y,k]),z=t.useCallback((function(e){e.document&&g(e.document),e.passport&&w(e.passport),e.mrz&&C(e.mrz),e.pdf417&&T(e.pdf417),e.focus&&R(e.focus)}),[]),q=t.useState(0),V=q[0],W=q[1],H=t.useRef(null),K=t.useRef(0),Y=t.useCallback((function(e){D.current=!0,v(void 0,void 0,void 0,(function(){var t,n;return b(this,(function(r){switch(r.label){case 0:return Ct&&Qt&&F.current?[4,Vo(e,F.current,$,s)]:[2];case 1:return t=r.sent(),P(t.detectionTime),N(t.focusPredictionTime),K.current<=t.focusScore&&(K.current=t.focusScore,Oo(H.current,e)),t.allZero&&W((function(e){return e+1})),null===(n=_.current)||void 0===n||n.call(_,t),D.current=!1,[2]}}))}))}),[s,$]);t.useEffect((function(){V>=2&&G(new Error("model is returning all zeroes"))}),[V]);var X=t.useCallback((function(e){_.current=e}),[]),J=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return H.current?(e=H.current.toDataURL("image/jpeg",.98),[4,fetch(e)]):[2,null];case 1:return[4,t.sent().blob()];case 2:return[2,t.sent()]}}))}))}),[]),Z=t.useCallback((function(){K.current=0,No(H.current)}),[]),Q=t.useMemo((function(){return{ready:c,working:D,thresholds:$,setThresholds:z,makePrediction:Y,onPredictionMade:X,detectionTime:L,focusPredictionTime:O,getBestFrame:J,resetBestFrame:Z,error:j}}),[L,O,J,j,Y,X,c,Z,z,$]);return l.default.createElement(Go.Provider,{value:Q},n,l.default.createElement(Bo,{ref:F}),l.default.createElement(Bo,{ref:H}))};function Vo(e,t,n,r){var o,i,a,s,l,u,c,d,h,f;return void 0===r&&(r=!1),v(this,void 0,void 0,(function(){var p,g,m,v,y,w,x,E,C,S,k,T,A,I,R,D,_,F,M,L,P,B,O,N,U,j,G,$,z,q;return b(this,(function(b){switch(b.label){case 0:return p=Lo(e),g=p[0],m=p[1],Oo(t,e),[4,Wo(e,r)];case 1:return v=b.sent(),w=v.scores,x=v.labels,E=v.time,C=(y=v.boxes).length>0&&!y.some((function(e){return e.some((function(e){return e>0}))})),S=function(e){var t={};return e.forEach((function(e,n){e&&(t[e.label]||(t[e.label]=[0,-1]),e.score>t[e.label][0]&&(t[e.label]=[e.score,n]))})),Object.keys(t).map((function(n){return e[t[n][1]]})).filter((function(e){return!!e}))}(y.map((function(e,t){return function(e,t,n){var r=e[0],o=e[1];return{score:t,bbox:[o,r,e[3]-o,e[2]-r],label:Lt[n]}}(e,w[t],x[t])}))),k=S.find((function(e){return"Document"===e.label})),T=S.find((function(e){return"Passport Page"===e.label})),A=null!==(o=null==k?void 0:k.score)&&void 0!==o?o:0,I=null!==(i=null==T?void 0:T.score)&&void 0!==i?i:0,R=I>=(null!==(a=n.passport)&&void 0!==a?a:0),D=A>I?k:T,F=(_=R?I:A)>=(null!==(s=n.document)&&void 0!==s?s:0),M=Et.NONE,R?M=Et.PASSPORT:F&&(M=Et.ID_CARD),L=S.find((function(e){return"MRZ"===e.label})),P=null!==(l=null==L?void 0:L.score)&&void 0!==l?l:0,B=P>=(null!==(u=n.mrz)&&void 0!==u?u:0),O=S.find((function(e){return"PDF417"===e.label})),N=null!==(c=null==O?void 0:O.score)&&void 0!==c?c:0,U=N>=(null!==(d=n.pdf417)&&void 0!==d?d:0),j=null,G=0,$=0,z=!1,F?[4,Ho(e,null==D?void 0:D.bbox,r)]:[3,3];case 2:q=b.sent(),G=q[1],$=null!==(h=null==(j=q[0])?void 0:j[1])&&void 0!==h?h:0,z=$>=(null!==(f=n.focus)&&void 0!==f?f:0),b.label=3;case 3:return[2,{detectedObjects:S,detectionScore:_,detectionTime:E,detectionThresholdMet:F,detectedDocumentType:M,passportDetectionScore:I,passportDetectionThresholdMet:R,mrzDetectionScore:P,mrzDetectionThresholdMet:B,pdf417DetectionScore:N,pdf417DetectionThresholdMet:U,bestDocumentOrPassport:D,bestMrz:L,bestPdf417:O,focusScore:$,focusThresholdMet:z,focusPredictionTime:G,frameWidth:g,frameHeight:m,allZero:C}]}}))}))}function Wo(e,t){return void 0===t&&(t=!1),v(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,u,c,d,h,p,g,m,v,y,w;return b(this,(function(b){switch(b.label){case 0:if(!Ct)throw new Error("document detection model is not loaded");n=new Date,b.label=1;case 1:return b.trys.push([1,7,,8]),r=f.browser.fromPixels(e),t&&console.time("resize"),o=f.image.resizeBilinear(r,[448,448]),t&&console.timeEnd("resize"),r.dispose(),t&&console.time("convert to int32"),i=f.cast(o,"int32"),o.dispose(),l=(s=f).tensor4d,c=(u=Array).from,[4,i.data()];case 2:return a=l.apply(s,[c.apply(u,[b.sent()]),[1,448,448,3]]),i.dispose(),d=f.cast(a,"int32"),t&&console.timeEnd("convert to int32"),a.dispose(),t&&console.time("predictions"),[4,Ct.executeAsync(d)];case 3:return h=b.sent(),t&&console.timeEnd("predictions"),d.dispose(),p=h,t&&console.log("predictions made!",p.map((function(e){return e.arraySync()}))),[4,p[jo.boxes].array()];case 4:return g=b.sent()[0],[4,p[jo.scores].array()];case 5:return m=b.sent()[0],[4,p[jo.labels].array()];case 6:return v=(v=b.sent()[0]).map((function(e){return Math.round(e)})),f.dispose(h),y=(new Date).getTime()-n.getTime(),[2,{boxes:g,scores:m,labels:v,time:y}];case 7:return w=b.sent(),console.error("caught error in makeDocumentDetectionPredictions",w),[2,{boxes:[],scores:[],labels:[],time:0}];case 8:return[2]}}))}))}function Ho(e,t,n){return void 0===n&&(n=!1),v(this,void 0,void 0,(function(){var r,o,i,a,s,l,u,c,d,h,p,g,m;return b(this,(function(v){switch(v.label){case 0:if(!Qt)throw new Error("focus model is not loaded");r=new Date,v.label=1;case 1:return v.trys.push([1,5,,6]),o=void 0,o=f.browser.fromPixels(t?function(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var o=Lo(e),i=o[0],a=o[1],s=t[0],l=t[1],u=t[2],c=t[3];return n.width=u*i,n.height=c*a,r.drawImage(e,s*i,l*a,u*i,c*a,0,0,u*i,c*a),n}(e,t):e),i=f.image.resizeBilinear(o,[448,448]),o.dispose(),a=f.cast(i,"int32"),i.dispose(),u=(l=f).tensor4d,d=(c=Array).from,[4,a.data()];case 2:return s=u.apply(l,[d.apply(c,[v.sent()]),[1,448,448,3]]),a.dispose(),h=f.cast(s,"int32"),s.dispose(),n&&console.time("focus prediction"),[4,Qt.predict(h)];case 3:return p=v.sent(),h.dispose(),[4,p.array()];case 4:return g=v.sent()[0],n&&console.timeEnd("focus prediction"),f.dispose(p),m=(new Date).getTime()-r.getTime(),[2,[g,m]];case 5:return v.sent(),[2,[[0,0],0]];case 6:return[2]}}))}))}var Ko,Yo,Xo,Jo,Zo=h.default.span(Ko||(Ko=w(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"],["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"]))),Qo=h.default.div(Yo||(Yo=w(["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"],["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"])),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),ei=h.default.div(Xo||(Xo=w(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"],["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),ti=h.default.div(Jo||(Jo=w(["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"],["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""}));function ni(e){var n=e.enabled,r=void 0===n||n,o=e.pageWidth,i=e.pageHeight,a=e.videoWidth,s=e.videoHeight;return t.useMemo((function(){var e=!1,t=0,n=0,l=0,u=0;return r&&((e=o/i<a/s)?l=((t=a*(i/s))-o)/2:u=((n=s*(o/a))-i)/2),{horizontal:e,pageWidth:o,pageHeight:i,videoWidth:a,videoHeight:s,scaledWidth:t,scaledHeight:n,xOffset:l,yOffset:u}}),[r,i,o,s,a])}function ri(e){var t=e.obj,n=e.color,r=e.scaling,o=r.horizontal,i=r.pageWidth,a=r.pageHeight,s=r.scaledWidth,u=r.scaledHeight;return l.default.createElement(ei,{$flipX:e.flipX,$color:void 0===n?"green":n,style:{top:t.bbox[1]*(o?a:u-r.yOffset),left:t.bbox[0]*(o?s-r.xOffset:i),width:t.bbox[2]*(o?s:i),height:t.bbox[3]*(o?a:u)}},t.label," (",t.score.toFixed(3),")")}function oi(e){var t,n,r,o,i=e.face,a=e.flipX,s=e.color,u=e.scaling,c=u.pageWidth,d=u.pageHeight,h=u.videoWidth,f=u.videoHeight,p=u.scaledWidth,g=u.scaledHeight;return u.horizontal?(t=i.box.yMin/f*d,n=i.box.xMin/h*p-u.xOffset,r=i.box.width/h*p,o=i.box.height/f*d):(t=i.box.yMin/f*g-u.yOffset,n=i.box.xMin/h*c,r=i.box.width/h*c,o=i.box.height/f*g),l.default.createElement(l.default.Fragment,null,l.default.createElement(ei,{$flipX:a,$color:void 0===s?"green":s,style:{top:t,left:n,width:r,height:o}}),i.keypoints.map((function(e,t){return l.default.createElement(ii,{key:t,point:e,scaling:u,flipX:a})})))}function ii(e){var t,n,r=e.point,o=e.color,i=e.scaling,a=i.videoWidth,s=i.videoHeight;return i.horizontal?(t=r.x/a*i.scaledWidth-i.xOffset,n=r.y/s*i.pageHeight):(t=r.x/a*i.pageWidth,n=r.y/s*i.scaledHeight-i.yOffset),l.default.createElement(ti,{$flipX:e.flipX,$color:void 0===o?"red":o,style:{top:n-=2,left:t-=2}})}var ai,si,li,ui,ci,di=h.default.button(ai||(ai=w(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"],["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"]))),hi=h.default.div(si||(si=w(["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"],["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$thickness;return null!=t?t:6}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"})),fi=function(e){var t=e.text,n=e.imageUrl;return l.default.createElement(gi,null,t&&l.default.createElement(mi,null,t),l.default.createElement(vi,null,l.default.createElement("img",{src:n,alt:""})))},pi=function(e){var t=e.imageUrl;return l.default.createElement(gi,null,l.default.createElement(mi,null,l.default.createElement(hi,{$size:24,$color:"white",$thickness:3,style:{position:"relative",top:4,left:-3,margin:"0 3px 0 -12px"}}),"Processing..."),l.default.createElement(vi,null,l.default.createElement("img",{src:t,alt:""})))},gi=h.default.div(li||(li=w(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"],["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"]))),mi=h.default.div(ui||(ui=w(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"],["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"]))),vi=h.default.div(ci||(ci=w(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"],["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"]))),bi={en:{translation:{}},es:{translation:{"Use your device camera to capture your ID":"Para capturar la identificación hay que utilizar la cámara del dispositivo.","Use your iPhone as a webcam":"Usar el iPhone como cámara web","Models warming up...":"Cargando modelos...","Camera initializing...":"Inicializando la cámara...","Camera access blocked":"Acceso bloqueado a la cámara","Location access blocked":"Acceso bloqueado a la localización",Continue:"Continuar","Your camera permission is disabled":"El permiso de la cámara está desactivado","This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.":"Esta aplicación requiere el acceso a la cámara para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la cámara en el explorador actual.","Your location permission is disabled":"El permiso de la localización está desactivado","This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.":"Esta aplicación requiere el acceso a la localización para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la localización en el explorador actual.",Retry:"Reintentar","Scan the front of ID":"Escanear el frente de la ID","Scan the back of ID":"Escanear el reverso de la ID","Scan the ID page of passport":"Escanear la página de datos del pasaporte","ID Card Front":"Frente de la ID","ID Card Back":"Reverso de la ID",Passport:"Pasaporte","Document not detected":"No se ha detectado el documento","Document is not centered":"Documento no centrado","Document out of focus – try improving the lighting":"Documento no enfocado - hay que tratar de mejorar la iluminación","Document detected, hold still...":"Se ha detectado el documento, no moverse por favor...","Capturing...":"Capturando...","Capture failed!":"Falló la captura","Please flip your ID card...":"Por favor voltea la identificación...","ID card front captured.":"Se ha capturado el frente de la identificación.","ID Capture Successful":"Captura Exitosa de ID","Verify the entire ID was captured clearly with no glare.":"Hay que verificar que toda la ID se vea completa y sin reflejos.",Submit:"Enviar","Submitting...":"Enviando...","Use your device camera to capture your face":"Hay que utilizar la cámara del dispositivo para capturar el rostro","Remove Sunglasses & Hat":"Hay que quitarse lentes y/o la gorra","Avoid Excessive Backlighting":"Hay que evitar demasiada luz en el fondo","Hold still for a few seconds...":"Hay que permanecer quieto por unos segundos...","Look straight into the camera...":"Hay que mirar directamente a la cámara...","Move back...":"Hay que hacerse hacia atrás..","Move forward...":"Hay que hacerse hacia adelante...","Move to the center...":"Hay que moverse hacia el centro...","Please remove your eye coverings (sunglasses, eye patch, etc.)...":"Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...","Please remove your head coverings (hat, scarf, etc.)...":"Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...","Please remove your mask...":"Hay que quitarse el cubrebocas...","Live face not detected, please try again":"Rostro vivo no detectado. Por favor hay que intentar de nuevo.",Exit:"Salir","Face liveness has been verified!":"Se ha verificado la Prueba de Vida en rostro!",Done:"Terminar","Customer has been identified!":"¡Se ha identificado al cliente!","Customer not found":"Cliente no encontrado","Additional document capture":"Captura de otro documento",Next:"Siguiente","Please sign the box below":"Por favor, hay que firmar en el recuadro de abajo",Accept:"Aceptar",Clear:"Borrar","Video signature has been successfully captured!":"La video firma ha sido exitosa.","Network unreachable":"No hay conexión a internet.","We're having trouble reaching our services, please check your connection and try again.":"Estamos teniendo problemas para alcanzar nuestros servicios, por favor verificar la conexión a internet e intentar de nuevo.","We're sorry, an unexpected error has occurred.":"Lo sentimos, se ha producido un error inesperado."}}},yi=function(e){var n=xe().i18n;t.useEffect((function(){"auto"!==e?n.changeLanguage(e):n.changeLanguage()}),[n,e])};function wi(e,t,n,r){if("string"==typeof n)return n;if("object"==typeof n){var o=n;if(o[t])return o[t];var i=t.split("-")[0];if(o[i])return o[i]}return e(r)}function xi(e,n){var r=xe(),o=r.t,i=r.i18n;return t.useMemo((function(){return m(m({},e),Object.keys(n).reduce((function(t,r){var a;return m(m({},t),((a={})[r]=wi(o,i.language,null==e?void 0:e[r],n[r]),a))}),{}))}),[n,i.language,o,e])}var Ei,Ci,Si,ki=h.default.div(Ei||(Ei=w(["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"],["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"])),(function(e){var t=e.$top;return null!=t?t:"10vh"})),Ti=h.default.div(Ci||(Ci=w(["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"],["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"])),(function(e){var t=e.$background;return null!=t?t:"#ccc"}),(function(e){var t=e.$textColor;return null!=t?t:"black"})),Ai={videoWidth:0,videoHeight:0,captureStartedAt:null,detectedObjects:[],bestDocument:void 0,bestMrz:void 0,bestPdf417:void 0,documentType:Et.NONE,documentInBounds:!1,documentDetectionScore:0,documentDetectionThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThresholdMet:!1,focusScore:0,focusThresholdMet:!1,barcodeScanningEnabled:!1,barcodeResult:null,waitingForBarcodeScan:!1,shouldScanBarcode:!1,autoCaptureBarcodeRequired:"mobile",barcodeScanFailedAttempts:0,maxBarcodeScanAttempts:10,isGoodFrame:!1,goodFramesCount:0,goodFramesThreshold:3,goodFramesThresholdMet:!1,lastFrameCapturedAt:null,frameCaptureRate:0,capturing:!1,captured:!1,captureFailed:!1},Ii=function(e,t){switch(t.type){case"configure":return m(m(m({},e),t.payload),{goodFramesCount:0,captureStartedAt:new Date,capturing:!1,captured:!1,captureFailed:!1});case"objectsDetected":var n=t.payload.prediction,r=n.detectedObjects,o=n.detectionScore,i=n.detectionThresholdMet,a=n.detectedDocumentType,s=n.passportDetectionScore,l=n.passportDetectionThresholdMet,u=n.mrzDetectionScore,c=n.mrzDetectionThresholdMet,d=n.pdf417DetectionScore,h=n.pdf417DetectionThresholdMet,f=n.bestDocumentOrPassport,p=n.bestMrz,g=n.bestPdf417,v=n.focusScore,b=n.focusThresholdMet,y=n.frameWidth,w=n.frameHeight,x=new Date,E=0,C=e.goodFramesThreshold;e.lastFrameCapturedAt&&(E=1e3/(x.getTime()-e.lastFrameCapturedAt.getTime()))>0&&(C=Math.ceil(3*E));var S=!1;if(f){var k=f.bbox,T=k[0],A=k[1],I=k[2],R=k[3];T*=y,I*=y,S=(A*=w)>20&&A+(R*=w)+20<w&&(T>20||T<20&&T+I>.8*y)&&T+I+20<y}var D=!0===e.autoCaptureBarcodeRequired||"mobile"===e.autoCaptureBarcodeRequired&&Ut(),_=e.barcodeScanningEnabled&&h&&D,F=_&&!e.barcodeResult,M=i&&S&&b,L=e.goodFramesCount;return M&&(L+=1),m(m({},e),{videoWidth:y,videoHeight:w,detectedObjects:r,bestDocument:f,bestMrz:p,bestPdf417:g,documentType:a,documentInBounds:S,documentDetectionScore:o,documentDetectionThresholdMet:i,mrzDetectionScore:u,mrzDetectionThresholdMet:c,pdf417DetectionScore:d,pdf417DetectionThresholdMet:h,passportPageDetectionScore:s,passportPageDetectionThresholdMet:l,focusScore:v,focusThresholdMet:b,shouldScanBarcode:_,waitingForBarcodeScan:F,isGoodFrame:M,goodFramesCount:L,goodFramesThreshold:C,goodFramesThresholdMet:L>=C,lastFrameCapturedAt:x,frameCaptureRate:E});case"barcodeScanned":return m(m({},e),{barcodeResult:t.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":var P=m(m({},e),{barcodeScanFailedAttempts:e.barcodeScanFailedAttempts+1});return P.barcodeScanFailedAttempts>=P.maxBarcodeScanAttempts&&(P.autoCaptureBarcodeRequired=!1,P.shouldScanBarcode=!1,P.waitingForBarcodeScan=!1),P;case"capturing":return m(m({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return m(m({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return m(m({},e),{capturing:!1,captured:!1,captureFailed:!0});default:return e}},Ri=function(e){var n,r,o,i=e.requiredDocumentType,a=e.autoCaptureEnabled,s=void 0===a||a,u=e.autoCaptureScoreThreshold,c=void 0===u?.8:u,d=e.autoCaptureGoodFramesRequired,h=void 0===d?3:d,f=e.autoCaptureBarcodeRequired,p=void 0===f?"mobile":f,g=e.mrzDetectionScoreThreshold,m=void 0===g?.25:g,y=e.passportPageDetectionThreshold,w=void 0===y?.6:y,x=e.pdf417DetectionThreshold,E=void 0===x?.15:x,C=e.focusScoreThreshold,S=void 0===C?.3:C,k=e.barcodeScanningEnabled,T=void 0===k||k,A=e.maxBarcodeScanAttempts,I=void 0===A?10:A,R=e.guidanceMessage,D=e.guidanceSatisfied,_=e.onPrediction,F=e.onBarcodeScanned,M=e.onCapture,L=e.onExit,P=e.processingScreen,B=e.processingDelay,O=void 0===B?0:B,N=e.assets,U=void 0===N?{}:N,j=e.colors,G=void 0===j?{}:j,$=e.verbiage,z=void 0===$?{}:$,q=e.debugMode,V=void 0!==q&&q,W=Bt(),H=W.ref,K=W.width,Y=void 0===K?1:K,X=W.height,J=void 0===X?1:X,Z=t.useReducer(Ii,Ai),Q=Z[0],ee=Z[1],te=t.useState(""),ne=te[0],re=te[1],oe=t.useState(!1),ie=oe[0],ae=oe[1],se=t.useContext(tn),le=se.cameraRef,ue=se.cameraReady,ce=se.takePhoto,de=se.videoRef,he=se.videoLoaded,fe=t.useRef(),pe=t.useContext(Go),ge=pe.ready,me=pe.working,ve=pe.setThresholds,be=pe.makePrediction,ye=pe.onPredictionMade,we=pe.detectionTime,xe=pe.focusPredictionTime,Ee=pe.getBestFrame,Ce=pe.resetBestFrame;t.useEffect((function(){fe.current=new Date}),[]),t.useEffect((function(){ee({type:"configure",payload:{requiredDocumentType:i,goodFramesThreshold:h,autoCaptureBarcodeRequired:p,barcodeScanningEnabled:T,maxBarcodeScanAttempts:I}}),Ce(),ve({document:c,passport:w,mrz:m,pdf417:E,focus:S})}),[i,c,S,m,h,p,T,I,w,E,Ce,ve]);var Se=t.useRef(0),ke=t.useRef(!1);t.useEffect((function(){ke.current=he&&ue&&ge&&!Q.capturing&&!Q.captured}),[ue,Q.captured,Q.capturing,ge,he]);var Te=t.useState(null),Ae=Te[0],Ie=Te[1];t.useEffect((function(){if(ge&&ue&&he)return Se.current=requestAnimationFrame((function e(){return v(this,void 0,void 0,(function(){var t,n;return b(this,(function(r){switch(r.label){case 0:if(!ke.current||me.current)return[3,5];r.label=1;case 1:return r.trys.push([1,4,,5]),Q.shouldScanBarcode?[4,ce()]:[3,3];case 2:if(!(t=r.sent()))return Se.current=requestAnimationFrame(e),[2];Ie(t),r.label=3;case 3:return de.current&&be(de.current),[3,5];case 4:return n=r.sent(),console.error("error capturing frame",n),[3,5];case 5:return Se.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(Se.current)}}),[ue,be,ge,me,Q.shouldScanBarcode,ce,he,de]),t.useEffect((function(){ye((function(e){ee({type:"objectsDetected",payload:{prediction:e}}),null==_||_(e)}))}),[_,ye]),t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return Q.shouldScanBarcode&&Ae?[4,qt(Ae,null===(t=Q.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=n.sent())?(ee({type:"barcodeScanned",payload:{result:e}}),null==F||F(e)):ee({type:"barcodeScanFailed"}),n.label=2;case 2:return[2]}}))}))}),[F,Q.shouldScanBarcode,null===(n=Q.bestPdf417)||void 0===n?void 0:n.bbox,ce,Ae]);var Re=s&&Q.goodFramesThresholdMet&&!Q.capturing&&!Q.captured&&!Q.waitingForBarcodeScan&&Di(Q.captureStartedAt)>=3e3;t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t,n,r,o,i,a,s,l;return b(this,(function(u){switch(u.label){case 0:return Re?(ee({type:"capturing"}),[4,Ee()]):[2];case 1:return(e=u.sent())?(ae(!0),[4,(c=e,new Promise((function(e){var t=new Image;t.onload=function(){e([t.naturalWidth,t.naturalHeight])},t.src=URL.createObjectURL(c)})))]):(console.log("uh oh, i did not get a photo"),ee({type:"captureFailed"}),[2]);case 2:return t=u.sent(),n=t[0],r=t[1],(o=document.createElement("canvas")).width=n,o.height=r,[4,createImageBitmap(e)];case 3:if(i=u.sent(),(n>1920&&r>1080||n>1080&&r>1920)&&Q.barcodeResult){if(n>r?(o.width=1920,o.height=r*(1920/n)):(o.height=1920,o.width=n*(1920/r)),!(a=o.getContext("2d")))return[2];a.drawImage(i,0,0,o.width,o.height)}else{if(!(s=o.getContext("bitmaprenderer")))return[2];s.transferFromImageBitmap(i)}return l=o.toDataURL("image/jpeg",.92),re(l),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=fe.current)&&void 0!==e?e:new Date).getTime();null==M||M(l,n,r,{autoCapture:"Y",captureTime:t}),ee({type:"captured"}),ae(!1)}),O),[2]}var c}))}))}),[Ee,M,O,Re,Q.barcodeResult]),G.guideBoxUnsatisfiedColor||(G.guideBoxUnsatisfiedColor="white"),G.guideBoxSatisfiedColor||(G.guideBoxSatisfiedColor="green"),G.guidanceMessagesSatisfiedBackgroundColor||(G.guidanceMessagesSatisfiedBackgroundColor="green"),G.guidanceMessagesSatisfiedTextColor||(G.guidanceMessagesSatisfiedTextColor="white");var De=xi(z,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!",guidanceSatisfiedText:"Document detected, hold still...",guidanceTooBlurryText:"Document out of focus – try improving the lighting",guidanceNotCenteredText:"Document is not centered",guidanceNotDetectedText:"Document not detected"}),_e=ni({enabled:V,pageWidth:Y,pageHeight:J,videoWidth:Q.videoWidth,videoHeight:Q.videoHeight}),Fe=Q.isGoodFrame;return"boolean"==typeof D&&(Fe=D),R||(R=Fe?De.guidanceSatisfiedText:Q.documentDetectionThresholdMet?Q.documentInBounds?Q.focusThresholdMet?"":De.guidanceTooBlurryText:De.guidanceNotCenteredText:De.guidanceNotDetectedText),ie?l.default.createElement(l.default.Fragment,null,P,ne&&l.default.createElement(fi,{text:De.processingIdCardText,imageUrl:ne})):""!==ne?l.default.createElement("img",{src:ne,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}}):l.default.createElement(ot,{ref:H,className:"flex"},l.default.createElement(jt,{width:Y,height:J,instruction:Q.captureFailed?De.captureFailedText:Q.capturing?null==De?void 0:De.capturingText:De.instructionText,portraitGuidesImageUrl:U.portraitGuidesImageUrl,landscapeGuidesImageUrl:U.landscapeGuidesImageUrl,isMirrored:!(null===(r=le.current)||void 0===r?void 0:r.isRearFacing),borderColor:Q.isGoodFrame?G.guideBoxSatisfiedColor:G.guideBoxUnsatisfiedColor}),""!==R&&l.default.createElement(ki,{$top:"82.5vh"},l.default.createElement(Ti,{$background:Fe?G.guidanceMessagesSatisfiedBackgroundColor:G.guidanceMessagesUnsatisfiedBackgroundColor,$textColor:Fe?G.guidanceMessagesSatisfiedTextColor:G.guidanceMessagesUnsatisfiedTextColor},R)),V&&Q.detectedObjects.length>0&&l.default.createElement(Qo,{$flipX:!(null===(o=le.current)||void 0===o?void 0:o.isRearFacing)},Q.detectedObjects.map((function(e,t){var n;return l.default.createElement(ri,{key:t,obj:e,scaling:_e,flipX:!(null===(n=le.current)||void 0===n?void 0:n.isRearFacing)})}))),V&&l.default.createElement(Zo,null,le.current?l.default.createElement(l.default.Fragment,null,"✅ Camera: ",le.current.label," (",le.current.width,"x",le.current.height,")"):"❌ Camera not ready",l.default.createElement("br",null),Q.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(Q.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",we,"ms doc detect, ",xe,"ms focus)",l.default.createElement("br",null),ge?l.default.createElement(l.default.Fragment,null,Q.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",Q.documentDetectionScore," (",Q.documentType,")",l.default.createElement("br",null),Q.documentInBounds?"✅":"❌"," Document In Bounds",l.default.createElement("br",null),Q.focusThresholdMet?"✅":"❌"," Focus Score:"," ",Q.focusScore,l.default.createElement("br",null),Q.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",Q.goodFramesCount,"/",Q.goodFramesThreshold,T&&Q.autoCaptureBarcodeRequired?l.default.createElement(l.default.Fragment,null,l.default.createElement("br",null),Q.barcodeResult?"✅":"❌"," Barcode Scanned (",zt()?"Native":"ZXing",","," ",Q.barcodeScanFailedAttempts,"/",Q.maxBarcodeScanAttempts," failed attempts)"):null):l.default.createElement(l.default.Fragment,null,"❌ Models not ready")),l.default.createElement(di,{onClick:L},"×"))},Di=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},_i=function(e){var n,r,o=e.assets,i=void 0===o?{}:o,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u,d=t.useContext(tn).retryCameraAccess;i.imageUrl||(i.imageUrl=Mo+"/camera-disable-icon.png"),s.retryBtn||(s.retryBtn={}),(n=s.retryBtn).backgroundColor||(n.backgroundColor="#ea8557"),(r=s.retryBtn).textColor||(r.textColor="white");var h=xi(c,{headingText:"Your camera permission is disabled",descriptionText:"This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.",retryBtnText:"Retry"});return l.default.createElement(ut,null,l.default.createElement("div",{style:{display:"flex",height:"100%"}},l.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},l.default.createElement(dt,{style:{flexGrow:0}},l.default.createElement("img",{src:i.imageUrl,alt:""})),l.default.createElement("h3",null,h.headingText),l.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},h.descriptionText),l.default.createElement(St,{onClick:d,colors:s.retryBtn,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},h.retryBtnText))))},Fi=function(e){var n=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,u=void 0===s?{}:s,c=t.useContext(Go).ready,d=t.useContext(tn),h=d.cameraReady,f=d.cameraAccessDenied,p=d.iphoneContinuityCameraAvailable,g=d.setIphoneContinuityCameraAllowed,m=t.useState(!1),v=m[0],b=m[1];o.instructionImageUrl||(o.instructionImageUrl="".concat(Mo,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"));var y=xi(u,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",modelsWarmingUpText:"Models warming up...",cameraInitializingText:"Camera initializing...",continueText:"Continue"});return t.useEffect((function(){if(c&&h)return function(){return null};var e=setTimeout((function(){b(!1)}),500);return function(){clearTimeout(e)}}),[h,c]),v?l.default.createElement(l.default.Fragment,null):f?l.default.createElement(_i,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:u.cameraAccessDenied}):l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",null,y.headingText),l.default.createElement(dt,{style:{pointerEvents:"none"}},l.default.createElement("img",{alt:y.headingText,src:o.instructionImageUrl})),l.default.createElement("div",{style:{paddingTop:26,height:48,marginTop:-48}},p&&l.default.createElement(l.default.Fragment,null,l.default.createElement("input",{id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,style:{marginRight:8},onChange:function(e){g(e.target.checked)}}),l.default.createElement("label",{htmlFor:"use-continuity-camera"},y.useContinuityCameraText))),l.default.createElement(St,{disabled:!h||!c,finished:c&&h,colors:a.continueBtn,style:{marginTop:8},onClick:function(){b(!0),null==n||n()}},h&&c?y.continueText:c?y.cameraInitializingText:y.modelsWarmingUpText)))},Mi=function(e){var n,r=e.assets,o=void 0===r?{}:r,i=e.verbiage,a=void 0===i?{}:i,s=Bt(),u=s.ref,c=s.width,d=void 0===c?1:c,h=s.height,f=void 0===h?1:h,p=t.useContext(tn).cameraRef;o.frontPortraitGuidesImageUrl||(o.frontPortraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),o.frontLandscapeGuidesImageUrl||(o.frontLandscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),o.backPortraitGuidesImageUrl||(o.backPortraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),o.backLandscapeGuidesImageUrl||(o.backLandscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var g=function(e,n){var r=xe(),o=r.t,i=r.i18n;return t.useMemo((function(){return wi(o,i.language,e,n)}),[n,i.language,o,e])}(a.instructionText,"Please flip your ID card..."),v=Ut()?0:50,b=!(null===(n=p.current)||void 0===n?void 0:n.isRearFacing),y=t.useContext(Ot),w=y.orientation,x=y.wrapperRef,E=y.wrapperWidth,C=y.wrapperHeight,S=y.imageAspectRatio,k=y.wrapperAspectRatio,T=y.onImageLoaded,A=y.setDimensions;t.useEffect((function(){A({width:d,height:f})}),[f,A,d]);var I={height:C-2*v-8};S>=k&&(I={width:E-2*v-8});var R=t.useState(1),D=R[0],_=R[1],F=t.useState(0),M=F[0],L=F[1],P=["rotateY(".concat(M,"deg)")];b&&P.push("scaleX(-1)");var B=["rotateY(".concat(180-M,"deg)")];return b&&B.push("scaleX(-1)"),t.useEffect((function(){var e=function(){_(1),L(180),setTimeout((function(){_(0),L(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),l.default.createElement(ot,{ref:u,className:"flex"},l.default.createElement("div",{ref:x,style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%"}},l.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},g)),l.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)")}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,flexGrow:1}}),l.default.createElement("div",{style:{maxWidth:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)"),maxHeight:f-2*v-8}},l.default.createElement("div",{style:{position:"relative",border:"".concat(4,"px solid ").concat("white")}},l.default.createElement("img",{src:"portrait"===w?o.frontPortraitGuidesImageUrl:o.frontLandscapeGuidesImageUrl,alt:"",onLoad:T,style:m({backfaceVisibility:"hidden",transition:"transform ".concat(D,"s"),transform:P.join(" "),transformStyle:"preserve-3d",position:"relative",top:0,left:0,display:"block"},I)}),l.default.createElement("img",{src:"portrait"===w?o.backPortraitGuidesImageUrl:o.backLandscapeGuidesImageUrl,alt:"",style:m({backfaceVisibility:"hidden",transition:"transform ".concat(D,"s"),transform:B.join(" "),transformStyle:"preserve-3d",position:"absolute",top:0,left:0,display:"block"},I)}))),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,flexGrow:1}})),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},g)))))},Li=function(e){var n,r,o=e.capturedDocuments,i=e.onSubmitClick,a=e.onRetryClick,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=t.useContext(Ye).submissionStatus,f=o.ID_CARD_FRONT,p=o.ID_CARD_BACK,g=o.PASSPORT;u.retryBtn||(u.retryBtn={}),(n=u.retryBtn).backgroundColor||(n.backgroundColor="#ea8557"),(r=u.retryBtn).textColor||(r.textColor="white");var m=xi(d,{headingText:"ID Capture Successful",idCardFrontText:"ID Card Front",idCardBackText:"ID Card Back",passportText:"Passport",instructionText:"Verify the entire ID was captured clearly with no glare.",retryText:"Retry",submittingText:"Submitting...",submitText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h1",null,m.headingText),l.default.createElement(dt,null,l.default.createElement(ht,{style:{paddingBottom:40}},f&&l.default.createElement("div",null,l.default.createElement("h3",null,m.idCardFrontText),l.default.createElement("img",{src:f.imageData,alt:m.idCardFrontText,width:f.width,height:f.height})),p&&l.default.createElement("div",null,l.default.createElement("h3",null,m.idCardBackText),l.default.createElement("img",{src:p.imageData,alt:m.idCardBackText,width:p.width,height:p.height})),g&&l.default.createElement("div",null,l.default.createElement("h3",null,m.passportText),l.default.createElement("img",{src:g.imageData,alt:m.passportText,width:g.width,height:g.height})))),l.default.createElement("p",{style:{fontSize:18}},m.instructionText),l.default.createElement("div",{style:{paddingTop:15,textAlign:"center"}},l.default.createElement(St,{onClick:a,colors:u.retryBtn,style:{marginRight:15},finished:!0},m.retryText),l.default.createElement(St,{onClick:i,disabled:h===Ve.SUBMITTING,colors:u.doneBtn,finished:!0},h===Ve.SUBMITTING?m.submittingText:m.submitText))))},Pi=function(){var e,n=t.useContext(tn),r=n.videoRef,o=n.setVideoLoaded,i=n.cameraRef;t.useEffect((function(){o(!1)}),[o]),t.useEffect((function(){var e;r.current&&(null===(e=i.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=i.current.stream)}),[i,r]);var a=t.useCallback((function(){o(!0)}),[o]);return l.default.createElement(Bi,{autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:a,$isRearFacing:null===(e=i.current)||void 0===e?void 0:e.isRearFacing})},Bi=h.default.video(Si||(Si=w(["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"],["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"])),(function(e){return e.$isRearFacing?"":"scaleX(-1)"}));function Oi(e,n,r){var o=this,i=t.useState(!1),a=i[0],s=i[1];return t.useEffect((function(){n&&e&&("function"==typeof e?v(o,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,e()];case 1:return t.sent()?null==r||r():s(!0),[2]}}))})):null==r||r())}),[n,r,e]),!e||a}var Ni,Ui=function(e){var n=e.onCapture,r=e.onFinished,o=e.colors,i=void 0===o?{}:o,a=e.verbiage,s=void 0===a?{}:a,u=t.useRef(null),c=t.useState([]),d=c[0],h=c[1];i.captureMoreBtn||(i.captureMoreBtn={backgroundColor:"#666"});var f=xi(s,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture photos of your ID card or passport manually.",firstInstructionText:"Please capture the front of your ID card, or the ID page of your passport.",secondInstructionText:"Please capture the back of your ID card, or click Done if submitting a passport.",captureBtnText:"Capture",captureMoreBtnText:"Capture back of ID Card",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,{style:{justifyContent:"center"}},l.default.createElement("h3",{style:{marginBottom:8}},f.headingText),l.default.createElement("p",{style:{marginBottom:8}},f.descriptionText),d.length>0&&l.default.createElement(ht,null,d.map((function(e,t){return l.default.createElement("div",{key:t,style:{display:"flex",justifyContent:"center",flexGrow:1,flexBasis:0}},l.default.createElement("img",{src:e,alt:""}))}))),d.length<2&&l.default.createElement("p",{style:{fontWeight:"bold"}},0===d.length?f.firstInstructionText:f.secondInstructionText),l.default.createElement("input",{ref:u,type:"file",accept:"image/*",hidden:!0,onChange:function(e){var t,r=null===(t=e.target.files)||void 0===t?void 0:t[0];if(r){var o=new FileReader;o.addEventListener("load",(function(e){var t,r=null===(t=e.target)||void 0===t?void 0:t.result;h((function(e){return y(y([],e,!0),[r],!1)})),null==n||n(r)})),o.readAsDataURL(r)}}}),l.default.createElement("div",{style:{marginTop:32}},d.length<2&&l.default.createElement(St,{colors:d.length>0?i.captureMoreBtn:i.captureBtn,finished:!0,onClick:function(){var e;null===(e=u.current)||void 0===e||e.click()}},d.length>0?f.captureMoreBtnText:f.captureBtnText),d.length>0&&l.default.createElement(St,{colors:i.doneBtn,finished:!0,onClick:function(){null==r||r(d)},style:{marginLeft:12}},f.doneBtnText))))};!function(e){e.CAPTURING="CAPTURING",e.COMPLETE="COMPLETE"}(Ni||(Ni={}));var ji={captureState:Ni.CAPTURING,capturedDocuments:{},requestedDocumentType:Et.ID_CARD_FRONT,currentDocumentType:Et.NONE,differentDocumentTypeDetections:0,barcodeResult:null},Gi=function(e,t){var n;switch(t.type){case"predictionMade":var r=t.payload.prediction;return(o=m(m({},e),{currentDocumentType:r.detectedDocumentType})).currentDocumentType===e.requestedDocumentType&&(o.differentDocumentTypeDetections=0),"PASSPORT"===r.detectedDocumentType&&"PASSPORT"!==e.requestedDocumentType&&(o.requestedDocumentType=Et.PASSPORT),"PASSPORT"===e.requestedDocumentType&&r.passportDetectionScore<.3&&(o.requestedDocumentType=Et.ID_CARD_FRONT),o;case"barcodeScanned":return m(m({},e),{barcodeResult:t.payload.result});case"imageCaptured":var o=m(m({},e),{capturedDocuments:m(m({},e.capturedDocuments),(n={},n[e.requestedDocumentType]=t.payload,n))});return"ID_CARD_FRONT"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_BACK?"ID_CARD_BACK"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_FRONT?o.captureState=Ni.COMPLETE:o.requestedDocumentType=Et.ID_CARD_FRONT:o.requestedDocumentType=Et.ID_CARD_BACK,o;case"imageCapturedManually":o=m({},e);var i=m(m({},t.payload),{width:0,height:0});return 0===Object.keys(e.capturedDocuments).length?o.capturedDocuments[Et.PASSPORT]=i:(o.capturedDocuments={},o.capturedDocuments[Et.ID_CARD_FRONT]=e.capturedDocuments[Et.PASSPORT],o.capturedDocuments[Et.ID_CARD_BACK]=i),o;case"reset":return m({},ji)}},$i=function(e){var n,r,o,i,a,s,u,c,d,h,f=e.onSuccess,p=e.autoCaptureEnabled,g=void 0===p||p,m=e.autoCaptureGoodFramesRequired,v=void 0===m?3:m,b=e.autoCaptureBarcodeRequired,y=void 0===b?"mobile":b,w=e.barcodeScanningEnabled,x=void 0!==w&&w,E=e.idCardAutoCaptureScoreThreshold,C=void 0===E?.8:E,S=e.passportAutoCaptureScoreThreshold,k=void 0===S?.75:S,T=e.mrzDetectionScoreThreshold,A=void 0===T?.25:T,I=e.idCardFocusScoreThreshold,R=void 0===I?.3:I,D=e.passportFocusScoreThreshold,_=void 0===D?.3:D,F=e.skipSuccessScreen,M=void 0!==F&&F,L=e.assets,P=void 0===L?{}:L,B=e.colors,O=void 0===B?{}:B,N=e.verbiage,U=void 0===N?{}:N,j=e.debugMode,G=void 0!==j&&j,$=t.useReducer(Gi,ji),z=$[0],q=$[1],V=t.useContext(tn).releaseCameraAccess,W=t.useState(!1),H=W[0],K=W[1],Y=t.useContext(Ye),X=Y.submissionStatus,J=Y.submissionResponse,Z=Y.setIdFrontImage,Q=Y.setIdBackImage,ee=Y.setPassportImage,te=Y.logIdFrontCaptureAttempt,ne=Y.logIdBackCaptureAttempt,re=t.useContext(Go).error,oe=t.useRef();t.useEffect((function(){oe.current=new Date}),[z.capturedDocuments.length]);var ie=t.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=oe.current)&&void 0!==t?t:new Date).getTime(),"ID_CARD_BACK"===z.requestedDocumentType?ne(e):te(e)}),[ne,te,z.requestedDocumentType]),ae=t.useCallback((function(e){q({type:"predictionMade",payload:{prediction:e}})}),[]),se=t.useCallback((function(e){q({type:"barcodeScanned",payload:{result:e}})}),[]),le=t.useCallback((function(e,t,n,r){ie(r),q({type:"imageCaptured",payload:{imageData:e,width:t,height:n}})}),[ie]),ue=t.useCallback((function(){var e=z.capturedDocuments.ID_CARD_FRONT,t=z.capturedDocuments.ID_CARD_BACK,n=z.capturedDocuments.PASSPORT,r=e&&et(e.imageData),o=t&&et(t.imageData),i=n&&et(n.imageData);Z(r),Q(o),ee(i),V(),setTimeout((function(){null==f||f({idFrontImage:r,idBackImage:o,passportImage:i})}),0)}),[f,V,Q,Z,ee,z.capturedDocuments]),ce=Oi(M,z.captureState===Ni.COMPLETE,ue),de=t.useCallback((function(){q({type:"reset"})}),[]),he=t.useState(0),fe=he[0],pe=he[1],ge=t.useCallback((function(){K(!1),pe((function(e){return e+1})),q({type:"reset"})}),[]);t.useEffect((function(){X!==Ve.READY&&V()}),[V,X]),P.idCardFront||(P.idCardFront={}),(n=P.idCardFront).portraitGuidesImageUrl||(n.portraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),(r=P.idCardFront).landscapeGuidesImageUrl||(r.landscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),P.idCardBack||(P.idCardBack={}),(o=P.idCardBack).portraitGuidesImageUrl||(o.portraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),(i=P.idCardBack).landscapeGuidesImageUrl||(i.landscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg")),P.passport||(P.passport={}),(a=P.passport).portraitGuidesImageUrl||(a.portraitGuidesImageUrl="".concat(Mo,"/Shieldout-Passport-Front-SVG-Portrait-2.svg")),(s=P.passport).landscapeGuidesImageUrl||(s.landscapeGuidesImageUrl="".concat(Mo,"/Shieldout-Passport-Front-SVG-Landscape-2.svg")),P.flipIdPrompt||(P.flipIdPrompt={}),(u=P.flipIdPrompt).frontPortraitGuidesImageUrl||(u.frontPortraitGuidesImageUrl=P.idCardFront.portraitGuidesImageUrl),(c=P.flipIdPrompt).frontLandscapeGuidesImageUrl||(c.frontLandscapeGuidesImageUrl=P.idCardFront.landscapeGuidesImageUrl),(d=P.flipIdPrompt).backPortraitGuidesImageUrl||(d.backPortraitGuidesImageUrl=P.idCardBack.portraitGuidesImageUrl),(h=P.flipIdPrompt).backLandscapeGuidesImageUrl||(h.backLandscapeGuidesImageUrl=P.idCardBack.landscapeGuidesImageUrl);var me=xi(U.idCardFront,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured."}),ve=xi(U.idCardBack,{instructionText:"Scan the back of ID"}),be=xi(U.idCardBack,{instructionText:"Scan the ID page of passport"});return J?l.default.createElement(ot,{className:"padded"},l.default.createElement("h1",null,"Submission completed!"),l.default.createElement("pre",null,JSON.stringify(J,null,2))):re?l.default.createElement(Ui,{onFinished:ue,onCapture:function(e){q({type:"imageCapturedManually",payload:{imageData:e}})},colors:O.fallback,verbiage:U.fallback}):l.default.createElement(ot,{className:"flex"},z.captureState!==Ni.COMPLETE&&l.default.createElement(Pi,null),H&&function(){var e=Object.keys(z.capturedDocuments).length;switch(z.requestedDocumentType){case Et.ID_CARD_FRONT:return l.default.createElement(Ri,{key:"capture".concat(e),requiredDocumentType:z.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:v,autoCaptureBarcodeRequired:y,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:A,focusScoreThreshold:R,onPrediction:ae,onCapture:le,onExit:ge,processingDelay:3500,assets:P.idCardFront,colors:O,verbiage:me,debugMode:G,processingScreen:l.default.createElement(Mi,{assets:P.flipIdPrompt,verbiage:U.flipIdPrompt})});case Et.ID_CARD_BACK:return l.default.createElement(Ri,{key:"capture".concat(e),requiredDocumentType:z.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:v,autoCaptureBarcodeRequired:y,barcodeScanningEnabled:x,mrzDetectionScoreThreshold:A,focusScoreThreshold:R,onPrediction:ae,onBarcodeScanned:se,onCapture:le,onExit:ge,assets:P.idCardBack,colors:O,verbiage:ve,debugMode:G});case Et.PASSPORT:return l.default.createElement(Ri,{key:"capture".concat(e),requiredDocumentType:z.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:k,mrzDetectionScoreThreshold:A,autoCaptureGoodFramesRequired:v,autoCaptureBarcodeRequired:y,barcodeScanningEnabled:!1,focusScoreThreshold:_,onPrediction:ae,onBarcodeScanned:se,onCapture:le,onExit:ge,assets:P.passport,colors:O,verbiage:be,debugMode:G});default:return null}}(),!H&&l.default.createElement(Fi,{key:fe,assets:P.loadingOverlay,colors:O.loadingOverlay,verbiage:U.loadingOverlay,onDismissed:function(){K(!0)}}),z.captureState===Ni.COMPLETE&&ce&&l.default.createElement(Li,{capturedDocuments:z.capturedDocuments,barcodeResult:z.barcodeResult,onSubmitClick:ue,onRetryClick:de,colors:O.success,verbiage:U.success}))},zi=function(e){var t=e.borderWidth,n=e.borderColor;return l.default.createElement("div",{style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%",display:"flex"}},l.default.createElement("div",{style:{borderWidth:void 0===t?3:t,borderColor:void 0===n?"white":n,borderStyle:"solid",borderRadius:"50%",aspectRatio:"1 / 1.618",height:"50%",margin:"auto"}}))},qi=self;function Vi(){throw Error("Invalid UTF8")}function Wi(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}let Hi,Ki;const Yi="undefined"!=typeof TextDecoder;let Xi;const Ji="undefined"!=typeof TextEncoder;function Zi(e){if(Ji)e=(Xi||=new TextEncoder).encode(e);else{let n=0;const r=new Uint8Array(3*e.length);for(let o=0;o<e.length;o++){var t=e.charCodeAt(o);if(128>t)r[n++]=t;else{if(2048>t)r[n++]=t>>6|192;else{if(55296<=t&&57343>=t){if(56319>=t&&o<e.length){const i=e.charCodeAt(++o);if(56320<=i&&57343>=i){r[n++]=(t=1024*(t-55296)+i-56320+65536)>>18|240,r[n++]=t>>12&63|128,r[n++]=t>>6&63|128,r[n++]=63&t|128;continue}o--}t=65533}r[n++]=t>>12|224,r[n++]=t>>6&63|128}r[n++]=63&t|128}}e=n===r.length?r:r.subarray(0,n)}return e}var Qi,ea;e:{for(var ta=["CLOSURE_FLAGS"],na=qi,ra=0;ra<ta.length;ra++)if(null==(na=na[ta[ra]])){ea=null;break e}ea=na}var oa,ia=ea&&ea[610401301];Qi=null!=ia&&ia;const aa=qi.navigator;function sa(e){return!!Qi&&!!oa&&oa.brands.some((({brand:t})=>t&&-1!=t.indexOf(e)))}function la(e){var t;return(t=qi.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function ua(){return!!Qi&&!!oa&&0<oa.brands.length}function ca(){return ua()?sa("Chromium"):(la("Chrome")||la("CriOS"))&&!(!ua()&&la("Edge"))||la("Silk")}oa=aa&&aa.userAgentData||null;var da=!ua()&&(la("Trident")||la("MSIE"));!la("Android")||ca(),ca(),la("Safari")&&(ca()||!ua()&&la("Coast")||!ua()&&la("Opera")||!ua()&&la("Edge")||(ua()?sa("Microsoft Edge"):la("Edg/"))||ua()&&sa("Opera"));var ha={},fa=null;function pa(){if(!fa){fa={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var r=e.concat(t[n].split(""));ha[n]=r;for(var o=0;o<r.length;o++){var i=r[o];void 0===fa[i]&&(fa[i]=o)}}}}var ga="undefined"!=typeof Uint8Array,ma=!da&&"function"==typeof btoa;function va(e){if(!ma){var t;void 0===t&&(t=0),pa(),t=ha[t];var n=Array(Math.floor(e.length/3)),r=t[64]||"";let l=0,u=0;for(;l<e.length-2;l+=3){var o=e[l],i=e[l+1],a=e[l+2],s=t[o>>2];n[u++]=s+(o=t[(3&o)<<4|i>>4])+(i=t[(15&i)<<2|a>>6])+(a=t[63&a])}switch(s=0,a=r,e.length-l){case 2:a=t[(15&(s=e[l+1]))<<2]||r;case 1:n[u]=t[(e=e[l])>>2]+t[(3&e)<<4|s>>4]+a+r}return n.join("")}for(t="",n=0,r=e.length-10240;n<r;)t+=String.fromCharCode.apply(null,e.subarray(n,n+=10240));return t+=String.fromCharCode.apply(null,n?e.subarray(n):e),btoa(t)}const ba=/[-_.]/g,ya={"-":"+",_:"/",".":"="};function wa(e){return ya[e]||""}function xa(e){if(!ma)return function(e){var t=e.length,n=3*t/4;n%3?n=Math.floor(n):-1!="=.".indexOf(e[t-1])&&(n=-1!="=.".indexOf(e[t-2])?n-2:n-1);var r=new Uint8Array(n),o=0;return function(e,t){function n(t){for(;r<e.length;){var n=e.charAt(r++),o=fa[n];if(null!=o)return o;if(!/^[\s\xa0]*$/.test(n))throw Error("Unknown base64 encoding at char: "+n)}return t}pa();for(var r=0;;){var o=n(-1),i=n(0),a=n(64),s=n(64);if(64===s&&-1===o)break;t(o<<2|i>>4),64!=a&&(t(i<<4&240|a>>2),64!=s&&t(a<<6&192|s))}}(e,(function(e){r[o++]=e})),o!==n?r.subarray(0,o):r}(e);ba.test(e)&&(e=e.replace(ba,wa)),e=atob(e);const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Ea(e){return ga&&null!=e&&e instanceof Uint8Array}let Ca;function Sa(){return Ca||=new Uint8Array(0)}var ka={};let Ta;function Aa(e){if(e!==ka)throw Error("illegal external caller")}function Ia(){return Ta||=new Da(null,ka)}function Ra(e){Aa(ka);var t=e.N;return null==(t=null==t||Ea(t)?t:"string"==typeof t?xa(t):null)?t:e.N=t}var Da=class{constructor(e,t){if(Aa(t),this.N=e,null!=e&&0===e.length)throw Error("ByteString should be constructed with non-empty values")}ha(){const e=Ra(this);return e?new Uint8Array(e):Sa()}};function _a(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function Fa(){return Error("Failed to read varint, encoding is invalid.")}function Ma(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function La(e){return 0==e.length?Ia():new Da(e,ka)}function Pa(e){if("string"==typeof e)return{buffer:xa(e),H:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),H:!1};if(e.constructor===Uint8Array)return{buffer:e,H:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),H:!1};if(e.constructor===Da)return{buffer:Ra(e)||Sa(),H:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.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 Ba="function"==typeof Uint8Array.prototype.slice;let Oa,Na=0,Ua=0;function ja(e){const t=0>e;let n=(e=Math.abs(e))>>>0;if(e=Math.floor((e-n)/4294967296),t){const[t,r]=Va(n,e);e=r,n=t}Na=n>>>0,Ua=e>>>0}function Ga(e){const t=Oa||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Ua=0,Na=t.getUint32(0,!0)}function $a(e,t){return 4294967296*t+(e>>>0)}function za(e,t){const n=2147483648&t;return n&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),e=$a(e,t),n?-e:e}function qa(e){if(16>e.length)ja(Number(e));else if("function"==typeof BigInt)e=BigInt(e),Na=Number(e&BigInt(4294967295))>>>0,Ua=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+("-"===e[0]);Ua=Na=0;const n=e.length;for(let r=t,o=(n-t)%6+t;o<=n;r=o,o+=6){const t=Number(e.slice(r,o));Ua*=1e6,Na=1e6*Na+t,4294967296<=Na&&(Ua+=Math.trunc(Na/4294967296),Ua>>>=0,Na>>>=0)}if(t){const[e,t]=Va(Na,Ua);Na=e,Ua=t}}}function Va(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Wa(e,t,{R:n=!1}={}){e.R=n,t&&(t=Pa(t),e.h=t.buffer,e.s=t.H,e.v=0,e.l=e.h.length,e.g=e.v)}function Ha(e,t){if(e.g=t,t>e.l)throw Ma(e.l,t)}function Ka(e,t){let n,r=0,o=0,i=0;const a=e.h;let s=e.g;do{n=a[s++],r|=(127&n)<<i,i+=7}while(32>i&&128&n);for(32<i&&(o|=(127&n)>>4),i=3;32>i&&128&n;i+=7)n=a[s++],o|=(127&n)<<i;if(Ha(e,s),128>n)return t(r>>>0,o>>>0);throw Fa()}function Ya(e){let t=0,n=e.g;const r=n+10,o=e.h;for(;n<r;){const r=o[n++];if(t|=r,0==(128&r))return Ha(e,n),!!(127&t)}throw Fa()}function Xa(e){var t=e.h;const n=e.g,r=t[n],o=t[n+1],i=t[n+2];return t=t[n+3],Ha(e,e.g+4),(r<<0|o<<8|i<<16|t<<24)>>>0}function Ja(e,t){if(0>t)throw Error(`Tried to read a negative byte length: ${t}`);const n=e.g,r=n+t;if(r>e.l)throw Ma(t,e.l-n);return e.g=r,n}function Za(e,t){if(0==t)return Ia();var n=Ja(e,t);return e.R&&e.s?n=e.h.subarray(n,n+t):(e=e.h,n=n===(t=n+t)?Sa():Ba?e.slice(n,t):new Uint8Array(e.subarray(n,t))),La(n)}var Qa=class{constructor(e,t){this.h=null,this.s=!1,this.g=this.l=this.v=0,Wa(this,e,t)}m(){const e=this.h;let t=this.g,n=e[t++],r=127&n;if(128&n&&(n=e[t++],r|=(127&n)<<7,128&n&&(n=e[t++],r|=(127&n)<<14,128&n&&(n=e[t++],r|=(127&n)<<21,128&n&&(n=e[t++],r|=n<<28,128&n&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++])))))throw Fa();return Ha(this,t),r}j(){return this.m()>>>0}A(){var e=Xa(this);const t=2*(e>>31)+1,n=e>>>23&255;return e&=8388607,255==n?e?NaN:1/0*t:0==n?t*Math.pow(2,-149)*e:t*Math.pow(2,n-150)*(e+Math.pow(2,23))}C(){return this.m()}},es=[];function ts(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var n=e.g.j();if(t=n>>>3,!(0<=(n&=7)&&5>=n))throw _a(n,e.l);if(1>t)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=n,!0}function ns(e){switch(e.h){case 0:0!=e.h?ns(e):Ya(e.g);break;case 1:Ha(e=e.g,e.g+8);break;case 2:if(2!=e.h)ns(e);else{var t=e.g.j();Ha(e=e.g,e.g+t)}break;case 5:Ha(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!ts(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}ns(e)}break;default:throw _a(e.h,e.l)}}function rs(e,t,n){const r=e.g.l,o=e.g.j(),i=e.g.g+o;let a=i-r;if(0>=a&&(e.g.l=i,n(t,e,void 0,void 0,void 0),a=i-e.g.g),a)throw Error(`Message parsing ended unexpectedly. Expected to read ${o} bytes, instead read ${o-a} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=i,e.g.l=r,t}function os(e){var t=e.g.j(),n=Ja(e=e.g,t);if(e=e.h,Yi){var r,o=e;(r=Ki)||(r=Ki=new TextDecoder("utf-8",{fatal:!0})),e=n+t,o=0===n&&e===o.length?o:o.subarray(n,e);try{var i=r.decode(o)}catch(e){if(void 0===Hi){try{r.decode(new Uint8Array([128]))}catch(e){}try{r.decode(new Uint8Array([97])),Hi=!0}catch(e){Hi=!1}}throw!Hi&&(Ki=void 0),e}}else{t=(i=n)+t,n=[];let s,l=null;for(;i<t;){var a=e[i++];128>a?n.push(a):224>a?i>=t?Vi():(s=e[i++],194>a||128!=(192&s)?(i--,Vi()):n.push((31&a)<<6|63&s)):240>a?i>=t-1?Vi():(s=e[i++],128!=(192&s)||224===a&&160>s||237===a&&160<=s||128!=(192&(o=e[i++]))?(i--,Vi()):n.push((15&a)<<12|(63&s)<<6|63&o)):244>=a?i>=t-2?Vi():(s=e[i++],128!=(192&s)||0!=s-144+(a<<28)>>30||128!=(192&(o=e[i++]))||128!=(192&(r=e[i++]))?(i--,Vi()):(a=(7&a)<<18|(63&s)<<12|(63&o)<<6|63&r,n.push(55296+((a-=65536)>>10&1023),56320+(1023&a)))):Vi(),8192<=n.length&&(l=Wi(l,n),n.length=0)}i=Wi(l,n)}return i}function is(e){const t=e.g.j();return Za(e.g,t)}function as(e,t,n){var r=e.g.j();for(r=e.g.g+r;e.g.g<r;)n.push(t.call(e.g))}var ss=[];function ls(e){return e?/^\d+$/.test(e)?(qa(e),new us(Na,Ua)):null:cs||=new us(0,0)}var us=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let cs;function ds(e){return e?/^-?\d+$/.test(e)?(qa(e),new hs(Na,Ua)):null:fs||=new hs(0,0)}var hs=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let fs;function ps(e,t,n){for(;0<n||127<t;)e.g.push(127&t|128),t=(t>>>7|n<<25)>>>0,n>>>=7;e.g.push(t)}function gs(e,t){for(;127<t;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function ms(e,t){if(0<=t)gs(e,t);else{for(let n=0;9>n;n++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function vs(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function bs(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function ys(e,t,n){gs(e.g,8*t+n)}function ws(e,t){return ys(e,t,2),t=e.g.end(),bs(e,t),t.push(e.h),t}function xs(e,t){var n=t.pop();for(n=e.h+e.g.length()-n;127<n;)t.push(127&n|128),n>>>=7,e.h++;t.push(n),e.h++}function Es(e,t,n){ys(e,t,2),gs(e.g,n.length),bs(e,e.g.end()),bs(e,n)}function Cs(e,t,n,r){null!=n&&(t=ws(e,t),r(n,e),xs(e,t))}class Ss{constructor(e,t,n){this.g=e,this.h=t,this.l=n}}function ks(e){return Array.prototype.slice.call(e)}const Ts="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():void 0;var As=Ts?(e,t)=>{e[Ts]|=t}:(e,t)=>{void 0!==e.D?e.D|=t:Object.defineProperties(e,{D:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function Is(e){const t=Ds(e);1!=(1&t)&&(Object.isFrozen(e)&&(e=ks(e)),Fs(e,1|t))}var Rs=Ts?(e,t)=>{e[Ts]&=~t}:(e,t)=>{void 0!==e.D&&(e.D&=~t)},Ds=Ts?e=>0|e[Ts]:e=>0|e.D,_s=Ts?e=>e[Ts]:e=>e.D,Fs=Ts?(e,t)=>{e[Ts]=t}:(e,t)=>{void 0!==e.D?e.D=t:Object.defineProperties(e,{D:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function Ms(){var e=[];return As(e,1),e}function Ls(e){return As(e,34),e}function Ps(e,t){Fs(t,-255&(0|e))}function Bs(e,t){Fs(t,-221&(34|e))}function Os(e){return 0==(e=e>>11&1023)?536870912:e}var Ns,Us={};function js(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)&&e.constructor===Object}function Gs(e,t,n){if(null!=e)if("string"==typeof e)e=e?new Da(e,ka):Ia();else if(e.constructor!==Da)if(Ea(e))e=n?La(e):e.length?new Da(new Uint8Array(e),ka):Ia();else{if(!t)throw Error();e=void 0}return e}const $s=[];function zs(e){if(2&e)throw Error()}Fs($s,55),Ns=Object.freeze($s);class qs{constructor(e,t,n){this.l=0,this.g=e,this.h=t,this.m=n}next(){if(this.l<this.g.length){const e=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,e):e}}return{done:!0,value:void 0}}[Symbol.iterator](){return new qs(this.g,this.h,this.m)}}var Vs={};let Ws,Hs;function Ks(e,t){(t=Ws?t[Ws]:void 0)&&(e[Ws]=ks(t))}function Ys(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Xs(e){return null==e?e:"number"==typeof e||"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function Js(e){return null==e?e:"boolean"==typeof e||"number"==typeof e?!!e:void 0}function Zs(e){return"number"==typeof e&&Number.isFinite(e)||!!e&&"string"==typeof e&&isFinite(e)}function Qs(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function el(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function tl(e){if("string"!=typeof e)throw Error();return e}function nl(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function rl(e){return null==e||"string"==typeof e?e:void 0}function ol(e,t,n,r){var o=!1;return null==e||"object"!=typeof e||(o=Array.isArray(e))||e.M!==Us?o?(0===(o=n=Ds(e))&&(o|=32&r),(o|=2&r)!==n&&Fs(e,o),new t(e)):(n?2&r?(e=t[il])?t=e:(Ls((e=new t).u),t=t[il]=e):t=new t:t=void 0,t):e}const il="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():"di";function al(e){return e}function sl(e,t,n){return"string"==typeof(e="number"==(t=typeof e)||"string"===t?e:n?0:void 0)&&(n=+e,Number.isSafeInteger(n))?n:e}let ll,ul,cl;function dl(e){switch(typeof e){case"boolean":return ul||=[0,void 0,!0];case"number":return 0<e?void 0:0===e?cl||=[0,void 0]:[-e,void 0];case"string":return[0,e];case"object":return e}}function hl(e,t){return fl(e,t[0],t[1])}function fl(e,t,n){if(null==e&&(e=ll),ll=void 0,null==e){var r=96;n?(e=[n],r|=512):e=[],t&&(r=-2095105&r|(1023&t)<<11)}else{if(!Array.isArray(e))throw Error();if(64&(r=Ds(e)))return Hs&&delete e[Hs],e;if(r|=64,n&&(r|=512,n!==e[0]))throw Error();e:{var o=(n=e).length;if(o){const e=o-1;var i=n[e];if(js(i)){1024<=(o=e-(t=+!!(512&(r|=256))-1))&&(pl(n,t,i),o=1023),r=-2095105&r|(1023&o)<<11;break e}}t&&(i=+!!(512&r)-1,1024<(t=Math.max(t,o-i))&&(pl(n,i,{}),r|=256,t=1023),r=-2095105&r|(1023&t)<<11)}}return Fs(e,r),e}function pl(e,t,n){const r=1023+t,o=e.length;for(let i=r;i<o;i++){const r=e[i];null!=r&&r!==n&&(n[i-t]=r)}e.length=r+1,e[r]=n}function gl(e){if(2&e.g)throw Error("Cannot mutate an immutable Map")}var ml=class extends Map{constructor(e,t,n=al,r=al){super();let o=Ds(e);o|=64,Fs(e,o),this.g=o,this.l=t,this.h=n||al,this.j=this.l?vl:r||al;for(let i=0;i<e.length;i++){const a=e[i],s=n(a[0],!1,!0);let l=a[1];t?void 0===l&&(l=null):l=r(a[1],!1,!0,void 0,void 0,o),super.set(s,l)}}s(e=bl){return this.m(e)}m(e=bl){const t=[],n=super.entries();for(var r;!(r=n.next()).done;)(r=r.value)[0]=e(r[0]),r[1]=e(r[1]),t.push(r);return t}clear(){gl(this),super.clear()}delete(e){return gl(this),super.delete(this.h(e,!0,!1))}entries(){var e=this.A();return new qs(e,yl,this)}keys(){return this.C()}values(){var e=this.A();return new qs(e,ml.prototype.get,this)}forEach(e,t){super.forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))}set(e,t){return gl(this),null==(e=this.h(e,!0,!1))?this:null==t?(super.delete(e),this):super.set(e,this.j(t,!0,!0,this.l,!1,this.g))}I(e){const t=this.h(e[0],!1,!0);e=e[1],e=this.l?void 0===e?null:e:this.j(e,!1,!0,void 0,!1,this.g),super.set(t,e)}has(e){return super.has(this.h(e,!1,!1))}get(e){e=this.h(e,!1,!1);const t=super.get(e);if(void 0!==t){var n=this.l;return n?((n=this.j(t,!1,!0,n,this.v,this.g))!==t&&super.set(e,n),n):t}}A(){return Array.from(super.keys())}C(){return super.keys()}[Symbol.iterator](){return this.entries()}};function vl(e,t,n,r,o,i){return e=ol(e,r,n,i),o&&(e=Al(e)),e}function bl(e){return e}function yl(e){return[e,this.get(e)]}function wl(e,t,n,r,o,i){if(null!=e){if(Array.isArray(e))e=o&&0==e.length&&1&Ds(e)?void 0:i&&2&Ds(e)?e:xl(e,t,n,void 0!==r,o,i);else if(js(e)){const a={};for(let s in e)a[s]=wl(e[s],t,n,r,o,i);e=a}else e=t(e,r);return e}}function xl(e,t,n,r,o,i){const a=r||n?Ds(e):0;r=r?!!(32&a):void 0;const s=ks(e);for(let e=0;e<s.length;e++)s[e]=wl(s[e],t,n,r,o,i);return n&&(Ks(s,e),n(a,s)),s}function El(e){return wl(e,Cl,void 0,void 0,!1,!1)}function Cl(e){return e.M===Us?e.toJSON():e instanceof ml?e.s(El):function(e){switch(typeof e){case"number":return isFinite(e)?e:String(e);case"boolean":return e?1:0;case"object":if(e&&!Array.isArray(e)){if(Ea(e))return va(e);if(e instanceof Da){const t=e.N;return null==t?"":"string"==typeof t?t:e.N=va(t)}if(e instanceof ml)return e.s()}}return e}(e)}function Sl(e,t,n=Bs){if(null!=e){if(ga&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var r=Ds(e);return 2&r?e:(t&&=0===r||!!(32&r)&&!(64&r||!(16&r)),t?(Fs(e,34|r),4&r&&Object.freeze(e),e):xl(e,Sl,4&r?Bs:n,!0,!1,!0))}return e.M===Us?e=2&(r=_s(n=e.u))?e:kl(e,n,r,!0):e instanceof ml&&(n=Ls(e.m(Sl)),e=new ml(n,e.l,e.h,e.j)),e}}function kl(e,t,n,r){return e=e.constructor,ll=t=Tl(t,n,r),t=new e(t),ll=void 0,t}function Tl(e,t,n){const r=n||2&t?Bs:Ps,o=!!(32&t);return e=function(e,t,n){const r=ks(e);var o=r.length;const i=256&t?r[o-1]:void 0;for(o+=i?-1:0,t=512&t?1:0;t<o;t++)r[t]=n(r[t]);if(i){t=r[t]={};for(const e in i)t[e]=n(i[e])}return Ks(r,e),r}(e,t,(e=>Sl(e,o,r))),As(e,32|(n?2:0)),e}function Al(e){const t=e.u,n=_s(t);return 2&n?kl(e,t,n,!1):e}function Il(e,t){return Rl(e=e.u,_s(e),t)}function Rl(e,t,n,r){if(-1===n)return null;if(n>=Os(t)){if(256&t)return e[e.length-1][n]}else{var o=e.length;if(r&&256&t&&null!=(r=e[o-1][n]))return r;if((t=n+(+!!(512&t)-1))<o)return e[t]}}function Dl(e,t,n,r){const o=e.u,i=_s(o);return zs(i),_l(o,i,t,n,r),e}function _l(e,t,n,r,o){var i=Os(t);if(n>=i||o){if(o=t,256&t)i=e[e.length-1];else{if(null==r)return;i=e[i+(+!!(512&t)-1)]={},o|=256}i[n]=r,o!==t&&Fs(e,o)}else e[n+(+!!(512&t)-1)]=r,256&t&&n in(e=e[e.length-1])&&delete e[n]}function Fl(e,t,n,r,o){var i=2&t;let a=Rl(e,t,n,o);Array.isArray(a)||(a=Ns);const s=!(2&r),l=!(1&r);r=!!(32&t);let u=Ds(a);return 0!==u||!r||i||s?1&u||(u|=1,Fs(a,u)):(u|=33,Fs(a,u)),i?(2&u||Ls(a),l&&Object.freeze(a)):(i=2&u,l&&i?(a=ks(a),i=1,r&&!s&&(i|=32),Fs(a,i),_l(e,t,n,a,o)):s&&32&u&&!i&&Rs(a,32)),a}function Ml(e,t){const n=_s(e=e.u),r=Rl(e,n,t),o=Xs(r);return null!=o&&o!==r&&_l(e,n,t,o),o}function Ll(e){const t=_s(e=e.u),n=Rl(e,t,1),r=Gs(n,!0,!!(34&t));return null!=r&&r!==n&&_l(e,t,1,r),r}function Pl(e,t,n){const r=_s(e=e.u),o=2&r;let i=Fl(e,r,t,1),a=Ds(i);if(!(4&a)){Object.isFrozen(i)&&(i=ks(i),Fs(i,a=-3&a|32),_l(e,r,t,i));let s=0,l=0;for(;s<i.length;s++){const e=n(i[s]);null!=e&&(i[l++]=e)}l<s&&(i.length=l),a|=21,o?a|=34:a&=-33,Fs(i,a),2&a&&Object.freeze(i)}return!o&&(2&a||Object.isFrozen(i))&&(i=ks(i),Fs(i,-35&a),_l(e,r,t,i)),i}let Bl;function Ol(){return Bl??=new ml(Ls([]),void 0,void 0,void 0,Vs)}function Nl(e){e=ks(e);for(let t=0;t<e.length;t++){const n=e[t]=ks(e[t]);Array.isArray(n[1])&&(n[1]=Ls(n[1]))}return e}function Ul(e,t,n){{const r=_s(e=e.u);if(zs(r),null==n)_l(e,r,t);else{if(!(4&Ds(n))){Object.isFrozen(n)&&(n=ks(n));for(let e=0;e<n.length;e++)n[e]=tl(n[e]);Fs(n,5)}_l(e,r,t,n)}}}function jl(e,t){return Gl(e=e.u,_s(e),Dd)===t?t:-1}function Gl(e,t,n){let r=0;for(let o=0;o<n.length;o++){const i=n[o];null!=Rl(e,t,i)&&(0!==r&&_l(e,t,r),r=i)}return r}function $l(e,t,n,r){const o=_s(e);zs(o);const i=Rl(e,o,n,r);let a;if(null!=i&&i.M===Us)return(t=Al(i))!==i&&_l(e,o,n,t,r),t.u;if(Array.isArray(i)){const e=Ds(i);a=2&e?Tl(i,e,!1):i,a=hl(a,t)}else a=hl(void 0,t);return a!==i&&_l(e,o,n,a,r),a}function zl(e,t,n,r){const o=_s(e=e.u),i=Rl(e,o,n,r);return(t=ol(i,t,!1,o))!==i&&null!=t&&_l(e,o,n,t,r),t}function ql(e,t,n,r=!1){if(null==(t=zl(e,t,n,r)))return t;const o=_s(e=e.u);if(!(2&o)){const i=Al(t);i!==t&&_l(e,o,n,t=i,r)}return t}function Vl(e,t,n,r,o){var i=!!(2&t),a=Fl(e,t,r,1),s=a===Ns;if(s&&2!==o)return a;if(s||!(4&Ds(a))){var l=a;a=!!(2&t),s=!!(2&Ds(l)),i=l,!a&&s&&(l=ks(l));var u=t|((s=s||void 0)?2:0),c=s;s=!1;let d=0,h=0;for(;d<l.length;d++){const e=ol(l[d],n,!1,u);if(null==e)continue;const t=!!(2&Ds(e.u));c=c||t,s=s||!t,l[h++]=e}return h<d&&(l.length=h),u=5|(l=Ds(n=l)),c=c?-9&u:8|u,l!=(c=s?-17&c:16|c)&&(Object.isFrozen(n)&&(n=ks(n)),Fs(n,c)),i!==(l=n)&&_l(e,t,r,l),(a&&2!==o||1===o)&&Object.freeze(l),l}return 3===o||(i?2===o&&(o=Ds(a),a=ks(a),Fs(a,o),_l(e,t,r,a)):(i=Object.isFrozen(a),1===o?i||Object.freeze(a):(n=-33&(o=Ds(a)),i||2&o?(a=ks(a),Fs(a,-3&n),_l(e,t,r,a)):o!==n&&Fs(a,n)))),a}function Wl(e,t,n){var r=e.u;const o=_s(r);if(t=Vl(r,o,t,n,(e=!!(2&o))?1:2),!(e||8&Ds(t))){for(n=0;n<t.length;n++)(e=t[n])!==(r=Al(e))&&(t[n]=r);As(t,8)}return t}function Hl(e,t,n,r,o){return null==r&&(r=void 0),Dl(e,n,r,o)}function Kl(e,t,n,r){null==r&&(r=void 0);const o=_s(e=e.u);zs(o),(n=Gl(e,o,n))&&n!==t&&null!=r&&_l(e,o,n),_l(e,o,t,r)}function Yl(e,t,n){const r=_s(e=e.u);zs(r),e=Vl(e,r,t,1,2),t=null!=n?n:new t,e.push(t),2&Ds(t.u)?Rs(e,8):Rs(e,16)}function Xl(e,t){return Qs(Il(e,t))}function Jl(e){return null==(e=Il(e,2))||Zs(e)?e:void 0}function Zl(e,t){return rl(Il(e,t))}function Ql(e){return e??0}function eu(e,t){return Ql(Ml(e,t))}function tu(e,t,n){if(null!=n){if("boolean"!=typeof n)throw e=typeof n,Error(`Expected boolean but got ${"object"!=e?e:n?Array.isArray(n)?"array":e:"null"}: ${n}`);n=!!n}Dl(e,t,n)}function nu(e,t,n){if(null!=n){if("number"!=typeof n)throw Ys(e=Error(),"warning"),e;if(!Number.isFinite(n)){const e=Error();Ys(e,"incident"),function(e){qi.setTimeout((()=>{throw e}),0)}(e)}}Dl(e,t,n)}function ru(e,t,n){if(null!=n&&"number"!=typeof n)throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);Dl(e,t,n)}function ou(e,t,n){n=tl(n);const r=_s(e=e.u);zs(r),Fl(e,r,t,2).push(n)}function iu(e,t,n){t.g?t.m(e,t.g,t.h,n,!0):t.m(e,t.h,n,!0)}ml.prototype.toJSON=void 0;var au=class{constructor(e,t){this.u=fl(e,t)}toJSON(){return su(this,xl(this.u,Cl,void 0,void 0,!1,!1),!0)}l(){var e=Th;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){const e=this.u;return kl(this,e,_s(e),!1)}H(){return!!(2&Ds(this.u))}};function su(e,t,n){var r=e.constructor.B,o=Os(_s(n?e.u:t)),i=!1;if(r){if(!n){var a;if((t=ks(t)).length&&js(a=t[t.length-1]))for(i=0;i<r.length;i++)if(r[i]>=o){Object.assign(t[t.length-1]={},a);break}i=!0}var s;o=t,n=!n,e=Os(a=_s(e.u)),a=+!!(512&a)-1;for(let t=0;t<r.length;t++){var l=r[t];if(l<e){var u=o[l+=a];null==u?o[l]=n?Ns:Ms():n&&u!==Ns&&Is(u)}else{if(!s){var c=void 0;o.length&&js(c=o[o.length-1])?s=c:o.push(s={})}u=s[l],null==s[l]?s[l]=n?Ns:Ms():n&&u!==Ns&&Is(u)}}}if(!(r=t.length))return t;let d,h;if(js(s=t[r-1])){e:{var f=s;c={},o=!1;for(let e in f)n=f[e],Array.isArray(n)&&n!=n&&(o=!0),null!=n?c[e]=n:o=!0;if(o){for(let e in c){f=c;break e}f=null}}f!=s&&(d=!0),r--}for(;0<r&&null==(s=t[r-1]);r--)h=!0;return d||h?(t=i?t:Array.prototype.slice.call(t,0,r),i&&(t.length=r),f&&t.push(f),t):t}function lu(e){return{ca:rc,U:e}}function uu(e,t){if(Array.isArray(t)){var n=Ds(t);if(4&n)return t;for(var r=0,o=0;r<t.length;r++){const n=e(t[r]);null!=n&&(t[o++]=n)}return o<r&&(t.length=o),Fs(t,5|n),2&n&&Object.freeze(t),t}}au.prototype.M=Us,au.prototype.toString=function(){return su(this,this.u,!1).toString()};const cu=Symbol();function du(e){let t=e[cu];if(!t){const n=vu(e),r=Iu(e),o=r.h;t=o?(e,t)=>o(e,t,r):(e,t)=>{for(;ts(t)&&4!=t.h;){var o=t.m,i=r[o];if(!i){var a=r.g;a&&(a=a[o])&&(i=r[o]=hu(a))}i&&i(t,e,o)||(o=(i=t).l,ns(i),i.aa?i=void 0:(a=i.g.g-o,i.g.g=o,i=Za(i.g,a)),o=e,i&&(Ws||=Symbol(),(a=o[Ws])?a.push(i):o[Ws]=[i]))}for(const t in n){e[Hs||=Symbol()]=n;break}},e[cu]=t}return t}function hu(e){const t=function(e){if(e=e.U)return du(e)}(e),n=e.ca.g;if(t){const r=Iu(e.U).L;return(e,o,i)=>n(e,o,i,r,t)}return(e,t,r)=>n(e,t,r)}const fu=Symbol();function pu(e,t,n,r){let o;if(r){const t=r[fu];o=t?t.L:dl(r[0]),n[e]=t??r}o&&o===ul?((t=n.xa)||(n.xa=t=[]),t.push(e)):t.l&&((t=n.Ba)||(n.Ba=t=[]),t.push(e))}function gu(e,t,n,r){pu(e,t,r)}function mu(e,t,n,r,o){pu(e,t,o,n)}function vu(e){let t=e[fu];return t||(t=e[fu]={},bu(e,t,gu,mu,t))}function bu(e,t,n,r,o){t.L=dl(e[0]);let i=1;if(e.length>i&&!(e[i]instanceof Ss)){var a=e[i++];if(Array.isArray(a))return t.h=a[0],t.g=a[1],t;t.g=a}for(a=0;i<e.length;){var s=e[i++],l=e[i];for("number"==typeof l?(i++,a+=l):a++,l=i;l<e.length&&!(e[l]instanceof Ss);)l++;if(l-=i){var u=e,c=i,d=u[c];if("function"==typeof d&&(d=d(),u[c]=d),(u=Array.isArray(d))&&!(u=ku in d||xu in d)&&(u=0<d.length)){const e=dl(c=(u=d)[0]);null!=e&&e!==c&&(u[0]=e),u=null!=e}(d=u?d:void 0)?(i++,1===l?void 0!==(s=r(a,s,d,void 0,o))&&(t[a]=s):void 0!==(s=r(a,s,d,e[i++],o))&&(t[a]=s)):void 0!==(s=n(a,s,e[i++],o))&&(t[a]=s)}else void 0!==(s=n(a,s,void 0,o))&&(t[a]=s)}return t}const yu=Symbol();function wu(e){let t=e[yu];if(!t){const n=Su(e);t=(e,t)=>Du(e,t,n),e[yu]=t}return t}const xu=Symbol();function Eu(e,t){return t.h}function Cu(e,t,n){let r,o;const i=t.h;return(e,t,a)=>i(e,t,a,o||=Su(n).L,r||=wu(n))}function Su(e){let t=e[xu];return t||(t=bu(e,e[xu]={},Eu,Cu),ku in e&&xu in e&&(e.length=0),t)}const ku=Symbol();function Tu(e,t,n){const r=t.g;return n?(e,t,o)=>r(e,t,o,n):r}function Au(e,t,n,r){const o=t.g;let i,a;return(e,t,s)=>o(e,t,s,a||=Iu(n).L,i||=du(n),r)}function Iu(e){let t=e[ku];return t||(vu(e),t=bu(e,e[ku]={},Tu,Au),ku in e&&xu in e&&(e.length=0),t)}function Ru(e,t){var n=e[t];if(n)return n;if((n=e.g)&&(n=n[t])){var r=n.U,o=n.ca.h;if(r){const e=wu(r),t=Su(r).L;n=(n,r,i)=>o(n,r,i,t,e)}else n=o;return e[t]=n}}function Du(e,t,n){for(var r=_s(e),o=+!!(512&r)-1,i=e.length,a=512&r?1:0,s=i+(256&r?-1:0);a<s;a++){const r=e[a];if(null==r)continue;const i=a-o,s=Ru(n,i);s&&s(t,r,i)}if(256&r){r=e[i-1];for(let e in r)o=+e,Number.isNaN(o)||null!=(i=r[e])&&(s=Ru(n,o))&&s(t,i,o)}if(e=Ws?e[Ws]:void 0)for(bs(t,t.g.end()),n=0;n<e.length;n++)bs(t,Ra(e[n])||Sa())}function _u(e,t){return new Ss(e,t,!1)}function Fu(e,t){return new Ss(e,t,!0)}function Mu(e,t,n){_l(e,_s(e),t,n)}var Lu=_u((function(e,t,n,r,o){return 2===e.h&&(e=rs(e,hl([void 0,void 0],r),o),zs(r=_s(t)),(o=Rl(t,r,n))instanceof ml?0!=(2&o.g)?((o=o.m()).push(e),_l(t,r,n,o)):o.I(e):Array.isArray(o)?(2&Ds(o)&&_l(t,r,n,o=Nl(o)),o.push(e)):_l(t,r,n,[e]),!0)}),(function(e,t,n,r,o){if(t instanceof ml)t.forEach(((t,i)=>{Cs(e,n,hl([i,t],r),o)}));else if(Array.isArray(t))for(let i=0;i<t.length;i++){const a=t[i];Array.isArray(a)&&Cs(e,n,hl(a,r),o)}}));function Pu(e,t,n){e:if(null!=t){if(Zs(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&ds(t),null!=t&&(ys(e,n,0),"number"==typeof t?(e=e.g,ja(t),ps(e,Na,Ua)):(n=ds(t),ps(e.g,n.h,n.g))))}function Bu(e,t,n){null!=(t=Qs(t))&&null!=t&&(ys(e,n,0),ms(e.g,t))}function Ou(e,t,n){null!=(t=Js(t))&&(ys(e,n,0),e.g.g.push(t?1:0))}function Nu(e,t,n){null!=(t=rl(t))&&Es(e,n,Zi(t))}function Uu(e,t,n,r,o){Cs(e,n,t instanceof au?t.u:Array.isArray(t)?hl(t,r):void 0,o)}function ju(e,t,n){null!=(t=null==t||"string"==typeof t||Ea(t)||t instanceof Da?t:void 0)&&Es(e,n,Pa(t).buffer)}function Gu(e,t,n){return(5===e.h||2===e.h)&&(t=Fl(t,_s(t),n,2,!1),2==e.h?as(e,Qa.prototype.A,t):t.push(e.g.A()),!0)}var $u=_u((function(e,t,n){if(1!==e.h)return!1;var r=e.g;e=Xa(r);const o=Xa(r);r=2*(o>>31)+1;const i=o>>>20&2047;return e=4294967296*(1048575&o)+e,Mu(t,n,2047==i?e?NaN:1/0*r:0==i?r*Math.pow(2,-1074)*e:r*Math.pow(2,i-1075)*(e+4503599627370496)),!0}),(function(e,t,n){null!=(t=Xs(t))&&(ys(e,n,1),e=e.g,(n=Oa||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),Na=n.getUint32(0,!0),Ua=n.getUint32(4,!0),vs(e,Na),vs(e,Ua))})),zu=_u((function(e,t,n){return 5===e.h&&(Mu(t,n,e.g.A()),!0)}),(function(e,t,n){null!=(t=Xs(t))&&(ys(e,n,5),e=e.g,Ga(t),vs(e,Na))})),qu=Fu(Gu,(function(e,t,n){if(null!=(t=uu(Xs,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(ys(r,n,5),r=r.g,Ga(o),vs(r,Na))}})),Vu=Fu(Gu,(function(e,t,n){if(null!=(t=uu(Xs,t))&&t.length){ys(e,n,2),gs(e.g,4*t.length);for(let r=0;r<t.length;r++)n=e.g,Ga(t[r]),vs(n,Na)}})),Wu=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,Ka(e.g,za)),!0)}),Pu),Hu=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,0===(e=Ka(e.g,za))?void 0:e),!0)}),Pu),Ku=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,Ka(e.g,$a)),!0)}),(function(e,t,n){e:if(null!=t){if(Zs(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&ls(t),null!=t&&(ys(e,n,0),"number"==typeof t?(e=e.g,ja(t),ps(e,Na,Ua)):(n=ls(t),ps(e.g,n.h,n.g))))})),Yu=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,e.g.m()),!0)}),Bu),Xu=Fu((function(e,t,n){return(0===e.h||2===e.h)&&(t=Fl(t,_s(t),n,2,!1),2==e.h?as(e,Qa.prototype.m,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=uu(Qs,t))&&t.length){n=ws(e,n);for(let n=0;n<t.length;n++)ms(e.g,t[n]);xs(e,n)}})),Ju=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,0===(e=e.g.m())?void 0:e),!0)}),Bu),Zu=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,Ya(e.g)),!0)}),Ou),Qu=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,!1===(e=Ya(e.g))?void 0:e),!0)}),Ou),ec=Fu((function(e,t,n){if(2!==e.h)return!1;e=os(e);const r=_s(t);return zs(r),Fl(t,r,n,2).push(e),!0}),(function(e,t,n){if(null!=(t=uu(rl,t)))for(let o=0;o<t.length;o++){var r=t[o];null!=r&&Es(e,n,Zi(r))}})),tc=_u((function(e,t,n){return 2===e.h&&(Mu(t,n,""===(e=os(e))?void 0:e),!0)}),Nu),nc=_u((function(e,t,n){return 2===e.h&&(Mu(t,n,os(e)),!0)}),Nu),rc=_u((function(e,t,n,r,o){return 2===e.h&&(rs(e,$l(t,r,n,!0),o),!0)}),Uu),oc=_u((function(e,t,n,r,o){return 2===e.h&&(rs(e,$l(t,r,n),o),!0)}),Uu),ic=Fu((function(e,t,n,r,o){if(2!==e.h)return!1;r=hl(void 0,r);const i=_s(t);zs(i);let a=Fl(t,i,n,3);return(Object.isFrozen(a)||4&Ds(a))&&(a=ks(a),_l(t,i,n,a)),a.push(r),rs(e,r,o),!0}),(function(e,t,n,r,o){if(Array.isArray(t))for(let i=0;i<t.length;i++)Uu(e,t[i],n,r,o)})),ac=_u((function(e,t,n,r,o,i){if(2!==e.h)return!1;const a=_s(t);return zs(a),(i=Gl(t,a,i))&&n!==i&&_l(t,a,i),rs(e,t=$l(t,r,n),o),!0}),Uu),sc=_u((function(e,t,n){return 2===e.h&&(Mu(t,n,is(e)),!0)}),ju),lc=Fu((function(e,t,n){return(0===e.h||2===e.h)&&(t=Fl(t,_s(t),n,2,!1),2==e.h?as(e,Qa.prototype.j,t):t.push(e.g.j()),!0)}),(function(e,t,n){if(null!=(t=uu(el,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(ys(r,n,0),gs(r.g,o))}})),uc=_u((function(e,t,n){return 0===e.h&&(Mu(t,n,e.g.m()),!0)}),(function(e,t,n){null!=(t=Qs(t))&&(t=parseInt(t,10),ys(e,n,0),ms(e.g,t))})),cc=Fu((function(e,t,n){return(0===e.h||2===e.h)&&(t=Fl(t,_s(t),n,2,!1),2==e.h?as(e,Qa.prototype.C,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=uu(Qs,t))&&t.length){n=ws(e,n);for(let n=0;n<t.length;n++)ms(e.g,t[n]);xs(e,n)}}));class dc{constructor(e,t){this.h=e,this.g=t,this.l=ql,this.m=Hl,this.defaultValue=void 0}}function hc(e,t){return new dc(e,t)}function fc(e,t){return(n,r)=>{e:{if(ss.length){const e=ss.pop();e.o(r),Wa(e.g,n,r),n=e}else n=new class{constructor(e,t){if(es.length){const n=es.pop();Wa(n,e,t),e=n}else e=new Qa(e,t);this.g=e,this.l=this.g.g,this.h=this.m=-1,this.o(t)}o({aa:e=!1}={}){this.aa=e}}(n,r);try{var o=new e;const r=o.u;du(t)(r,n),Hs&&delete r[Hs];var i=o;break e}finally{(o=n.g).h=null,o.s=!1,o.v=0,o.l=0,o.g=0,o.R=!1,n.m=-1,n.h=-1,100>ss.length&&ss.push(n)}i=void 0}return i}}function pc(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const e=this.g;return this.g=[],e}}}};Du(this.u,t,Su(e)),bs(t,t.g.end());const n=new Uint8Array(t.h),r=t.l,o=r.length;let i=0;for(let e=0;e<o;e++){const t=r[e];n.set(t,i),i+=t.length}return t.l=[n],n}}var gc=[0,tc,_u((function(e,t,n){return 2===e.h&&(Mu(t,n,(e=is(e))===Ia()?void 0:e),!0)}),(function(e,t,n){if(null!=t){if(t instanceof au){const r=t.Ea;return void(r&&(t=r(t),null!=t&&Es(e,n,Pa(t).buffer)))}if(Array.isArray(t))return}ju(e,t,n)}))],mc=[0,nc],vc=[0,Yu,uc,Zu,Zu,Xu,uc,uc],bc=[0,Zu,Zu],yc=class extends au{constructor(){super()}};yc.B=[6];var wc=[0,Zu,nc,Zu,uc,uc,cc,nc,nc,oc,bc,uc],xc=[0,nc,nc,nc],Ec=class extends au{constructor(){super()}},Cc=[0],Sc=[0,Yu],kc=[1,2,3,4,5],Tc=class extends au{constructor(e){super(e,2)}},Ac={},Ic=[-2,Ac,Zu];Ac[336783863]=lu([0,nc,Zu,Zu,Yu,oc,[0,ac,Cc,kc,ac,wc,kc,ac,xc,kc,ac,Sc,kc,ac,vc,kc],oc,mc]);var Rc=[0,tc,Qu],Dc=[0,Hu,Hu,Qu,Qu,Qu,Qu,Hu,Xu,tc,Ju,Hu,Hu,Qu,Ju,Qu,Qu,Qu,tc],_c=[-1,{}],Fc=[0,nc,oc,2,_c],Mc=[0,nc,ec,oc,_c];function Lc(e,t){t=nl(t);const n=_s(e=e.u);zs(n),_l(e,n,2,""===t?void 0:t)}function Pc(e,t){ou(e,3,t)}function Bc(e,t){ou(e,4,t)}var Oc=class extends au{constructor(e){super(e,500)}o(e){return Hl(this,0,7,e)}};Oc.B=[3,4,5,6,8,13,17,1005];var Nc=[-500,tc,tc,ec,ec,ec,ec,oc,Ic,ic,gc,Ju,Ju,oc,Fc,oc,Mc,ic,Rc,tc,oc,Dc,Ju,ec,ec,988],Uc=[0,tc,tc,oc,_c],jc=[-500,nc,nc,oc,[-1,{}],nc,999],Gc=[-500,nc,ec,ec,oc,[-2,{},Zu],ec,998,ec],$c=[-500,nc,ec,oc,_c,ec,999];function zc(e,t){Yl(e,Oc,t)}function qc(e,t){ou(e,10,t)}function Vc(e,t){ou(e,15,t)}var Wc=class extends au{constructor(e){super(e,500)}o(e){return Hl(this,0,1001,e)}};Wc.B=[1,6,7,9,10,15,16,17,14,1002];var Hc=[-500,ic,Nc,ic,5,jc,ic,Gc,Ju,ic,$c,ec,Ju,oc,Fc,oc,Mc,ic,Uc,ec,ec,ec,oc,Dc,tc,tc,Qu,oc,980,_c,ic,gc],Kc=fc(Wc,Hc);Wc.prototype.g=pc(Hc);var Yc=[0,ic,[0,Yu,Yu,Yu]],Xc=class extends au{constructor(e){super(e)}},Jc=[0,Yu,zu,nc,nc],Zc=class extends au{constructor(e){super(e)}g(){return Wl(this,Xc,1)}};Zc.B=[1];var Qc=[0,ic,Jc],ed=fc(Zc,Qc),td=[0,Yu,zu],nd=[0,Yu,Yu,oc,Yc],rd=class extends au{constructor(e){super(e)}},od=[0,Yu,Yu,Yu,Yu],id=[0,zu,zu,zu,zu],ad=class extends au{constructor(e){super(e)}},sd=[0,zu,zu,nc,zu],ld=class extends au{constructor(e){super(e)}h(){return ql(this,rd,2)}g(){return Wl(this,ad,5)}};ld.B=[5];var ud=[0,uc,oc,od,oc,id,oc,nd,ic,sd],cd=class extends au{constructor(e){super(e)}};cd.B=[1,2,3,8,9];var dd=fc(cd,[0,ec,Xu,Vu,oc,ud,nc,nc,Wu,ic,td,ec,Wu]),hd=class extends au{constructor(e){super(e)}},fd=[0,zu,zu,zu,zu,zu],pd=class extends au{constructor(e){super(e)}};pd.B=[1];var gd=fc(pd,[0,ic,fd]),md=class extends au{constructor(e){super(e)}},vd=[0,zu,zu,zu,zu,zu],bd=class extends au{constructor(e){super(e)}};bd.B=[1];var yd=fc(bd,[0,ic,vd]),wd=class extends au{constructor(e){super(e)}};wd.B=[3];var xd=[0,Yu,Yu,Vu,uc],Ed=class extends au{constructor(){super()}};Ed.prototype.g=pc([0,zu,zu,zu,zu,zu,Wu]);var Cd=class extends au{constructor(e){super(e)}},Sd=[0,Yu,2,nc,oc,Qc],kd=class extends au{constructor(e){super(e)}};kd.B=[1];var Td=fc(kd,[0,ic,Sd,Wu]),Ad=class extends au{constructor(e){super(e)}};Ad.B=[1];var Id=class extends au{constructor(e){super(e)}fa(){const e=Ll(this);return null==e?Ia():e}},Rd=class extends au{constructor(e){super(e)}},Dd=[1,2],_d=[0,ac,[0,Vu],Dd,ac,[0,sc],Dd,Yu,nc],Fd=class extends au{constructor(e){super(e)}};Fd.B=[1];var Md=fc(Fd,[0,ic,_d,Wu]),Ld=class extends au{constructor(e){super(e)}};Ld.B=[4,5];var Pd=[0,nc,Yu,zu,ec,ec],Bd=class extends au{constructor(e){super(e)}},Od=[0,Zu,Zu],Nd=class extends au{constructor(e){super(e)}},Ud=[1,2,3,4,5],jd=class extends au{constructor(e){super(e)}g(){return null!=Ll(this)}h(){return null!=Zl(this,2)}},Gd=[0,sc,nc,oc,[0,Yu,Wu,Wu],oc,[0,Ku,Wu]],$d=class extends au{constructor(e){super(e)}g(){return Js(Il(this,2))??!1}},zd=[0,oc,Gd,Zu,oc,[0,ac,Sc,Ud,ac,wc,Ud,ac,vc,Ud,ac,Cc,Ud,ac,xc,Ud]],qd=class extends au{constructor(e){super(e)}},Vd=[0,oc,zd,zu,zu,Yu],Wd=hc(502141897,qd);Ac[502141897]=lu(Vd);var Hd=[0,oc,Gd];Ac[512499200]=lu(Hd);var Kd=[0,oc,Hd];Ac[515723506]=lu(Kd);var Yd=fc(class extends au{constructor(e){super(e)}},[0,oc,[0,uc,uc,qu,lc],oc,xd]),Xd=[0,oc,zd];Ac[508981768]=lu(Xd);var Jd=class extends au{constructor(e){super(e)}},Zd=[0,oc,zd,zu,oc,Xd,Zu],Qd=class extends au{constructor(e){super(e)}},eh=[0,oc,zd,oc,Vd,oc,Zd,zu,oc,Kd];Ac[508968149]=lu(Zd);var th=hc(508968150,Qd);Ac[508968150]=lu(eh);var nh=class extends au{constructor(e){super(e)}},rh=hc(513916220,nh);Ac[513916220]=lu([0,oc,zd,oc,eh,Yu]);var oh=class extends au{constructor(e){super(e)}h(){return ql(this,Ld,2)}g(){Dl(this,2)}},ih=[0,oc,zd,oc,Pd];Ac[478825465]=lu(ih);var ah=[0,oc,zd];Ac[478825422]=lu(ah);var sh=class extends au{constructor(e){super(e)}},lh=[0,oc,zd,oc,ah,oc,ih,oc,ih],uh=class extends au{constructor(e){super(e)}},ch=[0,oc,zd,zu,Yu],dh=class extends au{constructor(e){super(e)}},hh=[0,oc,zd,zu],fh=class extends au{constructor(e){super(e)}},ph=[0,oc,zd,oc,ch,oc,hh,zu],gh=class extends au{constructor(e){super(e)}},mh=[0,oc,zd,oc,ph,oc,lh];Ac[463370452]=lu(lh),Ac[464864288]=lu(ch),Ac[474472470]=lu(hh);var vh=hc(462713202,fh);Ac[462713202]=lu(ph);var bh=hc(479097054,gh);Ac[479097054]=lu(mh);var yh=class extends au{constructor(e){super(e)}},wh=hc(456383383,yh);Ac[456383383]=lu([0,oc,zd,oc,Pd]);var xh=class extends au{constructor(e){super(e)}},Eh=hc(476348187,xh);Ac[476348187]=lu([0,oc,zd,oc,Od]);var Ch=class extends au{constructor(e){super(e)}},Sh=[0,uc,uc],kh=class extends au{constructor(e){super(e)}};kh.B=[3];var Th=hc(458105876,class extends au{constructor(e){super(e)}g(){var e=this.u;const t=_s(e);var n=2&t;return e=function(e,t,n){var r=kh;const o=2&t;let i=!1;if(null==n){if(o)return Ol();n=[]}else if(n.constructor===ml){if(0==(2&n.g)||o)return n;n=n.m()}else Array.isArray(n)?i=!!(2&Ds(n)):n=[];if(o){if(!n.length)return Ol();i||(i=!0,Ls(n))}else i&&(i=!1,n=Nl(n));return i||(64&Ds(n)?Rs(n,32):32&t&&As(n,32)),_l(e,t,2,r=new ml(n,r,sl,void 0),!1),r}(e,t,Rl(e,t,2)),null==e||!n&&kh&&(e.v=!0),e}});Ac[458105876]=lu([0,oc,Sh,Lu,[!0,Wu,oc,[0,nc,nc,ec]]]);var Ah=class extends au{constructor(e){super(e)}},Ih=hc(458105758,Ah);Ac[458105758]=lu([0,oc,zd,nc,oc,Sh]);var Rh=class extends au{constructor(e){super(e)}};Rh.B=[5,6];var Dh=hc(443442058,Rh);Ac[443442058]=lu([0,oc,zd,nc,Yu,zu,ec,ec]);var _h=class extends au{constructor(e){super(e)}},Fh=[0,oc,zd,zu,zu,Yu];Ac[514774813]=lu(Fh);var Mh=class extends au{constructor(e){super(e)}},Lh=[0,oc,zd,zu,Zu],Ph=class extends au{constructor(e){super(e)}},Bh=[0,oc,zd,oc,Fh,oc,Lh,zu];Ac[518928384]=lu(Lh);var Oh=hc(516587230,Ph);function Nh(e,t){return t=t?t.clone():new Ld,void 0!==e.displayNamesLocale?Dl(t,1,nl(e.displayNamesLocale)):void 0===e.displayNamesLocale&&Dl(t,1),void 0!==e.maxResults?nu(t,2,e.maxResults):"maxResults"in e&&Dl(t,2),void 0!==e.scoreThreshold?ru(t,3,e.scoreThreshold):"scoreThreshold"in e&&Dl(t,3),void 0!==e.categoryAllowlist?Ul(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&Dl(t,4),void 0!==e.categoryDenylist?Ul(t,5,e.categoryDenylist):"categoryDenylist"in e&&Dl(t,5),t}function Uh(e,t=-1,n=""){return{categories:e.map((e=>({index:Ql(Xl(e,1))??-1,score:eu(e,2)??0,categoryName:Zl(e,3)??""??"",displayName:Zl(e,4)??""??""}))),headIndex:t,headName:n}}function jh(e){var t=Pl(e,3,Xs),n=Pl(e,2,Qs);const r=Pl(e,1,rl),o=Pl(e,9,rl),i={categories:[],keypoints:[]};for(let e=0;e<t.length;e++)i.categories.push({score:t[e],index:n[e]??-1,categoryName:r[e]??"",displayName:o[e]??""});if((t=ql(e,ld,4)?.h())&&(i.boundingBox={originX:Xl(t,1)??0,originY:Xl(t,2)??0,width:Xl(t,3)??0,height:Xl(t,4)??0,angle:0}),ql(e,ld,4)?.g().length)for(const t of ql(e,ld,4).g())i.keypoints.push({x:Ml(t,1)??0,y:Ml(t,2)??0,score:Ml(t,4)??0,label:Zl(t,3)??""});return i}function Gh(e){const t=[];for(const n of Wl(e,md,1))t.push({x:eu(n,1)??0,y:eu(n,2)??0,z:eu(n,3)??0});return t}function $h(e){const t=[];for(const n of Wl(e,hd,1))t.push({x:eu(n,1)??0,y:eu(n,2)??0,z:eu(n,3)??0});return t}function zh(e){return Array.from(e,(e=>127<e?e-256:e))}function qh(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let n=0,r=0,o=0;for(let i=0;i<e.length;i++)n+=e[i]*t[i],r+=e[i]*e[i],o+=t[i]*t[i];if(0>=r||0>=o)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return n/Math.sqrt(r*o)}let Vh;Ac[516587230]=lu(Bh);const Wh=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 Hh(){if(void 0===Vh)try{await WebAssembly.instantiate(Wh),Vh=!0}catch{Vh=!1}return Vh}async function Kh(e,t=""){const n=await Hh()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${n}.js`,wasmBinaryPath:`${t}/${e}_${n}.wasm`}}var Yh=class{};function Xh(){const e=navigator.userAgent;return e.includes("Safari")&&!e.includes("Chrome")}async function Jh(e){if("function"!=typeof importScripts){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((e,n)=>{t.addEventListener("load",(()=>{e()}),!1),t.addEventListener("error",(e=>{n(e)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function Zh(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),n(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Qh(e,t,n){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(n?e.i._bindTextureToStream(n):e.i._bindTextureToCanvas(),!(n=e.i.canvas.getContext("webgl2")||e.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 e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),t.videoWidth?(n=t.videoWidth,t=t.videoHeight):t.naturalWidth?(n=t.naturalWidth,t=t.naturalHeight):(n=t.width,t=t.height),!e.l||n===e.i.canvas.width&&t===e.i.canvas.height||(e.i.canvas.width=n,e.i.canvas.height=t),[n,t]}function ef(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const r=new Uint32Array(t.length);for(let n=0;n<t.length;n++)r[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*r.length),e.i.HEAPU32.set(r,t>>2),n(t);for(const t of r)e.i._free(t);e.i._free(t)}function tf(e,t,n){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=n}function nf(e,t,n){let r=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(e,t,o)=>{t?(n(r,o),r=[]):r.push(e)}}function rf(e,t){const n=ql(e.baseOptions,jd,1)||new jd;"string"==typeof t?(Dl(n,2,nl(t)),Dl(n,1)):t instanceof Uint8Array&&(Dl(n,1,Gs(t,!1,!1)),Dl(n,2)),Hl(e.baseOptions,0,1,n)}function of(e){try{const t=e.J.length;if(1===t)throw Error(e.J[0].message);if(1<t)throw Error("Encountered multiple errors: "+e.J.map((e=>e.message)).join(", "))}finally{e.J=[]}}function af(e,t){e.I=Math.max(e.I,t)}function sf(e,t){e.A=new Oc,Lc(e.A,"PassThroughCalculator"),Pc(e.A,"free_memory"),Bc(e.A,"free_memory_unused_out"),qc(t,"free_memory"),zc(t,e.A)}function lf(e,t){Pc(e.A,t),Bc(e.A,t+"_unused_out")}function uf(e){e.g.addBoolToStream(!0,"free_memory",e.I)}Yh.forVisionTasks=function(e){return Kh("vision",e)},Yh.forTextTasks=function(e){return Kh("text",e)},Yh.forAudioTasks=function(e){return Kh("audio",e)},Yh.isSimdSupported=function(){return Hh()};var cf=class{constructor(e){this.g=e,this.J=[],this.I=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){const t=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(ql(this.baseOptions,jd,1)?.g()||ql(this.baseOptions,jd,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(e,t){let n=ql(e.baseOptions,Nd,3);if(!n){var r=n=new Nd,o=new Ec;Kl(r,4,Ud,o)}"delegate"in t&&("GPU"===t.delegate?(t=n,r=new yc,Kl(t,2,Ud,r)):(t=n,r=new Ec,Kl(t,4,Ud,r))),Hl(e.baseOptions,0,3,n)}(this,t),t.modelAssetPath)return fetch(t.modelAssetPath.toString()).then((e=>{if(e.ok)return e.arrayBuffer();throw Error(`Failed to fetch model: ${t.modelAssetPath} (${e.status})`)})).then((e=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(e),!0,!1,!1),rf(this,"/model.dat"),this.m(),this.P()}));rf(this,t.modelAssetBuffer)}return this.m(),this.P(),Promise.resolve()}P(){}W(){let e;if(this.g.W((t=>{e=Kc(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener(((e,t)=>{this.J.push(Error(t))})),this.g.Aa(),this.g.setGraph(e,t),this.A=void 0,of(this)}finishProcessing(){this.g.finishProcessing(),of(this)}close(){this.A=void 0,this.g.closeGraph()}};function df(e,t){if(null===e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}cf.prototype.close=cf.prototype.close;class hf{constructor(e,t,n,r){this.g=e,this.h=t,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 ff(e,t,n){const r=e.h;if(n=df(r.createShader(n),"Failed to create WebGL shader"),r.shaderSource(n,t),r.compileShader(n),!r.getShaderParameter(n,r.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${r.getShaderInfoLog(n)}`);return r.attachShader(e.g,n),n}function pf(e,t){const n=e.h,r=df(n.createVertexArray(),"Failed to create vertex array");n.bindVertexArray(r);const o=df(n.createBuffer(),"Failed to create buffer");n.bindBuffer(n.ARRAY_BUFFER,o),n.enableVertexAttribArray(e.s),n.vertexAttribPointer(e.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=df(n.createBuffer(),"Failed to create buffer");return n.bindBuffer(n.ARRAY_BUFFER,i),n.enableVertexAttribArray(e.A),n.vertexAttribPointer(e.A,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array(t?[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 hf(n,r,o,i)}function gf(e,t){if(e.h){if(t!==e.h)throw Error("Cannot change GL context once initialized")}else e.h=t}function mf(e,t,n,r){if(gf(e,t),!e.g){const t=e.h;if(e.g=df(t.createProgram(),"Failed to create WebGL program"),e.C=ff(e,"\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 }",t.VERTEX_SHADER),e.v=ff(e,"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D inputTexture;\n void main() {\n gl_FragColor = texture2D(inputTexture, vTex);\n }\n ",t.FRAGMENT_SHADER),t.linkProgram(e.g),!t.getProgramParameter(e.g,t.LINK_STATUS))throw Error(`Error during program linking: ${t.getProgramInfoLog(e.g)}`);e.s=t.getAttribLocation(e.g,"aVertex"),e.A=t.getAttribLocation(e.g,"aTex")}return n?(e.m||(e.m=pf(e,!0)),n=e.m):(e.j||(e.j=pf(e,!1)),n=e.j),t.useProgram(e.g),n.bind(),e=r(),n.g.bindVertexArray(null),e}function vf(e,t,n){gf(e,t),e.l||(e.l=df(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.l),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0)}function bf(e){e.h?.bindFramebuffer(e.h.FRAMEBUFFER,null)}var yf=class{close(){if(this.g){const e=this.h;e.deleteProgram(this.g),e.deleteShader(this.C),e.deleteShader(this.v)}this.l&&this.h.deleteFramebuffer(this.l),this.j&&this.j.close(),this.m&&this.m.close()}};function wf(e,t){switch(t){case 0:return e.g.find((e=>e instanceof ImageData));case 1:return e.g.find((e=>"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function xf(e){var t=wf(e,0);if(!t){t=Cf(e);const n=Sf(e),r=new Uint8Array(e.width*e.height*4);vf(n,t,Ef(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,r),bf(n),t=new ImageData(new Uint8ClampedArray(r.buffer),e.width,e.height),e.g.push(t)}return t}function Ef(e){let t=wf(e,2);if(!t){const n=Cf(e);t=Tf(e);const r=wf(e,1)||xf(e);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r),Af(e)}return t}function Cf(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when iniitializing the image.");return e.h||(e.h=df(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Sf(e){return e.l||(e.l=new yf),e.l}function kf(e){(e=Cf(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR)}function Tf(e){const t=Cf(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=wf(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=df(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),kf(e)),n}function Af(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function If(e){const t=Cf(e);return mf(Sf(e),t,!0,(()=>function(e,t){const n=e.canvas;if(n.width===e.width&&n.height===e.height)return t();const r=n.width,o=n.height;return n.width=e.width,n.height=e.height,e=t(),n.width=r,n.height=o,e}(e,(()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))))}var Rf=class{constructor(e,t,n,r,o,i,a){this.g=e,this.j=t,this.m=n,this.canvas=r,this.l=o,this.width=i,this.height=a,(this.j||this.m)&&0==--Df&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}va(){return!!wf(this,0)}ba(){return!!wf(this,1)}K(){return!!wf(this,2)}ra(){return xf(this)}qa(){var e=wf(this,1);return e||(Ef(this),Tf(this),e=If(this),Af(this),this.g.push(e),this.j=!0),e}V(){return Ef(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof ImageData)n=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){const e=Cf(this),t=Sf(this);e.activeTexture(e.TEXTURE1),n=df(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),kf(this),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,null),e.bindTexture(e.TEXTURE_2D,null),vf(t,e,n),mf(t,e,!1,(()=>{Tf(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Af(this)})),bf(t),Af(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);Ef(this),Tf(this),n=If(this),Af(this)}e.push(n)}return new Rf(e,this.ba(),this.K(),this.canvas,this.l,this.width,this.height)}close(){this.j&&wf(this,1).close(),this.m&&Cf(this).deleteTexture(wf(this,2)),Df=-1}};Rf.prototype.close=Rf.prototype.close,Rf.prototype.clone=Rf.prototype.clone,Rf.prototype.getAsWebGLTexture=Rf.prototype.V,Rf.prototype.getAsImageBitmap=Rf.prototype.qa,Rf.prototype.getAsImageData=Rf.prototype.ra,Rf.prototype.hasWebGLTexture=Rf.prototype.K,Rf.prototype.hasImageBitmap=Rf.prototype.ba,Rf.prototype.hasImageData=Rf.prototype.va;var Df=250;function _f(e,t){switch(t){case 0:return e.g.find((e=>e instanceof Uint8Array));case 1:return e.g.find((e=>e instanceof Float32Array));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Ff(e){var t=_f(e,1);if(!t){if(t=_f(e,0))t=new Float32Array(t).map((e=>e/255));else{t=new Float32Array(e.width*e.height);const r=Lf(e);var n=Bf(e);if(vf(n,r,Mf(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document){n=new Float32Array(e.width*e.height*4),r.readPixels(0,0,e.width,e.height,r.RGBA,r.FLOAT,n);for(let e=0,r=0;e<t.length;++e,r+=4)t[e]=n[r]}else r.readPixels(0,0,e.width,e.height,r.RED,r.FLOAT,t)}e.g.push(t)}return t}function Mf(e){let t=_f(e,2);if(!t){const n=Lf(e);t=Nf(e);const r=Ff(e),o=Pf(e);n.texImage2D(n.TEXTURE_2D,0,o,e.width,e.height,0,n.RED,n.FLOAT,r),Uf(e)}return t}function Lf(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=df(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Pf(e){if(e=Lf(e),!jf)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))jf=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");jf=e.R16F}return jf}function Bf(e){return e.l||(e.l=new yf),e.l}function Of(e){(e=Lf(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST)}function Nf(e){const t=Lf(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=_f(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=df(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),Of(e)),n}function Uf(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var jf,Gf=class{constructor(e,t,n,r,o,i){this.g=e,this.m=t,this.canvas=n,this.l=r,this.width=o,this.height=i,this.m&&0==--$f&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}wa(){return!!_f(this,0)}ua(){return!!_f(this,1)}K(){return!!_f(this,2)}sa(){return(e=_f(this,0))||(e=Ff(this),e=new Uint8Array(e.map((e=>255*e))),this.g.push(e)),e;var e}pa(){return Ff(this)}V(){return Mf(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof Uint8Array)n=new Uint8Array(t);else if(t instanceof Float32Array)n=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const e=Lf(this),t=Bf(this);e.activeTexture(e.TEXTURE1),n=df(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),Of(this);const r=Pf(this);e.texImage2D(e.TEXTURE_2D,0,r,this.width,this.height,0,e.RED,e.FLOAT,null),e.bindTexture(e.TEXTURE_2D,null),vf(t,e,n),mf(t,e,!1,(()=>{Nf(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Uf(this)})),bf(t),Uf(this)}}e.push(n)}return new Gf(e,this.K(),this.canvas,this.l,this.width,this.height)}close(){this.m&&Lf(this).deleteTexture(_f(this,2)),$f=-1}};Gf.prototype.close=Gf.prototype.close,Gf.prototype.clone=Gf.prototype.clone,Gf.prototype.getAsWebGLTexture=Gf.prototype.V,Gf.prototype.getAsFloat32Array=Gf.prototype.pa,Gf.prototype.getAsUint8Array=Gf.prototype.sa,Gf.prototype.hasWebGLTexture=Gf.prototype.K,Gf.prototype.hasFloat32Array=Gf.prototype.ua,Gf.prototype.hasUint8Array=Gf.prototype.wa;var $f=250;function zf(...e){return e.map((([e,t])=>({start:e,end:t})))}const qf=function(e){return class extends e{Aa(){this.i._registerModelResourcesGraphService()}}}((Vf=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m="function"==typeof this.i._addIntToInputStream,void 0!==t?this.i.canvas=t:"undefined"==typeof OffscreenCanvas||Xh()?(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(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph((new TextEncoder).encode(e),!1)}setGraph(e,t){const n=e.length,r=this.i._malloc(n);this.i.HEAPU8.set(e,r),t?this.i._changeBinaryGraph(n,r):this.i._changeTextGraph(n,r),this.i._free(r)}configureAudio(e,t,n,r,o){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),Zh(this,r||"input_audio",(r=>{Zh(this,o=o||"audio_header",(o=>{this.i._configureAudio(r,o,e,t,n)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}W(e){tf(this,"__graph_config__",(t=>{e(t)})),Zh(this,"__graph_config__",(e=>{this.i._getGraphConfig(e,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,n){this.addAudioToStreamWithShape(e,0,0,t,n)}addAudioToStreamWithShape(e,t,n,r,o){const i=4*e.length;this.h!==i&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(i),this.h=i),this.i.HEAPF32.set(e,this.g/4),Zh(this,r,(e=>{this.i._addAudioToInputStream(this.g,t,n,e,o)}))}addGpuBufferToStream(e,t,n){Zh(this,t,(t=>{const[r,o]=Qh(this,e,t);this.i._addBoundTextureToStream(t,r,o,n)}))}addBoolToStream(e,t,n){Zh(this,t,(t=>{this.i._addBoolToInputStream(e,t,n)}))}addDoubleToStream(e,t,n){Zh(this,t,(t=>{this.i._addDoubleToInputStream(e,t,n)}))}addFloatToStream(e,t,n){Zh(this,t,(t=>{this.i._addFloatToInputStream(e,t,n)}))}addIntToStream(e,t,n){Zh(this,t,(t=>{this.i._addIntToInputStream(e,t,n)}))}addStringToStream(e,t,n){Zh(this,t,(t=>{Zh(this,e,(e=>{this.i._addStringToInputStream(e,t,n)}))}))}addStringRecordToStream(e,t,n){Zh(this,t,(t=>{ef(this,Object.keys(e),(r=>{ef(this,Object.values(e),(o=>{this.i._addFlatHashMapToInputStream(r,o,Object.keys(e).length,t,n)}))}))}))}addProtoToStream(e,t,n,r){Zh(this,n,(n=>{Zh(this,t,(t=>{const o=this.i._malloc(e.length);this.i.HEAPU8.set(e,o),this.i._addProtoToInputStream(o,e.length,t,n,r),this.i._free(o)}))}))}addEmptyPacketToStream(e,t){Zh(this,e,(e=>{this.i._addEmptyPacketToInputStream(e,t)}))}addBoolToInputSidePacket(e,t){Zh(this,t,(t=>{this.i._addBoolToInputSidePacket(e,t)}))}addDoubleToInputSidePacket(e,t){Zh(this,t,(t=>{this.i._addDoubleToInputSidePacket(e,t)}))}addFloatToInputSidePacket(e,t){Zh(this,t,(t=>{this.i._addFloatToInputSidePacket(e,t)}))}addIntToInputSidePacket(e,t){Zh(this,t,(t=>{this.i._addIntToInputSidePacket(e,t)}))}addStringToInputSidePacket(e,t){Zh(this,t,(t=>{Zh(this,e,(e=>{this.i._addStringToInputSidePacket(e,t)}))}))}addProtoToInputSidePacket(e,t,n){Zh(this,n,(n=>{Zh(this,t,(t=>{const r=this.i._malloc(e.length);this.i.HEAPU8.set(e,r),this.i._addProtoToInputSidePacket(r,e.length,t,n),this.i._free(r)}))}))}attachBoolListener(e,t){tf(this,e,t),Zh(this,e,(e=>{this.i._attachBoolListener(e)}))}attachBoolVectorListener(e,t){nf(this,e,t),Zh(this,e,(e=>{this.i._attachBoolVectorListener(e)}))}attachIntListener(e,t){tf(this,e,t),Zh(this,e,(e=>{this.i._attachIntListener(e)}))}attachIntVectorListener(e,t){nf(this,e,t),Zh(this,e,(e=>{this.i._attachIntVectorListener(e)}))}attachDoubleListener(e,t){tf(this,e,t),Zh(this,e,(e=>{this.i._attachDoubleListener(e)}))}attachDoubleVectorListener(e,t){nf(this,e,t),Zh(this,e,(e=>{this.i._attachDoubleVectorListener(e)}))}attachFloatListener(e,t){tf(this,e,t),Zh(this,e,(e=>{this.i._attachFloatListener(e)}))}attachFloatVectorListener(e,t){nf(this,e,t),Zh(this,e,(e=>{this.i._attachFloatVectorListener(e)}))}attachStringListener(e,t){tf(this,e,t),Zh(this,e,(e=>{this.i._attachStringListener(e)}))}attachStringVectorListener(e,t){nf(this,e,t),Zh(this,e,(e=>{this.i._attachStringVectorListener(e)}))}attachProtoListener(e,t,n){tf(this,e,t),Zh(this,e,(e=>{this.i._attachProtoListener(e,n||!1)}))}attachProtoVectorListener(e,t,n){nf(this,e,t),Zh(this,e,(e=>{this.i._attachProtoVectorListener(e,n||!1)}))}attachAudioListener(e,t,n){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),tf(this,e,((e,n)=>{e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,n)})),Zh(this,e,(e=>{this.i._attachAudioListener(e,n||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Vf{get Y(){return this.i}ga(e,t,n){Zh(this,t,(t=>{const[r,o]=Qh(this,e,t);this.Y._addBoundTextureAsImageToStream(t,r,o,n)}))}S(e,t){tf(this,e,t),Zh(this,e,(e=>{this.Y._attachImageListener(e)}))}T(e,t){nf(this,e,t),Zh(this,e,(e=>{this.Y._attachImageVectorListener(e)}))}}));var Vf,Wf=class extends qf{};async function Hf(e,t,n){return async function(e,t,n,r){return async function(e,t,n,r){return e=await(async(e,t,n,r,o)=>{if(t&&await Jh(t),!self.ModuleFactory)throw Error("ModuleFactory not set.");if(n&&(await Jh(n),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&o&&((t=self.Module).locateFile=o.locateFile,o.mainScriptUrlOrBlob&&(t.mainScriptUrlOrBlob=o.mainScriptUrlOrBlob)),o=await self.ModuleFactory(self.Module||o),self.ModuleFactory=self.Module=void 0,new e(o,r)})(e,n.wasmLoaderPath,n.assetLoaderPath,t,{locateFile:e=>e.endsWith(".wasm")?n.wasmBinaryPath.toString():n.assetBinaryPath&&e.endsWith(".data")?n.assetBinaryPath.toString():e}),await e.o(r),e}(e,t,n,r)}(e,n.canvas??("undefined"==typeof OffscreenCanvas||Xh()?document.createElement("canvas"):void 0),t,n)}function Kf(e,t,n,r){if(e.Z){const i=new Ed;if(n?.regionOfInterest){if(!e.ea)throw Error("This task doesn't support region-of-interest.");var o=n.regionOfInterest;if(o.left>=o.right||o.top>=o.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(0>o.left||0>o.top||1<o.right||1<o.bottom)throw Error("Expected RectF values to be in [0,1].");ru(i,1,(o.left+o.right)/2),ru(i,2,(o.top+o.bottom)/2),ru(i,4,o.right-o.left),ru(i,3,o.bottom-o.top)}else ru(i,1,.5),ru(i,2,.5),ru(i,4,1),ru(i,3,1);if(n?.rotationDegrees){if(0!=n?.rotationDegrees%90)throw Error("Expected rotation to be a multiple of 90°.");if(ru(i,5,-Math.PI*n.rotationDegrees/180),0!=n?.rotationDegrees%180){const[e,r]=void 0!==t.videoWidth?[t.videoWidth,t.videoHeight]:void 0!==t.naturalWidth?[t.naturalWidth,t.naturalHeight]:[t.width,t.height];n=eu(i,3)*r/e,o=eu(i,4)*e/r,ru(i,4,n),ru(i,3,o)}}e.g.addProtoToStream(i.g(),"mediapipe.NormalizedRect",e.Z,r)}e.g.ga(t,e.da,r??performance.now()),e.finishProcessing()}function Yf(e,t,n){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Kf(e,t,n,e.I+1)}function Xf(e,t,n,r){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Kf(e,t,n,r)}function Jf(e,t,n){var r=t.data;const o=t.width,i=o*(t=t.height);if((r instanceof Uint8Array||r instanceof Float32Array)&&r.length!==i)throw Error("Unsupported channel count: "+r.length/i);return e=new Gf([r],!1,e.g.i.canvas,e.O,o,t),n?e.clone():e}var Zf=class extends cf{constructor(e,t,n,r){super(e),this.g=e,this.da=t,this.Z=n,this.ea=r,this.O=new yf}l(e,t=!0){if("runningMode"in e&&tu(this.baseOptions,2,!!e.runningMode&&"IMAGE"!==e.runningMode),void 0!==e.canvas&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.O.close(),super.close()}};Zf.prototype.close=Zf.prototype.close;var Qf=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},this.h=new qd,e=new $d,Hl(this.h,0,1,e),ru(this.h,2,.5),ru(this.h,3,.3)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&ru(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&ru(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},Yf(this,e,t),this.j}G(e,t,n){return this.j={detections:[]},Xf(this,e,n,t),this.j}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect_in"),Vc(e,"detections");const t=new Tc;iu(t,Wd,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect_in"),Bc(n,"DETECTIONS:detections"),n.o(t),zc(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=dd(t),this.j.detections.push(jh(e));af(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Qf.prototype.detectForVideo=Qf.prototype.G,Qf.prototype.detect=Qf.prototype.F,Qf.prototype.setOptions=Qf.prototype.o,Qf.createFromModelPath=async function(e,t){return Hf(Qf,e,{baseOptions:{modelAssetPath:t}})},Qf.createFromModelBuffer=function(e,t){return Hf(Qf,e,{baseOptions:{modelAssetBuffer:t}})},Qf.createFromOptions=function(e,t){return Hf(Qf,e,t)};var ep=zf([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]),tp=zf([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]),np=zf([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),rp=zf([474,475],[475,476],[476,477],[477,474]),op=zf([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]),ip=zf([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),ap=zf([469,470],[470,471],[471,472],[472,469]),sp=zf([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]),lp=[...ep,...tp,...np,...op,...ip,...sp],up=zf([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 cp(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var dp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,this.h=new Qd,e=new $d,Hl(this.h,0,1,e),this.v=new Jd,Hl(this.h,0,3,this.v),this.s=new qd,Hl(this.h,0,2,this.s),nu(this.s,4,1),ru(this.s,2,.5),ru(this.v,2,.5),ru(this.h,4,.5)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){return"numFaces"in e&&nu(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&ru(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&ru(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&ru(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return cp(this),Yf(this,e,t),this.j}G(e,t,n){return cp(this),Xf(this,e,n,t),this.j}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect"),Vc(e,"face_landmarks");const t=new Tc;iu(t,th,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"NORM_LANDMARKS:face_landmarks"),n.o(t),zc(e,n),this.g.attachProtoVectorListener("face_landmarks",((e,t)=>{for(const t of e)e=yd(t),this.j.faceLandmarks.push(Gh(e));af(this,t)})),this.g.attachEmptyPacketListener("face_landmarks",(e=>{af(this,e)})),this.outputFaceBlendshapes&&(Vc(e,"blendshapes"),Bc(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((e,t)=>{if(this.outputFaceBlendshapes)for(const t of e)e=ed(t),this.j.faceBlendshapes.push(Uh(e.g()??[]));af(this,t)})),this.g.attachEmptyPacketListener("blendshapes",(e=>{af(this,e)}))),this.outputFacialTransformationMatrixes&&(Vc(e,"face_geometry"),Bc(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((e,t)=>{if(this.outputFacialTransformationMatrixes)for(const t of e)(e=ql(Yd(t),wd,2))&&this.j.facialTransformationMatrixes.push({rows:Ql(Xl(e,1))??0,columns:Ql(Xl(e,2))??0,data:Pl(e,3,Xs)??[]});af(this,t)})),this.g.attachEmptyPacketListener("face_geometry",(e=>{af(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};dp.prototype.detectForVideo=dp.prototype.G,dp.prototype.detect=dp.prototype.F,dp.prototype.setOptions=dp.prototype.o,dp.createFromModelPath=function(e,t){return Hf(dp,e,{baseOptions:{modelAssetPath:t}})},dp.createFromModelBuffer=function(e,t){return Hf(dp,e,{baseOptions:{modelAssetBuffer:t}})},dp.createFromOptions=function(e,t){return Hf(dp,e,t)},dp.FACE_LANDMARKS_LIPS=ep,dp.FACE_LANDMARKS_LEFT_EYE=tp,dp.FACE_LANDMARKS_LEFT_EYEBROW=np,dp.FACE_LANDMARKS_LEFT_IRIS=rp,dp.FACE_LANDMARKS_RIGHT_EYE=op,dp.FACE_LANDMARKS_RIGHT_EYEBROW=ip,dp.FACE_LANDMARKS_RIGHT_IRIS=ap,dp.FACE_LANDMARKS_FACE_OVAL=sp,dp.FACE_LANDMARKS_CONTOURS=lp,dp.FACE_LANDMARKS_TESSELATION=up;var hp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect",!0),this.j=new nh,e=new $d,Hl(this.j,0,1,e)}get baseOptions(){return ql(this.j,$d,1)}set baseOptions(e){Hl(this.j,0,1,e)}o(e){return super.l(e)}Da(e,t,n){const r="function"!=typeof t?t:{};if(this.h="function"==typeof t?t:n,Yf(this,e,r??{}),!this.h)return this.s}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect"),Vc(e,"stylized_image");const t=new Tc;iu(t,rh,this.j);const n=new Oc;Lc(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"STYLIZED_IMAGE:stylized_image"),n.o(t),zc(e,n),this.g.S("stylized_image",((e,t)=>{var n=!this.h,r=e.data,o=e.width;const i=o*(e=e.height);if(r instanceof Uint8Array)if(r.length===3*i){const t=new Uint8ClampedArray(4*i);for(let e=0;e<i;++e)t[4*e]=r[3*e],t[4*e+1]=r[3*e+1],t[4*e+2]=r[3*e+2],t[4*e+3]=255;r=new ImageData(t,o,e)}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),o,e)}else if(!(r instanceof WebGLTexture))throw Error(`Unsupported format: ${r.constructor.name}`);o=new Rf([r],!1,!1,this.g.i.canvas,this.O,o,e),this.s=n=n?o.clone():o,this.h&&this.h(n),af(this,t)})),this.g.attachEmptyPacketListener("stylized_image",(e=>{this.s=null,this.h&&this.h(null),af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};hp.prototype.stylize=hp.prototype.Da,hp.prototype.setOptions=hp.prototype.o,hp.createFromModelPath=function(e,t){return Hf(hp,e,{baseOptions:{modelAssetPath:t}})},hp.createFromModelBuffer=function(e,t){return Hf(hp,e,{baseOptions:{modelAssetBuffer:t}})},hp.createFromOptions=function(e,t){return Hf(hp,e,t)};var fp=zf([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 pp(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function gp(e){return 0===e.gestures.length?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function mp(e,t=!0){const n=[];for(const o of e){var r=ed(o);e=[];for(const n of r.g())r=t&&null!=Xl(n,1)?Ql(Xl(n,1)):-1,e.push({score:eu(n,2)??0,index:r,categoryName:Zl(n,3)??""??"",displayName:Zl(n,4)??""??""});n.push(e)}return n}var vp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.v=new gh,e=new $d,Hl(this.v,0,1,e),this.C=new fh,Hl(this.v,0,2,this.C),this.s=new dh,Hl(this.C,0,3,this.s),this.h=new uh,Hl(this.C,0,2,this.h),this.j=new sh,Hl(this.v,0,3,this.j),ru(this.h,2,.5),ru(this.C,4,.5),ru(this.s,2,.5)}get baseOptions(){return ql(this.v,$d,1)}set baseOptions(e){Hl(this.v,0,1,e)}o(e){if(nu(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ru(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ru(this.C,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ru(this.s,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new oh,n=Nh(e.cannedGesturesClassifierOptions,ql(this.j,oh,3)?.h());Hl(t,0,2,n),Hl(this.j,0,3,t)}else void 0===e.cannedGesturesClassifierOptions&&ql(this.j,oh,3)?.g();return e.customGesturesClassifierOptions?(Hl(t=new oh,0,2,n=Nh(e.customGesturesClassifierOptions,ql(this.j,oh,4)?.h())),Hl(this.j,0,4,t)):void 0===e.customGesturesClassifierOptions&&ql(this.j,oh,4)?.g(),this.l(e)}ya(e,t){return pp(this),Yf(this,e,t),gp(this)}za(e,t,n){return pp(this),Xf(this,e,n,t),gp(this)}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect"),Vc(e,"hand_gestures"),Vc(e,"hand_landmarks"),Vc(e,"world_hand_landmarks"),Vc(e,"handedness");const t=new Tc;iu(t,bh,this.v);const n=new Oc;Lc(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"HAND_GESTURES:hand_gestures"),Bc(n,"LANDMARKS:hand_landmarks"),Bc(n,"WORLD_LANDMARKS:world_hand_landmarks"),Bc(n,"HANDEDNESS:handedness"),n.o(t),zc(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e){e=yd(t);const n=[];for(const t of Wl(e,md,1))n.push({x:eu(t,1)??0,y:eu(t,2)??0,z:eu(t,3)??0});this.landmarks.push(n)}af(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{af(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e){e=gd(t);const n=[];for(const t of Wl(e,hd,1))n.push({x:eu(t,1)??0,y:eu(t,2)??0,z:eu(t,3)??0});this.worldLandmarks.push(n)}af(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{af(this,e)})),this.g.attachProtoVectorListener("hand_gestures",((e,t)=>{this.gestures.push(...mp(e,!1)),af(this,t)})),this.g.attachEmptyPacketListener("hand_gestures",(e=>{af(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{this.handedness.push(...mp(e)),af(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function bp(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}vp.prototype.recognizeForVideo=vp.prototype.za,vp.prototype.recognize=vp.prototype.ya,vp.prototype.setOptions=vp.prototype.o,vp.createFromModelPath=function(e,t){return Hf(vp,e,{baseOptions:{modelAssetPath:t}})},vp.createFromModelBuffer=function(e,t){return Hf(vp,e,{baseOptions:{modelAssetBuffer:t}})},vp.createFromOptions=function(e,t){return Hf(vp,e,t)},vp.HAND_CONNECTIONS=fp;var yp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.j=new fh,e=new $d,Hl(this.j,0,1,e),this.s=new dh,Hl(this.j,0,3,this.s),this.h=new uh,Hl(this.j,0,2,this.h),nu(this.h,3,1),ru(this.h,2,.5),ru(this.s,2,.5),ru(this.j,4,.5)}get baseOptions(){return ql(this.j,$d,1)}set baseOptions(e){Hl(this.j,0,1,e)}o(e){return"numHands"in e&&nu(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ru(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ru(this.j,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ru(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Yf(this,e,t),bp(this)}G(e,t,n){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Xf(this,e,n,t),bp(this)}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect"),Vc(e,"hand_landmarks"),Vc(e,"world_hand_landmarks"),Vc(e,"handedness");const t=new Tc;iu(t,vh,this.j);const n=new Oc;Lc(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"LANDMARKS:hand_landmarks"),Bc(n,"WORLD_LANDMARKS:world_hand_landmarks"),Bc(n,"HANDEDNESS:handedness"),n.o(t),zc(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e)e=yd(t),this.landmarks.push(Gh(e));af(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{af(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e)e=gd(t),this.worldLandmarks.push($h(e));af(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{af(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{var n=this.handedness,r=n.push;const o=[];for(const t of e){e=ed(t);const n=[];for(const t of e.g())n.push({score:eu(t,2)??0,index:Ql(Xl(t,1))??-1,categoryName:Zl(t,3)??""??"",displayName:Zl(t,4)??""??""});o.push(n)}r.call(n,...o),af(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};yp.prototype.detectForVideo=yp.prototype.G,yp.prototype.detect=yp.prototype.F,yp.prototype.setOptions=yp.prototype.o,yp.createFromModelPath=function(e,t){return Hf(yp,e,{baseOptions:{modelAssetPath:t}})},yp.createFromModelBuffer=function(e,t){return Hf(yp,e,{baseOptions:{modelAssetBuffer:t}})},yp.createFromOptions=function(e,t){return Hf(yp,e,t)},yp.HAND_CONNECTIONS=fp;var wp=class extends Zf{constructor(e,t){super(new Wf(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},this.h=new yh,e=new $d,Hl(this.h,0,1,e)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){var t=Nh(e,ql(this.h,Ld,2));return Hl(this.h,0,2,t),this.l(e)}ia(e,t){return this.j={classifications:[]},Yf(this,e,t),this.j}ja(e,t,n){return this.j={classifications:[]},Xf(this,e,n,t),this.j}m(){var e=new Wc;qc(e,"input_image"),qc(e,"norm_rect"),Vc(e,"classifications");const t=new Tc;iu(t,wh,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Pc(n,"IMAGE:input_image"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"CLASSIFICATIONS:classifications"),n.o(t),zc(e,n),this.g.attachProtoListener("classifications",((e,t)=>{this.j=function(e){const t={classifications:Wl(e,Cd,1).map((e=>Uh(ql(e,Zc,4)?.g()??[],Ql(Xl(e,2)),Zl(e,3)??"")))};return null!=Jl(e)&&(t.timestampMs=Ql(Jl(e))),t}(Td(e)),af(this,t)})),this.g.attachEmptyPacketListener("classifications",(e=>{af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};wp.prototype.classifyForVideo=wp.prototype.ja,wp.prototype.classify=wp.prototype.ia,wp.prototype.setOptions=wp.prototype.o,wp.createFromModelPath=function(e,t){return Hf(wp,e,{baseOptions:{modelAssetPath:t}})},wp.createFromModelBuffer=function(e,t){return Hf(wp,e,{baseOptions:{modelAssetBuffer:t}})},wp.createFromOptions=function(e,t){return Hf(wp,e,t)};var xp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect",!0),this.h=new xh,this.embeddings={embeddings:[]},e=new $d,Hl(this.h,0,1,e)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){var t=this.h,n=ql(this.h,Bd,2);return n=n?n.clone():new Bd,void 0!==e.l2Normalize?tu(n,1,e.l2Normalize):"l2Normalize"in e&&Dl(n,1),void 0!==e.quantize?tu(n,2,e.quantize):"quantize"in e&&Dl(n,2),Hl(t,0,2,n),this.l(e)}na(e,t){return Yf(this,e,t),this.embeddings}oa(e,t,n){return Xf(this,e,n,t),this.embeddings}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect"),Vc(e,"embeddings_out");const t=new Tc;iu(t,Eh,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"EMBEDDINGS:embeddings_out"),n.o(t),zc(e,n),this.g.attachProtoListener("embeddings_out",((e,t)=>{e=Md(e),this.embeddings=function(e){return{embeddings:Wl(e,Rd,1).map((e=>{const t={headIndex:Ql(Xl(e,3))??-1,headName:Zl(e,4)??""??""};if(void 0!==zl(e,Ad,jl(e,1)))e=Pl(e=ql(e,Ad,jl(e,1)),1,Xs),t.floatEmbedding=e;else{const n=new Uint8Array(0);t.quantizedEmbedding=ql(e,Id,jl(e,2))?.fa()?.ha()??n}return t})),timestampMs:Ql(Jl(e))}}(e),af(this,t)})),this.g.attachEmptyPacketListener("embeddings_out",(e=>{af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};xp.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=qh(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=qh(zh(e.quantizedEmbedding),zh(t.quantizedEmbedding))}return e},xp.prototype.embedForVideo=xp.prototype.oa,xp.prototype.embed=xp.prototype.na,xp.prototype.setOptions=xp.prototype.o,xp.createFromModelPath=function(e,t){return Hf(xp,e,{baseOptions:{modelAssetPath:t}})},xp.createFromModelBuffer=function(e,t){return Hf(xp,e,{baseOptions:{modelAssetBuffer:t}})},xp.createFromOptions=function(e,t){return Hf(xp,e,t)};var Ep=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};function Cp(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function Sp(e){try{const t=new Ep(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{uf(e)}}Ep.prototype.close=Ep.prototype.close;var kp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Ah,this.v=new Ch,Hl(this.h,0,3,this.v),e=new $d,Hl(this.h,0,1,e)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?Dl(this.h,2,nl(e.displayNamesLocale)):"displayNamesLocale"in e&&Dl(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}P(){!function(e){const t=Wl(e.W(),Oc,1).filter((e=>(Zl(e,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(e.s=[],1<t.length)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");1===t.length&&(ql(t[0],Tc,7)?.l()?.g()??new Map).forEach(((t,n)=>{e.s[Number(n)]=Zl(t,1)??""}))}(this)}X(e,t,n){const r="function"!=typeof t?t:{};return this.j="function"==typeof t?t:n,Cp(this),Yf(this,e,r),Sp(this)}Ca(e,t,n,r){const o="function"!=typeof n?n:{};return this.j="function"==typeof n?n:r,Cp(this),Xf(this,e,o,t),Sp(this)}ta(){return this.s}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect");const t=new Tc;iu(t,Ih,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect"),n.o(t),zc(e,n),sf(this,e),this.outputConfidenceMasks&&(Vc(e,"confidence_masks"),Bc(n,"CONFIDENCE_MASKS:confidence_masks"),lf(this,"confidence_masks"),this.g.T("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>Jf(this,e,!this.j))),af(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],af(this,e)}))),this.outputCategoryMask&&(Vc(e,"category_mask"),Bc(n,"CATEGORY_MASK:category_mask"),lf(this,"category_mask"),this.g.S("category_mask",((e,t)=>{this.categoryMask=Jf(this,e,!this.j),af(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,af(this,e)}))),Vc(e,"quality_scores"),Bc(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,af(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};kp.prototype.getLabels=kp.prototype.ta,kp.prototype.segmentForVideo=kp.prototype.Ca,kp.prototype.segment=kp.prototype.X,kp.prototype.setOptions=kp.prototype.o,kp.createFromModelPath=function(e,t){return Hf(kp,e,{baseOptions:{modelAssetPath:t}})},kp.createFromModelBuffer=function(e,t){return Hf(kp,e,{baseOptions:{modelAssetBuffer:t}})},kp.createFromOptions=function(e,t){return Hf(kp,e,t)};var Tp=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};Tp.prototype.close=Tp.prototype.close;var Ap=class extends au{constructor(e){super(e)}},Ip=[0,Yu,Yu,Yu],Rp=[0,$u,$u,$u,$u,Zu],Dp=[0,$u,$u,$u,$u,Zu,$u,$u],_p=[0,oc,Dp],Fp=[0,oc,_p,oc,Ip],Mp=[0,oc,Dp,oc,Ip],Lp=[0,oc,Dp,Yu,Yu],Pp=[0,oc,Lp,oc,Ip],Bp=[0,$u,$u,$u,$u,Zu,oc,Ip,oc,Ip],Op=[0,$u,$u,$u,$u,Zu,uc],Np=class extends au{constructor(e){super(e)}},Up=[0,$u,$u,Zu],jp=class extends au{constructor(){super()}};jp.B=[1];var Gp=class extends au{constructor(e){super(e)}},$p=[1,2,3,4,5,6,7,8,9,10,14,15],zp=[0,ac,Dp,$p,ac,Mp,$p,ac,_p,$p,ac,Fp,$p,ac,Up,$p,ac,Op,$p,ac,Rp,$p,ac,[0,nc,$u,$u,$u,Zu,Yu,Zu,Zu,$u,3,oc,Ip],$p,ac,Lp,$p,ac,Pp,$p,$u,oc,Ip,nc,ac,Bp,$p,ac,[0,ic,Up],$p],qp=[0,nc,Yu,Yu,Zu],Vp=class extends au{constructor(){super()}};Vp.B=[1],Vp.prototype.g=pc([0,ic,zp,nc,oc,qp]);var Wp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Ah,this.v=new Ch,Hl(this.h,0,3,this.v),e=new $d,Hl(this.h,0,1,e)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}X(e,t,n,r){const o="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 Vp;const i=new Gp;var a=new Ap;if(nu(a,1,255),Hl(i,0,12,a),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new Np;tu(s,3,!0),ru(s,1,t.keypoint.x),ru(s,2,t.keypoint.y),Kl(i,5,$p,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(s of(a=new jp,t.scribble))tu(t=new Np,3,!0),ru(t,1,s.x),ru(t,2,s.y),Yl(a,Np,t);Kl(i,15,$p,a)}Yl(r,Gp,i),this.g.addProtoToStream(r.g(),"drishti.RenderData","roi_in",n),Yf(this,e,o);e:{try{const e=new Tp(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var l=e;break e}this.j(e)}finally{uf(this)}l=void 0}return l}m(){var e=new Wc;qc(e,"image_in"),qc(e,"roi_in"),qc(e,"norm_rect_in");const t=new Tc;iu(t,Ih,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"ROI:roi_in"),Pc(n,"NORM_RECT:norm_rect_in"),n.o(t),zc(e,n),sf(this,e),this.outputConfidenceMasks&&(Vc(e,"confidence_masks"),Bc(n,"CONFIDENCE_MASKS:confidence_masks"),lf(this,"confidence_masks"),this.g.T("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>Jf(this,e,!this.j))),af(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],af(this,e)}))),this.outputCategoryMask&&(Vc(e,"category_mask"),Bc(n,"CATEGORY_MASK:category_mask"),lf(this,"category_mask"),this.g.S("category_mask",((e,t)=>{this.categoryMask=Jf(this,e,!this.j),af(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,af(this,e)}))),Vc(e,"quality_scores"),Bc(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,af(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Wp.prototype.segment=Wp.prototype.X,Wp.prototype.setOptions=Wp.prototype.o,Wp.createFromModelPath=function(e,t){return Hf(Wp,e,{baseOptions:{modelAssetPath:t}})},Wp.createFromModelBuffer=function(e,t){return Hf(Wp,e,{baseOptions:{modelAssetBuffer:t}})},Wp.createFromOptions=function(e,t){return Hf(Wp,e,t)};var Hp=class extends Zf{constructor(e,t){super(new Wf(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},this.h=new Rh,e=new $d,Hl(this.h,0,1,e)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?Dl(this.h,2,nl(e.displayNamesLocale)):"displayNamesLocale"in e&&Dl(this.h,2),void 0!==e.maxResults?nu(this.h,3,e.maxResults):"maxResults"in e&&Dl(this.h,3),void 0!==e.scoreThreshold?ru(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&Dl(this.h,4),void 0!==e.categoryAllowlist?Ul(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&Dl(this.h,5),void 0!==e.categoryDenylist?Ul(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&Dl(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},Yf(this,e,t),this.j}G(e,t,n){return this.j={detections:[]},Xf(this,e,n,t),this.j}m(){var e=new Wc;qc(e,"input_frame_gpu"),qc(e,"norm_rect"),Vc(e,"detections");const t=new Tc;iu(t,Dh,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),Pc(n,"IMAGE:input_frame_gpu"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"DETECTIONS:detections"),n.o(t),zc(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=dd(t),this.j.detections.push(jh(e));af(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{af(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Kp(e){e.landmarks=[],e.worldLandmarks=[],e.v=void 0}function Yp(e){try{const t=new class{constructor(e,t,n){this.landmarks=e,this.worldLandmarks=t,this.g=n}close(){this.g?.forEach((e=>{e.close()}))}}(e.landmarks,e.worldLandmarks,e.v);if(!e.s)return t;e.s(t)}finally{uf(e)}}Hp.prototype.detectForVideo=Hp.prototype.G,Hp.prototype.detect=Hp.prototype.F,Hp.prototype.setOptions=Hp.prototype.o,Hp.createFromModelPath=async function(e,t){return Hf(Hp,e,{baseOptions:{modelAssetPath:t}})},Hp.createFromModelBuffer=function(e,t){return Hf(Hp,e,{baseOptions:{modelAssetBuffer:t}})},Hp.createFromOptions=function(e,t){return Hf(Hp,e,t)};var Xp=class extends Zf{constructor(e,t){super(new Wf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,this.h=new Ph,e=new $d,Hl(this.h,0,1,e),this.C=new Mh,Hl(this.h,0,3,this.C),this.j=new _h,Hl(this.h,0,2,this.j),nu(this.j,4,1),ru(this.j,2,.5),ru(this.C,2,.5),ru(this.h,4,.5)}get baseOptions(){return ql(this.h,$d,1)}set baseOptions(e){Hl(this.h,0,1,e)}o(e){return"numPoses"in e&&nu(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&ru(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&ru(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&ru(this.C,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,n){const r="function"!=typeof t?t:{};return this.s="function"==typeof t?t:n,Kp(this),Yf(this,e,r),Yp(this)}G(e,t,n,r){const o="function"!=typeof n?n:{};return this.s="function"==typeof n?n:r,Kp(this),Xf(this,e,o,t),Yp(this)}m(){var e=new Wc;qc(e,"image_in"),qc(e,"norm_rect"),Vc(e,"normalized_landmarks"),Vc(e,"world_landmarks"),Vc(e,"segmentation_masks");const t=new Tc;iu(t,Oh,this.h);const n=new Oc;Lc(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Pc(n,"IMAGE:image_in"),Pc(n,"NORM_RECT:norm_rect"),Bc(n,"NORM_LANDMARKS:normalized_landmarks"),Bc(n,"WORLD_LANDMARKS:world_landmarks"),n.o(t),zc(e,n),sf(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((e,t)=>{this.landmarks=[];for(const t of e)e=yd(t),this.landmarks.push(Gh(e));af(this,t)})),this.g.attachEmptyPacketListener("normalized_landmarks",(e=>{this.landmarks=[],af(this,e)})),this.g.attachProtoVectorListener("world_landmarks",((e,t)=>{this.worldLandmarks=[];for(const t of e)e=gd(t),this.worldLandmarks.push($h(e));af(this,t)})),this.g.attachEmptyPacketListener("world_landmarks",(e=>{this.worldLandmarks=[],af(this,e)})),this.outputSegmentationMasks&&(Bc(n,"SEGMENTATION_MASK:segmentation_masks"),lf(this,"segmentation_masks"),this.g.T("segmentation_masks",((e,t)=>{this.v=e.map((e=>Jf(this,e,!this.s))),af(this,t)})),this.g.attachEmptyPacketListener("segmentation_masks",(e=>{this.v=[],af(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Xp.prototype.detectForVideo=Xp.prototype.G,Xp.prototype.detect=Xp.prototype.F,Xp.prototype.setOptions=Xp.prototype.o,Xp.createFromModelPath=function(e,t){return Hf(Xp,e,{baseOptions:{modelAssetPath:t}})},Xp.createFromModelBuffer=function(e,t){return Hf(Xp,e,{baseOptions:{modelAssetBuffer:t}})},Xp.createFromOptions=function(e,t){return Hf(Xp,e,t)},Xp.POSE_CONNECTIONS=zf([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]);var Jp;function Zp(e,t,n,r){t.forEach((function(t){var o=t.keypoints.map((function(e){return[e.x,e.y]}));if(n){e.strokeStyle="#FF2C35",e.lineWidth=1;var i=t.box;!function(e,t,n){var r=new Path2D;r.moveTo(t[0][0],t[0][1]);for(var o=1;o<t.length;o++){var i=t[o];r.lineTo(i[0],i[1])}n&&r.closePath(),e.stroke(r)}(e,[[i.xMin,i.yMin],[i.xMax,i.yMin],[i.xMax,i.yMax],[i.xMin,i.yMax]],!0)}if(r){e.fillStyle="#32EEDB";for(var a=0;a<6;a++){var s=o[a][0],l=o[a][1];e.beginPath(),e.arc(s,l,3,0,2*Math.PI),e.fill()}}}))}function Qp(){return v(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return Jp?[2,Jp]:[4,Yh.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.7/wasm")];case 1:return e=t.sent(),[4,Qf.createFromOptions(e,{baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",delegate:"GPU"},runningMode:"VIDEO"})];case 2:return[2,Jp=t.sent()]}}))}))}var eg=t.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1,error:null}),tg=function(e){var n=e.autoStart,r=void 0===n||n,o=e.children,i=e.throttleMs,a=t.useContext(tn),s=a.videoRef,l=a.videoLoaded,c=a.cameraReady,d=t.useRef(null),h=t.useRef(),f=t.useState(!1),p=f[0],g=f[1],y=t.useState(!1),w=y[0],x=y[1],E=t.useRef(null),C=t.useRef(0),S=t.useRef(0),k=t.useState(null),T=k[0],A=k[1];t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:g(!1),n.label=1;case 1:return n.trys.push([1,3,,4]),e=E,[4,Qp()];case 2:return e.current=n.sent(),[3,4];case 3:return t=n.sent(),A(t),[3,4];case 4:return g(!0),[2]}}))}))}),[]),t.useEffect((function(){if(l&&c&&w&&p){var e;S.current+=1;var t=S.current;return v(void 0,void 0,void 0,(function(){var n,r,o,a;return b(this,(function(l){switch(l.label){case 0:return s.current&&E.current?(n=null===(r=d.current)||void 0===r?void 0:r.getContext("2d"),d.current&&(d.current.width=null===(o=s.current)||void 0===o?void 0:o.videoWidth,d.current.height=null===(a=s.current)||void 0===a?void 0:a.videoHeight,null==n||n.translate(s.current.videoWidth,0),null==n||n.scale(-1,1)),[4,function r(){var o;return v(this,void 0,void 0,(function(){var a,l,u,c,d;return b(this,(function(f){switch(f.label){case 0:return E.current&&s.current&&t===S.current?s.current.readyState<2?[4,new Promise((function(e){s.current&&(s.current.onloadeddata=function(){e([])})}))]:[3,2]:[2];case 1:f.sent(),f.label=2;case 2:a=s.current.videoWidth,l=s.current.videoHeight,null==n||n.drawImage(s.current,0,0,a,l),f.label=3;case 3:return f.trys.push([3,5,,6]),[4,E.current.detectForVideo(s.current,performance.now())];case 4:return(u=f.sent())&&(c=u.detections.map((function(e){var t,n,r,o,i,s,u,c,d,h,f,p,g,v,b,y;return{keypoints:e.keypoints.map((function(e){var t;return m(m({},e),{x:e.x*a,y:e.y*l,name:null!==(t=e.label)&&void 0!==t?t:""})})),box:{xMin:null!==(n=null===(t=e.boundingBox)||void 0===t?void 0:t.originX)&&void 0!==n?n:0,xMax:(null!==(o=null===(r=e.boundingBox)||void 0===r?void 0:r.originX)&&void 0!==o?o:0)+(null!==(s=null===(i=e.boundingBox)||void 0===i?void 0:i.width)&&void 0!==s?s:0),yMin:null!==(c=null===(u=e.boundingBox)||void 0===u?void 0:u.originY)&&void 0!==c?c:0,yMax:(null!==(h=null===(d=e.boundingBox)||void 0===d?void 0:d.originY)&&void 0!==h?h:0)+(null!==(p=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==p?p:0),width:null!==(v=null===(g=e.boundingBox)||void 0===g?void 0:g.width)&&void 0!==v?v:0,height:null!==(y=null===(b=e.boundingBox)||void 0===b?void 0:b.height)&&void 0!==y?y:0}}})),null===(o=h.current)||void 0===o||o.call(h,c),n&&Zp(n,c,!0,!0)),[3,6];case 5:return d=f.sent(),console.error("caught face detection error",d),[3,6];case 6:return i?e=setTimeout((function(){C.current=requestAnimationFrame(r)}),i):C.current=requestAnimationFrame(r),[2]}}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){C.current&&cancelAnimationFrame(C.current),e&&clearTimeout(e)}}}),[c,p,w,i,l,s]);var I=t.useCallback((function(){x(!0)}),[]),R=t.useCallback((function(){x(!1)}),[]);t.useEffect((function(){return r&&I(),function(){R()}}),[r,I,R]);var D=t.useCallback((function(e){h.current=e}),[]),_=t.useMemo((function(){return{start:I,stop:R,ready:p,canvasRef:d,onPredictionMade:D,error:T}}),[T,D,p,I,R]);return u.createElement(eg.Provider,{value:_},o)},ng=function(e,n,r,o){var i=t.useState(!1),a=i[0],s=i[1],l=t.useState(),u=l[0],c=l[1];return t.useEffect((function(){if(e){c(new Date);var t=setTimeout((function(){s(!0)}),e);return function(){t&&clearTimeout(t)}}}),[e]),t.useEffect((function(){if(a&&!r){if(o){var e=setTimeout((function(){null==n||n()}),12e4);return function(){clearTimeout(e)}}null==n||n()}}),[n,o,a,r]),{timedOut:a,timeoutStartedAt:u}},rg=function(e){var n=e.onFinished,r=e.onCapture,o=e.colors,i=void 0===o?{}:o,a=e.verbiage,s=void 0===a?{}:a,u=t.useState(null),c=u[0],d=u[1],h=t.useRef(null),f=t.useState(!1),p=f[0],g=f[1],m=xi(s,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture a selfie manually.",captureBtnText:"Capture",doneBtnText:"Done",doneBtnLoadingText:"Verifying..."});return l.default.createElement(ut,null,l.default.createElement(ct,{style:{justifyContent:"center"}},l.default.createElement("h3",{style:{marginBottom:8}},m.headingText),l.default.createElement("p",{style:{marginBottom:8}},m.descriptionText),c&&l.default.createElement(dt,{style:{marginTop:32}},l.default.createElement("img",{src:c,alt:""})),l.default.createElement("input",{ref:h,type:"file",accept:"image/*",hidden:!0,onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(n){var o=new FileReader;o.addEventListener("load",(function(e){var t,n=null===(t=e.target)||void 0===t?void 0:t.result;d(n),null==r||r(n)})),o.readAsDataURL(n)}}}),l.default.createElement("div",{style:{marginTop:32}},!c&&l.default.createElement(St,{colors:i.captureBtn,finished:!0,onClick:function(){var e;null===(e=h.current)||void 0===e||e.click()}},m.captureBtnText),c&&l.default.createElement(St,{key:p?"loading-btn":"ready-btn",colors:i.doneBtn,finished:!p,onClick:function(){g(!0),null==n||n(c)}},p?m.doneBtnLoadingText:m.doneBtnText))))},og={videoWidth:0,videoHeight:0,capturing:!1,captured:!1,captureFailed:!1,frame:null,faces:[],faceNotCentered:!1,faceLookingAway:!1,faceTooClose:!1,faceTooFar:!1,faceReady:!1,faceReadyAt:null,goodFramesCount:0,goodFramesThreshold:1,goodFramesThresholdMet:!1},ig=function(e,t){switch(t.type){case"configure":return m(m({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return m(m({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return m(m({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return m(m({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var n=t.payload.faces,r=n[0],o=!0,i=!1,a=!1,s=!1,l=e.faceReadyAt,u=e.goodFramesCount;if(r){var c=e.videoHeight/2,d=(r.box.xMin+r.box.xMax)/2,h=(r.box.yMin+r.box.yMax)/2,f=.125*e.videoWidth,p=.125*e.videoHeight,g=.2*r.box.width,v=.2*r.box.height,b=r.keypoints[2];b&&(o=Math.abs(e.videoWidth/2-d)>f||Math.abs(c+50-h)>p,i=Math.abs(d-b.x)>g||Math.abs(h-b.y)>v);var y=e.videoWidth<e.videoHeight;a=r.box.width>e.videoWidth/(y?2:4.5),s=r.box.width<e.videoWidth/(y?6:7)}var w=!(o||i||a||s);return w?e.faceReady||(l=new Date):(l=null,u=0),m(m({},e),{faces:n,faceNotCentered:o,faceLookingAway:i,faceTooClose:a,faceTooFar:s,faceReady:w,faceReadyAt:l,goodFramesCount:u})}},ag=function(e){var n,r=e.onGuidanceSatisfied,o=e.onGuidanceNotSatisfied,i=e.onSelfieCaptured,a=e.onTimeout,s=e.onExit,u=e.timeoutDurationMs,c=void 0===u?15e3:u,d=e.guidanceMessage,h=e.guidanceSatisfied,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,m=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=Bt(),E=x.ref,C=x.width,S=void 0===C?1:C,k=x.height,T=void 0===k?1:k,A=t.useReducer(ig,og),I=A[0],R=A[1],D=t.useRef(null),_=t.useContext(tn),F=_.cameraRef,M=_.cameraReady,L=_.videoRef,P=t.useContext(eg),B=P.onPredictionMade,O=P.error;t.useEffect((function(){M&&L.current&&0!==L.current.videoWidth&&R({type:"configure",payload:{videoWidth:L.current.videoWidth,videoHeight:L.current.videoHeight}})}),[M,L]),t.useEffect((function(){B((function(e){R({type:"facesDetected",payload:{faces:e}})}))}),[B]);var N=t.useState(!1),U=N[0],j=N[1];t.useEffect((function(){var e;return I.faceReady?(null==r||r(),e=setTimeout((function(){j(!0)}),1e3)):null==o||o(),function(){e&&clearTimeout(e)}}),[o,r,I.faceReady]),t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){if(U&&L.current&&D.current&&I.faces.length>0){if(Oo(D.current,L.current),!(e=D.current.getContext("2d")))return[2];t=e.getImageData(0,0,L.current.videoWidth,L.current.videoHeight),null==i||i(t,I.faces[0]),No(D.current)}return[2]}))}))}),[U,i,I.faces,L]);var G=ng(c,a),$=G.timedOut,z=G.timeoutStartedAt,q=ni({enabled:w,pageWidth:S,pageHeight:T,videoWidth:I.videoWidth,videoHeight:I.videoHeight});p.guidesUnsatisfiedColor||(p.guidesUnsatisfiedColor="white"),p.guidesSatisfiedColor||(p.guidesSatisfiedColor="green"),p.guidanceMessagesUnsatisfiedBackgroundColor||(p.guidanceMessagesUnsatisfiedBackgroundColor="red"),p.guidanceMessagesSatisfiedBackgroundColor||(p.guidanceMessagesSatisfiedBackgroundColor="green"),p.guidanceMessagesUnsatisfiedTextColor||(p.guidanceMessagesUnsatisfiedTextColor="white"),p.guidanceMessagesSatisfiedTextColor||(p.guidanceMessagesSatisfiedTextColor="white");var V=xi(m,{guidanceHoldStillText:"Hold still for a few seconds...",guidanceLookStraightText:"Look straight into the camera...",guidanceMoveBackText:"Move back...",guidanceMoveForwardText:"Move forward...",guidanceMoveToCenterText:"Move to the center..."}),W=I.faceReady;return"boolean"==typeof h&&(W=h),d||(d=W?V.guidanceHoldStillText:I.faceLookingAway?V.guidanceLookStraightText:I.faceTooClose?V.guidanceMoveBackText:I.faceTooFar?V.guidanceMoveForwardText:I.faceNotCentered?V.guidanceMoveToCenterText:""),O?l.default.createElement(rg,null):l.default.createElement(ot,{ref:E,className:"flex"},l.default.createElement(Bo,{ref:D}),l.default.createElement(Pi,null),l.default.createElement(zi,{borderColor:W?p.guidesSatisfiedColor:p.guidesUnsatisfiedColor}),""!==d&&l.default.createElement(ki,null,l.default.createElement(Ti,{$background:W?p.guidanceMessagesSatisfiedBackgroundColor:p.guidanceMessagesUnsatisfiedBackgroundColor,$textColor:W?p.guidanceMessagesSatisfiedTextColor:p.guidanceMessagesUnsatisfiedTextColor},d)),w&&I.faces.length>0&&l.default.createElement(Qo,{$flipX:!(null===(n=F.current)||void 0===n?void 0:n.isRearFacing)},I.faces.map((function(e,t){var n;return l.default.createElement(oi,{key:t,face:e,scaling:q,flipX:!(null===(n=F.current)||void 0===n?void 0:n.isRearFacing),color:W?"green":"red"})}))),w&&l.default.createElement(Zo,null,F.current?l.default.createElement(l.default.Fragment,null,"✅ Camera: ",F.current.label," (",F.current.width,"x",F.current.height,")"):"❌ Camera not ready",l.default.createElement("br",null),I.faceNotCentered?"❌":"✅"," Face Centered",l.default.createElement("br",null),I.faceTooClose||I.faceTooFar?"❌":"✅"," Face"," ",I.faceTooClose?"Too Close":I.faceTooFar?"Too Far":"Distance Correct",l.default.createElement("br",null),I.faceLookingAway?"❌":"✅"," Face Looking Forward",l.default.createElement("br",null),I.goodFramesThresholdMet?"✅":"❌"," ",I.goodFramesCount," ","Good Frames",l.default.createElement("br",null),$?"❌":"✅"," Time Remaining:"," ",Math.max(0,c-((new Date).getTime()-(null!=z?z:new Date).getTime())),"ms"),l.default.createElement(di,{onClick:s},"×"))},sg={frame:null,face:null,requestState:"CAPTURING",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},lg=function(e,t){var n,r;switch(t.type){case"livenessReady":return["CAPTURING","FAILED","ERROR"].includes(e.requestState)?m(m({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return m(m({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var o=t.payload.response,i=o.status,a=i.statusMessage,s=i.errorData,l=o.resultData;if("000"!==i.statusCode)return m(m({},e),{requestState:"ERROR",requestError:new Error("".concat(a,": ").concat(s))});var u="Live Face Detected"===l.verificationResult,c="true"===l.eyeCovering,d="true"===l.faceMask,h="true"===l.headCovering,f="true"===l.cellPhone,p=u&&!c&&!d&&!h,g=p?"PASSED":"FAILED",v=e.timesLivenessCheckFailed;return p?v=0:v+=1,m(m({},e),{frame:null!==(n=t.payload.frame)&&void 0!==n?n:null,face:null!==(r=t.payload.face)&&void 0!==r?r:null,imageUrl:t.payload.imageUrl,requestState:g,faceLive:u,eyeCoveringDetected:c,maskDetected:d,headCoveringDetected:h,phoneDetected:f,timesLivenessCheckFailed:v});case"livenessCheckFailed":return m(m({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},ug=function(e){var n=e.onCapture,r=e.onSuccess,o=e.onTimeout,i=e.onExit,a=e.timeoutDurationMs,s=void 0===a?15e3:a,u=e.colors,c=void 0===u?{}:u,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=t.useContext(Ye),g=p.checkLiveness,m=p.submissionError,y=t.useContext(eg).error,w=t.useReducer(lg,sg),x=w[0],E=w[1],C=t.useState(null),S=C[0],k=C[1],T=t.useRef(null),A=t.useRef(null),I=t.useCallback((function(e,t){null==n||n(),E({type:"livenessReady",payload:{frame:e,face:t}})}),[n]),R=x.frame,D=x.face,_="CAPTURED"===x.requestState,F="PASSED"===x.requestState;t.useEffect((function(){R&&D&&_&&!m&&(E({type:"livenessChecking"}),v(void 0,void 0,void 0,(function(){var e,t,n,r;return b(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),e=Uo(T.current,A.current,R,D),k(e),n=g,[4,Qe(e)];case 1:return[4,n.apply(void 0,[o.sent()])];case 2:return t=o.sent(),E({type:"livenessChecked",payload:{frame:R,face:D,imageUrl:e,response:t}}),[3,4];case 3:return r=o.sent(),E({type:"livenessCheckFailed",payload:{error:r}}),[3,4];case 4:return[2]}}))})))}),[g,D,R,_,m]);var M=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return b(this,(function(o){switch(o.label){case 0:E({type:"livenessChecking"}),o.label=1;case 1:return o.trys.push([1,4,,5]),n=g,[4,Qe(e)];case 2:return[4,n.apply(void 0,[o.sent()])];case 3:return t=o.sent(),E({type:"livenessChecked",payload:{imageUrl:e,response:t}}),[3,5];case 4:return r=o.sent(),E({type:"livenessCheckFailed",payload:{error:r}}),[3,5];case 5:return[2]}}))}))}),[g]);t.useEffect((function(){F&&x.imageUrl&&(null==r||r(x.imageUrl))}),[r,x.imageUrl,F]),t.useEffect((function(){x.timesLivenessCheckFailed>=(y?1:2)&&(null==o||o())}),[y,o,x.timesLivenessCheckFailed]),ng(s,o,"PASSED"===x.requestState||!!y,"IN_PROGRESS"===x.requestState);var L=xi(h,{guidanceRemoveEyeCoveringsText:"Please remove your eye coverings (sunglasses, eye patch, etc.)...",guidanceRemoveHeadCoveringsText:"Please remove your head coverings (hat, scarf, etc.)...",guidanceRemoveMaskText:"Please remove your mask..."}),P=x.eyeCoveringDetected?L.guidanceRemoveEyeCoveringsText:x.headCoveringDetected?L.guidanceRemoveHeadCoveringsText:x.maskDetected?L.guidanceRemoveMaskText:void 0;return y?l.default.createElement(rg,{onFinished:M}):l.default.createElement(l.default.Fragment,null,l.default.createElement(Bo,{ref:T}),l.default.createElement(Bo,{ref:A}),l.default.createElement(ag,{onSelfieCaptured:I,onExit:i,timeoutDurationMs:s,guidanceMessage:P,guidanceSatisfied:!P&&void 0,colors:c,verbiage:L,debugMode:f}),S&&l.default.createElement(pi,{imageUrl:S}))},cg=function(e){var n=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,u=void 0===s?{}:s,c=t.useContext(tn),d=c.cameraReady,h=c.cameraAccessDenied,f=t.useContext(eg).ready;o.instructionImageUrl||(o.instructionImageUrl="".concat(Mo,"/Selfie-Image-1.png"));var p=xi(u,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Continue",cameraInitializingText:"Camera initializing...",modelsWarmingUpText:"Models warming up..."}),g=t.useState(!1),m=g[1];return g[0]?l.default.createElement(l.default.Fragment,null):h?l.default.createElement(_i,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:u.cameraAccessDenied}):l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("div",{style:{flexGrow:0}},l.default.createElement("h3",{style:{marginBottom:18}},p.headingText),l.default.createElement("div",{style:{background:"#ccc",maxWidth:"280px",margin:"0 auto 12px",borderRadius:8,lineHeight:1.5,padding:"12px 24px"}},p.removeEyeCoveringsText,l.default.createElement("br",null),p.avoidExcessiveBacklightingText)),l.default.createElement(dt,null,l.default.createElement("img",{alt:p.headingText,src:o.instructionImageUrl,style:{position:"relative",top:"5%"}})),l.default.createElement(St,{disabled:!d||!f,finished:d&&f,colors:a.continueBtn,onClick:function(){m(!0),null==n||n()}},d&&f?p.continueText:f?p.cameraInitializingText:p.modelsWarmingUpText),l.default.createElement("div",{style:{display:"none"}},l.default.createElement(Pi,null))))},dg=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=xi(c,{headingText:"Face liveness has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},d.headingText),l.default.createElement(dt,null,l.default.createElement("img",{alt:d.headingText,src:r})),l.default.createElement("div",null,l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},hg=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,u=e.onExitClick,c=e.assets,d=void 0===c?{}:c,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Mo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=xi(g,{headingText:"Live face not detected, please try again",retryBtnText:"Retry",exitBtnText:"Exit"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},m.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),l.default.createElement("div",{style:{marginTop:24}},a&&l.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),l.default.createElement(St,{onClick:u,colors:f.exitBtn,finished:!0},m.exitBtnText))))},fg=function(e){var n=e.onComplete,r=e.onSuccess,o=e.onTimeout,i=e.onExitAfterFailure,a=e.timeoutDurationMs,s=void 0===a?15e3:a,u=e.maxRetries,c=void 0===u?2:u,d=e.skipSuccessScreen,h=void 0!==d&&d,f=e.assets,p=void 0===f?{}:f,g=e.colors,m=void 0===g?{}:g,y=e.verbiage,w=void 0===y?{}:y,x=e.debugMode,E=void 0!==x&&x,C=t.useContext(Ye),S=C.submissionResponse,k=C.setSelfieImage,T=C.logSelfieCaptureAttempt,A=t.useContext(tn).releaseCameraAccess,I=t.useState(""),R=I[0],D=I[1],_=t.useState(0),F=_[0],M=_[1],L=t.useState("LOADING"),P=L[0],B=L[1],O=t.useRef(),N=t.useRef(),U=t.useRef();t.useEffect((function(){U.current=new Date}),[]),t.useEffect((function(){"CAPTURING"===P&&(O.current=new Date)}),[P]);var j=t.useCallback((function(){N.current=new Date}),[]),G=t.useCallback((function(){var e,t,n;T({autoCapture:"Y",captureTime:(null!==(e=N.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=O.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=U.current)&&void 0!==n?n:new Date).getTime()}),U.current=new Date}),[T]),$=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return B("SUCCESS"),D(e),t=k,[4,Qe(e)];case 1:return t.apply(void 0,[n.sent()]),null==r||r(S),[2]}}))}))}),[r,k,S]),z=t.useCallback((function(){B("FAILED"),null==o||o(S)}),[o,S]),q=t.useState(0),V=q[0],W=q[1],H=t.useCallback((function(){W((function(e){return e+1})),B("LOADING")}),[]),K=t.useCallback((function(){G(),A(),setTimeout((function(){null==n||n(S)}),0)}),[G,n,A,S]),Y=Oi(h,"SUCCESS"===P,K);return l.default.createElement(l.default.Fragment,null,"LOADING"!==P&&function(){switch(P){case"CAPTURING":return l.default.createElement(ug,{key:"capture".concat(V),onCapture:j,onSuccess:$,onTimeout:z,onExit:H,timeoutDurationMs:s,colors:m,verbiage:w,debugMode:E});case"SUCCESS":return Y?l.default.createElement(dg,{key:"success",imageUrl:R,colors:m.success,verbiage:w.success,onDoneClick:K,onRetryClick:function(){G(),B("CAPTURING")}}):null;case"FAILED":return l.default.createElement(hg,{key:"failure",assets:p.failure,colors:m.failure,verbiage:w.failure,canRetry:c>-1&&F<c,onRetryClick:function(){G(),M((function(e){return e+1})),B("CAPTURING")},onExitClick:function(){A(),setTimeout((function(){null==i||i(S)}),0)}});default:return null}}(),l.default.createElement(cg,{key:V,assets:p.loadingOverlay,colors:m.loadingOverlay,verbiage:w.loadingOverlay,onDismissed:function(){B("CAPTURING")}}))},pg=function(e){var n=e.children,r=t.useState({width:1,height:1}),o=r[1],i=t.useState(1),a=i[0],s=i[1],u=Bt(),c=u.ref,d=u.width,h=void 0===d?1:d,f=u.height,p=void 0===f?1:f,g=h/p,m=t.useCallback((function(e){var t=e.target;s(t.naturalWidth/t.naturalHeight)}),[]);return l.default.createElement(Ot.Provider,{value:{orientation:"landscape",wrapperWidth:h,wrapperHeight:p,wrapperAspectRatio:g,imageAspectRatio:a,setDimensions:o,wrapperRef:c,onImageLoaded:m}},n)},gg=function(){var e=t.useContext(Ye),n=e.submissionRequest,r=e.submissionResponse,o=t.useState(!1),i=o[0],a=o[1],s=t.useState(!0),u=s[0],c=s[1],d=t.useMemo((function(){var e,t,r,o,i,a,s=JSON.parse(JSON.stringify(n));return u&&((null===(t=null===(e=null==s?void 0:s.customerData)||void 0===e?void 0:e.idData)||void 0===t?void 0:t.idImageFront)&&(s.customerData.idData.idImageFront=mg(s.customerData.idData.idImageFront,200)),(null===(o=null===(r=null==s?void 0:s.customerData)||void 0===r?void 0:r.idData)||void 0===o?void 0:o.idImageBack)&&(s.customerData.idData.idImageBack=mg(s.customerData.idData.idImageBack,200)),(null===(a=null===(i=null==s?void 0:s.customerData)||void 0===i?void 0:i.biometricData)||void 0===a?void 0:a.selfie)&&(s.customerData.biometricData.selfie=mg(s.customerData.biometricData.selfie,200))),JSON.stringify(s,null,2)}),[n,u]);return l.default.createElement(l.default.Fragment,null,l.default.createElement("h3",null,"Submission completed!"),l.default.createElement("button",{onClick:function(){a(!i)}},i?"Hide":"Show"," request body"),i&&l.default.createElement(l.default.Fragment,null,l.default.createElement("button",{style:{marginLeft:8},onClick:function(){c(!u)}},u?"Display full images":"Truncate images"),l.default.createElement("h5",null,"Request Body"),l.default.createElement("pre",null,d)),l.default.createElement("h5",null,"Response Body"),l.default.createElement("pre",null,JSON.stringify(r,null,2)))};function mg(e,t){var n=e.split("").splice(0,t).join("");return n.length<e.length&&(n+="..."),n}var vg=function(e){var n=e.document,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=t.useState(null),s=a[0],u=a[1],c=xi(i,{headingText:"Additional document capture",nextBtnText:"Next"});return l.default.createElement(ut,null,l.default.createElement(ct,{style:{textAlign:"left"}},l.default.createElement("h3",{style:{margin:"0 0 8px"}},c.headingText,": ",n.name),n.description&&l.default.createElement("p",{style:{margin:"8px 0"}},n.description),l.default.createElement("p",{style:{margin:"8px 0"}},l.default.createElement("input",{type:"file",accept:"image/*,.pdf",onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];n&&u(n)}})),l.default.createElement("p",{style:{margin:"8px 0"}},l.default.createElement("button",{disabled:!s,onClick:function(e){if(e.preventDefault(),s){var t=new FileReader;t.onloadend=function(){if(t.result){var e=t.result.toString();null==r||r({documentName:n.name,additionalDocument:{name:s.name,fileContent:et(e),type:tt(e),fileUploadType:"Y",isImageControlData:"N",fieldId:""}})}},t.readAsDataURL(s)}}},c.nextBtnText))))},bg=function(e){var n=e.documents,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=t.useState([]),s=a[0],u=a[1],c=s.length,d=n[c],h=c>=n.length;return t.useEffect((function(){(null==d?void 0:d.skip)&&v(void 0,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,null===(e=d.skip)||void 0===e?void 0:e.call(d)];case 1:return t.sent()&&u((function(e){return y(y([],e,!0),[null],!1)})),[2]}}))}))}),[d]),t.useEffect((function(){h&&(null==r||r(s.filter((function(e){return!!e}))))}),[h,r,s]),h?l.default.createElement(l.default.Fragment,null,"Thanks, your documents have been received."):l.default.createElement(vg,{key:c,document:d,verbiage:i,onComplete:function(e){u((function(t){return y(y([],t,!0),[e],!1)}))}})},yg="function"==typeof Symbol&&Symbol.for,wg=yg?Symbol.for("react.element"):60103,xg=yg?Symbol.for("react.portal"):60106,Eg=yg?Symbol.for("react.fragment"):60107,Cg=yg?Symbol.for("react.strict_mode"):60108,Sg=yg?Symbol.for("react.profiler"):60114,kg=yg?Symbol.for("react.provider"):60109,Tg=yg?Symbol.for("react.context"):60110,Ag=yg?Symbol.for("react.async_mode"):60111,Ig=yg?Symbol.for("react.concurrent_mode"):60111,Rg=yg?Symbol.for("react.forward_ref"):60112,Dg=yg?Symbol.for("react.suspense"):60113,_g=yg?Symbol.for("react.suspense_list"):60120,Fg=yg?Symbol.for("react.memo"):60115,Mg=yg?Symbol.for("react.lazy"):60116,Lg=yg?Symbol.for("react.block"):60121,Pg=yg?Symbol.for("react.fundamental"):60117,Bg=yg?Symbol.for("react.responder"):60118,Og=yg?Symbol.for("react.scope"):60119;function Ng(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case wg:switch(e=e.type){case Ag:case Ig:case Eg:case Sg:case Cg:case Dg:return e;default:switch(e=e&&e.$$typeof){case Tg:case Rg:case Mg:case Fg:case kg:return e;default:return t}}case xg:return t}}}function Ug(e){return Ng(e)===Ig}var jg={AsyncMode:Ag,ConcurrentMode:Ig,ContextConsumer:Tg,ContextProvider:kg,Element:wg,ForwardRef:Rg,Fragment:Eg,Lazy:Mg,Memo:Fg,Portal:xg,Profiler:Sg,StrictMode:Cg,Suspense:Dg,isAsyncMode:function(e){return Ug(e)||Ng(e)===Ag},isConcurrentMode:Ug,isContextConsumer:function(e){return Ng(e)===Tg},isContextProvider:function(e){return Ng(e)===kg},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===wg},isForwardRef:function(e){return Ng(e)===Rg},isFragment:function(e){return Ng(e)===Eg},isLazy:function(e){return Ng(e)===Mg},isMemo:function(e){return Ng(e)===Fg},isPortal:function(e){return Ng(e)===xg},isProfiler:function(e){return Ng(e)===Sg},isStrictMode:function(e){return Ng(e)===Cg},isSuspense:function(e){return Ng(e)===Dg},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Eg||e===Ig||e===Sg||e===Cg||e===Dg||e===_g||"object"==typeof e&&null!==e&&(e.$$typeof===Mg||e.$$typeof===Fg||e.$$typeof===kg||e.$$typeof===Tg||e.$$typeof===Rg||e.$$typeof===Pg||e.$$typeof===Bg||e.$$typeof===Og||e.$$typeof===Lg)},typeOf:Ng};ae((function(e,t){}));ae((function(e){e.exports=jg}));function Gg(){}function $g(){}$g.resetWarningCache=Gg;var zg=ae((function(e){e.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:$g,resetWarningCache:Gg};return n.PropTypes=n,n}()}));function qg(e,t,n){this.x=e,this.y=t,this.time=n||(new Date).getTime()}function Vg(e,t,n,r){this.startPoint=e,this.control1=t,this.control2=n,this.endPoint=r}function Wg(e,t){var n=this,r=t||{};this.velocityFilterWeight=r.velocityFilterWeight||.7,this.minWidth=r.minWidth||.5,this.maxWidth=r.maxWidth||2.5,this.throttle="throttle"in r?r.throttle:16,this.minDistance="minDistance"in r?r.minDistance:5,this._strokeMoveUpdate=this.throttle?function(e,t,n){var r,o,i,a=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Date.now(),a=null,i=e.apply(r,o),a||(r=o=null)};return function(){var u=Date.now();s||!1!==n.leading||(s=u);var c=t-(u-s);return r=this,o=arguments,c<=0||c>t?(a&&(clearTimeout(a),a=null),s=u,i=e.apply(r,o),a||(r=o=null)):a||!1===n.trailing||(a=setTimeout(l,c)),i}}(Wg.prototype._strokeUpdate,this.throttle):Wg.prototype._strokeUpdate,this.dotSize=r.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=r.penColor||"black",this.backgroundColor=r.backgroundColor||"rgba(0,0,0,0)",this.onBegin=r.onBegin,this.onEnd=r.onEnd,this._canvas=e,this._ctx=e.getContext("2d"),this.clear(),this._handleMouseDown=function(e){1===e.which&&(n._mouseButtonDown=!0,n._strokeBegin(e))},this._handleMouseMove=function(e){n._mouseButtonDown&&n._strokeMoveUpdate(e)},this._handleMouseUp=function(e){1===e.which&&n._mouseButtonDown&&(n._mouseButtonDown=!1,n._strokeEnd(e))},this._handleTouchStart=function(e){1===e.targetTouches.length&&n._strokeBegin(e.changedTouches[0])},this._handleTouchMove=function(e){e.preventDefault(),n._strokeMoveUpdate(e.targetTouches[0])},this._handleTouchEnd=function(e){e.target===n._canvas&&(e.preventDefault(),n._strokeEnd(e))},this.on()}qg.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1},qg.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},qg.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time},Vg.prototype.length=function(){for(var e=0,t=void 0,n=void 0,r=0;r<=10;r+=1){var o=r/10,i=this._point(o,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),a=this._point(o,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(r>0){var s=i-t,l=a-n;e+=Math.sqrt(s*s+l*l)}t=i,n=a}return e},Vg.prototype._point=function(e,t,n,r,o){return t*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*r*(1-e)*e*e+o*e*e*e},Wg.prototype.clear=function(){var e=this._ctx,t=this._canvas;e.fillStyle=this.backgroundColor,e.clearRect(0,0,t.width,t.height),e.fillRect(0,0,t.width,t.height),this._data=[],this._reset(),this._isEmpty=!0},Wg.prototype.fromDataURL=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new Image,o=n.ratio||window.devicePixelRatio||1,i=n.width||this._canvas.width/o,a=n.height||this._canvas.height/o;this._reset(),r.src=e,r.onload=function(){t._ctx.drawImage(r,0,0,i,a)},this._isEmpty=!1},Wg.prototype.toDataURL=function(e){var t;if("image/svg+xml"===e)return this._toSVG();for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(t=this._canvas).toDataURL.apply(t,[e].concat(r))},Wg.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},Wg.prototype.off=function(){this._canvas.removeEventListener("mousedown",this._handleMouseDown),this._canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this._canvas.removeEventListener("touchstart",this._handleTouchStart),this._canvas.removeEventListener("touchmove",this._handleTouchMove),this._canvas.removeEventListener("touchend",this._handleTouchEnd)},Wg.prototype.isEmpty=function(){return this._isEmpty},Wg.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),"function"==typeof this.onBegin&&this.onBegin(e)},Wg.prototype._strokeUpdate=function(e){var t=this._createPoint(e.clientX,e.clientY),n=this._data[this._data.length-1],r=n&&n[n.length-1],o=r&&t.distanceTo(r)<this.minDistance;if(!r||!o){var i=this._addPoint(t),a=i.curve,s=i.widths;a&&s&&this._drawCurve(a,s.start,s.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}},Wg.prototype._strokeEnd=function(e){var t=this.points[0];if(!(this.points.length>2)&&t&&this._drawDot(t),t){var n=this._data[this._data.length-1];t.equals(n[n.length-1])||n.push({x:t.x,y:t.y,time:t.time,color:this.penColor})}"function"==typeof this.onEnd&&this.onEnd(e)},Wg.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)},Wg.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction="none",this._canvas.style.touchAction="none",this._canvas.addEventListener("touchstart",this._handleTouchStart),this._canvas.addEventListener("touchmove",this._handleTouchMove),this._canvas.addEventListener("touchend",this._handleTouchEnd)},Wg.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor},Wg.prototype._createPoint=function(e,t,n){var r=this._canvas.getBoundingClientRect();return new qg(e-r.left,t-r.top,n||(new Date).getTime())},Wg.prototype._addPoint=function(e){var t=this.points,n=void 0;if(t.push(e),t.length>2){3===t.length&&t.unshift(t[0]);var r=(n=this._calculateCurveControlPoints(t[0],t[1],t[2])).c2;n=this._calculateCurveControlPoints(t[1],t[2],t[3]);var o=new Vg(t[1],r,n.c1,t[2]),i=this._calculateCurveWidths(o);return t.shift(),{curve:o,widths:i}}return{}},Wg.prototype._calculateCurveControlPoints=function(e,t,n){var r=e.x-t.x,o=e.y-t.y,i=t.x-n.x,a=t.y-n.y,s=(e.x+t.x)/2,l=(e.y+t.y)/2,u=(t.x+n.x)/2,c=(t.y+n.y)/2,d=Math.sqrt(r*r+o*o),h=Math.sqrt(i*i+a*a),f=h/(d+h),p=t.x-(u+(s-u)*f),g=t.y-(c+(l-c)*f);return{c1:new qg(s+p,l+g),c2:new qg(u+p,c+g)}},Wg.prototype._calculateCurveWidths=function(e){var t={start:null,end:null},n=this.velocityFilterWeight*e.endPoint.velocityFrom(e.startPoint)+(1-this.velocityFilterWeight)*this._lastVelocity,r=this._strokeWidth(n);return t.start=this._lastWidth,t.end=r,this._lastVelocity=n,this._lastWidth=r,t},Wg.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)},Wg.prototype._drawPoint=function(e,t,n){var r=this._ctx;r.moveTo(e,t),r.arc(e,t,n,0,2*Math.PI,!1),this._isEmpty=!1},Wg.prototype._drawCurve=function(e,t,n){var r=this._ctx,o=n-t,i=Math.floor(e.length());r.beginPath();for(var a=0;a<i;a+=1){var s=a/i,l=s*s,u=l*s,c=1-s,d=c*c,h=d*c,f=h*e.startPoint.x;f+=3*d*s*e.control1.x,f+=3*c*l*e.control2.x;var p=h*e.startPoint.y;p+=3*d*s*e.control1.y,p+=3*c*l*e.control2.y,this._drawPoint(f+=u*e.endPoint.x,p+=u*e.endPoint.y,t+u*o)}r.closePath(),r.fill()},Wg.prototype._drawDot=function(e){var t=this._ctx,n="function"==typeof this.dotSize?this.dotSize():this.dotSize;t.beginPath(),this._drawPoint(e.x,e.y,n),t.closePath(),t.fill()},Wg.prototype._fromData=function(e,t,n){for(var r=0;r<e.length;r+=1){var o=e[r];if(o.length>1)for(var i=0;i<o.length;i+=1){var a=o[i],s=new qg(a.x,a.y,a.time),l=a.color;if(0===i)this.penColor=l,this._reset(),this._addPoint(s);else if(i!==o.length-1){var u=this._addPoint(s),c=u.curve,d=u.widths;c&&d&&t(c,d,l)}}else this._reset(),n(o[0])}},Wg.prototype._toSVG=function(){var e=this,t=this._data,n=this._canvas,r=Math.max(window.devicePixelRatio||1,1),o=n.width/r,i=n.height/r,a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributeNS(null,"width",n.width),a.setAttributeNS(null,"height",n.height),this._fromData(t,(function(e,t,n){var r=document.createElement("path");if(!(isNaN(e.control1.x)||isNaN(e.control1.y)||isNaN(e.control2.x)||isNaN(e.control2.y))){var o="M "+e.startPoint.x.toFixed(3)+","+e.startPoint.y.toFixed(3)+" C "+e.control1.x.toFixed(3)+","+e.control1.y.toFixed(3)+" "+e.control2.x.toFixed(3)+","+e.control2.y.toFixed(3)+" "+e.endPoint.x.toFixed(3)+","+e.endPoint.y.toFixed(3);r.setAttribute("d",o),r.setAttribute("stroke-width",(2.25*t.end).toFixed(3)),r.setAttribute("stroke",n),r.setAttribute("fill","none"),r.setAttribute("stroke-linecap","round"),a.appendChild(r)}}),(function(t){var n=document.createElement("circle"),r="function"==typeof e.dotSize?e.dotSize():e.dotSize;n.setAttribute("r",r),n.setAttribute("cx",t.x),n.setAttribute("cy",t.y),n.setAttribute("fill",t.color),a.appendChild(n)}));var s='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+o+" "+i+'" width="'+o+'" height="'+i+'">',l=a.innerHTML;if(void 0===l){var u=document.createElement("dummy"),c=a.childNodes;u.innerHTML="";for(var d=0;d<c.length;d+=1)u.appendChild(c[d].cloneNode(!0));l=u.innerHTML}return"data:image/svg+xml;base64,"+btoa(s+l+"</svg>")},Wg.prototype.fromData=function(e){var t=this;this.clear(),this._fromData(e,(function(e,n){return t._drawCurve(e,n.start,n.end)}),(function(e){return t._drawDot(e)})),this._data=e},Wg.prototype.toData=function(){return this._data};var Hg=Object.freeze({__proto__:null,default:Wg}),Kg=ae((function(e,t){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t){function n(e){var t=e.getContext("2d"),n=e.width,r=e.height,o=t.getImageData(0,0,n,r).data,s=i(!0,n,r,o),l=i(!1,n,r,o),u=a(!0,n,r,o),c=a(!1,n,r,o)-u+1,d=l-s+1,h=t.getImageData(u,s,c,d);return e.width=c,e.height=d,t.clearRect(0,0,c,d),t.putImageData(h,0,0),e}function r(e,t,n,r){return{red:r[4*(n*t+e)],green:r[4*(n*t+e)+1],blue:r[4*(n*t+e)+2],alpha:r[4*(n*t+e)+3]}}function o(e,t,n,o){return r(e,t,n,o).alpha}function i(e,t,n,r){for(var i=e?1:-1,a=e?0:n-1;e?a<n:a>-1;a+=i)for(var s=0;s<t;s++)if(o(s,a,t,r))return a;return null}function a(e,t,n,r){for(var i=e?1:-1,a=e?0:t-1;e?a<t:a>-1;a+=i)for(var s=0;s<n;s++)if(o(a,s,t,r))return a;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}])}));ie(Kg);var Yg=function(e){return e&&e.default||e}(Hg),Xg=ae((function(e,t){e.exports=function(e,t,n,r){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=r(n(1)),d=n(2),h=r(d),f=r(n(3)),p=r(n(4)),g=function(e){function t(){var e,n,r;i(this,t);for(var s=arguments.length,l=Array(s),u=0;u<s;u++)l[u]=arguments[u];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),r._sigPad=null,r._excludeOurProps=function(){var e=r.props;return o(e,["canvasProps","clearOnResize"])},r.getCanvas=function(){return r._canvas},r.getTrimmedCanvas=function(){var e=document.createElement("canvas");return e.width=r._canvas.width,e.height=r._canvas.height,e.getContext("2d").drawImage(r._canvas,0,0),(0,p.default)(e)},r.getSignaturePad=function(){return r._sigPad},r._checkClearOnResize=function(){r.props.clearOnResize&&r._resizeCanvas()},r._resizeCanvas=function(){var e=r.props.canvasProps||{},t=e.width,n=e.height;if(!t||!n){var o=r._canvas,i=Math.max(window.devicePixelRatio||1,1);t||(o.width=o.offsetWidth*i),n||(o.height=o.offsetHeight*i),o.getContext("2d").scale(i,i),r.clear()}},r.on=function(){return window.addEventListener("resize",r._checkClearOnResize),r._sigPad.on()},r.off=function(){return window.removeEventListener("resize",r._checkClearOnResize),r._sigPad.off()},r.clear=function(){return r._sigPad.clear()},r.isEmpty=function(){return r._sigPad.isEmpty()},r.fromDataURL=function(e,t){return r._sigPad.fromDataURL(e,t)},r.toDataURL=function(e,t){return r._sigPad.toDataURL(e,t)},r.fromData=function(e){return r._sigPad.fromData(e)},r.toData=function(){return r._sigPad.toData()},a(r,n)}return s(t,e),u(t,[{key:"componentDidMount",value:function(){this._sigPad=new f.default(this._canvas,this._excludeOurProps()),this._resizeCanvas(),this.on()}},{key:"componentWillUnmount",value:function(){this.off()}},{key:"componentDidUpdate",value:function(){Object.assign(this._sigPad,this._excludeOurProps())}},{key:"render",value:function(){var e=this;return h.default.createElement("canvas",l({ref:function(t){e._canvas=t}},this.props.canvasProps))}}]),t}(d.Component);g.propTypes={velocityFilterWeight:c.default.number,minWidth:c.default.number,maxWidth:c.default.number,minDistance:c.default.number,dotSize:c.default.oneOfType([c.default.number,c.default.func]),penColor:c.default.string,throttle:c.default.number,onEnd:c.default.func,onBegin:c.default.func,canvasProps:c.default.object,clearOnResize:c.default.bool},g.defaultProps={clearOnResize:!0},t.default=g},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=r}])}(zg,l.default,Yg,Kg)})),Jg=ie(Xg);function Zg(e){var t,n=null!==(t=e.toDataURL())&&void 0!==t?t:null,r={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:n?et(n):""};return e.toData().forEach((function(e){var t=[],n=[],o=[];e.forEach((function(e){t.push(e.x),n.push(e.y),o.push(new Date(e.time).toString())})),r.clickX_simple.push(t),r.clickY_simple.push(n),r.time_simple.push(o)})),r}var Qg,em,tm,nm,rm,om=h.default.div(Qg||(Qg=w(["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"],["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"]))),im=h.default.div(em||(em=w(["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"],["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"]))),am=h.default.div(tm||(tm=w(["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"],["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"]))),sm=h.default.div(nm||(nm=w(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"],["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"]))),lm=function(e){var n=e.onAccept,r=e.verbiage,o=void 0===r?{}:r,i=Bt(),a=i.ref,s=i.width,u=i.height,c=t.useRef(null),d=xi(o,{headingText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"});return l.default.createElement(ot,null,l.default.createElement(sm,null,l.default.createElement(ki,{$top:"5vh"},l.default.createElement(Ti,null,d.headingText)),l.default.createElement(om,null,l.default.createElement(im,{ref:a},l.default.createElement(Jg,{ref:c,canvasProps:{width:s,height:u}})),l.default.createElement(am,null,l.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=c.current)||void 0===t||t.clear()}},d.clearBtnText),l.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){if(e.preventDefault(),c.current){var t=Zg(c.current);null==n||n(t,c.current.toDataURL())}}},d.acceptBtnText)))))},um=function(e){var n,r,o=e.onVideoCaptured,i=e.onFaceNotDetected,a=e.onExit,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=e.debugMode,f=void 0!==h&&h,p=t.useContext(tn),g=p.cameraRef,m=p.videoRef,w=Bt(),x=w.ref,E=w.width,C=w.height,S=t.useRef(null),k=t.useRef(null),T=t.useRef([]),A=t.useState(null),I=A[0],R=A[1],D=t.useContext(eg).onPredictionMade,_=function(e){var n=t.useRef(null),r=t.useRef([]),o=t.useState(null),i=o[0],a=o[1],s=t.useState(!1),l=s[0],u=s[1],c=null==e?void 0:e.stream,d=t.useCallback((function(){c&&(r.current=[],u(!0),n.current=new MediaRecorder(c),n.current.ondataavailable=function(e){r.current.push(e.data)},n.current.onstop=function(){var t=new Blob(r.current,{type:"video/mp4"});r.current=[],a(URL.createObjectURL(t)),u(!1),null==e||e.release()},n.current.start())}),[e,c]),h=t.useCallback((function(){var e;null===(e=n.current)||void 0===e||e.stop()}),[]);return{isRecording:l,startRecording:d,stopRecording:h,videoUrl:i}}(g.current),F=_.isRecording,M=_.startRecording,L=_.stopRecording,P=_.videoUrl,B=t.useState(null),O=B[0],N=B[1],U=t.useState(null),j=U[0],G=U[1],$=t.useState(null),z=$[0],q=$[1];u.guidanceMessageBackgroundColor||(u.guidanceMessageBackgroundColor="#ccc"),u.guidanceMessageTextColor||(u.guidanceMessageTextColor="black");var V=xi(d,{guidanceMessageText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"}),W=t.useRef(null);t.useEffect((function(){setTimeout((function(){if(!F&&!P&&W.current){M();var e=W.current.captureStream(25);k.current=new MediaRecorder(e,{}),k.current.start(),k.current.ondataavailable=function(e){var t;T.current.push(e.data),"recording"===(null===(t=k.current)||void 0===t?void 0:t.state)&&k.current.stop()},k.current.onstop=function(){var e=new Blob(T.current,{type:"video/mp4"});q(e);var t=URL.createObjectURL(e);R(t)}}}),100)}),[F,M,P]),t.useEffect((function(){z&&O&&j&&(null==o||o(z,O,j))}),[o,O,j,z]);var H=t.useRef(0);t.useEffect((function(){var e;if(S.current&&m.current&&W.current&&g.current&&F){var t=[g.current.width,g.current.height],n=t[0],r=t[1],o=window.innerWidth<window.innerHeight;o&&n>r&&(n=(e=[r,n])[0],r=e[1]),W.current.width=n,W.current.height=r;var i=W.current.getContext("2d");if(i)return H.current=requestAnimationFrame((function e(){return v(this,void 0,void 0,(function(){var t;return b(this,(function(a){return S.current&&m.current&&W.current?(t=[n*(o?.02:.15),r*(o?.15:.25),n*(o?.96:.7),r*(o?.7:.5)],i.drawImage(m.current,0,0,n,r),i.beginPath(),i.fillStyle="rgba(255,255,255,0.5)",i.roundRect.apply(i,y(y([],t,!1),[16],!1)),i.fill(),i.drawImage.apply(i,y([S.current.getCanvas()],t,!1)),H.current=requestAnimationFrame(e),[2]):(cancelAnimationFrame(H.current),[2])}))}))})),function(){cancelAnimationFrame(H.current)}}}),[g,F,i,m]);var K=t.useState(0),Y=K[0],X=K[1];return t.useEffect((function(){D((function(e){X((function(t){return 0===e.length?t+1:0}))}))}),[D]),t.useEffect((function(){Y>=2&&(null==i||i())}),[Y,i]),!F&&P?l.default.createElement(l.default.Fragment,null,I&&l.default.createElement("video",{src:I,controls:!0,width:"100%"}),j&&l.default.createElement("img",{src:j,alt:"signature"}),O&&l.default.createElement("textarea",{readOnly:!0,style:{width:"100%",height:500},value:JSON.stringify(O,null,2)})):l.default.createElement(ot,{className:"flex"},l.default.createElement(Pi,null),V.guidanceMessageText&&l.default.createElement(ki,{$top:"5vh"},l.default.createElement(Ti,{$background:u.guidanceMessageBackgroundColor,$textColor:u.guidanceMessageTextColor},V.guidanceMessageText)),l.default.createElement(om,null,l.default.createElement(im,{ref:x},l.default.createElement(Jg,{ref:S,canvasProps:{width:E,height:C}})),l.default.createElement(am,null,l.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=S.current)||void 0===t||t.clear()}},V.clearBtnText),l.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){var t;if(e.preventDefault(),S.current){var n=Zg(S.current);N(n),G(S.current.toDataURL()),L(),null===(t=k.current)||void 0===t||t.stop()}}},V.acceptBtnText))),f&&l.default.createElement(Zo,null,"Video: ",null===(n=g.current)||void 0===n?void 0:n.width,"x",null===(r=g.current)||void 0===r?void 0:r.height),l.default.createElement(di,{onClick:a},"×"),l.default.createElement("div",{style:{display:"none"}},l.default.createElement("canvas",{ref:W})))},cm=function(e){var t=e.assets,n=e.verbiage;return l.default.createElement(cg,{assets:void 0===t?{}:t,verbiage:void 0===n?{}:n,onDismissed:e.onDismissed})},dm=function(e){var t,n,r=e.videoUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=xi(c,{headingText:"Video signature has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h1",null,d.headingText),l.default.createElement(dt,null,l.default.createElement(hm,{src:r,poster:r+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0})),l.default.createElement("div",null,l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},hm=h.default.video(rm||(rm=w(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),fm=function(e){var n=e.onComplete,r=e.onVideoCaptured,o=e.onRetryClicked,i=e.skipSuccessScreen,a=void 0!==i&&i,s=e.assets,u=void 0===s?{}:s,c=e.colors,d=void 0===c?{}:c,h=e.verbiage,f=void 0===h?{}:h,p=e.debugMode,g=void 0!==p&&p,m=t.useContext(Ye),y=m.selfieImage,w=m.signatureVideo,x=m.setSelfieImage,E=m.setSignatureData,C=m.setSignatureVideo,S=m.logSelfieCaptureAttempt,k=t.useState("LOADING"),T=k[0],A=k[1],I=t.useRef(),R=t.useRef(),D=t.useRef();t.useEffect((function(){I.current=new Date}),[]),t.useEffect((function(){"CHECKING_LIVENESS"===T&&(R.current=new Date)}),[T]);var _=t.useCallback((function(){var e,t,n;S({autoCapture:"Y",captureTime:(null!==(e=D.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=R.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=I.current)&&void 0!==n?n:new Date).getTime()}),I.current=new Date}),[S]),F=t.useCallback((function(){A("CHECKING_LIVENESS")}),[]),M=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return A("CAPTURING_SIGNATURE"),_(),y?[3,2]:(t=x,[4,Qe(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[_,y,x]),L=t.useCallback((function(e,t,n){E(t),C(URL.createObjectURL(e)),A("SUCCESS"),null==r||r(e,t,n)}),[r,E,C]),P=t.useCallback((function(){A("CHECKING_LIVENESS")}),[]),B=t.useState(0),O=B[0],N=B[1],U=t.useCallback((function(){N((function(e){return e+1})),A("LOADING")}),[]),j=t.useCallback((function(){null==o||o(),U()}),[U,o]),G=Oi(a,"SUCCESS"===T,n);return l.default.createElement(tg,{throttleMs:"CAPTURING_SIGNATURE"===T?250:0},"LOADING"!==T&&function(){switch(T){case"CHECKING_LIVENESS":return l.default.createElement(ug,{onSuccess:M,onExit:U,colors:d.faceLiveness,verbiage:f.faceLiveness,debugMode:g});case"CAPTURING_SIGNATURE":return l.default.createElement(um,{onVideoCaptured:L,onFaceNotDetected:P,onExit:U,colors:d,verbiage:f,debugMode:g});case"SUCCESS":if(!G)return;return l.default.createElement(dm,{videoUrl:null!=w?w:"",onDoneClick:n,onRetryClick:j,colors:d.success,verbiage:f.success});default:return null}}(),l.default.createElement(cm,{key:O,onDismissed:F,assets:u.loadingOverlay,verbiage:f.loadingOverlay}))},pm=function(e){var n,r,o,i,a,s=e.checks,u=e.idCaptureProps,c=void 0===u?{}:u,d=e.faceLivenessProps,h=void 0===d?{}:d,f=e.signatureCaptureProps,p=void 0===f?{}:f,g=e.videoSignatureCaptureProps,v=void 0===g?{}:g,b=e.additionalDocumentCaptureProps,w=e.captureSignature,x=void 0!==w&&w,E=e.captureSignatureVideo,C=void 0!==E&&E,S=e.debugMode,k=void 0!==S&&S,T=t.useContext(Ye),A=T.submit,I=T.submissionStatus,R=T.setSignatureData,D=T.setAdditionalDocuments,_=t.useState(0),F=_[0],M=_[1],L=t.useMemo((function(){var e,t,n=y([],s,!0);if(x&&C)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return x&&n.push("SignatureCapture"),C&&(n.push("VideoSignatureCapture"),n.includes("FaceLiveness")&&n.splice(n.indexOf("FaceLiveness"),1)),null!==(t=null===(e=null==b?void 0:b.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&n.push("AdditionalDocumentCapture"),n}),[null===(n=null==b?void 0:b.documents)||void 0===n?void 0:n.length,x,C,s]),P=L[F],B=F>=L.length;t.useEffect((function(){"SignatureCapture"===P&&"function"==typeof x?x().then((function(e){e||M((function(e){return e+1}))})):"VideoSignatureCapture"===P&&"function"==typeof C&&C().then((function(e){e||M((function(e){return e+1}))}))}),[x,C,P]),t.useEffect((function(){B&&A()}),[B,A]);var O=c.onSuccess,N=t.useCallback((function(e){null==O||O(e),M((function(e){return e+1}))}),[O]),U=h.onComplete,j=t.useCallback((function(e){null==U||U(e),M((function(e){return e+1}))}),[U]),G=t.useCallback((function(e){R(e),M((function(e){return e+1}))}),[R]),$=v.onComplete,z=t.useCallback((function(){null==$||$(),M((function(e){return e+1}))}),[$]),q=t.useState(0),V=q[0],W=q[1],H=v.onRetryClicked,K=t.useCallback((function(){null==H||H(),W((function(e){return e+1}))}),[H]),Y=null==b?void 0:b.onComplete,X=t.useCallback((function(e){D(e),null==Y||Y(e),M((function(e){return e+1}))}),[Y,D]),J=t.useMemo((function(){var e;return null!==(e=null==b?void 0:b.documents)&&void 0!==e?e:[]}),[null==b?void 0:b.documents]);if(B)switch(I){case Ve.SUBMITTING:return l.default.createElement(ot,{className:"flex"},l.default.createElement(hi,null));case Ve.SUBMITTED:return l.default.createElement(gg,null);case Ve.FAILED:return l.default.createElement(l.default.Fragment,null,"Submission failed!");default:return l.default.createElement(l.default.Fragment,null,"Complete!!")}switch(L[F]){case"IdCapture":return l.default.createElement(qo,{documentDetectionModelUrl:null!==(o=null===(r=c.assets)||void 0===r?void 0:r.documentDetectionModelUrl)&&void 0!==o?o:"",focusModelUrl:null!==(a=null===(i=c.assets)||void 0===i?void 0:i.focusModelUrl)&&void 0!==a?a:"",logPredictions:k},l.default.createElement(nn,{key:"IdCaptureCamera"},l.default.createElement(pg,null,l.default.createElement($i,m({},c,{onSuccess:N})))));case"FaceLiveness":return l.default.createElement(nn,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},l.default.createElement(tg,null,l.default.createElement(fg,m({},h,{onComplete:j}))));case"SignatureCapture":return l.default.createElement(lm,m({},p,{onAccept:G}));case"VideoSignatureCapture":return l.default.createElement(nn,{key:"SignatureKycCamera-".concat(V),preferContinuityCamera:!1,preferFrontFacingCamera:!0},l.default.createElement(fm,m({},v,{onComplete:z,onRetryClicked:K})));case"AdditionalDocumentCapture":return l.default.createElement(bg,m({},b,{documents:J,onComplete:X}));default:return l.default.createElement(l.default.Fragment,null)}},gm=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.manualReviewRequired,c=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.passportAutoCaptureScoreThreshold,x=void 0===w?.75:w,E=e.idCardFocusScoreThreshold,C=void 0===E?.3:E,S=e.passportFocusScoreThreshold,k=void 0===S?.3:S,T=e.skipSuccessScreen,A=void 0!==T&&T,I=e.onBeforeSubmit,R=e.onComplete,D=e.onApproved,_=e.onDenied,F=e.assets,M=void 0===F?{}:F,L=e.colors,P=void 0===L?{}:L,B=e.verbiage,O=void 0===B?{}:B,N=e.captureSignature,U=void 0!==N&&N,j=e.captureSignatureVideo,G=void 0!==j&&j,$=e.captureAdditionalDocuments,z=void 0===$?[]:$,q=e.geolocationEnabled,V=void 0===q||q,W=e.geolocationRequired,H=void 0!==W&&W,K=e.debugMode,Y=void 0!==K&&K;yi(void 0===n?"auto":n);var X=t.useMemo((function(){return{autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:x,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:C,passportFocusScoreThreshold:k,barcodeScanningEnabled:!1,skipSuccessScreen:A,assets:M,colors:P,verbiage:O,debugMode:Y}}),[M,P,Y,v,y,C,x,k,A,O]),J=t.useMemo((function(){return{documents:z,verbiage:null==O?void 0:O.additionalDocumentCapture}}),[z,null==O?void 0:O.additionalDocumentCapture]),Z=t.useMemo((function(){return{verbiage:null==O?void 0:O.signatureCapture}}),[null==O?void 0:O.signatureCapture]),Q=t.useMemo((function(){return{skipSuccessScreen:A,colors:null==P?void 0:P.videoSignatureCapture,verbiage:null==O?void 0:O.videoSignatureCapture,debugMode:Y}}),[null==P?void 0:P.videoSignatureCapture,Y,A,null==O?void 0:O.videoSignatureCapture]),ee=t.useCallback((function(e){null==R||R(e),"Approved"===e.resultData.verificationResult?null==D||D(e):null==_||_(e)}),[D,R,_]);return l.default.createElement(Ft,{action:qe.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:u,verifyIdWithExternalDatabases:c,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:I,onResponseReceived:ee,geolocationEnabled:V,geolocationRequired:H},l.default.createElement(pm,{checks:t.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:X,signatureCaptureProps:Z,videoSignatureCaptureProps:Q,additionalDocumentCaptureProps:J,captureSignature:U,captureSignatureVideo:G,debugMode:Y}))},mm=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.webhooksEnabled,c=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.onBeforeSubmit,v=e.onComplete,b=e.onApproved,y=e.onDenied,w=e.onExitAfterFailure,x=e.assets,E=e.colors,C=e.verbiage,S=e.geolocationEnabled,k=void 0===S||S,T=e.geolocationRequired,A=void 0!==T&&T,I=e.debugMode,R=void 0!==I&&I;yi(void 0===n?"auto":n);var D=t.useMemo((function(){return{timeoutDurationMs:f,skipSuccessScreen:g,onComplete:v,onSuccess:b,onTimeout:y,onExitAfterFailure:w,assets:x,colors:E,verbiage:C,debugMode:R}}),[x,E,R,b,v,y,w,g,f,C]);return l.default.createElement(Ft,{action:qe.NONE,environment:i,url:a,token:r,companyId:s,webhooksEnabled:u,webhooksClientTraceId:c,webhooksStripSpecialCharacters:d,onBeforeSubmit:m,geolocationEnabled:k,geolocationRequired:A},l.default.createElement(pm,{checks:t.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:D,debugMode:R}))},vm=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.manualReviewRequired,c=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.mrzDetectionScoreThreshold,x=void 0===w?.5:w,E=e.passportAutoCaptureScoreThreshold,C=void 0===E?.75:E,S=e.idCardFocusScoreThreshold,k=void 0===S?.3:S,T=e.passportFocusScoreThreshold,A=void 0===T?.3:T,I=e.faceLivenessTimeoutDurationMs,R=void 0===I?15e3:I,D=e.skipSuccessScreen,_=void 0!==D&&D,F=e.onBeforeSubmit,M=e.onComplete,L=e.onApproved,P=e.onDenied,B=e.onExitAfterFailure,O=e.captureSignature,N=void 0!==O&&O,U=e.captureSignatureVideo,j=void 0!==U&&U,G=e.captureAdditionalDocuments,$=void 0===G?[]:G,z=e.assets,q=void 0===z?{}:z,V=e.colors,W=void 0===V?{}:V,H=e.verbiage,K=void 0===H?{}:H,Y=e.geolocationEnabled,X=void 0===Y||Y,J=e.geolocationRequired,Z=void 0!==J&&J,Q=e.debugMode,ee=void 0!==Q&&Q;yi(void 0===n?"auto":n);var te=t.useMemo((function(){return{assets:q.idCapture,colors:W.idCapture,verbiage:K.idCapture,autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:C,mrzDetectionScoreThreshold:x,idCardFocusScoreThreshold:k,passportFocusScoreThreshold:A,skipSuccessScreen:_,debugMode:ee}}),[q.idCapture,W.idCapture,ee,v,y,k,x,C,A,_,K.idCapture]),ne=t.useMemo((function(){return{timeoutDurationMs:R,onTimeout:P,onExitAfterFailure:B,skipSuccessScreen:_,assets:q.faceLiveness,colors:W.faceLiveness,verbiage:K.faceLiveness,debugMode:ee}}),[q.faceLiveness,W.faceLiveness,ee,R,P,B,_,K.faceLiveness]),re=t.useMemo((function(){return{verbiage:K.signatureCapture}}),[null==K?void 0:K.signatureCapture]),oe=t.useMemo((function(){return{skipSuccessScreen:_,colors:null==W?void 0:W.videoSignatureCapture,verbiage:null==K?void 0:K.videoSignatureCapture,debugMode:ee}}),[null==W?void 0:W.videoSignatureCapture,ee,_,null==K?void 0:K.videoSignatureCapture]),ie=t.useMemo((function(){return{documents:$,verbiage:null==K?void 0:K.additionalDocumentCapture}}),[$,null==K?void 0:K.additionalDocumentCapture]),ae=t.useCallback((function(e){null==M||M(e),"Approved"===e.resultData.verificationResult?null==L||L(e):null==P||P(e)}),[L,M,P]);return l.default.createElement(Ft,{action:qe.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:u,verifyIdWithExternalDatabases:c,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:F,onResponseReceived:ae,geolocationEnabled:X,geolocationRequired:Z},l.default.createElement(pm,{checks:t.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:te,faceLivenessProps:ne,signatureCaptureProps:re,videoSignatureCaptureProps:oe,additionalDocumentCaptureProps:ie,captureSignature:N,captureSignatureVideo:j,debugMode:ee}))},bm=function(e){var n=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,u=e.companyId,c=e.manualReviewRequired,d=e.verifyIdWithExternalDatabases,h=e.personalData,f=e.cardData,p=e.deduplicationEnabled,g=e.deduplicationSynchronous,m=e.webhooksEnabled,v=e.webhooksClientTraceId,b=e.webhooksStripSpecialCharacters,y=e.idAutoCaptureEnabled,w=void 0===y||y,x=e.idCardAutoCaptureScoreThreshold,E=void 0===x?.8:x,C=e.mrzDetectionScoreThreshold,S=void 0===C?.5:C,k=e.passportAutoCaptureScoreThreshold,T=void 0===k?.75:k,A=e.idCardFocusScoreThreshold,I=void 0===A?.3:A,R=e.passportFocusScoreThreshold,D=void 0===R?.3:R,_=e.faceLivenessTimeoutDurationMs,F=void 0===_?15e3:_,M=e.skipSuccessScreen,L=void 0!==M&&M,P=e.onBeforeSubmit,B=e.onComplete,O=e.onEnrolled,N=e.onDenied,U=e.onExitAfterFailure,j=e.captureAdditionalDocuments,G=void 0===j?[]:j,$=e.captureSignature,z=void 0!==$&&$,q=e.captureSignatureVideo,V=void 0!==q&&q,W=e.assets,H=void 0===W?{}:W,K=e.colors,Y=void 0===K?{}:K,X=e.verbiage,J=void 0===X?{}:X,Z=e.geolocationEnabled,Q=void 0===Z||Z,ee=e.geolocationRequired,te=void 0!==ee&&ee,ne=e.debugMode,re=void 0!==ne&≠yi(void 0===r?"auto":r);var oe=t.useMemo((function(){return{assets:H.idCapture,colors:Y.idCapture,verbiage:J.idCapture,autoCaptureEnabled:w,idCardAutoCaptureScoreThreshold:E,passportAutoCaptureScoreThreshold:T,mrzDetectionScoreThreshold:S,idCardFocusScoreThreshold:I,passportFocusScoreThreshold:D,skipSuccessScreen:L,debugMode:re}}),[H.idCapture,Y.idCapture,re,w,E,I,S,T,D,L,J.idCapture]),ie=t.useMemo((function(){return{onExitAfterFailure:U,timeoutDurationMs:F,skipSuccessScreen:L,assets:H.faceLiveness,colors:Y.faceLiveness,verbiage:J.faceLiveness,debugMode:re}}),[H.faceLiveness,Y.faceLiveness,re,F,U,L,J.faceLiveness]),ae=t.useMemo((function(){return{documents:G,verbiage:J.additionalDocumentCapture}}),[G,J.additionalDocumentCapture]),se=t.useMemo((function(){return{verbiage:null==J?void 0:J.signatureCapture}}),[null==J?void 0:J.signatureCapture]),le=t.useMemo((function(){return{skipSuccessScreen:L,colors:null==Y?void 0:Y.videoSignatureCapture,verbiage:null==J?void 0:J.videoSignatureCapture,debugMode:re}}),[null==Y?void 0:Y.videoSignatureCapture,re,L,null==J?void 0:J.videoSignatureCapture]),ue=t.useCallback((function(e){null==B||B(e),"Customer Onboarded"===e.resultData.verificationResult?null==O||O(e):null==N||N(e)}),[O,B,N]);return l.default.createElement(Ft,{action:qe.ENROLL,environment:a,url:s,token:o,companyId:u,enrollmentId:n,manualReviewRequired:c,verifyIdWithExternalDatabases:d,personalData:h,cardData:f,deduplicationEnabled:p,deduplicationSynchronous:g,webhooksEnabled:m,webhooksClientTraceId:v,webhooksStripSpecialCharacters:b,onBeforeSubmit:P,onResponseReceived:ue,geolocationEnabled:Q,geolocationRequired:te},l.default.createElement(pm,{checks:t.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:oe,faceLivenessProps:ie,additionalDocumentCaptureProps:ae,signatureCaptureProps:se,videoSignatureCaptureProps:le,captureSignature:z,captureSignatureVideo:V,debugMode:re}))},ym={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,unverifiedTimes:0},wm=function(e,t){switch(t.type){case"verificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?m(m({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return m(m({},e),{requestState:"VERIFYING",imageUrl:t.payload.imageUrl});case"verificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return m(m({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.unverifiedTimes;return"00"===a.verificationResultCode?s="VERIFIED":l<0?(s="CAPTURING",l+=1):s="REJECTED",m(m({},e),{requestState:s,unverifiedTimes:l});case"verificationFailed":return m(m({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},xm=function(e){var n=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=e.debugMode,f=void 0!==h&&h,p=t.useReducer(wm,ym),g=p[0],m=p[1],y=g.frame,w=g.face,x=t.useContext(Ye),E=x.submit,C=x.submissionResponse,S=x.submissionError,k=x.selfieImage,T=x.setSelfieImage,A=t.useState(null),I=A[0],R=A[1],D=t.useRef(null),_=t.useRef(null),F=t.useCallback((function(e,t){m({type:"verificationReady",payload:{frame:e,face:t}})}),[]),M="CAPTURED"===g.requestState;return t.useEffect((function(){if(y&&w&&!S){var e=Uo(D.current,_.current,y,w);R(e),Qe(e).then((function(e){T(e)}))}}),[w,y,T,S]),t.useEffect((function(){M&&k&&!S&&v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),m({type:"verifying",payload:{imageUrl:k}}),[4,E()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return m({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),m({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[M,n,r,k,g.requestState,S,E]),t.useEffect((function(){C&&("VERIFIED"===g.requestState?null==n||n(C):"REJECTED"===g.requestState&&(null==r||r(C)))}),[n,r,g.requestState,C]),ng(a,o,["VERIFIED","REJECTED"].includes(g.requestState),"VERIFYING"===g.requestState),l.default.createElement(l.default.Fragment,null,l.default.createElement(Bo,{ref:D}),l.default.createElement(Bo,{ref:_}),l.default.createElement(ag,{onSelfieCaptured:F,onExit:i,timeoutDurationMs:a,colors:u,verbiage:d,debugMode:f}),I&&l.default.createElement(pi,{imageUrl:I}))},Em=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;r||(r="".concat(Mo,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=xi(c,{headingText:"Customer has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},d.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:d.headingText,src:r})),l.default.createElement("div",{style:{marginTop:24}},l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Cm=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,u=e.onExitClick,c=e.assets,d=void 0===c?{}:c,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Mo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=xi(g,{headingText:"Customer not verified",retryBtnText:"Retry",exitBtnText:"Exit"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},m.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),l.default.createElement("div",{style:{marginTop:24}},a&&l.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),l.default.createElement(St,{onClick:u,colors:f.exitBtn,finished:!0},m.exitBtnText))))},Sm=function(e){var n=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,u=e.skipSuccessScreen,c=void 0!==u&&u,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,m=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=t.useContext(Ye),E=x.submissionResponse,C=x.selfieImage,S=t.useState("LOADING"),k=S[0],T=S[1],A=t.useContext(tn).releaseCameraAccess,I=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("MATCHED"),null==r||r(e),[2]}))}))}),[r]),R=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("NOT_MATCHED"),null==o||o(e),[2]}))}))}),[o]),D=t.useCallback((function(){T("FAILED"),null==a||a()}),[a]),_=t.useState(0),F=_[0],M=_[1],L=t.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=t.useCallback((function(){A(),E&&(null==n||n(E))}),[n,A,E]),B=Oi(c,"MATCHED"===k,P);return l.default.createElement(l.default.Fragment,null,"LOADING"!==k&&function(){switch(k){case"CAPTURING":return l.default.createElement(xm,{key:"capture".concat(F),onCustomerMatched:I,onCustomerNotMatched:R,onCaptureGuidanceTimeout:D,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:m,debugMode:w});case"MATCHED":if(!B)return;return l.default.createElement(Em,{imageUrl:"data:image/png;base64, ".concat(C),colors:p.success,verbiage:m.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_MATCHED":case"FAILED":return l.default.createElement(Cm,{assets:h.failure,colors:p.failure,verbiage:m.failure,canRetry:F<2,onExitClick:function(){A(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),l.default.createElement(cg,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:m.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},km=function(e){var t=e.lang,n=e.enrollmentId,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.webhooksEnabled,c=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.assets,v=e.colors,b=e.verbiage,y=e.onBeforeSubmit,w=e.onComplete,x=e.onCustomerMatched,E=e.onCustomerNotMatched,C=e.onExitAfterFailure,S=e.geolocationEnabled,k=void 0===S||S,T=e.geolocationRequired,A=void 0!==T&&T,I=e.debugMode,R=void 0!==I&&I;return yi(void 0===t?"auto":t),l.default.createElement(Ft,{action:qe.VERIFY,environment:i,url:a,token:r,companyId:s,enrollmentId:n,webhooksEnabled:u,webhooksClientTraceId:c,webhooksStripSpecialCharacters:d,onBeforeSubmit:y,geolocationEnabled:k,geolocationRequired:A},l.default.createElement(nn,{preferFrontFacingCamera:!0},l.default.createElement(tg,null,l.default.createElement(Sm,{onComplete:w,onCustomerMatched:x,onCustomerNotMatched:E,onExitAfterFailure:C,captureGuidanceTimeoutDurationMs:f,skipSuccessScreen:g,assets:m,colors:v,verbiage:b,debugMode:R}))))},Tm={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,notFoundTimes:0},Am=function(e,t){switch(t.type){case"identificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?m(m({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return m(m({},e),{requestState:"IDENTIFYING",imageUrl:t.payload.imageUrl});case"identificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return m(m({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.notFoundTimes;return"46"===a.verificationResultCode?s="FOUND":l<0?(s="CAPTURING",l+=1):s="NOT_FOUND",m(m({},e),{requestState:s,notFoundTimes:l});case"identificationFailed":return m(m({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},Im=function(e){var n=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=e.debugMode,f=void 0!==h&&h,p=t.useReducer(Am,Tm),g=p[0],m=p[1],y=t.useContext(Ye),w=y.submit,x=y.submissionResponse,E=y.submissionError,C=y.selfieImage,S=y.setSelfieImage,k=t.useState(null),T=k[0],A=k[1],I=t.useRef(null),R=t.useRef(null),D=t.useCallback((function(e,t){m({type:"identificationReady",payload:{frame:e,face:t}})}),[]),_=g.frame,F=g.face,M="CAPTURED"===g.requestState;return t.useEffect((function(){if(_&&F&&!E){var e=Uo(I.current,R.current,_,F);A(e),Qe(e).then((function(e){S(e)}))}}),[F,_,S,E]),t.useEffect((function(){M&&C&&!E&&v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),m({type:"identifying",payload:{imageUrl:C}}),[4,w()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return m({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),m({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[M,n,r,C,g.requestState,E,w]),t.useEffect((function(){x&&("FOUND"===g.requestState?null==n||n(x):"NOT_FOUND"===g.requestState&&(null==r||r(x)))}),[n,r,g.requestState,x]),ng(a,o,["FOUND","NOT_FOUND"].includes(g.requestState),"IDENTIFYING"===g.requestState),l.default.createElement(l.default.Fragment,null,l.default.createElement(Bo,{ref:I}),l.default.createElement(Bo,{ref:R}),l.default.createElement(ag,{onSelfieCaptured:D,onExit:i,timeoutDurationMs:a,colors:u,verbiage:d,debugMode:f}),T&&l.default.createElement(pi,{imageUrl:T}))},Rm=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;r||(r="".concat(Mo,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=xi(c,{headingText:"Customer has been identified!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},d.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:d.headingText,src:r})),l.default.createElement("div",{style:{marginTop:24}},l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Dm=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,u=e.onExitClick,c=e.assets,d=void 0===c?{}:c,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Mo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=xi(g,{headingText:"Customer not found",retryBtnText:"Retry",exitBtnText:"Exit"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},m.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),l.default.createElement("div",{style:{marginTop:24}},a&&l.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),l.default.createElement(St,{onClick:u,colors:f.exitBtn,finished:!0},m.exitBtnText))))},_m=function(e){var n=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,u=e.skipSuccessScreen,c=void 0!==u&&u,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,m=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=t.useContext(Ye),E=x.submissionResponse,C=x.selfieImage,S=t.useState("LOADING"),k=S[0],T=S[1],A=t.useContext(tn).releaseCameraAccess,I=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("FOUND"),null==r||r(e),[2]}))}))}),[r]),R=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("NOT_FOUND"),null==o||o(e),[2]}))}))}),[o]),D=t.useCallback((function(){T("FAILED"),null==a||a()}),[a]),_=t.useState(0),F=_[0],M=_[1],L=t.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=t.useCallback((function(){A(),E&&(null==n||n(E))}),[n,A,E]),B=Oi(c,"FOUND"===k,P);return l.default.createElement(l.default.Fragment,null,"LOADING"!==k&&function(){switch(k){case"CAPTURING":return l.default.createElement(Im,{key:"capture".concat(F),onCustomerMatched:I,onCustomerNotMatched:R,onCaptureGuidanceTimeout:D,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:m,debugMode:w});case"FOUND":if(!B)return;return l.default.createElement(Rm,{imageUrl:"data:image/png;base64, ".concat(C),colors:p.success,verbiage:m.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_FOUND":case"FAILED":return l.default.createElement(Dm,{assets:h.failure,colors:p.failure,verbiage:m.failure,canRetry:F<2,onExitClick:function(){A(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),l.default.createElement(cg,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:m.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},Fm=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,o=void 0===r?"prod":r,i=e.submissionUrl,a=e.companyId,s=e.webhooksEnabled,u=e.webhooksClientTraceId,c=e.webhooksStripSpecialCharacters,d=e.timeoutDurationMs,h=void 0===d?15e3:d,f=e.skipSuccessScreen,p=void 0!==f&&f,g=e.onBeforeSubmit,m=e.onComplete,v=e.onCustomerMatched,b=e.onCustomerNotMatched,y=e.onCaptureGuidanceTimeout,w=e.onExitAfterFailure,x=e.assets,E=e.colors,C=e.verbiage,S=e.geolocationEnabled,k=e.geolocationRequired,T=void 0!==k&&k,A=e.debugMode,I=void 0!==A&&A;return yi(void 0===t?"auto":t),l.default.createElement(Ft,{action:qe.IDENTIFY,environment:o,url:i,token:n,companyId:a,webhooksEnabled:s,webhooksClientTraceId:u,webhooksStripSpecialCharacters:c,onBeforeSubmit:g,geolocationEnabled:S,geolocationRequired:T},l.default.createElement(nn,{preferFrontFacingCamera:!0},l.default.createElement(tg,null,l.default.createElement(_m,{onComplete:m,onCustomerMatched:v,onCustomerNotMatched:b,onExitAfterFailure:w,onCaptureGuidanceTimeout:y,captureGuidanceTimeoutDurationMs:h,skipSuccessScreen:p,assets:x,colors:E,verbiage:C,debugMode:I}))))},Mm=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=e.submissionUrl,a=e.onBeforeSubmit,s=e.onComplete,u=e.skipSuccessScreen,c=void 0!==u&&u,d=e.colors,h=e.verbiage,f=e.geolocationEnabled,p=e.geolocationRequired,g=e.debugMode;yi(void 0===n?"auto":n);var m=t.useState(0),v=m[1];return l.default.createElement(Ft,{action:qe.NONE,environment:o,url:i,token:r,onBeforeSubmit:a,onResponseReceived:s,geolocationEnabled:f,geolocationRequired:p},l.default.createElement(nn,{key:m[0],preferContinuityCamera:!1,preferFrontFacingCamera:!0},l.default.createElement(fm,{skipSuccessScreen:c,colors:d,debugMode:g,verbiage:h,onRetryClicked:function(){v((function(e){return e+1}))}})))},Lm=function(e){var t=e.borderWidth,n=void 0===t?3:t,r=e.borderColor,o=void 0===r?"white":r,i=e.guideImageUrl,a=void 0===i?"".concat(Mo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg"):i;return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",{style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%",display:"flex",flexDirection:"column"}},l.default.createElement("div",{style:{borderWidth:n,borderColor:o,borderStyle:"solid",borderRadius:"50%",aspectRatio:"1 / 1.618",height:"100%",margin:"4% auto auto"}}),l.default.createElement("img",{src:a,style:{width:"30%",margin:"2% auto 2%"}})))},Pm=function(e){var n,r,o,i,a,s,u=e.onFaceNotDetected,c=e.debugMode,d=void 0!==c&&c,h=Bt(),f=h.ref,p=h.width,g=void 0===p?1:p,m=h.height,y=void 0===m?1:m,w=t.useContext(tn),x=w.cameraRef,E=w.videoRef,C=w.videoLoaded,S=w.cameraReady,k=t.useState([]),T=k[0],A=k[1],I=t.useState([]),R=I[0],D=I[1],_=t.useContext(Go),F=_.ready,M=_.working,L=_.makePrediction,P=_.onPredictionMade,B=t.useContext(eg).onPredictionMade,O=t.useRef(0),N=t.useRef(!1);t.useEffect((function(){N.current=C&&S&&F}),[S,F,C]),t.useEffect((function(){if(F&&S&&C)return O.current=requestAnimationFrame((function e(){return v(this,void 0,void 0,(function(){return b(this,(function(t){return N.current&&!M.current&&E.current&&L(E.current),O.current=requestAnimationFrame(e),[2]}))}))})),function(){cancelAnimationFrame(O.current)}}),[S,F,M,L,C,E]),t.useEffect((function(){P((function(e){A(e.detectedObjects)}))}),[P]);var U=t.useState(0),j=U[0],G=U[1];t.useEffect((function(){B((function(e){D(e),G((function(t){return 0===e.length?t+1:0}))}))}),[B]),t.useEffect((function(){j>=2&&(null==u||u())}),[j,u]);var $=ni({enabled:d,pageWidth:g,pageHeight:y,videoWidth:null!==(r=null===(n=E.current)||void 0===n?void 0:n.videoWidth)&&void 0!==r?r:0,videoHeight:null!==(i=null===(o=E.current)||void 0===o?void 0:o.videoHeight)&&void 0!==i?i:0});return l.default.createElement(ot,{ref:f,className:"flex"},l.default.createElement(Pi,null),l.default.createElement(Lm,null),d&&T.length>0&&l.default.createElement(Qo,{$flipX:!(null===(a=x.current)||void 0===a?void 0:a.isRearFacing)},T.map((function(e,t){var n;return l.default.createElement(ri,{key:t,obj:e,scaling:$,color:"blue",flipX:!(null===(n=x.current)||void 0===n?void 0:n.isRearFacing)})}))),d&&R.length>0&&l.default.createElement(Qo,{$flipX:!(null===(s=x.current)||void 0===s?void 0:s.isRearFacing)},R.map((function(e,t){var n;return l.default.createElement(oi,{key:t,face:e,scaling:$,flipX:!(null===(n=x.current)||void 0===n?void 0:n.isRearFacing)})}))))},Bm=function(e){var n=e.idCaptureProps,r=void 0===n?{}:n,o=e.assets,i=void 0===o?{}:o,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u,d=e.debugMode,h=void 0!==d&&d,f=t.useContext(Ye),p=f.selfieImage,g=f.setSelfieImage,y=f.logSelfieCaptureAttempt,w=t.useState("CAPTURING_ID"),x=w[0],E=w[1],C=t.useRef(),S=t.useRef(),k=t.useRef();t.useEffect((function(){C.current=new Date}),[]),t.useEffect((function(){"CHECKING_LIVENESS"===x&&(S.current=new Date)}),[x]);var T=t.useCallback((function(){var e,t,n;y({autoCapture:"Y",captureTime:(null!==(e=k.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=S.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=C.current)&&void 0!==n?n:new Date).getTime()}),C.current=new Date}),[y]),A=r.onSuccess,I=t.useCallback((function(e){null==A||A(e),E("CHECKING_LIVENESS")}),[A]),R=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return E("CAPTURING_VIDEO"),T(),p?[3,2]:(t=g,[4,Qe(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[T,p,g]),D=t.useCallback((function(){E("CHECKING_LIVENESS")}),[]),_=t.useCallback((function(){E("LOADING")}),[]);return l.default.createElement(l.default.Fragment,null,"LOADING"!==x&&function(){var e,t,n,o,a,u,d,f;switch(x){case"CAPTURING_ID":return l.default.createElement(qo,{documentDetectionModelUrl:null!==(t=null===(e=r.assets)||void 0===e?void 0:e.documentDetectionModelUrl)&&void 0!==t?t:"",focusModelUrl:null!==(o=null===(n=r.assets)||void 0===n?void 0:n.focusModelUrl)&&void 0!==o?o:"",logPredictions:h},l.default.createElement(nn,{key:"IdCaptureCamera"},l.default.createElement(pg,null,l.default.createElement($i,m({},r,{assets:i.idCapture,colors:s.idCapture,verbiage:c.idCapture,onSuccess:I,skipSuccessScreen:!0})))));case"CHECKING_LIVENESS":return l.default.createElement(nn,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},l.default.createElement(tg,null,l.default.createElement(ug,{onSuccess:R,onExit:_,colors:s.faceLiveness,verbiage:c.faceLiveness,debugMode:h})));case"CAPTURING_VIDEO":return l.default.createElement(nn,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},l.default.createElement(qo,{documentDetectionModelUrl:null!==(u=null===(a=r.assets)||void 0===a?void 0:a.documentDetectionModelUrl)&&void 0!==u?u:"",focusModelUrl:null!==(f=null===(d=r.assets)||void 0===d?void 0:d.focusModelUrl)&&void 0!==f?f:"",logPredictions:h},l.default.createElement(tg,null,l.default.createElement(Pm,{onFaceNotDetected:D,debugMode:h}))));default:return null}}())},Om=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,o=e.submissionUrl,i=e.onBeforeSubmit,a=e.onComplete,s=e.skipSuccessScreen,u=void 0!==s&&s,c=e.geolocationEnabled,d=e.geolocationRequired,h=e.debugMode,f=void 0!==h&&h;return yi(void 0===t?"auto":t),l.default.createElement(Ft,{action:qe.NONE,environment:r,url:o,token:n,onBeforeSubmit:i,onResponseReceived:a,geolocationEnabled:c,geolocationRequired:d},l.default.createElement(Bm,{skipSuccessScreen:u,debugMode:f}))},Nm=function(e){var t=e.documentDetectionModel,n=void 0===t?"".concat(Mo,"/models/documentdetection448/model.json"):t,r=e.focusModel,o=void 0===r?"".concat(Mo,"/models/focus/model.json"):r,i=e.skipFaceDetectionModel,a=void 0!==i&&i;return v(void 0,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return n?[4,Mt(n)]:[3,2];case 1:e.sent(),e.label=2;case 2:return o?[4,rn(o)]:[3,4];case 3:e.sent(),e.label=4;case 4:return a?[3,6]:[4,Qp()];case 5:e.sent(),e.label=6;case 6:return[2]}}))}))},Um=function(e){var n=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,u=e.companyId,c=e.deduplicationEnabled,d=e.deduplicationSynchronous,h=e.webhooksEnabled,f=e.webhooksClientTraceId,p=e.webhooksStripSpecialCharacters,g=e.timeoutDurationMs,m=void 0===g?15e3:g,v=e.skipSuccessScreen,b=void 0!==v&&v,y=e.onBeforeSubmit,w=e.onComplete,x=e.onEnrolled,E=e.onDenied,C=e.onExitAfterFailure,S=e.captureAdditionalDocuments,k=void 0===S?[]:S,T=e.captureSignature,A=void 0!==T&&T,I=e.captureSignatureVideo,R=void 0!==I&&I,D=e.assets,_=void 0===D?{}:D,F=e.colors,M=void 0===F?{}:F,L=e.verbiage,P=void 0===L?{}:L,B=e.geolocationEnabled,O=void 0===B||B,N=e.geolocationRequired,U=void 0!==N&&N,j=e.debugMode,G=void 0!==j&&j;yi(void 0===r?"auto":r);var $=t.useMemo((function(){return{onExitAfterFailure:C,timeoutDurationMs:m,skipSuccessScreen:b,assets:_.faceLiveness,colors:M.faceLiveness,verbiage:P.faceLiveness,debugMode:G}}),[_.faceLiveness,M.faceLiveness,G,C,b,m,P.faceLiveness]),z=t.useMemo((function(){return{documents:k,verbiage:P.additionalDocumentCapture}}),[k,P.additionalDocumentCapture]),q=t.useMemo((function(){return{verbiage:P.signatureCapture}}),[P.signatureCapture]),V=t.useMemo((function(){return{skipSuccessScreen:b,colors:null==M?void 0:M.videoSignatureCapture,verbiage:null==P?void 0:P.videoSignatureCapture,debugMode:G}}),[null==M?void 0:M.videoSignatureCapture,G,b,null==P?void 0:P.videoSignatureCapture]),W=t.useCallback((function(e){null==w||w(e),"Customer Onboarded"===e.resultData.verificationResult?null==x||x(e):null==E||E(e)}),[x,w,E]);return l.default.createElement(Ft,{action:qe.ENROLL,environment:a,url:s,token:o,companyId:u,enrollmentId:n,deduplicationEnabled:c,deduplicationSynchronous:d,webhooksEnabled:h,webhooksClientTraceId:f,webhooksStripSpecialCharacters:p,onBeforeSubmit:y,onResponseReceived:W,geolocationEnabled:O,geolocationRequired:U},l.default.createElement(pm,{checks:t.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:$,additionalDocumentCaptureProps:z,signatureCaptureProps:q,videoSignatureCaptureProps:V,captureSignature:A,captureSignatureVideo:R,debugMode:G}))};function jm(e,n,r){return r||(r=n,n=void 0),function(e,n){if("string"==typeof n){var r=document.querySelector(n);if(!r)throw new Error("targetElement ".concat(n," not found"));n=r}else n||(n=document.createElement("div"),document.body.append(n));var o=l.default.createElement(ut,{ref:t.createRef()},e);return c.createRoot(n).render(o),n}(l.default.createElement(e,m({},r)),n)}oe.use(ze).use(ve).init({resources:bi,detection:{caches:[]},fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}}),void 0!==d&&d.init&&d.init({dsn:"https://0a8e0e8df645473abe217b60b50fbcb1@o4505120557367296.ingest.sentry.io/4505120582008832",tracesSampleRate:1,debug:!0});var Gm=function(e,t){return jm(gm,e,t)},$m=function(e,t){return jm(mm,e,t)},zm=function(e,t){return jm(vm,e,t)},qm=function(e,t){return jm(bm,e,t)},Vm=function(e,t){return jm(Um,e,t)},Wm=function(e,t){return jm(km,e,t)},Hm=function(e,t){return jm(Fm,e,t)},Km=function(e,t){return jm(Mm,e,t)},Ym=function(e,t){return jm(Om,e,t)};globalThis.IDmissionSDK={renderIdValidation:Gm,renderFaceValidation:$m,renderIdAndFaceValidation:zm,renderCustomerIdAndBiometricsEnrollment:qm,renderCustomerBiometricsEnrollment:Vm,renderCustomerVerification:Wm,renderCustomerIdentification:Hm,renderSignatureKYC:Km,renderVideoIdValidation:Ym,preloadModels:Nm,version:We,ready:!0},e.CustomerBiometricsEnrollment=Um,e.CustomerIdAndBiometricsEnrollment=bm,e.CustomerIdentification=Fm,e.CustomerVerification=km,e.FaceValidation=mm,e.IdAndFaceValidation=vm,e.IdValidation=gm,e.SignatureKYC=Mm,e.VideoIdValidation=Om,e.preloadModels=Nm,e.renderCustomerBiometricsEnrollment=Vm,e.renderCustomerIdAndBiometricsEnrollment=qm,e.renderCustomerIdentification=Hm,e.renderCustomerVerification=Wm,e.renderFaceValidation=$m,e.renderIdAndFaceValidation=zm,e.renderIdValidation=Gm,e.renderSignatureKYC=Km,e.renderVideoIdValidation=Ym,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("react-dom/client"),require("@sentry/react"),require("styled-components"),require("@tensorflow/tfjs")):"function"==typeof define&&define.amd?define(["exports","react","react-dom/client","@sentry/react","styled-components","@tensorflow/tfjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Sdk2={},e.React,e.ReactDOM,e.Sentry,e.styled,e.tf)}(this,(function(e,t,n,r,o,i){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var l=a(t),u=s(t),c=s(n),d=s(r),h=a(o),f=s(i),p=function(e,t){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},p(e,t)};function g(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var m=function(){return m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},m.apply(this,arguments)};function v(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))}function b(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function y(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function w(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}const x={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class E{constructor(e){this.init(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||x,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,r){return r&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new E(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new E(this.logger,e)}}var C=new E;class S{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]=this.observers[e]||[],this.observers[e].push(t)})),this}off(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((e=>e!==t)):delete this.observers[e])}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(this.observers[e]){[].concat(this.observers[e]).forEach((e=>{e(...n)}))}if(this.observers["*"]){[].concat(this.observers["*"]).forEach((t=>{t.apply(t,[e,...n])}))}}}function k(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function T(e){return null==e?"":""+e}function I(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}const i="string"!=typeof t?[].concat(t):t.split(".");for(;i.length>1;){if(o())return{};const t=r(i.shift());!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}return o()?{}:{obj:e,k:r(i.shift())}}function A(e,t,n){const{obj:r,k:o}=I(e,t,Object);r[o]=n}function D(e,t){const{obj:n,k:r}=I(e,t);if(n)return n[r]}function R(e,t,n){for(const r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):R(e[r],t[r],n):e[r]=t[r]);return e}function _(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var F={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function M(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>F[e])):e}const L=[" ",",","?","!",";"];function P(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let o=e;for(let e=0;e<r.length;++e){if(!o)return;if("string"==typeof o[r[e]]&&e+1<r.length)return;if(void 0===o[r[e]]){let i=2,a=r.slice(e,e+i).join(n),s=o[a];for(;void 0===s&&r.length>e+i;)i++,a=r.slice(e,e+i).join(n),s=o[a];if(void 0===s)return;if(null===s)return null;if(t.endsWith(a)){if("string"==typeof s)return s;if(a&&"string"==typeof s[a])return s[a]}const l=r.slice(e+i).join(n);return l?P(s,l,n):void 0}o=o[r[e]]}return o}function B(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class O extends S{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."));const s=D(this.data,a);return s||!i||"string"!=typeof n?s:P(this.data&&this.data[e]&&this.data[e][t],n,o)}addResource(e,t,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),A(this.data,a,r),o.silent||this.emit("added",e,t,n,r)}addResources(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const r in n)"string"!=typeof n[r]&&"[object Array]"!==Object.prototype.toString.apply(n[r])||this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=n,n=t,t=a[1]),this.addNamespaces(t);let s=D(this.data,a)||{};r?R(s,n,o):s={...s,...n},A(this.data,a,s),i.silent||this.emit("added",e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var N={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,o))})),t}};const U={};class j extends S{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),function(e,t,n){e.forEach((e=>{t[e]&&(n[e]=t[e])}))}(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=C.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){if(null==e)return!1;const t=this.resolve(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}});return t&&void 0!==t.res}extractFromKey(e,t){let n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");const r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const i=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";const r=L.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const o=new RegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let i=!o.test(e);if(!i){const t=e.indexOf(n);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i}(e,n,r));if(i&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:o};const i=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}translate(e,t,n){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const r=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:i,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.length-1],l=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(u){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${s}${e}${i}`,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:`${s}${e}${i}`}return r?{res:i,usedKey:i,exactUsedKey:i,usedLng:l,usedNS:s}:i}const c=this.resolve(e,t);let d=c&&c.res;const h=c&&c.usedKey||i,f=c&&c.exactUsedKey||i,p=Object.prototype.toString.apply(d),g=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&d&&("string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(p)<0&&("string"!=typeof g||"[object Array]"!==p)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...t,ns:a}):`key '${i} (${this.language})' returned an object instead of string.`;return r?(c.res=e,c):e}if(o){const e="[object Array]"===p,n=e?[]:{},r=e?f:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const i=`${r}${o}${e}`;n[e]=this.translate(i,{...t,joinArrays:!1,ns:a}),n[e]===i&&(n[e]=d[e])}d=n}}else if(m&&"string"==typeof g&&"[object Array]"===p)d=d.join(g),d&&(d=this.extendTranslation(d,e,t,n));else{let r=!1,a=!1;const u=void 0!==t.count&&"string"!=typeof t.count,h=j.hasDefaultValue(t),f=u?this.pluralResolver.getSuffix(l,t.count,t):"",p=t.ordinal&&u?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",g=t[`defaultValue${f}`]||t[`defaultValue${p}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(r=!0,d=g),this.isValidLookup(d)||(a=!0,d=i);const m=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:d,v=h&&g!==d&&this.options.updateMissing;if(a||r||v){if(this.logger.log(v?"updateKey":"missingKey",l,s,i,v?g:d),o){const e=this.resolve(i,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const n=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&n&&n[0])for(let t=0;t<n.length;t++)e.push(n[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const r=(e,n,r)=>{const o=h&&r!==d?r:m;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,o,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,o,v,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?e.forEach((e=>{this.pluralResolver.getSuffixes(e,t).forEach((n=>{r([e],i+n,t[`defaultValue${n}`]||g)}))})):r(e,i,g))}d=this.extendTranslation(d,e,t,c,n),a&&d===i&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${i}`),(a||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${i}`:i,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(c.res=d,c):d}extendTranslation(e,t,n,r,o){var i=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const a="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let s;if(a){const t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let l=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,n.lng||this.language,n),a){const t=e.match(this.interpolator.nestingRegexp);s<(t&&t.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(n.lng=r.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return o&&o[0]===r[0]&&!n.context?(i.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):i.translate(...r,t)}),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,s="string"==typeof a?[a]:a;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=N.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:r,...n}:n,this)),e}resolve(e){let t,n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const s=this.extractFromKey(e,a),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const c=void 0!==a.count&&"string"!=typeof a.count,d=c&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,f=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);u.forEach((e=>{this.isValidLookup(t)||(i=e,!U[`${f[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(i)&&(U[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${i}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach((n=>{if(this.isValidLookup(t))return;o=n;const i=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(i,l,n,e,a);else{let e;c&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(i.push(l+e),a.ordinal&&0===e.indexOf(r)&&i.push(l+e.replace(r,this.options.pluralSeparator)),d&&i.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;i.push(n),c&&(i.push(n+e),a.ordinal&&0===e.indexOf(r)&&i.push(n+e.replace(r,this.options.pluralSeparator)),d&&i.push(n+t))}}let s;for(;s=i.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}static hasDefaultValue(e){const t="defaultValue";for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&void 0!==e[n])return!0;return!1}}function G(e){return e.charAt(0).toUpperCase()+e.slice(1)}class ${constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=C.create("languageUtils")}getScriptPartFromCode(e){if(!(e=B(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=B(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let n=e.split("-");return this.options.lowerCaseLng?n=n.map((e=>e.toLowerCase())):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=G(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=G(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=G(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const n=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(n)||(t=n)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find((e=>e===n?e:e.indexOf("-")<0&&n.indexOf("-")<0?void 0:0===e.indexOf(n)?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&o(this.formatLanguageCode(e))})),r}}let z=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],q={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};const V=["v1","v2","v3"],W=["v4"],H={zero:0,one:1,two:2,few:3,many:4,other:5};class K{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=C.create("pluralResolver"),this.options.compatibilityJSON&&!W.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=function(){const e={};return z.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:q[t.fc]}}))})),e}()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(B(e),{type:t.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){const t=this.getRule(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});return this.shouldUseIntlApi()?t&&t.resolvedOptions().pluralCategories.length>1:t&&t.numbers.length>1}getPluralFormsOfKey(e,t){return this.getSuffixes(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort(((e,t)=>H[e]-H[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):n.numbers.map((n=>this.getSuffix(e,n,t))):[]}getSuffix(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=this.getRule(e,n);return r?this.shouldUseIntlApi()?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const n=e.plurals(e.noAbs?t:Math.abs(t));let r=e.numbers[n];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));const o=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?`_plural_${r.toString()}`:o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!V.includes(this.options.compatibilityJSON)}}function Y(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=function(e,t,n){const r=D(e,n);return void 0!==r?r:D(t,n)}(e,t,n);return!i&&o&&"string"==typeof n&&(i=P(e,n,r),void 0===i&&(i=P(t,n,r))),i}class X{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=C.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const t=e.interpolation;this.escape=void 0!==t.escape?t.escape:M,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?_(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?_(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?_(t.nestingPrefix):t.nestingPrefixEscaped||_("$t("),this.nestingSuffix=t.nestingSuffix?_(t.nestingSuffix):t.nestingSuffixEscaped||_(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){this.regexp=new RegExp(`${this.prefix}(.+?)${this.suffix}`,"g");this.regexpUnescape=new RegExp(`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`,"g");this.nestingRegexp=new RegExp(`${this.nestingPrefix}(.+?)${this.nestingSuffix}`,"g")}interpolate(e,t,n,r){let o,i,a;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const u=e=>{if(e.indexOf(this.formatSeparator)<0){const o=Y(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,n,{...r,...t,interpolationkey:e}):o}const o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(Y(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...r,...t,interpolationkey:i})};this.resetRegExp();const c=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,d=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>l(e)},{regex:this.regexp,safeValue:e=>l(this.escapeValue?this.escape(e):e)}].forEach((t=>{for(a=0;o=t.regex.exec(e);){const n=o[1].trim();if(i=u(n),void 0===i)if("function"==typeof c){const t=c(e,o,r);i="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))i="";else{if(d){i=o[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),i=""}else"string"==typeof i||this.useRawValueToEscape||(i=T(i));const s=t.safeValue(i);if(e=e.replace(o[0],s),d?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function a(e,t){const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let i=`{${r[1]}`;e=r[0],i=this.interpolate(i,o);const a=i.match(/'/g),s=i.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o={...t,...o})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];o={...i},o=o.replace&&"string"!=typeof o.replace?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let l=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){const e=n[1].split(this.formatSeparator).map((e=>e.trim()));n[1]=e.shift(),s=e,l=!0}if(r=t(a.call(this,n[1].trim(),o),o),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=T(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,i.lng,{...i,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function J(e){const t={};return function(n,r,o){const i=r+JSON.stringify(o);let a=t[i];return a||(a=e(B(r),o),t[i]=a),a(n)}}class Z{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=C.create("formatter"),this.options=e,this.formats={number:J(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:J(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:J(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:J(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:J(((e,t)=>{const n=new Intl.ListFormat(e,{...t});return e=>n.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=J(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:o,formatOptions:i}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);"currency"===t&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach((e=>{if(!e)return;const[t,...r]=e.split(":"),o=r.join(":").trim().replace(/^'+|'+$/g,"");n[t.trim()]||(n[t.trim()]=o),"false"===o&&(n[t.trim()]=!1),"true"===o&&(n[t.trim()]=!0),isNaN(o)||(n[t.trim()]=parseInt(o,10))}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[o]){let t=e;try{const a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{};t=this.formats[o](e,a.locale||a.lng||r.locale||r.lng||n,{...i,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e);return o}}class Q extends S{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=C.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(n,r.backend,r)}queueLoad(e,t,n,r){const o={},i={},a={},s={};return e.forEach((e=>{let r=!0;t.forEach((t=>{const a=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,r=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(a[e]=!0)})),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),o=r[0],i=r[1];t&&this.emit("failedLoading",o,i,t),n&&this.store.addResourceBundle(o,i,n),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:o,k:i}=I(e,t,Object);o[i]=o[i]||[],r&&(o[i]=o[i].concat(n)),r||o[i].push(n)}(n.loaded,[o],i),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((e=>{a[e]||(a[e]={});const t=n.loaded[e];t.length&&t.forEach((t=>{void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((e=>!e.done))}read(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,i=arguments.length>5?arguments[5]:void 0;if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:o,callback:i});this.readingCalls++;const a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&r<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,n,r+1,2*o,i)}),o):i(a,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,a);try{const n=s(e,t);n&&"function"==typeof n.then?n.then((e=>a(null,e))).catch(a):a(null,n)}catch(e){a(e)}}prepareLoading(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const o=this.queueLoad(e,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=e.split("|"),r=n[0],o=n[1];this.read(r,o,"read",void 0,void 0,((n,i)=>{n&&this.logger.warn(`${t}loading namespace ${o} for language ${r} failed`,n),!n&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${r}`,i),this.loaded(e,n,i)}))}saveMissing(e,t,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){const s={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,n,r,s):l(e,t,n,r),o&&"function"==typeof o.then?o.then((e=>a(null,e))).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function ee(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const n=e[3]||e[2];Object.keys(n).forEach((e=>{t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function te(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function ne(){}class re extends S{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var n;if(super(),this.options=te(e),this.services={},this.logger=C,this.modules={external:[]},n=this,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((e=>{"function"==typeof n[e]&&(n[e]=n[e].bind(n))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=ee();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...te(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){let t;C.init(this.modules.logger?o(this.modules.logger):null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=Z);const n=new $(this.options);this.store=new O(this.options.resources,this.options);const i=this.services;i.logger=C,i.resourceStore=this.store,i.languageUtils=n,i.pluralResolver=new K(n,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(i.formatter=o(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new X(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Q(o(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.languageDetector&&(i.languageDetector=o(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=o(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new j(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=ne),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const i=k(),a=()=>{const e=(e,t)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(t),n(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?a():setTimeout(a,0),i}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ne;const n="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(n&&"cimode"===n.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],r=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(n)r(n);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>r(e)))}this.options.preload&&this.options.preload.forEach((e=>r(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,n){const r=k();return e||(e=this.languages),t||(t=this.options.ns),n||(n=ne),this.services.backendConnector.reload(e,t,(e=>{r.resolve(),n(e)})),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&N.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var n=this;this.isLanguageChangingTo=e;const r=k();this.emit("languageChanging",e);const o=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(e,i)=>{i?(o(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((function(){return n.t(...arguments)})),t&&t(e,(function(){return n.t(...arguments)}))},a=t=>{e||t||!this.services.languageDetector||(t=[]);const n="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||o(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{i(e,n)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}getFixedT(e,t,n){var r=this;const o=function(e,t){let i;if("object"!=typeof t){for(var a=arguments.length,s=new Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];i=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else i={...t};i.lng=i.lng||o.lng,i.lngs=i.lngs||o.lngs,i.ns=i.ns||o.ns,i.keyPrefix=i.keyPrefix||n||o.keyPrefix;const u=r.options.keySeparator||".";let c;return c=i.keyPrefix&&Array.isArray(e)?e.map((e=>`${i.keyPrefix}${u}${e}`)):i.keyPrefix?`${i.keyPrefix}${u}${e}`:e,r.t(c,i)};return"string"==typeof e?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=n,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const i=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,i);if(void 0!==e)return e}return!!this.hasResourceBundle(n,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!i(n,e)||r&&!i(o,e)))}loadNamespaces(e,t){const n=k();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=k();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],o=e.filter((e=>r.indexOf(e)<0));return o.length?(this.options.preload=r.concat(o),this.loadResources((e=>{n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new $(ee());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new re(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ne;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},o=new re(r);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));return["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},n&&(o.store=new O(this.store.data,r),o.services.resourceStore=o.store),o.translator=new j(o.services,r),o.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o.emit(e,...n)})),o.init(r,t),o.translator.options=r,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const oe=re.createInstance();oe.createInstance=re.createInstance;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ae(e,t){return e(t={exports:{}},t.exports),t.exports}const se={};function le(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&se[t[0]]||("string"==typeof t[0]&&(se[t[0]]=new Date),function(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t)}}(...t))}const ue=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout((()=>{e.off("initialized",n)}),0),t()};e.on("initialized",n)}};function ce(e,t,n){e.loadNamespaces(t,ue(e,n))}function de(e,t,n,r){"string"==typeof n&&(n=[n]),n.forEach((t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)})),e.loadLanguages(t,ue(e,r))}const he=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,fe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},pe=e=>fe[e];let ge,me={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(he,pe)};const ve={type:"3rdParty",init(e){!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};me={...me,...e}}(e.options.react),function(e){ge=e}(e)}},be=t.createContext();class ye{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const we=(e,n)=>{const r=t.useRef();return t.useEffect((()=>{r.current=n?r.current:e}),[e,n]),r.current};function xe(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:r}=n,{i18n:o,defaultNS:i}=t.useContext(be)||{},a=r||o||ge;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new ye),!a){le("You will need to pass in an i18next instance by using initReactI18next");const e=(e,t)=>"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,t=[e,{},!1];return t.t=e,t.i18n={},t.ready=!1,t}a.options.react&&void 0!==a.options.react.wait&&le("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...me,...a.options.react,...n},{useSuspense:l,keyPrefix:u}=s;let c=e||i||a.options&&a.options.defaultNS;c="string"==typeof c?[c]:c||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(c);const d=(a.isInitialized||a.initializedStoreOnce)&&c.every((e=>function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0!==t.options.ignoreJSONStructure?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}):function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.languages[0],o=!!t.options&&t.options.fallbackLng,i=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;const a=(e,n)=>{const r=t.services.backendConnector.state[`${e}|${n}`];return-1===r||2===r};return!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!a(r,e)||o&&!a(i,e)))}(e,t,n):(le("i18n.languages were undefined or empty",t.languages),!0)}(e,a,s)));function h(){return a.getFixedT(n.lng||null,"fallback"===s.nsMode?c:c[0],u)}const[f,p]=t.useState(h);let g=c.join();n.lng&&(g=`${n.lng}${g}`);const m=we(g),v=t.useRef(!0);t.useEffect((()=>{const{bindI18n:e,bindI18nStore:t}=s;function r(){v.current&&p(h)}return v.current=!0,d||l||(n.lng?de(a,n.lng,c,(()=>{v.current&&p(h)})):ce(a,c,(()=>{v.current&&p(h)}))),d&&m&&m!==g&&v.current&&p(h),e&&a&&a.on(e,r),t&&a&&a.store.on(t,r),()=>{v.current=!1,e&&a&&e.split(" ").forEach((e=>a.off(e,r))),t&&a&&t.split(" ").forEach((e=>a.store.off(e,r)))}}),[a,g]);const b=t.useRef(!0);t.useEffect((()=>{v.current&&!b.current&&p(h),b.current=!1}),[a,u]);const y=[f,a,d];if(y.t=f,y.i18n=a,y.ready=d,d)return y;if(!d&&!l)return y;throw new Promise((e=>{n.lng?de(a,n.lng,c,(()=>e())):ce(a,c,(()=>e()))}))}function Ee(e){return Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ee(e)}function Ce(e){var t=function(e,t){if("object"!==Ee(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ee(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ee(t)?t:String(t)}function Se(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ce(r.key),r)}}var ke=[],Te=ke.forEach,Ie=ke.slice;var Ae=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,De=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+60*n*1e3)),r&&(o.domain=r),document.cookie=function(e,t,n){var r=n||{};r.path=r.path||"/";var o=encodeURIComponent(t),i="".concat(e,"=").concat(o);if(r.maxAge>0){var a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");i+="; Max-Age=".concat(Math.floor(a))}if(r.domain){if(!Ae.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain=".concat(r.domain)}if(r.path){if(!Ae.test(r.path))throw new TypeError("option path is invalid");i+="; Path=".concat(r.path)}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");i+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i}(e,encodeURIComponent(t),o)},Re=function(e){for(var t="".concat(e,"="),n=document.cookie.split(";"),r=0;r<n.length;r++){for(var o=n[r];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},_e={name:"cookie",lookup:function(e){var t;if(e.lookupCookie&&"undefined"!=typeof document){var n=Re(e.lookupCookie);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&"undefined"!=typeof document&&De(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain,t.cookieOptions)}},Fe={name:"querystring",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.search;!window.location.search&&window.location.hash&&window.location.hash.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));for(var r=n.substring(1).split("&"),o=0;o<r.length;o++){var i=r[o].indexOf("=");if(i>0)r[o].substring(0,i)===e.lookupQuerystring&&(t=r[o].substring(i+1))}}return t}},Me=null,Le=function(){if(null!==Me)return Me;try{Me="undefined"!==window&&null!==window.localStorage;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){Me=!1}return Me},Pe={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&Le()){var n=window.localStorage.getItem(e.lookupLocalStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&Le()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},Be=null,Oe=function(){if(null!==Be)return Be;try{Be="undefined"!==window&&null!==window.sessionStorage;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){Be=!1}return Be},Ne={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&Oe()){var n=window.sessionStorage.getItem(e.lookupSessionStorage);n&&(t=n)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&Oe()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},Ue={name:"navigator",lookup:function(e){var t=[];if("undefined"!=typeof navigator){if(navigator.languages)for(var n=0;n<navigator.languages.length;n++)t.push(navigator.languages[n]);navigator.userLanguage&&t.push(navigator.userLanguage),navigator.language&&t.push(navigator.language)}return t.length>0?t:void 0}},je={name:"htmlTag",lookup:function(e){var t,n=e.htmlTag||("undefined"!=typeof document?document.documentElement:null);return n&&"function"==typeof n.getAttribute&&(t=n.getAttribute("lang")),t}},Ge={name:"path",lookup:function(e){var t;if("undefined"!=typeof window){var n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(n instanceof Array)if("number"==typeof e.lookupFromPathIndex){if("string"!=typeof n[e.lookupFromPathIndex])return;t=n[e.lookupFromPathIndex].replace("/","")}else t=n[0].replace("/","")}return t}},$e={name:"subdomain",lookup:function(e){var t="number"==typeof e.lookupFromSubdomainIndex?e.lookupFromSubdomainIndex+1:1,n="undefined"!=typeof window&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[t]}};var ze=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}var t,n,r;return t=e,n=[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e||{languageUtils:{}},this.options=function(e){return Te.call(Ie.call(arguments,1),(function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])})),e}(t,this.options||{},{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(e){return e.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(_e),this.addDetector(Fe),this.addDetector(Pe),this.addDetector(Ne),this.addDetector(Ue),this.addDetector(je),this.addDetector(Ge),this.addDetector($e)}},{key:"addDetector",value:function(e){this.detectors[e.name]=e}},{key:"detect",value:function(e){var t=this;e||(e=this.options.order);var n=[];return e.forEach((function(e){if(t.detectors[e]){var r=t.detectors[e].lookup(t.options);r&&"string"==typeof r&&(r=[r]),r&&(n=n.concat(r))}})),n=n.map((function(e){return t.options.convertDetectedLanguage(e)})),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}},{key:"cacheUserLanguage",value:function(e,t){var n=this;t||(t=this.options.caches),t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach((function(t){n.detectors[t]&&n.detectors[t].cacheUserLanguage(e,n.options)})))}}],n&&Se(t.prototype,n),r&&Se(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();ze.type="languageDetector";var qe,Ve,We="1.0.21";function He(){return window.platform}!function(e){e.NONE="NONE",e.ENROLL="ENROLL",e.IDENTIFY="IDENTIFY",e.VALIDATE="VALIDATE",e.VERIFY="VERIFY"}(qe||(qe={})),function(e){e.READY="READY",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.FAILED="FAILED"}(Ve||(Ve={}));var Ke={prod:"https://api.idmission.com",demo:"https://apidemo.idmission.com"},Ye=t.createContext({submit:function(){return v(void 0,void 0,void 0,(function(){return b(this,(function(e){return[2,null]}))}))},submissionStatus:Ve.READY,submissionRequest:null,submissionResponse:null,submissionError:null,submissionEnvironment:"prod",idFrontImage:null,idBackImage:null,passportImage:null,selfieImage:null,signatureData:null,signatureVideo:null,additionalDocuments:null,setIdFrontImage:function(){return null},setIdBackImage:function(){return null},setPassportImage:function(){return null},setSelfieImage:function(){return null},setSignatureData:function(){return null},setSignatureVideo:function(){return null},setAdditionalDocuments:function(){return null},logIdFrontCaptureAttempt:function(){return null},logIdBackCaptureAttempt:function(){return null},logSelfieCaptureAttempt:function(){return null},checkLiveness:function(){return v(void 0,void 0,void 0,(function(){return b(this,(function(e){throw new Error("checkLiveness is not implemented")}))}))},retryLocationAccess:function(){return null}});function Xe(e,t){if(t)switch(function(e){var t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(n)}(t).iss){case"https://auth.idmission.com/auth/realms/identity":return Ke.prod;case"https://demoauth.idmission.com/auth/realms/identity":return Ke.demo}var n=Ke[e];if(!n)throw new Error("unrecognized SubmissionEnvironment ".concat(e));return n}function Je(e){var t={"Content-Type":"application/json",Origin:"*"};return e&&(t.Authorization="Bearer ".concat(e)),t}function Ze(e,t){var n=t.geolocationResult,r={selfie:t.selfieCaptureAttempts,front:t.idFrontCaptureAttempts,back:t.idBackCaptureAttempts,isRealIDCheckRequired:"false",sdkVersion:"WebSDK_".concat(We),Resolution:"".concat(window.innerWidth," x ").concat(window.innerHeight)},o=He();o&&(r.os=o.os.family,r.osVersion=o.os.version,r.browserVersion="".concat(o.name," ").concat(o.version)),n&&(r.GeoLocation=JSON.stringify(n)),e.additionalData.metadata=JSON.stringify(r)}function Qe(e){return v(this,void 0,void 0,(function(){return b(this,(function(t){return[2,e.replace(/^data:image\/(png|jpeg);base64,/,"")]}))}))}function et(e){return e.replace(/^data:.*;base64,/,"")}function tt(e){var t,n;return null!==(n=null===(t=e.match(/^(data:.*;base64),/))||void 0===t?void 0:t[1])&&void 0!==n?n:""}var nt,rt=h.default.div(nt||(nt=w(["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"],["\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ","px\n );\n overflow-x: hidden;\n overflow-y: auto;\n font-family:\n Inter,\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n Fira Sans,\n Droid Sans,\n Helvetica Neue,\n sans-serif;\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"])),(function(e){var t=e.$heightOffset;return null!=t?t:0})),ot=t.forwardRef((function(e,n){var r=e.children,o=e.className,i=e.heightOffset,a=void 0===i?0:i,s=e.style,u=e.onClick,c=t.useState(!1),d=c[0],h=c[1];return t.useEffect((function(){h(!1);var e=function(){var e=document.documentElement;e.style.setProperty("--app-width","".concat(window.innerWidth,"px")),e.style.setProperty("--app-height","".concat(window.innerHeight,"px"))};return window.addEventListener("resize",e),e(),h(!0),function(){window.removeEventListener("resize",e)}}),[]),l.default.createElement(rt,{ref:n,style:s,onClick:u,className:o,$heightOffset:a},d&&r)}));ot.displayName="PageContainer";var it,at,st,lt,ut=h.default(ot)(it||(it=w(["\n background: white;\n z-index: 10000;\n"],["\n background: white;\n z-index: 10000;\n"]))),ct=h.default.div(at||(at=w(["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"],["\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 25px;\n max-height: var(--app-height);\n height: 100%;\n box-sizing: border-box;\n"]))),dt=h.default.div(st||(st=w(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"],["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: var(--app-width);\n max-height: var(--app-height);\n overflow: hidden;\n\n & > img {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"]))),ht=h.default.div(lt||(lt=w(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"],["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"]))),ft=function(){return ft=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},ft.apply(this,arguments)},pt={lines:12,length:7,width:5,radius:10,scale:1,corners:1,color:"#000",fadeColor:"transparent",animation:"spinner-line-fade-default",rotate:0,direction:1,speed:1,zIndex:2e9,className:"spinner",top:"50%",left:"50%",shadow:"0 0 1px transparent",position:"absolute"},gt=function(){function e(e){void 0===e&&(e={}),this.opts=ft(ft({},pt),e)}return e.prototype.spin=function(e){return this.stop(),this.el=document.createElement("div"),this.el.className=this.opts.className,this.el.setAttribute("role","progressbar"),mt(this.el,{position:this.opts.position,width:0,zIndex:this.opts.zIndex,left:this.opts.left,top:this.opts.top,transform:"scale("+this.opts.scale+")"}),e&&e.insertBefore(this.el,e.firstChild||null),function(e,t){var n=Math.round(t.corners*t.width*500)/1e3+"px",r="none";!0===t.shadow?r="0 2px 4px #000":"string"==typeof t.shadow&&(r=t.shadow);for(var o=function(e){for(var t=/^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/,n=[],r=0,o=e.split(",");r<o.length;r++){var i=o[r].match(t);if(null!==i){var a=+i[2],s=+i[5],l=i[4],u=i[7];0!==a||l||(l=u),0!==s||u||(u=l),l===u&&n.push({prefix:i[1]||"",x:a,y:s,xUnits:l,yUnits:u,end:i[8]})}}return n}(r),i=0;i<t.lines;i++){var a=~~(360/t.lines*i+t.rotate),s=mt(document.createElement("div"),{position:"absolute",top:-t.width/2+"px",width:t.length+t.width+"px",height:t.width+"px",background:vt(t.fadeColor,i),borderRadius:n,transformOrigin:"left",transform:"rotate("+a+"deg) translateX("+t.radius+"px)"}),l=i*t.direction/t.lines/t.speed;l-=1/t.speed;var u=mt(document.createElement("div"),{width:"100%",height:"100%",background:vt(t.color,i),borderRadius:n,boxShadow:bt(o,a),animation:1/t.speed+"s linear "+l+"s infinite "+t.animation});s.appendChild(u),e.appendChild(s)}}(this.el,this.opts),this},e.prototype.stop=function(){return this.el&&("undefined"!=typeof requestAnimationFrame?cancelAnimationFrame(this.animateId):clearTimeout(this.animateId),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.el=void 0),this},e}();function mt(e,t){for(var n in t)e.style[n]=t[n];return e}function vt(e,t){return"string"==typeof e?e:e[t%e.length]}function bt(e,t){for(var n=[],r=0,o=e;r<o.length;r++){var i=o[r],a=yt(i.x,i.y,t);n.push(i.prefix+a[0]+i.xUnits+" "+a[1]+i.yUnits+i.end)}return n.join(", ")}function yt(e,t,n){var r=n*Math.PI/180,o=Math.sin(r),i=Math.cos(r);return[Math.round(1e3*(e*i+t*o))/1e3,Math.round(1e3*(-e*o+t*i))/1e3]}function wt(e){if(void 0!==e){if(e.classList.contains("ladda-button")||e.classList.add("ladda-button"),e.hasAttribute("data-style")||e.setAttribute("data-style","expand-right"),!e.querySelector(".ladda-label")){var t=document.createElement("span");t.className="ladda-label",function(e,t){var n=document.createRange();n.selectNodeContents(e),n.surroundContents(t),e.appendChild(t)}(e,t)}var n,r,o=e.querySelector(".ladda-spinner");o||((o=document.createElement("span")).className="ladda-spinner"),e.appendChild(o);var i={start:function(){return r||(r=function(e){var t,n,r=e.offsetHeight;0===r&&(r=parseFloat(window.getComputedStyle(e).height));r>32&&(r*=.8);e.hasAttribute("data-spinner-size")&&(r=parseInt(e.getAttribute("data-spinner-size"),10));e.hasAttribute("data-spinner-color")&&(t=e.getAttribute("data-spinner-color"));e.hasAttribute("data-spinner-lines")&&(n=parseInt(e.getAttribute("data-spinner-lines"),10));var o=.2*r;return new gt({color:t||"#fff",lines:n||12,radius:o,length:.6*o,width:o<7?2:3,animation:"ladda-spinner-line-fade",zIndex:"auto",top:"auto",left:"auto",className:""})}(e)),e.disabled=!0,e.setAttribute("data-loading",""),clearTimeout(n),r.spin(o),this.setProgress(0),this},startAfter:function(e){return clearTimeout(n),n=setTimeout((function(){i.start()}),e),this},stop:function(){return i.isLoading()&&(e.disabled=!1,e.removeAttribute("data-loading")),clearTimeout(n),r&&(n=setTimeout((function(){r.stop()}),1e3)),this},toggle:function(){return this.isLoading()?this.stop():this.start()},setProgress:function(t){t=Math.max(Math.min(t,1),0);var n=e.querySelector(".ladda-progress");0===t&&n&&n.parentNode?n.parentNode.removeChild(n):(n||((n=document.createElement("div")).className="ladda-progress",e.appendChild(n)),n.style.width=(t||0)*e.offsetWidth+"px")},isLoading:function(){return e.hasAttribute("data-loading")},remove:function(){clearTimeout(n),e.disabled=!1,e.removeAttribute("data-loading"),r&&(r.stop(),r=null)}};return i}console.warn("Ladda button target must be defined.")}var xt,Et,Ct,St=function(e){var n=e.children,r=e.colors,o=void 0===r?{}:r,i=e.disabled,a=e.finished,s=e.onClick,u=e.style,c=t.useRef(null),d=t.useRef(null);return o.backgroundColor||(o.backgroundColor="#16a085"),o.textColor||(o.textColor="white"),o.loadingBackgroundColor||(o.loadingBackgroundColor="gray"),o.loadingTextColor||(o.loadingTextColor="white"),t.useEffect((function(){if(c.current){d.current=wt(c.current),d.current.start();var e=0,t=setInterval((function(){var t;e<.9&&(e+=.1),null===(t=d.current)||void 0===t||t.setProgress(e)}),250);return function(){var e;null===(e=d.current)||void 0===e||e.remove(),clearInterval(t)}}}),[]),t.useEffect((function(){var e;a&&(null===(e=d.current)||void 0===e||e.stop())}),[a]),l.default.createElement(kt,{className:"ladda-button","data-style":"expand-right",disabled:i,ref:c,onClick:s,$backgroundColor:o.backgroundColor,$textColor:o.textColor,$disabledBackgroundColor:o.loadingBackgroundColor,$disabledTextColor:o.loadingTextColor,style:u},l.default.createElement("span",{className:"ladda-label"},n))},kt=h.default.button(xt||(xt=w(["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"],["\n border-radius: 0;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n\n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n filter: brightness(1.15);\n }\n\n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n\n --bs-btn-color: ",";\n --bs-btn-bg: ",";\n --bs-btn-border-color: ",";\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ",";\n --bs-btn-disabled-bg: ",";\n --bs-btn-disabled-border-color: ",";\n\n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n"])),(function(e){var t=e.$textColor;return null!=t?t:"#fff"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$backgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledTextColor;return null!=t?t:"#fff"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"}),(function(e){var t=e.$disabledBackgroundColor;return null!=t?t:"#0d6efd"})),Tt=function(e){var n=e.accessBlockedImageUrl,r=xe().t,o=t.useContext(Ye).retryLocationAccess;return l.default.createElement(ut,null,l.default.createElement("div",{style:{display:"flex",height:"100%"}},l.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},l.default.createElement(dt,{style:{flexGrow:0}},l.default.createElement("img",{src:n,alt:""})),l.default.createElement("h3",null,r("Your location access is disabled")),l.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},r("This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.")),l.default.createElement(St,{onClick:o,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},r("Retry")))))},It=function(e){function t(t){var n=e.call(this,t.statusMessage)||this;return n.status=t,n}return g(t,e),t}(Error),At=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return g(t,e),t}(Error),Dt=function(e){var t=e.error;return l.default.createElement(ut,null,l.default.createElement(ct,{style:{justifyContent:"center"}},t instanceof At?l.default.createElement(_t,{error:t,onRetry:e.onRetry}):l.default.createElement(Rt,{error:t})))},Rt=function(e){var t=e.error,n=(0,xe().t)("We're sorry, an unexpected error has occurred.");return l.default.createElement(l.default.Fragment,null,l.default.createElement("h3",{style:{marginBottom:8}},n),t.status.statusCode&&l.default.createElement("p",{style:{marginBottom:0}},l.default.createElement("code",null,"Status: ",t.status.statusCode)),l.default.createElement("p",{style:{marginBottom:0}},"Message: ",l.default.createElement("code",null,t.message)),t.status.errorData&&l.default.createElement("p",{style:{marginBottom:0}},"Data: ",l.default.createElement("code",null,t.status.errorData)))},_t=function(e){var t=e.onRetry,n=xe().t,r=n("Network unreachable"),o=n("We're having trouble reaching our services, please check your connection and try again."),i=n("Retry");return l.default.createElement(l.default.Fragment,null,l.default.createElement("h3",{style:{marginBottom:8}},r),l.default.createElement("p",{style:{marginBottom:0}},o),t&&l.default.createElement("div",{style:{marginTop:32}},l.default.createElement(St,{colors:{backgroundColor:"#ea8557"},finished:!0,onClick:t},i)))},Ft=function(e){var n=e.action,r=e.children,o=e.url,i=e.environment,a=void 0===i?"prod":i,s=e.token,u=e.companyId,c=e.enrollmentId,d=e.personalData,h=e.cardData,f=e.manualReviewRequired,p=void 0!==f&&f,g=e.verifyIdWithExternalDatabases,w=void 0!==g&&g,x=e.deduplicationEnabled,E=void 0!==x&&x,C=e.deduplicationSynchronous,S=void 0!==C&&C,k=e.geolocationEnabled,T=void 0===k||k,I=e.geolocationRequired,A=void 0!==I&&I,D=e.webhooksEnabled,R=void 0!==D&&D,_=e.webhooksClientTraceId,F=e.webhooksStripSpecialCharacters,M=void 0===F||F,L=e.onBeforeSubmit,P=e.onResponseReceived,B=e.onRequestFailure,O=t.useState(Ve.READY),N=O[0],U=O[1],j=t.useState(null),G=j[0],$=j[1],z=t.useState(null),q=z[0],V=z[1],W=t.useState(null),H=W[0],K=W[1],Y=t.useState(null),X=Y[0],J=Y[1],Z=t.useState(null),Q=Z[0],ee=Z[1],te=t.useState(null),ne=te[0],re=te[1],oe=t.useState(null),ie=oe[0],ae=oe[1],se=t.useState(null),le=se[0],ue=se[1],ce=t.useState(null),de=ce[0],he=ce[1],fe=t.useState(null),pe=fe[0],ge=fe[1],me=t.useState(null),ve=me[0],be=me[1],ye=t.useState(null),we=ye[0],xe=ye[1],Ee=t.useState(0),Ce=Ee[0],Se=Ee[1],ke=t.useState(!1),Te=ke[0],Ie=ke[1],Ae=t.useState([]),De=Ae[0],Re=Ae[1],_e=t.useState([]),Fe=_e[0],Me=_e[1],Le=t.useState([]),Pe=Le[0],Be=Le[1],Oe=t.useCallback((function(e){Re((function(t){return y(y([],t,!0),[e],!1)}))}),[]),Ne=t.useCallback((function(e){Me((function(t){return y(y([],t,!0),[e],!1)}))}),[]),Ue=t.useCallback((function(e){Be((function(t){return y(y([],t,!0),[e],!1)}))}),[]),je=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){var e,t,r,i,l,f,g,v,y,x,C,k;return b(this,(function(b){switch(b.label){case 0:if(n===qe.NONE)return e={status:{statusCode:"000"},resultData:{}},U(Ve.SUBMITTED),V(e),[2,e];U(Ve.SUBMITTING),b.label=1;case 1:return b.trys.push([1,8,,9]),t={securityData:{userName:"",password:"",merchantId:0},customerData:{idData:{idType:"NSP",idCountry:"NSP",idState:""}},additionalData:{uniqueRequestId:(new Date).getTime().toString(),manualReviewRequired:p?"Y":"N",bypassAgeValidation:"N",deDuplicationRequired:E?"Y":"N",bypassNameMatching:"Y",postDataAPIRequired:R?"Y":"N",sendInputImagesInPost:"N",sendProcessedImagesInPost:"N",needImmediateResponse:"N",deduplicationSynchronous:S?"Y":"N",verifyDataWithHost:w?"Y":"N",idBackImageRequired:"N",stripSpecialCharacters:M?"Y":"N",idImageResolutionCheck:"Y"}},Q&&(t.customerData.idData.idImageFront=Q),ne&&(t.customerData.idData.idImageBack=ne),ie&&(t.customerData.idData.idImageFront=ie),le&&(n===qe.IDENTIFY?t.biometricData={selfie:le}:t.customerData.biometricData={selfie:le}),u&&(t.employee={companyId:u}),d&&(t.customerData.personalData=d),h&&(t.customerData.cardData=h),c&&((k=t.customerData).personalData||(k.personalData={}),t.customerData.personalData.uniqueNumber=c),_&&(t.additionalData.clientTraceId=_),de&&(t.customerData.signatureData={signatureImage:JSON.stringify(de)}),ve&&(t.customerData.additionalDocuments=ve.map((function(e){return m(m({},e),{additionalDocument:JSON.stringify(m(m({},e.additionalDocument),{uniqueId:t.additionalData.uniqueRequestId}))})}))),Ze(t,{selfieCaptureAttempts:Pe,idFrontCaptureAttempts:De,idBackCaptureAttempts:Fe,geolocationResult:we}),L?[4,L(t)]:[3,3];case 2:(r=b.sent())&&(t=r),b.label=3;case 3:return i=o||Xe(a,s),l=function(e,t,n,r){var o=r?"v4":"v3";switch(e){case qe.ENROLL:return"/".concat(o,t?"/customer/enroll":"/customer/enroll-biometrics");case qe.IDENTIFY:return"/".concat(o,"/customer/identify");case qe.VALIDATE:return"/".concat(o,n?"/customer/validate-id-match-face":"/customer/validate-id");case qe.VERIFY:return"/".concat(o,"/customer/verify");default:throw new Error("unrecognized SubmissionAction ".concat(e))}}(n,!!(Q||ne||ie),!!le,!!s),[4,fetch(i+l,{method:"POST",headers:Je(s),body:JSON.stringify(t)}).catch((function(e){throw new At(e.message)}))];case 4:return(f=b.sent())&&f.ok?[3,6]:[4,null==f?void 0:f.text()];case 5:if(!(g=b.sent())||"Load failed"===g)throw new At(g);throw new It({statusCode:null!==(C=null==f?void 0:f.statusText)&&void 0!==C?C:"???",statusMessage:g});case 6:return[4,f.json()];case 7:if("000"!==(v=b.sent()).status.statusCode)throw new It(v.status);return $(t),V(v),U(Ve.SUBMITTED),null==P||P(v),[2,v];case 8:throw y=b.sent(),x=y,U(Ve.FAILED),K(y instanceof It||y instanceof At?y:"Load failed"===x.message?new At:new It({statusCode:"",statusMessage:x.message})),J((function(){return["VERIFY","IDENTIFY"].includes(n)?function(){return null}:je})),null==B||B(x),x;case 9:return[2]}}))}))}),[n,ve,h,u,E,S,c,a,we,Fe,ne,De,Q,p,L,B,P,ie,d,Pe,le,de,s,o,w,_,R,M]),Ge=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t,n,r,i,l,u,c,d,h,f,p;return b(this,(function(g){switch(g.label){case 0:return g.trys.push([0,6,,7]),h={securityData:{userName:"",password:"",merchantId:0}},f={},p={},[4,Qe(e)];case 1:return h.customerData=(f.biometricData=(p.selfie=g.sent(),p),f),h.additionalData={uniqueRequestId:(new Date).getTime().toString(),stripSpecialCharacters:"Y",estimateAge:"N",predictGender:"N"},Ze(t=h,{selfieCaptureAttempts:Pe,idFrontCaptureAttempts:De,idBackCaptureAttempts:Fe,geolocationResult:we}),n=o||Xe(a,s),r="/".concat(!!s?"v4":"v3","/customer/live-check"),[4,fetch(n+r,{method:"POST",headers:Je(s),body:JSON.stringify(t)}).catch((function(e){throw new At(e.message)}))];case 2:return(i=g.sent()).ok?[3,4]:[4,i.text()];case 3:if(!(l=g.sent())||"Load failed"===l)throw new At(l);throw new It({statusCode:i.statusText,statusMessage:l});case 4:return[4,i.json()];case 5:if("000"!==(u=g.sent()).status.statusCode)throw new It(u.status);return V(u),[2,u];case 6:throw c=g.sent(),d=c,U(Ve.FAILED),K(c instanceof It||c instanceof At?c:"Load failed"===d.message?new At:new It({statusCode:"",statusMessage:d.message})),J((function(){return function(){return null}})),null==B||B(d),d;case 7:return[2]}}))}))}),[a,we,Fe,De,B,Pe,s,o]),$e=t.useCallback((function(){Se((function(e){return e+1}))}),[]);t.useEffect((function(){T&&(console.log("making geolocation attempt",Ce),navigator.geolocation.getCurrentPosition((function(e){xe(e),Ie(!1)}),(function(e){if(1!==e.code)throw new Error(e.message);Ie(!0)})))}),[Ce,T,A]);var ze=t.useCallback((function(){X&&(K(null),U(Ve.READY),X())}),[X]);return l.default.createElement(Ye.Provider,{value:{submit:je,submissionStatus:N,submissionRequest:G,submissionResponse:q,submissionError:H,submissionEnvironment:a,idFrontImage:Q,idBackImage:ne,passportImage:ie,selfieImage:le,signatureData:de,signatureVideo:pe,additionalDocuments:ve,setIdFrontImage:ee,setIdBackImage:re,setPassportImage:ae,setSelfieImage:ue,setSignatureData:he,setSignatureVideo:ge,setAdditionalDocuments:be,logIdFrontCaptureAttempt:Oe,logIdBackCaptureAttempt:Ne,logSelfieCaptureAttempt:Ue,checkLiveness:Ge,retryLocationAccess:$e}},A&&Te?l.default.createElement(Tt,null):r,H&&l.default.createElement(Dt,{error:H,onRetry:ze}))};function Mt(e){return v(this,void 0,void 0,(function(){var t,n,r,o,i,a;return b(this,(function(s){switch(s.label){case 0:return Ct?[2,Ct]:[4,f.loadGraphModel(e)];case 1:return Ct=s.sent(),[4,f.ready()];case 2:return s.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),r=f.tensor4d(Array.from(n.dataSync()),[1,448,448,3]),o=f.cast(r,"int32"),a=(i=f).dispose,[4,Ct.executeAsync(o)];case 3:return a.apply(i,[s.sent()]),n.dispose(),o.dispose(),r.dispose(),f.dispose(t),[2,Ct]}}))}))}!function(e){e.NONE="NONE",e.ID_CARD="ID_CARD",e.ID_CARD_FRONT="ID_CARD_FRONT",e.ID_CARD_BACK="ID_CARD_BACK",e.PASSPORT="PASSPORT"}(Et||(Et={}));var Lt={1:"Document",2:"MRZ",3:"PDF417",4:"Primary face",5:"Secondary face",6:"Glare",7:"Punch Hole",8:"Passport Page"};function Pt(e,t,n){return e[t]?e[t][0]?e[t][0][n]:e[t][n]:"contentBoxSize"===t?e.contentRect["inlineSize"===n?"width":"height"]:void 0}function Bt(e){void 0===e&&(e={});var n=e.onResize,r=t.useRef(void 0);r.current=n;var o=e.round||Math.round,i=t.useRef(),a=t.useState({width:void 0,height:void 0}),s=a[0],l=a[1],u=t.useRef(!1);t.useEffect((function(){return u.current=!1,function(){u.current=!0}}),[]);var c=t.useRef({width:void 0,height:void 0}),d=function(e,n){var r=t.useRef(null),o=t.useRef(null);o.current=n;var i=t.useRef(null);t.useEffect((function(){a()}));var a=t.useCallback((function(){var t=o.current,n=i.current||(t?t instanceof Element?t:t.current:null);r.current&&r.current.element===n&&r.current.subscriber===e||(r.current&&r.current.cleanup&&r.current.cleanup(),r.current={element:n,subscriber:e,cleanup:n?e(n):void 0})}),[e]);return t.useEffect((function(){return function(){r.current&&r.current.cleanup&&(r.current.cleanup(),r.current=null)}}),[]),t.useCallback((function(e){i.current=e,a()}),[a])}(t.useCallback((function(t){return i.current&&i.current.box===e.box&&i.current.round===o||(i.current={box:e.box,round:o,instance:new ResizeObserver((function(t){var n=t[0],i="border-box"===e.box?"borderBoxSize":"device-pixel-content-box"===e.box?"devicePixelContentBoxSize":"contentBoxSize",a=Pt(n,i,"inlineSize"),s=Pt(n,i,"blockSize"),d=a?o(a):void 0,h=s?o(s):void 0;if(c.current.width!==d||c.current.height!==h){var f={width:d,height:h};c.current.width=d,c.current.height=h,r.current?r.current(f):u.current||l(f)}}))}),i.current.instance.observe(t,{box:e.box}),function(){i.current&&i.current.instance.unobserve(t)}}),[e.box,o]),e.ref);return t.useMemo((function(){return{ref:d,width:s.width,height:s.height}}),[d,s.width,s.height])}window.OffscreenCanvas||(window.OffscreenCanvas=function(e,t){var n=this;return this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=t,this.canvas.convertToBlob=function(){return new Promise((function(e){n.canvas.toBlob(e)}))},this.canvas});var Ot=t.createContext({orientation:"landscape",wrapperWidth:1,wrapperHeight:1,wrapperAspectRatio:0,imageAspectRatio:0,wrapperRef:null,setDimensions:function(){return null},onImageLoaded:function(){return null}});let Nt;function Ut(e){if(void 0!==Nt)return Nt;if(e||"undefined"!=typeof navigator&&null!=navigator){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}var jt=function(e){var n=e.width,r=void 0===n?0:n,o=e.height,i=void 0===o?0:o,a=e.padding,s=void 0===a?Ut()?0:50:a,u=e.borderWidth,c=void 0===u?4:u,d=e.borderColor,h=void 0===d?"white":d,f=e.isMirrored,p=void 0!==f&&f,g=e.instruction,v=void 0===g?"":g,b=e.portraitGuidesImageUrl,y=e.landscapeGuidesImageUrl,w=e.onClick,x=t.useContext(Ot),E=x.orientation,C=x.wrapperRef,S=x.wrapperWidth,k=x.wrapperHeight,T=x.imageAspectRatio,I=x.wrapperAspectRatio,A=x.onImageLoaded,D=x.setDimensions;0==r&&(r=S),0==i&&(i=k),t.useEffect((function(){D({width:r,height:i})}),[i,D,r]);var R={height:k-2*s-2*c};return T>=I&&(R={width:S-2*s-2*c}),l.default.createElement(ot,{ref:C,onClick:w,style:{zIndex:1e3}},l.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},v)),l.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*s,"px - ").concat(2*c,"px)")}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}}),l.default.createElement("div",{style:{transform:p?"scaleX(-1)":"",border:"".concat(c,"px solid ").concat(h),maxWidth:"calc(100% - ".concat(2*s,"px - ").concat(2*c,"px)"),maxHeight:i-2*s-2*c}},l.default.createElement("img",{src:"portrait"===E?b:y,alt:"",onLoad:A,style:m({},R)})),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:s,flexGrow:1}})),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},""!==v&&l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},v))))};function Gt(e){return v(this,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return"BarcodeDetector"in window?(t=new BarcodeDetector({formats:["pdf417"]}),console.log("this is a real native result!"),[4,t.detect(e)]):[2,[]];case 1:return[2,n.sent()]}}))}))}function $t(e,t){return void 0===t&&(t=!1),v(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,u,c;return b(this,(function(d){switch(d.label){case 0:return[4,new Promise((function(a){if(o=e.naturalWidth,i=e.naturalHeight,n=document.createElement("canvas"),!(r=n.getContext("2d")))return[];if(t){console.log("rotating!!"),n.width=i,n.height=o,r.setTransform(0,1,-1,0,n.width,0),r.drawImage(e,0,0,o,i);var s=new Image;s.width=n.width,s.height=n.height,s.onload=function(){a(s)},n.toBlob((function(e){e&&(s.src=URL.createObjectURL(e))}))}else r.drawImage(e,0,0,n.width,n.height),a(e)}))];case 1:return a=d.sent(),s=new ZXing.BitmapLuminanceSource(r,a),l=new ZXing.Common.HybridBinarizer(s),u=new ZXing.BinaryBitmap(l),c=ZXing.PDF417.PDF417Reader.decode(u,null,!1),r.clearRect(0,0,n.width,n.height),n.remove(),[2,c]}}))}))}function zt(){return"BarcodeDetector"in window}function qt(e,t){var n=this;return new Promise((function(r){var o=new Image;o.onload=function(){return v(n,void 0,void 0,(function(){var e,n,i,a;return b(this,(function(s){switch(s.label){case 0:return zt()?[4,Gt(o)]:[3,2];case 1:return n=s.sent(),console.log("native result",n,"".concat(o.width,"x").concat(o.height)),r(n.length>0?m(m({},n[0]),{Source:"native"}):null),[3,4];case 2:return e=(null!==(i=null==t?void 0:t[2])&&void 0!==i?i:0)<(null!==(a=null==t?void 0:t[3])&&void 0!==a?a:0),[4,$t(o,e)];case 3:n=s.sent(),console.log("zxing result",n),r(n.length>0?m(m({},n[0]),{Source:"zxing"}):null),s.label=4;case 4:return[2]}}))}))},o.src=URL.createObjectURL(e)}))}function Vt(){if(!(["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document))return!1;var e=window.screen.width<window.screen.height?window.screen.width:window.screen.height,t=window.screen.width*window.devicePixelRatio,n=window.screen.height*window.devicePixelRatio;return 1179==t&&2556==n||1290==t&&2796==n&&(393==e||430==e)}var Wt,Ht=["front","avant","anteriore","cameraaanvoorzijde","kamerapåframsidan","forsidekamera","kamerapåforsiden","aparatprzedni","etukamera","kameradepan","ÖnKamera","cameramặttrước","camerăfață","prednákamera","prednjakamera","előlapikamera","přednífotoaparát","μπροστινήκάμερα","переднякамера","передняякамера","преднакамера","алдыңғыкамера","מצלמה קדמית","الكاميرا الأمامية","फ़्रंटकैमरा","前置相机","前置鏡頭","前面カメラ","전면카메라","กล้องด้านหน้า"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Kt=["back","rear","posterior","trasera","traseira","arrière","rückkamera","fotocamera(posteriore)","cameraaanachterzijde","kamerapåbaksidan","kamerapåbaksiden","bagsidekamera","aparattylny","takakamera","arkakamera","kamerabelakang","cameramặtsau","camerăspate","stražnjakamera","zadnákamera","hátoldalikamera","zadnífotoaparát","πίσωκάμερα","заднякамера","Задняякамера","заднакамера","артқыкамера","מצלמה אחורית","الكاميرا الخلفية","बैककैमरा","后置相机","後置鏡頭","背面カメラ","후면카메라","กล้องด้านหลัง"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Yt=["backultrawidecamera","ultraampliaposterior","ultra-angulartraseira","ultragrandeangulartraseira","ultragrandangle","ultragranangular","ultra-weitwinkelkamera","ultra-grandangolo","ultrabredecameraaanachterzijde","ultravidvinkelkamerapåbaksidan","ultravidvinkelkameraetpåbagsiden","ultravidvinkelkamerabak","ultragenişkameraarkayüzü","ultralaajakulmainentakakamera","tylnyaparatultraszerokokątny","cameracựcrộngmặtsau","camerăcuobiectivultra‑superangularspate","ultraszéleslátószögűkamera","kameraultralebarbelakang","stražnjaultraširokakamera","zadníultraširokoúhlýfotoaparát","ultraširokouhlá","πίσωυπερευρείακάμερα","заднянадширококутнакамера","Задняясверхширокоугольнаякамера","Задна свръх широкоъгълна камера","артқыультракеңбұрыштыкамера","מצלמה אולטרה רחבה אחורית","كاميرا خلفية عريضة جدًا","बैकअल्ट्रावाइडकैमरा","后置超广角相机","後置超廣角鏡頭相機","背面超広角カメラ","후면울트라와이드카메라","กล้องด้านหลังอัลตร้าไวด์"].map((function(e){return e.toLocaleLowerCase().split(" ").join("")})),Xt=function(e,t){var n=e instanceof MediaDeviceInfo?Jt(e):e;return("string"==typeof t?[t]:t).some((function(e){return n.includes(e)}))},Jt=function(e){return e.label.toLocaleLowerCase().split(" ").join("")};function Zt(){Wt&&(console.log("releasing camera access..."),Wt.release(),Wt=void 0)}var Qt,en=function(e){var n=void 0===e?{preferFrontFacingCamera:!1,preferContinuityCamera:!0,requestMicrophoneAccess:!1}:e,r=n.preferFrontFacingCamera,o=void 0!==r&&r,i=n.preferContinuityCamera,a=void 0===i||i,s=n.requestMicrophoneAccess,l=void 0!==s&&s,u=t.useRef(null),c=t.useRef(null),d=t.useState(null),h=d[0],f=d[1],p=t.useState(!1),g=p[0],m=p[1],w=t.useState(null),x=w[0],E=w[1],C=t.useState(!1),S=C[0],k=C[1],T=t.useState(a),I=T[0],A=T[1],D=t.useState(!1),R=D[0],_=D[1],F=t.useState(!1),M=F[0],L=F[1];t.useEffect((function(){console.log("iphone continuity camera allowed changed",I),Zt(),c.current=null,m(!1)}),[I]);var P=t.useCallback((function(){L(!1)}),[]);t.useEffect((function(){M||function(e){return v(this,void 0,void 0,(function(){var t,n;return b(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,navigator.mediaDevices.getUserMedia({video:{facingMode:{exact:e}},audio:!1})];case 1:return t=r.sent(),[3,3];case 2:return r.sent(),[2,[]];case 3:return[4,navigator.mediaDevices.enumerateDevices()];case 4:return n=r.sent().filter((function(e){return"videoinput"===e.kind})),t.getVideoTracks().forEach((function(e){e.enabled=!1,e.stop()})),t=null,[2,n]}}))}))}().then((function(e){var t,n=He();if(!(R||n&&"OS X"!==n.os.family)){var r=e.find((function(e){return Xt(e,"iphone")}));k(!!r),r&&I&&(t=r)}o&&(t=e.find((function(e){return Xt(e,Ht)}))),Vt()?t||(t=e.find((function(e){return Xt(e,Yt)}))):t||(t=e.find((function(e){return Xt(e,Kt)&&!Xt(e,Yt)}))),t||(t=e.find((function(e){return Xt(e,Kt)}))),!o&&"iOS"===(null==n?void 0:n.os.family)&&e.length>0&&(t||(t=e[1])),t||(t=e[0]),f(t)})).catch((function(e){if("NotAllowedError"!==e.name)throw e;console.error("camera access has been blocked by the user",e),L(!0)}))}),[M,I,R,o]),t.useEffect((function(){var e;if(h){var t=function(){Zt(),c.current=null,m(!1)};return(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia)?(v(void 0,void 0,void 0,(function(){var e,t,n;return b(this,(function(r){switch(r.label){case 0:e=null,r.label=1;case 1:return r.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:l,video:{deviceId:{exact:h.deviceId},width:{ideal:1920},aspectRatio:1.777777778}})];case 2:return e=r.sent(),[3,4];case 3:return"NotAllowedError"===r.sent().name?(I?(k(!1),_(!0)):L(!0),[2]):[3,4];case 4:if(e)return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 6:return e=r.sent(),console.log("opened stream with no width and height constraints"),[3,8];case 7:return r.sent(),console.log("cannot open stream at all"),[3,8];case 8:if(!e)throw new Error("failed to open camera");return t=function(){S&&I?(console.log("someone unplugged the continuity camera"),Zt(),c.current=null,k(!1),_(!0),E(null),f(null)):(console.log("someone unplugged the webcam"),Zt(),c.current=null,m(!1),L(!0),E(null))},null===(n=u.current)||void 0===n||n.addEventListener("ended",t),e.getVideoTracks().forEach((function(e){e.onended=t})),c.current=function(e,t,n){Zt(),console.log("obtaining camera access...");var r=e.getVideoTracks()[0].getSettings(),o=r.width,i=r.height,a=t.toLocaleLowerCase().split(" ").join(""),s=Xt(a,y(y(y([],Kt,!0),Yt,!0),["iphone"],!1));return o||(o=0),i||(i=0),Wt={label:t,stream:e,width:o,height:i,isRearFacing:s,release:function(){e.getTracks().forEach((function(e){e.enabled=!1,e.stop()})),n&&(n.pause(),n.srcObject=null,n.src="")}},n&&(n.srcObject=e),Wt}(e,h.label,u.current),[2]}}))})),t):t}}),[I,S,l,h]),t.useEffect((function(){E(null),g&&v(void 0,void 0,void 0,(function(){var e,t,n,r;return b(this,(function(o){return(e=(null!==(r=null===(n=null===(t=c.current)||void 0===t?void 0:t.stream)||void 0===n?void 0:n.getVideoTracks())&&void 0!==r?r:[])[0])?(E(new ImageCapture(e)),[2]):[2]}))}))}),[g]);var B=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return x?[4,x.grabFrame()]:[2,null];case 1:return[2,e.sent()]}}))}))}),[x]),O=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){var e,t,n,r,o;return b(this,(function(i){switch(i.label){case 0:return e=document.createElement("canvas"),(t=e.getContext("2d"))&&c.current&&u.current?(e.width=null===(r=u.current)||void 0===r?void 0:r.videoWidth,e.height=null===(o=u.current)||void 0===o?void 0:o.videoHeight,t.drawImage(u.current,0,0,e.width,e.height),n=e.toDataURL("image/jpeg",.98),[4,fetch(n)]):[2,null];case 1:return[4,i.sent().blob()];case 2:return[2,i.sent()]}}))}))}),[]);return{videoRef:u,videoDevice:h,videoLoaded:g,setVideoLoaded:m,cameraRef:c,cameraAccessDenied:M,retryCameraAccess:P,releaseCameraAccess:Zt,iphoneContinuityCameraAvailable:S,iphoneContinuityCameraAllowed:I,setIphoneContinuityCameraAllowed:A,captureDevice:x,grabFrame:B,takePhoto:O}},tn=t.createContext({videoRef:{current:null},videoLoaded:!1,cameraRef:{current:null},cameraReady:!1,cameraAccessDenied:!1,retryCameraAccess:function(){return null},releaseCameraAccess:function(){return null},iphoneContinuityCameraAvailable:!1,iphoneContinuityCameraAllowed:!0,setIphoneContinuityCameraAllowed:function(){return null},grabFrame:function(){return Promise.resolve(null)},takePhoto:function(){return Promise.resolve(null)},setVideoLoaded:function(){return null}}),nn=function(e){var n=e.children,r=e.preferFrontFacingCamera,o=e.preferContinuityCamera,i=e.requestMicrophoneAccess,a=en({preferFrontFacingCamera:void 0!==r&&r,preferContinuityCamera:void 0===o||o,requestMicrophoneAccess:void 0!==i&&i}),s=a.videoRef,u=a.videoLoaded,c=a.setVideoLoaded,d=a.cameraRef,h=a.cameraAccessDenied,f=a.retryCameraAccess,p=a.releaseCameraAccess,g=a.iphoneContinuityCameraAvailable,m=a.iphoneContinuityCameraAllowed,v=a.setIphoneContinuityCameraAllowed,b=a.grabFrame,y=a.takePhoto,w=a.captureDevice,x=t.useState(!1),E=x[0],C=x[1];return t.useEffect((function(){C(!1),w&&C(!0)}),[w]),t.useEffect((function(){return function(){p()}}),[p]),l.default.createElement(tn.Provider,{value:{videoRef:s,videoLoaded:u,setVideoLoaded:c,cameraRef:d,cameraReady:E,cameraAccessDenied:h,releaseCameraAccess:p,retryCameraAccess:f,iphoneContinuityCameraAvailable:g,iphoneContinuityCameraAllowed:m,setIphoneContinuityCameraAllowed:v,grabFrame:b,takePhoto:y}},n)};function rn(e){return v(this,void 0,void 0,(function(){var t,n,r,o,i,a,s,l,u;return b(this,(function(c){switch(c.label){case 0:return Qt?[2,Qt]:[4,f.loadLayersModel(e)];case 1:return Qt=c.sent(),[4,f.ready()];case 2:return c.sent(),t=f.zeros([448,448,3]),n=f.cast(t,"int32"),i=(o=f).tensor4d,s=(a=Array).from,[4,n.data()];case 3:return r=i.apply(o,[s.apply(a,[c.sent()]),[1,448,448,3]]),l=f.cast(r,"int32"),[4,Qt.predict(l)];case 4:return[4,(u=c.sent()).data()];case 5:return c.sent(),f.dispose(u),n.dispose(),l.dispose(),r.dispose(),f.dispose(t),[2,Qt]}}))}))}class on{refCount(e){return an("refCount")}incRef(e){return an("incRef")}timerAvailable(){return!0}time(e){return an("time")}read(e){return an("read")}readSync(e){return an("readSync")}readToGPU(e,t){return an("readToGPU")}numDataIds(){return an("numDataIds")}disposeData(e,t){return an("disposeData")}write(e,t,n){return an("write")}move(e,t,n,r,o){return an("move")}createTensorFromGPUData(e,t,n){return an("createTensorFromGPUData")}memory(){return an("memory")}floatPrecision(){return an("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return an("dispose")}}function an(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function sn(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function ln(e){if(0===e.length)return 1;let t=e[0];for(let n=1;n<e.length;n++)t*=e[n];return t}function un(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function cn(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function dn(e){if("float32"===e||"int32"===e)return 4;if("complex64"===e)return 8;if("bool"===e)return 1;throw new Error(`Unknown dtype ${e}`)}function hn(e){return"string"==typeof e||e instanceof String}function fn(e){return Array.isArray(e)?fn(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":"number"==typeof e?"float32":hn(e)?"string":function(e){return"boolean"==typeof e}(e)?"bool":"float32"}function pn(e){return!!(e&&e.constructor&&e.call&&e.apply)}function gn(e){const t=e.length;if(t<2)return[];const n=new Array(t-1);n[t-2]=e[t-1];for(let r=t-3;r>=0;--r)n[r]=n[r+1]*e[r+1];return n}function mn(e,t,n,r=!1){const o=new Array;if(1===t.length){const i=t[0]*(r?2:1);for(let t=0;t<i;t++)o[t]=n[e+t]}else{const i=t[0],a=t.slice(1),s=a.reduce(((e,t)=>e*t))*(r?2:1);for(let t=0;t<i;t++)o[t]=mn(e+t*s,a,n,r)}return o}function vn(e,t,n=!1){if(0===e.length)return t[0];const r=e.reduce(((e,t)=>e*t))*(n?2:1);if(0===r)return[];if(r!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return mn(0,e,t,n)}function bn(e,t){if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t)return new Uint8Array(e);throw new Error(`Unknown data type ${t}`)}function yn(e){e.forEach((t=>{sn(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function wn(e){return e&&e.then&&"function"==typeof e.then}const xn="tfjsflags";class En{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=Cn,this.populateURLFlags()}setPlatform(e,t){null!=this.platform&&(Sn().getBool("IS_TEST")||Sn().getBool("PROD")||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},null!=this.urlFlags[e]){const t=this.urlFlags[e];Sn().getBool("IS_TEST")||Sn().getBool("PROD")||console.warn(`Setting feature override from URL ${e}: ${t}.`),this.set(e,t)}}async getAsync(e){return e in this.flags||(this.flags[e]=await this.evaluateFlag(e)),this.flags[e]}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(wn(t))throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(null==this.flagRegistry[e])throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,null!=this.flagRegistry[e].setHook&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(null==this.flagRegistry[e])throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(void 0===this.global||void 0===this.global.location||void 0===this.global.location.search)return;const e=this.getQueryParams(this.global.location.search);if(xn in e){e[xn].split(",").forEach((e=>{const[t,n]=e.split(":");this.urlFlags[t]=function(e,t){const n=t.toLowerCase();return"true"===n||"false"===n?"true"===n:""+ +n===n?+n:t}(0,n)}))}}}function Cn(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...n)=>(function(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}(t,n[0],n[1]),n.join("=")))),t}function Sn(){return Tn}let kn,Tn=null;function In(){if(null==kn){let e;if("undefined"!=typeof window)e=window;else if("undefined"!=typeof global)e=global;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}kn=e}return kn}function An(e,t){const n=function(){const e=In();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const Dn="Add",Rn="Cast",_n="Identity";function Fn(...e){Sn().getBool("IS_TEST")||Sn().getBool("PROD")||console.warn(...e)}const Mn=An("kernelRegistry",(()=>new Map)),Ln=An("gradRegistry",(()=>new Map));function Pn(e,t){const n=function(e,t){return`${t}_${e}`}(e,t);return Mn.get(n)}function Bn(e){return Ln.get(e)}function On(e){const t=Mn.entries(),n=[];for(;;){const{done:r,value:o}=t.next();if(r)break;const[i,a]=o,[s]=i.split("_");s===e&&n.push(a)}return n}function Nn(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}function Un(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=zn(e)),Sn().getBool("DEBUG")&&function(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(isNaN(r)||!isFinite(r))throw Error(`A tensor of type ${t} being uploaded contains ${r}.`)}}(e,t),function(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let n=0;n<t.length;++n)0!==Math.round(e[n])&&(t[n]=1);return t}throw new Error(`Unknown data type ${t}`)}function jn(){return Sn().platform.now()}function Gn(e,t="utf-8"){return t=t||"utf-8",Sn().platform.decode(e,t)}function $n(e){return null!=Sn().platform.isTypedArray?Sn().platform.isTypedArray(e):Nn(e)}function zn(e,t=[],n=!1){if(null==t&&(t=[]),"boolean"==typeof e||"number"==typeof e||"string"==typeof e||wn(e)||null==e||$n(e)&&n)t.push(e);else if(Array.isArray(e)||$n(e))for(let r=0;r<e.length;++r)zn(e[r],t,n);else{let r=-1;for(const t of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(t)&&(r=Math.max(r,Number(t)));for(let o=0;o<=r;o++)zn(e[o],t,n)}return t}class qn{constructor(e,t){this.backendTimer=e,this.logger=t,null==t&&(this.logger=new Wn)}profileKernel(e,t,n){let r;const o=()=>{r=n()};let i;const a=jn();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(o);else{o();for(const e of r)e.dataSync();i=Promise.resolve({kernelMs:jn()-a})}if(Sn().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t<r.length;t++){const n=r[t];n.data().then((t=>{Vn(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:i.then((e=>e.kernelMs)),extraInfo:i.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:o,extraInfo:i}=e;n.forEach((e=>{Promise.all([e.data(),r,i]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],o,n[2])}))}))}}function Vn(e,t,n){if("float32"!==t)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(isNaN(r)||!isFinite(r))return console.warn(`Found ${r} in the result of '${n}'`),!0}return!1}class Wn{logKernelProfile(e,t,n,r,o,i){const a="number"==typeof r?cn(`${r}ms`,9):r.error,s=cn(e,25),l=t.rank,u=t.size,c=cn(t.shape.toString(),14);let d="";for(const e in o){const n=o[e];if(null!=n){const r=n.shape||t.shape,o=r.length;d+=`${e}: ${o}D ${o>0?r:""} `}}console.log(`%c${s}\t%c${a}\t%c${l}D ${c}\t%c${u}\t%c${d}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}const Hn=20,Kn=3,Yn=7;function Xn(e,t,n,r){const o=gn(t),i=function(e,t,n,r){const o=ln(t),i=r[r.length-1],a=new Array(i).fill(0),s=t.length,l="complex64"===n?er(e):e;if(s>1)for(let e=0;e<o/i;e++){const t=e*i;for(let e=0;e<i;e++)a[e]=Math.max(a[e],Jn(l[t+e],0,n).length)}return a}(e,t,n,o),a=t.length,s=Qn(e,t,n,o,i),l=["Tensor"];return r&&(l.push(` dtype: ${n}`),l.push(` rank: ${a}`),l.push(` shape: [${t}]`),l.push(" values:")),l.push(s.map((e=>" "+e)).join("\n")),l.join("\n")}function Jn(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(Yn))} + ${parseFloat(e[1].toFixed(Yn))}j`:hn(e)?`'${e}'`:"bool"===n?Zn(e):parseFloat(e.toFixed(Yn)).toString(),cn(r,t)}function Zn(e){return 0===e?"false":"true"}function Qn(e,t,n,r,o,i=!0){const a="complex64"===n?2:1,s=t[0],l=t.length;if(0===l){if("complex64"===n){return[Jn(er(e)[0],0,n)]}return"bool"===n?[Zn(e[0])]:[e[0].toString()]}if(1===l){if(s>Hn){let t=Array.from(e.slice(0,Kn*a)),r=Array.from(e.slice((s-Kn)*a,s*a));return"complex64"===n&&(t=er(t),r=er(r)),["["+t.map(((e,t)=>Jn(e,o[t],n))).join(", ")+", ..., "+r.map(((e,t)=>Jn(e,o[s-Kn+t],n))).join(", ")+"]"]}return["["+("complex64"===n?er(e):Array.from(e)).map(((e,t)=>Jn(e,o[t],n))).join(", ")+"]"]}const u=t.slice(1),c=r.slice(1),d=r[0]*a,h=[];if(s>Hn){for(let t=0;t<Kn;t++){const r=t*d;h.push(...Qn(e.slice(r,r+d),u,n,c,o,!1))}h.push("...");for(let t=s-Kn;t<s;t++){const r=t*d;h.push(...Qn(e.slice(r,r+d),u,n,c,o,t===s-1))}}else for(let t=0;t<s;t++){const r=t*d;h.push(...Qn(e.slice(r,r+d),u,n,c,o,t===s-1))}const f=2===l?",":"";h[0]="["+(s>0?h[0]+f:"");for(let e=1;e<h.length-1;e++)h[e]=" "+h[e]+f;let p=",\n";for(let e=2;e<l;e++)p+="\n";return h[h.length-1]=" "+h[h.length-1]+"]"+(i?"":p),h}function er(e){const t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}class tr{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=ln(e),null!=n){const e=n.length;sn(e===this.size,(()=>`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||function(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else if("bool"===e)n=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);n=new Array(t)}return n}(t,this.size),this.strides=gn(e)}set(e,...t){0===t.length&&(t=[0]),sn(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const n=this.locToIndex(t);this.values[n]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const n of e){if(n<0||n>=this.shape[t]){throw new Error(`Requested out of range element at ${e}. Buffer shape=${this.shape}`)}t++}let n=e[e.length-1];for(let t=0;t<e.length-1;++t)n+=this.strides[t]*e[t];return this.values[n]}locToIndex(e){if(0===this.rank)return 0;if(1===this.rank)return e[0];let t=e[e.length-1];for(let n=0;n<e.length-1;++n)t+=this.strides[n]*e[n];return t}indexToLoc(e){if(0===this.rank)return[];if(1===this.rank)return[e];const t=new Array(this.shape.length);for(let n=0;n<t.length-1;++n)t[n]=Math.floor(e/this.strides[n]),e-=t[n]*this.strides[n];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return nr().makeTensor(this.values,this.shape,this.dtype)}}let nr=null,rr=null;class or{constructor(e,t,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=ln(e),this.strides=gn(e),this.dataId=n,this.id=r,this.rankType=this.rank<5?this.rank.toString():"higher"}get rank(){return this.shape.length}async buffer(){const e=await this.data();return rr.buffer(this.shape,this.dtype,e)}bufferSync(){return rr.buffer(this.shape,this.dtype,this.dataSync())}async array(){const e=await this.data();return vn(this.shape,e,"complex64"===this.dtype)}arraySync(){return vn(this.shape,this.dataSync(),"complex64"===this.dtype)}async data(){this.throwIfDisposed();const e=nr().read(this.dataId);if("string"===this.dtype){const t=await e;try{return t.map((e=>Gn(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),nr().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=nr().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>Gn(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await nr().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(nr().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return rr.print(this,e)}clone(){return this.throwIfDisposed(),rr.clone(this)}toString(e=!1){return Xn(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),rr.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),nr().makeVariable(this,e,t,n)}}Object.defineProperty(or,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),An("Tensor",(()=>or));class ir extends or{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!un(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);nr().disposeTensor(this),this.dataId=e.dataId,nr().incRef(this,null)}dispose(){nr().disposeVariable(this),this.isDisposedInternal=!0}}var ar,sr,lr,ur,cr;Object.defineProperty(ir,Symbol.hasInstance,{value:e=>e instanceof or&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(ar||(ar={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(sr||(sr={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(lr||(lr={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(ur||(ur={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(cr||(cr={}));const dr={float32:ur,int32:sr,bool:lr,complex64:cr};function hr(e){return null!=e&&"object"==typeof e&&"texture"in e&&e.texture instanceof WebGLTexture}function fr(e){return"undefined"!=typeof GPUBuffer&&null!=e&&"object"==typeof e&&"buffer"in e&&e.buffer instanceof GPUBuffer}function pr(e,t){if(e.dtype===t.dtype)return[e,t];const n=function(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return dr[e][t]}(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function gr(e){const t=[];return mr(e,t,new Set),t}function mr(e,t,n){if(null==e)return;if(e instanceof or)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const o=e;for(const e in o){const r=o[e];n.has(r)||(n.add(r),mr(r,t,n))}}function vr(e){return null!=e.kernelName}class br{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class yr{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new br}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t];if(await this.initializeBackend(n).success)return void await this.setBackend(n)}throw new Error("Could not initialize any backends, all backend initializations failed.")}get backend(){if(null!=this.pendingBackendInit)throw new Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);if(null==this.backendInstance){const{name:e,asyncInit:t}=this.initializeBackendsAndReturnBest();if(t)throw new Error(`The highest priority backend '${e}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);this.setBackend(e)}return this.backendInstance}backendNames(){return Object.keys(this.registryFactory)}findBackend(e){if(!(e in this.registry)){if(!(e in this.registryFactory))return null;{const{asyncInit:t}=this.initializeBackend(e);if(t)return null}}return this.registry[e]}findBackendFactory(e){return e in this.registryFactory?this.registryFactory[e].factory:null}registerBackend(e,t,n=1){return e in this.registryFactory?(Fn(`${e} backend was already registered. Reusing existing backend factory.`),!1):(this.registryFactory[e]={factory:t,priority:n},!0)}async setBackend(e){if(null==this.registryFactory[e])throw new Error(`Backend name '${e}' not found in registry`);if(this.backendName=e,null==this.registry[e]){this.backendInstance=null;const{success:t,asyncInit:n}=this.initializeBackend(e);if(!(n?await t:t))return!1}return this.backendInstance=this.registry[e],this.setupRegisteredKernels(),this.profiler=new qn(this.backendInstance),!0}setupRegisteredKernels(){On(this.backendName).forEach((e=>{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){On(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(!n||n instanceof on||"function"!=typeof n.then)return this.registry[e]=n,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,r=n.then((n=>!(t<this.pendingBackendInitId)&&(this.registry[e]=n,this.pendingBackendInit=null,!0))).catch((n=>(t<this.pendingBackendInitId||(this.pendingBackendInit=null,Fn(`Initialization of backend ${e} failed`),Fn(n.stack||n.message)),!1)));return this.pendingBackendInit=r,{success:r,asyncInit:!0}}}catch(t){return Fn(`Initialization of backend ${e} failed`),Fn(t.stack||t.message),{success:!1,asyncInit:!1}}}removeBackend(e){if(!(e in this.registryFactory))throw new Error(`${e} backend not found in registry`);this.backendName===e&&null!=this.pendingBackendInit&&this.pendingBackendInitId++,e in this.registry&&(this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e]),delete this.registryFactory[e],this.backendName===e&&(this.pendingBackendInit=null,this.backendName=null,this.backendInstance=null)}getSortedBackends(){if(0===Object.keys(this.registryFactory).length)throw new Error("No backend found in registry.");return Object.keys(this.registryFactory).sort(((e,t)=>this.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;t<e.length;t++){const n=e[t],{success:r,asyncInit:o}=this.initializeBackend(n);if(o||r)return{name:n,asyncInit:o}}throw new Error("Could not initialize any backends, all backend initializations failed.")}moveData(e,t){const n=this.state.tensorInfo.get(t),r=n.backend,o=this.readSync(t),i=r.refCount(t);r.disposeData(t,!0),n.backend=e,e.move(t,o,n.shape,n.dtype,i),this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack[this.state.numDataMovesStack.length-1]++}tidy(e,t){let n,r=null;if(null==t){if("function"!=typeof e)throw new Error("Please provide a function to tidy()");t=e}else{if("string"!=typeof e&&!(e instanceof String))throw new Error("When calling with two arguments, the first argument to tidy() must be a string");if("function"!=typeof t)throw new Error("When calling with two arguments, the 2nd argument to tidy() must be a function");r=e}return this.scopedRun((()=>this.startScope(r)),(()=>this.endScope(n)),(()=>(n=t(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(e,t,n){e();try{const e=n();return t(),e}catch(e){throw t(),e}}nextTensorId(){return yr.nextTensorId++}nextVariableId(){return yr.nextVariableId++}clone(e){const t=xr.runKernel(_n,{x:e});return this.addTapeNode(this.state.activeScope.name,{x:e},[t],(e=>({x:()=>xr.runKernel(Rn,{x:e},{dtype:"float32"})})),[],{}),t}runKernel(e,t,n){if(!(null!=Pn(e,this.backendName)))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let o=0;n.forEach((e=>{o+="complex64"===e.dtype?3:1}));const i=r-t-o-this.state.numDataMovesStack[this.state.numDataMovesStack.length-1];if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),o=this.state.numBytes,i=this.state.numTensors;let a,s;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);const l=vr(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(vr(e)){const{kernelName:t,inputs:o,attrs:i}=e,l=Pn(t,this.backendName);sn(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),a=()=>{const e=this.backend.numDataIds();s=l.kernelFunc({inputs:o,attrs:i,backend:this.backend});const a=Array.isArray(s)?s:[s];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,a);const u=a.map((e=>null!=e.rank?e:this.makeTensorFromTensorInfo(e)));if(r){const e=this.getTensorsForGradient(t,o,u);n=this.saveTensorsForBackwardMode(e)}return u}}else{const{forwardFunc:t}=e,o=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};a=()=>{const e=this.backend.numDataIds();s=this.tidy((()=>t(this.backend,o)));const n=Array.isArray(s)?s:[s];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:u,attrs:c}=e,d=vr(e)?null:e.backwardsFunc;let h;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(h=this.profiler.profileKernel(l,u,(()=>a())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(h),t=h.outputs):t=a()})),r&&this.addTapeNode(l,u,t,d,n,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-o,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(u).map((e=>null!=u[e]?u[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:h.timeMs,extraInfo:h.extraInfo}),Array.isArray(s)?t:t[0]}saveTensorsForBackwardMode(e){return e.map((e=>this.keep(this.clone(e))))}getTensorsForGradient(e,t,n){const r=Bn(e);if(null!=r){const e=r.inputsToSave||[],o=r.outputsToSave||[];let i;r.saveAllInputs?(sn(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(t).map((e=>t[e]))):i=e.map((e=>t[e]));const a=n.filter(((e,t)=>o[t]));return i.concat(a)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");r=r||this.backend;let o=e;"string"===(n=n||"float32")&&hn(e[0])&&(o=e.map((e=>function(e,t="utf-8"){return t=t||"utf-8",Sn().platform.encode(e,t)}(e))));const i=r.write(o,t,n),a=new or(t,n,i,this.nextTensorId());if(this.trackTensor(a,r),"string"===n){const e=this.state.tensorInfo.get(i),t=function(e){if(null==e)return 0;let t=0;return e.forEach((e=>t+=e.length)),t}(o);this.state.numBytes+=t-e.bytes,e.bytes=t}return a}makeTensorFromDataId(e,t,n,r){return this.makeTensorFromTensorInfo({dataId:e,shape:t,dtype:n=n||"float32"},r)}makeTensorFromTensorInfo(e,t){const{dataId:n,shape:r,dtype:o}=e,i=new or(r,o,n,this.nextTensorId());return this.trackTensor(i,t),i}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const o=new ir(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[o.name])throw new Error(`Variable with name ${o.name} was already registered`);return this.state.registeredVariables[o.name]=o,this.incRef(o,this.backend),o}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*dn(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof ir||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*dn(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){this.disposeVariable(this.state.registeredVariables[e])}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,n,r,o,i){const a={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:o},s=Bn(e);null!=s&&(r=s.gradFunc),null!=r&&(a.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=bn(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],o,i))),this.state.activeTape.push(a)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=gr(e),n=new Set(t.map((e=>e.id)));for(let e=0;e<this.state.activeScope.track.length;e++){const t=this.state.activeScope.track[e];t.kept||n.has(t.id)||t.dispose()}const r=this.state.scopeStack.pop();this.state.activeScope=0===this.state.scopeStack.length?null:this.state.scopeStack[this.state.scopeStack.length-1],t.forEach((e=>{e.kept||e.scopeId!==r.id||this.track(e)}))}gradients(e,t,n,r=!1){if(sn(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const o=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));sn(o instanceof or,(()=>"The result y returned by f() must be a tensor."));const i=function(e,t,n){const r={},o={};for(let e=0;e<t.length;e++)r[t[e].id]=!0;for(let n=0;n<e.length;n++){const i=e[n],a=i.inputs;for(const e in a){const n=a[e];let s=!1;for(let e=0;e<t.length;e++)if(r[n.id]){i.outputs.forEach((e=>r[e.id]=!0)),s=!0,o[i.id]=!0;break}if(s)break}}const i={};i[n.id]=!0;const a={};for(let t=e.length-1;t>=0;t--){const n=e[t],r=n.inputs;for(let e=0;e<n.outputs.length;e++)if(i[n.outputs[e].id]){for(const e in r)i[r[e].id]=!0,a[n.id]=!0;break}}const s=[];for(let t=0;t<e.length;t++){const n=e[t];if(o[n.id]&&a[n.id]){const e={};for(const t in n.inputs){const o=n.inputs[t];r[o.id]&&(e[t]=o)}const t=Object.assign({},n);t.inputs=e,t.outputs=n.outputs,s.push(t)}}return s}(this.state.activeTape,t,o);if(!r&&0===i.length&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[o.id]=null==n?function(e){const t=function(e,t){const n=bn(e,t);for(let e=0;e<n.length;e++)n[e]=1;return n}(ln(e),"float32");return xr.makeTensor(t,e,"float32")}(o.shape):n,function(e,t,n,r){for(let o=t.length-1;o>=0;o--){const i=t[o],a=[];if(i.outputs.forEach((t=>{const n=e[t.id];a.push(null!=n?n:null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const s=i.gradient(a);for(const t in i.inputs){if(!(t in s))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(s)}.`);const o=n((()=>s[t]()));if("float32"!==o.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${o.dtype}'`);const a=i.inputs[t];if(!un(o.shape,a.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${t}' has shape '${o.shape}', which does not match the shape of the input '${a.shape}'`);if(null==e[a.id])e[a.id]=o;else{const t=e[a.id];e[a.id]=r(t,o),t.dispose()}}}}(e,i,(e=>this.tidy(e)),Er);const r=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:o,grads:r}}))}customGrad(e){return sn(pn(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;sn(t.every((e=>e instanceof or)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};t.forEach(((e,t)=>{r[t]=e}));return this.runKernelFunc({forwardFunc:(r,o)=>(n=e(...t,o),sn(n.value instanceof or,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),sn(pn(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(e,r)=>{const o=n.gradFunc(e,r),i=Array.isArray(o)?o:[o];sn(i.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),sn(i.every((e=>e instanceof or)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const a={};return i.forEach(((e,t)=>{a[t]=()=>e})),a},inputs:r})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=jn(),n=await this.backend.time(e);return n.wallMs=jn()-t,n}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new br;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function wr(){const e=In();if(null==e._tfengine){const t=new En(e);e._tfengine=new yr(t)}return Tn=e._tfengine.ENV,function(e){nr=e}((()=>e._tfengine)),e._tfengine}yr.nextTensorId=0,yr.nextVariableId=0;const xr=wr();function Er(e,t){return xr.runKernel(Dn,{a:e,b:t})}const Cr=Sn();function Sr(e,t){let n=e;if($n(e))return"string"===t?[]:[e.length];if(hr(e)){return[e.height,e.width*(e.channels||"RGBA").length]}if(fr(e))return[e.buffer.size/(null==t?4:dn(t))];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||$n(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&Sn().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&kr(e,r,[]),r}function kr(e,t,n){if(n=n||[],!Array.isArray(e)&&!$n(e))return void sn(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));sn(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),sn(e.length===t[0],(()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const r=t.slice(1);for(let t=0;t<e.length;++t)kr(e[t],r,n.concat(t))}function Tr(e,t,n,r){if("string_or_numeric"!==e){if(null==e)throw new Error("Expected dtype cannot be null.");if("numeric"!==e&&e!==t||"numeric"===e&&"string"===t)throw new Error(`Argument '${n}' passed to '${r}' must be ${e} tensor, but got ${t} tensor`)}}function Ir(e,t,n,r="numeric"){if(e instanceof or)return Tr(r,e.dtype,t,n),e;let o=fn(e);if("string"!==o&&["bool","int32","float32"].indexOf(r)>=0&&(o=r),Tr(r,o,t,n),null==e||!$n(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${null==e?"null":e.constructor.name}'`)}const i=Sr(e,o);$n(e)||Array.isArray(e)||(e=[e]);const a="string"!==o?Un(e,o):zn(e,[],!0);return xr.makeTensor(a,i,o)}Cr.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),Cr.registerFlag("IS_BROWSER",(()=>"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope)),Cr.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),Cr.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),Cr.registerFlag("IS_SAFARI",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor))),Cr.registerFlag("PROD",(()=>!1)),Cr.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>Cr.getBool("DEBUG"))),Cr.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),Cr.registerFlag("IS_TEST",(()=>!1)),Cr.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>Cr.getBool("DEBUG"))),Cr.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1)),Cr.registerFlag("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU",(()=>!1)),Cr.registerFlag("USE_SETTIMEOUTCUSTOM",(()=>!1));function Ar(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+="__op";const o=(...e)=>{xr.startScope(n);try{const t=r(...e);return wn(t)&&console.error("Cannot return a Promise inside of tidy."),xr.endScope(t),t}catch(e){throw xr.endScope(null),e}};return Object.defineProperty(o,"name",{value:n,configurable:!0}),o}class Dr{static join(e){return new Dr(e).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,null==e)return;if(e instanceof Array||(e=[e]),0===(e=e.map((e=>$n(e)?e.buffer:e))).length)return;this.bufferUniformSize=e[0].byteLength;let t=0;for(let n=0;n<e.length;n++){const r=e[n];n!==e.length-1&&r.byteLength!==this.bufferUniformSize&&(this.bufferUniformSize=void 0);const o=t+r.byteLength;this.shards.push({buffer:r,start:t,end:o}),t=o}0===this.shards.length&&(this.byteLength=0),this.byteLength=this.shards[this.shards.length-1].end}slice(e=0,t=this.byteLength){if(0===this.shards.length)return new ArrayBuffer(0);if(e=isNaN(Number(e))?0:e,t=isNaN(Number(t))?0:t,e=Math.max(0,e),(t=Math.min(this.byteLength,t))<=e)return new ArrayBuffer(0);const n=this.findShardForByte(e);if(-1===n)throw new Error(`Could not find start shard for byte ${e}`);const r=new ArrayBuffer(t-e),o=new Uint8Array(r);let i=0;for(let r=n;r<this.shards.length;r++){const n=this.shards[r],a=e+i-n.start,s=i,l=Math.min(t,n.end),u=new Uint8Array(n.buffer,a,l-n.start-a);if(o.set(u,s),i+=u.length,t<n.end)break}return r}findShardForByte(e){if(0===this.shards.length||e<0||e>=this.byteLength)return-1;if(null!=this.bufferUniformSize)return this.previousShardIndex=Math.floor(e/this.bufferUniformSize),this.previousShardIndex;function t(t){return e<t.start?-1:e>=t.end?1:0}if(0===t(this.shards[this.previousShardIndex]))return this.previousShardIndex;const n=function(e,t){let n=0,r=e.length;for(;n<=r;){const o=Math.floor((r-n)/2)+n,i=t(e[o]);if(0===i)return o;i<0?r=o:n=o+1}return-1}(this.shards,t);return-1===n?-1:(this.previousShardIndex=n,this.previousShardIndex)}}const Rr="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function _r(e){return Rr?Buffer.byteLength(e,"utf8"):new Blob([e]).size}function Fr(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:_r(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:_r(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:new Dr(e.weightData).byteLength}}class Mr{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Mr.instance&&(Mr.instance=new Mr),Mr.instance}static registerSaveRouter(e){Mr.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Mr.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Mr.getHandlers(e,"save")}static getLoadHandlers(e,t){return Mr.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?Mr.getInstance().loadRouters:Mr.getInstance().saveRouters).forEach((t=>{const o=t(e,n);null!==o&&r.push(o)})),r}}const Lr="tensorflowjs",Pr="models_store",Br="model_info_store";function Or(){if(!Sn().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function Nr(e){const t=e.result;t.createObjectStore(Pr,{keyPath:"modelPath"}),t.createObjectStore(Br,{keyPath:"modelPath"})}class Ur{constructor(e){if(this.indexedDB=Or(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,n)=>{const r=this.indexedDB.open(Lr,1);r.onupgradeneeded=()=>Nr(r),r.onsuccess=()=>{const o=r.result;if(null==t){const t=o.transaction(Pr,"readonly"),r=t.objectStore(Pr).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return o.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(o.close(),n(r.error)),t.oncomplete=()=>o.close()}else{const r=Fr(t),i=o.transaction(Br,"readwrite");let a,s,l=i.objectStore(Br);try{a=l.put({modelPath:this.modelPath,modelArtifactsInfo:r})}catch(e){return n(e)}a.onsuccess=()=>{s=o.transaction(Pr,"readwrite");const a=s.objectStore(Pr);let u;try{u=a.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r})}catch(e){return n(e)}u.onsuccess=()=>e({modelArtifactsInfo:r}),u.onerror=e=>{l=i.objectStore(Br);const t=l.delete(this.modelPath);t.onsuccess=()=>(o.close(),n(u.error)),t.onerror=e=>(o.close(),n(u.error))}},a.onerror=e=>(o.close(),n(a.error)),i.oncomplete=()=>{null==s?o.close():s.oncomplete=()=>o.close()}}},r.onerror=e=>n(r.error)}))}}Ur.URL_SCHEME="indexeddb://";const jr=e=>{return Sn().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Ur.URL_SCHEME)?(t=e.slice(Ur.URL_SCHEME.length),new Ur(t)):null;var t};Mr.registerSaveRouter(jr),Mr.registerLoadRouter(jr);class Gr{constructor(){this.indexedDB=Or()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(Lr,1);n.onupgradeneeded=()=>Nr(n),n.onsuccess=()=>{const r=n.result,o=r.transaction(Br,"readonly"),i=o.objectStore(Br).getAll();i.onsuccess=()=>{const t={};for(const e of i.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},i.onerror=e=>(r.close(),t(i.error)),o.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(Ur.URL_SCHEME)?t.slice(Ur.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(Lr,1);r.onupgradeneeded=()=>Nr(r),r.onsuccess=()=>{const o=r.result,i=o.transaction(Br,"readwrite"),a=i.objectStore(Br),s=a.get(e);let l;s.onsuccess=()=>{if(null==s.result)return o.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=a.delete(e),i=()=>{l=o.transaction(Pr,"readwrite");const r=l.objectStore(Pr).delete(e);r.onsuccess=()=>t(s.result.modelArtifactsInfo),r.onerror=e=>n(s.error)};r.onsuccess=i,r.onerror=e=>(i(),o.close(),n(s.error))}},s.onerror=e=>(o.close(),n(s.error)),i.oncomplete=()=>{null==l?o.close():l.oncomplete=()=>o.close()}},r.onerror=e=>n(r.error)}))}}const $r="/",zr="tensorflowjs_models",qr="info",Vr="model_topology",Wr="weight_specs",Hr="weight_data",Kr="model_metadata";function Yr(e){return{info:[zr,e,qr].join($r),topology:[zr,e,Vr].join($r),weightSpecs:[zr,e,Wr].join($r),weightData:[zr,e,Hr].join($r),modelMetadata:[zr,e,Kr].join($r)}}function Xr(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function Jr(e){const t=e.split($r);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join($r)}class Zr{constructor(e){if(!Sn().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=Yr(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=Fr(e),o=Dr.join(e.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(e){if(Rr)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let n="";for(let e=0,r=t.length;e<r;e++)n+=String.fromCharCode(t[e]);return btoa(n)}(o));return this.LS.setItem(this.keys.modelMetadata,JSON.stringify({format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:null!=e.signature?e.signature:void 0,userDefinedMetadata:null!=e.userDefinedMetadata?e.userDefinedMetadata:void 0,modelInitializer:null!=e.modelInitializer?e.modelInitializer:void 0,initializerSignature:null!=e.initializerSignature?e.initializerSignature:void 0,trainingConfig:null!=e.trainingConfig?e.trainingConfig:void 0})),{modelArtifactsInfo:r}}catch(e){throw Xr(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${r.modelTopologyBytes}, weightSpecsBytes=${r.weightSpecsBytes}, weightDataBytes=${r.weightDataBytes}.`)}}}async load(){const e=JSON.parse(this.LS.getItem(this.keys.info));if(null==e)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if("JSON"!==e.modelTopologyType)throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");const t={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(null==n)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=n;const r=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(null==r)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=r;const o=this.LS.getItem(this.keys.modelMetadata);if(null!=o){const e=JSON.parse(o);t.format=e.format,t.generatedBy=e.generatedBy,t.convertedBy=e.convertedBy,null!=e.signature&&(t.signature=e.signature),null!=e.userDefinedMetadata&&(t.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(t.modelInitializer=e.modelInitializer),null!=e.initializerSignature&&(t.initializerSignature=e.initializerSignature),null!=e.trainingConfig&&(t.trainingConfig=e.trainingConfig)}const i=this.LS.getItem(this.keys.weightData);if(null==i)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=function(e){if(Rr){const t=Buffer.from(e,"base64");return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n.set([t.charCodeAt(e)],e);return n.buffer}(i),t}}Zr.URL_SCHEME="localstorage://";const Qr=e=>{return Sn().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Zr.URL_SCHEME)?(t=e.slice(Zr.URL_SCHEME.length),new Zr(t)):null;var t};Mr.registerSaveRouter(Qr),Mr.registerLoadRouter(Qr);class eo{constructor(){sn(Sn().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),sn("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=zr+$r,n=$r+qr;for(let r=0;r<this.LS.length;++r){const o=this.LS.key(r);if(o.startsWith(t)&&o.endsWith(n)){e[Jr(o)]=JSON.parse(this.LS.getItem(o))}}return e}async removeModel(e){var t;const n=Yr(e=(t=e).startsWith(Zr.URL_SCHEME)?t.slice(Zr.URL_SCHEME.length):t);if(null==this.LS.getItem(n.info))throw new Error(`Cannot find model at path '${e}'`);const r=JSON.parse(this.LS.getItem(n.info));return Xr(n),r}}class to{constructor(){this.managers={}}static getInstance(){return null==to.instance&&(to.instance=new to),to.instance}static registerManager(e,t){sn(null!=e,(()=>"scheme must not be undefined or null.")),e.endsWith("://")&&(e=e.slice(0,e.indexOf("://"))),sn(e.length>0,(()=>"scheme must not be an empty string."));const n=to.getInstance();sn(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=to.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(to.getInstance().managers)}}class no{constructor(){this.messageName="setTimeoutCustom",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){"undefined"!=typeof window&&Sn().getBool("USE_SETTIMEOUTCUSTOM")?(this.functionRefs.push(e),setTimeout((()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},"*")}),t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener("message",(e=>{if(e.source===window&&e.data.name===this.messageName){e.stopPropagation();(0,this.functionRefs[e.data.index])(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}}),!0))):setTimeout(e,t)}isTypedArray(e){return Nn(e)}}if(Sn().get("IS_BROWSER")){Sn().setPlatform("browser",new no);try{to.registerManager(Zr.URL_SCHEME,new eo)}catch(e){}try{to.registerManager(Ur.URL_SCHEME,new Gr)}catch(e){}}const ro=()=>require("node-fetch");let oo;class io{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=Sn().global.fetch?Sn().global.fetch(e,t):(null==oo&&(oo=ro()),oo(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}isTypedArray(e){return this.util.types.isFloat32Array(e)||this.util.types.isInt32Array(e)||this.util.types.isUint8Array(e)||this.util.types.isUint8ClampedArray(e)}}Sn().get("IS_NODE")&&!Sn().get("IS_BROWSER")&&Sn().setPlatform("node",new io);const ao=Ar({cast_:function(e,t){const n=Ir(e,"x","cast");if(!function(e){return"bool"===e||"complex64"===e||"float32"===e||"int32"===e||"string"===e}(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");return xr.runKernel(Rn,{x:n},{dtype:t})}});const so=Ar({clone_:function(e){const t=Ir(e,"x","clone","string_or_numeric");return xr.runKernel(_n,{x:t})}});wr();const lo={buffer:function(e,t="float32",n){return t=t||"float32",yn(e),new tr(e,t,n)},cast:ao,clone:so,print:function(e,t=!1){console.log(e.toString(t))}};function uo(e,t){return xr.tidy(e,t)}function co(e){gr(e).forEach((e=>e.dispose()))}rr=lo;const ho=Ar({add_:function(e,t){let n=Ir(e,"a","add"),r=Ir(t,"b","add");return[n,r]=pr(n,r),xr.runKernel(Dn,{a:n,b:r})}});const fo=Ar({floorDiv_:function(e,t){let n=Ir(e,"a","floorDiv"),r=Ir(t,"b","floorDiv");return[n,r]=pr(n,r),xr.runKernel("FloorDiv",{a:n,b:r})}});const po=Ar({div_:function(e,t){let n=Ir(e,"a","div"),r=Ir(t,"b","div");return[n,r]=pr(n,r),"int32"===n.dtype&&"int32"===r.dtype?fo(n,r):xr.runKernel("RealDiv",{a:n,b:r},{})}});const go=Ar({mul_:function(e,t){let n=Ir(e,"a","mul"),r=Ir(t,"b","mul");return[n,r]=pr(n,r),xr.runKernel("Multiply",{a:n,b:r})}});const mo=Ar({abs_:function(e){const t=Ir(e,"x","abs");if("complex64"===t.dtype){return xr.runKernel("ComplexAbs",{x:t})}return xr.runKernel("Abs",{x:t})}});const vo=Ar({zerosLike_:function(e){const t=Ir(e,"x","zerosLike");return xr.runKernel("ZerosLike",{x:t})}});const bo=Ar({pow_:function(e,t){let n=Ir(e,"base","pow"),r=Ir(t,"exp","pow");return[n,r]=pr(n,r),xr.runKernel("Pow",{a:n,b:r})}});function yo(e,t){if(($n(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&$n(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return function(e,t,n,r){if(null==r)r=fn(e);else if("complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(fr(e)||hr(e)){if("float32"!==r&&"int32"!==r)throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${r}.`);return xr.backend.createTensorFromGPUData(e,t||n,r)}if(!$n(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){yn(t);const e=ln(t),r=ln(n);sn(e===r,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${r}`));for(let e=0;e<n.length;++e){const r=e!==n.length-1||n[e]!==ln(t.slice(e));sn(n[e]===t[e]||!r,(()=>`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return $n(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?Un(e,r):zn(e,[],!0),xr.makeTensor(e,t,r)}(e,[],[],t)}const wo=Ar({sqrt_:function(e){const t=Ir(e,"x","sqrt","float32");return xr.runKernel("Sqrt",{x:t})}});const xo=Ar({square_:function(e){const t=Ir(e,"x","square");return xr.runKernel("Square",{x:t},{})}});const Eo=Ar({sub_:function(e,t){let n=Ir(e,"a","sub"),r=Ir(t,"b","sub");return[n,r]=pr(n,r),xr.runKernel("Sub",{a:n,b:r})}});const Co=Ar({maximum_:function(e,t){let n=Ir(e,"a","maximum"),r=Ir(t,"b","maximum");return[n,r]=pr(n,r),"bool"===n.dtype&&(n=ao(n,"int32"),r=ao(r,"int32")),function(e,t){const n=Math.max(e.length,t.length),r=new Array(n);for(let o=0;o<n;o++){let i=e[e.length-o-1];null==i&&(i=1);let a=t[t.length-o-1];if(null==a&&(a=1),1===i)r[n-o-1]=a;else if(1===a)r[n-o-1]=i;else{if(i!==a)throw Error(`Operands could not be broadcast together with shapes ${e} and ${t}.`);r[n-o-1]=i}}}(n.shape,r.shape),xr.runKernel("Maximum",{a:n,b:r})}});class So{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class ko{constructor(){this.classNameMap={}}static getMap(){return null==ko.instance&&(ko.instance=new ko),ko.instance}static register(e){ko.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function To(e){sn(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),sn("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),sn(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),ko.register(e)}class Io extends So{minimize(e,t=!1,n){const{value:r,grads:o}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:o[e.name]})));this.applyGradients(e)}else this.applyGradients(o);return co(o),t?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return function(e,t){sn(pn(e),(()=>"The f passed in variableGrads(f) must be a function")),sn(null==t||Array.isArray(t)&&t.every((e=>e instanceof ir)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in xr.registeredVariables)t.push(xr.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,o=t.length;sn((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`));const{value:i,grads:a}=xr.gradients(e,t,null,!0);sn(a.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),sn(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const s={};return t.forEach(((e,t)=>{null!=a[t]&&(s[e.name]=a[t])})),null!=r&&r.forEach((e=>s[e.name]=null)),{value:i,grads:s}}(e,t)}dispose(){null!=this.iterations_&&co(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:yo(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(Io,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class Ao extends Io{static get className(){return"SGD"}constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);t.forEach(((t,n)=>{const r=Array.isArray(e)?e[n].tensor:e[t];if(null==r)return;const o=xr.registeredVariables[t];uo((()=>{const e=ho(go(this.c,r),o);o.assign(e)}))})),this.incrementIterations()}setLearningRate(e){var t;this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=(t=yo(-e),xr.keep(t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}const Do=[class extends Io{static get className(){return"Adadelta"}constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=xr.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:uo((()=>vo(r).variable(false)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:uo((()=>vo(r).variable(false)))});const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable,a=this.accumulatedUpdates[n].variable;uo((()=>{const e=ho(go(i,this.rho),go(xo(o),1-this.rho)),t=go(po(wo(ho(a,this.epsilon)),wo(ho(i,this.epsilon))),o),n=ho(go(a,this.rho),go(xo(t),1-this.rho));i.assign(e),a.assign(n);const s=ho(go(t,-this.learningRate),r);r.assign(s)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(co(this.accumulatedGrads.map((e=>e.variable))),co(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}},class extends Io{static get className(){return"Adagrad"}constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:uo((()=>function(e,t,n){return yn(e),n=n||fn(t),xr.runKernel("Fill",{},{shape:e,value:t,dtype:n})}(r.shape,this.initialAccumulatorValue).variable(e)))}}const o=Array.isArray(e)?e[n].tensor:e[t];if(null==o)return;const i=this.accumulatedGrads[n].variable;uo((()=>{const e=ho(i,xo(o));i.assign(e);const t=ho(go(po(o,wo(ho(e,xr.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&co(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}},class extends Io{static get className(){return"Adam"}constructor(e,t,n,r=null){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],uo((()=>{this.accBeta1=yo(t).variable(),this.accBeta2=yo(n).variable()})),null==r&&(this.epsilon=xr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);uo((()=>{const n=Eo(1,this.accBeta1),r=Eo(1,this.accBeta2);t.forEach(((t,o)=>{const i=xr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:uo((()=>vo(i).variable(false)))}),null==this.accumulatedSecondMoment[o]&&(this.accumulatedSecondMoment[o]={originalName:`${t}/v`,variable:uo((()=>vo(i).variable(false)))});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedSecondMoment[o].variable,u=ho(go(s,this.beta1),go(a,1-this.beta1)),c=ho(go(l,this.beta2),go(xo(a),1-this.beta2)),d=po(u,n),h=po(c,r);s.assign(u),l.assign(c);const f=ho(go(po(d,ho(wo(h),this.epsilon)),-this.learningRate),i);i.assign(f)})),this.accBeta1.assign(go(this.accBeta1,this.beta1)),this.accBeta2.assign(go(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&co(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&co(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),uo((()=>{this.accBeta1.assign(bo(this.beta1,this.iterations_+1)),this.accBeta2.assign(bo(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}},class extends Io{static get className(){return"Adamax"}constructor(e,t,n,r=null,o=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=o,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],uo((()=>{this.iteration=yo(0).variable(),this.accBeta1=yo(t).variable()})),null==r&&(this.epsilon=xr.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);uo((()=>{const n=Eo(1,this.accBeta1),r=po(-this.learningRate,ho(go(this.iteration,this.decay),1));t.forEach(((t,o)=>{const i=xr.registeredVariables[t];null==this.accumulatedFirstMoment[o]&&(this.accumulatedFirstMoment[o]={originalName:`${t}/m`,variable:vo(i).variable(false)}),null==this.accumulatedWeightedInfNorm[o]&&(this.accumulatedWeightedInfNorm[o]={originalName:`${t}/v`,variable:vo(i).variable(false)});const a=Array.isArray(e)?e[o].tensor:e[t];if(null==a)return;const s=this.accumulatedFirstMoment[o].variable,l=this.accumulatedWeightedInfNorm[o].variable,u=ho(go(s,this.beta1),go(a,1-this.beta1)),c=go(l,this.beta2),d=mo(a),h=Co(c,d);s.assign(u),l.assign(h);const f=ho(go(po(r,n),po(u,ho(h,this.epsilon))),i);i.assign(f)})),this.iteration.assign(ho(this.iteration,1)),this.accBeta1.assign(go(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&co(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&co(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}},class extends Ao{static get className(){return"Momentum"}constructor(e,t,n=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=yo(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:uo((()=>vo(r).variable(e)))}}const o=this.accumulations[n].variable,i=Array.isArray(e)?e[n].tensor:e[t];null!=i&&uo((()=>{let e;const t=ho(go(this.m,o),i);e=ho(go(this.c,this.useNesterov?ho(i,go(t,this.m)):t),r),o.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&co(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(false)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}},class extends Io{static get className(){return"RMSProp"}constructor(e,t=.9,n=0,r=null,o=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=o,null==r&&(this.epsilon=xr.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=xr.registeredVariables[t],o=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:uo((()=>vo(r).variable(o)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:uo((()=>vo(r).variable(o)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:uo((()=>vo(r).variable(o)))});const i=Array.isArray(e)?e[n].tensor:e[t];if(null==i)return;const a=this.accumulatedMeanSquares[n].variable,s=this.accumulatedMoments[n].variable;uo((()=>{const e=ho(go(a,this.decay),go(xo(i),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,o=ho(go(t,this.decay),go(i,1-this.decay)),l=po(go(i,this.learningRate),wo(Eo(e,ho(xo(o),this.epsilon)))),u=ho(go(s,this.momentum),l);a.assign(e),t.assign(o),s.assign(u);const c=Eo(r,u);r.assign(c)}else{const e=ho(go(a,this.decay),go(xo(i),1-this.decay)),t=ho(go(s,this.momentum),po(go(i,this.learningRate),wo(ho(e,this.epsilon))));a.assign(e),s.assign(t);const n=Eo(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&co(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&co(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&co(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}},Ao];!function(){for(const e of Do)To(e)}();const Ro={},_o={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function Fo(e,t){if(!(e in Ro)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if(Sn().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete Ro[e]}),!1),Sn().getBool("SOFTWARE_WEBGL_ENABLED")&&(_o.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",_o)||n.getContext("experimental-webgl",_o);return n.getContext("webgl2",_o)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;Ro[e]=n}const n=Ro[e];return null==n||n.isContextLost()?(delete Ro[e],Fo(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),Ro[e])}var Mo="https://websdk-cdn-dev.idmission.com/assets";function Lo(e){var t=e.width,n=e.height;return e instanceof HTMLVideoElement&&(t=e.videoWidth,n=e.videoHeight),[t,n]}var Po,Bo=h.default.canvas(Po||(Po=w(["\n display: none;\n"],["\n display: none;\n"])));function Oo(e,t,n,r){if(e){var o=e.getContext("2d");if(o){if(!n||!r){var i=Lo(t);n||(n=i[0]),r||(r=i[1])}e.width=n,e.height=r,o.drawImage(t,0,0,n,r)}}}function No(e){if(e){var t=e.getContext("2d");t&&t.clearRect(0,0,e.width,e.height)}}function Uo(e,t,n,r){if(!e||!t)return"";var o=e.getContext("2d"),i=t.getContext("2d");if(!o||!i)throw new Error("could not get 2d context");e.width=n.width,e.height=n.height,o.putImageData(n,0,0);var a=r.box,s=a.width,l=.6*n.height-s,u=Math.max(0,a.xMin-l/2);Ut()?(t.width=n.width,t.height=n.height,i.drawImage(e,0,0,t.width,t.height)):(t.width=s+l,t.height=n.height,i.drawImage(e,u,0,t.width,t.height,0,0,t.width,t.height));var c=t.toDataURL("image/jpeg",.92);return No(e),No(t),c}var jo={boxes:0,scores:7,labels:4},Go=t.createContext({ready:!1,working:{current:!1},error:null,thresholds:{},setThresholds:function(){return null},makePrediction:function(){return null},onPredictionMade:function(){return null},detectionTime:0,focusPredictionTime:0,getBestFrame:function(){return Promise.resolve(null)},resetBestFrame:function(){return null}}),$o="".concat(Mo,"/models/documentdetection448/model.json"),zo="".concat(Mo,"/models/focus/model.json"),qo=function(e){var n=e.children,r=e.documentDetectionModelUrl,o=e.focusModelUrl,a=e.logPredictions,s=void 0!==a&&a,u=t.useState(!1),c=u[0],d=u[1],h=t.useState(0),p=h[0],g=h[1],m=t.useState(0),y=m[0],w=m[1],x=t.useState(0),E=x[0],C=x[1],S=t.useState(0),k=S[0],T=S[1],I=t.useState(0),A=I[0],D=I[1],R=t.useRef(!1),_=t.useRef(),F=t.useRef(null),M=t.useState(0),L=M[0],P=M[1],B=t.useState(0),O=B[0],N=B[1],U=t.useState(null),j=U[0],G=U[1];t.useEffect((function(){d(!1);var e=r||$o,t=o||zo;function n(){return v(this,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return f.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",52428800),[4,f.setBackend("webgl")];case 1:return n.sent(),[4,f.ready()];case 2:return n.sent(),[4,Promise.all([Mt(e),rn(t)])];case 3:return n.sent(),[2]}}))}))}function a(){return v(this,void 0,void 0,(function(){var r;return b(this,(function(o){switch(o.label){case 0:return d(!1),Ct=null,Qt=null,delete Ro[2],(r=document.createElement("canvas").getContext("webgl2"))&&e&&t?(i.setWebGLContext(2,r),function(){try{f.backend().dispose()}catch(e){console.error("failed to dispose backend",e)}}(),[4,n()]):[3,2];case 1:o.sent(),d(!0),o.label=2;case 2:return[2]}}))}))}n().then((function(){d(!0)})).catch((function(e){G(e)}));var s=Fo(2).canvas;return s.addEventListener("webglcontextlost",a),function(){var e;null===(e=s.removeEventListener)||void 0===e||e.call(s,"webglcontextlost",a)}}),[r,o]);var $=t.useMemo((function(){return{document:p,passport:y,mrz:E,pdf417:k,focus:A}}),[p,A,E,y,k]),z=t.useCallback((function(e){e.document&&g(e.document),e.passport&&w(e.passport),e.mrz&&C(e.mrz),e.pdf417&&T(e.pdf417),e.focus&&D(e.focus)}),[]),q=t.useState(0),V=q[0],W=q[1],H=t.useRef(null),K=t.useRef(0),Y=t.useCallback((function(e){R.current=!0,v(void 0,void 0,void 0,(function(){var t,n;return b(this,(function(r){switch(r.label){case 0:return Ct&&Qt&&F.current?[4,Vo(e,F.current,$,s)]:[2];case 1:return t=r.sent(),P(t.detectionTime),N(t.focusPredictionTime),K.current<=t.focusScore&&(K.current=t.focusScore,Oo(H.current,e)),t.allZero&&W((function(e){return e+1})),null===(n=_.current)||void 0===n||n.call(_,t),R.current=!1,[2]}}))}))}),[s,$]);t.useEffect((function(){V>=2&&G(new Error("model is returning all zeroes"))}),[V]);var X=t.useCallback((function(e){_.current=e}),[]),J=t.useCallback((function(){return v(void 0,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return H.current?(e=H.current.toDataURL("image/jpeg",.98),[4,fetch(e)]):[2,null];case 1:return[4,t.sent().blob()];case 2:return[2,t.sent()]}}))}))}),[]),Z=t.useCallback((function(){K.current=0,No(H.current)}),[]),Q=t.useMemo((function(){return{ready:c,working:R,thresholds:$,setThresholds:z,makePrediction:Y,onPredictionMade:X,detectionTime:L,focusPredictionTime:O,getBestFrame:J,resetBestFrame:Z,error:j}}),[L,O,J,j,Y,X,c,Z,z,$]);return l.default.createElement(Go.Provider,{value:Q},n,l.default.createElement(Bo,{ref:F}),l.default.createElement(Bo,{ref:H}))};function Vo(e,t,n,r){var o,i,a,s,l,u,c,d,h,f;return void 0===r&&(r=!1),v(this,void 0,void 0,(function(){var p,g,m,v,y,w,x,E,C,S,k,T,I,A,D,R,_,F,M,L,P,B,O,N,U,j,G,$,z,q;return b(this,(function(b){switch(b.label){case 0:return p=Lo(e),g=p[0],m=p[1],Oo(t,e),[4,Wo(e,r)];case 1:return v=b.sent(),w=v.scores,x=v.labels,E=v.time,C=(y=v.boxes).length>0&&!y.some((function(e){return e.some((function(e){return e>0}))})),S=function(e){var t={};return e.forEach((function(e,n){e&&(t[e.label]||(t[e.label]=[0,-1]),e.score>t[e.label][0]&&(t[e.label]=[e.score,n]))})),Object.keys(t).map((function(n){return e[t[n][1]]})).filter((function(e){return!!e}))}(y.map((function(e,t){return function(e,t,n){var r=e[0],o=e[1];return{score:t,bbox:[o,r,e[3]-o,e[2]-r],label:Lt[n]}}(e,w[t],x[t])}))),k=S.find((function(e){return"Document"===e.label})),T=S.find((function(e){return"Passport Page"===e.label})),I=null!==(o=null==k?void 0:k.score)&&void 0!==o?o:0,A=null!==(i=null==T?void 0:T.score)&&void 0!==i?i:0,D=A>=(null!==(a=n.passport)&&void 0!==a?a:0),R=I>A?k:T,F=(_=D?A:I)>=(null!==(s=n.document)&&void 0!==s?s:0),M=Et.NONE,D?M=Et.PASSPORT:F&&(M=Et.ID_CARD),L=S.find((function(e){return"MRZ"===e.label})),P=null!==(l=null==L?void 0:L.score)&&void 0!==l?l:0,B=P>=(null!==(u=n.mrz)&&void 0!==u?u:0),O=S.find((function(e){return"PDF417"===e.label})),N=null!==(c=null==O?void 0:O.score)&&void 0!==c?c:0,U=N>=(null!==(d=n.pdf417)&&void 0!==d?d:0),j=null,G=0,$=0,z=!1,F?[4,Ho(e,null==R?void 0:R.bbox,r)]:[3,3];case 2:q=b.sent(),G=q[1],$=null!==(h=null==(j=q[0])?void 0:j[1])&&void 0!==h?h:0,z=$>=(null!==(f=n.focus)&&void 0!==f?f:0),b.label=3;case 3:return[2,{detectedObjects:S,detectionScore:_,detectionTime:E,detectionThresholdMet:F,detectedDocumentType:M,passportDetectionScore:A,passportDetectionThresholdMet:D,mrzDetectionScore:P,mrzDetectionThresholdMet:B,pdf417DetectionScore:N,pdf417DetectionThresholdMet:U,bestDocumentOrPassport:R,bestMrz:L,bestPdf417:O,focusScore:$,focusThresholdMet:z,focusPredictionTime:G,frameWidth:g,frameHeight:m,allZero:C}]}}))}))}function Wo(e,t){return void 0===t&&(t=!1),v(this,void 0,void 0,(function(){var n,r,o,i,a,s,l,u,c,d,h,p,g,m,v,y,w;return b(this,(function(b){switch(b.label){case 0:if(!Ct)throw new Error("document detection model is not loaded");n=new Date,b.label=1;case 1:return b.trys.push([1,7,,8]),r=f.browser.fromPixels(e),t&&console.time("resize"),o=f.image.resizeBilinear(r,[448,448]),t&&console.timeEnd("resize"),r.dispose(),t&&console.time("convert to int32"),i=f.cast(o,"int32"),o.dispose(),l=(s=f).tensor4d,c=(u=Array).from,[4,i.data()];case 2:return a=l.apply(s,[c.apply(u,[b.sent()]),[1,448,448,3]]),i.dispose(),d=f.cast(a,"int32"),t&&console.timeEnd("convert to int32"),a.dispose(),t&&console.time("predictions"),[4,Ct.executeAsync(d)];case 3:return h=b.sent(),t&&console.timeEnd("predictions"),d.dispose(),p=h,t&&console.log("predictions made!",p.map((function(e){return e.arraySync()}))),[4,p[jo.boxes].array()];case 4:return g=b.sent()[0],[4,p[jo.scores].array()];case 5:return m=b.sent()[0],[4,p[jo.labels].array()];case 6:return v=(v=b.sent()[0]).map((function(e){return Math.round(e)})),f.dispose(h),y=(new Date).getTime()-n.getTime(),[2,{boxes:g,scores:m,labels:v,time:y}];case 7:return w=b.sent(),console.error("caught error in makeDocumentDetectionPredictions",w),[2,{boxes:[],scores:[],labels:[],time:0}];case 8:return[2]}}))}))}function Ho(e,t,n){return void 0===n&&(n=!1),v(this,void 0,void 0,(function(){var r,o,i,a,s,l,u,c,d,h,p,g,m;return b(this,(function(v){switch(v.label){case 0:if(!Qt)throw new Error("focus model is not loaded");r=new Date,v.label=1;case 1:return v.trys.push([1,5,,6]),o=void 0,o=f.browser.fromPixels(t?function(e,t){var n=document.createElement("canvas"),r=n.getContext("2d");if(!r)throw new Error("could not get 2d context");var o=Lo(e),i=o[0],a=o[1],s=t[0],l=t[1],u=t[2],c=t[3];return n.width=u*i,n.height=c*a,r.drawImage(e,s*i,l*a,u*i,c*a,0,0,u*i,c*a),n}(e,t):e),i=f.image.resizeBilinear(o,[448,448]),o.dispose(),a=f.cast(i,"int32"),i.dispose(),u=(l=f).tensor4d,d=(c=Array).from,[4,a.data()];case 2:return s=u.apply(l,[d.apply(c,[v.sent()]),[1,448,448,3]]),a.dispose(),h=f.cast(s,"int32"),s.dispose(),n&&console.time("focus prediction"),[4,Qt.predict(h)];case 3:return p=v.sent(),h.dispose(),[4,p.array()];case 4:return g=v.sent()[0],n&&console.timeEnd("focus prediction"),f.dispose(p),m=(new Date).getTime()-r.getTime(),[2,[g,m]];case 5:return v.sent(),[2,[[0,0],0]];case 6:return[2]}}))}))}var Ko,Yo,Xo,Jo,Zo=h.default.span(Ko||(Ko=w(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"],["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1001;\n"]))),Qo=h.default.div(Yo||(Yo=w(["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"],["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ","\n"])),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),ei=h.default.div(Xo||(Xo=w(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"],["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ",";\n color: ",";\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){var t=e.$color;return null!=t?t:"green"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""})),ti=h.default.div(Jo||(Jo=w(["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"],["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ",";\n font: 10px monospace;\n color: ",";\n border-radius: 50%;\n ","\n"])),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){var t=e.$color;return null!=t?t:"red"}),(function(e){return e.$flipX?"transform: scaleX(-1);":""}));function ni(e){var n=e.enabled,r=void 0===n||n,o=e.pageWidth,i=e.pageHeight,a=e.videoWidth,s=e.videoHeight;return t.useMemo((function(){var e=!1,t=0,n=0,l=0,u=0;return r&&((e=o/i<a/s)?l=((t=a*(i/s))-o)/2:u=((n=s*(o/a))-i)/2),{horizontal:e,pageWidth:o,pageHeight:i,videoWidth:a,videoHeight:s,scaledWidth:t,scaledHeight:n,xOffset:l,yOffset:u}}),[r,i,o,s,a])}function ri(e){var t=e.obj,n=e.color,r=e.scaling,o=r.horizontal,i=r.pageWidth,a=r.pageHeight,s=r.scaledWidth,u=r.scaledHeight;return l.default.createElement(ei,{$flipX:e.flipX,$color:void 0===n?"green":n,style:{top:t.bbox[1]*(o?a:u-r.yOffset),left:t.bbox[0]*(o?s-r.xOffset:i),width:t.bbox[2]*(o?s:i),height:t.bbox[3]*(o?a:u)}},t.label," (",t.score.toFixed(3),")")}function oi(e){var t,n,r,o,i=e.face,a=e.flipX,s=e.color,u=e.scaling,c=u.pageWidth,d=u.pageHeight,h=u.videoWidth,f=u.videoHeight,p=u.scaledWidth,g=u.scaledHeight;return u.horizontal?(t=i.box.yMin/f*d,n=i.box.xMin/h*p-u.xOffset,r=i.box.width/h*p,o=i.box.height/f*d):(t=i.box.yMin/f*g-u.yOffset,n=i.box.xMin/h*c,r=i.box.width/h*c,o=i.box.height/f*g),l.default.createElement(l.default.Fragment,null,l.default.createElement(ei,{$flipX:a,$color:void 0===s?"green":s,style:{top:t,left:n,width:r,height:o}}),i.keypoints.map((function(e,t){return l.default.createElement(ii,{key:t,point:e,scaling:u,flipX:a})})))}function ii(e){var t,n,r=e.point,o=e.color,i=e.scaling,a=i.videoWidth,s=i.videoHeight;return i.horizontal?(t=r.x/a*i.scaledWidth-i.xOffset,n=r.y/s*i.pageHeight):(t=r.x/a*i.pageWidth,n=r.y/s*i.scaledHeight-i.yOffset),l.default.createElement(ti,{$flipX:e.flipX,$color:void 0===o?"red":o,style:{top:n-=2,left:t-=2}})}var ai,si,li,ui,ci,di=h.default.button(ai||(ai=w(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"],["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"]))),hi=h.default.div(si||(si=w(["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"],["\n display: inline-block;\n width: ","px;\n height: ","px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ","px;\n height: ","px;\n margin: 8px;\n border-radius: 50%;\n border: ","px solid\n ",";\n border-color: "," transparent\n "," transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return null!=t?t:80}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$size;return(null!=t?t:80)-16}),(function(e){var t=e.$thickness;return null!=t?t:6}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"}),(function(e){var t=e.$color;return null!=t?t:"#888"})),fi=function(e){var t=e.text,n=e.imageUrl;return l.default.createElement(gi,null,t&&l.default.createElement(mi,null,t),l.default.createElement(vi,null,l.default.createElement("img",{src:n,alt:""})))},pi=function(e){var t=e.imageUrl;return l.default.createElement(gi,null,l.default.createElement(mi,null,l.default.createElement(hi,{$size:24,$color:"white",$thickness:3,style:{position:"relative",top:4,left:-3,margin:"0 3px 0 -12px"}}),"Processing..."),l.default.createElement(vi,null,l.default.createElement("img",{src:t,alt:""})))},gi=h.default.div(li||(li=w(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"],["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"]))),mi=h.default.div(ui||(ui=w(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"],["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"]))),vi=h.default.div(ci||(ci=w(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"],["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"]))),bi={en:{translation:{}},es:{translation:{"Use your device camera to capture your ID":"Para capturar la identificación hay que utilizar la cámara del dispositivo.","Use your iPhone as a webcam":"Usar el iPhone como cámara web","Models warming up...":"Cargando modelos...","Camera initializing...":"Inicializando la cámara...","Camera access blocked":"Acceso bloqueado a la cámara","Location access blocked":"Acceso bloqueado a la localización",Continue:"Continuar","Your camera permission is disabled":"El permiso de la cámara está desactivado","This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.":"Esta aplicación requiere el acceso a la cámara para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la cámara en el explorador actual.","Your location permission is disabled":"El permiso de la localización está desactivado","This application requires access to your location to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for location permissions, you must go to settings and provide location access to the current browser.":"Esta aplicación requiere el acceso a la localización para continuar. Hay que aceptar el permiso una vez que se muestre la ventana en el explorador. Si no aparece la ventana para otorgar permisos, entonces hay que dirigirse a Configuración y otorgar el permiso a la localización en el explorador actual.",Retry:"Reintentar","Scan the front of ID":"Escanear el frente de la ID","Scan the back of ID":"Escanear el reverso de la ID","Scan the ID page of passport":"Escanear la página de datos del pasaporte","ID Card Front":"Frente de la ID","ID Card Back":"Reverso de la ID",Passport:"Pasaporte","Document not detected":"No se ha detectado el documento","Document is not centered":"Documento no centrado","Document out of focus – try improving the lighting":"Documento no enfocado - hay que tratar de mejorar la iluminación","Document detected, hold still...":"Se ha detectado el documento, no moverse por favor...","Capturing...":"Capturando...","Capture failed!":"Falló la captura","Please flip your ID card...":"Por favor voltea la identificación...","ID card front captured.":"Se ha capturado el frente de la identificación.","ID Capture Successful":"Captura Exitosa de ID","Verify the entire ID was captured clearly with no glare.":"Hay que verificar que toda la ID se vea completa y sin reflejos.",Submit:"Enviar","Submitting...":"Enviando...","Use your device camera to capture your face":"Hay que utilizar la cámara del dispositivo para capturar el rostro","Remove Sunglasses & Hat":"Hay que quitarse lentes y/o la gorra","Avoid Excessive Backlighting":"Hay que evitar demasiada luz en el fondo","Hold still for a few seconds...":"Hay que permanecer quieto por unos segundos...","Look straight into the camera...":"Hay que mirar directamente a la cámara...","Move back...":"Hay que hacerse hacia atrás..","Move forward...":"Hay que hacerse hacia adelante...","Move to the center...":"Hay que moverse hacia el centro...","Please remove your eye coverings (sunglasses, eye patch, etc.)...":"Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...","Please remove your head coverings (hat, scarf, etc.)...":"Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...","Please remove your mask...":"Hay que quitarse el cubrebocas...","Live face not detected, please try again":"Rostro vivo no detectado. Por favor hay que intentar de nuevo.",Exit:"Salir","Face liveness has been verified!":"Se ha verificado la Prueba de Vida en rostro!",Done:"Terminar","Customer has been identified!":"¡Se ha identificado al cliente!","Customer not found":"Cliente no encontrado","Additional document capture":"Captura de otro documento",Next:"Siguiente","Please sign the box below":"Por favor, hay que firmar en el recuadro de abajo",Accept:"Aceptar",Clear:"Borrar","Video signature has been successfully captured!":"La video firma ha sido exitosa.","Network unreachable":"No hay conexión a internet.","We're having trouble reaching our services, please check your connection and try again.":"Estamos teniendo problemas para alcanzar nuestros servicios, por favor verificar la conexión a internet e intentar de nuevo.","We're sorry, an unexpected error has occurred.":"Lo sentimos, se ha producido un error inesperado."}}},yi=function(e){var n=xe().i18n;t.useEffect((function(){"auto"!==e?n.changeLanguage(e):n.changeLanguage()}),[n,e])};function wi(e,t,n,r){if("string"==typeof n)return n;if("object"==typeof n){var o=n;if(o[t])return o[t];var i=t.split("-")[0];if(o[i])return o[i]}return e(r)}function xi(e,n){var r=xe(),o=r.t,i=r.i18n;return t.useMemo((function(){return wi(o,i.language,e,n)}),[n,i.language,o,e])}function Ei(e,n){var r=xe(),o=r.t,i=r.i18n;return t.useMemo((function(){return m(m({},e),Object.keys(n).reduce((function(t,r){var a;return m(m({},t),((a={})[r]=wi(o,i.language,null==e?void 0:e[r],n[r]),a))}),{}))}),[n,i.language,o,e])}var Ci,Si,ki,Ti=h.default.div(Ci||(Ci=w(["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"],["\n position: absolute;\n top: calc(",");\n font-weight: bold;\n width: 100%;\n display: flex;\n"])),(function(e){var t=e.$top;return null!=t?t:"10vh"})),Ii=h.default.div(Si||(Si=w(["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"],["\n margin-left: auto;\n margin-right: auto;\n background: ",";\n color: ",";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"])),(function(e){var t=e.$background;return null!=t?t:"#ccc"}),(function(e){var t=e.$textColor;return null!=t?t:"black"})),Ai={videoWidth:0,videoHeight:0,captureStartedAt:null,detectedObjects:[],bestDocument:void 0,bestMrz:void 0,bestPdf417:void 0,documentType:Et.NONE,documentInBounds:!1,documentDetectionScore:0,documentDetectionThresholdMet:!1,passportPageDetectionScore:0,passportPageDetectionThresholdMet:!1,mrzDetectionScore:0,mrzDetectionThresholdMet:!1,pdf417DetectionScore:0,pdf417DetectionThresholdMet:!1,focusScore:0,focusThresholdMet:!1,barcodeScanningEnabled:!1,barcodeResult:null,waitingForBarcodeScan:!1,shouldScanBarcode:!1,autoCaptureBarcodeRequired:"mobile",barcodeScanFailedAttempts:0,maxBarcodeScanAttempts:10,isGoodFrame:!1,goodFramesCount:0,goodFramesThreshold:3,goodFramesThresholdMet:!1,lastFrameCapturedAt:null,frameCaptureRate:0,capturing:!1,captured:!1,captureFailed:!1},Di=function(e,t){switch(t.type){case"configure":return m(m(m({},e),t.payload),{goodFramesCount:0,captureStartedAt:new Date,capturing:!1,captured:!1,captureFailed:!1});case"objectsDetected":var n=t.payload.prediction,r=n.detectedObjects,o=n.detectionScore,i=n.detectionThresholdMet,a=n.detectedDocumentType,s=n.passportDetectionScore,l=n.passportDetectionThresholdMet,u=n.mrzDetectionScore,c=n.mrzDetectionThresholdMet,d=n.pdf417DetectionScore,h=n.pdf417DetectionThresholdMet,f=n.bestDocumentOrPassport,p=n.bestMrz,g=n.bestPdf417,v=n.focusScore,b=n.focusThresholdMet,y=n.frameWidth,w=n.frameHeight,x=new Date,E=0,C=e.goodFramesThreshold;e.lastFrameCapturedAt&&(E=1e3/(x.getTime()-e.lastFrameCapturedAt.getTime()))>0&&(C=Math.ceil(3*E));var S=!1;if(f){var k=f.bbox,T=k[0],I=k[1],A=k[2],D=k[3];T*=y,A*=y,S=(I*=w)>20&&I+(D*=w)+20<w&&(T>20||T<20&&T+A>.8*y)&&T+A+20<y}var R=!0===e.autoCaptureBarcodeRequired||"mobile"===e.autoCaptureBarcodeRequired&&Ut(),_=e.barcodeScanningEnabled&&h&&R,F=_&&!e.barcodeResult,M=i&&S&&b,L=e.goodFramesCount;return M&&(L+=1),m(m({},e),{videoWidth:y,videoHeight:w,detectedObjects:r,bestDocument:f,bestMrz:p,bestPdf417:g,documentType:a,documentInBounds:S,documentDetectionScore:o,documentDetectionThresholdMet:i,mrzDetectionScore:u,mrzDetectionThresholdMet:c,pdf417DetectionScore:d,pdf417DetectionThresholdMet:h,passportPageDetectionScore:s,passportPageDetectionThresholdMet:l,focusScore:v,focusThresholdMet:b,shouldScanBarcode:_,waitingForBarcodeScan:F,isGoodFrame:M,goodFramesCount:L,goodFramesThreshold:C,goodFramesThresholdMet:L>=C,lastFrameCapturedAt:x,frameCaptureRate:E});case"barcodeScanned":return m(m({},e),{barcodeResult:t.payload.result,waitingForBarcodeScan:!1,autoCaptureBarcodeRequired:!1});case"barcodeScanFailed":var P=m(m({},e),{barcodeScanFailedAttempts:e.barcodeScanFailedAttempts+1});return P.barcodeScanFailedAttempts>=P.maxBarcodeScanAttempts&&(P.autoCaptureBarcodeRequired=!1,P.shouldScanBarcode=!1,P.waitingForBarcodeScan=!1),P;case"capturing":return m(m({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return m(m({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return m(m({},e),{capturing:!1,captured:!1,captureFailed:!0});default:return e}},Ri=function(e){var n,r,o,i=e.requiredDocumentType,a=e.autoCaptureEnabled,s=void 0===a||a,u=e.autoCaptureScoreThreshold,c=void 0===u?.8:u,d=e.autoCaptureGoodFramesRequired,h=void 0===d?3:d,f=e.autoCaptureBarcodeRequired,p=void 0===f?"mobile":f,g=e.mrzDetectionScoreThreshold,m=void 0===g?.25:g,y=e.passportPageDetectionThreshold,w=void 0===y?.6:y,x=e.pdf417DetectionThreshold,E=void 0===x?.15:x,C=e.focusScoreThreshold,S=void 0===C?.3:C,k=e.barcodeScanningEnabled,T=void 0===k||k,I=e.maxBarcodeScanAttempts,A=void 0===I?10:I,D=e.guidanceMessage,R=e.guidanceSatisfied,_=e.onPrediction,F=e.onBarcodeScanned,M=e.onCapture,L=e.onExit,P=e.processingScreen,B=e.processingDelay,O=void 0===B?0:B,N=e.assets,U=void 0===N?{}:N,j=e.colors,G=void 0===j?{}:j,$=e.verbiage,z=void 0===$?{}:$,q=e.debugMode,V=void 0!==q&&q,W=Bt(),H=W.ref,K=W.width,Y=void 0===K?1:K,X=W.height,J=void 0===X?1:X,Z=t.useReducer(Di,Ai),Q=Z[0],ee=Z[1],te=t.useState(""),ne=te[0],re=te[1],oe=t.useState(!1),ie=oe[0],ae=oe[1],se=t.useContext(tn),le=se.cameraRef,ue=se.cameraReady,ce=se.takePhoto,de=se.videoRef,he=se.videoLoaded,fe=t.useRef(),pe=t.useContext(Go),ge=pe.ready,me=pe.working,ve=pe.setThresholds,be=pe.makePrediction,ye=pe.onPredictionMade,we=pe.detectionTime,xe=pe.focusPredictionTime,Ee=pe.getBestFrame,Ce=pe.resetBestFrame;t.useEffect((function(){fe.current=new Date}),[]),t.useEffect((function(){ee({type:"configure",payload:{requiredDocumentType:i,goodFramesThreshold:h,autoCaptureBarcodeRequired:p,barcodeScanningEnabled:T,maxBarcodeScanAttempts:A}}),Ce(),ve({document:c,passport:w,mrz:m,pdf417:E,focus:S})}),[i,c,S,m,h,p,T,A,w,E,Ce,ve]);var Se=t.useRef(0),ke=t.useRef(!1);t.useEffect((function(){ke.current=he&&ue&&ge&&!Q.capturing&&!Q.captured}),[ue,Q.captured,Q.capturing,ge,he]);var Te=t.useState(null),Ie=Te[0],Ae=Te[1];t.useEffect((function(){if(ge&&ue&&he)return Se.current=requestAnimationFrame((function e(){return v(this,void 0,void 0,(function(){var t,n;return b(this,(function(r){switch(r.label){case 0:if(!ke.current||me.current)return[3,5];r.label=1;case 1:return r.trys.push([1,4,,5]),Q.shouldScanBarcode?[4,ce()]:[3,3];case 2:if(!(t=r.sent()))return Se.current=requestAnimationFrame(e),[2];Ae(t),r.label=3;case 3:return de.current&&be(de.current),[3,5];case 4:return n=r.sent(),console.error("error capturing frame",n),[3,5];case 5:return Se.current=requestAnimationFrame(e),[2]}}))}))})),function(){cancelAnimationFrame(Se.current)}}),[ue,be,ge,me,Q.shouldScanBarcode,ce,he,de]),t.useEffect((function(){ye((function(e){ee({type:"objectsDetected",payload:{prediction:e}}),null==_||_(e)}))}),[_,ye]),t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return Q.shouldScanBarcode&&Ie?[4,qt(Ie,null===(t=Q.bestPdf417)||void 0===t?void 0:t.bbox)]:[3,2];case 1:(e=n.sent())?(ee({type:"barcodeScanned",payload:{result:e}}),null==F||F(e)):ee({type:"barcodeScanFailed"}),n.label=2;case 2:return[2]}}))}))}),[F,Q.shouldScanBarcode,null===(n=Q.bestPdf417)||void 0===n?void 0:n.bbox,ce,Ie]);var De=s&&Q.goodFramesThresholdMet&&!Q.capturing&&!Q.captured&&!Q.waitingForBarcodeScan&&_i(Q.captureStartedAt)>=3e3;t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t,n,r,o,i,a,s,l;return b(this,(function(u){switch(u.label){case 0:return De?(ee({type:"capturing"}),[4,Ee()]):[2];case 1:return(e=u.sent())?(ae(!0),[4,(c=e,new Promise((function(e){var t=new Image;t.onload=function(){e([t.naturalWidth,t.naturalHeight])},t.src=URL.createObjectURL(c)})))]):(console.log("uh oh, i did not get a photo"),ee({type:"captureFailed"}),[2]);case 2:return t=u.sent(),n=t[0],r=t[1],(o=document.createElement("canvas")).width=n,o.height=r,[4,createImageBitmap(e)];case 3:if(i=u.sent(),(n>1920&&r>1080||n>1080&&r>1920)&&Q.barcodeResult){if(n>r?(o.width=1920,o.height=r*(1920/n)):(o.height=1920,o.width=n*(1920/r)),!(a=o.getContext("2d")))return[2];a.drawImage(i,0,0,o.width,o.height)}else{if(!(s=o.getContext("bitmaprenderer")))return[2];s.transferFromImageBitmap(i)}return l=o.toDataURL("image/jpeg",.92),re(l),setTimeout((function(){var e,t=(new Date).getTime()-(null!==(e=fe.current)&&void 0!==e?e:new Date).getTime();null==M||M(l,n,r,{autoCapture:"Y",captureTime:t}),ee({type:"captured"}),ae(!1)}),O),[2]}var c}))}))}),[Ee,M,O,De,Q.barcodeResult]),G.guideBoxUnsatisfiedColor||(G.guideBoxUnsatisfiedColor="white"),G.guideBoxSatisfiedColor||(G.guideBoxSatisfiedColor="green"),G.guidanceMessagesSatisfiedBackgroundColor||(G.guidanceMessagesSatisfiedBackgroundColor="green"),G.guidanceMessagesSatisfiedTextColor||(G.guidanceMessagesSatisfiedTextColor="white");var Re=Ei(z,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured.",capturingText:"Capturing...",captureFailedText:"Capture failed!",guidanceSatisfiedText:"Document detected, hold still...",guidanceTooBlurryText:"Document out of focus – try improving the lighting",guidanceNotCenteredText:"Document is not centered",guidanceNotDetectedText:"Document not detected"}),_e=ni({enabled:V,pageWidth:Y,pageHeight:J,videoWidth:Q.videoWidth,videoHeight:Q.videoHeight}),Fe=Q.isGoodFrame;return"boolean"==typeof R&&(Fe=R),D||(D=Fe?Re.guidanceSatisfiedText:Q.documentDetectionThresholdMet?Q.documentInBounds?Q.focusThresholdMet?"":Re.guidanceTooBlurryText:Re.guidanceNotCenteredText:Re.guidanceNotDetectedText),ie?l.default.createElement(l.default.Fragment,null,P,ne&&l.default.createElement(fi,{text:Re.processingIdCardText,imageUrl:ne})):""!==ne?l.default.createElement("img",{src:ne,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}}):l.default.createElement(ot,{ref:H,className:"flex"},l.default.createElement(jt,{width:Y,height:J,instruction:Q.captureFailed?Re.captureFailedText:Q.capturing?null==Re?void 0:Re.capturingText:Re.instructionText,portraitGuidesImageUrl:U.portraitGuidesImageUrl,landscapeGuidesImageUrl:U.landscapeGuidesImageUrl,isMirrored:!(null===(r=le.current)||void 0===r?void 0:r.isRearFacing),borderColor:Q.isGoodFrame?G.guideBoxSatisfiedColor:G.guideBoxUnsatisfiedColor}),""!==D&&l.default.createElement(Ti,{$top:"82.5vh"},l.default.createElement(Ii,{$background:Fe?G.guidanceMessagesSatisfiedBackgroundColor:G.guidanceMessagesUnsatisfiedBackgroundColor,$textColor:Fe?G.guidanceMessagesSatisfiedTextColor:G.guidanceMessagesUnsatisfiedTextColor},D)),V&&Q.detectedObjects.length>0&&l.default.createElement(Qo,{$flipX:!(null===(o=le.current)||void 0===o?void 0:o.isRearFacing)},Q.detectedObjects.map((function(e,t){var n;return l.default.createElement(ri,{key:t,obj:e,scaling:_e,flipX:!(null===(n=le.current)||void 0===n?void 0:n.isRearFacing)})}))),V&&l.default.createElement(Zo,null,le.current?l.default.createElement(l.default.Fragment,null,"✅ Camera: ",le.current.label," (",le.current.width,"x",le.current.height,")"):"❌ Camera not ready",l.default.createElement("br",null),Q.frameCaptureRate>.75?"✅":"👎"," Frame Rate:"," ",Math.round(1e3*(Q.frameCaptureRate+Number.EPSILON))/1e3," ","fps (",we,"ms doc detect, ",xe,"ms focus)",l.default.createElement("br",null),ge?l.default.createElement(l.default.Fragment,null,Q.documentDetectionThresholdMet?"✅":"❌"," Document Score: ",Q.documentDetectionScore," (",Q.documentType,")",l.default.createElement("br",null),Q.documentInBounds?"✅":"❌"," Document In Bounds",l.default.createElement("br",null),Q.focusThresholdMet?"✅":"❌"," Focus Score:"," ",Q.focusScore,l.default.createElement("br",null),Q.goodFramesThresholdMet?"✅":"❌"," Good Frame Count:"," ",Q.goodFramesCount,"/",Q.goodFramesThreshold,T&&Q.autoCaptureBarcodeRequired?l.default.createElement(l.default.Fragment,null,l.default.createElement("br",null),Q.barcodeResult?"✅":"❌"," Barcode Scanned (",zt()?"Native":"ZXing",","," ",Q.barcodeScanFailedAttempts,"/",Q.maxBarcodeScanAttempts," failed attempts)"):null):l.default.createElement(l.default.Fragment,null,"❌ Models not ready")),l.default.createElement(di,{onClick:L},"×"))},_i=function(e){return e?Math.abs((new Date).getTime()-e.getTime()):0},Fi=function(e){var n,r,o=e.assets,i=void 0===o?{}:o,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u,d=t.useContext(tn).retryCameraAccess;i.imageUrl||(i.imageUrl=Mo+"/camera-disable-icon.png"),s.retryBtn||(s.retryBtn={}),(n=s.retryBtn).backgroundColor||(n.backgroundColor="#ea8557"),(r=s.retryBtn).textColor||(r.textColor="white");var h=Ei(c,{headingText:"Your camera permission is disabled",descriptionText:"This application requires access to your camera to continue. Please accept the permission once prompted by the browser. If the browser does not prompt for camera permissions, you must go to settings and provide camera access to the current browser.",retryBtnText:"Retry"});return l.default.createElement(ut,null,l.default.createElement("div",{style:{display:"flex",height:"100%"}},l.default.createElement(ct,{style:{maxWidth:500,height:"auto",margin:"auto"}},l.default.createElement(dt,{style:{flexGrow:0}},l.default.createElement("img",{src:i.imageUrl,alt:""})),l.default.createElement("h3",null,h.headingText),l.default.createElement("p",{style:{lineHeight:1.5,marginBottom:50}},h.descriptionText),l.default.createElement(St,{onClick:d,colors:s.retryBtn,style:{width:200,marginLeft:"auto",marginRight:"auto"},finished:!0},h.retryBtnText))))},Mi=function(e){var n=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,u=void 0===s?{}:s,c=t.useContext(Go).ready,d=t.useContext(tn),h=d.cameraReady,f=d.cameraAccessDenied,p=d.iphoneContinuityCameraAvailable,g=d.setIphoneContinuityCameraAllowed,m=t.useState(!1),v=m[0],b=m[1];o.instructionImageUrl||(o.instructionImageUrl="".concat(Mo,"/WebSDK-Instruction-DL-Capture-3-Portrait.png"));var y=Ei(u,{headingText:"Use your device camera to capture your ID",useContinuityCameraText:"Use your iPhone as a webcam",modelsWarmingUpText:"Models warming up...",cameraInitializingText:"Camera initializing...",continueText:"Continue"});return t.useEffect((function(){if(c&&h)return function(){return null};var e=setTimeout((function(){b(!1)}),500);return function(){clearTimeout(e)}}),[h,c]),v?l.default.createElement(l.default.Fragment,null):f?l.default.createElement(Fi,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:u.cameraAccessDenied}):l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",null,y.headingText),l.default.createElement(dt,{style:{pointerEvents:"none"}},l.default.createElement("img",{alt:y.headingText,src:o.instructionImageUrl})),l.default.createElement("div",{style:{paddingTop:26,height:48,marginTop:-48}},p&&l.default.createElement(l.default.Fragment,null,l.default.createElement("input",{id:"use-continuity-camera",type:"checkbox",defaultChecked:!0,style:{marginRight:8},onChange:function(e){g(e.target.checked)}}),l.default.createElement("label",{htmlFor:"use-continuity-camera"},y.useContinuityCameraText))),l.default.createElement(St,{disabled:!h||!c,finished:c&&h,colors:a.continueBtn,style:{marginTop:8},onClick:function(){b(!0),null==n||n()}},h&&c?y.continueText:c?y.cameraInitializingText:y.modelsWarmingUpText)))},Li=function(e){var n,r=e.assets,o=void 0===r?{}:r,i=e.verbiage,a=void 0===i?{}:i,s=Bt(),u=s.ref,c=s.width,d=void 0===c?1:c,h=s.height,f=void 0===h?1:h,p=t.useContext(tn).cameraRef;o.frontPortraitGuidesImageUrl||(o.frontPortraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),o.frontLandscapeGuidesImageUrl||(o.frontLandscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),o.backPortraitGuidesImageUrl||(o.backPortraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),o.backLandscapeGuidesImageUrl||(o.backLandscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var g=xi(a.instructionText,"Please flip your ID card..."),v=Ut()?0:50,b=!(null===(n=p.current)||void 0===n?void 0:n.isRearFacing),y=t.useContext(Ot),w=y.orientation,x=y.wrapperRef,E=y.wrapperWidth,C=y.wrapperHeight,S=y.imageAspectRatio,k=y.wrapperAspectRatio,T=y.onImageLoaded,I=y.setDimensions;t.useEffect((function(){I({width:d,height:f})}),[f,I,d]);var A={height:C-2*v-8};S>=k&&(A={width:E-2*v-8});var D=t.useState(1),R=D[0],_=D[1],F=t.useState(0),M=F[0],L=F[1],P=["rotateY(".concat(M,"deg)")];b&&P.push("scaleX(-1)");var B=["rotateY(".concat(180-M,"deg)")];return b&&B.push("scaleX(-1)"),t.useEffect((function(){var e=function(){_(1),L(180),setTimeout((function(){_(0),L(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),l.default.createElement(ot,{ref:u,className:"flex"},l.default.createElement("div",{ref:x,style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%"}},l.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},g)),l.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)")}},l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,flexGrow:1}}),l.default.createElement("div",{style:{maxWidth:"calc(100% - ".concat(2*v,"px - ").concat(8,"px)"),maxHeight:f-2*v-8}},l.default.createElement("div",{style:{position:"relative",border:"".concat(4,"px solid ").concat("white")}},l.default.createElement("img",{src:"portrait"===w?o.frontPortraitGuidesImageUrl:o.frontLandscapeGuidesImageUrl,alt:"",onLoad:T,style:m({backfaceVisibility:"hidden",transition:"transform ".concat(R,"s"),transform:P.join(" "),transformStyle:"preserve-3d",position:"relative",top:0,left:0,display:"block"},A)}),l.default.createElement("img",{src:"portrait"===w?o.backPortraitGuidesImageUrl:o.backLandscapeGuidesImageUrl,alt:"",style:m({backfaceVisibility:"hidden",transition:"transform ".concat(R,"s"),transform:B.join(" "),transformStyle:"preserve-3d",position:"absolute",top:0,left:0,display:"block"},A)}))),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",minWidth:v,flexGrow:1}})),l.default.createElement("div",{style:{background:"rgba(0,0,0,0.5)",width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},g)))))},Pi=function(e){var n,r,o=e.capturedDocuments,i=e.onSubmitClick,a=e.onRetryClick,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=t.useContext(Ye).submissionStatus,f=o.ID_CARD_FRONT,p=o.ID_CARD_BACK,g=o.PASSPORT;u.retryBtn||(u.retryBtn={}),(n=u.retryBtn).backgroundColor||(n.backgroundColor="#ea8557"),(r=u.retryBtn).textColor||(r.textColor="white");var m=Ei(d,{headingText:"ID Capture Successful",idCardFrontText:"ID Card Front",idCardBackText:"ID Card Back",passportText:"Passport",instructionText:"Verify the entire ID was captured clearly with no glare.",retryText:"Retry",submittingText:"Submitting...",submitText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h1",null,m.headingText),l.default.createElement(dt,null,l.default.createElement(ht,{style:{paddingBottom:40}},f&&l.default.createElement("div",null,l.default.createElement("h3",null,m.idCardFrontText),l.default.createElement("img",{src:f.imageData,alt:m.idCardFrontText,width:f.width,height:f.height})),p&&l.default.createElement("div",null,l.default.createElement("h3",null,m.idCardBackText),l.default.createElement("img",{src:p.imageData,alt:m.idCardBackText,width:p.width,height:p.height})),g&&l.default.createElement("div",null,l.default.createElement("h3",null,m.passportText),l.default.createElement("img",{src:g.imageData,alt:m.passportText,width:g.width,height:g.height})))),l.default.createElement("p",{style:{fontSize:18}},m.instructionText),l.default.createElement("div",{style:{paddingTop:15,textAlign:"center"}},l.default.createElement(St,{onClick:a,colors:u.retryBtn,style:{marginRight:15},finished:!0},m.retryText),l.default.createElement(St,{onClick:i,disabled:h===Ve.SUBMITTING,colors:u.doneBtn,finished:!0},h===Ve.SUBMITTING?m.submittingText:m.submitText))))},Bi=function(){var e,n=t.useContext(tn),r=n.videoRef,o=n.setVideoLoaded,i=n.cameraRef;t.useEffect((function(){o(!1)}),[o]),t.useEffect((function(){var e;r.current&&(null===(e=i.current)||void 0===e?void 0:e.stream)&&(r.current.srcObject=i.current.stream)}),[i,r]);var a=t.useCallback((function(){o(!0)}),[o]);return l.default.createElement(Oi,{autoPlay:!0,playsInline:!0,muted:!0,ref:r,onLoadedData:a,$isRearFacing:null===(e=i.current)||void 0===e?void 0:e.isRearFacing})},Oi=h.default.video(ki||(ki=w(["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"],["\n transform: ",";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"])),(function(e){return e.$isRearFacing?"":"scaleX(-1)"}));function Ni(e,n,r){var o=this,i=t.useState(!1),a=i[0],s=i[1];return t.useEffect((function(){n&&e&&("function"==typeof e?v(o,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,e()];case 1:return t.sent()?null==r||r():s(!0),[2]}}))})):null==r||r())}),[n,r,e]),!e||a}var Ui,ji=function(e){var n=e.onCapture,r=e.onFinished,o=e.colors,i=void 0===o?{}:o,a=e.verbiage,s=void 0===a?{}:a,u=t.useRef(null),c=t.useState([]),d=c[0],h=c[1];i.captureMoreBtn||(i.captureMoreBtn={backgroundColor:"#666"});var f=Ei(s,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture photos of your ID card or passport manually.",firstInstructionText:"Please capture the front of your ID card, or the ID page of your passport.",secondInstructionText:"Please capture the back of your ID card, or click Done if submitting a passport.",captureBtnText:"Capture",captureMoreBtnText:"Capture back of ID Card",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,{style:{justifyContent:"center"}},l.default.createElement("h3",{style:{marginBottom:8}},f.headingText),l.default.createElement("p",{style:{marginBottom:8}},f.descriptionText),d.length>0&&l.default.createElement(ht,null,d.map((function(e,t){return l.default.createElement("div",{key:t,style:{display:"flex",justifyContent:"center",flexGrow:1,flexBasis:0}},l.default.createElement("img",{src:e,alt:""}))}))),d.length<2&&l.default.createElement("p",{style:{fontWeight:"bold"}},0===d.length?f.firstInstructionText:f.secondInstructionText),l.default.createElement("input",{ref:u,type:"file",accept:"image/*",hidden:!0,onChange:function(e){var t,r=null===(t=e.target.files)||void 0===t?void 0:t[0];if(r){var o=new FileReader;o.addEventListener("load",(function(e){var t,r=null===(t=e.target)||void 0===t?void 0:t.result;h((function(e){return y(y([],e,!0),[r],!1)})),null==n||n(r)})),o.readAsDataURL(r)}}}),l.default.createElement("div",{style:{marginTop:32}},d.length<2&&l.default.createElement(St,{colors:d.length>0?i.captureMoreBtn:i.captureBtn,finished:!0,onClick:function(){var e;null===(e=u.current)||void 0===e||e.click()}},d.length>0?f.captureMoreBtnText:f.captureBtnText),d.length>0&&l.default.createElement(St,{colors:i.doneBtn,finished:!0,onClick:function(){null==r||r(d)},style:{marginLeft:12}},f.doneBtnText))))};!function(e){e.CAPTURING="CAPTURING",e.COMPLETE="COMPLETE"}(Ui||(Ui={}));var Gi={captureState:Ui.CAPTURING,capturedDocuments:{},requestedDocumentType:Et.ID_CARD_FRONT,currentDocumentType:Et.NONE,differentDocumentTypeDetections:0,barcodeResult:null},$i=function(e,t){var n;switch(t.type){case"predictionMade":var r=t.payload.prediction;return(o=m(m({},e),{currentDocumentType:r.detectedDocumentType})).currentDocumentType===e.requestedDocumentType&&(o.differentDocumentTypeDetections=0),"PASSPORT"===r.detectedDocumentType&&"PASSPORT"!==e.requestedDocumentType&&(o.requestedDocumentType=Et.PASSPORT),"PASSPORT"===e.requestedDocumentType&&r.passportDetectionScore<.3&&(o.requestedDocumentType=Et.ID_CARD_FRONT),o;case"barcodeScanned":return m(m({},e),{barcodeResult:t.payload.result});case"imageCaptured":var o=m(m({},e),{capturedDocuments:m(m({},e.capturedDocuments),(n={},n[e.requestedDocumentType]=t.payload,n))});return"ID_CARD_FRONT"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_BACK?"ID_CARD_BACK"!==e.requestedDocumentType||e.capturedDocuments.ID_CARD_FRONT?o.captureState=Ui.COMPLETE:o.requestedDocumentType=Et.ID_CARD_FRONT:o.requestedDocumentType=Et.ID_CARD_BACK,o;case"imageCapturedManually":o=m({},e);var i=m(m({},t.payload),{width:0,height:0});return 0===Object.keys(e.capturedDocuments).length?o.capturedDocuments[Et.PASSPORT]=i:(o.capturedDocuments={},o.capturedDocuments[Et.ID_CARD_FRONT]=e.capturedDocuments[Et.PASSPORT],o.capturedDocuments[Et.ID_CARD_BACK]=i),o;case"reset":return m({},Gi)}},zi=function(e){var n,r,o,i,a,s,u,c,d,h,f=e.onSuccess,p=e.autoCaptureEnabled,g=void 0===p||p,m=e.autoCaptureGoodFramesRequired,v=void 0===m?3:m,b=e.autoCaptureBarcodeRequired,y=void 0===b?"mobile":b,w=e.barcodeScanningEnabled,x=void 0!==w&&w,E=e.idCardAutoCaptureScoreThreshold,C=void 0===E?.8:E,S=e.passportAutoCaptureScoreThreshold,k=void 0===S?.75:S,T=e.mrzDetectionScoreThreshold,I=void 0===T?.25:T,A=e.idCardFocusScoreThreshold,D=void 0===A?.3:A,R=e.passportFocusScoreThreshold,_=void 0===R?.3:R,F=e.skipSuccessScreen,M=void 0!==F&&F,L=e.assets,P=void 0===L?{}:L,B=e.colors,O=void 0===B?{}:B,N=e.verbiage,U=void 0===N?{}:N,j=e.debugMode,G=void 0!==j&&j,$=t.useReducer($i,Gi),z=$[0],q=$[1],V=t.useContext(tn).releaseCameraAccess,W=t.useState(!1),H=W[0],K=W[1],Y=t.useContext(Ye),X=Y.submissionStatus,J=Y.submissionResponse,Z=Y.setIdFrontImage,Q=Y.setIdBackImage,ee=Y.setPassportImage,te=Y.logIdFrontCaptureAttempt,ne=Y.logIdBackCaptureAttempt,re=t.useContext(Go).error,oe=t.useRef();t.useEffect((function(){oe.current=new Date}),[z.capturedDocuments.length]);var ie=t.useCallback((function(e){var t;e.operationTime=(new Date).getTime()-(null!==(t=oe.current)&&void 0!==t?t:new Date).getTime(),"ID_CARD_BACK"===z.requestedDocumentType?ne(e):te(e)}),[ne,te,z.requestedDocumentType]),ae=t.useCallback((function(e){q({type:"predictionMade",payload:{prediction:e}})}),[]),se=t.useCallback((function(e){q({type:"barcodeScanned",payload:{result:e}})}),[]),le=t.useCallback((function(e,t,n,r){ie(r),q({type:"imageCaptured",payload:{imageData:e,width:t,height:n}})}),[ie]),ue=t.useCallback((function(){var e=z.capturedDocuments.ID_CARD_FRONT,t=z.capturedDocuments.ID_CARD_BACK,n=z.capturedDocuments.PASSPORT,r=e&&et(e.imageData),o=t&&et(t.imageData),i=n&&et(n.imageData);Z(r),Q(o),ee(i),V(),setTimeout((function(){null==f||f({idFrontImage:r,idBackImage:o,passportImage:i})}),0)}),[f,V,Q,Z,ee,z.capturedDocuments]),ce=Ni(M,z.captureState===Ui.COMPLETE,ue),de=t.useCallback((function(){q({type:"reset"})}),[]),he=t.useState(0),fe=he[0],pe=he[1],ge=t.useCallback((function(){K(!1),pe((function(e){return e+1})),q({type:"reset"})}),[]);t.useEffect((function(){X!==Ve.READY&&V()}),[V,X]),P.idCardFront||(P.idCardFront={}),(n=P.idCardFront).portraitGuidesImageUrl||(n.portraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Portrait-2.svg")),(r=P.idCardFront).landscapeGuidesImageUrl||(r.landscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),P.idCardBack||(P.idCardBack={}),(o=P.idCardBack).portraitGuidesImageUrl||(o.portraitGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Portrait-2.svg")),(i=P.idCardBack).landscapeGuidesImageUrl||(i.landscapeGuidesImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg")),P.passport||(P.passport={}),(a=P.passport).portraitGuidesImageUrl||(a.portraitGuidesImageUrl="".concat(Mo,"/Shieldout-Passport-Front-SVG-Portrait-2.svg")),(s=P.passport).landscapeGuidesImageUrl||(s.landscapeGuidesImageUrl="".concat(Mo,"/Shieldout-Passport-Front-SVG-Landscape-2.svg")),P.flipIdPrompt||(P.flipIdPrompt={}),(u=P.flipIdPrompt).frontPortraitGuidesImageUrl||(u.frontPortraitGuidesImageUrl=P.idCardFront.portraitGuidesImageUrl),(c=P.flipIdPrompt).frontLandscapeGuidesImageUrl||(c.frontLandscapeGuidesImageUrl=P.idCardFront.landscapeGuidesImageUrl),(d=P.flipIdPrompt).backPortraitGuidesImageUrl||(d.backPortraitGuidesImageUrl=P.idCardBack.portraitGuidesImageUrl),(h=P.flipIdPrompt).backLandscapeGuidesImageUrl||(h.backLandscapeGuidesImageUrl=P.idCardBack.landscapeGuidesImageUrl);var me=Ei(U.idCardFront,{instructionText:"Scan the front of ID",processingIdCardText:"ID card front captured."}),ve=Ei(U.idCardBack,{instructionText:"Scan the back of ID"}),be=Ei(U.idCardBack,{instructionText:"Scan the ID page of passport"});return J?l.default.createElement(ot,{className:"padded"},l.default.createElement("h1",null,"Submission completed!"),l.default.createElement("pre",null,JSON.stringify(J,null,2))):re?l.default.createElement(ji,{onFinished:ue,onCapture:function(e){q({type:"imageCapturedManually",payload:{imageData:e}})},colors:O.fallback,verbiage:U.fallback}):l.default.createElement(ot,{className:"flex"},z.captureState!==Ui.COMPLETE&&l.default.createElement(Bi,null),H&&function(){var e=Object.keys(z.capturedDocuments).length;switch(z.requestedDocumentType){case Et.ID_CARD_FRONT:return l.default.createElement(Ri,{key:"capture".concat(e),requiredDocumentType:z.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:v,autoCaptureBarcodeRequired:y,barcodeScanningEnabled:!1,mrzDetectionScoreThreshold:I,focusScoreThreshold:D,onPrediction:ae,onCapture:le,onExit:ge,processingDelay:3500,assets:P.idCardFront,colors:O,verbiage:me,debugMode:G,processingScreen:l.default.createElement(Li,{assets:P.flipIdPrompt,verbiage:U.flipIdPrompt})});case Et.ID_CARD_BACK:return l.default.createElement(Ri,{key:"capture".concat(e),requiredDocumentType:z.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:C,autoCaptureGoodFramesRequired:v,autoCaptureBarcodeRequired:y,barcodeScanningEnabled:x,mrzDetectionScoreThreshold:I,focusScoreThreshold:D,onPrediction:ae,onBarcodeScanned:se,onCapture:le,onExit:ge,assets:P.idCardBack,colors:O,verbiage:ve,debugMode:G});case Et.PASSPORT:return l.default.createElement(Ri,{key:"capture".concat(e),requiredDocumentType:z.requestedDocumentType,autoCaptureEnabled:g,autoCaptureScoreThreshold:k,mrzDetectionScoreThreshold:I,autoCaptureGoodFramesRequired:v,autoCaptureBarcodeRequired:y,barcodeScanningEnabled:!1,focusScoreThreshold:_,onPrediction:ae,onBarcodeScanned:se,onCapture:le,onExit:ge,assets:P.passport,colors:O,verbiage:be,debugMode:G});default:return null}}(),!H&&l.default.createElement(Mi,{key:fe,assets:P.loadingOverlay,colors:O.loadingOverlay,verbiage:U.loadingOverlay,onDismissed:function(){K(!0)}}),z.captureState===Ui.COMPLETE&&ce&&l.default.createElement(Pi,{capturedDocuments:z.capturedDocuments,barcodeResult:z.barcodeResult,onSubmitClick:ue,onRetryClick:de,colors:O.success,verbiage:U.success}))},qi=function(e){var t=e.borderWidth,n=e.borderColor;return l.default.createElement("div",{style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%",display:"flex"}},l.default.createElement("div",{style:{borderWidth:void 0===t?3:t,borderColor:void 0===n?"white":n,borderStyle:"solid",borderRadius:"50%",aspectRatio:"1 / 1.618",height:"50%",margin:"auto"}}))},Vi=self;function Wi(){throw Error("Invalid UTF8")}function Hi(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}let Ki,Yi;const Xi="undefined"!=typeof TextDecoder;let Ji;const Zi="undefined"!=typeof TextEncoder;function Qi(e){if(Zi)e=(Ji||=new TextEncoder).encode(e);else{let n=0;const r=new Uint8Array(3*e.length);for(let o=0;o<e.length;o++){var t=e.charCodeAt(o);if(128>t)r[n++]=t;else{if(2048>t)r[n++]=t>>6|192;else{if(55296<=t&&57343>=t){if(56319>=t&&o<e.length){const i=e.charCodeAt(++o);if(56320<=i&&57343>=i){r[n++]=(t=1024*(t-55296)+i-56320+65536)>>18|240,r[n++]=t>>12&63|128,r[n++]=t>>6&63|128,r[n++]=63&t|128;continue}o--}t=65533}r[n++]=t>>12|224,r[n++]=t>>6&63|128}r[n++]=63&t|128}}e=n===r.length?r:r.subarray(0,n)}return e}var ea,ta;e:{for(var na=["CLOSURE_FLAGS"],ra=Vi,oa=0;oa<na.length;oa++)if(null==(ra=ra[na[oa]])){ta=null;break e}ta=ra}var ia,aa=ta&&ta[610401301];ea=null!=aa&&aa;const sa=Vi.navigator;function la(e){return!!ea&&!!ia&&ia.brands.some((({brand:t})=>t&&-1!=t.indexOf(e)))}function ua(e){var t;return(t=Vi.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function ca(){return!!ea&&!!ia&&0<ia.brands.length}function da(){return ca()?la("Chromium"):(ua("Chrome")||ua("CriOS"))&&!(!ca()&&ua("Edge"))||ua("Silk")}ia=sa&&sa.userAgentData||null;var ha=!ca()&&(ua("Trident")||ua("MSIE"));!ua("Android")||da(),da(),ua("Safari")&&(da()||!ca()&&ua("Coast")||!ca()&&ua("Opera")||!ca()&&ua("Edge")||(ca()?la("Microsoft Edge"):ua("Edg/"))||ca()&&la("Opera"));var fa={},pa=null;function ga(){if(!pa){pa={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],n=0;5>n;n++){var r=e.concat(t[n].split(""));fa[n]=r;for(var o=0;o<r.length;o++){var i=r[o];void 0===pa[i]&&(pa[i]=o)}}}}var ma="undefined"!=typeof Uint8Array,va=!ha&&"function"==typeof btoa;function ba(e){if(!va){var t;void 0===t&&(t=0),ga(),t=fa[t];var n=Array(Math.floor(e.length/3)),r=t[64]||"";let l=0,u=0;for(;l<e.length-2;l+=3){var o=e[l],i=e[l+1],a=e[l+2],s=t[o>>2];n[u++]=s+(o=t[(3&o)<<4|i>>4])+(i=t[(15&i)<<2|a>>6])+(a=t[63&a])}switch(s=0,a=r,e.length-l){case 2:a=t[(15&(s=e[l+1]))<<2]||r;case 1:n[u]=t[(e=e[l])>>2]+t[(3&e)<<4|s>>4]+a+r}return n.join("")}for(t="",n=0,r=e.length-10240;n<r;)t+=String.fromCharCode.apply(null,e.subarray(n,n+=10240));return t+=String.fromCharCode.apply(null,n?e.subarray(n):e),btoa(t)}const ya=/[-_.]/g,wa={"-":"+",_:"/",".":"="};function xa(e){return wa[e]||""}function Ea(e){if(!va)return function(e){var t=e.length,n=3*t/4;n%3?n=Math.floor(n):-1!="=.".indexOf(e[t-1])&&(n=-1!="=.".indexOf(e[t-2])?n-2:n-1);var r=new Uint8Array(n),o=0;return function(e,t){function n(t){for(;r<e.length;){var n=e.charAt(r++),o=pa[n];if(null!=o)return o;if(!/^[\s\xa0]*$/.test(n))throw Error("Unknown base64 encoding at char: "+n)}return t}ga();for(var r=0;;){var o=n(-1),i=n(0),a=n(64),s=n(64);if(64===s&&-1===o)break;t(o<<2|i>>4),64!=a&&(t(i<<4&240|a>>2),64!=s&&t(a<<6&192|s))}}(e,(function(e){r[o++]=e})),o!==n?r.subarray(0,o):r}(e);ya.test(e)&&(e=e.replace(ya,xa)),e=atob(e);const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Ca(e){return ma&&null!=e&&e instanceof Uint8Array}let Sa;function ka(){return Sa||=new Uint8Array(0)}var Ta={};let Ia;function Aa(e){if(e!==Ta)throw Error("illegal external caller")}function Da(){return Ia||=new _a(null,Ta)}function Ra(e){Aa(Ta);var t=e.N;return null==(t=null==t||Ca(t)?t:"string"==typeof t?Ea(t):null)?t:e.N=t}var _a=class{constructor(e,t){if(Aa(t),this.N=e,null!=e&&0===e.length)throw Error("ByteString should be constructed with non-empty values")}ha(){const e=Ra(this);return e?new Uint8Array(e):ka()}};function Fa(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function Ma(){return Error("Failed to read varint, encoding is invalid.")}function La(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function Pa(e){return 0==e.length?Da():new _a(e,Ta)}function Ba(e){if("string"==typeof e)return{buffer:Ea(e),H:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),H:!1};if(e.constructor===Uint8Array)return{buffer:e,H:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),H:!1};if(e.constructor===_a)return{buffer:Ra(e)||ka(),H:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.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 Oa="function"==typeof Uint8Array.prototype.slice;let Na,Ua=0,ja=0;function Ga(e){const t=0>e;let n=(e=Math.abs(e))>>>0;if(e=Math.floor((e-n)/4294967296),t){const[t,r]=Wa(n,e);e=r,n=t}Ua=n>>>0,ja=e>>>0}function $a(e){const t=Na||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),ja=0,Ua=t.getUint32(0,!0)}function za(e,t){return 4294967296*t+(e>>>0)}function qa(e,t){const n=2147483648&t;return n&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),e=za(e,t),n?-e:e}function Va(e){if(16>e.length)Ga(Number(e));else if("function"==typeof BigInt)e=BigInt(e),Ua=Number(e&BigInt(4294967295))>>>0,ja=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+("-"===e[0]);ja=Ua=0;const n=e.length;for(let r=t,o=(n-t)%6+t;o<=n;r=o,o+=6){const t=Number(e.slice(r,o));ja*=1e6,Ua=1e6*Ua+t,4294967296<=Ua&&(ja+=Math.trunc(Ua/4294967296),ja>>>=0,Ua>>>=0)}if(t){const[e,t]=Wa(Ua,ja);Ua=e,ja=t}}}function Wa(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function Ha(e,t,{R:n=!1}={}){e.R=n,t&&(t=Ba(t),e.h=t.buffer,e.s=t.H,e.v=0,e.l=e.h.length,e.g=e.v)}function Ka(e,t){if(e.g=t,t>e.l)throw La(e.l,t)}function Ya(e,t){let n,r=0,o=0,i=0;const a=e.h;let s=e.g;do{n=a[s++],r|=(127&n)<<i,i+=7}while(32>i&&128&n);for(32<i&&(o|=(127&n)>>4),i=3;32>i&&128&n;i+=7)n=a[s++],o|=(127&n)<<i;if(Ka(e,s),128>n)return t(r>>>0,o>>>0);throw Ma()}function Xa(e){let t=0,n=e.g;const r=n+10,o=e.h;for(;n<r;){const r=o[n++];if(t|=r,0==(128&r))return Ka(e,n),!!(127&t)}throw Ma()}function Ja(e){var t=e.h;const n=e.g,r=t[n],o=t[n+1],i=t[n+2];return t=t[n+3],Ka(e,e.g+4),(r<<0|o<<8|i<<16|t<<24)>>>0}function Za(e,t){if(0>t)throw Error(`Tried to read a negative byte length: ${t}`);const n=e.g,r=n+t;if(r>e.l)throw La(t,e.l-n);return e.g=r,n}function Qa(e,t){if(0==t)return Da();var n=Za(e,t);return e.R&&e.s?n=e.h.subarray(n,n+t):(e=e.h,n=n===(t=n+t)?ka():Oa?e.slice(n,t):new Uint8Array(e.subarray(n,t))),Pa(n)}var es=class{constructor(e,t){this.h=null,this.s=!1,this.g=this.l=this.v=0,Ha(this,e,t)}m(){const e=this.h;let t=this.g,n=e[t++],r=127&n;if(128&n&&(n=e[t++],r|=(127&n)<<7,128&n&&(n=e[t++],r|=(127&n)<<14,128&n&&(n=e[t++],r|=(127&n)<<21,128&n&&(n=e[t++],r|=n<<28,128&n&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++]&&128&e[t++])))))throw Ma();return Ka(this,t),r}j(){return this.m()>>>0}A(){var e=Ja(this);const t=2*(e>>31)+1,n=e>>>23&255;return e&=8388607,255==n?e?NaN:1/0*t:0==n?t*Math.pow(2,-149)*e:t*Math.pow(2,n-150)*(e+Math.pow(2,23))}C(){return this.m()}},ts=[];function ns(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var n=e.g.j();if(t=n>>>3,!(0<=(n&=7)&&5>=n))throw Fa(n,e.l);if(1>t)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=n,!0}function rs(e){switch(e.h){case 0:0!=e.h?rs(e):Xa(e.g);break;case 1:Ka(e=e.g,e.g+8);break;case 2:if(2!=e.h)rs(e);else{var t=e.g.j();Ka(e=e.g,e.g+t)}break;case 5:Ka(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!ns(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}rs(e)}break;default:throw Fa(e.h,e.l)}}function os(e,t,n){const r=e.g.l,o=e.g.j(),i=e.g.g+o;let a=i-r;if(0>=a&&(e.g.l=i,n(t,e,void 0,void 0,void 0),a=i-e.g.g),a)throw Error(`Message parsing ended unexpectedly. Expected to read ${o} bytes, instead read ${o-a} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=i,e.g.l=r,t}function is(e){var t=e.g.j(),n=Za(e=e.g,t);if(e=e.h,Xi){var r,o=e;(r=Yi)||(r=Yi=new TextDecoder("utf-8",{fatal:!0})),e=n+t,o=0===n&&e===o.length?o:o.subarray(n,e);try{var i=r.decode(o)}catch(e){if(void 0===Ki){try{r.decode(new Uint8Array([128]))}catch(e){}try{r.decode(new Uint8Array([97])),Ki=!0}catch(e){Ki=!1}}throw!Ki&&(Yi=void 0),e}}else{t=(i=n)+t,n=[];let s,l=null;for(;i<t;){var a=e[i++];128>a?n.push(a):224>a?i>=t?Wi():(s=e[i++],194>a||128!=(192&s)?(i--,Wi()):n.push((31&a)<<6|63&s)):240>a?i>=t-1?Wi():(s=e[i++],128!=(192&s)||224===a&&160>s||237===a&&160<=s||128!=(192&(o=e[i++]))?(i--,Wi()):n.push((15&a)<<12|(63&s)<<6|63&o)):244>=a?i>=t-2?Wi():(s=e[i++],128!=(192&s)||0!=s-144+(a<<28)>>30||128!=(192&(o=e[i++]))||128!=(192&(r=e[i++]))?(i--,Wi()):(a=(7&a)<<18|(63&s)<<12|(63&o)<<6|63&r,n.push(55296+((a-=65536)>>10&1023),56320+(1023&a)))):Wi(),8192<=n.length&&(l=Hi(l,n),n.length=0)}i=Hi(l,n)}return i}function as(e){const t=e.g.j();return Qa(e.g,t)}function ss(e,t,n){var r=e.g.j();for(r=e.g.g+r;e.g.g<r;)n.push(t.call(e.g))}var ls=[];function us(e){return e?/^\d+$/.test(e)?(Va(e),new cs(Ua,ja)):null:ds||=new cs(0,0)}var cs=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let ds;function hs(e){return e?/^-?\d+$/.test(e)?(Va(e),new fs(Ua,ja)):null:ps||=new fs(0,0)}var fs=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let ps;function gs(e,t,n){for(;0<n||127<t;)e.g.push(127&t|128),t=(t>>>7|n<<25)>>>0,n>>>=7;e.g.push(t)}function ms(e,t){for(;127<t;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function vs(e,t){if(0<=t)ms(e,t);else{for(let n=0;9>n;n++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function bs(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function ys(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function ws(e,t,n){ms(e.g,8*t+n)}function xs(e,t){return ws(e,t,2),t=e.g.end(),ys(e,t),t.push(e.h),t}function Es(e,t){var n=t.pop();for(n=e.h+e.g.length()-n;127<n;)t.push(127&n|128),n>>>=7,e.h++;t.push(n),e.h++}function Cs(e,t,n){ws(e,t,2),ms(e.g,n.length),ys(e,e.g.end()),ys(e,n)}function Ss(e,t,n,r){null!=n&&(t=xs(e,t),r(n,e),Es(e,t))}class ks{constructor(e,t,n){this.g=e,this.h=t,this.l=n}}function Ts(e){return Array.prototype.slice.call(e)}const Is="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():void 0;var As=Is?(e,t)=>{e[Is]|=t}:(e,t)=>{void 0!==e.D?e.D|=t:Object.defineProperties(e,{D:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function Ds(e){const t=_s(e);1!=(1&t)&&(Object.isFrozen(e)&&(e=Ts(e)),Ms(e,1|t))}var Rs=Is?(e,t)=>{e[Is]&=~t}:(e,t)=>{void 0!==e.D&&(e.D&=~t)},_s=Is?e=>0|e[Is]:e=>0|e.D,Fs=Is?e=>e[Is]:e=>e.D,Ms=Is?(e,t)=>{e[Is]=t}:(e,t)=>{void 0!==e.D?e.D=t:Object.defineProperties(e,{D:{value:t,configurable:!0,writable:!0,enumerable:!1}})};function Ls(){var e=[];return As(e,1),e}function Ps(e){return As(e,34),e}function Bs(e,t){Ms(t,-255&(0|e))}function Os(e,t){Ms(t,-221&(34|e))}function Ns(e){return 0==(e=e>>11&1023)?536870912:e}var Us,js={};function Gs(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)&&e.constructor===Object}function $s(e,t,n){if(null!=e)if("string"==typeof e)e=e?new _a(e,Ta):Da();else if(e.constructor!==_a)if(Ca(e))e=n?Pa(e):e.length?new _a(new Uint8Array(e),Ta):Da();else{if(!t)throw Error();e=void 0}return e}const zs=[];function qs(e){if(2&e)throw Error()}Ms(zs,55),Us=Object.freeze(zs);class Vs{constructor(e,t,n){this.l=0,this.g=e,this.h=t,this.m=n}next(){if(this.l<this.g.length){const e=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,e):e}}return{done:!0,value:void 0}}[Symbol.iterator](){return new Vs(this.g,this.h,this.m)}}var Ws={};let Hs,Ks;function Ys(e,t){(t=Hs?t[Hs]:void 0)&&(e[Hs]=Ts(t))}function Xs(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Js(e){return null==e?e:"number"==typeof e||"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function Zs(e){return null==e?e:"boolean"==typeof e||"number"==typeof e?!!e:void 0}function Qs(e){return"number"==typeof e&&Number.isFinite(e)||!!e&&"string"==typeof e&&isFinite(e)}function el(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function tl(e){if(null==e)return e;if("string"==typeof e){if(!e)return;e=+e}return"number"==typeof e?e:void 0}function nl(e){if("string"!=typeof e)throw Error();return e}function rl(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function ol(e){return null==e||"string"==typeof e?e:void 0}function il(e,t,n,r){var o=!1;return null==e||"object"!=typeof e||(o=Array.isArray(e))||e.M!==js?o?(0===(o=n=_s(e))&&(o|=32&r),(o|=2&r)!==n&&Ms(e,o),new t(e)):(n?2&r?(e=t[al])?t=e:(Ps((e=new t).u),t=t[al]=e):t=new t:t=void 0,t):e}const al="function"==typeof Symbol&&"symbol"==typeof Symbol()?Symbol():"di";function sl(e){return e}function ll(e,t,n){return"string"==typeof(e="number"==(t=typeof e)||"string"===t?e:n?0:void 0)&&(n=+e,Number.isSafeInteger(n))?n:e}let ul,cl,dl;function hl(e){switch(typeof e){case"boolean":return cl||=[0,void 0,!0];case"number":return 0<e?void 0:0===e?dl||=[0,void 0]:[-e,void 0];case"string":return[0,e];case"object":return e}}function fl(e,t){return pl(e,t[0],t[1])}function pl(e,t,n){if(null==e&&(e=ul),ul=void 0,null==e){var r=96;n?(e=[n],r|=512):e=[],t&&(r=-2095105&r|(1023&t)<<11)}else{if(!Array.isArray(e))throw Error();if(64&(r=_s(e)))return Ks&&delete e[Ks],e;if(r|=64,n&&(r|=512,n!==e[0]))throw Error();e:{var o=(n=e).length;if(o){const e=o-1;var i=n[e];if(Gs(i)){1024<=(o=e-(t=+!!(512&(r|=256))-1))&&(gl(n,t,i),o=1023),r=-2095105&r|(1023&o)<<11;break e}}t&&(i=+!!(512&r)-1,1024<(t=Math.max(t,o-i))&&(gl(n,i,{}),r|=256,t=1023),r=-2095105&r|(1023&t)<<11)}}return Ms(e,r),e}function gl(e,t,n){const r=1023+t,o=e.length;for(let i=r;i<o;i++){const r=e[i];null!=r&&r!==n&&(n[i-t]=r)}e.length=r+1,e[r]=n}function ml(e){if(2&e.g)throw Error("Cannot mutate an immutable Map")}var vl=class extends Map{constructor(e,t,n=sl,r=sl){super();let o=_s(e);o|=64,Ms(e,o),this.g=o,this.l=t,this.h=n||sl,this.j=this.l?bl:r||sl;for(let i=0;i<e.length;i++){const a=e[i],s=n(a[0],!1,!0);let l=a[1];t?void 0===l&&(l=null):l=r(a[1],!1,!0,void 0,void 0,o),super.set(s,l)}}s(e=yl){return this.m(e)}m(e=yl){const t=[],n=super.entries();for(var r;!(r=n.next()).done;)(r=r.value)[0]=e(r[0]),r[1]=e(r[1]),t.push(r);return t}clear(){ml(this),super.clear()}delete(e){return ml(this),super.delete(this.h(e,!0,!1))}entries(){var e=this.A();return new Vs(e,wl,this)}keys(){return this.C()}values(){var e=this.A();return new Vs(e,vl.prototype.get,this)}forEach(e,t){super.forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))}set(e,t){return ml(this),null==(e=this.h(e,!0,!1))?this:null==t?(super.delete(e),this):super.set(e,this.j(t,!0,!0,this.l,!1,this.g))}I(e){const t=this.h(e[0],!1,!0);e=e[1],e=this.l?void 0===e?null:e:this.j(e,!1,!0,void 0,!1,this.g),super.set(t,e)}has(e){return super.has(this.h(e,!1,!1))}get(e){e=this.h(e,!1,!1);const t=super.get(e);if(void 0!==t){var n=this.l;return n?((n=this.j(t,!1,!0,n,this.v,this.g))!==t&&super.set(e,n),n):t}}A(){return Array.from(super.keys())}C(){return super.keys()}[Symbol.iterator](){return this.entries()}};function bl(e,t,n,r,o,i){return e=il(e,r,n,i),o&&(e=Al(e)),e}function yl(e){return e}function wl(e){return[e,this.get(e)]}function xl(e,t,n,r,o,i){if(null!=e){if(Array.isArray(e))e=o&&0==e.length&&1&_s(e)?void 0:i&&2&_s(e)?e:El(e,t,n,void 0!==r,o,i);else if(Gs(e)){const a={};for(let s in e)a[s]=xl(e[s],t,n,r,o,i);e=a}else e=t(e,r);return e}}function El(e,t,n,r,o,i){const a=r||n?_s(e):0;r=r?!!(32&a):void 0;const s=Ts(e);for(let e=0;e<s.length;e++)s[e]=xl(s[e],t,n,r,o,i);return n&&(Ys(s,e),n(a,s)),s}function Cl(e){return xl(e,Sl,void 0,void 0,!1,!1)}function Sl(e){return e.M===js?e.toJSON():e instanceof vl?e.s(Cl):function(e){switch(typeof e){case"number":return isFinite(e)?e:String(e);case"boolean":return e?1:0;case"object":if(e&&!Array.isArray(e)){if(Ca(e))return ba(e);if(e instanceof _a){const t=e.N;return null==t?"":"string"==typeof t?t:e.N=ba(t)}if(e instanceof vl)return e.s()}}return e}(e)}function kl(e,t,n=Os){if(null!=e){if(ma&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var r=_s(e);return 2&r?e:(t&&=0===r||!!(32&r)&&!(64&r||!(16&r)),t?(Ms(e,34|r),4&r&&Object.freeze(e),e):El(e,kl,4&r?Os:n,!0,!1,!0))}return e.M===js?e=2&(r=Fs(n=e.u))?e:Tl(e,n,r,!0):e instanceof vl&&(n=Ps(e.m(kl)),e=new vl(n,e.l,e.h,e.j)),e}}function Tl(e,t,n,r){return e=e.constructor,ul=t=Il(t,n,r),t=new e(t),ul=void 0,t}function Il(e,t,n){const r=n||2&t?Os:Bs,o=!!(32&t);return e=function(e,t,n){const r=Ts(e);var o=r.length;const i=256&t?r[o-1]:void 0;for(o+=i?-1:0,t=512&t?1:0;t<o;t++)r[t]=n(r[t]);if(i){t=r[t]={};for(const e in i)t[e]=n(i[e])}return Ys(r,e),r}(e,t,(e=>kl(e,o,r))),As(e,32|(n?2:0)),e}function Al(e){const t=e.u,n=Fs(t);return 2&n?Tl(e,t,n,!1):e}function Dl(e,t){return Rl(e=e.u,Fs(e),t)}function Rl(e,t,n,r){if(-1===n)return null;if(n>=Ns(t)){if(256&t)return e[e.length-1][n]}else{var o=e.length;if(r&&256&t&&null!=(r=e[o-1][n]))return r;if((t=n+(+!!(512&t)-1))<o)return e[t]}}function _l(e,t,n,r){const o=e.u,i=Fs(o);return qs(i),Fl(o,i,t,n,r),e}function Fl(e,t,n,r,o){var i=Ns(t);if(n>=i||o){if(o=t,256&t)i=e[e.length-1];else{if(null==r)return;i=e[i+(+!!(512&t)-1)]={},o|=256}i[n]=r,o!==t&&Ms(e,o)}else e[n+(+!!(512&t)-1)]=r,256&t&&n in(e=e[e.length-1])&&delete e[n]}function Ml(e,t,n,r,o){var i=2&t;let a=Rl(e,t,n,o);Array.isArray(a)||(a=Us);const s=!(2&r),l=!(1&r);r=!!(32&t);let u=_s(a);return 0!==u||!r||i||s?1&u||(u|=1,Ms(a,u)):(u|=33,Ms(a,u)),i?(2&u||Ps(a),l&&Object.freeze(a)):(i=2&u,l&&i?(a=Ts(a),i=1,r&&!s&&(i|=32),Ms(a,i),Fl(e,t,n,a,o)):s&&32&u&&!i&&Rs(a,32)),a}function Ll(e,t){const n=Fs(e=e.u),r=Rl(e,n,t),o=Js(r);return null!=o&&o!==r&&Fl(e,n,t,o),o}function Pl(e){const t=Fs(e=e.u),n=Rl(e,t,1),r=$s(n,!0,!!(34&t));return null!=r&&r!==n&&Fl(e,t,1,r),r}function Bl(e,t,n){const r=Fs(e=e.u),o=2&r;let i=Ml(e,r,t,1),a=_s(i);if(!(4&a)){Object.isFrozen(i)&&(i=Ts(i),Ms(i,a=-3&a|32),Fl(e,r,t,i));let s=0,l=0;for(;s<i.length;s++){const e=n(i[s]);null!=e&&(i[l++]=e)}l<s&&(i.length=l),a|=21,o?a|=34:a&=-33,Ms(i,a),2&a&&Object.freeze(i)}return!o&&(2&a||Object.isFrozen(i))&&(i=Ts(i),Ms(i,-35&a),Fl(e,r,t,i)),i}let Ol;function Nl(){return Ol??=new vl(Ps([]),void 0,void 0,void 0,Ws)}function Ul(e){e=Ts(e);for(let t=0;t<e.length;t++){const n=e[t]=Ts(e[t]);Array.isArray(n[1])&&(n[1]=Ps(n[1]))}return e}function jl(e,t,n){{const r=Fs(e=e.u);if(qs(r),null==n)Fl(e,r,t);else{if(!(4&_s(n))){Object.isFrozen(n)&&(n=Ts(n));for(let e=0;e<n.length;e++)n[e]=nl(n[e]);Ms(n,5)}Fl(e,r,t,n)}}}function Gl(e,t){return $l(e=e.u,Fs(e),_d)===t?t:-1}function $l(e,t,n){let r=0;for(let o=0;o<n.length;o++){const i=n[o];null!=Rl(e,t,i)&&(0!==r&&Fl(e,t,r),r=i)}return r}function zl(e,t,n,r){const o=Fs(e);qs(o);const i=Rl(e,o,n,r);let a;if(null!=i&&i.M===js)return(t=Al(i))!==i&&Fl(e,o,n,t,r),t.u;if(Array.isArray(i)){const e=_s(i);a=2&e?Il(i,e,!1):i,a=fl(a,t)}else a=fl(void 0,t);return a!==i&&Fl(e,o,n,a,r),a}function ql(e,t,n,r){const o=Fs(e=e.u),i=Rl(e,o,n,r);return(t=il(i,t,!1,o))!==i&&null!=t&&Fl(e,o,n,t,r),t}function Vl(e,t,n,r=!1){if(null==(t=ql(e,t,n,r)))return t;const o=Fs(e=e.u);if(!(2&o)){const i=Al(t);i!==t&&Fl(e,o,n,t=i,r)}return t}function Wl(e,t,n,r,o){var i=!!(2&t),a=Ml(e,t,r,1),s=a===Us;if(s&&2!==o)return a;if(s||!(4&_s(a))){var l=a;a=!!(2&t),s=!!(2&_s(l)),i=l,!a&&s&&(l=Ts(l));var u=t|((s=s||void 0)?2:0),c=s;s=!1;let d=0,h=0;for(;d<l.length;d++){const e=il(l[d],n,!1,u);if(null==e)continue;const t=!!(2&_s(e.u));c=c||t,s=s||!t,l[h++]=e}return h<d&&(l.length=h),u=5|(l=_s(n=l)),c=c?-9&u:8|u,l!=(c=s?-17&c:16|c)&&(Object.isFrozen(n)&&(n=Ts(n)),Ms(n,c)),i!==(l=n)&&Fl(e,t,r,l),(a&&2!==o||1===o)&&Object.freeze(l),l}return 3===o||(i?2===o&&(o=_s(a),a=Ts(a),Ms(a,o),Fl(e,t,r,a)):(i=Object.isFrozen(a),1===o?i||Object.freeze(a):(n=-33&(o=_s(a)),i||2&o?(a=Ts(a),Ms(a,-3&n),Fl(e,t,r,a)):o!==n&&Ms(a,n)))),a}function Hl(e,t,n){var r=e.u;const o=Fs(r);if(t=Wl(r,o,t,n,(e=!!(2&o))?1:2),!(e||8&_s(t))){for(n=0;n<t.length;n++)(e=t[n])!==(r=Al(e))&&(t[n]=r);As(t,8)}return t}function Kl(e,t,n,r,o){return null==r&&(r=void 0),_l(e,n,r,o)}function Yl(e,t,n,r){null==r&&(r=void 0);const o=Fs(e=e.u);qs(o),(n=$l(e,o,n))&&n!==t&&null!=r&&Fl(e,o,n),Fl(e,o,t,r)}function Xl(e,t,n){const r=Fs(e=e.u);qs(r),e=Wl(e,r,t,1,2),t=null!=n?n:new t,e.push(t),2&_s(t.u)?Rs(e,8):Rs(e,16)}function Jl(e,t){return el(Dl(e,t))}function Zl(e){return null==(e=Dl(e,2))||Qs(e)?e:void 0}function Ql(e,t){return ol(Dl(e,t))}function eu(e){return e??0}function tu(e,t){return eu(Ll(e,t))}function nu(e,t,n){if(null!=n){if("boolean"!=typeof n)throw e=typeof n,Error(`Expected boolean but got ${"object"!=e?e:n?Array.isArray(n)?"array":e:"null"}: ${n}`);n=!!n}_l(e,t,n)}function ru(e,t,n){if(null!=n){if("number"!=typeof n)throw Xs(e=Error(),"warning"),e;if(!Number.isFinite(n)){const e=Error();Xs(e,"incident"),function(e){Vi.setTimeout((()=>{throw e}),0)}(e)}}_l(e,t,n)}function ou(e,t,n){if(null!=n&&"number"!=typeof n)throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);_l(e,t,n)}function iu(e,t,n){n=nl(n);const r=Fs(e=e.u);qs(r),Ml(e,r,t,2).push(n)}function au(e,t,n){t.g?t.m(e,t.g,t.h,n,!0):t.m(e,t.h,n,!0)}vl.prototype.toJSON=void 0;var su=class{constructor(e,t){this.u=pl(e,t)}toJSON(){return lu(this,El(this.u,Sl,void 0,void 0,!1,!1),!0)}l(){var e=Ih;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){const e=this.u;return Tl(this,e,Fs(e),!1)}H(){return!!(2&_s(this.u))}};function lu(e,t,n){var r=e.constructor.B,o=Ns(Fs(n?e.u:t)),i=!1;if(r){if(!n){var a;if((t=Ts(t)).length&&Gs(a=t[t.length-1]))for(i=0;i<r.length;i++)if(r[i]>=o){Object.assign(t[t.length-1]={},a);break}i=!0}var s;o=t,n=!n,e=Ns(a=Fs(e.u)),a=+!!(512&a)-1;for(let t=0;t<r.length;t++){var l=r[t];if(l<e){var u=o[l+=a];null==u?o[l]=n?Us:Ls():n&&u!==Us&&Ds(u)}else{if(!s){var c=void 0;o.length&&Gs(c=o[o.length-1])?s=c:o.push(s={})}u=s[l],null==s[l]?s[l]=n?Us:Ls():n&&u!==Us&&Ds(u)}}}if(!(r=t.length))return t;let d,h;if(Gs(s=t[r-1])){e:{var f=s;c={},o=!1;for(let e in f)n=f[e],Array.isArray(n)&&n!=n&&(o=!0),null!=n?c[e]=n:o=!0;if(o){for(let e in c){f=c;break e}f=null}}f!=s&&(d=!0),r--}for(;0<r&&null==(s=t[r-1]);r--)h=!0;return d||h?(t=i?t:Array.prototype.slice.call(t,0,r),i&&(t.length=r),f&&t.push(f),t):t}function uu(e){return{ca:oc,U:e}}function cu(e,t){if(Array.isArray(t)){var n=_s(t);if(4&n)return t;for(var r=0,o=0;r<t.length;r++){const n=e(t[r]);null!=n&&(t[o++]=n)}return o<r&&(t.length=o),Ms(t,5|n),2&n&&Object.freeze(t),t}}su.prototype.M=js,su.prototype.toString=function(){return lu(this,this.u,!1).toString()};const du=Symbol();function hu(e){let t=e[du];if(!t){const n=bu(e),r=Du(e),o=r.h;t=o?(e,t)=>o(e,t,r):(e,t)=>{for(;ns(t)&&4!=t.h;){var o=t.m,i=r[o];if(!i){var a=r.g;a&&(a=a[o])&&(i=r[o]=fu(a))}i&&i(t,e,o)||(o=(i=t).l,rs(i),i.aa?i=void 0:(a=i.g.g-o,i.g.g=o,i=Qa(i.g,a)),o=e,i&&(Hs||=Symbol(),(a=o[Hs])?a.push(i):o[Hs]=[i]))}for(const t in n){e[Ks||=Symbol()]=n;break}},e[du]=t}return t}function fu(e){const t=function(e){if(e=e.U)return hu(e)}(e),n=e.ca.g;if(t){const r=Du(e.U).L;return(e,o,i)=>n(e,o,i,r,t)}return(e,t,r)=>n(e,t,r)}const pu=Symbol();function gu(e,t,n,r){let o;if(r){const t=r[pu];o=t?t.L:hl(r[0]),n[e]=t??r}o&&o===cl?((t=n.xa)||(n.xa=t=[]),t.push(e)):t.l&&((t=n.Ba)||(n.Ba=t=[]),t.push(e))}function mu(e,t,n,r){gu(e,t,r)}function vu(e,t,n,r,o){gu(e,t,o,n)}function bu(e){let t=e[pu];return t||(t=e[pu]={},yu(e,t,mu,vu,t))}function yu(e,t,n,r,o){t.L=hl(e[0]);let i=1;if(e.length>i&&!(e[i]instanceof ks)){var a=e[i++];if(Array.isArray(a))return t.h=a[0],t.g=a[1],t;t.g=a}for(a=0;i<e.length;){var s=e[i++],l=e[i];for("number"==typeof l?(i++,a+=l):a++,l=i;l<e.length&&!(e[l]instanceof ks);)l++;if(l-=i){var u=e,c=i,d=u[c];if("function"==typeof d&&(d=d(),u[c]=d),(u=Array.isArray(d))&&!(u=Tu in d||Eu in d)&&(u=0<d.length)){const e=hl(c=(u=d)[0]);null!=e&&e!==c&&(u[0]=e),u=null!=e}(d=u?d:void 0)?(i++,1===l?void 0!==(s=r(a,s,d,void 0,o))&&(t[a]=s):void 0!==(s=r(a,s,d,e[i++],o))&&(t[a]=s)):void 0!==(s=n(a,s,e[i++],o))&&(t[a]=s)}else void 0!==(s=n(a,s,void 0,o))&&(t[a]=s)}return t}const wu=Symbol();function xu(e){let t=e[wu];if(!t){const n=ku(e);t=(e,t)=>_u(e,t,n),e[wu]=t}return t}const Eu=Symbol();function Cu(e,t){return t.h}function Su(e,t,n){let r,o;const i=t.h;return(e,t,a)=>i(e,t,a,o||=ku(n).L,r||=xu(n))}function ku(e){let t=e[Eu];return t||(t=yu(e,e[Eu]={},Cu,Su),Tu in e&&Eu in e&&(e.length=0),t)}const Tu=Symbol();function Iu(e,t,n){const r=t.g;return n?(e,t,o)=>r(e,t,o,n):r}function Au(e,t,n,r){const o=t.g;let i,a;return(e,t,s)=>o(e,t,s,a||=Du(n).L,i||=hu(n),r)}function Du(e){let t=e[Tu];return t||(bu(e),t=yu(e,e[Tu]={},Iu,Au),Tu in e&&Eu in e&&(e.length=0),t)}function Ru(e,t){var n=e[t];if(n)return n;if((n=e.g)&&(n=n[t])){var r=n.U,o=n.ca.h;if(r){const e=xu(r),t=ku(r).L;n=(n,r,i)=>o(n,r,i,t,e)}else n=o;return e[t]=n}}function _u(e,t,n){for(var r=Fs(e),o=+!!(512&r)-1,i=e.length,a=512&r?1:0,s=i+(256&r?-1:0);a<s;a++){const r=e[a];if(null==r)continue;const i=a-o,s=Ru(n,i);s&&s(t,r,i)}if(256&r){r=e[i-1];for(let e in r)o=+e,Number.isNaN(o)||null!=(i=r[e])&&(s=Ru(n,o))&&s(t,i,o)}if(e=Hs?e[Hs]:void 0)for(ys(t,t.g.end()),n=0;n<e.length;n++)ys(t,Ra(e[n])||ka())}function Fu(e,t){return new ks(e,t,!1)}function Mu(e,t){return new ks(e,t,!0)}function Lu(e,t,n){Fl(e,Fs(e),t,n)}var Pu=Fu((function(e,t,n,r,o){return 2===e.h&&(e=os(e,fl([void 0,void 0],r),o),qs(r=Fs(t)),(o=Rl(t,r,n))instanceof vl?0!=(2&o.g)?((o=o.m()).push(e),Fl(t,r,n,o)):o.I(e):Array.isArray(o)?(2&_s(o)&&Fl(t,r,n,o=Ul(o)),o.push(e)):Fl(t,r,n,[e]),!0)}),(function(e,t,n,r,o){if(t instanceof vl)t.forEach(((t,i)=>{Ss(e,n,fl([i,t],r),o)}));else if(Array.isArray(t))for(let i=0;i<t.length;i++){const a=t[i];Array.isArray(a)&&Ss(e,n,fl(a,r),o)}}));function Bu(e,t,n){e:if(null!=t){if(Qs(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&hs(t),null!=t&&(ws(e,n,0),"number"==typeof t?(e=e.g,Ga(t),gs(e,Ua,ja)):(n=hs(t),gs(e.g,n.h,n.g))))}function Ou(e,t,n){null!=(t=el(t))&&null!=t&&(ws(e,n,0),vs(e.g,t))}function Nu(e,t,n){null!=(t=Zs(t))&&(ws(e,n,0),e.g.g.push(t?1:0))}function Uu(e,t,n){null!=(t=ol(t))&&Cs(e,n,Qi(t))}function ju(e,t,n,r,o){Ss(e,n,t instanceof su?t.u:Array.isArray(t)?fl(t,r):void 0,o)}function Gu(e,t,n){null!=(t=null==t||"string"==typeof t||Ca(t)||t instanceof _a?t:void 0)&&Cs(e,n,Ba(t).buffer)}function $u(e,t,n){return(5===e.h||2===e.h)&&(t=Ml(t,Fs(t),n,2,!1),2==e.h?ss(e,es.prototype.A,t):t.push(e.g.A()),!0)}var zu=Fu((function(e,t,n){if(1!==e.h)return!1;var r=e.g;e=Ja(r);const o=Ja(r);r=2*(o>>31)+1;const i=o>>>20&2047;return e=4294967296*(1048575&o)+e,Lu(t,n,2047==i?e?NaN:1/0*r:0==i?r*Math.pow(2,-1074)*e:r*Math.pow(2,i-1075)*(e+4503599627370496)),!0}),(function(e,t,n){null!=(t=Js(t))&&(ws(e,n,1),e=e.g,(n=Na||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),Ua=n.getUint32(0,!0),ja=n.getUint32(4,!0),bs(e,Ua),bs(e,ja))})),qu=Fu((function(e,t,n){return 5===e.h&&(Lu(t,n,e.g.A()),!0)}),(function(e,t,n){null!=(t=Js(t))&&(ws(e,n,5),e=e.g,$a(t),bs(e,Ua))})),Vu=Mu($u,(function(e,t,n){if(null!=(t=cu(Js,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(ws(r,n,5),r=r.g,$a(o),bs(r,Ua))}})),Wu=Mu($u,(function(e,t,n){if(null!=(t=cu(Js,t))&&t.length){ws(e,n,2),ms(e.g,4*t.length);for(let r=0;r<t.length;r++)n=e.g,$a(t[r]),bs(n,Ua)}})),Hu=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,Ya(e.g,qa)),!0)}),Bu),Ku=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,0===(e=Ya(e.g,qa))?void 0:e),!0)}),Bu),Yu=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,Ya(e.g,za)),!0)}),(function(e,t,n){e:if(null!=t){if(Qs(t)){if("string"==typeof t)break e;if("number"==typeof t)break e}t=void 0}null!=t&&("string"==typeof t&&us(t),null!=t&&(ws(e,n,0),"number"==typeof t?(e=e.g,Ga(t),gs(e,Ua,ja)):(n=us(t),gs(e.g,n.h,n.g))))})),Xu=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,e.g.m()),!0)}),Ou),Ju=Mu((function(e,t,n){return(0===e.h||2===e.h)&&(t=Ml(t,Fs(t),n,2,!1),2==e.h?ss(e,es.prototype.m,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=cu(el,t))&&t.length){n=xs(e,n);for(let n=0;n<t.length;n++)vs(e.g,t[n]);Es(e,n)}})),Zu=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,0===(e=e.g.m())?void 0:e),!0)}),Ou),Qu=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,Xa(e.g)),!0)}),Nu),ec=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,!1===(e=Xa(e.g))?void 0:e),!0)}),Nu),tc=Mu((function(e,t,n){if(2!==e.h)return!1;e=is(e);const r=Fs(t);return qs(r),Ml(t,r,n,2).push(e),!0}),(function(e,t,n){if(null!=(t=cu(ol,t)))for(let o=0;o<t.length;o++){var r=t[o];null!=r&&Cs(e,n,Qi(r))}})),nc=Fu((function(e,t,n){return 2===e.h&&(Lu(t,n,""===(e=is(e))?void 0:e),!0)}),Uu),rc=Fu((function(e,t,n){return 2===e.h&&(Lu(t,n,is(e)),!0)}),Uu),oc=Fu((function(e,t,n,r,o){return 2===e.h&&(os(e,zl(t,r,n,!0),o),!0)}),ju),ic=Fu((function(e,t,n,r,o){return 2===e.h&&(os(e,zl(t,r,n),o),!0)}),ju),ac=Mu((function(e,t,n,r,o){if(2!==e.h)return!1;r=fl(void 0,r);const i=Fs(t);qs(i);let a=Ml(t,i,n,3);return(Object.isFrozen(a)||4&_s(a))&&(a=Ts(a),Fl(t,i,n,a)),a.push(r),os(e,r,o),!0}),(function(e,t,n,r,o){if(Array.isArray(t))for(let i=0;i<t.length;i++)ju(e,t[i],n,r,o)})),sc=Fu((function(e,t,n,r,o,i){if(2!==e.h)return!1;const a=Fs(t);return qs(a),(i=$l(t,a,i))&&n!==i&&Fl(t,a,i),os(e,t=zl(t,r,n),o),!0}),ju),lc=Fu((function(e,t,n){return 2===e.h&&(Lu(t,n,as(e)),!0)}),Gu),uc=Mu((function(e,t,n){return(0===e.h||2===e.h)&&(t=Ml(t,Fs(t),n,2,!1),2==e.h?ss(e,es.prototype.j,t):t.push(e.g.j()),!0)}),(function(e,t,n){if(null!=(t=cu(tl,t)))for(let i=0;i<t.length;i++){var r=e,o=t[i];null!=o&&(ws(r,n,0),ms(r.g,o))}})),cc=Fu((function(e,t,n){return 0===e.h&&(Lu(t,n,e.g.m()),!0)}),(function(e,t,n){null!=(t=el(t))&&(t=parseInt(t,10),ws(e,n,0),vs(e.g,t))})),dc=Mu((function(e,t,n){return(0===e.h||2===e.h)&&(t=Ml(t,Fs(t),n,2,!1),2==e.h?ss(e,es.prototype.C,t):t.push(e.g.m()),!0)}),(function(e,t,n){if(null!=(t=cu(el,t))&&t.length){n=xs(e,n);for(let n=0;n<t.length;n++)vs(e.g,t[n]);Es(e,n)}}));class hc{constructor(e,t){this.h=e,this.g=t,this.l=Vl,this.m=Kl,this.defaultValue=void 0}}function fc(e,t){return new hc(e,t)}function pc(e,t){return(n,r)=>{e:{if(ls.length){const e=ls.pop();e.o(r),Ha(e.g,n,r),n=e}else n=new class{constructor(e,t){if(ts.length){const n=ts.pop();Ha(n,e,t),e=n}else e=new es(e,t);this.g=e,this.l=this.g.g,this.h=this.m=-1,this.o(t)}o({aa:e=!1}={}){this.aa=e}}(n,r);try{var o=new e;const r=o.u;hu(t)(r,n),Ks&&delete r[Ks];var i=o;break e}finally{(o=n.g).h=null,o.s=!1,o.v=0,o.l=0,o.g=0,o.R=!1,n.m=-1,n.h=-1,100>ls.length&&ls.push(n)}i=void 0}return i}}function gc(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const e=this.g;return this.g=[],e}}}};_u(this.u,t,ku(e)),ys(t,t.g.end());const n=new Uint8Array(t.h),r=t.l,o=r.length;let i=0;for(let e=0;e<o;e++){const t=r[e];n.set(t,i),i+=t.length}return t.l=[n],n}}var mc=[0,nc,Fu((function(e,t,n){return 2===e.h&&(Lu(t,n,(e=as(e))===Da()?void 0:e),!0)}),(function(e,t,n){if(null!=t){if(t instanceof su){const r=t.Ea;return void(r&&(t=r(t),null!=t&&Cs(e,n,Ba(t).buffer)))}if(Array.isArray(t))return}Gu(e,t,n)}))],vc=[0,rc],bc=[0,Xu,cc,Qu,Qu,Ju,cc,cc],yc=[0,Qu,Qu],wc=class extends su{constructor(){super()}};wc.B=[6];var xc=[0,Qu,rc,Qu,cc,cc,dc,rc,rc,ic,yc,cc],Ec=[0,rc,rc,rc],Cc=class extends su{constructor(){super()}},Sc=[0],kc=[0,Xu],Tc=[1,2,3,4,5],Ic=class extends su{constructor(e){super(e,2)}},Ac={},Dc=[-2,Ac,Qu];Ac[336783863]=uu([0,rc,Qu,Qu,Xu,ic,[0,sc,Sc,Tc,sc,xc,Tc,sc,Ec,Tc,sc,kc,Tc,sc,bc,Tc],ic,vc]);var Rc=[0,nc,ec],_c=[0,Ku,Ku,ec,ec,ec,ec,Ku,Ju,nc,Zu,Ku,Ku,ec,Zu,ec,ec,ec,nc],Fc=[-1,{}],Mc=[0,rc,ic,2,Fc],Lc=[0,rc,tc,ic,Fc];function Pc(e,t){t=rl(t);const n=Fs(e=e.u);qs(n),Fl(e,n,2,""===t?void 0:t)}function Bc(e,t){iu(e,3,t)}function Oc(e,t){iu(e,4,t)}var Nc=class extends su{constructor(e){super(e,500)}o(e){return Kl(this,0,7,e)}};Nc.B=[3,4,5,6,8,13,17,1005];var Uc=[-500,nc,nc,tc,tc,tc,tc,ic,Dc,ac,mc,Zu,Zu,ic,Mc,ic,Lc,ac,Rc,nc,ic,_c,Zu,tc,tc,988],jc=[0,nc,nc,ic,Fc],Gc=[-500,rc,rc,ic,[-1,{}],rc,999],$c=[-500,rc,tc,tc,ic,[-2,{},Qu],tc,998,tc],zc=[-500,rc,tc,ic,Fc,tc,999];function qc(e,t){Xl(e,Nc,t)}function Vc(e,t){iu(e,10,t)}function Wc(e,t){iu(e,15,t)}var Hc=class extends su{constructor(e){super(e,500)}o(e){return Kl(this,0,1001,e)}};Hc.B=[1,6,7,9,10,15,16,17,14,1002];var Kc=[-500,ac,Uc,ac,5,Gc,ac,$c,Zu,ac,zc,tc,Zu,ic,Mc,ic,Lc,ac,jc,tc,tc,tc,ic,_c,nc,nc,ec,ic,980,Fc,ac,mc],Yc=pc(Hc,Kc);Hc.prototype.g=gc(Kc);var Xc=[0,ac,[0,Xu,Xu,Xu]],Jc=class extends su{constructor(e){super(e)}},Zc=[0,Xu,qu,rc,rc],Qc=class extends su{constructor(e){super(e)}g(){return Hl(this,Jc,1)}};Qc.B=[1];var ed=[0,ac,Zc],td=pc(Qc,ed),nd=[0,Xu,qu],rd=[0,Xu,Xu,ic,Xc],od=class extends su{constructor(e){super(e)}},id=[0,Xu,Xu,Xu,Xu],ad=[0,qu,qu,qu,qu],sd=class extends su{constructor(e){super(e)}},ld=[0,qu,qu,rc,qu],ud=class extends su{constructor(e){super(e)}h(){return Vl(this,od,2)}g(){return Hl(this,sd,5)}};ud.B=[5];var cd=[0,cc,ic,id,ic,ad,ic,rd,ac,ld],dd=class extends su{constructor(e){super(e)}};dd.B=[1,2,3,8,9];var hd=pc(dd,[0,tc,Ju,Wu,ic,cd,rc,rc,Hu,ac,nd,tc,Hu]),fd=class extends su{constructor(e){super(e)}},pd=[0,qu,qu,qu,qu,qu],gd=class extends su{constructor(e){super(e)}};gd.B=[1];var md=pc(gd,[0,ac,pd]),vd=class extends su{constructor(e){super(e)}},bd=[0,qu,qu,qu,qu,qu],yd=class extends su{constructor(e){super(e)}};yd.B=[1];var wd=pc(yd,[0,ac,bd]),xd=class extends su{constructor(e){super(e)}};xd.B=[3];var Ed=[0,Xu,Xu,Wu,cc],Cd=class extends su{constructor(){super()}};Cd.prototype.g=gc([0,qu,qu,qu,qu,qu,Hu]);var Sd=class extends su{constructor(e){super(e)}},kd=[0,Xu,2,rc,ic,ed],Td=class extends su{constructor(e){super(e)}};Td.B=[1];var Id=pc(Td,[0,ac,kd,Hu]),Ad=class extends su{constructor(e){super(e)}};Ad.B=[1];var Dd=class extends su{constructor(e){super(e)}fa(){const e=Pl(this);return null==e?Da():e}},Rd=class extends su{constructor(e){super(e)}},_d=[1,2],Fd=[0,sc,[0,Wu],_d,sc,[0,lc],_d,Xu,rc],Md=class extends su{constructor(e){super(e)}};Md.B=[1];var Ld=pc(Md,[0,ac,Fd,Hu]),Pd=class extends su{constructor(e){super(e)}};Pd.B=[4,5];var Bd=[0,rc,Xu,qu,tc,tc],Od=class extends su{constructor(e){super(e)}},Nd=[0,Qu,Qu],Ud=class extends su{constructor(e){super(e)}},jd=[1,2,3,4,5],Gd=class extends su{constructor(e){super(e)}g(){return null!=Pl(this)}h(){return null!=Ql(this,2)}},$d=[0,lc,rc,ic,[0,Xu,Hu,Hu],ic,[0,Yu,Hu]],zd=class extends su{constructor(e){super(e)}g(){return Zs(Dl(this,2))??!1}},qd=[0,ic,$d,Qu,ic,[0,sc,kc,jd,sc,xc,jd,sc,bc,jd,sc,Sc,jd,sc,Ec,jd]],Vd=class extends su{constructor(e){super(e)}},Wd=[0,ic,qd,qu,qu,Xu],Hd=fc(502141897,Vd);Ac[502141897]=uu(Wd);var Kd=[0,ic,$d];Ac[512499200]=uu(Kd);var Yd=[0,ic,Kd];Ac[515723506]=uu(Yd);var Xd=pc(class extends su{constructor(e){super(e)}},[0,ic,[0,cc,cc,Vu,uc],ic,Ed]),Jd=[0,ic,qd];Ac[508981768]=uu(Jd);var Zd=class extends su{constructor(e){super(e)}},Qd=[0,ic,qd,qu,ic,Jd,Qu],eh=class extends su{constructor(e){super(e)}},th=[0,ic,qd,ic,Wd,ic,Qd,qu,ic,Yd];Ac[508968149]=uu(Qd);var nh=fc(508968150,eh);Ac[508968150]=uu(th);var rh=class extends su{constructor(e){super(e)}},oh=fc(513916220,rh);Ac[513916220]=uu([0,ic,qd,ic,th,Xu]);var ih=class extends su{constructor(e){super(e)}h(){return Vl(this,Pd,2)}g(){_l(this,2)}},ah=[0,ic,qd,ic,Bd];Ac[478825465]=uu(ah);var sh=[0,ic,qd];Ac[478825422]=uu(sh);var lh=class extends su{constructor(e){super(e)}},uh=[0,ic,qd,ic,sh,ic,ah,ic,ah],ch=class extends su{constructor(e){super(e)}},dh=[0,ic,qd,qu,Xu],hh=class extends su{constructor(e){super(e)}},fh=[0,ic,qd,qu],ph=class extends su{constructor(e){super(e)}},gh=[0,ic,qd,ic,dh,ic,fh,qu],mh=class extends su{constructor(e){super(e)}},vh=[0,ic,qd,ic,gh,ic,uh];Ac[463370452]=uu(uh),Ac[464864288]=uu(dh),Ac[474472470]=uu(fh);var bh=fc(462713202,ph);Ac[462713202]=uu(gh);var yh=fc(479097054,mh);Ac[479097054]=uu(vh);var wh=class extends su{constructor(e){super(e)}},xh=fc(456383383,wh);Ac[456383383]=uu([0,ic,qd,ic,Bd]);var Eh=class extends su{constructor(e){super(e)}},Ch=fc(476348187,Eh);Ac[476348187]=uu([0,ic,qd,ic,Nd]);var Sh=class extends su{constructor(e){super(e)}},kh=[0,cc,cc],Th=class extends su{constructor(e){super(e)}};Th.B=[3];var Ih=fc(458105876,class extends su{constructor(e){super(e)}g(){var e=this.u;const t=Fs(e);var n=2&t;return e=function(e,t,n){var r=Th;const o=2&t;let i=!1;if(null==n){if(o)return Nl();n=[]}else if(n.constructor===vl){if(0==(2&n.g)||o)return n;n=n.m()}else Array.isArray(n)?i=!!(2&_s(n)):n=[];if(o){if(!n.length)return Nl();i||(i=!0,Ps(n))}else i&&(i=!1,n=Ul(n));return i||(64&_s(n)?Rs(n,32):32&t&&As(n,32)),Fl(e,t,2,r=new vl(n,r,ll,void 0),!1),r}(e,t,Rl(e,t,2)),null==e||!n&&Th&&(e.v=!0),e}});Ac[458105876]=uu([0,ic,kh,Pu,[!0,Hu,ic,[0,rc,rc,tc]]]);var Ah=class extends su{constructor(e){super(e)}},Dh=fc(458105758,Ah);Ac[458105758]=uu([0,ic,qd,rc,ic,kh]);var Rh=class extends su{constructor(e){super(e)}};Rh.B=[5,6];var _h=fc(443442058,Rh);Ac[443442058]=uu([0,ic,qd,rc,Xu,qu,tc,tc]);var Fh=class extends su{constructor(e){super(e)}},Mh=[0,ic,qd,qu,qu,Xu];Ac[514774813]=uu(Mh);var Lh=class extends su{constructor(e){super(e)}},Ph=[0,ic,qd,qu,Qu],Bh=class extends su{constructor(e){super(e)}},Oh=[0,ic,qd,ic,Mh,ic,Ph,qu];Ac[518928384]=uu(Ph);var Nh=fc(516587230,Bh);function Uh(e,t){return t=t?t.clone():new Pd,void 0!==e.displayNamesLocale?_l(t,1,rl(e.displayNamesLocale)):void 0===e.displayNamesLocale&&_l(t,1),void 0!==e.maxResults?ru(t,2,e.maxResults):"maxResults"in e&&_l(t,2),void 0!==e.scoreThreshold?ou(t,3,e.scoreThreshold):"scoreThreshold"in e&&_l(t,3),void 0!==e.categoryAllowlist?jl(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&_l(t,4),void 0!==e.categoryDenylist?jl(t,5,e.categoryDenylist):"categoryDenylist"in e&&_l(t,5),t}function jh(e,t=-1,n=""){return{categories:e.map((e=>({index:eu(Jl(e,1))??-1,score:tu(e,2)??0,categoryName:Ql(e,3)??""??"",displayName:Ql(e,4)??""??""}))),headIndex:t,headName:n}}function Gh(e){var t=Bl(e,3,Js),n=Bl(e,2,el);const r=Bl(e,1,ol),o=Bl(e,9,ol),i={categories:[],keypoints:[]};for(let e=0;e<t.length;e++)i.categories.push({score:t[e],index:n[e]??-1,categoryName:r[e]??"",displayName:o[e]??""});if((t=Vl(e,ud,4)?.h())&&(i.boundingBox={originX:Jl(t,1)??0,originY:Jl(t,2)??0,width:Jl(t,3)??0,height:Jl(t,4)??0,angle:0}),Vl(e,ud,4)?.g().length)for(const t of Vl(e,ud,4).g())i.keypoints.push({x:Ll(t,1)??0,y:Ll(t,2)??0,score:Ll(t,4)??0,label:Ql(t,3)??""});return i}function $h(e){const t=[];for(const n of Hl(e,vd,1))t.push({x:tu(n,1)??0,y:tu(n,2)??0,z:tu(n,3)??0});return t}function zh(e){const t=[];for(const n of Hl(e,fd,1))t.push({x:tu(n,1)??0,y:tu(n,2)??0,z:tu(n,3)??0});return t}function qh(e){return Array.from(e,(e=>127<e?e-256:e))}function Vh(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let n=0,r=0,o=0;for(let i=0;i<e.length;i++)n+=e[i]*t[i],r+=e[i]*e[i],o+=t[i]*t[i];if(0>=r||0>=o)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return n/Math.sqrt(r*o)}let Wh;Ac[516587230]=uu(Oh);const Hh=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 Kh(){if(void 0===Wh)try{await WebAssembly.instantiate(Hh),Wh=!0}catch{Wh=!1}return Wh}async function Yh(e,t=""){const n=await Kh()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${n}.js`,wasmBinaryPath:`${t}/${e}_${n}.wasm`}}var Xh=class{};function Jh(){const e=navigator.userAgent;return e.includes("Safari")&&!e.includes("Chrome")}async function Zh(e){if("function"!=typeof importScripts){const t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((e,n)=>{t.addEventListener("load",(()=>{e()}),!1),t.addEventListener("error",(e=>{n(e)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function Qh(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),n(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function ef(e,t,n){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(n?e.i._bindTextureToStream(n):e.i._bindTextureToCanvas(),!(n=e.i.canvas.getContext("webgl2")||e.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 e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),t.videoWidth?(n=t.videoWidth,t=t.videoHeight):t.naturalWidth?(n=t.naturalWidth,t=t.naturalHeight):(n=t.width,t=t.height),!e.l||n===e.i.canvas.width&&t===e.i.canvas.height||(e.i.canvas.width=n,e.i.canvas.height=t),[n,t]}function tf(e,t,n){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const r=new Uint32Array(t.length);for(let n=0;n<t.length;n++)r[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*r.length),e.i.HEAPU32.set(r,t>>2),n(t);for(const t of r)e.i._free(t);e.i._free(t)}function nf(e,t,n){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=n}function rf(e,t,n){let r=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(e,t,o)=>{t?(n(r,o),r=[]):r.push(e)}}function of(e,t){const n=Vl(e.baseOptions,Gd,1)||new Gd;"string"==typeof t?(_l(n,2,rl(t)),_l(n,1)):t instanceof Uint8Array&&(_l(n,1,$s(t,!1,!1)),_l(n,2)),Kl(e.baseOptions,0,1,n)}function af(e){try{const t=e.J.length;if(1===t)throw Error(e.J[0].message);if(1<t)throw Error("Encountered multiple errors: "+e.J.map((e=>e.message)).join(", "))}finally{e.J=[]}}function sf(e,t){e.I=Math.max(e.I,t)}function lf(e,t){e.A=new Nc,Pc(e.A,"PassThroughCalculator"),Bc(e.A,"free_memory"),Oc(e.A,"free_memory_unused_out"),Vc(t,"free_memory"),qc(t,e.A)}function uf(e,t){Bc(e.A,t),Oc(e.A,t+"_unused_out")}function cf(e){e.g.addBoolToStream(!0,"free_memory",e.I)}Xh.forVisionTasks=function(e){return Yh("vision",e)},Xh.forTextTasks=function(e){return Yh("text",e)},Xh.forAudioTasks=function(e){return Yh("audio",e)},Xh.isSimdSupported=function(){return Kh()};var df=class{constructor(e){this.g=e,this.J=[],this.I=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){const t=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(Vl(this.baseOptions,Gd,1)?.g()||Vl(this.baseOptions,Gd,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(e,t){let n=Vl(e.baseOptions,Ud,3);if(!n){var r=n=new Ud,o=new Cc;Yl(r,4,jd,o)}"delegate"in t&&("GPU"===t.delegate?(t=n,r=new wc,Yl(t,2,jd,r)):(t=n,r=new Cc,Yl(t,4,jd,r))),Kl(e.baseOptions,0,3,n)}(this,t),t.modelAssetPath)return fetch(t.modelAssetPath.toString()).then((e=>{if(e.ok)return e.arrayBuffer();throw Error(`Failed to fetch model: ${t.modelAssetPath} (${e.status})`)})).then((e=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(e),!0,!1,!1),of(this,"/model.dat"),this.m(),this.P()}));of(this,t.modelAssetBuffer)}return this.m(),this.P(),Promise.resolve()}P(){}W(){let e;if(this.g.W((t=>{e=Yc(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener(((e,t)=>{this.J.push(Error(t))})),this.g.Aa(),this.g.setGraph(e,t),this.A=void 0,af(this)}finishProcessing(){this.g.finishProcessing(),af(this)}close(){this.A=void 0,this.g.closeGraph()}};function hf(e,t){if(null===e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}df.prototype.close=df.prototype.close;class ff{constructor(e,t,n,r){this.g=e,this.h=t,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 pf(e,t,n){const r=e.h;if(n=hf(r.createShader(n),"Failed to create WebGL shader"),r.shaderSource(n,t),r.compileShader(n),!r.getShaderParameter(n,r.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${r.getShaderInfoLog(n)}`);return r.attachShader(e.g,n),n}function gf(e,t){const n=e.h,r=hf(n.createVertexArray(),"Failed to create vertex array");n.bindVertexArray(r);const o=hf(n.createBuffer(),"Failed to create buffer");n.bindBuffer(n.ARRAY_BUFFER,o),n.enableVertexAttribArray(e.s),n.vertexAttribPointer(e.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=hf(n.createBuffer(),"Failed to create buffer");return n.bindBuffer(n.ARRAY_BUFFER,i),n.enableVertexAttribArray(e.A),n.vertexAttribPointer(e.A,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array(t?[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 ff(n,r,o,i)}function mf(e,t){if(e.h){if(t!==e.h)throw Error("Cannot change GL context once initialized")}else e.h=t}function vf(e,t,n,r){if(mf(e,t),!e.g){const t=e.h;if(e.g=hf(t.createProgram(),"Failed to create WebGL program"),e.C=pf(e,"\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 }",t.VERTEX_SHADER),e.v=pf(e,"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D inputTexture;\n void main() {\n gl_FragColor = texture2D(inputTexture, vTex);\n }\n ",t.FRAGMENT_SHADER),t.linkProgram(e.g),!t.getProgramParameter(e.g,t.LINK_STATUS))throw Error(`Error during program linking: ${t.getProgramInfoLog(e.g)}`);e.s=t.getAttribLocation(e.g,"aVertex"),e.A=t.getAttribLocation(e.g,"aTex")}return n?(e.m||(e.m=gf(e,!0)),n=e.m):(e.j||(e.j=gf(e,!1)),n=e.j),t.useProgram(e.g),n.bind(),e=r(),n.g.bindVertexArray(null),e}function bf(e,t,n){mf(e,t),e.l||(e.l=hf(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.l),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0)}function yf(e){e.h?.bindFramebuffer(e.h.FRAMEBUFFER,null)}var wf=class{close(){if(this.g){const e=this.h;e.deleteProgram(this.g),e.deleteShader(this.C),e.deleteShader(this.v)}this.l&&this.h.deleteFramebuffer(this.l),this.j&&this.j.close(),this.m&&this.m.close()}};function xf(e,t){switch(t){case 0:return e.g.find((e=>e instanceof ImageData));case 1:return e.g.find((e=>"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Ef(e){var t=xf(e,0);if(!t){t=Sf(e);const n=kf(e),r=new Uint8Array(e.width*e.height*4);bf(n,t,Cf(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,r),yf(n),t=new ImageData(new Uint8ClampedArray(r.buffer),e.width,e.height),e.g.push(t)}return t}function Cf(e){let t=xf(e,2);if(!t){const n=Sf(e);t=If(e);const r=xf(e,1)||Ef(e);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r),Af(e)}return t}function Sf(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when iniitializing the image.");return e.h||(e.h=hf(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function kf(e){return e.l||(e.l=new wf),e.l}function Tf(e){(e=Sf(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR)}function If(e){const t=Sf(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=xf(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=hf(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),Tf(e)),n}function Af(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function Df(e){const t=Sf(e);return vf(kf(e),t,!0,(()=>function(e,t){const n=e.canvas;if(n.width===e.width&&n.height===e.height)return t();const r=n.width,o=n.height;return n.width=e.width,n.height=e.height,e=t(),n.width=r,n.height=o,e}(e,(()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))))}var Rf=class{constructor(e,t,n,r,o,i,a){this.g=e,this.j=t,this.m=n,this.canvas=r,this.l=o,this.width=i,this.height=a,(this.j||this.m)&&0==--_f&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}va(){return!!xf(this,0)}ba(){return!!xf(this,1)}K(){return!!xf(this,2)}ra(){return Ef(this)}qa(){var e=xf(this,1);return e||(Cf(this),If(this),e=Df(this),Af(this),this.g.push(e),this.j=!0),e}V(){return Cf(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof ImageData)n=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){const e=Sf(this),t=kf(this);e.activeTexture(e.TEXTURE1),n=hf(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),Tf(this),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,null),e.bindTexture(e.TEXTURE_2D,null),bf(t,e,n),vf(t,e,!1,(()=>{If(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),Af(this)})),yf(t),Af(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);Cf(this),If(this),n=Df(this),Af(this)}e.push(n)}return new Rf(e,this.ba(),this.K(),this.canvas,this.l,this.width,this.height)}close(){this.j&&xf(this,1).close(),this.m&&Sf(this).deleteTexture(xf(this,2)),_f=-1}};Rf.prototype.close=Rf.prototype.close,Rf.prototype.clone=Rf.prototype.clone,Rf.prototype.getAsWebGLTexture=Rf.prototype.V,Rf.prototype.getAsImageBitmap=Rf.prototype.qa,Rf.prototype.getAsImageData=Rf.prototype.ra,Rf.prototype.hasWebGLTexture=Rf.prototype.K,Rf.prototype.hasImageBitmap=Rf.prototype.ba,Rf.prototype.hasImageData=Rf.prototype.va;var _f=250;function Ff(e,t){switch(t){case 0:return e.g.find((e=>e instanceof Uint8Array));case 1:return e.g.find((e=>e instanceof Float32Array));case 2:return e.g.find((e=>"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Mf(e){var t=Ff(e,1);if(!t){if(t=Ff(e,0))t=new Float32Array(t).map((e=>e/255));else{t=new Float32Array(e.width*e.height);const r=Pf(e);var n=Of(e);if(bf(n,r,Lf(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document){n=new Float32Array(e.width*e.height*4),r.readPixels(0,0,e.width,e.height,r.RGBA,r.FLOAT,n);for(let e=0,r=0;e<t.length;++e,r+=4)t[e]=n[r]}else r.readPixels(0,0,e.width,e.height,r.RED,r.FLOAT,t)}e.g.push(t)}return t}function Lf(e){let t=Ff(e,2);if(!t){const n=Pf(e);t=Uf(e);const r=Mf(e),o=Bf(e);n.texImage2D(n.TEXTURE_2D,0,o,e.width,e.height,0,n.RED,n.FLOAT,r),jf(e)}return t}function Pf(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=hf(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Bf(e){if(e=Pf(e),!Gf)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Gf=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Gf=e.R16F}return Gf}function Of(e){return e.l||(e.l=new wf),e.l}function Nf(e){(e=Pf(e)).texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST)}function Uf(e){const t=Pf(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let n=Ff(e,2);return n?t.bindTexture(t.TEXTURE_2D,n):(n=hf(t.createTexture(),"Failed to create texture"),e.g.push(n),e.m=!0,t.bindTexture(t.TEXTURE_2D,n),Nf(e)),n}function jf(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Gf,$f=class{constructor(e,t,n,r,o,i){this.g=e,this.m=t,this.canvas=n,this.l=r,this.width=o,this.height=i,this.m&&0==--zf&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}wa(){return!!Ff(this,0)}ua(){return!!Ff(this,1)}K(){return!!Ff(this,2)}sa(){return(e=Ff(this,0))||(e=Mf(this),e=new Uint8Array(e.map((e=>255*e))),this.g.push(e)),e;var e}pa(){return Mf(this)}V(){return Lf(this)}clone(){const e=[];for(const t of this.g){let n;if(t instanceof Uint8Array)n=new Uint8Array(t);else if(t instanceof Float32Array)n=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{const e=Pf(this),t=Of(this);e.activeTexture(e.TEXTURE1),n=hf(e.createTexture(),"Failed to create texture"),e.bindTexture(e.TEXTURE_2D,n),Nf(this);const r=Bf(this);e.texImage2D(e.TEXTURE_2D,0,r,this.width,this.height,0,e.RED,e.FLOAT,null),e.bindTexture(e.TEXTURE_2D,null),bf(t,e,n),vf(t,e,!1,(()=>{Uf(this),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_FAN,0,4),jf(this)})),yf(t),jf(this)}}e.push(n)}return new $f(e,this.K(),this.canvas,this.l,this.width,this.height)}close(){this.m&&Pf(this).deleteTexture(Ff(this,2)),zf=-1}};$f.prototype.close=$f.prototype.close,$f.prototype.clone=$f.prototype.clone,$f.prototype.getAsWebGLTexture=$f.prototype.V,$f.prototype.getAsFloat32Array=$f.prototype.pa,$f.prototype.getAsUint8Array=$f.prototype.sa,$f.prototype.hasWebGLTexture=$f.prototype.K,$f.prototype.hasFloat32Array=$f.prototype.ua,$f.prototype.hasUint8Array=$f.prototype.wa;var zf=250;function qf(...e){return e.map((([e,t])=>({start:e,end:t})))}const Vf=function(e){return class extends e{Aa(){this.i._registerModelResourcesGraphService()}}}((Wf=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m="function"==typeof this.i._addIntToInputStream,void 0!==t?this.i.canvas=t:"undefined"==typeof OffscreenCanvas||Jh()?(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(e){const t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph((new TextEncoder).encode(e),!1)}setGraph(e,t){const n=e.length,r=this.i._malloc(n);this.i.HEAPU8.set(e,r),t?this.i._changeBinaryGraph(n,r):this.i._changeTextGraph(n,r),this.i._free(r)}configureAudio(e,t,n,r,o){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),Qh(this,r||"input_audio",(r=>{Qh(this,o=o||"audio_header",(o=>{this.i._configureAudio(r,o,e,t,n)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}W(e){nf(this,"__graph_config__",(t=>{e(t)})),Qh(this,"__graph_config__",(e=>{this.i._getGraphConfig(e,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,n){this.addAudioToStreamWithShape(e,0,0,t,n)}addAudioToStreamWithShape(e,t,n,r,o){const i=4*e.length;this.h!==i&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(i),this.h=i),this.i.HEAPF32.set(e,this.g/4),Qh(this,r,(e=>{this.i._addAudioToInputStream(this.g,t,n,e,o)}))}addGpuBufferToStream(e,t,n){Qh(this,t,(t=>{const[r,o]=ef(this,e,t);this.i._addBoundTextureToStream(t,r,o,n)}))}addBoolToStream(e,t,n){Qh(this,t,(t=>{this.i._addBoolToInputStream(e,t,n)}))}addDoubleToStream(e,t,n){Qh(this,t,(t=>{this.i._addDoubleToInputStream(e,t,n)}))}addFloatToStream(e,t,n){Qh(this,t,(t=>{this.i._addFloatToInputStream(e,t,n)}))}addIntToStream(e,t,n){Qh(this,t,(t=>{this.i._addIntToInputStream(e,t,n)}))}addStringToStream(e,t,n){Qh(this,t,(t=>{Qh(this,e,(e=>{this.i._addStringToInputStream(e,t,n)}))}))}addStringRecordToStream(e,t,n){Qh(this,t,(t=>{tf(this,Object.keys(e),(r=>{tf(this,Object.values(e),(o=>{this.i._addFlatHashMapToInputStream(r,o,Object.keys(e).length,t,n)}))}))}))}addProtoToStream(e,t,n,r){Qh(this,n,(n=>{Qh(this,t,(t=>{const o=this.i._malloc(e.length);this.i.HEAPU8.set(e,o),this.i._addProtoToInputStream(o,e.length,t,n,r),this.i._free(o)}))}))}addEmptyPacketToStream(e,t){Qh(this,e,(e=>{this.i._addEmptyPacketToInputStream(e,t)}))}addBoolToInputSidePacket(e,t){Qh(this,t,(t=>{this.i._addBoolToInputSidePacket(e,t)}))}addDoubleToInputSidePacket(e,t){Qh(this,t,(t=>{this.i._addDoubleToInputSidePacket(e,t)}))}addFloatToInputSidePacket(e,t){Qh(this,t,(t=>{this.i._addFloatToInputSidePacket(e,t)}))}addIntToInputSidePacket(e,t){Qh(this,t,(t=>{this.i._addIntToInputSidePacket(e,t)}))}addStringToInputSidePacket(e,t){Qh(this,t,(t=>{Qh(this,e,(e=>{this.i._addStringToInputSidePacket(e,t)}))}))}addProtoToInputSidePacket(e,t,n){Qh(this,n,(n=>{Qh(this,t,(t=>{const r=this.i._malloc(e.length);this.i.HEAPU8.set(e,r),this.i._addProtoToInputSidePacket(r,e.length,t,n),this.i._free(r)}))}))}attachBoolListener(e,t){nf(this,e,t),Qh(this,e,(e=>{this.i._attachBoolListener(e)}))}attachBoolVectorListener(e,t){rf(this,e,t),Qh(this,e,(e=>{this.i._attachBoolVectorListener(e)}))}attachIntListener(e,t){nf(this,e,t),Qh(this,e,(e=>{this.i._attachIntListener(e)}))}attachIntVectorListener(e,t){rf(this,e,t),Qh(this,e,(e=>{this.i._attachIntVectorListener(e)}))}attachDoubleListener(e,t){nf(this,e,t),Qh(this,e,(e=>{this.i._attachDoubleListener(e)}))}attachDoubleVectorListener(e,t){rf(this,e,t),Qh(this,e,(e=>{this.i._attachDoubleVectorListener(e)}))}attachFloatListener(e,t){nf(this,e,t),Qh(this,e,(e=>{this.i._attachFloatListener(e)}))}attachFloatVectorListener(e,t){rf(this,e,t),Qh(this,e,(e=>{this.i._attachFloatVectorListener(e)}))}attachStringListener(e,t){nf(this,e,t),Qh(this,e,(e=>{this.i._attachStringListener(e)}))}attachStringVectorListener(e,t){rf(this,e,t),Qh(this,e,(e=>{this.i._attachStringVectorListener(e)}))}attachProtoListener(e,t,n){nf(this,e,t),Qh(this,e,(e=>{this.i._attachProtoListener(e,n||!1)}))}attachProtoVectorListener(e,t,n){rf(this,e,t),Qh(this,e,(e=>{this.i._attachProtoVectorListener(e,n||!1)}))}attachAudioListener(e,t,n){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),nf(this,e,((e,n)=>{e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,n)})),Qh(this,e,(e=>{this.i._attachAudioListener(e,n||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Wf{get Y(){return this.i}ga(e,t,n){Qh(this,t,(t=>{const[r,o]=ef(this,e,t);this.Y._addBoundTextureAsImageToStream(t,r,o,n)}))}S(e,t){nf(this,e,t),Qh(this,e,(e=>{this.Y._attachImageListener(e)}))}T(e,t){rf(this,e,t),Qh(this,e,(e=>{this.Y._attachImageVectorListener(e)}))}}));var Wf,Hf=class extends Vf{};async function Kf(e,t,n){return async function(e,t,n,r){return async function(e,t,n,r){return e=await(async(e,t,n,r,o)=>{if(t&&await Zh(t),!self.ModuleFactory)throw Error("ModuleFactory not set.");if(n&&(await Zh(n),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&o&&((t=self.Module).locateFile=o.locateFile,o.mainScriptUrlOrBlob&&(t.mainScriptUrlOrBlob=o.mainScriptUrlOrBlob)),o=await self.ModuleFactory(self.Module||o),self.ModuleFactory=self.Module=void 0,new e(o,r)})(e,n.wasmLoaderPath,n.assetLoaderPath,t,{locateFile:e=>e.endsWith(".wasm")?n.wasmBinaryPath.toString():n.assetBinaryPath&&e.endsWith(".data")?n.assetBinaryPath.toString():e}),await e.o(r),e}(e,t,n,r)}(e,n.canvas??("undefined"==typeof OffscreenCanvas||Jh()?document.createElement("canvas"):void 0),t,n)}function Yf(e,t,n,r){if(e.Z){const i=new Cd;if(n?.regionOfInterest){if(!e.ea)throw Error("This task doesn't support region-of-interest.");var o=n.regionOfInterest;if(o.left>=o.right||o.top>=o.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(0>o.left||0>o.top||1<o.right||1<o.bottom)throw Error("Expected RectF values to be in [0,1].");ou(i,1,(o.left+o.right)/2),ou(i,2,(o.top+o.bottom)/2),ou(i,4,o.right-o.left),ou(i,3,o.bottom-o.top)}else ou(i,1,.5),ou(i,2,.5),ou(i,4,1),ou(i,3,1);if(n?.rotationDegrees){if(0!=n?.rotationDegrees%90)throw Error("Expected rotation to be a multiple of 90°.");if(ou(i,5,-Math.PI*n.rotationDegrees/180),0!=n?.rotationDegrees%180){const[e,r]=void 0!==t.videoWidth?[t.videoWidth,t.videoHeight]:void 0!==t.naturalWidth?[t.naturalWidth,t.naturalHeight]:[t.width,t.height];n=tu(i,3)*r/e,o=tu(i,4)*e/r,ou(i,4,n),ou(i,3,o)}}e.g.addProtoToStream(i.g(),"mediapipe.NormalizedRect",e.Z,r)}e.g.ga(t,e.da,r??performance.now()),e.finishProcessing()}function Xf(e,t,n){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Yf(e,t,n,e.I+1)}function Jf(e,t,n,r){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Yf(e,t,n,r)}function Zf(e,t,n){var r=t.data;const o=t.width,i=o*(t=t.height);if((r instanceof Uint8Array||r instanceof Float32Array)&&r.length!==i)throw Error("Unsupported channel count: "+r.length/i);return e=new $f([r],!1,e.g.i.canvas,e.O,o,t),n?e.clone():e}var Qf=class extends df{constructor(e,t,n,r){super(e),this.g=e,this.da=t,this.Z=n,this.ea=r,this.O=new wf}l(e,t=!0){if("runningMode"in e&&nu(this.baseOptions,2,!!e.runningMode&&"IMAGE"!==e.runningMode),void 0!==e.canvas&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.O.close(),super.close()}};Qf.prototype.close=Qf.prototype.close;var ep=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},this.h=new Vd,e=new zd,Kl(this.h,0,1,e),ou(this.h,2,.5),ou(this.h,3,.3)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&ou(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&ou(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},Xf(this,e,t),this.j}G(e,t,n){return this.j={detections:[]},Jf(this,e,n,t),this.j}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect_in"),Wc(e,"detections");const t=new Ic;au(t,Hd,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect_in"),Oc(n,"DETECTIONS:detections"),n.o(t),qc(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=hd(t),this.j.detections.push(Gh(e));sf(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ep.prototype.detectForVideo=ep.prototype.G,ep.prototype.detect=ep.prototype.F,ep.prototype.setOptions=ep.prototype.o,ep.createFromModelPath=async function(e,t){return Kf(ep,e,{baseOptions:{modelAssetPath:t}})},ep.createFromModelBuffer=function(e,t){return Kf(ep,e,{baseOptions:{modelAssetBuffer:t}})},ep.createFromOptions=function(e,t){return Kf(ep,e,t)};var tp=qf([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]),np=qf([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]),rp=qf([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),op=qf([474,475],[475,476],[476,477],[477,474]),ip=qf([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]),ap=qf([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),sp=qf([469,470],[470,471],[471,472],[472,469]),lp=qf([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]),up=[...tp,...np,...rp,...ip,...ap,...lp],cp=qf([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 dp(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var hp=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,this.h=new eh,e=new zd,Kl(this.h,0,1,e),this.v=new Zd,Kl(this.h,0,3,this.v),this.s=new Vd,Kl(this.h,0,2,this.s),ru(this.s,4,1),ou(this.s,2,.5),ou(this.v,2,.5),ou(this.h,4,.5)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){return"numFaces"in e&&ru(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&ou(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&ou(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&ou(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return dp(this),Xf(this,e,t),this.j}G(e,t,n){return dp(this),Jf(this,e,n,t),this.j}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect"),Wc(e,"face_landmarks");const t=new Ic;au(t,nh,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"NORM_LANDMARKS:face_landmarks"),n.o(t),qc(e,n),this.g.attachProtoVectorListener("face_landmarks",((e,t)=>{for(const t of e)e=wd(t),this.j.faceLandmarks.push($h(e));sf(this,t)})),this.g.attachEmptyPacketListener("face_landmarks",(e=>{sf(this,e)})),this.outputFaceBlendshapes&&(Wc(e,"blendshapes"),Oc(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((e,t)=>{if(this.outputFaceBlendshapes)for(const t of e)e=td(t),this.j.faceBlendshapes.push(jh(e.g()??[]));sf(this,t)})),this.g.attachEmptyPacketListener("blendshapes",(e=>{sf(this,e)}))),this.outputFacialTransformationMatrixes&&(Wc(e,"face_geometry"),Oc(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((e,t)=>{if(this.outputFacialTransformationMatrixes)for(const t of e)(e=Vl(Xd(t),xd,2))&&this.j.facialTransformationMatrixes.push({rows:eu(Jl(e,1))??0,columns:eu(Jl(e,2))??0,data:Bl(e,3,Js)??[]});sf(this,t)})),this.g.attachEmptyPacketListener("face_geometry",(e=>{sf(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};hp.prototype.detectForVideo=hp.prototype.G,hp.prototype.detect=hp.prototype.F,hp.prototype.setOptions=hp.prototype.o,hp.createFromModelPath=function(e,t){return Kf(hp,e,{baseOptions:{modelAssetPath:t}})},hp.createFromModelBuffer=function(e,t){return Kf(hp,e,{baseOptions:{modelAssetBuffer:t}})},hp.createFromOptions=function(e,t){return Kf(hp,e,t)},hp.FACE_LANDMARKS_LIPS=tp,hp.FACE_LANDMARKS_LEFT_EYE=np,hp.FACE_LANDMARKS_LEFT_EYEBROW=rp,hp.FACE_LANDMARKS_LEFT_IRIS=op,hp.FACE_LANDMARKS_RIGHT_EYE=ip,hp.FACE_LANDMARKS_RIGHT_EYEBROW=ap,hp.FACE_LANDMARKS_RIGHT_IRIS=sp,hp.FACE_LANDMARKS_FACE_OVAL=lp,hp.FACE_LANDMARKS_CONTOURS=up,hp.FACE_LANDMARKS_TESSELATION=cp;var fp=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect",!0),this.j=new rh,e=new zd,Kl(this.j,0,1,e)}get baseOptions(){return Vl(this.j,zd,1)}set baseOptions(e){Kl(this.j,0,1,e)}o(e){return super.l(e)}Da(e,t,n){const r="function"!=typeof t?t:{};if(this.h="function"==typeof t?t:n,Xf(this,e,r??{}),!this.h)return this.s}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect"),Wc(e,"stylized_image");const t=new Ic;au(t,oh,this.j);const n=new Nc;Pc(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"STYLIZED_IMAGE:stylized_image"),n.o(t),qc(e,n),this.g.S("stylized_image",((e,t)=>{var n=!this.h,r=e.data,o=e.width;const i=o*(e=e.height);if(r instanceof Uint8Array)if(r.length===3*i){const t=new Uint8ClampedArray(4*i);for(let e=0;e<i;++e)t[4*e]=r[3*e],t[4*e+1]=r[3*e+1],t[4*e+2]=r[3*e+2],t[4*e+3]=255;r=new ImageData(t,o,e)}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),o,e)}else if(!(r instanceof WebGLTexture))throw Error(`Unsupported format: ${r.constructor.name}`);o=new Rf([r],!1,!1,this.g.i.canvas,this.O,o,e),this.s=n=n?o.clone():o,this.h&&this.h(n),sf(this,t)})),this.g.attachEmptyPacketListener("stylized_image",(e=>{this.s=null,this.h&&this.h(null),sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};fp.prototype.stylize=fp.prototype.Da,fp.prototype.setOptions=fp.prototype.o,fp.createFromModelPath=function(e,t){return Kf(fp,e,{baseOptions:{modelAssetPath:t}})},fp.createFromModelBuffer=function(e,t){return Kf(fp,e,{baseOptions:{modelAssetBuffer:t}})},fp.createFromOptions=function(e,t){return Kf(fp,e,t)};var pp=qf([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 gp(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function mp(e){return 0===e.gestures.length?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function vp(e,t=!0){const n=[];for(const o of e){var r=td(o);e=[];for(const n of r.g())r=t&&null!=Jl(n,1)?eu(Jl(n,1)):-1,e.push({score:tu(n,2)??0,index:r,categoryName:Ql(n,3)??""??"",displayName:Ql(n,4)??""??""});n.push(e)}return n}var bp=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.v=new mh,e=new zd,Kl(this.v,0,1,e),this.C=new ph,Kl(this.v,0,2,this.C),this.s=new hh,Kl(this.C,0,3,this.s),this.h=new ch,Kl(this.C,0,2,this.h),this.j=new lh,Kl(this.v,0,3,this.j),ou(this.h,2,.5),ou(this.C,4,.5),ou(this.s,2,.5)}get baseOptions(){return Vl(this.v,zd,1)}set baseOptions(e){Kl(this.v,0,1,e)}o(e){if(ru(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ou(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ou(this.C,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ou(this.s,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new ih,n=Uh(e.cannedGesturesClassifierOptions,Vl(this.j,ih,3)?.h());Kl(t,0,2,n),Kl(this.j,0,3,t)}else void 0===e.cannedGesturesClassifierOptions&&Vl(this.j,ih,3)?.g();return e.customGesturesClassifierOptions?(Kl(t=new ih,0,2,n=Uh(e.customGesturesClassifierOptions,Vl(this.j,ih,4)?.h())),Kl(this.j,0,4,t)):void 0===e.customGesturesClassifierOptions&&Vl(this.j,ih,4)?.g(),this.l(e)}ya(e,t){return gp(this),Xf(this,e,t),mp(this)}za(e,t,n){return gp(this),Jf(this,e,n,t),mp(this)}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect"),Wc(e,"hand_gestures"),Wc(e,"hand_landmarks"),Wc(e,"world_hand_landmarks"),Wc(e,"handedness");const t=new Ic;au(t,yh,this.v);const n=new Nc;Pc(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"HAND_GESTURES:hand_gestures"),Oc(n,"LANDMARKS:hand_landmarks"),Oc(n,"WORLD_LANDMARKS:world_hand_landmarks"),Oc(n,"HANDEDNESS:handedness"),n.o(t),qc(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e){e=wd(t);const n=[];for(const t of Hl(e,vd,1))n.push({x:tu(t,1)??0,y:tu(t,2)??0,z:tu(t,3)??0});this.landmarks.push(n)}sf(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{sf(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e){e=md(t);const n=[];for(const t of Hl(e,fd,1))n.push({x:tu(t,1)??0,y:tu(t,2)??0,z:tu(t,3)??0});this.worldLandmarks.push(n)}sf(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{sf(this,e)})),this.g.attachProtoVectorListener("hand_gestures",((e,t)=>{this.gestures.push(...vp(e,!1)),sf(this,t)})),this.g.attachEmptyPacketListener("hand_gestures",(e=>{sf(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{this.handedness.push(...vp(e)),sf(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function yp(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}bp.prototype.recognizeForVideo=bp.prototype.za,bp.prototype.recognize=bp.prototype.ya,bp.prototype.setOptions=bp.prototype.o,bp.createFromModelPath=function(e,t){return Kf(bp,e,{baseOptions:{modelAssetPath:t}})},bp.createFromModelBuffer=function(e,t){return Kf(bp,e,{baseOptions:{modelAssetBuffer:t}})},bp.createFromOptions=function(e,t){return Kf(bp,e,t)},bp.HAND_CONNECTIONS=pp;var wp=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],this.j=new ph,e=new zd,Kl(this.j,0,1,e),this.s=new hh,Kl(this.j,0,3,this.s),this.h=new ch,Kl(this.j,0,2,this.h),ru(this.h,3,1),ou(this.h,2,.5),ou(this.s,2,.5),ou(this.j,4,.5)}get baseOptions(){return Vl(this.j,zd,1)}set baseOptions(e){Kl(this.j,0,1,e)}o(e){return"numHands"in e&&ru(this.h,3,e.numHands??1),"minHandDetectionConfidence"in e&&ou(this.h,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&ou(this.j,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&ou(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Xf(this,e,t),yp(this)}G(e,t,n){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Jf(this,e,n,t),yp(this)}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect"),Wc(e,"hand_landmarks"),Wc(e,"world_hand_landmarks"),Wc(e,"handedness");const t=new Ic;au(t,bh,this.j);const n=new Nc;Pc(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"LANDMARKS:hand_landmarks"),Oc(n,"WORLD_LANDMARKS:world_hand_landmarks"),Oc(n,"HANDEDNESS:handedness"),n.o(t),qc(e,n),this.g.attachProtoVectorListener("hand_landmarks",((e,t)=>{for(const t of e)e=wd(t),this.landmarks.push($h(e));sf(this,t)})),this.g.attachEmptyPacketListener("hand_landmarks",(e=>{sf(this,e)})),this.g.attachProtoVectorListener("world_hand_landmarks",((e,t)=>{for(const t of e)e=md(t),this.worldLandmarks.push(zh(e));sf(this,t)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(e=>{sf(this,e)})),this.g.attachProtoVectorListener("handedness",((e,t)=>{var n=this.handedness,r=n.push;const o=[];for(const t of e){e=td(t);const n=[];for(const t of e.g())n.push({score:tu(t,2)??0,index:eu(Jl(t,1))??-1,categoryName:Ql(t,3)??""??"",displayName:Ql(t,4)??""??""});o.push(n)}r.call(n,...o),sf(this,t)})),this.g.attachEmptyPacketListener("handedness",(e=>{sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};wp.prototype.detectForVideo=wp.prototype.G,wp.prototype.detect=wp.prototype.F,wp.prototype.setOptions=wp.prototype.o,wp.createFromModelPath=function(e,t){return Kf(wp,e,{baseOptions:{modelAssetPath:t}})},wp.createFromModelBuffer=function(e,t){return Kf(wp,e,{baseOptions:{modelAssetBuffer:t}})},wp.createFromOptions=function(e,t){return Kf(wp,e,t)},wp.HAND_CONNECTIONS=pp;var xp=class extends Qf{constructor(e,t){super(new Hf(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},this.h=new wh,e=new zd,Kl(this.h,0,1,e)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){var t=Uh(e,Vl(this.h,Pd,2));return Kl(this.h,0,2,t),this.l(e)}ia(e,t){return this.j={classifications:[]},Xf(this,e,t),this.j}ja(e,t,n){return this.j={classifications:[]},Jf(this,e,n,t),this.j}m(){var e=new Hc;Vc(e,"input_image"),Vc(e,"norm_rect"),Wc(e,"classifications");const t=new Ic;au(t,xh,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Bc(n,"IMAGE:input_image"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"CLASSIFICATIONS:classifications"),n.o(t),qc(e,n),this.g.attachProtoListener("classifications",((e,t)=>{this.j=function(e){const t={classifications:Hl(e,Sd,1).map((e=>jh(Vl(e,Qc,4)?.g()??[],eu(Jl(e,2)),Ql(e,3)??"")))};return null!=Zl(e)&&(t.timestampMs=eu(Zl(e))),t}(Id(e)),sf(this,t)})),this.g.attachEmptyPacketListener("classifications",(e=>{sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};xp.prototype.classifyForVideo=xp.prototype.ja,xp.prototype.classify=xp.prototype.ia,xp.prototype.setOptions=xp.prototype.o,xp.createFromModelPath=function(e,t){return Kf(xp,e,{baseOptions:{modelAssetPath:t}})},xp.createFromModelBuffer=function(e,t){return Kf(xp,e,{baseOptions:{modelAssetBuffer:t}})},xp.createFromOptions=function(e,t){return Kf(xp,e,t)};var Ep=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect",!0),this.h=new Eh,this.embeddings={embeddings:[]},e=new zd,Kl(this.h,0,1,e)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){var t=this.h,n=Vl(this.h,Od,2);return n=n?n.clone():new Od,void 0!==e.l2Normalize?nu(n,1,e.l2Normalize):"l2Normalize"in e&&_l(n,1),void 0!==e.quantize?nu(n,2,e.quantize):"quantize"in e&&_l(n,2),Kl(t,0,2,n),this.l(e)}na(e,t){return Xf(this,e,t),this.embeddings}oa(e,t,n){return Jf(this,e,n,t),this.embeddings}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect"),Wc(e,"embeddings_out");const t=new Ic;au(t,Ch,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"EMBEDDINGS:embeddings_out"),n.o(t),qc(e,n),this.g.attachProtoListener("embeddings_out",((e,t)=>{e=Ld(e),this.embeddings=function(e){return{embeddings:Hl(e,Rd,1).map((e=>{const t={headIndex:eu(Jl(e,3))??-1,headName:Ql(e,4)??""??""};if(void 0!==ql(e,Ad,Gl(e,1)))e=Bl(e=Vl(e,Ad,Gl(e,1)),1,Js),t.floatEmbedding=e;else{const n=new Uint8Array(0);t.quantizedEmbedding=Vl(e,Dd,Gl(e,2))?.fa()?.ha()??n}return t})),timestampMs:eu(Zl(e))}}(e),sf(this,t)})),this.g.attachEmptyPacketListener("embeddings_out",(e=>{sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ep.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Vh(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Vh(qh(e.quantizedEmbedding),qh(t.quantizedEmbedding))}return e},Ep.prototype.embedForVideo=Ep.prototype.oa,Ep.prototype.embed=Ep.prototype.na,Ep.prototype.setOptions=Ep.prototype.o,Ep.createFromModelPath=function(e,t){return Kf(Ep,e,{baseOptions:{modelAssetPath:t}})},Ep.createFromModelBuffer=function(e,t){return Kf(Ep,e,{baseOptions:{modelAssetBuffer:t}})},Ep.createFromOptions=function(e,t){return Kf(Ep,e,t)};var Cp=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};function Sp(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function kp(e){try{const t=new Cp(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{cf(e)}}Cp.prototype.close=Cp.prototype.close;var Tp=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Ah,this.v=new Sh,Kl(this.h,0,3,this.v),e=new zd,Kl(this.h,0,1,e)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?_l(this.h,2,rl(e.displayNamesLocale)):"displayNamesLocale"in e&&_l(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}P(){!function(e){const t=Hl(e.W(),Nc,1).filter((e=>(Ql(e,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(e.s=[],1<t.length)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");1===t.length&&(Vl(t[0],Ic,7)?.l()?.g()??new Map).forEach(((t,n)=>{e.s[Number(n)]=Ql(t,1)??""}))}(this)}X(e,t,n){const r="function"!=typeof t?t:{};return this.j="function"==typeof t?t:n,Sp(this),Xf(this,e,r),kp(this)}Ca(e,t,n,r){const o="function"!=typeof n?n:{};return this.j="function"==typeof n?n:r,Sp(this),Jf(this,e,o,t),kp(this)}ta(){return this.s}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect");const t=new Ic;au(t,Dh,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect"),n.o(t),qc(e,n),lf(this,e),this.outputConfidenceMasks&&(Wc(e,"confidence_masks"),Oc(n,"CONFIDENCE_MASKS:confidence_masks"),uf(this,"confidence_masks"),this.g.T("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>Zf(this,e,!this.j))),sf(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],sf(this,e)}))),this.outputCategoryMask&&(Wc(e,"category_mask"),Oc(n,"CATEGORY_MASK:category_mask"),uf(this,"category_mask"),this.g.S("category_mask",((e,t)=>{this.categoryMask=Zf(this,e,!this.j),sf(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,sf(this,e)}))),Wc(e,"quality_scores"),Oc(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,sf(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Tp.prototype.getLabels=Tp.prototype.ta,Tp.prototype.segmentForVideo=Tp.prototype.Ca,Tp.prototype.segment=Tp.prototype.X,Tp.prototype.setOptions=Tp.prototype.o,Tp.createFromModelPath=function(e,t){return Kf(Tp,e,{baseOptions:{modelAssetPath:t}})},Tp.createFromModelBuffer=function(e,t){return Kf(Tp,e,{baseOptions:{modelAssetBuffer:t}})},Tp.createFromOptions=function(e,t){return Kf(Tp,e,t)};var Ip=class{constructor(e,t,n){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=n}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};Ip.prototype.close=Ip.prototype.close;var Ap=class extends su{constructor(e){super(e)}},Dp=[0,Xu,Xu,Xu],Rp=[0,zu,zu,zu,zu,Qu],_p=[0,zu,zu,zu,zu,Qu,zu,zu],Fp=[0,ic,_p],Mp=[0,ic,Fp,ic,Dp],Lp=[0,ic,_p,ic,Dp],Pp=[0,ic,_p,Xu,Xu],Bp=[0,ic,Pp,ic,Dp],Op=[0,zu,zu,zu,zu,Qu,ic,Dp,ic,Dp],Np=[0,zu,zu,zu,zu,Qu,cc],Up=class extends su{constructor(e){super(e)}},jp=[0,zu,zu,Qu],Gp=class extends su{constructor(){super()}};Gp.B=[1];var $p=class extends su{constructor(e){super(e)}},zp=[1,2,3,4,5,6,7,8,9,10,14,15],qp=[0,sc,_p,zp,sc,Lp,zp,sc,Fp,zp,sc,Mp,zp,sc,jp,zp,sc,Np,zp,sc,Rp,zp,sc,[0,rc,zu,zu,zu,Qu,Xu,Qu,Qu,zu,3,ic,Dp],zp,sc,Pp,zp,sc,Bp,zp,zu,ic,Dp,rc,sc,Op,zp,sc,[0,ac,jp],zp],Vp=[0,rc,Xu,Xu,Qu],Wp=class extends su{constructor(){super()}};Wp.B=[1],Wp.prototype.g=gc([0,ac,qp,rc,ic,Vp]);var Hp=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Ah,this.v=new Sh,Kl(this.h,0,3,this.v),e=new zd,Kl(this.h,0,1,e)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}X(e,t,n,r){const o="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 Wp;const i=new $p;var a=new Ap;if(ru(a,1,255),Kl(i,0,12,a),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new Up;nu(s,3,!0),ou(s,1,t.keypoint.x),ou(s,2,t.keypoint.y),Yl(i,5,zp,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(s of(a=new Gp,t.scribble))nu(t=new Up,3,!0),ou(t,1,s.x),ou(t,2,s.y),Xl(a,Up,t);Yl(i,15,zp,a)}Xl(r,$p,i),this.g.addProtoToStream(r.g(),"drishti.RenderData","roi_in",n),Xf(this,e,o);e:{try{const e=new Ip(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var l=e;break e}this.j(e)}finally{cf(this)}l=void 0}return l}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"roi_in"),Vc(e,"norm_rect_in");const t=new Ic;au(t,Dh,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"ROI:roi_in"),Bc(n,"NORM_RECT:norm_rect_in"),n.o(t),qc(e,n),lf(this,e),this.outputConfidenceMasks&&(Wc(e,"confidence_masks"),Oc(n,"CONFIDENCE_MASKS:confidence_masks"),uf(this,"confidence_masks"),this.g.T("confidence_masks",((e,t)=>{this.confidenceMasks=e.map((e=>Zf(this,e,!this.j))),sf(this,t)})),this.g.attachEmptyPacketListener("confidence_masks",(e=>{this.confidenceMasks=[],sf(this,e)}))),this.outputCategoryMask&&(Wc(e,"category_mask"),Oc(n,"CATEGORY_MASK:category_mask"),uf(this,"category_mask"),this.g.S("category_mask",((e,t)=>{this.categoryMask=Zf(this,e,!this.j),sf(this,t)})),this.g.attachEmptyPacketListener("category_mask",(e=>{this.categoryMask=void 0,sf(this,e)}))),Wc(e,"quality_scores"),Oc(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((e,t)=>{this.qualityScores=e,sf(this,t)})),this.g.attachEmptyPacketListener("quality_scores",(e=>{this.categoryMask=void 0,sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Hp.prototype.segment=Hp.prototype.X,Hp.prototype.setOptions=Hp.prototype.o,Hp.createFromModelPath=function(e,t){return Kf(Hp,e,{baseOptions:{modelAssetPath:t}})},Hp.createFromModelBuffer=function(e,t){return Kf(Hp,e,{baseOptions:{modelAssetBuffer:t}})},Hp.createFromOptions=function(e,t){return Kf(Hp,e,t)};var Kp=class extends Qf{constructor(e,t){super(new Hf(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},this.h=new Rh,e=new zd,Kl(this.h,0,1,e)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){return void 0!==e.displayNamesLocale?_l(this.h,2,rl(e.displayNamesLocale)):"displayNamesLocale"in e&&_l(this.h,2),void 0!==e.maxResults?ru(this.h,3,e.maxResults):"maxResults"in e&&_l(this.h,3),void 0!==e.scoreThreshold?ou(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&_l(this.h,4),void 0!==e.categoryAllowlist?jl(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&_l(this.h,5),void 0!==e.categoryDenylist?jl(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&_l(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},Xf(this,e,t),this.j}G(e,t,n){return this.j={detections:[]},Jf(this,e,n,t),this.j}m(){var e=new Hc;Vc(e,"input_frame_gpu"),Vc(e,"norm_rect"),Wc(e,"detections");const t=new Ic;au(t,_h,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),Bc(n,"IMAGE:input_frame_gpu"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"DETECTIONS:detections"),n.o(t),qc(e,n),this.g.attachProtoVectorListener("detections",((e,t)=>{for(const t of e)e=hd(t),this.j.detections.push(Gh(e));sf(this,t)})),this.g.attachEmptyPacketListener("detections",(e=>{sf(this,e)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Yp(e){e.landmarks=[],e.worldLandmarks=[],e.v=void 0}function Xp(e){try{const t=new class{constructor(e,t,n){this.landmarks=e,this.worldLandmarks=t,this.g=n}close(){this.g?.forEach((e=>{e.close()}))}}(e.landmarks,e.worldLandmarks,e.v);if(!e.s)return t;e.s(t)}finally{cf(e)}}Kp.prototype.detectForVideo=Kp.prototype.G,Kp.prototype.detect=Kp.prototype.F,Kp.prototype.setOptions=Kp.prototype.o,Kp.createFromModelPath=async function(e,t){return Kf(Kp,e,{baseOptions:{modelAssetPath:t}})},Kp.createFromModelBuffer=function(e,t){return Kf(Kp,e,{baseOptions:{modelAssetBuffer:t}})},Kp.createFromOptions=function(e,t){return Kf(Kp,e,t)};var Jp=class extends Qf{constructor(e,t){super(new Hf(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,this.h=new Bh,e=new zd,Kl(this.h,0,1,e),this.C=new Lh,Kl(this.h,0,3,this.C),this.j=new Fh,Kl(this.h,0,2,this.j),ru(this.j,4,1),ou(this.j,2,.5),ou(this.C,2,.5),ou(this.h,4,.5)}get baseOptions(){return Vl(this.h,zd,1)}set baseOptions(e){Kl(this.h,0,1,e)}o(e){return"numPoses"in e&&ru(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&ou(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&ou(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&ou(this.C,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,n){const r="function"!=typeof t?t:{};return this.s="function"==typeof t?t:n,Yp(this),Xf(this,e,r),Xp(this)}G(e,t,n,r){const o="function"!=typeof n?n:{};return this.s="function"==typeof n?n:r,Yp(this),Jf(this,e,o,t),Xp(this)}m(){var e=new Hc;Vc(e,"image_in"),Vc(e,"norm_rect"),Wc(e,"normalized_landmarks"),Wc(e,"world_landmarks"),Wc(e,"segmentation_masks");const t=new Ic;au(t,Nh,this.h);const n=new Nc;Pc(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Bc(n,"IMAGE:image_in"),Bc(n,"NORM_RECT:norm_rect"),Oc(n,"NORM_LANDMARKS:normalized_landmarks"),Oc(n,"WORLD_LANDMARKS:world_landmarks"),n.o(t),qc(e,n),lf(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((e,t)=>{this.landmarks=[];for(const t of e)e=wd(t),this.landmarks.push($h(e));sf(this,t)})),this.g.attachEmptyPacketListener("normalized_landmarks",(e=>{this.landmarks=[],sf(this,e)})),this.g.attachProtoVectorListener("world_landmarks",((e,t)=>{this.worldLandmarks=[];for(const t of e)e=md(t),this.worldLandmarks.push(zh(e));sf(this,t)})),this.g.attachEmptyPacketListener("world_landmarks",(e=>{this.worldLandmarks=[],sf(this,e)})),this.outputSegmentationMasks&&(Oc(n,"SEGMENTATION_MASK:segmentation_masks"),uf(this,"segmentation_masks"),this.g.T("segmentation_masks",((e,t)=>{this.v=e.map((e=>Zf(this,e,!this.s))),sf(this,t)})),this.g.attachEmptyPacketListener("segmentation_masks",(e=>{this.v=[],sf(this,e)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Jp.prototype.detectForVideo=Jp.prototype.G,Jp.prototype.detect=Jp.prototype.F,Jp.prototype.setOptions=Jp.prototype.o,Jp.createFromModelPath=function(e,t){return Kf(Jp,e,{baseOptions:{modelAssetPath:t}})},Jp.createFromModelBuffer=function(e,t){return Kf(Jp,e,{baseOptions:{modelAssetBuffer:t}})},Jp.createFromOptions=function(e,t){return Kf(Jp,e,t)},Jp.POSE_CONNECTIONS=qf([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]);var Zp;function Qp(e,t,n,r){t.forEach((function(t){var o=t.keypoints.map((function(e){return[e.x,e.y]}));if(n){e.strokeStyle="#FF2C35",e.lineWidth=1;var i=t.box;!function(e,t,n){var r=new Path2D;r.moveTo(t[0][0],t[0][1]);for(var o=1;o<t.length;o++){var i=t[o];r.lineTo(i[0],i[1])}n&&r.closePath(),e.stroke(r)}(e,[[i.xMin,i.yMin],[i.xMax,i.yMin],[i.xMax,i.yMax],[i.xMin,i.yMax]],!0)}if(r){e.fillStyle="#32EEDB";for(var a=0;a<6;a++){var s=o[a][0],l=o[a][1];e.beginPath(),e.arc(s,l,3,0,2*Math.PI),e.fill()}}}))}function eg(){return v(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return Zp?[2,Zp]:[4,Xh.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.7/wasm")];case 1:return e=t.sent(),[4,ep.createFromOptions(e,{baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",delegate:"GPU"},runningMode:"VIDEO"})];case 2:return[2,Zp=t.sent()]}}))}))}var tg=t.createContext({start:function(){return null},stop:function(){return null},onPredictionMade:function(){return null},canvasRef:{current:null},ready:!1,error:null}),ng=function(e){var n=e.autoStart,r=void 0===n||n,o=e.children,i=e.throttleMs,a=t.useContext(tn),s=a.videoRef,l=a.videoLoaded,c=a.cameraReady,d=t.useRef(null),h=t.useRef(),f=t.useState(!1),p=f[0],g=f[1],y=t.useState(!1),w=y[0],x=y[1],E=t.useRef(null),C=t.useRef(0),S=t.useRef(0),k=t.useState(null),T=k[0],I=k[1];t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:g(!1),n.label=1;case 1:return n.trys.push([1,3,,4]),e=E,[4,eg()];case 2:return e.current=n.sent(),[3,4];case 3:return t=n.sent(),I(t),[3,4];case 4:return g(!0),[2]}}))}))}),[]),t.useEffect((function(){if(l&&c&&w&&p){var e;S.current+=1;var t=S.current;return v(void 0,void 0,void 0,(function(){var n,r,o,a;return b(this,(function(l){switch(l.label){case 0:return s.current&&E.current?(n=null===(r=d.current)||void 0===r?void 0:r.getContext("2d"),d.current&&(d.current.width=null===(o=s.current)||void 0===o?void 0:o.videoWidth,d.current.height=null===(a=s.current)||void 0===a?void 0:a.videoHeight,null==n||n.translate(s.current.videoWidth,0),null==n||n.scale(-1,1)),[4,function r(){var o;return v(this,void 0,void 0,(function(){var a,l,u,c,d;return b(this,(function(f){switch(f.label){case 0:return E.current&&s.current&&t===S.current?s.current.readyState<2?[4,new Promise((function(e){s.current&&(s.current.onloadeddata=function(){e([])})}))]:[3,2]:[2];case 1:f.sent(),f.label=2;case 2:a=s.current.videoWidth,l=s.current.videoHeight,null==n||n.drawImage(s.current,0,0,a,l),f.label=3;case 3:return f.trys.push([3,5,,6]),[4,E.current.detectForVideo(s.current,performance.now())];case 4:return(u=f.sent())&&(c=u.detections.map((function(e){var t,n,r,o,i,s,u,c,d,h,f,p,g,v,b,y;return{keypoints:e.keypoints.map((function(e){var t;return m(m({},e),{x:e.x*a,y:e.y*l,name:null!==(t=e.label)&&void 0!==t?t:""})})),box:{xMin:null!==(n=null===(t=e.boundingBox)||void 0===t?void 0:t.originX)&&void 0!==n?n:0,xMax:(null!==(o=null===(r=e.boundingBox)||void 0===r?void 0:r.originX)&&void 0!==o?o:0)+(null!==(s=null===(i=e.boundingBox)||void 0===i?void 0:i.width)&&void 0!==s?s:0),yMin:null!==(c=null===(u=e.boundingBox)||void 0===u?void 0:u.originY)&&void 0!==c?c:0,yMax:(null!==(h=null===(d=e.boundingBox)||void 0===d?void 0:d.originY)&&void 0!==h?h:0)+(null!==(p=null===(f=e.boundingBox)||void 0===f?void 0:f.height)&&void 0!==p?p:0),width:null!==(v=null===(g=e.boundingBox)||void 0===g?void 0:g.width)&&void 0!==v?v:0,height:null!==(y=null===(b=e.boundingBox)||void 0===b?void 0:b.height)&&void 0!==y?y:0}}})),null===(o=h.current)||void 0===o||o.call(h,c),n&&Qp(n,c,!0,!0)),[3,6];case 5:return d=f.sent(),console.error("caught face detection error",d),[3,6];case 6:return i?e=setTimeout((function(){C.current=requestAnimationFrame(r)}),i):C.current=requestAnimationFrame(r),[2]}}))}))}()]):[2];case 1:return l.sent(),[2]}}))})),function(){C.current&&cancelAnimationFrame(C.current),e&&clearTimeout(e)}}}),[c,p,w,i,l,s]);var A=t.useCallback((function(){x(!0)}),[]),D=t.useCallback((function(){x(!1)}),[]);t.useEffect((function(){return r&&A(),function(){D()}}),[r,A,D]);var R=t.useCallback((function(e){h.current=e}),[]),_=t.useMemo((function(){return{start:A,stop:D,ready:p,canvasRef:d,onPredictionMade:R,error:T}}),[T,R,p,A,D]);return u.createElement(tg.Provider,{value:_},o)},rg=function(e,n,r,o){var i=t.useState(!1),a=i[0],s=i[1],l=t.useState(),u=l[0],c=l[1];return t.useEffect((function(){if(e){c(new Date);var t=setTimeout((function(){s(!0)}),e);return function(){t&&clearTimeout(t)}}}),[e]),t.useEffect((function(){if(a&&!r){if(o){var e=setTimeout((function(){null==n||n()}),12e4);return function(){clearTimeout(e)}}null==n||n()}}),[n,o,a,r]),{timedOut:a,timeoutStartedAt:u}},og=function(e){var n=e.onFinished,r=e.onCapture,o=e.colors,i=void 0===o?{}:o,a=e.verbiage,s=void 0===a?{}:a,u=t.useState(null),c=u[0],d=u[1],h=t.useRef(null),f=t.useState(!1),p=f[0],g=f[1],m=Ei(s,{headingText:"We're having some trouble.",descriptionText:"On-device capture guidance failed, please capture a selfie manually.",captureBtnText:"Capture",doneBtnText:"Done",doneBtnLoadingText:"Verifying..."});return l.default.createElement(ut,null,l.default.createElement(ct,{style:{justifyContent:"center"}},l.default.createElement("h3",{style:{marginBottom:8}},m.headingText),l.default.createElement("p",{style:{marginBottom:8}},m.descriptionText),c&&l.default.createElement(dt,{style:{marginTop:32}},l.default.createElement("img",{src:c,alt:""})),l.default.createElement("input",{ref:h,type:"file",accept:"image/*",hidden:!0,onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(n){var o=new FileReader;o.addEventListener("load",(function(e){var t,n=null===(t=e.target)||void 0===t?void 0:t.result;d(n),null==r||r(n)})),o.readAsDataURL(n)}}}),l.default.createElement("div",{style:{marginTop:32}},!c&&l.default.createElement(St,{colors:i.captureBtn,finished:!0,onClick:function(){var e;null===(e=h.current)||void 0===e||e.click()}},m.captureBtnText),c&&l.default.createElement(St,{key:p?"loading-btn":"ready-btn",colors:i.doneBtn,finished:!p,onClick:function(){g(!0),null==n||n(c)}},p?m.doneBtnLoadingText:m.doneBtnText))))},ig={videoWidth:0,videoHeight:0,capturing:!1,captured:!1,captureFailed:!1,frame:null,faces:[],faceNotCentered:!1,faceLookingAway:!1,faceTooClose:!1,faceTooFar:!1,faceReady:!1,faceReadyAt:null,goodFramesCount:0,goodFramesThreshold:1,goodFramesThresholdMet:!1},ag=function(e,t){switch(t.type){case"configure":return m(m({},e),{videoWidth:t.payload.videoWidth,videoHeight:t.payload.videoHeight});case"capturing":return m(m({},e),{capturing:!0,captured:!1,captureFailed:!1});case"captured":return m(m({},e),{capturing:!1,captured:!0,captureFailed:!1});case"captureFailed":return m(m({},e),{capturing:!1,captured:!1,captureFailed:!0});case"facesDetected":var n=t.payload.faces,r=n[0],o=!0,i=!1,a=!1,s=!1,l=e.faceReadyAt,u=e.goodFramesCount;if(r){var c=e.videoHeight/2,d=(r.box.xMin+r.box.xMax)/2,h=(r.box.yMin+r.box.yMax)/2,f=.125*e.videoWidth,p=.125*e.videoHeight,g=.2*r.box.width,v=.2*r.box.height,b=r.keypoints[2];b&&(o=Math.abs(e.videoWidth/2-d)>f||Math.abs(c+50-h)>p,i=Math.abs(d-b.x)>g||Math.abs(h-b.y)>v);var y=e.videoWidth<e.videoHeight;a=r.box.width>e.videoWidth/(y?2:4.5),s=r.box.width<e.videoWidth/(y?6:7)}var w=!(o||i||a||s);return w?e.faceReady||(l=new Date):(l=null,u=0),m(m({},e),{faces:n,faceNotCentered:o,faceLookingAway:i,faceTooClose:a,faceTooFar:s,faceReady:w,faceReadyAt:l,goodFramesCount:u})}},sg=function(e){var n,r=e.onGuidanceSatisfied,o=e.onGuidanceNotSatisfied,i=e.onSelfieCaptured,a=e.onTimeout,s=e.onExit,u=e.timeoutDurationMs,c=void 0===u?15e3:u,d=e.guidanceMessage,h=e.guidanceSatisfied,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,m=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=Bt(),E=x.ref,C=x.width,S=void 0===C?1:C,k=x.height,T=void 0===k?1:k,I=t.useReducer(ag,ig),A=I[0],D=I[1],R=t.useRef(null),_=t.useContext(tn),F=_.cameraRef,M=_.cameraReady,L=_.videoRef,P=t.useContext(tg),B=P.onPredictionMade,O=P.error;t.useEffect((function(){M&&L.current&&0!==L.current.videoWidth&&D({type:"configure",payload:{videoWidth:L.current.videoWidth,videoHeight:L.current.videoHeight}})}),[M,L]),t.useEffect((function(){B((function(e){D({type:"facesDetected",payload:{faces:e}})}))}),[B]);var N=t.useState(!1),U=N[0],j=N[1];t.useEffect((function(){var e;return A.faceReady?(null==r||r(),e=setTimeout((function(){j(!0)}),1e3)):null==o||o(),function(){e&&clearTimeout(e)}}),[o,r,A.faceReady]),t.useEffect((function(){v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){if(U&&L.current&&R.current&&A.faces.length>0){if(Oo(R.current,L.current),!(e=R.current.getContext("2d")))return[2];t=e.getImageData(0,0,L.current.videoWidth,L.current.videoHeight),null==i||i(t,A.faces[0]),No(R.current)}return[2]}))}))}),[U,i,A.faces,L]);var G=rg(c,a),$=G.timedOut,z=G.timeoutStartedAt,q=ni({enabled:w,pageWidth:S,pageHeight:T,videoWidth:A.videoWidth,videoHeight:A.videoHeight});p.guidesUnsatisfiedColor||(p.guidesUnsatisfiedColor="white"),p.guidesSatisfiedColor||(p.guidesSatisfiedColor="green"),p.guidanceMessagesUnsatisfiedBackgroundColor||(p.guidanceMessagesUnsatisfiedBackgroundColor="red"),p.guidanceMessagesSatisfiedBackgroundColor||(p.guidanceMessagesSatisfiedBackgroundColor="green"),p.guidanceMessagesUnsatisfiedTextColor||(p.guidanceMessagesUnsatisfiedTextColor="white"),p.guidanceMessagesSatisfiedTextColor||(p.guidanceMessagesSatisfiedTextColor="white");var V=Ei(m,{guidanceHoldStillText:"Hold still for a few seconds...",guidanceLookStraightText:"Look straight into the camera...",guidanceMoveBackText:"Move back...",guidanceMoveForwardText:"Move forward...",guidanceMoveToCenterText:"Move to the center..."}),W=A.faceReady;return"boolean"==typeof h&&(W=h),d||(d=W?V.guidanceHoldStillText:A.faceLookingAway?V.guidanceLookStraightText:A.faceTooClose?V.guidanceMoveBackText:A.faceTooFar?V.guidanceMoveForwardText:A.faceNotCentered?V.guidanceMoveToCenterText:""),O?l.default.createElement(og,null):l.default.createElement(ot,{ref:E,className:"flex"},l.default.createElement(Bo,{ref:R}),l.default.createElement(Bi,null),l.default.createElement(qi,{borderColor:W?p.guidesSatisfiedColor:p.guidesUnsatisfiedColor}),""!==d&&l.default.createElement(Ti,null,l.default.createElement(Ii,{$background:W?p.guidanceMessagesSatisfiedBackgroundColor:p.guidanceMessagesUnsatisfiedBackgroundColor,$textColor:W?p.guidanceMessagesSatisfiedTextColor:p.guidanceMessagesUnsatisfiedTextColor},d)),w&&A.faces.length>0&&l.default.createElement(Qo,{$flipX:!(null===(n=F.current)||void 0===n?void 0:n.isRearFacing)},A.faces.map((function(e,t){var n;return l.default.createElement(oi,{key:t,face:e,scaling:q,flipX:!(null===(n=F.current)||void 0===n?void 0:n.isRearFacing),color:W?"green":"red"})}))),w&&l.default.createElement(Zo,null,F.current?l.default.createElement(l.default.Fragment,null,"✅ Camera: ",F.current.label," (",F.current.width,"x",F.current.height,")"):"❌ Camera not ready",l.default.createElement("br",null),A.faceNotCentered?"❌":"✅"," Face Centered",l.default.createElement("br",null),A.faceTooClose||A.faceTooFar?"❌":"✅"," Face"," ",A.faceTooClose?"Too Close":A.faceTooFar?"Too Far":"Distance Correct",l.default.createElement("br",null),A.faceLookingAway?"❌":"✅"," Face Looking Forward",l.default.createElement("br",null),A.goodFramesThresholdMet?"✅":"❌"," ",A.goodFramesCount," ","Good Frames",l.default.createElement("br",null),$?"❌":"✅"," Time Remaining:"," ",Math.max(0,c-((new Date).getTime()-(null!=z?z:new Date).getTime())),"ms"),l.default.createElement(di,{onClick:s},"×"))},lg={frame:null,face:null,requestState:"CAPTURING",requestError:null,imageUrl:null,faceLive:!1,eyeCoveringDetected:!1,maskDetected:!1,headCoveringDetected:!1,phoneDetected:!1,timesLivenessCheckFailed:0},ug=function(e,t){var n,r;switch(t.type){case"livenessReady":return["CAPTURING","FAILED","ERROR"].includes(e.requestState)?m(m({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"livenessChecking":return m(m({},e),{requestState:"IN_PROGRESS"});case"livenessChecked":var o=t.payload.response,i=o.status,a=i.statusMessage,s=i.errorData,l=o.resultData;if("000"!==i.statusCode)return m(m({},e),{requestState:"ERROR",requestError:new Error("".concat(a,": ").concat(s))});var u="Live Face Detected"===l.verificationResult,c="true"===l.eyeCovering,d="true"===l.faceMask,h="true"===l.headCovering,f="true"===l.cellPhone,p=u&&!c&&!d&&!h,g=p?"PASSED":"FAILED",v=e.timesLivenessCheckFailed;return p?v=0:v+=1,m(m({},e),{frame:null!==(n=t.payload.frame)&&void 0!==n?n:null,face:null!==(r=t.payload.face)&&void 0!==r?r:null,imageUrl:t.payload.imageUrl,requestState:g,faceLive:u,eyeCoveringDetected:c,maskDetected:d,headCoveringDetected:h,phoneDetected:f,timesLivenessCheckFailed:v});case"livenessCheckFailed":return m(m({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},cg=function(e){var n=e.onCapture,r=e.onSuccess,o=e.onTimeout,i=e.onExit,a=e.timeoutDurationMs,s=void 0===a?15e3:a,u=e.colors,c=void 0===u?{}:u,d=e.verbiage,h=void 0===d?{}:d,f=e.debugMode,p=t.useContext(Ye),g=p.checkLiveness,m=p.submissionError,y=t.useContext(tg).error,w=t.useReducer(ug,lg),x=w[0],E=w[1],C=t.useState(null),S=C[0],k=C[1],T=t.useRef(null),I=t.useRef(null),A=t.useCallback((function(e,t){null==n||n(),E({type:"livenessReady",payload:{frame:e,face:t}})}),[n]),D=x.frame,R=x.face,_="CAPTURED"===x.requestState,F="PASSED"===x.requestState;t.useEffect((function(){D&&R&&_&&!m&&(E({type:"livenessChecking"}),v(void 0,void 0,void 0,(function(){var e,t,n,r;return b(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),e=Uo(T.current,I.current,D,R),k(e),n=g,[4,Qe(e)];case 1:return[4,n.apply(void 0,[o.sent()])];case 2:return t=o.sent(),E({type:"livenessChecked",payload:{frame:D,face:R,imageUrl:e,response:t}}),[3,4];case 3:return r=o.sent(),E({type:"livenessCheckFailed",payload:{error:r}}),[3,4];case 4:return[2]}}))})))}),[g,R,D,_,m]);var M=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t,n,r;return b(this,(function(o){switch(o.label){case 0:E({type:"livenessChecking"}),o.label=1;case 1:return o.trys.push([1,4,,5]),n=g,[4,Qe(e)];case 2:return[4,n.apply(void 0,[o.sent()])];case 3:return t=o.sent(),E({type:"livenessChecked",payload:{imageUrl:e,response:t}}),[3,5];case 4:return r=o.sent(),E({type:"livenessCheckFailed",payload:{error:r}}),[3,5];case 5:return[2]}}))}))}),[g]);t.useEffect((function(){F&&x.imageUrl&&(null==r||r(x.imageUrl))}),[r,x.imageUrl,F]),t.useEffect((function(){x.timesLivenessCheckFailed>=(y?1:2)&&(null==o||o())}),[y,o,x.timesLivenessCheckFailed]),rg(s,o,"PASSED"===x.requestState||!!y,"IN_PROGRESS"===x.requestState);var L=Ei(h,{guidanceRemoveEyeCoveringsText:"Please remove your eye coverings (sunglasses, eye patch, etc.)...",guidanceRemoveHeadCoveringsText:"Please remove your head coverings (hat, scarf, etc.)...",guidanceRemoveMaskText:"Please remove your mask..."}),P=x.eyeCoveringDetected?L.guidanceRemoveEyeCoveringsText:x.headCoveringDetected?L.guidanceRemoveHeadCoveringsText:x.maskDetected?L.guidanceRemoveMaskText:void 0;return y?l.default.createElement(og,{onFinished:M}):l.default.createElement(l.default.Fragment,null,l.default.createElement(Bo,{ref:T}),l.default.createElement(Bo,{ref:I}),l.default.createElement(sg,{onSelfieCaptured:A,onExit:i,timeoutDurationMs:s,guidanceMessage:P,guidanceSatisfied:!P&&void 0,colors:c,verbiage:L,debugMode:f}),S&&l.default.createElement(pi,{imageUrl:S}))},dg=function(e){var n=e.onDismissed,r=e.assets,o=void 0===r?{}:r,i=e.colors,a=void 0===i?{}:i,s=e.verbiage,u=void 0===s?{}:s,c=t.useContext(tn),d=c.cameraReady,h=c.cameraAccessDenied,f=t.useContext(tg).ready;o.instructionImageUrl||(o.instructionImageUrl="".concat(Mo,"/Selfie-Image-1.png"));var p=Ei(u,{headingText:"Use your device camera to capture your face",removeEyeCoveringsText:"Remove Sunglasses & Hat",avoidExcessiveBacklightingText:"Avoid Excessive Backlighting",continueText:"Continue",cameraInitializingText:"Camera initializing...",modelsWarmingUpText:"Models warming up..."}),g=t.useState(!1),m=g[1];return g[0]?l.default.createElement(l.default.Fragment,null):h?l.default.createElement(Fi,{assets:o.cameraAccessDenied,colors:a.cameraAccessDenied,verbiage:u.cameraAccessDenied}):l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("div",{style:{flexGrow:0}},l.default.createElement("h3",{style:{marginBottom:18}},p.headingText),l.default.createElement("div",{style:{background:"#ccc",maxWidth:"280px",margin:"0 auto 12px",borderRadius:8,lineHeight:1.5,padding:"12px 24px"}},p.removeEyeCoveringsText,l.default.createElement("br",null),p.avoidExcessiveBacklightingText)),l.default.createElement(dt,null,l.default.createElement("img",{alt:p.headingText,src:o.instructionImageUrl,style:{position:"relative",top:"5%"}})),l.default.createElement(St,{disabled:!d||!f,finished:d&&f,colors:a.continueBtn,onClick:function(){m(!0),null==n||n()}},d&&f?p.continueText:f?p.cameraInitializingText:p.modelsWarmingUpText),l.default.createElement("div",{style:{display:"none"}},l.default.createElement(Bi,null))))},hg=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=Ei(c,{headingText:"Face liveness has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},d.headingText),l.default.createElement(dt,null,l.default.createElement("img",{alt:d.headingText,src:r})),l.default.createElement("div",null,l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},fg=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,u=e.onExitClick,c=e.assets,d=void 0===c?{}:c,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Mo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=Ei(g,{headingText:"Live face not detected, please try again",retryBtnText:"Retry",exitBtnText:"Exit"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},m.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),l.default.createElement("div",{style:{marginTop:24}},a&&l.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),l.default.createElement(St,{onClick:u,colors:f.exitBtn,finished:!0},m.exitBtnText))))},pg=function(e){var n=e.onComplete,r=e.onSuccess,o=e.onTimeout,i=e.onExitAfterFailure,a=e.timeoutDurationMs,s=void 0===a?15e3:a,u=e.maxRetries,c=void 0===u?2:u,d=e.skipSuccessScreen,h=void 0!==d&&d,f=e.assets,p=void 0===f?{}:f,g=e.colors,m=void 0===g?{}:g,y=e.verbiage,w=void 0===y?{}:y,x=e.debugMode,E=void 0!==x&&x,C=t.useContext(Ye),S=C.submissionResponse,k=C.setSelfieImage,T=C.logSelfieCaptureAttempt,I=t.useContext(tn).releaseCameraAccess,A=t.useState(""),D=A[0],R=A[1],_=t.useState(0),F=_[0],M=_[1],L=t.useState("LOADING"),P=L[0],B=L[1],O=t.useRef(),N=t.useRef(),U=t.useRef();t.useEffect((function(){U.current=new Date}),[]),t.useEffect((function(){"CAPTURING"===P&&(O.current=new Date)}),[P]);var j=t.useCallback((function(){N.current=new Date}),[]),G=t.useCallback((function(){var e,t,n;T({autoCapture:"Y",captureTime:(null!==(e=N.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=O.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=U.current)&&void 0!==n?n:new Date).getTime()}),U.current=new Date}),[T]),$=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return B("SUCCESS"),R(e),t=k,[4,Qe(e)];case 1:return t.apply(void 0,[n.sent()]),null==r||r(S),[2]}}))}))}),[r,k,S]),z=t.useCallback((function(){B("FAILED"),null==o||o(S)}),[o,S]),q=t.useState(0),V=q[0],W=q[1],H=t.useCallback((function(){W((function(e){return e+1})),B("LOADING")}),[]),K=t.useCallback((function(){G(),I(),setTimeout((function(){null==n||n(S)}),0)}),[G,n,I,S]),Y=Ni(h,"SUCCESS"===P,K);return l.default.createElement(l.default.Fragment,null,"LOADING"!==P&&function(){switch(P){case"CAPTURING":return l.default.createElement(cg,{key:"capture".concat(V),onCapture:j,onSuccess:$,onTimeout:z,onExit:H,timeoutDurationMs:s,colors:m,verbiage:w,debugMode:E});case"SUCCESS":return Y?l.default.createElement(hg,{key:"success",imageUrl:D,colors:m.success,verbiage:w.success,onDoneClick:K,onRetryClick:function(){G(),B("CAPTURING")}}):null;case"FAILED":return l.default.createElement(fg,{key:"failure",assets:p.failure,colors:m.failure,verbiage:w.failure,canRetry:c>-1&&F<c,onRetryClick:function(){G(),M((function(e){return e+1})),B("CAPTURING")},onExitClick:function(){I(),setTimeout((function(){null==i||i(S)}),0)}});default:return null}}(),l.default.createElement(dg,{key:V,assets:p.loadingOverlay,colors:m.loadingOverlay,verbiage:w.loadingOverlay,onDismissed:function(){B("CAPTURING")}}))},gg=function(e){var n=e.children,r=t.useState({width:1,height:1}),o=r[1],i=t.useState(1),a=i[0],s=i[1],u=Bt(),c=u.ref,d=u.width,h=void 0===d?1:d,f=u.height,p=void 0===f?1:f,g=h/p,m=t.useCallback((function(e){var t=e.target;s(t.naturalWidth/t.naturalHeight)}),[]);return l.default.createElement(Ot.Provider,{value:{orientation:"landscape",wrapperWidth:h,wrapperHeight:p,wrapperAspectRatio:g,imageAspectRatio:a,setDimensions:o,wrapperRef:c,onImageLoaded:m}},n)},mg=function(){var e=t.useContext(Ye),n=e.submissionRequest,r=e.submissionResponse,o=t.useState(!1),i=o[0],a=o[1],s=t.useState(!0),u=s[0],c=s[1],d=t.useMemo((function(){var e,t,r,o,i,a,s=JSON.parse(JSON.stringify(n));return u&&((null===(t=null===(e=null==s?void 0:s.customerData)||void 0===e?void 0:e.idData)||void 0===t?void 0:t.idImageFront)&&(s.customerData.idData.idImageFront=vg(s.customerData.idData.idImageFront,200)),(null===(o=null===(r=null==s?void 0:s.customerData)||void 0===r?void 0:r.idData)||void 0===o?void 0:o.idImageBack)&&(s.customerData.idData.idImageBack=vg(s.customerData.idData.idImageBack,200)),(null===(a=null===(i=null==s?void 0:s.customerData)||void 0===i?void 0:i.biometricData)||void 0===a?void 0:a.selfie)&&(s.customerData.biometricData.selfie=vg(s.customerData.biometricData.selfie,200))),JSON.stringify(s,null,2)}),[n,u]);return l.default.createElement(l.default.Fragment,null,l.default.createElement("h3",null,"Submission completed!"),l.default.createElement("button",{onClick:function(){a(!i)}},i?"Hide":"Show"," request body"),i&&l.default.createElement(l.default.Fragment,null,l.default.createElement("button",{style:{marginLeft:8},onClick:function(){c(!u)}},u?"Display full images":"Truncate images"),l.default.createElement("h5",null,"Request Body"),l.default.createElement("pre",null,d)),l.default.createElement("h5",null,"Response Body"),l.default.createElement("pre",null,JSON.stringify(r,null,2)))};function vg(e,t){var n=e.split("").splice(0,t).join("");return n.length<e.length&&(n+="..."),n}var bg=function(e){var n=e.document,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=t.useState(null),s=a[0],u=a[1],c=Ei(i,{headingText:"Additional document capture",nextBtnText:"Next"});return l.default.createElement(ut,null,l.default.createElement(ct,{style:{textAlign:"left"}},l.default.createElement("h3",{style:{margin:"0 0 8px"}},c.headingText,": ",n.name),n.description&&l.default.createElement("p",{style:{margin:"8px 0"}},n.description),l.default.createElement("p",{style:{margin:"8px 0"}},l.default.createElement("input",{type:"file",accept:"image/*,.pdf",onChange:function(e){var t,n=null===(t=e.target.files)||void 0===t?void 0:t[0];n&&u(n)}})),l.default.createElement("p",{style:{margin:"8px 0"}},l.default.createElement("button",{disabled:!s,onClick:function(e){if(e.preventDefault(),s){var t=new FileReader;t.onloadend=function(){if(t.result){var e=t.result.toString();null==r||r({documentName:n.name,additionalDocument:{name:s.name,fileContent:et(e),type:tt(e),fileUploadType:"Y",isImageControlData:"N",fieldId:""}})}},t.readAsDataURL(s)}}},c.nextBtnText))))},yg=function(e){var n=e.documents,r=e.onComplete,o=e.verbiage,i=void 0===o?{}:o,a=t.useState([]),s=a[0],u=a[1],c=s.length,d=n[c],h=c>=n.length;return t.useEffect((function(){(null==d?void 0:d.skip)&&v(void 0,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,null===(e=d.skip)||void 0===e?void 0:e.call(d)];case 1:return t.sent()&&u((function(e){return y(y([],e,!0),[null],!1)})),[2]}}))}))}),[d]),t.useEffect((function(){h&&(null==r||r(s.filter((function(e){return!!e}))))}),[h,r,s]),h?l.default.createElement(l.default.Fragment,null,"Thanks, your documents have been received."):l.default.createElement(bg,{key:c,document:d,verbiage:i,onComplete:function(e){u((function(t){return y(y([],t,!0),[e],!1)}))}})},wg="function"==typeof Symbol&&Symbol.for,xg=wg?Symbol.for("react.element"):60103,Eg=wg?Symbol.for("react.portal"):60106,Cg=wg?Symbol.for("react.fragment"):60107,Sg=wg?Symbol.for("react.strict_mode"):60108,kg=wg?Symbol.for("react.profiler"):60114,Tg=wg?Symbol.for("react.provider"):60109,Ig=wg?Symbol.for("react.context"):60110,Ag=wg?Symbol.for("react.async_mode"):60111,Dg=wg?Symbol.for("react.concurrent_mode"):60111,Rg=wg?Symbol.for("react.forward_ref"):60112,_g=wg?Symbol.for("react.suspense"):60113,Fg=wg?Symbol.for("react.suspense_list"):60120,Mg=wg?Symbol.for("react.memo"):60115,Lg=wg?Symbol.for("react.lazy"):60116,Pg=wg?Symbol.for("react.block"):60121,Bg=wg?Symbol.for("react.fundamental"):60117,Og=wg?Symbol.for("react.responder"):60118,Ng=wg?Symbol.for("react.scope"):60119;function Ug(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case xg:switch(e=e.type){case Ag:case Dg:case Cg:case kg:case Sg:case _g:return e;default:switch(e=e&&e.$$typeof){case Ig:case Rg:case Lg:case Mg:case Tg:return e;default:return t}}case Eg:return t}}}function jg(e){return Ug(e)===Dg}var Gg={AsyncMode:Ag,ConcurrentMode:Dg,ContextConsumer:Ig,ContextProvider:Tg,Element:xg,ForwardRef:Rg,Fragment:Cg,Lazy:Lg,Memo:Mg,Portal:Eg,Profiler:kg,StrictMode:Sg,Suspense:_g,isAsyncMode:function(e){return jg(e)||Ug(e)===Ag},isConcurrentMode:jg,isContextConsumer:function(e){return Ug(e)===Ig},isContextProvider:function(e){return Ug(e)===Tg},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===xg},isForwardRef:function(e){return Ug(e)===Rg},isFragment:function(e){return Ug(e)===Cg},isLazy:function(e){return Ug(e)===Lg},isMemo:function(e){return Ug(e)===Mg},isPortal:function(e){return Ug(e)===Eg},isProfiler:function(e){return Ug(e)===kg},isStrictMode:function(e){return Ug(e)===Sg},isSuspense:function(e){return Ug(e)===_g},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Cg||e===Dg||e===kg||e===Sg||e===_g||e===Fg||"object"==typeof e&&null!==e&&(e.$$typeof===Lg||e.$$typeof===Mg||e.$$typeof===Tg||e.$$typeof===Ig||e.$$typeof===Rg||e.$$typeof===Bg||e.$$typeof===Og||e.$$typeof===Ng||e.$$typeof===Pg)},typeOf:Ug};ae((function(e,t){}));ae((function(e){e.exports=Gg}));function $g(){}function zg(){}zg.resetWarningCache=$g;var qg=ae((function(e){e.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:zg,resetWarningCache:$g};return n.PropTypes=n,n}()}));function Vg(e,t,n){this.x=e,this.y=t,this.time=n||(new Date).getTime()}function Wg(e,t,n,r){this.startPoint=e,this.control1=t,this.control2=n,this.endPoint=r}function Hg(e,t){var n=this,r=t||{};this.velocityFilterWeight=r.velocityFilterWeight||.7,this.minWidth=r.minWidth||.5,this.maxWidth=r.maxWidth||2.5,this.throttle="throttle"in r?r.throttle:16,this.minDistance="minDistance"in r?r.minDistance:5,this._strokeMoveUpdate=this.throttle?function(e,t,n){var r,o,i,a=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Date.now(),a=null,i=e.apply(r,o),a||(r=o=null)};return function(){var u=Date.now();s||!1!==n.leading||(s=u);var c=t-(u-s);return r=this,o=arguments,c<=0||c>t?(a&&(clearTimeout(a),a=null),s=u,i=e.apply(r,o),a||(r=o=null)):a||!1===n.trailing||(a=setTimeout(l,c)),i}}(Hg.prototype._strokeUpdate,this.throttle):Hg.prototype._strokeUpdate,this.dotSize=r.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=r.penColor||"black",this.backgroundColor=r.backgroundColor||"rgba(0,0,0,0)",this.onBegin=r.onBegin,this.onEnd=r.onEnd,this._canvas=e,this._ctx=e.getContext("2d"),this.clear(),this._handleMouseDown=function(e){1===e.which&&(n._mouseButtonDown=!0,n._strokeBegin(e))},this._handleMouseMove=function(e){n._mouseButtonDown&&n._strokeMoveUpdate(e)},this._handleMouseUp=function(e){1===e.which&&n._mouseButtonDown&&(n._mouseButtonDown=!1,n._strokeEnd(e))},this._handleTouchStart=function(e){1===e.targetTouches.length&&n._strokeBegin(e.changedTouches[0])},this._handleTouchMove=function(e){e.preventDefault(),n._strokeMoveUpdate(e.targetTouches[0])},this._handleTouchEnd=function(e){e.target===n._canvas&&(e.preventDefault(),n._strokeEnd(e))},this.on()}Vg.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1},Vg.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Vg.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time},Wg.prototype.length=function(){for(var e=0,t=void 0,n=void 0,r=0;r<=10;r+=1){var o=r/10,i=this._point(o,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),a=this._point(o,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(r>0){var s=i-t,l=a-n;e+=Math.sqrt(s*s+l*l)}t=i,n=a}return e},Wg.prototype._point=function(e,t,n,r,o){return t*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*r*(1-e)*e*e+o*e*e*e},Hg.prototype.clear=function(){var e=this._ctx,t=this._canvas;e.fillStyle=this.backgroundColor,e.clearRect(0,0,t.width,t.height),e.fillRect(0,0,t.width,t.height),this._data=[],this._reset(),this._isEmpty=!0},Hg.prototype.fromDataURL=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new Image,o=n.ratio||window.devicePixelRatio||1,i=n.width||this._canvas.width/o,a=n.height||this._canvas.height/o;this._reset(),r.src=e,r.onload=function(){t._ctx.drawImage(r,0,0,i,a)},this._isEmpty=!1},Hg.prototype.toDataURL=function(e){var t;if("image/svg+xml"===e)return this._toSVG();for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(t=this._canvas).toDataURL.apply(t,[e].concat(r))},Hg.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},Hg.prototype.off=function(){this._canvas.removeEventListener("mousedown",this._handleMouseDown),this._canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this._canvas.removeEventListener("touchstart",this._handleTouchStart),this._canvas.removeEventListener("touchmove",this._handleTouchMove),this._canvas.removeEventListener("touchend",this._handleTouchEnd)},Hg.prototype.isEmpty=function(){return this._isEmpty},Hg.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),"function"==typeof this.onBegin&&this.onBegin(e)},Hg.prototype._strokeUpdate=function(e){var t=this._createPoint(e.clientX,e.clientY),n=this._data[this._data.length-1],r=n&&n[n.length-1],o=r&&t.distanceTo(r)<this.minDistance;if(!r||!o){var i=this._addPoint(t),a=i.curve,s=i.widths;a&&s&&this._drawCurve(a,s.start,s.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}},Hg.prototype._strokeEnd=function(e){var t=this.points[0];if(!(this.points.length>2)&&t&&this._drawDot(t),t){var n=this._data[this._data.length-1];t.equals(n[n.length-1])||n.push({x:t.x,y:t.y,time:t.time,color:this.penColor})}"function"==typeof this.onEnd&&this.onEnd(e)},Hg.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)},Hg.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction="none",this._canvas.style.touchAction="none",this._canvas.addEventListener("touchstart",this._handleTouchStart),this._canvas.addEventListener("touchmove",this._handleTouchMove),this._canvas.addEventListener("touchend",this._handleTouchEnd)},Hg.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor},Hg.prototype._createPoint=function(e,t,n){var r=this._canvas.getBoundingClientRect();return new Vg(e-r.left,t-r.top,n||(new Date).getTime())},Hg.prototype._addPoint=function(e){var t=this.points,n=void 0;if(t.push(e),t.length>2){3===t.length&&t.unshift(t[0]);var r=(n=this._calculateCurveControlPoints(t[0],t[1],t[2])).c2;n=this._calculateCurveControlPoints(t[1],t[2],t[3]);var o=new Wg(t[1],r,n.c1,t[2]),i=this._calculateCurveWidths(o);return t.shift(),{curve:o,widths:i}}return{}},Hg.prototype._calculateCurveControlPoints=function(e,t,n){var r=e.x-t.x,o=e.y-t.y,i=t.x-n.x,a=t.y-n.y,s=(e.x+t.x)/2,l=(e.y+t.y)/2,u=(t.x+n.x)/2,c=(t.y+n.y)/2,d=Math.sqrt(r*r+o*o),h=Math.sqrt(i*i+a*a),f=h/(d+h),p=t.x-(u+(s-u)*f),g=t.y-(c+(l-c)*f);return{c1:new Vg(s+p,l+g),c2:new Vg(u+p,c+g)}},Hg.prototype._calculateCurveWidths=function(e){var t={start:null,end:null},n=this.velocityFilterWeight*e.endPoint.velocityFrom(e.startPoint)+(1-this.velocityFilterWeight)*this._lastVelocity,r=this._strokeWidth(n);return t.start=this._lastWidth,t.end=r,this._lastVelocity=n,this._lastWidth=r,t},Hg.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)},Hg.prototype._drawPoint=function(e,t,n){var r=this._ctx;r.moveTo(e,t),r.arc(e,t,n,0,2*Math.PI,!1),this._isEmpty=!1},Hg.prototype._drawCurve=function(e,t,n){var r=this._ctx,o=n-t,i=Math.floor(e.length());r.beginPath();for(var a=0;a<i;a+=1){var s=a/i,l=s*s,u=l*s,c=1-s,d=c*c,h=d*c,f=h*e.startPoint.x;f+=3*d*s*e.control1.x,f+=3*c*l*e.control2.x;var p=h*e.startPoint.y;p+=3*d*s*e.control1.y,p+=3*c*l*e.control2.y,this._drawPoint(f+=u*e.endPoint.x,p+=u*e.endPoint.y,t+u*o)}r.closePath(),r.fill()},Hg.prototype._drawDot=function(e){var t=this._ctx,n="function"==typeof this.dotSize?this.dotSize():this.dotSize;t.beginPath(),this._drawPoint(e.x,e.y,n),t.closePath(),t.fill()},Hg.prototype._fromData=function(e,t,n){for(var r=0;r<e.length;r+=1){var o=e[r];if(o.length>1)for(var i=0;i<o.length;i+=1){var a=o[i],s=new Vg(a.x,a.y,a.time),l=a.color;if(0===i)this.penColor=l,this._reset(),this._addPoint(s);else if(i!==o.length-1){var u=this._addPoint(s),c=u.curve,d=u.widths;c&&d&&t(c,d,l)}}else this._reset(),n(o[0])}},Hg.prototype._toSVG=function(){var e=this,t=this._data,n=this._canvas,r=Math.max(window.devicePixelRatio||1,1),o=n.width/r,i=n.height/r,a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributeNS(null,"width",n.width),a.setAttributeNS(null,"height",n.height),this._fromData(t,(function(e,t,n){var r=document.createElement("path");if(!(isNaN(e.control1.x)||isNaN(e.control1.y)||isNaN(e.control2.x)||isNaN(e.control2.y))){var o="M "+e.startPoint.x.toFixed(3)+","+e.startPoint.y.toFixed(3)+" C "+e.control1.x.toFixed(3)+","+e.control1.y.toFixed(3)+" "+e.control2.x.toFixed(3)+","+e.control2.y.toFixed(3)+" "+e.endPoint.x.toFixed(3)+","+e.endPoint.y.toFixed(3);r.setAttribute("d",o),r.setAttribute("stroke-width",(2.25*t.end).toFixed(3)),r.setAttribute("stroke",n),r.setAttribute("fill","none"),r.setAttribute("stroke-linecap","round"),a.appendChild(r)}}),(function(t){var n=document.createElement("circle"),r="function"==typeof e.dotSize?e.dotSize():e.dotSize;n.setAttribute("r",r),n.setAttribute("cx",t.x),n.setAttribute("cy",t.y),n.setAttribute("fill",t.color),a.appendChild(n)}));var s='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+o+" "+i+'" width="'+o+'" height="'+i+'">',l=a.innerHTML;if(void 0===l){var u=document.createElement("dummy"),c=a.childNodes;u.innerHTML="";for(var d=0;d<c.length;d+=1)u.appendChild(c[d].cloneNode(!0));l=u.innerHTML}return"data:image/svg+xml;base64,"+btoa(s+l+"</svg>")},Hg.prototype.fromData=function(e){var t=this;this.clear(),this._fromData(e,(function(e,n){return t._drawCurve(e,n.start,n.end)}),(function(e){return t._drawDot(e)})),this._data=e},Hg.prototype.toData=function(){return this._data};var Kg=Object.freeze({__proto__:null,default:Hg}),Yg=ae((function(e,t){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t){function n(e){var t=e.getContext("2d"),n=e.width,r=e.height,o=t.getImageData(0,0,n,r).data,s=i(!0,n,r,o),l=i(!1,n,r,o),u=a(!0,n,r,o),c=a(!1,n,r,o)-u+1,d=l-s+1,h=t.getImageData(u,s,c,d);return e.width=c,e.height=d,t.clearRect(0,0,c,d),t.putImageData(h,0,0),e}function r(e,t,n,r){return{red:r[4*(n*t+e)],green:r[4*(n*t+e)+1],blue:r[4*(n*t+e)+2],alpha:r[4*(n*t+e)+3]}}function o(e,t,n,o){return r(e,t,n,o).alpha}function i(e,t,n,r){for(var i=e?1:-1,a=e?0:n-1;e?a<n:a>-1;a+=i)for(var s=0;s<t;s++)if(o(s,a,t,r))return a;return null}function a(e,t,n,r){for(var i=e?1:-1,a=e?0:t-1;e?a<t:a>-1;a+=i)for(var s=0;s<n;s++)if(o(a,s,t,r))return a;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}])}));ie(Yg);var Xg=function(e){return e&&e.default||e}(Kg),Jg=ae((function(e,t){e.exports=function(e,t,n,r){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=r(n(1)),d=n(2),h=r(d),f=r(n(3)),p=r(n(4)),g=function(e){function t(){var e,n,r;i(this,t);for(var s=arguments.length,l=Array(s),u=0;u<s;u++)l[u]=arguments[u];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),r._sigPad=null,r._excludeOurProps=function(){var e=r.props;return o(e,["canvasProps","clearOnResize"])},r.getCanvas=function(){return r._canvas},r.getTrimmedCanvas=function(){var e=document.createElement("canvas");return e.width=r._canvas.width,e.height=r._canvas.height,e.getContext("2d").drawImage(r._canvas,0,0),(0,p.default)(e)},r.getSignaturePad=function(){return r._sigPad},r._checkClearOnResize=function(){r.props.clearOnResize&&r._resizeCanvas()},r._resizeCanvas=function(){var e=r.props.canvasProps||{},t=e.width,n=e.height;if(!t||!n){var o=r._canvas,i=Math.max(window.devicePixelRatio||1,1);t||(o.width=o.offsetWidth*i),n||(o.height=o.offsetHeight*i),o.getContext("2d").scale(i,i),r.clear()}},r.on=function(){return window.addEventListener("resize",r._checkClearOnResize),r._sigPad.on()},r.off=function(){return window.removeEventListener("resize",r._checkClearOnResize),r._sigPad.off()},r.clear=function(){return r._sigPad.clear()},r.isEmpty=function(){return r._sigPad.isEmpty()},r.fromDataURL=function(e,t){return r._sigPad.fromDataURL(e,t)},r.toDataURL=function(e,t){return r._sigPad.toDataURL(e,t)},r.fromData=function(e){return r._sigPad.fromData(e)},r.toData=function(){return r._sigPad.toData()},a(r,n)}return s(t,e),u(t,[{key:"componentDidMount",value:function(){this._sigPad=new f.default(this._canvas,this._excludeOurProps()),this._resizeCanvas(),this.on()}},{key:"componentWillUnmount",value:function(){this.off()}},{key:"componentDidUpdate",value:function(){Object.assign(this._sigPad,this._excludeOurProps())}},{key:"render",value:function(){var e=this;return h.default.createElement("canvas",l({ref:function(t){e._canvas=t}},this.props.canvasProps))}}]),t}(d.Component);g.propTypes={velocityFilterWeight:c.default.number,minWidth:c.default.number,maxWidth:c.default.number,minDistance:c.default.number,dotSize:c.default.oneOfType([c.default.number,c.default.func]),penColor:c.default.string,throttle:c.default.number,onEnd:c.default.func,onBegin:c.default.func,canvasProps:c.default.object,clearOnResize:c.default.bool},g.defaultProps={clearOnResize:!0},t.default=g},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=r}])}(qg,l.default,Xg,Yg)})),Zg=ie(Jg);function Qg(e){var t,n=null!==(t=e.toDataURL())&&void 0!==t?t:null,r={clickX_simple:[],clickY_simple:[],time_simple:[],pressure:"",fileContent:n?et(n):""};return e.toData().forEach((function(e){var t=[],n=[],o=[];e.forEach((function(e){t.push(e.x),n.push(e.y),o.push(new Date(e.time).toString())})),r.clickX_simple.push(t),r.clickY_simple.push(n),r.time_simple.push(o)})),r}var em,tm,nm,rm,om,im,am=h.default.div(em||(em=w(["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"],["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"]))),sm=h.default.div(tm||(tm=w(["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"],["\n position: relative;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 16px;\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"]))),lm=h.default.div(nm||(nm=w(["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"],["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"]))),um=h.default.div(rm||(rm=w(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"],["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #e5e5f7;\n opacity: 0.8;\n background-image: radial-gradient(#444cf7 0.5px, transparent 0.5px),\n radial-gradient(#444cf7 0.5px, #e5e5f7 0.5px);\n background-size: 20px 20px;\n background-position: 0 0, 10px 10px;\n"]))),cm=function(e){var n=e.onAccept,r=e.verbiage,o=void 0===r?{}:r,i=Bt(),a=i.ref,s=i.width,u=i.height,c=t.useRef(null),d=Ei(o,{headingText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"});return l.default.createElement(ot,null,l.default.createElement(um,null,l.default.createElement(Ti,{$top:"5vh"},l.default.createElement(Ii,null,d.headingText)),l.default.createElement(am,null,l.default.createElement(sm,{ref:a},l.default.createElement(Zg,{ref:c,canvasProps:{width:s,height:u}})),l.default.createElement(lm,null,l.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=c.current)||void 0===t||t.clear()}},d.clearBtnText),l.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){if(e.preventDefault(),c.current){var t=Qg(c.current);null==n||n(t,c.current.toDataURL())}}},d.acceptBtnText)))))},dm=function(e){var n=t.useRef(null),r=t.useRef([]),o=t.useState(null),i=o[0],a=o[1],s=t.useState(!1),l=s[0],u=s[1],c=null==e?void 0:e.stream,d=t.useCallback((function(){c&&(r.current=[],u(!0),n.current=new MediaRecorder(c),n.current.ondataavailable=function(e){r.current.push(e.data)},n.current.onstop=function(){var t=new Blob(r.current,{type:"video/mp4"});r.current=[],a(URL.createObjectURL(t)),u(!1),null==e||e.release()},n.current.start())}),[e,c]),h=t.useCallback((function(){var e;null===(e=n.current)||void 0===e||e.stop()}),[]);return{isRecording:l,startRecording:d,stopRecording:h,videoUrl:i}},hm=function(e){var n,r,o=e.onVideoCaptured,i=e.onFaceNotDetected,a=e.onExit,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=e.debugMode,f=void 0!==h&&h,p=t.useContext(tn),g=p.cameraRef,m=p.videoRef,w=Bt(),x=w.ref,E=w.width,C=w.height,S=t.useRef(null),k=t.useRef(null),T=t.useRef([]),I=t.useState(null),A=I[0],D=I[1],R=t.useContext(tg).onPredictionMade,_=dm(g.current),F=_.isRecording,M=_.startRecording,L=_.stopRecording,P=_.videoUrl,B=t.useState(null),O=B[0],N=B[1],U=t.useState(null),j=U[0],G=U[1],$=t.useState(null),z=$[0],q=$[1];u.guidanceMessageBackgroundColor||(u.guidanceMessageBackgroundColor="#ccc"),u.guidanceMessageTextColor||(u.guidanceMessageTextColor="black");var V=Ei(d,{guidanceMessageText:"Please sign the box below",acceptBtnText:"Accept",clearBtnText:"Clear"}),W=t.useRef(null);t.useEffect((function(){setTimeout((function(){if(!F&&!P&&W.current){M();var e=W.current.captureStream(25);k.current=new MediaRecorder(e,{}),k.current.start(),k.current.ondataavailable=function(e){var t;T.current.push(e.data),"recording"===(null===(t=k.current)||void 0===t?void 0:t.state)&&k.current.stop()},k.current.onstop=function(){var e=new Blob(T.current,{type:"video/mp4"});q(e);var t=URL.createObjectURL(e);D(t)}}}),100)}),[F,M,P]),t.useEffect((function(){z&&O&&j&&(null==o||o(z,O,j))}),[o,O,j,z]);var H=t.useRef(0);t.useEffect((function(){var e;if(S.current&&m.current&&W.current&&g.current&&F){var t=[g.current.width,g.current.height],n=t[0],r=t[1],o=window.innerWidth<window.innerHeight;o&&n>r&&(n=(e=[r,n])[0],r=e[1]),W.current.width=n,W.current.height=r;var i=W.current.getContext("2d");if(i)return H.current=requestAnimationFrame((function e(){return v(this,void 0,void 0,(function(){var t;return b(this,(function(a){return S.current&&m.current&&W.current?(t=[n*(o?.02:.15),r*(o?.15:.25),n*(o?.96:.7),r*(o?.7:.5)],i.drawImage(m.current,0,0,n,r),i.beginPath(),i.fillStyle="rgba(255,255,255,0.5)",i.roundRect.apply(i,y(y([],t,!1),[16],!1)),i.fill(),i.drawImage.apply(i,y([S.current.getCanvas()],t,!1)),H.current=requestAnimationFrame(e),[2]):(cancelAnimationFrame(H.current),[2])}))}))})),function(){cancelAnimationFrame(H.current)}}}),[g,F,i,m]);var K=t.useState(0),Y=K[0],X=K[1];return t.useEffect((function(){R((function(e){X((function(t){return 0===e.length?t+1:0}))}))}),[R]),t.useEffect((function(){Y>=2&&(null==i||i())}),[Y,i]),!F&&P?l.default.createElement(l.default.Fragment,null,A&&l.default.createElement("video",{src:A,controls:!0,width:"100%"}),j&&l.default.createElement("img",{src:j,alt:"signature"}),O&&l.default.createElement("textarea",{readOnly:!0,style:{width:"100%",height:500},value:JSON.stringify(O,null,2)})):l.default.createElement(ot,{className:"flex"},l.default.createElement(Bi,null),V.guidanceMessageText&&l.default.createElement(Ti,{$top:"5vh"},l.default.createElement(Ii,{$background:u.guidanceMessageBackgroundColor,$textColor:u.guidanceMessageTextColor},V.guidanceMessageText)),l.default.createElement(am,null,l.default.createElement(sm,{ref:x},l.default.createElement(Zg,{ref:S,canvasProps:{width:E,height:C}})),l.default.createElement(lm,null,l.default.createElement("button",{onClick:function(e){var t;e.preventDefault(),null===(t=S.current)||void 0===t||t.clear()}},V.clearBtnText),l.default.createElement("button",{style:{marginLeft:"auto"},onClick:function(e){var t;if(e.preventDefault(),S.current){var n=Qg(S.current);N(n),G(S.current.toDataURL()),L(),null===(t=k.current)||void 0===t||t.stop()}}},V.acceptBtnText))),f&&l.default.createElement(Zo,null,"Video: ",null===(n=g.current)||void 0===n?void 0:n.width,"x",null===(r=g.current)||void 0===r?void 0:r.height),l.default.createElement(di,{onClick:a},"×"),l.default.createElement("div",{style:{display:"none"}},l.default.createElement("canvas",{ref:W})))},fm=function(e){var t=e.assets,n=e.verbiage;return l.default.createElement(dg,{assets:void 0===t?{}:t,verbiage:void 0===n?{}:n,onDismissed:e.onDismissed})},pm=function(e){var t,n,r=e.videoUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=Ei(c,{headingText:"Video signature has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h1",null,d.headingText),l.default.createElement(dt,null,l.default.createElement(gm,{src:r,poster:r+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0})),l.default.createElement("div",null,l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},gm=h.default.video(om||(om=w(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),mm=function(e){var n=e.onComplete,r=e.onVideoCaptured,o=e.onRetryClicked,i=e.skipSuccessScreen,a=void 0!==i&&i,s=e.assets,u=void 0===s?{}:s,c=e.colors,d=void 0===c?{}:c,h=e.verbiage,f=void 0===h?{}:h,p=e.debugMode,g=void 0!==p&&p,m=t.useContext(Ye),y=m.selfieImage,w=m.signatureVideo,x=m.setSelfieImage,E=m.setSignatureData,C=m.setSignatureVideo,S=m.logSelfieCaptureAttempt,k=t.useState("LOADING"),T=k[0],I=k[1],A=t.useRef(),D=t.useRef(),R=t.useRef();t.useEffect((function(){A.current=new Date}),[]),t.useEffect((function(){"CHECKING_LIVENESS"===T&&(D.current=new Date)}),[T]);var _=t.useCallback((function(){var e,t,n;S({autoCapture:"Y",captureTime:(null!==(e=R.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=D.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=A.current)&&void 0!==n?n:new Date).getTime()}),A.current=new Date}),[S]),F=t.useCallback((function(){I("CHECKING_LIVENESS")}),[]),M=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return I("CAPTURING_SIGNATURE"),_(),y?[3,2]:(t=x,[4,Qe(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[_,y,x]),L=t.useCallback((function(e,t,n){E(t),C(URL.createObjectURL(e)),I("SUCCESS"),null==r||r(e,t,n)}),[r,E,C]),P=t.useCallback((function(){I("CHECKING_LIVENESS")}),[]),B=t.useState(0),O=B[0],N=B[1],U=t.useCallback((function(){N((function(e){return e+1})),I("LOADING")}),[]),j=t.useCallback((function(){null==o||o(),U()}),[U,o]),G=Ni(a,"SUCCESS"===T,n);return l.default.createElement(ng,{throttleMs:"CAPTURING_SIGNATURE"===T?250:0},"LOADING"!==T&&function(){switch(T){case"CHECKING_LIVENESS":return l.default.createElement(cg,{onSuccess:M,onExit:U,colors:d.faceLiveness,verbiage:f.faceLiveness,debugMode:g});case"CAPTURING_SIGNATURE":return l.default.createElement(hm,{onVideoCaptured:L,onFaceNotDetected:P,onExit:U,colors:d,verbiage:f,debugMode:g});case"SUCCESS":if(!G)return;return l.default.createElement(pm,{videoUrl:null!=w?w:"",onDoneClick:n,onRetryClick:j,colors:d.success,verbiage:f.success});default:return null}}(),l.default.createElement(fm,{key:O,onDismissed:F,assets:u.loadingOverlay,verbiage:f.loadingOverlay}))},vm=function(e){var n,r,o,i,a,s=e.checks,u=e.idCaptureProps,c=void 0===u?{}:u,d=e.faceLivenessProps,h=void 0===d?{}:d,f=e.signatureCaptureProps,p=void 0===f?{}:f,g=e.videoSignatureCaptureProps,v=void 0===g?{}:g,b=e.additionalDocumentCaptureProps,w=e.captureSignature,x=void 0!==w&&w,E=e.captureSignatureVideo,C=void 0!==E&&E,S=e.debugMode,k=void 0!==S&&S,T=t.useContext(Ye),I=T.submit,A=T.submissionStatus,D=T.setSignatureData,R=T.setAdditionalDocuments,_=t.useState(0),F=_[0],M=_[1],L=t.useMemo((function(){var e,t,n=y([],s,!0);if(x&&C)throw new Error("captureSignature and captureSignatureVideo cannot be used together");return x&&n.push("SignatureCapture"),C&&(n.push("VideoSignatureCapture"),n.includes("FaceLiveness")&&n.splice(n.indexOf("FaceLiveness"),1)),null!==(t=null===(e=null==b?void 0:b.documents)||void 0===e?void 0:e.length)&&void 0!==t&&t&&n.push("AdditionalDocumentCapture"),n}),[null===(n=null==b?void 0:b.documents)||void 0===n?void 0:n.length,x,C,s]),P=L[F],B=F>=L.length;t.useEffect((function(){"SignatureCapture"===P&&"function"==typeof x?x().then((function(e){e||M((function(e){return e+1}))})):"VideoSignatureCapture"===P&&"function"==typeof C&&C().then((function(e){e||M((function(e){return e+1}))}))}),[x,C,P]),t.useEffect((function(){B&&I()}),[B,I]);var O=c.onSuccess,N=t.useCallback((function(e){null==O||O(e),M((function(e){return e+1}))}),[O]),U=h.onComplete,j=t.useCallback((function(e){null==U||U(e),M((function(e){return e+1}))}),[U]),G=t.useCallback((function(e){D(e),M((function(e){return e+1}))}),[D]),$=v.onComplete,z=t.useCallback((function(){null==$||$(),M((function(e){return e+1}))}),[$]),q=t.useState(0),V=q[0],W=q[1],H=v.onRetryClicked,K=t.useCallback((function(){null==H||H(),W((function(e){return e+1}))}),[H]),Y=null==b?void 0:b.onComplete,X=t.useCallback((function(e){R(e),null==Y||Y(e),M((function(e){return e+1}))}),[Y,R]),J=t.useMemo((function(){var e;return null!==(e=null==b?void 0:b.documents)&&void 0!==e?e:[]}),[null==b?void 0:b.documents]);if(B)switch(A){case Ve.SUBMITTING:return l.default.createElement(ot,{className:"flex"},l.default.createElement(hi,null));case Ve.SUBMITTED:return l.default.createElement(mg,null);case Ve.FAILED:return l.default.createElement(l.default.Fragment,null,"Submission failed!");default:return l.default.createElement(l.default.Fragment,null,"Complete!!")}switch(L[F]){case"IdCapture":return l.default.createElement(qo,{documentDetectionModelUrl:null!==(o=null===(r=c.assets)||void 0===r?void 0:r.documentDetectionModelUrl)&&void 0!==o?o:"",focusModelUrl:null!==(a=null===(i=c.assets)||void 0===i?void 0:i.focusModelUrl)&&void 0!==a?a:"",logPredictions:k},l.default.createElement(nn,{key:"IdCaptureCamera"},l.default.createElement(gg,null,l.default.createElement(zi,m({},c,{onSuccess:N})))));case"FaceLiveness":return l.default.createElement(nn,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},l.default.createElement(ng,null,l.default.createElement(pg,m({},h,{onComplete:j}))));case"SignatureCapture":return l.default.createElement(cm,m({},p,{onAccept:G}));case"VideoSignatureCapture":return l.default.createElement(nn,{key:"SignatureKycCamera-".concat(V),preferContinuityCamera:!1,preferFrontFacingCamera:!0},l.default.createElement(mm,m({},v,{onComplete:z,onRetryClicked:K})));case"AdditionalDocumentCapture":return l.default.createElement(yg,m({},b,{documents:J,onComplete:X}));default:return l.default.createElement(l.default.Fragment,null)}},bm=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.manualReviewRequired,c=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.passportAutoCaptureScoreThreshold,x=void 0===w?.75:w,E=e.idCardFocusScoreThreshold,C=void 0===E?.3:E,S=e.passportFocusScoreThreshold,k=void 0===S?.3:S,T=e.skipSuccessScreen,I=void 0!==T&&T,A=e.onBeforeSubmit,D=e.onComplete,R=e.onApproved,_=e.onDenied,F=e.assets,M=void 0===F?{}:F,L=e.colors,P=void 0===L?{}:L,B=e.verbiage,O=void 0===B?{}:B,N=e.captureSignature,U=void 0!==N&&N,j=e.captureSignatureVideo,G=void 0!==j&&j,$=e.captureAdditionalDocuments,z=void 0===$?[]:$,q=e.geolocationEnabled,V=void 0===q||q,W=e.geolocationRequired,H=void 0!==W&&W,K=e.debugMode,Y=void 0!==K&&K;yi(void 0===n?"auto":n);var X=t.useMemo((function(){return{autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:x,mrzDetectionScoreThreshold:.5,idCardFocusScoreThreshold:C,passportFocusScoreThreshold:k,barcodeScanningEnabled:!1,skipSuccessScreen:I,assets:M,colors:P,verbiage:O,debugMode:Y}}),[M,P,Y,v,y,C,x,k,I,O]),J=t.useMemo((function(){return{documents:z,verbiage:null==O?void 0:O.additionalDocumentCapture}}),[z,null==O?void 0:O.additionalDocumentCapture]),Z=t.useMemo((function(){return{verbiage:null==O?void 0:O.signatureCapture}}),[null==O?void 0:O.signatureCapture]),Q=t.useMemo((function(){return{skipSuccessScreen:I,colors:null==P?void 0:P.videoSignatureCapture,verbiage:null==O?void 0:O.videoSignatureCapture,debugMode:Y}}),[null==P?void 0:P.videoSignatureCapture,Y,I,null==O?void 0:O.videoSignatureCapture]),ee=t.useCallback((function(e){null==D||D(e),"Approved"===e.resultData.verificationResult?null==R||R(e):null==_||_(e)}),[R,D,_]);return l.default.createElement(Ft,{action:qe.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:u,verifyIdWithExternalDatabases:c,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:A,onResponseReceived:ee,geolocationEnabled:V,geolocationRequired:H},l.default.createElement(vm,{checks:t.useMemo((function(){return["IdCapture"]}),[]),idCaptureProps:X,signatureCaptureProps:Z,videoSignatureCaptureProps:Q,additionalDocumentCaptureProps:J,captureSignature:U,captureSignatureVideo:G,debugMode:Y}))},ym=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.webhooksEnabled,c=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.onBeforeSubmit,v=e.onComplete,b=e.onApproved,y=e.onDenied,w=e.onExitAfterFailure,x=e.assets,E=e.colors,C=e.verbiage,S=e.geolocationEnabled,k=void 0===S||S,T=e.geolocationRequired,I=void 0!==T&&T,A=e.debugMode,D=void 0!==A&&A;yi(void 0===n?"auto":n);var R=t.useMemo((function(){return{timeoutDurationMs:f,skipSuccessScreen:g,onComplete:v,onSuccess:b,onTimeout:y,onExitAfterFailure:w,assets:x,colors:E,verbiage:C,debugMode:D}}),[x,E,D,b,v,y,w,g,f,C]);return l.default.createElement(Ft,{action:qe.NONE,environment:i,url:a,token:r,companyId:s,webhooksEnabled:u,webhooksClientTraceId:c,webhooksStripSpecialCharacters:d,onBeforeSubmit:m,geolocationEnabled:k,geolocationRequired:I},l.default.createElement(vm,{checks:t.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:R,debugMode:D}))},wm=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.manualReviewRequired,c=e.verifyIdWithExternalDatabases,d=e.personalData,h=e.cardData,f=e.webhooksEnabled,p=e.webhooksClientTraceId,g=e.webhooksStripSpecialCharacters,m=e.idAutoCaptureEnabled,v=void 0===m||m,b=e.idCardAutoCaptureScoreThreshold,y=void 0===b?.8:b,w=e.mrzDetectionScoreThreshold,x=void 0===w?.5:w,E=e.passportAutoCaptureScoreThreshold,C=void 0===E?.75:E,S=e.idCardFocusScoreThreshold,k=void 0===S?.3:S,T=e.passportFocusScoreThreshold,I=void 0===T?.3:T,A=e.faceLivenessTimeoutDurationMs,D=void 0===A?15e3:A,R=e.skipSuccessScreen,_=void 0!==R&&R,F=e.onBeforeSubmit,M=e.onComplete,L=e.onApproved,P=e.onDenied,B=e.onExitAfterFailure,O=e.captureSignature,N=void 0!==O&&O,U=e.captureSignatureVideo,j=void 0!==U&&U,G=e.captureAdditionalDocuments,$=void 0===G?[]:G,z=e.assets,q=void 0===z?{}:z,V=e.colors,W=void 0===V?{}:V,H=e.verbiage,K=void 0===H?{}:H,Y=e.geolocationEnabled,X=void 0===Y||Y,J=e.geolocationRequired,Z=void 0!==J&&J,Q=e.debugMode,ee=void 0!==Q&&Q;yi(void 0===n?"auto":n);var te=t.useMemo((function(){return{assets:q.idCapture,colors:W.idCapture,verbiage:K.idCapture,autoCaptureEnabled:v,idCardAutoCaptureScoreThreshold:y,passportAutoCaptureScoreThreshold:C,mrzDetectionScoreThreshold:x,idCardFocusScoreThreshold:k,passportFocusScoreThreshold:I,skipSuccessScreen:_,debugMode:ee}}),[q.idCapture,W.idCapture,ee,v,y,k,x,C,I,_,K.idCapture]),ne=t.useMemo((function(){return{timeoutDurationMs:D,onTimeout:P,onExitAfterFailure:B,skipSuccessScreen:_,assets:q.faceLiveness,colors:W.faceLiveness,verbiage:K.faceLiveness,debugMode:ee}}),[q.faceLiveness,W.faceLiveness,ee,D,P,B,_,K.faceLiveness]),re=t.useMemo((function(){return{verbiage:K.signatureCapture}}),[null==K?void 0:K.signatureCapture]),oe=t.useMemo((function(){return{skipSuccessScreen:_,colors:null==W?void 0:W.videoSignatureCapture,verbiage:null==K?void 0:K.videoSignatureCapture,debugMode:ee}}),[null==W?void 0:W.videoSignatureCapture,ee,_,null==K?void 0:K.videoSignatureCapture]),ie=t.useMemo((function(){return{documents:$,verbiage:null==K?void 0:K.additionalDocumentCapture}}),[$,null==K?void 0:K.additionalDocumentCapture]),ae=t.useCallback((function(e){null==M||M(e),"Approved"===e.resultData.verificationResult?null==L||L(e):null==P||P(e)}),[L,M,P]);return l.default.createElement(Ft,{action:qe.VALIDATE,environment:i,url:a,token:r,companyId:s,manualReviewRequired:u,verifyIdWithExternalDatabases:c,personalData:d,cardData:h,webhooksEnabled:f,webhooksClientTraceId:p,webhooksStripSpecialCharacters:g,onBeforeSubmit:F,onResponseReceived:ae,geolocationEnabled:X,geolocationRequired:Z},l.default.createElement(vm,{checks:t.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:te,faceLivenessProps:ne,signatureCaptureProps:re,videoSignatureCaptureProps:oe,additionalDocumentCaptureProps:ie,captureSignature:N,captureSignatureVideo:j,debugMode:ee}))},xm=function(e){var n=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,u=e.companyId,c=e.manualReviewRequired,d=e.verifyIdWithExternalDatabases,h=e.personalData,f=e.cardData,p=e.deduplicationEnabled,g=e.deduplicationSynchronous,m=e.webhooksEnabled,v=e.webhooksClientTraceId,b=e.webhooksStripSpecialCharacters,y=e.idAutoCaptureEnabled,w=void 0===y||y,x=e.idCardAutoCaptureScoreThreshold,E=void 0===x?.8:x,C=e.mrzDetectionScoreThreshold,S=void 0===C?.5:C,k=e.passportAutoCaptureScoreThreshold,T=void 0===k?.75:k,I=e.idCardFocusScoreThreshold,A=void 0===I?.3:I,D=e.passportFocusScoreThreshold,R=void 0===D?.3:D,_=e.faceLivenessTimeoutDurationMs,F=void 0===_?15e3:_,M=e.skipSuccessScreen,L=void 0!==M&&M,P=e.onBeforeSubmit,B=e.onComplete,O=e.onEnrolled,N=e.onDenied,U=e.onExitAfterFailure,j=e.captureAdditionalDocuments,G=void 0===j?[]:j,$=e.captureSignature,z=void 0!==$&&$,q=e.captureSignatureVideo,V=void 0!==q&&q,W=e.assets,H=void 0===W?{}:W,K=e.colors,Y=void 0===K?{}:K,X=e.verbiage,J=void 0===X?{}:X,Z=e.geolocationEnabled,Q=void 0===Z||Z,ee=e.geolocationRequired,te=void 0!==ee&&ee,ne=e.debugMode,re=void 0!==ne&≠yi(void 0===r?"auto":r);var oe=t.useMemo((function(){return{assets:H.idCapture,colors:Y.idCapture,verbiage:J.idCapture,autoCaptureEnabled:w,idCardAutoCaptureScoreThreshold:E,passportAutoCaptureScoreThreshold:T,mrzDetectionScoreThreshold:S,idCardFocusScoreThreshold:A,passportFocusScoreThreshold:R,skipSuccessScreen:L,debugMode:re}}),[H.idCapture,Y.idCapture,re,w,E,A,S,T,R,L,J.idCapture]),ie=t.useMemo((function(){return{onExitAfterFailure:U,timeoutDurationMs:F,skipSuccessScreen:L,assets:H.faceLiveness,colors:Y.faceLiveness,verbiage:J.faceLiveness,debugMode:re}}),[H.faceLiveness,Y.faceLiveness,re,F,U,L,J.faceLiveness]),ae=t.useMemo((function(){return{documents:G,verbiage:J.additionalDocumentCapture}}),[G,J.additionalDocumentCapture]),se=t.useMemo((function(){return{verbiage:null==J?void 0:J.signatureCapture}}),[null==J?void 0:J.signatureCapture]),le=t.useMemo((function(){return{skipSuccessScreen:L,colors:null==Y?void 0:Y.videoSignatureCapture,verbiage:null==J?void 0:J.videoSignatureCapture,debugMode:re}}),[null==Y?void 0:Y.videoSignatureCapture,re,L,null==J?void 0:J.videoSignatureCapture]),ue=t.useCallback((function(e){null==B||B(e),"Customer Onboarded"===e.resultData.verificationResult?null==O||O(e):null==N||N(e)}),[O,B,N]);return l.default.createElement(Ft,{action:qe.ENROLL,environment:a,url:s,token:o,companyId:u,enrollmentId:n,manualReviewRequired:c,verifyIdWithExternalDatabases:d,personalData:h,cardData:f,deduplicationEnabled:p,deduplicationSynchronous:g,webhooksEnabled:m,webhooksClientTraceId:v,webhooksStripSpecialCharacters:b,onBeforeSubmit:P,onResponseReceived:ue,geolocationEnabled:Q,geolocationRequired:te},l.default.createElement(vm,{checks:t.useMemo((function(){return["IdCapture","FaceLiveness"]}),[]),idCaptureProps:oe,faceLivenessProps:ie,additionalDocumentCaptureProps:ae,signatureCaptureProps:se,videoSignatureCaptureProps:le,captureSignature:z,captureSignatureVideo:V,debugMode:re}))},Em={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,unverifiedTimes:0},Cm=function(e,t){switch(t.type){case"verificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?m(m({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"verifying":return m(m({},e),{requestState:"VERIFYING",imageUrl:t.payload.imageUrl});case"verificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return m(m({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.unverifiedTimes;return"00"===a.verificationResultCode?s="VERIFIED":l<0?(s="CAPTURING",l+=1):s="REJECTED",m(m({},e),{requestState:s,unverifiedTimes:l});case"verificationFailed":return m(m({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},Sm=function(e){var n=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=e.debugMode,f=void 0!==h&&h,p=t.useReducer(Cm,Em),g=p[0],m=p[1],y=g.frame,w=g.face,x=t.useContext(Ye),E=x.submit,C=x.submissionResponse,S=x.submissionError,k=x.selfieImage,T=x.setSelfieImage,I=t.useState(null),A=I[0],D=I[1],R=t.useRef(null),_=t.useRef(null),F=t.useCallback((function(e,t){m({type:"verificationReady",payload:{frame:e,face:t}})}),[]),M="CAPTURED"===g.requestState;return t.useEffect((function(){if(y&&w&&!S){var e=Uo(R.current,_.current,y,w);D(e),Qe(e).then((function(e){T(e)}))}}),[w,y,T,S]),t.useEffect((function(){M&&k&&!S&&v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),m({type:"verifying",payload:{imageUrl:k}}),[4,E()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return m({type:"verificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),m({type:"verificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[M,n,r,k,g.requestState,S,E]),t.useEffect((function(){C&&("VERIFIED"===g.requestState?null==n||n(C):"REJECTED"===g.requestState&&(null==r||r(C)))}),[n,r,g.requestState,C]),rg(a,o,["VERIFIED","REJECTED"].includes(g.requestState),"VERIFYING"===g.requestState),l.default.createElement(l.default.Fragment,null,l.default.createElement(Bo,{ref:R}),l.default.createElement(Bo,{ref:_}),l.default.createElement(sg,{onSelfieCaptured:F,onExit:i,timeoutDurationMs:a,colors:u,verbiage:d,debugMode:f}),A&&l.default.createElement(pi,{imageUrl:A}))},km=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;r||(r="".concat(Mo,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=Ei(c,{headingText:"Customer has been verified!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},d.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:d.headingText,src:r})),l.default.createElement("div",{style:{marginTop:24}},l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Tm=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,u=e.onExitClick,c=e.assets,d=void 0===c?{}:c,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Mo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=Ei(g,{headingText:"Customer not verified",retryBtnText:"Retry",exitBtnText:"Exit"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},m.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),l.default.createElement("div",{style:{marginTop:24}},a&&l.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),l.default.createElement(St,{onClick:u,colors:f.exitBtn,finished:!0},m.exitBtnText))))},Im=function(e){var n=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,u=e.skipSuccessScreen,c=void 0!==u&&u,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,m=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=t.useContext(Ye),E=x.submissionResponse,C=x.selfieImage,S=t.useState("LOADING"),k=S[0],T=S[1],I=t.useContext(tn).releaseCameraAccess,A=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("MATCHED"),null==r||r(e),[2]}))}))}),[r]),D=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("NOT_MATCHED"),null==o||o(e),[2]}))}))}),[o]),R=t.useCallback((function(){T("FAILED"),null==a||a()}),[a]),_=t.useState(0),F=_[0],M=_[1],L=t.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=t.useCallback((function(){I(),E&&(null==n||n(E))}),[n,I,E]),B=Ni(c,"MATCHED"===k,P);return l.default.createElement(l.default.Fragment,null,"LOADING"!==k&&function(){switch(k){case"CAPTURING":return l.default.createElement(Sm,{key:"capture".concat(F),onCustomerMatched:A,onCustomerNotMatched:D,onCaptureGuidanceTimeout:R,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:m,debugMode:w});case"MATCHED":if(!B)return;return l.default.createElement(km,{imageUrl:"data:image/png;base64, ".concat(C),colors:p.success,verbiage:m.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_MATCHED":case"FAILED":return l.default.createElement(Tm,{assets:h.failure,colors:p.failure,verbiage:m.failure,canRetry:F<2,onExitClick:function(){I(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),l.default.createElement(dg,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:m.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},Am=function(e){var t=e.lang,n=e.enrollmentId,r=e.submissionToken,o=e.submissionEnvironment,i=void 0===o?"prod":o,a=e.submissionUrl,s=e.companyId,u=e.webhooksEnabled,c=e.webhooksClientTraceId,d=e.webhooksStripSpecialCharacters,h=e.timeoutDurationMs,f=void 0===h?15e3:h,p=e.skipSuccessScreen,g=void 0!==p&&p,m=e.assets,v=e.colors,b=e.verbiage,y=e.onBeforeSubmit,w=e.onComplete,x=e.onCustomerMatched,E=e.onCustomerNotMatched,C=e.onExitAfterFailure,S=e.geolocationEnabled,k=void 0===S||S,T=e.geolocationRequired,I=void 0!==T&&T,A=e.debugMode,D=void 0!==A&&A;return yi(void 0===t?"auto":t),l.default.createElement(Ft,{action:qe.VERIFY,environment:i,url:a,token:r,companyId:s,enrollmentId:n,webhooksEnabled:u,webhooksClientTraceId:c,webhooksStripSpecialCharacters:d,onBeforeSubmit:y,geolocationEnabled:k,geolocationRequired:I},l.default.createElement(nn,{preferFrontFacingCamera:!0},l.default.createElement(ng,null,l.default.createElement(Im,{onComplete:w,onCustomerMatched:x,onCustomerNotMatched:E,onExitAfterFailure:C,captureGuidanceTimeoutDurationMs:f,skipSuccessScreen:g,assets:m,colors:v,verbiage:b,debugMode:D}))))},Dm={frame:null,face:null,imageUrl:null,requestState:"CAPTURING",requestError:null,notFoundTimes:0},Rm=function(e,t){switch(t.type){case"identificationReady":return["CAPTURING","ERROR"].includes(e.requestState)?m(m({},e),{requestState:"CAPTURED",frame:t.payload.frame,face:t.payload.face}):e;case"identifying":return m(m({},e),{requestState:"IDENTIFYING",imageUrl:t.payload.imageUrl});case"identificationCompleted":var n=t.payload.response,r=n.status,o=r.statusMessage,i=r.errorData,a=n.resultData;if("000"!==r.statusCode)return m(m({},e),{requestState:"ERROR",requestError:new Error("".concat(o,": ").concat(i))});var s=e.requestState,l=e.notFoundTimes;return"46"===a.verificationResultCode?s="FOUND":l<0?(s="CAPTURING",l+=1):s="NOT_FOUND",m(m({},e),{requestState:s,notFoundTimes:l});case"identificationFailed":return m(m({},e),{requestState:"ERROR",requestError:t.payload.error});default:return e}},_m=function(e){var n=e.onCustomerMatched,r=e.onCustomerNotMatched,o=e.onCaptureGuidanceTimeout,i=e.onExit,a=e.captureGuidanceTimeoutDurationMs,s=e.colors,u=void 0===s?{}:s,c=e.verbiage,d=void 0===c?{}:c,h=e.debugMode,f=void 0!==h&&h,p=t.useReducer(Rm,Dm),g=p[0],m=p[1],y=t.useContext(Ye),w=y.submit,x=y.submissionResponse,E=y.submissionError,C=y.selfieImage,S=y.setSelfieImage,k=t.useState(null),T=k[0],I=k[1],A=t.useRef(null),D=t.useRef(null),R=t.useCallback((function(e,t){m({type:"identificationReady",payload:{frame:e,face:t}})}),[]),_=g.frame,F=g.face,M="CAPTURED"===g.requestState;return t.useEffect((function(){if(_&&F&&!E){var e=Uo(A.current,D.current,_,F);I(e),Qe(e).then((function(e){S(e)}))}}),[F,_,S,E]),t.useEffect((function(){M&&C&&!E&&v(void 0,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),m({type:"identifying",payload:{imageUrl:C}}),[4,w()];case 1:if(!(e=n.sent()))throw new Error("submission failed!");return m({type:"identificationCompleted",payload:{response:e}}),[3,3];case 2:return t=n.sent(),m({type:"identificationFailed",payload:{error:t}}),[3,3];case 3:return[2]}}))}))}),[M,n,r,C,g.requestState,E,w]),t.useEffect((function(){x&&("FOUND"===g.requestState?null==n||n(x):"NOT_FOUND"===g.requestState&&(null==r||r(x)))}),[n,r,g.requestState,x]),rg(a,o,["FOUND","NOT_FOUND"].includes(g.requestState),"IDENTIFYING"===g.requestState),l.default.createElement(l.default.Fragment,null,l.default.createElement(Bo,{ref:A}),l.default.createElement(Bo,{ref:D}),l.default.createElement(sg,{onSelfieCaptured:R,onExit:i,timeoutDurationMs:a,colors:u,verbiage:d,debugMode:f}),T&&l.default.createElement(pi,{imageUrl:T}))},Fm=function(e){var t,n,r=e.imageUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;r||(r="".concat(Mo,"/Selfie-Image-1.png")),s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=Ei(c,{headingText:"Customer has been identified!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},d.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:d.headingText,src:r})),l.default.createElement("div",{style:{marginTop:24}},l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Mm=function(e){var t,n,r,o,i=e.canRetry,a=void 0===i||i,s=e.onRetryClick,u=e.onExitClick,c=e.assets,d=void 0===c?{}:c,h=e.colors,f=void 0===h?{}:h,p=e.verbiage,g=void 0===p?{}:p;d.imageUrl||(d.imageUrl="".concat(Mo,"/manual_capture.png")),f.retryBtn||(f.retryBtn={}),(t=f.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=f.retryBtn).textColor||(n.textColor="white"),f.exitBtn||(f.exitBtn={}),(r=f.exitBtn).backgroundColor||(r.backgroundColor="#666"),(o=f.exitBtn).textColor||(o.textColor="white");var m=Ei(g,{headingText:"Customer not found",retryBtnText:"Retry",exitBtnText:"Exit"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h3",{style:{marginBottom:24}},m.headingText),l.default.createElement(dt,{style:{maxHeight:"calc(100vh - 185px)"}},l.default.createElement("img",{alt:m.headingText,src:d.imageUrl})),l.default.createElement("div",{style:{marginTop:24}},a&&l.default.createElement(St,{onClick:s,colors:f.retryBtn,style:{marginRight:15},finished:!0},m.retryBtnText),l.default.createElement(St,{onClick:u,colors:f.exitBtn,finished:!0},m.exitBtnText))))},Lm=function(e){var n=e.onComplete,r=e.onCustomerMatched,o=e.onCustomerNotMatched,i=e.onExitAfterFailure,a=e.onCaptureGuidanceTimeout,s=e.captureGuidanceTimeoutDurationMs,u=e.skipSuccessScreen,c=void 0!==u&&u,d=e.assets,h=void 0===d?{}:d,f=e.colors,p=void 0===f?{}:f,g=e.verbiage,m=void 0===g?{}:g,y=e.debugMode,w=void 0!==y&&y,x=t.useContext(Ye),E=x.submissionResponse,C=x.selfieImage,S=t.useState("LOADING"),k=S[0],T=S[1],I=t.useContext(tn).releaseCameraAccess,A=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("FOUND"),null==r||r(e),[2]}))}))}),[r]),D=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){return b(this,(function(t){return T("NOT_FOUND"),null==o||o(e),[2]}))}))}),[o]),R=t.useCallback((function(){T("FAILED"),null==a||a()}),[a]),_=t.useState(0),F=_[0],M=_[1],L=t.useCallback((function(){M((function(e){return e+1})),T("LOADING")}),[]),P=t.useCallback((function(){I(),E&&(null==n||n(E))}),[n,I,E]),B=Ni(c,"FOUND"===k,P);return l.default.createElement(l.default.Fragment,null,"LOADING"!==k&&function(){switch(k){case"CAPTURING":return l.default.createElement(_m,{key:"capture".concat(F),onCustomerMatched:A,onCustomerNotMatched:D,onCaptureGuidanceTimeout:R,onExit:L,captureGuidanceTimeoutDurationMs:s,colors:p,verbiage:m,debugMode:w});case"FOUND":if(!B)return;return l.default.createElement(Fm,{imageUrl:"data:image/png;base64, ".concat(C),colors:p.success,verbiage:m.success,onDoneClick:P,onRetryClick:function(){T("CAPTURING"),M(0)}});case"NOT_FOUND":case"FAILED":return l.default.createElement(Mm,{assets:h.failure,colors:p.failure,verbiage:m.failure,canRetry:F<2,onExitClick:function(){I(),null==i||i()},onRetryClick:function(){M((function(e){return e+1}))}});default:return null}}(),l.default.createElement(dg,{key:F,assets:h.loadingOverlay,colors:p.loadingOverlay,verbiage:m.loadingOverlay,onDismissed:function(){T("CAPTURING")}}))},Pm=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,o=void 0===r?"prod":r,i=e.submissionUrl,a=e.companyId,s=e.webhooksEnabled,u=e.webhooksClientTraceId,c=e.webhooksStripSpecialCharacters,d=e.timeoutDurationMs,h=void 0===d?15e3:d,f=e.skipSuccessScreen,p=void 0!==f&&f,g=e.onBeforeSubmit,m=e.onComplete,v=e.onCustomerMatched,b=e.onCustomerNotMatched,y=e.onCaptureGuidanceTimeout,w=e.onExitAfterFailure,x=e.assets,E=e.colors,C=e.verbiage,S=e.geolocationEnabled,k=e.geolocationRequired,T=void 0!==k&&k,I=e.debugMode,A=void 0!==I&&I;return yi(void 0===t?"auto":t),l.default.createElement(Ft,{action:qe.IDENTIFY,environment:o,url:i,token:n,companyId:a,webhooksEnabled:s,webhooksClientTraceId:u,webhooksStripSpecialCharacters:c,onBeforeSubmit:g,geolocationEnabled:S,geolocationRequired:T},l.default.createElement(nn,{preferFrontFacingCamera:!0},l.default.createElement(ng,null,l.default.createElement(Lm,{onComplete:m,onCustomerMatched:v,onCustomerNotMatched:b,onExitAfterFailure:w,onCaptureGuidanceTimeout:y,captureGuidanceTimeoutDurationMs:h,skipSuccessScreen:p,assets:x,colors:E,verbiage:C,debugMode:A}))))},Bm=function(e){var n=e.lang,r=e.submissionToken,o=e.submissionEnvironment,i=e.submissionUrl,a=e.onBeforeSubmit,s=e.onComplete,u=e.skipSuccessScreen,c=void 0!==u&&u,d=e.colors,h=e.verbiage,f=e.geolocationEnabled,p=e.geolocationRequired,g=e.debugMode;yi(void 0===n?"auto":n);var m=t.useState(0),v=m[1];return l.default.createElement(Ft,{action:qe.NONE,environment:o,url:i,token:r,onBeforeSubmit:a,onResponseReceived:s,geolocationEnabled:f,geolocationRequired:p},l.default.createElement(nn,{key:m[0],preferContinuityCamera:!1,preferFrontFacingCamera:!0},l.default.createElement(mm,{skipSuccessScreen:c,colors:d,debugMode:g,verbiage:h,onRetryClicked:function(){v((function(e){return e+1}))}})))},Om=function(e){var n,r=e.style,o=void 0===r?{}:r,i=e.assets,a=void 0===i?{}:i,s=e.verbiage,u=void 0===s?{}:s,c=Bt(),d=c.ref,h=c.width,f=void 0===h?1:h,p=c.height,g=void 0===p?1:p,v=t.useContext(tn).cameraRef;a.frontImageUrl||(a.frontImageUrl="".concat(Mo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg")),a.backImageUrl||(a.backImageUrl="".concat(Mo,"/Shieldout-IDCard-Back-SVG-Landscape-2.svg"));var b,y=xi(u.instructionText,"Please flip your ID card..."),w=!(null===(n=v.current)||void 0===n?void 0:n.isRearFacing);b={width:f-0-8};var x=t.useState(1),E=x[0],C=x[1],S=t.useState(0),k=S[0],T=S[1],I=["rotateY(".concat(k,"deg)")];w&&I.push("scaleX(-1)");var A=["rotateY(".concat(180-k,"deg)")];return w&&A.push("scaleX(-1)"),t.useEffect((function(){var e=function(){C(1),T(180),setTimeout((function(){C(0),T(0)}),1500)};setTimeout(e,250);var t=setInterval(e,2500);return function(){clearInterval(t)}}),[]),l.default.createElement("div",{ref:d,style:m(m({},o),{position:"relative"})},l.default.createElement("div",{style:{display:"flex",flexFlow:"column nowrap",height:"100%"}},l.default.createElement("div",{style:{width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},y)),l.default.createElement("div",{style:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyItems:"center",maxWidth:"calc(100%)",maxHeight:"calc(100% - ".concat(0,"px - ").concat(8,"px)")}},l.default.createElement("div",{style:{width:"100%",height:"100%",minWidth:0,flexGrow:1}}),l.default.createElement("div",{style:{maxWidth:"calc(100% - ".concat(0,"px - ").concat(8,"px)"),maxHeight:g-0-8}},l.default.createElement("div",{style:{position:"relative",border:"".concat(4,"px solid ").concat("white")}},l.default.createElement("img",{src:a.frontImageUrl,alt:"",style:m({backfaceVisibility:"hidden",transition:"transform ".concat(E,"s"),transform:I.join(" "),transformStyle:"preserve-3d",position:"relative",top:0,left:0,display:"block"},b)}),l.default.createElement("img",{src:a.backImageUrl,alt:"",style:m({backfaceVisibility:"hidden",transition:"transform ".concat(E,"s"),transform:A.join(" "),transformStyle:"preserve-3d",position:"absolute",top:0,left:0,display:"block"},b)}))),l.default.createElement("div",{style:{width:"100%",height:"100%",minWidth:0,flexGrow:1}})),l.default.createElement("div",{style:{width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},y))))},Nm=function(e){var t=e.instructionText,n=e.borderWidth,r=void 0===n?3:n,o=e.borderColor,i=void 0===o?"white":o,a=e.guideImageUrl,s=void 0===a?"".concat(Mo,"/Shieldout-IDCard-Front-SVG-Landscape-2.svg"):a,u=e.flipping,c=void 0!==u&&u,d=window.innerWidth>window.innerHeight?"30%":"75%";return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",{style:{position:"absolute",zIndex:1e3,width:"100%",height:"100%",display:"flex",flexDirection:"column"}},l.default.createElement("div",{style:{borderWidth:r,borderColor:i,borderStyle:"solid",borderRadius:"50%",aspectRatio:"1 / 1.618",height:"100%",margin:"4% auto auto"}}),c?l.default.createElement(Om,{style:{width:d,margin:"2% auto 2%"}}):l.default.createElement("div",{style:{width:d,margin:"2% auto 2%",display:"flex",flexFlow:"column nowrap"}},l.default.createElement("div",{style:{width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12}},t)),l.default.createElement("div",{style:{border:"4px solid ".concat(i)}},l.default.createElement("img",{src:s,alt:"",style:{width:"100%"}})),l.default.createElement("div",{style:{width:"100%",height:"100%",flexGrow:1,textAlign:"center",color:"white",display:"flex",flexDirection:"column",justifyContent:"end"}},l.default.createElement("span",{style:{alignContent:"center",marginTop:12,marginBottom:12,opacity:0}},t)))))},Um=function(e){var n,r,o,i,a,s,u=e.onComplete,c=e.onFaceNotDetected,d=e.idDetectionThreshold,h=void 0===d?.6:d,f=e.idFocusThreshold,p=void 0===f?.25:f,g=e.goodFramesThreshold,m=void 0===g?3:g,y=e.verbiage,w=void 0===y?{}:y,x=e.debugMode,E=void 0!==x&&x,C=Bt(),S=C.ref,k=C.width,T=void 0===k?1:k,I=C.height,A=void 0===I?1:I,D=t.useContext(tn),R=D.cameraRef,_=D.videoRef,F=D.videoLoaded,M=D.cameraReady,L=t.useState([]),P=L[0],B=L[1],O=t.useState([]),N=O[0],U=O[1],j=t.useContext(Go),G=j.ready,$=j.working,z=j.makePrediction,q=j.onPredictionMade,V=j.setThresholds,W=t.useContext(tg).onPredictionMade,H=dm(R.current),K=H.isRecording,Y=H.startRecording,X=H.stopRecording,J=H.videoUrl;t.useEffect((function(){K||J||Y(),J&&(null==u||u(J))}),[K,u,Y,J]);var Z=t.useRef(0),Q=t.useRef(!1);t.useEffect((function(){Q.current=F&&M&&G}),[M,G,F]),t.useEffect((function(){if(G&&M&&F)return Z.current=requestAnimationFrame((function e(){return v(this,void 0,void 0,(function(){return b(this,(function(t){return Q.current&&!$.current&&_.current&&z(_.current),Z.current=requestAnimationFrame(e),[2]}))}))})),function(){cancelAnimationFrame(Z.current)}}),[M,G,$,z,F,_]),t.useEffect((function(){V({document:h,passport:1,focus:p})}),[h,p,V]);var ee=t.useState(Et.ID_CARD_FRONT),te=ee[0],ne=ee[1],re=t.useState(!1),oe=re[0],ie=re[1],ae=t.useState(0),se=ae[0],le=ae[1],ue=se>=m;t.useEffect((function(){q((function(e){B(e.detectedObjects),le(e.detectionThresholdMet&&e.focusThresholdMet?function(e){return e+1}:0)}))}),[h,q]),t.useEffect((function(){ue&&(te==Et.ID_CARD_FRONT?(ie(!0),setTimeout((function(){ie(!1),ne(Et.ID_CARD_BACK)}),3500)):X())}),[ue,u,te,X]);var ce=t.useState(0),de=ce[0],he=ce[1];t.useEffect((function(){W((function(e){U(e),he((function(t){return 0===e.length?t+1:0}))}))}),[W]),t.useEffect((function(){de>=2&&(null==c||c())}),[de,c]);var fe=Ei(w,{idFrontInstructionText:"Display the front of your ID card...",idBackInstructionText:"Display the back of your ID card..."}),pe=ni({enabled:E,pageWidth:T,pageHeight:A,videoWidth:null!==(r=null===(n=_.current)||void 0===n?void 0:n.videoWidth)&&void 0!==r?r:0,videoHeight:null!==(i=null===(o=_.current)||void 0===o?void 0:o.videoHeight)&&void 0!==i?i:0});return l.default.createElement(ot,{ref:S,className:"flex"},l.default.createElement(Bi,null),l.default.createElement(Nm,{instructionText:te===Et.ID_CARD_FRONT?fe.idFrontInstructionText:fe.idBackInstructionText,guideImageUrl:"".concat(Mo,"/Shieldout-IDCard-").concat(te===Et.ID_CARD_FRONT?"Front":"Back","-SVG-Landscape-2.svg"),borderColor:se>0?"green":"white",flipping:oe}),E&&P.length>0&&l.default.createElement(Qo,{$flipX:!(null===(a=R.current)||void 0===a?void 0:a.isRearFacing)},P.map((function(e,t){var n;return l.default.createElement(ri,{key:t,obj:e,scaling:pe,color:"blue",flipX:!(null===(n=R.current)||void 0===n?void 0:n.isRearFacing)})}))),E&&N.length>0&&l.default.createElement(Qo,{$flipX:!(null===(s=R.current)||void 0===s?void 0:s.isRearFacing)},N.map((function(e,t){var n;return l.default.createElement(oi,{key:t,face:e,scaling:pe,flipX:!(null===(n=R.current)||void 0===n?void 0:n.isRearFacing)})}))),E&&l.default.createElement(Zo,null,R.current?l.default.createElement(l.default.Fragment,null,"✅ Camera: ",R.current.label," (",R.current.width,"x",R.current.height,")"):"❌ Camera not ready",l.default.createElement("br",null),ue?"✅":"❌"," Good Frame Count:"," ",se,"/",m))},jm=function(e){var t,n,r=e.videoUrl,o=e.onDoneClick,i=e.onRetryClick,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u;s.retryBtn||(s.retryBtn={}),(t=s.retryBtn).backgroundColor||(t.backgroundColor="#ea8557"),(n=s.retryBtn).textColor||(n.textColor="white");var d=Ei(c,{headingText:"Video ID has been successfully captured!",retryBtnText:"Retry",doneBtnText:"Done"});return l.default.createElement(ut,null,l.default.createElement(ct,null,l.default.createElement("h1",null,d.headingText),l.default.createElement(dt,null,l.default.createElement(Gm,{src:r,poster:r+"#t=0.1",controls:!0,preload:"metadata",autoPlay:!0})),l.default.createElement("div",null,l.default.createElement(St,{onClick:i,colors:s.retryBtn,finished:!0},d.retryBtnText),l.default.createElement(St,{onClick:o,colors:s.doneBtn,style:{marginLeft:15},finished:!0},d.doneBtnText))))},Gm=h.default.video(im||(im=w(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"],["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"]))),$m=function(e){var n=e.idCaptureProps,r=void 0===n?{}:n,o=e.assets,i=void 0===o?{}:o,a=e.colors,s=void 0===a?{}:a,u=e.verbiage,c=void 0===u?{}:u,d=e.debugMode,h=void 0!==d&&d,f=t.useContext(Ye),p=f.selfieImage,g=f.setSelfieImage,y=f.logSelfieCaptureAttempt,w=t.useState("CAPTURING_ID"),x=w[0],E=w[1],C=t.useState(null),S=C[0],k=C[1],T=t.useRef(),I=t.useRef(),A=t.useRef();t.useEffect((function(){T.current=new Date}),[]),t.useEffect((function(){"CHECKING_LIVENESS"===x&&(I.current=new Date)}),[x]);var D=t.useCallback((function(){var e,t,n;y({autoCapture:"Y",captureTime:(null!==(e=A.current)&&void 0!==e?e:new Date).getTime()-(null!==(t=I.current)&&void 0!==t?t:new Date).getTime(),operationTime:(new Date).getTime()-(null!==(n=T.current)&&void 0!==n?n:new Date).getTime()}),T.current=new Date}),[y]),R=r.onSuccess,_=t.useCallback((function(e){null==R||R(e),E("CHECKING_LIVENESS")}),[R]),F=t.useCallback((function(e){return v(void 0,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return E("CAPTURING_VIDEO"),D(),p?[3,2]:(t=g,[4,Qe(e)]);case 1:t.apply(void 0,[n.sent()]),n.label=2;case 2:return[2]}}))}))}),[D,p,g]),M=t.useCallback((function(e){k(e),E("SUCCESS")}),[]),L=t.useCallback((function(){E("CHECKING_LIVENESS")}),[]),P=t.useCallback((function(){E("LOADING")}),[]);return l.default.createElement(l.default.Fragment,null,"LOADING"!==x&&function(){var e,t,n,o,a,u,d,f;switch(x){case"CAPTURING_ID":return l.default.createElement(qo,{documentDetectionModelUrl:null!==(t=null===(e=r.assets)||void 0===e?void 0:e.documentDetectionModelUrl)&&void 0!==t?t:"",focusModelUrl:null!==(o=null===(n=r.assets)||void 0===n?void 0:n.focusModelUrl)&&void 0!==o?o:"",logPredictions:h},l.default.createElement(nn,{key:"IdCaptureCamera"},l.default.createElement(gg,null,l.default.createElement(zi,m({},r,{assets:i.idCapture,colors:s.idCapture,verbiage:c.idCapture,onSuccess:_,skipSuccessScreen:!0})))));case"CHECKING_LIVENESS":return l.default.createElement(nn,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},l.default.createElement(ng,null,l.default.createElement(cg,{onSuccess:F,onExit:P,colors:s.faceLiveness,verbiage:c.faceLiveness,debugMode:h})));case"CAPTURING_VIDEO":return l.default.createElement(nn,{key:"FaceLivenessCamera",preferFrontFacingCamera:!0,preferContinuityCamera:!1},l.default.createElement(qo,{documentDetectionModelUrl:null!==(u=null===(a=r.assets)||void 0===a?void 0:a.documentDetectionModelUrl)&&void 0!==u?u:"",focusModelUrl:null!==(f=null===(d=r.assets)||void 0===d?void 0:d.focusModelUrl)&&void 0!==f?f:"",logPredictions:h},l.default.createElement(ng,null,l.default.createElement(Um,{onComplete:M,onFaceNotDetected:L,debugMode:h}))));case"SUCCESS":return l.default.createElement(jm,{videoUrl:null!=S?S:""});default:return null}}())},zm=function(e){var t=e.lang,n=e.submissionToken,r=e.submissionEnvironment,o=e.submissionUrl,i=e.onBeforeSubmit,a=e.onComplete,s=e.skipSuccessScreen,u=void 0!==s&&s,c=e.geolocationEnabled,d=e.geolocationRequired,h=e.debugMode,f=void 0!==h&&h;return yi(void 0===t?"auto":t),l.default.createElement(Ft,{action:qe.NONE,environment:r,url:o,token:n,onBeforeSubmit:i,onResponseReceived:a,geolocationEnabled:c,geolocationRequired:d},l.default.createElement($m,{skipSuccessScreen:u,debugMode:f}))},qm=function(e){var t=e.documentDetectionModel,n=void 0===t?"".concat(Mo,"/models/documentdetection448/model.json"):t,r=e.focusModel,o=void 0===r?"".concat(Mo,"/models/focus/model.json"):r,i=e.skipFaceDetectionModel,a=void 0!==i&&i;return v(void 0,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return n?[4,Mt(n)]:[3,2];case 1:e.sent(),e.label=2;case 2:return o?[4,rn(o)]:[3,4];case 3:e.sent(),e.label=4;case 4:return a?[3,6]:[4,eg()];case 5:e.sent(),e.label=6;case 6:return[2]}}))}))},Vm=function(e){var n=e.enrollmentId,r=e.lang,o=e.submissionToken,i=e.submissionEnvironment,a=void 0===i?"prod":i,s=e.submissionUrl,u=e.companyId,c=e.deduplicationEnabled,d=e.deduplicationSynchronous,h=e.webhooksEnabled,f=e.webhooksClientTraceId,p=e.webhooksStripSpecialCharacters,g=e.timeoutDurationMs,m=void 0===g?15e3:g,v=e.skipSuccessScreen,b=void 0!==v&&v,y=e.onBeforeSubmit,w=e.onComplete,x=e.onEnrolled,E=e.onDenied,C=e.onExitAfterFailure,S=e.captureAdditionalDocuments,k=void 0===S?[]:S,T=e.captureSignature,I=void 0!==T&&T,A=e.captureSignatureVideo,D=void 0!==A&&A,R=e.assets,_=void 0===R?{}:R,F=e.colors,M=void 0===F?{}:F,L=e.verbiage,P=void 0===L?{}:L,B=e.geolocationEnabled,O=void 0===B||B,N=e.geolocationRequired,U=void 0!==N&&N,j=e.debugMode,G=void 0!==j&&j;yi(void 0===r?"auto":r);var $=t.useMemo((function(){return{onExitAfterFailure:C,timeoutDurationMs:m,skipSuccessScreen:b,assets:_.faceLiveness,colors:M.faceLiveness,verbiage:P.faceLiveness,debugMode:G}}),[_.faceLiveness,M.faceLiveness,G,C,b,m,P.faceLiveness]),z=t.useMemo((function(){return{documents:k,verbiage:P.additionalDocumentCapture}}),[k,P.additionalDocumentCapture]),q=t.useMemo((function(){return{verbiage:P.signatureCapture}}),[P.signatureCapture]),V=t.useMemo((function(){return{skipSuccessScreen:b,colors:null==M?void 0:M.videoSignatureCapture,verbiage:null==P?void 0:P.videoSignatureCapture,debugMode:G}}),[null==M?void 0:M.videoSignatureCapture,G,b,null==P?void 0:P.videoSignatureCapture]),W=t.useCallback((function(e){null==w||w(e),"Customer Onboarded"===e.resultData.verificationResult?null==x||x(e):null==E||E(e)}),[x,w,E]);return l.default.createElement(Ft,{action:qe.ENROLL,environment:a,url:s,token:o,companyId:u,enrollmentId:n,deduplicationEnabled:c,deduplicationSynchronous:d,webhooksEnabled:h,webhooksClientTraceId:f,webhooksStripSpecialCharacters:p,onBeforeSubmit:y,onResponseReceived:W,geolocationEnabled:O,geolocationRequired:U},l.default.createElement(vm,{checks:t.useMemo((function(){return["FaceLiveness"]}),[]),faceLivenessProps:$,additionalDocumentCaptureProps:z,signatureCaptureProps:q,videoSignatureCaptureProps:V,captureSignature:I,captureSignatureVideo:D,debugMode:G}))};function Wm(e,n,r){return r||(r=n,n=void 0),function(e,n){if("string"==typeof n){var r=document.querySelector(n);if(!r)throw new Error("targetElement ".concat(n," not found"));n=r}else n||(n=document.createElement("div"),document.body.append(n));var o=l.default.createElement(ut,{ref:t.createRef()},e);return c.createRoot(n).render(o),n}(l.default.createElement(e,m({},r)),n)}oe.use(ze).use(ve).init({resources:bi,detection:{caches:[]},fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}}),void 0!==d&&d.init&&d.init({dsn:"https://0a8e0e8df645473abe217b60b50fbcb1@o4505120557367296.ingest.sentry.io/4505120582008832",tracesSampleRate:1,debug:!0});var Hm=function(e,t){return Wm(bm,e,t)},Km=function(e,t){return Wm(ym,e,t)},Ym=function(e,t){return Wm(wm,e,t)},Xm=function(e,t){return Wm(xm,e,t)},Jm=function(e,t){return Wm(Vm,e,t)},Zm=function(e,t){return Wm(Am,e,t)},Qm=function(e,t){return Wm(Pm,e,t)},ev=function(e,t){return Wm(Bm,e,t)},tv=function(e,t){return Wm(zm,e,t)};globalThis.IDmissionSDK={renderIdValidation:Hm,renderFaceValidation:Km,renderIdAndFaceValidation:Ym,renderCustomerIdAndBiometricsEnrollment:Xm,renderCustomerBiometricsEnrollment:Jm,renderCustomerVerification:Zm,renderCustomerIdentification:Qm,renderSignatureKYC:ev,renderVideoIdValidation:tv,preloadModels:qm,version:We,ready:!0},e.CustomerBiometricsEnrollment=Vm,e.CustomerIdAndBiometricsEnrollment=xm,e.CustomerIdentification=Pm,e.CustomerVerification=Am,e.FaceValidation=ym,e.IdAndFaceValidation=wm,e.IdValidation=bm,e.SignatureKYC=Bm,e.VideoIdValidation=zm,e.preloadModels=qm,e.renderCustomerBiometricsEnrollment=Jm,e.renderCustomerIdAndBiometricsEnrollment=Xm,e.renderCustomerIdentification=Qm,e.renderCustomerVerification=Zm,e.renderFaceValidation=Km,e.renderIdAndFaceValidation=Ym,e.renderIdValidation=Hm,e.renderSignatureKYC=ev,e.renderVideoIdValidation=tv,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=sdk2.umd.production.js.map
|