{
  "version": 3,
  "sources": ["/cdn/shop/t/27/assets/bg-self-hosted-designer-compat.js?codexProof=934a147a"],
  "sourcesContent": ["(function BGSelfHostedDesignerCompatV1() {\n  'use strict';\n\n  if (window.__BG_SELF_HOSTED_DESIGNER_COMPAT_V1__) return;\n  window.__BG_SELF_HOSTED_DESIGNER_COMPAT_V1__ = true;\n\n  var NATIVE_CTOR = window.PitchPrintClient;\n  var STYLES_INJECTED = false;\n  var OVERLAY_ID = 'bg-self-hosted-designer-overlay';\n  var DEFAULT_PROXY_ROOT = '/apps/qps-commerce-control-plane/designer';\n  var DEFAULT_FABRIC_VERSION = '7.2.0';\n  var BOGUNA_LEGACY_UI_PREVIEW_THEME_ID = '186222707000';\n  var LEGACY_PREVIEW_PLACEHOLDER_URL = 'https://boguna.com/cdn/shop/files/self-hosted-preview-1.png';\n  var LEGACY_FRAME_BLOCKED_URL = 'about:blank#bg-pitchprint-blocked';\n  var PPCLIENT_VALUE = window.ppclient;\n  var DESIGN_CATALOG_PROMISE = null;\n  var TEMPLATE_SOURCE_PROMISES = Object.create(null);\n  var PREFETCHED_STOREFRONT_V2_URLS = Object.create(null);\n  var STOREFRONT_V2_BOOTSTRAP_PROMISES = Object.create(null);\n  var STOREFRONT_SHELL_DOCUMENT_PROMISES = Object.create(null);\n  var STOREFRONT_SHELL_PROMISES = Object.create(null);\n  var STOREFRONT_RETURN_CONTEXT_STORAGE_KEY = 'bg-designer-return-context:v2';\n\n  function sanitizeText(value) {\n    return String(value || '').trim();\n  }\n\n  function sanitizeProjectId(value) {\n    var projectId = sanitizeText(value);\n    if (!projectId || projectId.toLowerCase() === 'unknown') return '';\n    return projectId;\n  }\n\n  function readStoredStorefrontReturnContext() {\n    try {\n      var raw = window.sessionStorage.getItem(STOREFRONT_RETURN_CONTEXT_STORAGE_KEY);\n      if (!raw) return null;\n      var parsed = JSON.parse(raw);\n      if (!parsed || typeof parsed !== 'object') return null;\n      var productPath = sanitizeText(parsed.productPath);\n      if (productPath && productPath !== String(window.location.pathname || '')) return null;\n      var projectId = sanitizeProjectId(parsed.projectId);\n      var designId = sanitizeText(parsed.designId);\n      var designNumber = sanitizeText(parsed.designNumber);\n      if (!projectId && !designId && !designNumber) return null;\n      return {\n        projectId: projectId,\n        designId: designId,\n        designNumber: designNumber,\n        designOnline: parsed.designOnline === true || sanitizeText(parsed.artworkMode).toLowerCase() === 'designonline',\n        artworkMode: sanitizeText(parsed.artworkMode) || 'designonline',\n        backer: sanitizeText(parsed.backer),\n        previewUrl: sanitizeText(parsed.previewUrl),\n        previews: Array.isArray(parsed.previews) ? parsed.previews : []\n      };\n    } catch (_) {\n      return null;\n    }\n  }\n\n  function writeStoredStorefrontReturnContext(context) {\n    if (!context || typeof context !== 'object') return false;\n    try {\n      window.sessionStorage.setItem(STOREFRONT_RETURN_CONTEXT_STORAGE_KEY, JSON.stringify(Object.assign({}, context, {\n        productPath: String(window.location.pathname || '')\n      })));\n      return true;\n    } catch (_) {\n      return false;\n    }\n  }\n\n  function isProductPage() {\n    return /^\\/products\\//i.test(String(window.location.pathname || ''));\n  }\n\n  function readCartDesignEditorCapability() {\n    try {\n      var params = new URLSearchParams(window.location.search || '');\n      var fromUrl = sanitizeText(params.get('bg_cart_design_editor')).toLowerCase().replace(/[\\s_]+/g, '-');\n      if (fromUrl === 'pitchprint-mini') return fromUrl;\n    } catch (_) {}\n    var direct = sanitizeText(window.BG_CART_DESIGN_EDITOR).toLowerCase().replace(/[\\s_]+/g, '-');\n    if (direct === 'pitchprint-mini') return direct;\n    try {\n      var configScript = document.querySelector('script[id^=\"bg-designer-storefront-config-\"]');\n      if (!configScript) return '';\n      var payload = JSON.parse(configScript.textContent || '{}');\n      var configured = sanitizeText(\n        payload && payload.cartDesignEditor\n        || payload && payload.designer && payload.designer.cartDesignEditor\n      ).toLowerCase().replace(/[\\s_]+/g, '-');\n      return configured === 'pitchprint-mini' ? configured : '';\n    } catch (_) {\n      return '';\n    }\n  }\n\n  function shouldUseSelfHostedDesigner() {\n    if (!isProductPage()) return false;\n    if (readCartDesignEditorCapability() === 'pitchprint-mini') return false;\n    var provider = sanitizeText(window.BG_DESIGNER_LAUNCH_PROVIDER || window.BG_DESIGNER_DEFAULT_PROVIDER).toLowerCase();\n    if (provider === 'self-hosted') return true;\n    if (window.BG_DESIGNER_SELF_HOSTED_PILOT === true) return true;\n    try {\n      var params = new URLSearchParams(window.location.search || '');\n      if (sanitizeText(params.get('launchProvider')).toLowerCase() === 'self-hosted') return true;\n      if (/^shp_[a-z0-9]+$/i.test(sanitizeText(params.get('projectId')))) return true;\n    } catch (_) {}\n    return false;\n  }\n\n  function isLegacyPitchPrintFrameUrl(value) {\n    var raw = sanitizeText(value);\n    if (!raw) return false;\n    try {\n      var absolute = new URL(raw, window.location.origin).toString();\n      return /^https:\\/\\/pitchprint\\.io\\/x\\/index\\.html(?:[?#]|$)/i.test(absolute);\n    } catch (_) {\n      return /pitchprint\\.io\\/x\\/index\\.html/i.test(raw);\n    }\n  }\n\n  function neutralizeLegacyPitchPrintFrame(frame, reason) {\n    if (!frame || frame.__bgLegacyPitchPrintBlocked) return frame;\n    frame.__bgLegacyPitchPrintBlocked = true;\n\n    try { frame.setAttribute('data-bg-legacy-pitchprint-blocked', sanitizeText(reason) || 'blocked'); } catch (_) {}\n    try { frame.setAttribute('aria-hidden', 'true'); } catch (_) {}\n    try { frame.tabIndex = -1; } catch (_) {}\n    try { frame.style.setProperty('display', 'none', 'important'); } catch (_) {}\n    try { frame.style.setProperty('visibility', 'hidden', 'important'); } catch (_) {}\n    try { frame.style.setProperty('pointer-events', 'none', 'important'); } catch (_) {}\n\n    try {\n      frame.setAttribute('src', LEGACY_FRAME_BLOCKED_URL);\n    } catch (_) {\n      try { frame.src = LEGACY_FRAME_BLOCKED_URL; } catch (_) {}\n    }\n    return frame;\n  }\n\n  function scrubLegacyPitchPrintFrameNode(node, reason) {\n    if (!shouldUseSelfHostedDesigner() || !node || node.nodeType !== 1) return node;\n    var element = node;\n\n    if (element.tagName === 'IFRAME') {\n      var directSrc = element.getAttribute('src') || element.src || '';\n      if (isLegacyPitchPrintFrameUrl(directSrc)) {\n        neutralizeLegacyPitchPrintFrame(element, reason);\n      }\n    }\n\n    try {\n      var frames = element.querySelectorAll ? element.querySelectorAll('iframe') : [];\n      for (var i = 0; i < frames.length; i += 1) {\n        var frame = frames[i];\n        var nestedSrc = frame.getAttribute('src') || frame.src || '';\n        if (isLegacyPitchPrintFrameUrl(nestedSrc)) {\n          neutralizeLegacyPitchPrintFrame(frame, reason);\n        }\n      }\n    } catch (_) {}\n\n    return node;\n  }\n\n  function installLegacyPitchPrintFrameGuard() {\n    if (!isProductPage() || window.__BG_LEGACY_PITCHPRINT_FRAME_GUARD_V1__) return;\n    window.__BG_LEGACY_PITCHPRINT_FRAME_GUARD_V1__ = true;\n\n    var iframeProto = window.HTMLIFrameElement && window.HTMLIFrameElement.prototype;\n    if (iframeProto && !iframeProto.__bgLegacyPitchPrintFrameGuardV1) {\n      iframeProto.__bgLegacyPitchPrintFrameGuardV1 = true;\n\n      var originalSetAttribute = iframeProto.setAttribute;\n      iframeProto.setAttribute = function(name, value) {\n        if (\n          shouldUseSelfHostedDesigner() &&\n          String(name || '').toLowerCase() === 'src' &&\n          isLegacyPitchPrintFrameUrl(value)\n        ) {\n          return originalSetAttribute.call(this, name, LEGACY_FRAME_BLOCKED_URL);\n        }\n        return originalSetAttribute.call(this, name, value);\n      };\n\n      var srcDescriptor = Object.getOwnPropertyDescriptor(iframeProto, 'src');\n      if (srcDescriptor && typeof srcDescriptor.get === 'function' && typeof srcDescriptor.set === 'function') {\n        Object.defineProperty(iframeProto, 'src', {\n          configurable: true,\n          enumerable: srcDescriptor.enumerable,\n          get: function() {\n            return srcDescriptor.get.call(this);\n          },\n          set: function(value) {\n            if (shouldUseSelfHostedDesigner() && isLegacyPitchPrintFrameUrl(value)) {\n              srcDescriptor.set.call(this, LEGACY_FRAME_BLOCKED_URL);\n              neutralizeLegacyPitchPrintFrame(this, 'src-setter');\n              return;\n            }\n            srcDescriptor.set.call(this, value);\n          },\n        });\n      }\n    }\n\n    var nodeProto = window.Node && window.Node.prototype;\n    if (nodeProto && !nodeProto.__bgLegacyPitchPrintFrameGuardV1) {\n      nodeProto.__bgLegacyPitchPrintFrameGuardV1 = true;\n\n      var originalAppendChild = nodeProto.appendChild;\n      nodeProto.appendChild = function(node) {\n        return originalAppendChild.call(this, scrubLegacyPitchPrintFrameNode(node, 'appendChild'));\n      };\n\n      var originalInsertBefore = nodeProto.insertBefore;\n      nodeProto.insertBefore = function(node, referenceNode) {\n        return originalInsertBefore.call(this, scrubLegacyPitchPrintFrameNode(node, 'insertBefore'), referenceNode);\n      };\n\n      var originalReplaceChild = nodeProto.replaceChild;\n      nodeProto.replaceChild = function(node, oldChild) {\n        return originalReplaceChild.call(this, scrubLegacyPitchPrintFrameNode(node, 'replaceChild'), oldChild);\n      };\n    }\n\n    var observerStarted = false;\n    var observer = new MutationObserver(function(mutations) {\n      if (!shouldUseSelfHostedDesigner()) return;\n      for (var i = 0; i < mutations.length; i += 1) {\n        var addedNodes = mutations[i] && mutations[i].addedNodes ? mutations[i].addedNodes : [];\n        for (var j = 0; j < addedNodes.length; j += 1) {\n          scrubLegacyPitchPrintFrameNode(addedNodes[j], 'observer');\n        }\n      }\n    });\n\n    function startObserver() {\n      if (observerStarted || !document.documentElement) return;\n      observerStarted = true;\n      observer.observe(document.documentElement, { childList: true, subtree: true });\n      scrubLegacyPitchPrintFrameNode(document.documentElement, 'observer-start');\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', startObserver, { once: true });\n      window.addEventListener('load', startObserver, { once: true });\n    }\n    window.setTimeout(startObserver, 0);\n  }\n\n  function toAbsoluteUrl(value) {\n    try {\n      return new URL(String(value || ''), window.location.origin).toString();\n    } catch (_) {\n      return String(value || '');\n    }\n  }\n\n  function getDefaultPreviewDataUrl() {\n    var svg = [\n      '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1280\" height=\"720\" viewBox=\"0 0 1280 720\">',\n      '<rect width=\"1280\" height=\"720\" fill=\"#f3ede1\"/>',\n      '<rect x=\"140\" y=\"110\" width=\"1000\" height=\"500\" rx=\"28\" fill=\"#ffffff\" stroke=\"#d7cbb5\" stroke-width=\"8\"/>',\n      '<rect x=\"210\" y=\"180\" width=\"300\" height=\"210\" rx=\"18\" fill=\"#e7dcc9\"/>',\n      '<circle cx=\"332\" cy=\"266\" r=\"54\" fill=\"#cfb790\"/>',\n      '<path d=\"M214 388l92-88 72 64 82-96 178 120H214z\" fill=\"#b89668\"/>',\n      '<text x=\"582\" y=\"280\" fill=\"#172128\" font-family=\"Arial, sans-serif\" font-size=\"48\" font-weight=\"700\">Preview pending</text>',\n      '<text x=\"582\" y=\"342\" fill=\"#5f5a50\" font-family=\"Arial, sans-serif\" font-size=\"28\">Saved design will render here after export.</text>',\n      '<text x=\"582\" y=\"404\" fill=\"#8b806f\" font-family=\"Arial, sans-serif\" font-size=\"24\">Self-hosted designer</text>',\n      '</svg>',\n    ].join('');\n    return 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(svg);\n  }\n\n  function normalizePreviewUrl(value) {\n    var absolute = toAbsoluteUrl(value);\n    if (!absolute) return getDefaultPreviewDataUrl();\n    if (absolute === LEGACY_PREVIEW_PLACEHOLDER_URL || /\\/self-hosted-preview-1\\.png(?:\\?|$)/i.test(absolute)) {\n      return getDefaultPreviewDataUrl();\n    }\n    return absolute;\n  }\n\n  function getProxyRoot() {\n    return sanitizeText(window.BG_DESIGNER_PROXY_ROOT || DEFAULT_PROXY_ROOT) || DEFAULT_PROXY_ROOT;\n  }\n\n  function readPitchPrintHybridProvider() {\n    var direct = sanitizeText(window.BG_DESIGNER_LAUNCH_PROVIDER || window.BG_DESIGNER_DEFAULT_PROVIDER).toLowerCase();\n    if (direct === 'pitchprint') return direct;\n    try {\n      var configScript = document.querySelector('script[id^=\"bg-designer-storefront-config-\"]');\n      if (!configScript) return '';\n      var payload = JSON.parse(configScript.textContent || '{}');\n      var designerProvider = sanitizeText(\n        payload && payload.designer && payload.designer.launchProvider\n        || payload && payload.launchProvider\n      ).toLowerCase();\n      return designerProvider === 'pitchprint' ? designerProvider : '';\n    } catch (_) {\n      return '';\n    }\n  }\n\n  function shouldUseStorefrontV2Pilot() {\n    return Boolean(window.BG_DESIGNER_SELF_HOSTED_PILOT)\n      && isProductPage()\n      && readCartDesignEditorCapability() !== 'pitchprint-mini'\n      && readPitchPrintHybridProvider() !== 'pitchprint';\n  }\n\n  var STOREFRONT_V2_TEMPLATE_LOOKUP_INDEX_CACHE = {};\n  var STOREFRONT_V2_TEMPLATE_LOOKUP_PROMISES = {};\n  var STOREFRONT_V2_EDITOR_MAPPING_PROMISE = null;\n\n  function hasNormalizedTemplateLookupMap(payload) {\n    return !!(\n      payload\n      && typeof payload === 'object'\n      && (\n        (payload.byLegacyDesignId && typeof payload.byLegacyDesignId === 'object')\n        || (payload.byDesignNumber && typeof payload.byDesignNumber === 'object')\n      )\n    );\n  }\n\n  function normalizeTemplateLookupMap(payload) {\n    var source = payload && typeof payload === 'object' ? payload : {};\n    return {\n      byLegacyDesignId: source.byLegacyDesignId && typeof source.byLegacyDesignId === 'object'\n        ? source.byLegacyDesignId\n        : {},\n      byDesignNumber: source.byDesignNumber && typeof source.byDesignNumber === 'object'\n        ? source.byDesignNumber\n        : {}\n    };\n  }\n\n  function getTemplateLookupFromFoundationDesign(design) {\n    return sanitizeText(\n      design && (\n        design.templateLookup\n        || design.templatePublicId\n        || design.template_public_id\n        || design.publicId\n        || design.public_id\n        || design.lookup\n      )\n    );\n  }\n\n  function normalizeStorefrontV2LookupSourceHandle(sourceHandle) {\n    return sanitizeText(sourceHandle).toLowerCase();\n  }\n\n  function readDesignerStorefrontConfig() {\n    try {\n      var configScript = document.querySelector('script[id^=\"bg-designer-storefront-config-\"]');\n      if (!configScript) return null;\n      var payload = JSON.parse(configScript.textContent || '{}');\n      return payload && typeof payload === 'object' ? payload : null;\n    } catch (_) {\n      return null;\n    }\n  }\n\n  function readStorefrontV2EditorMapping() {\n    var mapping = window.BG_DESIGNER_EDITOR_MAPPING && typeof window.BG_DESIGNER_EDITOR_MAPPING === 'object'\n      ? window.BG_DESIGNER_EDITOR_MAPPING\n      : null;\n    return mapping && sanitizeText(mapping.templateSourceHandle) ? mapping : null;\n  }\n\n  function readStorefrontV2ProductEditorConfigUrl() {\n    var config = readDesignerStorefrontConfig();\n    return sanitizeText(\n      config && config.designer && config.designer.productEditorConfigUrl\n      || config && config.productEditorConfigUrl\n    );\n  }\n\n  function rememberStorefrontV2EditorMapping(payload) {\n    var root = payload && payload.result && typeof payload.result === 'object'\n      ? payload.result\n      : (payload && typeof payload === 'object' ? payload : {});\n    if (!root || root.ok === false) return null;\n    var mapping = root.mapping && typeof root.mapping === 'object' ? root.mapping : {};\n    var editorType = sanitizeText(mapping.editorType || root.editorType).toLowerCase().replace(/-/g, '_');\n    if (!editorType) return null;\n    var next = Object.assign({}, mapping, {\n      editorType: editorType,\n      templateSourceHandle: sanitizeText(mapping.templateSourceHandle || root.templateSourceHandle),\n      templateCollectionPath: sanitizeText(mapping.templateCollectionPath || root.templateCollectionPath),\n      returnProductHandle: sanitizeText(mapping.returnProductHandle || root.returnProductHandle)\n    });\n    window.BG_DESIGNER_EDITOR_TYPE = editorType;\n    window.BG_DESIGNER_EDITOR_MAPPING = next;\n    return next;\n  }\n\n  function ensureStorefrontV2EditorMapping() {\n    var existing = readStorefrontV2EditorMapping();\n    if (existing) return Promise.resolve(existing);\n    if (STOREFRONT_V2_EDITOR_MAPPING_PROMISE) return STOREFRONT_V2_EDITOR_MAPPING_PROMISE;\n    var configUrl = readStorefrontV2ProductEditorConfigUrl();\n    if (!configUrl || typeof fetch !== 'function') return Promise.resolve(null);\n    STOREFRONT_V2_EDITOR_MAPPING_PROMISE = fetch(configUrl, {\n      credentials: 'same-origin'\n    }).then(function(response) {\n      if (!response.ok) throw new Error('Failed to load product editor config');\n      return response.json();\n    }).then(function(payload) {\n      return rememberStorefrontV2EditorMapping(payload);\n    }).catch(function() {\n      return null;\n    }).finally(function() {\n      STOREFRONT_V2_EDITOR_MAPPING_PROMISE = null;\n    });\n    return STOREFRONT_V2_EDITOR_MAPPING_PROMISE;\n  }\n\n  function rememberStorefrontV2TemplateRows(sourceHandle, payload) {\n    var handle = normalizeStorefrontV2LookupSourceHandle(sourceHandle);\n    if (!handle || !payload || typeof payload !== 'object' || !Array.isArray(payload.items)) return null;\n    var next = { byLegacyDesignId: {}, byDesignNumber: {} };\n    payload.items.forEach(function(design) {\n      var lookup = getTemplateLookupFromFoundationDesign(design);\n      if (!lookup) return;\n      var designId = sanitizeText(design && design.id).toLowerCase();\n      var designNumber = sanitizeText(design && design.designnum);\n      if (designId) next.byLegacyDesignId[designId] = lookup;\n      if (designNumber) next.byDesignNumber[designNumber] = lookup;\n    });\n    STOREFRONT_V2_TEMPLATE_LOOKUP_INDEX_CACHE[handle] = next;\n    window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS = window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS && typeof window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS === 'object'\n      ? window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS\n      : {};\n    window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS[handle] = next;\n    window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAP = next;\n    return next;\n  }\n\n  function getStorefrontV2TemplateLookupMap(sourceHandle) {\n    var handle = normalizeStorefrontV2LookupSourceHandle(sourceHandle);\n    if (handle && STOREFRONT_V2_TEMPLATE_LOOKUP_INDEX_CACHE[handle]) return STOREFRONT_V2_TEMPLATE_LOOKUP_INDEX_CACHE[handle];\n    if (\n      handle\n      && window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS\n      && typeof window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS === 'object'\n      && hasNormalizedTemplateLookupMap(window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS[handle])\n    ) {\n      return normalizeTemplateLookupMap(window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAPS[handle]);\n    }\n    if (hasNormalizedTemplateLookupMap(window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAP)) {\n      return normalizeTemplateLookupMap(window.BG_FOUNDATION_TEMPLATE_LOOKUP_MAP);\n    }\n    return null;\n  }\n\n  function getStorefrontV2StoreKey() {\n    var direct = sanitizeText(window.storefront);\n    if (direct) return direct;\n    try {\n      var configScript = document.querySelector('script[id^=\"bg-designer-storefront-config-\"]');\n      if (configScript) {\n        var payload = JSON.parse(configScript.textContent || '{}');\n        var storeKey = sanitizeText(payload && (payload.storeKey || payload.storefront));\n        if (storeKey) return storeKey;\n      }\n    } catch (_) {}\n    return sanitizeText(window.__siteCfg && window.__siteCfg.brand_slug);\n  }\n\n  function getStorefrontV2TemplateRowsUrl(sourceHandle) {\n    var handle = normalizeStorefrontV2LookupSourceHandle(sourceHandle);\n    if (!handle) return '';\n    var params = new URLSearchParams();\n    params.set('storeKey', getStorefrontV2StoreKey());\n    params.set('productHandle', handle);\n    return getProxyRoot().replace(/\\/+$/, '') + '/template-collection-designs?' + params.toString();\n  }\n\n  function ensureStorefrontV2TemplateLookupMap(sourceHandle) {\n    var product = readCurrentProductContext();\n    var handle = normalizeStorefrontV2LookupSourceHandle(sourceHandle || resolveStorefrontV2PilotSourceHandle(product.productHandle));\n    if (!handle) {\n      return ensureStorefrontV2EditorMapping().then(function(mapping) {\n        var mappedHandle = normalizeStorefrontV2LookupSourceHandle(sourceHandle || (mapping && mapping.templateSourceHandle));\n        return mappedHandle ? ensureStorefrontV2TemplateLookupMap(mappedHandle) : null;\n      });\n    }\n    var existing = getStorefrontV2TemplateLookupMap(handle);\n    if (existing) return Promise.resolve(existing);\n    if (STOREFRONT_V2_TEMPLATE_LOOKUP_PROMISES[handle]) return STOREFRONT_V2_TEMPLATE_LOOKUP_PROMISES[handle];\n    var rowsUrl = getStorefrontV2TemplateRowsUrl(handle);\n    if (!rowsUrl || typeof fetch !== 'function') return Promise.resolve(null);\n    STOREFRONT_V2_TEMPLATE_LOOKUP_PROMISES[handle] = fetch(rowsUrl, {\n      credentials: 'same-origin'\n    }).then(function(response) {\n      if (!response.ok) throw new Error('Failed to load template collection designs');\n      return response.json();\n    }).then(function(payload) {\n      return rememberStorefrontV2TemplateRows(handle, payload);\n    }).catch(function() {\n      return null;\n    }).finally(function() {\n      STOREFRONT_V2_TEMPLATE_LOOKUP_PROMISES[handle] = null;\n    });\n    return STOREFRONT_V2_TEMPLATE_LOOKUP_PROMISES[handle];\n  }\n\n  function resolveStorefrontV2PilotSourceHandle(productHandle) {\n    var mapping = readStorefrontV2EditorMapping();\n    return normalizeStorefrontV2LookupSourceHandle(mapping && mapping.templateSourceHandle);\n  }\n\n  function readCurrentProductContext() {\n    var productId = '';\n    var productHandle = '';\n    try {\n      var meta = window.ShopifyAnalytics && window.ShopifyAnalytics.meta;\n      if (meta && meta.product) {\n        productId = sanitizeText(meta.product.id);\n        productHandle = sanitizeText(meta.product.handle).toLowerCase();\n      }\n    } catch (_) {}\n    if (!productHandle) {\n      try {\n        var match = String(window.location.pathname || '').match(/\\/products\\/([^\\/?#]+)/i);\n        if (match) productHandle = sanitizeText(decodeURIComponent(match[1])).toLowerCase();\n      } catch (_) {}\n    }\n    return {\n      productId: productId,\n      productHandle: productHandle,\n    };\n  }\n\n  function resolveStorefrontV2PilotTemplateLookup(vars) {\n    if (!shouldUseStorefrontV2Pilot()) return '';\n    var product = readCurrentProductContext();\n    var designId = sanitizeText(\n      (vars && vars.designId)\n      || window.ppDesignID\n      || window.designIDFromTemplatePage\n    ).toLowerCase();\n    var designNumber = sanitizeText(\n      (vars && vars.designNumber)\n      || window.ppDesignNumber\n      || window.designNumberFromTemplatePage\n    );\n    var mappingHandle = resolveStorefrontV2PilotSourceHandle(product.productHandle);\n    var map = getStorefrontV2TemplateLookupMap(mappingHandle);\n    var templateLookup = sanitizeText(\n      (map && designId && map.byLegacyDesignId && map.byLegacyDesignId[designId])\n      || (map && designNumber && map.byDesignNumber && map.byDesignNumber[designNumber])\n    );\n    if (templateLookup) return templateLookup;\n    return '';\n  }\n\n  function readStorefrontV2PilotReturnContext(vars) {\n    var params = null;\n    try {\n      params = new URLSearchParams(window.location.search || '');\n    } catch (_) {\n      params = null;\n    }\n    var inMemoryContext = window.BG_DESIGNER_RETURN_CONTEXT && typeof window.BG_DESIGNER_RETURN_CONTEXT === 'object'\n      ? window.BG_DESIGNER_RETURN_CONTEXT\n      : readStoredStorefrontReturnContext();\n    var projectId = sanitizeProjectId(\n      (vars && vars.projectId) ||\n      (inMemoryContext && inMemoryContext.projectId) ||\n      (params && params.get('projectId'))\n    );\n    var designOnline = (\n      (inMemoryContext && (inMemoryContext.designOnline === true || sanitizeText(inMemoryContext.artworkMode).toLowerCase() === 'designonline'))\n      || sanitizeText((params && params.get('designonline'))).toLowerCase() === 'true'\n    );\n    if (!projectId || !designOnline) return null;\n    return {\n      projectId: projectId\n    };\n  }\n\n  function getCurrentAbsoluteUrl() {\n    try {\n      return new URL(String(window.location.href || ''), window.location.origin).toString();\n    } catch (_) {\n      return window.location.origin;\n    }\n  }\n\n  function buildStableCacheKey(value) {\n    var input = sanitizeText(value);\n    if (!input) return '';\n    var hash = 5381;\n    for (var index = 0; index < input.length; index += 1) {\n      hash = ((hash << 5) + hash) ^ input.charCodeAt(index);\n    }\n    return 'bg' + (hash >>> 0).toString(36);\n  }\n\n  function getStorefrontBootstrapCacheStorageKey(cacheKey) {\n    var cleanKey = sanitizeText(cacheKey);\n    return cleanKey ? ('bg-designer-v2-bootstrap:v2:' + cleanKey) : '';\n  }\n\n  function getStorefrontBootstrapCacheStore(targetWindow) {\n    if (!targetWindow) return null;\n    try {\n      var existing = targetWindow.__BG_STOREFRONT_BOOTSTRAP_CACHE_V2__;\n      if (existing && typeof existing === 'object') return existing;\n      var nextStore = {};\n      targetWindow.__BG_STOREFRONT_BOOTSTRAP_CACHE_V2__ = nextStore;\n      return nextStore;\n    } catch (_) {\n      return null;\n    }\n  }\n\n  function readStorefrontBootstrapMemoryCache(cacheKey) {\n    var storageKey = getStorefrontBootstrapCacheStorageKey(cacheKey);\n    if (!storageKey) return null;\n    var candidates = [window];\n    try {\n      if (window.parent && window.parent !== window) candidates.push(window.parent);\n    } catch (_) {}\n    for (var i = 0; i < candidates.length; i += 1) {\n      var store = getStorefrontBootstrapCacheStore(candidates[i]);\n      var cachedValue = store && typeof store === 'object'\n        ? store[storageKey]\n        : null;\n      if (!cachedValue || typeof cachedValue !== 'object' || !cachedValue.bootstrap) continue;\n      if (!cachedValue.launchContext || typeof cachedValue.launchContext !== 'object' || !cachedValue.launchContext.document) {\n        continue;\n      }\n      return cachedValue;\n    }\n    return null;\n  }\n\n  function readStorefrontBootstrapCache(cacheKey) {\n    var memoryValue = readStorefrontBootstrapMemoryCache(cacheKey);\n    if (memoryValue) return memoryValue;\n    var storageKey = getStorefrontBootstrapCacheStorageKey(cacheKey);\n    if (!storageKey) return null;\n    try {\n      var raw = window.sessionStorage.getItem(storageKey);\n      if (!raw) return null;\n      var parsed = JSON.parse(raw);\n      if (!parsed || typeof parsed !== 'object' || !parsed.bootstrap) return null;\n      if (!parsed.launchContext || typeof parsed.launchContext !== 'object' || !parsed.launchContext.document) {\n        return null;\n      }\n      return parsed;\n    } catch (_) {\n      return null;\n    }\n  }\n\n  function writeStorefrontBootstrapCache(cacheKey, payload) {\n    var storageKey = getStorefrontBootstrapCacheStorageKey(cacheKey);\n    if (!storageKey || !payload || typeof payload !== 'object') return false;\n    var wroteMemory = false;\n    var targets = [window];\n    try {\n      if (window.parent && window.parent !== window) targets.push(window.parent);\n    } catch (_) {}\n    for (var i = 0; i < targets.length; i += 1) {\n      var store = getStorefrontBootstrapCacheStore(targets[i]);\n      if (store) {\n        store[storageKey] = payload;\n        wroteMemory = true;\n      }\n    }\n    try {\n      window.sessionStorage.setItem(storageKey, JSON.stringify(payload));\n      return true;\n    } catch (_) {\n      return wroteMemory;\n    }\n  }\n\n  function deleteStorefrontBootstrapCache(cacheKey) {\n    var storageKey = getStorefrontBootstrapCacheStorageKey(cacheKey);\n    if (!storageKey) return false;\n    var removed = false;\n    var targets = [window];\n    try {\n      if (window.parent && window.parent !== window) targets.push(window.parent);\n    } catch (_) {}\n    for (var i = 0; i < targets.length; i += 1) {\n      var store = getStorefrontBootstrapCacheStore(targets[i]);\n      if (store && Object.prototype.hasOwnProperty.call(store, storageKey)) {\n        delete store[storageKey];\n        removed = true;\n      }\n    }\n    try {\n      window.sessionStorage.removeItem(storageKey);\n      return true;\n    } catch (_) {\n      return removed;\n    }\n  }\n\n  function ensureDesignerOriginPreconnect(urlValue) {\n    var cleanUrl = sanitizeText(urlValue);\n    if (!cleanUrl) return false;\n    try {\n      var absoluteUrl = new URL(cleanUrl, window.location.origin);\n      var cacheKey = 'preconnect:' + absoluteUrl.origin;\n      if (PREFETCHED_STOREFRONT_V2_URLS[cacheKey]) return true;\n      var link = document.createElement('link');\n      link.rel = 'preconnect';\n      link.href = absoluteUrl.origin;\n      link.crossOrigin = 'anonymous';\n      document.head.appendChild(link);\n      PREFETCHED_STOREFRONT_V2_URLS[cacheKey] = true;\n      return true;\n    } catch (_) {\n      return false;\n    }\n  }\n\n  function buildStorefrontV2PilotBootstrapUrl(vars) {\n    var launchUrl = buildStorefrontV2PilotLaunchUrl(vars || {});\n    if (!launchUrl) return '';\n    try {\n      var bootstrapUrl = new URL(launchUrl, window.location.origin);\n      bootstrapUrl.pathname = bootstrapUrl.pathname.replace(/\\/editor-v2(?:\\/)?$/i, '/session/bootstrap');\n      bootstrapUrl.searchParams.delete('adminEmbedded');\n      bootstrapUrl.searchParams.delete('adminHostOrigin');\n      bootstrapUrl.searchParams.delete('adminReturnUrl');\n      bootstrapUrl.searchParams.delete('adminNextUrl');\n      bootstrapUrl.searchParams.delete('bgEmbedded');\n      bootstrapUrl.searchParams.delete('bgHostOrigin');\n      bootstrapUrl.searchParams.delete('bgReturnUrl');\n      bootstrapUrl.searchParams.delete('bgNextUrl');\n      bootstrapUrl.searchParams.delete('bgEmbeddedSource');\n      bootstrapUrl.searchParams.delete('bgStorefrontFastLaunch');\n      bootstrapUrl.searchParams.delete('bgBootstrapCacheKey');\n      if (!bootstrapUrl.searchParams.get('designId') && bootstrapUrl.searchParams.get('id')) {\n        bootstrapUrl.searchParams.set('designId', sanitizeText(bootstrapUrl.searchParams.get('id')));\n      }\n      if (!bootstrapUrl.searchParams.get('designNumber') && bootstrapUrl.searchParams.get('designnum')) {\n        bootstrapUrl.searchParams.set('designNumber', sanitizeText(bootstrapUrl.searchParams.get('designnum')));\n      }\n      bootstrapUrl.searchParams.set('editorVariant', 'editor-v2');\n      return bootstrapUrl.toString();\n    } catch (_) {\n      return '';\n    }\n  }\n\n  function getStorefrontV2PilotBootstrapCacheKey(vars) {\n    return buildStableCacheKey(buildStorefrontV2PilotBootstrapUrl(vars || {}));\n  }\n\n  function prewarmStorefrontV2PilotBootstrap(vars) {\n    if (!shouldUseStorefrontV2Pilot()) return Promise.resolve(null);\n    var bootstrapUrl = buildStorefrontV2PilotBootstrapUrl(vars || {});\n    var cacheKey = getStorefrontV2PilotBootstrapCacheKey(vars || {});\n    if (!bootstrapUrl || !cacheKey) return Promise.resolve(null);\n    var existing = readStorefrontBootstrapCache(cacheKey);\n    if (existing && existing.bootstrap && existing.launchContext && existing.launchContext.document) {\n      return Promise.resolve({\n        cacheKey: cacheKey,\n        bootstrapUrl: bootstrapUrl,\n        payload: existing,\n        source: 'session-storage'\n      });\n    }\n    if (STOREFRONT_V2_BOOTSTRAP_PROMISES[bootstrapUrl]) {\n      return STOREFRONT_V2_BOOTSTRAP_PROMISES[bootstrapUrl];\n    }\n    ensureDesignerOriginPreconnect(bootstrapUrl);\n    STOREFRONT_V2_BOOTSTRAP_PROMISES[bootstrapUrl] = fetch(bootstrapUrl, {\n      method: 'GET',\n      headers: {\n        accept: 'application/json'\n      },\n      credentials: 'same-origin'\n    }).then(function(response) {\n      return response.json().catch(function() { return null; }).then(function(payload) {\n        if (\n          !response.ok\n          || !payload\n          || typeof payload !== 'object'\n          || payload.ok === false\n          || !payload.bootstrap\n          || !payload.launchContext\n          || typeof payload.launchContext !== 'object'\n          || !payload.launchContext.document\n        ) {\n          throw new Error('Unable to preload the design editor bootstrap.');\n        }\n        writeStorefrontBootstrapCache(cacheKey, payload);\n        return {\n          cacheKey: cacheKey,\n          bootstrapUrl: bootstrapUrl,\n          payload: payload,\n          source: 'network'\n        };\n      });\n    }).catch(function(error) {\n      throw error;\n    }).finally(function() {\n      delete STOREFRONT_V2_BOOTSTRAP_PROMISES[bootstrapUrl];\n    });\n    return STOREFRONT_V2_BOOTSTRAP_PROMISES[bootstrapUrl];\n  }\n\n  function buildStorefrontV2PilotReturnUrl(vars) {\n    try {\n      if (typeof window.bgScheduleUrlSync === 'function') {\n        window.bgScheduleUrlSync(true);\n      }\n    } catch (_) {}\n    var returnUrl = new URL(String(window.location.href || window.location.origin), window.location.origin);\n    var product = readCurrentProductContext();\n    var designId = sanitizeText(\n      (vars && vars.designId)\n      || window.ppDesignID\n      || window.designIDFromTemplatePage\n    );\n    var designNumber = sanitizeText(\n      (vars && vars.designNumber)\n      || window.ppDesignNumber\n      || window.designNumberFromTemplatePage\n    );\n    var backer = sanitizeText(\n      (vars && vars.backer)\n      || window.selectedTemplateBackerFromPicker\n    );\n    if (designNumber) {\n      returnUrl.searchParams.set('designonline', 'true');\n      returnUrl.searchParams.set('designnum', designNumber);\n    }\n    if (designId) {\n      returnUrl.searchParams.set('id', designId);\n    } else {\n      returnUrl.searchParams.delete('id');\n    }\n    if (backer) {\n      returnUrl.searchParams.set('backer', backer);\n    }\n    return returnUrl.toString();\n  }\n\n  function buildStorefrontV2PilotLaunchUrl(vars) {\n    var templateLookup = resolveStorefrontV2PilotTemplateLookup(vars);\n    if (!templateLookup) return '';\n    var product = readCurrentProductContext();\n    var returnContext = readStorefrontV2PilotReturnContext(vars);\n    var frameUrl = new URL(getProxyRoot().replace(/\\/$/, '') + '/editor-v2', window.location.origin);\n    var designId = sanitizeText(\n      (vars && vars.designId)\n      || window.ppDesignID\n      || window.designIDFromTemplatePage\n    );\n    var designNumber = sanitizeText(\n      (vars && vars.designNumber)\n      || window.ppDesignNumber\n      || window.designNumberFromTemplatePage\n    );\n    var backer = sanitizeText(\n      (vars && vars.backer)\n      || window.selectedTemplateBackerFromPicker\n    );\n    if (product.productId) frameUrl.searchParams.set('productId', product.productId);\n    if (product.productHandle) frameUrl.searchParams.set('productHandle', product.productHandle);\n    frameUrl.searchParams.set('templateLookup', templateLookup);\n    frameUrl.searchParams.set('templatePublicId', templateLookup);\n    frameUrl.searchParams.set('mode', returnContext && returnContext.projectId ? 'edit' : 'new');\n    if (returnContext && returnContext.projectId) {\n      frameUrl.searchParams.set('projectId', returnContext.projectId);\n    }\n    if (designId) frameUrl.searchParams.set('id', designId);\n    if (designNumber) frameUrl.searchParams.set('designnum', designNumber);\n    if (backer) frameUrl.searchParams.set('backer', backer);\n    var returnUrl = buildStorefrontV2PilotReturnUrl(vars);\n    frameUrl.searchParams.set('storefrontReturnUrl', returnUrl);\n    frameUrl.searchParams.set('storefrontNextUrl', returnUrl);\n    return frameUrl.toString();\n  }\n\n  function buildStorefrontV2PilotEmbeddedUrl(vars) {\n    var launchUrl = buildStorefrontV2PilotLaunchUrl(vars);\n    if (!launchUrl) return '';\n    try {\n      var frameUrl = new URL(launchUrl, window.location.origin);\n      var currentUrl = getCurrentAbsoluteUrl();\n      frameUrl.searchParams.set('bgEmbedded', '1');\n      frameUrl.searchParams.set('bgHostOrigin', window.location.origin);\n      frameUrl.searchParams.set('bgReturnUrl', currentUrl);\n      frameUrl.searchParams.set('bgNextUrl', currentUrl);\n      frameUrl.searchParams.set('bgEmbeddedSource', 'product');\n      frameUrl.searchParams.set('bgStorefrontFastLaunch', '1');\n      var cacheKey = getStorefrontV2PilotBootstrapCacheKey(vars || {});\n      if (cacheKey) {\n        frameUrl.searchParams.set('bgBootstrapCacheKey', cacheKey);\n      }\n      return frameUrl.toString();\n    } catch (_) {\n      return launchUrl;\n    }\n  }\n\n  function buildStorefrontV2PilotShellUrl() {\n    if (!shouldUseStorefrontV2Pilot()) return '';\n    try {\n      var product = readCurrentProductContext();\n      var currentUrl = getCurrentAbsoluteUrl();\n      var frameUrl = new URL(getProxyRoot().replace(/\\/$/, '') + '/editor-v2', window.location.origin);\n      if (product.productId) frameUrl.searchParams.set('productId', product.productId);\n      if (product.productHandle) frameUrl.searchParams.set('productHandle', product.productHandle);\n      frameUrl.searchParams.set('mode', 'new');\n      frameUrl.searchParams.set('bgEmbedded', '1');\n      frameUrl.searchParams.set('bgHostOrigin', window.location.origin);\n      frameUrl.searchParams.set('bgReturnUrl', currentUrl);\n      frameUrl.searchParams.set('bgNextUrl', currentUrl);\n      frameUrl.searchParams.set('bgEmbeddedSource', 'product');\n      frameUrl.searchParams.set('bgStorefrontFastLaunch', '1');\n      return frameUrl.toString();\n    } catch (_) {\n      return '';\n    }\n  }\n\n  function isStorefrontEmbeddedFrameUrl(urlValue) {\n    try {\n      var parsed = urlValue instanceof URL ? urlValue : new URL(String(urlValue || ''), window.location.origin);\n      var embeddedSource = sanitizeText(parsed.searchParams.get('bgEmbeddedSource')).toLowerCase();\n      return parsed.searchParams.get('bgStorefrontFastLaunch') === '1'\n        || (\n          (parsed.searchParams.get('adminEmbedded') === '1' || parsed.searchParams.get('bgEmbedded') === '1')\n          && (embeddedSource === 'product' || embeddedSource === 'cart')\n        );\n    } catch (_) {\n      return false;\n    }\n  }\n\n  function hidePilotDesignerLaunchIndicators() {\n    try {\n      if (typeof window.bgHidePitchPrintLaunchSpinner === 'function') {\n        window.bgHidePitchPrintLaunchSpinner({ delayMs: 120 });\n      }\n    } catch (_) {}\n    try {\n      if (typeof window.bgHideDesignerLoading === 'function') {\n        window.bgHideDesignerLoading();\n      }\n    } catch (_) {}\n  }\n\n  function updateStorefrontReturnContext(values, options) {\n    if (!shouldUseStorefrontV2Pilot()) return null;\n    var data = values && typeof values === 'object' ? values : {};\n    var sourceOptions = options && typeof options === 'object' ? options : {};\n    var projectId = sanitizeProjectId(data.projectId);\n    var designId = sanitizeText(data.designId);\n    var designNumber = sanitizeText(data.designNumber);\n    var backer = sanitizeText(data.backer || window.selectedTemplateBackerFromPicker);\n    var previews = Array.isArray(data.previews)\n      ? data.previews.map(normalizePreviewUrl).filter(Boolean)\n      : [];\n    var rawPreviewUrl = sanitizeText(data.previewUrl || (previews.length ? previews[0] : ''));\n    var previewUrl = rawPreviewUrl ? normalizePreviewUrl(rawPreviewUrl) : '';\n    if (previewUrl && previews.indexOf(previewUrl) === -1) {\n      previews.unshift(previewUrl);\n    }\n    if (!projectId && !designId && !designNumber) return null;\n\n    var nextContext = {\n      projectId: projectId,\n      designId: designId,\n      designNumber: designNumber,\n      designOnline: true,\n      artworkMode: 'designonline',\n      source: sanitizeText(sourceOptions.source || 'self-hosted-compat')\n    };\n    if (backer) nextContext.backer = backer;\n    if (previewUrl) nextContext.previewUrl = previewUrl;\n    if (previews.length) nextContext.previews = previews.slice();\n\n    try {\n      window.BG_DESIGNER_RETURN_CONTEXT = nextContext;\n    } catch (_) {}\n    writeStoredStorefrontReturnContext(nextContext);\n\n    if (designId) {\n      window.designIDFromTemplatePage = designId;\n      window.ppDesignID = designId;\n    }\n    if (designNumber) {\n      window.designNumberFromTemplatePage = designNumber;\n      window.ppDesignNumber = designNumber;\n    }\n    if (backer) {\n      window.selectedTemplateBackerFromPicker = backer;\n    }\n\n    syncCompatInputs({\n      projectId: projectId,\n      designNumber: designNumber,\n    });\n\n    try {\n      window.dispatchEvent(new CustomEvent('bg:designer-storefront-return', {\n        detail: nextContext\n      }));\n    } catch (_) {}\n    return nextContext;\n  }\n\n  function prefetchStorefrontV2PilotLaunch(vars) {\n    if (!shouldUseStorefrontV2Pilot()) return false;\n    void prewarmStorefrontV2PilotBootstrap(vars || {}).catch(function() {\n      // Ignore bootstrap prewarm failures. The interactive launch still works without this.\n    });\n    return true;\n  }\n\n  function readStorefrontV2PilotSelection(vars) {\n    var returnContext = readStorefrontV2PilotReturnContext(vars);\n    var pickerSelection = null;\n    try {\n      pickerSelection = getTemplatePickerSelection();\n    } catch (_) {}\n\n    return {\n      projectId: sanitizeProjectId(\n        (vars && vars.projectId)\n        || (returnContext && returnContext.projectId)\n      ),\n      designId: sanitizeText(\n        (pickerSelection && pickerSelection.id)\n        || (vars && vars.designId)\n        || window.ppDesignID\n        || window.designIDFromTemplatePage\n      ),\n      designNumber: sanitizeText(\n        (pickerSelection && pickerSelection.designNumber)\n        || (vars && vars.designNumber)\n        || window.ppDesignNumber\n        || window.designNumberFromTemplatePage\n      ),\n      backer: sanitizeText(\n        (pickerSelection && pickerSelection.backer)\n        || (vars && vars.backer)\n        || window.selectedTemplateBackerFromPicker\n      )\n    };\n  }\n\n  function normalizeStorefrontV2ReturnQuery() {\n    if (!shouldUseStorefrontV2Pilot()) return false;\n    try {\n      var url = new URL(String(window.location.href || ''), window.location.origin);\n      var projectId = sanitizeProjectId(url.searchParams.get('projectId'));\n      var designNumber = sanitizeText(url.searchParams.get('designnum') || url.searchParams.get('designNumber'));\n      var designId = sanitizeText(url.searchParams.get('id'));\n      var shouldForceDesignOnline = (\n        url.searchParams.get('designonline') === 'true'\n        || (\n          url.searchParams.get('editservice') === 'true'\n          && projectId\n          && (designNumber || designId)\n        )\n      );\n      if (!shouldForceDesignOnline) return false;\n      url.searchParams.set('designonline', 'true');\n      url.searchParams.delete('editservice');\n      window.history.replaceState(window.history.state || null, document.title, url.toString());\n      return true;\n    } catch (_) {\n      return false;\n    }\n  }\n\n  function installStorefrontV2ReturnHydrationGuard() {\n    if (window.__BG_DESIGNER_STOREFRONT_V2_RETURN_HYDRATION_GUARD_V1__) return;\n    window.__BG_DESIGNER_STOREFRONT_V2_RETURN_HYDRATION_GUARD_V1__ = true;\n\n    function runGuard() {\n      if (!shouldUseStorefrontV2Pilot()) return;\n      var params;\n      try {\n        params = new URLSearchParams(String(window.location.search || ''));\n      } catch (_) {\n        return;\n      }\n      var projectId = sanitizeProjectId(params.get('projectId'));\n      var designNumber = sanitizeText(params.get('designnum') || params.get('designNumber'));\n      var designId = sanitizeText(params.get('id'));\n      var shouldTreatAsDesignOnlineReturn = (\n        params.get('designonline') === 'true'\n        || (\n          params.get('editservice') === 'true'\n          && projectId\n          && (designNumber || designId)\n        )\n      );\n      if (!shouldTreatAsDesignOnlineReturn) return;\n\n      var attempts = 0;\n      var timer = 0;\n\n      function clearPendingTimer() {\n        if (!timer) return;\n        window.clearTimeout(timer);\n        timer = 0;\n      }\n\n      function applyDesignOnlineSelection() {\n        attempts += 1;\n        var designOnlineInput = document.getElementById('artworkButtons-designOnline');\n        var templateEditServiceInput = document.getElementById('artworkButtons-templateEditServiceV2');\n        var templateValueInput = document.getElementById('bgTemplatePickerValue');\n        var templateValue = sanitizeText(templateValueInput && templateValueInput.value);\n        if (designOnlineInput && templateValue) {\n          var checkedArtwork = document.querySelector('.calculatorButtonsArtwork input[name=\"button-options-artworkButtons\"]:checked');\n          if (checkedArtwork && checkedArtwork !== designOnlineInput) {\n            checkedArtwork.checked = false;\n          }\n          if (templateEditServiceInput && templateEditServiceInput !== designOnlineInput) {\n            templateEditServiceInput.checked = false;\n          }\n          if (!designOnlineInput.checked) {\n            designOnlineInput.checked = true;\n          }\n          try { window.isTemplateEditServiceActive = false; } catch (_) {}\n          try { window.isEditService = false; } catch (_) {}\n          window.bgSkipDesignOnlineShowAppOnce = true;\n          try { designOnlineInput.dispatchEvent(new Event('input', { bubbles: true })); } catch (_) {}\n          try { designOnlineInput.dispatchEvent(new Event('change', { bubbles: true })); } catch (_) {}\n          normalizeStorefrontV2ReturnQuery();\n\n          var selectedArtwork = document.querySelector('.calculatorButtonsArtwork input[name=\"button-options-artworkButtons\"]:checked');\n          if (selectedArtwork && selectedArtwork.id === 'artworkButtons-designOnline') {\n            clearPendingTimer();\n            return;\n          }\n        }\n\n        if (attempts >= 20) {\n          clearPendingTimer();\n          normalizeStorefrontV2ReturnQuery();\n          return;\n        }\n\n        timer = window.setTimeout(applyDesignOnlineSelection, 250);\n      }\n\n      applyDesignOnlineSelection();\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', runGuard, { once: true });\n    } else {\n      window.setTimeout(runGuard, 0);\n    }\n    window.addEventListener('pageshow', runGuard);\n  }\n\n  function installStorefrontV2PilotLaunchIntercept() {\n    if (window.__BG_DESIGNER_STOREFRONT_V2_PILOT_LAUNCH_INTERCEPT_V1__) return;\n    window.__BG_DESIGNER_STOREFRONT_V2_PILOT_LAUNCH_INTERCEPT_V1__ = true;\n\n    var launchTimer = 0;\n    var warmSelectionInterval = 0;\n    var lastWarmSelectionKey = '';\n    var shellDocumentWarmed = false;\n\n    function buildWarmSelectionKey(selection) {\n      var source = selection && typeof selection === 'object' ? selection : {};\n      return [\n        sanitizeProjectId(source.projectId),\n        sanitizeText(source.designId),\n        sanitizeText(source.designNumber),\n        sanitizeText(source.backer)\n      ].join(':');\n    }\n\n    function ensureStorefrontPilotActiveClient(selection) {\n      var activeClient = window.__BG_SELF_HOSTED_ACTIVE_CLIENT__ || window.ppclient || null;\n      if (activeClient && typeof activeClient.showApp === 'function') {\n        return activeClient;\n      }\n      var compatCtor = window.BGSelfHostedPitchPrintClient;\n      if (typeof compatCtor !== 'function') return null;\n      try {\n        activeClient = new compatCtor({\n          designId: sanitizeText(selection && selection.designId),\n          designNumber: sanitizeText(selection && selection.designNumber),\n          displayMode: 'modal',\n          mode: 'edit'\n        });\n        window.ppclient = activeClient;\n        window.__BG_SELF_HOSTED_ACTIVE_CLIENT__ = activeClient;\n        return activeClient;\n      } catch (_) {\n        return null;\n      }\n    }\n\n    function launchFromSelection(selection) {\n      if (!shouldUseStorefrontV2Pilot()) return false;\n      var normalizedSelection = selection && typeof selection === 'object' ? selection : {};\n      syncTemplateSelectionGlobals(normalizedSelection);\n      var launchUrl = buildStorefrontV2PilotLaunchUrl(normalizedSelection);\n      if (!launchUrl) {\n        ensureStorefrontV2TemplateLookupMap().then(function() {\n          launchFromSelection(normalizedSelection);\n        }).catch(function() {});\n        return false;\n      }\n      var activeClient = ensureStorefrontPilotActiveClient(normalizedSelection);\n      if (activeClient && typeof activeClient.showApp === 'function') {\n        return activeClient.showApp();\n      }\n      window.location.assign(launchUrl);\n      return true;\n    }\n\n    function prewarmFromSelection(selection) {\n      if (!shouldUseStorefrontV2Pilot()) return false;\n      var normalizedSelection = selection && typeof selection === 'object' ? selection : {};\n      if (\n        !sanitizeProjectId(normalizedSelection.projectId)\n        && !sanitizeText(normalizedSelection.designId)\n        && !sanitizeText(normalizedSelection.designNumber)\n      ) {\n        return false;\n      }\n      syncTemplateSelectionGlobals(normalizedSelection);\n      var activeClient = ensureStorefrontPilotActiveClient(normalizedSelection);\n      if (activeClient && typeof activeClient.prewarmStorefrontShell === 'function') {\n        void activeClient.prewarmStorefrontShell(normalizedSelection).catch(function() {\n          // Ignore shell prewarm failures. The live launch still works without this.\n        });\n        return true;\n      }\n      if (prefetchStorefrontV2PilotLaunch(normalizedSelection)) {\n        return true;\n      }\n      void ensureStorefrontV2TemplateLookupMap().then(function() {\n        prefetchStorefrontV2PilotLaunch(normalizedSelection);\n      }).catch(function() {});\n      return false;\n    }\n\n    function prewarmShellDocument() {\n      if (!shouldUseStorefrontV2Pilot()) return false;\n      if (shellDocumentWarmed) return true;\n      shellDocumentWarmed = true;\n      var activeClient = ensureStorefrontPilotActiveClient({});\n      if (activeClient && typeof activeClient.prewarmStorefrontShellDocument === 'function') {\n        void activeClient.prewarmStorefrontShellDocument().catch(function() {\n          // Ignore shell warmup failures. The interactive launch still works without this.\n        });\n        return true;\n      }\n      return false;\n    }\n\n    function syncWarmSelection() {\n      if (!shouldUseStorefrontV2Pilot()) return false;\n      var selection = readStorefrontV2PilotSelection();\n      var selectionKey = buildWarmSelectionKey(selection);\n      if (!selectionKey.replace(/:/g, '')) {\n        lastWarmSelectionKey = '';\n        return false;\n      }\n      if (selectionKey === lastWarmSelectionKey) {\n        return true;\n      }\n      lastWarmSelectionKey = selectionKey;\n      return prewarmFromSelection(selection);\n    }\n\n    if (readPitchPrintHybridProvider() !== 'pitchprint') {\n      window.launchDesignFromProductPage = function launchDesignFromProductPage() {\n        return launchFromSelection(readStorefrontV2PilotSelection());\n      };\n      window.prefetchDesignFromProductPage = function prefetchDesignFromProductPage() {\n        return prewarmFromSelection(readStorefrontV2PilotSelection());\n      };\n    }\n    void ensureStorefrontV2TemplateLookupMap();\n    window.addEventListener('bg:product-editor-mapping-resolved', function() {\n      void ensureStorefrontV2TemplateLookupMap();\n    });\n\n    document.addEventListener('click', function(event) {\n      if (!shouldUseStorefrontV2Pilot()) return;\n      var target = event && event.target && typeof event.target.closest === 'function'\n        ? event.target.closest('button, a')\n        : null;\n      if (!target) return;\n      var guidedArtworkAction = sanitizeText(target.getAttribute('data-bg-artwork-action'));\n      if (guidedArtworkAction === 'template-customize-online' && target.closest('#bgGuidedArtworkFlow')) {\n        return;\n      }\n      var text = sanitizeText(target.textContent || target.value || '').toLowerCase();\n      if (!/^customize online\\b/i.test(text)) return;\n\n      var selection = readStorefrontV2PilotSelection();\n      if (!selection.designId && !selection.designNumber) return;\n\n      if (typeof event.preventDefault === 'function') event.preventDefault();\n      if (typeof event.stopPropagation === 'function') event.stopPropagation();\n      if (typeof event.stopImmediatePropagation === 'function') event.stopImmediatePropagation();\n\n      if (launchTimer) {\n        window.clearTimeout(launchTimer);\n      }\n      launchTimer = window.setTimeout(function() {\n        launchTimer = 0;\n        launchFromSelection(readStorefrontV2PilotSelection(selection));\n      }, 150);\n    }, true);\n\n    function warmLaunch() {\n      if (!shouldUseStorefrontV2Pilot()) return;\n      prewarmShellDocument();\n      syncWarmSelection();\n      if (warmSelectionInterval) return;\n      warmSelectionInterval = window.setInterval(syncWarmSelection, 250);\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', warmLaunch, { once: true });\n    } else {\n      window.setTimeout(warmLaunch, 0);\n    }\n    window.addEventListener('pageshow', warmLaunch);\n  }\n\n  function getEditorUrl() {\n    var bridge = window.BGDesignerBridge;\n    if (bridge) {\n      var bootstrap = (typeof bridge.readStoredBootstrap === 'function') ? bridge.readStoredBootstrap() : null;\n      if (bootstrap && bootstrap.editorBaseUrl) return toAbsoluteUrl(bootstrap.editorBaseUrl);\n    }\n    // Studio's own address: the retired /editor only redirects here.\n    return toAbsoluteUrl(getProxyRoot().replace(/\\/$/, '') + '/editor-v2');\n  }\n\n  installStorefrontV2ReturnHydrationGuard();\n  installStorefrontV2PilotLaunchIntercept();\n\n  function getPreviewThemeIdFromLocation() {\n    try {\n      return sanitizeText(new URLSearchParams(String(window.location.search || '')).get('preview_theme_id'));\n    } catch (_) {\n      return '';\n    }\n  }\n\n  function resolveDesignerUiVariant() {\n    var forced = sanitizeText(window.BG_DESIGNER_UI_VARIANT);\n    if (forced) return forced;\n    var host = sanitizeText(window.location.hostname).replace(/^www\\./i, '').toLowerCase();\n    var previewThemeId = getPreviewThemeIdFromLocation();\n    var activeThemeId = sanitizeText(window.Shopify && window.Shopify.theme && window.Shopify.theme.id);\n    if (host === 'boguna.com' && (previewThemeId === BOGUNA_LEGACY_UI_PREVIEW_THEME_ID || activeThemeId === BOGUNA_LEGACY_UI_PREVIEW_THEME_ID)) {\n      return 'legacy-boguna';\n    }\n    return '';\n  }\n\n  function getAdminUrl() {\n    var bridge = window.BGDesignerBridge;\n    if (bridge) {\n      var bootstrap = (typeof bridge.readStoredBootstrap === 'function') ? bridge.readStoredBootstrap() : null;\n      if (bootstrap && bootstrap.adminBaseUrl) return toAbsoluteUrl(bootstrap.adminBaseUrl);\n    }\n    return toAbsoluteUrl(getProxyRoot() + '/admin');\n  }\n\n  function getApiBaseUrl() {\n    var bridge = window.BGDesignerBridge;\n    if (bridge) {\n      var bootstrap = (typeof bridge.readStoredBootstrap === 'function') ? bridge.readStoredBootstrap() : null;\n      if (bootstrap && bootstrap.apiBaseUrl) return toAbsoluteUrl(bootstrap.apiBaseUrl);\n    }\n    return toAbsoluteUrl(getProxyRoot());\n  }\n\n  function getCustomerSummary() {\n    var customer = window.customerData || {};\n    var id = sanitizeText(customer.id) || 'guest';\n    return {\n      id: id,\n      email: sanitizeText(customer.email),\n      displayName: sanitizeText((customer.firstName || '') + ' ' + (customer.lastName || '')),\n    };\n  }\n\n  function sanitizeLegacyDesignId(value) {\n    return sanitizeText(value).replace(/^\\*+/, '');\n  }\n\n  function slugifyValue(value, fallback) {\n    var clean = sanitizeText(value).replace(/[^\\w-]+/g, '_').replace(/^_+|_+$/g, '');\n    return clean || sanitizeText(fallback || 'item') || 'item';\n  }\n\n  function roundNumber(value) {\n    var number = Number(value || 0);\n    if (!Number.isFinite(number)) return 0;\n    return Math.round(number * 1000) / 1000;\n  }\n\n  function deepClone(value) {\n    return JSON.parse(JSON.stringify(value || null));\n  }\n\n  function nowIso() {\n    return new Date().toISOString();\n  }\n\n  function getTemplateDataUrl() {\n    return toAbsoluteUrl(window.BG_DESIGNER_TEMPLATE_DATA_URL || '');\n  }\n\n  function getTemplateSourceBaseUrl() {\n    var baseUrl = sanitizeText(window.BG_DESIGNER_TEMPLATE_SOURCE_ENDPOINT || (getProxyRoot() + '/templates/source'));\n    return toAbsoluteUrl(baseUrl.replace(/\\/+$/, '') + '/');\n  }\n\n  function normalizeDesignCatalogPayload(payload) {\n    if (Array.isArray(payload)) return payload;\n    if (payload && typeof payload === 'object') {\n      if (Array.isArray(payload.items)) return payload.items;\n      if (payload.result && typeof payload.result === 'object' && Array.isArray(payload.result.items)) {\n        return payload.result.items;\n      }\n    }\n    return [];\n  }\n\n  async function loadDesignCatalog() {\n    if (Array.isArray(window.allDesigns) && window.allDesigns.length) {\n      return window.allDesigns;\n    }\n    if (DESIGN_CATALOG_PROMISE) return DESIGN_CATALOG_PROMISE;\n\n    var templateUrl = getTemplateDataUrl();\n    if (!templateUrl) return [];\n\n    DESIGN_CATALOG_PROMISE = fetch(templateUrl, { credentials: 'same-origin' })\n      .then(function(response) {\n        if (!response.ok) throw new Error('Template catalog request failed');\n        return response.json();\n      })\n      .then(function(data) {\n        var designs = normalizeDesignCatalogPayload(data);\n        window.allDesigns = designs;\n        window.__bgSelfHostedTemplateCatalogSource = data && data.source ? data.source : (Array.isArray(data) ? 'legacy-template-json' : '');\n        window.__bgSelfHostedTemplateCatalogCount = designs.length;\n        return designs;\n      })\n      .catch(function() {\n        window.__bgSelfHostedTemplateCatalogSource = 'unavailable';\n        window.__bgSelfHostedTemplateCatalogCount = 0;\n        return [];\n      });\n\n    return DESIGN_CATALOG_PROMISE;\n  }\n\n  function toNumberOr(value, fallback) {\n    var number = Number(value);\n    return Number.isFinite(number) ? number : fallback;\n  }\n\n  function mapDocumentUnit(value) {\n    var unit = sanitizeText(value).toLowerCase();\n    if (unit === 'px' || unit === 'pixel' || unit === 'pixels') return 'px';\n    if (unit === 'cm' || unit === 'centimeter' || unit === 'centimeters') return 'cm';\n    if (unit === 'mm' || unit === 'millimeter' || unit === 'millimeters') return 'mm';\n    if (unit === 'ft' || unit === 'foot' || unit === 'feet') return 'feet';\n    return 'inches';\n  }\n\n  function normalizeSourceObjectType(value) {\n    var rawType = sanitizeText(value).toLowerCase();\n    if (rawType === 'image') return 'image';\n    if (rawType === 'group') return 'group';\n    if (rawType === 'textbox' || rawType === 'i-text' || rawType === 'text' || rawType === 'curved-text') return 'text';\n    return 'shape';\n  }\n\n  function buildProductContext(template) {\n    return {\n      title: sanitizeText(template && template.product),\n      handle: sanitizeText(template && template.handle),\n    };\n  }\n\n  function buildObjectFromPitchPrintSource(rawObject, index) {\n    var item = rawObject && typeof rawObject === 'object' ? rawObject : {};\n    var scaleX = Math.abs(toNumberOr(item.scaleX, 1));\n    var scaleY = Math.abs(toNumberOr(item.scaleY, 1));\n    var sourceType = normalizeSourceObjectType(item.type);\n    var src = sanitizeText(item.src || item.url);\n    var positionLocked = !!(\n      item.dLocked\n      || item.lockMovementX\n      || item.lockMovementY\n      || item.lockRotation\n      || item.lockScalingX\n      || item.lockScalingY\n    );\n    var editingLocked = sourceType === 'text'\n      ? !!(\n        item.eLocked\n        || item.editable === false\n        || ((item.tLocked || item.locked) && !positionLocked)\n      )\n      : false;\n    var aggregateLocked = !!(\n      item.tLocked\n      || item.dLocked\n      || item.eLocked\n      || item.locked\n      || positionLocked\n      || editingLocked\n    );\n    return {\n      id: sanitizeText(item.reference || item.id) || ('object_' + index),\n      type: sourceType,\n      name: sanitizeText(item.text || item.name || item.reference || item.type) || ('Object ' + (index + 1)),\n      x: roundNumber(toNumberOr(item.left, 0) / 72),\n      y: roundNumber(toNumberOr(item.top, 0) / 72),\n      width: Math.max(0.1, roundNumber((Math.abs(toNumberOr(item.width, 0)) * scaleX) / 72)),\n      height: Math.max(0.1, roundNumber((Math.abs(toNumberOr(item.height, 0)) * scaleY) / 72)),\n      rotation: roundNumber(toNumberOr(item.angle, 0)),\n      locked: aggregateLocked,\n      visible: item.visible !== false,\n      fill: typeof item.fill === 'string' ? item.fill : '',\n      stroke: typeof item.stroke === 'string' ? item.stroke : '',\n      text: sanitizeText(item.text),\n      assetId: sanitizeText(item.reference || item.url || item.src),\n      metadata: {\n        rawType: sanitizeText(item.type),\n        src: src,\n        positionLocked: positionLocked,\n        editingLocked: editingLocked,\n        fontSize: roundNumber(toNumberOr(item.fontSize, 0) / 72),\n        fontWeight: sanitizeText(item.fontWeight),\n        fontFamily: sanitizeText(item.fontFamily),\n      },\n    };\n  }\n\n  function buildBoardFromPitchPrintPage(page, index, boardCount, template, client, unit, previewUrl) {\n    var rawPage = page && typeof page === 'object' ? page : {};\n    var pageData = rawPage.pageData && typeof rawPage.pageData === 'object' ? rawPage.pageData : {};\n    var canvas = rawPage.canvas && typeof rawPage.canvas === 'object' ? rawPage.canvas : {};\n    var candidateDimensions = getCandidateDimensions(client, template);\n    var width = Math.max(\n      0.5,\n      roundNumber(\n        toNumberOr(pageData.fWidth, 0)\n        || (unit === 'inches' ? (toNumberOr(canvas.width, 0) / 72) : toNumberOr(canvas.width, 0))\n        || candidateDimensions.width\n      )\n    );\n    var height = Math.max(\n      0.5,\n      roundNumber(\n        toNumberOr(pageData.fHeight, 0)\n        || (unit === 'inches' ? (toNumberOr(canvas.height, 0) / 72) : toNumberOr(canvas.height, 0))\n        || candidateDimensions.height\n      )\n    );\n    var objects = Array.isArray(canvas.objects)\n      ? canvas.objects.map(buildObjectFromPitchPrintSource)\n      : [];\n\n    return {\n      id: sanitizeText(rawPage.id || pageData.pageId) || slugifyValue(buildBoardName(index, boardCount, template).toLowerCase(), 'board_' + (index + 1)),\n      name: sanitizeText(pageData.title) || buildBoardName(index, boardCount, template),\n      width: width,\n      height: height,\n      unit: unit,\n      background: sanitizeText(canvas.backgroundColor) || '#ffffff',\n      guides: [],\n      metadata: {\n        previewUrl: previewUrl,\n        sourceAvailable: true,\n        pitchPrintPageData: deepClone(pageData),\n        pitchPrintCanvas: deepClone(canvas),\n      },\n      objects: objects,\n    };\n  }\n\n  function applyTemplateContextToDocument(documentData, template, fallbackSource) {\n    var documentValue = documentData && typeof documentData === 'object'\n      ? deepClone(documentData)\n      : buildDocumentFromTemplate(template || null, null);\n    var previews = collectPreviewUrlsFromDocument(documentValue);\n    if (!previews.length) {\n      previews = normalizePreviewUrls(template, Math.max(1, Array.isArray(documentValue.boards) ? documentValue.boards.length : 1));\n    }\n    if (!documentValue.legacy || typeof documentValue.legacy !== 'object') {\n      documentValue.legacy = {};\n    }\n    if (!documentValue.metadata || typeof documentValue.metadata !== 'object') {\n      documentValue.metadata = {};\n    }\n    documentValue.legacy.pitchPrintDesignId = sanitizeLegacyDesignId(documentValue.legacy.pitchPrintDesignId || (template && template.id));\n    documentValue.legacy.designNumber = sanitizeText(documentValue.legacy.designNumber || (template && template.designnum));\n    documentValue.metadata.previews = previews.slice();\n    documentValue.metadata.product = Object.assign(\n      {},\n      buildProductContext(template),\n      (documentValue.metadata.product && typeof documentValue.metadata.product === 'object') ? documentValue.metadata.product : {}\n    );\n    documentValue.metadata.handle = sanitizeText(documentValue.metadata.handle || (template && template.handle));\n    documentValue.metadata.source = sanitizeText(documentValue.metadata.source || fallbackSource || (template && template.source));\n    documentValue.metadata.categoryId = sanitizeText(documentValue.metadata.categoryId || (template && template.design_category_id));\n    documentValue.assetRefs = Array.isArray(documentValue.assetRefs) ? documentValue.assetRefs.slice() : previews.slice();\n    return documentValue;\n  }\n\n  function documentNeedsTemplateSource(documentData) {\n    if (!documentData || typeof documentData !== 'object') return true;\n    if (!Array.isArray(documentData.boards) || !documentData.boards.length) return true;\n    var hasRawCanvas = documentData.boards.some(function(board) {\n      return board && board.metadata && typeof board.metadata === 'object' && board.metadata.pitchPrintCanvas && typeof board.metadata.pitchPrintCanvas === 'object';\n    });\n    if (hasRawCanvas) return false;\n    var objectCount = documentData.boards.reduce(function(total, board) {\n      return total + (Array.isArray(board && board.objects) ? board.objects.length : 0);\n    }, 0);\n    return objectCount === 0 || !!(documentData.metadata && documentData.metadata.placeholder);\n  }\n\n  function buildDocumentFromPitchPrintSource(template, rawSource, client) {\n    var source = rawSource && typeof rawSource === 'object' ? rawSource : null;\n    if (!source || !Array.isArray(source.pages) || !source.pages.length) {\n      return buildDocumentFromTemplate(template || null, client);\n    }\n    var unit = mapDocumentUnit(source.unit || (template && template.unit) || 'inches');\n    var boardCount = Math.max(\n      source.pages.length,\n      Number(template && template.number_of_pages || 0) || 0,\n      1\n    );\n    var previews = normalizePreviewUrls(template, boardCount);\n    var boards = source.pages.map(function(page, index) {\n      return buildBoardFromPitchPrintPage(page, index, boardCount, template, client, unit, previews[index] || previews[0]);\n    });\n    var assetRefs = [];\n    boards.forEach(function(board) {\n      var previewUrl = sanitizeText(board && board.metadata && board.metadata.previewUrl);\n      if (previewUrl && assetRefs.indexOf(previewUrl) === -1) assetRefs.push(previewUrl);\n      (Array.isArray(board && board.objects) ? board.objects : []).forEach(function(object) {\n        var assetId = sanitizeText(object && (object.assetId || (object.metadata && object.metadata.src)));\n        if (assetId && assetRefs.indexOf(assetId) === -1) assetRefs.push(assetId);\n      });\n    });\n\n    return applyTemplateContextToDocument({\n      version: 'designer-document/v1',\n      id: 'doc_' + slugifyValue((template && (template.designnum || template.id)) || source.designId, 'pitchprint'),\n      title: sanitizeText(source.title) || sanitizeText(template && template.template_name) || 'Self-Hosted Preview',\n      description: '',\n      unit: unit,\n      createdAt: nowIso(),\n      updatedAt: nowIso(),\n      legacy: {\n        pitchPrintDesignId: sanitizeLegacyDesignId(source.designId || (template && template.id)),\n        designNumber: sanitizeText(template && template.designnum),\n      },\n      print: {\n        outputDpi: 300,\n        bleed: source.pages.reduce(function(maxBleed, page) {\n          var pageData = page && page.pageData && typeof page.pageData === 'object' ? page.pageData : {};\n          var bleedValue = Number(pageData.bleed || 0) || 0;\n          return Math.max(maxBleed, bleedValue);\n        }, 0),\n        bleedPlacement: 'outside',\n        colorMode: sanitizeText(source.pdfColor).toUpperCase() === 'RGB' ? 'RGB' : 'CMYK',\n      },\n      boards: boards,\n      assetRefs: assetRefs,\n      metadata: {\n        sourceAvailable: true,\n        defaultTab: sanitizeText(source.defaultTab),\n        layout: sanitizeText(source.layout),\n        previews: previews.slice(),\n        product: buildProductContext(template),\n      },\n    }, template, 'pitchprint-source-proxy');\n  }\n\n  function buildTemplateLookupCandidates(client, bootstrap) {\n    var candidates = [];\n    var vars = client && client._vars ? client._vars : {};\n    var designInput = findDesignInput();\n    var pickerSelection = getTemplatePickerSelection();\n\n    function pushCandidate(id, designNumber) {\n      var designId = sanitizeLegacyDesignId(id);\n      var number = sanitizeText(designNumber);\n      if (!designId && !number) return;\n      candidates.push({\n        id: designId,\n        designNumber: number,\n      });\n    }\n\n    pushCandidate(pickerSelection && pickerSelection.id, pickerSelection && pickerSelection.designNumber);\n    pushCandidate(window.currentEditServiceDesignID, pickerSelection && pickerSelection.designNumber);\n    pushCandidate(vars.designId, vars.designNumber);\n    pushCandidate(bootstrap && bootstrap.designId, bootstrap && bootstrap.designNumber);\n    pushCandidate(window.designIDFromTemplatePage, window.designNumberFromTemplatePage);\n    pushCandidate(window.ppDesignID, window.ppDesignNumber);\n    pushCandidate('', designInput && designInput.value);\n\n    return candidates;\n  }\n\n  async function loadPitchPrintSourceDocument(template, client) {\n    var designId = sanitizeLegacyDesignId(template && template.id);\n    if (!designId) return null;\n    if (TEMPLATE_SOURCE_PROMISES[designId]) return TEMPLATE_SOURCE_PROMISES[designId];\n\n    var requestUrl = getTemplateSourceBaseUrl() + encodeURIComponent(designId) + '?fresh=' + encodeURIComponent(String(Date.now()));\n    TEMPLATE_SOURCE_PROMISES[designId] = fetch(requestUrl, {\n      credentials: 'same-origin',\n      cache: 'no-store'\n    })\n      .then(function(response) {\n        if (!response.ok) throw new Error('PitchPrint source request failed');\n        return response.json();\n      })\n      .then(function(payload) {\n        var source = payload && typeof payload === 'object' && payload.source && typeof payload.source === 'object'\n          ? payload.source\n          : payload;\n        return buildDocumentFromPitchPrintSource(template, source, client);\n      })\n      .catch(function() {\n        return null;\n      });\n\n    return TEMPLATE_SOURCE_PROMISES[designId];\n  }\n\n  function parseDimensionPair(raw) {\n    var clean = sanitizeText(raw).replace(/\"/g, '');\n    if (!clean) return null;\n    var match = clean.match(/(\\d+(?:\\.\\d+)?)[^\\d]+(\\d+(?:\\.\\d+)?)/);\n    if (!match) return null;\n    var width = Number(match[1]);\n    var height = Number(match[2]);\n    if (!Number.isFinite(width) || !Number.isFinite(height)) return null;\n    return {\n      width: width,\n      height: height,\n    };\n  }\n\n  function getCandidateDimensions(client, template) {\n    var vars = client && client._vars ? client._vars : {};\n    var width = Number(vars.width || vars.pageWidth || 0);\n    var height = Number(vars.height || vars.pageHeight || 0);\n    if (width > 0 && height > 0) {\n      return {\n        width: roundNumber(width),\n        height: roundNumber(height),\n      };\n    }\n\n    var candidates = [\n      template && template.size_formatted,\n      template && template.size,\n      template && template.label_from_size,\n      template && template.size_display_as,\n    ];\n\n    for (var index = 0; index < candidates.length; index += 1) {\n      var parsed = parseDimensionPair(candidates[index]);\n      if (parsed) return parsed;\n    }\n\n    return {\n      width: 9,\n      height: 6.5,\n    };\n  }\n\n  function buildBoardName(index, total, template) {\n    var backers = template && Array.isArray(template.backers) ? template.backers : [];\n    if (backers[index] && backers[index].label) return sanitizeText(backers[index].label);\n    if (total === 1) return 'Front';\n    if (index === 0) return 'Front';\n    if (index === 1 && total === 2) return 'Back';\n    return 'Board ' + (index + 1);\n  }\n\n  function normalizePreviewUrls(template, boardCount) {\n    var urls = [];\n    var previews = template && Array.isArray(template.previews) ? template.previews : [];\n    previews.forEach(function(url) {\n      var absolute = normalizePreviewUrl(url);\n      if (absolute) urls.push(absolute);\n    });\n    if (!urls.length && template && template.design_preview_url) {\n      urls.push(normalizePreviewUrl(template.design_preview_url));\n    }\n    if (!urls.length) {\n      urls.push(getDefaultPreviewDataUrl());\n    }\n    while (urls.length < boardCount) {\n      urls.push(urls[urls.length - 1] || urls[0]);\n    }\n    return urls.slice(0, boardCount);\n  }\n\n  function buildTemplateContext(template) {\n    if (!template || typeof template !== 'object') return null;\n    return {\n      id: sanitizeLegacyDesignId(template.id),\n      designnum: sanitizeText(template.designnum),\n      template_name: sanitizeText(template.template_name),\n      product: sanitizeText(template.product),\n      handle: sanitizeText(template.handle),\n      previews: Array.isArray(template.previews) ? template.previews.slice() : [],\n      design_preview_url: sanitizeText(template.design_preview_url),\n      number_of_pages: Number(template.number_of_pages || 0) || undefined,\n      size: sanitizeText(template.size),\n      size_formatted: sanitizeText(template.size_formatted),\n      backers: Array.isArray(template.backers) ? template.backers.slice() : [],\n      source: sanitizeText(template.source),\n      design_category_id: sanitizeLegacyDesignId(template.design_category_id),\n    };\n  }\n\n  function getDesignStackTemplates(client) {\n    var vars = client && client._vars ? client._vars : {};\n    var stack = vars && vars.designStack && typeof vars.designStack === 'object' ? vars.designStack : null;\n    var categoryId = sanitizeLegacyDesignId(vars.designCat || vars.designId);\n    if (!stack) return [];\n\n    return Object.keys(stack).map(function(key) {\n      var item = stack[key] && typeof stack[key] === 'object' ? stack[key] : {};\n      var designId = sanitizeLegacyDesignId(item.id || key);\n      var title = sanitizeText(item.template_name || item.title || item.name);\n      var previewUrl = toAbsoluteUrl(item.design_preview_url || item.thumbnail || '');\n      var previewUrls = Array.isArray(item.previews) && item.previews.length\n        ? item.previews.map(toAbsoluteUrl).filter(Boolean)\n        : (previewUrl ? [previewUrl] : []);\n      return {\n        id: designId,\n        designnum: sanitizeText(item.designnum),\n        template_name: title || 'PitchPrint Stack Template',\n        product: sanitizeText(vars.product && (vars.product.title || vars.product.name)),\n        handle: sanitizeText((window.location.pathname || '').split('/').pop()),\n        previews: previewUrls,\n        design_preview_url: previewUrl,\n        number_of_pages: Number(item.numPages || item.number_of_pages || 0) || undefined,\n        backers: [],\n        source: 'pitchprint-design-stack',\n        design_category_id: categoryId,\n        stack_tags: sanitizeText(item.tags),\n      };\n    }).filter(function(item) {\n      return !!item.id;\n    });\n  }\n\n  function buildDocumentFromTemplate(template, client) {\n    var vars = client && client._vars ? client._vars : {};\n    var dimensions = getCandidateDimensions(client, template);\n    var boardCount = Math.max(\n      1,\n      Number(vars.numPages || 0) || 0,\n      Number(template && template.number_of_pages || 0) || 0,\n      Array.isArray(template && template.previews) ? template.previews.length : 0\n    );\n    var previews = normalizePreviewUrls(template, boardCount);\n    var title = sanitizeText(template && template.template_name) || sanitizeText(vars.designNumber) || 'Self-Hosted Preview';\n    var boards = [];\n\n    for (var index = 0; index < boardCount; index += 1) {\n      var boardId = slugifyValue((template && template.designnum ? template.designnum + '_' : '') + buildBoardName(index, boardCount, template).toLowerCase(), 'board_' + (index + 1));\n      var boardName = buildBoardName(index, boardCount, template);\n      var previewUrl = previews[index] || previews[0];\n      boards.push({\n        id: boardId,\n        name: boardName,\n        width: dimensions.width,\n        height: dimensions.height,\n        unit: 'inches',\n        background: '#ffffff',\n        guides: [],\n        metadata: {\n          previewUrl: previewUrl,\n        },\n        objects: [\n          {\n            id: 'preview_' + boardId,\n            type: 'image',\n            name: boardName + ' Preview',\n            x: 0,\n            y: 0,\n            width: dimensions.width,\n            height: dimensions.height,\n            rotation: 0,\n            locked: true,\n            visible: true,\n            fill: '',\n            stroke: '',\n            text: '',\n            assetId: previewUrl,\n            metadata: {\n              src: previewUrl,\n              role: 'preview',\n            },\n          },\n          {\n            id: 'label_' + boardId,\n            type: 'text',\n            name: boardName + ' Label',\n            x: 0.45,\n            y: 0.35,\n            width: Math.max(2.8, dimensions.width * 0.58),\n            height: Math.max(0.55, dimensions.height * 0.12),\n            rotation: 0,\n            locked: false,\n            visible: true,\n            fill: '#172128',\n            stroke: '',\n            text: index === 0 ? title : boardName,\n            assetId: '',\n            metadata: {\n              fontSize: Math.max(0.28, Math.min(0.6, dimensions.height * 0.08)),\n              fontWeight: index === 0 ? '700' : '600',\n            },\n          },\n          {\n            id: 'meta_' + boardId,\n            type: 'text',\n            name: boardName + ' Meta',\n            x: 0.45,\n            y: Math.max(0.9, dimensions.height - 0.85),\n            width: Math.max(2.6, dimensions.width * 0.48),\n            height: 0.32,\n            rotation: 0,\n            locked: false,\n            visible: true,\n            fill: '#0f4c81',\n            stroke: '',\n            text: sanitizeText(template && template.product) || 'Storefront Template',\n            assetId: '',\n            metadata: {\n              fontSize: 0.22,\n              fontWeight: '600',\n            },\n          },\n        ],\n      });\n    }\n\n    return {\n      version: 'designer-document/v1',\n      id: 'doc_' + slugifyValue(template && (template.designnum || template.id), 'preview'),\n      title: title,\n      description: 'Storefront preview document created from template metadata.',\n      unit: 'inches',\n      createdAt: nowIso(),\n      updatedAt: nowIso(),\n      legacy: {\n        pitchPrintDesignId: sanitizeLegacyDesignId(template && template.id),\n        designNumber: sanitizeText(template && template.designnum),\n      },\n      print: {\n        outputDpi: 300,\n        bleed: 0,\n        colorMode: 'CMYK',\n      },\n      boards: boards,\n      assetRefs: previews.slice(),\n      metadata: {\n        source: 'bg-all-templates',\n        product: sanitizeText(template && template.product),\n        handle: sanitizeText(template && template.handle),\n      },\n    };\n  }\n\n  async function resolveTemplateForClient(client, bootstrap) {\n    var candidates = buildTemplateLookupCandidates(client, bootstrap);\n    var stackTemplates = getDesignStackTemplates(client);\n\n    var catalog = await loadDesignCatalog();\n    for (var index = 0; index < candidates.length; index += 1) {\n      var candidate = candidates[index];\n      var found = catalog.find(function(item) {\n        var itemId = sanitizeLegacyDesignId(item && item.id);\n        var itemNumber = sanitizeText(item && item.designnum);\n        return (candidate.id && itemId === candidate.id) || (candidate.designNumber && itemNumber === candidate.designNumber);\n      });\n      if (found) return found;\n    }\n\n    for (var stackIndex = 0; stackIndex < candidates.length; stackIndex += 1) {\n      var stackCandidate = candidates[stackIndex];\n      var stackFound = stackTemplates.find(function(item) {\n        var itemId = sanitizeLegacyDesignId(item && item.id);\n        var itemNumber = sanitizeText(item && item.designnum);\n        return (stackCandidate.id && itemId === stackCandidate.id) || (stackCandidate.designNumber && itemNumber === stackCandidate.designNumber);\n      });\n      if (stackFound) return stackFound;\n    }\n\n    if (stackTemplates.length) {\n      return stackTemplates[0];\n    }\n\n    return null;\n  }\n\n  function getResumeContext() {\n    var context = window.__PP_AUTH_RESUME_CONTEXT;\n    return context && typeof context === 'object' ? context : null;\n  }\n\n  function buildProjectTemplateContext(projectRecord, resumeContext) {\n    var project = (projectRecord && typeof projectRecord === 'object') ? projectRecord : {};\n    var context = (resumeContext && typeof resumeContext === 'object') ? resumeContext : {};\n    var documentData = project.document && typeof project.document === 'object' ? project.document : {};\n    var legacy = documentData.legacy && typeof documentData.legacy === 'object' ? documentData.legacy : {};\n    var product = project.product && typeof project.product === 'object'\n      ? project.product\n      : (documentData.metadata && documentData.metadata.product && typeof documentData.metadata.product === 'object'\n        ? documentData.metadata.product\n        : {});\n    var previews = Array.isArray(context.resumePreviews) && context.resumePreviews.length\n      ? context.resumePreviews.slice()\n      : (Array.isArray(project.previews) ? project.previews.slice() : []);\n\n    return {\n      id: sanitizeLegacyDesignId(context.designId || project.designId || legacy.pitchPrintDesignId),\n      designnum: sanitizeText(context.designNumber || project.designNumber || legacy.designNumber),\n      template_name: sanitizeText(project.templateTitle || project.title || documentData.title),\n      product: sanitizeText(product && (product.title || product.name)),\n      handle: sanitizeText(product && product.handle),\n      previews: previews,\n      design_preview_url: sanitizeText(previews[0]),\n      number_of_pages: Number(project.numPages || (Array.isArray(documentData.boards) ? documentData.boards.length : 0)) || undefined,\n      backers: [],\n      source: context.cloneSourceProjectId ? 'self-hosted-project-clone' : 'self-hosted-project',\n      design_category_id: sanitizeText(project.categoryId || (documentData.metadata && documentData.metadata.categoryId))\n    };\n  }\n\n  async function buildLaunchContextFromProject(projectRecord, resumeContext, bootstrap, client) {\n    var project = (projectRecord && typeof projectRecord === 'object') ? projectRecord : {};\n    var context = (resumeContext && typeof resumeContext === 'object') ? resumeContext : {};\n    var templateContext = buildProjectTemplateContext(project, context);\n    var rawDocument = context.resumeDocument && typeof context.resumeDocument === 'object'\n      ? context.resumeDocument\n      : (project.document && typeof project.document === 'object' ? project.document : null);\n    var documentData = rawDocument ? deepClone(rawDocument) : buildDocumentFromTemplate(templateContext || null, client);\n    if (templateContext && documentNeedsTemplateSource(documentData)) {\n      var hydratedDocument = await loadPitchPrintSourceDocument(templateContext, client);\n      if (hydratedDocument) {\n        var existingLegacy = documentData && documentData.legacy && typeof documentData.legacy === 'object' ? documentData.legacy : {};\n        var existingMetadata = documentData && documentData.metadata && typeof documentData.metadata === 'object' ? documentData.metadata : {};\n        hydratedDocument.title = sanitizeText(project.title || hydratedDocument.title);\n        hydratedDocument.createdAt = sanitizeText(documentData && documentData.createdAt) || hydratedDocument.createdAt;\n        hydratedDocument.updatedAt = sanitizeText(documentData && documentData.updatedAt) || hydratedDocument.updatedAt;\n        hydratedDocument.legacy = Object.assign({}, hydratedDocument.legacy || {}, existingLegacy, {\n          pitchPrintProjectId: sanitizeProjectId(\n            project.legacyProjectId\n            || existingLegacy.pitchPrintProjectId\n            || (project.document && project.document.legacy && project.document.legacy.pitchPrintProjectId)\n          ) || undefined\n        });\n        hydratedDocument.metadata = Object.assign({}, hydratedDocument.metadata || {}, existingMetadata, {\n          product: project.product && typeof project.product === 'object'\n            ? project.product\n            : ((existingMetadata.product && typeof existingMetadata.product === 'object') ? existingMetadata.product : buildProductContext(templateContext)),\n          userData: project.userData && typeof project.userData === 'object'\n            ? project.userData\n            : ((existingMetadata.userData && typeof existingMetadata.userData === 'object') ? existingMetadata.userData : {}),\n        });\n        documentData = hydratedDocument;\n      }\n    }\n    documentData = applyTemplateContextToDocument(documentData, templateContext, templateContext && templateContext.source);\n    var previews = Array.isArray(context.resumePreviews) && context.resumePreviews.length\n      ? context.resumePreviews.slice()\n      : collectPreviewUrlsFromDocument(documentData);\n\n    if (!previews.length && Array.isArray(project.previews)) {\n      previews = project.previews.slice();\n    }\n\n    if (!documentData.updatedAt) {\n      documentData.updatedAt = nowIso();\n    }\n\n    return {\n      template: templateContext,\n      document: documentData,\n      previews: previews,\n      bootstrapDesignNumber: sanitizeText((context && context.designNumber) || (bootstrap && bootstrap.designNumber)),\n      source: context.cloneSourceProjectId\n        ? 'self-hosted-project-clone'\n        : (documentNeedsTemplateSource(rawDocument) ? 'pitchprint-source-proxy' : 'self-hosted-project'),\n      resolvedAt: nowIso(),\n      projectId: sanitizeProjectId(project.id),\n      projectPublicId: sanitizeText(project.publicId),\n      projectRevision: Number.isInteger(Number(project.revision)) && Number(project.revision) >= 0\n        ? Number(project.revision)\n        : null,\n      legacyProjectId: sanitizeProjectId(project.legacyProjectId || (documentData.legacy && documentData.legacy.pitchPrintProjectId))\n    };\n  }\n\n  async function buildLaunchContext(client, bootstrap) {\n    var resumeContext = getResumeContext();\n    var projectLookupId = sanitizeProjectId(\n      (resumeContext && (resumeContext.projectId || resumeContext.cloneSourceProjectId || resumeContext.legacyProjectId)) ||\n      (client && client._vars && client._vars.projectId) ||\n      (bootstrap && bootstrap.projectId)\n    );\n    if ((resumeContext && resumeContext.resumeDocument) ||\n        (window.BGDesignerBridge && typeof window.BGDesignerBridge.resolveProjectRecord === 'function' && projectLookupId)) {\n      var projectRecord = null;\n      if (projectLookupId && window.BGDesignerBridge && typeof window.BGDesignerBridge.resolveProjectRecord === 'function') {\n        try {\n          projectRecord = await window.BGDesignerBridge.resolveProjectRecord(projectLookupId);\n        } catch (_) {}\n      }\n      if ((resumeContext && resumeContext.resumeDocument) || projectRecord) {\n        return buildLaunchContextFromProject(projectRecord, resumeContext, bootstrap, client);\n      }\n    }\n\n    var template = await resolveTemplateForClient(client, bootstrap);\n    var hydratedTemplateDocument = template ? await loadPitchPrintSourceDocument(template, client) : null;\n    var documentData = hydratedTemplateDocument || buildDocumentFromTemplate(template || null, client);\n    documentData = applyTemplateContextToDocument(\n      documentData,\n      template,\n      hydratedTemplateDocument ? 'pitchprint-source-proxy' : (template && template.source)\n    );\n    return {\n      template: buildTemplateContext(template),\n      document: documentData,\n      previews: collectPreviewUrlsFromDocument(documentData),\n      bootstrapDesignNumber: sanitizeText(bootstrap && bootstrap.designNumber),\n      source: hydratedTemplateDocument ? 'pitchprint-source-proxy' : (sanitizeText(template && template.source) || 'bg-all-templates'),\n      resolvedAt: nowIso(),\n    };\n  }\n\n  function collectPreviewUrlsFromDocument(documentData) {\n    var doc = documentData || {};\n    var previews = Array.isArray(doc.boards)\n      ? doc.boards.map(function(board) {\n          var objects = Array.isArray(board && board.objects) ? board.objects : [];\n          var imageObject = objects.find(function(object) {\n            return object && object.type === 'image' && object.metadata && sanitizeText(object.metadata.src);\n          });\n          return imageObject && imageObject.metadata ? sanitizeText(imageObject.metadata.src) : '';\n        }).filter(Boolean)\n      : [];\n    if (previews.length) return previews;\n    return doc.metadata && Array.isArray(doc.metadata.previews)\n      ? doc.metadata.previews.map(normalizePreviewUrl).filter(Boolean)\n      : [];\n  }\n\n  function findProjectInputs() {\n    var seen = [];\n    var inputs = [];\n    [\n      document.getElementById('_pitchprint'),\n      document.querySelector('input[name=\"properties[_pitchprint]\"]'),\n      document.querySelector('._pitchprint input'),\n    ].forEach(function(input) {\n      if (!input || input.tagName !== 'INPUT') return;\n      if (seen.indexOf(input) !== -1) return;\n      seen.push(input);\n      inputs.push(input);\n    });\n    return inputs;\n  }\n\n  function findProjectInput() {\n    return findProjectInputs()[0] || null;\n  }\n\n  function findDesignInput() {\n    return document.querySelector('._pitchprintdesignnumber input') || null;\n  }\n\n  function getTemplatePickerSelection() {\n    var input = document.getElementById('bgTemplatePickerValue');\n    if (!input || input.tagName !== 'INPUT') return null;\n\n    var designId = sanitizeLegacyDesignId(input.dataset && input.dataset.templateId);\n    var designNumber = sanitizeText(input.dataset && input.dataset.templateDesignnum);\n    var label = sanitizeText(input.value);\n    if (!designId && !designNumber && !label) return null;\n\n    return {\n      id: designId,\n      designNumber: designNumber,\n      label: label,\n      backer: sanitizeText(input.dataset && input.dataset.templateBacker),\n      previewUrl: sanitizeText(input.dataset && input.dataset.templatePreviewUrl),\n    };\n  }\n\n  function syncTemplateSelectionGlobals(selection) {\n    if (!selection || typeof selection !== 'object') return false;\n    var designId = sanitizeLegacyDesignId(selection.id);\n    var designNumber = sanitizeText(selection.designNumber);\n    if (!designId && !designNumber) return false;\n\n    if (designId) {\n      window.designIDFromTemplatePage = designId;\n      window.ppDesignID = designId;\n    }\n    if (designNumber) {\n      window.designNumberFromTemplatePage = designNumber;\n      window.ppDesignNumber = designNumber;\n    }\n    if (selection.backer != null) {\n      window.selectedTemplateBackerFromPicker = sanitizeText(selection.backer);\n    }\n    return true;\n  }\n\n  function syncCompatInputs(values) {\n    if (window.BGDesignerBridge && typeof window.BGDesignerBridge.syncPitchPrintInputs === 'function') {\n      try {\n        window.BGDesignerBridge.syncPitchPrintInputs(values || {});\n        return;\n      } catch (_) {}\n    }\n\n    var projectInputs = findProjectInputs();\n    var designInput = findDesignInput();\n    var projectId = sanitizeProjectId(values && values.projectId);\n    var designNumber = sanitizeText(values && values.designNumber);\n\n    if (projectInputs.length && projectId) {\n      projectInputs.forEach(function(projectInput) {\n        projectInput.value = projectId;\n        try { projectInput.dispatchEvent(new Event('input', { bubbles: true })); } catch (_) {}\n        try { projectInput.dispatchEvent(new Event('change', { bubbles: true })); } catch (_) {}\n      });\n    }\n\n    if (designInput && designNumber) {\n      designInput.value = designNumber;\n      try { designInput.dispatchEvent(new Event('input', { bubbles: true })); } catch (_) {}\n      try { designInput.dispatchEvent(new Event('change', { bubbles: true })); } catch (_) {}\n    }\n  }\n\n  function buildSyntheticBootstrap(client) {\n    return {\n      sessionId: 'guest:' + Date.now().toString(36),\n      provider: 'self-hosted',\n      fabricVersion: DEFAULT_FABRIC_VERSION,\n      shop: sanitizeText((window.Shopify && window.Shopify.shop) || ''),\n      customer: getCustomerSummary(),\n      projectId: sanitizeProjectId(client && client._vars && client._vars.projectId) || undefined,\n      designNumber: sanitizeText(client && client._vars && client._vars.designNumber) || undefined,\n      apiBaseUrl: getApiBaseUrl(),\n      editorBaseUrl: getEditorUrl(),\n      adminBaseUrl: getAdminUrl(),\n      contracts: {\n        lifecycleEvents: ['lib-ready', 'before-show', 'editor-shown', 'design-loaded', 'project-saved', 'after-close-app'],\n        hiddenFieldSelectors: {\n          projectId: ['#_pitchprint', '._pitchprint input'],\n          designNumber: ['._pitchprintdesignnumber input'],\n        },\n      },\n      features: {\n        multiBoardModel: true,\n        multiBoardUi: true,\n        copyPasteAcrossBoards: true,\n        pdfExport: true,\n        previewRender: true,\n      },\n    };\n  }\n\n  async function fetchBootstrapForClient(client) {\n    if (window.BGDesignerBridge && typeof window.BGDesignerBridge.fetchBootstrap === 'function') {\n      try {\n        var bootstrap = await window.BGDesignerBridge.fetchBootstrap({\n          projectId: sanitizeProjectId(client && client._vars && client._vars.projectId),\n          designNumber: sanitizeText(client && client._vars && client._vars.designNumber),\n        });\n        if (bootstrap && typeof bootstrap === 'object') return bootstrap;\n      } catch (_) {}\n    }\n    return buildSyntheticBootstrap(client);\n  }\n\n  function injectStyles() {\n    if (STYLES_INJECTED) return;\n    STYLES_INJECTED = true;\n    var style = document.createElement('style');\n    style.textContent = [\n      '#' + OVERLAY_ID + '{position:fixed;inset:0;display:none;align-items:stretch;justify-content:stretch;z-index:2147483600;background:rgba(15,23,42,.62);backdrop-filter:blur(2px);padding:0;}',\n      '#' + OVERLAY_ID + '.is-open{display:flex;}',\n      '#' + OVERLAY_ID + ' .bg-self-hosted-designer__shell{position:relative;width:100vw;height:100dvh;height:100vh;display:block;border-radius:0;overflow:hidden;background:#f8f5ef;box-shadow:none;}',\n      '#' + OVERLAY_ID + ' iframe{display:block;width:100%;height:100%;border:0;background:#f4efe6;}',\n      '#' + OVERLAY_ID + '.bg-self-hosted-designer--legacy-boguna{padding:0;background:rgba(8,12,19,.18);backdrop-filter:blur(1px);}',\n      '#' + OVERLAY_ID + '.bg-self-hosted-designer--legacy-boguna .bg-self-hosted-designer__shell{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;background:#ecebe8;box-shadow:none;}',\n      '@media (max-width: 749px){#' + OVERLAY_ID + '{padding:0;}#' + OVERLAY_ID + ' .bg-self-hosted-designer__shell{width:100%;height:100dvh;height:100vh;border-radius:0;}}',\n    ].join('');\n    document.head.appendChild(style);\n  }\n\n  function buildPreviewPayload(client) {\n    var vars = client && client._vars ? client._vars : {};\n    var launchContext = client && client._launchContext ? client._launchContext : null;\n    var documentData = launchContext && launchContext.document ? launchContext.document : null;\n    var boards = documentData && Array.isArray(documentData.boards) && documentData.boards.length\n      ? documentData.boards\n      : [\n          { id: 'front', name: 'Front', width: Number(vars.width || vars.pageWidth || 9) || 9, height: Number(vars.height || vars.pageHeight || 6.5) || 6.5 },\n        ];\n    var previews = launchContext && Array.isArray(launchContext.previews) && launchContext.previews.length\n      ? launchContext.previews.map(normalizePreviewUrl)\n      : [getDefaultPreviewDataUrl()];\n    return {\n      designId: sanitizeText(vars.designId),\n      designNumber: sanitizeText(vars.designNumber) || sanitizeText(window.ppDesignNumber || window.designNumberFromTemplatePage),\n      numPages: boards.length,\n      previews: previews,\n      source: {\n        title: documentData && documentData.title ? documentData.title : (sanitizeText(vars.designNumber) || 'Self-Hosted Preview'),\n        tags: ['self-hosted-preview', 'fabric-6-bridge'],\n        document: documentData || undefined,\n        pages: boards.map(function(board) {\n          return {\n            pageData: {\n              pageId: board.id,\n              title: board.name,\n              fWidth: board.width,\n              fHeight: board.height,\n            },\n          };\n        }),\n      },\n    };\n  }\n\n  function SelfHostedPitchPrintClient(data) {\n    window.__BG_SELF_HOSTED_ACTIVE_CLIENT__ = this;\n    this.handlers = {};\n    this._bootstrap = null;\n    this._bootstrapPromise = null;\n    this._launchContext = null;\n    this._launchContextPromise = null;\n    this._frameReady = false;\n    this._overlay = null;\n    this._boundOnMessage = this._onMessage.bind(this);\n    this._vars = Object.assign({\n      apiBase: getApiBaseUrl(),\n      apiKey: sanitizeText(window.PITCH_APIKEY),\n      buildPath: '',\n      userId: getCustomerSummary().id,\n      projectId: sanitizeProjectId(data && data.projectId),\n      designId: sanitizeLegacyDesignId(data && data.designId),\n      designNumber: sanitizeText(data && data.designNumber) || sanitizeText(window.ppDesignNumber || window.designNumberFromTemplatePage),\n      numPages: Number(data && data.numPages) || 2,\n      displayMode: sanitizeText(data && data.displayMode) || 'modal',\n      mode: sanitizeText(data && data.mode) || 'edit',\n      lang: {\n        delete_message: 'Delete this design?',\n      },\n      product: Object.assign({}, (data && data.product) || {}),\n    }, data || {});\n    this.vars = this._vars;\n    this._ui = {\n      frame: null,\n      spinner: '',\n      labelObserver: null,\n    };\n\n    window.addEventListener('message', this._boundOnMessage, false);\n\n    var self = this;\n    setTimeout(function() {\n      try {\n        if (typeof window.ppDesignerInitialized === 'function') {\n          window.ppDesignerInitialized({ name: 'client' });\n        }\n      } catch (_) {}\n      self._emit('lib-ready', { source: 'self-hosted-compat' });\n    }, 0);\n  }\n\n  SelfHostedPitchPrintClient.prototype._loadScript = function _loadScript() {\n    return true;\n  };\n\n  SelfHostedPitchPrintClient.prototype.on = function on(eventName, handler) {\n    if (!eventName || typeof handler !== 'function') return this;\n    if (!this.handlers[eventName]) this.handlers[eventName] = [];\n    this.handlers[eventName].push(handler);\n    return this;\n  };\n\n  SelfHostedPitchPrintClient.prototype.off = function off(eventName, handler) {\n    var list = this.handlers[eventName];\n    if (!list || !list.length) return this;\n    this.handlers[eventName] = list.filter(function(entry) {\n      return entry !== handler;\n    });\n    return this;\n  };\n\n  SelfHostedPitchPrintClient.prototype._emit = function _emit(eventName, payload) {\n    var list = this.handlers[eventName] || [];\n    list.slice().forEach(function(handler) {\n      try { handler(payload); } catch (_) {}\n    });\n  };\n\n  SelfHostedPitchPrintClient.prototype._ensureBootstrap = function _ensureBootstrap() {\n    var self = this;\n    if (this._bootstrap) return Promise.resolve(this._bootstrap);\n    if (this._bootstrapPromise) return this._bootstrapPromise;\n    this._bootstrapPromise = fetchBootstrapForClient(this).then(function(bootstrap) {\n      self._bootstrap = bootstrap;\n      self._vars.designNumber = sanitizeText(self._vars.designNumber || (bootstrap && bootstrap.designNumber));\n      syncCompatInputs({\n        projectId: self._vars.projectId,\n        designNumber: self._vars.designNumber,\n      });\n      return bootstrap;\n    }).catch(function() {\n      self._bootstrap = buildSyntheticBootstrap(self);\n      return self._bootstrap;\n    });\n    return this._bootstrapPromise;\n  };\n\n  SelfHostedPitchPrintClient.prototype._syncLiveSelectionState = function _syncLiveSelectionState() {\n    var vars = this._vars || {};\n    var pickerSelection = getTemplatePickerSelection();\n    var designInput = findDesignInput();\n    var activeProjectId = sanitizeProjectId(vars.projectId);\n\n    if (!activeProjectId) {\n      syncTemplateSelectionGlobals(pickerSelection);\n    }\n\n    var nextDesignId = sanitizeLegacyDesignId(\n      (!activeProjectId && pickerSelection && pickerSelection.id) ||\n      window.ppDesignID ||\n      window.designIDFromTemplatePage ||\n      window.currentEditServiceDesignID ||\n      vars.designId\n    );\n    var nextDesignNumber = sanitizeText(\n      (!activeProjectId && pickerSelection && pickerSelection.designNumber) ||\n      window.ppDesignNumber ||\n      window.designNumberFromTemplatePage ||\n      (designInput && designInput.value) ||\n      vars.designNumber\n    );\n\n    var currentDesignId = sanitizeLegacyDesignId(vars.designId);\n    var currentDesignNumber = sanitizeText(vars.designNumber);\n    var launchContext = this._launchContext || null;\n    var launchTemplate = launchContext && launchContext.template ? launchContext.template : null;\n    var launchLegacy = launchContext && launchContext.document && launchContext.document.legacy && typeof launchContext.document.legacy === 'object'\n      ? launchContext.document.legacy\n      : {};\n    var launchDesignId = sanitizeLegacyDesignId(\n      (launchTemplate && launchTemplate.id) ||\n      launchLegacy.pitchPrintDesignId\n    );\n    var launchDesignNumber = sanitizeText(\n      (launchTemplate && launchTemplate.designnum) ||\n      launchLegacy.designNumber\n    );\n    var designChanged = false;\n\n    if (nextDesignId && nextDesignId !== currentDesignId) {\n      this._vars.designId = nextDesignId;\n      this.vars.designId = nextDesignId;\n      designChanged = true;\n    }\n\n    if (nextDesignNumber && nextDesignNumber !== currentDesignNumber) {\n      this._vars.designNumber = nextDesignNumber;\n      this.vars.designNumber = nextDesignNumber;\n      designChanged = true;\n      this._bootstrap = null;\n      this._bootstrapPromise = null;\n    }\n\n    if (\n      (nextDesignId || nextDesignNumber) && (\n        !launchTemplate ||\n        !launchContext ||\n        (nextDesignId && nextDesignId !== launchDesignId) ||\n        (nextDesignNumber && nextDesignNumber !== launchDesignNumber)\n      )\n    ) {\n      this._launchContext = null;\n      this._launchContextPromise = null;\n    } else if (designChanged) {\n      this._launchContext = null;\n      this._launchContextPromise = null;\n    }\n\n    if (nextDesignNumber) {\n      syncCompatInputs({\n        projectId: sanitizeProjectId(this._vars.projectId),\n        designNumber: nextDesignNumber,\n      });\n    }\n  };\n\n  SelfHostedPitchPrintClient.prototype._ensureLaunchContext = function _ensureLaunchContext() {\n    var self = this;\n    if (this._launchContext) return Promise.resolve(this._launchContext);\n    if (this._launchContextPromise) return this._launchContextPromise;\n\n    this._launchContextPromise = this._ensureBootstrap().then(function(bootstrap) {\n      return buildLaunchContext(self, bootstrap);\n    }).then(function(context) {\n      self._launchContext = context;\n      return context;\n    }).catch(function() {\n      self._launchContext = {\n        template: null,\n        document: buildDocumentFromTemplate(null, self),\n        previews: [getDefaultPreviewDataUrl()],\n        resolvedAt: nowIso(),\n      };\n      return self._launchContext;\n    });\n\n    return this._launchContextPromise;\n  };\n\n  SelfHostedPitchPrintClient.prototype._ensureOverlay = function _ensureOverlay() {\n    if (this._overlay) return this._overlay;\n    injectStyles();\n    var existing = document.getElementById(OVERLAY_ID);\n    if (existing) {\n      this._overlay = existing;\n      this._ui.frame = existing.querySelector('iframe');\n      existing.classList.toggle('bg-self-hosted-designer--legacy-boguna', resolveDesignerUiVariant() === 'legacy-boguna');\n      return existing;\n    }\n\n    var overlay = document.createElement('div');\n    overlay.id = OVERLAY_ID;\n    overlay.className = resolveDesignerUiVariant() === 'legacy-boguna' ? 'bg-self-hosted-designer--legacy-boguna' : '';\n    overlay.innerHTML = '' +\n      '<div class=\"bg-self-hosted-designer__shell\">' +\n      '  <iframe title=\"Self-hosted designer\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\"></iframe>' +\n      '</div>';\n    var self = this;\n    overlay.addEventListener('click', function(event) {\n      if (event.target === overlay) {\n        var activeClient = window.__BG_SELF_HOSTED_ACTIVE_CLIENT__ || self;\n        if (activeClient && typeof activeClient.closeApp === 'function') {\n          activeClient.closeApp();\n        }\n      }\n    });\n\n    document.body.appendChild(overlay);\n    this._overlay = overlay;\n    this._ui.frame = overlay.querySelector('iframe');\n    return overlay;\n  };\n\n  SelfHostedPitchPrintClient.prototype._updateOverlayMeta = function _updateOverlayMeta() {\n    if (!this._overlay) return;\n    var projectEl = this._overlay.querySelector('.bg-self-hosted-designer__project');\n    var designEl = this._overlay.querySelector('.bg-self-hosted-designer__design');\n    if (projectEl) {\n      projectEl.textContent = this._vars.projectId ? ('Project ' + this._vars.projectId) : 'New project';\n    }\n    if (designEl) {\n      var designLabel = sanitizeText(this._vars.designNumber || this._vars.designId);\n      designEl.textContent = designLabel ? ('Design ' + designLabel) : 'No design selected';\n    }\n  };\n\n  SelfHostedPitchPrintClient.prototype._clearLabelObserver = function _clearLabelObserver() {\n    if (!this._ui || !this._ui.labelObserver) return;\n    try {\n      this._ui.labelObserver.disconnect();\n    } catch (_) {}\n    this._ui.labelObserver = null;\n  };\n\n  SelfHostedPitchPrintClient.prototype._applyEmbeddedProductLabels = function _applyEmbeddedProductLabels() {\n    var frame = this._ui && this._ui.frame;\n    if (!frame) return;\n    var self = this;\n    var applyLabels = function() {\n      try {\n        var doc = frame.contentDocument;\n        if (!doc) return;\n        var spans = doc.querySelectorAll('.editor-v2-header__action-row .action-button span');\n        Array.prototype.forEach.call(spans, function(span) {\n          var value = sanitizeText(span && span.textContent);\n          if (value === 'Close') {\n            span.textContent = 'Return to Product';\n          }\n        });\n      } catch (_) {}\n    };\n\n    applyLabels();\n    self._clearLabelObserver();\n\n    try {\n      if (!frame.contentDocument || !frame.contentDocument.body) return;\n      var observer = new MutationObserver(function() {\n        applyLabels();\n      });\n      observer.observe(frame.contentDocument.body, {\n        childList: true,\n        subtree: true,\n        characterData: true\n      });\n      self._ui.labelObserver = observer;\n    } catch (_) {}\n  };\n\n  SelfHostedPitchPrintClient.prototype._hideOverlay = function _hideOverlay() {\n    if (this._overlay) {\n      this._overlay.classList.remove('is-open');\n    }\n    document.body.classList.remove('no-scroll');\n    hidePilotDesignerLaunchIndicators();\n  };\n\n  SelfHostedPitchPrintClient.prototype._isOverlayOpen = function _isOverlayOpen() {\n    return !!(this._overlay && this._overlay.classList.contains('is-open'));\n  };\n\n  SelfHostedPitchPrintClient.prototype._buildStorefrontV2PilotEmbeddedUrl = function _buildStorefrontV2PilotEmbeddedUrl() {\n    return buildStorefrontV2PilotEmbeddedUrl(this._vars || {});\n  };\n\n  SelfHostedPitchPrintClient.prototype.prewarmStorefrontShellDocument = function prewarmStorefrontShellDocument() {\n    var self = this;\n    var shellUrl = sanitizeText(this._storefrontShellUrl) || buildStorefrontV2PilotShellUrl();\n    if (!shellUrl) return Promise.resolve(false);\n    if (STOREFRONT_SHELL_DOCUMENT_PROMISES[shellUrl]) {\n      return STOREFRONT_SHELL_DOCUMENT_PROMISES[shellUrl];\n    }\n    this._storefrontShellUrl = shellUrl;\n    var overlay = self._ensureOverlay();\n    var frame = self._ui.frame;\n    if (!frame) return Promise.resolve(false);\n    var currentFrameUrl = sanitizeText(frame.dataset.bgFrameUrl || frame.getAttribute('src'));\n    if (frame.dataset.bgShellReady === '1' && currentFrameUrl === shellUrl) {\n      return Promise.resolve(true);\n    }\n    frame.dataset.bgFrameUrl = shellUrl;\n    if (currentFrameUrl !== shellUrl || !frame.getAttribute('src')) {\n      frame.dataset.bgShellReady = '';\n      frame.onload = function() {\n        self._frameReady = true;\n        if (overlay.classList.contains('is-open')) {\n          self._applyEmbeddedProductLabels();\n        }\n      };\n      frame.src = shellUrl;\n    }\n    STOREFRONT_SHELL_DOCUMENT_PROMISES[shellUrl] = Promise.resolve(true).finally(function() {\n      delete STOREFRONT_SHELL_DOCUMENT_PROMISES[shellUrl];\n    });\n    return STOREFRONT_SHELL_DOCUMENT_PROMISES[shellUrl];\n  };\n\n  SelfHostedPitchPrintClient.prototype.prewarmStorefrontShell = function prewarmStorefrontShell(selectionOverrides) {\n    var self = this;\n    var overrides = selectionOverrides && typeof selectionOverrides === 'object' ? selectionOverrides : {};\n    var overrideProjectId = sanitizeProjectId(overrides.projectId);\n    var overrideDesignId = sanitizeText(overrides.designId);\n    var overrideDesignNumber = sanitizeText(overrides.designNumber);\n    var overrideBacker = sanitizeText(overrides.backer);\n    if (overrideProjectId) {\n      this._vars.projectId = overrideProjectId;\n      this.vars.projectId = overrideProjectId;\n    }\n    if (overrideDesignId) {\n      this._vars.designId = overrideDesignId;\n      this.vars.designId = overrideDesignId;\n    }\n    if (overrideDesignNumber) {\n      this._vars.designNumber = overrideDesignNumber;\n      this.vars.designNumber = overrideDesignNumber;\n    }\n    if (overrideBacker) {\n      window.selectedTemplateBackerFromPicker = overrideBacker;\n    }\n    this._syncLiveSelectionState();\n    var storefrontPilotUrl = this._buildStorefrontV2PilotEmbeddedUrl();\n    if (!storefrontPilotUrl) return Promise.resolve(false);\n    if (STOREFRONT_SHELL_PROMISES[storefrontPilotUrl]) {\n      return STOREFRONT_SHELL_PROMISES[storefrontPilotUrl];\n    }\n    var overlay = self._ensureOverlay();\n    var frame = self._ui.frame;\n    if (!frame) return Promise.resolve(false);\n    var selection = readStorefrontV2PilotSelection(self._vars || {});\n    var cacheKey = getStorefrontV2PilotBootstrapCacheKey(selection);\n    var currentFrameUrl = sanitizeText(frame.dataset.bgFrameUrl || frame.getAttribute('src'));\n    STOREFRONT_SHELL_PROMISES[storefrontPilotUrl] = prewarmStorefrontV2PilotBootstrap(selection).catch(function() {\n      return {\n        cacheKey: cacheKey,\n        payload: null,\n        source: 'none'\n      };\n    }).then(function(result) {\n      var effectiveCacheKey = result && result.cacheKey || cacheKey;\n      var cachedPayload = result && result.payload && typeof result.payload === 'object'\n        ? result.payload\n        : readStorefrontBootstrapCache(effectiveCacheKey);\n      frame.dataset.bgFrameUrl = storefrontPilotUrl;\n      frame.dataset.bgBootstrapCacheKey = effectiveCacheKey;\n      if (\n        frame.contentWindow\n        && frame.dataset.bgShellReady === '1'\n        && cachedPayload\n        && cachedPayload.bootstrap\n      ) {\n        self._postToFrame({\n          type: 'storefront:swap-context',\n          payload: cachedPayload\n        });\n        return true;\n      }\n      if (currentFrameUrl !== storefrontPilotUrl || !frame.getAttribute('src')) {\n        frame.dataset.bgShellReady = '';\n        frame.onload = function() {\n          self._frameReady = true;\n          if (overlay.classList.contains('is-open')) {\n            self._applyEmbeddedProductLabels();\n          }\n        };\n        frame.src = storefrontPilotUrl;\n      }\n      return true;\n    }).finally(function() {\n      delete STOREFRONT_SHELL_PROMISES[storefrontPilotUrl];\n    });\n    return STOREFRONT_SHELL_PROMISES[storefrontPilotUrl];\n  };\n\n  SelfHostedPitchPrintClient.prototype._refreshEmbeddedStorefrontBootstrap = function _refreshEmbeddedStorefrontBootstrap() {\n    if (!shouldUseStorefrontV2Pilot()) return Promise.resolve(false);\n    var frame = this._ui && this._ui.frame;\n    var currentCacheKey = sanitizeText(frame && frame.dataset && frame.dataset.bgBootstrapCacheKey);\n    var selection = readStorefrontV2PilotSelection(this._vars || {});\n    var nextCacheKey = getStorefrontV2PilotBootstrapCacheKey(selection);\n    if (currentCacheKey) deleteStorefrontBootstrapCache(currentCacheKey);\n    if (nextCacheKey && nextCacheKey !== currentCacheKey) deleteStorefrontBootstrapCache(nextCacheKey);\n    return prewarmStorefrontV2PilotBootstrap(selection).then(function(result) {\n      var effectiveCacheKey = sanitizeText(result && result.cacheKey) || nextCacheKey;\n      if (frame && effectiveCacheKey) {\n        frame.dataset.bgBootstrapCacheKey = effectiveCacheKey;\n      }\n      return true;\n    }).catch(function() {\n      return false;\n    });\n  };\n\n  SelfHostedPitchPrintClient.prototype._syncEmbeddedStorefrontReturnState = function _syncEmbeddedStorefrontReturnState(detail, source) {\n    var payload = detail && typeof detail === 'object' ? detail : {};\n    var currentContext = window.BG_DESIGNER_RETURN_CONTEXT && typeof window.BG_DESIGNER_RETURN_CONTEXT === 'object'\n      ? window.BG_DESIGNER_RETURN_CONTEXT\n      : null;\n    var previews = Array.isArray(payload.previews)\n      ? payload.previews.map(normalizePreviewUrl).filter(Boolean)\n      : (Array.isArray(currentContext && currentContext.previews)\n        ? currentContext.previews.map(normalizePreviewUrl).filter(Boolean)\n        : []);\n    var rawPreviewUrl = sanitizeText(\n      payload.previewUrl\n      || (previews.length ? previews[0] : '')\n      || (currentContext && currentContext.previewUrl)\n    );\n    var previewUrl = rawPreviewUrl ? normalizePreviewUrl(rawPreviewUrl) : '';\n    if (previewUrl && previews.indexOf(previewUrl) === -1) {\n      previews.unshift(previewUrl);\n    }\n    var nextState = {\n      projectId: sanitizeProjectId(payload.projectId || this._vars.projectId),\n      designId: sanitizeText(payload.designId || this._vars.designId),\n      designNumber: sanitizeText(payload.designNumber || this._vars.designNumber),\n      backer: sanitizeText(payload.backer || window.selectedTemplateBackerFromPicker)\n    };\n    if (previewUrl) nextState.previewUrl = previewUrl;\n    if (previews.length) nextState.previews = previews.slice();\n\n    if (nextState.projectId) {\n      this._vars.projectId = nextState.projectId;\n      this.vars.projectId = nextState.projectId;\n    }\n    if (nextState.designId) {\n      this._vars.designId = nextState.designId;\n      this.vars.designId = nextState.designId;\n    }\n    if (nextState.designNumber) {\n      this._vars.designNumber = nextState.designNumber;\n      this.vars.designNumber = nextState.designNumber;\n    }\n\n    this._updateOverlayMeta();\n    updateStorefrontReturnContext(nextState, { source: source });\n\n    var frame = this._ui && this._ui.frame;\n    if (frame) {\n      var nextFrameUrl = this._buildStorefrontV2PilotEmbeddedUrl();\n      if (nextFrameUrl) {\n        frame.dataset.bgFrameUrl = nextFrameUrl;\n      }\n    }\n\n    void this._refreshEmbeddedStorefrontBootstrap();\n\n    return nextState;\n  };\n\n  SelfHostedPitchPrintClient.prototype._buildFrameUrl = function _buildFrameUrl(bootstrap) {\n    var frameUrl = new URL((bootstrap && bootstrap.editorBaseUrl) || getEditorUrl(), window.location.origin);\n    var uiVariant = resolveDesignerUiVariant();\n    if (bootstrap && bootstrap.sessionId) frameUrl.searchParams.set('sessionId', bootstrap.sessionId);\n    if (bootstrap && bootstrap.shop) frameUrl.searchParams.set('shop', bootstrap.shop);\n    if (this._vars.projectId) frameUrl.searchParams.set('projectId', this._vars.projectId);\n    if (this._vars.designId) frameUrl.searchParams.set('designId', this._vars.designId);\n    if (this._vars.designNumber) frameUrl.searchParams.set('designNumber', this._vars.designNumber);\n    if (uiVariant) frameUrl.searchParams.set('uiVariant', uiVariant);\n    frameUrl.searchParams.set('mode', this._vars.mode || 'edit');\n    return frameUrl.toString();\n  };\n\n  SelfHostedPitchPrintClient.prototype._postToFrame = function _postToFrame(payload) {\n    var frame = this._ui && this._ui.frame;\n    if (!frame || !frame.contentWindow) return false;\n    try {\n      frame.contentWindow.postMessage(payload, '*');\n      return true;\n    } catch (_) {\n      return false;\n    }\n  };\n\n  SelfHostedPitchPrintClient.prototype._pushBootstrapToFrame = function _pushBootstrapToFrame() {\n    var self = this;\n    if (!this._bootstrap) return Promise.resolve(false);\n    return this._ensureLaunchContext().then(function(context) {\n      return self._postToFrame({\n        type: 'designer:bootstrap',\n        bootstrap: self._bootstrap,\n        vars: self._vars,\n        customerData: window.customerData || {},\n        launchContext: context,\n      });\n    }).catch(function() {\n      return self._postToFrame({\n        type: 'designer:bootstrap',\n        bootstrap: self._bootstrap,\n        vars: self._vars,\n        customerData: window.customerData || {},\n      });\n    });\n  };\n\n  SelfHostedPitchPrintClient.prototype._pushResizeToFrame = function _pushResizeToFrame(width, height, pageId) {\n    this._postToFrame({\n      type: 'designer:resize-page',\n      width: Number(width) || width,\n      height: Number(height) || height,\n      pageId: pageId || 0,\n    });\n  };\n\n  SelfHostedPitchPrintClient.prototype.showApp = function showApp() {\n    var self = this;\n    window.__BG_SELF_HOSTED_ACTIVE_CLIENT__ = this;\n    this._syncLiveSelectionState();\n    var storefrontPilotUrl = this._buildStorefrontV2PilotEmbeddedUrl();\n    if (storefrontPilotUrl) {\n      var overlay = self._ensureOverlay();\n      var frame = self._ui.frame;\n      var selection = readStorefrontV2PilotSelection(self._vars || {});\n      var cacheKey = getStorefrontV2PilotBootstrapCacheKey(selection);\n      self._frameReady = false;\n      self._updateOverlayMeta();\n      overlay.classList.add('is-open');\n      document.body.classList.add('no-scroll');\n      self._emit('before-show', { source: 'self-hosted-compat', data: { embedded: true } });\n      return prewarmStorefrontV2PilotBootstrap(selection).catch(function() {\n        return {\n          cacheKey: cacheKey,\n          payload: null,\n          source: 'none'\n        };\n      }).then(function(result) {\n        var cachedPayload = result && result.payload && typeof result.payload === 'object'\n          ? result.payload\n          : readStorefrontBootstrapCache(result && result.cacheKey || cacheKey);\n        if (\n          frame\n          && frame.contentWindow\n          && frame.dataset.bgShellReady === '1'\n          && cachedPayload\n          && cachedPayload.bootstrap\n        ) {\n          frame.dataset.bgFrameUrl = storefrontPilotUrl;\n          frame.dataset.bgBootstrapCacheKey = result && result.cacheKey || cacheKey;\n          self._postToFrame({\n            type: 'storefront:swap-context',\n            payload: cachedPayload\n          });\n          return true;\n        }\n        if (frame && frame.dataset.bgFrameUrl !== storefrontPilotUrl) {\n          frame.dataset.bgFrameUrl = storefrontPilotUrl;\n          frame.dataset.bgBootstrapCacheKey = result && result.cacheKey || cacheKey;\n          frame.dataset.bgShellReady = '';\n          frame.onload = function() {\n            self._frameReady = true;\n            self._applyEmbeddedProductLabels();\n          };\n          frame.src = storefrontPilotUrl;\n        } else {\n          self._applyEmbeddedProductLabels();\n        }\n        return true;\n      });\n    }\n    return this._ensureBootstrap().then(function(bootstrap) {\n      return self._ensureLaunchContext().then(function() {\n        var overlay = self._ensureOverlay();\n        var frame = self._ui.frame;\n        self._frameReady = false;\n        self._updateOverlayMeta();\n        overlay.classList.add('is-open');\n        document.body.classList.add('no-scroll');\n\n        if (frame && frame.dataset.bgFrameUrl !== self._buildFrameUrl(bootstrap)) {\n          frame.dataset.bgFrameUrl = self._buildFrameUrl(bootstrap);\n          frame.src = frame.dataset.bgFrameUrl;\n          frame.onload = function() {\n            self._frameReady = true;\n            try {\n              if (typeof window.ppDesignerInitialized === 'function') {\n                window.ppDesignerInitialized({ name: 'frame' });\n              }\n            } catch (_) {}\n            self._pushBootstrapToFrame();\n            self._emit('editor-shown', { source: 'self-hosted-compat' });\n            window.setTimeout(function() {\n              self._emit('design-loaded', { data: buildPreviewPayload(self) });\n            }, 80);\n          };\n        } else {\n          self._emit('editor-shown', { source: 'self-hosted-compat' });\n          self._pushBootstrapToFrame();\n        }\n\n        self._emit('before-show', { source: 'self-hosted-compat' });\n        return true;\n      });\n    });\n  };\n\n  SelfHostedPitchPrintClient.prototype.closeApp = function closeApp() {\n    this._hideOverlay();\n    this._emit('after-close-app', {\n      source: 'self-hosted-compat',\n      data: {\n        projectId: sanitizeProjectId(this._vars && this._vars.projectId),\n        designId: sanitizeText(this._vars && this._vars.designId),\n        designNumber: sanitizeText(this._vars && this._vars.designNumber)\n      }\n    });\n    return true;\n  };\n\n  SelfHostedPitchPrintClient.prototype._onSave = function _onSave(payload) {\n    this._emit('project-saved', { data: payload });\n    return payload;\n  };\n\n  SelfHostedPitchPrintClient.prototype.startSave = function startSave(options) {\n    var self = this;\n    var extra = (options && typeof options === 'object') ? options : {};\n    var basePayload = buildPreviewPayload(this);\n    var payload = Object.assign({}, basePayload, extra.payload || {});\n    var projectId = sanitizeProjectId(payload.projectId || this._vars.projectId) || ('shp_' + Date.now().toString(36));\n    var designNumber = sanitizeText(payload.designNumber || this._vars.designNumber);\n    var requestDocument = (payload.document && typeof payload.document === 'object')\n      ? deepClone(payload.document)\n      : ((payload.source && payload.source.document && typeof payload.source.document === 'object')\n        ? deepClone(payload.source.document)\n        : deepClone(this._launchContext && this._launchContext.document));\n    var requestPreviews = Array.isArray(payload.previews) && payload.previews.length\n      ? payload.previews.slice()\n      : collectPreviewUrlsFromDocument(requestDocument || {});\n    var requestProduct = (this._launchContext && this._launchContext.document && this._launchContext.document.metadata && this._launchContext.document.metadata.product)\n      || (requestDocument && requestDocument.metadata && requestDocument.metadata.product)\n      || {};\n    var requestUserData = (requestDocument && requestDocument.metadata && requestDocument.metadata.userData)\n      || (window.customerData || {});\n    var requestMetadata = Object.assign({},\n      (requestDocument && requestDocument.metadata && typeof requestDocument.metadata === 'object') ? requestDocument.metadata : {},\n      {\n        product: requestProduct,\n        userData: requestUserData,\n        previews: requestPreviews.slice(),\n        saveForLater: !!payload.saveForLater\n      }\n    );\n    var saveRequest = {\n      id: projectId,\n      projectId: projectId,\n      publicId: sanitizeText(this._launchContext && this._launchContext.projectPublicId),\n      customerId: sanitizeText(window.customerData && window.customerData.id)\n        || sanitizeText(this._bootstrap && this._bootstrap.customer && this._bootstrap.customer.id)\n        || 'guest',\n      templateId: sanitizeText(\n        this._launchContext && this._launchContext.template && (this._launchContext.template.templateId || this._launchContext.template.id)\n      ),\n      document: requestDocument,\n      metadata: requestMetadata,\n      previews: requestPreviews.slice(),\n      product: requestProduct,\n      userData: requestUserData,\n      designId: sanitizeText(payload.designId || this._vars.designId),\n      designNumber: designNumber,\n      title: sanitizeText(payload.title || (requestDocument && requestDocument.title)),\n      numPages: Number(payload.numPages || (requestDocument && Array.isArray(requestDocument.boards) ? requestDocument.boards.length : 0) || this._vars.numPages || 2) || 2,\n      saveForLater: !!payload.saveForLater,\n      legacyProjectId: sanitizeProjectId(\n        this._launchContext && this._launchContext.legacyProjectId\n          || (requestDocument && requestDocument.legacy && requestDocument.legacy.pitchPrintProjectId)\n      )\n    };\n    var knownRevision = Number(\n      payload.revision != null\n        ? payload.revision\n        : (this._launchContext && this._launchContext.projectRevision)\n    );\n    saveRequest.expectedRevision = Number.isInteger(knownRevision) && knownRevision >= 0\n      ? knownRevision\n      : null;\n    if (saveRequest.expectedRevision !== null) saveRequest.revision = saveRequest.expectedRevision;\n\n    var persistPromise = Promise.resolve(null);\n    if (window.BGDesignerBridge && typeof window.BGDesignerBridge.saveSelfHostedProject === 'function') {\n      persistPromise = window.BGDesignerBridge.saveSelfHostedProject(saveRequest);\n    }\n\n    return persistPromise.then(function(savedProject) {\n      if (savedProject && typeof savedProject === 'object') {\n        projectId = sanitizeProjectId(savedProject.id || savedProject.projectId) || projectId;\n        designNumber = sanitizeText(\n          savedProject.designNumber\n          || (savedProject.document && savedProject.document.legacy && savedProject.document.legacy.designNumber)\n          || designNumber\n        );\n        payload.publicId = sanitizeText(savedProject.publicId);\n        payload.document = (savedProject.document && typeof savedProject.document === 'object')\n          ? deepClone(savedProject.document)\n          : requestDocument;\n        payload.previews = Array.isArray(savedProject.previews) && savedProject.previews.length\n          ? savedProject.previews.slice()\n          : requestPreviews.slice();\n        self._launchContext = Object.assign({}, self._launchContext || {}, {\n          document: deepClone(payload.document || requestDocument),\n          previews: Array.isArray(payload.previews) ? payload.previews.slice() : requestPreviews.slice(),\n          projectId: projectId,\n          projectPublicId: sanitizeText(savedProject.publicId),\n          projectRevision: Number.isInteger(Number(savedProject.revision)) ? Number(savedProject.revision) : null,\n          legacyProjectId: sanitizeProjectId(savedProject.legacyProjectId),\n        });\n      } else if (requestDocument) {\n        self._launchContext = Object.assign({}, self._launchContext || {}, {\n          document: deepClone(requestDocument),\n          previews: requestPreviews.slice(),\n        });\n      }\n\n      self._vars.projectId = projectId;\n      self.vars.projectId = projectId;\n      if (designNumber) {\n        self._vars.designNumber = designNumber;\n        self.vars.designNumber = designNumber;\n      }\n\n      syncCompatInputs({\n        projectId: projectId,\n        designNumber: designNumber,\n      });\n      self._updateOverlayMeta();\n\n      payload.projectId = projectId;\n      payload.designId = sanitizeText(payload.designId || self._vars.designId);\n      payload.designNumber = designNumber;\n      payload.numPages = Number(payload.numPages || self._vars.numPages || 2) || 2;\n\n      return self._onSave(payload);\n    });\n  };\n\n  SelfHostedPitchPrintClient.prototype._handleResize = function _handleResize(payload) {\n    if (!payload || typeof payload !== 'object') return true;\n    if (payload.width != null) this._vars.width = Number(payload.width) || payload.width;\n    if (payload.height != null) this._vars.height = Number(payload.height) || payload.height;\n    if (this._launchContext && this._launchContext.document && Array.isArray(this._launchContext.document.boards)) {\n      var boardRef = payload.pageId;\n      var targetBoard = null;\n      if (typeof boardRef === 'number') {\n        targetBoard = this._launchContext.document.boards[boardRef] || null;\n      } else {\n        var boardId = sanitizeText(boardRef);\n        targetBoard = this._launchContext.document.boards.find(function(board) {\n          return board && board.id === boardId;\n        }) || null;\n      }\n      if (!targetBoard) {\n        targetBoard = this._launchContext.document.boards[0] || null;\n      }\n      if (targetBoard) {\n        if (payload.width != null) targetBoard.width = Number(payload.width) || targetBoard.width;\n        if (payload.height != null) targetBoard.height = Number(payload.height) || targetBoard.height;\n      }\n    }\n    this._pushResizeToFrame(payload.width, payload.height, payload.pageId);\n    this._emit('app-client-canvasResized', {\n      data: {\n        width: payload.width,\n        height: payload.height,\n        pageId: payload.pageId || 0,\n      },\n    });\n    return true;\n  };\n\n  SelfHostedPitchPrintClient.prototype._onMessage = function _onMessage(event) {\n    if ((window.__BG_SELF_HOSTED_ACTIVE_CLIENT__ || this) !== this) return;\n    var frame = this._ui && this._ui.frame;\n    if (!frame || !frame.contentWindow) return;\n    if (event.source !== frame.contentWindow) return;\n\n    if (window.BGDesignerBridge && typeof window.BGDesignerBridge.isAllowedOrigin === 'function') {\n      try {\n        if (!window.BGDesignerBridge.isAllowedOrigin(event.origin)) return;\n      } catch (_) {}\n    }\n\n    var data = event.data;\n    if (!data || typeof data !== 'object') return;\n\n    if (data.type === 'designer:ready') {\n      this._frameReady = true;\n      this._pushBootstrapToFrame();\n      return;\n    }\n\n    if (data.type === 'designer:save') {\n      var self = this;\n      this.startSave(data).catch(function(error) {\n        var message = sanitizeText(error && error.message) || 'The design could not be saved.';\n        self._emit('project-save-failed', { error: message });\n        self._postToFrame({ type: 'designer:save-error', error: message });\n      });\n      return;\n    }\n\n    if (data.type === 'designer:close') {\n      this.closeApp();\n      return;\n    }\n\n    if (data.type === 'storefront:ready-first-usable') {\n      if (frame) frame.dataset.bgShellReady = '1';\n      this._frameReady = true;\n      this._applyEmbeddedProductLabels();\n      if (!this._isOverlayOpen()) {\n        return;\n      }\n      hidePilotDesignerLaunchIndicators();\n      this._emit('editor-shown', {\n        source: 'self-hosted-compat',\n        data: Object.assign({ embedded: true }, data.detail && typeof data.detail === 'object' ? data.detail : {})\n      });\n      return;\n    }\n\n    if (data.type === 'storefront:ready-full') {\n      if (!this._isOverlayOpen()) {\n        return;\n      }\n      this._emit('design-loaded', {\n        source: 'self-hosted-compat',\n        data: Object.assign({ embedded: true }, data.detail && typeof data.detail === 'object' ? data.detail : {})\n      });\n      return;\n    }\n\n    if (data.type === 'storefront:close') {\n      this.closeApp();\n      return;\n    }\n\n    if (data.type === 'designer-admin-embedded-lifecycle') {\n      var lifecycleEvent = sanitizeText(data.event).toLowerCase();\n      var detail = data.detail && typeof data.detail === 'object' ? data.detail : {};\n\n      if (lifecycleEvent === 'editor-shown' || lifecycleEvent === 'design-loaded') {\n        if (!isStorefrontEmbeddedFrameUrl(frame.dataset.bgFrameUrl || window.location.href)) {\n          hidePilotDesignerLaunchIndicators();\n        }\n        if (lifecycleEvent === 'editor-shown') {\n          this._frameReady = true;\n          this._applyEmbeddedProductLabels();\n        }\n        this._emit(lifecycleEvent, { source: 'self-hosted-compat', data: detail });\n        return;\n      }\n\n      if (lifecycleEvent === 'project-saved') {\n        var savedState = this._syncEmbeddedStorefrontReturnState(detail, 'embedded-project-saved');\n        this._emit('project-saved', { source: 'self-hosted-compat', data: savedState });\n        return;\n      }\n\n      if (lifecycleEvent === 'after-close-app') {\n        var closedState = this._syncEmbeddedStorefrontReturnState(detail, 'embedded-after-close');\n        this._hideOverlay();\n        this._emit('after-close-app', { source: 'self-hosted-compat', data: closedState });\n      }\n    }\n  };\n\n  SelfHostedPitchPrintClient.prototype.fire = function fire(action, payload) {\n    switch (action) {\n      case 'show-app':\n        return this.showApp();\n      case 'load-design-by-id':\n        this._vars.designId = sanitizeLegacyDesignId(payload);\n        this.vars.designId = this._vars.designId;\n        this._launchContext = null;\n        this._launchContextPromise = null;\n        this._updateOverlayMeta();\n        if (this._frameReady) {\n          this._postToFrame({\n            type: 'designer:load-design',\n            designId: this._vars.designId,\n          });\n        }\n        return true;\n      case 'resize-page':\n        return this._handleResize(payload);\n      case 'show-loader':\n      case 'hide-loader':\n        return true;\n      case 'start-save':\n        return this.startSave({ payload: payload });\n      case 'close-frame':\n        return this.closeApp();\n      default:\n        this._emit(action, payload);\n        return true;\n    }\n  };\n\n  window.BGSelfHostedPitchPrintClient = SelfHostedPitchPrintClient;\n  window.BGUseSelfHostedDesigner = shouldUseSelfHostedDesigner;\n  installLegacyPitchPrintFrameGuard();\n\n  function createCompatFromExisting(existing) {\n    if (!existing || existing instanceof SelfHostedPitchPrintClient) return existing;\n    if (existing.__bgSelfHostedAdopted && existing.__bgSelfHostedCompatClient instanceof SelfHostedPitchPrintClient) {\n      return existing.__bgSelfHostedCompatClient;\n    }\n\n    var seedVars = Object.assign({}, (existing._vars || existing.vars || {}));\n    var compat = new SelfHostedPitchPrintClient(seedVars);\n    compat._vars.designId = sanitizeLegacyDesignId(compat._vars.designId || (existing._vars && existing._vars.designId) || (existing.vars && existing.vars.designId));\n    compat._vars.projectId = sanitizeProjectId(compat._vars.projectId || (existing._vars && existing._vars.projectId) || (existing.vars && existing.vars.projectId));\n    compat.vars = compat._vars;\n    compat._vars.designNumber = sanitizeText(compat._vars.designNumber || window.ppDesignNumber || window.designNumberFromTemplatePage);\n\n    try {\n      if (existing._ui && existing._ui.frame && existing._ui.frame.style) {\n        existing._ui.frame.style.display = 'none';\n      }\n    } catch (_) {}\n\n    existing.__bgSelfHostedAdopted = true;\n    existing.__bgSelfHostedCompatClient = compat;\n    window.__BG_NATIVE_PPCLIENT__ = existing;\n    window.__BG_SELF_HOSTED_ACTIVE_CLIENT__ = compat;\n\n    if (typeof window.ppueWireClientEvents === 'function') {\n      try { window.ppueWireClientEvents(compat); } catch (_) {}\n    }\n    return compat;\n  }\n\n  function adoptExistingPitchPrintClient() {\n    if (!shouldUseSelfHostedDesigner()) return false;\n    var existing = PPCLIENT_VALUE;\n    if (!existing || existing instanceof SelfHostedPitchPrintClient) return false;\n    var compat = createCompatFromExisting(existing);\n    if (!compat) return false;\n    PPCLIENT_VALUE = compat;\n    return true;\n  }\n\n  try {\n    Object.defineProperty(window, 'PitchPrintClient', {\n      configurable: true,\n      enumerable: true,\n      get: function() {\n        return shouldUseSelfHostedDesigner() ? SelfHostedPitchPrintClient : NATIVE_CTOR;\n      },\n      set: function(value) {\n        NATIVE_CTOR = value;\n        window.__BG_NATIVE_PITCHPRINT_CLIENT__ = value;\n      },\n    });\n  } catch (_) {\n    window.PitchPrintClient = shouldUseSelfHostedDesigner() ? SelfHostedPitchPrintClient : NATIVE_CTOR;\n  }\n\n  try {\n    Object.defineProperty(window, 'ppclient', {\n      configurable: true,\n      enumerable: true,\n      get: function() {\n        return PPCLIENT_VALUE;\n      },\n      set: function(value) {\n        if (shouldUseSelfHostedDesigner()) {\n          PPCLIENT_VALUE = createCompatFromExisting(value) || value;\n          return;\n        }\n        PPCLIENT_VALUE = value;\n      },\n    });\n  } catch (_) {}\n\n  var adoptAttempts = 0;\n  var adoptTimer = window.setInterval(function() {\n    adoptAttempts += 1;\n    if (adoptExistingPitchPrintClient() || adoptAttempts > 120) {\n      window.clearInterval(adoptTimer);\n    }\n  }, 250);\n\n  if (document.readyState === 'complete' || document.readyState === 'interactive') {\n    adoptExistingPitchPrintClient();\n  } else {\n    document.addEventListener('DOMContentLoaded', adoptExistingPitchPrintClient, { once: true });\n  }\n})();\n"],
  "mappings": "CAAC,UAAwC,CACvC,aAEA,GAAI,OAAO,sCAAuC,OAClD,OAAO,sCAAwC,GAE/C,IAAI,YAAc,OAAO,iBACrB,gBAAkB,GAClB,WAAa,kCACb,mBAAqB,4CACrB,uBAAyB,QACzB,kCAAoC,eACpC,+BAAiC,8DACjC,yBAA2B,oCAC3B,eAAiB,OAAO,SACxB,uBAAyB,KACzB,yBAA2B,OAAO,OAAO,IAAI,EAC7C,8BAAgC,OAAO,OAAO,IAAI,EAClD,iCAAmC,OAAO,OAAO,IAAI,EACrD,mCAAqC,OAAO,OAAO,IAAI,EACvD,0BAA4B,OAAO,OAAO,IAAI,EAC9C,sCAAwC,gCAE5C,SAAS,aAAa,MAAO,CAC3B,OAAO,OAAO,OAAS,EAAE,EAAE,KAAK,CAClC,CAEA,SAAS,kBAAkB,MAAO,CAChC,IAAI,UAAY,aAAa,KAAK,EAClC,MAAI,CAAC,WAAa,UAAU,YAAY,IAAM,UAAkB,GACzD,SACT,CAEA,SAAS,mCAAoC,CAC3C,GAAI,CACF,IAAI,IAAM,OAAO,eAAe,QAAQ,qCAAqC,EAC7E,GAAI,CAAC,IAAK,OAAO,KACjB,IAAI,OAAS,KAAK,MAAM,GAAG,EAC3B,GAAI,CAAC,QAAU,OAAO,QAAW,SAAU,OAAO,KAClD,IAAI,YAAc,aAAa,OAAO,WAAW,EACjD,GAAI,aAAe,cAAgB,OAAO,OAAO,SAAS,UAAY,EAAE,EAAG,OAAO,KAClF,IAAI,UAAY,kBAAkB,OAAO,SAAS,EAC9C,SAAW,aAAa,OAAO,QAAQ,EACvC,aAAe,aAAa,OAAO,YAAY,EACnD,MAAI,CAAC,WAAa,CAAC,UAAY,CAAC,aAAqB,KAC9C,CACL,UACA,SACA,aACA,aAAc,OAAO,eAAiB,IAAQ,aAAa,OAAO,WAAW,EAAE,YAAY,IAAM,eACjG,YAAa,aAAa,OAAO,WAAW,GAAK,eACjD,OAAQ,aAAa,OAAO,MAAM,EAClC,WAAY,aAAa,OAAO,UAAU,EAC1C,SAAU,MAAM,QAAQ,OAAO,QAAQ,EAAI,OAAO,SAAW,CAAC,CAChE,CACF,MAAY,CACV,OAAO,IACT,CACF,CAEA,SAAS,mCAAmC,QAAS,CACnD,GAAI,CAAC,SAAW,OAAO,SAAY,SAAU,MAAO,GACpD,GAAI,CACF,cAAO,eAAe,QAAQ,sCAAuC,KAAK,UAAU,OAAO,OAAO,CAAC,EAAG,QAAS,CAC7G,YAAa,OAAO,OAAO,SAAS,UAAY,EAAE,CACpD,CAAC,CAAC,CAAC,EACI,EACT,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,eAAgB,CACvB,MAAO,iBAAiB,KAAK,OAAO,OAAO,SAAS,UAAY,EAAE,CAAC,CACrE,CAEA,SAAS,gCAAiC,CACxC,GAAI,CACF,IAAI,OAAS,IAAI,gBAAgB,OAAO,SAAS,QAAU,EAAE,EACzD,QAAU,aAAa,OAAO,IAAI,uBAAuB,CAAC,EAAE,YAAY,EAAE,QAAQ,UAAW,GAAG,EACpG,GAAI,UAAY,kBAAmB,OAAO,OAC5C,MAAY,CAAC,CACb,IAAI,OAAS,aAAa,OAAO,qBAAqB,EAAE,YAAY,EAAE,QAAQ,UAAW,GAAG,EAC5F,GAAI,SAAW,kBAAmB,OAAO,OACzC,GAAI,CACF,IAAI,aAAe,SAAS,cAAc,8CAA8C,EACxF,GAAI,CAAC,aAAc,MAAO,GAC1B,IAAI,QAAU,KAAK,MAAM,aAAa,aAAe,IAAI,EACrD,WAAa,aACf,SAAW,QAAQ,kBAChB,SAAW,QAAQ,UAAY,QAAQ,SAAS,gBACrD,EAAE,YAAY,EAAE,QAAQ,UAAW,GAAG,EACtC,OAAO,aAAe,kBAAoB,WAAa,EACzD,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,6BAA8B,CAErC,GADI,CAAC,cAAc,GACf,+BAA+B,IAAM,kBAAmB,MAAO,GACnE,IAAI,SAAW,aAAa,OAAO,6BAA+B,OAAO,4BAA4B,EAAE,YAAY,EAEnH,GADI,WAAa,eACb,OAAO,gCAAkC,GAAM,MAAO,GAC1D,GAAI,CACF,IAAI,OAAS,IAAI,gBAAgB,OAAO,SAAS,QAAU,EAAE,EAE7D,GADI,aAAa,OAAO,IAAI,gBAAgB,CAAC,EAAE,YAAY,IAAM,eAC7D,mBAAmB,KAAK,aAAa,OAAO,IAAI,WAAW,CAAC,CAAC,EAAG,MAAO,EAC7E,MAAY,CAAC,CACb,MAAO,EACT,CAEA,SAAS,2BAA2B,MAAO,CACzC,IAAI,IAAM,aAAa,KAAK,EAC5B,GAAI,CAAC,IAAK,MAAO,GACjB,GAAI,CACF,IAAI,SAAW,IAAI,IAAI,IAAK,OAAO,SAAS,MAAM,EAAE,SAAS,EAC7D,MAAO,uDAAuD,KAAK,QAAQ,CAC7E,MAAY,CACV,MAAO,kCAAkC,KAAK,GAAG,CACnD,CACF,CAEA,SAAS,gCAAgC,MAAO,OAAQ,CACtD,GAAI,CAAC,OAAS,MAAM,4BAA6B,OAAO,MACxD,MAAM,4BAA8B,GAEpC,GAAI,CAAE,MAAM,aAAa,oCAAqC,aAAa,MAAM,GAAK,SAAS,CAAG,MAAY,CAAC,CAC/G,GAAI,CAAE,MAAM,aAAa,cAAe,MAAM,CAAG,MAAY,CAAC,CAC9D,GAAI,CAAE,MAAM,SAAW,EAAI,MAAY,CAAC,CACxC,GAAI,CAAE,MAAM,MAAM,YAAY,UAAW,OAAQ,WAAW,CAAG,MAAY,CAAC,CAC5E,GAAI,CAAE,MAAM,MAAM,YAAY,aAAc,SAAU,WAAW,CAAG,MAAY,CAAC,CACjF,GAAI,CAAE,MAAM,MAAM,YAAY,iBAAkB,OAAQ,WAAW,CAAG,MAAY,CAAC,CAEnF,GAAI,CACF,MAAM,aAAa,MAAO,wBAAwB,CACpD,MAAY,CACV,GAAI,CAAE,MAAM,IAAM,wBAA0B,MAAY,CAAC,CAC3D,CACA,OAAO,KACT,CAEA,SAAS,+BAA+B,KAAM,OAAQ,CACpD,GAAI,CAAC,4BAA4B,GAAK,CAAC,MAAQ,KAAK,WAAa,EAAG,OAAO,KAC3E,IAAI,QAAU,KAEd,GAAI,QAAQ,UAAY,SAAU,CAChC,IAAI,UAAY,QAAQ,aAAa,KAAK,GAAK,QAAQ,KAAO,GAC1D,2BAA2B,SAAS,GACtC,gCAAgC,QAAS,MAAM,CAEnD,CAEA,GAAI,CAEF,QADI,OAAS,QAAQ,iBAAmB,QAAQ,iBAAiB,QAAQ,EAAI,CAAC,EACrE,EAAI,EAAG,EAAI,OAAO,OAAQ,GAAK,EAAG,CACzC,IAAI,MAAQ,OAAO,CAAC,EAChB,UAAY,MAAM,aAAa,KAAK,GAAK,MAAM,KAAO,GACtD,2BAA2B,SAAS,GACtC,gCAAgC,MAAO,MAAM,CAEjD,CACF,MAAY,CAAC,CAEb,OAAO,IACT,CAEA,SAAS,mCAAoC,CAC3C,GAAI,CAAC,cAAc,GAAK,OAAO,wCAAyC,OACxE,OAAO,wCAA0C,GAEjD,IAAI,YAAc,OAAO,mBAAqB,OAAO,kBAAkB,UACvE,GAAI,aAAe,CAAC,YAAY,iCAAkC,CAChE,YAAY,iCAAmC,GAE/C,IAAI,qBAAuB,YAAY,aACvC,YAAY,aAAe,SAAS,KAAM,MAAO,CAC/C,OACE,4BAA4B,GAC5B,OAAO,MAAQ,EAAE,EAAE,YAAY,IAAM,OACrC,2BAA2B,KAAK,EAEzB,qBAAqB,KAAK,KAAM,KAAM,wBAAwB,EAEhE,qBAAqB,KAAK,KAAM,KAAM,KAAK,CACpD,EAEA,IAAI,cAAgB,OAAO,yBAAyB,YAAa,KAAK,EAClE,eAAiB,OAAO,cAAc,KAAQ,YAAc,OAAO,cAAc,KAAQ,YAC3F,OAAO,eAAe,YAAa,MAAO,CACxC,aAAc,GACd,WAAY,cAAc,WAC1B,IAAK,UAAW,CACd,OAAO,cAAc,IAAI,KAAK,IAAI,CACpC,EACA,IAAK,SAAS,MAAO,CACnB,GAAI,4BAA4B,GAAK,2BAA2B,KAAK,EAAG,CACtE,cAAc,IAAI,KAAK,KAAM,wBAAwB,EACrD,gCAAgC,KAAM,YAAY,EAClD,MACF,CACA,cAAc,IAAI,KAAK,KAAM,KAAK,CACpC,CACF,CAAC,CAEL,CAEA,IAAI,UAAY,OAAO,MAAQ,OAAO,KAAK,UAC3C,GAAI,WAAa,CAAC,UAAU,iCAAkC,CAC5D,UAAU,iCAAmC,GAE7C,IAAI,oBAAsB,UAAU,YACpC,UAAU,YAAc,SAAS,KAAM,CACrC,OAAO,oBAAoB,KAAK,KAAM,+BAA+B,KAAM,aAAa,CAAC,CAC3F,EAEA,IAAI,qBAAuB,UAAU,aACrC,UAAU,aAAe,SAAS,KAAM,cAAe,CACrD,OAAO,qBAAqB,KAAK,KAAM,+BAA+B,KAAM,cAAc,EAAG,aAAa,CAC5G,EAEA,IAAI,qBAAuB,UAAU,aACrC,UAAU,aAAe,SAAS,KAAM,SAAU,CAChD,OAAO,qBAAqB,KAAK,KAAM,+BAA+B,KAAM,cAAc,EAAG,QAAQ,CACvG,CACF,CAEA,IAAI,gBAAkB,GAClB,SAAW,IAAI,iBAAiB,SAAS,UAAW,CACtD,GAAK,4BAA4B,EACjC,QAAS,EAAI,EAAG,EAAI,UAAU,OAAQ,GAAK,EAEzC,QADI,WAAa,UAAU,CAAC,GAAK,UAAU,CAAC,EAAE,WAAa,UAAU,CAAC,EAAE,WAAa,CAAC,EAC7E,EAAI,EAAG,EAAI,WAAW,OAAQ,GAAK,EAC1C,+BAA+B,WAAW,CAAC,EAAG,UAAU,CAG9D,CAAC,EAED,SAAS,eAAgB,CACnB,iBAAmB,CAAC,SAAS,kBACjC,gBAAkB,GAClB,SAAS,QAAQ,SAAS,gBAAiB,CAAE,UAAW,GAAM,QAAS,EAAK,CAAC,EAC7E,+BAA+B,SAAS,gBAAiB,gBAAgB,EAC3E,CAEI,SAAS,aAAe,YAC1B,SAAS,iBAAiB,mBAAoB,cAAe,CAAE,KAAM,EAAK,CAAC,EAC3E,OAAO,iBAAiB,OAAQ,cAAe,CAAE,KAAM,EAAK,CAAC,GAE/D,OAAO,WAAW,cAAe,CAAC,CACpC,CAEA,SAAS,cAAc,MAAO,CAC5B,GAAI,CACF,OAAO,IAAI,IAAI,OAAO,OAAS,EAAE,EAAG,OAAO,SAAS,MAAM,EAAE,SAAS,CACvE,MAAY,CACV,OAAO,OAAO,OAAS,EAAE,CAC3B,CACF,CAEA,SAAS,0BAA2B,CAClC,IAAI,IAAM,CACR,4FACA,mDACA,6GACA,0EACA,oDACA,qEACA,+HACA,yIACA,kHACA,QACF,EAAE,KAAK,EAAE,EACT,MAAO,oCAAsC,mBAAmB,GAAG,CACrE,CAEA,SAAS,oBAAoB,MAAO,CAClC,IAAI,SAAW,cAAc,KAAK,EAElC,MADI,CAAC,UACD,WAAa,gCAAkC,wCAAwC,KAAK,QAAQ,EAC/F,yBAAyB,EAE3B,QACT,CAEA,SAAS,cAAe,CACtB,OAAO,aAAa,OAAO,wBAA0B,kBAAkB,GAAK,kBAC9E,CAEA,SAAS,8BAA+B,CACtC,IAAI,OAAS,aAAa,OAAO,6BAA+B,OAAO,4BAA4B,EAAE,YAAY,EACjH,GAAI,SAAW,aAAc,OAAO,OACpC,GAAI,CACF,IAAI,aAAe,SAAS,cAAc,8CAA8C,EACxF,GAAI,CAAC,aAAc,MAAO,GAC1B,IAAI,QAAU,KAAK,MAAM,aAAa,aAAe,IAAI,EACrD,iBAAmB,aACrB,SAAW,QAAQ,UAAY,QAAQ,SAAS,gBAC7C,SAAW,QAAQ,cACxB,EAAE,YAAY,EACd,OAAO,mBAAqB,aAAe,iBAAmB,EAChE,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,4BAA6B,CACpC,MAAO,EAAQ,OAAO,+BACjB,cAAc,GACd,+BAA+B,IAAM,mBACrC,6BAA6B,IAAM,YAC1C,CAEA,IAAI,0CAA4C,CAAC,EAC7C,uCAAyC,CAAC,EAC1C,qCAAuC,KAE3C,SAAS,+BAA+B,QAAS,CAC/C,MAAO,CAAC,EACN,SACG,OAAO,SAAY,WAEnB,QAAQ,kBAAoB,OAAO,QAAQ,kBAAqB,UAC7D,QAAQ,gBAAkB,OAAO,QAAQ,gBAAmB,UAGtE,CAEA,SAAS,2BAA2B,QAAS,CAC3C,IAAI,OAAS,SAAW,OAAO,SAAY,SAAW,QAAU,CAAC,EACjE,MAAO,CACL,iBAAkB,OAAO,kBAAoB,OAAO,OAAO,kBAAqB,SAC5E,OAAO,iBACP,CAAC,EACL,eAAgB,OAAO,gBAAkB,OAAO,OAAO,gBAAmB,SACtE,OAAO,eACP,CAAC,CACP,CACF,CAEA,SAAS,sCAAsC,OAAQ,CACrD,OAAO,aACL,SACE,OAAO,gBACJ,OAAO,kBACP,OAAO,oBACP,OAAO,UACP,OAAO,WACP,OAAO,OAEd,CACF,CAEA,SAAS,wCAAwC,aAAc,CAC7D,OAAO,aAAa,YAAY,EAAE,YAAY,CAChD,CAEA,SAAS,8BAA+B,CACtC,GAAI,CACF,IAAI,aAAe,SAAS,cAAc,8CAA8C,EACxF,GAAI,CAAC,aAAc,OAAO,KAC1B,IAAI,QAAU,KAAK,MAAM,aAAa,aAAe,IAAI,EACzD,OAAO,SAAW,OAAO,SAAY,SAAW,QAAU,IAC5D,MAAY,CACV,OAAO,IACT,CACF,CAEA,SAAS,+BAAgC,CACvC,IAAI,QAAU,OAAO,4BAA8B,OAAO,OAAO,4BAA+B,SAC5F,OAAO,2BACP,KACJ,OAAO,SAAW,aAAa,QAAQ,oBAAoB,EAAI,QAAU,IAC3E,CAEA,SAAS,wCAAyC,CAChD,IAAI,OAAS,6BAA6B,EAC1C,OAAO,aACL,QAAU,OAAO,UAAY,OAAO,SAAS,wBAC1C,QAAU,OAAO,sBACtB,CACF,CAEA,SAAS,kCAAkC,QAAS,CAClD,IAAI,KAAO,SAAW,QAAQ,QAAU,OAAO,QAAQ,QAAW,SAC9D,QAAQ,OACP,SAAW,OAAO,SAAY,SAAW,QAAU,CAAC,EACzD,GAAI,CAAC,MAAQ,KAAK,KAAO,GAAO,OAAO,KACvC,IAAI,QAAU,KAAK,SAAW,OAAO,KAAK,SAAY,SAAW,KAAK,QAAU,CAAC,EAC7E,WAAa,aAAa,QAAQ,YAAc,KAAK,UAAU,EAAE,YAAY,EAAE,QAAQ,KAAM,GAAG,EACpG,GAAI,CAAC,WAAY,OAAO,KACxB,IAAI,KAAO,OAAO,OAAO,CAAC,EAAG,QAAS,CACpC,WACA,qBAAsB,aAAa,QAAQ,sBAAwB,KAAK,oBAAoB,EAC5F,uBAAwB,aAAa,QAAQ,wBAA0B,KAAK,sBAAsB,EAClG,oBAAqB,aAAa,QAAQ,qBAAuB,KAAK,mBAAmB,CAC3F,CAAC,EACD,cAAO,wBAA0B,WACjC,OAAO,2BAA6B,KAC7B,IACT,CAEA,SAAS,iCAAkC,CACzC,IAAI,SAAW,8BAA8B,EAC7C,GAAI,SAAU,OAAO,QAAQ,QAAQ,QAAQ,EAC7C,GAAI,qCAAsC,OAAO,qCACjD,IAAI,UAAY,uCAAuC,EACvD,MAAI,CAAC,WAAa,OAAO,OAAU,WAAmB,QAAQ,QAAQ,IAAI,GAC1E,qCAAuC,MAAM,UAAW,CACtD,YAAa,aACf,CAAC,EAAE,KAAK,SAAS,SAAU,CACzB,GAAI,CAAC,SAAS,GAAI,MAAM,IAAI,MAAM,sCAAsC,EACxE,OAAO,SAAS,KAAK,CACvB,CAAC,EAAE,KAAK,SAAS,QAAS,CACxB,OAAO,kCAAkC,OAAO,CAClD,CAAC,EAAE,MAAM,UAAW,CAClB,OAAO,IACT,CAAC,EAAE,QAAQ,UAAW,CACpB,qCAAuC,IACzC,CAAC,EACM,qCACT,CAEA,SAAS,iCAAiC,aAAc,QAAS,CAC/D,IAAI,OAAS,wCAAwC,YAAY,EACjE,GAAI,CAAC,QAAU,CAAC,SAAW,OAAO,SAAY,UAAY,CAAC,MAAM,QAAQ,QAAQ,KAAK,EAAG,OAAO,KAChG,IAAI,KAAO,CAAE,iBAAkB,CAAC,EAAG,eAAgB,CAAC,CAAE,EACtD,eAAQ,MAAM,QAAQ,SAAS,OAAQ,CACrC,IAAI,OAAS,sCAAsC,MAAM,EACzD,GAAK,OACL,KAAI,SAAW,aAAa,QAAU,OAAO,EAAE,EAAE,YAAY,EACzD,aAAe,aAAa,QAAU,OAAO,SAAS,EACtD,WAAU,KAAK,iBAAiB,QAAQ,EAAI,QAC5C,eAAc,KAAK,eAAe,YAAY,EAAI,QACxD,CAAC,EACD,0CAA0C,MAAM,EAAI,KACpD,OAAO,mCAAqC,OAAO,oCAAsC,OAAO,OAAO,oCAAuC,SAC1I,OAAO,mCACP,CAAC,EACL,OAAO,mCAAmC,MAAM,EAAI,KACpD,OAAO,kCAAoC,KACpC,IACT,CAEA,SAAS,iCAAiC,aAAc,CACtD,IAAI,OAAS,wCAAwC,YAAY,EACjE,OAAI,QAAU,0CAA0C,MAAM,EAAU,0CAA0C,MAAM,EAEtH,QACG,OAAO,oCACP,OAAO,OAAO,oCAAuC,UACrD,+BAA+B,OAAO,mCAAmC,MAAM,CAAC,EAE5E,2BAA2B,OAAO,mCAAmC,MAAM,CAAC,EAEjF,+BAA+B,OAAO,iCAAiC,EAClE,2BAA2B,OAAO,iCAAiC,EAErE,IACT,CAEA,SAAS,yBAA0B,CACjC,IAAI,OAAS,aAAa,OAAO,UAAU,EAC3C,GAAI,OAAQ,OAAO,OACnB,GAAI,CACF,IAAI,aAAe,SAAS,cAAc,8CAA8C,EACxF,GAAI,aAAc,CAChB,IAAI,QAAU,KAAK,MAAM,aAAa,aAAe,IAAI,EACrD,SAAW,aAAa,UAAY,QAAQ,UAAY,QAAQ,WAAW,EAC/E,GAAI,SAAU,OAAO,QACvB,CACF,MAAY,CAAC,CACb,OAAO,aAAa,OAAO,WAAa,OAAO,UAAU,UAAU,CACrE,CAEA,SAAS,+BAA+B,aAAc,CACpD,IAAI,OAAS,wCAAwC,YAAY,EACjE,GAAI,CAAC,OAAQ,MAAO,GACpB,IAAI,OAAS,IAAI,gBACjB,cAAO,IAAI,WAAY,wBAAwB,CAAC,EAChD,OAAO,IAAI,gBAAiB,MAAM,EAC3B,aAAa,EAAE,QAAQ,OAAQ,EAAE,EAAI,gCAAkC,OAAO,SAAS,CAChG,CAEA,SAAS,oCAAoC,aAAc,CACzD,IAAI,QAAU,0BAA0B,EACpC,OAAS,wCAAwC,cAAgB,qCAAqC,QAAQ,aAAa,CAAC,EAChI,GAAI,CAAC,OACH,OAAO,gCAAgC,EAAE,KAAK,SAAS,QAAS,CAC9D,IAAI,aAAe,wCAAwC,cAAiB,SAAW,QAAQ,oBAAqB,EACpH,OAAO,aAAe,oCAAoC,YAAY,EAAI,IAC5E,CAAC,EAEH,IAAI,SAAW,iCAAiC,MAAM,EACtD,GAAI,SAAU,OAAO,QAAQ,QAAQ,QAAQ,EAC7C,GAAI,uCAAuC,MAAM,EAAG,OAAO,uCAAuC,MAAM,EACxG,IAAI,QAAU,+BAA+B,MAAM,EACnD,MAAI,CAAC,SAAW,OAAO,OAAU,WAAmB,QAAQ,QAAQ,IAAI,GACxE,uCAAuC,MAAM,EAAI,MAAM,QAAS,CAC9D,YAAa,aACf,CAAC,EAAE,KAAK,SAAS,SAAU,CACzB,GAAI,CAAC,SAAS,GAAI,MAAM,IAAI,MAAM,4CAA4C,EAC9E,OAAO,SAAS,KAAK,CACvB,CAAC,EAAE,KAAK,SAAS,QAAS,CACxB,OAAO,iCAAiC,OAAQ,OAAO,CACzD,CAAC,EAAE,MAAM,UAAW,CAClB,OAAO,IACT,CAAC,EAAE,QAAQ,UAAW,CACpB,uCAAuC,MAAM,EAAI,IACnD,CAAC,EACM,uCAAuC,MAAM,EACtD,CAEA,SAAS,qCAAqC,cAAe,CAC3D,IAAI,QAAU,8BAA8B,EAC5C,OAAO,wCAAwC,SAAW,QAAQ,oBAAoB,CACxF,CAEA,SAAS,2BAA4B,CACnC,IAAI,UAAY,GACZ,cAAgB,GACpB,GAAI,CACF,IAAI,KAAO,OAAO,kBAAoB,OAAO,iBAAiB,KAC1D,MAAQ,KAAK,UACf,UAAY,aAAa,KAAK,QAAQ,EAAE,EACxC,cAAgB,aAAa,KAAK,QAAQ,MAAM,EAAE,YAAY,EAElE,MAAY,CAAC,CACb,GAAI,CAAC,cACH,GAAI,CACF,IAAI,MAAQ,OAAO,OAAO,SAAS,UAAY,EAAE,EAAE,MAAM,yBAAyB,EAC9E,QAAO,cAAgB,aAAa,mBAAmB,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EACpF,MAAY,CAAC,CAEf,MAAO,CACL,UACA,aACF,CACF,CAEA,SAAS,uCAAuC,KAAM,CACpD,GAAI,CAAC,2BAA2B,EAAG,MAAO,GAC1C,IAAI,QAAU,0BAA0B,EACpC,SAAW,aACZ,MAAQ,KAAK,UACX,OAAO,YACP,OAAO,wBACZ,EAAE,YAAY,EACV,aAAe,aAChB,MAAQ,KAAK,cACX,OAAO,gBACP,OAAO,4BACZ,EACI,cAAgB,qCAAqC,QAAQ,aAAa,EAC1E,IAAM,iCAAiC,aAAa,EACpD,eAAiB,aAClB,KAAO,UAAY,IAAI,kBAAoB,IAAI,iBAAiB,QAAQ,GACrE,KAAO,cAAgB,IAAI,gBAAkB,IAAI,eAAe,YAAY,CAClF,EACA,OAAI,gBACG,EACT,CAEA,SAAS,mCAAmC,KAAM,CAChD,IAAI,OAAS,KACb,GAAI,CACF,OAAS,IAAI,gBAAgB,OAAO,SAAS,QAAU,EAAE,CAC3D,MAAY,CACV,OAAS,IACX,CACA,IAAI,gBAAkB,OAAO,4BAA8B,OAAO,OAAO,4BAA+B,SACpG,OAAO,2BACP,kCAAkC,EAClC,UAAY,kBACb,MAAQ,KAAK,WACb,iBAAmB,gBAAgB,WACnC,QAAU,OAAO,IAAI,WAAW,CACnC,EACI,aACD,kBAAoB,gBAAgB,eAAiB,IAAQ,aAAa,gBAAgB,WAAW,EAAE,YAAY,IAAM,iBACvH,aAAc,QAAU,OAAO,IAAI,cAAc,CAAE,EAAE,YAAY,IAAM,OAE5E,MAAI,CAAC,WAAa,CAAC,aAAqB,KACjC,CACL,SACF,CACF,CAEA,SAAS,uBAAwB,CAC/B,GAAI,CACF,OAAO,IAAI,IAAI,OAAO,OAAO,SAAS,MAAQ,EAAE,EAAG,OAAO,SAAS,MAAM,EAAE,SAAS,CACtF,MAAY,CACV,OAAO,OAAO,SAAS,MACzB,CACF,CAEA,SAAS,oBAAoB,MAAO,CAClC,IAAI,MAAQ,aAAa,KAAK,EAC9B,GAAI,CAAC,MAAO,MAAO,GAEnB,QADI,KAAO,KACF,MAAQ,EAAG,MAAQ,MAAM,OAAQ,OAAS,EACjD,MAAS,MAAQ,GAAK,KAAQ,MAAM,WAAW,KAAK,EAEtD,MAAO,MAAQ,OAAS,GAAG,SAAS,EAAE,CACxC,CAEA,SAAS,sCAAsC,SAAU,CACvD,IAAI,SAAW,aAAa,QAAQ,EACpC,OAAO,SAAY,+BAAiC,SAAY,EAClE,CAEA,SAAS,iCAAiC,aAAc,CACtD,GAAI,CAAC,aAAc,OAAO,KAC1B,GAAI,CACF,IAAI,SAAW,aAAa,qCAC5B,GAAI,UAAY,OAAO,UAAa,SAAU,OAAO,SACrD,IAAI,UAAY,CAAC,EACjB,oBAAa,qCAAuC,UAC7C,SACT,MAAY,CACV,OAAO,IACT,CACF,CAEA,SAAS,mCAAmC,SAAU,CACpD,IAAI,WAAa,sCAAsC,QAAQ,EAC/D,GAAI,CAAC,WAAY,OAAO,KACxB,IAAI,WAAa,CAAC,MAAM,EACxB,GAAI,CACE,OAAO,QAAU,OAAO,SAAW,QAAQ,WAAW,KAAK,OAAO,MAAM,CAC9E,MAAY,CAAC,CACb,QAAS,EAAI,EAAG,EAAI,WAAW,OAAQ,GAAK,EAAG,CAC7C,IAAI,MAAQ,iCAAiC,WAAW,CAAC,CAAC,EACtD,YAAc,OAAS,OAAO,OAAU,SACxC,MAAM,UAAU,EAChB,KACJ,GAAI,GAAC,aAAe,OAAO,aAAgB,UAAY,CAAC,YAAY,YAChE,GAAC,YAAY,eAAiB,OAAO,YAAY,eAAkB,UAAY,CAAC,YAAY,cAAc,UAG9G,OAAO,WACT,CACA,OAAO,IACT,CAEA,SAAS,6BAA6B,SAAU,CAC9C,IAAI,YAAc,mCAAmC,QAAQ,EAC7D,GAAI,YAAa,OAAO,YACxB,IAAI,WAAa,sCAAsC,QAAQ,EAC/D,GAAI,CAAC,WAAY,OAAO,KACxB,GAAI,CACF,IAAI,IAAM,OAAO,eAAe,QAAQ,UAAU,EAClD,GAAI,CAAC,IAAK,OAAO,KACjB,IAAI,OAAS,KAAK,MAAM,GAAG,EAE3B,MADI,CAAC,QAAU,OAAO,QAAW,UAAY,CAAC,OAAO,WACjD,CAAC,OAAO,eAAiB,OAAO,OAAO,eAAkB,UAAY,CAAC,OAAO,cAAc,SACtF,KAEF,MACT,MAAY,CACV,OAAO,IACT,CACF,CAEA,SAAS,8BAA8B,SAAU,QAAS,CACxD,IAAI,WAAa,sCAAsC,QAAQ,EAC/D,GAAI,CAAC,YAAc,CAAC,SAAW,OAAO,SAAY,SAAU,MAAO,GACnE,IAAI,YAAc,GACd,QAAU,CAAC,MAAM,EACrB,GAAI,CACE,OAAO,QAAU,OAAO,SAAW,QAAQ,QAAQ,KAAK,OAAO,MAAM,CAC3E,MAAY,CAAC,CACb,QAAS,EAAI,EAAG,EAAI,QAAQ,OAAQ,GAAK,EAAG,CAC1C,IAAI,MAAQ,iCAAiC,QAAQ,CAAC,CAAC,EACnD,QACF,MAAM,UAAU,EAAI,QACpB,YAAc,GAElB,CACA,GAAI,CACF,cAAO,eAAe,QAAQ,WAAY,KAAK,UAAU,OAAO,CAAC,EAC1D,EACT,MAAY,CACV,OAAO,WACT,CACF,CAEA,SAAS,+BAA+B,SAAU,CAChD,IAAI,WAAa,sCAAsC,QAAQ,EAC/D,GAAI,CAAC,WAAY,MAAO,GACxB,IAAI,QAAU,GACV,QAAU,CAAC,MAAM,EACrB,GAAI,CACE,OAAO,QAAU,OAAO,SAAW,QAAQ,QAAQ,KAAK,OAAO,MAAM,CAC3E,MAAY,CAAC,CACb,QAAS,EAAI,EAAG,EAAI,QAAQ,OAAQ,GAAK,EAAG,CAC1C,IAAI,MAAQ,iCAAiC,QAAQ,CAAC,CAAC,EACnD,OAAS,OAAO,UAAU,eAAe,KAAK,MAAO,UAAU,IACjE,OAAO,MAAM,UAAU,EACvB,QAAU,GAEd,CACA,GAAI,CACF,cAAO,eAAe,WAAW,UAAU,EACpC,EACT,MAAY,CACV,OAAO,OACT,CACF,CAEA,SAAS,+BAA+B,SAAU,CAChD,IAAI,SAAW,aAAa,QAAQ,EACpC,GAAI,CAAC,SAAU,MAAO,GACtB,GAAI,CACF,IAAI,YAAc,IAAI,IAAI,SAAU,OAAO,SAAS,MAAM,EACtD,SAAW,cAAgB,YAAY,OAC3C,GAAI,8BAA8B,QAAQ,EAAG,MAAO,GACpD,IAAI,KAAO,SAAS,cAAc,MAAM,EACxC,YAAK,IAAM,aACX,KAAK,KAAO,YAAY,OACxB,KAAK,YAAc,YACnB,SAAS,KAAK,YAAY,IAAI,EAC9B,8BAA8B,QAAQ,EAAI,GACnC,EACT,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,mCAAmC,KAAM,CAChD,IAAI,UAAY,gCAAgC,MAAQ,CAAC,CAAC,EAC1D,GAAI,CAAC,UAAW,MAAO,GACvB,GAAI,CACF,IAAI,aAAe,IAAI,IAAI,UAAW,OAAO,SAAS,MAAM,EAC5D,oBAAa,SAAW,aAAa,SAAS,QAAQ,uBAAwB,oBAAoB,EAClG,aAAa,aAAa,OAAO,eAAe,EAChD,aAAa,aAAa,OAAO,iBAAiB,EAClD,aAAa,aAAa,OAAO,gBAAgB,EACjD,aAAa,aAAa,OAAO,cAAc,EAC/C,aAAa,aAAa,OAAO,YAAY,EAC7C,aAAa,aAAa,OAAO,cAAc,EAC/C,aAAa,aAAa,OAAO,aAAa,EAC9C,aAAa,aAAa,OAAO,WAAW,EAC5C,aAAa,aAAa,OAAO,kBAAkB,EACnD,aAAa,aAAa,OAAO,wBAAwB,EACzD,aAAa,aAAa,OAAO,qBAAqB,EAClD,CAAC,aAAa,aAAa,IAAI,UAAU,GAAK,aAAa,aAAa,IAAI,IAAI,GAClF,aAAa,aAAa,IAAI,WAAY,aAAa,aAAa,aAAa,IAAI,IAAI,CAAC,CAAC,EAEzF,CAAC,aAAa,aAAa,IAAI,cAAc,GAAK,aAAa,aAAa,IAAI,WAAW,GAC7F,aAAa,aAAa,IAAI,eAAgB,aAAa,aAAa,aAAa,IAAI,WAAW,CAAC,CAAC,EAExG,aAAa,aAAa,IAAI,gBAAiB,WAAW,EACnD,aAAa,SAAS,CAC/B,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,sCAAsC,KAAM,CACnD,OAAO,oBAAoB,mCAAmC,MAAQ,CAAC,CAAC,CAAC,CAC3E,CAEA,SAAS,kCAAkC,KAAM,CAC/C,GAAI,CAAC,2BAA2B,EAAG,OAAO,QAAQ,QAAQ,IAAI,EAC9D,IAAI,aAAe,mCAAmC,MAAQ,CAAC,CAAC,EAC5D,SAAW,sCAAsC,MAAQ,CAAC,CAAC,EAC/D,GAAI,CAAC,cAAgB,CAAC,SAAU,OAAO,QAAQ,QAAQ,IAAI,EAC3D,IAAI,SAAW,6BAA6B,QAAQ,EACpD,OAAI,UAAY,SAAS,WAAa,SAAS,eAAiB,SAAS,cAAc,SAC9E,QAAQ,QAAQ,CACrB,SACA,aACA,QAAS,SACT,OAAQ,iBACV,CAAC,GAEC,iCAAiC,YAAY,IAGjD,+BAA+B,YAAY,EAC3C,iCAAiC,YAAY,EAAI,MAAM,aAAc,CACnE,OAAQ,MACR,QAAS,CACP,OAAQ,kBACV,EACA,YAAa,aACf,CAAC,EAAE,KAAK,SAAS,SAAU,CACzB,OAAO,SAAS,KAAK,EAAE,MAAM,UAAW,CAAE,OAAO,IAAM,CAAC,EAAE,KAAK,SAAS,QAAS,CAC/E,GACE,CAAC,SAAS,IACP,CAAC,SACD,OAAO,SAAY,UACnB,QAAQ,KAAO,IACf,CAAC,QAAQ,WACT,CAAC,QAAQ,eACT,OAAO,QAAQ,eAAkB,UACjC,CAAC,QAAQ,cAAc,SAE1B,MAAM,IAAI,MAAM,gDAAgD,EAElE,qCAA8B,SAAU,OAAO,EACxC,CACL,SACA,aACA,QACA,OAAQ,SACV,CACF,CAAC,CACH,CAAC,EAAE,MAAM,SAAS,MAAO,CACvB,MAAM,KACR,CAAC,EAAE,QAAQ,UAAW,CACpB,OAAO,iCAAiC,YAAY,CACtD,CAAC,GACM,iCAAiC,YAAY,EACtD,CAEA,SAAS,gCAAgC,KAAM,CAC7C,GAAI,CACE,OAAO,OAAO,mBAAsB,YACtC,OAAO,kBAAkB,EAAI,CAEjC,MAAY,CAAC,CACb,IAAI,UAAY,IAAI,IAAI,OAAO,OAAO,SAAS,MAAQ,OAAO,SAAS,MAAM,EAAG,OAAO,SAAS,MAAM,EAClG,QAAU,0BAA0B,EACpC,SAAW,aACZ,MAAQ,KAAK,UACX,OAAO,YACP,OAAO,wBACZ,EACI,aAAe,aAChB,MAAQ,KAAK,cACX,OAAO,gBACP,OAAO,4BACZ,EACI,OAAS,aACV,MAAQ,KAAK,QACX,OAAO,gCACZ,EACA,OAAI,eACF,UAAU,aAAa,IAAI,eAAgB,MAAM,EACjD,UAAU,aAAa,IAAI,YAAa,YAAY,GAElD,SACF,UAAU,aAAa,IAAI,KAAM,QAAQ,EAEzC,UAAU,aAAa,OAAO,IAAI,EAEhC,QACF,UAAU,aAAa,IAAI,SAAU,MAAM,EAEtC,UAAU,SAAS,CAC5B,CAEA,SAAS,gCAAgC,KAAM,CAC7C,IAAI,eAAiB,uCAAuC,IAAI,EAChE,GAAI,CAAC,eAAgB,MAAO,GAC5B,IAAI,QAAU,0BAA0B,EACpC,cAAgB,mCAAmC,IAAI,EACvD,SAAW,IAAI,IAAI,aAAa,EAAE,QAAQ,MAAO,EAAE,EAAI,aAAc,OAAO,SAAS,MAAM,EAC3F,SAAW,aACZ,MAAQ,KAAK,UACX,OAAO,YACP,OAAO,wBACZ,EACI,aAAe,aAChB,MAAQ,KAAK,cACX,OAAO,gBACP,OAAO,4BACZ,EACI,OAAS,aACV,MAAQ,KAAK,QACX,OAAO,gCACZ,EACI,QAAQ,WAAW,SAAS,aAAa,IAAI,YAAa,QAAQ,SAAS,EAC3E,QAAQ,eAAe,SAAS,aAAa,IAAI,gBAAiB,QAAQ,aAAa,EAC3F,SAAS,aAAa,IAAI,iBAAkB,cAAc,EAC1D,SAAS,aAAa,IAAI,mBAAoB,cAAc,EAC5D,SAAS,aAAa,IAAI,OAAQ,eAAiB,cAAc,UAAY,OAAS,KAAK,EACvF,eAAiB,cAAc,WACjC,SAAS,aAAa,IAAI,YAAa,cAAc,SAAS,EAE5D,UAAU,SAAS,aAAa,IAAI,KAAM,QAAQ,EAClD,cAAc,SAAS,aAAa,IAAI,YAAa,YAAY,EACjE,QAAQ,SAAS,aAAa,IAAI,SAAU,MAAM,EACtD,IAAI,UAAY,gCAAgC,IAAI,EACpD,gBAAS,aAAa,IAAI,sBAAuB,SAAS,EAC1D,SAAS,aAAa,IAAI,oBAAqB,SAAS,EACjD,SAAS,SAAS,CAC3B,CAEA,SAAS,kCAAkC,KAAM,CAC/C,IAAI,UAAY,gCAAgC,IAAI,EACpD,GAAI,CAAC,UAAW,MAAO,GACvB,GAAI,CACF,IAAI,SAAW,IAAI,IAAI,UAAW,OAAO,SAAS,MAAM,EACpD,WAAa,sBAAsB,EACvC,SAAS,aAAa,IAAI,aAAc,GAAG,EAC3C,SAAS,aAAa,IAAI,eAAgB,OAAO,SAAS,MAAM,EAChE,SAAS,aAAa,IAAI,cAAe,UAAU,EACnD,SAAS,aAAa,IAAI,YAAa,UAAU,EACjD,SAAS,aAAa,IAAI,mBAAoB,SAAS,EACvD,SAAS,aAAa,IAAI,yBAA0B,GAAG,EACvD,IAAI,SAAW,sCAAsC,MAAQ,CAAC,CAAC,EAC/D,OAAI,UACF,SAAS,aAAa,IAAI,sBAAuB,QAAQ,EAEpD,SAAS,SAAS,CAC3B,MAAY,CACV,OAAO,SACT,CACF,CAEA,SAAS,gCAAiC,CACxC,GAAI,CAAC,2BAA2B,EAAG,MAAO,GAC1C,GAAI,CACF,IAAI,QAAU,0BAA0B,EACpC,WAAa,sBAAsB,EACnC,SAAW,IAAI,IAAI,aAAa,EAAE,QAAQ,MAAO,EAAE,EAAI,aAAc,OAAO,SAAS,MAAM,EAC/F,OAAI,QAAQ,WAAW,SAAS,aAAa,IAAI,YAAa,QAAQ,SAAS,EAC3E,QAAQ,eAAe,SAAS,aAAa,IAAI,gBAAiB,QAAQ,aAAa,EAC3F,SAAS,aAAa,IAAI,OAAQ,KAAK,EACvC,SAAS,aAAa,IAAI,aAAc,GAAG,EAC3C,SAAS,aAAa,IAAI,eAAgB,OAAO,SAAS,MAAM,EAChE,SAAS,aAAa,IAAI,cAAe,UAAU,EACnD,SAAS,aAAa,IAAI,YAAa,UAAU,EACjD,SAAS,aAAa,IAAI,mBAAoB,SAAS,EACvD,SAAS,aAAa,IAAI,yBAA0B,GAAG,EAChD,SAAS,SAAS,CAC3B,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,6BAA6B,SAAU,CAC9C,GAAI,CACF,IAAI,OAAS,oBAAoB,IAAM,SAAW,IAAI,IAAI,OAAO,UAAY,EAAE,EAAG,OAAO,SAAS,MAAM,EACpG,eAAiB,aAAa,OAAO,aAAa,IAAI,kBAAkB,CAAC,EAAE,YAAY,EAC3F,OAAO,OAAO,aAAa,IAAI,wBAAwB,IAAM,MAExD,OAAO,aAAa,IAAI,eAAe,IAAM,KAAO,OAAO,aAAa,IAAI,YAAY,IAAM,OAC3F,iBAAmB,WAAa,iBAAmB,OAE7D,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,mCAAoC,CAC3C,GAAI,CACE,OAAO,OAAO,+BAAkC,YAClD,OAAO,8BAA8B,CAAE,QAAS,GAAI,CAAC,CAEzD,MAAY,CAAC,CACb,GAAI,CACE,OAAO,OAAO,uBAA0B,YAC1C,OAAO,sBAAsB,CAEjC,MAAY,CAAC,CACf,CAEA,SAAS,8BAA8B,OAAQ,QAAS,CACtD,GAAI,CAAC,2BAA2B,EAAG,OAAO,KAC1C,IAAI,KAAO,QAAU,OAAO,QAAW,SAAW,OAAS,CAAC,EACxD,cAAgB,SAAW,OAAO,SAAY,SAAW,QAAU,CAAC,EACpE,UAAY,kBAAkB,KAAK,SAAS,EAC5C,SAAW,aAAa,KAAK,QAAQ,EACrC,aAAe,aAAa,KAAK,YAAY,EAC7C,OAAS,aAAa,KAAK,QAAU,OAAO,gCAAgC,EAC5E,SAAW,MAAM,QAAQ,KAAK,QAAQ,EACtC,KAAK,SAAS,IAAI,mBAAmB,EAAE,OAAO,OAAO,EACrD,CAAC,EACD,cAAgB,aAAa,KAAK,aAAe,SAAS,OAAS,SAAS,CAAC,EAAI,GAAG,EACpF,WAAa,cAAgB,oBAAoB,aAAa,EAAI,GAItE,GAHI,YAAc,SAAS,QAAQ,UAAU,IAAM,IACjD,SAAS,QAAQ,UAAU,EAEzB,CAAC,WAAa,CAAC,UAAY,CAAC,aAAc,OAAO,KAErD,IAAI,YAAc,CAChB,UACA,SACA,aACA,aAAc,GACd,YAAa,eACb,OAAQ,aAAa,cAAc,QAAU,oBAAoB,CACnE,EACI,SAAQ,YAAY,OAAS,QAC7B,aAAY,YAAY,WAAa,YACrC,SAAS,SAAQ,YAAY,SAAW,SAAS,MAAM,GAE3D,GAAI,CACF,OAAO,2BAA6B,WACtC,MAAY,CAAC,CACb,mCAAmC,WAAW,EAE1C,WACF,OAAO,yBAA2B,SAClC,OAAO,WAAa,UAElB,eACF,OAAO,6BAA+B,aACtC,OAAO,eAAiB,cAEtB,SACF,OAAO,iCAAmC,QAG5C,iBAAiB,CACf,UACA,YACF,CAAC,EAED,GAAI,CACF,OAAO,cAAc,IAAI,YAAY,gCAAiC,CACpE,OAAQ,WACV,CAAC,CAAC,CACJ,MAAY,CAAC,CACb,OAAO,WACT,CAEA,SAAS,gCAAgC,KAAM,CAC7C,OAAK,2BAA2B,GAC3B,kCAAkC,MAAQ,CAAC,CAAC,EAAE,MAAM,UAAW,CAEpE,CAAC,EACM,IAJmC,EAK5C,CAEA,SAAS,+BAA+B,KAAM,CAC5C,IAAI,cAAgB,mCAAmC,IAAI,EACvD,gBAAkB,KACtB,GAAI,CACF,gBAAkB,2BAA2B,CAC/C,MAAY,CAAC,CAEb,MAAO,CACL,UAAW,kBACR,MAAQ,KAAK,WACV,eAAiB,cAAc,SACrC,EACA,SAAU,aACP,iBAAmB,gBAAgB,IAChC,MAAQ,KAAK,UACd,OAAO,YACP,OAAO,wBACZ,EACA,aAAc,aACX,iBAAmB,gBAAgB,cAChC,MAAQ,KAAK,cACd,OAAO,gBACP,OAAO,4BACZ,EACA,OAAQ,aACL,iBAAmB,gBAAgB,QAChC,MAAQ,KAAK,QACd,OAAO,gCACZ,CACF,CACF,CAEA,SAAS,kCAAmC,CAC1C,GAAI,CAAC,2BAA2B,EAAG,MAAO,GAC1C,GAAI,CACF,IAAI,IAAM,IAAI,IAAI,OAAO,OAAO,SAAS,MAAQ,EAAE,EAAG,OAAO,SAAS,MAAM,EACxE,UAAY,kBAAkB,IAAI,aAAa,IAAI,WAAW,CAAC,EAC/D,aAAe,aAAa,IAAI,aAAa,IAAI,WAAW,GAAK,IAAI,aAAa,IAAI,cAAc,CAAC,EACrG,SAAW,aAAa,IAAI,aAAa,IAAI,IAAI,CAAC,EAClD,wBACF,IAAI,aAAa,IAAI,cAAc,IAAM,QAEvC,IAAI,aAAa,IAAI,aAAa,IAAM,QACrC,YACC,cAAgB,UAGxB,OAAK,yBACL,IAAI,aAAa,IAAI,eAAgB,MAAM,EAC3C,IAAI,aAAa,OAAO,aAAa,EACrC,OAAO,QAAQ,aAAa,OAAO,QAAQ,OAAS,KAAM,SAAS,MAAO,IAAI,SAAS,CAAC,EACjF,IAJ8B,EAKvC,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,yCAA0C,CACjD,GAAI,OAAO,wDAAyD,OACpE,OAAO,wDAA0D,GAEjE,SAAS,UAAW,CAClB,GAAI,CAAC,2BAA2B,EAAG,OACnC,IAAI,OACJ,GAAI,CACF,OAAS,IAAI,gBAAgB,OAAO,OAAO,SAAS,QAAU,EAAE,CAAC,CACnE,MAAY,CACV,MACF,CACA,IAAI,UAAY,kBAAkB,OAAO,IAAI,WAAW,CAAC,EACrD,aAAe,aAAa,OAAO,IAAI,WAAW,GAAK,OAAO,IAAI,cAAc,CAAC,EACjF,SAAW,aAAa,OAAO,IAAI,IAAI,CAAC,EACxC,gCACF,OAAO,IAAI,cAAc,IAAM,QAE7B,OAAO,IAAI,aAAa,IAAM,QAC3B,YACC,cAAgB,UAGxB,GAAI,CAAC,gCAAiC,OAEtC,IAAI,SAAW,EACX,MAAQ,EAEZ,SAAS,mBAAoB,CACtB,QACL,OAAO,aAAa,KAAK,EACzB,MAAQ,EACV,CAEA,SAAS,4BAA6B,CACpC,UAAY,EACZ,IAAI,kBAAoB,SAAS,eAAe,6BAA6B,EACzE,yBAA2B,SAAS,eAAe,sCAAsC,EACzF,mBAAqB,SAAS,eAAe,uBAAuB,EACpE,cAAgB,aAAa,oBAAsB,mBAAmB,KAAK,EAC/E,GAAI,mBAAqB,cAAe,CACtC,IAAI,eAAiB,SAAS,cAAc,+EAA+E,EACvH,gBAAkB,iBAAmB,oBACvC,eAAe,QAAU,IAEvB,0BAA4B,2BAA6B,oBAC3D,yBAAyB,QAAU,IAEhC,kBAAkB,UACrB,kBAAkB,QAAU,IAE9B,GAAI,CAAE,OAAO,4BAA8B,EAAO,MAAY,CAAC,CAC/D,GAAI,CAAE,OAAO,cAAgB,EAAO,MAAY,CAAC,CACjD,OAAO,8BAAgC,GACvC,GAAI,CAAE,kBAAkB,cAAc,IAAI,MAAM,QAAS,CAAE,QAAS,EAAK,CAAC,CAAC,CAAG,MAAY,CAAC,CAC3F,GAAI,CAAE,kBAAkB,cAAc,IAAI,MAAM,SAAU,CAAE,QAAS,EAAK,CAAC,CAAC,CAAG,MAAY,CAAC,CAC5F,iCAAiC,EAEjC,IAAI,gBAAkB,SAAS,cAAc,+EAA+E,EAC5H,GAAI,iBAAmB,gBAAgB,KAAO,8BAA+B,CAC3E,kBAAkB,EAClB,MACF,CACF,CAEA,GAAI,UAAY,GAAI,CAClB,kBAAkB,EAClB,iCAAiC,EACjC,MACF,CAEA,MAAQ,OAAO,WAAW,2BAA4B,GAAG,CAC3D,CAEA,2BAA2B,CAC7B,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,SAAU,CAAE,KAAM,EAAK,CAAC,EAEtE,OAAO,WAAW,SAAU,CAAC,EAE/B,OAAO,iBAAiB,WAAY,QAAQ,CAC9C,CAEA,SAAS,yCAA0C,CACjD,GAAI,OAAO,wDAAyD,OACpE,OAAO,wDAA0D,GAEjE,IAAI,YAAc,EACd,sBAAwB,EACxB,qBAAuB,GACvB,oBAAsB,GAE1B,SAAS,sBAAsB,UAAW,CACxC,IAAI,OAAS,WAAa,OAAO,WAAc,SAAW,UAAY,CAAC,EACvE,MAAO,CACL,kBAAkB,OAAO,SAAS,EAClC,aAAa,OAAO,QAAQ,EAC5B,aAAa,OAAO,YAAY,EAChC,aAAa,OAAO,MAAM,CAC5B,EAAE,KAAK,GAAG,CACZ,CAEA,SAAS,kCAAkC,UAAW,CACpD,IAAI,aAAe,OAAO,kCAAoC,OAAO,UAAY,KACjF,GAAI,cAAgB,OAAO,aAAa,SAAY,WAClD,OAAO,aAET,IAAI,WAAa,OAAO,6BACxB,GAAI,OAAO,YAAe,WAAY,OAAO,KAC7C,GAAI,CACF,oBAAe,IAAI,WAAW,CAC5B,SAAU,aAAa,WAAa,UAAU,QAAQ,EACtD,aAAc,aAAa,WAAa,UAAU,YAAY,EAC9D,YAAa,QACb,KAAM,MACR,CAAC,EACD,OAAO,SAAW,aAClB,OAAO,iCAAmC,aACnC,YACT,MAAY,CACV,OAAO,IACT,CACF,CAEA,SAAS,oBAAoB,UAAW,CACtC,GAAI,CAAC,2BAA2B,EAAG,MAAO,GAC1C,IAAI,oBAAsB,WAAa,OAAO,WAAc,SAAW,UAAY,CAAC,EACpF,6BAA6B,mBAAmB,EAChD,IAAI,UAAY,gCAAgC,mBAAmB,EACnE,GAAI,CAAC,UACH,2CAAoC,EAAE,KAAK,UAAW,CACpD,oBAAoB,mBAAmB,CACzC,CAAC,EAAE,MAAM,UAAW,CAAC,CAAC,EACf,GAET,IAAI,aAAe,kCAAkC,mBAAmB,EACxE,OAAI,cAAgB,OAAO,aAAa,SAAY,WAC3C,aAAa,QAAQ,GAE9B,OAAO,SAAS,OAAO,SAAS,EACzB,GACT,CAEA,SAAS,qBAAqB,UAAW,CACvC,GAAI,CAAC,2BAA2B,EAAG,MAAO,GAC1C,IAAI,oBAAsB,WAAa,OAAO,WAAc,SAAW,UAAY,CAAC,EACpF,GACE,CAAC,kBAAkB,oBAAoB,SAAS,GAC7C,CAAC,aAAa,oBAAoB,QAAQ,GAC1C,CAAC,aAAa,oBAAoB,YAAY,EAEjD,MAAO,GAET,6BAA6B,mBAAmB,EAChD,IAAI,aAAe,kCAAkC,mBAAmB,EACxE,OAAI,cAAgB,OAAO,aAAa,wBAA2B,YAC5D,aAAa,uBAAuB,mBAAmB,EAAE,MAAM,UAAW,CAE/E,CAAC,EACM,IAEL,gCAAgC,mBAAmB,EAC9C,IAEJ,oCAAoC,EAAE,KAAK,UAAW,CACzD,gCAAgC,mBAAmB,CACrD,CAAC,EAAE,MAAM,UAAW,CAAC,CAAC,EACf,GACT,CAEA,SAAS,sBAAuB,CAC9B,GAAI,CAAC,2BAA2B,EAAG,MAAO,GAC1C,GAAI,oBAAqB,MAAO,GAChC,oBAAsB,GACtB,IAAI,aAAe,kCAAkC,CAAC,CAAC,EACvD,OAAI,cAAgB,OAAO,aAAa,gCAAmC,YACpE,aAAa,+BAA+B,EAAE,MAAM,UAAW,CAEpE,CAAC,EACM,IAEF,EACT,CAEA,SAAS,mBAAoB,CAC3B,GAAI,CAAC,2BAA2B,EAAG,MAAO,GAC1C,IAAI,UAAY,+BAA+B,EAC3C,aAAe,sBAAsB,SAAS,EAClD,OAAK,aAAa,QAAQ,KAAM,EAAE,EAI9B,eAAiB,qBACZ,IAET,qBAAuB,aAChB,qBAAqB,SAAS,IAPnC,qBAAuB,GAChB,GAOX,CAEI,6BAA6B,IAAM,eACrC,OAAO,4BAA8B,UAAuC,CAC1E,OAAO,oBAAoB,+BAA+B,CAAC,CAC7D,EACA,OAAO,8BAAgC,UAAyC,CAC9E,OAAO,qBAAqB,+BAA+B,CAAC,CAC9D,GAEG,oCAAoC,EACzC,OAAO,iBAAiB,qCAAsC,UAAW,CAClE,oCAAoC,CAC3C,CAAC,EAED,SAAS,iBAAiB,QAAS,SAAS,MAAO,CACjD,GAAK,2BAA2B,EAChC,KAAI,OAAS,OAAS,MAAM,QAAU,OAAO,MAAM,OAAO,SAAY,WAClE,MAAM,OAAO,QAAQ,WAAW,EAChC,KACJ,GAAK,OACL,KAAI,oBAAsB,aAAa,OAAO,aAAa,wBAAwB,CAAC,EACpF,GAAI,wBAAwB,6BAA+B,OAAO,QAAQ,sBAAsB,GAGhG,KAAI,KAAO,aAAa,OAAO,aAAe,OAAO,OAAS,EAAE,EAAE,YAAY,EAC9E,GAAK,uBAAuB,KAAK,IAAI,EAErC,KAAI,UAAY,+BAA+B,EAC3C,CAAC,UAAU,UAAY,CAAC,UAAU,eAElC,OAAO,MAAM,gBAAmB,YAAY,MAAM,eAAe,EACjE,OAAO,MAAM,iBAAoB,YAAY,MAAM,gBAAgB,EACnE,OAAO,MAAM,0BAA6B,YAAY,MAAM,yBAAyB,EAErF,aACF,OAAO,aAAa,WAAW,EAEjC,YAAc,OAAO,WAAW,UAAW,CACzC,YAAc,EACd,oBAAoB,+BAA+B,SAAS,CAAC,CAC/D,EAAG,GAAG,MACR,EAAG,EAAI,EAEP,SAAS,YAAa,CACf,2BAA2B,IAChC,qBAAqB,EACrB,kBAAkB,EACd,yBACJ,sBAAwB,OAAO,YAAY,kBAAmB,GAAG,GACnE,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,WAAY,CAAE,KAAM,EAAK,CAAC,EAExE,OAAO,WAAW,WAAY,CAAC,EAEjC,OAAO,iBAAiB,WAAY,UAAU,CAChD,CAEA,SAAS,cAAe,CACtB,IAAI,OAAS,OAAO,iBACpB,GAAI,OAAQ,CACV,IAAI,UAAa,OAAO,OAAO,qBAAwB,WAAc,OAAO,oBAAoB,EAAI,KACpG,GAAI,WAAa,UAAU,cAAe,OAAO,cAAc,UAAU,aAAa,CACxF,CAEA,OAAO,cAAc,aAAa,EAAE,QAAQ,MAAO,EAAE,EAAI,YAAY,CACvE,CAEA,wCAAwC,EACxC,wCAAwC,EAExC,SAAS,+BAAgC,CACvC,GAAI,CACF,OAAO,aAAa,IAAI,gBAAgB,OAAO,OAAO,SAAS,QAAU,EAAE,CAAC,EAAE,IAAI,kBAAkB,CAAC,CACvG,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,0BAA2B,CAClC,IAAI,OAAS,aAAa,OAAO,sBAAsB,EACvD,GAAI,OAAQ,OAAO,OACnB,IAAI,KAAO,aAAa,OAAO,SAAS,QAAQ,EAAE,QAAQ,UAAW,EAAE,EAAE,YAAY,EACjF,eAAiB,8BAA8B,EAC/C,cAAgB,aAAa,OAAO,SAAW,OAAO,QAAQ,OAAS,OAAO,QAAQ,MAAM,EAAE,EAClG,OAAI,OAAS,eAAiB,iBAAmB,mCAAqC,gBAAkB,mCAC/F,gBAEF,EACT,CAEA,SAAS,aAAc,CACrB,IAAI,OAAS,OAAO,iBACpB,GAAI,OAAQ,CACV,IAAI,UAAa,OAAO,OAAO,qBAAwB,WAAc,OAAO,oBAAoB,EAAI,KACpG,GAAI,WAAa,UAAU,aAAc,OAAO,cAAc,UAAU,YAAY,CACtF,CACA,OAAO,cAAc,aAAa,EAAI,QAAQ,CAChD,CAEA,SAAS,eAAgB,CACvB,IAAI,OAAS,OAAO,iBACpB,GAAI,OAAQ,CACV,IAAI,UAAa,OAAO,OAAO,qBAAwB,WAAc,OAAO,oBAAoB,EAAI,KACpG,GAAI,WAAa,UAAU,WAAY,OAAO,cAAc,UAAU,UAAU,CAClF,CACA,OAAO,cAAc,aAAa,CAAC,CACrC,CAEA,SAAS,oBAAqB,CAC5B,IAAI,SAAW,OAAO,cAAgB,CAAC,EACnC,GAAK,aAAa,SAAS,EAAE,GAAK,QACtC,MAAO,CACL,GACA,MAAO,aAAa,SAAS,KAAK,EAClC,YAAa,cAAc,SAAS,WAAa,IAAM,KAAO,SAAS,UAAY,GAAG,CACxF,CACF,CAEA,SAAS,uBAAuB,MAAO,CACrC,OAAO,aAAa,KAAK,EAAE,QAAQ,OAAQ,EAAE,CAC/C,CAEA,SAAS,aAAa,MAAO,SAAU,CACrC,IAAI,MAAQ,aAAa,KAAK,EAAE,QAAQ,WAAY,GAAG,EAAE,QAAQ,WAAY,EAAE,EAC/E,OAAO,OAAS,aAAa,UAAY,MAAM,GAAK,MACtD,CAEA,SAAS,YAAY,MAAO,CAC1B,IAAI,OAAS,OAAO,OAAS,CAAC,EAC9B,OAAK,OAAO,SAAS,MAAM,EACpB,KAAK,MAAM,OAAS,GAAI,EAAI,IADE,CAEvC,CAEA,SAAS,UAAU,MAAO,CACxB,OAAO,KAAK,MAAM,KAAK,UAAU,OAAS,IAAI,CAAC,CACjD,CAEA,SAAS,QAAS,CAChB,OAAO,IAAI,KAAK,EAAE,YAAY,CAChC,CAEA,SAAS,oBAAqB,CAC5B,OAAO,cAAc,OAAO,+BAAiC,EAAE,CACjE,CAEA,SAAS,0BAA2B,CAClC,IAAI,QAAU,aAAa,OAAO,sCAAyC,aAAa,EAAI,mBAAoB,EAChH,OAAO,cAAc,QAAQ,QAAQ,OAAQ,EAAE,EAAI,GAAG,CACxD,CAEA,SAAS,8BAA8B,QAAS,CAC9C,GAAI,MAAM,QAAQ,OAAO,EAAG,OAAO,QACnC,GAAI,SAAW,OAAO,SAAY,SAAU,CAC1C,GAAI,MAAM,QAAQ,QAAQ,KAAK,EAAG,OAAO,QAAQ,MACjD,GAAI,QAAQ,QAAU,OAAO,QAAQ,QAAW,UAAY,MAAM,QAAQ,QAAQ,OAAO,KAAK,EAC5F,OAAO,QAAQ,OAAO,KAE1B,CACA,MAAO,CAAC,CACV,CAEA,eAAe,mBAAoB,CACjC,GAAI,MAAM,QAAQ,OAAO,UAAU,GAAK,OAAO,WAAW,OACxD,OAAO,OAAO,WAEhB,GAAI,uBAAwB,OAAO,uBAEnC,IAAI,YAAc,mBAAmB,EACrC,OAAK,aAEL,uBAAyB,MAAM,YAAa,CAAE,YAAa,aAAc,CAAC,EACvE,KAAK,SAAS,SAAU,CACvB,GAAI,CAAC,SAAS,GAAI,MAAM,IAAI,MAAM,iCAAiC,EACnE,OAAO,SAAS,KAAK,CACvB,CAAC,EACA,KAAK,SAAS,KAAM,CACnB,IAAI,QAAU,8BAA8B,IAAI,EAChD,cAAO,WAAa,QACpB,OAAO,oCAAsC,MAAQ,KAAK,OAAS,KAAK,OAAU,MAAM,QAAQ,IAAI,EAAI,uBAAyB,GACjI,OAAO,mCAAqC,QAAQ,OAC7C,OACT,CAAC,EACA,MAAM,UAAW,CAChB,cAAO,oCAAsC,cAC7C,OAAO,mCAAqC,EACrC,CAAC,CACV,CAAC,EAEI,wBApBkB,CAAC,CAqB5B,CAEA,SAAS,WAAW,MAAO,SAAU,CACnC,IAAI,OAAS,OAAO,KAAK,EACzB,OAAO,OAAO,SAAS,MAAM,EAAI,OAAS,QAC5C,CAEA,SAAS,gBAAgB,MAAO,CAC9B,IAAI,KAAO,aAAa,KAAK,EAAE,YAAY,EAC3C,OAAI,OAAS,MAAQ,OAAS,SAAW,OAAS,SAAiB,KAC/D,OAAS,MAAQ,OAAS,cAAgB,OAAS,cAAsB,KACzE,OAAS,MAAQ,OAAS,cAAgB,OAAS,cAAsB,KACzE,OAAS,MAAQ,OAAS,QAAU,OAAS,OAAe,OACzD,QACT,CAEA,SAAS,0BAA0B,MAAO,CACxC,IAAI,QAAU,aAAa,KAAK,EAAE,YAAY,EAC9C,OAAI,UAAY,QAAgB,QAC5B,UAAY,QAAgB,QAC5B,UAAY,WAAa,UAAY,UAAY,UAAY,QAAU,UAAY,cAAsB,OACtG,OACT,CAEA,SAAS,oBAAoB,SAAU,CACrC,MAAO,CACL,MAAO,aAAa,UAAY,SAAS,OAAO,EAChD,OAAQ,aAAa,UAAY,SAAS,MAAM,CAClD,CACF,CAEA,SAAS,gCAAgC,UAAW,MAAO,CACzD,IAAI,KAAO,WAAa,OAAO,WAAc,SAAW,UAAY,CAAC,EACjE,OAAS,KAAK,IAAI,WAAW,KAAK,OAAQ,CAAC,CAAC,EAC5C,OAAS,KAAK,IAAI,WAAW,KAAK,OAAQ,CAAC,CAAC,EAC5C,WAAa,0BAA0B,KAAK,IAAI,EAChD,IAAM,aAAa,KAAK,KAAO,KAAK,GAAG,EACvC,eAAiB,CAAC,EACpB,KAAK,SACF,KAAK,eACL,KAAK,eACL,KAAK,cACL,KAAK,cACL,KAAK,cAEN,cAAgB,aAAe,OAC/B,CAAC,EACD,KAAK,SACF,KAAK,WAAa,KAChB,KAAK,SAAW,KAAK,SAAW,CAAC,gBAEtC,GACA,gBAAkB,CAAC,EACrB,KAAK,SACF,KAAK,SACL,KAAK,SACL,KAAK,QACL,gBACA,eAEL,MAAO,CACL,GAAI,aAAa,KAAK,WAAa,KAAK,EAAE,GAAM,UAAY,MAC5D,KAAM,WACN,KAAM,aAAa,KAAK,MAAQ,KAAK,MAAQ,KAAK,WAAa,KAAK,IAAI,GAAM,WAAa,MAAQ,GACnG,EAAG,YAAY,WAAW,KAAK,KAAM,CAAC,EAAI,EAAE,EAC5C,EAAG,YAAY,WAAW,KAAK,IAAK,CAAC,EAAI,EAAE,EAC3C,MAAO,KAAK,IAAI,GAAK,YAAa,KAAK,IAAI,WAAW,KAAK,MAAO,CAAC,CAAC,EAAI,OAAU,EAAE,CAAC,EACrF,OAAQ,KAAK,IAAI,GAAK,YAAa,KAAK,IAAI,WAAW,KAAK,OAAQ,CAAC,CAAC,EAAI,OAAU,EAAE,CAAC,EACvF,SAAU,YAAY,WAAW,KAAK,MAAO,CAAC,CAAC,EAC/C,OAAQ,gBACR,QAAS,KAAK,UAAY,GAC1B,KAAM,OAAO,KAAK,MAAS,SAAW,KAAK,KAAO,GAClD,OAAQ,OAAO,KAAK,QAAW,SAAW,KAAK,OAAS,GACxD,KAAM,aAAa,KAAK,IAAI,EAC5B,QAAS,aAAa,KAAK,WAAa,KAAK,KAAO,KAAK,GAAG,EAC5D,SAAU,CACR,QAAS,aAAa,KAAK,IAAI,EAC/B,IACA,eACA,cACA,SAAU,YAAY,WAAW,KAAK,SAAU,CAAC,EAAI,EAAE,EACvD,WAAY,aAAa,KAAK,UAAU,EACxC,WAAY,aAAa,KAAK,UAAU,CAC1C,CACF,CACF,CAEA,SAAS,6BAA6B,KAAM,MAAO,WAAY,SAAU,OAAQ,KAAM,WAAY,CACjG,IAAI,QAAU,MAAQ,OAAO,MAAS,SAAW,KAAO,CAAC,EACrD,SAAW,QAAQ,UAAY,OAAO,QAAQ,UAAa,SAAW,QAAQ,SAAW,CAAC,EAC1F,OAAS,QAAQ,QAAU,OAAO,QAAQ,QAAW,SAAW,QAAQ,OAAS,CAAC,EAClF,oBAAsB,uBAAuB,OAAQ,QAAQ,EAC7D,MAAQ,KAAK,IACf,GACA,YACE,WAAW,SAAS,OAAQ,CAAC,IACzB,OAAS,SAAY,WAAW,OAAO,MAAO,CAAC,EAAI,GAAM,WAAW,OAAO,MAAO,CAAC,IACpF,oBAAoB,KACzB,CACF,EACI,OAAS,KAAK,IAChB,GACA,YACE,WAAW,SAAS,QAAS,CAAC,IAC1B,OAAS,SAAY,WAAW,OAAO,OAAQ,CAAC,EAAI,GAAM,WAAW,OAAO,OAAQ,CAAC,IACtF,oBAAoB,MACzB,CACF,EACI,QAAU,MAAM,QAAQ,OAAO,OAAO,EACtC,OAAO,QAAQ,IAAI,+BAA+B,EAClD,CAAC,EAEL,MAAO,CACL,GAAI,aAAa,QAAQ,IAAM,SAAS,MAAM,GAAK,aAAa,eAAe,MAAO,WAAY,QAAQ,EAAE,YAAY,EAAG,UAAY,MAAQ,EAAE,EACjJ,KAAM,aAAa,SAAS,KAAK,GAAK,eAAe,MAAO,WAAY,QAAQ,EAChF,MACA,OACA,KACA,WAAY,aAAa,OAAO,eAAe,GAAK,UACpD,OAAQ,CAAC,EACT,SAAU,CACR,WACA,gBAAiB,GACjB,mBAAoB,UAAU,QAAQ,EACtC,iBAAkB,UAAU,MAAM,CACpC,EACA,OACF,CACF,CAEA,SAAS,+BAA+B,aAAc,SAAU,eAAgB,CAC9E,IAAI,cAAgB,cAAgB,OAAO,cAAiB,SACxD,UAAU,YAAY,EACtB,0BAA0B,UAAY,KAAM,IAAI,EAChD,SAAW,+BAA+B,aAAa,EAC3D,OAAK,SAAS,SACZ,SAAW,qBAAqB,SAAU,KAAK,IAAI,EAAG,MAAM,QAAQ,cAAc,MAAM,EAAI,cAAc,OAAO,OAAS,CAAC,CAAC,IAE1H,CAAC,cAAc,QAAU,OAAO,cAAc,QAAW,YAC3D,cAAc,OAAS,CAAC,IAEtB,CAAC,cAAc,UAAY,OAAO,cAAc,UAAa,YAC/D,cAAc,SAAW,CAAC,GAE5B,cAAc,OAAO,mBAAqB,uBAAuB,cAAc,OAAO,oBAAuB,UAAY,SAAS,EAAG,EACrI,cAAc,OAAO,aAAe,aAAa,cAAc,OAAO,cAAiB,UAAY,SAAS,SAAU,EACtH,cAAc,SAAS,SAAW,SAAS,MAAM,EACjD,cAAc,SAAS,QAAU,OAAO,OACtC,CAAC,EACD,oBAAoB,QAAQ,EAC3B,cAAc,SAAS,SAAW,OAAO,cAAc,SAAS,SAAY,SAAY,cAAc,SAAS,QAAU,CAAC,CAC7H,EACA,cAAc,SAAS,OAAS,aAAa,cAAc,SAAS,QAAW,UAAY,SAAS,MAAO,EAC3G,cAAc,SAAS,OAAS,aAAa,cAAc,SAAS,QAAU,gBAAmB,UAAY,SAAS,MAAO,EAC7H,cAAc,SAAS,WAAa,aAAa,cAAc,SAAS,YAAe,UAAY,SAAS,kBAAmB,EAC/H,cAAc,UAAY,MAAM,QAAQ,cAAc,SAAS,EAAI,cAAc,UAAU,MAAM,EAAI,SAAS,MAAM,EAC7G,aACT,CAEA,SAAS,4BAA4B,aAAc,CAEjD,GADI,CAAC,cAAgB,OAAO,cAAiB,UACzC,CAAC,MAAM,QAAQ,aAAa,MAAM,GAAK,CAAC,aAAa,OAAO,OAAQ,MAAO,GAC/E,IAAI,aAAe,aAAa,OAAO,KAAK,SAAS,MAAO,CAC1D,OAAO,OAAS,MAAM,UAAY,OAAO,MAAM,UAAa,UAAY,MAAM,SAAS,kBAAoB,OAAO,MAAM,SAAS,kBAAqB,QACxJ,CAAC,EACD,GAAI,aAAc,MAAO,GACzB,IAAI,YAAc,aAAa,OAAO,OAAO,SAAS,MAAO,MAAO,CAClE,OAAO,OAAS,MAAM,QAAQ,OAAS,MAAM,OAAO,EAAI,MAAM,QAAQ,OAAS,EACjF,EAAG,CAAC,EACJ,OAAO,cAAgB,GAAK,CAAC,EAAE,aAAa,UAAY,aAAa,SAAS,YAChF,CAEA,SAAS,kCAAkC,SAAU,UAAW,OAAQ,CACtE,IAAI,OAAS,WAAa,OAAO,WAAc,SAAW,UAAY,KACtE,GAAI,CAAC,QAAU,CAAC,MAAM,QAAQ,OAAO,KAAK,GAAK,CAAC,OAAO,MAAM,OAC3D,OAAO,0BAA0B,UAAY,KAAM,MAAM,EAE3D,IAAI,KAAO,gBAAgB,OAAO,MAAS,UAAY,SAAS,MAAS,QAAQ,EAC7E,WAAa,KAAK,IACpB,OAAO,MAAM,OACb,OAAO,UAAY,SAAS,iBAAmB,CAAC,GAAK,EACrD,CACF,EACI,SAAW,qBAAqB,SAAU,UAAU,EACpD,OAAS,OAAO,MAAM,IAAI,SAAS,KAAM,MAAO,CAClD,OAAO,6BAA6B,KAAM,MAAO,WAAY,SAAU,OAAQ,KAAM,SAAS,KAAK,GAAK,SAAS,CAAC,CAAC,CACrH,CAAC,EACG,UAAY,CAAC,EACjB,cAAO,QAAQ,SAAS,MAAO,CAC7B,IAAI,WAAa,aAAa,OAAS,MAAM,UAAY,MAAM,SAAS,UAAU,EAC9E,YAAc,UAAU,QAAQ,UAAU,IAAM,IAAI,UAAU,KAAK,UAAU,GAChF,MAAM,QAAQ,OAAS,MAAM,OAAO,EAAI,MAAM,QAAU,CAAC,GAAG,QAAQ,SAAS,OAAQ,CACpF,IAAI,QAAU,aAAa,SAAW,OAAO,SAAY,OAAO,UAAY,OAAO,SAAS,IAAK,EAC7F,SAAW,UAAU,QAAQ,OAAO,IAAM,IAAI,UAAU,KAAK,OAAO,CAC1E,CAAC,CACH,CAAC,EAEM,+BAA+B,CACpC,QAAS,uBACT,GAAI,OAAS,aAAc,WAAa,SAAS,WAAa,SAAS,KAAQ,OAAO,SAAU,YAAY,EAC5G,MAAO,aAAa,OAAO,KAAK,GAAK,aAAa,UAAY,SAAS,aAAa,GAAK,sBACzF,YAAa,GACb,KACA,UAAW,OAAO,EAClB,UAAW,OAAO,EAClB,OAAQ,CACN,mBAAoB,uBAAuB,OAAO,UAAa,UAAY,SAAS,EAAG,EACvF,aAAc,aAAa,UAAY,SAAS,SAAS,CAC3D,EACA,MAAO,CACL,UAAW,IACX,MAAO,OAAO,MAAM,OAAO,SAAS,SAAU,KAAM,CAClD,IAAI,SAAW,MAAQ,KAAK,UAAY,OAAO,KAAK,UAAa,SAAW,KAAK,SAAW,CAAC,EACzF,WAAa,OAAO,SAAS,OAAS,CAAC,GAAK,EAChD,OAAO,KAAK,IAAI,SAAU,UAAU,CACtC,EAAG,CAAC,EACJ,eAAgB,UAChB,UAAW,aAAa,OAAO,QAAQ,EAAE,YAAY,IAAM,MAAQ,MAAQ,MAC7E,EACA,OACA,UACA,SAAU,CACR,gBAAiB,GACjB,WAAY,aAAa,OAAO,UAAU,EAC1C,OAAQ,aAAa,OAAO,MAAM,EAClC,SAAU,SAAS,MAAM,EACzB,QAAS,oBAAoB,QAAQ,CACvC,CACF,EAAG,SAAU,yBAAyB,CACxC,CAEA,SAAS,8BAA8B,OAAQ,UAAW,CACxD,IAAI,WAAa,CAAC,EACd,KAAO,QAAU,OAAO,MAAQ,OAAO,MAAQ,CAAC,EAChD,YAAc,gBAAgB,EAC9B,gBAAkB,2BAA2B,EAEjD,SAAS,cAAc,GAAI,aAAc,CACvC,IAAI,SAAW,uBAAuB,EAAE,EACpC,OAAS,aAAa,YAAY,EAClC,CAAC,UAAY,CAAC,QAClB,WAAW,KAAK,CACd,GAAI,SACJ,aAAc,MAChB,CAAC,CACH,CAEA,qBAAc,iBAAmB,gBAAgB,GAAI,iBAAmB,gBAAgB,YAAY,EACpG,cAAc,OAAO,2BAA4B,iBAAmB,gBAAgB,YAAY,EAChG,cAAc,KAAK,SAAU,KAAK,YAAY,EAC9C,cAAc,WAAa,UAAU,SAAU,WAAa,UAAU,YAAY,EAClF,cAAc,OAAO,yBAA0B,OAAO,4BAA4B,EAClF,cAAc,OAAO,WAAY,OAAO,cAAc,EACtD,cAAc,GAAI,aAAe,YAAY,KAAK,EAE3C,UACT,CAEA,eAAe,6BAA6B,SAAU,OAAQ,CAC5D,IAAI,SAAW,uBAAuB,UAAY,SAAS,EAAE,EAC7D,GAAI,CAAC,SAAU,OAAO,KACtB,GAAI,yBAAyB,QAAQ,EAAG,OAAO,yBAAyB,QAAQ,EAEhF,IAAI,WAAa,yBAAyB,EAAI,mBAAmB,QAAQ,EAAI,UAAY,mBAAmB,OAAO,KAAK,IAAI,CAAC,CAAC,EAC9H,gCAAyB,QAAQ,EAAI,MAAM,WAAY,CACrD,YAAa,cACb,MAAO,UACT,CAAC,EACE,KAAK,SAAS,SAAU,CACvB,GAAI,CAAC,SAAS,GAAI,MAAM,IAAI,MAAM,kCAAkC,EACpE,OAAO,SAAS,KAAK,CACvB,CAAC,EACA,KAAK,SAAS,QAAS,CACtB,IAAI,OAAS,SAAW,OAAO,SAAY,UAAY,QAAQ,QAAU,OAAO,QAAQ,QAAW,SAC/F,QAAQ,OACR,QACJ,OAAO,kCAAkC,SAAU,OAAQ,MAAM,CACnE,CAAC,EACA,MAAM,UAAW,CAChB,OAAO,IACT,CAAC,EAEI,yBAAyB,QAAQ,CAC1C,CAEA,SAAS,mBAAmB,IAAK,CAC/B,IAAI,MAAQ,aAAa,GAAG,EAAE,QAAQ,KAAM,EAAE,EAC9C,GAAI,CAAC,MAAO,OAAO,KACnB,IAAI,MAAQ,MAAM,MAAM,sCAAsC,EAC9D,GAAI,CAAC,MAAO,OAAO,KACnB,IAAI,MAAQ,OAAO,MAAM,CAAC,CAAC,EACvB,OAAS,OAAO,MAAM,CAAC,CAAC,EAC5B,MAAI,CAAC,OAAO,SAAS,KAAK,GAAK,CAAC,OAAO,SAAS,MAAM,EAAU,KACzD,CACL,MACA,MACF,CACF,CAEA,SAAS,uBAAuB,OAAQ,SAAU,CAChD,IAAI,KAAO,QAAU,OAAO,MAAQ,OAAO,MAAQ,CAAC,EAChD,MAAQ,OAAO,KAAK,OAAS,KAAK,WAAa,CAAC,EAChD,OAAS,OAAO,KAAK,QAAU,KAAK,YAAc,CAAC,EACvD,GAAI,MAAQ,GAAK,OAAS,EACxB,MAAO,CACL,MAAO,YAAY,KAAK,EACxB,OAAQ,YAAY,MAAM,CAC5B,EAUF,QAPI,WAAa,CACf,UAAY,SAAS,eACrB,UAAY,SAAS,KACrB,UAAY,SAAS,gBACrB,UAAY,SAAS,eACvB,EAES,MAAQ,EAAG,MAAQ,WAAW,OAAQ,OAAS,EAAG,CACzD,IAAI,OAAS,mBAAmB,WAAW,KAAK,CAAC,EACjD,GAAI,OAAQ,OAAO,MACrB,CAEA,MAAO,CACL,MAAO,EACP,OAAQ,GACV,CACF,CAEA,SAAS,eAAe,MAAO,MAAO,SAAU,CAC9C,IAAI,QAAU,UAAY,MAAM,QAAQ,SAAS,OAAO,EAAI,SAAS,QAAU,CAAC,EAChF,OAAI,QAAQ,KAAK,GAAK,QAAQ,KAAK,EAAE,MAAc,aAAa,QAAQ,KAAK,EAAE,KAAK,EAChF,QAAU,GACV,QAAU,EAAU,QACpB,QAAU,GAAK,QAAU,EAAU,OAChC,UAAY,MAAQ,EAC7B,CAEA,SAAS,qBAAqB,SAAU,WAAY,CAClD,IAAI,KAAO,CAAC,EACR,SAAW,UAAY,MAAM,QAAQ,SAAS,QAAQ,EAAI,SAAS,SAAW,CAAC,EAWnF,IAVA,SAAS,QAAQ,SAAS,IAAK,CAC7B,IAAI,SAAW,oBAAoB,GAAG,EAClC,UAAU,KAAK,KAAK,QAAQ,CAClC,CAAC,EACG,CAAC,KAAK,QAAU,UAAY,SAAS,oBACvC,KAAK,KAAK,oBAAoB,SAAS,kBAAkB,CAAC,EAEvD,KAAK,QACR,KAAK,KAAK,yBAAyB,CAAC,EAE/B,KAAK,OAAS,YACnB,KAAK,KAAK,KAAK,KAAK,OAAS,CAAC,GAAK,KAAK,CAAC,CAAC,EAE5C,OAAO,KAAK,MAAM,EAAG,UAAU,CACjC,CAEA,SAAS,qBAAqB,SAAU,CACtC,MAAI,CAAC,UAAY,OAAO,UAAa,SAAiB,KAC/C,CACL,GAAI,uBAAuB,SAAS,EAAE,EACtC,UAAW,aAAa,SAAS,SAAS,EAC1C,cAAe,aAAa,SAAS,aAAa,EAClD,QAAS,aAAa,SAAS,OAAO,EACtC,OAAQ,aAAa,SAAS,MAAM,EACpC,SAAU,MAAM,QAAQ,SAAS,QAAQ,EAAI,SAAS,SAAS,MAAM,EAAI,CAAC,EAC1E,mBAAoB,aAAa,SAAS,kBAAkB,EAC5D,gBAAiB,OAAO,SAAS,iBAAmB,CAAC,GAAK,OAC1D,KAAM,aAAa,SAAS,IAAI,EAChC,eAAgB,aAAa,SAAS,cAAc,EACpD,QAAS,MAAM,QAAQ,SAAS,OAAO,EAAI,SAAS,QAAQ,MAAM,EAAI,CAAC,EACvE,OAAQ,aAAa,SAAS,MAAM,EACpC,mBAAoB,uBAAuB,SAAS,kBAAkB,CACxE,CACF,CAEA,SAAS,wBAAwB,OAAQ,CACvC,IAAI,KAAO,QAAU,OAAO,MAAQ,OAAO,MAAQ,CAAC,EAChD,MAAQ,MAAQ,KAAK,aAAe,OAAO,KAAK,aAAgB,SAAW,KAAK,YAAc,KAC9F,WAAa,uBAAuB,KAAK,WAAa,KAAK,QAAQ,EACvE,OAAK,MAEE,OAAO,KAAK,KAAK,EAAE,IAAI,SAAS,IAAK,CAC1C,IAAI,KAAO,MAAM,GAAG,GAAK,OAAO,MAAM,GAAG,GAAM,SAAW,MAAM,GAAG,EAAI,CAAC,EACpE,SAAW,uBAAuB,KAAK,IAAM,GAAG,EAChD,MAAQ,aAAa,KAAK,eAAiB,KAAK,OAAS,KAAK,IAAI,EAClE,WAAa,cAAc,KAAK,oBAAsB,KAAK,WAAa,EAAE,EAC1E,YAAc,MAAM,QAAQ,KAAK,QAAQ,GAAK,KAAK,SAAS,OAC5D,KAAK,SAAS,IAAI,aAAa,EAAE,OAAO,OAAO,EAC9C,WAAa,CAAC,UAAU,EAAI,CAAC,EAClC,MAAO,CACL,GAAI,SACJ,UAAW,aAAa,KAAK,SAAS,EACtC,cAAe,OAAS,4BACxB,QAAS,aAAa,KAAK,UAAY,KAAK,QAAQ,OAAS,KAAK,QAAQ,KAAK,EAC/E,OAAQ,cAAc,OAAO,SAAS,UAAY,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,EACtE,SAAU,YACV,mBAAoB,WACpB,gBAAiB,OAAO,KAAK,UAAY,KAAK,iBAAmB,CAAC,GAAK,OACvE,QAAS,CAAC,EACV,OAAQ,0BACR,mBAAoB,WACpB,WAAY,aAAa,KAAK,IAAI,CACpC,CACF,CAAC,EAAE,OAAO,SAAS,KAAM,CACvB,MAAO,CAAC,CAAC,KAAK,EAChB,CAAC,EA1BkB,CAAC,CA2BtB,CAEA,SAAS,0BAA0B,SAAU,OAAQ,CAanD,QAZI,KAAO,QAAU,OAAO,MAAQ,OAAO,MAAQ,CAAC,EAChD,WAAa,uBAAuB,OAAQ,QAAQ,EACpD,WAAa,KAAK,IACpB,EACA,OAAO,KAAK,UAAY,CAAC,GAAK,EAC9B,OAAO,UAAY,SAAS,iBAAmB,CAAC,GAAK,EACrD,MAAM,QAAQ,UAAY,SAAS,QAAQ,EAAI,SAAS,SAAS,OAAS,CAC5E,EACI,SAAW,qBAAqB,SAAU,UAAU,EACpD,MAAQ,aAAa,UAAY,SAAS,aAAa,GAAK,aAAa,KAAK,YAAY,GAAK,sBAC/F,OAAS,CAAC,EAEL,MAAQ,EAAG,MAAQ,WAAY,OAAS,EAAG,CAClD,IAAI,QAAU,cAAc,UAAY,SAAS,UAAY,SAAS,UAAY,IAAM,IAAM,eAAe,MAAO,WAAY,QAAQ,EAAE,YAAY,EAAG,UAAY,MAAQ,EAAE,EAC3K,UAAY,eAAe,MAAO,WAAY,QAAQ,EACtD,WAAa,SAAS,KAAK,GAAK,SAAS,CAAC,EAC9C,OAAO,KAAK,CACV,GAAI,QACJ,KAAM,UACN,MAAO,WAAW,MAClB,OAAQ,WAAW,OACnB,KAAM,SACN,WAAY,UACZ,OAAQ,CAAC,EACT,SAAU,CACR,UACF,EACA,QAAS,CACP,CACE,GAAI,WAAa,QACjB,KAAM,QACN,KAAM,UAAY,WAClB,EAAG,EACH,EAAG,EACH,MAAO,WAAW,MAClB,OAAQ,WAAW,OACnB,SAAU,EACV,OAAQ,GACR,QAAS,GACT,KAAM,GACN,OAAQ,GACR,KAAM,GACN,QAAS,WACT,SAAU,CACR,IAAK,WACL,KAAM,SACR,CACF,EACA,CACE,GAAI,SAAW,QACf,KAAM,OACN,KAAM,UAAY,SAClB,EAAG,IACH,EAAG,IACH,MAAO,KAAK,IAAI,IAAK,WAAW,MAAQ,GAAI,EAC5C,OAAQ,KAAK,IAAI,IAAM,WAAW,OAAS,GAAI,EAC/C,SAAU,EACV,OAAQ,GACR,QAAS,GACT,KAAM,UACN,OAAQ,GACR,KAAM,QAAU,EAAI,MAAQ,UAC5B,QAAS,GACT,SAAU,CACR,SAAU,KAAK,IAAI,IAAM,KAAK,IAAI,GAAK,WAAW,OAAS,GAAI,CAAC,EAChE,WAAY,QAAU,EAAI,MAAQ,KACpC,CACF,EACA,CACE,GAAI,QAAU,QACd,KAAM,OACN,KAAM,UAAY,QAClB,EAAG,IACH,EAAG,KAAK,IAAI,GAAK,WAAW,OAAS,GAAI,EACzC,MAAO,KAAK,IAAI,IAAK,WAAW,MAAQ,GAAI,EAC5C,OAAQ,IACR,SAAU,EACV,OAAQ,GACR,QAAS,GACT,KAAM,UACN,OAAQ,GACR,KAAM,aAAa,UAAY,SAAS,OAAO,GAAK,sBACpD,QAAS,GACT,SAAU,CACR,SAAU,IACV,WAAY,KACd,CACF,CACF,CACF,CAAC,CACH,CAEA,MAAO,CACL,QAAS,uBACT,GAAI,OAAS,aAAa,WAAa,SAAS,WAAa,SAAS,IAAK,SAAS,EACpF,MACA,YAAa,8DACb,KAAM,SACN,UAAW,OAAO,EAClB,UAAW,OAAO,EAClB,OAAQ,CACN,mBAAoB,uBAAuB,UAAY,SAAS,EAAE,EAClE,aAAc,aAAa,UAAY,SAAS,SAAS,CAC3D,EACA,MAAO,CACL,UAAW,IACX,MAAO,EACP,UAAW,MACb,EACA,OACA,UAAW,SAAS,MAAM,EAC1B,SAAU,CACR,OAAQ,mBACR,QAAS,aAAa,UAAY,SAAS,OAAO,EAClD,OAAQ,aAAa,UAAY,SAAS,MAAM,CAClD,CACF,CACF,CAEA,eAAe,yBAAyB,OAAQ,UAAW,CAKzD,QAJI,WAAa,8BAA8B,OAAQ,SAAS,EAC5D,eAAiB,wBAAwB,MAAM,EAE/C,QAAU,MAAM,kBAAkB,EAC7B,MAAQ,EAAG,MAAQ,WAAW,OAAQ,OAAS,EAAG,CACzD,IAAI,UAAY,WAAW,KAAK,EAC5B,MAAQ,QAAQ,KAAK,SAAS,KAAM,CACtC,IAAI,OAAS,uBAAuB,MAAQ,KAAK,EAAE,EAC/C,WAAa,aAAa,MAAQ,KAAK,SAAS,EACpD,OAAQ,UAAU,IAAM,SAAW,UAAU,IAAQ,UAAU,cAAgB,aAAe,UAAU,YAC1G,CAAC,EACD,GAAI,MAAO,OAAO,KACpB,CAEA,QAAS,WAAa,EAAG,WAAa,WAAW,OAAQ,YAAc,EAAG,CACxE,IAAI,eAAiB,WAAW,UAAU,EACtC,WAAa,eAAe,KAAK,SAAS,KAAM,CAClD,IAAI,OAAS,uBAAuB,MAAQ,KAAK,EAAE,EAC/C,WAAa,aAAa,MAAQ,KAAK,SAAS,EACpD,OAAQ,eAAe,IAAM,SAAW,eAAe,IAAQ,eAAe,cAAgB,aAAe,eAAe,YAC9H,CAAC,EACD,GAAI,WAAY,OAAO,UACzB,CAEA,OAAI,eAAe,OACV,eAAe,CAAC,EAGlB,IACT,CAEA,SAAS,kBAAmB,CAC1B,IAAI,QAAU,OAAO,yBACrB,OAAO,SAAW,OAAO,SAAY,SAAW,QAAU,IAC5D,CAEA,SAAS,4BAA4B,cAAe,cAAe,CACjE,IAAI,QAAW,eAAiB,OAAO,eAAkB,SAAY,cAAgB,CAAC,EAClF,QAAW,eAAiB,OAAO,eAAkB,SAAY,cAAgB,CAAC,EAClF,aAAe,QAAQ,UAAY,OAAO,QAAQ,UAAa,SAAW,QAAQ,SAAW,CAAC,EAC9F,OAAS,aAAa,QAAU,OAAO,aAAa,QAAW,SAAW,aAAa,OAAS,CAAC,EACjG,QAAU,QAAQ,SAAW,OAAO,QAAQ,SAAY,SACxD,QAAQ,QACP,aAAa,UAAY,aAAa,SAAS,SAAW,OAAO,aAAa,SAAS,SAAY,SAClG,aAAa,SAAS,QACtB,CAAC,EACH,SAAW,MAAM,QAAQ,QAAQ,cAAc,GAAK,QAAQ,eAAe,OAC3E,QAAQ,eAAe,MAAM,EAC5B,MAAM,QAAQ,QAAQ,QAAQ,EAAI,QAAQ,SAAS,MAAM,EAAI,CAAC,EAEnE,MAAO,CACL,GAAI,uBAAuB,QAAQ,UAAY,QAAQ,UAAY,OAAO,kBAAkB,EAC5F,UAAW,aAAa,QAAQ,cAAgB,QAAQ,cAAgB,OAAO,YAAY,EAC3F,cAAe,aAAa,QAAQ,eAAiB,QAAQ,OAAS,aAAa,KAAK,EACxF,QAAS,aAAa,UAAY,QAAQ,OAAS,QAAQ,KAAK,EAChE,OAAQ,aAAa,SAAW,QAAQ,MAAM,EAC9C,SACA,mBAAoB,aAAa,SAAS,CAAC,CAAC,EAC5C,gBAAiB,OAAO,QAAQ,WAAa,MAAM,QAAQ,aAAa,MAAM,EAAI,aAAa,OAAO,OAAS,EAAE,GAAK,OACtH,QAAS,CAAC,EACV,OAAQ,QAAQ,qBAAuB,4BAA8B,sBACrE,mBAAoB,aAAa,QAAQ,YAAe,aAAa,UAAY,aAAa,SAAS,UAAW,CACpH,CACF,CAEA,eAAe,8BAA8B,cAAe,cAAe,UAAW,OAAQ,CAC5F,IAAI,QAAW,eAAiB,OAAO,eAAkB,SAAY,cAAgB,CAAC,EAClF,QAAW,eAAiB,OAAO,eAAkB,SAAY,cAAgB,CAAC,EAClF,gBAAkB,4BAA4B,QAAS,OAAO,EAC9D,YAAc,QAAQ,gBAAkB,OAAO,QAAQ,gBAAmB,SAC1E,QAAQ,eACP,QAAQ,UAAY,OAAO,QAAQ,UAAa,SAAW,QAAQ,SAAW,KAC/E,aAAe,YAAc,UAAU,WAAW,EAAI,0BAA0B,iBAAmB,KAAM,MAAM,EACnH,GAAI,iBAAmB,4BAA4B,YAAY,EAAG,CAChE,IAAI,iBAAmB,MAAM,6BAA6B,gBAAiB,MAAM,EACjF,GAAI,iBAAkB,CACpB,IAAI,eAAiB,cAAgB,aAAa,QAAU,OAAO,aAAa,QAAW,SAAW,aAAa,OAAS,CAAC,EACzH,iBAAmB,cAAgB,aAAa,UAAY,OAAO,aAAa,UAAa,SAAW,aAAa,SAAW,CAAC,EACrI,iBAAiB,MAAQ,aAAa,QAAQ,OAAS,iBAAiB,KAAK,EAC7E,iBAAiB,UAAY,aAAa,cAAgB,aAAa,SAAS,GAAK,iBAAiB,UACtG,iBAAiB,UAAY,aAAa,cAAgB,aAAa,SAAS,GAAK,iBAAiB,UACtG,iBAAiB,OAAS,OAAO,OAAO,CAAC,EAAG,iBAAiB,QAAU,CAAC,EAAG,eAAgB,CACzF,oBAAqB,kBACnB,QAAQ,iBACL,eAAe,qBACd,QAAQ,UAAY,QAAQ,SAAS,QAAU,QAAQ,SAAS,OAAO,mBAC7E,GAAK,MACP,CAAC,EACD,iBAAiB,SAAW,OAAO,OAAO,CAAC,EAAG,iBAAiB,UAAY,CAAC,EAAG,iBAAkB,CAC/F,QAAS,QAAQ,SAAW,OAAO,QAAQ,SAAY,SACnD,QAAQ,QACN,iBAAiB,SAAW,OAAO,iBAAiB,SAAY,SAAY,iBAAiB,QAAU,oBAAoB,eAAe,EAChJ,SAAU,QAAQ,UAAY,OAAO,QAAQ,UAAa,SACtD,QAAQ,SACN,iBAAiB,UAAY,OAAO,iBAAiB,UAAa,SAAY,iBAAiB,SAAW,CAAC,CACnH,CAAC,EACD,aAAe,gBACjB,CACF,CACA,aAAe,+BAA+B,aAAc,gBAAiB,iBAAmB,gBAAgB,MAAM,EACtH,IAAI,SAAW,MAAM,QAAQ,QAAQ,cAAc,GAAK,QAAQ,eAAe,OAC3E,QAAQ,eAAe,MAAM,EAC7B,+BAA+B,YAAY,EAE/C,MAAI,CAAC,SAAS,QAAU,MAAM,QAAQ,QAAQ,QAAQ,IACpD,SAAW,QAAQ,SAAS,MAAM,GAG/B,aAAa,YAChB,aAAa,UAAY,OAAO,GAG3B,CACL,SAAU,gBACV,SAAU,aACV,SACA,sBAAuB,aAAc,SAAW,QAAQ,cAAkB,WAAa,UAAU,YAAa,EAC9G,OAAQ,QAAQ,qBACZ,4BACC,4BAA4B,WAAW,EAAI,0BAA4B,sBAC5E,WAAY,OAAO,EACnB,UAAW,kBAAkB,QAAQ,EAAE,EACvC,gBAAiB,aAAa,QAAQ,QAAQ,EAC9C,gBAAiB,OAAO,UAAU,OAAO,QAAQ,QAAQ,CAAC,GAAK,OAAO,QAAQ,QAAQ,GAAK,EACvF,OAAO,QAAQ,QAAQ,EACvB,KACJ,gBAAiB,kBAAkB,QAAQ,iBAAoB,aAAa,QAAU,aAAa,OAAO,mBAAoB,CAChI,CACF,CAEA,eAAe,mBAAmB,OAAQ,UAAW,CACnD,IAAI,cAAgB,iBAAiB,EACjC,gBAAkB,kBACnB,gBAAkB,cAAc,WAAa,cAAc,sBAAwB,cAAc,kBACjG,QAAU,OAAO,OAAS,OAAO,MAAM,WACvC,WAAa,UAAU,SAC1B,EACA,GAAK,eAAiB,cAAc,gBAC/B,OAAO,kBAAoB,OAAO,OAAO,iBAAiB,sBAAyB,YAAc,gBAAkB,CACtH,IAAI,cAAgB,KACpB,GAAI,iBAAmB,OAAO,kBAAoB,OAAO,OAAO,iBAAiB,sBAAyB,WACxG,GAAI,CACF,cAAgB,MAAM,OAAO,iBAAiB,qBAAqB,eAAe,CACpF,MAAY,CAAC,CAEf,GAAK,eAAiB,cAAc,gBAAmB,cACrD,OAAO,8BAA8B,cAAe,cAAe,UAAW,MAAM,CAExF,CAEA,IAAI,SAAW,MAAM,yBAAyB,OAAQ,SAAS,EAC3D,yBAA2B,SAAW,MAAM,6BAA6B,SAAU,MAAM,EAAI,KAC7F,aAAe,0BAA4B,0BAA0B,UAAY,KAAM,MAAM,EACjG,oBAAe,+BACb,aACA,SACA,yBAA2B,0BAA6B,UAAY,SAAS,MAC/E,EACO,CACL,SAAU,qBAAqB,QAAQ,EACvC,SAAU,aACV,SAAU,+BAA+B,YAAY,EACrD,sBAAuB,aAAa,WAAa,UAAU,YAAY,EACvE,OAAQ,yBAA2B,0BAA6B,aAAa,UAAY,SAAS,MAAM,GAAK,mBAC7G,WAAY,OAAO,CACrB,CACF,CAEA,SAAS,+BAA+B,aAAc,CACpD,IAAI,IAAM,cAAgB,CAAC,EACvB,SAAW,MAAM,QAAQ,IAAI,MAAM,EACnC,IAAI,OAAO,IAAI,SAAS,MAAO,CAC7B,IAAI,QAAU,MAAM,QAAQ,OAAS,MAAM,OAAO,EAAI,MAAM,QAAU,CAAC,EACnE,YAAc,QAAQ,KAAK,SAAS,OAAQ,CAC9C,OAAO,QAAU,OAAO,OAAS,SAAW,OAAO,UAAY,aAAa,OAAO,SAAS,GAAG,CACjG,CAAC,EACD,OAAO,aAAe,YAAY,SAAW,aAAa,YAAY,SAAS,GAAG,EAAI,EACxF,CAAC,EAAE,OAAO,OAAO,EACjB,CAAC,EACL,OAAI,SAAS,OAAe,SACrB,IAAI,UAAY,MAAM,QAAQ,IAAI,SAAS,QAAQ,EACtD,IAAI,SAAS,SAAS,IAAI,mBAAmB,EAAE,OAAO,OAAO,EAC7D,CAAC,CACP,CAEA,SAAS,mBAAoB,CAC3B,IAAI,KAAO,CAAC,EACR,OAAS,CAAC,EACd,OACE,SAAS,eAAe,aAAa,EACrC,SAAS,cAAc,uCAAuC,EAC9D,SAAS,cAAc,oBAAoB,CAC7C,EAAE,QAAQ,SAAS,MAAO,CACpB,CAAC,OAAS,MAAM,UAAY,SAC5B,KAAK,QAAQ,KAAK,IAAM,KAC5B,KAAK,KAAK,KAAK,EACf,OAAO,KAAK,KAAK,EACnB,CAAC,EACM,MACT,CAEA,SAAS,kBAAmB,CAC1B,OAAO,kBAAkB,EAAE,CAAC,GAAK,IACnC,CAEA,SAAS,iBAAkB,CACzB,OAAO,SAAS,cAAc,gCAAgC,GAAK,IACrE,CAEA,SAAS,4BAA6B,CACpC,IAAI,MAAQ,SAAS,eAAe,uBAAuB,EAC3D,GAAI,CAAC,OAAS,MAAM,UAAY,QAAS,OAAO,KAEhD,IAAI,SAAW,uBAAuB,MAAM,SAAW,MAAM,QAAQ,UAAU,EAC3E,aAAe,aAAa,MAAM,SAAW,MAAM,QAAQ,iBAAiB,EAC5E,MAAQ,aAAa,MAAM,KAAK,EACpC,MAAI,CAAC,UAAY,CAAC,cAAgB,CAAC,MAAc,KAE1C,CACL,GAAI,SACJ,aACA,MACA,OAAQ,aAAa,MAAM,SAAW,MAAM,QAAQ,cAAc,EAClE,WAAY,aAAa,MAAM,SAAW,MAAM,QAAQ,kBAAkB,CAC5E,CACF,CAEA,SAAS,6BAA6B,UAAW,CAC/C,GAAI,CAAC,WAAa,OAAO,WAAc,SAAU,MAAO,GACxD,IAAI,SAAW,uBAAuB,UAAU,EAAE,EAC9C,aAAe,aAAa,UAAU,YAAY,EACtD,MAAI,CAAC,UAAY,CAAC,aAAqB,IAEnC,WACF,OAAO,yBAA2B,SAClC,OAAO,WAAa,UAElB,eACF,OAAO,6BAA+B,aACtC,OAAO,eAAiB,cAEtB,UAAU,QAAU,OACtB,OAAO,iCAAmC,aAAa,UAAU,MAAM,GAElE,GACT,CAEA,SAAS,iBAAiB,OAAQ,CAChC,GAAI,OAAO,kBAAoB,OAAO,OAAO,iBAAiB,sBAAyB,WACrF,GAAI,CACF,OAAO,iBAAiB,qBAAqB,QAAU,CAAC,CAAC,EACzD,MACF,MAAY,CAAC,CAGf,IAAI,cAAgB,kBAAkB,EAClC,YAAc,gBAAgB,EAC9B,UAAY,kBAAkB,QAAU,OAAO,SAAS,EACxD,aAAe,aAAa,QAAU,OAAO,YAAY,EAU7D,GARI,cAAc,QAAU,WAC1B,cAAc,QAAQ,SAAS,aAAc,CAC3C,aAAa,MAAQ,UACrB,GAAI,CAAE,aAAa,cAAc,IAAI,MAAM,QAAS,CAAE,QAAS,EAAK,CAAC,CAAC,CAAG,MAAY,CAAC,CACtF,GAAI,CAAE,aAAa,cAAc,IAAI,MAAM,SAAU,CAAE,QAAS,EAAK,CAAC,CAAC,CAAG,MAAY,CAAC,CACzF,CAAC,EAGC,aAAe,aAAc,CAC/B,YAAY,MAAQ,aACpB,GAAI,CAAE,YAAY,cAAc,IAAI,MAAM,QAAS,CAAE,QAAS,EAAK,CAAC,CAAC,CAAG,MAAY,CAAC,CACrF,GAAI,CAAE,YAAY,cAAc,IAAI,MAAM,SAAU,CAAE,QAAS,EAAK,CAAC,CAAC,CAAG,MAAY,CAAC,CACxF,CACF,CAEA,SAAS,wBAAwB,OAAQ,CACvC,MAAO,CACL,UAAW,SAAW,KAAK,IAAI,EAAE,SAAS,EAAE,EAC5C,SAAU,cACV,cAAe,uBACf,KAAM,aAAc,OAAO,SAAW,OAAO,QAAQ,MAAS,EAAE,EAChE,SAAU,mBAAmB,EAC7B,UAAW,kBAAkB,QAAU,OAAO,OAAS,OAAO,MAAM,SAAS,GAAK,OAClF,aAAc,aAAa,QAAU,OAAO,OAAS,OAAO,MAAM,YAAY,GAAK,OACnF,WAAY,cAAc,EAC1B,cAAe,aAAa,EAC5B,aAAc,YAAY,EAC1B,UAAW,CACT,gBAAiB,CAAC,YAAa,cAAe,eAAgB,gBAAiB,gBAAiB,iBAAiB,EACjH,qBAAsB,CACpB,UAAW,CAAC,eAAgB,oBAAoB,EAChD,aAAc,CAAC,gCAAgC,CACjD,CACF,EACA,SAAU,CACR,gBAAiB,GACjB,aAAc,GACd,sBAAuB,GACvB,UAAW,GACX,cAAe,EACjB,CACF,CACF,CAEA,eAAe,wBAAwB,OAAQ,CAC7C,GAAI,OAAO,kBAAoB,OAAO,OAAO,iBAAiB,gBAAmB,WAC/E,GAAI,CACF,IAAI,UAAY,MAAM,OAAO,iBAAiB,eAAe,CAC3D,UAAW,kBAAkB,QAAU,OAAO,OAAS,OAAO,MAAM,SAAS,EAC7E,aAAc,aAAa,QAAU,OAAO,OAAS,OAAO,MAAM,YAAY,CAChF,CAAC,EACD,GAAI,WAAa,OAAO,WAAc,SAAU,OAAO,SACzD,MAAY,CAAC,CAEf,OAAO,wBAAwB,MAAM,CACvC,CAEA,SAAS,cAAe,CACtB,GAAI,iBACJ,iBAAkB,GAClB,IAAI,MAAQ,SAAS,cAAc,OAAO,EAC1C,MAAM,YAAc,CAClB,IAAM,WAAa,0KACnB,IAAM,WAAa,0BACnB,IAAM,WAAa,+KACnB,IAAM,WAAa,6EACnB,IAAM,WAAa,6GACnB,IAAM,WAAa,uLACnB,8BAAgC,WAAa,gBAAkB,WAAa,2FAC9E,EAAE,KAAK,EAAE,EACT,SAAS,KAAK,YAAY,KAAK,EACjC,CAEA,SAAS,oBAAoB,OAAQ,CACnC,IAAI,KAAO,QAAU,OAAO,MAAQ,OAAO,MAAQ,CAAC,EAChD,cAAgB,QAAU,OAAO,eAAiB,OAAO,eAAiB,KAC1E,aAAe,eAAiB,cAAc,SAAW,cAAc,SAAW,KAClF,OAAS,cAAgB,MAAM,QAAQ,aAAa,MAAM,GAAK,aAAa,OAAO,OACnF,aAAa,OACb,CACE,CAAE,GAAI,QAAS,KAAM,QAAS,MAAO,OAAO,KAAK,OAAS,KAAK,WAAa,CAAC,GAAK,EAAG,OAAQ,OAAO,KAAK,QAAU,KAAK,YAAc,GAAG,GAAK,GAAI,CACpJ,EACA,SAAW,eAAiB,MAAM,QAAQ,cAAc,QAAQ,GAAK,cAAc,SAAS,OAC5F,cAAc,SAAS,IAAI,mBAAmB,EAC9C,CAAC,yBAAyB,CAAC,EAC/B,MAAO,CACL,SAAU,aAAa,KAAK,QAAQ,EACpC,aAAc,aAAa,KAAK,YAAY,GAAK,aAAa,OAAO,gBAAkB,OAAO,4BAA4B,EAC1H,SAAU,OAAO,OACjB,SACA,OAAQ,CACN,MAAO,cAAgB,aAAa,MAAQ,aAAa,MAAS,aAAa,KAAK,YAAY,GAAK,sBACrG,KAAM,CAAC,sBAAuB,iBAAiB,EAC/C,SAAU,cAAgB,OAC1B,MAAO,OAAO,IAAI,SAAS,MAAO,CAChC,MAAO,CACL,SAAU,CACR,OAAQ,MAAM,GACd,MAAO,MAAM,KACb,OAAQ,MAAM,MACd,QAAS,MAAM,MACjB,CACF,CACF,CAAC,CACH,CACF,CACF,CAEA,SAAS,2BAA2B,KAAM,CACxC,OAAO,iCAAmC,KAC1C,KAAK,SAAW,CAAC,EACjB,KAAK,WAAa,KAClB,KAAK,kBAAoB,KACzB,KAAK,eAAiB,KACtB,KAAK,sBAAwB,KAC7B,KAAK,YAAc,GACnB,KAAK,SAAW,KAChB,KAAK,gBAAkB,KAAK,WAAW,KAAK,IAAI,EAChD,KAAK,MAAQ,OAAO,OAAO,CACzB,QAAS,cAAc,EACvB,OAAQ,aAAa,OAAO,YAAY,EACxC,UAAW,GACX,OAAQ,mBAAmB,EAAE,GAC7B,UAAW,kBAAkB,MAAQ,KAAK,SAAS,EACnD,SAAU,uBAAuB,MAAQ,KAAK,QAAQ,EACtD,aAAc,aAAa,MAAQ,KAAK,YAAY,GAAK,aAAa,OAAO,gBAAkB,OAAO,4BAA4B,EAClI,SAAU,OAAO,MAAQ,KAAK,QAAQ,GAAK,EAC3C,YAAa,aAAa,MAAQ,KAAK,WAAW,GAAK,QACvD,KAAM,aAAa,MAAQ,KAAK,IAAI,GAAK,OACzC,KAAM,CACJ,eAAgB,qBAClB,EACA,QAAS,OAAO,OAAO,CAAC,EAAI,MAAQ,KAAK,SAAY,CAAC,CAAC,CACzD,EAAG,MAAQ,CAAC,CAAC,EACb,KAAK,KAAO,KAAK,MACjB,KAAK,IAAM,CACT,MAAO,KACP,QAAS,GACT,cAAe,IACjB,EAEA,OAAO,iBAAiB,UAAW,KAAK,gBAAiB,EAAK,EAE9D,IAAI,KAAO,KACX,WAAW,UAAW,CACpB,GAAI,CACE,OAAO,OAAO,uBAA0B,YAC1C,OAAO,sBAAsB,CAAE,KAAM,QAAS,CAAC,CAEnD,MAAY,CAAC,CACb,KAAK,MAAM,YAAa,CAAE,OAAQ,oBAAqB,CAAC,CAC1D,EAAG,CAAC,CACN,CAEA,2BAA2B,UAAU,YAAc,UAAuB,CACxE,MAAO,EACT,EAEA,2BAA2B,UAAU,GAAK,SAAY,UAAW,QAAS,CACxE,MAAI,CAAC,WAAa,OAAO,SAAY,WAAmB,MACnD,KAAK,SAAS,SAAS,IAAG,KAAK,SAAS,SAAS,EAAI,CAAC,GAC3D,KAAK,SAAS,SAAS,EAAE,KAAK,OAAO,EAC9B,KACT,EAEA,2BAA2B,UAAU,IAAM,SAAa,UAAW,QAAS,CAC1E,IAAI,KAAO,KAAK,SAAS,SAAS,EAClC,MAAI,CAAC,MAAQ,CAAC,KAAK,OAAe,MAClC,KAAK,SAAS,SAAS,EAAI,KAAK,OAAO,SAAS,MAAO,CACrD,OAAO,QAAU,OACnB,CAAC,EACM,KACT,EAEA,2BAA2B,UAAU,MAAQ,SAAe,UAAW,QAAS,CAC9E,IAAI,KAAO,KAAK,SAAS,SAAS,GAAK,CAAC,EACxC,KAAK,MAAM,EAAE,QAAQ,SAAS,QAAS,CACrC,GAAI,CAAE,QAAQ,OAAO,CAAG,MAAY,CAAC,CACvC,CAAC,CACH,EAEA,2BAA2B,UAAU,iBAAmB,UAA4B,CAClF,IAAI,KAAO,KACX,OAAI,KAAK,WAAmB,QAAQ,QAAQ,KAAK,UAAU,EACvD,KAAK,kBAA0B,KAAK,mBACxC,KAAK,kBAAoB,wBAAwB,IAAI,EAAE,KAAK,SAAS,UAAW,CAC9E,YAAK,WAAa,UAClB,KAAK,MAAM,aAAe,aAAa,KAAK,MAAM,cAAiB,WAAa,UAAU,YAAa,EACvG,iBAAiB,CACf,UAAW,KAAK,MAAM,UACtB,aAAc,KAAK,MAAM,YAC3B,CAAC,EACM,SACT,CAAC,EAAE,MAAM,UAAW,CAClB,YAAK,WAAa,wBAAwB,IAAI,EACvC,KAAK,UACd,CAAC,EACM,KAAK,kBACd,EAEA,2BAA2B,UAAU,wBAA0B,UAAmC,CAChG,IAAI,KAAO,KAAK,OAAS,CAAC,EACtB,gBAAkB,2BAA2B,EAC7C,YAAc,gBAAgB,EAC9B,gBAAkB,kBAAkB,KAAK,SAAS,EAEjD,iBACH,6BAA6B,eAAe,EAG9C,IAAI,aAAe,uBAChB,CAAC,iBAAmB,iBAAmB,gBAAgB,IACxD,OAAO,YACP,OAAO,0BACP,OAAO,4BACP,KAAK,QACP,EACI,iBAAmB,aACpB,CAAC,iBAAmB,iBAAmB,gBAAgB,cACxD,OAAO,gBACP,OAAO,8BACN,aAAe,YAAY,OAC5B,KAAK,YACP,EAEI,gBAAkB,uBAAuB,KAAK,QAAQ,EACtD,oBAAsB,aAAa,KAAK,YAAY,EACpD,cAAgB,KAAK,gBAAkB,KACvC,eAAiB,eAAiB,cAAc,SAAW,cAAc,SAAW,KACpF,aAAe,eAAiB,cAAc,UAAY,cAAc,SAAS,QAAU,OAAO,cAAc,SAAS,QAAW,SACpI,cAAc,SAAS,OACvB,CAAC,EACD,eAAiB,uBAClB,gBAAkB,eAAe,IAClC,aAAa,kBACf,EACI,mBAAqB,aACtB,gBAAkB,eAAe,WAClC,aAAa,YACf,EACI,cAAgB,GAEhB,cAAgB,eAAiB,kBACnC,KAAK,MAAM,SAAW,aACtB,KAAK,KAAK,SAAW,aACrB,cAAgB,IAGd,kBAAoB,mBAAqB,sBAC3C,KAAK,MAAM,aAAe,iBAC1B,KAAK,KAAK,aAAe,iBACzB,cAAgB,GAChB,KAAK,WAAa,KAClB,KAAK,kBAAoB,OAIxB,cAAgB,oBACf,CAAC,gBACD,CAAC,eACA,cAAgB,eAAiB,gBACjC,kBAAoB,mBAAqB,qBAG5C,KAAK,eAAiB,KACtB,KAAK,sBAAwB,MACpB,gBACT,KAAK,eAAiB,KACtB,KAAK,sBAAwB,MAG3B,kBACF,iBAAiB,CACf,UAAW,kBAAkB,KAAK,MAAM,SAAS,EACjD,aAAc,gBAChB,CAAC,CAEL,EAEA,2BAA2B,UAAU,qBAAuB,UAAgC,CAC1F,IAAI,KAAO,KACX,OAAI,KAAK,eAAuB,QAAQ,QAAQ,KAAK,cAAc,EAC/D,KAAK,sBAA8B,KAAK,uBAE5C,KAAK,sBAAwB,KAAK,iBAAiB,EAAE,KAAK,SAAS,UAAW,CAC5E,OAAO,mBAAmB,KAAM,SAAS,CAC3C,CAAC,EAAE,KAAK,SAAS,QAAS,CACxB,YAAK,eAAiB,QACf,OACT,CAAC,EAAE,MAAM,UAAW,CAClB,YAAK,eAAiB,CACpB,SAAU,KACV,SAAU,0BAA0B,KAAM,IAAI,EAC9C,SAAU,CAAC,yBAAyB,CAAC,EACrC,WAAY,OAAO,CACrB,EACO,KAAK,cACd,CAAC,EAEM,KAAK,sBACd,EAEA,2BAA2B,UAAU,eAAiB,UAA0B,CAC9E,GAAI,KAAK,SAAU,OAAO,KAAK,SAC/B,aAAa,EACb,IAAI,SAAW,SAAS,eAAe,UAAU,EACjD,GAAI,SACF,YAAK,SAAW,SAChB,KAAK,IAAI,MAAQ,SAAS,cAAc,QAAQ,EAChD,SAAS,UAAU,OAAO,yCAA0C,yBAAyB,IAAM,eAAe,EAC3G,SAGT,IAAI,QAAU,SAAS,cAAc,KAAK,EAC1C,QAAQ,GAAK,WACb,QAAQ,UAAY,yBAAyB,IAAM,gBAAkB,yCAA2C,GAChH,QAAQ,UAAY,sKAIpB,IAAI,KAAO,KACX,eAAQ,iBAAiB,QAAS,SAAS,MAAO,CAChD,GAAI,MAAM,SAAW,QAAS,CAC5B,IAAI,aAAe,OAAO,kCAAoC,KAC1D,cAAgB,OAAO,aAAa,UAAa,YACnD,aAAa,SAAS,CAE1B,CACF,CAAC,EAED,SAAS,KAAK,YAAY,OAAO,EACjC,KAAK,SAAW,QAChB,KAAK,IAAI,MAAQ,QAAQ,cAAc,QAAQ,EACxC,OACT,EAEA,2BAA2B,UAAU,mBAAqB,UAA8B,CACtF,GAAK,KAAK,SACV,KAAI,UAAY,KAAK,SAAS,cAAc,mCAAmC,EAC3E,SAAW,KAAK,SAAS,cAAc,kCAAkC,EAI7E,GAHI,YACF,UAAU,YAAc,KAAK,MAAM,UAAa,WAAa,KAAK,MAAM,UAAa,eAEnF,SAAU,CACZ,IAAI,YAAc,aAAa,KAAK,MAAM,cAAgB,KAAK,MAAM,QAAQ,EAC7E,SAAS,YAAc,YAAe,UAAY,YAAe,oBACnE,EACF,EAEA,2BAA2B,UAAU,oBAAsB,UAA+B,CACxF,GAAI,GAAC,KAAK,KAAO,CAAC,KAAK,IAAI,eAC3B,IAAI,CACF,KAAK,IAAI,cAAc,WAAW,CACpC,MAAY,CAAC,CACb,KAAK,IAAI,cAAgB,KAC3B,EAEA,2BAA2B,UAAU,4BAA8B,UAAuC,CACxG,IAAI,MAAQ,KAAK,KAAO,KAAK,IAAI,MACjC,GAAK,MACL,KAAI,KAAO,KACP,YAAc,UAAW,CAC3B,GAAI,CACF,IAAI,IAAM,MAAM,gBAChB,GAAI,CAAC,IAAK,OACV,IAAI,MAAQ,IAAI,iBAAiB,mDAAmD,EACpF,MAAM,UAAU,QAAQ,KAAK,MAAO,SAAS,KAAM,CACjD,IAAI,MAAQ,aAAa,MAAQ,KAAK,WAAW,EAC7C,QAAU,UACZ,KAAK,YAAc,oBAEvB,CAAC,CACH,MAAY,CAAC,CACf,EAEA,YAAY,EACZ,KAAK,oBAAoB,EAEzB,GAAI,CACF,GAAI,CAAC,MAAM,iBAAmB,CAAC,MAAM,gBAAgB,KAAM,OAC3D,IAAI,SAAW,IAAI,iBAAiB,UAAW,CAC7C,YAAY,CACd,CAAC,EACD,SAAS,QAAQ,MAAM,gBAAgB,KAAM,CAC3C,UAAW,GACX,QAAS,GACT,cAAe,EACjB,CAAC,EACD,KAAK,IAAI,cAAgB,QAC3B,MAAY,CAAC,EACf,EAEA,2BAA2B,UAAU,aAAe,UAAwB,CACtE,KAAK,UACP,KAAK,SAAS,UAAU,OAAO,SAAS,EAE1C,SAAS,KAAK,UAAU,OAAO,WAAW,EAC1C,kCAAkC,CACpC,EAEA,2BAA2B,UAAU,eAAiB,UAA0B,CAC9E,MAAO,CAAC,EAAE,KAAK,UAAY,KAAK,SAAS,UAAU,SAAS,SAAS,EACvE,EAEA,2BAA2B,UAAU,mCAAqC,UAA8C,CACtH,OAAO,kCAAkC,KAAK,OAAS,CAAC,CAAC,CAC3D,EAEA,2BAA2B,UAAU,+BAAiC,UAA0C,CAC9G,IAAI,KAAO,KACP,SAAW,aAAa,KAAK,mBAAmB,GAAK,+BAA+B,EACxF,GAAI,CAAC,SAAU,OAAO,QAAQ,QAAQ,EAAK,EAC3C,GAAI,mCAAmC,QAAQ,EAC7C,OAAO,mCAAmC,QAAQ,EAEpD,KAAK,oBAAsB,SAC3B,IAAI,QAAU,KAAK,eAAe,EAC9B,MAAQ,KAAK,IAAI,MACrB,GAAI,CAAC,MAAO,OAAO,QAAQ,QAAQ,EAAK,EACxC,IAAI,gBAAkB,aAAa,MAAM,QAAQ,YAAc,MAAM,aAAa,KAAK,CAAC,EACxF,OAAI,MAAM,QAAQ,eAAiB,KAAO,kBAAoB,SACrD,QAAQ,QAAQ,EAAI,GAE7B,MAAM,QAAQ,WAAa,UACvB,kBAAoB,UAAY,CAAC,MAAM,aAAa,KAAK,KAC3D,MAAM,QAAQ,aAAe,GAC7B,MAAM,OAAS,UAAW,CACxB,KAAK,YAAc,GACf,QAAQ,UAAU,SAAS,SAAS,GACtC,KAAK,4BAA4B,CAErC,EACA,MAAM,IAAM,UAEd,mCAAmC,QAAQ,EAAI,QAAQ,QAAQ,EAAI,EAAE,QAAQ,UAAW,CACtF,OAAO,mCAAmC,QAAQ,CACpD,CAAC,EACM,mCAAmC,QAAQ,EACpD,EAEA,2BAA2B,UAAU,uBAAyB,SAAgC,mBAAoB,CAChH,IAAI,KAAO,KACP,UAAY,oBAAsB,OAAO,oBAAuB,SAAW,mBAAqB,CAAC,EACjG,kBAAoB,kBAAkB,UAAU,SAAS,EACzD,iBAAmB,aAAa,UAAU,QAAQ,EAClD,qBAAuB,aAAa,UAAU,YAAY,EAC1D,eAAiB,aAAa,UAAU,MAAM,EAC9C,oBACF,KAAK,MAAM,UAAY,kBACvB,KAAK,KAAK,UAAY,mBAEpB,mBACF,KAAK,MAAM,SAAW,iBACtB,KAAK,KAAK,SAAW,kBAEnB,uBACF,KAAK,MAAM,aAAe,qBAC1B,KAAK,KAAK,aAAe,sBAEvB,iBACF,OAAO,iCAAmC,gBAE5C,KAAK,wBAAwB,EAC7B,IAAI,mBAAqB,KAAK,mCAAmC,EACjE,GAAI,CAAC,mBAAoB,OAAO,QAAQ,QAAQ,EAAK,EACrD,GAAI,0BAA0B,kBAAkB,EAC9C,OAAO,0BAA0B,kBAAkB,EAErD,IAAI,QAAU,KAAK,eAAe,EAC9B,MAAQ,KAAK,IAAI,MACrB,GAAI,CAAC,MAAO,OAAO,QAAQ,QAAQ,EAAK,EACxC,IAAI,UAAY,+BAA+B,KAAK,OAAS,CAAC,CAAC,EAC3D,SAAW,sCAAsC,SAAS,EAC1D,gBAAkB,aAAa,MAAM,QAAQ,YAAc,MAAM,aAAa,KAAK,CAAC,EACxF,iCAA0B,kBAAkB,EAAI,kCAAkC,SAAS,EAAE,MAAM,UAAW,CAC5G,MAAO,CACL,SACA,QAAS,KACT,OAAQ,MACV,CACF,CAAC,EAAE,KAAK,SAAS,OAAQ,CACvB,IAAI,kBAAoB,QAAU,OAAO,UAAY,SACjD,cAAgB,QAAU,OAAO,SAAW,OAAO,OAAO,SAAY,SACtE,OAAO,QACP,6BAA6B,iBAAiB,EAGlD,OAFA,MAAM,QAAQ,WAAa,mBAC3B,MAAM,QAAQ,oBAAsB,kBAElC,MAAM,eACH,MAAM,QAAQ,eAAiB,KAC/B,eACA,cAAc,WAEjB,KAAK,aAAa,CAChB,KAAM,0BACN,QAAS,aACX,CAAC,EACM,MAEL,kBAAoB,oBAAsB,CAAC,MAAM,aAAa,KAAK,KACrE,MAAM,QAAQ,aAAe,GAC7B,MAAM,OAAS,UAAW,CACxB,KAAK,YAAc,GACf,QAAQ,UAAU,SAAS,SAAS,GACtC,KAAK,4BAA4B,CAErC,EACA,MAAM,IAAM,oBAEP,GACT,CAAC,EAAE,QAAQ,UAAW,CACpB,OAAO,0BAA0B,kBAAkB,CACrD,CAAC,EACM,0BAA0B,kBAAkB,CACrD,EAEA,2BAA2B,UAAU,oCAAsC,UAA+C,CACxH,GAAI,CAAC,2BAA2B,EAAG,OAAO,QAAQ,QAAQ,EAAK,EAC/D,IAAI,MAAQ,KAAK,KAAO,KAAK,IAAI,MAC7B,gBAAkB,aAAa,OAAS,MAAM,SAAW,MAAM,QAAQ,mBAAmB,EAC1F,UAAY,+BAA+B,KAAK,OAAS,CAAC,CAAC,EAC3D,aAAe,sCAAsC,SAAS,EAClE,OAAI,iBAAiB,+BAA+B,eAAe,EAC/D,cAAgB,eAAiB,iBAAiB,+BAA+B,YAAY,EAC1F,kCAAkC,SAAS,EAAE,KAAK,SAAS,OAAQ,CACxE,IAAI,kBAAoB,aAAa,QAAU,OAAO,QAAQ,GAAK,aACnE,OAAI,OAAS,oBACX,MAAM,QAAQ,oBAAsB,mBAE/B,EACT,CAAC,EAAE,MAAM,UAAW,CAClB,MAAO,EACT,CAAC,CACH,EAEA,2BAA2B,UAAU,mCAAqC,SAA4C,OAAQ,OAAQ,CACpI,IAAI,QAAU,QAAU,OAAO,QAAW,SAAW,OAAS,CAAC,EAC3D,eAAiB,OAAO,4BAA8B,OAAO,OAAO,4BAA+B,SACnG,OAAO,2BACP,KACA,SAAW,MAAM,QAAQ,QAAQ,QAAQ,EACzC,QAAQ,SAAS,IAAI,mBAAmB,EAAE,OAAO,OAAO,EACvD,MAAM,QAAQ,gBAAkB,eAAe,QAAQ,EACtD,eAAe,SAAS,IAAI,mBAAmB,EAAE,OAAO,OAAO,EAC/D,CAAC,EACH,cAAgB,aAClB,QAAQ,aACJ,SAAS,OAAS,SAAS,CAAC,EAAI,KAChC,gBAAkB,eAAe,UACvC,EACI,WAAa,cAAgB,oBAAoB,aAAa,EAAI,GAClE,YAAc,SAAS,QAAQ,UAAU,IAAM,IACjD,SAAS,QAAQ,UAAU,EAE7B,IAAI,UAAY,CACd,UAAW,kBAAkB,QAAQ,WAAa,KAAK,MAAM,SAAS,EACtE,SAAU,aAAa,QAAQ,UAAY,KAAK,MAAM,QAAQ,EAC9D,aAAc,aAAa,QAAQ,cAAgB,KAAK,MAAM,YAAY,EAC1E,OAAQ,aAAa,QAAQ,QAAU,OAAO,gCAAgC,CAChF,EACI,aAAY,UAAU,WAAa,YACnC,SAAS,SAAQ,UAAU,SAAW,SAAS,MAAM,GAErD,UAAU,YACZ,KAAK,MAAM,UAAY,UAAU,UACjC,KAAK,KAAK,UAAY,UAAU,WAE9B,UAAU,WACZ,KAAK,MAAM,SAAW,UAAU,SAChC,KAAK,KAAK,SAAW,UAAU,UAE7B,UAAU,eACZ,KAAK,MAAM,aAAe,UAAU,aACpC,KAAK,KAAK,aAAe,UAAU,cAGrC,KAAK,mBAAmB,EACxB,8BAA8B,UAAW,CAAE,MAAe,CAAC,EAE3D,IAAI,MAAQ,KAAK,KAAO,KAAK,IAAI,MACjC,GAAI,MAAO,CACT,IAAI,aAAe,KAAK,mCAAmC,EACvD,eACF,MAAM,QAAQ,WAAa,aAE/B,CAEA,OAAK,KAAK,oCAAoC,EAEvC,SACT,EAEA,2BAA2B,UAAU,eAAiB,SAAwB,UAAW,CACvF,IAAI,SAAW,IAAI,IAAK,WAAa,UAAU,eAAkB,aAAa,EAAG,OAAO,SAAS,MAAM,EACnG,UAAY,yBAAyB,EACzC,OAAI,WAAa,UAAU,WAAW,SAAS,aAAa,IAAI,YAAa,UAAU,SAAS,EAC5F,WAAa,UAAU,MAAM,SAAS,aAAa,IAAI,OAAQ,UAAU,IAAI,EAC7E,KAAK,MAAM,WAAW,SAAS,aAAa,IAAI,YAAa,KAAK,MAAM,SAAS,EACjF,KAAK,MAAM,UAAU,SAAS,aAAa,IAAI,WAAY,KAAK,MAAM,QAAQ,EAC9E,KAAK,MAAM,cAAc,SAAS,aAAa,IAAI,eAAgB,KAAK,MAAM,YAAY,EAC1F,WAAW,SAAS,aAAa,IAAI,YAAa,SAAS,EAC/D,SAAS,aAAa,IAAI,OAAQ,KAAK,MAAM,MAAQ,MAAM,EACpD,SAAS,SAAS,CAC3B,EAEA,2BAA2B,UAAU,aAAe,SAAsB,QAAS,CACjF,IAAI,MAAQ,KAAK,KAAO,KAAK,IAAI,MACjC,GAAI,CAAC,OAAS,CAAC,MAAM,cAAe,MAAO,GAC3C,GAAI,CACF,aAAM,cAAc,YAAY,QAAS,GAAG,EACrC,EACT,MAAY,CACV,MAAO,EACT,CACF,EAEA,2BAA2B,UAAU,sBAAwB,UAAiC,CAC5F,IAAI,KAAO,KACX,OAAK,KAAK,WACH,KAAK,qBAAqB,EAAE,KAAK,SAAS,QAAS,CACxD,OAAO,KAAK,aAAa,CACvB,KAAM,qBACN,UAAW,KAAK,WAChB,KAAM,KAAK,MACX,aAAc,OAAO,cAAgB,CAAC,EACtC,cAAe,OACjB,CAAC,CACH,CAAC,EAAE,MAAM,UAAW,CAClB,OAAO,KAAK,aAAa,CACvB,KAAM,qBACN,UAAW,KAAK,WAChB,KAAM,KAAK,MACX,aAAc,OAAO,cAAgB,CAAC,CACxC,CAAC,CACH,CAAC,EAhB4B,QAAQ,QAAQ,EAAK,CAiBpD,EAEA,2BAA2B,UAAU,mBAAqB,SAA4B,MAAO,OAAQ,OAAQ,CAC3G,KAAK,aAAa,CAChB,KAAM,uBACN,MAAO,OAAO,KAAK,GAAK,MACxB,OAAQ,OAAO,MAAM,GAAK,OAC1B,OAAQ,QAAU,CACpB,CAAC,CACH,EAEA,2BAA2B,UAAU,QAAU,UAAmB,CAChE,IAAI,KAAO,KACX,OAAO,iCAAmC,KAC1C,KAAK,wBAAwB,EAC7B,IAAI,mBAAqB,KAAK,mCAAmC,EACjE,GAAI,mBAAoB,CACtB,IAAI,QAAU,KAAK,eAAe,EAC9B,MAAQ,KAAK,IAAI,MACjB,UAAY,+BAA+B,KAAK,OAAS,CAAC,CAAC,EAC3D,SAAW,sCAAsC,SAAS,EAC9D,YAAK,YAAc,GACnB,KAAK,mBAAmB,EACxB,QAAQ,UAAU,IAAI,SAAS,EAC/B,SAAS,KAAK,UAAU,IAAI,WAAW,EACvC,KAAK,MAAM,cAAe,CAAE,OAAQ,qBAAsB,KAAM,CAAE,SAAU,EAAK,CAAE,CAAC,EAC7E,kCAAkC,SAAS,EAAE,MAAM,UAAW,CACnE,MAAO,CACL,SACA,QAAS,KACT,OAAQ,MACV,CACF,CAAC,EAAE,KAAK,SAAS,OAAQ,CACvB,IAAI,cAAgB,QAAU,OAAO,SAAW,OAAO,OAAO,SAAY,SACtE,OAAO,QACP,6BAA6B,QAAU,OAAO,UAAY,QAAQ,EACtE,OACE,OACG,MAAM,eACN,MAAM,QAAQ,eAAiB,KAC/B,eACA,cAAc,WAEjB,MAAM,QAAQ,WAAa,mBAC3B,MAAM,QAAQ,oBAAsB,QAAU,OAAO,UAAY,SACjE,KAAK,aAAa,CAChB,KAAM,0BACN,QAAS,aACX,CAAC,EACM,KAEL,OAAS,MAAM,QAAQ,aAAe,oBACxC,MAAM,QAAQ,WAAa,mBAC3B,MAAM,QAAQ,oBAAsB,QAAU,OAAO,UAAY,SACjE,MAAM,QAAQ,aAAe,GAC7B,MAAM,OAAS,UAAW,CACxB,KAAK,YAAc,GACnB,KAAK,4BAA4B,CACnC,EACA,MAAM,IAAM,oBAEZ,KAAK,4BAA4B,EAE5B,GACT,CAAC,CACH,CACA,OAAO,KAAK,iBAAiB,EAAE,KAAK,SAAS,UAAW,CACtD,OAAO,KAAK,qBAAqB,EAAE,KAAK,UAAW,CACjD,IAAIA,SAAU,KAAK,eAAe,EAC9BC,OAAQ,KAAK,IAAI,MACrB,YAAK,YAAc,GACnB,KAAK,mBAAmB,EACxBD,SAAQ,UAAU,IAAI,SAAS,EAC/B,SAAS,KAAK,UAAU,IAAI,WAAW,EAEnCC,QAASA,OAAM,QAAQ,aAAe,KAAK,eAAe,SAAS,GACrEA,OAAM,QAAQ,WAAa,KAAK,eAAe,SAAS,EACxDA,OAAM,IAAMA,OAAM,QAAQ,WAC1BA,OAAM,OAAS,UAAW,CACxB,KAAK,YAAc,GACnB,GAAI,CACE,OAAO,OAAO,uBAA0B,YAC1C,OAAO,sBAAsB,CAAE,KAAM,OAAQ,CAAC,CAElD,MAAY,CAAC,CACb,KAAK,sBAAsB,EAC3B,KAAK,MAAM,eAAgB,CAAE,OAAQ,oBAAqB,CAAC,EAC3D,OAAO,WAAW,UAAW,CAC3B,KAAK,MAAM,gBAAiB,CAAE,KAAM,oBAAoB,IAAI,CAAE,CAAC,CACjE,EAAG,EAAE,CACP,IAEA,KAAK,MAAM,eAAgB,CAAE,OAAQ,oBAAqB,CAAC,EAC3D,KAAK,sBAAsB,GAG7B,KAAK,MAAM,cAAe,CAAE,OAAQ,oBAAqB,CAAC,EACnD,EACT,CAAC,CACH,CAAC,CACH,EAEA,2BAA2B,UAAU,SAAW,UAAoB,CAClE,YAAK,aAAa,EAClB,KAAK,MAAM,kBAAmB,CAC5B,OAAQ,qBACR,KAAM,CACJ,UAAW,kBAAkB,KAAK,OAAS,KAAK,MAAM,SAAS,EAC/D,SAAU,aAAa,KAAK,OAAS,KAAK,MAAM,QAAQ,EACxD,aAAc,aAAa,KAAK,OAAS,KAAK,MAAM,YAAY,CAClE,CACF,CAAC,EACM,EACT,EAEA,2BAA2B,UAAU,QAAU,SAAiB,QAAS,CACvE,YAAK,MAAM,gBAAiB,CAAE,KAAM,OAAQ,CAAC,EACtC,OACT,EAEA,2BAA2B,UAAU,UAAY,SAAmB,QAAS,CAC3E,IAAI,KAAO,KACP,MAAS,SAAW,OAAO,SAAY,SAAY,QAAU,CAAC,EAC9D,YAAc,oBAAoB,IAAI,EACtC,QAAU,OAAO,OAAO,CAAC,EAAG,YAAa,MAAM,SAAW,CAAC,CAAC,EAC5D,UAAY,kBAAkB,QAAQ,WAAa,KAAK,MAAM,SAAS,GAAM,OAAS,KAAK,IAAI,EAAE,SAAS,EAAE,EAC5G,aAAe,aAAa,QAAQ,cAAgB,KAAK,MAAM,YAAY,EAC3E,gBAAmB,QAAQ,UAAY,OAAO,QAAQ,UAAa,SACnE,UAAU,QAAQ,QAAQ,EACxB,QAAQ,QAAU,QAAQ,OAAO,UAAY,OAAO,QAAQ,OAAO,UAAa,SAChF,UAAU,QAAQ,OAAO,QAAQ,EACjC,UAAU,KAAK,gBAAkB,KAAK,eAAe,QAAQ,EAC/D,gBAAkB,MAAM,QAAQ,QAAQ,QAAQ,GAAK,QAAQ,SAAS,OACtE,QAAQ,SAAS,MAAM,EACvB,+BAA+B,iBAAmB,CAAC,CAAC,EACpD,eAAkB,KAAK,gBAAkB,KAAK,eAAe,UAAY,KAAK,eAAe,SAAS,UAAY,KAAK,eAAe,SAAS,SAAS,SACtJ,iBAAmB,gBAAgB,UAAY,gBAAgB,SAAS,SACzE,CAAC,EACF,gBAAmB,iBAAmB,gBAAgB,UAAY,gBAAgB,SAAS,UACzF,OAAO,cAAgB,CAAC,EAC1B,gBAAkB,OAAO,OAAO,CAAC,EAClC,iBAAmB,gBAAgB,UAAY,OAAO,gBAAgB,UAAa,SAAY,gBAAgB,SAAW,CAAC,EAC5H,CACE,QAAS,eACT,SAAU,gBACV,SAAU,gBAAgB,MAAM,EAChC,aAAc,CAAC,CAAC,QAAQ,YAC1B,CACF,EACI,YAAc,CAChB,GAAI,UACJ,UACA,SAAU,aAAa,KAAK,gBAAkB,KAAK,eAAe,eAAe,EACjF,WAAY,aAAa,OAAO,cAAgB,OAAO,aAAa,EAAE,GACjE,aAAa,KAAK,YAAc,KAAK,WAAW,UAAY,KAAK,WAAW,SAAS,EAAE,GACvF,QACL,WAAY,aACV,KAAK,gBAAkB,KAAK,eAAe,WAAa,KAAK,eAAe,SAAS,YAAc,KAAK,eAAe,SAAS,GAClI,EACA,SAAU,gBACV,SAAU,gBACV,SAAU,gBAAgB,MAAM,EAChC,QAAS,eACT,SAAU,gBACV,SAAU,aAAa,QAAQ,UAAY,KAAK,MAAM,QAAQ,EAC9D,aACA,MAAO,aAAa,QAAQ,OAAU,iBAAmB,gBAAgB,KAAM,EAC/E,SAAU,OAAO,QAAQ,WAAa,iBAAmB,MAAM,QAAQ,gBAAgB,MAAM,EAAI,gBAAgB,OAAO,OAAS,IAAM,KAAK,MAAM,UAAY,CAAC,GAAK,EACpK,aAAc,CAAC,CAAC,QAAQ,aACxB,gBAAiB,kBACf,KAAK,gBAAkB,KAAK,eAAe,iBACrC,iBAAmB,gBAAgB,QAAU,gBAAgB,OAAO,mBAC5E,CACF,EACI,cAAgB,OAClB,QAAQ,UAAY,KAChB,QAAQ,SACP,KAAK,gBAAkB,KAAK,eAAe,eAClD,EACA,YAAY,iBAAmB,OAAO,UAAU,aAAa,GAAK,eAAiB,EAC/E,cACA,KACA,YAAY,mBAAqB,OAAM,YAAY,SAAW,YAAY,kBAE9E,IAAI,eAAiB,QAAQ,QAAQ,IAAI,EACzC,OAAI,OAAO,kBAAoB,OAAO,OAAO,iBAAiB,uBAA0B,aACtF,eAAiB,OAAO,iBAAiB,sBAAsB,WAAW,GAGrE,eAAe,KAAK,SAAS,aAAc,CAChD,OAAI,cAAgB,OAAO,cAAiB,UAC1C,UAAY,kBAAkB,aAAa,IAAM,aAAa,SAAS,GAAK,UAC5E,aAAe,aACb,aAAa,cACT,aAAa,UAAY,aAAa,SAAS,QAAU,aAAa,SAAS,OAAO,cACvF,YACL,EACA,QAAQ,SAAW,aAAa,aAAa,QAAQ,EACrD,QAAQ,SAAY,aAAa,UAAY,OAAO,aAAa,UAAa,SAC1E,UAAU,aAAa,QAAQ,EAC/B,gBACJ,QAAQ,SAAW,MAAM,QAAQ,aAAa,QAAQ,GAAK,aAAa,SAAS,OAC7E,aAAa,SAAS,MAAM,EAC5B,gBAAgB,MAAM,EAC1B,KAAK,eAAiB,OAAO,OAAO,CAAC,EAAG,KAAK,gBAAkB,CAAC,EAAG,CACjE,SAAU,UAAU,QAAQ,UAAY,eAAe,EACvD,SAAU,MAAM,QAAQ,QAAQ,QAAQ,EAAI,QAAQ,SAAS,MAAM,EAAI,gBAAgB,MAAM,EAC7F,UACA,gBAAiB,aAAa,aAAa,QAAQ,EACnD,gBAAiB,OAAO,UAAU,OAAO,aAAa,QAAQ,CAAC,EAAI,OAAO,aAAa,QAAQ,EAAI,KACnG,gBAAiB,kBAAkB,aAAa,eAAe,CACjE,CAAC,GACQ,kBACT,KAAK,eAAiB,OAAO,OAAO,CAAC,EAAG,KAAK,gBAAkB,CAAC,EAAG,CACjE,SAAU,UAAU,eAAe,EACnC,SAAU,gBAAgB,MAAM,CAClC,CAAC,GAGH,KAAK,MAAM,UAAY,UACvB,KAAK,KAAK,UAAY,UAClB,eACF,KAAK,MAAM,aAAe,aAC1B,KAAK,KAAK,aAAe,cAG3B,iBAAiB,CACf,UACA,YACF,CAAC,EACD,KAAK,mBAAmB,EAExB,QAAQ,UAAY,UACpB,QAAQ,SAAW,aAAa,QAAQ,UAAY,KAAK,MAAM,QAAQ,EACvE,QAAQ,aAAe,aACvB,QAAQ,SAAW,OAAO,QAAQ,UAAY,KAAK,MAAM,UAAY,CAAC,GAAK,EAEpE,KAAK,QAAQ,OAAO,CAC7B,CAAC,CACH,EAEA,2BAA2B,UAAU,cAAgB,SAAuB,QAAS,CACnF,GAAI,CAAC,SAAW,OAAO,SAAY,SAAU,MAAO,GAGpD,GAFI,QAAQ,OAAS,OAAM,KAAK,MAAM,MAAQ,OAAO,QAAQ,KAAK,GAAK,QAAQ,OAC3E,QAAQ,QAAU,OAAM,KAAK,MAAM,OAAS,OAAO,QAAQ,MAAM,GAAK,QAAQ,QAC9E,KAAK,gBAAkB,KAAK,eAAe,UAAY,MAAM,QAAQ,KAAK,eAAe,SAAS,MAAM,EAAG,CAC7G,IAAI,SAAW,QAAQ,OACnB,YAAc,KAClB,GAAI,OAAO,UAAa,SACtB,YAAc,KAAK,eAAe,SAAS,OAAO,QAAQ,GAAK,SAC1D,CACL,IAAI,QAAU,aAAa,QAAQ,EACnC,YAAc,KAAK,eAAe,SAAS,OAAO,KAAK,SAAS,MAAO,CACrE,OAAO,OAAS,MAAM,KAAO,OAC/B,CAAC,GAAK,IACR,CACK,cACH,YAAc,KAAK,eAAe,SAAS,OAAO,CAAC,GAAK,MAEtD,cACE,QAAQ,OAAS,OAAM,YAAY,MAAQ,OAAO,QAAQ,KAAK,GAAK,YAAY,OAChF,QAAQ,QAAU,OAAM,YAAY,OAAS,OAAO,QAAQ,MAAM,GAAK,YAAY,QAE3F,CACA,YAAK,mBAAmB,QAAQ,MAAO,QAAQ,OAAQ,QAAQ,MAAM,EACrE,KAAK,MAAM,2BAA4B,CACrC,KAAM,CACJ,MAAO,QAAQ,MACf,OAAQ,QAAQ,OAChB,OAAQ,QAAQ,QAAU,CAC5B,CACF,CAAC,EACM,EACT,EAEA,2BAA2B,UAAU,WAAa,SAAoB,MAAO,CAC3E,IAAK,OAAO,kCAAoC,QAAU,KAC1D,KAAI,MAAQ,KAAK,KAAO,KAAK,IAAI,MACjC,GAAI,GAAC,OAAS,CAAC,MAAM,gBACjB,MAAM,SAAW,MAAM,cAE3B,IAAI,OAAO,kBAAoB,OAAO,OAAO,iBAAiB,iBAAoB,WAChF,GAAI,CACF,GAAI,CAAC,OAAO,iBAAiB,gBAAgB,MAAM,MAAM,EAAG,MAC9D,MAAY,CAAC,CAGf,IAAI,KAAO,MAAM,KACjB,GAAI,GAAC,MAAQ,OAAO,MAAS,UAE7B,IAAI,KAAK,OAAS,iBAAkB,CAClC,KAAK,YAAc,GACnB,KAAK,sBAAsB,EAC3B,MACF,CAEA,GAAI,KAAK,OAAS,gBAAiB,CACjC,IAAI,KAAO,KACX,KAAK,UAAU,IAAI,EAAE,MAAM,SAAS,MAAO,CACzC,IAAI,QAAU,aAAa,OAAS,MAAM,OAAO,GAAK,iCACtD,KAAK,MAAM,sBAAuB,CAAE,MAAO,OAAQ,CAAC,EACpD,KAAK,aAAa,CAAE,KAAM,sBAAuB,MAAO,OAAQ,CAAC,CACnE,CAAC,EACD,MACF,CAEA,GAAI,KAAK,OAAS,iBAAkB,CAClC,KAAK,SAAS,EACd,MACF,CAEA,GAAI,KAAK,OAAS,gCAAiC,CAIjD,GAHI,QAAO,MAAM,QAAQ,aAAe,KACxC,KAAK,YAAc,GACnB,KAAK,4BAA4B,EAC7B,CAAC,KAAK,eAAe,EACvB,OAEF,kCAAkC,EAClC,KAAK,MAAM,eAAgB,CACzB,OAAQ,qBACR,KAAM,OAAO,OAAO,CAAE,SAAU,EAAK,EAAG,KAAK,QAAU,OAAO,KAAK,QAAW,SAAW,KAAK,OAAS,CAAC,CAAC,CAC3G,CAAC,EACD,MACF,CAEA,GAAI,KAAK,OAAS,wBAAyB,CACzC,GAAI,CAAC,KAAK,eAAe,EACvB,OAEF,KAAK,MAAM,gBAAiB,CAC1B,OAAQ,qBACR,KAAM,OAAO,OAAO,CAAE,SAAU,EAAK,EAAG,KAAK,QAAU,OAAO,KAAK,QAAW,SAAW,KAAK,OAAS,CAAC,CAAC,CAC3G,CAAC,EACD,MACF,CAEA,GAAI,KAAK,OAAS,mBAAoB,CACpC,KAAK,SAAS,EACd,MACF,CAEA,GAAI,KAAK,OAAS,oCAAqC,CACrD,IAAI,eAAiB,aAAa,KAAK,KAAK,EAAE,YAAY,EACtD,OAAS,KAAK,QAAU,OAAO,KAAK,QAAW,SAAW,KAAK,OAAS,CAAC,EAE7E,GAAI,iBAAmB,gBAAkB,iBAAmB,gBAAiB,CACtE,6BAA6B,MAAM,QAAQ,YAAc,OAAO,SAAS,IAAI,GAChF,kCAAkC,EAEhC,iBAAmB,iBACrB,KAAK,YAAc,GACnB,KAAK,4BAA4B,GAEnC,KAAK,MAAM,eAAgB,CAAE,OAAQ,qBAAsB,KAAM,MAAO,CAAC,EACzE,MACF,CAEA,GAAI,iBAAmB,gBAAiB,CACtC,IAAI,WAAa,KAAK,mCAAmC,OAAQ,wBAAwB,EACzF,KAAK,MAAM,gBAAiB,CAAE,OAAQ,qBAAsB,KAAM,UAAW,CAAC,EAC9E,MACF,CAEA,GAAI,iBAAmB,kBAAmB,CACxC,IAAI,YAAc,KAAK,mCAAmC,OAAQ,sBAAsB,EACxF,KAAK,aAAa,EAClB,KAAK,MAAM,kBAAmB,CAAE,OAAQ,qBAAsB,KAAM,WAAY,CAAC,CACnF,CACF,IACF,EAEA,2BAA2B,UAAU,KAAO,SAAc,OAAQ,QAAS,CACzE,OAAQ,OAAQ,CACd,IAAK,WACH,OAAO,KAAK,QAAQ,EACtB,IAAK,oBACH,YAAK,MAAM,SAAW,uBAAuB,OAAO,EACpD,KAAK,KAAK,SAAW,KAAK,MAAM,SAChC,KAAK,eAAiB,KACtB,KAAK,sBAAwB,KAC7B,KAAK,mBAAmB,EACpB,KAAK,aACP,KAAK,aAAa,CAChB,KAAM,uBACN,SAAU,KAAK,MAAM,QACvB,CAAC,EAEI,GACT,IAAK,cACH,OAAO,KAAK,cAAc,OAAO,EACnC,IAAK,cACL,IAAK,cACH,MAAO,GACT,IAAK,aACH,OAAO,KAAK,UAAU,CAAE,OAAiB,CAAC,EAC5C,IAAK,cACH,OAAO,KAAK,SAAS,EACvB,QACE,YAAK,MAAM,OAAQ,OAAO,EACnB,EACX,CACF,EAEA,OAAO,6BAA+B,2BACtC,OAAO,wBAA0B,4BACjC,kCAAkC,EAElC,SAAS,yBAAyB,SAAU,CAC1C,GAAI,CAAC,UAAY,oBAAoB,2BAA4B,OAAO,SACxE,GAAI,SAAS,uBAAyB,SAAS,sCAAsC,2BACnF,OAAO,SAAS,2BAGlB,IAAI,SAAW,OAAO,OAAO,CAAC,EAAI,SAAS,OAAS,SAAS,MAAQ,CAAC,CAAE,EACpE,OAAS,IAAI,2BAA2B,QAAQ,EACpD,OAAO,MAAM,SAAW,uBAAuB,OAAO,MAAM,UAAa,SAAS,OAAS,SAAS,MAAM,UAAc,SAAS,MAAQ,SAAS,KAAK,QAAS,EAChK,OAAO,MAAM,UAAY,kBAAkB,OAAO,MAAM,WAAc,SAAS,OAAS,SAAS,MAAM,WAAe,SAAS,MAAQ,SAAS,KAAK,SAAU,EAC/J,OAAO,KAAO,OAAO,MACrB,OAAO,MAAM,aAAe,aAAa,OAAO,MAAM,cAAgB,OAAO,gBAAkB,OAAO,4BAA4B,EAElI,GAAI,CACE,SAAS,KAAO,SAAS,IAAI,OAAS,SAAS,IAAI,MAAM,QAC3D,SAAS,IAAI,MAAM,MAAM,QAAU,OAEvC,MAAY,CAAC,CAOb,GALA,SAAS,sBAAwB,GACjC,SAAS,2BAA6B,OACtC,OAAO,uBAAyB,SAChC,OAAO,iCAAmC,OAEtC,OAAO,OAAO,sBAAyB,WACzC,GAAI,CAAE,OAAO,qBAAqB,MAAM,CAAG,MAAY,CAAC,CAE1D,OAAO,MACT,CAEA,SAAS,+BAAgC,CACvC,GAAI,CAAC,4BAA4B,EAAG,MAAO,GAC3C,IAAI,SAAW,eACf,GAAI,CAAC,UAAY,oBAAoB,2BAA4B,MAAO,GACxE,IAAI,OAAS,yBAAyB,QAAQ,EAC9C,OAAK,QACL,eAAiB,OACV,IAFa,EAGtB,CAEA,GAAI,CACF,OAAO,eAAe,OAAQ,mBAAoB,CAChD,aAAc,GACd,WAAY,GACZ,IAAK,UAAW,CACd,OAAO,4BAA4B,EAAI,2BAA6B,WACtE,EACA,IAAK,SAAS,MAAO,CACnB,YAAc,MACd,OAAO,gCAAkC,KAC3C,CACF,CAAC,CACH,MAAY,CACV,OAAO,iBAAmB,4BAA4B,EAAI,2BAA6B,WACzF,CAEA,GAAI,CACF,OAAO,eAAe,OAAQ,WAAY,CACxC,aAAc,GACd,WAAY,GACZ,IAAK,UAAW,CACd,OAAO,cACT,EACA,IAAK,SAAS,MAAO,CACnB,GAAI,4BAA4B,EAAG,CACjC,eAAiB,yBAAyB,KAAK,GAAK,MACpD,MACF,CACA,eAAiB,KACnB,CACF,CAAC,CACH,MAAY,CAAC,CAEb,IAAI,cAAgB,EAChB,WAAa,OAAO,YAAY,UAAW,CAC7C,eAAiB,GACb,8BAA8B,GAAK,cAAgB,MACrD,OAAO,cAAc,UAAU,CAEnC,EAAG,GAAG,EAEF,SAAS,aAAe,YAAc,SAAS,aAAe,cAChE,8BAA8B,EAE9B,SAAS,iBAAiB,mBAAoB,8BAA+B,CAAE,KAAM,EAAK,CAAC,CAE/F,GAAG",
  "names": ["overlay", "frame"]
}
