459 lines
18 KiB
JavaScript
459 lines
18 KiB
JavaScript
! function() {
|
|
"use strict";
|
|
|
|
function t() {
|
|
return "cf-marker-" + Math.random().toString().slice(2)
|
|
}
|
|
|
|
function e() {
|
|
for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
|
|
(n = console.warn || console.log).call.apply(n, [console, "[ROCKET LOADER] "].concat(t));
|
|
var n
|
|
}
|
|
|
|
function n(t, e) {
|
|
var n = e.parentNode;
|
|
n && f(t, n, e)
|
|
}
|
|
|
|
function r(t, e) {
|
|
f(t, e, e.childNodes[0])
|
|
}
|
|
|
|
function o(t) {
|
|
var e = t.parentNode;
|
|
e && e.removeChild(t)
|
|
}
|
|
|
|
function i(t) {
|
|
var e = t.namespaceURI === P ? "xlink:href" : "src";
|
|
return t.getAttribute(e)
|
|
}
|
|
|
|
function a(t) {
|
|
return !(t.type && !E[t.type.trim()]) && ((!A || !t.hasAttribute("nomodule")) && !(!A && "module" === t.type))
|
|
}
|
|
|
|
function c(t, e) {
|
|
return function(n) {
|
|
if (e(), t) return t.call(this, n)
|
|
}
|
|
}
|
|
|
|
function s(t, e) {
|
|
t.onload = c(t.onload, e), t.onerror = c(t.onerror, e)
|
|
}
|
|
|
|
function u(t) {
|
|
var e = document.createElementNS(t.namespaceURI, "script");
|
|
e.async = t.hasAttribute("async"), e.textContent = t.textContent;
|
|
for (var n = 0; n < t.attributes.length; n++) {
|
|
var r = t.attributes[n];
|
|
try {
|
|
r.namespaceURI ? e.setAttributeNS(r.namespaceURI, r.name, r.value) : e.setAttribute(r.name, r.value)
|
|
} catch (o) {}
|
|
}
|
|
return e
|
|
}
|
|
|
|
function p(t, e) {
|
|
var n = new k(e);
|
|
t.dispatchEvent(n)
|
|
}
|
|
|
|
function l(e) {
|
|
var n = e.namespaceURI === P,
|
|
r = t();
|
|
e.setAttribute(r, "");
|
|
var i = n ? "<svg>" + e.outerHTML + "</svg>" : e.outerHTML;
|
|
I.call(document, i);
|
|
var a = document.querySelector("[" + r + "]");
|
|
if (a) {
|
|
a.removeAttribute(r);
|
|
var c = n && a.parentNode;
|
|
c && o(c)
|
|
}
|
|
return a
|
|
}
|
|
|
|
function d(t) {
|
|
if (t && "handleEvent" in t) {
|
|
var e = t.handleEvent;
|
|
return "function" == typeof e ? e.bind(t) : e
|
|
}
|
|
return t
|
|
}
|
|
|
|
function f(t, e, n) {
|
|
var r = n ? function(t) {
|
|
return e.insertBefore(t, n)
|
|
} : function(t) {
|
|
return e.appendChild(t)
|
|
};
|
|
Array.prototype.slice.call(t).forEach(r)
|
|
}
|
|
|
|
function h() {
|
|
return /chrome/i.test(navigator.userAgent) && /google/i.test(navigator.vendor)
|
|
}
|
|
|
|
function v(t, e) {
|
|
function n() {
|
|
this.constructor = t
|
|
}
|
|
_(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
|
|
}
|
|
|
|
function y(t) {
|
|
return t instanceof Window ? ["load"] : t instanceof Document ? ["DOMContentLoaded", "readystatechange"] : []
|
|
}
|
|
|
|
function m(t) {
|
|
var e = t.getAttribute(W);
|
|
if (!e) return null;
|
|
var n = e.split(R);
|
|
return {
|
|
nonce: n[0],
|
|
handlerPrefixLength: +n[1],
|
|
bailout: !t.hasAttribute("defer")
|
|
}
|
|
}
|
|
|
|
function b(t) {
|
|
var e = T + t.nonce;
|
|
Array.prototype.forEach.call(document.querySelectorAll("[" + e + "]"), function(n) {
|
|
n.removeAttribute(e), Array.prototype.forEach.call(n.attributes, function(e) {
|
|
/^on/.test(e.name) && "function" != typeof n[e.name] && n.setAttribute(e.name, e.value.substring(t.handlerPrefixLength))
|
|
})
|
|
})
|
|
}
|
|
|
|
function g() {
|
|
var t = window;
|
|
"undefined" != typeof Promise && (t.__cfQR = {
|
|
done: new Promise(function(t) {
|
|
return B = t
|
|
})
|
|
})
|
|
}
|
|
|
|
function S(t) {
|
|
var e = new D(t),
|
|
n = new O(e);
|
|
e.harvestScriptsInDocument(), new M(e, {
|
|
blocking: !0,
|
|
docWriteSimulator: n,
|
|
callback: function() {}
|
|
}).run()
|
|
}
|
|
|
|
function w(t) {
|
|
var e = new D(t),
|
|
n = new O(e);
|
|
e.harvestScriptsInDocument();
|
|
var r = new M(e, {
|
|
blocking: !1,
|
|
docWriteSimulator: n,
|
|
callback: function() {
|
|
window.__cfRLUnblockHandlers = !0, r.removePreloadHints(), x(t)
|
|
}
|
|
});
|
|
r.insertPreloadHints(), j.runOnLoad(function() {
|
|
r.run()
|
|
})
|
|
}
|
|
|
|
function x(t) {
|
|
var e = new N(t);
|
|
j.simulateStateBeforeDeferScriptsActivation(), e.harvestDeferScriptsInDocument(), new M(e, {
|
|
blocking: !1,
|
|
callback: function() {
|
|
j.simulateStateAfterDeferScriptsActivation(), B && B()
|
|
}
|
|
}).run()
|
|
}
|
|
var P = "http://www.w3.org/2000/svg",
|
|
E = {
|
|
"application/ecmascript": !0,
|
|
"application/javascript": !0,
|
|
"application/x-ecmascript": !0,
|
|
"application/x-javascript": !0,
|
|
"text/ecmascript": !0,
|
|
"text/javascript": !0,
|
|
"text/javascript1.0": !0,
|
|
"text/javascript1.1": !0,
|
|
"text/javascript1.2": !0,
|
|
"text/javascript1.3": !0,
|
|
"text/javascript1.4": !0,
|
|
"text/javascript1.5": !0,
|
|
"text/jscript": !0,
|
|
"text/livescript": !0,
|
|
"text/x-ecmascript": !0,
|
|
"text/x-javascript": !0,
|
|
module: !0
|
|
},
|
|
A = void 0 !== document.createElement("script").noModule,
|
|
k = function() {
|
|
var t = window;
|
|
return t.__rocketLoaderEventCtor || Object.defineProperty(t, "__rocketLoaderEventCtor", {
|
|
value: Event
|
|
}), t.__rocketLoaderEventCtor
|
|
}(),
|
|
I = document.write,
|
|
L = document.writeln,
|
|
_ = Object.setPrototypeOf || {
|
|
__proto__: []
|
|
}
|
|
instanceof Array && function(t, e) {
|
|
t.__proto__ = e
|
|
} || function(t, e) {
|
|
for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
|
|
}, H = function() {
|
|
function t(t) {
|
|
this.nonce = t, this.items = []
|
|
}
|
|
return Object.defineProperty(t.prototype, "hasItems", {
|
|
get: function() {
|
|
return this.items.length > 0
|
|
},
|
|
enumerable: !0,
|
|
configurable: !0
|
|
}), t.prototype.pop = function() {
|
|
return this.items.pop()
|
|
}, t.prototype.forEach = function(t) {
|
|
this.items.forEach(function(e) {
|
|
var n = e.script;
|
|
return t(n)
|
|
})
|
|
}, t.prototype.harvestScripts = function(t, e) {
|
|
var n = this,
|
|
r = e.filter,
|
|
o = e.mutate;
|
|
Array.prototype.slice.call(t.querySelectorAll("script")).filter(r).reverse().forEach(function(t) {
|
|
o(t), n.pushScriptOnStack(t)
|
|
})
|
|
}, t.prototype.pushScriptOnStack = function(t) {
|
|
var e = t.parentNode,
|
|
n = this.createPlaceholder(t),
|
|
r = !!i(t);
|
|
e.replaceChild(n, t), this.items.push({
|
|
script: t,
|
|
placeholder: n,
|
|
external: r,
|
|
async: r && t.hasAttribute("async"),
|
|
executable: a(t)
|
|
})
|
|
}, t.prototype.hasNonce = function(t) {
|
|
return 0 === t.type.indexOf(this.nonce)
|
|
}, t.prototype.removeNonce = function(t) {
|
|
t.type = t.type.substr(this.nonce.length)
|
|
}, t.prototype.makeNonExecutable = function(t) {
|
|
t.type = this.nonce + t.type
|
|
}, t.prototype.isPendingDeferScript = function(t) {
|
|
return t.hasAttribute("defer") || t.type === this.nonce + "module" && !t.hasAttribute("async")
|
|
}, t
|
|
}(), D = function(t) {
|
|
function e() {
|
|
return null !== t && t.apply(this, arguments) || this
|
|
}
|
|
return v(e, t), e.prototype.harvestScriptsInDocument = function() {
|
|
var t = this;
|
|
this.harvestScripts(document, {
|
|
filter: function(e) {
|
|
return t.hasNonce(e)
|
|
},
|
|
mutate: function(e) {
|
|
t.isPendingDeferScript(e) || t.removeNonce(e)
|
|
}
|
|
})
|
|
}, e.prototype.harvestScriptsAfterDocWrite = function(t) {
|
|
var e = this;
|
|
this.harvestScripts(t, {
|
|
filter: a,
|
|
mutate: function(t) {
|
|
e.isPendingDeferScript(t) && e.makeNonExecutable(t)
|
|
}
|
|
})
|
|
}, e.prototype.createPlaceholder = function(t) {
|
|
return document.createComment(t.outerHTML)
|
|
}, e
|
|
}(H), N = function(t) {
|
|
function e() {
|
|
return null !== t && t.apply(this, arguments) || this
|
|
}
|
|
return v(e, t), e.prototype.harvestDeferScriptsInDocument = function() {
|
|
var t = this;
|
|
this.harvestScripts(document, {
|
|
filter: function(e) {
|
|
return t.hasNonce(e) && t.isPendingDeferScript(e)
|
|
},
|
|
mutate: function(e) {
|
|
return t.removeNonce(e)
|
|
}
|
|
})
|
|
}, e.prototype.createPlaceholder = function(t) {
|
|
var e = u(t);
|
|
return this.makeNonExecutable(e), e
|
|
}, e
|
|
}(H), O = function() {
|
|
function t(t) {
|
|
this.scriptStack = t
|
|
}
|
|
return t.prototype.enable = function(t) {
|
|
var e = this;
|
|
this.insertionPointMarker = t, this.buffer = "", document.write = function() {
|
|
for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
|
|
return e.write(t, !1)
|
|
}, document.writeln = function() {
|
|
for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
|
|
return e.write(t, !0)
|
|
}
|
|
}, t.prototype.flushWrittenContentAndDisable = function() {
|
|
document.write = I, document.writeln = L, this.buffer.length && (document.contains(this.insertionPointMarker) ? this.insertionPointMarker.parentNode === document.head ? this.insertContentInHead() : this.insertContentInBody() : e("Insertion point marker for document.write was detached from document:", "Markup will not be inserted"))
|
|
}, t.prototype.insertContentInHead = function() {
|
|
var t = new DOMParser,
|
|
e = "<!DOCTYPE html><head>" + this.buffer + "</head>",
|
|
o = t.parseFromString(e, "text/html");
|
|
if (this.scriptStack.harvestScriptsAfterDocWrite(o), n(o.head.childNodes, this.insertionPointMarker), o.body.childNodes.length) {
|
|
for (var i = Array.prototype.slice.call(o.body.childNodes), a = this.insertionPointMarker.nextSibling; a;) i.push(a), a = a.nextSibling;
|
|
document.body || I.call(document, "<body>"), r(i, document.body)
|
|
}
|
|
}, t.prototype.insertContentInBody = function() {
|
|
var t = this.insertionPointMarker.parentElement,
|
|
e = document.createElement(t.tagName);
|
|
e.innerHTML = this.buffer, this.scriptStack.harvestScriptsAfterDocWrite(e), n(e.childNodes, this.insertionPointMarker)
|
|
}, t.prototype.write = function(t, e) {
|
|
var n = document.currentScript;
|
|
n && i(n) && n.hasAttribute("async") ? (r = e ? L : I).call.apply(r, [document].concat(t)) : this.buffer += t.map(String).join(e ? "\n" : "");
|
|
var r
|
|
}, t
|
|
}(), C = function() {
|
|
function t() {
|
|
var t = this;
|
|
this.simulatedReadyState = "loading", this.bypassEventsInProxies = !1, this.nativeWindowAddEventListener = window.addEventListener;
|
|
try {
|
|
Object.defineProperty(document, "readyState", {
|
|
get: function() {
|
|
return t.simulatedReadyState
|
|
}
|
|
})
|
|
} catch (e) {}
|
|
this.setupEventListenerProxy(), this.updateInlineHandlers()
|
|
}
|
|
return t.prototype.runOnLoad = function(t) {
|
|
var e = this;
|
|
this.nativeWindowAddEventListener.call(window, "load", function(n) {
|
|
if (!e.bypassEventsInProxies) return t(n)
|
|
})
|
|
}, t.prototype.updateInlineHandlers = function() {
|
|
this.proxyInlineHandler(document, "onreadystatechange"), this.proxyInlineHandler(window, "onload"), document.body && this.proxyInlineHandler(document.body, "onload")
|
|
}, t.prototype.simulateStateBeforeDeferScriptsActivation = function() {
|
|
this.bypassEventsInProxies = !0, this.simulatedReadyState = "interactive", p(document, "readystatechange"), this.bypassEventsInProxies = !1
|
|
}, t.prototype.simulateStateAfterDeferScriptsActivation = function() {
|
|
var t = this;
|
|
this.bypassEventsInProxies = !0, p(document, "DOMContentLoaded"), this.simulatedReadyState = "complete", p(document, "readystatechange"), p(window, "load"), this.bypassEventsInProxies = !1, window.setTimeout(function() {
|
|
return t.bypassEventsInProxies = !0
|
|
}, 0)
|
|
}, t.prototype.setupEventListenerProxy = function() {
|
|
var t = this;
|
|
("undefined" != typeof EventTarget ? [EventTarget.prototype] : [Node.prototype, Window.prototype]).forEach(function(e) {
|
|
return t.patchEventTargetMethods(e)
|
|
})
|
|
}, t.prototype.patchEventTargetMethods = function(t) {
|
|
var e = this,
|
|
n = t.addEventListener,
|
|
r = t.removeEventListener;
|
|
t.addEventListener = function(t, r) {
|
|
for (var o = [], i = 2; i < arguments.length; i++) o[i - 2] = arguments[i];
|
|
var a = y(this),
|
|
c = r && r.__rocketLoaderProxiedHandler;
|
|
if (!c) {
|
|
var s = d(r);
|
|
"function" == typeof s ? (c = function(n) {
|
|
if (e.bypassEventsInProxies || a.indexOf(t) < 0) return s.call(this, n)
|
|
}, Object.defineProperty(r, "__rocketLoaderProxiedHandler", {
|
|
value: c
|
|
})) : c = r
|
|
}
|
|
n.call.apply(n, [this, t, c].concat(o))
|
|
}, t.removeEventListener = function(t, e) {
|
|
for (var n = [], o = 2; o < arguments.length; o++) n[o - 2] = arguments[o];
|
|
var i = e && e.__rocketLoaderProxiedHandler || e;
|
|
r.call.apply(r, [this, t, i].concat(n))
|
|
}
|
|
}, t.prototype.proxyInlineHandler = function(t, e) {
|
|
try {
|
|
var n = t[e];
|
|
if (n && !n.__rocketLoaderInlineHandlerProxy) {
|
|
var r = this;
|
|
t[e] = function(t) {
|
|
if (r.bypassEventsInProxies) return n.call(this, t)
|
|
}, Object.defineProperty(t[e], "__rocketLoaderInlineHandlerProxy", {
|
|
value: !0
|
|
})
|
|
}
|
|
} catch (o) {
|
|
return void console.warn("encountered an error when accessing " + e + " handler:", o.message)
|
|
}
|
|
}, t
|
|
}(), j = function() {
|
|
var t = window;
|
|
return t.__rocketLoaderLoadProgressSimulator || Object.defineProperty(t, "__rocketLoaderLoadProgressSimulator", {
|
|
value: new C
|
|
}), t.__rocketLoaderLoadProgressSimulator
|
|
}(), M = function() {
|
|
function t(t, e) {
|
|
this.scriptStack = t, this.settings = e, this.preloadHints = []
|
|
}
|
|
return t.prototype.insertPreloadHints = function() {
|
|
var t = this;
|
|
this.scriptStack.forEach(function(e) {
|
|
var n = i(e),
|
|
r = h() && e.hasAttribute("integrity");
|
|
if (n && !r) {
|
|
var o = document.createElement("link");
|
|
o.setAttribute("rel", "preload"), o.setAttribute("as", "script"), o.setAttribute("href", n), e.crossOrigin && o.setAttribute("crossorigin", e.crossOrigin), document.head.appendChild(o), t.preloadHints.push(o)
|
|
}
|
|
})
|
|
}, t.prototype.removePreloadHints = function() {
|
|
this.preloadHints.forEach(function(t) {
|
|
return o(t)
|
|
})
|
|
}, t.prototype.run = function() {
|
|
for (var t = this, e = this; this.scriptStack.hasItems;) {
|
|
var n = function() {
|
|
var n = e.settings.docWriteSimulator,
|
|
r = e.scriptStack.pop();
|
|
n && !r.async && n.enable(r.placeholder);
|
|
var o = e.activateScript(r);
|
|
return o ? r.external && r.executable && !r.async ? (s(o, function() {
|
|
t.finalizeActivation(r), t.run()
|
|
}), {
|
|
value: void 0
|
|
}) : void e.finalizeActivation(r) : (n && n.flushWrittenContentAndDisable(), "continue")
|
|
}();
|
|
if ("object" == typeof n) return n.value
|
|
}
|
|
this.scriptStack.hasItems || this.settings.callback()
|
|
}, t.prototype.finalizeActivation = function(t) {
|
|
this.settings.docWriteSimulator && !t.async && this.settings.docWriteSimulator.flushWrittenContentAndDisable(), j.updateInlineHandlers(), o(t.placeholder)
|
|
}, t.prototype.activateScript = function(t) {
|
|
var n = t.script,
|
|
r = t.placeholder,
|
|
o = t.external,
|
|
i = t.async,
|
|
a = r.parentNode;
|
|
if (!document.contains(r)) return e("Placeholder for script \n" + n.outerHTML + "\n was detached from document.", "Script will not be executed."), null;
|
|
var c = this.settings.blocking && o && !i ? l(n) : u(n);
|
|
return c ? (a.insertBefore(c, r), c) : (e("Failed to create activatable copy of script \n" + n.outerHTML + "\n", "Script will not be executed."), null)
|
|
}, t
|
|
}(), W = "data-cf-settings", R = "|", T = "data-cf-modified-", B = void 0;
|
|
! function() {
|
|
var t = document.currentScript;
|
|
if (t) {
|
|
var n = m(t);
|
|
n ? (o(t), b(n), j.updateInlineHandlers(), n.bailout ? S(n.nonce) : (g(), w(n.nonce))) : e("Activator script doesn't have settings. No scripts will be executed.")
|
|
} else e("Can't obtain activator script. No scripts will be executed.")
|
|
}()
|
|
}();
|