face-age 2.0.20 → 2.0.22
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/faceage.css +4 -0
- package/dist/faceage.js +1 -1
- package/package.json +1 -1
package/dist/faceage.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see faceage.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FaceAge=t():e.FaceAge=t()}(this,(()=>(()=>{var e={135:function(e,t,n){(function(){"use strict";function e(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var t="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},r=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function i(e,n){if(n)e:{var i=r;e=e.split(".");for(var o=0;o<e.length-1;o++){var a=e[o];if(!(a in i))break e;i=i[a]}(n=n(o=i[e=e[e.length-1]]))!=o&&null!=n&&t(i,e,{configurable:!0,writable:!0,value:n})}}function o(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function a(t){var n="undefined"!=typeof Symbol&&Symbol.iterator&&t[Symbol.iterator];return n?n.call(t):{next:e(t)}}function s(){this.i=!1,this.g=null,this.o=void 0,this.j=1,this.m=0,this.h=null}function l(e){if(e.i)throw new TypeError("Generator is already running");e.i=!0}function c(e,t){e.h={F:t,G:!0},e.j=e.m}function u(e){this.g=new s,this.h=e}function d(e,t,n,r){try{var i=t.call(e.g.g,n);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return e.g.i=!1,i;var o=i.value}catch(t){return e.g.g=null,c(e.g,t),h(e)}return e.g.g=null,r.call(e.g,o),h(e)}function h(e){for(;e.g.j;)try{var t=e.h(e.g);if(t)return e.g.i=!1,{value:t.value,done:!1}}catch(t){e.g.o=void 0,c(e.g,t)}if(e.g.i=!1,e.g.h){if(t=e.g.h,e.g.h=null,t.G)throw t.F;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function p(e){this.next=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.next,t,e.g.l):(e.g.l(t),t=h(e)),t},this.throw=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.throw,t,e.g.l):(c(e.g,t),t=h(e)),t},this.return=function(t){return function(e,t){l(e.g);var n=e.g.g;return n?d(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),h(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function m(e){function t(t){return e.next(t)}function n(t){return e.throw(t)}return new Promise((function(r,i){!function e(o){o.done?r(o.value):Promise.resolve(o.value).then(t,n).then(e,i)}(e.next())}))}i("Symbol",(function(e){function n(e,n){this.g=e,t(this,"description",{configurable:!0,writable:!0,value:n})}if(e)return e;n.prototype.toString=function(){return this.g};var r="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",i=0;return function e(t){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new n(r+(t||"")+"_"+i++,t)}})),i("Symbol.iterator",(function(n){if(n)return n;n=Symbol("Symbol.iterator");for(var i="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),a=0;a<i.length;a++){var s=r[i[a]];"function"==typeof s&&"function"!=typeof s.prototype[n]&&t(s.prototype,n,{configurable:!0,writable:!0,value:function(){return o(e(this))}})}return n})),s.prototype.l=function(e){this.o=e},s.prototype.return=function(e){this.h={return:e},this.j=this.m},i("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function i(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var o=r.setTimeout;n.prototype.i=function(e){o(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.A),reject:e(this.l)}},t.prototype.A=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.C(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.v(e):this.m(e)}},t.prototype.v=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.D(t,e):this.m(e)},t.prototype.l=function(e){this.u(2,e)},t.prototype.m=function(e){this.u(1,e)},t.prototype.u=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.B(),this.H()},t.prototype.B=function(){var e=this;o((function(){if(e.I()){var t=r.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.I=function(){if(this.o)return!1;var e=r.CustomEvent,t=r.Event,n=r.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=r.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.H=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)s.h(this.g[e]);this.g=null}};var s=new n;return t.prototype.C=function(e){var t=this.j();e.s(t.resolve,t.reject)},t.prototype.D=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function r(e,t){return"function"==typeof e?function(t){try{i(e(t))}catch(e){o(e)}}:t}var i,o,a=new t((function(e,t){i=e,o=t}));return this.s(r(e,i),r(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.s=function(e,t){function n(){switch(r.h){case 1:e(r.i);break;case 2:t(r.i);break;default:throw Error("Unexpected state: "+r.h)}}var r=this;null==this.g?s.h(n):this.g.push(n),this.o=!0},t.resolve=i,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var r=a(e),o=r.next();!o.done;o=r.next())i(o.value).s(t,n)}))},t.all=function(e){var n=a(e),r=n.next();return r.done?i([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,i(r.value).s(o(a.length-1),t),r=n.next()}while(!r.done)}))},t}));var f="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};i("Object.assign",(function(e){return e||f}));var g=this||self,y={facingMode:"user",width:640,height:480};function v(e,t){this.video=e,this.i=0,this.h=Object.assign(Object.assign({},y),t)}function b(e){window.requestAnimationFrame((function(){!function(e){var t=null;e.video.paused||e.video.currentTime===e.i||(e.i=e.video.currentTime,t=e.h.onFrame()),t?t.then((function(){b(e)})):b(e)}(e)}))}v.prototype.stop=function(){var e,t,n,r=this;return m(new p(new u((function(i){if(r.g){for(e=r.g.getTracks(),t=a(e),n=t.next();!n.done;n=t.next())n.value.stop();r.g=void 0}i.j=0}))))},v.prototype.start=function(){var e,t=this;return m(new p(new u((function(n){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia||alert("No navigator.mediaDevices.getUserMedia exists."),e=t.h,n.return(navigator.mediaDevices.getUserMedia({video:{facingMode:e.facingMode,width:e.width,height:e.height}}).then((function(e){!function(e,t){e.g=t,e.video.srcObject=t,e.video.onloadedmetadata=function(){e.video.play(),b(e)}}(t,e)})).catch((function(e){var t="Failed to acquire camera feed: "+e;throw console.error(t),alert(t),e})))}))))};var k,w=["Camera"],S=g;w[0]in S||void 0===S.execScript||S.execScript("var "+w[0]);for(;w.length&&(k=w.shift());)w.length||void 0===v?S=S[k]&&S[k]!==Object.prototype[k]?S[k]:S[k]={}:S[k]=v}).call(this)},982:function(e,t,n){(function(){"use strict";var e;function t(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var r,i="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},o=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function a(e,t){if(t)e:{var n=o;e=e.split(".");for(var r=0;r<e.length-1;r++){var a=e[r];if(!(a in n))break e;n=n[a]}(t=t(r=n[e=e[e.length-1]]))!=r&&null!=t&&i(n,e,{configurable:!0,writable:!0,value:t})}}function s(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function l(e){var n="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];return n?n.call(e):{next:t(e)}}function c(e){if(!(e instanceof Array)){e=l(e);for(var t,n=[];!(t=e.next()).done;)n.push(t.value);e=n}return e}if(a("Symbol",(function(e){function t(e,t){this.g=e,i(this,"description",{configurable:!0,writable:!0,value:t})}if(e)return e;t.prototype.toString=function(){return this.g};var n="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",r=0;return function e(i){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new t(n+(i||"")+"_"+r++,i)}})),a("Symbol.iterator",(function(e){if(e)return e;e=Symbol("Symbol.iterator");for(var n="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<n.length;r++){var a=o[n[r]];"function"==typeof a&&"function"!=typeof a.prototype[e]&&i(a.prototype,e,{configurable:!0,writable:!0,value:function(){return s(t(this))}})}return e})),"function"==typeof Object.setPrototypeOf)r=Object.setPrototypeOf;else{var u;e:{var d={};try{d.__proto__={a:!0},u=d.a;break e}catch(e){}u=!1}r=u?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null}var h=r;function p(){this.l=!1,this.h=null,this.j=void 0,this.g=1,this.s=this.m=0,this.i=null}function m(e){if(e.l)throw new TypeError("Generator is already running");e.l=!0}function f(e,t){e.i={K:t,L:!0},e.g=e.m||e.s}function g(e,t,n){return e.g=n,{value:t}}function y(e){this.g=new p,this.h=e}function v(e,t,n,r){try{var i=t.call(e.g.h,n);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return e.g.l=!1,i;var o=i.value}catch(t){return e.g.h=null,f(e.g,t),b(e)}return e.g.h=null,r.call(e.g,o),b(e)}function b(e){for(;e.g.g;)try{var t=e.h(e.g);if(t)return e.g.l=!1,{value:t.value,done:!1}}catch(t){e.g.j=void 0,f(e.g,t)}if(e.g.l=!1,e.g.i){if(t=e.g.i,e.g.i=null,t.L)throw t.K;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function k(e){this.next=function(t){return m(e.g),e.g.h?t=v(e,e.g.h.next,t,e.g.o):(e.g.o(t),t=b(e)),t},this.throw=function(t){return m(e.g),e.g.h?t=v(e,e.g.h.throw,t,e.g.o):(f(e.g,t),t=b(e)),t},this.return=function(t){return function(e,t){m(e.g);var n=e.g.h;return n?v(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),b(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function w(e,t){return t=new k(new y(t)),h&&e.prototype&&h(t,e.prototype),t}p.prototype.o=function(e){this.j=e},p.prototype.return=function(e){this.i={return:e},this.g=this.s};var S="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};a("Object.assign",(function(e){return e||S})),a("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function r(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var i=o.setTimeout;n.prototype.i=function(e){i(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.D),reject:e(this.l)}},t.prototype.D=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.I(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.C(e):this.m(e)}},t.prototype.C=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.J(t,e):this.m(e)},t.prototype.l=function(e){this.s(2,e)},t.prototype.m=function(e){this.s(1,e)},t.prototype.s=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.H(),this.A()},t.prototype.H=function(){var e=this;i((function(){if(e.B()){var t=o.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.B=function(){if(this.o)return!1;var e=o.CustomEvent,t=o.Event,n=o.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=o.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.A=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)a.h(this.g[e]);this.g=null}};var a=new n;return t.prototype.I=function(e){var t=this.j();e.F(t.resolve,t.reject)},t.prototype.J=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function r(e,t){return"function"==typeof e?function(t){try{i(e(t))}catch(e){o(e)}}:t}var i,o,a=new t((function(e,t){i=e,o=t}));return this.F(r(e,i),r(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.F=function(e,t){function n(){switch(r.h){case 1:e(r.i);break;case 2:t(r.i);break;default:throw Error("Unexpected state: "+r.h)}}var r=this;null==this.g?a.h(n):this.g.push(n),this.o=!0},t.resolve=r,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var i=l(e),o=i.next();!o.done;o=i.next())r(o.value).F(t,n)}))},t.all=function(e){var n=l(e),i=n.next();return i.done?r([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,r(i.value).F(o(a.length-1),t),i=n.next()}while(!i.done)}))},t})),a("Array.prototype.keys",(function(e){return e||function(){return function(e,t){e instanceof String&&(e+="");var n=0,r=!1,i={next:function(){if(!r&&n<e.length){var i=n++;return{value:t(i,e[i]),done:!1}}return r=!0,{done:!0,value:void 0}}};return i[Symbol.iterator]=function(){return i},i}(this,(function(e){return e}))}}));var C=this||self;function P(e,t){e=e.split(".");var n,r=C;e[0]in r||void 0===r.execScript||r.execScript("var "+e[0]);for(;e.length&&(n=e.shift());)e.length||void 0===t?r=r[n]&&r[n]!==Object.prototype[n]?r[n]:r[n]={}:r[n]=t}function A(e,t){var n=void 0;return new(n||(n=Promise))((function(r,i){function o(e){try{s(t.next(e))}catch(e){i(e)}}function a(e){try{s(t.throw(e))}catch(e){i(e)}}function s(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}s((t=t.apply(e,void 0)).next())}))}var x=[[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]],T=[[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]],R=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],E=[[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]],_=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],I=[[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]],F=[].concat(c(x),c(T),c(R),c(E),c(_),c(I));function O(e,t,n){if(n=e.createShader(0===n?e.VERTEX_SHADER:e.FRAGMENT_SHADER),e.shaderSource(n,t),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS))throw Error("Could not compile WebGL shader.\n\n"+e.getShaderInfoLog(n));return n}function L(e,t){this.g=e,this.i=t,this.j=0}function M(e,t){var n=e.i;if(void 0===e.l){var r=O(n,"\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 }",0),i=O(n,"\n precision highp float;\n varying vec2 vTex;\n uniform sampler2D sampler0;\n void main(){\n gl_FragColor = texture2D(sampler0, vTex);\n }",1),o=n.createProgram();if(n.attachShader(o,r),n.attachShader(o,i),n.linkProgram(o),!n.getProgramParameter(o,n.LINK_STATUS))throw Error("Could not compile WebGL program.\n\n"+n.getProgramInfoLog(o));r=e.l=o,n.useProgram(r),i=n.getUniformLocation(r,"sampler0"),e.h={v:n.getAttribLocation(r,"aVertex"),u:n.getAttribLocation(r,"aTex"),M:i},e.o=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.enableVertexAttribArray(e.h.v),n.vertexAttribPointer(e.h.v,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),e.m=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.enableVertexAttribArray(e.h.u),n.vertexAttribPointer(e.h.u,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),n.uniform1i(i,0)}r=e.h,n.useProgram(e.l),n.canvas.width=t.width,n.canvas.height=t.height,n.viewport(0,0,t.width,t.height),n.activeTexture(n.TEXTURE0),e.g.bindTexture2d(t.glName),n.enableVertexAttribArray(r.v),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.vertexAttribPointer(r.v,2,n.FLOAT,!1,0,0),n.enableVertexAttribArray(r.u),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.vertexAttribPointer(r.u,2,n.FLOAT,!1,0,0),n.bindFramebuffer(n.DRAW_FRAMEBUFFER?n.DRAW_FRAMEBUFFER:n.FRAMEBUFFER,null),n.drawArrays(n.TRIANGLE_FAN,0,4),n.disableVertexAttribArray(r.v),n.disableVertexAttribArray(r.u),n.bindBuffer(n.ARRAY_BUFFER,null),e.g.bindTexture2d(0)}function D(e){this.g=e}var G=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function B(e,t){return t+e}function N(e,t){window[e]=t}function j(e){for(var t=[],n=e.size(),r=0;r<n;++r){var i=e.get(r);t.push({x:i.x,y:i.y,z:i.z,visibility:i.hasVisibility?i.visibility:void 0})}return t}function z(e){for(var t=[],n=e.size(),r=0;r<n;++r){var i=e.get(r);t.push({index:i.index,score:i.score,label:i.hasLabel?i.label:void 0,displayName:i.hasDisplayName?i.displayName:void 0})}return t}function W(e,t,n){this.graph=e,this.locateFile=t,this.g=n}function U(e){if(this.h=e,this.listeners={},this.j={},this.l={},this.s=this.D=!0,this.B=Promise.resolve(),this.locateFile=e&&e.locateFile||B,"object"==typeof window)e=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else{if("undefined"==typeof location)throw Error("solutions can only be loaded on a web page or in a web worker");e=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/"}this.C=e}function H(e,t,n){if(n.isNumber())return n.getNumber();if(n.isRect())return n.getRect();if(n.isLandmarks())return n.getLandmarks();if(n.isLandmarksList())return n.getLandmarksList();if(n.isClassificationsList())return n.getClassificationsList();if(n.isObjectDetectionList())return n.getObjectDetectionList();if(n.isTexture2d()){var r=e.l[t];return r||(r=new L(e.g,e.o),e.l[t]=r),M(e=r,n=n.getTexture2d()),e.i.canvas}}function Y(e,t){for(var n=t.name||"$",r=[].concat(c(t.wants)),i=new e.g.StringList,o=l(t.wants),a=o.next();!a.done;a=o.next())i.push_back(a.value);o=e.g.PacketListener.implement({onResults:function(i){return A(e,(function e(){var o,a,s,c,u,d=this;return w(e,(function(e){if(1==e.g){for(o={},a=0;a<t.wants.length;++a)o[r[a]]=i.get(a);var h;if(h=t.outs){for(var p={},m=l(Object.keys(h)),f=m.next();!f.done;f=m.next()){var y=h[f=f.value];if("string"==typeof y)p[f]=H(d,f,o[y]);else{var v=o[y.stream];if(void 0!==v){if("detection_list"===y.type){var b=v.getRectList(),k=v.getLandmarksList();v=v.getClassificationsList();var w=[];if(b)for(var S=0;S<b.size();++S){var C={boundingBox:b.get(S),landmarks:j(k.get(S)),G:z(v.get(S))};w.push(C)}p[f]=w}else if("landmarks"===y.type)b=v.getLandmarks(),p[f]=b?j(b):void 0;else if("landmarks_list"===y.type){if(b=v.getLandmarksList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(j(S));b=k}else b=void 0;p[f]=b}else if("rect_list"===y.type){if(b=v.getRectList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(S);b=k}else b=void 0;p[f]=b}else if("classifications_list"===y.type){if(b=v.getClassificationsList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(z(S));b=k}else b=void 0;p[f]=b}else if("object_detection_list"===y.type){if(b=v.getObjectDetectionList()){for(k=[],v=b.size(),w=0;w<v;++w){var P=b.get(w);C=(S=k).push;for(var A=P.id,x=P.keypoints,T=[],R=x.size(),E=0;E<R;++E){var _=x.get(E);T.push({id:_.id,point3d:{x:_.point3d.x,y:_.point3d.y,z:_.point3d.z},point2d:{x:_.point2d.x,y:_.point2d.y,depth:_.point2d.depth}})}C.call(S,{id:A,keypoints:T,visibility:P.visibility})}b=k}else b=void 0;p[f]=b}else{if("texture"!==y.type)throw Error("Unknown output config type: '"+y.type+"'");(b=d.l[f])||(b=new L(d.g,d.o),d.l[f]=b),M(b,k=v.getTexture2d()),p[f]=b.i.canvas}y.transform&&p[f]&&(p[f]=y.transform(p[f]))}}}h=p}else h=o;return s=h,(c=d.listeners[n])?e=g(e,d.B,3):(e.g=0,e=void 0),e}if(u=c(s))return d.B=u,e.return(u);e.g=0}))}))}}),e.i.attachMultiListener(i,o),i.delete()}function q(e){e=e||{},this.g=new U({locateFile:e.locateFile,files:[{url:"face_detection_solution_packed_assets_loader.js"},{simd:!0,url:"face_detection_solution_simd_wasm_bin.js"},{simd:!1,url:"face_detection_solution_wasm_bin.js"}],graph:{url:"face_detection.binarypb"},listeners:[{wants:["detections","image_transformed"],outs:{image:"image_transformed",detections:{type:"detection_list",stream:"detections"}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{selfieMode:{type:1,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},minDetectionConfidence:{type:0,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facedetectionfrontgpu__facedetectionfrontcommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}}}})}W.prototype.toArrayBuffer=function(){return A(this,(function e(){var t,n=this;return w(e,(function(e){return 1==e.g?(n.graph.url?e=g(e,fetch(n.locateFile(n.graph.url,n.g)),3):(e.g=2,e=void 0),e):2!=e.g&&(t=e.j).body?e.return(t.arrayBuffer()):e.return(new ArrayBuffer(0))}))}))},(e=U.prototype).close=function(){return this.i&&this.i.delete(),Promise.resolve()},e.reset=function(){return A(this,(function e(){var t=this;return w(e,(function(e){t.i&&(t.i.reset(),t.j={},t.l={}),e.g=0}))}))},e.setOptions=function(e){if(this.h.options){for(var t=[],n=l(Object.keys(e)),r=n.next();!r.done;r=n.next()){var i=r.value;(r=this.h.options[i])&&r.graphOptionXref&&(i={valueNumber:0===r.type?e[i]:0,valueBoolean:1===r.type&&e[i]},r=Object.assign(Object.assign(Object.assign({},{calculatorName:"",calculatorIndex:0}),r.graphOptionXref),i),t.push(r))}0!==t.length&&(this.s=!0,this.A=t)}},e.initialize=function(){return A(this,(function e(){var t=this;return w(e,(function(e){return 1==e.g?g(e,A(t,(function e(){var t,n,r,i,o,a,s,c,u,d=this;return w(e,(function(e){switch(e.g){case 1:return t=d,d.D?(N("createMediapipeSolutionsWasm",{locateFile:d.locateFile}),N("createMediapipeSolutionsPackedAssets",{locateFile:d.locateFile}),n=d.h.files||[],g(e,function(){return A(this,(function e(){return w(e,(function(e){switch(e.g){case 1:return e.m=2,g(e,WebAssembly.instantiate(G),4);case 4:e.g=3,e.m=0;break;case 2:return e.m=0,e.i=null,e.return(!1);case 3:return e.return(!0)}}))}))}(),2)):e.return();case 2:return r=e.j,g(e,Promise.all(n.map((function(e){return void 0===e.simd||e.simd&&r||!e.simd&&!r?function(e){var t=document.createElement("script");return t.setAttribute("src",e),t.setAttribute("crossorigin","anonymous"),document.body.appendChild(t),new Promise((function(e){t.addEventListener("load",(function(){e()}),!1)}))}(t.locateFile(e.url,t.C)):Promise.resolve()}))),3);case 3:return i=window.createMediapipeSolutionsWasm,o=window.createMediapipeSolutionsPackedAssets,g(e,i(o),4);case 4:return d.g=e.j,d.m=document.createElement("canvas"),d.g.canvas=d.m,d.g.createContext(d.m,!0,!0,{}),d.i=new d.g.SolutionWasm,a=new W(d.h.graph,d.locateFile,d.C),g(e,d.loadGraph(a),5);case 5:if(d.h.listeners)for(s=l(d.h.listeners),c=s.next();!c.done;c=s.next())u=c.value,Y(d,u);d.D=!1,e.g=0}}))})),2):g(e,A(t,(function e(){var t,n,r,i,o,a=this;return w(e,(function(e){if(!a.s)return e.return();if(!(t=a.m.getContext("webgl2"))&&!(t=a.m.getContext("webgl")))return alert("Failed to create WebGL canvas context when passing video frame."),e.return();if(a.o=t,a.A){for(n=new a.g.GraphOptionChangeRequestList,r=l(a.A),i=r.next();!i.done;i=r.next())o=i.value,n.push_back(o);a.i.changeOptions(n),n.delete(),a.A=void 0}a.s=!1,e.g=0}))})),0)}))}))},e.loadGraph=function(e){return A(this,(function t(){var n,r=this;return w(t,(function(t){if(1==t.g)return g(t,e.toArrayBuffer(),2);n=t.j,r.i.loadGraph(n),t.g=0}))}))},e.send=function(e,t){return A(this,(function n(){var r,i,o,a,s,c,u,d,h,p=this;return w(n,(function(n){if(1==n.g)return p.h.inputs?(r=1e3*(t||performance.now()),g(n,p.B,2)):n.return();if(3!=n.g)return g(n,p.initialize(),3);for(i=new p.g.PacketDataList,o=l(Object.keys(e)),a=o.next();!a.done;a=o.next())if(s=a.value,c=p.h.inputs[s]){e:{var m=p,f=e[s];switch(c.type){case"video":var y=m.j[c.stream];if(y||(y=new L(m.g,m.o),m.j[c.stream]=y),0===(m=y).j&&(m.j=m.g.createTexture()),f instanceof HTMLVideoElement){var v=f.videoWidth;y=f.videoHeight}else f instanceof HTMLImageElement?(v=f.naturalWidth,y=f.naturalHeight):(v=f.width,y=f.height);y={glName:m.j,width:v,height:y},(v=m.i).canvas.width=y.width,v.canvas.height=y.height,v.activeTexture(v.TEXTURE0),m.g.bindTexture2d(m.j),v.texImage2D(v.TEXTURE_2D,0,v.RGBA,v.RGBA,v.UNSIGNED_BYTE,f),m.g.bindTexture2d(0),m=y;break e;case"detections":for((y=m.j[c.stream])||(y=new D(m.g),m.j[c.stream]=y),(m=y).data||(m.data=new m.g.DetectionListData),m.data.reset(f.length),y=0;y<f.length;++y){v=f[y],m.data.setBoundingBox(y,v.boundingBox);for(var b=0;b<v.landmarks.length;++b){var k=v.landmarks[b],w=!!k.visibility;m.data.addNormalizedLandmark(y,Object.assign(Object.assign({},k),{hasVisibility:w,visibility:w?k.visibility:0}))}for(b=0;b<v.G.length;++b){w=!!(k=v.G[b]).index;var S=!!k.label,C=!!k.displayName;m.data.addClassification(y,{score:k.score,hasIndex:w,index:w?k.index:-1,hasLabel:S,label:S?k.label:"",hasDisplayName:C,displayName:C?k.displayName:""})}}m=m.data;break e;default:m={}}}switch(u=m,d=c.stream,c.type){case"video":i.pushTexture2d(Object.assign(Object.assign({},u),{stream:d,timestamp:r}));break;case"detections":(h=u).stream=d,h.timestamp=r,i.pushDetectionList(h);break;default:throw Error("Unknown input config type: '"+c.type+"'")}}p.i.send(i),i.delete(),n.g=0}))}))},e.onResults=function(e,t){this.listeners[t||"$"]=e},P("Solution",U),P("OptionType",{NUMBER:0,BOOL:1,0:"NUMBER",1:"BOOL"}),(e=q.prototype).close=function(){return this.g.close(),Promise.resolve()},e.onResults=function(e){this.g.onResults(e)},e.initialize=function(){return A(this,(function e(){var t=this;return w(e,(function(e){return g(e,t.g.initialize(),0)}))}))},e.reset=function(){this.g.reset()},e.send=function(e){return A(this,(function t(){var n=this;return w(t,(function(t){return g(t,n.g.send(e),0)}))}))},e.setOptions=function(e){this.g.setOptions(e)},P("FaceDetection",q),P("FACEDETECTION_LIPS",x),P("FACEDETECTION_LEFT_EYE",T),P("FACEDETECTION_LEFT_EYEBROW",R),P("FACEDETECTION_RIGHT_EYE",E),P("FACEDETECTION_RIGHT_EYEBROW",_),P("FACEDETECTION_FACE_OVAL",I),P("FACEDETECTION_CONTOURS",F),P("FACEDETECTION_TESSELATION",[[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]])}).call(this)},129:function(e){e.exports=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){var n,i,o;n=t,i=e,o=r[e],(i=a(i))in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return n="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},n(e)}function r(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,a(r.key),r)}}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function a(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var s="undefined"!=typeof window&&void 0!==window.document,l=s?window:{},c=!(!s||!l.document.documentElement)&&"ontouchstart"in l.document.documentElement,u=!!s&&"PointerEvent"in l,d="cropper",h="all",p="crop",m="move",f="zoom",g="e",y="w",v="s",b="n",k="ne",w="nw",S="se",C="sw",P="".concat(d,"-crop"),A="".concat(d,"-disabled"),x="".concat(d,"-hidden"),T="".concat(d,"-hide"),R="".concat(d,"-invisible"),E="".concat(d,"-modal"),_="".concat(d,"-move"),I="".concat(d,"Action"),F="".concat(d,"Preview"),O="crop",L="move",M="none",D="crop",G="cropend",B="cropmove",N="cropstart",j="dblclick",z=u?"pointerdown":c?"touchstart":"mousedown",W=u?"pointermove":c?"touchmove":"mousemove",U=u?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",H="ready",Y="resize",q="wheel",J="zoom",V="image/jpeg",$=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,K=/^data:/,Z=/^data:image\/jpeg;base64,/,X=/^img|canvas$/i,Q={viewMode:0,dragMode:O,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},ee=Number.isNaN||l.isNaN;function te(e){return"number"==typeof e&&!ee(e)}var ne=function(e){return e>0&&e<1/0};function re(e){return void 0===e}function ie(e){return"object"===n(e)&&null!==e}var oe=Object.prototype.hasOwnProperty;function ae(e){if(!ie(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&oe.call(n,"isPrototypeOf")}catch(e){return!1}}function se(e){return"function"==typeof e}var le=Array.prototype.slice;function ce(e){return Array.from?Array.from(e):le.call(e)}function ue(e,t){return e&&se(t)&&(Array.isArray(e)||te(e.length)?ce(e).forEach((function(n,r){t.call(e,n,r,e)})):ie(e)&&Object.keys(e).forEach((function(n){t.call(e,e[n],n,e)}))),e}var de=Object.assign||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];return ie(e)&&n.length>0&&n.forEach((function(t){ie(t)&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e},he=/\.\d*(?:0|9){12}\d*$/;function pe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return he.test(e)?Math.round(e*t)/t:e}var me=/^width|height|left|top|marginLeft|marginTop$/;function fe(e,t){var n=e.style;ue(t,(function(e,t){me.test(t)&&te(e)&&(e="".concat(e,"px")),n[t]=e}))}function ge(e,t){if(t)if(te(e.length))ue(e,(function(e){ge(e,t)}));else if(e.classList)e.classList.add(t);else{var n=e.className.trim();n?n.indexOf(t)<0&&(e.className="".concat(n," ").concat(t)):e.className=t}}function ye(e,t){t&&(te(e.length)?ue(e,(function(e){ye(e,t)})):e.classList?e.classList.remove(t):e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function ve(e,t,n){t&&(te(e.length)?ue(e,(function(e){ve(e,t,n)})):n?ge(e,t):ye(e,t))}var be=/([a-z\d])([A-Z])/g;function ke(e){return e.replace(be,"$1-$2").toLowerCase()}function we(e,t){return ie(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(ke(t)))}function Se(e,t,n){ie(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute("data-".concat(ke(t)),n)}var Ce=/\s\s*/,Pe=function(){var e=!1;if(s){var t=!1,n=function(){},r=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(e){t=e}});l.addEventListener("test",n,r),l.removeEventListener("test",n,r)}return e}();function Ae(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=n;t.trim().split(Ce).forEach((function(t){if(!Pe){var o=e.listeners;o&&o[t]&&o[t][n]&&(i=o[t][n],delete o[t][n],0===Object.keys(o[t]).length&&delete o[t],0===Object.keys(o).length&&delete e.listeners)}e.removeEventListener(t,i,r)}))}function xe(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=n;t.trim().split(Ce).forEach((function(t){if(r.once&&!Pe){var o=e.listeners,a=void 0===o?{}:o;i=function(){delete a[t][n],e.removeEventListener(t,i,r);for(var o=arguments.length,s=new Array(o),l=0;l<o;l++)s[l]=arguments[l];n.apply(e,s)},a[t]||(a[t]={}),a[t][n]&&e.removeEventListener(t,a[t][n],r),a[t][n]=i,e.listeners=a}e.addEventListener(t,i,r)}))}function Te(e,t,n){var r;return se(Event)&&se(CustomEvent)?r=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0}):(r=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,n),e.dispatchEvent(r)}function Re(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var Ee=l.location,_e=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Ie(e){var t=e.match(_e);return null!==t&&(t[1]!==Ee.protocol||t[2]!==Ee.hostname||t[3]!==Ee.port)}function Fe(e){var t="timestamp=".concat((new Date).getTime());return e+(-1===e.indexOf("?")?"?":"&")+t}function Oe(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,o=e.translateY,a=[];te(i)&&0!==i&&a.push("translateX(".concat(i,"px)")),te(o)&&0!==o&&a.push("translateY(".concat(o,"px)")),te(t)&&0!==t&&a.push("rotate(".concat(t,"deg)")),te(n)&&1!==n&&a.push("scaleX(".concat(n,")")),te(r)&&1!==r&&a.push("scaleY(".concat(r,")"));var s=a.length?a.join(" "):"none";return{WebkitTransform:s,msTransform:s,transform:s}}function Le(e,n){var r=e.pageX,i=e.pageY,o={endX:r,endY:i};return n?o:t({startX:r,startY:i},o)}function Me(e){var t=e.aspectRatio,n=e.height,r=e.width,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",o=ne(r),a=ne(n);if(o&&a){var s=n*t;"contain"===i&&s>r||"cover"===i&&s<r?n=r/t:r=n*t}else o?n=r/t:a&&(r=n*t);return{width:r,height:n}}var De=String.fromCharCode;var Ge=/^data:.*,/;function Be(e){var t,n=new DataView(e);try{var r,i,o;if(255===n.getUint8(0)&&216===n.getUint8(1))for(var a=n.byteLength,s=2;s+1<a;){if(255===n.getUint8(s)&&225===n.getUint8(s+1)){i=s;break}s+=1}if(i){var l=i+10;if("Exif"===function(e,t,n){var r="";n+=t;for(var i=t;i<n;i+=1)r+=De(e.getUint8(i));return r}(n,i+4,4)){var c=n.getUint16(l);if(((r=18761===c)||19789===c)&&42===n.getUint16(l+2,r)){var u=n.getUint32(l+4,r);u>=8&&(o=l+u)}}}if(o){var d,h,p=n.getUint16(o,r);for(h=0;h<p;h+=1)if(d=o+12*h+2,274===n.getUint16(d,r)){d+=8,t=n.getUint16(d,r),n.setUint16(d,1,r);break}}}catch(e){t=1}return t}var Ne={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,t=this.options,n=this.container,r=this.cropper,i=Number(t.minContainerWidth),o=Number(t.minContainerHeight);ge(r,x),ye(e,x);var a={width:Math.max(n.offsetWidth,i>=0?i:200),height:Math.max(n.offsetHeight,o>=0?o:100)};this.containerData=a,fe(r,{width:a.width,height:a.height}),ge(e,x),ye(r,x)},initCanvas:function(){var e=this.containerData,t=this.imageData,n=this.options.viewMode,r=Math.abs(t.rotate)%180==90,i=r?t.naturalHeight:t.naturalWidth,o=r?t.naturalWidth:t.naturalHeight,a=i/o,s=e.width,l=e.height;e.height*a>e.width?3===n?s=e.height*a:l=e.width/a:3===n?l=e.width/a:s=e.height*a;var c={aspectRatio:a,naturalWidth:i,naturalHeight:o,width:s,height:l};this.canvasData=c,this.limited=1===n||2===n,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(e.width-c.width)/2,c.top=(e.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=de({},c)},limitCanvas:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,o=this.cropBoxData,a=n.viewMode,s=i.aspectRatio,l=this.cropped&&o;if(e){var c=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;a>1?(c=Math.max(c,r.width),u=Math.max(u,r.height),3===a&&(u*s>c?c=u*s:u=c/s)):a>0&&(c?c=Math.max(c,l?o.width:0):u?u=Math.max(u,l?o.height:0):l&&(c=o.width,(u=o.height)*s>c?c=u*s:u=c/s));var d=Me({aspectRatio:s,width:c,height:u});c=d.width,u=d.height,i.minWidth=c,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(t)if(a>(l?0:1)){var h=r.width-i.width,p=r.height-i.height;i.minLeft=Math.min(0,h),i.minTop=Math.min(0,p),i.maxLeft=Math.max(0,h),i.maxTop=Math.max(0,p),l&&this.limited&&(i.minLeft=Math.min(o.left,o.left+(o.width-i.width)),i.minTop=Math.min(o.top,o.top+(o.height-i.height)),i.maxLeft=o.left,i.maxTop=o.top,2===a&&(i.width>=r.width&&(i.minLeft=Math.min(0,h),i.maxLeft=Math.max(0,h)),i.height>=r.height&&(i.minTop=Math.min(0,p),i.maxTop=Math.max(0,p))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=r.width,i.maxTop=r.height},renderCanvas:function(e,t){var n=this.canvasData,r=this.imageData;if(t){var i=function(e){var t=e.width,n=e.height,r=e.degree;if(90==(r=Math.abs(r)%180))return{width:n,height:t};var i=r%90*Math.PI/180,o=Math.sin(i),a=Math.cos(i),s=t*a+n*o,l=t*o+n*a;return r>90?{width:l,height:s}:{width:s,height:l}}({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),o=i.width,a=i.height,s=n.width*(o/n.naturalWidth),l=n.height*(a/n.naturalHeight);n.left-=(s-n.width)/2,n.top-=(l-n.height)/2,n.width=s,n.height=l,n.aspectRatio=o/a,n.naturalWidth=o,n.naturalHeight=a,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,fe(this.canvas,de({width:n.width,height:n.height},Oe({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var t=this.canvasData,n=this.imageData,r=n.naturalWidth*(t.width/t.naturalWidth),i=n.naturalHeight*(t.height/t.naturalHeight);de(n,{width:r,height:i,left:(t.width-r)/2,top:(t.height-i)/2}),fe(this.image,de({width:n.width,height:n.height},Oe(de({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,t=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,r=Number(e.autoCropArea)||.8,i={width:t.width,height:t.height};n&&(t.height*n>t.width?i.height=i.width/n:i.width=i.height*n),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*r),i.height=Math.max(i.minHeight,i.height*r),i.left=t.left+(t.width-i.width)/2,i.top=t.top+(t.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=de({},i)},limitCropBox:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,o=this.cropBoxData,a=this.limited,s=n.aspectRatio;if(e){var l=Number(n.minCropBoxWidth)||0,c=Number(n.minCropBoxHeight)||0,u=a?Math.min(r.width,i.width,i.width+i.left,r.width-i.left):r.width,d=a?Math.min(r.height,i.height,i.height+i.top,r.height-i.top):r.height;l=Math.min(l,r.width),c=Math.min(c,r.height),s&&(l&&c?c*s>l?c=l/s:l=c*s:l?c=l/s:c&&(l=c*s),d*s>u?d=u/s:u=d*s),o.minWidth=Math.min(l,u),o.minHeight=Math.min(c,d),o.maxWidth=u,o.maxHeight=d}t&&(a?(o.minLeft=Math.max(0,i.left),o.minTop=Math.max(0,i.top),o.maxLeft=Math.min(r.width,i.left+i.width)-o.width,o.maxTop=Math.min(r.height,i.top+i.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=r.width-o.width,o.maxTop=r.height-o.height))},renderCropBox:function(){var e=this.options,t=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Se(this.face,I,n.width>=t.width&&n.height>=t.height?m:h),fe(this.cropBox,de({width:n.width,height:n.height},Oe({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Te(this.element,D,this.getData())}},je={initPreview:function(){var e=this.element,t=this.crossOrigin,n=this.options.preview,r=t?this.crossOriginUrl:this.url,i=e.alt||"The image to preview",o=document.createElement("img");if(t&&(o.crossOrigin=t),o.src=r,o.alt=i,this.viewBox.appendChild(o),this.viewBoxImage=o,n){var a=n;"string"==typeof n?a=e.ownerDocument.querySelectorAll(n):n.querySelector&&(a=[n]),this.previews=a,ue(a,(function(e){var n=document.createElement("img");Se(e,F,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=r,n.alt=i,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)}))}},resetPreview:function(){ue(this.previews,(function(e){var t=we(e,F);fe(e,{width:t.width,height:t.height}),e.innerHTML=t.html,function(e,t){if(ie(e[t]))try{delete e[t]}catch(n){e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch(n){e.dataset[t]=void 0}else e.removeAttribute("data-".concat(ke(t)))}(e,F)}))},preview:function(){var e=this.imageData,t=this.canvasData,n=this.cropBoxData,r=n.width,i=n.height,o=e.width,a=e.height,s=n.left-t.left-e.left,l=n.top-t.top-e.top;this.cropped&&!this.disabled&&(fe(this.viewBoxImage,de({width:o,height:a},Oe(de({translateX:-s,translateY:-l},e)))),ue(this.previews,(function(t){var n=we(t,F),c=n.width,u=n.height,d=c,h=u,p=1;r&&(h=i*(p=c/r)),i&&h>u&&(d=r*(p=u/i),h=u),fe(t,{width:d,height:h}),fe(t.getElementsByTagName("img")[0],de({width:o*p,height:a*p},Oe(de({translateX:-s*p,translateY:-l*p},e))))})))}},ze={bind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&xe(e,N,t.cropstart),se(t.cropmove)&&xe(e,B,t.cropmove),se(t.cropend)&&xe(e,G,t.cropend),se(t.crop)&&xe(e,D,t.crop),se(t.zoom)&&xe(e,J,t.zoom),xe(n,z,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&xe(n,q,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&xe(n,j,this.onDblclick=this.dblclick.bind(this)),xe(e.ownerDocument,W,this.onCropMove=this.cropMove.bind(this)),xe(e.ownerDocument,U,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&xe(window,Y,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&Ae(e,N,t.cropstart),se(t.cropmove)&&Ae(e,B,t.cropmove),se(t.cropend)&&Ae(e,G,t.cropend),se(t.crop)&&Ae(e,D,t.crop),se(t.zoom)&&Ae(e,J,t.zoom),Ae(n,z,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Ae(n,q,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ae(n,j,this.onDblclick),Ae(e.ownerDocument,W,this.onCropMove),Ae(e.ownerDocument,U,this.onCropEnd),t.responsive&&Ae(window,Y,this.onResize)}},We={resize:function(){if(!this.disabled){var e,t,n=this.options,r=this.container,i=this.containerData,o=r.offsetWidth/i.width,a=r.offsetHeight/i.height,s=Math.abs(o-1)>Math.abs(a-1)?o:a;1!==s&&(n.restore&&(e=this.getCanvasData(),t=this.getCropBoxData()),this.render(),n.restore&&(this.setCanvasData(ue(e,(function(t,n){e[n]=t*s}))),this.setCropBoxData(ue(t,(function(e,n){t[n]=e*s})))))}},dblclick:function(){var e,t;this.disabled||this.options.dragMode===M||this.setDragMode((e=this.dragBox,t=P,(e.classList?e.classList.contains(t):e.className.indexOf(t)>-1)?L:O))},wheel:function(e){var t=this,n=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){t.wheeling=!1}),50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*n,e)))},cropStart:function(e){var t=e.buttons,n=e.button;if(!(this.disabled||("mousedown"===e.type||"pointerdown"===e.type&&"mouse"===e.pointerType)&&(te(t)&&1!==t||te(n)&&0!==n||e.ctrlKey))){var r,i=this.options,o=this.pointers;e.changedTouches?ue(e.changedTouches,(function(e){o[e.identifier]=Le(e)})):o[e.pointerId||0]=Le(e),r=Object.keys(o).length>1&&i.zoomable&&i.zoomOnTouch?f:we(e.target,I),$.test(r)&&!1!==Te(this.element,N,{originalEvent:e,action:r})&&(e.preventDefault(),this.action=r,this.cropping=!1,r===p&&(this.cropping=!0,ge(this.dragBox,E)))}},cropMove:function(e){var t=this.action;if(!this.disabled&&t){var n=this.pointers;e.preventDefault(),!1!==Te(this.element,B,{originalEvent:e,action:t})&&(e.changedTouches?ue(e.changedTouches,(function(e){de(n[e.identifier]||{},Le(e,!0))})):de(n[e.pointerId||0]||{},Le(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,n=this.pointers;e.changedTouches?ue(e.changedTouches,(function(e){delete n[e.identifier]})):delete n[e.pointerId||0],t&&(e.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,ve(this.dragBox,E,this.cropped&&this.options.modal)),Te(this.element,G,{originalEvent:e,action:t}))}}},Ue={change:function(e){var n,r=this.options,i=this.canvasData,o=this.containerData,a=this.cropBoxData,s=this.pointers,l=this.action,c=r.aspectRatio,u=a.left,d=a.top,P=a.width,A=a.height,T=u+P,R=d+A,E=0,_=0,I=o.width,F=o.height,O=!0;!c&&e.shiftKey&&(c=P&&A?P/A:1),this.limited&&(E=a.minLeft,_=a.minTop,I=E+Math.min(o.width,i.width,i.left+i.width),F=_+Math.min(o.height,i.height,i.top+i.height));var L=s[Object.keys(s)[0]],M={x:L.endX-L.startX,y:L.endY-L.startY},D=function(e){switch(e){case g:T+M.x>I&&(M.x=I-T);break;case y:u+M.x<E&&(M.x=E-u);break;case b:d+M.y<_&&(M.y=_-d);break;case v:R+M.y>F&&(M.y=F-R)}};switch(l){case h:u+=M.x,d+=M.y;break;case g:if(M.x>=0&&(T>=I||c&&(d<=_||R>=F))){O=!1;break}D(g),(P+=M.x)<0&&(l=y,u-=P=-P),c&&(A=P/c,d+=(a.height-A)/2);break;case b:if(M.y<=0&&(d<=_||c&&(u<=E||T>=I))){O=!1;break}D(b),A-=M.y,d+=M.y,A<0&&(l=v,d-=A=-A),c&&(P=A*c,u+=(a.width-P)/2);break;case y:if(M.x<=0&&(u<=E||c&&(d<=_||R>=F))){O=!1;break}D(y),P-=M.x,u+=M.x,P<0&&(l=g,u-=P=-P),c&&(A=P/c,d+=(a.height-A)/2);break;case v:if(M.y>=0&&(R>=F||c&&(u<=E||T>=I))){O=!1;break}D(v),(A+=M.y)<0&&(l=b,d-=A=-A),c&&(P=A*c,u+=(a.width-P)/2);break;case k:if(c){if(M.y<=0&&(d<=_||T>=I)){O=!1;break}D(b),A-=M.y,d+=M.y,P=A*c}else D(b),D(g),M.x>=0?T<I?P+=M.x:M.y<=0&&d<=_&&(O=!1):P+=M.x,M.y<=0?d>_&&(A-=M.y,d+=M.y):(A-=M.y,d+=M.y);P<0&&A<0?(l=C,d-=A=-A,u-=P=-P):P<0?(l=w,u-=P=-P):A<0&&(l=S,d-=A=-A);break;case w:if(c){if(M.y<=0&&(d<=_||u<=E)){O=!1;break}D(b),A-=M.y,d+=M.y,P=A*c,u+=a.width-P}else D(b),D(y),M.x<=0?u>E?(P-=M.x,u+=M.x):M.y<=0&&d<=_&&(O=!1):(P-=M.x,u+=M.x),M.y<=0?d>_&&(A-=M.y,d+=M.y):(A-=M.y,d+=M.y);P<0&&A<0?(l=S,d-=A=-A,u-=P=-P):P<0?(l=k,u-=P=-P):A<0&&(l=C,d-=A=-A);break;case C:if(c){if(M.x<=0&&(u<=E||R>=F)){O=!1;break}D(y),P-=M.x,u+=M.x,A=P/c}else D(v),D(y),M.x<=0?u>E?(P-=M.x,u+=M.x):M.y>=0&&R>=F&&(O=!1):(P-=M.x,u+=M.x),M.y>=0?R<F&&(A+=M.y):A+=M.y;P<0&&A<0?(l=k,d-=A=-A,u-=P=-P):P<0?(l=S,u-=P=-P):A<0&&(l=w,d-=A=-A);break;case S:if(c){if(M.x>=0&&(T>=I||R>=F)){O=!1;break}D(g),A=(P+=M.x)/c}else D(v),D(g),M.x>=0?T<I?P+=M.x:M.y>=0&&R>=F&&(O=!1):P+=M.x,M.y>=0?R<F&&(A+=M.y):A+=M.y;P<0&&A<0?(l=w,d-=A=-A,u-=P=-P):P<0?(l=C,u-=P=-P):A<0&&(l=k,d-=A=-A);break;case m:this.move(M.x,M.y),O=!1;break;case f:this.zoom(function(e){var n=t({},e),r=0;return ue(e,(function(e,t){delete n[t],ue(n,(function(t){var n=Math.abs(e.startX-t.startX),i=Math.abs(e.startY-t.startY),o=Math.abs(e.endX-t.endX),a=Math.abs(e.endY-t.endY),s=Math.sqrt(n*n+i*i),l=(Math.sqrt(o*o+a*a)-s)/s;Math.abs(l)>Math.abs(r)&&(r=l)}))})),r}(s),e),O=!1;break;case p:if(!M.x||!M.y){O=!1;break}n=Re(this.cropper),u=L.startX-n.left,d=L.startY-n.top,P=a.minWidth,A=a.minHeight,M.x>0?l=M.y>0?S:k:M.x<0&&(u-=P,l=M.y>0?C:w),M.y<0&&(d-=A),this.cropped||(ye(this.cropBox,x),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}O&&(a.width=P,a.height=A,a.left=u,a.top=d,this.action=l,this.renderCropBox()),ue(s,(function(e){e.startX=e.endX,e.startY=e.endY}))}},He={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&ge(this.dragBox,E),ye(this.cropBox,x),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=de({},this.initialImageData),this.canvasData=de({},this.initialCanvasData),this.cropBoxData=de({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(de(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ye(this.dragBox,E),ge(this.cropBox,x)),this},replace:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,ue(this.previews,(function(t){t.getElementsByTagName("img")[0].src=e})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ye(this.cropper,A)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,ge(this.cropper,A)),this},destroy:function(){var e=this.element;return e[d]?(e[d]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,r=n.left,i=n.top;return this.moveTo(re(e)?e:r+Number(e),re(t)?t:i+Number(t))},moveTo:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(te(e)&&(n.left=e,r=!0),te(t)&&(n.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var n=this.canvasData;return e=(e=Number(e))<0?1/(1-e):1+e,this.zoomTo(n.width*e/n.naturalWidth,null,t)},zoomTo:function(e,t,n){var r=this.options,i=this.canvasData,o=i.width,a=i.height,s=i.naturalWidth,l=i.naturalHeight;if((e=Number(e))>=0&&this.ready&&!this.disabled&&r.zoomable){var c=s*e,u=l*e;if(!1===Te(this.element,J,{ratio:e,oldRatio:o/s,originalEvent:n}))return this;if(n){var d=this.pointers,h=Re(this.cropper),p=d&&Object.keys(d).length?function(e){var t=0,n=0,r=0;return ue(e,(function(e){var i=e.startX,o=e.startY;t+=i,n+=o,r+=1})),{pageX:t/=r,pageY:n/=r}}(d):{pageX:n.pageX,pageY:n.pageY};i.left-=(c-o)*((p.pageX-h.left-i.left)/o),i.top-=(u-a)*((p.pageY-h.top-i.top)/a)}else ae(t)&&te(t.x)&&te(t.y)?(i.left-=(c-o)*((t.x-i.left)/o),i.top-=(u-a)*((t.y-i.top)/a)):(i.left-=(c-o)/2,i.top-=(u-a)/2);i.width=c,i.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return te(e=Number(e))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,te(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(te(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(te(e)&&(n.scaleX=e,r=!0),te(t)&&(n.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.options,r=this.imageData,i=this.canvasData,o=this.cropBoxData;if(this.ready&&this.cropped){e={x:o.left-i.left,y:o.top-i.top,width:o.width,height:o.height};var a=r.width/r.naturalWidth;if(ue(e,(function(t,n){e[n]=t/a})),t){var s=Math.round(e.y+e.height),l=Math.round(e.x+e.width);e.x=Math.round(e.x),e.y=Math.round(e.y),e.width=l-e.x,e.height=s-e.y}}else e={x:0,y:0,width:0,height:0};return n.rotatable&&(e.rotate=r.rotate||0),n.scalable&&(e.scaleX=r.scaleX||1,e.scaleY=r.scaleY||1),e},setData:function(e){var t=this.options,n=this.imageData,r=this.canvasData,i={};if(this.ready&&!this.disabled&&ae(e)){var o=!1;t.rotatable&&te(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,o=!0),t.scalable&&(te(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,o=!0),te(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var a=n.width/n.naturalWidth;te(e.x)&&(i.left=e.x*a+r.left),te(e.y)&&(i.top=e.y*a+r.top),te(e.width)&&(i.width=e.width*a),te(e.height)&&(i.height=e.height*a),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?de({},this.containerData):{}},getImageData:function(){return this.sized?de({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&ue(["left","top","width","height","naturalWidth","naturalHeight"],(function(n){t[n]=e[n]})),t},setCanvasData:function(e){var t=this.canvasData,n=t.aspectRatio;return this.ready&&!this.disabled&&ae(e)&&(te(e.left)&&(t.left=e.left),te(e.top)&&(t.top=e.top),te(e.width)?(t.width=e.width,t.height=e.width/n):te(e.height)&&(t.height=e.height,t.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e,t=this.cropBoxData;return this.ready&&this.cropped&&(e={left:t.left,top:t.top,width:t.width,height:t.height}),e||{}},setCropBoxData:function(e){var t,n,r=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&ae(e)&&(te(e.left)&&(r.left=e.left),te(e.top)&&(r.top=e.top),te(e.width)&&e.width!==r.width&&(t=!0,r.width=e.width),te(e.height)&&e.height!==r.height&&(n=!0,r.height=e.height),i&&(t?r.height=r.width/i:n&&(r.width=r.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,n=function(e,t,n,r){var o=t.aspectRatio,a=t.naturalWidth,s=t.naturalHeight,l=t.rotate,c=void 0===l?0:l,u=t.scaleX,d=void 0===u?1:u,h=t.scaleY,p=void 0===h?1:h,m=n.aspectRatio,f=n.naturalWidth,g=n.naturalHeight,y=r.fillColor,v=void 0===y?"transparent":y,b=r.imageSmoothingEnabled,k=void 0===b||b,w=r.imageSmoothingQuality,S=void 0===w?"low":w,C=r.maxWidth,P=void 0===C?1/0:C,A=r.maxHeight,x=void 0===A?1/0:A,T=r.minWidth,R=void 0===T?0:T,E=r.minHeight,_=void 0===E?0:E,I=document.createElement("canvas"),F=I.getContext("2d"),O=Me({aspectRatio:m,width:P,height:x}),L=Me({aspectRatio:m,width:R,height:_},"cover"),M=Math.min(O.width,Math.max(L.width,f)),D=Math.min(O.height,Math.max(L.height,g)),G=Me({aspectRatio:o,width:P,height:x}),B=Me({aspectRatio:o,width:R,height:_},"cover"),N=Math.min(G.width,Math.max(B.width,a)),j=Math.min(G.height,Math.max(B.height,s)),z=[-N/2,-j/2,N,j];return I.width=pe(M),I.height=pe(D),F.fillStyle=v,F.fillRect(0,0,M,D),F.save(),F.translate(M/2,D/2),F.rotate(c*Math.PI/180),F.scale(d,p),F.imageSmoothingEnabled=k,F.imageSmoothingQuality=S,F.drawImage.apply(F,[e].concat(i(z.map((function(e){return Math.floor(pe(e))}))))),F.restore(),I}(this.image,this.imageData,t,e);if(!this.cropped)return n;var r=this.getData(e.rounded),o=r.x,a=r.y,s=r.width,l=r.height,c=n.width/Math.floor(t.naturalWidth);1!==c&&(o*=c,a*=c,s*=c,l*=c);var u=s/l,d=Me({aspectRatio:u,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),h=Me({aspectRatio:u,width:e.minWidth||0,height:e.minHeight||0},"cover"),p=Me({aspectRatio:u,width:e.width||(1!==c?n.width:s),height:e.height||(1!==c?n.height:l)}),m=p.width,f=p.height;m=Math.min(d.width,Math.max(h.width,m)),f=Math.min(d.height,Math.max(h.height,f));var g=document.createElement("canvas"),y=g.getContext("2d");g.width=pe(m),g.height=pe(f),y.fillStyle=e.fillColor||"transparent",y.fillRect(0,0,m,f);var v=e.imageSmoothingEnabled,b=void 0===v||v,k=e.imageSmoothingQuality;y.imageSmoothingEnabled=b,k&&(y.imageSmoothingQuality=k);var w,S,C,P,A,x,T=n.width,R=n.height,E=o,_=a;E<=-s||E>T?(E=0,w=0,C=0,A=0):E<=0?(C=-E,E=0,A=w=Math.min(T,s+E)):E<=T&&(C=0,A=w=Math.min(s,T-E)),w<=0||_<=-l||_>R?(_=0,S=0,P=0,x=0):_<=0?(P=-_,_=0,x=S=Math.min(R,l+_)):_<=R&&(P=0,x=S=Math.min(l,R-_));var I=[E,_,w,S];if(A>0&&x>0){var F=m/s;I.push(C*F,P*F,A*F,x*F)}return y.drawImage.apply(y,[n].concat(i(I.map((function(e){return Math.floor(pe(e))}))))),g},setAspectRatio:function(e){var t=this.options;return this.disabled||re(e)||(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,n=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var i=e===O,o=t.movable&&e===L;e=i||o?e:M,t.dragMode=e,Se(n,I,e),ve(n,P,i),ve(n,_,o),t.cropBoxMovable||(Se(r,I,e),ve(r,P,i),ve(r,_,o))}return this}},Ye=l.Cropper,qe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t||!X.test(t.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=t,this.options=de({},Q,ae(n)&&n),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return t=e,i=[{key:"noConflict",value:function(){return window.Cropper=Ye,e}},{key:"setDefaults",value:function(e){de(Q,ae(e)&&e)}}],(n=[{key:"init",value:function(){var e,t=this.element,n=t.tagName.toLowerCase();if(!t[d]){if(t[d]=this,"img"===n){if(this.isImg=!0,e=t.getAttribute("src")||"",this.originalUrl=e,!e)return;e=t.src}else"canvas"===n&&window.HTMLCanvasElement&&(e=t.toDataURL());this.load(e)}}},{key:"load",value:function(e){var t,n,r,i,o=this;if(e){this.url=e,this.imageData={};var a=this.element,s=this.options;if(s.rotatable||s.scalable||(s.checkOrientation=!1),s.checkOrientation&&window.ArrayBuffer)if(K.test(e))Z.test(e)?this.read((t=e.replace(Ge,""),n=atob(t),r=new ArrayBuffer(n.length),ue(i=new Uint8Array(r),(function(e,t){i[t]=n.charCodeAt(t)})),r)):this.clone();else{var l=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=l,l.onabort=c,l.onerror=c,l.ontimeout=c,l.onprogress=function(){l.getResponseHeader("content-type")!==V&&l.abort()},l.onload=function(){o.read(l.response)},l.onloadend=function(){o.reloading=!1,o.xhr=null},s.checkCrossOrigin&&Ie(e)&&a.crossOrigin&&(e=Fe(e)),l.open("GET",e,!0),l.responseType="arraybuffer",l.withCredentials="use-credentials"===a.crossOrigin,l.send()}else this.clone()}}},{key:"read",value:function(e){var t=this.options,n=this.imageData,r=Be(e),i=0,o=1,a=1;if(r>1){this.url=function(e,t){for(var n=[],r=new Uint8Array(e);r.length>0;)n.push(De.apply(null,ce(r.subarray(0,8192)))),r=r.subarray(8192);return"data:".concat(t,";base64,").concat(btoa(n.join("")))}(e,V);var s=function(e){var t=0,n=1,r=1;switch(e){case 2:n=-1;break;case 3:t=-180;break;case 4:r=-1;break;case 5:t=90,r=-1;break;case 6:t=90;break;case 7:t=90,n=-1;break;case 8:t=-90}return{rotate:t,scaleX:n,scaleY:r}}(r);i=s.rotate,o=s.scaleX,a=s.scaleY}t.rotatable&&(n.rotate=i),t.scalable&&(n.scaleX=o,n.scaleY=a),this.clone()}},{key:"clone",value:function(){var e=this.element,t=this.url,n=e.crossOrigin,r=t;this.options.checkCrossOrigin&&Ie(t)&&(n||(n="anonymous"),r=Fe(t)),this.crossOrigin=n,this.crossOriginUrl=r;var i=document.createElement("img");n&&(i.crossOrigin=n),i.src=r||t,i.alt=e.alt||"The image to crop",this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),ge(i,T),e.parentNode.insertBefore(i,e.nextSibling)}},{key:"start",value:function(){var e=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;var n=l.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(l.navigator.userAgent),r=function(t,n){de(e.imageData,{naturalWidth:t,naturalHeight:n,aspectRatio:t/n}),e.initialImageData=de({},e.imageData),e.sizing=!1,e.sized=!0,e.build()};if(!t.naturalWidth||n){var i=document.createElement("img"),o=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){r(i.width,i.height),n||o.removeChild(i)},i.src=t.src,n||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",o.appendChild(i))}else r(t.naturalWidth,t.naturalHeight)}},{key:"stop",value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var e=this.element,t=this.options,n=this.image,r=e.parentNode,i=document.createElement("div");i.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var o=i.querySelector(".".concat(d,"-container")),a=o.querySelector(".".concat(d,"-canvas")),s=o.querySelector(".".concat(d,"-drag-box")),l=o.querySelector(".".concat(d,"-crop-box")),c=l.querySelector(".".concat(d,"-face"));this.container=r,this.cropper=o,this.canvas=a,this.dragBox=s,this.cropBox=l,this.viewBox=o.querySelector(".".concat(d,"-view-box")),this.face=c,a.appendChild(n),ge(e,x),r.insertBefore(o,e.nextSibling),ye(n,T),this.initPreview(),this.bind(),t.initialAspectRatio=Math.max(0,t.initialAspectRatio)||NaN,t.aspectRatio=Math.max(0,t.aspectRatio)||NaN,t.viewMode=Math.max(0,Math.min(3,Math.round(t.viewMode)))||0,ge(l,x),t.guides||ge(l.getElementsByClassName("".concat(d,"-dashed")),x),t.center||ge(l.getElementsByClassName("".concat(d,"-center")),x),t.background&&ge(o,"".concat(d,"-bg")),t.highlight||ge(c,R),t.cropBoxMovable&&(ge(c,_),Se(c,I,h)),t.cropBoxResizable||(ge(l.getElementsByClassName("".concat(d,"-line")),x),ge(l.getElementsByClassName("".concat(d,"-point")),x)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),se(t.ready)&&xe(e,H,t.ready,{once:!0}),Te(e,H)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var e=this.cropper.parentNode;e&&e.removeChild(this.cropper),ye(this.element,x)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&r(t.prototype,n),i&&r(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,n,i}();return de(qe.prototype,Ne,je,ze,We,Ue,He),qe}()},486:function(e,t,n){var r;e=n.nmd(e),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",l=32,c=128,u=1/0,d=9007199254740991,h=NaN,p=4294967295,m=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],f="[object Arguments]",g="[object Array]",y="[object Boolean]",v="[object Date]",b="[object Error]",k="[object Function]",w="[object GeneratorFunction]",S="[object Map]",C="[object Number]",P="[object Object]",A="[object Promise]",x="[object RegExp]",T="[object Set]",R="[object String]",E="[object Symbol]",_="[object WeakMap]",I="[object ArrayBuffer]",F="[object DataView]",O="[object Float32Array]",L="[object Float64Array]",M="[object Int8Array]",D="[object Int16Array]",G="[object Int32Array]",B="[object Uint8Array]",N="[object Uint8ClampedArray]",j="[object Uint16Array]",z="[object Uint32Array]",W=/\b__p \+= '';/g,U=/\b(__p \+=) '' \+/g,H=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,J=RegExp(Y.source),V=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ae=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ce=/[()=,{}\[\]\/\s]/,ue=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,me=/^0b[01]+$/i,fe=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,ke=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ce="\\u2700-\\u27bf",Pe="a-z\\xdf-\\xf6\\xf8-\\xff",Ae="A-Z\\xc0-\\xd6\\xd8-\\xde",xe="\\ufe0e\\ufe0f",Te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Re="["+we+"]",Ee="["+Te+"]",_e="["+Se+"]",Ie="\\d+",Fe="["+Ce+"]",Oe="["+Pe+"]",Le="[^"+we+Te+Ie+Ce+Pe+Ae+"]",Me="\\ud83c[\\udffb-\\udfff]",De="[^"+we+"]",Ge="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+Ae+"]",je="\\u200d",ze="(?:"+Oe+"|"+Le+")",We="(?:"+Ne+"|"+Le+")",Ue="(?:['’](?:d|ll|m|re|s|t|ve))?",He="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ye="(?:"+_e+"|"+Me+")?",qe="["+xe+"]?",Je=qe+Ye+"(?:"+je+"(?:"+[De,Ge,Be].join("|")+")"+qe+Ye+")*",Ve="(?:"+[Fe,Ge,Be].join("|")+")"+Je,$e="(?:"+[De+_e+"?",_e,Ge,Be,Re].join("|")+")",Ke=RegExp("['’]","g"),Ze=RegExp(_e,"g"),Xe=RegExp(Me+"(?="+Me+")|"+$e+Je,"g"),Qe=RegExp([Ne+"?"+Oe+"+"+Ue+"(?="+[Ee,Ne,"$"].join("|")+")",We+"+"+He+"(?="+[Ee,Ne+ze,"$"].join("|")+")",Ne+"?"+ze+"+"+Ue,Ne+"+"+He,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ie,Ve].join("|"),"g"),et=RegExp("["+je+we+Se+xe+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[L]=it[M]=it[D]=it[G]=it[B]=it[N]=it[j]=it[z]=!0,it[f]=it[g]=it[I]=it[y]=it[F]=it[v]=it[b]=it[k]=it[S]=it[C]=it[P]=it[x]=it[T]=it[R]=it[_]=!1;var ot={};ot[f]=ot[g]=ot[I]=ot[F]=ot[y]=ot[v]=ot[O]=ot[L]=ot[M]=ot[D]=ot[G]=ot[S]=ot[C]=ot[P]=ot[x]=ot[T]=ot[R]=ot[E]=ot[B]=ot[N]=ot[j]=ot[z]=!0,ot[b]=ot[k]=ot[_]=!1;var at={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,lt=parseInt,ct="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ut="object"==typeof self&&self&&self.Object===Object&&self,dt=ct||ut||Function("return this")(),ht=t&&!t.nodeType&&t,pt=ht&&e&&!e.nodeType&&e,mt=pt&&pt.exports===ht,ft=mt&&ct.process,gt=function(){try{return pt&&pt.require&&pt.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,vt=gt&>.isDate,bt=gt&>.isMap,kt=gt&>.isRegExp,wt=gt&>.isSet,St=gt&>.isTypedArray;function Ct(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Pt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i];t(r,a,n(a),e)}return r}function At(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function xt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function Tt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Rt(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}function Et(e,t){return!(null==e||!e.length)&&Nt(e,t,0)>-1}function _t(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function It(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function Ft(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Ot(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function Lt(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function Mt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Dt=Ut("length");function Gt(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function Bt(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Nt(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):Bt(e,zt,n)}function jt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function zt(e){return e!=e}function Wt(e,t){var n=null==e?0:e.length;return n?qt(e,t)/n:h}function Ut(e){return function(t){return null==t?i:t[e]}}function Ht(e){return function(t){return null==e?i:e[t]}}function Yt(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function qt(e,t){for(var n,r=-1,o=e.length;++r<o;){var a=t(e[r]);a!==i&&(n=n===i?a:n+a)}return n}function Jt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Vt(e){return e?e.slice(0,hn(e)+1).replace(re,""):e}function $t(e){return function(t){return e(t)}}function Kt(e,t){return It(t,(function(t){return e[t]}))}function Zt(e,t){return e.has(t)}function Xt(e,t){for(var n=-1,r=e.length;++n<r&&Nt(t,e[n],0)>-1;);return n}function Qt(e,t){for(var n=e.length;n--&&Nt(t,e[n],0)>-1;);return n}var en=Ht({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Ht({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+at[e]}function rn(e){return et.test(e)}function on(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function an(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n];a!==t&&a!==s||(e[n]=s,o[i++]=n)}return o}function ln(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function cn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function un(e){return rn(e)?function(e){for(var t=Xe.lastIndex=0;Xe.test(e);)++t;return t}(e):Dt(e)}function dn(e){return rn(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.split("")}(e)}function hn(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var pn=Ht({"&":"&","<":"<",">":">",""":'"',"'":"'"}),mn=function e(t){var n,r=(t=null==t?dt:mn.defaults(dt.Object(),t,mn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,Se=t.Function,Ce=t.Math,Pe=t.Object,Ae=t.RegExp,xe=t.String,Te=t.TypeError,Re=r.prototype,Ee=Se.prototype,_e=Pe.prototype,Ie=t["__core-js_shared__"],Fe=Ee.toString,Oe=_e.hasOwnProperty,Le=0,Me=(n=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",De=_e.toString,Ge=Fe.call(Pe),Be=dt._,Ne=Ae("^"+Fe.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=mt?t.Buffer:i,ze=t.Symbol,We=t.Uint8Array,Ue=je?je.allocUnsafe:i,He=an(Pe.getPrototypeOf,Pe),Ye=Pe.create,qe=_e.propertyIsEnumerable,Je=Re.splice,Ve=ze?ze.isConcatSpreadable:i,$e=ze?ze.iterator:i,Xe=ze?ze.toStringTag:i,et=function(){try{var e=lo(Pe,"defineProperty");return e({},"",{}),e}catch(e){}}(),at=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,ct=ie&&ie.now!==dt.Date.now&&ie.now,ut=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ce.ceil,pt=Ce.floor,ft=Pe.getOwnPropertySymbols,gt=je?je.isBuffer:i,Dt=t.isFinite,Ht=Re.join,fn=an(Pe.keys,Pe),gn=Ce.max,yn=Ce.min,vn=ie.now,bn=t.parseInt,kn=Ce.random,wn=Re.reverse,Sn=lo(t,"DataView"),Cn=lo(t,"Map"),Pn=lo(t,"Promise"),An=lo(t,"Set"),xn=lo(t,"WeakMap"),Tn=lo(Pe,"create"),Rn=xn&&new xn,En={},_n=Go(Sn),In=Go(Cn),Fn=Go(Pn),On=Go(An),Ln=Go(xn),Mn=ze?ze.prototype:i,Dn=Mn?Mn.valueOf:i,Gn=Mn?Mn.toString:i;function Bn(e){if(es(e)&&!Ua(e)&&!(e instanceof Wn)){if(e instanceof zn)return e;if(Oe.call(e,"__wrapped__"))return Bo(e)}return new zn(e)}var Nn=function(){function e(){}return function(t){if(!Qa(t))return{};if(Ye)return Ye(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function jn(){}function zn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Wn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Hn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Yn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function qn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Yn;++t<n;)this.add(e[t])}function Jn(e){var t=this.__data__=new Hn(e);this.size=t.size}function Vn(e,t){var n=Ua(e),r=!n&&Wa(e),i=!n&&!r&&Ja(e),o=!n&&!r&&!i&&ls(e),a=n||r||i||o,s=a?Jt(e.length,xe):[],l=s.length;for(var c in e)!t&&!Oe.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||go(c,l))||s.push(c);return s}function $n(e){var t=e.length;return t?e[Yr(0,t-1)]:i}function Kn(e,t){return Fo(xi(e),or(t,0,e.length))}function Zn(e){return Fo(xi(e))}function Xn(e,t,n){(n!==i&&!Na(e[t],n)||n===i&&!(t in e))&&rr(e,t,n)}function Qn(e,t,n){var r=e[t];Oe.call(e,t)&&Na(r,n)&&(n!==i||t in e)||rr(e,t,n)}function er(e,t){for(var n=e.length;n--;)if(Na(e[n][0],t))return n;return-1}function tr(e,t,n,r){return ur(e,(function(e,i,o){t(r,e,n(e),o)})),r}function nr(e,t){return e&&Ti(t,_s(t),e)}function rr(e,t,n){"__proto__"==t&&et?et(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ir(e,t){for(var n=-1,o=t.length,a=r(o),s=null==e;++n<o;)a[n]=s?i:As(e,t[n]);return a}function or(e,t,n){return e==e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function ar(e,t,n,r,o,a){var s,l=1&t,c=2&t,u=4&t;if(n&&(s=o?n(e,r,o,a):n(e)),s!==i)return s;if(!Qa(e))return e;var d=Ua(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return xi(e,s)}else{var h=ho(e),p=h==k||h==w;if(Ja(e))return ki(e,l);if(h==P||h==f||p&&!o){if(s=c||p?{}:mo(e),!l)return c?function(e,t){return Ti(e,uo(e),t)}(e,function(e,t){return e&&Ti(t,Is(t),e)}(s,e)):function(e,t){return Ti(e,co(e),t)}(e,nr(s,e))}else{if(!ot[h])return o?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case I:return wi(e);case y:case v:return new i(+e);case F:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case L:case M:case D:case G:case B:case N:case j:case z:return Si(e,n);case S:return new i;case C:case R:return new i(e);case x:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case T:return new i;case E:return r=e,Dn?Pe(Dn.call(r)):{}}}(e,h,l)}}a||(a=new Jn);var m=a.get(e);if(m)return m;a.set(e,s),os(e)?e.forEach((function(r){s.add(ar(r,t,n,r,e,a))})):ts(e)&&e.forEach((function(r,i){s.set(i,ar(r,t,n,i,e,a))}));var g=d?i:(u?c?to:eo:c?Is:_s)(e);return At(g||e,(function(r,i){g&&(r=e[i=r]),Qn(s,i,ar(r,t,n,i,e,a))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=Pe(e);r--;){var o=n[r],a=t[o],s=e[o];if(s===i&&!(o in e)||!a(s))return!1}return!0}function lr(e,t,n){if("function"!=typeof e)throw new Te(o);return Ro((function(){e.apply(i,n)}),t)}function cr(e,t,n,r){var i=-1,o=Et,a=!0,s=e.length,l=[],c=t.length;if(!s)return l;n&&(t=It(t,$t(n))),r?(o=_t,a=!1):t.length>=200&&(o=Zt,a=!1,t=new qn(t));e:for(;++i<s;){var u=e[i],d=null==n?u:n(u);if(u=r||0!==u?u:0,a&&d==d){for(var h=c;h--;)if(t[h]===d)continue e;l.push(u)}else o(t,d,r)||l.push(u)}return l}Bn.templateSettings={escape:$,evaluate:K,interpolate:Z,variable:"",imports:{_:Bn}},Bn.prototype=jn.prototype,Bn.prototype.constructor=Bn,zn.prototype=Nn(jn.prototype),zn.prototype.constructor=zn,Wn.prototype=Nn(jn.prototype),Wn.prototype.constructor=Wn,Un.prototype.clear=function(){this.__data__=Tn?Tn(null):{},this.size=0},Un.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Un.prototype.get=function(e){var t=this.__data__;if(Tn){var n=t[e];return n===a?i:n}return Oe.call(t,e)?t[e]:i},Un.prototype.has=function(e){var t=this.__data__;return Tn?t[e]!==i:Oe.call(t,e)},Un.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Tn&&t===i?a:t,this},Hn.prototype.clear=function(){this.__data__=[],this.size=0},Hn.prototype.delete=function(e){var t=this.__data__,n=er(t,e);return!(n<0||(n==t.length-1?t.pop():Je.call(t,n,1),--this.size,0))},Hn.prototype.get=function(e){var t=this.__data__,n=er(t,e);return n<0?i:t[n][1]},Hn.prototype.has=function(e){return er(this.__data__,e)>-1},Hn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Yn.prototype.clear=function(){this.size=0,this.__data__={hash:new Un,map:new(Cn||Hn),string:new Un}},Yn.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},Yn.prototype.get=function(e){return ao(this,e).get(e)},Yn.prototype.has=function(e){return ao(this,e).has(e)},Yn.prototype.set=function(e,t){var n=ao(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(e){return this.__data__.set(e,a),this},qn.prototype.has=function(e){return this.__data__.has(e)},Jn.prototype.clear=function(){this.__data__=new Hn,this.size=0},Jn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Jn.prototype.get=function(e){return this.__data__.get(e)},Jn.prototype.has=function(e){return this.__data__.has(e)},Jn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Hn){var r=n.__data__;if(!Cn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Yn(r)}return n.set(e,t),this.size=n.size,this};var ur=_i(vr),dr=_i(br,!0);function hr(e,t){var n=!0;return ur(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function pr(e,t,n){for(var r=-1,o=e.length;++r<o;){var a=e[r],s=t(a);if(null!=s&&(l===i?s==s&&!ss(s):n(s,l)))var l=s,c=a}return c}function mr(e,t){var n=[];return ur(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function fr(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=fo),i||(i=[]);++o<a;){var s=e[o];t>0&&n(s)?t>1?fr(s,t-1,n,r,i):Ft(i,s):r||(i[i.length]=s)}return i}var gr=Ii(),yr=Ii(!0);function vr(e,t){return e&&gr(e,t,_s)}function br(e,t){return e&&yr(e,t,_s)}function kr(e,t){return Rt(t,(function(t){return Ka(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&n<r;)e=e[Do(t[n++])];return n&&n==r?e:i}function Sr(e,t,n){var r=t(e);return Ua(e)?r:Ft(r,n(e))}function Cr(e){return null==e?e===i?"[object Undefined]":"[object Null]":Xe&&Xe in Pe(e)?function(e){var t=Oe.call(e,Xe),n=e[Xe];try{e[Xe]=i;var r=!0}catch(e){}var o=De.call(e);return r&&(t?e[Xe]=n:delete e[Xe]),o}(e):function(e){return De.call(e)}(e)}function Pr(e,t){return e>t}function Ar(e,t){return null!=e&&Oe.call(e,t)}function xr(e,t){return null!=e&&t in Pe(e)}function Tr(e,t,n){for(var o=n?_t:Et,a=e[0].length,s=e.length,l=s,c=r(s),u=1/0,d=[];l--;){var h=e[l];l&&t&&(h=It(h,$t(t))),u=yn(h.length,u),c[l]=!n&&(t||a>=120&&h.length>=120)?new qn(l&&h):i}h=e[0];var p=-1,m=c[0];e:for(;++p<a&&d.length<u;){var f=h[p],g=t?t(f):f;if(f=n||0!==f?f:0,!(m?Zt(m,g):o(d,g,n))){for(l=s;--l;){var y=c[l];if(!(y?Zt(y,g):o(e[l],g,n)))continue e}m&&m.push(g),d.push(f)}}return d}function Rr(e,t,n){var r=null==(e=Ao(e,t=gi(t,e)))?e:e[Do($o(t))];return null==r?i:Ct(r,e,n)}function Er(e){return es(e)&&Cr(e)==f}function _r(e,t,n,r,o){return e===t||(null==e||null==t||!es(e)&&!es(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var s=Ua(e),l=Ua(t),c=s?g:ho(e),u=l?g:ho(t),d=(c=c==f?P:c)==P,h=(u=u==f?P:u)==P,p=c==u;if(p&&Ja(e)){if(!Ja(t))return!1;s=!0,d=!1}if(p&&!d)return a||(a=new Jn),s||ls(e)?Xi(e,t,n,r,o,a):function(e,t,n,r,i,o,a){switch(n){case F:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case I:return!(e.byteLength!=t.byteLength||!o(new We(e),new We(t)));case y:case v:case C:return Na(+e,+t);case b:return e.name==t.name&&e.message==t.message;case x:case R:return e==t+"";case S:var s=on;case T:var l=1&r;if(s||(s=ln),e.size!=t.size&&!l)return!1;var c=a.get(e);if(c)return c==t;r|=2,a.set(e,t);var u=Xi(s(e),s(t),r,i,o,a);return a.delete(e),u;case E:if(Dn)return Dn.call(e)==Dn.call(t)}return!1}(e,t,c,n,r,o,a);if(!(1&n)){var m=d&&Oe.call(e,"__wrapped__"),k=h&&Oe.call(t,"__wrapped__");if(m||k){var w=m?e.value():e,A=k?t.value():t;return a||(a=new Jn),o(w,A,n,r,a)}}return!!p&&(a||(a=new Jn),function(e,t,n,r,o,a){var s=1&n,l=eo(e),c=l.length;if(c!=eo(t).length&&!s)return!1;for(var u=c;u--;){var d=l[u];if(!(s?d in t:Oe.call(t,d)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var m=!0;a.set(e,t),a.set(t,e);for(var f=s;++u<c;){var g=e[d=l[u]],y=t[d];if(r)var v=s?r(y,g,d,t,e,a):r(g,y,d,e,t,a);if(!(v===i?g===y||o(g,y,n,r,a):v)){m=!1;break}f||(f="constructor"==d)}if(m&&!f){var b=e.constructor,k=t.constructor;b==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof k&&k instanceof k||(m=!1)}return a.delete(e),a.delete(t),m}(e,t,n,r,o,a))}(e,t,n,r,_r,o))}function Ir(e,t,n,r){var o=n.length,a=o,s=!r;if(null==e)return!a;for(e=Pe(e);o--;){var l=n[o];if(s&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<a;){var c=(l=n[o])[0],u=e[c],d=l[1];if(s&&l[2]){if(u===i&&!(c in e))return!1}else{var h=new Jn;if(r)var p=r(u,d,c,e,t,h);if(!(p===i?_r(d,u,3,r,h):p))return!1}}return!0}function Fr(e){return!(!Qa(e)||(t=e,Me&&Me in t))&&(Ka(e)?Ne:fe).test(Go(e));var t}function Or(e){return"function"==typeof e?e:null==e?nl:"object"==typeof e?Ua(e)?Br(e[0],e[1]):Gr(e):dl(e)}function Lr(e){if(!wo(e))return fn(e);var t=[];for(var n in Pe(e))Oe.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Mr(e,t){return e<t}function Dr(e,t){var n=-1,i=Ya(e)?r(e.length):[];return ur(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function Gr(e){var t=so(e);return 1==t.length&&t[0][2]?Co(t[0][0],t[0][1]):function(n){return n===e||Ir(n,e,t)}}function Br(e,t){return vo(e)&&So(t)?Co(Do(e),t):function(n){var r=As(n,e);return r===i&&r===t?xs(n,e):_r(t,r,3)}}function Nr(e,t,n,r,o){e!==t&&gr(t,(function(a,s){if(o||(o=new Jn),Qa(a))!function(e,t,n,r,o,a,s){var l=xo(e,n),c=xo(t,n),u=s.get(c);if(u)Xn(e,n,u);else{var d=a?a(l,c,n+"",e,t,s):i,h=d===i;if(h){var p=Ua(c),m=!p&&Ja(c),f=!p&&!m&&ls(c);d=c,p||m||f?Ua(l)?d=l:qa(l)?d=xi(l):m?(h=!1,d=ki(c,!0)):f?(h=!1,d=Si(c,!0)):d=[]:rs(c)||Wa(c)?(d=l,Wa(l)?d=gs(l):Qa(l)&&!Ka(l)||(d=mo(c))):h=!1}h&&(s.set(c,d),o(d,c,r,a,s),s.delete(c)),Xn(e,n,d)}}(e,t,s,n,Nr,r,o);else{var l=r?r(xo(e,s),a,s+"",e,t,o):i;l===i&&(l=a),Xn(e,s,l)}}),Is)}function jr(e,t){var n=e.length;if(n)return go(t+=t<0?n:0,n)?e[t]:i}function zr(e,t,n){t=t.length?It(t,(function(e){return Ua(e)?function(t){return wr(t,1===e.length?e[0]:e)}:e})):[nl];var r=-1;t=It(t,$t(oo()));var i=Dr(e,(function(e,n,i){var o=It(t,(function(t){return t(e)}));return{criteria:o,index:++r,value:e}}));return function(e,t){var r=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var r=-1,i=e.criteria,o=t.criteria,a=i.length,s=n.length;++r<a;){var l=Ci(i[r],o[r]);if(l)return r>=s?l:l*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function Wr(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var a=t[r],s=wr(e,a);n(s,a)&&Kr(o,gi(a,e),s)}return o}function Ur(e,t,n,r){var i=r?jt:Nt,o=-1,a=t.length,s=e;for(e===t&&(t=xi(t)),n&&(s=It(e,$t(n)));++o<a;)for(var l=0,c=t[o],u=n?n(c):c;(l=i(s,u,l,r))>-1;)s!==e&&Je.call(s,l,1),Je.call(e,l,1);return e}function Hr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;go(i)?Je.call(e,i,1):li(e,i)}}return e}function Yr(e,t){return e+pt(kn()*(t-e+1))}function qr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=pt(t/2))&&(e+=e)}while(t);return n}function Jr(e,t){return Eo(Po(e,t,nl),e+"")}function Vr(e){return $n(Ns(e))}function $r(e,t){var n=Ns(e);return Fo(n,or(t,0,n.length))}function Kr(e,t,n,r){if(!Qa(e))return e;for(var o=-1,a=(t=gi(t,e)).length,s=a-1,l=e;null!=l&&++o<a;){var c=Do(t[o]),u=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(o!=s){var d=l[c];(u=r?r(d,c,l):i)===i&&(u=Qa(d)?d:go(t[o+1])?[]:{})}Qn(l,c,u),l=l[c]}return e}var Zr=Rn?function(e,t){return Rn.set(e,t),e}:nl,Xr=et?function(e,t){return et(e,"toString",{configurable:!0,enumerable:!1,value:Qs(t),writable:!0})}:nl;function Qr(e){return Fo(Ns(e))}function ei(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i<o;)a[i]=e[i+t];return a}function ti(e,t){var n;return ur(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function ni(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,a=e[o];null!==a&&!ss(a)&&(n?a<=t:a<t)?r=o+1:i=o}return i}return ri(e,t,nl,n)}function ri(e,t,n,r){var o=0,a=null==e?0:e.length;if(0===a)return 0;for(var s=(t=n(t))!=t,l=null===t,c=ss(t),u=t===i;o<a;){var d=pt((o+a)/2),h=n(e[d]),p=h!==i,m=null===h,f=h==h,g=ss(h);if(s)var y=r||f;else y=u?f&&(r||p):l?f&&p&&(r||!m):c?f&&p&&!m&&(r||!g):!m&&!g&&(r?h<=t:h<t);y?o=d+1:a=d}return yn(a,4294967294)}function ii(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!Na(s,l)){var l=s;o[i++]=0===a?0:a}}return o}function oi(e){return"number"==typeof e?e:ss(e)?h:+e}function ai(e){if("string"==typeof e)return e;if(Ua(e))return It(e,ai)+"";if(ss(e))return Gn?Gn.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function si(e,t,n){var r=-1,i=Et,o=e.length,a=!0,s=[],l=s;if(n)a=!1,i=_t;else if(o>=200){var c=t?null:qi(e);if(c)return ln(c);a=!1,i=Zt,l=new qn}else l=t?[]:s;e:for(;++r<o;){var u=e[r],d=t?t(u):u;if(u=n||0!==u?u:0,a&&d==d){for(var h=l.length;h--;)if(l[h]===d)continue e;t&&l.push(d),s.push(u)}else i(l,d,n)||(l!==s&&l.push(d),s.push(u))}return s}function li(e,t){return null==(e=Ao(e,t=gi(t,e)))||delete e[Do($o(t))]}function ci(e,t,n,r){return Kr(e,t,n(wr(e,t)),r)}function ui(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?ei(e,r?0:o,r?o+1:i):ei(e,r?o+1:0,r?i:o)}function di(e,t){var n=e;return n instanceof Wn&&(n=n.value()),Ot(t,(function(e,t){return t.func.apply(t.thisArg,Ft([e],t.args))}),n)}function hi(e,t,n){var i=e.length;if(i<2)return i?si(e[0]):[];for(var o=-1,a=r(i);++o<i;)for(var s=e[o],l=-1;++l<i;)l!=o&&(a[o]=cr(a[o]||s,e[l],t,n));return si(fr(a,1),t,n)}function pi(e,t,n){for(var r=-1,o=e.length,a=t.length,s={};++r<o;){var l=r<a?t[r]:i;n(s,e[r],l)}return s}function mi(e){return qa(e)?e:[]}function fi(e){return"function"==typeof e?e:nl}function gi(e,t){return Ua(e)?e:vo(e,t)?[e]:Mo(ys(e))}var yi=Jr;function vi(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:ei(e,t,n)}var bi=at||function(e){return dt.clearTimeout(e)};function ki(e,t){if(t)return e.slice();var n=e.length,r=Ue?Ue(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new We(t).set(new We(e)),t}function Si(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ci(e,t){if(e!==t){var n=e!==i,r=null===e,o=e==e,a=ss(e),s=t!==i,l=null===t,c=t==t,u=ss(t);if(!l&&!u&&!a&&e>t||a&&s&&c&&!l&&!u||r&&s&&c||!n&&c||!o)return 1;if(!r&&!a&&!u&&e<t||u&&n&&o&&!r&&!a||l&&n&&o||!s&&o||!c)return-1}return 0}function Pi(e,t,n,i){for(var o=-1,a=e.length,s=n.length,l=-1,c=t.length,u=gn(a-s,0),d=r(c+u),h=!i;++l<c;)d[l]=t[l];for(;++o<s;)(h||o<a)&&(d[n[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function Ai(e,t,n,i){for(var o=-1,a=e.length,s=-1,l=n.length,c=-1,u=t.length,d=gn(a-l,0),h=r(d+u),p=!i;++o<d;)h[o]=e[o];for(var m=o;++c<u;)h[m+c]=t[c];for(;++s<l;)(p||o<a)&&(h[m+n[s]]=e[o++]);return h}function xi(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function Ti(e,t,n,r){var o=!n;n||(n={});for(var a=-1,s=t.length;++a<s;){var l=t[a],c=r?r(n[l],e[l],l,n,e):i;c===i&&(c=e[l]),o?rr(n,l,c):Qn(n,l,c)}return n}function Ri(e,t){return function(n,r){var i=Ua(n)?Pt:tr,o=t?t():{};return i(n,e,oo(r,2),o)}}function Ei(e){return Jr((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:i,s=o>2?n[2]:i;for(a=e.length>3&&"function"==typeof a?(o--,a):i,s&&yo(n[0],n[1],s)&&(a=o<3?i:a,o=1),t=Pe(t);++r<o;){var l=n[r];l&&e(t,l,r,a)}return t}))}function _i(e,t){return function(n,r){if(null==n)return n;if(!Ya(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=Pe(n);(t?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Ii(e){return function(t,n,r){for(var i=-1,o=Pe(t),a=r(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===n(o[l],l,o))break}return t}}function Fi(e){return function(t){var n=rn(t=ys(t))?dn(t):i,r=n?n[0]:t.charAt(0),o=n?vi(n,1).join(""):t.slice(1);return r[e]()+o}}function Oi(e){return function(t){return Ot(Ks(Ws(t).replace(Ke,"")),e,"")}}function Li(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Nn(e.prototype),r=e.apply(n,t);return Qa(r)?r:n}}function Mi(e){return function(t,n,r){var o=Pe(t);if(!Ya(t)){var a=oo(n,3);t=_s(t),n=function(e){return a(o[e],e,o)}}var s=e(t,n,r);return s>-1?o[a?t[s]:s]:i}}function Di(e){return Qi((function(t){var n=t.length,r=n,a=zn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Te(o);if(a&&!l&&"wrapper"==ro(s))var l=new zn([],!0)}for(r=l?r:n;++r<n;){var c=ro(s=t[r]),u="wrapper"==c?no(s):i;l=u&&bo(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[ro(u[0])].apply(l,u[3]):1==s.length&&bo(s)?l[c]():l.thru(s)}return function(){var e=arguments,r=e[0];if(l&&1==e.length&&Ua(r))return l.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function Gi(e,t,n,o,a,s,l,u,d,h){var p=t&c,m=1&t,f=2&t,g=24&t,y=512&t,v=f?i:Li(e);return function c(){for(var b=arguments.length,k=r(b),w=b;w--;)k[w]=arguments[w];if(g)var S=io(c),C=function(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}(k,S);if(o&&(k=Pi(k,o,a,g)),s&&(k=Ai(k,s,l,g)),b-=C,g&&b<h){var P=sn(k,S);return Hi(e,t,Gi,c.placeholder,n,k,P,u,d,h-b)}var A=m?n:this,x=f?A[e]:e;return b=k.length,u?k=function(e,t){for(var n=e.length,r=yn(t.length,n),o=xi(e);r--;){var a=t[r];e[r]=go(a,n)?o[a]:i}return e}(k,u):y&&b>1&&k.reverse(),p&&d<b&&(k.length=d),this&&this!==dt&&this instanceof c&&(x=v||Li(x)),x.apply(A,k)}}function Bi(e,t){return function(n,r){return function(e,t,n,r){return vr(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function Ni(e,t){return function(n,r){var o;if(n===i&&r===i)return t;if(n!==i&&(o=n),r!==i){if(o===i)return r;"string"==typeof n||"string"==typeof r?(n=ai(n),r=ai(r)):(n=oi(n),r=oi(r)),o=e(n,r)}return o}}function ji(e){return Qi((function(t){return t=It(t,$t(oo())),Jr((function(n){var r=this;return e(t,(function(e){return Ct(e,r,n)}))}))}))}function zi(e,t){var n=(t=t===i?" ":ai(t)).length;if(n<2)return n?qr(t,e):t;var r=qr(t,ht(e/un(t)));return rn(t)?vi(dn(r),0,e).join(""):r.slice(0,e)}function Wi(e){return function(t,n,o){return o&&"number"!=typeof o&&yo(t,n,o)&&(n=o=i),t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n,i){for(var o=-1,a=gn(ht((t-e)/(n||1)),0),s=r(a);a--;)s[i?a:++o]=e,e+=n;return s}(t,n,o=o===i?t<n?1:-1:hs(o),e)}}function Ui(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=fs(t),n=fs(n)),e(t,n)}}function Hi(e,t,n,r,o,a,s,c,u,d){var h=8&t;t|=h?l:64,4&(t&=~(h?64:l))||(t&=-4);var p=[e,t,o,h?a:i,h?s:i,h?i:a,h?i:s,c,u,d],m=n.apply(i,p);return bo(e)&&To(m,p),m.placeholder=r,_o(m,e,t)}function Yi(e){var t=Ce[e];return function(e,n){if(e=fs(e),(n=null==n?0:yn(ps(n),292))&&Dt(e)){var r=(ys(e)+"e").split("e");return+((r=(ys(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var qi=An&&1/ln(new An([,-0]))[1]==u?function(e){return new An(e)}:sl;function Ji(e){return function(t){var n=ho(t);return n==S?on(t):n==T?cn(t):function(e,t){return It(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Vi(e,t,n,a,u,d,h,p){var m=2&t;if(!m&&"function"!=typeof e)throw new Te(o);var f=a?a.length:0;if(f||(t&=-97,a=u=i),h=h===i?h:gn(ps(h),0),p=p===i?p:ps(p),f-=u?u.length:0,64&t){var g=a,y=u;a=u=i}var v=m?i:no(e),b=[e,t,n,a,u,g,y,d,h,p];if(v&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,a=r==c&&8==n||r==c&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!a)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var l=t[3];if(l){var u=e[3];e[3]=u?Pi(u,l,t[4]):l,e[4]=u?sn(e[3],s):t[4]}(l=t[5])&&(u=e[5],e[5]=u?Ai(u,l,t[6]):l,e[6]=u?sn(e[5],s):t[6]),(l=t[7])&&(e[7]=l),r&c&&(e[8]=null==e[8]?t[8]:yn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(b,v),e=b[0],t=b[1],n=b[2],a=b[3],u=b[4],!(p=b[9]=b[9]===i?m?0:e.length:gn(b[9]-f,0))&&24&t&&(t&=-25),t&&1!=t)k=8==t||16==t?function(e,t,n){var o=Li(e);return function a(){for(var s=arguments.length,l=r(s),c=s,u=io(a);c--;)l[c]=arguments[c];var d=s<3&&l[0]!==u&&l[s-1]!==u?[]:sn(l,u);return(s-=d.length)<n?Hi(e,t,Gi,a.placeholder,i,l,d,i,i,n-s):Ct(this&&this!==dt&&this instanceof a?o:e,this,l)}}(e,t,p):t!=l&&33!=t||u.length?Gi.apply(i,b):function(e,t,n,i){var o=1&t,a=Li(e);return function t(){for(var s=-1,l=arguments.length,c=-1,u=i.length,d=r(u+l),h=this&&this!==dt&&this instanceof t?a:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=arguments[++s];return Ct(h,o?n:this,d)}}(e,t,n,a);else var k=function(e,t,n){var r=1&t,i=Li(e);return function t(){return(this&&this!==dt&&this instanceof t?i:e).apply(r?n:this,arguments)}}(e,t,n);return _o((v?Zr:To)(k,b),e,t)}function $i(e,t,n,r){return e===i||Na(e,_e[n])&&!Oe.call(r,n)?t:e}function Ki(e,t,n,r,o,a){return Qa(e)&&Qa(t)&&(a.set(t,e),Nr(e,t,i,Ki,a),a.delete(t)),e}function Zi(e){return rs(e)?i:e}function Xi(e,t,n,r,o,a){var s=1&n,l=e.length,c=t.length;if(l!=c&&!(s&&c>l))return!1;var u=a.get(e),d=a.get(t);if(u&&d)return u==t&&d==e;var h=-1,p=!0,m=2&n?new qn:i;for(a.set(e,t),a.set(t,e);++h<l;){var f=e[h],g=t[h];if(r)var y=s?r(g,f,h,t,e,a):r(f,g,h,e,t,a);if(y!==i){if(y)continue;p=!1;break}if(m){if(!Mt(t,(function(e,t){if(!Zt(m,t)&&(f===e||o(f,e,n,r,a)))return m.push(t)}))){p=!1;break}}else if(f!==g&&!o(f,g,n,r,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Qi(e){return Eo(Po(e,i,Ho),e+"")}function eo(e){return Sr(e,_s,co)}function to(e){return Sr(e,Is,uo)}var no=Rn?function(e){return Rn.get(e)}:sl;function ro(e){for(var t=e.name+"",n=En[t],r=Oe.call(En,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function io(e){return(Oe.call(Bn,"placeholder")?Bn:e).placeholder}function oo(){var e=Bn.iteratee||rl;return e=e===rl?Or:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function so(e){for(var t=_s(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,So(i)]}return t}function lo(e,t){var n=function(e,t){return null==e?i:e[t]}(e,t);return Fr(n)?n:i}var co=ft?function(e){return null==e?[]:(e=Pe(e),Rt(ft(e),(function(t){return qe.call(e,t)})))}:ml,uo=ft?function(e){for(var t=[];e;)Ft(t,co(e)),e=He(e);return t}:ml,ho=Cr;function po(e,t,n){for(var r=-1,i=(t=gi(t,e)).length,o=!1;++r<i;){var a=Do(t[r]);if(!(o=null!=e&&n(e,a)))break;e=e[a]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Xa(i)&&go(a,i)&&(Ua(e)||Wa(e))}function mo(e){return"function"!=typeof e.constructor||wo(e)?{}:Nn(He(e))}function fo(e){return Ua(e)||Wa(e)||!!(Ve&&e&&e[Ve])}function go(e,t){var n=typeof e;return!!(t=null==t?d:t)&&("number"==n||"symbol"!=n&&ye.test(e))&&e>-1&&e%1==0&&e<t}function yo(e,t,n){if(!Qa(n))return!1;var r=typeof t;return!!("number"==r?Ya(n)&&go(t,n.length):"string"==r&&t in n)&&Na(n[t],e)}function vo(e,t){if(Ua(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ss(e))||Q.test(e)||!X.test(e)||null!=t&&e in Pe(t)}function bo(e){var t=ro(e),n=Bn[t];if("function"!=typeof n||!(t in Wn.prototype))return!1;if(e===n)return!0;var r=no(n);return!!r&&e===r[0]}(Sn&&ho(new Sn(new ArrayBuffer(1)))!=F||Cn&&ho(new Cn)!=S||Pn&&ho(Pn.resolve())!=A||An&&ho(new An)!=T||xn&&ho(new xn)!=_)&&(ho=function(e){var t=Cr(e),n=t==P?e.constructor:i,r=n?Go(n):"";if(r)switch(r){case _n:return F;case In:return S;case Fn:return A;case On:return T;case Ln:return _}return t});var ko=Ie?Ka:fl;function wo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||_e)}function So(e){return e==e&&!Qa(e)}function Co(e,t){return function(n){return null!=n&&n[e]===t&&(t!==i||e in Pe(n))}}function Po(e,t,n){return t=gn(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=gn(i.length-t,0),s=r(a);++o<a;)s[o]=i[t+o];o=-1;for(var l=r(t+1);++o<t;)l[o]=i[o];return l[t]=n(s),Ct(e,this,l)}}function Ao(e,t){return t.length<2?e:wr(e,ei(t,0,-1))}function xo(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var To=Io(Zr),Ro=ut||function(e,t){return dt.setTimeout(e,t)},Eo=Io(Xr);function _o(e,t,n){var r=t+"";return Eo(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return At(m,(function(n){var r="_."+n[0];t&n[1]&&!Et(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(ae);return t?t[1].split(se):[]}(r),n)))}function Io(e){var t=0,n=0;return function(){var r=vn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Fo(e,t){var n=-1,r=e.length,o=r-1;for(t=t===i?r:t;++n<t;){var a=Yr(n,o),s=e[a];e[a]=e[n],e[n]=s}return e.length=t,e}var Oo,Lo,Mo=(Oo=Oa((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,n,r,i){t.push(r?i.replace(ue,"$1"):n||e)})),t}),(function(e){return 500===Lo.size&&Lo.clear(),e})),Lo=Oo.cache,Oo);function Do(e){if("string"==typeof e||ss(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Go(e){if(null!=e){try{return Fe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Bo(e){if(e instanceof Wn)return e.clone();var t=new zn(e.__wrapped__,e.__chain__);return t.__actions__=xi(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var No=Jr((function(e,t){return qa(e)?cr(e,fr(t,1,qa,!0)):[]})),jo=Jr((function(e,t){var n=$o(t);return qa(n)&&(n=i),qa(e)?cr(e,fr(t,1,qa,!0),oo(n,2)):[]})),zo=Jr((function(e,t){var n=$o(t);return qa(n)&&(n=i),qa(e)?cr(e,fr(t,1,qa,!0),i,n):[]}));function Wo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ps(n);return i<0&&(i=gn(r+i,0)),Bt(e,oo(t,3),i)}function Uo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==i&&(o=ps(n),o=n<0?gn(r+o,0):yn(o,r-1)),Bt(e,oo(t,3),o,!0)}function Ho(e){return null!=e&&e.length?fr(e,1):[]}function Yo(e){return e&&e.length?e[0]:i}var qo=Jr((function(e){var t=It(e,mi);return t.length&&t[0]===e[0]?Tr(t):[]})),Jo=Jr((function(e){var t=$o(e),n=It(e,mi);return t===$o(n)?t=i:n.pop(),n.length&&n[0]===e[0]?Tr(n,oo(t,2)):[]})),Vo=Jr((function(e){var t=$o(e),n=It(e,mi);return(t="function"==typeof t?t:i)&&n.pop(),n.length&&n[0]===e[0]?Tr(n,i,t):[]}));function $o(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Ko=Jr(Zo);function Zo(e,t){return e&&e.length&&t&&t.length?Ur(e,t):e}var Xo=Qi((function(e,t){var n=null==e?0:e.length,r=ir(e,t);return Hr(e,It(t,(function(e){return go(e,n)?+e:e})).sort(Ci)),r}));function Qo(e){return null==e?e:wn.call(e)}var ea=Jr((function(e){return si(fr(e,1,qa,!0))})),ta=Jr((function(e){var t=$o(e);return qa(t)&&(t=i),si(fr(e,1,qa,!0),oo(t,2))})),na=Jr((function(e){var t=$o(e);return t="function"==typeof t?t:i,si(fr(e,1,qa,!0),i,t)}));function ra(e){if(!e||!e.length)return[];var t=0;return e=Rt(e,(function(e){if(qa(e))return t=gn(e.length,t),!0})),Jt(t,(function(t){return It(e,Ut(t))}))}function ia(e,t){if(!e||!e.length)return[];var n=ra(e);return null==t?n:It(n,(function(e){return Ct(t,i,e)}))}var oa=Jr((function(e,t){return qa(e)?cr(e,t):[]})),aa=Jr((function(e){return hi(Rt(e,qa))})),sa=Jr((function(e){var t=$o(e);return qa(t)&&(t=i),hi(Rt(e,qa),oo(t,2))})),la=Jr((function(e){var t=$o(e);return t="function"==typeof t?t:i,hi(Rt(e,qa),i,t)})),ca=Jr(ra),ua=Jr((function(e){var t=e.length,n=t>1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ia(e,n)}));function da(e){var t=Bn(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var pa=Qi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Wn&&go(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:i}),new zn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ma=Ri((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),fa=Mi(Wo),ga=Mi(Uo);function ya(e,t){return(Ua(e)?At:ur)(e,oo(t,3))}function va(e,t){return(Ua(e)?xt:dr)(e,oo(t,3))}var ba=Ri((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),ka=Jr((function(e,t,n){var i=-1,o="function"==typeof t,a=Ya(e)?r(e.length):[];return ur(e,(function(e){a[++i]=o?Ct(t,e,n):Rr(e,t,n)})),a})),wa=Ri((function(e,t,n){rr(e,n,t)}));function Sa(e,t){return(Ua(e)?It:Dr)(e,oo(t,3))}var Ca=Ri((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),Pa=Jr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&yo(e,t[0],t[1])?t=[]:n>2&&yo(t[0],t[1],t[2])&&(t=[t[0]]),zr(e,fr(t,1),[])})),Aa=ct||function(){return dt.Date.now()};function xa(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Vi(e,c,i,i,i,i,t)}function Ta(e,t){var n;if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Ra=Jr((function(e,t,n){var r=1;if(n.length){var i=sn(n,io(Ra));r|=l}return Vi(e,r,t,n,i)})),Ea=Jr((function(e,t,n){var r=3;if(n.length){var i=sn(n,io(Ea));r|=l}return Vi(t,r,e,n,i)}));function _a(e,t,n){var r,a,s,l,c,u,d=0,h=!1,p=!1,m=!0;if("function"!=typeof e)throw new Te(o);function f(t){var n=r,o=a;return r=a=i,d=t,l=e.apply(o,n)}function g(e){var n=e-u;return u===i||n>=t||n<0||p&&e-d>=s}function y(){var e=Aa();if(g(e))return v(e);c=Ro(y,function(e){var n=t-(e-u);return p?yn(n,s-(e-d)):n}(e))}function v(e){return c=i,m&&r?f(e):(r=a=i,l)}function b(){var e=Aa(),n=g(e);if(r=arguments,a=this,u=e,n){if(c===i)return function(e){return d=e,c=Ro(y,t),h?f(e):l}(u);if(p)return bi(c),c=Ro(y,t),f(u)}return c===i&&(c=Ro(y,t)),l}return t=fs(t)||0,Qa(n)&&(h=!!n.leading,s=(p="maxWait"in n)?gn(fs(n.maxWait)||0,t):s,m="trailing"in n?!!n.trailing:m),b.cancel=function(){c!==i&&bi(c),d=0,r=u=a=c=i},b.flush=function(){return c===i?l:v(Aa())},b}var Ia=Jr((function(e,t){return lr(e,1,t)})),Fa=Jr((function(e,t,n){return lr(e,fs(t)||0,n)}));function Oa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Te(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Oa.Cache||Yn),n}function La(e){if("function"!=typeof e)throw new Te(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oa.Cache=Yn;var Ma=yi((function(e,t){var n=(t=1==t.length&&Ua(t[0])?It(t[0],$t(oo())):It(fr(t,1),$t(oo()))).length;return Jr((function(r){for(var i=-1,o=yn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return Ct(e,this,r)}))})),Da=Jr((function(e,t){var n=sn(t,io(Da));return Vi(e,l,i,t,n)})),Ga=Jr((function(e,t){var n=sn(t,io(Ga));return Vi(e,64,i,t,n)})),Ba=Qi((function(e,t){return Vi(e,256,i,i,i,t)}));function Na(e,t){return e===t||e!=e&&t!=t}var ja=Ui(Pr),za=Ui((function(e,t){return e>=t})),Wa=Er(function(){return arguments}())?Er:function(e){return es(e)&&Oe.call(e,"callee")&&!qe.call(e,"callee")},Ua=r.isArray,Ha=yt?$t(yt):function(e){return es(e)&&Cr(e)==I};function Ya(e){return null!=e&&Xa(e.length)&&!Ka(e)}function qa(e){return es(e)&&Ya(e)}var Ja=gt||fl,Va=vt?$t(vt):function(e){return es(e)&&Cr(e)==v};function $a(e){if(!es(e))return!1;var t=Cr(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Ka(e){if(!Qa(e))return!1;var t=Cr(e);return t==k||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Za(e){return"number"==typeof e&&e==ps(e)}function Xa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Qa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?$t(bt):function(e){return es(e)&&ho(e)==S};function ns(e){return"number"==typeof e||es(e)&&Cr(e)==C}function rs(e){if(!es(e)||Cr(e)!=P)return!1;var t=He(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Fe.call(n)==Ge}var is=kt?$t(kt):function(e){return es(e)&&Cr(e)==x},os=wt?$t(wt):function(e){return es(e)&&ho(e)==T};function as(e){return"string"==typeof e||!Ua(e)&&es(e)&&Cr(e)==R}function ss(e){return"symbol"==typeof e||es(e)&&Cr(e)==E}var ls=St?$t(St):function(e){return es(e)&&Xa(e.length)&&!!it[Cr(e)]},cs=Ui(Mr),us=Ui((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Ya(e))return as(e)?dn(e):xi(e);if($e&&e[$e])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[$e]());var t=ho(e);return(t==S?on:t==T?ln:Ns)(e)}function hs(e){return e?(e=fs(e))===u||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ps(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ms(e){return e?or(ps(e),0,p):0}function fs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Qa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Qa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Vt(e);var n=me.test(e);return n||ge.test(e)?lt(e.slice(2),n?2:8):pe.test(e)?h:+e}function gs(e){return Ti(e,Is(e))}function ys(e){return null==e?"":ai(e)}var vs=Ei((function(e,t){if(wo(t)||Ya(t))Ti(t,_s(t),e);else for(var n in t)Oe.call(t,n)&&Qn(e,n,t[n])})),bs=Ei((function(e,t){Ti(t,Is(t),e)})),ks=Ei((function(e,t,n,r){Ti(t,Is(t),e,r)})),ws=Ei((function(e,t,n,r){Ti(t,_s(t),e,r)})),Ss=Qi(ir),Cs=Jr((function(e,t){e=Pe(e);var n=-1,r=t.length,o=r>2?t[2]:i;for(o&&yo(t[0],t[1],o)&&(r=1);++n<r;)for(var a=t[n],s=Is(a),l=-1,c=s.length;++l<c;){var u=s[l],d=e[u];(d===i||Na(d,_e[u])&&!Oe.call(e,u))&&(e[u]=a[u])}return e})),Ps=Jr((function(e){return e.push(i,Ki),Ct(Os,i,e)}));function As(e,t,n){var r=null==e?i:wr(e,t);return r===i?n:r}function xs(e,t){return null!=e&&po(e,t,xr)}var Ts=Bi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=De.call(t)),e[t]=n}),Qs(nl)),Rs=Bi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=De.call(t)),Oe.call(e,t)?e[t].push(n):e[t]=[n]}),oo),Es=Jr(Rr);function _s(e){return Ya(e)?Vn(e):Lr(e)}function Is(e){return Ya(e)?Vn(e,!0):function(e){if(!Qa(e))return function(e){var t=[];if(null!=e)for(var n in Pe(e))t.push(n);return t}(e);var t=wo(e),n=[];for(var r in e)("constructor"!=r||!t&&Oe.call(e,r))&&n.push(r);return n}(e)}var Fs=Ei((function(e,t,n){Nr(e,t,n)})),Os=Ei((function(e,t,n,r){Nr(e,t,n,r)})),Ls=Qi((function(e,t){var n={};if(null==e)return n;var r=!1;t=It(t,(function(t){return t=gi(t,e),r||(r=t.length>1),t})),Ti(e,to(e),n),r&&(n=ar(n,7,Zi));for(var i=t.length;i--;)li(n,t[i]);return n})),Ms=Qi((function(e,t){return null==e?{}:function(e,t){return Wr(e,t,(function(t,n){return xs(e,n)}))}(e,t)}));function Ds(e,t){if(null==e)return{};var n=It(to(e),(function(e){return[e]}));return t=oo(t),Wr(e,n,(function(e,n){return t(e,n[0])}))}var Gs=Ji(_s),Bs=Ji(Is);function Ns(e){return null==e?[]:Kt(e,_s(e))}var js=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?zs(t):t)}));function zs(e){return $s(ys(e).toLowerCase())}function Ws(e){return(e=ys(e))&&e.replace(ve,en).replace(Ze,"")}var Us=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Hs=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ys=Fi("toLowerCase"),qs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Js=Oi((function(e,t,n){return e+(n?" ":"")+$s(t)})),Vs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),$s=Fi("toUpperCase");function Ks(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Zs=Jr((function(e,t){try{return Ct(e,i,t)}catch(e){return $a(e)?e:new we(e)}})),Xs=Qi((function(e,t){return At(t,(function(t){t=Do(t),rr(e,t,Ra(e[t],e))})),e}));function Qs(e){return function(){return e}}var el=Di(),tl=Di(!0);function nl(e){return e}function rl(e){return Or("function"==typeof e?e:ar(e,1))}var il=Jr((function(e,t){return function(n){return Rr(n,e,t)}})),ol=Jr((function(e,t){return function(n){return Rr(e,n,t)}}));function al(e,t,n){var r=_s(t),i=kr(t,r);null!=n||Qa(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=kr(t,_s(t)));var o=!(Qa(n)&&"chain"in n&&!n.chain),a=Ka(e);return At(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=xi(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Ft([this.value()],arguments))})})),e}function sl(){}var ll=ji(It),cl=ji(Tt),ul=ji(Mt);function dl(e){return vo(e)?Ut(Do(e)):function(e){return function(t){return wr(t,e)}}(e)}var hl=Wi(),pl=Wi(!0);function ml(){return[]}function fl(){return!1}var gl,yl=Ni((function(e,t){return e+t}),0),vl=Yi("ceil"),bl=Ni((function(e,t){return e/t}),1),kl=Yi("floor"),wl=Ni((function(e,t){return e*t}),1),Sl=Yi("round"),Cl=Ni((function(e,t){return e-t}),0);return Bn.after=function(e,t){if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){if(--e<1)return t.apply(this,arguments)}},Bn.ary=xa,Bn.assign=vs,Bn.assignIn=bs,Bn.assignInWith=ks,Bn.assignWith=ws,Bn.at=Ss,Bn.before=Ta,Bn.bind=Ra,Bn.bindAll=Xs,Bn.bindKey=Ea,Bn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ua(e)?e:[e]},Bn.chain=da,Bn.chunk=function(e,t,n){t=(n?yo(e,t,n):t===i)?1:gn(ps(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,l=r(ht(o/t));a<o;)l[s++]=ei(e,a,a+=t);return l},Bn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},Bn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return Ft(Ua(n)?xi(n):[n],fr(t,1))},Bn.cond=function(e){var t=null==e?0:e.length,n=oo();return e=t?It(e,(function(e){if("function"!=typeof e[1])throw new Te(o);return[n(e[0]),e[1]]})):[],Jr((function(n){for(var r=-1;++r<t;){var i=e[r];if(Ct(i[0],this,n))return Ct(i[1],this,n)}}))},Bn.conforms=function(e){return function(e){var t=_s(e);return function(n){return sr(n,e,t)}}(ar(e,1))},Bn.constant=Qs,Bn.countBy=ma,Bn.create=function(e,t){var n=Nn(e);return null==t?n:nr(n,t)},Bn.curry=function e(t,n,r){var o=Vi(t,8,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.curryRight=function e(t,n,r){var o=Vi(t,16,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.debounce=_a,Bn.defaults=Cs,Bn.defaultsDeep=Ps,Bn.defer=Ia,Bn.delay=Fa,Bn.difference=No,Bn.differenceBy=jo,Bn.differenceWith=zo,Bn.drop=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=n||t===i?1:ps(t))<0?0:t,r):[]},Bn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,0,(t=r-(t=n||t===i?1:ps(t)))<0?0:t):[]},Bn.dropRightWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!0,!0):[]},Bn.dropWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!0):[]},Bn.fill=function(e,t,n,r){var o=null==e?0:e.length;return o?(n&&"number"!=typeof n&&yo(e,t,n)&&(n=0,r=o),function(e,t,n,r){var o=e.length;for((n=ps(n))<0&&(n=-n>o?0:o+n),(r=r===i||r>o?o:ps(r))<0&&(r+=o),r=n>r?0:ms(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},Bn.filter=function(e,t){return(Ua(e)?Rt:mr)(e,oo(t,3))},Bn.flatMap=function(e,t){return fr(Sa(e,t),1)},Bn.flatMapDeep=function(e,t){return fr(Sa(e,t),u)},Bn.flatMapDepth=function(e,t,n){return n=n===i?1:ps(n),fr(Sa(e,t),n)},Bn.flatten=Ho,Bn.flattenDeep=function(e){return null!=e&&e.length?fr(e,u):[]},Bn.flattenDepth=function(e,t){return null!=e&&e.length?fr(e,t=t===i?1:ps(t)):[]},Bn.flip=function(e){return Vi(e,512)},Bn.flow=el,Bn.flowRight=tl,Bn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},Bn.functions=function(e){return null==e?[]:kr(e,_s(e))},Bn.functionsIn=function(e){return null==e?[]:kr(e,Is(e))},Bn.groupBy=ba,Bn.initial=function(e){return null!=e&&e.length?ei(e,0,-1):[]},Bn.intersection=qo,Bn.intersectionBy=Jo,Bn.intersectionWith=Vo,Bn.invert=Ts,Bn.invertBy=Rs,Bn.invokeMap=ka,Bn.iteratee=rl,Bn.keyBy=wa,Bn.keys=_s,Bn.keysIn=Is,Bn.map=Sa,Bn.mapKeys=function(e,t){var n={};return t=oo(t,3),vr(e,(function(e,r,i){rr(n,t(e,r,i),e)})),n},Bn.mapValues=function(e,t){var n={};return t=oo(t,3),vr(e,(function(e,r,i){rr(n,r,t(e,r,i))})),n},Bn.matches=function(e){return Gr(ar(e,1))},Bn.matchesProperty=function(e,t){return Br(e,ar(t,1))},Bn.memoize=Oa,Bn.merge=Fs,Bn.mergeWith=Os,Bn.method=il,Bn.methodOf=ol,Bn.mixin=al,Bn.negate=La,Bn.nthArg=function(e){return e=ps(e),Jr((function(t){return jr(t,e)}))},Bn.omit=Ls,Bn.omitBy=function(e,t){return Ds(e,La(oo(t)))},Bn.once=function(e){return Ta(2,e)},Bn.orderBy=function(e,t,n,r){return null==e?[]:(Ua(t)||(t=null==t?[]:[t]),Ua(n=r?i:n)||(n=null==n?[]:[n]),zr(e,t,n))},Bn.over=ll,Bn.overArgs=Ma,Bn.overEvery=cl,Bn.overSome=ul,Bn.partial=Da,Bn.partialRight=Ga,Bn.partition=Ca,Bn.pick=Ms,Bn.pickBy=Ds,Bn.property=dl,Bn.propertyOf=function(e){return function(t){return null==e?i:wr(e,t)}},Bn.pull=Ko,Bn.pullAll=Zo,Bn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Ur(e,t,oo(n,2)):e},Bn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Ur(e,t,i,n):e},Bn.pullAt=Xo,Bn.range=hl,Bn.rangeRight=pl,Bn.rearg=Ba,Bn.reject=function(e,t){return(Ua(e)?Rt:mr)(e,La(oo(t,3)))},Bn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=oo(t,3);++r<o;){var a=e[r];t(a,r,e)&&(n.push(a),i.push(r))}return Hr(e,i),n},Bn.rest=function(e,t){if("function"!=typeof e)throw new Te(o);return Jr(e,t=t===i?t:ps(t))},Bn.reverse=Qo,Bn.sampleSize=function(e,t,n){return t=(n?yo(e,t,n):t===i)?1:ps(t),(Ua(e)?Kn:$r)(e,t)},Bn.set=function(e,t,n){return null==e?e:Kr(e,t,n)},Bn.setWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:Kr(e,t,n,r)},Bn.shuffle=function(e){return(Ua(e)?Zn:Qr)(e)},Bn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&yo(e,t,n)?(t=0,n=r):(t=null==t?0:ps(t),n=n===i?r:ps(n)),ei(e,t,n)):[]},Bn.sortBy=Pa,Bn.sortedUniq=function(e){return e&&e.length?ii(e):[]},Bn.sortedUniqBy=function(e,t){return e&&e.length?ii(e,oo(t,2)):[]},Bn.split=function(e,t,n){return n&&"number"!=typeof n&&yo(e,t,n)&&(t=n=i),(n=n===i?p:n>>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=ai(t))&&rn(e)?vi(dn(e),0,n):e.split(t,n):[]},Bn.spread=function(e,t){if("function"!=typeof e)throw new Te(o);return t=null==t?0:gn(ps(t),0),Jr((function(n){var r=n[t],i=vi(n,0,t);return r&&Ft(i,r),Ct(e,this,i)}))},Bn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Bn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:ps(t))<0?0:t):[]},Bn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:ps(t)))<0?0:t,r):[]},Bn.takeRightWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!1,!0):[]},Bn.takeWhile=function(e,t){return e&&e.length?ui(e,oo(t,3)):[]},Bn.tap=function(e,t){return t(e),e},Bn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Te(o);return Qa(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),_a(e,t,{leading:r,maxWait:t,trailing:i})},Bn.thru=ha,Bn.toArray=ds,Bn.toPairs=Gs,Bn.toPairsIn=Bs,Bn.toPath=function(e){return Ua(e)?It(e,Do):ss(e)?[e]:xi(Mo(ys(e)))},Bn.toPlainObject=gs,Bn.transform=function(e,t,n){var r=Ua(e),i=r||Ja(e)||ls(e);if(t=oo(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Qa(e)&&Ka(o)?Nn(He(e)):{}}return(i?At:vr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Bn.unary=function(e){return xa(e,1)},Bn.union=ea,Bn.unionBy=ta,Bn.unionWith=na,Bn.uniq=function(e){return e&&e.length?si(e):[]},Bn.uniqBy=function(e,t){return e&&e.length?si(e,oo(t,2)):[]},Bn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Bn.unset=function(e,t){return null==e||li(e,t)},Bn.unzip=ra,Bn.unzipWith=ia,Bn.update=function(e,t,n){return null==e?e:ci(e,t,fi(n))},Bn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:ci(e,t,fi(n),r)},Bn.values=Ns,Bn.valuesIn=function(e){return null==e?[]:Kt(e,Is(e))},Bn.without=oa,Bn.words=Ks,Bn.wrap=function(e,t){return Da(fi(t),e)},Bn.xor=aa,Bn.xorBy=sa,Bn.xorWith=la,Bn.zip=ca,Bn.zipObject=function(e,t){return pi(e||[],t||[],Qn)},Bn.zipObjectDeep=function(e,t){return pi(e||[],t||[],Kr)},Bn.zipWith=ua,Bn.entries=Gs,Bn.entriesIn=Bs,Bn.extend=bs,Bn.extendWith=ks,al(Bn,Bn),Bn.add=yl,Bn.attempt=Zs,Bn.camelCase=js,Bn.capitalize=zs,Bn.ceil=vl,Bn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=fs(n))==n?n:0),t!==i&&(t=(t=fs(t))==t?t:0),or(fs(e),t,n)},Bn.clone=function(e){return ar(e,4)},Bn.cloneDeep=function(e){return ar(e,5)},Bn.cloneDeepWith=function(e,t){return ar(e,5,t="function"==typeof t?t:i)},Bn.cloneWith=function(e,t){return ar(e,4,t="function"==typeof t?t:i)},Bn.conformsTo=function(e,t){return null==t||sr(e,t,_s(t))},Bn.deburr=Ws,Bn.defaultTo=function(e,t){return null==e||e!=e?t:e},Bn.divide=bl,Bn.endsWith=function(e,t,n){e=ys(e),t=ai(t);var r=e.length,o=n=n===i?r:or(ps(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},Bn.eq=Na,Bn.escape=function(e){return(e=ys(e))&&V.test(e)?e.replace(q,tn):e},Bn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Bn.every=function(e,t,n){var r=Ua(e)?Tt:hr;return n&&yo(e,t,n)&&(t=i),r(e,oo(t,3))},Bn.find=fa,Bn.findIndex=Wo,Bn.findKey=function(e,t){return Gt(e,oo(t,3),vr)},Bn.findLast=ga,Bn.findLastIndex=Uo,Bn.findLastKey=function(e,t){return Gt(e,oo(t,3),br)},Bn.floor=kl,Bn.forEach=ya,Bn.forEachRight=va,Bn.forIn=function(e,t){return null==e?e:gr(e,oo(t,3),Is)},Bn.forInRight=function(e,t){return null==e?e:yr(e,oo(t,3),Is)},Bn.forOwn=function(e,t){return e&&vr(e,oo(t,3))},Bn.forOwnRight=function(e,t){return e&&br(e,oo(t,3))},Bn.get=As,Bn.gt=ja,Bn.gte=za,Bn.has=function(e,t){return null!=e&&po(e,t,Ar)},Bn.hasIn=xs,Bn.head=Yo,Bn.identity=nl,Bn.includes=function(e,t,n,r){e=Ya(e)?e:Ns(e),n=n&&!r?ps(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),as(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Nt(e,t,n)>-1},Bn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ps(n);return i<0&&(i=gn(r+i,0)),Nt(e,t,i)},Bn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e<gn(t,n)}(e=fs(e),t,n)},Bn.invoke=Es,Bn.isArguments=Wa,Bn.isArray=Ua,Bn.isArrayBuffer=Ha,Bn.isArrayLike=Ya,Bn.isArrayLikeObject=qa,Bn.isBoolean=function(e){return!0===e||!1===e||es(e)&&Cr(e)==y},Bn.isBuffer=Ja,Bn.isDate=Va,Bn.isElement=function(e){return es(e)&&1===e.nodeType&&!rs(e)},Bn.isEmpty=function(e){if(null==e)return!0;if(Ya(e)&&(Ua(e)||"string"==typeof e||"function"==typeof e.splice||Ja(e)||ls(e)||Wa(e)))return!e.length;var t=ho(e);if(t==S||t==T)return!e.size;if(wo(e))return!Lr(e).length;for(var n in e)if(Oe.call(e,n))return!1;return!0},Bn.isEqual=function(e,t){return _r(e,t)},Bn.isEqualWith=function(e,t,n){var r=(n="function"==typeof n?n:i)?n(e,t):i;return r===i?_r(e,t,i,n):!!r},Bn.isError=$a,Bn.isFinite=function(e){return"number"==typeof e&&Dt(e)},Bn.isFunction=Ka,Bn.isInteger=Za,Bn.isLength=Xa,Bn.isMap=ts,Bn.isMatch=function(e,t){return e===t||Ir(e,t,so(t))},Bn.isMatchWith=function(e,t,n){return n="function"==typeof n?n:i,Ir(e,t,so(t),n)},Bn.isNaN=function(e){return ns(e)&&e!=+e},Bn.isNative=function(e){if(ko(e))throw new we("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Fr(e)},Bn.isNil=function(e){return null==e},Bn.isNull=function(e){return null===e},Bn.isNumber=ns,Bn.isObject=Qa,Bn.isObjectLike=es,Bn.isPlainObject=rs,Bn.isRegExp=is,Bn.isSafeInteger=function(e){return Za(e)&&e>=-9007199254740991&&e<=d},Bn.isSet=os,Bn.isString=as,Bn.isSymbol=ss,Bn.isTypedArray=ls,Bn.isUndefined=function(e){return e===i},Bn.isWeakMap=function(e){return es(e)&&ho(e)==_},Bn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Cr(e)},Bn.join=function(e,t){return null==e?"":Ht.call(e,t)},Bn.kebabCase=Us,Bn.last=$o,Bn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ps(n))<0?gn(r+o,0):yn(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):Bt(e,zt,o,!0)},Bn.lowerCase=Hs,Bn.lowerFirst=Ys,Bn.lt=cs,Bn.lte=us,Bn.max=function(e){return e&&e.length?pr(e,nl,Pr):i},Bn.maxBy=function(e,t){return e&&e.length?pr(e,oo(t,2),Pr):i},Bn.mean=function(e){return Wt(e,nl)},Bn.meanBy=function(e,t){return Wt(e,oo(t,2))},Bn.min=function(e){return e&&e.length?pr(e,nl,Mr):i},Bn.minBy=function(e,t){return e&&e.length?pr(e,oo(t,2),Mr):i},Bn.stubArray=ml,Bn.stubFalse=fl,Bn.stubObject=function(){return{}},Bn.stubString=function(){return""},Bn.stubTrue=function(){return!0},Bn.multiply=wl,Bn.nth=function(e,t){return e&&e.length?jr(e,ps(t)):i},Bn.noConflict=function(){return dt._===this&&(dt._=Be),this},Bn.noop=sl,Bn.now=Aa,Bn.pad=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return zi(pt(i),n)+e+zi(ht(i),n)},Bn.padEnd=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;return t&&r<t?e+zi(t-r,n):e},Bn.padStart=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;return t&&r<t?zi(t-r,n)+e:e},Bn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),bn(ys(e).replace(re,""),t||0)},Bn.random=function(e,t,n){if(n&&"boolean"!=typeof n&&yo(e,t,n)&&(t=n=i),n===i&&("boolean"==typeof t?(n=t,t=i):"boolean"==typeof e&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=hs(e),t===i?(t=e,e=0):t=hs(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=kn();return yn(e+o*(t-e+st("1e-"+((o+"").length-1))),t)}return Yr(e,t)},Bn.reduce=function(e,t,n){var r=Ua(e)?Ot:Yt,i=arguments.length<3;return r(e,oo(t,4),n,i,ur)},Bn.reduceRight=function(e,t,n){var r=Ua(e)?Lt:Yt,i=arguments.length<3;return r(e,oo(t,4),n,i,dr)},Bn.repeat=function(e,t,n){return t=(n?yo(e,t,n):t===i)?1:ps(t),qr(ys(e),t)},Bn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Bn.result=function(e,t,n){var r=-1,o=(t=gi(t,e)).length;for(o||(o=1,e=i);++r<o;){var a=null==e?i:e[Do(t[r])];a===i&&(r=o,a=n),e=Ka(a)?a.call(e):a}return e},Bn.round=Sl,Bn.runInContext=e,Bn.sample=function(e){return(Ua(e)?$n:Vr)(e)},Bn.size=function(e){if(null==e)return 0;if(Ya(e))return as(e)?un(e):e.length;var t=ho(e);return t==S||t==T?e.size:Lr(e).length},Bn.snakeCase=qs,Bn.some=function(e,t,n){var r=Ua(e)?Mt:ti;return n&&yo(e,t,n)&&(t=i),r(e,oo(t,3))},Bn.sortedIndex=function(e,t){return ni(e,t)},Bn.sortedIndexBy=function(e,t,n){return ri(e,t,oo(n,2))},Bn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=ni(e,t);if(r<n&&Na(e[r],t))return r}return-1},Bn.sortedLastIndex=function(e,t){return ni(e,t,!0)},Bn.sortedLastIndexBy=function(e,t,n){return ri(e,t,oo(n,2),!0)},Bn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=ni(e,t,!0)-1;if(Na(e[n],t))return n}return-1},Bn.startCase=Js,Bn.startsWith=function(e,t,n){return e=ys(e),n=null==n?0:or(ps(n),0,e.length),t=ai(t),e.slice(n,n+t.length)==t},Bn.subtract=Cl,Bn.sum=function(e){return e&&e.length?qt(e,nl):0},Bn.sumBy=function(e,t){return e&&e.length?qt(e,oo(t,2)):0},Bn.template=function(e,t,n){var r=Bn.templateSettings;n&&yo(e,t,n)&&(t=i),e=ys(e),t=ks({},t,r,$i);var o,a,s=ks({},t.imports,r.imports,$i),l=_s(s),c=Kt(s,l),u=0,d=t.interpolate||be,h="__p += '",p=Ae((t.escape||be).source+"|"+d.source+"|"+(d===Z?de:be).source+"|"+(t.evaluate||be).source+"|$","g"),m="//# sourceURL="+(Oe.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rt+"]")+"\n";e.replace(p,(function(t,n,r,i,s,l){return r||(r=i),h+=e.slice(u,l).replace(ke,nn),n&&(o=!0,h+="' +\n__e("+n+") +\n'"),s&&(a=!0,h+="';\n"+s+";\n__p += '"),r&&(h+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),h+="';\n";var f=Oe.call(t,"variable")&&t.variable;if(f){if(ce.test(f))throw new we("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(a?h.replace(W,""):h).replace(U,"$1").replace(H,"$1;"),h="function("+(f||"obj")+") {\n"+(f?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=Zs((function(){return Se(l,m+"return "+h).apply(i,c)}));if(g.source=h,$a(g))throw g;return g},Bn.times=function(e,t){if((e=ps(e))<1||e>d)return[];var n=p,r=yn(e,p);t=oo(t),e-=p;for(var i=Jt(r,t);++n<e;)t(n);return i},Bn.toFinite=hs,Bn.toInteger=ps,Bn.toLength=ms,Bn.toLower=function(e){return ys(e).toLowerCase()},Bn.toNumber=fs,Bn.toSafeInteger=function(e){return e?or(ps(e),-9007199254740991,d):0===e?e:0},Bn.toString=ys,Bn.toUpper=function(e){return ys(e).toUpperCase()},Bn.trim=function(e,t,n){if((e=ys(e))&&(n||t===i))return Vt(e);if(!e||!(t=ai(t)))return e;var r=dn(e),o=dn(t);return vi(r,Xt(r,o),Qt(r,o)+1).join("")},Bn.trimEnd=function(e,t,n){if((e=ys(e))&&(n||t===i))return e.slice(0,hn(e)+1);if(!e||!(t=ai(t)))return e;var r=dn(e);return vi(r,0,Qt(r,dn(t))+1).join("")},Bn.trimStart=function(e,t,n){if((e=ys(e))&&(n||t===i))return e.replace(re,"");if(!e||!(t=ai(t)))return e;var r=dn(e);return vi(r,Xt(r,dn(t))).join("")},Bn.truncate=function(e,t){var n=30,r="...";if(Qa(t)){var o="separator"in t?t.separator:o;n="length"in t?ps(t.length):n,r="omission"in t?ai(t.omission):r}var a=(e=ys(e)).length;if(rn(e)){var s=dn(e);a=s.length}if(n>=a)return e;var l=n-un(r);if(l<1)return r;var c=s?vi(s,0,l).join(""):e.slice(0,l);if(o===i)return c+r;if(s&&(l+=c.length-l),is(o)){if(e.slice(l).search(o)){var u,d=c;for(o.global||(o=Ae(o.source,ys(he.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var h=u.index;c=c.slice(0,h===i?l:h)}}else if(e.indexOf(ai(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},Bn.unescape=function(e){return(e=ys(e))&&J.test(e)?e.replace(Y,pn):e},Bn.uniqueId=function(e){var t=++Le;return ys(e)+t},Bn.upperCase=Vs,Bn.upperFirst=$s,Bn.each=ya,Bn.eachRight=va,Bn.first=Yo,al(Bn,(gl={},vr(Bn,(function(e,t){Oe.call(Bn.prototype,t)||(gl[t]=e)})),gl),{chain:!1}),Bn.VERSION="4.17.21",At(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Bn[e].placeholder=Bn})),At(["drop","take"],(function(e,t){Wn.prototype[e]=function(n){n=n===i?1:gn(ps(n),0);var r=this.__filtered__&&!t?new Wn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,p),type:e+(r.__dir__<0?"Right":"")}),r},Wn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),At(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Wn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:oo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),At(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Wn.prototype[e]=function(){return this[n](1).value()[0]}})),At(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Wn.prototype[e]=function(){return this.__filtered__?new Wn(this):this[n](1)}})),Wn.prototype.compact=function(){return this.filter(nl)},Wn.prototype.find=function(e){return this.filter(e).head()},Wn.prototype.findLast=function(e){return this.reverse().find(e)},Wn.prototype.invokeMap=Jr((function(e,t){return"function"==typeof e?new Wn(this):this.map((function(n){return Rr(n,e,t)}))})),Wn.prototype.reject=function(e){return this.filter(La(oo(e)))},Wn.prototype.slice=function(e,t){e=ps(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Wn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=ps(t))<0?n.dropRight(-t):n.take(t-e)),n)},Wn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Wn.prototype.toArray=function(){return this.take(p)},vr(Wn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=Bn[r?"take"+("last"==t?"Right":""):t],a=r||/^find/.test(t);o&&(Bn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,l=t instanceof Wn,c=s[0],u=l||Ua(t),d=function(e){var t=o.apply(Bn,Ft([e],s));return r&&h?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var h=this.__chain__,p=!!this.__actions__.length,m=a&&!h,f=l&&!p;if(!a&&u){t=f?t:new Wn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[d],thisArg:i}),new zn(g,h)}return m&&f?e.apply(this,s):(g=this.thru(d),m?r?g.value()[0]:g.value():g)})})),At(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Re[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Bn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Ua(i)?i:[],e)}return this[n]((function(n){return t.apply(Ua(n)?n:[],e)}))}})),vr(Wn.prototype,(function(e,t){var n=Bn[t];if(n){var r=n.name+"";Oe.call(En,r)||(En[r]=[]),En[r].push({name:t,func:n})}})),En[Gi(i,2).name]=[{name:"wrapper",func:i}],Wn.prototype.clone=function(){var e=new Wn(this.__wrapped__);return e.__actions__=xi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=xi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=xi(this.__views__),e},Wn.prototype.reverse=function(){if(this.__filtered__){var e=new Wn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Wn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ua(e),r=t<0,i=n?e.length:0,o=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":e+=a;break;case"dropRight":t-=a;break;case"take":t=yn(t,e+a);break;case"takeRight":e=gn(e,t-a)}}return{start:e,end:t}}(0,i,this.__views__),a=o.start,s=o.end,l=s-a,c=r?s:a-1,u=this.__iteratees__,d=u.length,h=0,p=yn(l,this.__takeCount__);if(!n||!r&&i==l&&p==l)return di(e,this.__actions__);var m=[];e:for(;l--&&h<p;){for(var f=-1,g=e[c+=t];++f<d;){var y=u[f],v=y.iteratee,b=y.type,k=v(g);if(2==b)g=k;else if(!k){if(1==b)continue e;break e}}m[h++]=g}return m},Bn.prototype.at=pa,Bn.prototype.chain=function(){return da(this)},Bn.prototype.commit=function(){return new zn(this.value(),this.__chain__)},Bn.prototype.next=function(){this.__values__===i&&(this.__values__=ds(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Bn.prototype.plant=function(e){for(var t,n=this;n instanceof jn;){var r=Bo(n);r.__index__=0,r.__values__=i,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},Bn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Wn){var t=e;return this.__actions__.length&&(t=new Wn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Qo],thisArg:i}),new zn(t,this.__chain__)}return this.thru(Qo)},Bn.prototype.toJSON=Bn.prototype.valueOf=Bn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Bn.prototype.first=Bn.prototype.head,$e&&(Bn.prototype[$e]=function(){return this}),Bn}();dt._=mn,(r=function(){return mn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};return(()=>{"use strict";function e(e,t){return function(){return e.apply(t,arguments)}}n.d(r,{default:()=>xi});const{toString:t}=Object.prototype,{getPrototypeOf:i}=Object,o=(a=Object.create(null),e=>{const n=t.call(e);return a[n]||(a[n]=n.slice(8,-1).toLowerCase())});var a;const s=e=>(e=e.toLowerCase(),t=>o(t)===e),l=e=>t=>typeof t===e,{isArray:c}=Array,u=l("undefined"),d=s("ArrayBuffer"),h=l("string"),p=l("function"),m=l("number"),f=e=>null!==e&&"object"==typeof e,g=e=>{if("object"!==o(e))return!1;const t=i(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},y=s("Date"),v=s("File"),b=s("Blob"),k=s("FileList"),w=s("URLSearchParams");function S(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,i;if("object"!=typeof e&&(e=[e]),c(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{const i=n?Object.getOwnPropertyNames(e):Object.keys(e),o=i.length;let a;for(r=0;r<o;r++)a=i[r],t.call(null,e[a],a,e)}}function C(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,i=n.length;for(;i-- >0;)if(r=n[i],t===r.toLowerCase())return r;return null}const P="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,A=e=>!u(e)&&e!==P,x=(T="undefined"!=typeof Uint8Array&&i(Uint8Array),e=>T&&e instanceof T);var T;const R=s("HTMLFormElement"),E=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),I=s("RegExp"),F=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};S(n,((n,i)=>{let o;!1!==(o=t(n,i,e))&&(r[i]=o||n)})),Object.defineProperties(e,r)},O="abcdefghijklmnopqrstuvwxyz",L="0123456789",M={DIGIT:L,ALPHA:O,ALPHA_DIGIT:O+O.toUpperCase()+L},D=s("AsyncFunction"),G={isArray:c,isArrayBuffer:d,isBuffer:function(e){return null!==e&&!u(e)&&null!==e.constructor&&!u(e.constructor)&&p(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||p(e.append)&&("formdata"===(t=o(e))||"object"===t&&p(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:h,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:f,isPlainObject:g,isUndefined:u,isDate:y,isFile:v,isBlob:b,isRegExp:I,isFunction:p,isStream:e=>f(e)&&p(e.pipe),isURLSearchParams:w,isTypedArray:x,isFileList:k,forEach:S,merge:function e(){const{caseless:t}=A(this)&&this||{},n={},r=(r,i)=>{const o=t&&C(n,i)||i;g(n[o])&&g(r)?n[o]=e(n[o],r):g(r)?n[o]=e({},r):c(r)?n[o]=r.slice():n[o]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&S(arguments[e],r);return n},extend:(t,n,r,{allOwnKeys:i}={})=>(S(n,((n,i)=>{r&&p(n)?t[i]=e(n,r):t[i]=n}),{allOwnKeys:i}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,a,s;const l={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),a=o.length;a-- >0;)s=o[a],r&&!r(s,e,t)||l[s]||(t[s]=e[s],l[s]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:o,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(c(e))return e;let t=e.length;if(!m(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:R,hasOwnProperty:E,hasOwnProp:E,reduceDescriptors:F,freezeMethods:e=>{F(e,((t,n)=>{if(p(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];p(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return c(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:C,global:P,isContextDefined:A,ALPHABET:M,generateString:(e=16,t=M.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&p(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(f(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const i=c(e)?[]:{};return S(e,((e,t)=>{const o=n(e,r+1);!u(o)&&(i[t]=o)})),t[r]=void 0,i}}return e};return n(e,0)},isAsyncFn:D,isThenable:e=>e&&(f(e)||p(e))&&p(e.then)&&p(e.catch)};function B(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i)}G.inherits(B,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:G.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const N=B.prototype,j={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{j[e]={value:e}})),Object.defineProperties(B,j),Object.defineProperty(N,"isAxiosError",{value:!0}),B.from=(e,t,n,r,i,o)=>{const a=Object.create(N);return G.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),B.call(a,e.message,t,n,r,i),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const z=B;function W(e){return G.isPlainObject(e)||G.isArray(e)}function U(e){return G.endsWith(e,"[]")?e.slice(0,-2):e}function H(e,t,n){return e?e.concat(t).map((function(e,t){return e=U(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const Y=G.toFlatObject(G,{},null,(function(e){return/^is[A-Z]/.test(e)})),q=function(e,t,n){if(!G.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=G.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!G.isUndefined(t[e])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&G.isSpecCompliantForm(t);if(!G.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(G.isDate(e))return e.toISOString();if(!s&&G.isBlob(e))throw new z("Blob is not supported. Use a Buffer instead.");return G.isArrayBuffer(e)||G.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,i){let s=e;if(e&&!i&&"object"==typeof e)if(G.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(G.isArray(e)&&function(e){return G.isArray(e)&&!e.some(W)}(e)||(G.isFileList(e)||G.endsWith(n,"[]"))&&(s=G.toArray(e)))return n=U(n),s.forEach((function(e,r){!G.isUndefined(e)&&null!==e&&t.append(!0===a?H([n],r,o):null===a?n:n+"[]",l(e))})),!1;return!!W(e)||(t.append(H(i,n,o),l(e)),!1)}const u=[],d=Object.assign(Y,{defaultVisitor:c,convertValue:l,isVisitable:W});if(!G.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!G.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),G.forEach(n,(function(n,o){!0===(!(G.isUndefined(n)||null===n)&&i.call(t,n,G.isString(o)?o.trim():o,r,d))&&e(n,r?r.concat(o):[o])})),u.pop()}}(e),t};function J(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function V(e,t){this._pairs=[],e&&q(e,this,t)}const $=V.prototype;$.append=function(e,t){this._pairs.push([e,t])},$.toString=function(e){const t=e?function(t){return e.call(this,t,J)}:J;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const K=V;function Z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(e,t,n){if(!t)return e;const r=n&&n.encode||Z,i=n&&n.serialize;let o;if(o=i?i(t,n):G.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}const Q=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){G.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},ee={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},te={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:K,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]},ne=function(e){function t(e,n,r,i){let o=e[i++];const a=Number.isFinite(+o),s=i>=e.length;return o=!o&&G.isArray(r)?r.length:o,s?(G.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&G.isObject(r[o])||(r[o]=[]),t(e,n,r[o],i)&&G.isArray(r[o])&&(r[o]=function(e){const t={},n=Object.keys(e);let r;const i=n.length;let o;for(r=0;r<i;r++)o=n[r],t[o]=e[o];return t}(r[o])),!a)}if(G.isFormData(e)&&G.isFunction(e.entries)){const n={};return G.forEachEntry(e,((e,r)=>{t(function(e){return G.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},re={transitional:ee,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,i=G.isObject(e);if(i&&G.isHTMLForm(e)&&(e=new FormData(e)),G.isFormData(e))return r&&r?JSON.stringify(ne(e)):e;if(G.isArrayBuffer(e)||G.isBuffer(e)||G.isStream(e)||G.isFile(e)||G.isBlob(e))return e;if(G.isArrayBufferView(e))return e.buffer;if(G.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return q(e,new te.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return te.isNode&&G.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=G.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return q(o?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType("application/json",!1),function(e,t,n){if(G.isString(e))try{return(0,JSON.parse)(e),G.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||re.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&G.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw z.from(e,z.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:te.classes.FormData,Blob:te.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};G.forEach(["delete","get","head","post","put","patch"],(e=>{re.headers[e]={}}));const ie=re,oe=G.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ae=Symbol("internals");function se(e){return e&&String(e).trim().toLowerCase()}function le(e){return!1===e||null==e?e:G.isArray(e)?e.map(le):String(e)}function ce(e,t,n,r,i){return G.isFunction(r)?r.call(this,t,n):(i&&(t=n),G.isString(t)?G.isString(r)?-1!==t.indexOf(r):G.isRegExp(r)?r.test(t):void 0:void 0)}class ue{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function i(e,t,n){const i=se(t);if(!i)throw new Error("header name must be a non-empty string");const o=G.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||t]=le(e))}const o=(e,t)=>G.forEach(e,((e,n)=>i(e,n,t)));return G.isPlainObject(e)||e instanceof this.constructor?o(e,t):G.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?o((e=>{const t={};let n,r,i;return e&&e.split("\n").forEach((function(e){i=e.indexOf(":"),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!n||t[n]&&oe[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t):null!=e&&i(t,e,n),this}get(e,t){if(e=se(e)){const n=G.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(G.isFunction(t))return t.call(this,e,n);if(G.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=se(e)){const n=G.findKey(this,e);return!(!n||void 0===this[n]||t&&!ce(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function i(e){if(e=se(e)){const i=G.findKey(n,e);!i||t&&!ce(0,n[i],i,t)||(delete n[i],r=!0)}}return G.isArray(e)?e.forEach(i):i(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const i=t[n];e&&!ce(0,this[i],i,e,!0)||(delete this[i],r=!0)}return r}normalize(e){const t=this,n={};return G.forEach(this,((r,i)=>{const o=G.findKey(n,i);if(o)return t[o]=le(r),void delete t[i];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(i):String(i).trim();a!==i&&delete t[i],t[a]=le(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return G.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&G.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[ae]=this[ae]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=se(e);t[r]||(function(e,t){const n=G.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})}))}(n,e),t[r]=!0)}return G.isArray(e)?e.forEach(r):r(e),this}}ue.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),G.reduceDescriptors(ue.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),G.freezeMethods(ue);const de=ue;function he(e,t){const n=this||ie,r=t||n,i=de.from(r.headers);let o=r.data;return G.forEach(e,(function(e){o=e.call(n,o,i.normalize(),t?t.status:void 0)})),i.normalize(),o}function pe(e){return!(!e||!e.__CANCEL__)}function me(e,t,n){z.call(this,null==e?"canceled":e,z.ERR_CANCELED,t,n),this.name="CanceledError"}G.inherits(me,z,{__CANCEL__:!0});const fe=me,ge=te.isStandardBrowserEnv?{write:function(e,t,n,r,i,o){const a=[];a.push(e+"="+encodeURIComponent(t)),G.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),G.isString(r)&&a.push("path="+r),G.isString(i)&&a.push("domain="+i),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function ye(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const ve=te.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=G.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function be(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i,o=0,a=0;return t=void 0!==t?t:1e3,function(s){const l=Date.now(),c=r[a];i||(i=l),n[o]=s,r[o]=l;let u=a,d=0;for(;u!==o;)d+=n[u++],u%=e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),l-i<t)return;const h=c&&l-c;return h?Math.round(1e3*d/h):void 0}}(50,250);return i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,s=o-n,l=r(s);n=o;const c={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&o<=a?(a-o)/l:void 0,event:i};c[t?"download":"upload"]=!0,e(c)}}const ke={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const i=de.from(e.headers).normalize(),o=e.responseType;let a,s;function l(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}G.isFormData(r)&&(te.isStandardBrowserEnv||te.isStandardBrowserWebWorkerEnv?i.setContentType(!1):i.getContentType(/^\s*multipart\/form-data/)?G.isString(s=i.getContentType())&&i.setContentType(s.replace(/^\s*(multipart\/form-data);+/,"$1")):i.setContentType("multipart/form-data"));let c=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(t+":"+n))}const u=ye(e.baseURL,e.url);function d(){if(!c)return;const r=de.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new z("Request failed with status code "+n.status,[z.ERR_BAD_REQUEST,z.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),l()}),(function(e){n(e),l()}),{data:o&&"text"!==o&&"json"!==o?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),X(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout,"onloadend"in c?c.onloadend=d:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(d)},c.onabort=function(){c&&(n(new z("Request aborted",z.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new z("Network Error",z.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||ee;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new z(t,r.clarifyTimeoutError?z.ETIMEDOUT:z.ECONNABORTED,e,c)),c=null},te.isStandardBrowserEnv){const t=(e.withCredentials||ve(u))&&e.xsrfCookieName&&ge.read(e.xsrfCookieName);t&&i.set(e.xsrfHeaderName,t)}void 0===r&&i.setContentType(null),"setRequestHeader"in c&&G.forEach(i.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),G.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),o&&"json"!==o&&(c.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&c.addEventListener("progress",be(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",be(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{c&&(n(!t||t.type?new fe(null,e,c):t),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const h=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(u);h&&-1===te.protocols.indexOf(h)?n(new z("Unsupported protocol "+h+":",z.ERR_BAD_REQUEST,e)):c.send(r||null)}))}};G.forEach(ke,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const we=e=>`- ${e}`,Se=e=>G.isFunction(e)||null===e||!1===e,Ce=e=>{e=G.isArray(e)?e:[e];const{length:t}=e;let n,r;const i={};for(let o=0;o<t;o++){let t;if(n=e[o],r=n,!Se(n)&&(r=ke[(t=String(n)).toLowerCase()],void 0===r))throw new z(`Unknown adapter '${t}'`);if(r)break;i[t||"#"+o]=r}if(!r){const e=Object.entries(i).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(we).join("\n"):" "+we(e[0]):"as no adapter specified";throw new z("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Pe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fe(null,e)}function Ae(e){return Pe(e),e.headers=de.from(e.headers),e.data=he.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ce(e.adapter||ie.adapter)(e).then((function(t){return Pe(e),t.data=he.call(e,e.transformResponse,t),t.headers=de.from(t.headers),t}),(function(t){return pe(t)||(Pe(e),t&&t.response&&(t.response.data=he.call(e,e.transformResponse,t.response),t.response.headers=de.from(t.response.headers))),Promise.reject(t)}))}const xe=e=>e instanceof de?e.toJSON():e;function Te(e,t){t=t||{};const n={};function r(e,t,n){return G.isPlainObject(e)&&G.isPlainObject(t)?G.merge.call({caseless:n},e,t):G.isPlainObject(t)?G.merge({},t):G.isArray(t)?t.slice():t}function i(e,t,n){return G.isUndefined(t)?G.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function o(e,t){if(!G.isUndefined(t))return r(void 0,t)}function a(e,t){return G.isUndefined(t)?G.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,i,o){return o in t?r(n,i):o in e?r(void 0,n):void 0}const l={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>i(xe(e),xe(t),!0)};return G.forEach(Object.keys(Object.assign({},e,t)),(function(r){const o=l[r]||i,a=o(e[r],t[r],r);G.isUndefined(a)&&o!==s||(n[r]=a)})),n}const Re={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Re[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Ee={};Re.transitional=function(e,t,n){function r(e,t){return"[Axios v1.5.1] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,i,o)=>{if(!1===e)throw new z(r(i," has been removed"+(t?" in "+t:"")),z.ERR_DEPRECATED);return t&&!Ee[i]&&(Ee[i]=!0,console.warn(r(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,i,o)}};const _e={assertOptions:function(e,t,n){if("object"!=typeof e)throw new z("options must be an object",z.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const o=r[i],a=t[o];if(a){const t=e[o],n=void 0===t||a(t,o,e);if(!0!==n)throw new z("option "+o+" must be "+n,z.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new z("Unknown option "+o,z.ERR_BAD_OPTION)}},validators:Re},Ie=_e.validators;class Fe{constructor(e){this.defaults=e,this.interceptors={request:new Q,response:new Q}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Te(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:i}=t;void 0!==n&&_e.assertOptions(n,{silentJSONParsing:Ie.transitional(Ie.boolean),forcedJSONParsing:Ie.transitional(Ie.boolean),clarifyTimeoutError:Ie.transitional(Ie.boolean)},!1),null!=r&&(G.isFunction(r)?t.paramsSerializer={serialize:r}:_e.assertOptions(r,{encode:Ie.function,serialize:Ie.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&G.merge(i.common,i[t.method]);i&&G.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete i[e]})),t.headers=de.concat(o,i);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let u,d=0;if(!s){const e=[Ae.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,l),u=e.length,c=Promise.resolve(t);d<u;)c=c.then(e[d++],e[d++]);return c}u=a.length;let h=t;for(d=0;d<u;){const e=a[d++],t=a[d++];try{h=e(h)}catch(e){t.call(this,e);break}}try{c=Ae.call(this,h)}catch(e){return Promise.reject(e)}for(d=0,u=l.length;d<u;)c=c.then(l[d++],l[d++]);return c}getUri(e){return X(ye((e=Te(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}G.forEach(["delete","get","head","options"],(function(e){Fe.prototype[e]=function(t,n){return this.request(Te(n||{},{method:e,url:t,data:(n||{}).data}))}})),G.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,i){return this.request(Te(i||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Fe.prototype[e]=t(),Fe.prototype[e+"Form"]=t(!0)}));const Oe=Fe;class Le{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,i){n.reason||(n.reason=new fe(e,r,i),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Le((function(t){e=t})),cancel:e}}}const Me=Le,De={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(De).forEach((([e,t])=>{De[t]=e}));const Ge=De,Be=function t(n){const r=new Oe(n),i=e(Oe.prototype.request,r);return G.extend(i,Oe.prototype,r,{allOwnKeys:!0}),G.extend(i,r,null,{allOwnKeys:!0}),i.create=function(e){return t(Te(n,e))},i}(ie);Be.Axios=Oe,Be.CanceledError=fe,Be.CancelToken=Me,Be.isCancel=pe,Be.VERSION="1.5.1",Be.toFormData=q,Be.AxiosError=z,Be.Cancel=Be.CanceledError,Be.all=function(e){return Promise.all(e)},Be.spread=function(e){return function(t){return e.apply(null,t)}},Be.isAxiosError=function(e){return G.isObject(e)&&!0===e.isAxiosError},Be.mergeConfig=Te,Be.AxiosHeaders=de,Be.formToJSON=e=>ne(G.isHTMLForm(e)?new FormData(e):e),Be.getAdapter=Ce,Be.HttpStatusCode=Ge,Be.default=Be;const Ne=Be;function je(e){return je="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},je(e)}function ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function We(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(n),!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ze(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ue(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,Ye(r.key),r)}}function He(e,t,n){return(t=Ye(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ye(e){var t=function(e,t){if("object"!==je(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==je(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===je(t)?t:String(t)}var qe="".concat("https://").concat("core.getfaceage.com").concat("/api/"),Je={authorize:"v1/business/authorize",skinanalyze:"v2/skin-analyzer/analyze"},Ve={baseURL:qe,responseType:"json"},$e={Accept:"application/json","Content-Type":"application/json"},Ke=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),He(this,"session",void 0),He(this,"request",(function(e,n,r,i,o){var a=We(We({},Ve),{},{headers:We(We({},$e),i)},o),s=n;n in Je&&(s=Je[n]);var l=e.toLowerCase();switch(l){case"get":case"options":case"head":case"delete":return t.session[l](s,a);case"post":case"patch":case"put":return t.session[l](s,r,a)}return null})),this.session=Ne.create(We({},Ve))}var t,n;return t=e,n=[{key:"getInstance",value:function(){return e.instance||(e.instance=new e),e.instance}}],null&&Ue(t.prototype,null),n&&Ue(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();He(Ke,"instance",void 0);const Ze=Ke.getInstance(),Xe={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 Qe{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Xe,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 Qe(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new Qe(this.logger,e)}}var et=new Qe;class tt{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(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];this.observers[e]&&Array.from(this.observers[e].entries()).forEach((e=>{let[t,r]=e;for(let e=0;e<r;e++)t(...n)})),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach((t=>{let[r,i]=t;for(let t=0;t<i;t++)r.apply(r,[e,...n])}))}}function nt(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function rt(e){return null==e?"":""+e}const it=/###/g;function ot(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(it,"."):e}function i(){return!e||"string"==typeof e}const o="string"!=typeof t?t:t.split(".");let a=0;for(;a<o.length-1;){if(i())return{};const t=r(o[a]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++a}return i()?{}:{obj:e,k:r(o[a])}}function at(e,t,n){const{obj:r,k:i}=ot(e,t,Object);if(void 0!==r||1===t.length)return void(r[i]=n);let o=t[t.length-1],a=t.slice(0,t.length-1),s=ot(e,a,Object);for(;void 0===s.obj&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=ot(e,a,Object),s&&s.obj&&void 0!==s.obj[`${s.k}.${o}`]&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=n}function st(e,t){const{obj:n,k:r}=ot(e,t);if(n)return n[r]}function lt(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]):lt(e[r],t[r],n):e[r]=t[r]);return e}function ct(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var ut={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function dt(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>ut[e])):e}const ht=[" ",",","?","!",";"],pt=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}(20);function mt(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 i=e;for(let e=0;e<r.length;){if(!i||"object"!=typeof i)return;let t,o="";for(let a=e;a<r.length;++a)if(a!==e&&(o+=n),o+=r[a],t=i[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<r.length-1)continue;e+=a-e+1;break}i=t}return i}function ft(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class gt extends tt{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 i=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,o=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],n&&(Array.isArray(n)?a.push(...n):"string"==typeof n&&i?a.push(...n.split(i)):a.push(n)));const s=st(this.data,a);return!s&&!t&&!n&&e.indexOf(".")>-1&&(e=a[0],t=a[1],n=a.slice(2).join(".")),s||!o||"string"!=typeof n?s:mt(this.data&&this.data[e]&&this.data[e][t],n,i)}addResource(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),at(this.data,a,r),i.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]||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=n,n=t,t=a[1]),this.addNamespaces(t);let s=st(this.data,a)||{};o.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?lt(s,n,i):s={...s,...n},at(this.data,a,s),o.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 yt={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,i))})),t}};const vt={};class bt extends tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n,r;super(),n=e,r=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((e=>{n[e]&&(r[e]=n[e])})),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=et.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const n=this.resolve(e,t);return n&&void 0!==n.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 i=t.ns||this.options.defaultNS||[];const o=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=ht.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const i=pt.getRegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!i.test(e);if(!o){const t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(o=!0)}return o}(e,n,r));if(o&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i};const o=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(o[0])>-1)&&(i=o.shift()),e=o.join(r)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}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,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:o,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${s}${e}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:`${s}${e}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:o}const u=this.resolve(e,t);let d=u&&u.res;const h=u&&u.usedKey||o,p=u&&u.exactUsedKey||o,m=Object.prototype.toString.apply(d),f=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject;if(g&&d&&"string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d&&["[object Number]","[object Function]","[object RegExp]"].indexOf(m)<0&&("string"!=typeof f||!Array.isArray(d))){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 '${o} (${this.language})' returned an object instead of string.`;return r?(u.res=e,u.usedParams=this.getUsedParamsDetails(t),u):e}if(i){const e=Array.isArray(d),n=e?[]:{},r=e?p:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const o=`${r}${i}${e}`;n[e]=this.translate(o,{...t,joinArrays:!1,ns:a}),n[e]===o&&(n[e]=d[e])}d=n}}else if(g&&"string"==typeof f&&Array.isArray(d))d=d.join(f),d&&(d=this.extendTranslation(d,e,t,n));else{let r=!1,a=!1;const c=void 0!==t.count&&"string"!=typeof t.count,h=bt.hasDefaultValue(t),p=c?this.pluralResolver.getSuffix(l,t.count,t):"",m=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=c&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),g=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${p}`]||t[`defaultValue${m}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(r=!0,d=g),this.isValidLookup(d)||(a=!0,d=o);const y=(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,o,v?g:d),i){const e=this.resolve(o,{...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 i=h&&r!==d?r:y;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,i,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,i,v,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{const n=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&n.indexOf(`${this.options.pluralSeparator}zero`)<0&&n.push(`${this.options.pluralSeparator}zero`),n.forEach((n=>{r([e],o+n,t[`defaultValue${n}`]||g)}))})):r(e,o,g))}d=this.extendTranslation(d,e,t,u,n),a&&d===o&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${o}`),(a||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${o}`:o,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(u.res=d,u.usedParams=this.getUsedParamsDetails(t),u):d}extendTranslation(e,t,n,r,i){var o=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||r.usedLng,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=this.language||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 i&&i[0]===r[0]&&!n.context?(o.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):o.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=yt.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e){let t,n,r,i,o,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 c=s.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==a.count&&"string"!=typeof a.count,d=u&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,p=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(o=e,!vt[`${p[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(vt[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${p.join(", ")}" won't get resolved as namespace "${o}" 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!!!")),p.forEach((n=>{if(this.isValidLookup(t))return;i=n;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,n,e,a);else{let e;u&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(l+e),a.ordinal&&0===e.indexOf(r)&&o.push(l+e.replace(r,this.options.pluralSeparator)),d&&o.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;o.push(n),u&&(o.push(n+e),a.ordinal&&0===e.indexOf(r)&&o.push(n+e.replace(r,this.options.pluralSeparator)),d&&o.push(n+t))}}let s;for(;s=o.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:i,usedNS:o}}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)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=e.replace&&"string"!=typeof e.replace;let r=n?e.replace:e;if(n&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(const e of t)delete r[e]}return r}static hasDefaultValue(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,12)&&void 0!==e[t])return!0;return!1}}function kt(e){return e.charAt(0).toUpperCase()+e.slice(1)}class wt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=et.create("languageUtils")}getScriptPartFromCode(e){if(!(e=ft(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=ft(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]=kt(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]=kt(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=kt(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:e.indexOf("-")>0&&n.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1?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]),Array.isArray(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=[],i=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&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))})),r}}let St=[{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}],Ct={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 Pt=["v1","v2","v3"],At=["v4"],xt={zero:0,one:1,two:2,few:3,many:4,other:5};class Tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=et.create("pluralResolver"),this.options.compatibilityJSON&&!At.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 St.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:Ct[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(ft("dev"===e?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}getPluralFormsOfKey(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).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)=>xt[e]-xt[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.noAbs?e.plurals(t):e.plurals(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 i=()=>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()}`:i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!Pt.includes(this.options.compatibilityJSON)}}function Rt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=function(e,t,n){const r=st(e,n);return void 0!==r?r:st(t,n)}(e,t,n);return!o&&i&&"string"==typeof n&&(o=mt(e,n,r),void 0===o&&(o=mt(t,n,r))),o}class Et{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.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{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:o,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:f,maxReplaces:g,alwaysFormat:y}=e.interpolation;this.escape=void 0!==t?t:dt,this.escapeValue=void 0===n||n,this.useRawValueToEscape=void 0!==r&&r,this.prefix=i?ct(i):o||"{{",this.suffix=a?ct(a):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?ct(d):h||ct("$t("),this.nestingSuffix=p?ct(p):m||ct(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=g||1e3,this.alwaysFormat=void 0!==y&&y,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,o,a;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const c=e=>{if(e.indexOf(this.formatSeparator)<0){const i=Rt(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),o=i.shift().trim(),a=i.join(this.formatSeparator).trim();return this.format(Rt(t,s,o,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...r,...t,interpolationkey:o})};this.resetRegExp();const u=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=>this.escapeValue?l(this.escape(e)):l(e)}].forEach((t=>{for(a=0;i=t.regex.exec(e);){const n=i[1].trim();if(o=c(n),void 0===o)if("function"==typeof u){const t=u(e,i,r);o="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))o="";else{if(d){o=i[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=rt(o));const s=t.safeValue(o);if(e=e.replace(i[0],s),d?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,r,i,o=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 o=`{${r[1]}`;e=r[0],o=this.interpolate(o,i);const a=o.match(/'/g),s=o.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];i={...o},i=i.replace&&"string"!=typeof i.replace?i.replace:i,i.applyPostProcessor=!1,delete i.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(),i),i),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=rt(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function _t(e){const t={};return function(n,r,i){const o=r+JSON.stringify(i);let a=t[o];return a||(a=e(ft(r),i),t[o]=a),a(n)}}class It{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.create("formatter"),this.options=e,this.formats={number:_t(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:_t(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:_t(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:_t(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:_t(((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()]=_t(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:i,formatOptions:o}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);"currency"===t&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach((e=>{if(e){const[t,...r]=e.split(":"),i=r.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();n[o]||(n[o]=i),"false"===i&&(n[o]=!1),"true"===i&&(n[o]=!0),isNaN(i)||(n[o]=parseInt(i,10))}}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[i]){let t=e;try{const a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},s=a.locale||a.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...o,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e}),e)}}class Ft extends tt{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=et.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 i={},o={},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===o[a]&&(o[a]=!0):(this.state[a]=1,r=!1,void 0===o[a]&&(o[a]=!0),void 0===i[a]&&(i[a]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(a[e]=!0)})),(Object.keys(i).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(o),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),i=r[0],o=r[1];t&&this.emit("failedLoading",i,o,t),n&&this.store.addResourceBundle(i,o,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:i,k:o}=ot(e,t,Object);i[o]=i[o]||[],i[o].push(n)}(n.loaded,[i],o),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,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:o});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*i,o)}),i):o(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 i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.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],i=n[1];this.read(r,i,"read",void 0,void 0,((n,o)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,o),this.loaded(e,n,o)}))}saveMissing(e,t,n,r,i){let o=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={...o,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;i=5===l.length?l(e,t,n,r,s):l(e,t,n,r),i&&"function"==typeof i.then?i.then((e=>a(null,e))).catch(a):a(null,i)}catch(e){a(e)}else l(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function Ot(){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=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Lt(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 Mt(){}class Dt extends tt{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=Lt(e),this.services={},this.logger=et,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;this.isInitializing=!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=Ot();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...Lt(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;this.modules.logger?et.init(i(this.modules.logger),this.options):et.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=It);const n=new wt(this.options);this.store=new gt(this.options.resources,this.options);const o=this.services;o.logger=et,o.resourceStore=this.store,o.languageUtils=n,o.pluralResolver=new Tt(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||(o.formatter=i(t),o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new Et(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new Ft(i(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.languageDetector&&(o.languageDetector=i(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=i(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new bt(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=Mt),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 o=nt(),a=()=>{const e=(e,t)=>{this.isInitializing=!1,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),o.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),o}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Mt;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=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};n?r(n):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=nt();return e||(e=this.languages),t||(t=this.options.ns),n||(n=Mt),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&&yt.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=nt();this.emit("languageChanging",e);const i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(e,o)=>{o?(i(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):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||i(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{o(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 i=function(e,t){let o;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];o=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else o={...t};o.lng=o.lng||i.lng,o.lngs=o.lngs||i.lngs,o.ns=o.ns||i.ns,""!==o.keyPrefix&&(o.keyPrefix=o.keyPrefix||n||i.keyPrefix);const c=r.options.keySeparator||".";let u;return u=o.keyPrefix&&Array.isArray(e)?e.map((e=>`${o.keyPrefix}${c}${e}`)):o.keyPrefix?`${o.keyPrefix}${c}${e}`:e,r.t(u,o)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}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,i=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const o=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!(!this.hasResourceBundle(n,e)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(n,e)||r&&!o(i,e)))}loadNamespaces(e,t){const n=nt();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=nt();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],i=e.filter((e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return i.length?(this.options.preload=r.concat(i),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 wt(Ot());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 Dt(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]:Mt;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},i=new Dt(r);return void 0===e.debug&&void 0===e.prefix||(i.logger=i.logger.clone(e)),["store","services","language"].forEach((e=>{i[e]=this[e]})),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},n&&(i.store=new gt(this.store.data,r),i.services.resourceStore=i.store),i.translator=new bt(i.services,r),i.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];i.emit(e,...n)})),i.init(r,t),i.translator.options=r,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Gt=Dt.createInstance();function Bt(e){return Bt="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},Bt(e)}function Nt(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,(void 0,i=function(e,t){if("object"!==Bt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Bt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Bt(i)?i:String(i)),r)}var i}Gt.createInstance=Dt.createInstance,Gt.createInstance,Gt.dir,Gt.init,Gt.loadResources,Gt.reloadResources,Gt.use,Gt.changeLanguage,Gt.getFixedT,Gt.t,Gt.exists,Gt.setDefaultNamespace,Gt.hasLoadedNamespace,Gt.loadNamespaces,Gt.loadLanguages;var jt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.defaultType=["skincare"],this.defaultDisplayModel=["widget","section","modal"]}var t,n;return t=e,(n=[{key:"init",value:function(e){e.responsiveOverride;var t=this.opts;if(!t||"object"!==Bt(t))throw new Error("pleas enter options.");if(t.arrTypes=this.defaultType,t.arrDisplayModel=this.defaultDisplayModel,t.intro=!0,void 0===t.faceageId||!t.faceageId)throw new Error("pleas enter face age Id.");if(void 0===t.displayModel&&(t.displayModel="section"),"modal"!==t.displayModel){if(void 0===t.elementId||!t.elementId)throw new Error("pleas enter element id.");if(!document.getElementById(t.elementId))throw new Error("element id is not valid.");t.element=document.getElementById(t.elementId)}else t.element=document.body;if(void 0===t.type&&(t.type="skincare"),void 0===t.language&&(t.language="en"),void 0===t.defaultQuiz&&(t.defaultQuiz={}),void 0===t.quiz&&(t.quiz=!0),void 0===t.currency&&(t.currency="$"),void 0===t.showProducts&&(t.showProducts=!1),void 0===t.showRoutine&&(t.showRoutine=!1),"widget"===t.displayModel&&(t.products=!1),"en"!==t.language&&Gt.changeLanguage(t.language),-1===this.defaultType.indexOf(t.type))throw new Error("Type is not valid");if(-1===this.defaultDisplayModel.indexOf(t.displayModel))throw new Error("Display Model is not valid");if(void 0!==t.routinesSupport&&Array.isArray(t.routinesSupport)||(t.routinesSupport=[]),void 0!==t.problems&&Array.isArray(t.problems)||(t.problems=[]),void 0===t.width?t.iframeWidth="360px":t.width&&(t.iframeWidth=t.width),void 0===t.height?"section"===t.displayModel?t.iframeHeight="600px":t.iframeHeight="580px":t.height&&(t.iframeHeight=t.height),void 0===t.showFacePoint&&(t.showFacePoint=!0),void 0===t.showAddToCard&&(t.showAddToCard=!0),void 0===t.showCamera&&(t.showCamera=!0),void 0===t.showUpload&&(t.showUpload=!0),!t.showCamera&&!t.showUpload)throw new Error("There are no input ways to receive the image.");return t}}])&&Nt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function zt(e){return zt="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},zt(e)}function Wt(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,(void 0,i=function(e,t){if("object"!==zt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==zt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===zt(i)?i:String(i)),r)}var i}var Ut=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n;return t=e,(n=[{key:"initGlobalVars",value:function(e){e.skinAnalyzeData=[]}},{key:"globalVars",value:function(e){return{faceID:null,dom:{},events:{onClickProblem:[],onClose:[],onDisplayProducts:[],onAddToCart:[],onCheckout:[],onClickProduct:[]},showCamera:!0,showUpload:!0,formPages:{},formData:{},intro:!0,quiz:!0,iframeWidth:"360px",iframeHeight:"480px",language:"en",displayModel:"widget",showFacePoint:!0,cameraPermission:null,faceDetection:null,boundingBox:[],imageWarning:!1,activeQuiz:0,privacy:!1,products:!0,productLoader:!0,productLists:[],productAction:[],productAddToCart:[],problems:{wrinkles:"Fine Wrinkles",fineWrinkles:"Fine Wrinkles",eye_wrinkles:"Eye Wrinkles",eyeWrinkles:"Eye Wrinkles",deep_wrinkles:"Deep Wrinkles",deepWrinkles:"Deep Wrinkles",dark_circle:"Dark Circle",darkCircle:"Dark Circle",eye_bag:"Eye Bag",eyeBag:"Eye Bag",pores:"Pores",pigments:"Pigment",pigment:"Pigment",acnes:"Acne",acne:"Acne",oiliness:"Oiliness",redness:"Redness"},routineGroup:{morning:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",sunscreen:"Sunscreen",faceOil:"Face Oil"},night:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",faceOil:"Face Oil",nightCream:"Night Cream"}},routineContent:{cleanser:"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.",toner:"Use a toner to balance your skin’s pH and remove any leftover residue.",serum:"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.",eyeCream:"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.",spotTreatment:"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.",moisturizer:"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.",sunscreen:"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.",faceOil:"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.",nightCream:"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration."}}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t}}])&&Wt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ht(e){return Ht="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},Ht(e)}function Yt(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,(void 0,i=function(e,t){if("object"!==Ht(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Ht(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Ht(i)?i:String(i)),r)}var i}var qt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t}var t,n;return t=e,(n=[{key:"init",value:function(){var e=new jt(this.opts).init({responsiveOverride:!1});return{config:e,globals:(new Ut).init(e)}}}])&&Yt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Jt(e){return Jt="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},Jt(e)}function Vt(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,(void 0,i=function(e,t){if("object"!==Jt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Jt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Jt(i)?i:String(i)),r)}var i}var $t=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,n=[{key:"setAttrs",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.setAttribute(n,t[n])}},{key:"getLevelColor",value:function(e){return e<=30?"#5CB85C":e>=70?"#DA005C":"#5C7BB8"}},{key:"getSizeFrame",value:function(e,t){var n,r,i=e.dom.elIframe.clientWidth>300?e.dom.elIframe.clientWidth:300,o=e.dom.elIframe.clientHeight>400?e.dom.elIframe.clientHeight:400;return"widget"===t.displayModel?(n=i,r=i/3*4):"section"===t.displayModel?(r=o,i>768&&(r-=40),i<=(n=r/4*3)&&(r=(n=i-35)/3*4)):i>=668?n=(r=o-120)/4*3:r=(n=i-35)/3*4,{width:n,height:r}}}],null&&Vt(t.prototype,null),n&&Vt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();const Kt=$t;var Zt=n(486),Xt=n.n(Zt);function Qt(e){return Qt="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},Qt(e)}function en(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,(void 0,i=function(e,t){if("object"!==Qt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Qt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Qt(i)?i:String(i)),r)}var i}var tn=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.name=r.name,this.layout=r.layout,this.activeItems=i||[],this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title",style:this.title||this.description?"margin-bottom: 10px":""}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"checkbox_group input_select "+this.layout});var i=[];this.options.map((function(t){i[t.value]=document.createElement("div"),Kt.setAttrs(i[t.value],{class:"checkbox item "+(e.activeItems.includes(t.value)?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Gt.t(t.label)+"</div>";i[t.value].innerHTML=n,r.appendChild(i[t.value]),i[t.value].addEventListener("click",(function(n){e.activeItems.includes(t.value)?i[t.value].classList.remove("active"):(i[t.value].classList.add("active"),e.activeItems.push(t.value)),e.setValue(e.activeItems),e.value=e.activeItems}))})),t.appendChild(r),this.el.appendChild(t)}}])&&en(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function nn(e){return nn="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},nn(e)}function rn(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,(void 0,i=function(e,t){if("object"!==nn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==nn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===nn(i)?i:String(i)),r)}var i}var on=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Gt.t(r.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("p"),Kt.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&rn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function an(e){return an="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},an(e)}function sn(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,(void 0,i=function(e,t){if("object"!==an(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==an(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===an(i)?i:String(i)),r)}var i}var ln=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.name=r.name,this.layout=r.layout,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"radio_group input_select "+this.layout});var i=[];this.options.map((function(t){i[t.value]=document.createElement("div"),Kt.setAttrs(i[t.value],{class:"radio item "+(e.value===t.value?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Gt.t(t.label)+"</div>";i[t.value].innerHTML=n,r.appendChild(i[t.value]),i[t.value].addEventListener("click",(function(n){var o=r.getElementsByClassName("radio");if(o.length)for(var a=0;a<o.length;a++)o[a].classList.remove("active");e.value!==t.value?(e.setValue(t.value),e.value=t.value,i[t.value].classList.add("active")):(e.setValue(null),e.value=null)}))})),t.appendChild(r),this.el.appendChild(t)}}])&&sn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function cn(e){return cn="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},cn(e)}function un(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,(void 0,i=function(e,t){if("object"!==cn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==cn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===cn(i)?i:String(i)),r)}var i}var dn=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.onBack=o,this.showRefresh=a,this.title=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elAppBar=document.createElement("div"),Kt.setAttrs(t.dom.elAppBar,{class:"app_bar",style:"width: 100%"});var n=' <div class="header_tools">'+(this.onBack?' <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+' <div class="title">'+Gt.t("Skin Analysis")+'</div> <div class="action">'+(this.showRefresh?' <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>':"")+' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div> </div>';t.dom.elAppBar.innerHTML=n;var r=t.dom.elAppBar.querySelector(".title");this.title?r.innerText=this.title:(t.authorize.logo,t.authorize.name&&(r.innerText=t.authorize.name));var i=t.dom.elAppBar.querySelector(".back"),o=t.dom.elAppBar.querySelector(".refresh"),a=t.dom.elAppBar.querySelector(".close");i&&i.addEventListener("click",(function(t){e.onBack&&e.onBack()})),o&&o.addEventListener("click",(function(n){t.dom.elInfo&&t.dom.elInfo.remove(),t.dom.elForm&&t.dom.elForm.remove(),t.dom.elFace&&t.dom.elFace.remove(),t.activeQuiz=0,t.formData={},t.productLoader=!1,t.productLists=[],t.productAction=[],t.productAddToCart=[],t.imageWebCam=null,t.imageSubmit=null,t.intro=!0,e.co.intro=!0,new ii(t.dom.docIframe,e.ctx,e.pv),t.onRefresh&&t.onRefresh()})),a&&a.addEventListener("click",(function(e){t.dom.elModalFace.classList.remove("is-open"),t.onCloseModal&&t.onCloseModal()})),this.el.appendChild(t.dom.elAppBar)}}])&&un(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function hn(e){return hn="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},hn(e)}function pn(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,(void 0,i=function(e,t){if("object"!==hn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==hn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===hn(i)?i:String(i)),r)}var i}function mn(e,t){var n=function(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return function(e,t){return t.get?t.get.call(e):t.value}(e,n)}var fn=new WeakMap,gn=function(){function e(){var t,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r={writable:!0,value:{copyRight:!0,license:!1,elCopyRight:null}},function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=fn),n.set(t,r)}var t,n;return t=e,(n=[{key:"getValue",value:function(){return mn(this,fn)}},{key:"setValue",value:function(e,t){mn(this,fn)[e]=t}}])&&pn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function yn(e){return yn="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},yn(e)}function vn(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,(void 0,i=function(e,t){if("object"!==yn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==yn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===yn(i)?i:String(i)),r)}var i}var bn=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.pv=new gn,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i,o,a,s,l,c,u=this,d=this.el,h=this.gl,p=this.co,m=this.pv.getValue(),f=[{key:"eyeGlass",svg:'<svg width="54" height="55" viewBox="0 0 54 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M22.1266 19.4592C24.0344 18.7776 26.0063 18.8686 26.8269 19.6404C27.6451 20.414 27.9449 20.8857 27.9823 21.3679C28.0262 21.9364 27.2941 22.1521 26.8269 21.6852C26.4881 20.9863 25.9015 20.0526 24.9785 19.9126C23.6468 19.7132 21.8617 20.5674 21.2036 21.1167C20.0864 22.0495 16.0629 26.3434 16.0629 26.3434C16.0629 26.3434 18.6231 26.8879 20.2441 27.4343C21.8601 27.9798 22.5946 28.9327 23.7118 29.1618C24.829 29.3881 25.6545 28.7582 27.4867 29.0027C29.3189 29.2471 35.1713 30.572 35.9026 29.9355C36.5981 29.3296 37.8883 26.1075 38.3774 25.0559C38.3994 25.0012 38.4229 24.9552 38.4433 24.914C38.44 24.9111 38.4384 24.9082 38.4343 24.9054C38.6569 24.4548 39.3256 23.035 39.1558 22.548C39.1258 22.4608 39.0689 22.4023 38.9917 22.3793C38.921 22.3582 38.856 22.3821 38.8081 22.4483C38.6716 22.6362 38.7024 23.1452 38.7902 23.382C38.8178 23.4587 38.8511 23.5086 38.8901 23.5325C38.7333 23.9831 38.5099 24.4787 38.3531 24.7999C37.9712 24.1921 37.9232 22.2872 38.4433 21.482C38.999 20.6182 40 20.5731 40 22.2767C40 23.0724 39.8082 25.4815 39.2094 26.2532C39.4605 26.4804 39.4605 27.2311 38.9795 28.1389C38.4969 29.0468 37.1099 33.7951 35.6661 34.1133C34.3759 36.5445 33.0669 35.931 31.5638 35.931C30.0615 35.931 27.7126 35.2273 26.6921 34.725C25.6699 34.2255 24.5341 31.7493 24.3992 31.3859C24.2659 31.0216 23.1869 30.7503 23.0139 31.1808C22.8392 31.6122 22.8603 33.9552 20.1531 33.5209C17.4474 33.0895 15.4641 32.3619 14.7321 30.6583C14 28.9576 14 26.3223 14 26.3223C14 26.3223 20.2205 20.1417 22.1266 19.4592ZM26.6132 33.9341C27.2104 34.7528 31.0641 35.3663 31.0641 35.3663C31.0641 35.3663 33.0093 35.5034 33.6446 35.4804C33.6791 35.4741 33.7128 35.467 33.7458 35.4593C34.756 35.2228 35.0959 34.0233 35.2206 32.9933V31.6399C35.2442 30.9688 34.3604 30.805 33.7023 30.7024C33.0287 30.6027 28.2317 29.7821 27.7296 29.7821C27.2291 29.7821 25.5367 29.7955 25.4408 30.9296C25.3433 32.0695 26.0177 33.1154 26.6132 33.9341ZM16.4643 31.8212C17.7334 32.2631 19.4681 32.8891 20.1523 33.0262C20.6852 33.1384 21.2329 33.171 21.4709 32.914C21.9617 32.3772 21.7586 31.1233 21.8138 30.4043C21.9536 29.2107 19.8711 28.3019 19.8711 28.3019C19.8711 28.3019 16.5594 27.2109 15.6169 27.0767C15.4991 27.0547 14.7507 28.8704 14.7507 28.8704C14.7507 28.8704 15.1968 31.3783 16.4643 31.8212Z" fill="black"/>\n<path d="M38.7619 22.5432C38.7907 22.4266 38.8327 22.4075 38.859 22.4075C38.8686 22.4075 38.8756 22.4102 38.8791 22.4111C38.9237 22.423 38.9535 22.4494 38.9719 22.4958C39.0296 22.6443 38.964 22.9322 38.8459 23.2592C38.7785 23.2036 38.6936 22.8101 38.7619 22.5432Z" fill="'+(null!==(e=null===(t=h.customTemplate)||void 0===t?void 0:t.base_color)&&void 0!==e?e:"#3FC79A")+'" />\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.6588 14.2799C32.0968 11.9698 27.6242 11.0825 23.1779 12.183C14.6495 14.2939 9.44712 22.9188 11.558 31.4471C12.32 34.5258 13.9309 37.1711 16.0797 39.1953L35.6588 14.2799ZM38.0749 16.2024L18.5214 41.0852C22.0534 43.3094 26.4504 44.149 30.8221 43.067C39.3505 40.9561 44.5529 32.3312 42.442 23.8029C41.6983 20.7985 40.1463 18.2069 38.0749 16.2024ZM22.436 9.18589C32.6197 6.66528 42.9185 12.8774 45.4391 23.061C47.9597 33.2447 41.7476 43.5435 31.564 46.0641C21.3803 48.5847 11.0815 42.3726 8.56089 32.189C6.04028 22.0053 12.2524 11.7065 22.436 9.18589Z" fill="'+(null!==(n=null===(r=h.customTemplate)||void 0===r?void 0:r.base_color)&&void 0!==n?n:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>\n',title:Gt.t("Remove the glasses")},{key:"clean",svg:'<svg width="56" height="55" viewBox="0 0 56 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M19.3406 18.2903C19.3406 18.13 19.2032 18 19.0338 18C18.8644 18 18.727 18.13 18.727 18.2903V18.871H17.8068C17.6373 18.871 17.5 19.0009 17.5 19.1613C17.5 19.3216 17.6373 19.4516 17.8068 19.4516H18.727V20.0323H17.8068C17.6373 20.0323 17.5 20.1622 17.5 20.3226C17.5 20.4829 17.6373 20.6129 17.8068 20.6129H18.727V21.1935H17.8068C17.6373 21.1935 17.5 21.3235 17.5 21.4839C17.5 21.6442 17.6373 21.7742 17.8068 21.7742H18.727V22.3548H17.8068C17.6373 22.3548 17.5 22.4848 17.5 22.6452C17.5 22.8055 17.6373 22.9355 17.8068 22.9355H18.727V23.5161H17.8068C17.6373 23.5161 17.5 23.6461 17.5 23.8065C17.5 23.9668 17.6373 24.0968 17.8068 24.0968H18.727V30.1935H18.4203C18.0819 30.1935 17.8068 30.454 17.8068 30.7742V31.5813C17.6199 31.741 17.5 31.9695 17.5 32.2258V35.129C17.5 35.6092 17.9129 36 18.4203 36H19.6473C20.1547 36 20.5676 35.6092 20.5676 35.129V32.2258C20.5676 31.9695 20.4477 31.741 20.2608 31.5813V30.7742C20.2608 30.454 19.9854 30.1935 19.6473 30.1935H19.3406V24.0968H20.2608C20.4303 24.0968 20.5676 23.9668 20.5676 23.8065C20.5676 23.6461 20.4303 23.5161 20.2608 23.5161H19.3406V22.9355H20.2608C20.4303 22.9355 20.5676 22.8055 20.5676 22.6452C20.5676 22.4848 20.4303 22.3548 20.2608 22.3548H19.3406V21.7742H20.2608C20.4303 21.7742 20.5676 21.6442 20.5676 21.4839C20.5676 21.3235 20.4303 21.1935 20.2608 21.1935H19.3406V20.6129H20.2608C20.4303 20.6129 20.5676 20.4829 20.5676 20.3226C20.5676 20.1622 20.4303 20.0323 20.2608 20.0323H19.3406V19.4516H20.2608C20.4303 19.4516 20.5676 19.3216 20.5676 19.1613C20.5676 19.0009 20.4303 18.871 20.2608 18.871H19.3406V18.2903ZM19.9541 32.2258V35.129C19.9541 35.2893 19.8167 35.4194 19.6473 35.4194H18.4203C18.251 35.4194 18.1135 35.2893 18.1135 35.129V32.2258C18.1135 32.0655 18.251 31.9355 18.4203 31.9355H19.6473C19.8167 31.9355 19.9541 32.0655 19.9541 32.2258ZM19.573 30.7742C19.6141 30.7742 19.6473 30.8057 19.6473 30.8445V31.2845C19.6473 31.3234 19.6141 31.3548 19.573 31.3548H18.4946C18.4535 31.3548 18.4203 31.3234 18.4203 31.2845V30.8445C18.4203 30.8057 18.4535 30.7742 18.4946 30.7742H19.573Z" fill="black"/>\n<path d="M36.5 24.3871C36.5 20.8652 33.4726 18 29.7513 18C26.0898 18 23.1022 20.7743 23.0071 24.2184L22.8995 24.0657C22.7485 23.8515 22.4712 23.7577 22.2114 23.832C21.9506 23.9066 21.7755 24.1299 21.7755 24.3877V28.242C21.593 28.3427 21.4687 28.528 21.4687 28.7419V29.4033C21.2862 29.504 21.162 29.6893 21.162 29.9032V35.4194C21.162 35.7396 21.4371 36 21.7755 36H23.616C23.9541 36 24.2296 35.7396 24.2296 35.4194V29.9032C24.2296 29.6893 24.1053 29.504 23.9228 29.4033V28.7419C23.9228 28.528 23.7986 28.3427 23.616 28.242V27.043C24.5956 29.0619 26.6546 30.5177 29.0901 30.743C29.2878 30.7613 29.4445 30.915 29.4445 31.103V35.4194H25.7634C25.4245 35.4194 25.1498 35.6793 25.1498 36H34.3527C34.3527 35.6793 34.078 35.4194 33.7392 35.4194H30.058V31.103C30.058 30.915 30.2146 30.7613 30.4123 30.743C33.8244 30.4276 36.5 27.698 36.5 24.3871ZM22.389 24.6199C22.389 24.5503 22.4843 24.523 22.5251 24.5809L23.0025 25.2586V28.1613H22.389V24.6199ZM22.0822 28.8122C22.0822 28.7734 22.1155 28.7419 22.1565 28.7419H23.235C23.276 28.7419 23.3093 28.7734 23.3093 28.8122V29.2523C23.3093 29.2911 23.276 29.3226 23.235 29.3226H22.1565C22.1155 29.3226 22.0822 29.2911 22.0822 29.2523V28.8122ZM23.6166 35.2787C23.6167 35.3564 23.5501 35.4194 23.4681 35.4194H21.9241C21.842 35.4194 21.7755 35.3564 21.7755 35.2787V30.0438C21.7755 29.9662 21.842 29.9032 21.9241 29.9032H23.4675C23.5495 29.9032 23.6161 29.9662 23.6161 30.0438L23.6166 35.2787ZM29.7513 30.1935C26.3683 30.1935 23.616 27.5888 23.616 24.3871C23.616 21.1854 26.3683 18.5806 29.7513 18.5806C33.1342 18.5806 35.8865 21.1854 35.8865 24.3871C35.8865 27.5888 33.1342 30.1935 29.7513 30.1935Z" fill="black"/>\n<path d="M29.7213 18.4922C26.3006 18.4922 23.5178 21.1259 23.5178 24.3633C23.5178 27.6007 26.3006 30.2344 29.7213 30.2344C33.142 30.2344 35.9248 27.6007 35.9248 24.3633C35.9248 21.1259 33.142 18.4922 29.7213 18.4922ZM29.7213 29.5437C26.7031 29.5437 24.2476 27.2197 24.2476 24.3633C24.2476 21.5068 26.7027 19.1829 29.7213 19.1829C32.7399 19.1829 35.195 21.5068 35.195 24.3633C35.195 27.2197 32.7395 29.5437 29.7213 29.5437Z" fill="black"/>\n<path d="M26.2045 24.6073L26.5231 24.9963L30.9692 21.729L30.6506 21.3399L26.2045 24.6073Z" fill="black"/>\n<path d="M29.1664 20.9531L26.1924 23.1441L26.5114 23.5327L29.4855 21.3418L29.1664 20.9531Z" fill="black"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.1588 13.6549C31.5968 11.3448 27.1242 10.4575 22.6779 11.558C14.1495 13.6689 8.94712 22.2938 11.058 30.8221C11.82 33.9008 13.4309 36.5461 15.5797 38.5703L35.1588 13.6549ZM37.5749 15.5774L18.0214 40.4602C21.5534 42.6844 25.9504 43.524 30.3221 42.442C38.8505 40.3311 44.0529 31.7062 41.942 23.1779C41.1983 20.1735 39.6463 17.5819 37.5749 15.5774ZM21.936 8.56089C32.1197 6.04028 42.4185 12.2524 44.9391 22.436C47.4597 32.6197 41.2476 42.9185 31.064 45.4391C20.8803 47.9597 10.5815 41.7476 8.06089 31.564C5.54028 21.3803 11.7524 11.0815 21.936 8.56089Z" fill="'+(null!==(i=null===(o=h.customTemplate)||void 0===o?void 0:o.base_color)&&void 0!==i?i:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>',title:Gt.t("Clean your face")},{key:"light",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;">\n<path d="M31.9,24.1c-4.8,3.9-9.6,0.2-9.8,0C22,24,21.8,24,21.7,24c-0.1,0.1-0.2,0.2-0.2,0.4L23,34.7c0,0.2,0.2,0.3,0.4,0.3\n\tc0.2,0,0.3-0.2,0.3-0.4l-1.4-9.4c1.5,0.9,5.3,2.6,9.2,0.1l-1.8,9.3c0,0.2,0.1,0.4,0.3,0.4c0,0,0,0,0.1,0c0.2,0,0.3-0.1,0.4-0.3\n\tl2-10.3c0-0.2,0-0.3-0.2-0.4C32.2,24,32,24,31.9,24.1z"/>\n<g id="Layer_x0020_1">\n\t<path fill="'+(null!==(a=null===(s=h.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"#3FC79A")+'" d="M27,49.4c-1.2,0-2.5-0.8-2.5-2.2v-0.9h-2.4c-0.4,0-0.6-0.3-0.6-0.6v-2.5c-0.7,0-1.6,0.2-1.6-0.6v-2.9\n\t\tc-0.7-4.5-2.2-6.2-3.7-7.9c-1.6-1.8-3.1-3.6-3.1-8.4c0-7.7,6.2-13.9,13.9-13.9c7.6,0,13.9,6.2,13.9,13.9c0,4.8-1.5,6.6-3.1,8.4\n\t\tc-1.5,1.7-3,3.4-3.7,7.9v2.9c0,0.8-0.9,0.6-1.6,0.6v2.5c0,0.4-0.3,0.6-0.6,0.6h-2.4v0.9C29.5,48.6,28.2,49.4,27,49.4z M21,38.9H33\n\t\tc1.6-9.2,6.7-7.2,6.7-15.7c0-7-5.7-12.7-12.7-12.7c-7,0-12.7,5.7-12.7,12.7C14.3,31.7,19.4,29.6,21,38.9z M22.1,41.8L22.1,41.8\n\t\th10.7v-1.7H21.1v1.7H22.1z M22.8,44.9h8.5v-1.9h-8.5V44.9z M25.7,46.2c0,0.9-0.2,1.9,1.3,1.9c1.4,0,1.2-1.1,1.2-1.9H25.7z"/>\n</g>\n<path fill="#000" d="M36.7,23.8c-0.4,0-0.6-0.3-0.6-0.6c0-5-4-9.1-9-9.1c-0.8,0-0.8-1.2,0-1.2c5.7,0,10.3,4.6,10.3,10.3\n\tC37.3,23.5,37,23.8,36.7,23.8z"/>\n<path fill="#000" d="M27,8.3c-0.4,0-0.6-0.3-0.6-0.6V4c0-0.8,1.2-0.8,1.2,0v3.7C27.6,8,27.3,8.3,27,8.3z"/>\n<path fill="#000" d="M35.7,10.6c-0.5,0-0.8-0.5-0.5-0.9L37,6.5c0.4-0.7,1.5-0.1,1.1,0.6l-1.8,3.2C36.1,10.5,35.9,10.6,35.7,10.6z"/>\n<path fill="#000" d="M42,17c-0.7,0-0.9-0.8-0.3-1.1l3.2-1.8c0.7-0.4,1.3,0.7,0.6,1.1l-3.2,1.8C42.2,16.9,42.1,17,42,17z"/>\n<path fill="#000" d="M18.3,10.6c-0.2,0-0.4-0.1-0.5-0.3l-1.8-3.2c-0.4-0.7,0.7-1.3,1.1-0.6l1.8,3.2C19.1,10.1,18.8,10.6,18.3,10.6z"\n\t/>\n<path fill="#000" d="M12,16.9c-0.1,0-0.2,0-0.3-0.1L8.5,15c-0.7-0.4-0.1-1.5,0.6-1.1l3.2,1.8C12.8,16.1,12.6,16.9,12,16.9z"/>\n</svg>\n',title:Gt.t("Be in the right light")},{key:"position",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;" >\n<style type="text/css">\n\t.st2{mask:url(#path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_);fill:none;stroke:#FFFFFF;}\n</style>\n<path id="Shape" fill="'+(null!==(l=null===(c=h.customTemplate)||void 0===c?void 0:c.base_color)&&void 0!==l?l:"#3FC79A")+'" d="M20.3,40.7c-2,0.7-8.5,0.7-8.5,4.8v1.9c0,0.4,0.3,0.6,0.6,0.6h29.4c0.4,0,0.6-0.3,0.6-0.6v-1.9\n\tc0-4.1-6.5-4.1-8.5-4.8c-1.1-0.4-2.1-1.1-3-1.9c-0.3-0.2-0.4-0.6-0.4-0.9c0-1,0.2-1.9,0.6-2.8c2.3-1.5,3.7-4.1,3.7-6.8\n\tc0.7,0,1.3-0.3,1.8-0.7c0.5-0.5,0.8-1.1,0.8-1.8v-1.9c0-1-0.6-1.9-1.4-2.3c2.1-3.2,0.7-8.7-3.4-9.1c-1.3-2.6-5.7-3.1-8.6-2.4\n\tc-4,1-6.6,4.3-7.4,9.5c-0.9,5.2,1.6,10.1-2.6,15.4c-0.2,0.2-0.2,0.5-0.1,0.7s0.4,0.4,0.6,0.3c3.5-0.2,5.2-1.6,6.1-3.7\n\tc0.7,1.1,1.6,2.1,2.7,2.8c0.4,0.9,0.6,1.9,0.6,2.8c0,0.4-0.2,0.7-0.4,0.9C22.4,39.6,21.4,40.3,20.3,40.7L20.3,40.7z M24.2,34.4\n\tc-0.3-0.6-3.5-1.6-3.5-6.5c0-0.5,0.1,0.3-0.7-3.6c-0.1-0.3-0.4-0.6-0.8-0.5c-0.3,0.1-0.6,0.4-0.5,0.8l0.6,3.1c0,0.9,0.1,1.9,0.3,2.8\n\tc-0.7,2.3-1.7,3.6-4.1,4c3.4-5.4,1.2-10.1,2-14.7c0.6-3.3,2.1-7.4,6.5-8.5c2.8-0.7,6.1,0,7.1,1.5c0.2,0.4,0.3,0.9,0.8,0.9\n\tc3.5,0,4.6,5.4,2.2,7.7c-0.2,0.2-0.2,0.4-0.2,0.6c0,0.2,0.2,0.4,0.4,0.5c0.1,0,0.2,0.1,0.4,0c0.7,0.1,1.2,0.6,1.2,1.3v1.9\n\tc0,0.7-0.6,1.3-1.3,1.3c-0.6,0-0.9-0.1-1.1,0.2c-0.2,0.2-0.2,0.5-0.2,0.7c0,4.9-3.2,5.9-3.5,6.5c-0.5,1.1-0.8,2.3-0.8,3.6\n\tc0,0.7,0.3,1.4,0.9,1.9c1,0.9,2.1,1.6,3.4,2.1c2,0.7,7.7,0.8,7.7,3.6v1.3H13.1v-1.3c0-2,2.6-2.6,5.6-3.2c1.8-0.3,3.1-0.5,5.5-2.6\n\tc0.5-0.5,0.9-1.1,0.9-1.9C25.1,36.7,24.8,35.5,24.2,34.4L24.2,34.4z"/>\n<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n<defs>\n\t<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5">\n\t\t<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>\n\t</filter>\n</defs>\n<mask maskUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5" id="path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_">\n\t<rect x="8.7" y="4.4" fill="#FFFFFF" width="37" height="42"/>\n\t<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\t\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</mask>\n<path class="st2" d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z\n\t M10.7,25.1c0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</svg>\n',title:Gt.t("Be neutral face and fix position")}];h.dom.elInfo=document.createElement("div"),Kt.setAttrs(h.dom.elInfo,{class:"face_age_info "+p.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),"modal"===p.displayModel&&new dn(h.dom.elInfo,this.ctx,this.pv,null,h.formPages.length>1&&p.quiz?function(){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new ii(h.dom.docIframe,u.ctx,u.pv)}:null,h.formPages.length>1&&p.quiz),h.dom.elInfo.box=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.box,{style:"width: 100%;"+("widget"!==p.displayModel?"margin: auto 0px;":"")}),h.dom.elInfo.boxWindow=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxWindow,{class:"info_window"}),h.dom.elInfo.boxTitle=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxTitle,{class:"title"}),h.dom.elInfo.boxTitle.innerHTML=("modal"!==p.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+'<div class="bt"><h2>'+Gt.t("Instructions")+"</h2><p>"+Gt.t("Get Ready to Start Skin Analysis")+"</p></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxTitle),h.dom.elInfo.goBack=h.dom.elInfo.boxTitle.querySelector(".goBack"),h.dom.elInfo.boxItem=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxItem,{class:"items"});var g="";Xt().map(f,(function(e,t){g+='<div class="item_intro"><div class="item_main"><div class="icon">'+e.svg+'</div><div class="title">'+e.title+"</div></div></div>"})),h.dom.elInfo.boxItem.innerHTML=g,h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxItem),h.dom.elInfo.privacy=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.privacy,{class:"privacy"}),h.dom.elInfo.privacy.innerHTML='<div class="privacy_face_age"> <div class="check_box"><div class="check_box_input"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="30.114px" height="23.945px" viewBox="0 0 30.114 23.945" enable-background="new 0 0 30.114 23.945" xml:space="preserve" fill="currentColor" role="presentation"><path d="M26.653,0.444l-1.263,1.35L10.399,17.715l-5.586-5.471l-1.321-1.292l-2.584,2.642l1.321,1.292l6.929,6.792l1.343,1.313 l1.292-1.371l16.282-17.3l1.271-1.343L26.653,0.444L26.653,0.444z"></path></svg></div><input type="checkbox" tabindex="0" name="privacy_acept" data-testid="checkbox_privacy_id" style="display: none"></div> <div class="text">'+Gt.t("privacy.text")+" "+(m.copyRight?"<br /><br />"+Gt.t("See our")+' <a href="https://getfaceage.com/privacy-policy" target="_blank">'+Gt.t("Privacy Policy")+"</a> "+Gt.t("for more information")+".":"")+"</div></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.privacy),h.dom.elInfo.privacy.checkBox=h.dom.elInfo.privacy.querySelector(".check_box"),h.dom.elInfo.btn=document.createElement("button"),Kt.setAttrs(h.dom.elInfo.btn,{class:"disable",disable:!0}),h.dom.elInfo.btn.innerHTML=Gt.t("Get Started"),h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.btn),h.dom.elInfo.box.appendChild(h.dom.elInfo.boxWindow),h.dom.elInfo.appendChild(h.dom.elInfo.box),h.privacy&&(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1)),h.dom.elInfo.privacy.addEventListener("click",(function(e){e.target.tagName&&"A"!==e.target.tagName.toUpperCase()&&(h.dom.elInfo.privacy.checkBox.classList.contains("active")?(h.dom.elInfo.privacy.checkBox.classList.remove("active"),h.dom.elInfo.btn.classList.add("disable"),h.dom.elInfo.btn.setAttribute("disable",!0),h.privacy=!1):(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1),h.privacy=!0))})),d.appendChild(h.dom.elInfo),"modal"!==p.displayModel&&h.dom.elInfo.goBack&&(h.formPages.length>1&&p.quiz?h.dom.elInfo.goBack.addEventListener("click",(function(e){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new ii(h.dom.docIframe,u.ctx,u.pv)})):h.dom.elInfo.goBack.remove())}},{key:"getParentAnchor",value:function(e){for(;null!==e;)if(e.tagName&&"A"!==e.tagName.toUpperCase())return e;return null}}])&&vn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),kn=n(982),wn=n(135);function Sn(e){return Sn="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},Sn(e)}function Cn(){Cn=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new _(r||[]);return i(a,"_invoke",{value:x(e,n,s)}),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var h="suspendedStart",p="suspendedYield",m="executing",f="completed",g={};function y(){}function v(){}function b(){}var k={};c(k,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(I([])));S&&S!==n&&r.call(S,a)&&(k=S);var C=b.prototype=y.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(i,o,a,s){var l=d(e[i],e,o);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==Sn(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(l.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function x(t,n,r){var i=h;return function(o,a){if(i===m)throw new Error("Generator is already running");if(i===f){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var l=T(s,r);if(l){if(l===g)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===h)throw i=f,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=m;var c=d(t,n,r);if("normal"===c.type){if(i=r.done?f:p,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(i=f,r.method="throw",r.arg=c.arg)}}}function T(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=d(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Sn(t)+" is not iterable")}return v.prototype=b,i(C,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:v,configurable:!0}),v.displayName=c(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},P(A.prototype),c(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new A(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(C),c(C,l,"Generator"),c(C,a,(function(){return this})),c(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(l&&c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Pn(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,i)}function An(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Pn(o,r,i,a,s,"next",e)}function s(e){Pn(o,r,i,a,s,"throw",e)}a(void 0)}))}}function xn(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,Tn(r.key),r)}}function Tn(e){var t=function(e,t){if("object"!==Sn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Sn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Sn(t)?t:String(t)}var Rn=function(){function e(t,n,r,i,o,a,s,l){var c,u,d,h=this,p=arguments.length>8&&void 0!==arguments[8]?arguments[8]:"video";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),c=this,(u=Tn(u="isLoading"))in c?Object.defineProperty(c,u,{value:true,enumerable:!0,configurable:!0,writable:!0}):c[u]=true,this.srcElement=t,this.canvasElement=n,this.canvasCtx=n?n.getContext("2d"):null,this.boundingBoxElement=r,this.handleOnResults=a,this.handleLoading=s,this.handleBrightness=l,this.faceDetectionModel=new kn.FaceDetection({locateFile:function(e){return"https://cdn.jsdelivr.net/npm/@mediapipe/face_detection@0.3/".concat(e)}}),this.faceDetectionModel.setOptions({modelSelection:1,enableTracking:10,minDetectionConfidence:.5}),this.onClose=this.onClose.bind(this),this.faceDetectionModel.onResults("video"===p?this.onResultsVideo.bind(this):this.onResultsImage.bind(this)),"video"===p?(this.camera=new wn.Camera(this.srcElement,{onFrame:(d=An(Cn().mark((function e(){return Cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.faceDetectionModel.send({image:h.srcElement});case 2:h.isLoading&&(h.isLoading=!0,h.handleLoading());case 3:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)}),width:o,height:o}),this.camera.start()):this.handleImageFaceDetection()}var t,n,r;return t=e,n=[{key:"handleImageFaceDetection",value:(r=An(Cn().mark((function e(){return Cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.faceDetectionModel.send({image:this.srcElement});case 2:this.isLoading&&(this.isLoading=!0,this.handleLoading&&this.handleLoading());case 3:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"onResultsVideo",value:function(e){var t=this,n=e.detections;this.canvasElement&&this.onCanvas(e),this.boundingBoxElement.innerHTML="";var r=[];n.map((function(e){var n=e.boundingBox.xCenter-e.boundingBox.width/2,i={width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:n,landmarks:e.landmarks};r.push(i);var o=document.createElement("div");Kt.setAttrs(o,{style:"border: 1px solid rgb(255, 213, 0); position: absolute; top: "+100*i.yCenter+"%; right: "+100*i.xCenter+"%; width: "+100*i.width+"%; height: "+100*i.height+"%; z-index: 3;"}),t.boundingBoxElement.appendChild(o)})),this.handleOnResults&&this.handleOnResults(r)}},{key:"onResultsImage",value:function(e){var t=e.detections;this.canvasElement&&this.onCanvas(e);var n=t.map((function(e){var t=e.boundingBox.xCenter-e.boundingBox.width/2;return{width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:t,landmarks:e.landmarks}}));this.handleOnResults&&this.handleOnResults(n)}},{key:"onCanvas",value:function(e){if(this.canvasCtx.save(),this.canvasCtx.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.canvasCtx.drawImage(e.image,0,0,this.canvasElement.width,this.canvasElement.height),e.detections.length>0){var t=e.detections[0].landmarks;this.analyzeLighting(t)}this.canvasCtx.restore()}},{key:"onClose",value:function(){this.faceDetectionModel.close()}},{key:"analyzeLighting",value:function(e){var t=e[0],n=e[1],r=this.calculateAverageBrightness([t,n]);this.handleBrightness&&this.handleBrightness(r)}},{key:"calculateAverageBrightness",value:function(e){var t=this,n=0;return e.forEach((function(e){var r=Math.round(e.x*t.canvasElement.width),i=Math.round(e.y*t.canvasElement.height),o=t.canvasCtx.getImageData(r,i,1,1).data,a=(o[0]+o[1]+o[2])/3;n+=a})),n/e.length}},{key:"getBlurScore",value:function(e){var t=e.detections[0].boundingBox,n=t.xCenter*this.canvasElement.width,r=t.yCenter*this.canvasElement.height,i=t.width*this.canvasElement.width,o=t.height*this.canvasElement.height,a=this.canvasCtx.getImageData(n,r,i,o),s=this.analyzeBlur(a);console.log("Blur Score:",s),s<100?console.log("Blur detected in face"):console.log("Face is not blurry")}},{key:"analyzeBlur",value:function(e){var t=this.toGrayscale(e),n=this.computeLaplacian(t,e.width,e.height);return this.computeVariance(n)}},{key:"toGrayscale",value:function(e){for(var t=new Array(e.width*e.height).fill(0),n=e.data,r=0;r<n.length;r+=4){var i=.299*n[r]+.587*n[r+1]+.114*n[r+2];t[Math.floor(r/4)]=i}return t}},{key:"computeLaplacian",value:function(e,t,n){for(var r=new Array(t*n).fill(0),i=[[0,1,0],[1,-4,1],[0,1,0]],o=1;o<n-1;o++)for(var a=1;a<t-1;a++){for(var s=0,l=-1;l<=1;l++)for(var c=-1;c<=1;c++)s+=e[(o+l)*t+(a+c)]*i[l+1][c+1];r[o*t+a]=s}return r}},{key:"computeVariance",value:function(e){var t=e.reduce((function(e,t){return e+t}),0)/e.length;return e.reduce((function(e,n){return e+Math.pow(n-t,2)}),0)/e.length}}],n&&xn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function En(e){return En="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},En(e)}function _n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function In(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,On(r.key),r)}}function Fn(e,t,n){return(t=On(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function On(e){var t=function(e,t){if("object"!==En(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==En(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===En(t)?t:String(t)}var Ln=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Fn(this,"_facingMode","user"),Fn(this,"_webcamList",[]),Fn(this,"_streamList",[]),Fn(this,"_selectedDeviceId",""),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.snap=this.snap.bind(this),this.startStream=this.startStream.bind(this)}var t,n;return t=e,n=[{key:"facingMode",get:function(){return this._facingMode},set:function(e){this._facingMode=e}},{key:"webcamList",get:function(){return this._webcamList}},{key:"webcamCount",get:function(){return this._webcamList.length}},{key:"selectedDeviceId",get:function(){return this._selectedDeviceId}},{key:"getVideoInputs",value:function(e){var t=this;return this._webcamList=[],e.forEach((function(e){"videoinput"===e.kind&&t._webcamList.push(e)})),1==this._webcamList.length&&(this._facingMode="user"),this._webcamList}},{key:"getMediaConstraints",value:function(e){var t={};return""==this._selectedDeviceId?t.facingMode=this._facingMode:t.deviceId={exact:this._selectedDeviceId},t.width={exact:e.width},t.height={exact:e.height},{video:t,audio:!1}}},{key:"selectCamera",value:function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return _n(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this._webcamList);try{for(t.s();!(e=t.n()).done;){var n=e.value;if("user"==this._facingMode&&n.label.toLowerCase().includes("front")||"enviroment"==this._facingMode&&n.label.toLowerCase().includes("back")){this._selectedDeviceId=n.deviceId;break}}}catch(e){t.e(e)}finally{t.f()}}},{key:"flip",value:function(){this._facingMode="user"==this._facingMode?"enviroment":"user",this.selectCamera()}},{key:"start",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return new Promise((function(i,o){t.stop(),navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(n){t._streamList.push(n),t.info().then((function(n){t.selectCamera(),r?t.startStream(e).then((function(e){i(t._facingMode)})).catch((function(e){o(e)})):i(t._selectedDeviceId)})).catch((function(e){o(e)}))})).catch((function(e){n&&n(e.name),o(e)}))}))}},{key:"info",value:function(){var e=this;return new Promise((function(t,n){navigator.mediaDevices.enumerateDevices().then((function(n){e.getVideoInputs(n),t(e._webcamList)})).catch((function(e){n(e)}))}))}},{key:"startStream",value:function(e){var t=this;return new Promise((function(n,r){navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(r){t._streamList.push(r),e.srcObject=r,"user"==t._facingMode&&(e.style.transform="scale(-1,1)");var i=e;setTimeout((function(){i.play()}),1e3),n(t._facingMode)})).catch((function(e){r(e)}))}))}},{key:"stop",value:function(){this._streamList.forEach((function(e){e.getTracks().forEach((function(e){e.stop()}))}))}},{key:"snap",value:function(e){var t=document.createElement("canvas");t.height=e.scrollHeight,t.width=e.scrollWidth;var n=t.getContext("2d");"user"===this._facingMode&&(n.translate(t.width,0),n.scale(-1,1)),n.clearRect(0,0,t.width,t.height),n.drawImage(e,0,0,t.width,t.height);var r=t.toDataURL("image/jpeg");return"data:,"===r&&(r=null),t.remove(),r}}],n&&In(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Mn(e){return Mn="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},Mn(e)}function Dn(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,Bn(r.key),r)}}function Gn(e,t,n){return(t=Bn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bn(e){var t=function(e,t){if("object"!==Mn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Mn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Mn(t)?t:String(t)}var Nn=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Gn(this,"_facingMode","user"),Gn(this,"_webcamList",[]),Gn(this,"_streamList",[]),Gn(this,"_selectedDeviceId",""),Gn(this,"_canvasElement",null),Gn(this,"loadModel",!1),Gn(this,"flash",!1),Gn(this,"facePosition",!1),Gn(this,"lookStraight",!1),Gn(this,"lighting",!1),Gn(this,"fixStatus",!1),Gn(this,"isCountry",0),Gn(this,"ready",!1),Gn(this,"logs",""),Gn(this,"timeInv",void 0),Gn(this,"setSnap",!1),Gn(this,"image",null),Gn(this,"detection",!1),Gn(this,"faceDetection",void 0),this.el=t,this.gl=n,this.cnf=r,this.width=i,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.setPosition=this.setPosition.bind(this),this.brightnessDetection=this.brightnessDetection.bind(this),this.capture=this.capture.bind(this),this.errorCameraPermission=this.errorCameraPermission.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render(),this.gl.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension)}var t,n;return t=e,n=[{key:"render",value:function(){var e,t,n,r,i,o,a=this,s=this.el,l=this.gl;l.dom.elwebcam=document.createElement("div"),this.updateDimension();var c='<div style="display: flex; justify-content: center;"><div class="webcamRefBox" style="min-width: '+this.height+"px; min-height: "+this.height+"px; max-height: "+this.height+'px; display: block; position: relative;"><div class="face_detect_age"></div><video class="webcamRef" autoplay muted playsinline style="position: absolute; top: 0px; right: 0px; /*opacity: 0; visibility: hidden; z-index: 2; */ border-radius: 10px; width: auto; transform: scaleX(-1);"></video><canvas class="webcamCanvas" id="webcamCanvas" style="position: absolute; z-index: -2; top: 0px; right: 0px; width: auto; transform: scaleX(-1);"></canvas></div></div><div class="faceController"><ul><li><div class="item_ctl lighting" style="background-color: '+(null!==(e=null===(t=l.customTemplate)||void 0===t?void 0:t.position_not_accepted_status_color)&&void 0!==e?e:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Lighting")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li><li><div class="item_ctl face_position" style="background-color: '+(null!==(n=null===(r=l.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Face Position")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li><li><div class="item_ctl look_straight" style="background-color: '+(null!==(i=null===(o=l.customTemplate)||void 0===o?void 0:o.position_not_accepted_status_color)&&void 0!==i?i:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Look Straight")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li></ul></div><div class="facePositionMap" id="face_position_map"></div><div class="facePosition"><svg class="svg_face_position" viewBox="0 0 '+(this.height<460?this.width+" "+this.height:"360 480")+'"><defs><ellipse class="face-ellipse" id="face-ellipse" cx="50%" cy="55%" rx="133.2" ry="153.6" style="stroke: rgb(255, 255, 255);"></ellipse><mask id="mask"><rect x="0" y="0" width="100%" height="100%" fill="#fff" fill-opacity="0.3"></rect><use xlink:href="#face-ellipse"></use></mask></defs><rect x="0" y="0" width="100%" height="100%" mask="url(#mask)"></rect><use xlink:href="#face-ellipse" fill-opacity="0" stroke="white" stroke-width="2"></use></svg><div id="assertive" class="assertive"></div></div>';l.dom.elwebcam.innerHTML=c,s.appendChild(l.dom.elwebcam),l.dom.elwebcamLoad=document.createElement("div"),l.dom.elwebcamLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',l.dom.elwebcam.appendChild(l.dom.elwebcamLoad),l.dom.elwebcam.refBox=l.dom.elwebcam.getElementsByClassName("webcamRefBox")[0],l.dom.elwebcam.ref=l.dom.elwebcam.getElementsByClassName("webcamRef")[0],l.dom.elwebcam.webcamCanvas=l.dom.elwebcam.getElementsByClassName("webcamCanvas")[0],l.dom.elwebcam.faceDetact=l.dom.elwebcam.getElementsByClassName("face_detect_age")[0],l.dom.elwebcam.facePosition=l.dom.elwebcam.getElementsByClassName("face_position")[0],l.dom.elwebcam.lookStraight=l.dom.elwebcam.getElementsByClassName("look_straight")[0],l.dom.elwebcam.lighting=l.dom.elwebcam.getElementsByClassName("lighting")[0],l.dom.elwebcam.svgFacePosition=l.dom.elwebcam.getElementsByClassName("svg_face_position")[0],l.dom.elwebcam.ref.width=this.width,l.dom.elwebcam.ref.height=this.height,l.dom.elwebcam.webcamCanvas.width=l.dom.elwebcam.ref.width,l.dom.elwebcam.webcamCanvas.height=l.dom.elwebcam.ref.height;var u=this;(new Ln).start(l.dom.elwebcam.ref,this.errorCameraPermission).then((function(e){u.facePosition=new Rn(l.dom.elwebcam.ref,l.dom.elwebcam.webcamCanvas,l.dom.elwebcam.faceDetact,a.width,a.height,(function(e){return u.setPosition(e)}),(function(){return u.loadingDetection()}),(function(e){return u.brightnessDetection(e)}))})).catch((function(e){new Error(e)}))}},{key:"setPosition",value:function(){var e,t,n,r,i,o,a,s,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],c=this.gl,u=this;if(c.intro)return!1;if(1===l.length&&!this.fixStatus){var d=c.dom.elIframe.contentDocument.getElementById("face_age_analyzer");if(d&&c.dom.elwebcam.ref){var h=d.getBoundingClientRect().width,p=d.getBoundingClientRect().height,m=c.dom.elwebcam.ref.offsetWidth,f=c.dom.elwebcam.ref.offsetHeight,g=m-h,y=l[0],v=m*(100*y.width)/100*100/h,b=f*(100*y.height)/100*100/p,k=100*y.yCenter,w=100*(m*(100*y.xCenter)/100-g/2)/h,S=100*y.landmarks[2].y,C=100*y.landmarks[2].x;Math.round(C)-Math.round(w)>v/3&&Math.round(C)-Math.round(w)<v/2.5*1.5&&Math.round(S)-Math.round(k)>b/3&&Math.round(S)-Math.round(k)<b/2.5*1.5?this.lookStraight=!0:this.lookStraight=!1;var P=!1,A=!1,x=!1;if(v>=55&&(v>85?this.logs=Gt.t("Your distance is close to the camera"):(this.logs=null,P=!0)),w>=10&&w<35&&(A=!0),k>=15&&k<75&&(x=!0),P&&A&&x)if(this.logs=null,this.facePosition=!0,this.lookStraight){if(!this.ready){this.ready=!0;var T=3;u.timeInv=setInterval((function(){u.isCountry=T,T<=1?u.setSnap||(u.setSnap=!0,clearInterval(u.timeInv),setTimeout((function(){u.flash=!0,u.capture()}),700)):T=--T}),800)}}else this.ready=!1,this.isCountry=0,clearInterval(u.timeInv);else P?(this.facePosition=!1,this.logs=Gt.t("Keep your face inside the circle"),this.ready=!1,this.isCountry=0,clearInterval(u.timeInv)):(this.facePosition=!1,this.ready=!1,this.isCountry=0,clearInterval(u.timeInv))}}if(c.dom.elwebcam.facePosition.style.backgroundColor=this.facePosition?null!==(e=null===(t=c.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(r=c.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",c.dom.elwebcam.facePosition.getElementsByClassName("value")[0].innerHTML=this.facePosition?Gt.t("Good"):Gt.t("Not Good"),c.dom.elwebcam.getElementsByClassName("face-ellipse")[0]&&(c.dom.elwebcam.getElementsByClassName("face-ellipse")[0].style.stroke=this.facePosition?"rgba(255,255,255,0.32)":"#fff"),c.dom.elwebcam.lookStraight.style.backgroundColor=this.lookStraight?null!==(i=null===(o=c.customTemplate)||void 0===o?void 0:o.position_accepted_status_color)&&void 0!==i?i:"rgb(8, 211, 144)":null!==(a=null===(s=c.customTemplate)||void 0===s?void 0:s.position_not_accepted_status_color)&&void 0!==a?a:"rgb(239, 55, 134)",c.dom.elwebcam.lookStraight.getElementsByClassName("value")[0].innerHTML=this.lookStraight?Gt.t("Good"):Gt.t("Not Good"),c.dom.elwebcam.getElementsByClassName("assertive")[0]){var R=c.dom.elwebcam.getElementsByClassName("assertive")[0];l.length<=0?R.innerHTML=Gt.t("Please stand in front of the camera"):l.length>1?R.innerHTML=Gt.t("There is more than one person in the picture"):this.logs?R.innerHTML=this.logs:this.isCountry?R.innerHTML='<div class="countryPhoto">'+this.isCountry+"</div>":R.innerHTML=""}}},{key:"brightnessDetection",value:function(){var e,t,n,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=this.gl;o.dom.elwebcam.lighting.style.backgroundColor=i>50?null!==(e=null===(t=o.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(r=o.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",o.dom.elwebcam.lighting.getElementsByClassName("value")[0].innerHTML=i>50?Gt.t("Good"):Gt.t("Not Good")}},{key:"capture",value:function(){var e=this,t=this.gl;if(clearInterval(this.timeInv),t.imageWebCam)return!1;if(t.intro)return!1;var n=new Ln;t.imageWebCam=n.snap(t.dom.elwebcam.ref),n.stop();var r='<div><div style="display: flex; justify-content: center;"><div style="position: relative;"><img class="image_per_camera" src="'+t.imageWebCam+'" alt="" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div></div><div class="faceActionSubmit"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div></div>';t.dom.elwebcam.innerHTML=r,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="none"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="none"),t.dom.elwebcam.handleImage=t.dom.elwebcam.getElementsByClassName("handle-submit")[0],t.dom.elwebcam.handleBack=t.dom.elwebcam.getElementsByClassName("handle-back")[0],t.dom.elwebcam.imagePerCamera=t.dom.elwebcam.getElementsByClassName("image_per_camera")[0],t.dom.elwebcam.handleImage.addEventListener("click",(function(){e.handleSubmit(t.imageWebCam)})),t.dom.elwebcam.handleBack.addEventListener("click",(function(){t.imageWebCam=null,e.isCountry=0,e.ready=!1,e.setSnap=!1,e.image=null,e.logs=null,e.facePosition=!1,e.lookStraight=!1,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),e.handleBack()}))}},{key:"errorCameraPermission",value:function(e){var t=this.gl,n='<div><div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-vubbuv" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="DirtyLensTwoToneIcon"><path d="M14.12 5H9.88L8.05 7H4v12h7.27c.14-.98.42-2.05-.16-2.43-.89-.59-1.27 2.06-2.8 1.35-1.39-1.12 1.05-1.29.5-3.27-.22-.79-2.28.36-2.4-1.24-.08-1 1.49-.74 1.51-1.49.03-.75-1.03-1.05-.25-1.91.22-.24.71-.26.91-.19.79.27 1.55 1.82 2.51 1.19 1.03-.66-1.88-2.35 0-2.86 1.64-.44 1.31 2.08 2.65 2.44 1.94.52 2.65-4.55 4.41-2.33 1.85 2.33-3.43 2.27-2.85 4.01.34 1.01 2.15-1.2 2.76.53.64 1.83-3.09.82-3.04 1.66.06.83 2.41.55 1.64 2.12-1.14 1.86-3-1.03-3.81.09-.39.57-.09 1.49.13 2.33H20V7h-4.05l-1.83-2zM19 17.15c0 .48-.38.86-.86.86-.47 0-.86-.38-.86-.86s.38-.86.86-.86c.47 0 .86.38.86.86z" opacity=".3"></path><path d="M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 14h-7.02c-.22-.84-.52-1.76-.13-2.33.81-1.12 2.67 1.77 3.81-.09.77-1.57-1.58-1.29-1.64-2.12-.05-.84 3.68.17 3.04-1.66-.61-1.73-2.42.48-2.76-.53-.58-1.74 4.7-1.68 2.85-4.01-1.76-2.22-2.47 2.85-4.41 2.33-1.34-.36-1.01-2.88-2.65-2.44-1.88.51 1.03 2.2 0 2.86-.96.63-1.72-.92-2.51-1.19-.2-.07-.69-.05-.91.19-.78.86.28 1.16.25 1.91-.02.75-1.59.49-1.51 1.49.12 1.6 2.18.45 2.4 1.24.55 1.98-1.89 2.15-.5 3.27 1.53.71 1.91-1.94 2.8-1.35.58.38.3 1.45.16 2.43H4V7h4.05l1.83-2h4.24l1.83 2H20v12z"></path><path d="M17.28 17.15c0 .48.39.86.86.86.48 0 .86-.38.86-.86s-.39-.86-.86-.86c-.48 0-.86.38-.86.86z"></path></svg><div class="headerBox">'+Gt.t("Error")+'</div><div class="support">'+("NotAllowedError"===e||"PermissionDeniedError"===e?Gt.t("Camera permission denied."):Gt.t("Unable to access the camera."))+"</div></div></div></div>";t.dom.elwebcam.innerHTML=n,t.dom.elwebcam.dragArea=t.dom.elwebcam.getElementsByClassName("dragArea")[0]}},{key:"loadingDetection",value:function(){this.gl.dom.elwebcamLoad.style.display="none",this.detection=!0}},{key:"stop",value:function(){(new Ln).stop()}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elwebcam&&e.dom.elwebcam.ref&&(e.dom.elwebcam.ref.width=this.width,e.dom.elwebcam.ref.height=this.height),e.dom.elwebcam&&e.dom.elwebcam.webcamCanvas&&(e.dom.elwebcam.webcamCanvas.width=e.dom.elwebcam.ref.width,e.dom.elwebcam.webcamCanvas.height=e.dom.elwebcam.ref.height),e.dom.elwebcam&&e.dom.elwebcam.refBox&&(e.dom.elwebcam.refBox.style.minWidth=this.height+"px",e.dom.elwebcam.refBox.style.minHeight=this.height+"px",e.dom.elwebcam.refBox.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.imagePerCamera&&(e.dom.elwebcam.imagePerCamera.style.Height=this.height+"px",e.dom.elwebcam.imagePerCamera.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.dragArea&&(e.dom.elwebcam.dragArea.style.height=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.svgFacePosition&&(this.height<460?Kt.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 "+this.width+" "+this.height}):Kt.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 360 480"}))}}],n&&Dn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),jn=n(129),zn=n.n(jn);function Wn(e){return Wn="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},Wn(e)}function Un(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,(void 0,i=function(e,t){if("object"!==Wn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Wn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Wn(i)?i:String(i)),r)}var i}var Hn=function(){function e(t,n,r,i,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"OK",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"Cancel",l=arguments.length>7&&void 0!==arguments[7]&&arguments[7];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.onAccept=n,this.onCancel=r,this.title=i,this.text=o,this.titleAccept=a,this.titleCancel=s,this.close=l,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elModal=document.createElement("div"),Kt.setAttrs(t.dom.elModal,{class:"modal_face_age",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;align-items: center;"}),t.dom.elModal.box=document.createElement("div"),Kt.setAttrs(t.dom.elModal.box,{style:"width: 100%;"});var n='<div class="modal_window">'+(this.title?'<div class="title">'+this.title+"</div>":"")+'<div class="body">'+this.text+'</div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+(this.onCancel?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg cancel">'+this.titleCancel+"</div>":"")+(this.onAccept?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg accept">'+this.titleAccept+"</div>":"")+"</div></div></div>";t.dom.elModal.box.innerHTML=n,t.dom.elModal.cancel=t.dom.elModal.box.getElementsByClassName("cancel")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0],t.dom.elModal.cancel&&t.dom.elModal.cancel.addEventListener("click",(function(t){e.onCancel()})),t.dom.elModal.accept&&t.dom.elModal.accept.addEventListener("click",(function(t){e.onAccept()})),t.dom.elModal.appendChild(t.dom.elModal.box),t.dom.elFace.analyzer.appendChild(t.dom.elModal)}}])&&Un(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Yn(e){return Yn="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},Yn(e)}function qn(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,Vn(r.key),r)}}function Jn(e,t,n){return(t=Vn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vn(e){var t=function(e,t){if("object"!==Yn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Yn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Yn(t)?t:String(t)}var $n=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Jn(this,"fileUrl",null),Jn(this,"image",null),Jn(this,"logs",null),Jn(this,"hasFace",!1),this.el=t,this.gl=n,this.cnf=r,this.width=i,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.handelDragOver=this.handelDragOver.bind(this),this.handelDragLeave=this.handelDragLeave.bind(this),this.handelDrop=this.handelDrop.bind(this),this.handelClick=this.handelClick.bind(this),this.handelChangeInput=this.handelChangeInput.bind(this),this.displayFile=this.displayFile.bind(this),this.showCropMode=this.showCropMode.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl;this.updateDimension(),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.dom.elupload=document.createElement("div");var r='<div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 40px; height: 40px;"><path d="M8 16h12V4H8v12zm3.5-4.33l1.69 2.26 2.48-3.09L19 15H9l2.5-3.33z" opacity=".3"></path><path d="M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-2 0H8V4h12v12zm-4.33-5.17l-2.48 3.09-1.69-2.25L9 15h10zM4 22h14v-2H4V6H2v14c0 1.1.9 2 2 2z"></path></svg><div class="headerBox dragTitle">'+Gt.t("Drag & Drop")+'</div><div class="headerBox">'+Gt.t("Or")+' <span class="buttonUpload">'+Gt.t("browse")+'</span></div><input type="file" class="upload_file_image" id="upload_file_image" accept="image/jpeg,image/png,image/jpg,image/webp" hidden=""><span class="support">'+Gt.t("Supports: JPEG, JPG, PNG")+"</span></div></div>";n.dom.elupload.innerHTML=r,t.appendChild(n.dom.elupload),n.dom.elupload.dragArea=n.dom.elupload.getElementsByClassName("dragArea")[0],this.dragTitle=n.dom.elupload.getElementsByClassName("dragTitle")[0],n.dom.elupload.buttonUpload=n.dom.elupload.getElementsByClassName("buttonUpload")[0],n.dom.elupload.uploadFile=n.dom.elupload.getElementsByClassName("upload_file_image")[0],n.dom.elupload.dragArea.addEventListener("dragover",this.handelDragOver),n.dom.elupload.dragArea.addEventListener("dragleave",this.handelDragLeave),n.dom.elupload.dragArea.addEventListener("drop",this.handelDrop),n.dom.elupload.buttonUpload.addEventListener("click",(function(){return e.handelClick(n.dom.elupload.uploadFile)})),n.dom.elupload.uploadFile.addEventListener("change",(function(t){return e.handelChangeInput(t)}))}},{key:"handelDragOver",value:function(e){e.preventDefault(),this.dragTitle.innerHTML=Gt.t("Release to Upload"),e.target.classList.add("active")}},{key:"handelDragLeave",value:function(e){this.dragTitle.innerHTML=Gt.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelDrop",value:function(e){e.preventDefault();var t=e.dataTransfer.files[0];t&&this.displayFile(t),this.dragTitle.innerHTML=Gt.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelClick",value:function(e){e&&e.click()}},{key:"handelChangeInput",value:function(e){var t=e.target.files[0];t&&this.displayFile(t)}},{key:"displayFile",value:function(e){var t=this,n=e.type,r=this.gl;if(["image/png","image/jpeg","image/jpg","image/webp"].includes(n)){var i=new FileReader;i.onload=function(){"image/webp"===n?t.compressImageFromURL(i.result,1).then((function(e){t.fileUrl=e,t.cropImage()})):(t.fileUrl=i.result,t.cropImage())},i.readAsDataURL(e)}else new Hn(r,null,(function(){r.dom.elModal.remove()}),Gt.t("Error"),Gt.t("file not supported, file name: ")+n,"",Gt.t("Re-take"))}},{key:"cropImage",value:function(){var e=this,t=this.el,n=this.gl;n.dom.elupload.remove(),n.dom.elupload=document.createElement("div"),n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="none"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="none");var r='<div class="mainDragArea"><div class="cropImg" style="height: '+this.height+'px;"><div style="display: block; width: 100%;" class="face_crop_img"></div></div></div><div class="faceAction_upload"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit disable" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div>';n.dom.elupload.innerHTML=r,t.appendChild(n.dom.elupload),n.dom.eluploadLoad=document.createElement("div"),n.dom.eluploadLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',n.dom.elupload.appendChild(n.dom.eluploadLoad),n.dom.elupload.faceCropImg=n.dom.elupload.getElementsByClassName("face_crop_img")[0],n.dom.elupload.cropImgBox=n.dom.elupload.getElementsByClassName("cropImg")[0],n.dom.elupload.faceCropImg.image=document.createElement("img"),Kt.setAttrs(n.dom.elupload.faceCropImg.image,{id:"face_image",src:this.fileUrl}),n.dom.elupload.faceCropImg.appendChild(n.dom.elupload.faceCropImg.image);var i=this;new Rn(n.dom.elupload.faceCropImg.image,null,null,this.width,this.height,(function(e){return i.showCropMode(e)}),(function(){return i.loadingDetection()}),null,"image"),n.dom.elupload.handleImage=n.dom.elupload.getElementsByClassName("handle-submit")[0],n.dom.elupload.handleBack=n.dom.elupload.getElementsByClassName("handle-back")[0],n.dom.elupload.handleImage.addEventListener("click",(function(){if(!e.hasFace)return!1;i.handleSubmit(i.image)})),n.dom.elupload.handleBack.addEventListener("click",(function(){n.dom.elupload.innerHTML="",i.image=null,n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="block"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="block"),i.handleBack()}))}},{key:"showCropMode",value:function(e){var t=this.gl,n=t.dom.elupload.faceCropImg.image.naturalWidth,r=t.dom.elupload.faceCropImg.image.naturalHeight,i=this,o=e[0];if(!o)return new Hn(t,null,(function(){t.dom.elupload.innerHTML="",i.image=null,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),i.render(),t.dom.elModal.remove()}),Gt.t("Error"),Gt.t("The face is not visible in the picture"),"",Gt.t("Re-take")),null;t.dom.elupload.handleImage.classList.remove("disable"),this.hasFace=!0;var a=n*(100*o.width)/100,s=r*(100*o.height)/100,l=r*(100*o.yCenter)/100,c=n*(100*o.xCenter)/100,u=document.createElement("div");e.length<=0?u.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">Please stand in front of the camera</div>':e.length>1&&(u.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">There is more than one person in the picture, please select one person\'s picture.</div>'),t.dom.elupload.faceCropImg.appendChild(u);var d=new(zn())(t.dom.elupload.faceCropImg.image,{aspectRatio:15/18,guides:!1,zoomable:!1,data:{x:c/1.6,y:l/2.5,width:a+2*(c-c/1.6),height:s+2*(l-l/2.5)},crop:function(e){var t=d.getCroppedCanvas({maxWidth:4096,maxHeight:4096}).toDataURL("image/jpeg");i.image=t}})}},{key:"loadingDetection",value:function(){this.gl.dom.eluploadLoad.style.display="none"}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elupload&&e.dom.elupload.dragArea&&(e.dom.elupload.dragArea.style.height=this.height+"px"),e.dom.elupload&&e.dom.elupload.cropImgBox&&(e.dom.elupload.cropImgBox.style.height=this.height+"px")}},{key:"compressImageFromURL",value:function(e,t){return new Promise((function(n,r){var i=new Image;i.crossOrigin="Anonymous",i.src=e,i.onload=function(){var e=document.createElement("canvas"),r=e.getContext("2d");e.width=i.width,e.height=i.height,r.drawImage(i,0,0,e.width,e.height);var o=e.toDataURL("image/jpeg",t);n(o)},i.onerror=function(e){return r(e)}}))}}])&&qn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Kn(e){return Kn="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},Kn(e)}function Zn(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,(void 0,i=function(e,t){if("object"!==Kn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Kn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Kn(i)?i:String(i)),r)}var i}var Xn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.pr=r,this.unitPrice=n.w.config.currency?n.w.config.currency:"$",this.routine=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i=this,o=this.el,a=this.w.globals,s=this.w.config,l=this.pr,c=document.createElement("div");Kt.setAttrs(c,{class:"product_item_box","data-id":l.id,style:""});var u=null===(e=a.customTemplate)||void 0===e?void 0:e.product_shadow,d=null===(t=a.customTemplate)||void 0===t?void 0:t.product_border_width,h=null===(n=a.customTemplate)||void 0===n?void 0:n.product_border_color,p=null===(r=a.customTemplate)||void 0===r?void 0:r.product_padding,m="";m+=u?"box-shadow: 0 0 5px 0 #0000002b;":"",m+=p?"padding: "+p+"px;":"padding: 10px;",m+=d&&h?"border: "+d+"px solid "+h+";":h?"border: 1px solid "+h+";":"";var f=document.createElement("div");Kt.setAttrs(f,{class:"product_item",style:m});var g=document.createElement("a");if(Kt.setAttrs(g,{class:"product_item_link","data-id":l.id,target:"_blank",href:l.url?l.url:"#"}),!this.routine&&void 0!==l.routineGroups&&l.routineGroups){var y=document.createElement("div");Kt.setAttrs(y,{class:"routine_group"});var v=[];Array.isArray(l.routineGroups)?l.routineGroups.map((function(e){Object.keys(a.routineGroup).forEach((function(t){var n=a.routineGroup[t];Object.keys(n).forEach((function(t){t!==e||v.includes(Gt.t(n[t]))||v.push(Gt.t(n[t]))}))}))})):"object"===Kn(l.routineGroups)&&(v=[],Object.keys(l.routineGroups).forEach((function(e){var t=l.routineGroups[e],n=a.routineGroup[e];t.map((function(e){Object.keys(n).forEach((function(t){t!==e||v.includes(Gt.t(n[t]))||v.push(Gt.t(n[t]))}))}))}))),y.innerHTML="<span>"+v.join(", ")+"</span>",g.appendChild(y)}var b=document.createElement("img");Kt.setAttrs(b,{class:"product_image",src:l.image,alt:l.title}),g.appendChild(b);var k=document.createElement("h2");Kt.setAttrs(k,{class:"product_title"}),k.innerText=Gt.t(l.title),g.appendChild(k);var w=document.createElement("p");if(Kt.setAttrs(w,{class:"product_description"}),w.innerText=Gt.t(l.description),g.appendChild(w),f.appendChild(g),void 0!==l.problems&&l.problems){var S=document.createElement("div");Kt.setAttrs(S,{class:"product_problem_support swiper myProductProblem"});var C=document.createElement("div");Kt.setAttrs(C,{class:"swiper-wrapper"});var P=[];l.problems.map((function(e){if(!P.includes(e)){P.push(e);var t=document.createElement("div");Kt.setAttrs(t,{class:"swiper-slide"});var n=document.createElement("div");Kt.setAttrs(n,{class:"product_problem_item"}),Object.keys(a.problems).forEach((function(t,r){var i=a.problems[t];t.toLowerCase()===e.toLowerCase()&&(n.innerText=Gt.t(i))})),t.appendChild(n),C.appendChild(t)}})),S.appendChild(C),f.appendChild(S)}var A=document.createElement("div");Kt.setAttrs(A,{class:"product_price"});var x=document.createElement("span");Kt.setAttrs(x,{class:"price"});var T=document.createElement("span");if(Kt.setAttrs(T,{class:"old"}),void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(x.innerText=this.unitPrice+l.offerPrice,T.innerText=this.unitPrice+l.price,A.appendChild(x),A.appendChild(T),f.appendChild(A)):l.price&&(x.innerText=this.unitPrice+l.price,A.appendChild(x),f.appendChild(A)),void 0!==l.variables&&l.variables){var R=document.createElement("div");Kt.setAttrs(R,{class:"product_variables"}),Object.keys(l.variables).forEach((function(e,t){var n=l.variables[e],r=document.createElement("div");Kt.setAttrs(r,{class:"item"});var o=document.createElement("label");o.innerText=Gt.t(n.title),r.appendChild(o);var a=document.createElement("select");Kt.setAttrs(a,{class:"product_variables_select",name:e,"data-id":l.id}),Array.isArray(n.option)&&n.option.forEach((function(e,t){var n=document.createElement("option");n.value=e.value,n.text=Gt.t(e.label),0===t&&n.setAttribute("selected",!0),a.appendChild(n)})),a.addEventListener("change",(function(e){n.option.forEach((function(t,n){t.value===e.target.value&&(t.price?void 0!==t.offerPrice&&t.offerPrice>0&&t.offerPrice<t.price?(x.innerText=i.unitPrice+t.offerPrice,T&&T.remove(),T=document.createElement("span"),Kt.setAttrs(T,{class:"old"}),T.innerText=i.unitPrice+t.price,A.appendChild(T)):t.price&&(x.innerText=i.unitPrice+t.price,T&&T.remove()):void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(x.innerText=i.unitPrice+l.offerPrice,T&&T.remove(),T=document.createElement("span"),Kt.setAttrs(T,{class:"old"}),T.innerText=i.unitPrice+l.price,A.appendChild(T)):l.price&&(x.innerText=i.unitPrice+l.price,T&&T.remove()))}))})),r.appendChild(a),R.appendChild(r)})),f.appendChild(R)}if(s.showAddToCard){var E=document.createElement("button");Kt.setAttrs(E,{class:"product_add_to_cart","data-id":l.id}),E.innerText=Gt.t("Add to cart"),E.addEventListener("click",(function(e){var t=e.target.getAttribute("data-id"),n=e.target.parentElement.querySelectorAll(".product_variables_select"),r=[];n&&n.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var i=e.options[n];r[t]=i.value}}})),e.target.classList.contains("active")||(e.target.classList.add("active"),e.target.innerText=Gt.t("Add again")),a.dom.elRecommendation.checkOut&&(a.dom.elRecommendation.checkOut.style.display="block"),a.productAddToCart.find((function(e){return e.id===t}))||a.productAddToCart.push({id:t,variable:r}),a.onAddToCart&&a.onAddToCart([{id:t,variable:r}])})),f.appendChild(E)}g.addEventListener("click",(function(e){var t=i.getParentAnchor(e.target);if(null!==t){var n=t.getAttribute("data-id");a.onClickProduct&&a.onClickProduct(n)}})),c.appendChild(f),o.appendChild(c)}},{key:"getParentAnchor",value:function(e){for(;null!==e;){if(e.tagName&&"A"===e.tagName.toUpperCase())return e;e=e.parentNode}return null}}])&&Zn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Qn={format:"image/png",quality:.92,width:void 0,height:void 0,Canvas:void 0,crossOrigin:void 0};function er(e){return er="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},er(e)}function tr(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,(void 0,i=function(e,t){if("object"!==er(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==er(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===er(i)?i:String(i)),r)}var i}var nr=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.dataReport=n,this.single=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.w.globals,t=(this.w.config,this.dataReport.damagePercentage?this.dataReport.damagePercentage:0);e.dom.elSkinReport=document.createElement("div"),Kt.setAttrs(e.dom.elSkinReport,{class:"modal_face_age skin_report",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;"+(this.single?"padding-top: 60px":"align-items: center;")}),e.dom.elSkinReport.box=document.createElement("div"),Kt.setAttrs(e.dom.elSkinReport.box,{style:"width: 100%;"});var n='<div class="modal_window"><div class="title">'+Gt.t("My Skin Report")+'</div><div class="close_btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32px" height="32px"><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="25.5" x2="25.5" y2="6.5"/><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="6.5" x2="25.5" y2="25.5"/></svg></div><div class="body"> <div class="chart"> <canvas id="radarChart" width="100%" height="200"></canvas> </div> <div class="score"></div> <div class="problem_items"></div></div></div>';if(e.dom.elSkinReport.box.innerHTML=n,e.dom.elSkinReport.close=e.dom.elSkinReport.box.getElementsByClassName("close_btn")[0],e.dom.elSkinReport.problemItems=e.dom.elSkinReport.box.getElementsByClassName("problem_items")[0],e.dom.elSkinReport.score=e.dom.elSkinReport.box.getElementsByClassName("score")[0],e.dom.elSkinReport.appendChild(e.dom.elSkinReport.box),e.dom.elSkinReport.close.addEventListener("click",(function(t){e.dom.elSkinReport.remove()})),t){var r=t&&t>0?100-parseInt(t):99,i=r<=60?Gt.t("Bad"):r>=90?Gt.t("Good"):Gt.t("Fair");e.dom.elSkinReport.score.innerHTML="<div>"+Gt.t("Skin Health")+': <span style="margin-left: 0;display: inline-block;font-weight: bold;">'+r+'%</span></div><div class="type">'+i+"</div>"}if(this.dataReport.problems.length>0&&this.dataReport.problems.map((function(t){var n=document.createElement("div");n.innerHTML='<div class="box">\n <div class="progress_box_problem">\n <div class="progress_image">\n <img class="problem_image" src="" alt="'+Gt.t(t.title)+'">\n </div>\n <div class="progress_item">\n <div style="display: flex; justify-content: space-between; align-items: center;">\n <h2>'+Gt.t(t.title)+'</h2>\n <span class="percentage">'+parseInt(t.number)+("Percent"===t.format?"%":"")+'</span>\n </div>\n <div class="progress-bar-container">\n <div class="title_bar">\n <span class="status-text">'+Gt.t("Good")+'</span>\n <span class="status-text" style="margin-left: auto;">'+Gt.t("Bad")+'</span>\n </div>\n <div class="progress-bar">\n <div class="bar"><div></div><div></div><div></div></div>\n <div class="progress-indicator" style="left: '+("Percent"===t.format?t.number+"%":(t.number<=4?7.3*t.number:t.number>=9?7.3*t.number+60.66>=100?100:7.3*t.number+60.66:7.3*t.number+30.33)+"%")+'"></div>\n </div>\n </div>\n </div>\n </div>\n '+(t.summary?'<p class="description">'+Gt.t(t.summary)+"</p>":"")+"\n</div>";var r,i,o=t.areas&&""!==t.areas?t.areas:null,a=t.masks&&""!==t.masks?t.masks:null,s="-1"===a?o:a;s?(r=[e.imageSubmit,"data:image/svg+xml;base64,"+s],void 0===r&&(r=[]),void 0===i&&(i={}),new Promise((function(e){var t=(i=Object.assign({},Qn,i)).Canvas?new i.Canvas:window.document.createElement("canvas"),n=i.Image||window.Image,o=r.map((function(e){return new Promise((function(t,r){"Object"!==e.constructor.name&&(e={src:e});var o=new n;o.crossOrigin=i.crossOrigin,o.onerror=function(){return r(new Error("Couldn't load image"))},o.onload=function(){return t(Object.assign({},e,{img:o}))},o.src=e.src}))})),a=t.getContext("2d");e(Promise.all(o).then((function(e){var n=function(t){return i[t]||Math.max.apply(Math,e.map((function(e){return e.img[t]})))};return t.width=n("width"),t.height=n("height"),e.forEach((function(e){return a.globalAlpha=e.opacity?e.opacity:1,a.drawImage(e.img,e.x||0,e.y||0)})),i.Canvas&&"image/jpeg"===i.format?new Promise((function(e,n){t.toDataURL(i.format,{quality:i.quality,progressive:!1},(function(t,r){t?n(t):e(r)}))})):t.toDataURL(i.format,i.quality)})))}))).then((function(e){return n.querySelector(".problem_image").src=e})):n.querySelector(".problem_image").src=e.imageSubmit,e.dom.elSkinReport.problemItems.appendChild(n)})),this.dataReport.problems.length>0){var o=this.dataReport.problems.map((function(e){return"Percent"===e.format?"'"+Gt.t(e.title)+"'":null}));o=o.filter((function(e){return e}));var a=this.dataReport.problems.map((function(e){return"Percent"===e.format?parseInt(e.number):null}));a=a.filter((function(e){return e}));var s=this.dataReport.problems.map((function(e){return"Percent"===e.format?e.colors:null}));s=s.filter((function(e){return e}));var l=document.createElement("script");l.type="text/javascript",l.text="var ctx = document.getElementById('radarChart').getContext('2d');\n var radarChart = new Chart(ctx, {\n type: 'polarArea',\n data: {\n labels: ["+o.join(", ")+"],\n datasets: [{\n data: ['"+a.join("', '")+"'],\n backgroundColor: ['"+s.join("', '")+'\'],\n }]\n },\n options: {\n responsive: true,\n plugins: {\n legend: false,\n tooltip: true,\n },\n scale: {\n pointLabels :{\n wight: "10px",\n } },\n elements: {\n line: {\n tension: 0.2 }\n }\n }\n })',e.dom.elSkinReport.appendChild(l)}e.dom.docIframe.appendChild(e.dom.elSkinReport)}}])&&tr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function rr(e){return rr="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},rr(e)}function ir(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,(void 0,i=function(e,t){if("object"!==rr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==rr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===rr(i)?i:String(i)),r)}var i}var or=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=i,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config,i="morning";n.dom.elFace.style.display="none",n.dom.elRoutines=document.createElement("div"),Kt.setAttrs(n.dom.elRoutines,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRoutines.box=document.createElement("div"),Kt.setAttrs(n.dom.elRoutines.box,{style:"width: 100%;"});var o='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Gt.t("My Routines")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===r.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="body"> <div class="main"> <div class="header_routine_box"> <div class="header_product header_routine"> <div class="title header_routine_title">'+Gt.t("Your")+" "+Gt.t("Morning")+" "+Gt.t("Routine")+'</div> <div class="action"> <button class="routine_btn morning active"><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.6243 12.8121C11.3617 12.8121 11.9885 12.5541 12.5046 12.0379C13.0208 11.5217 13.2789 10.895 13.2789 10.1576C13.2789 9.42022 13.0208 8.79345 12.5046 8.27729C11.9885 7.76112 11.3617 7.50304 10.6243 7.50304C9.88695 7.50304 9.26018 7.76112 8.74402 8.27729C8.22786 8.79345 7.96978 9.42022 7.96978 10.1576C7.96978 10.895 8.22786 11.5217 8.74402 12.0379C9.26018 12.5541 9.88695 12.8121 10.6243 12.8121ZM10.6243 14.5818C9.40028 14.5818 8.3569 14.1505 7.49417 13.2877C6.63145 12.425 6.20008 11.3816 6.20008 10.1576C6.20008 8.93355 6.63145 7.89016 7.49417 7.02744C8.3569 6.16471 9.40028 5.73335 10.6243 5.73335C11.8484 5.73335 12.8917 6.16471 13.7545 7.02744C14.6172 7.89016 15.0486 8.93355 15.0486 10.1576C15.0486 11.3816 14.6172 12.425 13.7545 13.2877C12.8917 14.1505 11.8484 14.5818 10.6243 14.5818ZM4.43039 11.0424H0.890991V9.27274H4.43039V11.0424ZM20.3577 11.0424H16.8183V9.27274H20.3577V11.0424ZM9.73948 3.96365V0.424255H11.5092V3.96365H9.73948ZM9.73948 19.8909V16.3515H11.5092V19.8909H9.73948ZM5.66917 6.39698L3.43493 4.25123L4.69584 2.94607L6.81948 5.15819L5.66917 6.39698ZM16.5528 17.3691L14.4071 15.1349L15.5795 13.9182L17.8137 16.064L16.5528 17.3691ZM14.3849 5.20244L16.5307 2.96819L17.8358 4.2291L15.6237 6.35274L14.3849 5.20244ZM3.41281 16.0861L5.64705 13.9403L6.86372 15.1127L4.71796 17.347L3.41281 16.0861Z" fill="#1D1B20"/></svg></button> <button class="routine_btn night"><svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.37575 16.1212C6.16363 16.1212 4.28332 15.347 2.73484 13.7985C1.18635 12.25 0.412109 10.3697 0.412109 8.15758C0.412109 5.94546 1.18635 4.06515 2.73484 2.51667C4.28332 0.968182 6.16363 0.193939 8.37575 0.193939C8.58221 0.193939 8.78499 0.201313 8.98408 0.21606C9.18317 0.230808 9.37858 0.252929 9.57029 0.282424C8.96565 0.710101 8.48267 1.26682 8.12135 1.95258C7.76004 2.63833 7.57938 3.37939 7.57938 4.17576C7.57938 5.50303 8.04393 6.63121 8.97302 7.5603C9.90211 8.48939 11.0303 8.95394 12.3576 8.95394C13.1687 8.95394 13.9134 8.77328 14.5918 8.41197C15.2702 8.05066 15.8232 7.56768 16.2509 6.96303C16.2804 7.15475 16.3025 7.35015 16.3173 7.54924C16.332 7.74833 16.3394 7.95111 16.3394 8.15758C16.3394 10.3697 15.5651 12.25 14.0167 13.7985C12.4682 15.347 10.5879 16.1212 8.37575 16.1212ZM8.37575 14.3515C9.67352 14.3515 10.8386 13.9939 11.8709 13.2786C12.9032 12.5634 13.6553 11.6306 14.1273 10.4803C13.8323 10.554 13.5374 10.613 13.2424 10.6573C12.9475 10.7015 12.6525 10.7236 12.3576 10.7236C10.5436 10.7236 8.99883 10.0858 7.72317 8.81015C6.44751 7.5345 5.80969 5.9897 5.80969 4.17576C5.80969 3.88081 5.83181 3.58586 5.87605 3.29091C5.92029 2.99596 5.97928 2.70101 6.05302 2.40606C4.90272 2.87798 3.96994 3.6301 3.25469 4.66242C2.53943 5.69475 2.18181 6.8598 2.18181 8.15758C2.18181 9.86828 2.78645 11.3283 3.99575 12.5376C5.20504 13.7469 6.66504 14.3515 8.37575 14.3515Z" fill="#1D1B20"/></svg></button> </div> </div> <div class="header_routine_des">'+Gt.t("Check how you can improve your skin with the proper product and routine")+'</div> </div> <div class="routine"> </div> </div> </div></div>';n.dom.elRoutines.box.innerHTML=o,n.dom.elRoutines.appendChild(n.dom.elRoutines.box),t.appendChild(n.dom.elRoutines),n.dom.elRoutines.routine=n.dom.elRoutines.box.querySelector(".routine"),n.dom.elRoutines.back=n.dom.elRoutines.box.querySelector(".back"),n.dom.elRoutines.info=n.dom.elRoutines.box.querySelector(".info"),n.dom.elRoutines.refresh=n.dom.elRoutines.box.querySelector(".refresh"),n.dom.elRoutines.close=n.dom.elRoutines.box.querySelector(".close"),n.dom.elRoutines.morning=n.dom.elRoutines.box.querySelector(".morning"),n.dom.elRoutines.night=n.dom.elRoutines.box.querySelector(".night"),n.dom.elRoutines.routineTitle=n.dom.elRoutines.box.querySelector(".header_routine_title"),n.dom.elRoutines.recommendation_modal=n.dom.elRoutines.box.querySelector(".recommendation_modal_window"),this.updateSlider(this.ctx,"morning"),n.dom.elRoutines.back.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,r.showProducts?(n.dom.elRoutines.remove(),n.statusProductDimension=!0,new lr(n.dom.docIframe,e.ctx,e.pv,e.dataReport)):(n.dom.elRoutines.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100))})),n.dom.elRoutines.info.addEventListener("click",(function(){new nr(e.ctx,e.dataReport,!0)})),n.dom.elRoutines.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,n.dom.elRoutines.remove(),n.dom.elRecommendation&&n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.imageSubmit=null,n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.intro=!0,e.co.intro=!0,new ii(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRoutines.close&&n.dom.elRoutines.close.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.dom.elModalFace.classList.remove("is-open"),n.onCloseModal&&n.onCloseModal()})),n.dom.elRoutines.morning.addEventListener("click",(function(){"morning"!==i&&(i="morning",n.dom.elRoutines.routineTitle.innerText=Gt.t("Your")+" "+Gt.t("Morning")+" "+Gt.t("Routine"),n.dom.elRoutines.morning.classList.add("active"),n.dom.elRoutines.night.classList.remove("active"),e.updateSlider(e.ctx,"morning"))})),n.dom.elRoutines.night.addEventListener("click",(function(){"night"!==i&&(i="night",n.dom.elRoutines.routineTitle.innerText=Gt.t("Your")+" "+Gt.t("Night")+" "+Gt.t("Routine"),n.dom.elRoutines.night.classList.add("active"),n.dom.elRoutines.morning.classList.remove("active"),e.updateSlider(e.ctx,"night"))})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverRoutin=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverRoutin.observe(n.dom.elRoutines.recommendation_modal),n.onDisplayRoutines&&n.onDisplayRoutines(n.productLists)}},{key:"updateSlider",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"morning",r=(e.w,e.w.globals);e.w.config,r.productLoader?(r.dom.elRoutines.routine.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',r.checkStateProductLoader=setInterval((function(){r.productLoader||(t.updateSetData(e,n),clearInterval(r.checkStateProductLoader))}),100)):this.updateSetData(e,n)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,r=e.w.config,i=[];n.dom.elRoutines.routine.innerHTML="",Object.keys(n.routineGroup[t]).forEach((function(o,a){var s=n.routineGroup[t][o],l="routines.content."+o,c=!0;if(r.routinesSupport.length>0&&(r.routinesSupport.includes(o)||(c=!1)),c){var u=document.createElement("div");Kt.setAttrs(u,{class:"routine_item"});var d=document.createElement("div");Kt.setAttrs(d,{class:"routine_title"}),d.innerHTML="<span>"+(a+1)+".</span>"+Gt.t(s),u.appendChild(d);var h=document.createElement("div");Kt.setAttrs(h,{class:"routine_content"}),h.innerText=Gt.t(l),u.appendChild(h);var p=document.createElement("div");if(Kt.setAttrs(p,{class:"products"}),n.productLists&&(n.productLists.map((function(r){if(void 0!==r.routineGroups&&r.routineGroups){var a=[];if(Array.isArray(r.routineGroups))r.routineGroups.map((function(e){var r=n.routineGroup[t];Object.keys(r).forEach((function(t){t!==e||a.includes(t)||a.push(t)}))}));else if("object"===rr(r.routineGroups)){a=[];var s=r.routineGroups[t];if(s){var l=n.routineGroup[t];s.map((function(e){Object.keys(l).forEach((function(t){t!==e||a.includes(t)||a.push(t)}))}))}}a.includes(o)&&(new Xn(p,e,r,!0),i.push(r.id))}})),n.productAddToCart.length>0)){var m=p.querySelectorAll(".product_item_box");m.forEach((function(e,t){var r=m[t],i=r.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===i}))&&(r.querySelector(".product_add_to_cart").classList.contains("active")||(r.querySelector(".product_add_to_cart").classList.add("active"),r.querySelector(".product_add_to_cart").innerText=Gt.t("Add again")))}))}u.appendChild(p),n.dom.elRoutines.routine.appendChild(u);var f=document.createElement("script");f.type="text/javascript",f.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRoutines.routine.appendChild(f)}}))}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusRoutinDimension)return!1;"section"===this.co.displayModel&&(e.heightProduct=e.dom.elRoutines.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}}],n&&ir(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ar(e){return ar="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},ar(e)}function sr(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,(void 0,i=function(e,t){if("object"!==ar(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ar(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ar(i)?i:String(i)),r)}var i}var lr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=i,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config;n.dom.elFace.style.display="none",n.dom.elRecommendation=document.createElement("div"),Kt.setAttrs(n.dom.elRecommendation,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRecommendation.box=document.createElement("div"),Kt.setAttrs(n.dom.elRecommendation.box,{style:"width: 100%;"});var i='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Gt.t("Recommendation Products")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===r.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="slider_header" style="padding: 15px 0 2px; background-color: #F1F3F4"></div> <div class="body"> <div class="main"> <div class="header_product_box"> <div class="header_product"> <div class="title">'+Gt.t("Products That Just Work For you")+'</div> <div class="action">'+(r.showAddToCard?' <button class="add_to_cart add_to_cart_all">'+Gt.t("Add all to cart")+"</button>":"")+(r.showRoutine?' <button class="show_routine">'+Gt.t("Routine")+"</button>":"")+' </div> </div> </div> <div class="products"> </div>'+("modal"===r.displayModel&&r.showAddToCard?' <div class="footer_box"> <button class="add_to_cart add_to_cart_all2">'+Gt.t("Add all to cart")+'</button> <button class="check_out" style="display: none">'+Gt.t("Checkout")+"</button></div>":"")+" </div> </div></div>";n.dom.elRecommendation.box.innerHTML=i,n.dom.elRecommendation.appendChild(n.dom.elRecommendation.box),t.appendChild(n.dom.elRecommendation),n.dom.elRecommendation.problems=n.dom.elRecommendation.box.querySelector(".slider_header"),n.dom.elRecommendation.products=n.dom.elRecommendation.box.querySelector(".products"),n.dom.elRecommendation.headerProduct=n.dom.elRecommendation.box.querySelector(".header_product_box"),n.dom.elRecommendation.back=n.dom.elRecommendation.box.querySelector(".back"),n.dom.elRecommendation.info=n.dom.elRecommendation.box.querySelector(".info"),n.dom.elRecommendation.refresh=n.dom.elRecommendation.box.querySelector(".refresh"),n.dom.elRecommendation.close=n.dom.elRecommendation.box.querySelector(".close"),n.dom.elRecommendation.addToCardAll=n.dom.elRecommendation.box.querySelector(".add_to_cart_all"),n.dom.elRecommendation.addToCardAll2=n.dom.elRecommendation.box.querySelector(".add_to_cart_all2"),n.dom.elRecommendation.footerBox=n.dom.elRecommendation.box.querySelector(".footer_box"),n.dom.elRecommendation.checkOut=n.dom.elRecommendation.box.querySelector(".check_out"),n.dom.elRecommendation.showRoutine=n.dom.elRecommendation.box.querySelector(".show_routine"),n.dom.elRecommendation.recommendation_modal=n.dom.elRecommendation.box.querySelector(".recommendation_modal_window"),new dr(n.dom.elRecommendation.problems,this.ctx,this.pv,this.dataReport?this.dataReport.problems:[],!0,!0,this.updateSlider),this.updateSlider(this.ctx,"all_products"),n.dom.elRecommendation.addToCardAll&&n.dom.elRecommendation.addToCardAll.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.addToCardAll2&&n.dom.elRecommendation.addToCardAll2.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.checkOut&&n.dom.elRecommendation.checkOut.addEventListener("click",(function(e){n.onCheckout&&n.onCheckout(n.productAddToCart)})),n.dom.elRecommendation.back.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100)})),n.dom.elRecommendation.showRoutine&&n.dom.elRecommendation.showRoutine.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.dom.elRecommendation.remove(),n.statusProductDimension=!1,n.statusRoutinDimension=!0,new or(n.dom.docIframe,e.ctx,e.pv,e.dataReport)})),n.dom.elRecommendation.info.addEventListener("click",(function(){new nr(e.ctx,e.dataReport,!0)})),n.dom.elRecommendation.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.imageSubmit=null,n.intro=!0,e.co.intro=!0,new ii(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRecommendation.close&&n.dom.elRecommendation.close.addEventListener("click",(function(e){n.dom.elModalFace.classList.remove("is-open"),clearInterval(n.checkStateProductLoader),n.onCloseModal&&n.onCloseModal()})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverProduct=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverProduct.observe(n.dom.elRecommendation.recommendation_modal),n.onDisplayProducts&&n.onDisplayProducts(n.productLists)}},{key:"updateSlider",value:function(e,t){var n=this,r=(e.w,e.w.globals);r.dom.elRecommendation.headerProduct.style.display="block",r.dom.elRecommendation.footerBox&&(r.dom.elRecommendation.footerBox.style.display="flex"),r.productListsDisplay=[],r.productLoader?(r.dom.elRecommendation.products.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',r.dom.elRecommendation.headerProduct.style.display="none",r.dom.elRecommendation.footerBox&&(r.dom.elRecommendation.footerBox.style.display="none"),r.checkStateProductLoader=setInterval((function(){r.productLoader||(n.updateSetData(e,t),clearInterval(r.checkStateProductLoader))}),100)):this.updateSetData(e,t)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,r=[];if(n.dom.elRecommendation.headerProduct.style.display="block",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="flex"),n.productListsDisplay=[],!n.productLoader){if(n.dom.elRecommendation.products.innerHTML="",n.productLists){if(n.productLists.map((function(i){(i.problems.includes(t)||"all_products"===t)&&(new Xn(n.dom.elRecommendation.products,e,i),r.push(i.id),n.productListsDisplay.push(i))})),n.productAddToCart.length>0){var i=n.dom.elRecommendation.products.querySelectorAll(".product_item_box");i.forEach((function(e,t){var r=i[t],o=r.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===o}))&&(r.querySelector(".product_add_to_cart").classList.contains("active")||(r.querySelector(".product_add_to_cart").classList.add("active"),r.querySelector(".product_add_to_cart").innerText=Gt.t("Add again")))})),n.dom.elRecommendation.checkOut&&(n.dom.elRecommendation.checkOut.style.display="block")}var o=document.createElement("script");o.type="text/javascript",o.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRecommendation.products.appendChild(o)}if(r.length<=0){var a=document.createElement("div");Kt.setAttrs(a,{class:"product_empty"}),a.innerHTML=Gt.t("There are no products to display."),n.dom.elRecommendation.products.appendChild(a),n.dom.elRecommendation.headerProduct.style.display="none",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="none")}}}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusProductDimension)return!1;"section"===this.co.displayModel&&(e.heightProduct=e.dom.elRecommendation.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}},{key:"addToCardAll",value:function(){var e=this.w.globals,t=e.dom.elRecommendation.products.querySelectorAll(".product_item_box"),n=[];t.forEach((function(r,i){var o=t[i],a=o.getAttribute("data-id"),s=o.querySelectorAll(".product_variables_select"),l=[];s&&s.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var r=e.options[n];l[t]=r.value}}})),o.querySelector(".product_add_to_cart").classList.contains("active")||(o.querySelector(".product_add_to_cart").classList.add("active"),o.querySelector(".product_add_to_cart").innerText=Gt.t("Add again"),e.dom.elRecommendation.checkOut&&(e.dom.elRecommendation.checkOut.style.display="block")),n.push({id:a,variable:l}),e.productAddToCart.find((function(e){return e.id===a}))||e.productAddToCart.push({id:a,variable:l})})),e.onAddToCart&&e.onAddToCart(n)}}])&&sr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function cr(e){return cr="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},cr(e)}function ur(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,(void 0,i=function(e,t){if("object"!==cr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==cr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===cr(i)?i:String(i)),r)}var i}var dr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.problems=i,this.showProducts=o,this.recommendation=a,this.eventSlider=s,this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl,r=this.co,i=this.ctx,o=this.pv.getValue(),a='<div class="swiper '+(this.recommendation?"myProducts":"mySwiper")+'">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <div class="point_analysis '+(this.recommendation?"all_products":"skin_info")+' active" data-key="'+(this.recommendation?"all_products":"skin_info")+'">\n <div class="count_box">\n <div class="'+(this.recommendation?"products_ico":"skin_info_ico")+'">'+(this.recommendation?'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 24 24"><path d="M23.381,9.854c-.363-.415-.85-.691-1.381-.8v-.554c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v1c0,.276,.224,.5,.5,.5s.5-.224,.5-.5V1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-2c-.276,0-.5,.224-.5,.5s.224,.5,.5,.5h2c1.93,0,3.5,1.57,3.5,3.5v.5h-7v-.5c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v2.776c-1.742,.621-3,2.271-3,4.224v.554c-.531,.109-1.018,.385-1.381,.8-.475,.542-.692,1.263-.595,1.985l1.118,7.389c.363,2.721,2.707,4.772,5.452,4.772h10.812c2.745,0,5.089-2.052,5.451-4.764l1.121-7.406c.095-.714-.122-1.435-.597-1.977ZM6,1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-3c-.171,0-.334,.032-.5,.051V1.5Zm.5,3.5h3c1.93,0,3.5,1.57,3.5,3.5v.5H3v-.5c0-1.93,1.57-3.5,3.5-3.5Zm16.488,6.689l-1.121,7.405c-.297,2.227-2.215,3.905-4.461,3.905H6.594c-2.246,0-4.164-1.679-4.462-3.914l-1.118-7.388c-.057-.428,.073-.86,.358-1.186,.285-.326,.696-.512,1.129-.512H21.5c.433,0,.844,.187,1.129,.512,.285,.325,.415,.757,.359,1.177Zm-10.488,.811v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm5.5,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm-11,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Z"/></svg>':'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_3028_882)"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 1.82353C2 1.36871 2.36871 1 2.82353 1H7.76471C8.21953 1 8.58824 1.36871 8.58824 1.82353C8.58824 2.27835 8.21953 2.64706 7.76471 2.64706H3.64706V6.76471C3.64706 7.21953 3.27835 7.58824 2.82353 7.58824C2.36871 7.58824 2 7.21953 2 6.76471V1.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M29.1765 1C29.6312 1 30 1.36871 30 1.82353V6.76471C30 7.21953 29.6312 7.58824 29.1765 7.58824C28.7217 7.58824 28.3529 7.21953 28.3529 6.76471V2.64706H24.2353C23.7805 2.64706 23.4118 2.27835 23.4118 1.82353C23.4118 1.36871 23.7805 1 24.2353 1H29.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M2.82353 29C2.36871 29 2 28.6312 2 28.1765V23.2353C2 22.7805 2.36871 22.4118 2.82353 22.4118C3.27835 22.4118 3.64706 22.7805 3.64706 23.2353V27.3529H7.76471C8.21953 27.3529 8.58824 27.7217 8.58824 28.1765C8.58824 28.6312 8.21953 29 7.76471 29H2.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M30 28.1765C30 28.6312 29.6312 29 29.1765 29H24.2353C23.7805 29 23.4118 28.6312 23.4118 28.1765C23.4118 27.7217 23.7805 27.3529 24.2353 27.3529H28.3529V23.2353C28.3529 22.7805 28.7217 22.4118 29.1765 22.4118C29.6312 22.4118 30 22.7805 30 23.2353V28.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.58823 13.3529C8.58823 9.25954 11.9066 5.94118 16 5.94118C20.0934 5.94118 23.4118 9.25954 23.4118 13.3529V16.6471C23.4118 20.7405 20.0934 24.0588 16 24.0588C11.9066 24.0588 8.58823 20.7405 8.58823 16.6471V13.3529ZM16 7.58824C12.8162 7.58824 10.2353 10.1692 10.2353 13.3529V16.6471C10.2353 19.8308 12.8162 22.4118 16 22.4118C19.1838 22.4118 21.7647 19.8308 21.7647 16.6471V13.3529C21.7647 10.1692 19.1838 7.58824 16 7.58824Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7059 17.4706C13.1606 17.4706 13.5294 17.8394 13.5294 18.2941L13.5299 18.2986C13.5299 18.2986 13.5317 18.3061 13.535 18.3142C13.5416 18.3304 13.5576 18.3608 13.5935 18.4033C13.6686 18.4921 13.8096 18.6074 14.039 18.7222C14.4984 18.9518 15.1905 19.1176 16 19.1176C16.8095 19.1176 17.5016 18.9518 17.961 18.7222C18.1904 18.6074 18.3314 18.4921 18.4065 18.4033C18.4424 18.3608 18.4584 18.3304 18.465 18.3142C18.4683 18.3061 18.4701 18.2986 18.4701 18.2986L18.4706 18.2941C18.4706 17.8394 18.8394 17.4706 19.2941 17.4706C19.7489 17.4706 20.1177 17.8394 20.1177 18.2941C20.1177 19.229 19.3813 19.8535 18.6976 20.1953C17.9646 20.5618 17.0098 20.7647 16 20.7647C14.9902 20.7647 14.0354 20.5618 13.3025 20.1953C12.6188 19.8535 11.8824 19.229 11.8824 18.2941C11.8824 17.8394 12.2511 17.4706 12.7059 17.4706Z" fill="white"/></g><defs><filter id="filter0_d_3028_882" x="0" y="0" width="32" height="32" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation="1"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3028_882"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3028_882" result="shape"/></filter></defs></svg>')+'</div>\n </div>\n <div class="label_box" style="'+(this.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+(this.recommendation?Gt.t("All Products"):Gt.t("Skin Info"))+"</div>\n </div>\n </div>\n";this.problems.length>0&&this.problems.map((function(t){a+=' <div class="swiper-slide">\n <div class="point_analysis '+t.key+'" data-key="'+t.key+'">\n <div class="count_box" style="background-color: '+(e.recommendation?"rgb(0 0 0 / 4%)":"rgb(0 0 0 / 24%)")+'">\n <div class="progress-container"><svg class="MuiCircularProgress-svg" viewBox="22 22 44 44"><circle class="MuiCircularProgress-circle" cx="44" cy="44" r="20.2" fill="none" stroke-width="2.6"></circle></svg><div class="progress-label">0%</div></div>\n </div>\n <div class="label_box" style="'+(e.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+Gt.t(t.title)+"</div>\n </div>\n </div>\n"})),a+=' </div><div class="swiper-button-next"></div><div class="swiper-button-prev"></div>\n </div>';var s=document.createElement("div");Kt.setAttrs(s,{style:"background: linear-gradient(rgba(33, 37, 41, 0), rgb(33 37 41 / 51%));"+(this.showProducts?"padding-bottom: 10px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0; padding-bottom: "+(o.copyRight&&"widget"===r.displayModel?25:10)+"px;"),class:"face_slide"}),s.innerHTML=a,t.appendChild(s);var l=document.createElement("script");l.type="text/javascript",l.text="new Swiper('."+(this.recommendation?"myProducts":"mySwiper")+'\', {\n slidesPerView: \'auto\',\n spaceBetween: 12,\n navigation: {\n nextEl: ".swiper-button-next",\n prevEl: ".swiper-button-prev",\n },\n });',t.appendChild(l),this.problems.length>0&&this.problems.map((function(n){var r=t.querySelector(".face_slide").getElementsByClassName(n.key)[0];e.setProgress(r,parseInt(n.number),n.colors,"Percent"===n.format)}));var c=t.getElementsByClassName("point_analysis");if(c)for(var u=function(){var r=c[d];r.addEventListener("click",(function(o){var a=r.getAttribute("data-key"),s=t.querySelectorAll(".point_analysis");if(s)for(var l=0;l<s.length;l++){var c=s[l];c.classList.contains("active")&&c.classList.remove("active")}r.classList.add("active");var u=t.querySelector(".face_slide").querySelectorAll(".point_analysis");if(u.forEach((function(t,n){var r=u[n],i=r.getAttribute("data-key"),o=e.problems.find((function(e){return e.key===i}));o&&(e.setProgress(r,parseInt(o.number),o.key!==a?o.colors:"#fff","Percent"===o.format),r.querySelector(".count_box")&&(o.key===a?r.querySelector(".count_box").style.backgroundColor=o.colors:r.querySelector(".count_box").style.backgroundColor=e.recommendation?"rgb(0 0 0 / 4%)":"rgb(0 0 0 / 24%)"))})),!e.recommendation){"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.score?n.dom.elPreviewImage.imageLoad.score.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.score&&(n.dom.elPreviewImage.imageLoad.score.style.display="block"),"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.warning?n.dom.elPreviewImage.imageLoad.warning.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.warning&&(n.dom.elPreviewImage.imageLoad.warning.style.display="block"),e.setTitle("skin_info"!==a?a:null);var d=n.dom.elPreviewImage.imageLoad.masks.querySelectorAll(".maskItem");if(d)for(var h=0;h<d.length;h++){var p=d[h],m=p.getAttribute("data-key");p.style.display="skin_info"===a||m===a?"block":"none"}}e.eventSlider&&e.eventSlider(i,a),n.onClickProblem&&n.onClickProblem(a)}))},d=0;d<c.length;d++)u()}},{key:"setProgress",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#da005c",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=e.querySelector(".MuiCircularProgress-circle"),o=e.querySelector(".progress-label"),a=r?Math.min(Math.max(t,0),100):t,s=r?"%":"",l=2*Math.PI*20.2,c=l-a/100*l;i.style.stroke=n,i.style.strokeDashoffset=c,o.textContent="".concat(a).concat(s),o.style.color=n}},{key:"setTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(this.el,this.gl);if(e){var n=[];this.problems.length>0&&this.problems.map((function(t){e===t.key&&(n=t)})),n&&(t.dom.elPreviewImage.activePoint?(t.dom.elPreviewImage.activePoint.innerHTML=Gt.t(n.title),t.dom.elPreviewImage.activePoint.style.backgroundColor=n.colors):(t.dom.elPreviewImage.activePoint=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.activePoint,{style:"background-color: "+n.colors+";",class:"title_point_select"}),t.dom.elPreviewImage.activePoint.innerHTML=Gt.t(n.title),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.activePoint)))}else{var r=t.dom.elPreviewImage.imageLoad.querySelector(".title_point_select");r&&(r.remove(),t.dom.elPreviewImage.activePoint=null)}}}],n&&ur(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function hr(e){return hr="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},hr(e)}function pr(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,(void 0,i=function(e,t){if("object"!==hr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==hr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===hr(i)?i:String(i)),r)}var i}var mr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=r,this.problems=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl;this.co,t.dom.elPreviewImage.imageLoad.masks=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.masks,{style:"position: absolute; top: 0; left: 0; right: 0; bottom: 0"}),t.dom.elPreviewImage.imageLoad.maskItem=[],this.problems.length>0&&this.problems.map((function(e){var n=e.areas&&""!==e.areas?e.areas:null,r=e.masks&&""!==e.masks?e.masks:null,i="-1"===r?n:r,o=r?"mask":"areas",a=r?"0.9":"0.6";i&&(t.dom.elPreviewImage.imageLoad.maskItem[e.key]=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.maskItem[e.key],{class:"maskItem "+o+"_"+e.key,"data-key":e.key,style:"position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-size: 100%; background-repeat: no-repeat; background-position: left top; opacity: "+a+'; background-image: url("data:image/svg+xml;base64,'+i+'");'}),t.dom.elPreviewImage.imageLoad.masks.appendChild(t.dom.elPreviewImage.imageLoad.maskItem[e.key]))})),e.appendChild(t.dom.elPreviewImage.imageLoad.masks)}}])&&pr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function fr(e){return fr="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},fr(e)}function gr(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,(void 0,i=function(e,t){if("object"!==fr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==fr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===fr(i)?i:String(i)),r)}var i}var yr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=r,this.damage=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl,n=(this.co,this.damage&&this.damage>0?100-parseInt(this.damage):99);t.dom.elPreviewImage.imageLoad.score=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.score,{style:"position: absolute;top: "+(t.imageWarning?"58":"15")+"px;left: 17px;text-align: left;background: var(--accepted_status);padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px"}),t.dom.elPreviewImage.imageLoad.score.innerHTML="<div>"+Gt.t("Skin Health")+': <span style="margin-left: 7px;display: inline-block;font-weight: bold;">'+n+"%</span></div>",e.appendChild(t.dom.elPreviewImage.imageLoad.score)}}])&&gr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function vr(e){return vr="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},vr(e)}function br(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,(void 0,i=function(e,t){if("object"!==vr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===vr(i)?i:String(i)),r)}var i}var kr=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.validation=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i=this.el,o=this.w.globals,a=(this.w.config,null===(e=this.validation)||void 0===e?void 0:e.blurry),s=null===(t=this.validation)||void 0===t?void 0:t.eyeGlass,l=null===(n=this.validation)||void 0===n?void 0:n.neutralFace,c=null===(r=this.validation)||void 0===r?void 0:r.faceObstruction,u=this.validation.brightness?this.validation.brightness:0;(u<50||a||s||!l)&&(o.dom.elPreviewImage.imageLoad.warning=document.createElement("div"),Kt.setAttrs(o.dom.elPreviewImage.imageLoad.warning,{style:"position: absolute;top: 15px;left: 17px;text-align: left;background: #FFC961;padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px; cursor: pointer;"}),o.dom.elPreviewImage.imageLoad.warning.innerHTML='<div class="warning_image"><svg style="width: 16px; display: inline-block; height: 16px; vertical-align: middle;" width="16" height="20" viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13.5V8.5C2 5.43 3.64 2.86 6.5 2.18V1.5C6.5 0.67 7.17 0 8 0C8.83 0 9.5 0.67 9.5 1.5V2.18C12.37 2.86 14 5.42 14 8.5V13.5L16 15.5V16.5H9.53674e-07V15.5L2 13.5ZM7 13.5H9V11.5H7V13.5ZM7 9.5H9V5.5H7V9.5ZM8 19.5C6.9 19.5 6 18.6 6 17.5H10C10 18.6 9.11 19.5 8 19.5Z" fill="white"/></svg> '+Gt.t("Image is not suitable")+"</div>",o.imageWarning=!0,i.appendChild(o.dom.elPreviewImage.imageLoad.warning),o.dom.elPreviewImage.imageLoad.warning.addEventListener("click",(function(){var e=[];a&&e.push(Gt.t("validation.blurry")),s&&e.push(Gt.t("validation.eyeGlass")),c&&e.push(Gt.t("validation.faceObstruction")),l||e.push(Gt.t("validation.neutralFace")),u<50&&e.push(Gt.t("validation.brightness"));var t="<ol>"+e.map((function(e){return"<li>"+e+"</li>"})).join(" ")+"</ol>";new Hn(o,(function(){o.dom.elModal.remove()}),null,Gt.t("Tips for taking better selfies"),t,Gt.t("Continue"))})))}}])&&br(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function wr(e){return wr="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},wr(e)}function Sr(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,(void 0,i=function(e,t){if("object"!==wr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==wr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===wr(i)?i:String(i)),r)}var i}var Cr=function(){function e(t,n,r,i,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=r.name,this.inputType=r.inputType,this.placeholder=Gt.t(r.placeholder),this.required=r.required,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"textInput"});var i=document.createElement("input");Kt.setAttrs(i,{class:"input",placeholder:this.placeholder?this.placeholder+" ":"",name:this.name,type:this.inputType,required:this.required,value:void 0!==this.value?this.value:""}),i.addEventListener("input",(function(t){e.setValue(t.target.value),e.value=t.target.value})),r.appendChild(i),t.appendChild(r),this.el.appendChild(t)}}])&&Sr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Pr(e){return Pr="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},Pr(e)}function Ar(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,(void 0,i=function(e,t){if("object"!==Pr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Pr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Pr(i)?i:String(i)),r)}var i}var xr=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Gt.t(r.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("h3"),Kt.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&Ar(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Tr(e){return Tr="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},Tr(e)}function Rr(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,(void 0,i=function(e,t){if("object"!==Tr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Tr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Tr(i)?i:String(i)),r)}var i}var Er=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=r.name,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.required=r.required,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"textInput"});var i=document.createElement("select");Kt.setAttrs(i,{class:"select",name:this.name,required:this.required}),this.options.map((function(t){var n=document.createElement("option");n.value=t.value,n.text=Gt.t(t.label),t.value===e.value&&(n.selected=!0),i.appendChild(n)})),i.addEventListener("change",(function(t){e.setValue(t.target.value),e.value=t.target.value})),r.appendChild(i),t.appendChild(r),this.el.appendChild(t)}}])&&Rr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function _r(e){return _r="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},_r(e)}function Ir(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,(void 0,i=function(e,t){if("object"!==_r(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==_r(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===_r(i)?i:String(i)),r)}var i}var Fr=function(){function e(t,n,r,i,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.item=r,this.valus=i,this.setData=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl,n=this.item;switch(n.type){case"title":new xr(this.el,t,n);break;case"text":new on(this.el,t,n);break;case"checkboxInput":new tn(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"radioInput":new ln(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"textInput":new Cr(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"selectBox":new Er(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}))}}}])&&Ir(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Or(e){return Or="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},Or(e)}function Lr(e){try{var t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch(e){return!1}}function Mr(e){return/<\/?[a-z][\s\S]*>/i.test(e)}function Dr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[];return e.map((function(e,r){var i,o={},a=t[e.name],s=null!==(i=e.title)&&void 0!==i?i:e.name;if(e.required&&!a)o[e.name]=s+" is required";else if(a)if("textInput"===e.type)switch(e.inputType){case"email":/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(a)||(o[e.name]=s+" must be a valid Email");break;case"url":/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?(\/.*)?$/.test(a)||(o[e.name]=s+" must be a valid HTTPS URL");break;case"number":/^\d+$/.test(a)||(o[e.name]=s+" must be a valid number");break;case"date":(function(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;var t=new Date(e),n=t.getTime();return!(!n&&0!==n)&&t.toISOString().slice(0,10)===e})(a)||(o[e.name]=s+" must be a valid date (ex: 2024-02-18)")}else"checkboxInput"===e.type&&"object"!==Or(a)&&(o[e.name]=s+" must be an object if provided");Object.keys(o).length>0&&n.push({index:r,errors:o})})),n.length>0?n:null}function Gr(e){return Gr="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},Gr(e)}function Br(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,(void 0,i=function(e,t){if("object"!==Gr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Gr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Gr(i)?i:String(i)),r)}var i}var Nr=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.onSubmit=n,this.onSkip=r,this.valus=this.gl.formData,this.required=[],this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;Object.keys(this.valus).length<=0&&n.defaultQuiz&&Xt().map(n.defaultQuiz,(function(t,n){e.valus[n]=t}));var r=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(r.content&&r.content.elements&&r.content.elements.length>0){t.formData||(t.formData={});var i=r.content.actions?r.content.actions.find((function(e){return"goToSkip"===e.onAction})):null,o=r.content.actions?r.content.actions.find((function(e){return"goToNext"===e.onAction})):null;new Hn(t,o?function(){if(e.required.length>0&&!e.required.find((function(t){return e.valus[t]})))return!1;r.content.elements.map((function(e){var n=t.dom.elModal.body.querySelector('.el_box[data-name="'+e.name+'"]');if(n){var r=n.querySelector(".err");r&&r.remove()}}));var n=Dr(r.content.elements,e.valus);if(n)return n.map((function(e,n){Xt().map(e.errors,(function(e,n){var r=t.dom.elModal.body.querySelector('.el_box[data-name="'+n+'"]');if(r){var i=document.createElement("p");Kt.setAttrs(i,{class:"err"}),i.innerText=e,r.appendChild(i)}}))})),!1;t.dom.elModal.remove(),e.onSubmit(e.valus)}:null,i?function(){t.dom.elModal.remove(),e.onSkip&&e.onSkip()}:null,"","",o?Gt.t(o.label):"",i?Gt.t(i.label):""),t.dom.elModal.body=t.dom.elModal.box.getElementsByClassName("body")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0];var a=!0,s=!0;r.content.elements.map((function(n){console.log(n),n.required&&e.required.push(n.name),n.required&&!e.valus[n.name]&&(a=!1),e.valus[n.name]||(s=!1),new Fr(t.dom.elModal.body,t,n,e.valus,(function(n,r){e.valus[r]=n,t.dom.elModal.accept&&e.required.map((function(n){e.valus[n]?t.dom.elModal.accept.classList.remove("disabale"):t.dom.elModal.accept.classList.add("disabale")}))}))})),t.dom.elModal.accept&&this.required.length>0&&t.dom.elModal.accept.classList.add("disabale"),t.dom.elModal.accept&&a&&t.dom.elModal.accept.classList.contains("disabale")&&t.dom.elModal.accept.classList.remove("disabale"),s&&t.dom.elModal.accept.click()}}}])&&Br(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function jr(e){return jr="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},jr(e)}function zr(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,(void 0,i=function(e,t){if("object"!==jr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==jr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===jr(i)?i:String(i)),r)}var i}var Wr=function(){function e(t,n,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=o,this.image=i,this.back=a,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t=this.gl,n=(this.co,this.dataReport),r=this,i=[],o=!1,a=!1,s=[];n.validation&&(n.validation.blurry&&!0===n.validation.blurry&&(i.push(Gt.t("your picture quality is blurry")),o=!0),n.validation.eyeGlass&&!0===n.validation.eyeGlass&&(i.push(Gt.t("be wearing glasses")),a=!0),a&&s.push(Gt.t("please remove them")),o&&s.push(Gt.t("Improve photo quality")),e=Gt.t("We noticed you might")+" "+i.join(" "+Gt.t("and")+" ")+". "+Gt.t("for better results")+", "+s.join(" "+Gt.t("and")+" ")+"."),i.length>0?new Hn(t,(function(){r.submitData(n),t.dom.elModal.remove()}),(function(){r.back(),t.dom.elModal.remove()}),Gt.t("Tips for taking better selfies"),e,Gt.t("Continue"),Gt.t("Re-take")):this.submitData(n)}},{key:"submitData",value:function(e){var t=this,n=this.gl,r=this.co,i=this.pv.getValue(),o=n.formPages.find((function(e){return"imageAnalysis"===e.name}));r.showProducts||r.showRoutine?(n.dom.elPreviewImage.actionProducts=document.createElement("div"),Kt.setAttrs(n.dom.elPreviewImage.actionProducts,{class:"problems_products",style:i.copyRight&&"modal"!==r.displayModel?"position: absolute;z-index: 2;left: 10px;right: 10px;bottom: "+("widget"===r.displayModel?25:15)+"px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0;"}),new dr(n.dom.elPreviewImage.actionProducts,this.ctx,this.pv,e.problems,!0),n.dom.elPreviewImage.actionProducts.btn=document.createElement("button"),n.dom.elPreviewImage.actionProducts.btn.innerHTML=r.showProducts?Gt.t("Get recommended products!"):Gt.t("Generate routines for you"),Kt.setAttrs(n.dom.elPreviewImage.actionProducts.btn,{class:"recommended_products"}),n.dom.elPreviewImage.actionProducts.appendChild(n.dom.elPreviewImage.actionProducts.btn),n.dom.elPreviewImage.imageLoad.appendChild(n.dom.elPreviewImage.actionProducts),n.dom.elPreviewImage.actionProducts.btn.addEventListener("click",(function(e){!n.showFinalForm&&o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0?new Nr(t.ctx,(function(e){n.formData=e,n.showFinalForm=!0,t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(e)}),(function(){n.showFinalForm=!0,t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(n.formData)})):t.showProductsPage()}))):new dr(n.dom.elPreviewImage.imageLoad,this.ctx,this.pv,e.problems),new mr(n.dom.elPreviewImage.boxrelative,n,this.co,e.problems),new kr(n.dom.elPreviewImage.imageLoad,this.ctx,e.validation),e.damagePercentage&&new yr(n.dom.elPreviewImage.imageLoad,n,this.co,e.damagePercentage);var a='<button class="FaceButtonBase-root FaceIconButton-root FaceInfoMode infoRepetition" style="'+("modal"===r.displayModel?"top: 10px;":"")+'" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 18.49L9.5 12.48L13.5 16.48L22 6.92001L20.59 5.51001L13.5 13.48L9.5 9.48001L2 16.99L3.5 18.49Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';if(n.dom.elPreviewImage.backico=document.createElement("div"),n.dom.elPreviewImage.backico.innerHTML='<button class="FaceButtonBase-root FaceIconButton-root FaceChangeBackMode backRepetition" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',n.dom.elPreviewImage.infoico=document.createElement("div"),n.dom.elPreviewImage.infoico.innerHTML=a,"modal"!==r.displayModel&&n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.backico),n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.infoico),n.dom.elPreviewImage.backico&&n.dom.elPreviewImage.backico.addEventListener("click",(function(){t.back(),n.onRefresh&&n.onRefresh()})),n.dom.elPreviewImage.infoico.addEventListener("click",(function(){new nr(t.ctx,t.dataReport)})),n.imageSubmit=this.image,n.getAdvisorData&&n.getAdvisorData(e.problems),!r.showProducts&&!r.showRoutine&&!n.showFinalForm&&o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0&&setTimeout((function(){n.showFinalForm||"preview"!==n.stepShow||new Nr(t.ctx,(function(e){n.formData=e,n.showFinalForm=!0,n.getActiveSelections&&n.getActiveSelections(e)}),(function(){n.showFinalForm=!0,n.getActiveSelections&&n.getActiveSelections(n.formData)}))}),5e3),n.onload){var s={points:{},image:this.image};e.problems.map((function(e){var t=e.key;switch(e.key){case"acne":t="acnes";break;case"darkCircle":t="dark_circle";break;case"deepWrinkles":t="deep_wrinkles";break;case"eyeBag":t="eye_bag";break;case"eyeWrinkles":t="eye_wrinkles";break;case"fineWrinkles":t="wrinkles"}s[t]=parseInt(e.number)})),n.onload(s)}}},{key:"showProductsPage",value:function(){this.co.showProducts?(this.gl.statusProductDimension=!0,new lr(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport)):this.co.showRoutine&&(this.gl.statusRoutinDimension=!0,new or(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport))}}])&&zr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ur(e){return Ur="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},Ur(e)}function Hr(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,qr(r.key),r)}}function Yr(e,t,n){return(t=qr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qr(e){var t=function(e,t){if("object"!==Ur(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Ur(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ur(t)?t:String(t)}var Jr=function(){function e(t,n,r,i,o,a,s,l){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Yr(this,"dataReport",null),Yr(this,"wrinklesPoint",null),Yr(this,"eyeWrinklesPoint",null),Yr(this,"darkCirclePoint",null),Yr(this,"pigmentPoint",null),Yr(this,"deepWrinklesPoint",null),Yr(this,"eyeBagPoint",null),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.image=i,this.width=o,this.height=a,this.back=s,this.onSet=l,this.valus={},this.required=[],this.submitData=this.submitData.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elPreviewImage=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage,{class:"imageSubmit"}),t.dom.elPreviewImage.imageLoad=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad,{class:"imageLoad",style:"max-height: "+this.height+"px"}),t.dom.elPreviewImage.fix=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.fix,{style:"display: flex; justify-content: center;"}),t.dom.elPreviewImage.boxrelative=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.boxrelative,{style:"position: relative; background: #000;"}),t.dom.elPreviewImage.fix.appendChild(t.dom.elPreviewImage.boxrelative),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.fix),t.dom.elPreviewImage.appendChild(t.dom.elPreviewImage.imageLoad),this.el.appendChild(t.dom.elPreviewImage),this.resizeBase64Img(this.image).then((function(t){e.image=t,fetch(e.image).then((function(e){return e.blob()})).then((function(t){if(t.size<=1e3)return e.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1;e.showUserData()}))})).catch((function(){return e.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1}))}},{key:"showUserData",value:function(){var e=this,t=this.gl,n=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(!n.afterAnalysis&&n.content&&n.content.elements&&n.content.elements.length>0){t.formData||(t.formData={});var r='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';t.dom.elPreviewImage.preview=document.createElement("div"),t.dom.elPreviewImage.preview.innerHTML=r,t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.preview),new Nr(this.ctx,(function(n){t.formData=n,e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(n)}),(function(){e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(t.formData)}))}else this.showPreview(),this.submitSkinAnalyze(this.image)}},{key:"showPreview",value:function(){var e=this.gl;e.dom.elPreviewImage.boxrelative.innerHTML="";var t='<div style="position: relative"><div class="loader_preview_image"><div class="face_loader_text"><ul class="content__container__list"><li class="content__container__list__item">'+Gt.t("Sending Facial Data...")+'</li><li class="content__container__list__item">'+Gt.t("Scanning Face...")+'</li><li class="content__container__list__item">'+Gt.t("Analyzing Facial Attributes...")+'</li><li class="content__container__list__item">'+Gt.t("AI Crafting Report..")+'</li></ul></div><div class="bounding_box" style="display: none"><div class="face_loader face_loader-2"><div class="loader-circles"></div><div class="loader-diamond"></div><div class="loader-groove"></div></div></div></div><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';e.dom.elPreviewImage.preview=document.createElement("div"),e.dom.elPreviewImage.preview.innerHTML=t,e.dom.elPreviewImage.boxrelative.appendChild(e.dom.elPreviewImage.preview),e.dom.elPreviewImage.preview.image=e.dom.elPreviewImage.preview.getElementsByClassName("image_face_preview")[0],e.dom.elPreviewImage.preview.boundingBox=e.dom.elPreviewImage.preview.getElementsByClassName("bounding_box")[0];var n=this;new Rn(e.dom.elPreviewImage.preview.image,null,null,this.width,this.height,(function(e){return n.showCropMode(e)}),(function(){return n.loadingDetection()}),null,"image")}},{key:"showCropMode",value:function(e){var t=this.gl,n=e[0];if(!n)return null;Kt.setAttrs(t.dom.elPreviewImage.preview.boundingBox,{style:"position: absolute; top: "+100*n.yCenter+"%; left: "+100*n.xCenter+"%; width: "+100*n.width+"%; height: "+100*n.height+"%; z-index: 99999999; display: block"})}},{key:"loadingDetection",value:function(){this.gl}},{key:"submitSkinAnalyze",value:function(e){var t=this,n=this.gl,r=this.co;return new Promise((function(i,o){var a=t;fetch(e).then((function(e){return e.blob()})).then((function(e){var i;if(e.size<=1e3)return t.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1;var o=new File([e],Math.random()+".jpeg",{type:"image/jpeg"}),s=new FormData;s.append("file",o),n.formData&&s.append("form",JSON.stringify(n.formData)),r.problems.length>0&&s.append("problem",r.problems.join(",")),s.append("faceageId",n.faceageId),null===(i=Ze.request("POST","skinanalyze",s,{"Content-Type":"multipart/form-data"}))||void 0===i||i.then((function(e){e.data.message?(a.onSet&&a.onSet(!1),console.error(e.data.message)):e.data.data.problems?(n.skinAnalyzeData=e.data.data,a.onSet&&a.onSet(!0),a.submitData(e.data.data)):(a.onSet&&a.onSet(!1),console.error("There is a problem processing your image from our service side."))})).catch((function(e){a.onSet&&a.onSet(!1);var n=[];if(e.response&&e.response.data.message&&422===e.response.status)if(e.response.data.errors){var r=e.response.data.errors;Object.keys(r).forEach((function(e){r[e][0]?n.push(r[e][0]):n.push(r[e])}))}else n.push(e.response.data.message);else n.push(e.message);t.errorSkinAnalyze(n.join(", "))}))}))}))}},{key:"submitData",value:function(e){var t=this.gl;t.dom.elPreviewImage.boxrelative.innerHTML="",t.dom.elPreviewImage.finalImage=document.createElement("img"),Kt.setAttrs(t.dom.elPreviewImage.finalImage,{id:"face_age_analyzer_image_server",class:"face_age_analyzer_image_server",src:this.image,style:"width: auto; height: "+this.height+"px; max-height: "+this.height+"px; position: relative; opacity: 0.95"}),t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.finalImage),this.dataReport=e,new Wr(t,this.ctx,this.pv,this.image,e,this.back)}},{key:"errorSkinAnalyze",value:function(e){var t=this,n=this.gl;n.dom.elPreviewImage.boxrelative.innerHTML="";var r='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';n.dom.elPreviewImage.preview=document.createElement("div"),n.dom.elPreviewImage.preview.innerHTML=r,n.dom.elPreviewImage.boxrelative.appendChild(n.dom.elPreviewImage.preview),new Hn(n,null,(function(){t.back()}),Gt.t("Error"),e,"",Gt.t("Re-take"))}},{key:"updateDimension",value:function(){var e=this.gl,t=this.co,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elPreviewImage&&e.dom.elPreviewImage.finalImage&&(e.dom.elPreviewImage.finalImage.style.height=this.height+"px",e.dom.elPreviewImage.finalImage.style.maxHeight=this.height+"px"),e.dom.elPreviewImage&&e.dom.elPreviewImage.preview.image&&(e.dom.elPreviewImage.preview.image.style.height=this.height+"px",e.dom.elPreviewImage.preview.image.style.maxHeight=this.height+"px")}},{key:"resizeBase64Img",value:function(e,t){return new Promise((function(t,n){var r=new Image;r.src=e,r.onload=function(){var n=r.width,i=r.height;if(n>1e3){var o=i/n;i=(n=1e3)*o;var a=document.createElement("canvas");a.width=n,a.height=i,a.getContext("2d").drawImage(r,0,0,n,i);var s=a.toDataURL("image/jpeg",.9);t(s)}else t(e)},r.onerror=function(e){n("Error loading convert image:",e)}}))}}])&&Hr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Vr(e){return Vr="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},Vr(e)}function $r(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,(void 0,i=function(e,t){if("object"!==Vr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Vr(i)?i:String(i)),r)}var i}var Kr=function(){function e(t,n,r){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.cnf=r,this.stepShow="",this.show=i,this.bottom=5,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl,n=this.cnf;if(console.log(n.displayModel),!this.show)return null;var r=5,i=document.createElement("div");Kt.setAttrs(i,{style:"position: absolute; bottom: "+r+"px; left: 0px; right: 0px; text-align: center; font-size: 10px; color: #ffffffa8; z-index: 999999999;text-shadow: 0px 1px 0px #00000075;"}),i.innerHTML=Gt.t("Powered by")+' <a href="https://getfaceage.com/" target="_blank" style="color: #ffffffa8; text-decoration: none">Face Age</a>',this.el.appendChild(i),"widget"===n.displayModel&&setInterval((function(){if(e.stepShow!==t.stepShow){switch(t.stepShow){case"intro":r=45;break;case"quiz":r=50;break;default:r=5}i.style.bottom=r+"px",e.stepShow=t.stepShow}}),100)}}])&&$r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Zr(e){return Zr="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},Zr(e)}function Xr(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,ei(r.key),r)}}function Qr(e,t,n){return(t=ei(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ei(e){var t=function(e,t){if("object"!==Zr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Zr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Zr(t)?t:String(t)}var ti=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Qr(this,"loading",!1),Qr(this,"width",360),Qr(this,"height",480),this.ctx=n,this.pv=r,this.w=n.w,this.el=t,this.onSet=i,this.updateDimension=this.updateDimension.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleBack=this.handleBack.bind(this),this.restart=this.restart.bind(this),this.callBack=this.callBack.bind(this),this.getCurrentDimension=this.getCurrentDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;this.screenSize=this.getCurrentDimension(),this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elFace=document.createElement("div"),Kt.setAttrs(t.dom.elFace,{id:"analyzer_box",class:"face_age",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.stepShow="upload",t.dom.elFace.analyzer=document.createElement("div"),Kt.setAttrs(t.dom.elFace.analyzer,{id:"face_age_analyzer",class:"talosFaceSkin",style:"width: "+this.width+"px; height: "+this.height+"px; background-color: #fff"}),this.showAnalyzer(t,n),"modal"===n.displayModel?(new dn(t.dom.elFace,this.ctx,this.pv,null,(function(){t.dom.elFace.remove(),"preview"===t.stepShow?(t.imageWebCam=null,new ii(t.dom.docIframe,e.ctx,e.pv)):(t.intro=!0,n.intro=!0,t.imageWebCam=null,new ii(t.dom.docIframe,e.ctx,e.pv))})),Kt.setAttrs(t.dom.elFace,{style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),t.dom.elFaceModal=document.createElement("div"),Kt.setAttrs(t.dom.elFaceModal,{class:"face_age_mo_main",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.dom.elFaceModal.appendChild(t.dom.elFace.analyzer),t.dom.elFace.appendChild(t.dom.elFaceModal)):t.dom.elFace.appendChild(t.dom.elFace.analyzer),this.el.appendChild(t.dom.elFace)}},{key:"showAnalyzer",value:function(e,t){e.dom.elFace.analyzer.innerHTML="",!t.showCamera||e.activeInput&&"camera"!==e.activeInput?this.showUpload(e.dom.elFace.analyzer,e,t):this.showWebCam(e.dom.elFace.analyzer,e,t)}},{key:"showWebCam",value:function(e,t,n){var r=this;if(t.dom.webcamShow=new Nn(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showUpload){t.dom.showUploadAction=document.createElement("div"),Kt.setAttrs(t.dom.showUploadAction,{class:"faceAction"});var i="modal"!==n.displayModel?'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>':"";t.dom.showUploadAction.innerHTML=i+'<button class="FaceButtonBase-root FaceChangeMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showUploadAction);var o=e.querySelector(".FaceChangeMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.activeInput="upload",r.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.skinAnalyzeData=[],t.dom.elFace.remove(),t.intro=!0,n.intro=!0,new ii(t.dom.docIframe,r.ctx,r.pv)}))}}},{key:"showUpload",value:function(e,t,n){var r=this;if(new $n(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showCamera){t.dom.showCameraAction=document.createElement("div"),Kt.setAttrs(t.dom.showCameraAction,{class:"faceAction"});var i="modal"===n.displayModel||n.showUpload?"":'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';t.dom.showCameraAction.innerHTML=i+'<button class="FaceButtonBase-root FaceChangeWebcamMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h4.05l1.83-2h4.24l1.83 2H20v12zM12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0 8c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showCameraAction);var o=e.querySelector(".FaceChangeWebcamMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.activeInput="camera",r.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){t.dom.elFace.remove(),t.imageWebCam=null,t.skinAnalyzeData=[],r.el.innerHTML="",t.intro=!0,n.intro=!0,new ii(t.dom.docIframe,r.ctx,r.pv)}))}}},{key:"handleBack",value:function(){var e=this.w.globals,t=this.w.config;e.imageWebCam=null,this.showAnalyzer(e,t)}},{key:"handleSubmit",value:function(e){var t=this.w.globals;t.dom.elFace.analyzer.innerHTML="",t.stepShow="preview",new Jr(t.dom.elFace.analyzer,this.ctx,this.pv,e,this.width,this.height,this.restart,this.callBack)}},{key:"restart",value:function(){var e=this.w.globals;e.imageWebCam=null,e.skinAnalyzeData=[];var t=this.pv.getValue();this.el.innerHTML="",this.onSet&&this.onSet(),this.render(),this.showFaceAge(t.copyRight)}},{key:"callBack",value:function(e){var t=this.w.globals;e&&t.skinAnalyzeData&&this.onSet&&this.onSet(t.skinAnalyzeData)}},{key:"getCurrentDimension",value:function(){return{width:"undefined"==typeof window?0:window.innerWidth,height:"undefined"==typeof window?0:window.innerHeight}}},{key:"updateDimension",value:function(){var e=this.w.globals,t=this.w.config,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,"widget"===t.displayModel&&(e.dom.elIframe.style.height=this.height+"px"),e.dom.elFace&&e.dom.elFace.analyzer&&(e.dom.elFace.analyzer.style.width=this.width+"px",e.dom.elFace.analyzer.style.height=this.height+"px")}},{key:"showFaceAge",value:function(e){var t=this.w.globals,n=this.w.config;new Kr(t.dom.docIframe,t,n,e)}}])&&Xr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ni(e){return ni="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},ni(e)}function ri(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,(void 0,i=function(e,t){if("object"!==ni(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ni(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ni(i)?i:String(i)),r)}var i}var ii=function(){function e(t,n,r){var i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.valus=null!==(i=this.gl.formData)&&void 0!==i?i:{},this.required=[],this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config;if(Object.keys(this.valus).length<=0&&r.defaultQuiz&&Xt().map(r.defaultQuiz,(function(t,n){e.valus[n]=t})),n.formPages){var i=!1;n.formPages.map((function(e){"imageAnalysis"===e.name&&(i=!0)})),i||n.formPages.push({name:"imageAnalysis"})}else n.formPages=[{name:"imageAnalysis"}];r.quiz?(n.dom.elForm=document.createElement("div"),Kt.setAttrs(n.dom.elForm,{class:"face_age_form "+r.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center; background-position: center;background-size: cover; border-radius: 14px;"}),t.appendChild(n.dom.elForm),this.showQuiz(n.activeQuiz)):this.showFaceSkin()}},{key:"showQuiz",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=this.w.globals,i=this.w.config,o=r.formPages[n];if(!o)return null;if("imageAnalysis"===o.name)return r.dom.elForm.remove(),this.showFaceSkin(),(!o.content||!o.content.elements&&o.content.elements.length<=0)&&r.getActiveSelections&&r.getActiveSelections(r.formData),null;if(r.stepShow="quiz",o.if&&o.if.key&&o.if.condition&&o.if.value&&!this.checkIf(this.valus[o.if.key],o.if.condition,o.if.value))return this.onSubmit(o),null;var a=o.title?'<div class="title">'+Gt.t(o.title)+"</div>":"",s=(o.content&&o.content.elements,"");this.required=[],o.content.actions&&o.content.actions.map((function(e){s+='<div role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg '+("goToNext"===e.onAction?"disabale":"")+" "+e.onAction+'">'+Gt.t(e.label)+"</div>"}));var l='<div class="form_window"><div class="toolbar"></div><div class="box_title">'+("modal"!==i.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+a+'</div><div class="elements"></div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+s+"</div></div></div>",c="auto 0px";switch(o.position){case"top":c="10px auto";break;case"center":c="auto 0px";break;case"bottom":c="auto auto 15px"}r.dom.elForm.box=document.createElement("div"),Kt.setAttrs(r.dom.elForm.box,{style:"width: 100%;"+("widget"!==i.displayModel?"margin: "+c+";":"")}),r.dom.elForm.box.innerHTML=l,r.dom.elForm.elements=r.dom.elForm.box.getElementsByClassName("elements")[0],r.dom.elForm.goBack=r.dom.elForm.box.querySelector(".goBack");var u=!0;o.content&&o.content.elements&&o.content.elements.map((function(e){if(e.if&&e.if.key&&e.if.condition&&e.if.value&&!t.checkIf(t.valus[e.if.key],e.if.condition,e.if.value))return!1;e.required&&t.required.push(e.name),e.required&&!t.valus[e.name]&&(u=!1),new Fr(r.dom.elForm.elements,r,e,t.valus,(function(e,n){return t.setData(e,n)}))})),r.dom.elForm.toolbar=r.dom.elForm.box.getElementsByClassName("toolbar")[0],r.dom.elForm.toolbar&&(0!==r.activeQuiz||r.formPages.length>=r.activeQuiz)&&(r.dom.elForm.back=document.createElement("div"),Kt.setAttrs(r.dom.elForm.back,{class:"back;"}),r.dom.elForm.toolbar.appendChild(r.dom.elForm.back)),r.dom.elForm.box.getElementsByClassName("goToNext")&&(r.dom.elForm.goToNext=r.dom.elForm.box.getElementsByClassName("goToNext")[0],r.dom.elForm.goToNext&&(this.required.length<=0&&r.dom.elForm.goToNext.classList.remove("disabale"),r.dom.elForm.goToNext.addEventListener("click",(function(e){t.onSubmit(o)}))),r.dom.elForm.goToNext&&u&&r.dom.elForm.goToNext.classList.remove("disabale")),r.dom.elForm.box.getElementsByClassName("goToSkip")&&(r.dom.elForm.goToSkip=r.dom.elForm.box.getElementsByClassName("goToSkip")[0],r.dom.elForm.goToSkip&&r.dom.elForm.goToSkip.addEventListener("click",(function(e){}))),r.dom.elForm.box.getElementsByClassName("goToSkip")&&(r.dom.elForm.goToSkip=r.dom.elForm.box.getElementsByClassName("goToSkip")[0],r.dom.elForm.goToSkip&&r.dom.elForm.goToSkip.addEventListener("click",(function(n){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz+1,new e(r.dom.docIframe,t.ctx,t.pv)}))),r.dom.elForm.innerHTML="","modal"===i.displayModel?new dn(r.dom.elForm,this.ctx,this.pv,null,r.activeQuiz>0&&r.formPages.length>1?function(){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz-1>0?r.activeQuiz-1:0,new e(r.dom.docIframe,t.ctx,t.pv)}:null,r.activeQuiz>0):r.dom.elForm.goBack&&(r.activeQuiz>0&&r.formPages.length>1?r.dom.elForm.goBack.addEventListener("click",(function(n){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz-1>0?r.activeQuiz-1:0,new e(r.dom.docIframe,t.ctx,t.pv)})):r.dom.elForm.goBack.remove()),"widget"!==i.displayModel&&(o.background_color?r.dom.elForm.style.backgroundColor=o.background_color:r.dom.elForm.style.backgroundColor="",o.background_image?r.dom.elForm.style.backgroundImage='url("'+o.background_image+'")':r.dom.elForm.style.backgroundImage=""),r.dom.elForm.appendChild(r.dom.elForm.box)}},{key:"setData",value:function(e,t){var n=this,r=this.w.globals;if(this.valus[t]=e,r.dom.elForm.goToNext){var i=!0;this.required.map((function(e){n.valus[e]||(i=!1)})),i?r.dom.elForm.goToNext.classList.remove("disabale"):r.dom.elForm.goToNext.classList.add("disabale")}}},{key:"checkIf",value:function(e,t,n){switch(t){case"=":if(e===n)return!0;break;case"!=":if(e!==n)return!0}return!1}},{key:"onSubmit",value:function(e){var t=this,n=this.w.globals;if(this.required.length>0&&!this.required.find((function(e){return t.valus[e]})))return!1;e.content.elements.map((function(e){var t=n.dom.elForm.elements.querySelector('.el_box[data-name="'+e.name+'"]');if(t){var r=t.querySelector(".err");r&&r.remove()}}));var r=Dr(e.content.elements,this.valus);if(r)return r.map((function(e,t){Xt().map(e.errors,(function(e,t){var r=n.dom.elForm.elements.querySelector('.el_box[data-name="'+t+'"]');if(r){var i=document.createElement("p");Kt.setAttrs(i,{class:"err"}),i.innerText=e,r.appendChild(i)}}))})),!1;n.activeQuiz+=1,this.showQuiz(n.activeQuiz),n.formData=this.valus}},{key:"showFaceSkin",value:function(){var e=this,t=this.w.globals,n=this.w.config;t.dom.elForm&&t.dom.elForm.remove(),n.type,n.intro?(t.stepShow="intro",new bn(t.dom.docIframe,this.ctx,this.pv),t.dom.elInfo.btn.addEventListener("click",(function(r){if(t.stepShow="upload",!t.privacy)return null;t.dom.elInfo.btn.style.opacity="0.5",t.intro=!1,n.intro=!1,t.dom.elInfo.remove(),new ti(t.dom.docIframe,e.ctx,e.pv)}))):(t.intro=!1,n.intro=!1,new ti(t.dom.docIframe,this.ctx,this.pv));var r=t.formPages.find((function(e){return"imageAnalysis"===e.name}));r&&r.background_color?t.dom.docIframe.style.backgroundColor=r.background_color:t.dom.docIframe.style.backgroundColor="#ffe5f0;",r&&r.background_image?t.dom.docIframe.style.backgroundImage='url("'+r.background_image+'")':t.dom.docIframe.style.backgroundImage=""}},{key:"setCookie",value:function(e,t,n){var r=new Date;r.setTime(r.getTime()+24*n*60*60*1e3);var i="expires="+r.toUTCString();document.cookie=e+"="+t+";"+i+";path=/"}},{key:"getCookie",value:function(e){for(var t=e+"=",n=decodeURIComponent(document.cookie).split(";"),r=0;r<n.length;r++){for(var i=n[r];" "==i.charAt(0);)i=i.substring(1);if(0==i.indexOf(t))return i.substring(t.length,i.length)}return""}}],n&&ri(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function oi(e){return oi="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},oi(e)}function ai(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,si(r.key),r)}}function si(e){var t=function(e,t){if("object"!==oi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==oi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===oi(t)?t:String(t)}var li=function(){function e(t,n){var r,i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r=this,(i=si(i="showModel"))in r?Object.defineProperty(r,i,{value:false,enumerable:!0,configurable:!0,writable:!0}):r[i]=false,this.ctx=n,this.w=n.w,this.el=t,this.pv=new gn}var t,n;return t=e,(n=[{key:"setupElements",value:function(){var e=this.w.globals,t=this.w.config;t.type,t.arrTypes,e.faceClass=".faceAge-"+e.faceID,e.dom.elWrap=document.createElement("div"),Kt.setAttrs(e.dom.elWrap,{id:e.faceClass.substring(1),class:"faceAge-main-module "+e.faceClass.substring(1)}),"modal"===t.displayModel?(e.dom.elModalMain=document.createElement("div"),Kt.setAttrs(e.dom.elModalMain,{id:"face-age-plugin"}),e.dom.elModalButtonMessage=document.createElement("div"),Kt.setAttrs(e.dom.elModalButtonMessage,{id:"face-age-message-bubbles",style:"background-color: white;\n color: black;\n box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;\n border-radius: 10px;\n padding: 15px;\n margin: 8px;\n font-size: 14px;\n opacity: 1;\n transform: scale(1);\n transition: opacity 0.5s, transform 0.5s;\n position: fixed;\n border-radius: 10px;\n font-family: sans-serif;\n z-index: 9998;\n cursor: pointer;\n flex-direction: column;\n gap: 50px;\n max-width: 70vw;\n display: block;\n right: auto;\n bottom: 89px;\n left: 15px; text-transform: capitalize; display: none;"}),e.dom.elModalButtonMessage.innerHTML='<div class="text">'+Gt.t("Skin Analysis")+"</div>",e.dom.elModalMain.appendChild(e.dom.elModalButtonMessage),e.dom.elModalButtonMessage.text=e.dom.elModalButtonMessage.querySelector(".text"),e.dom.elModalButton=document.createElement("button"),Kt.setAttrs(e.dom.elModalButton,{id:"face-age-button",style:"opacity: 0; display: none;"}),e.dom.elModalButton.innerHTML='<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 245.26 245.26">\n <defs>\n <style>\n .cls-5 {\n fill: #fff;\n }\n\n .cls-6 {\n stroke-width: 2px;\n }\n\n .cls-6, .cls-7 {\n fill: none;\n stroke-miterlimit: 10;\n }\n\n .cls-7 {\n stroke: #fff;\n }\n </style>\n </defs>\n <circle class="cls-1" cx="121.97" cy="123.39" r="121.42"/>\n <circle class="cls-1" cx="122.63" cy="122.63" r="122.63"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="107.34"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="114.38"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="99.42"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="91.5"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="83.58"/>\n <path class="cls-5" d="M84.54,239.14l1.53,.57,4.51,1.31,7.9,1.85,12.53,1.83,6.93,.46,3.76,.09,4.77-.06,4.65-.33c1.27-.07,2.54-.16,3.8-.27h.17s.11-.03,.11-.03c3.91-.36,7.8-.89,11.58-1.58,.19-.03,.37-.07,.56-.1h0c7.57-1.38,12.35-2.36,19.59-5.37,.67-.28,3.34-1.71,4-2-18.9-5.53-34.77-18.14-45.57-34.61,22.88,5.7,47.18,5.64,70.03-.17,.72-22.29,1.43-44.58,2.15-66.86,1.44-44.76-19.65-89.68-55-117.16-2.16,24.13-9.81,48.02-23.91,67.72-14.1,19.7-34.66,33.5-58.26,38.98,2.57-3.39,2.56-6.92,.31-10.53-2.25-3.61-6.83-5.6-11-4.78-4.24,.83-7.64,4.27-9.34,8.24s-1.92,8.43-1.65,12.74c.44,7.07,2.54,14.7,8.36,18.74,8.15,5.66,19.42,1.86,29.06,4.22,7.72,1.89,14.07,7.84,17.58,14.97,3.5,7.13,4.39,15.33,3.75,23.26-.62,7.71-2.94,15.38-6.51,22.48-4.29,8.54-10.38,16.27-17.49,22.28l.72,.27"/>\n <g>\n <path class="cls-1" d="M182.36,68.85c-4.09-2.6-9.86-2.41-13.22,.95-1.74,1.57-2.97,3.64-3.81,5.83-.84,2.21-1.35,4.54-1.63,6.91-.56,4.74-.22,9.54,.66,14.26,.86,4.73,2.08,9.42,3.5,14.04,1.38,4.64,2.99,9.2,4.6,13.81,.78,2.31,1.54,4.67,2.04,7.12,.52,2.44,.7,4.98,.52,7.47-.19,2.48-.59,4.97-1.52,7.33-.47,1.17-1.04,2.31-1.79,3.35s-1.65,1.94-2.65,2.71c-2.01,1.53-4.36,2.5-6.78,2.99-1.21,.25-2.44,.39-3.67,.37-1.23-.03-2.45-.2-3.63-.5,2.41,.41,4.86,.26,7.17-.38,2.31-.62,4.5-1.7,6.28-3.24,.89-.76,1.69-1.63,2.32-2.6,.64-.97,1.12-2.04,1.5-3.15,.76-2.22,1.09-4.59,1.19-6.96,.08-2.37-.15-4.72-.68-7.03-.52-2.31-1.3-4.59-2.11-6.86-1.65-4.56-3.3-9.17-4.72-13.85-1.4-4.69-2.62-9.44-3.45-14.3-.8-4.85-1.12-9.88-.34-14.79,.38-2.45,.96-4.89,1.96-7.2,1-2.29,2.41-4.47,4.38-6.08,.97-.8,2.07-1.47,3.27-1.89,1.19-.43,2.45-.6,3.69-.61,1.24,.01,2.48,.19,3.65,.58,1.2,.4,2.3,.98,3.27,1.72Z"/>\n <path class="cls-1" d="M164,104.51c1.82-1.19,3.81-2.08,5.85-2.81,2.04-.74,4.15-1.26,6.27-1.66,2.13-.37,4.28-.62,6.44-.66,2.16-.06,4.32,.03,6.46,.4-2.12,.47-4.22,.81-6.32,1.15-2.09,.36-4.17,.69-6.24,1.08-2.08,.35-4.13,.78-6.21,1.19-2.05,.42-4.12,.89-6.25,1.31Z"/>\n </g>\n <path class="cls-1" d="M142.64,16.5c-1.02,23.41-6.03,49.01-20.74,67.79-14.72,18.77-38.1,31.07-61.36,38.66,3.42-6.35,.84-13.15-6.63-13.73-7.35-.57-13.66,6.01-14.83,12.96-1.17,6.93,1.52,13.92,4.7,20.26,1.29,2.56,2.74,5.16,5.07,6.93,6.08,4.63,14.96,1.79,22.72,2.37,10.2,.76,19.08,8.09,23.11,17.06,4.03,8.96,3.77,19.28,1.26,28.73-2.52,9.46-7.15,18.27-11.75,27-1.67,3.16-2.34,9.12-5.74,10.49-5.16,2.07-14.18-3.42-20.27-8.23C8.03,187.2-17.79,108.26,20.01,52.51,38.87,24.69,72.04,2.94,107.51,4.91c4.74,.26,9.45,1.02,14.01,2.35,8.95,2.62,12.87,3.72,21.12,9.24"/>\n <g>\n <line class="cls-6" x1="26.69" y1="177.24" x2="112.73" y2="152.19"/>\n <path class="cls-6" d="M50.65,192.49c4.76-1.59,9.52-3.17,14.28-4.76,3.63-1.21,7.26-2.42,10.9-3.63,2.21-.74,6.3-2.95,8.56-2.12,5.13,1.88,10.24,3.79,15.36,5.67,2.63,.97,3.92,1.7,6.56,.78,9.76-3.38,19.53-6.73,29.29-10.1"/>\n <path class="cls-6" d="M38.67,155.46c4.82-1.39,9.64-2.77,14.47-4.16,3.68-1.06,7.36-2.11,11.04-3.17,2.24-.64,6.86-1.13,8.26-3.1,3.17-4.45,6.3-8.92,9.46-13.37,1.62-2.29,2.27-3.62,4.96-4.36,9.96-2.73,19.91-5.5,29.87-8.25"/>\n </g>\n <circle class="cls-5" cx="26.59" cy="177.17" r="2.72"/>\n <circle class="cls-5" cx="50.75" cy="192.44" r="2.72"/>\n <circle class="cls-5" cx="38.67" cy="155.51" r="2.72"/>\n <path class="cls-5" d="M88.45,240l-15-5c11-1,24-44.75,24-44.75h0c3.67,3.92,7.33,7.84,11,11.75"/>\n <polyline class="cls-5" points="112.45 243 142.64 243.62 135.8 244.5 130.66 245.02 125.15 245.25 114.18 244.96 105.95 244.13 99.35 243 95.23 242.23 92.32 241.47"/>\n</svg>',e.dom.elModalButton.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalButtonMessage.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalMain.appendChild(e.dom.elModalButton),e.dom.elModalFace=document.createElement("div"),Kt.setAttrs(e.dom.elModalFace,{id:"face-age-modal","aria-hidden":"false"}),e.dom.elModalOverlay=document.createElement("div"),Kt.setAttrs(e.dom.elModalOverlay,{id:"face-age-overlay"}),Kt.setAttrs(e.dom.elWrap,{class:"face-age-dialog faceAge-main-module "+e.faceClass.substring(1),role:"dialog"}),e.dom.elModalOverlay.appendChild(e.dom.elWrap),e.dom.elModalFace.appendChild(e.dom.elModalOverlay),e.dom.elModalMain.appendChild(e.dom.elModalFace),this.el.appendChild(e.dom.elModalMain),this.setCustomModalCss()):this.el.appendChild(e.dom.elWrap),this.setIframe(),this.authorize()}},{key:"setIframe",value:function(){var e,t,n=this.w.globals,r=this.w.config;"widget"===r.displayModel?-1===(e=r.iframeWidth||n.iframeWidth).indexOf("%")?t=parseInt(e)/3*4+"px":(t=n.dom.elWrap.clientWidth*(parseInt(e)/100)/3*4+"px")<320&&(t=320):"section"===r.displayModel?(e="100%",t=r.iframeHeight||n.iframeHeight):(e="100%",t="100%"),n.dom.elIframe=document.createElement("iframe"),Kt.setAttrs(n.dom.elIframe,{id:"FaceAge-module-iframe",title:"Face Age Skincare Advisor",allow:"geolocation *; microphone *; camera *",style:"modal"!==r.displayModel?"border: 0px; margin: 0px; padding: 0px; min-width: "+e+"; min-height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0;":"border: 0px; margin: 0px; padding: 0px; width: "+e+"; height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0; border: none; background: transparent;"}),n.dom.elWrap.appendChild(n.dom.elIframe),n.dom.docIframe=n.dom.elIframe.contentDocument.body,n.dom.headIframe=n.dom.elIframe.contentDocument.head,Kt.setAttrs(n.dom.docIframe,{id:"faceAge-module-body",class:r.displayModel,style:"margin:0;padding:0;overflow:hidden;"+("widget"!==r.displayModel?"background-color: #fff;":"")});var i=document.createElement("meta");i.name="viewport",i.content="width=device-width, initial-scale=1.0",n.dom.headIframe.appendChild(i);var o=document.createElement("link");o.id="inter-font",o.rel="stylesheet",o.type="text/css",o.media="all",o.href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap",n.dom.headIframe.appendChild(o);var a=document.createElement("link");a.id="roboto-mono-font",a.rel="stylesheet",a.type="text/css",a.media="all",a.href="https://fonts.googleapis.com/css?family=Roboto+Mono|Roboto+Slab|Roboto:300,400,500,700&display=optional",n.dom.headIframe.appendChild(a);var s=document.createElement("link");s.rel="stylesheet",s.href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css",n.dom.headIframe.appendChild(s);var l=document.createElement("link");l.id="face-age-css",l.rel="stylesheet",l.type="text/css",l.media="all",l.href="https://static.getfaceage.com/v2.0/faceage.css",n.dom.headIframe.appendChild(l);var c=document.createElement("script");c.src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js",n.dom.headIframe.appendChild(c);var u=document.createElement("script");u.src="https://cdn.jsdelivr.net/npm/chart.js",n.dom.headIframe.appendChild(u),n.dom.elIframe.contentDocument.getElementById("face-age-css").addEventListener("load",(function(){n.dom.elIframe.style.opacity=1})),n.dom.docIframe.loader=document.createElement("div"),n.dom.docIframe.loader.innerHTML='<div class="face_age"><div class="loading_request" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: #000"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',n.dom.docIframe.appendChild(n.dom.docIframe.loader)}},{key:"setElements",value:function(){var e,t,n,r,i,o,a,s,l,c,u,d,h,p,m,f,g,y,v,b,k,w,S,C,P,A,x,T,R,E,_,I,F,O,L,M,D,G,B,N,j=this.w.globals,z=this.w.config,W=this.pv.getValue();z.type,new ii(j.dom.docIframe,this.ctx,this.pv),this.showFaceAge(W.copyRight);var U=document.createElement("style");U.id="face-age-css-root",U.rel="stylesheet",U.type="text/css",U.media="all";var H=":root {\n --background: "+(null!==(e=null===(t=j.customTemplate)||void 0===t?void 0:t.background)&&void 0!==e?e:"#F9FAFC")+";\n --color: "+(null!==(n=null===(r=j.customTemplate)||void 0===r?void 0:r.color)&&void 0!==n?n:"#000")+";\n --divider: "+(null!==(i=null===(o=j.customTemplate)||void 0===o?void 0:o.color)&&void 0!==i?i:"#E6E8F0")+";\n --basic: "+(null!==(a=null===(s=j.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"rgba(239, 55, 134);")+";\n --error: "+(null!==(l=null===(c=j.customTemplate)||void 0===c?void 0:c.error)&&void 0!==l?l:"#da005c")+";\n --basic_action: "+(null!==(u=null===(d=j.customTemplate)||void 0===d?void 0:d.basic_action_color)&&void 0!==u?u:"rgb(239, 55, 134)")+";\n --color_action: "+(null!==(h=null===(p=j.customTemplate)||void 0===p?void 0:p.basic_action_text)&&void 0!==h?h:"#fff")+";\n --submit_action: "+(null!==(m=null===(f=j.customTemplate)||void 0===f?void 0:f.submit_action_color)&&void 0!==m?m:"rgb(8, 211, 144)")+";\n --circle_action: "+(null!==(g=null===(y=j.customTemplate)||void 0===y?void 0:y.circle_action)&&void 0!==g?g:"#fff")+";\n --color_circle_action: "+(null!==(v=null===(b=j.customTemplate)||void 0===b?void 0:b.color_circle_action)&&void 0!==v?v:"#000")+";\n --base_border_radius: "+(null!==(k=null===(w=j.customTemplate)||void 0===w?void 0:w.base_border_radius)&&void 0!==k?k:"40px")+";\n --base_border: "+(null!==(S=null===(C=j.customTemplate)||void 0===C?void 0:C.base_border)&&void 0!==S?S:"#ccc")+";\n --quiz_input_color: "+(null!==(P=null===(A=j.customTemplate)||void 0===A?void 0:A.quiz_input_color)&&void 0!==P?P:"rgb(200 200 200)")+";\n --background_upload_color: "+(null!==(x=null===(T=j.customTemplate)||void 0===T?void 0:T.background_upload_color)&&void 0!==x?x:"#fff0fb")+";\n --accepted_status: "+(null!==(R=null===(E=j.customTemplate)||void 0===E?void 0:E.position_accepted_status_color)&&void 0!==R?R:"rgb(8, 211, 144)")+";\n --not_accepted_status: "+(null!==(_=null===(I=j.customTemplate)||void 0===I?void 0:I.position_not_accepted_status_color)&&void 0!==_?_:"rgb(239, 55, 134)")+";\n --product_shadow: "+(null!==(F=null===(O=j.customTemplate)||void 0===O?void 0:O.product_shadow)&&void 0!==F?F:"0")+";\n --product_border: "+(null!==(L=null===(M=j.customTemplate)||void 0===M?void 0:M.product_border)&&void 0!==L?L:"rgb(200 200 200)")+";\n --product_padding: "+(null!==(D=null===(G=j.customTemplate)||void 0===G?void 0:G.product_padding)&&void 0!==D?D:"10")+";\n --product_action: "+(null!==(B=null===(N=j.customTemplate)||void 0===N?void 0:N.product_action_color)&&void 0!==B?B:"rgb(239, 55, 134)")+";\n}";U.styleSheet?U.styleSheet.cssText=H:U.appendChild(document.createTextNode(H)),j.dom.headIframe.appendChild(U)}},{key:"authorize",value:function(){var e,t=this,n=this.w.config.faceageId,r=this.w.globals,i=this.w.config;null===(e=Ze.request("post","authorize",{faceageId:n}))||void 0===e||e.then((function(e){var o,a;if(r.faceageId=n,r.authorize=e.data.data,r.formPages=[],r.customTemplate=null!==(o=e.data.data.template)&&void 0!==o?o:[],e.data.data.problems&&e.data.data.problems.length>0&&(r.problems=null!==(a=e.data.data.problems)&&void 0!==a?a:[]),e.data&&e.data.data.pages&&e.data.data.pages.map((function(e){"skincare"===i.type&&"skin_analyzer"===e.data.name&&(r.formPages=e.quiz)})),r.dom.docIframe.loader.remove(),t.pv.setValue("copyRight",!0),t.pv.setValue("license",!0),e.data.data.translation&&e.data.data.translation.length>0&&e.data.data.translation.map((function(e){var t={};e.words&&e.words.map((function(e){_.map(e,(function(e,n){n&&n.length>0&&e&&e.length>0&&(t[n]=e)}))})),Gt.addResources(e.lang,"translation",t)})),"modal"===i.displayModel){var s,l,c,u,d,h,p,m,f,g,y,v,b,k,w,S,C,P,A;r.dom.elModalButton.style.opacity=1,r.dom.elModalButton.style.display="block",r.authorize.name&&(r.dom.elModalButtonMessage.text.innerHTML=r.authorize.name+" "+Gt.t("Skin Analysis")),localStorage.getItem("face_message_modal")||setTimeout((function(){r.dom.elModalButtonMessage.style.display="block",localStorage.setItem("face_message_modal","true")}),2e3),r.dom.elModalButton.style.backgroundColor=null!==(s=null===(l=r.customTemplate)||void 0===l?void 0:l.base_color)&&void 0!==s?s:"rgba(239, 55, 134);",r.dom.elIframe.clientWidth>768?(r.dom.elModalButton.style.left=(null!==(u=null===(d=r.customTemplate)||void 0===d?void 0:d.position_show_desktop_tool_left_distance)&&void 0!==u?u:"24")+"px",r.dom.elModalButton.style.bottom=(null!==(h=null===(p=r.customTemplate)||void 0===p?void 0:p.position_show_desktop_tool_button_distance)&&void 0!==h?h:"24")+"px",r.dom.elModalButtonMessage.style.left=(null!==(m=(null===(f=r.customTemplate)||void 0===f?void 0:f.position_show_desktop_tool_left_distance)-9)&&void 0!==m?m:"15")+"px",r.dom.elModalButtonMessage.style.bottom=(null!==(g=(null===(y=r.customTemplate)||void 0===y?void 0:y.position_show_desktop_tool_button_distance)+65)&&void 0!==g?g:"89")+"px"):(r.dom.elModalButton.style.left=(null!==(v=null===(b=r.customTemplate)||void 0===b?void 0:b.position_show_mobile_tool_left_distance)&&void 0!==v?v:"24")+"px",r.dom.elModalButton.style.bottom=(null!==(k=null===(w=r.customTemplate)||void 0===w?void 0:w.position_show_mobile_tool_button_distance)&&void 0!==k?k:"24")+"px",r.dom.elModalButtonMessage.style.left=(null!==(S=(null===(C=r.customTemplate)||void 0===C?void 0:C.position_show_mobile_tool_left_distance)-9)&&void 0!==S?S:"15")+"px",r.dom.elModalButtonMessage.style.bottom=(null!==(P=(null===(A=r.customTemplate)||void 0===A?void 0:A.position_show_mobile_tool_button_distance)+65)&&void 0!==P?P:"89")+"px"),null!==(c=r.customTemplate)&&void 0!==c&&c.tools_icon&&(r.dom.elModalButton.innerHTML='<img alt="'+Gt.t("Skin Analysis")+'" src="'+r.customTemplate.tools_icon+'" />');var x=r.dom.elModalButton.querySelectorAll(".cls-1"),T=r.dom.elModalButton.querySelectorAll(".cls-6");x&&x.forEach((function(e){var t,n;e.style.fill=null!==(t=null===(n=r.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"})),T&&T.forEach((function(e){var t,n;e.style.stroke=null!==(t=null===(n=r.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"}))}t.setElements()})).catch((function(e){if(e.response&&e.response.data.message&&422===e.response.status){if(e.response.data.errors){var t=e.response.data.errors;Object.keys(t).forEach((function(e){if(t[e][0]){var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e][0]+"</div></div>";r.dom.docIframe.loader.innerHTML=n,console.error(t[e][0])}else{var i='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e]+"</div></div>";r.dom.docIframe.loader.innerHTML=i,console.error(t[e])}}))}else{var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+e.response.data.message+"</div></div>";r.dom.docIframe.loader.innerHTML=n,console.error(e.response.data.message)}"modal"===i.displayModel&&(r.dom.elModalButton.style.opacity=1)}else{var o=null!=e&&e.message?Gt.t(null==e?void 0:e.message):Gt.t("An error occurred, please check again"),a='<div class="face_age"><div class="loading_request" style="background: transparent">'+o+"</div></div>";r.dom.docIframe.loader.innerHTML=a,console.error(o)}}))}},{key:"showFaceAge",value:function(e){var t=this.w.globals,n=this.w.config;new Kr(t.dom.docIframe,t,n,e)}},{key:"setCustomModalCss",value:function(){this.w.globals;var e=document.createElement("style");e.id="face-age-styles",e.rel="stylesheet",e.type="text/css",e.media="all";var t='#face-age-button .cls-1{fill: #FB398D} #face-age-button .cls-6{stroke: #FB398D} #face-age-modal{display:none}#face-age-modal.is-open{display:block}#face-age-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:9999;background:rgba(0,0,0,0.2);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);will-change:opacity}.face-age-dialog{margin:0;padding:0;overflow:hidden;background-color:#333;width:100%;height:100%;will-change:transform}#face-age-modal[aria-hidden="false"] #face-age-overlay{-webkit-animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] #face-age-overlay{-webkit-animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1)}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1);animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1);animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1)}@media (min-width: 768px){.face-age-dialog{width:90%;height:90%;box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.2);max-width:1140px;max-height:800px;border-radius:10px}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1)}}#face-age-button{opacity: 0;width:60px;height:60px;box-shadow:none;border-style:none;top:auto;right:auto;bottom:24px;position:fixed;border-radius:50%;background-color:rgba(239,55,134);left:24px;color:#FFF;margin:0;padding:0;z-index:9998;will-change:opacity;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center}#face-age-button > img{max-height:100%;max-width:100%;box-sizing:border-box}#face-age-button:hover{opacity:.9}@-webkit-keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@-webkit-keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@-webkit-keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}#face-age-button > img{display:block;padding:10px}#face-age-button > span{display:none;writing-mode:inherit}@media (min-width: 768px){#face-age-button > img{display:none;padding:10px}#face-age-button > span{display:block;writing-mode:vertical-rl}}';e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),document.head.appendChild(e)}}])&&ai(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ci(e){return ci="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},ci(e)}function ui(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,di(r.key),r)}}function di(e){var t=function(e,t){if("object"!==ci(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ci(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ci(t)?t:String(t)}var hi=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,r;return t=e,r=[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&"object"===ci(e)&&!Array.isArray(e)&&null!=e}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,n=[];for(t=0;t<e.length;t++)n[t]=e[t];return n}},{key:"extend",value:function(e,t){var n=this;"function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(null!=r)for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}return t});var r=Object.assign({},e);return this.isObject(e)&&this.isObject(t)&&Object.keys(t).forEach((function(i){n.isObject(t[i])&&i in e?r[i]=n.extend(e[i],t[i]):Object.assign(r,function(e,t,n){return(t=di(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},i,t[i]))})),r}},{key:"extendArray",value:function(t,n){var r=[];return t.map((function(t){r.push(e.extend(n,t))})),r}},{key:"monthMod",value:function(e){return e%12}},{key:"clone",value:function(t){if(e.is("Array",t)){for(var n=[],r=0;r<t.length;r++)n[r]=this.clone(t[r]);return n}if(e.is("Null",t))return null;if(e.is("Date",t))return t;if("object"===ci(t)){var i={};for(var o in t)t.hasOwnProperty(o)&&(i[o]=this.clone(t[o]));return i}return t}},{key:"log10",value:function(e){return Math.log(e)/Math.LN10}},{key:"roundToBase10",value:function(e){return Math.pow(10,Math.floor(Math.log10(e)))}},{key:"roundToBase",value:function(e,t){return Math.pow(t,Math.floor(Math.log(e)/Math.log(t)))}},{key:"parseNumber",value:function(e){return null===e?e:parseFloat(e)}},{key:"stripNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(1===t.length)return t[0];var n="",r=e<0?"-":"",i=t[0].replace(".",""),o=Number(t[1])+1;if(o<0){for(n=r+"0.";o++;)n+="0";return n+i.replace(/^-/,"")}for(o-=i.length;o--;)n+="0";return i+n}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),n=e.clientHeight,r=e.clientWidth;return n-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[r-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),n]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce((function(e,t){return Array.isArray(t)&&(t=t.reduce((function(e,t){return e.length>t.length?e:t}))),e.length>t.length?e:t}),0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==e.substring(0,1)&&(e="#999999");var n=e.replace("#","");n=n.match(new RegExp("(.{"+n.length/3+"})","g"));for(var r=0;r<n.length;r++)n[r]=parseInt(1===n[r].length?n[r]+n[r]:n[r],16);return void 0!==t&&n.push(t),"rgba("+n.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(e){return parseFloat(e.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(e){return(e=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===e.length?"#"+("0"+parseInt(e[1],10).toString(16)).slice(-2)+("0"+parseInt(e[2],10).toString(16)).slice(-2)+("0"+parseInt(e[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(e)}},{key:"getPolygonPos",value:function(e,t){for(var n=[],r=2*Math.PI/t,i=0;i<t;i++){var o={};o.x=e*Math.sin(i*r),o.y=-e*Math.cos(i*r),n.push(o)}return n}},{key:"polarToCartesian",value:function(e,t,n,r){var i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}},{key:"escapeString",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",n=e.toString().slice();return n.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,n){if(n>=e.length)for(var r=n-e.length+1;r--;)e.push(void 0);return e.splice(n,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style.key=t[n])}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var r=e.indexOf("Edge/");return r>0&&parseInt(e.substring(r+5,e.indexOf(".",r)),10)}}],(n=[{key:"shadeRGBColor",value:function(e,t){var n=t.split(","),r=e<0?0:255,i=e<0?-1*e:e,o=parseInt(n[0].slice(4),10),a=parseInt(n[1],10),s=parseInt(n[2],10);return"rgb("+(Math.round((r-o)*i)+o)+","+(Math.round((r-a)*i)+a)+","+(Math.round((r-s)*i)+s)+")"}},{key:"shadeHexColor",value:function(e,t){var n=parseInt(t.slice(1),16),r=e<0?0:255,i=e<0?-1*e:e,o=n>>16,a=n>>8&255,s=255&n;return"#"+(16777216+65536*(Math.round((r-o)*i)+o)+256*(Math.round((r-a)*i)+a)+(Math.round((r-s)*i)+s)).toString(16).slice(1)}},{key:"shadeColor",value:function(t,n){return e.isColorHex(n)?this.shadeHexColor(t,n):this.shadeRGBColor(t,n)}}])&&ui(t.prototype,n),r&&ui(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();const pi=hi;function mi(e){return mi="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},mi(e)}function fi(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,(void 0,i=function(e,t){if("object"!==mi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==mi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===mi(i)?i:String(i)),r)}var i}var gi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.documentEvent=pi.bind(this.documentEvent,this)}var t,n;return t=e,(n=[{key:"addEventListener",value:function(e,t){var n=this.w;n.globals.events.hasOwnProperty(e)?n.globals.events[e].push(t):n.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){var r=n.globals.events[e].indexOf(t);-1!==r&&n.globals.events[e].splice(r,1)}}},{key:"fireEvent",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var r=n.globals.events[e],i=r.length,o=0;o<i;o++)r[o].apply(null,t)}}},{key:"setupEventHandlers",value:function(){var e=this,t=this.w,n=this.ctx,r=t.globals.dom.baseEl.querySelector(t.globals.faceAgeClass);this.ctx.eventList.forEach((function(e){r.addEventListener(e,(function(e){var r=Object.assign({},t,{seriesIndex:t.globals.capturedSeriesIndex,dataPointIndex:t.globals.capturedDataPointIndex});"mousemove"===e.type||"touchmove"===e.type?"function"==typeof t.config.faceAge.events.mouseMove&&t.config.faceAge.events.mouseMove(e,n,r):"mouseleave"===e.type||"touchleave"===e.type?"function"==typeof t.config.faceAge.events.mouseLeave&&t.config.faceAge.events.mouseLeave(e,n,r):("mouseup"===e.type&&1===e.which||"touchend"===e.type)&&("function"==typeof t.config.faceAge.events.click&&t.config.faceAge.events.click(e,n,r),n.ctx.events.fireEvent("click",[e,n,r]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(n){t.globals.dom.baseEl.addEventListener(n,e.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(e){var t=this.w,n=e.target.className;if("click"===e.type){var r=t.globals.dom.baseEl.querySelector(".faceage-menu");r&&r.classList.contains("faceage-menu-open")&&"faceage-menu-icon"!==n&&r.classList.remove("faceage-menu-open")}t.globals.clientX="touchmove"===e.type?e.touches[0].clientX:e.clientX,t.globals.clientY="touchmove"===e.type?e.touches[0].clientY:e.clientY}}])&&fi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function yi(e){return yi="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},yi(e)}function vi(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,(void 0,i=function(e,t){if("object"!==yi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==yi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===yi(i)?i:String(i)),r)}var i}var bi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"getAdvisorData",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.getAdvisorData=function(n){try{e({analysis:n,activeSelections:t.w.globals.formData})}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"getImage",value:function(){try{return this.w.globals.imageSubmit?this.w.globals.imageSubmit:null}catch(e){return null}}},{key:"getActiveSelections",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.getActiveSelections=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"getRoutineGroup",value:function(){try{return this.w.globals.routineGroup}catch(e){return null}}},{key:"setCustomProducts",value:function(e){try{this.w.globals.productLoader=!0;var t=(n=e,r=this.w.globals.routineGroup,i=this.w.globals.problems,o=[],n.forEach((function(e,t){var n={};if(null===e.id&&(n.id="ID is required"),null===e.title||""===e.title.trim()?n.title="Title is required":Mr(e.title)&&(n.title="Title is not valid"),e.description&&Mr(e.description)&&(n.description="Description is not valid"),null===e.url||""===e.url.trim()?n.url="URL is required":Lr(e.url)||(n.url="URL must be a valid HTTPS URL"),null===e.image||""===e.image.trim()?n.image="Image is required":Lr(e.image)||(n.image="Image must be a valid HTTPS URL"),("number"!=typeof e.price||e.price<0)&&(n.price="Price must be a non-negative number"),void 0!==e.offerPrice&&("number"!=typeof e.offerPrice||e.offerPrice<0)&&(n.offerPrice="Offer price must be a non-negative number if provided"),void 0!==e.routineGroups)if(Array.isArray(e.routineGroups)||"object"===Or(e.routineGroups)){var a=[];Array.isArray(e.routineGroups)?e.routineGroups.map((function(e){Object.values(r).some((function(t){return Object.keys(t).some((function(t){return t.toLowerCase()===e.toLowerCase()}))}))||a.push(e)})):"object"===Or(e.routineGroups)&&Object.keys(e.routineGroups).forEach((function(t){Object.keys(r).some((function(n){if(t===n){var i=e.routineGroups[t],o=r[n];return i.forEach((function(e){Object.keys(o).some((function(t){return e.toLowerCase()===t.toLowerCase()}))||a.push(e)})),!0}return!1}))||a.push(t)})),a.length>0&&(n.routineGroups="Invalid routine groups: ".concat(a.join(", ")))}else n.routineGroups="Routine groups must be an array";if(void 0!==e.problems&&e.problems)if(Array.isArray(e.problems)){var s=[];e.problems.map((function(e){var t=!1;Object.keys(i).forEach((function(n,r){i[n],n.toLowerCase()===e.toLowerCase()&&(t=!0)})),t||s.push(e)})),s.length>0&&(n.problems="Invalid problem: ".concat(s.join(", ")))}else n.problems="problems must be an array";else n.problems="Problems is required";void 0!==e.variables&&"object"!==Or(e.variables)?n.variables="Variables must be an object if provided":"object"===Or(e.variables)&&Object.keys(e.variables).forEach((function(t,r){var i=e.variables[t];i.title&&i.option||(n["variables[".concat(t,"]")]="Each variable must have both title and option"),Array.isArray(i.option)&&i.option.forEach((function(r,i){r.label&&r.value||(n["variables[".concat(t,"][").concat(i,"]")]="Each variable must have both label and value"),void 0!==r.price&&("number"!=typeof r.price||r.price<0)&&(n["variables[".concat(t,"][").concat(i,"]")]="Price must be a non-negative number"),void 0!==r.offerPrice&&("number"!=typeof r.offerPrice||e.offerPrice<0)&&(n["variables[".concat(t,"][").concat(i,"]")]="Offer price must be a non-negative number if provided")}))})),Object.keys(n).length>0&&o.push({index:t,errors:n})})),o.length>0?o:null);t?console.error(t):(this.w.globals.productLists=e,this.w.globals.productLoader=!1)}catch(e){console.error("add custom products error: "+e)}var n,r,i,o}}])&&vi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ki(e){return ki="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},ki(e)}function wi(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,(void 0,i=function(e,t){if("object"!==ki(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ki(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ki(i)?i:String(i)),r)}var i}"undefined"!=typeof window&&void 0===window.FaceAge&&(window.FaceAge={});var Si=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"initModules",value:function(){this.ctx.publicMethods=["onClickProblem","onDisplayProducts","onDisplayRoutines","onAddToCart","onCheckout","onClickProduct","onCloseModal","onRefresh"],this.ctx.publicApiMethods=["getAdvisorData","getActiveSelections","setCustomProducts","getImage","getRoutineGroup"],this.ctx.eventList=[],this.ctx.core=new li(this.ctx.el,this.ctx),this.ctx.events=new gi(this.ctx),this.ctx.API=new bi(this.ctx)}}])&&wi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Ci={en:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},de:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},zh:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},tr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},hu:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},lt:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Įdėkite viską į krepšelį","All Products":"Visi produktai","validation.faceObstruction":"Tikriausiai kažkas yra ant veido odos paviršiaus (plaukų ar auskarų)"}')},bn:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},nl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ms:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ja:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ru:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},pl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},uk:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Додати все в кошик","All Products":"Всі продукти","validation.faceObstruction":"Ймовірно, є щось на поверхні шкіри обличчя (волосся або пірсинг)"}')},fi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ur:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"سب کو کارٹ میں شامل کریں۔","All Products":"تمام مصنوعات","validation.faceObstruction":"چہرے کی جلد کی سطح پر شاید کچھ ہے (بال یا چھیدنا)"}')},sk:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Pridajte všetko do košíka","All Products":"Všetky produkty","validation.faceObstruction":"Pravdepodobne je niečo na povrchu pokožky tváre (vlasy alebo piercing)"}')},pt:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},it:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},sr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Додај све у корпу","All Products":"Сви производи","validation.faceObstruction":"Вероватно постоји нешто на површини коже лица (длака или пирсинг)"}')},hr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Dodaj sve u košaricu","All Products":"Svi proizvodi","validation.faceObstruction":"Vjerojatno postoji nešto na površini kože lica (dlake ili piercing)"}')},tl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Idagdag ang lahat sa cart","All Products":"Lahat ng Produkto","validation.faceObstruction":"Marahil ay mayroong isang bagay sa ibabaw ng balat ng mukha (buhok o butas)"}')},et:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"Tõenäoliselt on näonaha pinnal midagi (juuksed või augustamine)"}')},fr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},el:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},bg:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"Вероятно има нещо на повърхността на кожата на лицето (косми или пиърсинг)"}')},ro:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},hi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ko:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},he:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},vi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},fa:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"احتمالاً چیزی روی سطح پوست صورت وجود دارد (مو یا سوراخ کردن)"}')},cs:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},id:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},lv:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Pievienot visu grozam","All Products":"Visi produkti","validation.faceObstruction":"Visticamāk, uz sejas ādas virsmas ir kaut kas (mati vai pīrsings)"}')},no:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},da:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},th:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},sv:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},es:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ar:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')}};function Pi(e){return Pi="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},Pi(e)}function Ai(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,(void 0,i=function(e,t){if("object"!==Pi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Pi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Pi(i)?i:String(i)),r)}var i}Gt.init({resources:Ci,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});var xi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.w=new qt(t).init(),this.el=this.w.config.element,new Si(this).initModules()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this;return new Promise((function(t,n){null!==e.el?(e.w.globals.faceID=pi.randomId(),e.core.setupElements()):n(new Error("Element not found"))}))}},{key:"onload",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onload=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onClickProblem",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onClickProblem=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onAddToCart",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onAddToCart=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onCheckout",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onCheckout=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onClickProduct",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onClickProduct=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onDisplayProducts",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onDisplayProducts=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onDisplayRoutines",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onDisplayRoutines=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onCloseModal",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onCloseModal=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onResetData",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onRefresh=function(n){try{t.w.globals.productLists&&(t.w.globals.productLists=[]),t.w.globals.productAddToCart&&(t.w.globals.productAddToCart=[]),t.w.globals.productLoader=!1,e(n)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}}])&&Ai(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}()})(),r.default})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FaceAge=t():e.FaceAge=t()}(this,(()=>(()=>{var e={135:function(e,t,n){(function(){"use strict";function e(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var t="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},r=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function i(e,n){if(n)e:{var i=r;e=e.split(".");for(var o=0;o<e.length-1;o++){var a=e[o];if(!(a in i))break e;i=i[a]}(n=n(o=i[e=e[e.length-1]]))!=o&&null!=n&&t(i,e,{configurable:!0,writable:!0,value:n})}}function o(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function a(t){var n="undefined"!=typeof Symbol&&Symbol.iterator&&t[Symbol.iterator];return n?n.call(t):{next:e(t)}}function s(){this.i=!1,this.g=null,this.o=void 0,this.j=1,this.m=0,this.h=null}function l(e){if(e.i)throw new TypeError("Generator is already running");e.i=!0}function c(e,t){e.h={F:t,G:!0},e.j=e.m}function u(e){this.g=new s,this.h=e}function d(e,t,n,r){try{var i=t.call(e.g.g,n);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return e.g.i=!1,i;var o=i.value}catch(t){return e.g.g=null,c(e.g,t),h(e)}return e.g.g=null,r.call(e.g,o),h(e)}function h(e){for(;e.g.j;)try{var t=e.h(e.g);if(t)return e.g.i=!1,{value:t.value,done:!1}}catch(t){e.g.o=void 0,c(e.g,t)}if(e.g.i=!1,e.g.h){if(t=e.g.h,e.g.h=null,t.G)throw t.F;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function p(e){this.next=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.next,t,e.g.l):(e.g.l(t),t=h(e)),t},this.throw=function(t){return l(e.g),e.g.g?t=d(e,e.g.g.throw,t,e.g.l):(c(e.g,t),t=h(e)),t},this.return=function(t){return function(e,t){l(e.g);var n=e.g.g;return n?d(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),h(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function m(e){function t(t){return e.next(t)}function n(t){return e.throw(t)}return new Promise((function(r,i){!function e(o){o.done?r(o.value):Promise.resolve(o.value).then(t,n).then(e,i)}(e.next())}))}i("Symbol",(function(e){function n(e,n){this.g=e,t(this,"description",{configurable:!0,writable:!0,value:n})}if(e)return e;n.prototype.toString=function(){return this.g};var r="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",i=0;return function e(t){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new n(r+(t||"")+"_"+i++,t)}})),i("Symbol.iterator",(function(n){if(n)return n;n=Symbol("Symbol.iterator");for(var i="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),a=0;a<i.length;a++){var s=r[i[a]];"function"==typeof s&&"function"!=typeof s.prototype[n]&&t(s.prototype,n,{configurable:!0,writable:!0,value:function(){return o(e(this))}})}return n})),s.prototype.l=function(e){this.o=e},s.prototype.return=function(e){this.h={return:e},this.j=this.m},i("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function i(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var o=r.setTimeout;n.prototype.i=function(e){o(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.A),reject:e(this.l)}},t.prototype.A=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.C(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.v(e):this.m(e)}},t.prototype.v=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.D(t,e):this.m(e)},t.prototype.l=function(e){this.u(2,e)},t.prototype.m=function(e){this.u(1,e)},t.prototype.u=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.B(),this.H()},t.prototype.B=function(){var e=this;o((function(){if(e.I()){var t=r.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.I=function(){if(this.o)return!1;var e=r.CustomEvent,t=r.Event,n=r.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=r.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.H=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)s.h(this.g[e]);this.g=null}};var s=new n;return t.prototype.C=function(e){var t=this.j();e.s(t.resolve,t.reject)},t.prototype.D=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function r(e,t){return"function"==typeof e?function(t){try{i(e(t))}catch(e){o(e)}}:t}var i,o,a=new t((function(e,t){i=e,o=t}));return this.s(r(e,i),r(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.s=function(e,t){function n(){switch(r.h){case 1:e(r.i);break;case 2:t(r.i);break;default:throw Error("Unexpected state: "+r.h)}}var r=this;null==this.g?s.h(n):this.g.push(n),this.o=!0},t.resolve=i,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var r=a(e),o=r.next();!o.done;o=r.next())i(o.value).s(t,n)}))},t.all=function(e){var n=a(e),r=n.next();return r.done?i([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,i(r.value).s(o(a.length-1),t),r=n.next()}while(!r.done)}))},t}));var f="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};i("Object.assign",(function(e){return e||f}));var g=this||self,y={facingMode:"user",width:640,height:480};function v(e,t){this.video=e,this.i=0,this.h=Object.assign(Object.assign({},y),t)}function b(e){window.requestAnimationFrame((function(){!function(e){var t=null;e.video.paused||e.video.currentTime===e.i||(e.i=e.video.currentTime,t=e.h.onFrame()),t?t.then((function(){b(e)})):b(e)}(e)}))}v.prototype.stop=function(){var e,t,n,r=this;return m(new p(new u((function(i){if(r.g){for(e=r.g.getTracks(),t=a(e),n=t.next();!n.done;n=t.next())n.value.stop();r.g=void 0}i.j=0}))))},v.prototype.start=function(){var e,t=this;return m(new p(new u((function(n){return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia||alert("No navigator.mediaDevices.getUserMedia exists."),e=t.h,n.return(navigator.mediaDevices.getUserMedia({video:{facingMode:e.facingMode,width:e.width,height:e.height}}).then((function(e){!function(e,t){e.g=t,e.video.srcObject=t,e.video.onloadedmetadata=function(){e.video.play(),b(e)}}(t,e)})).catch((function(e){var t="Failed to acquire camera feed: "+e;throw console.error(t),alert(t),e})))}))))};var k,w=["Camera"],S=g;w[0]in S||void 0===S.execScript||S.execScript("var "+w[0]);for(;w.length&&(k=w.shift());)w.length||void 0===v?S=S[k]&&S[k]!==Object.prototype[k]?S[k]:S[k]={}:S[k]=v}).call(this)},982:function(e,t,n){(function(){"use strict";var e;function t(e){var t=0;return function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}}}var r,i="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){return e==Array.prototype||e==Object.prototype||(e[t]=n.value),e},o=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function a(e,t){if(t)e:{var n=o;e=e.split(".");for(var r=0;r<e.length-1;r++){var a=e[r];if(!(a in n))break e;n=n[a]}(t=t(r=n[e=e[e.length-1]]))!=r&&null!=t&&i(n,e,{configurable:!0,writable:!0,value:t})}}function s(e){return(e={next:e})[Symbol.iterator]=function(){return this},e}function l(e){var n="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];return n?n.call(e):{next:t(e)}}function c(e){if(!(e instanceof Array)){e=l(e);for(var t,n=[];!(t=e.next()).done;)n.push(t.value);e=n}return e}if(a("Symbol",(function(e){function t(e,t){this.g=e,i(this,"description",{configurable:!0,writable:!0,value:t})}if(e)return e;t.prototype.toString=function(){return this.g};var n="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",r=0;return function e(i){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new t(n+(i||"")+"_"+r++,i)}})),a("Symbol.iterator",(function(e){if(e)return e;e=Symbol("Symbol.iterator");for(var n="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<n.length;r++){var a=o[n[r]];"function"==typeof a&&"function"!=typeof a.prototype[e]&&i(a.prototype,e,{configurable:!0,writable:!0,value:function(){return s(t(this))}})}return e})),"function"==typeof Object.setPrototypeOf)r=Object.setPrototypeOf;else{var u;e:{var d={};try{d.__proto__={a:!0},u=d.a;break e}catch(e){}u=!1}r=u?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null}var h=r;function p(){this.l=!1,this.h=null,this.j=void 0,this.g=1,this.s=this.m=0,this.i=null}function m(e){if(e.l)throw new TypeError("Generator is already running");e.l=!0}function f(e,t){e.i={K:t,L:!0},e.g=e.m||e.s}function g(e,t,n){return e.g=n,{value:t}}function y(e){this.g=new p,this.h=e}function v(e,t,n,r){try{var i=t.call(e.g.h,n);if(!(i instanceof Object))throw new TypeError("Iterator result "+i+" is not an object");if(!i.done)return e.g.l=!1,i;var o=i.value}catch(t){return e.g.h=null,f(e.g,t),b(e)}return e.g.h=null,r.call(e.g,o),b(e)}function b(e){for(;e.g.g;)try{var t=e.h(e.g);if(t)return e.g.l=!1,{value:t.value,done:!1}}catch(t){e.g.j=void 0,f(e.g,t)}if(e.g.l=!1,e.g.i){if(t=e.g.i,e.g.i=null,t.L)throw t.K;return{value:t.return,done:!0}}return{value:void 0,done:!0}}function k(e){this.next=function(t){return m(e.g),e.g.h?t=v(e,e.g.h.next,t,e.g.o):(e.g.o(t),t=b(e)),t},this.throw=function(t){return m(e.g),e.g.h?t=v(e,e.g.h.throw,t,e.g.o):(f(e.g,t),t=b(e)),t},this.return=function(t){return function(e,t){m(e.g);var n=e.g.h;return n?v(e,"return"in n?n.return:function(e){return{value:e,done:!0}},t,e.g.return):(e.g.return(t),b(e))}(e,t)},this[Symbol.iterator]=function(){return this}}function w(e,t){return t=new k(new y(t)),h&&e.prototype&&h(t,e.prototype),t}p.prototype.o=function(e){this.j=e},p.prototype.return=function(e){this.i={return:e},this.g=this.s};var S="function"==typeof Object.assign?Object.assign:function(e,t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};a("Object.assign",(function(e){return e||S})),a("Promise",(function(e){function t(e){this.h=0,this.i=void 0,this.g=[],this.o=!1;var t=this.j();try{e(t.resolve,t.reject)}catch(e){t.reject(e)}}function n(){this.g=null}function r(e){return e instanceof t?e:new t((function(t){t(e)}))}if(e)return e;n.prototype.h=function(e){if(null==this.g){this.g=[];var t=this;this.i((function(){t.l()}))}this.g.push(e)};var i=o.setTimeout;n.prototype.i=function(e){i(e,0)},n.prototype.l=function(){for(;this.g&&this.g.length;){var e=this.g;this.g=[];for(var t=0;t<e.length;++t){var n=e[t];e[t]=null;try{n()}catch(e){this.j(e)}}}this.g=null},n.prototype.j=function(e){this.i((function(){throw e}))},t.prototype.j=function(){function e(e){return function(r){n||(n=!0,e.call(t,r))}}var t=this,n=!1;return{resolve:e(this.D),reject:e(this.l)}},t.prototype.D=function(e){if(e===this)this.l(new TypeError("A Promise cannot resolve to itself"));else if(e instanceof t)this.I(e);else{e:switch(typeof e){case"object":var n=null!=e;break e;case"function":n=!0;break e;default:n=!1}n?this.C(e):this.m(e)}},t.prototype.C=function(e){var t=void 0;try{t=e.then}catch(e){return void this.l(e)}"function"==typeof t?this.J(t,e):this.m(e)},t.prototype.l=function(e){this.s(2,e)},t.prototype.m=function(e){this.s(1,e)},t.prototype.s=function(e,t){if(0!=this.h)throw Error("Cannot settle("+e+", "+t+"): Promise already settled in state"+this.h);this.h=e,this.i=t,2===this.h&&this.H(),this.A()},t.prototype.H=function(){var e=this;i((function(){if(e.B()){var t=o.console;void 0!==t&&t.error(e.i)}}),1)},t.prototype.B=function(){if(this.o)return!1;var e=o.CustomEvent,t=o.Event,n=o.dispatchEvent;return void 0===n||("function"==typeof e?e=new e("unhandledrejection",{cancelable:!0}):"function"==typeof t?e=new t("unhandledrejection",{cancelable:!0}):(e=o.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,e),e.promise=this,e.reason=this.i,n(e))},t.prototype.A=function(){if(null!=this.g){for(var e=0;e<this.g.length;++e)a.h(this.g[e]);this.g=null}};var a=new n;return t.prototype.I=function(e){var t=this.j();e.F(t.resolve,t.reject)},t.prototype.J=function(e,t){var n=this.j();try{e.call(t,n.resolve,n.reject)}catch(e){n.reject(e)}},t.prototype.then=function(e,n){function r(e,t){return"function"==typeof e?function(t){try{i(e(t))}catch(e){o(e)}}:t}var i,o,a=new t((function(e,t){i=e,o=t}));return this.F(r(e,i),r(n,o)),a},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.F=function(e,t){function n(){switch(r.h){case 1:e(r.i);break;case 2:t(r.i);break;default:throw Error("Unexpected state: "+r.h)}}var r=this;null==this.g?a.h(n):this.g.push(n),this.o=!0},t.resolve=r,t.reject=function(e){return new t((function(t,n){n(e)}))},t.race=function(e){return new t((function(t,n){for(var i=l(e),o=i.next();!o.done;o=i.next())r(o.value).F(t,n)}))},t.all=function(e){var n=l(e),i=n.next();return i.done?r([]):new t((function(e,t){function o(t){return function(n){a[t]=n,0==--s&&e(a)}}var a=[],s=0;do{a.push(void 0),s++,r(i.value).F(o(a.length-1),t),i=n.next()}while(!i.done)}))},t})),a("Array.prototype.keys",(function(e){return e||function(){return function(e,t){e instanceof String&&(e+="");var n=0,r=!1,i={next:function(){if(!r&&n<e.length){var i=n++;return{value:t(i,e[i]),done:!1}}return r=!0,{done:!0,value:void 0}}};return i[Symbol.iterator]=function(){return i},i}(this,(function(e){return e}))}}));var C=this||self;function P(e,t){e=e.split(".");var n,r=C;e[0]in r||void 0===r.execScript||r.execScript("var "+e[0]);for(;e.length&&(n=e.shift());)e.length||void 0===t?r=r[n]&&r[n]!==Object.prototype[n]?r[n]:r[n]={}:r[n]=t}function A(e,t){var n=void 0;return new(n||(n=Promise))((function(r,i){function o(e){try{s(t.next(e))}catch(e){i(e)}}function a(e){try{s(t.throw(e))}catch(e){i(e)}}function s(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(o,a)}s((t=t.apply(e,void 0)).next())}))}var x=[[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]],T=[[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]],R=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],E=[[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]],_=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],I=[[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]],F=[].concat(c(x),c(T),c(R),c(E),c(_),c(I));function O(e,t,n){if(n=e.createShader(0===n?e.VERTEX_SHADER:e.FRAGMENT_SHADER),e.shaderSource(n,t),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS))throw Error("Could not compile WebGL shader.\n\n"+e.getShaderInfoLog(n));return n}function L(e,t){this.g=e,this.i=t,this.j=0}function M(e,t){var n=e.i;if(void 0===e.l){var r=O(n,"\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 }",0),i=O(n,"\n precision highp float;\n varying vec2 vTex;\n uniform sampler2D sampler0;\n void main(){\n gl_FragColor = texture2D(sampler0, vTex);\n }",1),o=n.createProgram();if(n.attachShader(o,r),n.attachShader(o,i),n.linkProgram(o),!n.getProgramParameter(o,n.LINK_STATUS))throw Error("Could not compile WebGL program.\n\n"+n.getProgramInfoLog(o));r=e.l=o,n.useProgram(r),i=n.getUniformLocation(r,"sampler0"),e.h={v:n.getAttribLocation(r,"aVertex"),u:n.getAttribLocation(r,"aTex"),M:i},e.o=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.enableVertexAttribArray(e.h.v),n.vertexAttribPointer(e.h.v,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),e.m=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.enableVertexAttribArray(e.h.u),n.vertexAttribPointer(e.h.u,2,n.FLOAT,!1,0,0),n.bufferData(n.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null),n.uniform1i(i,0)}r=e.h,n.useProgram(e.l),n.canvas.width=t.width,n.canvas.height=t.height,n.viewport(0,0,t.width,t.height),n.activeTexture(n.TEXTURE0),e.g.bindTexture2d(t.glName),n.enableVertexAttribArray(r.v),n.bindBuffer(n.ARRAY_BUFFER,e.o),n.vertexAttribPointer(r.v,2,n.FLOAT,!1,0,0),n.enableVertexAttribArray(r.u),n.bindBuffer(n.ARRAY_BUFFER,e.m),n.vertexAttribPointer(r.u,2,n.FLOAT,!1,0,0),n.bindFramebuffer(n.DRAW_FRAMEBUFFER?n.DRAW_FRAMEBUFFER:n.FRAMEBUFFER,null),n.drawArrays(n.TRIANGLE_FAN,0,4),n.disableVertexAttribArray(r.v),n.disableVertexAttribArray(r.u),n.bindBuffer(n.ARRAY_BUFFER,null),e.g.bindTexture2d(0)}function D(e){this.g=e}var G=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function B(e,t){return t+e}function N(e,t){window[e]=t}function j(e){for(var t=[],n=e.size(),r=0;r<n;++r){var i=e.get(r);t.push({x:i.x,y:i.y,z:i.z,visibility:i.hasVisibility?i.visibility:void 0})}return t}function z(e){for(var t=[],n=e.size(),r=0;r<n;++r){var i=e.get(r);t.push({index:i.index,score:i.score,label:i.hasLabel?i.label:void 0,displayName:i.hasDisplayName?i.displayName:void 0})}return t}function W(e,t,n){this.graph=e,this.locateFile=t,this.g=n}function U(e){if(this.h=e,this.listeners={},this.j={},this.l={},this.s=this.D=!0,this.B=Promise.resolve(),this.locateFile=e&&e.locateFile||B,"object"==typeof window)e=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else{if("undefined"==typeof location)throw Error("solutions can only be loaded on a web page or in a web worker");e=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/"}this.C=e}function H(e,t,n){if(n.isNumber())return n.getNumber();if(n.isRect())return n.getRect();if(n.isLandmarks())return n.getLandmarks();if(n.isLandmarksList())return n.getLandmarksList();if(n.isClassificationsList())return n.getClassificationsList();if(n.isObjectDetectionList())return n.getObjectDetectionList();if(n.isTexture2d()){var r=e.l[t];return r||(r=new L(e.g,e.o),e.l[t]=r),M(e=r,n=n.getTexture2d()),e.i.canvas}}function Y(e,t){for(var n=t.name||"$",r=[].concat(c(t.wants)),i=new e.g.StringList,o=l(t.wants),a=o.next();!a.done;a=o.next())i.push_back(a.value);o=e.g.PacketListener.implement({onResults:function(i){return A(e,(function e(){var o,a,s,c,u,d=this;return w(e,(function(e){if(1==e.g){for(o={},a=0;a<t.wants.length;++a)o[r[a]]=i.get(a);var h;if(h=t.outs){for(var p={},m=l(Object.keys(h)),f=m.next();!f.done;f=m.next()){var y=h[f=f.value];if("string"==typeof y)p[f]=H(d,f,o[y]);else{var v=o[y.stream];if(void 0!==v){if("detection_list"===y.type){var b=v.getRectList(),k=v.getLandmarksList();v=v.getClassificationsList();var w=[];if(b)for(var S=0;S<b.size();++S){var C={boundingBox:b.get(S),landmarks:j(k.get(S)),G:z(v.get(S))};w.push(C)}p[f]=w}else if("landmarks"===y.type)b=v.getLandmarks(),p[f]=b?j(b):void 0;else if("landmarks_list"===y.type){if(b=v.getLandmarksList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(j(S));b=k}else b=void 0;p[f]=b}else if("rect_list"===y.type){if(b=v.getRectList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(S);b=k}else b=void 0;p[f]=b}else if("classifications_list"===y.type){if(b=v.getClassificationsList()){for(k=[],v=b.size(),w=0;w<v;++w)S=b.get(w),k.push(z(S));b=k}else b=void 0;p[f]=b}else if("object_detection_list"===y.type){if(b=v.getObjectDetectionList()){for(k=[],v=b.size(),w=0;w<v;++w){var P=b.get(w);C=(S=k).push;for(var A=P.id,x=P.keypoints,T=[],R=x.size(),E=0;E<R;++E){var _=x.get(E);T.push({id:_.id,point3d:{x:_.point3d.x,y:_.point3d.y,z:_.point3d.z},point2d:{x:_.point2d.x,y:_.point2d.y,depth:_.point2d.depth}})}C.call(S,{id:A,keypoints:T,visibility:P.visibility})}b=k}else b=void 0;p[f]=b}else{if("texture"!==y.type)throw Error("Unknown output config type: '"+y.type+"'");(b=d.l[f])||(b=new L(d.g,d.o),d.l[f]=b),M(b,k=v.getTexture2d()),p[f]=b.i.canvas}y.transform&&p[f]&&(p[f]=y.transform(p[f]))}}}h=p}else h=o;return s=h,(c=d.listeners[n])?e=g(e,d.B,3):(e.g=0,e=void 0),e}if(u=c(s))return d.B=u,e.return(u);e.g=0}))}))}}),e.i.attachMultiListener(i,o),i.delete()}function q(e){e=e||{},this.g=new U({locateFile:e.locateFile,files:[{url:"face_detection_solution_packed_assets_loader.js"},{simd:!0,url:"face_detection_solution_simd_wasm_bin.js"},{simd:!1,url:"face_detection_solution_wasm_bin.js"}],graph:{url:"face_detection.binarypb"},listeners:[{wants:["detections","image_transformed"],outs:{image:"image_transformed",detections:{type:"detection_list",stream:"detections"}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{selfieMode:{type:1,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},minDetectionConfidence:{type:0,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facedetectionfrontgpu__facedetectionfrontcommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}}}})}W.prototype.toArrayBuffer=function(){return A(this,(function e(){var t,n=this;return w(e,(function(e){return 1==e.g?(n.graph.url?e=g(e,fetch(n.locateFile(n.graph.url,n.g)),3):(e.g=2,e=void 0),e):2!=e.g&&(t=e.j).body?e.return(t.arrayBuffer()):e.return(new ArrayBuffer(0))}))}))},(e=U.prototype).close=function(){return this.i&&this.i.delete(),Promise.resolve()},e.reset=function(){return A(this,(function e(){var t=this;return w(e,(function(e){t.i&&(t.i.reset(),t.j={},t.l={}),e.g=0}))}))},e.setOptions=function(e){if(this.h.options){for(var t=[],n=l(Object.keys(e)),r=n.next();!r.done;r=n.next()){var i=r.value;(r=this.h.options[i])&&r.graphOptionXref&&(i={valueNumber:0===r.type?e[i]:0,valueBoolean:1===r.type&&e[i]},r=Object.assign(Object.assign(Object.assign({},{calculatorName:"",calculatorIndex:0}),r.graphOptionXref),i),t.push(r))}0!==t.length&&(this.s=!0,this.A=t)}},e.initialize=function(){return A(this,(function e(){var t=this;return w(e,(function(e){return 1==e.g?g(e,A(t,(function e(){var t,n,r,i,o,a,s,c,u,d=this;return w(e,(function(e){switch(e.g){case 1:return t=d,d.D?(N("createMediapipeSolutionsWasm",{locateFile:d.locateFile}),N("createMediapipeSolutionsPackedAssets",{locateFile:d.locateFile}),n=d.h.files||[],g(e,function(){return A(this,(function e(){return w(e,(function(e){switch(e.g){case 1:return e.m=2,g(e,WebAssembly.instantiate(G),4);case 4:e.g=3,e.m=0;break;case 2:return e.m=0,e.i=null,e.return(!1);case 3:return e.return(!0)}}))}))}(),2)):e.return();case 2:return r=e.j,g(e,Promise.all(n.map((function(e){return void 0===e.simd||e.simd&&r||!e.simd&&!r?function(e){var t=document.createElement("script");return t.setAttribute("src",e),t.setAttribute("crossorigin","anonymous"),document.body.appendChild(t),new Promise((function(e){t.addEventListener("load",(function(){e()}),!1)}))}(t.locateFile(e.url,t.C)):Promise.resolve()}))),3);case 3:return i=window.createMediapipeSolutionsWasm,o=window.createMediapipeSolutionsPackedAssets,g(e,i(o),4);case 4:return d.g=e.j,d.m=document.createElement("canvas"),d.g.canvas=d.m,d.g.createContext(d.m,!0,!0,{}),d.i=new d.g.SolutionWasm,a=new W(d.h.graph,d.locateFile,d.C),g(e,d.loadGraph(a),5);case 5:if(d.h.listeners)for(s=l(d.h.listeners),c=s.next();!c.done;c=s.next())u=c.value,Y(d,u);d.D=!1,e.g=0}}))})),2):g(e,A(t,(function e(){var t,n,r,i,o,a=this;return w(e,(function(e){if(!a.s)return e.return();if(!(t=a.m.getContext("webgl2"))&&!(t=a.m.getContext("webgl")))return alert("Failed to create WebGL canvas context when passing video frame."),e.return();if(a.o=t,a.A){for(n=new a.g.GraphOptionChangeRequestList,r=l(a.A),i=r.next();!i.done;i=r.next())o=i.value,n.push_back(o);a.i.changeOptions(n),n.delete(),a.A=void 0}a.s=!1,e.g=0}))})),0)}))}))},e.loadGraph=function(e){return A(this,(function t(){var n,r=this;return w(t,(function(t){if(1==t.g)return g(t,e.toArrayBuffer(),2);n=t.j,r.i.loadGraph(n),t.g=0}))}))},e.send=function(e,t){return A(this,(function n(){var r,i,o,a,s,c,u,d,h,p=this;return w(n,(function(n){if(1==n.g)return p.h.inputs?(r=1e3*(t||performance.now()),g(n,p.B,2)):n.return();if(3!=n.g)return g(n,p.initialize(),3);for(i=new p.g.PacketDataList,o=l(Object.keys(e)),a=o.next();!a.done;a=o.next())if(s=a.value,c=p.h.inputs[s]){e:{var m=p,f=e[s];switch(c.type){case"video":var y=m.j[c.stream];if(y||(y=new L(m.g,m.o),m.j[c.stream]=y),0===(m=y).j&&(m.j=m.g.createTexture()),f instanceof HTMLVideoElement){var v=f.videoWidth;y=f.videoHeight}else f instanceof HTMLImageElement?(v=f.naturalWidth,y=f.naturalHeight):(v=f.width,y=f.height);y={glName:m.j,width:v,height:y},(v=m.i).canvas.width=y.width,v.canvas.height=y.height,v.activeTexture(v.TEXTURE0),m.g.bindTexture2d(m.j),v.texImage2D(v.TEXTURE_2D,0,v.RGBA,v.RGBA,v.UNSIGNED_BYTE,f),m.g.bindTexture2d(0),m=y;break e;case"detections":for((y=m.j[c.stream])||(y=new D(m.g),m.j[c.stream]=y),(m=y).data||(m.data=new m.g.DetectionListData),m.data.reset(f.length),y=0;y<f.length;++y){v=f[y],m.data.setBoundingBox(y,v.boundingBox);for(var b=0;b<v.landmarks.length;++b){var k=v.landmarks[b],w=!!k.visibility;m.data.addNormalizedLandmark(y,Object.assign(Object.assign({},k),{hasVisibility:w,visibility:w?k.visibility:0}))}for(b=0;b<v.G.length;++b){w=!!(k=v.G[b]).index;var S=!!k.label,C=!!k.displayName;m.data.addClassification(y,{score:k.score,hasIndex:w,index:w?k.index:-1,hasLabel:S,label:S?k.label:"",hasDisplayName:C,displayName:C?k.displayName:""})}}m=m.data;break e;default:m={}}}switch(u=m,d=c.stream,c.type){case"video":i.pushTexture2d(Object.assign(Object.assign({},u),{stream:d,timestamp:r}));break;case"detections":(h=u).stream=d,h.timestamp=r,i.pushDetectionList(h);break;default:throw Error("Unknown input config type: '"+c.type+"'")}}p.i.send(i),i.delete(),n.g=0}))}))},e.onResults=function(e,t){this.listeners[t||"$"]=e},P("Solution",U),P("OptionType",{NUMBER:0,BOOL:1,0:"NUMBER",1:"BOOL"}),(e=q.prototype).close=function(){return this.g.close(),Promise.resolve()},e.onResults=function(e){this.g.onResults(e)},e.initialize=function(){return A(this,(function e(){var t=this;return w(e,(function(e){return g(e,t.g.initialize(),0)}))}))},e.reset=function(){this.g.reset()},e.send=function(e){return A(this,(function t(){var n=this;return w(t,(function(t){return g(t,n.g.send(e),0)}))}))},e.setOptions=function(e){this.g.setOptions(e)},P("FaceDetection",q),P("FACEDETECTION_LIPS",x),P("FACEDETECTION_LEFT_EYE",T),P("FACEDETECTION_LEFT_EYEBROW",R),P("FACEDETECTION_RIGHT_EYE",E),P("FACEDETECTION_RIGHT_EYEBROW",_),P("FACEDETECTION_FACE_OVAL",I),P("FACEDETECTION_CONTOURS",F),P("FACEDETECTION_TESSELATION",[[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]])}).call(this)},129:function(e){e.exports=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){var n,i,o;n=t,i=e,o=r[e],(i=a(i))in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return n="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},n(e)}function r(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,a(r.key),r)}}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function a(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var s="undefined"!=typeof window&&void 0!==window.document,l=s?window:{},c=!(!s||!l.document.documentElement)&&"ontouchstart"in l.document.documentElement,u=!!s&&"PointerEvent"in l,d="cropper",h="all",p="crop",m="move",f="zoom",g="e",y="w",v="s",b="n",k="ne",w="nw",S="se",C="sw",P="".concat(d,"-crop"),A="".concat(d,"-disabled"),x="".concat(d,"-hidden"),T="".concat(d,"-hide"),R="".concat(d,"-invisible"),E="".concat(d,"-modal"),_="".concat(d,"-move"),I="".concat(d,"Action"),F="".concat(d,"Preview"),O="crop",L="move",M="none",D="crop",G="cropend",B="cropmove",N="cropstart",j="dblclick",z=u?"pointerdown":c?"touchstart":"mousedown",W=u?"pointermove":c?"touchmove":"mousemove",U=u?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",H="ready",Y="resize",q="wheel",J="zoom",V="image/jpeg",$=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,K=/^data:/,Z=/^data:image\/jpeg;base64,/,X=/^img|canvas$/i,Q={viewMode:0,dragMode:O,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},ee=Number.isNaN||l.isNaN;function te(e){return"number"==typeof e&&!ee(e)}var ne=function(e){return e>0&&e<1/0};function re(e){return void 0===e}function ie(e){return"object"===n(e)&&null!==e}var oe=Object.prototype.hasOwnProperty;function ae(e){if(!ie(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&oe.call(n,"isPrototypeOf")}catch(e){return!1}}function se(e){return"function"==typeof e}var le=Array.prototype.slice;function ce(e){return Array.from?Array.from(e):le.call(e)}function ue(e,t){return e&&se(t)&&(Array.isArray(e)||te(e.length)?ce(e).forEach((function(n,r){t.call(e,n,r,e)})):ie(e)&&Object.keys(e).forEach((function(n){t.call(e,e[n],n,e)}))),e}var de=Object.assign||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];return ie(e)&&n.length>0&&n.forEach((function(t){ie(t)&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e},he=/\.\d*(?:0|9){12}\d*$/;function pe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return he.test(e)?Math.round(e*t)/t:e}var me=/^width|height|left|top|marginLeft|marginTop$/;function fe(e,t){var n=e.style;ue(t,(function(e,t){me.test(t)&&te(e)&&(e="".concat(e,"px")),n[t]=e}))}function ge(e,t){if(t)if(te(e.length))ue(e,(function(e){ge(e,t)}));else if(e.classList)e.classList.add(t);else{var n=e.className.trim();n?n.indexOf(t)<0&&(e.className="".concat(n," ").concat(t)):e.className=t}}function ye(e,t){t&&(te(e.length)?ue(e,(function(e){ye(e,t)})):e.classList?e.classList.remove(t):e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function ve(e,t,n){t&&(te(e.length)?ue(e,(function(e){ve(e,t,n)})):n?ge(e,t):ye(e,t))}var be=/([a-z\d])([A-Z])/g;function ke(e){return e.replace(be,"$1-$2").toLowerCase()}function we(e,t){return ie(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(ke(t)))}function Se(e,t,n){ie(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute("data-".concat(ke(t)),n)}var Ce=/\s\s*/,Pe=function(){var e=!1;if(s){var t=!1,n=function(){},r=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(e){t=e}});l.addEventListener("test",n,r),l.removeEventListener("test",n,r)}return e}();function Ae(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=n;t.trim().split(Ce).forEach((function(t){if(!Pe){var o=e.listeners;o&&o[t]&&o[t][n]&&(i=o[t][n],delete o[t][n],0===Object.keys(o[t]).length&&delete o[t],0===Object.keys(o).length&&delete e.listeners)}e.removeEventListener(t,i,r)}))}function xe(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=n;t.trim().split(Ce).forEach((function(t){if(r.once&&!Pe){var o=e.listeners,a=void 0===o?{}:o;i=function(){delete a[t][n],e.removeEventListener(t,i,r);for(var o=arguments.length,s=new Array(o),l=0;l<o;l++)s[l]=arguments[l];n.apply(e,s)},a[t]||(a[t]={}),a[t][n]&&e.removeEventListener(t,a[t][n],r),a[t][n]=i,e.listeners=a}e.addEventListener(t,i,r)}))}function Te(e,t,n){var r;return se(Event)&&se(CustomEvent)?r=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0}):(r=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,n),e.dispatchEvent(r)}function Re(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var Ee=l.location,_e=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Ie(e){var t=e.match(_e);return null!==t&&(t[1]!==Ee.protocol||t[2]!==Ee.hostname||t[3]!==Ee.port)}function Fe(e){var t="timestamp=".concat((new Date).getTime());return e+(-1===e.indexOf("?")?"?":"&")+t}function Oe(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,o=e.translateY,a=[];te(i)&&0!==i&&a.push("translateX(".concat(i,"px)")),te(o)&&0!==o&&a.push("translateY(".concat(o,"px)")),te(t)&&0!==t&&a.push("rotate(".concat(t,"deg)")),te(n)&&1!==n&&a.push("scaleX(".concat(n,")")),te(r)&&1!==r&&a.push("scaleY(".concat(r,")"));var s=a.length?a.join(" "):"none";return{WebkitTransform:s,msTransform:s,transform:s}}function Le(e,n){var r=e.pageX,i=e.pageY,o={endX:r,endY:i};return n?o:t({startX:r,startY:i},o)}function Me(e){var t=e.aspectRatio,n=e.height,r=e.width,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",o=ne(r),a=ne(n);if(o&&a){var s=n*t;"contain"===i&&s>r||"cover"===i&&s<r?n=r/t:r=n*t}else o?n=r/t:a&&(r=n*t);return{width:r,height:n}}var De=String.fromCharCode;var Ge=/^data:.*,/;function Be(e){var t,n=new DataView(e);try{var r,i,o;if(255===n.getUint8(0)&&216===n.getUint8(1))for(var a=n.byteLength,s=2;s+1<a;){if(255===n.getUint8(s)&&225===n.getUint8(s+1)){i=s;break}s+=1}if(i){var l=i+10;if("Exif"===function(e,t,n){var r="";n+=t;for(var i=t;i<n;i+=1)r+=De(e.getUint8(i));return r}(n,i+4,4)){var c=n.getUint16(l);if(((r=18761===c)||19789===c)&&42===n.getUint16(l+2,r)){var u=n.getUint32(l+4,r);u>=8&&(o=l+u)}}}if(o){var d,h,p=n.getUint16(o,r);for(h=0;h<p;h+=1)if(d=o+12*h+2,274===n.getUint16(d,r)){d+=8,t=n.getUint16(d,r),n.setUint16(d,1,r);break}}}catch(e){t=1}return t}var Ne={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var e=this.element,t=this.options,n=this.container,r=this.cropper,i=Number(t.minContainerWidth),o=Number(t.minContainerHeight);ge(r,x),ye(e,x);var a={width:Math.max(n.offsetWidth,i>=0?i:200),height:Math.max(n.offsetHeight,o>=0?o:100)};this.containerData=a,fe(r,{width:a.width,height:a.height}),ge(e,x),ye(r,x)},initCanvas:function(){var e=this.containerData,t=this.imageData,n=this.options.viewMode,r=Math.abs(t.rotate)%180==90,i=r?t.naturalHeight:t.naturalWidth,o=r?t.naturalWidth:t.naturalHeight,a=i/o,s=e.width,l=e.height;e.height*a>e.width?3===n?s=e.height*a:l=e.width/a:3===n?l=e.width/a:s=e.height*a;var c={aspectRatio:a,naturalWidth:i,naturalHeight:o,width:s,height:l};this.canvasData=c,this.limited=1===n||2===n,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(e.width-c.width)/2,c.top=(e.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=de({},c)},limitCanvas:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,o=this.cropBoxData,a=n.viewMode,s=i.aspectRatio,l=this.cropped&&o;if(e){var c=Number(n.minCanvasWidth)||0,u=Number(n.minCanvasHeight)||0;a>1?(c=Math.max(c,r.width),u=Math.max(u,r.height),3===a&&(u*s>c?c=u*s:u=c/s)):a>0&&(c?c=Math.max(c,l?o.width:0):u?u=Math.max(u,l?o.height:0):l&&(c=o.width,(u=o.height)*s>c?c=u*s:u=c/s));var d=Me({aspectRatio:s,width:c,height:u});c=d.width,u=d.height,i.minWidth=c,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(t)if(a>(l?0:1)){var h=r.width-i.width,p=r.height-i.height;i.minLeft=Math.min(0,h),i.minTop=Math.min(0,p),i.maxLeft=Math.max(0,h),i.maxTop=Math.max(0,p),l&&this.limited&&(i.minLeft=Math.min(o.left,o.left+(o.width-i.width)),i.minTop=Math.min(o.top,o.top+(o.height-i.height)),i.maxLeft=o.left,i.maxTop=o.top,2===a&&(i.width>=r.width&&(i.minLeft=Math.min(0,h),i.maxLeft=Math.max(0,h)),i.height>=r.height&&(i.minTop=Math.min(0,p),i.maxTop=Math.max(0,p))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=r.width,i.maxTop=r.height},renderCanvas:function(e,t){var n=this.canvasData,r=this.imageData;if(t){var i=function(e){var t=e.width,n=e.height,r=e.degree;if(90==(r=Math.abs(r)%180))return{width:n,height:t};var i=r%90*Math.PI/180,o=Math.sin(i),a=Math.cos(i),s=t*a+n*o,l=t*o+n*a;return r>90?{width:l,height:s}:{width:s,height:l}}({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),o=i.width,a=i.height,s=n.width*(o/n.naturalWidth),l=n.height*(a/n.naturalHeight);n.left-=(s-n.width)/2,n.top-=(l-n.height)/2,n.width=s,n.height=l,n.aspectRatio=o/a,n.naturalWidth=o,n.naturalHeight=a,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,fe(this.canvas,de({width:n.width,height:n.height},Oe({translateX:n.left,translateY:n.top}))),this.renderImage(e),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(e){var t=this.canvasData,n=this.imageData,r=n.naturalWidth*(t.width/t.naturalWidth),i=n.naturalHeight*(t.height/t.naturalHeight);de(n,{width:r,height:i,left:(t.width-r)/2,top:(t.height-i)/2}),fe(this.image,de({width:n.width,height:n.height},Oe(de({translateX:n.left,translateY:n.top},n)))),e&&this.output()},initCropBox:function(){var e=this.options,t=this.canvasData,n=e.aspectRatio||e.initialAspectRatio,r=Number(e.autoCropArea)||.8,i={width:t.width,height:t.height};n&&(t.height*n>t.width?i.height=i.width/n:i.width=i.height*n),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*r),i.height=Math.max(i.minHeight,i.height*r),i.left=t.left+(t.width-i.width)/2,i.top=t.top+(t.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=de({},i)},limitCropBox:function(e,t){var n=this.options,r=this.containerData,i=this.canvasData,o=this.cropBoxData,a=this.limited,s=n.aspectRatio;if(e){var l=Number(n.minCropBoxWidth)||0,c=Number(n.minCropBoxHeight)||0,u=a?Math.min(r.width,i.width,i.width+i.left,r.width-i.left):r.width,d=a?Math.min(r.height,i.height,i.height+i.top,r.height-i.top):r.height;l=Math.min(l,r.width),c=Math.min(c,r.height),s&&(l&&c?c*s>l?c=l/s:l=c*s:l?c=l/s:c&&(l=c*s),d*s>u?d=u/s:u=d*s),o.minWidth=Math.min(l,u),o.minHeight=Math.min(c,d),o.maxWidth=u,o.maxHeight=d}t&&(a?(o.minLeft=Math.max(0,i.left),o.minTop=Math.max(0,i.top),o.maxLeft=Math.min(r.width,i.left+i.width)-o.width,o.maxTop=Math.min(r.height,i.top+i.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=r.width-o.width,o.maxTop=r.height-o.height))},renderCropBox:function(){var e=this.options,t=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,e.movable&&e.cropBoxMovable&&Se(this.face,I,n.width>=t.width&&n.height>=t.height?m:h),fe(this.cropBox,de({width:n.width,height:n.height},Oe({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Te(this.element,D,this.getData())}},je={initPreview:function(){var e=this.element,t=this.crossOrigin,n=this.options.preview,r=t?this.crossOriginUrl:this.url,i=e.alt||"The image to preview",o=document.createElement("img");if(t&&(o.crossOrigin=t),o.src=r,o.alt=i,this.viewBox.appendChild(o),this.viewBoxImage=o,n){var a=n;"string"==typeof n?a=e.ownerDocument.querySelectorAll(n):n.querySelector&&(a=[n]),this.previews=a,ue(a,(function(e){var n=document.createElement("img");Se(e,F,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=r,n.alt=i,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)}))}},resetPreview:function(){ue(this.previews,(function(e){var t=we(e,F);fe(e,{width:t.width,height:t.height}),e.innerHTML=t.html,function(e,t){if(ie(e[t]))try{delete e[t]}catch(n){e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch(n){e.dataset[t]=void 0}else e.removeAttribute("data-".concat(ke(t)))}(e,F)}))},preview:function(){var e=this.imageData,t=this.canvasData,n=this.cropBoxData,r=n.width,i=n.height,o=e.width,a=e.height,s=n.left-t.left-e.left,l=n.top-t.top-e.top;this.cropped&&!this.disabled&&(fe(this.viewBoxImage,de({width:o,height:a},Oe(de({translateX:-s,translateY:-l},e)))),ue(this.previews,(function(t){var n=we(t,F),c=n.width,u=n.height,d=c,h=u,p=1;r&&(h=i*(p=c/r)),i&&h>u&&(d=r*(p=u/i),h=u),fe(t,{width:d,height:h}),fe(t.getElementsByTagName("img")[0],de({width:o*p,height:a*p},Oe(de({translateX:-s*p,translateY:-l*p},e))))})))}},ze={bind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&xe(e,N,t.cropstart),se(t.cropmove)&&xe(e,B,t.cropmove),se(t.cropend)&&xe(e,G,t.cropend),se(t.crop)&&xe(e,D,t.crop),se(t.zoom)&&xe(e,J,t.zoom),xe(n,z,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&xe(n,q,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&xe(n,j,this.onDblclick=this.dblclick.bind(this)),xe(e.ownerDocument,W,this.onCropMove=this.cropMove.bind(this)),xe(e.ownerDocument,U,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&xe(window,Y,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,n=this.cropper;se(t.cropstart)&&Ae(e,N,t.cropstart),se(t.cropmove)&&Ae(e,B,t.cropmove),se(t.cropend)&&Ae(e,G,t.cropend),se(t.crop)&&Ae(e,D,t.crop),se(t.zoom)&&Ae(e,J,t.zoom),Ae(n,z,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Ae(n,q,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ae(n,j,this.onDblclick),Ae(e.ownerDocument,W,this.onCropMove),Ae(e.ownerDocument,U,this.onCropEnd),t.responsive&&Ae(window,Y,this.onResize)}},We={resize:function(){if(!this.disabled){var e,t,n=this.options,r=this.container,i=this.containerData,o=r.offsetWidth/i.width,a=r.offsetHeight/i.height,s=Math.abs(o-1)>Math.abs(a-1)?o:a;1!==s&&(n.restore&&(e=this.getCanvasData(),t=this.getCropBoxData()),this.render(),n.restore&&(this.setCanvasData(ue(e,(function(t,n){e[n]=t*s}))),this.setCropBoxData(ue(t,(function(e,n){t[n]=e*s})))))}},dblclick:function(){var e,t;this.disabled||this.options.dragMode===M||this.setDragMode((e=this.dragBox,t=P,(e.classList?e.classList.contains(t):e.className.indexOf(t)>-1)?L:O))},wheel:function(e){var t=this,n=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){t.wheeling=!1}),50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*n,e)))},cropStart:function(e){var t=e.buttons,n=e.button;if(!(this.disabled||("mousedown"===e.type||"pointerdown"===e.type&&"mouse"===e.pointerType)&&(te(t)&&1!==t||te(n)&&0!==n||e.ctrlKey))){var r,i=this.options,o=this.pointers;e.changedTouches?ue(e.changedTouches,(function(e){o[e.identifier]=Le(e)})):o[e.pointerId||0]=Le(e),r=Object.keys(o).length>1&&i.zoomable&&i.zoomOnTouch?f:we(e.target,I),$.test(r)&&!1!==Te(this.element,N,{originalEvent:e,action:r})&&(e.preventDefault(),this.action=r,this.cropping=!1,r===p&&(this.cropping=!0,ge(this.dragBox,E)))}},cropMove:function(e){var t=this.action;if(!this.disabled&&t){var n=this.pointers;e.preventDefault(),!1!==Te(this.element,B,{originalEvent:e,action:t})&&(e.changedTouches?ue(e.changedTouches,(function(e){de(n[e.identifier]||{},Le(e,!0))})):de(n[e.pointerId||0]||{},Le(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,n=this.pointers;e.changedTouches?ue(e.changedTouches,(function(e){delete n[e.identifier]})):delete n[e.pointerId||0],t&&(e.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,ve(this.dragBox,E,this.cropped&&this.options.modal)),Te(this.element,G,{originalEvent:e,action:t}))}}},Ue={change:function(e){var n,r=this.options,i=this.canvasData,o=this.containerData,a=this.cropBoxData,s=this.pointers,l=this.action,c=r.aspectRatio,u=a.left,d=a.top,P=a.width,A=a.height,T=u+P,R=d+A,E=0,_=0,I=o.width,F=o.height,O=!0;!c&&e.shiftKey&&(c=P&&A?P/A:1),this.limited&&(E=a.minLeft,_=a.minTop,I=E+Math.min(o.width,i.width,i.left+i.width),F=_+Math.min(o.height,i.height,i.top+i.height));var L=s[Object.keys(s)[0]],M={x:L.endX-L.startX,y:L.endY-L.startY},D=function(e){switch(e){case g:T+M.x>I&&(M.x=I-T);break;case y:u+M.x<E&&(M.x=E-u);break;case b:d+M.y<_&&(M.y=_-d);break;case v:R+M.y>F&&(M.y=F-R)}};switch(l){case h:u+=M.x,d+=M.y;break;case g:if(M.x>=0&&(T>=I||c&&(d<=_||R>=F))){O=!1;break}D(g),(P+=M.x)<0&&(l=y,u-=P=-P),c&&(A=P/c,d+=(a.height-A)/2);break;case b:if(M.y<=0&&(d<=_||c&&(u<=E||T>=I))){O=!1;break}D(b),A-=M.y,d+=M.y,A<0&&(l=v,d-=A=-A),c&&(P=A*c,u+=(a.width-P)/2);break;case y:if(M.x<=0&&(u<=E||c&&(d<=_||R>=F))){O=!1;break}D(y),P-=M.x,u+=M.x,P<0&&(l=g,u-=P=-P),c&&(A=P/c,d+=(a.height-A)/2);break;case v:if(M.y>=0&&(R>=F||c&&(u<=E||T>=I))){O=!1;break}D(v),(A+=M.y)<0&&(l=b,d-=A=-A),c&&(P=A*c,u+=(a.width-P)/2);break;case k:if(c){if(M.y<=0&&(d<=_||T>=I)){O=!1;break}D(b),A-=M.y,d+=M.y,P=A*c}else D(b),D(g),M.x>=0?T<I?P+=M.x:M.y<=0&&d<=_&&(O=!1):P+=M.x,M.y<=0?d>_&&(A-=M.y,d+=M.y):(A-=M.y,d+=M.y);P<0&&A<0?(l=C,d-=A=-A,u-=P=-P):P<0?(l=w,u-=P=-P):A<0&&(l=S,d-=A=-A);break;case w:if(c){if(M.y<=0&&(d<=_||u<=E)){O=!1;break}D(b),A-=M.y,d+=M.y,P=A*c,u+=a.width-P}else D(b),D(y),M.x<=0?u>E?(P-=M.x,u+=M.x):M.y<=0&&d<=_&&(O=!1):(P-=M.x,u+=M.x),M.y<=0?d>_&&(A-=M.y,d+=M.y):(A-=M.y,d+=M.y);P<0&&A<0?(l=S,d-=A=-A,u-=P=-P):P<0?(l=k,u-=P=-P):A<0&&(l=C,d-=A=-A);break;case C:if(c){if(M.x<=0&&(u<=E||R>=F)){O=!1;break}D(y),P-=M.x,u+=M.x,A=P/c}else D(v),D(y),M.x<=0?u>E?(P-=M.x,u+=M.x):M.y>=0&&R>=F&&(O=!1):(P-=M.x,u+=M.x),M.y>=0?R<F&&(A+=M.y):A+=M.y;P<0&&A<0?(l=k,d-=A=-A,u-=P=-P):P<0?(l=S,u-=P=-P):A<0&&(l=w,d-=A=-A);break;case S:if(c){if(M.x>=0&&(T>=I||R>=F)){O=!1;break}D(g),A=(P+=M.x)/c}else D(v),D(g),M.x>=0?T<I?P+=M.x:M.y>=0&&R>=F&&(O=!1):P+=M.x,M.y>=0?R<F&&(A+=M.y):A+=M.y;P<0&&A<0?(l=w,d-=A=-A,u-=P=-P):P<0?(l=C,u-=P=-P):A<0&&(l=k,d-=A=-A);break;case m:this.move(M.x,M.y),O=!1;break;case f:this.zoom(function(e){var n=t({},e),r=0;return ue(e,(function(e,t){delete n[t],ue(n,(function(t){var n=Math.abs(e.startX-t.startX),i=Math.abs(e.startY-t.startY),o=Math.abs(e.endX-t.endX),a=Math.abs(e.endY-t.endY),s=Math.sqrt(n*n+i*i),l=(Math.sqrt(o*o+a*a)-s)/s;Math.abs(l)>Math.abs(r)&&(r=l)}))})),r}(s),e),O=!1;break;case p:if(!M.x||!M.y){O=!1;break}n=Re(this.cropper),u=L.startX-n.left,d=L.startY-n.top,P=a.minWidth,A=a.minHeight,M.x>0?l=M.y>0?S:k:M.x<0&&(u-=P,l=M.y>0?C:w),M.y<0&&(d-=A),this.cropped||(ye(this.cropBox,x),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}O&&(a.width=P,a.height=A,a.left=u,a.top=d,this.action=l,this.renderCropBox()),ue(s,(function(e){e.startX=e.endX,e.startY=e.endY}))}},He={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&ge(this.dragBox,E),ye(this.cropBox,x),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=de({},this.initialImageData),this.canvasData=de({},this.initialCanvasData),this.cropBoxData=de({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(de(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ye(this.dragBox,E),ge(this.cropBox,x)),this},replace:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,ue(this.previews,(function(t){t.getElementsByTagName("img")[0].src=e})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ye(this.cropper,A)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,ge(this.cropper,A)),this},destroy:function(){var e=this.element;return e[d]?(e[d]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,r=n.left,i=n.top;return this.moveTo(re(e)?e:r+Number(e),re(t)?t:i+Number(t))},moveTo:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(te(e)&&(n.left=e,r=!0),te(t)&&(n.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var n=this.canvasData;return e=(e=Number(e))<0?1/(1-e):1+e,this.zoomTo(n.width*e/n.naturalWidth,null,t)},zoomTo:function(e,t,n){var r=this.options,i=this.canvasData,o=i.width,a=i.height,s=i.naturalWidth,l=i.naturalHeight;if((e=Number(e))>=0&&this.ready&&!this.disabled&&r.zoomable){var c=s*e,u=l*e;if(!1===Te(this.element,J,{ratio:e,oldRatio:o/s,originalEvent:n}))return this;if(n){var d=this.pointers,h=Re(this.cropper),p=d&&Object.keys(d).length?function(e){var t=0,n=0,r=0;return ue(e,(function(e){var i=e.startX,o=e.startY;t+=i,n+=o,r+=1})),{pageX:t/=r,pageY:n/=r}}(d):{pageX:n.pageX,pageY:n.pageY};i.left-=(c-o)*((p.pageX-h.left-i.left)/o),i.top-=(u-a)*((p.pageY-h.top-i.top)/a)}else ae(t)&&te(t.x)&&te(t.y)?(i.left-=(c-o)*((t.x-i.left)/o),i.top-=(u-a)*((t.y-i.top)/a)):(i.left-=(c-o)/2,i.top-=(u-a)/2);i.width=c,i.height=u,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return te(e=Number(e))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,te(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(te(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(te(e)&&(n.scaleX=e,r=!0),te(t)&&(n.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.options,r=this.imageData,i=this.canvasData,o=this.cropBoxData;if(this.ready&&this.cropped){e={x:o.left-i.left,y:o.top-i.top,width:o.width,height:o.height};var a=r.width/r.naturalWidth;if(ue(e,(function(t,n){e[n]=t/a})),t){var s=Math.round(e.y+e.height),l=Math.round(e.x+e.width);e.x=Math.round(e.x),e.y=Math.round(e.y),e.width=l-e.x,e.height=s-e.y}}else e={x:0,y:0,width:0,height:0};return n.rotatable&&(e.rotate=r.rotate||0),n.scalable&&(e.scaleX=r.scaleX||1,e.scaleY=r.scaleY||1),e},setData:function(e){var t=this.options,n=this.imageData,r=this.canvasData,i={};if(this.ready&&!this.disabled&&ae(e)){var o=!1;t.rotatable&&te(e.rotate)&&e.rotate!==n.rotate&&(n.rotate=e.rotate,o=!0),t.scalable&&(te(e.scaleX)&&e.scaleX!==n.scaleX&&(n.scaleX=e.scaleX,o=!0),te(e.scaleY)&&e.scaleY!==n.scaleY&&(n.scaleY=e.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var a=n.width/n.naturalWidth;te(e.x)&&(i.left=e.x*a+r.left),te(e.y)&&(i.top=e.y*a+r.top),te(e.width)&&(i.width=e.width*a),te(e.height)&&(i.height=e.height*a),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?de({},this.containerData):{}},getImageData:function(){return this.sized?de({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&ue(["left","top","width","height","naturalWidth","naturalHeight"],(function(n){t[n]=e[n]})),t},setCanvasData:function(e){var t=this.canvasData,n=t.aspectRatio;return this.ready&&!this.disabled&&ae(e)&&(te(e.left)&&(t.left=e.left),te(e.top)&&(t.top=e.top),te(e.width)?(t.width=e.width,t.height=e.width/n):te(e.height)&&(t.height=e.height,t.width=e.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var e,t=this.cropBoxData;return this.ready&&this.cropped&&(e={left:t.left,top:t.top,width:t.width,height:t.height}),e||{}},setCropBoxData:function(e){var t,n,r=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&ae(e)&&(te(e.left)&&(r.left=e.left),te(e.top)&&(r.top=e.top),te(e.width)&&e.width!==r.width&&(t=!0,r.width=e.width),te(e.height)&&e.height!==r.height&&(n=!0,r.height=e.height),i&&(t?r.height=r.width/i:n&&(r.width=r.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,n=function(e,t,n,r){var o=t.aspectRatio,a=t.naturalWidth,s=t.naturalHeight,l=t.rotate,c=void 0===l?0:l,u=t.scaleX,d=void 0===u?1:u,h=t.scaleY,p=void 0===h?1:h,m=n.aspectRatio,f=n.naturalWidth,g=n.naturalHeight,y=r.fillColor,v=void 0===y?"transparent":y,b=r.imageSmoothingEnabled,k=void 0===b||b,w=r.imageSmoothingQuality,S=void 0===w?"low":w,C=r.maxWidth,P=void 0===C?1/0:C,A=r.maxHeight,x=void 0===A?1/0:A,T=r.minWidth,R=void 0===T?0:T,E=r.minHeight,_=void 0===E?0:E,I=document.createElement("canvas"),F=I.getContext("2d"),O=Me({aspectRatio:m,width:P,height:x}),L=Me({aspectRatio:m,width:R,height:_},"cover"),M=Math.min(O.width,Math.max(L.width,f)),D=Math.min(O.height,Math.max(L.height,g)),G=Me({aspectRatio:o,width:P,height:x}),B=Me({aspectRatio:o,width:R,height:_},"cover"),N=Math.min(G.width,Math.max(B.width,a)),j=Math.min(G.height,Math.max(B.height,s)),z=[-N/2,-j/2,N,j];return I.width=pe(M),I.height=pe(D),F.fillStyle=v,F.fillRect(0,0,M,D),F.save(),F.translate(M/2,D/2),F.rotate(c*Math.PI/180),F.scale(d,p),F.imageSmoothingEnabled=k,F.imageSmoothingQuality=S,F.drawImage.apply(F,[e].concat(i(z.map((function(e){return Math.floor(pe(e))}))))),F.restore(),I}(this.image,this.imageData,t,e);if(!this.cropped)return n;var r=this.getData(e.rounded),o=r.x,a=r.y,s=r.width,l=r.height,c=n.width/Math.floor(t.naturalWidth);1!==c&&(o*=c,a*=c,s*=c,l*=c);var u=s/l,d=Me({aspectRatio:u,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),h=Me({aspectRatio:u,width:e.minWidth||0,height:e.minHeight||0},"cover"),p=Me({aspectRatio:u,width:e.width||(1!==c?n.width:s),height:e.height||(1!==c?n.height:l)}),m=p.width,f=p.height;m=Math.min(d.width,Math.max(h.width,m)),f=Math.min(d.height,Math.max(h.height,f));var g=document.createElement("canvas"),y=g.getContext("2d");g.width=pe(m),g.height=pe(f),y.fillStyle=e.fillColor||"transparent",y.fillRect(0,0,m,f);var v=e.imageSmoothingEnabled,b=void 0===v||v,k=e.imageSmoothingQuality;y.imageSmoothingEnabled=b,k&&(y.imageSmoothingQuality=k);var w,S,C,P,A,x,T=n.width,R=n.height,E=o,_=a;E<=-s||E>T?(E=0,w=0,C=0,A=0):E<=0?(C=-E,E=0,A=w=Math.min(T,s+E)):E<=T&&(C=0,A=w=Math.min(s,T-E)),w<=0||_<=-l||_>R?(_=0,S=0,P=0,x=0):_<=0?(P=-_,_=0,x=S=Math.min(R,l+_)):_<=R&&(P=0,x=S=Math.min(l,R-_));var I=[E,_,w,S];if(A>0&&x>0){var F=m/s;I.push(C*F,P*F,A*F,x*F)}return y.drawImage.apply(y,[n].concat(i(I.map((function(e){return Math.floor(pe(e))}))))),g},setAspectRatio:function(e){var t=this.options;return this.disabled||re(e)||(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,n=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var i=e===O,o=t.movable&&e===L;e=i||o?e:M,t.dragMode=e,Se(n,I,e),ve(n,P,i),ve(n,_,o),t.cropBoxMovable||(Se(r,I,e),ve(r,P,i),ve(r,_,o))}return this}},Ye=l.Cropper,qe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t||!X.test(t.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=t,this.options=de({},Q,ae(n)&&n),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return t=e,i=[{key:"noConflict",value:function(){return window.Cropper=Ye,e}},{key:"setDefaults",value:function(e){de(Q,ae(e)&&e)}}],(n=[{key:"init",value:function(){var e,t=this.element,n=t.tagName.toLowerCase();if(!t[d]){if(t[d]=this,"img"===n){if(this.isImg=!0,e=t.getAttribute("src")||"",this.originalUrl=e,!e)return;e=t.src}else"canvas"===n&&window.HTMLCanvasElement&&(e=t.toDataURL());this.load(e)}}},{key:"load",value:function(e){var t,n,r,i,o=this;if(e){this.url=e,this.imageData={};var a=this.element,s=this.options;if(s.rotatable||s.scalable||(s.checkOrientation=!1),s.checkOrientation&&window.ArrayBuffer)if(K.test(e))Z.test(e)?this.read((t=e.replace(Ge,""),n=atob(t),r=new ArrayBuffer(n.length),ue(i=new Uint8Array(r),(function(e,t){i[t]=n.charCodeAt(t)})),r)):this.clone();else{var l=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=l,l.onabort=c,l.onerror=c,l.ontimeout=c,l.onprogress=function(){l.getResponseHeader("content-type")!==V&&l.abort()},l.onload=function(){o.read(l.response)},l.onloadend=function(){o.reloading=!1,o.xhr=null},s.checkCrossOrigin&&Ie(e)&&a.crossOrigin&&(e=Fe(e)),l.open("GET",e,!0),l.responseType="arraybuffer",l.withCredentials="use-credentials"===a.crossOrigin,l.send()}else this.clone()}}},{key:"read",value:function(e){var t=this.options,n=this.imageData,r=Be(e),i=0,o=1,a=1;if(r>1){this.url=function(e,t){for(var n=[],r=new Uint8Array(e);r.length>0;)n.push(De.apply(null,ce(r.subarray(0,8192)))),r=r.subarray(8192);return"data:".concat(t,";base64,").concat(btoa(n.join("")))}(e,V);var s=function(e){var t=0,n=1,r=1;switch(e){case 2:n=-1;break;case 3:t=-180;break;case 4:r=-1;break;case 5:t=90,r=-1;break;case 6:t=90;break;case 7:t=90,n=-1;break;case 8:t=-90}return{rotate:t,scaleX:n,scaleY:r}}(r);i=s.rotate,o=s.scaleX,a=s.scaleY}t.rotatable&&(n.rotate=i),t.scalable&&(n.scaleX=o,n.scaleY=a),this.clone()}},{key:"clone",value:function(){var e=this.element,t=this.url,n=e.crossOrigin,r=t;this.options.checkCrossOrigin&&Ie(t)&&(n||(n="anonymous"),r=Fe(t)),this.crossOrigin=n,this.crossOriginUrl=r;var i=document.createElement("img");n&&(i.crossOrigin=n),i.src=r||t,i.alt=e.alt||"The image to crop",this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),ge(i,T),e.parentNode.insertBefore(i,e.nextSibling)}},{key:"start",value:function(){var e=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;var n=l.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(l.navigator.userAgent),r=function(t,n){de(e.imageData,{naturalWidth:t,naturalHeight:n,aspectRatio:t/n}),e.initialImageData=de({},e.imageData),e.sizing=!1,e.sized=!0,e.build()};if(!t.naturalWidth||n){var i=document.createElement("img"),o=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){r(i.width,i.height),n||o.removeChild(i)},i.src=t.src,n||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",o.appendChild(i))}else r(t.naturalWidth,t.naturalHeight)}},{key:"stop",value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var e=this.element,t=this.options,n=this.image,r=e.parentNode,i=document.createElement("div");i.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var o=i.querySelector(".".concat(d,"-container")),a=o.querySelector(".".concat(d,"-canvas")),s=o.querySelector(".".concat(d,"-drag-box")),l=o.querySelector(".".concat(d,"-crop-box")),c=l.querySelector(".".concat(d,"-face"));this.container=r,this.cropper=o,this.canvas=a,this.dragBox=s,this.cropBox=l,this.viewBox=o.querySelector(".".concat(d,"-view-box")),this.face=c,a.appendChild(n),ge(e,x),r.insertBefore(o,e.nextSibling),ye(n,T),this.initPreview(),this.bind(),t.initialAspectRatio=Math.max(0,t.initialAspectRatio)||NaN,t.aspectRatio=Math.max(0,t.aspectRatio)||NaN,t.viewMode=Math.max(0,Math.min(3,Math.round(t.viewMode)))||0,ge(l,x),t.guides||ge(l.getElementsByClassName("".concat(d,"-dashed")),x),t.center||ge(l.getElementsByClassName("".concat(d,"-center")),x),t.background&&ge(o,"".concat(d,"-bg")),t.highlight||ge(c,R),t.cropBoxMovable&&(ge(c,_),Se(c,I,h)),t.cropBoxResizable||(ge(l.getElementsByClassName("".concat(d,"-line")),x),ge(l.getElementsByClassName("".concat(d,"-point")),x)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),se(t.ready)&&xe(e,H,t.ready,{once:!0}),Te(e,H)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var e=this.cropper.parentNode;e&&e.removeChild(this.cropper),ye(this.element,x)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&r(t.prototype,n),i&&r(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,n,i}();return de(qe.prototype,Ne,je,ze,We,Ue,He),qe}()},486:function(e,t,n){var r;e=n.nmd(e),function(){var i,o="Expected a function",a="__lodash_hash_undefined__",s="__lodash_placeholder__",l=32,c=128,u=1/0,d=9007199254740991,h=NaN,p=4294967295,m=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],f="[object Arguments]",g="[object Array]",y="[object Boolean]",v="[object Date]",b="[object Error]",k="[object Function]",w="[object GeneratorFunction]",S="[object Map]",C="[object Number]",P="[object Object]",A="[object Promise]",x="[object RegExp]",T="[object Set]",R="[object String]",E="[object Symbol]",_="[object WeakMap]",I="[object ArrayBuffer]",F="[object DataView]",O="[object Float32Array]",L="[object Float64Array]",M="[object Int8Array]",D="[object Int16Array]",G="[object Int32Array]",B="[object Uint8Array]",N="[object Uint8ClampedArray]",j="[object Uint16Array]",z="[object Uint32Array]",W=/\b__p \+= '';/g,U=/\b(__p \+=) '' \+/g,H=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>"']/g,J=RegExp(Y.source),V=RegExp(q.source),$=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),re=/^\s+/,ie=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ae=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ce=/[()=,{}\[\]\/\s]/,ue=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,me=/^0b[01]+$/i,fe=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,be=/($^)/,ke=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ce="\\u2700-\\u27bf",Pe="a-z\\xdf-\\xf6\\xf8-\\xff",Ae="A-Z\\xc0-\\xd6\\xd8-\\xde",xe="\\ufe0e\\ufe0f",Te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Re="["+we+"]",Ee="["+Te+"]",_e="["+Se+"]",Ie="\\d+",Fe="["+Ce+"]",Oe="["+Pe+"]",Le="[^"+we+Te+Ie+Ce+Pe+Ae+"]",Me="\\ud83c[\\udffb-\\udfff]",De="[^"+we+"]",Ge="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+Ae+"]",je="\\u200d",ze="(?:"+Oe+"|"+Le+")",We="(?:"+Ne+"|"+Le+")",Ue="(?:['’](?:d|ll|m|re|s|t|ve))?",He="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ye="(?:"+_e+"|"+Me+")?",qe="["+xe+"]?",Je=qe+Ye+"(?:"+je+"(?:"+[De,Ge,Be].join("|")+")"+qe+Ye+")*",Ve="(?:"+[Fe,Ge,Be].join("|")+")"+Je,$e="(?:"+[De+_e+"?",_e,Ge,Be,Re].join("|")+")",Ke=RegExp("['’]","g"),Ze=RegExp(_e,"g"),Xe=RegExp(Me+"(?="+Me+")|"+$e+Je,"g"),Qe=RegExp([Ne+"?"+Oe+"+"+Ue+"(?="+[Ee,Ne,"$"].join("|")+")",We+"+"+He+"(?="+[Ee,Ne+ze,"$"].join("|")+")",Ne+"?"+ze+"+"+Ue,Ne+"+"+He,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ie,Ve].join("|"),"g"),et=RegExp("["+je+we+Se+xe+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,it={};it[O]=it[L]=it[M]=it[D]=it[G]=it[B]=it[N]=it[j]=it[z]=!0,it[f]=it[g]=it[I]=it[y]=it[F]=it[v]=it[b]=it[k]=it[S]=it[C]=it[P]=it[x]=it[T]=it[R]=it[_]=!1;var ot={};ot[f]=ot[g]=ot[I]=ot[F]=ot[y]=ot[v]=ot[O]=ot[L]=ot[M]=ot[D]=ot[G]=ot[S]=ot[C]=ot[P]=ot[x]=ot[T]=ot[R]=ot[E]=ot[B]=ot[N]=ot[j]=ot[z]=!0,ot[b]=ot[k]=ot[_]=!1;var at={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},st=parseFloat,lt=parseInt,ct="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ut="object"==typeof self&&self&&self.Object===Object&&self,dt=ct||ut||Function("return this")(),ht=t&&!t.nodeType&&t,pt=ht&&e&&!e.nodeType&&e,mt=pt&&pt.exports===ht,ft=mt&&ct.process,gt=function(){try{return pt&&pt.require&&pt.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),yt=gt&>.isArrayBuffer,vt=gt&>.isDate,bt=gt&>.isMap,kt=gt&>.isRegExp,wt=gt&>.isSet,St=gt&>.isTypedArray;function Ct(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Pt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i];t(r,a,n(a),e)}return r}function At(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function xt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function Tt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Rt(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}function Et(e,t){return!(null==e||!e.length)&&Nt(e,t,0)>-1}function _t(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function It(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function Ft(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Ot(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function Lt(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function Mt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Dt=Ut("length");function Gt(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function Bt(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Nt(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):Bt(e,zt,n)}function jt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function zt(e){return e!=e}function Wt(e,t){var n=null==e?0:e.length;return n?qt(e,t)/n:h}function Ut(e){return function(t){return null==t?i:t[e]}}function Ht(e){return function(t){return null==e?i:e[t]}}function Yt(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function qt(e,t){for(var n,r=-1,o=e.length;++r<o;){var a=t(e[r]);a!==i&&(n=n===i?a:n+a)}return n}function Jt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Vt(e){return e?e.slice(0,hn(e)+1).replace(re,""):e}function $t(e){return function(t){return e(t)}}function Kt(e,t){return It(t,(function(t){return e[t]}))}function Zt(e,t){return e.has(t)}function Xt(e,t){for(var n=-1,r=e.length;++n<r&&Nt(t,e[n],0)>-1;);return n}function Qt(e,t){for(var n=e.length;n--&&Nt(t,e[n],0)>-1;);return n}var en=Ht({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Ht({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+at[e]}function rn(e){return et.test(e)}function on(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function an(e,t){return function(n){return e(t(n))}}function sn(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n];a!==t&&a!==s||(e[n]=s,o[i++]=n)}return o}function ln(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function cn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function un(e){return rn(e)?function(e){for(var t=Xe.lastIndex=0;Xe.test(e);)++t;return t}(e):Dt(e)}function dn(e){return rn(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.split("")}(e)}function hn(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var pn=Ht({"&":"&","<":"<",">":">",""":'"',"'":"'"}),mn=function e(t){var n,r=(t=null==t?dt:mn.defaults(dt.Object(),t,mn.pick(dt,nt))).Array,ie=t.Date,we=t.Error,Se=t.Function,Ce=t.Math,Pe=t.Object,Ae=t.RegExp,xe=t.String,Te=t.TypeError,Re=r.prototype,Ee=Se.prototype,_e=Pe.prototype,Ie=t["__core-js_shared__"],Fe=Ee.toString,Oe=_e.hasOwnProperty,Le=0,Me=(n=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",De=_e.toString,Ge=Fe.call(Pe),Be=dt._,Ne=Ae("^"+Fe.call(Oe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=mt?t.Buffer:i,ze=t.Symbol,We=t.Uint8Array,Ue=je?je.allocUnsafe:i,He=an(Pe.getPrototypeOf,Pe),Ye=Pe.create,qe=_e.propertyIsEnumerable,Je=Re.splice,Ve=ze?ze.isConcatSpreadable:i,$e=ze?ze.iterator:i,Xe=ze?ze.toStringTag:i,et=function(){try{var e=lo(Pe,"defineProperty");return e({},"",{}),e}catch(e){}}(),at=t.clearTimeout!==dt.clearTimeout&&t.clearTimeout,ct=ie&&ie.now!==dt.Date.now&&ie.now,ut=t.setTimeout!==dt.setTimeout&&t.setTimeout,ht=Ce.ceil,pt=Ce.floor,ft=Pe.getOwnPropertySymbols,gt=je?je.isBuffer:i,Dt=t.isFinite,Ht=Re.join,fn=an(Pe.keys,Pe),gn=Ce.max,yn=Ce.min,vn=ie.now,bn=t.parseInt,kn=Ce.random,wn=Re.reverse,Sn=lo(t,"DataView"),Cn=lo(t,"Map"),Pn=lo(t,"Promise"),An=lo(t,"Set"),xn=lo(t,"WeakMap"),Tn=lo(Pe,"create"),Rn=xn&&new xn,En={},_n=Go(Sn),In=Go(Cn),Fn=Go(Pn),On=Go(An),Ln=Go(xn),Mn=ze?ze.prototype:i,Dn=Mn?Mn.valueOf:i,Gn=Mn?Mn.toString:i;function Bn(e){if(es(e)&&!Ua(e)&&!(e instanceof Wn)){if(e instanceof zn)return e;if(Oe.call(e,"__wrapped__"))return Bo(e)}return new zn(e)}var Nn=function(){function e(){}return function(t){if(!Qa(t))return{};if(Ye)return Ye(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function jn(){}function zn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Wn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Hn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Yn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function qn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Yn;++t<n;)this.add(e[t])}function Jn(e){var t=this.__data__=new Hn(e);this.size=t.size}function Vn(e,t){var n=Ua(e),r=!n&&Wa(e),i=!n&&!r&&Ja(e),o=!n&&!r&&!i&&ls(e),a=n||r||i||o,s=a?Jt(e.length,xe):[],l=s.length;for(var c in e)!t&&!Oe.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||go(c,l))||s.push(c);return s}function $n(e){var t=e.length;return t?e[Yr(0,t-1)]:i}function Kn(e,t){return Fo(xi(e),or(t,0,e.length))}function Zn(e){return Fo(xi(e))}function Xn(e,t,n){(n!==i&&!Na(e[t],n)||n===i&&!(t in e))&&rr(e,t,n)}function Qn(e,t,n){var r=e[t];Oe.call(e,t)&&Na(r,n)&&(n!==i||t in e)||rr(e,t,n)}function er(e,t){for(var n=e.length;n--;)if(Na(e[n][0],t))return n;return-1}function tr(e,t,n,r){return ur(e,(function(e,i,o){t(r,e,n(e),o)})),r}function nr(e,t){return e&&Ti(t,_s(t),e)}function rr(e,t,n){"__proto__"==t&&et?et(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ir(e,t){for(var n=-1,o=t.length,a=r(o),s=null==e;++n<o;)a[n]=s?i:As(e,t[n]);return a}function or(e,t,n){return e==e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function ar(e,t,n,r,o,a){var s,l=1&t,c=2&t,u=4&t;if(n&&(s=o?n(e,r,o,a):n(e)),s!==i)return s;if(!Qa(e))return e;var d=Ua(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Oe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return xi(e,s)}else{var h=ho(e),p=h==k||h==w;if(Ja(e))return ki(e,l);if(h==P||h==f||p&&!o){if(s=c||p?{}:mo(e),!l)return c?function(e,t){return Ti(e,uo(e),t)}(e,function(e,t){return e&&Ti(t,Is(t),e)}(s,e)):function(e,t){return Ti(e,co(e),t)}(e,nr(s,e))}else{if(!ot[h])return o?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case I:return wi(e);case y:case v:return new i(+e);case F:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case L:case M:case D:case G:case B:case N:case j:case z:return Si(e,n);case S:return new i;case C:case R:return new i(e);case x:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case T:return new i;case E:return r=e,Dn?Pe(Dn.call(r)):{}}}(e,h,l)}}a||(a=new Jn);var m=a.get(e);if(m)return m;a.set(e,s),os(e)?e.forEach((function(r){s.add(ar(r,t,n,r,e,a))})):ts(e)&&e.forEach((function(r,i){s.set(i,ar(r,t,n,i,e,a))}));var g=d?i:(u?c?to:eo:c?Is:_s)(e);return At(g||e,(function(r,i){g&&(r=e[i=r]),Qn(s,i,ar(r,t,n,i,e,a))})),s}function sr(e,t,n){var r=n.length;if(null==e)return!r;for(e=Pe(e);r--;){var o=n[r],a=t[o],s=e[o];if(s===i&&!(o in e)||!a(s))return!1}return!0}function lr(e,t,n){if("function"!=typeof e)throw new Te(o);return Ro((function(){e.apply(i,n)}),t)}function cr(e,t,n,r){var i=-1,o=Et,a=!0,s=e.length,l=[],c=t.length;if(!s)return l;n&&(t=It(t,$t(n))),r?(o=_t,a=!1):t.length>=200&&(o=Zt,a=!1,t=new qn(t));e:for(;++i<s;){var u=e[i],d=null==n?u:n(u);if(u=r||0!==u?u:0,a&&d==d){for(var h=c;h--;)if(t[h]===d)continue e;l.push(u)}else o(t,d,r)||l.push(u)}return l}Bn.templateSettings={escape:$,evaluate:K,interpolate:Z,variable:"",imports:{_:Bn}},Bn.prototype=jn.prototype,Bn.prototype.constructor=Bn,zn.prototype=Nn(jn.prototype),zn.prototype.constructor=zn,Wn.prototype=Nn(jn.prototype),Wn.prototype.constructor=Wn,Un.prototype.clear=function(){this.__data__=Tn?Tn(null):{},this.size=0},Un.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Un.prototype.get=function(e){var t=this.__data__;if(Tn){var n=t[e];return n===a?i:n}return Oe.call(t,e)?t[e]:i},Un.prototype.has=function(e){var t=this.__data__;return Tn?t[e]!==i:Oe.call(t,e)},Un.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Tn&&t===i?a:t,this},Hn.prototype.clear=function(){this.__data__=[],this.size=0},Hn.prototype.delete=function(e){var t=this.__data__,n=er(t,e);return!(n<0||(n==t.length-1?t.pop():Je.call(t,n,1),--this.size,0))},Hn.prototype.get=function(e){var t=this.__data__,n=er(t,e);return n<0?i:t[n][1]},Hn.prototype.has=function(e){return er(this.__data__,e)>-1},Hn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Yn.prototype.clear=function(){this.size=0,this.__data__={hash:new Un,map:new(Cn||Hn),string:new Un}},Yn.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},Yn.prototype.get=function(e){return ao(this,e).get(e)},Yn.prototype.has=function(e){return ao(this,e).has(e)},Yn.prototype.set=function(e,t){var n=ao(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(e){return this.__data__.set(e,a),this},qn.prototype.has=function(e){return this.__data__.has(e)},Jn.prototype.clear=function(){this.__data__=new Hn,this.size=0},Jn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Jn.prototype.get=function(e){return this.__data__.get(e)},Jn.prototype.has=function(e){return this.__data__.has(e)},Jn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Hn){var r=n.__data__;if(!Cn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Yn(r)}return n.set(e,t),this.size=n.size,this};var ur=_i(vr),dr=_i(br,!0);function hr(e,t){var n=!0;return ur(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function pr(e,t,n){for(var r=-1,o=e.length;++r<o;){var a=e[r],s=t(a);if(null!=s&&(l===i?s==s&&!ss(s):n(s,l)))var l=s,c=a}return c}function mr(e,t){var n=[];return ur(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function fr(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=fo),i||(i=[]);++o<a;){var s=e[o];t>0&&n(s)?t>1?fr(s,t-1,n,r,i):Ft(i,s):r||(i[i.length]=s)}return i}var gr=Ii(),yr=Ii(!0);function vr(e,t){return e&&gr(e,t,_s)}function br(e,t){return e&&yr(e,t,_s)}function kr(e,t){return Rt(t,(function(t){return Ka(e[t])}))}function wr(e,t){for(var n=0,r=(t=gi(t,e)).length;null!=e&&n<r;)e=e[Do(t[n++])];return n&&n==r?e:i}function Sr(e,t,n){var r=t(e);return Ua(e)?r:Ft(r,n(e))}function Cr(e){return null==e?e===i?"[object Undefined]":"[object Null]":Xe&&Xe in Pe(e)?function(e){var t=Oe.call(e,Xe),n=e[Xe];try{e[Xe]=i;var r=!0}catch(e){}var o=De.call(e);return r&&(t?e[Xe]=n:delete e[Xe]),o}(e):function(e){return De.call(e)}(e)}function Pr(e,t){return e>t}function Ar(e,t){return null!=e&&Oe.call(e,t)}function xr(e,t){return null!=e&&t in Pe(e)}function Tr(e,t,n){for(var o=n?_t:Et,a=e[0].length,s=e.length,l=s,c=r(s),u=1/0,d=[];l--;){var h=e[l];l&&t&&(h=It(h,$t(t))),u=yn(h.length,u),c[l]=!n&&(t||a>=120&&h.length>=120)?new qn(l&&h):i}h=e[0];var p=-1,m=c[0];e:for(;++p<a&&d.length<u;){var f=h[p],g=t?t(f):f;if(f=n||0!==f?f:0,!(m?Zt(m,g):o(d,g,n))){for(l=s;--l;){var y=c[l];if(!(y?Zt(y,g):o(e[l],g,n)))continue e}m&&m.push(g),d.push(f)}}return d}function Rr(e,t,n){var r=null==(e=Ao(e,t=gi(t,e)))?e:e[Do($o(t))];return null==r?i:Ct(r,e,n)}function Er(e){return es(e)&&Cr(e)==f}function _r(e,t,n,r,o){return e===t||(null==e||null==t||!es(e)&&!es(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var s=Ua(e),l=Ua(t),c=s?g:ho(e),u=l?g:ho(t),d=(c=c==f?P:c)==P,h=(u=u==f?P:u)==P,p=c==u;if(p&&Ja(e)){if(!Ja(t))return!1;s=!0,d=!1}if(p&&!d)return a||(a=new Jn),s||ls(e)?Xi(e,t,n,r,o,a):function(e,t,n,r,i,o,a){switch(n){case F:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case I:return!(e.byteLength!=t.byteLength||!o(new We(e),new We(t)));case y:case v:case C:return Na(+e,+t);case b:return e.name==t.name&&e.message==t.message;case x:case R:return e==t+"";case S:var s=on;case T:var l=1&r;if(s||(s=ln),e.size!=t.size&&!l)return!1;var c=a.get(e);if(c)return c==t;r|=2,a.set(e,t);var u=Xi(s(e),s(t),r,i,o,a);return a.delete(e),u;case E:if(Dn)return Dn.call(e)==Dn.call(t)}return!1}(e,t,c,n,r,o,a);if(!(1&n)){var m=d&&Oe.call(e,"__wrapped__"),k=h&&Oe.call(t,"__wrapped__");if(m||k){var w=m?e.value():e,A=k?t.value():t;return a||(a=new Jn),o(w,A,n,r,a)}}return!!p&&(a||(a=new Jn),function(e,t,n,r,o,a){var s=1&n,l=eo(e),c=l.length;if(c!=eo(t).length&&!s)return!1;for(var u=c;u--;){var d=l[u];if(!(s?d in t:Oe.call(t,d)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var m=!0;a.set(e,t),a.set(t,e);for(var f=s;++u<c;){var g=e[d=l[u]],y=t[d];if(r)var v=s?r(y,g,d,t,e,a):r(g,y,d,e,t,a);if(!(v===i?g===y||o(g,y,n,r,a):v)){m=!1;break}f||(f="constructor"==d)}if(m&&!f){var b=e.constructor,k=t.constructor;b==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof k&&k instanceof k||(m=!1)}return a.delete(e),a.delete(t),m}(e,t,n,r,o,a))}(e,t,n,r,_r,o))}function Ir(e,t,n,r){var o=n.length,a=o,s=!r;if(null==e)return!a;for(e=Pe(e);o--;){var l=n[o];if(s&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<a;){var c=(l=n[o])[0],u=e[c],d=l[1];if(s&&l[2]){if(u===i&&!(c in e))return!1}else{var h=new Jn;if(r)var p=r(u,d,c,e,t,h);if(!(p===i?_r(d,u,3,r,h):p))return!1}}return!0}function Fr(e){return!(!Qa(e)||(t=e,Me&&Me in t))&&(Ka(e)?Ne:fe).test(Go(e));var t}function Or(e){return"function"==typeof e?e:null==e?nl:"object"==typeof e?Ua(e)?Br(e[0],e[1]):Gr(e):dl(e)}function Lr(e){if(!wo(e))return fn(e);var t=[];for(var n in Pe(e))Oe.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Mr(e,t){return e<t}function Dr(e,t){var n=-1,i=Ya(e)?r(e.length):[];return ur(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function Gr(e){var t=so(e);return 1==t.length&&t[0][2]?Co(t[0][0],t[0][1]):function(n){return n===e||Ir(n,e,t)}}function Br(e,t){return vo(e)&&So(t)?Co(Do(e),t):function(n){var r=As(n,e);return r===i&&r===t?xs(n,e):_r(t,r,3)}}function Nr(e,t,n,r,o){e!==t&&gr(t,(function(a,s){if(o||(o=new Jn),Qa(a))!function(e,t,n,r,o,a,s){var l=xo(e,n),c=xo(t,n),u=s.get(c);if(u)Xn(e,n,u);else{var d=a?a(l,c,n+"",e,t,s):i,h=d===i;if(h){var p=Ua(c),m=!p&&Ja(c),f=!p&&!m&&ls(c);d=c,p||m||f?Ua(l)?d=l:qa(l)?d=xi(l):m?(h=!1,d=ki(c,!0)):f?(h=!1,d=Si(c,!0)):d=[]:rs(c)||Wa(c)?(d=l,Wa(l)?d=gs(l):Qa(l)&&!Ka(l)||(d=mo(c))):h=!1}h&&(s.set(c,d),o(d,c,r,a,s),s.delete(c)),Xn(e,n,d)}}(e,t,s,n,Nr,r,o);else{var l=r?r(xo(e,s),a,s+"",e,t,o):i;l===i&&(l=a),Xn(e,s,l)}}),Is)}function jr(e,t){var n=e.length;if(n)return go(t+=t<0?n:0,n)?e[t]:i}function zr(e,t,n){t=t.length?It(t,(function(e){return Ua(e)?function(t){return wr(t,1===e.length?e[0]:e)}:e})):[nl];var r=-1;t=It(t,$t(oo()));var i=Dr(e,(function(e,n,i){var o=It(t,(function(t){return t(e)}));return{criteria:o,index:++r,value:e}}));return function(e,t){var r=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var r=-1,i=e.criteria,o=t.criteria,a=i.length,s=n.length;++r<a;){var l=Ci(i[r],o[r]);if(l)return r>=s?l:l*("desc"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function Wr(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var a=t[r],s=wr(e,a);n(s,a)&&Kr(o,gi(a,e),s)}return o}function Ur(e,t,n,r){var i=r?jt:Nt,o=-1,a=t.length,s=e;for(e===t&&(t=xi(t)),n&&(s=It(e,$t(n)));++o<a;)for(var l=0,c=t[o],u=n?n(c):c;(l=i(s,u,l,r))>-1;)s!==e&&Je.call(s,l,1),Je.call(e,l,1);return e}function Hr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;go(i)?Je.call(e,i,1):li(e,i)}}return e}function Yr(e,t){return e+pt(kn()*(t-e+1))}function qr(e,t){var n="";if(!e||t<1||t>d)return n;do{t%2&&(n+=e),(t=pt(t/2))&&(e+=e)}while(t);return n}function Jr(e,t){return Eo(Po(e,t,nl),e+"")}function Vr(e){return $n(Ns(e))}function $r(e,t){var n=Ns(e);return Fo(n,or(t,0,n.length))}function Kr(e,t,n,r){if(!Qa(e))return e;for(var o=-1,a=(t=gi(t,e)).length,s=a-1,l=e;null!=l&&++o<a;){var c=Do(t[o]),u=n;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(o!=s){var d=l[c];(u=r?r(d,c,l):i)===i&&(u=Qa(d)?d:go(t[o+1])?[]:{})}Qn(l,c,u),l=l[c]}return e}var Zr=Rn?function(e,t){return Rn.set(e,t),e}:nl,Xr=et?function(e,t){return et(e,"toString",{configurable:!0,enumerable:!1,value:Qs(t),writable:!0})}:nl;function Qr(e){return Fo(Ns(e))}function ei(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i<o;)a[i]=e[i+t];return a}function ti(e,t){var n;return ur(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function ni(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,a=e[o];null!==a&&!ss(a)&&(n?a<=t:a<t)?r=o+1:i=o}return i}return ri(e,t,nl,n)}function ri(e,t,n,r){var o=0,a=null==e?0:e.length;if(0===a)return 0;for(var s=(t=n(t))!=t,l=null===t,c=ss(t),u=t===i;o<a;){var d=pt((o+a)/2),h=n(e[d]),p=h!==i,m=null===h,f=h==h,g=ss(h);if(s)var y=r||f;else y=u?f&&(r||p):l?f&&p&&(r||!m):c?f&&p&&!m&&(r||!g):!m&&!g&&(r?h<=t:h<t);y?o=d+1:a=d}return yn(a,4294967294)}function ii(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!Na(s,l)){var l=s;o[i++]=0===a?0:a}}return o}function oi(e){return"number"==typeof e?e:ss(e)?h:+e}function ai(e){if("string"==typeof e)return e;if(Ua(e))return It(e,ai)+"";if(ss(e))return Gn?Gn.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function si(e,t,n){var r=-1,i=Et,o=e.length,a=!0,s=[],l=s;if(n)a=!1,i=_t;else if(o>=200){var c=t?null:qi(e);if(c)return ln(c);a=!1,i=Zt,l=new qn}else l=t?[]:s;e:for(;++r<o;){var u=e[r],d=t?t(u):u;if(u=n||0!==u?u:0,a&&d==d){for(var h=l.length;h--;)if(l[h]===d)continue e;t&&l.push(d),s.push(u)}else i(l,d,n)||(l!==s&&l.push(d),s.push(u))}return s}function li(e,t){return null==(e=Ao(e,t=gi(t,e)))||delete e[Do($o(t))]}function ci(e,t,n,r){return Kr(e,t,n(wr(e,t)),r)}function ui(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?ei(e,r?0:o,r?o+1:i):ei(e,r?o+1:0,r?i:o)}function di(e,t){var n=e;return n instanceof Wn&&(n=n.value()),Ot(t,(function(e,t){return t.func.apply(t.thisArg,Ft([e],t.args))}),n)}function hi(e,t,n){var i=e.length;if(i<2)return i?si(e[0]):[];for(var o=-1,a=r(i);++o<i;)for(var s=e[o],l=-1;++l<i;)l!=o&&(a[o]=cr(a[o]||s,e[l],t,n));return si(fr(a,1),t,n)}function pi(e,t,n){for(var r=-1,o=e.length,a=t.length,s={};++r<o;){var l=r<a?t[r]:i;n(s,e[r],l)}return s}function mi(e){return qa(e)?e:[]}function fi(e){return"function"==typeof e?e:nl}function gi(e,t){return Ua(e)?e:vo(e,t)?[e]:Mo(ys(e))}var yi=Jr;function vi(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:ei(e,t,n)}var bi=at||function(e){return dt.clearTimeout(e)};function ki(e,t){if(t)return e.slice();var n=e.length,r=Ue?Ue(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new We(t).set(new We(e)),t}function Si(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Ci(e,t){if(e!==t){var n=e!==i,r=null===e,o=e==e,a=ss(e),s=t!==i,l=null===t,c=t==t,u=ss(t);if(!l&&!u&&!a&&e>t||a&&s&&c&&!l&&!u||r&&s&&c||!n&&c||!o)return 1;if(!r&&!a&&!u&&e<t||u&&n&&o&&!r&&!a||l&&n&&o||!s&&o||!c)return-1}return 0}function Pi(e,t,n,i){for(var o=-1,a=e.length,s=n.length,l=-1,c=t.length,u=gn(a-s,0),d=r(c+u),h=!i;++l<c;)d[l]=t[l];for(;++o<s;)(h||o<a)&&(d[n[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function Ai(e,t,n,i){for(var o=-1,a=e.length,s=-1,l=n.length,c=-1,u=t.length,d=gn(a-l,0),h=r(d+u),p=!i;++o<d;)h[o]=e[o];for(var m=o;++c<u;)h[m+c]=t[c];for(;++s<l;)(p||o<a)&&(h[m+n[s]]=e[o++]);return h}function xi(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function Ti(e,t,n,r){var o=!n;n||(n={});for(var a=-1,s=t.length;++a<s;){var l=t[a],c=r?r(n[l],e[l],l,n,e):i;c===i&&(c=e[l]),o?rr(n,l,c):Qn(n,l,c)}return n}function Ri(e,t){return function(n,r){var i=Ua(n)?Pt:tr,o=t?t():{};return i(n,e,oo(r,2),o)}}function Ei(e){return Jr((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:i,s=o>2?n[2]:i;for(a=e.length>3&&"function"==typeof a?(o--,a):i,s&&yo(n[0],n[1],s)&&(a=o<3?i:a,o=1),t=Pe(t);++r<o;){var l=n[r];l&&e(t,l,r,a)}return t}))}function _i(e,t){return function(n,r){if(null==n)return n;if(!Ya(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=Pe(n);(t?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Ii(e){return function(t,n,r){for(var i=-1,o=Pe(t),a=r(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===n(o[l],l,o))break}return t}}function Fi(e){return function(t){var n=rn(t=ys(t))?dn(t):i,r=n?n[0]:t.charAt(0),o=n?vi(n,1).join(""):t.slice(1);return r[e]()+o}}function Oi(e){return function(t){return Ot(Ks(Ws(t).replace(Ke,"")),e,"")}}function Li(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Nn(e.prototype),r=e.apply(n,t);return Qa(r)?r:n}}function Mi(e){return function(t,n,r){var o=Pe(t);if(!Ya(t)){var a=oo(n,3);t=_s(t),n=function(e){return a(o[e],e,o)}}var s=e(t,n,r);return s>-1?o[a?t[s]:s]:i}}function Di(e){return Qi((function(t){var n=t.length,r=n,a=zn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new Te(o);if(a&&!l&&"wrapper"==ro(s))var l=new zn([],!0)}for(r=l?r:n;++r<n;){var c=ro(s=t[r]),u="wrapper"==c?no(s):i;l=u&&bo(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[ro(u[0])].apply(l,u[3]):1==s.length&&bo(s)?l[c]():l.thru(s)}return function(){var e=arguments,r=e[0];if(l&&1==e.length&&Ua(r))return l.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function Gi(e,t,n,o,a,s,l,u,d,h){var p=t&c,m=1&t,f=2&t,g=24&t,y=512&t,v=f?i:Li(e);return function c(){for(var b=arguments.length,k=r(b),w=b;w--;)k[w]=arguments[w];if(g)var S=io(c),C=function(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}(k,S);if(o&&(k=Pi(k,o,a,g)),s&&(k=Ai(k,s,l,g)),b-=C,g&&b<h){var P=sn(k,S);return Hi(e,t,Gi,c.placeholder,n,k,P,u,d,h-b)}var A=m?n:this,x=f?A[e]:e;return b=k.length,u?k=function(e,t){for(var n=e.length,r=yn(t.length,n),o=xi(e);r--;){var a=t[r];e[r]=go(a,n)?o[a]:i}return e}(k,u):y&&b>1&&k.reverse(),p&&d<b&&(k.length=d),this&&this!==dt&&this instanceof c&&(x=v||Li(x)),x.apply(A,k)}}function Bi(e,t){return function(n,r){return function(e,t,n,r){return vr(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function Ni(e,t){return function(n,r){var o;if(n===i&&r===i)return t;if(n!==i&&(o=n),r!==i){if(o===i)return r;"string"==typeof n||"string"==typeof r?(n=ai(n),r=ai(r)):(n=oi(n),r=oi(r)),o=e(n,r)}return o}}function ji(e){return Qi((function(t){return t=It(t,$t(oo())),Jr((function(n){var r=this;return e(t,(function(e){return Ct(e,r,n)}))}))}))}function zi(e,t){var n=(t=t===i?" ":ai(t)).length;if(n<2)return n?qr(t,e):t;var r=qr(t,ht(e/un(t)));return rn(t)?vi(dn(r),0,e).join(""):r.slice(0,e)}function Wi(e){return function(t,n,o){return o&&"number"!=typeof o&&yo(t,n,o)&&(n=o=i),t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n,i){for(var o=-1,a=gn(ht((t-e)/(n||1)),0),s=r(a);a--;)s[i?a:++o]=e,e+=n;return s}(t,n,o=o===i?t<n?1:-1:hs(o),e)}}function Ui(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=fs(t),n=fs(n)),e(t,n)}}function Hi(e,t,n,r,o,a,s,c,u,d){var h=8&t;t|=h?l:64,4&(t&=~(h?64:l))||(t&=-4);var p=[e,t,o,h?a:i,h?s:i,h?i:a,h?i:s,c,u,d],m=n.apply(i,p);return bo(e)&&To(m,p),m.placeholder=r,_o(m,e,t)}function Yi(e){var t=Ce[e];return function(e,n){if(e=fs(e),(n=null==n?0:yn(ps(n),292))&&Dt(e)){var r=(ys(e)+"e").split("e");return+((r=(ys(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var qi=An&&1/ln(new An([,-0]))[1]==u?function(e){return new An(e)}:sl;function Ji(e){return function(t){var n=ho(t);return n==S?on(t):n==T?cn(t):function(e,t){return It(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Vi(e,t,n,a,u,d,h,p){var m=2&t;if(!m&&"function"!=typeof e)throw new Te(o);var f=a?a.length:0;if(f||(t&=-97,a=u=i),h=h===i?h:gn(ps(h),0),p=p===i?p:ps(p),f-=u?u.length:0,64&t){var g=a,y=u;a=u=i}var v=m?i:no(e),b=[e,t,n,a,u,g,y,d,h,p];if(v&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,a=r==c&&8==n||r==c&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!a)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var l=t[3];if(l){var u=e[3];e[3]=u?Pi(u,l,t[4]):l,e[4]=u?sn(e[3],s):t[4]}(l=t[5])&&(u=e[5],e[5]=u?Ai(u,l,t[6]):l,e[6]=u?sn(e[5],s):t[6]),(l=t[7])&&(e[7]=l),r&c&&(e[8]=null==e[8]?t[8]:yn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(b,v),e=b[0],t=b[1],n=b[2],a=b[3],u=b[4],!(p=b[9]=b[9]===i?m?0:e.length:gn(b[9]-f,0))&&24&t&&(t&=-25),t&&1!=t)k=8==t||16==t?function(e,t,n){var o=Li(e);return function a(){for(var s=arguments.length,l=r(s),c=s,u=io(a);c--;)l[c]=arguments[c];var d=s<3&&l[0]!==u&&l[s-1]!==u?[]:sn(l,u);return(s-=d.length)<n?Hi(e,t,Gi,a.placeholder,i,l,d,i,i,n-s):Ct(this&&this!==dt&&this instanceof a?o:e,this,l)}}(e,t,p):t!=l&&33!=t||u.length?Gi.apply(i,b):function(e,t,n,i){var o=1&t,a=Li(e);return function t(){for(var s=-1,l=arguments.length,c=-1,u=i.length,d=r(u+l),h=this&&this!==dt&&this instanceof t?a:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=arguments[++s];return Ct(h,o?n:this,d)}}(e,t,n,a);else var k=function(e,t,n){var r=1&t,i=Li(e);return function t(){return(this&&this!==dt&&this instanceof t?i:e).apply(r?n:this,arguments)}}(e,t,n);return _o((v?Zr:To)(k,b),e,t)}function $i(e,t,n,r){return e===i||Na(e,_e[n])&&!Oe.call(r,n)?t:e}function Ki(e,t,n,r,o,a){return Qa(e)&&Qa(t)&&(a.set(t,e),Nr(e,t,i,Ki,a),a.delete(t)),e}function Zi(e){return rs(e)?i:e}function Xi(e,t,n,r,o,a){var s=1&n,l=e.length,c=t.length;if(l!=c&&!(s&&c>l))return!1;var u=a.get(e),d=a.get(t);if(u&&d)return u==t&&d==e;var h=-1,p=!0,m=2&n?new qn:i;for(a.set(e,t),a.set(t,e);++h<l;){var f=e[h],g=t[h];if(r)var y=s?r(g,f,h,t,e,a):r(f,g,h,e,t,a);if(y!==i){if(y)continue;p=!1;break}if(m){if(!Mt(t,(function(e,t){if(!Zt(m,t)&&(f===e||o(f,e,n,r,a)))return m.push(t)}))){p=!1;break}}else if(f!==g&&!o(f,g,n,r,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Qi(e){return Eo(Po(e,i,Ho),e+"")}function eo(e){return Sr(e,_s,co)}function to(e){return Sr(e,Is,uo)}var no=Rn?function(e){return Rn.get(e)}:sl;function ro(e){for(var t=e.name+"",n=En[t],r=Oe.call(En,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function io(e){return(Oe.call(Bn,"placeholder")?Bn:e).placeholder}function oo(){var e=Bn.iteratee||rl;return e=e===rl?Or:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function so(e){for(var t=_s(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,So(i)]}return t}function lo(e,t){var n=function(e,t){return null==e?i:e[t]}(e,t);return Fr(n)?n:i}var co=ft?function(e){return null==e?[]:(e=Pe(e),Rt(ft(e),(function(t){return qe.call(e,t)})))}:ml,uo=ft?function(e){for(var t=[];e;)Ft(t,co(e)),e=He(e);return t}:ml,ho=Cr;function po(e,t,n){for(var r=-1,i=(t=gi(t,e)).length,o=!1;++r<i;){var a=Do(t[r]);if(!(o=null!=e&&n(e,a)))break;e=e[a]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Xa(i)&&go(a,i)&&(Ua(e)||Wa(e))}function mo(e){return"function"!=typeof e.constructor||wo(e)?{}:Nn(He(e))}function fo(e){return Ua(e)||Wa(e)||!!(Ve&&e&&e[Ve])}function go(e,t){var n=typeof e;return!!(t=null==t?d:t)&&("number"==n||"symbol"!=n&&ye.test(e))&&e>-1&&e%1==0&&e<t}function yo(e,t,n){if(!Qa(n))return!1;var r=typeof t;return!!("number"==r?Ya(n)&&go(t,n.length):"string"==r&&t in n)&&Na(n[t],e)}function vo(e,t){if(Ua(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ss(e))||Q.test(e)||!X.test(e)||null!=t&&e in Pe(t)}function bo(e){var t=ro(e),n=Bn[t];if("function"!=typeof n||!(t in Wn.prototype))return!1;if(e===n)return!0;var r=no(n);return!!r&&e===r[0]}(Sn&&ho(new Sn(new ArrayBuffer(1)))!=F||Cn&&ho(new Cn)!=S||Pn&&ho(Pn.resolve())!=A||An&&ho(new An)!=T||xn&&ho(new xn)!=_)&&(ho=function(e){var t=Cr(e),n=t==P?e.constructor:i,r=n?Go(n):"";if(r)switch(r){case _n:return F;case In:return S;case Fn:return A;case On:return T;case Ln:return _}return t});var ko=Ie?Ka:fl;function wo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||_e)}function So(e){return e==e&&!Qa(e)}function Co(e,t){return function(n){return null!=n&&n[e]===t&&(t!==i||e in Pe(n))}}function Po(e,t,n){return t=gn(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=gn(i.length-t,0),s=r(a);++o<a;)s[o]=i[t+o];o=-1;for(var l=r(t+1);++o<t;)l[o]=i[o];return l[t]=n(s),Ct(e,this,l)}}function Ao(e,t){return t.length<2?e:wr(e,ei(t,0,-1))}function xo(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var To=Io(Zr),Ro=ut||function(e,t){return dt.setTimeout(e,t)},Eo=Io(Xr);function _o(e,t,n){var r=t+"";return Eo(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return At(m,(function(n){var r="_."+n[0];t&n[1]&&!Et(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(ae);return t?t[1].split(se):[]}(r),n)))}function Io(e){var t=0,n=0;return function(){var r=vn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Fo(e,t){var n=-1,r=e.length,o=r-1;for(t=t===i?r:t;++n<t;){var a=Yr(n,o),s=e[a];e[a]=e[n],e[n]=s}return e.length=t,e}var Oo,Lo,Mo=(Oo=Oa((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,n,r,i){t.push(r?i.replace(ue,"$1"):n||e)})),t}),(function(e){return 500===Lo.size&&Lo.clear(),e})),Lo=Oo.cache,Oo);function Do(e){if("string"==typeof e||ss(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Go(e){if(null!=e){try{return Fe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Bo(e){if(e instanceof Wn)return e.clone();var t=new zn(e.__wrapped__,e.__chain__);return t.__actions__=xi(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var No=Jr((function(e,t){return qa(e)?cr(e,fr(t,1,qa,!0)):[]})),jo=Jr((function(e,t){var n=$o(t);return qa(n)&&(n=i),qa(e)?cr(e,fr(t,1,qa,!0),oo(n,2)):[]})),zo=Jr((function(e,t){var n=$o(t);return qa(n)&&(n=i),qa(e)?cr(e,fr(t,1,qa,!0),i,n):[]}));function Wo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ps(n);return i<0&&(i=gn(r+i,0)),Bt(e,oo(t,3),i)}function Uo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==i&&(o=ps(n),o=n<0?gn(r+o,0):yn(o,r-1)),Bt(e,oo(t,3),o,!0)}function Ho(e){return null!=e&&e.length?fr(e,1):[]}function Yo(e){return e&&e.length?e[0]:i}var qo=Jr((function(e){var t=It(e,mi);return t.length&&t[0]===e[0]?Tr(t):[]})),Jo=Jr((function(e){var t=$o(e),n=It(e,mi);return t===$o(n)?t=i:n.pop(),n.length&&n[0]===e[0]?Tr(n,oo(t,2)):[]})),Vo=Jr((function(e){var t=$o(e),n=It(e,mi);return(t="function"==typeof t?t:i)&&n.pop(),n.length&&n[0]===e[0]?Tr(n,i,t):[]}));function $o(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Ko=Jr(Zo);function Zo(e,t){return e&&e.length&&t&&t.length?Ur(e,t):e}var Xo=Qi((function(e,t){var n=null==e?0:e.length,r=ir(e,t);return Hr(e,It(t,(function(e){return go(e,n)?+e:e})).sort(Ci)),r}));function Qo(e){return null==e?e:wn.call(e)}var ea=Jr((function(e){return si(fr(e,1,qa,!0))})),ta=Jr((function(e){var t=$o(e);return qa(t)&&(t=i),si(fr(e,1,qa,!0),oo(t,2))})),na=Jr((function(e){var t=$o(e);return t="function"==typeof t?t:i,si(fr(e,1,qa,!0),i,t)}));function ra(e){if(!e||!e.length)return[];var t=0;return e=Rt(e,(function(e){if(qa(e))return t=gn(e.length,t),!0})),Jt(t,(function(t){return It(e,Ut(t))}))}function ia(e,t){if(!e||!e.length)return[];var n=ra(e);return null==t?n:It(n,(function(e){return Ct(t,i,e)}))}var oa=Jr((function(e,t){return qa(e)?cr(e,t):[]})),aa=Jr((function(e){return hi(Rt(e,qa))})),sa=Jr((function(e){var t=$o(e);return qa(t)&&(t=i),hi(Rt(e,qa),oo(t,2))})),la=Jr((function(e){var t=$o(e);return t="function"==typeof t?t:i,hi(Rt(e,qa),i,t)})),ca=Jr(ra),ua=Jr((function(e){var t=e.length,n=t>1?e[t-1]:i;return n="function"==typeof n?(e.pop(),n):i,ia(e,n)}));function da(e){var t=Bn(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var pa=Qi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return ir(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Wn&&go(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:i}),new zn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ma=Ri((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),fa=Mi(Wo),ga=Mi(Uo);function ya(e,t){return(Ua(e)?At:ur)(e,oo(t,3))}function va(e,t){return(Ua(e)?xt:dr)(e,oo(t,3))}var ba=Ri((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),ka=Jr((function(e,t,n){var i=-1,o="function"==typeof t,a=Ya(e)?r(e.length):[];return ur(e,(function(e){a[++i]=o?Ct(t,e,n):Rr(e,t,n)})),a})),wa=Ri((function(e,t,n){rr(e,n,t)}));function Sa(e,t){return(Ua(e)?It:Dr)(e,oo(t,3))}var Ca=Ri((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),Pa=Jr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&yo(e,t[0],t[1])?t=[]:n>2&&yo(t[0],t[1],t[2])&&(t=[t[0]]),zr(e,fr(t,1),[])})),Aa=ct||function(){return dt.Date.now()};function xa(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,Vi(e,c,i,i,i,i,t)}function Ta(e,t){var n;if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Ra=Jr((function(e,t,n){var r=1;if(n.length){var i=sn(n,io(Ra));r|=l}return Vi(e,r,t,n,i)})),Ea=Jr((function(e,t,n){var r=3;if(n.length){var i=sn(n,io(Ea));r|=l}return Vi(t,r,e,n,i)}));function _a(e,t,n){var r,a,s,l,c,u,d=0,h=!1,p=!1,m=!0;if("function"!=typeof e)throw new Te(o);function f(t){var n=r,o=a;return r=a=i,d=t,l=e.apply(o,n)}function g(e){var n=e-u;return u===i||n>=t||n<0||p&&e-d>=s}function y(){var e=Aa();if(g(e))return v(e);c=Ro(y,function(e){var n=t-(e-u);return p?yn(n,s-(e-d)):n}(e))}function v(e){return c=i,m&&r?f(e):(r=a=i,l)}function b(){var e=Aa(),n=g(e);if(r=arguments,a=this,u=e,n){if(c===i)return function(e){return d=e,c=Ro(y,t),h?f(e):l}(u);if(p)return bi(c),c=Ro(y,t),f(u)}return c===i&&(c=Ro(y,t)),l}return t=fs(t)||0,Qa(n)&&(h=!!n.leading,s=(p="maxWait"in n)?gn(fs(n.maxWait)||0,t):s,m="trailing"in n?!!n.trailing:m),b.cancel=function(){c!==i&&bi(c),d=0,r=u=a=c=i},b.flush=function(){return c===i?l:v(Aa())},b}var Ia=Jr((function(e,t){return lr(e,1,t)})),Fa=Jr((function(e,t,n){return lr(e,fs(t)||0,n)}));function Oa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Te(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Oa.Cache||Yn),n}function La(e){if("function"!=typeof e)throw new Te(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oa.Cache=Yn;var Ma=yi((function(e,t){var n=(t=1==t.length&&Ua(t[0])?It(t[0],$t(oo())):It(fr(t,1),$t(oo()))).length;return Jr((function(r){for(var i=-1,o=yn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return Ct(e,this,r)}))})),Da=Jr((function(e,t){var n=sn(t,io(Da));return Vi(e,l,i,t,n)})),Ga=Jr((function(e,t){var n=sn(t,io(Ga));return Vi(e,64,i,t,n)})),Ba=Qi((function(e,t){return Vi(e,256,i,i,i,t)}));function Na(e,t){return e===t||e!=e&&t!=t}var ja=Ui(Pr),za=Ui((function(e,t){return e>=t})),Wa=Er(function(){return arguments}())?Er:function(e){return es(e)&&Oe.call(e,"callee")&&!qe.call(e,"callee")},Ua=r.isArray,Ha=yt?$t(yt):function(e){return es(e)&&Cr(e)==I};function Ya(e){return null!=e&&Xa(e.length)&&!Ka(e)}function qa(e){return es(e)&&Ya(e)}var Ja=gt||fl,Va=vt?$t(vt):function(e){return es(e)&&Cr(e)==v};function $a(e){if(!es(e))return!1;var t=Cr(e);return t==b||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!rs(e)}function Ka(e){if(!Qa(e))return!1;var t=Cr(e);return t==k||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Za(e){return"number"==typeof e&&e==ps(e)}function Xa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function Qa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function es(e){return null!=e&&"object"==typeof e}var ts=bt?$t(bt):function(e){return es(e)&&ho(e)==S};function ns(e){return"number"==typeof e||es(e)&&Cr(e)==C}function rs(e){if(!es(e)||Cr(e)!=P)return!1;var t=He(e);if(null===t)return!0;var n=Oe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Fe.call(n)==Ge}var is=kt?$t(kt):function(e){return es(e)&&Cr(e)==x},os=wt?$t(wt):function(e){return es(e)&&ho(e)==T};function as(e){return"string"==typeof e||!Ua(e)&&es(e)&&Cr(e)==R}function ss(e){return"symbol"==typeof e||es(e)&&Cr(e)==E}var ls=St?$t(St):function(e){return es(e)&&Xa(e.length)&&!!it[Cr(e)]},cs=Ui(Mr),us=Ui((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Ya(e))return as(e)?dn(e):xi(e);if($e&&e[$e])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[$e]());var t=ho(e);return(t==S?on:t==T?ln:Ns)(e)}function hs(e){return e?(e=fs(e))===u||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ps(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ms(e){return e?or(ps(e),0,p):0}function fs(e){if("number"==typeof e)return e;if(ss(e))return h;if(Qa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Qa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Vt(e);var n=me.test(e);return n||ge.test(e)?lt(e.slice(2),n?2:8):pe.test(e)?h:+e}function gs(e){return Ti(e,Is(e))}function ys(e){return null==e?"":ai(e)}var vs=Ei((function(e,t){if(wo(t)||Ya(t))Ti(t,_s(t),e);else for(var n in t)Oe.call(t,n)&&Qn(e,n,t[n])})),bs=Ei((function(e,t){Ti(t,Is(t),e)})),ks=Ei((function(e,t,n,r){Ti(t,Is(t),e,r)})),ws=Ei((function(e,t,n,r){Ti(t,_s(t),e,r)})),Ss=Qi(ir),Cs=Jr((function(e,t){e=Pe(e);var n=-1,r=t.length,o=r>2?t[2]:i;for(o&&yo(t[0],t[1],o)&&(r=1);++n<r;)for(var a=t[n],s=Is(a),l=-1,c=s.length;++l<c;){var u=s[l],d=e[u];(d===i||Na(d,_e[u])&&!Oe.call(e,u))&&(e[u]=a[u])}return e})),Ps=Jr((function(e){return e.push(i,Ki),Ct(Os,i,e)}));function As(e,t,n){var r=null==e?i:wr(e,t);return r===i?n:r}function xs(e,t){return null!=e&&po(e,t,xr)}var Ts=Bi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=De.call(t)),e[t]=n}),Qs(nl)),Rs=Bi((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=De.call(t)),Oe.call(e,t)?e[t].push(n):e[t]=[n]}),oo),Es=Jr(Rr);function _s(e){return Ya(e)?Vn(e):Lr(e)}function Is(e){return Ya(e)?Vn(e,!0):function(e){if(!Qa(e))return function(e){var t=[];if(null!=e)for(var n in Pe(e))t.push(n);return t}(e);var t=wo(e),n=[];for(var r in e)("constructor"!=r||!t&&Oe.call(e,r))&&n.push(r);return n}(e)}var Fs=Ei((function(e,t,n){Nr(e,t,n)})),Os=Ei((function(e,t,n,r){Nr(e,t,n,r)})),Ls=Qi((function(e,t){var n={};if(null==e)return n;var r=!1;t=It(t,(function(t){return t=gi(t,e),r||(r=t.length>1),t})),Ti(e,to(e),n),r&&(n=ar(n,7,Zi));for(var i=t.length;i--;)li(n,t[i]);return n})),Ms=Qi((function(e,t){return null==e?{}:function(e,t){return Wr(e,t,(function(t,n){return xs(e,n)}))}(e,t)}));function Ds(e,t){if(null==e)return{};var n=It(to(e),(function(e){return[e]}));return t=oo(t),Wr(e,n,(function(e,n){return t(e,n[0])}))}var Gs=Ji(_s),Bs=Ji(Is);function Ns(e){return null==e?[]:Kt(e,_s(e))}var js=Oi((function(e,t,n){return t=t.toLowerCase(),e+(n?zs(t):t)}));function zs(e){return $s(ys(e).toLowerCase())}function Ws(e){return(e=ys(e))&&e.replace(ve,en).replace(Ze,"")}var Us=Oi((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Hs=Oi((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ys=Fi("toLowerCase"),qs=Oi((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Js=Oi((function(e,t,n){return e+(n?" ":"")+$s(t)})),Vs=Oi((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),$s=Fi("toUpperCase");function Ks(e,t,n){return e=ys(e),(t=n?i:t)===i?function(e){return tt.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Zs=Jr((function(e,t){try{return Ct(e,i,t)}catch(e){return $a(e)?e:new we(e)}})),Xs=Qi((function(e,t){return At(t,(function(t){t=Do(t),rr(e,t,Ra(e[t],e))})),e}));function Qs(e){return function(){return e}}var el=Di(),tl=Di(!0);function nl(e){return e}function rl(e){return Or("function"==typeof e?e:ar(e,1))}var il=Jr((function(e,t){return function(n){return Rr(n,e,t)}})),ol=Jr((function(e,t){return function(n){return Rr(e,n,t)}}));function al(e,t,n){var r=_s(t),i=kr(t,r);null!=n||Qa(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=kr(t,_s(t)));var o=!(Qa(n)&&"chain"in n&&!n.chain),a=Ka(e);return At(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=xi(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Ft([this.value()],arguments))})})),e}function sl(){}var ll=ji(It),cl=ji(Tt),ul=ji(Mt);function dl(e){return vo(e)?Ut(Do(e)):function(e){return function(t){return wr(t,e)}}(e)}var hl=Wi(),pl=Wi(!0);function ml(){return[]}function fl(){return!1}var gl,yl=Ni((function(e,t){return e+t}),0),vl=Yi("ceil"),bl=Ni((function(e,t){return e/t}),1),kl=Yi("floor"),wl=Ni((function(e,t){return e*t}),1),Sl=Yi("round"),Cl=Ni((function(e,t){return e-t}),0);return Bn.after=function(e,t){if("function"!=typeof t)throw new Te(o);return e=ps(e),function(){if(--e<1)return t.apply(this,arguments)}},Bn.ary=xa,Bn.assign=vs,Bn.assignIn=bs,Bn.assignInWith=ks,Bn.assignWith=ws,Bn.at=Ss,Bn.before=Ta,Bn.bind=Ra,Bn.bindAll=Xs,Bn.bindKey=Ea,Bn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ua(e)?e:[e]},Bn.chain=da,Bn.chunk=function(e,t,n){t=(n?yo(e,t,n):t===i)?1:gn(ps(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,l=r(ht(o/t));a<o;)l[s++]=ei(e,a,a+=t);return l},Bn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},Bn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return Ft(Ua(n)?xi(n):[n],fr(t,1))},Bn.cond=function(e){var t=null==e?0:e.length,n=oo();return e=t?It(e,(function(e){if("function"!=typeof e[1])throw new Te(o);return[n(e[0]),e[1]]})):[],Jr((function(n){for(var r=-1;++r<t;){var i=e[r];if(Ct(i[0],this,n))return Ct(i[1],this,n)}}))},Bn.conforms=function(e){return function(e){var t=_s(e);return function(n){return sr(n,e,t)}}(ar(e,1))},Bn.constant=Qs,Bn.countBy=ma,Bn.create=function(e,t){var n=Nn(e);return null==t?n:nr(n,t)},Bn.curry=function e(t,n,r){var o=Vi(t,8,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.curryRight=function e(t,n,r){var o=Vi(t,16,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.debounce=_a,Bn.defaults=Cs,Bn.defaultsDeep=Ps,Bn.defer=Ia,Bn.delay=Fa,Bn.difference=No,Bn.differenceBy=jo,Bn.differenceWith=zo,Bn.drop=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=n||t===i?1:ps(t))<0?0:t,r):[]},Bn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,0,(t=r-(t=n||t===i?1:ps(t)))<0?0:t):[]},Bn.dropRightWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!0,!0):[]},Bn.dropWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!0):[]},Bn.fill=function(e,t,n,r){var o=null==e?0:e.length;return o?(n&&"number"!=typeof n&&yo(e,t,n)&&(n=0,r=o),function(e,t,n,r){var o=e.length;for((n=ps(n))<0&&(n=-n>o?0:o+n),(r=r===i||r>o?o:ps(r))<0&&(r+=o),r=n>r?0:ms(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},Bn.filter=function(e,t){return(Ua(e)?Rt:mr)(e,oo(t,3))},Bn.flatMap=function(e,t){return fr(Sa(e,t),1)},Bn.flatMapDeep=function(e,t){return fr(Sa(e,t),u)},Bn.flatMapDepth=function(e,t,n){return n=n===i?1:ps(n),fr(Sa(e,t),n)},Bn.flatten=Ho,Bn.flattenDeep=function(e){return null!=e&&e.length?fr(e,u):[]},Bn.flattenDepth=function(e,t){return null!=e&&e.length?fr(e,t=t===i?1:ps(t)):[]},Bn.flip=function(e){return Vi(e,512)},Bn.flow=el,Bn.flowRight=tl,Bn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},Bn.functions=function(e){return null==e?[]:kr(e,_s(e))},Bn.functionsIn=function(e){return null==e?[]:kr(e,Is(e))},Bn.groupBy=ba,Bn.initial=function(e){return null!=e&&e.length?ei(e,0,-1):[]},Bn.intersection=qo,Bn.intersectionBy=Jo,Bn.intersectionWith=Vo,Bn.invert=Ts,Bn.invertBy=Rs,Bn.invokeMap=ka,Bn.iteratee=rl,Bn.keyBy=wa,Bn.keys=_s,Bn.keysIn=Is,Bn.map=Sa,Bn.mapKeys=function(e,t){var n={};return t=oo(t,3),vr(e,(function(e,r,i){rr(n,t(e,r,i),e)})),n},Bn.mapValues=function(e,t){var n={};return t=oo(t,3),vr(e,(function(e,r,i){rr(n,r,t(e,r,i))})),n},Bn.matches=function(e){return Gr(ar(e,1))},Bn.matchesProperty=function(e,t){return Br(e,ar(t,1))},Bn.memoize=Oa,Bn.merge=Fs,Bn.mergeWith=Os,Bn.method=il,Bn.methodOf=ol,Bn.mixin=al,Bn.negate=La,Bn.nthArg=function(e){return e=ps(e),Jr((function(t){return jr(t,e)}))},Bn.omit=Ls,Bn.omitBy=function(e,t){return Ds(e,La(oo(t)))},Bn.once=function(e){return Ta(2,e)},Bn.orderBy=function(e,t,n,r){return null==e?[]:(Ua(t)||(t=null==t?[]:[t]),Ua(n=r?i:n)||(n=null==n?[]:[n]),zr(e,t,n))},Bn.over=ll,Bn.overArgs=Ma,Bn.overEvery=cl,Bn.overSome=ul,Bn.partial=Da,Bn.partialRight=Ga,Bn.partition=Ca,Bn.pick=Ms,Bn.pickBy=Ds,Bn.property=dl,Bn.propertyOf=function(e){return function(t){return null==e?i:wr(e,t)}},Bn.pull=Ko,Bn.pullAll=Zo,Bn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Ur(e,t,oo(n,2)):e},Bn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Ur(e,t,i,n):e},Bn.pullAt=Xo,Bn.range=hl,Bn.rangeRight=pl,Bn.rearg=Ba,Bn.reject=function(e,t){return(Ua(e)?Rt:mr)(e,La(oo(t,3)))},Bn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=oo(t,3);++r<o;){var a=e[r];t(a,r,e)&&(n.push(a),i.push(r))}return Hr(e,i),n},Bn.rest=function(e,t){if("function"!=typeof e)throw new Te(o);return Jr(e,t=t===i?t:ps(t))},Bn.reverse=Qo,Bn.sampleSize=function(e,t,n){return t=(n?yo(e,t,n):t===i)?1:ps(t),(Ua(e)?Kn:$r)(e,t)},Bn.set=function(e,t,n){return null==e?e:Kr(e,t,n)},Bn.setWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:Kr(e,t,n,r)},Bn.shuffle=function(e){return(Ua(e)?Zn:Qr)(e)},Bn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&yo(e,t,n)?(t=0,n=r):(t=null==t?0:ps(t),n=n===i?r:ps(n)),ei(e,t,n)):[]},Bn.sortBy=Pa,Bn.sortedUniq=function(e){return e&&e.length?ii(e):[]},Bn.sortedUniqBy=function(e,t){return e&&e.length?ii(e,oo(t,2)):[]},Bn.split=function(e,t,n){return n&&"number"!=typeof n&&yo(e,t,n)&&(t=n=i),(n=n===i?p:n>>>0)?(e=ys(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=ai(t))&&rn(e)?vi(dn(e),0,n):e.split(t,n):[]},Bn.spread=function(e,t){if("function"!=typeof e)throw new Te(o);return t=null==t?0:gn(ps(t),0),Jr((function(n){var r=n[t],i=vi(n,0,t);return r&&Ft(i,r),Ct(e,this,i)}))},Bn.tail=function(e){var t=null==e?0:e.length;return t?ei(e,1,t):[]},Bn.take=function(e,t,n){return e&&e.length?ei(e,0,(t=n||t===i?1:ps(t))<0?0:t):[]},Bn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ei(e,(t=r-(t=n||t===i?1:ps(t)))<0?0:t,r):[]},Bn.takeRightWhile=function(e,t){return e&&e.length?ui(e,oo(t,3),!1,!0):[]},Bn.takeWhile=function(e,t){return e&&e.length?ui(e,oo(t,3)):[]},Bn.tap=function(e,t){return t(e),e},Bn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new Te(o);return Qa(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),_a(e,t,{leading:r,maxWait:t,trailing:i})},Bn.thru=ha,Bn.toArray=ds,Bn.toPairs=Gs,Bn.toPairsIn=Bs,Bn.toPath=function(e){return Ua(e)?It(e,Do):ss(e)?[e]:xi(Mo(ys(e)))},Bn.toPlainObject=gs,Bn.transform=function(e,t,n){var r=Ua(e),i=r||Ja(e)||ls(e);if(t=oo(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Qa(e)&&Ka(o)?Nn(He(e)):{}}return(i?At:vr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Bn.unary=function(e){return xa(e,1)},Bn.union=ea,Bn.unionBy=ta,Bn.unionWith=na,Bn.uniq=function(e){return e&&e.length?si(e):[]},Bn.uniqBy=function(e,t){return e&&e.length?si(e,oo(t,2)):[]},Bn.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?si(e,i,t):[]},Bn.unset=function(e,t){return null==e||li(e,t)},Bn.unzip=ra,Bn.unzipWith=ia,Bn.update=function(e,t,n){return null==e?e:ci(e,t,fi(n))},Bn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:i,null==e?e:ci(e,t,fi(n),r)},Bn.values=Ns,Bn.valuesIn=function(e){return null==e?[]:Kt(e,Is(e))},Bn.without=oa,Bn.words=Ks,Bn.wrap=function(e,t){return Da(fi(t),e)},Bn.xor=aa,Bn.xorBy=sa,Bn.xorWith=la,Bn.zip=ca,Bn.zipObject=function(e,t){return pi(e||[],t||[],Qn)},Bn.zipObjectDeep=function(e,t){return pi(e||[],t||[],Kr)},Bn.zipWith=ua,Bn.entries=Gs,Bn.entriesIn=Bs,Bn.extend=bs,Bn.extendWith=ks,al(Bn,Bn),Bn.add=yl,Bn.attempt=Zs,Bn.camelCase=js,Bn.capitalize=zs,Bn.ceil=vl,Bn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=fs(n))==n?n:0),t!==i&&(t=(t=fs(t))==t?t:0),or(fs(e),t,n)},Bn.clone=function(e){return ar(e,4)},Bn.cloneDeep=function(e){return ar(e,5)},Bn.cloneDeepWith=function(e,t){return ar(e,5,t="function"==typeof t?t:i)},Bn.cloneWith=function(e,t){return ar(e,4,t="function"==typeof t?t:i)},Bn.conformsTo=function(e,t){return null==t||sr(e,t,_s(t))},Bn.deburr=Ws,Bn.defaultTo=function(e,t){return null==e||e!=e?t:e},Bn.divide=bl,Bn.endsWith=function(e,t,n){e=ys(e),t=ai(t);var r=e.length,o=n=n===i?r:or(ps(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},Bn.eq=Na,Bn.escape=function(e){return(e=ys(e))&&V.test(e)?e.replace(q,tn):e},Bn.escapeRegExp=function(e){return(e=ys(e))&&ne.test(e)?e.replace(te,"\\$&"):e},Bn.every=function(e,t,n){var r=Ua(e)?Tt:hr;return n&&yo(e,t,n)&&(t=i),r(e,oo(t,3))},Bn.find=fa,Bn.findIndex=Wo,Bn.findKey=function(e,t){return Gt(e,oo(t,3),vr)},Bn.findLast=ga,Bn.findLastIndex=Uo,Bn.findLastKey=function(e,t){return Gt(e,oo(t,3),br)},Bn.floor=kl,Bn.forEach=ya,Bn.forEachRight=va,Bn.forIn=function(e,t){return null==e?e:gr(e,oo(t,3),Is)},Bn.forInRight=function(e,t){return null==e?e:yr(e,oo(t,3),Is)},Bn.forOwn=function(e,t){return e&&vr(e,oo(t,3))},Bn.forOwnRight=function(e,t){return e&&br(e,oo(t,3))},Bn.get=As,Bn.gt=ja,Bn.gte=za,Bn.has=function(e,t){return null!=e&&po(e,t,Ar)},Bn.hasIn=xs,Bn.head=Yo,Bn.identity=nl,Bn.includes=function(e,t,n,r){e=Ya(e)?e:Ns(e),n=n&&!r?ps(n):0;var i=e.length;return n<0&&(n=gn(i+n,0)),as(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Nt(e,t,n)>-1},Bn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ps(n);return i<0&&(i=gn(r+i,0)),Nt(e,t,i)},Bn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=yn(t,n)&&e<gn(t,n)}(e=fs(e),t,n)},Bn.invoke=Es,Bn.isArguments=Wa,Bn.isArray=Ua,Bn.isArrayBuffer=Ha,Bn.isArrayLike=Ya,Bn.isArrayLikeObject=qa,Bn.isBoolean=function(e){return!0===e||!1===e||es(e)&&Cr(e)==y},Bn.isBuffer=Ja,Bn.isDate=Va,Bn.isElement=function(e){return es(e)&&1===e.nodeType&&!rs(e)},Bn.isEmpty=function(e){if(null==e)return!0;if(Ya(e)&&(Ua(e)||"string"==typeof e||"function"==typeof e.splice||Ja(e)||ls(e)||Wa(e)))return!e.length;var t=ho(e);if(t==S||t==T)return!e.size;if(wo(e))return!Lr(e).length;for(var n in e)if(Oe.call(e,n))return!1;return!0},Bn.isEqual=function(e,t){return _r(e,t)},Bn.isEqualWith=function(e,t,n){var r=(n="function"==typeof n?n:i)?n(e,t):i;return r===i?_r(e,t,i,n):!!r},Bn.isError=$a,Bn.isFinite=function(e){return"number"==typeof e&&Dt(e)},Bn.isFunction=Ka,Bn.isInteger=Za,Bn.isLength=Xa,Bn.isMap=ts,Bn.isMatch=function(e,t){return e===t||Ir(e,t,so(t))},Bn.isMatchWith=function(e,t,n){return n="function"==typeof n?n:i,Ir(e,t,so(t),n)},Bn.isNaN=function(e){return ns(e)&&e!=+e},Bn.isNative=function(e){if(ko(e))throw new we("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Fr(e)},Bn.isNil=function(e){return null==e},Bn.isNull=function(e){return null===e},Bn.isNumber=ns,Bn.isObject=Qa,Bn.isObjectLike=es,Bn.isPlainObject=rs,Bn.isRegExp=is,Bn.isSafeInteger=function(e){return Za(e)&&e>=-9007199254740991&&e<=d},Bn.isSet=os,Bn.isString=as,Bn.isSymbol=ss,Bn.isTypedArray=ls,Bn.isUndefined=function(e){return e===i},Bn.isWeakMap=function(e){return es(e)&&ho(e)==_},Bn.isWeakSet=function(e){return es(e)&&"[object WeakSet]"==Cr(e)},Bn.join=function(e,t){return null==e?"":Ht.call(e,t)},Bn.kebabCase=Us,Bn.last=$o,Bn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ps(n))<0?gn(r+o,0):yn(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):Bt(e,zt,o,!0)},Bn.lowerCase=Hs,Bn.lowerFirst=Ys,Bn.lt=cs,Bn.lte=us,Bn.max=function(e){return e&&e.length?pr(e,nl,Pr):i},Bn.maxBy=function(e,t){return e&&e.length?pr(e,oo(t,2),Pr):i},Bn.mean=function(e){return Wt(e,nl)},Bn.meanBy=function(e,t){return Wt(e,oo(t,2))},Bn.min=function(e){return e&&e.length?pr(e,nl,Mr):i},Bn.minBy=function(e,t){return e&&e.length?pr(e,oo(t,2),Mr):i},Bn.stubArray=ml,Bn.stubFalse=fl,Bn.stubObject=function(){return{}},Bn.stubString=function(){return""},Bn.stubTrue=function(){return!0},Bn.multiply=wl,Bn.nth=function(e,t){return e&&e.length?jr(e,ps(t)):i},Bn.noConflict=function(){return dt._===this&&(dt._=Be),this},Bn.noop=sl,Bn.now=Aa,Bn.pad=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return zi(pt(i),n)+e+zi(ht(i),n)},Bn.padEnd=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;return t&&r<t?e+zi(t-r,n):e},Bn.padStart=function(e,t,n){e=ys(e);var r=(t=ps(t))?un(e):0;return t&&r<t?zi(t-r,n)+e:e},Bn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),bn(ys(e).replace(re,""),t||0)},Bn.random=function(e,t,n){if(n&&"boolean"!=typeof n&&yo(e,t,n)&&(t=n=i),n===i&&("boolean"==typeof t?(n=t,t=i):"boolean"==typeof e&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=hs(e),t===i?(t=e,e=0):t=hs(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=kn();return yn(e+o*(t-e+st("1e-"+((o+"").length-1))),t)}return Yr(e,t)},Bn.reduce=function(e,t,n){var r=Ua(e)?Ot:Yt,i=arguments.length<3;return r(e,oo(t,4),n,i,ur)},Bn.reduceRight=function(e,t,n){var r=Ua(e)?Lt:Yt,i=arguments.length<3;return r(e,oo(t,4),n,i,dr)},Bn.repeat=function(e,t,n){return t=(n?yo(e,t,n):t===i)?1:ps(t),qr(ys(e),t)},Bn.replace=function(){var e=arguments,t=ys(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Bn.result=function(e,t,n){var r=-1,o=(t=gi(t,e)).length;for(o||(o=1,e=i);++r<o;){var a=null==e?i:e[Do(t[r])];a===i&&(r=o,a=n),e=Ka(a)?a.call(e):a}return e},Bn.round=Sl,Bn.runInContext=e,Bn.sample=function(e){return(Ua(e)?$n:Vr)(e)},Bn.size=function(e){if(null==e)return 0;if(Ya(e))return as(e)?un(e):e.length;var t=ho(e);return t==S||t==T?e.size:Lr(e).length},Bn.snakeCase=qs,Bn.some=function(e,t,n){var r=Ua(e)?Mt:ti;return n&&yo(e,t,n)&&(t=i),r(e,oo(t,3))},Bn.sortedIndex=function(e,t){return ni(e,t)},Bn.sortedIndexBy=function(e,t,n){return ri(e,t,oo(n,2))},Bn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=ni(e,t);if(r<n&&Na(e[r],t))return r}return-1},Bn.sortedLastIndex=function(e,t){return ni(e,t,!0)},Bn.sortedLastIndexBy=function(e,t,n){return ri(e,t,oo(n,2),!0)},Bn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=ni(e,t,!0)-1;if(Na(e[n],t))return n}return-1},Bn.startCase=Js,Bn.startsWith=function(e,t,n){return e=ys(e),n=null==n?0:or(ps(n),0,e.length),t=ai(t),e.slice(n,n+t.length)==t},Bn.subtract=Cl,Bn.sum=function(e){return e&&e.length?qt(e,nl):0},Bn.sumBy=function(e,t){return e&&e.length?qt(e,oo(t,2)):0},Bn.template=function(e,t,n){var r=Bn.templateSettings;n&&yo(e,t,n)&&(t=i),e=ys(e),t=ks({},t,r,$i);var o,a,s=ks({},t.imports,r.imports,$i),l=_s(s),c=Kt(s,l),u=0,d=t.interpolate||be,h="__p += '",p=Ae((t.escape||be).source+"|"+d.source+"|"+(d===Z?de:be).source+"|"+(t.evaluate||be).source+"|$","g"),m="//# sourceURL="+(Oe.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rt+"]")+"\n";e.replace(p,(function(t,n,r,i,s,l){return r||(r=i),h+=e.slice(u,l).replace(ke,nn),n&&(o=!0,h+="' +\n__e("+n+") +\n'"),s&&(a=!0,h+="';\n"+s+";\n__p += '"),r&&(h+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),h+="';\n";var f=Oe.call(t,"variable")&&t.variable;if(f){if(ce.test(f))throw new we("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(a?h.replace(W,""):h).replace(U,"$1").replace(H,"$1;"),h="function("+(f||"obj")+") {\n"+(f?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=Zs((function(){return Se(l,m+"return "+h).apply(i,c)}));if(g.source=h,$a(g))throw g;return g},Bn.times=function(e,t){if((e=ps(e))<1||e>d)return[];var n=p,r=yn(e,p);t=oo(t),e-=p;for(var i=Jt(r,t);++n<e;)t(n);return i},Bn.toFinite=hs,Bn.toInteger=ps,Bn.toLength=ms,Bn.toLower=function(e){return ys(e).toLowerCase()},Bn.toNumber=fs,Bn.toSafeInteger=function(e){return e?or(ps(e),-9007199254740991,d):0===e?e:0},Bn.toString=ys,Bn.toUpper=function(e){return ys(e).toUpperCase()},Bn.trim=function(e,t,n){if((e=ys(e))&&(n||t===i))return Vt(e);if(!e||!(t=ai(t)))return e;var r=dn(e),o=dn(t);return vi(r,Xt(r,o),Qt(r,o)+1).join("")},Bn.trimEnd=function(e,t,n){if((e=ys(e))&&(n||t===i))return e.slice(0,hn(e)+1);if(!e||!(t=ai(t)))return e;var r=dn(e);return vi(r,0,Qt(r,dn(t))+1).join("")},Bn.trimStart=function(e,t,n){if((e=ys(e))&&(n||t===i))return e.replace(re,"");if(!e||!(t=ai(t)))return e;var r=dn(e);return vi(r,Xt(r,dn(t))).join("")},Bn.truncate=function(e,t){var n=30,r="...";if(Qa(t)){var o="separator"in t?t.separator:o;n="length"in t?ps(t.length):n,r="omission"in t?ai(t.omission):r}var a=(e=ys(e)).length;if(rn(e)){var s=dn(e);a=s.length}if(n>=a)return e;var l=n-un(r);if(l<1)return r;var c=s?vi(s,0,l).join(""):e.slice(0,l);if(o===i)return c+r;if(s&&(l+=c.length-l),is(o)){if(e.slice(l).search(o)){var u,d=c;for(o.global||(o=Ae(o.source,ys(he.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var h=u.index;c=c.slice(0,h===i?l:h)}}else if(e.indexOf(ai(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},Bn.unescape=function(e){return(e=ys(e))&&J.test(e)?e.replace(Y,pn):e},Bn.uniqueId=function(e){var t=++Le;return ys(e)+t},Bn.upperCase=Vs,Bn.upperFirst=$s,Bn.each=ya,Bn.eachRight=va,Bn.first=Yo,al(Bn,(gl={},vr(Bn,(function(e,t){Oe.call(Bn.prototype,t)||(gl[t]=e)})),gl),{chain:!1}),Bn.VERSION="4.17.21",At(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Bn[e].placeholder=Bn})),At(["drop","take"],(function(e,t){Wn.prototype[e]=function(n){n=n===i?1:gn(ps(n),0);var r=this.__filtered__&&!t?new Wn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,p),type:e+(r.__dir__<0?"Right":"")}),r},Wn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),At(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Wn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:oo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),At(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Wn.prototype[e]=function(){return this[n](1).value()[0]}})),At(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Wn.prototype[e]=function(){return this.__filtered__?new Wn(this):this[n](1)}})),Wn.prototype.compact=function(){return this.filter(nl)},Wn.prototype.find=function(e){return this.filter(e).head()},Wn.prototype.findLast=function(e){return this.reverse().find(e)},Wn.prototype.invokeMap=Jr((function(e,t){return"function"==typeof e?new Wn(this):this.map((function(n){return Rr(n,e,t)}))})),Wn.prototype.reject=function(e){return this.filter(La(oo(e)))},Wn.prototype.slice=function(e,t){e=ps(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Wn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=ps(t))<0?n.dropRight(-t):n.take(t-e)),n)},Wn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Wn.prototype.toArray=function(){return this.take(p)},vr(Wn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=Bn[r?"take"+("last"==t?"Right":""):t],a=r||/^find/.test(t);o&&(Bn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,l=t instanceof Wn,c=s[0],u=l||Ua(t),d=function(e){var t=o.apply(Bn,Ft([e],s));return r&&h?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var h=this.__chain__,p=!!this.__actions__.length,m=a&&!h,f=l&&!p;if(!a&&u){t=f?t:new Wn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[d],thisArg:i}),new zn(g,h)}return m&&f?e.apply(this,s):(g=this.thru(d),m?r?g.value()[0]:g.value():g)})})),At(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Re[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Bn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Ua(i)?i:[],e)}return this[n]((function(n){return t.apply(Ua(n)?n:[],e)}))}})),vr(Wn.prototype,(function(e,t){var n=Bn[t];if(n){var r=n.name+"";Oe.call(En,r)||(En[r]=[]),En[r].push({name:t,func:n})}})),En[Gi(i,2).name]=[{name:"wrapper",func:i}],Wn.prototype.clone=function(){var e=new Wn(this.__wrapped__);return e.__actions__=xi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=xi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=xi(this.__views__),e},Wn.prototype.reverse=function(){if(this.__filtered__){var e=new Wn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Wn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ua(e),r=t<0,i=n?e.length:0,o=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":e+=a;break;case"dropRight":t-=a;break;case"take":t=yn(t,e+a);break;case"takeRight":e=gn(e,t-a)}}return{start:e,end:t}}(0,i,this.__views__),a=o.start,s=o.end,l=s-a,c=r?s:a-1,u=this.__iteratees__,d=u.length,h=0,p=yn(l,this.__takeCount__);if(!n||!r&&i==l&&p==l)return di(e,this.__actions__);var m=[];e:for(;l--&&h<p;){for(var f=-1,g=e[c+=t];++f<d;){var y=u[f],v=y.iteratee,b=y.type,k=v(g);if(2==b)g=k;else if(!k){if(1==b)continue e;break e}}m[h++]=g}return m},Bn.prototype.at=pa,Bn.prototype.chain=function(){return da(this)},Bn.prototype.commit=function(){return new zn(this.value(),this.__chain__)},Bn.prototype.next=function(){this.__values__===i&&(this.__values__=ds(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Bn.prototype.plant=function(e){for(var t,n=this;n instanceof jn;){var r=Bo(n);r.__index__=0,r.__values__=i,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},Bn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Wn){var t=e;return this.__actions__.length&&(t=new Wn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Qo],thisArg:i}),new zn(t,this.__chain__)}return this.thru(Qo)},Bn.prototype.toJSON=Bn.prototype.valueOf=Bn.prototype.value=function(){return di(this.__wrapped__,this.__actions__)},Bn.prototype.first=Bn.prototype.head,$e&&(Bn.prototype[$e]=function(){return this}),Bn}();dt._=mn,(r=function(){return mn}.call(t,n,t,e))===i||(e.exports=r)}.call(this)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};return(()=>{"use strict";function e(e,t){return function(){return e.apply(t,arguments)}}n.d(r,{default:()=>xi});const{toString:t}=Object.prototype,{getPrototypeOf:i}=Object,o=(a=Object.create(null),e=>{const n=t.call(e);return a[n]||(a[n]=n.slice(8,-1).toLowerCase())});var a;const s=e=>(e=e.toLowerCase(),t=>o(t)===e),l=e=>t=>typeof t===e,{isArray:c}=Array,u=l("undefined"),d=s("ArrayBuffer"),h=l("string"),p=l("function"),m=l("number"),f=e=>null!==e&&"object"==typeof e,g=e=>{if("object"!==o(e))return!1;const t=i(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},y=s("Date"),v=s("File"),b=s("Blob"),k=s("FileList"),w=s("URLSearchParams");function S(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,i;if("object"!=typeof e&&(e=[e]),c(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{const i=n?Object.getOwnPropertyNames(e):Object.keys(e),o=i.length;let a;for(r=0;r<o;r++)a=i[r],t.call(null,e[a],a,e)}}function C(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,i=n.length;for(;i-- >0;)if(r=n[i],t===r.toLowerCase())return r;return null}const P="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,A=e=>!u(e)&&e!==P,x=(T="undefined"!=typeof Uint8Array&&i(Uint8Array),e=>T&&e instanceof T);var T;const R=s("HTMLFormElement"),E=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),I=s("RegExp"),F=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};S(n,((n,i)=>{let o;!1!==(o=t(n,i,e))&&(r[i]=o||n)})),Object.defineProperties(e,r)},O="abcdefghijklmnopqrstuvwxyz",L="0123456789",M={DIGIT:L,ALPHA:O,ALPHA_DIGIT:O+O.toUpperCase()+L},D=s("AsyncFunction"),G={isArray:c,isArrayBuffer:d,isBuffer:function(e){return null!==e&&!u(e)&&null!==e.constructor&&!u(e.constructor)&&p(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||p(e.append)&&("formdata"===(t=o(e))||"object"===t&&p(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:h,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:f,isPlainObject:g,isUndefined:u,isDate:y,isFile:v,isBlob:b,isRegExp:I,isFunction:p,isStream:e=>f(e)&&p(e.pipe),isURLSearchParams:w,isTypedArray:x,isFileList:k,forEach:S,merge:function e(){const{caseless:t}=A(this)&&this||{},n={},r=(r,i)=>{const o=t&&C(n,i)||i;g(n[o])&&g(r)?n[o]=e(n[o],r):g(r)?n[o]=e({},r):c(r)?n[o]=r.slice():n[o]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&S(arguments[e],r);return n},extend:(t,n,r,{allOwnKeys:i}={})=>(S(n,((n,i)=>{r&&p(n)?t[i]=e(n,r):t[i]=n}),{allOwnKeys:i}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,a,s;const l={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),a=o.length;a-- >0;)s=o[a],r&&!r(s,e,t)||l[s]||(t[s]=e[s],l[s]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:o,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(c(e))return e;let t=e.length;if(!m(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:R,hasOwnProperty:E,hasOwnProp:E,reduceDescriptors:F,freezeMethods:e=>{F(e,((t,n)=>{if(p(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];p(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return c(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:C,global:P,isContextDefined:A,ALPHABET:M,generateString:(e=16,t=M.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&p(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(f(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const i=c(e)?[]:{};return S(e,((e,t)=>{const o=n(e,r+1);!u(o)&&(i[t]=o)})),t[r]=void 0,i}}return e};return n(e,0)},isAsyncFn:D,isThenable:e=>e&&(f(e)||p(e))&&p(e.then)&&p(e.catch)};function B(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i)}G.inherits(B,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:G.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const N=B.prototype,j={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{j[e]={value:e}})),Object.defineProperties(B,j),Object.defineProperty(N,"isAxiosError",{value:!0}),B.from=(e,t,n,r,i,o)=>{const a=Object.create(N);return G.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),B.call(a,e.message,t,n,r,i),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const z=B;function W(e){return G.isPlainObject(e)||G.isArray(e)}function U(e){return G.endsWith(e,"[]")?e.slice(0,-2):e}function H(e,t,n){return e?e.concat(t).map((function(e,t){return e=U(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const Y=G.toFlatObject(G,{},null,(function(e){return/^is[A-Z]/.test(e)})),q=function(e,t,n){if(!G.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=G.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!G.isUndefined(t[e])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&G.isSpecCompliantForm(t);if(!G.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(G.isDate(e))return e.toISOString();if(!s&&G.isBlob(e))throw new z("Blob is not supported. Use a Buffer instead.");return G.isArrayBuffer(e)||G.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,i){let s=e;if(e&&!i&&"object"==typeof e)if(G.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(G.isArray(e)&&function(e){return G.isArray(e)&&!e.some(W)}(e)||(G.isFileList(e)||G.endsWith(n,"[]"))&&(s=G.toArray(e)))return n=U(n),s.forEach((function(e,r){!G.isUndefined(e)&&null!==e&&t.append(!0===a?H([n],r,o):null===a?n:n+"[]",l(e))})),!1;return!!W(e)||(t.append(H(i,n,o),l(e)),!1)}const u=[],d=Object.assign(Y,{defaultVisitor:c,convertValue:l,isVisitable:W});if(!G.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!G.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),G.forEach(n,(function(n,o){!0===(!(G.isUndefined(n)||null===n)&&i.call(t,n,G.isString(o)?o.trim():o,r,d))&&e(n,r?r.concat(o):[o])})),u.pop()}}(e),t};function J(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function V(e,t){this._pairs=[],e&&q(e,this,t)}const $=V.prototype;$.append=function(e,t){this._pairs.push([e,t])},$.toString=function(e){const t=e?function(t){return e.call(this,t,J)}:J;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const K=V;function Z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(e,t,n){if(!t)return e;const r=n&&n.encode||Z,i=n&&n.serialize;let o;if(o=i?i(t,n):G.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}const Q=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){G.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},ee={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},te={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:K,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]},ne=function(e){function t(e,n,r,i){let o=e[i++];const a=Number.isFinite(+o),s=i>=e.length;return o=!o&&G.isArray(r)?r.length:o,s?(G.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&G.isObject(r[o])||(r[o]=[]),t(e,n,r[o],i)&&G.isArray(r[o])&&(r[o]=function(e){const t={},n=Object.keys(e);let r;const i=n.length;let o;for(r=0;r<i;r++)o=n[r],t[o]=e[o];return t}(r[o])),!a)}if(G.isFormData(e)&&G.isFunction(e.entries)){const n={};return G.forEachEntry(e,((e,r)=>{t(function(e){return G.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null},re={transitional:ee,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,i=G.isObject(e);if(i&&G.isHTMLForm(e)&&(e=new FormData(e)),G.isFormData(e))return r&&r?JSON.stringify(ne(e)):e;if(G.isArrayBuffer(e)||G.isBuffer(e)||G.isStream(e)||G.isFile(e)||G.isBlob(e))return e;if(G.isArrayBufferView(e))return e.buffer;if(G.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return q(e,new te.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return te.isNode&&G.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=G.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return q(o?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType("application/json",!1),function(e,t,n){if(G.isString(e))try{return(0,JSON.parse)(e),G.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||re.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&G.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw z.from(e,z.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:te.classes.FormData,Blob:te.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};G.forEach(["delete","get","head","post","put","patch"],(e=>{re.headers[e]={}}));const ie=re,oe=G.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ae=Symbol("internals");function se(e){return e&&String(e).trim().toLowerCase()}function le(e){return!1===e||null==e?e:G.isArray(e)?e.map(le):String(e)}function ce(e,t,n,r,i){return G.isFunction(r)?r.call(this,t,n):(i&&(t=n),G.isString(t)?G.isString(r)?-1!==t.indexOf(r):G.isRegExp(r)?r.test(t):void 0:void 0)}class ue{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function i(e,t,n){const i=se(t);if(!i)throw new Error("header name must be a non-empty string");const o=G.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||t]=le(e))}const o=(e,t)=>G.forEach(e,((e,n)=>i(e,n,t)));return G.isPlainObject(e)||e instanceof this.constructor?o(e,t):G.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?o((e=>{const t={};let n,r,i;return e&&e.split("\n").forEach((function(e){i=e.indexOf(":"),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!n||t[n]&&oe[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t):null!=e&&i(t,e,n),this}get(e,t){if(e=se(e)){const n=G.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(G.isFunction(t))return t.call(this,e,n);if(G.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=se(e)){const n=G.findKey(this,e);return!(!n||void 0===this[n]||t&&!ce(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function i(e){if(e=se(e)){const i=G.findKey(n,e);!i||t&&!ce(0,n[i],i,t)||(delete n[i],r=!0)}}return G.isArray(e)?e.forEach(i):i(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const i=t[n];e&&!ce(0,this[i],i,e,!0)||(delete this[i],r=!0)}return r}normalize(e){const t=this,n={};return G.forEach(this,((r,i)=>{const o=G.findKey(n,i);if(o)return t[o]=le(r),void delete t[i];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(i):String(i).trim();a!==i&&delete t[i],t[a]=le(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return G.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&G.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[ae]=this[ae]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=se(e);t[r]||(function(e,t){const n=G.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})}))}(n,e),t[r]=!0)}return G.isArray(e)?e.forEach(r):r(e),this}}ue.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),G.reduceDescriptors(ue.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),G.freezeMethods(ue);const de=ue;function he(e,t){const n=this||ie,r=t||n,i=de.from(r.headers);let o=r.data;return G.forEach(e,(function(e){o=e.call(n,o,i.normalize(),t?t.status:void 0)})),i.normalize(),o}function pe(e){return!(!e||!e.__CANCEL__)}function me(e,t,n){z.call(this,null==e?"canceled":e,z.ERR_CANCELED,t,n),this.name="CanceledError"}G.inherits(me,z,{__CANCEL__:!0});const fe=me,ge=te.isStandardBrowserEnv?{write:function(e,t,n,r,i,o){const a=[];a.push(e+"="+encodeURIComponent(t)),G.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),G.isString(r)&&a.push("path="+r),G.isString(i)&&a.push("domain="+i),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function ye(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const ve=te.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=G.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function be(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i,o=0,a=0;return t=void 0!==t?t:1e3,function(s){const l=Date.now(),c=r[a];i||(i=l),n[o]=s,r[o]=l;let u=a,d=0;for(;u!==o;)d+=n[u++],u%=e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),l-i<t)return;const h=c&&l-c;return h?Math.round(1e3*d/h):void 0}}(50,250);return i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,s=o-n,l=r(s);n=o;const c={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&o<=a?(a-o)/l:void 0,event:i};c[t?"download":"upload"]=!0,e(c)}}const ke={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const i=de.from(e.headers).normalize(),o=e.responseType;let a,s;function l(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}G.isFormData(r)&&(te.isStandardBrowserEnv||te.isStandardBrowserWebWorkerEnv?i.setContentType(!1):i.getContentType(/^\s*multipart\/form-data/)?G.isString(s=i.getContentType())&&i.setContentType(s.replace(/^\s*(multipart\/form-data);+/,"$1")):i.setContentType("multipart/form-data"));let c=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(t+":"+n))}const u=ye(e.baseURL,e.url);function d(){if(!c)return;const r=de.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new z("Request failed with status code "+n.status,[z.ERR_BAD_REQUEST,z.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),l()}),(function(e){n(e),l()}),{data:o&&"text"!==o&&"json"!==o?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),X(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout,"onloadend"in c?c.onloadend=d:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(d)},c.onabort=function(){c&&(n(new z("Request aborted",z.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new z("Network Error",z.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||ee;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new z(t,r.clarifyTimeoutError?z.ETIMEDOUT:z.ECONNABORTED,e,c)),c=null},te.isStandardBrowserEnv){const t=(e.withCredentials||ve(u))&&e.xsrfCookieName&&ge.read(e.xsrfCookieName);t&&i.set(e.xsrfHeaderName,t)}void 0===r&&i.setContentType(null),"setRequestHeader"in c&&G.forEach(i.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),G.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),o&&"json"!==o&&(c.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&c.addEventListener("progress",be(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",be(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{c&&(n(!t||t.type?new fe(null,e,c):t),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const h=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(u);h&&-1===te.protocols.indexOf(h)?n(new z("Unsupported protocol "+h+":",z.ERR_BAD_REQUEST,e)):c.send(r||null)}))}};G.forEach(ke,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const we=e=>`- ${e}`,Se=e=>G.isFunction(e)||null===e||!1===e,Ce=e=>{e=G.isArray(e)?e:[e];const{length:t}=e;let n,r;const i={};for(let o=0;o<t;o++){let t;if(n=e[o],r=n,!Se(n)&&(r=ke[(t=String(n)).toLowerCase()],void 0===r))throw new z(`Unknown adapter '${t}'`);if(r)break;i[t||"#"+o]=r}if(!r){const e=Object.entries(i).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(we).join("\n"):" "+we(e[0]):"as no adapter specified";throw new z("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Pe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fe(null,e)}function Ae(e){return Pe(e),e.headers=de.from(e.headers),e.data=he.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ce(e.adapter||ie.adapter)(e).then((function(t){return Pe(e),t.data=he.call(e,e.transformResponse,t),t.headers=de.from(t.headers),t}),(function(t){return pe(t)||(Pe(e),t&&t.response&&(t.response.data=he.call(e,e.transformResponse,t.response),t.response.headers=de.from(t.response.headers))),Promise.reject(t)}))}const xe=e=>e instanceof de?e.toJSON():e;function Te(e,t){t=t||{};const n={};function r(e,t,n){return G.isPlainObject(e)&&G.isPlainObject(t)?G.merge.call({caseless:n},e,t):G.isPlainObject(t)?G.merge({},t):G.isArray(t)?t.slice():t}function i(e,t,n){return G.isUndefined(t)?G.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function o(e,t){if(!G.isUndefined(t))return r(void 0,t)}function a(e,t){return G.isUndefined(t)?G.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,i,o){return o in t?r(n,i):o in e?r(void 0,n):void 0}const l={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>i(xe(e),xe(t),!0)};return G.forEach(Object.keys(Object.assign({},e,t)),(function(r){const o=l[r]||i,a=o(e[r],t[r],r);G.isUndefined(a)&&o!==s||(n[r]=a)})),n}const Re={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Re[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Ee={};Re.transitional=function(e,t,n){function r(e,t){return"[Axios v1.5.1] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,i,o)=>{if(!1===e)throw new z(r(i," has been removed"+(t?" in "+t:"")),z.ERR_DEPRECATED);return t&&!Ee[i]&&(Ee[i]=!0,console.warn(r(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,i,o)}};const _e={assertOptions:function(e,t,n){if("object"!=typeof e)throw new z("options must be an object",z.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const o=r[i],a=t[o];if(a){const t=e[o],n=void 0===t||a(t,o,e);if(!0!==n)throw new z("option "+o+" must be "+n,z.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new z("Unknown option "+o,z.ERR_BAD_OPTION)}},validators:Re},Ie=_e.validators;class Fe{constructor(e){this.defaults=e,this.interceptors={request:new Q,response:new Q}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Te(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:i}=t;void 0!==n&&_e.assertOptions(n,{silentJSONParsing:Ie.transitional(Ie.boolean),forcedJSONParsing:Ie.transitional(Ie.boolean),clarifyTimeoutError:Ie.transitional(Ie.boolean)},!1),null!=r&&(G.isFunction(r)?t.paramsSerializer={serialize:r}:_e.assertOptions(r,{encode:Ie.function,serialize:Ie.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&G.merge(i.common,i[t.method]);i&&G.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete i[e]})),t.headers=de.concat(o,i);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let u,d=0;if(!s){const e=[Ae.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,l),u=e.length,c=Promise.resolve(t);d<u;)c=c.then(e[d++],e[d++]);return c}u=a.length;let h=t;for(d=0;d<u;){const e=a[d++],t=a[d++];try{h=e(h)}catch(e){t.call(this,e);break}}try{c=Ae.call(this,h)}catch(e){return Promise.reject(e)}for(d=0,u=l.length;d<u;)c=c.then(l[d++],l[d++]);return c}getUri(e){return X(ye((e=Te(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}G.forEach(["delete","get","head","options"],(function(e){Fe.prototype[e]=function(t,n){return this.request(Te(n||{},{method:e,url:t,data:(n||{}).data}))}})),G.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,i){return this.request(Te(i||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Fe.prototype[e]=t(),Fe.prototype[e+"Form"]=t(!0)}));const Oe=Fe;class Le{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,i){n.reason||(n.reason=new fe(e,r,i),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Le((function(t){e=t})),cancel:e}}}const Me=Le,De={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(De).forEach((([e,t])=>{De[t]=e}));const Ge=De,Be=function t(n){const r=new Oe(n),i=e(Oe.prototype.request,r);return G.extend(i,Oe.prototype,r,{allOwnKeys:!0}),G.extend(i,r,null,{allOwnKeys:!0}),i.create=function(e){return t(Te(n,e))},i}(ie);Be.Axios=Oe,Be.CanceledError=fe,Be.CancelToken=Me,Be.isCancel=pe,Be.VERSION="1.5.1",Be.toFormData=q,Be.AxiosError=z,Be.Cancel=Be.CanceledError,Be.all=function(e){return Promise.all(e)},Be.spread=function(e){return function(t){return e.apply(null,t)}},Be.isAxiosError=function(e){return G.isObject(e)&&!0===e.isAxiosError},Be.mergeConfig=Te,Be.AxiosHeaders=de,Be.formToJSON=e=>ne(G.isHTMLForm(e)?new FormData(e):e),Be.getAdapter=Ce,Be.HttpStatusCode=Ge,Be.default=Be;const Ne=Be;function je(e){return je="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},je(e)}function ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function We(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(n),!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ze(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ue(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,Ye(r.key),r)}}function He(e,t,n){return(t=Ye(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ye(e){var t=function(e,t){if("object"!==je(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==je(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===je(t)?t:String(t)}var qe="".concat("https://").concat("core.getfaceage.com").concat("/api/"),Je={authorize:"v1/business/authorize",skinanalyze:"v2/skin-analyzer/analyze"},Ve={baseURL:qe,responseType:"json"},$e={Accept:"application/json","Content-Type":"application/json"},Ke=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),He(this,"session",void 0),He(this,"request",(function(e,n,r,i,o){var a=We(We({},Ve),{},{headers:We(We({},$e),i)},o),s=n;n in Je&&(s=Je[n]);var l=e.toLowerCase();switch(l){case"get":case"options":case"head":case"delete":return t.session[l](s,a);case"post":case"patch":case"put":return t.session[l](s,r,a)}return null})),this.session=Ne.create(We({},Ve))}var t,n;return t=e,n=[{key:"getInstance",value:function(){return e.instance||(e.instance=new e),e.instance}}],null&&Ue(t.prototype,null),n&&Ue(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();He(Ke,"instance",void 0);const Ze=Ke.getInstance(),Xe={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 Qe{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Xe,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 Qe(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new Qe(this.logger,e)}}var et=new Qe;class tt{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(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];this.observers[e]&&Array.from(this.observers[e].entries()).forEach((e=>{let[t,r]=e;for(let e=0;e<r;e++)t(...n)})),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach((t=>{let[r,i]=t;for(let t=0;t<i;t++)r.apply(r,[e,...n])}))}}function nt(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return n.resolve=e,n.reject=t,n}function rt(e){return null==e?"":""+e}const it=/###/g;function ot(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(it,"."):e}function i(){return!e||"string"==typeof e}const o="string"!=typeof t?t:t.split(".");let a=0;for(;a<o.length-1;){if(i())return{};const t=r(o[a]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++a}return i()?{}:{obj:e,k:r(o[a])}}function at(e,t,n){const{obj:r,k:i}=ot(e,t,Object);if(void 0!==r||1===t.length)return void(r[i]=n);let o=t[t.length-1],a=t.slice(0,t.length-1),s=ot(e,a,Object);for(;void 0===s.obj&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=ot(e,a,Object),s&&s.obj&&void 0!==s.obj[`${s.k}.${o}`]&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=n}function st(e,t){const{obj:n,k:r}=ot(e,t);if(n)return n[r]}function lt(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]):lt(e[r],t[r],n):e[r]=t[r]);return e}function ct(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var ut={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function dt(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>ut[e])):e}const ht=[" ",",","?","!",";"],pt=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}(20);function mt(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 i=e;for(let e=0;e<r.length;){if(!i||"object"!=typeof i)return;let t,o="";for(let a=e;a<r.length;++a)if(a!==e&&(o+=n),o+=r[a],t=i[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<r.length-1)continue;e+=a-e+1;break}i=t}return i}function ft(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class gt extends tt{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 i=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,o=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],n&&(Array.isArray(n)?a.push(...n):"string"==typeof n&&i?a.push(...n.split(i)):a.push(n)));const s=st(this.data,a);return!s&&!t&&!n&&e.indexOf(".")>-1&&(e=a[0],t=a[1],n=a.slice(2).join(".")),s||!o||"string"!=typeof n?s:mt(this.data&&this.data[e]&&this.data[e][t],n,i)}addResource(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let a=[e,t];n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),at(this.data,a,r),i.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]||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=n,n=t,t=a[1]),this.addNamespaces(t);let s=st(this.data,a)||{};o.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?lt(s,n,i):s={...s,...n},at(this.data,a,s),o.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 yt={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,n,r,i))})),t}};const vt={};class bt extends tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n,r;super(),n=e,r=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((e=>{n[e]&&(r[e]=n[e])})),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=et.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const n=this.resolve(e,t);return n&&void 0!==n.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 i=t.ns||this.options.defaultNS||[];const o=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=ht.filter((e=>t.indexOf(e)<0&&n.indexOf(e)<0));if(0===r.length)return!0;const i=pt.getRegExp(`(${r.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!i.test(e);if(!o){const t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(o=!0)}return o}(e,n,r));if(o&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i};const o=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(o[0])>-1)&&(i=o.shift()),e=o.join(r)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}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,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:o,namespaces:a}=this.extractFromKey(e[e.length-1],t),s=a[a.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return r?{res:`${s}${e}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:`${s}${e}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:s,usedParams:this.getUsedParamsDetails(t)}:o}const u=this.resolve(e,t);let d=u&&u.res;const h=u&&u.usedKey||o,p=u&&u.exactUsedKey||o,m=Object.prototype.toString.apply(d),f=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject;if(g&&d&&"string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d&&["[object Number]","[object Function]","[object RegExp]"].indexOf(m)<0&&("string"!=typeof f||!Array.isArray(d))){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 '${o} (${this.language})' returned an object instead of string.`;return r?(u.res=e,u.usedParams=this.getUsedParamsDetails(t),u):e}if(i){const e=Array.isArray(d),n=e?[]:{},r=e?p:h;for(const e in d)if(Object.prototype.hasOwnProperty.call(d,e)){const o=`${r}${i}${e}`;n[e]=this.translate(o,{...t,joinArrays:!1,ns:a}),n[e]===o&&(n[e]=d[e])}d=n}}else if(g&&"string"==typeof f&&Array.isArray(d))d=d.join(f),d&&(d=this.extendTranslation(d,e,t,n));else{let r=!1,a=!1;const c=void 0!==t.count&&"string"!=typeof t.count,h=bt.hasDefaultValue(t),p=c?this.pluralResolver.getSuffix(l,t.count,t):"",m=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=c&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),g=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${p}`]||t[`defaultValue${m}`]||t.defaultValue;!this.isValidLookup(d)&&h&&(r=!0,d=g),this.isValidLookup(d)||(a=!0,d=o);const y=(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,o,v?g:d),i){const e=this.resolve(o,{...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 i=h&&r!==d?r:y;this.options.missingKeyHandler?this.options.missingKeyHandler(e,s,n,i,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,s,n,i,v,t),this.emit("missingKey",e,s,n,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{const n=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&n.indexOf(`${this.options.pluralSeparator}zero`)<0&&n.push(`${this.options.pluralSeparator}zero`),n.forEach((n=>{r([e],o+n,t[`defaultValue${n}`]||g)}))})):r(e,o,g))}d=this.extendTranslation(d,e,t,u,n),a&&d===o&&this.options.appendNamespaceToMissingKey&&(d=`${s}:${o}`),(a||r)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${o}`:o,r?d:void 0):this.options.parseMissingKeyHandler(d))}return r?(u.res=d,u.usedParams=this.getUsedParamsDetails(t),u):d}extendTranslation(e,t,n,r,i){var o=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||r.usedLng,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=this.language||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 i&&i[0]===r[0]&&!n.context?(o.logger.warn(`It seems you are nesting recursively key: ${r[0]} in key: ${t[0]}`),null):o.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=yt.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e){let t,n,r,i,o,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 c=s.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==a.count&&"string"!=typeof a.count,d=u&&!a.ordinal&&0===a.count&&this.pluralResolver.shouldUseIntlApi(),h=void 0!==a.context&&("string"==typeof a.context||"number"==typeof a.context)&&""!==a.context,p=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(o=e,!vt[`${p[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(vt[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${p.join(", ")}" won't get resolved as namespace "${o}" 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!!!")),p.forEach((n=>{if(this.isValidLookup(t))return;i=n;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,n,e,a);else{let e;u&&(e=this.pluralResolver.getSuffix(n,a.count,a));const t=`${this.options.pluralSeparator}zero`,r=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(l+e),a.ordinal&&0===e.indexOf(r)&&o.push(l+e.replace(r,this.options.pluralSeparator)),d&&o.push(l+t)),h){const n=`${l}${this.options.contextSeparator}${a.context}`;o.push(n),u&&(o.push(n+e),a.ordinal&&0===e.indexOf(r)&&o.push(n+e.replace(r,this.options.pluralSeparator)),d&&o.push(n+t))}}let s;for(;s=o.pop();)this.isValidLookup(t)||(r=s,t=this.getResource(n,e,s,a))})))}))})),{res:t,usedKey:n,exactUsedKey:r,usedLng:i,usedNS:o}}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)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=e.replace&&"string"!=typeof e.replace;let r=n?e.replace:e;if(n&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(const e of t)delete r[e]}return r}static hasDefaultValue(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,12)&&void 0!==e[t])return!0;return!1}}function kt(e){return e.charAt(0).toUpperCase()+e.slice(1)}class wt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=et.create("languageUtils")}getScriptPartFromCode(e){if(!(e=ft(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=ft(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]=kt(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]=kt(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=kt(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:e.indexOf("-")>0&&n.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1?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]),Array.isArray(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=[],i=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&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),n.forEach((e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))})),r}}let St=[{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}],Ct={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 Pt=["v1","v2","v3"],At=["v4"],xt={zero:0,one:1,two:2,few:3,many:4,other:5};class Tt{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=et.create("pluralResolver"),this.options.compatibilityJSON&&!At.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 St.forEach((t=>{t.lngs.forEach((n=>{e[n]={numbers:t.nr,plurals:Ct[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(ft("dev"===e?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}getPluralFormsOfKey(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).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)=>xt[e]-xt[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.noAbs?e.plurals(t):e.plurals(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 i=()=>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()}`:i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}shouldUseIntlApi(){return!Pt.includes(this.options.compatibilityJSON)}}function Rt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=function(e,t,n){const r=st(e,n);return void 0!==r?r:st(t,n)}(e,t,n);return!o&&i&&"string"==typeof n&&(o=mt(e,n,r),void 0===o&&(o=mt(t,n,r))),o}class Et{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.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{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:o,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:f,maxReplaces:g,alwaysFormat:y}=e.interpolation;this.escape=void 0!==t?t:dt,this.escapeValue=void 0===n||n,this.useRawValueToEscape=void 0!==r&&r,this.prefix=i?ct(i):o||"{{",this.suffix=a?ct(a):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?ct(d):h||ct("$t("),this.nestingSuffix=p?ct(p):m||ct(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=g||1e3,this.alwaysFormat=void 0!==y&&y,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,o,a;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const c=e=>{if(e.indexOf(this.formatSeparator)<0){const i=Rt(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),o=i.shift().trim(),a=i.join(this.formatSeparator).trim();return this.format(Rt(t,s,o,this.options.keySeparator,this.options.ignoreJSONStructure),a,n,{...r,...t,interpolationkey:o})};this.resetRegExp();const u=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=>this.escapeValue?l(this.escape(e)):l(e)}].forEach((t=>{for(a=0;i=t.regex.exec(e);){const n=i[1].trim();if(o=c(n),void 0===o)if("function"==typeof u){const t=u(e,i,r);o="string"==typeof t?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))o="";else{if(d){o=i[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=rt(o));const s=t.safeValue(o);if(e=e.replace(i[0],s),d?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}})),e}nest(e,t){let n,r,i,o=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 o=`{${r[1]}`;e=r[0],o=this.interpolate(o,i);const a=o.match(/'/g),s=o.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){let s=[];i={...o},i=i.replace&&"string"!=typeof i.replace?i.replace:i,i.applyPostProcessor=!1,delete i.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(),i),i),r&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=rt(r)),r||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),r=""),l&&(r=s.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()})),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}function _t(e){const t={};return function(n,r,i){const o=r+JSON.stringify(i);let a=t[o];return a||(a=e(ft(r),i),t[o]=a),a(n)}}class It{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=et.create("formatter"),this.options=e,this.formats={number:_t(((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)})),currency:_t(((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)})),datetime:_t(((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)})),relativetime:_t(((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")})),list:_t(((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()]=_t(t)}format(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:i,formatOptions:o}=function(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);"currency"===t&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach((e=>{if(e){const[t,...r]=e.split(":"),i=r.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();n[o]||(n[o]=i),"false"===i&&(n[o]=!1),"true"===i&&(n[o]=!0),isNaN(i)||(n[o]=parseInt(i,10))}}))}return{formatName:t,formatOptions:n}}(t);if(this.formats[i]){let t=e;try{const a=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},s=a.locale||a.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...o,...r,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e}),e)}}class Ft extends tt{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=et.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 i={},o={},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===o[a]&&(o[a]=!0):(this.state[a]=1,r=!1,void 0===o[a]&&(o[a]=!0),void 0===i[a]&&(i[a]=!0),void 0===s[t]&&(s[t]=!0)))})),r||(a[e]=!0)})),(Object.keys(i).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(o),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),i=r[0],o=r[1];t&&this.emit("failedLoading",i,o,t),n&&this.store.addResourceBundle(i,o,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2;const a={};this.queue.forEach((n=>{!function(e,t,n,r){const{obj:i,k:o}=ot(e,t,Object);i[o]=i[o]||[],i[o].push(n)}(n.loaded,[i],o),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,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:o});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*i,o)}),i):o(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 i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.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],i=n[1];this.read(r,i,"read",void 0,void 0,((n,o)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,o),this.loaded(e,n,o)}))}saveMissing(e,t,n,r,i){let o=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={...o,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;i=5===l.length?l(e,t,n,r,s):l(e,t,n,r),i&&"function"==typeof i.then?i.then((e=>a(null,e))).catch(a):a(null,i)}catch(e){a(e)}else l(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}function Ot(){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=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Lt(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 Mt(){}class Dt extends tt{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=Lt(e),this.services={},this.logger=et,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;this.isInitializing=!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=Ot();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options={...r,...this.options,...Lt(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;this.modules.logger?et.init(i(this.modules.logger),this.options):et.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=It);const n=new wt(this.options);this.store=new gt(this.options.resources,this.options);const o=this.services;o.logger=et,o.resourceStore=this.store,o.languageUtils=n,o.pluralResolver=new Tt(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||(o.formatter=i(t),o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new Et(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new Ft(i(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.languageDetector&&(o.languageDetector=i(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=i(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new bt(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];e.emit(t,...r)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,n||(n=Mt),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 o=nt(),a=()=>{const e=(e,t)=>{this.isInitializing=!1,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),o.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),o}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Mt;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=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};n?r(n):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=nt();return e||(e=this.languages),t||(t=this.options.ns),n||(n=Mt),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&&yt.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=nt();this.emit("languageChanging",e);const i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(e,o)=>{o?(i(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):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||i(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(n)),this.loadResources(n,(e=>{o(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 i=function(e,t){let o;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];o=r.options.overloadTranslationOptionHandler([e,t].concat(s))}else o={...t};o.lng=o.lng||i.lng,o.lngs=o.lngs||i.lngs,o.ns=o.ns||i.ns,""!==o.keyPrefix&&(o.keyPrefix=o.keyPrefix||n||i.keyPrefix);const c=r.options.keySeparator||".";let u;return u=o.keyPrefix&&Array.isArray(e)?e.map((e=>`${o.keyPrefix}${c}${e}`)):o.keyPrefix?`${o.keyPrefix}${c}${e}`:e,r.t(u,o)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}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,i=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const o=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||2===n};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!(!this.hasResourceBundle(n,e)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(n,e)||r&&!o(i,e)))}loadNamespaces(e,t){const n=nt();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=nt();"string"==typeof e&&(e=[e]);const r=this.options.preload||[],i=e.filter((e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return i.length?(this.options.preload=r.concat(i),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 wt(Ot());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 Dt(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]:Mt;const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},i=new Dt(r);return void 0===e.debug&&void 0===e.prefix||(i.logger=i.logger.clone(e)),["store","services","language"].forEach((e=>{i[e]=this[e]})),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},n&&(i.store=new gt(this.store.data,r),i.services.resourceStore=i.store),i.translator=new bt(i.services,r),i.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];i.emit(e,...n)})),i.init(r,t),i.translator.options=r,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Gt=Dt.createInstance();function Bt(e){return Bt="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},Bt(e)}function Nt(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,(void 0,i=function(e,t){if("object"!==Bt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Bt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Bt(i)?i:String(i)),r)}var i}Gt.createInstance=Dt.createInstance,Gt.createInstance,Gt.dir,Gt.init,Gt.loadResources,Gt.reloadResources,Gt.use,Gt.changeLanguage,Gt.getFixedT,Gt.t,Gt.exists,Gt.setDefaultNamespace,Gt.hasLoadedNamespace,Gt.loadNamespaces,Gt.loadLanguages;var jt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.defaultType=["skincare"],this.defaultDisplayModel=["widget","section","modal"]}var t,n;return t=e,(n=[{key:"init",value:function(e){e.responsiveOverride;var t=this.opts;if(!t||"object"!==Bt(t))throw new Error("pleas enter options.");if(t.arrTypes=this.defaultType,t.arrDisplayModel=this.defaultDisplayModel,t.intro=!0,void 0===t.faceageId||!t.faceageId)throw new Error("pleas enter face age Id.");if(void 0===t.displayModel&&(t.displayModel="section"),"modal"!==t.displayModel){if(void 0===t.elementId||!t.elementId)throw new Error("pleas enter element id.");if(!document.getElementById(t.elementId))throw new Error("element id is not valid.");t.element=document.getElementById(t.elementId)}else t.element=document.body;if(void 0===t.type&&(t.type="skincare"),void 0===t.language&&(t.language="en"),void 0===t.defaultQuiz&&(t.defaultQuiz={}),void 0===t.quiz&&(t.quiz=!0),void 0===t.currency&&(t.currency="$"),void 0===t.showProducts&&(t.showProducts=!1),void 0===t.showRoutine&&(t.showRoutine=!1),"widget"===t.displayModel&&(t.products=!1),"en"!==t.language&&Gt.changeLanguage(t.language),-1===this.defaultType.indexOf(t.type))throw new Error("Type is not valid");if(-1===this.defaultDisplayModel.indexOf(t.displayModel))throw new Error("Display Model is not valid");if(void 0!==t.routinesSupport&&Array.isArray(t.routinesSupport)||(t.routinesSupport=[]),void 0!==t.problems&&Array.isArray(t.problems)||(t.problems=[]),void 0===t.width?t.iframeWidth="360px":t.width&&(t.iframeWidth=t.width),void 0===t.height?"section"===t.displayModel?t.iframeHeight="600px":t.iframeHeight="580px":t.height&&(t.iframeHeight=t.height),void 0===t.showFacePoint&&(t.showFacePoint=!0),void 0===t.showAddToCard&&(t.showAddToCard=!0),void 0===t.showCamera&&(t.showCamera=!0),void 0===t.showUpload&&(t.showUpload=!0),!t.showCamera&&!t.showUpload)throw new Error("There are no input ways to receive the image.");return t}}])&&Nt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function zt(e){return zt="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},zt(e)}function Wt(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,(void 0,i=function(e,t){if("object"!==zt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==zt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===zt(i)?i:String(i)),r)}var i}var Ut=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n;return t=e,(n=[{key:"initGlobalVars",value:function(e){e.skinAnalyzeData=[]}},{key:"globalVars",value:function(e){return{faceID:null,dom:{},events:{onClickProblem:[],onClose:[],onDisplayProducts:[],onAddToCart:[],onCheckout:[],onClickProduct:[]},showCamera:!0,showUpload:!0,formPages:{},formData:{},intro:!0,quiz:!0,iframeWidth:"360px",iframeHeight:"480px",language:"en",displayModel:"widget",showFacePoint:!0,cameraPermission:null,faceDetection:null,boundingBox:[],imageWarning:!1,activeQuiz:0,privacy:!1,products:!0,productLoader:!0,productLists:[],productAction:[],productAddToCart:[],problems:{wrinkles:"Fine Wrinkles",fineWrinkles:"Fine Wrinkles",eye_wrinkles:"Eye Wrinkles",eyeWrinkles:"Eye Wrinkles",deep_wrinkles:"Deep Wrinkles",deepWrinkles:"Deep Wrinkles",dark_circle:"Dark Circle",darkCircle:"Dark Circle",eye_bag:"Eye Bag",eyeBag:"Eye Bag",pores:"Pores",pigments:"Pigment",pigment:"Pigment",acnes:"Acne",acne:"Acne",oiliness:"Oiliness",redness:"Redness"},routineGroup:{morning:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",sunscreen:"Sunscreen",faceOil:"Face Oil"},night:{cleanser:"Cleanser",toner:"Toner",serum:"Serum",eyeCream:"Eye Cream",spotTreatment:"Spot Treatment",moisturizer:"Moisturizer",faceOil:"Face Oil",nightCream:"Night Cream"}},routineContent:{cleanser:"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.",toner:"Use a toner to balance your skin’s pH and remove any leftover residue.",serum:"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.",eyeCream:"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.",spotTreatment:"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.",moisturizer:"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.",sunscreen:"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.",faceOil:"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.",nightCream:"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration."}}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t}}])&&Wt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ht(e){return Ht="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},Ht(e)}function Yt(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,(void 0,i=function(e,t){if("object"!==Ht(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Ht(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Ht(i)?i:String(i)),r)}var i}var qt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t}var t,n;return t=e,(n=[{key:"init",value:function(){var e=new jt(this.opts).init({responsiveOverride:!1});return{config:e,globals:(new Ut).init(e)}}}])&&Yt(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Jt(e){return Jt="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},Jt(e)}function Vt(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,(void 0,i=function(e,t){if("object"!==Jt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Jt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Jt(i)?i:String(i)),r)}var i}var $t=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,n=[{key:"setAttrs",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.setAttribute(n,t[n])}},{key:"getLevelColor",value:function(e){return e<=30?"#5CB85C":e>=70?"#DA005C":"#5C7BB8"}},{key:"getSizeFrame",value:function(e,t){var n,r,i=e.dom.elIframe.clientWidth>300?e.dom.elIframe.clientWidth:300,o=e.dom.elIframe.clientHeight>400?e.dom.elIframe.clientHeight:400;return"widget"===t.displayModel?(n=i,r=i/3*4):"section"===t.displayModel?(r=o,i>768&&(r-=40),i<=(n=r/4*3)&&(r=(n=i-35)/3*4)):i>=668?n=(r=o-120)/4*3:r=(n=i-35)/3*4,{width:n,height:r}}}],null&&Vt(t.prototype,null),n&&Vt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();const Kt=$t;var Zt=n(486),Xt=n.n(Zt);function Qt(e){return Qt="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},Qt(e)}function en(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,(void 0,i=function(e,t){if("object"!==Qt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Qt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Qt(i)?i:String(i)),r)}var i}var tn=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.name=r.name,this.layout=r.layout,this.activeItems=i||[],this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title",style:this.title||this.description?"margin-bottom: 10px":""}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"checkbox_group input_select "+this.layout});var i=[];this.options.map((function(t){i[t.value]=document.createElement("div"),Kt.setAttrs(i[t.value],{class:"checkbox item "+(e.activeItems.includes(t.value)?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Gt.t(t.label)+"</div>";i[t.value].innerHTML=n,r.appendChild(i[t.value]),i[t.value].addEventListener("click",(function(n){e.activeItems.includes(t.value)?i[t.value].classList.remove("active"):(i[t.value].classList.add("active"),e.activeItems.push(t.value)),e.setValue(e.activeItems),e.value=e.activeItems}))})),t.appendChild(r),this.el.appendChild(t)}}])&&en(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function nn(e){return nn="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},nn(e)}function rn(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,(void 0,i=function(e,t){if("object"!==nn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==nn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===nn(i)?i:String(i)),r)}var i}var on=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Gt.t(r.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("p"),Kt.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&rn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function an(e){return an="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},an(e)}function sn(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,(void 0,i=function(e,t){if("object"!==an(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==an(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===an(i)?i:String(i)),r)}var i}var ln=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.name=r.name,this.layout=r.layout,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"radio_group input_select "+this.layout});var i=[];this.options.map((function(t){i[t.value]=document.createElement("div"),Kt.setAttrs(i[t.value],{class:"radio item "+(e.value===t.value?"active":"")});var n=(t.icon_url?'<div class="ico"><img alt="'+t.label+'" src="'+t.icon_url+'" /></div>':"")+'<div class="title">'+Gt.t(t.label)+"</div>";i[t.value].innerHTML=n,r.appendChild(i[t.value]),i[t.value].addEventListener("click",(function(n){var o=r.getElementsByClassName("radio");if(o.length)for(var a=0;a<o.length;a++)o[a].classList.remove("active");e.value!==t.value?(e.setValue(t.value),e.value=t.value,i[t.value].classList.add("active")):(e.setValue(null),e.value=null)}))})),t.appendChild(r),this.el.appendChild(t)}}])&&sn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function cn(e){return cn="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},cn(e)}function un(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,(void 0,i=function(e,t){if("object"!==cn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==cn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===cn(i)?i:String(i)),r)}var i}var dn=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.onBack=o,this.showRefresh=a,this.title=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elAppBar=document.createElement("div"),Kt.setAttrs(t.dom.elAppBar,{class:"app_bar",style:"width: 100%"});var n=' <div class="header_tools">'+(this.onBack?' <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+' <div class="title">'+Gt.t("Skin Analysis")+'</div> <div class="action">'+(this.showRefresh?' <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>':"")+' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div> </div>';t.dom.elAppBar.innerHTML=n;var r=t.dom.elAppBar.querySelector(".title");this.title?r.innerText=this.title:(t.authorize.logo,t.authorize.name&&(r.innerText=t.authorize.name));var i=t.dom.elAppBar.querySelector(".back"),o=t.dom.elAppBar.querySelector(".refresh"),a=t.dom.elAppBar.querySelector(".close");i&&i.addEventListener("click",(function(t){e.onBack&&e.onBack()})),o&&o.addEventListener("click",(function(n){t.dom.elInfo&&t.dom.elInfo.remove(),t.dom.elForm&&t.dom.elForm.remove(),t.dom.elFace&&t.dom.elFace.remove(),t.activeQuiz=0,t.formData={},t.productLoader=!1,t.productLists=[],t.productAction=[],t.productAddToCart=[],t.imageWebCam=null,t.imageSubmit=null,t.intro=!0,e.co.intro=!0,new ii(t.dom.docIframe,e.ctx,e.pv),t.onRefresh&&t.onRefresh()})),a&&a.addEventListener("click",(function(e){t.dom.elModalFace.classList.remove("is-open"),t.onCloseModal&&t.onCloseModal()})),this.el.appendChild(t.dom.elAppBar)}}])&&un(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function hn(e){return hn="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},hn(e)}function pn(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,(void 0,i=function(e,t){if("object"!==hn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==hn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===hn(i)?i:String(i)),r)}var i}function mn(e,t){var n=function(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return function(e,t){return t.get?t.get.call(e):t.value}(e,n)}var fn=new WeakMap,gn=function(){function e(){var t,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r={writable:!0,value:{copyRight:!0,license:!1,elCopyRight:null}},function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=fn),n.set(t,r)}var t,n;return t=e,(n=[{key:"getValue",value:function(){return mn(this,fn)}},{key:"setValue",value:function(e,t){mn(this,fn)[e]=t}}])&&pn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function yn(e){return yn="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},yn(e)}function vn(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,(void 0,i=function(e,t){if("object"!==yn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==yn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===yn(i)?i:String(i)),r)}var i}var bn=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=this.w.globals,this.co=this.w.config,this.pv=new gn,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i,o,a,s,l,c,u=this,d=this.el,h=this.gl,p=this.co,m=this.pv.getValue(),f=[{key:"eyeGlass",svg:'<svg width="54" height="55" viewBox="0 0 54 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M22.1266 19.4592C24.0344 18.7776 26.0063 18.8686 26.8269 19.6404C27.6451 20.414 27.9449 20.8857 27.9823 21.3679C28.0262 21.9364 27.2941 22.1521 26.8269 21.6852C26.4881 20.9863 25.9015 20.0526 24.9785 19.9126C23.6468 19.7132 21.8617 20.5674 21.2036 21.1167C20.0864 22.0495 16.0629 26.3434 16.0629 26.3434C16.0629 26.3434 18.6231 26.8879 20.2441 27.4343C21.8601 27.9798 22.5946 28.9327 23.7118 29.1618C24.829 29.3881 25.6545 28.7582 27.4867 29.0027C29.3189 29.2471 35.1713 30.572 35.9026 29.9355C36.5981 29.3296 37.8883 26.1075 38.3774 25.0559C38.3994 25.0012 38.4229 24.9552 38.4433 24.914C38.44 24.9111 38.4384 24.9082 38.4343 24.9054C38.6569 24.4548 39.3256 23.035 39.1558 22.548C39.1258 22.4608 39.0689 22.4023 38.9917 22.3793C38.921 22.3582 38.856 22.3821 38.8081 22.4483C38.6716 22.6362 38.7024 23.1452 38.7902 23.382C38.8178 23.4587 38.8511 23.5086 38.8901 23.5325C38.7333 23.9831 38.5099 24.4787 38.3531 24.7999C37.9712 24.1921 37.9232 22.2872 38.4433 21.482C38.999 20.6182 40 20.5731 40 22.2767C40 23.0724 39.8082 25.4815 39.2094 26.2532C39.4605 26.4804 39.4605 27.2311 38.9795 28.1389C38.4969 29.0468 37.1099 33.7951 35.6661 34.1133C34.3759 36.5445 33.0669 35.931 31.5638 35.931C30.0615 35.931 27.7126 35.2273 26.6921 34.725C25.6699 34.2255 24.5341 31.7493 24.3992 31.3859C24.2659 31.0216 23.1869 30.7503 23.0139 31.1808C22.8392 31.6122 22.8603 33.9552 20.1531 33.5209C17.4474 33.0895 15.4641 32.3619 14.7321 30.6583C14 28.9576 14 26.3223 14 26.3223C14 26.3223 20.2205 20.1417 22.1266 19.4592ZM26.6132 33.9341C27.2104 34.7528 31.0641 35.3663 31.0641 35.3663C31.0641 35.3663 33.0093 35.5034 33.6446 35.4804C33.6791 35.4741 33.7128 35.467 33.7458 35.4593C34.756 35.2228 35.0959 34.0233 35.2206 32.9933V31.6399C35.2442 30.9688 34.3604 30.805 33.7023 30.7024C33.0287 30.6027 28.2317 29.7821 27.7296 29.7821C27.2291 29.7821 25.5367 29.7955 25.4408 30.9296C25.3433 32.0695 26.0177 33.1154 26.6132 33.9341ZM16.4643 31.8212C17.7334 32.2631 19.4681 32.8891 20.1523 33.0262C20.6852 33.1384 21.2329 33.171 21.4709 32.914C21.9617 32.3772 21.7586 31.1233 21.8138 30.4043C21.9536 29.2107 19.8711 28.3019 19.8711 28.3019C19.8711 28.3019 16.5594 27.2109 15.6169 27.0767C15.4991 27.0547 14.7507 28.8704 14.7507 28.8704C14.7507 28.8704 15.1968 31.3783 16.4643 31.8212Z" fill="black"/>\n<path d="M38.7619 22.5432C38.7907 22.4266 38.8327 22.4075 38.859 22.4075C38.8686 22.4075 38.8756 22.4102 38.8791 22.4111C38.9237 22.423 38.9535 22.4494 38.9719 22.4958C39.0296 22.6443 38.964 22.9322 38.8459 23.2592C38.7785 23.2036 38.6936 22.8101 38.7619 22.5432Z" fill="'+(null!==(e=null===(t=h.customTemplate)||void 0===t?void 0:t.base_color)&&void 0!==e?e:"#3FC79A")+'" />\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.6588 14.2799C32.0968 11.9698 27.6242 11.0825 23.1779 12.183C14.6495 14.2939 9.44712 22.9188 11.558 31.4471C12.32 34.5258 13.9309 37.1711 16.0797 39.1953L35.6588 14.2799ZM38.0749 16.2024L18.5214 41.0852C22.0534 43.3094 26.4504 44.149 30.8221 43.067C39.3505 40.9561 44.5529 32.3312 42.442 23.8029C41.6983 20.7985 40.1463 18.2069 38.0749 16.2024ZM22.436 9.18589C32.6197 6.66528 42.9185 12.8774 45.4391 23.061C47.9597 33.2447 41.7476 43.5435 31.564 46.0641C21.3803 48.5847 11.0815 42.3726 8.56089 32.189C6.04028 22.0053 12.2524 11.7065 22.436 9.18589Z" fill="'+(null!==(n=null===(r=h.customTemplate)||void 0===r?void 0:r.base_color)&&void 0!==n?n:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>\n',title:Gt.t("Remove the glasses")},{key:"clean",svg:'<svg width="56" height="55" viewBox="0 0 56 55" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M19.3406 18.2903C19.3406 18.13 19.2032 18 19.0338 18C18.8644 18 18.727 18.13 18.727 18.2903V18.871H17.8068C17.6373 18.871 17.5 19.0009 17.5 19.1613C17.5 19.3216 17.6373 19.4516 17.8068 19.4516H18.727V20.0323H17.8068C17.6373 20.0323 17.5 20.1622 17.5 20.3226C17.5 20.4829 17.6373 20.6129 17.8068 20.6129H18.727V21.1935H17.8068C17.6373 21.1935 17.5 21.3235 17.5 21.4839C17.5 21.6442 17.6373 21.7742 17.8068 21.7742H18.727V22.3548H17.8068C17.6373 22.3548 17.5 22.4848 17.5 22.6452C17.5 22.8055 17.6373 22.9355 17.8068 22.9355H18.727V23.5161H17.8068C17.6373 23.5161 17.5 23.6461 17.5 23.8065C17.5 23.9668 17.6373 24.0968 17.8068 24.0968H18.727V30.1935H18.4203C18.0819 30.1935 17.8068 30.454 17.8068 30.7742V31.5813C17.6199 31.741 17.5 31.9695 17.5 32.2258V35.129C17.5 35.6092 17.9129 36 18.4203 36H19.6473C20.1547 36 20.5676 35.6092 20.5676 35.129V32.2258C20.5676 31.9695 20.4477 31.741 20.2608 31.5813V30.7742C20.2608 30.454 19.9854 30.1935 19.6473 30.1935H19.3406V24.0968H20.2608C20.4303 24.0968 20.5676 23.9668 20.5676 23.8065C20.5676 23.6461 20.4303 23.5161 20.2608 23.5161H19.3406V22.9355H20.2608C20.4303 22.9355 20.5676 22.8055 20.5676 22.6452C20.5676 22.4848 20.4303 22.3548 20.2608 22.3548H19.3406V21.7742H20.2608C20.4303 21.7742 20.5676 21.6442 20.5676 21.4839C20.5676 21.3235 20.4303 21.1935 20.2608 21.1935H19.3406V20.6129H20.2608C20.4303 20.6129 20.5676 20.4829 20.5676 20.3226C20.5676 20.1622 20.4303 20.0323 20.2608 20.0323H19.3406V19.4516H20.2608C20.4303 19.4516 20.5676 19.3216 20.5676 19.1613C20.5676 19.0009 20.4303 18.871 20.2608 18.871H19.3406V18.2903ZM19.9541 32.2258V35.129C19.9541 35.2893 19.8167 35.4194 19.6473 35.4194H18.4203C18.251 35.4194 18.1135 35.2893 18.1135 35.129V32.2258C18.1135 32.0655 18.251 31.9355 18.4203 31.9355H19.6473C19.8167 31.9355 19.9541 32.0655 19.9541 32.2258ZM19.573 30.7742C19.6141 30.7742 19.6473 30.8057 19.6473 30.8445V31.2845C19.6473 31.3234 19.6141 31.3548 19.573 31.3548H18.4946C18.4535 31.3548 18.4203 31.3234 18.4203 31.2845V30.8445C18.4203 30.8057 18.4535 30.7742 18.4946 30.7742H19.573Z" fill="black"/>\n<path d="M36.5 24.3871C36.5 20.8652 33.4726 18 29.7513 18C26.0898 18 23.1022 20.7743 23.0071 24.2184L22.8995 24.0657C22.7485 23.8515 22.4712 23.7577 22.2114 23.832C21.9506 23.9066 21.7755 24.1299 21.7755 24.3877V28.242C21.593 28.3427 21.4687 28.528 21.4687 28.7419V29.4033C21.2862 29.504 21.162 29.6893 21.162 29.9032V35.4194C21.162 35.7396 21.4371 36 21.7755 36H23.616C23.9541 36 24.2296 35.7396 24.2296 35.4194V29.9032C24.2296 29.6893 24.1053 29.504 23.9228 29.4033V28.7419C23.9228 28.528 23.7986 28.3427 23.616 28.242V27.043C24.5956 29.0619 26.6546 30.5177 29.0901 30.743C29.2878 30.7613 29.4445 30.915 29.4445 31.103V35.4194H25.7634C25.4245 35.4194 25.1498 35.6793 25.1498 36H34.3527C34.3527 35.6793 34.078 35.4194 33.7392 35.4194H30.058V31.103C30.058 30.915 30.2146 30.7613 30.4123 30.743C33.8244 30.4276 36.5 27.698 36.5 24.3871ZM22.389 24.6199C22.389 24.5503 22.4843 24.523 22.5251 24.5809L23.0025 25.2586V28.1613H22.389V24.6199ZM22.0822 28.8122C22.0822 28.7734 22.1155 28.7419 22.1565 28.7419H23.235C23.276 28.7419 23.3093 28.7734 23.3093 28.8122V29.2523C23.3093 29.2911 23.276 29.3226 23.235 29.3226H22.1565C22.1155 29.3226 22.0822 29.2911 22.0822 29.2523V28.8122ZM23.6166 35.2787C23.6167 35.3564 23.5501 35.4194 23.4681 35.4194H21.9241C21.842 35.4194 21.7755 35.3564 21.7755 35.2787V30.0438C21.7755 29.9662 21.842 29.9032 21.9241 29.9032H23.4675C23.5495 29.9032 23.6161 29.9662 23.6161 30.0438L23.6166 35.2787ZM29.7513 30.1935C26.3683 30.1935 23.616 27.5888 23.616 24.3871C23.616 21.1854 26.3683 18.5806 29.7513 18.5806C33.1342 18.5806 35.8865 21.1854 35.8865 24.3871C35.8865 27.5888 33.1342 30.1935 29.7513 30.1935Z" fill="black"/>\n<path d="M29.7213 18.4922C26.3006 18.4922 23.5178 21.1259 23.5178 24.3633C23.5178 27.6007 26.3006 30.2344 29.7213 30.2344C33.142 30.2344 35.9248 27.6007 35.9248 24.3633C35.9248 21.1259 33.142 18.4922 29.7213 18.4922ZM29.7213 29.5437C26.7031 29.5437 24.2476 27.2197 24.2476 24.3633C24.2476 21.5068 26.7027 19.1829 29.7213 19.1829C32.7399 19.1829 35.195 21.5068 35.195 24.3633C35.195 27.2197 32.7395 29.5437 29.7213 29.5437Z" fill="black"/>\n<path d="M26.2045 24.6073L26.5231 24.9963L30.9692 21.729L30.6506 21.3399L26.2045 24.6073Z" fill="black"/>\n<path d="M29.1664 20.9531L26.1924 23.1441L26.5114 23.5327L29.4855 21.3418L29.1664 20.9531Z" fill="black"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M35.1588 13.6549C31.5968 11.3448 27.1242 10.4575 22.6779 11.558C14.1495 13.6689 8.94712 22.2938 11.058 30.8221C11.82 33.9008 13.4309 36.5461 15.5797 38.5703L35.1588 13.6549ZM37.5749 15.5774L18.0214 40.4602C21.5534 42.6844 25.9504 43.524 30.3221 42.442C38.8505 40.3311 44.0529 31.7062 41.942 23.1779C41.1983 20.1735 39.6463 17.5819 37.5749 15.5774ZM21.936 8.56089C32.1197 6.04028 42.4185 12.2524 44.9391 22.436C47.4597 32.6197 41.2476 42.9185 31.064 45.4391C20.8803 47.9597 10.5815 41.7476 8.06089 31.564C5.54028 21.3803 11.7524 11.0815 21.936 8.56089Z" fill="'+(null!==(i=null===(o=h.customTemplate)||void 0===o?void 0:o.base_color)&&void 0!==i?i:"#3FC79A")+'" stroke="white" stroke-width="1.6"/>\n</svg>',title:Gt.t("Clean your face")},{key:"light",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;">\n<path d="M31.9,24.1c-4.8,3.9-9.6,0.2-9.8,0C22,24,21.8,24,21.7,24c-0.1,0.1-0.2,0.2-0.2,0.4L23,34.7c0,0.2,0.2,0.3,0.4,0.3\n\tc0.2,0,0.3-0.2,0.3-0.4l-1.4-9.4c1.5,0.9,5.3,2.6,9.2,0.1l-1.8,9.3c0,0.2,0.1,0.4,0.3,0.4c0,0,0,0,0.1,0c0.2,0,0.3-0.1,0.4-0.3\n\tl2-10.3c0-0.2,0-0.3-0.2-0.4C32.2,24,32,24,31.9,24.1z"/>\n<g id="Layer_x0020_1">\n\t<path fill="'+(null!==(a=null===(s=h.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"#3FC79A")+'" d="M27,49.4c-1.2,0-2.5-0.8-2.5-2.2v-0.9h-2.4c-0.4,0-0.6-0.3-0.6-0.6v-2.5c-0.7,0-1.6,0.2-1.6-0.6v-2.9\n\t\tc-0.7-4.5-2.2-6.2-3.7-7.9c-1.6-1.8-3.1-3.6-3.1-8.4c0-7.7,6.2-13.9,13.9-13.9c7.6,0,13.9,6.2,13.9,13.9c0,4.8-1.5,6.6-3.1,8.4\n\t\tc-1.5,1.7-3,3.4-3.7,7.9v2.9c0,0.8-0.9,0.6-1.6,0.6v2.5c0,0.4-0.3,0.6-0.6,0.6h-2.4v0.9C29.5,48.6,28.2,49.4,27,49.4z M21,38.9H33\n\t\tc1.6-9.2,6.7-7.2,6.7-15.7c0-7-5.7-12.7-12.7-12.7c-7,0-12.7,5.7-12.7,12.7C14.3,31.7,19.4,29.6,21,38.9z M22.1,41.8L22.1,41.8\n\t\th10.7v-1.7H21.1v1.7H22.1z M22.8,44.9h8.5v-1.9h-8.5V44.9z M25.7,46.2c0,0.9-0.2,1.9,1.3,1.9c1.4,0,1.2-1.1,1.2-1.9H25.7z"/>\n</g>\n<path fill="#000" d="M36.7,23.8c-0.4,0-0.6-0.3-0.6-0.6c0-5-4-9.1-9-9.1c-0.8,0-0.8-1.2,0-1.2c5.7,0,10.3,4.6,10.3,10.3\n\tC37.3,23.5,37,23.8,36.7,23.8z"/>\n<path fill="#000" d="M27,8.3c-0.4,0-0.6-0.3-0.6-0.6V4c0-0.8,1.2-0.8,1.2,0v3.7C27.6,8,27.3,8.3,27,8.3z"/>\n<path fill="#000" d="M35.7,10.6c-0.5,0-0.8-0.5-0.5-0.9L37,6.5c0.4-0.7,1.5-0.1,1.1,0.6l-1.8,3.2C36.1,10.5,35.9,10.6,35.7,10.6z"/>\n<path fill="#000" d="M42,17c-0.7,0-0.9-0.8-0.3-1.1l3.2-1.8c0.7-0.4,1.3,0.7,0.6,1.1l-3.2,1.8C42.2,16.9,42.1,17,42,17z"/>\n<path fill="#000" d="M18.3,10.6c-0.2,0-0.4-0.1-0.5-0.3l-1.8-3.2c-0.4-0.7,0.7-1.3,1.1-0.6l1.8,3.2C19.1,10.1,18.8,10.6,18.3,10.6z"\n\t/>\n<path fill="#000" d="M12,16.9c-0.1,0-0.2,0-0.3-0.1L8.5,15c-0.7-0.4-0.1-1.5,0.6-1.1l3.2,1.8C12.8,16.1,12.6,16.9,12,16.9z"/>\n</svg>\n',title:Gt.t("Be in the right light")},{key:"position",svg:'<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"\n\t viewBox="0 0 54 55" style="enable-background:new 0 0 54 55;" >\n<style type="text/css">\n\t.st2{mask:url(#path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_);fill:none;stroke:#FFFFFF;}\n</style>\n<path id="Shape" fill="'+(null!==(l=null===(c=h.customTemplate)||void 0===c?void 0:c.base_color)&&void 0!==l?l:"#3FC79A")+'" d="M20.3,40.7c-2,0.7-8.5,0.7-8.5,4.8v1.9c0,0.4,0.3,0.6,0.6,0.6h29.4c0.4,0,0.6-0.3,0.6-0.6v-1.9\n\tc0-4.1-6.5-4.1-8.5-4.8c-1.1-0.4-2.1-1.1-3-1.9c-0.3-0.2-0.4-0.6-0.4-0.9c0-1,0.2-1.9,0.6-2.8c2.3-1.5,3.7-4.1,3.7-6.8\n\tc0.7,0,1.3-0.3,1.8-0.7c0.5-0.5,0.8-1.1,0.8-1.8v-1.9c0-1-0.6-1.9-1.4-2.3c2.1-3.2,0.7-8.7-3.4-9.1c-1.3-2.6-5.7-3.1-8.6-2.4\n\tc-4,1-6.6,4.3-7.4,9.5c-0.9,5.2,1.6,10.1-2.6,15.4c-0.2,0.2-0.2,0.5-0.1,0.7s0.4,0.4,0.6,0.3c3.5-0.2,5.2-1.6,6.1-3.7\n\tc0.7,1.1,1.6,2.1,2.7,2.8c0.4,0.9,0.6,1.9,0.6,2.8c0,0.4-0.2,0.7-0.4,0.9C22.4,39.6,21.4,40.3,20.3,40.7L20.3,40.7z M24.2,34.4\n\tc-0.3-0.6-3.5-1.6-3.5-6.5c0-0.5,0.1,0.3-0.7-3.6c-0.1-0.3-0.4-0.6-0.8-0.5c-0.3,0.1-0.6,0.4-0.5,0.8l0.6,3.1c0,0.9,0.1,1.9,0.3,2.8\n\tc-0.7,2.3-1.7,3.6-4.1,4c3.4-5.4,1.2-10.1,2-14.7c0.6-3.3,2.1-7.4,6.5-8.5c2.8-0.7,6.1,0,7.1,1.5c0.2,0.4,0.3,0.9,0.8,0.9\n\tc3.5,0,4.6,5.4,2.2,7.7c-0.2,0.2-0.2,0.4-0.2,0.6c0,0.2,0.2,0.4,0.4,0.5c0.1,0,0.2,0.1,0.4,0c0.7,0.1,1.2,0.6,1.2,1.3v1.9\n\tc0,0.7-0.6,1.3-1.3,1.3c-0.6,0-0.9-0.1-1.1,0.2c-0.2,0.2-0.2,0.5-0.2,0.7c0,4.9-3.2,5.9-3.5,6.5c-0.5,1.1-0.8,2.3-0.8,3.6\n\tc0,0.7,0.3,1.4,0.9,1.9c1,0.9,2.1,1.6,3.4,2.1c2,0.7,7.7,0.8,7.7,3.6v1.3H13.1v-1.3c0-2,2.6-2.6,5.6-3.2c1.8-0.3,3.1-0.5,5.5-2.6\n\tc0.5-0.5,0.9-1.1,0.9-1.9C25.1,36.7,24.8,35.5,24.2,34.4L24.2,34.4z"/>\n<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n<defs>\n\t<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5">\n\t\t<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>\n\t</filter>\n</defs>\n<mask maskUnits="userSpaceOnUse" x="9.2" y="4.9" width="35.7" height="40.5" id="path-2-outside-1_5552_2676_00000124156348595949881960000006641333605475992464_">\n\t<rect x="8.7" y="4.4" fill="#FFFFFF" width="37" height="42"/>\n\t<path d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z M10.7,25.1\n\t\tc0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</mask>\n<path class="st2" d="M44.3,25.1c0,10.9-7.8,19.8-17.3,19.8S9.7,36.1,9.7,25.1C9.7,14.2,17.4,5.4,27,5.4S44.3,14.2,44.3,25.1z\n\t M10.7,25.1c0,10.2,7.3,18.5,16.3,18.5s16.3-8.3,16.3-18.5C43.3,14.9,36,6.6,27,6.6S10.7,14.9,10.7,25.1z"/>\n</svg>\n',title:Gt.t("Be neutral face and fix position")}];h.dom.elInfo=document.createElement("div"),Kt.setAttrs(h.dom.elInfo,{class:"face_age_info "+p.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),"modal"===p.displayModel&&new dn(h.dom.elInfo,this.ctx,this.pv,null,h.formPages.length>1&&p.quiz?function(){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new ii(h.dom.docIframe,u.ctx,u.pv)}:null,h.formPages.length>1&&p.quiz),h.dom.elInfo.box=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.box,{style:"width: 100%;"+("widget"!==p.displayModel?"margin: auto 0px;":"")}),h.dom.elInfo.boxWindow=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxWindow,{class:"info_window"}),h.dom.elInfo.boxTitle=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxTitle,{class:"title"}),h.dom.elInfo.boxTitle.innerHTML=("modal"!==p.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+'<div class="bt"><h2>'+Gt.t("Instructions")+"</h2><p>"+Gt.t("Get Ready to Start Skin Analysis")+"</p></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxTitle),h.dom.elInfo.goBack=h.dom.elInfo.boxTitle.querySelector(".goBack"),h.dom.elInfo.boxItem=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.boxItem,{class:"items"});var g="";Xt().map(f,(function(e,t){g+='<div class="item_intro"><div class="item_main"><div class="icon">'+e.svg+'</div><div class="title">'+e.title+"</div></div></div>"})),h.dom.elInfo.boxItem.innerHTML=g,h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.boxItem),h.dom.elInfo.privacy=document.createElement("div"),Kt.setAttrs(h.dom.elInfo.privacy,{class:"privacy"}),h.dom.elInfo.privacy.innerHTML='<div class="privacy_face_age"> <div class="check_box"><div class="check_box_input"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="30.114px" height="23.945px" viewBox="0 0 30.114 23.945" enable-background="new 0 0 30.114 23.945" xml:space="preserve" fill="currentColor" role="presentation"><path d="M26.653,0.444l-1.263,1.35L10.399,17.715l-5.586-5.471l-1.321-1.292l-2.584,2.642l1.321,1.292l6.929,6.792l1.343,1.313 l1.292-1.371l16.282-17.3l1.271-1.343L26.653,0.444L26.653,0.444z"></path></svg></div><input type="checkbox" tabindex="0" name="privacy_acept" data-testid="checkbox_privacy_id" style="display: none"></div> <div class="text">'+Gt.t("privacy.text")+" "+(m.copyRight?"<br /><br />"+Gt.t("See our")+' <a href="https://getfaceage.com/privacy-policy" target="_blank">'+Gt.t("Privacy Policy")+"</a> "+Gt.t("for more information")+".":"")+"</div></div>",h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.privacy),h.dom.elInfo.privacy.checkBox=h.dom.elInfo.privacy.querySelector(".check_box"),h.dom.elInfo.btn=document.createElement("button"),Kt.setAttrs(h.dom.elInfo.btn,{class:"disable",disable:!0}),h.dom.elInfo.btn.innerHTML=Gt.t("Get Started"),h.dom.elInfo.boxWindow.appendChild(h.dom.elInfo.btn),h.dom.elInfo.box.appendChild(h.dom.elInfo.boxWindow),h.dom.elInfo.appendChild(h.dom.elInfo.box),h.privacy&&(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1)),h.dom.elInfo.privacy.addEventListener("click",(function(e){e.target.tagName&&"A"!==e.target.tagName.toUpperCase()&&(h.dom.elInfo.privacy.checkBox.classList.contains("active")?(h.dom.elInfo.privacy.checkBox.classList.remove("active"),h.dom.elInfo.btn.classList.add("disable"),h.dom.elInfo.btn.setAttribute("disable",!0),h.privacy=!1):(h.dom.elInfo.privacy.checkBox.classList.add("active"),h.dom.elInfo.btn.classList.remove("disable"),h.dom.elInfo.btn.setAttribute("disable",!1),h.privacy=!0))})),d.appendChild(h.dom.elInfo),"modal"!==p.displayModel&&h.dom.elInfo.goBack&&(h.formPages.length>1&&p.quiz?h.dom.elInfo.goBack.addEventListener("click",(function(e){h.dom.elInfo.remove(),h.activeQuiz=h.activeQuiz-1>0?h.activeQuiz-1:0,h.intro=!0,p.intro=!0,new ii(h.dom.docIframe,u.ctx,u.pv)})):h.dom.elInfo.goBack.remove())}},{key:"getParentAnchor",value:function(e){for(;null!==e;)if(e.tagName&&"A"!==e.tagName.toUpperCase())return e;return null}}])&&vn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),kn=n(982),wn=n(135);function Sn(e){return Sn="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},Sn(e)}function Cn(){Cn=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new _(r||[]);return i(a,"_invoke",{value:x(e,n,s)}),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var h="suspendedStart",p="suspendedYield",m="executing",f="completed",g={};function y(){}function v(){}function b(){}var k={};c(k,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(I([])));S&&S!==n&&r.call(S,a)&&(k=S);var C=b.prototype=y.prototype=Object.create(k);function P(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(i,o,a,s){var l=d(e[i],e,o);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==Sn(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(u).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(l.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function x(t,n,r){var i=h;return function(o,a){if(i===m)throw new Error("Generator is already running");if(i===f){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var l=T(s,r);if(l){if(l===g)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===h)throw i=f,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=m;var c=d(t,n,r);if("normal"===c.type){if(i=r.done?f:p,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(i=f,r.method="throw",r.arg=c.arg)}}}function T(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=d(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Sn(t)+" is not iterable")}return v.prototype=b,i(C,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:v,configurable:!0}),v.displayName=c(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},P(A.prototype),c(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new A(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(C),c(C,l,"Generator"),c(C,a,(function(){return this})),c(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(l&&c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Pn(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,i)}function An(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Pn(o,r,i,a,s,"next",e)}function s(e){Pn(o,r,i,a,s,"throw",e)}a(void 0)}))}}function xn(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,Tn(r.key),r)}}function Tn(e){var t=function(e,t){if("object"!==Sn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Sn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Sn(t)?t:String(t)}var Rn=function(){function e(t,n,r,i,o,a,s,l){var c,u,d,h=this,p=arguments.length>8&&void 0!==arguments[8]?arguments[8]:"video";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),c=this,(u=Tn(u="isLoading"))in c?Object.defineProperty(c,u,{value:true,enumerable:!0,configurable:!0,writable:!0}):c[u]=true,this.srcElement=t,this.canvasElement=n,this.canvasCtx=n?n.getContext("2d"):null,this.boundingBoxElement=r,this.handleOnResults=a,this.handleLoading=s,this.handleBrightness=l,this.faceDetectionModel=new kn.FaceDetection({locateFile:function(e){return"https://cdn.jsdelivr.net/npm/@mediapipe/face_detection@0.3/".concat(e)}}),this.faceDetectionModel.setOptions({modelSelection:1,enableTracking:10,minDetectionConfidence:.5}),this.onClose=this.onClose.bind(this),this.faceDetectionModel.onResults("video"===p?this.onResultsVideo.bind(this):this.onResultsImage.bind(this)),"video"===p?(this.camera=new wn.Camera(this.srcElement,{onFrame:(d=An(Cn().mark((function e(){return Cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.faceDetectionModel.send({image:h.srcElement});case 2:h.isLoading&&(h.isLoading=!0,h.handleLoading());case 3:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)}),width:o,height:o}),this.camera.start()):this.handleImageFaceDetection()}var t,n,r;return t=e,n=[{key:"handleImageFaceDetection",value:(r=An(Cn().mark((function e(){return Cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.faceDetectionModel.send({image:this.srcElement});case 2:this.isLoading&&(this.isLoading=!0,this.handleLoading&&this.handleLoading());case 3:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"onResultsVideo",value:function(e){var t=this,n=e.detections;this.canvasElement&&this.onCanvas(e),this.boundingBoxElement.innerHTML="";var r=[];n.map((function(e){var n=e.boundingBox.xCenter-e.boundingBox.width/2,i={width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:n,landmarks:e.landmarks};r.push(i);var o=document.createElement("div");Kt.setAttrs(o,{style:"border: 1px solid rgb(255, 213, 0); position: absolute; top: "+100*i.yCenter+"%; right: "+100*i.xCenter+"%; width: "+100*i.width+"%; height: "+100*i.height+"%; z-index: 3;"}),t.boundingBoxElement.appendChild(o)})),this.handleOnResults&&this.handleOnResults(r)}},{key:"onResultsImage",value:function(e){var t=e.detections;this.canvasElement&&this.onCanvas(e);var n=t.map((function(e){var t=e.boundingBox.xCenter-e.boundingBox.width/2;return{width:e.boundingBox.width,height:e.boundingBox.height,yCenter:e.boundingBox.yCenter-e.boundingBox.height/2,xCenter:t,landmarks:e.landmarks}}));this.handleOnResults&&this.handleOnResults(n)}},{key:"onCanvas",value:function(e){if(this.canvasCtx.save(),this.canvasCtx.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.canvasCtx.drawImage(e.image,0,0,this.canvasElement.width,this.canvasElement.height),e.detections.length>0){var t=e.detections[0].landmarks;this.analyzeLighting(t)}this.canvasCtx.restore()}},{key:"onClose",value:function(){this.faceDetectionModel.close()}},{key:"analyzeLighting",value:function(e){var t=e[0],n=e[1],r=this.calculateAverageBrightness([t,n]);this.handleBrightness&&this.handleBrightness(r)}},{key:"calculateAverageBrightness",value:function(e){var t=this,n=0;return e.forEach((function(e){var r=Math.round(e.x*t.canvasElement.width),i=Math.round(e.y*t.canvasElement.height),o=t.canvasCtx.getImageData(r,i,1,1).data,a=(o[0]+o[1]+o[2])/3;n+=a})),n/e.length}},{key:"getBlurScore",value:function(e){var t=e.detections[0].boundingBox,n=t.xCenter*this.canvasElement.width,r=t.yCenter*this.canvasElement.height,i=t.width*this.canvasElement.width,o=t.height*this.canvasElement.height,a=this.canvasCtx.getImageData(n,r,i,o),s=this.analyzeBlur(a);console.log("Blur Score:",s),s<100?console.log("Blur detected in face"):console.log("Face is not blurry")}},{key:"analyzeBlur",value:function(e){var t=this.toGrayscale(e),n=this.computeLaplacian(t,e.width,e.height);return this.computeVariance(n)}},{key:"toGrayscale",value:function(e){for(var t=new Array(e.width*e.height).fill(0),n=e.data,r=0;r<n.length;r+=4){var i=.299*n[r]+.587*n[r+1]+.114*n[r+2];t[Math.floor(r/4)]=i}return t}},{key:"computeLaplacian",value:function(e,t,n){for(var r=new Array(t*n).fill(0),i=[[0,1,0],[1,-4,1],[0,1,0]],o=1;o<n-1;o++)for(var a=1;a<t-1;a++){for(var s=0,l=-1;l<=1;l++)for(var c=-1;c<=1;c++)s+=e[(o+l)*t+(a+c)]*i[l+1][c+1];r[o*t+a]=s}return r}},{key:"computeVariance",value:function(e){var t=e.reduce((function(e,t){return e+t}),0)/e.length;return e.reduce((function(e,n){return e+Math.pow(n-t,2)}),0)/e.length}}],n&&xn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function En(e){return En="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},En(e)}function _n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function In(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,On(r.key),r)}}function Fn(e,t,n){return(t=On(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function On(e){var t=function(e,t){if("object"!==En(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==En(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===En(t)?t:String(t)}var Ln=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Fn(this,"_facingMode","user"),Fn(this,"_webcamList",[]),Fn(this,"_streamList",[]),Fn(this,"_selectedDeviceId",""),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.snap=this.snap.bind(this),this.startStream=this.startStream.bind(this)}var t,n;return t=e,n=[{key:"facingMode",get:function(){return this._facingMode},set:function(e){this._facingMode=e}},{key:"webcamList",get:function(){return this._webcamList}},{key:"webcamCount",get:function(){return this._webcamList.length}},{key:"selectedDeviceId",get:function(){return this._selectedDeviceId}},{key:"getVideoInputs",value:function(e){var t=this;return this._webcamList=[],e.forEach((function(e){"videoinput"===e.kind&&t._webcamList.push(e)})),1==this._webcamList.length&&(this._facingMode="user"),this._webcamList}},{key:"getMediaConstraints",value:function(e){var t={};return""==this._selectedDeviceId?t.facingMode=this._facingMode:t.deviceId={exact:this._selectedDeviceId},t.width={exact:e.width},t.height={exact:e.height},{video:t,audio:!1}}},{key:"selectCamera",value:function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return _n(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this._webcamList);try{for(t.s();!(e=t.n()).done;){var n=e.value;if("user"==this._facingMode&&n.label.toLowerCase().includes("front")||"enviroment"==this._facingMode&&n.label.toLowerCase().includes("back")){this._selectedDeviceId=n.deviceId;break}}}catch(e){t.e(e)}finally{t.f()}}},{key:"flip",value:function(){this._facingMode="user"==this._facingMode?"enviroment":"user",this.selectCamera()}},{key:"start",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return new Promise((function(i,o){t.stop(),navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(n){t._streamList.push(n),t.info().then((function(n){t.selectCamera(),r?t.startStream(e).then((function(e){i(t._facingMode)})).catch((function(e){o(e)})):i(t._selectedDeviceId)})).catch((function(e){o(e)}))})).catch((function(e){n&&n(e.name),o(e)}))}))}},{key:"info",value:function(){var e=this;return new Promise((function(t,n){navigator.mediaDevices.enumerateDevices().then((function(n){e.getVideoInputs(n),t(e._webcamList)})).catch((function(e){n(e)}))}))}},{key:"startStream",value:function(e){var t=this;return new Promise((function(n,r){navigator.mediaDevices.getUserMedia(t.getMediaConstraints(e)).then((function(r){t._streamList.push(r),e.srcObject=r,"user"==t._facingMode&&(e.style.transform="scale(-1,1)");var i=e;setTimeout((function(){i.play()}),1e3),n(t._facingMode)})).catch((function(e){r(e)}))}))}},{key:"stop",value:function(){this._streamList.forEach((function(e){e.getTracks().forEach((function(e){e.stop()}))}))}},{key:"snap",value:function(e){var t=document.createElement("canvas");t.height=e.scrollHeight,t.width=e.scrollWidth;var n=t.getContext("2d");"user"===this._facingMode&&(n.translate(t.width,0),n.scale(-1,1)),n.clearRect(0,0,t.width,t.height),n.drawImage(e,0,0,t.width,t.height);var r=t.toDataURL("image/jpeg");return"data:,"===r&&(r=null),t.remove(),r}}],n&&In(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Mn(e){return Mn="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},Mn(e)}function Dn(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,Bn(r.key),r)}}function Gn(e,t,n){return(t=Bn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bn(e){var t=function(e,t){if("object"!==Mn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Mn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Mn(t)?t:String(t)}var Nn=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Gn(this,"_facingMode","user"),Gn(this,"_webcamList",[]),Gn(this,"_streamList",[]),Gn(this,"_selectedDeviceId",""),Gn(this,"_canvasElement",null),Gn(this,"loadModel",!1),Gn(this,"flash",!1),Gn(this,"facePosition",!1),Gn(this,"lookStraight",!1),Gn(this,"lighting",!1),Gn(this,"fixStatus",!1),Gn(this,"isCountry",0),Gn(this,"ready",!1),Gn(this,"logs",""),Gn(this,"timeInv",void 0),Gn(this,"setSnap",!1),Gn(this,"image",null),Gn(this,"detection",!1),Gn(this,"faceDetection",void 0),this.el=t,this.gl=n,this.cnf=r,this.width=i,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.setPosition=this.setPosition.bind(this),this.brightnessDetection=this.brightnessDetection.bind(this),this.capture=this.capture.bind(this),this.errorCameraPermission=this.errorCameraPermission.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render(),this.gl.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension)}var t,n;return t=e,n=[{key:"render",value:function(){var e,t,n,r,i,o,a=this,s=this.el,l=this.gl;l.dom.elwebcam=document.createElement("div"),this.updateDimension();var c='<div style="display: flex; justify-content: center;"><div class="webcamRefBox" style="min-width: '+this.height+"px; min-height: "+this.height+"px; max-height: "+this.height+'px; display: block; position: relative;"><div class="face_detect_age"></div><video class="webcamRef" autoplay muted playsinline style="position: absolute; top: 0px; right: 0px; /*opacity: 0; visibility: hidden; z-index: 2; */ border-radius: 10px; width: auto; transform: scaleX(-1);"></video><canvas class="webcamCanvas" id="webcamCanvas" style="position: absolute; z-index: -2; top: 0px; right: 0px; width: auto; transform: scaleX(-1);"></canvas></div></div><div class="faceController"><ul><li><div class="item_ctl lighting" style="background-color: '+(null!==(e=null===(t=l.customTemplate)||void 0===t?void 0:t.position_not_accepted_status_color)&&void 0!==e?e:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Lighting")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li><li><div class="item_ctl face_position" style="background-color: '+(null!==(n=null===(r=l.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Face Position")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li><li><div class="item_ctl look_straight" style="background-color: '+(null!==(i=null===(o=l.customTemplate)||void 0===o?void 0:o.position_not_accepted_status_color)&&void 0!==i?i:"rgb(239, 55, 134)")+';"><span class="title">'+Gt.t("Look Straight")+'</span><span class="value">'+Gt.t("Not Good")+'</span></div></li></ul></div><div class="facePositionMap" id="face_position_map"></div><div class="facePosition"><svg class="svg_face_position" viewBox="0 0 '+(this.height<460?this.width+" "+this.height:"360 480")+'"><defs><ellipse class="face-ellipse" id="face-ellipse" cx="50%" cy="55%" rx="133.2" ry="153.6" style="stroke: rgb(255, 255, 255);"></ellipse><mask id="mask"><rect x="0" y="0" width="100%" height="100%" fill="#fff" fill-opacity="0.3"></rect><use xlink:href="#face-ellipse"></use></mask></defs><rect x="0" y="0" width="100%" height="100%" mask="url(#mask)"></rect><use xlink:href="#face-ellipse" fill-opacity="0" stroke="white" stroke-width="2"></use></svg><div id="assertive" class="assertive"></div></div>';l.dom.elwebcam.innerHTML=c,s.appendChild(l.dom.elwebcam),l.dom.elwebcamLoad=document.createElement("div"),l.dom.elwebcamLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',l.dom.elwebcam.appendChild(l.dom.elwebcamLoad),l.dom.elwebcam.refBox=l.dom.elwebcam.getElementsByClassName("webcamRefBox")[0],l.dom.elwebcam.ref=l.dom.elwebcam.getElementsByClassName("webcamRef")[0],l.dom.elwebcam.webcamCanvas=l.dom.elwebcam.getElementsByClassName("webcamCanvas")[0],l.dom.elwebcam.faceDetact=l.dom.elwebcam.getElementsByClassName("face_detect_age")[0],l.dom.elwebcam.facePosition=l.dom.elwebcam.getElementsByClassName("face_position")[0],l.dom.elwebcam.lookStraight=l.dom.elwebcam.getElementsByClassName("look_straight")[0],l.dom.elwebcam.lighting=l.dom.elwebcam.getElementsByClassName("lighting")[0],l.dom.elwebcam.svgFacePosition=l.dom.elwebcam.getElementsByClassName("svg_face_position")[0],l.dom.elwebcam.ref.width=this.width,l.dom.elwebcam.ref.height=this.height,l.dom.elwebcam.webcamCanvas.width=l.dom.elwebcam.ref.width,l.dom.elwebcam.webcamCanvas.height=l.dom.elwebcam.ref.height;var u=this;(new Ln).start(l.dom.elwebcam.ref,this.errorCameraPermission).then((function(e){u.facePosition=new Rn(l.dom.elwebcam.ref,l.dom.elwebcam.webcamCanvas,l.dom.elwebcam.faceDetact,a.width,a.height,(function(e){return u.setPosition(e)}),(function(){return u.loadingDetection()}),(function(e){return u.brightnessDetection(e)}))})).catch((function(e){new Error(e)}))}},{key:"setPosition",value:function(){var e,t,n,r,i,o,a,s,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],c=this.gl,u=this;if(c.intro)return!1;if(1===l.length&&!this.fixStatus){var d=c.dom.elIframe.contentDocument.getElementById("face_age_analyzer");if(d&&c.dom.elwebcam.ref){var h=d.getBoundingClientRect().width,p=d.getBoundingClientRect().height,m=c.dom.elwebcam.ref.offsetWidth,f=c.dom.elwebcam.ref.offsetHeight,g=m-h,y=l[0],v=m*(100*y.width)/100*100/h,b=f*(100*y.height)/100*100/p,k=100*y.yCenter,w=100*(m*(100*y.xCenter)/100-g/2)/h,S=100*y.landmarks[2].y,C=100*y.landmarks[2].x;Math.round(C)-Math.round(w)>v/3&&Math.round(C)-Math.round(w)<v/2.5*1.5&&Math.round(S)-Math.round(k)>b/3&&Math.round(S)-Math.round(k)<b/2.5*1.5?this.lookStraight=!0:this.lookStraight=!1;var P=!1,A=!1,x=!1;if(v>=55&&(v>85?this.logs=Gt.t("Your distance is close to the camera"):(this.logs=null,P=!0)),w>=10&&w<35&&(A=!0),k>=15&&k<75&&(x=!0),P&&A&&x)if(this.logs=null,this.facePosition=!0,this.lookStraight){if(!this.ready){this.ready=!0;var T=3;u.timeInv=setInterval((function(){u.isCountry=T,T<=1?u.setSnap||(u.setSnap=!0,clearInterval(u.timeInv),setTimeout((function(){u.flash=!0,u.capture()}),700)):T=--T}),800)}}else this.ready=!1,this.isCountry=0,clearInterval(u.timeInv);else P?(this.facePosition=!1,this.logs=Gt.t("Keep your face inside the circle"),this.ready=!1,this.isCountry=0,clearInterval(u.timeInv)):(this.facePosition=!1,this.ready=!1,this.isCountry=0,clearInterval(u.timeInv))}}if(c.dom.elwebcam.facePosition.style.backgroundColor=this.facePosition?null!==(e=null===(t=c.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(r=c.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",c.dom.elwebcam.facePosition.getElementsByClassName("value")[0].innerHTML=this.facePosition?Gt.t("Good"):Gt.t("Not Good"),c.dom.elwebcam.getElementsByClassName("face-ellipse")[0]&&(c.dom.elwebcam.getElementsByClassName("face-ellipse")[0].style.stroke=this.facePosition?"rgba(255,255,255,0.32)":"#fff"),c.dom.elwebcam.lookStraight.style.backgroundColor=this.lookStraight?null!==(i=null===(o=c.customTemplate)||void 0===o?void 0:o.position_accepted_status_color)&&void 0!==i?i:"rgb(8, 211, 144)":null!==(a=null===(s=c.customTemplate)||void 0===s?void 0:s.position_not_accepted_status_color)&&void 0!==a?a:"rgb(239, 55, 134)",c.dom.elwebcam.lookStraight.getElementsByClassName("value")[0].innerHTML=this.lookStraight?Gt.t("Good"):Gt.t("Not Good"),c.dom.elwebcam.getElementsByClassName("assertive")[0]){var R=c.dom.elwebcam.getElementsByClassName("assertive")[0];l.length<=0?R.innerHTML=Gt.t("Please stand in front of the camera"):l.length>1?R.innerHTML=Gt.t("There is more than one person in the picture"):this.logs?R.innerHTML=this.logs:this.isCountry?R.innerHTML='<div class="countryPhoto">'+this.isCountry+"</div>":R.innerHTML=""}}},{key:"brightnessDetection",value:function(){var e,t,n,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=this.gl;o.dom.elwebcam.lighting.style.backgroundColor=i>50?null!==(e=null===(t=o.customTemplate)||void 0===t?void 0:t.position_accepted_status_color)&&void 0!==e?e:"rgb(8, 211, 144)":null!==(n=null===(r=o.customTemplate)||void 0===r?void 0:r.position_not_accepted_status_color)&&void 0!==n?n:"rgb(239, 55, 134)",o.dom.elwebcam.lighting.getElementsByClassName("value")[0].innerHTML=i>50?Gt.t("Good"):Gt.t("Not Good")}},{key:"capture",value:function(){var e=this,t=this.gl;if(clearInterval(this.timeInv),t.imageWebCam)return!1;if(t.intro)return!1;var n=new Ln;t.imageWebCam=n.snap(t.dom.elwebcam.ref),n.stop();var r='<div><div style="display: flex; justify-content: center;"><div style="position: relative;"><img class="image_per_camera" src="'+t.imageWebCam+'" alt="" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div></div><div class="faceActionSubmit"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div></div>';t.dom.elwebcam.innerHTML=r,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="none"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="none"),t.dom.elwebcam.handleImage=t.dom.elwebcam.getElementsByClassName("handle-submit")[0],t.dom.elwebcam.handleBack=t.dom.elwebcam.getElementsByClassName("handle-back")[0],t.dom.elwebcam.imagePerCamera=t.dom.elwebcam.getElementsByClassName("image_per_camera")[0],t.dom.elwebcam.handleImage.addEventListener("click",(function(){e.handleSubmit(t.imageWebCam)})),t.dom.elwebcam.handleBack.addEventListener("click",(function(){t.imageWebCam=null,e.isCountry=0,e.ready=!1,e.setSnap=!1,e.image=null,e.logs=null,e.facePosition=!1,e.lookStraight=!1,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),e.handleBack()}))}},{key:"errorCameraPermission",value:function(e){var t=this.gl,n='<div><div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-vubbuv" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="DirtyLensTwoToneIcon"><path d="M14.12 5H9.88L8.05 7H4v12h7.27c.14-.98.42-2.05-.16-2.43-.89-.59-1.27 2.06-2.8 1.35-1.39-1.12 1.05-1.29.5-3.27-.22-.79-2.28.36-2.4-1.24-.08-1 1.49-.74 1.51-1.49.03-.75-1.03-1.05-.25-1.91.22-.24.71-.26.91-.19.79.27 1.55 1.82 2.51 1.19 1.03-.66-1.88-2.35 0-2.86 1.64-.44 1.31 2.08 2.65 2.44 1.94.52 2.65-4.55 4.41-2.33 1.85 2.33-3.43 2.27-2.85 4.01.34 1.01 2.15-1.2 2.76.53.64 1.83-3.09.82-3.04 1.66.06.83 2.41.55 1.64 2.12-1.14 1.86-3-1.03-3.81.09-.39.57-.09 1.49.13 2.33H20V7h-4.05l-1.83-2zM19 17.15c0 .48-.38.86-.86.86-.47 0-.86-.38-.86-.86s.38-.86.86-.86c.47 0 .86.38.86.86z" opacity=".3"></path><path d="M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 14h-7.02c-.22-.84-.52-1.76-.13-2.33.81-1.12 2.67 1.77 3.81-.09.77-1.57-1.58-1.29-1.64-2.12-.05-.84 3.68.17 3.04-1.66-.61-1.73-2.42.48-2.76-.53-.58-1.74 4.7-1.68 2.85-4.01-1.76-2.22-2.47 2.85-4.41 2.33-1.34-.36-1.01-2.88-2.65-2.44-1.88.51 1.03 2.2 0 2.86-.96.63-1.72-.92-2.51-1.19-.2-.07-.69-.05-.91.19-.78.86.28 1.16.25 1.91-.02.75-1.59.49-1.51 1.49.12 1.6 2.18.45 2.4 1.24.55 1.98-1.89 2.15-.5 3.27 1.53.71 1.91-1.94 2.8-1.35.58.38.3 1.45.16 2.43H4V7h4.05l1.83-2h4.24l1.83 2H20v12z"></path><path d="M17.28 17.15c0 .48.39.86.86.86.48 0 .86-.38.86-.86s-.39-.86-.86-.86c-.48 0-.86.38-.86.86z"></path></svg><div class="headerBox">'+Gt.t("Error")+'</div><div class="support">'+("NotAllowedError"===e||"PermissionDeniedError"===e?Gt.t("Camera permission denied."):Gt.t("Unable to access the camera."))+"</div></div></div></div>";t.dom.elwebcam.innerHTML=n,t.dom.elwebcam.dragArea=t.dom.elwebcam.getElementsByClassName("dragArea")[0]}},{key:"loadingDetection",value:function(){this.gl.dom.elwebcamLoad.style.display="none",this.detection=!0}},{key:"stop",value:function(){(new Ln).stop()}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elwebcam&&e.dom.elwebcam.ref&&(e.dom.elwebcam.ref.width=this.width,e.dom.elwebcam.ref.height=this.height),e.dom.elwebcam&&e.dom.elwebcam.webcamCanvas&&(e.dom.elwebcam.webcamCanvas.width=e.dom.elwebcam.ref.width,e.dom.elwebcam.webcamCanvas.height=e.dom.elwebcam.ref.height),e.dom.elwebcam&&e.dom.elwebcam.refBox&&(e.dom.elwebcam.refBox.style.minWidth=this.height+"px",e.dom.elwebcam.refBox.style.minHeight=this.height+"px",e.dom.elwebcam.refBox.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.imagePerCamera&&(e.dom.elwebcam.imagePerCamera.style.Height=this.height+"px",e.dom.elwebcam.imagePerCamera.style.maxHeight=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.dragArea&&(e.dom.elwebcam.dragArea.style.height=this.height+"px"),e.dom.elwebcam&&e.dom.elwebcam.svgFacePosition&&(this.height<460?Kt.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 "+this.width+" "+this.height}):Kt.setAttrs(e.dom.elwebcam.svgFacePosition,{viewBox:"0 0 360 480"}))}}],n&&Dn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),jn=n(129),zn=n.n(jn);function Wn(e){return Wn="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},Wn(e)}function Un(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,(void 0,i=function(e,t){if("object"!==Wn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Wn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Wn(i)?i:String(i)),r)}var i}var Hn=function(){function e(t,n,r,i,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"OK",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"Cancel",l=arguments.length>7&&void 0!==arguments[7]&&arguments[7];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.onAccept=n,this.onCancel=r,this.title=i,this.text=o,this.titleAccept=a,this.titleCancel=s,this.close=l,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;t.dom.elModal=document.createElement("div"),Kt.setAttrs(t.dom.elModal,{class:"modal_face_age",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;align-items: center;"}),t.dom.elModal.box=document.createElement("div"),Kt.setAttrs(t.dom.elModal.box,{style:"width: 100%;"});var n='<div class="modal_window">'+(this.title?'<div class="title">'+this.title+"</div>":"")+'<div class="body">'+this.text+'</div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+(this.onCancel?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg cancel">'+this.titleCancel+"</div>":"")+(this.onAccept?'<div tabindex="0" role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg accept">'+this.titleAccept+"</div>":"")+"</div></div></div>";t.dom.elModal.box.innerHTML=n,t.dom.elModal.cancel=t.dom.elModal.box.getElementsByClassName("cancel")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0],t.dom.elModal.cancel&&t.dom.elModal.cancel.addEventListener("click",(function(t){e.onCancel()})),t.dom.elModal.accept&&t.dom.elModal.accept.addEventListener("click",(function(t){e.onAccept()})),t.dom.elModal.appendChild(t.dom.elModal.box),t.dom.elFace.analyzer.appendChild(t.dom.elModal)}}])&&Un(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Yn(e){return Yn="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},Yn(e)}function qn(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,Vn(r.key),r)}}function Jn(e,t,n){return(t=Vn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vn(e){var t=function(e,t){if("object"!==Yn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Yn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Yn(t)?t:String(t)}var $n=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:360,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:480,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Jn(this,"fileUrl",null),Jn(this,"image",null),Jn(this,"logs",null),Jn(this,"hasFace",!1),this.el=t,this.gl=n,this.cnf=r,this.width=i,this.height=o,this.handleSubmit=a,this.handleBack=s,this.loading=l,this.handelDragOver=this.handelDragOver.bind(this),this.handelDragLeave=this.handelDragLeave.bind(this),this.handelDrop=this.handelDrop.bind(this),this.handelClick=this.handelClick.bind(this),this.handelChangeInput=this.handelChangeInput.bind(this),this.displayFile=this.displayFile.bind(this),this.showCropMode=this.showCropMode.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl;this.updateDimension(),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.dom.elupload=document.createElement("div");var r='<div class="mainDragArea"><div class="dragArea" style="height: '+this.height+'px;"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 40px; height: 40px;"><path d="M8 16h12V4H8v12zm3.5-4.33l1.69 2.26 2.48-3.09L19 15H9l2.5-3.33z" opacity=".3"></path><path d="M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-2 0H8V4h12v12zm-4.33-5.17l-2.48 3.09-1.69-2.25L9 15h10zM4 22h14v-2H4V6H2v14c0 1.1.9 2 2 2z"></path></svg><div class="headerBox dragTitle">'+Gt.t("Drag & Drop")+'</div><div class="headerBox">'+Gt.t("Or")+' <span class="buttonUpload">'+Gt.t("browse")+'</span></div><input type="file" class="upload_file_image" id="upload_file_image" accept="image/jpeg,image/png,image/jpg,image/webp" hidden=""><span class="support">'+Gt.t("Supports: JPEG, JPG, PNG")+"</span></div></div>";n.dom.elupload.innerHTML=r,t.appendChild(n.dom.elupload),n.dom.elupload.dragArea=n.dom.elupload.getElementsByClassName("dragArea")[0],this.dragTitle=n.dom.elupload.getElementsByClassName("dragTitle")[0],n.dom.elupload.buttonUpload=n.dom.elupload.getElementsByClassName("buttonUpload")[0],n.dom.elupload.uploadFile=n.dom.elupload.getElementsByClassName("upload_file_image")[0],n.dom.elupload.dragArea.addEventListener("dragover",this.handelDragOver),n.dom.elupload.dragArea.addEventListener("dragleave",this.handelDragLeave),n.dom.elupload.dragArea.addEventListener("drop",this.handelDrop),n.dom.elupload.buttonUpload.addEventListener("click",(function(){return e.handelClick(n.dom.elupload.uploadFile)})),n.dom.elupload.uploadFile.addEventListener("change",(function(t){return e.handelChangeInput(t)}))}},{key:"handelDragOver",value:function(e){e.preventDefault(),this.dragTitle.innerHTML=Gt.t("Release to Upload"),e.target.classList.add("active")}},{key:"handelDragLeave",value:function(e){this.dragTitle.innerHTML=Gt.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelDrop",value:function(e){e.preventDefault();var t=e.dataTransfer.files[0];t&&this.displayFile(t),this.dragTitle.innerHTML=Gt.t("Drag & Drop"),e.target.classList.remove("active")}},{key:"handelClick",value:function(e){e&&e.click()}},{key:"handelChangeInput",value:function(e){var t=e.target.files[0];t&&this.displayFile(t)}},{key:"displayFile",value:function(e){var t=this,n=e.type,r=this.gl;if(["image/png","image/jpeg","image/jpg","image/webp"].includes(n)){var i=new FileReader;i.onload=function(){"image/webp"===n?t.compressImageFromURL(i.result,1).then((function(e){t.fileUrl=e,t.cropImage()})):(t.fileUrl=i.result,t.cropImage())},i.readAsDataURL(e)}else new Hn(r,null,(function(){r.dom.elModal.remove()}),Gt.t("Error"),Gt.t("file not supported, file name: ")+n,"",Gt.t("Re-take"))}},{key:"cropImage",value:function(){var e=this,t=this.el,n=this.gl;n.dom.elupload.remove(),n.dom.elupload=document.createElement("div"),n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="none"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="none");var r='<div class="mainDragArea"><div class="cropImg" style="height: '+this.height+'px;"><div style="display: block; width: 100%;" class="face_crop_img"></div></div></div><div class="faceAction_upload"><button class="FaceButtonBase-root FaceIconButton-root handle-back" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button><button class="FaceButtonBase-root FaceIconButton-root handle-submit disable" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M9 16.17 5.53 12.7a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.18 4.18c.39.39 1.02.39 1.41 0L20.29 7.71c.39-.39.39-1.02 0-1.41a.9959.9959 0 0 0-1.41 0L9 16.17z"></path></svg></span><span class="FaceTouchRipple-root"></span></button></div>';n.dom.elupload.innerHTML=r,t.appendChild(n.dom.elupload),n.dom.eluploadLoad=document.createElement("div"),n.dom.eluploadLoad.innerHTML='<div class="loading_request"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px;"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div>',n.dom.elupload.appendChild(n.dom.eluploadLoad),n.dom.elupload.faceCropImg=n.dom.elupload.getElementsByClassName("face_crop_img")[0],n.dom.elupload.cropImgBox=n.dom.elupload.getElementsByClassName("cropImg")[0],n.dom.elupload.faceCropImg.image=document.createElement("img"),Kt.setAttrs(n.dom.elupload.faceCropImg.image,{id:"face_image",src:this.fileUrl}),n.dom.elupload.faceCropImg.appendChild(n.dom.elupload.faceCropImg.image);var i=this;new Rn(n.dom.elupload.faceCropImg.image,null,null,this.width,this.height,(function(e){return i.showCropMode(e)}),(function(){return i.loadingDetection()}),null,"image"),n.dom.elupload.handleImage=n.dom.elupload.getElementsByClassName("handle-submit")[0],n.dom.elupload.handleBack=n.dom.elupload.getElementsByClassName("handle-back")[0],n.dom.elupload.handleImage.addEventListener("click",(function(){if(!e.hasFace)return!1;i.handleSubmit(i.image)})),n.dom.elupload.handleBack.addEventListener("click",(function(){n.dom.elupload.innerHTML="",i.image=null,n.dom.showUploadAction&&(n.dom.showUploadAction.style.display="block"),n.dom.showCameraAction&&(n.dom.showCameraAction.style.display="block"),i.handleBack()}))}},{key:"showCropMode",value:function(e){var t=this.gl,n=t.dom.elupload.faceCropImg.image.naturalWidth,r=t.dom.elupload.faceCropImg.image.naturalHeight,i=this,o=e[0];if(!o)return new Hn(t,null,(function(){t.dom.elupload.innerHTML="",i.image=null,t.dom.showUploadAction&&(t.dom.showUploadAction.style.display="block"),t.dom.showCameraAction&&(t.dom.showCameraAction.style.display="block"),i.render(),t.dom.elModal.remove()}),Gt.t("Error"),Gt.t("The face is not visible in the picture"),"",Gt.t("Re-take")),null;t.dom.elupload.handleImage.classList.remove("disable"),this.hasFace=!0;var a=n*(100*o.width)/100,s=r*(100*o.height)/100,l=r*(100*o.yCenter)/100,c=n*(100*o.xCenter)/100,u=document.createElement("div");e.length<=0?u.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">Please stand in front of the camera</div>':e.length>1&&(u.innerHTML='<div style="background: rgb(255, 255, 255); border-radius: 10px; padding: 8px 15px; margin-bottom: 10px; position: absolute; top: 15px; left: 10px; right: 10px;">There is more than one person in the picture, please select one person\'s picture.</div>'),t.dom.elupload.faceCropImg.appendChild(u);var d=new(zn())(t.dom.elupload.faceCropImg.image,{aspectRatio:15/18,guides:!1,zoomable:!1,data:{x:c/1.6,y:l/2.5,width:a+2*(c-c/1.6),height:s+2*(l-l/2.5)},crop:function(e){var t=d.getCroppedCanvas({maxWidth:4096,maxHeight:4096}).toDataURL("image/jpeg");i.image=t}})}},{key:"loadingDetection",value:function(){this.gl.dom.eluploadLoad.style.display="none"}},{key:"updateDimension",value:function(){var e=this.gl,t=this.cnf,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elupload&&e.dom.elupload.dragArea&&(e.dom.elupload.dragArea.style.height=this.height+"px"),e.dom.elupload&&e.dom.elupload.cropImgBox&&(e.dom.elupload.cropImgBox.style.height=this.height+"px")}},{key:"compressImageFromURL",value:function(e,t){return new Promise((function(n,r){var i=new Image;i.crossOrigin="Anonymous",i.src=e,i.onload=function(){var e=document.createElement("canvas"),r=e.getContext("2d");e.width=i.width,e.height=i.height,r.drawImage(i,0,0,e.width,e.height);var o=e.toDataURL("image/jpeg",t);n(o)},i.onerror=function(e){return r(e)}}))}}])&&qn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Kn(e){return Kn="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},Kn(e)}function Zn(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,(void 0,i=function(e,t){if("object"!==Kn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Kn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Kn(i)?i:String(i)),r)}var i}var Xn=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.pr=r,this.unitPrice=n.w.config.currency?n.w.config.currency:"$",this.routine=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i=this,o=this.el,a=this.w.globals,s=this.w.config,l=this.pr,c=document.createElement("div");Kt.setAttrs(c,{class:"product_item_box","data-id":l.id,style:""});var u=null===(e=a.customTemplate)||void 0===e?void 0:e.product_shadow,d=null===(t=a.customTemplate)||void 0===t?void 0:t.product_border_width,h=null===(n=a.customTemplate)||void 0===n?void 0:n.product_border_color,p=null===(r=a.customTemplate)||void 0===r?void 0:r.product_padding,m="";m+=u?"box-shadow: 0 0 5px 0 #0000002b;":"",m+=p?"padding: "+p+"px;":"padding: 10px;",m+=d&&h?"border: "+d+"px solid "+h+";":h?"border: 1px solid "+h+";":"";var f=document.createElement("div");Kt.setAttrs(f,{class:"product_item",style:m});var g=document.createElement("a");if(Kt.setAttrs(g,{class:"product_item_link","data-id":l.id,target:"_blank",href:l.url?l.url:"#"}),!this.routine&&void 0!==l.routineGroups&&l.routineGroups){var y=document.createElement("div");Kt.setAttrs(y,{class:"routine_group"});var v=[];Array.isArray(l.routineGroups)?l.routineGroups.map((function(e){Object.keys(a.routineGroup).forEach((function(t){var n=a.routineGroup[t];Object.keys(n).forEach((function(t){t!==e||v.includes(Gt.t(n[t]))||v.push(Gt.t(n[t]))}))}))})):"object"===Kn(l.routineGroups)&&(v=[],Object.keys(l.routineGroups).forEach((function(e){var t=l.routineGroups[e],n=a.routineGroup[e];t.map((function(e){Object.keys(n).forEach((function(t){t!==e||v.includes(Gt.t(n[t]))||v.push(Gt.t(n[t]))}))}))}))),y.innerHTML="<span>"+v.join(", ")+"</span>",g.appendChild(y)}var b=document.createElement("img");Kt.setAttrs(b,{class:"product_image",src:l.image,alt:l.title}),g.appendChild(b);var k=document.createElement("h2");Kt.setAttrs(k,{class:"product_title"}),k.innerText=Gt.t(l.title),g.appendChild(k);var w=document.createElement("p");if(Kt.setAttrs(w,{class:"product_description"}),w.innerText=Gt.t(l.description),g.appendChild(w),f.appendChild(g),void 0!==l.problems&&l.problems){var S=document.createElement("div");Kt.setAttrs(S,{class:"product_problem_support swiper myProductProblem"});var C=document.createElement("div");Kt.setAttrs(C,{class:"swiper-wrapper"});var P=[];l.problems.map((function(e){if(!P.includes(e)){P.push(e);var t=document.createElement("div");Kt.setAttrs(t,{class:"swiper-slide"});var n=document.createElement("div");Kt.setAttrs(n,{class:"product_problem_item"}),Object.keys(a.problems).forEach((function(t,r){var i=a.problems[t];t.toLowerCase()===e.toLowerCase()&&(n.innerText=Gt.t(i))})),t.appendChild(n),C.appendChild(t)}})),S.appendChild(C),f.appendChild(S)}var A=document.createElement("div");Kt.setAttrs(A,{class:"product_price"});var x=document.createElement("span");Kt.setAttrs(x,{class:"price"});var T=document.createElement("span");if(Kt.setAttrs(T,{class:"old"}),void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(x.innerText=this.unitPrice+l.offerPrice,T.innerText=this.unitPrice+l.price,A.appendChild(x),A.appendChild(T),f.appendChild(A)):l.price&&(x.innerText=this.unitPrice+l.price,A.appendChild(x),f.appendChild(A)),void 0!==l.variables&&l.variables){var R=document.createElement("div");Kt.setAttrs(R,{class:"product_variables"}),Object.keys(l.variables).forEach((function(e,t){var n=l.variables[e],r=document.createElement("div");Kt.setAttrs(r,{class:"item"});var o=document.createElement("label");o.innerText=Gt.t(n.title),r.appendChild(o);var a=document.createElement("select");Kt.setAttrs(a,{class:"product_variables_select",name:e,"data-id":l.id}),Array.isArray(n.option)&&n.option.forEach((function(e,t){var n=document.createElement("option");n.value=e.value,n.text=Gt.t(e.label),0===t&&n.setAttribute("selected",!0),a.appendChild(n)})),a.addEventListener("change",(function(e){n.option.forEach((function(t,n){t.value===e.target.value&&(t.price?void 0!==t.offerPrice&&t.offerPrice>0&&t.offerPrice<t.price?(x.innerText=i.unitPrice+t.offerPrice,T&&T.remove(),T=document.createElement("span"),Kt.setAttrs(T,{class:"old"}),T.innerText=i.unitPrice+t.price,A.appendChild(T)):t.price&&(x.innerText=i.unitPrice+t.price,T&&T.remove()):void 0!==l.offerPrice&&l.offerPrice>0&&l.offerPrice<l.price?(x.innerText=i.unitPrice+l.offerPrice,T&&T.remove(),T=document.createElement("span"),Kt.setAttrs(T,{class:"old"}),T.innerText=i.unitPrice+l.price,A.appendChild(T)):l.price&&(x.innerText=i.unitPrice+l.price,T&&T.remove()))}))})),r.appendChild(a),R.appendChild(r)})),f.appendChild(R)}if(s.showAddToCard){var E=document.createElement("button");Kt.setAttrs(E,{class:"product_add_to_cart","data-id":l.id}),E.innerText=Gt.t("Add to cart"),E.addEventListener("click",(function(e){var t=e.target.getAttribute("data-id"),n=e.target.parentElement.querySelectorAll(".product_variables_select"),r=[];n&&n.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var i=e.options[n];r[t]=i.value}}})),e.target.classList.contains("active")||(e.target.classList.add("active"),e.target.innerText=Gt.t("Add again")),a.dom.elRecommendation.checkOut&&(a.dom.elRecommendation.checkOut.style.display="block"),a.productAddToCart.find((function(e){return e.id===t}))||a.productAddToCart.push({id:t,variable:r}),a.onAddToCart&&a.onAddToCart([{id:t,variable:r}])})),f.appendChild(E)}g.addEventListener("click",(function(e){var t=i.getParentAnchor(e.target);if(null!==t){var n=t.getAttribute("data-id");a.onClickProduct&&a.onClickProduct(n)}})),c.appendChild(f),o.appendChild(c)}},{key:"getParentAnchor",value:function(e){for(;null!==e;){if(e.tagName&&"A"===e.tagName.toUpperCase())return e;e=e.parentNode}return null}}])&&Zn(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Qn={format:"image/png",quality:.92,width:void 0,height:void 0,Canvas:void 0,crossOrigin:void 0};function er(e){return er="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},er(e)}function tr(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,(void 0,i=function(e,t){if("object"!==er(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==er(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===er(i)?i:String(i)),r)}var i}var nr=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.dataReport=n,this.single=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.w.globals,t=(this.w.config,this.dataReport.damagePercentage?this.dataReport.damagePercentage:0);e.dom.elSkinReport=document.createElement("div"),Kt.setAttrs(e.dom.elSkinReport,{class:"modal_face_age skin_report",style:"position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 99999999;text-align: center;background: rgb(0 0 0 / 34%);display: flex;"+(this.single?"padding-top: 60px":"align-items: center;")}),e.dom.elSkinReport.box=document.createElement("div"),Kt.setAttrs(e.dom.elSkinReport.box,{style:"width: 100%;"});var n='<div class="modal_window"><div class="title">'+Gt.t("My Skin Report")+'</div><div class="close_btn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32px" height="32px"><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="25.5" x2="25.5" y2="6.5"/><line style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" x1="6.5" y1="6.5" x2="25.5" y2="25.5"/></svg></div><div class="body"> <div class="chart"> <canvas id="radarChart" width="100%" height="200"></canvas> </div> <div class="score"></div> <div class="problem_items"></div></div></div>';if(e.dom.elSkinReport.box.innerHTML=n,e.dom.elSkinReport.close=e.dom.elSkinReport.box.getElementsByClassName("close_btn")[0],e.dom.elSkinReport.problemItems=e.dom.elSkinReport.box.getElementsByClassName("problem_items")[0],e.dom.elSkinReport.score=e.dom.elSkinReport.box.getElementsByClassName("score")[0],e.dom.elSkinReport.appendChild(e.dom.elSkinReport.box),e.dom.elSkinReport.close.addEventListener("click",(function(t){e.dom.elSkinReport.remove()})),t){var r=t&&t>0?100-parseInt(t):99,i=r<=60?Gt.t("Bad"):r>=90?Gt.t("Good"):Gt.t("Fair");e.dom.elSkinReport.score.innerHTML="<div>"+Gt.t("Skin Health")+': <span style="margin-left: 0;display: inline-block;font-weight: bold;">'+r+'%</span></div><div class="type">'+i+"</div>"}if(this.dataReport.problems.length>0&&this.dataReport.problems.map((function(t){var n=document.createElement("div");n.innerHTML='<div class="box">\n <div class="progress_box_problem">\n <div class="progress_image">\n <img class="problem_image" src="" alt="'+Gt.t(t.title)+'">\n </div>\n <div class="progress_item">\n <div style="display: flex; justify-content: space-between; align-items: center;">\n <h2>'+Gt.t(t.title)+'</h2>\n <span class="percentage">'+parseInt(t.number)+("Percent"===t.format?"%":"")+'</span>\n </div>\n <div class="progress-bar-container">\n <div class="title_bar">\n <span class="status-text">'+Gt.t("Good")+'</span>\n <span class="status-text" style="margin-left: auto;">'+Gt.t("Bad")+'</span>\n </div>\n <div class="progress-bar">\n <div class="bar"><div></div><div></div><div></div></div>\n <div class="progress-indicator" style="left: '+("Percent"===t.format?t.number+"%":(t.number<=4?7.3*t.number:t.number>=9?7.3*t.number+60.66>=100?100:7.3*t.number+60.66:7.3*t.number+30.33)+"%")+'"></div>\n </div>\n </div>\n </div>\n </div>\n '+(t.summary?'<p class="description">'+Gt.t(t.summary)+"</p>":"")+"\n</div>";var r,i,o=t.areas&&""!==t.areas?t.areas:null,a=t.masks&&""!==t.masks?t.masks:null,s="-1"===a?o:a;s?(r=[e.imageSubmit,"data:image/svg+xml;base64,"+s],void 0===r&&(r=[]),void 0===i&&(i={}),new Promise((function(e){var t=(i=Object.assign({},Qn,i)).Canvas?new i.Canvas:window.document.createElement("canvas"),n=i.Image||window.Image,o=r.map((function(e){return new Promise((function(t,r){"Object"!==e.constructor.name&&(e={src:e});var o=new n;o.crossOrigin=i.crossOrigin,o.onerror=function(){return r(new Error("Couldn't load image"))},o.onload=function(){return t(Object.assign({},e,{img:o}))},o.src=e.src}))})),a=t.getContext("2d");e(Promise.all(o).then((function(e){var n=function(t){return i[t]||Math.max.apply(Math,e.map((function(e){return e.img[t]})))};return t.width=n("width"),t.height=n("height"),e.forEach((function(e){return a.globalAlpha=e.opacity?e.opacity:1,a.drawImage(e.img,e.x||0,e.y||0)})),i.Canvas&&"image/jpeg"===i.format?new Promise((function(e,n){t.toDataURL(i.format,{quality:i.quality,progressive:!1},(function(t,r){t?n(t):e(r)}))})):t.toDataURL(i.format,i.quality)})))}))).then((function(e){return n.querySelector(".problem_image").src=e})):n.querySelector(".problem_image").src=e.imageSubmit,e.dom.elSkinReport.problemItems.appendChild(n)})),this.dataReport.problems.length>0){var o=this.dataReport.problems.map((function(e){return"Percent"===e.format?"'"+Gt.t(e.title)+"'":null}));o=o.filter((function(e){return e}));var a=this.dataReport.problems.map((function(e){return"Percent"===e.format?parseInt(e.number):null}));a=a.filter((function(e){return e}));var s=this.dataReport.problems.map((function(e){return"Percent"===e.format?e.colors:null}));s=s.filter((function(e){return e}));var l=document.createElement("script");l.type="text/javascript",l.text="var ctx = document.getElementById('radarChart').getContext('2d');\n var radarChart = new Chart(ctx, {\n type: 'polarArea',\n data: {\n labels: ["+o.join(", ")+"],\n datasets: [{\n data: ['"+a.join("', '")+"'],\n backgroundColor: ['"+s.join("', '")+'\'],\n }]\n },\n options: {\n responsive: true,\n plugins: {\n legend: false,\n tooltip: true,\n },\n scale: {\n pointLabels :{\n wight: "10px",\n } },\n elements: {\n line: {\n tension: 0.2 }\n }\n }\n })',e.dom.elSkinReport.appendChild(l)}e.dom.docIframe.appendChild(e.dom.elSkinReport)}}])&&tr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function rr(e){return rr="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},rr(e)}function ir(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,(void 0,i=function(e,t){if("object"!==rr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==rr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===rr(i)?i:String(i)),r)}var i}var or=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.pv=r,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=i,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config,i="morning";n.dom.elFace.style.display="none",n.dom.elRoutines=document.createElement("div"),Kt.setAttrs(n.dom.elRoutines,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRoutines.box=document.createElement("div"),Kt.setAttrs(n.dom.elRoutines.box,{style:"width: 100%;"});var o='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Gt.t("My Routines")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===r.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="body"> <div class="main"> <div class="header_routine_box"> <div class="header_product header_routine"> <div class="title header_routine_title">'+Gt.t("Your")+" "+Gt.t("Morning")+" "+Gt.t("Routine")+'</div> <div class="action"> <button class="routine_btn morning active"><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.6243 12.8121C11.3617 12.8121 11.9885 12.5541 12.5046 12.0379C13.0208 11.5217 13.2789 10.895 13.2789 10.1576C13.2789 9.42022 13.0208 8.79345 12.5046 8.27729C11.9885 7.76112 11.3617 7.50304 10.6243 7.50304C9.88695 7.50304 9.26018 7.76112 8.74402 8.27729C8.22786 8.79345 7.96978 9.42022 7.96978 10.1576C7.96978 10.895 8.22786 11.5217 8.74402 12.0379C9.26018 12.5541 9.88695 12.8121 10.6243 12.8121ZM10.6243 14.5818C9.40028 14.5818 8.3569 14.1505 7.49417 13.2877C6.63145 12.425 6.20008 11.3816 6.20008 10.1576C6.20008 8.93355 6.63145 7.89016 7.49417 7.02744C8.3569 6.16471 9.40028 5.73335 10.6243 5.73335C11.8484 5.73335 12.8917 6.16471 13.7545 7.02744C14.6172 7.89016 15.0486 8.93355 15.0486 10.1576C15.0486 11.3816 14.6172 12.425 13.7545 13.2877C12.8917 14.1505 11.8484 14.5818 10.6243 14.5818ZM4.43039 11.0424H0.890991V9.27274H4.43039V11.0424ZM20.3577 11.0424H16.8183V9.27274H20.3577V11.0424ZM9.73948 3.96365V0.424255H11.5092V3.96365H9.73948ZM9.73948 19.8909V16.3515H11.5092V19.8909H9.73948ZM5.66917 6.39698L3.43493 4.25123L4.69584 2.94607L6.81948 5.15819L5.66917 6.39698ZM16.5528 17.3691L14.4071 15.1349L15.5795 13.9182L17.8137 16.064L16.5528 17.3691ZM14.3849 5.20244L16.5307 2.96819L17.8358 4.2291L15.6237 6.35274L14.3849 5.20244ZM3.41281 16.0861L5.64705 13.9403L6.86372 15.1127L4.71796 17.347L3.41281 16.0861Z" fill="#1D1B20"/></svg></button> <button class="routine_btn night"><svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.37575 16.1212C6.16363 16.1212 4.28332 15.347 2.73484 13.7985C1.18635 12.25 0.412109 10.3697 0.412109 8.15758C0.412109 5.94546 1.18635 4.06515 2.73484 2.51667C4.28332 0.968182 6.16363 0.193939 8.37575 0.193939C8.58221 0.193939 8.78499 0.201313 8.98408 0.21606C9.18317 0.230808 9.37858 0.252929 9.57029 0.282424C8.96565 0.710101 8.48267 1.26682 8.12135 1.95258C7.76004 2.63833 7.57938 3.37939 7.57938 4.17576C7.57938 5.50303 8.04393 6.63121 8.97302 7.5603C9.90211 8.48939 11.0303 8.95394 12.3576 8.95394C13.1687 8.95394 13.9134 8.77328 14.5918 8.41197C15.2702 8.05066 15.8232 7.56768 16.2509 6.96303C16.2804 7.15475 16.3025 7.35015 16.3173 7.54924C16.332 7.74833 16.3394 7.95111 16.3394 8.15758C16.3394 10.3697 15.5651 12.25 14.0167 13.7985C12.4682 15.347 10.5879 16.1212 8.37575 16.1212ZM8.37575 14.3515C9.67352 14.3515 10.8386 13.9939 11.8709 13.2786C12.9032 12.5634 13.6553 11.6306 14.1273 10.4803C13.8323 10.554 13.5374 10.613 13.2424 10.6573C12.9475 10.7015 12.6525 10.7236 12.3576 10.7236C10.5436 10.7236 8.99883 10.0858 7.72317 8.81015C6.44751 7.5345 5.80969 5.9897 5.80969 4.17576C5.80969 3.88081 5.83181 3.58586 5.87605 3.29091C5.92029 2.99596 5.97928 2.70101 6.05302 2.40606C4.90272 2.87798 3.96994 3.6301 3.25469 4.66242C2.53943 5.69475 2.18181 6.8598 2.18181 8.15758C2.18181 9.86828 2.78645 11.3283 3.99575 12.5376C5.20504 13.7469 6.66504 14.3515 8.37575 14.3515Z" fill="#1D1B20"/></svg></button> </div> </div> <div class="header_routine_des">'+Gt.t("Check how you can improve your skin with the proper product and routine")+'</div> </div> <div class="routine"> </div> </div> </div></div>';n.dom.elRoutines.box.innerHTML=o,n.dom.elRoutines.appendChild(n.dom.elRoutines.box),t.appendChild(n.dom.elRoutines),n.dom.elRoutines.routine=n.dom.elRoutines.box.querySelector(".routine"),n.dom.elRoutines.back=n.dom.elRoutines.box.querySelector(".back"),n.dom.elRoutines.info=n.dom.elRoutines.box.querySelector(".info"),n.dom.elRoutines.refresh=n.dom.elRoutines.box.querySelector(".refresh"),n.dom.elRoutines.close=n.dom.elRoutines.box.querySelector(".close"),n.dom.elRoutines.morning=n.dom.elRoutines.box.querySelector(".morning"),n.dom.elRoutines.night=n.dom.elRoutines.box.querySelector(".night"),n.dom.elRoutines.routineTitle=n.dom.elRoutines.box.querySelector(".header_routine_title"),n.dom.elRoutines.recommendation_modal=n.dom.elRoutines.box.querySelector(".recommendation_modal_window"),this.updateSlider(this.ctx,"morning"),n.dom.elRoutines.back.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,r.showProducts?(n.dom.elRoutines.remove(),n.statusProductDimension=!0,new lr(n.dom.docIframe,e.ctx,e.pv,e.dataReport)):(n.dom.elRoutines.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100))})),n.dom.elRoutines.info.addEventListener("click",(function(){new nr(e.ctx,e.dataReport,!0)})),n.dom.elRoutines.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusRoutinDimension=!1,n.dom.elRoutines.remove(),n.dom.elRecommendation&&n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.imageSubmit=null,n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.intro=!0,e.co.intro=!0,new ii(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRoutines.close&&n.dom.elRoutines.close.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.dom.elModalFace.classList.remove("is-open"),n.onCloseModal&&n.onCloseModal()})),n.dom.elRoutines.morning.addEventListener("click",(function(){"morning"!==i&&(i="morning",n.dom.elRoutines.routineTitle.innerText=Gt.t("Your")+" "+Gt.t("Morning")+" "+Gt.t("Routine"),n.dom.elRoutines.morning.classList.add("active"),n.dom.elRoutines.night.classList.remove("active"),e.updateSlider(e.ctx,"morning"))})),n.dom.elRoutines.night.addEventListener("click",(function(){"night"!==i&&(i="night",n.dom.elRoutines.routineTitle.innerText=Gt.t("Your")+" "+Gt.t("Night")+" "+Gt.t("Routine"),n.dom.elRoutines.night.classList.add("active"),n.dom.elRoutines.morning.classList.remove("active"),e.updateSlider(e.ctx,"night"))})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverRoutin=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverRoutin.observe(n.dom.elRoutines.recommendation_modal),n.onDisplayRoutines&&n.onDisplayRoutines(n.productLists)}},{key:"updateSlider",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"morning",r=(e.w,e.w.globals);e.w.config,r.productLoader?(r.dom.elRoutines.routine.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',r.checkStateProductLoader=setInterval((function(){r.productLoader||(t.updateSetData(e,n),clearInterval(r.checkStateProductLoader))}),100)):this.updateSetData(e,n)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,r=e.w.config,i=[],o=0;n.dom.elRoutines.routine.innerHTML="",Object.keys(n.routineGroup[t]).forEach((function(a,s){var l=n.routineGroup[t][a],c="routines.content."+a,u=!0;if(r.routinesSupport.length>0&&(r.routinesSupport.includes(a)||(u=!1)),u){o++;var d=document.createElement("div");Kt.setAttrs(d,{class:"routine_item"});var h=document.createElement("div");Kt.setAttrs(h,{class:"routine_title"}),h.innerHTML="<span>"+o+".</span>"+Gt.t(l),d.appendChild(h);var p=document.createElement("div");Kt.setAttrs(p,{class:"routine_content"}),p.innerText=Gt.t(c),d.appendChild(p);var m=document.createElement("div");if(Kt.setAttrs(m,{class:"products"}),n.productLists&&(n.productLists.map((function(r){if(void 0!==r.routineGroups&&r.routineGroups){var o=[];if(Array.isArray(r.routineGroups))r.routineGroups.map((function(e){var r=n.routineGroup[t];Object.keys(r).forEach((function(t){t!==e||o.includes(t)||o.push(t)}))}));else if("object"===rr(r.routineGroups)){o=[];var s=r.routineGroups[t];if(s){var l=n.routineGroup[t];s.map((function(e){Object.keys(l).forEach((function(t){t!==e||o.includes(t)||o.push(t)}))}))}}o.includes(a)&&(new Xn(m,e,r,!0),i.push(r.id))}})),n.productAddToCart.length>0)){var f=m.querySelectorAll(".product_item_box");f.forEach((function(e,t){var r=f[t],i=r.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===i}))&&(r.querySelector(".product_add_to_cart").classList.contains("active")||(r.querySelector(".product_add_to_cart").classList.add("active"),r.querySelector(".product_add_to_cart").innerText=Gt.t("Add again")))}))}d.appendChild(m),n.dom.elRoutines.routine.appendChild(d);var g=document.createElement("script");g.type="text/javascript",g.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRoutines.routine.appendChild(g)}}))}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusRoutinDimension)return!1;"section"===this.co.displayModel&&(e.heightProduct=e.dom.elRoutines.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}}],n&&ir(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ar(e){return ar="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},ar(e)}function sr(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,(void 0,i=function(e,t){if("object"!==ar(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ar(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ar(i)?i:String(i)),r)}var i}var lr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=i,this.updateDimension=this.updateDimension.bind(this),this.updateSlider=this.updateSlider.bind(this),this.updateSetData=this.updateSetData.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config;n.dom.elFace.style.display="none",n.dom.elRecommendation=document.createElement("div"),Kt.setAttrs(n.dom.elRecommendation,{class:"recommendation_products",style:"background: #fff; min-height: 100%;"}),n.dom.elRecommendation.box=document.createElement("div"),Kt.setAttrs(n.dom.elRecommendation.box,{style:"width: 100%;"});var i='<div class="recommendation_modal_window"> <div class="header_tools"> <div class="back"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div> <div class="title">'+Gt.t("Recommendation Products")+'</div> <div class="info"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.66663 24.6533L12.6666 16.64L18 21.9733L29.3333 9.22668L27.4533 7.34668L18 17.9733L12.6666 12.64L2.66663 22.6533L4.66663 24.6533Z" fill="black"/></svg></div> <div class="refresh"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.5333 8.46668C21.6 6.53334 18.9467 5.33334 16 5.33334C10.1067 5.33334 5.34668 10.1067 5.34668 16C5.34668 21.8933 10.1067 26.6667 16 26.6667C20.9733 26.6667 25.12 23.2667 26.3067 18.6667H23.5333C22.44 21.7733 19.48 24 16 24C11.5867 24 8.00001 20.4133 8.00001 16C8.00001 11.5867 11.5867 8.00001 16 8.00001C18.2133 8.00001 20.1867 8.92001 21.6267 10.3733L17.3333 14.6667H26.6667V5.33334L23.5333 8.46668Z" fill="black"/></svg></div>'+("modal"===r.displayModel?' <div class="close"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.3333 8.54663L23.4533 6.66663L16 14.12L8.54667 6.66663L6.66667 8.54663L14.12 16L6.66667 23.4533L8.54667 25.3333L16 17.88L23.4533 25.3333L25.3333 23.4533L17.88 16L25.3333 8.54663Z" fill="black"/></svg></div>':"")+' </div> <div class="slider_header" style="padding: 15px 0 2px; background-color: #F1F3F4"></div> <div class="body"> <div class="main"> <div class="header_product_box"> <div class="header_product"> <div class="title">'+Gt.t("Products That Just Work For you")+'</div> <div class="action">'+(r.showAddToCard?' <button class="add_to_cart add_to_cart_all">'+Gt.t("Add all to cart")+"</button>":"")+(r.showRoutine?' <button class="show_routine">'+Gt.t("Routine")+"</button>":"")+' </div> </div> </div> <div class="products"> </div>'+("modal"===r.displayModel&&r.showAddToCard?' <div class="footer_box"> <button class="add_to_cart add_to_cart_all2">'+Gt.t("Add all to cart")+'</button> <button class="check_out" style="display: none">'+Gt.t("Checkout")+"</button></div>":"")+" </div> </div></div>";n.dom.elRecommendation.box.innerHTML=i,n.dom.elRecommendation.appendChild(n.dom.elRecommendation.box),t.appendChild(n.dom.elRecommendation),n.dom.elRecommendation.problems=n.dom.elRecommendation.box.querySelector(".slider_header"),n.dom.elRecommendation.products=n.dom.elRecommendation.box.querySelector(".products"),n.dom.elRecommendation.headerProduct=n.dom.elRecommendation.box.querySelector(".header_product_box"),n.dom.elRecommendation.back=n.dom.elRecommendation.box.querySelector(".back"),n.dom.elRecommendation.info=n.dom.elRecommendation.box.querySelector(".info"),n.dom.elRecommendation.refresh=n.dom.elRecommendation.box.querySelector(".refresh"),n.dom.elRecommendation.close=n.dom.elRecommendation.box.querySelector(".close"),n.dom.elRecommendation.addToCardAll=n.dom.elRecommendation.box.querySelector(".add_to_cart_all"),n.dom.elRecommendation.addToCardAll2=n.dom.elRecommendation.box.querySelector(".add_to_cart_all2"),n.dom.elRecommendation.footerBox=n.dom.elRecommendation.box.querySelector(".footer_box"),n.dom.elRecommendation.checkOut=n.dom.elRecommendation.box.querySelector(".check_out"),n.dom.elRecommendation.showRoutine=n.dom.elRecommendation.box.querySelector(".show_routine"),n.dom.elRecommendation.recommendation_modal=n.dom.elRecommendation.box.querySelector(".recommendation_modal_window"),new dr(n.dom.elRecommendation.problems,this.ctx,this.pv,this.dataReport?this.dataReport.problems:[],!0,!0,this.updateSlider),this.updateSlider(this.ctx,"all_products"),n.dom.elRecommendation.addToCardAll&&n.dom.elRecommendation.addToCardAll.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.addToCardAll2&&n.dom.elRecommendation.addToCardAll2.addEventListener("click",(function(t){e.addToCardAll()})),n.dom.elRecommendation.checkOut&&n.dom.elRecommendation.checkOut.addEventListener("click",(function(e){n.onCheckout&&n.onCheckout(n.productAddToCart)})),n.dom.elRecommendation.back.addEventListener("click",(function(e){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",setTimeout((function(){n.dom.elFace.style.display="flex"}),100)})),n.dom.elRecommendation.showRoutine&&n.dom.elRecommendation.showRoutine.addEventListener("click",(function(t){clearInterval(n.checkStateProductLoader),n.dom.elRecommendation.remove(),n.statusProductDimension=!1,n.statusRoutinDimension=!0,new or(n.dom.docIframe,e.ctx,e.pv,e.dataReport)})),n.dom.elRecommendation.info.addEventListener("click",(function(){new nr(e.ctx,e.dataReport,!0)})),n.dom.elRecommendation.refresh.addEventListener("click",(function(){clearInterval(n.checkStateProductLoader),n.statusProductDimension=!1,n.dom.elRecommendation.remove(),n.heightElIframeOldSetStatus=!1,n.dom.elIframe.style.height=n.heightElIframeOld+"px",n.dom.elInfo&&n.dom.elInfo.remove(),n.dom.elForm&&n.dom.elForm.remove(),n.dom.elFace&&n.dom.elFace.remove(),n.activeQuiz=0,n.formData={},n.productLoader=!1,n.productLists=[],n.productAction=[],n.productAddToCart=[],n.imageSubmit=null,n.intro=!0,e.co.intro=!0,new ii(n.dom.docIframe,e.ctx,e.pv),n.onRefresh&&n.onRefresh()})),n.dom.elRecommendation.close&&n.dom.elRecommendation.close.addEventListener("click",(function(e){n.dom.elModalFace.classList.remove("is-open"),clearInterval(n.checkStateProductLoader),n.onCloseModal&&n.onCloseModal()})),setTimeout((function(){e.updateDimension()}),500),n.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),n.resizeObserverProduct=new ResizeObserver((function(){e.updateDimension()})),n.resizeObserverProduct.observe(n.dom.elRecommendation.recommendation_modal),n.onDisplayProducts&&n.onDisplayProducts(n.productLists)}},{key:"updateSlider",value:function(e,t){var n=this,r=(e.w,e.w.globals);r.dom.elRecommendation.headerProduct.style.display="block",r.dom.elRecommendation.footerBox&&(r.dom.elRecommendation.footerBox.style.display="flex"),r.productListsDisplay=[],r.productLoader?(r.dom.elRecommendation.products.innerHTML='<div class="face_age"><div class="loading_request_pr" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: var(--basic)"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',r.dom.elRecommendation.headerProduct.style.display="none",r.dom.elRecommendation.footerBox&&(r.dom.elRecommendation.footerBox.style.display="none"),r.checkStateProductLoader=setInterval((function(){r.productLoader||(n.updateSetData(e,t),clearInterval(r.checkStateProductLoader))}),100)):this.updateSetData(e,t)}},{key:"updateSetData",value:function(e,t){e.w;var n=e.w.globals,r=[];if(n.dom.elRecommendation.headerProduct.style.display="block",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="flex"),n.productListsDisplay=[],!n.productLoader){if(n.dom.elRecommendation.products.innerHTML="",n.productLists){if(n.productLists.map((function(i){(i.problems.includes(t)||"all_products"===t)&&(new Xn(n.dom.elRecommendation.products,e,i),r.push(i.id),n.productListsDisplay.push(i))})),n.productAddToCart.length>0){var i=n.dom.elRecommendation.products.querySelectorAll(".product_item_box");i.forEach((function(e,t){var r=i[t],o=r.getAttribute("data-id");n.productAddToCart.find((function(e){return e.id===o}))&&(r.querySelector(".product_add_to_cart").classList.contains("active")||(r.querySelector(".product_add_to_cart").classList.add("active"),r.querySelector(".product_add_to_cart").innerText=Gt.t("Add again")))})),n.dom.elRecommendation.checkOut&&(n.dom.elRecommendation.checkOut.style.display="block")}var o=document.createElement("script");o.type="text/javascript",o.text="new Swiper('.myProductProblem', {\n slidesPerView: 'auto',\n spaceBetween: 6,\n });",n.dom.elRecommendation.products.appendChild(o)}if(r.length<=0){var a=document.createElement("div");Kt.setAttrs(a,{class:"product_empty"}),a.innerHTML=Gt.t("There are no products to display."),n.dom.elRecommendation.products.appendChild(a),n.dom.elRecommendation.headerProduct.style.display="none",n.dom.elRecommendation.footerBox&&(n.dom.elRecommendation.footerBox.style.display="none")}}}},{key:"updateDimension",value:function(){var e=this.w.globals;if(!e.statusProductDimension)return!1;"section"===this.co.displayModel&&(e.heightProduct=e.dom.elRecommendation.recommendation_modal.scrollHeight,e.heightElIframeOldSetStatus||(e.heightElIframeOld=e.dom.elIframe.clientHeight,e.heightElIframeOldSetStatus=!0),e.dom.elIframe.style.height=e.heightProduct+"px")}},{key:"addToCardAll",value:function(){var e=this.w.globals,t=e.dom.elRecommendation.products.querySelectorAll(".product_item_box"),n=[];t.forEach((function(r,i){var o=t[i],a=o.getAttribute("data-id"),s=o.querySelectorAll(".product_variables_select"),l=[];s&&s.forEach((function(e){if(e&&e.options.length>0){var t=e.getAttribute("name"),n=(e.getAttribute("data-id"),e.selectedIndex);if(-1!==n){var r=e.options[n];l[t]=r.value}}})),o.querySelector(".product_add_to_cart").classList.contains("active")||(o.querySelector(".product_add_to_cart").classList.add("active"),o.querySelector(".product_add_to_cart").innerText=Gt.t("Add again"),e.dom.elRecommendation.checkOut&&(e.dom.elRecommendation.checkOut.style.display="block")),n.push({id:a,variable:l}),e.productAddToCart.find((function(e){return e.id===a}))||e.productAddToCart.push({id:a,variable:l})})),e.onAddToCart&&e.onAddToCart(n)}}])&&sr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function cr(e){return cr="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},cr(e)}function ur(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,(void 0,i=function(e,t){if("object"!==cr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==cr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===cr(i)?i:String(i)),r)}var i}var dr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.problems=i,this.showProducts=o,this.recommendation=a,this.eventSlider=s,this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.gl,r=this.co,i=this.ctx,o=this.pv.getValue(),a='<div class="swiper '+(this.recommendation?"myProducts":"mySwiper")+'">\n <div class="swiper-wrapper">\n <div class="swiper-slide">\n <div class="point_analysis '+(this.recommendation?"all_products":"skin_info")+' active" data-key="'+(this.recommendation?"all_products":"skin_info")+'">\n <div class="count_box">\n <div class="'+(this.recommendation?"products_ico":"skin_info_ico")+'">'+(this.recommendation?'<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 24 24"><path d="M23.381,9.854c-.363-.415-.85-.691-1.381-.8v-.554c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v1c0,.276,.224,.5,.5,.5s.5-.224,.5-.5V1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-2c-.276,0-.5,.224-.5,.5s.224,.5,.5,.5h2c1.93,0,3.5,1.57,3.5,3.5v.5h-7v-.5c0-1.953-1.258-3.602-3-4.224V1.5c0-.827-.673-1.5-1.5-1.5h-3c-.827,0-1.5,.673-1.5,1.5v2.776c-1.742,.621-3,2.271-3,4.224v.554c-.531,.109-1.018,.385-1.381,.8-.475,.542-.692,1.263-.595,1.985l1.118,7.389c.363,2.721,2.707,4.772,5.452,4.772h10.812c2.745,0,5.089-2.052,5.451-4.764l1.121-7.406c.095-.714-.122-1.435-.597-1.977ZM6,1.5c0-.276,.224-.5,.5-.5h3c.276,0,.5,.224,.5,.5v2.551c-.166-.019-.329-.051-.5-.051h-3c-.171,0-.334,.032-.5,.051V1.5Zm.5,3.5h3c1.93,0,3.5,1.57,3.5,3.5v.5H3v-.5c0-1.93,1.57-3.5,3.5-3.5Zm16.488,6.689l-1.121,7.405c-.297,2.227-2.215,3.905-4.461,3.905H6.594c-2.246,0-4.164-1.679-4.462-3.914l-1.118-7.388c-.057-.428,.073-.86,.358-1.186,.285-.326,.696-.512,1.129-.512H21.5c.433,0,.844,.187,1.129,.512,.285,.325,.415,.757,.359,1.177Zm-10.488,.811v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm5.5,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Zm-11,0v7c0,.276-.224,.5-.5,.5s-.5-.224-.5-.5v-7c0-.276,.224-.5,.5-.5s.5,.224,.5,.5Z"/></svg>':'<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_3028_882)"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 1.82353C2 1.36871 2.36871 1 2.82353 1H7.76471C8.21953 1 8.58824 1.36871 8.58824 1.82353C8.58824 2.27835 8.21953 2.64706 7.76471 2.64706H3.64706V6.76471C3.64706 7.21953 3.27835 7.58824 2.82353 7.58824C2.36871 7.58824 2 7.21953 2 6.76471V1.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M29.1765 1C29.6312 1 30 1.36871 30 1.82353V6.76471C30 7.21953 29.6312 7.58824 29.1765 7.58824C28.7217 7.58824 28.3529 7.21953 28.3529 6.76471V2.64706H24.2353C23.7805 2.64706 23.4118 2.27835 23.4118 1.82353C23.4118 1.36871 23.7805 1 24.2353 1H29.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M2.82353 29C2.36871 29 2 28.6312 2 28.1765V23.2353C2 22.7805 2.36871 22.4118 2.82353 22.4118C3.27835 22.4118 3.64706 22.7805 3.64706 23.2353V27.3529H7.76471C8.21953 27.3529 8.58824 27.7217 8.58824 28.1765C8.58824 28.6312 8.21953 29 7.76471 29H2.82353Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M30 28.1765C30 28.6312 29.6312 29 29.1765 29H24.2353C23.7805 29 23.4118 28.6312 23.4118 28.1765C23.4118 27.7217 23.7805 27.3529 24.2353 27.3529H28.3529V23.2353C28.3529 22.7805 28.7217 22.4118 29.1765 22.4118C29.6312 22.4118 30 22.7805 30 23.2353V28.1765Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.58823 13.3529C8.58823 9.25954 11.9066 5.94118 16 5.94118C20.0934 5.94118 23.4118 9.25954 23.4118 13.3529V16.6471C23.4118 20.7405 20.0934 24.0588 16 24.0588C11.9066 24.0588 8.58823 20.7405 8.58823 16.6471V13.3529ZM16 7.58824C12.8162 7.58824 10.2353 10.1692 10.2353 13.3529V16.6471C10.2353 19.8308 12.8162 22.4118 16 22.4118C19.1838 22.4118 21.7647 19.8308 21.7647 16.6471V13.3529C21.7647 10.1692 19.1838 7.58824 16 7.58824Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7059 17.4706C13.1606 17.4706 13.5294 17.8394 13.5294 18.2941L13.5299 18.2986C13.5299 18.2986 13.5317 18.3061 13.535 18.3142C13.5416 18.3304 13.5576 18.3608 13.5935 18.4033C13.6686 18.4921 13.8096 18.6074 14.039 18.7222C14.4984 18.9518 15.1905 19.1176 16 19.1176C16.8095 19.1176 17.5016 18.9518 17.961 18.7222C18.1904 18.6074 18.3314 18.4921 18.4065 18.4033C18.4424 18.3608 18.4584 18.3304 18.465 18.3142C18.4683 18.3061 18.4701 18.2986 18.4701 18.2986L18.4706 18.2941C18.4706 17.8394 18.8394 17.4706 19.2941 17.4706C19.7489 17.4706 20.1177 17.8394 20.1177 18.2941C20.1177 19.229 19.3813 19.8535 18.6976 20.1953C17.9646 20.5618 17.0098 20.7647 16 20.7647C14.9902 20.7647 14.0354 20.5618 13.3025 20.1953C12.6188 19.8535 11.8824 19.229 11.8824 18.2941C11.8824 17.8394 12.2511 17.4706 12.7059 17.4706Z" fill="white"/></g><defs><filter id="filter0_d_3028_882" x="0" y="0" width="32" height="32" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="1"/><feGaussianBlur stdDeviation="1"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3028_882"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3028_882" result="shape"/></filter></defs></svg>')+'</div>\n </div>\n <div class="label_box" style="'+(this.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+(this.recommendation?Gt.t("All Products"):Gt.t("Skin Info"))+"</div>\n </div>\n </div>\n";this.problems.length>0&&this.problems.map((function(t){a+=' <div class="swiper-slide">\n <div class="point_analysis '+t.key+'" data-key="'+t.key+'">\n <div class="count_box" style="background-color: '+(e.recommendation?"rgb(0 0 0 / 4%)":"rgb(0 0 0 / 24%)")+'">\n <div class="progress-container"><svg class="MuiCircularProgress-svg" viewBox="22 22 44 44"><circle class="MuiCircularProgress-circle" cx="44" cy="44" r="20.2" fill="none" stroke-width="2.6"></circle></svg><div class="progress-label">0%</div></div>\n </div>\n <div class="label_box" style="'+(e.recommendation?"color: #000; text-shadow: 0 0 #000; overflow: visible;":"")+'">'+Gt.t(t.title)+"</div>\n </div>\n </div>\n"})),a+=' </div><div class="swiper-button-next"></div><div class="swiper-button-prev"></div>\n </div>';var s=document.createElement("div");Kt.setAttrs(s,{style:"background: linear-gradient(rgba(33, 37, 41, 0), rgb(33 37 41 / 51%));"+(this.showProducts?"padding-bottom: 10px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0; padding-bottom: "+(o.copyRight&&"widget"===r.displayModel?25:10)+"px;"),class:"face_slide"}),s.innerHTML=a,t.appendChild(s);var l=document.createElement("script");l.type="text/javascript",l.text="new Swiper('."+(this.recommendation?"myProducts":"mySwiper")+'\', {\n slidesPerView: \'auto\',\n spaceBetween: 12,\n navigation: {\n nextEl: ".swiper-button-next",\n prevEl: ".swiper-button-prev",\n },\n });',t.appendChild(l),this.problems.length>0&&this.problems.map((function(n){var r=t.querySelector(".face_slide").getElementsByClassName(n.key)[0];e.setProgress(r,parseInt(n.number),n.colors,"Percent"===n.format)}));var c=t.getElementsByClassName("point_analysis");if(c)for(var u=function(){var r=c[d];r.addEventListener("click",(function(o){var a=r.getAttribute("data-key"),s=t.querySelectorAll(".point_analysis");if(s)for(var l=0;l<s.length;l++){var c=s[l];c.classList.contains("active")&&c.classList.remove("active")}r.classList.add("active");var u=t.querySelector(".face_slide").querySelectorAll(".point_analysis");if(u.forEach((function(t,n){var r=u[n],i=r.getAttribute("data-key"),o=e.problems.find((function(e){return e.key===i}));o&&(e.setProgress(r,parseInt(o.number),o.key!==a?o.colors:"#fff","Percent"===o.format),r.querySelector(".count_box")&&(o.key===a?r.querySelector(".count_box").style.backgroundColor=o.colors:r.querySelector(".count_box").style.backgroundColor=e.recommendation?"rgb(0 0 0 / 4%)":"rgb(0 0 0 / 24%)"))})),!e.recommendation){"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.score?n.dom.elPreviewImage.imageLoad.score.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.score&&(n.dom.elPreviewImage.imageLoad.score.style.display="block"),"skin_info"!==a&&n.dom.elPreviewImage.imageLoad.warning?n.dom.elPreviewImage.imageLoad.warning.style.display="none":"skin_info"===a&&n.dom.elPreviewImage.imageLoad.warning&&(n.dom.elPreviewImage.imageLoad.warning.style.display="block"),e.setTitle("skin_info"!==a?a:null);var d=n.dom.elPreviewImage.imageLoad.masks.querySelectorAll(".maskItem");if(d)for(var h=0;h<d.length;h++){var p=d[h],m=p.getAttribute("data-key");p.style.display="skin_info"===a||m===a?"block":"none"}}e.eventSlider&&e.eventSlider(i,a),n.onClickProblem&&n.onClickProblem(a)}))},d=0;d<c.length;d++)u()}},{key:"setProgress",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#da005c",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=e.querySelector(".MuiCircularProgress-circle"),o=e.querySelector(".progress-label"),a=r?Math.min(Math.max(t,0),100):t,s=r?"%":"",l=2*Math.PI*20.2,c=l-a/100*l;i.style.stroke=n,i.style.strokeDashoffset=c,o.textContent="".concat(a).concat(s),o.style.color=n}},{key:"setTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(this.el,this.gl);if(e){var n=[];this.problems.length>0&&this.problems.map((function(t){e===t.key&&(n=t)})),n&&(t.dom.elPreviewImage.activePoint?(t.dom.elPreviewImage.activePoint.innerHTML=Gt.t(n.title),t.dom.elPreviewImage.activePoint.style.backgroundColor=n.colors):(t.dom.elPreviewImage.activePoint=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.activePoint,{style:"background-color: "+n.colors+";",class:"title_point_select"}),t.dom.elPreviewImage.activePoint.innerHTML=Gt.t(n.title),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.activePoint)))}else{var r=t.dom.elPreviewImage.imageLoad.querySelector(".title_point_select");r&&(r.remove(),t.dom.elPreviewImage.activePoint=null)}}}],n&&ur(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function hr(e){return hr="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},hr(e)}function pr(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,(void 0,i=function(e,t){if("object"!==hr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==hr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===hr(i)?i:String(i)),r)}var i}var mr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=r,this.problems=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl;this.co,t.dom.elPreviewImage.imageLoad.masks=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.masks,{style:"position: absolute; top: 0; left: 0; right: 0; bottom: 0"}),t.dom.elPreviewImage.imageLoad.maskItem=[],this.problems.length>0&&this.problems.map((function(e){var n=e.areas&&""!==e.areas?e.areas:null,r=e.masks&&""!==e.masks?e.masks:null,i="-1"===r?n:r,o=r?"mask":"areas",a=r?"0.9":"0.6";i&&(t.dom.elPreviewImage.imageLoad.maskItem[e.key]=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.maskItem[e.key],{class:"maskItem "+o+"_"+e.key,"data-key":e.key,style:"position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-size: 100%; background-repeat: no-repeat; background-position: left top; opacity: "+a+'; background-image: url("data:image/svg+xml;base64,'+i+'");'}),t.dom.elPreviewImage.imageLoad.masks.appendChild(t.dom.elPreviewImage.imageLoad.maskItem[e.key]))})),e.appendChild(t.dom.elPreviewImage.imageLoad.masks)}}])&&pr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function fr(e){return fr="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},fr(e)}function gr(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,(void 0,i=function(e,t){if("object"!==fr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==fr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===fr(i)?i:String(i)),r)}var i}var yr=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.co=r,this.damage=i,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.el,t=this.gl,n=(this.co,this.damage&&this.damage>0?100-parseInt(this.damage):99);t.dom.elPreviewImage.imageLoad.score=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad.score,{style:"position: absolute;top: "+(t.imageWarning?"58":"15")+"px;left: 17px;text-align: left;background: var(--accepted_status);padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px"}),t.dom.elPreviewImage.imageLoad.score.innerHTML="<div>"+Gt.t("Skin Health")+': <span style="margin-left: 7px;display: inline-block;font-weight: bold;">'+n+"%</span></div>",e.appendChild(t.dom.elPreviewImage.imageLoad.score)}}])&&gr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function vr(e){return vr="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},vr(e)}function br(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,(void 0,i=function(e,t){if("object"!==vr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===vr(i)?i:String(i)),r)}var i}var kr=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.w=n.w,this.gl=n.w.globals,this.validation=r,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t,n,r,i=this.el,o=this.w.globals,a=(this.w.config,null===(e=this.validation)||void 0===e?void 0:e.blurry),s=null===(t=this.validation)||void 0===t?void 0:t.eyeGlass,l=null===(n=this.validation)||void 0===n?void 0:n.neutralFace,c=null===(r=this.validation)||void 0===r?void 0:r.faceObstruction,u=this.validation.brightness?this.validation.brightness:0;(u<50||a||s||!l)&&(o.dom.elPreviewImage.imageLoad.warning=document.createElement("div"),Kt.setAttrs(o.dom.elPreviewImage.imageLoad.warning,{style:"position: absolute;top: 15px;left: 17px;text-align: left;background: #FFC961;padding: 7px 10px;border-radius: 10px;color: #fff; font-size: 14px; cursor: pointer;"}),o.dom.elPreviewImage.imageLoad.warning.innerHTML='<div class="warning_image"><svg style="width: 16px; display: inline-block; height: 16px; vertical-align: middle;" width="16" height="20" viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 13.5V8.5C2 5.43 3.64 2.86 6.5 2.18V1.5C6.5 0.67 7.17 0 8 0C8.83 0 9.5 0.67 9.5 1.5V2.18C12.37 2.86 14 5.42 14 8.5V13.5L16 15.5V16.5H9.53674e-07V15.5L2 13.5ZM7 13.5H9V11.5H7V13.5ZM7 9.5H9V5.5H7V9.5ZM8 19.5C6.9 19.5 6 18.6 6 17.5H10C10 18.6 9.11 19.5 8 19.5Z" fill="white"/></svg> '+Gt.t("Image is not suitable")+"</div>",o.imageWarning=!0,i.appendChild(o.dom.elPreviewImage.imageLoad.warning),o.dom.elPreviewImage.imageLoad.warning.addEventListener("click",(function(){var e=[];a&&e.push(Gt.t("validation.blurry")),s&&e.push(Gt.t("validation.eyeGlass")),c&&e.push(Gt.t("validation.faceObstruction")),l||e.push(Gt.t("validation.neutralFace")),u<50&&e.push(Gt.t("validation.brightness"));var t="<ol>"+e.map((function(e){return"<li>"+e+"</li>"})).join(" ")+"</ol>";new Hn(o,(function(){o.dom.elModal.remove()}),null,Gt.t("Tips for taking better selfies"),t,Gt.t("Continue"))})))}}])&&br(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function wr(e){return wr="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},wr(e)}function Sr(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,(void 0,i=function(e,t){if("object"!==wr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==wr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===wr(i)?i:String(i)),r)}var i}var Cr=function(){function e(t,n,r,i,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=r.name,this.inputType=r.inputType,this.placeholder=Gt.t(r.placeholder),this.required=r.required,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"textInput"});var i=document.createElement("input");Kt.setAttrs(i,{class:"input",placeholder:this.placeholder?this.placeholder+" ":"",name:this.name,type:this.inputType,required:this.required,value:void 0!==this.value?this.value:""}),i.addEventListener("input",(function(t){e.setValue(t.target.value),e.value=t.target.value})),r.appendChild(i),t.appendChild(r),this.el.appendChild(t)}}])&&Sr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Pr(e){return Pr="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},Pr(e)}function Ar(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,(void 0,i=function(e,t){if("object"!==Pr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Pr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Pr(i)?i:String(i)),r)}var i}var xr=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.children=Gt.t(r.text),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this.gl;e.dom.elementText=document.createElement("h3"),Kt.setAttrs(e.dom.elementText,{style:"margin: 0 0 10px"}),e.dom.elementText.innerHTML=this.children,this.el.appendChild(e.dom.elementText)}}])&&Ar(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Tr(e){return Tr="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},Tr(e)}function Rr(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,(void 0,i=function(e,t){if("object"!==Tr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Tr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Tr(i)?i:String(i)),r)}var i}var Er=function(){function e(t,n,r,i,o){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.name=r.name,this.options=null!==(a=r.options)&&void 0!==a?a:[],this.required=r.required,this.title=Gt.t(r.title),this.description=Gt.t(r.description),this.value=i,this.setValue=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=(this.gl,document.createElement("div"));Kt.setAttrs(t,{class:"el_box","data-name":this.name});var n=document.createElement("div");Kt.setAttrs(n,{class:"box_title"}),n.innerHTML=(this.title?'<label class="title_el">'+this.title+"</label>":"")+(this.description?'<p class="description_el">'+this.description+"</p>":""),t.appendChild(n);var r=document.createElement("div");Kt.setAttrs(r,{class:"textInput"});var i=document.createElement("select");Kt.setAttrs(i,{class:"select",name:this.name,required:this.required}),this.options.map((function(t){var n=document.createElement("option");n.value=t.value,n.text=Gt.t(t.label),t.value===e.value&&(n.selected=!0),i.appendChild(n)})),i.addEventListener("change",(function(t){e.setValue(t.target.value),e.value=t.target.value})),r.appendChild(i),t.appendChild(r),this.el.appendChild(t)}}])&&Rr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function _r(e){return _r="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},_r(e)}function Ir(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,(void 0,i=function(e,t){if("object"!==_r(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==_r(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===_r(i)?i:String(i)),r)}var i}var Fr=function(){function e(t,n,r,i,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.item=r,this.valus=i,this.setData=o,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl,n=this.item;switch(n.type){case"title":new xr(this.el,t,n);break;case"text":new on(this.el,t,n);break;case"checkboxInput":new tn(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"radioInput":new ln(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"textInput":new Cr(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}));break;case"selectBox":new Er(this.el,t,n,this.valus[n.name],(function(t){return e.setData(t,n.name)}))}}}])&&Ir(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Or(e){return Or="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},Or(e)}function Lr(e){try{var t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch(e){return!1}}function Mr(e){return/<\/?[a-z][\s\S]*>/i.test(e)}function Dr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[];return e.map((function(e,r){var i,o={},a=t[e.name],s=null!==(i=e.title)&&void 0!==i?i:e.name;if(e.required&&!a)o[e.name]=s+" is required";else if(a)if("textInput"===e.type)switch(e.inputType){case"email":/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(a)||(o[e.name]=s+" must be a valid Email");break;case"url":/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?(\/.*)?$/.test(a)||(o[e.name]=s+" must be a valid HTTPS URL");break;case"number":/^\d+$/.test(a)||(o[e.name]=s+" must be a valid number");break;case"date":(function(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;var t=new Date(e),n=t.getTime();return!(!n&&0!==n)&&t.toISOString().slice(0,10)===e})(a)||(o[e.name]=s+" must be a valid date (ex: 2024-02-18)")}else"checkboxInput"===e.type&&"object"!==Or(a)&&(o[e.name]=s+" must be an object if provided");Object.keys(o).length>0&&n.push({index:r,errors:o})})),n.length>0?n:null}function Gr(e){return Gr="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},Gr(e)}function Br(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,(void 0,i=function(e,t){if("object"!==Gr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Gr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Gr(i)?i:String(i)),r)}var i}var Nr=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.gl=t.w.globals,this.onSubmit=n,this.onSkip=r,this.valus=this.gl.formData,this.required=[],this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;Object.keys(this.valus).length<=0&&n.defaultQuiz&&Xt().map(n.defaultQuiz,(function(t,n){e.valus[n]=t}));var r=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(r.content&&r.content.elements&&r.content.elements.length>0){t.formData||(t.formData={});var i=r.content.actions?r.content.actions.find((function(e){return"goToSkip"===e.onAction})):null,o=r.content.actions?r.content.actions.find((function(e){return"goToNext"===e.onAction})):null;new Hn(t,o?function(){if(e.required.length>0&&!e.required.find((function(t){return e.valus[t]})))return!1;r.content.elements.map((function(e){var n=t.dom.elModal.body.querySelector('.el_box[data-name="'+e.name+'"]');if(n){var r=n.querySelector(".err");r&&r.remove()}}));var n=Dr(r.content.elements,e.valus);if(n)return n.map((function(e,n){Xt().map(e.errors,(function(e,n){var r=t.dom.elModal.body.querySelector('.el_box[data-name="'+n+'"]');if(r){var i=document.createElement("p");Kt.setAttrs(i,{class:"err"}),i.innerText=e,r.appendChild(i)}}))})),!1;t.dom.elModal.remove(),e.onSubmit(e.valus)}:null,i?function(){t.dom.elModal.remove(),e.onSkip&&e.onSkip()}:null,"","",o?Gt.t(o.label):"",i?Gt.t(i.label):""),t.dom.elModal.body=t.dom.elModal.box.getElementsByClassName("body")[0],t.dom.elModal.accept=t.dom.elModal.box.getElementsByClassName("accept")[0];var a=!0,s=!0;r.content.elements.map((function(n){console.log(n),n.required&&e.required.push(n.name),n.required&&!e.valus[n.name]&&(a=!1),e.valus[n.name]||(s=!1),new Fr(t.dom.elModal.body,t,n,e.valus,(function(n,r){e.valus[r]=n,t.dom.elModal.accept&&e.required.map((function(n){e.valus[n]?t.dom.elModal.accept.classList.remove("disabale"):t.dom.elModal.accept.classList.add("disabale")}))}))})),t.dom.elModal.accept&&this.required.length>0&&t.dom.elModal.accept.classList.add("disabale"),t.dom.elModal.accept&&a&&t.dom.elModal.accept.classList.contains("disabale")&&t.dom.elModal.accept.classList.remove("disabale"),s&&t.dom.elModal.accept.click()}}}])&&Br(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function jr(e){return jr="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},jr(e)}function zr(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,(void 0,i=function(e,t){if("object"!==jr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==jr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===jr(i)?i:String(i)),r)}var i}var Wr=function(){function e(t,n,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.gl=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.dataReport=o,this.image=i,this.back=a,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e,t=this.gl,n=(this.co,this.dataReport),r=this,i=[],o=!1,a=!1,s=[];n.validation&&(n.validation.blurry&&!0===n.validation.blurry&&(i.push(Gt.t("your picture quality is blurry")),o=!0),n.validation.eyeGlass&&!0===n.validation.eyeGlass&&(i.push(Gt.t("be wearing glasses")),a=!0),a&&s.push(Gt.t("please remove them")),o&&s.push(Gt.t("Improve photo quality")),e=Gt.t("We noticed you might")+" "+i.join(" "+Gt.t("and")+" ")+". "+Gt.t("for better results")+", "+s.join(" "+Gt.t("and")+" ")+"."),i.length>0?new Hn(t,(function(){r.submitData(n),t.dom.elModal.remove()}),(function(){r.back(),t.dom.elModal.remove()}),Gt.t("Tips for taking better selfies"),e,Gt.t("Continue"),Gt.t("Re-take")):this.submitData(n)}},{key:"submitData",value:function(e){var t=this,n=this.gl,r=this.co,i=this.pv.getValue(),o=n.formPages.find((function(e){return"imageAnalysis"===e.name}));r.showProducts||r.showRoutine?(n.dom.elPreviewImage.actionProducts=document.createElement("div"),Kt.setAttrs(n.dom.elPreviewImage.actionProducts,{class:"problems_products",style:i.copyRight&&"modal"!==r.displayModel?"position: absolute;z-index: 2;left: 10px;right: 10px;bottom: "+("widget"===r.displayModel?25:15)+"px;":"position: absolute;z-index: 2;left: 0;right: 0;bottom: 0;"}),new dr(n.dom.elPreviewImage.actionProducts,this.ctx,this.pv,e.problems,!0),n.dom.elPreviewImage.actionProducts.btn=document.createElement("button"),n.dom.elPreviewImage.actionProducts.btn.innerHTML=r.showProducts?Gt.t("Get recommended products!"):Gt.t("Generate routines for you"),Kt.setAttrs(n.dom.elPreviewImage.actionProducts.btn,{class:"recommended_products"}),n.dom.elPreviewImage.actionProducts.appendChild(n.dom.elPreviewImage.actionProducts.btn),n.dom.elPreviewImage.imageLoad.appendChild(n.dom.elPreviewImage.actionProducts),n.dom.elPreviewImage.actionProducts.btn.addEventListener("click",(function(e){!n.showFinalForm&&o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0?new Nr(t.ctx,(function(e){n.formData=e,n.showFinalForm=!0,t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(e)}),(function(){n.showFinalForm=!0,t.showProductsPage(),n.getActiveSelections&&n.getActiveSelections(n.formData)})):t.showProductsPage()}))):new dr(n.dom.elPreviewImage.imageLoad,this.ctx,this.pv,e.problems),new mr(n.dom.elPreviewImage.boxrelative,n,this.co,e.problems),new kr(n.dom.elPreviewImage.imageLoad,this.ctx,e.validation),e.damagePercentage&&new yr(n.dom.elPreviewImage.imageLoad,n,this.co,e.damagePercentage);var a='<button class="FaceButtonBase-root FaceIconButton-root FaceInfoMode infoRepetition" style="'+("modal"===r.displayModel?"top: 10px;":"")+'" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 18.49L9.5 12.48L13.5 16.48L22 6.92001L20.59 5.51001L13.5 13.48L9.5 9.48001L2 16.99L3.5 18.49Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';if(n.dom.elPreviewImage.backico=document.createElement("div"),n.dom.elPreviewImage.backico.innerHTML='<button class="FaceButtonBase-root FaceIconButton-root FaceChangeBackMode backRepetition" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',n.dom.elPreviewImage.infoico=document.createElement("div"),n.dom.elPreviewImage.infoico.innerHTML=a,"modal"!==r.displayModel&&n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.backico),n.dom.elPreviewImage.appendChild(n.dom.elPreviewImage.infoico),n.dom.elPreviewImage.backico&&n.dom.elPreviewImage.backico.addEventListener("click",(function(){t.back(),n.onRefresh&&n.onRefresh()})),n.dom.elPreviewImage.infoico.addEventListener("click",(function(){new nr(t.ctx,t.dataReport)})),n.imageSubmit=this.image,n.getAdvisorData&&n.getAdvisorData(e.problems),!r.showProducts&&!r.showRoutine&&!n.showFinalForm&&o.afterAnalysis&&o.content&&o.content.elements&&o.content.elements.length>0&&setTimeout((function(){n.showFinalForm||"preview"!==n.stepShow||new Nr(t.ctx,(function(e){n.formData=e,n.showFinalForm=!0,n.getActiveSelections&&n.getActiveSelections(e)}),(function(){n.showFinalForm=!0,n.getActiveSelections&&n.getActiveSelections(n.formData)}))}),5e3),n.onload){var s={points:{},image:this.image};e.problems.map((function(e){var t=e.key;switch(e.key){case"acne":t="acnes";break;case"darkCircle":t="dark_circle";break;case"deepWrinkles":t="deep_wrinkles";break;case"eyeBag":t="eye_bag";break;case"eyeWrinkles":t="eye_wrinkles";break;case"fineWrinkles":t="wrinkles"}s[t]=parseInt(e.number)})),n.onload(s)}}},{key:"showProductsPage",value:function(){this.co.showProducts?(this.gl.statusProductDimension=!0,new lr(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport)):this.co.showRoutine&&(this.gl.statusRoutinDimension=!0,new or(this.gl.dom.docIframe,this.ctx,this.pv,this.dataReport))}}])&&zr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ur(e){return Ur="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},Ur(e)}function Hr(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,qr(r.key),r)}}function Yr(e,t,n){return(t=qr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qr(e){var t=function(e,t){if("object"!==Ur(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Ur(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ur(t)?t:String(t)}var Jr=function(){function e(t,n,r,i,o,a,s,l){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Yr(this,"dataReport",null),Yr(this,"wrinklesPoint",null),Yr(this,"eyeWrinklesPoint",null),Yr(this,"darkCirclePoint",null),Yr(this,"pigmentPoint",null),Yr(this,"deepWrinklesPoint",null),Yr(this,"eyeBagPoint",null),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.co=n.w.config,this.image=i,this.width=o,this.height=a,this.back=s,this.onSet=l,this.valus={},this.required=[],this.submitData=this.submitData.bind(this),this.updateDimension=this.updateDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl;this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elPreviewImage=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage,{class:"imageSubmit"}),t.dom.elPreviewImage.imageLoad=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.imageLoad,{class:"imageLoad",style:"max-height: "+this.height+"px"}),t.dom.elPreviewImage.fix=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.fix,{style:"display: flex; justify-content: center;"}),t.dom.elPreviewImage.boxrelative=document.createElement("div"),Kt.setAttrs(t.dom.elPreviewImage.boxrelative,{style:"position: relative; background: #000;"}),t.dom.elPreviewImage.fix.appendChild(t.dom.elPreviewImage.boxrelative),t.dom.elPreviewImage.imageLoad.appendChild(t.dom.elPreviewImage.fix),t.dom.elPreviewImage.appendChild(t.dom.elPreviewImage.imageLoad),this.el.appendChild(t.dom.elPreviewImage),this.resizeBase64Img(this.image).then((function(t){e.image=t,fetch(e.image).then((function(e){return e.blob()})).then((function(t){if(t.size<=1e3)return e.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1;e.showUserData()}))})).catch((function(){return e.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1}))}},{key:"showUserData",value:function(){var e=this,t=this.gl,n=t.formPages.find((function(e){return"imageAnalysis"===e.name}));if(!n.afterAnalysis&&n.content&&n.content.elements&&n.content.elements.length>0){t.formData||(t.formData={});var r='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';t.dom.elPreviewImage.preview=document.createElement("div"),t.dom.elPreviewImage.preview.innerHTML=r,t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.preview),new Nr(this.ctx,(function(n){t.formData=n,e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(n)}),(function(){e.showPreview(),e.submitSkinAnalyze(e.image),t.getActiveSelections&&t.getActiveSelections(t.formData)}))}else this.showPreview(),this.submitSkinAnalyze(this.image)}},{key:"showPreview",value:function(){var e=this.gl;e.dom.elPreviewImage.boxrelative.innerHTML="";var t='<div style="position: relative"><div class="loader_preview_image"><div class="face_loader_text"><ul class="content__container__list"><li class="content__container__list__item">'+Gt.t("Sending Facial Data...")+'</li><li class="content__container__list__item">'+Gt.t("Scanning Face...")+'</li><li class="content__container__list__item">'+Gt.t("Analyzing Facial Attributes...")+'</li><li class="content__container__list__item">'+Gt.t("AI Crafting Report..")+'</li></ul></div><div class="bounding_box" style="display: none"><div class="face_loader face_loader-2"><div class="loader-circles"></div><div class="loader-diamond"></div><div class="loader-groove"></div></div></div></div><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';e.dom.elPreviewImage.preview=document.createElement("div"),e.dom.elPreviewImage.preview.innerHTML=t,e.dom.elPreviewImage.boxrelative.appendChild(e.dom.elPreviewImage.preview),e.dom.elPreviewImage.preview.image=e.dom.elPreviewImage.preview.getElementsByClassName("image_face_preview")[0],e.dom.elPreviewImage.preview.boundingBox=e.dom.elPreviewImage.preview.getElementsByClassName("bounding_box")[0];var n=this;new Rn(e.dom.elPreviewImage.preview.image,null,null,this.width,this.height,(function(e){return n.showCropMode(e)}),(function(){return n.loadingDetection()}),null,"image")}},{key:"showCropMode",value:function(e){var t=this.gl,n=e[0];if(!n)return null;Kt.setAttrs(t.dom.elPreviewImage.preview.boundingBox,{style:"position: absolute; top: "+100*n.yCenter+"%; left: "+100*n.xCenter+"%; width: "+100*n.width+"%; height: "+100*n.height+"%; z-index: 99999999; display: block"})}},{key:"loadingDetection",value:function(){this.gl}},{key:"submitSkinAnalyze",value:function(e){var t=this,n=this.gl,r=this.co;return new Promise((function(i,o){var a=t;fetch(e).then((function(e){return e.blob()})).then((function(e){var i;if(e.size<=1e3)return t.errorSkinAnalyze(Gt.t("The input image is not suitable")),!1;var o=new File([e],Math.random()+".jpeg",{type:"image/jpeg"}),s=new FormData;s.append("file",o),n.formData&&s.append("form",JSON.stringify(n.formData)),r.problems.length>0&&s.append("problem",r.problems.join(",")),s.append("faceageId",n.faceageId),null===(i=Ze.request("POST","skinanalyze",s,{"Content-Type":"multipart/form-data"}))||void 0===i||i.then((function(e){e.data.message?(a.onSet&&a.onSet(!1),console.error(e.data.message)):e.data.data.problems?(n.skinAnalyzeData=e.data.data,a.onSet&&a.onSet(!0),a.submitData(e.data.data)):(a.onSet&&a.onSet(!1),console.error("There is a problem processing your image from our service side."))})).catch((function(e){a.onSet&&a.onSet(!1);var n=[];if(e.response&&e.response.data.message&&422===e.response.status)if(e.response.data.errors){var r=e.response.data.errors;Object.keys(r).forEach((function(e){r[e][0]?n.push(r[e][0]):n.push(r[e])}))}else n.push(e.response.data.message);else n.push(e.message);t.errorSkinAnalyze(n.join(", "))}))}))}))}},{key:"submitData",value:function(e){var t=this.gl;t.dom.elPreviewImage.boxrelative.innerHTML="",t.dom.elPreviewImage.finalImage=document.createElement("img"),Kt.setAttrs(t.dom.elPreviewImage.finalImage,{id:"face_age_analyzer_image_server",class:"face_age_analyzer_image_server",src:this.image,style:"width: auto; height: "+this.height+"px; max-height: "+this.height+"px; position: relative; opacity: 0.95"}),t.dom.elPreviewImage.boxrelative.appendChild(t.dom.elPreviewImage.finalImage),this.dataReport=e,new Wr(t,this.ctx,this.pv,this.image,e,this.back)}},{key:"errorSkinAnalyze",value:function(e){var t=this,n=this.gl;n.dom.elPreviewImage.boxrelative.innerHTML="";var r='<div style="position: relative"><img class="image_face_preview" src="'+this.image+'" style="width: auto; height: '+this.height+"px; max-height: "+this.height+'px; position: relative;"></div>';n.dom.elPreviewImage.preview=document.createElement("div"),n.dom.elPreviewImage.preview.innerHTML=r,n.dom.elPreviewImage.boxrelative.appendChild(n.dom.elPreviewImage.preview),new Hn(n,null,(function(){t.back()}),Gt.t("Error"),e,"",Gt.t("Re-take"))}},{key:"updateDimension",value:function(){var e=this.gl,t=this.co,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,e.dom.elPreviewImage&&e.dom.elPreviewImage.finalImage&&(e.dom.elPreviewImage.finalImage.style.height=this.height+"px",e.dom.elPreviewImage.finalImage.style.maxHeight=this.height+"px"),e.dom.elPreviewImage&&e.dom.elPreviewImage.preview.image&&(e.dom.elPreviewImage.preview.image.style.height=this.height+"px",e.dom.elPreviewImage.preview.image.style.maxHeight=this.height+"px")}},{key:"resizeBase64Img",value:function(e,t){return new Promise((function(t,n){var r=new Image;r.src=e,r.onload=function(){var n=r.width,i=r.height;if(n>1e3){var o=i/n;i=(n=1e3)*o;var a=document.createElement("canvas");a.width=n,a.height=i,a.getContext("2d").drawImage(r,0,0,n,i);var s=a.toDataURL("image/jpeg",.9);t(s)}else t(e)},r.onerror=function(e){n("Error loading convert image:",e)}}))}}])&&Hr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Vr(e){return Vr="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},Vr(e)}function $r(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,(void 0,i=function(e,t){if("object"!==Vr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Vr(i)?i:String(i)),r)}var i}var Kr=function(){function e(t,n,r){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.gl=n,this.cnf=r,this.stepShow="",this.show=i,this.bottom=5,this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.gl,n=this.cnf;if(console.log(n.displayModel),!this.show)return null;var r=5,i=document.createElement("div");Kt.setAttrs(i,{style:"position: absolute; bottom: "+r+"px; left: 0px; right: 0px; text-align: center; font-size: 10px; color: #ffffffa8; z-index: 999999999;text-shadow: 0px 1px 0px #00000075;"}),i.innerHTML=Gt.t("Powered by")+' <a href="https://getfaceage.com/" target="_blank" style="color: #ffffffa8; text-decoration: none">Face Age</a>',this.el.appendChild(i),"widget"===n.displayModel&&setInterval((function(){if(e.stepShow!==t.stepShow){switch(t.stepShow){case"intro":r=45;break;case"quiz":r=50;break;default:r=5}i.style.bottom=r+"px",e.stepShow=t.stepShow}}),100)}}])&&$r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Zr(e){return Zr="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},Zr(e)}function Xr(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,ei(r.key),r)}}function Qr(e,t,n){return(t=ei(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ei(e){var t=function(e,t){if("object"!==Zr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Zr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Zr(t)?t:String(t)}var ti=function(){function e(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Qr(this,"loading",!1),Qr(this,"width",360),Qr(this,"height",480),this.ctx=n,this.pv=r,this.w=n.w,this.el=t,this.onSet=i,this.updateDimension=this.updateDimension.bind(this),this.handleSubmit=this.handleSubmit.bind(this),this.handleBack=this.handleBack.bind(this),this.restart=this.restart.bind(this),this.callBack=this.callBack.bind(this),this.getCurrentDimension=this.getCurrentDimension.bind(this),this.render()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this,t=this.w.globals,n=this.w.config;this.screenSize=this.getCurrentDimension(),this.updateDimension(),t.dom.elIframe.contentWindow.addEventListener("resize",this.updateDimension),t.dom.elFace=document.createElement("div"),Kt.setAttrs(t.dom.elFace,{id:"analyzer_box",class:"face_age",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.stepShow="upload",t.dom.elFace.analyzer=document.createElement("div"),Kt.setAttrs(t.dom.elFace.analyzer,{id:"face_age_analyzer",class:"talosFaceSkin",style:"width: "+this.width+"px; height: "+this.height+"px; background-color: #fff"}),this.showAnalyzer(t,n),"modal"===n.displayModel?(new dn(t.dom.elFace,this.ctx,this.pv,null,(function(){t.dom.elFace.remove(),"preview"===t.stepShow?(t.imageWebCam=null,new ii(t.dom.docIframe,e.ctx,e.pv)):(t.intro=!0,n.intro=!0,t.imageWebCam=null,new ii(t.dom.docIframe,e.ctx,e.pv))})),Kt.setAttrs(t.dom.elFace,{style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center;"}),t.dom.elFaceModal=document.createElement("div"),Kt.setAttrs(t.dom.elFaceModal,{class:"face_age_mo_main",style:"position: relative; display: flex; align-items: center; height: 100%; "}),t.dom.elFaceModal.appendChild(t.dom.elFace.analyzer),t.dom.elFace.appendChild(t.dom.elFaceModal)):t.dom.elFace.appendChild(t.dom.elFace.analyzer),this.el.appendChild(t.dom.elFace)}},{key:"showAnalyzer",value:function(e,t){e.dom.elFace.analyzer.innerHTML="",!t.showCamera||e.activeInput&&"camera"!==e.activeInput?this.showUpload(e.dom.elFace.analyzer,e,t):this.showWebCam(e.dom.elFace.analyzer,e,t)}},{key:"showWebCam",value:function(e,t,n){var r=this;if(t.dom.webcamShow=new Nn(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showUpload){t.dom.showUploadAction=document.createElement("div"),Kt.setAttrs(t.dom.showUploadAction,{class:"faceAction"});var i="modal"!==n.displayModel?'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>':"";t.dom.showUploadAction.innerHTML=i+'<button class="FaceButtonBase-root FaceChangeMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showUploadAction);var o=e.querySelector(".FaceChangeMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.activeInput="upload",r.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){e.innerHTML="",t.imageWebCam=null,t.skinAnalyzeData=[],t.dom.elFace.remove(),t.intro=!0,n.intro=!0,new ii(t.dom.docIframe,r.ctx,r.pv)}))}}},{key:"showUpload",value:function(e,t,n){var r=this;if(new $n(e,t,n,this.width,this.height,this.handleSubmit,this.handleBack,this.loading),n.showCamera){t.dom.showCameraAction=document.createElement("div"),Kt.setAttrs(t.dom.showCameraAction,{class:"faceAction"});var i="modal"===n.displayModel||n.showUpload?"":'<button class="FaceButtonBase-root FaceBackMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="#6B7280"/></svg></span><span class="FaceTouchRipple-root"></span></button>';t.dom.showCameraAction.innerHTML=i+'<button class="FaceButtonBase-root FaceChangeWebcamMode FaceIconButton-root" tabindex="0" type="button"><span class="FaceIconButton-label"><svg viewBox="0 0 24 24" fill="currentColor" style="width: 24px; height: 24px;"><path d="M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h4.05l1.83-2h4.24l1.83 2H20v12zM12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0 8c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"></path></svg></span><span class="FaceTouchRipple-root"></span></button>',e.appendChild(t.dom.showCameraAction);var o=e.querySelector(".FaceChangeWebcamMode"),a=e.querySelector(".FaceBackMode");o.addEventListener("click",(function(){e.innerHTML="",t.activeInput="camera",r.showAnalyzer(t,n)})),a&&a.addEventListener("click",(function(){t.dom.elFace.remove(),t.imageWebCam=null,t.skinAnalyzeData=[],r.el.innerHTML="",t.intro=!0,n.intro=!0,new ii(t.dom.docIframe,r.ctx,r.pv)}))}}},{key:"handleBack",value:function(){var e=this.w.globals,t=this.w.config;e.imageWebCam=null,this.showAnalyzer(e,t)}},{key:"handleSubmit",value:function(e){var t=this.w.globals;t.dom.elFace.analyzer.innerHTML="",t.stepShow="preview",new Jr(t.dom.elFace.analyzer,this.ctx,this.pv,e,this.width,this.height,this.restart,this.callBack)}},{key:"restart",value:function(){var e=this.w.globals;e.imageWebCam=null,e.skinAnalyzeData=[];var t=this.pv.getValue();this.el.innerHTML="",this.onSet&&this.onSet(),this.render(),this.showFaceAge(t.copyRight)}},{key:"callBack",value:function(e){var t=this.w.globals;e&&t.skinAnalyzeData&&this.onSet&&this.onSet(t.skinAnalyzeData)}},{key:"getCurrentDimension",value:function(){return{width:"undefined"==typeof window?0:window.innerWidth,height:"undefined"==typeof window?0:window.innerHeight}}},{key:"updateDimension",value:function(){var e=this.w.globals,t=this.w.config,n=Kt.getSizeFrame(e,t);this.width=n.width,this.height=n.height,"widget"===t.displayModel&&(e.dom.elIframe.style.height=this.height+"px"),e.dom.elFace&&e.dom.elFace.analyzer&&(e.dom.elFace.analyzer.style.width=this.width+"px",e.dom.elFace.analyzer.style.height=this.height+"px")}},{key:"showFaceAge",value:function(e){var t=this.w.globals,n=this.w.config;new Kr(t.dom.docIframe,t,n,e)}}])&&Xr(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ni(e){return ni="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},ni(e)}function ri(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,(void 0,i=function(e,t){if("object"!==ni(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ni(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ni(i)?i:String(i)),r)}var i}var ii=function(){function e(t,n,r){var i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.el=t,this.ctx=n,this.pv=r,this.w=n.w,this.gl=n.w.globals,this.valus=null!==(i=this.gl.formData)&&void 0!==i?i:{},this.required=[],this.render()}var t,n;return t=e,n=[{key:"render",value:function(){var e=this,t=this.el,n=this.w.globals,r=this.w.config;if(Object.keys(this.valus).length<=0&&r.defaultQuiz&&Xt().map(r.defaultQuiz,(function(t,n){e.valus[n]=t})),n.formPages){var i=!1;n.formPages.map((function(e){"imageAnalysis"===e.name&&(i=!0)})),i||n.formPages.push({name:"imageAnalysis"})}else n.formPages=[{name:"imageAnalysis"}];r.quiz?(n.dom.elForm=document.createElement("div"),Kt.setAttrs(n.dom.elForm,{class:"face_age_form "+r.displayModel,style:"height: 100%;display: flex;flex-direction: column;flex: 1 1 0%;overflow: hidden auto;align-self: center; background-position: center;background-size: cover; border-radius: 14px;"}),t.appendChild(n.dom.elForm),this.showQuiz(n.activeQuiz)):this.showFaceSkin()}},{key:"showQuiz",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=this.w.globals,i=this.w.config,o=r.formPages[n];if(!o)return null;if("imageAnalysis"===o.name)return r.dom.elForm.remove(),this.showFaceSkin(),(!o.content||!o.content.elements&&o.content.elements.length<=0)&&r.getActiveSelections&&r.getActiveSelections(r.formData),null;if(r.stepShow="quiz",o.if&&o.if.key&&o.if.condition&&o.if.value&&!this.checkIf(this.valus[o.if.key],o.if.condition,o.if.value))return this.onSubmit(o),null;var a=o.title?'<div class="title">'+Gt.t(o.title)+"</div>":"",s=(o.content&&o.content.elements,"");this.required=[],o.content.actions&&o.content.actions.map((function(e){s+='<div role="button" width="fullWidth" class="sc-1x1y2bq-3 bLwrg '+("goToNext"===e.onAction?"disabale":"")+" "+e.onAction+'">'+Gt.t(e.label)+"</div>"}));var l='<div class="form_window"><div class="toolbar"></div><div class="box_title">'+("modal"!==i.displayModel?'<div class="goBack"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.56 5.15999L13.2 2.79999L0 16L13.2 29.2L15.56 26.84L4.72 16L15.56 5.15999Z" fill="black"/></svg></div>':"")+a+'</div><div class="elements"></div><div class="action"><div class="sc-1x1y2bq-2 sc-1kkf162-1 dZaMnF lbSetf">'+s+"</div></div></div>",c="auto 0px";switch(o.position){case"top":c="10px auto";break;case"center":c="auto 0px";break;case"bottom":c="auto auto 15px"}r.dom.elForm.box=document.createElement("div"),Kt.setAttrs(r.dom.elForm.box,{style:"width: 100%;"+("widget"!==i.displayModel?"margin: "+c+";":"")}),r.dom.elForm.box.innerHTML=l,r.dom.elForm.elements=r.dom.elForm.box.getElementsByClassName("elements")[0],r.dom.elForm.goBack=r.dom.elForm.box.querySelector(".goBack");var u=!0;o.content&&o.content.elements&&o.content.elements.map((function(e){if(e.if&&e.if.key&&e.if.condition&&e.if.value&&!t.checkIf(t.valus[e.if.key],e.if.condition,e.if.value))return!1;e.required&&t.required.push(e.name),e.required&&!t.valus[e.name]&&(u=!1),new Fr(r.dom.elForm.elements,r,e,t.valus,(function(e,n){return t.setData(e,n)}))})),r.dom.elForm.toolbar=r.dom.elForm.box.getElementsByClassName("toolbar")[0],r.dom.elForm.toolbar&&(0!==r.activeQuiz||r.formPages.length>=r.activeQuiz)&&(r.dom.elForm.back=document.createElement("div"),Kt.setAttrs(r.dom.elForm.back,{class:"back;"}),r.dom.elForm.toolbar.appendChild(r.dom.elForm.back)),r.dom.elForm.box.getElementsByClassName("goToNext")&&(r.dom.elForm.goToNext=r.dom.elForm.box.getElementsByClassName("goToNext")[0],r.dom.elForm.goToNext&&(this.required.length<=0&&r.dom.elForm.goToNext.classList.remove("disabale"),r.dom.elForm.goToNext.addEventListener("click",(function(e){t.onSubmit(o)}))),r.dom.elForm.goToNext&&u&&r.dom.elForm.goToNext.classList.remove("disabale")),r.dom.elForm.box.getElementsByClassName("goToSkip")&&(r.dom.elForm.goToSkip=r.dom.elForm.box.getElementsByClassName("goToSkip")[0],r.dom.elForm.goToSkip&&r.dom.elForm.goToSkip.addEventListener("click",(function(e){}))),r.dom.elForm.box.getElementsByClassName("goToSkip")&&(r.dom.elForm.goToSkip=r.dom.elForm.box.getElementsByClassName("goToSkip")[0],r.dom.elForm.goToSkip&&r.dom.elForm.goToSkip.addEventListener("click",(function(n){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz+1,new e(r.dom.docIframe,t.ctx,t.pv)}))),r.dom.elForm.innerHTML="","modal"===i.displayModel?new dn(r.dom.elForm,this.ctx,this.pv,null,r.activeQuiz>0&&r.formPages.length>1?function(){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz-1>0?r.activeQuiz-1:0,new e(r.dom.docIframe,t.ctx,t.pv)}:null,r.activeQuiz>0):r.dom.elForm.goBack&&(r.activeQuiz>0&&r.formPages.length>1?r.dom.elForm.goBack.addEventListener("click",(function(n){r.dom.elForm.remove(),r.activeQuiz=r.activeQuiz-1>0?r.activeQuiz-1:0,new e(r.dom.docIframe,t.ctx,t.pv)})):r.dom.elForm.goBack.remove()),"widget"!==i.displayModel&&(o.background_color?r.dom.elForm.style.backgroundColor=o.background_color:r.dom.elForm.style.backgroundColor="",o.background_image?r.dom.elForm.style.backgroundImage='url("'+o.background_image+'")':r.dom.elForm.style.backgroundImage=""),r.dom.elForm.appendChild(r.dom.elForm.box)}},{key:"setData",value:function(e,t){var n=this,r=this.w.globals;if(this.valus[t]=e,r.dom.elForm.goToNext){var i=!0;this.required.map((function(e){n.valus[e]||(i=!1)})),i?r.dom.elForm.goToNext.classList.remove("disabale"):r.dom.elForm.goToNext.classList.add("disabale")}}},{key:"checkIf",value:function(e,t,n){switch(t){case"=":if(e===n)return!0;break;case"!=":if(e!==n)return!0}return!1}},{key:"onSubmit",value:function(e){var t=this,n=this.w.globals;if(this.required.length>0&&!this.required.find((function(e){return t.valus[e]})))return!1;e.content.elements.map((function(e){var t=n.dom.elForm.elements.querySelector('.el_box[data-name="'+e.name+'"]');if(t){var r=t.querySelector(".err");r&&r.remove()}}));var r=Dr(e.content.elements,this.valus);if(r)return r.map((function(e,t){Xt().map(e.errors,(function(e,t){var r=n.dom.elForm.elements.querySelector('.el_box[data-name="'+t+'"]');if(r){var i=document.createElement("p");Kt.setAttrs(i,{class:"err"}),i.innerText=e,r.appendChild(i)}}))})),!1;n.activeQuiz+=1,this.showQuiz(n.activeQuiz),n.formData=this.valus}},{key:"showFaceSkin",value:function(){var e=this,t=this.w.globals,n=this.w.config;t.dom.elForm&&t.dom.elForm.remove(),n.type,n.intro?(t.stepShow="intro",new bn(t.dom.docIframe,this.ctx,this.pv),t.dom.elInfo.btn.addEventListener("click",(function(r){if(t.stepShow="upload",!t.privacy)return null;t.dom.elInfo.btn.style.opacity="0.5",t.intro=!1,n.intro=!1,t.dom.elInfo.remove(),new ti(t.dom.docIframe,e.ctx,e.pv)}))):(t.intro=!1,n.intro=!1,new ti(t.dom.docIframe,this.ctx,this.pv));var r=t.formPages.find((function(e){return"imageAnalysis"===e.name}));r&&r.background_color?t.dom.docIframe.style.backgroundColor=r.background_color:t.dom.docIframe.style.backgroundColor="#ffe5f0;",r&&r.background_image?t.dom.docIframe.style.backgroundImage='url("'+r.background_image+'")':t.dom.docIframe.style.backgroundImage=""}},{key:"setCookie",value:function(e,t,n){var r=new Date;r.setTime(r.getTime()+24*n*60*60*1e3);var i="expires="+r.toUTCString();document.cookie=e+"="+t+";"+i+";path=/"}},{key:"getCookie",value:function(e){for(var t=e+"=",n=decodeURIComponent(document.cookie).split(";"),r=0;r<n.length;r++){for(var i=n[r];" "==i.charAt(0);)i=i.substring(1);if(0==i.indexOf(t))return i.substring(t.length,i.length)}return""}}],n&&ri(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function oi(e){return oi="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},oi(e)}function ai(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,si(r.key),r)}}function si(e){var t=function(e,t){if("object"!==oi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==oi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===oi(t)?t:String(t)}var li=function(){function e(t,n){var r,i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r=this,(i=si(i="showModel"))in r?Object.defineProperty(r,i,{value:false,enumerable:!0,configurable:!0,writable:!0}):r[i]=false,this.ctx=n,this.w=n.w,this.el=t,this.pv=new gn}var t,n;return t=e,(n=[{key:"setupElements",value:function(){var e=this.w.globals,t=this.w.config;t.type,t.arrTypes,e.faceClass=".faceAge-"+e.faceID,e.dom.elWrap=document.createElement("div"),Kt.setAttrs(e.dom.elWrap,{id:e.faceClass.substring(1),class:"faceAge-main-module "+e.faceClass.substring(1)}),"modal"===t.displayModel?(e.dom.elModalMain=document.createElement("div"),Kt.setAttrs(e.dom.elModalMain,{id:"face-age-plugin"}),e.dom.elModalButtonMessage=document.createElement("div"),Kt.setAttrs(e.dom.elModalButtonMessage,{id:"face-age-message-bubbles",style:"background-color: white;\n color: black;\n box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;\n border-radius: 10px;\n padding: 15px;\n margin: 8px;\n font-size: 14px;\n opacity: 1;\n transform: scale(1);\n transition: opacity 0.5s, transform 0.5s;\n position: fixed;\n border-radius: 10px;\n font-family: sans-serif;\n z-index: 9998;\n cursor: pointer;\n flex-direction: column;\n gap: 50px;\n max-width: 70vw;\n display: block;\n right: auto;\n bottom: 89px;\n left: 15px; text-transform: capitalize; display: none;"}),e.dom.elModalButtonMessage.innerHTML='<div class="text">'+Gt.t("Skin Analysis")+"</div>",e.dom.elModalMain.appendChild(e.dom.elModalButtonMessage),e.dom.elModalButtonMessage.text=e.dom.elModalButtonMessage.querySelector(".text"),e.dom.elModalButton=document.createElement("button"),Kt.setAttrs(e.dom.elModalButton,{id:"face-age-button",style:"opacity: 0; display: none;"}),e.dom.elModalButton.innerHTML='<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 245.26 245.26">\n <defs>\n <style>\n .cls-5 {\n fill: #fff;\n }\n\n .cls-6 {\n stroke-width: 2px;\n }\n\n .cls-6, .cls-7 {\n fill: none;\n stroke-miterlimit: 10;\n }\n\n .cls-7 {\n stroke: #fff;\n }\n </style>\n </defs>\n <circle class="cls-1" cx="121.97" cy="123.39" r="121.42"/>\n <circle class="cls-1" cx="122.63" cy="122.63" r="122.63"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="107.34"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="114.38"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="99.42"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="91.5"/>\n <circle class="cls-7" cx="121.97" cy="123.39" r="83.58"/>\n <path class="cls-5" d="M84.54,239.14l1.53,.57,4.51,1.31,7.9,1.85,12.53,1.83,6.93,.46,3.76,.09,4.77-.06,4.65-.33c1.27-.07,2.54-.16,3.8-.27h.17s.11-.03,.11-.03c3.91-.36,7.8-.89,11.58-1.58,.19-.03,.37-.07,.56-.1h0c7.57-1.38,12.35-2.36,19.59-5.37,.67-.28,3.34-1.71,4-2-18.9-5.53-34.77-18.14-45.57-34.61,22.88,5.7,47.18,5.64,70.03-.17,.72-22.29,1.43-44.58,2.15-66.86,1.44-44.76-19.65-89.68-55-117.16-2.16,24.13-9.81,48.02-23.91,67.72-14.1,19.7-34.66,33.5-58.26,38.98,2.57-3.39,2.56-6.92,.31-10.53-2.25-3.61-6.83-5.6-11-4.78-4.24,.83-7.64,4.27-9.34,8.24s-1.92,8.43-1.65,12.74c.44,7.07,2.54,14.7,8.36,18.74,8.15,5.66,19.42,1.86,29.06,4.22,7.72,1.89,14.07,7.84,17.58,14.97,3.5,7.13,4.39,15.33,3.75,23.26-.62,7.71-2.94,15.38-6.51,22.48-4.29,8.54-10.38,16.27-17.49,22.28l.72,.27"/>\n <g>\n <path class="cls-1" d="M182.36,68.85c-4.09-2.6-9.86-2.41-13.22,.95-1.74,1.57-2.97,3.64-3.81,5.83-.84,2.21-1.35,4.54-1.63,6.91-.56,4.74-.22,9.54,.66,14.26,.86,4.73,2.08,9.42,3.5,14.04,1.38,4.64,2.99,9.2,4.6,13.81,.78,2.31,1.54,4.67,2.04,7.12,.52,2.44,.7,4.98,.52,7.47-.19,2.48-.59,4.97-1.52,7.33-.47,1.17-1.04,2.31-1.79,3.35s-1.65,1.94-2.65,2.71c-2.01,1.53-4.36,2.5-6.78,2.99-1.21,.25-2.44,.39-3.67,.37-1.23-.03-2.45-.2-3.63-.5,2.41,.41,4.86,.26,7.17-.38,2.31-.62,4.5-1.7,6.28-3.24,.89-.76,1.69-1.63,2.32-2.6,.64-.97,1.12-2.04,1.5-3.15,.76-2.22,1.09-4.59,1.19-6.96,.08-2.37-.15-4.72-.68-7.03-.52-2.31-1.3-4.59-2.11-6.86-1.65-4.56-3.3-9.17-4.72-13.85-1.4-4.69-2.62-9.44-3.45-14.3-.8-4.85-1.12-9.88-.34-14.79,.38-2.45,.96-4.89,1.96-7.2,1-2.29,2.41-4.47,4.38-6.08,.97-.8,2.07-1.47,3.27-1.89,1.19-.43,2.45-.6,3.69-.61,1.24,.01,2.48,.19,3.65,.58,1.2,.4,2.3,.98,3.27,1.72Z"/>\n <path class="cls-1" d="M164,104.51c1.82-1.19,3.81-2.08,5.85-2.81,2.04-.74,4.15-1.26,6.27-1.66,2.13-.37,4.28-.62,6.44-.66,2.16-.06,4.32,.03,6.46,.4-2.12,.47-4.22,.81-6.32,1.15-2.09,.36-4.17,.69-6.24,1.08-2.08,.35-4.13,.78-6.21,1.19-2.05,.42-4.12,.89-6.25,1.31Z"/>\n </g>\n <path class="cls-1" d="M142.64,16.5c-1.02,23.41-6.03,49.01-20.74,67.79-14.72,18.77-38.1,31.07-61.36,38.66,3.42-6.35,.84-13.15-6.63-13.73-7.35-.57-13.66,6.01-14.83,12.96-1.17,6.93,1.52,13.92,4.7,20.26,1.29,2.56,2.74,5.16,5.07,6.93,6.08,4.63,14.96,1.79,22.72,2.37,10.2,.76,19.08,8.09,23.11,17.06,4.03,8.96,3.77,19.28,1.26,28.73-2.52,9.46-7.15,18.27-11.75,27-1.67,3.16-2.34,9.12-5.74,10.49-5.16,2.07-14.18-3.42-20.27-8.23C8.03,187.2-17.79,108.26,20.01,52.51,38.87,24.69,72.04,2.94,107.51,4.91c4.74,.26,9.45,1.02,14.01,2.35,8.95,2.62,12.87,3.72,21.12,9.24"/>\n <g>\n <line class="cls-6" x1="26.69" y1="177.24" x2="112.73" y2="152.19"/>\n <path class="cls-6" d="M50.65,192.49c4.76-1.59,9.52-3.17,14.28-4.76,3.63-1.21,7.26-2.42,10.9-3.63,2.21-.74,6.3-2.95,8.56-2.12,5.13,1.88,10.24,3.79,15.36,5.67,2.63,.97,3.92,1.7,6.56,.78,9.76-3.38,19.53-6.73,29.29-10.1"/>\n <path class="cls-6" d="M38.67,155.46c4.82-1.39,9.64-2.77,14.47-4.16,3.68-1.06,7.36-2.11,11.04-3.17,2.24-.64,6.86-1.13,8.26-3.1,3.17-4.45,6.3-8.92,9.46-13.37,1.62-2.29,2.27-3.62,4.96-4.36,9.96-2.73,19.91-5.5,29.87-8.25"/>\n </g>\n <circle class="cls-5" cx="26.59" cy="177.17" r="2.72"/>\n <circle class="cls-5" cx="50.75" cy="192.44" r="2.72"/>\n <circle class="cls-5" cx="38.67" cy="155.51" r="2.72"/>\n <path class="cls-5" d="M88.45,240l-15-5c11-1,24-44.75,24-44.75h0c3.67,3.92,7.33,7.84,11,11.75"/>\n <polyline class="cls-5" points="112.45 243 142.64 243.62 135.8 244.5 130.66 245.02 125.15 245.25 114.18 244.96 105.95 244.13 99.35 243 95.23 242.23 92.32 241.47"/>\n</svg>',e.dom.elModalButton.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalButtonMessage.addEventListener("click",(function(t){e.dom.elModalFace.classList.add("is-open")})),e.dom.elModalMain.appendChild(e.dom.elModalButton),e.dom.elModalFace=document.createElement("div"),Kt.setAttrs(e.dom.elModalFace,{id:"face-age-modal","aria-hidden":"false"}),e.dom.elModalOverlay=document.createElement("div"),Kt.setAttrs(e.dom.elModalOverlay,{id:"face-age-overlay"}),Kt.setAttrs(e.dom.elWrap,{class:"face-age-dialog faceAge-main-module "+e.faceClass.substring(1),role:"dialog"}),e.dom.elModalOverlay.appendChild(e.dom.elWrap),e.dom.elModalFace.appendChild(e.dom.elModalOverlay),e.dom.elModalMain.appendChild(e.dom.elModalFace),this.el.appendChild(e.dom.elModalMain),this.setCustomModalCss()):this.el.appendChild(e.dom.elWrap),this.setIframe(),this.authorize()}},{key:"setIframe",value:function(){var e,t,n=this.w.globals,r=this.w.config;"widget"===r.displayModel?-1===(e=r.iframeWidth||n.iframeWidth).indexOf("%")?t=parseInt(e)/3*4+"px":(t=n.dom.elWrap.clientWidth*(parseInt(e)/100)/3*4+"px")<320&&(t=320):"section"===r.displayModel?(e="100%",t=r.iframeHeight||n.iframeHeight):(e="100%",t="100%"),n.dom.elIframe=document.createElement("iframe"),Kt.setAttrs(n.dom.elIframe,{id:"FaceAge-module-iframe",title:"Face Age Skincare Advisor",allow:"geolocation *; microphone *; camera *",style:"modal"!==r.displayModel?"border: 0px; margin: 0px; padding: 0px; min-width: "+e+"; min-height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0;":"border: 0px; margin: 0px; padding: 0px; width: "+e+"; height: "+t+"; overflow: hidden; position: relative; z-index: 1; opacity: 0; border: none; background: transparent;"}),n.dom.elWrap.appendChild(n.dom.elIframe),n.dom.docIframe=n.dom.elIframe.contentDocument.body,n.dom.headIframe=n.dom.elIframe.contentDocument.head,Kt.setAttrs(n.dom.docIframe,{id:"faceAge-module-body",class:r.displayModel,style:"margin:0;padding:0;overflow:hidden;"+("widget"!==r.displayModel?"background-color: transparent;":"")});var i=document.createElement("meta");i.name="viewport",i.content="width=device-width, initial-scale=1.0",n.dom.headIframe.appendChild(i);var o=document.createElement("link");o.id="inter-font",o.rel="stylesheet",o.type="text/css",o.media="all",o.href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap",n.dom.headIframe.appendChild(o);var a=document.createElement("link");a.id="roboto-mono-font",a.rel="stylesheet",a.type="text/css",a.media="all",a.href="https://fonts.googleapis.com/css?family=Roboto+Mono|Roboto+Slab|Roboto:300,400,500,700&display=optional",n.dom.headIframe.appendChild(a);var s=document.createElement("link");s.rel="stylesheet",s.href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css",n.dom.headIframe.appendChild(s);var l=document.createElement("link");l.id="face-age-css",l.rel="stylesheet",l.type="text/css",l.media="all",l.href="https://static.getfaceage.com/v2.0/faceage.css",n.dom.headIframe.appendChild(l);var c=document.createElement("script");c.src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js",n.dom.headIframe.appendChild(c);var u=document.createElement("script");u.src="https://cdn.jsdelivr.net/npm/chart.js",n.dom.headIframe.appendChild(u),n.dom.elIframe.contentDocument.getElementById("face-age-css").addEventListener("load",(function(){n.dom.elIframe.style.opacity=1})),n.dom.docIframe.loader=document.createElement("div"),n.dom.docIframe.loader.innerHTML='<div class="face_age"><div class="loading_request" style="background: transparent"><div class="FaceCircularProgress-root FaceCircularProgress-colorPrimary FaceCircularProgress-indeterminate" role="progressbar" style="width: 40px; height: 40px; color: #000"><svg class="FaceCircularProgress-svg" viewBox="22 22 44 44"><circle class="FaceCircularProgress-circle FaceCircularProgress-circleIndeterminate" cx="44" cy="44" r="20.2" fill="none" stroke-width="3.6"></circle></svg></div></div></div>',n.dom.docIframe.appendChild(n.dom.docIframe.loader)}},{key:"setElements",value:function(){var e,t,n,r,i,o,a,s,l,c,u,d,h,p,m,f,g,y,v,b,k,w,S,C,P,A,x,T,R,E,_,I,F,O,L,M,D,G,B,N,j=this.w.globals,z=this.w.config,W=this.pv.getValue();z.type,new ii(j.dom.docIframe,this.ctx,this.pv),this.showFaceAge(W.copyRight);var U=document.createElement("style");U.id="face-age-css-root",U.rel="stylesheet",U.type="text/css",U.media="all";var H=":root {\n --background: "+(null!==(e=null===(t=j.customTemplate)||void 0===t?void 0:t.background)&&void 0!==e?e:"#F9FAFC")+";\n --color: "+(null!==(n=null===(r=j.customTemplate)||void 0===r?void 0:r.color)&&void 0!==n?n:"#000")+";\n --divider: "+(null!==(i=null===(o=j.customTemplate)||void 0===o?void 0:o.color)&&void 0!==i?i:"#E6E8F0")+";\n --basic: "+(null!==(a=null===(s=j.customTemplate)||void 0===s?void 0:s.base_color)&&void 0!==a?a:"rgba(239, 55, 134);")+";\n --error: "+(null!==(l=null===(c=j.customTemplate)||void 0===c?void 0:c.error)&&void 0!==l?l:"#da005c")+";\n --basic_action: "+(null!==(u=null===(d=j.customTemplate)||void 0===d?void 0:d.basic_action_color)&&void 0!==u?u:"rgb(239, 55, 134)")+";\n --color_action: "+(null!==(h=null===(p=j.customTemplate)||void 0===p?void 0:p.basic_action_text)&&void 0!==h?h:"#fff")+";\n --submit_action: "+(null!==(m=null===(f=j.customTemplate)||void 0===f?void 0:f.submit_action_color)&&void 0!==m?m:"rgb(8, 211, 144)")+";\n --circle_action: "+(null!==(g=null===(y=j.customTemplate)||void 0===y?void 0:y.circle_action)&&void 0!==g?g:"#fff")+";\n --color_circle_action: "+(null!==(v=null===(b=j.customTemplate)||void 0===b?void 0:b.color_circle_action)&&void 0!==v?v:"#000")+";\n --base_border_radius: "+(null!==(k=null===(w=j.customTemplate)||void 0===w?void 0:w.base_border_radius)&&void 0!==k?k:"40px")+";\n --base_border: "+(null!==(S=null===(C=j.customTemplate)||void 0===C?void 0:C.base_border)&&void 0!==S?S:"#ccc")+";\n --quiz_input_color: "+(null!==(P=null===(A=j.customTemplate)||void 0===A?void 0:A.quiz_input_color)&&void 0!==P?P:"rgb(200 200 200)")+";\n --background_upload_color: "+(null!==(x=null===(T=j.customTemplate)||void 0===T?void 0:T.background_upload_color)&&void 0!==x?x:"#fff0fb")+";\n --accepted_status: "+(null!==(R=null===(E=j.customTemplate)||void 0===E?void 0:E.position_accepted_status_color)&&void 0!==R?R:"rgb(8, 211, 144)")+";\n --not_accepted_status: "+(null!==(_=null===(I=j.customTemplate)||void 0===I?void 0:I.position_not_accepted_status_color)&&void 0!==_?_:"rgb(239, 55, 134)")+";\n --product_shadow: "+(null!==(F=null===(O=j.customTemplate)||void 0===O?void 0:O.product_shadow)&&void 0!==F?F:"0")+";\n --product_border: "+(null!==(L=null===(M=j.customTemplate)||void 0===M?void 0:M.product_border)&&void 0!==L?L:"rgb(200 200 200)")+";\n --product_padding: "+(null!==(D=null===(G=j.customTemplate)||void 0===G?void 0:G.product_padding)&&void 0!==D?D:"10")+";\n --product_action: "+(null!==(B=null===(N=j.customTemplate)||void 0===N?void 0:N.product_action_color)&&void 0!==B?B:"rgb(239, 55, 134)")+";\n}";U.styleSheet?U.styleSheet.cssText=H:U.appendChild(document.createTextNode(H)),j.dom.headIframe.appendChild(U)}},{key:"authorize",value:function(){var e,t=this,n=this.w.config.faceageId,r=this.w.globals,i=this.w.config;null===(e=Ze.request("post","authorize",{faceageId:n}))||void 0===e||e.then((function(e){var o,a;if(r.faceageId=n,r.authorize=e.data.data,r.formPages=[],r.customTemplate=null!==(o=e.data.data.template)&&void 0!==o?o:[],e.data.data.problems&&e.data.data.problems.length>0&&(r.problems=null!==(a=e.data.data.problems)&&void 0!==a?a:[]),e.data&&e.data.data.pages&&e.data.data.pages.map((function(e){"skincare"===i.type&&"skin_analyzer"===e.data.name&&(r.formPages=e.quiz)})),r.dom.docIframe.loader.remove(),t.pv.setValue("copyRight",!0),t.pv.setValue("license",!0),e.data.data.translation&&e.data.data.translation.length>0&&e.data.data.translation.map((function(e){var t={};e.words&&e.words.map((function(e){_.map(e,(function(e,n){n&&n.length>0&&e&&e.length>0&&(t[n]=e)}))})),Gt.addResources(e.lang,"translation",t)})),"modal"===i.displayModel){var s,l,c,u,d,h,p,m,f,g,y,v,b,k,w,S,C,P,A;r.dom.elModalButton.style.opacity=1,r.dom.elModalButton.style.display="block",r.authorize.name&&(r.dom.elModalButtonMessage.text.innerHTML=r.authorize.name+" "+Gt.t("Skin Analysis")),localStorage.getItem("face_message_modal")||setTimeout((function(){r.dom.elModalButtonMessage.style.display="block",localStorage.setItem("face_message_modal","true")}),2e3),r.dom.elModalButton.style.backgroundColor=null!==(s=null===(l=r.customTemplate)||void 0===l?void 0:l.base_color)&&void 0!==s?s:"rgba(239, 55, 134);",r.dom.elIframe.clientWidth>768?(r.dom.elModalButton.style.left=(null!==(u=null===(d=r.customTemplate)||void 0===d?void 0:d.position_show_desktop_tool_left_distance)&&void 0!==u?u:"24")+"px",r.dom.elModalButton.style.bottom=(null!==(h=null===(p=r.customTemplate)||void 0===p?void 0:p.position_show_desktop_tool_button_distance)&&void 0!==h?h:"24")+"px",r.dom.elModalButtonMessage.style.left=(null!==(m=(null===(f=r.customTemplate)||void 0===f?void 0:f.position_show_desktop_tool_left_distance)-9)&&void 0!==m?m:"15")+"px",r.dom.elModalButtonMessage.style.bottom=(null!==(g=(null===(y=r.customTemplate)||void 0===y?void 0:y.position_show_desktop_tool_button_distance)+65)&&void 0!==g?g:"89")+"px"):(r.dom.elModalButton.style.left=(null!==(v=null===(b=r.customTemplate)||void 0===b?void 0:b.position_show_mobile_tool_left_distance)&&void 0!==v?v:"24")+"px",r.dom.elModalButton.style.bottom=(null!==(k=null===(w=r.customTemplate)||void 0===w?void 0:w.position_show_mobile_tool_button_distance)&&void 0!==k?k:"24")+"px",r.dom.elModalButtonMessage.style.left=(null!==(S=(null===(C=r.customTemplate)||void 0===C?void 0:C.position_show_mobile_tool_left_distance)-9)&&void 0!==S?S:"15")+"px",r.dom.elModalButtonMessage.style.bottom=(null!==(P=(null===(A=r.customTemplate)||void 0===A?void 0:A.position_show_mobile_tool_button_distance)+65)&&void 0!==P?P:"89")+"px"),null!==(c=r.customTemplate)&&void 0!==c&&c.tools_icon&&(r.dom.elModalButton.innerHTML='<img alt="'+Gt.t("Skin Analysis")+'" src="'+r.customTemplate.tools_icon+'" />');var x=r.dom.elModalButton.querySelectorAll(".cls-1"),T=r.dom.elModalButton.querySelectorAll(".cls-6");x&&x.forEach((function(e){var t,n;e.style.fill=null!==(t=null===(n=r.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"})),T&&T.forEach((function(e){var t,n;e.style.stroke=null!==(t=null===(n=r.customTemplate)||void 0===n?void 0:n.base_color)&&void 0!==t?t:"rgba(239, 55, 134);"}))}t.setElements()})).catch((function(e){if(e.response&&e.response.data.message&&422===e.response.status){if(e.response.data.errors){var t=e.response.data.errors;Object.keys(t).forEach((function(e){if(t[e][0]){var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e][0]+"</div></div>";r.dom.docIframe.loader.innerHTML=n,console.error(t[e][0])}else{var i='<div class="face_age"><div class="loading_request" style="background: transparent">'+t[e]+"</div></div>";r.dom.docIframe.loader.innerHTML=i,console.error(t[e])}}))}else{var n='<div class="face_age"><div class="loading_request" style="background: transparent">'+e.response.data.message+"</div></div>";r.dom.docIframe.loader.innerHTML=n,console.error(e.response.data.message)}"modal"===i.displayModel&&(r.dom.elModalButton.style.opacity=1)}else{var o=null!=e&&e.message?Gt.t(null==e?void 0:e.message):Gt.t("An error occurred, please check again"),a='<div class="face_age"><div class="loading_request" style="background: transparent">'+o+"</div></div>";r.dom.docIframe.loader.innerHTML=a,console.error(o)}}))}},{key:"showFaceAge",value:function(e){var t=this.w.globals,n=this.w.config;new Kr(t.dom.docIframe,t,n,e)}},{key:"setCustomModalCss",value:function(){this.w.globals;var e=document.createElement("style");e.id="face-age-styles",e.rel="stylesheet",e.type="text/css",e.media="all";var t='#face-age-button .cls-1{fill: #FB398D} #face-age-button .cls-6{stroke: #FB398D} #face-age-modal{display:none}#face-age-modal.is-open{display:block}#face-age-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:9999;background:rgba(0,0,0,0.2);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);will-change:opacity}.face-age-dialog{margin:0;padding:0;overflow:hidden;background-color:#333;width:100%;height:100%;will-change:transform}#face-age-modal[aria-hidden="false"] #face-age-overlay{-webkit-animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmfadeIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] #face-age-overlay{-webkit-animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmfadeOut .25s cubic-bezier(0.4,0,1,1)}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1);animation:rv-mmscaleInN .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1);animation:rv-mmscaleOutN .25s cubic-bezier(0.4,0,1,1)}@media (min-width: 768px){.face-age-dialog{width:90%;height:90%;box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.2);max-width:1140px;max-height:800px;border-radius:10px}#face-age-modal[aria-hidden="false"] .face-age-dialog{-webkit-animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1);animation:rv-mmslideIn .3s cubic-bezier(0,0,0.2,1)}#face-age-modal[aria-hidden="true"] .face-age-dialog{-webkit-animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1);animation:rv-mmslideOut .25s cubic-bezier(0.4,0,1,1)}}#face-age-button{opacity: 0;width:60px;height:60px;box-shadow:none;border-style:none;top:auto;right:auto;bottom:24px;position:fixed;border-radius:50%;background-color:rgba(239,55,134);left:24px;color:#FFF;margin:0;padding:0;z-index:9998;will-change:opacity;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center}#face-age-button > img{max-height:100%;max-width:100%;box-sizing:border-box}#face-age-button:hover{opacity:.9}@-webkit-keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@keyframes rv-mmfadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@keyframes rv-mmfadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes rv-mmslideIn{0%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@keyframes rv-mmslideOut{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(15%);transform:translateY(15%)}}@-webkit-keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleOutN{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@-webkit-keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}@keyframes rv-mmscaleInN{0%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}}#face-age-button > img{display:block;padding:10px}#face-age-button > span{display:none;writing-mode:inherit}@media (min-width: 768px){#face-age-button > img{display:none;padding:10px}#face-age-button > span{display:block;writing-mode:vertical-rl}}';e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),document.head.appendChild(e)}}])&&ai(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ci(e){return ci="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},ci(e)}function ui(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,di(r.key),r)}}function di(e){var t=function(e,t){if("object"!==ci(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ci(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ci(t)?t:String(t)}var hi=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,r;return t=e,r=[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&"object"===ci(e)&&!Array.isArray(e)&&null!=e}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,n=[];for(t=0;t<e.length;t++)n[t]=e[t];return n}},{key:"extend",value:function(e,t){var n=this;"function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(null!=r)for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}return t});var r=Object.assign({},e);return this.isObject(e)&&this.isObject(t)&&Object.keys(t).forEach((function(i){n.isObject(t[i])&&i in e?r[i]=n.extend(e[i],t[i]):Object.assign(r,function(e,t,n){return(t=di(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},i,t[i]))})),r}},{key:"extendArray",value:function(t,n){var r=[];return t.map((function(t){r.push(e.extend(n,t))})),r}},{key:"monthMod",value:function(e){return e%12}},{key:"clone",value:function(t){if(e.is("Array",t)){for(var n=[],r=0;r<t.length;r++)n[r]=this.clone(t[r]);return n}if(e.is("Null",t))return null;if(e.is("Date",t))return t;if("object"===ci(t)){var i={};for(var o in t)t.hasOwnProperty(o)&&(i[o]=this.clone(t[o]));return i}return t}},{key:"log10",value:function(e){return Math.log(e)/Math.LN10}},{key:"roundToBase10",value:function(e){return Math.pow(10,Math.floor(Math.log10(e)))}},{key:"roundToBase",value:function(e,t){return Math.pow(t,Math.floor(Math.log(e)/Math.log(t)))}},{key:"parseNumber",value:function(e){return null===e?e:parseFloat(e)}},{key:"stripNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(1===t.length)return t[0];var n="",r=e<0?"-":"",i=t[0].replace(".",""),o=Number(t[1])+1;if(o<0){for(n=r+"0.";o++;)n+="0";return n+i.replace(/^-/,"")}for(o-=i.length;o--;)n+="0";return i+n}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),n=e.clientHeight,r=e.clientWidth;return n-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[r-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),n]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce((function(e,t){return Array.isArray(t)&&(t=t.reduce((function(e,t){return e.length>t.length?e:t}))),e.length>t.length?e:t}),0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==e.substring(0,1)&&(e="#999999");var n=e.replace("#","");n=n.match(new RegExp("(.{"+n.length/3+"})","g"));for(var r=0;r<n.length;r++)n[r]=parseInt(1===n[r].length?n[r]+n[r]:n[r],16);return void 0!==t&&n.push(t),"rgba("+n.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(e){return parseFloat(e.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(e){return(e=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===e.length?"#"+("0"+parseInt(e[1],10).toString(16)).slice(-2)+("0"+parseInt(e[2],10).toString(16)).slice(-2)+("0"+parseInt(e[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(e)}},{key:"getPolygonPos",value:function(e,t){for(var n=[],r=2*Math.PI/t,i=0;i<t;i++){var o={};o.x=e*Math.sin(i*r),o.y=-e*Math.cos(i*r),n.push(o)}return n}},{key:"polarToCartesian",value:function(e,t,n,r){var i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}},{key:"escapeString",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",n=e.toString().slice();return n.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,n){if(n>=e.length)for(var r=n-e.length+1;r--;)e.push(void 0);return e.splice(n,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style.key=t[n])}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var r=e.indexOf("Edge/");return r>0&&parseInt(e.substring(r+5,e.indexOf(".",r)),10)}}],(n=[{key:"shadeRGBColor",value:function(e,t){var n=t.split(","),r=e<0?0:255,i=e<0?-1*e:e,o=parseInt(n[0].slice(4),10),a=parseInt(n[1],10),s=parseInt(n[2],10);return"rgb("+(Math.round((r-o)*i)+o)+","+(Math.round((r-a)*i)+a)+","+(Math.round((r-s)*i)+s)+")"}},{key:"shadeHexColor",value:function(e,t){var n=parseInt(t.slice(1),16),r=e<0?0:255,i=e<0?-1*e:e,o=n>>16,a=n>>8&255,s=255&n;return"#"+(16777216+65536*(Math.round((r-o)*i)+o)+256*(Math.round((r-a)*i)+a)+(Math.round((r-s)*i)+s)).toString(16).slice(1)}},{key:"shadeColor",value:function(t,n){return e.isColorHex(n)?this.shadeHexColor(t,n):this.shadeRGBColor(t,n)}}])&&ui(t.prototype,n),r&&ui(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();const pi=hi;function mi(e){return mi="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},mi(e)}function fi(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,(void 0,i=function(e,t){if("object"!==mi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==mi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===mi(i)?i:String(i)),r)}var i}var gi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w,this.documentEvent=pi.bind(this.documentEvent,this)}var t,n;return t=e,(n=[{key:"addEventListener",value:function(e,t){var n=this.w;n.globals.events.hasOwnProperty(e)?n.globals.events[e].push(t):n.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){var r=n.globals.events[e].indexOf(t);-1!==r&&n.globals.events[e].splice(r,1)}}},{key:"fireEvent",value:function(e,t){var n=this.w;if(n.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var r=n.globals.events[e],i=r.length,o=0;o<i;o++)r[o].apply(null,t)}}},{key:"setupEventHandlers",value:function(){var e=this,t=this.w,n=this.ctx,r=t.globals.dom.baseEl.querySelector(t.globals.faceAgeClass);this.ctx.eventList.forEach((function(e){r.addEventListener(e,(function(e){var r=Object.assign({},t,{seriesIndex:t.globals.capturedSeriesIndex,dataPointIndex:t.globals.capturedDataPointIndex});"mousemove"===e.type||"touchmove"===e.type?"function"==typeof t.config.faceAge.events.mouseMove&&t.config.faceAge.events.mouseMove(e,n,r):"mouseleave"===e.type||"touchleave"===e.type?"function"==typeof t.config.faceAge.events.mouseLeave&&t.config.faceAge.events.mouseLeave(e,n,r):("mouseup"===e.type&&1===e.which||"touchend"===e.type)&&("function"==typeof t.config.faceAge.events.click&&t.config.faceAge.events.click(e,n,r),n.ctx.events.fireEvent("click",[e,n,r]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(n){t.globals.dom.baseEl.addEventListener(n,e.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(e){var t=this.w,n=e.target.className;if("click"===e.type){var r=t.globals.dom.baseEl.querySelector(".faceage-menu");r&&r.classList.contains("faceage-menu-open")&&"faceage-menu-icon"!==n&&r.classList.remove("faceage-menu-open")}t.globals.clientX="touchmove"===e.type?e.touches[0].clientX:e.clientX,t.globals.clientY="touchmove"===e.type?e.touches[0].clientY:e.clientY}}])&&fi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function yi(e){return yi="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},yi(e)}function vi(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,(void 0,i=function(e,t){if("object"!==yi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==yi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===yi(i)?i:String(i)),r)}var i}var bi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"getAdvisorData",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.getAdvisorData=function(n){try{e({analysis:n,activeSelections:t.w.globals.formData})}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"getImage",value:function(){try{return this.w.globals.imageSubmit?this.w.globals.imageSubmit:null}catch(e){return null}}},{key:"getActiveSelections",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.getActiveSelections=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"getRoutineGroup",value:function(){try{return this.w.globals.routineGroup}catch(e){return null}}},{key:"setCustomProducts",value:function(e){try{this.w.globals.productLoader=!0;var t=(n=e,r=this.w.globals.routineGroup,i=this.w.globals.problems,o=[],n.forEach((function(e,t){var n={};if(null===e.id&&(n.id="ID is required"),null===e.title||""===e.title.trim()?n.title="Title is required":Mr(e.title)&&(n.title="Title is not valid"),e.description&&Mr(e.description)&&(n.description="Description is not valid"),null===e.url||""===e.url.trim()?n.url="URL is required":Lr(e.url)||(n.url="URL must be a valid HTTPS URL"),null===e.image||""===e.image.trim()?n.image="Image is required":Lr(e.image)||(n.image="Image must be a valid HTTPS URL"),("number"!=typeof e.price||e.price<0)&&(n.price="Price must be a non-negative number"),void 0!==e.offerPrice&&("number"!=typeof e.offerPrice||e.offerPrice<0)&&(n.offerPrice="Offer price must be a non-negative number if provided"),void 0!==e.routineGroups)if(Array.isArray(e.routineGroups)||"object"===Or(e.routineGroups)){var a=[];Array.isArray(e.routineGroups)?e.routineGroups.map((function(e){Object.values(r).some((function(t){return Object.keys(t).some((function(t){return t.toLowerCase()===e.toLowerCase()}))}))||a.push(e)})):"object"===Or(e.routineGroups)&&Object.keys(e.routineGroups).forEach((function(t){Object.keys(r).some((function(n){if(t===n){var i=e.routineGroups[t],o=r[n];return i.forEach((function(e){Object.keys(o).some((function(t){return e.toLowerCase()===t.toLowerCase()}))||a.push(e)})),!0}return!1}))||a.push(t)})),a.length>0&&(n.routineGroups="Invalid routine groups: ".concat(a.join(", ")))}else n.routineGroups="Routine groups must be an array";if(void 0!==e.problems&&e.problems)if(Array.isArray(e.problems)){var s=[];e.problems.map((function(e){var t=!1;Object.keys(i).forEach((function(n,r){i[n],n.toLowerCase()===e.toLowerCase()&&(t=!0)})),t||s.push(e)})),s.length>0&&(n.problems="Invalid problem: ".concat(s.join(", ")))}else n.problems="problems must be an array";else n.problems="Problems is required";void 0!==e.variables&&"object"!==Or(e.variables)?n.variables="Variables must be an object if provided":"object"===Or(e.variables)&&Object.keys(e.variables).forEach((function(t,r){var i=e.variables[t];i.title&&i.option||(n["variables[".concat(t,"]")]="Each variable must have both title and option"),Array.isArray(i.option)&&i.option.forEach((function(r,i){r.label&&r.value||(n["variables[".concat(t,"][").concat(i,"]")]="Each variable must have both label and value"),void 0!==r.price&&("number"!=typeof r.price||r.price<0)&&(n["variables[".concat(t,"][").concat(i,"]")]="Price must be a non-negative number"),void 0!==r.offerPrice&&("number"!=typeof r.offerPrice||e.offerPrice<0)&&(n["variables[".concat(t,"][").concat(i,"]")]="Offer price must be a non-negative number if provided")}))})),Object.keys(n).length>0&&o.push({index:t,errors:n})})),o.length>0?o:null);t?console.error(t):(this.w.globals.productLists=e,this.w.globals.productLoader=!1)}catch(e){console.error("add custom products error: "+e)}var n,r,i,o}}])&&vi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ki(e){return ki="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},ki(e)}function wi(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,(void 0,i=function(e,t){if("object"!==ki(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==ki(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===ki(i)?i:String(i)),r)}var i}"undefined"!=typeof window&&void 0===window.FaceAge&&(window.FaceAge={});var Si=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ctx=t,this.w=t.w}var t,n;return t=e,(n=[{key:"initModules",value:function(){this.ctx.publicMethods=["onClickProblem","onDisplayProducts","onDisplayRoutines","onAddToCart","onCheckout","onClickProduct","onCloseModal","onRefresh"],this.ctx.publicApiMethods=["getAdvisorData","getActiveSelections","setCustomProducts","getImage","getRoutineGroup"],this.ctx.eventList=[],this.ctx.core=new li(this.ctx.el,this.ctx),this.ctx.events=new gi(this.ctx),this.ctx.API=new bi(this.ctx)}}])&&wi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Ci={en:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},de:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},zh:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},tr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},hu:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},lt:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Įdėkite viską į krepšelį","All Products":"Visi produktai","validation.faceObstruction":"Tikriausiai kažkas yra ant veido odos paviršiaus (plaukų ar auskarų)"}')},bn:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},nl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ms:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ja:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ru:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},pl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},uk:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Додати все в кошик","All Products":"Всі продукти","validation.faceObstruction":"Ймовірно, є щось на поверхні шкіри обличчя (волосся або пірсинг)"}')},fi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ur:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"سب کو کارٹ میں شامل کریں۔","All Products":"تمام مصنوعات","validation.faceObstruction":"چہرے کی جلد کی سطح پر شاید کچھ ہے (بال یا چھیدنا)"}')},sk:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Pridajte všetko do košíka","All Products":"Všetky produkty","validation.faceObstruction":"Pravdepodobne je niečo na povrchu pokožky tváre (vlasy alebo piercing)"}')},pt:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},it:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},sr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Додај све у корпу","All Products":"Сви производи","validation.faceObstruction":"Вероватно постоји нешто на површини коже лица (длака или пирсинг)"}')},hr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Dodaj sve u košaricu","All Products":"Svi proizvodi","validation.faceObstruction":"Vjerojatno postoji nešto na površini kože lica (dlake ili piercing)"}')},tl:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Idagdag ang lahat sa cart","All Products":"Lahat ng Produkto","validation.faceObstruction":"Marahil ay mayroong isang bagay sa ibabaw ng balat ng mukha (buhok o butas)"}')},et:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"Tõenäoliselt on näonaha pinnal midagi (juuksed või augustamine)"}')},fr:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},el:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},bg:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"Вероятно има нещо на повърхността на кожата на лицето (косми или пиърсинг)"}')},ro:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},hi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ko:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},he:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},vi:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},fa:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"احتمالاً چیزی روی سطح پوست صورت وجود دارد (مو یا سوراخ کردن)"}')},cs:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},id:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},lv:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Pievienot visu grozam","All Products":"Visi produkti","validation.faceObstruction":"Visticamāk, uz sejas ādas virsmas ir kaut kas (mati vai pīrsings)"}')},no:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},da:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},th:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},sv:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},es:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')},ar:{translation:JSON.parse('{"Skin Analysis":"Skin Analysis","Look Straight":"Look Straight","Face Position":"Face Position","Lighting":"Lighting","Good":"Good","Not Good":"Not Good","Bad":"Bad","Fair":"Fair","Powered by":"Powered by","Your distance is close to the camera":"Your distance is close to the camera","Keep your face inside the circle":"Keep your face inside the circle","Please stand in front of the camera":"Please stand in front of the camera","There is more than one person in the picture":"There is more than one person in the picture","Drag & Drop":"Drag & Drop","Or":"Or","browse":"browse","Supports: JPEG, JPG, PNG":"Supports: JPEG, JPG, PNG","Release to Upload":"Release to Upload","file not supported":"file not supported","Sending Facial Data...":"Sending Facial Data...","Scanning Face...":"Scanning Face...","Analyzing Facial Attributes...":"Analyzing Facial Attributes...","AI Crafting Report..":"AI Crafting Report..","Skin Info":"Skin Info","Fine Wrinkles":"Fine Wrinkles","Eye Wrinkles":"Eye Wrinkles","Deep Wrinkles":"Deep Wrinkles","Dark Circle":"Dark Circle","Eye Bag":"Eye Bag","Pores":"Pores","Pigment":"Pigment","Redness":"Redness","Oiliness":"Oiliness","Acnes":"Acne","Acne":"Acne","Skin Health":"Skin Health","Instructions":"Instructions","Get Ready to Start Skin Analysis":"Get Ready to Start Skin Analysis","Remove the glasses":"Remove the glasses","Clean your face":"Clean your face","Be in the right light":"Be in the right light","Be neutral face and fix position":"Be neutral face and fix position","Get Started":"Get Started","privacy.text":"Discover how to enhance your skin with the right products and routine tailored for you. Upload your selfie for personalized recommendations, and rest assured, your image will be deleted after analysis","See our":"See our","Privacy Policy":"Privacy Policy","for more information":"for more information","your picture quality is blurry":"Your image quality is blurry.","be wearing glasses":"be wearing glasses.","please remove them":"Please remove them for a clearer analysis.","Improve photo quality":"Improve photo quality","We noticed you might":"We noticed you might","and":"and","for better results":"for better results","Tips for taking better selfies":"Tips for taking better selfies","Continue":"Continue","Generate routine for you":"Generate routine for you","Re-take":"Re-take","Get recommended products!":"Get recommended products!","Recommendation Products":"Recommendation Products","Products That Just Work For you":"Products That Just Work For you","My Skin Report":"My Skin Report","Add to cart":"Add to cart","Add again":"Add again","Checkout":"Checkout","My Routines":"My Routines","Your":"Your","Routine":"Routine","Morning":"Morning","Night":"Night","Error":"Error","The face is not visible in the picture":"The face is not visible in the picture","The input image is not suitable":"The input image is not suitable","An error occurred, please check again":"An error occurred, please check again","Camera permission denied.":"Camera permission denied.","Unable to access the camera.":"Unable to access the camera.","validation.blurry":"Your image is blurry","validation.eyeGlass":"You have glasses","validation.brightness":"The light on your face is not suitable","validation.neutralFace":"The face is not neutral (You may have a smile)","Image is not suitable":"Image is not suitable","Check how you can improve your skin with the proper product and routine":"Check how you can improve your skin with the proper product and routine","There are no products to display":"There are no products to display","routines.content.cleanser":"Start by washing your face to remove dirt, oil, and impurities. This prepares your skin for the next steps and leaves it feeling refreshed.","routines.content.toner":"Use a toner to balance your skin’s pH and remove any leftover residue.","routines.content.serum":"Apply a concentrated serum targeting specific concerns, like brightening or anti-aging. Serums penetrate deeper into the skin to deliver active ingredients.","routines.content.eyeCream":"Gently pat eye cream around the eye area to hydrate and reduce puffiness or dark circles.","routines.content.spotTreatment":"Apply spot treatment on any problem areas, such as acne or blemishes. It delivers targeted care to help clear up those imperfections faster.","routines.content.moisturizer":"Lock in hydration by applying a moisturizer that suits your skin type. This keeps your skin soft, smooth, and protected from environmental factors.","routines.content.sunscreen":"Protect your skin from harmful UV rays by using sunscreen with broad-spectrum protection. Sunscreen is essential even on cloudy days to prevent skin damage.","routines.content.faceOil":"Apply a lightweight face oil to seal in moisture and give your skin a radiant glow. It adds an extra layer of hydration and nourishment.","routines.content.nightCream":"Use a rich night cream to help repair and restore your skin while you sleep. It deeply hydrates and supports the skin’s natural nighttime regeneration.","Cleanser":"Cleanser","Toner":"Toner","Serum":"Serum","Eye Cream":"Eye Cream","Spot Treatment":"Spot Treatment","Moisturizer":"Moisturizer","Sunscreen":"Sunscreen","Face Oil":"Face Oil","Night Cream":"Night Cream","Add all to cart":"Add all to cart","All Products":"All Products","validation.faceObstruction":"There is probably something on the surface of the facial skin (hair or piercing)"}')}};function Pi(e){return Pi="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},Pi(e)}function Ai(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,(void 0,i=function(e,t){if("object"!==Pi(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Pi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(r.key),"symbol"===Pi(i)?i:String(i)),r)}var i}Gt.init({resources:Ci,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1}});var xi=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.opts=t,this.w=new qt(t).init(),this.el=this.w.config.element,new Si(this).initModules()}var t,n;return t=e,(n=[{key:"render",value:function(){var e=this;return new Promise((function(t,n){null!==e.el?(e.w.globals.faceID=pi.randomId(),e.core.setupElements()):n(new Error("Element not found"))}))}},{key:"onload",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onload=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onClickProblem",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onClickProblem=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onAddToCart",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onAddToCart=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onCheckout",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onCheckout=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onClickProduct",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onClickProduct=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onDisplayProducts",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onDisplayProducts=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onDisplayRoutines",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onDisplayRoutines=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onCloseModal",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onCloseModal=function(t){try{e(t)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}},{key:"onResetData",value:function(e){var t=this;return new Promise((function(n,r){"function"==typeof e?t.w.globals.onRefresh=function(n){try{t.w.globals.productLists&&(t.w.globals.productLists=[]),t.w.globals.productAddToCart&&(t.w.globals.productAddToCart=[]),t.w.globals.productLoader=!1,e(n)}catch(e){r(new Error("Error calling:",e.message))}}:r(new Error("function not valid"))}))}}])&&Ai(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}()})(),r.default})()));
|