1(()=>{var t={463:(t,e,n)=>{const i=n(411);t.exports=function(t){if("string"!=typeof t)return;const e=t.toUpperCase();return Object.prototype.hasOwnProperty.call(i,e)?i[e]:void 0},t.exports.currencySymbolMap=i},411:t=>{t.exports={AED:"د.Ø¥",AFN:"Ø",ALL:"L",AMD:"Ö",ANG:"Æ",AOA:"Kz",ARS:"$",AUD:"$",AWG:"Æ",AZN:"â¼",BAM:"KM",BBD:"$",BDT:"à§³",BGN:"лв",BHD:".د.ب",BIF:"FBu",BMD:"$",BND:"$",BOB:"$b",BOV:"BOV",BRL:"R$",BSD:"$",BTC:"â¿",BTN:"Nu.",BWP:"P",BYN:"Br",BYR:"Br",BZD:"BZ$",CAD:"$",CDF:"FC",CHE:"CHE",CHF:"CHF",CHW:"CHW",CLF:"CLF",CLP:"$",CNH:"Â¥",CNY:"Â¥",COP:"$",COU:"COU",CRC:"â¡",CUC:"$",CUP:"â±",CVE:"$",CZK:"KÄ",DJF:"Fdj",DKK:"kr",DOP:"RD$",DZD:"دج",EEK:"kr",EGP:"£",ERN:"Nfk",ETB:"Br",ETH:"Î",EUR:"â¬",FJD:"$",FKP:"£",GBP:"£",GEL:"â¾",GGP:"£",GHC:"âµ",GHS:"GHâµ",GIP:"£",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"$",HKD:"$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"âª",IMP:"£",INR:"â¹",IQD:"ع.د",IRR:"ï·¼",ISK:"kr",JEP:"£",JMD:"J$",JOD:"JD",JPY:"Â¥",KES:"KSh",KGS:"лв",KHR:"á",KMF:"CF",KPW:"â©",KRW:"â©",KWD:"KD",KYD:"$",KZT:"â¸",LAK:"â",LBP:"£",LKR:"â¨",LRD:"$",LSL:"M",LTC:"Å",LTL:"Lt",LVL:"Ls",LYD:"LD",MAD:"MAD",MDL:"lei",MGA:"Ar",MKD:"ден",MMK:"K",MNT:"â®",MOP:"MOP$",MRO:"UM",MRU:"UM",MUR:"â¨",MVR:"Rf",MWK:"MK",MXN:"$",MXV:"MXV",MYR:"RM",MZN:"MT",NAD:"$",NGN:"â¦",NIO:"C$",NOK:"kr",NPR:"â¨",NZD:"$",OMR:"ï·¼",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"â±",PKR:"â¨",PLN:"zÅ",PYG:"Gs",QAR:"ï·¼",RMB:"ï¿¥",RON:"lei",RSD:"Ðин.",RUB:"â½",RWF:"Râ£",SAR:"ï·¼",SBD:"$",SCR:"â¨",SDG:"ج.س.",SEK:"kr",SGD:"S$",SHP:"£",SLL:"Le",SOS:"S",SRD:"$",SSP:"£",STD:"Db",STN:"Db",SVC:"$",SYP:"£",SZL:"E",THB:"฿",TJS:"SM",TMT:"T",TND:"د.ت",TOP:"T$",TRL:"â¤",TRY:"âº",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"â´",UGX:"USh",USD:"$",UYI:"UYI",UYU:"$U",UYW:"UYW",UZS:"лв",VEF:"Bs",VES:"Bs.S",VND:"â«",VUV:"VT",WST:"WS$",XAF:"FCFA",XBT:"É",XCD:"$",XOF:"CFA",XPF:"â£",XSU:"Sucre",XUA:"XUA",YER:"ï·¼",ZAR:"R",ZMW:"ZK",ZWD:"Z$",ZWL:"$"}},740:function(t){t.exports=function(){function t(a,s){if(!(this instanceof t))return new t(a,s);s=Object.assign({},n,s);var o=Math.pow(10,s.precision);this.intValue=a=e(a,s),this.value=a/o,s.increment=s.increment||1/o,s.groups=s.useVedic?r:i,this.s=s,this.p=o}function e(e,n){var i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],r=n.decimal,a=n.errorOnInvalid,s=n.fromCents,o=Math.pow(10,n.precision),c=e instanceof t;if(c&&s)return e.intValue;if("number"==typeof e||c)r=c?e.value:e;else if("string"==typeof e)a=new RegExp("[^-\\d"+r+"]","g"),r=new RegExp("\\"+r,"g"),r=(r=e.replace(/\((.*)\)/,"-$1").replace(a,"").replace(r,"."))||0;else{if(a)throw Error("Invalid Input");r=0}return s||(r=(r*o).toFixed(4)),i?Math.round(r):r}var n={symbol:"$",separator:",",decimal:".",errorOnInvalid:!1,precision:2,pattern:"!#",negativePattern:"-!#",format:function(t,e){var n=e.pattern,i=e.negativePattern,r=e.symbol,a=e.separator,s=e.decimal;e=e.groups;var o=(""+t).replace(/^-/,"").split("."),c=o[0];return o=o[1],(0<=t.value?n:i).replace("!",r).replace("#",c.replace(e,"$1"+a)+(o?s+o:""))},fromCents:!1},i=/(\d)(?=(\d{3})+\b)/g,r=/(\d)(?=(\d\d)+\d\b)/g;return t.prototype={add:function(n){var i=this.s,r=this.p;return t((this.intValue+e(n,i))/(i.fromCents?1:r),i)},subtract:function(n){var i=this.s,r=this.p;return t((this.intValue-e(n,i))/(i.fromCents?1:r),i)},multiply:function(e){var n=this.s;return t(this.intValue*e/(n.fromCents?1:Math.pow(10,n.precision)),n)},divide:function(n){var i=this.s;return t(this.intValue/e(n,i,!1),i)},distribute:function(e){var n=this.intValue,i=this.p,r=this.s,a=[],s=Math[0<=n?"floor":"ceil"](n/e),o=Math.abs(n-s*e);for(i=r.fromCents?1:i;0!==e;e--){var c=t(s/i,r);0<o--&&(c=c[0<=n?"add":"subtract"](1/i)),a.push(c)}return a},dollars:function(){return~~this.value},cents:function(){return~~(this.intValue%this.p)},format:function(t){var e=this.s;return"function"==typeof t?t(this,e):e.format(this,Object.assign({},e,t))},toString:function(){var t=this.s,e=t.increment;return(Math.round(this.intValue/this.p/e)*e).toFixed(t.precision)},toJSON:function(){return this.value}},t}()}},e={};function n(i){var r=e[i];
1if(void 0!==r)return r.exports;var a=e[i]={exports:{}};return t[i].call(a.exports,a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(740),e=n.n(t),i=n(463),r=n.n(i);function a(t=document.body,e="js-"){const n=[...t.querySelectorAll(e?`[class*="${e}"]`:"*")],i=e?"classList":"dataset";return n.reduce(((t,n)=>([].slice.call(e?n[i]:Object.entries(n[i])).forEach((i=>{let r;e&&i.slice(0,e.length)===e?r=i.slice(e.length,i.length):e||([r]=i),r&&(t[r]=t.hasOwnProperty(r)?t[r].constructor===Array?t[r].concat(n):[t[r],n]:n)})),t)),{})}const s=t=>{const e=`; ${document.cookie}`.split(`; ${t}=`);return 2===e.length?e.pop().split(";").shift():""},o={CASE:1,PLAN:2,SCENT:3,EXTRA:4},c=window.component(((t,n)=>{const{caseImage:i,caseText:c,caseElem:l,prevSlideBtn:u,prevSlideBtnContainer:d,nextSlideBtn:f,slide:p,imageSlide:m,stepBtn:h,planImg:g,checkoutBtn:b,scentSubheadingDesktop:v,scentSubheadingMobile:y,scentsJson:x,defaultVariantImg:L,variantImg:w,defaultExtraImg:T,extraImg:E,nextBtnSlide:S,skipExtraBtn:C,trustpilot:R,refereeLink:D,refillSellingPlan:A}=a(t,null),N=A?JSON.parse(A.innerHTML):null,P=parseInt(t.dataset.refillPrice,10),B=t.dataset.currency,M="true"===t.dataset.slideExtraEnabled,$=i&&[].concat(i),O=c&&[].concat(c),_=l&&[].concat(l),k=p&&[].concat(p),H=m&&[].concat(m),V=h&&[].concat(h),F=g&&[].concat(g),I=w&&[].concat(w),K=E&&[].concat(E),U=S&&[].concat(S),W=JSON.parse(x.innerHTML);let G=1,j=null,q=null,X="default",Y={},J={},Z=0;n.on("mount",(()=>{const t=sessionStorage.getItem("selected_case");if(t||(k&&k.length>0&&k[0].classList.add("is-active"),H&&H.length>0&&H[0].classList.add("is-active")),t){const e=Number(t);requestAnimationFrame((()=>{const t=_.find((t=>Number(t.dataset.caseElem)===e));if(t){const e=t.querySelector("input");e&&(e.checked=!0,n.emit("subscribe:update-case",null,JSON.parse(e.dataset.variants)),n.emit("subscribe:slide",null,o.PLAN),sessionStorage.removeItem("selected_case"))}}))}})),n.on("subscribe:update-case",((t,e)=>{j=e;const n=e.default.id;$.forEach((t=>t.classList[Number(t.dataset.caseImage)===n?"add":"remove"]("is-active"))),O.forEach((t=>t.classList[Number(t.dataset.caseText)===n?"add":"remove"]("is-active"))),_.forEach((t=>t.classList[Number(t.dataset.caseElem)===n?"add":"remove"]("is-active")))})),M&&n.on("subscribe:update-extra",((t,e)=>{J=e})),n.on("subscribe:click-extra",((t,e)=>{const n=K.map((t=>t.dataset.id)).includes(e)?e:T.dataset.id;K.forEach((t=>t.classList[t.dataset.id===n?"add":"remove"]("is-active")))})),n.on("subscribe:update-plan",((t,{plan:e,sellingPlanId:n,refillLimit:i,caseVariant:r})=>{q=n,Z=Number(i),X=r,F.forEach((t=>t.classList[t.dataset.planImg===e?"add":"remove"]("is-active")))})),n.on("subscribe:update-scent",((t,e)=>{Y=e})),n.on("subscribe:slide",((t,e)=>{(M||e!==o.EXTRA)&&(G=e,k.forEach((t=>t.classList[Number(t.dataset.slide)===e?"add":"remove"]("is-active"))),H.forEach((t=>t.classList[Number(t.dataset.imageSlide)===e?"add":"remove"]("is-active"))),V.forEach((t=>t.classList[Number(t.dataset.stepBtn)<=Math.min(e,o.SCENT)?"add":"remove"]("is-active"))),U.forEach((t=>t.classList[Number(t.dataset.nextBtnSlide)===e?"add":"remove"]("is-active"))),d.classList[1===e?"remove":"add"]("is-active"),y.classList[e===o.SCENT?"add":"remove"]("is-active"),R.classList[[o.PLAN,o.SCENT].includes(e)?"add":"remove"]("is-active"),D.classList[[o.CASE].includes(e)?"add":"remove"]("is-active"),M?(f.classList[e===o.EXTRA?"add":"remove"]("hidden"),b.classList[e===o.EXTRA?"remove":"add"]("hidden")):(f.classList[e===o.SCENT?"add":"remove"]("hidden"),b.classList[e===o.SCENT?"remove":"add"]("hidden")))})),f.addEventListener("click",(()=>{const t=G+1;(M||t!==o.EXTRA)&&n.emit("subscribe:slide",null,t)})),u.addEventListener("click",(()=>n.emit("subscribe:slide",null,G-1))),V.forEach((t=>t.addEventListener("click",(t=>{const e=Number(t.currentTarget.dataset.stepBtn);(M||e!==o.EXTRA)&&n.emit("subscribe:slide",null,e)})))),n.on("subscribe:click-scent",((t,e)=>{const n=I.map((t=>t.dataset.id)).includes(e)?e:L.dataset.id;I.forEach((t=>t.classList[t.dataset.id===n?"add":"remove"]("is-active")))})),n.on(["subscribe:slide","subscribe:update-case","subscribe:update-plan","subscribe:update-scent"],(()=>{G!==o.SCENT||Object.values(Y).reduce(((t,e)=>t+e),0)===Z?f.removeAttribute("disabled"):f.setAttribute("disabled",!0),G===o.SCENT&&(y.innerHTML=v.innerHTML)}));const Q=async()=>
1{if(b.hasAttribute("disabled"))return;b.setAttribute("disabled",!0),b.classList.add("is-loading");const t=Date.now(),n=(j?.[X]??j?.default??null).id;try{const i={items:[...Object.keys(Y).map((t=>({...W.find((({id:e})=>e===t)),quantity:Y[t]}))).filter((({quantity:t})=>t)).map((({id:n,quantity:i,title:a,displayCheckoutText:s,fallbackTitle:o})=>{let c=null;if(q){const t=N?.price_adjustments.length&&"percentage"===N.price_adjustments[0].value_type?parseFloat(N.price_adjustments[0].value):0,n={symbol:r()(B),fromCents:!0},i=1-t/100;c=`3x ${s?o:a} - ${e()(P,n).multiply(3).multiply(i).format()}`}return{id:n,quantity:i,properties:{_unique_box_id:t},selling_plan:q}})),...Object.keys(J).map((e=>({id:e,quantity:J[e],properties:{_unique_box_id:t}}))),{id:n,quantity:1,properties:{_unique_box_id:t}}],attributes:{_ga:s("_ga"),_fbp:s("_fbp"),_fbc:s("_fbc"),"_gat_UA-168413491-5":s("_gat_UA-168413491-5")}};await(async t=>{await fetch("/cart/add.js",{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})})(i)}catch(t){console.error(t),b.removeAttribute("disabled"),b.classList.remove("is-loading")}finally{window.location.href="/checkout"}};C&&C.addEventListener("click",Q),b&&b.addEventListener("click",Q)}));function l(t){return t.split("-")[0]}function u(t){return t.split("-")[1]}function d(t){return["top","bottom"].includes(l(t))?"x":"y"}function f(t){return"y"===t?"height":"width"}function p(t,e,n){let{reference:i,floating:r}=t;const a=i.x+i.width/2-r.width/2,s=i.y+i.height/2-r.height/2,o=d(e),c=f(o),p=i[c]/2-r[c]/2,m="x"===o;let h;switch(l(e)){case"top":h={x:a,y:i.y-r.height};break;case"bottom":h={x:a,y:i.y+i.height};break;case"right":h={x:i.x+i.width,y:s};break;case"left":h={x:i.x-r.width,y:s};break;default:h={x:i.x,y:i.y}}switch(u(e)){case"start":h[o]-=p*(n&&m?-1:1);break;case"end":h[o]+=p*(n&&m?-1:1)}return h}function m(t){return"number"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function h(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function g(t,e){var n;void 0===e&&(e={});const{x:i,y:r,platform:a,rects:s,elements:o,strategy:c}=t,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:f=!1,padding:p=0}=e,g=m(p),b=o[f?"floating"===d?"reference":"floating":d],v=h(await a.getClippingRect({element:null==(n=await(null==a.isElement?void 0:a.isElement(b)))||n?b:b.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(o.floating)),boundary:l,rootBoundary:u,strategy:c})),y="floating"===d?{...s.floating,x:i,y:r}:s.reference,x=await(null==a.getOffsetParent?void 0:a.getOffsetParent(o.floating)),L=await(null==a.isElement?void 0:a.isElement(x))&&await(null==a.getScale?void 0:a.getScale(x))||{x:1,y:1},w=h(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({rect:y,offsetParent:x,strategy:c}):y);return{top:(v.top-w.top+g.top)/L.y,bottom:(w.bottom-v.bottom+g.bottom)/L.y,left:(v.left-w.left+g.left)/L.x,right:(w.right-v.right+g.right)/L.x}}const b=Math.min,v=Math.max;function y(t,e,n){return v(t,b(e,n))}const x=t=>({name:"arrow",options:t,async fn(e){const{element:n,padding:i=0}=null!=t?t:{},{x:r,y:a,placement:s,rects:o,platform:c}=e;if(null==n)return{};const l=m(i),p={x:r,y:a},h=d(s),g=u(s),b=f(h),v=await c.getDimensions(n),x="y"===h?"top":"left",L="y"===h?"bottom":"right",w=o.reference[b]+o.reference[h]-p[h]-o.floating[b],T=p[h]-o.reference[h],E=await(null==c.getOffsetParent?void 0:c.getOffsetParent(n));let S=E?"y"===h?E.clientHeight||0:E.clientWidth||0:0;0===S&&(S=o.floating[b]);const C=w/2-T/2,R=l[x],D=S-v[b]-l[L],A=S/2-v[b]/2+C,N=y(R,A,D),P=("start"===g?l[x]:l[L])>0&&A!==N&&o.reference[b]<=o.floating[b];return{[h]:p[h]-(P?A<R?R-A:D-A:0),data:{[h]:N,centerOffset:A-N}}}}),L={left:"right",right:"left",bottom:"top",top:"bottom"};function w(t){return t.replace(/left|right|bottom|top/g,(t=>L[t]))}function T(t,e,n){void 0===n&&(n=!1);const i=u(t),r=d(t),a=f(r);let s="x"===r?i===(n?"end":"start")?"right":"left":"start"===i?"bottom":"top";return e.reference[a]>e.floating[a]&&(s=w(s)),{main:s,cross:w(s)}}const E={start:"end",end:"start"};function S(t){return t.replace(/start|end/g,(t=>E[t]))}const C=(["top","right","bottom","left"].reduce(((t,e)=>t.concat(e,e+"-start",e+"-end")),[]),function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n;const{placement:i,middlewareData:r,rects:a,initialPlacement:s,platform:o,elements:c}=e,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",flipAlignment:m=!0,...h}=t,b=l(i),v=f||(b!==s&&m?function(t){const e=w(t);return[S(t),e,S(e)]}(s):[w(s)]),y=[s,...v],x=await g(e,h),L=[];let E=(null==(n=r.flip)?void 0:n.overflows)||[];if(u&&L.push(x[b]),d){const{main:t,cross:e}=T(i,a,await(null==o.isRTL?void 0:o.isRTL(c.floating)));L.push(x[t],x[e])}if(E=[...E,{placement:i,overflows:L}],!L.every((t=>t<=0))){var C,R;const t=(null!=(C=null==(R=r.flip)?void 0:R.index)?C:0)+1,e=y[t];if(e)return{data:{index:t,overflows:E},reset:{placement:e}};let n="bottom";switch(p){case"bestFit":{var D;const t=null==(D=E.map((t=>[t,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:D[0].placement;t&&(n=t);break}case"initialPlacement":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}}),R=function(t){return void 0===t&&(t=0),{name:"offset",options:t,async fn(e){const{x:n,y:i}=e,r=await async function(t,e){const{placement:n,platform:i,elements:r}=t,a=await(null==i.isRTL?void 0:i.isRTL(r.floating)),s=l(n),o=u(n),c="x"===d(n),f=["left","top"].includes(s)?-1:1,p=a&&c?-1:1,m="function"==typeof e?e(t):e;let{mainAxis:h,crossAxis:g,alignmentAxis:b}="number"==typeof m?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...m};return o&&"number"==typeof b&&(g="end"===o?-1*b:b),c?{x:g*p,y:h*f}:{x:h*f,y:g*p}}(e,t);return{x:n+r.x,y:i+r.y,data:r}}}};const D=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:i,placement:r}=e,{mainAxis:a=!0,crossAxis:s=!1,limiter:o={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...c}=t,u={x:n,y:i},f=await g(e,c),p=d(l(r)),m=function(t){return"x"===t?"y":"x"}(p);let h=u[p],b=u[m];if(a){const t="y"===p?"bottom":"right";
1h=y(h+f["y"===p?"top":"left"],h,h-f[t])}if(s){const t="y"===m?"bottom":"right";b=y(b+f["y"===m?"top":"left"],b,b-f[t])}const v=o.fn({...e,[p]:h,[m]:b});return{...v,data:{x:v.x-n,y:v.y-i}}}}},A=Math.min,N=Math.max,P=Math.round;function B(t,e){const n=e||t.getBoundingClientRect();return{x:t.offsetWidth>0&&P(n.width)/t.offsetWidth||1,y:t.offsetHeight>0&&P(n.height)/t.offsetHeight||1}}function M(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function $(t){return M(t).getComputedStyle(t)}function O(t){return V(t)?(t.nodeName||"").toLowerCase():""}function _(){const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?t.brands.map((t=>t.brand+"/"+t.version)).join(" "):navigator.userAgent}function k(t){return t instanceof M(t).HTMLElement}function H(t){return t instanceof M(t).Element}function V(t){return t instanceof M(t).Node}function F(t){return"undefined"!=typeof ShadowRoot&&(t instanceof M(t).ShadowRoot||t instanceof ShadowRoot)}function I(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=$(t);return/auto|scroll|overlay|hidden/.test(e+i+n)&&!["inline","contents"].includes(r)}function K(t){return["table","td","th"].includes(O(t))}function U(t){const e=/firefox/i.test(_()),n=$(t),i=n.backdropFilter||n.WebkitBackdropFilter;return"none"!==n.transform||"none"!==n.perspective||!!i&&"none"!==i||e&&"filter"===n.willChange||e&&!!n.filter&&"none"!==n.filter||["transform","perspective"].some((t=>n.willChange.includes(t)))||["paint","layout","strict","content"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function W(){return!/^((?!chrome|android).)*safari/i.test(_())}function G(t){return["html","body","#document"].includes(O(t))}function j(t,e,n){var i,r,a,s;void 0===e&&(e=!1),void 0===n&&(n=!1);const o=t.getBoundingClientRect();let c=o,l=t,u={x:1,y:1};!H(t)&&t.contextElement&&(c=t.contextElement.getBoundingClientRect(),l=t.contextElement),e&&k(l)&&(u=B(l,c));const d=H(t)?M(t):window,f=!W()&&n,p=(o.left+(f&&null!=(i=null==(r=d.visualViewport)?void 0:r.offsetLeft)?i:0))/u.x,m=(o.top+(f&&null!=(a=null==(s=d.visualViewport)?void 0:s.offsetTop)?a:0))/u.y,h=o.width/u.x,g=o.height/u.y;return{width:h,height:g,top:m,right:p+h,bottom:m+g,left:p,x:p,y:m}}function q(t){return((V(t)?t.ownerDocument:t.document)||window.document).documentElement}function X(t){return H(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Y(t){return j(q(t)).left+X(t).scrollLeft}function J(t,e,n){const i=k(e),r=q(e),a=j(t,i&&function(t){const e=j(t);return P(e.width)!==t.offsetWidth||P(e.height)!==t.offsetHeight}(e),"fixed"===n);let s={scrollLeft:0,scrollTop:0};const o={x:0,y:0};if(i||!i&&"fixed"!==n)if(("body"!==O(e)||I(r))&&(s=X(e)),k(e)){const t=j(e,!0);o.x=t.x+e.clientLeft,o.y=t.y+e.clientTop}else r&&(o.x=Y(r));return{x:a.left+s.scrollLeft-o.x,y:a.top+s.scrollTop-o.y,width:a.width,height:a.height}}function Z(t){if("html"===O(t))return t;const e=t.assignedSlot||t.parentNode||(F(t)?t.host:null)||q(t);return F(e)?e.host:e}function Q(t){return k(t)&&"fixed"!==$(t).position?t.offsetParent:null}function z(t){const e=M(t);let n=Q(t);for(;n&&K(n)&&"static"===$(n).position;)n=Q(n);return n&&("html"===O(n)||"body"===O(n)&&"static"===$(n).position&&!U(n))?e:n||function(t){let e=Z(t);for(;k(e)&&!G(e);){if(U(e))return e;e=Z(e)}return null}(t)||e}function tt(t){const e=Z(t);return G(e)?t.ownerDocument.body:k(e)&&I(e)?e:tt(e)}function et(t,e){var n;void 0===e&&(e=[]);const i=tt(t),r=i===(null==(n=t.ownerDocument)?void 0:n.body),a=M(i);return r?e.concat(a,a.visualViewport||[],I(i)?i:[]):e.concat(i,et(i))}function nt(t,e,n){return"viewport"===e?h(function(t,e){const n=M(t),i=q(t),r=n.visualViewport;let a=i.clientWidth,s=i.clientHeight,o=0,c=0;if(r){a=r.width,s=r.height;const t=W();(t||!t&&"fixed"===e)&&(o=r.offsetLeft,c=r.offsetTop)}return{width:a,height:s,x:o,y:c}}(t,n)):H(e)?function(t,e){const n=j(t,!0,"fixed"===e),i=n.top+t.clientTop,r=n.left+t.clientLeft,a=k(t)?B(t):{x:1,y:1},s=t.clientWidth*a.x,o=t.clientHeight*a.y,c=r*a.x,l=i*a.y;return{top:l,left:c,right:c+s,bottom:l+o,x:c,y:l,width:s,height:o}}(e,n):h(function(t){var e;const n=q(t),i=X(t),r=null==(e=t.ownerDocument)?void 0:e.body,a=N(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=N(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0);let o=-i.scrollLeft+Y(t);const c=-i.scrollTop;return"rtl"===$(r||n).direction&&(o+=N(n.clientWidth,r?r.clientWidth:0)-a),{width:a,height:s,x:o,y:c}}(q(t)))}const it={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:i,strategy:r}=t;const a="clippingAncestors"===n?function(t){let e=et(t).filter((t=>H(t)&&"body"!==O(t))),n=null;const i="fixed"===$(t).position;let r=i?Z(t):t;for(;H(r)&&!G(r);){const t=$(r),a=U(r);(i?a||n:a||"static"!==t.position||!n||!["absolute","fixed"].includes(n.position))?n=t:e=e.filter((t=>t!==r)),r=Z(r)}return e}(e):[].concat(n),s=[...a,i],o=s[0],c=s.reduce(((t,n)=>{const i=nt(e,n,r);return t.top=N(i.top,t.top),t.right=A(i.right,t.right),t.bottom=A(i.bottom,t.bottom),t.left=N(i.left,t.left),t}),nt(e,o,r));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:i}=t;const r=k(n),a=q(n);if(n===a)return e;let s={scrollLeft:0,scrollTop:0},o={x:1,y:1};const c={x:0,y:0};if((r||!r&&"fixed"!==i)&&(("body"!==O(n)||I(a))&&(s=X(n)),k(n))){const t=j(n);o=B(n),c.x=t.x+n.clientLeft,c.y=t.y+n.clientTop}return{width:e.width*o.x,height:e.height*o.y,x:e.x*o.x-s.scrollLeft*o.x+c.x,y:e.y*o.y-s.scrollTop*o.y+c.y}},isElement:H,getDimensions:function(t){if(k(t))return{width:t.offsetWidth,height:t.offsetHeight};const e=j(t);return{width:e.width,height:e.height}},getOffsetParent:z,getDocumentElement:q,getScale:B,async getElementRects(t){let{reference:e,floating:n,strategy:i}=t;const r=this.getOffsetParent||z,a=this.getDimensions;return{reference:J(e,await r(n),i),floating:{x:0,y:0,...await a(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>"rtl"===$(t).direction},rt=t=>{const{tooltipContainer:e}=a(t,null),n=e?[].concat(e):[],i=(t,e="toggle")=>{!function(t){const{tooltipButton:e,tooltip:n,arrow:i}=a(t.currentTarget,null);((t,e,n)=>(async(t,e,n)=>{const{placement:i="bottom",strategy:r="absolute",middleware:a=[],platform:s}
1=n,o=a.filter(Boolean),c=await(null==s.isRTL?void 0:s.isRTL(e));let l=await s.getElementRects({reference:t,floating:e,strategy:r}),{x:u,y:d}=p(l,i,c),f=i,m={},h=0;for(let n=0;n<o.length;n++){const{name:a,fn:g}=o[n],{x:b,y:v,data:y,reset:x}=await g({x:u,y:d,initialPlacement:i,placement:f,strategy:r,middlewareData:m,rects:l,platform:s,elements:{reference:t,floating:e}});u=null!=b?b:u,d=null!=v?v:d,m={...m,[a]:{...m[a],...y}},x&&h<=50&&(h++,"object"==typeof x&&(x.placement&&(f=x.placement),x.rects&&(l=!0===x.rects?await s.getElementRects({reference:t,floating:e,strategy:r}):x.rects),({x:u,y:d}=p(l,f,c))),n=-1)}return{x:u,y:d,placement:f,strategy:r,middlewareData:m}})(t,e,{platform:it,...n}))(e,n,{placement:"top",middleware:[R(6),C(),D({padding:12}),x({element:i})]}).then((({x:t,y:e,placement:r,middlewareData:a})=>{Object.assign(n.style,{left:`${t}px`,top:`${e}px`});const{x:s,y:o}=a.arrow,c={top:"bottom",right:"left",bottom:"top",left:"right"}[r.split("-")[0]];Object.assign(i.style,{left:null!=s?`${s}px`:"",top:null!=o?`${o}px`:"",right:"",bottom:"",[c]:"-4px"})}))}(t),a(t.currentTarget,null).tooltip.classList[e]("is-active")},r=t=>i(t,"add"),s=t=>i(t,"remove");[["mouseenter",r],["mouseleave",s],["click",i],["focus",r],["blur",s]].forEac
1h((([t,e])=>{n.forEach((n=>n.addEventListener(t,e)))}))},at=window.component(((t,e)=>{const{casesContainer:n,caseInput:i}=a(t,null),r=[].concat(i).filter(Boolean),s=t=>e.emit("subscribe:update-case",null,JSON.parse(t.dataset.variants));n.addEventListener("change",(t=>s(t.target))),e.on("mount",(()=>{rt(t),s(r.find((t=>t.checked)))}))})),st=window.component(((t,e)=>{const{plan:n,mainSubheading:i}=a(t,null),r=[].concat(n).filter(Boolean);let s=null,o=null;const c=()=>{if(!s)return;r.forEach((t=>{t.classList[t.dataset.plan===s?"add":"remove"]("is-active")}));const t=r.find((t=>t.dataset.plan===s));t&&(t=>{if(!t||!o)return;const{blockSubheading:e}=a(t,null);if(e&&i){const t=e.cloneNode(!0);i.innerHTML=t.innerHTML;const n=i.querySelector("span");n&&o.discount_percentage&&(n.innerText=`${o.discount_percentage}%`)}})(t)};r.forEach((t=>t.addEventListener("click",(t=>{e.emit("subscribe:update-plan",null,{...t.currentTarget.dataset})})))),e.on("subscribe:update-case",((e,n)=>{o=n[t.dataset.caseVariant]||n.default,c()})),e.on("subscribe:update-plan",((t,{plan:e})=>{s=e,c()})),e.on("mount",(()=>{const t=r.find((t=>t.classList.contains("is-active")))||r[0];t&&e.emit("subscribe:update-plan",null,{...t.dataset})}))})),ot=window.component(((t,e)=>{const{currentVariantCount:n,requestedVariantCount:i,remainingVariantsText:r,remainingVariantsCount:s,successText:o,form:c,variant:l,filterBtn:u}
1=a(t,null),d=[].concat(l).filter(Boolean),f=[].concat(u).filter(Boolean),p=()=>e.emit("subscribe:update-scent",null,Object.fromEntries(Array.from(new FormData(c).entries()).map((([t,e])=>[t,Number(e)])))),m=(t=!1)=>{const e=1===Number(i.innerText);d.forEach((n=>{const i=Number(a(n,null).variantCount.value);n.classList[e?"add":"remove"]("is-custom"),n.classList[e&&1===i?"add":"remove"]("is-checked"),t&&(n.classList.remove("is-current"),n.classList.remove("is-selected"))}))};d.forEach((t=>{const{removeVariantBtn:n,addVariantBtn:r,variantCount:s}=a(t,null),o=t=>{s.value=t,n.disabled=t<=0,p()};r.addEventListener("click",(t=>{t.currentTarget.closest("[data-variant]").classList.add("is-current"),o(Number(s.value)+1)})),n.addEventListener("click",(t=>{const e=t.currentTarget.closest("[data-variant]"),n=Number(s.value)-1;0===n&&e.classList.remove("is-current"),o(n)})),e.on("subscribe:update-plan",((e,{refillLimit:n})=>{o(1===Number(n)?t.dataset.defaultValue:0)})),t.addEventListener("click",(t=>{const n=t.currentTarget.dataset.id,r=Number(i.innerText);e.emit("subscribe:click-scent",null,s.name),d.forEach((t=>{const e=t.dataset.id;t.classList[e===n&&1!==r?"add":"remove"]("is-selected"),1===r&&(a(t,null).variantCount.value=e===n?1:0)})),m(),p()}))})),f.forEach((t=>{t.addEventListener("click",(({currentTarget:{dataset:t}})=>[...d,...f].forEach((e=>e.classList[e.dataset.category===t.category?"add":"remove"]("is-active")))))})),e.on("subscribe:update-scent",((t,e)=>{const c=Object.values(e).reduce(((t,e)=>t+e),0);n.innerText=c;const l=Number(i.innerText)-Number(n.innerText);o.classList[0===l?"add":"remove"]("is-active"),r.classList[l>0?"add":"remove"]("is-active"),s.innerText=l,d.map((t=>a(t,null).addVariantBtn)).forEach((t=>{t.disabled=l<=0}))})),e.on("subscribe:update-plan",((t,{refillLimit:e})=>{i.innerText=e;const n=1===Number(i.innerText);d.forEach((t=>{const e=t.hasAttribute("data-default"),i=n&&e?1:0;a(t,null).variantCount.value=i})),m(!0),p()})),e.on("mount",(()=>{rt(t),p()}))})),ct=window.component(((t,e)=>{const{form:n,input:i,extraContainer:r}=a(t,null),s=r&&[].concat(r);let o=null;[].concat(i).filter(Boolean).forEach((t=>t.addEventListener("change",(t=>{t.currentTarget.closest("[data-extra-container]").classList[t.currentTarget.checked?"add":"remove"]("is-active"),e.emit("subscribe:update-extra",null,Object.fromEntries(Array.from(new FormData(n).entries()).map((([t,e])=>[t,Number(e)]))))})))),e.on("mount",(()=>e.emit("subscribe:update-extra",null,Object.fromEntries(Array.from(new FormData(n).entries()).map((([t,e])=>[t,Number(e)])))))),s.forEach((t=>{t.addEventListener("click",(n=>{o&&o.classList.remove("is-selected"),t.classList.add("is-selected"),o=t;const{addExtraBtn:i}=a(n.currentTarget,null);e.emit("subscribe:click-extra",null,i.dataset.id)}))}))})),lt=(t,e)=>t.multiply(1/(1-e/100)),ut={dynamicPricing:window.component(((t,n)=>{const{sellingPlan:i,output:s,supertitle:o}=a(t,null),c=i?JSON.parse(i.innerHTML):null;let l=null;const u=()=>{if(!l)return;const n=t.dataset.currency,i=parseInt(t.dataset.refillCount,10),a=parseInt(t.dataset.refillPrice,10),u=c?.price_adjustments.length&&"percentage"===c.price_adjustments[0].value_type?parseFloat(c.price_adjustments[0].value):0,d=(({activeCurrency:t,refillCount:n,refillPriceInCents:i,casePriceInCents:a,refillsDiscountAsPercentage:s=0})=>{const o={symbol:r()(t),fromCents:!0},c=1-s/100,l=e()(i,o).multiply(n).multiply(c),u=e()(a,o);return l.add(u)})({activeCurrency:n,refillCount:i,refillPriceInCents:a,casePriceInCents:l.price,refillsDiscountAsPercentage:u});let f=d.format();if(l.data_discount_percentage&&l.data_compare_at_price){const t=parseFloat(l.data_compare_at_price),i={symbol:r()(n),fromCents:!1};f+=`<span>${e()(t,i).format()}</span>`,o&&o.querySelector("span")&&(o.querySelector("span").innerHTML=`${l.data_discount_percentage}%`)}else if(l.data_compare_at_price){const t=parseFloat(l.data_compare_at_price),i={symbol:r()(n),fromCents:!1};f+=`<span>${e()(t,i).format()}</span>`}else l.data_discount_percentage?(f+=`<span>${lt(d,l.data_discount_percentage).format()}</span>`,o&&o.querySelector("span")&&(o.querySelector("span").innerHTML=`${l.data_discount_percentage}%`)):l.discount_percentage&&(f+=`<span>${lt(d,l.discount_percentage).format()}</span>`,o&&o.querySelector("span")&&(o.querySelector("span").innerHTML=`${l.discount_percentage}%`));s.innerHTML=f};n.on("subscribe:update-case",((e,n)=>{l=n[t.dataset.caseVariant]||n.default,u()})),n.on("mount",(()=>{u()}))}
1)),subscribe:c,subscribeCase:at,subscribePlan:st,subscribeScent:ot,subscribeExtra:ct};window.app.add(ut),window.app.mount()})()})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.