1!function(){"use strict";const e={xrButton:"[data-shopify-xr]"},o={hidden:"data-shopify-xr-hidden"};var t=()=>{let t=[];function i(){if(window.ShopifyXR){if(window.themeCore.shopifyXREnabled){window.ShopifyXR.addModels(t),window.ShopifyXR.setupXRElements(),document.querySelectorAll(e.xrButton).forEach(e=>e.removeAttribute(o.hidden))}}else document.addEventListener("shopify_xr_initialized",e=>{window.themeCore.shopifyXREnabled=e.detail.shopifyXREnabled,e.detail.shopifyXREnabled&&i()})}function n(){[...document.querySelectorAll("model-viewer")].forEach(e=>new window.Shopify.ModelViewerUI(e))}return Object.freeze({init:async function(e){window.Shopify&&e&&(t=e,await window.Shopify.loadFeatures([{name:"shopify-xr",version:"1.0",onLoad:i}]),await window.Shopify.loadFeatures([{name:"model-viewer-ui",version:"1.0",onLoad:n}]))}})};const i={modelsJSON:"#ProductModelsJSON",section:'[data-section-type="product"]'},n=()=>{[...document.querySelectorAll(i.section)].forEach(function(e){const o=e.querySelector(i.modelsJSON),n=t();o&&(n.init(JSON.parse(o.textContent)),o.remove())})};window.themeCore&&window.themeCore.loaded?n():document.addEventListener("theme:all:loaded",n,{once:!0})}();
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.