@salla.sa/twilight 2.14.135 → 2.14.137

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.
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("lodash/get.js"),require("eventemitter2"),require("store/src/store-engine"),require("store/storages/localStorage"),require("store/storages/sessionStorage"),require("store/storages/cookieStorage"),require("store/storages/memoryStorage"),require("ev-emitter"),require("fizzy-ui-utils")):"function"==typeof define&&define.amd?define(["lodash/get.js","eventemitter2","store/src/store-engine","store/storages/localStorage","store/storages/sessionStorage","store/storages/cookieStorage","store/storages/memoryStorage","ev-emitter","fizzy-ui-utils"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Salla=t(e.t$2,e.eventemitter2,e.r$3,e.n$4,e.o$3,e.i$3,e.a$3,e.evEmitter,e.fizzyUiUtils)}(this,(function(e,t,r,n,i,a,o,s,l){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var d=c(e),h=u(r),p=u(n),f=u(i),g=u(a),m=u(o),v=u(s),y=u(l),b="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function w(e,t){void 0===t&&(t=!1),e+="";for(var r,n=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],i=["0","1","2","3","4","5","6","7","8","9"],a=(t=t||!Salla.config.get("store.settings.arabic_numbers_enabled"))?n:i,o=t?i:n,s=0;s<a.length;s++)r=new RegExp(a[s],"g"),e=e.replace(r,o[s]);return e.replace(t?"٫":".",t?".":"٫")}function S(e){var t=("".concat(e).match(/\./g)||[]).length;return t&&1!==t?S(e.replace(/\.(.+)\./g,".$1")):e}function _(e){return"".concat(e).startsWith("https://")||"".concat(e).startsWith("http://")}function E(e){if(_(e))return e;var t=Salla.config.get("store.url");return t||(t=window.location.href.split("/").slice(0,-1).join("/"),Salla.config.set("store.url",t)),t.rtrim("/")+"/"+(null==e?void 0:e.ltrim("/"))}function k(e,t,r){if(r=r||window.location.href,!t||!e)return r;var n=new RegExp("([?&])"+e+"=[^&]+[&]?","g");return(r=r.replace(n,"$1").split("#")[0].replace(/&$|\?$/,"")).includes("?")?r+="&":r+=(r.endsWith("/")?"":"/")+"?",(r+e+"="+encodeURIComponent(t)).replace(/&$|\?$/,"")}function x(e){return window.location.origin+"/"+(null==e?void 0:e.ltrim("/"))}function P(e){return _(e)?e:Salla.config.get("theme.assets")?Salla.config.get("theme.assets").replace(":path",null==e?void 0:e.ltrim("/")):x("themes/"+Salla.config.get("theme.name")+"/"+(null==e?void 0:e.ltrim("/")))}function I(e,t,r){var n,i=e[0];return r&&0==e.length?Array.isArray(r)?(r.push(t),r):[r,t]:Array.isArray(r)?(r.push(t),r):"string"==typeof r?[r,t]:r?(r[i]=I(e.slice(1),t,r[i]),r):i?((n={})[i]=I(e.slice(1),t),n):""===i?[t]:t}function A(){return window.self!==window.top}String.prototype.toStudlyCase=function(){return this.trim().replace(/([^a-zA-Z\d].)/g,(function(e){return e.toUpperCase().replace(/[^a-zA-Z\d]/g,"")}))},String.prototype.toDatasetName=function(){return this.startsWith("data-")?this.substr(5).toStudlyCase():this.toStudlyCase()},String.prototype.toSelector=function(){return this.trim().startsWith(".")||this.trim().startsWith("#")?this.toString():"#"+this.toString()},String.prototype.replaceArray=function(e,t){for(var r,n=this,i=0;i<e.length;i++)r=new RegExp(e[i],"g"),n=n.replace(r,t[i]);return n},String.prototype.rtrim=function(e){return void 0===e&&(e="\\s"),this.replace(new RegExp("["+e+"]*$"),"")},String.prototype.ltrim=function(e){return void 0===e&&(e="\\s"),this.replace(new RegExp("^["+e+"]*"),"")},String.prototype.digitsOnly=function(){return Salla.helpers.digitsOnly(this)};var O={digitsOnly:function(e){return w(e,!0).replace(/[^0-9.]/g,"").replace("..",".").rtrim(".")},inputDigitsOnly:function e(t,r){if(void 0===r&&(r=!1),"string"==typeof t)return document.querySelectorAll(t).forEach((function(t){return e(t,r)}));if(t){var n=Salla.helpers.digitsOnly(t.value);return t.min&&n<parseInt(t.min)?t.value=t.min:t.max&&n>parseInt(t.max)?t.value=t.max:t.maxLength>=1&&n.toString().length>t.maxLength?t.value=n.toString().substring(0,t.maxLength):t.value=r||t.dataset.hasOwnProperty("digitsWithDecimal")?S(n):n.replace(/\D/g,"")}Salla.logger.warn("Can't find Object With Id: "+t)},number:w,money:function(e,t){void 0===t&&(t=!0);var r=Salla.config.currency(null==e?void 0:e.currency).symbol;return e=w(e="object"==typeof e?e.amount:e)+" "+r,t&&["SAR","ر.س"].includes(r)&&Salla.config.get("store.settings.use_sar_symbol")&&(e=e.replace(r,"<i class=sicon-sar></i>")),e},isIframe:A,isPreview:function(){return A()},setNested:function(e,t,r){for(var n=e,i=t.split("."),a=i.length,o=0;o<a-1;o++){var s=i[o];n[s]||(n[s]={}),n=n[s]}return n[i[a-1]]=r,e},getNested:function(e,t,r){var n=d.default(e,t);return void 0!==n?n:r},inputData:function(e,t,r){if(void 0===r&&(r={}),e.includes("[")){var n=e.split("]").join("").split("["),i=n[0],a=r&&"object"==typeof r?r[i]:void 0;return{name:i,value:I(n.slice(1),t,a)}}return{name:e,value:t}},url:Object.freeze({__proto__:null,is_full_url:_,base:function(e){return _(e)?e:"https://"+new URL(E("/")).hostname+"/"+(null==e?void 0:e.ltrim("/"))},get:E,domain:function(e){return _(e)?e:"".concat(Salla.config.get("store.url",window.location.href.split("/").slice(0,-1).join("/")).rtrim("/"),"/").concat(null==e?void 0:e.ltrim("/"))},addParamToUrl:k,baseUrl:x,asset:P,cdn:function(e,t,r){var n="https://cdn.salla.network/";return(t||r)&&(t=t?",width=".concat(t):"",r=r?",height=".concat(r):"",n+="cdn-cgi/image/fit=scale-down".concat(t).concat(r,",onerror=redirect,format=auto/")),n+(null==e?void 0:e.ltrim("/"))},api:function(e){var t;return(null===(t=Salla.config.get("store.api",E("")))||void 0===t?void 0:t.rtrim("/"))+"/"+(null==e?void 0:e.ltrim("/"))},is_page:function(e){return e&&Salla.config.get("page.slug")===e},is_placeholder:function(e){return P(salla.config.get("theme.settings.placeholder"))===P(e)}}),addParamToUrl:k,debounce:function(e,t){t=t||100;var r,n=[];return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];return clearTimeout(r),r=setTimeout((function(){var t=e.apply(void 0,i);n.forEach((function(e){return e(t)})),n=[]}),t),new Promise((function(e){return n.push(e)}))}},hasApplePay:function(){var e;try{return!!(null===(e=window.ApplePaySession)||void 0===e?void 0:e.canMakePayments())&&!/snapchat/i.test(navigator.userAgent)}catch(e){return console.error(e),!1}}},j=function(e,t){return j=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},j(e,t)},T=function(){return T=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},T.apply(this,arguments)};function C(e,t,r){if(r||2===arguments.length)for(var n,i=0,a=t.length;i<a;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var F,R,U,L,N=(F=console,R=[],U=[],L={log:function(e,t){if(F&&salla.config.isDebug()){R.push([t,e]),"trace"===salla.config.get("debug")&&(t="trace");var r=F.log,n=void 0===t?r:this.__dict__[t]||r,i=["%cTwilight","color: #5cd5c4;font-weight:bold; border:1px solid #5cd5c4; padding: 2px 6px; border-radius: 5px;"];U.forEach((function(e){i[0]+=e[0],i.push(e[1])}));var a={event:"#CFF680",backend:"#7b68ee"}[t];a&&(i[0]+="%c"+t[0].toUpperCase()+t.substring(1),i.push("margin-left: 5px;color: ".concat(a,";font-weight:bold; border:1px solid ").concat(a,"; padding: 2px 6px; border-radius: 5px;"))),n.call.apply(n,C([F],i.concat.apply(i,e),!1))}},__dict__:{trace:F.trace,debug:F.debug,info:F.info,warn:F.warn,error:F.error}},{event:function(){L.log(arguments,"event")},trace:function(){L.log(arguments,"trace")},debug:function(){L.log(arguments,"debug")},info:function(){L.log(arguments,"info")},warn:function(){L.log(arguments,"warn")},error:function(){L.log(arguments,"error")},log:function(){L.log(arguments,void 0)},backend:function(){L.log(arguments,"backend")},logs:function(e){[e].flat().forEach((function(e){return e&&L.log([e].flat(),"backend")}))},history:function(){return R.map((function(e){return F.log.apply(F,C([e[0]],e[1],!1))})),R},addPrefix:function(e){return Array.isArray(e)?U.unshift(e):this.warn("addPrefix receives array only!"),this}}),q=function(){function e(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.default_properties=t,this.properties_=T(T({},this.default_properties),e)}return e.prototype.merge=function(e){var t;return this.properties_=T(T({},this.properties_),e),this.properties_.store=T(T({},(null===(t=this.default_properties)||void 0===t?void 0:t.store)||{}),this.properties_.store),this},e.prototype.set=function(e,t){return e.includes(".")?(Salla.helpers.setNested(this.properties_,e,t),this):(this.properties_[e]=t,this)},e.prototype.currency=function(e){return void 0===e&&(e=void 0),e=e||this.get("user.currency_code"),this.get("currencies."+e)||Object.values(this.get("currencies"))[0]},e.prototype.get=function(e,t){return void 0===t&&(t=null),e.includes(".")?Salla.helpers.getNested(this.properties_,e,t):this.properties_.hasOwnProperty(e)?this.properties_[e]||t:t||void 0},e.prototype.all=function(){return this.properties_},e.prototype.isDebug=function(){return this.get("debug")||Salla.storage.get("debug")},e}(),z=function(e){function t(){var t=this;return(t=e.call(this,{wildcard:!0,delimiter:"::",newListener:!1,removeListener:!1,maxListeners:10,verboseMemoryLeak:!1,ignoreErrors:!1})||this).delimiter="::","undefined"!=typeof document&&(t.body=document.querySelector("body")),t.logableEvents=["cart::item.added.failed","cart::item.deleted.failed"],t.ingoreLogEvents=["document::click","document::keyup","document::change"],t.noneFireableActions=["document.request"],t.emittedEvents=new Set,t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}j(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t.prototype.createAndDispatch=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.dispatch.apply(this,C([e],t,!1))},t.prototype.emit=function(t){for(var r,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];this.emittedEvents.add(t);var a=t.replace("::",".");if(!this.noneFireableActions.includes(a)&&Salla.call&&"function"==typeof Salla.call(a))return Salla.log("'Salla.".concat(a,"(...)' triggered using event '").concat(t,"'")),a=a.split("."),Array.isArray(n[0])&&(n=n[0]),void(r=salla[a[0]])[a[1]].apply(r,n);e.prototype.emit.apply(this,C([t],n,!1)),this.trackEvents.apply(this,C([t],n,!1))},t.prototype.onlyWhen=function(e,t){var r=this;return t=t||function(){},new Promise((function(n){return r.emittedEvents.has(e)?n(t()):r.once(e,(function(){return n(t())}))}))},t.prototype.emitAsync=function(t){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];this.emittedEvents.add(t);var i=e.prototype.emitAsync.apply(this,C([t],r,!1));try{this.trackEvents.apply(this,C([t],r,!1))}catch(e){Salla.logger.warn("error on tracking event (".concat(t,")"),r,e)}return i},t.prototype.trackEvents=function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];if("undefined"!=typeof window)try{window.dataLayer=window.dataLayer||[];var i={event:e};r.map((function(e){return"object"==typeof e&&(i=T(T({},i),e))})),window.dataLayer.push(i)}catch(e){salla.logger.error(e.message)}Salla.logger&&!this.ingoreLogEvents.includes(e)&&(t=Salla.logger).event.apply(t,C([e],r,!1)),this.dispatchMobileEvent.apply(this,C([e],r,!1))},t.prototype.dispatch=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return this.emit.apply(this,C([e],t,!1))},t.prototype.dispatchEvents=function(e){if(e)if("object"!=typeof e||Array.isArray(e))Salla.log("Events object is wrong, it should be object of {event:payload}",e);else for(var t=0,r=Object.entries(e);t<r.length;t++){var n=r[t],i=n[0],a=n[1];this.dispatch(i,a)}else Salla.log("No Events To Dispatch!",e)},t.prototype.addListener=function(e,t,r){return this.on(e,t,r)},t.prototype.addEventListener=function(e,t,r){return this.on(e,t,r)},t.prototype.listen=function(e,t){return this.on(e,t)},t.prototype.registerGlobalListener=function(e,t){return this.onAny(t)},t.prototype.dispatchMobileEvent=function(e,t){if(void 0===t&&(t={}),!("undefined"!=typeof window&&window.dataLayer&&window.dataLayer[0]&&window.dataLayer[0].page&&window.dataLayer[0].page.mobileApp))return"";if(window.webkit)try{window.webkit.messageHandlers.callbackHandler.postMessage(JSON.stringify({event:e,details:t}))}catch(e){Salla.log(e,"The native context does not exist yet")}else if(void 0!==window.Android)try{window.Android.customEventWithData(e,JSON.stringify({details:t}))}catch(e){Salla.log(e,"The native context does not exist yet")}},t}(t.EventEmitter2),D=h.createStore([p,f,g,m],[]),$=h.createStore([f],[]),M=h.createStore([g],[]),B=function(){function e(){var e=this;this.clearableItems=["cart","user","salla::wishlist","token"],Salla.event.on("storage::item.remove",(function(t){return e.remove(t)})),Salla.event.on("storage::item.set",(function(t,r){return e.set(t,r)})),this.store=D,this.session=$,this.cookie=M}return e.prototype.set=function(e,t){var r;if(e.includes(".")){var n=e.split(".")[0],i=((r={})[n]=this.store.get(n),r);return i=Salla.helpers.setNested(i,e,t),this.store.set(n,i[n])}return this.store.set(e,t)},e.prototype.remove=function(e){return this.store.remove(e)},e.prototype.clearAll=function(e){var t=this;if(void 0===e&&(e=!1),e)return this.store.clearAll();this.clearableItems.forEach((function(e){t.store.remove(e)}))},e.prototype.get=function(e,t){var r;if(e.includes(".")){var n=e.split(".")[0];return Salla.helpers.getNested(((r={})[n]=this.store.get(n),r),e)}return this.store.get(e,t)},e.prototype.prefixKey=function(e){return"".concat(Salla.config.get("theme.translations_hash"),"_").concat(e,"_").concat(Salla.config.get("store.id"))},e.prototype.setWithTTL=function(e,t,r,n){void 0===r&&(r=10),void 0===n&&(n="store");var i=this.prefixKey(e),a=(new Date).getTime()+60*r*1e3;return this[n].set(i,{value:t,expiry:a})},e.prototype.getWithTTL=function(e,t,r){void 0===t&&(t=null),void 0===r&&(r="store");var n=this.prefixKey(e),i=this[r].get(n);return i?(new Date).getTime()>i.expiry?(this[r].remove(n),t):i.value:t},e}(),H=function(){function e(){var e=this;this.keysToRemove=["__said","__ssid","theme_edit","ws_port","s-token"],this.dynamicKeysToRemove=["affiliate","cart"],Salla.event.on("cookies::remove",(function(t){return e.remove(t)})),Salla.event.on("cookies::add",(function(t,r){return e.set(t,r)}))}return e.prototype.get=function(e){var t;return null===(t=document.cookie.split("; ").find((function(t){return t.startsWith(e+"=")})))||void 0===t?void 0:t.split("=")[1]},e.prototype.set=function(e,t,r){void 0===t&&(t=""),void 0===r&&(r=10);var n="";if(r){var i=new Date;i.setTime(i.getTime()+24*r*60*60*1e3),n="; expires="+i.toUTCString()}var a=salla.helpers.isIframe()?"None":"Lax";return document.cookie="".concat(e,"=").concat(t).concat(n,"; path=/; SameSite=").concat(a,"; secure"),this},e.prototype.remove=function(e){var t=salla.helpers.isIframe()?"None":"Lax";return document.cookie="".concat(e,"=; Max-Age=0; path=/; SameSite=").concat(t,"; secure"),this},e.prototype.clearAll=function(e){return void 0===e&&(e=!1),this.clean(e)},e.prototype.clean=function(e){var t=this;return document.cookie.split(";").map((function(e){return e.split("=")[0].trim()})).filter((function(r){return e||t.keysToRemove.includes(r)||t.dynamicKeysToRemove.some((function(e){return r.startsWith(e)}))})).forEach((function(e){return t.remove(e)})),this},e.prototype.getCookieByPrefix=function(e){return document.cookie.split("; ").map((function(e){return e.split("=")[0]})).filter((function(t){return t.startsWith(e)}))},e.prototype.clearCookieByPrefix=function(e){var t=this;return this.getCookieByPrefix(e).forEach((function(e){return t.remove(e)}))},e}();"undefined"!=typeof window&&(window.salla=window.salla||window.Salla||{},window.Salla=window.salla),void 0!==b&&(b.salla=b.salla||b.Salla||{},b.Salla=b.salla),Salla.status="base",Salla.config=new q,Salla.logger=N,Salla.event=new z,Salla.helpers=O,Salla.storage=new B,Salla.cookie=new H,Salla.log=Salla.logger.log,Salla.money=Salla.helpers.money,Salla.url=Salla.helpers.url,Salla.versions={base:"2.14.134"};var J=Salla;let G=function(e,t,r){return alert(e)},V=function(e,t){return G(e,W.error,t)},W={error:"error",success:"success",info:"info"};var Y={fire:function(e,t,r){return G(e,t,r)},setNotifier:function(e){G=e,salla.event.emit("twilight::notifier.changed")},error:V,success:function(e,t){return G(e,W.success,t)},info:function(e,t){return G(e,W.info,t)},sallaInitiated:function(){let e=window.location.href.match(/([\?\&]danger=)[^&]+/g);e&&(window.history.replaceState(null,document.title,window.location.pathname),salla.event.once("twilight::notifier.changed",(()=>{e.forEach((e=>{e=decodeURI(e.replace("?danger=","").replace("&danger=",""));let t=document.createElement("div");t.innerText=e,V(t.innerHTML),salla.event.emit("twilight::error",e)}))})))},types:W};class Q{constructor(e,t){return this.api=e,this.event=t,new Proxy(this,{get:function(r,n){return"event"===n?t:"api"===n?e:e&&e[n]||r[n]}})}}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t;){if(t.matches(e))return t;t=t.parentElement}}),Element.prototype.getElementSallaData=function(e,...t){if(!this.getAttribute)return;if(this.hasAttribute("data-json"))try{return JSON.parse(this.getAttribute("data-json"))}catch(e){}let r=this.getAttribute("data-function");if(r&&window[r])return"function"==typeof window[r]?this.getFilteredData(window[r].call(this,...t)):this.getFilteredData(window[r]);let n=this.hasAttribute("data-form-selector")?document.querySelector(this.dataset.formSelector):void 0;if(n="FORM"===this.tagName?this:n||this.closest("form")||this.closest("[salla-form-data]")||this,n&&"FORM"===n.tagName)return this.getFilteredData(new FormData(n),null,n);let i=n.querySelectorAll("[name]");if(!i.length)return this.getFilteredData();let a=Object.assign({},this.dataset);return i.forEach((e=>{if(!["checkbox","radio"].includes(e.type)||e.checked)try{let t=Salla.helpers.inputData(e.name,e.value,a);a[t.name]=t.value}catch(t){Salla.log(e.name+" can't be send")}})),this.getFilteredData(a)},Element.prototype.canEventFireHook=function(e){return!!this.hasAttribute&&this.hasAttribute(Salla.api.hooksPrefix+e.type)},Element.prototype.hasAttributeStartsWith=function(e,t){e=e.toLowerCase();for(var r=0;r<this.attributes.length;r++){let n=this.attributes[r].name.toLowerCase();if(0===n.indexOf(e))return!t||n}return!1},HTMLFormElement.prototype.getAjaxFormData=function(e){var t=this.querySelectorAll('input[type="file"]');t.forEach((e=>{e.files.length||e.setAttribute("disabled","")}));var r=new FormData(this);return t.forEach((e=>{e.files.length||e.removeAttribute("disabled")})),{formData:this.getFilteredData(r,e),url:this.getAttribute("action"),method:this.getAttribute("method")||"post",events:{success:this.dataset.onSuccess,fail:this.dataset.onFail}}},Element.prototype.getFilteredData=function(e=null,t=null,r=null){return e=e||r?.dataset||this.dataset,r&&this.name&&void 0!==this.value&&(e=function(e,t,r){e instanceof FormData?e.append(t,r):e[t]=r;return e}(e,this.name,this.value)),["filterBeforeSubmit","filterBeforeSend"].forEach((n=>{let i=r?.dataset[n]||this.dataset[n];if(i){var a=window[i];if("function"==typeof a){if(!a(e,r||this,t)&&e)throw`Data failed to be pass verify function window.${i}(formData, element, event)!`;return a(e,r||this,t)}Salla.log("window."+i+"() not found!")}})),e},HTMLAnchorElement.prototype.getAjaxFormData=function(e){return{formData:this.getFilteredData(null,e),url:this.getAttribute("href"),method:this.dataset.type||"get",events:{success:this.dataset.onSuccess,fail:this.dataset.onFail}}};class K{constructor(){this.events={},this.namespace="";let e=/function (.{1,})\(/.exec(this.constructor.toString());this.className=(e&&e.length>1?e[1]:"").toLowerCase()}after_init(){this.createDynamicFunctions()}createDynamicFunctions(){Object.keys(this.events).forEach((e=>{this.createDynamicEventFuns(e),this.createDynamicListenerFuns(e)}))}createDynamicEventFuns(e){if(this[e])return;let t=this;this[e]=function(...r){return t.dispatch(e,...r)}}createDynamicListenerFuns(e){let t="on"+e.charAt(0).toUpperCase()+e.slice(1);if(this[t])return;let r=this;this[t]=function(t){return r.on(e,(async(...e)=>t(...e)))}}getEventName(e){return e=this.events[e]||e,!this.namespace||e.includes("::")?e:this.namespace+Salla.event.delimiter+e}dispatch(e,...t){return Salla.event.emitAsync(this.getEventName(e),...t)}on(e,t,r={}){return Salla.event.addListener(this.getEventName(e),t,r)}once(e,t){return Salla.event.once(this.getEventName(e),t)}}function X(e){e&&e.sallaInitiated&&!e.initiated&&(e.sallaInitiated(),e.initiated=!0)}Salla.event.auth=new class extends K{constructor(){super(),this.namespace="auth",this.events={login:"login",logout:"logout",codeSent:"code.sent",codeNotSent:"code.not-sent",verified:"verified",verificationFailed:"verification.failed",loggedIn:"logged.in",registered:"registered",registrationFailed:"registration.failed",loggedOut:"logged.out",failedLogout:"failed.logout",refreshFailed:"refresh.failed",tokenFetched:"token.fetched",tokenInvalid:"token.invalid"},this.after_init()}login(e){return e?(e.type&&this.setTypeActionOnVerified(e.type),this.next_event=e.next_event||null,this.dispatch("login",...arguments)):(this.next_event=null,this.dispatch("login",...arguments))}async loggedIn(e){return Salla.profile.info().finally((()=>this.dispatch("loggedIn",e)))}setTypeActionOnVerified(e){this.type_action_on_verified=e}getTypeActionOnVerified(){return this.type_action_on_verified||"redirect"}},Salla.event.cart=new class extends K{constructor(){super(),this.namespace="cart",this.events={latestFetched:"latest.fetched",latestFailed:"latest.failed",updated:"updated",itemUpdated:"item.updated",itemUpdatedFailed:"item.updated.failed",itemAdded:"item.added",itemAddedFailed:"item.added.failed",itemDeleted:"item.deleted",itemDeletedFailed:"item.deleted.failed",submitted:"submitted",submitFailed:"submit.failed",imageDeleted:"image.deleted",imageNotDeleted:"image.not.deleted",detailsFetched:"details.fetched",detailsNotFetched:"details.not.fetched",successReset:"success.reset",priceQuoteSucceeded:"price-quote.succeeded",priceQuoteFailed:"price-quote.failed",offersFetched:"offers.fetched",offersFailed:"offers.failed",couponAdded:"coupon.added",couponDeleted:"coupon.deleted",couponAdditionFailed:"coupon.addition.failed",couponDeletionFailed:"coupon.deletion.failed",quickOrderSettingFetched:"quick-order.fetched",quickOrderSettingFailed:"quick-order.failed",quickOrderSucceeded:"quick-order.succeeded",quickOrderFailed:"quick-order.failed",submitting:"submitting"},this.after_init()}updated(e){return Salla.cookie.set("fresh_summary",1),e&&"object"==typeof e?(e.offer&&salla.product.event.offerExisted(e.offer),e.redirect&&(salla.log("The current cart is purchased!"),salla.cart.api.reset()),e.cart?(salla.storage.set("cart.summary",{total:e.cart.total,sub_total:e.cart.sub_total,discount:e.cart.discount,tax_amount:e.cart.tax_amount,total_discount:e.cart.total_discount,real_shipping_cost:e.cart.real_shipping_cost,count:e.cart.count,shipping_cost:e.cart.free_shipping_bar?.has_free_shipping?0:e.cart.real_shipping_cost}),this.dispatch("updated",e.cart)):void salla.log("Failed to get the cart summary!")):(Salla.logger.info("Cart summary not an object!",e),this.dispatch("updated"))}latestFetched(e){return this.updated(e.data),this.dispatch("latestFetched",e)}itemAdded(e,t){return this.updated(e.data),this.dispatch("itemAdded",e,t)}itemDeleted(e,t){return this.updated(e.data),this.dispatch("itemDeleted",e,t)}itemUpdated(e,t){return this.updated(e.data),this.dispatch("itemUpdated",e,t)}couponAdded(e,t){return this.updated(e.data),this.dispatch("couponAdded",e,t)}couponDeleted(e,t){return this.updated(e.data),this.dispatch("couponDeleted",e,t)}},Salla.event.order=new class extends K{constructor(){super(),this.namespace="order",this.events={canceled:"canceled",notCanceled:"not.canceled",orderCreated:"order.created",orderCreationFailed:"order.creation.failed",invoiceSent:"invoice.sent",invoiceNotSent:"invoice.not.sent",ordersFetched:"order.fetched",ordersNotFetched:"order.not.fetched"},this.after_init()}},Salla.event.scope=new class extends K{constructor(){super(),this.namespace="scope",this.events={fetched:"fetched",notFetched:"not.fetched",productAvailabilityFetched:"product-availability.fetched",productAvailabilityNotFetched:"product-availability.not.fetched",changeSucceeded:"changed",changeFailed:"not.changed"},this.after_init()}},Salla.event.rating=new class extends K{constructor(){super(),this.namespace="rating",this.events={orderNotFetched:"order.not.fetched",orderFetched:"order.fetched",storeRated:"store.rated",storeFailed:"store.failed",productsRated:"products.rated",productsFailed:"products.failed",shippingRated:"shipping.rated",shippingFailed:"shipping.failed"},this.after_init()}},Salla.event.booking=new class extends K{constructor(){super(),this.namespace="booking",this.events={added:"added",additionFailed:"addition.failed"},this.after_init()}},Salla.event.comment=new class extends K{constructor(){super(),this.namespace="comment",this.events={added:"added",additionFailed:"addition.failed",fetched:"fetched",fetchFailed:"fetch.failed"},this.after_init()}},Salla.event.landing=new class extends K{constructor(){super(),this.namespace="landing",this.events={detailsFetched:"order.fetched",getDetailsFailed:"get.details.failed",orderCreated:"order.created",orderCreationFailed:"order.creation.failed",breadcrumbFetched:"breadcrumb.fetched",breadcrumbFetchFailed:"breadcrumb.fetch.failed"},this.after_init()}},Salla.event.loyalty=new class extends K{constructor(){super(),this.namespace="loyalty",this.events={exchangeSucceeded:"exchange.succeeded",exchangeFailed:"exchange.failed",programFetched:"program.fetched",programNotFetched:"program.not.fetched",resetSucceeded:"exchange-reset.succeeded",resetFailed:"exchange-reset.failed"},this.after_init()}exchangeSucceeded(e,t){return salla.cart.event.updated(e.data),this.dispatch("exchangeSucceeded",e,t)}resetSucceeded(e){return salla.cart.event.updated(e.data),this.dispatch("resetSucceeded",e)}},Salla.event.product=new class extends K{constructor(){super(),this.namespace="product",this.events={priceUpdated:"price.updated",priceUpdateFailed:"price.updated.failed",availabilitySubscribed:"availability.subscribed",availabilitySubscribeFailed:"availability.subscribe.failed",categoriesFetched:"categories.fetched",categoriesFailed:"categories.failed",searchFailed:"search.failed",searchResults:"search.results",offerExisted:"offer.existed",fetchOffersFailed:"fetch.offers.failed",offersFetched:"offers.fetched",sizeGuideFetched:"size-guide.fetched",sizeGuideFetchFailed:"size-guide.failed",giftFetched:"gift.fetched",giftFetchFailed:"gift.failed",detailFetched:"detail.fetched",detailFetchFailed:"detail.failed",addGiftToCartSucceeded:"gift.add-to-cart.succeeded",addGiftToCartFailed:"gift.add-to-cart.failed",giftImageUploadSucceeded:"gift.image-upload.succeeded",giftImageUploadFailed:"gift.image-upload.failed",productListFetchSucceeded:"fetch.succeeded",productListFetchFailed:"fetch.failed",productOptionsFetched:"options.fetched",productOptionsNotFetched:"options.not.fetched"},this.after_init()}},Salla.event.profile=new class extends K{constructor(){super(),this.namespace="profile",this.events={updated:"updated",updateFailed:"update.failed",verificationCodeSent:"verification.code.sent",updateContactsFailed:"update.contacts.failed",verified:"verified",unverified:"unverified",infoFetched:"info.fetched",infoNotFetched:"info.not.fetched",settingsUpdated:"settings.updated",updateSettingsFailed:"update.settings.failed",deleted:"deleted",notDeleted:"not.deleted"},this.after_init()}},Salla.event.currency=new class extends K{constructor(){super(),this.namespace="currency",this.events={changed:"changed",failed:"failed",fetched:"fetched",failedToFetch:"failed.to.fetch"},this.after_init()}},Salla.event.document=new class extends K{constructor(){super(),this.namespace="document",this.events={click:"click",change:"change",submit:"submit",keyup:"keyup",leaving:"leaving",request:"request",requestFailed:"request.failed"},this.after_init()}onClick(e,t){this.fireCallableFuns("click",e,t)}onChange(e,t){this.fireCallableFuns("change",e,t)}onSubmit(e,t){this.fireCallableFuns("submit",e,t)}onKeyup(e,t){this.fireCallableFuns("keyup",e,t)}fireCallableFuns(e,t,r){this.on(e,(e=>{"function"!=typeof t?"function"==typeof r&&e.target.matches(t)&&r(e):t(e)}))}fireEvent(e,t,...r){return this.fireEventForElements(e,t,!1,...r)}fireEventForAll(e,t,...r){return this.fireEventForElements(e,t,!0,...r)}fireEventForElements(e,t,r,...n){if("string"==typeof e){if(r)return document.querySelectorAll(e).forEach((e=>this.fireEventForElements(e,t,!1,...n)));e=document.querySelector(e)}if(!e)return void salla.log("Failed To get element to fire event: "+t);const i=new CustomEvent(t,...n);return e.dispatchEvent(i)}},Salla.event.wishlist=new class extends K{constructor(){super(),this.namespace="wishlist",this.events={added:"added",removed:"removed",additionFailed:"addition.failed",removingFailed:"removing.failed"},this.after_init()}},Salla.event.infiniteScroll=new class extends K{constructor(){super(),this.namespace="infiniteScroll",this.events={scrollThreshold:"scroll.threshold",request:"request",load:"load",append:"append",error:"error",last:"last",history:"history"},this.after_init()}},Salla.event.notifications=new class extends K{constructor(){super(),this.namespace="notifications",this.events={fetched:"fetched",fetchFailed:"fetch.failed"},this.after_init()}},Salla.event.component=new class extends K{constructor(){super(),this.namespace="component",this.events={menuFetched:"menus.fetched",menuFetchFailed:"menus.fetch.failed",reviewsFetched:"reviews.fetched",reviewsFetchFailed:"reviews.fetch.failed"},this.after_init()}},Salla.event.advertisement=new class extends K{constructor(){super(),this.namespace="advertisement",this.events={fetched:"advertisement.fetched",fetchFailed:"advertisement.not.fetched"},this.after_init()}},Salla.event.navigation=new class extends K{constructor(){super(),this.namespace="navigation",this.events={breadcrumbFetched:"breadcrumb.fetched",breadcrumbFetchFailed:"breadcrumb.fetch.failed"},this.after_init()}},Salla.event.metadata=new class extends K{constructor(){super(),this.namespace="metadata",this.events={valueFetched:"value.fetched",valueNotFetch:"value.not.fetched"},this.after_init()}},Salla.event.on("twilight::initiated",(()=>{Object.keys(Salla).forEach((e=>{"object"==typeof(e=Salla[e])&&(X(e),Object.keys(e).forEach((t=>{X(e[t])})))}))})),Salla.config.default_properties={debug:"undefined"!=typeof process&&"development"===process.env.NODE_ENV,token:null,fastRequests:!0,canLeave:!0,store:{api:["group","test"].includes(window.location.hostname.split(".").pop())?window.location.origin+"/api/v1/":"https://api.salla.dev/store/v1/"},currencies:{SAR:{code:"SAR",name:"ريال سعودي",symbol:"ر.س",amount:1,country_code:"sa"}}},Salla.config.merge(Salla.config.default_properties),Salla.config.triedToGetCurrencies_=!1,Salla.config.triedToGetLanguages_=!1,Salla.config.isUser=()=>"user"===Salla.config.get("user.type"),Salla.config.isGuest=()=>!Salla.config.isUser(),Salla.config.languages=async()=>{if(Salla.config.triedToGetLanguages_)return Salla.config.get("languages");Salla.config.triedToGetLanguages_=!0;let e=!0,t=[];return(await salla.document.api.request("languages",null,"get"))?.data?.map((r=>{e&&(t=[],e=!1),r.code=r.code||r.iso_code,r.url=salla.url.get(r.code),r.is_rtl=r.is_rtl||r.rtl,t.push(r)})),Salla.config.set("languages",t),t},Salla.config.currencies=async()=>{if(Salla.config.triedToGetCurrencies_)return Salla.config.get("currencies");Salla.config.triedToGetCurrencies_=!0;let e=!0,t={};return(await salla.currency.api.list())?.data?.map((r=>{e&&(t={},e=!1),r.country_code=r.code.substr(0,2).toLowerCase(),t[r.code]=r})),Salla.config.set("currencies",t),t};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function Z(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")&&1===Object.keys(e).length?e.default:e}var ee,te={exports:{}},re={exports:{}},ne=Z(v),ie=Z(y);function ae(){return ee||(ee=1,function(e){!function(t,r){e.exports?e.exports=r(t,ne,ie):t.InfiniteScroll=r(t,t.EvEmitter,t.fizzyUIUtils)}(window,(function(e,t,r){let n=e.jQuery,i={};function a(e,t){let o=r.getQueryElement(e);if(o){if((e=o).infiniteScrollGUID){let r=i[e.infiniteScrollGUID];return r.option(t),r}this.element=e,this.options={...a.defaults},this.option(t),n&&(this.$element=n(this.element)),this.create()}else console.error("Bad element for InfiniteScroll: "+(o||e))}a.defaults={},a.create={},a.destroy={};let o=a.prototype;Object.assign(o,t.prototype);let s=0;o.create=function(){let e=this.guid=++s;if(this.element.infiniteScrollGUID=e,i[e]=this,this.pageIndex=1,this.loadCount=0,this.updateGetPath(),this.getPath&&this.getPath()){this.updateGetAbsolutePath(),this.log("initialized",[this.element.className]),this.callOnInit();for(let e in a.create)a.create[e].call(this)}else console.error("Disabling InfiniteScroll")},o.option=function(e){Object.assign(this.options,e)},o.callOnInit=function(){let e=this.options.onInit;e&&e.call(this,this)},o.dispatchEvent=function(e,t,r){this.log(e,r);let i=t?[t].concat(r):r;if(this.emitEvent(e,i),!n||!this.$element)return;let a=e+=".infiniteScroll";if(t){let r=n.Event(t);r.type=e,a=r}this.$element.trigger(a,r)};let l={initialized:e=>`on ${e}`,request:e=>`URL: ${e}`,load:(e,t)=>`${e.title||""}. URL: ${t}`,error:(e,t)=>`${e}. URL: ${t}`,append:(e,t,r)=>`${r.length} items. URL: ${t}`,last:(e,t)=>`URL: ${t}`,history:(e,t)=>`URL: ${t}`,pageIndex:function(e,t){return`current page determined to be: ${e} from ${t}`}};o.log=function(e,t){if(!this.options.debug)return;let r=`[InfiniteScroll] ${e}`,n=l[e];n&&(r+=". "+n.apply(this,t)),console.log(r)},o.updateMeasurements=function(){this.windowHeight=e.innerHeight;let t=this.element.getBoundingClientRect();this.top=t.top+e.scrollY},o.updateScroller=function(){let t=this.options.elementScroll;if(t){if(this.scroller=!0===t?this.element:r.getQueryElement(t),!this.scroller)throw new Error(`Unable to find elementScroll: ${t}`)}else this.scroller=e},o.updateGetPath=function(){let e=this.options.path;if(!e)return void console.error(`InfiniteScroll path option required. Set as: ${e}`);let t=typeof e;"function"!=t?"string"==t&&e.match("{{#}}")?this.updateGetPathTemplate(e):this.updateGetPathSelector(e):this.getPath=e},o.updateGetPathTemplate=function(e){this.getPath=()=>{let t=this.pageIndex+1;return e.replace("{{#}}",t)};let t=e.replace(/(\\\?|\?)/,"\\?").replace("{{#}}","(\\d\\d?\\d?)"),r=new RegExp(t),n=location.href.match(r);n&&(this.pageIndex=parseInt(n[1],10),this.log("pageIndex",[this.pageIndex,"template string"]))};let c=[/^(.*?\/?page\/?)(\d\d?\d?)(.*?$)/,/^(.*?\/?\?page=)(\d\d?\d?)(.*?$)/,/(.*?)(\d\d?\d?)(?!.*\d)(.*?$)/],u=a.getPathParts=function(e){if(e)for(let t of c){let r=e.match(t);if(r){let[,e,t,n]=r;return{begin:e,index:t,end:n}}}};o.updateGetPathSelector=function(e){let t=document.querySelector(e);if(!t)return void console.error(`Bad InfiniteScroll path option. Next link not found: ${e}`);let r=t.getAttribute("href"),n=u(r);if(!n)return void console.error(`InfiniteScroll unable to parse next link href: ${r}`);let{begin:i,index:a,end:o}=n;this.isPathSelector=!0,this.getPath=()=>i+(this.pageIndex+1)+o,this.pageIndex=parseInt(a,10)-1,this.log("pageIndex",[this.pageIndex,"next link"])},o.updateGetAbsolutePath=function(){let e=this.getPath();if(e.match(/^http/)||e.match(/^\//))return void(this.getAbsolutePath=this.getPath);let{pathname:t}=location,r=e.match(/^\?/),n=t.substring(0,t.lastIndexOf("/")),i=r?t:n+"/";this.getAbsolutePath=()=>i+this.getPath()},a.create.hideNav=function(){let e=r.getQueryElement(this.options.hideNav);e&&(e.style.display="none",this.nav=e)},a.destroy.hideNav=function(){this.nav&&(this.nav.style.display="")},o.destroy=function(){this.allOff();for(let e in a.destroy)a.destroy[e].call(this);delete this.element.infiniteScrollGUID,delete i[this.guid],n&&this.$element&&n.removeData(this.element,"infiniteScroll")},a.throttle=function(e,t){let r,n;return t=t||200,function(){let i=+new Date,a=arguments,o=()=>{r=i,e.apply(this,a)};r&&i<r+t?(clearTimeout(n),n=setTimeout(o,t)):o()}},a.data=function(e){let t=(e=r.getQueryElement(e))&&e.infiniteScrollGUID;return t&&i[t]},a.setJQuery=function(e){n=e},r.htmlInit(a,"infinite-scroll"),o._init=function(){};let{jQueryBridget:d}=e;return n&&d&&d("infiniteScroll",a,n),a}))}(re)),re.exports}re.exports;var oe,se={exports:{}};function le(){return oe||(oe=1,function(e){!function(t,r){e.exports?e.exports=r(t,ae()):r(t,t.InfiniteScroll)}(window,(function(e,t){let r=t.prototype;Object.assign(t.defaults,{loadOnScroll:!0,checkLastPage:!0,responseBody:"text",domParseResponse:!0}),t.create.pageLoad=function(){this.canLoad=!0,this.on("scrollThreshold",this.onScrollThresholdLoad),this.on("load",this.checkLastPage),this.options.outlayer&&this.on("append",this.onAppendOutlayer)},r.onScrollThresholdLoad=function(){this.options.loadOnScroll&&this.loadNextPage()};let n=new DOMParser;function i(e){let t=document.createDocumentFragment();return e&&t.append(...e),t}return r.loadNextPage=function(){if(this.isLoading||!this.canLoad)return;let{responseBody:e,domParseResponse:t,fetchOptions:r}=this.options,i=this.getAbsolutePath();this.isLoading=!0,"function"==typeof r&&(r=r());let a=fetch(i,r).then((r=>{if(!r.ok){let e=new Error(r.statusText);return this.onPageError(e,i,r),{response:r}}return r[e]().then((a=>("text"==e&&t&&(a=n.parseFromString(a,"text/html")),204==r.status?(this.lastPageReached(a,i),{body:a,response:r}):this.onPageLoad(a,i,r))))})).catch((e=>{this.onPageError(e,i)}));return this.dispatchEvent("request",null,[i,a]),a},r.onPageLoad=function(e,t,r){return this.options.append||(this.isLoading=!1),this.pageIndex++,this.loadCount++,this.dispatchEvent("load",null,[e,t,r]),this.appendNextPage(e,t,r)},r.appendNextPage=function(e,t,r){let{append:n,responseBody:a,domParseResponse:o}=this.options;if(!("text"==a&&o)||!n)return{body:e,response:r};let s=e.querySelectorAll(n),l={body:e,response:r,items:s};if(!s||!s.length)return this.lastPageReached(e,t),l;let c=i(s),u=()=>(this.appendItems(s,c),this.isLoading=!1,this.dispatchEvent("append",null,[e,t,s,r]),l);return this.options.outlayer?this.appendOutlayerItems(c,u):u()},r.appendItems=function(e,t){e&&e.length&&(function(e){let t=e.querySelectorAll("script");for(let e of t){let t=document.createElement("script"),r=e.attributes;for(let e of r)t.setAttribute(e.name,e.value);t.innerHTML=e.innerHTML,e.parentNode.replaceChild(t,e)}}(t=t||i(e)),this.element.appendChild(t))},r.appendOutlayerItems=function(r,n){let i=t.imagesLoaded||e.imagesLoaded;return i?new Promise((function(e){i(r,(function(){let t=n();e(t)}))})):(console.error("[InfiniteScroll] imagesLoaded required for outlayer option"),void(this.isLoading=!1))},r.onAppendOutlayer=function(e,t,r){this.options.outlayer.appended(r)},r.checkLastPage=function(e,t){let r,{checkLastPage:n,path:i}=this.options;if(n){if("function"==typeof i){if(!this.getPath())return void this.lastPageReached(e,t)}"string"==typeof n?r=n:this.isPathSelector&&(r=i),r&&e.querySelector&&(e.querySelector(r)||this.lastPageReached(e,t))}},r.lastPageReached=function(e,t){this.canLoad=!1,this.dispatchEvent("last",null,[e,t])},r.onPageError=function(e,t,r){return this.isLoading=!1,this.canLoad=!1,this.dispatchEvent("error",null,[e,t,r]),e},t.create.prefill=function(){if(!this.options.prefill)return;let e=this.options.append;e?(this.updateMeasurements(),this.updateScroller(),this.isPrefilling=!0,this.on("append",this.prefill),this.once("error",this.stopPrefill),this.once("last",this.stopPrefill),this.prefill()):console.error(`append option required for prefill. Set as :${e}`)},r.prefill=function(){let e=this.getPrefillDistance();this.isPrefilling=e>=0,this.isPrefilling?(this.log("prefill"),this.loadNextPage()):this.stopPrefill()},r.getPrefillDistance=function(){return this.options.elementScroll?this.scroller.clientHeight-this.scroller.scrollHeight:this.windowHeight-this.element.clientHeight},r.stopPrefill=function(){this.log("stopPrefill"),this.off("append",this.prefill)},t}))}(se)),se.exports}var ce,ue={exports:{}};function de(){return ce||(ce=1,function(e){!function(t,r){e.exports?e.exports=r(t,ae(),ie):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){let n=t.prototype;return Object.assign(t.defaults,{scrollThreshold:400}),t.create.scrollWatch=function(){this.pageScrollHandler=this.onPageScroll.bind(this),this.resizeHandler=this.onResize.bind(this);let e=this.options.scrollThreshold;(e||0===e)&&this.enableScrollWatch()},t.destroy.scrollWatch=function(){this.disableScrollWatch()},n.enableScrollWatch=function(){this.isScrollWatching||(this.isScrollWatching=!0,this.updateMeasurements(),this.updateScroller(),this.on("last",this.disableScrollWatch),this.bindScrollWatchEvents(!0))},n.disableScrollWatch=function(){this.isScrollWatching&&(this.bindScrollWatchEvents(!1),delete this.isScrollWatching)},n.bindScrollWatchEvents=function(t){let r=t?"addEventListener":"removeEventListener";this.scroller[r]("scroll",this.pageScrollHandler),e[r]("resize",this.resizeHandler)},n.onPageScroll=t.throttle((function(){this.getBottomDistance()<=this.options.scrollThreshold&&this.dispatchEvent("scrollThreshold")})),n.getBottomDistance=function(){let t,r;return this.options.elementScroll?(t=this.scroller.scrollHeight,r=this.scroller.scrollTop+this.scroller.clientHeight):(t=this.top+this.element.clientHeight,r=e.scrollY+this.windowHeight),t-r},n.onResize=function(){this.updateMeasurements()},r.debounceMethod(t,"onResize",150),t}))}(ue)),ue.exports}var he,pe={exports:{}};function fe(){return he||(he=1,function(e){!function(t,r){e.exports?e.exports=r(t,ae(),ie):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){let n=t.prototype;Object.assign(t.defaults,{history:"replace"});let i=document.createElement("a");return t.create.history=function(){if(!this.options.history)return;i.href=this.getAbsolutePath(),(i.origin||i.protocol+"//"+i.host)==location.origin?this.options.append?this.createHistoryAppend():this.createHistoryPageLoad():console.error(`[InfiniteScroll] cannot set history with different origin: ${i.origin} on ${location.origin} . History behavior disabled.`)},n.createHistoryAppend=function(){this.updateMeasurements(),this.updateScroller(),this.scrollPages=[{top:0,path:location.href,title:document.title}],this.scrollPage=this.scrollPages[0],this.scrollHistoryHandler=this.onScrollHistory.bind(this),this.unloadHandler=this.onUnload.bind(this),this.scroller.addEventListener("scroll",this.scrollHistoryHandler),this.on("append",this.onAppendHistory),this.bindHistoryAppendEvents(!0)},n.bindHistoryAppendEvents=function(t){let r=t?"addEventListener":"removeEventListener";this.scroller[r]("scroll",this.scrollHistoryHandler),e[r]("unload",this.unloadHandler)},n.createHistoryPageLoad=function(){this.on("load",this.onPageLoadHistory)},t.destroy.history=n.destroyHistory=function(){this.options.history&&this.options.append&&this.bindHistoryAppendEvents(!1)},n.onAppendHistory=function(e,t,r){if(!r||!r.length)return;let n=r[0],a=this.getElementScrollY(n);i.href=t,this.scrollPages.push({top:a,path:i.href,title:e.title})},n.getElementScrollY=function(t){if(this.options.elementScroll)return t.offsetTop-this.top;return t.getBoundingClientRect().top+e.scrollY},n.onScrollHistory=function(){let e=this.getClosestScrollPage();e!=this.scrollPage&&(this.scrollPage=e,this.setHistory(e.title,e.path))},r.debounceMethod(t,"onScrollHistory",150),n.getClosestScrollPage=function(){let t,r;t=this.options.elementScroll?this.scroller.scrollTop+this.scroller.clientHeight/2:e.scrollY+this.windowHeight/2;for(let e of this.scrollPages){if(e.top>=t)break;r=e}return r},n.setHistory=function(e,t){let r=this.options.history;r&&history[r+"State"]&&(history[r+"State"](null,e,t),this.options.historyTitle&&(document.title=e),this.dispatchEvent("history",null,[e,t]))},n.onUnload=function(){if(0===this.scrollPage.top)return;let t=e.scrollY-this.scrollPage.top+this.top;this.destroyHistory(),scrollTo(0,t)},n.onPageLoadHistory=function(e,t){this.setHistory(e.title,t)},t}))}(pe)),pe.exports}var ge,me={exports:{}};function ve(){return ge||(ge=1,function(e){!function(t,r){e.exports?e.exports=r(t,ae(),ie):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){class n{constructor(e,t){this.element=e,this.infScroll=t,this.clickHandler=this.onClick.bind(this),this.element.addEventListener("click",this.clickHandler),t.on("request",this.disable.bind(this)),t.on("load",this.enable.bind(this)),t.on("error",this.hide.bind(this)),t.on("last",this.hide.bind(this))}onClick(e){e.preventDefault(),this.infScroll.loadNextPage()}enable(){this.element.removeAttribute("disabled")}disable(){this.element.disabled="disabled"}hide(){this.element.style.display="none"}destroy(){this.element.removeEventListener("click",this.clickHandler)}}return t.create.button=function(){let e=r.getQueryElement(this.options.button);e&&(this.button=new n(e,this))},t.destroy.button=function(){this.button&&this.button.destroy()},t.Button=n,t}))}(me)),me.exports}var ye,be={exports:{}};function we(){return ye||(ye=1,function(e){!function(t,r){e.exports?e.exports=r(t,ae(),ie):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){let n=t.prototype;function i(e){o(e,"none")}function a(e){o(e,"block")}function o(e,t){e&&(e.style.display=t)}return t.create.status=function(){let e=r.getQueryElement(this.options.status);e&&(this.statusElement=e,this.statusEventElements={request:e.querySelector(".infinite-scroll-request"),error:e.querySelector(".infinite-scroll-error"),last:e.querySelector(".infinite-scroll-last")},this.on("request",this.showRequestStatus),this.on("error",this.showErrorStatus),this.on("last",this.showLastStatus),this.bindHideStatus("on"))},n.bindHideStatus=function(e){let t=this.options.append?"append":"load";this[e](t,this.hideAllStatus)},n.showRequestStatus=function(){this.showStatus("request")},n.showErrorStatus=function(){this.showStatus("error")},n.showLastStatus=function(){this.showStatus("last"),this.bindHideStatus("off")},n.showStatus=function(e){a(this.statusElement),this.hideStatusEventElements(),a(this.statusEventElements[e])},n.hideAllStatus=function(){i(this.statusElement),this.hideStatusEventElements()},n.hideStatusEventElements=function(){for(let e in this.statusEventElements){i(this.statusEventElements[e])}},t}))}(be)),be.exports}
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("ev-emitter"),require("fizzy-ui-utils")):"function"==typeof define&&define.amd?define(["ev-emitter","fizzy-ui-utils"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Salla=t(e.evEmitter,e.fizzyUiUtils)}(this,(function(e,t){"use strict";function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}function n(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}var i=r(e),o=r(t),a="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")&&1===Object.keys(e).length?e.default:e}var c=Array.isArray,u="object"==typeof s&&s&&s.Object===Object&&s,d="object"==typeof self&&self&&self.Object===Object&&self,h=u||d||Function("return this")(),f=h.Symbol,p=f,g=Object.prototype,m=g.hasOwnProperty,v=g.toString,y=p?p.toStringTag:void 0;var b=function(e){var t=m.call(e,y),r=e[y];try{e[y]=void 0;var n=!0}catch(e){}var i=v.call(e);return n&&(t?e[y]=r:delete e[y]),i},w=Object.prototype.toString;var _=b,S=function(e){return w.call(e)},E=f?f.toStringTag:void 0;var k=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":E&&E in Object(e)?_(e):S(e)};var x=k,P=function(e){return null!=e&&"object"==typeof e};var A=function(e){return"symbol"==typeof e||P(e)&&"[object Symbol]"==x(e)},I=c,j=A,O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/;var C=function(e,t){if(I(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!j(e))||(T.test(e)||!O.test(e)||null!=t&&e in Object(t))};var F=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},R=k,L=F;var N,U=function(e){if(!L(e))return!1;var t=R(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},z=h["__core-js_shared__"],q=(N=/[^.]+$/.exec(z&&z.keys&&z.keys.IE_PROTO||""))?"Symbol(src)_1."+N:"";var D=function(e){return!!q&&q in e},$=Function.prototype.toString;var M=U,B=D,H=F,G=function(e){if(null!=e){try{return $.call(e)}catch(e){}try{return e+""}catch(e){}}return""},J=/^\[object .+?Constructor\]$/,V=Function.prototype,W=Object.prototype,Y=V.toString,Q=W.hasOwnProperty,K=RegExp("^"+Y.call(Q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var X=function(e){return!(!H(e)||B(e))&&(M(e)?K:J).test(G(e))},Z=function(e,t){return null==e?void 0:e[t]};var ee=function(e,t){var r=Z(e,t);return X(r)?r:void 0},te=ee(Object,"create"),re=te;var ne=function(){this.__data__=re?re(null):{},this.size=0};var ie=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},oe=te,ae=Object.prototype.hasOwnProperty;var se=function(e){var t=this.__data__;if(oe){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return ae.call(t,e)?t[e]:void 0},le=te,ce=Object.prototype.hasOwnProperty;var ue=function(e){var t=this.__data__;return le?void 0!==t[e]:ce.call(t,e)},de=te;var he=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=de&&void 0===t?"__lodash_hash_undefined__":t,this},fe=ne,pe=ie,ge=se,me=ue,ve=he;function ye(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ye.prototype.clear=fe,ye.prototype.delete=pe,ye.prototype.get=ge,ye.prototype.has=me,ye.prototype.set=ve;var be=ye;var we=function(){this.__data__=[],this.size=0};var _e=function(e,t){return e===t||e!=e&&t!=t};var Se=function(e,t){for(var r=e.length;r--;)if(_e(e[r][0],t))return r;return-1},Ee=Se,ke=Array.prototype.splice;var xe=function(e){var t=this.__data__,r=Ee(t,e);return!(r<0)&&(r==t.length-1?t.pop():ke.call(t,r,1),--this.size,!0)},Pe=Se;var Ae=function(e){var t=this.__data__,r=Pe(t,e);return r<0?void 0:t[r][1]},Ie=Se;var je=Se;var Oe=function(e,t){var r=this.__data__,n=je(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Te=we,Ce=xe,Fe=Ae,Re=function(e){return Ie(this.__data__,e)>-1},Le=Oe;function Ne(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ne.prototype.clear=Te,Ne.prototype.delete=Ce,Ne.prototype.get=Fe,Ne.prototype.has=Re,Ne.prototype.set=Le;var Ue=Ne,ze=ee(h,"Map"),qe=be,De=Ue,$e=ze;var Me=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Be=function(e,t){var r=e.__data__;return Me(t)?r["string"==typeof t?"string":"hash"]:r.map},He=Be;var Ge=Be;var Je=Be;var Ve=Be;var We=function(e,t){var r=Ve(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Ye=function(){this.size=0,this.__data__={hash:new qe,map:new($e||De),string:new qe}},Qe=function(e){var t=He(this,e).delete(e);return this.size-=t?1:0,t},Ke=function(e){return Ge(this,e).get(e)},Xe=function(e){return Je(this,e).has(e)},Ze=We;function et(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}et.prototype.clear=Ye,et.prototype.delete=Qe,et.prototype.get=Ke,et.prototype.has=Xe,et.prototype.set=Ze;var tt=et;function rt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return r.cache=o.set(i,a)||o,a};return r.cache=new(rt.Cache||tt),r}rt.Cache=tt;var nt=rt;var it=function(e){var t=nt(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t},ot=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,at=/\\(\\)?/g,st=it((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ot,(function(e,r,n,i){t.push(n?i.replace(at,"$1"):r||e)})),t}));var lt=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i},ct=c,ut=A,dt=f?f.prototype:void 0,ht=dt?dt.toString:void 0;var ft=function e(t){if("string"==typeof t)return t;if(ct(t))return lt(t,e)+"";if(ut(t))return ht?ht.call(t):"";var r=t+"";return"0"==r&&1/t==-Infinity?"-0":r},pt=ft;var gt=c,mt=C,vt=st,yt=function(e){return null==e?"":pt(e)};var bt=A;var wt=function(e,t){return gt(e)?e:mt(e,t)?[e]:vt(yt(e))},_t=function(e){if("string"==typeof e||bt(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};var St=function(e,t){for(var r=0,n=(t=wt(t,e)).length;null!=e&&r<n;)e=e[_t(t[r++])];return r&&r==n?e:void 0};var Et=function(e,t,r){var n=null==e?void 0:St(e,t);return void 0===n?r:n};function kt(){throw new Error("setTimeout has not been defined")}function xt(){throw new Error("clearTimeout has not been defined")}var Pt=kt,At=xt;function It(e){if(Pt===setTimeout)return setTimeout(e,0);if((Pt===kt||!Pt)&&setTimeout)return Pt=setTimeout,setTimeout(e,0);try{return Pt(e,0)}catch(t){try{return Pt.call(null,e,0)}catch(t){return Pt.call(this,e,0)}}}"function"==typeof global.setTimeout&&(Pt=setTimeout),"function"==typeof global.clearTimeout&&(At=clearTimeout);var jt,Ot=[],Tt=!1,Ct=-1;function Ft(){Tt&&jt&&(Tt=!1,jt.length?Ot=jt.concat(Ot):Ct=-1,Ot.length&&Rt())}function Rt(){if(!Tt){var e=It(Ft);Tt=!0;for(var t=Ot.length;t;){for(jt=Ot,Ot=[];++Ct<t;)jt&&jt[Ct].run();Ct=-1,t=Ot.length}jt=null,Tt=!1,function(e){if(At===clearTimeout)return clearTimeout(e);if((At===xt||!At)&&clearTimeout)return At=clearTimeout,clearTimeout(e);try{return At(e)}catch(t){try{return At.call(null,e)}catch(t){return At.call(this,e)}}}(e)}}function Lt(e,t){this.fun=e,this.array=t}Lt.prototype.run=function(){this.fun.apply(null,this.array)};function Nt(){}var Ut=Nt,zt=Nt,qt=Nt,Dt=Nt,$t=Nt,Mt=Nt,Bt=Nt;var Ht=global.performance||{},Gt=Ht.now||Ht.mozNow||Ht.msNow||Ht.oNow||Ht.webkitNow||function(){return(new Date).getTime()};var Jt=new Date;var Vt={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];Ot.push(new Lt(e,t)),1!==Ot.length||Tt||It(Rt)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Ut,addListener:zt,once:qt,off:Dt,removeListener:$t,removeAllListeners:Mt,emit:Bt,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Gt.call(Ht),r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r-=e[0],(n-=e[1])<0&&(r--,n+=1e9)),[r,n]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Jt)/1e3}},Wt=Vt,Yt={exports:{}};!function(e,t){!function(t){var r=Object.hasOwnProperty,n=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i="object"==typeof Wt&&"function"==typeof Wt.nextTick,o="function"==typeof Symbol,a="object"==typeof Reflect,s="function"==typeof setImmediate?setImmediate:setTimeout,l=o?a&&"function"==typeof Reflect.ownKeys?Reflect.ownKeys:function(e){var t=Object.getOwnPropertyNames(e);return t.push.apply(t,Object.getOwnPropertySymbols(e)),t}:Object.keys;function c(){this._events={},this._conf&&u.call(this,this._conf)}function u(e){e&&(this._conf=e,e.delimiter&&(this.delimiter=e.delimiter),e.maxListeners!==t&&(this._maxListeners=e.maxListeners),e.wildcard&&(this.wildcard=e.wildcard),e.newListener&&(this._newListener=e.newListener),e.removeListener&&(this._removeListener=e.removeListener),e.verboseMemoryLeak&&(this.verboseMemoryLeak=e.verboseMemoryLeak),e.ignoreErrors&&(this.ignoreErrors=e.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function d(e,t){var r="(node) warning: possible EventEmitter memory leak detected. "+e+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(r+=" Event name: "+t+"."),void 0!==Wt&&Wt.emitWarning){var n=new Error(r);n.name="MaxListenersExceededWarning",n.emitter=this,n.count=e,Wt.emitWarning(n)}else console.error(r),console.trace&&console.trace()}var h=function(e,t,r){var n=arguments.length;switch(n){case 0:return[];case 1:return[e];case 2:return[e,t];case 3:return[e,t,r];default:for(var i=new Array(n);n--;)i[n]=arguments[n];return i}};function f(e,r){for(var n={},i=e.length,o=r?r.length:0,a=0;a<i;a++)n[e[a]]=a<o?r[a]:t;return n}function p(e,t,r){var n,i;if(this._emitter=e,this._target=t,this._listeners={},this._listenersCount=0,(r.on||r.off)&&(n=r.on,i=r.off),t.addEventListener?(n=t.addEventListener,i=t.removeEventListener):t.addListener?(n=t.addListener,i=t.removeListener):t.on&&(n=t.on,i=t.off),!n&&!i)throw Error("target does not implement any known event API");if("function"!=typeof n)throw TypeError("on method must be a function");if("function"!=typeof i)throw TypeError("off method must be a function");this._on=n,this._off=i;var o=e._observers;o?o.push(this):e._observers=[this]}function g(e,n,i,o){var a=Object.assign({},n);if(!e)return a;if("object"!=typeof e)throw TypeError("options must be an object");var s,l,c,u=Object.keys(e),d=u.length;function h(e){throw Error('Invalid "'+s+'" option value'+(e?". Reason: "+e:""))}for(var f=0;f<d;f++){if(s=u[f],!o&&!r.call(n,s))throw Error('Unknown "'+s+'" option');(l=e[s])!==t&&(c=i[s],a[s]=c?c(l,h):l)}return a}function m(e,t){return"function"==typeof e&&e.hasOwnProperty("prototype")||t("value must be a constructor"),e}function v(e){var t="value must be type of "+e.join("|"),r=e.length,n=e[0],i=e[1];return 1===r?function(e,r){if(typeof e===n)return e;r(t)}:2===r?function(e,r){var o=typeof e;if(o===n||o===i)return e;r(t)}:function(n,i){for(var o=typeof n,a=r;a-- >0;)if(o===e[a])return n;i(t)}}Object.assign(p.prototype,{subscribe:function(e,t,r){var n=this,i=this._target,o=this._emitter,a=this._listeners,s=function(){var n=h.apply(null,arguments),a={data:n,name:t,original:e};r?!1!==r.call(i,a)&&o.emit.apply(o,[a.name].concat(n)):o.emit.apply(o,[t].concat(n))};if(a[e])throw Error("Event '"+e+"' is already listening");this._listenersCount++,o._newListener&&o._removeListener&&!n._onNewListener?(this._onNewListener=function(r){r===t&&null===a[e]&&(a[e]=s,n._on.call(i,e,s))},o.on("newListener",this._onNewListener),this._onRemoveListener=function(r){r===t&&!o.hasListeners(r)&&a[e]&&(a[e]=null,n._off.call(i,e,s))},a[e]=null,o.on("removeListener",this._onRemoveListener)):(a[e]=s,n._on.call(i,e,s))},unsubscribe:function(e){var t,r,n,i=this,o=this._listeners,a=this._emitter,s=this._off,c=this._target;if(e&&"string"!=typeof e)throw TypeError("event must be a string");function u(){i._onNewListener&&(a.off("newListener",i._onNewListener),a.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var e=_.call(a,i);a._observers.splice(e,1)}if(e){if(!(t=o[e]))return;s.call(c,e,t),delete o[e],--this._listenersCount||u()}else{for(n=(r=l(o)).length;n-- >0;)e=r[n],s.call(c,e,o[e]);this._listeners={},this._listenersCount=0,u()}}});var y=v(["function"]),b=v(["object","function"]);function w(e,t,r){var n,i,o,a=0,s=new e((function(l,c,u){function d(){i&&(i=null),a&&(clearTimeout(a),a=0)}r=g(r,{timeout:0,overload:!1},{timeout:function(e,t){return("number"!=typeof(e*=1)||e<0||!Number.isFinite(e))&&t("timeout must be a positive number"),e}}),n=!r.overload&&"function"==typeof e.prototype.cancel&&"function"==typeof u;var h=function(e){d(),l(e)},f=function(e){d(),c(e)};n?t(h,f,u):(i=[function(e){f(e||Error("canceled"))}],t(h,f,(function(e){if(o)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof e)throw TypeError("onCancel callback must be a function");i.push(e)})),o=!0),r.timeout>0&&(a=setTimeout((function(){var e=Error("timeout");e.code="ETIMEDOUT",a=0,s.cancel(e),c(e)}),r.timeout))}));return n||(s.cancel=function(e){if(i){for(var t=i.length,r=1;r<t;r++)i[r](e);i[0](e),i=null}}),s}function _(e){var t=this._observers;if(!t)return-1;for(var r=t.length,n=0;n<r;n++)if(t[n]._target===e)return n;return-1}function S(e,t,r,n,i){if(!r)return null;if(0===n){var o=typeof t;if("string"===o){var a,s,c=0,u=0,d=this.delimiter,h=d.length;if(-1!==(s=t.indexOf(d))){a=new Array(5);do{a[c++]=t.slice(u,s),u=s+h}while(-1!==(s=t.indexOf(d,u)));a[c++]=t.slice(u),t=a,i=c}else t=[t],i=1}else"object"===o?i=t.length:(t=[t],i=1)}var f,p,g,m,v,y,b,w=null,_=t[n],E=t[n+1];if(n===i)r._listeners&&("function"==typeof r._listeners?(e&&e.push(r._listeners),w=[r]):(e&&e.push.apply(e,r._listeners),w=[r]));else{if("*"===_){for(s=(y=l(r)).length;s-- >0;)"_listeners"!==(f=y[s])&&(b=S(e,t,r[f],n+1,i))&&(w?w.push.apply(w,b):w=b);return w}if("**"===_){for((v=n+1===i||n+2===i&&"*"===E)&&r._listeners&&(w=S(e,t,r,i,i)),s=(y=l(r)).length;s-- >0;)"_listeners"!==(f=y[s])&&("*"===f||"**"===f?(r[f]._listeners&&!v&&(b=S(e,t,r[f],i,i))&&(w?w.push.apply(w,b):w=b),b=S(e,t,r[f],n,i)):b=S(e,t,r[f],f===E?n+2:n,i),b&&(w?w.push.apply(w,b):w=b));return w}r[_]&&(w=S(e,t,r[_],n+1,i))}if((p=r["*"])&&S(e,t,p,n+1,i),g=r["**"])if(n<i)for(g._listeners&&S(e,t,g,i,i),s=(y=l(g)).length;s-- >0;)"_listeners"!==(f=y[s])&&(f===E?S(e,t,g[f],n+2,i):f===_?S(e,t,g[f],n+1,i):((m={})[f]=g[f],S(e,t,{"**":m},n+1,i)));else g._listeners?S(e,t,g,i,i):g["*"]&&g["*"]._listeners&&S(e,t,g["*"],i,i);return w}function E(e,t,r){var n,i,o=0,a=0,s=this.delimiter,l=s.length;if("string"==typeof e)if(-1!==(n=e.indexOf(s))){i=new Array(5);do{i[o++]=e.slice(a,n),a=n+l}while(-1!==(n=e.indexOf(s,a)));i[o++]=e.slice(a)}else i=[e],o=1;else i=e,o=e.length;if(o>1)for(n=0;n+1<o;n++)if("**"===i[n]&&"**"===i[n+1])return;var c,u=this.listenerTree;for(n=0;n<o;n++)if(u=u[c=i[n]]||(u[c]={}),n===o-1)return u._listeners?("function"==typeof u._listeners&&(u._listeners=[u._listeners]),r?u._listeners.unshift(t):u._listeners.push(t),!u._listeners.warned&&this._maxListeners>0&&u._listeners.length>this._maxListeners&&(u._listeners.warned=!0,d.call(this,u._listeners.length,c))):u._listeners=t,!0;return!0}function k(e,t,r,n){for(var i,o,a,s,c=l(e),u=c.length,d=e._listeners;u-- >0;)i=e[o=c[u]],a="_listeners"===o?r:r?r.concat(o):[o],s=n||"symbol"==typeof o,d&&t.push(s?a:a.join(this.delimiter)),"object"==typeof i&&k.call(this,i,t,a,s);return t}function x(e){for(var t,r,n,i=l(e),o=i.length;o-- >0;)(t=e[r=i[o]])&&(n=!0,"_listeners"===r||x(t)||delete e[r]);return n}function P(e,t,r){this.emitter=e,this.event=t,this.listener=r}function A(e,r,n){if(!0===n)a=!0;else if(!1===n)o=!0;else{if(!n||"object"!=typeof n)throw TypeError("options should be an object or true");var o=n.async,a=n.promisify,l=n.nextTick,c=n.objectify}if(o||l||a){var u=r,d=r._origin||r;if(l&&!i)throw Error("process.nextTick is not supported");a===t&&(a="AsyncFunction"===r.constructor.name),r=function(){var e=arguments,t=this,r=this.event;return a?l?Promise.resolve():new Promise((function(e){s(e)})).then((function(){return t.event=r,u.apply(t,e)})):(l?Wt.nextTick:s)((function(){t.event=r,u.apply(t,e)}))},r._async=!0,r._origin=d}return[r,c?new P(this,e,r):this]}function I(e){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,u.call(this,e)}P.prototype.off=function(){return this.emitter.off(this.event,this.listener),this},I.EventEmitter2=I,I.prototype.listenTo=function(e,r,i){if("object"!=typeof e)throw TypeError("target musts be an object");var o=this;function a(t){if("object"!=typeof t)throw TypeError("events must be an object");var r,n=i.reducers,a=_.call(o,e);r=-1===a?new p(o,e,i):o._observers[a];for(var s,c=l(t),u=c.length,d="function"==typeof n,h=0;h<u;h++)s=c[h],r.subscribe(s,t[s]||s,d?n:n&&n[s])}return i=g(i,{on:t,off:t,reducers:t},{on:y,off:y,reducers:b}),n(r)?a(f(r)):a("string"==typeof r?f(r.split(/\s+/)):r),this},I.prototype.stopListeningTo=function(e,t){var r=this._observers;if(!r)return!1;var n,i=r.length,o=!1;if(e&&"object"!=typeof e)throw TypeError("target should be an object");for(;i-- >0;)n=r[i],e&&n._target!==e||(n.unsubscribe(t),o=!0);return o},I.prototype.delimiter=".",I.prototype.setMaxListeners=function(e){e!==t&&(this._maxListeners=e,this._conf||(this._conf={}),this._conf.maxListeners=e)},I.prototype.getMaxListeners=function(){return this._maxListeners},I.prototype.event="",I.prototype.once=function(e,t,r){return this._once(e,t,!1,r)},I.prototype.prependOnceListener=function(e,t,r){return this._once(e,t,!0,r)},I.prototype._once=function(e,t,r,n){return this._many(e,1,t,r,n)},I.prototype.many=function(e,t,r,n){return this._many(e,t,r,!1,n)},I.prototype.prependMany=function(e,t,r,n){return this._many(e,t,r,!0,n)},I.prototype._many=function(e,t,r,n,i){var o=this;if("function"!=typeof r)throw new Error("many only accepts instances of Function");function a(){return 0==--t&&o.off(e,a),r.apply(this,arguments)}return a._origin=r,this._on(e,a,n,i)},I.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var e,t,r,n,i,a,s=arguments[0],l=this.wildcard;if("newListener"===s&&!this._newListener&&!this._events.newListener)return!1;if(l&&(e=s,"newListener"!==s&&"removeListener"!==s&&"object"==typeof s)){if(r=s.length,o)for(n=0;n<r;n++)if("symbol"==typeof s[n]){a=!0;break}a||(s=s.join(this.delimiter))}var u,d=arguments.length;if(this._all&&this._all.length)for(n=0,r=(u=this._all.slice()).length;n<r;n++)switch(this.event=s,d){case 1:u[n].call(this,s);break;case 2:u[n].call(this,s,arguments[1]);break;case 3:u[n].call(this,s,arguments[1],arguments[2]);break;default:u[n].apply(this,arguments)}if(l)u=[],S.call(this,u,e,this.listenerTree,0,r);else{if("function"==typeof(u=this._events[s])){switch(this.event=s,d){case 1:u.call(this);break;case 2:u.call(this,arguments[1]);break;case 3:u.call(this,arguments[1],arguments[2]);break;default:for(t=new Array(d-1),i=1;i<d;i++)t[i-1]=arguments[i];u.apply(this,t)}return!0}u&&(u=u.slice())}if(u&&u.length){if(d>3)for(t=new Array(d-1),i=1;i<d;i++)t[i-1]=arguments[i];for(n=0,r=u.length;n<r;n++)switch(this.event=s,d){case 1:u[n].call(this);break;case 2:u[n].call(this,arguments[1]);break;case 3:u[n].call(this,arguments[1],arguments[2]);break;default:u[n].apply(this,t)}return!0}if(!this.ignoreErrors&&!this._all&&"error"===s)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},I.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var e,t,r,n,i,a,s=arguments[0],l=this.wildcard;if("newListener"===s&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(l&&(e=s,"newListener"!==s&&"removeListener"!==s&&"object"==typeof s)){if(n=s.length,o)for(i=0;i<n;i++)if("symbol"==typeof s[i]){t=!0;break}t||(s=s.join(this.delimiter))}var u,d=[],h=arguments.length;if(this._all)for(i=0,n=this._all.length;i<n;i++)switch(this.event=s,h){case 1:d.push(this._all[i].call(this,s));break;case 2:d.push(this._all[i].call(this,s,arguments[1]));break;case 3:d.push(this._all[i].call(this,s,arguments[1],arguments[2]));break;default:d.push(this._all[i].apply(this,arguments))}if(l?(u=[],S.call(this,u,e,this.listenerTree,0)):u=this._events[s],"function"==typeof u)switch(this.event=s,h){case 1:d.push(u.call(this));break;case 2:d.push(u.call(this,arguments[1]));break;case 3:d.push(u.call(this,arguments[1],arguments[2]));break;default:for(r=new Array(h-1),a=1;a<h;a++)r[a-1]=arguments[a];d.push(u.apply(this,r))}else if(u&&u.length){if(u=u.slice(),h>3)for(r=new Array(h-1),a=1;a<h;a++)r[a-1]=arguments[a];for(i=0,n=u.length;i<n;i++)switch(this.event=s,h){case 1:d.push(u[i].call(this));break;case 2:d.push(u[i].call(this,arguments[1]));break;case 3:d.push(u[i].call(this,arguments[1],arguments[2]));break;default:d.push(u[i].apply(this,r))}}else if(!this.ignoreErrors&&!this._all&&"error"===s)return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(d)},I.prototype.on=function(e,t,r){return this._on(e,t,!1,r)},I.prototype.prependListener=function(e,t,r){return this._on(e,t,!0,r)},I.prototype.onAny=function(e){return this._onAny(e,!1)},I.prototype.prependAny=function(e){return this._onAny(e,!0)},I.prototype.addListener=I.prototype.on,I.prototype._onAny=function(e,t){if("function"!=typeof e)throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),t?this._all.unshift(e):this._all.push(e),this},I.prototype._on=function(e,r,n,i){if("function"==typeof e)return this._onAny(e,r),this;if("function"!=typeof r)throw new Error("on only accepts instances of Function");this._events||c.call(this);var o,a=this;return i!==t&&(r=(o=A.call(this,e,r,i))[0],a=o[1]),this._newListener&&this.emit("newListener",e,r),this.wildcard?(E.call(this,e,r,n),a):(this._events[e]?("function"==typeof this._events[e]&&(this._events[e]=[this._events[e]]),n?this._events[e].unshift(r):this._events[e].push(r),!this._events[e].warned&&this._maxListeners>0&&this._events[e].length>this._maxListeners&&(this._events[e].warned=!0,d.call(this,this._events[e].length,e))):this._events[e]=r,a)},I.prototype.off=function(e,t){if("function"!=typeof t)throw new Error("removeListener only takes instances of Function");var r,i=[];if(this.wildcard){var o="string"==typeof e?e.split(this.delimiter):e.slice();if(!(i=S.call(this,null,o,this.listenerTree,0)))return this}else{if(!this._events[e])return this;r=this._events[e],i.push({_listeners:r})}for(var a=0;a<i.length;a++){var s=i[a];if(r=s._listeners,n(r)){for(var l=-1,c=0,u=r.length;c<u;c++)if(r[c]===t||r[c].listener&&r[c].listener===t||r[c]._origin&&r[c]._origin===t){l=c;break}if(l<0)continue;return this.wildcard?s._listeners.splice(l,1):this._events[e].splice(l,1),0===r.length&&(this.wildcard?delete s._listeners:delete this._events[e]),this._removeListener&&this.emit("removeListener",e,t),this}(r===t||r.listener&&r.listener===t||r._origin&&r._origin===t)&&(this.wildcard?delete s._listeners:delete this._events[e],this._removeListener&&this.emit("removeListener",e,t))}return this.listenerTree&&x(this.listenerTree),this},I.prototype.offAny=function(e){var t,r=0,n=0;if(e&&this._all&&this._all.length>0){for(r=0,n=(t=this._all).length;r<n;r++)if(e===t[r])return t.splice(r,1),this._removeListener&&this.emit("removeListenerAny",e),this}else{if(t=this._all,this._removeListener)for(r=0,n=t.length;r<n;r++)this.emit("removeListenerAny",t[r]);this._all=[]}return this},I.prototype.removeListener=I.prototype.off,I.prototype.removeAllListeners=function(e){if(e===t)return!this._events||c.call(this),this;if(this.wildcard){var r,n=S.call(this,null,e,this.listenerTree,0);if(!n)return this;for(r=0;r<n.length;r++)n[r]._listeners=null;this.listenerTree&&x(this.listenerTree)}else this._events&&(this._events[e]=null);return this},I.prototype.listeners=function(e){var r,n,i,o,a,s=this._events;if(e===t){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!s)return[];for(o=(r=l(s)).length,i=[];o-- >0;)"function"==typeof(n=s[r[o]])?i.push(n):i.push.apply(i,n);return i}if(this.wildcard){if(!(a=this.listenerTree))return[];var c=[],u="string"==typeof e?e.split(this.delimiter):e.slice();return S.call(this,c,u,a,0),c}return s&&(n=s[e])?"function"==typeof n?[n]:n:[]},I.prototype.eventNames=function(e){var t=this._events;return this.wildcard?k.call(this,this.listenerTree,[],null,e):t?l(t):[]},I.prototype.listenerCount=function(e){return this.listeners(e).length},I.prototype.hasListeners=function(e){if(this.wildcard){var r=[],n="string"==typeof e?e.split(this.delimiter):e.slice();return S.call(this,r,n,this.listenerTree,0),r.length>0}var i=this._events,o=this._all;return!!(o&&o.length||i&&(e===t?l(i).length:i[e]))},I.prototype.listenersAny=function(){return this._all?this._all:[]},I.prototype.waitFor=function(e,r){var n=this,i=typeof r;return"number"===i?r={timeout:r}:"function"===i&&(r={filter:r}),w((r=g(r,{timeout:0,filter:t,handleError:!1,Promise:Promise,overload:!1},{filter:y,Promise:m})).Promise,(function(t,i,o){function a(){var o=r.filter;if(!o||o.apply(n,arguments))if(n.off(e,a),r.handleError){var s=arguments[0];s?i(s):t(h.apply(null,arguments).slice(1))}else t(h.apply(null,arguments))}o((function(){n.off(e,a)})),n._on(e,a,!1)}),{timeout:r.timeout,overload:r.overload})};var j=I.prototype;Object.defineProperties(I,{defaultMaxListeners:{get:function(){return j._maxListeners},set:function(e){if("number"!=typeof e||e<0||Number.isNaN(e))throw TypeError("n must be a non-negative number");j._maxListeners=e},enumerable:!0},once:{value:function(e,t,r){return w((r=g(r,{Promise:Promise,timeout:0,overload:!1},{Promise:m})).Promise,(function(r,n,i){var o;if("function"==typeof e.addEventListener)return o=function(){r(h.apply(null,arguments))},i((function(){e.removeEventListener(t,o)})),void e.addEventListener(t,o,{once:!0});var a,s=function(){a&&e.removeListener("error",a),r(h.apply(null,arguments))};"error"!==t&&(a=function(r){e.removeListener(t,s),n(r)},e.once("error",a)),i((function(){a&&e.removeListener("error",a),e.removeListener(t,s)})),e.once(t,s)}),{timeout:r.timeout,overload:r.overload})},writable:!0,configurable:!0}}),Object.defineProperties(j,{_maxListeners:{value:10,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),"function"==typeof t&&t.amd?t((function(){return I})):e.exports=I}()}(Yt);var Qt=Yt.exports,Kt=Object.assign?Object.assign:function(e,t,r,n){for(var i=1;i<arguments.length;i++)nr(Object(arguments[i]),(function(t,r){e[r]=t}));return e},Xt=function(){if(Object.create)return function(e,t,r,n){var i=rr(arguments,1);return Kt.apply(this,[Object.create(e)].concat(i))};{function e(){}return function(t,r,n,i){var o=rr(arguments,1);return e.prototype=t,Kt.apply(this,[new e].concat(o))}}}(),Zt=String.prototype.trim?function(e){return String.prototype.trim.call(e)}:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},er="undefined"!=typeof window?window:s,tr={assign:Kt,create:Xt,trim:Zt,bind:function(e,t){return function(){return t.apply(e,Array.prototype.slice.call(arguments,0))}},slice:rr,each:nr,map:function(e,t){var r=or(e)?[]:{};return ir(e,(function(e,n){return r[n]=t(e,n),!1})),r},pluck:ir,isList:or,isFunction:function(e){return e&&"[object Function]"==={}.toString.call(e)},isObject:function(e){return e&&"[object Object]"==={}.toString.call(e)},Global:er};function rr(e,t){return Array.prototype.slice.call(e,t||0)}function nr(e,t){ir(e,(function(e,r){return t(e,r),!1}))}function ir(e,t){if(or(e)){for(var r=0;r<e.length;r++)if(t(e[r],r))return e[r]}else for(var n in e)if(e.hasOwnProperty(n)&&t(e[n],n))return e[n]}function or(e){return null!=e&&"function"!=typeof e&&"number"==typeof e.length}var ar=tr.slice,sr=tr.pluck,lr=tr.each,cr=tr.bind,ur=tr.create,dr=tr.isList,hr=tr.isFunction,fr=tr.isObject,pr={createStore:mr},gr={version:"2.0.12",enabled:!1,get:function(e,t){var r=this.storage.read(this._namespacePrefix+e);return this._deserialize(r,t)},set:function(e,t){return void 0===t?this.remove(e):(this.storage.write(this._namespacePrefix+e,this._serialize(t)),t)},remove:function(e){this.storage.remove(this._namespacePrefix+e)},each:function(e){var t=this;this.storage.each((function(r,n){e.call(t,t._deserialize(r),(n||"").replace(t._namespaceRegexp,""))}))},clearAll:function(){this.storage.clearAll()},hasNamespace:function(e){return this._namespacePrefix=="__storejs_"+e+"_"},createStore:function(){return mr.apply(this,arguments)},addPlugin:function(e){this._addPlugin(e)},namespace:function(e){return mr(this.storage,this.plugins,e)}};function mr(e,t,r){r||(r=""),e&&!dr(e)&&(e=[e]),t&&!dr(t)&&(t=[t]);var n=r?"__storejs_"+r+"_":"",i=r?new RegExp("^"+n):null;if(!/^[a-zA-Z0-9_\-]*$/.test(r))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var o={_namespacePrefix:n,_namespaceRegexp:i,_testStorage:function(e){try{var t="__storejs__test__";e.write(t,t);var r=e.read(t)===t;return e.remove(t),r}catch(e){return!1}},_assignPluginFnProp:function(e,t){var r=this[t];this[t]=function(){var t=ar(arguments,0),n=this;var i=[function(){if(r)return lr(arguments,(function(e,r){t[r]=e})),r.apply(n,t)}].concat(t);return e.apply(n,i)}},_serialize:function(e){return JSON.stringify(e)},_deserialize:function(e,t){if(!e)return t;var r="";try{r=JSON.parse(e)}catch(t){r=e}return void 0!==r?r:t},_addStorage:function(e){this.enabled||this._testStorage(e)&&(this.storage=e,this.enabled=!0)},_addPlugin:function(e){var t=this;if(dr(e))lr(e,(function(e){t._addPlugin(e)}));else if(!sr(this.plugins,(function(t){return e===t}))){if(this.plugins.push(e),!hr(e))throw new Error("Plugins must be function values that return objects");var r=e.call(this);if(!fr(r))throw new Error("Plugins must return an object of function properties");lr(r,(function(r,n){if(!hr(r))throw new Error("Bad plugin property: "+n+" from plugin "+e.name+". Plugins should only return functions.");t._assignPluginFnProp(r,n)}))}},addStorage:function(e){!function(){var e="undefined"==typeof console?null:console;e&&(e.warn?e.warn:e.log).apply(e,arguments)}("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(e)}},a=ur(o,gr,{plugins:[]});return a.raw={},lr(a,(function(e,t){hr(e)&&(a.raw[t]=cr(a,e))})),lr(e,(function(e){a._addStorage(e)})),lr(t,(function(e){a._addPlugin(e)})),a}var vr=tr.Global,yr={name:"localStorage",read:wr,write:function(e,t){return br().setItem(e,t)},each:function(e){for(var t=br().length-1;t>=0;t--){var r=br().key(t);e(wr(r),r)}},remove:function(e){return br().removeItem(e)},clearAll:function(){return br().clear()}};function br(){return vr.localStorage}function wr(e){return br().getItem(e)}var _r=n({__proto__:null,default:yr},[yr]),Sr=tr.Global,Er={name:"sessionStorage",read:xr,write:function(e,t){return kr().setItem(e,t)},each:function(e){for(var t=kr().length-1;t>=0;t--){var r=kr().key(t);e(xr(r),r)}},remove:function(e){return kr().removeItem(e)},clearAll:function(){return kr().clear()}};function kr(){return Sr.sessionStorage}function xr(e){return kr().getItem(e)}var Pr=n({__proto__:null,default:Er},[Er]),Ar=tr.trim,Ir={name:"cookieStorage",read:function(e){if(!e||!Cr(e))return null;var t="(?:^|.*;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(jr.cookie.replace(new RegExp(t),"$1"))},write:function(e,t){if(!e)return;jr.cookie=escape(e)+"="+escape(t)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:Or,remove:Tr,clearAll:function(){Or((function(e,t){Tr(t)}))}},jr=tr.Global.document;function Or(e){for(var t=jr.cookie.split(/; ?/g),r=t.length-1;r>=0;r--)if(Ar(t[r])){var n=t[r].split("="),i=unescape(n[0]);e(unescape(n[1]),i)}}function Tr(e){e&&Cr(e)&&(jr.cookie=escape(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function Cr(e){return new RegExp("(?:^|;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(jr.cookie)}var Fr=n({__proto__:null,default:Ir},[Ir]),Rr={name:"memoryStorage",read:function(e){return Lr[e]},write:function(e,t){Lr[e]=t},each:function(e){for(var t in Lr)Lr.hasOwnProperty(t)&&e(Lr[t],t)},remove:function(e){delete Lr[e]},clearAll:function(e){Lr={}}},Lr={};var Nr=n({__proto__:null,default:Rr},[Rr]);function Ur(e,t){void 0===t&&(t=!1),e+="";for(var r,n=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],i=["0","1","2","3","4","5","6","7","8","9"],o=(t=t||!Salla.config.get("store.settings.arabic_numbers_enabled"))?n:i,a=t?i:n,s=0;s<o.length;s++)r=new RegExp(o[s],"g"),e=e.replace(r,a[s]);return e.replace(t?"٫":".",t?".":"٫")}function zr(e){var t=("".concat(e).match(/\./g)||[]).length;return t&&1!==t?zr(e.replace(/\.(.+)\./g,".$1")):e}function qr(e){return"".concat(e).startsWith("https://")||"".concat(e).startsWith("http://")}function Dr(e){if(qr(e))return e;var t=Salla.config.get("store.url");return t||(t=window.location.href.split("/").slice(0,-1).join("/"),Salla.config.set("store.url",t)),t.rtrim("/")+"/"+(null==e?void 0:e.ltrim("/"))}function $r(e,t,r){if(r=r||window.location.href,!t||!e)return r;var n=new RegExp("([?&])"+e+"=[^&]+[&]?","g");return(r=r.replace(n,"$1").split("#")[0].replace(/&$|\?$/,"")).includes("?")?r+="&":r+=(r.endsWith("/")?"":"/")+"?",(r+e+"="+encodeURIComponent(t)).replace(/&$|\?$/,"")}function Mr(e){return window.location.origin+"/"+(null==e?void 0:e.ltrim("/"))}function Br(e){return qr(e)?e:Salla.config.get("theme.assets")?Salla.config.get("theme.assets").replace(":path",null==e?void 0:e.ltrim("/")):Mr("themes/"+Salla.config.get("theme.name")+"/"+(null==e?void 0:e.ltrim("/")))}function Hr(e,t,r){var n,i=e[0];return r&&0==e.length?Array.isArray(r)?(r.push(t),r):[r,t]:Array.isArray(r)?(r.push(t),r):"string"==typeof r?[r,t]:r?(r[i]=Hr(e.slice(1),t,r[i]),r):i?((n={})[i]=Hr(e.slice(1),t),n):""===i?[t]:t}function Gr(){return window.self!==window.top}String.prototype.toStudlyCase=function(){return this.trim().replace(/([^a-zA-Z\d].)/g,(function(e){return e.toUpperCase().replace(/[^a-zA-Z\d]/g,"")}))},String.prototype.toDatasetName=function(){return this.startsWith("data-")?this.substr(5).toStudlyCase():this.toStudlyCase()},String.prototype.toSelector=function(){return this.trim().startsWith(".")||this.trim().startsWith("#")?this.toString():"#"+this.toString()},String.prototype.replaceArray=function(e,t){for(var r,n=this,i=0;i<e.length;i++)r=new RegExp(e[i],"g"),n=n.replace(r,t[i]);return n},String.prototype.rtrim=function(e){return void 0===e&&(e="\\s"),this.replace(new RegExp("["+e+"]*$"),"")},String.prototype.ltrim=function(e){return void 0===e&&(e="\\s"),this.replace(new RegExp("^["+e+"]*"),"")},String.prototype.digitsOnly=function(){return Salla.helpers.digitsOnly(this)};var Jr={digitsOnly:function(e){return Ur(e,!0).replace(/[^0-9.]/g,"").replace("..",".").rtrim(".")},inputDigitsOnly:function e(t,r){if(void 0===r&&(r=!1),"string"==typeof t)return document.querySelectorAll(t).forEach((function(t){return e(t,r)}));if(t){var n=Salla.helpers.digitsOnly(t.value);return t.min&&n<parseInt(t.min)?t.value=t.min:t.max&&n>parseInt(t.max)?t.value=t.max:t.maxLength>=1&&n.toString().length>t.maxLength?t.value=n.toString().substring(0,t.maxLength):t.value=r||t.dataset.hasOwnProperty("digitsWithDecimal")?zr(n):n.replace(/\D/g,"")}Salla.logger.warn("Can't find Object With Id: "+t)},number:Ur,money:function(e,t){void 0===t&&(t=!0);var r=Salla.config.currency(null==e?void 0:e.currency).symbol;return e=Ur(e="object"==typeof e?e.amount:e)+" "+r,t&&["SAR","ر.س"].includes(r)&&Salla.config.get("store.settings.use_sar_symbol")&&(e=e.replace(r,"<i class=sicon-sar></i>")),e},isIframe:Gr,isPreview:function(){return Gr()},setNested:function(e,t,r){for(var n=e,i=t.split("."),o=i.length,a=0;a<o-1;a++){var s=i[a];n[s]||(n[s]={}),n=n[s]}return n[i[o-1]]=r,e},getNested:function(e,t,r){var n=Et(e,t);return void 0!==n?n:r},inputData:function(e,t,r){if(void 0===r&&(r={}),e.includes("[")){var n=e.split("]").join("").split("["),i=n[0],o=r&&"object"==typeof r?r[i]:void 0;return{name:i,value:Hr(n.slice(1),t,o)}}return{name:e,value:t}},url:Object.freeze({__proto__:null,is_full_url:qr,base:function(e){return qr(e)?e:"https://"+new URL(Dr("/")).hostname+"/"+(null==e?void 0:e.ltrim("/"))},get:Dr,domain:function(e){return qr(e)?e:"".concat(Salla.config.get("store.url",window.location.href.split("/").slice(0,-1).join("/")).rtrim("/"),"/").concat(null==e?void 0:e.ltrim("/"))},addParamToUrl:$r,baseUrl:Mr,asset:Br,cdn:function(e,t,r){var n="https://cdn.salla.network/";return(t||r)&&(t=t?",width=".concat(t):"",r=r?",height=".concat(r):"",n+="cdn-cgi/image/fit=scale-down".concat(t).concat(r,",onerror=redirect,format=auto/")),n+(null==e?void 0:e.ltrim("/"))},api:function(e){var t;return(null===(t=Salla.config.get("store.api",Dr("")))||void 0===t?void 0:t.rtrim("/"))+"/"+(null==e?void 0:e.ltrim("/"))},is_page:function(e){return e&&Salla.config.get("page.slug")===e},is_placeholder:function(e){return Br(salla.config.get("theme.settings.placeholder"))===Br(e)}}),addParamToUrl:$r,debounce:function(e,t){t=t||100;var r,n=[];return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return clearTimeout(r),r=setTimeout((function(){var t=e.apply(void 0,i);n.forEach((function(e){return e(t)})),n=[]}),t),new Promise((function(e){return n.push(e)}))}},hasApplePay:function(){var e;try{return!!(null===(e=window.ApplePaySession)||void 0===e?void 0:e.canMakePayments())&&!/snapchat/i.test(navigator.userAgent)}catch(e){return console.error(e),!1}}},Vr=function(e,t){return Vr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Vr(e,t)},Wr=function(){return Wr=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Wr.apply(this,arguments)};function Yr(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var Qr,Kr,Xr,Zr,en=(Qr=console,Kr=[],Xr=[],Zr={log:function(e,t){if(Qr&&salla.config.isDebug()){Kr.push([t,e]),"trace"===salla.config.get("debug")&&(t="trace");var r=Qr.log,n=void 0===t?r:this.__dict__[t]||r,i=["%cTwilight","color: #5cd5c4;font-weight:bold; border:1px solid #5cd5c4; padding: 2px 6px; border-radius: 5px;"];Xr.forEach((function(e){i[0]+=e[0],i.push(e[1])}));var o={event:"#CFF680",backend:"#7b68ee"}[t];o&&(i[0]+="%c"+t[0].toUpperCase()+t.substring(1),i.push("margin-left: 5px;color: ".concat(o,";font-weight:bold; border:1px solid ").concat(o,"; padding: 2px 6px; border-radius: 5px;"))),n.call.apply(n,Yr([Qr],i.concat.apply(i,e),!1))}},__dict__:{trace:Qr.trace,debug:Qr.debug,info:Qr.info,warn:Qr.warn,error:Qr.error}},{event:function(){Zr.log(arguments,"event")},trace:function(){Zr.log(arguments,"trace")},debug:function(){Zr.log(arguments,"debug")},info:function(){Zr.log(arguments,"info")},warn:function(){Zr.log(arguments,"warn")},error:function(){Zr.log(arguments,"error")},log:function(){Zr.log(arguments,void 0)},backend:function(){Zr.log(arguments,"backend")},logs:function(e){[e].flat().forEach((function(e){return e&&Zr.log([e].flat(),"backend")}))},history:function(){return Kr.map((function(e){return Qr.log.apply(Qr,Yr([e[0]],e[1],!1))})),Kr},addPrefix:function(e){return Array.isArray(e)?Xr.unshift(e):this.warn("addPrefix receives array only!"),this}}),tn=function(){function e(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.default_properties=t,this.properties_=Wr(Wr({},this.default_properties),e)}return e.prototype.merge=function(e){var t;return this.properties_=Wr(Wr({},this.properties_),e),this.properties_.store=Wr(Wr({},(null===(t=this.default_properties)||void 0===t?void 0:t.store)||{}),this.properties_.store),this},e.prototype.set=function(e,t){return e.includes(".")?(Salla.helpers.setNested(this.properties_,e,t),this):(this.properties_[e]=t,this)},e.prototype.currency=function(e){return void 0===e&&(e=void 0),e=e||this.get("user.currency_code"),this.get("currencies."+e)||Object.values(this.get("currencies"))[0]},e.prototype.get=function(e,t){return void 0===t&&(t=null),e.includes(".")?Salla.helpers.getNested(this.properties_,e,t):this.properties_.hasOwnProperty(e)?this.properties_[e]||t:t||void 0},e.prototype.all=function(){return this.properties_},e.prototype.isDebug=function(){return this.get("debug")||Salla.storage.get("debug")},e}(),rn=function(e){function t(){var t=this;return(t=e.call(this,{wildcard:!0,delimiter:"::",newListener:!1,removeListener:!1,maxListeners:10,verboseMemoryLeak:!1,ignoreErrors:!1})||this).delimiter="::","undefined"!=typeof document&&(t.body=document.querySelector("body")),t.logableEvents=["cart::item.added.failed","cart::item.deleted.failed"],t.ingoreLogEvents=["document::click","document::keyup","document::change"],t.noneFireableActions=["document.request"],t.emittedEvents=new Set,t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}Vr(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t.prototype.createAndDispatch=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.dispatch.apply(this,Yr([e],t,!1))},t.prototype.emit=function(t){for(var r,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];this.emittedEvents.add(t);var o=t.replace("::",".");if(!this.noneFireableActions.includes(o)&&Salla.call&&"function"==typeof Salla.call(o))return Salla.log("'Salla.".concat(o,"(...)' triggered using event '").concat(t,"'")),o=o.split("."),Array.isArray(n[0])&&(n=n[0]),void(r=salla[o[0]])[o[1]].apply(r,n);e.prototype.emit.apply(this,Yr([t],n,!1)),this.trackEvents.apply(this,Yr([t],n,!1))},t.prototype.onlyWhen=function(e,t){var r=this;return t=t||function(){},new Promise((function(n){return r.emittedEvents.has(e)?n(t()):r.once(e,(function(){return n(t())}))}))},t.prototype.emitAsync=function(t){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];this.emittedEvents.add(t);var i=e.prototype.emitAsync.apply(this,Yr([t],r,!1));try{this.trackEvents.apply(this,Yr([t],r,!1))}catch(e){Salla.logger.warn("error on tracking event (".concat(t,")"),r,e)}return i},t.prototype.trackEvents=function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];if("undefined"!=typeof window)try{window.dataLayer=window.dataLayer||[];var i={event:e};r.map((function(e){return"object"==typeof e&&(i=Wr(Wr({},i),e))})),window.dataLayer.push(i)}catch(e){salla.logger.error(e.message)}Salla.logger&&!this.ingoreLogEvents.includes(e)&&(t=Salla.logger).event.apply(t,Yr([e],r,!1)),this.dispatchMobileEvent.apply(this,Yr([e],r,!1))},t.prototype.dispatch=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return this.emit.apply(this,Yr([e],t,!1))},t.prototype.dispatchEvents=function(e){if(e)if("object"!=typeof e||Array.isArray(e))Salla.log("Events object is wrong, it should be object of {event:payload}",e);else for(var t=0,r=Object.entries(e);t<r.length;t++){var n=r[t],i=n[0],o=n[1];this.dispatch(i,o)}else Salla.log("No Events To Dispatch!",e)},t.prototype.addListener=function(e,t,r){return this.on(e,t,r)},t.prototype.addEventListener=function(e,t,r){return this.on(e,t,r)},t.prototype.listen=function(e,t){return this.on(e,t)},t.prototype.registerGlobalListener=function(e,t){return this.onAny(t)},t.prototype.dispatchMobileEvent=function(e,t){if(void 0===t&&(t={}),!("undefined"!=typeof window&&window.dataLayer&&window.dataLayer[0]&&window.dataLayer[0].page&&window.dataLayer[0].page.mobileApp))return"";if(window.webkit)try{window.webkit.messageHandlers.callbackHandler.postMessage(JSON.stringify({event:e,details:t}))}catch(e){Salla.log(e,"The native context does not exist yet")}else if(void 0!==window.Android)try{window.Android.customEventWithData(e,JSON.stringify({details:t}))}catch(e){Salla.log(e,"The native context does not exist yet")}},t}(Qt.EventEmitter2),nn=pr.createStore([_r,Pr,Fr,Nr],[]),on=pr.createStore([Pr],[]),an=pr.createStore([Fr],[]),sn=function(){function e(){var e=this;this.clearableItems=["cart","user","salla::wishlist","token"],Salla.event.on("storage::item.remove",(function(t){return e.remove(t)})),Salla.event.on("storage::item.set",(function(t,r){return e.set(t,r)})),this.store=nn,this.session=on,this.cookie=an}return e.prototype.set=function(e,t){var r;if(e.includes(".")){var n=e.split(".")[0],i=((r={})[n]=this.store.get(n),r);return i=Salla.helpers.setNested(i,e,t),this.store.set(n,i[n])}return this.store.set(e,t)},e.prototype.remove=function(e){return this.store.remove(e)},e.prototype.clearAll=function(e){var t=this;if(void 0===e&&(e=!1),e)return this.store.clearAll();this.clearableItems.forEach((function(e){t.store.remove(e)}))},e.prototype.get=function(e,t){var r;if(e.includes(".")){var n=e.split(".")[0];return Salla.helpers.getNested(((r={})[n]=this.store.get(n),r),e)}return this.store.get(e,t)},e.prototype.prefixKey=function(e){return"".concat(Salla.config.get("theme.translations_hash"),"_").concat(e,"_").concat(Salla.config.get("store.id"))},e.prototype.setWithTTL=function(e,t,r,n){void 0===r&&(r=10),void 0===n&&(n="store");var i=this.prefixKey(e),o=(new Date).getTime()+60*r*1e3;return this[n].set(i,{value:t,expiry:o})},e.prototype.getWithTTL=function(e,t,r){void 0===t&&(t=null),void 0===r&&(r="store");var n=this.prefixKey(e),i=this[r].get(n);return i?(new Date).getTime()>i.expiry?(this[r].remove(n),t):i.value:t},e}(),ln=function(){function e(){var e=this;this.keysToRemove=["__said","__ssid","theme_edit","ws_port","s-token"],this.dynamicKeysToRemove=["affiliate","cart"],Salla.event.on("cookies::remove",(function(t){return e.remove(t)})),Salla.event.on("cookies::add",(function(t,r){return e.set(t,r)}))}return e.prototype.get=function(e){var t;return null===(t=document.cookie.split("; ").find((function(t){return t.startsWith(e+"=")})))||void 0===t?void 0:t.split("=")[1]},e.prototype.set=function(e,t,r){void 0===t&&(t=""),void 0===r&&(r=10);var n="";if(r){var i=new Date;i.setTime(i.getTime()+24*r*60*60*1e3),n="; expires="+i.toUTCString()}var o=salla.helpers.isIframe()?"None":"Lax";return document.cookie="".concat(e,"=").concat(t).concat(n,"; path=/; SameSite=").concat(o,"; secure"),this},e.prototype.remove=function(e){var t=salla.helpers.isIframe()?"None":"Lax";return document.cookie="".concat(e,"=; Max-Age=0; path=/; SameSite=").concat(t,"; secure"),this},e.prototype.clearAll=function(e){return void 0===e&&(e=!1),this.clean(e)},e.prototype.clean=function(e){var t=this;return document.cookie.split(";").map((function(e){return e.split("=")[0].trim()})).filter((function(r){return e||t.keysToRemove.includes(r)||t.dynamicKeysToRemove.some((function(e){return r.startsWith(e)}))})).forEach((function(e){return t.remove(e)})),this},e.prototype.getCookieByPrefix=function(e){return document.cookie.split("; ").map((function(e){return e.split("=")[0]})).filter((function(t){return t.startsWith(e)}))},e.prototype.clearCookieByPrefix=function(e){var t=this;return this.getCookieByPrefix(e).forEach((function(e){return t.remove(e)}))},e}();"undefined"!=typeof window&&(window.salla=window.salla||window.Salla||{},window.Salla=window.salla),void 0!==a&&(a.salla=a.salla||a.Salla||{},a.Salla=a.salla),Salla.status="base",Salla.config=new tn,Salla.logger=en,Salla.event=new rn,Salla.helpers=Jr,Salla.storage=new sn,Salla.cookie=new ln,Salla.log=Salla.logger.log,Salla.money=Salla.helpers.money,Salla.url=Salla.helpers.url,Salla.versions={base:"2.14.136"};var cn=Salla;let un=function(e,t,r){return alert(e)},dn=function(e,t){return un(e,hn.error,t)},hn={error:"error",success:"success",info:"info"};var fn={fire:function(e,t,r){return un(e,t,r)},setNotifier:function(e){un=e,salla.event.emit("twilight::notifier.changed")},error:dn,success:function(e,t){return un(e,hn.success,t)},info:function(e,t){return un(e,hn.info,t)},sallaInitiated:function(){let e=window.location.href.match(/([\?\&]danger=)[^&]+/g);e&&(window.history.replaceState(null,document.title,window.location.pathname),salla.event.once("twilight::notifier.changed",(()=>{e.forEach((e=>{e=decodeURI(e.replace("?danger=","").replace("&danger=",""));let t=document.createElement("div");t.innerText=e,dn(t.innerHTML),salla.event.emit("twilight::error",e)}))})))},types:hn};class pn{constructor(e,t){return this.api=e,this.event=t,new Proxy(this,{get:function(r,n){return"event"===n?t:"api"===n?e:e&&e[n]||r[n]}})}}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t;){if(t.matches(e))return t;t=t.parentElement}}),Element.prototype.getElementSallaData=function(e,...t){if(!this.getAttribute)return;if(this.hasAttribute("data-json"))try{return JSON.parse(this.getAttribute("data-json"))}catch(e){}let r=this.getAttribute("data-function");if(r&&window[r])return"function"==typeof window[r]?this.getFilteredData(window[r].call(this,...t)):this.getFilteredData(window[r]);let n=this.hasAttribute("data-form-selector")?document.querySelector(this.dataset.formSelector):void 0;if(n="FORM"===this.tagName?this:n||this.closest("form")||this.closest("[salla-form-data]")||this,n&&"FORM"===n.tagName)return this.getFilteredData(new FormData(n),null,n);let i=n.querySelectorAll("[name]");if(!i.length)return this.getFilteredData();let o=Object.assign({},this.dataset);return i.forEach((e=>{if(!["checkbox","radio"].includes(e.type)||e.checked)try{let t=Salla.helpers.inputData(e.name,e.value,o);o[t.name]=t.value}catch(t){Salla.log(e.name+" can't be send")}})),this.getFilteredData(o)},Element.prototype.canEventFireHook=function(e){return!!this.hasAttribute&&this.hasAttribute(Salla.api.hooksPrefix+e.type)},Element.prototype.hasAttributeStartsWith=function(e,t){e=e.toLowerCase();for(var r=0;r<this.attributes.length;r++){let n=this.attributes[r].name.toLowerCase();if(0===n.indexOf(e))return!t||n}return!1},HTMLFormElement.prototype.getAjaxFormData=function(e){var t=this.querySelectorAll('input[type="file"]');t.forEach((e=>{e.files.length||e.setAttribute("disabled","")}));var r=new FormData(this);return t.forEach((e=>{e.files.length||e.removeAttribute("disabled")})),{formData:this.getFilteredData(r,e),url:this.getAttribute("action"),method:this.getAttribute("method")||"post",events:{success:this.dataset.onSuccess,fail:this.dataset.onFail}}},Element.prototype.getFilteredData=function(e=null,t=null,r=null){return e=e||r?.dataset||this.dataset,r&&this.name&&void 0!==this.value&&(e=function(e,t,r){e instanceof FormData?e.append(t,r):e[t]=r;return e}(e,this.name,this.value)),["filterBeforeSubmit","filterBeforeSend"].forEach((n=>{let i=r?.dataset[n]||this.dataset[n];if(i){var o=window[i];if("function"==typeof o){if(!o(e,r||this,t)&&e)throw`Data failed to be pass verify function window.${i}(formData, element, event)!`;return o(e,r||this,t)}Salla.log("window."+i+"() not found!")}})),e},HTMLAnchorElement.prototype.getAjaxFormData=function(e){return{formData:this.getFilteredData(null,e),url:this.getAttribute("href"),method:this.dataset.type||"get",events:{success:this.dataset.onSuccess,fail:this.dataset.onFail}}};class gn{constructor(){this.events={},this.namespace="";let e=/function (.{1,})\(/.exec(this.constructor.toString());this.className=(e&&e.length>1?e[1]:"").toLowerCase()}after_init(){this.createDynamicFunctions()}createDynamicFunctions(){Object.keys(this.events).forEach((e=>{this.createDynamicEventFuns(e),this.createDynamicListenerFuns(e)}))}createDynamicEventFuns(e){if(this[e])return;let t=this;this[e]=function(...r){return t.dispatch(e,...r)}}createDynamicListenerFuns(e){let t="on"+e.charAt(0).toUpperCase()+e.slice(1);if(this[t])return;let r=this;this[t]=function(t){return r.on(e,(async(...e)=>t(...e)))}}getEventName(e){return e=this.events[e]||e,!this.namespace||e.includes("::")?e:this.namespace+Salla.event.delimiter+e}dispatch(e,...t){return Salla.event.emitAsync(this.getEventName(e),...t)}on(e,t,r={}){return Salla.event.addListener(this.getEventName(e),t,r)}once(e,t){return Salla.event.once(this.getEventName(e),t)}}function mn(e){e&&e.sallaInitiated&&!e.initiated&&(e.sallaInitiated(),e.initiated=!0)}Salla.event.auth=new class extends gn{constructor(){super(),this.namespace="auth",this.events={login:"login",logout:"logout",codeSent:"code.sent",codeNotSent:"code.not-sent",verified:"verified",verificationFailed:"verification.failed",loggedIn:"logged.in",registered:"registered",registrationFailed:"registration.failed",loggedOut:"logged.out",failedLogout:"failed.logout",refreshFailed:"refresh.failed",tokenFetched:"token.fetched",tokenInvalid:"token.invalid"},this.after_init()}login(e){return e?(e.type&&this.setTypeActionOnVerified(e.type),this.next_event=e.next_event||null,this.dispatch("login",...arguments)):(this.next_event=null,this.dispatch("login",...arguments))}async loggedIn(e){return Salla.profile.info().finally((()=>this.dispatch("loggedIn",e)))}setTypeActionOnVerified(e){this.type_action_on_verified=e}getTypeActionOnVerified(){return this.type_action_on_verified||"redirect"}},Salla.event.cart=new class extends gn{constructor(){super(),this.namespace="cart",this.events={latestFetched:"latest.fetched",latestFailed:"latest.failed",updated:"updated",itemUpdated:"item.updated",itemUpdatedFailed:"item.updated.failed",itemAdded:"item.added",itemAddedFailed:"item.added.failed",itemDeleted:"item.deleted",itemDeletedFailed:"item.deleted.failed",submitted:"submitted",submitFailed:"submit.failed",imageDeleted:"image.deleted",imageNotDeleted:"image.not.deleted",detailsFetched:"details.fetched",detailsNotFetched:"details.not.fetched",successReset:"success.reset",priceQuoteSucceeded:"price-quote.succeeded",priceQuoteFailed:"price-quote.failed",offersFetched:"offers.fetched",offersFailed:"offers.failed",couponAdded:"coupon.added",couponDeleted:"coupon.deleted",couponAdditionFailed:"coupon.addition.failed",couponDeletionFailed:"coupon.deletion.failed",quickOrderSettingFetched:"quick-order.fetched",quickOrderSettingFailed:"quick-order.failed",quickOrderSucceeded:"quick-order.succeeded",quickOrderFailed:"quick-order.failed",submitting:"submitting"},this.after_init()}updated(e){return Salla.cookie.set("fresh_summary",1),e&&"object"==typeof e?(e.offer&&salla.product.event.offerExisted(e.offer),e.redirect&&(salla.log("The current cart is purchased!"),salla.cart.api.reset()),e.cart?(salla.storage.set("cart.summary",{total:e.cart.total,sub_total:e.cart.sub_total,discount:e.cart.discount,tax_amount:e.cart.tax_amount,total_discount:e.cart.total_discount,real_shipping_cost:e.cart.real_shipping_cost,count:e.cart.count,shipping_cost:e.cart.free_shipping_bar?.has_free_shipping?0:e.cart.real_shipping_cost}),this.dispatch("updated",e.cart)):void salla.log("Failed to get the cart summary!")):(Salla.logger.info("Cart summary not an object!",e),this.dispatch("updated"))}latestFetched(e){return this.updated(e.data),this.dispatch("latestFetched",e)}itemAdded(e,t){return this.updated(e.data),this.dispatch("itemAdded",e,t)}itemDeleted(e,t){return this.updated(e.data),this.dispatch("itemDeleted",e,t)}itemUpdated(e,t){return this.updated(e.data),this.dispatch("itemUpdated",e,t)}couponAdded(e,t){return this.updated(e.data),this.dispatch("couponAdded",e,t)}couponDeleted(e,t){return this.updated(e.data),this.dispatch("couponDeleted",e,t)}},Salla.event.order=new class extends gn{constructor(){super(),this.namespace="order",this.events={canceled:"canceled",notCanceled:"not.canceled",orderCreated:"order.created",orderCreationFailed:"order.creation.failed",invoiceSent:"invoice.sent",invoiceNotSent:"invoice.not.sent",ordersFetched:"order.fetched",ordersNotFetched:"order.not.fetched"},this.after_init()}},Salla.event.scope=new class extends gn{constructor(){super(),this.namespace="scope",this.events={fetched:"fetched",notFetched:"not.fetched",productAvailabilityFetched:"product-availability.fetched",productAvailabilityNotFetched:"product-availability.not.fetched",changeSucceeded:"changed",changeFailed:"not.changed"},this.after_init()}},Salla.event.rating=new class extends gn{constructor(){super(),this.namespace="rating",this.events={orderNotFetched:"order.not.fetched",orderFetched:"order.fetched",storeRated:"store.rated",storeFailed:"store.failed",productsRated:"products.rated",productsFailed:"products.failed",shippingRated:"shipping.rated",shippingFailed:"shipping.failed"},this.after_init()}},Salla.event.booking=new class extends gn{constructor(){super(),this.namespace="booking",this.events={added:"added",additionFailed:"addition.failed"},this.after_init()}},Salla.event.comment=new class extends gn{constructor(){super(),this.namespace="comment",this.events={added:"added",additionFailed:"addition.failed",fetched:"fetched",fetchFailed:"fetch.failed"},this.after_init()}},Salla.event.landing=new class extends gn{constructor(){super(),this.namespace="landing",this.events={detailsFetched:"order.fetched",getDetailsFailed:"get.details.failed",orderCreated:"order.created",orderCreationFailed:"order.creation.failed",breadcrumbFetched:"breadcrumb.fetched",breadcrumbFetchFailed:"breadcrumb.fetch.failed"},this.after_init()}},Salla.event.loyalty=new class extends gn{constructor(){super(),this.namespace="loyalty",this.events={exchangeSucceeded:"exchange.succeeded",exchangeFailed:"exchange.failed",programFetched:"program.fetched",programNotFetched:"program.not.fetched",resetSucceeded:"exchange-reset.succeeded",resetFailed:"exchange-reset.failed"},this.after_init()}exchangeSucceeded(e,t){return salla.cart.event.updated(e.data),this.dispatch("exchangeSucceeded",e,t)}resetSucceeded(e){return salla.cart.event.updated(e.data),this.dispatch("resetSucceeded",e)}},Salla.event.product=new class extends gn{constructor(){super(),this.namespace="product",this.events={priceUpdated:"price.updated",priceUpdateFailed:"price.updated.failed",availabilitySubscribed:"availability.subscribed",availabilitySubscribeFailed:"availability.subscribe.failed",categoriesFetched:"categories.fetched",categoriesFailed:"categories.failed",searchFailed:"search.failed",searchResults:"search.results",offerExisted:"offer.existed",fetchOffersFailed:"fetch.offers.failed",offersFetched:"offers.fetched",sizeGuideFetched:"size-guide.fetched",sizeGuideFetchFailed:"size-guide.failed",giftFetched:"gift.fetched",giftFetchFailed:"gift.failed",detailFetched:"detail.fetched",detailFetchFailed:"detail.failed",addGiftToCartSucceeded:"gift.add-to-cart.succeeded",addGiftToCartFailed:"gift.add-to-cart.failed",giftImageUploadSucceeded:"gift.image-upload.succeeded",giftImageUploadFailed:"gift.image-upload.failed",productListFetchSucceeded:"fetch.succeeded",productListFetchFailed:"fetch.failed",productOptionsFetched:"options.fetched",productOptionsNotFetched:"options.not.fetched"},this.after_init()}},Salla.event.profile=new class extends gn{constructor(){super(),this.namespace="profile",this.events={updated:"updated",updateFailed:"update.failed",verificationCodeSent:"verification.code.sent",updateContactsFailed:"update.contacts.failed",verified:"verified",unverified:"unverified",infoFetched:"info.fetched",infoNotFetched:"info.not.fetched",settingsUpdated:"settings.updated",updateSettingsFailed:"update.settings.failed",deleted:"deleted",notDeleted:"not.deleted"},this.after_init()}},Salla.event.currency=new class extends gn{constructor(){super(),this.namespace="currency",this.events={changed:"changed",failed:"failed",fetched:"fetched",failedToFetch:"failed.to.fetch"},this.after_init()}},Salla.event.document=new class extends gn{constructor(){super(),this.namespace="document",this.events={click:"click",change:"change",submit:"submit",keyup:"keyup",leaving:"leaving",request:"request",requestFailed:"request.failed"},this.after_init()}onClick(e,t){this.fireCallableFuns("click",e,t)}onChange(e,t){this.fireCallableFuns("change",e,t)}onSubmit(e,t){this.fireCallableFuns("submit",e,t)}onKeyup(e,t){this.fireCallableFuns("keyup",e,t)}fireCallableFuns(e,t,r){this.on(e,(e=>{"function"!=typeof t?"function"==typeof r&&e.target.matches(t)&&r(e):t(e)}))}fireEvent(e,t,...r){return this.fireEventForElements(e,t,!1,...r)}fireEventForAll(e,t,...r){return this.fireEventForElements(e,t,!0,...r)}fireEventForElements(e,t,r,...n){if("string"==typeof e){if(r)return document.querySelectorAll(e).forEach((e=>this.fireEventForElements(e,t,!1,...n)));e=document.querySelector(e)}if(!e)return void salla.log("Failed To get element to fire event: "+t);const i=new CustomEvent(t,...n);return e.dispatchEvent(i)}},Salla.event.wishlist=new class extends gn{constructor(){super(),this.namespace="wishlist",this.events={added:"added",removed:"removed",additionFailed:"addition.failed",removingFailed:"removing.failed"},this.after_init()}},Salla.event.infiniteScroll=new class extends gn{constructor(){super(),this.namespace="infiniteScroll",this.events={scrollThreshold:"scroll.threshold",request:"request",load:"load",append:"append",error:"error",last:"last",history:"history"},this.after_init()}},Salla.event.notifications=new class extends gn{constructor(){super(),this.namespace="notifications",this.events={fetched:"fetched",fetchFailed:"fetch.failed"},this.after_init()}},Salla.event.component=new class extends gn{constructor(){super(),this.namespace="component",this.events={menuFetched:"menus.fetched",menuFetchFailed:"menus.fetch.failed",reviewsFetched:"reviews.fetched",reviewsFetchFailed:"reviews.fetch.failed"},this.after_init()}},Salla.event.advertisement=new class extends gn{constructor(){super(),this.namespace="advertisement",this.events={fetched:"advertisement.fetched",fetchFailed:"advertisement.not.fetched"},this.after_init()}},Salla.event.navigation=new class extends gn{constructor(){super(),this.namespace="navigation",this.events={breadcrumbFetched:"breadcrumb.fetched",breadcrumbFetchFailed:"breadcrumb.fetch.failed"},this.after_init()}},Salla.event.metadata=new class extends gn{constructor(){super(),this.namespace="metadata",this.events={valueFetched:"value.fetched",valueNotFetch:"value.not.fetched"},this.after_init()}},Salla.event.on("twilight::initiated",(()=>{Object.keys(Salla).forEach((e=>{"object"==typeof(e=Salla[e])&&(mn(e),Object.keys(e).forEach((t=>{mn(e[t])})))}))})),Salla.config.default_properties={debug:"undefined"!=typeof process&&"development"===process.env.NODE_ENV,token:null,fastRequests:!0,canLeave:!0,store:{api:["group","test"].includes(window.location.hostname.split(".").pop())?window.location.origin+"/api/v1/":"https://api.salla.dev/store/v1/"},currencies:{SAR:{code:"SAR",name:"ريال سعودي",symbol:"ر.س",amount:1,country_code:"sa"}}},Salla.config.merge(Salla.config.default_properties),Salla.config.triedToGetCurrencies_=!1,Salla.config.triedToGetLanguages_=!1,Salla.config.isUser=()=>"user"===Salla.config.get("user.type"),Salla.config.isGuest=()=>!Salla.config.isUser(),Salla.config.languages=async()=>{if(Salla.config.triedToGetLanguages_)return Salla.config.get("languages");Salla.config.triedToGetLanguages_=!0;let e=!0,t=[];return(await salla.document.api.request("languages",null,"get"))?.data?.map((r=>{e&&(t=[],e=!1),r.code=r.code||r.iso_code,r.url=salla.url.get(r.code),r.is_rtl=r.is_rtl||r.rtl,t.push(r)})),Salla.config.set("languages",t),t},Salla.config.currencies=async()=>{if(Salla.config.triedToGetCurrencies_)return Salla.config.get("currencies");Salla.config.triedToGetCurrencies_=!0;let e=!0,t={};return(await salla.currency.api.list())?.data?.map((r=>{e&&(t={},e=!1),r.country_code=r.code.substr(0,2).toLowerCase(),t[r.code]=r})),Salla.config.set("currencies",t),t};var vn,yn={exports:{}},bn={exports:{}},wn=l(i),_n=l(o);function Sn(){return vn||(vn=1,function(e){!function(t,r){e.exports?e.exports=r(t,wn,_n):t.InfiniteScroll=r(t,t.EvEmitter,t.fizzyUIUtils)}(window,(function(e,t,r){let n=e.jQuery,i={};function o(e,t){let a=r.getQueryElement(e);if(a){if((e=a).infiniteScrollGUID){let r=i[e.infiniteScrollGUID];return r.option(t),r}this.element=e,this.options={...o.defaults},this.option(t),n&&(this.$element=n(this.element)),this.create()}else console.error("Bad element for InfiniteScroll: "+(a||e))}o.defaults={},o.create={},o.destroy={};let a=o.prototype;Object.assign(a,t.prototype);let s=0;a.create=function(){let e=this.guid=++s;if(this.element.infiniteScrollGUID=e,i[e]=this,this.pageIndex=1,this.loadCount=0,this.updateGetPath(),this.getPath&&this.getPath()){this.updateGetAbsolutePath(),this.log("initialized",[this.element.className]),this.callOnInit();for(let e in o.create)o.create[e].call(this)}else console.error("Disabling InfiniteScroll")},a.option=function(e){Object.assign(this.options,e)},a.callOnInit=function(){let e=this.options.onInit;e&&e.call(this,this)},a.dispatchEvent=function(e,t,r){this.log(e,r);let i=t?[t].concat(r):r;if(this.emitEvent(e,i),!n||!this.$element)return;let o=e+=".infiniteScroll";if(t){let r=n.Event(t);r.type=e,o=r}this.$element.trigger(o,r)};let l={initialized:e=>`on ${e}`,request:e=>`URL: ${e}`,load:(e,t)=>`${e.title||""}. URL: ${t}`,error:(e,t)=>`${e}. URL: ${t}`,append:(e,t,r)=>`${r.length} items. URL: ${t}`,last:(e,t)=>`URL: ${t}`,history:(e,t)=>`URL: ${t}`,pageIndex:function(e,t){return`current page determined to be: ${e} from ${t}`}};a.log=function(e,t){if(!this.options.debug)return;let r=`[InfiniteScroll] ${e}`,n=l[e];n&&(r+=". "+n.apply(this,t)),console.log(r)},a.updateMeasurements=function(){this.windowHeight=e.innerHeight;let t=this.element.getBoundingClientRect();this.top=t.top+e.scrollY},a.updateScroller=function(){let t=this.options.elementScroll;if(t){if(this.scroller=!0===t?this.element:r.getQueryElement(t),!this.scroller)throw new Error(`Unable to find elementScroll: ${t}`)}else this.scroller=e},a.updateGetPath=function(){let e=this.options.path;if(!e)return void console.error(`InfiniteScroll path option required. Set as: ${e}`);let t=typeof e;"function"!=t?"string"==t&&e.match("{{#}}")?this.updateGetPathTemplate(e):this.updateGetPathSelector(e):this.getPath=e},a.updateGetPathTemplate=function(e){this.getPath=()=>{let t=this.pageIndex+1;return e.replace("{{#}}",t)};let t=e.replace(/(\\\?|\?)/,"\\?").replace("{{#}}","(\\d\\d?\\d?)"),r=new RegExp(t),n=location.href.match(r);n&&(this.pageIndex=parseInt(n[1],10),this.log("pageIndex",[this.pageIndex,"template string"]))};let c=[/^(.*?\/?page\/?)(\d\d?\d?)(.*?$)/,/^(.*?\/?\?page=)(\d\d?\d?)(.*?$)/,/(.*?)(\d\d?\d?)(?!.*\d)(.*?$)/],u=o.getPathParts=function(e){if(e)for(let t of c){let r=e.match(t);if(r){let[,e,t,n]=r;return{begin:e,index:t,end:n}}}};a.updateGetPathSelector=function(e){let t=document.querySelector(e);if(!t)return void console.error(`Bad InfiniteScroll path option. Next link not found: ${e}`);let r=t.getAttribute("href"),n=u(r);if(!n)return void console.error(`InfiniteScroll unable to parse next link href: ${r}`);let{begin:i,index:o,end:a}=n;this.isPathSelector=!0,this.getPath=()=>i+(this.pageIndex+1)+a,this.pageIndex=parseInt(o,10)-1,this.log("pageIndex",[this.pageIndex,"next link"])},a.updateGetAbsolutePath=function(){let e=this.getPath();if(e.match(/^http/)||e.match(/^\//))return void(this.getAbsolutePath=this.getPath);let{pathname:t}=location,r=e.match(/^\?/),n=t.substring(0,t.lastIndexOf("/")),i=r?t:n+"/";this.getAbsolutePath=()=>i+this.getPath()},o.create.hideNav=function(){let e=r.getQueryElement(this.options.hideNav);e&&(e.style.display="none",this.nav=e)},o.destroy.hideNav=function(){this.nav&&(this.nav.style.display="")},a.destroy=function(){this.allOff();for(let e in o.destroy)o.destroy[e].call(this);delete this.element.infiniteScrollGUID,delete i[this.guid],n&&this.$element&&n.removeData(this.element,"infiniteScroll")},o.throttle=function(e,t){let r,n;return t=t||200,function(){let i=+new Date,o=arguments,a=()=>{r=i,e.apply(this,o)};r&&i<r+t?(clearTimeout(n),n=setTimeout(a,t)):a()}},o.data=function(e){let t=(e=r.getQueryElement(e))&&e.infiniteScrollGUID;return t&&i[t]},o.setJQuery=function(e){n=e},r.htmlInit(o,"infinite-scroll"),a._init=function(){};let{jQueryBridget:d}=e;return n&&d&&d("infiniteScroll",o,n),o}))}(bn)),bn.exports}bn.exports;var En,kn={exports:{}};function xn(){return En||(En=1,function(e){!function(t,r){e.exports?e.exports=r(t,Sn()):r(t,t.InfiniteScroll)}(window,(function(e,t){let r=t.prototype;Object.assign(t.defaults,{loadOnScroll:!0,checkLastPage:!0,responseBody:"text",domParseResponse:!0}),t.create.pageLoad=function(){this.canLoad=!0,this.on("scrollThreshold",this.onScrollThresholdLoad),this.on("load",this.checkLastPage),this.options.outlayer&&this.on("append",this.onAppendOutlayer)},r.onScrollThresholdLoad=function(){this.options.loadOnScroll&&this.loadNextPage()};let n=new DOMParser;function i(e){let t=document.createDocumentFragment();return e&&t.append(...e),t}return r.loadNextPage=function(){if(this.isLoading||!this.canLoad)return;let{responseBody:e,domParseResponse:t,fetchOptions:r}=this.options,i=this.getAbsolutePath();this.isLoading=!0,"function"==typeof r&&(r=r());let o=fetch(i,r).then((r=>{if(!r.ok){let e=new Error(r.statusText);return this.onPageError(e,i,r),{response:r}}return r[e]().then((o=>("text"==e&&t&&(o=n.parseFromString(o,"text/html")),204==r.status?(this.lastPageReached(o,i),{body:o,response:r}):this.onPageLoad(o,i,r))))})).catch((e=>{this.onPageError(e,i)}));return this.dispatchEvent("request",null,[i,o]),o},r.onPageLoad=function(e,t,r){return this.options.append||(this.isLoading=!1),this.pageIndex++,this.loadCount++,this.dispatchEvent("load",null,[e,t,r]),this.appendNextPage(e,t,r)},r.appendNextPage=function(e,t,r){let{append:n,responseBody:o,domParseResponse:a}=this.options;if(!("text"==o&&a)||!n)return{body:e,response:r};let s=e.querySelectorAll(n),l={body:e,response:r,items:s};if(!s||!s.length)return this.lastPageReached(e,t),l;let c=i(s),u=()=>(this.appendItems(s,c),this.isLoading=!1,this.dispatchEvent("append",null,[e,t,s,r]),l);return this.options.outlayer?this.appendOutlayerItems(c,u):u()},r.appendItems=function(e,t){e&&e.length&&(function(e){let t=e.querySelectorAll("script");for(let e of t){let t=document.createElement("script"),r=e.attributes;for(let e of r)t.setAttribute(e.name,e.value);t.innerHTML=e.innerHTML,e.parentNode.replaceChild(t,e)}}(t=t||i(e)),this.element.appendChild(t))},r.appendOutlayerItems=function(r,n){let i=t.imagesLoaded||e.imagesLoaded;return i?new Promise((function(e){i(r,(function(){let t=n();e(t)}))})):(console.error("[InfiniteScroll] imagesLoaded required for outlayer option"),void(this.isLoading=!1))},r.onAppendOutlayer=function(e,t,r){this.options.outlayer.appended(r)},r.checkLastPage=function(e,t){let r,{checkLastPage:n,path:i}=this.options;if(n){if("function"==typeof i){if(!this.getPath())return void this.lastPageReached(e,t)}"string"==typeof n?r=n:this.isPathSelector&&(r=i),r&&e.querySelector&&(e.querySelector(r)||this.lastPageReached(e,t))}},r.lastPageReached=function(e,t){this.canLoad=!1,this.dispatchEvent("last",null,[e,t])},r.onPageError=function(e,t,r){return this.isLoading=!1,this.canLoad=!1,this.dispatchEvent("error",null,[e,t,r]),e},t.create.prefill=function(){if(!this.options.prefill)return;let e=this.options.append;e?(this.updateMeasurements(),this.updateScroller(),this.isPrefilling=!0,this.on("append",this.prefill),this.once("error",this.stopPrefill),this.once("last",this.stopPrefill),this.prefill()):console.error(`append option required for prefill. Set as :${e}`)},r.prefill=function(){let e=this.getPrefillDistance();this.isPrefilling=e>=0,this.isPrefilling?(this.log("prefill"),this.loadNextPage()):this.stopPrefill()},r.getPrefillDistance=function(){return this.options.elementScroll?this.scroller.clientHeight-this.scroller.scrollHeight:this.windowHeight-this.element.clientHeight},r.stopPrefill=function(){this.log("stopPrefill"),this.off("append",this.prefill)},t}))}(kn)),kn.exports}var Pn,An={exports:{}};function In(){return Pn||(Pn=1,function(e){!function(t,r){e.exports?e.exports=r(t,Sn(),_n):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){let n=t.prototype;return Object.assign(t.defaults,{scrollThreshold:400}),t.create.scrollWatch=function(){this.pageScrollHandler=this.onPageScroll.bind(this),this.resizeHandler=this.onResize.bind(this);let e=this.options.scrollThreshold;(e||0===e)&&this.enableScrollWatch()},t.destroy.scrollWatch=function(){this.disableScrollWatch()},n.enableScrollWatch=function(){this.isScrollWatching||(this.isScrollWatching=!0,this.updateMeasurements(),this.updateScroller(),this.on("last",this.disableScrollWatch),this.bindScrollWatchEvents(!0))},n.disableScrollWatch=function(){this.isScrollWatching&&(this.bindScrollWatchEvents(!1),delete this.isScrollWatching)},n.bindScrollWatchEvents=function(t){let r=t?"addEventListener":"removeEventListener";this.scroller[r]("scroll",this.pageScrollHandler),e[r]("resize",this.resizeHandler)},n.onPageScroll=t.throttle((function(){this.getBottomDistance()<=this.options.scrollThreshold&&this.dispatchEvent("scrollThreshold")})),n.getBottomDistance=function(){let t,r;return this.options.elementScroll?(t=this.scroller.scrollHeight,r=this.scroller.scrollTop+this.scroller.clientHeight):(t=this.top+this.element.clientHeight,r=e.scrollY+this.windowHeight),t-r},n.onResize=function(){this.updateMeasurements()},r.debounceMethod(t,"onResize",150),t}))}(An)),An.exports}var jn,On={exports:{}};function Tn(){return jn||(jn=1,function(e){!function(t,r){e.exports?e.exports=r(t,Sn(),_n):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){let n=t.prototype;Object.assign(t.defaults,{history:"replace"});let i=document.createElement("a");return t.create.history=function(){if(!this.options.history)return;i.href=this.getAbsolutePath(),(i.origin||i.protocol+"//"+i.host)==location.origin?this.options.append?this.createHistoryAppend():this.createHistoryPageLoad():console.error(`[InfiniteScroll] cannot set history with different origin: ${i.origin} on ${location.origin} . History behavior disabled.`)},n.createHistoryAppend=function(){this.updateMeasurements(),this.updateScroller(),this.scrollPages=[{top:0,path:location.href,title:document.title}],this.scrollPage=this.scrollPages[0],this.scrollHistoryHandler=this.onScrollHistory.bind(this),this.unloadHandler=this.onUnload.bind(this),this.scroller.addEventListener("scroll",this.scrollHistoryHandler),this.on("append",this.onAppendHistory),this.bindHistoryAppendEvents(!0)},n.bindHistoryAppendEvents=function(t){let r=t?"addEventListener":"removeEventListener";this.scroller[r]("scroll",this.scrollHistoryHandler),e[r]("unload",this.unloadHandler)},n.createHistoryPageLoad=function(){this.on("load",this.onPageLoadHistory)},t.destroy.history=n.destroyHistory=function(){this.options.history&&this.options.append&&this.bindHistoryAppendEvents(!1)},n.onAppendHistory=function(e,t,r){if(!r||!r.length)return;let n=r[0],o=this.getElementScrollY(n);i.href=t,this.scrollPages.push({top:o,path:i.href,title:e.title})},n.getElementScrollY=function(t){if(this.options.elementScroll)return t.offsetTop-this.top;return t.getBoundingClientRect().top+e.scrollY},n.onScrollHistory=function(){let e=this.getClosestScrollPage();e!=this.scrollPage&&(this.scrollPage=e,this.setHistory(e.title,e.path))},r.debounceMethod(t,"onScrollHistory",150),n.getClosestScrollPage=function(){let t,r;t=this.options.elementScroll?this.scroller.scrollTop+this.scroller.clientHeight/2:e.scrollY+this.windowHeight/2;for(let e of this.scrollPages){if(e.top>=t)break;r=e}return r},n.setHistory=function(e,t){let r=this.options.history;r&&history[r+"State"]&&(history[r+"State"](null,e,t),this.options.historyTitle&&(document.title=e),this.dispatchEvent("history",null,[e,t]))},n.onUnload=function(){if(0===this.scrollPage.top)return;let t=e.scrollY-this.scrollPage.top+this.top;this.destroyHistory(),scrollTo(0,t)},n.onPageLoadHistory=function(e,t){this.setHistory(e.title,t)},t}))}(On)),On.exports}var Cn,Fn={exports:{}};function Rn(){return Cn||(Cn=1,function(e){!function(t,r){e.exports?e.exports=r(t,Sn(),_n):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){class n{constructor(e,t){this.element=e,this.infScroll=t,this.clickHandler=this.onClick.bind(this),this.element.addEventListener("click",this.clickHandler),t.on("request",this.disable.bind(this)),t.on("load",this.enable.bind(this)),t.on("error",this.hide.bind(this)),t.on("last",this.hide.bind(this))}onClick(e){e.preventDefault(),this.infScroll.loadNextPage()}enable(){this.element.removeAttribute("disabled")}disable(){this.element.disabled="disabled"}hide(){this.element.style.display="none"}destroy(){this.element.removeEventListener("click",this.clickHandler)}}return t.create.button=function(){let e=r.getQueryElement(this.options.button);e&&(this.button=new n(e,this))},t.destroy.button=function(){this.button&&this.button.destroy()},t.Button=n,t}))}(Fn)),Fn.exports}var Ln,Nn={exports:{}};function Un(){return Ln||(Ln=1,function(e){!function(t,r){e.exports?e.exports=r(t,Sn(),_n):r(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(e,t,r){let n=t.prototype;function i(e){a(e,"none")}function o(e){a(e,"block")}function a(e,t){e&&(e.style.display=t)}return t.create.status=function(){let e=r.getQueryElement(this.options.status);e&&(this.statusElement=e,this.statusEventElements={request:e.querySelector(".infinite-scroll-request"),error:e.querySelector(".infinite-scroll-error"),last:e.querySelector(".infinite-scroll-last")},this.on("request",this.showRequestStatus),this.on("error",this.showErrorStatus),this.on("last",this.showLastStatus),this.bindHideStatus("on"))},n.bindHideStatus=function(e){let t=this.options.append?"append":"load";this[e](t,this.hideAllStatus)},n.showRequestStatus=function(){this.showStatus("request")},n.showErrorStatus=function(){this.showStatus("error")},n.showLastStatus=function(){this.showStatus("last"),this.bindHideStatus("off")},n.showStatus=function(e){o(this.statusElement),this.hideStatusEventElements(),o(this.statusEventElements[e])},n.hideAllStatus=function(){i(this.statusElement),this.hideStatusEventElements()},n.hideStatusEventElements=function(){for(let e in this.statusEventElements){i(this.statusEventElements[e])}},t}))}(Nn)),Nn.exports}
2
2
  /*!
3
3
  * Infinite Scroll v4.0.1
4
4
  * Automatically add next page
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * https://infinite-scroll.com
10
10
  * Copyright 2018-2020 Metafizzy
11
- */!function(e){window,e.exports&&(e.exports=function(e){return e}(ae(),le(),de(),fe(),ve(),we()))}(te);var Se=te.exports;var _e={exports:{}};
11
+ */!function(e){window,e.exports&&(e.exports=function(e){return e}(Sn(),xn(),In(),Tn(),Rn(),Un()))}(yn);var zn=yn.exports;var qn={exports:{}};
12
12
  /*!
13
13
  * Lang.js for Laravel localization in JavaScript.
14
14
  *
@@ -16,5 +16,5 @@
16
16
  * @license MIT https://github.com/rmariuzzo/Lang.js/blob/master/LICENSE
17
17
  * @site https://github.com/rmariuzzo/Lang.js
18
18
  * @author Rubens Mariuzzo <rubens@mariuzzo.com>
19
- */!function(e,t){e.exports=function(){function e(){if("undefined"!=typeof document&&document.documentElement)return document.documentElement.lang}function t(e){return"-Inf"===e?-1/0:"+Inf"===e||"Inf"===e||"*"===e?1/0:parseInt(e,10)}var r=/^({\s*(\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*)\s*})|([\[\]])\s*(-Inf|\*|\-?\d+(\.\d+)?)\s*,\s*(\+?Inf|\*|\-?\d+(\.\d+)?)\s*([\[\]])$/,n=/({\s*(\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*)\s*})|([\[\]])\s*(-Inf|\*|\-?\d+(\.\d+)?)\s*,\s*(\+?Inf|\*|\-?\d+(\.\d+)?)\s*([\[\]])/,i={locale:"en"},a=function(t){t=t||{},this.locale=t.locale||e()||i.locale,this.fallback=t.fallback,this.messages=t.messages};return a.prototype.setMessages=function(e){this.messages=e},a.prototype.getLocale=function(){return this.locale||this.fallback},a.prototype.setLocale=function(e){this.locale=e},a.prototype.getFallback=function(){return this.fallback},a.prototype.setFallback=function(e){this.fallback=e},a.prototype.has=function(e,t){return!("string"!=typeof e||!this.messages)&&null!==this._getMessage(e,t)},a.prototype.get=function(e,t,r){if(!this.has(e,r))return e;var n=this._getMessage(e,r);return null===n?e:(t&&(n=this._applyReplacements(n,t)),n)},a.prototype.trans=function(e,t){return this.get(e,t)},a.prototype.choice=function(e,t,r,i){(r=void 0!==r?r:{}).count=t;var a=this.get(e,r,i);if(null==a)return a;for(var o=a.split("|"),s=[],l=0;l<o.length;l++)if(o[l]=o[l].trim(),n.test(o[l])){var c=o[l].split(/\s/);s.push(c.shift()),o[l]=c.join(" ")}if(1===o.length)return a;for(var u=0;u<s.length;u++)if(this._testInterval(t,s[u]))return o[u];return i=i||this._getLocale(e),o[this._getPluralForm(t,i)]},a.prototype.transChoice=function(e,t,r){return this.choice(e,t,r)},a.prototype._parseKey=function(e,t){if("string"!=typeof e||"string"!=typeof t)return null;var r=e.split("."),n=r[0].replace(/\//g,".");return{source:t+"."+n,sourceFallback:this.getFallback()+"."+n,entries:r.slice(1)}},a.prototype._getMessage=function(e,t){if(t=t||this.getLocale(),e=this._parseKey(e,t),void 0===this.messages[e.source]&&void 0===this.messages[e.sourceFallback])return null;var r=this.messages[e.source],n=e.entries.slice(),i=n.join(".");if("string"!=typeof(r=void 0!==r?this._getValueInKey(r,i):void 0)&&this.messages[e.sourceFallback])for(r=this.messages[e.sourceFallback],n=e.entries.slice(),i="";n.length&&void 0!==r;)r[i=i?i.concat(".",n.shift()):n.shift()]&&(r=r[i],i="");return"string"!=typeof r?null:r},a.prototype._getValueInKey=function(e,t){if("string"==typeof e[t])return e[t];for(var r=(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),n=0,i=r.length;n<i;++n){var a=r.slice(0,n+1).join("."),o=r.slice(n+1,r.length).join(".");if(e[a])return this._getValueInKey(e[a],o)}return e},a.prototype._getLocale=function(e){return e=this._parseKey(e,this.locale),this.messages[e.source]?this.locale:this.messages[e.sourceFallback]?this.fallback:null},a.prototype._findMessageInTree=function(e,t){for(;e.length&&void 0!==t;){var r=e.join(".");if(t[r]){t=t[r];break}t=t[e.shift()]}return t},a.prototype._sortReplacementKeys=function(e,t){return t.length-e.length},a.prototype._applyReplacements=function(e,t){return Object.keys(t).sort(this._sortReplacementKeys).forEach((function(r){e=e.replace(new RegExp(":"+r,"gi"),(function(e){var n=t[r];return e===e.toUpperCase()?n.toUpperCase():e===e.replace(/\w/i,(function(e){return e.toUpperCase()}))?n.charAt(0).toUpperCase()+n.slice(1):n}))})),e},a.prototype._testInterval=function(e,n){if("string"!=typeof n)throw"Invalid interval: should be a string.";var i=(n=n.trim()).match(r);if(!i)throw"Invalid interval: "+n;if(!i[2]){var a=(i=i.filter((function(e){return!!e})))[1],o=t(i[2]);o===1/0&&(o=-1/0);var s=t(i[3]),l=i[4];return("["===a?e>=o:e>o)&&("]"===l?e<=s:e<s)}for(var c=i[2].split(","),u=0;u<c.length;u++)if(parseInt(c[u],10)===e)return!0;return!1},a.prototype._getPluralForm=function(e,t){switch(t){case"az":case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":default:return 0;case"af":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return 1==e?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"hy":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return 0===e||1===e?0:1;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2;case"cs":case"sk":return 1==e?0:e>=2&&e<=4?1:2;case"ga":return 1==e?0:2==e?1:2;case"lt":return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2;case"sl":return e%100==1?0:e%100==2?1:e%100==3||e%100==4?2:3;case"mk":return e%10==1?0:1;case"mt":return 1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3;case"lv":return 0===e?0:e%10==1&&e%100!=11?1:2;case"pl":return 1==e?0:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:2;case"cy":return 1==e?0:2==e?1:8==e||11==e?2:3;case"ro":return 1==e?0:0===e||e%100>0&&e%100<20?1:2;case"ar":return 0===e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11&&e%100<=99?4:5}},a}()}(_e);var Ee=_e.exports;class ke{constructor(){this.endpoints={},this.webEndpoints=[],this.namespace="BaseApi",this.endpointsMethods={},this.endpointsHeaders={};let e=/function (.{1,})\(/.exec(this.constructor.toString());this.className=(e&&e.length>1?e[1]:"").toLowerCase(),this.debounce={request:void 0,time:300,enabled:!0,exclude:[]}}after_init(){}normalRequest(e,t=void 0,r=null){let n=Array.isArray(e),i=n?this.getUrl(...e):this.getUrl(e);e=n?e[0]:e,r=r||this.endpointsMethods[e]||"post";let a=this.endpointsHeaders[e];if("get"===r&&t instanceof FormData){let e={};Array.from(t.entries()).forEach((function(t){e[t[0]]=t[1]})),t={params:e}}return a&&"get"===r&&(t=t?Object.assign(t,a):a),this.webEndpoints.includes(e)?i=salla.url.get(i):"http"!==i.substring(0,4)&&(i=salla.url.api(i)),Salla.api.request(i,t,r,{headers:a})}request(e,t=void 0,r=null){return!salla.api.isFastRequestsAllowed()&&this.debounce.enabled?(this.debounce.request||(this.debounce.request=salla.helpers.debounce(this.normalRequest.bind(this),this.debounce.time)),this.debounce.request(e,t,r)):this.normalRequest(e,t,r)}getUrl(e){let t=this.endpoints[e]||e;const r=/{[^{}]+}/i;for(let e=1;e<arguments.length;e++)t=t.replace(r,arguments[e]);return t}event(){return salla.event[this.className]}}class xe extends ke{constructor(){super(),this.addToCartTries=0,this.namespace="cart",this.endpoints={latest:"cart/latest",latestApi:"cart/latest",details:"cart/{cart}",quickAdd:"cart/{cart}/item/{product}/quick-add",addItem:"cart/{cart}/item/{product}/add",deleteItem:"cart/{cart}/item/{item}",updateItem:"cart/{cart}/item/{item}",deleteImage:"cart/{cart}/image/{image}",uploadImage:"cart/{cart}/image",status:"cart/{cart}/status",addCoupon:"cart/{id}/coupon",deleteCoupon:"cart/{id}/coupon",getQuickOrderSettings:"checkout/quick-order",createQuickOrder:"checkout/quick-order",priceQuote:"cart/{cartId}/price-quote",offers:"offers/cart/{cartId}",giftCartDetails:"cart/{cartId}/buy-as-gift",cartGiftToCart:"cart/{cart_id}/buy-as-gift"},this.endpointsMethods={latest:"get",details:"get",status:"get",updateItem:"post",deleteItem:"delete",deleteImage:"delete",deleteCoupon:"put",getQuickOrderSettings:"get",offers:"get",giftCartDetails:"get"},this.webEndpoints=["latest"],this.latestCart=null,this.after_init(),salla.event.on("api::initiated",(()=>salla.api.cart.getCurrentCartId(!1,"api::initiated"))),salla.event.on("auth::token.fetched",this._checkCurrentCart),salla.event.on("auth::token.invalid",this._checkCurrentCart),salla.event.on("auth::verified",(()=>salla.api.cart.getCurrentCartId(!0,"auth::verified")),{async:!0}),salla.event.on("twilight::initiated",(()=>salla.api.cart.syncGuestCart())),salla.event.on("profile::info.fetched",this._checkCurrentCart),salla.event.on("twilight::error",(e=>(e.includes("Cart not available")||e.includes("السلة غير متاحة"))&&salla.cart.api.reset()))}_checkCurrentCart(){let e=salla.storage.get("cart"),t=salla.config.get("user")?.id,r=salla.config.get("store")?.id;e&&e.id&&(e.user_id===t&&e.store_id===r||(salla.log("cart",{user_id:e.user_id,store_id:e.store_id}),salla.log("current",{user_id:t,store_id:r}),salla.log("Api:: case2 => The cart is not belong to current "+(e.user_id!==t?"user":"store")+"!"),salla.cart.api.reset()),salla.url.is_page("cart")&&e.id!==salla.config.get("page.id")&&(salla.log("cart",{user_id:e.user_id,store_id:e.store_id}),salla.log("current",{user_id:t,store_id:r}),salla.log(`Api:: case2 => The cart is different between storage:${e.id} & session:${salla.config.get("page.id")} !`),salla.cart.api.reset()))}async getCurrentCartId(e=!1,t="getCurrentCartId"){if(!e){if(salla.cart.api.latestCart)return salla.cart.api.latestCart.cart.id;let e=salla.storage.get("cart.id");if(e)return e}let r=await salla.cart.api.latest(t);return salla.cart.api.latestCart=r.data,salla.cart.api.latestCart.cart.id}getUploadImageEndpoint(e){return salla.url.api(this.getUrl("uploadImage",e||salla.storage.get("cart.id")))}latest(e="direct"){return this.request(salla.auth.api.isSessionless()?"latestApi":"latest",{params:{source:"",callerName:e}}).then((e=>(salla.api.cart.set(e.data.cart),salla.event.cart.latestFetched(e),e))).catch((e=>{throw salla.api.cart.reset(),salla.event.cart.latestFailed(e),e}))}async details(e,t=[]){return e=e||await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.details"),this.request(["details",e],{params:{with:t}}).then((function(e){return salla.cart.event.detailsFetched(e),e})).catch((function(e){throw salla.cart.event.detailsNotFetched(e),e}))}async quickAdd(e,t,r){return this.addItem({id:e,quantity:t,offerType:r,endpoint:"quickAdd"})}async addItem(e){let t=this.getCartPayload(e);if(!t.id){let e='There is no product "id"!';return salla.cart.event.itemAddedFailed(e),salla.api.errorPromise(e)}let r=salla.form.getPossibleValue(t.payload,["endpoint"]);r&&["addItem","quickAdd"].includes(r)||(r=salla.form.getPossibleValue(t.payload,["quantity","donating_amount"])?"addItem":"quickAdd");let n=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.addItem");return this.request([r,n,t.id],t.payload).then((function(e){return salla.cart.api.addToCartTries=0,salla.cart.event.itemAdded(e,t.id),e})).catch((function(r){if(!salla.cart.api.addToCartTries)return salla.cart.api.addToCartTries++,salla.cart.reset(),salla.cart.api.addItem(e);throw salla.cart.event.itemAddedFailed(r,t.id),r}))}async deleteItem(e){let t=this.getCartPayload(e);if(!t.id){let e='There is no "id"!';return salla.cart.event.itemDeletedFailed(e),salla.api.errorPromise(e)}let r=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.deleteItem");return this.request(["deleteItem",r,t.id]).then((function(e){return salla.cart.event.itemDeleted(e,t.id),e})).catch((function(e){throw salla.cart.event.itemDeletedFailed(e,t.id),e}))}async updateItem(e){let t=this.getCartPayload(e);if(!t.id){let e='There is no "id"!';return salla.cart.event.itemUpdatedFailed(e),salla.api.errorPromise(e)}let r=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.updateItem");return"Object"===t.payload.constructor?.name?t.payload._method="PUT":t.payload.append("_method","PUT"),this.request(["updateItem",r,t.id],t.payload).then((function(e){return salla.cart.event.itemUpdated(e,t.id),e})).catch((function(e){throw salla.cart.event.itemUpdatedFailed(e,t.id),e}))}async deleteImage(e){if(!(e=salla.form.getPossibleValue(e,["id","image_id","photo_id"]))){let e='There is no "id"!';return salla.cart.event.imageNotDeleted(e),salla.api.errorPromise(e)}let t=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.deleteImage");return this.request(["deleteImage",t,e]).then((function(t){return salla.cart.event.imageDeleted(t,e),t})).catch((function(t){throw salla.cart.event.imageNotDeleted(t,e),t}))}async status(e){e=e||await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.status");const t=salla.helpers.hasApplePay();try{await salla.cart.event.submitting()}catch(e){salla.log("Error on: salla.cart.event.submitting()")}return this.request(["status",e],{params:{has_apple_pay:t}})}async submit(){if(salla.config.isGuest())return salla.log("it looks that the current user is not logged-in, lets login then submit"),salla.cart.loginOnCartPage();this.status(await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.submit")).then((e=>{let t=e.data.next_step?.to;if(t||(window.history.pushState({},"",salla.url.addParamToUrl("reload","empty_next_step")),window.history.pushState({},"",salla.url.addParamToUrl("acitve",!1===e.data.active?"false":"true_or_undfined")),salla.cart.reset(),window.location.reload()),!["checkout","refresh","login"].includes(t)){let e="Can't find next_step );";throw salla.cart.reset(),salla.cart.event.submitFailed(e),e}return salla.cart.event.submitted(e),"login"===t?salla.cart.loginOnCartPage():"checkout"===t?window.location.href=e.data.next_step.url+(salla.helpers.hasApplePay()?"?has_apple_pay=true":""):(window.history.pushState({},"",salla.url.addParamToUrl("reload","refresh")),void window.location.reload())})).catch((function(e){salla.cart.api.tries=salla.cart.api.tries||0,salla.cart.reset();let t=404===e?.response?.data?.status;if(t&&0===salla.cart.api.tries)return salla.cart.api.tries++,salla.log("we recived that the current cart is not found, we will try to re-submit one more time"),salla.cart.submit();throw t&&salla.error(salla.lang.get("pages.checkout.try_again")),salla.cart.event.submitFailed(e),e}))}getCartPayload(e){let t=e?.data||("object"==typeof e?e:void 0);return e=t?salla.form.getPossibleValue(t,["prod_id","product_id","item_id","id"]):e,t="object"==typeof t?t:void 0,{id:e,payload:t}}normalRequest(e,t=void 0,r=null){return super.normalRequest(e,t,r).catch((async e=>{throw 403===e?.response?.status&&(this.reset(),salla.error(salla.lang.get("pages.checkout.try_again"))),e}))}reset(){salla.api.cart.latestCart=null,salla.storage.remove("cart"),salla.cookie.clearCookieByPrefix(salla.api.cart.getCartCookiePrefix()),salla.cart.event.successReset()}async addCoupon(e){if(e=e.data||e,!(e=salla.form.getPossibleValue(e,["coupon"]))){let e=new Error('There is no "Coupon Code"!');return e.name="EmptyCoupon",salla.event.cart.couponAdditionFailed(e),salla.api.errorPromise(e)}let t=await salla.cart.api.getCurrentCartId(!1,"salla.api.cart.addCoupon");return this.request(["addCoupon",t],{coupon:e}).then((function(e){return salla.event.cart.couponAdded(e,t),e})).catch((function(e){throw salla.event.cart.couponAdditionFailed(e,t),e}))}async deleteCoupon(){let e=await salla.cart.api.getCurrentCartId(!1,"salla.api.cart.deleteCoupon");return this.request(["deleteCoupon",e],{}).then((function(t){return salla.event.cart.couponDeleted(t,e),t})).catch((function(t){throw salla.event.cart.couponDeletionFailed(t,e),t}))}getQuickOrderSettings(){return this.request("getQuickOrderSettings").then((e=>(salla.event.cart.quickOrderSettingFetched(e),e))).catch((e=>{throw salla.event.cart.quickOrderSettingFailed(e),e}))}createQuickOrder(e){return this.request("createQuickOrder",e).then((e=>(salla.event.cart.quickOrderSucceeded(e),e))).catch((e=>{throw salla.event.cart.quickOrderFailed(e),e}))}async priceQuote(e){return salla.config.isGuest()?(salla.auth.api.setAfterLoginEvent("cart::priceQuote",e),void salla.event.dispatch("login::open")):this.request(["priceQuote",e||await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.priceQuote")]).then((e=>(salla.cart.api.reset(),salla.event.cart.priceQuoteSucceeded(e).then((()=>(setTimeout((()=>window.location.href=salla.url.get("/")),1e3),e)))))).catch((e=>salla.event.cart.priceQuoteFailed(e).then((()=>{throw 404===e.error?.code&&window.location.reload(),e}))))}loginOnCartPage(){salla.auth.setCanRedirect(!1),salla.event.dispatch("login::open",{withoutReload:!0}),salla.auth.event.onLoggedIn((()=>{salla.event.dispatch("login::close"),salla.cart.submit()}))}set(e){salla.storage.set("cart",e),salla.api.cart.syncGuestCart()}async offers(){const e=await salla.cart.api.getCurrentCartId(!1,"salla.api.cart.offers");return this.request(["offers",e]).then((e=>(salla.event.cart.offersFetched(e),e))).catch((e=>{throw salla.event.cart.offersFailed(e),e}))}async getGiftCartDetails(){let e=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.getGiftCartDetails");return this.request(["giftCartDetails",e]).then((t=>(salla.product.event.giftFetched(t,e),t))).catch((t=>{throw salla.product.event.giftFetchFailed(t,e),t}))}async addCartGiftToCart(e,t=!1){let r=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.addCartGiftToCart");return this.request(["cartGiftToCart",r],e).then((e=>(salla.product.event.addGiftToCartSucceeded(e,r),t&&(window.location.href=e.redirect),e))).catch((e=>{throw salla.product.event.addGiftToCartFailed(e,r),e}))}async syncGuestCart(){if(!salla.config.isGuest())return;const e=salla.api.cart.getCartCookiePrefix(),t=salla.cookie.getCookieByPrefix(e),r=salla.storage.get("cart.id");if(!r&&t.length)try{const t=await salla.api.cart.latest(),r=t.data?.cart?.id;r&&salla.api.cart.setCartCookie(e,r)}catch(e){salla.log("Failed to fetch latest cart:",e)}salla.cookie.clearCookieByPrefix(e),r&&(salla.config.set("headers.s-cart-id",r),salla.api.cart.setCartCookie(e,r))}setCartCookie(e,t){salla.cookie.set(`${e}-${t}`,t,1)}getCartCookiePrefix(){return"cart-id-"+salla.config.get("store.id")}}class Pe extends ke{constructor(){super(),this.namespace="loyalty",this.endpoints={getProgram:"loyalty",exchange:"loyalty/exchange",reset:"loyalty/exchange"},this.endpointsMethods={getProgram:"get",reset:"put"},this.after_init()}getProgram(){return this.request("getProgram").then((e=>(salla.loyalty.event.programFetched(e),e))).catch((e=>{throw salla.loyalty.event.programNotFetched(e),e}))}async exchange(e,t=null){if(!(e=salla.form.getPossibleValue(e,["id","loyalty_prize_id","prize_id"]))){let e="Unable to find cart id. Please provide one.";return salla.loyalty.event.exchangeFailed(e),salla.api.errorPromise(e)}if(!(t=t||await salla.cart.getCurrentCartId(!1,"salla.api.loyalty.exchange"))){let e="Unable to find cart id. Please provide one.";return salla.loyalty.event.exchangeFailed(e),salla.api.errorPromise(e)}return this.request("exchange",{loyalty_prize_id:e,cart_id:t}).then((function(t){return salla.loyalty.event.exchangeSucceeded(t,e),t})).catch((function(t){throw salla.loyalty.event.exchangeFailed(t,e),t}))}async reset(e=null){if(!(e=e||await salla.cart.getCurrentCartId(!1,"salla.api.loyalty.reset"))){let e="Unable to find cart id. Please provide one.";return salla.loyalty.event.resetFailed(e),salla.api.errorPromise(e)}return this.request("reset",{cart_id:e}).then((e=>(salla.loyalty.event.resetSucceeded(e),e))).catch((e=>{throw salla.loyalty.event.resetFailed(e),e}))}}class Ie extends ke{constructor(){super(),this.namespace="auth",this.canRedirect_=!0,this.afterLoginEvent={event:null,payload:null},this.endpoints={login:"auth/{type}/send_verification",resend:"auth/resend_verification",verify:"auth/{type}/verify",register:"auth/register",logout:"logout",refresh:"auth/refresh"},this.webEndpoints=["logout","auth/jwt","refresh"],this.endpointsMethods={logout:"get"},this.inIframe=salla.helpers.isIframe(),this.after_init()}setAfterLoginEvent(e,t){salla.api.auth.afterLoginEvent={event:e,payload:t}}setCanRedirect(e){salla.api.auth.canRedirect_=e}canRedirect(){return salla.api.auth.canRedirect_&&!salla.api.auth.afterLoginEvent.event}login(e){e?.data&&(e=e.data);let t=salla.form.getPossibleValue(e,["type"]);if(!["email","mobile"].includes(t)){let e="Login type should be in: [email, mobile]";return salla.auth.event.codeNotSent(e),salla.api.errorPromise(e)}return this.request(["login",t],e).then((function(e){return salla.auth.event.codeSent(e,t),e})).catch((function(e){throw salla.auth.event.codeNotSent(e,t),salla.auth.api.trackBlockedError(e,"login"),e}))}async verify(e,t=!0){let r=salla.form.getPossibleValue(e,["type"]);if(!r){let e="Failed to know what's login type!";return salla.auth.event.verificationFailed(e),salla.api.errorPromise(e)}t=!1!==salla.form.getPossibleValue(e,["supportWebAuth"])&&t,salla.auth.event.next_event&&(e.next_event=salla.auth.event.next_event);let n=await salla.auth.api.request(["verify",r],e);return 200!==n?.status?(salla.auth.event.verificationFailed(n,r),salla.api.errorPromise(n)):salla.auth.api.handlAfterAuthenticatedResponse(n,t)}async handlAfterAuthenticatedResponse(e,t){e.data||(e={data:e});let r="authenticated"===e.data?.case;return r&&salla.auth.event.tokenFetched(e.data.token),t&&!this.inIframe&&!this.isSessionless()&&await salla.auth.api.request("auth/jwt",{callerName:"salla.auth.api.handlAfterAuthenticatedResponse"}),r&&await salla.auth.event.loggedIn(e).then((()=>salla.auth.api.afterUserLogin())),await salla.auth.event.verified(e,e.data.verification.type),salla.api.successPromise(e)}resend(e){let t;return(e=e.data||e).type=e.type||"mobile","mobile"!==e.type||e.phone&&e.country_code?"email"!==e.type||e.email?this.request("resend",e).then((function(t){return salla.auth.event.codeSent(t,e),t})).catch((function(t){throw salla.auth.event.codeNotSent(t,e),salla.auth.api.trackBlockedError(t,"resend"),t})):(salla.auth.event.codeNotSent(t="There is no email!",e),salla.api.errorPromise(t)):(salla.auth.event.codeNotSent(t="There is no phone or country_code!",e),salla.api.errorPromise(t))}register(e){let t;return e.data&&(t=e.element,e=e.data),salla.auth.event.next_event&&(e.next_event=salla.auth.event.next_event),this.request("register",e).then((async e=>(salla.auth.event.registered.call(t,e),"authenticated"===e.data?.case&&(salla.auth.event.tokenFetched(e.data.token),!this.inIframe&&!this.isSessionless()&&await salla.auth.request("auth/jwt",{callerName:"salla.auth.api.register"}),salla.auth.event.loggedIn(e),salla.auth.api.afterUserLogin()),e))).catch((function(e){throw salla.auth.event.registrationFailed.call(t,e),salla.auth.api.trackBlockedError(e,"register"),e}))}handleIframeReadyAction(e,t){e.contentWindow?.postMessage({source:"logout",type:"init",data:{id:salla.config.get("store.id"),lang:"ar",appUrl:t,apiUrl:salla.config.get("store.api").replace(/\/+$/,""),settings:salla.config.all(),storage:{}}},"*")}appendIframeAndLogout(){return new Promise((e=>{let t=salla.config.get("login.url","https://accounts.salla.com");const r=document.createElement("iframe");r.style.display="none",r.src=`${t}/logout`;const n=i=>{if("login"!==i.data.source)return;let a=i.data.type.replace("iframe::","");if(salla.log("iframe::logout-iframe message received",i.data),["logged-out","ready"].includes(a)){if("ready"===a)return this.handleIframeReadyAction(r,t);window.removeEventListener("message",n),r.remove(),e()}};window.addEventListener("message",n),document.body.appendChild(r)}))}logout(e="twilight"){return salla.storage.clearAll(),salla.cookie.clearAll(),e=encodeURI(e),salla.auth.event.loggedOut().then((()=>this.appendIframeAndLogout())).then((()=>{let t=salla.url.get(`logout?from=${e}`);console.log(`Going to ${t}, to do any thing before this action use: salla.auth.even.onLoggedOut(()=>{...})`);try{location.href=t}catch(e){salla.log(e)}})).catch((e=>console.error("Error during logout:",e)))}refresh(){return this.request("refresh").then((function(e){return salla.auth.event.tokenFetched(e.data.token),e})).catch((function(e){throw salla.auth.event.refreshFailed(e),e}))}afterUserLogin(){this.afterLoginEvent.event&&salla.event.emit(this.afterLoginEvent.event,this.afterLoginEvent.payload)}isSessionless(){return"sessionless"===salla.config.get("auth.mode")}trackBlockedError(e,t){blockedByProxy=void 0===e?.response?.headers?.["s-ray"],blockedByProxy&&salla.analytics.track("BlockedByProxy",{class:"auth",function:t,reason:"non-server-request",message:e.message})}}class Ae extends ke{constructor(){super(),this.namespace="order",this.endpoints={cancel:"orders/cancel/{id}",createCartFromOrder:"reorder/{id}",sendInvoice:"orders/send/{id}",fetch:"orders"},this.endpointsMethods={createCartFromOrder:"get",fetch:"get"},this.after_init()}show(e){let t=salla.form.getPossibleValue(e?.data||e,["id","order_id"]);salla.event.dispatch("mobile::order.placed",{order_id:t}),location.href=salla.form.getPossibleValue(e?.data||e,["url"])}cancel(e){return e=e||Salla.config.get("page.id"),this.request(["cancel",e],{params:{has_apple_pay:salla.helpers.hasApplePay()}}).then((function(t){return salla.event.order.canceled(t,e),t})).catch((function(t){throw salla.event.order.notCanceled(t,e),t}))}createCartFromOrder(e){return e=e||salla.config.get("page.id"),this.request(["createCartFromOrder",e]).then((function(t){return salla.cart.reset(),salla.event.order.orderCreated(t,e),window.location.href=t.data.url,t})).catch((function(t){throw salla.event.order.orderCreationFailed(t,e),t}))}sendInvoice(e){let t=salla.form.getPossibleValue(e,["id"])||salla.config.get("page.id");if(!t||isNaN(t)){let e="There is no id!";return salla.order.event.invoiceNotSent(e),salla.api.errorPromise(e)}return this.request(["sendInvoice",t],e).then((e=>(salla.event.order.invoiceSent(e,t),e))).catch((e=>{throw salla.event.order.invoiceNotSent(e,t),e}))}fetch(e){return this.request(["fetch"],{params:e}).then((function(e){return salla.event.order.ordersFetched(e),e})).catch((function(e){throw salla.event.order.ordersNotFetched(e),e}))}}class Oe extends ke{constructor(){super(),this.namespace="product",this.previousQuery="",this.endpoints={getPrice:"products/{id}/price",availabilitySubscribe:"products/{id}/availability-notify",search:"products/search",details:"products/{product_id}/details",categories:"products/categories/{?id}",offers:"products/{product_id}/specialoffer",getSizeGuides:"products/{prod_id}/size-guides",giftProductDetails:"products/{product_id}/buy-as-gift",productGiftToCart:"products/{product_id}/buy-as-gift",giftImage:"products/buy-as-gift/image",buyNow:"products/{product_id}/buy-now",fetch:"products",fetchOptions:"products/options"},this.endpointsMethods={details:"get",giftProductDetails:"get",fetch:"get",offers:"get",fetchOptions:"get"},this.after_init()}getPrice(e){let t=e.data||e,r=salla.form.getPossibleValue(t,["id","prod_id","product_id"]);return this.request(["getPrice",r],"object"==typeof t?t:void 0).then((function(e){return salla.product.event.priceUpdated(e,r),e})).catch((function(e){throw salla.product.event.priceUpdateFailed(e,r),e}))}categories(e){return this.request(["categories",e||""],null,"get").then((function(e){return salla.product.event.categoriesFetched(e),e})).catch((function(e){throw salla.product.event.categoriesFailed(e),e}))}availabilitySubscribe(e){let t=e.data||e;return e=salla.form.getPossibleValue(t,["id","prod_id"]),this.request(["availabilitySubscribe",e],"object"==typeof t?t:void 0).then((function(t){return salla.product.event.availabilitySubscribed(t,e),t})).catch((function(t){throw salla.product.event.availabilitySubscribeFailed(t,e),t}))}search(e){let t=e.data;if(t||(t={params:"string"==typeof e?{query:e}:e}),!(e=t instanceof FormData?t.get("query"):t.query||t.params?.query)){let e='There is no "query"!';return salla.product.event.searchFailed(e),salla.api.errorPromise(e)}if(e===salla.api.product.previousQuery){let e="Query is same as previous one!";return salla.product.event.searchFailed(e),salla.api.product.previousQuery=null,salla.api.errorPromise(e)}return salla.api.product.previousQuery=e,this.request("search",t,"get").then((function(t){return salla.product.event.searchResults(t,e),t})).catch((function(t){throw salla.product.event.searchFailed(t,e),t}))}offers(e){if(!(e=salla.form.getPossibleValue(e?.data|e,["product_id","id"]))){let e='There is no "product_id"!';return salla.product.event.fetchOffersFailed(e),salla.api.errorPromise(e)}return this.request(["offers",e]).then((function(t){return salla.product.event.offersFetched(t,e),t})).catch((function(t){throw salla.product.event.fetchOffersFailed(t,e),t}))}getSizeGuides(e){return this.request(`products/${e}/size-guides`,null,"get").then((t=>(salla.product.event.sizeGuideFetched(t,e),t))).catch((t=>{throw salla.product.event.sizeGuideFetchFailed(t,e),t}))}getGiftProductDetails(e){return this.request(["giftProductDetails",e]).then((t=>(salla.product.event.giftFetched(t,e),t))).catch((t=>{throw salla.product.event.giftFetchFailed(t,e),t}))}getDetails(e,t=[]){if(!Array.isArray(t)){let e="withItems should be array.";return salla.product.event.detailFetchFailed(e),salla.api.errorPromise(e)}if(!e){let e="productId is not passed.";return salla.product.event.detailFetchFailed(e),salla.api.errorPromise(e)}return this.request(["details",e],{params:{with:t}}).then((function(t){return salla.product.event.detailFetched(t,e),t})).catch((function(t){throw salla.product.event.availabilitySubscribeFailed(t,e),t}))}addProductGiftToCart(e,t,r=!1){return this.request(["productGiftToCart",e],t).then((t=>(salla.product.event.addGiftToCartSucceeded(t,e),r&&(window.location.href=t.redirect),t))).catch((t=>{throw salla.product.event.addGiftToCartFailed(t,e),t}))}uploadGiftImage(e){return this.request("giftImage",e).then((e=>(salla.product.event.giftImageUploadSucceeded(e),e))).catch((e=>{throw salla.product.event.giftImageUploadFailed(e),e}))}fetch(e){if(!e.source){const e="Source cannot be empty. Please provide one.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}const t=!e.source_value,r="string"==typeof e.source_value&&"[]"===e.source_value,n=Array.isArray(e.source_value)&&!e.source_value.length;if((t||r||n)&&!["offers","latest","sales","wishlist","top-rated"].includes(e.source)){const e="Source value cannot be empty. Please provide one.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}if(["categories","brands","tags","selected"].includes(e.source)&&!Array.isArray(e.source_value)){const e="SourceValue type error. Expected an array.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}if("search"===e.source&&"string"!=typeof e.source_value){const e="SourceValue type error. Expected a string.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}if("related"===e.source&&isNaN(e.source_value)){const e="SourceValue type error. Expected a number.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}return this.request(this.endpoints.fetch,{params:e},"get").then((async e=>(salla.product.event.productListFetchSucceeded(e),e))).catch((e=>{throw salla.product.event.productListFetchFailed(e),e}))}fetchOptions(e,t={}){if(!e||0===e.length){const e="At least one product ID is required. Please provide a valid list of product IDs.";return salla.product.event.productOptionsNotFetched(e),salla.api.errorPromise(e)}const{with:r=[]}=t,n={selected:e};return r.length>0&&(n.with=r),this.request(this.endpoints.fetchOptions,{params:n},"get").then((e=>(salla.product.event.productOptionsFetched(e),e))).catch((e=>{throw salla.product.event.productOptionsNotFetched(e),e}))}}class je extends ke{constructor(){super(),this.namespace="profile",this.endpoints={info:"auth/user",update:"profile/update",updateContacts:"profile/contacts/update",updateSettings:"profile/settings",verify:"profile/verify",delete:"profile"},this.endpointsMethods={delete:"delete"},this.after_init()}info(){return this.request("info",null,"get").then((e=>{let t={id:e.data.id,type:"user",email:e.data.email,mobile:e.data.phone.code+e.data.phone.number,country_code:e.data.phone.country,language_code:e.data.language,currency_code:e.data.currency,notifications:e.data.notifications,pending_orders:e.data.pending_orders,avatar:e.data.avatar,first_name:e.data.first_name,last_name:e.data.last_name,is_hidden_name:e.data.is_hidden_name,is_notifiable:e.data.is_notifiable,can_comment:salla.config.get("user.can_comment"),fetched_at:Date.now()};return salla.config.set("user",t),salla.storage.set("user",t),salla.profile.event.infoFetched(e),e})).catch((e=>{throw salla.profile.event.infoNotFetched(e),e}))}update(e){if(Salla.config.get("store.features").includes("sso-login")){const e="SSO login is enabled. You cannot update your profile.";return Salla.error(e),Promise.reject(new Error(e))}return this.request("update",e).then((e=>(salla.profile.event.updated(e),e))).catch((e=>{throw salla.event.profile.updateFailed(e),e}))}updateContacts(e){return this.request("updateContacts",e).then((e=>(salla.profile.event.verificationCodeSent(e),e))).catch((e=>{throw salla.event.profile.updateContactsFailed(e),e}))}verify(e){return this.request("verify",e).then((e=>(salla.profile.event.verified(e),e))).catch((e=>{throw salla.event.profile.unverified(e),e}))}updateSettings(e){return this.request("updateSettings",e).then((e=>(salla.event.profile.settingsUpdated(e),e))).catch((e=>{throw salla.event.profile.updateSettingsFailed(e),e}))}delete(){return this.request("delete").then((e=>(salla.storage.clearAll(),salla.cookie.clearAll(),salla.auth.api.appendIframeAndLogout().then((()=>{salla.event.profile.deleted(e),window.location.href=salla.url.get("logout")})),e))).catch((e=>{throw salla.event.profile.notDeleted(e),e}))}}class Te extends ke{constructor(){super(),this.namespace="comment",this.endpoints={addComment:"{type}/{id}/comments",comments:"/comments"},this.after_init()}add(e){if(e?.data&&(e=e.data),"string"==typeof(e=this.getCommentPayload(e,!0)))return salla.event.comment.additionFailed(e),salla.api.errorPromise(e);if(!e.comment){let e="can't find comment content!";return salla.event.comment.additionFailed(e),salla.api.errorPromise(e)}return this.request(["addComment","blog"==e.type?"blogs":e.type,e.id],{comment:e.comment}).then((function(t){return salla.event.comment.added(t,e.id),t})).catch((function(t){throw salla.event.comment.additionFailed(t,e.id),t}))}getCommentPayload(e,t=!1){let r={};if(["id","type","comment","per_page","page","sort"].forEach((t=>{let n=salla.form.getPossibleValue(e,[t]);n&&(r[t]=n)})),!t){let t=e.ids;if(t&&(r.ids=Array.isArray(t)?t:[t]),!r.ids||!r.ids.length)return"Failed to get ids!"}return r.type&&["products","pages","product","page","blogs","blog"].includes(r.type)?(r.type+=["product","page"].includes(r.type)?"s":"",r):"Failed to get type one of:(products, product, page, pages, blog, blogs)!"}fetchComments(e){if("string"==typeof(e=this.getCommentPayload(e)))return salla.event.comment.fetchFailed(e),salla.api.errorPromise(e);const t={per_page:e.per_page||5,page:e.page||1,type:e.type,ids:e.ids};return e.sort&&(t.sort=e.sort),this.request(["comments"],{params:t},"get").then((function(t){return salla.event.comment.fetched(t,e),t})).catch((function(t){throw salla.event.comment.fetchFailed(t,e),t}))}getComments(e,t,r=1,n=5,i){const a=Array.isArray(t)?t:[t];return this.fetchComments({ids:a,type:`${e}s`,page:r,per_page:n,sort:i})}}class Ce extends ke{constructor(){super(),this.namespace="currency",this.endpoints={change:"/",list:"currencies"},this.endpointsMethods={change:"get",list:"get"},this.webEndpoints=["change"],this.after_init()}change(e){if(!(e=salla.form.getPossibleValue(e.data||e,["currency","code"]))){let e="Can't find currency code!";return salla.currency.event.failed(e),salla.api.errorPromise(e)}return this.request("change",{params:{change_currency:"",currency:e}}).then((function(t){return salla.cookie.set("fresh_summary",1),salla.storage.set("cart",""),salla.currency.event.changed(t,e),t})).catch((function(t){throw salla.currency.event.failed(t,e),t}))}list(){return this.request("list").then((function(e){return salla.currency.event.fetched(e),e})).catch((function(e){throw salla.currency.event.failedToFetch(e),e}))}}class Fe extends ke{constructor(){super(),this.namespace="document"}reload(){window.location.reload()}}class Re extends ke{constructor(){super(),this.namespace="rating",this.endpoints={store:"rating/store",products:"rating/products",shipping:"rating/shipping",order:"rating/{order_id}"},this.endpointsMethods={order:"get"},this.after_init()}order(e){let t="object"==typeof e?e:{},r=salla.form.getPossibleValue(e?.data||e,["order_id","id"]);if(!r){let e='There is no "order_id"!';return salla.event.rating.orderNotFetched(e),salla.api.errorPromise(e)}return this.request(["order",r],t).then((function(e){return salla.event.rating.orderFetched(e,r),e})).catch((function(e){throw salla.event.rating.orderNotFetched(e,r),e}))}store(e){if(!(e=e?.data||e)){let e='There is no "data"!';return salla.event.rating.storeFailed(e),salla.api.errorPromise(e)}return this.request("store",e).then((function(t){return salla.event.rating.storeRated(t,e),t})).catch((function(t){throw salla.event.rating.storeFailed(t,e),t}))}products(e){if(!(e=e?.data||e)){let e='There is no "data"!';return salla.event.rating.productsFailed(e),salla.api.errorPromise(e)}return this.request("products",e).then((function(t){return salla.event.rating.productsRated(t,e),t})).catch((function(t){throw salla.event.rating.productsFailed(t,e),t}))}shipping(e){if(!(e=e?.data||e)){let e='There is no "data"!';return salla.event.rating.shippingFailed(e),salla.api.errorPromise(e)}return this.request("shipping",e).then((function(t){return salla.event.rating.shippingRated(t,e),t})).catch((function(t){throw salla.event.rating.shippingFailed(t,e),t}))}}class Ue extends ke{constructor(){super(),this.namespace="wishlist",this.endpoints={add:"products/favorites/{id}",remove:"products/favorites/{id}"},this.endpointsMethods={remove:"delete"},this.after_init()}toggle(e){return salla.storage.get("salla::wishlist",[]).includes(e)?this.remove(e):this.add(e)}add(e){let t;return salla.config.isGuest()?(salla.wishlist.event.additionFailed(t=salla.lang.get("common.messages.must_login")),salla.error(t),salla.api.errorPromise(t)):(e=salla.form.getPossibleValue(e?.data||e,["product_id","id"]))?this.request(["add",e]).then((t=>(this.updateWishlistStorage(e),salla.wishlist.event.added(t,e),t))).catch((function(t){throw salla.wishlist.event.additionFailed(t,e),t})):(salla.wishlist.event.additionFailed(t="Failed to get product id!"),salla.api.errorPromise(t))}remove(e){let t;return salla.config.isGuest()?(salla.wishlist.event.additionFailed(t=salla.lang.get("common.messages.must_login")),salla.error(t),salla.api.errorPromise(t)):(e=salla.form.getPossibleValue(e?.data||e,["product_id","id"]))?this.request(["remove",e]).then((t=>(this.updateWishlistStorage(e,!1),salla.wishlist.event.removed(t,e),t))).catch((function(t){throw salla.wishlist.event.removingFailed(t,e),t})):(salla.wishlist.event.removingFailed(t="Failed to get id!"),salla.api.errorPromise(t))}updateWishlistStorage(e,t=!0){let r=salla.storage.get("salla::wishlist",[]);t?r.push(e):r.splice(r.indexOf(e),1),salla.storage.set("salla::wishlist",r)}}class Le extends ke{constructor(){super(),this.namespace="scopes",this.endpoints={get:"scopes",change:"scopes",getProductAvailability:"scopes/availability?product_id={id}"},this.after_init()}get(){return this.request("scopes",null,"get").then((e=>(salla.scope.event.fetched(e),e))).catch((e=>{throw salla.scope.event.notFetched(e),e}))}change(e){return this.request("scopes",e).then((e=>(salla.scope.event.changeSucceeded(e),e))).catch((e=>{throw salla.scope.event.changeFailed(e),e}))}getProductAvailability(e=null){return this.request(`scopes/availability?product_id=${e}`,null,"get").then((t=>(salla.scope.event.productAvailabilityFetched(t,e),t))).catch((e=>{throw salla.scope.event.productAvailabilityNotFetched(e),e}))}}class Ne extends ke{constructor(){super(),this.namespace="booking",this.endpoints={add:"cart/booking/product/{id}"},this.endpointsMethods={add:"get"}}async add(e,t=!0){if(!e){let e="Please provide product id.";return salla.booking.event.additionFailed(e),salla.api.errorPromise(e)}return this.request(["add",e]).then((function(e){return salla.booking.event.added(e),t&&"booking"===e.data.redirect.to&&(window.location.href=e.data.redirect.url),e})).catch((function(e){throw salla.booking.event.additionFailed(e),e}))}}class qe extends ke{constructor(){super(),this.namespace="landing",this.endpoints={getDetails:"landing/{landing_page_id}",createCartFromPage:"landing/{landing_page_id}",breadcrumbs:"breadcrumbs"},this.endpointsMethods={getDetails:"get",breadcrumbs:"get"},this.after_init()}getDetails(e){if(!e){let e="page landing id not passed";return salla.event.landing.getDetailsFailed(e),salla.api.errorPromise(e)}return this.request(["getDetails",e]).then((function(t){return salla.event.landing.detailsFetched(t,e),t})).catch((function(t){throw salla.event.landing.getDetailsFailed(t,e),t}))}createCartFromPage(e){if(!e){let e="page landing id not passed";return salla.event.landing.orderCreationFailed(e),salla.api.errorPromise(e)}return salla.config.isGuest()?(salla.auth.api.setAfterLoginEvent("landing::createCartFromPage",e),salla.event.dispatch("login::open"),salla.api.successPromise("")):this.request(["createCartFromPage",e]).then((function(t){return salla.event.landing.orderCreated(t,e).then((()=>location.href=t.data.url)),t})).catch((function(t){throw salla.event.landing.orderCreationFailed(t,e),t}))}fetchBreadcrumbs(e){if(!e.page){let e="The 'page' parameter is required for the Breadcrumb API. Please provide a valid 'page' parameter.";return salla.event.landing.breadcrumbFetchFailed(e),salla.api.errorPromise(e)}if("product.single"===e.page&&!e.id&&!e.parent_id){let e="The 'id' and 'parent_id' parameters are required when the 'page' parameter is set to 'product.single'. Please provide valid values for both parameters.";return salla.event.landing.breadcrumbFetchFailed(e),salla.api.errorPromise(e)}if(["product.index","customer.orders.single","product.index.tag","page-single","landing-page","brands.single","blog.single","blog.index.author","blog.index.category","blog.index.tag"].includes(e.page)&&!e.id){let t=`The 'id' parameter is required when the 'page' parameter is set to ${e.page}. Please provide valid value for the 'ID' parameter.`;return salla.event.landing.breadcrumbFetchFailed(t),salla.api.errorPromise(t)}return this.request("breadcrumbs",{params:e}).then((function(e){return salla.event.landing.breadcrumbFetched(e),e})).catch((function(e){throw salla.event.landing.breadcrumbFetchFailed(e),e}))}}class ze extends ke{constructor(){super(),this.namespace="notifications",this.endpoints={fetch:"notifications"},this.endpointsMethods={fetch:"get"},this.after_init()}fetch(e){return this.request(["fetch"],{params:e}).then((function(e){return salla.event.notifications.fetched(e),e})).catch((function(e){throw salla.event.notifications.fetchFailed(e),e}))}}var De,$e={exports:{}},Me=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}},Be=Me,He=Object.prototype.toString,Je=(De=Object.create(null),function(e){var t=He.call(e);return De[t]||(De[t]=t.slice(8,-1).toLowerCase())});function Ge(e){return e=e.toLowerCase(),function(t){return Je(t)===e}}function Ve(e){return Array.isArray(e)}function We(e){return void 0===e}var Ye=Ge("ArrayBuffer");function Qe(e){return null!==e&&"object"==typeof e}function Ke(e){if("object"!==Je(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}var Xe=Ge("Date"),Ze=Ge("File"),et=Ge("Blob"),tt=Ge("FileList");function rt(e){return"[object Function]"===He.call(e)}var nt=Ge("URLSearchParams");function it(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),Ve(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}var at,ot=(at="undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array),function(e){return at&&e instanceof at}),st={isArray:Ve,isArrayBuffer:Ye,isBuffer:function(e){return null!==e&&!We(e)&&null!==e.constructor&&!We(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){var t="[object FormData]";return e&&("function"==typeof FormData&&e instanceof FormData||He.call(e)===t||rt(e.toString)&&e.toString()===t)},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&Ye(e.buffer)},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:Qe,isPlainObject:Ke,isUndefined:We,isDate:Xe,isFile:Ze,isBlob:et,isFunction:rt,isStream:function(e){return Qe(e)&&rt(e.pipe)},isURLSearchParams:nt,isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:it,merge:function e(){var t={};function r(r,n){Ke(t[n])&&Ke(r)?t[n]=e(t[n],r):Ke(r)?t[n]=e({},r):Ve(r)?t[n]=r.slice():t[n]=r}for(var n=0,i=arguments.length;n<i;n++)it(arguments[n],r);return t},extend:function(e,t,r){return it(t,(function(t,n){e[n]=r&&"function"==typeof t?Be(t,r):t})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,r,n){e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,r&&Object.assign(e.prototype,r)},toFlatObject:function(e,t,r){var n,i,a,o={};t=t||{};do{for(i=(n=Object.getOwnPropertyNames(e)).length;i-- >0;)o[a=n[i]]||(t[a]=e[a],o[a]=!0);e=Object.getPrototypeOf(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:Je,kindOfTest:Ge,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;var t=e.length;if(We(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},isTypedArray:ot,isFileList:tt},lt=st;function ct(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var ut=function(e,t,r){if(!t)return e;var n;if(r)n=r(t);else if(lt.isURLSearchParams(t))n=t.toString();else{var i=[];lt.forEach(t,(function(e,t){null!=e&&(lt.isArray(e)?t+="[]":e=[e],lt.forEach(e,(function(e){lt.isDate(e)?e=e.toISOString():lt.isObject(e)&&(e=JSON.stringify(e)),i.push(ct(t)+"="+ct(e))})))})),n=i.join("&")}if(n){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e},dt=st;function ht(){this.handlers=[]}ht.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},ht.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},ht.prototype.forEach=function(e){dt.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var pt=ht;function ft(){throw new Error("setTimeout has not been defined")}function gt(){throw new Error("clearTimeout has not been defined")}var mt=ft,vt=gt;function yt(e){if(mt===setTimeout)return setTimeout(e,0);if((mt===ft||!mt)&&setTimeout)return mt=setTimeout,setTimeout(e,0);try{return mt(e,0)}catch(t){try{return mt.call(null,e,0)}catch(t){return mt.call(this,e,0)}}}"function"==typeof global.setTimeout&&(mt=setTimeout),"function"==typeof global.clearTimeout&&(vt=clearTimeout);var bt,wt=[],St=!1,_t=-1;function Et(){St&&bt&&(St=!1,bt.length?wt=bt.concat(wt):_t=-1,wt.length&&kt())}function kt(){if(!St){var e=yt(Et);St=!0;for(var t=wt.length;t;){for(bt=wt,wt=[];++_t<t;)bt&&bt[_t].run();_t=-1,t=wt.length}bt=null,St=!1,function(e){if(vt===clearTimeout)return clearTimeout(e);if((vt===gt||!vt)&&clearTimeout)return vt=clearTimeout,clearTimeout(e);try{return vt(e)}catch(t){try{return vt.call(null,e)}catch(t){return vt.call(this,e)}}}(e)}}function xt(e,t){this.fun=e,this.array=t}xt.prototype.run=function(){this.fun.apply(null,this.array)};function Pt(){}var It=Pt,At=Pt,Ot=Pt,jt=Pt,Tt=Pt,Ct=Pt,Ft=Pt;var Rt=global.performance||{},Ut=Rt.now||Rt.mozNow||Rt.msNow||Rt.oNow||Rt.webkitNow||function(){return(new Date).getTime()};var Lt=new Date;var Nt,qt,zt={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];wt.push(new xt(e,t)),1!==wt.length||St||yt(kt)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:It,addListener:At,once:Ot,off:jt,removeListener:Tt,removeAllListeners:Ct,emit:Ft,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Ut.call(Rt),r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r-=e[0],(n-=e[1])<0&&(r--,n+=1e9)),[r,n]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Lt)/1e3}},Dt=zt,$t=st;function Mt(){if(qt)return Nt;qt=1;var e=st;function t(e,t,r,n,i){Error.call(this),this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}e.inherits(t,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:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var r=t.prototype,n={};return["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"].forEach((function(e){n[e]={value:e}})),Object.defineProperties(t,n),Object.defineProperty(r,"isAxiosError",{value:!0}),t.from=function(n,i,a,o,s,l){var c=Object.create(r);return e.toFlatObject(n,c,(function(e){return e!==Error.prototype})),t.call(c,n.message,i,a,o,s),c.name=n.name,l&&Object.assign(c,l),c},Nt=t}var Bt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ht=[],Jt=[],Gt="undefined"!=typeof Uint8Array?Uint8Array:Array,Vt=!1;function Wt(){Vt=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Ht[t]=e[t],Jt[e.charCodeAt(t)]=t;Jt["-".charCodeAt(0)]=62,Jt["_".charCodeAt(0)]=63}function Yt(e,t,r){for(var n,i,a=[],o=t;o<r;o+=3)n=(e[o]<<16)+(e[o+1]<<8)+e[o+2],a.push(Ht[(i=n)>>18&63]+Ht[i>>12&63]+Ht[i>>6&63]+Ht[63&i]);return a.join("")}function Qt(e){var t;Vt||Wt();for(var r=e.length,n=r%3,i="",a=[],o=16383,s=0,l=r-n;s<l;s+=o)a.push(Yt(e,s,s+o>l?l:s+o));return 1===n?(t=e[r-1],i+=Ht[t>>2],i+=Ht[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=Ht[t>>10],i+=Ht[t>>4&63],i+=Ht[t<<2&63],i+="="),a.push(i),a.join("")}function Kt(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,d=r?i-1:0,h=r?-1:1,p=e[t+d];for(d+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+d],d+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+d],d+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)}function Xt(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,d=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+d>=1?h/l:h*Math.pow(2,1-d))*l>=2&&(o++,l/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*l-1)*Math.pow(2,i),o+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=f,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;e[r+p]=255&o,p+=f,o/=256,c-=8);e[r+p-f]|=128*g}var Zt={}.toString,er=Array.isArray||function(e){return"[object Array]"==Zt.call(e)};function tr(){return nr.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function rr(e,t){if(tr()<t)throw new RangeError("Invalid typed array length");return nr.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=nr.prototype:(null===e&&(e=new nr(t)),e.length=t),e}function nr(e,t,r){if(!(nr.TYPED_ARRAY_SUPPORT||this instanceof nr))return new nr(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return or(this,e)}return ir(this,e,t,r)}function ir(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);nr.TYPED_ARRAY_SUPPORT?(e=t).__proto__=nr.prototype:e=sr(e,t);return e}(e,t,r,n):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!nr.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|ur(t,r);e=rr(e,n);var i=e.write(t,r);i!==n&&(e=e.slice(0,i));return e}(e,t,r):function(e,t){if(cr(t)){var r=0|lr(t.length);return 0===(e=rr(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?rr(e,0):sr(e,t);if("Buffer"===t.type&&er(t.data))return sr(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function ar(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function or(e,t){if(ar(t),e=rr(e,t<0?0:0|lr(t)),!nr.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function sr(e,t){var r=t.length<0?0:0|lr(t.length);e=rr(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function lr(e){if(e>=tr())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+tr().toString(16)+" bytes");return 0|e}function cr(e){return!(null==e||!e._isBuffer)}function ur(e,t){if(cr(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Br(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Hr(e).length;default:if(n)return Br(e).length;t=(""+t).toLowerCase(),n=!0}}function dr(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Pr(this,t,r);case"utf8":case"utf-8":return _r(this,t,r);case"ascii":return kr(this,t,r);case"latin1":case"binary":return xr(this,t,r);case"base64":return Sr(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ir(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function hr(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function pr(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=nr.from(t,n)),cr(t))return 0===t.length?-1:fr(e,t,r,n,i);if("number"==typeof t)return t&=255,nr.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):fr(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function fr(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;a<s;a++)if(c(e,a)===c(t,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var d=!0,h=0;h<l;h++)if(c(e,a+h)!==c(t,h)){d=!1;break}if(d)return a}return-1}function gr(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(t.substr(2*o,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function mr(e,t,r,n){return Jr(Br(t,e.length-r),e,r,n)}function vr(e,t,r,n){return Jr(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function yr(e,t,r,n){return vr(e,t,r,n)}function br(e,t,r,n){return Jr(Hr(t),e,r,n)}function wr(e,t,r,n){return Jr(function(e,t){for(var r,n,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function Sr(e,t,r){return 0===t&&r===e.length?Qt(e):Qt(e.slice(t,r))}function _r(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a,o,s,l,c=e[i],u=null,d=c>239?4:c>223?3:c>191?2:1;if(i+d<=r)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=d}return function(e){var t=e.length;if(t<=Er)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=Er));return r}(n)}nr.TYPED_ARRAY_SUPPORT=void 0===global.TYPED_ARRAY_SUPPORT||global.TYPED_ARRAY_SUPPORT,tr(),nr.poolSize=8192,nr._augment=function(e){return e.__proto__=nr.prototype,e},nr.from=function(e,t,r){return ir(null,e,t,r)},nr.TYPED_ARRAY_SUPPORT&&(nr.prototype.__proto__=Uint8Array.prototype,nr.__proto__=Uint8Array),nr.alloc=function(e,t,r){return function(e,t,r,n){return ar(t),t<=0?rr(e,t):void 0!==r?"string"==typeof n?rr(e,t).fill(r,n):rr(e,t).fill(r):rr(e,t)}(null,e,t,r)},nr.allocUnsafe=function(e){return or(null,e)},nr.allocUnsafeSlow=function(e){return or(null,e)},nr.isBuffer=function(e){return null!=e&&(!!e._isBuffer||Gr(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Gr(e.slice(0,0))}(e))},nr.compare=function(e,t){if(!cr(e)||!cr(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},nr.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},nr.concat=function(e,t){if(!er(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return nr.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=nr.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var a=e[r];if(!cr(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},nr.byteLength=ur,nr.prototype._isBuffer=!0,nr.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)hr(this,t,t+1);return this},nr.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)hr(this,t,t+3),hr(this,t+1,t+2);return this},nr.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)hr(this,t,t+7),hr(this,t+1,t+6),hr(this,t+2,t+5),hr(this,t+3,t+4);return this},nr.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?_r(this,0,e):dr.apply(this,arguments)},nr.prototype.equals=function(e){if(!cr(e))throw new TypeError("Argument must be a Buffer");return this===e||0===nr.compare(this,e)},nr.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},nr.prototype.compare=function(e,t,r,n,i){if(!cr(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=e.slice(t,r),u=0;u<s;++u)if(l[u]!==c[u]){a=l[u],o=c[u];break}return a<o?-1:o<a?1:0},nr.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},nr.prototype.indexOf=function(e,t,r){return pr(this,e,t,r,!0)},nr.prototype.lastIndexOf=function(e,t,r){return pr(this,e,t,r,!1)},nr.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return gr(this,e,t,r);case"utf8":case"utf-8":return mr(this,e,t,r);case"ascii":return vr(this,e,t,r);case"latin1":case"binary":return yr(this,e,t,r);case"base64":return br(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wr(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},nr.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Er=4096;function kr(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function xr(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Pr(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a<r;++a)i+=Mr(e[a]);return i}function Ir(e,t,r){for(var n=e.slice(t,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function Ar(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function Or(e,t,r,n,i,a){if(!cr(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function jr(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i<a;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function Tr(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i<a;++i)e[r+i]=t>>>8*(n?i:3-i)&255}function Cr(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Fr(e,t,r,n,i){return i||Cr(e,0,r,4),Xt(e,t,r,n,23,4),r+4}function Rr(e,t,r,n,i){return i||Cr(e,0,r,8),Xt(e,t,r,n,52,8),r+8}nr.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),nr.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=nr.prototype;else{var i=t-e;r=new nr(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},nr.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||Ar(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n},nr.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||Ar(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},nr.prototype.readUInt8=function(e,t){return t||Ar(e,1,this.length),this[e]},nr.prototype.readUInt16LE=function(e,t){return t||Ar(e,2,this.length),this[e]|this[e+1]<<8},nr.prototype.readUInt16BE=function(e,t){return t||Ar(e,2,this.length),this[e]<<8|this[e+1]},nr.prototype.readUInt32LE=function(e,t){return t||Ar(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},nr.prototype.readUInt32BE=function(e,t){return t||Ar(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},nr.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Ar(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},nr.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Ar(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},nr.prototype.readInt8=function(e,t){return t||Ar(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},nr.prototype.readInt16LE=function(e,t){t||Ar(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},nr.prototype.readInt16BE=function(e,t){t||Ar(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},nr.prototype.readInt32LE=function(e,t){return t||Ar(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},nr.prototype.readInt32BE=function(e,t){return t||Ar(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},nr.prototype.readFloatLE=function(e,t){return t||Ar(e,4,this.length),Kt(this,e,!0,23,4)},nr.prototype.readFloatBE=function(e,t){return t||Ar(e,4,this.length),Kt(this,e,!1,23,4)},nr.prototype.readDoubleLE=function(e,t){return t||Ar(e,8,this.length),Kt(this,e,!0,52,8)},nr.prototype.readDoubleBE=function(e,t){return t||Ar(e,8,this.length),Kt(this,e,!1,52,8)},nr.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||Or(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a<r&&(i*=256);)this[t+a]=e/i&255;return t+r},nr.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||Or(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},nr.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,1,255,0),nr.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},nr.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,2,65535,0),nr.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):jr(this,e,t,!0),t+2},nr.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,2,65535,0),nr.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):jr(this,e,t,!1),t+2},nr.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,4,4294967295,0),nr.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Tr(this,e,t,!0),t+4},nr.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,4,4294967295,0),nr.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Tr(this,e,t,!1),t+4},nr.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Or(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a<r&&(o*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},nr.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Or(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},nr.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,1,127,-128),nr.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},nr.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,2,32767,-32768),nr.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):jr(this,e,t,!0),t+2},nr.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,2,32767,-32768),nr.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):jr(this,e,t,!1),t+2},nr.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,4,2147483647,-2147483648),nr.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Tr(this,e,t,!0),t+4},nr.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||Or(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),nr.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Tr(this,e,t,!1),t+4},nr.prototype.writeFloatLE=function(e,t,r){return Fr(this,e,t,!0,r)},nr.prototype.writeFloatBE=function(e,t,r){return Fr(this,e,t,!1,r)},nr.prototype.writeDoubleLE=function(e,t,r){return Rr(this,e,t,!0,r)},nr.prototype.writeDoubleBE=function(e,t,r){return Rr(this,e,t,!1,r)},nr.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i,a=n-r;if(this===e&&r<t&&t<n)for(i=a-1;i>=0;--i)e[i+t]=this[i+r];else if(a<1e3||!nr.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),t);return a},nr.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!nr.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var o=cr(e)?e:Br(new nr(e,n).toString()),s=o.length;for(a=0;a<r-t;++a)this[a+t]=o[a%s]}return this};var Ur,Lr,Nr,qr,zr,Dr,$r=/[^+\/0-9A-Za-z-_]/g;function Mr(e){return e<16?"0"+e.toString(16):e.toString(16)}function Br(e,t){var r;t=t||1/0;for(var n=e.length,i=null,a=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Hr(e){return function(e){var t,r,n,i,a,o;Vt||Wt();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a="="===e[s-2]?2:"="===e[s-1]?1:0,o=new Gt(3*s/4-a),n=a>0?s-4:s;var l=0;for(t=0,r=0;t<n;t+=4,r+=3)i=Jt[e.charCodeAt(t)]<<18|Jt[e.charCodeAt(t+1)]<<12|Jt[e.charCodeAt(t+2)]<<6|Jt[e.charCodeAt(t+3)],o[l++]=i>>16&255,o[l++]=i>>8&255,o[l++]=255&i;return 2===a?(i=Jt[e.charCodeAt(t)]<<2|Jt[e.charCodeAt(t+1)]>>4,o[l++]=255&i):1===a&&(i=Jt[e.charCodeAt(t)]<<10|Jt[e.charCodeAt(t+1)]<<4|Jt[e.charCodeAt(t+2)]>>2,o[l++]=i>>8&255,o[l++]=255&i),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace($r,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Jr(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Gr(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Vr(){if(Lr)return Ur;Lr=1;var e=st;return Ur=function(t,r){r=r||new FormData;var n=[];function i(t){return null===t?"":e.isDate(t)?t.toISOString():e.isArrayBuffer(t)||e.isTypedArray(t)?"function"==typeof Blob?new Blob([t]):nr.from(t):t}return function t(a,o){if(e.isPlainObject(a)||e.isArray(a)){if(-1!==n.indexOf(a))throw Error("Circular reference detected in "+o);n.push(a),e.forEach(a,(function(n,a){if(!e.isUndefined(n)){var s,l=o?o+"."+a:a;if(n&&!o&&"object"==typeof n)if(e.endsWith(a,"{}"))n=JSON.stringify(n);else if(e.endsWith(a,"[]")&&(s=e.toArray(n)))return void s.forEach((function(t){!e.isUndefined(t)&&r.append(l,i(t))}));t(n,l)}})),n.pop()}else r.append(o,i(a))}(t),r},Ur}function Wr(){if(qr)return Nr;qr=1;var e=Mt();return Nr=function(t,r,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?r(new e("Request failed with status code "+n.status,[e.ERR_BAD_REQUEST,e.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}}function Yr(){if(Dr)return zr;Dr=1;var e=st;return zr=e.isStandardBrowserEnv()?{write:function(t,r,n,i,a,o){var s=[];s.push(t+"="+encodeURIComponent(r)),e.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),e.isString(i)&&s.push("path="+i),e.isString(a)&&s.push("domain="+a),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var 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(){}}}var Qr,Kr,Xr,Zr,en,tn,rn,nn,an,on,sn,ln,cn=function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)},un=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e},dn=function(e,t){return e&&!cn(t)?un(e,t):t};function hn(){if(Kr)return Qr;Kr=1;var e=st,t=["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"];return Qr=function(r){var n,i,a,o={};return r?(e.forEach(r.split("\n"),(function(r){if(a=r.indexOf(":"),n=e.trim(r.substr(0,a)).toLowerCase(),i=e.trim(r.substr(a+1)),n){if(o[n]&&t.indexOf(n)>=0)return;o[n]="set-cookie"===n?(o[n]?o[n]:[]).concat([i]):o[n]?o[n]+", "+i:i}})),o):o},Qr}function pn(){if(Zr)return Xr;Zr=1;var e=st;return Xr=e.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var t=e;return r&&(n.setAttribute("href",t),t=n.href),n.setAttribute("href",t),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=i(window.location.href),function(r){var n=e.isString(r)?i(r):r;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}}function fn(){if(tn)return en;tn=1;var e=Mt();function t(t){e.call(this,null==t?"canceled":t,e.ERR_CANCELED),this.name="CanceledError"}return st.inherits(t,e,{__CANCEL__:!0}),en=t}function gn(){return nn?rn:(nn=1,rn=function(e){var t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""})}function mn(){if(on)return an;on=1;var e=st,t=Wr(),r=Yr(),n=ut,i=dn,a=hn(),o=pn(),s=Bt,l=Mt(),c=fn(),u=gn();return an=function(d){return new Promise((function(h,p){var f,g=d.data,m=d.headers,v=d.responseType;function y(){d.cancelToken&&d.cancelToken.unsubscribe(f),d.signal&&d.signal.removeEventListener("abort",f)}e.isFormData(g)&&e.isStandardBrowserEnv()&&delete m["Content-Type"];var b=new XMLHttpRequest;if(d.auth){var w=d.auth.username||"",S=d.auth.password?unescape(encodeURIComponent(d.auth.password)):"";m.Authorization="Basic "+btoa(w+":"+S)}var _=i(d.baseURL,d.url);function E(){if(b){var e="getAllResponseHeaders"in b?a(b.getAllResponseHeaders()):null,r={data:v&&"text"!==v&&"json"!==v?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:e,config:d,request:b};t((function(e){h(e),y()}),(function(e){p(e),y()}),r),b=null}}if(b.open(d.method.toUpperCase(),n(_,d.params,d.paramsSerializer),!0),b.timeout=d.timeout,"onloadend"in b?b.onloadend=E:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(E)},b.onabort=function(){b&&(p(new l("Request aborted",l.ECONNABORTED,d,b)),b=null)},b.onerror=function(){p(new l("Network Error",l.ERR_NETWORK,d,b,b)),b=null},b.ontimeout=function(){var e=d.timeout?"timeout of "+d.timeout+"ms exceeded":"timeout exceeded",t=d.transitional||s;d.timeoutErrorMessage&&(e=d.timeoutErrorMessage),p(new l(e,t.clarifyTimeoutError?l.ETIMEDOUT:l.ECONNABORTED,d,b)),b=null},e.isStandardBrowserEnv()){var k=(d.withCredentials||o(_))&&d.xsrfCookieName?r.read(d.xsrfCookieName):void 0;k&&(m[d.xsrfHeaderName]=k)}"setRequestHeader"in b&&e.forEach(m,(function(e,t){void 0===g&&"content-type"===t.toLowerCase()?delete m[t]:b.setRequestHeader(t,e)})),e.isUndefined(d.withCredentials)||(b.withCredentials=!!d.withCredentials),v&&"json"!==v&&(b.responseType=d.responseType),"function"==typeof d.onDownloadProgress&&b.addEventListener("progress",d.onDownloadProgress),"function"==typeof d.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",d.onUploadProgress),(d.cancelToken||d.signal)&&(f=function(e){b&&(p(!e||e&&e.type?new c:e),b.abort(),b=null)},d.cancelToken&&d.cancelToken.subscribe(f),d.signal&&(d.signal.aborted?f():d.signal.addEventListener("abort",f))),g||(g=null);var x=u(_);x&&-1===["http","https","file"].indexOf(x)?p(new l("Unsupported protocol "+x+":",l.ERR_BAD_REQUEST,d)):b.send(g)}))},an}var vn=st,yn=function(e,t){$t.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},bn=Mt(),wn=Bt,Sn=Vr(),_n={"Content-Type":"application/x-www-form-urlencoded"};function En(e,t){!vn.isUndefined(e)&&vn.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var kn,xn={transitional:wn,adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==Dt&&"[object process]"===Object.prototype.toString.call(Dt))&&(kn=mn()),kn),transformRequest:[function(e,t){if(yn(t,"Accept"),yn(t,"Content-Type"),vn.isFormData(e)||vn.isArrayBuffer(e)||vn.isBuffer(e)||vn.isStream(e)||vn.isFile(e)||vn.isBlob(e))return e;if(vn.isArrayBufferView(e))return e.buffer;if(vn.isURLSearchParams(e))return En(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString();var r,n=vn.isObject(e),i=t&&t["Content-Type"];if((r=vn.isFileList(e))||n&&"multipart/form-data"===i){var a=this.env&&this.env.FormData;return Sn(r?{"files[]":e}:e,a&&new a)}return n||"application/json"===i?(En(t,"application/json"),function(e,t,r){if(vn.isString(e))try{return(t||JSON.parse)(e),vn.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||xn.transitional,r=t&&t.silentJSONParsing,n=t&&t.forcedJSONParsing,i=!r&&"json"===this.responseType;if(i||n&&vn.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw bn.from(e,bn.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:ln?sn:(ln=1,sn=null)},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};vn.forEach(["delete","get","head"],(function(e){xn.headers[e]={}})),vn.forEach(["post","put","patch"],(function(e){xn.headers[e]=vn.merge(_n)}));var Pn,In,An=xn,On=st,jn=An;function Tn(){return In?Pn:(In=1,Pn=function(e){return!(!e||!e.__CANCEL__)})}var Cn=st,Fn=function(e,t,r){var n=this||jn;return On.forEach(r,(function(r){e=r.call(n,e,t)})),e},Rn=Tn(),Un=An,Ln=fn();function Nn(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ln}var qn,zn,Dn=st,$n=function(e,t){t=t||{};var r={};function n(e,t){return Dn.isPlainObject(e)&&Dn.isPlainObject(t)?Dn.merge(e,t):Dn.isPlainObject(t)?Dn.merge({},t):Dn.isArray(t)?t.slice():t}function i(r){return Dn.isUndefined(t[r])?Dn.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function a(e){if(!Dn.isUndefined(t[e]))return n(void 0,t[e])}function o(r){return Dn.isUndefined(t[r])?Dn.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function s(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var l={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s};return Dn.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=l[e]||i,n=t(e);Dn.isUndefined(n)&&t!==s||(r[e]=n)})),r};function Mn(){return zn?qn:(zn=1,qn={version:"0.27.2"})}var Bn=Mn().version,Hn=Mt(),Jn={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){Jn[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var Gn={};Jn.transitional=function(e,t,r){function n(e,t){return"[Axios v"+Bn+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,i,a){if(!1===e)throw new Hn(n(i," has been removed"+(t?" in "+t:"")),Hn.ERR_DEPRECATED);return t&&!Gn[i]&&(Gn[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,i,a)}};var Vn,Wn,Yn,Qn,Kn,Xn,Zn={assertOptions:function(e,t,r){if("object"!=typeof e)throw new Hn("options must be an object",Hn.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),i=n.length;i-- >0;){var a=n[i],o=t[a];if(o){var s=e[a],l=void 0===s||o(s,a,e);if(!0!==l)throw new Hn("option "+a+" must be "+l,Hn.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new Hn("Unknown option "+a,Hn.ERR_BAD_OPTION)}},validators:Jn},ei=st,ti=ut,ri=pt,ni=function(e){return Nn(e),e.headers=e.headers||{},e.data=Fn.call(e,e.data,e.headers,e.transformRequest),e.headers=Cn.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),Cn.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||Un.adapter)(e).then((function(t){return Nn(e),t.data=Fn.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return Rn(t)||(Nn(e),t&&t.response&&(t.response.data=Fn.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},ii=$n,ai=dn,oi=Zn,si=oi.validators;function li(e){this.defaults=e,this.interceptors={request:new ri,response:new ri}}li.prototype.request=function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},(t=ii(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var r=t.transitional;void 0!==r&&oi.assertOptions(r,{silentJSONParsing:si.transitional(si.boolean),forcedJSONParsing:si.transitional(si.boolean),clarifyTimeoutError:si.transitional(si.boolean)},!1);var n=[],i=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(i=i&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var a,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!i){var s=[ni,void 0];for(Array.prototype.unshift.apply(s,n),s=s.concat(o),a=Promise.resolve(t);s.length;)a=a.then(s.shift(),s.shift());return a}for(var l=t;n.length;){var c=n.shift(),u=n.shift();try{l=c(l)}catch(e){u(e);break}}try{a=ni(l)}catch(e){return Promise.reject(e)}for(;o.length;)a=a.then(o.shift(),o.shift());return a},li.prototype.getUri=function(e){e=ii(this.defaults,e);var t=ai(e.baseURL,e.url);return ti(t,e.params,e.paramsSerializer)},ei.forEach(["delete","get","head","options"],(function(e){li.prototype[e]=function(t,r){return this.request(ii(r||{},{method:e,url:t,data:(r||{}).data}))}})),ei.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,i){return this.request(ii(i||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}li.prototype[e]=t(),li.prototype[e+"Form"]=t(!0)}));var ci=st,ui=Me,di=li,hi=$n;var pi=function e(t){var r=new di(t),n=ui(di.prototype.request,r);return ci.extend(n,di.prototype,r),ci.extend(n,r),n.create=function(r){return e(hi(t,r))},n}(An);pi.Axios=di,pi.CanceledError=fn(),pi.CancelToken=function(){if(Wn)return Vn;Wn=1;var e=fn();function t(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;t<r;t++)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(t){n.reason||(n.reason=new e(t),r(n.reason))}))}return t.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},t.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},t.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},t.source=function(){var e,r=new t((function(t){e=t}));return{token:r,cancel:e}},Vn=t}(),pi.isCancel=Tn(),pi.VERSION=Mn().version,pi.toFormData=Vr(),pi.AxiosError=Mt(),pi.Cancel=pi.CanceledError,pi.all=function(e){return Promise.all(e)},pi.spread=Qn?Yn:(Qn=1,Yn=function(e){return function(t){return e.apply(null,t)}}),pi.isAxiosError=function(){if(Xn)return Kn;Xn=1;var e=st;return Kn=function(t){return e.isObject(t)&&!0===t.isAxiosError}}(),$e.exports=pi,$e.exports.default=pi;var fi=$e.exports;function gi(e){this.message=e}gi.prototype=new Error,gi.prototype.name="InvalidCharacterError";var mi="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new gi("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,a=0,o="";n=t.charAt(a++);~n&&(r=i%4?64*r+n:n,i++%4)?o+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return o};function vi(e){this.message=e}function yi(e,t){if("string"!=typeof e)throw new vi("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(mi(e).replace(/(.)/g,(function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return mi(t)}}(e.split(".")[r]))}catch(e){throw new vi("Invalid token specified: "+e.message)}}vi.prototype=new Error,vi.prototype.name="InvalidTokenError";class bi{constructor(){this.inIframe=salla.helpers.isIframe(),salla.event.on("twilight::before.ready",(async e=>await this.initiateRequest(e))),salla.event.on("profile::info.fetched",(e=>this.setCurrencyAndLanguage(e))),salla.event.on("auth::token.fetched",(e=>{salla.storage.set("token",e),this.inIframe&&salla.log("token fetched iframe"),this.inIframe&&salla.cookie.set("s-token",e,60),this.setToken(e)})),salla.event.on("auth::token.invalid",(()=>{salla.storage.remove("user"),salla.storage.remove("token")})),this.notifier_handler_disabled=!1,this.axios=fi.create({baseURL:Salla.config.get("store.api",Salla.config.get("store.url")),headers:{common:{"X-Requested-With":"XMLHttpRequest","S-SOURCE":"twilight","S-APP-VERSION":"v2.0.0","S-APP-OS":"browser","cache-control":"no-cache"}}}),Salla.onReady((()=>{Salla.helpers.url.is_page("cart")&&Salla.config.set("store.settings.use_sar_symbol",!1)})),this.axios.interceptors.request.use((e=>("preview"===Salla.config.get("theme.mode")&&(e.url=Salla.url.addParamToUrl("use_username_url",1,e.url)),["coupon","price","item"].some((t=>e.url.includes(t)))&&!e.url.includes("add")&&Salla.config.set("store.settings.use_sar_symbol",!1),e)),(e=>Promise.reject(e)))}getHeaders(){return this.axios.defaults.headers.common}getHeader(e){return Object.entries(this.getHeaders()).filter((([t,r])=>t.toLowerCase()===e.toLowerCase()))[0]?.[1]}setHeaders(e){return Object.entries(e).forEach((e=>this.setHeader(e[0],e[1]))),this}setHeader(e,t){return salla.infiniteScroll.fetchOptions.headers[e]=this.axios.defaults.headers.common[e]=t,this}async withoutNotifier(e){return this.notifier_handler_disabled=!0,await e().finally((()=>{this.notifier_handler_disabled=!1}))}async initiateRequest(e){this.axios.defaults.baseURL=Salla.config.get("store.api",Salla.config.get("store.url")),this.setHeaders({"Store-Identifier":Salla.config.get("store.id"),currency:e.user?.currency_code||"SAR","accept-language":salla.lang.getLocale(),"s-user-id":e.user?.id,"s-country":e.user?.country_code,...e.headers||{}});const t=Salla.storage.get("scope",Salla.config.get("store.scope"));t&&this.setHeaders({"s-scope-type":t.type,"s-scope-id":t.id});const r=Salla.storage.session.get("s-utms");r&&this.setHeaders(r),await this.injectTokenToTheRequests(e),salla.storage.get("affiliate_code")&&this.setHeader("s-affiliate-code",salla.storage.get("affiliate_code"))}async injectTokenToTheRequests(e){let t=salla.storage.get("token"),r="guest"===e.user?.type,n=parseInt(e.user?.id||0),i=parseInt(salla.storage.get("user.id")||0),a=salla.auth.api.isSessionless(),o=e=>{this.setToken(e),salla.event.emit("api::initiated")},s=async()=>{r||a||!n?salla.auth.event.tokenInvalid():(salla.log("Api:: case 1 => current is is guest & web session available"),await salla.auth.api.refresh().then((async()=>{await salla.profile.info()})).catch((()=>salla.auth.event.tokenInvalid())))};if(!t)return salla.log("Api:: case 1 => current is is guest"),void await s();let l,c=yi(t);return Date.now()/1e3>c.exp?(salla.log("Api:: case 2 => current user is logged-in and there is a token, but it's expired"),void await s()):(l=a?parseInt(c.sub)!==i:!i||!n||i!==n||parseInt(c.sub)!==n,l?(salla.log("Api:: case 3 => there is a token and user in session/local missing or mismatch"),salla.log(`sub:${c.sub} userIdInWeb:${n} userIdInStorage:${i}, isSessionless:${a}`,c.sub,n,i),this.setHeader("Authorization","Bearer "+t),void await salla.profile.info().then((async e=>{!this.inIframe&&!a&&await salla.auth.api.request("auth/jwt",{callerName:"salla.auth.request.injectTokenToTheRequests"}),o(t)})).catch((()=>{salla.log("Api:: case 3 => failed get fresh profile"),this.setHeader("Authorization",null),salla.auth.event.tokenInvalid()}))):(salla.log("Api:: case 4 => current user is logged-in and there is a token, and it's not expired"),void o(t)))}setToken(e){return this.setHeader("Authorization","Bearer "+e),salla.event.emit("api::token.injected",e),this.token=e,this}setCurrencyAndLanguage(e){return this.setHeaders({currency:e.data.currency,"accept-language":e.data.language})}request(e,t=void 0,r="get",n={}){let i={endPoint:e,payload:t,method:r,options:n},a="undefined"!=typeof event?event.currentTarget:null,o=!1;return"SALLA-BUTTON"===a?.tagName&&(o=!0),o&&a?.load(),this.axios[i.method](i.endPoint,i.payload,i.options).then((e=>(o&&a?.stop(),e.data&&e.request&&(e=e.data),this.handleAfterResponseActions(e),e))).catch((e=>{throw o&&a?.stop(),salla.event.document.requestFailed(i,e),this.handleErrorResponse(e),e}))}handleAfterResponseActions(e){if(!e)return;let{data:t,googleTags:r=null}=e,n=t&&t.googleTags?t.googleTags:r;try{dataLayer&&n&&dataLayer.push(n)}catch(e){salla.logger.error(e.message)}this.fireEventsForResponse(e),this.showAlert(e)}fireEventsForResponse(e){let t=e?.events||e.data?.events||e.error?.events;"string"==typeof t&&(t=JSON.parse(t)),t&&Object.keys(t).forEach((e=>salla.event.dispatch(e,t[e])))}handleErrorResponse(e){if(e.response&&e.response.data)return e.response.data.error&&e.response.data.error.fields&&!this.notifier_handler_disabled?this.handleInvalidFields(e):this.handleAfterResponseActions(e.response.data)}showAlert(e){if(e&&!this.notifier_handler_disabled)return e.case&&e.msg?salla.notify.fire(e.msg,e.case,e):e.hasOwnProperty("success")&&e.data?.message?salla.notify.fire(e.data?.message,e.success?salla.notify.types.success:salla.notify.types.error,e):e.error&&e.error.message&&"FORBIDDEN"!==e.error.message?salla.error(e.error.message,e):void 0}handleInvalidFields(e){let t=e.response.data.error.fields,r=[];Object.keys(t).forEach((e=>{let n=t[e];Array.isArray(n)?n.forEach((e=>r.push(e))):r.push(n)}));let n=(r.length>1?"* ":"")+r.join("\n* ");salla.error(n,e)}isFastRequestsAllowed(){return Salla.config.get("fastRequests")}promise(e,t=!0){return new Promise(((r,n)=>t?r(e):n(e)))}errorPromise(e){return this.promise(e,!1)}successPromise(e){return this.promise(e,!0)}}class wi extends ke{constructor(){super(),this.namespace="component",this.endpoints={getMenus:"menus/{headOrFoot}?store_id={store}&lang={lang}",reviews:"reviews"},this.endpointsMethods={getMenus:"get",reviews:"get"}}async getMenus(e="header"){return this.request(["getMenus",e,salla.config.get("store.id"),salla.lang.getLocale()]).then((function(e){return salla.event.component.menuFetched(e),e})).catch((function(e){throw salla.event.component.menuFetchFailed(e),e}))}async getReviews({per_page:e=5,type:t="all",items:r}){if(!t){const e="Review type cannot be empty. Please provide one.";return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}const n=!r||"string"==typeof r&&"[]"===r||Array.isArray(r)&&!r.length;if(!new Set(["all","store","categories","products","json"]).has(t)){const e="Invalid review type. Please provide a valid type.";return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}if("all"!==t&&"store"!==t&&n){const e="Items cannot be empty. Please provide one.";return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}if(new Set(["products","categories"]).has(t)&&!Array.isArray(r)){const e=`Items value must be an array of ${t} id for review type of ${t}.`;return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}return this.request(["reviews"],{params:{per_page:e,type:t,items:r}},"get").then((function(e){return salla.event.component.reviewsFetched(e),e})).catch((function(e){throw salla.event.component.reviewsFetchFailed(e),e}))}}class Si extends ke{constructor(){super(),this.namespace="booking",this.endpoints={fetch:"advertisements"},this.endpointsMethods={fetch:"get"}}async fetch(e=null){const t=e?{page:e}:{};return this.request(["fetch"],{params:t}).then((function(e){return salla.event.advertisement.fetched(e),e})).catch((function(e){throw salla.event.advertisement.fetchFailed(e),e}))}}class _i extends ke{constructor(){super(),this.namespace="navigation",this.endpoints={breadcrumbs:"breadcrumbs"},this.endpointsMethods={breadcrumbs:"get"},this.after_init()}fetchBreadcrumbs(e){if(!e.page){let e="The 'page' parameter is required for the Breadcrumb API. Please provide a valid 'page' parameter.";return salla.event.navigation.breadcrumbFetchFailed(e),salla.api.errorPromise(e)}if(["product.single","product.index","customer.orders.single","product.index.tag","page-single","landing-page","brands.single","blog.single","blog.index.author","blog.index.category","blog.index.tag"].includes(e.page)&&!e.id){let t=`The 'id' parameter is required when the 'page' parameter is set to ${e.page}. Please provide valid value for the 'ID' parameter.`;return salla.event.navigation.breadcrumbFetchFailed(t),salla.api.errorPromise(t)}return this.request("breadcrumbs",{params:e}).then((function(e){return salla.event.navigation.breadcrumbFetched(e),e})).catch((function(e){throw salla.event.navigation.breadcrumbFetchFailed(e),e}))}}class Ei extends ke{constructor(){super(),this.namespace="metadata",this.endpoints={fetchValues:"https://api.salla.dev/store/v1/metadata/values"},this.endpointsMethods={fetchValues:"get"}}async fetchValues(e,t){if(!e||!t){const e="Please provide entity type and entity ids.";return salla.metadata.event.valueNotFetch(e),salla.api.errorPromise(e)}const r={type:e,entities:Array.isArray(t)?t:[t]};return this.request(this.endpoints.fetchValues,{params:r},"get").then((e=>(salla.metadata.event.valueFetched(e),e))).catch((e=>{throw salla.metadata.event.valueNotFetch(e),e}))}}class ki{constructor(e){"ready"!==J.status?e?(J.config.merge(e),["salla.sa","salla.group"].includes(location.hostname)&&!J.config.get("store.url")?.includes(location.hostname)&&J.config.get("store.username")&&J.config.set("store.url",window.location.origin+"/"+J.config.get("store.username")),e?.events&&J.event.dispatchEvents(e?.events),e._token&&salla.api.setHeader("X-CSRF-TOKEN",e._token),this.injectMaintenanceAlert(),this.injectTemplateStoreAlert(),this.injectThemePreviewAlert(),this.injectAppInstallAlert(),this.applyContentCopyright(),this.injectEditAlert(),e?.user?.language_code&&salla.lang.setLocale(e?.user?.language_code),salla.lang.loadStoreTranslations(),this.setSallaReady(e)):this.setSallaReady(e):salla.log("Trying to re-initiate Salla, while its status === 'ready'!")}applyContentCopyright(){if(!salla.config.get("store.settings.content_copyright"))return;["contextmenu","selectstart","copy"].forEach((e=>{document.addEventListener(e,(e=>e.preventDefault()))})),document.addEventListener("keydown",(e=>{const t=e.key.toLowerCase();("f12"===t||e.ctrlKey&&e.shiftKey&&["i","j","c"].includes(t)||e.ctrlKey&&"u"===t)&&(e.preventDefault(),e.stopPropagation())}));const e=document.createElement("style");e.textContent="\n body {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n img {\n pointer-events: none;\n -webkit-user-drag: none;\n }\n ",document.head.appendChild(e)}injectMaintenanceAlert(){salla.config.get("maintenance")&&(document.body.classList.add("has-maintenance-bar"),document.querySelector("salla-maintenance-alert")?salla.logger.warn("salla-maintenance-alert element Existed before!"):salla.lang.onLoaded((()=>document.body.prepend(document.createElement("salla-maintenance-alert")))))}injectTemplateStoreAlert(){salla.config.get("store.template")&&(document.body.classList.add("has-bottom-alert"),document.querySelector("salla-bottom-alert")?salla.logger.warn("salla-bottom-alert element Existed before!"):salla.lang.onLoaded((()=>document.body.append(document.createElement("salla-bottom-alert")))))}injectAppInstallAlert(){salla.config.get("store.app_install_prompt")&&salla.config.get("store.apps")&&!salla.storage.get("app_install_prompt_disabled")&&(document.body.classList.add("has-app-install-alert"),document.querySelector("salla-app-install-alert")?salla.logger.warn("salla-app-install-alert element Existed before!"):salla.lang.onLoaded((()=>document.body.append(document.createElement("salla-app-install-alert")))))}injectThemePreviewAlert(){"preview"===salla.config.get("theme.mode")&&(document.body.classList.add("has-preview-bar"),document.querySelector("#s-theme_preview_bar")?salla.logger.warn("#s-theme_preview_bar element Existed before!"):salla.lang.onLoaded((()=>{let e=document.createElement("div");e.id="s-theme_preview_bar",e.setAttribute("style","display: flex; justify-content: space-between; text-align: center; background-color: #232323; color: #fff; padding: 10px; font-size: 0.875rem; line-height: 1.25rem; position: relative;"),e.innerHTML=`\n <div style="display:flex; align-items:center;">\n <img width="32" src="https://cdn.salla.network/images/logo/logo-light.svg">\n <span style="margin:0 10px;">${salla.lang.get("blocks.header.preview_mode")}: <span style="background:rgba(255,255,255,0.25);border-radius:15px; padding:2px 15px 4px">${salla.config.get("theme.name")}</span></span>\n </div>\n <a href="${salla.url.get("preview_theme/cancel/preview")}" style="line-height:32px; width:32px;"><i class="sicon-cancel"></i></a>\n `,document.body.prepend(e)})))}injectEditAlert(){let e=salla.config.get("edit");e&&(document.querySelector("#s-edit-alert")?salla.logger.warn("#s-edit-alert element Existed before!"):salla.lang.onLoaded((()=>{let t=document.createElement("div");t.id="s-edit-alert",t.innerHTML=`\n <a href="${e}" style="display:block; background-color:${salla.config.get("theme.color.primary","#5cd5c4")}; color:${salla.config.get("theme.color.reverse","#fff")}; padding: 10px; text-align:center; font-size: 0.875rem; line-height: 1.25rem;">\n <i class="sicon-edit"></i> \n ${salla.lang.get("pages.products.quick_edit")}\n </a>\n `,document.body.prepend(t)})))}handleElementAjaxRequest(e,t){if(!(t instanceof HTMLFormElement||t instanceof HTMLAnchorElement))return salla.logger.warn("trying to call ajax from non Element!!"),!1;e.preventDefault();let r=t.getAjaxFormData(e),n=r.method?r.method.toLowerCase():void 0;salla.api.request(r.url,r.formData,n).then((e=>(e.data&&e.request&&(e=e.data),salla.api.handleAfterResponseActions(e),this.callAjaxEvent(r.events.success,e,r.formData),e))).catch((e=>{throw salla.api.handleErrorResponse(e),this.callAjaxEvent(r.events.fail,e,r.formData),e}))}callAjaxEvent(e,t,r){if(e){if(r instanceof FormData){const e={};Array.from(r.entries()).forEach((function(t){e[t[0]]=t[1]})),r=e}window[e]?window[e](t,r):salla.event.dispatch(e,t,r)}}setSallaReady(e){this.storeUTMs(),J.event.emitAsync("twilight::before.ready",e),J.status="ready",J.event.dispatch("twilight::initiated",e),window.dispatchEvent(new CustomEvent("twilight::initiated",{detail:e}))}storeUTMs(){const e={fbclid:"facebook",gad_source:"google",ttclid:"tiktok",twclid:"twitter",scid:"snapchat"},t=["fbclid","gad_source","ttclid","twclid","scid"],r=["utm_source","utm_medium","utm_campaign","utm_term","utm_content",...t],n={},i={};window.location.search.replace("?","").split("&").map((e=>e.split("="))).filter((([e])=>r.includes(e.toLowerCase()))).forEach((([e,t])=>n[e.toLowerCase()]=t));const a=t.find((e=>n[e]));!n.utm_source&&a&&(n.utm_source=e[a],n.utm_campaign=n.utm_campaign||`Using the CLICKID ${a} provided by ${n.utm_source}`,n.utm_term=n.utm_term||`${a}: ${n[a]}`),n.utm_source&&(Object.entries(n).filter((([e])=>!t.includes(e))).forEach((([e,t])=>i[`s-${e.replace("_","-")}`]=t)),i["s-utm-referrer"]=document.referrer,salla.storage.session.set("s-utms",i),this.logUTMVisitData(i))}async logUTMVisitData(e){const t=e["s-utm-source"],r=e["s-utm-medium"],n=e["s-utm-campaign"];e&&"affiliate"===t&&r&&n&&fetch(salla.config.get("affiliate.utm_url"),{method:"POST",mode:"cors",headers:{"Content-Type":"application/json","s-utm-source":t,"s-utm-medium":r,"s-utm-campaign":n}}).then((e=>{if(e.ok){const e=new URL(window.location.href),t=window.history.state;e.searchParams.delete("utm_source"),e.searchParams.delete("utm_medium"),e.searchParams.delete("utm_campaign"),window.history.replaceState(t,"",e)}}))}}function xi(e,t,r,n,i){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:i;return e===i?r:e}var Pi="undefined",Ii="object",Ai="any",Oi="*",ji=void 0!==Dt?Dt:{};ji.env&&ji.env.NODE_ENV;var Ti="undefined"!=typeof document;function Ci(e,t){return t.charAt(0)[e]()+t.slice(1)}null!=ji.versions&&ji.versions.node,"undefined"!=typeof Deno&&Deno.core,Ti&&"nodejs"===window.name||"undefined"!=typeof navigator&&void 0!==navigator.userAgent&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));var Fi=Ci.bind(null,"toUpperCase"),Ri=Ci.bind(null,"toLowerCase");function Ui(e){return Mi(e)?Fi("null"):"object"==typeof e?function(e){return qi(e.constructor)?e.constructor.name:null}(e):Object.prototype.toString.call(e).slice(8,-1)}function Li(e,t){void 0===t&&(t=!0);var r=Ui(e);return t?Ri(r):r}function Ni(e,t){return typeof t===e}var qi=Ni.bind(null,"function"),zi=Ni.bind(null,"string"),Di=Ni.bind(null,"undefined"),$i=Ni.bind(null,"boolean");function Mi(e){return null===e}function Bi(e){if(!function(e){return e&&("object"==typeof e||null!==e)}(e))return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Hi(e){return e instanceof Error||zi(e.message)&&e.constructor&&function(e){return"number"===Li(e)&&!isNaN(e)}(e.constructor.stackTraceLimit)}function Ji(e,t){if("object"!=typeof t||Mi(t))return!1;if(t instanceof e)return!0;var r=Li(new e(""));if(Hi(t))for(;t;){if(Li(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}function Gi(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?function(e,t){return void 0===t&&(t=""),e&&e.nodeName===t.toUpperCase()}(e,t):r}function Vi(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}function Wi(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function Yi(e){return function(e){for(var t,r=Object.create(null),n=/([^&=]+)=?([^&]*)/g;t=n.exec(e);){var i=Wi(t[1]),a=Wi(t[2]);"[]"===i.substring(i.length-2)?(r[i=i.substring(0,i.length-2)]||(r[i]=[])).push(a):r[i]=""===a||a}for(var o in r){var s=o.split("[");s.length>1&&(Qi(r,s.map((function(e){return e.replace(/[?[\]\\ ]/g,"")})),r[o]),delete r[o])}return r}(function(e){if(e){var t=e.match(/\?(.*)/);return t&&t[1]?t[1].split("#")[0]:""}return Ti&&window.location.search.substring(1)}(e))}function Qi(e,t,r){for(var n=t.length-1,i=0;i<n;++i){var a=t[i];if("__proto__"===a||"constructor"===a)break;a in e||(e[a]={}),e=e[a]}e[t[n]]=r}function Ki(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],i=15&r;e+="-"==n||"4"==n?n:("x"==n?i:3&i|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}Ni.bind(null,"symbol"),Ji.bind(null,TypeError),Ji.bind(null,SyntaxError),Vi(Gi,"form"),Vi(Gi,"button"),Vi(Gi,"input"),Vi(Gi,"select");var Xi="global",Zi="__global__",ea=typeof self===Ii&&self.self===self&&self||typeof b===Ii&&b.global===b&&b||void 0;function ta(e){return ea[Zi][e]}function ra(e,t){return ea[Zi][e]=t}function na(e){delete ea[Zi][e]}function ia(e,t,r){var n;try{if(oa(e)){var i=window[e];n=i[t].bind(i)}}catch(e){}return n||r}ea[Zi]||(ea[Zi]={});var aa={};function oa(e){if(typeof aa[e]!==Pi)return aa[e];try{var t=window[e];t.setItem(Pi,Pi),t.removeItem(Pi)}catch(t){return aa[e]=!1}return aa[e]=!0}function sa(){return sa=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},sa.apply(this,arguments)}var la="function",ca="undefined",ua="@@redux/"+Math.random().toString(36),da=function(){return typeof Symbol===la&&Symbol.observable||"@@observable"}(),ha=" != "+la;function pa(e,t,r){var n;if(typeof t===la&&typeof r===ca&&(r=t,t=void 0),typeof r!==ca){if(typeof r!==la)throw new Error("enhancer"+ha);return r(pa)(e,t)}if(typeof e!==la)throw new Error("reducer"+ha);var i=e,a=t,o=[],s=o,l=!1;function c(){s===o&&(s=o.slice())}function u(){return a}function d(e){if(typeof e!==la)throw new Error("Listener"+ha);var t=!0;return c(),s.push(e),function(){if(t){t=!1,c();var r=s.indexOf(e);s.splice(r,1)}}}function h(e){if(!Bi(e))throw new Error("Act != obj");if(typeof e.type===ca)throw new Error("ActType "+ca);if(l)throw new Error("Dispatch in reducer");try{l=!0,a=i(a,e)}finally{l=!1}for(var t=o=s,r=0;r<t.length;r++)(0,t[r])();return e}return h({type:"@@redux/INIT"}),(n={dispatch:h,subscribe:d,getState:u,replaceReducer:function(e){if(typeof e!==la)throw new Error("next reducer"+ha);i=e,h({type:"@@redux/INIT"})}})[da]=function(){var e,t=d;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Observer != obj");function r(){e.next&&e.next(u())}return r(),{unsubscribe:t(r)}}})[da]=function(){return this},e},n}function fa(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+ca}function ga(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce((function(e,t){return function(){return e(t.apply(void 0,[].slice.call(arguments)))}}))}function ma(){var e=arguments;return function(t){return function(r,n,i){var a,o=t(r,n,i),s=o.dispatch,l={getState:o.getState,dispatch:function(e){return s(e)}};return a=[].slice.call(e).map((function(e){return e(l)})),sa({},o,{dispatch:s=ga.apply(void 0,a)(o.dispatch)})}}}var va="__anon_id",ya="__user_id",ba="__user_traits",wa="userId",Sa="anonymousId",_a=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],Ea=["name","EVENTS","config","loaded"],ka=_a.reduce((function(e,t){return e[t]=t,e}),{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),xa=/^utm_/,Pa=/^an_prop_/,Ia=/^an_trait_/;function Aa(e){var t=e.storage.setItem;return function(r){return function(n){return function(i){if(i.type===ka.bootstrap){var a=i.params,o=i.user,s=i.persistedUser,l=i.initialUser,c=s.userId===o.userId;s.anonymousId!==o.anonymousId&&t(va,o.anonymousId),c||t(ya,o.userId),l.traits&&t(ba,sa({},c&&s.traits?s.traits:{},l.traits));var u=Object.keys(i.params);if(u.length){var d=a.an_uid,h=a.an_event,p=u.reduce((function(e,t){if(t.match(xa)||t.match(/^(d|g)clid/)){var r=t.replace(xa,"");e.campaign["campaign"===r?"name":r]=a[t]}return t.match(Pa)&&(e.props[t.replace(Pa,"")]=a[t]),t.match(Ia)&&(e.traits[t.replace(Ia,"")]=a[t]),e}),{campaign:{},props:{},traits:{}});r.dispatch(sa({type:ka.params,raw:a},p,d?{userId:d}:{})),d&&setTimeout((function(){return e.identify(d,p.traits)}),0),h&&setTimeout((function(){return e.track(h,p.props)}),0),Object.keys(p.campaign).length&&r.dispatch({type:ka.campaign,campaign:p.campaign})}}return n(i)}}}}function Oa(e){return function(t,r){if(void 0===t&&(t={}),void 0===r&&(r={}),r.type===ka.setItemEnd){if(r.key===va)return sa({},t,{anonymousId:r.value});if(r.key===ya)return sa({},t,{userId:r.value})}switch(r.type){case ka.identify:return Object.assign({},t,{userId:r.userId,traits:sa({},t.traits,r.traits)});case ka.reset:return[ya,va,ba].forEach((function(t){e.removeItem(t)})),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function ja(e){return{userId:e.getItem(ya),anonymousId:e.getItem(va),traits:e.getItem(ba)}}var Ta=function(e){return"__TEMP__"+e};function Ca(e){var t=e.storage,r=t.setItem,n=t.removeItem,i=t.getItem;return function(e){return function(t){return function(a){var o=a.userId,s=a.traits,l=a.options;if(a.type===ka.reset&&([ya,ba,va].forEach((function(e){n(e)})),[wa,Sa,"traits"].forEach((function(e){na(Ta(e))}))),a.type===ka.identify){i(va)||r(va,Ki());var c=i(ya),u=i(ba)||{};c&&c!==o&&e.dispatch({type:ka.userIdChanged,old:{userId:c,traits:u},new:{userId:o,traits:s},options:l}),o&&r(ya,o),s&&r(ba,sa({},u,s))}return t(a)}}}}var Fa={};function Ra(e,t){Fa[e]&&qi(Fa[e])&&(Fa[e](t),delete Fa[e])}function Ua(e,t,r){return new Promise((function(n,i){return t()?n(e):r<1?i(sa({},e,{queue:!0})):new Promise((function(e){return setTimeout(e,10)})).then((function(a){return Ua(e,t,r-10).then(n,i)}))}))}function La(e){return{abort:e}}var Na=function(e){var t=e.data,r=e.action,n=e.instance,i=e.state,a=e.allPlugins,o=e.allMatches,s=e.store,l=e.EVENTS;try{var c=i.plugins,u=i.context,d=r.type,h=d.match(qa),p=t.exact.map((function(e){return e.pluginName}));h&&(p=o.during.map((function(e){return e.pluginName})));var f=function(e,t){return function(r,n,i){var a=n.config,o=n.name,s=o+"."+r.type;i&&(s=i.event);var l=r.type.match(qa)?function(e,t,r,n,i){return function(a,o){var s=n?n.name:e,l=o&&Va(o)?o:r;if(n&&(!(l=o&&Va(o)?o:[e]).includes(e)||1!==l.length))throw new Error("Method "+t+" can only abort "+e+" plugin. "+JSON.stringify(l)+" input valid");return sa({},i,{abort:{reason:a,plugins:l,caller:t,_:s}})}}(o,s,t,i,r):function(e,t){return function(){throw new Error(e.type+" action not cancellable. Remove abort in "+t)}}(r,s);return{payload:Qa(r),instance:e,config:a||{},abort:l}}}(n,p),g=t.exact.reduce((function(e,t){var r=t.pluginName,n=t.methodName,i=!1;return n.match(/^initialize/)||n.match(/^reset/)||(i=!c[r].loaded),u.offline&&n.match(/^(page|track|identify)/)&&(i=!0),e[""+r]=i,e}),{});return Promise.resolve(t.exact.reduce((function(e,i,o){try{var s=i.pluginName;return Promise.resolve(e).then((function(e){function i(){return Promise.resolve(e)}var o=function(){if(t.namespaced&&t.namespaced[s])return Promise.resolve(t.namespaced[s].reduce((function(e,t,r){try{return Promise.resolve(e).then((function(e){return t.method&&qi(t.method)?(function(e,t){var r=Ya(e);if(r&&r.name===t){var n=Ya(r.method);throw new Error([t+" plugin is calling method "+e,"Plugins cant call self","Use "+r.method+" "+(n?"or "+n.method:"")+" in "+t+" plugin insteadof "+e].join("\n"))}}(t.methodName,t.pluginName),Promise.resolve(t.method({payload:e,instance:n,abort:(r=e,i=s,o=t.pluginName,function(e,t){return sa({},r,{abort:{reason:e,plugins:t||[i],caller:d,from:o||i}})}),config:Ma(t.pluginName,c,a),plugins:c})).then((function(t){var r=Bi(t)?t:{};return Promise.resolve(sa({},e,r))}))):e;var r,i,o}))}catch(e){return Promise.reject(e)}}),Promise.resolve(r))).then((function(t){e[s]=t}));e[s]=r}();return o&&o.then?o.then(i):i()}))}catch(e){return Promise.reject(e)}}),Promise.resolve({}))).then((function(e){return Promise.resolve(t.exact.reduce((function(r,i,o){try{var l=t.exact.length===o+1,u=i.pluginName,p=a[u];return Promise.resolve(r).then((function(t){var r=e[u]?e[u]:{};if(h&&(r=t),Ja(r,u))return $a({data:r,method:d,instance:n,pluginName:u,store:s}),Promise.resolve(t);if(Ja(t,u))return l&&$a({data:t,method:d,instance:n,store:s}),Promise.resolve(t);if(g.hasOwnProperty(u)&&!0===g[u])return s.dispatch({type:"queue",plugin:u,payload:r,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(t);var i=f(e[u],a[u]);return Promise.resolve(p[d]({abort:i.abort,payload:r,instance:n,config:Ma(u,c,a),plugins:c})).then((function(i){var a=Bi(i)?i:{},o=sa({},t,a),l=e[u];if(Ja(l,u))$a({data:l,method:d,instance:n,pluginName:u,store:s});else{var c=d+":"+u;(c.match(/:/g)||[]).length<2&&!d.match(za)&&!d.match(Da)&&n.dispatch(sa({},h?o:r,{type:c,_:{called:c,from:"submethod"}}))}return Promise.resolve(o)}))}))}catch(e){return Promise.reject(e)}}),Promise.resolve(r))).then((function(e){if(!(d.match(qa)||d.match(/^registerPlugin/)||d.match(Da)||d.match(za)||d.match(/^params/)||d.match(/^userIdChanged/))){if(l.plugins.includes(d),e._&&e._.originalAction===d)return e;var r=sa({},e,{_:{originalAction:e.type,called:e.type,from:"engineEnd"}});Ga(e,t.exact.length)&&!d.match(/End$/)&&(r=sa({},r,{type:e.type+"Aborted"})),s.dispatch(r)}return e}))}))}catch(e){return Promise.reject(e)}},qa=/Start$/,za=/^bootstrap/,Da=/^ready/;function $a(e){var t=e.pluginName,r=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(sa({},e.data,{type:r,_:{called:r,from:"abort"}}))}function Ma(e,t,r){var n=t[e]||r[e];return n&&n.config?n.config:{}}function Ba(e,t){return t.reduce((function(t,r){return r[e]?t.concat({methodName:e,pluginName:r.name,method:r[e]}):t}),[])}function Ha(e,t){var r=e.replace(qa,""),n=t?":"+t:"";return[""+e+n,""+r+n,r+"End"+n]}function Ja(e,t){var r=e.abort;return!!r&&(!0===r||Wa(r,t)||r&&Wa(r.plugins,t))}function Ga(e,t){var r=e.abort;if(!r)return!1;if(!0===r||zi(r))return!0;var n=r.plugins;return Va(r)&&r.length===t||Va(n)&&n.length===t}function Va(e){return Array.isArray(e)}function Wa(e,t){return!(!e||!Va(e))&&e.includes(t)}function Ya(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function Qa(e){return Object.keys(e).reduce((function(t,r){return"type"===r||(t[r]=Bi(e[r])?Object.assign({},e[r]):e[r]),t}),{})}function Ka(e,t,r){var n={};return function(i){return function(a){return function(o){try{var s,l=function(e){return s?e:a(d)},c=o.type,u=o.plugins,d=o;if(o.abort)return Promise.resolve(a(o));if(c===ka.enablePlugin&&i.dispatch({type:ka.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:o.meta}),c===ka.disablePlugin&&setTimeout((function(){return Ra(o.meta.rid,{payload:o})}),0),c===ka.initializeEnd){var h=t(),p=Object.keys(h),f=p.filter((function(e){return u.includes(e)})).map((function(e){return h[e]})),g=[],m=[],v=o.disabled,y=f.map((function(e){var t=e.loaded,r=e.name,a=e.config;return Ua(e,(function(){return t({config:a})}),1e4).then((function(t){return n[r]||(i.dispatch({type:ka.pluginReadyType(r),name:r,events:Object.keys(e).filter((function(e){return!Ea.includes(e)}))}),n[r]=!0),g=g.concat(r),e})).catch((function(e){if(e instanceof Error)throw new Error(e);return m=m.concat(e.name),e}))}));Promise.all(y).then((function(e){var t={plugins:g,failed:m,disabled:v};setTimeout((function(){p.length===y.length+v.length&&i.dispatch(sa({},{type:ka.ready},t))}),0)}))}var b=function(){if(c!==ka.bootstrap)return/^ready:([^:]*)$/.test(c)&&setTimeout((function(){return function(e,t,r){var n={},i=t(),a=e.getState(),o=a.plugins,s=a.queue,l=a.user;if(!a.context.offline&&s&&s.actions&&s.actions.length){var c=s.actions.reduce((function(e,t,r){return o[t.plugin].loaded?(e.process.push(t),e.processIndex.push(r)):(e.requeue.push(t),e.requeueIndex.push(r)),e}),{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(c.processIndex&&c.processIndex.length){c.processIndex.forEach((function(t){var a=s.actions[t],c=a.plugin,u=a.payload.type,d=i[c][u];if(d&&qi(d)){var h,p=function(e,t){return void 0===e&&(e={}),void 0===t&&(t={}),[wa,Sa].reduce((function(r,n){return e.hasOwnProperty(n)&&t[n]&&t[n]!==e[n]&&(r[n]=t[n]),r}),e)}(a.payload,l),f=n[p.meta.rid];if(!f&&(h=d({payload:p,config:o[c].config,instance:r,abort:La}))&&Bi(h)&&h.abort)return void(n[p.meta.rid]=!0);if(!f){var g=u+":"+c;e.dispatch(sa({},p,{type:g,_:{called:g,from:"queueDrain"}}))}}}));var u=s.actions.filter((function(e,t){return!~c.processIndex.indexOf(t)}));s.actions=u}}}(i,t,e)}),0),Promise.resolve(function(e,t,r,n,i){try{var a=qi(t)?t():t,o=e.type,s=o.replace(qa,"");if(e._&&e._.called)return Promise.resolve(e);var l=r.getState(),c=(h=a,void 0===(p=l.plugins)&&(p={}),void 0===(f=e.options)&&(f={}),Object.keys(h).filter((function(e){var t=f.plugins||{};return $i(t[e])?t[e]:!1!==t.all&&(!p[e]||!1!==p[e].enabled)})).map((function(e){return h[e]})));o===ka.initializeStart&&e.fromEnable&&(c=Object.keys(l.plugins).filter((function(t){var r=l.plugins[t];return e.plugins.includes(t)&&!r.initialized})).map((function(e){return a[e]})));var u=c.map((function(e){return e.name})),d=function(e,t,r){var n=Ha(e).map((function(e){return Ba(e,t)}));return t.reduce((function(r,n){var i=n.name,a=Ha(e,i).map((function(e){return Ba(e,t)})),o=a[0],s=a[1],l=a[2];return o.length&&(r.beforeNS[i]=o),s.length&&(r.duringNS[i]=s),l.length&&(r.afterNS[i]=l),r}),{before:n[0],beforeNS:{},during:n[1],duringNS:{},after:n[2],afterNS:{}})}(o,c);return Promise.resolve(Na({action:e,data:{exact:d.before,namespaced:d.beforeNS},state:l,allPlugins:a,allMatches:d,instance:r,store:n,EVENTS:i})).then((function(e){function t(){var t=function(){if(o.match(qa))return Promise.resolve(Na({action:sa({},c,{type:s+"End"}),data:{exact:d.after,namespaced:d.afterNS},state:l,allPlugins:a,allMatches:d,instance:r,store:n,EVENTS:i})).then((function(e){e.meta&&e.meta.hasCallback&&Ra(e.meta.rid,{payload:e})}))}();return t&&t.then?t.then((function(){return e})):e}if(Ga(e,u.length))return e;var c,h=function(){if(o!==s)return Promise.resolve(Na({action:sa({},e,{type:s}),data:{exact:d.during,namespaced:d.duringNS},state:l,allPlugins:a,allMatches:d,instance:r,store:n,EVENTS:i})).then((function(e){c=e}));c=e}();return h&&h.then?h.then(t):t()}))}catch(e){return Promise.reject(e)}var h,p,f}(o,t,e,i,r)).then((function(e){return s=1,a(e)}))}();return Promise.resolve(b&&b.then?b.then(l):l(b))}catch(e){return Promise.reject(e)}}}}}function Xa(e){return function(t){return function(t){return function(r){var n=r.type,i=r.key,a=r.value,o=r.options;if(n===ka.setItem||n===ka.removeItem){if(r.abort)return t(r);n===ka.setItem?e.setItem(i,a,o):e.removeItem(i,o)}return t(r)}}}}var Za=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(t,r){e[r]=e[r].concat(t)},this.removeMiddleware=function(t,r){var n=e[r].findIndex((function(e){return e===t}));-1!==n&&(e[r]=[].concat(e[r].slice(0,n),e[r].slice(n+1)))},this.dynamicMiddlewares=function(t){return function(r){return function(n){return function(i){var a={getState:r.getState,dispatch:function(e){return r.dispatch(e)}},o=e[t].map((function(e){return e(a)}));return ga.apply(void 0,o)(n)(i)}}}}};function eo(e){return function(t,r){void 0===t&&(t={});var n={};if("initialize:aborted"===r.type)return t;if(/^registerPlugin:([^:]*)$/.test(r.type)){var i=to(r.type,"registerPlugin"),a=e()[i];if(!a||!i)return t;var o=r.enabled,s=a.config;return n[i]={enabled:o,initialized:!!o&&Boolean(!a.initialize),loaded:!!o&&Boolean(a.loaded({config:s})),config:s},sa({},t,n)}if(/^initialize:([^:]*)$/.test(r.type)){var l=to(r.type,ka.initialize),c=e()[l];return c&&l?(n[l]=sa({},t[l],{initialized:!0,loaded:Boolean(c.loaded({config:c.config}))}),sa({},t,n)):t}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=sa({},t[r.name],{loaded:!0}),sa({},t,n);switch(r.type){case ka.disablePlugin:return sa({},t,ro(r.plugins,!1,t));case ka.enablePlugin:return sa({},t,ro(r.plugins,!0,t));default:return t}}}function to(e,t){return e.substring(t.length+1,e.length)}function ro(e,t,r){return e.reduce((function(e,n){return e[n]=sa({},r[n],{enabled:t}),e}),r)}function no(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var io={last:{},history:[]};function ao(e,t){void 0===e&&(e=io);var r=t.options,n=t.meta;if(t.type===ka.track){var i=no(sa({event:t.event,properties:t.properties},Object.keys(r).length&&{options:r},{meta:n}));return sa({},e,{last:i,history:e.history.concat(i)})}return e}var oo={actions:[]};function so(e,t){void 0===e&&(e=oo);var r=t.payload;switch(t.type){case"queue":var n;return n=r&&r.type&&r.type===ka.identify?[t].concat(e.actions):e.actions.concat(t),sa({},e,{actions:n});case"dequeue":return[];default:return e}}var lo=/#.*$/;function co(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(lo,""):"")}var uo,ho=function(e){if(void 0===e&&(e={}),!Ti)return e;var t=document,r=t.title,n=t.referrer,i=window,a=i.location,o=i.innerWidth,s=i.innerHeight,l=a.hash,c=a.search,u=function(e){var t=function(){if(Ti)for(var e,t=document.getElementsByTagName("link"),r=0;e=t[r];r++)if("canonical"===e.getAttribute("rel"))return e.getAttribute("href")}();return t?t.match(/\?/)?t:t+e:window.location.href.replace(lo,"")}(c),d={title:r,url:u,path:co(u),hash:l,search:c,width:o,height:s};return n&&""!==n&&(d.referrer=n),sa({},d,e)},po={last:{},history:[]};function fo(e,t){void 0===e&&(e=po);var r=t.options;if(t.type===ka.page){var n=no(sa({properties:t.properties,meta:t.meta},Object.keys(r).length&&{options:r}));return sa({},e,{last:n,history:e.history.concat(n)})}return e}uo={};var go={initialized:!1,sessionId:Ki(),app:null,version:null,debug:!1,offline:!!Ti&&!navigator.onLine,os:{name:"na"},userAgent:Ti?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.14"},timezone:void 0,locale:void 0,campaign:{},referrer:uo};function mo(e,t){void 0===e&&(e=go);var r=e.initialized,n=t.campaign;switch(t.type){case ka.campaign:return sa({},e,{campaign:n});case ka.offline:return sa({},e,{offline:!0});case ka.online:return sa({},e,{offline:!1});default:return r?e:sa({},go,e,{initialized:!0})}}var vo=["plugins","reducers","storage"];function yo(){return ra("analytics",[]),function(e){return function(t,r,n){var i=e(t,r,n),a=i.dispatch;return Object.assign(i,{dispatch:function(e){return ea[Zi].analytics.push(e.action||e),a(e)}})}}}function bo(e){return function(){return ga(ga.apply(null,arguments),yo())}}function wo(e){return e?function(e){return"array"===Li(e)}(e)?e:[e]:[]}function So(e,t,r){void 0===e&&(e={});var n,i,a=Ki();return t&&(Fa[a]=(n=t,i=function(e){for(var t,r=e||Array.prototype.slice.call(arguments),n=0;n<r.length;n++)if(qi(r[n])){t=r[n];break}return t}(r),function(e){i&&i(e),n(e)})),sa({},e,{rid:a,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function _o(e){void 0===e&&(e={});var t=e.reducers||{},r=e.initialUser||{},n=(e.plugins||[]).reduce((function(e,t){if(qi(t))return e.middlewares=e.middlewares.concat(t),e;if(t.NAMESPACE&&(t.name=t.NAMESPACE),!t.name)throw new Error("https://lytics.dev/errors/1");t.config||(t.config={});var r=t.EVENTS?Object.keys(t.EVENTS).map((function(e){return t.EVENTS[e]})):[];e.pluginEnabled[t.name]=!(!1===t.enabled||!1===t.config.enabled),delete t.enabled,t.methods&&(e.methods[t.name]=Object.keys(t.methods).reduce((function(e,r){var n;return e[r]=(n=t.methods[r],function(){for(var e=Array.prototype.slice.call(arguments),t=new Array(n.length),r=0;r<e.length;r++)t[r]=e[r];return t[t.length]=S,n.apply({instance:S},t)}),e}),{}),delete t.methods);var n=Object.keys(t).concat(r),i=new Set(e.events.concat(n));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(t),e.plugins[t.name])throw new Error(t.name+"AlreadyLoaded");return e.plugins[t.name]=t,e.plugins[t.name].loaded||(e.plugins[t.name].loaded=function(){return!0}),e}),{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=e.storage?e.storage:{getItem:ta,setItem:ra,removeItem:na},a=function(e){return function(t,r,n){return r.getState("user")[t]||(n&&Bi(n)&&n[t]?n[t]:ja(e)[t]||ta(Ta(t))||null)}}(i),o=n.plugins,s=n.events.filter((function(e){return!Ea.includes(e)})).sort(),l=new Set(s.concat(_a).filter((function(e){return!Ea.includes(e)}))),c=Array.from(l).sort(),u=function(){return o},d=new Za,h=d.addMiddleware,p=d.removeMiddleware,f=d.dynamicMiddlewares,g=function(){throw new Error("Abort disabled inListener")},m=Yi(),v=ja(i),y=sa({},v,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Ki());var b=sa({enable:function(e,t){return new Promise((function(r){T.dispatch({type:ka.enablePlugin,plugins:wo(e),_:{originalAction:ka.enablePlugin}},r,[t])}))},disable:function(e,t){return new Promise((function(r){T.dispatch({type:ka.disablePlugin,plugins:wo(e),_:{originalAction:ka.disablePlugin}},r,[t])}))}},n.methods),w=!1,S={identify:function(e,t,r,n){try{var i=zi(e)?e:null,o=Bi(e)?e:t,s=r||{},l=S.user();ra(Ta(wa),i);var c=i||o.userId||a(wa,S,o);return Promise.resolve(new Promise((function(e){T.dispatch(sa({type:ka.identifyStart,userId:c,traits:o||{},options:s,anonymousId:l.anonymousId},l.id&&l.id!==i&&{previousId:l.id}),e,[t,r,n])})))}catch(e){return Promise.reject(e)}},track:function(e,t,r,n){try{var i=Bi(e)?e.event:e;if(!i||!zi(i))throw new Error("EventMissing");var o=Bi(e)?e:t||{},s=Bi(r)?r:{};return Promise.resolve(new Promise((function(e){T.dispatch({type:ka.trackStart,event:i,properties:o,options:s,userId:a(wa,S,t),anonymousId:a(Sa,S,t)},e,[t,r,n])})))}catch(e){return Promise.reject(e)}},page:function(e,t,r){try{var n=Bi(e)?e:{},i=Bi(t)?t:{};return Promise.resolve(new Promise((function(o){T.dispatch({type:ka.pageStart,properties:ho(n),options:i,userId:a(wa,S,n),anonymousId:a(Sa,S,n)},o,[e,t,r])})))}catch(e){return Promise.reject(e)}},user:function(e){if(e===wa||"id"===e)return a(wa,S);if(e===Sa||"anonId"===e)return a(Sa,S);var t=S.getState("user");return e?xi(t,e):t},reset:function(e){return new Promise((function(t){T.dispatch({type:ka.resetStart},t,e)}))},ready:function(e){return w&&e({plugins:b,instance:S}),S.on(ka.ready,(function(t){e(t),w=!0}))},on:function(e,t){if(!e||!qi(t))return!1;if(e===ka.bootstrap)throw new Error(".on disabled for "+e);var r=/Start$|Start:/;if("*"===e){var n=function(e){return function(e){return function(n){return n.type.match(r)&&t({payload:n,instance:S,plugins:o}),e(n)}}},i=function(e){return function(e){return function(n){return n.type.match(r)||t({payload:n,instance:S,plugins:o}),e(n)}}};return h(n,Eo),h(i,ko),function(){p(n,Eo),p(i,ko)}}var a=e.match(r)?Eo:ko,s=function(r){return function(r){return function(n){return n.type===e&&t({payload:n,instance:S,plugins:o,abort:g}),r(n)}}};return h(s,a),function(){return p(s,a)}},once:function(e,t){if(!e||!qi(t))return!1;if(e===ka.bootstrap)throw new Error(".once disabled for "+e);var r=S.on(e,(function(e){t({payload:e.payload,instance:S,plugins:o,abort:g}),r()}));return r},getState:function(e){var t=T.getState();return e?xi(t,e):Object.assign({},t)},dispatch:function(e){var t=zi(e)?{type:e}:e;if(_a.includes(t.type))throw new Error("reserved action "+t.type);var r=sa({},t,{_:sa({originalAction:t.type},e._||{})});T.dispatch(r)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:i.getItem,setItem:function(e,t,r){T.dispatch({type:ka.setItemStart,key:e,value:t,options:r})},removeItem:function(e,t){T.dispatch({type:ka.removeItemStart,key:e,options:t})}},setAnonymousId:function(e,t){S.storage.setItem(va,e,t)},events:{core:_a,plugins:s}},_=n.middlewares.concat([function(e){return function(e){return function(t){return t.meta||(t.meta=So()),e(t)}}},f(Eo),Ka(S,u,{all:c,plugins:s}),Xa(i),Aa(S),Ca(S),f(ko)]),E={context:mo,user:Oa(i),page:fo,track:ao,plugins:eo(u),queue:so},k=ga,x=ga;if(Ti&&e.debug){var P=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;P&&(k=P({trace:!0,traceLimit:25})),x=function(){return 0===arguments.length?yo():Bi(typeof arguments[0])?bo():bo().apply(null,arguments)}}var I,A=function(e){return Object.keys(e).reduce((function(t,r){return vo.includes(r)||(t[r]=e[r]),t}),{})}(e),O=n.pluginsArray.reduce((function(e,t){var r=t.name,i=t.config,a=t.loaded,o=n.pluginEnabled[r];return e[r]={enabled:o,initialized:!!o&&Boolean(!t.initialize),loaded:Boolean(a({config:i})),config:i},e}),{}),j={context:A,user:y,plugins:O},T=pa(function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var i=t[n];typeof e[i]===la&&(r[i]=e[i])}var a,o=Object.keys(r);try{!function(e){Object.keys(e).forEach((function(t){var r=e[t];if(typeof r(void 0,{type:"@@redux/INIT"})===ca||typeof r(void 0,{type:ua})===ca)throw new Error("reducer "+t+" "+ca)}))}(r)}catch(e){a=e}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var n=!1,i={},s=0;s<o.length;s++){var l=o[s],c=e[l],u=(0,r[l])(c,t);if(typeof u===ca){var d=fa(l,t);throw new Error(d)}i[l]=u,n=n||u!==c}return n?i:e}}(sa({},E,t)),j,x(k(ma.apply(void 0,_))));T.dispatch=(I=T.dispatch,function(e,t,r){var n=sa({},e,{meta:So(e.meta,t,wo(r))});return I.apply(null,[n])});var C=Object.keys(o);T.dispatch({type:ka.bootstrap,plugins:C,config:A,params:m,user:y,initialUser:r,persistedUser:v});var F=C.filter((function(e){return n.pluginEnabled[e]})),R=C.filter((function(e){return!n.pluginEnabled[e]}));return T.dispatch({type:ka.registerPlugins,plugins:C,enabled:n.pluginEnabled}),n.pluginsArray.map((function(e,t){var r=e.bootstrap,i=e.config,a=e.name;r&&qi(r)&&r({instance:S,config:i,payload:e}),T.dispatch({type:ka.registerPluginType(a),name:a,enabled:n.pluginEnabled[a],plugin:e}),n.pluginsArray.length===t+1&&T.dispatch({type:ka.initializeStart,plugins:F,disabled:R})})),S}var Eo="before",ko="after",xo="cookie",Po=jo(),Io=To,Ao=To;function Oo(e){return Po?To(e,"",-1):na(e)}function jo(){if(void 0!==Po)return Po;var e="cookiecookie";try{To(e,e),Po=-1!==document.cookie.indexOf(e),Oo(e)}catch(e){Po=!1}return Po}function To(e,t,r,n,i,a){if("undefined"!=typeof window){var o=arguments.length>1;return!1===Po&&(o?ra(e,t):ta(e)),o?document.cookie=e+"="+encodeURIComponent(t)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(i?"; domain="+i:"")+(a?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}}var Co="localStorage",Fo=oa.bind(null,"localStorage");ia("localStorage","getItem",ta),ia("localStorage","setItem",ra),ia("localStorage","removeItem",na);var Ro="sessionStorage",Uo=oa.bind(null,"sessionStorage");function Lo(e){var t=e;try{if("true"===(t=JSON.parse(e)))return!0;if("false"===t)return!1;if(Bi(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}ia("sessionStorage","getItem",ta),ia("sessionStorage","setItem",ra),ia("sessionStorage","removeItem",na);var No=Fo(),qo=Uo(),zo=jo();function Do(e,t){if(e){var r=$o(t),n=!Jo(r),i=Mo(r)?Lo(localStorage.getItem(e)):void 0;if(n&&!Di(i))return i;var a=Bo(r)?Lo(Io(e)):void 0;if(n&&a)return a;var o=Ho(r)?Lo(sessionStorage.getItem(e)):void 0;if(n&&o)return o;var s=ta(e);return n?s:{localStorage:i,sessionStorage:o,cookie:a,global:s}}}function $o(e){return e?zi(e)?e:e.storage:Ai}function Mo(e){return No&&Go(e,Co)}function Bo(e){return zo&&Go(e,xo)}function Ho(e){return qo&&Go(e,Ro)}function Jo(e){return e===Oi||"all"===e}function Go(e,t){return e===Ai||e===t||Jo(e)}function Vo(e,t,r){return{location:e,current:t,previous:r}}var Wo={setItem:function(e,t,r){if(e&&!Di(t)){var n={},i=$o(r),a=JSON.stringify(t),o=!Jo(i);return Mo(i)&&(n[Co]=Vo(Co,t,Lo(localStorage.getItem(e))),localStorage.setItem(e,a),o)?n[Co]:Bo(i)&&(n[xo]=Vo(xo,t,Lo(Io(e))),Ao(e,a),o)?n[xo]:Ho(i)&&(n[Ro]=Vo(Ro,t,Lo(sessionStorage.getItem(e))),sessionStorage.setItem(e,a),o)?n[Ro]:(n[Xi]=Vo(Xi,t,ta(e)),ra(e,t),o?n[Xi]:n)}},getItem:Do,removeItem:function(e,t){if(e){var r=$o(t),n=Do(e,Oi),i={};return!Di(n.localStorage)&&Mo(r)&&(localStorage.removeItem(e),i[Co]=n.localStorage),!Di(n.cookie)&&Bo(r)&&(Oo(e),i[xo]=n.cookie),!Di(n.sessionStorage)&&Ho(r)&&(sessionStorage.removeItem(e),i[Ro]=n.sessionStorage),!Di(n.global)&&Go(r,Xi)&&(na(e),i[Xi]=n.global),i}}};function Yo(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ko(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qo(Object(r),!0).forEach((function(t){Yo(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qo(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Xo(e,t){const r=function(e){return Array.prototype.slice.call(window.document.querySelectorAll("script")).find((t=>t.src===e))}(e);if(void 0!==r){const e=null==r?void 0:r.getAttribute("status");if("loaded"===e)return Promise.resolve(r);if("loading"===e)return new Promise(((e,t)=>{r.addEventListener("load",(()=>e(r))),r.addEventListener("error",(e=>t(e)))}))}return new Promise(((r,n)=>{var i,a;const o=window.document.createElement("script");o.type="text/javascript",o.src=function(e,t){let r=e;return r.startsWith("http")||(r=`https://${(null==t?void 0:t.www)?"www.":""}${r}`),(null==t?void 0:t.min)?r+=".min.js":(null==t?void 0:t.js)&&(r+=".js"),(null==t?void 0:t.query)&&(r+="?"+t.query),r}(e,t),o.async=!0,o.setAttribute("status","loading");for(const[e,r]of Object.entries(null!==(i=null==t?void 0:t.attributes)&&void 0!==i?i:{}))o.setAttribute(e,r);o.onload=()=>{o.onerror=o.onload=null,o.setAttribute("status","loaded"),r(o)},o.onerror=()=>{o.onerror=o.onload=null,o.setAttribute("status","error"),n(new Error(`Failed to load ${e}`))};const s=window.document.getElementsByTagName("script")[0];null===(a=s.parentElement)||void 0===a||a.insertBefore(o,s)}))}var Zo=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const es={id:"tag",handle(e,t){return Zo(this,void 0,void 0,(function*(){bs(t,e)&&function(e,t,r={}){let n;try{n=JSON.parse(e)}catch(t){n={code:e,lang:"javascript"}}const i=r.debug||!1;if(il())if("javascript"===n.lang)!function(e,t){const r=`jitsu_event_${gl()}`;window[r]=t;const n=`(function(){\n const event = ${r};\n ${e}\n })()`;try{rs(n)}catch(e){console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `,n)}finally{delete window[r]}}(n.code,t);else{const e=document.createElement("span");e.innerHTML=function(e,t){return e.replace(/{{\s*event\s*}}/g,JSON.stringify(t))}(n.code,t),document.body.insertAdjacentElement("beforeend",e);e.querySelectorAll("script").forEach((e=>{const t=document.createElement("script");t.type=t.type||"text/javascript",e.hasAttribute("src")&&(t.src=e.src),t.text=e.text,i&&console.log("[JITSU] Executing script"+(e.hasAttribute("src")?` ${e.src}`:""),t.text),document.head.appendChild(t),document.head.removeChild(t)}))}else i&&console.log("[JITSU] insertTags(): cannot insert tags in non-browser environment")}(e.code,t)}))}};let ts="ve".split("").reverse().join("");const rs=globalThis[ts+"al"];var ns=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const is="cdn.lr-ingest.io/",as={id:"logrocket",handle(e,t){return ns(this,void 0,void 0,(function*(){if(!bs(t,e))return;!function(e){ns(this,void 0,void 0,(function*(){"fresh"===os()&&(ss("loading"),Xo(`${is}LogRocket`,{min:!0,attributes:{crossOrigin:"anonymous"}}).then((()=>{if(window.LogRocket){try{window.LogRocket.init(e)}catch(t){console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),ss("failed")}ss("loaded"),cs(window.LogRocket)}})).catch((t=>{console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),ss("failed")})))}))}(e.appId);ls().push((e=>{"identify"===t.type&&t.userId&&e.identify(t.userId,t.traits||{})})),"loaded"===os()&&cs(window.LogRocket)}))}};function os(){return window.__jitsuLrState||"fresh"}function ss(e){window.__jitsuLrState=e}function ls(){return window.__jitsuLrQueue||(window.__jitsuLrQueue=[])}function cs(e){const t=ls();for(;t.length>0;){const r=t.shift();try{const t=r(e);t&&t.catch((e=>console.warn(`Async LogRocket method failed: ${e.message}`,e)))}catch(e){console.warn(`LogRocket method failed: ${e.message}`,e)}}}var us=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const ds={id:"gtm",handle(e,t){return us(this,void 0,void 0,(function*(){var r,n,i,a,o,s,l,c,u,d,h,p,f,g;const m=!!e.debug;if(!bs(t,e))return;yield function(e,t){return us(this,void 0,void 0,(function*(){if("fresh"!==(window.__jitsuGtmState||"fresh"))return;hs("loading");const r=e.dataLayerName||"dataLayer",n=e.containerId;!function(e,r,i){e[r]=e[r]||[],e[r].push({user_id:t.userId}),e[r].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});Xo("googletagmanager.com/gtm",{www:!0,js:!0,query:"id="+i+("dataLayer"!=r?"&l="+r:"")}).then((()=>{hs("loaded")})).catch((e=>{console.warn(`GTM (containerId=${n}) init failed: ${e.message}`,e),hs("failed")}))}(window,r,n)}))}(e,t);const v=window[e.dataLayerName||"dataLayer"],y=Object.assign(Object.assign({},(null==t?void 0:t.traits)||{}),(null===(r=null==t?void 0:t.context)||void 0===r?void 0:r.traits)||{}),b=function(e,...t){return Object.fromEntries(Object.entries(e).filter((([e])=>!t.includes(e))))}(y,"id","userId","user_id","anonymousId","userId");m&&console.debug("GTM plugin will be applied to following payload",t);const w={email_address:y.email},S=Object.assign(Object.assign(Object.assign(Object.assign({},t.userId?{user_id:t.userId,userId:t.userId}:{}),t.anonymousId?{anonymousId:t.anonymousId}:{}),b),{user_data:Object.keys(w).length>0?w:void 0});m&&console.debug("GTM plugin will set following user-related data layer vars",S);const _=t.properties||{},E={page_location:_.url||(null===(i=null===(n=t.context)||void 0===n?void 0:n.page)||void 0===i?void 0:i.url),page_title:_.title||(null===(o=null===(a=t.context)||void 0===a?void 0:a.page)||void 0===o?void 0:o.title),page_path:_.path||(null===(l=null===(s=t.context)||void 0===s?void 0:s.page)||void 0===l?void 0:l.path),page_hash:_.hash||(null===(u=null===(c=t.context)||void 0===c?void 0:c.page)||void 0===u?void 0:u.hash),page_search:_.search||(null===(h=null===(d=t.context)||void 0===d?void 0:d.page)||void 0===h?void 0:h.search),page_referrer:null!==(g=null===(f=null===(p=null==t?void 0:t.context)||void 0===p?void 0:p.page)||void 0===f?void 0:f.referrer)&&void 0!==g?g:""};m&&console.debug("GTM plugin will set following context (page) related data layer vars",S);const k=e=>{v.push(e),m&&console.debug("GTM plugin will push following data to dataLayer",e)};switch(t.type){case"page":k(Object.assign(Object.assign({event:"page_view"},E),S));break;case"track":const{properties:e}=t;k(Object.assign(Object.assign(Object.assign({event:t.event},E),e),S));break;case"identify":const{traits:r}=t;k(Object.assign(Object.assign(Object.assign({event:"identify"},E),r),S))}v.push((function(){this.reset()}))}))}};function hs(e){window.__jitsuGtmState=e}var ps=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const fs=[new Uint8Array([109,111,99,46,114,101,103,97,110,97,109,103,97,116,101,108,103,111,111,103]),new Uint8Array([103,97,116,103]),new Uint8Array([115,106])];function gs(e){return(new TextDecoder).decode(e)}const ms={id:"ga4-tag",handle(e,t){return ps(this,void 0,void 0,(function*(){var r,n;if(!bs(t,e))return;yield function(e,t){return ps(this,void 0,void 0,(function*(){if("fresh"!==(window.__jitsuGa4State||"fresh"))return;vs("loading");const r=e.dataLayerName||"dataLayer",n="dataLayer"!==r?"&l="+r:"",i=e.measurementIds;window[r]=window[r]||[];const a=function(){window[r].push(arguments)};a("js",new Date),a("config",i,Object.assign(Object.assign({},t.userId?{user_id:t.userId}:{}),e.autoPageView?{}:{send_page_view:!1})),Xo(fs.map((e=>e.reverse())).map(gs).join("/"),{query:`id=${i}${n}`,www:!0}).then((()=>{vs("loaded")})).catch((t=>{console.warn(`GA4 (containerId=${e.measurementIds}) init failed: ${t.message}`,t),vs("failed")}))}))}(e,t);const i=window[e.dataLayerName||"dataLayer"],a=function(){i.push(arguments)},o=Object.assign(Object.assign({},t.userId?{user_id:t.userId,userId:t.userId}:{}),t.anonymousId?{anonymousId:t.anonymousId}:{});switch(t.userId&&a("set",{user_id:t.userId}),t.type){case"page":if(e.autoPageView){console.log("autoPageView");break}const{properties:i,context:s}=t;a("event","page_view",Object.assign({page_location:i.url,page_title:i.title,page_path:i.path,page_hash:i.hash,page_search:i.search,page_referrer:null!==(n=null===(r=null==s?void 0:s.page)||void 0===r?void 0:r.referrer)&&void 0!==n?n:""},o));break;case"track":const{properties:l}=t,c=Object.assign(Object.assign({},l),o);a("event",t.event,c);break;case"identify":const{traits:u}=t;a("event","identify",Object.assign(Object.assign({},u),o))}}))}};function vs(e){window.__jitsuGa4State=e}function ys(e,t){return"*"===e||e.toLowerCase().trim()===(t||"").trim().toLowerCase()}function bs(e,t){const{hosts:r="*",events:n="*"}=t;try{const t=Array.isArray(n)?n:n.split("\n");return!(!(Array.isArray(r)?r:r.split("\n")).find((t=>{var r,n,i,a;return i=t,a=null===(n=null===(r=e.context)||void 0===r?void 0:r.page)||void 0===n?void 0:n.host,"*"===i||(a=a||"",i.startsWith("*.")?a.endsWith(i.substring(1)):i===a)}))||!t.find((t=>ys(t,e.type)))&&!t.find((t=>ys(t,e.event))))}catch(e){throw console.warn(`Failed to apply filters: ${e.message}. Typeof events: ${typeof n}, typeof hosts: ${typeof r}. Values`,n,r),new Error(`Failed to apply filters: ${e.message}. Typeof events: ${typeof n}, typeof hosts: ${typeof r}`)}}const ws={[es.id]:es,[ds.id]:ds,[ms.id]:ms,[as.id]:as},Ss="2.0.0",_s="@jitsu/js",Es="ac,com.ac,edu.ac,gov.ac,net.ac,mil.ac,org.ac,ad,nom.ad,ae,co.ae,net.ae,org.ae,sch.ae,ac.ae,gov.ae,mil.ae,aero,af,gov.af,com.af,org.af,net.af,edu.af,ag,com.ag,org.ag,net.ag,co.ag,nom.ag,ai,off.ai,com.ai,net.ai,org.ai,al,com.al,edu.al,gov.al,mil.al,net.al,org.al,am,co.am,com.am,commune.am,net.am,org.am,ao,ed.ao,gv.ao,og.ao,co.ao,pb.ao,it.ao,aq,ar,bet.ar,com.ar,coop.ar,edu.ar,gob.ar,gov.ar,int.ar,mil.ar,musica.ar,mutual.ar,net.ar,org.ar,senasa.ar,tur.ar,arpa,e164.arpa,in-addr.arpa,ip6.arpa,iris.arpa,uri.arpa,urn.arpa,as,gov.as,asia,at,ac.at,co.at,gv.at,or.at,sth.ac.at,au,com.au,net.au,org.au,edu.au,gov.au,asn.au,id.au,act.au,nsw.au,nt.au,qld.au,sa.au,tas.au,vic.au,wa.au,aw,com.aw,ax,az,com.az,net.az,int.az,gov.az,org.az,edu.az,info.az,pp.az,mil.az,name.az,pro.az,biz.az,ba,com.ba,edu.ba,gov.ba,mil.ba,net.ba,org.ba,bb,biz.bb,co.bb,com.bb,edu.bb,gov.bb,info.bb,net.bb,org.bb,store.bb,tv.bb,bd,be,ac.be,bf,gov.bf,bg,a.bg,b.bg,c.bg,d.bg,e.bg,f.bg,g.bg,h.bg,i.bg,j.bg,k.bg,l.bg,m.bg,n.bg,o.bg,p.bg,q.bg,r.bg,s.bg,t.bg,u.bg,v.bg,w.bg,x.bg,y.bg,z.bg,0.bg,1.bg,2.bg,3.bg,4.bg,5.bg,6.bg,7.bg,8.bg,9.bg,bh,com.bh,edu.bh,net.bh,org.bh,gov.bh,bi,co.bi,com.bi,edu.bi,or.bi,org.bi,biz,bj,africa.bj,agro.bj,architectes.bj,assur.bj,avocats.bj,co.bj,com.bj,eco.bj,econo.bj,edu.bj,info.bj,loisirs.bj,money.bj,net.bj,org.bj,ote.bj,resto.bj,restaurant.bj,tourism.bj,univ.bj,bm,com.bm,edu.bm,gov.bm,net.bm,org.bm,bn,com.bn,edu.bn,gov.bn,net.bn,org.bn,bo,com.bo,edu.bo,gob.bo,int.bo,org.bo,net.bo,mil.bo,tv.bo,web.bo,br,9guacu.br,abc.br,adm.br,adv.br,agr.br,aju.br,am.br,anani.br,aparecida.br,app.br,arq.br,art.br,ato.br,b.br,barueri.br,belem.br,bhz.br,bib.br,bio.br,blog.br,bmd.br,boavista.br,bsb.br,campinagrande.br,campinas.br,caxias.br,cim.br,cng.br,cnt.br,com.br,contagem.br,coop.br,coz.br,cri.br,cuiaba.br,curitiba.br,def.br,des.br,det.br,dev.br,ecn.br,eco.br,edu.br,emp.br,enf.br,eng.br,esp.br,etc.br,eti.br,far.br,feira.br,flog.br,floripa.br,fm.br,fnd.br,fortal.br,fot.br,foz.br,fst.br,g12.br,geo.br,ggf.br,goiania.br,gov.br,gru.br,imb.br,ind.br,inf.br,jab.br,jampa.br,jdf.br,joinville.br,jor.br,jus.br,leg.br,lel.br,log.br,londrina.br,macapa.br,maceio.br,manaus.br,maringa.br,mat.br,med.br,mil.br,morena.br,mp.br,mus.br,natal.br,net.br,niteroi.br,nom.br,not.br,ntr.br,odo.br,ong.br,org.br,osasco.br,palmas.br,poa.br,ppg.br,pro.br,psc.br,psi.br,pvh.br,qsl.br,radio.br,rec.br,recife.br,rep.br,ribeirao.br,rio.br,riobranco.br,riopreto.br,salvador.br,sampa.br,santamaria.br,santoandre.br,saobernardo.br,saogonca.br,seg.br,sjc.br,slg.br,slz.br,sorocaba.br,srv.br,taxi.br,tc.br,tec.br,teo.br,the.br,tmp.br,trd.br,tur.br,tv.br,udi.br,vet.br,vix.br,vlog.br,wiki.br,zlg.br,bs,com.bs,net.bs,org.bs,edu.bs,gov.bs,bt,com.bt,edu.bt,gov.bt,net.bt,org.bt,bv,bw,co.bw,org.bw,by,gov.by,mil.by,com.by,of.by,bz,com.bz,net.bz,org.bz,edu.bz,gov.bz,ca,ab.ca,bc.ca,mb.ca,nb.ca,nf.ca,nl.ca,ns.ca,nt.ca,nu.ca,on.ca,pe.ca,qc.ca,sk.ca,yk.ca,gc.ca,cat,cc,cd,gov.cd,cf,cg,ch,ci,org.ci,or.ci,com.ci,co.ci,edu.ci,ed.ci,ac.ci,net.ci,go.ci,asso.ci,aéroport.ci,int.ci,presse.ci,md.ci,gouv.ci,ck,cl,co.cl,gob.cl,gov.cl,mil.cl,cm,co.cm,com.cm,gov.cm,net.cm,cn,ac.cn,com.cn,edu.cn,gov.cn,net.cn,org.cn,mil.cn,co,arts.co,com.co,edu.co,firm.co,gov.co,info.co,int.co,mil.co,net.co,nom.co,org.co,rec.co,web.co,com,coop,cr,ac.cr,co.cr,ed.cr,fi.cr,go.cr,or.cr,sa.cr,cu,com.cu,edu.cu,org.cu,net.cu,gov.cu,inf.cu,cv,com.cv,edu.cv,int.cv,nome.cv,org.cv,cw,com.cw,edu.cw,net.cw,org.cw,cx,gov.cx,cy,ac.cy,biz.cy,com.cy,ekloges.cy,gov.cy,ltd.cy,mil.cy,net.cy,org.cy,press.cy,pro.cy,tm.cy,cz,de,dj,dk,dm,com.dm,net.dm,org.dm,edu.dm,gov.dm,do,art.do,com.do,edu.do,gob.do,gov.do,mil.do,net.do,org.do,sld.do,web.do,dz,art.dz,asso.dz,com.dz,edu.dz,gov.dz,org.dz,net.dz,pol.dz,soc.dz,tm.dz,ec,com.ec,info.ec,net.ec,fin.ec,k12.ec,med.ec,pro.ec,org.ec,edu.ec,gov.ec,gob.ec,mil.ec,edu,ee,edu.ee,gov.ee,riik.ee,lib.ee,med.ee,com.ee,pri.ee,aip.ee,org.ee,fie.ee,eg,com.eg,edu.eg,eun.eg,gov.eg,mil.eg,name.eg,net.eg,org.eg,sci.eg,er,es,com.es,nom.es,org.es,gob.es,edu.es,et,com.et,gov.et,org.et,edu.et,biz.et,name.et,info.et,net.et,eu,fi,aland.fi,fj,ac.fj,biz.fj,com.fj,gov.fj,info.fj,mil.fj,name.fj,net.fj,org.fj,pro.fj,fk,com.fm,edu.fm,net.fm,org.fm,fm,fo,fr,asso.fr,com.fr,gouv.fr,nom.fr,prd.fr,tm.fr,aeroport.fr,avocat.fr,avoues.fr,cci.fr,chambagri.fr,chirurgiens-dentistes.fr,experts-comptables.fr,geometre-expert.fr,greta.fr,huissier-justice.fr,medecin.fr,notaires.fr,pharmacien.fr,port.fr,veterinaire.fr,ga,gb,edu.gd,gov.gd,gd,ge,com.ge,edu.ge,gov.ge,org.ge,mil.ge,net.ge,pvt.ge,gf,gg,co.gg,net.gg,org.gg,gh,com.gh,edu.gh,gov.gh,org.gh,mil.gh,gi,com.gi,ltd.gi,gov.gi,mod.gi,edu.gi,org.gi,gl,co.gl,com.gl,edu.gl,net.gl,org.gl,gm,gn,ac.gn,com.gn,edu.gn,gov.gn,org.gn,net.gn,gov,gp,com.gp,net.gp,mobi.gp,edu.gp,org.gp,asso.gp,gq,gr,com.gr,edu.gr,net.gr,org.gr,gov.gr,gs,gt,com.gt,edu.gt,gob.gt,ind.gt,mil.gt,net.gt,org.gt,gu,com.gu,edu.gu,gov.gu,guam.gu,info.gu,net.gu,org.gu,web.gu,gw,gy,co.gy,com.gy,edu.gy,gov.gy,net.gy,org.gy,hk,com.hk,edu.hk,gov.hk,idv.hk,net.hk,org.hk,hm,hn,com.hn,edu.hn,org.hn,net.hn,mil.hn,gob.hn,hr,iz.hr,from.hr,name.hr,com.hr,ht,com.ht,shop.ht,firm.ht,info.ht,adult.ht,net.ht,pro.ht,org.ht,med.ht,art.ht,coop.ht,pol.ht,asso.ht,edu.ht,rel.ht,gouv.ht,perso.ht,hu,co.hu,info.hu,org.hu,priv.hu,sport.hu,tm.hu,2000.hu,agrar.hu,bolt.hu,casino.hu,city.hu,erotica.hu,erotika.hu,film.hu,forum.hu,games.hu,hotel.hu,ingatlan.hu,jogasz.hu,konyvelo.hu,lakas.hu,media.hu,news.hu,reklam.hu,sex.hu,shop.hu,suli.hu,szex.hu,tozsde.hu,utazas.hu,video.hu,id,ac.id,biz.id,co.id,desa.id,go.id,mil.id,my.id,net.id,or.id,ponpes.id,sch.id,web.id,ie,gov.ie,il,ac.il,co.il,gov.il,idf.il,k12.il,muni.il,net.il,org.il,im,ac.im,co.im,com.im,ltd.co.im,net.im,org.im,plc.co.im,tt.im,tv.im,in,5g.in,6g.in,ac.in,ai.in,am.in,bihar.in,biz.in,business.in,ca.in,cn.in,co.in,com.in,coop.in,cs.in,delhi.in,dr.in,edu.in,er.in,firm.in,gen.in,gov.in,gujarat.in,ind.in,info.in,int.in,internet.in,io.in,me.in,mil.in,net.in,nic.in,org.in,pg.in,post.in,pro.in,res.in,travel.in,tv.in,uk.in,up.in,us.in,info,int,eu.int,io,com.io,iq,gov.iq,edu.iq,mil.iq,com.iq,org.iq,net.iq,ir,ac.ir,co.ir,gov.ir,id.ir,net.ir,org.ir,sch.ir,is,net.is,com.is,edu.is,gov.is,org.is,int.is,it,gov.it,edu.it,je,co.je,net.je,org.je,jm,jo,com.jo,org.jo,net.jo,edu.jo,sch.jo,gov.jo,mil.jo,name.jo,jobs,jp,ac.jp,ad.jp,co.jp,ed.jp,go.jp,gr.jp,lg.jp,ne.jp,or.jp,ke,ac.ke,co.ke,go.ke,info.ke,me.ke,mobi.ke,ne.ke,or.ke,sc.ke,kg,org.kg,net.kg,com.kg,edu.kg,gov.kg,mil.kg,kh,ki,edu.ki,biz.ki,net.ki,org.ki,gov.ki,info.ki,com.ki,km,org.km,nom.km,gov.km,prd.km,tm.km,edu.km,mil.km,ass.km,com.km,kn,net.kn,org.kn,edu.kn,gov.kn,kp,com.kp,edu.kp,gov.kp,org.kp,rep.kp,tra.kp,kr,ac.kr,co.kr,es.kr,go.kr,hs.kr,kg.kr,mil.kr,ms.kr,ne.kr,or.kr,pe.kr,re.kr,sc.kr,kw,com.kw,edu.kw,emb.kw,gov.kw,ind.kw,net.kw,org.kw,ky,com.ky,edu.ky,net.ky,org.ky,kz,org.kz,edu.kz,net.kz,gov.kz,mil.kz,com.kz,la,int.la,net.la,info.la,edu.la,gov.la,per.la,com.la,org.la,lb,com.lb,edu.lb,gov.lb,net.lb,org.lb,lc,com.lc,net.lc,co.lc,org.lc,edu.lc,gov.lc,li,lk,gov.lk,sch.lk,net.lk,int.lk,com.lk,org.lk,edu.lk,ngo.lk,soc.lk,web.lk,ltd.lk,assn.lk,grp.lk,hotel.lk,ac.lk,lr,com.lr,edu.lr,gov.lr,org.lr,net.lr,ls,ac.ls,biz.ls,co.ls,edu.ls,gov.ls,info.ls,net.ls,org.ls,sc.ls,lt,gov.lt,lu,lv,com.lv,edu.lv,gov.lv,org.lv,mil.lv,id.lv,net.lv,asn.lv,conf.lv,ly,com.ly,net.ly,gov.ly,plc.ly,edu.ly,sch.ly,med.ly,org.ly,id.ly,ma,co.ma,net.ma,gov.ma,org.ma,ac.ma,press.ma,mc,tm.mc,asso.mc,md,me,co.me,net.me,org.me,edu.me,ac.me,gov.me,its.me,priv.me,mg,org.mg,nom.mg,gov.mg,prd.mg,tm.mg,edu.mg,mil.mg,com.mg,co.mg,mh,mil,mk,com.mk,org.mk,net.mk,edu.mk,gov.mk,inf.mk,name.mk,ml,com.ml,edu.ml,gouv.ml,gov.ml,net.ml,org.ml,presse.ml,mm,mn,gov.mn,edu.mn,org.mn,mo,com.mo,net.mo,org.mo,edu.mo,gov.mo,mobi,mp,mq,mr,gov.mr,ms,com.ms,edu.ms,gov.ms,net.ms,org.ms,mt,com.mt,edu.mt,net.mt,org.mt,mu,com.mu,net.mu,org.mu,gov.mu,ac.mu,co.mu,or.mu,museum,mv,aero.mv,biz.mv,com.mv,coop.mv,edu.mv,gov.mv,info.mv,int.mv,mil.mv,museum.mv,name.mv,net.mv,org.mv,pro.mv,mw,ac.mw,biz.mw,co.mw,com.mw,coop.mw,edu.mw,gov.mw,int.mw,museum.mw,net.mw,org.mw,mx,com.mx,org.mx,gob.mx,edu.mx,net.mx,my,biz.my,com.my,edu.my,gov.my,mil.my,name.my,net.my,org.my,mz,ac.mz,adv.mz,co.mz,edu.mz,gov.mz,mil.mz,net.mz,org.mz,na,info.na,pro.na,name.na,school.na,or.na,dr.na,us.na,mx.na,ca.na,in.na,cc.na,tv.na,ws.na,mobi.na,co.na,com.na,org.na,name,nc,asso.nc,nom.nc,ne,net,nf,com.nf,net.nf,per.nf,rec.nf,web.nf,arts.nf,firm.nf,info.nf,other.nf,store.nf,ng,com.ng,edu.ng,gov.ng,i.ng,mil.ng,mobi.ng,name.ng,net.ng,org.ng,sch.ng,ni,ac.ni,biz.ni,co.ni,com.ni,edu.ni,gob.ni,in.ni,info.ni,int.ni,mil.ni,net.ni,nom.ni,org.ni,web.ni,nl,no,fhs.no,vgs.no,fylkesbibl.no,folkebibl.no,museum.no,idrett.no,priv.no,mil.no,stat.no,dep.no,kommune.no,herad.no,np,nr,biz.nr,info.nr,gov.nr,edu.nr,org.nr,net.nr,com.nr,nu,nz,ac.nz,co.nz,cri.nz,geek.nz,gen.nz,govt.nz,health.nz,iwi.nz,kiwi.nz,maori.nz,mil.nz,māori.nz,net.nz,org.nz,parliament.nz,school.nz,om,co.om,com.om,edu.om,gov.om,med.om,museum.om,net.om,org.om,pro.om,onion,org,pa,ac.pa,gob.pa,com.pa,org.pa,sld.pa,edu.pa,net.pa,ing.pa,abo.pa,med.pa,nom.pa,pe,edu.pe,gob.pe,nom.pe,mil.pe,org.pe,com.pe,net.pe,pf,com.pf,org.pf,edu.pf,pg,ph,com.ph,net.ph,org.ph,gov.ph,edu.ph,ngo.ph,mil.ph,i.ph,pk,com.pk,net.pk,edu.pk,org.pk,fam.pk,biz.pk,web.pk,gov.pk,gob.pk,gok.pk,gon.pk,gop.pk,gos.pk,info.pk,pl,com.pl,net.pl,org.pl,aid.pl,agro.pl,atm.pl,auto.pl,biz.pl,edu.pl,gmina.pl,gsm.pl,info.pl,mail.pl,miasta.pl,media.pl,mil.pl,nieruchomosci.pl,nom.pl,pc.pl,powiat.pl,priv.pl,realestate.pl,rel.pl,sex.pl,shop.pl,sklep.pl,sos.pl,szkola.pl,targi.pl,tm.pl,tourism.pl,travel.pl,turystyka.pl,pm,pn,gov.pn,co.pn,org.pn,edu.pn,net.pn,post,pr,com.pr,net.pr,org.pr,gov.pr,edu.pr,isla.pr,pro.pr,biz.pr,info.pr,name.pr,est.pr,prof.pr,ac.pr,pro,aaa.pro,aca.pro,acct.pro,avocat.pro,bar.pro,cpa.pro,eng.pro,jur.pro,law.pro,med.pro,recht.pro,ps,edu.ps,gov.ps,sec.ps,plo.ps,com.ps,org.ps,net.ps,pt,net.pt,gov.pt,org.pt,edu.pt,int.pt,publ.pt,com.pt,nome.pt,pw,co.pw,ne.pw,or.pw,ed.pw,go.pw,belau.pw,py,com.py,coop.py,edu.py,gov.py,mil.py,net.py,org.py,qa,com.qa,edu.qa,gov.qa,mil.qa,name.qa,net.qa,org.qa,sch.qa,re,asso.re,com.re,nom.re,ro,arts.ro,com.ro,firm.ro,info.ro,nom.ro,nt.ro,org.ro,rec.ro,store.ro,tm.ro,www.ro,rs,ac.rs,co.rs,edu.rs,gov.rs,in.rs,org.rs,ru,rw,ac.rw,co.rw,coop.rw,gov.rw,mil.rw,net.rw,org.rw,sa,com.sa,net.sa,org.sa,gov.sa,med.sa,pub.sa,edu.sa,sch.sa,sb,com.sb,edu.sb,gov.sb,net.sb,org.sb,sc,com.sc,gov.sc,net.sc,org.sc,edu.sc,sd,com.sd,net.sd,org.sd,edu.sd,med.sd,tv.sd,gov.sd,info.sd,se,a.se,ac.se,b.se,bd.se,brand.se,c.se,d.se,e.se,f.se,fh.se,fhsk.se,fhv.se,g.se,h.se,i.se,k.se,komforb.se,kommunalforbund.se,komvux.se,l.se,lanbib.se,m.se,n.se,naturbruksgymn.se,o.se,org.se,p.se,parti.se,pp.se,press.se,r.se,s.se,t.se,tm.se,u.se,w.se,x.se,y.se,z.se,sg,com.sg,net.sg,org.sg,gov.sg,edu.sg,per.sg,sh,com.sh,net.sh,gov.sh,org.sh,mil.sh,si,sj,sk,sl,com.sl,net.sl,edu.sl,gov.sl,org.sl,sm,sn,art.sn,com.sn,edu.sn,gouv.sn,org.sn,perso.sn,univ.sn,so,com.so,edu.so,gov.so,me.so,net.so,org.so,sr,ss,biz.ss,com.ss,edu.ss,gov.ss,me.ss,net.ss,org.ss,sch.ss,st,co.st,com.st,consulado.st,edu.st,embaixada.st,mil.st,net.st,org.st,principe.st,saotome.st,store.st,su,sv,com.sv,edu.sv,gob.sv,org.sv,red.sv,sx,gov.sx,sy,edu.sy,gov.sy,net.sy,mil.sy,com.sy,org.sy,sz,co.sz,ac.sz,org.sz,tc,td,tel,tf,tg,th,ac.th,co.th,go.th,in.th,mi.th,net.th,or.th,tj,ac.tj,biz.tj,co.tj,com.tj,edu.tj,go.tj,gov.tj,int.tj,mil.tj,name.tj,net.tj,nic.tj,org.tj,test.tj,web.tj,tk,tl,gov.tl,tm,com.tm,co.tm,org.tm,net.tm,nom.tm,gov.tm,mil.tm,edu.tm,tn,com.tn,ens.tn,fin.tn,gov.tn,ind.tn,info.tn,intl.tn,mincom.tn,nat.tn,net.tn,org.tn,perso.tn,tourism.tn,to,com.to,gov.to,net.to,org.to,edu.to,mil.to,tr,av.tr,bbs.tr,bel.tr,biz.tr,com.tr,dr.tr,edu.tr,gen.tr,gov.tr,info.tr,mil.tr,k12.tr,kep.tr,name.tr,net.tr,org.tr,pol.tr,tel.tr,tsk.tr,tv.tr,web.tr,nc.tr,tt,co.tt,com.tt,org.tt,net.tt,biz.tt,info.tt,pro.tt,int.tt,coop.tt,jobs.tt,mobi.tt,travel.tt,museum.tt,aero.tt,name.tt,gov.tt,edu.tt,tv,tw,edu.tw,gov.tw,mil.tw,com.tw,net.tw,org.tw,idv.tw,game.tw,ebiz.tw,club.tw,tz,ac.tz,co.tz,go.tz,hotel.tz,info.tz,me.tz,mil.tz,mobi.tz,ne.tz,or.tz,sc.tz,tv.tz,ua,com.ua,edu.ua,gov.ua,in.ua,net.ua,org.ua,ug,co.ug,or.ug,ac.ug,sc.ug,go.ug,ne.ug,com.ug,org.ug,uk,ac.uk,co.uk,gov.uk,ltd.uk,me.uk,net.uk,nhs.uk,org.uk,plc.uk,police.uk,us,dni.us,fed.us,isa.us,kids.us,nsn.us,ak.us,al.us,ar.us,as.us,az.us,ca.us,co.us,ct.us,dc.us,de.us,fl.us,ga.us,gu.us,hi.us,ia.us,id.us,il.us,in.us,ks.us,ky.us,la.us,ma.us,md.us,me.us,mi.us,mn.us,mo.us,ms.us,mt.us,nc.us,nd.us,ne.us,nh.us,nj.us,nm.us,nv.us,ny.us,oh.us,ok.us,or.us,pa.us,pr.us,ri.us,sc.us,sd.us,tn.us,tx.us,ut.us,vi.us,vt.us,va.us,wa.us,wi.us,wv.us,wy.us,uy,com.uy,edu.uy,gub.uy,mil.uy,net.uy,org.uy,uz,co.uz,com.uz,net.uz,org.uz,va,vc,com.vc,net.vc,org.vc,gov.vc,mil.vc,edu.vc,ve,arts.ve,bib.ve,co.ve,com.ve,e12.ve,edu.ve,firm.ve,gob.ve,gov.ve,info.ve,int.ve,mil.ve,net.ve,nom.ve,org.ve,rar.ve,rec.ve,store.ve,tec.ve,web.ve,vg,vi,co.vi,com.vi,k12.vi,net.vi,org.vi,vn,ac.vn,ai.vn,biz.vn,com.vn,edu.vn,gov.vn,health.vn,id.vn,info.vn,int.vn,io.vn,name.vn,net.vn,org.vn,pro.vn,vu,com.vu,edu.vu,net.vu,org.vu,wf,ws,com.ws,net.ws,org.ws,gov.ws,edu.ws,yt,ye,com.ye,edu.ye,gov.ye,net.ye,mil.ye,org.ye,ac.za,agric.za,alt.za,co.za,edu.za,gov.za,grondar.za,law.za,mil.za,net.za,ngo.za,nic.za,nis.za,nom.za,org.za,school.za,tm.za,web.za,zm,ac.zm,biz.zm,co.zm,com.zm,edu.zm,gov.zm,info.zm,mil.zm,net.zm,org.zm,sch.zm,zw,ac.zw,co.zw,gov.zw,mil.zw,org.zw".split(","),ks={};Es.forEach((e=>{ks[e]=!0}));const xs=ks;function Ps(e){const[t]=e.split(":"),r=t.split(".");if("localhost"===r[r.length-1]||r.length<2)return r[r.length-1];{const e=r[r.length-2]+"."+r[r.length-1];return r.length>2&&xs[e]?r[r.length-3]+"."+e:e}}class Is{constructor(e){this.selfOptions=e||{},this.pipes={}}options(e){return e&&(this.selfOptions=e),this.selfOptions}pipe(e,t){let r=t;if("string"==typeof e){if(void 0===r)return this.pipes[e];this.pipes[e]=r}if(e&&e.name){if(r=e,r.processor===this)return r;this.pipes[r.name]=r}return r.processor=this,r}process(e,t){let r=e;r.options=this.options();let n,i=t||e.pipe||"default";for(;i;)void 0!==r.nextAfterChildren&&(r.next=r.nextAfterChildren,r.nextAfterChildren=null),"string"==typeof i&&(i=this.pipe(i)),i.process(r),n=i,i=null,r&&r.next&&(r=r.next,i=r.pipe||n);return r.hasResult?r.result:void 0}}class As{constructor(e){this.name=e,this.filters=[]}process(e){if(!this.processor)throw new Error("add this pipe to a processor before using it");const t=this.debug,r=this.filters.length,n=e;for(let e=0;e<r;e++){const r=this.filters[e];if(t&&this.log(`filter: ${r.filterName}`),r(n),"object"==typeof n&&n.exiting){n.exiting=!1;break}}!n.next&&this.resultCheck&&this.resultCheck(n)}log(e){console.log(`[jsondiffpatch] ${this.name} pipe, ${e}`)}append(...e){return this.filters.push(...e),this}prepend(...e){return this.filters.unshift(...e),this}indexOf(e){if(!e)throw new Error("a filter name is required");for(let t=0;t<this.filters.length;t++){if(this.filters[t].filterName===e)return t}throw new Error(`filter not found: ${e}`)}list(){return this.filters.map((e=>e.filterName))}after(e,...t){const r=this.indexOf(e);return this.filters.splice(r+1,0,...t),this}before(e,...t){const r=this.indexOf(e);return this.filters.splice(r,0,...t),this}replace(e,...t){const r=this.indexOf(e);return this.filters.splice(r,1,...t),this}remove(e){const t=this.indexOf(e);return this.filters.splice(t,1),this}clear(){return this.filters.length=0,this}shouldHaveResult(e){if(!1!==e){if(!this.resultCheck)return this.resultCheck=e=>{if(!e.hasResult){console.log(e);const t=new Error(`${this.name} failed`);throw t.noResult=!0,t}},this}else this.resultCheck=null}}class Os{setResult(e){return this.result=e,this.hasResult=!0,this}exit(){return this.exiting=!0,this}push(e,t){return e.parent=this,void 0!==t&&(e.childName=t),e.root=this.root||this,e.options=e.options||this.options,this.children?(this.children[this.children.length-1].next=e,this.children.push(e)):(this.children=[e],this.nextAfterChildren=this.next||null,this.next=e),e.next=this,this}}class js extends Os{constructor(e,t){super(),this.left=e,this.right=t,this.pipe="diff"}setResult(e){return super.setResult(e)}}class Ts extends Os{constructor(e,t){super(),this.left=e,this.delta=t,this.pipe="patch"}}const Cs=function(e){if(e.left!==e.right)if(void 0!==e.left)if(void 0!==e.right){if("function"==typeof e.left||"function"==typeof e.right)throw new Error("functions are not supported");if(e.leftType=null===e.left?"null":typeof e.left,e.rightType=null===e.right?"null":typeof e.right,e.leftType===e.rightType)if("boolean"!==e.leftType&&"number"!==e.leftType&&"string"!==e.leftType){if("object"===e.leftType&&(e.leftIsArray=Array.isArray(e.left)),"object"===e.rightType&&(e.rightIsArray=Array.isArray(e.right)),e.leftIsArray===e.rightIsArray)return e.leftIsArray&&e.rightIsArray?function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}(e.left,e.right)?void e.setResult(void 0).exit():void e.setResult([e.left,e.right]).exit():void(e.left instanceof RegExp&&(e.right instanceof RegExp?e.setResult([e.left.toString(),e.right.toString()]).exit():e.setResult([e.left,e.right]).exit()));e.setResult([e.left,e.right]).exit()}else e.setResult([e.left,e.right]).exit();else e.setResult([e.left,e.right]).exit()}else e.setResult([e.left,0,0]).exit();else{if("function"==typeof e.right)throw new Error("functions are not supported");e.setResult([e.right]).exit()}else e.setResult(void 0).exit()};Cs.filterName="trivial";const Fs=function(e){if(void 0===e.delta)return void e.setResult(e.left).exit();if(e.nested=!Array.isArray(e.delta),e.nested)return;const t=e.delta;if(1!==t.length)if(2!==t.length)3===t.length&&0===t[2]&&e.setResult(void 0).exit();else{if(e.left instanceof RegExp){const r=/^\/(.*)\/([gimyu]+)$/.exec(t[1]);if(r)return void e.setResult(new RegExp(r[1],r[2])).exit()}e.setResult(t[1]).exit()}else e.setResult(t[0]).exit()};Fs.filterName="trivial";const Rs=e=>{if(!e||!e.children)return;const t=e.children.length;let r,n=e.result;for(let i=0;i<t;i++)r=e.children[i],void 0!==r.result&&(n=n||{},n[r.childName]=r.result);n&&e.leftIsArray&&(n._t="a"),e.setResult(n).exit()};Rs.filterName="collectChildren";const Us=e=>{if(e.leftIsArray||"object"!==e.leftType)return;const t=e.left,r=e.right;let n,i;const a=e.options.propertyFilter;for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(a&&!a(n,e)||(i=new js(t[n],r[n]),e.push(i,n)));for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(a&&!a(n,e)||void 0===t[n]&&(i=new js(void 0,r[n]),e.push(i,n)));e.children&&0!==e.children.length?e.exit():e.setResult(void 0).exit()};Us.filterName="objects";const Ls=function(e){if(!e.nested)return;const t=e.delta;if(t._t)return;const r=t;let n,i;for(n in r)i=new Ts(e.left[n],r[n]),e.push(i,n);e.exit()};Ls.filterName="objects";const Ns=function(e){if(!e||!e.children)return;if(e.delta._t)return;const t=e.left,r=e.children.length;let n;for(let i=0;i<r;i++){n=e.children[i];const r=n.childName;Object.prototype.hasOwnProperty.call(e.left,r)&&void 0===n.result?delete t[r]:t[r]!==n.result&&(t[r]=n.result)}e.setResult(t).exit()};Ns.filterName="collectChildren";const qs=function(e){e.left instanceof Date?(e.right instanceof Date?e.left.getTime()!==e.right.getTime()?e.setResult([e.left,e.right]):e.setResult(void 0):e.setResult([e.left,e.right]),e.exit()):e.right instanceof Date&&e.setResult([e.left,e.right]).exit()};qs.filterName="dates";class zs{constructor(e){this.processor=new Is(e),this.processor.pipe(new As("diff").append(Rs,Cs,qs,Us).shouldHaveResult()),this.processor.pipe(new As("patch").append(Ns,Fs,Ls).shouldHaveResult())}options(e){return this.processor.options(e)}diff(e,t){return this.processor.process(new js(e,t))}patch(e,t){return this.processor.process(new Ts(e,t))}}var Ds=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};const $s=new zs(Ms);var Ms;const Bs={writeKey:null,host:null,debug:!1,fetch:null,echoEvents:!1,cookieDomain:void 0,cookieCapture:{},runtime:void 0,fetchTimeoutMs:void 0,s2s:void 0,idEndpoint:void 0,errorPolicy:"log",defaultPayloadContext:{},privacy:{dontSend:!1,disableUserIds:!1,ipPolicy:"keep",consentCategories:void 0}},Hs=(e,t)=>{for(const r of Object.keys(Bs)){const n=t[r];"privacy"===r?"object"==typeof n?e.privacy=Object.assign(Object.assign(Object.assign({},Bs.privacy),e.privacy),n):t.hasOwnProperty("privacy")&&void 0===n&&(e.privacy=Object.assign({},Bs.privacy)):void 0===n?!t.hasOwnProperty(r)&&e.hasOwnProperty(r)||(e[r]=Bs[r]):e[r]=n}},Js=e=>{if(!e)return{};let t=e.length>0&&"?"===e.charAt(0)?e.substring(1):e,r={},n=("?"===t[0]?t.substr(1):t).split("&");for(let e=0;e<n.length;e++){let t=n[e].split("=");r[decodeURIComponent(t[0])]=decodeURIComponent(t[1]||"")}return r};function Gs(e){const t=e.substring(4);return"campaign"===t?"name":t}function Vs(e){return Object.entries(e).filter((([e])=>0===e.indexOf("utm_"))).reduce(((e,[t,r])=>Object.assign(Object.assign({},e),{[Gs(t)]:r})),{})}function Ws(e,t){try{return e()}catch(e){return t}}function Ys(e){let t=e.getItem("__user_traits");"string"==typeof t&&(t=Ws((()=>JSON.parse(t)),{})),("object"!=typeof t||null===t||Array.isArray(t))&&(t={});let r=e.getItem("__group_traits");return"string"==typeof r&&(r=Ws((()=>JSON.parse(r)),{})),("object"!=typeof r||null===r||Array.isArray(r))&&(r={}),Object.assign(Object.assign({},r||{}),t||{})}function Qs(e){const t=`; ${document.cookie}`.split(`; ${e}=`);return 2===t.length?t.pop().split(";").shift():void 0}function Ks(e,t){const r=Object.assign({fbc:"_fbc",fbp:"_fbp"},t),n=Object.entries(r).reduce(((t,[r,n])=>(t[r]=e.getCookie(n),t)),{});return Object.assign(Object.assign({},n),function(e){var t;const r=e.getCookies(),n=null===(t=r._ga)||void 0===t?void 0:t.split(".").slice(-2).join("."),i=Object.entries(r).filter((([e])=>e.startsWith("_ga_"))),a=i.length>0?Object.fromEntries(i.map((([e,t])=>{if("string"!=typeof t)return null;const r=t.split(".");return r.length<3?null:[e.substring(4),r[2]]})).filter((e=>null!==e))):void 0;return n||a?{ga4:{clientId:n,sessionIds:a}}:void 0}(e))}function Xs(e,{domain:t,secure:r}){document.cookie=e+"=;domain="+t+";path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;SameSite="+(r?"None":"Lax")+(r?";secure":"")}const Zs={__anon_id:"__eventn_id",__user_traits:"__eventn_id_usr",__user_id:"__eventn_uid",__group_id:"__group_id",__group_traits:"__group_traits"},el=(e,t)=>({setItem(r,n){if(void 0===n)return void Xs(t[r]||r,{domain:e,secure:"https:"===window.location.protocol});const i="object"==typeof n&&null!==n?encodeURIComponent(JSON.stringify(n)):n;!function(e,t,{domain:r,secure:n}){document.cookie=e+"="+t+";domain="+r+";path=/;expires="+new Date((new Date).getTime()+15768e7).toUTCString()+";SameSite="+(n?"None":"Lax")+(n?";secure":"")}(t[r]||r,i,{domain:e,secure:"https:"===window.location.protocol})},getItem(e){const r=Qs(t[e]||e);if("__anon_id"===e)return r;if(void 0===r&&"__user_id"===e){const e=bl(Qs("__eventn_id_usr"))||{};return e.internal_id||e.user_id||e.id||e.userId}return bl(r)},removeItem(r){Xs(t[r]||r,{domain:e,secure:"https:"===window.location.protocol})},reset(){for(const r of Object.values(t))Xs(r,{domain:e,secure:"https:"===window.location.protocol})}});function tl(e){return{getCookie(e){const t=`; ${document.cookie}`.split(`; ${e}=`);return 2===t.length?t.pop().split(";").shift():void 0},getCookies(){const e={},t=`; ${document.cookie}`.matchAll(/(\w+)=([^;]+)/g);for(const r of t)e[r[1]]=r[2];return e},documentEncoding:()=>window.document.characterSet,timezoneOffset:()=>(new Date).getTimezoneOffset(),store:()=>el(e.cookieDomain||Ps(window.location.hostname),Zs),language:()=>window.navigator.language,pageTitle:()=>window.document.title,pageUrl:()=>window.location.href,referrer:()=>window.document.referrer,screen:()=>({width:window.screen.width,height:window.screen.height,innerWidth:window.innerWidth,innerHeight:window.innerHeight,density:Math.floor(window.devicePixelRatio)}),userAgent:()=>window.navigator.userAgent}}const rl=e=>({documentEncoding(){},timezoneOffset(){},getCookie(e){},getCookies:()=>({}),store(){const t={};return{reset(){Object.keys(t).forEach((e=>delete t[e]))},setItem(r,n){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Set storage item ${r}=${JSON.stringify(n)}`),void 0===n?delete t[r]:t[r]=n},getItem(r){const n=t[r];return e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${r}=${JSON.stringify(n)}`),n},removeItem(r){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${r}=${t[r]}`),delete t[r]}}},language(){},pageTitle(){},pageUrl(){},referrer(){},screen(){},userAgent(){}});function nl(e,t){return"object"!=typeof t||null===t||"object"!=typeof e||null===e?t:Object.entries(t).reduce(((t,[r,n])=>(t[r]=nl(e[r],n),t)),e)}function il(){return"undefined"!=typeof document&&"undefined"!=typeof window}const al=/#.*$/;function ol(e,t,r,n){var i,a,o,s,l,c;const u=t.runtime||(il()?tl(t):rl(t)),d=u.pageUrl(),h=Ws((()=>new URL(d)),void 0),p=h?Js(h.search):{},f=e.properties||{};if("page"===e.type&&(f.url||d)){const e=f.url||d;f.url=e.replace(al,""),f.path=(g=function(e){const t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(al,""):"")}(e),0===g.indexOf("//")&&1===g.lastIndexOf("/")?"/":g)}var g;const m=nl(t.defaultPayloadContext,(null===(i=e.properties)||void 0===i?void 0:i.context)||(null===(a=e.options)||void 0===a?void 0:a.context)||{});null===(o=e.properties)||void 0===o||delete o.context;const v=u.referrer(),y={library:{name:_s,version:Ss,env:il()?"browser":"node"},consent:(null===(s=t.privacy)||void 0===s?void 0:s.consentCategories)?{categoryPreferences:t.privacy.consentCategories}:void 0,userAgent:u.userAgent(),locale:u.language(),screen:u.screen(),traits:"identify"!=e.type&&"group"!=e.type?Object.assign({},Ys(r)||{}):void 0,page:{path:f.path||h&&h.pathname,referrer:v,referring_domain:Ws((()=>v&&new URL(v).hostname)),host:h&&h.host,search:f.search||h&&h.search,title:f.title||u.pageTitle(),url:f.url||d,encoding:f.encoding||u.documentEncoding()},clientIds:(null===(l=t.privacy)||void 0===l?void 0:l.disableUserIds)?void 0:Ks(u,t.cookieCapture),campaign:Vs(p)},b=Object.assign(Object.assign({},e),{timestamp:(new Date).toISOString(),sentAt:(new Date).toISOString(),messageId:gl(f.path||h&&h.pathname),writeKey:ll(t.writeKey),groupId:r.getItem("__group_id"),context:nl(y,m)});return delete b.meta,delete b.options,(null===(c=t.privacy)||void 0===c?void 0:c.disableUserIds)&&(delete b.userId,delete b.anonymousId,delete b.context.traits,delete b.groupId),b}function sl(e){const t=Object.keys(e);return 1===t.length&&"__diff"===t[0]}function ll(e){if(e){const[t,r]=e.split(":",2);return r?`${t}:***`:"***"}return e}function cl(e){const t=e.errorPolicy||"log";return"function"==typeof t?t:"rethrow"===t?(e,...t)=>{throw new Error(e)}:(e,...t)=>{console.error(e,...t)}}function ul(e,t,r,n,i){return Ds(this,void 0,void 0,(function*(){var a,o;if(r.echoEvents)return void console.log(`[JITSU DEBUG] sending '${e}' event:`,t);const s=!!r.s2s?`${r.host}/api/s/s2s/${e}`:`${r.host}/api/s/${e}`,l=r.fetch||globalThis.fetch;if(!l)throw new Error("Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope");const c=r.debug?{"X-Enable-Debug":"true"}:{},u=ol(t,r,i),d=r.fetchTimeoutMs?new AbortController:void 0,h=r.fetchTimeoutMs?setTimeout((()=>{d.abort()}),r.fetchTimeoutMs):void 0,p=r.writeKey?{"X-Write-Key":r.writeKey}:{},f=void 0===(null===(a=r.privacy)||void 0===a?void 0:a.ipPolicy)||"keep"===(null===(o=r.privacy)||void 0===o?void 0:o.ipPolicy)?{}:{"X-IP-Policy":r.privacy.ipPolicy};let g,m,v;try{g=yield l(s,{method:"POST",headers:Object.assign(Object.assign(Object.assign({"Content-Type":"application/json"},p),c),f),body:JSON.stringify(u),signal:null==d?void 0:d.signal}),h&&clearTimeout(h)}catch(e){return cl(r)(`Call to ${s} failed with error ${e.message}`),Promise.resolve()}try{m=yield g.text()}catch(e){console.warn(`Can't read response text from ${s} (status - ${g.status} ${g.statusText}): ${null==e?void 0:e.message}`)}if(r.debug&&console.log(`[JITSU DEBUG] ${s} replied ${g.status}: ${m}. Original payload:\n${JSON.stringify(u,null,2)}`),!g.ok)return cl(r)(`Call to ${s} failed with error: ${g.status} - ${g.statusText}: ${m}`),Promise.resolve();try{v=JSON.parse(m)}catch(e){return cl(r)(`Can't parse JSON: ${m}: ${null==e?void 0:e.message}`),Promise.resolve()}if(v.destinations&&v.destinations.length>0)if(r.s2s)console.warn(`[JITSU] ${t.type} responded with list of ${v.destinations.length} destinations. However, this code is running in server-to-server mode, so destinations will be ignored`,r.debug?JSON.stringify(v.destinations,null,2):void 0);else if(il())return r.debug&&console.log("[JITSU] Processing device destinations: ",JSON.stringify(v.destinations,null,2)),function(e,t,r,n,i){return Ds(this,void 0,void 0,(function*(){const a=[];for(const o of e){let e=[r];if(o.newEvents)try{e=o.newEvents.map((e=>"same"===e?r:sl(e)?$s.patch(r,e.__diff):e))}catch(e){console.error(`[JITSU] Error applying '${o.id}' changes to event: ${null==e?void 0:e.message}`,e)}const s=Object.assign(Object.assign({},o.credentials),o.options);if("internal-plugin"===o.deviceOptions.type){const t=ws[o.deviceOptions.name];if(t)for(const r of e)try{a.push(t.handle(Object.assign(Object.assign({},s),{debug:n}),r))}catch(e){console.warn(`[JITSU] Error processing event with internal plugin '${o.deviceOptions.name}': ${null==e?void 0:e.message}`,e)}else console.warn(`[JITSU] Unknown internal plugin '${o.deviceOptions.name}' for destination '${o.id}'`)}else if("analytics-plugin"===o.deviceOptions.type){yield Xo(o.deviceOptions.packageCdn);const r=window[o.deviceOptions.moduleVarName];if(r){let a;try{a=("function"==typeof r?r:r.init)(s)}catch(e){console.warn(`[JITSU] Error creating plugin '${o.deviceOptions.moduleVarName}@${o.deviceOptions.packageCdn}' for destination '${o.id}': ${null==e?void 0:e.message}`,e)}try{n&&console.log(`[JITSU] Plugin '${o.deviceOptions.moduleVarName}@${o.deviceOptions.packageCdn}' for destination '${o.id}' initialized with config:`,a.config),a.initialize({config:a.config,instance:i})}catch(e){console.warn(`[JITSU] Error initializing plugin '${o.deviceOptions.moduleVarName}@${o.deviceOptions.packageCdn}' for destination '${o.id}': ${null==e?void 0:e.message}. Config: ${JSON.stringify(a.config)}`,e);continue}if(a[t])for(const r of e)try{a[t]({payload:r,config:a.config,instance:i})}catch(e){console.warn(`[JITSU] Error processing ${t}() with plugin '${o.deviceOptions.moduleVarName}@${o.deviceOptions.packageCdn}' for destination '${o.id}': ${null==e?void 0:e.message}`,e)}}else console.warn(`[JITSU] Broken plugin '${o.deviceOptions.packageCdn}' for destination '${o.id}' - it doesn't export '${o.deviceOptions.moduleVarName}' variable`)}}}))}(v.destinations,e,u,!!r.debug,n);return u}))}const dl=["$doNotSend"];function hl(e){const t=Object.assign({},e);for(const e of dl)delete t[e];return t}const pl=(e={},t)=>(Hs(e,e),{name:"jitsu",config:e,initialize:e=>Ds(void 0,void 0,void 0,(function*(){const{config:t}=e;if(t.debug&&console.debug("[JITSU DEBUG] Initializing Jitsu plugin with config: ",JSON.stringify(t,null,2)),!t.host&&!t.echoEvents)throw new Error("Please specify host variable in jitsu plugin initialization, or set echoEvents to true");if(function(e){if(e){const[,r]=e.split(":",2);if(!r&&(25!==(t=e).length||"c"!==t.charAt(0)))throw new Error(`Legacy write key detected - ${e}! This format doesn't work anymore, it should be 'key:secret'. Please download a new key from Jitsu UI`)}var t}(t.writeKey),t.idEndpoint){if(!il())return void console.error("[JITSU] 'idEndpoint' option can be used only in browser environment");try{const e=t.fetch||globalThis.fetch,r=new AbortController;setTimeout((()=>r.abort()),1e3);const n=t.cookieDomain||Ps(window.location.hostname),i=yield e(t.idEndpoint+"?domain="+encodeURIComponent(n),{credentials:"include",signal:r.signal});i.ok?t.debug&&console.log(`[JITSU DEBUG] Fetch idEndpoint: ${i.status}`):console.error(`[JITSU] Can't fetch idEndpoint: ${i.status} - ${i.statusText}`)}catch(e){console.error(`[JITSU] Can't fetch idEndpoint: ${e.message}`)}}})),page:e=>{var r;const{payload:n,config:i,instance:a}=e;if(!(null===(r=i.privacy)||void 0===r?void 0:r.dontSend))return ul("page",n,i,a,t)},track:e=>{var r;const{payload:n,config:i,instance:a}=e;if(!(null===(r=i.privacy)||void 0===r?void 0:r.dontSend))return ul("track",n,i,a,t)},identify:e=>{var r,n,i;const{payload:a,config:o,instance:s}=e;if((null===(r=o.privacy)||void 0===r?void 0:r.dontSend)||(null===(n=o.privacy)||void 0===n?void 0:n.disableUserIds))return;t.setItem("__user_id",a.userId);const l=null===(i=a.traits)||void 0===i?void 0:i.$doNotSend;return a.traits&&"object"==typeof a.traits&&(a.traits=hl(a.traits),t.setItem("__user_traits",a.traits)),l?Promise.resolve():ul("identify",a,o,s,t)},reset:e=>{const{config:r,instance:n}=e;t.reset(),r.debug&&console.log("[JITSU DEBUG] Resetting Jitsu plugin storage")},methods:{configure(r){var n,i,a,o;const s=(null===(n=e.privacy)||void 0===n?void 0:n.disableUserIds)||(null===(i=e.privacy)||void 0===i?void 0:i.dontSend);Hs(e,r);if(!((null===(a=e.privacy)||void 0===a?void 0:a.disableUserIds)||(null===(o=e.privacy)||void 0===o?void 0:o.dontSend))&&s){e.debug&&console.log("[JITSU] Enabling Anonymous ID. Generating new Id.");const r=this.instance,n=ml(),i=r.user();i&&(i.anonymousId=n),t.setItem("__anon_id",n),r.setAnonymousId(n)}},group(r,n,i,a){var o,s;if((null===(o=e.privacy)||void 0===o?void 0:o.dontSend)||(null===(s=e.privacy)||void 0===s?void 0:s.disableUserIds))return;"number"==typeof r&&(r+="");const l=this.instance,c=l.user(),u=(null==i?void 0:i.userId)||(null==c?void 0:c.userId),d=(null==i?void 0:i.anonymousId)||(null==c?void 0:c.anonymousId)||t.getItem("__anon_id");t.setItem("__group_id",r);const h=null==n?void 0:n.$doNotSend;return n&&"object"==typeof n&&(n=hl(n),t.setItem("__group_traits",n)),h?Promise.resolve():ul("group",Object.assign(Object.assign({type:"group",groupId:r,traits:n},d?{anonymousId:d}:{}),u?{userId:u}:{}),e,l,t)}}});function fl(){var e;const t=Date.now()%2147483647;return il()&&(null===(e=null===window||void 0===window?void 0:window.performance)||void 0===e?void 0:e.now())||t}function gl(e=""){const t=Date.now();return(Math.random()*t*vl(null!=e?e:"",fl())%Number.MAX_SAFE_INTEGER).toString(36)+(Math.random()*t*vl(null!=e?e:"",fl())%Number.MAX_SAFE_INTEGER).toString(36)}function ml(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],i=15&r;e+="-"==n||"4"==n?n:("x"==n?i:3&i|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}function vl(e,t=0){let r=3735928559^t,n=1103547991^t;for(let t,i=0;i<e.length;i++)t=e.charCodeAt(i),r=Math.imul(r^t,2654435761),n=Math.imul(n^t,1597334677);return r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),4294967296*(2097151&n)+(r>>>0)}var yl=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}l((n=n.apply(e,t||[])).next())}))};function bl(e){let t=e;0===(null==e?void 0:e.indexOf("%7B%22"))&&(t=decodeURIComponent(e));try{if(t=JSON.parse(t),"true"===t)return!0;if("false"===t)return!1;if("object"==typeof t)return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}function wl(e,t,r=[]){var n,i;const a={},o=t=>({setItem(r,n){var i,o;(null===(i=e.privacy)||void 0===i?void 0:i.dontSend)||(null===(o=e.privacy)||void 0===o?void 0:o.disableUserIds)||(e.debug&&console.log(`[JITSU DEBUG] Caching storage setItem: ${r}=${n}`),a[r]=n,t.setItem(r,n))},getItem(r){var n,i;if((null===(n=e.privacy)||void 0===n?void 0:n.dontSend)||(null===(i=e.privacy)||void 0===i?void 0:i.disableUserIds))return;const o=a[r]||t.getItem(r);return e.debug&&console.log(`[JITSU DEBUG] Caching storage getItem: ${r}=${o}. Evicted from cache: ${!a[r]}`),o},reset(){for(const e of[...Object.keys(a)])delete a[e];t.reset()},removeItem(r){e.debug&&console.log(`[JITSU DEBUG] Caching storage removeItem: ${r}`),delete a[r],t.removeItem(r)}}),s=o(t.store()),l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _o(Ko(Ko({},{storage:Wo}),e))}({debug:!!e.debug,storage:s,plugins:[pl(e,s),...r]}),c=Object.assign(Object.assign({},l),{page:(...e)=>2===e.length&&"string"==typeof e[0]&&"object"==typeof e[1]?l.page(Object.assign({name:e[0]},e[1])):l.page(...e),identify:(...e)=>{e[0]&&"object"!=typeof e[0]&&"string"!=typeof e[0]&&(e[0]=e[0]+"");const t=l.storage,r=o(t);return"string"==typeof e[0]?r.setItem("__user_id",e[0]):"object"==typeof e[0]&&r.setItem("__user_traits",e[0]),2===e.length&&"object"==typeof e[1]&&r.setItem("__user_traits",e[1]),l.identify(...e)},setAnonymousId:t=>{e.debug&&console.log("[JITSU DEBUG] Setting anonymous id to "+t),s.setItem("__anon_id",t);const r=l.user();r&&(r.anonymousId=t),l.setAnonymousId(t)},reset(){return yl(this,void 0,void 0,(function*(){e.debug&&console.log("[JITSU DEBUG] Called reset(). Storage state",JSON.stringify(l.user())),s.reset(),yield l.reset(),this.setAnonymousId(ml()),e.debug&&console.log("[JITSU DEBUG] User state after reset",JSON.stringify(l.user()))}))},configure(t){return yl(this,void 0,void 0,(function*(){var r,n;e.debug&&console.log("[JITSU DEBUG] Update Jitsu config with",JSON.stringify(t)),((null===(r=t.privacy)||void 0===r?void 0:r.disableUserIds)||(null===(n=t.privacy)||void 0===n?void 0:n.dontSend))&&s.reset();for(const e of Object.values(l.plugins))"function"==typeof e.configure&&e.configure(t)}))},group(e,t,r,n){return yl(this,void 0,void 0,(function*(){const i=[];for(const a of Object.values(l.plugins))a.group&&i.push(yield a.group(e,t,r,n));return i[0]}))}});return((null===(n=e.privacy)||void 0===n?void 0:n.disableUserIds)||(null===(i=e.privacy)||void 0===i?void 0:i.dontSend))&&s.reset(),c}function Sl(e){const t=function(e){var t,r;return Object.assign(Object.assign({},e),{host:0!==(null!==(t=e.host)&&void 0!==t?t:"").indexOf("https://")&&0!==(null!==(r=e.host)&&void 0!==r?r:"").indexOf("http://")?`https://${e.host}`:e.host})}(e),r=il();return wl(t,t.runtime||(r?tl(t):rl(t)))}class _l{constructor(e){this.item=e[0]}toSegment(){return{event:"Product Added",properties:{cart_id:this.item.cart_id,product_id:this.item.id,category:this.item.category,name:this.item.name,brand:this.item.brand,variant:this.item.variant,price:this.item.price,quantity:this.item.quantity,sku:this.item.sku,coupon:this.item.coupon,position:this.item.position,url:this.item.url,image_url:this.item.image_url}}}static shouldSend(){return"customer.wishlist"!==salla.config.get("page.slug")}}class El{constructor(e){this.product=e[0]}toSegment(){return{event:"Product Viewed",properties:{product_id:this.product.id,category:this.product.category,name:this.product.name,brand:this.product.brand,variant:this.product.variant,price:this.product.price,quantity:this.product.quantity,currency:this.product.currency,coupon:this.product.coupon,position:this.product.position,value:this.product.value,sku:this.product.sku,url:this.product.url,image_url:this.product.image_url}}}}class kl{constructor(e){this.cart=e[0]}toSegment(){return{event:"Cart Viewed",properties:{cart_id:this.cart.cart_id?.toString(),products:this.cart.products.map((e=>({product_id:e.id?.toString(),name:e.name,price:e.price,category:e.category,sku:e.sku,position:e.position,url:e.url,image_url:e.image_url})))}}}}class xl{constructor(e){const t=e?.nextPage;if(this.listId=null,"index"===salla.config.get("page.slug"))this.listId="home_page";else if(t){const e=new URL(t),r=e.searchParams.get("source"),n=e.searchParams.getAll("source_value[]");this.listId=`${r}_${n.join("_")}`}this.products=e?.data}toSegment(){return{event:"Product List Viewed",properties:{list_id:this.listId,category:salla.config.get("page.title"),products:this.products.map((e=>({product_id:e.id,category:e.category?.name,name:e.name,brand:e.brand?.name,variant:e.variant,price:e.price,quantity:Number(e.quantity),sku:e.sku,position:0,url:e.url,image_url:e.image?.url})))}}}static shouldSend(){return!["index","customer.wishlist"].includes(salla.config.get("page.slug"))}}class Pl{constructor(e){this.query=e}toSegment(){return{event:"Products Searched",properties:{query:this.query}}}}class Il{constructor(e){}toSegment(){return{event:"Signed Up",properties:{}}}}class Al{constructor(e){}toSegment(){return{event:"Signed In",properties:{context:{traits:salla.config.get("user")}}}}static shouldSend(){return"guest"!==salla.config.get("user.type")}}class Ol{constructor(e){}toSegment(){return{event:"Signed Out",properties:{}}}}class jl{constructor(e){this.item=e[0]}toSegment(){return{event:"Product Removed",properties:{cart_id:this.item?.cart_id,product_id:this.item?.product_id,category:this.item?.category,name:this.item?.name,brand:this.item?.brand,variant:this.item?.variant,price:this.item?.price,quantity:this.item?.quantity,sku:this.item?.sku,coupon:this.item?.coupon,position:this.item?.position,url:this.item?.url,image_url:this.item?.image_url}}}}class Tl{constructor(e){this.product=e.product}toSegment(){return{event:"Product Added to Wishlist",properties:{wishlist_id:salla.config.get("store.id")+"_"+salla.config.get("user.id"),wishlist_name:salla.config.get("store.name"),product_id:this.product.id,name:this.product.name,brand:this.product.brand,variant:this.product.variant,price:this.product.price,quantity:Math.max(1,Number(this.product.quantity)),sku:this.product.sku,coupon:this.product.coupon,position:Number(this.product.position),url:this.product.url,image_url:this.product?.image?.url}}}}class Cl{constructor(e){this.product=e.product}toSegment(){return{event:"Product Removed from Wishlist",properties:{wishlist_id:salla.config.get("store.id")+"_"+salla.config.get("user.id"),wishlist_name:salla.config.get("store.name"),product_id:this.product.id,name:this.product.name,brand:this.product.brand,variant:this.product.variant,price:this.product.price,quantity:Math.max(1,Number(this.product.quantity)),sku:this.product.sku,coupon:this.product.coupon,position:Number(this.product.position),url:this.product.url,image_url:this.product?.image?.url}}}}class Fl{constructor(e){this.details=e[0]}toSegment(){return{event:"Order Completed",properties:this.details}}}class Rl{constructor(e){this.item=e[0]}toSegment(){return{event:"Wishlist Product Added to Cart",properties:{wishlist_id:salla.config.get("store.id")+"_"+salla.config.get("user.id"),wishlist_name:salla.config.get("store.name"),cart_id:this.item.cart_id,product_id:this.item.id,category:this.item.category,name:this.item.name,brand:this.item.brand,variant:this.item.variant,price:this.item.price,quantity:this.item.quantity,sku:this.item.sku,coupon:this.item.coupon,position:this.item.position,url:this.item.url,image_url:this.item.image_url}}}static shouldSend(){return"customer.wishlist"===salla.config.get("page.slug")}}class Ul{constructor(e){this.data=e}toSegment(){return{event:"Product Shared",properties:{product_id:this.data.product?.id||salla.config.get("page.id"),sku:this.data.product?.sku,category:this.data.product?.category?.name,name:this.data.product?.name,brand:this.data.product?.brand,variant:this.data.product?.variant,price:this.data.product?.price,url:this.data.product?.url,image_url:this.data.product?.image_url,share_via:this.data.share_via,recipient:this.data.recipient}}}static shouldSend(){return"product.single"===salla.config.get("page.slug")}}class Ll{constructor(e){this.details=e}toSegment(){return{event:"Product Reviewed",properties:{product_id:this.details.product_id,review_id:this.details.order_id,review_body:this.details.comment,rating:this.details.rating}}}static registerEvents(){salla.event.rating.onProductsRated((function(e,t){const{products:r,order_id:n}=t;Object.values(r).forEach((e=>{Salla.event.emit("Product Reviewed",{product_id:e.product_id,review_id:n,review_body:e.comment,rating:e.rating})}))}))}}class Nl{static events={"Order Completed":[Fl],"Product Added":[_l,Rl],"Product Removed":[jl],"Product Viewed":[El],"Product Added to Wishlist":[Tl],"Product Removed from Wishlist":[Cl],"Cart Viewed":[kl],"Products Searched":[Pl],"Product List Viewed":[xl],"Signed Up":[Il],"Signed In":[Al],"Signed Out":[Ol],"Product Reviewed":[Ll],"Product Shared":[Ul]};static registerEvents(){Ll.registerEvents()}static transform(e,t){try{const r=this.events[e]||[];for(const e of r){if(!e||"function"==typeof e.shouldSend&&!e.shouldSend())continue;const r=new e(t).toSegment();return{event:r.event,properties:r.properties}}return null}catch(e){return console.error("Failed to transform event:",e),null}}}return J.onReady=J.onReady||function(e){return new Promise((function(t){return"ready"===salla.status?t(e?e(salla.config.all()):salla.config.all()):J.onInitiated((r=>t(e?e(r):r)))}))},J.status="loading",J.notify=Y,J.lang=new class extends Ee{constructor(e){(e=e||{}).messages=e.messages||window.translations,e.locale=e.locale||(window.locale||navigator.language||navigator.userLanguage||"ar").split("-")[0],e.fallback=e.fallback||e.locale,super(e),this.translationsLoaded=!1}onLoaded(e){return new Promise((t=>{if(this.translationsLoaded)return t(e?e():null);Salla.event.once("languages::translations.loaded",(()=>t(e?e():null)))}))}loadStoreTranslations(){if(this.hash=salla.config.get("theme.translations_hash",salla.config.get("store.id","twilight")),this.message||(salla.log("try to load translations from localstorage"),this.messages=salla.storage.get(`s_translations.${this.hash}`),this.messages&&(this.translationsLoaded=!0)&&super.setMessages(this.messages)),this.messages)return salla.event.dispatch("languages::translations.loaded"),void salla.logger.info("The messages of transactions is already loaded");salla.url.get("")?this.loadScript(salla.url.get(`languages/assets/${this.hash}.js`)):this.loadScript("https://cdn.salla.network/js/translations.js",!1)}setMessages(e){super.setMessages(e),salla.event.dispatch("languages::translations.loaded"),this.translationsLoaded=!0}loadScript(e,t=!0){let r=document.createElement("script");r.src=e,r.onload=()=>{if(window.translations)return salla.storage.remove("s_translations"),salla.storage.set("s_translations",{[this.hash]:window.translations}),this.setMessages(window.translations);r.onerror()},r.onerror=()=>{if(t)return salla.logger.warn("Failed to load Translations for store, lets try load it from CDN"),this.loadScript("https://cdn.salla.network/js/translations.js",!1);salla.logger.error("Failed to load Translations, check your network logs for more details\nor: salla.lang.setMessages({....}), see https://docs.salla.dev for more information's.")},document.head.appendChild(r)}getWithDefault(e,t,r,n){let i=this.get(e,r,n);return i!==e?i:t}get(e,t,r){let n=e;(window.translations||this.translationsLoaded)&&(n="trans."+e);let i=super.get(n,t,r);return i!==n?i:super.get(n,t,"en").replace(n,e)}set(e,t){return salla.helpers.setNested(this.messages[`${this.getLocale()}.trans`],e,t),this}add(e,t){return Object.entries(t).forEach((t=>salla.helpers.setNested(this.messages[t[0]+".trans"],e,t[1]))),this}addBulk(e){return Object.entries(e).forEach((([e,t])=>{this.add(e,t)})),this}},J.form=new class{async submit(e,t=null){let r=t;if("SubmitEvent"===t?.constructor?.name||"submit"===t?.type){if(t.preventDefault(),"FORM"!==t.target?.tagName)return Salla.logger.warn("Failed find the target element for submit action. make sure you submit a form element"),new Promise((()=>{throw"Failed find the target element for submit action. make sure you submit a form element"}));"SALLA-BUTTON"===t?.submitter?.parentElement?.tagName&&t.submitter.parentElement.load(),r=t.target.getElementSallaData(),salla.log("Data from element",r)}if(/^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$/gm.test(e))return salla.api.request(e,r,"post").finally((()=>{loaderSupported&&t?.submitter?.parentElement.stop()}));let n=e.split("."),i=n.splice(-1);return await salla.call(n.join("."))[i](r).finally((()=>t?.submitter?.parentElement?.stop())).catch((e=>{throw salla.logger.warn(e),e}))}onSubmit(e,t){return salla.form.submit(e,t),!1}onChange(e,t){return t?.currentTarget?"FORM"!==t?.currentTarget?.tagName||t.currentTarget.checkValidity()?(salla.form.submit(e,t.currentTarget.getElementSallaData()),!0):(salla.logger.warn(`Trying to trigger '${e}' without filling required fields!`),!1):(salla.logger.warn(`Trying to trigger '${e}' without event!`),!1)}getPossibleValue(e,t,r=!1){if(!e)return;if("object"!=typeof e)return e;let n;for(let r=0;r<t.length&&!(n=e[t[r]])&&!("undefined"!=typeof FormData&&e instanceof FormData&&(n=e.get(t[r])));r++);return n=n||e,"object"!=typeof n||r?n:void 0}},J.infiniteScroll=new class extends Q{constructor(e,t){super(e,t),this.options={path:".infinite-scroll-btn",history:"push",status:".infinite-scroll-status",append:".list-block"},this.fetchOptions={headers:{"S-INFINITE-SCROLL":!0,"S-Source":"twilight","cache-control":"no-cache",pragma:"no-cache"}},this.instances=[]}initiate(e,t,r,n=!1){n?((r=r||{}).fetchOptions={...this.fetchOptions,...r.fetchOptions||{}},r.responseBody="json"):r=this.getCustomOptions(t,r);let i="string"!=typeof e?e:document.querySelector(e),a=r.path;if(!i||!a||"string"==typeof a&&!document.querySelector(a))return void Salla.logger.warn(i?"Path Option (a link that has next page link) Not Existed!":"Container For InfiniteScroll not Existed!");let o=new Se(i,r);return o.on("scrollThreshold",Salla.infiniteScroll.event.scrollThreshold),o.on("request",Salla.infiniteScroll.event.request),o.on("load",Salla.infiniteScroll.event.load),o.on("append",Salla.infiniteScroll.event.append),o.on("error",Salla.infiniteScroll.event.error),o.on("last",Salla.infiniteScroll.event.last),o.on("history",Salla.infiniteScroll.event.history),this.instances.push(o),o}getCustomOptions(e,t){return(t="object"==typeof e&&e||t||this.options).fetchOptions=this.fetchOptions,t.path=t.path||this.options.path,t.button=t.button||t.path,t.status=t.status||this.options.status,t.hasOwnProperty("history")||(t.history=this.options.history),t.nextPage=t.nextPage||t.next_page,t.append="string"==typeof e&&e||t.append||this.options.append,t}loadNextPage(e){("string"!=typeof e?e:document.querySelector(e)).loadNextPage()}destroy(e){("string"!=typeof e?e:document.querySelector(e)).destroy()}}(void 0,salla.event.infiniteScroll),J.api=new class extends bi{constructor(){super(),this.auth=new Ie,this.cart=new xe,this.loyalty=new Pe,this.order=new Ae,this.rating=new Re,this.product=new Oe,this.profile=new je,this.comment=new Te,this.currency=new Ce,this.document=new Fe,this.wishlist=new Ue,this.scope=new Le,this.booking=new Ne,this.landing=new qe,this.notifications=new ze,this.component=new wi,this.advertisement=new Si,this.navigation=new _i,this.metadata=new Ei}},J.sso=new class{constructor(){Salla.onReady((()=>this.init()))}init(){if(salla.config.get("store.features").includes("sso-login")){if(window.location.hostname.includes("salla"))return salla.log("SSO is not supported yet for stores without custom domain.");salla.auth.event.onLoggedOut((()=>new Promise((e=>{const t=document.createElement("iframe");t.style.display="none",t.src=salla.url.get("sso/logout"),document.body.appendChild(t),t.onload=()=>{document.body.removeChild(t),e()}})))),document.querySelector("salla-login-modal")?.remove(),Salla.event.removeAllListeners("login::open"),Salla.event.prependListener("login::open",(()=>{const e=window.location.pathname+window.location.search,t=`${window.location.origin}/sso/login?intended_to=${encodeURIComponent(e)}`;return console.log("Redirecting to:",t),window.location.href=t,!0}))}}},J.intend=new class{constructor(){Salla.onReady((()=>this.init()))}init(){if(Salla.config.isUser())return;const e=new URLSearchParams(window.location.search);return e.has("intended_to")?this.handleAfterLoginEvent(e.get("intended_to")):void 0}handleAfterLoginEvent(e){let t="intend::user.logged.in";Salla.event.on(t,(()=>window.location=e)),Salla.api.auth.setAfterLoginEvent(t),Salla.api.auth.setCanRedirect(!1),Salla.event.on("salla-login::ready",(()=>Salla.event.emit("login::open",{withoutReload:!0})))}},["cart","auth","order","scope","rating","comment","loyalty","product","profile","currency","document","wishlist","booking","landing","metadata"].forEach((e=>J[e]=new Q(J.api[e],J.event[e]))),J.call=e=>{let t=J,r=e.split(".");for(;r.length&&(t=t[r.shift()]););return t},J.analytics=new class{constructor(){this.history=[],this.customTrackers=[],this.mappedEvents={"wishlist::added":"Product Added to Wishlist","wishlist::removed":"Product Removed from Wishlist","salla-products-list::products.fetched":"Product List Viewed","auth::registered":"Signed Up","auth::logged.in":"Signed In","auth::logged.out":"Signed Out","share-element":"Product Shared"},salla.event.onAny(((e,t)=>{try{if(Object.keys(this.mappedEvents).includes(e)){const r=this.mappedEvents[e];return void salla.event.emit(r,t)}if(!salla.config.get("jitsu.events",[]).includes(e))return;const r=Nl.transform(e,t);r&&this.track(r.event,r.properties)}catch(e){salla.log("Error in analytics event handling:",e)}})),salla.event.on("twilight::init",(e=>{const{host:t,key:r}=e?.jitsu||{};this.analytics=null,t&&r?(Nl.registerEvents(),this.analytics=Sl({host:t,writeKey:r}),"user"===e?.user?.type&&this.analytics.identify(e?.user),this.page({context:{store_id:e?.store?.id,version:e?.jitsu?.version}})):salla.log("Jitsu configuration is missing. Analytics will not be tracked.")}))}track(e,t={}){return this.analytics?(t=this.finalPayload(t),this.analytics.track(e,t).then((r=>(this.pushEventToCustomTrackers("track",e,t),r))).then((()=>{this.history.push({action:"track",eventName:e,payload:t})})).catch((e=>(salla.log("Error tracking event:",e),Promise.reject(e))))):(salla.log("Jitsu configuration is missing. Analytics will not be tracked."),Promise.resolve())}page(e={}){return this.analytics?(e=this.finalPayload(e),this.analytics.page(e).then((t=>(this.pushEventToCustomTrackers("page",e),t))).then((()=>{this.history.push({action:"page",payload:e})})).catch((e=>(salla.log("Error tracking page event:",e),Promise.reject(e))))):(salla.log("Jitsu configuration is missing. Analytics will not be tracked."),Promise.resolve())}finalPayload(e={}){let t={context:{version:salla.config.get("jitsu.version",1),store_id:salla.config.get("store.id")}};const r=salla.storage.session.get("s-utms");if(r){const{"s-utm-campaign":e,"s-utm-source":n,"s-utm-medium":i,"s-utm-term":a,"s-utm-content":o,"s-utm-referrer":s}=r;t.context.campaign={name:e,source:n,medium:i,term:a,content:o,referrer:s}}return{...t,...e}}registerTracker(e){"object"==typeof e?"string"==typeof e.name&&e.name?"function"==typeof e.track?"function"==typeof e.page?this.customTrackers.find((t=>t.name===e.name))?salla.log("tracker with the same name already exists!"):(this.customTrackers.push(e),this.history.forEach((t=>"track"===t.action?e.track(t.eventName,t.payload):"page"===t.action?e.page(t.payload):void 0))):salla.log("tracker.page most be a function!"):salla.log("tracker.track most be a function!"):salla.log("tracker.name most be a string!"):salla.log('tracker most be an object {name:"tracker name", track: callback, page: callback}!')}pushEventToCustomTrackers(e,t,r={}){this.customTrackers.forEach((n=>n[e](t,r)))}},J.init=e=>new ki(e),salla.event.once("twilight::init",salla.init),salla.event.on("twilight::api",(e=>{let t=e?.events;t&&salla.event.dispatchEvents(t)})),J.success=J.notify.success,J.error=J.notify.error,J.versions.twilight="2.14.134",J.onInitiated=e=>salla.event.once("twilight::initiated",e),window.dispatchEvent(new CustomEvent("salla::created")),J}));
19
+ */!function(e,t){e.exports=function(){function e(){if("undefined"!=typeof document&&document.documentElement)return document.documentElement.lang}function t(e){return"-Inf"===e?-1/0:"+Inf"===e||"Inf"===e||"*"===e?1/0:parseInt(e,10)}var r=/^({\s*(\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*)\s*})|([\[\]])\s*(-Inf|\*|\-?\d+(\.\d+)?)\s*,\s*(\+?Inf|\*|\-?\d+(\.\d+)?)\s*([\[\]])$/,n=/({\s*(\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*)\s*})|([\[\]])\s*(-Inf|\*|\-?\d+(\.\d+)?)\s*,\s*(\+?Inf|\*|\-?\d+(\.\d+)?)\s*([\[\]])/,i={locale:"en"},o=function(t){t=t||{},this.locale=t.locale||e()||i.locale,this.fallback=t.fallback,this.messages=t.messages};return o.prototype.setMessages=function(e){this.messages=e},o.prototype.getLocale=function(){return this.locale||this.fallback},o.prototype.setLocale=function(e){this.locale=e},o.prototype.getFallback=function(){return this.fallback},o.prototype.setFallback=function(e){this.fallback=e},o.prototype.has=function(e,t){return!("string"!=typeof e||!this.messages)&&null!==this._getMessage(e,t)},o.prototype.get=function(e,t,r){if(!this.has(e,r))return e;var n=this._getMessage(e,r);return null===n?e:(t&&(n=this._applyReplacements(n,t)),n)},o.prototype.trans=function(e,t){return this.get(e,t)},o.prototype.choice=function(e,t,r,i){(r=void 0!==r?r:{}).count=t;var o=this.get(e,r,i);if(null==o)return o;for(var a=o.split("|"),s=[],l=0;l<a.length;l++)if(a[l]=a[l].trim(),n.test(a[l])){var c=a[l].split(/\s/);s.push(c.shift()),a[l]=c.join(" ")}if(1===a.length)return o;for(var u=0;u<s.length;u++)if(this._testInterval(t,s[u]))return a[u];return i=i||this._getLocale(e),a[this._getPluralForm(t,i)]},o.prototype.transChoice=function(e,t,r){return this.choice(e,t,r)},o.prototype._parseKey=function(e,t){if("string"!=typeof e||"string"!=typeof t)return null;var r=e.split("."),n=r[0].replace(/\//g,".");return{source:t+"."+n,sourceFallback:this.getFallback()+"."+n,entries:r.slice(1)}},o.prototype._getMessage=function(e,t){if(t=t||this.getLocale(),e=this._parseKey(e,t),void 0===this.messages[e.source]&&void 0===this.messages[e.sourceFallback])return null;var r=this.messages[e.source],n=e.entries.slice(),i=n.join(".");if("string"!=typeof(r=void 0!==r?this._getValueInKey(r,i):void 0)&&this.messages[e.sourceFallback])for(r=this.messages[e.sourceFallback],n=e.entries.slice(),i="";n.length&&void 0!==r;)r[i=i?i.concat(".",n.shift()):n.shift()]&&(r=r[i],i="");return"string"!=typeof r?null:r},o.prototype._getValueInKey=function(e,t){if("string"==typeof e[t])return e[t];for(var r=(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),n=0,i=r.length;n<i;++n){var o=r.slice(0,n+1).join("."),a=r.slice(n+1,r.length).join(".");if(e[o])return this._getValueInKey(e[o],a)}return e},o.prototype._getLocale=function(e){return e=this._parseKey(e,this.locale),this.messages[e.source]?this.locale:this.messages[e.sourceFallback]?this.fallback:null},o.prototype._findMessageInTree=function(e,t){for(;e.length&&void 0!==t;){var r=e.join(".");if(t[r]){t=t[r];break}t=t[e.shift()]}return t},o.prototype._sortReplacementKeys=function(e,t){return t.length-e.length},o.prototype._applyReplacements=function(e,t){return Object.keys(t).sort(this._sortReplacementKeys).forEach((function(r){e=e.replace(new RegExp(":"+r,"gi"),(function(e){var n=t[r];return e===e.toUpperCase()?n.toUpperCase():e===e.replace(/\w/i,(function(e){return e.toUpperCase()}))?n.charAt(0).toUpperCase()+n.slice(1):n}))})),e},o.prototype._testInterval=function(e,n){if("string"!=typeof n)throw"Invalid interval: should be a string.";var i=(n=n.trim()).match(r);if(!i)throw"Invalid interval: "+n;if(!i[2]){var o=(i=i.filter((function(e){return!!e})))[1],a=t(i[2]);a===1/0&&(a=-1/0);var s=t(i[3]),l=i[4];return("["===o?e>=a:e>a)&&("]"===l?e<=s:e<s)}for(var c=i[2].split(","),u=0;u<c.length;u++)if(parseInt(c[u],10)===e)return!0;return!1},o.prototype._getPluralForm=function(e,t){switch(t){case"az":case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":default:return 0;case"af":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return 1==e?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"hy":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return 0===e||1===e?0:1;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2;case"cs":case"sk":return 1==e?0:e>=2&&e<=4?1:2;case"ga":return 1==e?0:2==e?1:2;case"lt":return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2;case"sl":return e%100==1?0:e%100==2?1:e%100==3||e%100==4?2:3;case"mk":return e%10==1?0:1;case"mt":return 1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3;case"lv":return 0===e?0:e%10==1&&e%100!=11?1:2;case"pl":return 1==e?0:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:2;case"cy":return 1==e?0:2==e?1:8==e||11==e?2:3;case"ro":return 1==e?0:0===e||e%100>0&&e%100<20?1:2;case"ar":return 0===e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11&&e%100<=99?4:5}},o}()}(qn);var Dn=qn.exports;class $n{constructor(){this.endpoints={},this.webEndpoints=[],this.namespace="BaseApi",this.endpointsMethods={},this.endpointsHeaders={};let e=/function (.{1,})\(/.exec(this.constructor.toString());this.className=(e&&e.length>1?e[1]:"").toLowerCase(),this.debounce={request:void 0,time:300,enabled:!0,exclude:[]}}after_init(){}normalRequest(e,t=void 0,r=null){let n=Array.isArray(e),i=n?this.getUrl(...e):this.getUrl(e);e=n?e[0]:e,r=r||this.endpointsMethods[e]||"post";let o=this.endpointsHeaders[e];if("get"===r&&t instanceof FormData){let e={};Array.from(t.entries()).forEach((function(t){e[t[0]]=t[1]})),t={params:e}}return o&&"get"===r&&(t=t?Object.assign(t,o):o),this.webEndpoints.includes(e)?i=salla.url.get(i):"http"!==i.substring(0,4)&&(i=salla.url.api(i)),Salla.api.request(i,t,r,{headers:o})}request(e,t=void 0,r=null){return!salla.api.isFastRequestsAllowed()&&this.debounce.enabled?(this.debounce.request||(this.debounce.request=salla.helpers.debounce(this.normalRequest.bind(this),this.debounce.time)),this.debounce.request(e,t,r)):this.normalRequest(e,t,r)}getUrl(e){let t=this.endpoints[e]||e;const r=/{[^{}]+}/i;for(let e=1;e<arguments.length;e++)t=t.replace(r,arguments[e]);return t}event(){return salla.event[this.className]}}class Mn extends $n{constructor(){super(),this.addToCartTries=0,this.namespace="cart",this._pendingCartIdRequest=null,this.endpoints={latest:"cart/latest",latestApi:"cart/latest",details:"cart/{cart}",quickAdd:"cart/{cart}/item/{product}/quick-add",addItem:"cart/{cart}/item/{product}/add",deleteItem:"cart/{cart}/item/{item}",updateItem:"cart/{cart}/item/{item}",deleteImage:"cart/{cart}/image/{image}",uploadImage:"cart/{cart}/image",status:"cart/{cart}/status",addCoupon:"cart/{id}/coupon",deleteCoupon:"cart/{id}/coupon",getQuickOrderSettings:"checkout/quick-order",createQuickOrder:"checkout/quick-order",priceQuote:"cart/{cartId}/price-quote",offers:"offers/cart/{cartId}",giftCartDetails:"cart/{cartId}/buy-as-gift",cartGiftToCart:"cart/{cart_id}/buy-as-gift"},this.endpointsMethods={latest:"get",details:"get",status:"get",updateItem:"post",deleteItem:"delete",deleteImage:"delete",deleteCoupon:"put",getQuickOrderSettings:"get",offers:"get",giftCartDetails:"get"},this.webEndpoints=["latest"],this.latestCart=null,this.after_init(),salla.event.on("api::initiated",(()=>salla.api.cart.getCurrentCartId(!1,"api::initiated"))),salla.event.on("auth::token.fetched",this._checkCurrentCart),salla.event.on("auth::token.invalid",this._checkCurrentCart),salla.event.on("auth::verified",(()=>salla.api.cart.getCurrentCartId(!0,"auth::verified")),{async:!0}),salla.event.on("twilight::initiated",(()=>salla.api.cart.syncGuestCart())),salla.event.on("profile::info.fetched",this._checkCurrentCart),salla.event.on("twilight::error",(e=>(e.includes("Cart not available")||e.includes("السلة غير متاحة"))&&salla.cart.api.reset()))}_checkCurrentCart(){let e=salla.storage.get("cart"),t=salla.config.get("user")?.id,r=salla.config.get("store")?.id;e&&e.id&&(e.user_id===t&&e.store_id===r||(salla.log("cart",{user_id:e.user_id,store_id:e.store_id}),salla.log("current",{user_id:t,store_id:r}),salla.log("Api:: case2 => The cart is not belong to current "+(e.user_id!==t?"user":"store")+"!"),salla.cart.api.reset()),salla.url.is_page("cart")&&e.id!==salla.config.get("page.id")&&(salla.log("cart",{user_id:e.user_id,store_id:e.store_id}),salla.log("current",{user_id:t,store_id:r}),salla.log(`Api:: case2 => The cart is different between storage:${e.id} & session:${salla.config.get("page.id")} !`),salla.cart.api.reset()))}async getCurrentCartId(e=!1,t="getCurrentCartId"){if(Salla.cart.api._pendingCartIdRequest)return Salla.cart.api._pendingCartIdRequest;Salla.cart.api._pendingCartIdRequest=(async()=>{try{if(!e){if(Salla.cart.api.latestCart)return Salla.cart.api.latestCart.cart.id;let e=Salla.storage.get("cart.id");if(e)return e}let r=await Salla.cart.api.latest(t);return Salla.cart.api.latestCart=r.data,Salla.cart.api.latestCart.cart.id}finally{Salla.cart.api._pendingCartIdRequest=null}})();let r=Salla.cart.api._pendingCartIdRequest;return Salla.cart.api._pendingCartIdRequest=null,r}getUploadImageEndpoint(e){return salla.url.api(this.getUrl("uploadImage",e||salla.storage.get("cart.id")))}latest(e="direct"){return this.request(salla.auth.api.isSessionless()?"latestApi":"latest",{params:{source:"",callerName:e}}).then((e=>(salla.api.cart.set(e.data.cart),salla.event.cart.latestFetched(e),e))).catch((e=>{throw salla.api.cart.reset(),salla.event.cart.latestFailed(e),e}))}async details(e,t=[]){return e=e||await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.details"),this.request(["details",e],{params:{with:t}}).then((function(e){return salla.cart.event.detailsFetched(e),e})).catch((function(e){throw salla.cart.event.detailsNotFetched(e),e}))}async quickAdd(e,t,r){return this.addItem({id:e,quantity:t,offerType:r,endpoint:"quickAdd"})}async addItem(e){let t=this.getCartPayload(e);if(!t.id){let e='There is no product "id"!';return salla.cart.event.itemAddedFailed(e),salla.api.errorPromise(e)}let r=salla.form.getPossibleValue(t.payload,["endpoint"]);r&&["addItem","quickAdd"].includes(r)||(r=salla.form.getPossibleValue(t.payload,["quantity","donating_amount"])?"addItem":"quickAdd");let n=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.addItem");return this.request([r,n,t.id],t.payload).then((function(e){return salla.cart.api.addToCartTries=0,salla.cart.event.itemAdded(e,t.id),e})).catch((function(r){if(!salla.cart.api.addToCartTries)return salla.cart.api.addToCartTries++,salla.cart.reset(),salla.cart.api.addItem(e);throw salla.cart.event.itemAddedFailed(r,t.id),r}))}async deleteItem(e){let t=this.getCartPayload(e);if(!t.id){let e='There is no "id"!';return salla.cart.event.itemDeletedFailed(e),salla.api.errorPromise(e)}let r=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.deleteItem");return this.request(["deleteItem",r,t.id]).then((function(e){return salla.cart.event.itemDeleted(e,t.id),e})).catch((function(e){throw salla.cart.event.itemDeletedFailed(e,t.id),e}))}async updateItem(e){let t=this.getCartPayload(e);if(!t.id){let e='There is no "id"!';return salla.cart.event.itemUpdatedFailed(e),salla.api.errorPromise(e)}let r=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.updateItem");return"Object"===t.payload.constructor?.name?t.payload._method="PUT":t.payload.append("_method","PUT"),this.request(["updateItem",r,t.id],t.payload).then((function(e){return salla.cart.event.itemUpdated(e,t.id),e})).catch((function(e){throw salla.cart.event.itemUpdatedFailed(e,t.id),e}))}async deleteImage(e){if(!(e=salla.form.getPossibleValue(e,["id","image_id","photo_id"]))){let e='There is no "id"!';return salla.cart.event.imageNotDeleted(e),salla.api.errorPromise(e)}let t=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.deleteImage");return this.request(["deleteImage",t,e]).then((function(t){return salla.cart.event.imageDeleted(t,e),t})).catch((function(t){throw salla.cart.event.imageNotDeleted(t,e),t}))}async status(e){e=e||await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.status");const t=salla.helpers.hasApplePay();try{await salla.cart.event.submitting()}catch(e){salla.log("Error on: salla.cart.event.submitting()")}return this.request(["status",e],{params:{has_apple_pay:t}})}async submit(){if(salla.config.isGuest())return salla.log("it looks that the current user is not logged-in, lets login then submit"),salla.cart.loginOnCartPage();this.status(await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.submit")).then((e=>{let t=e.data.next_step?.to;if(t||(window.history.pushState({},"",salla.url.addParamToUrl("reload","empty_next_step")),window.history.pushState({},"",salla.url.addParamToUrl("acitve",!1===e.data.active?"false":"true_or_undfined")),salla.cart.reset(),window.location.reload()),!["checkout","refresh","login"].includes(t)){let e="Can't find next_step );";throw salla.cart.reset(),salla.cart.event.submitFailed(e),e}return salla.cart.event.submitted(e),"login"===t?salla.cart.loginOnCartPage():"checkout"===t?window.location.href=e.data.next_step.url+(salla.helpers.hasApplePay()?"?has_apple_pay=true":""):(window.history.pushState({},"",salla.url.addParamToUrl("reload","refresh")),void window.location.reload())})).catch((function(e){salla.cart.api.tries=salla.cart.api.tries||0,salla.cart.reset();let t=404===e?.response?.data?.status;if(t&&0===salla.cart.api.tries)return salla.cart.api.tries++,salla.log("we recived that the current cart is not found, we will try to re-submit one more time"),salla.cart.submit();throw t&&salla.error(salla.lang.get("pages.checkout.try_again")),salla.cart.event.submitFailed(e),e}))}getCartPayload(e){let t=e?.data||("object"==typeof e?e:void 0);return e=t?salla.form.getPossibleValue(t,["prod_id","product_id","item_id","id"]):e,t="object"==typeof t?t:void 0,{id:e,payload:t}}normalRequest(e,t=void 0,r=null){return super.normalRequest(e,t,r).catch((async e=>{throw 403===e?.response?.status&&(this.reset(),salla.error(salla.lang.get("pages.checkout.try_again"))),e}))}reset(){salla.api.cart.latestCart=null,salla.storage.remove("cart"),salla.cookie.clearCookieByPrefix(salla.api.cart.getCartCookiePrefix()),salla.cart.event.successReset()}async addCoupon(e){if(e=e.data||e,!(e=salla.form.getPossibleValue(e,["coupon"]))){let e=new Error('There is no "Coupon Code"!');return e.name="EmptyCoupon",salla.event.cart.couponAdditionFailed(e),salla.api.errorPromise(e)}let t=await salla.cart.api.getCurrentCartId(!1,"salla.api.cart.addCoupon");return this.request(["addCoupon",t],{coupon:e}).then((function(e){return salla.event.cart.couponAdded(e,t),e})).catch((function(e){throw salla.event.cart.couponAdditionFailed(e,t),e}))}async deleteCoupon(){let e=await salla.cart.api.getCurrentCartId(!1,"salla.api.cart.deleteCoupon");return this.request(["deleteCoupon",e],{}).then((function(t){return salla.event.cart.couponDeleted(t,e),t})).catch((function(t){throw salla.event.cart.couponDeletionFailed(t,e),t}))}getQuickOrderSettings(){return this.request("getQuickOrderSettings").then((e=>(salla.event.cart.quickOrderSettingFetched(e),e))).catch((e=>{throw salla.event.cart.quickOrderSettingFailed(e),e}))}createQuickOrder(e){return this.request("createQuickOrder",e).then((e=>(salla.event.cart.quickOrderSucceeded(e),e))).catch((e=>{throw salla.event.cart.quickOrderFailed(e),e}))}async priceQuote(e){return salla.config.isGuest()?(salla.auth.api.setAfterLoginEvent("cart::priceQuote",e),void salla.event.dispatch("login::open")):this.request(["priceQuote",e||await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.priceQuote")]).then((e=>(salla.cart.api.reset(),salla.event.cart.priceQuoteSucceeded(e).then((()=>(setTimeout((()=>window.location.href=salla.url.get("/")),1e3),e)))))).catch((e=>salla.event.cart.priceQuoteFailed(e).then((()=>{throw 404===e.error?.code&&window.location.reload(),e}))))}loginOnCartPage(){salla.auth.setCanRedirect(!1),salla.event.dispatch("login::open",{withoutReload:!0}),salla.auth.event.onLoggedIn((()=>{salla.event.dispatch("login::close"),salla.cart.submit()}))}set(e){salla.storage.set("cart",e),salla.api.cart.syncGuestCart()}async offers(){const e=await salla.cart.api.getCurrentCartId(!1,"salla.api.cart.offers");return this.request(["offers",e]).then((e=>(salla.event.cart.offersFetched(e),e))).catch((e=>{throw salla.event.cart.offersFailed(e),e}))}async getGiftCartDetails(){let e=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.getGiftCartDetails");return this.request(["giftCartDetails",e]).then((t=>(salla.product.event.giftFetched(t,e),t))).catch((t=>{throw salla.product.event.giftFetchFailed(t,e),t}))}async addCartGiftToCart(e,t=!1){let r=await salla.api.cart.getCurrentCartId(!1,"salla.api.cart.addCartGiftToCart");return this.request(["cartGiftToCart",r],e).then((e=>(salla.product.event.addGiftToCartSucceeded(e,r),t&&(window.location.href=e.redirect),e))).catch((e=>{throw salla.product.event.addGiftToCartFailed(e,r),e}))}async syncGuestCart(){if(!salla.config.isGuest())return;const e=salla.api.cart.getCartCookiePrefix(),t=salla.cookie.getCookieByPrefix(e),r=salla.storage.get("cart.id");if(!r&&t.length)try{const t=await salla.api.cart.latest(),r=t.data?.cart?.id;r&&salla.api.cart.setCartCookie(e,r)}catch(e){salla.log("Failed to fetch latest cart:",e)}salla.cookie.clearCookieByPrefix(e),r&&(salla.config.set("headers.s-cart-id",r),salla.api.cart.setCartCookie(e,r))}setCartCookie(e,t){salla.cookie.set(`${e}-${t}`,t,1)}getCartCookiePrefix(){return"cart-id-"+salla.config.get("store.id")}}class Bn extends $n{constructor(){super(),this.namespace="loyalty",this.endpoints={getProgram:"loyalty",exchange:"loyalty/exchange",reset:"loyalty/exchange"},this.endpointsMethods={getProgram:"get",reset:"put"},this.after_init()}getProgram(){return this.request("getProgram").then((e=>(salla.loyalty.event.programFetched(e),e))).catch((e=>{throw salla.loyalty.event.programNotFetched(e),e}))}async exchange(e,t=null){if(!(e=salla.form.getPossibleValue(e,["id","loyalty_prize_id","prize_id"]))){let e="Unable to find cart id. Please provide one.";return salla.loyalty.event.exchangeFailed(e),salla.api.errorPromise(e)}if(!(t=t||await salla.cart.getCurrentCartId(!1,"salla.api.loyalty.exchange"))){let e="Unable to find cart id. Please provide one.";return salla.loyalty.event.exchangeFailed(e),salla.api.errorPromise(e)}return this.request("exchange",{loyalty_prize_id:e,cart_id:t}).then((function(t){return salla.loyalty.event.exchangeSucceeded(t,e),t})).catch((function(t){throw salla.loyalty.event.exchangeFailed(t,e),t}))}async reset(e=null){if(!(e=e||await salla.cart.getCurrentCartId(!1,"salla.api.loyalty.reset"))){let e="Unable to find cart id. Please provide one.";return salla.loyalty.event.resetFailed(e),salla.api.errorPromise(e)}return this.request("reset",{cart_id:e}).then((e=>(salla.loyalty.event.resetSucceeded(e),e))).catch((e=>{throw salla.loyalty.event.resetFailed(e),e}))}}class Hn extends $n{constructor(){super(),this.namespace="auth",this.canRedirect_=!0,this.afterLoginEvent={event:null,payload:null},this.endpoints={login:"auth/{type}/send_verification",resend:"auth/resend_verification",verify:"auth/{type}/verify",register:"auth/register",logout:"logout",refresh:"auth/refresh"},this.webEndpoints=["logout","auth/jwt","refresh"],this.endpointsMethods={logout:"get"},this.inIframe=salla.helpers.isIframe(),this.after_init()}setAfterLoginEvent(e,t){salla.api.auth.afterLoginEvent={event:e,payload:t}}setCanRedirect(e){salla.api.auth.canRedirect_=e}canRedirect(){return salla.api.auth.canRedirect_&&!salla.api.auth.afterLoginEvent.event}login(e){e?.data&&(e=e.data);let t=salla.form.getPossibleValue(e,["type"]);if(!["email","mobile"].includes(t)){let e="Login type should be in: [email, mobile]";return salla.auth.event.codeNotSent(e),salla.api.errorPromise(e)}return this.request(["login",t],e).then((function(e){return salla.auth.event.codeSent(e,t),e})).catch((function(e){throw salla.auth.event.codeNotSent(e,t),salla.auth.api.trackBlockedError(e,"login"),e}))}async verify(e,t=!0){let r=salla.form.getPossibleValue(e,["type"]);if(!r){let e="Failed to know what's login type!";return salla.auth.event.verificationFailed(e),salla.api.errorPromise(e)}t=!1!==salla.form.getPossibleValue(e,["supportWebAuth"])&&t,salla.auth.event.next_event&&(e.next_event=salla.auth.event.next_event);let n=await salla.auth.api.request(["verify",r],e);return 200!==n?.status?(salla.auth.event.verificationFailed(n,r),salla.api.errorPromise(n)):salla.auth.api.handlAfterAuthenticatedResponse(n,t)}async handlAfterAuthenticatedResponse(e,t){e.data||(e={data:e});let r="authenticated"===e.data?.case;return r&&salla.auth.event.tokenFetched(e.data.token),t&&!this.inIframe&&!this.isSessionless()&&await salla.auth.api.request("auth/jwt",{callerName:"salla.auth.api.handlAfterAuthenticatedResponse"}),r&&await salla.auth.event.loggedIn(e).then((()=>salla.auth.api.afterUserLogin())),await salla.auth.event.verified(e,e.data.verification.type),salla.api.successPromise(e)}resend(e){let t;return(e=e.data||e).type=e.type||"mobile","mobile"!==e.type||e.phone&&e.country_code?"email"!==e.type||e.email?this.request("resend",e).then((function(t){return salla.auth.event.codeSent(t,e),t})).catch((function(t){throw salla.auth.event.codeNotSent(t,e),salla.auth.api.trackBlockedError(t,"resend"),t})):(salla.auth.event.codeNotSent(t="There is no email!",e),salla.api.errorPromise(t)):(salla.auth.event.codeNotSent(t="There is no phone or country_code!",e),salla.api.errorPromise(t))}register(e){let t;return e.data&&(t=e.element,e=e.data),salla.auth.event.next_event&&(e.next_event=salla.auth.event.next_event),this.request("register",e).then((async e=>(salla.auth.event.registered.call(t,e),"authenticated"===e.data?.case&&(salla.auth.event.tokenFetched(e.data.token),!this.inIframe&&!this.isSessionless()&&await salla.auth.request("auth/jwt",{callerName:"salla.auth.api.register"}),salla.auth.event.loggedIn(e),salla.auth.api.afterUserLogin()),e))).catch((function(e){throw salla.auth.event.registrationFailed.call(t,e),salla.auth.api.trackBlockedError(e,"register"),e}))}handleIframeReadyAction(e,t){e.contentWindow?.postMessage({source:"logout",type:"init",data:{id:salla.config.get("store.id"),lang:"ar",appUrl:t,apiUrl:salla.config.get("store.api").replace(/\/+$/,""),settings:salla.config.all(),storage:{}}},"*")}appendIframeAndLogout(){return new Promise((e=>{let t=salla.config.get("login.url","https://accounts.salla.com");const r=document.createElement("iframe");r.style.display="none",r.src=`${t}/logout`;const n=i=>{if("login"!==i.data.source)return;let o=i.data.type.replace("iframe::","");if(salla.log("iframe::logout-iframe message received",i.data),["logged-out","ready"].includes(o)){if("ready"===o)return this.handleIframeReadyAction(r,t);window.removeEventListener("message",n),r.remove(),e()}};window.addEventListener("message",n),document.body.appendChild(r)}))}logout(e="twilight"){return salla.storage.clearAll(),salla.cookie.clearAll(),e=encodeURI(e),salla.auth.event.loggedOut().then((()=>this.appendIframeAndLogout())).then((()=>{let t=salla.url.get(`logout?from=${e}`);console.log(`Going to ${t}, to do any thing before this action use: salla.auth.even.onLoggedOut(()=>{...})`);try{location.href=t}catch(e){salla.log(e)}})).catch((e=>console.error("Error during logout:",e)))}refresh(){return this.request("refresh").then((function(e){return salla.auth.event.tokenFetched(e.data.token),e})).catch((function(e){throw salla.auth.event.refreshFailed(e),e}))}afterUserLogin(){this.afterLoginEvent.event&&salla.event.emit(this.afterLoginEvent.event,this.afterLoginEvent.payload)}isSessionless(){return"sessionless"===salla.config.get("auth.mode")}trackBlockedError(e,t){blockedByProxy=void 0===e?.response?.headers?.["s-ray"],blockedByProxy&&salla.analytics.track("BlockedByProxy",{class:"auth",function:t,reason:"non-server-request",message:e.message})}}class Gn extends $n{constructor(){super(),this.namespace="order",this.endpoints={cancel:"orders/cancel/{id}",createCartFromOrder:"reorder/{id}",sendInvoice:"orders/send/{id}",fetch:"orders"},this.endpointsMethods={createCartFromOrder:"get",fetch:"get"},this.after_init()}show(e){let t=salla.form.getPossibleValue(e?.data||e,["id","order_id"]);salla.event.dispatch("mobile::order.placed",{order_id:t}),location.href=salla.form.getPossibleValue(e?.data||e,["url"])}cancel(e){return e=e||Salla.config.get("page.id"),this.request(["cancel",e],{params:{has_apple_pay:salla.helpers.hasApplePay()}}).then((function(t){return salla.event.order.canceled(t,e),t})).catch((function(t){throw salla.event.order.notCanceled(t,e),t}))}createCartFromOrder(e){return e=e||salla.config.get("page.id"),this.request(["createCartFromOrder",e]).then((function(t){return salla.cart.reset(),salla.event.order.orderCreated(t,e),window.location.href=t.data.url,t})).catch((function(t){throw salla.event.order.orderCreationFailed(t,e),t}))}sendInvoice(e){let t=salla.form.getPossibleValue(e,["id"])||salla.config.get("page.id");if(!t||isNaN(t)){let e="There is no id!";return salla.order.event.invoiceNotSent(e),salla.api.errorPromise(e)}return this.request(["sendInvoice",t],e).then((e=>(salla.event.order.invoiceSent(e,t),e))).catch((e=>{throw salla.event.order.invoiceNotSent(e,t),e}))}fetch(e){return this.request(["fetch"],{params:e}).then((function(e){return salla.event.order.ordersFetched(e),e})).catch((function(e){throw salla.event.order.ordersNotFetched(e),e}))}}class Jn extends $n{constructor(){super(),this.namespace="product",this.previousQuery="",this.endpoints={getPrice:"products/{id}/price",availabilitySubscribe:"products/{id}/availability-notify",search:"products/search",details:"products/{product_id}/details",categories:"products/categories/{?id}",offers:"products/{product_id}/specialoffer",getSizeGuides:"products/{prod_id}/size-guides",giftProductDetails:"products/{product_id}/buy-as-gift",productGiftToCart:"products/{product_id}/buy-as-gift",giftImage:"products/buy-as-gift/image",buyNow:"products/{product_id}/buy-now",fetch:"products",fetchOptions:"products/options"},this.endpointsMethods={details:"get",giftProductDetails:"get",fetch:"get",offers:"get",fetchOptions:"get"},this.after_init()}getPrice(e){let t=e.data||e,r=salla.form.getPossibleValue(t,["id","prod_id","product_id"]);return this.request(["getPrice",r],"object"==typeof t?t:void 0).then((function(e){return salla.product.event.priceUpdated(e,r),e})).catch((function(e){throw salla.product.event.priceUpdateFailed(e,r),e}))}categories(e){return this.request(["categories",e||""],null,"get").then((function(e){return salla.product.event.categoriesFetched(e),e})).catch((function(e){throw salla.product.event.categoriesFailed(e),e}))}availabilitySubscribe(e){let t=e.data||e;return e=salla.form.getPossibleValue(t,["id","prod_id"]),this.request(["availabilitySubscribe",e],"object"==typeof t?t:void 0).then((function(t){return salla.product.event.availabilitySubscribed(t,e),t})).catch((function(t){throw salla.product.event.availabilitySubscribeFailed(t,e),t}))}search(e){let t=e.data;if(t||(t={params:"string"==typeof e?{query:e}:e}),!(e=t instanceof FormData?t.get("query"):t.query||t.params?.query)){let e='There is no "query"!';return salla.product.event.searchFailed(e),salla.api.errorPromise(e)}if(e===salla.api.product.previousQuery){let e="Query is same as previous one!";return salla.product.event.searchFailed(e),salla.api.product.previousQuery=null,salla.api.errorPromise(e)}return salla.api.product.previousQuery=e,this.request("search",t,"get").then((function(t){return salla.product.event.searchResults(t,e),t})).catch((function(t){throw salla.product.event.searchFailed(t,e),t}))}offers(e){if(!(e=salla.form.getPossibleValue(e?.data|e,["product_id","id"]))){let e='There is no "product_id"!';return salla.product.event.fetchOffersFailed(e),salla.api.errorPromise(e)}return this.request(["offers",e]).then((function(t){return salla.product.event.offersFetched(t,e),t})).catch((function(t){throw salla.product.event.fetchOffersFailed(t,e),t}))}getSizeGuides(e){return this.request(`products/${e}/size-guides`,null,"get").then((t=>(salla.product.event.sizeGuideFetched(t,e),t))).catch((t=>{throw salla.product.event.sizeGuideFetchFailed(t,e),t}))}getGiftProductDetails(e){return this.request(["giftProductDetails",e]).then((t=>(salla.product.event.giftFetched(t,e),t))).catch((t=>{throw salla.product.event.giftFetchFailed(t,e),t}))}getDetails(e,t=[]){if(!Array.isArray(t)){let e="withItems should be array.";return salla.product.event.detailFetchFailed(e),salla.api.errorPromise(e)}if(!e){let e="productId is not passed.";return salla.product.event.detailFetchFailed(e),salla.api.errorPromise(e)}return this.request(["details",e],{params:{with:t}}).then((function(t){return salla.product.event.detailFetched(t,e),t})).catch((function(t){throw salla.product.event.availabilitySubscribeFailed(t,e),t}))}addProductGiftToCart(e,t,r=!1){return this.request(["productGiftToCart",e],t).then((t=>(salla.product.event.addGiftToCartSucceeded(t,e),r&&(window.location.href=t.redirect),t))).catch((t=>{throw salla.product.event.addGiftToCartFailed(t,e),t}))}uploadGiftImage(e){return this.request("giftImage",e).then((e=>(salla.product.event.giftImageUploadSucceeded(e),e))).catch((e=>{throw salla.product.event.giftImageUploadFailed(e),e}))}fetch(e){if(!e.source){const e="Source cannot be empty. Please provide one.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}const t=!e.source_value,r="string"==typeof e.source_value&&"[]"===e.source_value,n=Array.isArray(e.source_value)&&!e.source_value.length;if((t||r||n)&&!["offers","latest","sales","wishlist","top-rated"].includes(e.source)){const e="Source value cannot be empty. Please provide one.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}if(["categories","brands","tags","selected"].includes(e.source)&&!Array.isArray(e.source_value)){const e="SourceValue type error. Expected an array.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}if("search"===e.source&&"string"!=typeof e.source_value){const e="SourceValue type error. Expected a string.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}if("related"===e.source&&isNaN(e.source_value)){const e="SourceValue type error. Expected a number.";return salla.product.event.productListFetchFailed(e),salla.api.errorPromise(e)}return this.request(this.endpoints.fetch,{params:e},"get").then((async e=>(salla.product.event.productListFetchSucceeded(e),e))).catch((e=>{throw salla.product.event.productListFetchFailed(e),e}))}fetchOptions(e,t={}){if(!e||0===e.length){const e="At least one product ID is required. Please provide a valid list of product IDs.";return salla.product.event.productOptionsNotFetched(e),salla.api.errorPromise(e)}const{with:r=[]}=t,n={selected:e};return r.length>0&&(n.with=r),this.request(this.endpoints.fetchOptions,{params:n},"get").then((e=>(salla.product.event.productOptionsFetched(e),e))).catch((e=>{throw salla.product.event.productOptionsNotFetched(e),e}))}}class Vn extends $n{constructor(){super(),this.namespace="profile",this.endpoints={info:"auth/user",update:"profile/update",updateContacts:"profile/contacts/update",updateSettings:"profile/settings",verify:"profile/verify",delete:"profile"},this.endpointsMethods={delete:"delete"},this.after_init()}info(){return this.request("info",null,"get").then((e=>{let t={id:e.data.id,type:"user",email:e.data.email,mobile:e.data.phone.code+e.data.phone.number,country_code:e.data.phone.country,language_code:e.data.language,currency_code:e.data.currency,notifications:e.data.notifications,pending_orders:e.data.pending_orders,avatar:e.data.avatar,first_name:e.data.first_name,last_name:e.data.last_name,is_hidden_name:e.data.is_hidden_name,is_notifiable:e.data.is_notifiable,can_comment:salla.config.get("user.can_comment"),fetched_at:Date.now()};return salla.config.set("user",t),salla.storage.set("user",t),salla.profile.event.infoFetched(e),e})).catch((e=>{throw salla.profile.event.infoNotFetched(e),e}))}update(e){if(Salla.config.get("store.features").includes("sso-login")){const e="SSO login is enabled. You cannot update your profile.";return Salla.error(e),Promise.reject(new Error(e))}return this.request("update",e).then((e=>(salla.profile.event.updated(e),e))).catch((e=>{throw salla.event.profile.updateFailed(e),e}))}updateContacts(e){return this.request("updateContacts",e).then((e=>(salla.profile.event.verificationCodeSent(e),e))).catch((e=>{throw salla.event.profile.updateContactsFailed(e),e}))}verify(e){return this.request("verify",e).then((e=>(salla.profile.event.verified(e),e))).catch((e=>{throw salla.event.profile.unverified(e),e}))}updateSettings(e){return this.request("updateSettings",e).then((e=>(salla.event.profile.settingsUpdated(e),e))).catch((e=>{throw salla.event.profile.updateSettingsFailed(e),e}))}delete(){return this.request("delete").then((e=>(salla.storage.clearAll(),salla.cookie.clearAll(),salla.auth.api.appendIframeAndLogout().then((()=>{salla.event.profile.deleted(e),window.location.href=salla.url.get("logout")})),e))).catch((e=>{throw salla.event.profile.notDeleted(e),e}))}}class Wn extends $n{constructor(){super(),this.namespace="comment",this.endpoints={addComment:"{type}/{id}/comments",comments:"/comments"},this.after_init()}add(e){if(e?.data&&(e=e.data),"string"==typeof(e=this.getCommentPayload(e,!0)))return salla.event.comment.additionFailed(e),salla.api.errorPromise(e);if(!e.comment){let e="can't find comment content!";return salla.event.comment.additionFailed(e),salla.api.errorPromise(e)}return this.request(["addComment","blog"==e.type?"blogs":e.type,e.id],{comment:e.comment}).then((function(t){return salla.event.comment.added(t,e.id),t})).catch((function(t){throw salla.event.comment.additionFailed(t,e.id),t}))}getCommentPayload(e,t=!1){let r={};if(["id","type","comment","per_page","page","sort"].forEach((t=>{let n=salla.form.getPossibleValue(e,[t]);n&&(r[t]=n)})),!t){let t=e.ids;if(t&&(r.ids=Array.isArray(t)?t:[t]),!r.ids||!r.ids.length)return"Failed to get ids!"}return r.type&&["products","pages","product","page","blogs","blog"].includes(r.type)?(r.type+=["product","page"].includes(r.type)?"s":"",r):"Failed to get type one of:(products, product, page, pages, blog, blogs)!"}fetchComments(e){if("string"==typeof(e=this.getCommentPayload(e)))return salla.event.comment.fetchFailed(e),salla.api.errorPromise(e);const t={per_page:e.per_page||5,page:e.page||1,type:e.type,ids:e.ids};return e.sort&&(t.sort=e.sort),this.request(["comments"],{params:t},"get").then((function(t){return salla.event.comment.fetched(t,e),t})).catch((function(t){throw salla.event.comment.fetchFailed(t,e),t}))}getComments(e,t,r=1,n=5,i){const o=Array.isArray(t)?t:[t];return this.fetchComments({ids:o,type:`${e}s`,page:r,per_page:n,sort:i})}}class Yn extends $n{constructor(){super(),this.namespace="currency",this.endpoints={change:"/",list:"currencies"},this.endpointsMethods={change:"get",list:"get"},this.webEndpoints=["change"],this.after_init()}change(e){if(!(e=salla.form.getPossibleValue(e.data||e,["currency","code"]))){let e="Can't find currency code!";return salla.currency.event.failed(e),salla.api.errorPromise(e)}return this.request("change",{params:{change_currency:"",currency:e}}).then((function(t){return salla.cookie.set("fresh_summary",1),salla.storage.set("cart",""),salla.currency.event.changed(t,e),t})).catch((function(t){throw salla.currency.event.failed(t,e),t}))}list(){return this.request("list").then((function(e){return salla.currency.event.fetched(e),e})).catch((function(e){throw salla.currency.event.failedToFetch(e),e}))}}class Qn extends $n{constructor(){super(),this.namespace="document"}reload(){window.location.reload()}}class Kn extends $n{constructor(){super(),this.namespace="rating",this.endpoints={store:"rating/store",products:"rating/products",shipping:"rating/shipping",order:"rating/{order_id}"},this.endpointsMethods={order:"get"},this.after_init()}order(e){let t="object"==typeof e?e:{},r=salla.form.getPossibleValue(e?.data||e,["order_id","id"]);if(!r){let e='There is no "order_id"!';return salla.event.rating.orderNotFetched(e),salla.api.errorPromise(e)}return this.request(["order",r],t).then((function(e){return salla.event.rating.orderFetched(e,r),e})).catch((function(e){throw salla.event.rating.orderNotFetched(e,r),e}))}store(e){if(!(e=e?.data||e)){let e='There is no "data"!';return salla.event.rating.storeFailed(e),salla.api.errorPromise(e)}return this.request("store",e).then((function(t){return salla.event.rating.storeRated(t,e),t})).catch((function(t){throw salla.event.rating.storeFailed(t,e),t}))}products(e){if(!(e=e?.data||e)){let e='There is no "data"!';return salla.event.rating.productsFailed(e),salla.api.errorPromise(e)}return this.request("products",e).then((function(t){return salla.event.rating.productsRated(t,e),t})).catch((function(t){throw salla.event.rating.productsFailed(t,e),t}))}shipping(e){if(!(e=e?.data||e)){let e='There is no "data"!';return salla.event.rating.shippingFailed(e),salla.api.errorPromise(e)}return this.request("shipping",e).then((function(t){return salla.event.rating.shippingRated(t,e),t})).catch((function(t){throw salla.event.rating.shippingFailed(t,e),t}))}}class Xn extends $n{constructor(){super(),this.namespace="wishlist",this.endpoints={add:"products/favorites/{id}",remove:"products/favorites/{id}"},this.endpointsMethods={remove:"delete"},this.after_init()}toggle(e){return salla.storage.get("salla::wishlist",[]).includes(e)?this.remove(e):this.add(e)}add(e){let t;return salla.config.isGuest()?(salla.wishlist.event.additionFailed(t=salla.lang.get("common.messages.must_login")),salla.error(t),salla.api.errorPromise(t)):(e=salla.form.getPossibleValue(e?.data||e,["product_id","id"]))?this.request(["add",e]).then((t=>(this.updateWishlistStorage(e),salla.wishlist.event.added(t,e),t))).catch((function(t){throw salla.wishlist.event.additionFailed(t,e),t})):(salla.wishlist.event.additionFailed(t="Failed to get product id!"),salla.api.errorPromise(t))}remove(e){let t;return salla.config.isGuest()?(salla.wishlist.event.additionFailed(t=salla.lang.get("common.messages.must_login")),salla.error(t),salla.api.errorPromise(t)):(e=salla.form.getPossibleValue(e?.data||e,["product_id","id"]))?this.request(["remove",e]).then((t=>(this.updateWishlistStorage(e,!1),salla.wishlist.event.removed(t,e),t))).catch((function(t){throw salla.wishlist.event.removingFailed(t,e),t})):(salla.wishlist.event.removingFailed(t="Failed to get id!"),salla.api.errorPromise(t))}updateWishlistStorage(e,t=!0){let r=salla.storage.get("salla::wishlist",[]);t?r.push(e):r.splice(r.indexOf(e),1),salla.storage.set("salla::wishlist",r)}}class Zn extends $n{constructor(){super(),this.namespace="scopes",this.endpoints={get:"scopes",change:"scopes",getProductAvailability:"scopes/availability?product_id={id}"},this.after_init()}get(){return this.request("scopes",null,"get").then((e=>(salla.scope.event.fetched(e),e))).catch((e=>{throw salla.scope.event.notFetched(e),e}))}change(e){return this.request("scopes",e).then((e=>(salla.scope.event.changeSucceeded(e),e))).catch((e=>{throw salla.scope.event.changeFailed(e),e}))}getProductAvailability(e=null){return this.request(`scopes/availability?product_id=${e}`,null,"get").then((t=>(salla.scope.event.productAvailabilityFetched(t,e),t))).catch((e=>{throw salla.scope.event.productAvailabilityNotFetched(e),e}))}}class ei extends $n{constructor(){super(),this.namespace="booking",this.endpoints={add:"cart/booking/product/{id}"},this.endpointsMethods={add:"get"}}async add(e,t=!0){if(!e){let e="Please provide product id.";return salla.booking.event.additionFailed(e),salla.api.errorPromise(e)}return this.request(["add",e]).then((function(e){return salla.booking.event.added(e),t&&"booking"===e.data.redirect.to&&(window.location.href=e.data.redirect.url),e})).catch((function(e){throw salla.booking.event.additionFailed(e),e}))}}class ti extends $n{constructor(){super(),this.namespace="landing",this.endpoints={getDetails:"landing/{landing_page_id}",createCartFromPage:"landing/{landing_page_id}",breadcrumbs:"breadcrumbs"},this.endpointsMethods={getDetails:"get",breadcrumbs:"get"},this.after_init()}getDetails(e){if(!e){let e="page landing id not passed";return salla.event.landing.getDetailsFailed(e),salla.api.errorPromise(e)}return this.request(["getDetails",e]).then((function(t){return salla.event.landing.detailsFetched(t,e),t})).catch((function(t){throw salla.event.landing.getDetailsFailed(t,e),t}))}createCartFromPage(e){if(!e){let e="page landing id not passed";return salla.event.landing.orderCreationFailed(e),salla.api.errorPromise(e)}return salla.config.isGuest()?(salla.auth.api.setAfterLoginEvent("landing::createCartFromPage",e),salla.event.dispatch("login::open"),salla.api.successPromise("")):this.request(["createCartFromPage",e]).then((function(t){return salla.event.landing.orderCreated(t,e).then((()=>location.href=t.data.url)),t})).catch((function(t){throw salla.event.landing.orderCreationFailed(t,e),t}))}fetchBreadcrumbs(e){if(!e.page){let e="The 'page' parameter is required for the Breadcrumb API. Please provide a valid 'page' parameter.";return salla.event.landing.breadcrumbFetchFailed(e),salla.api.errorPromise(e)}if("product.single"===e.page&&!e.id&&!e.parent_id){let e="The 'id' and 'parent_id' parameters are required when the 'page' parameter is set to 'product.single'. Please provide valid values for both parameters.";return salla.event.landing.breadcrumbFetchFailed(e),salla.api.errorPromise(e)}if(["product.index","customer.orders.single","product.index.tag","page-single","landing-page","brands.single","blog.single","blog.index.author","blog.index.category","blog.index.tag"].includes(e.page)&&!e.id){let t=`The 'id' parameter is required when the 'page' parameter is set to ${e.page}. Please provide valid value for the 'ID' parameter.`;return salla.event.landing.breadcrumbFetchFailed(t),salla.api.errorPromise(t)}return this.request("breadcrumbs",{params:e}).then((function(e){return salla.event.landing.breadcrumbFetched(e),e})).catch((function(e){throw salla.event.landing.breadcrumbFetchFailed(e),e}))}}class ri extends $n{constructor(){super(),this.namespace="notifications",this.endpoints={fetch:"notifications"},this.endpointsMethods={fetch:"get"},this.after_init()}fetch(e){return this.request(["fetch"],{params:e}).then((function(e){return salla.event.notifications.fetched(e),e})).catch((function(e){throw salla.event.notifications.fetchFailed(e),e}))}}var ni,ii={exports:{}},oi=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}},ai=oi,si=Object.prototype.toString,li=(ni=Object.create(null),function(e){var t=si.call(e);return ni[t]||(ni[t]=t.slice(8,-1).toLowerCase())});function ci(e){return e=e.toLowerCase(),function(t){return li(t)===e}}function ui(e){return Array.isArray(e)}function di(e){return void 0===e}var hi=ci("ArrayBuffer");function fi(e){return null!==e&&"object"==typeof e}function pi(e){if("object"!==li(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}var gi=ci("Date"),mi=ci("File"),vi=ci("Blob"),yi=ci("FileList");function bi(e){return"[object Function]"===si.call(e)}var wi=ci("URLSearchParams");function _i(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),ui(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}var Si,Ei=(Si="undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array),function(e){return Si&&e instanceof Si}),ki={isArray:ui,isArrayBuffer:hi,isBuffer:function(e){return null!==e&&!di(e)&&null!==e.constructor&&!di(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){var t="[object FormData]";return e&&("function"==typeof FormData&&e instanceof FormData||si.call(e)===t||bi(e.toString)&&e.toString()===t)},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&hi(e.buffer)},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:fi,isPlainObject:pi,isUndefined:di,isDate:gi,isFile:mi,isBlob:vi,isFunction:bi,isStream:function(e){return fi(e)&&bi(e.pipe)},isURLSearchParams:wi,isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:_i,merge:function e(){var t={};function r(r,n){pi(t[n])&&pi(r)?t[n]=e(t[n],r):pi(r)?t[n]=e({},r):ui(r)?t[n]=r.slice():t[n]=r}for(var n=0,i=arguments.length;n<i;n++)_i(arguments[n],r);return t},extend:function(e,t,r){return _i(t,(function(t,n){e[n]=r&&"function"==typeof t?ai(t,r):t})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,r,n){e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,r&&Object.assign(e.prototype,r)},toFlatObject:function(e,t,r){var n,i,o,a={};t=t||{};do{for(i=(n=Object.getOwnPropertyNames(e)).length;i-- >0;)a[o=n[i]]||(t[o]=e[o],a[o]=!0);e=Object.getPrototypeOf(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:li,kindOfTest:ci,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;var t=e.length;if(di(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},isTypedArray:Ei,isFileList:yi},xi=ki;function Pi(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ai=function(e,t,r){if(!t)return e;var n;if(r)n=r(t);else if(xi.isURLSearchParams(t))n=t.toString();else{var i=[];xi.forEach(t,(function(e,t){null!=e&&(xi.isArray(e)?t+="[]":e=[e],xi.forEach(e,(function(e){xi.isDate(e)?e=e.toISOString():xi.isObject(e)&&(e=JSON.stringify(e)),i.push(Pi(t)+"="+Pi(e))})))})),n=i.join("&")}if(n){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e},Ii=ki;function ji(){this.handlers=[]}ji.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},ji.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},ji.prototype.forEach=function(e){Ii.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var Oi,Ti,Ci=ji,Fi=ki;function Ri(){if(Ti)return Oi;Ti=1;var e=ki;function t(e,t,r,n,i){Error.call(this),this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}e.inherits(t,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:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var r=t.prototype,n={};return["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"].forEach((function(e){n[e]={value:e}})),Object.defineProperties(t,n),Object.defineProperty(r,"isAxiosError",{value:!0}),t.from=function(n,i,o,a,s,l){var c=Object.create(r);return e.toFlatObject(n,c,(function(e){return e!==Error.prototype})),t.call(c,n.message,i,o,a,s),c.name=n.name,l&&Object.assign(c,l),c},Oi=t}var Li={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ni=[],Ui=[],zi="undefined"!=typeof Uint8Array?Uint8Array:Array,qi=!1;function Di(){qi=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Ni[t]=e[t],Ui[e.charCodeAt(t)]=t;Ui["-".charCodeAt(0)]=62,Ui["_".charCodeAt(0)]=63}function $i(e,t,r){for(var n,i,o=[],a=t;a<r;a+=3)n=(e[a]<<16)+(e[a+1]<<8)+e[a+2],o.push(Ni[(i=n)>>18&63]+Ni[i>>12&63]+Ni[i>>6&63]+Ni[63&i]);return o.join("")}function Mi(e){var t;qi||Di();for(var r=e.length,n=r%3,i="",o=[],a=16383,s=0,l=r-n;s<l;s+=a)o.push($i(e,s,s+a>l?l:s+a));return 1===n?(t=e[r-1],i+=Ni[t>>2],i+=Ni[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=Ni[t>>10],i+=Ni[t>>4&63],i+=Ni[t<<2&63],i+="="),o.push(i),o.join("")}function Bi(e,t,r,n,i){var o,a,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,d=r?i-1:0,h=r?-1:1,f=e[t+d];for(d+=h,o=f&(1<<-u)-1,f>>=-u,u+=s;u>0;o=256*o+e[t+d],d+=h,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=n;u>0;a=256*a+e[t+d],d+=h,u-=8);if(0===o)o=1-c;else{if(o===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),o-=c}return(f?-1:1)*a*Math.pow(2,o-n)}function Hi(e,t,r,n,i,o){var a,s,l,c=8*o-i-1,u=(1<<c)-1,d=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+d>=1?h/l:h*Math.pow(2,1-d))*l>=2&&(a++,l/=2),a+d>=u?(s=0,a=u):a+d>=1?(s=(t*l-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;e[r+f]=255&a,f+=p,a/=256,c-=8);e[r+f-p]|=128*g}var Gi={}.toString,Ji=Array.isArray||function(e){return"[object Array]"==Gi.call(e)};function Vi(){return Yi.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Wi(e,t){if(Vi()<t)throw new RangeError("Invalid typed array length");return Yi.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Yi.prototype:(null===e&&(e=new Yi(t)),e.length=t),e}function Yi(e,t,r){if(!(Yi.TYPED_ARRAY_SUPPORT||this instanceof Yi))return new Yi(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return Xi(this,e)}return Qi(this,e,t,r)}function Qi(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);Yi.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Yi.prototype:e=Zi(e,t);return e}(e,t,r,n):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!Yi.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|ro(t,r);e=Wi(e,n);var i=e.write(t,r);i!==n&&(e=e.slice(0,i));return e}(e,t,r):function(e,t){if(to(t)){var r=0|eo(t.length);return 0===(e=Wi(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?Wi(e,0):Zi(e,t);if("Buffer"===t.type&&Ji(t.data))return Zi(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function Ki(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function Xi(e,t){if(Ki(t),e=Wi(e,t<0?0:0|eo(t)),!Yi.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function Zi(e,t){var r=t.length<0?0:0|eo(t.length);e=Wi(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function eo(e){if(e>=Vi())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Vi().toString(16)+" bytes");return 0|e}function to(e){return!(null==e||!e._isBuffer)}function ro(e,t){if(to(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return No(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Uo(e).length;default:if(n)return No(e).length;t=(""+t).toLowerCase(),n=!0}}function no(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return bo(this,t,r);case"utf8":case"utf-8":return go(this,t,r);case"ascii":return vo(this,t,r);case"latin1":case"binary":return yo(this,t,r);case"base64":return po(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wo(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function io(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function oo(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=Yi.from(t,n)),to(t))return 0===t.length?-1:ao(e,t,r,n,i);if("number"==typeof t)return t&=255,Yi.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):ao(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ao(e,t,r,n,i){var o,a=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var u=-1;for(o=r;o<s;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===l)return u*a}else-1!==u&&(o-=o-u),u=-1}else for(r+l>s&&(r=s-l),o=r;o>=0;o--){for(var d=!0,h=0;h<l;h++)if(c(e,o+h)!==c(t,h)){d=!1;break}if(d)return o}return-1}function so(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a<n;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[r+a]=s}return a}function lo(e,t,r,n){return zo(No(t,e.length-r),e,r,n)}function co(e,t,r,n){return zo(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function uo(e,t,r,n){return co(e,t,r,n)}function ho(e,t,r,n){return zo(Uo(t),e,r,n)}function fo(e,t,r,n){return zo(function(e,t){for(var r,n,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=(r=e.charCodeAt(a))>>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function po(e,t,r){return 0===t&&r===e.length?Mi(e):Mi(e.slice(t,r))}function go(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var o,a,s,l,c=e[i],u=null,d=c>239?4:c>223?3:c>191?2:1;if(i+d<=r)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(o=e[i+1]))&&(l=(31&c)<<6|63&o)>127&&(u=l);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(l=(15&c)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=d}return function(e){var t=e.length;if(t<=mo)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=mo));return r}(n)}Yi.TYPED_ARRAY_SUPPORT=void 0===global.TYPED_ARRAY_SUPPORT||global.TYPED_ARRAY_SUPPORT,Vi(),Yi.poolSize=8192,Yi._augment=function(e){return e.__proto__=Yi.prototype,e},Yi.from=function(e,t,r){return Qi(null,e,t,r)},Yi.TYPED_ARRAY_SUPPORT&&(Yi.prototype.__proto__=Uint8Array.prototype,Yi.__proto__=Uint8Array),Yi.alloc=function(e,t,r){return function(e,t,r,n){return Ki(t),t<=0?Wi(e,t):void 0!==r?"string"==typeof n?Wi(e,t).fill(r,n):Wi(e,t).fill(r):Wi(e,t)}(null,e,t,r)},Yi.allocUnsafe=function(e){return Xi(null,e)},Yi.allocUnsafeSlow=function(e){return Xi(null,e)},Yi.isBuffer=function(e){return null!=e&&(!!e._isBuffer||qo(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&qo(e.slice(0,0))}(e))},Yi.compare=function(e,t){if(!to(e)||!to(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,o=Math.min(r,n);i<o;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},Yi.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Yi.concat=function(e,t){if(!Ji(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Yi.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Yi.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var o=e[r];if(!to(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},Yi.byteLength=ro,Yi.prototype._isBuffer=!0,Yi.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)io(this,t,t+1);return this},Yi.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)io(this,t,t+3),io(this,t+1,t+2);return this},Yi.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)io(this,t,t+7),io(this,t+1,t+6),io(this,t+2,t+5),io(this,t+3,t+4);return this},Yi.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?go(this,0,e):no.apply(this,arguments)},Yi.prototype.equals=function(e){if(!to(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Yi.compare(this,e)},Yi.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Yi.prototype.compare=function(e,t,r,n,i){if(!to(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(n,i),c=e.slice(t,r),u=0;u<s;++u)if(l[u]!==c[u]){o=l[u],a=c[u];break}return o<a?-1:a<o?1:0},Yi.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Yi.prototype.indexOf=function(e,t,r){return oo(this,e,t,r,!0)},Yi.prototype.lastIndexOf=function(e,t,r){return oo(this,e,t,r,!1)},Yi.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return so(this,e,t,r);case"utf8":case"utf-8":return lo(this,e,t,r);case"ascii":return co(this,e,t,r);case"latin1":case"binary":return uo(this,e,t,r);case"base64":return ho(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fo(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},Yi.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var mo=4096;function vo(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function yo(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function bo(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",o=t;o<r;++o)i+=Lo(e[o]);return i}function wo(e,t,r){for(var n=e.slice(t,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function _o(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function So(e,t,r,n,i,o){if(!to(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function Eo(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i<o;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function ko(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i<o;++i)e[r+i]=t>>>8*(n?i:3-i)&255}function xo(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Po(e,t,r,n,i){return i||xo(e,0,r,4),Hi(e,t,r,n,23,4),r+4}function Ao(e,t,r,n,i){return i||xo(e,0,r,8),Hi(e,t,r,n,52,8),r+8}Yi.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),Yi.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=Yi.prototype;else{var i=t-e;r=new Yi(i,void 0);for(var o=0;o<i;++o)r[o]=this[o+e]}return r},Yi.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||_o(e,t,this.length);for(var n=this[e],i=1,o=0;++o<t&&(i*=256);)n+=this[e+o]*i;return n},Yi.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||_o(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},Yi.prototype.readUInt8=function(e,t){return t||_o(e,1,this.length),this[e]},Yi.prototype.readUInt16LE=function(e,t){return t||_o(e,2,this.length),this[e]|this[e+1]<<8},Yi.prototype.readUInt16BE=function(e,t){return t||_o(e,2,this.length),this[e]<<8|this[e+1]},Yi.prototype.readUInt32LE=function(e,t){return t||_o(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Yi.prototype.readUInt32BE=function(e,t){return t||_o(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Yi.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||_o(e,t,this.length);for(var n=this[e],i=1,o=0;++o<t&&(i*=256);)n+=this[e+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},Yi.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||_o(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},Yi.prototype.readInt8=function(e,t){return t||_o(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Yi.prototype.readInt16LE=function(e,t){t||_o(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Yi.prototype.readInt16BE=function(e,t){t||_o(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Yi.prototype.readInt32LE=function(e,t){return t||_o(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Yi.prototype.readInt32BE=function(e,t){return t||_o(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Yi.prototype.readFloatLE=function(e,t){return t||_o(e,4,this.length),Bi(this,e,!0,23,4)},Yi.prototype.readFloatBE=function(e,t){return t||_o(e,4,this.length),Bi(this,e,!1,23,4)},Yi.prototype.readDoubleLE=function(e,t){return t||_o(e,8,this.length),Bi(this,e,!0,52,8)},Yi.prototype.readDoubleBE=function(e,t){return t||_o(e,8,this.length),Bi(this,e,!1,52,8)},Yi.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||So(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o<r&&(i*=256);)this[t+o]=e/i&255;return t+r},Yi.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||So(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r},Yi.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,1,255,0),Yi.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Yi.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,2,65535,0),Yi.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Eo(this,e,t,!0),t+2},Yi.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,2,65535,0),Yi.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Eo(this,e,t,!1),t+2},Yi.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,4,4294967295,0),Yi.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):ko(this,e,t,!0),t+4},Yi.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,4,4294967295,0),Yi.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ko(this,e,t,!1),t+4},Yi.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);So(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<r&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},Yi.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);So(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},Yi.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,1,127,-128),Yi.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Yi.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,2,32767,-32768),Yi.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Eo(this,e,t,!0),t+2},Yi.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,2,32767,-32768),Yi.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Eo(this,e,t,!1),t+2},Yi.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,4,2147483647,-2147483648),Yi.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):ko(this,e,t,!0),t+4},Yi.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||So(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Yi.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ko(this,e,t,!1),t+4},Yi.prototype.writeFloatLE=function(e,t,r){return Po(this,e,t,!0,r)},Yi.prototype.writeFloatBE=function(e,t,r){return Po(this,e,t,!1,r)},Yi.prototype.writeDoubleLE=function(e,t,r){return Ao(this,e,t,!0,r)},Yi.prototype.writeDoubleBE=function(e,t,r){return Ao(this,e,t,!1,r)},Yi.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i,o=n-r;if(this===e&&r<t&&t<n)for(i=o-1;i>=0;--i)e[i+t]=this[i+r];else if(o<1e3||!Yi.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+o),t);return o},Yi.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Yi.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var o;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o<r;++o)this[o]=e;else{var a=to(e)?e:No(new Yi(e,n).toString()),s=a.length;for(o=0;o<r-t;++o)this[o+t]=a[o%s]}return this};var Io,jo,Oo,To,Co,Fo,Ro=/[^+\/0-9A-Za-z-_]/g;function Lo(e){return e<16?"0"+e.toString(16):e.toString(16)}function No(e,t){var r;t=t||1/0;for(var n=e.length,i=null,o=[],a=0;a<n;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Uo(e){return function(e){var t,r,n,i,o,a;qi||Di();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[s-2]?2:"="===e[s-1]?1:0,a=new zi(3*s/4-o),n=o>0?s-4:s;var l=0;for(t=0,r=0;t<n;t+=4,r+=3)i=Ui[e.charCodeAt(t)]<<18|Ui[e.charCodeAt(t+1)]<<12|Ui[e.charCodeAt(t+2)]<<6|Ui[e.charCodeAt(t+3)],a[l++]=i>>16&255,a[l++]=i>>8&255,a[l++]=255&i;return 2===o?(i=Ui[e.charCodeAt(t)]<<2|Ui[e.charCodeAt(t+1)]>>4,a[l++]=255&i):1===o&&(i=Ui[e.charCodeAt(t)]<<10|Ui[e.charCodeAt(t+1)]<<4|Ui[e.charCodeAt(t+2)]>>2,a[l++]=i>>8&255,a[l++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Ro,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function zo(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qo(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Do(){if(jo)return Io;jo=1;var e=ki;return Io=function(t,r){r=r||new FormData;var n=[];function i(t){return null===t?"":e.isDate(t)?t.toISOString():e.isArrayBuffer(t)||e.isTypedArray(t)?"function"==typeof Blob?new Blob([t]):Yi.from(t):t}return function t(o,a){if(e.isPlainObject(o)||e.isArray(o)){if(-1!==n.indexOf(o))throw Error("Circular reference detected in "+a);n.push(o),e.forEach(o,(function(n,o){if(!e.isUndefined(n)){var s,l=a?a+"."+o:o;if(n&&!a&&"object"==typeof n)if(e.endsWith(o,"{}"))n=JSON.stringify(n);else if(e.endsWith(o,"[]")&&(s=e.toArray(n)))return void s.forEach((function(t){!e.isUndefined(t)&&r.append(l,i(t))}));t(n,l)}})),n.pop()}else r.append(a,i(o))}(t),r},Io}function $o(){if(To)return Oo;To=1;var e=Ri();return Oo=function(t,r,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?r(new e("Request failed with status code "+n.status,[e.ERR_BAD_REQUEST,e.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}}function Mo(){if(Fo)return Co;Fo=1;var e=ki;return Co=e.isStandardBrowserEnv()?{write:function(t,r,n,i,o,a){var s=[];s.push(t+"="+encodeURIComponent(r)),e.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),e.isString(i)&&s.push("path="+i),e.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var 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(){}}}var Bo,Ho,Go,Jo,Vo,Wo,Yo,Qo,Ko,Xo,Zo,ea,ta=function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)},ra=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e},na=function(e,t){return e&&!ta(t)?ra(e,t):t};function ia(){if(Ho)return Bo;Ho=1;var e=ki,t=["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"];return Bo=function(r){var n,i,o,a={};return r?(e.forEach(r.split("\n"),(function(r){if(o=r.indexOf(":"),n=e.trim(r.substr(0,o)).toLowerCase(),i=e.trim(r.substr(o+1)),n){if(a[n]&&t.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([i]):a[n]?a[n]+", "+i:i}})),a):a},Bo}function oa(){if(Jo)return Go;Jo=1;var e=ki;return Go=e.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var t=e;return r&&(n.setAttribute("href",t),t=n.href),n.setAttribute("href",t),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=i(window.location.href),function(r){var n=e.isString(r)?i(r):r;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}}function aa(){if(Wo)return Vo;Wo=1;var e=Ri();function t(t){e.call(this,null==t?"canceled":t,e.ERR_CANCELED),this.name="CanceledError"}return ki.inherits(t,e,{__CANCEL__:!0}),Vo=t}function sa(){return Qo?Yo:(Qo=1,Yo=function(e){var t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""})}function la(){if(Xo)return Ko;Xo=1;var e=ki,t=$o(),r=Mo(),n=Ai,i=na,o=ia(),a=oa(),s=Li,l=Ri(),c=aa(),u=sa();return Ko=function(d){return new Promise((function(h,f){var p,g=d.data,m=d.headers,v=d.responseType;function y(){d.cancelToken&&d.cancelToken.unsubscribe(p),d.signal&&d.signal.removeEventListener("abort",p)}e.isFormData(g)&&e.isStandardBrowserEnv()&&delete m["Content-Type"];var b=new XMLHttpRequest;if(d.auth){var w=d.auth.username||"",_=d.auth.password?unescape(encodeURIComponent(d.auth.password)):"";m.Authorization="Basic "+btoa(w+":"+_)}var S=i(d.baseURL,d.url);function E(){if(b){var e="getAllResponseHeaders"in b?o(b.getAllResponseHeaders()):null,r={data:v&&"text"!==v&&"json"!==v?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:e,config:d,request:b};t((function(e){h(e),y()}),(function(e){f(e),y()}),r),b=null}}if(b.open(d.method.toUpperCase(),n(S,d.params,d.paramsSerializer),!0),b.timeout=d.timeout,"onloadend"in b?b.onloadend=E:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(E)},b.onabort=function(){b&&(f(new l("Request aborted",l.ECONNABORTED,d,b)),b=null)},b.onerror=function(){f(new l("Network Error",l.ERR_NETWORK,d,b,b)),b=null},b.ontimeout=function(){var e=d.timeout?"timeout of "+d.timeout+"ms exceeded":"timeout exceeded",t=d.transitional||s;d.timeoutErrorMessage&&(e=d.timeoutErrorMessage),f(new l(e,t.clarifyTimeoutError?l.ETIMEDOUT:l.ECONNABORTED,d,b)),b=null},e.isStandardBrowserEnv()){var k=(d.withCredentials||a(S))&&d.xsrfCookieName?r.read(d.xsrfCookieName):void 0;k&&(m[d.xsrfHeaderName]=k)}"setRequestHeader"in b&&e.forEach(m,(function(e,t){void 0===g&&"content-type"===t.toLowerCase()?delete m[t]:b.setRequestHeader(t,e)})),e.isUndefined(d.withCredentials)||(b.withCredentials=!!d.withCredentials),v&&"json"!==v&&(b.responseType=d.responseType),"function"==typeof d.onDownloadProgress&&b.addEventListener("progress",d.onDownloadProgress),"function"==typeof d.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",d.onUploadProgress),(d.cancelToken||d.signal)&&(p=function(e){b&&(f(!e||e&&e.type?new c:e),b.abort(),b=null)},d.cancelToken&&d.cancelToken.subscribe(p),d.signal&&(d.signal.aborted?p():d.signal.addEventListener("abort",p))),g||(g=null);var x=u(S);x&&-1===["http","https","file"].indexOf(x)?f(new l("Unsupported protocol "+x+":",l.ERR_BAD_REQUEST,d)):b.send(g)}))},Ko}var ca=ki,ua=function(e,t){Fi.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},da=Ri(),ha=Li,fa=Do(),pa={"Content-Type":"application/x-www-form-urlencoded"};function ga(e,t){!ca.isUndefined(e)&&ca.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var ma,va={transitional:ha,adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==Wt&&"[object process]"===Object.prototype.toString.call(Wt))&&(ma=la()),ma),transformRequest:[function(e,t){if(ua(t,"Accept"),ua(t,"Content-Type"),ca.isFormData(e)||ca.isArrayBuffer(e)||ca.isBuffer(e)||ca.isStream(e)||ca.isFile(e)||ca.isBlob(e))return e;if(ca.isArrayBufferView(e))return e.buffer;if(ca.isURLSearchParams(e))return ga(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString();var r,n=ca.isObject(e),i=t&&t["Content-Type"];if((r=ca.isFileList(e))||n&&"multipart/form-data"===i){var o=this.env&&this.env.FormData;return fa(r?{"files[]":e}:e,o&&new o)}return n||"application/json"===i?(ga(t,"application/json"),function(e,t,r){if(ca.isString(e))try{return(t||JSON.parse)(e),ca.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||va.transitional,r=t&&t.silentJSONParsing,n=t&&t.forcedJSONParsing,i=!r&&"json"===this.responseType;if(i||n&&ca.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw da.from(e,da.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:ea?Zo:(ea=1,Zo=null)},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};ca.forEach(["delete","get","head"],(function(e){va.headers[e]={}})),ca.forEach(["post","put","patch"],(function(e){va.headers[e]=ca.merge(pa)}));var ya,ba,wa=va,_a=ki,Sa=wa;function Ea(){return ba?ya:(ba=1,ya=function(e){return!(!e||!e.__CANCEL__)})}var ka=ki,xa=function(e,t,r){var n=this||Sa;return _a.forEach(r,(function(r){e=r.call(n,e,t)})),e},Pa=Ea(),Aa=wa,Ia=aa();function ja(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ia}var Oa,Ta,Ca=ki,Fa=function(e,t){t=t||{};var r={};function n(e,t){return Ca.isPlainObject(e)&&Ca.isPlainObject(t)?Ca.merge(e,t):Ca.isPlainObject(t)?Ca.merge({},t):Ca.isArray(t)?t.slice():t}function i(r){return Ca.isUndefined(t[r])?Ca.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function o(e){if(!Ca.isUndefined(t[e]))return n(void 0,t[e])}function a(r){return Ca.isUndefined(t[r])?Ca.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function s(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var 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};return Ca.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=l[e]||i,n=t(e);Ca.isUndefined(n)&&t!==s||(r[e]=n)})),r};function Ra(){return Ta?Oa:(Ta=1,Oa={version:"0.27.2"})}var La=Ra().version,Na=Ri(),Ua={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){Ua[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var za={};Ua.transitional=function(e,t,r){function n(e,t){return"[Axios v"+La+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,i,o){if(!1===e)throw new Na(n(i," has been removed"+(t?" in "+t:"")),Na.ERR_DEPRECATED);return t&&!za[i]&&(za[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,i,o)}};var qa,Da,$a,Ma,Ba,Ha,Ga={assertOptions:function(e,t,r){if("object"!=typeof e)throw new Na("options must be an object",Na.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),i=n.length;i-- >0;){var o=n[i],a=t[o];if(a){var s=e[o],l=void 0===s||a(s,o,e);if(!0!==l)throw new Na("option "+o+" must be "+l,Na.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new Na("Unknown option "+o,Na.ERR_BAD_OPTION)}},validators:Ua},Ja=ki,Va=Ai,Wa=Ci,Ya=function(e){return ja(e),e.headers=e.headers||{},e.data=xa.call(e,e.data,e.headers,e.transformRequest),e.headers=ka.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),ka.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||Aa.adapter)(e).then((function(t){return ja(e),t.data=xa.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return Pa(t)||(ja(e),t&&t.response&&(t.response.data=xa.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},Qa=Fa,Ka=na,Xa=Ga,Za=Xa.validators;function es(e){this.defaults=e,this.interceptors={request:new Wa,response:new Wa}}es.prototype.request=function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},(t=Qa(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var r=t.transitional;void 0!==r&&Xa.assertOptions(r,{silentJSONParsing:Za.transitional(Za.boolean),forcedJSONParsing:Za.transitional(Za.boolean),clarifyTimeoutError:Za.transitional(Za.boolean)},!1);var n=[],i=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(i=i&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var o,a=[];if(this.interceptors.response.forEach((function(e){a.push(e.fulfilled,e.rejected)})),!i){var s=[Ya,void 0];for(Array.prototype.unshift.apply(s,n),s=s.concat(a),o=Promise.resolve(t);s.length;)o=o.then(s.shift(),s.shift());return o}for(var l=t;n.length;){var c=n.shift(),u=n.shift();try{l=c(l)}catch(e){u(e);break}}try{o=Ya(l)}catch(e){return Promise.reject(e)}for(;a.length;)o=o.then(a.shift(),a.shift());return o},es.prototype.getUri=function(e){e=Qa(this.defaults,e);var t=Ka(e.baseURL,e.url);return Va(t,e.params,e.paramsSerializer)},Ja.forEach(["delete","get","head","options"],(function(e){es.prototype[e]=function(t,r){return this.request(Qa(r||{},{method:e,url:t,data:(r||{}).data}))}})),Ja.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,i){return this.request(Qa(i||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}es.prototype[e]=t(),es.prototype[e+"Form"]=t(!0)}));var ts=ki,rs=oi,ns=es,is=Fa;var os=function e(t){var r=new ns(t),n=rs(ns.prototype.request,r);return ts.extend(n,ns.prototype,r),ts.extend(n,r),n.create=function(r){return e(is(t,r))},n}(wa);os.Axios=ns,os.CanceledError=aa(),os.CancelToken=function(){if(Da)return qa;Da=1;var e=aa();function t(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;t<r;t++)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(t){n.reason||(n.reason=new e(t),r(n.reason))}))}return t.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},t.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},t.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},t.source=function(){var e,r=new t((function(t){e=t}));return{token:r,cancel:e}},qa=t}(),os.isCancel=Ea(),os.VERSION=Ra().version,os.toFormData=Do(),os.AxiosError=Ri(),os.Cancel=os.CanceledError,os.all=function(e){return Promise.all(e)},os.spread=Ma?$a:(Ma=1,$a=function(e){return function(t){return e.apply(null,t)}}),os.isAxiosError=function(){if(Ha)return Ba;Ha=1;var e=ki;return Ba=function(t){return e.isObject(t)&&!0===t.isAxiosError}}(),ii.exports=os,ii.exports.default=os;var as=ii.exports;function ss(e){this.message=e}ss.prototype=new Error,ss.prototype.name="InvalidCharacterError";var ls="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new ss("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,a="";n=t.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?a+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return a};function cs(e){this.message=e}function us(e,t){if("string"!=typeof e)throw new cs("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(ls(e).replace(/(.)/g,(function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return ls(t)}}(e.split(".")[r]))}catch(e){throw new cs("Invalid token specified: "+e.message)}}cs.prototype=new Error,cs.prototype.name="InvalidTokenError";class ds{constructor(){this.inIframe=salla.helpers.isIframe(),salla.event.on("twilight::before.ready",(async e=>await this.initiateRequest(e))),salla.event.on("profile::info.fetched",(e=>this.setCurrencyAndLanguage(e))),salla.event.on("auth::token.fetched",(e=>{salla.storage.set("token",e),this.inIframe&&salla.log("token fetched iframe"),this.inIframe&&salla.cookie.set("s-token",e,60),this.setToken(e)})),salla.event.on("auth::token.invalid",(()=>{salla.storage.remove("user"),salla.storage.remove("token")})),this.notifier_handler_disabled=!1,this.axios=as.create({baseURL:Salla.config.get("store.api",Salla.config.get("store.url")),headers:{common:{"X-Requested-With":"XMLHttpRequest","S-SOURCE":"twilight","S-APP-VERSION":"v2.0.0","S-APP-OS":"browser","cache-control":"no-cache"}}}),Salla.onReady((()=>{Salla.helpers.url.is_page("cart")&&Salla.config.set("store.settings.use_sar_symbol",!1)})),this.axios.interceptors.request.use((e=>("preview"===Salla.config.get("theme.mode")&&(e.url=Salla.url.addParamToUrl("use_username_url",1,e.url)),["coupon","price","item"].some((t=>e.url.includes(t)))&&!e.url.includes("add")&&Salla.config.set("store.settings.use_sar_symbol",!1),e)),(e=>Promise.reject(e)))}getHeaders(){return this.axios.defaults.headers.common}getHeader(e){return Object.entries(this.getHeaders()).filter((([t,r])=>t.toLowerCase()===e.toLowerCase()))[0]?.[1]}setHeaders(e){return Object.entries(e).forEach((e=>this.setHeader(e[0],e[1]))),this}setHeader(e,t){return salla.infiniteScroll.fetchOptions.headers[e]=this.axios.defaults.headers.common[e]=t,this}async withoutNotifier(e){return this.notifier_handler_disabled=!0,await e().finally((()=>{this.notifier_handler_disabled=!1}))}async initiateRequest(e){this.axios.defaults.baseURL=Salla.config.get("store.api",Salla.config.get("store.url")),this.setHeaders({"Store-Identifier":Salla.config.get("store.id"),currency:e.user?.currency_code||"SAR","accept-language":salla.lang.getLocale(),"s-user-id":e.user?.id,"s-country":e.user?.country_code,...e.headers||{}});const t=Salla.storage.get("scope",Salla.config.get("store.scope"));t&&this.setHeaders({"s-scope-type":t.type,"s-scope-id":t.id});const r=Salla.storage.session.get("s-utms");r&&this.setHeaders(r),await this.injectTokenToTheRequests(e),salla.storage.get("affiliate_code")&&this.setHeader("s-affiliate-code",salla.storage.get("affiliate_code"))}async injectTokenToTheRequests(e){let t=salla.storage.get("token"),r="guest"===e.user?.type,n=parseInt(e.user?.id||0),i=parseInt(salla.storage.get("user.id")||0),o=salla.auth.api.isSessionless(),a=e=>{this.setToken(e),salla.event.emit("api::initiated")},s=async()=>{r||o||!n?salla.auth.event.tokenInvalid():(salla.log("Api:: case 1 => current is is guest & web session available"),await salla.auth.api.refresh().then((async()=>{await salla.profile.info()})).catch((()=>salla.auth.event.tokenInvalid())))};if(!t)return salla.log("Api:: case 1 => current is is guest"),void await s();let l,c=us(t);return Date.now()/1e3>c.exp?(salla.log("Api:: case 2 => current user is logged-in and there is a token, but it's expired"),void await s()):(l=o?parseInt(c.sub)!==i:!i||!n||i!==n||parseInt(c.sub)!==n,l?(salla.log("Api:: case 3 => there is a token and user in session/local missing or mismatch"),salla.log(`sub:${c.sub} userIdInWeb:${n} userIdInStorage:${i}, isSessionless:${o}`,c.sub,n,i),this.setHeader("Authorization","Bearer "+t),void await salla.profile.info().then((async e=>{!this.inIframe&&!o&&await salla.auth.api.request("auth/jwt",{callerName:"salla.auth.request.injectTokenToTheRequests"}),a(t)})).catch((()=>{salla.log("Api:: case 3 => failed get fresh profile"),this.setHeader("Authorization",null),salla.auth.event.tokenInvalid()}))):(salla.log("Api:: case 4 => current user is logged-in and there is a token, and it's not expired"),void a(t)))}setToken(e){return this.setHeader("Authorization","Bearer "+e),salla.event.emit("api::token.injected",e),this.token=e,this}setCurrencyAndLanguage(e){return this.setHeaders({currency:e.data.currency,"accept-language":e.data.language})}request(e,t=void 0,r="get",n={}){let i={endPoint:e,payload:t,method:r,options:n},o="undefined"!=typeof event?event.currentTarget:null,a=!1;return"SALLA-BUTTON"===o?.tagName&&(a=!0),a&&o?.load(),this.axios[i.method](i.endPoint,i.payload,i.options).then((e=>(a&&o?.stop(),e.data&&e.request&&(e=e.data),this.handleAfterResponseActions(e),e))).catch((e=>{throw a&&o?.stop(),salla.event.document.requestFailed(i,e),this.handleErrorResponse(e),e}))}handleAfterResponseActions(e){if(!e)return;let{data:t,googleTags:r=null}=e,n=t&&t.googleTags?t.googleTags:r;try{dataLayer&&n&&dataLayer.push(n)}catch(e){salla.logger.error(e.message)}this.fireEventsForResponse(e),this.showAlert(e)}fireEventsForResponse(e){let t=e?.events||e.data?.events||e.error?.events;"string"==typeof t&&(t=JSON.parse(t)),t&&Object.keys(t).forEach((e=>salla.event.dispatch(e,t[e])))}handleErrorResponse(e){if(e.response&&e.response.data)return e.response.data.error&&e.response.data.error.fields&&!this.notifier_handler_disabled?this.handleInvalidFields(e):this.handleAfterResponseActions(e.response.data)}showAlert(e){if(e&&!this.notifier_handler_disabled)return e.case&&e.msg?salla.notify.fire(e.msg,e.case,e):e.hasOwnProperty("success")&&e.data?.message?salla.notify.fire(e.data?.message,e.success?salla.notify.types.success:salla.notify.types.error,e):e.error&&e.error.message&&"FORBIDDEN"!==e.error.message?salla.error(e.error.message,e):void 0}handleInvalidFields(e){let t=e.response.data.error.fields,r=[];Object.keys(t).forEach((e=>{let n=t[e];Array.isArray(n)?n.forEach((e=>r.push(e))):r.push(n)}));let n=(r.length>1?"* ":"")+r.join("\n* ");salla.error(n,e)}isFastRequestsAllowed(){return Salla.config.get("fastRequests")}promise(e,t=!0){return new Promise(((r,n)=>t?r(e):n(e)))}errorPromise(e){return this.promise(e,!1)}successPromise(e){return this.promise(e,!0)}}class hs extends $n{constructor(){super(),this.namespace="component",this.endpoints={getMenus:"menus/{headOrFoot}?store_id={store}&lang={lang}",reviews:"reviews"},this.endpointsMethods={getMenus:"get",reviews:"get"}}async getMenus(e="header"){return this.request(["getMenus",e,salla.config.get("store.id"),salla.lang.getLocale()]).then((function(e){return salla.event.component.menuFetched(e),e})).catch((function(e){throw salla.event.component.menuFetchFailed(e),e}))}async getReviews({per_page:e=5,type:t="all",items:r}){if(!t){const e="Review type cannot be empty. Please provide one.";return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}const n=!r||"string"==typeof r&&"[]"===r||Array.isArray(r)&&!r.length;if(!new Set(["all","store","categories","products","json"]).has(t)){const e="Invalid review type. Please provide a valid type.";return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}if("all"!==t&&"store"!==t&&n){const e="Items cannot be empty. Please provide one.";return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}if(new Set(["products","categories"]).has(t)&&!Array.isArray(r)){const e=`Items value must be an array of ${t} id for review type of ${t}.`;return salla.event.component.reviewsFetchFailed(e),salla.api.errorPromise(e)}return this.request(["reviews"],{params:{per_page:e,type:t,items:r}},"get").then((function(e){return salla.event.component.reviewsFetched(e),e})).catch((function(e){throw salla.event.component.reviewsFetchFailed(e),e}))}}class fs extends $n{constructor(){super(),this.namespace="booking",this.endpoints={fetch:"advertisements"},this.endpointsMethods={fetch:"get"}}async fetch(e=null){const t=e?{page:e}:{};return this.request(["fetch"],{params:t}).then((function(e){return salla.event.advertisement.fetched(e),e})).catch((function(e){throw salla.event.advertisement.fetchFailed(e),e}))}}class ps extends $n{constructor(){super(),this.namespace="navigation",this.endpoints={breadcrumbs:"breadcrumbs"},this.endpointsMethods={breadcrumbs:"get"},this.after_init()}fetchBreadcrumbs(e){if(!e.page){let e="The 'page' parameter is required for the Breadcrumb API. Please provide a valid 'page' parameter.";return salla.event.navigation.breadcrumbFetchFailed(e),salla.api.errorPromise(e)}if(["product.single","product.index","customer.orders.single","product.index.tag","page-single","landing-page","brands.single","blog.single","blog.index.author","blog.index.category","blog.index.tag"].includes(e.page)&&!e.id){let t=`The 'id' parameter is required when the 'page' parameter is set to ${e.page}. Please provide valid value for the 'ID' parameter.`;return salla.event.navigation.breadcrumbFetchFailed(t),salla.api.errorPromise(t)}return this.request("breadcrumbs",{params:e}).then((function(e){return salla.event.navigation.breadcrumbFetched(e),e})).catch((function(e){throw salla.event.navigation.breadcrumbFetchFailed(e),e}))}}class gs extends $n{constructor(){super(),this.namespace="metadata",this.endpoints={fetchValues:"https://api.salla.dev/store/v1/metadata/values"},this.endpointsMethods={fetchValues:"get"}}async fetchValues(e,t){if(!e||!t){const e="Please provide entity type and entity ids.";return salla.metadata.event.valueNotFetch(e),salla.api.errorPromise(e)}const r={type:e,entities:Array.isArray(t)?t:[t]};return this.request(this.endpoints.fetchValues,{params:r},"get").then((e=>(salla.metadata.event.valueFetched(e),e))).catch((e=>{throw salla.metadata.event.valueNotFetch(e),e}))}}class ms{constructor(e){"ready"!==cn.status?e?(cn.config.merge(e),["salla.sa","salla.group"].includes(location.hostname)&&!cn.config.get("store.url")?.includes(location.hostname)&&cn.config.get("store.username")&&cn.config.set("store.url",window.location.origin+"/"+cn.config.get("store.username")),e?.events&&cn.event.dispatchEvents(e?.events),e._token&&salla.api.setHeader("X-CSRF-TOKEN",e._token),this.injectMaintenanceAlert(),this.injectTemplateStoreAlert(),this.injectThemePreviewAlert(),this.injectAppInstallAlert(),this.applyContentCopyright(),this.injectEditAlert(),e?.user?.language_code&&salla.lang.setLocale(e?.user?.language_code),salla.lang.loadStoreTranslations(),this.setSallaReady(e)):this.setSallaReady(e):salla.log("Trying to re-initiate Salla, while its status === 'ready'!")}applyContentCopyright(){if(!salla.config.get("store.settings.content_copyright"))return;["contextmenu","selectstart","copy"].forEach((e=>{document.addEventListener(e,(e=>e.preventDefault()))})),document.addEventListener("keydown",(e=>{const t=e.key.toLowerCase();("f12"===t||e.ctrlKey&&e.shiftKey&&["i","j","c"].includes(t)||e.ctrlKey&&"u"===t)&&(e.preventDefault(),e.stopPropagation())}));const e=document.createElement("style");e.textContent="\n body {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n img {\n pointer-events: none;\n -webkit-user-drag: none;\n }\n ",document.head.appendChild(e)}injectMaintenanceAlert(){salla.config.get("maintenance")&&(document.body.classList.add("has-maintenance-bar"),document.querySelector("salla-maintenance-alert")?salla.logger.warn("salla-maintenance-alert element Existed before!"):salla.lang.onLoaded((()=>document.body.prepend(document.createElement("salla-maintenance-alert")))))}injectTemplateStoreAlert(){salla.config.get("store.template")&&(document.body.classList.add("has-bottom-alert"),document.querySelector("salla-bottom-alert")?salla.logger.warn("salla-bottom-alert element Existed before!"):salla.lang.onLoaded((()=>document.body.append(document.createElement("salla-bottom-alert")))))}injectAppInstallAlert(){salla.config.get("store.app_install_prompt")&&salla.config.get("store.apps")&&!salla.storage.get("app_install_prompt_disabled")&&(document.body.classList.add("has-app-install-alert"),document.querySelector("salla-app-install-alert")?salla.logger.warn("salla-app-install-alert element Existed before!"):salla.lang.onLoaded((()=>document.body.append(document.createElement("salla-app-install-alert")))))}injectThemePreviewAlert(){"preview"===salla.config.get("theme.mode")&&(document.body.classList.add("has-preview-bar"),document.querySelector("#s-theme_preview_bar")?salla.logger.warn("#s-theme_preview_bar element Existed before!"):salla.lang.onLoaded((()=>{let e=document.createElement("div");e.id="s-theme_preview_bar",e.setAttribute("style","display: flex; justify-content: space-between; text-align: center; background-color: #232323; color: #fff; padding: 10px; font-size: 0.875rem; line-height: 1.25rem; position: relative;"),e.innerHTML=`\n <div style="display:flex; align-items:center;">\n <img width="32" src="https://cdn.salla.network/images/logo/logo-light.svg">\n <span style="margin:0 10px;">${salla.lang.get("blocks.header.preview_mode")}: <span style="background:rgba(255,255,255,0.25);border-radius:15px; padding:2px 15px 4px">${salla.config.get("theme.name")}</span></span>\n </div>\n <a href="${salla.url.get("preview_theme/cancel/preview")}" style="line-height:32px; width:32px;"><i class="sicon-cancel"></i></a>\n `,document.body.prepend(e)})))}injectEditAlert(){let e=salla.config.get("edit");e&&(document.querySelector("#s-edit-alert")?salla.logger.warn("#s-edit-alert element Existed before!"):salla.lang.onLoaded((()=>{let t=document.createElement("div");t.id="s-edit-alert",t.innerHTML=`\n <a href="${e}" style="display:block; background-color:${salla.config.get("theme.color.primary","#5cd5c4")}; color:${salla.config.get("theme.color.reverse","#fff")}; padding: 10px; text-align:center; font-size: 0.875rem; line-height: 1.25rem;">\n <i class="sicon-edit"></i> \n ${salla.lang.get("pages.products.quick_edit")}\n </a>\n `,document.body.prepend(t)})))}handleElementAjaxRequest(e,t){if(!(t instanceof HTMLFormElement||t instanceof HTMLAnchorElement))return salla.logger.warn("trying to call ajax from non Element!!"),!1;e.preventDefault();let r=t.getAjaxFormData(e),n=r.method?r.method.toLowerCase():void 0;salla.api.request(r.url,r.formData,n).then((e=>(e.data&&e.request&&(e=e.data),salla.api.handleAfterResponseActions(e),this.callAjaxEvent(r.events.success,e,r.formData),e))).catch((e=>{throw salla.api.handleErrorResponse(e),this.callAjaxEvent(r.events.fail,e,r.formData),e}))}callAjaxEvent(e,t,r){if(e){if(r instanceof FormData){const e={};Array.from(r.entries()).forEach((function(t){e[t[0]]=t[1]})),r=e}window[e]?window[e](t,r):salla.event.dispatch(e,t,r)}}setSallaReady(e){this.storeUTMs(),cn.event.emitAsync("twilight::before.ready",e),cn.status="ready",cn.event.dispatch("twilight::initiated",e),window.dispatchEvent(new CustomEvent("twilight::initiated",{detail:e}))}storeUTMs(){const e={fbclid:"facebook",gad_source:"google",ttclid:"tiktok",twclid:"twitter",scid:"snapchat"},t=["fbclid","gad_source","ttclid","twclid","scid"],r=["utm_source","utm_medium","utm_campaign","utm_term","utm_content",...t],n={},i={};window.location.search.replace("?","").split("&").map((e=>e.split("="))).filter((([e])=>r.includes(e.toLowerCase()))).forEach((([e,t])=>n[e.toLowerCase()]=t));const o=t.find((e=>n[e]));!n.utm_source&&o&&(n.utm_source=e[o],n.utm_campaign=n.utm_campaign||`Using the CLICKID ${o} provided by ${n.utm_source}`,n.utm_term=n.utm_term||`${o}: ${n[o]}`),n.utm_source&&(Object.entries(n).filter((([e])=>!t.includes(e))).forEach((([e,t])=>i[`s-${e.replace("_","-")}`]=t)),i["s-utm-referrer"]=document.referrer,salla.storage.session.set("s-utms",i),this.logUTMVisitData(i))}async logUTMVisitData(e){const t=e["s-utm-source"],r=e["s-utm-medium"],n=e["s-utm-campaign"];e&&"affiliate"===t&&r&&n&&fetch(salla.config.get("affiliate.utm_url"),{method:"POST",mode:"cors",headers:{"Content-Type":"application/json","s-utm-source":t,"s-utm-medium":r,"s-utm-campaign":n}}).then((e=>{if(e.ok){const e=new URL(window.location.href),t=window.history.state;e.searchParams.delete("utm_source"),e.searchParams.delete("utm_medium"),e.searchParams.delete("utm_campaign"),window.history.replaceState(t,"",e)}}))}}function vs(e,t,r,n,i){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:i;return e===i?r:e}var ys="undefined",bs="object",ws="any",_s="*",Ss=void 0!==Wt?Wt:{};Ss.env&&Ss.env.NODE_ENV;var Es="undefined"!=typeof document;function ks(e,t){return t.charAt(0)[e]()+t.slice(1)}null!=Ss.versions&&Ss.versions.node,"undefined"!=typeof Deno&&Deno.core,Es&&"nodejs"===window.name||"undefined"!=typeof navigator&&void 0!==navigator.userAgent&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));var xs=ks.bind(null,"toUpperCase"),Ps=ks.bind(null,"toLowerCase");function As(e){return Rs(e)?xs("null"):"object"==typeof e?function(e){return Os(e.constructor)?e.constructor.name:null}(e):Object.prototype.toString.call(e).slice(8,-1)}function Is(e,t){void 0===t&&(t=!0);var r=As(e);return t?Ps(r):r}function js(e,t){return typeof t===e}var Os=js.bind(null,"function"),Ts=js.bind(null,"string"),Cs=js.bind(null,"undefined"),Fs=js.bind(null,"boolean");function Rs(e){return null===e}function Ls(e){if(!function(e){return e&&("object"==typeof e||null!==e)}(e))return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Ns(e){return e instanceof Error||Ts(e.message)&&e.constructor&&function(e){return"number"===Is(e)&&!isNaN(e)}(e.constructor.stackTraceLimit)}function Us(e,t){if("object"!=typeof t||Rs(t))return!1;if(t instanceof e)return!0;var r=Is(new e(""));if(Ns(t))for(;t;){if(Is(t)===r)return!0;t=Object.getPrototypeOf(t)}return!1}function zs(e,t){var r=e instanceof Element||e instanceof HTMLDocument;return r&&t?function(e,t){return void 0===t&&(t=""),e&&e.nodeName===t.toUpperCase()}(e,t):r}function qs(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}function Ds(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function $s(e){return function(e){for(var t,r=Object.create(null),n=/([^&=]+)=?([^&]*)/g;t=n.exec(e);){var i=Ds(t[1]),o=Ds(t[2]);"[]"===i.substring(i.length-2)?(r[i=i.substring(0,i.length-2)]||(r[i]=[])).push(o):r[i]=""===o||o}for(var a in r){var s=a.split("[");s.length>1&&(Ms(r,s.map((function(e){return e.replace(/[?[\]\\ ]/g,"")})),r[a]),delete r[a])}return r}(function(e){if(e){var t=e.match(/\?(.*)/);return t&&t[1]?t[1].split("#")[0]:""}return Es&&window.location.search.substring(1)}(e))}function Ms(e,t,r){for(var n=t.length-1,i=0;i<n;++i){var o=t[i];if("__proto__"===o||"constructor"===o)break;o in e||(e[o]={}),e=e[o]}e[t[n]]=r}function Bs(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],i=15&r;e+="-"==n||"4"==n?n:("x"==n?i:3&i|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}js.bind(null,"symbol"),Us.bind(null,TypeError),Us.bind(null,SyntaxError),qs(zs,"form"),qs(zs,"button"),qs(zs,"input"),qs(zs,"select");var Hs="global",Gs="__global__",Js=typeof self===bs&&self.self===self&&self||typeof a===bs&&a.global===a&&a||void 0;function Vs(e){return Js[Gs][e]}function Ws(e,t){return Js[Gs][e]=t}function Ys(e){delete Js[Gs][e]}function Qs(e,t,r){var n;try{if(Xs(e)){var i=window[e];n=i[t].bind(i)}}catch(e){}return n||r}Js[Gs]||(Js[Gs]={});var Ks={};function Xs(e){if(typeof Ks[e]!==ys)return Ks[e];try{var t=window[e];t.setItem(ys,ys),t.removeItem(ys)}catch(t){return Ks[e]=!1}return Ks[e]=!0}function Zs(){return Zs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Zs.apply(this,arguments)}var el="function",tl="undefined",rl="@@redux/"+Math.random().toString(36),nl=function(){return typeof Symbol===el&&Symbol.observable||"@@observable"}(),il=" != "+el;function ol(e,t,r){var n;if(typeof t===el&&typeof r===tl&&(r=t,t=void 0),typeof r!==tl){if(typeof r!==el)throw new Error("enhancer"+il);return r(ol)(e,t)}if(typeof e!==el)throw new Error("reducer"+il);var i=e,o=t,a=[],s=a,l=!1;function c(){s===a&&(s=a.slice())}function u(){return o}function d(e){if(typeof e!==el)throw new Error("Listener"+il);var t=!0;return c(),s.push(e),function(){if(t){t=!1,c();var r=s.indexOf(e);s.splice(r,1)}}}function h(e){if(!Ls(e))throw new Error("Act != obj");if(typeof e.type===tl)throw new Error("ActType "+tl);if(l)throw new Error("Dispatch in reducer");try{l=!0,o=i(o,e)}finally{l=!1}for(var t=a=s,r=0;r<t.length;r++)(0,t[r])();return e}return h({type:"@@redux/INIT"}),(n={dispatch:h,subscribe:d,getState:u,replaceReducer:function(e){if(typeof e!==el)throw new Error("next reducer"+il);i=e,h({type:"@@redux/INIT"})}})[nl]=function(){var e,t=d;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Observer != obj");function r(){e.next&&e.next(u())}return r(),{unsubscribe:t(r)}}})[nl]=function(){return this},e},n}function al(e,t){var r=t&&t.type;return"action "+(r&&r.toString()||"?")+"reducer "+e+" returns "+tl}function sl(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce((function(e,t){return function(){return e(t.apply(void 0,[].slice.call(arguments)))}}))}function ll(){var e=arguments;return function(t){return function(r,n,i){var o,a=t(r,n,i),s=a.dispatch,l={getState:a.getState,dispatch:function(e){return s(e)}};return o=[].slice.call(e).map((function(e){return e(l)})),Zs({},a,{dispatch:s=sl.apply(void 0,o)(a.dispatch)})}}}var cl="__anon_id",ul="__user_id",dl="__user_traits",hl="userId",fl="anonymousId",pl=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],gl=["name","EVENTS","config","loaded"],ml=pl.reduce((function(e,t){return e[t]=t,e}),{registerPluginType:function(e){return"registerPlugin:"+e},pluginReadyType:function(e){return"ready:"+e}}),vl=/^utm_/,yl=/^an_prop_/,bl=/^an_trait_/;function wl(e){var t=e.storage.setItem;return function(r){return function(n){return function(i){if(i.type===ml.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,l=i.initialUser,c=s.userId===a.userId;s.anonymousId!==a.anonymousId&&t(cl,a.anonymousId),c||t(ul,a.userId),l.traits&&t(dl,Zs({},c&&s.traits?s.traits:{},l.traits));var u=Object.keys(i.params);if(u.length){var d=o.an_uid,h=o.an_event,f=u.reduce((function(e,t){if(t.match(vl)||t.match(/^(d|g)clid/)){var r=t.replace(vl,"");e.campaign["campaign"===r?"name":r]=o[t]}return t.match(yl)&&(e.props[t.replace(yl,"")]=o[t]),t.match(bl)&&(e.traits[t.replace(bl,"")]=o[t]),e}),{campaign:{},props:{},traits:{}});r.dispatch(Zs({type:ml.params,raw:o},f,d?{userId:d}:{})),d&&setTimeout((function(){return e.identify(d,f.traits)}),0),h&&setTimeout((function(){return e.track(h,f.props)}),0),Object.keys(f.campaign).length&&r.dispatch({type:ml.campaign,campaign:f.campaign})}}return n(i)}}}}function _l(e){return function(t,r){if(void 0===t&&(t={}),void 0===r&&(r={}),r.type===ml.setItemEnd){if(r.key===cl)return Zs({},t,{anonymousId:r.value});if(r.key===ul)return Zs({},t,{userId:r.value})}switch(r.type){case ml.identify:return Object.assign({},t,{userId:r.userId,traits:Zs({},t.traits,r.traits)});case ml.reset:return[ul,cl,dl].forEach((function(t){e.removeItem(t)})),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function Sl(e){return{userId:e.getItem(ul),anonymousId:e.getItem(cl),traits:e.getItem(dl)}}var El=function(e){return"__TEMP__"+e};function kl(e){var t=e.storage,r=t.setItem,n=t.removeItem,i=t.getItem;return function(e){return function(t){return function(o){var a=o.userId,s=o.traits,l=o.options;if(o.type===ml.reset&&([ul,dl,cl].forEach((function(e){n(e)})),[hl,fl,"traits"].forEach((function(e){Ys(El(e))}))),o.type===ml.identify){i(cl)||r(cl,Bs());var c=i(ul),u=i(dl)||{};c&&c!==a&&e.dispatch({type:ml.userIdChanged,old:{userId:c,traits:u},new:{userId:a,traits:s},options:l}),a&&r(ul,a),s&&r(dl,Zs({},u,s))}return t(o)}}}}var xl={};function Pl(e,t){xl[e]&&Os(xl[e])&&(xl[e](t),delete xl[e])}function Al(e,t,r){return new Promise((function(n,i){return t()?n(e):r<1?i(Zs({},e,{queue:!0})):new Promise((function(e){return setTimeout(e,10)})).then((function(o){return Al(e,t,r-10).then(n,i)}))}))}function Il(e){return{abort:e}}var jl=function(e){var t=e.data,r=e.action,n=e.instance,i=e.state,o=e.allPlugins,a=e.allMatches,s=e.store,l=e.EVENTS;try{var c=i.plugins,u=i.context,d=r.type,h=d.match(Ol),f=t.exact.map((function(e){return e.pluginName}));h&&(f=a.during.map((function(e){return e.pluginName})));var p=function(e,t){return function(r,n,i){var o=n.config,a=n.name,s=a+"."+r.type;i&&(s=i.event);var l=r.type.match(Ol)?function(e,t,r,n,i){return function(o,a){var s=n?n.name:e,l=a&&ql(a)?a:r;if(n&&(!(l=a&&ql(a)?a:[e]).includes(e)||1!==l.length))throw new Error("Method "+t+" can only abort "+e+" plugin. "+JSON.stringify(l)+" input valid");return Zs({},i,{abort:{reason:o,plugins:l,caller:t,_:s}})}}(a,s,t,i,r):function(e,t){return function(){throw new Error(e.type+" action not cancellable. Remove abort in "+t)}}(r,s);return{payload:Ml(r),instance:e,config:o||{},abort:l}}}(n,f),g=t.exact.reduce((function(e,t){var r=t.pluginName,n=t.methodName,i=!1;return n.match(/^initialize/)||n.match(/^reset/)||(i=!c[r].loaded),u.offline&&n.match(/^(page|track|identify)/)&&(i=!0),e[""+r]=i,e}),{});return Promise.resolve(t.exact.reduce((function(e,i,a){try{var s=i.pluginName;return Promise.resolve(e).then((function(e){function i(){return Promise.resolve(e)}var a=function(){if(t.namespaced&&t.namespaced[s])return Promise.resolve(t.namespaced[s].reduce((function(e,t,r){try{return Promise.resolve(e).then((function(e){return t.method&&Os(t.method)?(function(e,t){var r=$l(e);if(r&&r.name===t){var n=$l(r.method);throw new Error([t+" plugin is calling method "+e,"Plugins cant call self","Use "+r.method+" "+(n?"or "+n.method:"")+" in "+t+" plugin insteadof "+e].join("\n"))}}(t.methodName,t.pluginName),Promise.resolve(t.method({payload:e,instance:n,abort:(r=e,i=s,a=t.pluginName,function(e,t){return Zs({},r,{abort:{reason:e,plugins:t||[i],caller:d,from:a||i}})}),config:Rl(t.pluginName,c,o),plugins:c})).then((function(t){var r=Ls(t)?t:{};return Promise.resolve(Zs({},e,r))}))):e;var r,i,a}))}catch(e){return Promise.reject(e)}}),Promise.resolve(r))).then((function(t){e[s]=t}));e[s]=r}();return a&&a.then?a.then(i):i()}))}catch(e){return Promise.reject(e)}}),Promise.resolve({}))).then((function(e){return Promise.resolve(t.exact.reduce((function(r,i,a){try{var l=t.exact.length===a+1,u=i.pluginName,f=o[u];return Promise.resolve(r).then((function(t){var r=e[u]?e[u]:{};if(h&&(r=t),Ul(r,u))return Fl({data:r,method:d,instance:n,pluginName:u,store:s}),Promise.resolve(t);if(Ul(t,u))return l&&Fl({data:t,method:d,instance:n,store:s}),Promise.resolve(t);if(g.hasOwnProperty(u)&&!0===g[u])return s.dispatch({type:"queue",plugin:u,payload:r,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(t);var i=p(e[u],o[u]);return Promise.resolve(f[d]({abort:i.abort,payload:r,instance:n,config:Rl(u,c,o),plugins:c})).then((function(i){var o=Ls(i)?i:{},a=Zs({},t,o),l=e[u];if(Ul(l,u))Fl({data:l,method:d,instance:n,pluginName:u,store:s});else{var c=d+":"+u;(c.match(/:/g)||[]).length<2&&!d.match(Tl)&&!d.match(Cl)&&n.dispatch(Zs({},h?a:r,{type:c,_:{called:c,from:"submethod"}}))}return Promise.resolve(a)}))}))}catch(e){return Promise.reject(e)}}),Promise.resolve(r))).then((function(e){if(!(d.match(Ol)||d.match(/^registerPlugin/)||d.match(Cl)||d.match(Tl)||d.match(/^params/)||d.match(/^userIdChanged/))){if(l.plugins.includes(d),e._&&e._.originalAction===d)return e;var r=Zs({},e,{_:{originalAction:e.type,called:e.type,from:"engineEnd"}});zl(e,t.exact.length)&&!d.match(/End$/)&&(r=Zs({},r,{type:e.type+"Aborted"})),s.dispatch(r)}return e}))}))}catch(e){return Promise.reject(e)}},Ol=/Start$/,Tl=/^bootstrap/,Cl=/^ready/;function Fl(e){var t=e.pluginName,r=e.method+"Aborted"+(t?":"+t:"");e.store.dispatch(Zs({},e.data,{type:r,_:{called:r,from:"abort"}}))}function Rl(e,t,r){var n=t[e]||r[e];return n&&n.config?n.config:{}}function Ll(e,t){return t.reduce((function(t,r){return r[e]?t.concat({methodName:e,pluginName:r.name,method:r[e]}):t}),[])}function Nl(e,t){var r=e.replace(Ol,""),n=t?":"+t:"";return[""+e+n,""+r+n,r+"End"+n]}function Ul(e,t){var r=e.abort;return!!r&&(!0===r||Dl(r,t)||r&&Dl(r.plugins,t))}function zl(e,t){var r=e.abort;if(!r)return!1;if(!0===r||Ts(r))return!0;var n=r.plugins;return ql(r)&&r.length===t||ql(n)&&n.length===t}function ql(e){return Array.isArray(e)}function Dl(e,t){return!(!e||!ql(e))&&e.includes(t)}function $l(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function Ml(e){return Object.keys(e).reduce((function(t,r){return"type"===r||(t[r]=Ls(e[r])?Object.assign({},e[r]):e[r]),t}),{})}function Bl(e,t,r){var n={};return function(i){return function(o){return function(a){try{var s,l=function(e){return s?e:o(d)},c=a.type,u=a.plugins,d=a;if(a.abort)return Promise.resolve(o(a));if(c===ml.enablePlugin&&i.dispatch({type:ml.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),c===ml.disablePlugin&&setTimeout((function(){return Pl(a.meta.rid,{payload:a})}),0),c===ml.initializeEnd){var h=t(),f=Object.keys(h),p=f.filter((function(e){return u.includes(e)})).map((function(e){return h[e]})),g=[],m=[],v=a.disabled,y=p.map((function(e){var t=e.loaded,r=e.name,o=e.config;return Al(e,(function(){return t({config:o})}),1e4).then((function(t){return n[r]||(i.dispatch({type:ml.pluginReadyType(r),name:r,events:Object.keys(e).filter((function(e){return!gl.includes(e)}))}),n[r]=!0),g=g.concat(r),e})).catch((function(e){if(e instanceof Error)throw new Error(e);return m=m.concat(e.name),e}))}));Promise.all(y).then((function(e){var t={plugins:g,failed:m,disabled:v};setTimeout((function(){f.length===y.length+v.length&&i.dispatch(Zs({},{type:ml.ready},t))}),0)}))}var b=function(){if(c!==ml.bootstrap)return/^ready:([^:]*)$/.test(c)&&setTimeout((function(){return function(e,t,r){var n={},i=t(),o=e.getState(),a=o.plugins,s=o.queue,l=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var c=s.actions.reduce((function(e,t,r){return a[t.plugin].loaded?(e.process.push(t),e.processIndex.push(r)):(e.requeue.push(t),e.requeueIndex.push(r)),e}),{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(c.processIndex&&c.processIndex.length){c.processIndex.forEach((function(t){var o=s.actions[t],c=o.plugin,u=o.payload.type,d=i[c][u];if(d&&Os(d)){var h,f=function(e,t){return void 0===e&&(e={}),void 0===t&&(t={}),[hl,fl].reduce((function(r,n){return e.hasOwnProperty(n)&&t[n]&&t[n]!==e[n]&&(r[n]=t[n]),r}),e)}(o.payload,l),p=n[f.meta.rid];if(!p&&(h=d({payload:f,config:a[c].config,instance:r,abort:Il}))&&Ls(h)&&h.abort)return void(n[f.meta.rid]=!0);if(!p){var g=u+":"+c;e.dispatch(Zs({},f,{type:g,_:{called:g,from:"queueDrain"}}))}}}));var u=s.actions.filter((function(e,t){return!~c.processIndex.indexOf(t)}));s.actions=u}}}(i,t,e)}),0),Promise.resolve(function(e,t,r,n,i){try{var o=Os(t)?t():t,a=e.type,s=a.replace(Ol,"");if(e._&&e._.called)return Promise.resolve(e);var l=r.getState(),c=(h=o,void 0===(f=l.plugins)&&(f={}),void 0===(p=e.options)&&(p={}),Object.keys(h).filter((function(e){var t=p.plugins||{};return Fs(t[e])?t[e]:!1!==t.all&&(!f[e]||!1!==f[e].enabled)})).map((function(e){return h[e]})));a===ml.initializeStart&&e.fromEnable&&(c=Object.keys(l.plugins).filter((function(t){var r=l.plugins[t];return e.plugins.includes(t)&&!r.initialized})).map((function(e){return o[e]})));var u=c.map((function(e){return e.name})),d=function(e,t,r){var n=Nl(e).map((function(e){return Ll(e,t)}));return t.reduce((function(r,n){var i=n.name,o=Nl(e,i).map((function(e){return Ll(e,t)})),a=o[0],s=o[1],l=o[2];return a.length&&(r.beforeNS[i]=a),s.length&&(r.duringNS[i]=s),l.length&&(r.afterNS[i]=l),r}),{before:n[0],beforeNS:{},during:n[1],duringNS:{},after:n[2],afterNS:{}})}(a,c);return Promise.resolve(jl({action:e,data:{exact:d.before,namespaced:d.beforeNS},state:l,allPlugins:o,allMatches:d,instance:r,store:n,EVENTS:i})).then((function(e){function t(){var t=function(){if(a.match(Ol))return Promise.resolve(jl({action:Zs({},c,{type:s+"End"}),data:{exact:d.after,namespaced:d.afterNS},state:l,allPlugins:o,allMatches:d,instance:r,store:n,EVENTS:i})).then((function(e){e.meta&&e.meta.hasCallback&&Pl(e.meta.rid,{payload:e})}))}();return t&&t.then?t.then((function(){return e})):e}if(zl(e,u.length))return e;var c,h=function(){if(a!==s)return Promise.resolve(jl({action:Zs({},e,{type:s}),data:{exact:d.during,namespaced:d.duringNS},state:l,allPlugins:o,allMatches:d,instance:r,store:n,EVENTS:i})).then((function(e){c=e}));c=e}();return h&&h.then?h.then(t):t()}))}catch(e){return Promise.reject(e)}var h,f,p}(a,t,e,i,r)).then((function(e){return s=1,o(e)}))}();return Promise.resolve(b&&b.then?b.then(l):l(b))}catch(e){return Promise.reject(e)}}}}}function Hl(e){return function(t){return function(t){return function(r){var n=r.type,i=r.key,o=r.value,a=r.options;if(n===ml.setItem||n===ml.removeItem){if(r.abort)return t(r);n===ml.setItem?e.setItem(i,o,a):e.removeItem(i,a)}return t(r)}}}}var Gl=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(t,r){e[r]=e[r].concat(t)},this.removeMiddleware=function(t,r){var n=e[r].findIndex((function(e){return e===t}));-1!==n&&(e[r]=[].concat(e[r].slice(0,n),e[r].slice(n+1)))},this.dynamicMiddlewares=function(t){return function(r){return function(n){return function(i){var o={getState:r.getState,dispatch:function(e){return r.dispatch(e)}},a=e[t].map((function(e){return e(o)}));return sl.apply(void 0,a)(n)(i)}}}}};function Jl(e){return function(t,r){void 0===t&&(t={});var n={};if("initialize:aborted"===r.type)return t;if(/^registerPlugin:([^:]*)$/.test(r.type)){var i=Vl(r.type,"registerPlugin"),o=e()[i];if(!o||!i)return t;var a=r.enabled,s=o.config;return n[i]={enabled:a,initialized:!!a&&Boolean(!o.initialize),loaded:!!a&&Boolean(o.loaded({config:s})),config:s},Zs({},t,n)}if(/^initialize:([^:]*)$/.test(r.type)){var l=Vl(r.type,ml.initialize),c=e()[l];return c&&l?(n[l]=Zs({},t[l],{initialized:!0,loaded:Boolean(c.loaded({config:c.config}))}),Zs({},t,n)):t}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=Zs({},t[r.name],{loaded:!0}),Zs({},t,n);switch(r.type){case ml.disablePlugin:return Zs({},t,Wl(r.plugins,!1,t));case ml.enablePlugin:return Zs({},t,Wl(r.plugins,!0,t));default:return t}}}function Vl(e,t){return e.substring(t.length+1,e.length)}function Wl(e,t,r){return e.reduce((function(e,n){return e[n]=Zs({},r[n],{enabled:t}),e}),r)}function Yl(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var Ql={last:{},history:[]};function Kl(e,t){void 0===e&&(e=Ql);var r=t.options,n=t.meta;if(t.type===ml.track){var i=Yl(Zs({event:t.event,properties:t.properties},Object.keys(r).length&&{options:r},{meta:n}));return Zs({},e,{last:i,history:e.history.concat(i)})}return e}var Xl={actions:[]};function Zl(e,t){void 0===e&&(e=Xl);var r=t.payload;switch(t.type){case"queue":var n;return n=r&&r.type&&r.type===ml.identify?[t].concat(e.actions):e.actions.concat(t),Zs({},e,{actions:n});case"dequeue":return[];default:return e}}var ec=/#.*$/;function tc(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(ec,""):"")}var rc,nc=function(e){if(void 0===e&&(e={}),!Es)return e;var t=document,r=t.title,n=t.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,l=o.hash,c=o.search,u=function(e){var t=function(){if(Es)for(var e,t=document.getElementsByTagName("link"),r=0;e=t[r];r++)if("canonical"===e.getAttribute("rel"))return e.getAttribute("href")}();return t?t.match(/\?/)?t:t+e:window.location.href.replace(ec,"")}(c),d={title:r,url:u,path:tc(u),hash:l,search:c,width:a,height:s};return n&&""!==n&&(d.referrer=n),Zs({},d,e)},ic={last:{},history:[]};function oc(e,t){void 0===e&&(e=ic);var r=t.options;if(t.type===ml.page){var n=Yl(Zs({properties:t.properties,meta:t.meta},Object.keys(r).length&&{options:r}));return Zs({},e,{last:n,history:e.history.concat(n)})}return e}rc={};var ac={initialized:!1,sessionId:Bs(),app:null,version:null,debug:!1,offline:!!Es&&!navigator.onLine,os:{name:"na"},userAgent:Es?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.14"},timezone:void 0,locale:void 0,campaign:{},referrer:rc};function sc(e,t){void 0===e&&(e=ac);var r=e.initialized,n=t.campaign;switch(t.type){case ml.campaign:return Zs({},e,{campaign:n});case ml.offline:return Zs({},e,{offline:!0});case ml.online:return Zs({},e,{offline:!1});default:return r?e:Zs({},ac,e,{initialized:!0})}}var lc=["plugins","reducers","storage"];function cc(){return Ws("analytics",[]),function(e){return function(t,r,n){var i=e(t,r,n),o=i.dispatch;return Object.assign(i,{dispatch:function(e){return Js[Gs].analytics.push(e.action||e),o(e)}})}}}function uc(e){return function(){return sl(sl.apply(null,arguments),cc())}}function dc(e){return e?function(e){return"array"===Is(e)}(e)?e:[e]:[]}function hc(e,t,r){void 0===e&&(e={});var n,i,o=Bs();return t&&(xl[o]=(n=t,i=function(e){for(var t,r=e||Array.prototype.slice.call(arguments),n=0;n<r.length;n++)if(Os(r[n])){t=r[n];break}return t}(r),function(e){i&&i(e),n(e)})),Zs({},e,{rid:o,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function fc(e){void 0===e&&(e={});var t=e.reducers||{},r=e.initialUser||{},n=(e.plugins||[]).reduce((function(e,t){if(Os(t))return e.middlewares=e.middlewares.concat(t),e;if(t.NAMESPACE&&(t.name=t.NAMESPACE),!t.name)throw new Error("https://lytics.dev/errors/1");t.config||(t.config={});var r=t.EVENTS?Object.keys(t.EVENTS).map((function(e){return t.EVENTS[e]})):[];e.pluginEnabled[t.name]=!(!1===t.enabled||!1===t.config.enabled),delete t.enabled,t.methods&&(e.methods[t.name]=Object.keys(t.methods).reduce((function(e,r){var n;return e[r]=(n=t.methods[r],function(){for(var e=Array.prototype.slice.call(arguments),t=new Array(n.length),r=0;r<e.length;r++)t[r]=e[r];return t[t.length]=_,n.apply({instance:_},t)}),e}),{}),delete t.methods);var n=Object.keys(t).concat(r),i=new Set(e.events.concat(n));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(t),e.plugins[t.name])throw new Error(t.name+"AlreadyLoaded");return e.plugins[t.name]=t,e.plugins[t.name].loaded||(e.plugins[t.name].loaded=function(){return!0}),e}),{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=e.storage?e.storage:{getItem:Vs,setItem:Ws,removeItem:Ys},o=function(e){return function(t,r,n){return r.getState("user")[t]||(n&&Ls(n)&&n[t]?n[t]:Sl(e)[t]||Vs(El(t))||null)}}(i),a=n.plugins,s=n.events.filter((function(e){return!gl.includes(e)})).sort(),l=new Set(s.concat(pl).filter((function(e){return!gl.includes(e)}))),c=Array.from(l).sort(),u=function(){return a},d=new Gl,h=d.addMiddleware,f=d.removeMiddleware,p=d.dynamicMiddlewares,g=function(){throw new Error("Abort disabled inListener")},m=$s(),v=Sl(i),y=Zs({},v,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Bs());var b=Zs({enable:function(e,t){return new Promise((function(r){T.dispatch({type:ml.enablePlugin,plugins:dc(e),_:{originalAction:ml.enablePlugin}},r,[t])}))},disable:function(e,t){return new Promise((function(r){T.dispatch({type:ml.disablePlugin,plugins:dc(e),_:{originalAction:ml.disablePlugin}},r,[t])}))}},n.methods),w=!1,_={identify:function(e,t,r,n){try{var i=Ts(e)?e:null,a=Ls(e)?e:t,s=r||{},l=_.user();Ws(El(hl),i);var c=i||a.userId||o(hl,_,a);return Promise.resolve(new Promise((function(e){T.dispatch(Zs({type:ml.identifyStart,userId:c,traits:a||{},options:s,anonymousId:l.anonymousId},l.id&&l.id!==i&&{previousId:l.id}),e,[t,r,n])})))}catch(e){return Promise.reject(e)}},track:function(e,t,r,n){try{var i=Ls(e)?e.event:e;if(!i||!Ts(i))throw new Error("EventMissing");var a=Ls(e)?e:t||{},s=Ls(r)?r:{};return Promise.resolve(new Promise((function(e){T.dispatch({type:ml.trackStart,event:i,properties:a,options:s,userId:o(hl,_,t),anonymousId:o(fl,_,t)},e,[t,r,n])})))}catch(e){return Promise.reject(e)}},page:function(e,t,r){try{var n=Ls(e)?e:{},i=Ls(t)?t:{};return Promise.resolve(new Promise((function(a){T.dispatch({type:ml.pageStart,properties:nc(n),options:i,userId:o(hl,_,n),anonymousId:o(fl,_,n)},a,[e,t,r])})))}catch(e){return Promise.reject(e)}},user:function(e){if(e===hl||"id"===e)return o(hl,_);if(e===fl||"anonId"===e)return o(fl,_);var t=_.getState("user");return e?vs(t,e):t},reset:function(e){return new Promise((function(t){T.dispatch({type:ml.resetStart},t,e)}))},ready:function(e){return w&&e({plugins:b,instance:_}),_.on(ml.ready,(function(t){e(t),w=!0}))},on:function(e,t){if(!e||!Os(t))return!1;if(e===ml.bootstrap)throw new Error(".on disabled for "+e);var r=/Start$|Start:/;if("*"===e){var n=function(e){return function(e){return function(n){return n.type.match(r)&&t({payload:n,instance:_,plugins:a}),e(n)}}},i=function(e){return function(e){return function(n){return n.type.match(r)||t({payload:n,instance:_,plugins:a}),e(n)}}};return h(n,pc),h(i,gc),function(){f(n,pc),f(i,gc)}}var o=e.match(r)?pc:gc,s=function(r){return function(r){return function(n){return n.type===e&&t({payload:n,instance:_,plugins:a,abort:g}),r(n)}}};return h(s,o),function(){return f(s,o)}},once:function(e,t){if(!e||!Os(t))return!1;if(e===ml.bootstrap)throw new Error(".once disabled for "+e);var r=_.on(e,(function(e){t({payload:e.payload,instance:_,plugins:a,abort:g}),r()}));return r},getState:function(e){var t=T.getState();return e?vs(t,e):Object.assign({},t)},dispatch:function(e){var t=Ts(e)?{type:e}:e;if(pl.includes(t.type))throw new Error("reserved action "+t.type);var r=Zs({},t,{_:Zs({originalAction:t.type},e._||{})});T.dispatch(r)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:i.getItem,setItem:function(e,t,r){T.dispatch({type:ml.setItemStart,key:e,value:t,options:r})},removeItem:function(e,t){T.dispatch({type:ml.removeItemStart,key:e,options:t})}},setAnonymousId:function(e,t){_.storage.setItem(cl,e,t)},events:{core:pl,plugins:s}},S=n.middlewares.concat([function(e){return function(e){return function(t){return t.meta||(t.meta=hc()),e(t)}}},p(pc),Bl(_,u,{all:c,plugins:s}),Hl(i),wl(_),kl(_),p(gc)]),E={context:sc,user:_l(i),page:oc,track:Kl,plugins:Jl(u),queue:Zl},k=sl,x=sl;if(Es&&e.debug){var P=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;P&&(k=P({trace:!0,traceLimit:25})),x=function(){return 0===arguments.length?cc():Ls(typeof arguments[0])?uc():uc().apply(null,arguments)}}var A,I=function(e){return Object.keys(e).reduce((function(t,r){return lc.includes(r)||(t[r]=e[r]),t}),{})}(e),j=n.pluginsArray.reduce((function(e,t){var r=t.name,i=t.config,o=t.loaded,a=n.pluginEnabled[r];return e[r]={enabled:a,initialized:!!a&&Boolean(!t.initialize),loaded:Boolean(o({config:i})),config:i},e}),{}),O={context:I,user:y,plugins:j},T=ol(function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var i=t[n];typeof e[i]===el&&(r[i]=e[i])}var o,a=Object.keys(r);try{!function(e){Object.keys(e).forEach((function(t){var r=e[t];if(typeof r(void 0,{type:"@@redux/INIT"})===tl||typeof r(void 0,{type:rl})===tl)throw new Error("reducer "+t+" "+tl)}))}(r)}catch(e){o=e}return function(e,t){if(void 0===e&&(e={}),o)throw o;for(var n=!1,i={},s=0;s<a.length;s++){var l=a[s],c=e[l],u=(0,r[l])(c,t);if(typeof u===tl){var d=al(l,t);throw new Error(d)}i[l]=u,n=n||u!==c}return n?i:e}}(Zs({},E,t)),O,x(k(ll.apply(void 0,S))));T.dispatch=(A=T.dispatch,function(e,t,r){var n=Zs({},e,{meta:hc(e.meta,t,dc(r))});return A.apply(null,[n])});var C=Object.keys(a);T.dispatch({type:ml.bootstrap,plugins:C,config:I,params:m,user:y,initialUser:r,persistedUser:v});var F=C.filter((function(e){return n.pluginEnabled[e]})),R=C.filter((function(e){return!n.pluginEnabled[e]}));return T.dispatch({type:ml.registerPlugins,plugins:C,enabled:n.pluginEnabled}),n.pluginsArray.map((function(e,t){var r=e.bootstrap,i=e.config,o=e.name;r&&Os(r)&&r({instance:_,config:i,payload:e}),T.dispatch({type:ml.registerPluginType(o),name:o,enabled:n.pluginEnabled[o],plugin:e}),n.pluginsArray.length===t+1&&T.dispatch({type:ml.initializeStart,plugins:F,disabled:R})})),_}var pc="before",gc="after",mc="cookie",vc=_c(),yc=Sc,bc=Sc;function wc(e){return vc?Sc(e,"",-1):Ys(e)}function _c(){if(void 0!==vc)return vc;var e="cookiecookie";try{Sc(e,e),vc=-1!==document.cookie.indexOf(e),wc(e)}catch(e){vc=!1}return vc}function Sc(e,t,r,n,i,o){if("undefined"!=typeof window){var a=arguments.length>1;return!1===vc&&(a?Ws(e,t):Vs(e)),a?document.cookie=e+"="+encodeURIComponent(t)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}}var Ec="localStorage",kc=Xs.bind(null,"localStorage");Qs("localStorage","getItem",Vs),Qs("localStorage","setItem",Ws),Qs("localStorage","removeItem",Ys);var xc="sessionStorage",Pc=Xs.bind(null,"sessionStorage");function Ac(e){var t=e;try{if("true"===(t=JSON.parse(e)))return!0;if("false"===t)return!1;if(Ls(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}Qs("sessionStorage","getItem",Vs),Qs("sessionStorage","setItem",Ws),Qs("sessionStorage","removeItem",Ys);var Ic=kc(),jc=Pc(),Oc=_c();function Tc(e,t){if(e){var r=Cc(t),n=!Nc(r),i=Fc(r)?Ac(localStorage.getItem(e)):void 0;if(n&&!Cs(i))return i;var o=Rc(r)?Ac(yc(e)):void 0;if(n&&o)return o;var a=Lc(r)?Ac(sessionStorage.getItem(e)):void 0;if(n&&a)return a;var s=Vs(e);return n?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function Cc(e){return e?Ts(e)?e:e.storage:ws}function Fc(e){return Ic&&Uc(e,Ec)}function Rc(e){return Oc&&Uc(e,mc)}function Lc(e){return jc&&Uc(e,xc)}function Nc(e){return e===_s||"all"===e}function Uc(e,t){return e===ws||e===t||Nc(e)}function zc(e,t,r){return{location:e,current:t,previous:r}}var qc={setItem:function(e,t,r){if(e&&!Cs(t)){var n={},i=Cc(r),o=JSON.stringify(t),a=!Nc(i);return Fc(i)&&(n[Ec]=zc(Ec,t,Ac(localStorage.getItem(e))),localStorage.setItem(e,o),a)?n[Ec]:Rc(i)&&(n[mc]=zc(mc,t,Ac(yc(e))),bc(e,o),a)?n[mc]:Lc(i)&&(n[xc]=zc(xc,t,Ac(sessionStorage.getItem(e))),sessionStorage.setItem(e,o),a)?n[xc]:(n[Hs]=zc(Hs,t,Vs(e)),Ws(e,t),a?n[Hs]:n)}},getItem:Tc,removeItem:function(e,t){if(e){var r=Cc(t),n=Tc(e,_s),i={};return!Cs(n.localStorage)&&Fc(r)&&(localStorage.removeItem(e),i[Ec]=n.localStorage),!Cs(n.cookie)&&Rc(r)&&(wc(e),i[mc]=n.cookie),!Cs(n.sessionStorage)&&Lc(r)&&(sessionStorage.removeItem(e),i[xc]=n.sessionStorage),!Cs(n.global)&&Uc(r,Hs)&&(Ys(e),i[Hs]=n.global),i}}};function Dc(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Mc(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$c(Object(r),!0).forEach((function(t){Dc(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Bc(e,t){const r=function(e){return Array.prototype.slice.call(window.document.querySelectorAll("script")).find((t=>t.src===e))}(e);if(void 0!==r){const e=null==r?void 0:r.getAttribute("status");if("loaded"===e)return Promise.resolve(r);if("loading"===e)return new Promise(((e,t)=>{r.addEventListener("load",(()=>e(r))),r.addEventListener("error",(e=>t(e)))}))}return new Promise(((r,n)=>{var i,o;const a=window.document.createElement("script");a.type="text/javascript",a.src=function(e,t){let r=e;return r.startsWith("http")||(r=`https://${(null==t?void 0:t.www)?"www.":""}${r}`),(null==t?void 0:t.min)?r+=".min.js":(null==t?void 0:t.js)&&(r+=".js"),(null==t?void 0:t.query)&&(r+="?"+t.query),r}(e,t),a.async=!0,a.setAttribute("status","loading");for(const[e,r]of Object.entries(null!==(i=null==t?void 0:t.attributes)&&void 0!==i?i:{}))a.setAttribute(e,r);a.onload=()=>{a.onerror=a.onload=null,a.setAttribute("status","loaded"),r(a)},a.onerror=()=>{a.onerror=a.onload=null,a.setAttribute("status","error"),n(new Error(`Failed to load ${e}`))};const s=window.document.getElementsByTagName("script")[0];null===(o=s.parentElement)||void 0===o||o.insertBefore(a,s)}))}var Hc=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Gc={id:"tag",handle(e,t){return Hc(this,void 0,void 0,(function*(){uu(t,e)&&function(e,t,r={}){let n;try{n=JSON.parse(e)}catch(t){n={code:e,lang:"javascript"}}const i=r.debug||!1;if(Yu())if("javascript"===n.lang)!function(e,t){const r=`jitsu_event_${ad()}`;window[r]=t;const n=`(function(){\n const event = ${r};\n ${e}\n })()`;try{Vc(n)}catch(e){console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `,n)}finally{delete window[r]}}(n.code,t);else{const e=document.createElement("span");e.innerHTML=function(e,t){return e.replace(/{{\s*event\s*}}/g,JSON.stringify(t))}(n.code,t),document.body.insertAdjacentElement("beforeend",e);e.querySelectorAll("script").forEach((e=>{const t=document.createElement("script");t.type=t.type||"text/javascript",e.hasAttribute("src")&&(t.src=e.src),t.text=e.text,i&&console.log("[JITSU] Executing script"+(e.hasAttribute("src")?` ${e.src}`:""),t.text),document.head.appendChild(t),document.head.removeChild(t)}))}else i&&console.log("[JITSU] insertTags(): cannot insert tags in non-browser environment")}(e.code,t)}))}};let Jc="ve".split("").reverse().join("");const Vc=globalThis[Jc+"al"];var Wc=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Yc="cdn.lr-ingest.io/",Qc={id:"logrocket",handle(e,t){return Wc(this,void 0,void 0,(function*(){if(!uu(t,e))return;!function(e){Wc(this,void 0,void 0,(function*(){"fresh"===Kc()&&(Xc("loading"),Bc(`${Yc}LogRocket`,{min:!0,attributes:{crossOrigin:"anonymous"}}).then((()=>{if(window.LogRocket){try{window.LogRocket.init(e)}catch(t){console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),Xc("failed")}Xc("loaded"),eu(window.LogRocket)}})).catch((t=>{console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),Xc("failed")})))}))}(e.appId);Zc().push((e=>{"identify"===t.type&&t.userId&&e.identify(t.userId,t.traits||{})})),"loaded"===Kc()&&eu(window.LogRocket)}))}};function Kc(){return window.__jitsuLrState||"fresh"}function Xc(e){window.__jitsuLrState=e}function Zc(){return window.__jitsuLrQueue||(window.__jitsuLrQueue=[])}function eu(e){const t=Zc();for(;t.length>0;){const r=t.shift();try{const t=r(e);t&&t.catch((e=>console.warn(`Async LogRocket method failed: ${e.message}`,e)))}catch(e){console.warn(`LogRocket method failed: ${e.message}`,e)}}}var tu=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const ru={id:"gtm",handle(e,t){return tu(this,void 0,void 0,(function*(){var r,n,i,o,a,s,l,c,u,d,h,f,p,g;const m=!!e.debug;if(!uu(t,e))return;yield function(e,t){return tu(this,void 0,void 0,(function*(){if("fresh"!==(window.__jitsuGtmState||"fresh"))return;nu("loading");const r=e.dataLayerName||"dataLayer",n=e.containerId;!function(e,r,i){e[r]=e[r]||[],e[r].push({user_id:t.userId}),e[r].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});Bc("googletagmanager.com/gtm",{www:!0,js:!0,query:"id="+i+("dataLayer"!=r?"&l="+r:"")}).then((()=>{nu("loaded")})).catch((e=>{console.warn(`GTM (containerId=${n}) init failed: ${e.message}`,e),nu("failed")}))}(window,r,n)}))}(e,t);const v=window[e.dataLayerName||"dataLayer"],y=Object.assign(Object.assign({},(null==t?void 0:t.traits)||{}),(null===(r=null==t?void 0:t.context)||void 0===r?void 0:r.traits)||{}),b=function(e,...t){return Object.fromEntries(Object.entries(e).filter((([e])=>!t.includes(e))))}(y,"id","userId","user_id","anonymousId","userId");m&&console.debug("GTM plugin will be applied to following payload",t);const w={email_address:y.email},_=Object.assign(Object.assign(Object.assign(Object.assign({},t.userId?{user_id:t.userId,userId:t.userId}:{}),t.anonymousId?{anonymousId:t.anonymousId}:{}),b),{user_data:Object.keys(w).length>0?w:void 0});m&&console.debug("GTM plugin will set following user-related data layer vars",_);const S=t.properties||{},E={page_location:S.url||(null===(i=null===(n=t.context)||void 0===n?void 0:n.page)||void 0===i?void 0:i.url),page_title:S.title||(null===(a=null===(o=t.context)||void 0===o?void 0:o.page)||void 0===a?void 0:a.title),page_path:S.path||(null===(l=null===(s=t.context)||void 0===s?void 0:s.page)||void 0===l?void 0:l.path),page_hash:S.hash||(null===(u=null===(c=t.context)||void 0===c?void 0:c.page)||void 0===u?void 0:u.hash),page_search:S.search||(null===(h=null===(d=t.context)||void 0===d?void 0:d.page)||void 0===h?void 0:h.search),page_referrer:null!==(g=null===(p=null===(f=null==t?void 0:t.context)||void 0===f?void 0:f.page)||void 0===p?void 0:p.referrer)&&void 0!==g?g:""};m&&console.debug("GTM plugin will set following context (page) related data layer vars",_);const k=e=>{v.push(e),m&&console.debug("GTM plugin will push following data to dataLayer",e)};switch(t.type){case"page":k(Object.assign(Object.assign({event:"page_view"},E),_));break;case"track":const{properties:e}=t;k(Object.assign(Object.assign(Object.assign({event:t.event},E),e),_));break;case"identify":const{traits:r}=t;k(Object.assign(Object.assign(Object.assign({event:"identify"},E),r),_))}v.push((function(){this.reset()}))}))}};function nu(e){window.__jitsuGtmState=e}var iu=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const ou=[new Uint8Array([109,111,99,46,114,101,103,97,110,97,109,103,97,116,101,108,103,111,111,103]),new Uint8Array([103,97,116,103]),new Uint8Array([115,106])];function au(e){return(new TextDecoder).decode(e)}const su={id:"ga4-tag",handle(e,t){return iu(this,void 0,void 0,(function*(){var r,n;if(!uu(t,e))return;yield function(e,t){return iu(this,void 0,void 0,(function*(){if("fresh"!==(window.__jitsuGa4State||"fresh"))return;lu("loading");const r=e.dataLayerName||"dataLayer",n="dataLayer"!==r?"&l="+r:"",i=e.measurementIds;window[r]=window[r]||[];const o=function(){window[r].push(arguments)};o("js",new Date),o("config",i,Object.assign(Object.assign({},t.userId?{user_id:t.userId}:{}),e.autoPageView?{}:{send_page_view:!1})),Bc(ou.map((e=>e.reverse())).map(au).join("/"),{query:`id=${i}${n}`,www:!0}).then((()=>{lu("loaded")})).catch((t=>{console.warn(`GA4 (containerId=${e.measurementIds}) init failed: ${t.message}`,t),lu("failed")}))}))}(e,t);const i=window[e.dataLayerName||"dataLayer"],o=function(){i.push(arguments)},a=Object.assign(Object.assign({},t.userId?{user_id:t.userId,userId:t.userId}:{}),t.anonymousId?{anonymousId:t.anonymousId}:{});switch(t.userId&&o("set",{user_id:t.userId}),t.type){case"page":if(e.autoPageView){console.log("autoPageView");break}const{properties:i,context:s}=t;o("event","page_view",Object.assign({page_location:i.url,page_title:i.title,page_path:i.path,page_hash:i.hash,page_search:i.search,page_referrer:null!==(n=null===(r=null==s?void 0:s.page)||void 0===r?void 0:r.referrer)&&void 0!==n?n:""},a));break;case"track":const{properties:l}=t,c=Object.assign(Object.assign({},l),a);o("event",t.event,c);break;case"identify":const{traits:u}=t;o("event","identify",Object.assign(Object.assign({},u),a))}}))}};function lu(e){window.__jitsuGa4State=e}function cu(e,t){return"*"===e||e.toLowerCase().trim()===(t||"").trim().toLowerCase()}function uu(e,t){const{hosts:r="*",events:n="*"}=t;try{const t=Array.isArray(n)?n:n.split("\n");return!(!(Array.isArray(r)?r:r.split("\n")).find((t=>{var r,n,i,o;return i=t,o=null===(n=null===(r=e.context)||void 0===r?void 0:r.page)||void 0===n?void 0:n.host,"*"===i||(o=o||"",i.startsWith("*.")?o.endsWith(i.substring(1)):i===o)}))||!t.find((t=>cu(t,e.type)))&&!t.find((t=>cu(t,e.event))))}catch(e){throw console.warn(`Failed to apply filters: ${e.message}. Typeof events: ${typeof n}, typeof hosts: ${typeof r}. Values`,n,r),new Error(`Failed to apply filters: ${e.message}. Typeof events: ${typeof n}, typeof hosts: ${typeof r}`)}}const du={[Gc.id]:Gc,[ru.id]:ru,[su.id]:su,[Qc.id]:Qc},hu="2.0.0",fu="@jitsu/js",pu="ac,com.ac,edu.ac,gov.ac,net.ac,mil.ac,org.ac,ad,nom.ad,ae,co.ae,net.ae,org.ae,sch.ae,ac.ae,gov.ae,mil.ae,aero,af,gov.af,com.af,org.af,net.af,edu.af,ag,com.ag,org.ag,net.ag,co.ag,nom.ag,ai,off.ai,com.ai,net.ai,org.ai,al,com.al,edu.al,gov.al,mil.al,net.al,org.al,am,co.am,com.am,commune.am,net.am,org.am,ao,ed.ao,gv.ao,og.ao,co.ao,pb.ao,it.ao,aq,ar,bet.ar,com.ar,coop.ar,edu.ar,gob.ar,gov.ar,int.ar,mil.ar,musica.ar,mutual.ar,net.ar,org.ar,senasa.ar,tur.ar,arpa,e164.arpa,in-addr.arpa,ip6.arpa,iris.arpa,uri.arpa,urn.arpa,as,gov.as,asia,at,ac.at,co.at,gv.at,or.at,sth.ac.at,au,com.au,net.au,org.au,edu.au,gov.au,asn.au,id.au,act.au,nsw.au,nt.au,qld.au,sa.au,tas.au,vic.au,wa.au,aw,com.aw,ax,az,com.az,net.az,int.az,gov.az,org.az,edu.az,info.az,pp.az,mil.az,name.az,pro.az,biz.az,ba,com.ba,edu.ba,gov.ba,mil.ba,net.ba,org.ba,bb,biz.bb,co.bb,com.bb,edu.bb,gov.bb,info.bb,net.bb,org.bb,store.bb,tv.bb,bd,be,ac.be,bf,gov.bf,bg,a.bg,b.bg,c.bg,d.bg,e.bg,f.bg,g.bg,h.bg,i.bg,j.bg,k.bg,l.bg,m.bg,n.bg,o.bg,p.bg,q.bg,r.bg,s.bg,t.bg,u.bg,v.bg,w.bg,x.bg,y.bg,z.bg,0.bg,1.bg,2.bg,3.bg,4.bg,5.bg,6.bg,7.bg,8.bg,9.bg,bh,com.bh,edu.bh,net.bh,org.bh,gov.bh,bi,co.bi,com.bi,edu.bi,or.bi,org.bi,biz,bj,africa.bj,agro.bj,architectes.bj,assur.bj,avocats.bj,co.bj,com.bj,eco.bj,econo.bj,edu.bj,info.bj,loisirs.bj,money.bj,net.bj,org.bj,ote.bj,resto.bj,restaurant.bj,tourism.bj,univ.bj,bm,com.bm,edu.bm,gov.bm,net.bm,org.bm,bn,com.bn,edu.bn,gov.bn,net.bn,org.bn,bo,com.bo,edu.bo,gob.bo,int.bo,org.bo,net.bo,mil.bo,tv.bo,web.bo,br,9guacu.br,abc.br,adm.br,adv.br,agr.br,aju.br,am.br,anani.br,aparecida.br,app.br,arq.br,art.br,ato.br,b.br,barueri.br,belem.br,bhz.br,bib.br,bio.br,blog.br,bmd.br,boavista.br,bsb.br,campinagrande.br,campinas.br,caxias.br,cim.br,cng.br,cnt.br,com.br,contagem.br,coop.br,coz.br,cri.br,cuiaba.br,curitiba.br,def.br,des.br,det.br,dev.br,ecn.br,eco.br,edu.br,emp.br,enf.br,eng.br,esp.br,etc.br,eti.br,far.br,feira.br,flog.br,floripa.br,fm.br,fnd.br,fortal.br,fot.br,foz.br,fst.br,g12.br,geo.br,ggf.br,goiania.br,gov.br,gru.br,imb.br,ind.br,inf.br,jab.br,jampa.br,jdf.br,joinville.br,jor.br,jus.br,leg.br,lel.br,log.br,londrina.br,macapa.br,maceio.br,manaus.br,maringa.br,mat.br,med.br,mil.br,morena.br,mp.br,mus.br,natal.br,net.br,niteroi.br,nom.br,not.br,ntr.br,odo.br,ong.br,org.br,osasco.br,palmas.br,poa.br,ppg.br,pro.br,psc.br,psi.br,pvh.br,qsl.br,radio.br,rec.br,recife.br,rep.br,ribeirao.br,rio.br,riobranco.br,riopreto.br,salvador.br,sampa.br,santamaria.br,santoandre.br,saobernardo.br,saogonca.br,seg.br,sjc.br,slg.br,slz.br,sorocaba.br,srv.br,taxi.br,tc.br,tec.br,teo.br,the.br,tmp.br,trd.br,tur.br,tv.br,udi.br,vet.br,vix.br,vlog.br,wiki.br,zlg.br,bs,com.bs,net.bs,org.bs,edu.bs,gov.bs,bt,com.bt,edu.bt,gov.bt,net.bt,org.bt,bv,bw,co.bw,org.bw,by,gov.by,mil.by,com.by,of.by,bz,com.bz,net.bz,org.bz,edu.bz,gov.bz,ca,ab.ca,bc.ca,mb.ca,nb.ca,nf.ca,nl.ca,ns.ca,nt.ca,nu.ca,on.ca,pe.ca,qc.ca,sk.ca,yk.ca,gc.ca,cat,cc,cd,gov.cd,cf,cg,ch,ci,org.ci,or.ci,com.ci,co.ci,edu.ci,ed.ci,ac.ci,net.ci,go.ci,asso.ci,aéroport.ci,int.ci,presse.ci,md.ci,gouv.ci,ck,cl,co.cl,gob.cl,gov.cl,mil.cl,cm,co.cm,com.cm,gov.cm,net.cm,cn,ac.cn,com.cn,edu.cn,gov.cn,net.cn,org.cn,mil.cn,co,arts.co,com.co,edu.co,firm.co,gov.co,info.co,int.co,mil.co,net.co,nom.co,org.co,rec.co,web.co,com,coop,cr,ac.cr,co.cr,ed.cr,fi.cr,go.cr,or.cr,sa.cr,cu,com.cu,edu.cu,org.cu,net.cu,gov.cu,inf.cu,cv,com.cv,edu.cv,int.cv,nome.cv,org.cv,cw,com.cw,edu.cw,net.cw,org.cw,cx,gov.cx,cy,ac.cy,biz.cy,com.cy,ekloges.cy,gov.cy,ltd.cy,mil.cy,net.cy,org.cy,press.cy,pro.cy,tm.cy,cz,de,dj,dk,dm,com.dm,net.dm,org.dm,edu.dm,gov.dm,do,art.do,com.do,edu.do,gob.do,gov.do,mil.do,net.do,org.do,sld.do,web.do,dz,art.dz,asso.dz,com.dz,edu.dz,gov.dz,org.dz,net.dz,pol.dz,soc.dz,tm.dz,ec,com.ec,info.ec,net.ec,fin.ec,k12.ec,med.ec,pro.ec,org.ec,edu.ec,gov.ec,gob.ec,mil.ec,edu,ee,edu.ee,gov.ee,riik.ee,lib.ee,med.ee,com.ee,pri.ee,aip.ee,org.ee,fie.ee,eg,com.eg,edu.eg,eun.eg,gov.eg,mil.eg,name.eg,net.eg,org.eg,sci.eg,er,es,com.es,nom.es,org.es,gob.es,edu.es,et,com.et,gov.et,org.et,edu.et,biz.et,name.et,info.et,net.et,eu,fi,aland.fi,fj,ac.fj,biz.fj,com.fj,gov.fj,info.fj,mil.fj,name.fj,net.fj,org.fj,pro.fj,fk,com.fm,edu.fm,net.fm,org.fm,fm,fo,fr,asso.fr,com.fr,gouv.fr,nom.fr,prd.fr,tm.fr,aeroport.fr,avocat.fr,avoues.fr,cci.fr,chambagri.fr,chirurgiens-dentistes.fr,experts-comptables.fr,geometre-expert.fr,greta.fr,huissier-justice.fr,medecin.fr,notaires.fr,pharmacien.fr,port.fr,veterinaire.fr,ga,gb,edu.gd,gov.gd,gd,ge,com.ge,edu.ge,gov.ge,org.ge,mil.ge,net.ge,pvt.ge,gf,gg,co.gg,net.gg,org.gg,gh,com.gh,edu.gh,gov.gh,org.gh,mil.gh,gi,com.gi,ltd.gi,gov.gi,mod.gi,edu.gi,org.gi,gl,co.gl,com.gl,edu.gl,net.gl,org.gl,gm,gn,ac.gn,com.gn,edu.gn,gov.gn,org.gn,net.gn,gov,gp,com.gp,net.gp,mobi.gp,edu.gp,org.gp,asso.gp,gq,gr,com.gr,edu.gr,net.gr,org.gr,gov.gr,gs,gt,com.gt,edu.gt,gob.gt,ind.gt,mil.gt,net.gt,org.gt,gu,com.gu,edu.gu,gov.gu,guam.gu,info.gu,net.gu,org.gu,web.gu,gw,gy,co.gy,com.gy,edu.gy,gov.gy,net.gy,org.gy,hk,com.hk,edu.hk,gov.hk,idv.hk,net.hk,org.hk,hm,hn,com.hn,edu.hn,org.hn,net.hn,mil.hn,gob.hn,hr,iz.hr,from.hr,name.hr,com.hr,ht,com.ht,shop.ht,firm.ht,info.ht,adult.ht,net.ht,pro.ht,org.ht,med.ht,art.ht,coop.ht,pol.ht,asso.ht,edu.ht,rel.ht,gouv.ht,perso.ht,hu,co.hu,info.hu,org.hu,priv.hu,sport.hu,tm.hu,2000.hu,agrar.hu,bolt.hu,casino.hu,city.hu,erotica.hu,erotika.hu,film.hu,forum.hu,games.hu,hotel.hu,ingatlan.hu,jogasz.hu,konyvelo.hu,lakas.hu,media.hu,news.hu,reklam.hu,sex.hu,shop.hu,suli.hu,szex.hu,tozsde.hu,utazas.hu,video.hu,id,ac.id,biz.id,co.id,desa.id,go.id,mil.id,my.id,net.id,or.id,ponpes.id,sch.id,web.id,ie,gov.ie,il,ac.il,co.il,gov.il,idf.il,k12.il,muni.il,net.il,org.il,im,ac.im,co.im,com.im,ltd.co.im,net.im,org.im,plc.co.im,tt.im,tv.im,in,5g.in,6g.in,ac.in,ai.in,am.in,bihar.in,biz.in,business.in,ca.in,cn.in,co.in,com.in,coop.in,cs.in,delhi.in,dr.in,edu.in,er.in,firm.in,gen.in,gov.in,gujarat.in,ind.in,info.in,int.in,internet.in,io.in,me.in,mil.in,net.in,nic.in,org.in,pg.in,post.in,pro.in,res.in,travel.in,tv.in,uk.in,up.in,us.in,info,int,eu.int,io,com.io,iq,gov.iq,edu.iq,mil.iq,com.iq,org.iq,net.iq,ir,ac.ir,co.ir,gov.ir,id.ir,net.ir,org.ir,sch.ir,is,net.is,com.is,edu.is,gov.is,org.is,int.is,it,gov.it,edu.it,je,co.je,net.je,org.je,jm,jo,com.jo,org.jo,net.jo,edu.jo,sch.jo,gov.jo,mil.jo,name.jo,jobs,jp,ac.jp,ad.jp,co.jp,ed.jp,go.jp,gr.jp,lg.jp,ne.jp,or.jp,ke,ac.ke,co.ke,go.ke,info.ke,me.ke,mobi.ke,ne.ke,or.ke,sc.ke,kg,org.kg,net.kg,com.kg,edu.kg,gov.kg,mil.kg,kh,ki,edu.ki,biz.ki,net.ki,org.ki,gov.ki,info.ki,com.ki,km,org.km,nom.km,gov.km,prd.km,tm.km,edu.km,mil.km,ass.km,com.km,kn,net.kn,org.kn,edu.kn,gov.kn,kp,com.kp,edu.kp,gov.kp,org.kp,rep.kp,tra.kp,kr,ac.kr,co.kr,es.kr,go.kr,hs.kr,kg.kr,mil.kr,ms.kr,ne.kr,or.kr,pe.kr,re.kr,sc.kr,kw,com.kw,edu.kw,emb.kw,gov.kw,ind.kw,net.kw,org.kw,ky,com.ky,edu.ky,net.ky,org.ky,kz,org.kz,edu.kz,net.kz,gov.kz,mil.kz,com.kz,la,int.la,net.la,info.la,edu.la,gov.la,per.la,com.la,org.la,lb,com.lb,edu.lb,gov.lb,net.lb,org.lb,lc,com.lc,net.lc,co.lc,org.lc,edu.lc,gov.lc,li,lk,gov.lk,sch.lk,net.lk,int.lk,com.lk,org.lk,edu.lk,ngo.lk,soc.lk,web.lk,ltd.lk,assn.lk,grp.lk,hotel.lk,ac.lk,lr,com.lr,edu.lr,gov.lr,org.lr,net.lr,ls,ac.ls,biz.ls,co.ls,edu.ls,gov.ls,info.ls,net.ls,org.ls,sc.ls,lt,gov.lt,lu,lv,com.lv,edu.lv,gov.lv,org.lv,mil.lv,id.lv,net.lv,asn.lv,conf.lv,ly,com.ly,net.ly,gov.ly,plc.ly,edu.ly,sch.ly,med.ly,org.ly,id.ly,ma,co.ma,net.ma,gov.ma,org.ma,ac.ma,press.ma,mc,tm.mc,asso.mc,md,me,co.me,net.me,org.me,edu.me,ac.me,gov.me,its.me,priv.me,mg,org.mg,nom.mg,gov.mg,prd.mg,tm.mg,edu.mg,mil.mg,com.mg,co.mg,mh,mil,mk,com.mk,org.mk,net.mk,edu.mk,gov.mk,inf.mk,name.mk,ml,com.ml,edu.ml,gouv.ml,gov.ml,net.ml,org.ml,presse.ml,mm,mn,gov.mn,edu.mn,org.mn,mo,com.mo,net.mo,org.mo,edu.mo,gov.mo,mobi,mp,mq,mr,gov.mr,ms,com.ms,edu.ms,gov.ms,net.ms,org.ms,mt,com.mt,edu.mt,net.mt,org.mt,mu,com.mu,net.mu,org.mu,gov.mu,ac.mu,co.mu,or.mu,museum,mv,aero.mv,biz.mv,com.mv,coop.mv,edu.mv,gov.mv,info.mv,int.mv,mil.mv,museum.mv,name.mv,net.mv,org.mv,pro.mv,mw,ac.mw,biz.mw,co.mw,com.mw,coop.mw,edu.mw,gov.mw,int.mw,museum.mw,net.mw,org.mw,mx,com.mx,org.mx,gob.mx,edu.mx,net.mx,my,biz.my,com.my,edu.my,gov.my,mil.my,name.my,net.my,org.my,mz,ac.mz,adv.mz,co.mz,edu.mz,gov.mz,mil.mz,net.mz,org.mz,na,info.na,pro.na,name.na,school.na,or.na,dr.na,us.na,mx.na,ca.na,in.na,cc.na,tv.na,ws.na,mobi.na,co.na,com.na,org.na,name,nc,asso.nc,nom.nc,ne,net,nf,com.nf,net.nf,per.nf,rec.nf,web.nf,arts.nf,firm.nf,info.nf,other.nf,store.nf,ng,com.ng,edu.ng,gov.ng,i.ng,mil.ng,mobi.ng,name.ng,net.ng,org.ng,sch.ng,ni,ac.ni,biz.ni,co.ni,com.ni,edu.ni,gob.ni,in.ni,info.ni,int.ni,mil.ni,net.ni,nom.ni,org.ni,web.ni,nl,no,fhs.no,vgs.no,fylkesbibl.no,folkebibl.no,museum.no,idrett.no,priv.no,mil.no,stat.no,dep.no,kommune.no,herad.no,np,nr,biz.nr,info.nr,gov.nr,edu.nr,org.nr,net.nr,com.nr,nu,nz,ac.nz,co.nz,cri.nz,geek.nz,gen.nz,govt.nz,health.nz,iwi.nz,kiwi.nz,maori.nz,mil.nz,māori.nz,net.nz,org.nz,parliament.nz,school.nz,om,co.om,com.om,edu.om,gov.om,med.om,museum.om,net.om,org.om,pro.om,onion,org,pa,ac.pa,gob.pa,com.pa,org.pa,sld.pa,edu.pa,net.pa,ing.pa,abo.pa,med.pa,nom.pa,pe,edu.pe,gob.pe,nom.pe,mil.pe,org.pe,com.pe,net.pe,pf,com.pf,org.pf,edu.pf,pg,ph,com.ph,net.ph,org.ph,gov.ph,edu.ph,ngo.ph,mil.ph,i.ph,pk,com.pk,net.pk,edu.pk,org.pk,fam.pk,biz.pk,web.pk,gov.pk,gob.pk,gok.pk,gon.pk,gop.pk,gos.pk,info.pk,pl,com.pl,net.pl,org.pl,aid.pl,agro.pl,atm.pl,auto.pl,biz.pl,edu.pl,gmina.pl,gsm.pl,info.pl,mail.pl,miasta.pl,media.pl,mil.pl,nieruchomosci.pl,nom.pl,pc.pl,powiat.pl,priv.pl,realestate.pl,rel.pl,sex.pl,shop.pl,sklep.pl,sos.pl,szkola.pl,targi.pl,tm.pl,tourism.pl,travel.pl,turystyka.pl,pm,pn,gov.pn,co.pn,org.pn,edu.pn,net.pn,post,pr,com.pr,net.pr,org.pr,gov.pr,edu.pr,isla.pr,pro.pr,biz.pr,info.pr,name.pr,est.pr,prof.pr,ac.pr,pro,aaa.pro,aca.pro,acct.pro,avocat.pro,bar.pro,cpa.pro,eng.pro,jur.pro,law.pro,med.pro,recht.pro,ps,edu.ps,gov.ps,sec.ps,plo.ps,com.ps,org.ps,net.ps,pt,net.pt,gov.pt,org.pt,edu.pt,int.pt,publ.pt,com.pt,nome.pt,pw,co.pw,ne.pw,or.pw,ed.pw,go.pw,belau.pw,py,com.py,coop.py,edu.py,gov.py,mil.py,net.py,org.py,qa,com.qa,edu.qa,gov.qa,mil.qa,name.qa,net.qa,org.qa,sch.qa,re,asso.re,com.re,nom.re,ro,arts.ro,com.ro,firm.ro,info.ro,nom.ro,nt.ro,org.ro,rec.ro,store.ro,tm.ro,www.ro,rs,ac.rs,co.rs,edu.rs,gov.rs,in.rs,org.rs,ru,rw,ac.rw,co.rw,coop.rw,gov.rw,mil.rw,net.rw,org.rw,sa,com.sa,net.sa,org.sa,gov.sa,med.sa,pub.sa,edu.sa,sch.sa,sb,com.sb,edu.sb,gov.sb,net.sb,org.sb,sc,com.sc,gov.sc,net.sc,org.sc,edu.sc,sd,com.sd,net.sd,org.sd,edu.sd,med.sd,tv.sd,gov.sd,info.sd,se,a.se,ac.se,b.se,bd.se,brand.se,c.se,d.se,e.se,f.se,fh.se,fhsk.se,fhv.se,g.se,h.se,i.se,k.se,komforb.se,kommunalforbund.se,komvux.se,l.se,lanbib.se,m.se,n.se,naturbruksgymn.se,o.se,org.se,p.se,parti.se,pp.se,press.se,r.se,s.se,t.se,tm.se,u.se,w.se,x.se,y.se,z.se,sg,com.sg,net.sg,org.sg,gov.sg,edu.sg,per.sg,sh,com.sh,net.sh,gov.sh,org.sh,mil.sh,si,sj,sk,sl,com.sl,net.sl,edu.sl,gov.sl,org.sl,sm,sn,art.sn,com.sn,edu.sn,gouv.sn,org.sn,perso.sn,univ.sn,so,com.so,edu.so,gov.so,me.so,net.so,org.so,sr,ss,biz.ss,com.ss,edu.ss,gov.ss,me.ss,net.ss,org.ss,sch.ss,st,co.st,com.st,consulado.st,edu.st,embaixada.st,mil.st,net.st,org.st,principe.st,saotome.st,store.st,su,sv,com.sv,edu.sv,gob.sv,org.sv,red.sv,sx,gov.sx,sy,edu.sy,gov.sy,net.sy,mil.sy,com.sy,org.sy,sz,co.sz,ac.sz,org.sz,tc,td,tel,tf,tg,th,ac.th,co.th,go.th,in.th,mi.th,net.th,or.th,tj,ac.tj,biz.tj,co.tj,com.tj,edu.tj,go.tj,gov.tj,int.tj,mil.tj,name.tj,net.tj,nic.tj,org.tj,test.tj,web.tj,tk,tl,gov.tl,tm,com.tm,co.tm,org.tm,net.tm,nom.tm,gov.tm,mil.tm,edu.tm,tn,com.tn,ens.tn,fin.tn,gov.tn,ind.tn,info.tn,intl.tn,mincom.tn,nat.tn,net.tn,org.tn,perso.tn,tourism.tn,to,com.to,gov.to,net.to,org.to,edu.to,mil.to,tr,av.tr,bbs.tr,bel.tr,biz.tr,com.tr,dr.tr,edu.tr,gen.tr,gov.tr,info.tr,mil.tr,k12.tr,kep.tr,name.tr,net.tr,org.tr,pol.tr,tel.tr,tsk.tr,tv.tr,web.tr,nc.tr,tt,co.tt,com.tt,org.tt,net.tt,biz.tt,info.tt,pro.tt,int.tt,coop.tt,jobs.tt,mobi.tt,travel.tt,museum.tt,aero.tt,name.tt,gov.tt,edu.tt,tv,tw,edu.tw,gov.tw,mil.tw,com.tw,net.tw,org.tw,idv.tw,game.tw,ebiz.tw,club.tw,tz,ac.tz,co.tz,go.tz,hotel.tz,info.tz,me.tz,mil.tz,mobi.tz,ne.tz,or.tz,sc.tz,tv.tz,ua,com.ua,edu.ua,gov.ua,in.ua,net.ua,org.ua,ug,co.ug,or.ug,ac.ug,sc.ug,go.ug,ne.ug,com.ug,org.ug,uk,ac.uk,co.uk,gov.uk,ltd.uk,me.uk,net.uk,nhs.uk,org.uk,plc.uk,police.uk,us,dni.us,fed.us,isa.us,kids.us,nsn.us,ak.us,al.us,ar.us,as.us,az.us,ca.us,co.us,ct.us,dc.us,de.us,fl.us,ga.us,gu.us,hi.us,ia.us,id.us,il.us,in.us,ks.us,ky.us,la.us,ma.us,md.us,me.us,mi.us,mn.us,mo.us,ms.us,mt.us,nc.us,nd.us,ne.us,nh.us,nj.us,nm.us,nv.us,ny.us,oh.us,ok.us,or.us,pa.us,pr.us,ri.us,sc.us,sd.us,tn.us,tx.us,ut.us,vi.us,vt.us,va.us,wa.us,wi.us,wv.us,wy.us,uy,com.uy,edu.uy,gub.uy,mil.uy,net.uy,org.uy,uz,co.uz,com.uz,net.uz,org.uz,va,vc,com.vc,net.vc,org.vc,gov.vc,mil.vc,edu.vc,ve,arts.ve,bib.ve,co.ve,com.ve,e12.ve,edu.ve,firm.ve,gob.ve,gov.ve,info.ve,int.ve,mil.ve,net.ve,nom.ve,org.ve,rar.ve,rec.ve,store.ve,tec.ve,web.ve,vg,vi,co.vi,com.vi,k12.vi,net.vi,org.vi,vn,ac.vn,ai.vn,biz.vn,com.vn,edu.vn,gov.vn,health.vn,id.vn,info.vn,int.vn,io.vn,name.vn,net.vn,org.vn,pro.vn,vu,com.vu,edu.vu,net.vu,org.vu,wf,ws,com.ws,net.ws,org.ws,gov.ws,edu.ws,yt,ye,com.ye,edu.ye,gov.ye,net.ye,mil.ye,org.ye,ac.za,agric.za,alt.za,co.za,edu.za,gov.za,grondar.za,law.za,mil.za,net.za,ngo.za,nic.za,nis.za,nom.za,org.za,school.za,tm.za,web.za,zm,ac.zm,biz.zm,co.zm,com.zm,edu.zm,gov.zm,info.zm,mil.zm,net.zm,org.zm,sch.zm,zw,ac.zw,co.zw,gov.zw,mil.zw,org.zw".split(","),gu={};pu.forEach((e=>{gu[e]=!0}));const mu=gu;function vu(e){const[t]=e.split(":"),r=t.split(".");if("localhost"===r[r.length-1]||r.length<2)return r[r.length-1];{const e=r[r.length-2]+"."+r[r.length-1];return r.length>2&&mu[e]?r[r.length-3]+"."+e:e}}class yu{constructor(e){this.selfOptions=e||{},this.pipes={}}options(e){return e&&(this.selfOptions=e),this.selfOptions}pipe(e,t){let r=t;if("string"==typeof e){if(void 0===r)return this.pipes[e];this.pipes[e]=r}if(e&&e.name){if(r=e,r.processor===this)return r;this.pipes[r.name]=r}return r.processor=this,r}process(e,t){let r=e;r.options=this.options();let n,i=t||e.pipe||"default";for(;i;)void 0!==r.nextAfterChildren&&(r.next=r.nextAfterChildren,r.nextAfterChildren=null),"string"==typeof i&&(i=this.pipe(i)),i.process(r),n=i,i=null,r&&r.next&&(r=r.next,i=r.pipe||n);return r.hasResult?r.result:void 0}}class bu{constructor(e){this.name=e,this.filters=[]}process(e){if(!this.processor)throw new Error("add this pipe to a processor before using it");const t=this.debug,r=this.filters.length,n=e;for(let e=0;e<r;e++){const r=this.filters[e];if(t&&this.log(`filter: ${r.filterName}`),r(n),"object"==typeof n&&n.exiting){n.exiting=!1;break}}!n.next&&this.resultCheck&&this.resultCheck(n)}log(e){console.log(`[jsondiffpatch] ${this.name} pipe, ${e}`)}append(...e){return this.filters.push(...e),this}prepend(...e){return this.filters.unshift(...e),this}indexOf(e){if(!e)throw new Error("a filter name is required");for(let t=0;t<this.filters.length;t++){if(this.filters[t].filterName===e)return t}throw new Error(`filter not found: ${e}`)}list(){return this.filters.map((e=>e.filterName))}after(e,...t){const r=this.indexOf(e);return this.filters.splice(r+1,0,...t),this}before(e,...t){const r=this.indexOf(e);return this.filters.splice(r,0,...t),this}replace(e,...t){const r=this.indexOf(e);return this.filters.splice(r,1,...t),this}remove(e){const t=this.indexOf(e);return this.filters.splice(t,1),this}clear(){return this.filters.length=0,this}shouldHaveResult(e){if(!1!==e){if(!this.resultCheck)return this.resultCheck=e=>{if(!e.hasResult){console.log(e);const t=new Error(`${this.name} failed`);throw t.noResult=!0,t}},this}else this.resultCheck=null}}class wu{setResult(e){return this.result=e,this.hasResult=!0,this}exit(){return this.exiting=!0,this}push(e,t){return e.parent=this,void 0!==t&&(e.childName=t),e.root=this.root||this,e.options=e.options||this.options,this.children?(this.children[this.children.length-1].next=e,this.children.push(e)):(this.children=[e],this.nextAfterChildren=this.next||null,this.next=e),e.next=this,this}}class _u extends wu{constructor(e,t){super(),this.left=e,this.right=t,this.pipe="diff"}setResult(e){return super.setResult(e)}}class Su extends wu{constructor(e,t){super(),this.left=e,this.delta=t,this.pipe="patch"}}const Eu=function(e){if(e.left!==e.right)if(void 0!==e.left)if(void 0!==e.right){if("function"==typeof e.left||"function"==typeof e.right)throw new Error("functions are not supported");if(e.leftType=null===e.left?"null":typeof e.left,e.rightType=null===e.right?"null":typeof e.right,e.leftType===e.rightType)if("boolean"!==e.leftType&&"number"!==e.leftType&&"string"!==e.leftType){if("object"===e.leftType&&(e.leftIsArray=Array.isArray(e.left)),"object"===e.rightType&&(e.rightIsArray=Array.isArray(e.right)),e.leftIsArray===e.rightIsArray)return e.leftIsArray&&e.rightIsArray?function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}(e.left,e.right)?void e.setResult(void 0).exit():void e.setResult([e.left,e.right]).exit():void(e.left instanceof RegExp&&(e.right instanceof RegExp?e.setResult([e.left.toString(),e.right.toString()]).exit():e.setResult([e.left,e.right]).exit()));e.setResult([e.left,e.right]).exit()}else e.setResult([e.left,e.right]).exit();else e.setResult([e.left,e.right]).exit()}else e.setResult([e.left,0,0]).exit();else{if("function"==typeof e.right)throw new Error("functions are not supported");e.setResult([e.right]).exit()}else e.setResult(void 0).exit()};Eu.filterName="trivial";const ku=function(e){if(void 0===e.delta)return void e.setResult(e.left).exit();if(e.nested=!Array.isArray(e.delta),e.nested)return;const t=e.delta;if(1!==t.length)if(2!==t.length)3===t.length&&0===t[2]&&e.setResult(void 0).exit();else{if(e.left instanceof RegExp){const r=/^\/(.*)\/([gimyu]+)$/.exec(t[1]);if(r)return void e.setResult(new RegExp(r[1],r[2])).exit()}e.setResult(t[1]).exit()}else e.setResult(t[0]).exit()};ku.filterName="trivial";const xu=e=>{if(!e||!e.children)return;const t=e.children.length;let r,n=e.result;for(let i=0;i<t;i++)r=e.children[i],void 0!==r.result&&(n=n||{},n[r.childName]=r.result);n&&e.leftIsArray&&(n._t="a"),e.setResult(n).exit()};xu.filterName="collectChildren";const Pu=e=>{if(e.leftIsArray||"object"!==e.leftType)return;const t=e.left,r=e.right;let n,i;const o=e.options.propertyFilter;for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(o&&!o(n,e)||(i=new _u(t[n],r[n]),e.push(i,n)));for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(o&&!o(n,e)||void 0===t[n]&&(i=new _u(void 0,r[n]),e.push(i,n)));e.children&&0!==e.children.length?e.exit():e.setResult(void 0).exit()};Pu.filterName="objects";const Au=function(e){if(!e.nested)return;const t=e.delta;if(t._t)return;const r=t;let n,i;for(n in r)i=new Su(e.left[n],r[n]),e.push(i,n);e.exit()};Au.filterName="objects";const Iu=function(e){if(!e||!e.children)return;if(e.delta._t)return;const t=e.left,r=e.children.length;let n;for(let i=0;i<r;i++){n=e.children[i];const r=n.childName;Object.prototype.hasOwnProperty.call(e.left,r)&&void 0===n.result?delete t[r]:t[r]!==n.result&&(t[r]=n.result)}e.setResult(t).exit()};Iu.filterName="collectChildren";const ju=function(e){e.left instanceof Date?(e.right instanceof Date?e.left.getTime()!==e.right.getTime()?e.setResult([e.left,e.right]):e.setResult(void 0):e.setResult([e.left,e.right]),e.exit()):e.right instanceof Date&&e.setResult([e.left,e.right]).exit()};ju.filterName="dates";class Ou{constructor(e){this.processor=new yu(e),this.processor.pipe(new bu("diff").append(xu,Eu,ju,Pu).shouldHaveResult()),this.processor.pipe(new bu("patch").append(Iu,ku,Au).shouldHaveResult())}options(e){return this.processor.options(e)}diff(e,t){return this.processor.process(new _u(e,t))}patch(e,t){return this.processor.process(new Su(e,t))}}var Tu=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Cu=new Ou(Fu);var Fu;const Ru={writeKey:null,host:null,debug:!1,fetch:null,echoEvents:!1,cookieDomain:void 0,cookieCapture:{},runtime:void 0,fetchTimeoutMs:void 0,s2s:void 0,idEndpoint:void 0,errorPolicy:"log",defaultPayloadContext:{},privacy:{dontSend:!1,disableUserIds:!1,ipPolicy:"keep",consentCategories:void 0}},Lu=(e,t)=>{for(const r of Object.keys(Ru)){const n=t[r];"privacy"===r?"object"==typeof n?e.privacy=Object.assign(Object.assign(Object.assign({},Ru.privacy),e.privacy),n):t.hasOwnProperty("privacy")&&void 0===n&&(e.privacy=Object.assign({},Ru.privacy)):void 0===n?!t.hasOwnProperty(r)&&e.hasOwnProperty(r)||(e[r]=Ru[r]):e[r]=n}},Nu=e=>{if(!e)return{};let t=e.length>0&&"?"===e.charAt(0)?e.substring(1):e,r={},n=("?"===t[0]?t.substr(1):t).split("&");for(let e=0;e<n.length;e++){let t=n[e].split("=");r[decodeURIComponent(t[0])]=decodeURIComponent(t[1]||"")}return r};function Uu(e){const t=e.substring(4);return"campaign"===t?"name":t}function zu(e){return Object.entries(e).filter((([e])=>0===e.indexOf("utm_"))).reduce(((e,[t,r])=>Object.assign(Object.assign({},e),{[Uu(t)]:r})),{})}function qu(e,t){try{return e()}catch(e){return t}}function Du(e){let t=e.getItem("__user_traits");"string"==typeof t&&(t=qu((()=>JSON.parse(t)),{})),("object"!=typeof t||null===t||Array.isArray(t))&&(t={});let r=e.getItem("__group_traits");return"string"==typeof r&&(r=qu((()=>JSON.parse(r)),{})),("object"!=typeof r||null===r||Array.isArray(r))&&(r={}),Object.assign(Object.assign({},r||{}),t||{})}function $u(e){const t=`; ${document.cookie}`.split(`; ${e}=`);return 2===t.length?t.pop().split(";").shift():void 0}function Mu(e,t){const r=Object.assign({fbc:"_fbc",fbp:"_fbp"},t),n=Object.entries(r).reduce(((t,[r,n])=>(t[r]=e.getCookie(n),t)),{});return Object.assign(Object.assign({},n),function(e){var t;const r=e.getCookies(),n=null===(t=r._ga)||void 0===t?void 0:t.split(".").slice(-2).join("."),i=Object.entries(r).filter((([e])=>e.startsWith("_ga_"))),o=i.length>0?Object.fromEntries(i.map((([e,t])=>{if("string"!=typeof t)return null;const r=t.split(".");return r.length<3?null:[e.substring(4),r[2]]})).filter((e=>null!==e))):void 0;return n||o?{ga4:{clientId:n,sessionIds:o}}:void 0}(e))}function Bu(e,{domain:t,secure:r}){document.cookie=e+"=;domain="+t+";path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;SameSite="+(r?"None":"Lax")+(r?";secure":"")}const Hu={__anon_id:"__eventn_id",__user_traits:"__eventn_id_usr",__user_id:"__eventn_uid",__group_id:"__group_id",__group_traits:"__group_traits"},Gu=(e,t)=>({setItem(r,n){if(void 0===n)return void Bu(t[r]||r,{domain:e,secure:"https:"===window.location.protocol});const i="object"==typeof n&&null!==n?encodeURIComponent(JSON.stringify(n)):n;!function(e,t,{domain:r,secure:n}){document.cookie=e+"="+t+";domain="+r+";path=/;expires="+new Date((new Date).getTime()+15768e7).toUTCString()+";SameSite="+(n?"None":"Lax")+(n?";secure":"")}(t[r]||r,i,{domain:e,secure:"https:"===window.location.protocol})},getItem(e){const r=$u(t[e]||e);if("__anon_id"===e)return r;if(void 0===r&&"__user_id"===e){const e=ud($u("__eventn_id_usr"))||{};return e.internal_id||e.user_id||e.id||e.userId}return ud(r)},removeItem(r){Bu(t[r]||r,{domain:e,secure:"https:"===window.location.protocol})},reset(){for(const r of Object.values(t))Bu(r,{domain:e,secure:"https:"===window.location.protocol})}});function Ju(e){return{getCookie(e){const t=`; ${document.cookie}`.split(`; ${e}=`);return 2===t.length?t.pop().split(";").shift():void 0},getCookies(){const e={},t=`; ${document.cookie}`.matchAll(/(\w+)=([^;]+)/g);for(const r of t)e[r[1]]=r[2];return e},documentEncoding:()=>window.document.characterSet,timezoneOffset:()=>(new Date).getTimezoneOffset(),store:()=>Gu(e.cookieDomain||vu(window.location.hostname),Hu),language:()=>window.navigator.language,pageTitle:()=>window.document.title,pageUrl:()=>window.location.href,referrer:()=>window.document.referrer,screen:()=>({width:window.screen.width,height:window.screen.height,innerWidth:window.innerWidth,innerHeight:window.innerHeight,density:Math.floor(window.devicePixelRatio)}),userAgent:()=>window.navigator.userAgent}}const Vu=e=>({documentEncoding(){},timezoneOffset(){},getCookie(e){},getCookies:()=>({}),store(){const t={};return{reset(){Object.keys(t).forEach((e=>delete t[e]))},setItem(r,n){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Set storage item ${r}=${JSON.stringify(n)}`),void 0===n?delete t[r]:t[r]=n},getItem(r){const n=t[r];return e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${r}=${JSON.stringify(n)}`),n},removeItem(r){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${r}=${t[r]}`),delete t[r]}}},language(){},pageTitle(){},pageUrl(){},referrer(){},screen(){},userAgent(){}});function Wu(e,t){return"object"!=typeof t||null===t||"object"!=typeof e||null===e?t:Object.entries(t).reduce(((t,[r,n])=>(t[r]=Wu(e[r],n),t)),e)}function Yu(){return"undefined"!=typeof document&&"undefined"!=typeof window}const Qu=/#.*$/;function Ku(e,t,r,n){var i,o,a,s,l,c;const u=t.runtime||(Yu()?Ju(t):Vu(t)),d=u.pageUrl(),h=qu((()=>new URL(d)),void 0),f=h?Nu(h.search):{},p=e.properties||{};if("page"===e.type&&(p.url||d)){const e=p.url||d;p.url=e.replace(Qu,""),p.path=(g=function(e){const t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(Qu,""):"")}(e),0===g.indexOf("//")&&1===g.lastIndexOf("/")?"/":g)}var g;const m=Wu(t.defaultPayloadContext,(null===(i=e.properties)||void 0===i?void 0:i.context)||(null===(o=e.options)||void 0===o?void 0:o.context)||{});null===(a=e.properties)||void 0===a||delete a.context;const v=u.referrer(),y={library:{name:fu,version:hu,env:Yu()?"browser":"node"},consent:(null===(s=t.privacy)||void 0===s?void 0:s.consentCategories)?{categoryPreferences:t.privacy.consentCategories}:void 0,userAgent:u.userAgent(),locale:u.language(),screen:u.screen(),traits:"identify"!=e.type&&"group"!=e.type?Object.assign({},Du(r)||{}):void 0,page:{path:p.path||h&&h.pathname,referrer:v,referring_domain:qu((()=>v&&new URL(v).hostname)),host:h&&h.host,search:p.search||h&&h.search,title:p.title||u.pageTitle(),url:p.url||d,encoding:p.encoding||u.documentEncoding()},clientIds:(null===(l=t.privacy)||void 0===l?void 0:l.disableUserIds)?void 0:Mu(u,t.cookieCapture),campaign:zu(f)},b=Object.assign(Object.assign({},e),{timestamp:(new Date).toISOString(),sentAt:(new Date).toISOString(),messageId:ad(p.path||h&&h.pathname),writeKey:Zu(t.writeKey),groupId:r.getItem("__group_id"),context:Wu(y,m)});return delete b.meta,delete b.options,(null===(c=t.privacy)||void 0===c?void 0:c.disableUserIds)&&(delete b.userId,delete b.anonymousId,delete b.context.traits,delete b.groupId),b}function Xu(e){const t=Object.keys(e);return 1===t.length&&"__diff"===t[0]}function Zu(e){if(e){const[t,r]=e.split(":",2);return r?`${t}:***`:"***"}return e}function ed(e){const t=e.errorPolicy||"log";return"function"==typeof t?t:"rethrow"===t?(e,...t)=>{throw new Error(e)}:(e,...t)=>{console.error(e,...t)}}function td(e,t,r,n,i){return Tu(this,void 0,void 0,(function*(){var o,a;if(r.echoEvents)return void console.log(`[JITSU DEBUG] sending '${e}' event:`,t);const s=!!r.s2s?`${r.host}/api/s/s2s/${e}`:`${r.host}/api/s/${e}`,l=r.fetch||globalThis.fetch;if(!l)throw new Error("Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope");const c=r.debug?{"X-Enable-Debug":"true"}:{},u=Ku(t,r,i),d=r.fetchTimeoutMs?new AbortController:void 0,h=r.fetchTimeoutMs?setTimeout((()=>{d.abort()}),r.fetchTimeoutMs):void 0,f=r.writeKey?{"X-Write-Key":r.writeKey}:{},p=void 0===(null===(o=r.privacy)||void 0===o?void 0:o.ipPolicy)||"keep"===(null===(a=r.privacy)||void 0===a?void 0:a.ipPolicy)?{}:{"X-IP-Policy":r.privacy.ipPolicy};let g,m,v;try{g=yield l(s,{method:"POST",headers:Object.assign(Object.assign(Object.assign({"Content-Type":"application/json"},f),c),p),body:JSON.stringify(u),signal:null==d?void 0:d.signal}),h&&clearTimeout(h)}catch(e){return ed(r)(`Call to ${s} failed with error ${e.message}`),Promise.resolve()}try{m=yield g.text()}catch(e){console.warn(`Can't read response text from ${s} (status - ${g.status} ${g.statusText}): ${null==e?void 0:e.message}`)}if(r.debug&&console.log(`[JITSU DEBUG] ${s} replied ${g.status}: ${m}. Original payload:\n${JSON.stringify(u,null,2)}`),!g.ok)return ed(r)(`Call to ${s} failed with error: ${g.status} - ${g.statusText}: ${m}`),Promise.resolve();try{v=JSON.parse(m)}catch(e){return ed(r)(`Can't parse JSON: ${m}: ${null==e?void 0:e.message}`),Promise.resolve()}if(v.destinations&&v.destinations.length>0)if(r.s2s)console.warn(`[JITSU] ${t.type} responded with list of ${v.destinations.length} destinations. However, this code is running in server-to-server mode, so destinations will be ignored`,r.debug?JSON.stringify(v.destinations,null,2):void 0);else if(Yu())return r.debug&&console.log("[JITSU] Processing device destinations: ",JSON.stringify(v.destinations,null,2)),function(e,t,r,n,i){return Tu(this,void 0,void 0,(function*(){const o=[];for(const a of e){let e=[r];if(a.newEvents)try{e=a.newEvents.map((e=>"same"===e?r:Xu(e)?Cu.patch(r,e.__diff):e))}catch(e){console.error(`[JITSU] Error applying '${a.id}' changes to event: ${null==e?void 0:e.message}`,e)}const s=Object.assign(Object.assign({},a.credentials),a.options);if("internal-plugin"===a.deviceOptions.type){const t=du[a.deviceOptions.name];if(t)for(const r of e)try{o.push(t.handle(Object.assign(Object.assign({},s),{debug:n}),r))}catch(e){console.warn(`[JITSU] Error processing event with internal plugin '${a.deviceOptions.name}': ${null==e?void 0:e.message}`,e)}else console.warn(`[JITSU] Unknown internal plugin '${a.deviceOptions.name}' for destination '${a.id}'`)}else if("analytics-plugin"===a.deviceOptions.type){yield Bc(a.deviceOptions.packageCdn);const r=window[a.deviceOptions.moduleVarName];if(r){let o;try{o=("function"==typeof r?r:r.init)(s)}catch(e){console.warn(`[JITSU] Error creating plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}`,e)}try{n&&console.log(`[JITSU] Plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}' initialized with config:`,o.config),o.initialize({config:o.config,instance:i})}catch(e){console.warn(`[JITSU] Error initializing plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}. Config: ${JSON.stringify(o.config)}`,e);continue}if(o[t])for(const r of e)try{o[t]({payload:r,config:o.config,instance:i})}catch(e){console.warn(`[JITSU] Error processing ${t}() with plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}`,e)}}else console.warn(`[JITSU] Broken plugin '${a.deviceOptions.packageCdn}' for destination '${a.id}' - it doesn't export '${a.deviceOptions.moduleVarName}' variable`)}}}))}(v.destinations,e,u,!!r.debug,n);return u}))}const rd=["$doNotSend"];function nd(e){const t=Object.assign({},e);for(const e of rd)delete t[e];return t}const id=(e={},t)=>(Lu(e,e),{name:"jitsu",config:e,initialize:e=>Tu(void 0,void 0,void 0,(function*(){const{config:t}=e;if(t.debug&&console.debug("[JITSU DEBUG] Initializing Jitsu plugin with config: ",JSON.stringify(t,null,2)),!t.host&&!t.echoEvents)throw new Error("Please specify host variable in jitsu plugin initialization, or set echoEvents to true");if(function(e){if(e){const[,r]=e.split(":",2);if(!r&&(25!==(t=e).length||"c"!==t.charAt(0)))throw new Error(`Legacy write key detected - ${e}! This format doesn't work anymore, it should be 'key:secret'. Please download a new key from Jitsu UI`)}var t}(t.writeKey),t.idEndpoint){if(!Yu())return void console.error("[JITSU] 'idEndpoint' option can be used only in browser environment");try{const e=t.fetch||globalThis.fetch,r=new AbortController;setTimeout((()=>r.abort()),1e3);const n=t.cookieDomain||vu(window.location.hostname),i=yield e(t.idEndpoint+"?domain="+encodeURIComponent(n),{credentials:"include",signal:r.signal});i.ok?t.debug&&console.log(`[JITSU DEBUG] Fetch idEndpoint: ${i.status}`):console.error(`[JITSU] Can't fetch idEndpoint: ${i.status} - ${i.statusText}`)}catch(e){console.error(`[JITSU] Can't fetch idEndpoint: ${e.message}`)}}})),page:e=>{var r;const{payload:n,config:i,instance:o}=e;if(!(null===(r=i.privacy)||void 0===r?void 0:r.dontSend))return td("page",n,i,o,t)},track:e=>{var r;const{payload:n,config:i,instance:o}=e;if(!(null===(r=i.privacy)||void 0===r?void 0:r.dontSend))return td("track",n,i,o,t)},identify:e=>{var r,n,i;const{payload:o,config:a,instance:s}=e;if((null===(r=a.privacy)||void 0===r?void 0:r.dontSend)||(null===(n=a.privacy)||void 0===n?void 0:n.disableUserIds))return;t.setItem("__user_id",o.userId);const l=null===(i=o.traits)||void 0===i?void 0:i.$doNotSend;return o.traits&&"object"==typeof o.traits&&(o.traits=nd(o.traits),t.setItem("__user_traits",o.traits)),l?Promise.resolve():td("identify",o,a,s,t)},reset:e=>{const{config:r,instance:n}=e;t.reset(),r.debug&&console.log("[JITSU DEBUG] Resetting Jitsu plugin storage")},methods:{configure(r){var n,i,o,a;const s=(null===(n=e.privacy)||void 0===n?void 0:n.disableUserIds)||(null===(i=e.privacy)||void 0===i?void 0:i.dontSend);Lu(e,r);if(!((null===(o=e.privacy)||void 0===o?void 0:o.disableUserIds)||(null===(a=e.privacy)||void 0===a?void 0:a.dontSend))&&s){e.debug&&console.log("[JITSU] Enabling Anonymous ID. Generating new Id.");const r=this.instance,n=sd(),i=r.user();i&&(i.anonymousId=n),t.setItem("__anon_id",n),r.setAnonymousId(n)}},group(r,n,i,o){var a,s;if((null===(a=e.privacy)||void 0===a?void 0:a.dontSend)||(null===(s=e.privacy)||void 0===s?void 0:s.disableUserIds))return;"number"==typeof r&&(r+="");const l=this.instance,c=l.user(),u=(null==i?void 0:i.userId)||(null==c?void 0:c.userId),d=(null==i?void 0:i.anonymousId)||(null==c?void 0:c.anonymousId)||t.getItem("__anon_id");t.setItem("__group_id",r);const h=null==n?void 0:n.$doNotSend;return n&&"object"==typeof n&&(n=nd(n),t.setItem("__group_traits",n)),h?Promise.resolve():td("group",Object.assign(Object.assign({type:"group",groupId:r,traits:n},d?{anonymousId:d}:{}),u?{userId:u}:{}),e,l,t)}}});function od(){var e;const t=Date.now()%2147483647;return Yu()&&(null===(e=null===window||void 0===window?void 0:window.performance)||void 0===e?void 0:e.now())||t}function ad(e=""){const t=Date.now();return(Math.random()*t*ld(null!=e?e:"",od())%Number.MAX_SAFE_INTEGER).toString(36)+(Math.random()*t*ld(null!=e?e:"",od())%Number.MAX_SAFE_INTEGER).toString(36)}function sd(){for(var e="",t=0,r=4294967295*Math.random()|0;t++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],i=15&r;e+="-"==n||"4"==n?n:("x"==n?i:3&i|8).toString(16),r=t%8==0?4294967295*Math.random()|0:r>>4}return e}function ld(e,t=0){let r=3735928559^t,n=1103547991^t;for(let t,i=0;i<e.length;i++)t=e.charCodeAt(i),r=Math.imul(r^t,2654435761),n=Math.imul(n^t,1597334677);return r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),4294967296*(2097151&n)+(r>>>0)}var cd=function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};function ud(e){let t=e;0===(null==e?void 0:e.indexOf("%7B%22"))&&(t=decodeURIComponent(e));try{if(t=JSON.parse(t),"true"===t)return!0;if("false"===t)return!1;if("object"==typeof t)return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}function dd(e,t,r=[]){var n,i;const o={},a=t=>({setItem(r,n){var i,a;(null===(i=e.privacy)||void 0===i?void 0:i.dontSend)||(null===(a=e.privacy)||void 0===a?void 0:a.disableUserIds)||(e.debug&&console.log(`[JITSU DEBUG] Caching storage setItem: ${r}=${n}`),o[r]=n,t.setItem(r,n))},getItem(r){var n,i;if((null===(n=e.privacy)||void 0===n?void 0:n.dontSend)||(null===(i=e.privacy)||void 0===i?void 0:i.disableUserIds))return;const a=o[r]||t.getItem(r);return e.debug&&console.log(`[JITSU DEBUG] Caching storage getItem: ${r}=${a}. Evicted from cache: ${!o[r]}`),a},reset(){for(const e of[...Object.keys(o)])delete o[e];t.reset()},removeItem(r){e.debug&&console.log(`[JITSU DEBUG] Caching storage removeItem: ${r}`),delete o[r],t.removeItem(r)}}),s=a(t.store()),l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return fc(Mc(Mc({},{storage:qc}),e))}({debug:!!e.debug,storage:s,plugins:[id(e,s),...r]}),c=Object.assign(Object.assign({},l),{page:(...e)=>2===e.length&&"string"==typeof e[0]&&"object"==typeof e[1]?l.page(Object.assign({name:e[0]},e[1])):l.page(...e),identify:(...e)=>{e[0]&&"object"!=typeof e[0]&&"string"!=typeof e[0]&&(e[0]=e[0]+"");const t=l.storage,r=a(t);return"string"==typeof e[0]?r.setItem("__user_id",e[0]):"object"==typeof e[0]&&r.setItem("__user_traits",e[0]),2===e.length&&"object"==typeof e[1]&&r.setItem("__user_traits",e[1]),l.identify(...e)},setAnonymousId:t=>{e.debug&&console.log("[JITSU DEBUG] Setting anonymous id to "+t),s.setItem("__anon_id",t);const r=l.user();r&&(r.anonymousId=t),l.setAnonymousId(t)},reset(){return cd(this,void 0,void 0,(function*(){e.debug&&console.log("[JITSU DEBUG] Called reset(). Storage state",JSON.stringify(l.user())),s.reset(),yield l.reset(),this.setAnonymousId(sd()),e.debug&&console.log("[JITSU DEBUG] User state after reset",JSON.stringify(l.user()))}))},configure(t){return cd(this,void 0,void 0,(function*(){var r,n;e.debug&&console.log("[JITSU DEBUG] Update Jitsu config with",JSON.stringify(t)),((null===(r=t.privacy)||void 0===r?void 0:r.disableUserIds)||(null===(n=t.privacy)||void 0===n?void 0:n.dontSend))&&s.reset();for(const e of Object.values(l.plugins))"function"==typeof e.configure&&e.configure(t)}))},group(e,t,r,n){return cd(this,void 0,void 0,(function*(){const i=[];for(const o of Object.values(l.plugins))o.group&&i.push(yield o.group(e,t,r,n));return i[0]}))}});return((null===(n=e.privacy)||void 0===n?void 0:n.disableUserIds)||(null===(i=e.privacy)||void 0===i?void 0:i.dontSend))&&s.reset(),c}function hd(e){const t=function(e){var t,r;return Object.assign(Object.assign({},e),{host:0!==(null!==(t=e.host)&&void 0!==t?t:"").indexOf("https://")&&0!==(null!==(r=e.host)&&void 0!==r?r:"").indexOf("http://")?`https://${e.host}`:e.host})}(e),r=Yu();return dd(t,t.runtime||(r?Ju(t):Vu(t)))}class fd{constructor(e){this.item=e[0]}toSegment(){return{event:"Product Added",properties:{cart_id:this.item.cart_id,product_id:this.item.id,category:this.item.category,name:this.item.name,brand:this.item.brand,variant:this.item.variant,price:this.item.price,quantity:this.item.quantity,sku:this.item.sku,coupon:this.item.coupon,position:this.item.position,url:this.item.url,image_url:this.item.image_url}}}static shouldSend(){return"customer.wishlist"!==salla.config.get("page.slug")}}class pd{constructor(e){this.product=e[0]}toSegment(){return{event:"Product Viewed",properties:{product_id:this.product.id,category:this.product.category,name:this.product.name,brand:this.product.brand,variant:this.product.variant,price:this.product.price,quantity:this.product.quantity,currency:this.product.currency,coupon:this.product.coupon,position:this.product.position,value:this.product.value,sku:this.product.sku,url:this.product.url,image_url:this.product.image_url}}}}class gd{constructor(e){this.cart=e[0]}toSegment(){return{event:"Cart Viewed",properties:{cart_id:this.cart.cart_id?.toString(),products:this.cart.products.map((e=>({product_id:e.id?.toString(),name:e.name,price:e.price,category:e.category,sku:e.sku,position:e.position,url:e.url,image_url:e.image_url})))}}}}class md{constructor(e){const t=e?.nextPage;if(this.listId=null,"index"===salla.config.get("page.slug"))this.listId="home_page";else if(t){const e=new URL(t),r=e.searchParams.get("source"),n=e.searchParams.getAll("source_value[]");this.listId=`${r}_${n.join("_")}`}this.products=e?.data}toSegment(){return{event:"Product List Viewed",properties:{list_id:this.listId,category:salla.config.get("page.title"),products:this.products.map((e=>({product_id:e.id,category:e.category?.name,name:e.name,brand:e.brand?.name,variant:e.variant,price:e.price,quantity:Number(e.quantity),sku:e.sku,position:0,url:e.url,image_url:e.image?.url})))}}}static shouldSend(){return!["index","customer.wishlist"].includes(salla.config.get("page.slug"))}}class vd{constructor(e){this.query=e}toSegment(){return{event:"Products Searched",properties:{query:this.query}}}}class yd{constructor(e){}toSegment(){return{event:"Signed Up",properties:{}}}}class bd{constructor(e){}toSegment(){return{event:"Signed In",properties:{context:{traits:salla.config.get("user")}}}}static shouldSend(){return"guest"!==salla.config.get("user.type")}}class wd{constructor(e){}toSegment(){return{event:"Signed Out",properties:{}}}}class _d{constructor(e){this.item=e[0]}toSegment(){return{event:"Product Removed",properties:{cart_id:this.item?.cart_id,product_id:this.item?.product_id,category:this.item?.category,name:this.item?.name,brand:this.item?.brand,variant:this.item?.variant,price:this.item?.price,quantity:this.item?.quantity,sku:this.item?.sku,coupon:this.item?.coupon,position:this.item?.position,url:this.item?.url,image_url:this.item?.image_url}}}}class Sd{constructor(e){this.product=e.product}toSegment(){return{event:"Product Added to Wishlist",properties:{wishlist_id:salla.config.get("store.id")+"_"+salla.config.get("user.id"),wishlist_name:salla.config.get("store.name"),product_id:this.product.id,name:this.product.name,brand:this.product.brand,variant:this.product.variant,price:this.product.price,quantity:Math.max(1,Number(this.product.quantity)),sku:this.product.sku,coupon:this.product.coupon,position:Number(this.product.position),url:this.product.url,image_url:this.product?.image?.url}}}}class Ed{constructor(e){this.product=e.product}toSegment(){return{event:"Product Removed from Wishlist",properties:{wishlist_id:salla.config.get("store.id")+"_"+salla.config.get("user.id"),wishlist_name:salla.config.get("store.name"),product_id:this.product.id,name:this.product.name,brand:this.product.brand,variant:this.product.variant,price:this.product.price,quantity:Math.max(1,Number(this.product.quantity)),sku:this.product.sku,coupon:this.product.coupon,position:Number(this.product.position),url:this.product.url,image_url:this.product?.image?.url}}}}class kd{constructor(e){this.details=e[0]}toSegment(){return{event:"Order Completed",properties:this.details}}}class xd{constructor(e){this.item=e[0]}toSegment(){return{event:"Wishlist Product Added to Cart",properties:{wishlist_id:salla.config.get("store.id")+"_"+salla.config.get("user.id"),wishlist_name:salla.config.get("store.name"),cart_id:this.item.cart_id,product_id:this.item.id,category:this.item.category,name:this.item.name,brand:this.item.brand,variant:this.item.variant,price:this.item.price,quantity:this.item.quantity,sku:this.item.sku,coupon:this.item.coupon,position:this.item.position,url:this.item.url,image_url:this.item.image_url}}}static shouldSend(){return"customer.wishlist"===salla.config.get("page.slug")}}class Pd{constructor(e){this.data=e}toSegment(){return{event:"Product Shared",properties:{product_id:this.data.product?.id||salla.config.get("page.id"),sku:this.data.product?.sku,category:this.data.product?.category?.name,name:this.data.product?.name,brand:this.data.product?.brand,variant:this.data.product?.variant,price:this.data.product?.price,url:this.data.product?.url,image_url:this.data.product?.image_url,share_via:this.data.share_via,recipient:this.data.recipient}}}static shouldSend(){return"product.single"===salla.config.get("page.slug")}}class Ad{constructor(e){this.details=e}toSegment(){return{event:"Product Reviewed",properties:{product_id:this.details.product_id,review_id:this.details.order_id,review_body:this.details.comment,rating:this.details.rating}}}static registerEvents(){salla.event.rating.onProductsRated((function(e,t){const{products:r,order_id:n}=t;Object.values(r).forEach((e=>{Salla.event.emit("Product Reviewed",{product_id:e.product_id,review_id:n,review_body:e.comment,rating:e.rating})}))}))}}class Id{static events={"Order Completed":[kd],"Product Added":[fd,xd],"Product Removed":[_d],"Product Viewed":[pd],"Product Added to Wishlist":[Sd],"Product Removed from Wishlist":[Ed],"Cart Viewed":[gd],"Products Searched":[vd],"Product List Viewed":[md],"Signed Up":[yd],"Signed In":[bd],"Signed Out":[wd],"Product Reviewed":[Ad],"Product Shared":[Pd]};static registerEvents(){Ad.registerEvents()}static transform(e,t){try{const r=this.events[e]||[];for(const e of r){if(!e||"function"==typeof e.shouldSend&&!e.shouldSend())continue;const r=new e(t).toSegment();return{event:r.event,properties:r.properties}}return null}catch(e){return console.error("Failed to transform event:",e),null}}}return cn.onReady=cn.onReady||function(e){return new Promise((function(t){return"ready"===salla.status?t(e?e(salla.config.all()):salla.config.all()):cn.onInitiated((r=>t(e?e(r):r)))}))},cn.status="loading",cn.notify=fn,cn.lang=new class extends Dn{constructor(e){(e=e||{}).messages=e.messages||window.translations,e.locale=e.locale||(window.locale||navigator.language||navigator.userLanguage||"ar").split("-")[0],e.fallback=e.fallback||e.locale,super(e),this.translationsLoaded=!1}onLoaded(e){return new Promise((t=>{if(this.translationsLoaded)return t(e?e():null);Salla.event.once("languages::translations.loaded",(()=>t(e?e():null)))}))}loadStoreTranslations(){if(this.hash=salla.config.get("theme.translations_hash",salla.config.get("store.id","twilight")),this.message||(salla.log("try to load translations from localstorage"),this.messages=salla.storage.get(`s_translations.${this.hash}`),this.messages&&(this.translationsLoaded=!0)&&super.setMessages(this.messages)),this.messages)return salla.event.dispatch("languages::translations.loaded"),void salla.logger.info("The messages of transactions is already loaded");salla.url.get("")?this.loadScript(salla.url.get(`languages/assets/${this.hash}.js`)):this.loadScript("https://cdn.salla.network/js/translations.js",!1)}setMessages(e){super.setMessages(e),salla.event.dispatch("languages::translations.loaded"),this.translationsLoaded=!0}loadScript(e,t=!0){let r=document.createElement("script");r.src=e,r.onload=()=>{if(window.translations)return salla.storage.remove("s_translations"),salla.storage.set("s_translations",{[this.hash]:window.translations}),this.setMessages(window.translations);r.onerror()},r.onerror=()=>{if(t)return salla.logger.warn("Failed to load Translations for store, lets try load it from CDN"),this.loadScript("https://cdn.salla.network/js/translations.js",!1);salla.logger.error("Failed to load Translations, check your network logs for more details\nor: salla.lang.setMessages({....}), see https://docs.salla.dev for more information's.")},document.head.appendChild(r)}getWithDefault(e,t,r,n){let i=this.get(e,r,n);return i!==e?i:t}get(e,t,r){let n=e;(window.translations||this.translationsLoaded)&&(n="trans."+e);let i=super.get(n,t,r);return i!==n?i:super.get(n,t,"en").replace(n,e)}set(e,t){return salla.helpers.setNested(this.messages[`${this.getLocale()}.trans`],e,t),this}add(e,t){return Object.entries(t).forEach((t=>salla.helpers.setNested(this.messages[t[0]+".trans"],e,t[1]))),this}addBulk(e){return Object.entries(e).forEach((([e,t])=>{this.add(e,t)})),this}},cn.form=new class{async submit(e,t=null){let r=t;if("SubmitEvent"===t?.constructor?.name||"submit"===t?.type){if(t.preventDefault(),"FORM"!==t.target?.tagName)return Salla.logger.warn("Failed find the target element for submit action. make sure you submit a form element"),new Promise((()=>{throw"Failed find the target element for submit action. make sure you submit a form element"}));"SALLA-BUTTON"===t?.submitter?.parentElement?.tagName&&t.submitter.parentElement.load(),r=t.target.getElementSallaData(),salla.log("Data from element",r)}if(/^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$/gm.test(e))return salla.api.request(e,r,"post").finally((()=>{loaderSupported&&t?.submitter?.parentElement.stop()}));let n=e.split("."),i=n.splice(-1);return await salla.call(n.join("."))[i](r).finally((()=>t?.submitter?.parentElement?.stop())).catch((e=>{throw salla.logger.warn(e),e}))}onSubmit(e,t){return salla.form.submit(e,t),!1}onChange(e,t){return t?.currentTarget?"FORM"!==t?.currentTarget?.tagName||t.currentTarget.checkValidity()?(salla.form.submit(e,t.currentTarget.getElementSallaData()),!0):(salla.logger.warn(`Trying to trigger '${e}' without filling required fields!`),!1):(salla.logger.warn(`Trying to trigger '${e}' without event!`),!1)}getPossibleValue(e,t,r=!1){if(!e)return;if("object"!=typeof e)return e;let n;for(let r=0;r<t.length&&!(n=e[t[r]])&&!("undefined"!=typeof FormData&&e instanceof FormData&&(n=e.get(t[r])));r++);return n=n||e,"object"!=typeof n||r?n:void 0}},cn.infiniteScroll=new class extends pn{constructor(e,t){super(e,t),this.options={path:".infinite-scroll-btn",history:"push",status:".infinite-scroll-status",append:".list-block"},this.fetchOptions={headers:{"S-INFINITE-SCROLL":!0,"S-Source":"twilight","cache-control":"no-cache",pragma:"no-cache"}},this.instances=[]}initiate(e,t,r,n=!1){n?((r=r||{}).fetchOptions={...this.fetchOptions,...r.fetchOptions||{}},r.responseBody="json"):r=this.getCustomOptions(t,r);let i="string"!=typeof e?e:document.querySelector(e),o=r.path;if(!i||!o||"string"==typeof o&&!document.querySelector(o))return void Salla.logger.warn(i?"Path Option (a link that has next page link) Not Existed!":"Container For InfiniteScroll not Existed!");let a=new zn(i,r);return a.on("scrollThreshold",Salla.infiniteScroll.event.scrollThreshold),a.on("request",Salla.infiniteScroll.event.request),a.on("load",Salla.infiniteScroll.event.load),a.on("append",Salla.infiniteScroll.event.append),a.on("error",Salla.infiniteScroll.event.error),a.on("last",Salla.infiniteScroll.event.last),a.on("history",Salla.infiniteScroll.event.history),this.instances.push(a),a}getCustomOptions(e,t){return(t="object"==typeof e&&e||t||this.options).fetchOptions=this.fetchOptions,t.path=t.path||this.options.path,t.button=t.button||t.path,t.status=t.status||this.options.status,t.hasOwnProperty("history")||(t.history=this.options.history),t.nextPage=t.nextPage||t.next_page,t.append="string"==typeof e&&e||t.append||this.options.append,t}loadNextPage(e){("string"!=typeof e?e:document.querySelector(e)).loadNextPage()}destroy(e){("string"!=typeof e?e:document.querySelector(e)).destroy()}}(void 0,salla.event.infiniteScroll),cn.api=new class extends ds{constructor(){super(),this.auth=new Hn,this.cart=new Mn,this.loyalty=new Bn,this.order=new Gn,this.rating=new Kn,this.product=new Jn,this.profile=new Vn,this.comment=new Wn,this.currency=new Yn,this.document=new Qn,this.wishlist=new Xn,this.scope=new Zn,this.booking=new ei,this.landing=new ti,this.notifications=new ri,this.component=new hs,this.advertisement=new fs,this.navigation=new ps,this.metadata=new gs}},cn.sso=new class{constructor(){Salla.onReady((()=>this.init()))}init(){if(salla.config.get("store.features").includes("sso-login")){if(window.location.hostname.includes("salla"))return salla.log("SSO is not supported yet for stores without custom domain.");salla.auth.event.onLoggedOut((()=>new Promise((e=>{const t=document.createElement("iframe");t.style.display="none",t.src=salla.url.get("sso/logout"),document.body.appendChild(t),t.onload=()=>{document.body.removeChild(t),e()}})))),document.querySelector("salla-login-modal")?.remove(),Salla.event.removeAllListeners("login::open"),Salla.event.prependListener("login::open",(()=>{const e=window.location.pathname+window.location.search,t=`${window.location.origin}/sso/login?intended_to=${encodeURIComponent(e)}`;return console.log("Redirecting to:",t),window.location.href=t,!0}))}}},cn.intend=new class{constructor(){Salla.onReady((()=>this.init()))}init(){if(Salla.config.isUser())return;const e=new URLSearchParams(window.location.search);if(e.has("intended_to"))try{const t=new URL(e.get("intended_to"));if(t.hostname!==window.location.hostname)return;return this.handleAfterLoginEvent(t)}catch(e){return void console.warn("Invalid URL provided in intended_to parameter")}}handleAfterLoginEvent(e){let t="intend::user.logged.in";Salla.event.on(t,(()=>window.location=e)),Salla.api.auth.setAfterLoginEvent(t),Salla.api.auth.setCanRedirect(!1),Salla.event.on("salla-login::ready",(()=>Salla.event.emit("login::open",{withoutReload:!0})))}},["cart","auth","order","scope","rating","comment","loyalty","product","profile","currency","document","wishlist","booking","landing","metadata"].forEach((e=>cn[e]=new pn(cn.api[e],cn.event[e]))),cn.call=e=>{let t=cn,r=e.split(".");for(;r.length&&(t=t[r.shift()]););return t},cn.analytics=new class{constructor(){this.history=[],this.customTrackers=[],this.mappedEvents={"wishlist::added":"Product Added to Wishlist","wishlist::removed":"Product Removed from Wishlist","salla-products-list::products.fetched":"Product List Viewed","auth::registered":"Signed Up","auth::logged.in":"Signed In","auth::logged.out":"Signed Out","share-element":"Product Shared"},salla.event.onAny(((e,t)=>{try{if(Object.keys(this.mappedEvents).includes(e)){const r=this.mappedEvents[e];return void salla.event.emit(r,t)}if(!salla.config.get("jitsu.events",[]).includes(e))return;const r=Id.transform(e,t);r&&this.track(r.event,r.properties)}catch(e){salla.log("Error in analytics event handling:",e)}})),salla.event.on("twilight::init",(e=>{const{host:t,key:r}=e?.jitsu||{};this.analytics=null,t&&r?(Id.registerEvents(),this.analytics=hd({host:t,writeKey:r}),"user"===e?.user?.type&&this.analytics.identify(e?.user),this.page({context:{store_id:e?.store?.id,version:e?.jitsu?.version}})):salla.log("Jitsu configuration is missing. Analytics will not be tracked.")}))}track(e,t={}){return this.analytics?(t=this.finalPayload(t),this.analytics.track(e,t).then((r=>(this.pushEventToCustomTrackers("track",e,t),r))).then((()=>{this.history.push({action:"track",eventName:e,payload:t})})).catch((e=>(salla.log("Error tracking event:",e),Promise.reject(e))))):(salla.log("Jitsu configuration is missing. Analytics will not be tracked."),Promise.resolve())}page(e={}){return this.analytics?(e=this.finalPayload(e),this.analytics.page(e).then((t=>(this.pushEventToCustomTrackers("page",e),t))).then((()=>{this.history.push({action:"page",payload:e})})).catch((e=>(salla.log("Error tracking page event:",e),Promise.reject(e))))):(salla.log("Jitsu configuration is missing. Analytics will not be tracked."),Promise.resolve())}finalPayload(e={}){let t={context:{version:salla.config.get("jitsu.version",1),store_id:salla.config.get("store.id")}};const r=salla.storage.session.get("s-utms");if(r){const{"s-utm-campaign":e,"s-utm-source":n,"s-utm-medium":i,"s-utm-term":o,"s-utm-content":a,"s-utm-referrer":s}=r;t.context.campaign={name:e,source:n,medium:i,term:o,content:a,referrer:s}}return{...t,...e}}registerTracker(e){"object"==typeof e?"string"==typeof e.name&&e.name?"function"==typeof e.track?"function"==typeof e.page?this.customTrackers.find((t=>t.name===e.name))?salla.log("tracker with the same name already exists!"):(this.customTrackers.push(e),this.history.forEach((t=>"track"===t.action?e.track(t.eventName,t.payload):"page"===t.action?e.page(t.payload):void 0))):salla.log("tracker.page most be a function!"):salla.log("tracker.track most be a function!"):salla.log("tracker.name most be a string!"):salla.log('tracker most be an object {name:"tracker name", track: callback, page: callback}!')}pushEventToCustomTrackers(e,t,r={}){this.customTrackers.forEach((n=>n[e](t,r)))}},cn.init=e=>new ms(e),salla.event.once("twilight::init",salla.init),salla.event.on("twilight::api",(e=>{let t=e?.events;t&&salla.event.dispatchEvents(t)})),cn.success=cn.notify.success,cn.error=cn.notify.error,cn.versions.twilight="2.14.136",cn.onInitiated=e=>salla.event.once("twilight::initiated",e),window.dispatchEvent(new CustomEvent("salla::created")),cn}));
20
20
  //# sourceMappingURL=twilight.min.js.map