news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
news
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[548],{7177:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>a});var r=n(12115);n(15012);let o=["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],a=function(){let[e,t]=(0,r.useState)({country:"",state:"",stateName:""}),[n,a]=(0,r.useState)(!0);(0,r.useEffect)(()=>{let e,n=0,r=()=>{var r;if(null==(r=window.OneTrust)?void 0:r.getGeolocationData){let n=window.OneTrust.getGeolocationData();if(n&&n.country)return t({country:n.country||"",state:n.state||"",stateName:n.stateName||""}),a(!1),e&&clearInterval(e),!0}return++n>=20&&(console.warn("OneTrust geolocation data not available after maximum attempts"),a(!1),e&&clearInterval(e)),!1};r()||(e=setInterval(r,500));let o=()=>{setTimeout(r,100)};return window.addEventListener("OneTrustLoaded",o),window.addEventListener("OneTrustGroupsUpdated",o),window.addEventListener("consent.onetrust",o),()=>{e&&clearInterval(e),window.removeEventListener("OneTrustLoaded",o),window.removeEventListener("OneTrustGroupsUpdated",o),window.removeEventListener("consent.onetrust",o)}},[]);let i="US"===e.country.toUpperCase(),l=o.includes(e.country.toUpperCase());return{geoData:e,isEU:l,isUS:i,loading:n}}},35676:(e,t,n)=>{"use strict";n.d(t,{default:()=>c});var r=n(95155),o=n(66945),a=n(75915),i=n.n(a),l=n(7177);let s=e=>{var t;let n=i().sanitize(e);null==(t=window.Nitrous)||t.logReportIssue(n)},c=e=>{let{optOutLink:t,...n}=e,{isUS:a}=(0,l.Ay)();return(0,r.jsx)(o.Tn,{...n,cookieOptions:a?void 0:()=>{window.OneTrust?window.OneTrust.ToggleInfoDisplay():console.warn("OneTrust is not defined")},optOutLink:a?t:void 0,reportIssue:s})}},49545:(e,t,n)=>{Promise.resolve().then(n.bind(n,37404)),Promise.resolve().then(n.bind(n,17657)),Promise.resolve().then(n.bind(n,21671)),Promise.resolve().then(n.bind(n,92094)),Promise.resolve().then(n.bind(n,73893)),Promise.resolve().then(n.bind(n,1321)),Promise.resolve().then(n.bind(n,1410)),Promise.resolve().then(n.bind(n,52161)),Promise.resolve().then(n.bind(n,63082)),Promise.resolve().then(n.bind(n,830)),Promise.resolve().then(n.bind(n,87382)),Promise.resolve().then(n.bind(n,87999)),Promise.resolve().then(n.bind(n,58625)),Promise.resolve().then(n.bind(n,77508)),Promise.resolve().then(n.bind(n,35676)),Promise.resolve().then(n.bind(n,62829)),Promise.resolve().then(n.bind(n,71269)),Promise.resolve().then(n.t.bind(n,63315,23)),Promise.resolve().then(n.t.bind(n,15615,23)),Promise.resolve().then(n.t.bind(n,69243,23)),Promise.resolve().then(n.bind(n,19067)),Promise.resolve().then(n.bind(n,3461))},52732:(e,t,n)=>{"use strict";n.d(t,{B:()=>o});var r=n(95155);function o(e){let{fill:t="white"}=e;return(0,r.jsxs)("svg",{fill:"none",height:"20",viewBox:"0 0 20 20",width:"20",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M3.21585 0.017613L3.21602 0L3.21557 0.0210135L3.21568 0.0485375C3.21568 1.88055 1.77601 3.36568 0 3.36568C1.77601 3.36568 3.21568 4.84358 3.21568 6.66667C3.21568 4.86523 4.61459 3.40079 6.35296 3.36632V3.36507C4.61459 3.33043 3.21568 1.85884 3.21568 0.0485375L3.21585 0.017613Z",fill:t}),(0,r.jsx)("path",{d:"M10.1266 1.09108C10.1266 1.04478 10.1269 0.998535 10.1276 0.952381H10.1257C10.1263 0.998535 10.1266 1.04478 10.1266 1.09108Z",fill:t}),(0,r.jsx)("path",{d:"M10.1266 1.09108C10.1266 6.26331 14.1235 10.4678 19.0902 10.5669V10.5704C14.1235 10.669 10.1266 14.853 10.1266 20C10.1266 14.7912 6.01317 10.5686 0.938956 10.5686C6.01317 10.5686 10.1266 6.32539 10.1266 1.09108Z",fill:t}),(0,r.jsx)("path",{d:"M16.8627 13.3819C16.8627 15.1922 18.2616 16.6638 20 16.6984V16.6996C18.2616 16.7342 16.8627 18.1985 16.8627 20C16.8627 18.1769 15.4231 16.699 13.647 16.699C15.4231 16.699 16.8627 15.2139 16.8627 13.3819Z",fill:t})]})}},58625:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BrandSetup:()=>i});var r=n(12115),o=n(16696),a=n(15012);function i(e){let{brand:t=o.mz.Motortrend}=e,{setBrand:n}=(0,a.A)();return(0,r.useEffect)(()=>{n(t)},[t,n]),null}},62829:(e,t,n)=>{"use strict";n.d(t,{default:()=>E});var r=n(95155),o=n(35695),a=n(66945),i=n(93158),l=n(97071),s=n(28885),c=n(16696),d=n(33374),u=n(12115);let m=function(){let e;function t(e){document.documentElement.classList.remove(window.__theme),window.__theme=e,window.__onThemeChange(e),document.documentElement.dataset.theme=e,document.documentElement.classList.add(e)}window.__onThemeChange=function(){};try{e=localStorage.getItem("theme")}catch(e){}window.__setPreferredTheme=function(e){t(e);try{localStorage.setItem("theme",e)}catch(e){}};let n=window.matchMedia("(prefers-color-scheme: dark)");n.addEventListener("change",e=>{window.__setPreferredTheme(e.matches?"dark":"light")}),t(e||(n.matches?"dark":"light"))};var h=n(33289),f=n(5036),p=n(1773),g=n.n(p),v=n(6425),w=n(97893),_=n(34477);let b=(0,_.createServerReference)("60eaf8577af873cc2aeee038c78bb789b76b665423",_.callServer,void 0,_.findSourceMapURL,"initiateSignIn");var k=n(71269),x=n(69588),y=n(15012);let I=e=>e[v.rc];function T(){let{isAuthenticated:e}=(0,y.A)(I),[t,n]=(0,u.useState)(!1),[o,i]=(0,u.useState)(!1),[l,s]=(0,u.useState)(!1),c=(0,a.dv)(),d=(0,u.useRef)(null),m=(0,u.useRef)(null),h="sm"===c||"xs"===c||"md"===c;(0,u.useEffect)(()=>{let e=setTimeout(()=>{s(!0)},100);return()=>clearTimeout(e)},[]),(0,u.useEffect)(()=>{function e(e){d.current&&m.current&&!d.current.contains(e.target)&&!m.current.contains(e.target)&&n(!1)}if(t)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]);let p=async()=>{if(!v.LK.ApiUrl){let e=Error("Mylo API URL is not configured correctly");w.Y.log({error:e,level:"error",msg:"Sign-in attempted but Mylo API URL not configured correctly",path:window.location.pathname});return}try{i(!0);let e=await b(window.location.pathname,window.location.origin);window.location.href=e}catch(e){w.Y.log({error:e,level:"error",msg:"Failed to initiate sign-in",path:window.location.pathname}),i(!1)}};if(!l)return(0,r.jsx)("div",{"aria-hidden":"true",className:"h-8 w-[62px] lg:h-auto lg:w-[78px]"});if(!e)return(0,r.jsx)(a.$n,{className:"h-8 !px-2 max-lg:!rounded-sm lg:h-auto lg:!px-4",colorScheme:"transparent","data-id":"auth-sign-in-button","data-parent":"global-header",disabled:o,onClick:p,typographyProps:{variant:"button2"},children:o?x.HG.login.completingSignIn:x.HG.button.signIn});let _="".concat(window.location.origin,"/cleanup-user-details");return(0,r.jsxs)("div",{className:"relative",onMouseEnter:()=>{!h&&e&&n(!0)},onMouseLeave:()=>{!h&&e&&n(!1)},children:[(0,r.jsx)(a.K0,{"aria-label":x.HG.button.myAccount,className:"!bg-neutral-3 flex-none",colorScheme:"transparent","data-id":"auth-user-button","data-parent":"global-header",onClick:()=>{e?h&&n(!t):p()},ref:m,size:"small",children:(0,r.jsx)(g(),{path:f.gXw,size:.75})}),t&&(0,r.jsx)("div",{className:"absolute top-full right-0 z-50 w-48 pt-1",ref:d,children:(0,r.jsx)("div",{className:"bg-neutral-1 rounded-lg shadow-lg",children:(0,r.jsxs)("ul",{className:"list-none py-1",children:[(0,r.jsx)(a.o5,{as:"li",variant:"caption1",children:(0,r.jsx)(k.NextLink,{className:"text-neutral-5 focus:bg-neutral-2 hover:bg-neutral-2 hover:text-neutral-8 block rounded-lg p-2 focus:outline-0","data-id":"auth-settings-button","data-parent":"auth-dropdown",href:"/my-account/profile",children:x.HG.button.myAccount})}),(0,r.jsx)(a.o5,{as:"li",variant:"caption1",children:(0,r.jsx)("button",{className:"text-neutral-5 focus:bg-neutral-2 hover:bg-neutral-2 hover:text-neutral-8 block w-full rounded-lg p-2 text-left focus:outline-0","data-id":"auth-logout-button","data-parent":"auth-dropdown",onClick:()=>{let e="".concat(v.LK.LogoutUrl,"?client_id=").concat(v.LK.ClientId,"&logout_uri=").concat(encodeURIComponent(_));window.location.href=e},type:"button",children:x.HG.button.logOut})})]})})})]})}var A=n(52732);let E=e=>{let{brand:t=c.mz.Motortrend,menuConfig:n,sponsoredLogo:f}=e,p=(0,o.useRouter)(),g=(0,o.usePathname)(),{theme:v,toggleTheme:w}=(()=>{let[e,t]=(0,u.useState)(h.fL?"light":window.__theme||"light"),n=(0,u.useCallback)(()=>{var t;null==(t=window)||t.__setPreferredTheme("light"===e?"dark":"light")},[e]);return(0,u.useEffect)(()=>{window.__setPreferredTheme||(m(),t(window.__theme)),window.__onThemeChange=t},[]),{theme:e,toggleTheme:n}})(),_={},b=t===c.mz.Motortrend;_=b?{activeTheme:v,joinNewsletterLink:s.BV.Newsletters,toggleTheme:w}:{activeTheme:v,toggleTheme:w};let y=i.h.NEXT_PUBLIC_AI_CHATBOT_ENABLED&&b?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(a.$n,{"aria-label":"".concat(x.cu.AIChatbotButtonText," - ").concat(x.cu.AIChatbotBetaText),colorScheme:"neutral-3","data-id":d.Co.AIChatbotGlobalHeaderButton,"data-parent":d.Co.GlobalHeader,ignoreTheme:!0,onClick:()=>{let e=new URL(window.location.href);e.searchParams.set("chatbot","true"),p.push(e.toString(),{scroll:!1})},ripple:!1,size:"small",children:(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{children:(0,r.jsx)(A.B,{})}),(0,r.jsx)("span",{className:"hidden @md/header:inline",children:x.cu.AIChatbotButtonText}),(0,r.jsx)(a.o5,{as:"span",className:"bg-neutral-4 hidden scale-75 rounded-sm px-2 py-1 text-xs uppercase @md/header:inline",disableColorScheme:!0,variant:"caption2",children:x.cu.AIChatbotBetaText})]})}),l.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED?(0,r.jsx)(T,{}):null]}):l.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED?(0,r.jsx)(T,{}):null;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(a.qN,{activePath:g,brand:t,className:"z-top @container/header sticky top-0 [&_[data-ids='GlobalHeaderHamburgerMenu']]:min-[1280px]:hidden [&_[data-ids='GlobalHeaderHamburgerMenu']]:lg:block [&_[data-ids='GlobalHeaderNavigationMenu']]:hidden [&_[data-ids='GlobalHeaderNavigationMenu']]:min-[1280px]:block",hamburgerMenuConfig:_,headerActionConfig:{actionElement:y},linkElement:b?k.NextLink:"a",menuConfig:n,sponsoredLogo:f})})}},71269:(e,t,n)=>{"use strict";n.r(t),n.d(t,{NextLink:()=>s});var r=n(95155),o=n(12115),a=n(6874),i=n.n(a),l=n(9204);let s=(0,o.forwardRef)((e,t)=>{let{href:n,passHref:o,...a}=e,s="string"!=typeof n||o?n:(0,l.l2)({paths:[n]});return(0,r.jsx)(i(),{href:s,passHref:o,prefetch:!1,ref:t,...a})});s.displayName="NextLink"},77508:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l});var r=n(95155),o=n(12115),a=n(28700),i=n(92568);let l=()=>((0,o.useEffect)(()=>{(0,i.A)("https://sb.scorecardresearch.com/cs/6035748/beacon.js",[a.Ok.ADVERTISEMENT],{async:!0}).catch(e=>{console.error("Failed to load ComScore script:",e)})},[]),(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("noscript",{children:(0,r.jsx)("img",{alt:"comScore",src:"https://sb.scorecardresearch.com/p?c1=2&c2=6035748&cv=3.9.1&cj=1",style:{display:"none"}})})}))},87999:(e,t,n)=>{"use strict";n.d(t,{AuthInitializer:()=>c});var r=n(12115),o=n(6425),a=n(97893),i=n(34477);let l=(0,i.createServerReference)("401703b78390b982500f7721f408a40e8a5cbea900",i.callServer,void 0,i.findSourceMapURL,"getUserProfile");var s=n(15012);function c(){let{initializeAuth:e}=(0,s.A)(),{clearAuthUser:t,setAuthUser:n}=(0,s.A)();return(0,r.useEffect)(()=>{async function e(){try{let e=localStorage.getItem("mylo_access_token"),o=localStorage.getItem("mylo_id_token"),s=localStorage.getItem("mylo_refresh_token"),c=localStorage.getItem("mylo_user_profile"),u=!1;if(e&&o&&c)try{let t=JSON.parse(c);n({accessToken:e,idToken:o,refreshToken:null!=s?s:void 0,...t}),u=!0}catch(e){a.Y.log({context:{userProfileString:c},error:e,level:"warn",msg:"Failed to parse stored user profile from localStorage",path:"components/AuthInitializer/AuthInitializer"}),d()}let m=null;try{m=await l(!1)}catch(e){a.Y.log({context:{hasLocalAuth:u},error:e,level:"warn",msg:"Failed to get server auth state from getUserProfile",path:"components/AuthInitializer/AuthInitializer"})}(null==m?void 0:m.isAuthenticated)&&u&&e?await r(e,m.idToken):(null==m?void 0:m.isAuthenticated)&&!u?await i():!(null==m?void 0:m.isAuthenticated)&&u&&e?await r(e,o):(t(),d())}catch(e){a.Y.log({context:{step:"auth_initialization"},error:e,level:"error",msg:"Auth initialization error in useAuthInit",path:"components/AuthInitializer/AuthInitializer"}),t(),d()}finally{}}async function r(e,r){try{let t=await fetch("".concat(o.LK.ApiUrl,"/userinfo"),{headers:{Authorization:"Bearer ".concat(e)},method:"GET"});if(401===t.status||403===t.status){if(localStorage.getItem("mylo_refresh_token")&&(a.Y.log({level:"info",msg:"Access token expired, attempting refresh",path:"components/AuthInitializer/AuthInitializer"}),await s()))return;throw Error("Token validation failed - unauthorized")}if(!t.ok)throw Error("HTTP ".concat(t.status,": Failed to validate token"));let i=await t.json(),l={accessToken:e,email:i.email,idToken:r||"",isAuthenticated:!0,name:i.name,preferredUsername:i.preferred_username,username:i.username};c(l),n(l)}catch(e){a.Y.log({context:{apiUrl:o.LK.ApiUrl,hasIdToken:!!r,step:"token_validation"},error:e,level:"warn",msg:"Token validation failed with Mylo userinfo API",path:"components/AuthInitializer/AuthInitializer"}),t(),d()}}async function i(){try{let e=await l(!0);e.isAuthenticated?(c(e),n(e)):(t(),d())}catch(e){a.Y.log({context:{step:"server_sync"},error:e,level:"warn",msg:"Failed to sync authentication state from server to client",path:"components/AuthInitializer/AuthInitializer"}),t(),d()}}async function s(){try{let e=await fetch("/nwapi/auth/refresh",{method:"POST"});if(!e.ok)return a.Y.log({context:{responseStatus:e.status},level:"warn",msg:"Token refresh failed",path:"components/AuthInitializer/AuthInitializer"}),!1;let t=await e.json();return localStorage.setItem("mylo_access_token",t.access_token),localStorage.setItem("mylo_id_token",t.id_token),t.refresh_token&&localStorage.setItem("mylo_refresh_token",t.refresh_token),localStorage.setItem("mylo_user_profile",JSON.stringify({email:t.email,name:t.name,preferredUsername:t.preferred_username,username:t.username})),n({accessToken:t.access_token,email:t.email,idToken:t.id_token,isAuthenticated:!0,name:t.name,preferredUsername:t.preferred_username,refreshToken:t.refresh_token,username:t.username}),a.Y.log({level:"info",msg:"Token refresh successful",path:"components/AuthInitializer/AuthInitializer"}),!0}catch(e){return a.Y.log({error:e,level:"warn",msg:"Token refresh attempt failed",path:"components/AuthInitializer/AuthInitializer"}),!1}}function c(e){if(!e.isAuthenticated)return;e.accessToken&&localStorage.setItem("mylo_access_token",e.accessToken),e.idToken&&localStorage.setItem("mylo_id_token",e.idToken),e.refreshToken&&localStorage.setItem("mylo_refresh_token",e.refreshToken);let t={email:e.email||"",name:e.name||"",preferredUsername:e.preferredUsername||"",username:e.username||""};localStorage.setItem("mylo_user_profile",JSON.stringify(t))}function d(){localStorage.removeItem("mylo_access_token"),localStorage.removeItem("mylo_id_token"),localStorage.removeItem("mylo_refresh_token"),localStorage.removeItem("mylo_user_profile")}window.location.pathname.startsWith("/auth/")||e()},[n,t]),(0,r.useEffect)(()=>{let t=t=>{("mylo_access_token"===t.key||"mylo_id_token"===t.key||"mylo_user_profile"===t.key)&&e()};return window.addEventListener("storage",t),()=>{window.removeEventListener("storage",t)}},[e]),null}}},e=>{e.O(0,[653,5779,9910,4747,6945,6874,5915,708,4301,9588,3374,6696,5012,8885,8441,4573,5853,7358],()=>e(e.s=49545)),_N_E=e.O()}]); //# sourceMappingURL=layout-768635432510e239.js.map