{
  "version": 3,
  "sources": ["/cdn/shop/t/43/assets/cgx-pocket.js?nocache=1793800348983"],
  "sourcesContent": ["(function () {\r\n  var TITLES = ['Your bike', 'Material', 'Personalise', 'Extras'];\r\n  var tries = 0;\r\n  var lastCount = -1;\r\n\r\n  function hiddenByApp(box) {\r\n    return box.style.display === 'none' || box.classList.contains('ymq-option-condition-hide');\r\n  }\r\n\r\n  function label(box) {\r\n    return box.getAttribute('ymq-option-label') || '';\r\n  }\r\n\r\n  function type(box) {\r\n    var m = box.className.match(/ymq-options-box-(\\d+)/);\r\n    return m ? +m[1] : 0;\r\n  }\r\n\r\n  function priceText(text) {\r\n    var m = text.match(/\\(([^)]*)\\)/);\r\n    return m ? m[1].replace(/\\s+/g, '') : '';\r\n  }\r\n\r\n  function nameText(text) {\r\n    return text.replace(/\\([^)]*\\)/, '').replace(/\\s+finish\\s*$/i, '').replace(/\\s+/g, ' ').trim();\r\n  }\r\n\r\n  function pretty(v) {\r\n    if (!v) return '';\r\n    var s = v.replace(/\\s*\\/?\\s*finish\\s*$/i, '').trim();\r\n    if (s === s.toUpperCase() && /[A-Z]{3}/.test(s) && !/\\d/.test(s)) s = s.charAt(0) + s.slice(1).toLowerCase();\r\n    return s;\r\n  }\r\n\r\n  function money(cents, tmpl) {\r\n    var nf = new Intl.NumberFormat('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 });\r\n    var n = nf.format(cents / 100);\r\n    return tmpl && /\\d/.test(tmpl) ? tmpl.replace(/\\d[\\d.,\\s]*\\d|\\d/, n) : '\u20AC' + n;\r\n  }\r\n\r\n  function esc(s) {\r\n    return String(s).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\r\n  }\r\n\r\n  function icon(name) {\r\n    var P = {\r\n      check: '<polyline points=\"20 6 9 17 4 12\"/>',\r\n      right: '<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/><polyline points=\"12 5 19 12 12 19\"/>',\r\n      left: '<line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"/><polyline points=\"12 19 5 12 12 5\"/>',\r\n      plus: '<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>',\r\n      minus: '<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>',\r\n      bag: '<path d=\"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z\"/><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"/><path d=\"M16 10a4 4 0 0 1-8 0\"/>',\r\n      pen: '<path d=\"M17 3a2.8 2.8 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\"/>',\r\n      badge: '<path d=\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"/><path d=\"m9 12 2 2 4-4\"/>',\r\n      clock: '<circle cx=\"12\" cy=\"12\" r=\"10\"/><polyline points=\"12 6 12 12 16 14\"/>',\r\n      truck: '<path d=\"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2\"/><path d=\"M15 18H9\"/><path d=\"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14\"/><circle cx=\"17\" cy=\"18\" r=\"2\"/><circle cx=\"7\" cy=\"18\" r=\"2\"/>',\r\n      star: '<polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"/>',\r\n      list: '<rect width=\"8\" height=\"4\" x=\"8\" y=\"2\"/><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"/><path d=\"m9 14 2 2 4-4\"/>'\r\n    };\r\n    return '<svg class=\"pk-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">' + P[name] + '</svg>';\r\n  }\r\n\r\n  function field(box) {\r\n    return box.querySelector('input.ymq-input-text, textarea.ymq-input-text, input[type=\"text\"], textarea');\r\n  }\r\n\r\n  function valueOf(box) {\r\n    var checked = box.querySelector('input.ymq-option-rc-input:checked');\r\n    if (checked) return checked.value;\r\n    var sel = box.querySelector('select');\r\n    if (sel) return sel.value;\r\n    var f = field(box);\r\n    return f ? f.value.trim() : '';\r\n  }\r\n\r\n  function lamImg(v) {\r\n    var files = { 'GLOSS FINISH': 'lam-gloss.jpg', 'GLITTER FINISH': 'lam-glitter.jpg', 'GOLD GLITTER FINISH': 'lam-gold-glitter.jpg' };\r\n    var f = files[String(v).toUpperCase().trim()];\r\n    var base = window.CGX_SS && window.CGX_SS.data;\r\n    return f && base ? base.replace(/ss-styles\\.json(\\?.*)?$/, f + '?v=2') : '';\r\n  }\r\n\r\n  function baseImg(v) {\r\n    var files = { 'STANDARD WHITE': 'Standard_White.webp', 'SILVER CHROME': 'Silver_Chrome.webp', 'HOLOGRAPHIC CHROME': 'Holographic_Chrome.webp' };\r\n    var f = files[String(v).toUpperCase().trim()];\r\n    return f ? 'https://cdn.shopify.com/s/files/1/0668/5976/1931/files/' + f + '?width=300' : '';\r\n  }\r\n\r\n  function choices(box) {\r\n    var out = [];\r\n    var sel = box.querySelector('select');\r\n    if (sel) {\r\n      var lam = /laminate/i.test(box.getAttribute('ymq-option-label') || '');\r\n      var mat = /base\\s*material/i.test(box.getAttribute('ymq-option-label') || '');\r\n      Array.prototype.forEach.call(sel.options, function (o) {\r\n        if (!o.value) return;\r\n        out.push({ v: o.value, name: nameText(o.textContent), price: priceText(o.textContent), img: lam ? lamImg(o.value) : (mat ? baseImg(o.value) : ''), color: '' });\r\n      });\r\n      return out;\r\n    }\r\n    box.querySelectorAll('input.ymq-option-rc-input').forEach(function (r) {\r\n      var lab = r.closest('label');\r\n      var img = lab && lab.querySelector('img');\r\n      var col = lab && lab.querySelector('.ymq-option-swatches-color');\r\n      var p = parseFloat(r.getAttribute('ymq-option-price')) || 0;\r\n      out.push({ v: r.value, name: nameText(r.value), price: p > 0 ? '+\u20AC' + p.toFixed(2).replace('.', ',') : '', img: img ? img.src : '', color: col ? col.style.backgroundColor : '' });\r\n    });\r\n    return out;\r\n  }\r\n\r\n  function setValue(box, v) {\r\n    var sel = box.querySelector('select');\r\n    if (sel) {\r\n      if (sel.value === v) return;\r\n      sel.value = v;\r\n      sel.dispatchEvent(new Event('input', { bubbles: true }));\r\n      sel.dispatchEvent(new Event('change', { bubbles: true }));\r\n      return;\r\n    }\r\n    var radios = box.querySelectorAll('input.ymq-option-rc-input');\r\n    if (radios.length) {\r\n      var r = Array.prototype.find.call(radios, function (x) { return x.value === v; });\r\n      if (!r || r.checked) return;\r\n      var lab = r.closest('label');\r\n      (lab || r).click();\r\n      if (!r.checked) {\r\n        r.checked = true;\r\n        r.dispatchEvent(new Event('change', { bubbles: true }));\r\n      }\r\n      return;\r\n    }\r\n    var f = field(box);\r\n    if (f && f.value !== v) {\r\n      f.value = v;\r\n      f.dispatchEvent(new Event('input', { bubbles: true }));\r\n      f.dispatchEvent(new Event('change', { bubbles: true }));\r\n    }\r\n  }\r\n\r\n  function helpText(box) {\r\n    var h = box.querySelector('.ymq-option-help-text, .ymq_help_box');\r\n    return h ? h.textContent.trim() : '';\r\n  }\r\n\r\n  function isRequired(box) {\r\n    return /required/.test(box.getAttribute('ymq-option-validate') || '');\r\n  }\r\n\r\n  function fitsRaw() {\r\n    var el = document.querySelector('.pdesc-fits');\r\n    var text = '';\r\n    if (el) text = el.textContent.replace(/^\\s*Fits\\s*:?/i, '');\r\n    if (!text) {\r\n      var p = Array.prototype.find.call(document.querySelectorAll('p, li'), function (x) {\r\n        return /^\\s*Fits:/i.test(x.textContent) && x.textContent.length < 300;\r\n      });\r\n      if (p) text = p.textContent.replace(/^\\s*Fits:\\s*/i, '');\r\n    }\r\n    return text.split(/,|\\band\\b/).map(function (s) { return s.replace(/\\s+/g, ' ').trim(); }).filter(function (s, i, a) { return s && s.length < 40 && a.indexOf(s) === i; }).slice(0, 12);\r\n  }\r\n\r\n  function fitsModels() {\r\n    var brands = /^(KTM|Husqvarna|GASGAS|GasGas|Honda|Yamaha|Kawasaki|Suzuki|Stark|Beta|Sherco|Fantic|TM|Can-Am|CanAm|Polaris)\\s+/i;\r\n    return fitsRaw().map(function (s) { return s.replace(brands, '').trim(); }).filter(function (s, i, a) { return s && s.length < 32 && a.indexOf(s) === i; });\r\n  }\r\n\r\n  function titleYears() {\r\n    var h = document.querySelector('.pt-h1');\r\n    var t = h ? h.textContent : document.title;\r\n    var m = t.match(/\\b((?:19|20)\\d{2})\\s*-\\s*((?:19|20)\\d{2})\\b/);\r\n    var out = [];\r\n    if (m) {\r\n      var a = +m[1], b = +m[2];\r\n      if (b >= a && b - a < 12) for (var y = a; y <= b; y++) out.push(String(y));\r\n    } else {\r\n      var one = t.match(/\\b((?:19|20)\\d{2})\\b/);\r\n      if (one) out.push(one[1]);\r\n    }\r\n    return out;\r\n  }\r\n\r\n  function styleKey(value, kind) {\r\n    var m = kind === 'num' ? String(value).match(/(\\d+)\\s*$/) : String(value).match(/-\\s*([A-L])\\s*$/i);\r\n    return m ? m[1].toUpperCase() : null;\r\n  }\r\n\r\n  function build() {\r\n    var root = document.querySelector('.product-form__buttons ymq-option');\r\n    if (!root) return false;\r\n    var boxes = Array.prototype.slice.call(root.querySelectorAll(':scope > .ymq-options-box'));\r\n    if (!boxes.length) return false;\r\n    if (boxes.length !== lastCount) { lastCount = boxes.length; return false; }\r\n    if (root.querySelector('.pk-sheet') || document.querySelector('.pk-sheet')) return true;\r\n\r\n    var form = root.closest('.product-form__buttons');\r\n    var realBtn = form.querySelector('button[name=\"add\"]');\r\n    var info = root.closest('.product__info-container') || document;\r\n    var head = document.querySelector('.pt-head[data-base]');\r\n    var base = head ? parseInt(head.dataset.base, 10) || 0 : 0;\r\n    var prices = Array.prototype.slice.call(info.querySelectorAll('.price__regular .price-item--regular, .price-item--last'));\r\n    var tmpl = prices.length ? prices[0].textContent.trim() : '';\r\n    var FP = window.CGX_FP && window.CGX_FP.api;\r\n    var SS = window.CGX_SS && window.CGX_SS.api;\r\n    document.documentElement.classList.add('cgx-pocket-on');\r\n    if (head && !head.querySelector('.pt-kick')) {\r\n      var kind = head.dataset.kind || '';\r\n      var bike = (head.dataset.bike || '').trim().split(/\\s+/)[0] || '';\r\n      var kick = [kind, bike ? 'Graphics for ' + bike : ''].filter(Boolean).join(' \u00B7 ');\r\n      if (kick) {\r\n        var kp = document.createElement('p');\r\n        kp.className = 'pt-kick';\r\n        kp.textContent = kick;\r\n        head.insertBefore(kp, head.firstChild);\r\n      }\r\n    }\r\n\r\n    var steps = [];\r\n    var cur = null;\r\n    boxes.forEach(function (b) {\r\n      if (type(b) === 11) {\r\n        cur = { heading: b, boxes: [] };\r\n        steps.push(cur);\r\n        return;\r\n      }\r\n      if (!cur) { cur = { heading: null, boxes: [] }; steps.push(cur); }\r\n      cur.boxes.push(b);\r\n    });\r\n    steps = steps.filter(function (s) { return s.boxes.length; });\r\n    steps.forEach(function (s, i) {\r\n      s.title = TITLES[i] || (s.heading ? s.heading.textContent.replace(/step\\s*\\d+\\s*:?/i, '').trim() : 'Options');\r\n      s.n = '0' + (i + 1);\r\n    });\r\n\r\n    var screens = [];\r\n    function addScreen(step, kind, main) {\r\n      var sc = { step: step, kind: kind, main: main, boxes: main ? [main] : [], extra: [], visited: false, idx: screens.length };\r\n      screens.push(sc);\r\n      step.screens = step.screens || [];\r\n      step.screens.push(sc);\r\n      return sc;\r\n    }\r\n    function attach(sc, box, role) {\r\n      sc.boxes.push(box);\r\n      sc.extra.push({ box: box, role: role });\r\n    }\r\n\r\n    steps.forEach(function (step) {\r\n      var last = null, person = null, extras = null, yearsel = null;\r\n      step.boxes.forEach(function (b) {\r\n        var L = label(b), t = type(b);\r\n        if (/^model$/i.test(L) && (t === 1 || t === 3)) { last = addScreen(step, 'model', b); return; }\r\n        if (/\\/\\s*year\\s*\\//i.test(L) && t === 3) { if (!yearsel) { yearsel = addScreen(step, 'yearsel', null); yearsel.ranges = []; last = yearsel; } yearsel.boxes.push(b); yearsel.ranges.push(b); return; }\r\n        if (/^(cc|engine\\s*size)$/i.test(L) && t === 1) { last = addScreen(step, 'cc', b); return; }\r\n        if (/bike\\s*year/i.test(L) && t === 1) { last = addScreen(step, 'year', b); return; }\r\n        if (/aftermarket/i.test(L) && last) { attach(last, b, 'input'); return; }\r\n        if (/design\\s*proof/i.test(L) && (t === 4 || t === 3) && last && choices(b).length === 2) { attach(last, b, 'switch'); return; }\r\n        if (/race\\s*number/i.test(L) && !/font/i.test(L) && t === 1) { person = addScreen(step, 'person', b); person.numBox = b; last = person; return; }\r\n        if (/number\\s*font/i.test(L) && (t === 5 || t === 3)) { if (!person) { person = addScreen(step, 'person', null); last = person; } person.numFont = b; attach(person, b, 'font'); return; }\r\n        if (/rider\\s*name/i.test(L) && !/font/i.test(L) && t === 1) { if (!person) { person = addScreen(step, 'person', null); last = person; } person.nameBox = b; attach(person, b, 'name'); return; }\r\n        if (/name\\s*font/i.test(L) && (t === 5 || t === 3)) { if (!person) { person = addScreen(step, 'person', null); last = person; } person.nameFont = b; attach(person, b, 'font'); return; }\r\n        if (/colou?r/i.test(L) && !/^your\\s/i.test(L) && (t === 3 || t === 4 || t === 5) && person) { attach(person, b, 'colors'); last = person; return; }\r\n        if (/^your\\s+number\\s+colou?rs?/i.test(L) && (t === 1 || t === 2) && last) { attach(last, b, 'input'); return; }\r\n        if (/mini\\s*number\\s*plates|stickers/i.test(L) && t === 3) { if (!extras) { extras = addScreen(step, 'extras', null); last = extras; } extras.boxes.push(b); extras.extra.push({ box: b, role: 'stepper', key: /tiktok/i.test(L) ? 'tt' : (/instagram/i.test(L) ? 'ig' : 'plates') }); return; }\r\n        if (/handle/i.test(L) && t === 1 && extras) { attach(extras, b, /tiktok/i.test(L) ? 'handle-tt' : 'handle-ig'); return; }\r\n        if (/shoutout/i.test(L) && t === 1) { if (!extras) { extras = addScreen(step, 'extras', null); last = extras; } attach(extras, b, 'input'); return; }\r\n        if (/additional\\s*information/i.test(L) && (t === 2 || t === 1) && last) { attach(last, b, 'input'); return; }\r\n        if (t === 1 || t === 2) { if (last && last.kind === 'generic-text') { attach(last, b, 'input'); return; } last = addScreen(step, 'generic-text', b); return; }\r\n        last = addScreen(step, 'choice', b);\r\n      });\r\n    });\r\n    var review = { step: steps[steps.length - 1], kind: 'review', main: null, boxes: [], extra: [], visited: false, idx: screens.length };\r\n    screens.push(review);\r\n    review.step.screens.push(review);\r\n\r\n    var models = fitsModels();\r\n    var fitsAll = fitsRaw();\r\n    var single = fitsAll.length === 1 ? fitsAll[0] : '';\r\n    var years = titleYears();\r\n    screens.forEach(function (sc) {\r\n      if (sc.kind === 'model' && single && !sc.main.querySelector('select')) sc.auto = true;\r\n    });\r\n\r\n    function fl(box, big, extraAttrs) {\r\n      var f = field(box);\r\n      var more = /aftermarket/i.test(label(box));\r\n      var isArea = f && f.tagName === 'TEXTAREA';\r\n      var ph = f && f.placeholder ? f.placeholder : '';\r\n      if (/^model$/i.test(label(box)) && fitsAll.length) ph = 'e.g. ' + fitsAll[0];\r\n      var lab = pretty(label(box));\r\n      if (/^your number colou?rs?$/i.test(lab)) lab = 'Your number colours';\r\n      if (/^instagram shoutout$/i.test(lab)) lab = 'Instagram shoutout (optional)';\r\n      if (/shoutout/i.test(label(box))) ph ='Your Instagram @, so we can tag you if we post photos or videos of your kit.';\r\n      if (/^aftermarket plastic parts$/i.test(lab)) lab = 'Aftermarket plastics? Brand and parts (optional)';\r\n      if (/^additional information$/i.test(lab)) lab = 'Additional information (colours, logos)';\r\n      return (more ? '<button type=\"button\" class=\"pk-more\" data-more=\"' + esc(label(box)) + '\">' + icon('plus') + 'My bike has aftermarket plastics</button>' : '') + '<div class=\"pk-fl' + (big ? ' pk-fl--big' : '') + '\" data-for=\"' + esc(label(box)) + '\"' + (more ? ' data-collapse' : '') + '>' + (isArea ? '<textarea placeholder=\" \"' : '<input placeholder=\" \"') + ' data-f=\"' + esc(label(box)) + '\"' + (extraAttrs || '') + (isArea ? '></textarea>' : '>') + '<label>' + esc(lab) + '</label>' + (ph && !big ? '<small class=\"pk-ph\">' + esc(ph) + '</small>' : '') + '</div>';\r\n    }\r\n\r\n    function cardsFor(box, cols) {\r\n      var cs = choices(box);\r\n      var hasImg = cs.some(function (c) { return c.img; });\r\n      var hasCol = cs.some(function (c) { return c.color; });\r\n      var subOf = function (c) {\r\n        if (c.price) return c.price;\r\n        if (hasImg) return 'Standard';\r\n        if (/as\\s*shown/i.test(c.name)) return 'Keep the design colours';\r\n        if (/different/i.test(c.name)) return 'Tell us below';\r\n        return '';\r\n      };\r\n      var n = cols || (hasImg || hasCol || cs.length === 3 ? 3 : 2);\r\n      return '<div class=\"pk-cards pk-cards--' + n + '\" data-cards=\"' + esc(label(box)) + '\">' + cs.map(function (c) {\r\n        return '<button type=\"button\" class=\"pk-card\" data-k=\"' + esc(label(box)) + '\" data-v=\"' + esc(c.v) + '\">' +\r\n          (c.img ? '<span class=\"pk-pic\" style=\"background-image:url(' + c.img + ')\"></span>' : '') +\r\n          (c.color ? '<span class=\"pk-pic pk-pic--col\" style=\"background:' + esc(c.color) + '\"></span>' : '') +\r\n          '<b>' + esc(pretty(c.name)) + '</b><small>' + esc(subOf(c)) + '</small><span class=\"pk-tick\">' + icon('check') + '</span></button>';\r\n      }).join('') + '</div>';\r\n    }\r\n\r\n    function question(step, q, sub) {\r\n      return '<h2 class=\"pk-q\"><small>' + step.n + ' \u00B7 ' + esc(step.title) + '</small>' + esc(q) + '</h2>' + (sub ? '<p class=\"pk-h\">' + esc(sub) + '</p>' : '');\r\n    }\r\n\r\n    function chipList(key, items) {\r\n      return '<div class=\"pk-cards pk-cards--' + (items.length > 4 ? 2 : 3) + ' pk-chips\" data-cards=\"' + esc(key) + '\">' + items.map(function (m) {\r\n        return '<button type=\"button\" class=\"pk-card pk-card--chip\" data-k=\"' + esc(key) + '\" data-v=\"' + esc(m) + '\"><b>' + esc(m) + '</b><span class=\"pk-tick\">' + icon('check') + '</span></button>';\r\n      }).join('') + '</div>';\r\n    }\r\n\r\n    function screenHTML(sc) {\r\n      var step = sc.step, h = '';\r\n      var extraHTML = function (role) {\r\n        return sc.extra.filter(function (e) { return e.role === role; }).map(function (e) { return fl(e.box); }).join('');\r\n      };\r\n      if (sc.kind === 'model') {\r\n        var isSel = !!sc.main.querySelector('select');\r\n        h += question(step, 'Which bike is it?', isSel ? 'Pick your model.' : (models.length ? 'Pick your model or type it below.' : 'Type your model.'));\r\n        if (isSel) h += chipList(label(sc.main), choices(sc.main).map(function (c) { return c.v; }));\r\n        else { if (models.length) h += chipList(label(sc.main), models); h += fl(sc.main); }\r\n        h += extraHTML('input');\r\n      } else if (sc.kind === 'yearsel') {\r\n        h += question(step, 'Which years?', 'The year range of your plastics.');\r\n        h += '<p class=\"pk-h\" data-range-hint>Pick your model first.</p>';\r\n        sc.ranges.forEach(function (b) { h += '<div data-range=\"' + esc(label(b)) + '\" hidden>' + cardsFor(b) + '</div>'; });\r\n      } else if (sc.kind === 'cc') {\r\n        h += question(step, 'Which engine size?', 'Your model comes in more than one size, so we need the exact one.');\r\n        h += fl(sc.main) + extraHTML('input');\r\n      } else if (sc.kind === 'year') {\r\n        h += question(step, single ? 'Which year is your ' + single + '?' : 'Which year?', 'So we cut the right version for your plastics.');\r\n        if (years.length) h += chipList(label(sc.main), years);\r\n        h += fl(sc.main, false, ' inputmode=\"numeric\" maxlength=\"4\"');\r\n        h += extraHTML('input');\r\n      } else if (sc.kind === 'choice') {\r\n        var L = label(sc.main);\r\n        var q = /base\\s*material/i.test(L) ? 'Print base' : (/laminate/i.test(L) ? 'Laminate finish' : (/number\\s*colou?r/i.test(L) ? 'Number colours' : pretty(L)));\r\n        var sub = /laminate/i.test(L) ? 'A 380-micron laminate is applied on top of the print, on every kit.' : (/base\\s*material/i.test(L) ? 'Chrome bases shine through the lighter colours of the design.' : (/number\\s*colou?r/i.test(L) ? 'The colours of the race number on the plates.' : ''));\r\n        h += question(step, q, sub);\r\n        h += cardsFor(sc.main);\r\n        h += extraHTML('input');\r\n        sc.extra.filter(function (e) { return e.role === 'switch'; }).forEach(function (e) {\r\n          var cs = choices(e.box);\r\n          h += '<div class=\"pk-tog\" data-tog=\"' + esc(label(e.box)) + '\" data-yes=\"' + esc(cs[0].v) + '\" data-no=\"' + esc(cs[1].v) + '\"><div><b>' + esc(/proof/i.test(label(e.box)) ? 'Design proof by email' : pretty(label(e.box))) + '</b><small>' + esc(/proof/i.test(label(e.box)) ? 'Free. We print only after you approve it. It may add a little to the turnaround time.' : helpText(e.box)) + '</small></div><span class=\"pk-st\" data-st></span><button type=\"button\" class=\"pk-sw\" data-toggle aria-label=\"' + esc(pretty(label(e.box))) + '\"></button></div>';\r\n        });\r\n      } else if (sc.kind === 'person') {\r\n        h += question(step, 'Your number and name', 'Both free. Leave empty if you do not want them. Type, then tap a style.');\r\n        h += '<div class=\"pk-pair\">' + (sc.numBox ? fl(sc.numBox, true, ' inputmode=\"numeric\" maxlength=\"4\"') : '') + (sc.nameBox ? fl(sc.nameBox, true, ' maxlength=\"20\"') : '') + '</div>';\r\n        if (FP && (sc.numFont || sc.nameFont)) {\r\n          h += '<div class=\"pk-preview\">' + (sc.numFont ? '<canvas class=\"pk-pv-n\" data-pv=\"num\"></canvas>' : '') + (sc.nameFont ? '<canvas class=\"pk-pv-m\" data-pv=\"name\"></canvas>' : '') + '<small>Your number and name, live</small></div><p class=\"pk-note\" data-note hidden></p>';\r\n          if (sc.numFont) h += '<div class=\"pk-lab\">Number style</div><div class=\"pk-tiles\" data-tiles=\"num\" data-box=\"' + esc(label(sc.numFont)) + '\">' + choices(sc.numFont).map(function (c) { var k = styleKey(c.v, 'num'); return '<button type=\"button\" class=\"pk-tile\" data-k=\"' + esc(label(sc.numFont)) + '\" data-v=\"' + esc(c.v) + '\"><canvas data-fp=\"num\" data-key=\"' + k + '\"></canvas><em>Style ' + k + '</em></button>'; }).join('') + '</div>';\r\n          if (sc.nameFont) h += '<div class=\"pk-lab\">Name style</div><div class=\"pk-tiles pk-tiles--name\" data-tiles=\"name\" data-box=\"' + esc(label(sc.nameFont)) + '\">' + choices(sc.nameFont).map(function (c) { var k = styleKey(c.v, 'name'); return '<button type=\"button\" class=\"pk-tile\" data-k=\"' + esc(label(sc.nameFont)) + '\" data-v=\"' + esc(c.v) + '\"><canvas data-fp=\"name\" data-key=\"' + k + '\"></canvas><em>Style ' + k + '</em></button>'; }).join('') + '</div>';\r\n        } else {\r\n          if (sc.numFont) h += '<div class=\"pk-lab\">Number style</div>' + cardsFor(sc.numFont, 3);\r\n          if (sc.nameFont) h += '<div class=\"pk-lab\">Name style</div>' + cardsFor(sc.nameFont, 3);\r\n        }\r\n        sc.extra.filter(function (e) { return e.role === 'colors'; }).forEach(function (e) {\r\n          h += '<div class=\"pk-lab pk-lab--sec\">' + esc(/background/i.test(label(e.box)) ? 'Number background' : 'Number colours') + '</div>' + cardsFor(e.box, 2);\r\n        });\r\n        h += extraHTML('input');\r\n      } else if (sc.kind === 'extras') {\r\n        h += question(step, 'Printed with your kit', 'Optional. Each pack has a fixed price.');\r\n        sc.extra.forEach(function (e) {\r\n          if (e.role === 'stepper') {\r\n            var L = label(e.box), key = e.key;\r\n            var cs = choices(e.box);\r\n            var title = key === 'plates' ? 'Mini number plates' : (key === 'ig' ? 'Instagram stickers' : (key === 'tt' ? 'TikTok stickers' : pretty(L)));\r\n            var sub = cs.filter(function (c) { return c.price; }).map(function (c) { return c.name.replace(/\\s*pcs/i, ''); }).join(', ') + ' pcs';\r\n            var pic = key === 'plates' ? '<span class=\"pk-xpic\">#</span>' : (key === 'ig' ? '<span class=\"pk-xpic pk-xpic--ig\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"20\" height=\"20\" x=\"2\" y=\"2\" rx=\"5\" ry=\"5\"/><path d=\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"/><line x1=\"17.5\" y1=\"6.5\" x2=\"17.51\" y2=\"6.5\"/></svg></span>' : '<span class=\"pk-xpic pk-xpic--tt\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"18\" r=\"4\"/><path d=\"M12 18V2l7 4\"/></svg></span>');\r\n            h += '<div class=\"pk-stp\" data-stp=\"' + esc(L) + '\"><span class=\"pk-xwrap\">' + pic + '</span><div><b>' + esc(title) + '</b><small data-stpx>' + esc(sub) + '</small></div><div class=\"pk-ctl\"><button type=\"button\" data-d=\"-1\" data-key=\"' + esc(L) + '\" aria-label=\"Less\">' + icon('minus') + '</button><span data-stpv>None</span><button type=\"button\" data-d=\"1\" data-key=\"' + esc(L) + '\" aria-label=\"More\">' + icon('plus') + '</button></div></div>';\r\n            var handle = sc.extra.filter(function (x) { return x.role === 'handle-' + key; })[0];\r\n            if (handle) {\r\n              var max = SS && SS.max ? SS.max(key) : 30;\r\n              h += '<div class=\"pk-handle\" data-handle=\"' + key + '\" data-stickers=\"' + esc(L) + '\"><div class=\"pk-fl pk-fl--caps\"><input placeholder=\" \" data-f=\"' + esc(label(handle.box)) + '\" data-ss=\"' + key + '\" maxlength=\"' + max + '\" autocapitalize=\"characters\" autocomplete=\"off\" spellcheck=\"false\"><label>' + esc(key === 'tt' ? 'TikTok handle' : 'Instagram handle') + '</label><small class=\"pk-ph\">Letters, numbers, dots and underscores</small></div>' + (SS ? '<div class=\"pk-stk\"><canvas data-ssc=\"' + key + '\" role=\"img\" aria-label=\"Sticker preview\"></canvas><small data-sslen></small></div>' : '') + '</div>';\r\n            }\r\n          }\r\n        });\r\n        if (head && head.dataset.fw) {\r\n          h += '<a class=\"pk-stp pk-fw\" href=\"' + esc(head.dataset.fw) + '\" target=\"_blank\" rel=\"noopener\">' + (head.dataset.fwImg ? '<span class=\"pk-xwrap\"><span class=\"pk-xpic pk-xpic--img\" style=\"background-image:url(' + esc(head.dataset.fwImg) + ')\"></span></span>' : '<span class=\"pk-xwrap\"><span class=\"pk-xpic\">FW</span></span>') + '<div><b>Matching fork wraps</b><small>Pair from ' + esc(head.dataset.fwFrom || '') + ', ordered separately</small></div><span class=\"pk-fw-go\">View ' + icon('right') + '</span></a>';\r\n        }\r\n        h += extraHTML('input');\r\n      } else if (sc.kind === 'generic-text') {\r\n        h += question(step, pretty(label(sc.main)), helpText(sc.main));\r\n        h += fl(sc.main) + extraHTML('input');\r\n      } else if (sc.kind === 'review') {\r\n        h += question(step, 'Check and approve', 'Tap any line to change it. You will still see a design proof by email before we print.');\r\n        h += '<div class=\"pk-sum\" data-sum></div><div class=\"pk-trust3\"><div>' + icon('badge') + 'Free design proof before printing</div><div>' + icon('clock') + 'Made to order, 1-3 business days</div><div>' + icon('truck') + 'DHL Express to your door</div></div>';\r\n      }\r\n      return h;\r\n    }\r\n\r\n    var trustHTML = '<ul class=\"pk-trust\"><li>' + icon('badge') + 'Free design proof before printing</li><li>' + icon('clock') + 'Made to order in 1-3 business days</li><li>' + icon('truck') + 'DHL Express to your door</li></ul>';\r\n    var rateEl = document.querySelector('[data-prv][data-rate]');\r\n    var rate = rateEl ? rateEl.getAttribute('data-rate') : '';\r\n    var rateHTML = /out of 5/.test(rate) ? '<p class=\"pk-rating\"><span class=\"pk-stars\">' + icon('star') + icon('star') + icon('star') + icon('star') + icon('star') + '</span><a href=\"#reviews\">' + esc(rate.trim()) + '</a></p>' : '';\r\n    var trackHTML = '<nav class=\"pk-track\" aria-label=\"Order steps\">' + steps.map(function (s, i) { return '<button type=\"button\" class=\"pk-tstep\" data-step=\"' + i + '\"><i></i><span><b>' + s.n + '</b>' + esc(s.title) + '</span></button>'; }).join('') + '</nav>';\r\n    var top = document.createElement('div');\r\n    top.className = 'pk-top';\r\n    top.innerHTML = rateHTML + trustHTML + trackHTML;\r\n    form.insertBefore(top, root);\r\n\r\n    var sheet = document.createElement('div');\r\n    sheet.className = 'pk-sheet';\r\n    sheet.innerHTML = '<div class=\"pk-bar\"><div class=\"pk-dots\" data-dots></div><div class=\"pk-pill\" data-pill><span data-tot></span><i>' + icon('bag') + '</i></div></div>' +\r\n      screens.map(function (sc, i) { return '<div class=\"pk-scr\" data-i=\"' + i + '\">' + screenHTML(sc) + '<p class=\"pk-err\" data-err hidden></p></div>'; }).join('') +\r\n      '<div class=\"pk-nav\"><button type=\"button\" class=\"pk-back\" data-prev aria-label=\"Back\">' + icon('left') + '</button><button type=\"button\" class=\"pk-go\" data-next></button></div>';\r\n    root.insertAdjacentElement('afterend', sheet);\r\n\r\n    var dockImg = document.querySelector('.product__media img, .product__media-item img');\r\n    var dockName = head && head.querySelector('.pt-name') ? head.querySelector('.pt-name').textContent.trim() : '';\r\n    var dock = document.createElement('div');\r\n    dock.className = 'pk-dock';\r\n    dock.setAttribute('aria-hidden', 'true');\r\n    dock.innerHTML = (dockImg ? '<img src=\"' + esc(dockImg.currentSrc || dockImg.src) + '\" alt=\"\" width=\"46\" height=\"46\">' : '') + '<div class=\"pk-dock-t\"><b>' + esc(dockName) + '</b><span data-dock-p></span></div><button type=\"button\" class=\"pk-dock-go\" data-dock-go tabindex=\"-1\"><span data-dock-l></span>' + icon('right') + '</button>';\r\n    document.body.appendChild(dock);\r\n    var dockTarget = 0;\r\n    function dockShow() {\r\n      var hdr = document.querySelector('sticky-header, .shopify-section-header-sticky, .section-header');\r\n      var hb = hdr ? Math.max(0, hdr.getBoundingClientRect().bottom) : 0;\r\n      var past = sheet.getBoundingClientRect().bottom < hb + 40;\r\n      var foot = document.querySelector('footer, .footer');\r\n      var atFoot = foot ? foot.getBoundingClientRect().top < window.innerHeight : false;\r\n      var on = past && !atFoot;\r\n      dock.classList.toggle('is-on', on);\r\n      dock.setAttribute('aria-hidden', on ? 'false' : 'true');\r\n      dock.querySelector('[data-dock-go]').tabIndex = on ? 0 : -1;\r\n    }\r\n    var dkf = null;\r\n    window.addEventListener('scroll', function () { if (dkf) return; dkf = requestAnimationFrame(function () { dkf = null; dockShow(); }); }, { passive: true });\r\n    dock.addEventListener('click', function (e) { if (e.target.closest('[data-dock-go]')) show(dockTarget); });\r\n\r\n    function stickTop() {\r\n      var hdr = document.querySelector('sticky-header, .shopify-section-header-sticky, .section-header');\r\n      var hb = hdr ? hdr.getBoundingClientRect().bottom : 0;\r\n      sheet.style.setProperty('--pk-stick', Math.max(0, Math.round(hb)) + 'px');\r\n    }\r\n    var stf = null;\r\n    window.addEventListener('scroll', function () { if (stf) return; stf = requestAnimationFrame(function () { stf = null; stickTop(); }); }, { passive: true });\r\n    stickTop();\r\n\r\n    var note = document.createElement('p');\r\n    note.className = 'pk-pnote';\r\n    note.hidden = true;\r\n    var priceBox = info.querySelector('[id^=\"price-\"]');\r\n    if (priceBox) priceBox.insertAdjacentElement('afterend', note);\r\n\r\n    var $ = function (s) { return sheet.querySelector(s); };\r\n    var $$ = function (s) { return Array.prototype.slice.call(sheet.querySelectorAll(s)); };\r\n    var current = 0;\r\n    var N = screens.length;\r\n    var dir = 0;\r\n\r\n    function addon() {\r\n      var box = root.querySelector('.ymq-option-addon');\r\n      var span = box && box.querySelector('[data-ymq-money]');\r\n      if (!span || box.style.display === 'none') return 0;\r\n      return Math.round(parseFloat(span.getAttribute('data-ymq-money')) * 100) || 0;\r\n    }\r\n\r\n    var tweenFrom = null;\r\n    function setTotals() {\r\n      var extra = addon();\r\n      var sum = base + extra;\r\n      var txt = money(sum, tmpl);\r\n      prices.forEach(function (el) { if (el.textContent.trim() !== txt) el.textContent = txt; });\r\n      note.hidden = extra <= 0;\r\n      note.textContent = extra > 0 ? 'Kit ' + money(base, tmpl) + ' + options ' + money(extra, tmpl) : '';\r\n      var short = txt.replace(/\\s*[A-Z]{3}\\s*$/, '');\r\n      var dp = dock.querySelector('[data-dock-p]');\r\n      if (dp) dp.textContent = short;\r\n      var pill = $('[data-pill] span');\r\n      var go = $('[data-next] [data-gp]');\r\n      if (tweenFrom === null) tweenFrom = sum;\r\n      if (tweenFrom === sum) { pill.textContent = short; if (go) go.textContent = short; return; }\r\n      var from = tweenFrom, t0 = performance.now();\r\n      tweenFrom = sum;\r\n      $('[data-pill]').classList.remove('is-bump');\r\n      void $('[data-pill]').offsetWidth;\r\n      $('[data-pill]').classList.add('is-bump');\r\n      (function f(now) {\r\n        var k = Math.min(1, (now - t0) / 450);\r\n        k = 1 - Math.pow(1 - k, 3);\r\n        var v = money(from + (sum - from) * k, tmpl).replace(/\\s*[A-Z]{3}\\s*$/, '');\r\n        pill.textContent = v;\r\n        if (go) go.textContent = v;\r\n        if (k < 1) requestAnimationFrame(f);\r\n      })(t0);\r\n    }\r\n\r\n    var inactive = {};\r\n    function norm(s) { return String(s).toLowerCase().replace(/[^a-z0-9]/g, ''); }\r\n    function rangeMatch(sc) {\r\n      var mbox = boxes.filter(function (b) { return /^model$/i.test(label(b)); })[0];\r\n      var m = mbox ? norm(valueOf(mbox)) : '';\r\n      var best = null, bestScore = 0;\r\n      var shown = sc.ranges.filter(function (b) { return !hiddenByApp(b); });\r\n      if (m && shown.length === 1) return shown[0];\r\n      (shown.length ? shown : sc.ranges).forEach(function (b) {\r\n        var pre = norm(label(b).split('/')[0]);\r\n        if (!m || !pre) return;\r\n        var score = pre === m ? 3000 : (m.indexOf(pre) === 0 ? 2000 + pre.length : (pre.indexOf(m) === 0 ? 1000 - pre.length : 0));\r\n        if (score > bestScore) { best = b; bestScore = score; }\r\n      });\r\n      if (!best) { var vis = sc.ranges.filter(function (b) { return !hiddenByApp(b); }); if (vis.length === 1) best = vis[0]; }\r\n      return best;\r\n    }\r\n    function isVis(sc) {\r\n      if (sc.kind === 'review') return true;\r\n      if (sc.auto) return false;\r\n      return sc.boxes.some(function (b) { return !hiddenByApp(b) && !inactive[label(b)]; });\r\n    }\r\n    function missing(step) {\r\n      return step.boxes.filter(function (b) { return isRequired(b) && !hiddenByApp(b) && !inactive[label(b)] && !valueOf(b); });\r\n    }\r\n    function styleGap(sc) {\r\n      if (!sc || sc.kind !== 'person') return '';\r\n      var n = sc.numBox ? String(valueOf(sc.numBox) || '').replace(/\\D/g, '') : '';\r\n      var m = sc.nameBox ? String(valueOf(sc.nameBox) || '').trim() : '';\r\n      if (n && sc.numFont && !hiddenByApp(sc.numFont) && !valueOf(sc.numFont)) return 'Pick a number style for your race number.';\r\n      if (m && sc.nameFont && !hiddenByApp(sc.nameFont) && !valueOf(sc.nameFont)) return 'Pick a name style for your rider name.';\r\n      return '';\r\n    }\r\n    var gapAt = null;\r\n    function showGap(i) {\r\n      var p = $$('[data-err]')[i];\r\n      if (!p) return;\r\n      p.textContent = styleGap(screens[i]);\r\n      p.hidden = false;\r\n      gapAt = i;\r\n      if (i !== current) show(i, true);\r\n    }\r\n    function clearGap() {\r\n      if (gapAt === null || styleGap(screens[gapAt])) return;\r\n      var p = $$('[data-err]')[gapAt];\r\n      if (p) p.hidden = true;\r\n      gapAt = null;\r\n    }\r\n\r\n    function drawCanvases() {\r\n      var sc = screens[current];\r\n      var el = $('.pk-scr.is-on');\r\n      if (!el) return;\r\n      if (sc.kind === 'person' && FP && FP.ready()) {\r\n        var n = (sc.numBox ? valueOf(sc.numBox) : '').replace(/\\D/g, '');\r\n        var m = (sc.nameBox ? valueOf(sc.nameBox) : '').trim();\r\n        var pv = el.querySelector('.pk-preview');\r\n        if (pv) pv.hidden = !n && !m;\r\n        el.querySelectorAll('.pk-tiles').forEach(function (t) {\r\n          var nb = t.querySelector('canvas[data-fp=\"num\"]');\r\n          if (!(nb ? n : m)) t.hidden = true;\r\n          var lab = t.previousElementSibling;\r\n          if (lab && lab.classList.contains('pk-lab')) lab.hidden = t.hidden;\r\n        });\r\n        var pnc = el.querySelector('[data-pv=\"num\"]'), pmc = el.querySelector('[data-pv=\"name\"]');\r\n        if (pnc) pnc.hidden = !n;\r\n        if (pmc) pmc.hidden = !m;\r\n        if (!n && !m) { var nt0 = el.querySelector('[data-note]'); if (nt0) nt0.hidden = true; return; }\r\n        var kn = sc.numFont ? styleKey(valueOf(sc.numFont), 'num') : null;\r\n        var km = sc.nameFont ? styleKey(valueOf(sc.nameFont), 'name') : null;\r\n        el.querySelectorAll('canvas[data-fp]').forEach(function (cv) {\r\n          if (FP.has(cv.dataset.fp, cv.dataset.key)) FP.draw(cv, cv.dataset.fp, cv.dataset.key, cv.dataset.fp === 'num' ? n : m);\r\n        });\r\n        var pn = el.querySelector('[data-pv=\"num\"]'), pm = el.querySelector('[data-pv=\"name\"]');\r\n        if (pn) FP.draw(pn, 'num', FP.has('num', kn) ? kn : FP.keys('num')[0], n);\r\n        if (pm) {\r\n          var shown = FP.has('name', km) ? km : FP.keys('name')[0];\r\n          var L = FP.draw(pm, 'name', shown, m);\r\n          var nt = el.querySelector('[data-note]');\r\n          nt.hidden = !L.missing.length;\r\n          if (L.missing.length) nt.textContent = 'Style ' + shown + ' has no ' + L.missing.join(', ') + '. We add ' + (L.missing.length > 1 ? 'them' : 'it') + ' by hand, and you see ' + (L.missing.length > 1 ? 'them' : 'it') + ' in your design proof before we print.';\r\n        }\r\n      }\r\n      if (sc.kind === 'extras' && SS && SS.ready()) {\r\n        el.querySelectorAll('.pk-handle:not([hidden]) canvas[data-ssc]').forEach(function (cv) {\r\n          var key = cv.dataset.ssc;\r\n          var inp = cv.closest('.pk-handle').querySelector('input');\r\n          var txt = SS.clean(inp.value, SS.max(key)) || 'YOURNAME';\r\n          SS.draw(cv, cv.closest('.pk-stk').querySelector('[data-sslen]'), key, txt);\r\n        });\r\n      }\r\n    }\r\n\r\n    function reviewRows() {\r\n      var rows = [];\r\n      screens.forEach(function (sc) {\r\n        if (sc.kind === 'review') return;\r\n        sc.boxes.forEach(function (b) {\r\n          if (hiddenByApp(b) || inactive[label(b)]) return;\r\n          var L = label(b), v = valueOf(b);\r\n          if (/font/i.test(L)) return;\r\n          var name = pretty(L);\r\n          if (sc.kind === 'yearsel') name = 'Years';\r\n          if (/^model$/i.test(L)) name = 'Bike model';\r\n          if (/bike\\s*year/i.test(L)) name = 'Bike year';\r\n          if (/number\\s*colou?rs?$/i.test(L)) name = 'Number colours';\r\n          if (/^your number colou?rs?/i.test(L)) name = 'Your number colours';\r\n          var shown = v ? pretty(v) : (isRequired(b) ? 'Not chosen yet' : (/stickers|plates/i.test(L) ? 'No thanks' : 'None'));\r\n          var price = '';\r\n          if (v) {\r\n            var c = choices(b).filter(function (x) { return x.v === v; })[0];\r\n            if (c && c.price) price = c.price;\r\n          }\r\n          if (/race\\s*number/i.test(L) && v && sc.numFont) { var k = styleKey(valueOf(sc.numFont), 'num'); if (k) shown += ' \u00B7 style ' + k; }\r\n          if (/rider\\s*name/i.test(L) && v && sc.nameFont) { var k2 = styleKey(valueOf(sc.nameFont), 'name'); if (k2) shown += ' \u00B7 style ' + k2; }\r\n          if (/handle/i.test(L) && v) shown = '@' + v;\r\n          if (!v && /handle|shoutout|aftermarket|additional|^your number/i.test(L)) return;\r\n          rows.push({ sc: sc, name: name, v: shown, price: price, missing: isRequired(b) && !v });\r\n        });\r\n      });\r\n      return rows;\r\n    }\r\n\r\n    function refresh() {\r\n      clearGap();\r\n      screens.forEach(function (sc) {\r\n        if (sc.kind !== 'yearsel') return;\r\n        var best = rangeMatch(sc);\r\n        sc.ranges.forEach(function (b) { inactive[label(b)] = b !== best; });\r\n        var el = $('.pk-scr[data-i=\"' + sc.idx + '\"]');\r\n        el.querySelectorAll('[data-range]').forEach(function (w) { w.hidden = inactive[w.dataset.range]; });\r\n        el.querySelector('[data-range-hint]').hidden = !!best;\r\n      });\r\n      var ccModel = boxes.filter(function (b) { return /^model$/i.test(label(b)); })[0];\r\n      screens.forEach(function (sc) {\r\n        if (sc.kind !== 'cc') return;\r\n        var mv = ccModel ? valueOf(ccModel) : '';\r\n        var off = /\\d/.test(mv) && !/\\d\\s*-\\s*\\d/.test(mv);\r\n        inactive[label(sc.main)] = off;\r\n        if (off && valueOf(sc.main) !== mv) { setValue(sc.main, mv); sc.autoCC = mv; }\r\n        if (!off && sc.autoCC && valueOf(sc.main) === sc.autoCC) { setValue(sc.main, ''); sc.autoCC = ''; }\r\n      });\r\n      $$('[data-k][data-v]').forEach(function (b) {\r\n        var box = boxFor(b.dataset.k);\r\n        b.classList.toggle('is-on', !!box && valueOf(box) === b.dataset.v);\r\n      });\r\n      $$('[data-f]').forEach(function (inp) {\r\n        var box = boxFor(inp.dataset.f);\r\n        if (!box) return;\r\n        var v = valueOf(box);\r\n        if (document.activeElement !== inp && inp.value !== v) inp.value = v;\r\n        var wrap = inp.closest('.pk-fl');\r\n        if (wrap) {\r\n          var closed = wrap.hasAttribute('data-collapse') && !v && !wrap.hasAttribute('data-open') && document.activeElement !== inp;\r\n          wrap.hidden = hiddenByApp(box) || closed;\r\n          var mb = sheet.querySelector('[data-more=\"' + inp.dataset.f + '\"]');\r\n          if (mb) mb.hidden = hiddenByApp(box) || !closed;\r\n        }\r\n      });\r\n      $$('[data-tog]').forEach(function (t) {\r\n        var box = boxFor(t.dataset.tog);\r\n        var on = valueOf(box) === t.dataset.yes;\r\n        t.querySelector('[data-toggle]').classList.toggle('is-on', on);\r\n        t.querySelector('[data-st]').textContent = valueOf(box) ? (on ? 'Yes' : 'No') : '';\r\n        t.hidden = hiddenByApp(box);\r\n      });\r\n      $$('[data-stp]').forEach(function (s) {\r\n        var box = boxFor(s.dataset.stp);\r\n        var v = valueOf(box);\r\n        var cs = choices(box);\r\n        var c = cs.filter(function (x) { return x.v === v; })[0];\r\n        var lock = /mini\\s*number/i.test(s.dataset.stp) && !personSet();\r\n        if (lock && c && c.price) {\r\n          var none = cs.filter(function (x) { return /no\\s*thanks/i.test(x.name); })[0];\r\n          if (none) { setValue(box, none.v); c = none; }\r\n        }\r\n        var on = !!(c && c.price);\r\n        s.classList.toggle('is-on', on);\r\n        s.classList.toggle('is-locked', lock);\r\n        s.querySelector('[data-stpv]').textContent = on ? c.name : 'None';\r\n        var sx = s.querySelector('[data-stpx]');\r\n        if (!sx.dataset.t) sx.dataset.t = sx.textContent;\r\n        sx.textContent = on ? c.price + ' for ' + c.name : (lock ? 'Add your race number or rider name first' : sx.dataset.t);\r\n        sx.classList.toggle('is-x', on);\r\n        sx.classList.toggle('is-lock', lock);\r\n        s.hidden = hiddenByApp(box);\r\n      });\r\n      $$('[data-handle]').forEach(function (hd) {\r\n        var sbox = boxFor(hd.dataset.stickers);\r\n        var hbox = boxFor(hd.querySelector('input').dataset.f);\r\n        var v = valueOf(sbox);\r\n        var c = choices(sbox).filter(function (x) { return x.v === v; })[0];\r\n        hd.hidden = !(c && c.price) || hiddenByApp(hbox);\r\n      });\r\n      $$('.pk-cards').forEach(function (c) { var box = boxFor(c.dataset.cards); if (box) c.hidden = hiddenByApp(box); });\r\n      $$('.pk-tiles').forEach(function (c) { var box = boxFor(c.dataset.box); if (box) c.hidden = hiddenByApp(box); });\r\n      setTotals();\r\n      var rows = reviewRows();\r\n      var sum = $('[data-sum]');\r\n      sum.innerHTML = rows.map(function (r) {\r\n        return '<button type=\"button\" data-jump=\"' + r.sc.idx + '\"' + (r.missing ? ' class=\"is-missing\"' : '') + '><span><span class=\"pk-k\">' + esc(r.name) + '</span><span class=\"pk-v\">' + esc(r.v) + '</span></span><span class=\"pk-p' + (r.price ? ' is-x' : '') + '\">' + esc(r.price) + '</span>' + icon('pen') + '</button>';\r\n      }).join('') + '<div class=\"pk-tot\"><span>Total<small> incl. VAT, shipping at checkout</small></span><b>' + money(base + addon(), tmpl).replace(/\\s*[A-Z]{3}\\s*$/, '') + '</b></div>';\r\n      var stepNow = screens[current].step;\r\n      var done = 0, chain = true;\r\n      steps.forEach(function (s, i) {\r\n        var seenAll = s.screens.every(function (sc) { return sc.visited || sc.kind === 'review' || !isVis(sc); });\r\n        var ok = seenAll && missing(s).length === 0 && (s !== stepNow || screens[current].kind === 'review');\r\n        var t = top.querySelector('.pk-tstep[data-step=\"' + i + '\"]');\r\n        t.classList.toggle('is-done', ok);\r\n        t.classList.toggle('is-open', s === stepNow);\r\n        if (chain && ok) done = i + 1; else chain = false;\r\n      });\r\n      top.querySelector('.pk-track').style.setProperty('--fill', (steps.length > 1 ? Math.min(done, steps.length - 1) / (steps.length - 1) * 100 : 0) + '%');\r\n      var dl = dock.querySelector('[data-dock-l]');\r\n      if (done >= steps.length) {\r\n        dl.textContent = 'Ready: add to cart';\r\n        dockTarget = N - 1;\r\n      } else {\r\n        var nextSc = steps[done].screens.filter(isVis)[0];\r\n        dl.textContent = 'Step ' + (done + 1) + ' of ' + steps.length + ': ' + steps[done].title;\r\n        dockTarget = nextSc ? nextSc.idx : current;\r\n      }\r\n      dock.classList.toggle('is-ready', done >= steps.length);\r\n      drawCanvases();\r\n    }\r\n\r\n    var boxMap = {};\r\n    boxes.forEach(function (b) { boxMap[label(b)] = b; });\r\n    function boxFor(l) { return boxMap[l] || null; }\r\n    function personSet() {\r\n      return screens.some(function (sc) {\r\n        return sc.kind === 'person' && ((sc.numBox && String(valueOf(sc.numBox) || '').trim()) || (sc.nameBox && String(valueOf(sc.nameBox) || '').trim()));\r\n      });\r\n    }\r\n\r\n    function scrollToSheet() {\r\n      var hdr = document.querySelector('sticky-header, .shopify-section-header-sticky, .section-header');\r\n      var hb = hdr ? hdr.getBoundingClientRect().bottom : 0;\r\n      var gap = (hb > 0 && hb < window.innerHeight / 2 ? hb : 0) + 12;\r\n      var topY = sheet.getBoundingClientRect().top;\r\n      if (topY < gap || topY > window.innerHeight * 0.6) {\r\n        var calm = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n        window.scrollTo({ top: sheet.getBoundingClientRect().top + window.pageYOffset - gap, behavior: calm ? 'auto' : 'smooth' });\r\n      }\r\n    }\r\n\r\n    function nextVis(from, d) {\r\n      var i = from + d;\r\n      while (i >= 0 && i < N && !isVis(screens[i])) i += d;\r\n      return i >= 0 && i < N ? i : null;\r\n    }\r\n    function show(i, back, noScroll) {\r\n      current = Math.max(0, Math.min(N - 1, i));\r\n      if (!isVis(screens[current])) { var alt = nextVis(current, back ? -1 : 1); if (alt === null) alt = nextVis(current, back ? 1 : -1); if (alt !== null) current = alt; }\r\n      screens[current].visited = true;\r\n      $$('.pk-scr').forEach(function (el, k) {\r\n        el.classList.toggle('is-on', k === current);\r\n        el.classList.toggle('is-back', !!back);\r\n      });\r\n      var vis = screens.filter(isVis);\r\n      var pos = vis.indexOf(screens[current]);\r\n      $('[data-dots]').innerHTML = vis.map(function (sc, k) { return '<i class=\"' + (k < pos ? 'is-done' : (k === pos ? 'is-now' : '')) + '\"></i>'; }).join('') + '<span data-cnt>' + (pos + 1) + ' / ' + vis.length + '</span>';\r\n      var nx = $('[data-next]');\r\n      var last = current === N - 1;\r\n      nx.innerHTML = last ? 'Add to cart <span class=\"pk-gp\" data-gp></span>' + icon('right') : (pos === vis.length - 2 ? 'Review my kit ' + icon('list') : 'Continue ' + icon('right'));\r\n      nx.classList.toggle('is-cta', last);\r\n      $('[data-prev]').style.visibility = pos === 0 ? 'hidden' : 'visible';\r\n      refresh();\r\n      requestAnimationFrame(drawCanvases);\r\n      if (!noScroll) scrollToSheet();\r\n    }\r\n\r\n    sheet.addEventListener('click', function (e) {\r\n      var b = e.target.closest('[data-k][data-v]');\r\n      if (b) {\r\n        var box = boxFor(b.dataset.k);\r\n        if (box) setValue(box, b.dataset.v);\r\n        refresh();\r\n        return;\r\n      }\r\n      var st = e.target.closest('[data-key][data-d]');\r\n      if (st) {\r\n        var sbox = boxFor(st.dataset.key);\r\n        if (+st.dataset.d > 0 && /mini\\s*number/i.test(st.dataset.key) && !personSet()) {\r\n          var row = st.closest('[data-stp]');\r\n          if (row) { row.classList.remove('is-nudge'); void row.offsetWidth; row.classList.add('is-nudge'); }\r\n          refresh();\r\n          return;\r\n        }\r\n        var cs = choices(sbox);\r\n        var packs = cs.filter(function (c) { return c.price || /no\\s*thanks/i.test(c.name); });\r\n        var v = valueOf(sbox);\r\n        var idx = packs.map(function (c) { return c.v; }).indexOf(v);\r\n        if (idx < 0) idx = 0;\r\n        idx = Math.max(0, Math.min(packs.length - 1, idx + (+st.dataset.d)));\r\n        setValue(sbox, packs[idx].v);\r\n        refresh();\r\n        return;\r\n      }\r\n      var tg = e.target.closest('[data-toggle]');\r\n      if (tg) {\r\n        var w = tg.closest('[data-tog]');\r\n        var tbox = boxFor(w.dataset.tog);\r\n        setValue(tbox, valueOf(tbox) === w.dataset.yes ? w.dataset.no : w.dataset.yes);\r\n        refresh();\r\n        return;\r\n      }\r\n      var j = e.target.closest('[data-jump]');\r\n      if (j) { show(+j.dataset.jump, true); return; }\r\n      var mo = e.target.closest('[data-more]');\r\n      if (mo) {\r\n        var fw = sheet.querySelector('.pk-fl[data-for=\"' + mo.dataset.more + '\"]');\r\n        if (fw) { fw.setAttribute('data-open', ''); refresh(); var fi = fw.querySelector('input, textarea'); if (fi) fi.focus(); }\r\n        return;\r\n      }\r\n    });\r\n\r\n    sheet.addEventListener('input', function (e) {\r\n      var t = e.target.closest('[data-f]');\r\n      if (!t) return;\r\n      var box = boxFor(t.dataset.f);\r\n      if (!box) return;\r\n      if (t.dataset.ss && SS) {\r\n        var max = SS.max(t.dataset.ss);\r\n        var v = SS.clean(t.value, max);\r\n        if (v !== t.value) {\r\n          var pos = t.selectionStart;\r\n          var before = SS.clean(t.value.slice(0, pos), max).length;\r\n          t.value = v;\r\n          try { t.setSelectionRange(before, before); } catch (err) {}\r\n        }\r\n      }\r\n      if (/bike\\s*year|race\\s*number/i.test(t.dataset.f) && t.inputMode === 'numeric') {\r\n        var d = t.value.replace(/\\D/g, '').slice(0, 4);\r\n        if (d !== t.value) t.value = d;\r\n      }\r\n      setValue(box, t.value);\r\n      refresh();\r\n    });\r\n\r\n    top.addEventListener('click', function (e) {\r\n      var ts = e.target.closest('.pk-tstep');\r\n      if (!ts) return;\r\n      var s = steps[+ts.dataset.step];\r\n      var first = s.screens.filter(isVis)[0] || s.screens[0];\r\n      var target = first.idx;\r\n      show(target, target < current);\r\n    });\r\n\r\n    $('[data-next]').addEventListener('click', function () {\r\n      var gi = current < N - 1 ? (styleGap(screens[current]) ? current : -1) : screens.findIndex(function (sc) { return styleGap(sc); });\r\n      if (gi > -1) { showGap(gi); return; }\r\n      if (current < N - 1) { var nv = nextVis(current, 1); if (nv !== null) show(nv); return; }\r\n      if (!realBtn || realBtn.disabled) return;\r\n      $('[data-next]').classList.add('is-loading');\r\n      realBtn.click();\r\n      setTimeout(function () { $('[data-next]').classList.remove('is-loading'); }, 4000);\r\n    });\r\n    $('[data-prev]').addEventListener('click', function () { var pv = nextVis(current, -1); if (pv !== null) show(pv, true); });\r\n\r\n    root.addEventListener('input', refresh);\r\n    root.addEventListener('change', refresh);\r\n    new MutationObserver(function () { requestAnimationFrame(refresh); }).observe(root, { subtree: true, attributes: true, attributeFilter: ['style', 'class', 'data-ymq-money'] });\r\n\r\n    new MutationObserver(function () {\r\n      var bad = null, msg = '', need = {};\r\n      screens.forEach(function (sc, i) {\r\n        sc.boxes.forEach(function (b) {\r\n          var e = b.querySelector('.ymq-option-error');\r\n          if (e && e.textContent.trim() && !hiddenByApp(b)) {\r\n            need[label(b)] = true;\r\n            if (bad === null) { bad = i; msg = pretty(label(b)) + ': ' + e.textContent.trim(); }\r\n          }\r\n        });\r\n      });\r\n      $$('[data-for], [data-cards], [data-tog], [data-stp]').forEach(function (el) {\r\n        var k = el.getAttribute('data-for') || el.getAttribute('data-cards') || el.getAttribute('data-tog') || el.getAttribute('data-stp');\r\n        el.classList.toggle('is-need', !!need[k]);\r\n      });\r\n      $$('[data-err]').forEach(function (p, i) { p.hidden = i !== bad; if (i === bad) p.textContent = msg; });\r\n      if (bad !== null && bad !== current) { $('[data-next]').classList.remove('is-loading'); show(bad, true); }\r\n    }).observe(root, { subtree: true, childList: true, characterData: true });\r\n\r\n    var rt;\r\n    window.addEventListener('resize', function () { clearTimeout(rt); rt = setTimeout(drawCanvases, 150); });\r\n    screens.forEach(function (sc) {\r\n      sc.extra.forEach(function (e) {\r\n        if (e.role === 'switch' && isRequired(e.box) && !valueOf(e.box)) setValue(e.box, choices(e.box)[0].v);\r\n      });\r\n      if (sc.auto && valueOf(sc.main) !== single) setValue(sc.main, single);\r\n    });\r\n    if (FP) FP.load().then(drawCanvases).catch(function () {});\r\n    if (SS) SS.load().then(drawCanvases).catch(function () {});\r\n    show(0, false, true);\r\n    return true;\r\n  }\r\n\r\n  function buildSimple() {\r\n    var head = document.querySelector('.pt-head[data-simple]');\r\n    var form = document.querySelector('.product-form__buttons');\r\n    if (!head || !form || document.querySelector('.pk-sheet')) return !!document.querySelector('.pk-sheet');\r\n    var realBtn = form.querySelector('button[name=\"add\"]');\r\n    var pform = form.closest('form') || document.querySelector('form[action*=\"/cart/add\"]');\r\n    if (!realBtn || !pform) return false;\r\n    var base = parseInt(head.dataset.base, 10) || 0;\r\n    var info = form.closest('.product__info-container') || document;\r\n    var priceEl = info.querySelector('.price__regular .price-item--regular, .price-item--last');\r\n    var tmpl = priceEl ? priceEl.textContent.trim() : '';\r\n    var name = (head.querySelector('.pt-name') || head).textContent.trim();\r\n    var size = head.dataset.size || '';\r\n    var unit = head.dataset.unit || 'pair';\r\n    var ship = head.dataset.ship || 'Made to order in 1-3 business days';\r\n    var qtyIn = pform.querySelector('input[name=\"quantity\"]');\r\n    if (!qtyIn) {\r\n      qtyIn = document.createElement('input');\r\n      qtyIn.type = 'hidden';\r\n      qtyIn.name = 'quantity';\r\n      pform.appendChild(qtyIn);\r\n    }\r\n    var qty = 1;\r\n    qtyIn.value = qty;\r\n    document.documentElement.classList.add('cgx-pocket-on');\r\n    var plural = function (n) { return n + ' ' + unit + (n === 1 ? '' : 's'); };\r\n    var total = function () { return money(base * qty, tmpl).replace(/\\s*[A-Z]{3}\\s*$/, ''); };\r\n\r\n    var rateEl = document.querySelector('[data-prv][data-rate]');\r\n    var rate = rateEl ? rateEl.getAttribute('data-rate') : '';\r\n    var top = document.createElement('div');\r\n    top.className = 'pk-top';\r\n    top.innerHTML = (/out of 5/.test(rate) ? '<p class=\"pk-rating\"><span class=\"pk-stars\">' + icon('star') + icon('star') + icon('star') + icon('star') + icon('star') + '</span><a href=\"#reviews\">' + esc(rate.trim()) + '</a></p>' : '') +\r\n      '<ul class=\"pk-trust\"><li>' + icon('clock') + esc(ship) + '</li><li>' + icon('truck') + 'DHL Express to your door</li><li>' + icon('badge') + 'Same vinyl and laminate as our kits</li></ul>' +\r\n      '<nav class=\"pk-track\" aria-label=\"Order steps\"><button type=\"button\" class=\"pk-tstep\" data-step=\"0\"><i></i><span><b>01</b>Your ' + esc(unit) + 's</span></button><button type=\"button\" class=\"pk-tstep\" data-step=\"1\"><i></i><span><b>02</b>Check</span></button></nav>';\r\n    form.insertBefore(top, form.firstChild);\r\n\r\n    var sheet = document.createElement('div');\r\n    sheet.className = 'pk-sheet';\r\n    sheet.innerHTML = '<div class=\"pk-bar\"><div class=\"pk-dots\" data-dots></div><div class=\"pk-pill\" data-pill><span data-tot></span><i>' + icon('bag') + '</i></div></div>' +\r\n      '<div class=\"pk-scr\" data-i=\"0\"><h2 class=\"pk-q\"><small>01 \u00B7 Your ' + esc(unit) + 's</small>How many ' + esc(unit) + 's?</h2><p class=\"pk-h\">' + esc(size) + '</p>' +\r\n      '<div class=\"pk-stp is-on\"><span class=\"pk-xwrap\"><span class=\"pk-xpic\">' + icon('bag') + '</span></span><div><b>' + esc(name) + '</b><small>' + esc(money(base, tmpl).replace(/\\s*[A-Z]{3}\\s*$/, '')) + ' per ' + esc(unit) + '</small></div><div class=\"pk-ctl\"><button type=\"button\" data-q=\"-1\" aria-label=\"Less\">' + icon('minus') + '</button><span data-qv></span><button type=\"button\" data-q=\"1\" aria-label=\"More\">' + icon('plus') + '</button></div></div></div>' +\r\n      '<div class=\"pk-scr\" data-i=\"1\"><h2 class=\"pk-q\"><small>02 \u00B7 Check</small>Check and add to cart</h2><p class=\"pk-h\">Sold as shown in the picture.</p><div class=\"pk-sum\" data-sum></div>' +\r\n      '<div class=\"pk-trust3\"><div>' + icon('clock') + esc(ship) + '</div><div>' + icon('truck') + 'DHL Express to your door</div></div></div>' +\r\n      '<div class=\"pk-nav\"><button type=\"button\" class=\"pk-back\" data-prev aria-label=\"Back\">' + icon('left') + '</button><button type=\"button\" class=\"pk-go\" data-next></button></div>';\r\n    form.insertBefore(sheet, top.nextSibling);\r\n\r\n    var $ = function (s) { return sheet.querySelector(s); };\r\n    var cur = 0;\r\n    function refresh() {\r\n      qtyIn.value = qty;\r\n      $('[data-qv]').textContent = plural(qty);\r\n      $('[data-tot]').textContent = total();\r\n      $('[data-sum]').innerHTML = '<button type=\"button\" data-jump=\"0\"><span><span class=\"pk-k\">Design</span><span class=\"pk-v\">' + esc(name) + '</span></span><span class=\"pk-p\"></span>' + icon('pen') + '</button>' +\r\n        (size ? '<button type=\"button\" data-jump=\"0\"><span><span class=\"pk-k\">Size</span><span class=\"pk-v\">' + esc(size) + '</span></span><span class=\"pk-p\"></span>' + icon('pen') + '</button>' : '') +\r\n        '<button type=\"button\" data-jump=\"0\"><span><span class=\"pk-k\">Quantity</span><span class=\"pk-v\">' + esc(plural(qty)) + '</span></span><span class=\"pk-p\"></span>' + icon('pen') + '</button>' +\r\n        '<div class=\"pk-tot\"><span>Total<small> incl. VAT, shipping at checkout</small></span><b>' + esc(total()) + '</b></div>';\r\n      top.querySelectorAll('.pk-tstep').forEach(function (t, i) {\r\n        t.classList.toggle('is-done', i < cur || (i === 1 && cur === 1));\r\n        t.classList.toggle('is-open', i === cur);\r\n      });\r\n      top.querySelector('.pk-track').style.setProperty('--fill', (cur === 1 ? 100 : 0) + '%');\r\n    }\r\n    function show(i, back) {\r\n      cur = i;\r\n      sheet.querySelectorAll('.pk-scr').forEach(function (el, k) { el.classList.toggle('is-on', k === i); el.classList.toggle('is-back', !!back); });\r\n      $('[data-dots]').innerHTML = '<i class=\"' + (i > 0 ? 'is-done' : 'is-now') + '\"></i><i class=\"' + (i === 1 ? 'is-now' : '') + '\"></i><span data-cnt>' + (i + 1) + ' / 2</span>';\r\n      var nx = $('[data-next]');\r\n      nx.innerHTML = i === 1 ? 'Add to cart ' + icon('right') : 'Continue ' + icon('right');\r\n      nx.classList.toggle('is-cta', i === 1);\r\n      $('[data-prev]').style.visibility = i === 0 ? 'hidden' : 'visible';\r\n      refresh();\r\n    }\r\n    sheet.addEventListener('click', function (e) {\r\n      var q = e.target.closest('[data-q]');\r\n      if (q) { qty = Math.max(1, Math.min(20, qty + (+q.dataset.q))); refresh(); return; }\r\n      if (e.target.closest('[data-jump]')) { show(0, true); return; }\r\n    });\r\n    top.addEventListener('click', function (e) {\r\n      var ts = e.target.closest('.pk-tstep');\r\n      if (ts) show(+ts.dataset.step, +ts.dataset.step < cur);\r\n    });\r\n    $('[data-next]').addEventListener('click', function () {\r\n      if (cur === 0) { show(1); return; }\r\n      if (realBtn.disabled) return;\r\n      $('[data-next]').classList.add('is-loading');\r\n      realBtn.click();\r\n      setTimeout(function () { $('[data-next]').classList.remove('is-loading'); }, 4000);\r\n    });\r\n    $('[data-prev]').addEventListener('click', function () { show(0, true); });\r\n    show(0);\r\n    return true;\r\n  }\r\n\r\n  function attempt() {\r\n    if (document.querySelector('.pt-head[data-simple]')) {\r\n      var okS = false;\r\n      try { okS = buildSimple(); } catch (e) { document.documentElement.classList.add('pk-fail'); return; }\r\n      if (!okS && tries++ < 40) setTimeout(attempt, 250);\r\n      return;\r\n    }\r\n    var ok = false;\r\n    try { ok = build(); } catch (e) { document.documentElement.classList.add('pk-fail'); return; }\r\n    if (ok) return;\r\n    tries++;\r\n    if (tries < 90) setTimeout(attempt, 250);\r\n    else document.documentElement.classList.add('pk-fail');\r\n  }\r\n\r\n  if (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', attempt);\r\n  } else {\r\n    attempt();\r\n  }\r\n})();\r\n"],
  "mappings": "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",
  "names": ["kind", "L", "sub"]
}
