{
  "version": 3,
  "sources": ["/cdn/shop/t/188/assets/jp-identity-service.js?jp_release=20260813_guest_checkout_v1"],
  "sourcesContent": ["(function () {\n  'use strict';\n\n  var GUEST_ID_KEY = 'justpress:identity:guest_session_id';\n  var ARCHIVE_PREFIX = 'justpress:guest-archive:';\n\n  function randomId() {\n    if (window.crypto && typeof window.crypto.randomUUID === 'function') return window.crypto.randomUUID();\n    var bytes = new Uint8Array(24);\n    if (window.crypto && typeof window.crypto.getRandomValues === 'function') window.crypto.getRandomValues(bytes);\n    else for (var index = 0; index < bytes.length; index += 1) bytes[index] = Math.floor(Math.random() * 256);\n    return Array.prototype.map.call(bytes, function (value) { return value.toString(16).padStart(2, '0'); }).join('');\n  }\n\n  function validGuestId(value) { return /^[a-zA-Z0-9][a-zA-Z0-9._:-]{23,191}$/.test(String(value || '')); }\n\n  function setGuestId(value) {\n    if (!validGuestId(value)) throw new Error('A valid guest ID is required.');\n    localStorage.setItem(GUEST_ID_KEY, value);\n    return value;\n  }\n\n  function createGuestId() { return 'guest-' + randomId(); }\n\n  function storedGuestOwner(guestId) {\n    try { return String(localStorage.getItem(guestOwnerKeyFor(guestId)) || '').replace(/\\D/g, ''); }\n    catch (_) { return ''; }\n  }\n\n  function getGuestId() {\n    var value = '';\n    try { value = localStorage.getItem(GUEST_ID_KEY) || ''; }\n    catch (error) { if (window.JPRuntime) window.JPRuntime.reportError(error, 'guest-identity-read'); }\n    if (!validGuestId(value)) value = createGuestId();\n    /* A claimed identity belongs to the customer who claimed it. Once that\n       customer signs out, start a fresh anonymous namespace so subsequent\n       guest work cannot be written into an account-owned recovery record. */\n    if (!customerId() && storedGuestOwner(value)) value = createGuestId();\n    try { setGuestId(value); }\n    catch (error) { if (window.JPRuntime) window.JPRuntime.reportError(error, 'guest-identity-write'); }\n    return value;\n  }\n\n  function customerId() {\n    return window.jpCustomer && window.jpCustomer.loggedIn === true\n      ? String(window.jpCustomer.id || '').replace(/\\D/g, '')\n      : '';\n  }\n\n  function guestNamespaceFor(guestId) { return 'justpress:guest:' + String(guestId || getGuestId()); }\n  function guestNamespace() { return guestNamespaceFor(getGuestId()); }\n  function customerNamespace() { return 'justpress:customer:' + customerId(); }\n  function namespace() { return customerId() ? customerNamespace() : guestNamespace(); }\n  function guestOwnerKeyFor(guestId) { return guestNamespaceFor(guestId) + ':claimed_by_customer'; }\n\n  function guestOwner(guestId) {\n    return storedGuestOwner(guestId);\n  }\n\n  function claimGuestForCurrentCustomer(guestId) {\n    var customer = customerId();\n    var id = guestId || getGuestId();\n    if (!customer || !validGuestId(id)) return false;\n    var owner = guestOwner(id);\n    if (owner && owner !== customer) return false;\n    try { localStorage.setItem(guestOwnerKeyFor(id), customer); } catch (_) { return false; }\n    return true;\n  }\n\n  function sealAndRotate(guestId, archive) {\n    var oldId = String(guestId || getGuestId());\n    if (!validGuestId(oldId) || oldId !== getGuestId()) throw new Error('The active guest identity changed before it could be sealed.');\n    var sealedAt = Date.now();\n    var archiveKey = ARCHIVE_PREFIX + oldId + ':' + sealedAt;\n    var stateKey = guestNamespaceFor(oldId) + ':app_state';\n    var savedKey = guestNamespaceFor(oldId) + ':saved_designs';\n    var ownerKey = guestOwnerKeyFor(oldId);\n    var record = Object.assign({\n      version: 1,\n      guestId: oldId,\n      sealedAt: sealedAt,\n      customerId: customerId() || null,\n      stateKey: stateKey,\n      savedKey: savedKey,\n      recovery: 'manual-review-only'\n    }, archive || {});\n    var nextId = createGuestId();\n    setGuestId(nextId);\n    var cleanupErrors = [];\n    try { localStorage.setItem(archiveKey, JSON.stringify(record)); } catch (error) { cleanupErrors.push('archive:' + String(error && error.message || error)); }\n    try { localStorage.setItem(stateKey, JSON.stringify({ version: 3, items: [], saved: [], currentItemId: null, sealed: true, sealedAt: sealedAt, updatedAt: sealedAt })); } catch (error) { cleanupErrors.push('state:' + String(error && error.message || error)); }\n    try { localStorage.setItem(savedKey, '[]'); } catch (error) { cleanupErrors.push('saved:' + String(error && error.message || error)); }\n    try { localStorage.setItem(ownerKey, customerId() || 'sealed'); } catch (error) { cleanupErrors.push('owner:' + String(error && error.message || error)); }\n    return { previousGuestId: oldId, nextGuestId: nextId, archiveKey: archiveKey, sealedAt: sealedAt, cleanupComplete: cleanupErrors.length === 0, cleanupErrors: cleanupErrors };\n  }\n\n  window.JPIdentity = {\n    getGuestId: getGuestId,\n    createGuestId: createGuestId,\n    customerId: customerId,\n    isCustomer: function () { return Boolean(customerId()); },\n    namespace: namespace,\n    stateKey: function () { return namespace() + ':app_state'; },\n    savedKey: function () { return namespace() + ':saved_designs'; },\n    guestNamespaceFor: guestNamespaceFor,\n    guestStateKey: function (guestId) { return guestNamespaceFor(guestId) + ':app_state'; },\n    guestSavedKey: function (guestId) { return guestNamespaceFor(guestId) + ':saved_designs'; },\n    guestOwnerKey: guestOwnerKeyFor,\n    guestOwner: guestOwner,\n    claimGuestForCurrentCustomer: claimGuestForCurrentCustomer,\n    sealAndRotate: sealAndRotate\n  };\n})();\n"],
  "mappings": "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",
  "names": []
}
