1"use strict";(self.webpackChunktaggbaa=self.webpackChunktaggbaa||[]).push([[145],{7371:function(e,t,n){function o(e,t){if(e)return"vin"in e?{Year:e.year,Make:e.make,Model:e.model,Trim:e.trim,Vin:e.vin,Status:e.status,Type:e.type,Condition:e.condition,BodyStyle:e.bodystyle,BodyType:e.bodyType,Engine:e.engine,Transmission:e.transmission,Drivetrain:e.drivetrain,InteriorColor:e.interiorColor,ExteriorColor:e.exteriorColor,Msrp:e.msrp,DisplayedPrice:e.displayedPrice,FuelType:e.fuelType,StockStatus:e.stockStatus,StockNumber:e.stockNumber,PageContext:t}:{Year:e.year,Make:e.make,Model:e.model,Trim:e.trim,PageContext:"mrp"}}n.r(t),n.d(t,{OemListener:function(){return pe}});class i{constructor(e,t){this.api=e,this.logger=t}async fetch(e,t,n){try{return await this.api.post(`/oem/oemSetUp/${e.toLowerCase()}`,this.serializePayload(t,n),{contentType:"application/json"})}catch(e){return this.logger.error("Failed to fetch OEM tracker config",e),null}}serializePayload(e,t){const{Dealer:n,PageData:r,PageName:a,VanityPath:s,CustomPageType:l,PseudoPageName:c}=e;return JSON.stringify({Dealer:n,PageData:r,PageName:a,VanityPath:s,CustomPageType:l,PseudoPageName:c,Vehicle:o(t,r?.DataType),PageId:i.getPageIdFromTaggingData(),PageUrl:window.location.href})}static getPageIdFromTaggingData(){try{const e=document.querySelector('script#dealeron_tagging_data[type="application/json"]');if(e?.textContent){const t=JSON.parse(e.textContent);return"number"==typeof t.pageId?t.pageId:null}}catch{}return null}}var r=n(7142);function a(e,t){return Promise.race([e,new Promise((e,n)=>setTimeout(()=>n(new Error(`Script load timeout (30s) for ${t}`)),3e4))])}class s{constructor(e){this.logger=e}async load(e,t){const n=this.ensureArray(e.script);switch(e.type){case r.v.Shift:return void await this.loadShiftScripts(n,t);case r.v.Adobe:return void await this.loadAdobeScripts(n);case r.v.Fps:return void await this.loadFpsScripts(n);default:await this.loadGenericScripts(n)}}async loadFpsScripts(e){e.length&&(await Promise.all(e.map(e=>this.appendScript(e))),window.DlronGlobal_IsFpsLoaded=!0)}async loadShiftScripts(e,t){if(!e.length)return;const[n,...o]=e;n&&await function(e,t,n="sd"){window[n]=window[n]||function(...e){window[n].q=window[n].q||[],window[n].q.push(e)},window[n].l=1*Date.now();const o=`${e}?containerId=${t}&dl=${n}`,i=document.createElement("script");i.async=!0,i.src=o;const r=document.getElementsByTagName("script")[0];return r?.parentNode?r.parentNode.insertBefore(i,r):document.head.appendChild(i),a(new Promise((e,t)=>{i.addEventListener("load",()=>{setTimeout(e,0)}),i.addEventListener("error",()=>t(new Error(`Failed to load Shift script ${o}`)))}),o)}(n,t),await Promise.all(o.map(e=>this.appendScript(e)))}async loadAdobeScripts(e){e.length&&await Promise.all(e.map(e=>function(e){return t=e,a(new Promise((e,n)=>{const o=document.createElement("script");o.async=!0,o.src=t,o.addEventListener("load",()=>e()),o.addEventListener("error",()=>n(new Error(`Failed to load script ${t}`))),document.head.appendChild(o)}),t);var t}(e)))}async loadGenericScripts(e){e.length&&await Promise.all(e.map(e=>this.appendScript(e)))}async appendScript(e){e&&await a(new Promise((t,n)=>{const o=document.createElement("script");o.async=!0,o.src=e,o.addEventListener("load",()=>t()),o.addEventListener("error",()=>{const t=new Error(`Failed to load tracker script ${e}`);this.logger.error(t.message),n(t)}),document.head.appendChild(o)}),e)}appendPrependBlocks(e){if(e?.length)for(const t of e)if(t.content)if("head"===t.location)document.head.insertAdjacentHTML("beforeend",t.content);else{const e=document.createElement("script");e.text=t.content,(document.body??document.head).appendChild(e)}}ensureArray(e){return Array.isArray(e)?e.filter(Boolean):e?[e]:[]}}var l=n(5910),c=n(9480),d=n(4603),u=n(836),m=n(6409);class p{constructor(){window.__oemLogger||(window.__oemLogger=this,window.OemLogger=p,p._isEnabled=window.location.search.includes("oem_debug=on")||"gm"===window.DlronGlobal_ActiveOemProgram)}debug(...e){p._isEnabled&&console.debug("[oem:debug]",...e)}info(...e){p._isEnabled&&console.info("[oem:info]",...e)}warn(...e){p._isEnabled&&console.warn("[oem:warning]",...e)}error(e,...t){p._isEnabled&&console.error("[oem:error]",...t),window.tagToggles?.DO55043_FrontEndTelemetry&&m.K.instance.report(e,t.map(String).join(" "))}static log(e,t,n){p._isEnabled&&console.info(`[${e}] handling event`,{payload:t,condition:n?.condition,handler:n?.handler.name||"anonymous"})}}p._isEnabled=!1;var g=n(8092);class h{constructor(e){this.init(e)}init(e){for(const t of Object.values(g.u))document.addEventListener(t,n=>{const o=n.detail??{};e.dispatchOemEvent({event:t,...o}
1)})}}var f=n(6866),v=n(3778);class y{static observeModals(){const e=document.querySelectorAll("form[data-dotagging-form-type], div.dealerOnform, form[name='epriceForm'], form[name='shareVehicleLeadForm']");new MutationObserver(()=>{if(document.body.classList.contains("bx-client-overlay")&&!y.bxFired){const e=document.querySelector("[id^='bx-campaign-']");window.dispatchEvent(new CustomEvent(v.k.Popup,{detail:{modal:e,type:"bouncex"}})),y.bxFired=!0}else y.bxFired=!1}).observe(document.body,{attributes:!0,attributeFilter:["class"]}),e.forEach(e=>{const t=e.closest(".modal, #offerDropdown, [role='dialog'], [aria-modal='true'], .card__face--alt"),n=t??e.parentElement;if(!n)return;const o=()=>null!==e.offsetParent;let i=o();new MutationObserver(()=>{const n=o();if(n!==i&&(i=n,t)){const t=n?v.k.ModalOpened:v.k.ModalClosed;window.dispatchEvent(new CustomEvent(t,{detail:{modal:e}}))}}).observe(n,{attributes:!0})})}}y.bxFired=!1;const _={shift:()=>Promise.all([n.e(870),n.e(336)]).then(n.bind(n,9901)),"shift-gm":()=>Promise.all([n.e(870),n.e(260)]).then(n.bind(n,9851)),hyundai:()=>n.e(414).then(n.bind(n,4493)),fca:()=>Promise.all([n.e(870),n.e(550)]).then(n.bind(n,5776)),"nissan-adobe":()=>n.e(64).then(n.bind(n,5638)),mitsubishi:()=>Promise.all([n.e(870),n.e(653)]).then(n.bind(n,3087)),incubeta:()=>n.e(719).then(n.bind(n,2099)),"toyota-tdds":()=>n.e(350).then(n.bind(n,5890)),"honda-gtm":()=>n.e(298).then(n.bind(n,1136)),"honda-gtm-apex":()=>n.e(743).then(n.bind(n,5466)),fps:()=>n.e(793).then(n.bind(n,1500)),"gm-digital-ad":()=>n.e(771).then(n.bind(n,7913)),"ford-adobe":()=>n.e(487).then(n.bind(n,3558))},b={shift:()=>Promise.all([n.e(870),n.e(1)]).then(n.bind(n,8384)),"merkle-adobe":()=>n.e(864).then(n.bind(n,2875)),"gm-adobe":()=>n.e(233).then(n.bind(n,341)),"gm-digital-ad":()=>n.e(113).then(n.bind(n,4595)),"nissan-adobe":()=>n.e(729).then(n.bind(n,2273)),"fps-adobe":()=>n.e(494).then(n.bind(n,5158)),"fps-das":()=>n.e(991).then(n.bind(n,3535)),fps:()=>n.e(36).then(n.bind(n,9974)),"honda-gtm":()=>n.e(542).then(n.bind(n,1707)),"hyundai-gtm":()=>n.e(161).then(n.bind(n,8334)),tdds:()=>n.e(628).then(n.bind(n,2955)),"critical-mass":()=>n.e(333).then(n.bind(n,2859)),noop:()=>n.e(99).then(n.bind(n,1756))},k={};async function w(e,t,n){if(!e)return n.warn(`resolveSetupModule: no setupModule key provided for tracker type "${t}"`),null;const o=b[e];if(!o)return n.warn(`resolveSetupModule: no setup module registered for key "${e}"`),null;try{return k[e]??(k[e]=o()),await k[e]}catch(t){return n.error(`resolveSetupModule: failed to load setup module "${e}"`,t),null}}var C=n(1714),S=n(907);class E{static specialsClickDelegation(e){const t=e.target;if(!["A","BUTTON"].includes(t.tagName))return!1;const{specialData:n,vehicle:o}=E.getSpecialData(t)??{};if(!n)return!1;const i={linkText:t.textContent?.trim()??"",specialData:n,vehicle:o};return t.href&&(i.linkUrl=t.href),document.dispatchEvent(new CustomEvent(g.u.TrackSpecialsClick,{detail:{...i,componentContext:(0,S.x6)(t)}})),!0}static getSpecialData(e){const t=e.closest(".coupon-card [data-couponid]");if(t)return{specialData:{specialType:C.Gu.Service,specialId:t.dataset.couponid??"",specialName:t.dataset.title??"",encodedName:t.dataset.encodedname??"",expiration:t.closest(".coupon-card")?.querySelector(".coupon-footer small")?.textContent?.replace(/^Expires:\s*/i,"").trim()}};const n=e.closest("#emailCouponButton, #printCouponButton");if(n){const e=n.closest(".modal-content, .modal-dialog, .modal")??document,t=e.querySelector("#vincode")?.textContent?.trim()??"";return{specialData:{specialType:C.Gu.Service,specialId:t,specialName:e.querySelector("#couponModalLabel")?.textContent?.trim()??"",encodedName:t}}}let o,i=e.closest("[id^='special--']");if(i||(i=e.closest(".rtiResultBlock"),o=C.Gu.Manufacturer),!i)return;const r=e.dataset.encodedname??"",a=i.dataset.offerValue?.split(" ")[0]||i.querySelector(".card__offerValue")?.textContent?.trim(),s=i.dataset.expiration||i.querySelector(".card__expiration > p")?.textContent?.trim()?.split(" ").slice(-1)[0]||"";o??(o=i.querySelector("[data-special-type]")?.dataset.specialType||C.Gu.Other);const l=o===C.Gu.Manufacturer?i.dataset.incentivetypes:void 0;return{specialData:{specialType:o,specialId:i.dataset.dotaggingPromotionId??"",specialName:i.dataset.dotaggingPromotionName??"",encodedName:r,expiration:s,value:a,incentiveType:l},vehicle:o===C.Gu.Manufacturer?E.getSpecialVehicle(i):void 0}}static getSpecialVehicle(e){const t=e.querySelector("h3.rtiTitle");return{Model:t?.dataset.vehicleModel??"",Trim:t?.dataset.vehicleTrim??"",Category:t?.dataset.vehicleCategory??"",Accesories:t?.dataset.vehicleAccessories??"",AccCode:t?.dataset.vehicleAccCode??"",BodyStyle:t?.dataset.vehicleBodyStyle??"",ExtColor:t?.dataset.vehicleExtColor??"",ExtColorCode:t?.dataset.vehicleExtColorCode??"",IntColor:t?.dataset.vehicleIntColor??"",IntColorCode:t?.dataset.vehicleIntColorCode??"",Msrp:t?.dataset.vehicleMsrp??"",Packages:t?.dataset.vehiclePackages??"",Year:t?.dataset.vehicleYear??"",Engine:t?.dataset.vehicleEngine??""}}}const T="fca"===window.DlronGlobal_ActiveOemProgram,x=["ford","lincoln"].includes(window.DlronGlobal_ActiveOemProgram??"");function L(e,t,n){const o=void 0!==n?n:t.closest("[data-vehicle-information]");if(!o)return;const i=o.dataset;e.vehicle={stockNumber:i.stocknumber,price:i.price,trim:i.trim,mpgCity:i.mpgcity,mpgHighway:i.mpghwy,status:"true"===i.cpo?.toLowerCase()?"CPO":i.vehicletype,item_condition:i.dotaggingItemCondition,year:i.year,make:i.make,model:i.model,engine:i.engine,transmission:i.trans,drivetrain:i.drivetrain,interior
1Color:i.intcolor,exteriorColor:i.extcolor,variant:i.variant,vin:i.vin,displayedPrice:i.msrp,fuelType:i.fueltype,stockStatus:i.stockstatus,...T?{stellantisCcode:i.stellantisCcode}:{}}}function P(e){return e.closest("nav")?e.id.includes("parent")?C.$E.HeaderNav:C.$E.GlobalNav:e.closest("[data-dotagging-product-name^='SRP']")?C.$E.VehicleListingCard:e.closest("[data-dotagging-product-name^='VDP']")?C.$E.VehicleDetailsCard:e.closest("[data-dotagging-product-name='Website|Website Entry Coupon']")?C.$E.EntryCoupon:e.closest("[data-dotagging-product-name='Website|Model Bar']")||e.closest("[data-dotagging-product-name='Website|Homepage Banners']")?C.$E.ModelBar:x?e.closest("#voi-integration")?C.$E.VoiBanner:e.closest("[data-dotagging-product-name*='SRP']")?C.$E.VehicleListingCard:e.closest("[data-dotagging-product-name*='VDP']")?C.$E.VehicleDetailsCard:C.$E.Other:C.$E.Other}var D=n(8886);const I="[data-toggle='dropdown'], [data-bs-toggle='dropdown']",A=new Set(["header","sidebar"]);function F(e,t){return!!A.has(t)&&!!e?.closest?.(I)}class M{constructor(e){this.handleClick=e=>{if(!this._toggle?.OEM14289_Wsp2PageProperties)return;const t=e.target;if(!t?.closest)return;const n=t.closest(I);if(!n)return;const o=(0,S.x6)(n);if(!F(n,o.type))return;const i=this.resolveText(n);setTimeout(()=>{const e=this.isExpanded(n)?"open":"close",t={control:`${i} ${e}`.trim(),componentContext:o};document.dispatchEvent(new CustomEvent(g.u.MenuControlInteraction,{detail:t}))},0)},this._toggle=e}init(){document.addEventListener("click",this.handleClick,!0)}isExpanded(e){return"true"===e.getAttribute("aria-expanded")||!!e.closest(".dropdown")?.classList.contains("open")||!!this.resolveMenu(e)?.classList.contains("show")}resolveMenu(e){const t=e.getAttribute("aria-controls");return t&&document.getElementById(t)||e.parentElement?.querySelector(".dropdown-menu")||null}resolveText(e){return e.textContent?.trim()||e.dataset.dotaggingElementTitle?.trim()||e.getAttribute("aria-label")?.trim()||""}}function O(e){if("clickToCallHeaderEvent"===e.id){const t=e.querySelector("span")?.textContent?.trim();if(t)return t}return e.textContent?.trim()||e.dataset.dotaggingCommPhoneNumber||e.href?.split(":")[1]||""}class N{constructor(){this.specialsDelegation=()=>!1,this.excludedEvents=["media_interaction"]}init(e,t,n){this._oem=t,this._toggle=n,document.addEventListener("click",this.linkDelegeation.bind(this),!0),e&&(this.specialsDelegation=E.specialsClickDelegation)}linkDelegeation(e){const t=this.specialsDelegation?.(e);if(t&&"nissan"!==this._oem?.toLowerCase())return;const n=e.target.closest("a[href^='tel:'], [data-dotagging-event='click_to_call']"),o=e.target.closest("a");let i;o?.href?.startsWith("sms:")?document.dispatchEvent(new CustomEvent(g.u.TrackPhone,{detail:{phone:o.href,sms:!0}})):n?this.fireClickToCall(n,e.isTrusted):"Social Media Link"!==o?.dataset.dealerontrackCategory?(i=o?this.buildAnchorEvent(o):this.buildLegacyEvent(e),!i&&document.body.classList.contains("bx-client-overlay")&&(i=this.buildBouncexClick(e)),i&&(L(i,e.target),document.dispatchEvent(new CustomEvent(g.u.TrackLinkClick,{detail:i})))):this.fireSocialMediaClick(o)}fireSocialMediaClick(e){document.dispatchEvent(new CustomEvent(g.u.TrackSocialMediaClick,{detail:{socialType:e.dataset.dealerontrackLabel??this.getElementText(e),componentContext:(0,S.x6)(e)}}))}buildBouncexClick(e){const t=e.target,n=t.closest("button")||t.closest("a");if(n)return{linkText:n.textContent?.trim()||"",linkLocation:C.$E.Other,linkType:C.Id.Other,componentContext:{type:"popup",location:1,title:""}}}fireClickToCall(e,t=!0){if(!t)return;const n=e.dataset,o={comm_phone_number:O(e),department:n.dotaggingDepartment||"sales",departmentRaw:n.dotaggingDepartment??"",element_text:n.dotaggingElementText||e.textContent?.trim(),componentContext:(0,S.x6)(e)};L(o,e),document.dispatchEvent(new CustomEvent(g.u.ClickToCall,{detail:o}))}resolveNavContextTitle(e){if(!e.closest("ul.dropdown-menu, [role='menu']"))return"";if(e.dataset.dotaggingElementTitle)return(0,S.Yv)(e.dataset.dotaggingElementTitle);
1if("menuitem"===e.getAttribute("role")){const t=e.parentElement?.parentElement?.parentElement;if("li"===t?.localName)return(0,S.Yv)(t.textContent?.split("\n").map(e=>e.trim()).find(e=>e.length>0)??"")}return(0,S.Yv)(e.closest("li.dropdown")?.querySelector("a[id*='parent'], button[id*='parent']")?.textContent?.trim()??"")}isExcludedAnchor(e){const t=e.closest("[data-dotagging-event]")?.dataset.dotaggingEvent;return!(!this.excludedEvents.includes(t??"")||"linkClick"===e.dataset.taggingEvent)&&(!this.isModelBarAnchor(e)&&!("nissan"===this._oem?.toLowerCase()&&e.href&&!e.href.startsWith("javascript:")&&e.pathname!==window.location.pathname))}isModelBarAnchor(e){return!!this._toggle?.OEM14289_Wsp2PageProperties&&!["ford","lincoln"].includes(this._oem?.toLowerCase()||"")&&!!e.closest("[data-dotagging-product-name='Website|Model Bar'], .modelBarCustom")}isHiddenMitsubishiWidgetAnchor(e){return"mitsubishi"===this._oem?.toLowerCase()&&null===e.offsetParent}buildAnchorEvent(e){if(this.isExcludedAnchor(e))return;if(this.isHiddenMitsubishiWidgetAnchor(e))return;if(this.isAccordionToggle(e))return;if(this.isNissanTabToggle(e))return;const t=P(e),n=this.getLinkType(e),o=!!e.closest(".manuLogo, .dealerLogo")||"Home"===e.dataset.doTaggingElementTitle,i=this.resolveAnchorComponentContext(e,n),r=this.resolveModelBarCaption(e)??this.getElementText(e),a=e.getAttribute("href")?.trim().toLowerCase()??"",s={linkLocation:t,linkType:n,linkText:r,linkUrl:e.href,componentContext:i,isLogoClick:o,accordionState:this.resolveAccordionState(e),isNonNavigatingHref:a.startsWith("#")||a.startsWith("javascript:"),isDirectionsElement:(0,D.vt)(e),isNavDropdownToggle:F(e,i?.type??"")};return this.applyModelAndVehicleSelectionFlags(s,e,i),(e.dataset.taggingItem||e.dataset.taggingValue)&&(s.legacyProps={taggingItem:e.dataset.taggingItem,taggingValue:e.dataset.taggingValue,taggingEvent:e.dataset.taggingEvent}),s}isAccordionToggle(e){return"collapse"===e.dataset.bsToggle||"collapse"===e.dataset.toggle&&!e.closest("nav")||e.classList.contains("accordion-toggle")}isNissanTabToggle(e){return"nissan"===this._oem?.toLowerCase()&&("tab"===e.dataset.toggle||"tab"===e.getAttribute("role"))}resolveAnchorComponentContext(e,t){const n="nissan"===this._oem?.toLowerCase();return t===C.Id.Navigation||n&&e.dataset.dotaggingElementTitle&&e.closest("nav")?{type:e.closest("nav")?.id.includes("sidebar")?"sidebar":"header",title:this.resolveNavContextTitle(e),location:1}:(0,S.x6)(e)}resolveAccordionState(e){return e.getAttribute("aria-expanded")?"open":null}applyModelAndVehicleSelectionFlags(e,t,n){this.isModelBarAnchor(t)&&!e.isNonNavigatingHref&&(e.isModelSelectionLink=!0),this._toggle?.OEM14289_Wsp2PageProperties&&"vehicle-inventory"===n?.type&&t.matches("a.vehicle-title, a[data-dotagging-element-type='item_details'][data-dotagging-element-subtype='hyperlink']")&&!e.isNonNavigatingHref&&(e.isVehicleSelectionLink=!0)}buildLegacyEvent(e){const t=e.target,n=t.closest("[data-tagging-item='windowsticker']")??t.closest("[data-tagging-event='linkClick']");if(n)return{linkLocation:P(n),linkType:this.getLinkType(n),linkText:n.textContent?.trim()??"",linkUrl:n.href??void 0,legacyProps:{taggingItem:n.dataset.taggingItem,taggingValue:n.dataset.taggingValue,taggingEvent:n.dataset.taggingEvent}}}getElementText(e){let t=e.innerText?.trim()||e.textContent?.trim()||"";const n=e.children[0];if("img"===n?.localName){const e=n;t=e.alt||e.title||t}else if(!t){const n=e.querySelector("img");t=n?.alt||n?.title||""}return(t||e.getAttribute("aria-label")||e.dataset.dotaggingElementTitle||"").trim()}resolveModelBarCaption(e){if(!this.isModelBarAnchor(e))return null;const t=e.querySelector("p")?.textContent?.trim();return t||null}getLinkType(e){return e.href?.includes("https://www.google.com/maps")||e.href?.includes("maps.google.com")?C.Id.Directions:e.closest("[data-tagging-item='windowsticker']")?C.Id.WindowSticker:this.isServiceApptmntClick(e.href??"",e.textContent??"",e)?C.Id.ScheduleService:e.closest("nav")&&e.href?.includes("/")?C.Id.Navigation:e.closest("#shareBtn")?C.Id.SocialShare:C.Id.Other}isServiceApptmntClick(e,t,n){return!!(/^https?:\/\//i.test(e)&&/(?:schedule.*service|appointment)/i.test(t)||/(?:serviceappmt\.aspx|serviceapptform|appointment\.html|schedule-service)(?![^#]*#.+NavMenu$)/i.test(e))||this.isMitsubishiJsVoidScheduleServiceClick(t,n)}isMitsubishiJsVoidScheduleServiceClick(e,t){if("mitsubishi"!==this._oem?.toLowerCase()||!t)return!1;if(!t.href?.toLowerCase().startsWith("javascript:"))return!1;const n=t.dataset.dotaggingLinkUrl??"";return/serviceappmt\.aspx|schedule-service/i.test(n)||/(?:schedule.*service|appointment)/i.test(e)}}var V=n(8221);class ${constructor(e){this._toggle=e}init(){document.addEventListener("click",this.handleClick.bind(this),!0)}handleClick(e){if(!this._toggle?.OEM14289_Wsp2PageProperties)return;const t=e.target.closest(V.Rb);if(!t)return;const n=(0,V.KZ)(t);if(!n)return;const o=function(e){const t=e.closest("[data-vehicle-information]");if(t)return t;const n=Array.from(document.querySelectorAll("[data-vehicle-information][data-vin]")),o=e.closest("[data-vin], [data-loc]"),i=[o?.dataset.vin,...o?.dataset.loc?.split(":")??[]].map(e=>
1e?.trim()).filter(Boolean);for(const e of i){const t=n.find(t=>t.dataset.vin===e);if(t)return t}const r=e.getAttribute("aria-controls"),a=r?document.getElementById(r):null;return a?.closest("[data-vehicle-information]")??null}(t),i={direction:n,position:(0,V.et)(t,n),componentContext:(0,S.x6)(t,o)};L(i,o??t),document.dispatchEvent(new CustomEvent(g.u.TrackCarouselClick,{detail:i}))}}class q{constructor(e){this._isFordLincoln=!1,this._toggle=e}init(){document.addEventListener("shown.bs.collapse",e=>this.handleBootstrapCollapse(e,"open")),document.addEventListener("hidden.bs.collapse",e=>this.handleBootstrapCollapse(e,"close")),document.addEventListener("click",this.handleClickToggle.bind(this),!0),this._isFordLincoln=["ford","lincoln"].includes(window.DlronGlobal_ActiveOemProgram||"")}handleBootstrapCollapse(e,t){if(!this._toggle?.OEM14289_Wsp2PageProperties)return;const n=e.target;if(!n?.id)return;const o=document.querySelector(`[data-bs-target="#${n.id}"], [data-target="#${n.id}"], [href="#${n.id}"]`);if(!o)return;if(o.closest("nav"))return;const i=this.getLinkLocation(n);this.dispatch(o,t,i)}handleClickToggle(e){if(!this._toggle?.OEM14289_Wsp2PageProperties)return;const t=e.target,n=t.closest("[data-toggle='collapse'], [data-bs-toggle='collapse'], .accordion-toggle, .collapsible-toggle");if(!n)return;const o=!!n.closest("nav");if(!(o||this._isFordLincoln||"collapse"!==n.dataset.bsToggle&&"collapse"!==n.dataset.toggle))return;const i=this.getLinkLocation(t);if(o)return void setTimeout(()=>{const e="true"===n.getAttribute("aria-expanded");this.dispatch(n,e?"open":"close",i)},0);const r="true"===n.getAttribute("aria-expanded")?"open":"close";this.dispatch(n,r,i)}getLinkLocation(e){return this._isFordLincoln&&e.closest("#voi-integration")?C.$E.VoiBanner:C.$E.Other}dispatch(e,t,n){if(!this._toggle?.OEM14289_Wsp2PageProperties)return;const o=e.textContent?.trim()??"",i=(0,S.x6)(e);document.dispatchEvent(new CustomEvent(g.u.TrackLinkClick,{detail:{linkLocation:n,linkType:C.Id.Accordion,linkText:o,accordionState:t,componentContext:i}}))}}var B=n(2981);const G=["[data-dotagging-product-name='Website|Homepage Banners']","#inventoryVehicleGallery",".gallery-thumbnails",".thumbnails--desktop__top",".hero-carousel__item",".thumbnails--mobile .thumbnail","#gallery-section",".thumbnails .thumbnail"].join(", "),W=[".hero-carousel__control--previous-btn",".hero-carousel__control--next-btn",".hero-carousel__control--previous",".hero-carousel__control--next",".slick-prev",".slick-next","[data-slide='prev']","[data-slide='next']",".carousel-control-prev",".carousel-control-next"].join(", ");class U{constructor(e,t){this.handleClick=e=>{if(!this._toggle?.OEM14289_Wsp2PageProperties)return;const t=e.target;if(t.closest(W))return;if(!t.closest(G))return;const n=t instanceof HTMLImageElement?t:t.querySelector("img");n&&this._store.dispatchOemEvent({event:g.u.TrackMediaInteraction,name:n.getAttribute("alt")||n.getAttribute("title")||"",componentContext:(0,S.x6)(t),isAiGenerated:(0,B.TH)(n)})},this._store=e,this._toggle=t}init(){document.addEventListener("click",this.handleClick,!0)}}class H{constructor(e){this.handlePopup=e=>{let t;const n=e.detail?.modal,o=(0,S.x6)(n);if("bouncex"===e.detail?.type){const e=n?.querySelector("form");t=e?.campaign_id?.value||"";const i=e?.Comments?.value.split("-")[1]||"";o.title=i.trim()}const i={popUpType:"promo",popUpId:t,providerName:"dealeron",componentContext:o};this._store.dispatchOemEvent({event:g.u.TrackOverlayShown,...i})},this.handleEntryCoupon=e=>{const t=e.detail?.data||{};if("special_offer"===t?.event&&"popup"===t.event_action_result){const e={popUpType:"promo",providerName:"dealeron",product_name:t.product_name,componentContext:{title:document.querySelector("[id='dealerOnCoupon'] [id='offersFirst']")?.textContent?.trim()||"",location:1,type:"popup"}};this._store.dispatchOemEvent({event:g.u.TrackOverlayShown,...e})}},this._store=e}init(){window.addEventListener(v.k.Popup,this.handlePopup),window.addEventListener("dotagging.event",this.handleEntryCoupon)}}var j=n(4971),R=n(7431),z=n(4096);function Y(e){let t=e.innerText?.trim()||e.textContent?.trim()||"";const n=e.children[0];if("img"===n?.localName){const e=n;t=e.alt||e.title||t}else if(!t){const n=e.querySelector("img");t=n?.alt||n?.title||""}return(t||e.getAttribute("aria-label")||e.dataset.dotaggingElementTitle||"").trim()}function J(e,t,n,o={}){const i={section:t,component:n,isAnchor:"a"===e.localName,linkType:o.linkType??(0,z.rs)(e,t,n),linkText:Y(e),parentText:(r=e,function(e){if(e.dataset.dotaggingElementTitle)return e.dataset.dotaggingElementTitle;if("menuitem"===e.getAttribute("role")){const t=e.parentElement?.parentElement?.parentElement;if("li"===t?.localName)return t.textContent?.split("\n").map(e=>e.trim()).find(e=>e.length>0)??""}return e.closest("li.dropdown")?.querySelector("a[id*='parent'], button[id*='parent']")?.textContent?.trim()??""}(r)||function(e){const t=e.closest("[role='tabpanel'], .tab-pane");if(!t)return"";if(t.id){const e=document.querySelector(`[aria-controls='${t.id}'], [href='#${t.id}'], [data-bs-target='#${t.id}']`),n=e?.textContent?.trim();if(n)return n}const n=t.closest("[role='tablist'], .nav-tabs")?.querySelector("[aria-selected='true'], .nav-link.active, .active");return n?.textContent?.trim()??""}(r)||function(e){const t=e.closest(".accordion-item, .panel, .accordion-section"),n=t?.querySelector(".accordion-button, [data-bs-toggle='collapse'], [data-toggle='collapse'], .accordion-toggle");return n?.textContent?.trim()??""}(r)||void 0),linkHref:e.href,elementId:e.id||(e.dataset.printSpecialId?"print":""),dataLoc:e.closest("[data-loc]")?.dataset.loc?.trim()||void 0,accordionState:o.accordionState};var r;return!1!==o.withVehicle&&L(i,e,e.closest(R.kA)),i}function Z(e){document.dispatchEvent(new CustomEvent(g.u.TrackLinkClick,{detail:e}))}function Q(e,t,n,o){Z(J(e,(0,R.o2)(e),n.resolve(e),{linkType:z.s8.Accordion,accordionState:t,withVehicle:o}))}function K(e){const t=e.target.closest("[data-toggle='collapse'], .accordion-toggle, .collapsible-toggle");if(!t||t.closest("nav"))return;if(function(e){const t=window.bootstrap?.Collapse;if("function"!=typeof t?.getInstance)return!1;const n=function(e){const t=e.getAttribute("data-bs-target")??e.getAttribute("data-target")??e.getAttribute("href");if(!t?.startsWith("#"))return null;try{return document.querySelector(t)}catch{return null}}(e);return!!n&&!!t.getInstance(n)}(t))return;
1const n="true"===t.getAttribute("aria-expanded")?"close":"open";Q(t,n,e.components,e.hasVehicles)}function X(e){const t=e.target.closest("a, button, [data-dotagging-event='cta_interaction'], [data-dotagging-event='el_config'], prequal-app-button, capital-one-entry-button");t&&"media_interaction"!==t.dataset.dotaggingEvent&&(function(e){return"collapse"===e.dataset.bsToggle||"collapse"===e.dataset.toggle&&!e.closest("nav")||e.classList.contains("accordion-toggle")||e.classList.contains("collapsible-toggle")}(t)||Z(J(t,(0,R.o2)(t),e.components.resolve(t),{withVehicle:e.hasVehicles})))}var ee=n(2557);const te=["[data-dotagging-event='media_interaction']","[data-dotagging-product-name='Website|Homepage Banners']","#inventoryVehicleGallery",".thumbnails--desktop__top",".hero-carousel__item"].join(", "),ne=[".gallery-thumbnails",".thumbnails--mobile .thumbnail","#gallery-section"].join(", "),oe=`${te}, ${ne}`,ie=[".stat-arrow-next",".slick-next",".hero-carousel__control--next-btn",".hero-carousel__control--next","[data-slide='next']",".carousel-control-next"].join(", "),re=".stat-dot",ae=[ie,[".stat-arrow-prev",".slick-prev",".hero-carousel__control--previous-btn",".hero-carousel__control--previous","[data-slide='prev']",".carousel-control-prev"].join(", "),re].join(", "),se=/(?:^|\s)contentSection-(\d+)(?:\s|$)/;function le(e,t){if(t!==R.uA.Unknown)return;const n=e.closest("[data-loc]")?.dataset.loc?.trim();if(n)return n;const o=e.closest("[class*='contentSection-']");return se.exec(o?.className??"")?.[1]}class ce{constructor(e,t){this._played=new WeakSet,this.handleClick=e=>{const t=e.target,n=t.closest(ae);if(n)return void this.controllsClick(e,n);const o=t.closest(oe);if(!o)return;const i=t instanceof HTMLImageElement?t:t.querySelector("img");if(!i)return;const r=t.closest("a"),a=r?.getAttribute("href")?.trim()||void 0;this.dispatchMedia(t,{mediaControl:o.matches(ne)?ee.M.Thumbnail:ee.M.Photo,name:i.getAttribute("alt")||i.getAttribute("title")||"",linkUrl:a,component:e.components.resolve(t)})},this._store=e,this._components=t}initVideoPlays(){document.querySelectorAll("video").forEach(e=>{e.addEventListener("play",()=>this.handleVideoPlay(e))})}handleVideoPlay(e){this._played.has(e)||(this._played.add(e),this._store.dispatchOemEvent({event:g.u.TrackMediaInteraction,mediaType:ee.z.Video,name:e.getAttribute("title")||e.getAttribute("aria-label")||e.querySelector("source")?.getAttribute("src")||"",section:(0,R.o2)(e),component:this._components.resolve(e)}))}controllsClick(e,t){const n=t.matches(re);this.dispatchMedia(t,{mediaControl:n?ee.M.Bubble:ee.M.Arrow,name:n?t.dataset.slideTo||t.title:t.dataset.slide||t.title,component:e.components.resolve(t)})}dispatchMedia(e,t){const n={event:g.u.TrackMediaInteraction,mediaType:ee.z.Image,...t,section:(0,R.o2)(e),dataLoc:le(e,t.component)};L(n,e,e.closest(R.kA)),this._store.dispatchOemEvent(n)}}class de{constructor(e,t={}){this._mainEl=null,this._disposeCollapse=null,this._bound=!1,this._onMain=e=>{this._dispatch(e,this._components.main)},this._onGlobal=e=>{const t=e.target;t&&this._mainEl?.contains(t)||this._dispatch(e,this._components.chrome)},this._components=(0,R.HU)(t.pageType,{hasSpecials:t.hasSpecials,hasVehicleCards:"undefined"!=typeof document&&!!document.querySelector(R.kA)}),this._media=new ce(e,this._components.all),this._handlers=[X,K,this._media.handleClick]}get components(){return this._components}init(){this._bound||(this._bound=!0,this._mainEl=document.querySelector("main"),this._mainEl?.addEventListener("click",this._onMain,!0),document.addEventListener("click",this._onGlobal,!0),this._disposeCollapse=function(e,t){const n=(n,o)=>{const i=n.target;if(!i?.id)return;const r=document.querySelector(`[data-bs-target="#${i.id}"], [data-target="#${i.id}"], [href="#${i.id}"]`);r&&Q(r,o,e,t)},o=e=>n(e,"open"),i=e=>n(e,"close");return document.addEventListener("shown.bs.collapse",o),document.addEventListener("hidden.bs.collapse",i),()=>{document.removeEventListener("shown.bs.collapse",o),document.removeEventListener("hidden.bs.collapse",i)}}(this._components.all,this._components.hasVehicles),this._media.initVideoPlays())}destroy(){this._bound&&(this._bound=!1,this._mainEl?.removeEventListener("click",this._onMain,!0),document.removeEventListener("click",this._onGlobal,!0),this._disposeCollapse?.(),this._disposeCollapse=null)}_dispatch(e,t){const n=e.target;if(!n||"function"!=typeof n.closest)return;const o=this._contextFor(t,n);for(const e of this._handlers)try{e(o)}catch(e){console.error("[ford-click] handler threw",e)}}_contextFor(e,t){return{target:t,components:e,hasVehicles:this._components.hasVehicles}}}class ue{constructor(e,t,n,o){this._isFordLincoln=!1,this._store=e,this._pageName=t,this._pageType=n,this._oem=o}init(e){window.addEventListener("searchFilterUpdate",this.fireFilteredSearch.bind(this)),this._isFordLincoln=["ford","lincoln"].includes(this._oem||"");const t=["manufacturer-incentives.aspx","moparcoupons.aspx"].includes(this._pageName.toLowerCase());if(this._isFordLincoln)new de(this._store,{pageType:this._pageType,hasSpecials:this._pageType===j.k.Specials||t}).init();else{window.addEventListener("dotagging.event",this.fireOemEvent.bind(this));const n=this._pageType===j.k.Specials||t||"mitsubishi"===this._oem;(new N).init(n,this._oem,e),new q(e).init(),new U(this._store,e).init(),new $(e).init(),new M(e).init()}new H(this._store).init()}fireOemEvent(e){const t=e.detail?.data||{};if("filter_change"===t?.event){const e={filterCategory:"drag"==t.filter_action?t.itemlist_filter:t.item_location?.split("|").at(-1),filterValue:"drag"==t.filter_action?t.element_value:t.itemlist_filter,filterAction:t.filter_action};return void this._store.dispatchOemEvent({event:g.u.FilterInteraction,...e})}
1if("element_configuration"===t?.event){const e={element_title:t.element_title,element_text:t.element_text,product_name:t.product_name,element_value:t.element_value,element_position:t.element_position};return void this._store.dispatchOemEvent({event:g.u.ElConfig,...e})}if(this._isFordLincoln&&"media_interaction"===t?.event){const e={linkText:t.element_text,linkLocation:C.$E.Other,linkType:C.Id.Other,linkHref:t.link_url,product_name:t.product_name,componentContext:{type:"image",location:t.event_location,title:t.card_name}};return void this._store.dispatchOemEvent({event:g.u.TrackLinkClick,...e})}if("cta_interaction"===t?.event){if(this._isFordLincoln&&"Disclaimer"===t.card_name&&"open"===t.event_action_result){const e={linkText:"open disclaimer",linkLocation:C.$E.VehicleListingCard,linkType:C.Id.Other,componentContext:{type:"vehicle-inventory",location:1,title:"disclaimer"}};return void this._store.dispatchOemEvent({event:g.u.TrackLinkClick,...e})}if("Website|Print Item Details"==t.product_name){const e={linkText:"print",linkLocation:C.$E.Other,linkType:C.Id.Other,elementId:"print",product_name:t.product_name};return void this._store.dispatchOemEvent({event:g.u.TrackLinkClick,...e})}if("Website|Website Entry Coupon"==t.product_name){const e={linkText:t.element_text,linkLocation:C.$E.EntryCoupon,linkType:C.Id.Other,componentContext:{type:"popup",location:1,title:"Special Offer"}};return void this._store.dispatchOemEvent({event:g.u.TrackLinkClick,...e})}"string"==typeof t.product_name&&t.product_name.endsWith("Vehicle Save")&&"check"===t.event_action_result&&this._store.dispatchOemEvent({event:g.u.TrackSaveVehicleClick,vehicle:{year:t.item_year,make:t.item_make,model:t.item_model,trim:t.item_variant,vin:t.item_id,status:t.item_condition,stellantisCcode:t.item_model_code}})}}fireFilteredSearch(e){const t=e.detail,n=t?.filters;if("string"!=typeof n)return;const o=new URLSearchParams(n.toLowerCase());o.sort();const i={filter_status:"1"===o.get("cpo")?"CPO":void 0,filter_year:o.get("yearrange"),filter_color:o.get("extcolor"),filter_make:o.get("make"),filter_model:this.getModelTrim("model",o)||o.get("model"),filter_variant:this.getModelTrim("trim",o)||o.get("trim"),filter_bodyStyle:o.get("bodystyle")||o.get("bodytype"),filter_features:o.get("features"),filter_stockNumber:o.get("stocknum")||o.get("stockvin"),filter_driveTrain:o.get("drivetraintype"),filter_minPrice:this.getFilterPrice("min",o),filter_maxPrice:this.getFilterPrice("max",o),filter_query:o.get("q"),filter_results:t.count,searchFilterParams:n};this._store.dispatchOemEvent({event:g.u.SearchFilterUpdate,payload:i})}getFilterPrice(e,t){const n=t.get("pricerange")||"",[o,i]=n.split("-");return"min"===e?o:i}getModelTrim(e,t){const n=(t.get("modelandtrim")||"").split("!");if(1!==n.length)return"";const[o,i]=n[0].split(":");return"model"===e?o??"":i??""}}var me=n(8970);!function(){if(document.querySelector("link[rel='preconnect'][href*='shiftdigital']"))return;const e=document.createElement("link");e.rel="preconnect",e.href="https://tagging.shiftdigitalapps.io",e.crossOrigin="anonymous",document.head.appendChild(e)}(),function(e){const t=b[e];t&&(k[e]??(k[e]=t()))}("shift");class pe{constructor(e,t,n){this._nextgenStore=t,this._logger=new p,this._configLoader=new i(e,this._logger),this._scriptLoader=new s(this._logger),this._sdQueue=n}async initialize(e){const t=u.P.getFormattedOemProgram(),n=u.P.getPageDataFromScript();if(new ue(this._nextgenStore,n?.PageName??"",n?.PageData?.DataType,t??void 0).init(e),!t)return void this._logger.warn("Oem tracker initiallization data not found");if(!n)return;const o=this._resolvePageVehicle(n),i=this._configLoader.fetch(t,n,o);y.observeModals();const r=await i;this._logger.info(`[oem-bootstrap] config fetch resolved (trackers: ${r?.trackers?.length??0})`),r?.trackers?.length?(await this._bootstrapAllTrackers(r.trackers),this._sdQueue.flush(),await this._activateListenerModules(r.trackers,n),this._nextgenStore.flushOemEvents()):this._logger.warn("OEM listener: no tracker configuration returned")}_resolvePageVehicle(e){const t=e.PageData.DataType;return t===j.k.Vdp?(0,c.E)():t===j.k.Mrp?(0,l.p)(e):(e.PageName??"").toLowerCase().includes("thankyou")?this._resolvePendingLeadVehicle():void 0}_resolvePendingLeadVehicle(){try{const e=sessionStorage.getItem(d.Cb);if(!e)return;return sessionStorage.removeItem(d.Cb),JSON.parse(e)}catch{return}}async _bootstrapAllTrackers(e){let t;const n=Promise.all(e.map(e=>this._bootstrapTracker(e))).finally(()=>{void 0!==t&&window.clearTimeout(t)});await Promise.race([n,new Promise(e=>{t=window.setTimeout(()=>{this._logger.warn("[oem-bootstrap] bootstrap timeout â proceeding with flush"),e()},pe.BOOTSTRAP_TIMEOUT_MS)})])}async _activateListenerModules(e,t){const n=t.PageData?.DataType??j.k.Default,o=e.map(e=>e.listenerModule).filter(e=>!!e),i={};for(const t of e)"ford-adobe"===t.listenerModule&&t.pageType&&(i[t.listenerModule]=t.pageType),"fca"===t.listenerModule&&"businesslink"===t.pageType&&(i[t.listenerModule]=t.pageType);const r=(u.P.getFormattedOemProgram()??"").toLowerCase()||void 0,a=e.some(e=>"shift-gm"===e.listenerModule);new h(this._nextgenStore),new f.G(this._nextgenStore,n,a),await async function(e,t,n,o,i={},r){const a=[...new Set(e)];await Promise.all(a.map(async e=>{const a=_[e];
1if(a)try{const s=await a();await s.load(t,n,i[e]??o,r)}catch(t){n.error(`Listener registry: failed to load "${e}"`,t)}else n.warn(`Listener registry: no listener module for key "${e}"`)}))}(o,this._nextgenStore,this._logger,n,i,r)}async _bootstrapTracker(e){try{this._scriptLoader.appendPrependBlocks(e.prependBlocks),this._sdQueue.deleteStub(),this._injectEventScripts(e.eventJs);const[,t]=await Promise.all([this._scriptLoader.load(e,e.shiftSetupId??"").catch(t=>{this._logger.warn(`Script load failed for ${e.type}, continuing bootstrap`,t)}),w(e.setupModule,e.type,this._logger)]);if(!t)return;const n=e.dataLayer??{};await t.setUp(n,e,this._logger),this._nextgenStore.dispatchOemInit(e.type,n)}catch(t){this._logger.error(me.h.App,`Failed to bootstrap tracker ${e.type}`,t)}}_injectEventScripts(e){if(e?.blockContent){const t=document.createElement("script");t.type="text/javascript",t.textContent=e.blockContent,document.body.appendChild(t)}if(e?.scriptSources?.length>0)for(const t of e.scriptSources){const e=document.createElement("script");e.type="text/javascript",e.src=t,document.body.appendChild(e)}}}pe.BOOTSTRAP_TIMEOUT_MS=3e3},5910:function(e,t,n){n.d(t,{p:function(){return i}});var o=n(4971);function i(e){const t=function(){const e=(window.location.pathname.split("/").filter(e=>e.length>0).at(-1)??"").split(".")[0];if(!e)return{year:"",make:"",model:"",trim:""};const t=e.split("-",4).filter(e=>e.length>0),n=t[0]??"";return{year:/^\d{4}$/.test(n)?n:"",make:r(t[1]??""),model:r(t[2]??""),trim:r(t[3]?.replace(/-/g," ")??"")}}(),n=function(){const e={year:"",make:"",model:"",trim:""},t=document.getElementById("content-main");if(!t)return e;for(const e of Array.from(t.classList)){const t=e.split("-").filter(e=>e.length>0);if(/^\d{4}$/.test(t[0]??""))return"page"===t.at(-1)?.toLowerCase()&&t.pop(),{year:t[0],make:r(t[1]??""),model:r(t[2]??""),trim:r(t.slice(3).join(" "))}}return e}(),i=t.year||n.year,a=e?.PageData;if(a?.DataType===o.k.Mrp&&a?.model)return{year:a.year||i,make:r(a.make),model:r(a.model),trim:r(a.trim)};const s=document.querySelector("script#mrpData"),l=s?JSON.parse(s.textContent||"{}"):null;return l?.model?{year:l.year||i,make:r(l.make),model:r(l.model),trim:r(l.trim)}:t.model?{...t,year:t.year||i}:n.model?n:{...t,year:i}}function r(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""}},4971:function(e,t,n){var o;n.d(t,{k:function(){return o}}),function(e){e.Specials="slp",e.Vdp="vdp",e.Srp="srp",e.Mrp="mrp",e.Default="default"}(o||(o={}))},6866:function(e,t,n){n.d(t,{G:function(){return c}});var o=n(8092),i=n(3778),r=n(8255),a=n(2158);class s{constructor(e,t,n,o=!1){this._wiredForms=new WeakSet,this._notInitialized=new Set,this._store=e,this._formData=t,this._pageDataType=n,this._isGm=o}dispatchFormShown(e,t){const n=this.extractFormEventData(e,t),i=(0,a.ni)(n?.formName);i&&n&&(this._formData.set(i,n),this._notInitialized.add(i),this._store.dispatchOemEvent({event:o.u.TrackFormShown,...n}),this.addFormListeners(e,i))}extractFormEventData(e,t){if(!e?.dataset)return null;const n=e.leadSource?.value??e.querySelector("input[name='leadSource']")?.value??e.querySelector("[id='leadsource']")?.value??"",o=e.leadType?.value??e.querySelector("input[name='leadType']")?.value??e.querySelector("[id='leadtype']")?.value??"",i=e.id??"",r={leadSource:Number.parseInt(n,10)||0,leadType:o,formType:e.dataset.dotaggingFormType??"",formName:i,nativeFormName:e.name||i,displayType:t?"modal":"in-page"};if(!["srp","vdp"].includes(this._pageDataType))return r;const s=(0,a.fU)(e,"vdp"===this._pageDataType,this._isGm);return s&&(r.formVehicle=s),r}addFormListeners(e,t){if(this._wiredForms.has(e))return;this._wiredForms.add(e);const n=e.querySelectorAll("input:not([type=button]),select,textarea");for(const e of n)e.addEventListener("change",()=>{this.dispatchFormInteraction(t,this.resolveFieldTitle(e))});const o=e.querySelector("input[id='submit'], input[type='submit'], button[type='submit'], button[id='submit']");o?.addEventListener("click",()=>this.dispatchFormSubmission(e,t))}dispatchFormInteraction(e,t){this._notInitialized.has(e)&&(this._store.dispatchOemEvent({event:o.u.TrackFormFieldInteraction,form_name:e,isFirstInteraction:!0,element_title:t}),this._notInitialized.delete(e)),this._store.dispatchOemEvent({event:o.u.TrackFormFieldInteraction,form_name:e,isFirstInteraction:!1,element_title:t})}dispatchFormSubmission(e,t){const n=this._formData.get(t);if(!n)return;const i=this.findValidationError(e);i?this._store.dispatchOemEvent({event:o.u.TrackFormSubmissionError,...n,formName:t,errorMessage:i}):this._store.dispatchOemEvent({event:o.u.TrackFormSubmission,...n,leadId:""})}findValidationError(e){const t=e.querySelectorAll("[id^=field]");for(const e of t){const t=this.validateField(e);if(t)return t}return null}validateField(e){const t=e.className??"",n=this.resolveFieldTitle(e).replaceAll("*","").replaceAll(/[\r\n\t]+/g," ").trim(),o=/\breq\b/.test(t),i=/\bphone\b/.test(t),r=/\bemail\b/.test(t),a=e.value??"";if(o&&!this.hasFieldValue(e))return`Please enter a value for the "${n}" field.`;const l=o||a.length>0;return i&&l&&!this.isValidPhone(a)?`Please enter a 10-digit phone number for "${n}" field as xxx-xxx-xxxx.`:r&&l&&!s.EMAIL_PATTERN.test(a)?`Please enter a valid E-Mail for the "${n}" field.`:null}hasFieldValue(e){const t=e.className??"";return/\bradio\b/.test(t)&&e.id?!!document.querySelector(`input[name='${e.id}']:checked`):/\bcheckbox\b/.test(t)?e.checked:!!e.value}isValidPhone(e){const t=window;return 6===t.DlronGlobal_DealerInfoCountry&&"function"==typeof t.validatePhone?!!t.validatePhone(e):s.PHONE_PATTERNS.some(t=>t.test(e))}resolveFieldTitle(e){const t=e.id?document.querySelector(`label[for="${e.id}"]`):null,n=t?.textContent?.trim();return n||(e instanceof HTMLInputElement?e.placeholder??"":e instanceof HTMLSelectElement&&e.selectedIndex>=0?e.options[e.selectedIndex]?.text??"":"")}}s.PHONE_PATTERNS=[/^\(\d{3}\)( )(\d{3})(-)(\d{4})( x[_\d]{1,5})?$/,/^\(?\d{3}\)?( )?(\d{3})(-)?(\d{4})(\s?x?[_\d]{1,5})?$/,/^(\d{2})( )?(\d{4})( )?(\d{4})$/,/^(\d{1,3})(-)?(\d{3})(-)?(\d{4})$/],s.EMAIL_PATTERN=/^[\w.%+-]+@[\w.-]+\.[a-z]{2,}$/i;var l=n(4971);class c{constructor(e,t,n=!1){this._isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),this._store=e,this._pageDataType=t,this._isGm=n,this._dealerOnForms=new s(e,c._formData,t,n),this.addListeners()}addListeners(){const e=Array.from(document.querySelectorAll("form[data-dotagging-form-type], div.dealerOnform")).filter(e=>null!==e.offsetParent);for(const t of e)this.dispatchFormShown(t,!1);window.addEventListener(i.k.ModalOpened,e=>{const t=e.detail?.modal;setTimeout(()=>{t&&this.dispatchFormShown(t,!0)},300)}),window.addEventListener(i.k.TrackFormSubmissionError,e=>{const{element:t,message:n}=e.detail;this.dispatchFormError(t,n)}),window.addEventListener(i.k.TrackFormSubmission,e=>{this.dispatchFormSubmission(e)}),window.addEventListener("dotagging.event",e=>{const t=e.detail?.data||{};"form_engagement"===t?.event&&"engage"===t.comm_status&&this.dispatchFormInteraction(t)})}dispatchFormInteraction(e){const{element_title:t,form_name:n}=e,i=(0,a.ni)(n),r=c._notInitialized.has(i),s={event:o.u.TrackFormFieldInteraction,form_name:i,isFirstInteraction:r,element_title:t};r&&(this._store.dispatchOemEvent(s),c._notInitialized.delete(i));const l={event:o.u.TrackFormFieldInteraction,form_name:i,isFirstInteraction:!1,element_title:t};this._store.dispatchOemEvent(l)}
1dispatchFormError(e,t){const n=e.closest("form, .dealerOnform");if(!n)return;const i=r.A.IsCustomFormElement(n)?n.id:(0,a.ni)(n?.dataset?.dotaggingFormName);let s="";if(t)s=t;else{const t=e.closest("div")?.querySelector("label.has-error"),n=document.querySelector(`label[for="${e.id}"]`),o=e.placeholder||(n?n.textContent:"");s=t?.textContent.replace("This field",o)??""}if(!s)return;const l=c._formData.get(i??"")??c._formData.get(n.name??"");l&&this._store.dispatchOemEvent({event:o.u.TrackFormSubmissionError,...l,formName:i,errorMessage:s})}dispatchFormShown(e,t){if(r.A.IsCustomFormElement(e))return void this._dealerOnForms.dispatchFormShown(e,t);this.observeFormSteps(e);const n=this.extractFormEventData(e,t),i=(0,a.ni)(n?.formName);i&&n&&(c._formData.set(i,n),c._notInitialized.add(i),this._store.dispatchOemEvent({event:o.u.TrackFormShown,...n}))}observeFormSteps(e){const t=c._stepTabSelectors[e.id];if(!t)return;const n=document.querySelector(t);if(!n||c._observedStepContainers.has(n))return;c._observedStepContainers.add(n);const i=e=>{e?.id&&this._store.dispatchOemEvent({event:o.u.TrackFormStep,formStep:e.id})};i(n.querySelector("li[id].active")),new MutationObserver(e=>{for(const t of e){const e=t.target;"LI"===e.tagName&&e.id&&(!(t.oldValue??"").split(/\s+/).includes("active")&&e.classList.contains("active")&&i(e))}}).observe(n,{subtree:!0,attributes:!0,attributeFilter:["class"],attributeOldValue:!0})}dispatchFormSubmission(e){const{leadId:t,form:n,leadSource:i}=e.detail??{},s=(0,a.ni)(n?.dataset?.dotaggingFormName);let l=c._formData.get(s);if(l??(l=c._formData.get(n?.name??"")),!l&&r.A.IsCustomFormElement(n)&&(l=c._formData.get(n.id??"")),!l&&void 0!==i){const e=Number(i);l=[...c._formData.values()].find(t=>t.leadSource===e)}l&&this._store.dispatchOemEvent({event:o.u.TrackFormSubmission,...l,leadId:t??""})}extractFormEventData(e,t){if(!e?.dataset)return null;const n=e.leadSource?.value??e.querySelector("input[name='leadSource']")?.value??this.deviceSpecificLeadsource(e)??"",o=e.leadType?.value??e.querySelector("input[name='leadType']")?.value??"",i={leadSource:Number.parseInt(n,10)||0,leadType:o,formType:e.dataset.dotaggingFormType??"",formName:(0,a.ni)(e.dataset.dotaggingFormName)||e.name||"",nativeFormName:e.name??"",displayType:t?"modal":"in-page"};if(![l.k.Srp,l.k.Vdp].includes(this._pageDataType))return i;const r=(0,a.fU)(e,this._pageDataType===l.k.Vdp,this._isGm);return r&&(i.formVehicle=r),i}deviceSpecificLeadsource(e){return this._isMobile?e.mobileLeadSource:e.desktopLeadSource}}c._formData=new Map,c._notInitialized=new Set,c._observedStepContainers=new WeakSet,c._stepTabSelectors={preapprovedForm:".Get-Pre-Approved-page ul#myTab",tradeForm:".trade-page ul#myTab"}},2158:function(e,t,n){n.d(t,{fU:function(){return c},ni:function(){return d},ry:function(){return s},vH:function(){return l}});var o=n(9480),i=n(2381);const r="fca"===window.DlronGlobal_ActiveOemProgram;function a(e,t,n){return n?(0,i.Z)(e,t):e}function s(){return document.body.classList.contains("modal-open")?"modal":"in-page"}function l(e){if("function"==typeof window.LeadSourceToFormType)return window.LeadSourceToFormType(e)}function c(e,t,n){if(e?.dataset?.dotaggingItemMake)return{status:"true"===e.dataset.cpo?.toLowerCase()?"CPO":a(e.dataset.dotaggingItemCondition,e.dataset.dotaggingItemCondition,n),year:e.dataset.dotaggingItemYear,make:e.dataset.dotaggingItemMake,model:e.dataset.dotaggingItemModel,trim:e.dataset.dotaggingItemVariant,engine:e.dataset.dotaggingItemEngine,transmission:e.dataset.dotaggingItemTransmission,drivetrain:e.dataset.dotaggingItemDrivetrain,interior
1Color:e.dataset.dotaggingItemColorInterior,exteriorColor:e.dataset.dotaggingItemColor,vin:e.dataset.vin,msrp:e.dataset.dotaggingItemPrice,displayedPrice:e.dataset.dotaggingItemPrice,fuelType:e.dataset.dotaggingItemFuelType,...r?{stellantisCcode:e.dataset.stellantisCcode}:{}};if(!t)return;const i=(0,o.E)();return i.make?{year:i.year||void 0,make:i.make||void 0,model:i.model||void 0,trim:i.trim||void 0,status:a(i.status,i.condition,n)||void 0,engine:i.engine||void 0,transmission:i.transmission||void 0,drivetrain:i.drivetrain||void 0,interiorColor:i.interiorColor||void 0,exteriorColor:i.exteriorColor||void 0,vin:i.vin||void 0,msrp:i.msrp||void 0,displayedPrice:i.displayedPrice||void 0,fuelType:i.fuelType||void 0,...r?{stellantisCcode:window.digitalData.page.pageInfo.vehicleCCcode??""}:{}}:void 0}function d(e){return e?.includes("Form Step")?e.split("Form Step")[0].trim():e??""}["input:invalid","select:invalid","textarea:invalid","input[aria-invalid='true']","select[aria-invalid='true']","textarea[aria-invalid='true']","input.error","select.error","textarea.error","input.input-validation-error","select.input-validation-error","textarea.input-validation-error","input.field-validation-error","select.field-validation-error","textarea.field-validation-error","input.has-error","select.has-error","textarea.has-error"].join(",")},836:function(e,t,n){n.d(t,{P:function(){return r}});var o=n(3906),i=n(4971);class r{static getFormattedOemProgram(){if(this.oemProgram)return this.oemProgram;const e=window.DlronGlobal_ActiveOemProgram?.trim();if(!e)return null;const t=this._oemProgramMap[e]??e.replace(/[\s-]/g,"");return this.oemProgram=t,t}static getPageDataFromScript(e="dlron-oem-tagging"){if(this.pageDataCache)return this.pageDataCache;const t=document.getElementById(e);if(!t?.textContent)return null;let n=t.textContent.trim();n.endsWith("'")&&(n=n.slice(0,-1));try{const e=JSON.parse(n);if(!e?.PageName)return null;const t=r.mapPayloadToPageDataModal(e);return this.pageDataCache=t,t}catch(e){return console.error("Failed to parse dlron-oem-tagging payload",e),null}}static mapPayloadToPageDataModal(e){const t=this.resolvePageDataType(e.PageData,e.PseudoPageName||e.PageName);return{Dealer:r.createDealer(e?.OemSettingsModal),PageData:{...e.PageData,DataType:t},PageName:e.PageName??"",PseudoPageName:e.PseudoPageName,CustomPageType:e.CustomPageType,VanityPath:window.location.pathname,IsCpoFilterApplied:e.IsCpoFilterApplied}}static createDealer(e){const t=window.DlronGlobal_DealerCulture?.toLowerCase()??"";return{Address:window.DlronGlobal_DealerAddress??"",City:window.DlronGlobal_DealerCity??"",DealerCode:window.DlronGlobal_DealerCode??"",DealerId:window.DlronGlobal_DealerId??"",DealerName:window.DlronGlobal_DealerName??"",State:window.DlronGlobal_DealerState??"",Zip:window.DlronGlobal_DealerZip??"",DealerCulture:t,PrimaryMake:window.dealerOnDMake,Makes:window.dealerOnDMakes??[],IsDigitalGarageEnabled:"function"==typeof window.ToyotaDigitalGarage,FdfaCode:e?.FdfaCode,DealerTda:e?.DealerTda,Region:e?.Region,District:e?.District,DealerGroup:window.DlronGlobal_DealerGroup??"",IsAdobeOptedOut:e?.IsFordAdobeOptedOut,IsVoiEnabled:e?.IsVoiEnabled,IsMoneyBackGuarantee:e?.IsMoneyBackGuarantee}}static resolvePageDataType(e,t){if(o.f.isMrp())return i.k.Mrp;return this.typeMap[t?.toLowerCase()??""]||(e?"Filters"in e?i.k.Srp:"Types"in e?i.k.Specials:i.k.Default:i.k.Default)}}r._oemProgramMap={"nissan autodata":"nissan","toyota - shift":"toyotaShift",volkswagen:"vw","mitsubishi - unite digital":"mitsubishi"},r.typeMap={ucdetailspage:i.k.Vdp,ucsearchpage:i.k.Srp}},2381:function(e,t,n){function o(e,t){const n=t?.toLowerCase();return"cpo"===n||"certified"===n?"CPO":e}n.d(t,{Z:function(){return o}})},1714:function(e,t,n){var o,i,r;n.d(t,{$E:function(){return o},Gu:function(){return r},Id:function(){return i}}),function(e){e.HeaderNav="HeaderNav",e.GlobalNav="GlobalNav",e.VehicleListingCard="VehicleListingCard",e.VehicleDetailsCard="VehicleDetailsCard",e.ModelBar="ModelBar",e.EntryCoupon="EntryCoupon",e.VoiBanner="VoiBanner",e.Banner="Banner",e.Other="Other"}(o||(o={})),function(e){e.WindowSticker="windowsticker",e.Navigation="navigation",e.Directions="directions",e.PreQualButton="prequalButton",e.ScheduleService="scheduleService",e.Incentive="incentive",e.Accordion="accordion",e.PaymentCalc="paymentCalc",e.SocialShare="socialShare",e.Other="other"}(i||(i={})),function(e){e.Service="4",e.New="7",e.Used="3",e.Cpo="cpo",e.Manufacturer="manufacturer",e.Other="other"}(r||(r={}))},2981:function(e,t,n){n.d(t,{DX:function(){return l},IA:function(){return c},TH:function(){return s}});const o="data-dotagging-image-provider",i=`[${o}]`,r=[".thumbnails--desktop__top img",".hero-carousel__item img","img"];function a(e){return(e??"").toLowerCase().includes("evn")}function s(e){if(!e)return!1;const t=e.closest(i)??e.querySelector(i);return a(t?.getAttribute(o))}function l(e=document){return[...e.querySelectorAll(i)].filter(e=>a(e.getAttribute(o))).length}function c(){const e=document.querySelector("#inventoryVehicleGallery");if(!e)return!1;for(const t of r){const n=e.querySelector(t);if(n)return s(n)}return!1}},907:function(e,t,n){n.d(t,{VH:function(){return o},Yv:function(){return S},x6:function(){return d}});const o="section.fancy-banner, div.quickIntro, div.initial, #homepageSearchWidgetCosmos, section.contentTop.full, .hero, .hero-banner, .banner-slider",i=[["sidebar","#nav-sidebar, .nav-sidebar"],["header","[id*='NavMenu']"],["header","header, [role='banner'], #menubar"],["footer","footer"],["popup",".modal, [role='dialog'], .modal
1-dialog"],["vehicle-selection",".shop-by-brand, .vehicle-selection, .modelBarCustom, .showroom-card, .modelShowroom .flex-row"],["vehicle-selection",".modelShowroom"],["gallery","[data-dlron-type='vdpImagesBlockHoisin'], section.vehicle-images, [data-dlron-type='vehicle-image-gallery'], [data-dotagging-product-name='Website|Homepage Banners'], [data-dotagging-media_type='gallery'], [data-dotagging-media-type='gallery'], [data-dotagging-element-type='gallery'], #inventoryVehicleGallery, .gallery-thumbnails, .thumbnails--desktop__top"],["search","[role='search'], #opensearch, .opensearch, #opensearch-form, .opensearch-suggestions, .search-bar"],["vehicle-inventory","div.vehicle-card[data-vehicle-information]"],["dealer-information",".dealer-info, .dealership-info, .contact-section, #get-directions"],["hero",o],["sidebar","aside, [role='complementary']"],["feature","section [class^='col-'], section, [role='region'], .feature, .content-section"]],r=[".modelBarCustom",".modelShowroom",".shop-by-brand",".vehicle-selection"],a=["[data-dlron-type='vdpImagesBlockHoisin']","section.vehicle-images","#inventoryVehicleGallery","[data-dlron-type='vehicle-image-gallery']",".hero-carousel","[id^='carouselWithDisclaimer']","[id^='carousel-']",".carousel.slide"].join(", ");function s(e){return null!==e.closest("div.vehicle-card[data-vehicle-information]")}const l="feature",c=[["dealer-information","[id^='tbl_con_'], .hours-row, a[href*='/hours.aspx'] [role='img']"]];function d(e,t){const n=function(e){const t=e.closest("[data-dotagging-product-name]")?.dataset.dotaggingProductName;return{"velocity automotive solutions":"Velocity Automotive"}[t?.split("|")[0].trim().toLowerCase()||""]}(e),o=u(e);if(o){const{type:i,selector:r,container:s}=o,l="gallery"===i,c=l?e.closest(a)??t?.querySelector(a)??t??null:null;return{type:i,location:l?f(c??s,r):h(s,r,i),title:C(s,i,e,c),provider:n}}return{type:"feature",location:1,title:C(e,"feature"),provider:n}}function u(e){for(const[t,n]of i){const o=e.closest(n);if(o)return t===l?m(o,n):{type:t,selector:n,container:o}}return null}function m(e,t){const n=e.closest("section")??e;for(const[e,o]of c)if(n.querySelector(o))return{type:e,selector:t,container:n};return{type:l,selector:t,container:e}}function p(e){return u(e)?.type??l}function g(e,t){return t===l&&null!==e.querySelector(r.join(", "))}function h(e,t,n){const o=document.querySelectorAll(t),i=new Map,r=e=>{let t=i.get(e);return void 0===t&&(t=p(e),i.set(e,t)),t};let a=0;for(let t=0;t<o.length;t++){const i=o[t];let s=!1;for(let e=0;e<t;e++)if(o[e].contains(i)){s=!0;break}if(!s&&r(i)===n&&!g(i,n)&&(a++,i===e||i.contains(e)))return a}return 1}function f(e,t){const n=document.querySelectorAll(t),o=[];for(const e of n){if("gallery"!==p(e))continue;const t=e.closest(a)??e;o.includes(t)||o.push(t)}const i=o.filter(e=>!o.some(t=>t!==e&&t.contains(e))).sort((e,t)=>e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1),r=i.find(t=>t===e||t.contains(e));return r?i.filter(e=>s(e)===s(r)).indexOf(r)+1:1}const v=".title",y=".summary",_=".header__label--line-one",b=".modelShowroom, .showroom-card",k="h1, h2, h3, h4, h5, h6";function w(e,t,n,o){let i=e;for(;i;){const e=i.querySelector(n),r=e?.textContent?.trim();if(r){const e=o?i.querySelector(y)?.textContent?.trim():"";return S(e?`${r} ${e}`:r)}if(i===t)break;i=i.parentElement}return""}function C(e,t,n,i){if("hero"===t&&n)return function(e,t){const n=function(e){let t=e,n=null;for(;t;)t.matches?.(o)&&(n=t),t=t.parentElement;return n}(e)??t;return w(e,n,v,!0)||w(e,n,_,!1)}(n,e);if("vehicle-selection"===t&&n&&e.closest(b)){const t=w(n,e,k,!1);if(t)return t}if("vehicle-inventory"===t)return function(e){const t=e.closest("[data-vehicle-information]"),n=t?.querySelector("a.vehicle-title")?.textContent?.trim()||t?.dataset.name?.trim()||[t?.dataset.year,t?.dataset.make,t?.dataset.model].filter(Boolean).join(" ");return n?S(n.replace(/(new|used)\s?(\d+)/gi,"$1 $2")):""}(e);if("search"===t)return"";if("gallery"===t){const t=function(e){const t=e.closest("[data-vehicle-information]"),n=t?.dataset.name?.trim()||t?.querySelector("a.vehicle-title")?.textContent?.trim()||[t?.dataset.year,t?.dataset.make,t?.dataset.model].filter(
1Boolean).join(" ");if(n)return S(n.replace(/(new|used)\s?(\d+)/gi,"$1 $2"));const o=e.closest("[data-dlron-type='vehicle-image-gallery']")?.querySelector(".gallery-header")?.textContent?.trim()||e.querySelector(".gallery-header")?.textContent?.trim();return o?S(o):""}(i??e);if(t)return t}return function(e){const t=e.closest("[data-dotagging-element-title]");if(t?.textContent?.trim())return S(t.textContent.trim());const n=e.closest("section [class^='col-'], section"),o=n?.querySelector("h1, h2, h3, h4, h5, h6");return o?.textContent?.trim()?S(o.textContent.trim()):""}(e)}function S(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}},8221:function(e,t,n){n.d(t,{KZ:function(){return i},Rb:function(){return o},et:function(){return r}});const o=".hero-carousel__control--previous-btn, .hero-carousel__control--next-btn, .hero-carousel__control--previous, .hero-carousel__control--next, .slick-prev, .slick-next, .stat-arrow-prev, .stat-arrow-next, .carousel__control--previous, .carousel__control--next, [data-slide='prev'], [data-slide='next'], .carousel-control-prev, .carousel-control-next";function i(e){return e.classList.contains("slick-next")||e.classList.contains("carousel-control-next")||e.classList.contains("carousel__control--next")||e.classList.contains("hero-carousel__control--next")||e.classList.contains("hero-carousel__control--next-btn")||e.classList.contains("stat-arrow-next")||"next"===e.dataset.slide||e.getAttribute("aria-label")?.toLowerCase().includes("next")?"next":e.classList.contains("slick-prev")||e.classList.contains("carousel-control-prev")||e.classList.contains("carousel__control--previous")||e.classList.contains("hero-carousel__control--previous")||e.classList.contains("hero-carousel__control--previous-btn")||e.classList.contains("stat-arrow-prev")||"prev"===e.dataset.slide||e.getAttribute("aria-label")?.toLowerCase().includes("prev")?"previous":null}function r(e,t){const n="next"===t;return function(e){const t=e.closest(".slick-slider");if(!t)return"";const n=t.querySelector(".slick-track");if(!n)return"";const o=Array.from(n.children),i=o.filter(e=>"false"===e.getAttribute("aria-hidden"));if(0===i.length)return"";const r=o.length.toString();return 1===i.length?`${i[0].dataset.slickIndex}`:`${i[0].dataset.slickIndex}-${i.at(-1).dataset.slickIndex}/${r}`}(e)||function(e,t){if(!e.classList.contains("galleria-image-nav-left")&&!e.classList.contains("galleria-image-nav-right"))return"";const n=e.parentElement?.parentElement?.getElementsByClassName("galleria-counter")[0];if(!n)return"";let o=Number.parseInt(n.getElementsByClassName("galleria-current")[0]?.textContent??"0",10);return o+=t?1:-1,`${o}/${n.getElementsByClassName("galleria-total")[0]?.textContent??""}`}(e,n)||function(e){if(!e.classList.contains("stat-arrow-next")&&!e.classList.contains("stat-arrow-prev"))return"";const t=document.querySelector(".carousel-inner");if(!t)return"";const n=t.children;return`${Array.from(n).findIndex(e=>e.classList.contains("active"))+1}/${n.length}`}(e)||function(e,t){if(!e.classList.contains("carousel__control"))return"";const n=e.parentElement?.parentElement?.getElementsByClassName("carousel__inner")[0];if(!n)return"";const o=n.childElementCount,i=n.getElementsByClassName("active")[0],r=t?2:0;return`${i?Number.parseInt(i.dataset.index??"0",10)+r:0}/${o}`}(e,n)||function(e,t){if(!("slide"in e.dataset))return"";const n=e.parentElement?.getElementsByClassName("carousel-inner")[0];if(!n)return"";const o=n.childElementCount;let i=0;for(let e=0;e<o;e++)if(n.children[e].classList.contains("active")){i=t?e+2:e,0===i?i=o:i>
1o&&(i=1);break}return`${i}/${o}`}(e,n)||function(e,t){const n=e.closest(".hero-carousel");if(!n)return"";const o=n.querySelector(".hero-carousel__image-counter"),i=n.querySelectorAll(".hero-carousel__item"),r=Number.parseInt(o?.dataset.imageCount??"",10)||i.length||0;if(r<=0)return"";let a=Number.parseInt(n.querySelector(".image-counter__current")?.textContent??"",10);if(!a||Number.isNaN(a)){const e=n.querySelectorAll(".dot"),t=Array.from(e).findIndex(e=>e.classList.contains("active"));a=t>=0?t+1:1}let s=t?a+1:a-1;return s<1&&(s=r),s>r&&(s=1),`${s}/${r}`}(e,n)}},8886:function(e,t,n){n.d(t,{LX:function(){return s},vt:function(){return d},wf:function(){return c}});const o=["maps.google","google.com/maps","/hours","/directions"],i=new Set(["/directions"]),r=['[data-dotagging-event="get_directions"]','a[data-dotagging-element-type="map"]'],a=r.join(", "),s=[...o.map(e=>`a[href*="${e}"]`),...r].join(", "),l=new RegExp(o.map(e=>{const t=e.replace(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`);return i.has(e)?String.raw`${t}(?![\w-])`:t}).join("|"),"i");function c(e){return l.test(e??"")}function d(e){if(e?.closest?.(a))return!0;const t=e?.closest?.("a");return c(t?.getAttribute("href")??void 0)}},7431:function(e,t,n){n.d(t,{HU:function(){return p},kA:function(){return c},o2:function(){return l},uA:function(){return i},wn:function(){return o}});var o,i,r=n(4971);!function(e){e.Header="header",e.Nav="nav",e.Aside="aside",e.Main="main",e.Footer="footer",e.Unknown="unknown"}(o||(o={})),function(e){e.VehicleCard="vehicle-card",e.VehiclePricing="vehicle-pricing",e.SpecialsCard="specials-card",e.ModelBar="model-bar",e.Banner="banner",e.VoiBanner="voi-banner",e.LeadDriver="lead-driver",e.Filters="filters",e.SearchBar="search-bar",e.SideNav="side-nav",e.Modal="modal",e.Unknown="unknown"}(i||(i={}));const a="header, nav, aside, main, footer",s={header:o.Header,nav:o.Nav,aside:o.Aside,main:o.Main,footer:o.Footer};function l(e){const t=e.closest(a);return t?s[t.localName]??o.Unknown:o.Unknown}const c="[data-vehicle-information]",d=[r.k.Srp,r.k.Vdp,r.k.Mrp],u=[{component:i.VehiclePricing,selector:"div.vehicle-card__pricing, section.vehicle-details",scope:"main",pageTypes:d},{component:i.VehicleCard,selector:c,scope:"main",pageTypes:d},{component:i.SpecialsCard,selector:"[id^='special--'], .rtiResultBlock, .coupon-card, #specialsListingBlock",scope:"main",pageTypes:[r.k.Specials]},{component:i.ModelBar,selector:"[data-dotagging-product-name='Website|Model Bar']",scope:"main",pageTypes:null},{component:i.Filters,selector:"#sephora_filter, #sephora_search",scope:"main",pageTypes:[r.k.Srp]},{component:i.VoiBanner,selector:"#voi-integration",scope:"chrome",pageTypes:null},{component:i.LeadDriver,selector:"#mobileLeadDriverContainer",scope:"chrome",pageTypes:null},{component:i.SearchBar,selector:"[role='search']",scope:"chrome",pageTypes:null},{component:i.SideNav,selector:"nav#nav-sidebar",scope:"chrome",pageTypes:null},{component:i.Banner,selector:"[data-dotagging-product-name='Website|Homepage Banners'], .banner-slider, .doBanner",scope:"both",pageTypes:null},{component:i.Modal,selector:".modal, [role='dialog']",scope:"both",pageTypes:null}];class m{constructor(e){this._defs=e,this._union=e.map(e=>e.selector).join(", ")}get isEmpty(){return 0===this._defs.length}resolve(e){if(0===this._defs.length)return i.Unknown;const t=e.closest(this._union);if(!t)return i.Unknown;for(const e of this._defs)if(t.matches(e.selector))return e.component;return i.Unknown}}function p(e,t={}){const n=!0===t.hasVehicleCards||void 0!==e&&d.includes(e),o=u.filter(o=>null===o.pageTypes||(o.pageTypes===d?n:!(!o.pageTypes.includes(r.k.Specials)||!0!==t.hasSpecials)||void 0!==e&&o.pageTypes.includes(e)));return{main:new m(o.filter(e=>"main"===e.scope||"both"===e.scope)),chrome:new m(o.filter(e=>"chrome"===e.scope||"both"===e.scope)),all:new m(o),hasVehicles:n}}},2557:function(e,t,n){var o,i;n.d(t,{M:function(){return i},z:function(){return o}}),function(e){e.Image="image",e.Video="video"}(o||(o={})),function(e){e.Photo="photo",e.Thumbnail="thumbnail",e.Arrow="arrow",e.Bubble="bubble"}(i||(i={}))},4096:function(e,t,n){n.d(t,{Qb:function(){return i},b1:function(){return o},rs:function(){return u},s8:function(){return r},tb:function(){return d}});var o,i,r,a=n(7431);!function(e){e.FordPrequal="FordPrequal",e.CapitalOne="CapitalOne",e.WindowSticker="WindowSticker",e.PaymentEstimator="PaymentEstimator"}(o||(o={})),function(e){e.Link="Link",e.ExitLink="ExitLink",e.Config="Config",e.ClickToCall="ClickToCall",e.ClickToText="ClickToText",e.GetDirections="GetDirections"}(i||(i={})),function(e){e.Brochure="Brochure",e.Accordion="Accordion",e.Tab="Tab"}(r||(r={}));const s="data-dotagging-product-name",l="Website|Get Directions",c={"prequal-app-button":o.FordPrequal,"capital-one-entry-button":o.CapitalOne};function d(e){if(!e)return!1;try{const t=new URL(e,window.location.href);return("http:"===t.protocol||"https:"===t.protocol)&&!!t.hostname&&t.hostname!==window.location.hostname}catch{return!1}}function u(e,t,n){let u=null;return n===a.uA.VehicleCard||n===a.uA.VehiclePricing?u=function(e){return c[e.localName]||(e.closest("[data-tagging-item='windowsticker']")?o.WindowSticker:null)}(e):n===a.uA.Filters?u=function(e){return e.getAttribute("aria-controls")?.startsWith("filter_")?i.Config:null}(e):n!==a.uA.Unknown||t!==a.wn.Main&&t!==a.wn.Unknown||(u=function(e){const t=e.href;return t?.endsWith(".pdf")?r.Brochure:"tab"===e.getAttribute("role")||function(e){const t=e.getAttribute?.("href")?.trim()??"";return t.length>1&&t.startsWith("#")}(e)?r.Tab:null}(e)),u??function(e){const t=e.href;return t?.startsWith("tel:")?i.ClickToCall:t?.startsWith("sms:")?i.ClickToText:d(t)?i.ExitLink:e.getAttribute(s)===l?i.GetDirections:"calc"===e.dataset?.dotaggingEventActionResult?i.Config:i.Link}(e)}},3778:function(e,t,n){var o;n.d(t,{k:function(){return o}}),function(e){e.ModalOpened="do.modalOpened",e.Popup="do.popup",e.ModalClosed="do.modalClosed",e.TrackFormSubmission="do.trackFormSubmission",e.TrackFormSubmissionError="do.trackFormSubmissionError"}(o||(o={}))}}]);
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.