{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/tb-m-find.js?x=1794560346127"],
  "sourcesContent": ["/* Toybox phone search screen (up to 749px), from the mobile search design: recent, trending, categories and brands,\n   then Shopify predictive search with typo correction (assets/tb-m-fix.js), Add + / \u2212 1 + and product cards.\n   Opens from the home search bar, the header search button and /search links. Styles: assets/tb-m-find.css.\n   window.TbFindMode changes it for one page (the vault: assets/tb-m-find-vault.js). */\n(() => {\n  if (window.TbFind) return;\n  const phone = window.matchMedia('(max-width: 749px)');\n  let D = {};\n  try { D = JSON.parse(document.getElementById('tb-find-data').textContent); } catch (e) {}\n  const M = () => window.TbFindMode || {};\n  const esc = (s) => String(s == null ? '' : s).replace(/[&<>\"]/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;' }[c]));\n  const norm = (s) => String(s || '').toLowerCase().replace(/\\s+/g, ' ').trim();\n  const inr = (p) => { const r = typeof p === 'string' ? parseFloat(p.replace(/,/g, '')) : (p || 0) / 100; return '\u20B9' + r.toLocaleString('en-IN', { maximumFractionDigits: r % 1 ? 2 : 0 }); };\n  const pic = (u, w) => (u ? (u.indexOf('//') === 0 ? 'https:' + u : u) + (u.indexOf('?') > -1 ? '&' : '?') + 'width=' + w : '');\n  const recent = { get: () => { try { return JSON.parse(localStorage.getItem(M().recentKey || 'tb-recent-search')) || []; } catch (e) { return []; } }, set: (l) => { try { localStorage.setItem(M().recentKey || 'tb-recent-search', JSON.stringify(l.slice(0, 6))); } catch (e) {} } };\n  const remember = (q) => { q = String(q || '').trim(); if (q) recent.set([q].concat(recent.get().filter((x) => norm(x) !== norm(q)))); };\n  const allUrl = (q) => (D.search || '/search') + '?q=' + encodeURIComponent(q) + '&type=product&options%5Bprefix%5D=last&options%5Bunavailable_products%5D=last';\n  const sv = (d, w, sw, col) => '<svg width=\"' + w + '\" height=\"' + w + '\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"' + (col || 'currentColor') + '\" stroke-width=\"' + sw + '\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">' + d + '</svg>';\n  const I = {\n    back: sv('<path d=\"M15 5l-7 7 7 7\"/>', 22, 2.2), mag: sv('<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"M20 20l-3.5-3.5\"/>', 20, 2.2, '#4A5578'),\n    x: sv('<path d=\"M6 6l12 12M18 6L6 18\"/>', 12, 3.2), xs: sv('<path d=\"M6 6l12 12M18 6L6 18\"/>', 16, 2.4), clock: sv('<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 7v5l3 2\"/>', 18, 2, '#7A84A3'),\n    trend: sv('<path d=\"M3 17l6-6 4 4 8-8\"/><path d=\"M15 7h6v6\"/>', 15, 2.4, '#1E4FD8'), sm: sv('<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"M20 20l-3.5-3.5\"/>', 18, 2.2, '#7A84A3'),\n    fill: sv('<path d=\"M17 17L7 7M7 15V7h8\"/>', 18, 2.2), chev: sv('<path d=\"M9 6l6 6-6 6\"/>', 14, 2.6), arrow: sv('<path d=\"M5 12h14M13 6l6 6-6 6\"/>', 16, 2.6),\n    sad: sv('<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"M20 20l-3.5-3.5M8.5 9.5h.01M13.5 9.5h.01M8.5 13.5c1.4-1 3.6-1 5 0\"/>', 36, 2, '#1E4FD8'),\n    chat: sv('<path d=\"M4 20l1.3-3.9A8 8 0 1 1 8 19z\"/>', 18, 2), plus: sv('<path d=\"M12 5v14M5 12h14\"/>', 14, 3)\n  };\n\n  let el = null, inp = null, body = null, foot = null, q = '', timer = 0, ctl = null, pushed = false, products = [], raw = false, used = '';\n  const cache = new Map();\n  const $ = (s) => el.querySelector(s);\n\n  /* ---------- Screens ---------- */\n  const H = () => ({ esc, I, recent: recent.get() });\n  const startHTML = () => {\n    if (M().start) return M().start(H());\n    const r = recent.get();\n    let h = '<div class=\"sm-in sm-start\">';\n    if (r.length) h += '<section aria-labelledby=\"sm-rh\"><div class=\"sm-hrow\"><h2 id=\"sm-rh\">Recent searches</h2><button type=\"button\" data-sm=\"clear-recent\">Clear all</button></div><ul class=\"sm-recent\">' +\n      r.map((t) => '<li><button type=\"button\" data-sm=\"pick\" data-q=\"' + esc(t) + '\">' + I.clock + esc(t) + '</button><button type=\"button\" class=\"sm-rm\" data-sm=\"rm\" data-q=\"' + esc(t) + '\" aria-label=\"Remove ' + esc(t) + ' from recent searches\">' + I.xs + '</button></li>').join('') + '</ul></section>';\n    if ((D.trending || []).length) h += '<section aria-labelledby=\"sm-th\"><h2 id=\"sm-th\">Trending now</h2><div class=\"sm-chips\">' + D.trending.map((t) => '<button type=\"button\" data-sm=\"pick\" data-q=\"' + esc(t) + '\">' + I.trend + esc(t) + '</button>').join('') + '</div></section>';\n    if ((D.cats || []).length) h += '<section aria-labelledby=\"sm-ch\"><h2 id=\"sm-ch\">Shop by category</h2><div class=\"sm-cats\">' + D.cats.map((c) => '<a href=\"' + esc(c.u) + '\"><span style=\"background:' + esc(c.r) + ';border-color:' + esc(c.r) + '\">' + (c.i ? '<img src=\"' + esc(c.i) + '\" alt=\"\" loading=\"lazy\">' : '') + '</span>' + esc(c.t) + '</a>').join('') + '</div></section>';\n    if ((D.brands || []).length) h += '<section aria-labelledby=\"sm-bh\" class=\"sm-brands\"><div class=\"sm-hrow\"><h2 id=\"sm-bh\">Popular brands</h2><a href=\"' + esc(D.brandsUrl || '/pages/all-brands') + '\">All brands</a></div><div class=\"sm-row\">' + D.brands.map((b) => '<button type=\"button\" data-sm=\"pick\" data-q=\"' + esc(b) + '\">' + esc(b) + '</button>').join('') + '</div></section>';\n    return h + '</div>';\n  };\n  const hl = (text, term) => {\n    const t = String(text), i = norm(t).indexOf(norm(term));\n    if (!term || i < 0) return esc(t);\n    return '<span>' + esc(t.slice(0, i)) + '</span><strong>' + esc(t.slice(i, i + term.trim().length)) + '</strong><span>' + esc(t.slice(i + term.trim().length)) + '</span>';\n  };\n  const resultsHTML = (res, term, from) => {\n    const qs = (res.queries || []).filter((x) => norm(x.text) !== norm(term)).slice(0, 4);\n    const cols = (res.collections || []).slice(0, 3);\n    products = (res.products || []).filter((p) => !(p.tags || []).some((t) => String(t).toLowerCase() === 'hidden'));\n    products = (M().pick ? M().pick(products) : products).slice(0, 8);\n    if (!products.length && !qs.length && !cols.length) return noneHTML(term);\n    let h = '<div class=\"sm-in\">' + (from ? '<p class=\"sm-fixed\" role=\"status\">Showing results for <strong>' + esc(term) + '</strong>. <button type=\"button\" data-sm=\"raw\">Search \u201C' + esc(from) + '\u201D instead</button></p>' : '');\n    if (qs.length) h += '<ul class=\"sm-sugg\" aria-label=\"Suggestions\">' + qs.map((s) => '<li><button type=\"button\" data-sm=\"pick\" data-q=\"' + esc(s.text) + '\">' + I.sm + '<span class=\"sm-st\">' + hl(s.text, term) + '</span></button>' +\n      '<button type=\"button\" class=\"sm-fill\" data-sm=\"fill\" data-q=\"' + esc(s.text) + '\" aria-label=\"Use \u201C' + esc(s.text) + '\u201D in the search box\">' + I.fill + '</button></li>').join('') + '</ul>';\n    if (cols.length) h += '<div class=\"sm-row sm-cols\">' + cols.map((c) => '<a href=\"' + esc(c.url) + '\">In ' + esc(c.title) + I.chev + '</a>').join('') + '</div>';\n    if (products.length) {\n      h += '<section class=\"sm-res\" aria-labelledby=\"sm-resh\"><h2 id=\"sm-resh\" aria-live=\"polite\">Top matches for \u201C' + esc(term) + '\u201D</h2><ul>' + products.map((p, i) => {\n        const vs = p.variants || [], v = vs.find((x) => x.available) || vs[0], img = p.featured_image && p.featured_image.url ? p.featured_image.url : p.image;\n        const vault = (p.tags || []).some((t) => String(t).toLowerCase() === 'vault');\n        const act = !p.available || !v ? '<span class=\"sm-out\">Sold out</span>'\n          : vs.length > 1 ? '<a class=\"sm-opt\" href=\"' + esc(p.url) + '\" data-sm=\"prod\" data-i=\"' + i + '\">Options</a>'\n          : '<tb-add-to-cart class=\"sm-add\"><form action=\"/cart/add\" method=\"post\"><input type=\"hidden\" name=\"id\" value=\"' + v.id + '\"><input type=\"hidden\" name=\"quantity\" value=\"1\"><button type=\"submit\" class=\"sm-addbtn\" aria-label=\"Add ' + esc(p.title) + ' to cart\">Add' + I.plus + '</button></form></tb-add-to-cart>';\n        return '<li><a class=\"sm-img\" href=\"' + esc(p.url) + '\" data-sm=\"prod\" data-i=\"' + i + '\" aria-label=\"' + esc(p.title) + '\">' + (img ? '<img src=\"' + esc(pic(img, 160)) + '\" alt=\"\" loading=\"lazy\">' : '') + '</a>' +\n          '<a class=\"sm-info\" href=\"' + esc(p.url) + '\" data-sm=\"prod\" data-i=\"' + i + '\"><span class=\"sm-brand\">' + esc(p.vendor || '') + (vault ? '<i>Vault</i>' : '') + '</span><span class=\"sm-name\">' + esc(p.title) + '</span><strong>' + inr(p.price) + '</strong></a>' + act + '</li>';\n      }).join('') + '</ul></section>';\n    }\n    return h + '</div>';\n  };\n  const noneHTML = (term) => {\n    if (M().none) return M().none(term, H());\n    const wa = D.wa ? 'https://wa.me/' + D.wa + '?text=' + encodeURIComponent('Hi Toybox, I am looking for: ' + term) : '/pages/contact';\n    return '<div class=\"sm-in sm-none\" role=\"status\"><span>' + I.sad + '</span><h2>No toys match \u201C' + esc(term) + '\u201D yet</h2><p>Check the spelling, or try a brand or category. Can\u2019t find it? Tell us and we\u2019ll try to get it in.</p>' +\n      '<div class=\"sm-chips\">' + (D.trending || []).slice(0, 4).map((t) => '<button type=\"button\" data-sm=\"pick\" data-q=\"' + esc(t) + '\">' + esc(t) + '</button>').join('') + '</div>' +\n      '<a class=\"sm-wa\" href=\"' + esc(wa) + '\"' + (D.wa ? ' target=\"_blank\" rel=\"noopener\"' : '') + '>' + I.chat + 'Ask us on WhatsApp</a><a class=\"sm-allt\" href=\"' + esc(D.all || '/collections/all') + '\">Browse all toys</a></div>';\n  };\n  const draw = (html, withFoot) => {\n    body.innerHTML = html;\n    body.scrollTop = 0;\n    foot.hidden = !withFoot;\n    if (withFoot) $('.sm-all').href = allUrl(used || q.trim());\n    el.classList.toggle('has-foot', !!withFoot);\n    document.dispatchEvent(new CustomEvent('tb:cards-added'));\n  };\n\n  /* ---------- Searching ---------- */\n  const search = () => {\n    const term = q.trim();\n    $('.sm-clear').hidden = !q;\n    clearTimeout(timer);\n    if (!term) { if (ctl) ctl.abort(); used = ''; draw(startHTML(), false); return; }\n    const key = norm(term);\n    const get = async (t) => {\n      const k = norm(t);\n      if (cache.has(k)) return cache.get(k);\n      const url = (D.search || '/search') + '/suggest.json?q=' + encodeURIComponent(t) + '&resources%5Btype%5D=product,collection,query&resources%5Blimit%5D=10&resources%5Blimit_scope%5D=each&resources%5Boptions%5D%5Bunavailable_products%5D=last&resources%5Boptions%5D%5Bfields%5D=title,product_type,variants.title,vendor,tag';\n      const j = await fetch(url, { signal: ctl.signal, credentials: 'same-origin' }).then((r) => r.json());\n      const res = (j.resources && j.resources.results) || {};\n      cache.set(k, res);\n      return res;\n    };\n    timer = setTimeout(async () => {\n      if (ctl) ctl.abort();\n      ctl = new AbortController();\n      el.classList.add('is-busy');\n      try {\n        let res = await get(term), from = null;\n        used = term;\n        // Nothing found: try the corrected spelling (assets/tb-m-fix.js), unless the shopper asked for their own words.\n        const fx = !raw && !(res.products || []).length && window.TbFix ? window.TbFix.fix(term) : null;\n        if (fx && norm(fx) !== key) { const r2 = await get(fx); if ((r2.products || []).length) { res = r2; from = term; used = fx; } }\n        if (el && norm(q.trim()) === key) draw(resultsHTML(res, used, from), (res.products || []).length > 0);\n      } catch (e) { if (e.name !== 'AbortError' && el) draw(noneHTML(term), false); }\n      finally { el && el.classList.remove('is-busy'); }\n    }, cache.has(key) ? 0 : 160);\n  };\n  const setQ = (v, focus) => { q = v; inp.value = v; search(); if (focus) inp.focus({ preventScroll: true }); };\n\n  /* ---------- Open and close ---------- */\n  const open = (start) => {\n    if (el) { inp.focus(); return; }\n    el = document.createElement('div');\n    el.className = 'sm' + (M().cls ? ' ' + M().cls : '');\n    el.setAttribute('role', 'dialog');\n    el.setAttribute('aria-modal', 'true');\n    el.setAttribute('aria-label', 'Search');\n    el.innerHTML = '<form class=\"sm-bar\" role=\"search\" action=\"' + esc(D.search || '/search') + '\"><button type=\"button\" class=\"sm-back\" data-sm=\"close\" aria-label=\"Back\">' + I.back + '</button>' +\n      '<div class=\"sm-field\">' + I.mag + '<label for=\"sm-q\" class=\"tb-sr\">Search the store</label><input id=\"sm-q\" type=\"search\" name=\"q\" enterkeyhint=\"search\" autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\" placeholder=\"' + esc(M().placeholder || 'Search LEGO, Hot Wheels, CATAN\u2026') + '\">' +\n      '<button type=\"button\" class=\"sm-clear\" data-sm=\"clearq\" aria-label=\"Clear search\" hidden><span>' + I.x + '</span></button></div></form>' +\n      '<div class=\"sm-body\"></div><div class=\"sm-foot\" hidden><a class=\"sm-all\" href=\"#\" data-sm=\"all\">See all results' + I.arrow + '</a></div>';\n    document.body.appendChild(el);\n    document.documentElement.classList.add('sm-lock');\n    inp = $('#sm-q'); body = $('.sm-body'); foot = $('.sm-foot');\n    inp.value = q = start || '';\n    inp.focus({ preventScroll: true });\n    search();\n    inp.addEventListener('input', () => { q = inp.value; raw = false; search(); });\n    $('.sm-bar').addEventListener('submit', (e) => { e.preventDefault(); const t = q.trim(); if (!t) return; remember(t); location.href = allUrl(norm(used) === norm(t) || !used ? t : used); });\n    el.addEventListener('click', onClick);\n    try { history.pushState({ tbSm: 1 }, ''); pushed = true; } catch (e) {}\n  };\n  const teardown = () => {\n    if (!el) return;\n    const r = el;\n    el = null; clearTimeout(timer); if (ctl) ctl.abort();\n    document.documentElement.classList.remove('sm-lock');\n    if (r.animate && !window.matchMedia('(prefers-reduced-motion: reduce)').matches) r.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 160, fill: 'forwards' }).finished.then(() => r.remove(), () => r.remove());\n    else r.remove();\n  };\n  const close = () => { if (pushed && history.state && history.state.tbSm) history.back(); else teardown(); pushed = false; };\n  window.addEventListener('popstate', () => { if (el && !(history.state && (history.state.tbSm || history.state.tbPv))) { pushed = false; teardown(); } });\n  document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && el && !(window.TbPv && window.TbPv.isOpen())) close(); });\n\n  const onClick = (e) => {\n    const t = e.target.closest('[data-sm]');\n    if (!t) return;\n    const a = t.dataset.sm;\n    if (a === 'close') { e.preventDefault(); close(); }\n    else if (a === 'clearq') setQ('', true);\n    else if (a === 'raw') { raw = true; used = q.trim(); search(); }\n    else if (a === 'pick') { remember(t.dataset.q); raw = false; setQ(t.dataset.q, false); inp.blur(); }\n    else if (a === 'fill') setQ(t.dataset.q + ' ', true);\n    else if (a === 'rm') { recent.set(recent.get().filter((x) => x !== t.dataset.q)); draw(startHTML(), false); }\n    else if (a === 'clear-recent') { recent.set([]); draw(startHTML(), false); }\n    else if (a === 'all') remember(q);\n    else if (a === 'prod') {\n      remember(q);\n      if (!window.TbPv) return;\n      e.preventDefault();\n      const i = +t.dataset.i, li = t.closest('li');\n      window.TbPv.open(products.map((p) => ({ url: p.url, title: p.title })), i, { opener: t, fromRect: (li.querySelector('.sm-img') || li).getBoundingClientRect() });\n    }\n  };\n\n  /* ---------- Triggers: the home search bar, the header search button, links to /search ---------- */\n  const isSearchLink = (a) => { try { const u = new URL(a.href, location.href); return u.origin === location.origin && /^\\/search\\/?$/.test(u.pathname) && !u.searchParams.get('q'); } catch (x) { return false; } };\n  document.addEventListener('focusin', (e) => {\n    if (!phone.matches || el) return;\n    const f = e.target.closest && e.target.closest('.tb-msearch input[type=\"search\"], .tb-search input[type=\"search\"]');\n    if (!f) return;\n    const v = f.value;\n    f.blur();\n    open(v);\n  });\n  document.addEventListener('click', (e) => {\n    if (!phone.matches || el || e.defaultPrevented) return;\n    const a = e.target.closest('a[href]');\n    let hit = a && isSearchLink(a) && !a.closest('.sm');\n    if (!hit) { try { hit = !!e.target.closest('[on\\\\:click*=\"search-modal\"], search-button, .header__search-button, [data-tb-search-open]'); } catch (x) {} }\n    if (!hit) return;\n    e.preventDefault();\n    e.stopPropagation();\n    open('');\n  }, true);\n\n  window.TbFind = { open, close };\n})();"],
  "mappings": "CAIC,IAAM,CACL,GAAI,OAAO,OAAQ,OACnB,MAAM,MAAQ,OAAO,WAAW,oBAAoB,EACpD,IAAI,EAAI,CAAC,EACT,GAAI,CAAE,EAAI,KAAK,MAAM,SAAS,eAAe,cAAc,EAAE,WAAW,CAAG,MAAY,CAAC,CACxF,MAAM,EAAI,IAAM,OAAO,YAAc,CAAC,EAChC,IAAO,GAAM,OAAO,GAAY,EAAM,EAAE,QAAQ,UAAY,IAAO,CAAE,IAAK,QAAS,IAAK,OAAQ,IAAK,OAAQ,IAAK,QAAS,GAAE,CAAC,CAAE,EAChI,KAAQ,GAAM,OAAO,GAAK,EAAE,EAAE,YAAY,EAAE,QAAQ,OAAQ,GAAG,EAAE,KAAK,EACtE,IAAO,GAAM,CAAE,MAAM,EAAI,OAAO,GAAM,SAAW,WAAW,EAAE,QAAQ,KAAM,EAAE,CAAC,GAAK,GAAK,GAAK,IAAK,MAAO,SAAM,EAAE,eAAe,QAAS,CAAE,sBAAuB,EAAI,EAAI,EAAI,CAAE,CAAC,CAAG,EACrL,IAAM,CAAC,EAAG,IAAO,GAAK,EAAE,QAAQ,IAAI,IAAM,EAAI,SAAW,EAAI,IAAM,EAAE,QAAQ,GAAG,EAAI,GAAK,IAAM,KAAO,SAAW,EAAI,GACrH,OAAS,CAAE,IAAK,IAAM,CAAE,GAAI,CAAE,OAAO,KAAK,MAAM,aAAa,QAAQ,EAAE,EAAE,WAAa,kBAAkB,CAAC,GAAK,CAAC,CAAG,MAAY,CAAE,MAAO,CAAC,CAAG,CAAE,EAAG,IAAM,GAAM,CAAE,GAAI,CAAE,aAAa,QAAQ,EAAE,EAAE,WAAa,mBAAoB,KAAK,UAAU,EAAE,MAAM,EAAG,CAAC,CAAC,CAAC,CAAG,MAAY,CAAC,CAAE,CAAE,EAC/Q,SAAYA,IAAM,CAAEA,GAAI,OAAOA,IAAK,EAAE,EAAE,KAAK,EAAOA,IAAG,OAAO,IAAI,CAACA,EAAC,EAAE,OAAO,OAAO,IAAI,EAAE,OAAQ,GAAM,KAAK,CAAC,IAAM,KAAKA,EAAC,CAAC,CAAC,CAAC,CAAG,EAChI,OAAUA,KAAO,EAAE,QAAU,WAAa,MAAQ,mBAAmBA,EAAC,EAAI,gFAC1E,GAAK,CAAC,EAAG,EAAG,GAAI,MAAQ,eAAiB,EAAI,aAAe,EAAI,8CAAgD,KAAO,gBAAkB,mBAAqB,GAAK,uEAAyE,EAAI,SAChP,EAAI,CACR,KAAM,GAAG,6BAA8B,GAAI,GAAG,EAAG,IAAK,GAAG,6DAA8D,GAAI,IAAK,SAAS,EACzI,EAAG,GAAG,mCAAoC,GAAI,GAAG,EAAG,GAAI,GAAG,mCAAoC,GAAI,GAAG,EAAG,MAAO,GAAG,yDAA0D,GAAI,EAAG,SAAS,EAC7L,MAAO,GAAG,qDAAsD,GAAI,IAAK,SAAS,EAAG,GAAI,GAAG,6DAA8D,GAAI,IAAK,SAAS,EAC5K,KAAM,GAAG,kCAAmC,GAAI,GAAG,EAAG,KAAM,GAAG,2BAA4B,GAAI,GAAG,EAAG,MAAO,GAAG,oCAAqC,GAAI,GAAG,EAC3J,IAAK,GAAG,+GAAgH,GAAI,EAAG,SAAS,EACxI,KAAM,GAAG,4CAA6C,GAAI,CAAC,EAAG,KAAM,GAAG,+BAAgC,GAAI,CAAC,CAC9G,EAEA,IAAI,GAAK,KAAM,IAAM,KAAM,KAAO,KAAM,KAAO,KAAM,EAAI,GAAI,MAAQ,EAAG,IAAM,KAAM,OAAS,GAAO,SAAW,CAAC,EAAG,IAAM,GAAO,KAAO,GACvI,MAAM,MAAQ,IAAI,IACZ,EAAK,GAAM,GAAG,cAAc,CAAC,EAG7B,EAAI,KAAO,CAAE,IAAK,EAAG,OAAQ,OAAO,IAAI,CAAE,GAC1C,UAAY,IAAM,CACtB,GAAI,EAAE,EAAE,MAAO,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EACnC,MAAM,EAAI,OAAO,IAAI,EACrB,IAAI,EAAI,+BACR,OAAI,EAAE,SAAQ,GAAK,uLACjB,EAAE,IAAK,GAAM,oDAAsD,IAAI,CAAC,EAAI,KAAO,EAAE,MAAQ,IAAI,CAAC,EAAI,qEAAuE,IAAI,CAAC,EAAI,wBAA0B,IAAI,CAAC,EAAI,0BAA4B,EAAE,GAAK,gBAAgB,EAAE,KAAK,EAAE,EAAI,oBACtR,EAAE,UAAY,CAAC,GAAG,SAAQ,GAAK,0FAA4F,EAAE,SAAS,IAAK,GAAM,gDAAkD,IAAI,CAAC,EAAI,KAAO,EAAE,MAAQ,IAAI,CAAC,EAAI,WAAW,EAAE,KAAK,EAAE,EAAI,qBAC9P,EAAE,MAAQ,CAAC,GAAG,SAAQ,GAAK,6FAA+F,EAAE,KAAK,IAAK,GAAM,YAAc,IAAI,EAAE,CAAC,EAAI,6BAA+B,IAAI,EAAE,CAAC,EAAI,iBAAmB,IAAI,EAAE,CAAC,EAAI,MAAQ,EAAE,EAAI,aAAe,IAAI,EAAE,CAAC,EAAI,2BAA6B,IAAM,UAAY,IAAI,EAAE,CAAC,EAAI,MAAM,EAAE,KAAK,EAAE,EAAI,qBAClW,EAAE,QAAU,CAAC,GAAG,SAAQ,GAAK,sHAAwH,IAAI,EAAE,WAAa,mBAAmB,EAAI,6CAA+C,EAAE,OAAO,IAAK,GAAM,gDAAkD,IAAI,CAAC,EAAI,KAAO,IAAI,CAAC,EAAI,WAAW,EAAE,KAAK,EAAE,EAAI,oBACnW,EAAI,QACb,EACM,GAAK,CAAC,KAAM,OAAS,CACzB,MAAM,EAAI,OAAO,IAAI,EAAG,EAAI,KAAK,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC,EACtD,MAAI,CAAC,MAAQ,EAAI,EAAU,IAAI,CAAC,EACzB,SAAW,IAAI,EAAE,MAAM,EAAG,CAAC,CAAC,EAAI,kBAAoB,IAAI,EAAE,MAAM,EAAG,EAAI,KAAK,KAAK,EAAE,MAAM,CAAC,EAAI,kBAAoB,IAAI,EAAE,MAAM,EAAI,KAAK,KAAK,EAAE,MAAM,CAAC,EAAI,SAClK,EACM,YAAc,CAAC,IAAK,KAAM,OAAS,CACvC,MAAM,IAAM,IAAI,SAAW,CAAC,GAAG,OAAQ,GAAM,KAAK,EAAE,IAAI,IAAM,KAAK,IAAI,CAAC,EAAE,MAAM,EAAG,CAAC,EAC9E,MAAQ,IAAI,aAAe,CAAC,GAAG,MAAM,EAAG,CAAC,EAG/C,GAFA,UAAY,IAAI,UAAY,CAAC,GAAG,OAAQ,GAAM,EAAE,EAAE,MAAQ,CAAC,GAAG,KAAM,GAAM,OAAO,CAAC,EAAE,YAAY,IAAM,QAAQ,CAAC,EAC/G,UAAY,EAAE,EAAE,KAAO,EAAE,EAAE,KAAK,QAAQ,EAAI,UAAU,MAAM,EAAG,CAAC,EAC5D,CAAC,SAAS,QAAU,CAAC,GAAG,QAAU,CAAC,KAAK,OAAQ,OAAO,SAAS,IAAI,EACxE,IAAI,EAAI,uBAAyB,KAAO,iEAAmE,IAAI,IAAI,EAAI,+DAA4D,IAAI,IAAI,EAAI,8BAA2B,IAC1N,OAAI,GAAG,SAAQ,GAAK,gDAAkD,GAAG,IAAK,GAAM,oDAAsD,IAAI,EAAE,IAAI,EAAI,KAAO,EAAE,GAAK,uBAAyB,GAAG,EAAE,KAAM,IAAI,EAAI,gFAC9I,IAAI,EAAE,IAAI,EAAI,2BAAwB,IAAI,EAAE,IAAI,EAAI,6BAA0B,EAAE,KAAO,gBAAgB,EAAE,KAAK,EAAE,EAAI,SACpL,KAAK,SAAQ,GAAK,+BAAiC,KAAK,IAAK,GAAM,YAAc,IAAI,EAAE,GAAG,EAAI,QAAU,IAAI,EAAE,KAAK,EAAI,EAAE,KAAO,MAAM,EAAE,KAAK,EAAE,EAAI,UACnJ,SAAS,SACX,GAAK,+GAA4G,IAAI,IAAI,EAAI,kBAAe,SAAS,IAAI,CAAC,EAAG,IAAM,CACjK,MAAM,GAAK,EAAE,UAAY,CAAC,EAAG,EAAI,GAAG,KAAM,GAAM,EAAE,SAAS,GAAK,GAAG,CAAC,EAAG,IAAM,EAAE,gBAAkB,EAAE,eAAe,IAAM,EAAE,eAAe,IAAM,EAAE,MAC3I,OAAS,EAAE,MAAQ,CAAC,GAAG,KAAM,GAAM,OAAO,CAAC,EAAE,YAAY,IAAM,OAAO,EACtE,IAAM,CAAC,EAAE,WAAa,CAAC,EAAI,uCAC7B,GAAG,OAAS,EAAI,2BAA6B,IAAI,EAAE,GAAG,EAAI,4BAA8B,EAAI,gBAC5F,+GAAiH,EAAE,GAAK,4GAA8G,IAAI,EAAE,KAAK,EAAI,gBAAkB,EAAE,KAAO,oCACpR,MAAO,+BAAiC,IAAI,EAAE,GAAG,EAAI,4BAA8B,EAAI,iBAAmB,IAAI,EAAE,KAAK,EAAI,MAAQ,IAAM,aAAe,IAAI,IAAI,IAAK,GAAG,CAAC,EAAI,2BAA6B,IAAM,gCAC9K,IAAI,EAAE,GAAG,EAAI,4BAA8B,EAAI,4BAA8B,IAAI,EAAE,QAAU,EAAE,GAAK,MAAQ,eAAiB,IAAM,gCAAkC,IAAI,EAAE,KAAK,EAAI,kBAAoB,IAAI,EAAE,KAAK,EAAI,gBAAkB,IAAM,OACjR,CAAC,EAAE,KAAK,EAAE,EAAI,mBAET,EAAI,QACb,EACM,SAAY,MAAS,CACzB,GAAI,EAAE,EAAE,KAAM,OAAO,EAAE,EAAE,KAAK,KAAM,EAAE,CAAC,EACvC,MAAM,GAAK,EAAE,GAAK,iBAAmB,EAAE,GAAK,SAAW,mBAAmB,gCAAkC,IAAI,EAAI,iBACpH,MAAO,kDAAoD,EAAE,IAAM,kCAA+B,IAAI,IAAI,EAAI,4JAChF,EAAE,UAAY,CAAC,GAAG,MAAM,EAAG,CAAC,EAAE,IAAK,GAAM,gDAAkD,IAAI,CAAC,EAAI,KAAO,IAAI,CAAC,EAAI,WAAW,EAAE,KAAK,EAAE,EAAI,gCAC5I,IAAI,EAAE,EAAI,KAAO,EAAE,GAAK,kCAAoC,IAAM,IAAM,EAAE,KAAO,kDAAoD,IAAI,EAAE,KAAO,kBAAkB,EAAI,6BACxM,EACM,KAAO,CAAC,KAAM,WAAa,CAC/B,KAAK,UAAY,KACjB,KAAK,UAAY,EACjB,KAAK,OAAS,CAAC,SACX,WAAU,EAAE,SAAS,EAAE,KAAO,OAAO,MAAQ,EAAE,KAAK,CAAC,GACzD,GAAG,UAAU,OAAO,WAAY,CAAC,CAAC,QAAQ,EAC1C,SAAS,cAAc,IAAI,YAAY,gBAAgB,CAAC,CAC1D,EAGM,OAAS,IAAM,CACnB,MAAM,KAAO,EAAE,KAAK,EAGpB,GAFA,EAAE,WAAW,EAAE,OAAS,CAAC,EACzB,aAAa,KAAK,EACd,CAAC,KAAM,CAAM,KAAK,IAAI,MAAM,EAAG,KAAO,GAAI,KAAK,UAAU,EAAG,EAAK,EAAG,MAAQ,CAChF,MAAM,IAAM,KAAK,IAAI,EACf,IAAM,MAAO,GAAM,CACvB,MAAM,EAAI,KAAK,CAAC,EAChB,GAAI,MAAM,IAAI,CAAC,EAAG,OAAO,MAAM,IAAI,CAAC,EACpC,MAAM,KAAO,EAAE,QAAU,WAAa,mBAAqB,mBAAmB,CAAC,EAAI,8OAC7E,EAAI,MAAM,MAAM,IAAK,CAAE,OAAQ,IAAI,OAAQ,YAAa,aAAc,CAAC,EAAE,KAAM,GAAM,EAAE,KAAK,CAAC,EAC7F,IAAO,EAAE,WAAa,EAAE,UAAU,SAAY,CAAC,EACrD,aAAM,IAAI,EAAG,GAAG,EACT,GACT,EACA,MAAQ,WAAW,SAAY,CACzB,KAAK,IAAI,MAAM,EACnB,IAAM,IAAI,gBACV,GAAG,UAAU,IAAI,SAAS,EAC1B,GAAI,CACF,IAAI,IAAM,MAAM,IAAI,IAAI,EAAG,KAAO,KAClC,KAAO,KAEP,MAAM,GAAK,CAAC,KAAO,EAAE,IAAI,UAAY,CAAC,GAAG,QAAU,OAAO,MAAQ,OAAO,MAAM,IAAI,IAAI,EAAI,KAC3F,GAAI,IAAM,KAAK,EAAE,IAAM,IAAK,CAAE,MAAM,GAAK,MAAM,IAAI,EAAE,GAAQ,GAAG,UAAY,CAAC,GAAG,SAAU,IAAM,GAAI,KAAO,KAAM,KAAO,GAAM,CAC1H,IAAM,KAAK,EAAE,KAAK,CAAC,IAAM,KAAK,KAAK,YAAY,IAAK,KAAM,IAAI,GAAI,IAAI,UAAY,CAAC,GAAG,OAAS,CAAC,CACtG,OAAS,EAAG,CAAM,EAAE,OAAS,cAAgB,IAAI,KAAK,SAAS,IAAI,EAAG,EAAK,CAAG,QAC9E,CAAU,IAAM,GAAG,UAAU,OAAO,SAAS,CAAG,CAClD,EAAG,MAAM,IAAI,GAAG,EAAI,EAAI,GAAG,CAC7B,EACM,KAAO,CAAC,EAAG,QAAU,CAAE,EAAI,EAAG,IAAI,MAAQ,EAAG,OAAO,EAAO,OAAO,IAAI,MAAM,CAAE,cAAe,EAAK,CAAC,CAAG,EAGtG,KAAQ,OAAU,CACtB,GAAI,GAAI,CAAE,IAAI,MAAM,EAAG,MAAQ,CAC/B,GAAK,SAAS,cAAc,KAAK,EACjC,GAAG,UAAY,MAAQ,EAAE,EAAE,IAAM,IAAM,EAAE,EAAE,IAAM,IACjD,GAAG,aAAa,OAAQ,QAAQ,EAChC,GAAG,aAAa,aAAc,MAAM,EACpC,GAAG,aAAa,aAAc,QAAQ,EACtC,GAAG,UAAY,8CAAgD,IAAI,EAAE,QAAU,SAAS,EAAI,6EAA+E,EAAE,KAAO,kCACvJ,EAAE,IAAM,iMAAmM,IAAI,EAAE,EAAE,aAAe,sCAAiC,EAAI,oGAC9L,EAAE,EAAI,+IACU,EAAE,MAAQ,aAChI,SAAS,KAAK,YAAY,EAAE,EAC5B,SAAS,gBAAgB,UAAU,IAAI,SAAS,EAChD,IAAM,EAAE,OAAO,EAAG,KAAO,EAAE,UAAU,EAAG,KAAO,EAAE,UAAU,EAC3D,IAAI,MAAQ,EAAI,OAAS,GACzB,IAAI,MAAM,CAAE,cAAe,EAAK,CAAC,EACjC,OAAO,EACP,IAAI,iBAAiB,QAAS,IAAM,CAAE,EAAI,IAAI,MAAO,IAAM,GAAO,OAAO,CAAG,CAAC,EAC7E,EAAE,SAAS,EAAE,iBAAiB,SAAW,GAAM,CAAE,EAAE,eAAe,EAAG,MAAM,EAAI,EAAE,KAAK,EAAQ,IAAW,SAAS,CAAC,EAAG,SAAS,KAAO,OAAO,KAAK,IAAI,IAAM,KAAK,CAAC,GAAK,CAAC,KAAO,EAAI,IAAI,EAAG,CAAC,EAC3L,GAAG,iBAAiB,QAAS,OAAO,EACpC,GAAI,CAAE,QAAQ,UAAU,CAAE,KAAM,CAAE,EAAG,EAAE,EAAG,OAAS,EAAM,MAAY,CAAC,CACxE,EACM,SAAW,IAAM,CACrB,GAAI,CAAC,GAAI,OACT,MAAM,EAAI,GACV,GAAK,KAAM,aAAa,KAAK,EAAO,KAAK,IAAI,MAAM,EACnD,SAAS,gBAAgB,UAAU,OAAO,SAAS,EAC/C,EAAE,SAAW,CAAC,OAAO,WAAW,kCAAkC,EAAE,QAAS,EAAE,QAAQ,CAAC,CAAE,QAAS,CAAE,EAAG,CAAE,QAAS,CAAE,CAAC,EAAG,CAAE,SAAU,IAAK,KAAM,UAAW,CAAC,EAAE,SAAS,KAAK,IAAM,EAAE,OAAO,EAAG,IAAM,EAAE,OAAO,CAAC,EAC7M,EAAE,OAAO,CAChB,EACM,MAAQ,IAAM,CAAM,QAAU,QAAQ,OAAS,QAAQ,MAAM,KAAM,QAAQ,KAAK,EAAQ,SAAS,EAAG,OAAS,EAAO,EAC1H,OAAO,iBAAiB,WAAY,IAAM,CAAM,IAAM,EAAE,QAAQ,QAAU,QAAQ,MAAM,MAAQ,QAAQ,MAAM,SAAU,OAAS,GAAO,SAAS,EAAK,CAAC,EACvJ,SAAS,iBAAiB,UAAY,GAAM,CAAM,EAAE,MAAQ,UAAY,IAAM,EAAE,OAAO,MAAQ,OAAO,KAAK,OAAO,IAAI,MAAM,CAAG,CAAC,EAEhI,MAAM,QAAW,GAAM,CACrB,MAAM,EAAI,EAAE,OAAO,QAAQ,WAAW,EACtC,GAAI,CAAC,EAAG,OACR,MAAM,EAAI,EAAE,QAAQ,GACpB,GAAI,IAAM,QAAW,EAAE,eAAe,EAAG,MAAM,UACtC,IAAM,SAAU,KAAK,GAAI,EAAI,UAC7B,IAAM,MAAS,IAAM,GAAM,KAAO,EAAE,KAAK,EAAG,OAAO,UACnD,IAAM,OAAU,SAAS,EAAE,QAAQ,CAAC,EAAG,IAAM,GAAO,KAAK,EAAE,QAAQ,EAAG,EAAK,EAAG,IAAI,KAAK,UACvF,IAAM,OAAQ,KAAK,EAAE,QAAQ,EAAI,IAAK,EAAI,UAC1C,IAAM,KAAQ,OAAO,IAAI,OAAO,IAAI,EAAE,OAAQ,GAAM,IAAM,EAAE,QAAQ,CAAC,CAAC,EAAG,KAAK,UAAU,EAAG,EAAK,UAChG,IAAM,eAAkB,OAAO,IAAI,CAAC,CAAC,EAAG,KAAK,UAAU,EAAG,EAAK,UAC/D,IAAM,MAAO,SAAS,CAAC,UACvB,IAAM,OAAQ,CAErB,GADA,SAAS,CAAC,EACN,CAAC,OAAO,KAAM,OAClB,EAAE,eAAe,EACjB,MAAM,EAAI,CAAC,EAAE,QAAQ,EAAG,GAAK,EAAE,QAAQ,IAAI,EAC3C,OAAO,KAAK,KAAK,SAAS,IAAK,IAAO,CAAE,IAAK,EAAE,IAAK,MAAO,EAAE,KAAM,EAAE,EAAG,EAAG,CAAE,OAAQ,EAAG,UAAW,GAAG,cAAc,SAAS,GAAK,IAAI,sBAAsB,CAAE,CAAC,CACjK,CACF,EAGM,aAAgB,GAAM,CAAE,GAAI,CAAE,MAAM,EAAI,IAAI,IAAI,EAAE,KAAM,SAAS,IAAI,EAAG,OAAO,EAAE,SAAW,SAAS,QAAU,gBAAgB,KAAK,EAAE,QAAQ,GAAK,CAAC,EAAE,aAAa,IAAI,GAAG,CAAG,MAAY,CAAE,MAAO,EAAO,CAAE,EACjN,SAAS,iBAAiB,UAAY,GAAM,CAC1C,GAAI,CAAC,MAAM,SAAW,GAAI,OAC1B,MAAM,EAAI,EAAE,OAAO,SAAW,EAAE,OAAO,QAAQ,mEAAmE,EAClH,GAAI,CAAC,EAAG,OACR,MAAM,EAAI,EAAE,MACZ,EAAE,KAAK,EACP,KAAK,CAAC,CACR,CAAC,EACD,SAAS,iBAAiB,QAAU,GAAM,CACxC,GAAI,CAAC,MAAM,SAAW,IAAM,EAAE,iBAAkB,OAChD,MAAM,EAAI,EAAE,OAAO,QAAQ,SAAS,EACpC,IAAI,IAAM,GAAK,aAAa,CAAC,GAAK,CAAC,EAAE,QAAQ,KAAK,EAClD,GAAI,CAAC,IAAO,GAAI,CAAE,IAAM,CAAC,CAAC,EAAE,OAAO,QAAQ,4FAA4F,CAAG,MAAY,CAAC,CAClJ,MACL,EAAE,eAAe,EACjB,EAAE,gBAAgB,EAClB,KAAK,EAAE,EACT,EAAG,EAAI,EAEP,OAAO,OAAS,CAAE,KAAM,KAAM,CAChC,GAAG",
  "names": ["q"]
}
