var PF_VERSION = "2018-04-11-090308182";

!function() {
  var e = document.getElementById("printfriendly-data");
  if (e) {
    var t = JSON.parse(e.getAttribute("data"));
    window.pfstyle = t.pfstyle, window.pfOptions = t.pfOptions;
  }
}();

var pfMod = window.pfMod || function(e, t) {
  function n(e) {
    coreIframe.contentWindow.postMessage(e, "*");
  }
  var o = e.document, r = "https:";
  e.addEventListener("message", function(t) {
    try {
      if (t.data) {
        var i = t.data.payload;
        switch (t.data.type) {
         case "PfCoreLoaded":
          n({
            type: "PfStartCore",
            payload: {
              pfData: m.pfData
            }
          });
          break;

         case "PfExtensionCoreLoaded":
          n({
            type: "PfLoadCore",
            payload: {
              pfData: m.pfData
            }
          });
          break;

         case "PfClosePreview":
          m.closePreview();
          break;

         case "PfAddCSS":
          l.addCSS(i.css, i.useBody);
          break;

         case "PfRestoreStyles":
          l.restoreStyles();
          break;

         case "PfAddViewPortTag":
          l.addViewPortTag();
          break;

         case "PfScrollTop":
          e.scrollTo(0, 0);
          break;

         case "PfTwitterCopyEmbeded":
          u.copyEmbeded();
          break;

         case "PfCreateByAdType":
          a.createAdByType(i.adType);
          break;

         case "PfShowAds":
          a.show();
          break;

         case "PfHideAds":
          a.hide();
          break;

         case "PfFinished":
          m.hasContent = i.hasContent, m.finished = !0;
          break;

         case "PfRedirectIfNecessary":
          m.dsData = i.dsData, m.isRedirectNecessary() ? m.redirect() : n({
            type: "PfLaunchCore"
          });
        }
      }
    } catch (e) {
      y.log(e);
    }
  });
  var a = {
    createAdByType: function(e) {
      if (!document.getElementById("gaiframe")) {
        var t = a.isMobile() ? "_mobile" : "", n = m.config.hosts.cdn + m.config.filePath + m.version + "/ads/" + e + t + ".html", i = document.createElement("iframe");
        i.id = "gaiframe", i.name = "gaiframe", i.style = "border: 0!important; position:absolute!important; height:280px!important; margin-left: auto!important; margin-right: auto!important; left: 0!important; right:0!important; z-index: 2147483647!important; display:none;", 
        i.src = n, i.scrolling = "no", o.body.appendChild(i), a.setupSetStyle();
      }
    },
    isMobile: function() {
      return e.innerWidth <= 700;
    },
    setupSetStyle: function() {
      a.setStyle(), e.addEventListener("resize", function() {
        a.setStyle();
      });
    },
    setStyle: function() {
      var t = document.getElementById("gaiframe");
      if (t) {
        var n = e.innerWidth > 860 ? "284px" : "250px", i = e.innerWidth > 730 ? "700px" : e.innerWidth;
        t.style.removeProperty("width"), t.style.removeProperty("top"), t.style.setProperty("width", i, "important"), 
        t.style.setProperty("top", n, "important");
      }
    },
    show: function() {
      var e = document.getElementById("gaiframe");
      e && (e.style.display = "block");
    },
    hide: function() {
      var e = document.getElementById("gaiframe");
      e && (e.style.display = "none");
    }
  }, s = {
    sendEvent: function(e, t, i) {
      n({
        type: "PfGaEvent",
        payload: {
          category: e,
          action: t,
          label: i
        }
      });
    }
  }, c = {
    environment: "production",
    disableUI: !1,
    protocol: "https:",
    dir: "ltr",
    usingBM: !1,
    maxImageWidth: 750,
    filePath: "/assets/versions/",
    platform: "unknown",
    hosts: {
      cdn: "https://cdn.printfriendly.com",
      pf: "https://www.printfriendly.com",
      ds: "https://www.printfriendly.com",
      translations: "https://www.printfriendly.com",
      ds_cdn: "https://ds-4047.kxcdn.com",
      pdf: "https://pdf.printfriendly.com",
      email: "https://www.printfriendly.com",
      page: e.location.host.split(":")[0],
      ravenDsn: "https://5463b49718cd4266911eab9e5c0e114d@sentry.io/22091"
    },
    domains: {
      page: e.location.host.split(":")[0].split("www.").pop()
    }
  }, d = {
    removeEmailsFromUrl: function(e) {
      for (var t = (e = e.split("?")[0]).split("/"), n = t.length; n-- > 0; ) -1 !== t[n].indexOf("@") && t.splice(n, 1);
      return t.join("/");
    },
    isDynamicPage: function() {
      return !!(e.React || e.angular || e.ng && e.ng.coreTokens || e.Backbone || e.Ember || e.Vue || document.querySelector && (document.querySelector("[ng-version]") || document.querySelector("*[data-reactroot]")));
    },
    ogImageUrl: function() {
      var e = "", t = document.querySelector && document.querySelector('meta[property="og:image"]');
      return t && t.content && (e = t.content), e;
    },
    isWix: function() {
      return -1 !== d.ogImageUrl().indexOf("wixstatic.com");
    },
    isOverBlog: function() {
      return -1 !== d.ogImageUrl().indexOf("over-blog-kiwi.com");
    },
    isLocalHost: function() {
      var t = e.location.host, n = e.location.hostname;
      return -1 !== t.indexOf(":") || !!n.match(/\d+\.\d+\.\d+\.\d+/) || "localhost" === n || !!n.split(".").pop().match(/invalid|test|example|localhost|dev/);
    }
  }, l = {
    addViewPortTag: function() {
      var e = o.getElementsByTagName("head")[0], t = o.querySelector("meta[name=viewport]");
      t || ((t = o.createElement("meta")).name = "viewport"), t.content = "width=device-width, initial-scale=1", 
      e.appendChild(t);
    },
    addCSS: function(e, t) {
      var n = t ? "body" : "head", i = o.getElementsByTagName(n)[0], r = o.createElement("style");
      r.type = "text/css", r.setAttribute("name", "pf-style"), r.styleSheet ? r.styleSheet.cssText = e : r.appendChild(o.createTextNode(e)), 
      i.appendChild(r);
    },
    restoreStyles: function() {
      for (var e = document.getElementsByName("pf-style"), t = e.length - 1; t >= 0; t--) e[t].parentNode.removeChild(e[t]);
    }
  }, p = {
    isReady: !1,
    readyBound: !1,
    ready: function() {
      if (!p.isReady) {
        if (!document.body) return setTimeout(p.ready, 13);
        p.isReady = !0, p.readyFunc.call();
      }
    },
    doScrollCheck: function() {
      if (!p.isReady) {
        try {
          document.documentElement.doScroll("left");
        } catch (e) {
          return setTimeout(p.doScrollCheck, 50);
        }
        p.detach(), p.ready();
      }
    },
    detach: function() {
      document.addEventListener ? (document.removeEventListener("DOMContentLoaded", p.completed, !1), 
      e.removeEventListener("load", p.completed, !1)) : document.attachEvent && "complete" === document.readyState && (document.detachEvent("onreadystatechange", p.completed), 
      e.detachEvent("onload", p.completed));
    },
    completed: function(e) {
      (document.addEventListener || "load" === e.type || "complete" === document.readyState) && (p.detach(), 
      p.ready());
    },
    bindReady: function() {
      if (!p.readyBound) {
        if (p.readyBound = !0, "complete" === document.readyState) return p.ready();
        if (document.addEventListener) document.addEventListener("DOMContentLoaded", p.completed, !1), 
        e.addEventListener("load", p.completed, !1); else if (document.attachEvent) {
          document.attachEvent("onreadystatechange", p.completed), e.attachEvent("onload", p.completed);
          var t = !1;
          try {
            t = null == e.frameElement && document.documentElement;
          } catch (e) {}
          t && t.doScroll && p.doScrollCheck();
        }
      }
    },
    domReady: function(e) {
      this.readyFunc = e, this.bindReady();
    },
    canonicalize: function(e) {
      if (e) {
        var t = document.createElement("div");
        return t.innerHTML = "<a></a>", t.firstChild.href = e, t.innerHTML = t.innerHTML, 
        t.firstChild.href;
      }
      return e;
    }
  }, f = {
    headerImageUrl: p.canonicalize(e.pfHeaderImgUrl),
    headerTagline: e.pfHeaderTagline,
    imageDisplayStyle: e.pfImageDisplayStyle,
    customCSSURL: p.canonicalize(e.pfCustomCSS),
    disableClickToDel: e.pfdisableClickToDel,
    disablePDF: e.pfDisablePDF,
    disablePrint: e.pfDisablePrint,
    disableEmail: e.pfDisableEmail
  };
  -1 !== "|full-size|remove-images|large|medium|small|".indexOf("|" + e.pfImagesSize + "|") ? f.imagesSize = e.pfImagesSize : f.imagesSize = 1 == e.pfHideImages ? "remove-images" : "full-size";
  var m = {
    version: PF_VERSION,
    initialized: !1,
    finished: !1,
    onServer: !1,
    hasContent: !1,
    messages: [],
    errors: [],
    waitDsCounter: 0,
    autoStart: !1,
    stats: {},
    init: function(t) {
      try {
        this.initialized = !0, this.configure(t), this.onServerSetup(), m.onServer || this.config.isExtension || this.getAdSettingsFromPFServer(), 
        this.setVariables(), this.detectBrowser(), this.startIfNecessary(), e.print = function() {
          m.start();
        };
      } catch (e) {
        y.log(e);
      }
    },
    configure: function(t) {
      if (this.config = c, t) {
        this.config.environment = t.environment || "development";
        for (var n in t.hosts) this.config.hosts[n] = t.hosts[n];
        t.filePath && (this.config.filePath = t.filePath), t.ssLocation && (this.config.ssLocation = t.ssLocation), 
        t.ssStyleSheetHrefs && (this.config.ssStyleSheetHrefs = t.ssStyleSheetHrefs);
      }
      this.userOptions = {
        redirect: {
          disableForiPad: !!this.getVal(e.pfUserOptions, "redirect.disableForiPad")
        }
      }, this.config.isExtension = !!e.extensionPath;
    },
    getVal: function(e, t) {
      for (var n = t.split("."); void 0 !== e && n.length; ) e = e[n.shift()];
      return e;
    },
    startIfNecessary: function() {
      (e.pfstyle || this.autoStart) && this.start();
    },
    urlHasAutoStartParams: function() {
      return -1 !== this.config.urls.page.indexOf("pfstyle=wp");
    },
    start: function() {
      if (m.onServer || m.config.isExtension) m.launch(); else {
        if (m.waitDsCounter += 1, m.waitDsCounter < 20 && !m.dsData) return setTimeout(function() {
          m.start();
        }, 100);
        m.isRedirectNecessary() ? m.redirect() : m.supportedSiteType() && m.launch();
      }
    },
    launch: function() {
      p.domReady(function() {
        try {
          m.startTime = new Date().getTime(), g.run(), m.pfData = h.get(), m.config.disableUI || (m.sanitizeLocation(), 
          m.createMask()), m.loadCore();
        } catch (e) {
          y.log(e);
        }
      });
    },
    sanitizeLocation: function() {
      url = document.location.href.split("?")[0], url = d.removeEmailsFromUrl(url), url !== document.location.href && (history && "function" == typeof history.pushState ? history.pushState({
        pf: "sanitized"
      }, document.title, url) : m.urlHasPII = !0);
    },
    unsanitizeLocation: function() {
      history && history.state && "sanitized" == history.state.pf && history.back();
    },
    onServerSetup: function() {
      e.onServer && (this.onServer = !0, this.config.disableUI = !0);
    },
    setVariables: function() {
      var t = this, n, i = "";
      "production" !== this.config.environment && (i = "?_=" + Math.random());
      var o = t.config.hosts.cdn + t.config.filePath + t.version, r = this.config.disableUI ? "" : o + "/pf-app/main.css" + i, a = this.config.disableUI ? "" : o + "/content/main.css" + i;
      this.config.urls = {
        version: o,
        js: {
          jquery: "https://cdn.printfriendly.com/assets/unversioned/jquery/1.12.4.min.js",
          raven: "https://cdn.ravenjs.com/3.19.1/raven.min.js",
          core: o + "/core.js" + i,
          algo: o + "/algo.js" + i
        },
        css: {
          pfApp: r,
          content: a
        },
        pdfMake: t.config.hosts.pdf + "/pdfs/make",
        email: t.config.hosts.email + "/email/new"
      };
      try {
        n = top.location.href;
      } catch (t) {
        n = e.location.href;
      }
      this.config.urls.page = n, this.userSettings = f, this.config.pfstyle = e.pfstyle, 
      !e.pfstyle || "bk" !== e.pfstyle && "nbk" !== e.pfstyle && "cbk" !== e.pfstyle || (this.config.usingBM = !0), 
      this.autoStart = this.urlHasAutoStartParams();
    },
    detectBrowser: function() {
      this.browser = {};
      var e = navigator.appVersion;
      e && -1 !== e.indexOf("MSIE") ? (this.browser.version = parseFloat(e.split("MSIE")[1]), 
      this.browser.isIE = !0) : this.browser.isIE = !1;
    },
    loadScript: function(e, t) {
      var n = document.getElementsByTagName("head")[0], i = document.createElement("script");
      i.type = "text/javascript", i.src = e, i.onreadystatechange = t, i.onload = t, n.appendChild(i);
    },
    createIframe: function(e) {
      var t = e.createElement("iframe");
      return t.frameBorder = "0", t.allowTransparency = "true", t;
    },
    loadHtmlInIframe: function(e, t, n) {
      var i, o;
      try {
        o = t.contentWindow.document;
      } catch (n) {
        i = e.domain, o = t.contentWindow.document;
      }
      o.write(n), o.close();
    },
    redirect: function() {
      var e = [ "source=cs", "url=" + encodeURIComponent(top.location.href) ], t;
      for (var n in f) void 0 !== f[n] && e.push(n + "=" + encodeURIComponent(f[n]));
      t = this.config.hosts.pf + "/print/?" + e.join("&"), this.autoStart ? top.location.replace(t) : top.location.href = t;
    },
    supportedSiteType: function() {
      return "about:blank" !== m.config.urls.page && ("http:" === m.config.protocol || "https:" === m.config.protocol);
    },
    isRedirectNecessary: function() {
      var t = e.pfstyle && "wp" != e.pfstyle, n = d.isDynamicPage(), i = d.isLocalHost(), o = d.isWix() || d.isOverBlog();
      if (m.stats.page = {
        bm: t,
        dynamic: n,
        local: i,
        unSupported: o
      }, m.dsData) {
        var r = m.dsData.domain_settings.ad_free, a = m.dsData.domain_settings.redirect, s = m.dsData.domain_settings.bk_redirect, c = !t && a, l = t && s;
        if (!r && !n && !i && !o && (c || l)) return !0;
      }
      try {
        var p = navigator.userAgent.match(/Edge\/(\d+.\d+)/);
        return !!(!history || "function" != typeof history.pushState || navigator.userAgent.match(/(ipod|opera.mini|blackberry|playbook|bb10)/i) || this.browser.isIE && this.browser.version < 11 || this.browser.isIE && e.adsbygoogle || "undefined" != typeof $ && $.jcarousel && this.browser.isIE || p && 2 === p.length && parseFloat(p[1]) < 13.10586);
      } catch (e) {
        return y.log(e), !1;
      }
    },
    createMask: function() {
      var e = document.createElement("div");
      e.innerHTML = '<div id="pf-mask" style="z-index: 2147483627!important; position: fixed !important; top: 0pt !important; left: 0pt !important; background-color: rgb(0, 0, 0) !important; opacity: 0.8 !important;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80); height: 100% !important; width: 100% !important;"></div>', 
      document.body.appendChild(e.firstChild);
    },
    closePreview: function() {
      p.readyBound = !1, p.isReady = !1, m.unsanitizeLocation();
      var e = document.getElementById("pf-core");
      e && e.parentElement && e.parentElement.removeChild(e);
      var t = document.getElementById("pf-mask");
      t && t.parentElement && t.parentElement.removeChild(t);
      var n = document.getElementById("gaiframe");
      n && n.parentElement && n.parentElement.removeChild(n);
    },
    removeDoubleSemiColon: function(e) {
      return e.replace(/;{2}/g, ";");
    },
    loadCore: function() {
      e.coreIframe = this.createIframe(document), coreIframe.id = "pf-core", coreIframe.name = "pf-core", 
      document.body.appendChild(coreIframe);
      var t = coreIframe.style.cssText + ";width: 100% !important;max-width:100% !important;height: 100% !important; display: block !important; overflow: hidden !important; position: absolute !important; top: 0px !important; left: 0px !important; background-color: transparent !important; z-index: 2147483647!important";
      if (coreIframe.style.cssText = this.removeDoubleSemiColon(t), this.config.isExtension) coreIframe.src = extensionPath + "/core.html", 
      coreIframe.onload = function() {
        try {
          coreIframe.contentWindow && coreIframe.contentWindow.postMessage ? coreIframe.contentWindow.postMessage({
            type: "PfLoadCore",
            payload: {
              pfData: m.pfData
            }
          }, "*") : this.contentWindow.parent.postMessage({
            type: "PfExtensionCoreLoaded"
          }, "*");
        } catch (e) {}
      }; else {
        var n = '<!DOCTYPE html><html><head><base target="_parent"><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1"><script src="' + this.config.urls.js.jquery + '"><\/script>';
        m.onServer || (n += '<script src="' + this.config.urls.js.raven + '"><\/script>'), 
        n += '<script src="' + this.config.urls.js.core + '"><\/script><link media="screen" type="text/css" rel="stylesheet" href="' + this.config.urls.css.pfApp + '"></head><body class="cs-core-iframe" onload="core.init();"></body>', 
        this.loadHtmlInIframe(document, coreIframe, n);
      }
    },
    getAdSettingsFromPFServer: function() {
      var e = document.createElement("script");
      e.src = m.config.hosts.ds_cdn + "/api/v3/domain_settings/a?callback=pfMod.saveAdSettings&hostname=" + m.config.hosts.page + "&client_version=" + m.version, 
      document.getElementsByTagName("head")[0].appendChild(e);
    },
    saveAdSettings: function(t) {
      m.dsData = t, e.coreIframe && coreIframe.contentWindow && n({
        type: "PfConfigureAdSettings",
        payload: {
          dsData: t
        }
      });
    }
  }, h = {
    emailText: function() {
      var e = document.getElementsByClassName("pf-email");
      return e.length ? e[0].textContent : "";
    },
    csStyleSheetHrefs: function() {
      var e = [];
      for (i = 0; i < o.styleSheets.length; i++) e.push(o.styleSheets[i].href);
      return e;
    },
    metas: function() {
      var e = o.getElementsByTagName("meta"), t = [];
      for (i = 0; i < e.length; i++) t.push({
        name: e[i].getAttribute("name"),
        content: e[i].getAttribute("content"),
        property: e[i].getAttribute("property"),
        itemprop: e[i].getAttribute("itemprop")
      });
      return t;
    },
    screen: function() {
      return {
        x: void 0 !== e.top.screenX ? e.top.screenX : e.top.screenLeft,
        y: void 0 !== e.top.screenY ? e.top.screenY : e.top.screenTop,
        width: void 0 !== e.top.outerWidth ? e.top.outerWidth : e.top.document.documentElement.clientWidth,
        height: void 0 !== e.top.outerHeight ? e.top.outerHeight : e.top.document.documentElement.clientHeight - 22
      };
    },
    language: function() {
      var e = document.getElementsByTagName("html")[0].getAttribute("lang");
      if (!e) {
        var t = document.querySelector("meta[http-equiv=Content-Language]");
        t && (e = t.getAttribute("content"));
      }
      return e;
    },
    canvasDataUrls: function() {
      for (var e = [], t = o.getElementsByTagName("canvas"), n = 0; n < t.length; n++) try {
        var i = t[n], r = i.toDataURL("image/png");
        i.setAttribute("pf-dataurl-index", e.length), e.push(r);
      } catch (e) {}
      return e;
    },
    get: function() {
      m.config.extensionPath = e.extensionPath;
      var t = this.canvasDataUrls(), n = document.location;
      return page = {
        dir: o.body.getAttribute("dir") || o.querySelector("html").getAttribute("dir") || getComputedStyle(o.body).getPropertyValue("direction") || "ltr",
        bodyClassList: [].slice.call(o.body.classList),
        emailText: this.emailText(),
        screen: this.screen(),
        metas: this.metas(),
        csStyleSheetHrefs: this.csStyleSheetHrefs(),
        location: {
          href: n.href,
          host: n.host,
          pathname: n.pathname,
          protocol: n.protocol
        },
        hasPrintOnly: 0 !== o.querySelectorAll("#print-only, .print-only").length,
        title: document.title,
        body: document.body.innerHTML,
        language: this.language(),
        canvasDataUrls: t
      }, {
        startTime: m.startTime,
        config: m.config,
        userSettings: m.userSettings,
        version: m.version,
        onServer: m.onServer,
        browser: m.browser,
        urlHasPII: m.urlHasPII,
        dsData: m.dsData,
        stats: m.stats,
        page: page
      };
    }
  }, u = {
    copyEmbeded: function() {
      var e, t, i;
      for (i = (e = o.querySelectorAll("twitterwidget.twitter-tweet-rendered")).length - 1; i >= 0; i--) n({
        type: "PfTwitterWidgetShadowDom",
        payload: {
          id: (t = e[i]).id,
          innerHTML: t.shadowRoot.innerHTML,
          cssText: t.style.cssText
        }
      });
      for (i = (e = o.querySelectorAll("iframe.twitter-tweet-rendered")).length - 1; i >= 0; i--) e = e[i], 
      n({
        type: "PfTwitterTweetRendered",
        payload: {
          id: t.id,
          head: t.contentDocument.head.innerHTML,
          body: t.contentDocument.body.innerHTML,
          cssText: t.style.cssText
        }
      });
    }
  }, g = {
    LARGE_IMAGE_WIDTH: 300,
    LARGE_IMAGE_HEIGHT: 200,
    run: function() {
      this.processChildren(document.body);
    },
    processChildren: function(t) {
      for (var n, i, o = t.firstChild; o; ) {
        if (!o.classList || !o.classList.contains("comment-list")) {
          if (o.nodeType === Node.ELEMENT_NODE) try {
            n = o.nodeName.toLowerCase(), "none" !== (i = o.currentStyle || e.getComputedStyle(o)).display && "hidden" !== i.visibility || o.classList.add("hidden-originally"), 
            "a" === n ? (href = o.getAttribute("href") || "", "#" !== href.charAt(0) && (o.href = o.href)) : "img" !== n && "svg" !== n || (o.src = o.src, 
            pfMod.onServer || (o.getAttribute("width") || o.clientWidth || o.setAttribute("width", o.clientWidth), 
            o.getAttribute("height") || o.clientHeight || o.setAttribute("height", o.clientHeight)), 
            "img" === n && !o.classList.contains("hidden-originally") && o.clientWidth > this.LARGE_IMAGE_WIDTH && o.clientHeight > this.LARGE_IMAGE_HEIGHT && o.classList.add("pf-large-image"));
          } catch (e) {}
          o.hasChildNodes() && this.processChildren(o);
        }
        o = o.nextSibling;
      }
    }
  }, y = {
    _window: e.top,
    _doc: e.top.document,
    installInitiated: !1,
    validFile: /d3nekkt1lmmhms|printfriendly\.com|printnicer\.com|algo\.js|printfriendly\.js|core\.js/,
    setVars: function() {
      this._window.frames["pf-core"] && this._window.frames["pf-core"].document && (this._window = this._window.frames["pf-core"], 
      this._doc = this._window.document);
    },
    install: function() {
      if (this.installInitiated) return !0;
      this.installInitiated = !0, this.setVars();
      var e = this._doc.createElement("script"), t = this._doc.getElementsByTagName("script")[0];
      e.src = this.config.urls.js.raven, t.parentNode.appendChild(e), this.wait();
    },
    wait: function() {
      if (!this._window.Raven) return setTimeout(function() {
        y.wait();
      }, 100);
      this.configure(), this.pushExistingErrors();
    },
    configure: function() {
      var e = {
        dataCallback: function(e) {
          var t, n;
          try {
            (t = e.stacktrace.frames[0]).filename.match(y.validFile) && "onload" !== t.function || e.stacktrace.frames.shift();
          } catch (e) {}
          return e;
        },
        shouldSendCallback: function(e) {
          return !!(e && e.extra && e.extra.file);
        },
        release: m.version
      };
      this._window.Raven.config(m.config.hosts.ravenDsn, e).install();
    },
    sendError: function(e, t) {
      (t = void 0 !== t ? {
        file: t.file
      } : {
        file: "printfriendly.js"
      }).usingBM = m.config.usingBM, t.url = m.config.urls.page, "production" === m.config.environment && this._window.Raven.captureException(e, {
        extra: t
      });
    },
    pushExistingErrors: function() {
      for (var e = 0; e < m.errors.length; e++) this.sendError(m.errors[e].err, m.errors[e].opts);
    },
    log: function(e, t) {
      "development" === m.config.environment && console.error(e), m.finished = !0, t = t || {
        file: "printfriendly.js"
      };
      try {
        this._window.Raven ? this.sendError(e, t) : (m.errors.push({
          err: e,
          opts: t
        }), this.install(), m.messages.push(e.name + " : " + e.message), m.messages.push(e.stack));
      } catch (e) {}
    }
  };
  return m.exTracker = y, m;
}(window), priFri = pfMod;

pfMod.initialized && (document.getElementById("printfriendly-data") || window.extensionPath) ? pfMod.start() : "algo" === window.name || "pf-core" === window.name || pfMod.initialized || pfMod.init(window.pfOptions);