/* * This file is used to share the snippet injection code between PSClickWrap.js and PSBrowseWrap.js. It is mostly the same as the existing snippet code, only exception is the * PS.JS source location is paramaterized. */ function injectSnippet(scriptURL, backupScriptURL) { (function (w, d, s, c, f, n, t, g, a, b, l) { // Defines the global _ps object and initializes the _ps() function // that will queue commands until the PactSafe Library is ready. w.PactSafeObject = n; w[n] = w[n] || function () { (w[n].q = w[n].q || []).push(arguments); }, w[n].on = function () { // Defines the event functions for the global _ps object. (w[n].e = w[n].e || []).push(arguments); }, w[n].once = function () { (w[n].eo = w[n].eo || []).push(arguments); }, w[n].off = function () { (w[n].o = w[n].o || []).push(arguments); }, w[n].t = 1 * new Date(), w[n].l = 0; // Marks the time that the script is inserted. // Inserts a new script element to load the PactSafe Library JS file (ps.js). a = d.createElement(s); b = d.getElementsByTagName(s)[0]; a.async = 1; a.src = c; // Marks that the script has started loading or failed to load. a.onload = a.onreadystatechange = function () { w[n].l = 1; }; a.onerror = a.onabort = function () { w[n].l = 0; }; // Insert the script tag to the DOM, n a testing context, no script tags exist so b is undefined. if (b) { b.parentNode.insertBefore(a, b); } else { document.body.appendChild(a); } // Retry loading the script from a fallback location after 4 seconds. setTimeout(function () { if (!w[n].l && !w[n].loaded) { w[n].error = 1; a = d.createElement(s); a.async = 1; a.src = f; a.onload = a.onreadystatechange = function () { w[n].l = 1; }; a.onerror = a.onabort = function () { w[n].l = 0; }; b.parentNode.insertBefore(a, b); // Log the loading error via beacon. l = function l(u, e) { try { e = d.createElement("img"); e.src = "https://d3r8bdci515tjv.cloudfront.net/error.gif?t=" + w[n].t + "&u=" + encodeURIComponent(u); d.getElementsByTagName("body")[0].appendChild(e); } catch (x) {} }; l(c); // Call the optional error callback function after a second failed attempt. setTimeout(function () { if (!w[n].l && !w[n].loaded) { w[n].error = 1; if (g && "function" == typeof g) { g.call(this); } l(f); } }, t); } }, t); })(window, document, "script", scriptURL, backupScriptURL, "_ps", 4000, function optionalErrorCallback() { console.log("Unable to load the PactSafe PS.JS Library."); }); } function isSnippetLoaded(psScriptURL) { var scripts = document.getElementsByTagName('script'); if (window._ps && window._ps.loaded && window._ps.realThang === 317) return true; for (var i = 0; i < scripts.length; i += 1) { if (scripts[i].src && scripts[i].src.indexOf(psScriptURL) !== -1) { return true; } } return false; } module.exports = { injectSnippet: injectSnippet, isSnippetLoaded: isSnippetLoaded };//# sourceURL=[module] //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzY2LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLLHVDQUF1Qzs7QUFFNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isb0JBQW9CO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbXRnYXZhZm9ybXJlYWN0Ly4vbm9kZV9tb2R1bGVzL0BwYWN0c2FmZS9wYWN0c2FmZS1yZWFjdC1zZGsvZXMvUFNTbmlwcGV0LmpzPzBkMDIiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFRoaXMgZmlsZSBpcyB1c2VkIHRvIHNoYXJlIHRoZSBzbmlwcGV0IGluamVjdGlvbiBjb2RlIGJldHdlZW4gUFNDbGlja1dyYXAuanMgYW5kIFBTQnJvd3NlV3JhcC5qcy4gSXQgaXMgbW9zdGx5IHRoZSBzYW1lIGFzIHRoZSBleGlzdGluZyBzbmlwcGV0IGNvZGUsIG9ubHkgZXhjZXB0aW9uIGlzIHRoZVxuICogUFMuSlMgc291cmNlIGxvY2F0aW9uIGlzIHBhcmFtYXRlcml6ZWQuXG4gKi9cblxuZnVuY3Rpb24gaW5qZWN0U25pcHBldChzY3JpcHRVUkwsIGJhY2t1cFNjcmlwdFVSTCkge1xuICAoZnVuY3Rpb24gKHcsIGQsIHMsIGMsIGYsIG4sIHQsIGcsIGEsIGIsIGwpIHtcbiAgICAvLyBEZWZpbmVzIHRoZSBnbG9iYWwgX3BzIG9iamVjdCBhbmQgaW5pdGlhbGl6ZXMgdGhlIF9wcygpIGZ1bmN0aW9uXG4gICAgLy8gdGhhdCB3aWxsIHF1ZXVlIGNvbW1hbmRzIHVudGlsIHRoZSBQYWN0U2FmZSBMaWJyYXJ5IGlzIHJlYWR5LlxuICAgIHcuUGFjdFNhZmVPYmplY3QgPSBuO1xuICAgIHdbbl0gPSB3W25dIHx8IGZ1bmN0aW9uICgpIHtcbiAgICAgICh3W25dLnEgPSB3W25dLnEgfHwgW10pLnB1c2goYXJndW1lbnRzKTtcbiAgICB9LCB3W25dLm9uID0gZnVuY3Rpb24gKCkge1xuICAgICAgLy8gRGVmaW5lcyB0aGUgZXZlbnQgZnVuY3Rpb25zIGZvciB0aGUgZ2xvYmFsIF9wcyBvYmplY3QuXG4gICAgICAod1tuXS5lID0gd1tuXS5lIHx8IFtdKS5wdXNoKGFyZ3VtZW50cyk7XG4gICAgfSwgd1tuXS5vbmNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgKHdbbl0uZW8gPSB3W25dLmVvIHx8IFtdKS5wdXNoKGFyZ3VtZW50cyk7XG4gICAgfSwgd1tuXS5vZmYgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAod1tuXS5vID0gd1tuXS5vIHx8IFtdKS5wdXNoKGFyZ3VtZW50cyk7XG4gICAgfSwgd1tuXS50ID0gMSAqIG5ldyBEYXRlKCksIHdbbl0ubCA9IDA7IC8vIE1hcmtzIHRoZSB0aW1lIHRoYXQgdGhlIHNjcmlwdCBpcyBpbnNlcnRlZC5cblxuICAgIC8vIEluc2VydHMgYSBuZXcgc2NyaXB0IGVsZW1lbnQgdG8gbG9hZCB0aGUgUGFjdFNhZmUgTGlicmFyeSBKUyBmaWxlIChwcy5qcykuXG4gICAgYSA9IGQuY3JlYXRlRWxlbWVudChzKTtcbiAgICBiID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXTtcbiAgICBhLmFzeW5jID0gMTtcbiAgICBhLnNyYyA9IGM7XG5cbiAgICAvLyBNYXJrcyB0aGF0IHRoZSBzY3JpcHQgaGFzIHN0YXJ0ZWQgbG9hZGluZyBvciBmYWlsZWQgdG8gbG9hZC5cbiAgICBhLm9ubG9hZCA9IGEub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgd1tuXS5sID0gMTtcbiAgICB9O1xuICAgIGEub25lcnJvciA9IGEub25hYm9ydCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHdbbl0ubCA9IDA7XG4gICAgfTtcblxuICAgIC8vIEluc2VydCB0aGUgc2NyaXB0IHRhZyB0byB0aGUgRE9NLCBuIGEgdGVzdGluZyBjb250ZXh0LCBubyBzY3JpcHQgdGFncyBleGlzdCBzbyBiIGlzIHVuZGVmaW5lZC5cbiAgICBpZiAoYikge1xuICAgICAgYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCBiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICB9XG5cbiAgICAvLyBSZXRyeSBsb2FkaW5nIHRoZSBzY3JpcHQgZnJvbSBhIGZhbGxiYWNrIGxvY2F0aW9uIGFmdGVyIDQgc2Vjb25kcy5cbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghd1tuXS5sICYmICF3W25dLmxvYWRlZCkge1xuICAgICAgICB3W25dLmVycm9yID0gMTtcbiAgICAgICAgYSA9IGQuY3JlYXRlRWxlbWVudChzKTtcbiAgICAgICAgYS5hc3luYyA9IDE7XG4gICAgICAgIGEuc3JjID0gZjtcbiAgICAgICAgYS5vbmxvYWQgPSBhLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB3W25dLmwgPSAxO1xuICAgICAgICB9O1xuICAgICAgICBhLm9uZXJyb3IgPSBhLm9uYWJvcnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgd1tuXS5sID0gMDtcbiAgICAgICAgfTtcbiAgICAgICAgYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCBiKTtcblxuICAgICAgICAvLyBMb2cgdGhlIGxvYWRpbmcgZXJyb3IgdmlhIGJlYWNvbi5cbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwodSwgZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBlID0gZC5jcmVhdGVFbGVtZW50KFwiaW1nXCIpO1xuICAgICAgICAgICAgZS5zcmMgPSBcImh0dHBzOi8vZDNyOGJkY2k1MTV0anYuY2xvdWRmcm9udC5uZXQvZXJyb3IuZ2lmP3Q9XCIgKyB3W25dLnQgKyBcIiZ1PVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHUpO1xuICAgICAgICAgICAgZC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF0uYXBwZW5kQ2hpbGQoZSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfTtcbiAgICAgICAgbChjKTtcblxuICAgICAgICAvLyBDYWxsIHRoZSBvcHRpb25hbCBlcnJvciBjYWxsYmFjayBmdW5jdGlvbiBhZnRlciBhIHNlY29uZCBmYWlsZWQgYXR0ZW1wdC5cbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKCF3W25dLmwgJiYgIXdbbl0ubG9hZGVkKSB7XG4gICAgICAgICAgICB3W25dLmVycm9yID0gMTtcbiAgICAgICAgICAgIGlmIChnICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZykge1xuICAgICAgICAgICAgICBnLmNhbGwodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsKGYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgdCk7XG4gICAgICB9XG4gICAgfSwgdCk7XG4gIH0pKHdpbmRvdywgZG9jdW1lbnQsIFwic2NyaXB0XCIsIHNjcmlwdFVSTCwgYmFja3VwU2NyaXB0VVJMLCBcIl9wc1wiLCA0MDAwLCBmdW5jdGlvbiBvcHRpb25hbEVycm9yQ2FsbGJhY2soKSB7XG4gICAgY29uc29sZS5sb2coXCJVbmFibGUgdG8gbG9hZCB0aGUgUGFjdFNhZmUgUFMuSlMgTGlicmFyeS5cIik7XG4gIH0pO1xufVxuZnVuY3Rpb24gaXNTbmlwcGV0TG9hZGVkKHBzU2NyaXB0VVJMKSB7XG4gIHZhciBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpO1xuICBpZiAod2luZG93Ll9wcyAmJiB3aW5kb3cuX3BzLmxvYWRlZCAmJiB3aW5kb3cuX3BzLnJlYWxUaGFuZyA9PT0gMzE3KSByZXR1cm4gdHJ1ZTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKHNjcmlwdHNbaV0uc3JjICYmIHNjcmlwdHNbaV0uc3JjLmluZGV4T2YocHNTY3JpcHRVUkwpICE9PSAtMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbm1vZHVsZS5leHBvcnRzID0ge1xuICBpbmplY3RTbmlwcGV0OiBpbmplY3RTbmlwcGV0LFxuICBpc1NuaXBwZXRMb2FkZWQ6IGlzU25pcHBldExvYWRlZFxufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0= //# sourceURL=webpack-internal:///366