1document.addEventListener("DOMContentLoaded",()=>{let e=document.getElementById("login-form"),t=e?.querySelector('button[type="submit"]'),n=new URLSearchParams(window.location.search).get("cn");if(displayAndClearAlert(),sessionStorage.clear(),e){if(n){let e=document.getElementById("loyaltyIdentifier");e&&(e.value=n)}e.addEventListener("submit",async e=>{e.preventDefault();let n=document.getElementById("loyaltyIdentifier").value;if(n.length<4)return void showAlert("Card number must be at least 4 digits.","danger");await withButtonLoading(t,async()=>{try{let e=await get(`/auth/${n}`);if("OK"===e.status){let t={cardNumber:n,cellNumber:e.cellNumber};sessionStorage.setItem("memberDetails",JSON.stringify(t)),window.location.href="confirm_mobile.html"}else{let t=e.message;t.includes("register")?(showAlert(t,"info",!0),window.location.href="index.html?cn="+encodeURIComponent(n)):showAlert(t,"danger")}}catch(e){showAlert(e.data?.errors?.[0]?.value||e.data?.message||"An error occurred. Please try again or contact support if the issue persists.","danger")}},"Submitting...")})}});
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.