1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[24321],{2698:(e,t,r)=>{r.r(t),r.d(t,{default:()=>u});var o=r(1873),i=r(53520),a=r(44410),n=r(51540),s=r(2759),l=r(92899),c=r(9954);let d=["ImgComp","imageWrapperRef"],u=function(e){let{sponsor:t="",sxProps:r={},themeOptions:u={},layoutType:m=""}=e,{badgeProps:p,imageProps:f,restProps:g}=(0,l.j)(e),{ImgComp:h,imageWrapperRef:b}=f,y=(0,i.A)(f,d),{isSimplifiedPSV:v}=g;return y.image?(0,c.Y)(n._,(0,o.A)({sx:r?.ProductImageContainer,"data-theme-key":"embedded-product-image-container"},u?.ProductImageContainer,{ref:b}),(0,c.Y)(n.V,(0,o.A)({"data-optimizely":"product-image-container",sx:r?.ImageContainer,"data-theme-key":"product-image-container"},u?.ImageContainer,{isSimplifiedPSV:v,layoutType:m}),p.slug?(0,c.Y)(a.A,(0,o.A)({},p,{sx:r?.ProductBadge})):null,t?(0,c.Y)(s.A,{sponsorName:t}):null,(0,c.Y)(h,(0,o.A)({srcSet:!0},y,{"data-fp-product-image":!0,dataFpTag:"data-fp-product-image"})))):null}},2759:(e,t,r)=>{r.d(t,{A:()=>u});var o=r(1873),i=r(53520),a=r(38536),n=r(28270);let s=(0,a.A)("div",{target:"e8motb10"})((0,n.Ay)("product-sponsor",{display:"block",width:"auto",height:"auto",bottom:0,position:"absolute",zIndex:1,textAlign:"center",color:"#494949",backgroundColor:"#E8EBECCC",fontSize:"12px",padding:"4px 12px"}),"");var l=r(52134),c=r(9954);let d=["sponsorName"],u=function(e){let{sponsorName:t=""}=e,r=(0,i.A)(e,d),a=(0,l.Z)();return t?(0,c.Y)(s,(0,o.A)({class:"product-sponsor","data-theme-key":a?void 0:"product-sponsor"},r),`Sponsored by ${t}`):null}},13753:(e,t,r)=>{r.d(t,{R:()=>l});var o=r(93682),i=r(53520);let a=["variant"];function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let l=e=>{let{itemTitle:t}=e,r=t||{},{variant:o}=r,n=(0,i.A)(r,a);return{ProductWrapper:s({},e?.item),ProductImageWrapper:{display:"block",textDecoration:"none","@media (any-hover: hover)":{transition:"color 0.3s ease-in-out","&:hover":{color:"link-hover-item-title-primary"}}},ProductImage:{ProductBadge:{zIndex:1},ImageContainer:{"& > img":{zIndex:0,position:"absolute",top:0,width:"100%",minWidth:"100%",height:"var(--height, auto)",maxHeight:"100%",objectFit:"var(--object-fit, cover)"},"&:before":{content:'""',color:"transparent",display:"block",width:"100%",height:0,pb:"var(--aspect-ratio, 100%)"}}},ProductInfoDetails:s({display:"block"},e?.itemContent),ProductLabel:{display:"inline-block",backgroundColor:"product-custom-tag.bg",color:"product-custom-tag.color"},ProductTitle:s({fontWeight:"bold",mt:"0.83em",mb:"0.9375rem"},n),ProductTitleWrapper:s({},e?.TitleWrapper),ProductButtons:{ProductButtonsContainer:{alignItems:"center"}}}}},14462:(e,t,r)=>{r.d(t,{B9:()=>d,DG:()=>u,IZ:()=>l,VP:()=>c});var o=r(93682),i=r(15990),a=r(54105);function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let l={gridArea:"header"},c=(e,t)=>({bps:[{options:t,value:s({display:"grid",gridRowGap:{_:"m"},gridColumnGap:{_:"m",xlg:0}},e?{gridTemplateAreas:{_:` 2 "header header header" 3 "content content ad" 4 `,xlg:` 5 "lgut header header header rgut" 6 "lgut content content ad rgut" 7 `},gridTemplateRows:"repeat(2, auto)",gridTemplateColumns:{_:"auto auto auto",xlg:"1fr repeat(3, minmax(auto, {maxContentWidthAd})) 1fr"}}:{gridTemplateAreas:{_:` 8 "header" 9 "content" 10 `,xlg:` 11 "lgut header rgut" 12 "lgut content rgut" 13 `},gridTemplateRows:"repeat(2, auto)",gridTemplateColumns:{_:"minmax(auto, {maxContentWidth}
13)",xlg:"1fr minmax(auto, {maxContentWidth}) 1fr"}})}]}),d=(e,{isMobileStickyAds:t=!1,additionalOffsetTop:r=0}={})=>({adText:{display:{"xxs:smd":"flex"},"&, &:after, &:before":{display:{[e]:"none"}}},container:{width:"100%",display:{"xxs:smd":"block"},left:{[e]:"unset"}},wrapper:{textAlign:"center",display:{"xxs:smd":"flex"},width:{_:"calc(100% + (0.938rem * 2))",md:"calc(100% + (2.5rem * 2))",smd:"unset"},mt:1.25,mb:1.25,margin:{[e]:0},marginLeft:{_:"-0.938rem",md:"-2.5rem",smd:0},position:{[e]:"sticky","<xs":t?"relative":"static"},transition:"top var(--rr-ad-transition-duration, 0s) ease-in",top:{[e]:`calc(var(--sticky-leaderboard-height, 0px) + var(--sticky-header-height) + ${r?`${r}px`:"var(--sticky-navs-height)"})`},alignSelf:{[e]:"flex-start"},gridArea:{[e]:"ad"},"&:after":{content:'""',display:"flex",m:{_:"0 {mobileOuterGutter}",md:"{s} {tabletOuterGutter} 0",xxlg:"{s} 0 0"},visibility:{[e]:"hidden"}}}}),u=()=>({adText:{"&:after":{mr:0},"&:before":{ml:0}},container:{m:(0,a.aP)("xlg")},wrapper:{m:{_:"{m} 0",smd:"{m} auto"},maxWidth:{lg:"{maxContentWidth}"},"#gpt-ad-leaderboard-bottom":s({},i.Q)}})},15990:(e,t,r)=>{r.d(t,{Q:()=>o});let o={position:{_:"sticky",md:"relative"},m:{"md>":"0 calc(50% - 50vw)"}}},23093:(e,t,r)=>{r.d(t,{M:()=>s});var o=r(38815),i=r(72806),a=r(20339),n=r(82511);function s(e){let{price:t,listprice:r,customListPrice:s,customPrice:l,showPrice:c,currency:d}=e,u=(0,a.Bd)("content.product.cta-discount")||(0,n.J)(i.A,"product.cta-discount"),m=c&&(0,o.T2)(r,t,l,s,d),p=(0,o.cT)(s||r,l||t);return{discount:m?u?.replace?.("{discount}",p):null,isShowDiscount:m}}},24321:(e,t,r)=>{r.r(t),r.d(t,{default:()=>e_});var o=r(71055),i=r(14687),a=r(62191),n=r(90580),s=r(14462),l=r(1873),c=r(93682),d=r(80166),u=r(42757),m=r(45025),p=r(18952),f=r(33588),g=r(2698),h=r(32354),b=r(78610),y=r(6913),v=r(13753),w=r(44091),k=r(38536),x=r(28270),A=r(66726);let P=(0,k.A)("section",{target:"e1q24c6y12"})((0,x.Ay)("product-recommendations-section",{padding:{_:"0 {*sizes.primitive-15} {*sizes.primitive-20}",md:"0 {*sizes.primitive-40} {*sizes.primitive-30}"},bps:[{options:"xlg",value:{display:"grid",gridColumnGap:0,gridTemplateAreas:` 14 "lgut header rgut" 15 "lgut content rgut" 16 `,gridTemplateColumns:"1fr minmax(auto, 75rem) 1fr"}}],'[data-theme-key="carousel-item"]':{display:"flex",flexDirection:"column",justifyContent:"space-between",border:"border-xxs-grey",borderRight:"0 solid transparent","&:last-of-type":{borderRight:"border-xxs-grey"}}}),""),_=(0,k.A)("div",{target:"e1q24c6y11"})((0,x.Ay)("product-recommendations-grid",{contain:"layout",display:"grid",gridArea:"content",gridGap:0,gridTemplateColumns:{_:"repeat(2, 1fr)",smd:"repeat(4, 1fr)"},borderLeft:{_:"0 solid transparent"},borderTop:{_:"0 solid transparent"},marginTop:{sm:"{*sizes.primitive-15}"},borderY:{md:"border-xxs-grey"},borderX:{md:"border-xxs-grey"}}),""),O=(0,k.A)("div",{target:"e1q24c6y10"})((0,x.Ay)("product-recommendations-card",{clear:"none",position:"relative",wordBreak:"break-word",padding:"{*sizes.primitive-15}",display:"flex",flexDirection:"column",justifyContent:"flex-start",'[data-theme-key="product-image-container"]':{'&:has([data-theme-key="product-badge"])':{overflow:"visible"},img:{objectFit:"contain"}},"&:nth-child(3), &:nth-child(4)":{borderTop:{"<md":"border-xxs-grey"}},"&:not(:last-child)":{borderRight:{md:"border-xxs-grey"}},"&:nth-child(2)":{borderRight:{"<md":"0 solid transparent"}},"[data-theme-key='separator-multi-retailer']":{marginTop:{_:"{*sizes.primitive-15}","<sm":"{*sizes.primitive-13}"},marginBottom:{_:"{*sizes.primitive-4}"}},"[data-theme-key='embedded-product-buttons-container']":{marginTop:{"xxs>":"0","md>":"{*sizes.primitive-4}","lg>":"{*sizes.primitive-4}"},marginBottom:{"xxs>":"0"},maxWidth:{"<lg":"calc(100vw - {*sizes.primitive-64})"}},"[data-theme-key='embedded-product-button-v2'],[data-theme-key='embedded-product-multi-retailer-button']":{marginBottom:"0.1rem"}}),""),S=(0,k.A)(O,{target:"e1q24c6y9"})((0,x.Ay)("product-recommendations-card-carousel",{height:"100%"}),""),T=(0,k.A)("div",{target:"e1q24c6y8"})((0,x.Ay)("product-recommendations-image-wrapper",{maxWidth:"100%",display:"block"}),""),C=(0,k.A)(A.A,{target:"e1q24c6y7"})((0,x.Ay)("product-recommendations-title-link",{display:"block",textDecoration:"none"}),""),j=(0,k.A)("div",{target:"e1q24c6y6"})((0,x.Ay)("product-recommendations-button-block",{marginBottom:"{*sizes.primitive-10}",display:"flex",flexDirection:"column",alignItems:"center",marginTop:"{*sizes.primitive-0}",'[data-theme-key="embedded-product-buttons-container"]':{marginTop:"0"}}),""),I=(0,k.A)("div",{target:"e1q24c6y5"})((0,x.Ay)("product-recommendations-carousel-wrapper",{display:"flex",flexDirection:"column",alignItems:"center"}),""),B=(0,k.A)("div",{target:"e1q24c6y4"})((0,x.Ay)("product-recommendations-carousel-footer",{width:"100%",display:"flex",flex:1,alignItems:"center",justifyContent:"space-between",minWidth:0,gap:"{*sizes.primitive-8}"}),""),E=(0,k.A)("span",{target:"e1q24c6y3"})((0,x.Ay)("product-recommendations-carousel-status",{flexShrink:0}),""),W=(0,k.A)("div",{target:"e1q24c6y2"})((0,x.Ay)("product-recommendations-carousel-footer-nav",{display:"flex",alignItems:"center",minWidth:0,gap:"{*sizes.primitive-4}"}),""),D=(0,k.A)("div",{target:"e1q24c6y1"})((0,x.Ay)("product-recommendations-carousel-dots",{display:"flex",flex:1,justifyContent:"center",alignItems:"center",gap:"{*sizes.primitive-12}",minWidth:0}),""),M={disabledColor:"brandColorSenary",primary:"brandColorSenary"},R={flexShrink:0,width:"{*sizes.primitive-32}",height:"{*sizes.primitive-32}",padding:0,background:"transparent",border:"none",borderRadius:"50%",boxShadow:"none","&:hover":{backgroundColor:"transparent"},"&:disabled":{opacity:0,border:"none",backgroundColor:"none"}},L=(0,k.A)("button",{target:"e1q24c6y0"})((0,x.Ay)("product-recommendations-carousel-dot",{flexShrink:0,width:"{*sizes.primitive-15}",height:"{*sizes.primitive-15}",borderRadius:"50%",border:"none",padding:0,cursor:"pointer"}),"");var N=r(28707),Y=r(9954);function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
16t%2?F(Object(r),!0).forEach(function(t){(0,c.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let{center:$}=u.aS,{large:H}=u.gS,{RUNTIME_PUBLIC_IMAGE_HOSTNAME:V}=d.Ay,q=V?new URL(V).origin:"";function U({product:e,mediaType:t,articleId:r=null,productPosition:i=null,layout:a="grid"}){let n=m.OC.feed,s=(0,w.G0)(e),{setEventData:c,setViewButtons:d,setViewImage:u}=(0,p.cE)(),k=(0,o.useMemo)(()=>{if(!e?.image)return{default:{hostname:q,crop:"1x1",extend_ratio:1}};let{crops:t,metadata:{extend_ratio:r=1}={}}=e.image;return{default:{hostname:q,crop:"1x1",extend_ratio:r,crops:t}}},[e]),x=(0,o.useMemo)(()=>(0,v.R)({}),[]),A=(0,o.useMemo)(()=>(0,y.e)(n),[]),P=(0,o.useMemo)(()=>{if(!e||!s)return e?s:void 0;let t=s.custom_name||s.product?.name;return t===s.custom_name?s:z(z({},s),{},{custom_name:t})},[e,s]),{propsProductAnchor:_,propsProductImage:I,propsProductTitle:B,propsProductDiscount:E,propsProductButtons:W}=(0,p.VY)({align:$,galleryId:"",imageProps:k,layoutType:n,mediaId:"",onClick:void 0,product:P,productWrapperProps:{},size:H,slideNumber:"",sxProps:x,themeOptions:A});if(!e)return null;let D=t??_?.mediaType,M={articleId:r,primaryUx:N.nB,productPosition:i,recommendationUnitId:N.Xq},R=z(z(z({},_),M),{},{type:"psv",mediaType:D,target:"_blank",rel:"nofollow noopener noreferrer","aria-label":B?.title??""}),L=z(z(z({},W),M),{},{disableViewableProductTracking:!0,mediaType:D,setEventData:c,setViewButtons:d});return(0,Y.Y)("carousel"===a?S:O,null,(0,Y.Y)(C,R,(0,Y.Y)(T,null,(0,Y.Y)(g.default,(0,l.A)({},I,{setViewImage:u}))),(0,Y.Y)(h.A,B)),(0,Y.Y)(j,null,(0,Y.Y)(f.A,(0,l.A)({customDataThemeKey:"embedded-product-discount"},E)),(0,Y.Y)(b.A,(0,l.A)({},L,{isProductCardRefreshEnabled:!0}))))}var G=r(53225),J=r(78860),X=r(22730),K=r(83222),Z=r(800),Q=r(20339),ee=r(47382),et=r(86385),er=r(7144),eo=r(174),ei=r(94442),ea=r(81225),en=r(50915);function es(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function el(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?es(Object(r),!0).forEach(function(t){(0,c.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):es(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let ec=new ee.default("PRODUCT-RECOMMENDATIONS"),ed="u">typeof document;function eu(e){let t=e?.content_products??e?.data?.content_products??[];return Array.isArray(t)?t:[]}function em(e,t){return{ids:e,useAlto:!!t}}function ep(e){if(!ed)return null;let t=document.cookie.split("; ").find(t=>t.startsWith(`${e}=`));if(!t)return null;let r=t.slice(e.length+1);try{return decodeURIComponent(r)}catch{return r}}function ef(e){return ed?new URLSearchParams(window.location.search).get(e):null}let eg=["google","bing","yahoo","duckduckgo","ecosia","aol","qwant","baidu","yandex"],eh=[...eg,"flipboard"];function eb(e){if(!e)return e;let t=String(e).trim().toLowerCase(),r=eh.find(e=>t.includes(e));if(r)return r;if(!t.includes("."))return t;let o=t.replace(/^https?:\/\//,"");(o=o.split("/")[0].split("?")[0].split("#")[0]).startsWith("www.")&&(o=o.slice(4));let i=o.split(".").filter(Boolean);return 0===i.length?t:i[0]}let ey=new Set(eg);function ev(e){let t=e?.custom_name||e?.product?.name,r=e?.retailer?.affiliate,o=r&&"object"==typeof r&&r.afflink_redirect?r.afflink_redirect:"";return!!((e?.retailer?.affiliate_url||e?.retailer?.url||o)&&e?.image?.aws_url&&e?.image?.crops&&t)}var ew=r(24679);function ek(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function ex(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
16t%2?ek(Object(r),!0).forEach(function(t){(0,c.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ek(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let eA=new ee.default("ARTICLE-PRODUCT-RECOMMENDATIONS"),eP=function(){let e,t,r,i,a=(e=(0,J.z)((0,G._P)(N.I9)),r=((t=(0,et.A)(N.jG))?[`${N.jG}:${t}`]:[]).includes(N.pd),e||r),n=(i=(0,Z.BV)(N.MY,null),(0,o.useMemo)(()=>{if(null==i)return null;if("object"==typeof i)return i;if("string"==typeof i)try{return i?JSON.parse(i):null}catch(e){eA.warn("Failed to parse listicle product recommendations Scribe config")}return null},[i])),s=(0,Z.BV)("displayType"),l=(0,Z.BV)("data.content.0.metadata.defaults.user_experience"),c=(0,Z.BV)("data.content.0.content_type.title"),d=(0,Z.BV)("data.content.0.section"),u=(0,Z.BV)("data.content.0.subsection"),m=(0,Z.BV)("data.content.0.id"),p=(0,Z.BV)("data.content.0.display_id",m),f=(0,o.useMemo)(()=>(0,ew.Fd)(n?.eligibleContentTypeNames),[n]),g=(0,ew.NN)(s,l),h=(0,ew.FC)(c,f),b=(0,o.useMemo)(()=>(0,ew.ux)(d,u),[d,u]),y=(0,Q.Bd)("content.productRecommendationsHeading"),v=(0,o.useMemo)(()=>{let e=n?.productBlockHeading?String(n.productBlockHeading).trim():"";return e||y||N.Sv},[n,y]),w=Number(n?.productCount)>0?Number(n.productCount):4,k=!!(a&&g&&h&&n?.recommendationsUrl),{productIds:x,loading:A}=function({enabled:e,section:t,contentId:r,scribeConfig:i}){let{0:a,1:n}=(0,o.useState)(null),{0:s,1:l}=(0,o.useState)(!1);return(0,o.useEffect)(()=>{if(!e||!i?.recommendationsUrl||!i?.campaignArn){n(null),l(!1);return}let r=Number(i.productCount)>0?Number(i.productCount):N.Ug,o=i.mockProductIds,a=Array.isArray(o)?o.map(e=>String(e).trim()).filter(Boolean).slice(0,r):[];if(a.length){l(!1),n(a);return}let s=new AbortController,{signal:c}=s,d=!0;return l(!0),n(null),(async()=>{let e=await function(e,{recommendationsUrl:t,campaignArn:r,signal:o,extraHeaders:i}={}){let a;if(!t||!r)return ec.error("Missing campaign ARN or recommendation URL (Scribe / site variation config)"),Promise.resolve({status:0,ok:!1,error:"Missing AWS Personalize runtime config"});let n=(a=ep("mosb"))?a.startsWith("mosb:")?a.slice(0,35):a:null,s=el(el({"x-campaign-arn":r},n?{"x-mosb-cookie":n}:{}),{},{"x-context-source":function(){let e=ef("utm_source");if(e)return eb(e);let t=ep("gpt_utm");if(t)try{let e=JSON.parse(t);if(e.utm_source)return eb(e.utm_source)}catch{}let r=ep("gpt_refdomain");return r?eb(r):"(direct)"}(),"x-context-medium":function(){let e=ef("utm_medium");if(e)return e;let t=ep("gpt_utm");if(t)try{let e=JSON.parse(t);if(e.utm_medium)return e.utm_medium}catch{}let r=ep("gpt_refdomain");if(r){let e=eb(r);if(ey.has(e))return"organic"}return"(none)"}(),"x-context-device":ed?window.mobile?"mobile":window.tablet?"tablet":"desktop":"desktop","x-context-section":e},i&&"object"==typeof i?i:{}),l="u">typeof AbortController?new AbortController:null,c=()=>l?.abort();if(o&&l){if(o.aborted)return Promise.resolve({status:0,ok:!1,error:"aborted"});o.addEventListener("abort",c)}return(0,ei.hd)(t,el({headers:s,timeout:N.vY},l?{controller:l}:{})).finally(()=>{o&&o.removeEventListener("abort",c)}).then(async e=>{let t;try{t=await e.json()}catch(t){return ec.error("AWS Lambda response: not JSON",{httpStatus:e.status,message:t.message}),{status:e.status,ok:!1,error:"Invalid JSON body"}}return{status:e.status,ok:e.ok,data:t}}).catch(e=>e?.name==="AbortError"||e?.message==="The user aborted a request."?o?.aborted?{status:0,ok:!1,error:"aborted"}:(ec.error("AWS Lambda fetch aborted (timeout or signal)",{ms:N.vY}),{status:0,ok:!1,error:"timeout"}):(ec.error("AWS Lambda fetch error",{message:e.message}),{status:0,ok:!1,error:e.message}))}(t||"",{recommendationsUrl:i.recommendationsUrl,campaignArn:i.campaignArn,signal:c});if(d&&!c.aborted)if(e.ok&&e.data){var r;let t=(r=e.data,[...new Set((r?.itemList??[]).map(e=>e?.metadata?.content_product_id).filter(Boolean))]);if(!d||c.aborted)return;n(t)}else{if("aborted"===e.error||!d||c.aborted)return;eA.error(`Listicle recommendations AWS unavailable: ${e.error??e.status??"unknown"}`),n(null)}})().finally(()=>{d&&!c.aborted&&l(!1)}),()=>{d=!1,s.abort()}},[e,t,r,i]),{productIds:a,loading:s}}({enabled:k,section:b,contentId:m,scribeConfig:n}),{products:P,loading:_}=function(e,t){let{0:r,1:i}=(0,o.useState)(null),{0:a,1:n}=(0,o.useState)(!1),s=(0,J.z)((0,G._P)("commerce.use-alto-offer-selection"));return(0,o.useEffect)(()=>
16{if(!e?.length||!t||t<1){i(null),n(!1);return}let r=new AbortController,{signal:o}=r,a=!0;return n(!0),(async()=>{let r=await function(e,t,r,o=!1){let i=Number(t);if(!Number.isFinite(i)||i<1||r?.aborted)return Promise.resolve([]);let a=[...new Set(e)],n=a.slice(0,i),s=a.slice(i);return(function(e,t,r=!1){if(t?.aborted)return Promise.resolve([]);let o=[en.L,em(e,r)];return t&&o.push({fetchOptions:{signal:t}}),(0,ea.G)(o).then(e=>eu(e)).catch(e=>(t?.aborted||e?.name==="AbortError"||ec.warn(`Voltron batch fetch failed, falling back to single-item backfill: ${e.message}`),[]))})(n,r,o).then(e=>{if(r?.aborted)return[];let t=e.filter(ev);if(t.length>=i)return t.slice(0,i);let a=0===e.length?[...n,...s]:s;return r?.aborted?[]:function e(t,r,o,i,a=!1){if(!r||!t.length||i?.aborted)return Promise.resolve(o);let[n,...s]=t;return(function(e,t,r=!1){if(t?.aborted)return Promise.resolve(null);let o=[en.L,em([e],r)];return t&&o.push({fetchOptions:{signal:t}}),(0,ea.G)(o).then(e=>eu(e)[0]??null).catch(e=>(t?.aborted||e?.name,null))})(n,i,a).then(t=>i?.aborted?o:t&&ev(t)?e(s,r-1,[...o,t],i,a):e(s,r,o,i,a))}(a,i-t.length,t,r,o)})}(e,t,o,s);a&&!o.aborted&&i(r)})().catch(()=>{a&&!o.aborted&&i(null)}).finally(()=>{a&&!o.aborted&&n(!1)}),()=>{a=!1,r.abort()}},[e,t,s]),{products:r,loading:a}}(x,k?w:null),O=(0,o.useMemo)(()=>(P??[]).filter(ev).slice(0,w),[P,w]),S=(0,X.Ay)(["<xs"]);return{heading:v,fetchEnabled:k,hasFullProductSet:O.length>=w&&w>0&&!A&&!_,hasRenderableProducts:O.length>0&&w>0&&!A&&!_,validProducts:O,isMobile:S,trackingArticleId:p,idsLoading:A,productsLoading:_}};function e_(){let{heading:e,fetchEnabled:t,hasRenderableProducts:r,validProducts:l,isMobile:c,trackingArticleId:d}=eP(),{carouselIndex:u,setCarouselIndex:m,carouselStatusText:p,carouselController:f,lastSlideIndex:g,isOnFirstSlide:h,isOnLastSlide:b}=function(e){let t=(0,o.useMemo)(()=>e.map(e=>e.id).join(","),[e]),{0:r,1:i}=(0,o.useState)(()=>({index:0,method:null,productIdsKey:t})),a=(0,o.useCallback)(e=>{i(r=>ex(ex({},"function"==typeof e?e(r):e),{},{productIdsKey:t}))},[t]);(0,o.useEffect)(()=>{i({index:0,method:null,productIdsKey:t})},[t]),(0,o.useEffect)(()=>{if(r.productIdsKey!==t||!["click","swipe"].includes(r.method))return;let o=e[r.index];if(!o?.id)return;let i=r.index+1;(0,eo.A)("product_carousel",r.method,{primaryUx:N.nB,primaryUX:"product_image_carousel",rovProdId:o.id,pos:i,recommendationUnitId:N.Xq})},[r.index,r.method,r.productIdsKey,t,e]);let n=(0,o.useMemo)(()=>({key:N.jP,macros:{current:r.index+1,total:e.length}}),[r.index,e.length]),s=(0,Q.Bd)(n),l=(0,o.useMemo)(()=>{var t,o;return s?String(s):(t=r.index+1,o=e.length,N.Rh.replaceAll("{current}",String(t)).replaceAll("{total}",String(o)))},[s,r.index,e.length]),c=(0,o.useMemo)(()=>({currentIndex:r,setCurrentIndex:a}),[r,a]),d=e.length>0?e.length-1:0,u=r.index<=0,m=r.index>=d;return{carouselIndex:r,setCarouselIndex:a,carouselStatusText:l,carouselController:c,lastSlideIndex:d,isOnFirstSlide:u,isOnLastSlide:m}}(l),y=function({enabled:e,articleId:t}={}){let[,r]=(0,er.A)(N.Lv),{inView:i,observer:a,ref:n}=(0,K.A)({rootMargin:"0px 0px",threshold:.5}),s=(0,o.useRef)(null),l=(0,o.useRef)(!1),c=(0,o.useRef)(t),d=(0,o.useMemo)(()=>(function({articleId:e,recommendationUnitId:t=N.Xq}={}){return[N.Ln,function(e){if(null!=e&&""!==e)return String(e)}(e)||"unknown-article",t].join(":")})({articleId:t}),[t]),u=(0,o.useMemo)(()=>(function({recommendationUnitId:e=N.Xq}={}){return Object.fromEntries(Object.entries({recommendationUnitId:e,primaryUx:N.nB}).filter(([,e])=>null!=e&&""!==e))})(),[]),m=(0,o.useCallback)(()=>{null!==s.current&&(clearTimeout(s.current),s.current=null)},[]);return(0,o.useEffect)(()=>{c.current!==t&&(c.current=t,l.current=!1,m())},[t,m]),(0,o.useEffect)(()=>{!e||!t||l.current||function(e){if(!e)return!1;try{return"1"===window.sessionStorage.getItem(e)}catch(e){return!1}}(d)||!i?m():null===s.current&&(s.current=setTimeout(()=>{s.current=null,l.current=!0;if(d)try{window.sessionStorage.setItem(d,"1")}catch(e){}(0,eo.A)("viewableProductImpression","Viewable Product Card",u),r(void 0,u),n.current&&a.current.unobserve(n.current),a.current.reset()},1e3))},[t,m,e,u,i,n,a,d,r]),(0,o.useEffect)(()=>m,[m]),n}({enabled:t&&r,articleId:d}),v=(0,o.useMemo)(()=>l.map((e,t)=>(0,Y.Y)(U,{key:e.id,layout:"carousel",product:e,mediaType:N.Jx,articleId:d,productPosition:t+1})),[d,l]),w=(0,o.useMemo)(()=>(0,Y.Y)(B,null,(0,Y.Y)(E,null,p),(0,Y.Y)(W,null,(0,Y.Y)(a.A,{type:"button","aria-label":"Previous product",icon:"caret-left-regular",iconAlt:"Previous",iconLabel:"Previous product",isDisabled:h,tapSizeMinimum:40,iconProps:M,sxProps:R,onClick:()=>m(({index:e})=>({index:Math.max(0,e-1),method:"click"}))}),(0,Y.Y)(D,null,l.map((e,t)=>(0,Y.Y)(L,{key:e.id,type:"button","aria-label":`Go to product ${t+1} of ${l.length}`,"aria-current":t===u.index?"true":void 0,onClick:()=>m({index:t,method:"click"})}))),(0,Y.Y)(a.A,{type:"button","aria-label":"Next product",icon:"caret-right-regular",iconAlt:"Next",iconLabel:"Next product",isDisabled:b,tapSizeMinimum:40,iconProps:M,sxProps:R,onClick:()=>m(({index:e})=>({index:Math.min(g,e+1),method:"click"}))}))),[p,l,u.index,h,b,g,m]);return t&&e&&r?(0,Y.Y)(P,{"aria-label":e,ref:y},(0,Y.Y)(n.A,{heading:e,sxProps:{BlockHeader:s.IZ,BlockHeading:{variant:"block-heading-4-across"}}}),c?(0,Y.Y)(I,null,(0,Y.Y)(i.Ay,{"aria-label":e,controller:f,hed:null,itemsPerPage:1,withPeekthrough:!0,peekWidthPercentage:20,withNav:!1},v),w):(0,Y.Y)(_,null,l.map((e,t)=>(0,Y.Y)(U,{key:e.id,product:e,mediaType:N.Jx,articleId:d,productPosition:t+1})))):null}},28760:(e,t,r)=>{r.d(t,{CL:()=>l,Tw:()=>n,a3:()=>u,q2:()=>p,qM:()=>s,t3:()=>m,vL:()=>c});var o=r(38536),i=r(28270),a=r(22440);let n=(0,o.A)("div",{target:"eqz7u0o6"})((0,i.Ay)("block-header",{position:"relative",gridArea:"header",contain:"layout"}),""),s=(0,o.A)("h2",{target:"eqz7u0o5"})((0,i.Ay)("block-heading",{margin:0,"a,span":{overflow:"hidden"},a:{color:"link-block-header",textDecoration:"none",transition:"color 0.3s ease-in-out",elevation:"base","&:hover":{color:"link-hover-block-header"}},span:{"&:before":{elevation:"sunken"}},"&:not(:has(a)) span:hover":{color:"inherit"}}),""),l=(0,o.A)("p",{target:"eqz7u0o4"})((0,i.Ay)("block-subheading"),""),c=(0,o.A)(a.Ay,{target:"eqz7u0o3"})((0,i.Ay)("block-subheading-link",{cursor:"pointer",textDecoration:"none","&:hover":{color:"link-hover-block-header"}}),""),d=e=>"alignment"!==e&&"theme"!==e,u=(0,o.A)("div",{shouldForwardProp:d,target:"eqz7u0o2"})(({alignment:e})=>(0,i.Ay)("block-header-body-text",{mb:"1.25rem",textAlign:e,variant:"body-xs"}),""),m=(0,o.A)("div",{shouldForwardProp:d,target:"eqz7u0o1"})(({alignment:e})=>(0,i.Ay)("block-header-cta-button-wrapper",{display:"flex",justifyContent:"center"===e?e:"right"===e?"flex-end":"flex-start"}),""),p=(0,o.A)(a.Ay,{target:"eqz7u0o0"})((0,i.Ay)("block-header-cta-button",{display:"flex",justifyContent:"center",alignItems:"center",m:0,p:"xs",textDecoration:"none",width:"fit-content",variant:"button-primary"}),"")},32354:(e,t,r)=>{r.d(t,{A:()=>A});var o=r(1873),i=r(53520),a=r(38536),n=r(28270),s=r(9954);let l=(0,a.A)("h6",{target:"e1bddzxd0"})((0,n.Ay)("embedded-product-title",{fontWeight:"normal",m:0,"& em":{fontFamily:"inherit",fontStyle:"italic"}}),"");function c(e){return(0,s.Y)(l,(0,o.A)({as:e?.headerLevel?`h${e.headerLevel}`:null},e))}var d=r(47241),u=r(7144),m=r(49444),p=r(33911),f=r(50804),g=r(87301),h=r(86385),b=r(7855),y=r(47523),v=r(52134),w=r(94710);function k(e){return(0,s.Y)(w.Hh,(0,o.A)({as:e?.headerLevel?`h${e.headerLevel}`:null},e))}let x=["blockAffiliates","sxProps","themeOptions","title","useWrapper","onClick","data-theme-key"],A=function(e){let{blockAffiliates:t=!1,sxProps:r={},themeOptions:a={},title:n="",useWrapper:l=!1,onClick:w,"data-theme-key":A}=e,P=(0,i.A)(e,x),[,_]=(0,u.A)("affiliate_item_click"),[,O]=(0,u.A)(g.pt),{isDisplayGrid:S,isControl:T}=(0,f.ho)(),{isAboveTheFoldFeatureOn:C}=(0,p.a)(),j=!!(0,h.A)(b.HX),I=!!(0,h.A)(y.Hb),{trackRYAffiliate
16Click:B}=(0,m.r3)(t),E=e=>{w&&w(e),_(),(S||T||C||j||I)&&O(),B(e)},W=(0,v.Z)(k,c),D=W===k?{}:{"data-theme-key":A};return n?l?(0,s.Y)(W,(0,o.A)({},P,D,{onClick:E}),(0,s.Y)(d.A,{sxProps:r?.TitleWrapper,themeOptions:a?.titleWrapper},(0,s.Y)("span",{dangerouslySetInnerHTML:{__html:n}}))):(0,s.Y)(W,(0,o.A)({},P,D,{dangerouslySetInnerHTML:{__html:n},onClick:E})):null}},33588:(e,t,r)=>{r.d(t,{A:()=>c});var o=r(1873),i=r(53520),a=r(57598),n=r(23093),s=r(9954);let l=["isEmbeddedGallery","sxProps","themeOptions","customDataThemeKey"],c=function(e){let{isEmbeddedGallery:t=!1,sxProps:r={},themeOptions:c={},customDataThemeKey:d}=e,u=(0,i.A)(e,l),{discount:m,isShowDiscount:p}=(0,n.M)(u);return p?(0,s.Y)(a.M,(0,o.A)({},c,{sx:r},d&&{"data-theme-key":d},{"data-fp-product-discount-info":!0}),m):t?(0,s.Y)(a.M,null):null}},44410:(e,t,r)=>{r.d(t,{A:()=>g});var o=r(1873),i=r(53520),a=r(38536),n=r(28270);let s=(0,a.A)("div",{target:"emvwxws0"})((0,n.Ay)("product-badge",{display:"block",width:"auto",height:"auto",maxWidth:"calc(100% / 3)",top:.5,left:.5,position:"absolute",img:{verticalAlign:"top"},zIndex:e=>e.isMultipleImages?1:"unset"}),"");var l=r(64781),c=r(61546),d=r(75846),u=r(52134),m=r(94710),p=r(9954);let f=["slug","name"],g=function(e){let{slug:t="",name:r=""}=e,a=(0,i.A)(e,f),n=(0,u.Z)(m.sE,s),g=(0,u.Z)();return t?(0,p.Y)(n,(0,o.A)({class:"product-badge","data-theme-key":g?void 0:"product-badge"},a,{"data-vars-ga-product-badge-id":t,"data-vars-ga-product-badge-name":r,"data-fp-product-badge":!0}),(0,p.Y)(l.default,(0,o.A)({type:g?c.PV.Embeddable:c.PV.Stylized,relativeUrl:`static/images/badges/${t}.svg`,title:r,alt:r,height:d.fr.HEIGHT,width:d.fr.WIDTH},a))):null}},50915:(e,t,r)=>{r.d(t,{L:()=>a});var o=r(20608),i=r(91408);let a=(0,o.J1)` 17 query GetProducts($ids: [UUID]!, $useAlto: Boolean = false) { 18 content_products(IDs: $ids) { 19 ...${i.Ie.name} 20 } 21 } 22 ${i.Ie.fragment} 23`},51540:(e,t,r)=>{r.d(t,{V:()=>s,_:()=>n});var o=r(38536),i=r(28270),a=r(60511);let n=(0,o.A)("div",{target:"e467n7m1"})((0,i.Ay)("embedded-product-image-container",{maxWidth:"100%",display:"flex",flexDirection:"column",img:{maxHeight:{_:"100vw",md:a.KK},maxWidth:"100%",width:"100%",height:"100%",display:"block",marginBottom:0,objectFit:"contain",objectPosition:"50% 50%"}}),""),s=(0,o.A)("div",{target:"e467n7m0"})((0,i.Ay)("embedded-product-image-image-container",{width:e=>e.isSimplifiedPSV&&"summary-view"===e.layoutType?{_:"8.75rem","xxs:xs":"6.25rem"}:"100%",display:"inline-flex",flexDirection:"column",justifyContent:"center",alignItems:"center",position:"relative",isolation:"isolate",height:e=>e.isSimplifiedPSV&&"summary-view"===e.layoutType?{_:"8.75rem","xxs:xs":"6.25rem"}:"auto",'& > .product-badge, & > [data-theme-key="product-badge"]':{zIndex:3},'& > [data-theme-key="carousel-container"]':{position:"relative",zIndex:1}}),"")},59716:(e,t,r)=>{r.d(t,{i:()=>l});var o=r(53225),i=r(68014),a=r.n(i),n=r(15630);let s=a()(()=>r.e(30455).then(r.bind(r,30455)),{id:"305b0c0",loadableGenerated:{webpack:()=>[30455]}});function l({image:e}={},t=null){return(0,o._P)("fre.enable-fastly-image")&&(0,n.Xt)(e)?s:t}},72806:(e,t,r)=>{r.d(t,{A:()=>l});let o="Every item on this page was chosen by an {brandName} editor. We may earn commission on some of the items you choose to buy. {link}",i="Every item on this page was chosen by a {brandName} editor. We may earn commission on some of the items you choose to buy. {link}",a="Our car experts choose every product we feature. We may earn money from the links on this page. {link}",n="We may earn a commission for purchases made through our links.",s="We pick every product that we think you'll love the most. We may earn money from the links on this page. {link}",l={"affiliate-disclosure":"We may earn commission from links on this page, but we only recommend products we back. {link}","affiliate-disclosure-footer":"We may earn commission from links on this page, but we only recommend products we back.","affiliate-disclosure--oprahdaily":"Our editors handpick the products that we feature. We may earn commission from the links on this page. {link}","affiliate-disclosure--altaonline":"Every item on this page was chosen by {brandName} team. The site may earn a commission on some products {link}","affiliate-disclosure-footer--altaonline":"Alta Journal participates in an affiliate marketing program with Bookshop.org in order to supp
23ort independent booksellers. Alta Journal does not receive any commissions on books purchased from our site. All commissions are distributed to our bookstore partners.","affiliate-disclosure--autoweek":a,"affiliate-disclosure--bestproducts":"If you buy something from the links on this page, we may earn a commission. {link}","affiliate-disclosure-footer--bestproducts":n,"affiliate-disclosure--bicycling":"Gear-obsessed editors choose every product we review. We may earn commission if you buy from a link. {link}","affiliate-disclosure--caranddriver":a,"affiliate-disclosure-footer--caranddriver":n,"affiliate-disclosure--cosmopolitan":"We may earn commission from links on this page, but we only recommend products we love. Promise. {link}","affiliate-disclosure--countryliving":"Country Living editors select each product featured. If you buy from a link, we may earn a commission. {link}","affiliate-disclosure--delish":"Delish editors handpick every product we feature. We may earn commission from the links on this page. {link}","affiliate-disclosure--elle":o,"affiliate-disclosure--elledecor":o,"affiliate-disclosure--esquire":"Every product was carefully curated by an Esquire editor. We may earn a commission from these links. Hereâs {link} and why you should trust us.","affiliate-disclosure--gearpatrol":"Every product is carefully selected by our editors. If you buy from a link, we may earn a commission. {link}","affiliate-disclosure--goodhousekeeping":"We've been independently researching and testing products for over 120 years. If you buy through our links, we may earn a commission. Learn more about our {link}","affiliate-disclosure-footer--goodhousekeeping":"{brandName} participates in various affiliate marketing programs, which means we may get paid commissions on editorially chosen products purchased through our links to retailer sites.","affiliate-disclosure--harpersbazaar":"Every product on this page was chosen by a Harper's BAZAAR editor. We may earn commission on some of the items you choose to buy. {link}","affiliate-disclosure--housebeautiful":"Every item on this page was hand-picked by a House Beautiful editor. We may earn commission on some of the items you choose to buy. {link}","affiliate-disclosure--menshealth":"Our product picks are editor-tested, expert-approved. We may earn a commission through links on our site. {link}","affiliate-disclosure--popularmechanics":"Gear-obsessed editors choose every product we review. We may earn commission if you buy from a link. {link}","affiliate-disclosure--prevention":"We may earn commission from links on this page, but we only recommend products we back. {link}","affiliate-disclosure--redbookmag":s,"affiliate-disclosure--resin":s,"affiliate-disclosure--roadandtrack":a,"affiliate-disclosure--runnersworld":"We earn a commission for products purchased through some links in this article. {link}","affiliate-disclosure--sanantonioexpressnews":"Editors handpick every product that we feature. We may earn money from the links on this page. {link}","affiliate-disclosure--seventeen":"Seventeen picks products that we think you'll love the most. We may earn commission from the links on this page. {link}","affiliate-disclosure--thepioneerwoman":"Every item on this page was chosen by an editor from The Pioneer Woman. We may earn commission on some of the items you choose to buy. {link}","affiliate-disclosure--townandcountrymag":i,"affiliate-disclosure--veranda":i,"affiliate-disclosure--womansday":i,"affiliate-disclosure--womenshealthmag":"Women's Health may earn commission from the links on this page, but we only feature products we believe in. {link}",author:{by:"By {authorName}",formerJobTitle:"Former {jobTitle}",seeMore:"See More"},feed:{seeMore:"See More",theLatest:"The Latest"},image:{"fallback-alt":"This is an image","no-longer-available":"Image no longer available"},jumpTo:"Jump to:",jumpToWithoutColon:"Jump to",jumpToProduct:"Jump to Products",viewProducts:"View Products",gallery:{arrowLeft:"Arrow Left",arrowRight:"Arrow Right",nextGallery:"Next Gallery",nextSlide:"Next Slide",openGallery:"Open Gallery",previous:"Previous",prevSlide:"Previous Slide",slideNum:"Slide",slideOf:"of",slides:"Slides",useArrowsToNav:"Use Arrow Keys to Navigate",useSwipeSlidesToNav:"Swipe Slides to Navigate",seeAllPhotos:"See All {count} Photos",seeOnePhoto:"See 1 Photo",viewGallery:"View Gallery",showMore:"Show More"},product:{for:"for",credit:"Credit",cta:"SHOP NOW","cta-multi-retailer":"{price} at {retailer}","hide-price-cta":"Check Price","hide-price-cta-multi-retailer":"Shop","cta-discount":"Now {discount}% Off","hide-retailer-cta":"{price} Shop Now",coupon:{"coupon-code-copied":"Coupon Code Copied!","ta
23p-to-copy":"Tap to Copy -- Expires {date}",copied:"Copied"},price:{fromRetailer:"{price} at {retailer}",check:"Check Price",discount:"% off","original-price":"Original Price {listPrice}","sale-price":"Sale Price {price} {discount} percent off",label:"Price","sale-label":"Sale Price","list-label":"List Price"},pros:"Pros",cons:"Cons"},"product-explorer":{search:{label:"Search"},sort:{label:"Sort by","last_updated_at:desc":"Newest","price:asc":"Price Low to High","price:desc":"Price High to Low"},options:[{label:"any price",value:"reset",isChecked:!1},{label:"$1-10",value:"pricebracket:1:0-10",isChecked:!1},{label:"$10-25",value:"pricebracket:1:10-25",isChecked:!1},{label:"$25-50",value:"pricebracket:1:25-50",isChecked:!1},{label:"$50-100",value:"pricebracket:1:50-100",isChecked:!1},{label:"$100-250",value:"pricebracket:1:100-250",isChecked:!1},{label:"$250 & UP",value:["pricebracket:1:250-500","pricebracket:1:500-1000","pricebracket:1:1000"],isChecked:!1}]},aboveTheFold:{jumpToReview:"Jump to Review",topPicks:"Top Picks",showMore:"Show More",showLess:"Show Less"},productSummaryView:{readMore:"Read more",readMoreTitle:"Read more about",showLess:"Show less",showMore:"Show more"},recipe:{"calories-per-serving":"Cal/Serv",yields:"Yields","prep-time":"Prep Time","active-time":"Active Time","process-time":"Cook Time","total-time":"Total Time",instructions:"Directions",ingredients:"Ingredients",stepTitle:"Step"},saved:{authenticationModalDek:"Create an account and you'll be able to save and revisit your recipes, leave reviews, and more. Its free!",authenticationModalTitle:"Wanna save this recipe?",authenticationTitle:"Please sign in to see your saved recipes.",defaultMessage:"30 characters maximum",errorCTA:"Try again",errorTitle:"Oops! Something went wrong.",existingFolderNameError:"This folder name already exists. Try another.",folder:"Folder",foldersLimitDek:"You've reached the limit on the number of folders that can be created. You'll need to delete a folder to create a new one.",foldersLimitHed:"Folder Limit Reached",tooltipText:"View in ",removeModal:{dek:"{title} will be removed from {headline}.",cancelButtonText:"Cancel",removeButtonText:"Remove"}},day:"day",days:"days",hour:"hr",hours:"hrs",min:"min",mins:"mins",listen:"listen",read:"read",nowWatching:"Now Watching",relatedVideos:"Related Videos",watchNext:"Watch Next",watchNextInBody:"More From {brandName}",watchNextInBodyButton:"Watch Full Video",watchNextVideoHubCta:"Explore Videos","video-watch":{transcript:"Transcript",viewFullTranscript:"Show full transcript",hideFullTranscript:"Hide transcript"},showingCurrentOfTotal:"Showing {current} of {total}",loadMore:"Load More",readFullBio:"Read full bio",readMore:"Read More",readLess:"Read Less",embedAccessibilityText:"This content is imported from {embedName}. You may be able to find the same content in another format, or you may be able to find more information, at their web site.","search-label":"search",sponsorBrandName:"{sponsorBrandName} Logo",spotimDisclaimer:"This commenting section is created and maintained by a third party, and imported onto this page. You may be able to find more information on their web site.",goToChat:"go to chat",syndicatedLinkText:"From: ",translatedAndEditedByText:"Translated and Edited by ",scrollToRecipe:"Jump to recipe","why-trust-us":"Why Trust Us?","why-trust-us--goodhousekeeping":"review process.","why-trust-us--bicycling":"How we test gear.","why-trust-us--esquire":"how we test products","ai-policy-footer":"With our commitment to publishing engaging, quality content, we may use AI tools to help source ideas, edit and transform our content, and assist in creating dynamic new experiences. All uses of AI are subject to human oversight.",rating:"Rating",ratingPlural:"Ratings",firstRate:"Be the First to Rate",firstReviewer:"Be the first to review!",noReviews:"No Reviews",enhancedBylines:{reviewedBy:"Reviewed by",medicallyReviewedBy:"Medically reviewed by",testedBy:"Tested by",instructedBy:"Instructed by",expertConsulted:"Expert consulted:",factCheckedBy:"Fact-checked by",recipeBy:"Recipe by",photographyBy:"Photography by",illustrationBy:"Illustration by",instrumentedTestingBy:"Instrumented testing by","range/mpgTestingBy":"Range/MPG testing by",trackTestingBy:"Track testing by",videoBy:"Video by"},search:{noResults:"No results for keyword",oneResult:"{resultsCount} result for keyword",multiResults:"{resultsCount} results for keyword",seeMore:"See More"},share:{share:"Share Article",facebook:"Facebook",email:"Email",print:"Print",copy:"Copy Link",linkCopied:"Link Copied!",pinterest:"Pinterest",reddit:"Reddit",x:"X"},shareAriaLabel:{share:"Open share options",facebook:"Share on Facebook",email:"Share via email",print:"Download PDF or print",copy:"Copy Link",linkCopied:"Link Copied",pinterest:"Share on Pinterest",reddit:"Share on Reddit",x:"Share on X"},showLess:"Show Less",showMore:"Show More",embedScriptLoadingText:"The {embedName} script is loading...",productButton:{separatorMultiRetailer:"Also Consider"},keySpecs:{seeAllSpecifications:"See All Specifications"},memberShipFallback:{buttonText:"Join Us",dek:"Want unlimited digital access?",hed:"This Content is for Members Only",signInCopy:"Sign in"},auth:{register:"Register",signup:"Sign Up",login:"log in",registerOrLogin:"{register} or {login} to view your account",authorizeToSeeDetails:"My Account is available to signed-in users. Sign up or sign in to continue."},myAccountTitle:"My Account",myAccountTitleSEO:"My Account | {brandName}",videoUnavailable:{headline:"This video is currently unavailable",title:"Title:",available:"Available:",lastUpdated:"Last Updated:"}}},90580:(e,t,r)=>{r.d(t,{A:()=>y});var o=r(93682),i=r(22440),a=r(53225),n=r(800),s=r(68014),l=r.n(s),c=r(28760),d=r(47241),u=r(9954),m=r(71055);function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
23t%2?p(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let g=l()(()=>r.e(40410).then(r.bind(r,40410)),{id:"0ad0550",loadableGenerated:{webpack:()=>[40410]}}),h={TitleDesignElementBefore:{__themeKey:"block-header-design-element-before"},TitleDesignElementAfter:{__themeKey:"block-header-design-element-after"}};function b({className:e="",heading:t="",subheading:r="",headingUrl:o="",text:s="",textAlignment:l=null,button:p=null,renderContent:y,sxProps:v={BlockHeading:{},BlockSubheading:{},TitleWrapper:{TitleDesignElementBefore:{},TitleDesignElementAfter:{}}}}){let w=(0,a._P)("custom-feeds.block-head-image"),k=(0,a._P)("fre.use-h1-for-block-headings-on-homepage"),x=(0,n.BV)("layoutContextProps.isHomePage"),A=l?{textAlign:l}:{};return(0,u.Y)(c.Tw,{className:e,sx:v.BlockHeader,"data-theme-key":"block-header"},w?(0,u.Y)(g,{placement:"before",sxProps:v.BlockHeaderImage}):null,t?(0,u.Y)(c.qM,{as:!0===k&&x?"h1":"h2",sx:f(f({},v.BlockHeading),A),priority:"high","data-theme-key":"block-heading"},(0,u.Y)(d.A,{sxProps:v.TitleWrapper,themeOptions:h},o?(0,u.Y)(i.Ay,{href:o},t):(0,u.Y)("span",null,t))):null,r?(0,u.Y)(c.CL,{sx:f(f({},v.BlockSubheading),A),"data-theme-key":"block-subheading"},o&&!t?(0,u.Y)(c.vL,{href:o},r):(0,u.Y)(m.Fragment,null,r)):null,w?(0,u.Y)(g,{placement:"after",sxProps:v.BlockHeaderImage}):null,s?(0,u.Y)(c.a3,{alignment:l,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:s}}):null,p?(0,u.Y)(c.t3,{alignment:l},(0,u.Y)(c.q2,{href:p.href},p.text)):null,y?y():null)}let y=function({className:e="",heading:t="",subheading:r="",headingUrl:o="",text:i="",textAlignment:a=null,button:n=null,renderContent:s=null,sxProps:l={BlockHeading:{},BlockSubheading:{},TitleWrapper:{TitleDesignElementBefore:{},TitleDesignElementAfter:{}}}}){return t||r||i||n?(0,u.Y)(b,{className:e,heading:t,subheading:r,headingUrl:o,text:i,textAlignment:a,button:n,sxProps:l,renderContent:s}):null}},91408:(e,t,r)=>{r.d(t,{Ie:()=>p});var o=r(20608),i=r(85073);let a=new i.F("ProductDetailFragment",(0,o.J1)` 24 fragment ProductDetailFragment on ProductDetail { 25 id 26 __typename 27 brand 28 category 29 description 30 features 31 images 32 name 33 } 34 `),n=new i.F("RetailerFragment",(0,o.J1)` 35 fragment RetailerFragment on Retailer { 36 affiliate 37 affiliate_url 38 availability 39 display_name 40 full_url 41 id 42 is_active 43 listprice 44 listprice_currency 45 price 46 price_currency 47 retailer_name 48 reviews_number 49 sem3_id 50 siterating 51 sku 52 url 53 parent_sku 54 metadata 55 is_custom 56 } 57 `),s=new i.F("SwappedRetailerFragment",(0,o.J1)` 58 fragment SwappedRetailerFragment on Retailer { 59 affiliate 60 affiliate_url 61 availability 62 display_name 63 full_url 64 id 65 is_active 66 listprice 67 listprice_currency 68 price 69 price_currency 70 retailer_name 71 reviews_number 72 sem3_id 73 siterating 74 sku 75 url 76 parent_sku 77 metadata 78 is_custom 79 } 80 `),l=new i.F("EmbeddedProductProductImageFragment",(0,o.J1)` 81 fragment EmbeddedProductProductImageFragment on ProductImage { 82 id 83 aws_url 84 filename 85 height 86 is_custom 87 # TODO: Moved from duplicated fragment. I recommend combining 'image_metadata: metadata' and 'metadata' below in a separate ticket, since this affects many components. 88 image_metadata: metadata { 89 extend_ratio 90 photo_credit 91 seo_meta_description 92 seo_meta_title 93 } 94 metadata { 95 photo_credit 96 seo_meta_description 97 source { 98 title 99 } 100 custom_tag 101 selected_crop 102 position 103 show 104 } 105 crops 106 photo_credit 107 width 108 } 109 `),c=new i.F("EmbeddedProductProductVideoFragment",(0,o.J1)` 110 fragment EmbeddedProductProductVideoFragment on ProductVideo { 111 id 112 video { 113 id 114 title 115 description 116 source_video_url 117 duration 118 metadata { 119 videoEmbedId: video_embed_id 120 } 121 nearest_aspect_ratio 122 } 123 preview_url 124 metadata { 125 position 126 show 127 } 128 created_at 129 } 130 `),d=new i.F("BadgeFragment",(0,o.J1)` 131 fragment BadgeFragment on Badge { 132 name 133 slug 134 status 135 is_automatic 136 } 137 `),u=new i.F("EmbeddedProductOfferFragment",(0,o.J1)` 138 fragment EmbeddedProductOfferFragment on Offer { 139 affiliate 140 affiliate_url 141 availability 142 display_name 143 full_url 144 id 145 is_active 146 listprice 147 listprice_currency 148 price 149 price_currency 150 retailer_name 151 reviews_number 152 sem3_id 153 siterating 154 sku 155 url 156 parent_sku 157 metadata 158 is_custom 159 customer_rating 160 reviews_count 161 } 162 `),m=new i.F("CouponFragment",(0,o.J1)` 163 fragment CouponFragment on Coupon { 164 code 165 headline 166 dateEnd: date_end 167 } 168 `),p=new i.F("EmbeddedProductContentProductFragment",(0,o.J1)` 169 fragment EmbeddedProductContentProductFragment on ContentProduct { 170 id 171 __typename 172 call_to_action 173 created_at 174 custom_brand 175 custom_currency 176 custom_description 177 custom_name 178 custom_price 179 custom_retailer 180 last_updated_at 181 retailer_name 182 selected_crop 183 show_price 184 statements 185 resource_type 186 product_metadata: metadata 187 badge { 188 ...${d.name} 189 } 190 product { 191 retailers { 192 ...${n.name} 193 } 194 ...${a.name} 195 } 196 image { 197 ...${l.name} 198 } 199 custom_images { 200 ...${l.name} 201 } 202 videos { 203 ...${c.name} 204 } 205 retailer { 206 ...${n.name} 207 } 208 swapped_retailer { 209 ...${s.name} 210 } 211 coupon { 212 ...${m.name} 213 } 214 offers @include(if: $useAlto) { 215 ...${u.name} 216 } 217 } 218 ${d.fragment} 219 ${a.fragment} 220 ${l.fragment} 221 ${c.fragment} 222 ${n.fragment} 223 ${s.fragment} 224 ${m.fragment} 225 ${u.fragment} 226 `)},92899:(e,t,r)=>{r.d(t,{j:()=>O});var o=r(93682),i=r(39288),a=r(54791),n=r(15630),s=r(59716),l=r(78860),c=r(53225),d=r(7144),u=r(33911),m=r(50804),p=r(87301),f=r(86385),g=r(7855),h=r(47523),b=r(49444),y=r(83222),v=r(71055),w=r(45025),k=r(3666);function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function A(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
226t%2?x(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let{PUBLISHED:P,UNPUBLISHED:_}=i.hT;function O(e){let{image:t,badge:r={},affiliateBlockingData:o,crop:i,title:x,priority:O="auto",layoutType:S="",setViewImage:T=()=>{},disableAffiliateClickTracking:C=!1}=e,j=(0,k.A)(o),{inView:I,ref:B}=(0,y.A)({rootMargin:"0px 0px",threshold:.5});(0,v.useEffect)(()=>(I&&T(!0),()=>T(!1)),[I]);let E=(0,s.i)({image:t},a.default),W=(0,l.z)((0,c._P)("fre.commerce.simplified-psv")),D=W&&S===w.OC.productSummaryView,[,M]=(0,d.A)("product_click_total"),[,R]=(0,d.A)("affiliate_item_click"),[,L]=(0,d.A)(p.pt),{isDisplayGrid:N,isControl:Y}=(0,m.ho)(),{isAboveTheFoldFeatureOn:F}=(0,u.a)(),z=!!(0,f.A)(g.HX),$=!!(0,f.A)(h.Hb),{trackRYAffiliateClick:H}=(0,b.r3)(j),{is_automatic:V=!1,name:q="",slug:U="",status:G=_}=r||{},J=t?A(A({},t),{},{metadata:A(A({},t.metadata),{},{crops:t.crops}),hips_url:(0,n.se)(t.aws_url),height:t.height||"100%",width:t.width||"100%"}):null;return{badgeProps:{slug:G!==P||V?null:U,name:q},imageProps:A({ImgComp:E,imageWrapperRef:B,image:J,config:{640:{resize:"640:*",crop:i},980:{resize:"980:*",crop:i}},title:x,priority:"high"===O},C?{}:{onClick:e=>{D||(M(),R(),(N||Y||F||z||$)&&L(),H(e))}}),restProps:{isSimplifiedPSV:W}}}}}]);
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.