1(function() { 2 var keys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_id', 'utm_term', 'utm_content']; 3 4 // Store UTM to sessionStorage 5 if (window.location.search) { 6 var params = new URLSearchParams(window.location.search); 7 keys.forEach(function(key) { 8 if (params.has(key)) { 9 sessionStorage.setItem(key, params.get(key)); 10 } 11 }); 12 } 13 14 // Restore UTM if cookies missing 15 keys.forEach(function(key) { 16 if (!document.cookie.includes(key + '=')) { 17 var val = sessionStorage.getItem(key); 18 if (val) { 19 var expires = new Date(); 20 expires.setTime(expires.getTime() + 30 * 24 * 60 * 60 * 1000); 21 document.cookie = key + '=' + encodeURIComponent(val) + ';path=/;expires=' + expires.toUTCString(); 22 } 23 } 24 }); 25})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.