1 2 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4<html xmlns="http://www.w3.org/1999/xhtml" id="htmlMain" lang="en"> 5 <head> 6 <!-- Cookiebot CMP (must load before other page scripts) --> 7
7<script data-cookieconsent="ignore"> 8 window.dataLayer = window.dataLayer || []; 9 function gtag(){dataLayer.push(arguments);} 10 11 gtag('consent', 'default', { 12 ad_storage: 'denied', 13 analytics_storage: 'denied', 14 ad_user_data: 'denied', 15 ad_personalization: 'denied', 16 functionality_storage: 'denied', 17 personalization_storage: 'denied', 18 security_storage: 'granted', 19 wait_for_update: 500 20 }); 21 22 gtag('set', 'ads_data_redaction', true); 23 gtag('set', 'url_passthrough', false); 24 25 // The link is also used in geo-exempt regions where Cookiebot does not 26 // automatically display a banner. Leave a policy-page fallback if the 27 // asynchronous CMP has not exposed its API yet. 28 window.pcmOpenCookiebotPreferences = function(fallbackUrl) { 29 if (window.__pcmCookiebotPreferencesOpening) return false; 30 window.__pcmCookiebotPreferencesOpening = true; 31 32 var tryOpen = function() { 33 try { 34 // Cookiebot.renew() is the documented way to reopen the 35 // preferences dialog after consent has already been set. 36 // Prefer it over show(), which can be a no-op in some 37 // geo-configured or consented states. 38 if (window.Cookiebot && typeof window.Cookiebot.renew === 'function') { 39 window.Cookiebot.renew(); 40 } else if (window.Cookiebot && typeof window.Cookiebot.show === 'function') { 41 window.Cookiebot.show(); 42 } else { 43 return false; 44 } 45 46 // Cookiebot can be present but fail to render a dialog in a 47 // geo-exempt configuration. Use the declaration page rather 48 // than leaving the user with a no-op link. 49 window.setTimeout(function() { 50 var dialog = document.getElementById('CybotCookiebotDialog'); 51 var visible = dialog && (dialog.offsetWidth > 0 || dialog.offsetHeight > 0); 52 if (!visible) window.location.href = fallbackUrl; 53 window.__pcmCookiebotPreferencesOpening = false; 54 }, 750); 55 return true; 56 } catch (e) { 57 return false; 58 } 59 }; 60 61 if (tryOpen()) return false; 62 63 // The CMP script is asynchronous. Give its load event a short window 64 // before falling back to the Cookie Declaration page. 65 var opened = false; 66 var onCookiebotLoad = function() { 67 opened = tryOpen(); 68 }; 69 if (window.addEventListener) { 70 window.addEventListener('CookiebotOnLoad', onCookiebotLoad, {once: true}); 71 } 72 window.setTimeout(function() { 73 if (!opened && !window.Cookiebot) window.location.href = fallbackUrl; 74 window.__pcmCookiebotPreferencesOpening = false; 75 }, 1000); 76 return false; 77 }; 78</script>
78 79<!-- Keep this geo mapping aligned with pcmatic.com. Unlisted U.S. states 80 intentionally use the primary data-cbid configuration. -->
81<script 82 id="Cookiebot" 83 src="https://consent.cookiebot.com/uc.js" 84 data-cbid="359cf05c-6a8f-4791-8b69-c87c0660803a" 85 data-georegions=" 86 {'region':'GB,AT,BE,BG,HR,CY,CZ,DK,EE,FI,FR,DE,GR,HU,IE,IT,LV,LT,LU,MT,NL,PL,PT,RO,SK,SI,ES,SE,IS,LI,NO','cbid':'a9a4261a-c47a-4f10-b198-10e6bce0e7bd'}, 87 {'region':'US-06','cbid':'2da1b4aa-271f-4b1c-b6bf-f88a9cadcad9'}, 88 {'region':'US-51,US-08,US-09,US-49,US-19,US-18,US-47,US-30,US-48,US-41,US-10,US-33,US-34,US-31,US-24,US-27,US-44,US-21,US-40','cbid':'7de6a2d7-5efd-4b60-9c61-a9deee9d82e8'} 89 " 90 type="text/javascript" 91 async> 92</script>
92 93 94 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 95 <title>PC Matic Account</title> 96 97 <!-- Core --> 98 <!-- Favicon --> 99<link rel="shortcut icon" type="image/x-icon" href="/images/favicon/favicon.ico" /> 100 101<!-- JS -->
102<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
102
103<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
103 104 105<!-- JQuery UI -->
106<script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
106 107 108<!-- Font Awesome -->
109<script src="https://kit.fontawesome.com/96b39e002c.js" crossorigin="anonymous"></script>
109 110 111<!-- JSON -->
112<script type="text/javascript" src="/includes-client/json2.js"></script>
112 113 114<!-- Toastify -->
115<script src="/includes-server/toastify/toastify-1.12.0.js"></script>
115 116<link href="/includes-server/toastify/toastify-1.12.0.css" rel="stylesheet"> 117 118<!-- Helpscout Beacon -->
119<script type="text/plain" data-cookieconsent="preferences"> 120!function(e,t,n){function a(){var e=t.getElementsByTagName("script")[0],n=t.createElement("script");n.type="text/javascript",n.async=!0,n.src="https://beacon-v2.helpscout.net",e.parentNode.insertBefore(n,e)}if(e.Beacon=n=function(t,n,a){e.Beacon.readyQueue.push({method:t,options:n,data:a})},n.readyQueue=[],"complete"===t.readyState)return a();e.attachEvent?e.attachEvent("onload",a):e.addEventListener("load",a,!1)}(window,document,window.Beacon||function(){}); 121 122window.pcmInitializeHelpScoutBeacon = function() { 123 window.__pcmHelpScout = window.__pcmHelpScout || {}; 124 if (window.__pcmHelpScout.initialized || typeof window.Beacon !== "function" || !document.body) return; 125 126 window.__pcmHelpScout.initialized = true; 127 var isB2B = /(^|\s)techsentry(\s|$)/.test(document.body.className || ""); 128 window.Beacon( 129 'init', 130 isB2B ? '4a86fd24-2389-4cb4-b818-bdc539b374a3' : 'b35957ae-87cd-4c08-95dd-01f9a6aec474' 131 ); 132}; 133 134if (document.readyState === "loading") { 135 document.addEventListener("DOMContentLoaded", window.pcmInitializeHelpScoutBeacon, {once: true}); 136} else { 137 window.pcmInitializeHelpScoutBeacon(); 138} 139</script>
139 140 141<!-- Custom CSS --> 142<link href="/css/cart.css" rel="stylesheet"> 143 144<!-- Debug logging -->
145<script type="text/javascript" src="/js/log-error.js"></script>
145 146 147 148
148<script src="/js/common.js" type="text/javascript"></script>
148 149
149<script src="/js/ajax.js" type="text/javascript"></script>
149 150
150<script src="/js/cart-ui-functions.js" type="text/javascript"></script>
150 151
151<script type="text/javascript" src="https://js.stripe.com/v3/"></script>
151 152
152<script type="text/javascript" src="/js/circular-book-base64.js"></script>
152 153
153<script type="text/javascript" src="/js/stripe.js"></script>
153 154 155 <meta http-equiv="content-language" content="en" /> 156 <meta name="author" content="PC Matic, Inc." /> 157 <meta name="copyright" content="1998-2026 PC Matic, Inc." /> 158 <meta http-equiv="pragma" content="no-cache"> 159 <meta http-equiv="expires" content="-1"> 160 <meta name="viewport" content="width=device-width, initial-scale=1"> 161 </head> 162 163 <body class="update account-page"> 164 165 <link rel="stylesheet" href="/js/modal-message.css" type="text/css"> 166
166<script type="text/javascript" src="/js/modal-message.js"></script>
166 167 168
168<script> 169 170 messageObj = new DHTML_modalMessage(); // We only create one object of this class 171 messageObj.setShadowOffset(5); // Large shadow 172 173 // This is used for the Edit info buttons in each section atm 174 function displayStaticMessage(messageContent,cssClass) { 175 176 var smWidth = (window.innerWidth*.75); 177 var smHeight = (window.innerHeight*.40); 178 179 if (smWidth >= 501) { 180 smWidth = 500 181 } 182 183 if (smHeight >= 301) { 184 smHeight = 300 185 } 186 187 messageObj.setHtmlContent(messageContent); 188 messageObj.setSize(smWidth,smHeight); 189 messageObj.setCssClassMessageBox(cssClass); 190 messageObj.setSource(false); // no html source since we want to use a static message here. 191 messageObj.setShadowDivVisible(false); // Disable shadow for these boxes 192 messageObj.display(); 193 } 194 195 function closeMessage() { 196 messageObj.close(); 197 } 198 199 function logout() { 200 var r = confirm("You are going to logout of this account."); 201 202 if (r == true) { 203 var date = new Date(); 204 date.setTime(date.getTime() - 1 * 24 * 60 * 60 * 1000); 205 document.cookie = "who='';expires=" + date.toGMTString() + ";path=/;domain="; 206 document.cookie = "uid='';expires=" + date.toGMTString() + ";path=/;domain="; 207 window.location = "default.asp"; 208 } 209 } 210 </script>
210 211 212 <!-- LOADING GIF --> 213 <div id="loading" style="display:none"></div> 214 <div id="still-waiting" style="display:none"> 215 <div class="title">Whoa!</div> 216 <div class="description">Looks like this is taking longer than usual, please don't leave this page while we wait for a response from our payment processor.</div> 217 </div> 218 219 <!-- LOGIN SUCCESS --> 220 221 <!-- Login Form --> 222 <div class="wrapper pt-5 account-login-wrapper"> 223 <div class="container-fluid" align="center"> 224 <div class="login-section"> 225 <form name="login" id="login" action="default.asp?view=" method="POST"> 226 <img class="pt-5 login-shield" src="/images/darkShield.png"></img> 227 228 <div class="col-10 mb-2 login-description py-4"> 229 Login to your PC Matic account below. 230 </div> 231 232 233 234 <input class="form-control " type="text" name="email" id="email" value="" size="30" maxlength="50" placeholder="Email Address"> 235 236 <input class="form-control mt-3" type="password" name="pwd" id="pwd" maxlength="50" placeholder="Password" autocomplete="off"> 237 238 <!-- Login Button --> 239 <div class="pt-5 pb-2"> 240 <button type="submit" name="submit" value="Login" class="btn btn-large btn-primary btnLogin">Login</button> 241 </div> 242 243 <!-- Login Page Password Reset --> 244 <div class="forgotPassword"> 245 <a href="https://portal.pcpitstop.com/web_portal/#!dXNlci9TaG93Rm9yZ290UGFzc3dvcmQ=" target="_blank" class="loginReset"> 246 Forgot Password 247 </a> 248 </div> 249 250 <div class="col-8 py-5"> 251 <a href="https://www.pcmatic.com/support/#/support-pcmatic-form" target="_blank" class="btn btn-outline-gray btnHelp"><i class="far fa-question-circle"></i> Get Help</a> 252 </div> 253 254 <input type="hidden" name="loginuser" id="loginuser" value="1"> 255 <input type="hidden" name="view" id="view" value=""> 256 </form> 257 </div> 258 </div> 259 <!-- End container-fluid --> 260 </div> 261 <!-- End wrapper --> 262 263 264
264<script src="/js/account.js" type="text/javascript"></script>
264 265 266
266<script> 267 // if there was a coupon on the cart page they came from we add it back into the purchase links 268 getCartCoupon(); 269 270 271 </script>
271 272 <footer class="cart-privacy-links" aria-label="Privacy links" style="clear:both;text-align:center;margin:1rem 0 .5rem;font-size:.8rem;line-height:1.4;color:#232323;"> 273 <a href="https://www.pcmatic.com/privacy" target="_blank" rel="noopener noreferrer" style="color:#232323;opacity:.85;text-decoration:underline;">Privacy Policy</a> 274<span aria-hidden="true"> | </span> 275<a href="/cookie-policy.asp" style="color:#232323;opacity:.85;text-decoration:underline;">Cookie Policy</a> 276<span aria-hidden="true"> | </span> 277<a href="/cookie-policy.asp#privacy-choices" onclick="return window.pcmOpenCookiebotPreferences(this.href);" style="color:#232323;opacity:.85;text-decoration:underline;">Do Not Sell My Info</a> 278 279</footer> 280 281 </body> 282</html>
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.