1(function(){var __blocks__={};(function(){for(var element=document.getElementById("blocks-script"),attribute=a=element?element.getAttribute("data-blocks"):"",blocks=a.split(",").filter(Boolean),i=0;i<blocks.length;i++)__blocks__[blocks[i]]=!0})(),(function(){if(!(!__blocks__["bp-collapse-text"]&&!Shopify.designMode))try{window.__bpCollapseWired||(window.__bpCollapseWired=!0,document.addEventListener("click",e=>{const trigger=e.target.closest("[data-bp-collapse-trigger]");if(!trigger)return;const root=trigger.closest("[data-bp-collapse]");if(!root)return;const content=root.querySelector("[data-bp-collapse-content]");if(!content)return;const open=root.classList.toggle("is-open");trigger.setAttribute("aria-expanded",String(open)),open?content.removeAttribute("hidden"):content.setAttribute("hidden","")}))}catch(e){console.error(e)}})(),(function(){if(!(!__blocks__["bp-complete-the-look"]&&!Shopify.designMode))try{const BP_CTL_BAG_SVG='<svg viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M4.18929 5.74434H16.5343H16.6292L16.6729 5.74549C16.9007 5.75099 17.1328 5.87803 17.2448 6.08089C17.3145 6.20157 17.3382 6.30372 17.3547 6.43048C17.6354 9.18806 17.9008 11.996 18.3051 14.7356C18.3771 15.2467 18.4466 15.758 18.5137 16.2697C18.5163 16.2917 18.5195 16.336 18.5207 16.3582C18.5378 16.6193 18.4156 16.9263 18.1508 17.0687C17.9651 17.1752 17.7807 17.1763 17.5845 17.1755C16.1978 17.1755 4.69428 17.1755 3.34023 17.1755C3.20422 17.1726 3.01496 17.1862 2.86505 17.1451C2.45036 17.0406 2.25213 16.656 2.31666 16.2445C2.41071 15.5271 2.58579 14.2489 2.68621 13.5185C2.95476 11.5399 3.15849 9.46674 3.35962 7.47459C3.37582 7.3571 3.44296 6.63739 3.45714 6.52887L3.46698 6.43424L3.46814 6.42237C3.46814 6.41948 3.46901 6.4134 3.47045 6.40559C3.5156 6.02417 3.79254 5.74028 4.18929 5.74434ZM4.18929 6.6125C4.2136 6.6125 4.24804 6.59601 4.27872 6.57343C4.30302 6.55491 4.3201 6.53089 4.32704 6.51845C4.33457 6.50601 4.33486 6.50138 4.33399 6.50427C4.33341 6.50803 4.33225 6.51353 4.33138 6.51758C4.33138 6.51758 4.33081 6.51932 4.33052 6.52424L4.32936 6.5361L4.31923 6.63044C4.132 8.4151 3.9054 10.3181 3.74624 12.1016C3.63685 13.4481 3.56103 15.0256 3.46727 16.3753L3.46582 16.3915V16.3961C3.46582 16.3961 3.46611 16.3973 3.4664 16.3915C3.4664 16.3872 3.4664 16.375 3.46351 16.3588C3.45396 16.2908 3.41721 16.2161 3.3602 16.1507C3.29306 16.0798 3.20422 16.0246 3.12319 16.0162C3.11856 16.0162 3.13361 16.0173 3.15647 16.0176C4.67199 16.0182 16.0117 16.0176 17.5848 16.0176H17.6719C17.6823 16.017 17.6916 16.0168 17.6962 16.0165C17.7014 16.0162 17.7034 16.0159 17.6991 16.0162C17.5752 16.0286 17.4268 16.1591 17.3857 16.2795C17.3576 16.3556 17.3617 16.3788 17.362 16.3941C17.362 16.3921 17.362 16.393 17.362 16.3886L17.3605 16.3724C17.254 14.8543 17.1872 13.3292 17.0509 11.8148C16.8906 10.0895 16.6752 8.23163 16.4883 6.50456C16.495 6.52019 16.5161 6.55433 16.5468 6.57575C16.5714 6.59485 16.5989 6.60585 16.6145 6.60961L16.6243 6.61192H16.6284C16.6284 6.61192 16.6298 6.61279 16.6304 6.61279C16.6318 6.61279 16.6336 6.61279 16.633 6.61279C16.6324 6.61279 16.635 6.61279 16.6292 6.61279C16.5783 6.61221 16.4 6.61337 16.3445 6.61279H4.18929V6.6125Z"/><path d="M6.08301 8.78064C6.1788 7.5189 6.20658 6.21405 6.58539 4.98907C7.15432 3.11007 8.4421 2.11631 10.414 2.12673C13.8001 2.13338 14.5031 4.87997 14.6721 7.71395C14.6964 8.07453 14.7158 8.43453 14.745 8.78035L13.5874 8.77485C13.6172 8.46057 13.6575 8.02649 13.6754 7.71858C13.801 5.83351 13.5976 3.34129 11.3988 2.81605C10.7575 2.6676 10.0702 2.6676 9.42892 2.81605C7.61503 3.24811 7.15143 5.0374 7.12683 6.6872C7.11121 7.36929 7.17545 8.09132 7.24056 8.77485L6.08301 8.78035V8.78064Z"/></svg>';class BpCtl extends HTMLElement{async connectedCallback(){if(this.style_=this.dataset.bpCtlStyle||"",this.amplience=this.dataset.bpCtlAmplience||"",this.max=parseInt(this.dataset.bpCtlMax,10)||4,this.rail=this.querySelector("[data-bp-ctl-rail]"),this.prev=this.querySelector("[data-bp-ctl-prev]"),this.next=this.querySelector("[data-bp-ctl-next]"),!(!this.style_||!this.rail))if("IntersectionObserver"in window&&this.parentNode){const sentinel=document.createElement("div");sentinel.setAttribute("aria-hidden","true"),sentinel.style.cssText="width:1px;height:1px;",this.parentNode.insertBefore(sentinel,this),new IntersectionObserver((entries,obs)=>{entries.some(e=>e.isIntersecting)&&(obs.disconnect(),sentinel.remove(),this.load())},{rootMargin:"600px 0px"}).observe(sentinel)}else this.load()}async load(){try{if(this.outfit_=await this.fetchOutfit(this.style_),!this.outfit_||!this.outfit_.items||!this.outfit_.items.length)return;this.paint(),this.wireArrows(),this.wireBags(),this.onCart_=()=>this.paint(),document.addEventListener("bp:cart-lines:rendered",this.onCart_),document.addEventListener("cart:updated",this.onCart_)}catch(err){console.warn("[bp-ctl] outfit fetch failed",err)}}disconnectedCallback(){this._qaHost&&(this._qaHost.remove(),this._qaHost=null),this.onCart_&&(document.removeEventListener("bp:cart-lines:rendered",this.onCart_),document.removeEventListener("cart:updated",this.onCart_))}cartStyles(){const out=new Set;return document.querySelectorAll("[data-bp-cart-line][data-bp-style]").forEach(line=>{const s=(line.getAttribute("data-bp-style")||"").trim();s&&out.add(String(s))}),out}paint(){const inCart=this.cartStyles(),items=this.sortItems(this.style_,this.outfit_.items).filter(it=>!(it&&it.remote_id&&inCart.has(String(it.remote_id)))).slice(0,this.max);if(!items.length){this.hidden=!0;return}this.renderItems(items),this.hidden=!1,this.updateArrowState()}async fetchOutfit(style){let data;if(typeof window.bpStyliticsOutfits=="function")data=await window.bpStyliticsOutfits(style);else{const url=`https://widget-api.stylitics.com/api/outfits?username=bostonproper&item_number=${encodeURIComponent(style)}`,res=await fetch(url,{cache:"force-cache"});if(!res.ok)throw new Error("outfits HTTP "+res.status);data=await res.json()}return Array.isArray(data)&&data.length?data[0]:null}sortItems(style,items){const list=Array.from(items||[]),idx=list.findIndex(it=>it&&it.remote_id===style);return idx>=0&&list.splice(idx,1),list}renderItems(items){const html=items.map(item=>{const name=item&&item.name||"",isCollective=item&&item.brand!=="Boston Proper",remoteId=item&&item.remote_id,fallback=item&&item.image_url||"",imageUrl=isCollective||!remoteId?fallback:`${this.amplience}/i/bostonproper/${remoteId}_2?fmt=auto&w=800`,url=(item&&item.affiliate_link||"").replace(/^https?:\/\/(?:www\.)?bostonproper\.com/,"");return` 2 <li class="bp-ctl__item"> 3 <a class="bp-ctl__link" href="${url}"> 4 <div class="bp-ctl__media"> 5 <img src="${imageUrl}" alt="${this.escape(name)}" width="400" height="500" loading="lazy"> 6 <button type="button" class="bp-ctl__bag" data-bp-ctl-bag data-url="${url}" data-bp-remote-id="${this.escape(String(remoteId??""))}" aria-label="Quick add ${this.escape(name)}">${BP_CTL_BAG_SVG}</button> 7 </div> 8 <p class="bp-ctl__name">${this.escape(name)}</p> 9 </a> 10 </li>`}).join("");this.rail.innerHTML=html}escape(s){return String(s||"").replace(/[&<>"']/g,c=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[c])}wireBags(){this._bagsBound||(this._bagsBound=!0,this.rail.addEventListener("click",e=>{const bag=e.target.closest&&e.target.closest("[data-bp-ctl-bag]");if(!bag)return;e.preventDefault(),e.stopPropagation();const url=bag.getAttribute("data-url");this.setStyliticsWidgetAddContext(url,bag.getAttribute("data-bp-remote-id")),this.openQuickAdd(url)}))}setStyliticsWidgetAddContext(url,remoteId){const handle=(String(url||"").match(/\/products\/([^/?#]+)/)||[])[1]||"";handle&&(window.__bpStyliticsWidgetAdd={style:String(remoteId||handle),handle,until:Date.now()+9e4})}openQuickAdd(productUrl){if(!productUrl)return;let host=this._qaHost;host||(host=document.createElement("div"),host.style.cssText="position:absolute;
10left:-9999px;top:0;width:1px;height:1px;overflow:hidden;",document.body.appendChild(host),this._qaHost=host),host.innerHTML='<product-card><a class="product-card__link" ref="productCardLink" href="'+productUrl+'"></a><quick-add-component ref="quickAdd"><button type="button" class="button quick-add__button quick-add__button--choose add-to-cart-button" on:click="quick-add-component/handleClick"></button></quick-add-component></product-card>';const choose=host.querySelector(".quick-add__button--choose");typeof window.bpTrackCartQuickview=="function"&&window.bpTrackCartQuickview(productUrl),requestAnimationFrame(()=>{try{typeof window.bpOpenProductDrawer=="function"&&choose?window.bpOpenProductDrawer(choose):choose?choose.click():window.location.href=productUrl}catch(err){console.warn("[bp-ctl] quick-add open failed, navigating",err),window.location.href=productUrl}})}wireArrows(){this.prev&&this.prev.addEventListener("click",()=>{this.rail.scrollBy({left:-this.rail.clientWidth,behavior:"smooth"})}),this.next&&this.next.addEventListener("click",()=>{this.rail.scrollBy({left:this.rail.clientWidth,behavior:"smooth"})}),this.rail.addEventListener("scroll",()=>this.updateArrowState(),{passive:!0})}updateArrowState(){const max=this.rail.scrollWidth-this.rail.clientWidth;this.prev&&this.prev.toggleAttribute("disabled",this.rail.scrollLeft<=1),this.next&&this.next.toggleAttribute("disabled",this.rail.scrollLeft>=max-1)}}customElements.get("bp-ctl")||customElements.define("bp-ctl",BpCtl)}catch(e){console.error(e)}})(),(function(){if(!(!__blocks__["bp-pdp-bundle"]&&!Shopify.designMode))try{class BpPdpBundle extends HTMLElement{connectedCallback(){this.querySelectorAll("[data-bp-bundle-card]").forEach(card=>this.wireCard(card))}wireCard(card){if(!card.querySelector("[data-bp-bundle-card-variant-select]"))return;this.wireOptionValues(card),card.querySelectorAll("[data-bp-bundle-swatch]").forEach(sw=>{sw.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),this.swapColor(card,sw)})});const addBtn=card.querySelector("[data-bp-bundle-card-add]");addBtn&&addBtn.addEventListener("click",()=>this.addCard(card));const clearBtn=card.querySelector("[data-bp-bundle-card-clear]");clearBtn&&clearBtn.addEventListener("click",()=>this.clearCard(card)),this.onOptionChange(card)}wireOptionValues(card){card.querySelectorAll('.bp-bundle-card__option-value input[type="radio"]').forEach(r=>{r.dataset.bpWired!=="1"&&(r.dataset.bpWired="1",r.addEventListener("change",()=>this.onOptionChange(card)))}),card.querySelectorAll(".bp-bundle-card__option-value").forEach(label=>{label.dataset.bpWired!=="1"&&(label.dataset.bpWired="1",label.addEventListener("click",()=>{const input=label.querySelector('input[type="radio"]');input&&!input.disabled&&!input.checked&&(input.checked=!0,input.dispatchEvent(new Event("change",{bubbles:!0})))}))})}async swapColor(card,el){if(el.classList.contains("is-selected"))return;const handle=el.getAttribute("data-bp-bundle-swatch-handle")||"",href=el.getAttribute("href")||"/products/"+handle;if(!handle){el.tagName==="A"&&(window.location.href=href);return}if(card.dataset.bpSwapping!=="1"){card.dataset.bpSwapping="1",card.classList.add("is-swapping");try{const base=(window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root||"/").replace(/\/$/,""),res=await fetch(base+"/products/"+encodeURIComponent(handle)+".js",{credentials:"same-origin"});if(!res.ok)throw new Error("HTTP "+res.status);const data=await res.json();this.applySwap(card,el,data)}catch(err){console.warn("[bp-pdp-bundle] colour swap failed, navigating",err),window.location.href=href}finally{card.dataset.bpSwapping="",card.classList.remove("is-swapping")}}}applySwap(card,el,data){const esc=v=>String(v??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),colorName=el.getAttribute("aria-label")||"",variants=data.variants||[],optNames=(data.options||[]).map(o=>typeof o=="string"?o:o&&o.name||"");let colorIdx=optNames.findIndex(n=>/colou?r/i.test(n));colorIdx<0&&(colorIdx=0);let sizeIdx=optNames.findIndex((n,i)=>i!==colorIdx);sizeIdx<0&&(sizeIdx=optNames.length>1?1:0);const sizeKey="option"+(sizeIdx+1),sizeName=optNames[sizeIdx]||"Size",img=card.querySelector(".bp-bundle-card__img");if(img&&data.featured_image){const raw=String(data.featured_image),cut=(raw.indexOf("//")===0?raw:raw.replace(/^https?:/,"")).split("?")[0],ver=(raw.match(/[?&]v=(\d+)/)||[])[1],sized=w=>cut+"?width="+w+(ver?"&v="+ver:"");img.src=sized(600),img.srcset=sized(300)+" 300w, "+sized(600)+" 600w, "+sized(900)+" 900w",img.alt=
10data.title||"",img.removeAttribute("width"),img.removeAttribute("height")}const titleEl=card.querySelector(".bp-bundle-card__title");titleEl&&data.title&&(titleEl.textContent=data.title);const activeColor=card.querySelector("[data-bp-active-color]");activeColor&&colorName&&(activeColor.textContent=colorName),card.querySelectorAll("[data-bp-bundle-swatch]").forEach(sw=>{sw.classList.toggle("is-selected",sw===el)});const sizeFs=card.querySelector("fieldset[data-option-position]:not(.bp-bundle-card__option--color)");if(sizeFs){const avail={},order=[];variants.forEach(v=>{const sv=v[sizeKey];sv!=null&&(sv in avail||(avail[sv]=!1,order.push(sv)),v.available&&(avail[sv]=!0))});const wrap=sizeFs.querySelector(".bp-bundle-card__option-values");wrap&&(wrap.innerHTML=order.map(sv=>'<label class="bp-bundle-card__option-value'+(avail[sv]?"":" is-unavailable")+'" data-value="'+esc(sv)+'" aria-label="'+esc(sv)+'" title="'+esc(sv)+'"><input type="radio" name="options['+esc(sizeName)+']" value="'+esc(sv)+'"'+(avail[sv]?"":" disabled")+'><span class="bp-bundle-card__option-text">'+esc(sv)+"</span></label>").join(""));const span=sizeFs.querySelector("[data-bp-bundle-card-option-value]");span&&(span.textContent="");const clr=sizeFs.querySelector("[data-bp-bundle-card-clear]");clr&&(clr.hidden=!0)}const select=card.querySelector("[data-bp-bundle-card-variant-select]");select&&(select.innerHTML=variants.map(v=>'<option value="'+v.id+'" data-price="'+v.price+'" data-available="'+v.available+'" data-option1="'+esc(v.option1||"")+'" data-option2="'+esc(v.option2||"")+'" data-option3="'+esc(v.option3||"")+'">'+esc(v.title||"")+"</option>").join("")),card.dataset.productId=String(data.id||""),card.dataset.productHandle=data.handle||"",this.wireOptionValues(card),this.onOptionChange(card)}onOptionChange(card){card.querySelectorAll(".bp-bundle-card__option-value").forEach(l=>{const i=l.querySelector('input[type="radio"]');l.classList.toggle("is-selected",!!(i&&i.checked))});const picked=[null,null,null];let allPicked=!0,sizeValue="";card.querySelectorAll("fieldset[data-option-position]").forEach(fs=>{const pos=parseInt(fs.dataset.optionPosition,10),checked=fs.querySelector('input[type="radio"]:checked');checked?(picked[pos-1]=checked.value,fs.classList.contains("bp-bundle-card__option--color")||(sizeValue=checked.value)):allPicked=!1});const select=card.querySelector("[data-bp-bundle-card-variant-select]");let matched=null;Array.from(select.options).forEach(opt=>{(picked[0]===null||opt.dataset.option1===picked[0])&&(picked[1]===null||opt.dataset.option2===picked[1])&&(picked[2]===null||opt.dataset.option3===picked[2])&&(matched||(matched=opt))}),matched&&(select.value=matched.value);const available=!!(matched&&matched.dataset.available==="true"),ready=allPicked&&available,addBtn=card.querySelector("[data-bp-bundle-card-add]"),addLabel=card.querySelector("[data-bp-bundle-card-add-label]");addBtn&&(addBtn.disabled=!ready),addLabel&&(addLabel.textContent=ready?"ADD TO BAG":allPicked?"Unavailable":"Add to Bag");const sizeFs=card.querySelector("fieldset[data-option-position]:not(.bp-bundle-card__option--color)");if(sizeFs){const span=sizeFs.querySelector("[data-bp-bundle-card-option-value]");span&&(span.textContent=sizeValue);const clr=sizeFs.querySelector("[data-bp-bundle-card-clear]");clr&&(clr.hidden=!sizeValue)}}clearCard(card){card.querySelectorAll('fieldset[data-option-position]:not(.bp-bundle-card__option--color) input[type="radio"]').forEach(r=>{r.checked=!1}),this.onOptionChange(card)}async addCard(card){const select=card.querySelector("[data-bp-bundle-card-variant-select]"),id=select&&select.value;if(!id)return;const handle=card.dataset.productHandle,item={id:Number(id),quantity:1};try{if(window.bpLips&&handle){const props=await window.bpLips.forVariant(handle,id);props&&Object.keys(props).length&&(item.properties=props)}}catch{}const addBtn=card.querySelector("[data-bp-bundle-card-add]");addBtn&&(addBtn.disabled=!0);try{const root=window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root||"/",res=await fetch(root+"cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[item]})});if(!res.ok)throw new Error("cart/add HTTP "+res.status);const data=await res.json();document.dispatchEvent(new CustomEvent("product:added",{detail:{items:data&&data.items&&data.items[0],triggerArea:"other"}})),window.bpOpenCartDrawer&&window.bpOpenCartDrawer()}catch(err){console.error("[bp-pdp-bundle] add failed",err)}finally{addBtn&&(addBtn.disabled=!1)}}}customElements.get("bp-pdp-bundle")||customElements.define("bp-pdp-bundle",BpPdpBundle)}catch(e){console.error(e)}})(),(function(){if(!(!__blocks__["bp-pdp-media-gallery"]&&!Shopify.designMode))try{class BpPdpGallery extends HTMLElement{async connectedCallback(){this.rail=this.querySelector("[data-bp-pdp-rail]"),this.indicator=this.querySelector("[data-bp-pdp-indicator]"),this.dots=this.querySelector("[data-bp-pdp-dots]"),this.style_=this.dataset.bpStyle||"",this.amplienceBase=this.dataset.bpAmplienceBase||"",this.max=parseInt(this.dataset.bpMaxItems,10)||6,this.productTitle=this.dataset.bpProductTitle||"",this.initStickyPin();const hasAmplience=!!(this.style_&&this.amplienceBase),hasPrimary=!!(this.rail&&this.rail.querySelector("[data-bp-amp-primary]"));if(hasAmplience)try{const items=await this.fetchAmplience(this.style_);Array.isArray(items)&&items.length>0?this.replaceRail(items.slice(0,this.max)):hasPrimary&&this.hydrateFromFallback()}catch(err){console.warn("[bp-pdp-gallery] amplience fetch failed",err),hasPrimary&&this.hydrateFromFallback()}else this.wireVariantImageSwap();this.wireIndicator(),this.wireDots(),this.capDesktopRail()}capDesktopRail(){if(!this.rail)return;const mq=window.matchMedia("(min-width: 1024px)"),ROWS_VISIBLE=3,PEEK_FRACTION=.2,apply=()=>{const slides=Array.from(this.rail.querySelectorAll(".bp-pdp-gallery__slide:not([data-bp-amp-placeholder])")),capAt=ROWS_VISIBLE*2;if(!mq.matches||slides.length<=capAt){this.rail.style.maxHeight="",this.rail.style.overflowY="",this.rail.removeAttribute("data-bp-pdp-capped");return}const lastVisible=slides[capAt-1],nextRowStart=slides[capAt],railTop=this.rail.getBoundingClientRect().top,cutoff=lastVisible.getBoundingClientRect().bottom-railTop,rowTop=slides[capAt-2].getBoundingClientRect().top,rowHeight=nextRowStart.getBoundingClientRect().top-rowTop,peek=rowHeight>0?rowHeight*PEEK_FRACTION:0,height=cutoff+peek;height>0&&(this.rail.style.maxHeight=height+"px",this.rail.style.overflowY="auto",this.rail.setAttribute("data-bp-pdp-capped",""))};this._capRail=apply,apply(),window.addEventListener("resize",apply),mq.addEventListener&&mq.addEventListener("change",apply)}wireVariantImageSwap(){const scope=this.closest(".shopify-section, dialog")||document,productId=this.dataset.productId;scope.addEventListener("variant:update",e=>{const data=(e.detail||{}).data||{};if(data.productId&&productId&&String(data.productId)!==String(productId))return;const html=data.html;if(!html||typeof html.querySelector!="function")return;const freshGallery=html.querySelector(`bp-pdp-gallery[data-product-id="${productId}"]`)||html.querySelector("bp-pdp-gallery"),freshSlide0=freshGallery&&freshGallery.querySelector("[data-bp-pdp-rail] .bp-
10pdp-gallery__slide"),curSlide0=this.rail&&this.rail.querySelector(".bp-pdp-gallery__slide");!freshSlide0||!curSlide0||curSlide0.replaceWith(freshSlide0)})}initStickyPin(){const gallery=this,col=gallery.closest(".product-information__media");if(!col)return;const details=col.parentElement&&col.parentElement.querySelector(".product-details")||null,OFFSET=96,mq=window.matchMedia("(min-width: 1024px)");let state="",ticking=!1,flowLeft=0,flowWidth=0;const reset=()=>{gallery.style.position="",gallery.style.top="",gallery.style.left="",gallery.style.width="",state="top"},apply=()=>{if(ticking=!1,!mq.matches){state&&reset();return}if(getComputedStyle(col).position==="static"&&(col.style.position="relative"),state===""||state==="top"){const gr=gallery.getBoundingClientRect();flowLeft=gr.left,flowWidth=gr.width}if(gallery.querySelectorAll(".bp-pdp-gallery__slide:not([data-bp-amp-placeholder])").length>2){state&&state!=="top"&&reset();return}const colRect=col.getBoundingClientRect(),colTopDoc=window.scrollY+colRect.top,galleryH=gallery.offsetHeight,travel=(details?details.offsetHeight:col.offsetHeight)-galleryH;if(travel<=4){state&&state!=="top"&&reset();return}const start=colTopDoc-OFFSET,end=start+travel,y=window.scrollY;y<=start?state!=="top"&&reset():y>=end?state!=="bottom"&&(gallery.style.position="absolute",gallery.style.top=travel+"px",gallery.style.left="0",gallery.style.width=flowWidth+"px",state="bottom"):(gallery.style.position="fixed",gallery.style.top=OFFSET+"px",gallery.style.left=flowLeft+"px",gallery.style.width=flowWidth+"px",state="fixed")},onScroll=()=>{ticking||(ticking=!0,requestAnimationFrame(apply))};window.addEventListener("scroll",onScroll,{passive:!0}),window.addEventListener("resize",onScroll,{passive:!0}),mq.addEventListener&&mq.addEventListener("change",()=>{reset(),onScroll()}),setTimeout(apply,300),setTimeout(apply,1200),apply()}async fetchAmplience(style){const url=`${this.amplienceBase}/s/bostonproper/${encodeURIComponent(style)}_SET.json?protocol=https`,res=await fetch(url,{credentials:"omit"});if(!res.ok)throw new Error("Amplience HTTP "+res.status);const data=await res.json();return data&&data.items}replaceRail(items){if(!this.rail)return;const primary=this.rail.querySelector("[data-bp-amp-primary]"),keepSlide0=!!(primary&&items.length);if(primary&&keepSlide0){const slide0=primary.closest(".bp-pdp-gallery__slide");let sib=slide0.nextElementSibling;for(;sib;){const next=sib.nextElementSibling;sib.remove(),sib=next}const rest=items.slice(1).map((item,i)=>this.renderSlide(item,i+1)).join("");rest&&slide0.insertAdjacentHTML("afterend",rest)}else this.rail.innerHTML=items.map((item,i)=>this.renderSlide(item,i)).join("");this.slides=Array.from(this.querySelectorAll(".bp-pdp-gallery__slide")),this.indicator&&(items.length<=1?(this.indicator.remove(),this.indicator=null):this._updateIndicator&&requestAnimationFrame(this._updateIndicator)),this.setAttribute("data-bp-source","amplience"),this.setAttribute("data-bp-rendered-count",String(items.length))}hydrateFromFallback(){if(!this.rail)return;const primary=this.rail.querySelector("[data-bp-amp-primary]"),tpl=this.querySelector("template[data-bp-shopify-fallback]");if(!primary||!tpl)return;let sib=primary.closest(".bp-pdp-gallery__slide").nextElementSibling;for(;sib;){const next=sib.nextElementSibling;sib.remove(),sib=next}tpl.content.cloneNode(!0).querySelectorAll(".bp-pdp-gallery__slide").forEach(s=>{s.getAttribute("data-index")!=="0"&&this.rail.appendChild(s)}),this.slides=Array.from(this.querySelectorAll(".bp-pdp-gallery__slide")),this.setAttribute("data-bp-source","shopify-fallback")}renderSlide(item,index){const src=item&&item.src?item.src:"",isVideo=item&&item.type==="video",alt=`${this.productTitle} - ${index+1}`.replace(/"/g,""");if(isVideo)return` 11 <div class="bp-pdp-gallery__slide" data-index="${index}" data-media-type="video"> 12 <div class="product-media"> 13 <video 14 class="bp-pdp-gallery__video" 15 controls 16 autoplay 17 playsinline 18 muted 19 loop 20 preload="auto" 21 poster="${src}" 22 > 23 <source src="${src}/mp4_720p" type="video/mp4"> 24 <source src="${src}/webm_720p" type="video/webm"> 25 <source src="${src}/mp4_480p" type="video/mp4"> 26 </video> 27 </div> 28 </div>`;const setSrc=`${this.amplienceBase}/s/bostonproper/${encodeURIComponent(this.style_)}_SET/${index+1}`,base=`${setSrc}?w=1400&fmt=auto`,srcset=[400,800,1200,1600,1920,2560].map(w=>`${setSrc}?w=${w}&fmt=auto ${w}w`).join(", ");return` 29 <div class="bp-pdp-gallery__slide" data-index="${index}" data-media-type="image"> 30 <div class="product-media"> 31 <img 32 class="bp-pdp-gallery__img product-media__image" 33 data-bp-zoomable 34 data-bp-zoom-index="${index}" 35 src="${base}" 36 srcset="${srcset}" 37 sizes="(min-width: 1024px) calc(50vw - 60px), 100vw" 38 alt="${alt}" 39 loading="${index===0?"eager":"lazy"}" 40 fetchpriority="${index===0?"high":"auto"}" 41 > 42 </div> 43 </div>`}wireIndicator(){if(!this.rail||!this.indicator)return;const update=()=>{if(!this.rail||!this.indicator)return;const visible=this.rail.clientWidth,total=this.rail.scrollWidth;if(total<=visible+1){this.indicator.style.display="none";return}this.indicator.style.display="";const overflow=total-visible,thumbW=visible/total*100,thumbX=overflow>0?this.rail.scrollLeft/overflow:0;this.indicator.style.setProperty("--bp-pdp-thumb-w",thumbW+"%"),this.indicator.style.setProperty("--bp-pdp-thumb-x",thumbX)};this._updateIndicator=update,this.rail.addEventListener("scroll",update,{passive:!0}),window.addEventListener("resize",update),requestAnimationFrame(update)}wireDots(){if(!this.rail||!this.dots)return;const slides=()=>Array.from(this.querySelectorAll(".bp-pdp-gallery__slide")),sync=()=>{const list=slides();if(!list.length||!this.dots.children.length)return;const center=this.rail.scrollLeft+this.rail.clientWidth/2;let active=0,best=1/0;list.forEach((s,i)=>{const c=s.offsetLeft-this.rail.offsetLeft+s.clientWidth/2,d=Math.abs(c-center);d<best&&(best=d,active=i)}
43),Array.from(this.dots.children).forEach((dot,i)=>{dot.classList.toggle("is-active",i===active),dot.setAttribute("aria-current",i===active?"true":"false")})},build=()=>{const list=slides();if(list.length<=1){this.dots.style.display="none",this.dots.innerHTML="";return}this.dots.style.display="",this.dots.children.length!==list.length&&(this.dots.innerHTML=list.map((_,i)=>`<button type="button" class="bp-pdp-gallery__dot" aria-label="View image ${i+1}"></button>`).join(""),Array.from(this.dots.children).forEach((dot,i)=>{dot.addEventListener("click",()=>{const s=slides()[i];s&&this.rail.scrollTo({left:s.offsetLeft-this.rail.offsetLeft,behavior:"smooth"})})})),sync()};this._buildDots=build,this._syncDots=sync,this.rail.addEventListener("scroll",sync,{passive:!0}),window.addEventListener("resize",sync),build()}}customElements.get("bp-pdp-gallery")||customElements.define("bp-pdp-gallery",BpPdpGallery),(function(){if(!window.__bpPdpWishlistDelegated){window.__bpPdpWishlistDelegated=!0;var bpwGetData=function(productId){var el=document.getElementById("bp-pdp-save-data-"+productId);if(!el)return null;try{return JSON.parse(el.textContent||"{}")}catch{return null}},bpwVariantId=function(data){var idInput=document.querySelector('input[ref="variantId"], #quick-add-modal-content input[name="id"]');return idInput&&idInput.value?String(idInput.value):data&&data.variants&&Object.keys(data.variants)[0]||""},bpwIsSaved=function(vid){try{if(!window.bpSavedForLater||!vid)return!1;var list=window.bpSavedForLater.getLocalWishlist();return(list&&list.items||[]).some(function(it){return String(it.variant_id)===String(vid)})}catch{return!1}},bpwRenderAll=function(){document.querySelectorAll("[data-bp-pdp-save-later]").forEach(function(root){var btn=root.querySelector("[data-bp-pdp-save-later-btn]");if(btn){var data=bpwGetData(root.getAttribute("data-product-id")),saved=bpwIsSaved(bpwVariantId(data));root.classList.toggle("is-saved",saved),btn.setAttribute("aria-pressed",saved?"true":"false"),btn.setAttribute("aria-label",saved?"Remove from Wishlist":"Add to Wishlist")}})};bpwRenderAll(),["wishlist:updated","bp:saved:updated","wishlist:item-saved","variant:update","variant:change","bp:pdp:swapped"].forEach(function(ev){document.addEventListener(ev,bpwRenderAll)}),document.addEventListener("click",function(e){var btn=e.target.closest&&e.target.closest("[data-bp-pdp-save-later-btn]");if(btn){var root=btn.closest("[data-bp-pdp-save-later]");if(root){e.preventDefault();var data=bpwGetData(root.getAttribute("data-product-id"));if(data){var vid=bpwVariantId(data),variant=data.variants&&data.variants[vid]||data.variants&&data.variants[Object.keys(data.variants)[0]];if(variant){if(!window.bpSavedForLater){console.warn("[bp-pdp-gallery wishlist] bpSavedForLater missing");return}if(bpwIsSaved(variant.id)){window.bpSavedForLater.removeWishlistItem(data.id,variant.id),bpwRenderAll();return}var customerId=window.bpSavedForLater.getCustomerId(),all=window.bpSavedForLater.getSavedItemsLocalStorage()||{},current=all[customerId]||{items:[],count:0},cartItemData={id:String(data.id),handle:data.handle,variant_price:String(variant.price),variant_compare_at_price:String(variant.compare_at_price||""),variant_title:String(variant.title||""),variant_id:String(variant.id),title:data.title,image:variant.image||data.image,quantity:"1",variant_sku:String(variant.sku||""),savedAt:Date.now()};try{typeof window.AddToSmartWishlist=="function"&&window.AddToSmartWishlist(cartItemData.id,cartItemData.variant_id)}catch(err){console.warn("[bp-pdp-gallery wishlist] AddToSmartWishlist failed",err)}var nextItems=[cartItemData].concat((current.items||[]).filter(function(it){return String(it.variant_id)!==String(cartItemData.variant_id)}));all[customerId]=Object.assign({},current,{items:nextItems,count:nextItems.length}),window.bpSavedForLater.storeSavedItemsLocalStorage(all),typeof window.bpSavedForLater.stampSavedOrder=="function"&&window.bpSavedForLater.stampSavedOrder(cartItemData.variant_id),document.dispatchEvent(new CustomEvent("wishlist:item-saved",{detail:{item:cartItemData}})),bpwRenderAll()}}}}})}window.__bpHtwiScrollWired||(window.__bpHtwiScrollWired=!0,document.addEventListener("click",function(e){var btn=e.target.closest&&e.target.closest("[data-bp-gallery-htwi]");if(btn){e.preventDefault();try{var mod=window.styliticsComposer&&window.styliticsComposer.modules&&window.styliticsComposer.modules[0];mod&&typeof mod.trackClickJumpLink=="function"&&mod.trackClickJumpLink()}catch{}var target=document.querySelector('[data-bp-stylitics-placement="pdp-how-to-wear-it"], #how-to-wear-it, .bp-htwi');if(target)try{target.scrollIntoView({behavior:"smooth",block:"start"})}catch{target.scrollIntoView()}}})),window.__bpHtwiVisibilityWired||(window.__bpHtwiVisibilityWired=!0,document.addEventListener("bp:htwi:visibility",function(e){var visible=!!(e.detail&&e.detail.visible);document.querySelectorAll("[data-bp-gallery-htwi]").forEach(function(btn
43){btn.hidden=!visible})}))})()}catch(e){console.error(e)}})(),(function(){if(!(!__blocks__["bp-promo-line"]&&!Shopify.designMode))try{(function(){function findPriceTarget(promo){const root=promo.closest("product-information")||promo.closest(".product-information")||promo.closest(".bp-qd__body")||promo.closest("product-card")||promo.closest("main")||document;return root.querySelector("product-price")||root.querySelector(".price-container")||root.querySelector(".price")}function hoist(promo){if(!promo||promo.dataset.bpHoisted==="1")return;const target=findPriceTarget(promo);if(!target)return;(target.tagName||"").toLowerCase()==="product-price"?(target.appendChild(promo),target.dataset.bpHasPromo="1",target.style.display="flex",target.style.flexDirection="row",target.style.flexWrap="wrap",target.style.alignItems="baseline",target.style.gap="4px",promo.style.margin="0",promo.style.width="auto"):target.parentNode&&target.parentNode.insertBefore(promo,target.nextSibling),promo.dataset.bpHoisted="1"}function hoistAll(scope){(scope||document).querySelectorAll('[data-bp-promo-line]:not([data-bp-hoisted="1"])').forEach(hoist)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>hoistAll()):hoistAll(),new MutationObserver(mutations=>{for(const m of mutations)for(const node of m.addedNodes)node.nodeType===1&&(node.matches&&node.matches("[data-bp-promo-line]")?hoist(node):node.querySelectorAll&&hoistAll(node))}).observe(document.body,{childList:!0,subtree:!0})})()}catch(e){console.error(e)}})(),(function(){if(!(!__blocks__["bp-require-size"]&&!Shopify.designMode))try{class BpRequireSize extends HTMLElement{connectedCallback(){this.root=this.closest(".shopify-section")||this.closest("quick-add-dialog")||document,requestAnimationFrame(()=>this.init())}disconnectedCallback(){this.onVariant&&["variant:update","variant:change","variantchange"].forEach(evt=>document.removeEventListener(evt,this.onVariant)),this._mo&&this._mo.disconnect()}init(){if(this.picker=this.root.querySelector("variant-picker"),!this.picker)return;this.root.addEventListener("invalid",e=>this.onInvalid(e),!0),["change","input"].forEach(evt=>this.picker.addEventListener(evt,()=>this.sync(),{passive:!0})),this.onVariant=e=>{const r=e&&e.detail&&(e.detail.resource||e.detail.variant);r&&typeof r.available<"u"&&(this.currentAvailable=r.available),this.sync()},["variant:update","variant:change","variantchange"].forEach(evt=>document.addEventListener(evt,this.onVariant)),this._mo=new MutationObserver(()=>{this._raf||(this._raf=requestAnimationFrame(()=>{this._raf=0,this.sync()}))});const pk=this.root.querySelector("variant-picker");pk&&this._mo.observe(pk,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["checked","aria-checked","class","data-current-checked","aria-disabled","data-option-available"]}),this.sync()}fieldsets(){const picker=this.root.querySelector("variant-picker");return picker&&(this.picker=picker),this.picker?Array.from(this.picker.querySelectorAll("fieldset")):[]}needsChoice(f){return f.querySelectorAll('input[type="radio"]').length>1}isComplete(){const fs=this.fieldsets();return fs.length?fs.every(f=>!this.needsChoice(f)||f.querySelector('input[type="radio"]:checked')):!0}firstIncompleteName(){const fs=this.fieldsets().find(f=>this.needsChoice(f)&&!f.querySelector('input[type="radio"]:checked'));if(!fs)return"size";const prefix=fs.querySelector(".variant-option__swatch-prefix");return(prefix?prefix.textContent.trim().toLowerCase():"")||"size"}onInvalid(e){!e.target||!this.picker.contains(e.target)||(e.preventDefault(),this.prompt())}prompt(){if(!this.picker)return;const msg=this.msgEl();msg.textContent=`Please select your ${this.firstIncompleteName()}.`,msg.hidden=!1,this.picker.classList.add("bp-require-size--flag");const firstRadio=this.picker.querySelector('fieldset input[type="radio"]:not([aria-disabled="true"])');firstRadio&&(this.picker.scrollIntoView({behavior:"smooth",block:"center"}),firstRadio.focus({preventScroll:!0}))}msgEl(){return this._msg||(this._msg=document.createElement("p"),this._msg.className="bp-require-size__msg",this._msg.setAttribute("role","alert"),this._msg.hidden=!0,this.picker.insertAdjacentElement("afterend",this._msg)),this._msg}selectionInStock(){if(this.currentAvailable===!1)return!1;if(this.currentAvailable===!0)return!0;const fs=this.fieldsets();if(!fs.length)return!0;const checked=fs.map(f=>
43f.querySelector('input[type="radio"]:checked')).filter(Boolean);return checked.length?checked.every(r=>r.getAttribute("aria-disabled")!=="true"&&r.getAttribute("data-option-available")!=="false"):!1}sync(){const complete=this.isComplete(),inStock=this.selectionInStock(),addable=complete&&inStock;complete&&this._msg&&(this._msg.hidden=!0,this.picker.classList.remove("bp-require-size--flag")),this.root.querySelectorAll("accelerated-checkout-component, .shopify-payment-button").forEach(el=>{el.style.display=addable?"":"none"}),this.root.querySelectorAll('add-to-cart-component button, button[name="add"], .add-to-cart-button').forEach(btn=>{btn.toggleAttribute("data-bp-size-block",!addable),addable?btn.removeAttribute("aria-disabled"):btn.setAttribute("aria-disabled","true"),complete&&!inStock?(btn.disabled=!0,this._bpDisabled=!0):this._bpDisabled&&(btn.disabled=!1,this._bpDisabled=!1),this.setCatcher(btn,!complete)})}setCatcher(btn,on){const host=btn.parentElement;if(host)if(on){host.classList.add("bp-require-size__host");let ov=host.querySelector(":scope > .bp-require-size__catch");ov||(ov=document.createElement("div"),ov.className="bp-require-size__catch",ov.setAttribute("aria-hidden","true"),ov.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),this.prompt()}),host.appendChild(ov)),ov.hidden=!1}else{const ov=host.querySelector(":scope > .bp-require-size__catch");ov&&(ov.hidden=!0)}}}customElements.get("bp-require-size")||customElements.define("bp-require-size",BpRequireSize)}catch(e){console.error(e)}})(),(function(){if(!(!__blocks__["bp-youll-also-love"]&&!Shopify.designMode))try{const BP_YALL_BR_WIDGET="09z4d58l",BP_YALL_BR_HOST="https://pathways.dxpapi.com/api/v2/widgets/item/",BP_YALL_BR_FIELDS="pid,title,url,brand,price,sale_price,thumb_image,sku,slug";class BpYall extends HTMLElement{async connectedCallback(){if(this.productId=this.dataset.bpYallProductId,this.limit=parseInt(this.dataset.bpYallLimit,10)||20,this.recsUrl=this.dataset.bpYallRecsUrl||"/recommendations/products",this.amplience=this.dataset.bpYallAmplience||"",this.useBr=this.dataset.bpYallUseBr==="true",this.rail=this.querySelector("[data-bp-yall-rail]"),this.prev=this.querySelector("[data-bp-yall-prev]"),this.next=this.querySelector("[data-bp-yall-next]"),!this.productId||!this.rail){console.warn("[bp-yall] missing productId or rail",{productId:this.productId,rail:!!this.rail});return}try{const products=this.useBr?await this.fetchBloomreach():await this.fetchRecommendations();if(!products||!products.length){this.hidden=!0;return}this.render(products.slice(0,this.limit)),this.wireArrows(),this.updateArrowState(),this.useBr&&this.handOffToHydrate()}catch(err){console.warn("[bp-yall] fetch failed",err),this.hidden=!0}}handOffToHydrate(){const rail=this.rail,tick=left=>{if(window.BpCardHydrate&&typeof window.BpCardHydrate.observeCards=="function"){window.BpCardHydrate.observeCards(rail);return}left<=0||setTimeout(()=>tick(left-100),100)};tick(3e3)}async fetchBloomreach(){const br=window.shop&&window.shop.br||{},accountId=br.accountId||"",domainKey=br.domainKey||"bostonproper",uidMatch=document.cookie.match(/(?:^|;\s*)_br_uid_2=([^;]+)/);let uid="";if(uidMatch)try{uid=decodeURIComponent(uidMatch[1])}catch{uid=uidMatch[1]}const params=new URLSearchParams({account_id:accountId,domain_key:domainKey,item_ids:this.productId,rows:String(this.limit),fields:BP_YALL_BR_FIELDS,_br_uid_2:uid,url:window.location.href,ref_url:document.referrer||window.location.href});params.get("_br_uid_2")||params.delete("_br_uid_2");const res=await fetch(`${BP_YALL_BR_HOST}${BP_YALL_BR_WIDGET}?${params}`,{credentials:"omit"});if(!res.ok)throw new Error("BR HTTP "+res.status);const data=await res.json(),docs=data.response&&data.response.docs||[],hrefFromDoc=doc=>{const m=String(doc.url||"").match(/\/products\/([^/?#]+)/);return m?`/products/${m[1]}`:doc.url||""};return docs.map(doc=>{const onSale=doc.sale_price!=null&&doc.price!=null&&Number(doc.sale_price)<Number(doc.price)-.001;return{title:doc.title||"",url:hrefFromDoc(doc),image:doc.thumb_image||"",price:onSale?doc.sale_price:doc.price,compare_at_price:onSale?doc.price:null}})}async fetchRecommendations(){const jsonUrl=`${this.recsUrl}.json?product_id=${this.productId}&limit=${this.limit}&intent=related`;try{const jsonRes=await fetch(jsonUrl,{credentials:"same-origin"});if(jsonRes.ok){const data=await jsonRes.json();if(data&&Array.isArray(data.products)&&data.products.length)return data.products}}catch{}const params=new URLSearchParams({section_id:"product-recommendations",product_id:this.productId,intent:"related",limit:String(this.limit)}),url=`${this.recsUrl}?${params.toString()}`,res=await fetch(url,{credentials:"same-origin"});if(!res.ok)throw new Error("recs HTTP "+res.status);const text=await res.text();try{return JSON.parse(text).products||[]}catch{return this.parseHtmlResponse(text)}}parseHtmlResponse(html){const links=new DOMParser().parseFromString(html,"text/html").querySelectorAll('a[href*="/products/"]'),seen=new Set,out=[];return links.forEach(a2=>{const href=a2.getAttribute("href")||"",handle=href.split("/products/")[1]?.split(/[\/?#]/)[0];if(!handle||seen.has(handle))return;seen.add(handle);const img=a2.querySelector("img"),title=img&&(img.getAttribute("alt")||img.alt)||a2.querySelector(".product-recommendations__title")?.textContent||handle.replace(/-/g," "),styleEl=a2.closest("[data-style]"),style=styleEl?styleEl.getAttribute("data-style"):"",srcsetSrc=img&&(img.getAttribute("src")||img.getAttribute("data-src"));out.push({handle,url:href,title:title.trim(),style,image:srcsetSrc||""})}),out}render(products){const html=products.map(p=>{const handle=p.handle||p.url&&p.url.split("/products/")[1]?.split(/[\/?#]/)[0]||"",url=p.url||(handle?`/products/${handle}`:"#"),title=(p.title||handle||"Product").replace(/-/g," ");let image="";const style=p.style||p.metafields&&p.metafields.BP_ProductAttributes&&p.metafields.BP_ProductAttributes.bp_style;return style&&this.amplience?image=`${this.amplience}/s/bostonproper/${style}_SET?w=480`:p.featured_image&&(p.featured_image.src||typeof p.featured_image=="string")?image=(p.featured_image.src||p.featured_image)+"":p.image?image=p.image:Array.isArray(p.images)&&p.images[0]&&(image=p.images[0].src||p.images[0]),` 44 <li class="bp-yall__item bp-card" data-product-url="${url}"> 45 <a class="bp-yall__link" href="${url}" data-bp-card-product-link> 46 <div class="bp-yall__media"> 47 <img src="${image}" alt="${this.escape(title)}" loading="lazy" width="320" height="400" data-bp-card-image-primary> 48 </div> 49 </a> 50 <div class="bp-card__body"> 51 <p class="bp-yall__title"><a href="${url}" data-bp-card-product-link>${this.escape(title)}</a></p> 52 </div> 53 </li>`}).join("");this.rail.innerHTML=html}escape(s){return String(s||"").replace(/[&<>"']/g,c=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[c])}wireArrows(){this.prev&&this.prev.addEventListener("click",()=>{this.rail.scrollBy({left:-this.rail.clientWidth*.9,behavior:"smooth"})}),this.next&&this.next.addEventListener("click",()=>{this.rail.scrollBy({left:this.rail.clientWidth*.9,behavior:"smooth"})}),this.rail.addEventListener("scroll",()=>this.updateArrowState(),{passive:!0})}updateArrowState(){const max=this.rail.scrollWidth-this.rail.clientWidth;this.prev&&this.prev.toggleAttribute("disabled",this.rail.scrollLeft<=1),this.next&&this.next.toggleAttribute("disabled",this.rail.scrollLeft>=max-1)}}customElements.get("bp-yall")||customElements.define("bp-yall",BpYall)}catch(e){console.error(e)}})()})(); 54//# sourceMappingURL=/cdn/shop/t/1521/compiled_assets/block-scripts.js.map?v=169005028727735037821790713714
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.