{
  "version": 3,
  "sources": ["/cdn/shop/t/66/assets/nadu-pdp.js?cb=20260630v1"],
  "sourcesContent": ["(function () {\n  'use strict';\n\n  var BUS = document;\n  var EVT = 'nadu:style-changed';\n\n  function initHeroSwitcher() {\n    var root = document.querySelector('[data-nadu-hero-switcher]');\n    if (!root) return null;\n\n    var tiles = root.querySelectorAll('[data-nadu-style-tile]');\n    if (!tiles.length) return null;\n\n    var photo = root.querySelector('[data-nadu-hero-photo]');\n    var viewingEl = root.querySelector('[data-nadu-currently-viewing]');\n    var nameEl = root.querySelector('[data-nadu-current-name]');\n    var active = parseInt(root.dataset.activeIndex || '0', 10);\n\n    function paint(idx) {\n      var tile = tiles[idx];\n      if (!tile) return;\n      tiles.forEach(function (t, i) { t.classList.toggle('is-active', i === idx); });\n      if (photo) {\n        if (tile.dataset.heroImage) {\n          photo.style.background = \"#1a1a1a url('\" + tile.dataset.heroImage + \"') center/cover no-repeat\";\n        } else if (tile.dataset.heroGradient) {\n          photo.style.background = tile.dataset.heroGradient;\n        }\n      }\n      if (viewingEl) viewingEl.textContent = tile.dataset.styleName || '';\n      if (nameEl) nameEl.textContent = tile.dataset.styleName || '';\n      active = idx;\n      // Mobile prev/next stepper previews the neighbouring styles.\n      root.querySelectorAll('[data-nadu-hero-step]').forEach(function (step) {\n        var n = tiles.length;\n        var neighbour = tiles[(idx + (parseInt(step.dataset.dir, 10) || 1) + n) % n];\n        var label = step.querySelector('[data-nadu-step-name]');\n        if (label) label.textContent = neighbour.dataset.styleName || '';\n        if (neighbour.dataset.thumbBg) step.style.background = neighbour.dataset.thumbBg;\n        step.setAttribute('aria-label', (step.dataset.dir === '-1' ? 'Previous' : 'Next') + ' style: ' + (neighbour.dataset.styleName || ''));\n      });\n      if (tile.dataset.styleId) {\n        try { sessionStorage.setItem('sh_pdp_style', tile.dataset.styleId); } catch (e) {}\n      }\n      var heroCta = root.querySelector('[data-hero-design-btn]');\n      if (heroCta && tile.dataset.styleId) {\n        heroCta.dataset.styleId = tile.dataset.styleId;\n      }\n      BUS.dispatchEvent(new CustomEvent(EVT, {\n        detail: {\n          index: idx,\n          id: tile.dataset.styleId || '',\n          name: tile.dataset.styleName || ''\n        }\n      }));\n    }\n\n    tiles.forEach(function (tile, i) {\n      tile.addEventListener('click', function () { paint(i); });\n    });\n\n    root.querySelectorAll('[data-nadu-hero-arrow]').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        var dir = parseInt(btn.dataset.dir, 10) || 1;\n        var n = tiles.length;\n        paint((active + dir + n) % n);\n      });\n    });\n\n    // Fire once on init so listeners (e.g. sticky bar) can sync.\n    var initialTile = tiles[active];\n    if (initialTile) {\n      if (initialTile.dataset.styleId) {\n        try { sessionStorage.setItem('sh_pdp_style', initialTile.dataset.styleId); } catch (e) {}\n      }\n      var initialHeroCta = root.querySelector('[data-hero-design-btn]');\n      if (initialHeroCta && initialTile.dataset.styleId) {\n        initialHeroCta.dataset.styleId = initialTile.dataset.styleId;\n      }\n      BUS.dispatchEvent(new CustomEvent(EVT, {\n        detail: {\n          index: active,\n          id: initialTile.dataset.styleId || '',\n          name: initialTile.dataset.styleName || ''\n        }\n      }));\n    }\n\n    return { setActive: paint };\n  }\n\n  function initStickyBar() {\n    var bar = document.querySelector('[data-nadu-sticky-bar]');\n    if (!bar) return;\n\n    var activeStyleEl = bar.querySelector('[data-nadu-active-style]');\n    if (activeStyleEl) {\n      BUS.addEventListener(EVT, function (e) {\n        activeStyleEl.textContent = e.detail && e.detail.name ? '\u2014 ' + e.detail.name : '';\n      });\n    }\n  }\n\n  function initStyleSpotlight() {\n    var root = document.querySelector('[data-nadu-style-spotlight]');\n    if (!root) return;\n    var panes = root.querySelectorAll('.nadu-style-spotlight__pane');\n    if (!panes.length) return;\n\n    function show(id, idx) {\n      var matched = false;\n      panes.forEach(function (p, i) {\n        var on = (id && p.dataset.styleId === id) || (!id && i === idx);\n        p.classList.toggle('is-active', on);\n        if (on) matched = true;\n      });\n      // If nothing matched, default to first\n      if (!matched) panes[0].classList.add('is-active');\n    }\n\n    BUS.addEventListener(EVT, function (e) {\n      show(e.detail && e.detail.id, e.detail && e.detail.index);\n    });\n  }\n\n  function initLookComparison() {\n    var root = document.querySelector('[data-nadu-look-comparison]');\n    if (!root) return;\n    var cards = root.querySelectorAll('.nadu-look-comparison__card');\n    if (!cards.length) return;\n\n    function paint(id, idx) {\n      cards.forEach(function (c, i) {\n        var on = (id && c.dataset.styleId === id) || (!id && i === idx);\n        c.classList.toggle('is-active', on);\n      });\n    }\n\n    // Style cells dispatch the same event the hero uses.\n    root.querySelectorAll('[data-nadu-pick]').forEach(function (control) {\n      control.addEventListener('click', function () {\n        var id = control.dataset.styleId || '';\n        var idx = parseInt(control.dataset.styleIndex || '0', 10);\n        var name = control.dataset.styleName || '';\n        BUS.dispatchEvent(new CustomEvent(EVT, {\n          detail: { id: id, index: idx, name: name }\n        }));\n      });\n    });\n\n    BUS.addEventListener(EVT, function (e) {\n      paint(e.detail && e.detail.id, e.detail && e.detail.index);\n    });\n  }\n\n  function initPaletteCompare() {\n    document.querySelectorAll('[data-nadu-palette-compare]').forEach(function (root) {\n      var slider = root.querySelector('.nadu-style-spotlight__palette-slider');\n      var range = root.querySelector('.nadu-style-spotlight__palette-range');\n      if (!slider || !range) return;\n\n      function paint(value) {\n        var n = Math.max(0, Math.min(100, parseInt(value, 10) || 0));\n        slider.style.setProperty('--nadu-palette-position', n + '%');\n      }\n\n      range.addEventListener('input', function () {\n        paint(range.value);\n      });\n\n      paint(range.value);\n    });\n  }\n\n  function initLifestyleGallery() {\n    document.querySelectorAll('[data-nadu-gallery-slider]').forEach(function (root) {\n      var slides = root.querySelectorAll('[data-nadu-gallery-slide]');\n      var thumbs = root.querySelectorAll('[data-nadu-gallery-thumb]');\n      var thumbScroller = root.querySelector('[data-nadu-gallery-thumbs]');\n      var scrollUp = root.querySelector('[data-nadu-gallery-scroll=\"up\"]');\n      var scrollDown = root.querySelector('[data-nadu-gallery-scroll=\"down\"]');\n      var prev = root.querySelector('[data-nadu-gallery-prev]');\n      var next = root.querySelector('[data-nadu-gallery-next]');\n      var loader = root.querySelector('[data-nadu-gallery-loader]');\n      if (!slides.length || !thumbs.length) return;\n\n      var active = 0;\n      var timer = null;\n      var autoplayMs = parseInt(root.dataset.autoplayMs || '5500', 10);\n      var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n      function restartLoader() {\n        if (!loader) return;\n        loader.style.setProperty('--nadu-gallery-duration', autoplayMs + 'ms');\n        loader.classList.remove('is-running');\n        void loader.offsetWidth;\n        loader.classList.add('is-running');\n      }\n\n      function paint(index) {\n        active = (index + slides.length) % slides.length;\n\n        slides.forEach(function (slide, i) {\n          var on = i === active;\n          slide.classList.toggle('is-active', on);\n          slide.setAttribute('aria-hidden', on ? 'false' : 'true');\n        });\n\n        thumbs.forEach(function (thumb, i) {\n          var on = i === active;\n          thumb.classList.toggle('is-active', on);\n          thumb.setAttribute('aria-selected', on ? 'true' : 'false');\n        });\n\n        restartLoader();\n        updateThumbScroll();\n        revealActiveThumb();\n      }\n\n      // Mobile shelf scrolls sideways: keep the active thumb's column in view\n      // without moving the page (scrollIntoView would scroll the window too).\n      function revealActiveThumb() {\n        if (!thumbScroller || thumbScroller.scrollWidth <= thumbScroller.clientWidth + 4) return;\n        var thumb = thumbs[active];\n        if (!thumb) return;\n        var left = thumb.offsetLeft - thumbScroller.offsetLeft;\n        var visible = left >= thumbScroller.scrollLeft - 4 &&\n          left + thumb.offsetWidth <= thumbScroller.scrollLeft + thumbScroller.clientWidth + 4;\n        if (!visible) thumbScroller.scrollTo({ left: left, behavior: 'smooth' });\n      }\n\n      function updateThumbScroll() {\n        if (!thumbScroller || !scrollUp || !scrollDown) return;\n        var maxScroll = thumbScroller.scrollHeight - thumbScroller.clientHeight;\n        var canScroll = maxScroll > 4;\n        var atTop = thumbScroller.scrollTop <= 4;\n        var atBottom = thumbScroller.scrollTop >= maxScroll - 4;\n        scrollUp.hidden = !canScroll || atTop;\n        scrollDown.hidden = !canScroll || atBottom;\n      }\n\n      function stopAutoplay() {\n        if (timer) window.clearInterval(timer);\n        timer = null;\n      }\n\n      function startAutoplay() {\n        if (reduceMotion || slides.length < 2) return;\n        stopAutoplay();\n        timer = window.setInterval(function () {\n          paint(active + 1);\n        }, autoplayMs);\n      }\n\n      function go(index) {\n        paint(index);\n        startAutoplay();\n      }\n\n      thumbs.forEach(function (thumb, i) {\n        thumb.addEventListener('click', function () {\n          go(i);\n        });\n      });\n\n      if (prev) {\n        prev.addEventListener('click', function () {\n          go(active - 1);\n        });\n      }\n\n      if (next) {\n        next.addEventListener('click', function () {\n          go(active + 1);\n        });\n      }\n\n      if (thumbScroller) {\n        thumbScroller.addEventListener('scroll', updateThumbScroll, { passive: true });\n      }\n\n      root.querySelectorAll('[data-nadu-gallery-scroll]').forEach(function (btn) {\n        btn.addEventListener('click', function () {\n          if (!thumbScroller) return;\n          var dir = btn.dataset.naduGalleryScroll === 'up' ? -1 : 1;\n          thumbScroller.scrollBy({\n            top: dir * Math.max(thumbScroller.clientHeight * 0.72, 180),\n            behavior: 'smooth'\n          });\n          window.setTimeout(updateThumbScroll, 260);\n        });\n      });\n\n      paint(0);\n      startAutoplay();\n      window.setTimeout(updateThumbScroll, 80);\n    });\n  }\n\n  function initFaqAccordion() {\n    document.querySelectorAll('[data-nadu-faq]').forEach(function (root) {\n      root.querySelectorAll('[data-nadu-faq-toggle]').forEach(function (btn) {\n        btn.addEventListener('click', function () {\n          var item = btn.closest('.nadu-faq__item');\n          if (!item) return;\n          var ans = item.querySelector('.nadu-faq__a');\n          if (!ans) return;\n          var isOpen = btn.getAttribute('aria-expanded') === 'true';\n          btn.setAttribute('aria-expanded', isOpen ? 'false' : 'true');\n          ans.hidden = isOpen;\n        });\n      });\n    });\n  }\n\n  function initFloorplanToggle() {\n    var root = document.querySelector('[data-nadu-floorplan]');\n    if (!root) return;\n    if (root.dataset.naduInlineFloorplanBound === 'true') return;\n\n    function activateDrawing(items, target, frame) {\n      if (!target) return;\n\n      var current = Array.prototype.find.call(items, function (item) {\n        return item.classList.contains('is-active') && !item.hidden;\n      });\n      if (current === target) {\n        return;\n      }\n\n      function reveal() {\n        items.forEach(function (item) {\n          var on = item === target;\n          item.classList.toggle('is-active', on);\n          item.hidden = !on;\n          item.setAttribute('aria-hidden', on ? 'false' : 'true');\n        });\n        if (frame) {\n          frame.classList.remove('is-loading');\n          frame.removeAttribute('aria-busy');\n        }\n      }\n\n      var img = target.querySelector('img');\n      if (!img || (img.complete && img.naturalWidth > 0)) {\n        reveal();\n        return;\n      }\n\n      if (frame) {\n        frame.classList.add('is-loading');\n        frame.setAttribute('aria-busy', 'true');\n      }\n\n      var preloader = new Image();\n      var settled = false;\n      var done = function () {\n        if (settled) return;\n        settled = true;\n        reveal();\n      };\n      preloader.onload = done;\n      preloader.onerror = done;\n      window.setTimeout(done, 4500);\n      preloader.src = img.currentSrc || img.src;\n    }\n\n    function initTechnicalViewer() {\n      var viewer = root.querySelector('[data-nadu-technical-viewer]');\n      if (!viewer) {\n        return { updateModel: function () {} };\n      }\n\n      var drawings = viewer.querySelectorAll('[data-nadu-technical-drawing]');\n      var styleButtons = viewer.querySelectorAll('[data-nadu-technical-style]');\n      var viewButtons = viewer.querySelectorAll('[data-nadu-technical-view]');\n      var state = {\n        model: viewer.dataset.initialModel || '618',\n        view: viewer.dataset.initialView || 'front',\n        style: viewer.dataset.initialStyle || 'farmhouse'\n      };\n\n      function paint() {\n        var target = null;\n\n        drawings.forEach(function (drawing) {\n          if (drawing.dataset.model === state.model && drawing.dataset.view === state.view) {\n            target = drawing;\n          }\n        });\n\n        if (!target && drawings[0]) {\n          target = drawings[0];\n        }\n        activateDrawing(drawings, target, viewer);\n\n        styleButtons.forEach(function (btn) {\n          var on = btn.dataset.naduTechnicalStyle === state.style;\n          btn.classList.toggle('is-active', on);\n          btn.setAttribute('aria-selected', on ? 'true' : 'false');\n        });\n\n        viewButtons.forEach(function (btn) {\n          var on = btn.dataset.naduTechnicalView === state.view;\n          if (btn.hasAttribute('data-nadu-technical-view-switch')) {\n            var isBack = state.view === 'rear';\n            var label = btn.querySelector('[data-nadu-technical-view-label]');\n            btn.dataset.naduTechnicalView = state.view;\n            btn.classList.toggle('is-back', isBack);\n            btn.setAttribute('aria-checked', isBack ? 'true' : 'false');\n            if (label) label.textContent = isBack ? 'Back' : 'Front';\n            return;\n          }\n          btn.classList.toggle('is-active', on);\n          btn.setAttribute('aria-selected', on ? 'true' : 'false');\n        });\n\n      }\n\n      viewer.addEventListener('click', function (e) {\n        var styleBtn = e.target.closest('[data-nadu-technical-style]');\n        if (styleBtn && viewer.contains(styleBtn)) {\n          state.style = styleBtn.dataset.naduTechnicalStyle || state.style;\n          paint();\n          return;\n        }\n\n        var viewBtn = e.target.closest('[data-nadu-technical-view]');\n        if (viewBtn && viewer.contains(viewBtn)) {\n          if (viewBtn.hasAttribute('data-nadu-technical-view-switch')) {\n            state.view = state.view === 'front' ? 'rear' : 'front';\n          } else {\n            state.view = viewBtn.dataset.naduTechnicalView || state.view;\n          }\n          paint();\n        }\n      });\n\n      paint();\n\n      return {\n        updateModel: function (model) {\n          state.model = model || state.model;\n          paint();\n        }\n      };\n    }\n\n    var technicalViewer = initTechnicalViewer();\n    var optionButtons = root.querySelectorAll('[data-nadu-floorplan-filter]');\n    var options = root.querySelectorAll('[data-nadu-floorplan-option]');\n    var planFrame = root.querySelector('.nadu-floorplan__svg-frame--plan');\n\n    if (optionButtons.length && options.length) {\n      var state = { model: '618', roof: 'standardgable', layout: 'centerhall', bedroom: 'studio' };\n\n      function showOption() {\n        var target = null;\n        options.forEach(function (option) {\n          if (option.dataset.model === state.model &&\n            option.dataset.roof === state.roof &&\n            option.dataset.layout === state.layout &&\n            (option.dataset.bedroom === undefined || option.dataset.bedroom === state.bedroom)) {\n            target = option;\n          }\n        });\n\n        if (!target && options[0]) {\n          target = options[0];\n        }\n        activateDrawing(options, target, planFrame);\n\n        technicalViewer.updateModel(state.model);\n      }\n\n      root.addEventListener('click', function (e) {\n        var btn = e.target.closest('[data-nadu-floorplan-filter]');\n        if (!btn || !root.contains(btn)) return;\n\n        var key = btn.dataset.naduFloorplanFilter;\n        if (!key) return;\n\n        if (btn.hasAttribute('data-nadu-floorplan-roof-toggle')) {\n          state[key] = state[key] === 'standardgable' ? 'crossgable' : 'standardgable';\n          btn.dataset.value = state[key];\n        } else if (btn.hasAttribute('data-nadu-floorplan-bedroom-toggle')) {\n          state[key] = state[key] === 'studio' ? '1bed' : 'studio';\n          btn.dataset.value = state[key];\n        } else {\n          state[key] = btn.dataset.value || '';\n        }\n\n        root.querySelectorAll('[data-nadu-floorplan-filter=\"' + key + '\"]').forEach(function (b) {\n          if (b.hasAttribute('data-nadu-floorplan-roof-toggle')) {\n            var isCross = state[key] === 'crossgable';\n            var label = b.querySelector('[data-nadu-floorplan-roof-label]');\n            b.dataset.value = state[key];\n            b.classList.toggle('is-cross', isCross);\n            b.setAttribute('aria-checked', isCross ? 'true' : 'false');\n            if (label) label.textContent = isCross ? 'Cross' : 'Standard';\n            return;\n          }\n\n          if (b.hasAttribute('data-nadu-floorplan-bedroom-toggle')) {\n            var isOneBed = state[key] === '1bed';\n            var bedroomLabel = b.querySelector('[data-nadu-floorplan-bedroom-label]');\n            b.dataset.value = state[key];\n            b.classList.toggle('is-onebed', isOneBed);\n            b.setAttribute('aria-checked', isOneBed ? 'true' : 'false');\n            if (bedroomLabel) bedroomLabel.textContent = isOneBed ? '1 Bedroom' : 'Studio';\n            return;\n          }\n\n          var on = b === btn;\n          b.classList.toggle('is-active', on);\n          b.setAttribute('aria-selected', on ? 'true' : 'false');\n        });\n\n        showOption();\n      });\n\n      showOption();\n      return;\n    }\n\n    var buttons = root.querySelectorAll('[data-nadu-floorplan-variant]');\n    var panes = root.querySelectorAll('[data-nadu-floorplan-svg]');\n    if (!buttons.length || !panes.length) return;\n\n    function show(variant) {\n      buttons.forEach(function (b) {\n        var on = b.dataset.naduFloorplanVariant === variant;\n        b.classList.toggle('is-active', on);\n        b.setAttribute('aria-selected', on ? 'true' : 'false');\n      });\n      panes.forEach(function (p) {\n        p.hidden = p.dataset.naduFloorplanSvg !== variant;\n      });\n    }\n\n    buttons.forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        show(btn.dataset.naduFloorplanVariant);\n      });\n    });\n  }\n\n  function initFinishedInterior() {\n    var roots = document.querySelectorAll('[data-nadu-finished-interior]');\n    if (!roots.length) return;\n\n    Array.prototype.forEach.call(roots, function (root) {\n      if (root.dataset.naduFiReady === 'true') return;\n      root.dataset.naduFiReady = 'true';\n\n      var hotspots = root.querySelectorAll('[data-nadu-fi-hotspot]');\n      var items = root.querySelectorAll('[data-nadu-fi-item]');\n      var finishBtns = root.querySelectorAll('[data-nadu-fi-finish]');\n      var activeId = null;\n      var suppressObserver = false;\n      var scrollTimer = null;\n\n      function setActive(id) {\n        if (activeId === id) return;\n        activeId = id;\n        Array.prototype.forEach.call(items, function (el) {\n          el.classList.toggle('is-active', el.dataset.naduFiItem === id);\n        });\n        Array.prototype.forEach.call(hotspots, function (el) {\n          el.classList.toggle('is-active', el.dataset.naduFiHotspot === id);\n        });\n      }\n\n      // Every scene renders inline, so every item is observed from the start.\n      if (typeof IntersectionObserver !== 'undefined') {\n        Array.prototype.forEach.call(items, function (el) {\n          var observer = new IntersectionObserver(function (entries) {\n            if (suppressObserver) return;\n            entries.forEach(function (entry) {\n              if (entry.isIntersecting) setActive(el.dataset.naduFiItem);\n            });\n          }, { root: null, rootMargin: '-40% 0px -40% 0px', threshold: 0 });\n          observer.observe(el);\n        });\n      }\n\n      // Desktop accordion: each collapsed scene reveals its remaining items.\n      function setExpanded(group, expanded) {\n        if (!group) return;\n        group.classList.toggle('is-collapsed', !expanded);\n        var btn = group.querySelector('[data-nadu-fi-expand]');\n        if (!btn) return;\n        btn.setAttribute('aria-expanded', expanded ? 'true' : 'false');\n        var label = btn.querySelector('[data-nadu-fi-expand-label]');\n        if (label) label.textContent = expanded ? btn.dataset.labelLess : btn.dataset.labelMore;\n      }\n\n      root.querySelectorAll('[data-nadu-fi-expand]').forEach(function (btn) {\n        btn.addEventListener('click', function () {\n          var group = btn.closest('[data-nadu-fi-group]');\n          var expanding = group.classList.contains('is-collapsed');\n          setExpanded(group, expanding);\n          // Collapsing can leave the viewport past the list; bring the scene back.\n          if (!expanding) group.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        });\n      });\n\n      Array.prototype.forEach.call(hotspots, function (btn) {\n        btn.addEventListener('click', function () {\n          var id = btn.dataset.naduFiHotspot;\n          setActive(id);\n          var target = root.querySelector('[data-nadu-fi-item=\"' + id + '\"]');\n          if (!target) return;\n          // A hotspot for a collapsed item opens its scene first.\n          if (target.classList.contains('is-extra')) {\n            setExpanded(target.closest('[data-nadu-fi-group]'), true);\n          }\n          // Hold the observer off until the smooth scroll settles.\n          suppressObserver = true;\n          target.scrollIntoView({ behavior: 'smooth', block: 'center' });\n          clearTimeout(scrollTimer);\n          scrollTimer = setTimeout(function () { suppressObserver = false; }, 900);\n        });\n      });\n\n      // One toggle per scene group; they stay in lockstep across the section.\n      Array.prototype.forEach.call(finishBtns, function (btn) {\n        btn.addEventListener('click', function () {\n          var finish = btn.dataset.naduFiFinish;\n          Array.prototype.forEach.call(finishBtns, function (b) {\n            b.classList.toggle('is-active', b.dataset.naduFiFinish === finish);\n          });\n          Array.prototype.forEach.call(\n            root.querySelectorAll('[data-nadu-fi-img]'),\n            function (img) {\n              var pair = img.parentNode.querySelectorAll('[data-nadu-fi-img]');\n              // Items with a single image always stay visible.\n              if (pair.length < 2) return;\n              img.hidden = img.dataset.naduFiImg !== finish;\n            }\n          );\n        });\n      });\n    });\n  }\n\n  // Small screens: the finished interior opens on demand as a modal overlay\n  // (trigger card + scrollable panel). Close via X, backdrop tap, or Escape.\n  function initFinishedInteriorModal() {\n    document.querySelectorAll('[data-nadu-finished-interior]').forEach(function (root) {\n      var modal = root.querySelector('[data-nadu-fi-modal]');\n      var openBtn = root.querySelector('[data-nadu-fi-open]');\n      if (!modal || !openBtn) return;\n      var panel = modal.querySelector('[data-nadu-fi-panel]');\n      var closeBtn = modal.querySelector('.nadu-finished-interior__close');\n      var mobile = window.matchMedia('(max-width: 767px)');\n\n      function open() {\n        modal.classList.add('is-open');\n        document.documentElement.classList.add('nadu-fi-modal-open');\n        if (panel) panel.scrollTop = 0;\n        if (closeBtn) closeBtn.focus({ preventScroll: true });\n      }\n      function close() {\n        if (!modal.classList.contains('is-open')) return;\n        modal.classList.remove('is-open');\n        document.documentElement.classList.remove('nadu-fi-modal-open');\n        openBtn.focus({ preventScroll: true });\n      }\n\n      openBtn.addEventListener('click', open);\n      modal.querySelectorAll('[data-nadu-fi-close]').forEach(function (el) {\n        el.addEventListener('click', close);\n      });\n      document.addEventListener('keydown', function (e) {\n        if (e.key === 'Escape') close();\n      });\n      // Rotating to / resizing into desktop drops back to the inline layout.\n      var onChange = function (e) { if (!e.matches) close(); };\n      if (mobile.addEventListener) mobile.addEventListener('change', onChange);\n      else if (mobile.addListener) mobile.addListener(onChange);\n\n      // Trigger card crossfades between the scene images.\n      var bgs = openBtn.querySelectorAll('[data-nadu-fi-trigger-bg]');\n      if (bgs.length > 1 && !window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n        var bgIndex = 0;\n        window.setInterval(function () {\n          bgs[bgIndex].classList.remove('is-active');\n          bgIndex = (bgIndex + 1) % bgs.length;\n          bgs[bgIndex].classList.add('is-active');\n        }, 4000);\n      }\n    });\n  }\n\n  function boot() {\n    initHeroSwitcher();\n    initStickyBar();\n    initFloorplanToggle();\n    initStyleSpotlight();\n    initLookComparison();\n    initPaletteCompare();\n    initLifestyleGallery();\n    initFaqAccordion();\n    initFinishedInterior();\n    initFinishedInteriorModal();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', boot);\n  } else {\n    boot();\n  }\n})();\n"],
  "mappings": "CAAC,UAAY,CACX,aAEA,IAAI,IAAM,SACN,IAAM,qBAEV,SAAS,kBAAmB,CAC1B,IAAI,KAAO,SAAS,cAAc,2BAA2B,EAC7D,GAAI,CAAC,KAAM,OAAO,KAElB,IAAI,MAAQ,KAAK,iBAAiB,wBAAwB,EAC1D,GAAI,CAAC,MAAM,OAAQ,OAAO,KAE1B,IAAI,MAAQ,KAAK,cAAc,wBAAwB,EACnD,UAAY,KAAK,cAAc,+BAA+B,EAC9D,OAAS,KAAK,cAAc,0BAA0B,EACtD,OAAS,SAAS,KAAK,QAAQ,aAAe,IAAK,EAAE,EAEzD,SAAS,MAAM,IAAK,CAClB,IAAI,KAAO,MAAM,GAAG,EACpB,GAAK,KAqBL,IApBA,MAAM,QAAQ,SAAU,EAAG,EAAG,CAAE,EAAE,UAAU,OAAO,YAAa,IAAM,GAAG,CAAG,CAAC,EACzE,QACE,KAAK,QAAQ,UACf,MAAM,MAAM,WAAa,gBAAkB,KAAK,QAAQ,UAAY,4BAC3D,KAAK,QAAQ,eACtB,MAAM,MAAM,WAAa,KAAK,QAAQ,eAGtC,YAAW,UAAU,YAAc,KAAK,QAAQ,WAAa,IAC7D,SAAQ,OAAO,YAAc,KAAK,QAAQ,WAAa,IAC3D,OAAS,IAET,KAAK,iBAAiB,uBAAuB,EAAE,QAAQ,SAAU,KAAM,CACrE,IAAI,EAAI,MAAM,OACV,UAAY,OAAO,KAAO,SAAS,KAAK,QAAQ,IAAK,EAAE,GAAK,GAAK,GAAK,CAAC,EACvE,MAAQ,KAAK,cAAc,uBAAuB,EAClD,QAAO,MAAM,YAAc,UAAU,QAAQ,WAAa,IAC1D,UAAU,QAAQ,UAAS,KAAK,MAAM,WAAa,UAAU,QAAQ,SACzE,KAAK,aAAa,cAAe,KAAK,QAAQ,MAAQ,KAAO,WAAa,QAAU,YAAc,UAAU,QAAQ,WAAa,GAAG,CACtI,CAAC,EACG,KAAK,QAAQ,QACf,GAAI,CAAE,eAAe,QAAQ,eAAgB,KAAK,QAAQ,OAAO,CAAG,OAAS,EAAG,CAAC,CAEnF,IAAI,QAAU,KAAK,cAAc,wBAAwB,EACrD,SAAW,KAAK,QAAQ,UAC1B,QAAQ,QAAQ,QAAU,KAAK,QAAQ,SAEzC,IAAI,cAAc,IAAI,YAAY,IAAK,CACrC,OAAQ,CACN,MAAO,IACP,GAAI,KAAK,QAAQ,SAAW,GAC5B,KAAM,KAAK,QAAQ,WAAa,EAClC,CACF,CAAC,CAAC,EACJ,CAEA,MAAM,QAAQ,SAAU,KAAM,EAAG,CAC/B,KAAK,iBAAiB,QAAS,UAAY,CAAE,MAAM,CAAC,CAAG,CAAC,CAC1D,CAAC,EAED,KAAK,iBAAiB,wBAAwB,EAAE,QAAQ,SAAU,IAAK,CACrE,IAAI,iBAAiB,QAAS,UAAY,CACxC,IAAI,IAAM,SAAS,IAAI,QAAQ,IAAK,EAAE,GAAK,EACvC,EAAI,MAAM,OACd,OAAO,OAAS,IAAM,GAAK,CAAC,CAC9B,CAAC,CACH,CAAC,EAGD,IAAI,YAAc,MAAM,MAAM,EAC9B,GAAI,YAAa,CACf,GAAI,YAAY,QAAQ,QACtB,GAAI,CAAE,eAAe,QAAQ,eAAgB,YAAY,QAAQ,OAAO,CAAG,OAAS,EAAG,CAAC,CAE1F,IAAI,eAAiB,KAAK,cAAc,wBAAwB,EAC5D,gBAAkB,YAAY,QAAQ,UACxC,eAAe,QAAQ,QAAU,YAAY,QAAQ,SAEvD,IAAI,cAAc,IAAI,YAAY,IAAK,CACrC,OAAQ,CACN,MAAO,OACP,GAAI,YAAY,QAAQ,SAAW,GACnC,KAAM,YAAY,QAAQ,WAAa,EACzC,CACF,CAAC,CAAC,CACJ,CAEA,MAAO,CAAE,UAAW,KAAM,CAC5B,CAEA,SAAS,eAAgB,CACvB,IAAI,IAAM,SAAS,cAAc,wBAAwB,EACzD,GAAK,IAEL,KAAI,cAAgB,IAAI,cAAc,0BAA0B,EAC5D,eACF,IAAI,iBAAiB,IAAK,SAAU,EAAG,CACrC,cAAc,YAAc,EAAE,QAAU,EAAE,OAAO,KAAO,UAAO,EAAE,OAAO,KAAO,EACjF,CAAC,EAEL,CAEA,SAAS,oBAAqB,CAC5B,IAAI,KAAO,SAAS,cAAc,6BAA6B,EAC/D,GAAI,CAAC,KAAM,OACX,IAAI,MAAQ,KAAK,iBAAiB,6BAA6B,EAC/D,GAAI,CAAC,MAAM,OAAQ,OAEnB,SAAS,KAAK,GAAI,IAAK,CACrB,IAAI,QAAU,GACd,MAAM,QAAQ,SAAU,EAAG,EAAG,CAC5B,IAAI,GAAM,IAAM,EAAE,QAAQ,UAAY,IAAQ,CAAC,IAAM,IAAM,IAC3D,EAAE,UAAU,OAAO,YAAa,EAAE,EAC9B,KAAI,QAAU,GACpB,CAAC,EAEI,SAAS,MAAM,CAAC,EAAE,UAAU,IAAI,WAAW,CAClD,CAEA,IAAI,iBAAiB,IAAK,SAAU,EAAG,CACrC,KAAK,EAAE,QAAU,EAAE,OAAO,GAAI,EAAE,QAAU,EAAE,OAAO,KAAK,CAC1D,CAAC,CACH,CAEA,SAAS,oBAAqB,CAC5B,IAAI,KAAO,SAAS,cAAc,6BAA6B,EAC/D,GAAI,CAAC,KAAM,OACX,IAAI,MAAQ,KAAK,iBAAiB,6BAA6B,EAC/D,GAAI,CAAC,MAAM,OAAQ,OAEnB,SAAS,MAAM,GAAI,IAAK,CACtB,MAAM,QAAQ,SAAU,EAAG,EAAG,CAC5B,IAAI,GAAM,IAAM,EAAE,QAAQ,UAAY,IAAQ,CAAC,IAAM,IAAM,IAC3D,EAAE,UAAU,OAAO,YAAa,EAAE,CACpC,CAAC,CACH,CAGA,KAAK,iBAAiB,kBAAkB,EAAE,QAAQ,SAAU,QAAS,CACnE,QAAQ,iBAAiB,QAAS,UAAY,CAC5C,IAAI,GAAK,QAAQ,QAAQ,SAAW,GAChC,IAAM,SAAS,QAAQ,QAAQ,YAAc,IAAK,EAAE,EACpD,KAAO,QAAQ,QAAQ,WAAa,GACxC,IAAI,cAAc,IAAI,YAAY,IAAK,CACrC,OAAQ,CAAE,GAAI,GAAI,MAAO,IAAK,KAAM,IAAK,CAC3C,CAAC,CAAC,CACJ,CAAC,CACH,CAAC,EAED,IAAI,iBAAiB,IAAK,SAAU,EAAG,CACrC,MAAM,EAAE,QAAU,EAAE,OAAO,GAAI,EAAE,QAAU,EAAE,OAAO,KAAK,CAC3D,CAAC,CACH,CAEA,SAAS,oBAAqB,CAC5B,SAAS,iBAAiB,6BAA6B,EAAE,QAAQ,SAAU,KAAM,CAC/E,IAAI,OAAS,KAAK,cAAc,uCAAuC,EACnE,MAAQ,KAAK,cAAc,sCAAsC,EACrE,GAAI,CAAC,QAAU,CAAC,MAAO,OAEvB,SAAS,MAAM,MAAO,CACpB,IAAI,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,IAAK,SAAS,MAAO,EAAE,GAAK,CAAC,CAAC,EAC3D,OAAO,MAAM,YAAY,0BAA2B,EAAI,GAAG,CAC7D,CAEA,MAAM,iBAAiB,QAAS,UAAY,CAC1C,MAAM,MAAM,KAAK,CACnB,CAAC,EAED,MAAM,MAAM,KAAK,CACnB,CAAC,CACH,CAEA,SAAS,sBAAuB,CAC9B,SAAS,iBAAiB,4BAA4B,EAAE,QAAQ,SAAU,KAAM,CAC9E,IAAI,OAAS,KAAK,iBAAiB,2BAA2B,EAC1D,OAAS,KAAK,iBAAiB,2BAA2B,EAC1D,cAAgB,KAAK,cAAc,4BAA4B,EAC/D,SAAW,KAAK,cAAc,iCAAiC,EAC/D,WAAa,KAAK,cAAc,mCAAmC,EACnE,KAAO,KAAK,cAAc,0BAA0B,EACpD,KAAO,KAAK,cAAc,0BAA0B,EACpD,OAAS,KAAK,cAAc,4BAA4B,EAC5D,GAAI,CAAC,OAAO,QAAU,CAAC,OAAO,OAAQ,OAEtC,IAAI,OAAS,EACT,MAAQ,KACR,WAAa,SAAS,KAAK,QAAQ,YAAc,OAAQ,EAAE,EAC3D,aAAe,OAAO,YAAc,OAAO,WAAW,kCAAkC,EAAE,QAE9F,SAAS,eAAgB,CAClB,SACL,OAAO,MAAM,YAAY,0BAA2B,WAAa,IAAI,EACrE,OAAO,UAAU,OAAO,YAAY,EAC/B,OAAO,YACZ,OAAO,UAAU,IAAI,YAAY,EACnC,CAEA,SAAS,MAAM,MAAO,CACpB,QAAU,MAAQ,OAAO,QAAU,OAAO,OAE1C,OAAO,QAAQ,SAAU,MAAO,EAAG,CACjC,IAAI,GAAK,IAAM,OACf,MAAM,UAAU,OAAO,YAAa,EAAE,EACtC,MAAM,aAAa,cAAe,GAAK,QAAU,MAAM,CACzD,CAAC,EAED,OAAO,QAAQ,SAAU,MAAO,EAAG,CACjC,IAAI,GAAK,IAAM,OACf,MAAM,UAAU,OAAO,YAAa,EAAE,EACtC,MAAM,aAAa,gBAAiB,GAAK,OAAS,OAAO,CAC3D,CAAC,EAED,cAAc,EACd,kBAAkB,EAClB,kBAAkB,CACpB,CAIA,SAAS,mBAAoB,CAC3B,GAAI,GAAC,eAAiB,cAAc,aAAe,cAAc,YAAc,GAC/E,KAAI,MAAQ,OAAO,MAAM,EACzB,GAAK,MACL,KAAI,KAAO,MAAM,WAAa,cAAc,WACxC,QAAU,MAAQ,cAAc,WAAa,GAC/C,KAAO,MAAM,aAAe,cAAc,WAAa,cAAc,YAAc,EAChF,SAAS,cAAc,SAAS,CAAE,KAAM,KAAM,SAAU,QAAS,CAAC,GACzE,CAEA,SAAS,mBAAoB,CAC3B,GAAI,GAAC,eAAiB,CAAC,UAAY,CAAC,YACpC,KAAI,UAAY,cAAc,aAAe,cAAc,aACvD,UAAY,UAAY,EACxB,MAAQ,cAAc,WAAa,EACnC,SAAW,cAAc,WAAa,UAAY,EACtD,SAAS,OAAS,CAAC,WAAa,MAChC,WAAW,OAAS,CAAC,WAAa,SACpC,CAEA,SAAS,cAAe,CAClB,OAAO,OAAO,cAAc,KAAK,EACrC,MAAQ,IACV,CAEA,SAAS,eAAgB,CACnB,cAAgB,OAAO,OAAS,IACpC,aAAa,EACb,MAAQ,OAAO,YAAY,UAAY,CACrC,MAAM,OAAS,CAAC,CAClB,EAAG,UAAU,EACf,CAEA,SAAS,GAAG,MAAO,CACjB,MAAM,KAAK,EACX,cAAc,CAChB,CAEA,OAAO,QAAQ,SAAU,MAAO,EAAG,CACjC,MAAM,iBAAiB,QAAS,UAAY,CAC1C,GAAG,CAAC,CACN,CAAC,CACH,CAAC,EAEG,MACF,KAAK,iBAAiB,QAAS,UAAY,CACzC,GAAG,OAAS,CAAC,CACf,CAAC,EAGC,MACF,KAAK,iBAAiB,QAAS,UAAY,CACzC,GAAG,OAAS,CAAC,CACf,CAAC,EAGC,eACF,cAAc,iBAAiB,SAAU,kBAAmB,CAAE,QAAS,EAAK,CAAC,EAG/E,KAAK,iBAAiB,4BAA4B,EAAE,QAAQ,SAAU,IAAK,CACzE,IAAI,iBAAiB,QAAS,UAAY,CACxC,GAAK,cACL,KAAI,IAAM,IAAI,QAAQ,oBAAsB,KAAO,GAAK,EACxD,cAAc,SAAS,CACrB,IAAK,IAAM,KAAK,IAAI,cAAc,aAAe,IAAM,GAAG,EAC1D,SAAU,QACZ,CAAC,EACD,OAAO,WAAW,kBAAmB,GAAG,EAC1C,CAAC,CACH,CAAC,EAED,MAAM,CAAC,EACP,cAAc,EACd,OAAO,WAAW,kBAAmB,EAAE,CACzC,CAAC,CACH,CAEA,SAAS,kBAAmB,CAC1B,SAAS,iBAAiB,iBAAiB,EAAE,QAAQ,SAAU,KAAM,CACnE,KAAK,iBAAiB,wBAAwB,EAAE,QAAQ,SAAU,IAAK,CACrE,IAAI,iBAAiB,QAAS,UAAY,CACxC,IAAI,KAAO,IAAI,QAAQ,iBAAiB,EACxC,GAAK,KACL,KAAI,IAAM,KAAK,cAAc,cAAc,EAC3C,GAAK,IACL,KAAI,OAAS,IAAI,aAAa,eAAe,IAAM,OACnD,IAAI,aAAa,gBAAiB,OAAS,QAAU,MAAM,EAC3D,IAAI,OAAS,QACf,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAEA,SAAS,qBAAsB,CAC7B,IAAI,KAAO,SAAS,cAAc,uBAAuB,EAEzD,GADI,CAAC,MACD,KAAK,QAAQ,2BAA6B,OAAQ,OAEtD,SAAS,gBAAgB,MAAO,OAAQ,MAAO,CAC7C,GAAI,CAAC,OAAQ,OAEb,IAAI,QAAU,MAAM,UAAU,KAAK,KAAK,MAAO,SAAU,KAAM,CAC7D,OAAO,KAAK,UAAU,SAAS,WAAW,GAAK,CAAC,KAAK,MACvD,CAAC,EACD,GAAI,UAAY,OACd,OAGF,SAAS,QAAS,CAChB,MAAM,QAAQ,SAAU,KAAM,CAC5B,IAAI,GAAK,OAAS,OAClB,KAAK,UAAU,OAAO,YAAa,EAAE,EACrC,KAAK,OAAS,CAAC,GACf,KAAK,aAAa,cAAe,GAAK,QAAU,MAAM,CACxD,CAAC,EACG,QACF,MAAM,UAAU,OAAO,YAAY,EACnC,MAAM,gBAAgB,WAAW,EAErC,CAEA,IAAI,IAAM,OAAO,cAAc,KAAK,EACpC,GAAI,CAAC,KAAQ,IAAI,UAAY,IAAI,aAAe,EAAI,CAClD,OAAO,EACP,MACF,CAEI,QACF,MAAM,UAAU,IAAI,YAAY,EAChC,MAAM,aAAa,YAAa,MAAM,GAGxC,IAAI,UAAY,IAAI,MAChB,QAAU,GACV,KAAO,UAAY,CACjB,UACJ,QAAU,GACV,OAAO,EACT,EACA,UAAU,OAAS,KACnB,UAAU,QAAU,KACpB,OAAO,WAAW,KAAM,IAAI,EAC5B,UAAU,IAAM,IAAI,YAAc,IAAI,GACxC,CAEA,SAAS,qBAAsB,CAC7B,IAAI,OAAS,KAAK,cAAc,8BAA8B,EAC9D,GAAI,CAAC,OACH,MAAO,CAAE,YAAa,UAAY,CAAC,CAAE,EAGvC,IAAI,SAAW,OAAO,iBAAiB,+BAA+B,EAClE,aAAe,OAAO,iBAAiB,6BAA6B,EACpE,YAAc,OAAO,iBAAiB,4BAA4B,EAClEA,OAAQ,CACV,MAAO,OAAO,QAAQ,cAAgB,MACtC,KAAM,OAAO,QAAQ,aAAe,QACpC,MAAO,OAAO,QAAQ,cAAgB,WACxC,EAEA,SAAS,OAAQ,CACf,IAAI,OAAS,KAEb,SAAS,QAAQ,SAAU,QAAS,CAC9B,QAAQ,QAAQ,QAAUA,OAAM,OAAS,QAAQ,QAAQ,OAASA,OAAM,OAC1E,OAAS,QAEb,CAAC,EAEG,CAAC,QAAU,SAAS,CAAC,IACvB,OAAS,SAAS,CAAC,GAErB,gBAAgB,SAAU,OAAQ,MAAM,EAExC,aAAa,QAAQ,SAAU,IAAK,CAClC,IAAI,GAAK,IAAI,QAAQ,qBAAuBA,OAAM,MAClD,IAAI,UAAU,OAAO,YAAa,EAAE,EACpC,IAAI,aAAa,gBAAiB,GAAK,OAAS,OAAO,CACzD,CAAC,EAED,YAAY,QAAQ,SAAU,IAAK,CACjC,IAAI,GAAK,IAAI,QAAQ,oBAAsBA,OAAM,KACjD,GAAI,IAAI,aAAa,iCAAiC,EAAG,CACvD,IAAI,OAASA,OAAM,OAAS,OACxB,MAAQ,IAAI,cAAc,kCAAkC,EAChE,IAAI,QAAQ,kBAAoBA,OAAM,KACtC,IAAI,UAAU,OAAO,UAAW,MAAM,EACtC,IAAI,aAAa,eAAgB,OAAS,OAAS,OAAO,EACtD,QAAO,MAAM,YAAc,OAAS,OAAS,SACjD,MACF,CACA,IAAI,UAAU,OAAO,YAAa,EAAE,EACpC,IAAI,aAAa,gBAAiB,GAAK,OAAS,OAAO,CACzD,CAAC,CAEH,CAEA,cAAO,iBAAiB,QAAS,SAAU,EAAG,CAC5C,IAAI,SAAW,EAAE,OAAO,QAAQ,6BAA6B,EAC7D,GAAI,UAAY,OAAO,SAAS,QAAQ,EAAG,CACzCA,OAAM,MAAQ,SAAS,QAAQ,oBAAsBA,OAAM,MAC3D,MAAM,EACN,MACF,CAEA,IAAI,QAAU,EAAE,OAAO,QAAQ,4BAA4B,EACvD,SAAW,OAAO,SAAS,OAAO,IAChC,QAAQ,aAAa,iCAAiC,EACxDA,OAAM,KAAOA,OAAM,OAAS,QAAU,OAAS,QAE/CA,OAAM,KAAO,QAAQ,QAAQ,mBAAqBA,OAAM,KAE1D,MAAM,EAEV,CAAC,EAED,MAAM,EAEC,CACL,YAAa,SAAU,MAAO,CAC5BA,OAAM,MAAQ,OAASA,OAAM,MAC7B,MAAM,CACR,CACF,CACF,CAEA,IAAI,gBAAkB,oBAAoB,EACtC,cAAgB,KAAK,iBAAiB,8BAA8B,EACpE,QAAU,KAAK,iBAAiB,8BAA8B,EAC9D,UAAY,KAAK,cAAc,kCAAkC,EAErE,GAAI,cAAc,QAAU,QAAQ,OAAQ,CAG1C,IAAS,WAAT,UAAsB,CACpB,IAAI,OAAS,KACb,QAAQ,QAAQ,SAAU,OAAQ,CAC5B,OAAO,QAAQ,QAAU,MAAM,OACjC,OAAO,QAAQ,OAAS,MAAM,MAC9B,OAAO,QAAQ,SAAW,MAAM,SAC/B,OAAO,QAAQ,UAAY,QAAa,OAAO,QAAQ,UAAY,MAAM,WAC1E,OAAS,OAEb,CAAC,EAEG,CAAC,QAAU,QAAQ,CAAC,IACtB,OAAS,QAAQ,CAAC,GAEpB,gBAAgB,QAAS,OAAQ,SAAS,EAE1C,gBAAgB,YAAY,MAAM,KAAK,CACzC,EAnBI,MAAQ,CAAE,MAAO,MAAO,KAAM,gBAAiB,OAAQ,aAAc,QAAS,QAAS,EAqB3F,KAAK,iBAAiB,QAAS,SAAU,EAAG,CAC1C,IAAI,IAAM,EAAE,OAAO,QAAQ,8BAA8B,EACzD,GAAI,GAAC,KAAO,CAAC,KAAK,SAAS,GAAG,GAE9B,KAAI,IAAM,IAAI,QAAQ,oBACjB,MAED,IAAI,aAAa,iCAAiC,GACpD,MAAM,GAAG,EAAI,MAAM,GAAG,IAAM,gBAAkB,aAAe,gBAC7D,IAAI,QAAQ,MAAQ,MAAM,GAAG,GACpB,IAAI,aAAa,oCAAoC,GAC9D,MAAM,GAAG,EAAI,MAAM,GAAG,IAAM,SAAW,OAAS,SAChD,IAAI,QAAQ,MAAQ,MAAM,GAAG,GAE7B,MAAM,GAAG,EAAI,IAAI,QAAQ,OAAS,GAGpC,KAAK,iBAAiB,gCAAkC,IAAM,IAAI,EAAE,QAAQ,SAAU,EAAG,CACvF,GAAI,EAAE,aAAa,iCAAiC,EAAG,CACrD,IAAI,QAAU,MAAM,GAAG,IAAM,aACzB,MAAQ,EAAE,cAAc,kCAAkC,EAC9D,EAAE,QAAQ,MAAQ,MAAM,GAAG,EAC3B,EAAE,UAAU,OAAO,WAAY,OAAO,EACtC,EAAE,aAAa,eAAgB,QAAU,OAAS,OAAO,EACrD,QAAO,MAAM,YAAc,QAAU,QAAU,YACnD,MACF,CAEA,GAAI,EAAE,aAAa,oCAAoC,EAAG,CACxD,IAAI,SAAW,MAAM,GAAG,IAAM,OAC1B,aAAe,EAAE,cAAc,qCAAqC,EACxE,EAAE,QAAQ,MAAQ,MAAM,GAAG,EAC3B,EAAE,UAAU,OAAO,YAAa,QAAQ,EACxC,EAAE,aAAa,eAAgB,SAAW,OAAS,OAAO,EACtD,eAAc,aAAa,YAAc,SAAW,YAAc,UACtE,MACF,CAEA,IAAI,GAAK,IAAM,IACf,EAAE,UAAU,OAAO,YAAa,EAAE,EAClC,EAAE,aAAa,gBAAiB,GAAK,OAAS,OAAO,CACvD,CAAC,EAED,WAAW,GACb,CAAC,EAED,WAAW,EACX,MACF,CAEA,IAAI,QAAU,KAAK,iBAAiB,+BAA+B,EAC/D,MAAQ,KAAK,iBAAiB,2BAA2B,EAC7D,GAAI,CAAC,QAAQ,QAAU,CAAC,MAAM,OAAQ,OAEtC,SAAS,KAAK,QAAS,CACrB,QAAQ,QAAQ,SAAU,EAAG,CAC3B,IAAI,GAAK,EAAE,QAAQ,uBAAyB,QAC5C,EAAE,UAAU,OAAO,YAAa,EAAE,EAClC,EAAE,aAAa,gBAAiB,GAAK,OAAS,OAAO,CACvD,CAAC,EACD,MAAM,QAAQ,SAAU,EAAG,CACzB,EAAE,OAAS,EAAE,QAAQ,mBAAqB,OAC5C,CAAC,CACH,CAEA,QAAQ,QAAQ,SAAU,IAAK,CAC7B,IAAI,iBAAiB,QAAS,UAAY,CACxC,KAAK,IAAI,QAAQ,oBAAoB,CACvC,CAAC,CACH,CAAC,CACH,CAEA,SAAS,sBAAuB,CAC9B,IAAI,MAAQ,SAAS,iBAAiB,+BAA+B,EAChE,MAAM,QAEX,MAAM,UAAU,QAAQ,KAAK,MAAO,SAAU,KAAM,CAClD,GAAI,KAAK,QAAQ,cAAgB,OAAQ,OACzC,KAAK,QAAQ,YAAc,OAE3B,IAAI,SAAW,KAAK,iBAAiB,wBAAwB,EACzD,MAAQ,KAAK,iBAAiB,qBAAqB,EACnD,WAAa,KAAK,iBAAiB,uBAAuB,EAC1D,SAAW,KACX,iBAAmB,GACnB,YAAc,KAElB,SAAS,UAAU,GAAI,CACjB,WAAa,KACjB,SAAW,GACX,MAAM,UAAU,QAAQ,KAAK,MAAO,SAAU,GAAI,CAChD,GAAG,UAAU,OAAO,YAAa,GAAG,QAAQ,aAAe,EAAE,CAC/D,CAAC,EACD,MAAM,UAAU,QAAQ,KAAK,SAAU,SAAU,GAAI,CACnD,GAAG,UAAU,OAAO,YAAa,GAAG,QAAQ,gBAAkB,EAAE,CAClE,CAAC,EACH,CAGI,OAAO,sBAAyB,aAClC,MAAM,UAAU,QAAQ,KAAK,MAAO,SAAU,GAAI,CAChD,IAAI,SAAW,IAAI,qBAAqB,SAAU,QAAS,CACrD,kBACJ,QAAQ,QAAQ,SAAU,MAAO,CAC3B,MAAM,gBAAgB,UAAU,GAAG,QAAQ,UAAU,CAC3D,CAAC,CACH,EAAG,CAAE,KAAM,KAAM,WAAY,oBAAqB,UAAW,CAAE,CAAC,EAChE,SAAS,QAAQ,EAAE,CACrB,CAAC,EAIH,SAAS,YAAY,MAAO,SAAU,CACpC,GAAK,MACL,OAAM,UAAU,OAAO,eAAgB,CAAC,QAAQ,EAChD,IAAI,IAAM,MAAM,cAAc,uBAAuB,EACrD,GAAK,IACL,KAAI,aAAa,gBAAiB,SAAW,OAAS,OAAO,EAC7D,IAAI,MAAQ,IAAI,cAAc,6BAA6B,EACvD,QAAO,MAAM,YAAc,SAAW,IAAI,QAAQ,UAAY,IAAI,QAAQ,YAChF,CAEA,KAAK,iBAAiB,uBAAuB,EAAE,QAAQ,SAAU,IAAK,CACpE,IAAI,iBAAiB,QAAS,UAAY,CACxC,IAAI,MAAQ,IAAI,QAAQ,sBAAsB,EAC1C,UAAY,MAAM,UAAU,SAAS,cAAc,EACvD,YAAY,MAAO,SAAS,EAEvB,WAAW,MAAM,eAAe,CAAE,SAAU,SAAU,MAAO,OAAQ,CAAC,CAC7E,CAAC,CACH,CAAC,EAED,MAAM,UAAU,QAAQ,KAAK,SAAU,SAAU,IAAK,CACpD,IAAI,iBAAiB,QAAS,UAAY,CACxC,IAAI,GAAK,IAAI,QAAQ,cACrB,UAAU,EAAE,EACZ,IAAI,OAAS,KAAK,cAAc,uBAAyB,GAAK,IAAI,EAC7D,SAED,OAAO,UAAU,SAAS,UAAU,GACtC,YAAY,OAAO,QAAQ,sBAAsB,EAAG,EAAI,EAG1D,iBAAmB,GACnB,OAAO,eAAe,CAAE,SAAU,SAAU,MAAO,QAAS,CAAC,EAC7D,aAAa,WAAW,EACxB,YAAc,WAAW,UAAY,CAAE,iBAAmB,EAAO,EAAG,GAAG,EACzE,CAAC,CACH,CAAC,EAGD,MAAM,UAAU,QAAQ,KAAK,WAAY,SAAU,IAAK,CACtD,IAAI,iBAAiB,QAAS,UAAY,CACxC,IAAI,OAAS,IAAI,QAAQ,aACzB,MAAM,UAAU,QAAQ,KAAK,WAAY,SAAU,EAAG,CACpD,EAAE,UAAU,OAAO,YAAa,EAAE,QAAQ,eAAiB,MAAM,CACnE,CAAC,EACD,MAAM,UAAU,QAAQ,KACtB,KAAK,iBAAiB,oBAAoB,EAC1C,SAAU,IAAK,CACb,IAAI,KAAO,IAAI,WAAW,iBAAiB,oBAAoB,EAE3D,KAAK,OAAS,IAClB,IAAI,OAAS,IAAI,QAAQ,YAAc,OACzC,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAIA,SAAS,2BAA4B,CACnC,SAAS,iBAAiB,+BAA+B,EAAE,QAAQ,SAAU,KAAM,CACjF,IAAI,MAAQ,KAAK,cAAc,sBAAsB,EACjD,QAAU,KAAK,cAAc,qBAAqB,EACtD,GAAI,CAAC,OAAS,CAAC,QAAS,OACxB,IAAI,MAAQ,MAAM,cAAc,sBAAsB,EAClD,SAAW,MAAM,cAAc,gCAAgC,EAC/D,OAAS,OAAO,WAAW,oBAAoB,EAEnD,SAAS,MAAO,CACd,MAAM,UAAU,IAAI,SAAS,EAC7B,SAAS,gBAAgB,UAAU,IAAI,oBAAoB,EACvD,QAAO,MAAM,UAAY,GACzB,UAAU,SAAS,MAAM,CAAE,cAAe,EAAK,CAAC,CACtD,CACA,SAAS,OAAQ,CACV,MAAM,UAAU,SAAS,SAAS,IACvC,MAAM,UAAU,OAAO,SAAS,EAChC,SAAS,gBAAgB,UAAU,OAAO,oBAAoB,EAC9D,QAAQ,MAAM,CAAE,cAAe,EAAK,CAAC,EACvC,CAEA,QAAQ,iBAAiB,QAAS,IAAI,EACtC,MAAM,iBAAiB,sBAAsB,EAAE,QAAQ,SAAU,GAAI,CACnE,GAAG,iBAAiB,QAAS,KAAK,CACpC,CAAC,EACD,SAAS,iBAAiB,UAAW,SAAU,EAAG,CAC5C,EAAE,MAAQ,UAAU,MAAM,CAChC,CAAC,EAED,IAAI,SAAW,SAAU,EAAG,CAAO,EAAE,SAAS,MAAM,CAAG,EACnD,OAAO,iBAAkB,OAAO,iBAAiB,SAAU,QAAQ,EAC9D,OAAO,aAAa,OAAO,YAAY,QAAQ,EAGxD,IAAI,IAAM,QAAQ,iBAAiB,2BAA2B,EAC9D,GAAI,IAAI,OAAS,GAAK,CAAC,OAAO,WAAW,kCAAkC,EAAE,QAAS,CACpF,IAAI,QAAU,EACd,OAAO,YAAY,UAAY,CAC7B,IAAI,OAAO,EAAE,UAAU,OAAO,WAAW,EACzC,SAAW,QAAU,GAAK,IAAI,OAC9B,IAAI,OAAO,EAAE,UAAU,IAAI,WAAW,CACxC,EAAG,GAAI,CACT,CACF,CAAC,CACH,CAEA,SAAS,MAAO,CACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,CAC5B,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,IAAI,EAElD,KAAK,CAET,GAAG",
  "names": ["state"]
}
