Last active
August 29, 2015 14:22
-
-
Save natedsaint/906011963b54b6adeba6 to your computer and use it in GitHub Desktop.
Unminifed javascript from fallout4 preview page
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require = function a(b, c, d) { | |
function e(g, h) { | |
if (!c[g]) { | |
if (!b[g]) { | |
var i = "function" == typeof require && require; | |
if (!h && i) return i(g, !0); | |
if (f) return f(g, !0); | |
var j = new Error("Cannot find module '" + g + "'"); | |
throw j.code = "MODULE_NOT_FOUND", j | |
} | |
var k = c[g] = { | |
exports: {} | |
}; | |
b[g][0].call(k.exports, function(a) { | |
var c = b[g][1][a]; | |
return e(c ? c : a) | |
}, k, k.exports, a, b, c, d) | |
} | |
return c[g].exports | |
} | |
for (var f = "function" == typeof require && require, g = 0; g < d.length; g++) e(d[g]); | |
return e | |
}({ | |
"./workspace/pages/countdown/countdown-page.js": [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("page"), | |
e = a("./countdown-clock"), | |
f = a("scroll"), | |
g = a("glitch"), | |
h = a("underscore"), | |
i = a("jquery"), | |
j = a("./../../../app-config"), | |
k = a("promise"), | |
l = d.extend({ | |
mid: "countdown", | |
onLoad: function(a) { | |
return this.pageEl = a.el, this.data = a.data || {}, this.countdownData = this.data.modules.countdown.data, this.body = document.body, this.continueToLink = this.pageEl.getElementsByClassName("countdown-continue-link")[0], this.finePrintLink = this.pageEl.getElementsByClassName("countdown-fine-print-text")[0], this.finePrintContent = this.pageEl.getElementsByClassName("countdown-fine-print-content")[0], this.subModules.clock = new e({ | |
el: this.pageEl, | |
launchTime: a.data.meta["countdown-end-time"], | |
onEnd: this.onCountdownEnd.bind(this) | |
}), this.setupContinueTo(), this.subModules.clock.start(), this.setupScroll(), this.finePrintLink.kit.addEventListener("click", "onFinePrintClick", this), this.continueToLink.kit.addEventListener("click", "onContinueToLinkClick", this), this.subModules.glitch = new g({ | |
el: this.pageEl | |
}), this.subModules.glitch.load() | |
}, | |
onCountdownEnd: function() { | |
this.subModules.glitch.flicker(), h.delay(function() { | |
this.pageEl.classList.add("end-countdown") | |
}.bind(this), 500), sessionStorage.removeItem("continueToUrl"), this.beginPolling() | |
}, | |
beginPolling: function() { | |
var a = function() { | |
this._pollRevealData().then(function() { | |
window.clearInterval(this.intervalId), document.location.reload(!0) | |
}.bind(this)) | |
}.bind(this); | |
this.intervalId = window.setInterval(a, 6e4) | |
}, | |
_pollRevealData: function() { | |
return new k(function(a, b) { | |
i.ajax(j.baseApiPath + "/pages/countdown-reveal").done(function(c) { | |
c !== this.data ? a(c) : b() | |
}.bind(this)).fail(b) | |
}.bind(this)) | |
}, | |
setupContinueTo: function() { | |
var a = ["www.bethblog.com", "www.elderscrolls.com", "www.zenimax.com", "bethsoft.com", "bgs.bethsoft.com", "stage.bgs.bethsoft.com", "stage.zenimax.com", "stage.elderscrolls.com", "stage.bethblog.com", "stage.bethsoft.com"]; | |
this.continueToLink.href = sessionStorage.getItem("continueToUrl"), h.contains(a, this.continueToLink.host) ? (this.continueToLink.classList.add("countdown-continue-link-active"), this.continueToLink.innerHTML = this.countdownData["continue-text"] + " " + this.continueToLink.host) : this.continueToLink.href = "" | |
}, | |
onContinueToLinkClick: function() { | |
sessionStorage.removeItem("continueToUrl") | |
}, | |
onFinePrintClick: function() { | |
this.subModules.scroll.toElement(this.finePrintContent) | |
}, | |
setupScroll: function() { | |
return this.subModules.scroll || (this.subModules.scroll = new f({ | |
el: this.body | |
})), this.subModules.scroll | |
}, | |
destroy: function() { | |
this.continueToLink.kit.removeEventListener("click", "onContinueToLinkClick", this), d.prototype.call.destroy(this) | |
} | |
}); | |
b.exports = l | |
}, { | |
"./../../../app-config": 1, | |
"./countdown-clock": 84, | |
glitch: 80, | |
jquery: 53, | |
page: 83, | |
promise: 57, | |
scroll: 4, | |
underscore: 73 | |
} | |
], | |
1: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = "./workspace"; | |
b.exports = { | |
baseApiPath: "/api/v1", | |
workspacePath: d, | |
deployPath: "./public", | |
environments: { | |
full: { | |
configPath: d + "/pages/config", | |
dataMode: "full" | |
}, | |
countdown: { | |
configPath: d + "/pages/countdown/countdown-config", | |
dataMode: "countdown" | |
}, | |
"countdown-reveal": { | |
configPath: d + "/pages/countdown/countdown-reveal-config", | |
dataMode: "countdown" | |
}, | |
announcement: { | |
configPath: d + "/pages/announcement/announcement-config", | |
dataMode: "announcement" | |
} | |
} | |
} | |
}, {} | |
], | |
2: [ | |
function(a, b, c) { | |
! function() { | |
"use strict"; | |
function a(b, c) { | |
function e(a, b) { | |
return function() { | |
return a.apply(b, arguments) | |
} | |
} | |
var f; | |
if (c = c || {}, this.trackingClick = !1, this.trackingClickStart = 0, this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, this.touchBoundary = c.touchBoundary || 10, this.layer = b, this.tapDelay = c.tapDelay || 200, this.tapTimeout = c.tapTimeout || 700, !a.notNeeded(b)) { | |
for (var g = ["onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel"], h = this, i = 0, j = g.length; j > i; i++) h[g[i]] = e(h[g[i]], h); | |
d && (b.addEventListener("mouseover", this.onMouse, !0), b.addEventListener("mousedown", this.onMouse, !0), b.addEventListener("mouseup", this.onMouse, !0)), b.addEventListener("click", this.onClick, !0), b.addEventListener("touchstart", this.onTouchStart, !1), b.addEventListener("touchmove", this.onTouchMove, !1), b.addEventListener("touchend", this.onTouchEnd, !1), b.addEventListener("touchcancel", this.onTouchCancel, !1), Event.prototype.stopImmediatePropagation || (b.removeEventListener = function(a, c, d) { | |
var e = Node.prototype.removeEventListener; | |
"click" === a ? e.call(b, a, c.hijacked || c, d) : e.call(b, a, c, d) | |
}, b.addEventListener = function(a, c, d) { | |
var e = Node.prototype.addEventListener; | |
"click" === a ? e.call(b, a, c.hijacked || (c.hijacked = function(a) { | |
a.propagationStopped || c(a) | |
}), d) : e.call(b, a, c, d) | |
}), "function" == typeof b.onclick && (f = b.onclick, b.addEventListener("click", function(a) { | |
f(a) | |
}, !1), b.onclick = null) | |
} | |
} | |
var c = navigator.userAgent.indexOf("Windows Phone") >= 0, | |
d = navigator.userAgent.indexOf("Android") > 0 && !c, | |
e = /iP(ad|hone|od)/.test(navigator.userAgent) && !c, | |
f = e && /OS 4_\d(_\d)?/.test(navigator.userAgent), | |
g = e && /OS [6-7]_\d/.test(navigator.userAgent), | |
h = navigator.userAgent.indexOf("BB10") > 0; | |
a.prototype.needsClick = function(a) { | |
switch (a.nodeName.toLowerCase()) { | |
case "button": | |
case "select": | |
case "textarea": | |
if (a.disabled) return !0; | |
break; | |
case "input": | |
if (e && "file" === a.type || a.disabled) return !0; | |
break; | |
case "label": | |
case "iframe": | |
case "video": | |
return !0 | |
} | |
return /\bneedsclick\b/.test(a.className) | |
}, a.prototype.needsFocus = function(a) { | |
switch (a.nodeName.toLowerCase()) { | |
case "textarea": | |
return !0; | |
case "select": | |
return !d; | |
case "input": | |
switch (a.type) { | |
case "button": | |
case "checkbox": | |
case "file": | |
case "image": | |
case "radio": | |
case "submit": | |
return !1 | |
} | |
return !a.disabled && !a.readOnly; | |
default: | |
return /\bneedsfocus\b/.test(a.className) | |
} | |
}, a.prototype.sendClick = function(a, b) { | |
var c, d; | |
document.activeElement && document.activeElement !== a && document.activeElement.blur(), d = b.changedTouches[0], c = document.createEvent("MouseEvents"), c.initMouseEvent(this.determineEventType(a), !0, !0, window, 1, d.screenX, d.screenY, d.clientX, d.clientY, !1, !1, !1, !1, 0, null), c.forwardedTouchEvent = !0, a.dispatchEvent(c) | |
}, a.prototype.determineEventType = function(a) { | |
return d && "select" === a.tagName.toLowerCase() ? "mousedown" : "click" | |
}, a.prototype.focus = function(a) { | |
var b; | |
e && a.setSelectionRange && 0 !== a.type.indexOf("date") && "time" !== a.type && "month" !== a.type ? (b = a.value.length, a.setSelectionRange(b, b)) : a.focus() | |
}, a.prototype.updateScrollParent = function(a) { | |
var b, c; | |
if (b = a.fastClickScrollParent, !b || !b.contains(a)) { | |
c = a; | |
do { | |
if (c.scrollHeight > c.offsetHeight) { | |
b = c, a.fastClickScrollParent = c; | |
break | |
} | |
c = c.parentElement | |
} while (c) | |
} | |
b && (b.fastClickLastScrollTop = b.scrollTop) | |
}, a.prototype.getTargetElementFromEventTarget = function(a) { | |
return a.nodeType === Node.TEXT_NODE ? a.parentNode : a | |
}, a.prototype.onTouchStart = function(a) { | |
var b, c, d; | |
if (a.targetTouches.length > 1) return !0; | |
if (b = this.getTargetElementFromEventTarget(a.target), c = a.targetTouches[0], e) { | |
if (d = window.getSelection(), d.rangeCount && !d.isCollapsed) return !0; | |
if (!f) { | |
if (c.identifier && c.identifier === this.lastTouchIdentifier) return a.preventDefault(), !1; | |
this.lastTouchIdentifier = c.identifier, this.updateScrollParent(b) | |
} | |
} | |
return this.trackingClick = !0, this.trackingClickStart = a.timeStamp, this.targetElement = b, this.touchStartX = c.pageX, this.touchStartY = c.pageY, a.timeStamp - this.lastClickTime < this.tapDelay && a.preventDefault(), !0 | |
}, a.prototype.touchHasMoved = function(a) { | |
var b = a.changedTouches[0], | |
c = this.touchBoundary; | |
return Math.abs(b.pageX - this.touchStartX) > c || Math.abs(b.pageY - this.touchStartY) > c ? !0 : !1 | |
}, a.prototype.onTouchMove = function(a) { | |
return this.trackingClick ? ((this.targetElement !== this.getTargetElementFromEventTarget(a.target) || this.touchHasMoved(a)) && (this.trackingClick = !1, this.targetElement = null), !0) : !0 | |
}, a.prototype.findControl = function(a) { | |
return void 0 !== a.control ? a.control : a.htmlFor ? document.getElementById(a.htmlFor) : a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea") | |
}, a.prototype.onTouchEnd = function(a) { | |
var b, c, h, i, j, k = this.targetElement; | |
if (!this.trackingClick) return !0; | |
if (a.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0, !0; | |
if (a.timeStamp - this.trackingClickStart > this.tapTimeout) return !0; | |
if (this.cancelNextClick = !1, this.lastClickTime = a.timeStamp, c = this.trackingClickStart, this.trackingClick = !1, this.trackingClickStart = 0, g && (j = a.changedTouches[0], k = document.elementFromPoint(j.pageX - window.pageXOffset, j.pageY - window.pageYOffset) || k, k.fastClickScrollParent = this.targetElement.fastClickScrollParent), h = k.tagName.toLowerCase(), "label" === h) { | |
if (b = this.findControl(k)) { | |
if (this.focus(k), d) return !1; | |
k = b | |
} | |
} else if (this.needsFocus(k)) return a.timeStamp - c > 100 || e && window.top !== window && "input" === h ? (this.targetElement = null, !1) : (this.focus(k), this.sendClick(k, a), e && "select" === h || (this.targetElement = null, a.preventDefault()), !1); | |
return e && !f && (i = k.fastClickScrollParent, i && i.fastClickLastScrollTop !== i.scrollTop) ? !0 : (this.needsClick(k) || (a.preventDefault(), this.sendClick(k, a)), !1) | |
}, a.prototype.onTouchCancel = function() { | |
this.trackingClick = !1, this.targetElement = null | |
}, a.prototype.onMouse = function(a) { | |
return this.targetElement ? a.forwardedTouchEvent ? !0 : a.cancelable && (!this.needsClick(this.targetElement) || this.cancelNextClick) ? (a.stopImmediatePropagation ? a.stopImmediatePropagation() : a.propagationStopped = !0, a.stopPropagation(), a.preventDefault(), !1) : !0 : !0 | |
}, a.prototype.onClick = function(a) { | |
var b; | |
return this.trackingClick ? (this.targetElement = null, this.trackingClick = !1, !0) : "submit" === a.target.type && 0 === a.detail ? !0 : (b = this.onMouse(a), b || (this.targetElement = null), b) | |
}, a.prototype.destroy = function() { | |
var a = this.layer; | |
d && (a.removeEventListener("mouseover", this.onMouse, !0), a.removeEventListener("mousedown", this.onMouse, !0), a.removeEventListener("mouseup", this.onMouse, !0)), a.removeEventListener("click", this.onClick, !0), a.removeEventListener("touchstart", this.onTouchStart, !1), a.removeEventListener("touchmove", this.onTouchMove, !1), a.removeEventListener("touchend", this.onTouchEnd, !1), a.removeEventListener("touchcancel", this.onTouchCancel, !1) | |
}, a.notNeeded = function(a) { | |
var b, c, e, f; | |
if ("undefined" == typeof window.ontouchstart) return !0; | |
if (c = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1]) { | |
if (!d) return !0; | |
if (b = document.querySelector("meta[name=viewport]")) { | |
if (-1 !== b.content.indexOf("user-scalable=no")) return !0; | |
if (c > 31 && document.documentElement.scrollWidth <= window.outerWidth) return !0 | |
} | |
} | |
if (h && (e = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/), e[1] >= 10 && e[2] >= 3 && (b = document.querySelector("meta[name=viewport]")))) { | |
if (-1 !== b.content.indexOf("user-scalable=no")) return !0; | |
if (document.documentElement.scrollWidth <= window.outerWidth) return !0 | |
} | |
return "none" === a.style.msTouchAction || "manipulation" === a.style.touchAction ? !0 : (f = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1], f >= 27 && (b = document.querySelector("meta[name=viewport]"), b && (-1 !== b.content.indexOf("user-scalable=no") || document.documentElement.scrollWidth <= window.outerWidth)) ? !0 : "none" === a.style.touchAction || "manipulation" === a.style.touchAction ? !0 : !1) | |
}, a.attach = function(b, c) { | |
return new a(b, c) | |
}, "function" == typeof define && "object" == typeof define.amd && define.amd ? define(function() { | |
return a | |
}) : "undefined" != typeof b && b.exports ? (b.exports = a.attach, b.exports.FastClick = a) : window.FastClick = a | |
}() | |
}, {} | |
], | |
3: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("underscore"), | |
e = a("./utils/request-anim-polyfill"), | |
f = function(a) { | |
this.initialize(a) | |
}; | |
f.prototype = { | |
initialize: function(a) { | |
this.options = d.extend({ | |
el: null, | |
offsetTop: 0, | |
offsetRight: 0, | |
offsetLeft: 0, | |
offsetBottom: 0, | |
container: document | |
}, a), e(), this.bindEvents(), this._onScroll() | |
}, | |
bindEvents: function() { | |
var a = this; | |
this._scrollEventListener = function(b) { | |
a._onScroll(b) | |
}, this.options.container.addEventListener("scroll", this._scrollEventListener, !1) | |
}, | |
unbindEvents: function() { | |
this.options.container.removeEventListener("scroll", this._scrollEventListener, !1) | |
}, | |
_onScroll: function() { | |
this._animationFrame = window.requestAnimationFrame(function() { | |
this.isElementInsideView() ? this._onElementInsideView() : this._onElementOutsideView() | |
}.bind(this)) | |
}, | |
getContainerScrollYPos: function() { | |
var a = this.options.container; | |
return a === document ? window.pageYOffset : a.scrollTop | |
}, | |
isElementInsideView: function() { | |
var a = this.getContainerScrollYPos(), | |
b = this.getElementMinYPos(), | |
c = this.getElementMaxYPos() + this.getViewportHeight(); | |
return a >= b && c >= a | |
}, | |
_onElementInsideView: function() { | |
this._showing || (this._showing = !0, this.options.onEnter && this.options.onEnter(this.options.el)) | |
}, | |
_onElementOutsideView: function() { | |
this._showing && (this._showing = !1, this.options.onExit && this.options.onExit(this.options.el)) | |
}, | |
getElementMinYPos: function() { | |
if (!this._elementMinYPos) { | |
var a = this.getElementYPos(); | |
this._elementMinYPos = a - this.getViewportHeight() - this.options.offsetTop | |
} | |
return this._elementMinYPos | |
}, | |
getElementYPos: function() { | |
var a = this.options.container, | |
b = a.scrollTop; | |
return a === document && (b = this.options.el.getBoundingClientRect().top + this.getContainerScrollYPos()), b | |
}, | |
getElementMaxYPos: function() { | |
if (!this._elementMaxYPos) { | |
var a = this.options.el; | |
this._elementMaxYPos = this.getElementMinYPos() + a.offsetHeight + this.options.offsetBottom | |
} | |
return this._elementMaxYPos | |
}, | |
getViewportHeight: function() { | |
if (!this._vpHeight) { | |
var a = this.options.container; | |
this._vpHeight = a === document ? window.innerHeight : a.offsetHeight | |
} | |
return this._vpHeight | |
}, | |
destroy: function() { | |
this.unbindEvents(), window.cancelAnimationFrame(this._animationFrame) | |
} | |
}, b.exports = f | |
}, { | |
"./utils/request-anim-polyfill": 5, | |
underscore: 73 | |
} | |
], | |
4: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = a("./utils/request-anim-polyfill"), | |
f = function(a) { | |
this.initialize(a) | |
}; | |
f.prototype = { | |
initialize: function(a) { | |
this.options = a, a.el || console.error("Scroll error: element passed to Scroll constructor is " + a.el + "! Bailing..."), this.setup() | |
}, | |
setup: function() { | |
e() | |
}, | |
to: function(a, b, c) { | |
var e = this.options.el, | |
f = e.scrollTop; | |
e.scrollLeft; | |
return c = c || {}, c.duration = c.duration || 400, new d(function(a) { | |
this._scroll(e, f, b, "scrollTop", Date.now(), c.duration, this._getEasing(c.easing), a) | |
}.bind(this)) | |
}, | |
getDocumentElement: function() { | |
return document | |
}, | |
toElement: function(a, b) { | |
var c, e = this.options.el, | |
f = 0, | |
g = a ? a.offsetTop : 0; | |
return e === document.body && (f = window.pageYOffset, g = a.getBoundingClientRect().top + f), a ? e.contains(a) ? this.to(0, g, b) : (c = "Scroll.toElement() was passed an element that does not exist inside the scroll container", console.warn(c), d.reject(new Error(c))) : (c = "The element passed to Scroll.toElement() was undefined", console.error(c), d.reject(new Error(c))) | |
}, | |
_scroll: function(a, b, c, d, e, f, g, h) { | |
requestAnimationFrame(function() { | |
var i = Date.now(), | |
j = Math.min(1, (i - e) / f); | |
return b === c ? h ? h() : null : (this._moveElement(d, g(j) * (c - b) + b), void(1 > j ? this._scroll(a, a[d], c, d, e, f, g, h) : h && h())) | |
}.bind(this)) | |
}, | |
_moveElement: function(a, b) { | |
var c = this.options.el; | |
c[a] = b, c === this.getDocumentElement().body && (this.getDocumentElement().documentElement[a] = b) | |
}, | |
_getEasing: function(a) { | |
var b = "linear", | |
c = this._easing[a || b]; | |
return c || (console.warn("Scroll error: scroller does not support an easing option of " + a + '. Using "' + b + '" instead'), c = this._easing[a]), c | |
}, | |
destroy: function() {}, | |
_easing: { | |
linear: function(a) { | |
return a | |
}, | |
easeInQuad: function(a) { | |
return a * a | |
}, | |
easeOutQuad: function(a) { | |
return a * (2 - a) | |
}, | |
easeInOutQuad: function(a) { | |
return .5 > a ? 2 * a * a : -1 + (4 - 2 * a) * a | |
}, | |
easeInCubic: function(a) { | |
return a * a * a | |
}, | |
easeOutCubic: function(a) { | |
return --a * a * a + 1 | |
}, | |
easeInOutCubic: function(a) { | |
return .5 > a ? 4 * a * a * a : (a - 1) * (2 * a - 2) * (2 * a - 2) + 1 | |
}, | |
easeInQuart: function(a) { | |
return a * a * a * a | |
}, | |
easeOutQuart: function(a) { | |
return 1 - --a * a * a * a | |
}, | |
easeInOutQuart: function(a) { | |
return .5 > a ? 8 * a * a * a * a : 1 - 8 * --a * a * a * a | |
}, | |
easeInQuint: function(a) { | |
return a * a * a * a * a | |
}, | |
easeOutQuint: function(a) { | |
return 1 + --a * a * a * a * a | |
}, | |
easeInOutQuint: function(a) { | |
return .5 > a ? 16 * a * a * a * a * a : 1 + 16 * --a * a * a * a * a | |
} | |
} | |
}, b.exports = f | |
}, { | |
"./utils/request-anim-polyfill": 5, | |
promise: 57 | |
} | |
], | |
5: [ | |
function(a, b, c) { | |
"use strict"; | |
b.exports = function() { | |
var a = 0, | |
b = 0, | |
c = ["ms", "moz", "webkit", "o"]; | |
for (0; a < c.length && !window.requestAnimationFrame; ++a) window.requestAnimationFrame = window[c[a] + "RequestAnimationFrame"], window.cancelAnimationFrame = window[c[a] + "CancelAnimationFrame"] || window[c[a] + "CancelRequestAnimationFrame"]; | |
window.requestAnimationFrame || (window.requestAnimationFrame = function(a, c) { | |
var d = (new Date).getTime(), | |
e = Math.max(0, 16 - (d - b)), | |
f = window.setTimeout(function() { | |
a(d + e) | |
}, e); | |
return b = d + e, f | |
}), window.cancelAnimationFrame || (window.cancelAnimationFrame = function(a) { | |
clearTimeout(a) | |
}) | |
} | |
}, {} | |
], | |
6: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = { | |
createTarget: function(a) { | |
this._targets = this._targets || []; | |
var b = this._getTargetMap(a); | |
b.target || (a.addEventListener = this._getEventMethod(a, "_addEvent").bind(this), a.removeEventListener = this._getEventMethod(a, "_removeEvent").bind(this), a.dispatchEvent = this._getEventMethod(a, "_dispatchEvent").bind(this), b.target = a, this._targets.push(b)) | |
}, | |
_getTargetMap: function(a) { | |
return this._targets.filter(function(b) { | |
return b.target === a | |
})[0] || {} | |
}, | |
_addEvent: function(a, b, c, d, e) { | |
"boolean" != typeof d && (e = d, d = null), d = d || !1; | |
var f = this.getNested(this._getTargetMap(a), b); | |
f || (f = this.setNested(this._getTargetMap(a), b, [])); | |
var g = { | |
listener: c, | |
context: e, | |
useCapture: d | |
}; - 1 === f.indexOf(g) && f.push(g) | |
}, | |
_getEventMethod: function(a, b) { | |
return function() { | |
var c = Array.prototype.slice.call(arguments, 0); | |
c.unshift(a), this[b].apply(this, c) | |
}.bind(this) | |
}, | |
_removeEvent: function(a, b, c) { | |
var d = this.getNested(this._getTargetMap(a), b, []); | |
d.forEach(function(a, b) { | |
a.listener === c && d.splice(b, 1) | |
}) | |
}, | |
_dispatchEvent: function(a, b, c) { | |
var d, e = this._getTargetMap(a) || {}; | |
e[b] && e[b].forEach(function(e) { | |
d = this._createEvent(b, c), e.listener.call(e.context || a, d) | |
}.bind(this)) | |
}, | |
_createEvent: function(a, b) { | |
var c = document.createEvent("CustomEvent"); | |
return c.initCustomEvent(a, !1, !1, b), c | |
}, | |
extend: function(a) { | |
var b, c, d = a; | |
for (c = 1; c < arguments.length; c++) { | |
b = arguments[c]; | |
for (var e in b) b.hasOwnProperty(e) && (d[e] = b[e]) | |
} | |
return d | |
}, | |
getNested: function(a, b, c) { | |
for (var d = b.split("."), e = a, f = 0; f < d.length; f++) { | |
if (!e[d[f]]) { | |
e = c; | |
break | |
} | |
e = e[d[f]] | |
} | |
return e | |
}, | |
setNested: function(a, b, c) { | |
for (var d = b.split("."), e = a, f = 0; f < d.length; f++) { | |
var g = f === d.length - 1; | |
g ? e[d[f]] = c : (e[d[f]] = e[d[f]] || {}, e = e[d[f]]) | |
} | |
return c | |
}, | |
destroyTarget: function(a) { | |
var b = this._getTargetMap(a), | |
c = this._targets.indexOf(b); | |
c > -1 && this._targets.splice(c, 1) | |
} | |
}; | |
b.exports = d | |
}, {} | |
], | |
7: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./../external/event-handler/src/event-handler"), | |
e = function() { | |
this.initialize() | |
}; | |
e.prototype = { | |
initialize: function() { | |
d.createTarget(this), this._getOrientationChangeListener = function() { | |
var a = this; | |
return function() { | |
a._onOrientationChange.bind(a) | |
} | |
}, window.addEventListener("orientationchange", this._getOrientationChangeListener()) | |
}, | |
_onOrientationChange: function() { | |
var a; | |
a = window.innerHeight <= window.innerWidth ? "landscape" : "portrait", this.dispatchEvent("orientationchange", { | |
orientation: a | |
}) | |
}, | |
getUserAgent: function() { | |
return window.navigator.userAgent | |
}, | |
isBrowser: function(a) { | |
var b, c = a, | |
d = this.getUserAgent(); | |
return a ? (Array.isArray(a) && (c = a.join("|")), c.indexOf("safari") > -1 ? (b = new RegExp("chrome", "i"), !b.test(d)) : (b = new RegExp(c, "i"), b.test(d))) : !0 | |
}, | |
isMobile: function() { | |
return this.isBrowser(["Android", "webOS", "iPhone", "iPad", "iPod", "BlackBerry", "IEMobile", "Opera Mini"]) | |
}, | |
isOS: function(a) { | |
var b = a; | |
Array.isArray(a) && (b = a.join("|")); | |
var c = new RegExp(b, "i"); | |
return c.test(this.getUserAgent()) | |
}, | |
destroy: function() { | |
window.removeEventListener("orientationchange", this._getOrientationChangeListener()), d.destroyTarget(this) | |
} | |
}, b.exports = new e | |
}, { | |
"./../external/event-handler/src/event-handler": 6 | |
} | |
], | |
8: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./src/utils"), | |
e = a("./src/element-kit"); | |
e.utils = d, b.exports = e | |
}, { | |
"./src/element-kit": 11, | |
"./src/utils": 14 | |
} | |
], | |
9: [ | |
function(a, b, c) { | |
function d(a, b) { | |
for (var c = 0, d = a.indexOf(b); d >= 0;) c += 1, d = a.indexOf(b, d + 1); | |
return c | |
} | |
b.exports = d | |
}, {} | |
], | |
10: [ | |
function(a, b, c) { | |
! function() { | |
"use strict"; | |
function c(a, b) { | |
null !== b && void 0 !== b ? "string" == typeof b ? a.s = b : a.s = b.toString() : a.s = b, a.orig = b, null !== b && void 0 !== b ? a.__defineGetter__ ? a.__defineGetter__("length", function() { | |
return a.s.length | |
}) : a.length = b.length : a.length = -1 | |
} | |
function d(a) { | |
c(this, a) | |
} | |
function e() { | |
for (var a in q)! function(a) { | |
var b = q[a]; | |
p.hasOwnProperty(a) || (r.push(a), p[a] = function() { | |
return String.prototype.s = this, b.apply(this, arguments) | |
}) | |
}(a) | |
} | |
function f() { | |
for (var a = 0; a < r.length; ++a) delete String.prototype[r[a]]; | |
r.length = 0 | |
} | |
function g() { | |
for (var a = h(), b = {}, c = 0; c < a.length; ++c) { | |
var d = a[c], | |
e = p[d]; | |
try { | |
var f = typeof e.apply("test", ["string"]); | |
b[d] = f | |
} catch (g) {} | |
} | |
return b | |
} | |
function h() { | |
var a = []; | |
if (Object.getOwnPropertyNames) return a = Object.getOwnPropertyNames(p), a.splice(a.indexOf("valueOf"), 1), a.splice(a.indexOf("toString"), 1), a; | |
var b = {}; | |
for (var c in String.prototype) b[c] = c; | |
for (var c in Object.prototype) delete b[c]; | |
for (var c in b) a.push(c); | |
return a | |
} | |
function i(a) { | |
return new d(a) | |
} | |
function j(a, b) { | |
var c, d = []; | |
for (c = 0; c < a.length; c++) d.push(a[c]), b && b.call(a, a[c], c); | |
return d | |
} | |
function k(a) { | |
var b, c, d = [], | |
e = /^[A-Za-z0-9]+$/; | |
for (a = l(a), c = 0; c < a.length; ++c) b = a.charAt(c), e.test(b) ? d.push(b) : "\\000" === b ? d.push("\\000") : d.push("\\" + b); | |
return d.join("") | |
} | |
function l(a) { | |
return null == a ? "" : "" + a | |
} | |
var m = "3.1.3", | |
n = {}, o = { | |
"Ã": "A", | |
"Ä‚": "A", | |
"Ắ": "A", | |
"Ặ": "A", | |
"Ằ": "A", | |
"Ẳ": "A", | |
"Ẵ": "A", | |
"Ç": "A", | |
"Â": "A", | |
"Ấ": "A", | |
"Ậ": "A", | |
"Ầ": "A", | |
"Ẩ": "A", | |
"Ẫ": "A", | |
"Ä": "A", | |
"Çž": "A", | |
"Ȧ": "A", | |
"Ç ": "A", | |
"Ạ": "A", | |
"È€": "A", | |
"À": "A", | |
"Ả": "A", | |
"È‚": "A", | |
"Ä€": "A", | |
"Ä„": "A", | |
"Ã…": "A", | |
"Ǻ": "A", | |
"Ḁ": "A", | |
"Ⱥ": "A", | |
"Ã": "A", | |
"Ꜳ": "AA", | |
"Æ": "AE", | |
"Ǽ": "AE", | |
"Ç¢": "AE", | |
"Ꜵ": "AO", | |
"Ꜷ": "AU", | |
"Ꜹ": "AV", | |
"Ꜻ": "AV", | |
"Ꜽ": "AY", | |
"Ḃ": "B", | |
"Ḅ": "B", | |
"Æ": "B", | |
"Ḇ": "B", | |
"Ƀ": "B", | |
"Æ‚": "B", | |
"Ć": "C", | |
"Č": "C", | |
"Ç": "C", | |
"Ḉ": "C", | |
"Ĉ": "C", | |
"ÄŠ": "C", | |
"Ƈ": "C", | |
"È»": "C", | |
"ÄŽ": "D", | |
"á¸": "D", | |
"Ḓ": "D", | |
"Ḋ": "D", | |
"Ḍ": "D", | |
"ÆŠ": "D", | |
"Ḏ": "D", | |
"Dz": "D", | |
"Ç…": "D", | |
"Ä": "D", | |
"Æ‹": "D", | |
"DZ": "DZ", | |
"Ç„": "DZ", | |
"É": "E", | |
"Ä”": "E", | |
"Äš": "E", | |
"Ȩ": "E", | |
"Ḝ": "E", | |
"Ê": "E", | |
"Ế": "E", | |
"Ệ": "E", | |
"Ề": "E", | |
"Ể": "E", | |
"Ễ": "E", | |
"Ḙ": "E", | |
"Ë": "E", | |
"Ä–": "E", | |
"Ẹ": "E", | |
"È„": "E", | |
"È": "E", | |
"Ẻ": "E", | |
"Ȇ": "E", | |
"Ä’": "E", | |
"Ḗ": "E", | |
"Ḕ": "E", | |
"Ę": "E", | |
"Ɇ": "E", | |
"Ẽ": "E", | |
"Ḛ": "E", | |
"êª": "ET", | |
"Ḟ": "F", | |
"Æ‘": "F", | |
"Ç´": "G", | |
"Äž": "G", | |
"Ǧ": "G", | |
"Ä¢": "G", | |
"Ĝ": "G", | |
"Ä ": "G", | |
"Æ“": "G", | |
"Ḡ": "G", | |
"Ǥ": "G", | |
"Ḫ": "H", | |
"Èž": "H", | |
"Ḩ": "H", | |
"Ĥ": "H", | |
"Ⱨ": "H", | |
"Ḧ": "H", | |
"Ḣ": "H", | |
"Ḥ": "H", | |
"Ħ": "H", | |
"Ã": "I", | |
"Ĭ": "I", | |
"Ç": "I", | |
"ÃŽ": "I", | |
"Ã": "I", | |
"Ḯ": "I", | |
"Ä°": "I", | |
"Ị": "I", | |
"Ȉ": "I", | |
"Ì": "I", | |
"Ỉ": "I", | |
"ÈŠ": "I", | |
"Ī": "I", | |
"Ä®": "I", | |
"Æ—": "I", | |
"Ĩ": "I", | |
"Ḭ": "I", | |
"ê¹": "D", | |
"ê»": "F", | |
"ê½": "G", | |
"êž‚": "R", | |
"êž„": "S", | |
"Ꞇ": "T", | |
"ê¬": "IS", | |
"Ä´": "J", | |
"Ɉ": "J", | |
"Ḱ": "K", | |
"Ǩ": "K", | |
"Ķ": "K", | |
"Ⱪ": "K", | |
"ê‚": "K", | |
"Ḳ": "K", | |
"Ƙ": "K", | |
"Ḵ": "K", | |
"ê€": "K", | |
"ê„": "K", | |
"Ĺ": "L", | |
"Ƚ": "L", | |
"Ľ": "L", | |
"Ä»": "L", | |
"Ḽ": "L", | |
"Ḷ": "L", | |
"Ḹ": "L", | |
"â± ": "L", | |
"êˆ": "L", | |
"Ḻ": "L", | |
"Ä¿": "L", | |
"â±¢": "L", | |
"Lj": "L", | |
"Å": "L", | |
"LJ": "LJ", | |
"Ḿ": "M", | |
"á¹€": "M", | |
"Ṃ": "M", | |
"â±®": "M", | |
"Ń": "N", | |
"Ň": "N", | |
"Å…": "N", | |
"Ṋ": "N", | |
"Ṅ": "N", | |
"Ṇ": "N", | |
"Ǹ": "N", | |
"Æ": "N", | |
"Ṉ": "N", | |
"È ": "N", | |
"Ç‹": "N", | |
"Ñ": "N", | |
"ÇŠ": "NJ", | |
"Ó": "O", | |
"ÅŽ": "O", | |
"Ç‘": "O", | |
"Ô": "O", | |
"á»": "O", | |
"Ộ": "O", | |
"á»’": "O", | |
"á»”": "O", | |
"á»–": "O", | |
"Ö": "O", | |
"Ȫ": "O", | |
"È®": "O", | |
"È°": "O", | |
"Ọ": "O", | |
"Å": "O", | |
"Ȍ": "O", | |
"Ã’": "O", | |
"Ỏ": "O", | |
"Æ ": "O", | |
"Ớ": "O", | |
"Ợ": "O", | |
"Ờ": "O", | |
"Ở": "O", | |
"á» ": "O", | |
"ÈŽ": "O", | |
"êŠ": "O", | |
"êŒ": "O", | |
"Ō": "O", | |
"á¹’": "O", | |
"á¹": "O", | |
"ÆŸ": "O", | |
"Ǫ": "O", | |
"Ǭ": "O", | |
"Ø": "O", | |
"Ǿ": "O", | |
"Õ": "O", | |
"Ṍ": "O", | |
"Ṏ": "O", | |
"Ȭ": "O", | |
"Æ¢": "OI", | |
"êŽ": "OO", | |
"Æ": "E", | |
"Ɔ": "O", | |
"È¢": "OU", | |
"á¹”": "P", | |
"á¹–": "P", | |
"ê’": "P", | |
"Ƥ": "P", | |
"ê”": "P", | |
"â±£": "P", | |
"ê": "P", | |
"ê˜": "Q", | |
"ê–": "Q", | |
"Å”": "R", | |
"Ř": "R", | |
"Å–": "R", | |
"Ṙ": "R", | |
"Ṛ": "R", | |
"Ṝ": "R", | |
"È": "R", | |
"È’": "R", | |
"Ṟ": "R", | |
"Ɍ": "R", | |
"Ɽ": "R", | |
"Ꜿ": "C", | |
"ÆŽ": "E", | |
"Åš": "S", | |
"Ṥ": "S", | |
"Å ": "S", | |
"Ṧ": "S", | |
"Åž": "S", | |
"Ŝ": "S", | |
"Ș": "S", | |
"á¹ ": "S", | |
"á¹¢": "S", | |
"Ṩ": "S", | |
"ẞ": "SS", | |
"Ť": "T", | |
"Å¢": "T", | |
"á¹°": "T", | |
"Èš": "T", | |
"Ⱦ": "T", | |
"Ṫ": "T", | |
"Ṭ": "T", | |
"Ƭ": "T", | |
"á¹®": "T", | |
"Æ®": "T", | |
"Ŧ": "T", | |
"Ɐ": "A", | |
"Ꞁ": "L", | |
"Ɯ": "M", | |
"É…": "V", | |
"Ꜩ": "TZ", | |
"Ú": "U", | |
"Ŭ": "U", | |
"Ç“": "U", | |
"Û": "U", | |
"Ṷ": "U", | |
"Ü": "U", | |
"Ç—": "U", | |
"Ç™": "U", | |
"Ç›": "U", | |
"Ç•": "U", | |
"á¹²": "U", | |
"Ụ": "U", | |
"Å°": "U", | |
"È”": "U", | |
"Ù": "U", | |
"Ủ": "U", | |
"Ư": "U", | |
"Ứ": "U", | |
"á»°": "U", | |
"Ừ": "U", | |
"Ử": "U", | |
"á»®": "U", | |
"È–": "U", | |
"Ū": "U", | |
"Ṻ": "U", | |
"Ų": "U", | |
"Å®": "U", | |
"Ũ": "U", | |
"Ṹ": "U", | |
"á¹´": "U", | |
"êž": "V", | |
"á¹¾": "V", | |
"Ʋ": "V", | |
"á¹¼": "V", | |
"ê ": "VY", | |
"Ẃ": "W", | |
"Å´": "W", | |
"Ẅ": "W", | |
"Ẇ": "W", | |
"Ẉ": "W", | |
"Ẁ": "W", | |
"â±²": "W", | |
"Ẍ": "X", | |
"Ẋ": "X", | |
"Ã": "Y", | |
"Ŷ": "Y", | |
"Ÿ": "Y", | |
"Ẏ": "Y", | |
"á»´": "Y", | |
"Ỳ": "Y", | |
"Ƴ": "Y", | |
"Ỷ": "Y", | |
"Ỿ": "Y", | |
"Ȳ": "Y", | |
"ÉŽ": "Y", | |
"Ỹ": "Y", | |
"Ź": "Z", | |
"Ž": "Z", | |
"áº": "Z", | |
"Ⱬ": "Z", | |
"Å»": "Z", | |
"Ẓ": "Z", | |
"Ȥ": "Z", | |
"Ẕ": "Z", | |
"Ƶ": "Z", | |
"IJ": "IJ", | |
"Å’": "OE", | |
"á´€": "A", | |
"á´": "AE", | |
"Ê™": "B", | |
"á´ƒ": "B", | |
"á´„": "C", | |
"á´…": "D", | |
"á´‡": "E", | |
"ꜰ": "F", | |
"É¢": "G", | |
"Ê›": "G", | |
"ʜ": "H", | |
"ɪ": "I", | |
"Ê": "R", | |
"á´Š": "J", | |
"á´‹": "K", | |
"ÊŸ": "L", | |
"ᴌ": "L", | |
"á´": "M", | |
"É´": "N", | |
"á´": "O", | |
"ɶ": "OE", | |
"á´": "O", | |
"á´•": "OU", | |
"á´˜": "P", | |
"Ê€": "R", | |
"á´Ž": "N", | |
"á´™": "R", | |
"ꜱ": "S", | |
"á´›": "T", | |
"â±»": "E", | |
"á´š": "R", | |
"ᴜ": "U", | |
"á´ ": "V", | |
"á´¡": "W", | |
"Ê": "Y", | |
"á´¢": "Z", | |
"á": "a", | |
"ă": "a", | |
"ắ": "a", | |
"ặ": "a", | |
"ằ": "a", | |
"ẳ": "a", | |
"ẵ": "a", | |
"ÇŽ": "a", | |
"â": "a", | |
"ấ": "a", | |
"áº": "a", | |
"ầ": "a", | |
"ẩ": "a", | |
"ẫ": "a", | |
"ä": "a", | |
"ÇŸ": "a", | |
"ȧ": "a", | |
"Ç¡": "a", | |
"ạ": "a", | |
"È": "a", | |
"Ã ": "a", | |
"ả": "a", | |
"ȃ": "a", | |
"Ä": "a", | |
"Ä…": "a", | |
"á¶": "a", | |
"ẚ": "a", | |
"Ã¥": "a", | |
"Ç»": "a", | |
"á¸": "a", | |
"â±¥": "a", | |
"ã": "a", | |
"ꜳ": "aa", | |
"æ": "ae", | |
"ǽ": "ae", | |
"Ç£": "ae", | |
"ꜵ": "ao", | |
"ꜷ": "au", | |
"ꜹ": "av", | |
"ꜻ": "av", | |
"ꜽ": "ay", | |
"ḃ": "b", | |
"ḅ": "b", | |
"É“": "b", | |
"ḇ": "b", | |
"ᵬ": "b", | |
"ᶀ": "b", | |
"Æ€": "b", | |
"ƃ": "b", | |
"ɵ": "o", | |
"ć": "c", | |
"Ä": "c", | |
"ç": "c", | |
"ḉ": "c", | |
"ĉ": "c", | |
"É•": "c", | |
"Ä‹": "c", | |
"ƈ": "c", | |
"ȼ": "c", | |
"Ä": "d", | |
"ḑ": "d", | |
"ḓ": "d", | |
"È¡": "d", | |
"ḋ": "d", | |
"á¸": "d", | |
"É—": "d", | |
"ᶑ": "d", | |
"á¸": "d", | |
"áµ": "d", | |
"á¶": "d", | |
"Ä‘": "d", | |
"É–": "d", | |
"ƌ": "d", | |
"ı": "i", | |
"È·": "j", | |
"ÉŸ": "j", | |
"Ê„": "j", | |
"dz": "dz", | |
"dž": "dz", | |
"é": "e", | |
"Ä•": "e", | |
"Ä›": "e", | |
"È©": "e", | |
"á¸": "e", | |
"ê": "e", | |
"ế": "e", | |
"ệ": "e", | |
"á»": "e", | |
"ể": "e", | |
"á»…": "e", | |
"ḙ": "e", | |
"ë": "e", | |
"Ä—": "e", | |
"ẹ": "e", | |
"È…": "e", | |
"è": "e", | |
"ẻ": "e", | |
"ȇ": "e", | |
"Ä“": "e", | |
"ḗ": "e", | |
"ḕ": "e", | |
"ⱸ": "e", | |
"Ä™": "e", | |
"ᶒ": "e", | |
"ɇ": "e", | |
"ẽ": "e", | |
"ḛ": "e", | |
"ê«": "et", | |
"ḟ": "f", | |
"Æ’": "f", | |
"áµ®": "f", | |
"ᶂ": "f", | |
"ǵ": "g", | |
"ÄŸ": "g", | |
"ǧ": "g", | |
"Ä£": "g", | |
"Ä": "g", | |
"Ä¡": "g", | |
"É ": "g", | |
"ḡ": "g", | |
"ᶃ": "g", | |
"Ç¥": "g", | |
"ḫ": "h", | |
"ÈŸ": "h", | |
"ḩ": "h", | |
"Ä¥": "h", | |
"ⱨ": "h", | |
"ḧ": "h", | |
"ḣ": "h", | |
"ḥ": "h", | |
"ɦ": "h", | |
"ẖ": "h", | |
"ħ": "h", | |
"Æ•": "hv", | |
"Ã": "i", | |
"Ä": "i", | |
"Ç": "i", | |
"î": "i", | |
"ï": "i", | |
"ḯ": "i", | |
"ị": "i", | |
"ȉ": "i", | |
"ì": "i", | |
"ỉ": "i", | |
"È‹": "i", | |
"Ä«": "i", | |
"į": "i", | |
"ᶖ": "i", | |
"ɨ": "i", | |
"Ä©": "i", | |
"á¸": "i", | |
"êº": "d", | |
"ê¼": "f", | |
"áµ¹": "g", | |
"ꞃ": "r", | |
"êž…": "s", | |
"ꞇ": "t", | |
"ê": "is", | |
"Ç°": "j", | |
"ĵ": "j", | |
"Ê": "j", | |
"ɉ": "j", | |
"ḱ": "k", | |
"Ç©": "k", | |
"Ä·": "k", | |
"ⱪ": "k", | |
"êƒ": "k", | |
"ḳ": "k", | |
"Æ™": "k", | |
"ḵ": "k", | |
"ᶄ": "k", | |
"ê": "k", | |
"ê…": "k", | |
"ĺ": "l", | |
"Æš": "l", | |
"ɬ": "l", | |
"ľ": "l", | |
"ļ": "l", | |
"ḽ": "l", | |
"È´": "l", | |
"ḷ": "l", | |
"ḹ": "l", | |
"ⱡ": "l", | |
"ê‰": "l", | |
"ḻ": "l", | |
"Å€": "l", | |
"É«": "l", | |
"ᶅ": "l", | |
"É": "l", | |
"Å‚": "l", | |
"lj": "lj", | |
"Å¿": "s", | |
"ẜ": "s", | |
"ẛ": "s", | |
"áº": "s", | |
"ḿ": "m", | |
"á¹": "m", | |
"ṃ": "m", | |
"ɱ": "m", | |
"ᵯ": "m", | |
"ᶆ": "m", | |
"Å„": "n", | |
"ň": "n", | |
"ņ": "n", | |
"ṋ": "n", | |
"ȵ": "n", | |
"á¹…": "n", | |
"ṇ": "n", | |
"ǹ": "n", | |
"ɲ": "n", | |
"ṉ": "n", | |
"Æž": "n", | |
"áµ°": "n", | |
"ᶇ": "n", | |
"ɳ": "n", | |
"ñ": "n", | |
"nj": "nj", | |
"ó": "o", | |
"Å": "o", | |
"Ç’": "o", | |
"ô": "o", | |
"ố": "o", | |
"á»™": "o", | |
"ồ": "o", | |
"ổ": "o", | |
"á»—": "o", | |
"ö": "o", | |
"È«": "o", | |
"ȯ": "o", | |
"ȱ": "o", | |
"á»": "o", | |
"Å‘": "o", | |
"È": "o", | |
"ò": "o", | |
"á»": "o", | |
"Æ¡": "o", | |
"á»›": "o", | |
"ợ": "o", | |
"á»": "o", | |
"ở": "o", | |
"ỡ": "o", | |
"È": "o", | |
"ê‹": "o", | |
"ê": "o", | |
"ⱺ": "o", | |
"Å": "o", | |
"ṓ": "o", | |
"ṑ": "o", | |
"Ç«": "o", | |
"Ç": "o", | |
"ø": "o", | |
"Ç¿": "o", | |
"õ": "o", | |
"á¹": "o", | |
"á¹": "o", | |
"È": "o", | |
"Æ£": "oi", | |
"ê": "oo", | |
"É›": "e", | |
"ᶓ": "e", | |
"É”": "o", | |
"ᶗ": "o", | |
"È£": "ou", | |
"ṕ": "p", | |
"á¹—": "p", | |
"ê“": "p", | |
"Æ¥": "p", | |
"áµ±": "p", | |
"ᶈ": "p", | |
"ê•": "p", | |
"áµ½": "p", | |
"ê‘": "p", | |
"ê™": "q", | |
"Ê ": "q", | |
"É‹": "q", | |
"ê—": "q", | |
"Å•": "r", | |
"Å™": "r", | |
"Å—": "r", | |
"á¹™": "r", | |
"á¹›": "r", | |
"á¹": "r", | |
"È‘": "r", | |
"ɾ": "r", | |
"áµ³": "r", | |
"È“": "r", | |
"ṟ": "r", | |
"ɼ": "r", | |
"áµ²": "r", | |
"ᶉ": "r", | |
"É": "r", | |
"ɽ": "r", | |
"ↄ": "c", | |
"ꜿ": "c", | |
"ɘ": "e", | |
"É¿": "r", | |
"Å›": "s", | |
"á¹¥": "s", | |
"Å¡": "s", | |
"ṧ": "s", | |
"ÅŸ": "s", | |
"Å": "s", | |
"È™": "s", | |
"ṡ": "s", | |
"á¹£": "s", | |
"ṩ": "s", | |
"Ê‚": "s", | |
"áµ´": "s", | |
"ᶊ": "s", | |
"È¿": "s", | |
"É¡": "g", | |
"ß": "ss", | |
"á´‘": "o", | |
"á´“": "o", | |
"á´": "u", | |
"Å¥": "t", | |
"Å£": "t", | |
"á¹±": "t", | |
"È›": "t", | |
"ȶ": "t", | |
"ẗ": "t", | |
"ⱦ": "t", | |
"ṫ": "t", | |
"á¹": "t", | |
"Æ": "t", | |
"ṯ": "t", | |
"áµµ": "t", | |
"Æ«": "t", | |
"ʈ": "t", | |
"ŧ": "t", | |
"ᵺ": "th", | |
"É": "a", | |
"á´‚": "ae", | |
"Ç": "e", | |
"áµ·": "g", | |
"É¥": "h", | |
"Ê®": "h", | |
"ʯ": "h", | |
"á´‰": "i", | |
"Êž": "k", | |
"êž": "l", | |
"ɯ": "m", | |
"É°": "m", | |
"á´”": "oe", | |
"ɹ": "r", | |
"É»": "r", | |
"ɺ": "r", | |
"â±¹": "r", | |
"ʇ": "t", | |
"ʌ": "v", | |
"Ê": "w", | |
"ÊŽ": "y", | |
"ꜩ": "tz", | |
"ú": "u", | |
"Å": "u", | |
"Ç”": "u", | |
"û": "u", | |
"á¹·": "u", | |
"ü": "u", | |
"ǘ": "u", | |
"Çš": "u", | |
"ǜ": "u", | |
"Ç–": "u", | |
"á¹³": "u", | |
"ụ": "u", | |
"ű": "u", | |
"È•": "u", | |
"ù": "u", | |
"ủ": "u", | |
"Æ°": "u", | |
"ứ": "u", | |
"á»±": "u", | |
"ừ": "u", | |
"á»": "u", | |
"ữ": "u", | |
"È—": "u", | |
"Å«": "u", | |
"á¹»": "u", | |
"ų": "u", | |
"ᶙ": "u", | |
"ů": "u", | |
"Å©": "u", | |
"á¹¹": "u", | |
"á¹µ": "u", | |
"ᵫ": "ue", | |
"ê¸": "um", | |
"â±´": "v", | |
"êŸ": "v", | |
"ṿ": "v", | |
"Ê‹": "v", | |
"ᶌ": "v", | |
"â±±": "v", | |
"á¹½": "v", | |
"ê¡": "vy", | |
"ẃ": "w", | |
"ŵ": "w", | |
"ẅ": "w", | |
"ẇ": "w", | |
"ẉ": "w", | |
"áº": "w", | |
"â±³": "w", | |
"ẘ": "w", | |
"áº": "x", | |
"ẋ": "x", | |
"á¶": "x", | |
"ý": "y", | |
"Å·": "y", | |
"ÿ": "y", | |
"áº": "y", | |
"ỵ": "y", | |
"ỳ": "y", | |
"Æ´": "y", | |
"á»·": "y", | |
"ỿ": "y", | |
"ȳ": "y", | |
"ẙ": "y", | |
"É": "y", | |
"ỹ": "y", | |
"ź": "z", | |
"ž": "z", | |
"ẑ": "z", | |
"Ê‘": "z", | |
"ⱬ": "z", | |
"ż": "z", | |
"ẓ": "z", | |
"È¥": "z", | |
"ẕ": "z", | |
"ᵶ": "z", | |
"ᶎ": "z", | |
"Ê": "z", | |
"ƶ": "z", | |
"É€": "z", | |
"ff": "ff", | |
"ffi": "ffi", | |
"ffl": "ffl", | |
"ï¬": "fi", | |
"fl": "fl", | |
"ij": "ij", | |
"Å“": "oe", | |
"st": "st", | |
"â‚": "a", | |
"â‚‘": "e", | |
"áµ¢": "i", | |
"â±¼": "j", | |
"â‚’": "o", | |
"áµ£": "r", | |
"ᵤ": "u", | |
"áµ¥": "v", | |
"â‚“": "x" | |
}, p = String.prototype, | |
q = d.prototype = { | |
between: function(a, b) { | |
var c = this.s, | |
d = c.indexOf(a), | |
e = c.indexOf(b, d + a.length); | |
return -1 == e && null != b ? new this.constructor("") : -1 == e && null == b ? new this.constructor(c.substring(d + a.length)) : new this.constructor(c.slice(d + a.length, e)) | |
}, | |
camelize: function() { | |
var a = this.trim().s.replace(/(\-|_|\s)+(.)?/g, function(a, b, c) { | |
return c ? c.toUpperCase() : "" | |
}); | |
return new this.constructor(a) | |
}, | |
capitalize: function() { | |
return new this.constructor(this.s.substr(0, 1).toUpperCase() + this.s.substring(1).toLowerCase()) | |
}, | |
charAt: function(a) { | |
return this.s.charAt(a) | |
}, | |
chompLeft: function(a) { | |
var b = this.s; | |
return 0 === b.indexOf(a) ? (b = b.slice(a.length), new this.constructor(b)) : this | |
}, | |
chompRight: function(a) { | |
if (this.endsWith(a)) { | |
var b = this.s; | |
return b = b.slice(0, b.length - a.length), new this.constructor(b) | |
} | |
return this | |
}, | |
collapseWhitespace: function() { | |
var a = this.s.replace(/[\s\xa0]+/g, " ").replace(/^\s+|\s+$/g, ""); | |
return new this.constructor(a) | |
}, | |
contains: function(a) { | |
return this.s.indexOf(a) >= 0 | |
}, | |
count: function(b) { | |
return a("./_count")(this.s, b) | |
}, | |
dasherize: function() { | |
var a = this.trim().s.replace(/[_\s]+/g, "-").replace(/([A-Z])/g, "-$1").replace(/-+/g, "-").toLowerCase(); | |
return new this.constructor(a) | |
}, | |
latinise: function() { | |
var a = this.replace(/[^A-Za-z0-9\[\] ]/g, function(a) { | |
return o[a] || a | |
}); | |
return new this.constructor(a) | |
}, | |
decodeHtmlEntities: function() { | |
var a = this.s; | |
return a = a.replace(/&#(\d+);?/g, function(a, b) { | |
return String.fromCharCode(b) | |
}).replace(/&#[xX]([A-Fa-f0-9]+);?/g, function(a, b) { | |
return String.fromCharCode(parseInt(b, 16)) | |
}).replace(/&([^;\W]+;?)/g, function(a, b) { | |
var c = b.replace(/;$/, ""), | |
d = n[b] || b.match(/;$/) && n[c]; | |
return "number" == typeof d ? String.fromCharCode(d) : "string" == typeof d ? d : a | |
}), new this.constructor(a) | |
}, | |
endsWith: function() { | |
for (var a = Array.prototype.slice.call(arguments, 0), b = 0; b < a.length; ++b) { | |
var c = this.s.length - a[b].length; | |
if (c >= 0 && this.s.indexOf(a[b], c) === c) return !0 | |
} | |
return !1 | |
}, | |
escapeHTML: function() { | |
return new this.constructor(this.s.replace(/[&<>"']/g, function(a) { | |
return "&" + v[a] + ";" | |
})) | |
}, | |
ensureLeft: function(a) { | |
var b = this.s; | |
return 0 === b.indexOf(a) ? this : new this.constructor(a + b) | |
}, | |
ensureRight: function(a) { | |
var b = this.s; | |
return this.endsWith(a) ? this : new this.constructor(b + a) | |
}, | |
humanize: function() { | |
if (null === this.s || void 0 === this.s) return new this.constructor(""); | |
var a = this.underscore().replace(/_id$/, "").replace(/_/g, " ").trim().capitalize(); | |
return new this.constructor(a) | |
}, | |
isAlpha: function() { | |
return !/[^a-z\xDF-\xFF]|^$/.test(this.s.toLowerCase()) | |
}, | |
isAlphaNumeric: function() { | |
return !/[^0-9a-z\xDF-\xFF]/.test(this.s.toLowerCase()) | |
}, | |
isEmpty: function() { | |
return null === this.s || void 0 === this.s ? !0 : /^[\s\xa0]*$/.test(this.s) | |
}, | |
isLower: function() { | |
return this.isAlpha() && this.s.toLowerCase() === this.s | |
}, | |
isNumeric: function() { | |
return !/[^0-9]/.test(this.s) | |
}, | |
isUpper: function() { | |
return this.isAlpha() && this.s.toUpperCase() === this.s | |
}, | |
left: function(a) { | |
if (a >= 0) { | |
var b = this.s.substr(0, a); | |
return new this.constructor(b) | |
} | |
return this.right(-a) | |
}, | |
lines: function() { | |
return this.replaceAll("\r\n", "\n").s.split("\n") | |
}, | |
pad: function(a, b) { | |
if (null == b && (b = " "), this.s.length >= a) return new this.constructor(this.s); | |
a -= this.s.length; | |
var c = Array(Math.ceil(a / 2) + 1).join(b), | |
d = Array(Math.floor(a / 2) + 1).join(b); | |
return new this.constructor(c + this.s + d) | |
}, | |
padLeft: function(a, b) { | |
return null == b && (b = " "), this.s.length >= a ? new this.constructor(this.s) : new this.constructor(Array(a - this.s.length + 1).join(b) + this.s) | |
}, | |
padRight: function(a, b) { | |
return null == b && (b = " "), this.s.length >= a ? new this.constructor(this.s) : new this.constructor(this.s + Array(a - this.s.length + 1).join(b)) | |
}, | |
parseCSV: function(a, b, c, d) { | |
a = a || ",", c = c || "\\", "undefined" == typeof b && (b = '"'); | |
var e = 0, | |
f = [], | |
g = [], | |
h = this.s.length, | |
i = !1, | |
j = !1, | |
k = this, | |
l = function(a) { | |
return k.s.charAt(a) | |
}; | |
if ("undefined" != typeof d) var m = []; | |
for (b || (i = !0); h > e;) { | |
var n = l(e); | |
switch (n) { | |
case c: | |
if (i && (c !== b || l(e + 1) === b)) { | |
e += 1, f.push(l(e)); | |
break | |
} | |
if (c !== b) break; | |
case b: | |
i = !i; | |
break; | |
case a: | |
j && (i = !1, j = !1), i && b ? f.push(n) : (g.push(f.join("")), f.length = 0); | |
break; | |
case d: | |
j ? (i = !1, j = !1, g.push(f.join("")), m.push(g), g = [], f.length = 0) : i ? f.push(n) : m && (g.push(f.join("")), m.push(g), g = [], f.length = 0); | |
break; | |
case " ": | |
i && f.push(n); | |
break; | |
default: | |
i ? f.push(n) : n !== b && (f.push(n), i = !0, j = !0) | |
} | |
e += 1 | |
} | |
return g.push(f.join("")), m ? (m.push(g), m) : g | |
}, | |
replaceAll: function(a, b) { | |
var c = this.s.split(a).join(b); | |
return new this.constructor(c) | |
}, | |
strip: function() { | |
for (var a = this.s, b = 0, c = arguments.length; c > b; b++) a = a.split(arguments[b]).join(""); | |
return new this.constructor(a) | |
}, | |
stripLeft: function(a) { | |
var b, c, d = l(this.s); | |
return void 0 === a ? c = /^\s+/g : (b = k(a), c = new RegExp("^[" + b + "]+", "g")), new this.constructor(d.replace(c, "")) | |
}, | |
stripRight: function(a) { | |
var b, c, d = l(this.s); | |
return void 0 === a ? c = /\s+$/g : (b = k(a), c = new RegExp("[" + b + "]+$", "g")), new this.constructor(d.replace(c, "")) | |
}, | |
right: function(a) { | |
if (a >= 0) { | |
var b = this.s.substr(this.s.length - a, a); | |
return new this.constructor(b) | |
} | |
return this.left(-a) | |
}, | |
setValue: function(a) { | |
return c(this, a), this | |
}, | |
slugify: function() { | |
var a = new d(new d(this.s).latinise().s.replace(/[^\w\s-]/g, "").toLowerCase()).dasherize().s; | |
return "-" === a.charAt(0) && (a = a.substr(1)), new this.constructor(a) | |
}, | |
startsWith: function() { | |
for (var a = Array.prototype.slice.call(arguments, 0), b = 0; b < a.length; ++b) | |
if (0 === this.s.lastIndexOf(a[b], 0)) return !0; | |
return !1 | |
}, | |
stripPunctuation: function() { | |
return new this.constructor(this.s.replace(/[^\w\s]|_/g, "").replace(/\s+/g, " ")) | |
}, | |
stripTags: function() { | |
var a = this.s, | |
b = arguments.length > 0 ? arguments : [""]; | |
return j(b, function(b) { | |
a = a.replace(RegExp("</?" + b + "[^<>]*>", "gi"), "") | |
}), new this.constructor(a) | |
}, | |
template: function(a, b, c) { | |
var d = this.s, | |
b = b || i.TMPL_OPEN, | |
c = c || i.TMPL_CLOSE, | |
e = b.replace(/[-[\]()*\s]/g, "\\$&").replace(/\$/g, "\\$"), | |
f = c.replace(/[-[\]()*\s]/g, "\\$&").replace(/\$/g, "\\$"), | |
g = new RegExp(e + "(.+?)" + f, "g"), | |
h = d.match(g) || []; | |
return h.forEach(function(e) { | |
var f = e.substring(b.length, e.length - c.length).trim(), | |
g = "undefined" == typeof a[f] ? "" : a[f]; | |
d = d.replace(e, g) | |
}), new this.constructor(d) | |
}, | |
times: function(a) { | |
return new this.constructor(new Array(a + 1).join(this.s)) | |
}, | |
toBoolean: function() { | |
if ("string" == typeof this.orig) { | |
var a = this.s.toLowerCase(); | |
return "true" === a || "yes" === a || "on" === a || "1" === a | |
} | |
return this.orig === !0 || 1 === this.orig | |
}, | |
toFloat: function(a) { | |
var b = parseFloat(this.s); | |
return a ? parseFloat(b.toFixed(a)) : b | |
}, | |
toInt: function() { | |
return /^\s*-?0x/i.test(this.s) ? parseInt(this.s, 16) : parseInt(this.s, 10) | |
}, | |
trim: function() { | |
var a; | |
return a = "undefined" == typeof p.trim ? this.s.replace(/(^\s*|\s*$)/g, "") : this.s.trim(), new this.constructor(a) | |
}, | |
trimLeft: function() { | |
var a; | |
return a = p.trimLeft ? this.s.trimLeft() : this.s.replace(/(^\s*)/g, ""), new this.constructor(a) | |
}, | |
trimRight: function() { | |
var a; | |
return a = p.trimRight ? this.s.trimRight() : this.s.replace(/\s+$/, ""), new this.constructor(a) | |
}, | |
truncate: function(a, b) { | |
var c = this.s; | |
if (a = ~~a, b = b || "...", c.length <= a) return new this.constructor(c); | |
var e = function(a) { | |
return a.toUpperCase() !== a.toLowerCase() ? "A" : " " | |
}, f = c.slice(0, a + 1).replace(/.(?=\W*\w*$)/g, e); | |
return f = f.slice(f.length - 2).match(/\w\w/) ? f.replace(/\s*\S+$/, "") : new d(f.slice(0, f.length - 1)).trimRight().s, new d((f + b).length > c.length ? c : c.slice(0, f.length) + b) | |
}, | |
toCSV: function() { | |
function a(a) { | |
return null !== a && "" !== a | |
} | |
var b = ",", | |
c = '"', | |
e = "\\", | |
f = !0, | |
g = !1, | |
h = []; | |
if ("object" == typeof arguments[0] ? (b = arguments[0].delimiter || b, b = arguments[0].separator || b, c = arguments[0].qualifier || c, f = !! arguments[0].encloseNumbers, e = arguments[0].escape || e, g = !! arguments[0].keys) : "string" == typeof arguments[0] && (b = arguments[0]), "string" == typeof arguments[1] && (c = arguments[1]), null === arguments[1] && (c = null), this.orig instanceof Array) h = this.orig; | |
else | |
for (var i in this.orig) this.orig.hasOwnProperty(i) && (g ? h.push(i) : h.push(this.orig[i])); | |
for (var j = e + c, k = [], l = 0; l < h.length; ++l) { | |
var m = a(c); | |
if ("number" == typeof h[l] && (m &= f), m && k.push(c), null !== h[l] && void 0 !== h[l]) { | |
var n = new d(h[l]).replaceAll(c, j).s; | |
k.push(n) | |
} else k.push(""); | |
m && k.push(c), b && k.push(b) | |
} | |
return k.length = k.length - 1, new this.constructor(k.join("")) | |
}, | |
toString: function() { | |
return this.s | |
}, | |
underscore: function() { | |
var a = this.trim().s.replace(/([a-z\d])([A-Z]+)/g, "$1_$2").replace(/([A-Z\d]+)([A-Z][a-z])/, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase(); | |
return new this.constructor(a) | |
}, | |
unescapeHTML: function() { | |
return new this.constructor(this.s.replace(/\&([^;]+);/g, function(a, b) { | |
var c; | |
return b in u ? u[b] : (c = b.match(/^#x([\da-fA-F]+)$/)) ? String.fromCharCode(parseInt(c[1], 16)) : (c = b.match(/^#(\d+)$/)) ? String.fromCharCode(~~c[1]) : a | |
})) | |
}, | |
valueOf: function() { | |
return this.s.valueOf() | |
}, | |
wrapHTML: function(a, b) { | |
var c = this.s, | |
d = null == a ? "span" : a, | |
e = "", | |
f = ""; | |
if ("object" == typeof b) | |
for (var g in b) e += " " + g + '="' + new this.constructor(b[g]).escapeHTML() + '"'; | |
return c = f.concat("<", d, e, ">", this, "</", d, ">"), new this.constructor(c) | |
} | |
}, r = [], | |
s = g(); | |
for (var t in s)! function(a) { | |
var b = p[a]; | |
"function" == typeof b && (q[a] || ("string" === s[a] ? q[a] = function() { | |
return new this.constructor(b.apply(this, arguments)) | |
} : q[a] = b)) | |
}(t); | |
q.repeat = q.times, q.include = q.contains, q.toInteger = q.toInt, q.toBool = q.toBoolean, q.decodeHTMLEntities = q.decodeHtmlEntities, q.constructor = d, i.extendPrototype = e, i.restorePrototype = f, i.VERSION = m, i.TMPL_OPEN = "{{", i.TMPL_CLOSE = "}}", i.ENTITIES = n, "undefined" != typeof b && "undefined" != typeof b.exports ? b.exports = i : "function" == typeof define && define.amd ? define([], function() { | |
return i | |
}) : window.S = i; | |
var u = { | |
lt: "<", | |
gt: ">", | |
quot: '"', | |
apos: "'", | |
amp: "&" | |
}, v = {}; | |
for (var w in u) v[u[w]] = w; | |
n = { | |
amp: "&", | |
gt: ">", | |
lt: "<", | |
quot: '"', | |
apos: "'", | |
AElig: 198, | |
Aacute: 193, | |
Acirc: 194, | |
Agrave: 192, | |
Aring: 197, | |
Atilde: 195, | |
Auml: 196, | |
Ccedil: 199, | |
ETH: 208, | |
Eacute: 201, | |
Ecirc: 202, | |
Egrave: 200, | |
Euml: 203, | |
Iacute: 205, | |
Icirc: 206, | |
Igrave: 204, | |
Iuml: 207, | |
Ntilde: 209, | |
Oacute: 211, | |
Ocirc: 212, | |
Ograve: 210, | |
Oslash: 216, | |
Otilde: 213, | |
Ouml: 214, | |
THORN: 222, | |
Uacute: 218, | |
Ucirc: 219, | |
Ugrave: 217, | |
Uuml: 220, | |
Yacute: 221, | |
aacute: 225, | |
acirc: 226, | |
aelig: 230, | |
agrave: 224, | |
aring: 229, | |
atilde: 227, | |
auml: 228, | |
ccedil: 231, | |
eacute: 233, | |
ecirc: 234, | |
egrave: 232, | |
eth: 240, | |
euml: 235, | |
iacute: 237, | |
icirc: 238, | |
igrave: 236, | |
iuml: 239, | |
ntilde: 241, | |
oacute: 243, | |
ocirc: 244, | |
ograve: 242, | |
oslash: 248, | |
otilde: 245, | |
ouml: 246, | |
szlig: 223, | |
thorn: 254, | |
uacute: 250, | |
ucirc: 251, | |
ugrave: 249, | |
uuml: 252, | |
yacute: 253, | |
yuml: 255, | |
copy: 169, | |
reg: 174, | |
nbsp: 160, | |
iexcl: 161, | |
cent: 162, | |
pound: 163, | |
curren: 164, | |
yen: 165, | |
brvbar: 166, | |
sect: 167, | |
uml: 168, | |
ordf: 170, | |
laquo: 171, | |
not: 172, | |
shy: 173, | |
macr: 175, | |
deg: 176, | |
plusmn: 177, | |
sup1: 185, | |
sup2: 178, | |
sup3: 179, | |
acute: 180, | |
micro: 181, | |
para: 182, | |
middot: 183, | |
cedil: 184, | |
ordm: 186, | |
raquo: 187, | |
frac14: 188, | |
frac12: 189, | |
frac34: 190, | |
iquest: 191, | |
times: 215, | |
divide: 247, | |
"OElig;": 338, | |
"oelig;": 339, | |
"Scaron;": 352, | |
"scaron;": 353, | |
"Yuml;": 376, | |
"fnof;": 402, | |
"circ;": 710, | |
"tilde;": 732, | |
"Alpha;": 913, | |
"Beta;": 914, | |
"Gamma;": 915, | |
"Delta;": 916, | |
"Epsilon;": 917, | |
"Zeta;": 918, | |
"Eta;": 919, | |
"Theta;": 920, | |
"Iota;": 921, | |
"Kappa;": 922, | |
"Lambda;": 923, | |
"Mu;": 924, | |
"Nu;": 925, | |
"Xi;": 926, | |
"Omicron;": 927, | |
"Pi;": 928, | |
"Rho;": 929, | |
"Sigma;": 931, | |
"Tau;": 932, | |
"Upsilon;": 933, | |
"Phi;": 934, | |
"Chi;": 935, | |
"Psi;": 936, | |
"Omega;": 937, | |
"alpha;": 945, | |
"beta;": 946, | |
"gamma;": 947, | |
"delta;": 948, | |
"epsilon;": 949, | |
"zeta;": 950, | |
"eta;": 951, | |
"theta;": 952, | |
"iota;": 953, | |
"kappa;": 954, | |
"lambda;": 955, | |
"mu;": 956, | |
"nu;": 957, | |
"xi;": 958, | |
"omicron;": 959, | |
"pi;": 960, | |
"rho;": 961, | |
"sigmaf;": 962, | |
"sigma;": 963, | |
"tau;": 964, | |
"upsilon;": 965, | |
"phi;": 966, | |
"chi;": 967, | |
"psi;": 968, | |
"omega;": 969, | |
"thetasym;": 977, | |
"upsih;": 978, | |
"piv;": 982, | |
"ensp;": 8194, | |
"emsp;": 8195, | |
"thinsp;": 8201, | |
"zwnj;": 8204, | |
"zwj;": 8205, | |
"lrm;": 8206, | |
"rlm;": 8207, | |
"ndash;": 8211, | |
"mdash;": 8212, | |
"lsquo;": 8216, | |
"rsquo;": 8217, | |
"sbquo;": 8218, | |
"ldquo;": 8220, | |
"rdquo;": 8221, | |
"bdquo;": 8222, | |
"dagger;": 8224, | |
"Dagger;": 8225, | |
"bull;": 8226, | |
"hellip;": 8230, | |
"permil;": 8240, | |
"prime;": 8242, | |
"Prime;": 8243, | |
"lsaquo;": 8249, | |
"rsaquo;": 8250, | |
"oline;": 8254, | |
"frasl;": 8260, | |
"euro;": 8364, | |
"image;": 8465, | |
"weierp;": 8472, | |
"real;": 8476, | |
"trade;": 8482, | |
"alefsym;": 8501, | |
"larr;": 8592, | |
"uarr;": 8593, | |
"rarr;": 8594, | |
"darr;": 8595, | |
"harr;": 8596, | |
"crarr;": 8629, | |
"lArr;": 8656, | |
"uArr;": 8657, | |
"rArr;": 8658, | |
"dArr;": 8659, | |
"hArr;": 8660, | |
"forall;": 8704, | |
"part;": 8706, | |
"exist;": 8707, | |
"empty;": 8709, | |
"nabla;": 8711, | |
"isin;": 8712, | |
"notin;": 8713, | |
"ni;": 8715, | |
"prod;": 8719, | |
"sum;": 8721, | |
"minus;": 8722, | |
"lowast;": 8727, | |
"radic;": 8730, | |
"prop;": 8733, | |
"infin;": 8734, | |
"ang;": 8736, | |
"and;": 8743, | |
"or;": 8744, | |
"cap;": 8745, | |
"cup;": 8746, | |
"int;": 8747, | |
"there4;": 8756, | |
"sim;": 8764, | |
"cong;": 8773, | |
"asymp;": 8776, | |
"ne;": 8800, | |
"equiv;": 8801, | |
"le;": 8804, | |
"ge;": 8805, | |
"sub;": 8834, | |
"sup;": 8835, | |
"nsub;": 8836, | |
"sube;": 8838, | |
"supe;": 8839, | |
"oplus;": 8853, | |
"otimes;": 8855, | |
"perp;": 8869, | |
"sdot;": 8901, | |
"lceil;": 8968, | |
"rceil;": 8969, | |
"lfloor;": 8970, | |
"rfloor;": 8971, | |
"lang;": 9001, | |
"rang;": 9002, | |
"loz;": 9674, | |
"spades;": 9824, | |
"clubs;": 9827, | |
"hearts;": 9829, | |
"diams;": 9830 | |
} | |
}.call(this) | |
}, { | |
"./_count": 9 | |
} | |
], | |
11: [ | |
function(a, b, c) { | |
"use strict"; | |
var d, e = a("./element"), | |
f = a("./image-element"), | |
g = 0, | |
h = {}; | |
b.exports = function() { | |
var a = function(a) { | |
this.initialize(a) | |
}; | |
return a.prototype = { | |
initialize: function() { | |
var a = this; | |
d || document.body.kit || (d = Object.defineProperty(window.Element.prototype, "kit", { | |
get: function() { | |
return a.setup(this) | |
} | |
})) | |
}, | |
setup: function(a) { | |
var b; | |
return h[a._kitId] || (b = a instanceof window.HTMLImageElement ? f : e, g++, a._kitId = g, h[a._kitId] = new b(a)), h[a._kitId] | |
}, | |
destroy: function() {} | |
}, new a | |
}() | |
}, { | |
"./element": 12, | |
"./image-element": 13 | |
} | |
], | |
12: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./utils"), | |
e = (a("./element-kit"), a("string")), | |
f = function(a) { | |
this.initialize(a) | |
}; | |
f.prototype = { | |
initialize: function(a) { | |
this.el = a, this.classList = this._getClassList(), this._eventListenerMap = this._eventListenerMap || [], Object.defineProperty(this, "dataset", { | |
get: function() { | |
return this.getData() | |
}.bind(this) | |
}) | |
}, | |
_traverseEachParent: function(a, b) { | |
for (var c, d = b || this.el; d && "string" == typeof d.className && (c = a(d), void 0 === c || c);) d = d.parentNode | |
}, | |
appendOuterHtml: function(a) { | |
var b = this.el.parentNode, | |
c = d.createHtmlElement(a); | |
return b ? b.replaceChild(c, this.el) : (b = document.createDocumentFragment(), b.appendChild(c)), c.appendChild(this.el), c | |
}, | |
getUniqueId: function() { | |
return this.el._kitId | |
}, | |
getClosestAncestorElementByClassName: function(a) { | |
var b; | |
return this._traverseEachParent(function(c) { | |
return c.kit._hasClass(a) ? (b = c, !1) : void 0 | |
}, this.el.parentNode), b | |
}, | |
addEventListener: function(a, b, c, d) { | |
var e = b; | |
d = d || {}, "function" != typeof e && (e = this._createEventListener(c[b], c)), this.el.addEventListener(a, e, d.useCapture), this._eventListenerMap.push({ | |
event: a, | |
listener: e, | |
listenerId: b, | |
context: c | |
}) | |
}, | |
_createEventListener: function(a, b) { | |
return function(c) { | |
b = b || this, a.apply(b, arguments) | |
} | |
}, | |
removeEventListener: function(a, b, c) { | |
var d, e, f = this._eventListenerMap || []; | |
if (f.length) | |
for (d = 0; d < f.length; d++) | |
if (e = f[d], e && e.event === a && e.listenerId === b && e.context === c) { | |
this.el.removeEventListener(a, e.listener), this._eventListenerMap[d] = null; | |
break | |
} | |
}, | |
waitForTransition: function(a) { | |
var b = this.getTransitionDuration(); | |
a && (b > 0 ? setTimeout(a.bind(this, this.el), b) : a(this.el)) | |
}, | |
getTransitionDuration: function() { | |
var a, b = this.getCssComputedProperty("transition-delay") || "0ms", | |
c = this.getCssComputedProperty("transition-duration") || "0ms", | |
d = Array.isArray(c) ? c : [c], | |
e = Array.isArray(b) ? b : [b], | |
f = 0; | |
return d.push.apply(d, e), d.forEach(function(b) { | |
b.split(",").forEach(function(b) { | |
b = this._convertCssTimeValueToMilliseconds(b), a = this._getCssPropUnitMap(b), a.num > f && (f = a.num) | |
}.bind(this)) | |
}.bind(this)), f | |
}, | |
getCssComputedProperty: function(a) { | |
var b = window.getComputedStyle(this.el); | |
return b.getPropertyValue(a) || this.el.style[this._getJsPropName(a)] | |
}, | |
_getCssPropUnitMap: function(a) { | |
a.trim(); | |
var b = a.match("[0-9.]+"), | |
c = "ms"; | |
return b = b ? b[0] : "", b && (c = a.split(b)[1], b = Number(b)), { | |
num: b, | |
unit: c | |
} | |
}, | |
_convertCssTimeValueToMilliseconds: function(a) { | |
var b = this._getCssPropUnitMap(a).num, | |
c = a.replace(b, ""); | |
return a = "s" === c ? 1e3 * b : b, a + "ms" | |
}, | |
_getClassList: function() { | |
return { | |
add: this._addClass.bind(this), | |
remove: this._removeClass.bind(this), | |
contains: this._hasClass.bind(this), | |
toggle: this._toggleClass.bind(this) | |
} | |
}, | |
_getCssClasses: function() { | |
return this.el.className.split(" ") | |
}, | |
_toggleClass: function(a) { | |
this._hasClass(a) ? this._removeClass(a) : this._addClass(a) | |
}, | |
_addClass: function() { | |
"classList" in document.createElement("_") ? this._each(arguments, function(a) { | |
this.el.classList.add(a) | |
}.bind(this)) : this._each(arguments, function(a) { | |
this._hasClass(a) || (this.el.className = this.el.className ? this.el.className + " " + a : a) | |
}.bind(this)) | |
}, | |
_each: function(a, b) { | |
var c, d = a.length; | |
for (c = 0; d > c; c++) b(a[c]) | |
}, | |
_removeClass: function() { | |
var a; | |
"classList" in document.createElement("_") ? this._each(arguments, function(a) { | |
this.el.classList.remove(a) | |
}.bind(this)) : this._each(arguments, function(b) { | |
this.el.className === b ? this.el.className = "" : (a = "[\\s]*" + b, a = new RegExp(a, "i"), this.el.className = this.el.className.replace(a, "")) | |
}.bind(this)) | |
}, | |
_hasClass: function(a) { | |
var b = this._getCssClasses(); | |
return -1 !== b.indexOf(a) | |
}, | |
_getJsPropName: function(a) { | |
return a = a.replace(/-([a-z])/g, function(a) { | |
return a[1].toUpperCase() | |
}) | |
}, | |
getAttributes: function() { | |
var a = this.el.attributes, | |
b = {}; | |
if (a.length) | |
for (var c = 0; c < a.length; c++) b[a[c].name] = a[c].value; | |
return b | |
}, | |
_getDomData: function() { | |
var a, b, c = this.getAttributes(), | |
d = {}; | |
for (a in c) c.hasOwnProperty(a) && (b = c[a], 0 === a.indexOf("data-") && (a = a.substr(5), a = e(a).camelize().s, d[a] = b)); | |
return d | |
}, | |
getData: function() { | |
var a; | |
this._data = d.extend({}, this._data, this._getDomData()); | |
for (a in this._data) | |
if (this._data.hasOwnProperty(a)) { | |
var b = this._data[a]; | |
Object.defineProperty(this._data, a, { | |
writeable: !0, | |
get: function() { | |
return b | |
}.bind(this), | |
set: function(b) { | |
this.setData.bind(this, a, b) | |
}.bind(this) | |
}) | |
} | |
return this._data | |
}, | |
setData: function(a, b) { | |
this.el.setAttribute("data-" + a, b), this._data[a] = b | |
}, | |
destroy: function() {} | |
}, b.exports = f | |
}, { | |
"./element-kit": 11, | |
"./utils": 14, | |
string: 10 | |
} | |
], | |
13: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./utils"), | |
e = a("./element"), | |
f = a("promise"), | |
g = function(a) { | |
e.prototype.initialize.call(this, a) | |
}; | |
g.prototype = d.extend({}, e.prototype, { | |
load: function(a) { | |
return (a = this.el.getAttribute(a) || a) ? (-1 !== a.indexOf(",") && (a = this._getImageSourceSetPath(a)), this._loadImage(a)) : (console.warn("ElementKit error: undefined was passed to load() call"), f.resolve()) | |
}, | |
_loadImage: function(a) { | |
var b = this.el; | |
return new f(function(c) { | |
b.onload = function() { | |
c(b) | |
}, b.onerror = function() { | |
c(b) | |
}, b.src = a | |
}) | |
}, | |
_getImageSourceSetPath: function(a) { | |
var b, c, d, e, f, g = window.innerWidth, | |
h = window.innerHeight; | |
return a.split(",").forEach(function(a) { | |
c = this._buildSourceMapWidthHeight(a), d = c.width || 0, e = c.height || 0, !f && g >= d && h >= e && (b = a.split(" ")[0], f = !0) | |
}.bind(this)), b | |
}, | |
_buildSourceMapWidthHeight: function(a, b) { | |
var c, d = a.split(" "), | |
e = function(a) { | |
return Number(a.substr(0, a.length - 1)) | |
}; | |
return b = b || {}, d.shift(), d.forEach(function(a) { | |
c = a.charAt(a.length - 1), "w" === c ? b.width = e(a) : "h" === c && (b.height = e(a)) | |
}), b | |
} | |
}), b.exports = g | |
}, { | |
"./element": 12, | |
"./utils": 14, | |
promise: 57 | |
} | |
], | |
14: [ | |
function(a, b, c) { | |
b.exports = { | |
createHtmlElement: function(a) { | |
var b, c; | |
return a ? (a = a.trim(a), b = document.createElement("div"), b.innerHTML = a, c = b.childNodes[0], b.removeChild(c)) : void 0 | |
}, | |
extend: function(a) { | |
var b, c, d = a; | |
for (c = 1; c < arguments.length; c++) { | |
b = arguments[c]; | |
for (var e in b) b.hasOwnProperty(e) && (d[e] = b[e]) | |
} | |
return d | |
}, | |
triggerHtmlCollectionMethod: function(a, b, c) { | |
var d, e, f = a.length; | |
for (d = 0; f > d; d++) e = a[d], e.kit[b].apply(e.kit, c) | |
} | |
} | |
}, {} | |
], | |
15: [ | |
function(a, b, c) { | |
arguments[4][6][0].apply(c, arguments) | |
}, { | |
dup: 6 | |
} | |
], | |
16: [ | |
function(a, b, c) {}, {} | |
], | |
17: [ | |
function(a, b, c) { | |
b.exports = function() { | |
var b = a("events"), | |
c = {}; | |
return c.createDomain = c.create = function() { | |
function a(a) { | |
c.emit("error", a) | |
} | |
var c = new b.EventEmitter; | |
return c.add = function(b) { | |
b.on("error", a) | |
}, c.remove = function(b) { | |
b.removeListener("error", a) | |
}, c.bind = function(b) { | |
return function() { | |
var c = Array.prototype.slice.call(arguments); | |
try { | |
b.apply(null, c) | |
} catch (d) { | |
a(d) | |
} | |
} | |
}, c.intercept = function(b) { | |
return function(c) { | |
if (c) a(c); | |
else { | |
var d = Array.prototype.slice.call(arguments, 1); | |
try { | |
b.apply(null, d) | |
} catch (c) { | |
a(c) | |
} | |
} | |
} | |
}, c.run = function(b) { | |
try { | |
b() | |
} catch (c) { | |
a(c) | |
} | |
return this | |
}, c.dispose = function() { | |
return this.removeAllListeners(), this | |
}, c.enter = c.exit = function() { | |
return this | |
}, c | |
}, c | |
}.call(this) | |
}, { | |
events: 18 | |
} | |
], | |
18: [ | |
function(a, b, c) { | |
function d() { | |
this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0 | |
} | |
function e(a) { | |
return "function" == typeof a | |
} | |
function f(a) { | |
return "number" == typeof a | |
} | |
function g(a) { | |
return "object" == typeof a && null !== a | |
} | |
function h(a) { | |
return void 0 === a | |
} | |
b.exports = d, d.EventEmitter = d, d.prototype._events = void 0, d.prototype._maxListeners = void 0, d.defaultMaxListeners = 10, d.prototype.setMaxListeners = function(a) { | |
if (!f(a) || 0 > a || isNaN(a)) throw TypeError("n must be a positive number"); | |
return this._maxListeners = a, this | |
}, d.prototype.emit = function(a) { | |
var b, c, d, f, i, j; | |
if (this._events || (this._events = {}), "error" === a && (!this._events.error || g(this._events.error) && !this._events.error.length)) { | |
if (b = arguments[1], b instanceof Error) throw b; | |
throw TypeError('Uncaught, unspecified "error" event.') | |
} | |
if (c = this._events[a], h(c)) return !1; | |
if (e(c)) switch (arguments.length) { | |
case 1: | |
c.call(this); | |
break; | |
case 2: | |
c.call(this, arguments[1]); | |
break; | |
case 3: | |
c.call(this, arguments[1], arguments[2]); | |
break; | |
default: | |
for (d = arguments.length, f = new Array(d - 1), i = 1; d > i; i++) f[i - 1] = arguments[i]; | |
c.apply(this, f) | |
} else if (g(c)) { | |
for (d = arguments.length, f = new Array(d - 1), i = 1; d > i; i++) f[i - 1] = arguments[i]; | |
for (j = c.slice(), d = j.length, i = 0; d > i; i++) j[i].apply(this, f) | |
} | |
return !0 | |
}, d.prototype.addListener = function(a, b) { | |
var c; | |
if (!e(b)) throw TypeError("listener must be a function"); | |
if (this._events || (this._events = {}), this._events.newListener && this.emit("newListener", a, e(b.listener) ? b.listener : b), this._events[a] ? g(this._events[a]) ? this._events[a].push(b) : this._events[a] = [this._events[a], b] : this._events[a] = b, g(this._events[a]) && !this._events[a].warned) { | |
var c; | |
c = h(this._maxListeners) ? d.defaultMaxListeners : this._maxListeners, c && c > 0 && this._events[a].length > c && (this._events[a].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[a].length), "function" == typeof console.trace && console.trace()) | |
} | |
return this | |
}, d.prototype.on = d.prototype.addListener, d.prototype.once = function(a, b) { | |
function c() { | |
this.removeListener(a, c), d || (d = !0, b.apply(this, arguments)) | |
} | |
if (!e(b)) throw TypeError("listener must be a function"); | |
var d = !1; | |
return c.listener = b, this.on(a, c), this | |
}, d.prototype.removeListener = function(a, b) { | |
var c, d, f, h; | |
if (!e(b)) throw TypeError("listener must be a function"); | |
if (!this._events || !this._events[a]) return this; | |
if (c = this._events[a], f = c.length, d = -1, c === b || e(c.listener) && c.listener === b) delete this._events[a], this._events.removeListener && this.emit("removeListener", a, b); | |
else if (g(c)) { | |
for (h = f; h-- > 0;) | |
if (c[h] === b || c[h].listener && c[h].listener === b) { | |
d = h; | |
break | |
} | |
if (0 > d) return this; | |
1 === c.length ? (c.length = 0, delete this._events[a]) : c.splice(d, 1), this._events.removeListener && this.emit("removeListener", a, b) | |
} | |
return this | |
}, d.prototype.removeAllListeners = function(a) { | |
var b, c; | |
if (!this._events) return this; | |
if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[a] && delete this._events[a], this; | |
if (0 === arguments.length) { | |
for (b in this._events) "removeListener" !== b && this.removeAllListeners(b); | |
return this.removeAllListeners("removeListener"), this._events = {}, this | |
} | |
if (c = this._events[a], e(c)) this.removeListener(a, c); | |
else | |
for (; c.length;) this.removeListener(a, c[c.length - 1]); | |
return delete this._events[a], this | |
}, d.prototype.listeners = function(a) { | |
var b; | |
return b = this._events && this._events[a] ? e(this._events[a]) ? [this._events[a]] : this._events[a].slice() : [] | |
}, d.listenerCount = function(a, b) { | |
var c; | |
return c = a._events && a._events[b] ? e(a._events[b]) ? 1 : a._events[b].length : 0 | |
} | |
}, {} | |
], | |
19: [ | |
function(a, b, c) { | |
(function(a) { | |
function b(a, b) { | |
for (var c = 0, d = a.length - 1; d >= 0; d--) { | |
var e = a[d]; | |
"." === e ? a.splice(d, 1) : ".." === e ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--) | |
} | |
if (b) | |
for (; c--; c) a.unshift(".."); | |
return a | |
} | |
function d(a, b) { | |
if (a.filter) return a.filter(b); | |
for (var c = [], d = 0; d < a.length; d++) b(a[d], d, a) && c.push(a[d]); | |
return c | |
} | |
var e = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/, | |
f = function(a) { | |
return e.exec(a).slice(1) | |
}; | |
c.resolve = function() { | |
for (var c = "", e = !1, f = arguments.length - 1; f >= -1 && !e; f--) { | |
var g = f >= 0 ? arguments[f] : a.cwd(); | |
if ("string" != typeof g) throw new TypeError("Arguments to path.resolve must be strings"); | |
g && (c = g + "/" + c, e = "/" === g.charAt(0)) | |
} | |
return c = b(d(c.split("/"), function(a) { | |
return !!a | |
}), !e).join("/"), (e ? "/" : "") + c || "." | |
}, c.normalize = function(a) { | |
var e = c.isAbsolute(a), | |
f = "/" === g(a, -1); | |
return a = b(d(a.split("/"), function(a) { | |
return !!a | |
}), !e).join("/"), a || e || (a = "."), a && f && (a += "/"), (e ? "/" : "") + a | |
}, c.isAbsolute = function(a) { | |
return "/" === a.charAt(0) | |
}, c.join = function() { | |
var a = Array.prototype.slice.call(arguments, 0); | |
return c.normalize(d(a, function(a, b) { | |
if ("string" != typeof a) throw new TypeError("Arguments to path.join must be strings"); | |
return a | |
}).join("/")) | |
}, c.relative = function(a, b) { | |
function d(a) { | |
for (var b = 0; b < a.length && "" === a[b]; b++); | |
for (var c = a.length - 1; c >= 0 && "" === a[c]; c--); | |
return b > c ? [] : a.slice(b, c - b + 1) | |
} | |
a = c.resolve(a).substr(1), b = c.resolve(b).substr(1); | |
for (var e = d(a.split("/")), f = d(b.split("/")), g = Math.min(e.length, f.length), h = g, i = 0; g > i; i++) | |
if (e[i] !== f[i]) { | |
h = i; | |
break | |
} | |
for (var j = [], i = h; i < e.length; i++) j.push(".."); | |
return j = j.concat(f.slice(h)), j.join("/") | |
}, c.sep = "/", c.delimiter = ":", c.dirname = function(a) { | |
var b = f(a), | |
c = b[0], | |
d = b[1]; | |
return c || d ? (d && (d = d.substr(0, d.length - 1)), c + d) : "." | |
}, c.basename = function(a, b) { | |
var c = f(a)[2]; | |
return b && c.substr(-1 * b.length) === b && (c = c.substr(0, c.length - b.length)), c | |
}, c.extname = function(a) { | |
return f(a)[3] | |
}; | |
var g = "b" === "ab".substr(-1) ? function(a, b, c) { | |
return a.substr(b, c) | |
} : function(a, b, c) { | |
return 0 > b && (b = a.length + b), a.substr(b, c) | |
} | |
}).call(this, a("_process")) | |
}, { | |
_process: 20 | |
} | |
], | |
20: [ | |
function(a, b, c) { | |
function d() { | |
if (!h) { | |
h = !0; | |
for (var a, b = g.length; b;) { | |
a = g, g = []; | |
for (var c = -1; ++c < b;) a[c](); | |
b = g.length | |
} | |
h = !1 | |
} | |
} | |
function e() {} | |
var f = b.exports = {}, g = [], | |
h = !1; | |
f.nextTick = function(a) { | |
g.push(a), h || setTimeout(d, 0) | |
}, f.title = "browser", f.browser = !0, f.env = {}, f.argv = [], f.version = "", f.versions = {}, f.on = e, f.addListener = e, f.once = e, f.off = e, f.removeListener = e, f.removeAllListeners = e, f.emit = e, f.binding = function(a) { | |
throw new Error("process.binding is not supported") | |
}, f.cwd = function() { | |
return "/" | |
}, f.chdir = function(a) { | |
throw new Error("process.chdir is not supported") | |
}, f.umask = function() { | |
return 0 | |
} | |
}, {} | |
], | |
21: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./slugify.js"); | |
b.exports = function(a) { | |
var b = a.Handlebars, | |
c = {}; | |
return c.slugify = function(a) { | |
return new b.SafeString(d(a)) | |
}, c | |
} | |
}, { | |
"./slugify.js": 22 | |
} | |
], | |
22: [ | |
function(a, b, c) { | |
var d = String.prototype.trim, | |
e = function(a) { | |
return null == a ? "" : String(a).replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1") | |
}, f = function(a) { | |
return null == a ? "\\s" : a.source ? a.source : "[" + e(a) + "]" | |
}, g = function(a, b) { | |
return null == a ? "" : !b && d ? d.call(a) : (b = f(b), String(a).replace(new RegExp("^" + b + "+|" + b + "+$", "g"), "")) | |
}, h = function(a) { | |
return g(a).replace(/([A-Z])/g, "-$1").replace(/[-_\s]+/g, "-").toLowerCase() | |
}; | |
b.exports = function(a) { | |
if (null == a) return ""; | |
var b = "ąà áäâãåæăćęèéëêìÃïîłńòóöôõøśșțùúüûñçżź", | |
c = "aaaaaaaaaceeeeeiiiilnoooooosstuuuunczz", | |
d = new RegExp(f(b), "g"); | |
return a = String(a).toLowerCase().replace(d, function(a) { | |
var d = b.indexOf(a); | |
return c.charAt(d) || "-" | |
}), h(a.replace(/[^\w\s-]/g, "")).replace(/^\W|\W$/g, "") | |
} | |
}, {} | |
], | |
23: [ | |
function(a, b, c) { | |
"use strict"; | |
function d() { | |
var a = r(); | |
return a.compile = function(b, c) { | |
return k.compile(b, c, a) | |
}, a.precompile = function(b, c) { | |
return k.precompile(b, c, a) | |
}, a.AST = i["default"], a.Compiler = k.Compiler, a.JavaScriptCompiler = m["default"], a.Parser = j.parser, a.parse = j.parse, a | |
} | |
var e = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0; | |
var f = a("./handlebars.runtime"), | |
g = e(f), | |
h = a("./handlebars/compiler/ast"), | |
i = e(h), | |
j = a("./handlebars/compiler/base"), | |
k = a("./handlebars/compiler/compiler"), | |
l = a("./handlebars/compiler/javascript-compiler"), | |
m = e(l), | |
n = a("./handlebars/compiler/visitor"), | |
o = e(n), | |
p = a("./handlebars/no-conflict"), | |
q = e(p), | |
r = g["default"].create, | |
s = d(); | |
s.create = d, q["default"](s), s.Visitor = o["default"], s["default"] = s, c["default"] = s, b.exports = c["default"] | |
}, { | |
"./handlebars.runtime": 24, | |
"./handlebars/compiler/ast": 26, | |
"./handlebars/compiler/base": 27, | |
"./handlebars/compiler/compiler": 29, | |
"./handlebars/compiler/javascript-compiler": 31, | |
"./handlebars/compiler/visitor": 34, | |
"./handlebars/no-conflict": 37 | |
} | |
], | |
24: [ | |
function(a, b, c) { | |
"use strict"; | |
function d() { | |
var a = new g.HandlebarsEnvironment; | |
return m.extend(a, g), a.SafeString = i["default"], a.Exception = k["default"], a.Utils = m, a.escapeExpression = m.escapeExpression, a.VM = o, a.template = function(b) { | |
return o.template(b, a) | |
}, a | |
} | |
var e = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0; | |
var f = a("./handlebars/base"), | |
g = e(f), | |
h = a("./handlebars/safe-string"), | |
i = e(h), | |
j = a("./handlebars/exception"), | |
k = e(j), | |
l = a("./handlebars/utils"), | |
m = e(l), | |
n = a("./handlebars/runtime"), | |
o = e(n), | |
p = a("./handlebars/no-conflict"), | |
q = e(p), | |
r = d(); | |
r.create = d, q["default"](r), r["default"] = r, c["default"] = r, b.exports = c["default"] | |
}, { | |
"./handlebars/base": 25, | |
"./handlebars/exception": 36, | |
"./handlebars/no-conflict": 37, | |
"./handlebars/runtime": 38, | |
"./handlebars/safe-string": 39, | |
"./handlebars/utils": 40 | |
} | |
], | |
25: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a, b) { | |
this.helpers = a || {}, this.partials = b || {}, e(this) | |
} | |
function e(a) { | |
a.registerHelper("helperMissing", function() { | |
if (1 === arguments.length) return void 0; | |
throw new k["default"]('Missing helper: "' + arguments[arguments.length - 1].name + '"') | |
}), a.registerHelper("blockHelperMissing", function(b, c) { | |
var d = c.inverse, | |
e = c.fn; | |
if (b === !0) return e(this); | |
if (b === !1 || null == b) return d(this); | |
if (o(b)) return b.length > 0 ? (c.ids && (c.ids = [c.name]), a.helpers.each(b, c)) : d(this); | |
if (c.data && c.ids) { | |
var g = f(c.data); | |
g.contextPath = i.appendContextPath(c.data.contextPath, c.name), c = { | |
data: g | |
} | |
} | |
return e(b, c) | |
}), a.registerHelper("each", function(a, b) { | |
function c(b, c, e) { | |
j && (j.key = b, j.index = c, j.first = 0 === c, j.last = !! e, l && (j.contextPath = l + b)), h += d(a[b], { | |
data: j, | |
blockParams: i.blockParams([a[b], b], [l + b, null]) | |
}) | |
} | |
if (!b) throw new k["default"]("Must pass iterator to #each"); | |
var d = b.fn, | |
e = b.inverse, | |
g = 0, | |
h = "", | |
j = void 0, | |
l = void 0; | |
if (b.data && b.ids && (l = i.appendContextPath(b.data.contextPath, b.ids[0]) + "."), p(a) && (a = a.call(this)), b.data && (j = f(b.data)), a && "object" == typeof a) | |
if (o(a)) | |
for (var m = a.length; m > g; g++) c(g, g, g === a.length - 1); | |
else { | |
var n = void 0; | |
for (var q in a) a.hasOwnProperty(q) && (n && c(n, g - 1), n = q, g++); | |
n && c(n, g - 1, !0) | |
} | |
return 0 === g && (h = e(this)), h | |
}), a.registerHelper("if", function(a, b) { | |
return p(a) && (a = a.call(this)), !b.hash.includeZero && !a || i.isEmpty(a) ? b.inverse(this) : b.fn(this) | |
}), a.registerHelper("unless", function(b, c) { | |
return a.helpers["if"].call(this, b, { | |
fn: c.inverse, | |
inverse: c.fn, | |
hash: c.hash | |
}) | |
}), a.registerHelper("with", function(a, b) { | |
p(a) && (a = a.call(this)); | |
var c = b.fn; | |
if (i.isEmpty(a)) return b.inverse(this); | |
if (b.data && b.ids) { | |
var d = f(b.data); | |
d.contextPath = i.appendContextPath(b.data.contextPath, b.ids[0]), b = { | |
data: d | |
} | |
} | |
return c(a, b) | |
}), a.registerHelper("log", function(b, c) { | |
var d = c.data && null != c.data.level ? parseInt(c.data.level, 10) : 1; | |
a.log(d, b) | |
}), a.registerHelper("lookup", function(a, b) { | |
return a && a[b] | |
}) | |
} | |
function f(a) { | |
var b = i.extend({}, a); | |
return b._parent = a, b | |
} | |
var g = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0, c.HandlebarsEnvironment = d, c.createFrame = f; | |
var h = a("./utils"), | |
i = g(h), | |
j = a("./exception"), | |
k = g(j), | |
l = "3.0.1"; | |
c.VERSION = l; | |
var m = 6; | |
c.COMPILER_REVISION = m; | |
var n = { | |
1: "<= 1.0.rc.2", | |
2: "== 1.0.0-rc.3", | |
3: "== 1.0.0-rc.4", | |
4: "== 1.x.x", | |
5: "== 2.0.0-alpha.x", | |
6: ">= 2.0.0-beta.1" | |
}; | |
c.REVISION_CHANGES = n; | |
var o = i.isArray, | |
p = i.isFunction, | |
q = i.toString, | |
r = "[object Object]"; | |
d.prototype = { | |
constructor: d, | |
logger: s, | |
log: t, | |
registerHelper: function(a, b) { | |
if (q.call(a) === r) { | |
if (b) throw new k["default"]("Arg not supported with multiple helpers"); | |
i.extend(this.helpers, a) | |
} else this.helpers[a] = b | |
}, | |
unregisterHelper: function(a) { | |
delete this.helpers[a] | |
}, | |
registerPartial: function(a, b) { | |
if (q.call(a) === r) i.extend(this.partials, a); | |
else { | |
if ("undefined" == typeof b) throw new k["default"]("Attempting to register a partial as undefined"); | |
this.partials[a] = b | |
} | |
}, | |
unregisterPartial: function(a) { | |
delete this.partials[a] | |
} | |
}; | |
var s = { | |
methodMap: { | |
0: "debug", | |
1: "info", | |
2: "warn", | |
3: "error" | |
}, | |
DEBUG: 0, | |
INFO: 1, | |
WARN: 2, | |
ERROR: 3, | |
level: 1, | |
log: function(a, b) { | |
if ("undefined" != typeof console && s.level <= a) { | |
var c = s.methodMap[a]; | |
(console[c] || console.log).call(console, b) | |
} | |
} | |
}; | |
c.logger = s; | |
var t = s.log; | |
c.log = t | |
}, { | |
"./exception": 36, | |
"./utils": 40 | |
} | |
], | |
26: [ | |
function(a, b, c) { | |
"use strict"; | |
c.__esModule = !0; | |
var d = { | |
Program: function(a, b, c, d) { | |
this.loc = d, this.type = "Program", this.body = a, this.blockParams = b, this.strip = c | |
}, | |
MustacheStatement: function(a, b, c, d, e, f) { | |
this.loc = f, this.type = "MustacheStatement", this.path = a, this.params = b || [], this.hash = c, this.escaped = d, this.strip = e | |
}, | |
BlockStatement: function(a, b, c, d, e, f, g, h, i) { | |
this.loc = i, this.type = "BlockStatement", this.path = a, this.params = b || [], this.hash = c, this.program = d, this.inverse = e, this.openStrip = f, this.inverseStrip = g, this.closeStrip = h | |
}, | |
PartialStatement: function(a, b, c, d, e) { | |
this.loc = e, this.type = "PartialStatement", this.name = a, this.params = b || [], this.hash = c, this.indent = "", this.strip = d | |
}, | |
ContentStatement: function(a, b) { | |
this.loc = b, this.type = "ContentStatement", this.original = this.value = a | |
}, | |
CommentStatement: function(a, b, c) { | |
this.loc = c, this.type = "CommentStatement", this.value = a, this.strip = b | |
}, | |
SubExpression: function(a, b, c, d) { | |
this.loc = d, this.type = "SubExpression", this.path = a, this.params = b || [], this.hash = c | |
}, | |
PathExpression: function(a, b, c, d, e) { | |
this.loc = e, this.type = "PathExpression", this.data = a, this.original = d, this.parts = c, this.depth = b | |
}, | |
StringLiteral: function(a, b) { | |
this.loc = b, this.type = "StringLiteral", this.original = this.value = a | |
}, | |
NumberLiteral: function(a, b) { | |
this.loc = b, this.type = "NumberLiteral", this.original = this.value = Number(a) | |
}, | |
BooleanLiteral: function(a, b) { | |
this.loc = b, this.type = "BooleanLiteral", this.original = this.value = "true" === a | |
}, | |
UndefinedLiteral: function(a) { | |
this.loc = a, this.type = "UndefinedLiteral", this.original = this.value = void 0 | |
}, | |
NullLiteral: function(a) { | |
this.loc = a, this.type = "NullLiteral", this.original = this.value = null | |
}, | |
Hash: function(a, b) { | |
this.loc = b, this.type = "Hash", this.pairs = a | |
}, | |
HashPair: function(a, b, c) { | |
this.loc = c, this.type = "HashPair", this.key = a, this.value = b | |
}, | |
helpers: { | |
helperExpression: function(a) { | |
return !("SubExpression" !== a.type && !a.params.length && !a.hash) | |
}, | |
scopedId: function(a) { | |
return /^\.|this\b/.test(a.original) | |
}, | |
simpleId: function(a) { | |
return 1 === a.parts.length && !d.helpers.scopedId(a) && !a.depth | |
} | |
} | |
}; | |
c["default"] = d, b.exports = c["default"] | |
}, {} | |
], | |
27: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a, b) { | |
if ("Program" === a.type) return a; | |
g["default"].yy = o, o.locInfo = function(a) { | |
return new o.SourceLocation(b && b.srcName, a) | |
}; | |
var c = new k["default"]; | |
return c.accept(g["default"].parse(a)) | |
} | |
var e = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0, c.parse = d; | |
var f = a("./parser"), | |
g = e(f), | |
h = a("./ast"), | |
i = e(h), | |
j = a("./whitespace-control"), | |
k = e(j), | |
l = a("./helpers"), | |
m = e(l), | |
n = a("../utils"); | |
c.parser = g["default"]; | |
var o = {}; | |
n.extend(o, m, i["default"]) | |
}, { | |
"../utils": 40, | |
"./ast": 26, | |
"./helpers": 30, | |
"./parser": 32, | |
"./whitespace-control": 35 | |
} | |
], | |
28: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a, b, c) { | |
if (f.isArray(a)) { | |
for (var d = [], e = 0, g = a.length; g > e; e++) d.push(b.wrap(a[e], c)); | |
return d | |
} | |
return "boolean" == typeof a || "number" == typeof a ? a + "" : a | |
} | |
function e(a) { | |
this.srcFile = a, this.source = [] | |
} | |
c.__esModule = !0; | |
var f = a("../utils"), | |
g = void 0; | |
try { | |
if ("function" != typeof define || !define.amd) { | |
var h = a("source-map"); | |
g = h.SourceNode | |
} | |
} catch (i) {} | |
g || (g = function(a, b, c, d) { | |
this.src = "", d && this.add(d) | |
}, g.prototype = { | |
add: function(a) { | |
f.isArray(a) && (a = a.join("")), this.src += a | |
}, | |
prepend: function(a) { | |
f.isArray(a) && (a = a.join("")), this.src = a + this.src | |
}, | |
toStringWithSourceMap: function() { | |
return { | |
code: this.toString() | |
} | |
}, | |
toString: function() { | |
return this.src | |
} | |
}), e.prototype = { | |
prepend: function(a, b) { | |
this.source.unshift(this.wrap(a, b)) | |
}, | |
push: function(a, b) { | |
this.source.push(this.wrap(a, b)) | |
}, | |
merge: function() { | |
var a = this.empty(); | |
return this.each(function(b) { | |
a.add([" ", b, "\n"]) | |
}), a | |
}, | |
each: function(a) { | |
for (var b = 0, c = this.source.length; c > b; b++) a(this.source[b]) | |
}, | |
empty: function() { | |
var a = void 0 === arguments[0] ? this.currentLocation || { | |
start: {} | |
} : arguments[0]; | |
return new g(a.start.line, a.start.column, this.srcFile) | |
}, | |
wrap: function(a) { | |
var b = void 0 === arguments[1] ? this.currentLocation || { | |
start: {} | |
} : arguments[1]; | |
return a instanceof g ? a : (a = d(a, this, b), new g(b.start.line, b.start.column, this.srcFile, a)) | |
}, | |
functionCall: function(a, b, c) { | |
return c = this.generateList(c), this.wrap([a, b ? "." + b + "(" : "(", c, ")"]) | |
}, | |
quotedString: function(a) { | |
return '"' + (a + "").replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029") + '"' | |
}, | |
objectLiteral: function(a) { | |
var b = []; | |
for (var c in a) | |
if (a.hasOwnProperty(c)) { | |
var e = d(a[c], this); | |
"undefined" !== e && b.push([this.quotedString(c), ":", e]) | |
} | |
var f = this.generateList(b); | |
return f.prepend("{"), f.add("}"), f | |
}, | |
generateList: function(a, b) { | |
for (var c = this.empty(b), e = 0, f = a.length; f > e; e++) e && c.add(","), c.add(d(a[e], this, b)); | |
return c | |
}, | |
generateArray: function(a, b) { | |
var c = this.generateList(a, b); | |
return c.prepend("["), c.add("]"), c | |
} | |
}, c["default"] = e, b.exports = c["default"] | |
}, { | |
"../utils": 40, | |
"source-map": 42 | |
} | |
], | |
29: [ | |
function(a, b, c) { | |
"use strict"; | |
function d() {} | |
function e(a, b, c) { | |
if (null == a || "string" != typeof a && "Program" !== a.type) throw new k["default"]("You must pass a string or Handlebars AST to Handlebars.precompile. You passed " + a); | |
b = b || {}, "data" in b || (b.data = !0), b.compat && (b.useDepths = !0); | |
var d = c.parse(a, b), | |
e = (new c.Compiler).compile(d, b); | |
return (new c.JavaScriptCompiler).compile(e, b) | |
} | |
function f(a, b, c) { | |
function d() { | |
var b = c.parse(a, f), | |
d = (new c.Compiler).compile(b, f), | |
e = (new c.JavaScriptCompiler).compile(d, f, void 0, !0); | |
return c.template(e) | |
} | |
function e(a, b) { | |
return g || (g = d()), g.call(this, a, b) | |
} | |
var f = void 0 === arguments[1] ? {} : arguments[1]; | |
if (null == a || "string" != typeof a && "Program" !== a.type) throw new k["default"]("You must pass a string or Handlebars AST to Handlebars.compile. You passed " + a); | |
"data" in f || (f.data = !0), f.compat && (f.useDepths = !0); | |
var g = void 0; | |
return e._setup = function(a) { | |
return g || (g = d()), g._setup(a) | |
}, e._child = function(a, b, c, e) { | |
return g || (g = d()), g._child(a, b, c, e) | |
}, e | |
} | |
function g(a, b) { | |
if (a === b) return !0; | |
if (l.isArray(a) && l.isArray(b) && a.length === b.length) { | |
for (var c = 0; c < a.length; c++) | |
if (!g(a[c], b[c])) return !1; | |
return !0 | |
} | |
} | |
function h(a) { | |
if (!a.path.parts) { | |
var b = a.path; | |
a.path = new n["default"].PathExpression(!1, 0, [b.original + ""], b.original + "", b.loc) | |
} | |
} | |
var i = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0, c.Compiler = d, c.precompile = e, c.compile = f; | |
var j = a("../exception"), | |
k = i(j), | |
l = a("../utils"), | |
m = a("./ast"), | |
n = i(m), | |
o = [].slice; | |
d.prototype = { | |
compiler: d, | |
equals: function(a) { | |
var b = this.opcodes.length; | |
if (a.opcodes.length !== b) return !1; | |
for (var c = 0; b > c; c++) { | |
var d = this.opcodes[c], | |
e = a.opcodes[c]; | |
if (d.opcode !== e.opcode || !g(d.args, e.args)) return !1 | |
} | |
b = this.children.length; | |
for (var c = 0; b > c; c++) | |
if (!this.children[c].equals(a.children[c])) return !1; | |
return !0 | |
}, | |
guid: 0, | |
compile: function(a, b) { | |
this.sourceNode = [], this.opcodes = [], this.children = [], this.options = b, this.stringParams = b.stringParams, this.trackIds = b.trackIds, b.blockParams = b.blockParams || []; | |
var c = b.knownHelpers; | |
if (b.knownHelpers = { | |
helperMissing: !0, | |
blockHelperMissing: !0, | |
each: !0, | |
"if": !0, | |
unless: !0, | |
"with": !0, | |
log: !0, | |
lookup: !0 | |
}, c) | |
for (var d in c) d in c && (b.knownHelpers[d] = c[d]); | |
return this.accept(a) | |
}, | |
compileProgram: function(a) { | |
var b = new this.compiler, | |
c = b.compile(a, this.options), | |
d = this.guid++; | |
return this.usePartial = this.usePartial || c.usePartial, this.children[d] = c, this.useDepths = this.useDepths || c.useDepths, d | |
}, | |
accept: function(a) { | |
this.sourceNode.unshift(a); | |
var b = this[a.type](a); | |
return this.sourceNode.shift(), b | |
}, | |
Program: function(a) { | |
this.options.blockParams.unshift(a.blockParams); | |
for (var b = a.body, c = b.length, d = 0; c > d; d++) this.accept(b[d]); | |
return this.options.blockParams.shift(), this.isSimple = 1 === c, this.blockParams = a.blockParams ? a.blockParams.length : 0, this | |
}, | |
BlockStatement: function(a) { | |
h(a); | |
var b = a.program, | |
c = a.inverse; | |
b = b && this.compileProgram(b), c = c && this.compileProgram(c); | |
var d = this.classifySexpr(a); | |
"helper" === d ? this.helperSexpr(a, b, c) : "simple" === d ? (this.simpleSexpr(a), this.opcode("pushProgram", b), this.opcode("pushProgram", c), this.opcode("emptyHash"), this.opcode("blockValue", a.path.original)) : (this.ambiguousSexpr(a, b, c), this.opcode("pushProgram", b), this.opcode("pushProgram", c), this.opcode("emptyHash"), this.opcode("ambiguousBlockValue")), this.opcode("append") | |
}, | |
PartialStatement: function(a) { | |
this.usePartial = !0; | |
var b = a.params; | |
if (b.length > 1) throw new k["default"]("Unsupported number of partial arguments: " + b.length, a); | |
b.length || b.push({ | |
type: "PathExpression", | |
parts: [], | |
depth: 0 | |
}); | |
var c = a.name.original, | |
d = "SubExpression" === a.name.type; | |
d && this.accept(a.name), this.setupFullMustacheParams(a, void 0, void 0, !0); | |
var e = a.indent || ""; | |
this.options.preventIndent && e && (this.opcode("appendContent", e), e = ""), this.opcode("invokePartial", d, c, e), this.opcode("append") | |
}, | |
MustacheStatement: function(a) { | |
this.SubExpression(a), a.escaped && !this.options.noEscape ? this.opcode("appendEscaped") : this.opcode("append") | |
}, | |
ContentStatement: function(a) { | |
a.value && this.opcode("appendContent", a.value) | |
}, | |
CommentStatement: function() {}, | |
SubExpression: function(a) { | |
h(a); | |
var b = this.classifySexpr(a); | |
"simple" === b ? this.simpleSexpr(a) : "helper" === b ? this.helperSexpr(a) : this.ambiguousSexpr(a) | |
}, | |
ambiguousSexpr: function(a, b, c) { | |
var d = a.path, | |
e = d.parts[0], | |
f = null != b || null != c; | |
this.opcode("getContext", d.depth), this.opcode("pushProgram", b), this.opcode("pushProgram", c), this.accept(d), this.opcode("invokeAmbiguous", e, f) | |
}, | |
simpleSexpr: function(a) { | |
this.accept(a.path), this.opcode("resolvePossibleLambda") | |
}, | |
helperSexpr: function(a, b, c) { | |
var d = this.setupFullMustacheParams(a, b, c), | |
e = a.path, | |
f = e.parts[0]; | |
if (this.options.knownHelpers[f]) this.opcode("invokeKnownHelper", d.length, f); | |
else { | |
if (this.options.knownHelpersOnly) throw new k["default"]("You specified knownHelpersOnly, but used the unknown helper " + f, a); | |
e.falsy = !0, this.accept(e), this.opcode("invokeHelper", d.length, e.original, n["default"].helpers.simpleId(e)) | |
} | |
}, | |
PathExpression: function(a) { | |
this.addDepth(a.depth), this.opcode("getContext", a.depth); | |
var b = a.parts[0], | |
c = n["default"].helpers.scopedId(a), | |
d = !a.depth && !c && this.blockParamIndex(b); | |
d ? this.opcode("lookupBlockParam", d, a.parts) : b ? a.data ? (this.options.data = !0, this.opcode("lookupData", a.depth, a.parts)) : this.opcode("lookupOnContext", a.parts, a.falsy, c) : this.opcode("pushContext") | |
}, | |
StringLiteral: function(a) { | |
this.opcode("pushString", a.value) | |
}, | |
NumberLiteral: function(a) { | |
this.opcode("pushLiteral", a.value) | |
}, | |
BooleanLiteral: function(a) { | |
this.opcode("pushLiteral", a.value) | |
}, | |
UndefinedLiteral: function() { | |
this.opcode("pushLiteral", "undefined") | |
}, | |
NullLiteral: function() { | |
this.opcode("pushLiteral", "null") | |
}, | |
Hash: function(a) { | |
var b = a.pairs, | |
c = 0, | |
d = b.length; | |
for (this.opcode("pushHash"); d > c; c++) this.pushParam(b[c].value); | |
for (; c--;) this.opcode("assignToHash", b[c].key); | |
this.opcode("popHash") | |
}, | |
opcode: function(a) { | |
this.opcodes.push({ | |
opcode: a, | |
args: o.call(arguments, 1), | |
loc: this.sourceNode[0].loc | |
}) | |
}, | |
addDepth: function(a) { | |
a && (this.useDepths = !0) | |
}, | |
classifySexpr: function(a) { | |
var b = n["default"].helpers.simpleId(a.path), | |
c = b && !! this.blockParamIndex(a.path.parts[0]), | |
d = !c && n["default"].helpers.helperExpression(a), | |
e = !c && (d || b); | |
if (e && !d) { | |
var f = a.path.parts[0], | |
g = this.options; | |
g.knownHelpers[f] ? d = !0 : g.knownHelpersOnly && (e = !1) | |
} | |
return d ? "helper" : e ? "ambiguous" : "simple" | |
}, | |
pushParams: function(a) { | |
for (var b = 0, c = a.length; c > b; b++) this.pushParam(a[b]) | |
}, | |
pushParam: function(a) { | |
var b = null != a.value ? a.value : a.original || ""; | |
if (this.stringParams) b.replace && (b = b.replace(/^(\.?\.\/)*/g, "").replace(/\//g, ".")), a.depth && this.addDepth(a.depth), this.opcode("getContext", a.depth || 0), this.opcode("pushStringParam", b, a.type), "SubExpression" === a.type && this.accept(a); | |
else { | |
if (this.trackIds) { | |
var c = void 0; | |
if (!a.parts || n["default"].helpers.scopedId(a) || a.depth || (c = this.blockParamIndex(a.parts[0])), c) { | |
var d = a.parts.slice(1).join("."); | |
this.opcode("pushId", "BlockParam", c, d) | |
} else b = a.original || b, b.replace && (b = b.replace(/^\.\//g, "").replace(/^\.$/g, "")), this.opcode("pushId", a.type, b) | |
} | |
this.accept(a) | |
} | |
}, | |
setupFullMustacheParams: function(a, b, c, d) { | |
var e = a.params; | |
return this.pushParams(e), this.opcode("pushProgram", b), this.opcode("pushProgram", c), a.hash ? this.accept(a.hash) : this.opcode("emptyHash", d), e | |
}, | |
blockParamIndex: function(a) { | |
for (var b = 0, c = this.options.blockParams.length; c > b; b++) { | |
var d = this.options.blockParams[b], | |
e = d && l.indexOf(d, a); | |
if (d && e >= 0) return [b, e] | |
} | |
} | |
} | |
}, { | |
"../exception": 36, | |
"../utils": 40, | |
"./ast": 26 | |
} | |
], | |
30: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a, b) { | |
this.source = a, this.start = { | |
line: b.first_line, | |
column: b.first_column | |
}, this.end = { | |
line: b.last_line, | |
column: b.last_column | |
} | |
} | |
function e(a) { | |
return /^\[.*\]$/.test(a) ? a.substr(1, a.length - 2) : a | |
} | |
function f(a, b) { | |
return { | |
open: "~" === a.charAt(2), | |
close: "~" === b.charAt(b.length - 3) | |
} | |
} | |
function g(a) { | |
return a.replace(/^\{\{~?\!-?-?/, "").replace(/-?-?~?\}\}$/, "") | |
} | |
function h(a, b, c) { | |
c = this.locInfo(c); | |
for (var d = a ? "@" : "", e = [], f = 0, g = "", h = 0, i = b.length; i > h; h++) { | |
var j = b[h].part, | |
k = b[h].original !== j; | |
if (d += (b[h].separator || "") + j, k || ".." !== j && "." !== j && "this" !== j) e.push(j); | |
else { | |
if (e.length > 0) throw new n["default"]("Invalid path: " + d, { | |
loc: c | |
}); | |
".." === j && (f++, g += "../") | |
} | |
} | |
return new this.PathExpression(a, f, e, d, c) | |
} | |
function i(a, b, c, d, e, f) { | |
var g = d.charAt(3) || d.charAt(2), | |
h = "{" !== g && "&" !== g; | |
return new this.MustacheStatement(a, b, c, h, e, this.locInfo(f)) | |
} | |
function j(a, b, c, d) { | |
if (a.path.original !== c) { | |
var e = { | |
loc: a.path.loc | |
}; | |
throw new n["default"](a.path.original + " doesn't match " + c, e) | |
} | |
d = this.locInfo(d); | |
var f = new this.Program([b], null, {}, d); | |
return new this.BlockStatement(a.path, a.params, a.hash, f, void 0, {}, {}, {}, d) | |
} | |
function k(a, b, c, d, e, f) { | |
if (d && d.path && a.path.original !== d.path.original) { | |
var g = { | |
loc: a.path.loc | |
}; | |
throw new n["default"](a.path.original + " doesn't match " + d.path.original, g) | |
} | |
b.blockParams = a.blockParams; | |
var h = void 0, | |
i = void 0; | |
return c && (c.chain && (c.program.body[0].closeStrip = d.strip), i = c.strip, h = c.program), e && (e = h, h = b, b = e), new this.BlockStatement(a.path, a.params, a.hash, b, h, a.strip, i, d && d.strip, this.locInfo(f)) | |
} | |
var l = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0, c.SourceLocation = d, c.id = e, c.stripFlags = f, c.stripComment = g, c.preparePath = h, c.prepareMustache = i, c.prepareRawBlock = j, c.prepareBlock = k; | |
var m = a("../exception"), | |
n = l(m) | |
}, { | |
"../exception": 36 | |
} | |
], | |
31: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a) { | |
this.value = a | |
} | |
function e() {} | |
function f(a, b, c, d) { | |
var e = b.popStack(), | |
f = 0, | |
g = c.length; | |
for (a && g--; g > f; f++) e = b.nameLookup(e, c[f], d); | |
return a ? [b.aliasable("this.strict"), "(", e, ", ", b.quotedString(c[f]), ")"] : e | |
} | |
var g = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0; | |
var h = a("../base"), | |
i = a("../exception"), | |
j = g(i), | |
k = a("../utils"), | |
l = a("./code-gen"), | |
m = g(l); | |
e.prototype = { | |
nameLookup: function(a, b) { | |
return e.isValidJavaScriptVariableName(b) ? [a, ".", b] : [a, "['", b, "']"] | |
}, | |
depthedLookup: function(a) { | |
return [this.aliasable("this.lookup"), '(depths, "', a, '")'] | |
}, | |
compilerInfo: function() { | |
var a = h.COMPILER_REVISION, | |
b = h.REVISION_CHANGES[a]; | |
return [a, b] | |
}, | |
appendToBuffer: function(a, b, c) { | |
return k.isArray(a) || (a = [a]), a = this.source.wrap(a, b), this.environment.isSimple ? ["return ", a, ";"] : c ? ["buffer += ", a, ";"] : (a.appendToBuffer = !0, a) | |
}, | |
initializeBuffer: function() { | |
return this.quotedString("") | |
}, | |
compile: function(a, b, c, d) { | |
this.environment = a, this.options = b, this.stringParams = this.options.stringParams, this.trackIds = this.options.trackIds, this.precompile = !d, this.name = this.environment.name, this.isChild = !! c, this.context = c || { | |
programs: [], | |
environments: [] | |
}, this.preamble(), this.stackSlot = 0, this.stackVars = [], this.aliases = {}, this.registers = { | |
list: [] | |
}, this.hashes = [], this.compileStack = [], this.inlineStack = [], this.blockParams = [], this.compileChildren(a, b), this.useDepths = this.useDepths || a.useDepths || this.options.compat, this.useBlockParams = this.useBlockParams || a.useBlockParams; | |
var e = a.opcodes, | |
f = void 0, | |
g = void 0, | |
h = void 0, | |
i = void 0; | |
for (h = 0, i = e.length; i > h; h++) f = e[h], this.source.currentLocation = f.loc, g = g || f.loc, this[f.opcode].apply(this, f.args); | |
if (this.source.currentLocation = g, this.pushSource(""), this.stackSlot || this.inlineStack.length || this.compileStack.length) throw new j["default"]("Compile completed with content left on stack"); | |
var k = this.createFunctionContext(d); | |
if (this.isChild) return k; | |
var l = { | |
compiler: this.compilerInfo(), | |
main: k | |
}, m = this.context.programs; | |
for (h = 0, i = m.length; i > h; h++) m[h] && (l[h] = m[h]); | |
return this.environment.usePartial && (l.usePartial = !0), this.options.data && (l.useData = !0), this.useDepths && (l.useDepths = !0), this.useBlockParams && (l.useBlockParams = !0), this.options.compat && (l.compat = !0), d ? l.compilerOptions = this.options : (l.compiler = JSON.stringify(l.compiler), this.source.currentLocation = { | |
start: { | |
line: 1, | |
column: 0 | |
} | |
}, l = this.objectLiteral(l), b.srcName ? (l = l.toStringWithSourceMap({ | |
file: b.destName | |
}), l.map = l.map && l.map.toString()) : l = l.toString()), l | |
}, | |
preamble: function() { | |
this.lastContext = 0, this.source = new m["default"](this.options.srcName) | |
}, | |
createFunctionContext: function(a) { | |
var b = "", | |
c = this.stackVars.concat(this.registers.list); | |
c.length > 0 && (b += ", " + c.join(", ")); | |
var d = 0; | |
for (var e in this.aliases) { | |
var f = this.aliases[e]; | |
this.aliases.hasOwnProperty(e) && f.children && f.referenceCount > 1 && (b += ", alias" + ++d + "=" + e, f.children[0] = "alias" + d) | |
} | |
var g = ["depth0", "helpers", "partials", "data"]; | |
(this.useBlockParams || this.useDepths) && g.push("blockParams"), this.useDepths && g.push("depths"); | |
var h = this.mergeSource(b); | |
return a ? (g.push(h), Function.apply(this, g)) : this.source.wrap(["function(", g.join(","), ") {\n ", h, "}"]) | |
}, | |
mergeSource: function(a) { | |
var b = this.environment.isSimple, | |
c = !this.forceBuffer, | |
d = void 0, | |
e = void 0, | |
f = void 0, | |
g = void 0; | |
return this.source.each(function(a) { | |
a.appendToBuffer ? (f ? a.prepend(" + ") : f = a, g = a) : (f && (e ? f.prepend("buffer += ") : d = !0, g.add(";"), f = g = void 0), e = !0, b || (c = !1)) | |
}), c ? f ? (f.prepend("return "), g.add(";")) : e || this.source.push('return "";') : (a += ", buffer = " + (d ? "" : this.initializeBuffer()), f ? (f.prepend("return buffer + "), g.add(";")) : this.source.push("return buffer;")), a && this.source.prepend("var " + a.substring(2) + (d ? "" : ";\n")), this.source.merge() | |
}, | |
blockValue: function(a) { | |
var b = this.aliasable("helpers.blockHelperMissing"), | |
c = [this.contextName(0)]; | |
this.setupHelperArgs(a, 0, c); | |
var d = this.popStack(); | |
c.splice(1, 0, d), this.push(this.source.functionCall(b, "call", c)) | |
}, | |
ambiguousBlockValue: function() { | |
var a = this.aliasable("helpers.blockHelperMissing"), | |
b = [this.contextName(0)]; | |
this.setupHelperArgs("", 0, b, !0), this.flushInline(); | |
var c = this.topStack(); | |
b.splice(1, 0, c), this.pushSource(["if (!", this.lastHelper, ") { ", c, " = ", this.source.functionCall(a, "call", b), "}"]) | |
}, | |
appendContent: function(a) { | |
this.pendingContent ? a = this.pendingContent + a : this.pendingLocation = this.source.currentLocation, this.pendingContent = a | |
}, | |
append: function() { | |
if (this.isInline()) this.replaceStack(function(a) { | |
return [" != null ? ", a, ' : ""'] | |
}), this.pushSource(this.appendToBuffer(this.popStack())); | |
else { | |
var a = this.popStack(); | |
this.pushSource(["if (", a, " != null) { ", this.appendToBuffer(a, void 0, !0), " }"]), this.environment.isSimple && this.pushSource(["else { ", this.appendToBuffer("''", void 0, !0), " }"]) | |
} | |
}, | |
appendEscaped: function() { | |
this.pushSource(this.appendToBuffer([this.aliasable("this.escapeExpression"), "(", this.popStack(), ")"])) | |
}, | |
getContext: function(a) { | |
this.lastContext = a | |
}, | |
pushContext: function() { | |
this.pushStackLiteral(this.contextName(this.lastContext)) | |
}, | |
lookupOnContext: function(a, b, c) { | |
var d = 0; | |
c || !this.options.compat || this.lastContext ? this.pushContext() : this.push(this.depthedLookup(a[d++])), this.resolvePath("context", a, d, b) | |
}, | |
lookupBlockParam: function(a, b) { | |
this.useBlockParams = !0, this.push(["blockParams[", a[0], "][", a[1], "]"]), this.resolvePath("context", b, 1) | |
}, | |
lookupData: function(a, b) { | |
a ? this.pushStackLiteral("this.data(data, " + a + ")") : this.pushStackLiteral("data"), this.resolvePath("data", b, 0, !0) | |
}, | |
resolvePath: function(a, b, c, d) { | |
var e = this; | |
if (this.options.strict || this.options.assumeObjects) return void this.push(f(this.options.strict, this, b, a)); | |
for (var g = b.length; g > c; c++) this.replaceStack(function(f) { | |
var g = e.nameLookup(f, b[c], a); | |
return d ? [" && ", g] : [" != null ? ", g, " : ", f] | |
}) | |
}, | |
resolvePossibleLambda: function() { | |
this.push([this.aliasable("this.lambda"), "(", this.popStack(), ", ", this.contextName(0), ")"]) | |
}, | |
pushStringParam: function(a, b) { | |
this.pushContext(), this.pushString(b), "SubExpression" !== b && ("string" == typeof a ? this.pushString(a) : this.pushStackLiteral(a)) | |
}, | |
emptyHash: function(a) { | |
this.trackIds && this.push("{}"), this.stringParams && (this.push("{}"), this.push("{}")), this.pushStackLiteral(a ? "undefined" : "{}") | |
}, | |
pushHash: function() { | |
this.hash && this.hashes.push(this.hash), this.hash = { | |
values: [], | |
types: [], | |
contexts: [], | |
ids: [] | |
} | |
}, | |
popHash: function() { | |
var a = this.hash; | |
this.hash = this.hashes.pop(), this.trackIds && this.push(this.objectLiteral(a.ids)), this.stringParams && (this.push(this.objectLiteral(a.contexts)), this.push(this.objectLiteral(a.types))), this.push(this.objectLiteral(a.values)) | |
}, | |
pushString: function(a) { | |
this.pushStackLiteral(this.quotedString(a)) | |
}, | |
pushLiteral: function(a) { | |
this.pushStackLiteral(a) | |
}, | |
pushProgram: function(a) { | |
null != a ? this.pushStackLiteral(this.programExpression(a)) : this.pushStackLiteral(null) | |
}, | |
invokeHelper: function(a, b, c) { | |
var d = this.popStack(), | |
e = this.setupHelper(a, b), | |
f = c ? [e.name, " || "] : "", | |
g = ["("].concat(f, d); | |
this.options.strict || g.push(" || ", this.aliasable("helpers.helperMissing")), g.push(")"), this.push(this.source.functionCall(g, "call", e.callParams)) | |
}, | |
invokeKnownHelper: function(a, b) { | |
var c = this.setupHelper(a, b); | |
this.push(this.source.functionCall(c.name, "call", c.callParams)) | |
}, | |
invokeAmbiguous: function(a, b) { | |
this.useRegister("helper"); | |
var c = this.popStack(); | |
this.emptyHash(); | |
var d = this.setupHelper(0, a, b), | |
e = this.lastHelper = this.nameLookup("helpers", a, "helper"), | |
f = ["(", "(helper = ", e, " || ", c, ")"]; | |
this.options.strict || (f[0] = "(helper = ", f.push(" != null ? helper : ", this.aliasable("helpers.helperMissing"))), this.push(["(", f, d.paramsInit ? ["),(", d.paramsInit] : [], "),", "(typeof helper === ", this.aliasable('"function"'), " ? ", this.source.functionCall("helper", "call", d.callParams), " : helper))"]) | |
}, | |
invokePartial: function(a, b, c) { | |
var d = [], | |
e = this.setupParams(b, 1, d, !1); | |
a && (b = this.popStack(), delete e.name), c && (e.indent = JSON.stringify(c)), e.helpers = "helpers", e.partials = "partials", a ? d.unshift(b) : d.unshift(this.nameLookup("partials", b, "partial")), this.options.compat && (e.depths = "depths"), e = this.objectLiteral(e), d.push(e), this.push(this.source.functionCall("this.invokePartial", "", d)) | |
}, | |
assignToHash: function(a) { | |
var b = this.popStack(), | |
c = void 0, | |
d = void 0, | |
e = void 0; | |
this.trackIds && (e = this.popStack()), this.stringParams && (d = this.popStack(), c = this.popStack()); | |
var f = this.hash; | |
c && (f.contexts[a] = c), d && (f.types[a] = d), e && (f.ids[a] = e), f.values[a] = b | |
}, | |
pushId: function(a, b, c) { | |
"BlockParam" === a ? this.pushStackLiteral("blockParams[" + b[0] + "].path[" + b[1] + "]" + (c ? " + " + JSON.stringify("." + c) : "")) : "PathExpression" === a ? this.pushString(b) : "SubExpression" === a ? this.pushStackLiteral("true") : this.pushStackLiteral("null") | |
}, | |
compiler: e, | |
compileChildren: function(a, b) { | |
for (var c = a.children, d = void 0, e = void 0, f = 0, g = c.length; g > f; f++) { | |
d = c[f], e = new this.compiler; | |
var h = this.matchExistingProgram(d); | |
null == h ? (this.context.programs.push(""), h = this.context.programs.length, d.index = h, d.name = "program" + h, this.context.programs[h] = e.compile(d, b, this.context, !this.precompile), this.context.environments[h] = d, this.useDepths = this.useDepths || e.useDepths, this.useBlockParams = this.useBlockParams || e.useBlockParams) : (d.index = h, d.name = "program" + h, this.useDepths = this.useDepths || d.useDepths, this.useBlockParams = this.useBlockParams || d.useBlockParams) | |
} | |
}, | |
matchExistingProgram: function(a) { | |
for (var b = 0, c = this.context.environments.length; c > b; b++) { | |
var d = this.context.environments[b]; | |
if (d && d.equals(a)) return b | |
} | |
}, | |
programExpression: function(a) { | |
var b = this.environment.children[a], | |
c = [b.index, "data", b.blockParams]; | |
return (this.useBlockParams || this.useDepths) && c.push("blockParams"), this.useDepths && c.push("depths"), "this.program(" + c.join(", ") + ")" | |
}, | |
useRegister: function(a) { | |
this.registers[a] || (this.registers[a] = !0, this.registers.list.push(a)) | |
}, | |
push: function(a) { | |
return a instanceof d || (a = this.source.wrap(a)), this.inlineStack.push(a), a | |
}, | |
pushStackLiteral: function(a) { | |
this.push(new d(a)) | |
}, | |
pushSource: function(a) { | |
this.pendingContent && (this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation)), this.pendingContent = void 0), a && this.source.push(a) | |
}, | |
replaceStack: function(a) { | |
var b = ["("], | |
c = void 0, | |
e = void 0, | |
f = void 0; | |
if (!this.isInline()) throw new j["default"]("replaceStack on non-inline"); | |
var g = this.popStack(!0); | |
if (g instanceof d) c = [g.value], b = ["(", c], f = !0; | |
else { | |
e = !0; | |
var h = this.incrStack(); | |
b = ["((", this.push(h), " = ", g, ")"], c = this.topStack() | |
} | |
var i = a.call(this, c); | |
f || this.popStack(), e && this.stackSlot--, this.push(b.concat(i, ")")) | |
}, | |
incrStack: function() { | |
return this.stackSlot++, this.stackSlot > this.stackVars.length && this.stackVars.push("stack" + this.stackSlot), this.topStackName() | |
}, | |
topStackName: function() { | |
return "stack" + this.stackSlot | |
}, | |
flushInline: function() { | |
var a = this.inlineStack; | |
this.inlineStack = []; | |
for (var b = 0, c = a.length; c > b; b++) { | |
var e = a[b]; | |
if (e instanceof d) this.compileStack.push(e); | |
else { | |
var f = this.incrStack(); | |
this.pushSource([f, " = ", e, ";"]), this.compileStack.push(f) | |
} | |
} | |
}, | |
isInline: function() { | |
return this.inlineStack.length | |
}, | |
popStack: function(a) { | |
var b = this.isInline(), | |
c = (b ? this.inlineStack : this.compileStack).pop(); | |
if (!a && c instanceof d) return c.value; | |
if (!b) { | |
if (!this.stackSlot) throw new j["default"]("Invalid stack pop"); | |
this.stackSlot-- | |
} | |
return c | |
}, | |
topStack: function() { | |
var a = this.isInline() ? this.inlineStack : this.compileStack, | |
b = a[a.length - 1]; | |
return b instanceof d ? b.value : b | |
}, | |
contextName: function(a) { | |
return this.useDepths && a ? "depths[" + a + "]" : "depth" + a | |
}, | |
quotedString: function(a) { | |
return this.source.quotedString(a) | |
}, | |
objectLiteral: function(a) { | |
return this.source.objectLiteral(a) | |
}, | |
aliasable: function(a) { | |
var b = this.aliases[a]; | |
return b ? (b.referenceCount++, b) : (b = this.aliases[a] = this.source.wrap(a), b.aliasable = !0, b.referenceCount = 1, b) | |
}, | |
setupHelper: function(a, b, c) { | |
var d = [], | |
e = this.setupHelperArgs(b, a, d, c), | |
f = this.nameLookup("helpers", b, "helper"); | |
return { | |
params: d, | |
paramsInit: e, | |
name: f, | |
callParams: [this.contextName(0)].concat(d) | |
} | |
}, | |
setupParams: function(a, b, c) { | |
var d = {}, e = [], | |
f = [], | |
g = [], | |
h = void 0; | |
d.name = this.quotedString(a), d.hash = this.popStack(), this.trackIds && (d.hashIds = this.popStack()), this.stringParams && (d.hashTypes = this.popStack(), d.hashContexts = this.popStack()); | |
var i = this.popStack(), | |
j = this.popStack(); | |
(j || i) && (d.fn = j || "this.noop", d.inverse = i || "this.noop"); | |
for (var k = b; k--;) h = this.popStack(), c[k] = h, this.trackIds && (g[k] = this.popStack()), this.stringParams && (f[k] = this.popStack(), e[k] = this.popStack()); | |
return this.trackIds && (d.ids = this.source.generateArray(g)), this.stringParams && (d.types = this.source.generateArray(f), d.contexts = this.source.generateArray(e)), this.options.data && (d.data = "data"), this.useBlockParams && (d.blockParams = "blockParams"), d | |
}, | |
setupHelperArgs: function(a, b, c, d) { | |
var e = this.setupParams(a, b, c, !0); | |
return e = this.objectLiteral(e), d ? (this.useRegister("options"), c.push("options"), ["options=", e]) : (c.push(e), "") | |
} | |
}, | |
function() { | |
for (var a = "break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "), b = e.RESERVED_WORDS = {}, c = 0, d = a.length; d > c; c++) b[a[c]] = !0 | |
}(), e.isValidJavaScriptVariableName = function(a) { | |
return !e.RESERVED_WORDS[a] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(a) | |
}, c["default"] = e, b.exports = c["default"] | |
}, { | |
"../base": 25, | |
"../exception": 36, | |
"../utils": 40, | |
"./code-gen": 28 | |
} | |
], | |
32: [ | |
function(a, b, c) { | |
"use strict"; | |
c.__esModule = !0; | |
var d = function() { | |
function a() { | |
this.yy = {} | |
} | |
var b = { | |
trace: function() {}, | |
yy: {}, | |
symbols_: { | |
error: 2, | |
root: 3, | |
program: 4, | |
EOF: 5, | |
program_repetition0: 6, | |
statement: 7, | |
mustache: 8, | |
block: 9, | |
rawBlock: 10, | |
partial: 11, | |
content: 12, | |
COMMENT: 13, | |
CONTENT: 14, | |
openRawBlock: 15, | |
END_RAW_BLOCK: 16, | |
OPEN_RAW_BLOCK: 17, | |
helperName: 18, | |
openRawBlock_repetition0: 19, | |
openRawBlock_option0: 20, | |
CLOSE_RAW_BLOCK: 21, | |
openBlock: 22, | |
block_option0: 23, | |
closeBlock: 24, | |
openInverse: 25, | |
block_option1: 26, | |
OPEN_BLOCK: 27, | |
openBlock_repetition0: 28, | |
openBlock_option0: 29, | |
openBlock_option1: 30, | |
CLOSE: 31, | |
OPEN_INVERSE: 32, | |
openInverse_repetition0: 33, | |
openInverse_option0: 34, | |
openInverse_option1: 35, | |
openInverseChain: 36, | |
OPEN_INVERSE_CHAIN: 37, | |
openInverseChain_repetition0: 38, | |
openInverseChain_option0: 39, | |
openInverseChain_option1: 40, | |
inverseAndProgram: 41, | |
INVERSE: 42, | |
inverseChain: 43, | |
inverseChain_option0: 44, | |
OPEN_ENDBLOCK: 45, | |
OPEN: 46, | |
mustache_repetition0: 47, | |
mustache_option0: 48, | |
OPEN_UNESCAPED: 49, | |
mustache_repetition1: 50, | |
mustache_option1: 51, | |
CLOSE_UNESCAPED: 52, | |
OPEN_PARTIAL: 53, | |
partialName: 54, | |
partial_repetition0: 55, | |
partial_option0: 56, | |
param: 57, | |
sexpr: 58, | |
OPEN_SEXPR: 59, | |
sexpr_repetition0: 60, | |
sexpr_option0: 61, | |
CLOSE_SEXPR: 62, | |
hash: 63, | |
hash_repetition_plus0: 64, | |
hashSegment: 65, | |
ID: 66, | |
EQUALS: 67, | |
blockParams: 68, | |
OPEN_BLOCK_PARAMS: 69, | |
blockParams_repetition_plus0: 70, | |
CLOSE_BLOCK_PARAMS: 71, | |
path: 72, | |
dataName: 73, | |
STRING: 74, | |
NUMBER: 75, | |
BOOLEAN: 76, | |
UNDEFINED: 77, | |
NULL: 78, | |
DATA: 79, | |
pathSegments: 80, | |
SEP: 81, | |
$accept: 0, | |
$end: 1 | |
}, | |
terminals_: { | |
2: "error", | |
5: "EOF", | |
13: "COMMENT", | |
14: "CONTENT", | |
16: "END_RAW_BLOCK", | |
17: "OPEN_RAW_BLOCK", | |
21: "CLOSE_RAW_BLOCK", | |
27: "OPEN_BLOCK", | |
31: "CLOSE", | |
32: "OPEN_INVERSE", | |
37: "OPEN_INVERSE_CHAIN", | |
42: "INVERSE", | |
45: "OPEN_ENDBLOCK", | |
46: "OPEN", | |
49: "OPEN_UNESCAPED", | |
52: "CLOSE_UNESCAPED", | |
53: "OPEN_PARTIAL", | |
59: "OPEN_SEXPR", | |
62: "CLOSE_SEXPR", | |
66: "ID", | |
67: "EQUALS", | |
69: "OPEN_BLOCK_PARAMS", | |
71: "CLOSE_BLOCK_PARAMS", | |
74: "STRING", | |
75: "NUMBER", | |
76: "BOOLEAN", | |
77: "UNDEFINED", | |
78: "NULL", | |
79: "DATA", | |
81: "SEP" | |
}, | |
productions_: [0, [3, 2], | |
[4, 1], | |
[7, 1], | |
[7, 1], | |
[7, 1], | |
[7, 1], | |
[7, 1], | |
[7, 1], | |
[12, 1], | |
[10, 3], | |
[15, 5], | |
[9, 4], | |
[9, 4], | |
[22, 6], | |
[25, 6], | |
[36, 6], | |
[41, 2], | |
[43, 3], | |
[43, 1], | |
[24, 3], | |
[8, 5], | |
[8, 5], | |
[11, 5], | |
[57, 1], | |
[57, 1], | |
[58, 5], | |
[63, 1], | |
[65, 3], | |
[68, 3], | |
[18, 1], | |
[18, 1], | |
[18, 1], | |
[18, 1], | |
[18, 1], | |
[18, 1], | |
[18, 1], | |
[54, 1], | |
[54, 1], | |
[73, 2], | |
[72, 1], | |
[80, 3], | |
[80, 1], | |
[6, 0], | |
[6, 2], | |
[19, 0], | |
[19, 2], | |
[20, 0], | |
[20, 1], | |
[23, 0], | |
[23, 1], | |
[26, 0], | |
[26, 1], | |
[28, 0], | |
[28, 2], | |
[29, 0], | |
[29, 1], | |
[30, 0], | |
[30, 1], | |
[33, 0], | |
[33, 2], | |
[34, 0], | |
[34, 1], | |
[35, 0], | |
[35, 1], | |
[38, 0], | |
[38, 2], | |
[39, 0], | |
[39, 1], | |
[40, 0], | |
[40, 1], | |
[44, 0], | |
[44, 1], | |
[47, 0], | |
[47, 2], | |
[48, 0], | |
[48, 1], | |
[50, 0], | |
[50, 2], | |
[51, 0], | |
[51, 1], | |
[55, 0], | |
[55, 2], | |
[56, 0], | |
[56, 1], | |
[60, 0], | |
[60, 2], | |
[61, 0], | |
[61, 1], | |
[64, 1], | |
[64, 2], | |
[70, 1], | |
[70, 2] | |
], | |
performAction: function(a, b, c, d, e, f, g) { | |
var h = f.length - 1; | |
switch (e) { | |
case 1: | |
return f[h - 1]; | |
case 2: | |
this.$ = new d.Program(f[h], null, {}, d.locInfo(this._$)); | |
break; | |
case 3: | |
this.$ = f[h]; | |
break; | |
case 4: | |
this.$ = f[h]; | |
break; | |
case 5: | |
this.$ = f[h]; | |
break; | |
case 6: | |
this.$ = f[h]; | |
break; | |
case 7: | |
this.$ = f[h]; | |
break; | |
case 8: | |
this.$ = new d.CommentStatement(d.stripComment(f[h]), d.stripFlags(f[h], f[h]), d.locInfo(this._$)); | |
break; | |
case 9: | |
this.$ = new d.ContentStatement(f[h], d.locInfo(this._$)); | |
break; | |
case 10: | |
this.$ = d.prepareRawBlock(f[h - 2], f[h - 1], f[h], this._$); | |
break; | |
case 11: | |
this.$ = { | |
path: f[h - 3], | |
params: f[h - 2], | |
hash: f[h - 1] | |
}; | |
break; | |
case 12: | |
this.$ = d.prepareBlock(f[h - 3], f[h - 2], f[h - 1], f[h], !1, this._$); | |
break; | |
case 13: | |
this.$ = d.prepareBlock(f[h - 3], f[h - 2], f[h - 1], f[h], !0, this._$); | |
break; | |
case 14: | |
this.$ = { | |
path: f[h - 4], | |
params: f[h - 3], | |
hash: f[h - 2], | |
blockParams: f[h - 1], | |
strip: d.stripFlags(f[h - 5], f[h]) | |
}; | |
break; | |
case 15: | |
this.$ = { | |
path: f[h - 4], | |
params: f[h - 3], | |
hash: f[h - 2], | |
blockParams: f[h - 1], | |
strip: d.stripFlags(f[h - 5], f[h]) | |
}; | |
break; | |
case 16: | |
this.$ = { | |
path: f[h - 4], | |
params: f[h - 3], | |
hash: f[h - 2], | |
blockParams: f[h - 1], | |
strip: d.stripFlags(f[h - 5], f[h]) | |
}; | |
break; | |
case 17: | |
this.$ = { | |
strip: d.stripFlags(f[h - 1], f[h - 1]), | |
program: f[h] | |
}; | |
break; | |
case 18: | |
var i = d.prepareBlock(f[h - 2], f[h - 1], f[h], f[h], !1, this._$), | |
j = new d.Program([i], null, {}, d.locInfo(this._$)); | |
j.chained = !0, this.$ = { | |
strip: f[h - 2].strip, | |
program: j, | |
chain: !0 | |
}; | |
break; | |
case 19: | |
this.$ = f[h]; | |
break; | |
case 20: | |
this.$ = { | |
path: f[h - 1], | |
strip: d.stripFlags(f[h - 2], f[h]) | |
}; | |
break; | |
case 21: | |
this.$ = d.prepareMustache(f[h - 3], f[h - 2], f[h - 1], f[h - 4], d.stripFlags(f[h - 4], f[h]), this._$); | |
break; | |
case 22: | |
this.$ = d.prepareMustache(f[h - 3], f[h - 2], f[h - 1], f[h - 4], d.stripFlags(f[h - 4], f[h]), this._$); | |
break; | |
case 23: | |
this.$ = new d.PartialStatement(f[h - 3], f[h - 2], f[h - 1], d.stripFlags(f[h - 4], f[h]), d.locInfo(this._$)); | |
break; | |
case 24: | |
this.$ = f[h]; | |
break; | |
case 25: | |
this.$ = f[h]; | |
break; | |
case 26: | |
this.$ = new d.SubExpression(f[h - 3], f[h - 2], f[h - 1], d.locInfo(this._$)); | |
break; | |
case 27: | |
this.$ = new d.Hash(f[h], d.locInfo(this._$)); | |
break; | |
case 28: | |
this.$ = new d.HashPair(d.id(f[h - 2]), f[h], d.locInfo(this._$)); | |
break; | |
case 29: | |
this.$ = d.id(f[h - 1]); | |
break; | |
case 30: | |
this.$ = f[h]; | |
break; | |
case 31: | |
this.$ = f[h]; | |
break; | |
case 32: | |
this.$ = new d.StringLiteral(f[h], d.locInfo(this._$)); | |
break; | |
case 33: | |
this.$ = new d.NumberLiteral(f[h], d.locInfo(this._$)); | |
break; | |
case 34: | |
this.$ = new d.BooleanLiteral(f[h], d.locInfo(this._$)); | |
break; | |
case 35: | |
this.$ = new d.UndefinedLiteral(d.locInfo(this._$)); | |
break; | |
case 36: | |
this.$ = new d.NullLiteral(d.locInfo(this._$)); | |
break; | |
case 37: | |
this.$ = f[h]; | |
break; | |
case 38: | |
this.$ = f[h]; | |
break; | |
case 39: | |
this.$ = d.preparePath(!0, f[h], this._$); | |
break; | |
case 40: | |
this.$ = d.preparePath(!1, f[h], this._$); | |
break; | |
case 41: | |
f[h - 2].push({ | |
part: d.id(f[h]), | |
original: f[h], | |
separator: f[h - 1] | |
}), this.$ = f[h - 2]; | |
break; | |
case 42: | |
this.$ = [{ | |
part: d.id(f[h]), | |
original: f[h] | |
}]; | |
break; | |
case 43: | |
this.$ = []; | |
break; | |
case 44: | |
f[h - 1].push(f[h]); | |
break; | |
case 45: | |
this.$ = []; | |
break; | |
case 46: | |
f[h - 1].push(f[h]); | |
break; | |
case 53: | |
this.$ = []; | |
break; | |
case 54: | |
f[h - 1].push(f[h]); | |
break; | |
case 59: | |
this.$ = []; | |
break; | |
case 60: | |
f[h - 1].push(f[h]); | |
break; | |
case 65: | |
this.$ = []; | |
break; | |
case 66: | |
f[h - 1].push(f[h]); | |
break; | |
case 73: | |
this.$ = []; | |
break; | |
case 74: | |
f[h - 1].push(f[h]); | |
break; | |
case 77: | |
this.$ = []; | |
break; | |
case 78: | |
f[h - 1].push(f[h]); | |
break; | |
case 81: | |
this.$ = []; | |
break; | |
case 82: | |
f[h - 1].push(f[h]); | |
break; | |
case 85: | |
this.$ = []; | |
break; | |
case 86: | |
f[h - 1].push(f[h]); | |
break; | |
case 89: | |
this.$ = [f[h]]; | |
break; | |
case 90: | |
f[h - 1].push(f[h]); | |
break; | |
case 91: | |
this.$ = [f[h]]; | |
break; | |
case 92: | |
f[h - 1].push(f[h]) | |
} | |
}, | |
table: [{ | |
3: 1, | |
4: 2, | |
5: [2, 43], | |
6: 3, | |
13: [2, 43], | |
14: [2, 43], | |
17: [2, 43], | |
27: [2, 43], | |
32: [2, 43], | |
46: [2, 43], | |
49: [2, 43], | |
53: [2, 43] | |
}, { | |
1: [3] | |
}, { | |
5: [1, 4] | |
}, { | |
5: [2, 2], | |
7: 5, | |
8: 6, | |
9: 7, | |
10: 8, | |
11: 9, | |
12: 10, | |
13: [1, 11], | |
14: [1, 18], | |
15: 16, | |
17: [1, 21], | |
22: 14, | |
25: 15, | |
27: [1, 19], | |
32: [1, 20], | |
37: [2, 2], | |
42: [2, 2], | |
45: [2, 2], | |
46: [1, 12], | |
49: [1, 13], | |
53: [1, 17] | |
}, { | |
1: [2, 1] | |
}, { | |
5: [2, 44], | |
13: [2, 44], | |
14: [2, 44], | |
17: [2, 44], | |
27: [2, 44], | |
32: [2, 44], | |
37: [2, 44], | |
42: [2, 44], | |
45: [2, 44], | |
46: [2, 44], | |
49: [2, 44], | |
53: [2, 44] | |
}, { | |
5: [2, 3], | |
13: [2, 3], | |
14: [2, 3], | |
17: [2, 3], | |
27: [2, 3], | |
32: [2, 3], | |
37: [2, 3], | |
42: [2, 3], | |
45: [2, 3], | |
46: [2, 3], | |
49: [2, 3], | |
53: [2, 3] | |
}, { | |
5: [2, 4], | |
13: [2, 4], | |
14: [2, 4], | |
17: [2, 4], | |
27: [2, 4], | |
32: [2, 4], | |
37: [2, 4], | |
42: [2, 4], | |
45: [2, 4], | |
46: [2, 4], | |
49: [2, 4], | |
53: [2, 4] | |
}, { | |
5: [2, 5], | |
13: [2, 5], | |
14: [2, 5], | |
17: [2, 5], | |
27: [2, 5], | |
32: [2, 5], | |
37: [2, 5], | |
42: [2, 5], | |
45: [2, 5], | |
46: [2, 5], | |
49: [2, 5], | |
53: [2, 5] | |
}, { | |
5: [2, 6], | |
13: [2, 6], | |
14: [2, 6], | |
17: [2, 6], | |
27: [2, 6], | |
32: [2, 6], | |
37: [2, 6], | |
42: [2, 6], | |
45: [2, 6], | |
46: [2, 6], | |
49: [2, 6], | |
53: [2, 6] | |
}, { | |
5: [2, 7], | |
13: [2, 7], | |
14: [2, 7], | |
17: [2, 7], | |
27: [2, 7], | |
32: [2, 7], | |
37: [2, 7], | |
42: [2, 7], | |
45: [2, 7], | |
46: [2, 7], | |
49: [2, 7], | |
53: [2, 7] | |
}, { | |
5: [2, 8], | |
13: [2, 8], | |
14: [2, 8], | |
17: [2, 8], | |
27: [2, 8], | |
32: [2, 8], | |
37: [2, 8], | |
42: [2, 8], | |
45: [2, 8], | |
46: [2, 8], | |
49: [2, 8], | |
53: [2, 8] | |
}, { | |
18: 22, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
18: 33, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
4: 34, | |
6: 3, | |
13: [2, 43], | |
14: [2, 43], | |
17: [2, 43], | |
27: [2, 43], | |
32: [2, 43], | |
37: [2, 43], | |
42: [2, 43], | |
45: [2, 43], | |
46: [2, 43], | |
49: [2, 43], | |
53: [2, 43] | |
}, { | |
4: 35, | |
6: 3, | |
13: [2, 43], | |
14: [2, 43], | |
17: [2, 43], | |
27: [2, 43], | |
32: [2, 43], | |
42: [2, 43], | |
45: [2, 43], | |
46: [2, 43], | |
49: [2, 43], | |
53: [2, 43] | |
}, { | |
12: 36, | |
14: [1, 18] | |
}, { | |
18: 38, | |
54: 37, | |
58: 39, | |
59: [1, 40], | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
5: [2, 9], | |
13: [2, 9], | |
14: [2, 9], | |
16: [2, 9], | |
17: [2, 9], | |
27: [2, 9], | |
32: [2, 9], | |
37: [2, 9], | |
42: [2, 9], | |
45: [2, 9], | |
46: [2, 9], | |
49: [2, 9], | |
53: [2, 9] | |
}, { | |
18: 41, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
18: 42, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
18: 43, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
31: [2, 73], | |
47: 44, | |
59: [2, 73], | |
66: [2, 73], | |
74: [2, 73], | |
75: [2, 73], | |
76: [2, 73], | |
77: [2, 73], | |
78: [2, 73], | |
79: [2, 73] | |
}, { | |
21: [2, 30], | |
31: [2, 30], | |
52: [2, 30], | |
59: [2, 30], | |
62: [2, 30], | |
66: [2, 30], | |
69: [2, 30], | |
74: [2, 30], | |
75: [2, 30], | |
76: [2, 30], | |
77: [2, 30], | |
78: [2, 30], | |
79: [2, 30] | |
}, { | |
21: [2, 31], | |
31: [2, 31], | |
52: [2, 31], | |
59: [2, 31], | |
62: [2, 31], | |
66: [2, 31], | |
69: [2, 31], | |
74: [2, 31], | |
75: [2, 31], | |
76: [2, 31], | |
77: [2, 31], | |
78: [2, 31], | |
79: [2, 31] | |
}, { | |
21: [2, 32], | |
31: [2, 32], | |
52: [2, 32], | |
59: [2, 32], | |
62: [2, 32], | |
66: [2, 32], | |
69: [2, 32], | |
74: [2, 32], | |
75: [2, 32], | |
76: [2, 32], | |
77: [2, 32], | |
78: [2, 32], | |
79: [2, 32] | |
}, { | |
21: [2, 33], | |
31: [2, 33], | |
52: [2, 33], | |
59: [2, 33], | |
62: [2, 33], | |
66: [2, 33], | |
69: [2, 33], | |
74: [2, 33], | |
75: [2, 33], | |
76: [2, 33], | |
77: [2, 33], | |
78: [2, 33], | |
79: [2, 33] | |
}, { | |
21: [2, 34], | |
31: [2, 34], | |
52: [2, 34], | |
59: [2, 34], | |
62: [2, 34], | |
66: [2, 34], | |
69: [2, 34], | |
74: [2, 34], | |
75: [2, 34], | |
76: [2, 34], | |
77: [2, 34], | |
78: [2, 34], | |
79: [2, 34] | |
}, { | |
21: [2, 35], | |
31: [2, 35], | |
52: [2, 35], | |
59: [2, 35], | |
62: [2, 35], | |
66: [2, 35], | |
69: [2, 35], | |
74: [2, 35], | |
75: [2, 35], | |
76: [2, 35], | |
77: [2, 35], | |
78: [2, 35], | |
79: [2, 35] | |
}, { | |
21: [2, 36], | |
31: [2, 36], | |
52: [2, 36], | |
59: [2, 36], | |
62: [2, 36], | |
66: [2, 36], | |
69: [2, 36], | |
74: [2, 36], | |
75: [2, 36], | |
76: [2, 36], | |
77: [2, 36], | |
78: [2, 36], | |
79: [2, 36] | |
}, { | |
21: [2, 40], | |
31: [2, 40], | |
52: [2, 40], | |
59: [2, 40], | |
62: [2, 40], | |
66: [2, 40], | |
69: [2, 40], | |
74: [2, 40], | |
75: [2, 40], | |
76: [2, 40], | |
77: [2, 40], | |
78: [2, 40], | |
79: [2, 40], | |
81: [1, 45] | |
}, { | |
66: [1, 32], | |
80: 46 | |
}, { | |
21: [2, 42], | |
31: [2, 42], | |
52: [2, 42], | |
59: [2, 42], | |
62: [2, 42], | |
66: [2, 42], | |
69: [2, 42], | |
74: [2, 42], | |
75: [2, 42], | |
76: [2, 42], | |
77: [2, 42], | |
78: [2, 42], | |
79: [2, 42], | |
81: [2, 42] | |
}, { | |
50: 47, | |
52: [2, 77], | |
59: [2, 77], | |
66: [2, 77], | |
74: [2, 77], | |
75: [2, 77], | |
76: [2, 77], | |
77: [2, 77], | |
78: [2, 77], | |
79: [2, 77] | |
}, { | |
23: 48, | |
36: 50, | |
37: [1, 52], | |
41: 51, | |
42: [1, 53], | |
43: 49, | |
45: [2, 49] | |
}, { | |
26: 54, | |
41: 55, | |
42: [1, 53], | |
45: [2, 51] | |
}, { | |
16: [1, 56] | |
}, { | |
31: [2, 81], | |
55: 57, | |
59: [2, 81], | |
66: [2, 81], | |
74: [2, 81], | |
75: [2, 81], | |
76: [2, 81], | |
77: [2, 81], | |
78: [2, 81], | |
79: [2, 81] | |
}, { | |
31: [2, 37], | |
59: [2, 37], | |
66: [2, 37], | |
74: [2, 37], | |
75: [2, 37], | |
76: [2, 37], | |
77: [2, 37], | |
78: [2, 37], | |
79: [2, 37] | |
}, { | |
31: [2, 38], | |
59: [2, 38], | |
66: [2, 38], | |
74: [2, 38], | |
75: [2, 38], | |
76: [2, 38], | |
77: [2, 38], | |
78: [2, 38], | |
79: [2, 38] | |
}, { | |
18: 58, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
28: 59, | |
31: [2, 53], | |
59: [2, 53], | |
66: [2, 53], | |
69: [2, 53], | |
74: [2, 53], | |
75: [2, 53], | |
76: [2, 53], | |
77: [2, 53], | |
78: [2, 53], | |
79: [2, 53] | |
}, { | |
31: [2, 59], | |
33: 60, | |
59: [2, 59], | |
66: [2, 59], | |
69: [2, 59], | |
74: [2, 59], | |
75: [2, 59], | |
76: [2, 59], | |
77: [2, 59], | |
78: [2, 59], | |
79: [2, 59] | |
}, { | |
19: 61, | |
21: [2, 45], | |
59: [2, 45], | |
66: [2, 45], | |
74: [2, 45], | |
75: [2, 45], | |
76: [2, 45], | |
77: [2, 45], | |
78: [2, 45], | |
79: [2, 45] | |
}, { | |
18: 65, | |
31: [2, 75], | |
48: 62, | |
57: 63, | |
58: 66, | |
59: [1, 40], | |
63: 64, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
66: [1, 70] | |
}, { | |
21: [2, 39], | |
31: [2, 39], | |
52: [2, 39], | |
59: [2, 39], | |
62: [2, 39], | |
66: [2, 39], | |
69: [2, 39], | |
74: [2, 39], | |
75: [2, 39], | |
76: [2, 39], | |
77: [2, 39], | |
78: [2, 39], | |
79: [2, 39], | |
81: [1, 45] | |
}, { | |
18: 65, | |
51: 71, | |
52: [2, 79], | |
57: 72, | |
58: 66, | |
59: [1, 40], | |
63: 73, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
24: 74, | |
45: [1, 75] | |
}, { | |
45: [2, 50] | |
}, { | |
4: 76, | |
6: 3, | |
13: [2, 43], | |
14: [2, 43], | |
17: [2, 43], | |
27: [2, 43], | |
32: [2, 43], | |
37: [2, 43], | |
42: [2, 43], | |
45: [2, 43], | |
46: [2, 43], | |
49: [2, 43], | |
53: [2, 43] | |
}, { | |
45: [2, 19] | |
}, { | |
18: 77, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
4: 78, | |
6: 3, | |
13: [2, 43], | |
14: [2, 43], | |
17: [2, 43], | |
27: [2, 43], | |
32: [2, 43], | |
45: [2, 43], | |
46: [2, 43], | |
49: [2, 43], | |
53: [2, 43] | |
}, { | |
24: 79, | |
45: [1, 75] | |
}, { | |
45: [2, 52] | |
}, { | |
5: [2, 10], | |
13: [2, 10], | |
14: [2, 10], | |
17: [2, 10], | |
27: [2, 10], | |
32: [2, 10], | |
37: [2, 10], | |
42: [2, 10], | |
45: [2, 10], | |
46: [2, 10], | |
49: [2, 10], | |
53: [2, 10] | |
}, { | |
18: 65, | |
31: [2, 83], | |
56: 80, | |
57: 81, | |
58: 66, | |
59: [1, 40], | |
63: 82, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
59: [2, 85], | |
60: 83, | |
62: [2, 85], | |
66: [2, 85], | |
74: [2, 85], | |
75: [2, 85], | |
76: [2, 85], | |
77: [2, 85], | |
78: [2, 85], | |
79: [2, 85] | |
}, { | |
18: 65, | |
29: 84, | |
31: [2, 55], | |
57: 85, | |
58: 66, | |
59: [1, 40], | |
63: 86, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
69: [2, 55], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
18: 65, | |
31: [2, 61], | |
34: 87, | |
57: 88, | |
58: 66, | |
59: [1, 40], | |
63: 89, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
69: [2, 61], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
18: 65, | |
20: 90, | |
21: [2, 47], | |
57: 91, | |
58: 66, | |
59: [1, 40], | |
63: 92, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
31: [1, 93] | |
}, { | |
31: [2, 74], | |
59: [2, 74], | |
66: [2, 74], | |
74: [2, 74], | |
75: [2, 74], | |
76: [2, 74], | |
77: [2, 74], | |
78: [2, 74], | |
79: [2, 74] | |
}, { | |
31: [2, 76] | |
}, { | |
21: [2, 24], | |
31: [2, 24], | |
52: [2, 24], | |
59: [2, 24], | |
62: [2, 24], | |
66: [2, 24], | |
69: [2, 24], | |
74: [2, 24], | |
75: [2, 24], | |
76: [2, 24], | |
77: [2, 24], | |
78: [2, 24], | |
79: [2, 24] | |
}, { | |
21: [2, 25], | |
31: [2, 25], | |
52: [2, 25], | |
59: [2, 25], | |
62: [2, 25], | |
66: [2, 25], | |
69: [2, 25], | |
74: [2, 25], | |
75: [2, 25], | |
76: [2, 25], | |
77: [2, 25], | |
78: [2, 25], | |
79: [2, 25] | |
}, { | |
21: [2, 27], | |
31: [2, 27], | |
52: [2, 27], | |
62: [2, 27], | |
65: 94, | |
66: [1, 95], | |
69: [2, 27] | |
}, { | |
21: [2, 89], | |
31: [2, 89], | |
52: [2, 89], | |
62: [2, 89], | |
66: [2, 89], | |
69: [2, 89] | |
}, { | |
21: [2, 42], | |
31: [2, 42], | |
52: [2, 42], | |
59: [2, 42], | |
62: [2, 42], | |
66: [2, 42], | |
67: [1, 96], | |
69: [2, 42], | |
74: [2, 42], | |
75: [2, 42], | |
76: [2, 42], | |
77: [2, 42], | |
78: [2, 42], | |
79: [2, 42], | |
81: [2, 42] | |
}, { | |
21: [2, 41], | |
31: [2, 41], | |
52: [2, 41], | |
59: [2, 41], | |
62: [2, 41], | |
66: [2, 41], | |
69: [2, 41], | |
74: [2, 41], | |
75: [2, 41], | |
76: [2, 41], | |
77: [2, 41], | |
78: [2, 41], | |
79: [2, 41], | |
81: [2, 41] | |
}, { | |
52: [1, 97] | |
}, { | |
52: [2, 78], | |
59: [2, 78], | |
66: [2, 78], | |
74: [2, 78], | |
75: [2, 78], | |
76: [2, 78], | |
77: [2, 78], | |
78: [2, 78], | |
79: [2, 78] | |
}, { | |
52: [2, 80] | |
}, { | |
5: [2, 12], | |
13: [2, 12], | |
14: [2, 12], | |
17: [2, 12], | |
27: [2, 12], | |
32: [2, 12], | |
37: [2, 12], | |
42: [2, 12], | |
45: [2, 12], | |
46: [2, 12], | |
49: [2, 12], | |
53: [2, 12] | |
}, { | |
18: 98, | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
36: 50, | |
37: [1, 52], | |
41: 51, | |
42: [1, 53], | |
43: 100, | |
44: 99, | |
45: [2, 71] | |
}, { | |
31: [2, 65], | |
38: 101, | |
59: [2, 65], | |
66: [2, 65], | |
69: [2, 65], | |
74: [2, 65], | |
75: [2, 65], | |
76: [2, 65], | |
77: [2, 65], | |
78: [2, 65], | |
79: [2, 65] | |
}, { | |
45: [2, 17] | |
}, { | |
5: [2, 13], | |
13: [2, 13], | |
14: [2, 13], | |
17: [2, 13], | |
27: [2, 13], | |
32: [2, 13], | |
37: [2, 13], | |
42: [2, 13], | |
45: [2, 13], | |
46: [2, 13], | |
49: [2, 13], | |
53: [2, 13] | |
}, { | |
31: [1, 102] | |
}, { | |
31: [2, 82], | |
59: [2, 82], | |
66: [2, 82], | |
74: [2, 82], | |
75: [2, 82], | |
76: [2, 82], | |
77: [2, 82], | |
78: [2, 82], | |
79: [2, 82] | |
}, { | |
31: [2, 84] | |
}, { | |
18: 65, | |
57: 104, | |
58: 66, | |
59: [1, 40], | |
61: 103, | |
62: [2, 87], | |
63: 105, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
30: 106, | |
31: [2, 57], | |
68: 107, | |
69: [1, 108] | |
}, { | |
31: [2, 54], | |
59: [2, 54], | |
66: [2, 54], | |
69: [2, 54], | |
74: [2, 54], | |
75: [2, 54], | |
76: [2, 54], | |
77: [2, 54], | |
78: [2, 54], | |
79: [2, 54] | |
}, { | |
31: [2, 56], | |
69: [2, 56] | |
}, { | |
31: [2, 63], | |
35: 109, | |
68: 110, | |
69: [1, 108] | |
}, { | |
31: [2, 60], | |
59: [2, 60], | |
66: [2, 60], | |
69: [2, 60], | |
74: [2, 60], | |
75: [2, 60], | |
76: [2, 60], | |
77: [2, 60], | |
78: [2, 60], | |
79: [2, 60] | |
}, { | |
31: [2, 62], | |
69: [2, 62] | |
}, { | |
21: [1, 111] | |
}, { | |
21: [2, 46], | |
59: [2, 46], | |
66: [2, 46], | |
74: [2, 46], | |
75: [2, 46], | |
76: [2, 46], | |
77: [2, 46], | |
78: [2, 46], | |
79: [2, 46] | |
}, { | |
21: [2, 48] | |
}, { | |
5: [2, 21], | |
13: [2, 21], | |
14: [2, 21], | |
17: [2, 21], | |
27: [2, 21], | |
32: [2, 21], | |
37: [2, 21], | |
42: [2, 21], | |
45: [2, 21], | |
46: [2, 21], | |
49: [2, 21], | |
53: [2, 21] | |
}, { | |
21: [2, 90], | |
31: [2, 90], | |
52: [2, 90], | |
62: [2, 90], | |
66: [2, 90], | |
69: [2, 90] | |
}, { | |
67: [1, 96] | |
}, { | |
18: 65, | |
57: 112, | |
58: 66, | |
59: [1, 40], | |
66: [1, 32], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
5: [2, 22], | |
13: [2, 22], | |
14: [2, 22], | |
17: [2, 22], | |
27: [2, 22], | |
32: [2, 22], | |
37: [2, 22], | |
42: [2, 22], | |
45: [2, 22], | |
46: [2, 22], | |
49: [2, 22], | |
53: [2, 22] | |
}, { | |
31: [1, 113] | |
}, { | |
45: [2, 18] | |
}, { | |
45: [2, 72] | |
}, { | |
18: 65, | |
31: [2, 67], | |
39: 114, | |
57: 115, | |
58: 66, | |
59: [1, 40], | |
63: 116, | |
64: 67, | |
65: 68, | |
66: [1, 69], | |
69: [2, 67], | |
72: 23, | |
73: 24, | |
74: [1, 25], | |
75: [1, 26], | |
76: [1, 27], | |
77: [1, 28], | |
78: [1, 29], | |
79: [1, 31], | |
80: 30 | |
}, { | |
5: [2, 23], | |
13: [2, 23], | |
14: [2, 23], | |
17: [2, 23], | |
27: [2, 23], | |
32: [2, 23], | |
37: [2, 23], | |
42: [2, 23], | |
45: [2, 23], | |
46: [2, 23], | |
49: [2, 23], | |
53: [2, 23] | |
}, { | |
62: [1, 117] | |
}, { | |
59: [2, 86], | |
62: [2, 86], | |
66: [2, 86], | |
74: [2, 86], | |
75: [2, 86], | |
76: [2, 86], | |
77: [2, 86], | |
78: [2, 86], | |
79: [2, 86] | |
}, { | |
62: [2, 88] | |
}, { | |
31: [1, 118] | |
}, { | |
31: [2, 58] | |
}, { | |
66: [1, 120], | |
70: 119 | |
}, { | |
31: [1, 121] | |
}, { | |
31: [2, 64] | |
}, { | |
14: [2, 11] | |
}, { | |
21: [2, 28], | |
31: [2, 28], | |
52: [2, 28], | |
62: [2, 28], | |
66: [2, 28], | |
69: [2, 28] | |
}, { | |
5: [2, 20], | |
13: [2, 20], | |
14: [2, 20], | |
17: [2, 20], | |
27: [2, 20], | |
32: [2, 20], | |
37: [2, 20], | |
42: [2, 20], | |
45: [2, 20], | |
46: [2, 20], | |
49: [2, 20], | |
53: [2, 20] | |
}, { | |
31: [2, 69], | |
40: 122, | |
68: 123, | |
69: [1, 108] | |
}, { | |
31: [2, 66], | |
59: [2, 66], | |
66: [2, 66], | |
69: [2, 66], | |
74: [2, 66], | |
75: [2, 66], | |
76: [2, 66], | |
77: [2, 66], | |
78: [2, 66], | |
79: [2, 66] | |
}, { | |
31: [2, 68], | |
69: [2, 68] | |
}, { | |
21: [2, 26], | |
31: [2, 26], | |
52: [2, 26], | |
59: [2, 26], | |
62: [2, 26], | |
66: [2, 26], | |
69: [2, 26], | |
74: [2, 26], | |
75: [2, 26], | |
76: [2, 26], | |
77: [2, 26], | |
78: [2, 26], | |
79: [2, 26] | |
}, { | |
13: [2, 14], | |
14: [2, 14], | |
17: [2, 14], | |
27: [2, 14], | |
32: [2, 14], | |
37: [2, 14], | |
42: [2, 14], | |
45: [2, 14], | |
46: [2, 14], | |
49: [2, 14], | |
53: [2, 14] | |
}, { | |
66: [1, 125], | |
71: [1, 124] | |
}, { | |
66: [2, 91], | |
71: [2, 91] | |
}, { | |
13: [2, 15], | |
14: [2, 15], | |
17: [2, 15], | |
27: [2, 15], | |
32: [2, 15], | |
42: [2, 15], | |
45: [2, 15], | |
46: [2, 15], | |
49: [2, 15], | |
53: [2, 15] | |
}, { | |
31: [1, 126] | |
}, { | |
31: [2, 70] | |
}, { | |
31: [2, 29] | |
}, { | |
66: [2, 92], | |
71: [2, 92] | |
}, { | |
13: [2, 16], | |
14: [2, 16], | |
17: [2, 16], | |
27: [2, 16], | |
32: [2, 16], | |
37: [2, 16], | |
42: [2, 16], | |
45: [2, 16], | |
46: [2, 16], | |
49: [2, 16], | |
53: [2, 16] | |
}], | |
defaultActions: { | |
4: [2, 1], | |
49: [2, 50], | |
51: [2, 19], | |
55: [2, 52], | |
64: [2, 76], | |
73: [2, 80], | |
78: [2, 17], | |
82: [2, 84], | |
92: [2, 48], | |
99: [2, 18], | |
100: [2, 72], | |
105: [2, 88], | |
107: [2, 58], | |
110: [2, 64], | |
111: [2, 11], | |
123: [2, 70], | |
124: [2, 29] | |
}, | |
parseError: function(a, b) { | |
throw new Error(a) | |
}, | |
parse: function(a) { | |
function b() { | |
var a; | |
return a = c.lexer.lex() || 1, "number" != typeof a && (a = c.symbols_[a] || a), a | |
} | |
var c = this, | |
d = [0], | |
e = [null], | |
f = [], | |
g = this.table, | |
h = "", | |
i = 0, | |
j = 0, | |
k = 0; | |
this.lexer.setInput(a), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, this.yy.parser = this, "undefined" == typeof this.lexer.yylloc && (this.lexer.yylloc = {}); | |
var l = this.lexer.yylloc; | |
f.push(l); | |
var m = this.lexer.options && this.lexer.options.ranges; | |
"function" == typeof this.yy.parseError && (this.parseError = this.yy.parseError); | |
for (var n, o, p, q, r, s, t, u, v, w = {};;) { | |
if (p = d[d.length - 1], this.defaultActions[p] ? q = this.defaultActions[p] : ((null === n || "undefined" == typeof n) && (n = b()), q = g[p] && g[p][n]), "undefined" == typeof q || !q.length || !q[0]) { | |
var x = ""; | |
if (!k) { | |
v = []; | |
for (s in g[p]) this.terminals_[s] && s > 2 && v.push("'" + this.terminals_[s] + "'"); | |
x = this.lexer.showPosition ? "Parse error on line " + (i + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + v.join(", ") + ", got '" + (this.terminals_[n] || n) + "'" : "Parse error on line " + (i + 1) + ": Unexpected " + (1 == n ? "end of input" : "'" + (this.terminals_[n] || n) + "'"), this.parseError(x, { | |
text: this.lexer.match, | |
token: this.terminals_[n] || n, | |
line: this.lexer.yylineno, | |
loc: l, | |
expected: v | |
}) | |
} | |
} | |
if (q[0] instanceof Array && q.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + p + ", token: " + n); | |
switch (q[0]) { | |
case 1: | |
d.push(n), e.push(this.lexer.yytext), f.push(this.lexer.yylloc), d.push(q[1]), n = null, o ? (n = o, o = null) : (j = this.lexer.yyleng, h = this.lexer.yytext, i = this.lexer.yylineno, l = this.lexer.yylloc, k > 0 && k--); | |
break; | |
case 2: | |
if (t = this.productions_[q[1]][1], w.$ = e[e.length - t], w._$ = { | |
first_line: f[f.length - (t || 1)].first_line, | |
last_line: f[f.length - 1].last_line, | |
first_column: f[f.length - (t || 1)].first_column, | |
last_column: f[f.length - 1].last_column | |
}, m && (w._$.range = [f[f.length - (t || 1)].range[0], f[f.length - 1].range[1]]), r = this.performAction.call(w, h, j, i, this.yy, q[1], e, f), "undefined" != typeof r) return r; | |
t && (d = d.slice(0, -1 * t * 2), e = e.slice(0, -1 * t), f = f.slice(0, -1 * t)), d.push(this.productions_[q[1]][0]), e.push(w.$), f.push(w._$), u = g[d[d.length - 2]][d[d.length - 1]], d.push(u); | |
break; | |
case 3: | |
return !0 | |
} | |
} | |
return !0 | |
} | |
}, c = function() { | |
var a = { | |
EOF: 1, | |
parseError: function(a, b) { | |
if (!this.yy.parser) throw new Error(a); | |
this.yy.parser.parseError(a, b) | |
}, | |
setInput: function(a) { | |
return this._input = a, this._more = this._less = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { | |
first_line: 1, | |
first_column: 0, | |
last_line: 1, | |
last_column: 0 | |
}, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this | |
}, | |
input: function() { | |
var a = this._input[0]; | |
this.yytext += a, this.yyleng++, this.offset++, this.match += a, this.matched += a; | |
var b = a.match(/(?:\r\n?|\n).*/g); | |
return b ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), a | |
}, | |
unput: function(a) { | |
var b = a.length, | |
c = a.split(/(?:\r\n?|\n)/g); | |
this._input = a + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - b - 1), this.offset -= b; | |
var d = this.match.split(/(?:\r\n?|\n)/g); | |
this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), c.length - 1 && (this.yylineno -= c.length - 1); | |
var e = this.yylloc.range; | |
return this.yylloc = { | |
first_line: this.yylloc.first_line, | |
last_line: this.yylineno + 1, | |
first_column: this.yylloc.first_column, | |
last_column: c ? (c.length === d.length ? this.yylloc.first_column : 0) + d[d.length - c.length].length - c[0].length : this.yylloc.first_column - b | |
}, this.options.ranges && (this.yylloc.range = [e[0], e[0] + this.yyleng - b]), this | |
}, | |
more: function() { | |
return this._more = !0, this | |
}, | |
less: function(a) { | |
this.unput(this.match.slice(a)) | |
}, | |
pastInput: function() { | |
var a = this.matched.substr(0, this.matched.length - this.match.length); | |
return (a.length > 20 ? "..." : "") + a.substr(-20).replace(/\n/g, "") | |
}, | |
upcomingInput: function() { | |
var a = this.match; | |
return a.length < 20 && (a += this._input.substr(0, 20 - a.length)), (a.substr(0, 20) + (a.length > 20 ? "..." : "")).replace(/\n/g, "") | |
}, | |
showPosition: function() { | |
var a = this.pastInput(), | |
b = new Array(a.length + 1).join("-"); | |
return a + this.upcomingInput() + "\n" + b + "^" | |
}, | |
next: function() { | |
if (this.done) return this.EOF; | |
this._input || (this.done = !0); | |
var a, b, c, d, e; | |
this._more || (this.yytext = "", this.match = ""); | |
for (var f = this._currentRules(), g = 0; g < f.length && (c = this._input.match(this.rules[f[g]]), !c || b && !(c[0].length > b[0].length) || (b = c, d = g, this.options.flex)); g++); | |
return b ? (e = b[0].match(/(?:\r\n?|\n).*/g), e && (this.yylineno += e.length), this.yylloc = { | |
first_line: this.yylloc.last_line, | |
last_line: this.yylineno + 1, | |
first_column: this.yylloc.last_column, | |
last_column: e ? e[e.length - 1].length - e[e.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + b[0].length | |
}, this.yytext += b[0], this.match += b[0], this.matches = b, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._input = this._input.slice(b[0].length), this.matched += b[0], a = this.performAction.call(this, this.yy, this, f[d], this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), a ? a : void 0) : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { | |
text: "", | |
token: null, | |
line: this.yylineno | |
}) | |
}, | |
lex: function() { | |
var a = this.next(); | |
return "undefined" != typeof a ? a : this.lex() | |
}, | |
begin: function(a) { | |
this.conditionStack.push(a) | |
}, | |
popState: function() { | |
return this.conditionStack.pop() | |
}, | |
_currentRules: function() { | |
return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules | |
}, | |
topState: function() { | |
return this.conditionStack[this.conditionStack.length - 2] | |
}, | |
pushState: function(a) { | |
this.begin(a) | |
} | |
}; | |
return a.options = {}, a.performAction = function(a, b, c, d) { | |
function e(a, c) { | |
return b.yytext = b.yytext.substr(a, b.yyleng - c) | |
} | |
switch (c) { | |
case 0: | |
if ("\\\\" === b.yytext.slice(-2) ? (e(0, 1), this.begin("mu")) : "\\" === b.yytext.slice(-1) ? (e(0, 1), this.begin("emu")) : this.begin("mu"), b.yytext) return 14; | |
break; | |
case 1: | |
return 14; | |
case 2: | |
return this.popState(), 14; | |
case 3: | |
return b.yytext = b.yytext.substr(5, b.yyleng - 9), this.popState(), 16; | |
case 4: | |
return 14; | |
case 5: | |
return this.popState(), 13; | |
case 6: | |
return 59; | |
case 7: | |
return 62; | |
case 8: | |
return 17; | |
case 9: | |
return this.popState(), this.begin("raw"), 21; | |
case 10: | |
return 53; | |
case 11: | |
return 27; | |
case 12: | |
return 45; | |
case 13: | |
return this.popState(), 42; | |
case 14: | |
return this.popState(), 42; | |
case 15: | |
return 32; | |
case 16: | |
return 37; | |
case 17: | |
return 49; | |
case 18: | |
return 46; | |
case 19: | |
this.unput(b.yytext), this.popState(), this.begin("com"); | |
break; | |
case 20: | |
return this.popState(), 13; | |
case 21: | |
return 46; | |
case 22: | |
return 67; | |
case 23: | |
return 66; | |
case 24: | |
return 66; | |
case 25: | |
return 81; | |
case 26: | |
break; | |
case 27: | |
return this.popState(), 52; | |
case 28: | |
return this.popState(), 31; | |
case 29: | |
return b.yytext = e(1, 2).replace(/\\"/g, '"'), 74; | |
case 30: | |
return b.yytext = e(1, 2).replace(/\\'/g, "'"), 74; | |
case 31: | |
return 79; | |
case 32: | |
return 76; | |
case 33: | |
return 76; | |
case 34: | |
return 77; | |
case 35: | |
return 78; | |
case 36: | |
return 75; | |
case 37: | |
return 69; | |
case 38: | |
return 71; | |
case 39: | |
return 66; | |
case 40: | |
return 66; | |
case 41: | |
return "INVALID"; | |
case 42: | |
return 5 | |
} | |
}, a.rules = [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]*?(?=(\{\{\{\{\/)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[[^\]]*\])/, /^(?:.)/, /^(?:$)/], a.conditions = { | |
mu: { | |
rules: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], | |
inclusive: !1 | |
}, | |
emu: { | |
rules: [2], | |
inclusive: !1 | |
}, | |
com: { | |
rules: [5], | |
inclusive: !1 | |
}, | |
raw: { | |
rules: [3, 4], | |
inclusive: !1 | |
}, | |
INITIAL: { | |
rules: [0, 1, 42], | |
inclusive: !0 | |
} | |
}, a | |
}(); | |
return b.lexer = c, a.prototype = b, b.Parser = a, new a | |
}(); | |
c["default"] = d, b.exports = c["default"] | |
}, {} | |
], | |
33: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a) { | |
return (new e).accept(a) | |
} | |
function e() { | |
this.padding = 0 | |
} | |
var f = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0, c.print = d, c.PrintVisitor = e; | |
var g = a("./visitor"), | |
h = f(g); | |
e.prototype = new h["default"], e.prototype.pad = function(a) { | |
for (var b = "", c = 0, d = this.padding; d > c; c++) b += " "; | |
return b = b + a + "\n" | |
}, e.prototype.Program = function(a) { | |
var b = "", | |
c = a.body, | |
d = void 0, | |
e = void 0; | |
if (a.blockParams) { | |
var f = "BLOCK PARAMS: ["; | |
for (d = 0, e = a.blockParams.length; e > d; d++) f += " " + a.blockParams[d]; | |
f += " ]", b += this.pad(f) | |
} | |
for (d = 0, e = c.length; e > d; d++) b += this.accept(c[d]); | |
return this.padding--, b | |
}, e.prototype.MustacheStatement = function(a) { | |
return this.pad("{{ " + this.SubExpression(a) + " }}") | |
}, e.prototype.BlockStatement = function(a) { | |
var b = ""; | |
return b += this.pad("BLOCK:"), this.padding++, b += this.pad(this.SubExpression(a)), a.program && (b += this.pad("PROGRAM:"), this.padding++, b += this.accept(a.program), this.padding--), a.inverse && (a.program && this.padding++, b += this.pad("{{^}}"), this.padding++, b += this.accept(a.inverse), this.padding--, a.program && this.padding--), this.padding--, b | |
}, e.prototype.PartialStatement = function(a) { | |
var b = "PARTIAL:" + a.name.original; | |
return a.params[0] && (b += " " + this.accept(a.params[0])), a.hash && (b += " " + this.accept(a.hash)), this.pad("{{> " + b + " }}") | |
}, e.prototype.ContentStatement = function(a) { | |
return this.pad("CONTENT[ '" + a.value + "' ]") | |
}, e.prototype.CommentStatement = function(a) { | |
return this.pad("{{! '" + a.value + "' }}") | |
}, e.prototype.SubExpression = function(a) { | |
for (var b = a.params, c = [], d = void 0, e = 0, f = b.length; f > e; e++) c.push(this.accept(b[e])); | |
return b = "[" + c.join(", ") + "]", d = a.hash ? " " + this.accept(a.hash) : "", this.accept(a.path) + " " + b + d | |
}, e.prototype.PathExpression = function(a) { | |
var b = a.parts.join("/"); | |
return (a.data ? "@" : "") + "PATH:" + b | |
}, e.prototype.StringLiteral = function(a) { | |
return '"' + a.value + '"' | |
}, e.prototype.NumberLiteral = function(a) { | |
return "NUMBER{" + a.value + "}" | |
}, e.prototype.BooleanLiteral = function(a) { | |
return "BOOLEAN{" + a.value + "}" | |
}, e.prototype.UndefinedLiteral = function() { | |
return "UNDEFINED" | |
}, e.prototype.NullLiteral = function() { | |
return "NULL" | |
}, e.prototype.Hash = function(a) { | |
for (var b = a.pairs, c = [], d = 0, e = b.length; e > d; d++) c.push(this.accept(b[d])); | |
return "HASH{" + c.join(", ") + "}" | |
}, e.prototype.HashPair = function(a) { | |
return a.key + "=" + this.accept(a.value) | |
} | |
}, { | |
"./visitor": 34 | |
} | |
], | |
34: [ | |
function(a, b, c) { | |
"use strict"; | |
function d() { | |
this.parents = [] | |
} | |
var e = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0; | |
var f = a("../exception"), | |
g = e(f), | |
h = a("./ast"), | |
i = e(h); | |
d.prototype = { | |
constructor: d, | |
mutating: !1, | |
acceptKey: function(a, b) { | |
var c = this.accept(a[b]); | |
if (this.mutating) { | |
if (c && (!c.type || !i["default"][c.type])) throw new g["default"]('Unexpected node type "' + c.type + '" found when accepting ' + b + " on " + a.type); | |
a[b] = c | |
} | |
}, | |
acceptRequired: function(a, b) { | |
if (this.acceptKey(a, b), !a[b]) throw new g["default"](a.type + " requires " + b) | |
}, | |
acceptArray: function(a) { | |
for (var b = 0, c = a.length; c > b; b++) this.acceptKey(a, b), a[b] || (a.splice(b, 1), b--, c--) | |
}, | |
accept: function(a) { | |
if (a) { | |
this.current && this.parents.unshift(this.current), this.current = a; | |
var b = this[a.type](a); | |
return this.current = this.parents.shift(), !this.mutating || b ? b : b !== !1 ? a : void 0 | |
} | |
}, | |
Program: function(a) { | |
this.acceptArray(a.body) | |
}, | |
MustacheStatement: function(a) { | |
this.acceptRequired(a, "path"), this.acceptArray(a.params), this.acceptKey(a, "hash") | |
}, | |
BlockStatement: function(a) { | |
this.acceptRequired(a, "path"), this.acceptArray(a.params), this.acceptKey(a, "hash"), this.acceptKey(a, "program"), this.acceptKey(a, "inverse") | |
}, | |
PartialStatement: function(a) { | |
this.acceptRequired(a, "name"), this.acceptArray(a.params), this.acceptKey(a, "hash") | |
}, | |
ContentStatement: function() {}, | |
CommentStatement: function() {}, | |
SubExpression: function(a) { | |
this.acceptRequired(a, "path"), this.acceptArray(a.params), this.acceptKey(a, "hash") | |
}, | |
PathExpression: function() {}, | |
StringLiteral: function() {}, | |
NumberLiteral: function() {}, | |
BooleanLiteral: function() {}, | |
UndefinedLiteral: function() {}, | |
NullLiteral: function() {}, | |
Hash: function(a) { | |
this.acceptArray(a.pairs) | |
}, | |
HashPair: function(a) { | |
this.acceptRequired(a, "value") | |
} | |
}, c["default"] = d, b.exports = c["default"] | |
}, { | |
"../exception": 36, | |
"./ast": 26 | |
} | |
], | |
35: [ | |
function(a, b, c) { | |
"use strict"; | |
function d() {} | |
function e(a, b, c) { | |
void 0 === b && (b = a.length); | |
var d = a[b - 1], | |
e = a[b - 2]; | |
return d ? "ContentStatement" === d.type ? (e || !c ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(d.original) : void 0 : c | |
} | |
function f(a, b, c) { | |
void 0 === b && (b = -1); | |
var d = a[b + 1], | |
e = a[b + 2]; | |
return d ? "ContentStatement" === d.type ? (e || !c ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(d.original) : void 0 : c | |
} | |
function g(a, b, c) { | |
var d = a[null == b ? 0 : b + 1]; | |
if (d && "ContentStatement" === d.type && (c || !d.rightStripped)) { | |
var e = d.value; | |
d.value = d.value.replace(c ? /^\s+/ : /^[ \t]*\r?\n?/, ""), d.rightStripped = d.value !== e | |
} | |
} | |
function h(a, b, c) { | |
var d = a[null == b ? a.length - 1 : b - 1]; | |
if (d && "ContentStatement" === d.type && (c || !d.leftStripped)) { | |
var e = d.value; | |
return d.value = d.value.replace(c ? /\s+$/ : /[ \t]+$/, ""), d.leftStripped = d.value !== e, d.leftStripped | |
} | |
} | |
var i = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0; | |
var j = a("./visitor"), | |
k = i(j); | |
d.prototype = new k["default"], d.prototype.Program = function(a) { | |
var b = !this.isRootSeen; | |
this.isRootSeen = !0; | |
for (var c = a.body, d = 0, i = c.length; i > d; d++) { | |
var j = c[d], | |
k = this.accept(j); | |
if (k) { | |
var l = e(c, d, b), | |
m = f(c, d, b), | |
n = k.openStandalone && l, | |
o = k.closeStandalone && m, | |
p = k.inlineStandalone && l && m; | |
k.close && g(c, d, !0), k.open && h(c, d, !0), p && (g(c, d), h(c, d) && "PartialStatement" === j.type && (j.indent = /([ \t]+$)/.exec(c[d - 1].original)[1])), n && (g((j.program || j.inverse).body), h(c, d)), o && (g(c, d), h((j.inverse || j.program).body)) | |
} | |
} | |
return a | |
}, d.prototype.BlockStatement = function(a) { | |
this.accept(a.program), this.accept(a.inverse); | |
var b = a.program || a.inverse, | |
c = a.program && a.inverse, | |
d = c, | |
i = c; | |
if (c && c.chained) | |
for (d = c.body[0].program; i.chained;) i = i.body[i.body.length - 1].program; | |
var j = { | |
open: a.openStrip.open, | |
close: a.closeStrip.close, | |
openStandalone: f(b.body), | |
closeStandalone: e((d || b).body) | |
}; | |
if (a.openStrip.close && g(b.body, null, !0), c) { | |
var k = a.inverseStrip; | |
k.open && h(b.body, null, !0), k.close && g(d.body, null, !0), a.closeStrip.open && h(i.body, null, !0), e(b.body) && f(d.body) && (h(b.body), g(d.body)) | |
} else a.closeStrip.open && h(b.body, null, !0); | |
return j | |
}, d.prototype.MustacheStatement = function(a) { | |
return a.strip | |
}, d.prototype.PartialStatement = d.prototype.CommentStatement = function(a) { | |
var b = a.strip || {}; | |
return { | |
inlineStandalone: !0, | |
open: b.open, | |
close: b.close | |
} | |
}, c["default"] = d, b.exports = c["default"] | |
}, { | |
"./visitor": 34 | |
} | |
], | |
36: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a, b) { | |
var c = b && b.loc, | |
f = void 0, | |
g = void 0; | |
c && (f = c.start.line, g = c.start.column, a += " - " + f + ":" + g); | |
for (var h = Error.prototype.constructor.call(this, a), i = 0; i < e.length; i++) this[e[i]] = h[e[i]]; | |
Error.captureStackTrace && Error.captureStackTrace(this, d), c && (this.lineNumber = f, this.column = g) | |
} | |
c.__esModule = !0; | |
var e = ["description", "fileName", "lineNumber", "message", "name", "number", "stack"]; | |
d.prototype = new Error, c["default"] = d, b.exports = c["default"] | |
}, {} | |
], | |
37: [ | |
function(a, b, c) { | |
(function(a) { | |
"use strict"; | |
c.__esModule = !0, c["default"] = function(b) { | |
var c = "undefined" != typeof a ? a : window, | |
d = c.Handlebars; | |
b.noConflict = function() { | |
c.Handlebars === b && (c.Handlebars = d) | |
} | |
}, b.exports = c["default"] | |
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) | |
}, {} | |
], | |
38: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a) { | |
var b = a && a[0] || 1, | |
c = p.COMPILER_REVISION; | |
if (b !== c) { | |
if (c > b) { | |
var d = p.REVISION_CHANGES[c], | |
e = p.REVISION_CHANGES[b]; | |
throw new o["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (" + d + ") or downgrade your runtime to an older version (" + e + ").") | |
} | |
throw new o["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (" + a[1] + ").") | |
} | |
} | |
function e(a, b) { | |
function c(c, d, e) { | |
e.hash && (d = m.extend({}, d, e.hash)), c = b.VM.resolvePartial.call(this, c, d, e); | |
var f = b.VM.invokePartial.call(this, c, d, e); | |
if (null == f && b.compile && (e.partials[e.name] = b.compile(c, a.compilerOptions, b), f = e.partials[e.name](d, e)), null != f) { | |
if (e.indent) { | |
for (var g = f.split("\n"), h = 0, i = g.length; i > h && (g[h] || h + 1 !== i); h++) g[h] = e.indent + g[h]; | |
f = g.join("\n") | |
} | |
return f | |
} | |
throw new o["default"]("The partial " + e.name + " could not be compiled when running in runtime-only mode") | |
} | |
function d(b) { | |
var c = void 0 === arguments[1] ? {} : arguments[1], | |
f = c.data; | |
d._setup(c), !c.partial && a.useData && (f = j(b, f)); | |
var g = void 0, | |
h = a.useBlockParams ? [] : void 0; | |
return a.useDepths && (g = c.depths ? [b].concat(c.depths) : [b]), a.main.call(e, b, e.helpers, e.partials, f, h, g) | |
} | |
if (!b) throw new o["default"]("No environment passed to template"); | |
if (!a || !a.main) throw new o["default"]("Unknown template object: " + typeof a); | |
b.VM.checkRevision(a.compiler); | |
var e = { | |
strict: function(a, b) { | |
if (!(b in a)) throw new o["default"]('"' + b + '" not defined in ' + a); | |
return a[b] | |
}, | |
lookup: function(a, b) { | |
for (var c = a.length, d = 0; c > d; d++) | |
if (a[d] && null != a[d][b]) return a[d][b] | |
}, | |
lambda: function(a, b) { | |
return "function" == typeof a ? a.call(b) : a | |
}, | |
escapeExpression: m.escapeExpression, | |
invokePartial: c, | |
fn: function(b) { | |
return a[b] | |
}, | |
programs: [], | |
program: function(a, b, c, d, e) { | |
var g = this.programs[a], | |
h = this.fn(a); | |
return b || e || d || c ? g = f(this, a, h, b, c, d, e) : g || (g = this.programs[a] = f(this, a, h)), g | |
}, | |
data: function(a, b) { | |
for (; a && b--;) a = a._parent; | |
return a | |
}, | |
merge: function(a, b) { | |
var c = a || b; | |
return a && b && a !== b && (c = m.extend({}, b, a)), c | |
}, | |
noop: b.VM.noop, | |
compilerInfo: a.compiler | |
}; | |
return d.isTop = !0, d._setup = function(c) { | |
c.partial ? (e.helpers = c.helpers, e.partials = c.partials) : (e.helpers = e.merge(c.helpers, b.helpers), a.usePartial && (e.partials = e.merge(c.partials, b.partials))) | |
}, d._child = function(b, c, d, g) { | |
if (a.useBlockParams && !d) throw new o["default"]("must pass block params"); | |
if (a.useDepths && !g) throw new o["default"]("must pass parent depths"); | |
return f(e, b, a[b], c, 0, d, g) | |
}, d | |
} | |
function f(a, b, c, d, e, f, g) { | |
function h(b) { | |
var e = void 0 === arguments[1] ? {} : arguments[1]; | |
return c.call(a, b, a.helpers, a.partials, e.data || d, f && [e.blockParams].concat(f), g && [b].concat(g)) | |
} | |
return h.program = b, h.depth = g ? g.length : 0, h.blockParams = e || 0, h | |
} | |
function g(a, b, c) { | |
return a ? a.call || c.name || (c.name = a, a = c.partials[a]) : a = c.partials[c.name], a | |
} | |
function h(a, b, c) { | |
if (c.partial = !0, void 0 === a) throw new o["default"]("The partial " + c.name + " could not be found"); | |
return a instanceof Function ? a(b, c) : void 0 | |
} | |
function i() { | |
return "" | |
} | |
function j(a, b) { | |
return b && "root" in b || (b = b ? p.createFrame(b) : {}, b.root = a), b | |
} | |
var k = function(a) { | |
return a && a.__esModule ? a : { | |
"default": a | |
} | |
}; | |
c.__esModule = !0, c.checkRevision = d, c.template = e, c.wrapProgram = f, c.resolvePartial = g, c.invokePartial = h, c.noop = i; | |
var l = a("./utils"), | |
m = k(l), | |
n = a("./exception"), | |
o = k(n), | |
p = a("./base") | |
}, { | |
"./base": 25, | |
"./exception": 36, | |
"./utils": 40 | |
} | |
], | |
39: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a) { | |
this.string = a | |
} | |
c.__esModule = !0, d.prototype.toString = d.prototype.toHTML = function() { | |
return "" + this.string | |
}, c["default"] = d, b.exports = c["default"] | |
}, {} | |
], | |
40: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a) { | |
return k[a] | |
} | |
function e(a) { | |
for (var b = 1; b < arguments.length; b++) | |
for (var c in arguments[b]) Object.prototype.hasOwnProperty.call(arguments[b], c) && (a[c] = arguments[b][c]); | |
return a | |
} | |
function f(a, b) { | |
for (var c = 0, d = a.length; d > c; c++) | |
if (a[c] === b) return c; | |
return -1 | |
} | |
function g(a) { | |
if ("string" != typeof a) { | |
if (a && a.toHTML) return a.toHTML(); | |
if (null == a) return ""; | |
if (!a) return a + ""; | |
a = "" + a | |
} | |
return m.test(a) ? a.replace(l, d) : a | |
} | |
function h(a) { | |
return a || 0 === a ? p(a) && 0 === a.length ? !0 : !1 : !0 | |
} | |
function i(a, b) { | |
return a.path = b, a | |
} | |
function j(a, b) { | |
return (a ? a + "." : "") + b | |
} | |
c.__esModule = !0, c.extend = e, c.indexOf = f, c.escapeExpression = g, c.isEmpty = h, c.blockParams = i, c.appendContextPath = j; | |
var k = { | |
"&": "&", | |
"<": "<", | |
">": ">", | |
'"': """, | |
"'": "'", | |
"`": "`" | |
}, l = /[&<>"'`]/g, | |
m = /[&<>"'`]/, | |
n = Object.prototype.toString; | |
c.toString = n; | |
var o = function(a) { | |
return "function" == typeof a | |
}; | |
o(/x/) && (c.isFunction = o = function(a) { | |
return "function" == typeof a && "[object Function]" === n.call(a) | |
}); | |
var o; | |
c.isFunction = o; | |
var p = Array.isArray || function(a) { | |
return a && "object" == typeof a ? "[object Array]" === n.call(a) : !1 | |
}; | |
c.isArray = p | |
}, {} | |
], | |
41: [ | |
function(a, b, c) { | |
function d(b, c) { | |
var d = a("fs"), | |
f = d.readFileSync(c, "utf8"); | |
b.exports = e.compile(f) | |
} | |
var e = a("../dist/cjs/handlebars")["default"], | |
f = a("../dist/cjs/handlebars/compiler/printer"); | |
e.PrintVisitor = f.PrintVisitor, e.print = f.print, b.exports = e, "undefined" != typeof a && a.extensions && (a.extensions[".handlebars"] = d, a.extensions[".hbs"] = d) | |
}, { | |
"../dist/cjs/handlebars": 23, | |
"../dist/cjs/handlebars/compiler/printer": 33, | |
fs: 16 | |
} | |
], | |
42: [ | |
function(a, b, c) { | |
c.SourceMapGenerator = a("./source-map/source-map-generator").SourceMapGenerator, c.SourceMapConsumer = a("./source-map/source-map-consumer").SourceMapConsumer, c.SourceNode = a("./source-map/source-node").SourceNode | |
}, { | |
"./source-map/source-map-consumer": 48, | |
"./source-map/source-map-generator": 49, | |
"./source-map/source-node": 50 | |
} | |
], | |
43: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d() { | |
this._array = [], this._set = {} | |
} | |
var e = a("./util"); | |
d.fromArray = function(a, b) { | |
for (var c = new d, e = 0, f = a.length; f > e; e++) c.add(a[e], b); | |
return c | |
}, d.prototype.add = function(a, b) { | |
var c = this.has(a), | |
d = this._array.length; | |
(!c || b) && this._array.push(a), c || (this._set[e.toSetString(a)] = d) | |
}, d.prototype.has = function(a) { | |
return Object.prototype.hasOwnProperty.call(this._set, e.toSetString(a)) | |
}, d.prototype.indexOf = function(a) { | |
if (this.has(a)) return this._set[e.toSetString(a)]; | |
throw new Error('"' + a + '" is not in the set.') | |
}, d.prototype.at = function(a) { | |
if (a >= 0 && a < this._array.length) return this._array[a]; | |
throw new Error("No element indexed by " + a) | |
}, d.prototype.toArray = function() { | |
return this._array.slice() | |
}, b.ArraySet = d | |
}) | |
}, { | |
"./util": 51, | |
amdefine: 52 | |
} | |
], | |
44: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d(a) { | |
return 0 > a ? (-a << 1) + 1 : (a << 1) + 0 | |
} | |
function e(a) { | |
var b = 1 === (1 & a), | |
c = a >> 1; | |
return b ? -c : c | |
} | |
var f = a("./base64"), | |
g = 5, | |
h = 1 << g, | |
i = h - 1, | |
j = h; | |
b.encode = function(a) { | |
var b, c = "", | |
e = d(a); | |
do b = e & i, e >>>= g, e > 0 && (b |= j), c += f.encode(b); while (e > 0); | |
return c | |
}, b.decode = function(a, b) { | |
var c, d, h = 0, | |
k = a.length, | |
l = 0, | |
m = 0; | |
do { | |
if (h >= k) throw new Error("Expected more digits in base 64 VLQ value."); | |
d = f.decode(a.charAt(h++)), c = !! (d & j), d &= i, l += d << m, m += g | |
} while (c); | |
b.value = e(l), b.rest = a.slice(h) | |
} | |
}) | |
}, { | |
"./base64": 45, | |
amdefine: 52 | |
} | |
], | |
45: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
var d = {}, e = {}; | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(a, b) { | |
d[a] = b, e[b] = a | |
}), b.encode = function(a) { | |
if (a in e) return e[a]; | |
throw new TypeError("Must be between 0 and 63: " + a) | |
}, b.decode = function(a) { | |
if (a in d) return d[a]; | |
throw new TypeError("Not a valid base 64 digit: " + a) | |
} | |
}) | |
}, { | |
amdefine: 52 | |
} | |
], | |
46: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d(a, b, c, e, f) { | |
var g = Math.floor((b - a) / 2) + a, | |
h = f(c, e[g], !0); | |
return 0 === h ? g : h > 0 ? b - g > 1 ? d(g, b, c, e, f) : g : g - a > 1 ? d(a, g, c, e, f) : 0 > a ? -1 : a | |
} | |
b.search = function(a, b, c) { | |
return 0 === b.length ? -1 : d(-1, b.length, a, b, c) | |
} | |
}) | |
}, { | |
amdefine: 52 | |
} | |
], | |
47: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d(a, b) { | |
var c = a.generatedLine, | |
d = b.generatedLine, | |
e = a.generatedColumn, | |
g = b.generatedColumn; | |
return d > c || d == c && g >= e || f.compareByGeneratedPositions(a, b) <= 0 | |
} | |
function e() { | |
this._array = [], this._sorted = !0, this._last = { | |
generatedLine: -1, | |
generatedColumn: 0 | |
} | |
} | |
var f = a("./util"); | |
e.prototype.unsortedForEach = function(a, b) { | |
this._array.forEach(a, b) | |
}, e.prototype.add = function(a) { | |
d(this._last, a) ? (this._last = a, this._array.push(a)) : (this._sorted = !1, this._array.push(a)) | |
}, e.prototype.toArray = function() { | |
return this._sorted || (this._array.sort(f.compareByGeneratedPositions), this._sorted = !0), this._array | |
}, b.MappingList = e | |
}) | |
}, { | |
"./util": 51, | |
amdefine: 52 | |
} | |
], | |
48: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d(a) { | |
var b = a; | |
"string" == typeof a && (b = JSON.parse(a.replace(/^\)\]\}'/, ""))); | |
var c = e.getArg(b, "version"), | |
d = e.getArg(b, "sources"), | |
f = e.getArg(b, "names", []), | |
h = e.getArg(b, "sourceRoot", null), | |
i = e.getArg(b, "sourcesContent", null), | |
j = e.getArg(b, "mappings"), | |
k = e.getArg(b, "file", null); | |
if (c != this._version) throw new Error("Unsupported version: " + c); | |
d = d.map(e.normalize), this._names = g.fromArray(f, !0), this._sources = g.fromArray(d, !0), this.sourceRoot = h, this.sourcesContent = i, this._mappings = j, this.file = k | |
} | |
var e = a("./util"), | |
f = a("./binary-search"), | |
g = a("./array-set").ArraySet, | |
h = a("./base64-vlq"); | |
d.fromSourceMap = function(a) { | |
var b = Object.create(d.prototype); | |
return b._names = g.fromArray(a._names.toArray(), !0), b._sources = g.fromArray(a._sources.toArray(), !0), b.sourceRoot = a._sourceRoot, b.sourcesContent = a._generateSourcesContent(b._sources.toArray(), b.sourceRoot), b.file = a._file, b.__generatedMappings = a._mappings.toArray().slice(), b.__originalMappings = a._mappings.toArray().slice().sort(e.compareByOriginalPositions), b | |
}, d.prototype._version = 3, Object.defineProperty(d.prototype, "sources", { | |
get: function() { | |
return this._sources.toArray().map(function(a) { | |
return null != this.sourceRoot ? e.join(this.sourceRoot, a) : a | |
}, this) | |
} | |
}), d.prototype.__generatedMappings = null, Object.defineProperty(d.prototype, "_generatedMappings", { | |
get: function() { | |
return this.__generatedMappings || (this.__generatedMappings = [], this.__originalMappings = [], this._parseMappings(this._mappings, this.sourceRoot)), this.__generatedMappings | |
} | |
}), d.prototype.__originalMappings = null, Object.defineProperty(d.prototype, "_originalMappings", { | |
get: function() { | |
return this.__originalMappings || (this.__generatedMappings = [], this.__originalMappings = [], this._parseMappings(this._mappings, this.sourceRoot)), this.__originalMappings | |
} | |
}), d.prototype._nextCharIsMappingSeparator = function(a) { | |
var b = a.charAt(0); | |
return ";" === b || "," === b | |
}, d.prototype._parseMappings = function(a, b) { | |
for (var c, d = 1, f = 0, g = 0, i = 0, j = 0, k = 0, l = a, m = {}; l.length > 0;) | |
if (";" === l.charAt(0)) d++, l = l.slice(1), f = 0; | |
else if ("," === l.charAt(0)) l = l.slice(1); | |
else { | |
if (c = {}, c.generatedLine = d, h.decode(l, m), c.generatedColumn = f + m.value, f = c.generatedColumn, l = m.rest, l.length > 0 && !this._nextCharIsMappingSeparator(l)) { | |
if (h.decode(l, m), c.source = this._sources.at(j + m.value), j += m.value, l = m.rest, 0 === l.length || this._nextCharIsMappingSeparator(l)) throw new Error("Found a source, but no line and column"); | |
if (h.decode(l, m), c.originalLine = g + m.value, g = c.originalLine, c.originalLine += 1, l = m.rest, 0 === l.length || this._nextCharIsMappingSeparator(l)) throw new Error("Found a source and line, but no column"); | |
h.decode(l, m), c.originalColumn = i + m.value, i = c.originalColumn, l = m.rest, l.length > 0 && !this._nextCharIsMappingSeparator(l) && (h.decode(l, m), c.name = this._names.at(k + m.value), k += m.value, l = m.rest) | |
} | |
this.__generatedMappings.push(c), "number" == typeof c.originalLine && this.__originalMappings.push(c) | |
} | |
this.__generatedMappings.sort(e.compareByGeneratedPositions), this.__originalMappings.sort(e.compareByOriginalPositions) | |
}, d.prototype._findMapping = function(a, b, c, d, e) { | |
if (a[c] <= 0) throw new TypeError("Line must be greater than or equal to 1, got " + a[c]); | |
if (a[d] < 0) throw new TypeError("Column must be greater than or equal to 0, got " + a[d]); | |
return f.search(a, b, e) | |
}, d.prototype.computeColumnSpans = function() { | |
for (var a = 0; a < this._generatedMappings.length; ++a) { | |
var b = this._generatedMappings[a]; | |
if (a + 1 < this._generatedMappings.length) { | |
var c = this._generatedMappings[a + 1]; | |
if (b.generatedLine === c.generatedLine) { | |
b.lastGeneratedColumn = c.generatedColumn - 1; | |
continue | |
} | |
} | |
b.lastGeneratedColumn = 1 / 0 | |
} | |
}, d.prototype.originalPositionFor = function(a) { | |
var b = { | |
generatedLine: e.getArg(a, "line"), | |
generatedColumn: e.getArg(a, "column") | |
}, c = this._findMapping(b, this._generatedMappings, "generatedLine", "generatedColumn", e.compareByGeneratedPositions); | |
if (c >= 0) { | |
var d = this._generatedMappings[c]; | |
if (d.generatedLine === b.generatedLine) { | |
var f = e.getArg(d, "source", null); | |
return null != f && null != this.sourceRoot && (f = e.join(this.sourceRoot, f)), { | |
source: f, | |
line: e.getArg(d, "originalLine", null), | |
column: e.getArg(d, "originalColumn", null), | |
name: e.getArg(d, "name", null) | |
} | |
} | |
} | |
return { | |
source: null, | |
line: null, | |
column: null, | |
name: null | |
} | |
}, d.prototype.sourceContentFor = function(a) { | |
if (!this.sourcesContent) return null; | |
if (null != this.sourceRoot && (a = e.relative(this.sourceRoot, a)), this._sources.has(a)) return this.sourcesContent[this._sources.indexOf(a)]; | |
var b; | |
if (null != this.sourceRoot && (b = e.urlParse(this.sourceRoot))) { | |
var c = a.replace(/^file:\/\//, ""); | |
if ("file" == b.scheme && this._sources.has(c)) return this.sourcesContent[this._sources.indexOf(c)]; | |
if ((!b.path || "/" == b.path) && this._sources.has("/" + a)) return this.sourcesContent[this._sources.indexOf("/" + a)] | |
} | |
throw new Error('"' + a + '" is not in the SourceMap.') | |
}, d.prototype.generatedPositionFor = function(a) { | |
var b = { | |
source: e.getArg(a, "source"), | |
originalLine: e.getArg(a, "line"), | |
originalColumn: e.getArg(a, "column") | |
}; | |
null != this.sourceRoot && (b.source = e.relative(this.sourceRoot, b.source)); | |
var c = this._findMapping(b, this._originalMappings, "originalLine", "originalColumn", e.compareByOriginalPositions); | |
if (c >= 0) { | |
var d = this._originalMappings[c]; | |
return { | |
line: e.getArg(d, "generatedLine", null), | |
column: e.getArg(d, "generatedColumn", null), | |
lastColumn: e.getArg(d, "lastGeneratedColumn", null) | |
} | |
} | |
return { | |
line: null, | |
column: null, | |
lastColumn: null | |
} | |
}, d.prototype.allGeneratedPositionsFor = function(a) { | |
var b = { | |
source: e.getArg(a, "source"), | |
originalLine: e.getArg(a, "line"), | |
originalColumn: 1 / 0 | |
}; | |
null != this.sourceRoot && (b.source = e.relative(this.sourceRoot, b.source)); | |
var c = [], | |
d = this._findMapping(b, this._originalMappings, "originalLine", "originalColumn", e.compareByOriginalPositions); | |
if (d >= 0) | |
for (var f = this._originalMappings[d]; f && f.originalLine === b.originalLine;) c.push({ | |
line: e.getArg(f, "generatedLine", null), | |
column: e.getArg(f, "generatedColumn", null), | |
lastColumn: e.getArg(f, "lastGeneratedColumn", null) | |
}), f = this._originalMappings[--d]; | |
return c.reverse() | |
}, d.GENERATED_ORDER = 1, d.ORIGINAL_ORDER = 2, d.prototype.eachMapping = function(a, b, c) { | |
var f, g = b || null, | |
h = c || d.GENERATED_ORDER; | |
switch (h) { | |
case d.GENERATED_ORDER: | |
f = this._generatedMappings; | |
break; | |
case d.ORIGINAL_ORDER: | |
f = this._originalMappings; | |
break; | |
default: | |
throw new Error("Unknown order of iteration.") | |
} | |
var i = this.sourceRoot; | |
f.map(function(a) { | |
var b = a.source; | |
return null != b && null != i && (b = e.join(i, b)), { | |
source: b, | |
generatedLine: a.generatedLine, | |
generatedColumn: a.generatedColumn, | |
originalLine: a.originalLine, | |
originalColumn: a.originalColumn, | |
name: a.name | |
} | |
}).forEach(a, g) | |
}, b.SourceMapConsumer = d | |
}) | |
}, { | |
"./array-set": 43, | |
"./base64-vlq": 44, | |
"./binary-search": 46, | |
"./util": 51, | |
amdefine: 52 | |
} | |
], | |
49: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d(a) { | |
a || (a = {}), this._file = f.getArg(a, "file", null), this._sourceRoot = f.getArg(a, "sourceRoot", null), this._skipValidation = f.getArg(a, "skipValidation", !1), this._sources = new g, this._names = new g, this._mappings = new h, this._sourcesContents = null | |
} | |
var e = a("./base64-vlq"), | |
f = a("./util"), | |
g = a("./array-set").ArraySet, | |
h = a("./mapping-list").MappingList; | |
d.prototype._version = 3, d.fromSourceMap = function(a) { | |
var b = a.sourceRoot, | |
c = new d({ | |
file: a.file, | |
sourceRoot: b | |
}); | |
return a.eachMapping(function(a) { | |
var d = { | |
generated: { | |
line: a.generatedLine, | |
column: a.generatedColumn | |
} | |
}; | |
null != a.source && (d.source = a.source, null != b && (d.source = f.relative(b, d.source)), d.original = { | |
line: a.originalLine, | |
column: a.originalColumn | |
}, null != a.name && (d.name = a.name)), c.addMapping(d) | |
}), a.sources.forEach(function(b) { | |
var d = a.sourceContentFor(b); | |
null != d && c.setSourceContent(b, d) | |
}), c | |
}, d.prototype.addMapping = function(a) { | |
var b = f.getArg(a, "generated"), | |
c = f.getArg(a, "original", null), | |
d = f.getArg(a, "source", null), | |
e = f.getArg(a, "name", null); | |
this._skipValidation || this._validateMapping(b, c, d, e), null == d || this._sources.has(d) || this._sources.add(d), null == e || this._names.has(e) || this._names.add(e), this._mappings.add({ | |
generatedLine: b.line, | |
generatedColumn: b.column, | |
originalLine: null != c && c.line, | |
originalColumn: null != c && c.column, | |
source: d, | |
name: e | |
}) | |
}, d.prototype.setSourceContent = function(a, b) { | |
var c = a; | |
null != this._sourceRoot && (c = f.relative(this._sourceRoot, c)), null != b ? (this._sourcesContents || (this._sourcesContents = {}), this._sourcesContents[f.toSetString(c)] = b) : this._sourcesContents && (delete this._sourcesContents[f.toSetString(c)], 0 === Object.keys(this._sourcesContents).length && (this._sourcesContents = null)) | |
}, d.prototype.applySourceMap = function(a, b, c) { | |
var d = b; | |
if (null == b) { | |
if (null == a.file) throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.'); | |
d = a.file | |
} | |
var e = this._sourceRoot; | |
null != e && (d = f.relative(e, d)); | |
var h = new g, | |
i = new g; | |
this._mappings.unsortedForEach(function(b) { | |
if (b.source === d && null != b.originalLine) { | |
var g = a.originalPositionFor({ | |
line: b.originalLine, | |
column: b.originalColumn | |
}); | |
null != g.source && (b.source = g.source, null != c && (b.source = f.join(c, b.source)), null != e && (b.source = f.relative(e, b.source)), b.originalLine = g.line, b.originalColumn = g.column, null != g.name && (b.name = g.name)) | |
} | |
var j = b.source; | |
null == j || h.has(j) || h.add(j); | |
var k = b.name; | |
null == k || i.has(k) || i.add(k) | |
}, this), this._sources = h, this._names = i, a.sources.forEach(function(b) { | |
var d = a.sourceContentFor(b); | |
null != d && (null != c && (b = f.join(c, b)), null != e && (b = f.relative(e, b)), this.setSourceContent(b, d)) | |
}, this) | |
}, d.prototype._validateMapping = function(a, b, c, d) { | |
if (!(a && "line" in a && "column" in a && a.line > 0 && a.column >= 0 && !b && !c && !d || a && "line" in a && "column" in a && b && "line" in b && "column" in b && a.line > 0 && a.column >= 0 && b.line > 0 && b.column >= 0 && c)) throw new Error("Invalid mapping: " + JSON.stringify({ | |
generated: a, | |
source: c, | |
original: b, | |
name: d | |
})) | |
}, d.prototype._serializeMappings = function() { | |
for (var a, b = 0, c = 1, d = 0, g = 0, h = 0, i = 0, j = "", k = this._mappings.toArray(), l = 0, m = k.length; m > l; l++) { | |
if (a = k[l], a.generatedLine !== c) | |
for (b = 0; a.generatedLine !== c;) j += ";", c++; | |
else if (l > 0) { | |
if (!f.compareByGeneratedPositions(a, k[l - 1])) continue; | |
j += "," | |
} | |
j += e.encode(a.generatedColumn - b), b = a.generatedColumn, null != a.source && (j += e.encode(this._sources.indexOf(a.source) - i), i = this._sources.indexOf(a.source), j += e.encode(a.originalLine - 1 - g), g = a.originalLine - 1, j += e.encode(a.originalColumn - d), d = a.originalColumn, null != a.name && (j += e.encode(this._names.indexOf(a.name) - h), h = this._names.indexOf(a.name))) | |
} | |
return j | |
}, d.prototype._generateSourcesContent = function(a, b) { | |
return a.map(function(a) { | |
if (!this._sourcesContents) return null; | |
null != b && (a = f.relative(b, a)); | |
var c = f.toSetString(a); | |
return Object.prototype.hasOwnProperty.call(this._sourcesContents, c) ? this._sourcesContents[c] : null | |
}, this) | |
}, d.prototype.toJSON = function() { | |
var a = { | |
version: this._version, | |
sources: this._sources.toArray(), | |
names: this._names.toArray(), | |
mappings: this._serializeMappings() | |
}; | |
return null != this._file && (a.file = this._file), null != this._sourceRoot && (a.sourceRoot = this._sourceRoot), this._sourcesContents && (a.sourcesContent = this._generateSourcesContent(a.sources, a.sourceRoot)), a | |
}, d.prototype.toString = function() { | |
return JSON.stringify(this) | |
}, b.SourceMapGenerator = d | |
}) | |
}, { | |
"./array-set": 43, | |
"./base64-vlq": 44, | |
"./mapping-list": 47, | |
"./util": 51, | |
amdefine: 52 | |
} | |
], | |
50: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d(a, b, c, d, e) { | |
this.children = [], this.sourceContents = {}, this.line = null == a ? null : a, this.column = null == b ? null : b, this.source = null == c ? null : c, this.name = null == e ? null : e, this[i] = !0, null != d && this.add(d) | |
} | |
var e = a("./source-map-generator").SourceMapGenerator, | |
f = a("./util"), | |
g = /(\r?\n)/, | |
h = 10, | |
i = "$$$isSourceNode$$$"; | |
d.fromStringWithSourceMap = function(a, b, c) { | |
function e(a, b) { | |
if (null === a || void 0 === a.source) h.add(b); | |
else { | |
var e = c ? f.join(c, a.source) : a.source; | |
h.add(new d(a.originalLine, a.originalColumn, e, b, a.name)) | |
} | |
} | |
var h = new d, | |
i = a.split(g), | |
j = function() { | |
var a = i.shift(), | |
b = i.shift() || ""; | |
return a + b | |
}, k = 1, | |
l = 0, | |
m = null; | |
return b.eachMapping(function(a) { | |
if (null !== m) { | |
if (!(k < a.generatedLine)) { | |
var b = i[0], | |
c = b.substr(0, a.generatedColumn - l); | |
return i[0] = b.substr(a.generatedColumn - l), l = a.generatedColumn, e(m, c), void(m = a) | |
} | |
var c = ""; | |
e(m, j()), k++, l = 0 | |
} | |
for (; k < a.generatedLine;) h.add(j()), k++; | |
if (l < a.generatedColumn) { | |
var b = i[0]; | |
h.add(b.substr(0, a.generatedColumn)), i[0] = b.substr(a.generatedColumn), l = a.generatedColumn | |
} | |
m = a | |
}, this), i.length > 0 && (m && e(m, j()), h.add(i.join(""))), b.sources.forEach(function(a) { | |
var d = b.sourceContentFor(a); | |
null != d && (null != c && (a = f.join(c, a)), h.setSourceContent(a, d)) | |
}), h | |
}, d.prototype.add = function(a) { | |
if (Array.isArray(a)) a.forEach(function(a) { | |
this.add(a) | |
}, this); | |
else { | |
if (!a[i] && "string" != typeof a) throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + a); | |
a && this.children.push(a) | |
} | |
return this | |
}, d.prototype.prepend = function(a) { | |
if (Array.isArray(a)) | |
for (var b = a.length - 1; b >= 0; b--) this.prepend(a[b]); | |
else { | |
if (!a[i] && "string" != typeof a) throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + a); | |
this.children.unshift(a) | |
} | |
return this | |
}, d.prototype.walk = function(a) { | |
for (var b, c = 0, d = this.children.length; d > c; c++) b = this.children[c], b[i] ? b.walk(a) : "" !== b && a(b, { | |
source: this.source, | |
line: this.line, | |
column: this.column, | |
name: this.name | |
}) | |
}, d.prototype.join = function(a) { | |
var b, c, d = this.children.length; | |
if (d > 0) { | |
for (b = [], c = 0; d - 1 > c; c++) b.push(this.children[c]), b.push(a); | |
b.push(this.children[c]), this.children = b | |
} | |
return this | |
}, d.prototype.replaceRight = function(a, b) { | |
var c = this.children[this.children.length - 1]; | |
return c[i] ? c.replaceRight(a, b) : "string" == typeof c ? this.children[this.children.length - 1] = c.replace(a, b) : this.children.push("".replace(a, b)), this | |
}, d.prototype.setSourceContent = function(a, b) { | |
this.sourceContents[f.toSetString(a)] = b | |
}, d.prototype.walkSourceContents = function(a) { | |
for (var b = 0, c = this.children.length; c > b; b++) this.children[b][i] && this.children[b].walkSourceContents(a); | |
for (var d = Object.keys(this.sourceContents), b = 0, c = d.length; c > b; b++) a(f.fromSetString(d[b]), this.sourceContents[d[b]]) | |
}, d.prototype.toString = function() { | |
var a = ""; | |
return this.walk(function(b) { | |
a += b | |
}), a | |
}, d.prototype.toStringWithSourceMap = function(a) { | |
var b = { | |
code: "", | |
line: 1, | |
column: 0 | |
}, c = new e(a), | |
d = !1, | |
f = null, | |
g = null, | |
i = null, | |
j = null; | |
return this.walk(function(a, e) { | |
b.code += a, null !== e.source && null !== e.line && null !== e.column ? ((f !== e.source || g !== e.line || i !== e.column || j !== e.name) && c.addMapping({ | |
source: e.source, | |
original: { | |
line: e.line, | |
column: e.column | |
}, | |
generated: { | |
line: b.line, | |
column: b.column | |
}, | |
name: e.name | |
}), f = e.source, g = e.line, i = e.column, j = e.name, d = !0) : d && (c.addMapping({ | |
generated: { | |
line: b.line, | |
column: b.column | |
} | |
}), f = null, d = !1); | |
for (var k = 0, l = a.length; l > k; k++) a.charCodeAt(k) === h ? (b.line++, b.column = 0, k + 1 === l ? (f = null, d = !1) : d && c.addMapping({ | |
source: e.source, | |
original: { | |
line: e.line, | |
column: e.column | |
}, | |
generated: { | |
line: b.line, | |
column: b.column | |
}, | |
name: e.name | |
})) : b.column++ | |
}), this.walkSourceContents(function(a, b) { | |
c.setSourceContent(a, b) | |
}), { | |
code: b.code, | |
map: c | |
} | |
}, b.SourceNode = d | |
}) | |
}, { | |
"./source-map-generator": 49, | |
"./util": 51, | |
amdefine: 52 | |
} | |
], | |
51: [ | |
function(a, b, c) { | |
if ("function" != typeof d) var d = a("amdefine")(b, a); | |
d(function(a, b, c) { | |
function d(a, b, c) { | |
if (b in a) return a[b]; | |
if (3 === arguments.length) return c; | |
throw new Error('"' + b + '" is a required argument.') | |
} | |
function e(a) { | |
var b = a.match(o); | |
return b ? { | |
scheme: b[1], | |
auth: b[2], | |
host: b[3], | |
port: b[4], | |
path: b[5] | |
} : null | |
} | |
function f(a) { | |
var b = ""; | |
return a.scheme && (b += a.scheme + ":"), b += "//", a.auth && (b += a.auth + "@"), a.host && (b += a.host), a.port && (b += ":" + a.port), a.path && (b += a.path), b | |
} | |
function g(a) { | |
var b = a, | |
c = e(a); | |
if (c) { | |
if (!c.path) return a; | |
b = c.path | |
} | |
for (var d, g = "/" === b.charAt(0), h = b.split(/\/+/), i = 0, j = h.length - 1; j >= 0; j--) d = h[j], "." === d ? h.splice(j, 1) : ".." === d ? i++ : i > 0 && ("" === d ? (h.splice(j + 1, i), i = 0) : (h.splice(j, 2), i--)); | |
return b = h.join("/"), "" === b && (b = g ? "/" : "."), c ? (c.path = b, f(c)) : b | |
} | |
function h(a, b) { | |
"" === a && (a = "."), "" === b && (b = "."); | |
var c = e(b), | |
d = e(a); | |
if (d && (a = d.path || "/"), c && !c.scheme) return d && (c.scheme = d.scheme), f(c); | |
if (c || b.match(p)) return b; | |
if (d && !d.host && !d.path) return d.host = b, f(d); | |
var h = "/" === b.charAt(0) ? b : g(a.replace(/\/+$/, "") + "/" + b); | |
return d ? (d.path = h, f(d)) : h | |
} | |
function i(a, b) { | |
"" === a && (a = "."), a = a.replace(/\/$/, ""); | |
var c = e(a); | |
return "/" == b.charAt(0) && c && "/" == c.path ? b.slice(1) : 0 === b.indexOf(a + "/") ? b.substr(a.length + 1) : b | |
} | |
function j(a) { | |
return "$" + a | |
} | |
function k(a) { | |
return a.substr(1) | |
} | |
function l(a, b) { | |
var c = a || "", | |
d = b || ""; | |
return (c > d) - (d > c) | |
} | |
function m(a, b, c) { | |
var d; | |
return (d = l(a.source, b.source)) ? d : (d = a.originalLine - b.originalLine) ? d : (d = a.originalColumn - b.originalColumn, d || c ? d : (d = l(a.name, b.name)) ? d : (d = a.generatedLine - b.generatedLine, d ? d : a.generatedColumn - b.generatedColumn)) | |
} | |
function n(a, b, c) { | |
var d; | |
return (d = a.generatedLine - b.generatedLine) ? d : (d = a.generatedColumn - b.generatedColumn, d || c ? d : (d = l(a.source, b.source)) ? d : (d = a.originalLine - b.originalLine) ? d : (d = a.originalColumn - b.originalColumn, d ? d : l(a.name, b.name))) | |
} | |
b.getArg = d; | |
var o = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/, | |
p = /^data:.+\,.+$/; | |
b.urlParse = e, b.urlGenerate = f, b.normalize = g, b.join = h, b.relative = i, b.toSetString = j, b.fromSetString = k, b.compareByOriginalPositions = m, b.compareByGeneratedPositions = n | |
}) | |
}, { | |
amdefine: 52 | |
} | |
], | |
52: [ | |
function(a, b, c) { | |
(function(c, d) { | |
"use strict"; | |
function e(b, e) { | |
function f(a) { | |
var b, c; | |
for (b = 0; a[b]; b += 1) | |
if (c = a[b], "." === c) a.splice(b, 1), b -= 1; | |
else if (".." === c) { | |
if (1 === b && (".." === a[2] || ".." === a[0])) break; | |
b > 0 && (a.splice(b - 1, 2), b -= 2) | |
} | |
} | |
function g(a, b) { | |
var c; | |
return a && "." === a.charAt(0) && b && (c = b.split("/"), c = c.slice(0, c.length - 1), c = c.concat(a.split("/")), f(c), a = c.join("/")), a | |
} | |
function h(a) { | |
return function(b) { | |
return g(b, a) | |
} | |
} | |
function i(a) { | |
function b(b) { | |
o[a] = b | |
} | |
return b.fromText = function(a, b) { | |
throw new Error("amdefine does not implement load.fromText") | |
}, b | |
} | |
function j(a, c, f) { | |
var g, h, i, j; | |
if (a) h = o[a] = {}, i = { | |
id: a, | |
uri: d, | |
exports: h | |
}, g = l(e, h, i, a); | |
else { | |
if (p) throw new Error("amdefine with no module ID cannot be called more than once per file."); | |
p = !0, h = b.exports, i = b, g = l(e, h, i, b.id) | |
} | |
c && (c = c.map(function(a) { | |
return g(a) | |
})), j = "function" == typeof f ? f.apply(i.exports, c) : f, void 0 !== j && (i.exports = j, a && (o[a] = i.exports)) | |
} | |
function k(a, b, c) { | |
Array.isArray(a) ? (c = b, b = a, a = void 0) : "string" != typeof a && (c = a, a = b = void 0), b && !Array.isArray(b) && (c = b, b = void 0), b || (b = ["require", "exports", "module"]), a ? n[a] = [a, b, c] : j(a, b, c) | |
} | |
var l, m, n = {}, o = {}, p = !1, | |
q = a("path"); | |
return l = function(a, b, d, e) { | |
function f(f, g) { | |
return "string" == typeof f ? m(a, b, d, f, e) : (f = f.map(function(c) { | |
return m(a, b, d, c, e) | |
}), void c.nextTick(function() { | |
g.apply(null, f) | |
})) | |
} | |
return f.toUrl = function(a) { | |
return 0 === a.indexOf(".") ? g(a, q.dirname(d.filename)) : a | |
}, f | |
}, e = e || function() { | |
return b.require.apply(b, arguments) | |
}, m = function(a, b, c, d, e) { | |
var f, k, p = d.indexOf("!"), | |
q = d; | |
if (-1 === p) { | |
if (d = g(d, e), "require" === d) return l(a, b, c, e); | |
if ("exports" === d) return b; | |
if ("module" === d) return c; | |
if (o.hasOwnProperty(d)) return o[d]; | |
if (n[d]) return j.apply(null, n[d]), o[d]; | |
if (a) return a(q); | |
throw new Error("No module with ID: " + d) | |
} | |
return f = d.substring(0, p), d = d.substring(p + 1, d.length), k = m(a, b, c, f, e), d = k.normalize ? k.normalize(d, h(e)) : g(d, e), o[d] ? o[d] : (k.load(d, l(a, b, c, e), i(d), {}), o[d]) | |
}, k.require = function(a) { | |
return o[a] ? o[a] : n[a] ? (j.apply(null, n[a]), o[a]) : void 0 | |
}, k.amd = {}, k | |
} | |
b.exports = e | |
}).call(this, a("_process"), "/node_modules/handlebars/node_modules/source-map/node_modules/amdefine/amdefine.js") | |
}, { | |
_process: 20, | |
path: 19 | |
} | |
], | |
53: [ | |
function(a, b, c) { | |
! function(a, c) { | |
"object" == typeof b && "object" == typeof b.exports ? b.exports = a.document ? c(a, !0) : function(a) { | |
if (!a.document) throw new Error("jQuery requires a window with a document"); | |
return c(a) | |
} : c(a) | |
}("undefined" != typeof window ? window : this, function(a, b) { | |
function c(a) { | |
var b = "length" in a && a.length, | |
c = _.type(a); | |
return "function" === c || _.isWindow(a) ? !1 : 1 === a.nodeType && b ? !0 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a | |
} | |
function d(a, b, c) { | |
if (_.isFunction(b)) return _.grep(a, function(a, d) { | |
return !!b.call(a, d, a) !== c | |
}); | |
if (b.nodeType) return _.grep(a, function(a) { | |
return a === b !== c | |
}); | |
if ("string" == typeof b) { | |
if (ha.test(b)) return _.filter(b, a, c); | |
b = _.filter(b, a) | |
} | |
return _.grep(a, function(a) { | |
return U.call(b, a) >= 0 !== c | |
}) | |
} | |
function e(a, b) { | |
for (; | |
(a = a[b]) && 1 !== a.nodeType;); | |
return a | |
} | |
function f(a) { | |
var b = oa[a] = {}; | |
return _.each(a.match(na) || [], function(a, c) { | |
b[c] = !0 | |
}), b | |
} | |
function g() { | |
Z.removeEventListener("DOMContentLoaded", g, !1), a.removeEventListener("load", g, !1), _.ready() | |
} | |
function h() { | |
Object.defineProperty(this.cache = {}, 0, { | |
get: function() { | |
return {} | |
} | |
}), this.expando = _.expando + h.uid++ | |
} | |
function i(a, b, c) { | |
var d; | |
if (void 0 === c && 1 === a.nodeType) | |
if (d = "data-" + b.replace(ua, "-$1").toLowerCase(), c = a.getAttribute(d), "string" == typeof c) { | |
try { | |
c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : ta.test(c) ? _.parseJSON(c) : c | |
} catch (e) {} | |
sa.set(a, b, c) | |
} else c = void 0; | |
return c | |
} | |
function j() { | |
return !0 | |
} | |
function k() { | |
return !1 | |
} | |
function l() { | |
try { | |
return Z.activeElement | |
} catch (a) {} | |
} | |
function m(a, b) { | |
return _.nodeName(a, "table") && _.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a | |
} | |
function n(a) { | |
return a.type = (null !== a.getAttribute("type")) + "/" + a.type, a | |
} | |
function o(a) { | |
var b = Ka.exec(a.type); | |
return b ? a.type = b[1] : a.removeAttribute("type"), a | |
} | |
function p(a, b) { | |
for (var c = 0, d = a.length; d > c; c++) ra.set(a[c], "globalEval", !b || ra.get(b[c], "globalEval")) | |
} | |
function q(a, b) { | |
var c, d, e, f, g, h, i, j; | |
if (1 === b.nodeType) { | |
if (ra.hasData(a) && (f = ra.access(a), g = ra.set(b, f), j = f.events)) { | |
delete g.handle, g.events = {}; | |
for (e in j) | |
for (c = 0, d = j[e].length; d > c; c++) _.event.add(b, e, j[e][c]) | |
} | |
sa.hasData(a) && (h = sa.access(a), i = _.extend({}, h), sa.set(b, i)) | |
} | |
} | |
function r(a, b) { | |
var c = a.getElementsByTagName ? a.getElementsByTagName(b || "*") : a.querySelectorAll ? a.querySelectorAll(b || "*") : []; | |
return void 0 === b || b && _.nodeName(a, b) ? _.merge([a], c) : c | |
} | |
function s(a, b) { | |
var c = b.nodeName.toLowerCase(); | |
"input" === c && ya.test(a.type) ? b.checked = a.checked : ("input" === c || "textarea" === c) && (b.defaultValue = a.defaultValue) | |
} | |
function t(b, c) { | |
var d, e = _(c.createElement(b)).appendTo(c.body), | |
f = a.getDefaultComputedStyle && (d = a.getDefaultComputedStyle(e[0])) ? d.display : _.css(e[0], "display"); | |
return e.detach(), f | |
} | |
function u(a) { | |
var b = Z, | |
c = Oa[a]; | |
return c || (c = t(a, b), "none" !== c && c || (Na = (Na || _("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement), b = Na[0].contentDocument, b.write(), b.close(), c = t(a, b), Na.detach()), Oa[a] = c), c | |
} | |
function v(a, b, c) { | |
var d, e, f, g, h = a.style; | |
return c = c || Ra(a), c && (g = c.getPropertyValue(b) || c[b]), c && ("" !== g || _.contains(a.ownerDocument, a) || (g = _.style(a, b)), Qa.test(g) && Pa.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f)), void 0 !== g ? g + "" : g | |
} | |
function w(a, b) { | |
return { | |
get: function() { | |
return a() ? void delete this.get : (this.get = b).apply(this, arguments) | |
} | |
} | |
} | |
function x(a, b) { | |
if (b in a) return b; | |
for (var c = b[0].toUpperCase() + b.slice(1), d = b, e = Xa.length; e--;) | |
if (b = Xa[e] + c, b in a) return b; | |
return d | |
} | |
function y(a, b, c) { | |
var d = Ta.exec(b); | |
return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b | |
} | |
function z(a, b, c, d, e) { | |
for (var f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, g = 0; 4 > f; f += 2) "margin" === c && (g += _.css(a, c + wa[f], !0, e)), d ? ("content" === c && (g -= _.css(a, "padding" + wa[f], !0, e)), "margin" !== c && (g -= _.css(a, "border" + wa[f] + "Width", !0, e))) : (g += _.css(a, "padding" + wa[f], !0, e), "padding" !== c && (g += _.css(a, "border" + wa[f] + "Width", !0, e))); | |
return g | |
} | |
function A(a, b, c) { | |
var d = !0, | |
e = "width" === b ? a.offsetWidth : a.offsetHeight, | |
f = Ra(a), | |
g = "border-box" === _.css(a, "boxSizing", !1, f); | |
if (0 >= e || null == e) { | |
if (e = v(a, b, f), (0 > e || null == e) && (e = a.style[b]), Qa.test(e)) return e; | |
d = g && (Y.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0 | |
} | |
return e + z(a, b, c || (g ? "border" : "content"), d, f) + "px" | |
} | |
function B(a, b) { | |
for (var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = ra.get(d, "olddisplay"), c = d.style.display, b ? (f[g] || "none" !== c || (d.style.display = ""), "" === d.style.display && xa(d) && (f[g] = ra.access(d, "olddisplay", u(d.nodeName)))) : (e = xa(d), "none" === c && e || ra.set(d, "olddisplay", e ? c : _.css(d, "display")))); | |
for (g = 0; h > g; g++) d = a[g], d.style && (b && "none" !== d.style.display && "" !== d.style.display || (d.style.display = b ? f[g] || "" : "none")); | |
return a | |
} | |
function C(a, b, c, d, e) { | |
return new C.prototype.init(a, b, c, d, e) | |
} | |
function D() { | |
return setTimeout(function() { | |
Ya = void 0 | |
}), Ya = _.now() | |
} | |
function E(a, b) { | |
var c, d = 0, | |
e = { | |
height: a | |
}; | |
for (b = b ? 1 : 0; 4 > d; d += 2 - b) c = wa[d], e["margin" + c] = e["padding" + c] = a; | |
return b && (e.opacity = e.width = a), e | |
} | |
function F(a, b, c) { | |
for (var d, e = (cb[b] || []).concat(cb["*"]), f = 0, g = e.length; g > f; f++) | |
if (d = e[f].call(c, b, a)) return d | |
} | |
function G(a, b, c) { | |
var d, e, f, g, h, i, j, k, l = this, | |
m = {}, n = a.style, | |
o = a.nodeType && xa(a), | |
p = ra.get(a, "fxshow"); | |
c.queue || (h = _._queueHooks(a, "fx"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function() { | |
h.unqueued || i() | |
}), h.unqueued++, l.always(function() { | |
l.always(function() { | |
h.unqueued--, _.queue(a, "fx").length || h.empty.fire() | |
}) | |
})), 1 === a.nodeType && ("height" in b || "width" in b) && (c.overflow = [n.overflow, n.overflowX, n.overflowY], j = _.css(a, "display"), k = "none" === j ? ra.get(a, "olddisplay") || u(a.nodeName) : j, "inline" === k && "none" === _.css(a, "float") && (n.display = "inline-block")), c.overflow && (n.overflow = "hidden", l.always(function() { | |
n.overflow = c.overflow[0], n.overflowX = c.overflow[1], n.overflowY = c.overflow[2] | |
})); | |
for (d in b) | |
if (e = b[d], $a.exec(e)) { | |
if (delete b[d], f = f || "toggle" === e, e === (o ? "hide" : "show")) { | |
if ("show" !== e || !p || void 0 === p[d]) continue; | |
o = !0 | |
} | |
m[d] = p && p[d] || _.style(a, d) | |
} else j = void 0; | |
if (_.isEmptyObject(m)) "inline" === ("none" === j ? u(a.nodeName) : j) && (n.display = j); | |
else { | |
p ? "hidden" in p && (o = p.hidden) : p = ra.access(a, "fxshow", {}), f && (p.hidden = !o), o ? _(a).show() : l.done(function() { | |
_(a).hide() | |
}), l.done(function() { | |
var b; | |
ra.remove(a, "fxshow"); | |
for (b in m) _.style(a, b, m[b]) | |
}); | |
for (d in m) g = F(o ? p[d] : 0, d, l), d in p || (p[d] = g.start, o && (g.end = g.start, g.start = "width" === d || "height" === d ? 1 : 0)) | |
} | |
} | |
function H(a, b) { | |
var c, d, e, f, g; | |
for (c in a) | |
if (d = _.camelCase(c), e = b[d], f = a[c], _.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = _.cssHooks[d], g && "expand" in g) { | |
f = g.expand(f), delete a[d]; | |
for (c in f) c in a || (a[c] = f[c], b[c] = e) | |
} else b[d] = e | |
} | |
function I(a, b, c) { | |
var d, e, f = 0, | |
g = bb.length, | |
h = _.Deferred().always(function() { | |
delete i.elem | |
}), | |
i = function() { | |
if (e) return !1; | |
for (var b = Ya || D(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f); | |
return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1) | |
}, j = h.promise({ | |
elem: a, | |
props: _.extend({}, b), | |
opts: _.extend(!0, { | |
specialEasing: {} | |
}, c), | |
originalProperties: b, | |
originalOptions: c, | |
startTime: Ya || D(), | |
duration: c.duration, | |
tweens: [], | |
createTween: function(b, c) { | |
var d = _.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing); | |
return j.tweens.push(d), d | |
}, | |
stop: function(b) { | |
var c = 0, | |
d = b ? j.tweens.length : 0; | |
if (e) return this; | |
for (e = !0; d > c; c++) j.tweens[c].run(1); | |
return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]), this | |
} | |
}), | |
k = j.props; | |
for (H(k, j.opts.specialEasing); g > f; f++) | |
if (d = bb[f].call(j, a, k, j.opts)) return d; | |
return _.map(k, F, j), _.isFunction(j.opts.start) && j.opts.start.call(a, j), _.fx.timer(_.extend(i, { | |
elem: a, | |
anim: j, | |
queue: j.opts.queue | |
})), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always) | |
} | |
function J(a) { | |
return function(b, c) { | |
"string" != typeof b && (c = b, b = "*"); | |
var d, e = 0, | |
f = b.toLowerCase().match(na) || []; | |
if (_.isFunction(c)) | |
for (; d = f[e++];) "+" === d[0] ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c) | |
} | |
} | |
function K(a, b, c, d) { | |
function e(h) { | |
var i; | |
return f[h] = !0, _.each(a[h] || [], function(a, h) { | |
var j = h(b, c, d); | |
return "string" != typeof j || g || f[j] ? g ? !(i = j) : void 0 : (b.dataTypes.unshift(j), e(j), !1) | |
}), i | |
} | |
var f = {}, g = a === tb; | |
return e(b.dataTypes[0]) || !f["*"] && e("*") | |
} | |
function L(a, b) { | |
var c, d, e = _.ajaxSettings.flatOptions || {}; | |
for (c in b) void 0 !== b[c] && ((e[c] ? a : d || (d = {}))[c] = b[c]); | |
return d && _.extend(!0, a, d), a | |
} | |
function M(a, b, c) { | |
for (var d, e, f, g, h = a.contents, i = a.dataTypes; | |
"*" === i[0];) i.shift(), void 0 === d && (d = a.mimeType || b.getResponseHeader("Content-Type")); | |
if (d) | |
for (e in h) | |
if (h[e] && h[e].test(d)) { | |
i.unshift(e); | |
break | |
} | |
if (i[0] in c) f = i[0]; | |
else { | |
for (e in c) { | |
if (!i[0] || a.converters[e + " " + i[0]]) { | |
f = e; | |
break | |
} | |
g || (g = e) | |
} | |
f = f || g | |
} | |
return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0 | |
} | |
function N(a, b, c, d) { | |
var e, f, g, h, i, j = {}, k = a.dataTypes.slice(); | |
if (k[1]) | |
for (g in a.converters) j[g.toLowerCase()] = a.converters[g]; | |
for (f = k.shift(); f;) | |
if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift()) | |
if ("*" === f) f = i; | |
else if ("*" !== i && i !== f) { | |
if (g = j[i + " " + f] || j["* " + f], !g) | |
for (e in j) | |
if (h = e.split(" "), h[1] === f && (g = j[i + " " + h[0]] || j["* " + h[0]])) { | |
g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1])); | |
break | |
} | |
if (g !== !0) | |
if (g && a["throws"]) b = g(b); | |
else try { | |
b = g(b) | |
} catch (l) { | |
return { | |
state: "parsererror", | |
error: g ? l : "No conversion from " + i + " to " + f | |
} | |
} | |
} | |
return { | |
state: "success", | |
data: b | |
} | |
} | |
function O(a, b, c, d) { | |
var e; | |
if (_.isArray(b)) _.each(b, function(b, e) { | |
c || yb.test(a) ? d(a, e) : O(a + "[" + ("object" == typeof e ? b : "") + "]", e, c, d) | |
}); | |
else if (c || "object" !== _.type(b)) d(a, b); | |
else | |
for (e in b) O(a + "[" + e + "]", b[e], c, d) | |
} | |
function P(a) { | |
return _.isWindow(a) ? a : 9 === a.nodeType && a.defaultView | |
} | |
var Q = [], | |
R = Q.slice, | |
S = Q.concat, | |
T = Q.push, | |
U = Q.indexOf, | |
V = {}, W = V.toString, | |
X = V.hasOwnProperty, | |
Y = {}, Z = a.document, | |
$ = "2.1.4", | |
_ = function(a, b) { | |
return new _.fn.init(a, b) | |
}, aa = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, | |
ba = /^-ms-/, | |
ca = /-([\da-z])/gi, | |
da = function(a, b) { | |
return b.toUpperCase() | |
}; | |
_.fn = _.prototype = { | |
jquery: $, | |
constructor: _, | |
selector: "", | |
length: 0, | |
toArray: function() { | |
return R.call(this) | |
}, | |
get: function(a) { | |
return null != a ? 0 > a ? this[a + this.length] : this[a] : R.call(this) | |
}, | |
pushStack: function(a) { | |
var b = _.merge(this.constructor(), a); | |
return b.prevObject = this, b.context = this.context, b | |
}, | |
each: function(a, b) { | |
return _.each(this, a, b) | |
}, | |
map: function(a) { | |
return this.pushStack(_.map(this, function(b, c) { | |
return a.call(b, c, b) | |
})) | |
}, | |
slice: function() { | |
return this.pushStack(R.apply(this, arguments)) | |
}, | |
first: function() { | |
return this.eq(0) | |
}, | |
last: function() { | |
return this.eq(-1) | |
}, | |
eq: function(a) { | |
var b = this.length, | |
c = +a + (0 > a ? b : 0); | |
return this.pushStack(c >= 0 && b > c ? [this[c]] : []) | |
}, | |
end: function() { | |
return this.prevObject || this.constructor(null) | |
}, | |
push: T, | |
sort: Q.sort, | |
splice: Q.splice | |
}, _.extend = _.fn.extend = function() { | |
var a, b, c, d, e, f, g = arguments[0] || {}, h = 1, | |
i = arguments.length, | |
j = !1; | |
for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || _.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++) | |
if (null != (a = arguments[h])) | |
for (b in a) c = g[b], d = a[b], g !== d && (j && d && (_.isPlainObject(d) || (e = _.isArray(d))) ? (e ? (e = !1, f = c && _.isArray(c) ? c : []) : f = c && _.isPlainObject(c) ? c : {}, g[b] = _.extend(j, f, d)) : void 0 !== d && (g[b] = d)); | |
return g | |
}, _.extend({ | |
expando: "jQuery" + ($ + Math.random()).replace(/\D/g, ""), | |
isReady: !0, | |
error: function(a) { | |
throw new Error(a) | |
}, | |
noop: function() {}, | |
isFunction: function(a) { | |
return "function" === _.type(a) | |
}, | |
isArray: Array.isArray, | |
isWindow: function(a) { | |
return null != a && a === a.window | |
}, | |
isNumeric: function(a) { | |
return !_.isArray(a) && a - parseFloat(a) + 1 >= 0 | |
}, | |
isPlainObject: function(a) { | |
return "object" !== _.type(a) || a.nodeType || _.isWindow(a) ? !1 : a.constructor && !X.call(a.constructor.prototype, "isPrototypeOf") ? !1 : !0 | |
}, | |
isEmptyObject: function(a) { | |
var b; | |
for (b in a) return !1; | |
return !0 | |
}, | |
type: function(a) { | |
return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? V[W.call(a)] || "object" : typeof a | |
}, | |
globalEval: function(a) { | |
var b, c = eval; | |
a = _.trim(a), a && (1 === a.indexOf("use strict") ? (b = Z.createElement("script"), b.text = a, Z.head.appendChild(b).parentNode.removeChild(b)) : c(a)) | |
}, | |
camelCase: function(a) { | |
return a.replace(ba, "ms-").replace(ca, da) | |
}, | |
nodeName: function(a, b) { | |
return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase() | |
}, | |
each: function(a, b, d) { | |
var e, f = 0, | |
g = a.length, | |
h = c(a); | |
if (d) { | |
if (h) | |
for (; g > f && (e = b.apply(a[f], d), e !== !1); f++); | |
else | |
for (f in a) | |
if (e = b.apply(a[f], d), e === !1) break | |
} else if (h) | |
for (; g > f && (e = b.call(a[f], f, a[f]), e !== !1); f++); | |
else | |
for (f in a) | |
if (e = b.call(a[f], f, a[f]), e === !1) break; return a | |
}, | |
trim: function(a) { | |
return null == a ? "" : (a + "").replace(aa, "") | |
}, | |
makeArray: function(a, b) { | |
var d = b || []; | |
return null != a && (c(Object(a)) ? _.merge(d, "string" == typeof a ? [a] : a) : T.call(d, a)), d | |
}, | |
inArray: function(a, b, c) { | |
return null == b ? -1 : U.call(b, a, c) | |
}, | |
merge: function(a, b) { | |
for (var c = +b.length, d = 0, e = a.length; c > d; d++) a[e++] = b[d]; | |
return a.length = e, a | |
}, | |
grep: function(a, b, c) { | |
for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]); | |
return e | |
}, | |
map: function(a, b, d) { | |
var e, f = 0, | |
g = a.length, | |
h = c(a), | |
i = []; | |
if (h) | |
for (; g > f; f++) e = b(a[f], f, d), null != e && i.push(e); | |
else | |
for (f in a) e = b(a[f], f, d), null != e && i.push(e); | |
return S.apply([], i) | |
}, | |
guid: 1, | |
proxy: function(a, b) { | |
var c, d, e; | |
return "string" == typeof b && (c = a[b], b = a, a = c), _.isFunction(a) ? (d = R.call(arguments, 2), e = function() { | |
return a.apply(b || this, d.concat(R.call(arguments))) | |
}, e.guid = a.guid = a.guid || _.guid++, e) : void 0 | |
}, | |
now: Date.now, | |
support: Y | |
}), _.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(a, b) { | |
V["[object " + b + "]"] = b.toLowerCase() | |
}); | |
var ea = function(a) { | |
function b(a, b, c, d) { | |
var e, f, g, h, i, j, l, n, o, p; | |
if ((b ? b.ownerDocument || b : O) !== G && F(b), b = b || G, c = c || [], h = b.nodeType, "string" != typeof a || !a || 1 !== h && 9 !== h && 11 !== h) return c; | |
if (!d && I) { | |
if (11 !== h && (e = sa.exec(a))) | |
if (g = e[1]) { | |
if (9 === h) { | |
if (f = b.getElementById(g), !f || !f.parentNode) return c; | |
if (f.id === g) return c.push(f), c | |
} else if (b.ownerDocument && (f = b.ownerDocument.getElementById(g)) && M(b, f) && f.id === g) return c.push(f), c | |
} else { | |
if (e[2]) return $.apply(c, b.getElementsByTagName(a)), c; | |
if ((g = e[3]) && v.getElementsByClassName) return $.apply(c, b.getElementsByClassName(g)), c | |
} | |
if (v.qsa && (!J || !J.test(a))) { | |
if (n = l = N, o = b, p = 1 !== h && a, 1 === h && "object" !== b.nodeName.toLowerCase()) { | |
for (j = z(a), (l = b.getAttribute("id")) ? n = l.replace(ua, "\\$&") : b.setAttribute("id", n), n = "[id='" + n + "'] ", i = j.length; i--;) j[i] = n + m(j[i]); | |
o = ta.test(a) && k(b.parentNode) || b, p = j.join(",") | |
} | |
if (p) try { | |
return $.apply(c, o.querySelectorAll(p)), c | |
} catch (q) {} finally { | |
l || b.removeAttribute("id") | |
} | |
} | |
} | |
return B(a.replace(ia, "$1"), b, c, d) | |
} | |
function c() { | |
function a(c, d) { | |
return b.push(c + " ") > w.cacheLength && delete a[b.shift()], a[c + " "] = d | |
} | |
var b = []; | |
return a | |
} | |
function d(a) { | |
return a[N] = !0, a | |
} | |
function e(a) { | |
var b = G.createElement("div"); | |
try { | |
return !!a(b) | |
} catch (c) { | |
return !1 | |
} finally { | |
b.parentNode && b.parentNode.removeChild(b), b = null | |
} | |
} | |
function f(a, b) { | |
for (var c = a.split("|"), d = a.length; d--;) w.attrHandle[c[d]] = b | |
} | |
function g(a, b) { | |
var c = b && a, | |
d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || V) - (~a.sourceIndex || V); | |
if (d) return d; | |
if (c) | |
for (; c = c.nextSibling;) | |
if (c === b) return -1; | |
return a ? 1 : -1 | |
} | |
function h(a) { | |
return function(b) { | |
var c = b.nodeName.toLowerCase(); | |
return "input" === c && b.type === a | |
} | |
} | |
function i(a) { | |
return function(b) { | |
var c = b.nodeName.toLowerCase(); | |
return ("input" === c || "button" === c) && b.type === a | |
} | |
} | |
function j(a) { | |
return d(function(b) { | |
return b = +b, d(function(c, d) { | |
for (var e, f = a([], c.length, b), g = f.length; g--;) c[e = f[g]] && (c[e] = !(d[e] = c[e])) | |
}) | |
}) | |
} | |
function k(a) { | |
return a && "undefined" != typeof a.getElementsByTagName && a | |
} | |
function l() {} | |
function m(a) { | |
for (var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value; | |
return d; | |
} | |
function n(a, b, c) { | |
var d = b.dir, | |
e = c && "parentNode" === d, | |
f = Q++; | |
return b.first ? function(b, c, f) { | |
for (; b = b[d];) | |
if (1 === b.nodeType || e) return a(b, c, f) | |
} : function(b, c, g) { | |
var h, i, j = [P, f]; | |
if (g) { | |
for (; b = b[d];) | |
if ((1 === b.nodeType || e) && a(b, c, g)) return !0 | |
} else | |
for (; b = b[d];) | |
if (1 === b.nodeType || e) { | |
if (i = b[N] || (b[N] = {}), (h = i[d]) && h[0] === P && h[1] === f) return j[2] = h[2]; | |
if (i[d] = j, j[2] = a(b, c, g)) return !0 | |
} | |
} | |
} | |
function o(a) { | |
return a.length > 1 ? function(b, c, d) { | |
for (var e = a.length; e--;) | |
if (!a[e](b, c, d)) return !1; | |
return !0 | |
} : a[0] | |
} | |
function p(a, c, d) { | |
for (var e = 0, f = c.length; f > e; e++) b(a, c[e], d); | |
return d | |
} | |
function q(a, b, c, d, e) { | |
for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (!c || c(f, d, e)) && (g.push(f), j && b.push(h)); | |
return g | |
} | |
function r(a, b, c, e, f, g) { | |
return e && !e[N] && (e = r(e)), f && !f[N] && (f = r(f, g)), d(function(d, g, h, i) { | |
var j, k, l, m = [], | |
n = [], | |
o = g.length, | |
r = d || p(b || "*", h.nodeType ? [h] : h, []), | |
s = !a || !d && b ? r : q(r, m, a, h, i), | |
t = c ? f || (d ? a : o || e) ? [] : g : s; | |
if (c && c(s, t, h, i), e) | |
for (j = q(t, n), e(j, [], h, i), k = j.length; k--;)(l = j[k]) && (t[n[k]] = !(s[n[k]] = l)); | |
if (d) { | |
if (f || a) { | |
if (f) { | |
for (j = [], k = t.length; k--;)(l = t[k]) && j.push(s[k] = l); | |
f(null, t = [], j, i) | |
} | |
for (k = t.length; k--;)(l = t[k]) && (j = f ? aa(d, l) : m[k]) > -1 && (d[j] = !(g[j] = l)) | |
} | |
} else t = q(t === g ? t.splice(o, t.length) : t), f ? f(null, g, t, i) : $.apply(g, t) | |
}) | |
} | |
function s(a) { | |
for (var b, c, d, e = a.length, f = w.relative[a[0].type], g = f || w.relative[" "], h = f ? 1 : 0, i = n(function(a) { | |
return a === b | |
}, g, !0), j = n(function(a) { | |
return aa(b, a) > -1 | |
}, g, !0), k = [ | |
function(a, c, d) { | |
var e = !f && (d || c !== C) || ((b = c).nodeType ? i(a, c, d) : j(a, c, d)); | |
return b = null, e | |
} | |
]; e > h; h++) | |
if (c = w.relative[a[h].type]) k = [n(o(k), c)]; | |
else { | |
if (c = w.filter[a[h].type].apply(null, a[h].matches), c[N]) { | |
for (d = ++h; e > d && !w.relative[a[d].type]; d++); | |
return r(h > 1 && o(k), h > 1 && m(a.slice(0, h - 1).concat({ | |
value: " " === a[h - 2].type ? "*" : "" | |
})).replace(ia, "$1"), c, d > h && s(a.slice(h, d)), e > d && s(a = a.slice(d)), e > d && m(a)) | |
} | |
k.push(c) | |
} | |
return o(k) | |
} | |
function t(a, c) { | |
var e = c.length > 0, | |
f = a.length > 0, | |
g = function(d, g, h, i, j) { | |
var k, l, m, n = 0, | |
o = "0", | |
p = d && [], | |
r = [], | |
s = C, | |
t = d || f && w.find.TAG("*", j), | |
u = P += null == s ? 1 : Math.random() || .1, | |
v = t.length; | |
for (j && (C = g !== G && g); o !== v && null != (k = t[o]); o++) { | |
if (f && k) { | |
for (l = 0; m = a[l++];) | |
if (m(k, g, h)) { | |
i.push(k); | |
break | |
} | |
j && (P = u) | |
} | |
e && ((k = !m && k) && n--, d && p.push(k)) | |
} | |
if (n += o, e && o !== n) { | |
for (l = 0; m = c[l++];) m(p, r, g, h); | |
if (d) { | |
if (n > 0) | |
for (; o--;) p[o] || r[o] || (r[o] = Y.call(i)); | |
r = q(r) | |
} | |
$.apply(i, r), j && !d && r.length > 0 && n + c.length > 1 && b.uniqueSort(i) | |
} | |
return j && (P = u, C = s), p | |
}; | |
return e ? d(g) : g | |
} | |
var u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N = "sizzle" + 1 * new Date, | |
O = a.document, | |
P = 0, | |
Q = 0, | |
R = c(), | |
S = c(), | |
T = c(), | |
U = function(a, b) { | |
return a === b && (E = !0), 0 | |
}, V = 1 << 31, | |
W = {}.hasOwnProperty, | |
X = [], | |
Y = X.pop, | |
Z = X.push, | |
$ = X.push, | |
_ = X.slice, | |
aa = function(a, b) { | |
for (var c = 0, d = a.length; d > c; c++) | |
if (a[c] === b) return c; | |
return -1 | |
}, ba = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", | |
ca = "[\\x20\\t\\r\\n\\f]", | |
da = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", | |
ea = da.replace("w", "w#"), | |
fa = "\\[" + ca + "*(" + da + ")(?:" + ca + "*([*^$|!~]?=)" + ca + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + ea + "))|)" + ca + "*\\]", | |
ga = ":(" + da + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + fa + ")*)|.*)\\)|)", | |
ha = new RegExp(ca + "+", "g"), | |
ia = new RegExp("^" + ca + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ca + "+$", "g"), | |
ja = new RegExp("^" + ca + "*," + ca + "*"), | |
ka = new RegExp("^" + ca + "*([>+~]|" + ca + ")" + ca + "*"), | |
la = new RegExp("=" + ca + "*([^\\]'\"]*?)" + ca + "*\\]", "g"), | |
ma = new RegExp(ga), | |
na = new RegExp("^" + ea + "$"), | |
oa = { | |
ID: new RegExp("^#(" + da + ")"), | |
CLASS: new RegExp("^\\.(" + da + ")"), | |
TAG: new RegExp("^(" + da.replace("w", "w*") + ")"), | |
ATTR: new RegExp("^" + fa), | |
PSEUDO: new RegExp("^" + ga), | |
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ca + "*(even|odd|(([+-]|)(\\d*)n|)" + ca + "*(?:([+-]|)" + ca + "*(\\d+)|))" + ca + "*\\)|)", "i"), | |
bool: new RegExp("^(?:" + ba + ")$", "i"), | |
needsContext: new RegExp("^" + ca + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ca + "*((?:-\\d)?\\d*)" + ca + "*\\)|)(?=[^-]|$)", "i") | |
}, pa = /^(?:input|select|textarea|button)$/i, | |
qa = /^h\d$/i, | |
ra = /^[^{]+\{\s*\[native \w/, | |
sa = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, | |
ta = /[+~]/, | |
ua = /'|\\/g, | |
va = new RegExp("\\\\([\\da-f]{1,6}" + ca + "?|(" + ca + ")|.)", "ig"), | |
wa = function(a, b, c) { | |
var d = "0x" + b - 65536; | |
return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320) | |
}, xa = function() { | |
F() | |
}; | |
try { | |
$.apply(X = _.call(O.childNodes), O.childNodes), X[O.childNodes.length].nodeType | |
} catch (ya) { | |
$ = { | |
apply: X.length ? function(a, b) { | |
Z.apply(a, _.call(b)) | |
} : function(a, b) { | |
for (var c = a.length, d = 0; a[c++] = b[d++];); | |
a.length = c - 1 | |
} | |
} | |
} | |
v = b.support = {}, y = b.isXML = function(a) { | |
var b = a && (a.ownerDocument || a).documentElement; | |
return b ? "HTML" !== b.nodeName : !1 | |
}, F = b.setDocument = function(a) { | |
var b, c, d = a ? a.ownerDocument || a : O; | |
return d !== G && 9 === d.nodeType && d.documentElement ? (G = d, H = d.documentElement, c = d.defaultView, c && c !== c.top && (c.addEventListener ? c.addEventListener("unload", xa, !1) : c.attachEvent && c.attachEvent("onunload", xa)), I = !y(d), v.attributes = e(function(a) { | |
return a.className = "i", !a.getAttribute("className") | |
}), v.getElementsByTagName = e(function(a) { | |
return a.appendChild(d.createComment("")), !a.getElementsByTagName("*").length | |
}), v.getElementsByClassName = ra.test(d.getElementsByClassName), v.getById = e(function(a) { | |
return H.appendChild(a).id = N, !d.getElementsByName || !d.getElementsByName(N).length | |
}), v.getById ? (w.find.ID = function(a, b) { | |
if ("undefined" != typeof b.getElementById && I) { | |
var c = b.getElementById(a); | |
return c && c.parentNode ? [c] : [] | |
} | |
}, w.filter.ID = function(a) { | |
var b = a.replace(va, wa); | |
return function(a) { | |
return a.getAttribute("id") === b | |
} | |
}) : (delete w.find.ID, w.filter.ID = function(a) { | |
var b = a.replace(va, wa); | |
return function(a) { | |
var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id"); | |
return c && c.value === b | |
} | |
}), w.find.TAG = v.getElementsByTagName ? function(a, b) { | |
return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : v.qsa ? b.querySelectorAll(a) : void 0 | |
} : function(a, b) { | |
var c, d = [], | |
e = 0, | |
f = b.getElementsByTagName(a); | |
if ("*" === a) { | |
for (; c = f[e++];) 1 === c.nodeType && d.push(c); | |
return d | |
} | |
return f | |
}, w.find.CLASS = v.getElementsByClassName && function(a, b) { | |
return I ? b.getElementsByClassName(a) : void 0 | |
}, K = [], J = [], (v.qsa = ra.test(d.querySelectorAll)) && (e(function(a) { | |
H.appendChild(a).innerHTML = "<a id='" + N + "'></a><select id='" + N + "-\f]' msallowcapture=''><option selected=''></option></select>", a.querySelectorAll("[msallowcapture^='']").length && J.push("[*^$]=" + ca + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || J.push("\\[" + ca + "*(?:value|" + ba + ")"), a.querySelectorAll("[id~=" + N + "-]").length || J.push("~="), a.querySelectorAll(":checked").length || J.push(":checked"), a.querySelectorAll("a#" + N + "+*").length || J.push(".#.+[+~]") | |
}), e(function(a) { | |
var b = d.createElement("input"); | |
b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && J.push("name" + ca + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || J.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), J.push(",.*:") | |
})), (v.matchesSelector = ra.test(L = H.matches || H.webkitMatchesSelector || H.mozMatchesSelector || H.oMatchesSelector || H.msMatchesSelector)) && e(function(a) { | |
v.disconnectedMatch = L.call(a, "div"), L.call(a, "[s!='']:x"), K.push("!=", ga) | |
}), J = J.length && new RegExp(J.join("|")), K = K.length && new RegExp(K.join("|")), b = ra.test(H.compareDocumentPosition), M = b || ra.test(H.contains) ? function(a, b) { | |
var c = 9 === a.nodeType ? a.documentElement : a, | |
d = b && b.parentNode; | |
return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d))) | |
} : function(a, b) { | |
if (b) | |
for (; b = b.parentNode;) | |
if (b === a) return !0; | |
return !1 | |
}, U = b ? function(a, b) { | |
if (a === b) return E = !0, 0; | |
var c = !a.compareDocumentPosition - !b.compareDocumentPosition; | |
return c ? c : (c = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & c || !v.sortDetached && b.compareDocumentPosition(a) === c ? a === d || a.ownerDocument === O && M(O, a) ? -1 : b === d || b.ownerDocument === O && M(O, b) ? 1 : D ? aa(D, a) - aa(D, b) : 0 : 4 & c ? -1 : 1) | |
} : function(a, b) { | |
if (a === b) return E = !0, 0; | |
var c, e = 0, | |
f = a.parentNode, | |
h = b.parentNode, | |
i = [a], | |
j = [b]; | |
if (!f || !h) return a === d ? -1 : b === d ? 1 : f ? -1 : h ? 1 : D ? aa(D, a) - aa(D, b) : 0; | |
if (f === h) return g(a, b); | |
for (c = a; c = c.parentNode;) i.unshift(c); | |
for (c = b; c = c.parentNode;) j.unshift(c); | |
for (; i[e] === j[e];) e++; | |
return e ? g(i[e], j[e]) : i[e] === O ? -1 : j[e] === O ? 1 : 0 | |
}, d) : G | |
}, b.matches = function(a, c) { | |
return b(a, null, null, c) | |
}, b.matchesSelector = function(a, c) { | |
if ((a.ownerDocument || a) !== G && F(a), c = c.replace(la, "='$1']"), !(!v.matchesSelector || !I || K && K.test(c) || J && J.test(c))) try { | |
var d = L.call(a, c); | |
if (d || v.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d | |
} catch (e) {} | |
return b(c, G, null, [a]).length > 0 | |
}, b.contains = function(a, b) { | |
return (a.ownerDocument || a) !== G && F(a), M(a, b) | |
}, b.attr = function(a, b) { | |
(a.ownerDocument || a) !== G && F(a); | |
var c = w.attrHandle[b.toLowerCase()], | |
d = c && W.call(w.attrHandle, b.toLowerCase()) ? c(a, b, !I) : void 0; | |
return void 0 !== d ? d : v.attributes || !I ? a.getAttribute(b) : (d = a.getAttributeNode(b)) && d.specified ? d.value : null | |
}, b.error = function(a) { | |
throw new Error("Syntax error, unrecognized expression: " + a) | |
}, b.uniqueSort = function(a) { | |
var b, c = [], | |
d = 0, | |
e = 0; | |
if (E = !v.detectDuplicates, D = !v.sortStable && a.slice(0), a.sort(U), E) { | |
for (; b = a[e++];) b === a[e] && (d = c.push(e)); | |
for (; d--;) a.splice(c[d], 1) | |
} | |
return D = null, a | |
}, x = b.getText = function(a) { | |
var b, c = "", | |
d = 0, | |
e = a.nodeType; | |
if (e) { | |
if (1 === e || 9 === e || 11 === e) { | |
if ("string" == typeof a.textContent) return a.textContent; | |
for (a = a.firstChild; a; a = a.nextSibling) c += x(a) | |
} else if (3 === e || 4 === e) return a.nodeValue | |
} else | |
for (; b = a[d++];) c += x(b); | |
return c | |
}, w = b.selectors = { | |
cacheLength: 50, | |
createPseudo: d, | |
match: oa, | |
attrHandle: {}, | |
find: {}, | |
relative: { | |
">": { | |
dir: "parentNode", | |
first: !0 | |
}, | |
" ": { | |
dir: "parentNode" | |
}, | |
"+": { | |
dir: "previousSibling", | |
first: !0 | |
}, | |
"~": { | |
dir: "previousSibling" | |
} | |
}, | |
preFilter: { | |
ATTR: function(a) { | |
return a[1] = a[1].replace(va, wa), a[3] = (a[3] || a[4] || a[5] || "").replace(va, wa), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4) | |
}, | |
CHILD: function(a) { | |
return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || b.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && b.error(a[0]), a | |
}, | |
PSEUDO: function(a) { | |
var b, c = !a[6] && a[2]; | |
return oa.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && ma.test(c) && (b = z(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3)) | |
} | |
}, | |
filter: { | |
TAG: function(a) { | |
var b = a.replace(va, wa).toLowerCase(); | |
return "*" === a ? function() { | |
return !0 | |
} : function(a) { | |
return a.nodeName && a.nodeName.toLowerCase() === b | |
} | |
}, | |
CLASS: function(a) { | |
var b = R[a + " "]; | |
return b || (b = new RegExp("(^|" + ca + ")" + a + "(" + ca + "|$)")) && R(a, function(a) { | |
return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "") | |
}) | |
}, | |
ATTR: function(a, c, d) { | |
return function(e) { | |
var f = b.attr(e, a); | |
return null == f ? "!=" === c : c ? (f += "", "=" === c ? f === d : "!=" === c ? f !== d : "^=" === c ? d && 0 === f.indexOf(d) : "*=" === c ? d && f.indexOf(d) > -1 : "$=" === c ? d && f.slice(-d.length) === d : "~=" === c ? (" " + f.replace(ha, " ") + " ").indexOf(d) > -1 : "|=" === c ? f === d || f.slice(0, d.length + 1) === d + "-" : !1) : !0 | |
} | |
}, | |
CHILD: function(a, b, c, d, e) { | |
var f = "nth" !== a.slice(0, 3), | |
g = "last" !== a.slice(-4), | |
h = "of-type" === b; | |
return 1 === d && 0 === e ? function(a) { | |
return !!a.parentNode | |
} : function(b, c, i) { | |
var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling", | |
q = b.parentNode, | |
r = h && b.nodeName.toLowerCase(), | |
s = !i && !h; | |
if (q) { | |
if (f) { | |
for (; p;) { | |
for (l = b; l = l[p];) | |
if (h ? l.nodeName.toLowerCase() === r : 1 === l.nodeType) return !1; | |
o = p = "only" === a && !o && "nextSibling" | |
} | |
return !0 | |
} | |
if (o = [g ? q.firstChild : q.lastChild], g && s) { | |
for (k = q[N] || (q[N] = {}), j = k[a] || [], n = j[0] === P && j[1], m = j[0] === P && j[2], l = n && q.childNodes[n]; l = ++n && l && l[p] || (m = n = 0) || o.pop();) | |
if (1 === l.nodeType && ++m && l === b) { | |
k[a] = [P, n, m]; | |
break | |
} | |
} else if (s && (j = (b[N] || (b[N] = {}))[a]) && j[0] === P) m = j[1]; | |
else | |
for (; | |
(l = ++n && l && l[p] || (m = n = 0) || o.pop()) && ((h ? l.nodeName.toLowerCase() !== r : 1 !== l.nodeType) || !++m || (s && ((l[N] || (l[N] = {}))[a] = [P, m]), l !== b));); | |
return m -= e, m === d || m % d === 0 && m / d >= 0 | |
} | |
} | |
}, | |
PSEUDO: function(a, c) { | |
var e, f = w.pseudos[a] || w.setFilters[a.toLowerCase()] || b.error("unsupported pseudo: " + a); | |
return f[N] ? f(c) : f.length > 1 ? (e = [a, a, "", c], w.setFilters.hasOwnProperty(a.toLowerCase()) ? d(function(a, b) { | |
for (var d, e = f(a, c), g = e.length; g--;) d = aa(a, e[g]), a[d] = !(b[d] = e[g]) | |
}) : function(a) { | |
return f(a, 0, e) | |
}) : f | |
} | |
}, | |
pseudos: { | |
not: d(function(a) { | |
var b = [], | |
c = [], | |
e = A(a.replace(ia, "$1")); | |
return e[N] ? d(function(a, b, c, d) { | |
for (var f, g = e(a, null, d, []), h = a.length; h--;)(f = g[h]) && (a[h] = !(b[h] = f)) | |
}) : function(a, d, f) { | |
return b[0] = a, e(b, null, f, c), b[0] = null, !c.pop() | |
} | |
}), | |
has: d(function(a) { | |
return function(c) { | |
return b(a, c).length > 0 | |
} | |
}), | |
contains: d(function(a) { | |
return a = a.replace(va, wa), | |
function(b) { | |
return (b.textContent || b.innerText || x(b)).indexOf(a) > -1 | |
} | |
}), | |
lang: d(function(a) { | |
return na.test(a || "") || b.error("unsupported lang: " + a), a = a.replace(va, wa).toLowerCase(), | |
function(b) { | |
var c; | |
do | |
if (c = I ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType); | |
return !1 | |
} | |
}), | |
target: function(b) { | |
var c = a.location && a.location.hash; | |
return c && c.slice(1) === b.id | |
}, | |
root: function(a) { | |
return a === H | |
}, | |
focus: function(a) { | |
return a === G.activeElement && (!G.hasFocus || G.hasFocus()) && !! (a.type || a.href || ~a.tabIndex) | |
}, | |
enabled: function(a) { | |
return a.disabled === !1 | |
}, | |
disabled: function(a) { | |
return a.disabled === !0 | |
}, | |
checked: function(a) { | |
var b = a.nodeName.toLowerCase(); | |
return "input" === b && !! a.checked || "option" === b && !! a.selected | |
}, | |
selected: function(a) { | |
return a.parentNode && a.parentNode.selectedIndex, a.selected === !0 | |
}, | |
empty: function(a) { | |
for (a = a.firstChild; a; a = a.nextSibling) | |
if (a.nodeType < 6) return !1; | |
return !0 | |
}, | |
parent: function(a) { | |
return !w.pseudos.empty(a) | |
}, | |
header: function(a) { | |
return qa.test(a.nodeName) | |
}, | |
input: function(a) { | |
return pa.test(a.nodeName) | |
}, | |
button: function(a) { | |
var b = a.nodeName.toLowerCase(); | |
return "input" === b && "button" === a.type || "button" === b | |
}, | |
text: function(a) { | |
var b; | |
return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase()) | |
}, | |
first: j(function() { | |
return [0] | |
}), | |
last: j(function(a, b) { | |
return [b - 1] | |
}), | |
eq: j(function(a, b, c) { | |
return [0 > c ? c + b : c] | |
}), | |
even: j(function(a, b) { | |
for (var c = 0; b > c; c += 2) a.push(c); | |
return a | |
}), | |
odd: j(function(a, b) { | |
for (var c = 1; b > c; c += 2) a.push(c); | |
return a | |
}), | |
lt: j(function(a, b, c) { | |
for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d); | |
return a | |
}), | |
gt: j(function(a, b, c) { | |
for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d); | |
return a | |
}) | |
} | |
}, w.pseudos.nth = w.pseudos.eq; | |
for (u in { | |
radio: !0, | |
checkbox: !0, | |
file: !0, | |
password: !0, | |
image: !0 | |
}) w.pseudos[u] = h(u); | |
for (u in { | |
submit: !0, | |
reset: !0 | |
}) w.pseudos[u] = i(u); | |
return l.prototype = w.filters = w.pseudos, w.setFilters = new l, z = b.tokenize = function(a, c) { | |
var d, e, f, g, h, i, j, k = S[a + " "]; | |
if (k) return c ? 0 : k.slice(0); | |
for (h = a, i = [], j = w.preFilter; h;) { | |
(!d || (e = ja.exec(h))) && (e && (h = h.slice(e[0].length) || h), i.push(f = [])), d = !1, (e = ka.exec(h)) && (d = e.shift(), f.push({ | |
value: d, | |
type: e[0].replace(ia, " ") | |
}), h = h.slice(d.length)); | |
for (g in w.filter)!(e = oa[g].exec(h)) || j[g] && !(e = j[g](e)) || (d = e.shift(), f.push({ | |
value: d, | |
type: g, | |
matches: e | |
}), h = h.slice(d.length)); | |
if (!d) break | |
} | |
return c ? h.length : h ? b.error(a) : S(a, i).slice(0) | |
}, A = b.compile = function(a, b) { | |
var c, d = [], | |
e = [], | |
f = T[a + " "]; | |
if (!f) { | |
for (b || (b = z(a)), c = b.length; c--;) f = s(b[c]), f[N] ? d.push(f) : e.push(f); | |
f = T(a, t(e, d)), f.selector = a | |
} | |
return f | |
}, B = b.select = function(a, b, c, d) { | |
var e, f, g, h, i, j = "function" == typeof a && a, | |
l = !d && z(a = j.selector || a); | |
if (c = c || [], 1 === l.length) { | |
if (f = l[0] = l[0].slice(0), f.length > 2 && "ID" === (g = f[0]).type && v.getById && 9 === b.nodeType && I && w.relative[f[1].type]) { | |
if (b = (w.find.ID(g.matches[0].replace(va, wa), b) || [])[0], !b) return c; | |
j && (b = b.parentNode), a = a.slice(f.shift().value.length) | |
} | |
for (e = oa.needsContext.test(a) ? 0 : f.length; e-- && (g = f[e], !w.relative[h = g.type]);) | |
if ((i = w.find[h]) && (d = i(g.matches[0].replace(va, wa), ta.test(f[0].type) && k(b.parentNode) || b))) { | |
if (f.splice(e, 1), a = d.length && m(f), !a) return $.apply(c, d), c; | |
break | |
} | |
} | |
return (j || A(a, l))(d, b, !I, c, ta.test(a) && k(b.parentNode) || b), c | |
}, v.sortStable = N.split("").sort(U).join("") === N, v.detectDuplicates = !! E, F(), v.sortDetached = e(function(a) { | |
return 1 & a.compareDocumentPosition(G.createElement("div")) | |
}), e(function(a) { | |
return a.innerHTML = "<a href='#'></a>", "#" === a.firstChild.getAttribute("href") | |
}) || f("type|href|height|width", function(a, b, c) { | |
return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2) | |
}), v.attributes && e(function(a) { | |
return a.innerHTML = "<input/>", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value") | |
}) || f("value", function(a, b, c) { | |
return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue | |
}), e(function(a) { | |
return null == a.getAttribute("disabled") | |
}) || f(ba, function(a, b, c) { | |
var d; | |
return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null | |
}), b | |
}(a); | |
_.find = ea, _.expr = ea.selectors, _.expr[":"] = _.expr.pseudos, _.unique = ea.uniqueSort, _.text = ea.getText, _.isXMLDoc = ea.isXML, _.contains = ea.contains; | |
var fa = _.expr.match.needsContext, | |
ga = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, | |
ha = /^.[^:#\[\.,]*$/; | |
_.filter = function(a, b, c) { | |
var d = b[0]; | |
return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? _.find.matchesSelector(d, a) ? [d] : [] : _.find.matches(a, _.grep(b, function(a) { | |
return 1 === a.nodeType | |
})) | |
}, _.fn.extend({ | |
find: function(a) { | |
var b, c = this.length, | |
d = [], | |
e = this; | |
if ("string" != typeof a) return this.pushStack(_(a).filter(function() { | |
for (b = 0; c > b; b++) | |
if (_.contains(e[b], this)) return !0 | |
})); | |
for (b = 0; c > b; b++) _.find(a, e[b], d); | |
return d = this.pushStack(c > 1 ? _.unique(d) : d), d.selector = this.selector ? this.selector + " " + a : a, d | |
}, | |
filter: function(a) { | |
return this.pushStack(d(this, a || [], !1)) | |
}, | |
not: function(a) { | |
return this.pushStack(d(this, a || [], !0)) | |
}, | |
is: function(a) { | |
return !!d(this, "string" == typeof a && fa.test(a) ? _(a) : a || [], !1).length | |
} | |
}); | |
var ia, ja = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, | |
ka = _.fn.init = function(a, b) { | |
var c, d; | |
if (!a) return this; | |
if ("string" == typeof a) { | |
if (c = "<" === a[0] && ">" === a[a.length - 1] && a.length >= 3 ? [null, a, null] : ja.exec(a), !c || !c[1] && b) return !b || b.jquery ? (b || ia).find(a) : this.constructor(b).find(a); | |
if (c[1]) { | |
if (b = b instanceof _ ? b[0] : b, _.merge(this, _.parseHTML(c[1], b && b.nodeType ? b.ownerDocument || b : Z, !0)), ga.test(c[1]) && _.isPlainObject(b)) | |
for (c in b) _.isFunction(this[c]) ? this[c](b[c]) : this.attr(c, b[c]); | |
return this | |
} | |
return d = Z.getElementById(c[2]), d && d.parentNode && (this.length = 1, this[0] = d), this.context = Z, this.selector = a, this | |
} | |
return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : _.isFunction(a) ? "undefined" != typeof ia.ready ? ia.ready(a) : a(_) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), _.makeArray(a, this)) | |
}; | |
ka.prototype = _.fn, ia = _(Z); | |
var la = /^(?:parents|prev(?:Until|All))/, | |
ma = { | |
children: !0, | |
contents: !0, | |
next: !0, | |
prev: !0 | |
}; | |
_.extend({ | |
dir: function(a, b, c) { | |
for (var d = [], e = void 0 !== c; | |
(a = a[b]) && 9 !== a.nodeType;) | |
if (1 === a.nodeType) { | |
if (e && _(a).is(c)) break; | |
d.push(a) | |
} | |
return d | |
}, | |
sibling: function(a, b) { | |
for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a); | |
return c | |
} | |
}), _.fn.extend({ | |
has: function(a) { | |
var b = _(a, this), | |
c = b.length; | |
return this.filter(function() { | |
for (var a = 0; c > a; a++) | |
if (_.contains(this, b[a])) return !0 | |
}) | |
}, | |
closest: function(a, b) { | |
for (var c, d = 0, e = this.length, f = [], g = fa.test(a) || "string" != typeof a ? _(a, b || this.context) : 0; e > d; d++) | |
for (c = this[d]; c && c !== b; c = c.parentNode) | |
if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && _.find.matchesSelector(c, a))) { | |
f.push(c); | |
break | |
} | |
return this.pushStack(f.length > 1 ? _.unique(f) : f) | |
}, | |
index: function(a) { | |
return a ? "string" == typeof a ? U.call(_(a), this[0]) : U.call(this, a.jquery ? a[0] : a) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 | |
}, | |
add: function(a, b) { | |
return this.pushStack(_.unique(_.merge(this.get(), _(a, b)))) | |
}, | |
addBack: function(a) { | |
return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) | |
} | |
}), _.each({ | |
parent: function(a) { | |
var b = a.parentNode; | |
return b && 11 !== b.nodeType ? b : null | |
}, | |
parents: function(a) { | |
return _.dir(a, "parentNode") | |
}, | |
parentsUntil: function(a, b, c) { | |
return _.dir(a, "parentNode", c) | |
}, | |
next: function(a) { | |
return e(a, "nextSibling") | |
}, | |
prev: function(a) { | |
return e(a, "previousSibling") | |
}, | |
nextAll: function(a) { | |
return _.dir(a, "nextSibling") | |
}, | |
prevAll: function(a) { | |
return _.dir(a, "previousSibling") | |
}, | |
nextUntil: function(a, b, c) { | |
return _.dir(a, "nextSibling", c) | |
}, | |
prevUntil: function(a, b, c) { | |
return _.dir(a, "previousSibling", c) | |
}, | |
siblings: function(a) { | |
return _.sibling((a.parentNode || {}).firstChild, a) | |
}, | |
children: function(a) { | |
return _.sibling(a.firstChild) | |
}, | |
contents: function(a) { | |
return a.contentDocument || _.merge([], a.childNodes) | |
} | |
}, function(a, b) { | |
_.fn[a] = function(c, d) { | |
var e = _.map(this, b, c); | |
return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = _.filter(d, e)), this.length > 1 && (ma[a] || _.unique(e), la.test(a) && e.reverse()), this.pushStack(e) | |
} | |
}); | |
var na = /\S+/g, | |
oa = {}; | |
_.Callbacks = function(a) { | |
a = "string" == typeof a ? oa[a] || f(a) : _.extend({}, a); | |
var b, c, d, e, g, h, i = [], | |
j = !a.once && [], | |
k = function(f) { | |
for (b = a.memory && f, c = !0, h = e || 0, e = 0, g = i.length, d = !0; i && g > h; h++) | |
if (i[h].apply(f[0], f[1]) === !1 && a.stopOnFalse) { | |
b = !1; | |
break | |
} | |
d = !1, i && (j ? j.length && k(j.shift()) : b ? i = [] : l.disable()) | |
}, l = { | |
add: function() { | |
if (i) { | |
var c = i.length; | |
! function f(b) { | |
_.each(b, function(b, c) { | |
var d = _.type(c); | |
"function" === d ? a.unique && l.has(c) || i.push(c) : c && c.length && "string" !== d && f(c) | |
}) | |
}(arguments), d ? g = i.length : b && (e = c, k(b)) | |
} | |
return this | |
}, | |
remove: function() { | |
return i && _.each(arguments, function(a, b) { | |
for (var c; | |
(c = _.inArray(b, i, c)) > -1;) i.splice(c, 1), d && (g >= c && g--, h >= c && h--) | |
}), this | |
}, | |
has: function(a) { | |
return a ? _.inArray(a, i) > -1 : !(!i || !i.length) | |
}, | |
empty: function() { | |
return i = [], g = 0, this | |
}, | |
disable: function() { | |
return i = j = b = void 0, this | |
}, | |
disabled: function() { | |
return !i | |
}, | |
lock: function() { | |
return j = void 0, b || l.disable(), this | |
}, | |
locked: function() { | |
return !j | |
}, | |
fireWith: function(a, b) { | |
return !i || c && !j || (b = b || [], b = [a, b.slice ? b.slice() : b], d ? j.push(b) : k(b)), this | |
}, | |
fire: function() { | |
return l.fireWith(this, arguments), this | |
}, | |
fired: function() { | |
return !!c | |
} | |
}; | |
return l | |
}, _.extend({ | |
Deferred: function(a) { | |
var b = [ | |
["resolve", "done", _.Callbacks("once memory"), "resolved"], | |
["reject", "fail", _.Callbacks("once memory"), "rejected"], | |
["notify", "progress", _.Callbacks("memory")] | |
], | |
c = "pending", | |
d = { | |
state: function() { | |
return c | |
}, | |
always: function() { | |
return e.done(arguments).fail(arguments), this | |
}, | |
then: function() { | |
var a = arguments; | |
return _.Deferred(function(c) { | |
_.each(b, function(b, f) { | |
var g = _.isFunction(a[b]) && a[b]; | |
e[f[1]](function() { | |
var a = g && g.apply(this, arguments); | |
a && _.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments) | |
}) | |
}), a = null | |
}).promise() | |
}, | |
promise: function(a) { | |
return null != a ? _.extend(a, d) : d | |
} | |
}, e = {}; | |
return d.pipe = d.then, _.each(b, function(a, f) { | |
var g = f[2], | |
h = f[3]; | |
d[f[1]] = g.add, h && g.add(function() { | |
c = h | |
}, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function() { | |
return e[f[0] + "With"](this === e ? d : this, arguments), this | |
}, e[f[0] + "With"] = g.fireWith | |
}), d.promise(e), a && a.call(e, e), e | |
}, | |
when: function(a) { | |
var b, c, d, e = 0, | |
f = R.call(arguments), | |
g = f.length, | |
h = 1 !== g || a && _.isFunction(a.promise) ? g : 0, | |
i = 1 === h ? a : _.Deferred(), | |
j = function(a, c, d) { | |
return function(e) { | |
c[a] = this, d[a] = arguments.length > 1 ? R.call(arguments) : e, d === b ? i.notifyWith(c, d) : --h || i.resolveWith(c, d) | |
} | |
}; | |
if (g > 1) | |
for (b = new Array(g), c = new Array(g), d = new Array(g); g > e; e++) f[e] && _.isFunction(f[e].promise) ? f[e].promise().done(j(e, d, f)).fail(i.reject).progress(j(e, c, b)) : --h; | |
return h || i.resolveWith(d, f), i.promise() | |
} | |
}); | |
var pa; | |
_.fn.ready = function(a) { | |
return _.ready.promise().done(a), this | |
}, _.extend({ | |
isReady: !1, | |
readyWait: 1, | |
holdReady: function(a) { | |
a ? _.readyWait++ : _.ready(!0) | |
}, | |
ready: function(a) { | |
(a === !0 ? --_.readyWait : _.isReady) || (_.isReady = !0, a !== !0 && --_.readyWait > 0 || (pa.resolveWith(Z, [_]), _.fn.triggerHandler && (_(Z).triggerHandler("ready"), _(Z).off("ready")))) | |
} | |
}), _.ready.promise = function(b) { | |
return pa || (pa = _.Deferred(), "complete" === Z.readyState ? setTimeout(_.ready) : (Z.addEventListener("DOMContentLoaded", g, !1), a.addEventListener("load", g, !1))), pa.promise(b) | |
}, _.ready.promise(); | |
var qa = _.access = function(a, b, c, d, e, f, g) { | |
var h = 0, | |
i = a.length, | |
j = null == c; | |
if ("object" === _.type(c)) { | |
e = !0; | |
for (h in c) _.access(a, b, h, c[h], !0, f, g) | |
} else if (void 0 !== d && (e = !0, _.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function(a, b, c) { | |
return j.call(_(a), c) | |
})), b)) | |
for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c))); | |
return e ? a : j ? b.call(a) : i ? b(a[0], c) : f | |
}; | |
_.acceptData = function(a) { | |
return 1 === a.nodeType || 9 === a.nodeType || !+a.nodeType | |
}, h.uid = 1, h.accepts = _.acceptData, h.prototype = { | |
key: function(a) { | |
if (!h.accepts(a)) return 0; | |
var b = {}, c = a[this.expando]; | |
if (!c) { | |
c = h.uid++; | |
try { | |
b[this.expando] = { | |
value: c | |
}, Object.defineProperties(a, b) | |
} catch (d) { | |
b[this.expando] = c, _.extend(a, b) | |
} | |
} | |
return this.cache[c] || (this.cache[c] = {}), c | |
}, | |
set: function(a, b, c) { | |
var d, e = this.key(a), | |
f = this.cache[e]; | |
if ("string" == typeof b) f[b] = c; | |
else if (_.isEmptyObject(f)) _.extend(this.cache[e], b); | |
else | |
for (d in b) f[d] = b[d]; | |
return f | |
}, | |
get: function(a, b) { | |
var c = this.cache[this.key(a)]; | |
return void 0 === b ? c : c[b] | |
}, | |
access: function(a, b, c) { | |
var d; | |
return void 0 === b || b && "string" == typeof b && void 0 === c ? (d = this.get(a, b), void 0 !== d ? d : this.get(a, _.camelCase(b))) : (this.set(a, b, c), void 0 !== c ? c : b) | |
}, | |
remove: function(a, b) { | |
var c, d, e, f = this.key(a), | |
g = this.cache[f]; | |
if (void 0 === b) this.cache[f] = {}; | |
else { | |
_.isArray(b) ? d = b.concat(b.map(_.camelCase)) : (e = _.camelCase(b), b in g ? d = [b, e] : (d = e, d = d in g ? [d] : d.match(na) || [])), c = d.length; | |
for (; c--;) delete g[d[c]] | |
} | |
}, | |
hasData: function(a) { | |
return !_.isEmptyObject(this.cache[a[this.expando]] || {}) | |
}, | |
discard: function(a) { | |
a[this.expando] && delete this.cache[a[this.expando]] | |
} | |
}; | |
var ra = new h, | |
sa = new h, | |
ta = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, | |
ua = /([A-Z])/g; | |
_.extend({ | |
hasData: function(a) { | |
return sa.hasData(a) || ra.hasData(a) | |
}, | |
data: function(a, b, c) { | |
return sa.access(a, b, c) | |
}, | |
removeData: function(a, b) { | |
sa.remove(a, b) | |
}, | |
_data: function(a, b, c) { | |
return ra.access(a, b, c) | |
}, | |
_removeData: function(a, b) { | |
ra.remove(a, b) | |
} | |
}), _.fn.extend({ | |
data: function(a, b) { | |
var c, d, e, f = this[0], | |
g = f && f.attributes; | |
if (void 0 === a) { | |
if (this.length && (e = sa.get(f), 1 === f.nodeType && !ra.get(f, "hasDataAttrs"))) { | |
for (c = g.length; c--;) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = _.camelCase(d.slice(5)), i(f, d, e[d]))); | |
ra.set(f, "hasDataAttrs", !0) | |
} | |
return e | |
} | |
return "object" == typeof a ? this.each(function() { | |
sa.set(this, a) | |
}) : qa(this, function(b) { | |
var c, d = _.camelCase(a); | |
if (f && void 0 === b) { | |
if (c = sa.get(f, a), void 0 !== c) return c; | |
if (c = sa.get(f, d), void 0 !== c) return c; | |
if (c = i(f, d, void 0), void 0 !== c) return c | |
} else this.each(function() { | |
var c = sa.get(this, d); | |
sa.set(this, d, b), -1 !== a.indexOf("-") && void 0 !== c && sa.set(this, a, b) | |
}) | |
}, null, b, arguments.length > 1, null, !0) | |
}, | |
removeData: function(a) { | |
return this.each(function() { | |
sa.remove(this, a) | |
}) | |
} | |
}), _.extend({ | |
queue: function(a, b, c) { | |
var d; | |
return a ? (b = (b || "fx") + "queue", d = ra.get(a, b), c && (!d || _.isArray(c) ? d = ra.access(a, b, _.makeArray(c)) : d.push(c)), d || []) : void 0 | |
}, | |
dequeue: function(a, b) { | |
b = b || "fx"; | |
var c = _.queue(a, b), | |
d = c.length, | |
e = c.shift(), | |
f = _._queueHooks(a, b), | |
g = function() { | |
_.dequeue(a, b) | |
}; | |
"inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire() | |
}, | |
_queueHooks: function(a, b) { | |
var c = b + "queueHooks"; | |
return ra.get(a, c) || ra.access(a, c, { | |
empty: _.Callbacks("once memory").add(function() { | |
ra.remove(a, [b + "queue", c]) | |
}) | |
}) | |
} | |
}), _.fn.extend({ | |
queue: function(a, b) { | |
var c = 2; | |
return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? _.queue(this[0], a) : void 0 === b ? this : this.each(function() { | |
var c = _.queue(this, a, b); | |
_._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && _.dequeue(this, a) | |
}) | |
}, | |
dequeue: function(a) { | |
return this.each(function() { | |
_.dequeue(this, a) | |
}) | |
}, | |
clearQueue: function(a) { | |
return this.queue(a || "fx", []) | |
}, | |
promise: function(a, b) { | |
var c, d = 1, | |
e = _.Deferred(), | |
f = this, | |
g = this.length, | |
h = function() { | |
--d || e.resolveWith(f, [f]) | |
}; | |
for ("string" != typeof a && (b = a, a = void 0), a = a || "fx"; g--;) c = ra.get(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h)); | |
return h(), e.promise(b) | |
} | |
}); | |
var va = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, | |
wa = ["Top", "Right", "Bottom", "Left"], | |
xa = function(a, b) { | |
return a = b || a, "none" === _.css(a, "display") || !_.contains(a.ownerDocument, a) | |
}, ya = /^(?:checkbox|radio)$/i; | |
! function() { | |
var a = Z.createDocumentFragment(), | |
b = a.appendChild(Z.createElement("div")), | |
c = Z.createElement("input"); | |
c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), b.appendChild(c), Y.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, b.innerHTML = "<textarea>x</textarea>", Y.noCloneChecked = !! b.cloneNode(!0).lastChild.defaultValue | |
}(); | |
var za = "undefined"; | |
Y.focusinBubbles = "onfocusin" in a; | |
var Aa = /^key/, | |
Ba = /^(?:mouse|pointer|contextmenu)|click/, | |
Ca = /^(?:focusinfocus|focusoutblur)$/, | |
Da = /^([^.]*)(?:\.(.+)|)$/; | |
_.event = { | |
global: {}, | |
add: function(a, b, c, d, e) { | |
var f, g, h, i, j, k, l, m, n, o, p, q = ra.get(a); | |
if (q) | |
for (c.handler && (f = c, c = f.handler, e = f.selector), c.guid || (c.guid = _.guid++), (i = q.events) || (i = q.events = {}), (g = q.handle) || (g = q.handle = function(b) { | |
return typeof _ !== za && _.event.triggered !== b.type ? _.event.dispatch.apply(a, arguments) : void 0 | |
}), b = (b || "").match(na) || [""], j = b.length; j--;) h = Da.exec(b[j]) || [], n = p = h[1], o = (h[2] || "").split(".").sort(), n && (l = _.event.special[n] || {}, n = (e ? l.delegateType : l.bindType) || n, l = _.event.special[n] || {}, k = _.extend({ | |
type: n, | |
origType: p, | |
data: d, | |
handler: c, | |
guid: c.guid, | |
selector: e, | |
needsContext: e && _.expr.match.needsContext.test(e), | |
namespace: o.join(".") | |
}, f), (m = i[n]) || (m = i[n] = [], m.delegateCount = 0, l.setup && l.setup.call(a, d, o, g) !== !1 || a.addEventListener && a.addEventListener(n, g, !1)), l.add && (l.add.call(a, k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, k) : m.push(k), _.event.global[n] = !0) | |
}, | |
remove: function(a, b, c, d, e) { | |
var f, g, h, i, j, k, l, m, n, o, p, q = ra.hasData(a) && ra.get(a); | |
if (q && (i = q.events)) { | |
for (b = (b || "").match(na) || [""], j = b.length; j--;) | |
if (h = Da.exec(b[j]) || [], n = p = h[1], o = (h[2] || "").split(".").sort(), n) { | |
for (l = _.event.special[n] || {}, n = (d ? l.delegateType : l.bindType) || n, m = i[n] || [], h = h[2] && new RegExp("(^|\\.)" + o.join("\\.(?:.*\\.|)") + "(\\.|$)"), g = f = m.length; f--;) k = m[f], !e && p !== k.origType || c && c.guid !== k.guid || h && !h.test(k.namespace) || d && d !== k.selector && ("**" !== d || !k.selector) || (m.splice(f, 1), k.selector && m.delegateCount--, l.remove && l.remove.call(a, k)); | |
g && !m.length && (l.teardown && l.teardown.call(a, o, q.handle) !== !1 || _.removeEvent(a, n, q.handle), delete i[n]) | |
} else | |
for (n in i) _.event.remove(a, n + b[j], c, d, !0); | |
_.isEmptyObject(i) && (delete q.handle, ra.remove(a, "events")) | |
} | |
}, | |
trigger: function(b, c, d, e) { | |
var f, g, h, i, j, k, l, m = [d || Z], | |
n = X.call(b, "type") ? b.type : b, | |
o = X.call(b, "namespace") ? b.namespace.split(".") : []; | |
if (g = h = d = d || Z, 3 !== d.nodeType && 8 !== d.nodeType && !Ca.test(n + _.event.triggered) && (n.indexOf(".") >= 0 && (o = n.split("."), n = o.shift(), o.sort()), j = n.indexOf(":") < 0 && "on" + n, b = b[_.expando] ? b : new _.Event(n, "object" == typeof b && b), b.isTrigger = e ? 2 : 3, b.namespace = o.join("."), b.namespace_re = b.namespace ? new RegExp("(^|\\.)" + o.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = d), c = null == c ? [b] : _.makeArray(c, [b]), l = _.event.special[n] || {}, e || !l.trigger || l.trigger.apply(d, c) !== !1)) { | |
if (!e && !l.noBubble && !_.isWindow(d)) { | |
for (i = l.delegateType || n, Ca.test(i + n) || (g = g.parentNode); g; g = g.parentNode) m.push(g), h = g; | |
h === (d.ownerDocument || Z) && m.push(h.defaultView || h.parentWindow || a) | |
} | |
for (f = 0; | |
(g = m[f++]) && !b.isPropagationStopped();) b.type = f > 1 ? i : l.bindType || n, k = (ra.get(g, "events") || {})[b.type] && ra.get(g, "handle"), k && k.apply(g, c), k = j && g[j], k && k.apply && _.acceptData(g) && (b.result = k.apply(g, c), b.result === !1 && b.preventDefault()); | |
return b.type = n, e || b.isDefaultPrevented() || l._default && l._default.apply(m.pop(), c) !== !1 || !_.acceptData(d) || j && _.isFunction(d[n]) && !_.isWindow(d) && (h = d[j], h && (d[j] = null), _.event.triggered = n, d[n](), _.event.triggered = void 0, h && (d[j] = h)), b.result | |
} | |
}, | |
dispatch: function(a) { | |
a = _.event.fix(a); | |
var b, c, d, e, f, g = [], | |
h = R.call(arguments), | |
i = (ra.get(this, "events") || {})[a.type] || [], | |
j = _.event.special[a.type] || {}; | |
if (h[0] = a, a.delegateTarget = this, !j.preDispatch || j.preDispatch.call(this, a) !== !1) { | |
for (g = _.event.handlers.call(this, a, i), b = 0; | |
(e = g[b++]) && !a.isPropagationStopped();) | |
for (a.currentTarget = e.elem, c = 0; | |
(f = e.handlers[c++]) && !a.isImmediatePropagationStopped();)(!a.namespace_re || a.namespace_re.test(f.namespace)) && (a.handleObj = f, a.data = f.data, d = ((_.event.special[f.origType] || {}).handle || f.handler).apply(e.elem, h), void 0 !== d && (a.result = d) === !1 && (a.preventDefault(), a.stopPropagation())); | |
return j.postDispatch && j.postDispatch.call(this, a), a.result | |
} | |
}, | |
handlers: function(a, b) { | |
var c, d, e, f, g = [], | |
h = b.delegateCount, | |
i = a.target; | |
if (h && i.nodeType && (!a.button || "click" !== a.type)) | |
for (; i !== this; i = i.parentNode || this) | |
if (i.disabled !== !0 || "click" !== a.type) { | |
for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? _(e, this).index(i) >= 0 : _.find(e, this, null, [i]).length), d[e] && d.push(f); | |
d.length && g.push({ | |
elem: i, | |
handlers: d | |
}) | |
} | |
return h < b.length && g.push({ | |
elem: this, | |
handlers: b.slice(h) | |
}), g | |
}, | |
props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), | |
fixHooks: {}, | |
keyHooks: { | |
props: "char charCode key keyCode".split(" "), | |
filter: function(a, b) { | |
return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a | |
} | |
}, | |
mouseHooks: { | |
props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), | |
filter: function(a, b) { | |
var c, d, e, f = b.button; | |
return null == a.pageX && null != b.clientX && (c = a.target.ownerDocument || Z, d = c.documentElement, e = c.body, a.pageX = b.clientX + (d && d.scrollLeft || e && e.scrollLeft || 0) - (d && d.clientLeft || e && e.clientLeft || 0), a.pageY = b.clientY + (d && d.scrollTop || e && e.scrollTop || 0) - (d && d.clientTop || e && e.clientTop || 0)), a.which || void 0 === f || (a.which = 1 & f ? 1 : 2 & f ? 3 : 4 & f ? 2 : 0), a | |
} | |
}, | |
fix: function(a) { | |
if (a[_.expando]) return a; | |
var b, c, d, e = a.type, | |
f = a, | |
g = this.fixHooks[e]; | |
for (g || (this.fixHooks[e] = g = Ba.test(e) ? this.mouseHooks : Aa.test(e) ? this.keyHooks : {}), d = g.props ? this.props.concat(g.props) : this.props, a = new _.Event(f), b = d.length; b--;) c = d[b], a[c] = f[c]; | |
return a.target || (a.target = Z), 3 === a.target.nodeType && (a.target = a.target.parentNode), g.filter ? g.filter(a, f) : a | |
}, | |
special: { | |
load: { | |
noBubble: !0 | |
}, | |
focus: { | |
trigger: function() { | |
return this !== l() && this.focus ? (this.focus(), !1) : void 0 | |
}, | |
delegateType: "focusin" | |
}, | |
blur: { | |
trigger: function() { | |
return this === l() && this.blur ? (this.blur(), !1) : void 0 | |
}, | |
delegateType: "focusout" | |
}, | |
click: { | |
trigger: function() { | |
return "checkbox" === this.type && this.click && _.nodeName(this, "input") ? (this.click(), !1) : void 0 | |
}, | |
_default: function(a) { | |
return _.nodeName(a.target, "a") | |
} | |
}, | |
beforeunload: { | |
postDispatch: function(a) { | |
void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result) | |
} | |
} | |
}, | |
simulate: function(a, b, c, d) { | |
var e = _.extend(new _.Event, c, { | |
type: a, | |
isSimulated: !0, | |
originalEvent: {} | |
}); | |
d ? _.event.trigger(e, null, b) : _.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() | |
} | |
}, _.removeEvent = function(a, b, c) { | |
a.removeEventListener && a.removeEventListener(b, c, !1) | |
}, _.Event = function(a, b) { | |
return this instanceof _.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? j : k) : this.type = a, b && _.extend(this, b), this.timeStamp = a && a.timeStamp || _.now(), void(this[_.expando] = !0)) : new _.Event(a, b) | |
}, _.Event.prototype = { | |
isDefaultPrevented: k, | |
isPropagationStopped: k, | |
isImmediatePropagationStopped: k, | |
preventDefault: function() { | |
var a = this.originalEvent; | |
this.isDefaultPrevented = j, a && a.preventDefault && a.preventDefault() | |
}, | |
stopPropagation: function() { | |
var a = this.originalEvent; | |
this.isPropagationStopped = j, a && a.stopPropagation && a.stopPropagation() | |
}, | |
stopImmediatePropagation: function() { | |
var a = this.originalEvent; | |
this.isImmediatePropagationStopped = j, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation() | |
} | |
}, _.each({ | |
mouseenter: "mouseover", | |
mouseleave: "mouseout", | |
pointerenter: "pointerover", | |
pointerleave: "pointerout" | |
}, function(a, b) { | |
_.event.special[a] = { | |
delegateType: b, | |
bindType: b, | |
handle: function(a) { | |
var c, d = this, | |
e = a.relatedTarget, | |
f = a.handleObj; | |
return (!e || e !== d && !_.contains(d, e)) && (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c | |
} | |
} | |
}), Y.focusinBubbles || _.each({ | |
focus: "focusin", | |
blur: "focusout" | |
}, function(a, b) { | |
var c = function(a) { | |
_.event.simulate(b, a.target, _.event.fix(a), !0) | |
}; | |
_.event.special[b] = { | |
setup: function() { | |
var d = this.ownerDocument || this, | |
e = ra.access(d, b); | |
e || d.addEventListener(a, c, !0), ra.access(d, b, (e || 0) + 1) | |
}, | |
teardown: function() { | |
var d = this.ownerDocument || this, | |
e = ra.access(d, b) - 1; | |
e ? ra.access(d, b, e) : (d.removeEventListener(a, c, !0), ra.remove(d, b)) | |
} | |
} | |
}), _.fn.extend({ | |
on: function(a, b, c, d, e) { | |
var f, g; | |
if ("object" == typeof a) { | |
"string" != typeof b && (c = c || b, b = void 0); | |
for (g in a) this.on(g, b, c, a[g], e); | |
return this | |
} | |
if (null == c && null == d ? (d = b, c = b = void 0) : null == d && ("string" == typeof b ? (d = c, c = void 0) : (d = c, c = b, b = void 0)), d === !1) d = k; | |
else if (!d) return this; | |
return 1 === e && (f = d, d = function(a) { | |
return _().off(a), f.apply(this, arguments) | |
}, d.guid = f.guid || (f.guid = _.guid++)), this.each(function() { | |
_.event.add(this, a, d, c, b) | |
}) | |
}, | |
one: function(a, b, c, d) { | |
return this.on(a, b, c, d, 1) | |
}, | |
off: function(a, b, c) { | |
var d, e; | |
if (a && a.preventDefault && a.handleObj) return d = a.handleObj, _(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this; | |
if ("object" == typeof a) { | |
for (e in a) this.off(e, b, a[e]); | |
return this | |
} | |
return (b === !1 || "function" == typeof b) && (c = b, b = void 0), c === !1 && (c = k), this.each(function() { | |
_.event.remove(this, a, c, b) | |
}) | |
}, | |
trigger: function(a, b) { | |
return this.each(function() { | |
_.event.trigger(a, b, this) | |
}) | |
}, | |
triggerHandler: function(a, b) { | |
var c = this[0]; | |
return c ? _.event.trigger(a, b, c, !0) : void 0 | |
} | |
}); | |
var Ea = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, | |
Fa = /<([\w:]+)/, | |
Ga = /<|&#?\w+;/, | |
Ha = /<(?:script|style|link)/i, | |
Ia = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
Ja = /^$|\/(?:java|ecma)script/i, | |
Ka = /^true\/(.*)/, | |
La = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, | |
Ma = { | |
option: [1, "<select multiple='multiple'>", "</select>"], | |
thead: [1, "<table>", "</table>"], | |
col: [2, "<table><colgroup>", "</colgroup></table>"], | |
tr: [2, "<table><tbody>", "</tbody></table>"], | |
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], | |
_default: [0, "", ""] | |
}; | |
Ma.optgroup = Ma.option, Ma.tbody = Ma.tfoot = Ma.colgroup = Ma.caption = Ma.thead, Ma.th = Ma.td, _.extend({ | |
clone: function(a, b, c) { | |
var d, e, f, g, h = a.cloneNode(!0), | |
i = _.contains(a.ownerDocument, a); | |
if (!(Y.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || _.isXMLDoc(a))) | |
for (g = r(h), f = r(a), d = 0, e = f.length; e > d; d++) s(f[d], g[d]); | |
if (b) | |
if (c) | |
for (f = f || r(a), g = g || r(h), d = 0, e = f.length; e > d; d++) q(f[d], g[d]); | |
else q(a, h); | |
return g = r(h, "script"), g.length > 0 && p(g, !i && r(a, "script")), h | |
}, | |
buildFragment: function(a, b, c, d) { | |
for (var e, f, g, h, i, j, k = b.createDocumentFragment(), l = [], m = 0, n = a.length; n > m; m++) | |
if (e = a[m], e || 0 === e) | |
if ("object" === _.type(e)) _.merge(l, e.nodeType ? [e] : e); | |
else if (Ga.test(e)) { | |
for (f = f || k.appendChild(b.createElement("div")), g = (Fa.exec(e) || ["", ""])[1].toLowerCase(), h = Ma[g] || Ma._default, f.innerHTML = h[1] + e.replace(Ea, "<$1></$2>") + h[2], j = h[0]; j--;) f = f.lastChild; | |
_.merge(l, f.childNodes), f = k.firstChild, f.textContent = "" | |
} else l.push(b.createTextNode(e)); | |
for (k.textContent = "", m = 0; e = l[m++];) | |
if ((!d || -1 === _.inArray(e, d)) && (i = _.contains(e.ownerDocument, e), f = r(k.appendChild(e), "script"), i && p(f), c)) | |
for (j = 0; e = f[j++];) Ja.test(e.type || "") && c.push(e); | |
return k | |
}, | |
cleanData: function(a) { | |
for (var b, c, d, e, f = _.event.special, g = 0; void 0 !== (c = a[g]); g++) { | |
if (_.acceptData(c) && (e = c[ra.expando], e && (b = ra.cache[e]))) { | |
if (b.events) | |
for (d in b.events) f[d] ? _.event.remove(c, d) : _.removeEvent(c, d, b.handle); | |
ra.cache[e] && delete ra.cache[e] | |
} | |
delete sa.cache[c[sa.expando]] | |
} | |
} | |
}), _.fn.extend({ | |
text: function(a) { | |
return qa(this, function(a) { | |
return void 0 === a ? _.text(this) : this.empty().each(function() { | |
(1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = a) | |
}) | |
}, null, a, arguments.length) | |
}, | |
append: function() { | |
return this.domManip(arguments, function(a) { | |
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { | |
var b = m(this, a); | |
b.appendChild(a) | |
} | |
}) | |
}, | |
prepend: function() { | |
return this.domManip(arguments, function(a) { | |
if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { | |
var b = m(this, a); | |
b.insertBefore(a, b.firstChild) | |
} | |
}) | |
}, | |
before: function() { | |
return this.domManip(arguments, function(a) { | |
this.parentNode && this.parentNode.insertBefore(a, this) | |
}) | |
}, | |
after: function() { | |
return this.domManip(arguments, function(a) { | |
this.parentNode && this.parentNode.insertBefore(a, this.nextSibling) | |
}) | |
}, | |
remove: function(a, b) { | |
for (var c, d = a ? _.filter(a, this) : this, e = 0; null != (c = d[e]); e++) b || 1 !== c.nodeType || _.cleanData(r(c)), c.parentNode && (b && _.contains(c.ownerDocument, c) && p(r(c, "script")), c.parentNode.removeChild(c)); | |
return this | |
}, | |
empty: function() { | |
for (var a, b = 0; null != (a = this[b]); b++) 1 === a.nodeType && (_.cleanData(r(a, !1)), a.textContent = ""); | |
return this | |
}, | |
clone: function(a, b) { | |
return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function() { | |
return _.clone(this, a, b) | |
}) | |
}, | |
html: function(a) { | |
return qa(this, function(a) { | |
var b = this[0] || {}, c = 0, | |
d = this.length; | |
if (void 0 === a && 1 === b.nodeType) return b.innerHTML; | |
if ("string" == typeof a && !Ha.test(a) && !Ma[(Fa.exec(a) || ["", ""])[1].toLowerCase()]) { | |
a = a.replace(Ea, "<$1></$2>"); | |
try { | |
for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (_.cleanData(r(b, !1)), b.innerHTML = a); | |
b = 0 | |
} catch (e) {} | |
} | |
b && this.empty().append(a) | |
}, null, a, arguments.length) | |
}, | |
replaceWith: function() { | |
var a = arguments[0]; | |
return this.domManip(arguments, function(b) { | |
a = this.parentNode, _.cleanData(r(this)), a && a.replaceChild(b, this) | |
}), a && (a.length || a.nodeType) ? this : this.remove() | |
}, | |
detach: function(a) { | |
return this.remove(a, !0) | |
}, | |
domManip: function(a, b) { | |
a = S.apply([], a); | |
var c, d, e, f, g, h, i = 0, | |
j = this.length, | |
k = this, | |
l = j - 1, | |
m = a[0], | |
p = _.isFunction(m); | |
if (p || j > 1 && "string" == typeof m && !Y.checkClone && Ia.test(m)) return this.each(function(c) { | |
var d = k.eq(c); | |
p && (a[0] = m.call(this, c, d.html())), d.domManip(a, b) | |
}); | |
if (j && (c = _.buildFragment(a, this[0].ownerDocument, !1, this), d = c.firstChild, 1 === c.childNodes.length && (c = d), d)) { | |
for (e = _.map(r(c, "script"), n), f = e.length; j > i; i++) g = c, i !== l && (g = _.clone(g, !0, !0), f && _.merge(e, r(g, "script"))), b.call(this[i], g, i); | |
if (f) | |
for (h = e[e.length - 1].ownerDocument, _.map(e, o), i = 0; f > i; i++) g = e[i], Ja.test(g.type || "") && !ra.access(g, "globalEval") && _.contains(h, g) && (g.src ? _._evalUrl && _._evalUrl(g.src) : _.globalEval(g.textContent.replace(La, ""))) | |
} | |
return this | |
} | |
}), _.each({ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith" | |
}, function(a, b) { | |
_.fn[a] = function(a) { | |
for (var c, d = [], e = _(a), f = e.length - 1, g = 0; f >= g; g++) c = g === f ? this : this.clone(!0), _(e[g])[b](c), T.apply(d, c.get()); | |
return this.pushStack(d) | |
} | |
}); | |
var Na, Oa = {}, Pa = /^margin/, | |
Qa = new RegExp("^(" + va + ")(?!px)[a-z%]+$", "i"), | |
Ra = function(b) { | |
return b.ownerDocument.defaultView.opener ? b.ownerDocument.defaultView.getComputedStyle(b, null) : a.getComputedStyle(b, null) | |
}; | |
! function() { | |
function b() { | |
g.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", g.innerHTML = "", e.appendChild(f); | |
var b = a.getComputedStyle(g, null); | |
c = "1%" !== b.top, d = "4px" === b.width, e.removeChild(f) | |
} | |
var c, d, e = Z.documentElement, | |
f = Z.createElement("div"), | |
g = Z.createElement("div"); | |
g.style && (g.style.backgroundClip = "content-box", g.cloneNode(!0).style.backgroundClip = "", Y.clearCloneStyle = "content-box" === g.style.backgroundClip, f.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", f.appendChild(g), a.getComputedStyle && _.extend(Y, { | |
pixelPosition: function() { | |
return b(), c | |
}, | |
boxSizingReliable: function() { | |
return null == d && b(), d | |
}, | |
reliableMarginRight: function() { | |
var b, c = g.appendChild(Z.createElement("div")); | |
return c.style.cssText = g.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", c.style.marginRight = c.style.width = "0", g.style.width = "1px", e.appendChild(f), b = !parseFloat(a.getComputedStyle(c, null).marginRight), e.removeChild(f), g.removeChild(c), b | |
} | |
})) | |
}(), _.swap = function(a, b, c, d) { | |
var e, f, g = {}; | |
for (f in b) g[f] = a.style[f], a.style[f] = b[f]; | |
e = c.apply(a, d || []); | |
for (f in b) a.style[f] = g[f]; | |
return e | |
}; | |
var Sa = /^(none|table(?!-c[ea]).+)/, | |
Ta = new RegExp("^(" + va + ")(.*)$", "i"), | |
Ua = new RegExp("^([+-])=(" + va + ")", "i"), | |
Va = { | |
position: "absolute", | |
visibility: "hidden", | |
display: "block" | |
}, Wa = { | |
letterSpacing: "0", | |
fontWeight: "400" | |
}, Xa = ["Webkit", "O", "Moz", "ms"]; | |
_.extend({ | |
cssHooks: { | |
opacity: { | |
get: function(a, b) { | |
if (b) { | |
var c = v(a, "opacity"); | |
return "" === c ? "1" : c | |
} | |
} | |
} | |
}, | |
cssNumber: { | |
columnCount: !0, | |
fillOpacity: !0, | |
flexGrow: !0, | |
flexShrink: !0, | |
fontWeight: !0, | |
lineHeight: !0, | |
opacity: !0, | |
order: !0, | |
orphans: !0, | |
widows: !0, | |
zIndex: !0, | |
zoom: !0 | |
}, | |
cssProps: { | |
"float": "cssFloat" | |
}, | |
style: function(a, b, c, d) { | |
if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) { | |
var e, f, g, h = _.camelCase(b), | |
i = a.style; | |
return b = _.cssProps[h] || (_.cssProps[h] = x(i, h)), g = _.cssHooks[b] || _.cssHooks[h], void 0 === c ? g && "get" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b] : (f = typeof c, "string" === f && (e = Ua.exec(c)) && (c = (e[1] + 1) * e[2] + parseFloat(_.css(a, b)), f = "number"), null != c && c === c && ("number" !== f || _.cssNumber[h] || (c += "px"), Y.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), g && "set" in g && void 0 === (c = g.set(a, c, d)) || (i[b] = c)), void 0) | |
} | |
}, | |
css: function(a, b, c, d) { | |
var e, f, g, h = _.camelCase(b); | |
return b = _.cssProps[h] || (_.cssProps[h] = x(a.style, h)), g = _.cssHooks[b] || _.cssHooks[h], g && "get" in g && (e = g.get(a, !0, c)), void 0 === e && (e = v(a, b, d)), "normal" === e && b in Wa && (e = Wa[b]), "" === c || c ? (f = parseFloat(e), c === !0 || _.isNumeric(f) ? f || 0 : e) : e | |
} | |
}), _.each(["height", "width"], function(a, b) { | |
_.cssHooks[b] = { | |
get: function(a, c, d) { | |
return c ? Sa.test(_.css(a, "display")) && 0 === a.offsetWidth ? _.swap(a, Va, function() { | |
return A(a, b, d) | |
}) : A(a, b, d) : void 0 | |
}, | |
set: function(a, c, d) { | |
var e = d && Ra(a); | |
return y(a, c, d ? z(a, b, d, "border-box" === _.css(a, "boxSizing", !1, e), e) : 0) | |
} | |
} | |
}), _.cssHooks.marginRight = w(Y.reliableMarginRight, function(a, b) { | |
return b ? _.swap(a, { | |
display: "inline-block" | |
}, v, [a, "marginRight"]) : void 0 | |
}), _.each({ | |
margin: "", | |
padding: "", | |
border: "Width" | |
}, function(a, b) { | |
_.cssHooks[a + b] = { | |
expand: function(c) { | |
for (var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [c]; 4 > d; d++) e[a + wa[d] + b] = f[d] || f[d - 2] || f[0]; | |
return e | |
} | |
}, Pa.test(a) || (_.cssHooks[a + b].set = y) | |
}), _.fn.extend({ | |
css: function(a, b) { | |
return qa(this, function(a, b, c) { | |
var d, e, f = {}, g = 0; | |
if (_.isArray(b)) { | |
for (d = Ra(a), e = b.length; e > g; g++) f[b[g]] = _.css(a, b[g], !1, d); | |
return f | |
} | |
return void 0 !== c ? _.style(a, b, c) : _.css(a, b) | |
}, a, b, arguments.length > 1) | |
}, | |
show: function() { | |
return B(this, !0) | |
}, | |
hide: function() { | |
return B(this) | |
}, | |
toggle: function(a) { | |
return "boolean" == typeof a ? a ? this.show() : this.hide() : this.each(function() { | |
xa(this) ? _(this).show() : _(this).hide() | |
}) | |
} | |
}), _.Tween = C, C.prototype = { | |
constructor: C, | |
init: function(a, b, c, d, e, f) { | |
this.elem = a, this.prop = c, this.easing = e || "swing", this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (_.cssNumber[c] ? "" : "px") | |
}, | |
cur: function() { | |
var a = C.propHooks[this.prop]; | |
return a && a.get ? a.get(this) : C.propHooks._default.get(this) | |
}, | |
run: function(a) { | |
var b, c = C.propHooks[this.prop]; | |
return this.options.duration ? this.pos = b = _.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : C.propHooks._default.set(this), this | |
} | |
}, C.prototype.init.prototype = C.prototype, C.propHooks = { | |
_default: { | |
get: function(a) { | |
var b; | |
return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (b = _.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0) : a.elem[a.prop] | |
}, | |
set: function(a) { | |
_.fx.step[a.prop] ? _.fx.step[a.prop](a) : a.elem.style && (null != a.elem.style[_.cssProps[a.prop]] || _.cssHooks[a.prop]) ? _.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now | |
} | |
} | |
}, C.propHooks.scrollTop = C.propHooks.scrollLeft = { | |
set: function(a) { | |
a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now) | |
} | |
}, _.easing = { | |
linear: function(a) { | |
return a | |
}, | |
swing: function(a) { | |
return .5 - Math.cos(a * Math.PI) / 2 | |
} | |
}, _.fx = C.prototype.init, _.fx.step = {}; | |
var Ya, Za, $a = /^(?:toggle|show|hide)$/, | |
_a = new RegExp("^(?:([+-])=|)(" + va + ")([a-z%]*)$", "i"), | |
ab = /queueHooks$/, | |
bb = [G], | |
cb = { | |
"*": [ | |
function(a, b) { | |
var c = this.createTween(a, b), | |
d = c.cur(), | |
e = _a.exec(b), | |
f = e && e[3] || (_.cssNumber[a] ? "" : "px"), | |
g = (_.cssNumber[a] || "px" !== f && +d) && _a.exec(_.css(c.elem, a)), | |
h = 1, | |
i = 20; | |
if (g && g[3] !== f) { | |
f = f || g[3], e = e || [], g = +d || 1; | |
do h = h || ".5", g /= h, _.style(c.elem, a, g + f); while (h !== (h = c.cur() / d) && 1 !== h && --i) | |
} | |
return e && (g = c.start = +g || +d || 0, c.unit = f, c.end = e[1] ? g + (e[1] + 1) * e[2] : +e[2]), c | |
} | |
] | |
}; | |
_.Animation = _.extend(I, { | |
tweener: function(a, b) { | |
_.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" "); | |
for (var c, d = 0, e = a.length; e > d; d++) c = a[d], cb[c] = cb[c] || [], cb[c].unshift(b) | |
}, | |
prefilter: function(a, b) { | |
b ? bb.unshift(a) : bb.push(a) | |
} | |
}), _.speed = function(a, b, c) { | |
var d = a && "object" == typeof a ? _.extend({}, a) : { | |
complete: c || !c && b || _.isFunction(a) && a, | |
duration: a, | |
easing: c && b || b && !_.isFunction(b) && b | |
}; | |
return d.duration = _.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in _.fx.speeds ? _.fx.speeds[d.duration] : _.fx.speeds._default, (null == d.queue || d.queue === !0) && (d.queue = "fx"), d.old = d.complete, d.complete = function() { | |
_.isFunction(d.old) && d.old.call(this), d.queue && _.dequeue(this, d.queue) | |
}, d | |
}, _.fn.extend({ | |
fadeTo: function(a, b, c, d) { | |
return this.filter(xa).css("opacity", 0).show().end().animate({ | |
opacity: b | |
}, a, c, d) | |
}, | |
animate: function(a, b, c, d) { | |
var e = _.isEmptyObject(a), | |
f = _.speed(b, c, d), | |
g = function() { | |
var b = I(this, _.extend({}, a), f); | |
(e || ra.get(this, "finish")) && b.stop(!0) | |
}; | |
return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g) | |
}, | |
stop: function(a, b, c) { | |
var d = function(a) { | |
var b = a.stop; | |
delete a.stop, b(c) | |
}; | |
return "string" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || "fx", []), this.each(function() { | |
var b = !0, | |
e = null != a && a + "queueHooks", | |
f = _.timers, | |
g = ra.get(this); | |
if (e) g[e] && g[e].stop && d(g[e]); | |
else | |
for (e in g) g[e] && g[e].stop && ab.test(e) && d(g[e]); | |
for (e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1)); | |
(b || !c) && _.dequeue(this, a) | |
}) | |
}, | |
finish: function(a) { | |
return a !== !1 && (a = a || "fx"), this.each(function() { | |
var b, c = ra.get(this), | |
d = c[a + "queue"], | |
e = c[a + "queueHooks"], | |
f = _.timers, | |
g = d ? d.length : 0; | |
for (c.finish = !0, _.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1)); | |
for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this); | |
delete c.finish | |
}) | |
} | |
}), _.each(["toggle", "show", "hide"], function(a, b) { | |
var c = _.fn[b]; | |
_.fn[b] = function(a, d, e) { | |
return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(E(b, !0), a, d, e) | |
} | |
}), _.each({ | |
slideDown: E("show"), | |
slideUp: E("hide"), | |
slideToggle: E("toggle"), | |
fadeIn: { | |
opacity: "show" | |
}, | |
fadeOut: { | |
opacity: "hide" | |
}, | |
fadeToggle: { | |
opacity: "toggle" | |
} | |
}, function(a, b) { | |
_.fn[a] = function(a, c, d) { | |
return this.animate(b, a, c, d) | |
} | |
}), _.timers = [], _.fx.tick = function() { | |
var a, b = 0, | |
c = _.timers; | |
for (Ya = _.now(); b < c.length; b++) a = c[b], a() || c[b] !== a || c.splice(b--, 1); | |
c.length || _.fx.stop(), Ya = void 0 | |
}, _.fx.timer = function(a) { | |
_.timers.push(a), a() ? _.fx.start() : _.timers.pop() | |
}, _.fx.interval = 13, _.fx.start = function() { | |
Za || (Za = setInterval(_.fx.tick, _.fx.interval)) | |
}, _.fx.stop = function() { | |
clearInterval(Za), Za = null | |
}, _.fx.speeds = { | |
slow: 600, | |
fast: 200, | |
_default: 400 | |
}, _.fn.delay = function(a, b) { | |
return a = _.fx ? _.fx.speeds[a] || a : a, b = b || "fx", this.queue(b, function(b, c) { | |
var d = setTimeout(b, a); | |
c.stop = function() { | |
clearTimeout(d) | |
} | |
}) | |
}, | |
function() { | |
var a = Z.createElement("input"), | |
b = Z.createElement("select"), | |
c = b.appendChild(Z.createElement("option")); | |
a.type = "checkbox", Y.checkOn = "" !== a.value, Y.optSelected = c.selected, b.disabled = !0, Y.optDisabled = !c.disabled, a = Z.createElement("input"), a.value = "t", a.type = "radio", Y.radioValue = "t" === a.value | |
}(); | |
var db, eb, fb = _.expr.attrHandle; | |
_.fn.extend({ | |
attr: function(a, b) { | |
return qa(this, _.attr, a, b, arguments.length > 1) | |
}, | |
removeAttr: function(a) { | |
return this.each(function() { | |
_.removeAttr(this, a) | |
}) | |
} | |
}), _.extend({ | |
attr: function(a, b, c) { | |
var d, e, f = a.nodeType; | |
if (a && 3 !== f && 8 !== f && 2 !== f) return typeof a.getAttribute === za ? _.prop(a, b, c) : (1 === f && _.isXMLDoc(a) || (b = b.toLowerCase(), d = _.attrHooks[b] || (_.expr.match.bool.test(b) ? eb : db)), void 0 === c ? d && "get" in d && null !== (e = d.get(a, b)) ? e : (e = _.find.attr(a, b), null == e ? void 0 : e) : null !== c ? d && "set" in d && void 0 !== (e = d.set(a, c, b)) ? e : (a.setAttribute(b, c + ""), c) : void _.removeAttr(a, b)) | |
}, | |
removeAttr: function(a, b) { | |
var c, d, e = 0, | |
f = b && b.match(na); | |
if (f && 1 === a.nodeType) | |
for (; c = f[e++];) d = _.propFix[c] || c, _.expr.match.bool.test(c) && (a[d] = !1), a.removeAttribute(c) | |
}, | |
attrHooks: { | |
type: { | |
set: function(a, b) { | |
if (!Y.radioValue && "radio" === b && _.nodeName(a, "input")) { | |
var c = a.value; | |
return a.setAttribute("type", b), c && (a.value = c), b | |
} | |
} | |
} | |
} | |
}), eb = { | |
set: function(a, b, c) { | |
return b === !1 ? _.removeAttr(a, c) : a.setAttribute(c, c), c | |
} | |
}, _.each(_.expr.match.bool.source.match(/\w+/g), function(a, b) { | |
var c = fb[b] || _.find.attr; | |
fb[b] = function(a, b, d) { | |
var e, f; | |
return d || (f = fb[b], fb[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, fb[b] = f), e | |
} | |
}); | |
var gb = /^(?:input|select|textarea|button)$/i; | |
_.fn.extend({ | |
prop: function(a, b) { | |
return qa(this, _.prop, a, b, arguments.length > 1) | |
}, | |
removeProp: function(a) { | |
return this.each(function() { | |
delete this[_.propFix[a] || a] | |
}) | |
} | |
}), _.extend({ | |
propFix: { | |
"for": "htmlFor", | |
"class": "className" | |
}, | |
prop: function(a, b, c) { | |
var d, e, f, g = a.nodeType; | |
if (a && 3 !== g && 8 !== g && 2 !== g) return f = 1 !== g || !_.isXMLDoc(a), f && (b = _.propFix[b] || b, e = _.propHooks[b]), void 0 !== c ? e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && "get" in e && null !== (d = e.get(a, b)) ? d : a[b] | |
}, | |
propHooks: { | |
tabIndex: { | |
get: function(a) { | |
return a.hasAttribute("tabindex") || gb.test(a.nodeName) || a.href ? a.tabIndex : -1 | |
} | |
} | |
} | |
}), Y.optSelected || (_.propHooks.selected = { | |
get: function(a) { | |
var b = a.parentNode; | |
return b && b.parentNode && b.parentNode.selectedIndex, null | |
} | |
}), _.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { | |
_.propFix[this.toLowerCase()] = this | |
}); | |
var hb = /[\t\r\n\f]/g; | |
_.fn.extend({ | |
addClass: function(a) { | |
var b, c, d, e, f, g, h = "string" == typeof a && a, | |
i = 0, | |
j = this.length; | |
if (_.isFunction(a)) return this.each(function(b) { | |
_(this).addClass(a.call(this, b, this.className)) | |
}); | |
if (h) | |
for (b = (a || "").match(na) || []; j > i; i++) | |
if (c = this[i], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(hb, " ") : " ")) { | |
for (f = 0; e = b[f++];) d.indexOf(" " + e + " ") < 0 && (d += e + " "); | |
g = _.trim(d), c.className !== g && (c.className = g) | |
} | |
return this | |
}, | |
removeClass: function(a) { | |
var b, c, d, e, f, g, h = 0 === arguments.length || "string" == typeof a && a, | |
i = 0, | |
j = this.length; | |
if (_.isFunction(a)) return this.each(function(b) { | |
_(this).removeClass(a.call(this, b, this.className)) | |
}); | |
if (h) | |
for (b = (a || "").match(na) || []; j > i; i++) | |
if (c = this[i], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(hb, " ") : "")) { | |
for (f = 0; e = b[f++];) | |
for (; d.indexOf(" " + e + " ") >= 0;) d = d.replace(" " + e + " ", " "); | |
g = a ? _.trim(d) : "", c.className !== g && (c.className = g) | |
} | |
return this | |
}, | |
toggleClass: function(a, b) { | |
var c = typeof a; | |
return "boolean" == typeof b && "string" === c ? b ? this.addClass(a) : this.removeClass(a) : _.isFunction(a) ? this.each(function(c) { | |
_(this).toggleClass(a.call(this, c, this.className, b), b) | |
}) : this.each(function() { | |
if ("string" === c) | |
for (var b, d = 0, e = _(this), f = a.match(na) || []; b = f[d++];) e.hasClass(b) ? e.removeClass(b) : e.addClass(b); | |
else(c === za || "boolean" === c) && (this.className && ra.set(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : ra.get(this, "__className__") || "") | |
}) | |
}, | |
hasClass: function(a) { | |
for (var b = " " + a + " ", c = 0, d = this.length; d > c; c++) | |
if (1 === this[c].nodeType && (" " + this[c].className + " ").replace(hb, " ").indexOf(b) >= 0) return !0; | |
return !1 | |
} | |
}); | |
var ib = /\r/g; | |
_.fn.extend({ | |
val: function(a) { | |
var b, c, d, e = this[0]; { | |
if (arguments.length) return d = _.isFunction(a), this.each(function(c) { | |
var e; | |
1 === this.nodeType && (e = d ? a.call(this, c, _(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : _.isArray(e) && (e = _.map(e, function(a) { | |
return null == a ? "" : a + "" | |
})), b = _.valHooks[this.type] || _.valHooks[this.nodeName.toLowerCase()], b && "set" in b && void 0 !== b.set(this, e, "value") || (this.value = e)) | |
}); | |
if (e) return b = _.valHooks[e.type] || _.valHooks[e.nodeName.toLowerCase()], b && "get" in b && void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(ib, "") : null == c ? "" : c) | |
} | |
} | |
}), _.extend({ | |
valHooks: { | |
option: { | |
get: function(a) { | |
var b = _.find.attr(a, "value"); | |
return null != b ? b : _.trim(_.text(a)) | |
} | |
}, | |
select: { | |
get: function(a) { | |
for (var b, c, d = a.options, e = a.selectedIndex, f = "select-one" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++) | |
if (c = d[i], !(!c.selected && i !== e || (Y.optDisabled ? c.disabled : null !== c.getAttribute("disabled")) || c.parentNode.disabled && _.nodeName(c.parentNode, "optgroup"))) { | |
if (b = _(c).val(), f) return b; | |
g.push(b) | |
} | |
return g | |
}, | |
set: function(a, b) { | |
for (var c, d, e = a.options, f = _.makeArray(b), g = e.length; g--;) d = e[g], (d.selected = _.inArray(d.value, f) >= 0) && (c = !0); | |
return c || (a.selectedIndex = -1), f | |
} | |
} | |
} | |
}), _.each(["radio", "checkbox"], function() { | |
_.valHooks[this] = { | |
set: function(a, b) { | |
return _.isArray(b) ? a.checked = _.inArray(_(a).val(), b) >= 0 : void 0 | |
} | |
}, Y.checkOn || (_.valHooks[this].get = function(a) { | |
return null === a.getAttribute("value") ? "on" : a.value | |
}) | |
}), _.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) { | |
_.fn[b] = function(a, c) { | |
return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) | |
} | |
}), _.fn.extend({ | |
hover: function(a, b) { | |
return this.mouseenter(a).mouseleave(b || a) | |
}, | |
bind: function(a, b, c) { | |
return this.on(a, null, b, c) | |
}, | |
unbind: function(a, b) { | |
return this.off(a, null, b) | |
}, | |
delegate: function(a, b, c, d) { | |
return this.on(b, a, c, d) | |
}, | |
undelegate: function(a, b, c) { | |
return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c) | |
} | |
}); | |
var jb = _.now(), | |
kb = /\?/; | |
_.parseJSON = function(a) { | |
return JSON.parse(a + "") | |
}, _.parseXML = function(a) { | |
var b, c; | |
if (!a || "string" != typeof a) return null; | |
try { | |
c = new DOMParser, b = c.parseFromString(a, "text/xml") | |
} catch (d) { | |
b = void 0 | |
} | |
return (!b || b.getElementsByTagName("parsererror").length) && _.error("Invalid XML: " + a), b | |
}; | |
var lb = /#.*$/, | |
mb = /([?&])_=[^&]*/, | |
nb = /^(.*?):[ \t]*([^\r\n]*)$/gm, | |
ob = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, | |
pb = /^(?:GET|HEAD)$/, | |
qb = /^\/\//, | |
rb = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, | |
sb = {}, tb = {}, ub = "*/".concat("*"), | |
vb = a.location.href, | |
wb = rb.exec(vb.toLowerCase()) || []; | |
_.extend({ | |
active: 0, | |
lastModified: {}, | |
etag: {}, | |
ajaxSettings: { | |
url: vb, | |
type: "GET", | |
isLocal: ob.test(wb[1]), | |
global: !0, | |
processData: !0, | |
async: !0, | |
contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
accepts: { | |
"*": ub, | |
text: "text/plain", | |
html: "text/html", | |
xml: "application/xml, text/xml", | |
json: "application/json, text/javascript" | |
}, | |
contents: { | |
xml: /xml/, | |
html: /html/, | |
json: /json/ | |
}, | |
responseFields: { | |
xml: "responseXML", | |
text: "responseText", | |
json: "responseJSON" | |
}, | |
converters: { | |
"* text": String, | |
"text html": !0, | |
"text json": _.parseJSON, | |
"text xml": _.parseXML | |
}, | |
flatOptions: { | |
url: !0, | |
context: !0 | |
} | |
}, | |
ajaxSetup: function(a, b) { | |
return b ? L(L(a, _.ajaxSettings), b) : L(_.ajaxSettings, a) | |
}, | |
ajaxPrefilter: J(sb), | |
ajaxTransport: J(tb), | |
ajax: function(a, b) { | |
function c(a, b, c, g) { | |
var i, k, r, s, u, w = b; | |
2 !== t && (t = 2, h && clearTimeout(h), d = void 0, f = g || "", v.readyState = a > 0 ? 4 : 0, i = a >= 200 && 300 > a || 304 === a, c && (s = M(l, v, c)), s = N(l, s, v, i), i ? (l.ifModified && (u = v.getResponseHeader("Last-Modified"), u && (_.lastModified[e] = u), u = v.getResponseHeader("etag"), u && (_.etag[e] = u)), 204 === a || "HEAD" === l.type ? w = "nocontent" : 304 === a ? w = "notmodified" : (w = s.state, k = s.data, r = s.error, i = !r)) : (r = w, (a || !w) && (w = "error", 0 > a && (a = 0))), v.status = a, v.statusText = (b || w) + "", i ? o.resolveWith(m, [k, w, v]) : o.rejectWith(m, [v, w, r]), v.statusCode(q), q = void 0, j && n.trigger(i ? "ajaxSuccess" : "ajaxError", [v, l, i ? k : r]), p.fireWith(m, [v, w]), j && (n.trigger("ajaxComplete", [v, l]), --_.active || _.event.trigger("ajaxStop"))) | |
} | |
"object" == typeof a && (b = a, a = void 0), b = b || {}; | |
var d, e, f, g, h, i, j, k, l = _.ajaxSetup({}, b), | |
m = l.context || l, | |
n = l.context && (m.nodeType || m.jquery) ? _(m) : _.event, | |
o = _.Deferred(), | |
p = _.Callbacks("once memory"), | |
q = l.statusCode || {}, r = {}, s = {}, t = 0, | |
u = "canceled", | |
v = { | |
readyState: 0, | |
getResponseHeader: function(a) { | |
var b; | |
if (2 === t) { | |
if (!g) | |
for (g = {}; b = nb.exec(f);) g[b[1].toLowerCase()] = b[2]; | |
b = g[a.toLowerCase()] | |
} | |
return null == b ? null : b | |
}, | |
getAllResponseHeaders: function() { | |
return 2 === t ? f : null | |
}, | |
setRequestHeader: function(a, b) { | |
var c = a.toLowerCase(); | |
return t || (a = s[c] = s[c] || a, r[a] = b), this | |
}, | |
overrideMimeType: function(a) { | |
return t || (l.mimeType = a), this | |
}, | |
statusCode: function(a) { | |
var b; | |
if (a) | |
if (2 > t) | |
for (b in a) q[b] = [q[b], a[b]]; | |
else v.always(a[v.status]); | |
return this | |
}, | |
abort: function(a) { | |
var b = a || u; | |
return d && d.abort(b), c(0, b), this | |
} | |
}; | |
if (o.promise(v).complete = p.add, v.success = v.done, v.error = v.fail, l.url = ((a || l.url || vb) + "").replace(lb, "").replace(qb, wb[1] + "//"), l.type = b.method || b.type || l.method || l.type, l.dataTypes = _.trim(l.dataType || "*").toLowerCase().match(na) || [""], null == l.crossDomain && (i = rb.exec(l.url.toLowerCase()), l.crossDomain = !(!i || i[1] === wb[1] && i[2] === wb[2] && (i[3] || ("http:" === i[1] ? "80" : "443")) === (wb[3] || ("http:" === wb[1] ? "80" : "443")))), l.data && l.processData && "string" != typeof l.data && (l.data = _.param(l.data, l.traditional)), K(sb, l, b, v), 2 === t) return v; | |
j = _.event && l.global, j && 0 === _.active++ && _.event.trigger("ajaxStart"), l.type = l.type.toUpperCase(), l.hasContent = !pb.test(l.type), e = l.url, l.hasContent || (l.data && (e = l.url += (kb.test(e) ? "&" : "?") + l.data, delete l.data), l.cache === !1 && (l.url = mb.test(e) ? e.replace(mb, "$1_=" + jb++) : e + (kb.test(e) ? "&" : "?") + "_=" + jb++)), l.ifModified && (_.lastModified[e] && v.setRequestHeader("If-Modified-Since", _.lastModified[e]), _.etag[e] && v.setRequestHeader("If-None-Match", _.etag[e])), (l.data && l.hasContent && l.contentType !== !1 || b.contentType) && v.setRequestHeader("Content-Type", l.contentType), v.setRequestHeader("Accept", l.dataTypes[0] && l.accepts[l.dataTypes[0]] ? l.accepts[l.dataTypes[0]] + ("*" !== l.dataTypes[0] ? ", " + ub + "; q=0.01" : "") : l.accepts["*"]); | |
for (k in l.headers) v.setRequestHeader(k, l.headers[k]); | |
if (l.beforeSend && (l.beforeSend.call(m, v, l) === !1 || 2 === t)) return v.abort(); | |
u = "abort"; | |
for (k in { | |
success: 1, | |
error: 1, | |
complete: 1 | |
}) v[k](l[k]); | |
if (d = K(tb, l, b, v)) { | |
v.readyState = 1, j && n.trigger("ajaxSend", [v, l]), l.async && l.timeout > 0 && (h = setTimeout(function() { | |
v.abort("timeout") | |
}, l.timeout)); | |
try { | |
t = 1, d.send(r, c) | |
} catch (w) { | |
if (!(2 > t)) throw w; | |
c(-1, w) | |
} | |
} else c(-1, "No Transport"); | |
return v | |
}, | |
getJSON: function(a, b, c) { | |
return _.get(a, b, c, "json") | |
}, | |
getScript: function(a, b) { | |
return _.get(a, void 0, b, "script") | |
} | |
}), _.each(["get", "post"], function(a, b) { | |
_[b] = function(a, c, d, e) { | |
return _.isFunction(c) && (e = e || d, d = c, c = void 0), _.ajax({ | |
url: a, | |
type: b, | |
dataType: e, | |
data: c, | |
success: d | |
}) | |
} | |
}), _._evalUrl = function(a) { | |
return _.ajax({ | |
url: a, | |
type: "GET", | |
dataType: "script", | |
async: !1, | |
global: !1, | |
"throws": !0 | |
}) | |
}, _.fn.extend({ | |
wrapAll: function(a) { | |
var b; | |
return _.isFunction(a) ? this.each(function(b) { | |
_(this).wrapAll(a.call(this, b)) | |
}) : (this[0] && (b = _(a, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && b.insertBefore(this[0]), b.map(function() { | |
for (var a = this; a.firstElementChild;) a = a.firstElementChild; | |
return a | |
}).append(this)), this) | |
}, | |
wrapInner: function(a) { | |
return _.isFunction(a) ? this.each(function(b) { | |
_(this).wrapInner(a.call(this, b)) | |
}) : this.each(function() { | |
var b = _(this), | |
c = b.contents(); | |
c.length ? c.wrapAll(a) : b.append(a) | |
}) | |
}, | |
wrap: function(a) { | |
var b = _.isFunction(a); | |
return this.each(function(c) { | |
_(this).wrapAll(b ? a.call(this, c) : a) | |
}) | |
}, | |
unwrap: function() { | |
return this.parent().each(function() { | |
_.nodeName(this, "body") || _(this).replaceWith(this.childNodes) | |
}).end() | |
} | |
}), _.expr.filters.hidden = function(a) { | |
return a.offsetWidth <= 0 && a.offsetHeight <= 0 | |
}, _.expr.filters.visible = function(a) { | |
return !_.expr.filters.hidden(a) | |
}; | |
var xb = /%20/g, | |
yb = /\[\]$/, | |
zb = /\r?\n/g, | |
Ab = /^(?:submit|button|image|reset|file)$/i, | |
Bb = /^(?:input|select|textarea|keygen)/i; | |
_.param = function(a, b) { | |
var c, d = [], | |
e = function(a, b) { | |
b = _.isFunction(b) ? b() : null == b ? "" : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) | |
}; | |
if (void 0 === b && (b = _.ajaxSettings && _.ajaxSettings.traditional), _.isArray(a) || a.jquery && !_.isPlainObject(a)) _.each(a, function() { | |
e(this.name, this.value) | |
}); | |
else | |
for (c in a) O(c, a[c], b, e); | |
return d.join("&").replace(xb, "+") | |
}, _.fn.extend({ | |
serialize: function() { | |
return _.param(this.serializeArray()) | |
}, | |
serializeArray: function() { | |
return this.map(function() { | |
var a = _.prop(this, "elements"); | |
return a ? _.makeArray(a) : this | |
}).filter(function() { | |
var a = this.type; | |
return this.name && !_(this).is(":disabled") && Bb.test(this.nodeName) && !Ab.test(a) && (this.checked || !ya.test(a)) | |
}).map(function(a, b) { | |
var c = _(this).val(); | |
return null == c ? null : _.isArray(c) ? _.map(c, function(a) { | |
return { | |
name: b.name, | |
value: a.replace(zb, "\r\n") | |
} | |
}) : { | |
name: b.name, | |
value: c.replace(zb, "\r\n") | |
} | |
}).get() | |
} | |
}), _.ajaxSettings.xhr = function() { | |
try { | |
return new XMLHttpRequest | |
} catch (a) {} | |
}; | |
var Cb = 0, | |
Db = {}, Eb = { | |
0: 200, | |
1223: 204 | |
}, Fb = _.ajaxSettings.xhr(); | |
a.attachEvent && a.attachEvent("onunload", function() { | |
for (var a in Db) Db[a]() | |
}), Y.cors = !! Fb && "withCredentials" in Fb, Y.ajax = Fb = !! Fb, _.ajaxTransport(function(a) { | |
var b; | |
return Y.cors || Fb && !a.crossDomain ? { | |
send: function(c, d) { | |
var e, f = a.xhr(), | |
g = ++Cb; | |
if (f.open(a.type, a.url, a.async, a.username, a.password), a.xhrFields) | |
for (e in a.xhrFields) f[e] = a.xhrFields[e]; | |
a.mimeType && f.overrideMimeType && f.overrideMimeType(a.mimeType), a.crossDomain || c["X-Requested-With"] || (c["X-Requested-With"] = "XMLHttpRequest"); | |
for (e in c) f.setRequestHeader(e, c[e]); | |
b = function(a) { | |
return function() { | |
b && (delete Db[g], b = f.onload = f.onerror = null, "abort" === a ? f.abort() : "error" === a ? d(f.status, f.statusText) : d(Eb[f.status] || f.status, f.statusText, "string" == typeof f.responseText ? { | |
text: f.responseText | |
} : void 0, f.getAllResponseHeaders())) | |
} | |
}, f.onload = b(), f.onerror = b("error"), b = Db[g] = b("abort"); | |
try { | |
f.send(a.hasContent && a.data || null) | |
} catch (h) { | |
if (b) throw h | |
} | |
}, | |
abort: function() { | |
b && b() | |
} | |
} : void 0 | |
}), _.ajaxSetup({ | |
accepts: { | |
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" | |
}, | |
contents: { | |
script: /(?:java|ecma)script/ | |
}, | |
converters: { | |
"text script": function(a) { | |
return _.globalEval(a), a | |
} | |
} | |
}), _.ajaxPrefilter("script", function(a) { | |
void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = "GET") | |
}), _.ajaxTransport("script", function(a) { | |
if (a.crossDomain) { | |
var b, c; | |
return { | |
send: function(d, e) { | |
b = _("<script>").prop({ | |
async: !0, | |
charset: a.scriptCharset, | |
src: a.url | |
}).on("load error", c = function(a) { | |
b.remove(), c = null, a && e("error" === a.type ? 404 : 200, a.type) | |
}), Z.head.appendChild(b[0]) | |
}, | |
abort: function() { | |
c && c() | |
} | |
} | |
} | |
}); | |
var Gb = [], | |
Hb = /(=)\?(?=&|$)|\?\?/; | |
_.ajaxSetup({ | |
jsonp: "callback", | |
jsonpCallback: function() { | |
var a = Gb.pop() || _.expando + "_" + jb++; | |
return this[a] = !0, a | |
} | |
}), _.ajaxPrefilter("json jsonp", function(b, c, d) { | |
var e, f, g, h = b.jsonp !== !1 && (Hb.test(b.url) ? "url" : "string" == typeof b.data && !(b.contentType || "").indexOf("application/x-www-form-urlencoded") && Hb.test(b.data) && "data"); | |
return h || "jsonp" === b.dataTypes[0] ? (e = b.jsonpCallback = _.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(Hb, "$1" + e) : b.jsonp !== !1 && (b.url += (kb.test(b.url) ? "&" : "?") + b.jsonp + "=" + e), b.converters["script json"] = function() { | |
return g || _.error(e + " was not called"), g[0] | |
}, b.dataTypes[0] = "json", f = a[e], a[e] = function() { | |
g = arguments | |
}, d.always(function() { | |
a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, Gb.push(e)), g && _.isFunction(f) && f(g[0]), g = f = void 0 | |
}), "script") : void 0 | |
}), _.parseHTML = function(a, b, c) { | |
if (!a || "string" != typeof a) return null; | |
"boolean" == typeof b && (c = b, b = !1), b = b || Z; | |
var d = ga.exec(a), | |
e = !c && []; | |
return d ? [b.createElement(d[1])] : (d = _.buildFragment([a], b, e), e && e.length && _(e).remove(), _.merge([], d.childNodes)) | |
}; | |
var Ib = _.fn.load; | |
_.fn.load = function(a, b, c) { | |
if ("string" != typeof a && Ib) return Ib.apply(this, arguments); | |
var d, e, f, g = this, | |
h = a.indexOf(" "); | |
return h >= 0 && (d = _.trim(a.slice(h)), a = a.slice(0, h)), _.isFunction(b) ? (c = b, b = void 0) : b && "object" == typeof b && (e = "POST"), g.length > 0 && _.ajax({ | |
url: a, | |
type: e, | |
dataType: "html", | |
data: b | |
}).done(function(a) { | |
f = arguments, g.html(d ? _("<div>").append(_.parseHTML(a)).find(d) : a) | |
}).complete(c && function(a, b) { | |
g.each(c, f || [a.responseText, b, a]) | |
}), this | |
}, _.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(a, b) { | |
_.fn[b] = function(a) { | |
return this.on(b, a) | |
} | |
}), _.expr.filters.animated = function(a) { | |
return _.grep(_.timers, function(b) { | |
return a === b.elem | |
}).length | |
}; | |
var Jb = a.document.documentElement; | |
_.offset = { | |
setOffset: function(a, b, c) { | |
var d, e, f, g, h, i, j, k = _.css(a, "position"), | |
l = _(a), | |
m = {}; | |
"static" === k && (a.style.position = "relative"), h = l.offset(), f = _.css(a, "top"), i = _.css(a, "left"), j = ("absolute" === k || "fixed" === k) && (f + i).indexOf("auto") > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), _.isFunction(b) && (b = b.call(a, c, h)), null != b.top && (m.top = b.top - h.top + g), null != b.left && (m.left = b.left - h.left + e), "using" in b ? b.using.call(a, m) : l.css(m) | |
} | |
}, _.fn.extend({ | |
offset: function(a) { | |
if (arguments.length) return void 0 === a ? this : this.each(function(b) { | |
_.offset.setOffset(this, a, b) | |
}); | |
var b, c, d = this[0], | |
e = { | |
top: 0, | |
left: 0 | |
}, f = d && d.ownerDocument; | |
if (f) return b = f.documentElement, _.contains(b, d) ? (typeof d.getBoundingClientRect !== za && (e = d.getBoundingClientRect()), c = P(f), { | |
top: e.top + c.pageYOffset - b.clientTop, | |
left: e.left + c.pageXOffset - b.clientLeft | |
}) : e | |
}, | |
position: function() { | |
if (this[0]) { | |
var a, b, c = this[0], | |
d = { | |
top: 0, | |
left: 0 | |
}; | |
return "fixed" === _.css(c, "position") ? b = c.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), _.nodeName(a[0], "html") || (d = a.offset()), d.top += _.css(a[0], "borderTopWidth", !0), d.left += _.css(a[0], "borderLeftWidth", !0)), { | |
top: b.top - d.top - _.css(c, "marginTop", !0), | |
left: b.left - d.left - _.css(c, "marginLeft", !0) | |
} | |
} | |
}, | |
offsetParent: function() { | |
return this.map(function() { | |
for (var a = this.offsetParent || Jb; a && !_.nodeName(a, "html") && "static" === _.css(a, "position");) a = a.offsetParent; | |
return a || Jb | |
}) | |
} | |
}), _.each({ | |
scrollLeft: "pageXOffset", | |
scrollTop: "pageYOffset" | |
}, function(b, c) { | |
var d = "pageYOffset" === c; | |
_.fn[b] = function(e) { | |
return qa(this, function(b, e, f) { | |
var g = P(b); | |
return void 0 === f ? g ? g[c] : b[e] : void(g ? g.scrollTo(d ? a.pageXOffset : f, d ? f : a.pageYOffset) : b[e] = f) | |
}, b, e, arguments.length, null) | |
} | |
}), _.each(["top", "left"], function(a, b) { | |
_.cssHooks[b] = w(Y.pixelPosition, function(a, c) { | |
return c ? (c = v(a, b), Qa.test(c) ? _(a).position()[b] + "px" : c) : void 0 | |
}) | |
}), _.each({ | |
Height: "height", | |
Width: "width" | |
}, function(a, b) { | |
_.each({ | |
padding: "inner" + a, | |
content: b, | |
"": "outer" + a | |
}, function(c, d) { | |
_.fn[d] = function(d, e) { | |
var f = arguments.length && (c || "boolean" != typeof d), | |
g = c || (d === !0 || e === !0 ? "margin" : "border"); | |
return qa(this, function(b, c, d) { | |
var e; | |
return _.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body["scroll" + a], e["scroll" + a], b.body["offset" + a], e["offset" + a], e["client" + a])) : void 0 === d ? _.css(b, c, g) : _.style(b, c, d, g) | |
}, b, f ? d : void 0, f, null) | |
} | |
}) | |
}), _.fn.size = function() { | |
return this.length | |
}, _.fn.andSelf = _.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() { | |
return _ | |
}); | |
var Kb = a.jQuery, | |
Lb = a.$; | |
return _.noConflict = function(b) { | |
return a.$ === _ && (a.$ = Lb), b && a.jQuery === _ && (a.jQuery = Kb), _ | |
}, typeof b === za && (a.jQuery = a.$ = _), _ | |
}) | |
}, {} | |
], | |
54: [ | |
function(a, b, c) { | |
! function(d) { | |
var e; | |
if ("function" == typeof define && define.amd) define(["jquery"], d); | |
else if ("object" == typeof c) { | |
try { | |
e = a("jquery") | |
} catch (f) {} | |
b.exports = d(e) | |
} else { | |
var g = window.Cookies, | |
h = window.Cookies = d(window.jQuery); | |
h.noConflict = function() { | |
return window.Cookies = g, h | |
} | |
} | |
}(function(a) { | |
function b(a) { | |
return j.raw ? a : encodeURIComponent(a) | |
} | |
function c(a) { | |
return j.raw ? a : decodeURIComponent(a) | |
} | |
function d(a) { | |
return b(j.json ? JSON.stringify(a) : String(a)) | |
} | |
function e(a) { | |
0 === a.indexOf('"') && (a = a.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")); | |
try { | |
return a = decodeURIComponent(a.replace(i, " ")), j.json ? JSON.parse(a) : a | |
} catch (b) {} | |
} | |
function f(a, b) { | |
var c = j.raw ? a : e(a); | |
return h(b) ? b(c) : c | |
} | |
function g() { | |
for (var a, b, c = 0, d = {}; c < arguments.length; c++) { | |
b = arguments[c]; | |
for (a in b) d[a] = b[a] | |
} | |
return d | |
} | |
function h(a) { | |
return "[object Function]" === Object.prototype.toString.call(a) | |
} | |
var i = /\+/g, | |
j = function(a, e, i) { | |
if (arguments.length > 1 && !h(e)) { | |
if (i = g(j.defaults, i), "number" == typeof i.expires) { | |
var k = i.expires, | |
l = i.expires = new Date; | |
l.setMilliseconds(l.getMilliseconds() + 864e5 * k) | |
} | |
return document.cookie = [b(a), "=", d(e), i.expires ? "; expires=" + i.expires.toUTCString() : "", i.path ? "; path=" + i.path : "", i.domain ? "; domain=" + i.domain : "", i.secure ? "; secure" : ""].join("") | |
} | |
for (var m = a ? void 0 : {}, n = document.cookie ? document.cookie.split("; ") : [], o = 0, p = n.length; p > o; o++) { | |
var q = n[o].split("="), | |
r = c(q.shift()), | |
s = q.join("="); | |
if (a === r) { | |
m = f(s, e); | |
break | |
} | |
a || void 0 === (s = f(s)) || (m[r] = s) | |
} | |
return m | |
}; | |
return j.get = j.set = j, j.defaults = {}, j.remove = function(a, b) { | |
return j(a, "", g(b, { | |
expires: -1 | |
})), !j(a) | |
}, a && (a.cookie = j, a.removeCookie = j.remove), j | |
}) | |
}, { | |
jquery: 53 | |
} | |
], | |
55: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = a("underscore"), | |
f = (a("jquery"), a("resource-manager-js")), | |
g = function(a) { | |
this.initialize(a) | |
}, h = function(a, b) { | |
var c, d = this; | |
c = a && e.has(a, "constructor") ? a.constructor : function() { | |
return d.apply(this, arguments) | |
}, e.extend(c, d, b); | |
var f = function() { | |
this.constructor = c | |
}; | |
return f.prototype = d.prototype, c.prototype = new f, a && e.extend(c.prototype, a), c.__super__ = d.prototype, c | |
}; | |
g.extend = h, g.prototype = { | |
initialize: function(a) { | |
this.options = e.extend({}, { | |
el: null, | |
loadedClass: "module-loaded", | |
activeClass: "module-active", | |
disabledClass: "module-disabled", | |
errorClass: "module-error" | |
}, a), this._handleElementInitialState(), this.subModules = {}, this.active = !1, this.loaded = !1 | |
}, | |
onLoad: function(a) { | |
return d.resolve() | |
}, | |
onShow: function() { | |
return d.resolve() | |
}, | |
onHide: function() { | |
return d.resolve() | |
}, | |
onEnable: function() { | |
return d.resolve() | |
}, | |
onDisable: function() { | |
return d.resolve() | |
}, | |
onError: function(a) { | |
return d.resolve(a) | |
}, | |
load: function(a) { | |
var b = e.values(this.subModules); | |
return a && (this.options.el = this.options.el || a.el), this.loaded ? d.resolve() : d.all(e.invoke(b, "load")).then(function() { | |
return this._ensurePromise(this.onLoad(a)).then(function() { | |
this.loaded = !0, this.options.el && this.options.el.classList.add(this.options.loadedClass) | |
}.bind(this))["catch"](function(a) { | |
return this.error(a), a | |
}.bind(this)) | |
}.bind(this)) | |
}, | |
error: function(a) { | |
var b = this.options.el, | |
c = a || new Error, | |
d = c.message || ""; | |
return b && b.classList.add(this.options.errorClass), this.error = !0, this.loaded = !1, console.warn("MODULE ERROR! " + d), c.stack && console.log(c.stack), this._ensurePromise(this.onError(c)).then(function(a) { | |
return a || c | |
}) | |
}, | |
enable: function() { | |
var a = this.options.el; | |
return a && a.classList.remove(this.options.disabledClass), this.disabled = !1, this._ensurePromise(this.onEnable()) | |
}, | |
disable: function() { | |
var a = this.options.el; | |
return a && a.classList.add(this.options.disabledClass), this.disabled = !0, this._ensurePromise(this.onDisable()) | |
}, | |
show: function() { | |
var a = this.options.el; | |
return a && a.classList.add(this.options.activeClass), this.active = !0, this._ensurePromise(this.onShow()) | |
}, | |
hide: function() { | |
var a = this.options.el; | |
return a && a.classList.remove(this.options.activeClass), this.active = !1, this._ensurePromise(this.onHide()) | |
}, | |
_handleElementInitialState: function() { | |
var a = this.options.el; | |
a && (a.classList.contains(this.options.disabledClass) && (this._origDisabled = !0, this.disable()), a.classList.contains(this.options.errorClass) && (this._origError = !0, this.error(new Error))) | |
}, | |
_resetElementInitialState: function() { | |
var a = this.options, | |
b = a.el, | |
c = a.disabledClass, | |
d = a.errorClass; | |
b && (this._origDisabled ? b.classList.add(c) : b.classList.remove(c), this._origError ? b.classList.add(d) : b.classList.remove(d)) | |
}, | |
_ensurePromise: function(a) { | |
return a && a.then || (a = d.resolve()), a | |
}, | |
fetchData: function(a, b) { | |
return f.fetchData(a, b) | |
}, | |
getStyles: function(a) { | |
return f.loadCss(a) | |
}, | |
getTemplate: function(a) { | |
return f.loadTemplate(a) | |
}, | |
serializeData: function(a) { | |
return a | |
}, | |
destroy: function() { | |
var a = this.subModules; | |
for (var b in a) a.hasOwnProperty(b) && a[b] && a[b].destroy(); | |
this.subModules = {}, this.active = !1, this.loaded = !1, this._resetElementInitialState() | |
} | |
}, b.exports = g | |
}, { | |
jquery: 53, | |
promise: 57, | |
"resource-manager-js": 70, | |
underscore: 73 | |
} | |
], | |
56: [ | |
function(a, b, c) { | |
! function(a, d) { | |
"object" == typeof c && "undefined" != typeof b ? b.exports = d() : "function" == typeof define && define.amd ? define(d) : a.moment = d() | |
}(this, function() { | |
"use strict"; | |
function c() { | |
return Fc.apply(null, arguments) | |
} | |
function d(a) { | |
Fc = a | |
} | |
function e(a) { | |
return "[object Array]" === Object.prototype.toString.call(a) | |
} | |
function f(a) { | |
return a instanceof Date || "[object Date]" === Object.prototype.toString.call(a) | |
} | |
function g(a, b) { | |
var c, d = []; | |
for (c = 0; c < a.length; ++c) d.push(b(a[c], c)); | |
return d | |
} | |
function h(a, b) { | |
return Object.prototype.hasOwnProperty.call(a, b) | |
} | |
function i(a, b) { | |
for (var c in b) h(b, c) && (a[c] = b[c]); | |
return h(b, "toString") && (a.toString = b.toString), h(b, "valueOf") && (a.valueOf = b.valueOf), a | |
} | |
function j(a, b, c, d) { | |
return Ba(a, b, c, d, !0).utc() | |
} | |
function k() { | |
return { | |
empty: !1, | |
unusedTokens: [], | |
unusedInput: [], | |
overflow: -2, | |
charsLeftOver: 0, | |
nullInput: !1, | |
invalidMonth: null, | |
invalidFormat: !1, | |
userInvalidated: !1, | |
iso: !1 | |
} | |
} | |
function l(a) { | |
return null == a._pf && (a._pf = k()), a._pf | |
} | |
function m(a) { | |
if (null == a._isValid) { | |
var b = l(a); | |
a._isValid = !isNaN(a._d.getTime()) && b.overflow < 0 && !b.empty && !b.invalidMonth && !b.nullInput && !b.invalidFormat && !b.userInvalidated, a._strict && (a._isValid = a._isValid && 0 === b.charsLeftOver && 0 === b.unusedTokens.length && void 0 === b.bigHour) | |
} | |
return a._isValid | |
} | |
function n(a) { | |
var b = j(NaN); | |
return null != a ? i(l(b), a) : l(b).userInvalidated = !0, b | |
} | |
function o(a, b) { | |
var c, d, e; | |
if ("undefined" != typeof b._isAMomentObject && (a._isAMomentObject = b._isAMomentObject), "undefined" != typeof b._i && (a._i = b._i), "undefined" != typeof b._f && (a._f = b._f), "undefined" != typeof b._l && (a._l = b._l), "undefined" != typeof b._strict && (a._strict = b._strict), "undefined" != typeof b._tzm && (a._tzm = b._tzm), "undefined" != typeof b._isUTC && (a._isUTC = b._isUTC), "undefined" != typeof b._offset && (a._offset = b._offset), "undefined" != typeof b._pf && (a._pf = l(b)), "undefined" != typeof b._locale && (a._locale = b._locale), Hc.length > 0) | |
for (c in Hc) d = Hc[c], e = b[d], "undefined" != typeof e && (a[d] = e); | |
return a | |
} | |
function p(a) { | |
o(this, a), this._d = new Date(+a._d), Ic === !1 && (Ic = !0, c.updateOffset(this), Ic = !1) | |
} | |
function q(a) { | |
return a instanceof p || null != a && null != a._isAMomentObject | |
} | |
function r(a) { | |
var b = +a, | |
c = 0; | |
return 0 !== b && isFinite(b) && (c = b >= 0 ? Math.floor(b) : Math.ceil(b)), c | |
} | |
function s(a, b, c) { | |
var d, e = Math.min(a.length, b.length), | |
f = Math.abs(a.length - b.length), | |
g = 0; | |
for (d = 0; e > d; d++)(c && a[d] !== b[d] || !c && r(a[d]) !== r(b[d])) && g++; | |
return g + f | |
} | |
function t() {} | |
function u(a) { | |
return a ? a.toLowerCase().replace("_", "-") : a | |
} | |
function v(a) { | |
for (var b, c, d, e, f = 0; f < a.length;) { | |
for (e = u(a[f]).split("-"), b = e.length, c = u(a[f + 1]), c = c ? c.split("-") : null; b > 0;) { | |
if (d = w(e.slice(0, b).join("-"))) return d; | |
if (c && c.length >= b && s(e, c, !0) >= b - 1) break; | |
b-- | |
} | |
f++ | |
} | |
return null | |
} | |
function w(c) { | |
var d = null; | |
if (!Jc[c] && "undefined" != typeof b && b && b.exports) try { | |
d = Gc._abbr, a("./locale/" + c), x(d) | |
} catch (e) {} | |
return Jc[c] | |
} | |
function x(a, b) { | |
var c; | |
return a && (c = "undefined" == typeof b ? z(a) : y(a, b), c && (Gc = c)), Gc._abbr | |
} | |
function y(a, b) { | |
return null !== b ? (b.abbr = a, Jc[a] || (Jc[a] = new t), Jc[a].set(b), x(a), Jc[a]) : (delete Jc[a], null) | |
} | |
function z(a) { | |
var b; | |
if (a && a._locale && a._locale._abbr && (a = a._locale._abbr), !a) return Gc; | |
if (!e(a)) { | |
if (b = w(a)) return b; | |
a = [a] | |
} | |
return v(a) | |
} | |
function A(a, b) { | |
var c = a.toLowerCase(); | |
Kc[c] = Kc[c + "s"] = Kc[b] = a | |
} | |
function B(a) { | |
return "string" == typeof a ? Kc[a] || Kc[a.toLowerCase()] : void 0 | |
} | |
function C(a) { | |
var b, c, d = {}; | |
for (c in a) h(a, c) && (b = B(c), b && (d[b] = a[c])); | |
return d | |
} | |
function D(a, b) { | |
return function(d) { | |
return null != d ? (F(this, a, d), c.updateOffset(this, b), this) : E(this, a) | |
} | |
} | |
function E(a, b) { | |
return a._d["get" + (a._isUTC ? "UTC" : "") + b]() | |
} | |
function F(a, b, c) { | |
return a._d["set" + (a._isUTC ? "UTC" : "") + b](c) | |
} | |
function G(a, b) { | |
var c; | |
if ("object" == typeof a) | |
for (c in a) this.set(c, a[c]); | |
else if (a = B(a), "function" == typeof this[a]) return this[a](b); | |
return this | |
} | |
function H(a, b, c) { | |
for (var d = "" + Math.abs(a), e = a >= 0; d.length < b;) d = "0" + d; | |
return (e ? c ? "+" : "" : "-") + d | |
} | |
function I(a, b, c, d) { | |
var e = d; | |
"string" == typeof d && (e = function() { | |
return this[d]() | |
}), a && (Oc[a] = e), b && (Oc[b[0]] = function() { | |
return H(e.apply(this, arguments), b[1], b[2]) | |
}), c && (Oc[c] = function() { | |
return this.localeData().ordinal(e.apply(this, arguments), a) | |
}) | |
} | |
function J(a) { | |
return a.match(/\[[\s\S]/) ? a.replace(/^\[|\]$/g, "") : a.replace(/\\/g, "") | |
} | |
function K(a) { | |
var b, c, d = a.match(Lc); | |
for (b = 0, c = d.length; c > b; b++) Oc[d[b]] ? d[b] = Oc[d[b]] : d[b] = J(d[b]); | |
return function(e) { | |
var f = ""; | |
for (b = 0; c > b; b++) f += d[b] instanceof Function ? d[b].call(e, a) : d[b]; | |
return f | |
} | |
} | |
function L(a, b) { | |
return a.isValid() ? (b = M(b, a.localeData()), Nc[b] || (Nc[b] = K(b)), Nc[b](a)) : a.localeData().invalidDate() | |
} | |
function M(a, b) { | |
function c(a) { | |
return b.longDateFormat(a) || a | |
} | |
var d = 5; | |
for (Mc.lastIndex = 0; d >= 0 && Mc.test(a);) a = a.replace(Mc, c), Mc.lastIndex = 0, d -= 1; | |
return a | |
} | |
function N(a, b, c) { | |
bd[a] = "function" == typeof b ? b : function(a) { | |
return a && c ? c : b | |
} | |
} | |
function O(a, b) { | |
return h(bd, a) ? bd[a](b._strict, b._locale) : new RegExp(P(a)) | |
} | |
function P(a) { | |
return a.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(a, b, c, d, e) { | |
return b || c || d || e | |
}).replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") | |
} | |
function Q(a, b) { | |
var c, d = b; | |
for ("string" == typeof a && (a = [a]), "number" == typeof b && (d = function(a, c) { | |
c[b] = r(a) | |
}), c = 0; c < a.length; c++) cd[a[c]] = d | |
} | |
function R(a, b) { | |
Q(a, function(a, c, d, e) { | |
d._w = d._w || {}, b(a, d._w, d, e) | |
}) | |
} | |
function S(a, b, c) { | |
null != b && h(cd, a) && cd[a](b, c._a, c, a) | |
} | |
function T(a, b) { | |
return new Date(Date.UTC(a, b + 1, 0)).getUTCDate() | |
} | |
function U(a) { | |
return this._months[a.month()] | |
} | |
function V(a) { | |
return this._monthsShort[a.month()] | |
} | |
function W(a, b, c) { | |
var d, e, f; | |
for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), d = 0; 12 > d; d++) { | |
if (e = j([2e3, d]), c && !this._longMonthsParse[d] && (this._longMonthsParse[d] = new RegExp("^" + this.months(e, "").replace(".", "") + "$", "i"), this._shortMonthsParse[d] = new RegExp("^" + this.monthsShort(e, "").replace(".", "") + "$", "i")), c || this._monthsParse[d] || (f = "^" + this.months(e, "") + "|^" + this.monthsShort(e, ""), this._monthsParse[d] = new RegExp(f.replace(".", ""), "i")), c && "MMMM" === b && this._longMonthsParse[d].test(a)) return d; | |
if (c && "MMM" === b && this._shortMonthsParse[d].test(a)) return d; | |
if (!c && this._monthsParse[d].test(a)) return d | |
} | |
} | |
function X(a, b) { | |
var c; | |
return "string" == typeof b && (b = a.localeData().monthsParse(b), "number" != typeof b) ? a : (c = Math.min(a.date(), T(a.year(), b)), a._d["set" + (a._isUTC ? "UTC" : "") + "Month"](b, c), a) | |
} | |
function Y(a) { | |
return null != a ? (X(this, a), c.updateOffset(this, !0), this) : E(this, "Month") | |
} | |
function Z() { | |
return T(this.year(), this.month()) | |
} | |
function $(a) { | |
var b, c = a._a; | |
return c && -2 === l(a).overflow && (b = c[ed] < 0 || c[ed] > 11 ? ed : c[fd] < 1 || c[fd] > T(c[dd], c[ed]) ? fd : c[gd] < 0 || c[gd] > 24 || 24 === c[gd] && (0 !== c[hd] || 0 !== c[id] || 0 !== c[jd]) ? gd : c[hd] < 0 || c[hd] > 59 ? hd : c[id] < 0 || c[id] > 59 ? id : c[jd] < 0 || c[jd] > 999 ? jd : -1, l(a)._overflowDayOfYear && (dd > b || b > fd) && (b = fd), l(a).overflow = b), a | |
} | |
function _(a) { | |
c.suppressDeprecationWarnings === !1 && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + a) | |
} | |
function aa(a, b) { | |
var c = !0, | |
d = a + "\n" + (new Error).stack; | |
return i(function() { | |
return c && (_(d), c = !1), b.apply(this, arguments) | |
}, b) | |
} | |
function ba(a, b) { | |
md[a] || (_(b), md[a] = !0) | |
} | |
function ca(a) { | |
var b, c, d = a._i, | |
e = nd.exec(d); | |
if (e) { | |
for (l(a).iso = !0, b = 0, c = od.length; c > b; b++) | |
if (od[b][1].exec(d)) { | |
a._f = od[b][0] + (e[6] || " "); | |
break | |
} | |
for (b = 0, c = pd.length; c > b; b++) | |
if (pd[b][1].exec(d)) { | |
a._f += pd[b][0]; | |
break | |
} | |
d.match($c) && (a._f += "Z"), va(a) | |
} else a._isValid = !1 | |
} | |
function da(a) { | |
var b = qd.exec(a._i); | |
return null !== b ? void(a._d = new Date(+b[1])) : (ca(a), void(a._isValid === !1 && (delete a._isValid, c.createFromInputFallback(a)))) | |
} | |
function ea(a, b, c, d, e, f, g) { | |
var h = new Date(a, b, c, d, e, f, g); | |
return 1970 > a && h.setFullYear(a), h | |
} | |
function fa(a) { | |
var b = new Date(Date.UTC.apply(null, arguments)); | |
return 1970 > a && b.setUTCFullYear(a), b | |
} | |
function ga(a) { | |
return ha(a) ? 366 : 365 | |
} | |
function ha(a) { | |
return a % 4 === 0 && a % 100 !== 0 || a % 400 === 0 | |
} | |
function ia() { | |
return ha(this.year()) | |
} | |
function ja(a, b, c) { | |
var d, e = c - b, | |
f = c - a.day(); | |
return f > e && (f -= 7), e - 7 > f && (f += 7), d = Ca(a).add(f, "d"), { | |
week: Math.ceil(d.dayOfYear() / 7), | |
year: d.year() | |
} | |
} | |
function ka(a) { | |
return ja(a, this._week.dow, this._week.doy).week | |
} | |
function la() { | |
return this._week.dow | |
} | |
function ma() { | |
return this._week.doy | |
} | |
function na(a) { | |
var b = this.localeData().week(this); | |
return null == a ? b : this.add(7 * (a - b), "d") | |
} | |
function oa(a) { | |
var b = ja(this, 1, 4).week; | |
return null == a ? b : this.add(7 * (a - b), "d") | |
} | |
function pa(a, b, c, d, e) { | |
var f, g, h = fa(a, 0, 1).getUTCDay(); | |
return h = 0 === h ? 7 : h, c = null != c ? c : e, f = e - h + (h > d ? 7 : 0) - (e > h ? 7 : 0), g = 7 * (b - 1) + (c - e) + f + 1, { | |
year: g > 0 ? a : a - 1, | |
dayOfYear: g > 0 ? g : ga(a - 1) + g | |
} | |
} | |
function qa(a) { | |
var b = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1; | |
return null == a ? b : this.add(a - b, "d") | |
} | |
function ra(a, b, c) { | |
return null != a ? a : null != b ? b : c | |
} | |
function sa(a) { | |
var b = new Date; | |
return a._useUTC ? [b.getUTCFullYear(), b.getUTCMonth(), b.getUTCDate()] : [b.getFullYear(), b.getMonth(), b.getDate()] | |
} | |
function ta(a) { | |
var b, c, d, e, f = []; | |
if (!a._d) { | |
for (d = sa(a), a._w && null == a._a[fd] && null == a._a[ed] && ua(a), a._dayOfYear && (e = ra(a._a[dd], d[dd]), a._dayOfYear > ga(e) && (l(a)._overflowDayOfYear = !0), c = fa(e, 0, a._dayOfYear), a._a[ed] = c.getUTCMonth(), a._a[fd] = c.getUTCDate()), b = 0; 3 > b && null == a._a[b]; ++b) a._a[b] = f[b] = d[b]; | |
for (; 7 > b; b++) a._a[b] = f[b] = null == a._a[b] ? 2 === b ? 1 : 0 : a._a[b]; | |
24 === a._a[gd] && 0 === a._a[hd] && 0 === a._a[id] && 0 === a._a[jd] && (a._nextDay = !0, a._a[gd] = 0), a._d = (a._useUTC ? fa : ea).apply(null, f), null != a._tzm && a._d.setUTCMinutes(a._d.getUTCMinutes() - a._tzm), a._nextDay && (a._a[gd] = 24) | |
} | |
} | |
function ua(a) { | |
var b, c, d, e, f, g, h; | |
b = a._w, null != b.GG || null != b.W || null != b.E ? (f = 1, g = 4, c = ra(b.GG, a._a[dd], ja(Ca(), 1, 4).year), d = ra(b.W, 1), e = ra(b.E, 1)) : (f = a._locale._week.dow, g = a._locale._week.doy, c = ra(b.gg, a._a[dd], ja(Ca(), f, g).year), d = ra(b.w, 1), null != b.d ? (e = b.d, f > e && ++d) : e = null != b.e ? b.e + f : f), h = pa(c, d, e, g, f), a._a[dd] = h.year, a._dayOfYear = h.dayOfYear | |
} | |
function va(a) { | |
if (a._f === c.ISO_8601) return void ca(a); | |
a._a = [], l(a).empty = !0; | |
var b, d, e, f, g, h = "" + a._i, | |
i = h.length, | |
j = 0; | |
for (e = M(a._f, a._locale).match(Lc) || [], b = 0; b < e.length; b++) f = e[b], d = (h.match(O(f, a)) || [])[0], d && (g = h.substr(0, h.indexOf(d)), g.length > 0 && l(a).unusedInput.push(g), h = h.slice(h.indexOf(d) + d.length), j += d.length), Oc[f] ? (d ? l(a).empty = !1 : l(a).unusedTokens.push(f), S(f, d, a)) : a._strict && !d && l(a).unusedTokens.push(f); | |
l(a).charsLeftOver = i - j, h.length > 0 && l(a).unusedInput.push(h), l(a).bigHour === !0 && a._a[gd] <= 12 && a._a[gd] > 0 && (l(a).bigHour = void 0), a._a[gd] = wa(a._locale, a._a[gd], a._meridiem), ta(a), $(a) | |
} | |
function wa(a, b, c) { | |
var d; | |
return null == c ? b : null != a.meridiemHour ? a.meridiemHour(b, c) : null != a.isPM ? (d = a.isPM(c), d && 12 > b && (b += 12), d || 12 !== b || (b = 0), b) : b | |
} | |
function xa(a) { | |
var b, c, d, e, f; | |
if (0 === a._f.length) return l(a).invalidFormat = !0, void(a._d = new Date(NaN)); | |
for (e = 0; e < a._f.length; e++) f = 0, b = o({}, a), null != a._useUTC && (b._useUTC = a._useUTC), b._f = a._f[e], va(b), m(b) && (f += l(b).charsLeftOver, f += 10 * l(b).unusedTokens.length, l(b).score = f, (null == d || d > f) && (d = f, c = b)); | |
i(a, c || b) | |
} | |
function ya(a) { | |
if (!a._d) { | |
var b = C(a._i); | |
a._a = [b.year, b.month, b.day || b.date, b.hour, b.minute, b.second, b.millisecond], ta(a) | |
} | |
} | |
function za(a) { | |
var b, c = a._i, | |
d = a._f; | |
return a._locale = a._locale || z(a._l), null === c || void 0 === d && "" === c ? n({ | |
nullInput: !0 | |
}) : ("string" == typeof c && (a._i = c = a._locale.preparse(c)), q(c) ? new p($(c)) : (e(d) ? xa(a) : d ? va(a) : f(c) ? a._d = c : Aa(a), b = new p($(a)), b._nextDay && (b.add(1, "d"), b._nextDay = void 0), b)) | |
} | |
function Aa(a) { | |
var b = a._i; | |
void 0 === b ? a._d = new Date : f(b) ? a._d = new Date(+b) : "string" == typeof b ? da(a) : e(b) ? (a._a = g(b.slice(0), function(a) { | |
return parseInt(a, 10) | |
}), ta(a)) : "object" == typeof b ? ya(a) : "number" == typeof b ? a._d = new Date(b) : c.createFromInputFallback(a) | |
} | |
function Ba(a, b, c, d, e) { | |
var f = {}; | |
return "boolean" == typeof c && (d = c, c = void 0), f._isAMomentObject = !0, f._useUTC = f._isUTC = e, f._l = c, f._i = a, f._f = b, f._strict = d, za(f) | |
} | |
function Ca(a, b, c, d) { | |
return Ba(a, b, c, d, !1) | |
} | |
function Da(a, b) { | |
var c, d; | |
if (1 === b.length && e(b[0]) && (b = b[0]), !b.length) return Ca(); | |
for (c = b[0], d = 1; d < b.length; ++d) b[d][a](c) && (c = b[d]); | |
return c | |
} | |
function Ea() { | |
var a = [].slice.call(arguments, 0); | |
return Da("isBefore", a) | |
} | |
function Fa() { | |
var a = [].slice.call(arguments, 0); | |
return Da("isAfter", a) | |
} | |
function Ga(a) { | |
var b = C(a), | |
c = b.year || 0, | |
d = b.quarter || 0, | |
e = b.month || 0, | |
f = b.week || 0, | |
g = b.day || 0, | |
h = b.hour || 0, | |
i = b.minute || 0, | |
j = b.second || 0, | |
k = b.millisecond || 0; | |
this._milliseconds = +k + 1e3 * j + 6e4 * i + 36e5 * h, this._days = +g + 7 * f, this._months = +e + 3 * d + 12 * c, this._data = {}, this._locale = z(), this._bubble() | |
} | |
function Ha(a) { | |
return a instanceof Ga | |
} | |
function Ia(a, b) { | |
I(a, 0, 0, function() { | |
var a = this.utcOffset(), | |
c = "+"; | |
return 0 > a && (a = -a, c = "-"), c + H(~~(a / 60), 2) + b + H(~~a % 60, 2) | |
}) | |
} | |
function Ja(a) { | |
var b = (a || "").match($c) || [], | |
c = b[b.length - 1] || [], | |
d = (c + "").match(vd) || ["-", 0, 0], | |
e = +(60 * d[1]) + r(d[2]); | |
return "+" === d[0] ? e : -e | |
} | |
function Ka(a, b) { | |
var d, e; | |
return b._isUTC ? (d = b.clone(), e = (q(a) || f(a) ? +a : +Ca(a)) - +d, d._d.setTime(+d._d + e), c.updateOffset(d, !1), d) : Ca(a).local() | |
} | |
function La(a) { | |
return 15 * -Math.round(a._d.getTimezoneOffset() / 15) | |
} | |
function Ma(a, b) { | |
var d, e = this._offset || 0; | |
return null != a ? ("string" == typeof a && (a = Ja(a)), Math.abs(a) < 16 && (a = 60 * a), !this._isUTC && b && (d = La(this)), this._offset = a, this._isUTC = !0, null != d && this.add(d, "m"), e !== a && (!b || this._changeInProgress ? ab(this, Xa(a - e, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, c.updateOffset(this, !0), this._changeInProgress = null)), this) : this._isUTC ? e : La(this) | |
} | |
function Na(a, b) { | |
return null != a ? ("string" != typeof a && (a = -a), this.utcOffset(a, b), this) : -this.utcOffset() | |
} | |
function Oa(a) { | |
return this.utcOffset(0, a) | |
} | |
function Pa(a) { | |
return this._isUTC && (this.utcOffset(0, a), this._isUTC = !1, a && this.subtract(La(this), "m")), this | |
} | |
function Qa() { | |
return this._tzm ? this.utcOffset(this._tzm) : "string" == typeof this._i && this.utcOffset(Ja(this._i)), this | |
} | |
function Ra(a) { | |
return a = a ? Ca(a).utcOffset() : 0, (this.utcOffset() - a) % 60 === 0 | |
} | |
function Sa() { | |
return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() | |
} | |
function Ta() { | |
if (this._a) { | |
var a = this._isUTC ? j(this._a) : Ca(this._a); | |
return this.isValid() && s(this._a, a.toArray()) > 0 | |
} | |
return !1 | |
} | |
function Ua() { | |
return !this._isUTC | |
} | |
function Va() { | |
return this._isUTC | |
} | |
function Wa() { | |
return this._isUTC && 0 === this._offset | |
} | |
function Xa(a, b) { | |
var c, d, e, f = a, | |
g = null; | |
return Ha(a) ? f = { | |
ms: a._milliseconds, | |
d: a._days, | |
M: a._months | |
} : "number" == typeof a ? (f = {}, b ? f[b] = a : f.milliseconds = a) : (g = wd.exec(a)) ? (c = "-" === g[1] ? -1 : 1, f = { | |
y: 0, | |
d: r(g[fd]) * c, | |
h: r(g[gd]) * c, | |
m: r(g[hd]) * c, | |
s: r(g[id]) * c, | |
ms: r(g[jd]) * c | |
}) : (g = xd.exec(a)) ? (c = "-" === g[1] ? -1 : 1, f = { | |
y: Ya(g[2], c), | |
M: Ya(g[3], c), | |
d: Ya(g[4], c), | |
h: Ya(g[5], c), | |
m: Ya(g[6], c), | |
s: Ya(g[7], c), | |
w: Ya(g[8], c) | |
}) : null == f ? f = {} : "object" == typeof f && ("from" in f || "to" in f) && (e = $a(Ca(f.from), Ca(f.to)), f = {}, f.ms = e.milliseconds, f.M = e.months), d = new Ga(f), Ha(a) && h(a, "_locale") && (d._locale = a._locale), d | |
} | |
function Ya(a, b) { | |
var c = a && parseFloat(a.replace(",", ".")); | |
return (isNaN(c) ? 0 : c) * b | |
} | |
function Za(a, b) { | |
var c = { | |
milliseconds: 0, | |
months: 0 | |
}; | |
return c.months = b.month() - a.month() + 12 * (b.year() - a.year()), a.clone().add(c.months, "M").isAfter(b) && --c.months, c.milliseconds = +b - +a.clone().add(c.months, "M"), c | |
} | |
function $a(a, b) { | |
var c; | |
return b = Ka(b, a), a.isBefore(b) ? c = Za(a, b) : (c = Za(b, a), c.milliseconds = -c.milliseconds, c.months = -c.months), c | |
} | |
function _a(a, b) { | |
return function(c, d) { | |
var e, f; | |
return null === d || isNaN(+d) || (ba(b, "moment()." + b + "(period, number) is deprecated. Please use moment()." + b + "(number, period)."), f = c, c = d, d = f), c = "string" == typeof c ? +c : c, e = Xa(c, d), ab(this, e, a), this | |
} | |
} | |
function ab(a, b, d, e) { | |
var f = b._milliseconds, | |
g = b._days, | |
h = b._months; | |
e = null == e ? !0 : e, f && a._d.setTime(+a._d + f * d), g && F(a, "Date", E(a, "Date") + g * d), h && X(a, E(a, "Month") + h * d), e && c.updateOffset(a, g || h) | |
} | |
function bb(a) { | |
var b = a || Ca(), | |
c = Ka(b, this).startOf("day"), | |
d = this.diff(c, "days", !0), | |
e = -6 > d ? "sameElse" : -1 > d ? "lastWeek" : 0 > d ? "lastDay" : 1 > d ? "sameDay" : 2 > d ? "nextDay" : 7 > d ? "nextWeek" : "sameElse"; | |
return this.format(this.localeData().calendar(e, this, Ca(b))) | |
} | |
function cb() { | |
return new p(this) | |
} | |
function db(a, b) { | |
var c; | |
return b = B("undefined" != typeof b ? b : "millisecond"), "millisecond" === b ? (a = q(a) ? a : Ca(a), +this > +a) : (c = q(a) ? +a : +Ca(a), c < +this.clone().startOf(b)) | |
} | |
function eb(a, b) { | |
var c; | |
return b = B("undefined" != typeof b ? b : "millisecond"), "millisecond" === b ? (a = q(a) ? a : Ca(a), +a > +this) : (c = q(a) ? +a : +Ca(a), +this.clone().endOf(b) < c) | |
} | |
function fb(a, b, c) { | |
return this.isAfter(a, c) && this.isBefore(b, c) | |
} | |
function gb(a, b) { | |
var c; | |
return b = B(b || "millisecond"), "millisecond" === b ? (a = q(a) ? a : Ca(a), +this === +a) : (c = +Ca(a), +this.clone().startOf(b) <= c && c <= +this.clone().endOf(b)) | |
} | |
function hb(a) { | |
return 0 > a ? Math.ceil(a) : Math.floor(a) | |
} | |
function ib(a, b, c) { | |
var d, e, f = Ka(a, this), | |
g = 6e4 * (f.utcOffset() - this.utcOffset()); | |
return b = B(b), "year" === b || "month" === b || "quarter" === b ? (e = jb(this, f), "quarter" === b ? e /= 3 : "year" === b && (e /= 12)) : (d = this - f, e = "second" === b ? d / 1e3 : "minute" === b ? d / 6e4 : "hour" === b ? d / 36e5 : "day" === b ? (d - g) / 864e5 : "week" === b ? (d - g) / 6048e5 : d), c ? e : hb(e) | |
} | |
function jb(a, b) { | |
var c, d, e = 12 * (b.year() - a.year()) + (b.month() - a.month()), | |
f = a.clone().add(e, "months"); | |
return 0 > b - f ? (c = a.clone().add(e - 1, "months"), d = (b - f) / (f - c)) : (c = a.clone().add(e + 1, "months"), d = (b - f) / (c - f)), -(e + d) | |
} | |
function kb() { | |
return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ") | |
} | |
function lb() { | |
var a = this.clone().utc(); | |
return 0 < a.year() && a.year() <= 9999 ? "function" == typeof Date.prototype.toISOString ? this.toDate().toISOString() : L(a, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]") : L(a, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]") | |
} | |
function mb(a) { | |
var b = L(this, a || c.defaultFormat); | |
return this.localeData().postformat(b) | |
} | |
function nb(a, b) { | |
return this.isValid() ? Xa({ | |
to: this, | |
from: a | |
}).locale(this.locale()).humanize(!b) : this.localeData().invalidDate() | |
} | |
function ob(a) { | |
return this.from(Ca(), a) | |
} | |
function pb(a, b) { | |
return this.isValid() ? Xa({ | |
from: this, | |
to: a | |
}).locale(this.locale()).humanize(!b) : this.localeData().invalidDate() | |
} | |
function qb(a) { | |
return this.to(Ca(), a) | |
} | |
function rb(a) { | |
var b; | |
return void 0 === a ? this._locale._abbr : (b = z(a), null != b && (this._locale = b), this) | |
} | |
function sb() { | |
return this._locale | |
} | |
function tb(a) { | |
switch (a = B(a)) { | |
case "year": | |
this.month(0); | |
case "quarter": | |
case "month": | |
this.date(1); | |
case "week": | |
case "isoWeek": | |
case "day": | |
this.hours(0); | |
case "hour": | |
this.minutes(0); | |
case "minute": | |
this.seconds(0); | |
case "second": | |
this.milliseconds(0) | |
} | |
return "week" === a && this.weekday(0), "isoWeek" === a && this.isoWeekday(1), "quarter" === a && this.month(3 * Math.floor(this.month() / 3)), this | |
} | |
function ub(a) { | |
return a = B(a), void 0 === a || "millisecond" === a ? this : this.startOf(a).add(1, "isoWeek" === a ? "week" : a).subtract(1, "ms") | |
} | |
function vb() { | |
return +this._d - 6e4 * (this._offset || 0) | |
} | |
function wb() { | |
return Math.floor(+this / 1e3) | |
} | |
function xb() { | |
return this._offset ? new Date(+this) : this._d | |
} | |
function yb() { | |
var a = this; | |
return [a.year(), a.month(), a.date(), a.hour(), a.minute(), a.second(), a.millisecond()] | |
} | |
function zb() { | |
return m(this) | |
} | |
function Ab() { | |
return i({}, l(this)) | |
} | |
function Bb() { | |
return l(this).overflow | |
} | |
function Cb(a, b) { | |
I(0, [a, a.length], 0, b) | |
} | |
function Db(a, b, c) { | |
return ja(Ca([a, 11, 31 + b - c]), b, c).week | |
} | |
function Eb(a) { | |
var b = ja(this, this.localeData()._week.dow, this.localeData()._week.doy).year; | |
return null == a ? b : this.add(a - b, "y") | |
} | |
function Fb(a) { | |
var b = ja(this, 1, 4).year; | |
return null == a ? b : this.add(a - b, "y") | |
} | |
function Gb() { | |
return Db(this.year(), 1, 4) | |
} | |
function Hb() { | |
var a = this.localeData()._week; | |
return Db(this.year(), a.dow, a.doy) | |
} | |
function Ib(a) { | |
return null == a ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (a - 1) + this.month() % 3) | |
} | |
function Jb(a, b) { | |
if ("string" == typeof a) | |
if (isNaN(a)) { | |
if (a = b.weekdaysParse(a), "number" != typeof a) return null | |
} else a = parseInt(a, 10); | |
return a | |
} | |
function Kb(a) { | |
return this._weekdays[a.day()] | |
} | |
function Lb(a) { | |
return this._weekdaysShort[a.day()] | |
} | |
function Mb(a) { | |
return this._weekdaysMin[a.day()] | |
} | |
function Nb(a) { | |
var b, c, d; | |
for (this._weekdaysParse || (this._weekdaysParse = []), b = 0; 7 > b; b++) | |
if (this._weekdaysParse[b] || (c = Ca([2e3, 1]).day(b), d = "^" + this.weekdays(c, "") + "|^" + this.weekdaysShort(c, "") + "|^" + this.weekdaysMin(c, ""), this._weekdaysParse[b] = new RegExp(d.replace(".", ""), "i")), this._weekdaysParse[b].test(a)) return b | |
} | |
function Ob(a) { | |
var b = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); | |
return null != a ? (a = Jb(a, this.localeData()), this.add(a - b, "d")) : b | |
} | |
function Pb(a) { | |
var b = (this.day() + 7 - this.localeData()._week.dow) % 7; | |
return null == a ? b : this.add(a - b, "d") | |
} | |
function Qb(a) { | |
return null == a ? this.day() || 7 : this.day(this.day() % 7 ? a : a - 7) | |
} | |
function Rb(a, b) { | |
I(a, 0, 0, function() { | |
return this.localeData().meridiem(this.hours(), this.minutes(), b) | |
}) | |
} | |
function Sb(a, b) { | |
return b._meridiemParse | |
} | |
function Tb(a) { | |
return "p" === (a + "").toLowerCase().charAt(0) | |
} | |
function Ub(a, b, c) { | |
return a > 11 ? c ? "pm" : "PM" : c ? "am" : "AM" | |
} | |
function Vb(a) { | |
I(0, [a, 3], 0, "millisecond") | |
} | |
function Wb() { | |
return this._isUTC ? "UTC" : "" | |
} | |
function Xb() { | |
return this._isUTC ? "Coordinated Universal Time" : "" | |
} | |
function Yb(a) { | |
return Ca(1e3 * a) | |
} | |
function Zb() { | |
return Ca.apply(null, arguments).parseZone() | |
} | |
function $b(a, b, c) { | |
var d = this._calendar[a]; | |
return "function" == typeof d ? d.call(b, c) : d | |
} | |
function _b(a) { | |
var b = this._longDateFormat[a]; | |
return !b && this._longDateFormat[a.toUpperCase()] && (b = this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function(a) { | |
return a.slice(1) | |
}), this._longDateFormat[a] = b), b | |
} | |
function ac() { | |
return this._invalidDate | |
} | |
function bc(a) { | |
return this._ordinal.replace("%d", a) | |
} | |
function cc(a) { | |
return a | |
} | |
function dc(a, b, c, d) { | |
var e = this._relativeTime[c]; | |
return "function" == typeof e ? e(a, b, c, d) : e.replace(/%d/i, a) | |
} | |
function ec(a, b) { | |
var c = this._relativeTime[a > 0 ? "future" : "past"]; | |
return "function" == typeof c ? c(b) : c.replace(/%s/i, b) | |
} | |
function fc(a) { | |
var b, c; | |
for (c in a) b = a[c], "function" == typeof b ? this[c] = b : this["_" + c] = b; | |
this._ordinalParseLenient = new RegExp(this._ordinalParse.source + "|" + /\d{1,2}/.source) | |
} | |
function gc(a, b, c, d) { | |
var e = z(), | |
f = j().set(d, b); | |
return e[c](f, a) | |
} | |
function hc(a, b, c, d, e) { | |
if ("number" == typeof a && (b = a, a = void 0), a = a || "", null != b) return gc(a, b, c, e); | |
var f, g = []; | |
for (f = 0; d > f; f++) g[f] = gc(a, f, c, e); | |
return g | |
} | |
function ic(a, b) { | |
return hc(a, b, "months", 12, "month") | |
} | |
function jc(a, b) { | |
return hc(a, b, "monthsShort", 12, "month") | |
} | |
function kc(a, b) { | |
return hc(a, b, "weekdays", 7, "day") | |
} | |
function lc(a, b) { | |
return hc(a, b, "weekdaysShort", 7, "day") | |
} | |
function mc(a, b) { | |
return hc(a, b, "weekdaysMin", 7, "day") | |
} | |
function nc() { | |
var a = this._data; | |
return this._milliseconds = Td(this._milliseconds), this._days = Td(this._days), this._months = Td(this._months), a.milliseconds = Td(a.milliseconds), a.seconds = Td(a.seconds), a.minutes = Td(a.minutes), a.hours = Td(a.hours), a.months = Td(a.months), a.years = Td(a.years), this | |
} | |
function oc(a, b, c, d) { | |
var e = Xa(b, c); | |
return a._milliseconds += d * e._milliseconds, a._days += d * e._days, a._months += d * e._months, a._bubble() | |
} | |
function pc(a, b) { | |
return oc(this, a, b, 1) | |
} | |
function qc(a, b) { | |
return oc(this, a, b, -1) | |
} | |
function rc() { | |
var a, b, c, d = this._milliseconds, | |
e = this._days, | |
f = this._months, | |
g = this._data, | |
h = 0; | |
return g.milliseconds = d % 1e3, a = hb(d / 1e3), g.seconds = a % 60, b = hb(a / 60), g.minutes = b % 60, c = hb(b / 60), g.hours = c % 24, e += hb(c / 24), h = hb(sc(e)), e -= hb(tc(h)), f += hb(e / 30), e %= 30, h += hb(f / 12), f %= 12, g.days = e, g.months = f, g.years = h, this | |
} | |
function sc(a) { | |
return 400 * a / 146097 | |
} | |
function tc(a) { | |
return 146097 * a / 400 | |
} | |
function uc(a) { | |
var b, c, d = this._milliseconds; | |
if (a = B(a), "month" === a || "year" === a) return b = this._days + d / 864e5, c = this._months + 12 * sc(b), "month" === a ? c : c / 12; | |
switch (b = this._days + Math.round(tc(this._months / 12)), a) { | |
case "week": | |
return b / 7 + d / 6048e5; | |
case "day": | |
return b + d / 864e5; | |
case "hour": | |
return 24 * b + d / 36e5; | |
case "minute": | |
return 1440 * b + d / 6e4; | |
case "second": | |
return 86400 * b + d / 1e3; | |
case "millisecond": | |
return Math.floor(864e5 * b) + d; | |
default: | |
throw new Error("Unknown unit " + a) | |
} | |
} | |
function vc() { | |
return this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * r(this._months / 12) | |
} | |
function wc(a) { | |
return function() { | |
return this.as(a) | |
} | |
} | |
function xc(a) { | |
return a = B(a), this[a + "s"]() | |
} | |
function yc(a) { | |
return function() { | |
return this._data[a] | |
} | |
} | |
function zc() { | |
return hb(this.days() / 7) | |
} | |
function Ac(a, b, c, d, e) { | |
return e.relativeTime(b || 1, !! c, a, d) | |
} | |
function Bc(a, b, c) { | |
var d = Xa(a).abs(), | |
e = he(d.as("s")), | |
f = he(d.as("m")), | |
g = he(d.as("h")), | |
h = he(d.as("d")), | |
i = he(d.as("M")), | |
j = he(d.as("y")), | |
k = e < ie.s && ["s", e] || 1 === f && ["m"] || f < ie.m && ["mm", f] || 1 === g && ["h"] || g < ie.h && ["hh", g] || 1 === h && ["d"] || h < ie.d && ["dd", h] || 1 === i && ["M"] || i < ie.M && ["MM", i] || 1 === j && ["y"] || ["yy", j]; | |
return k[2] = b, k[3] = +a > 0, k[4] = c, Ac.apply(null, k) | |
} | |
function Cc(a, b) { | |
return void 0 === ie[a] ? !1 : void 0 === b ? ie[a] : (ie[a] = b, !0) | |
} | |
function Dc(a) { | |
var b = this.localeData(), | |
c = Bc(this, !a, b); | |
return a && (c = b.pastFuture(+this, c)), b.postformat(c) | |
} | |
function Ec() { | |
var a = je(this.years()), | |
b = je(this.months()), | |
c = je(this.days()), | |
d = je(this.hours()), | |
e = je(this.minutes()), | |
f = je(this.seconds() + this.milliseconds() / 1e3), | |
g = this.asSeconds(); | |
return g ? (0 > g ? "-" : "") + "P" + (a ? a + "Y" : "") + (b ? b + "M" : "") + (c ? c + "D" : "") + (d || e || f ? "T" : "") + (d ? d + "H" : "") + (e ? e + "M" : "") + (f ? f + "S" : "") : "P0D" | |
} | |
var Fc, Gc, Hc = c.momentProperties = [], | |
Ic = !1, | |
Jc = {}, Kc = {}, Lc = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g, | |
Mc = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, | |
Nc = {}, Oc = {}, Pc = /\d/, | |
Qc = /\d\d/, | |
Rc = /\d{3}/, | |
Sc = /\d{4}/, | |
Tc = /[+-]?\d{6}/, | |
Uc = /\d\d?/, | |
Vc = /\d{1,3}/, | |
Wc = /\d{1,4}/, | |
Xc = /[+-]?\d{1,6}/, | |
Yc = /\d+/, | |
Zc = /[+-]?\d+/, | |
$c = /Z|[+-]\d\d:?\d\d/gi, | |
_c = /[+-]?\d+(\.\d{1,3})?/, | |
ad = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, | |
bd = {}, cd = {}, dd = 0, | |
ed = 1, | |
fd = 2, | |
gd = 3, | |
hd = 4, | |
id = 5, | |
jd = 6; | |
I("M", ["MM", 2], "Mo", function() { | |
return this.month() + 1 | |
}), I("MMM", 0, 0, function(a) { | |
return this.localeData().monthsShort(this, a) | |
}), I("MMMM", 0, 0, function(a) { | |
return this.localeData().months(this, a) | |
}), A("month", "M"), N("M", Uc), N("MM", Uc, Qc), N("MMM", ad), N("MMMM", ad), Q(["M", "MM"], function(a, b) { | |
b[ed] = r(a) - 1 | |
}), Q(["MMM", "MMMM"], function(a, b, c, d) { | |
var e = c._locale.monthsParse(a, d, c._strict); | |
null != e ? b[ed] = e : l(c).invalidMonth = a | |
}); | |
var kd = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), | |
ld = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), | |
md = {}; | |
c.suppressDeprecationWarnings = !1; | |
var nd = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, | |
od = [ | |
["YYYYYY-MM-DD", /[+-]\d{6}-\d{2}-\d{2}/], | |
["YYYY-MM-DD", /\d{4}-\d{2}-\d{2}/], | |
["GGGG-[W]WW-E", /\d{4}-W\d{2}-\d/], | |
["GGGG-[W]WW", /\d{4}-W\d{2}/], | |
["YYYY-DDD", /\d{4}-\d{3}/] | |
], | |
pd = [ | |
["HH:mm:ss.SSSS", /(T| )\d\d:\d\d:\d\d\.\d+/], | |
["HH:mm:ss", /(T| )\d\d:\d\d:\d\d/], | |
["HH:mm", /(T| )\d\d:\d\d/], | |
["HH", /(T| )\d\d/] | |
], | |
qd = /^\/?Date\((\-?\d+)/i; | |
c.createFromInputFallback = aa("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.", function(a) { | |
a._d = new Date(a._i + (a._useUTC ? " UTC" : "")) | |
}), I(0, ["YY", 2], 0, function() { | |
return this.year() % 100 | |
}), I(0, ["YYYY", 4], 0, "year"), I(0, ["YYYYY", 5], 0, "year"), I(0, ["YYYYYY", 6, !0], 0, "year"), A("year", "y"), N("Y", Zc), N("YY", Uc, Qc), N("YYYY", Wc, Sc), N("YYYYY", Xc, Tc), N("YYYYYY", Xc, Tc), Q(["YYYY", "YYYYY", "YYYYYY"], dd), Q("YY", function(a, b) { | |
b[dd] = c.parseTwoDigitYear(a) | |
}), c.parseTwoDigitYear = function(a) { | |
return r(a) + (r(a) > 68 ? 1900 : 2e3) | |
}; | |
var rd = D("FullYear", !1); | |
I("w", ["ww", 2], "wo", "week"), I("W", ["WW", 2], "Wo", "isoWeek"), A("week", "w"), A("isoWeek", "W"), N("w", Uc), N("ww", Uc, Qc), N("W", Uc), N("WW", Uc, Qc), R(["w", "ww", "W", "WW"], function(a, b, c, d) { | |
b[d.substr(0, 1)] = r(a) | |
}); | |
var sd = { | |
dow: 0, | |
doy: 6 | |
}; | |
I("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), A("dayOfYear", "DDD"), N("DDD", Vc), N("DDDD", Rc), Q(["DDD", "DDDD"], function(a, b, c) { | |
c._dayOfYear = r(a) | |
}), c.ISO_8601 = function() {}; | |
var td = aa("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548", function() { | |
var a = Ca.apply(null, arguments); | |
return this > a ? this : a | |
}), | |
ud = aa("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548", function() { | |
var a = Ca.apply(null, arguments); | |
return a > this ? this : a | |
}); | |
Ia("Z", ":"), Ia("ZZ", ""), N("Z", $c), N("ZZ", $c), Q(["Z", "ZZ"], function(a, b, c) { | |
c._useUTC = !0, c._tzm = Ja(a) | |
}); | |
var vd = /([\+\-]|\d\d)/gi; | |
c.updateOffset = function() {}; | |
var wd = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/, | |
xd = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/; | |
Xa.fn = Ga.prototype; | |
var yd = _a(1, "add"), | |
zd = _a(-1, "subtract"); | |
c.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"; | |
var Ad = aa("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(a) { | |
return void 0 === a ? this.localeData() : this.locale(a) | |
}); | |
I(0, ["gg", 2], 0, function() { | |
return this.weekYear() % 100 | |
}), I(0, ["GG", 2], 0, function() { | |
return this.isoWeekYear() % 100 | |
}), Cb("gggg", "weekYear"), Cb("ggggg", "weekYear"), Cb("GGGG", "isoWeekYear"), Cb("GGGGG", "isoWeekYear"), A("weekYear", "gg"), A("isoWeekYear", "GG"), N("G", Zc), N("g", Zc), N("GG", Uc, Qc), N("gg", Uc, Qc), N("GGGG", Wc, Sc), N("gggg", Wc, Sc), N("GGGGG", Xc, Tc), N("ggggg", Xc, Tc), R(["gggg", "ggggg", "GGGG", "GGGGG"], function(a, b, c, d) { | |
b[d.substr(0, 2)] = r(a) | |
}), R(["gg", "GG"], function(a, b, d, e) { | |
b[e] = c.parseTwoDigitYear(a) | |
}), I("Q", 0, 0, "quarter"), A("quarter", "Q"), N("Q", Pc), Q("Q", function(a, b) { | |
b[ed] = 3 * (r(a) - 1) | |
}), I("D", ["DD", 2], "Do", "date"), A("date", "D"), N("D", Uc), N("DD", Uc, Qc), N("Do", function(a, b) { | |
return a ? b._ordinalParse : b._ordinalParseLenient | |
}), Q(["D", "DD"], fd), Q("Do", function(a, b) { | |
b[fd] = r(a.match(Uc)[0], 10) | |
}); | |
var Bd = D("Date", !0); | |
I("d", 0, "do", "day"), I("dd", 0, 0, function(a) { | |
return this.localeData().weekdaysMin(this, a) | |
}), I("ddd", 0, 0, function(a) { | |
return this.localeData().weekdaysShort(this, a) | |
}), I("dddd", 0, 0, function(a) { | |
return this.localeData().weekdays(this, a) | |
}), I("e", 0, 0, "weekday"), I("E", 0, 0, "isoWeekday"), A("day", "d"), A("weekday", "e"), A("isoWeekday", "E"), N("d", Uc), N("e", Uc), N("E", Uc), N("dd", ad), N("ddd", ad), N("dddd", ad), R(["dd", "ddd", "dddd"], function(a, b, c) { | |
var d = c._locale.weekdaysParse(a); | |
null != d ? b.d = d : l(c).invalidWeekday = a | |
}), R(["d", "e", "E"], function(a, b, c, d) { | |
b[d] = r(a) | |
}); | |
var Cd = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), | |
Dd = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), | |
Ed = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"); | |
I("H", ["HH", 2], 0, "hour"), I("h", ["hh", 2], 0, function() { | |
return this.hours() % 12 || 12 | |
}), Rb("a", !0), Rb("A", !1), A("hour", "h"), N("a", Sb), N("A", Sb), N("H", Uc), N("h", Uc), N("HH", Uc, Qc), N("hh", Uc, Qc), Q(["H", "HH"], gd), Q(["a", "A"], function(a, b, c) { | |
c._isPm = c._locale.isPM(a), c._meridiem = a | |
}), Q(["h", "hh"], function(a, b, c) { | |
b[gd] = r(a), l(c).bigHour = !0 | |
}); | |
var Fd = /[ap]\.?m?\.?/i, | |
Gd = D("Hours", !0); | |
I("m", ["mm", 2], 0, "minute"), A("minute", "m"), N("m", Uc), N("mm", Uc, Qc), Q(["m", "mm"], hd); | |
var Hd = D("Minutes", !1); | |
I("s", ["ss", 2], 0, "second"), A("second", "s"), N("s", Uc), N("ss", Uc, Qc), Q(["s", "ss"], id); | |
var Id = D("Seconds", !1); | |
I("S", 0, 0, function() { | |
return~~ (this.millisecond() / 100) | |
}), I(0, ["SS", 2], 0, function() { | |
return~~ (this.millisecond() / 10) | |
}), Vb("SSS"), Vb("SSSS"), A("millisecond", "ms"), N("S", Vc, Pc), N("SS", Vc, Qc), N("SSS", Vc, Rc), N("SSSS", Yc), Q(["S", "SS", "SSS", "SSSS"], function(a, b) { | |
b[jd] = r(1e3 * ("0." + a)) | |
}); | |
var Jd = D("Milliseconds", !1); | |
I("z", 0, 0, "zoneAbbr"), I("zz", 0, 0, "zoneName"); | |
var Kd = p.prototype; | |
Kd.add = yd, Kd.calendar = bb, Kd.clone = cb, Kd.diff = ib, Kd.endOf = ub, Kd.format = mb, Kd.from = nb, Kd.fromNow = ob, Kd.to = pb, Kd.toNow = qb, Kd.get = G, Kd.invalidAt = Bb, Kd.isAfter = db, Kd.isBefore = eb, Kd.isBetween = fb, Kd.isSame = gb, Kd.isValid = zb, Kd.lang = Ad, Kd.locale = rb, Kd.localeData = sb, Kd.max = ud, Kd.min = td, Kd.parsingFlags = Ab, Kd.set = G, Kd.startOf = tb, Kd.subtract = zd, Kd.toArray = yb, Kd.toDate = xb, Kd.toISOString = lb, Kd.toJSON = lb, Kd.toString = kb, Kd.unix = wb, Kd.valueOf = vb, Kd.year = rd, Kd.isLeapYear = ia, Kd.weekYear = Eb, Kd.isoWeekYear = Fb, Kd.quarter = Kd.quarters = Ib, Kd.month = Y, Kd.daysInMonth = Z, Kd.week = Kd.weeks = na, Kd.isoWeek = Kd.isoWeeks = oa, Kd.weeksInYear = Hb, Kd.isoWeeksInYear = Gb, Kd.date = Bd, Kd.day = Kd.days = Ob, Kd.weekday = Pb, Kd.isoWeekday = Qb, Kd.dayOfYear = qa, Kd.hour = Kd.hours = Gd, Kd.minute = Kd.minutes = Hd, Kd.second = Kd.seconds = Id, Kd.millisecond = Kd.milliseconds = Jd, Kd.utcOffset = Ma, Kd.utc = Oa, Kd.local = Pa, Kd.parseZone = Qa, Kd.hasAlignedHourOffset = Ra, Kd.isDST = Sa, Kd.isDSTShifted = Ta, Kd.isLocal = Ua, Kd.isUtcOffset = Va, Kd.isUtc = Wa, Kd.isUTC = Wa, Kd.zoneAbbr = Wb, Kd.zoneName = Xb, Kd.dates = aa("dates accessor is deprecated. Use date instead.", Bd), Kd.months = aa("months accessor is deprecated. Use month instead", Y), Kd.years = aa("years accessor is deprecated. Use year instead", rd), Kd.zone = aa("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779", Na); | |
var Ld = Kd, | |
Md = { | |
sameDay: "[Today at] LT", | |
nextDay: "[Tomorrow at] LT", | |
nextWeek: "dddd [at] LT", | |
lastDay: "[Yesterday at] LT", | |
lastWeek: "[Last] dddd [at] LT", | |
sameElse: "L" | |
}, Nd = { | |
LTS: "h:mm:ss A", | |
LT: "h:mm A", | |
L: "MM/DD/YYYY", | |
LL: "MMMM D, YYYY", | |
LLL: "MMMM D, YYYY LT", | |
LLLL: "dddd, MMMM D, YYYY LT" | |
}, Od = "Invalid date", | |
Pd = "%d", | |
Qd = /\d{1,2}/, | |
Rd = { | |
future: "in %s", | |
past: "%s ago", | |
s: "a few seconds", | |
m: "a minute", | |
mm: "%d minutes", | |
h: "an hour", | |
hh: "%d hours", | |
d: "a day", | |
dd: "%d days", | |
M: "a month", | |
MM: "%d months", | |
y: "a year", | |
yy: "%d years" | |
}, Sd = t.prototype; | |
Sd._calendar = Md, Sd.calendar = $b, Sd._longDateFormat = Nd, Sd.longDateFormat = _b, Sd._invalidDate = Od, Sd.invalidDate = ac, Sd._ordinal = Pd, Sd.ordinal = bc, Sd._ordinalParse = Qd, Sd.preparse = cc, Sd.postformat = cc, Sd._relativeTime = Rd, Sd.relativeTime = dc, Sd.pastFuture = ec, Sd.set = fc, Sd.months = U, Sd._months = kd, Sd.monthsShort = V, Sd._monthsShort = ld, Sd.monthsParse = W, Sd.week = ka, Sd._week = sd, Sd.firstDayOfYear = ma, Sd.firstDayOfWeek = la, Sd.weekdays = Kb, Sd._weekdays = Cd, Sd.weekdaysMin = Mb, Sd._weekdaysMin = Ed, Sd.weekdaysShort = Lb, Sd._weekdaysShort = Dd, Sd.weekdaysParse = Nb, Sd.isPM = Tb, Sd._meridiemParse = Fd, Sd.meridiem = Ub, x("en", { | |
ordinalParse: /\d{1,2}(th|st|nd|rd)/, | |
ordinal: function(a) { | |
var b = a % 10, | |
c = 1 === r(a % 100 / 10) ? "th" : 1 === b ? "st" : 2 === b ? "nd" : 3 === b ? "rd" : "th"; | |
return a + c | |
} | |
}), c.lang = aa("moment.lang is deprecated. Use moment.locale instead.", x), c.langData = aa("moment.langData is deprecated. Use moment.localeData instead.", z); | |
var Td = Math.abs, | |
Ud = wc("ms"), | |
Vd = wc("s"), | |
Wd = wc("m"), | |
Xd = wc("h"), | |
Yd = wc("d"), | |
Zd = wc("w"), | |
$d = wc("M"), | |
_d = wc("y"), | |
ae = yc("milliseconds"), | |
be = yc("seconds"), | |
ce = yc("minutes"), | |
de = yc("hours"), | |
ee = yc("days"), | |
fe = yc("months"), | |
ge = yc("years"), | |
he = Math.round, | |
ie = { | |
s: 45, | |
m: 45, | |
h: 22, | |
d: 26, | |
M: 11 | |
}, je = Math.abs, | |
ke = Ga.prototype; | |
ke.abs = nc, ke.add = pc, ke.subtract = qc, ke.as = uc, ke.asMilliseconds = Ud, ke.asSeconds = Vd, ke.asMinutes = Wd, ke.asHours = Xd, ke.asDays = Yd, ke.asWeeks = Zd, ke.asMonths = $d, ke.asYears = _d, ke.valueOf = vc, ke._bubble = rc, ke.get = xc, ke.milliseconds = ae, ke.seconds = be, ke.minutes = ce, ke.hours = de, ke.days = ee, ke.weeks = zc, ke.months = fe, ke.years = ge, ke.humanize = Dc, ke.toISOString = Ec, ke.toString = Ec, ke.toJSON = Ec, ke.locale = rb, ke.localeData = sb, ke.toIsoString = aa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", Ec), ke.lang = Ad, I("X", 0, 0, "unix"), I("x", 0, 0, "valueOf"), N("x", Zc), N("X", _c), Q("X", function(a, b, c) { | |
c._d = new Date(1e3 * parseFloat(a, 10)) | |
}), Q("x", function(a, b, c) { | |
c._d = new Date(r(a)) | |
}), c.version = "2.10.3", d(Ca), c.fn = Ld, c.min = Ea, c.max = Fa, c.utc = j, c.unix = Yb, c.months = ic, c.isDate = f, c.locale = x, c.invalid = n, c.duration = Xa, c.isMoment = q, c.weekdays = kc, c.parseZone = Zb, c.localeData = z, c.isDuration = Ha, c.monthsShort = jc, c.weekdaysMin = mc, c.defineLocale = y, c.weekdaysShort = lc, c.normalizeUnits = B, c.relativeTimeThreshold = Cc; | |
var le = c; | |
return le | |
}) | |
}, {} | |
], | |
57: [ | |
function(a, b, c) { | |
"use strict"; | |
b.exports = a("./lib") | |
}, { | |
"./lib": 62 | |
} | |
], | |
58: [ | |
function(a, b, c) { | |
"use strict"; | |
function d() {} | |
function e(a) { | |
try { | |
return a.then | |
} catch (b) { | |
return q = b, r | |
} | |
} | |
function f(a, b) { | |
try { | |
return a(b) | |
} catch (c) { | |
return q = c, r | |
} | |
} | |
function g(a, b, c) { | |
try { | |
a(b, c) | |
} catch (d) { | |
return q = d, r | |
} | |
} | |
function h(a) { | |
if ("object" != typeof this) throw new TypeError("Promises must be constructed via new"); | |
if ("function" != typeof a) throw new TypeError("not a function"); | |
this._32 = 0, this._8 = null, this._89 = [], a !== d && o(a, this) | |
} | |
function i(a, b, c) { | |
return new a.constructor(function(e, f) { | |
var g = new h(d); | |
g.then(e, f), j(a, new n(b, c, g)) | |
}) | |
} | |
function j(a, b) { | |
for (; 3 === a._32;) a = a._8; | |
return 0 === a._32 ? void a._89.push(b) : void p(function() { | |
var c = 1 === a._32 ? b.onFulfilled : b.onRejected; | |
if (null === c) return void(1 === a._32 ? k(b.promise, a._8) : l(b.promise, a._8)); | |
var d = f(c, a._8); | |
d === r ? l(b.promise, q) : k(b.promise, d) | |
}) | |
} | |
function k(a, b) { | |
if (b === a) return l(a, new TypeError("A promise cannot be resolved with itself.")); | |
if (b && ("object" == typeof b || "function" == typeof b)) { | |
var c = e(b); | |
if (c === r) return l(a, q); | |
if (c === a.then && b instanceof h) return a._32 = 3, a._8 = b, void m(a); | |
if ("function" == typeof c) return void o(c.bind(b), a) | |
} | |
a._32 = 1, a._8 = b, m(a) | |
} | |
function l(a, b) { | |
a._32 = 2, a._8 = b, m(a) | |
} | |
function m(a) { | |
for (var b = 0; b < a._89.length; b++) j(a, a._89[b]); | |
a._89 = null | |
} | |
function n(a, b, c) { | |
this.onFulfilled = "function" == typeof a ? a : null, this.onRejected = "function" == typeof b ? b : null, this.promise = c | |
} | |
function o(a, b) { | |
var c = !1, | |
d = g(a, function(a) { | |
c || (c = !0, k(b, a)) | |
}, function(a) { | |
c || (c = !0, l(b, a)) | |
}); | |
c || d !== r || (c = !0, l(b, q)) | |
} | |
var p = a("asap/raw"), | |
q = null, | |
r = {}; | |
b.exports = h, h._83 = d, h.prototype.then = function(a, b) { | |
if (this.constructor !== h) return i(this, a, b); | |
var c = new h(d); | |
return j(this, new n(a, b, c)), c | |
} | |
}, { | |
"asap/raw": 66 | |
} | |
], | |
59: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./core.js"); | |
b.exports = d, d.prototype.done = function(a, b) { | |
var c = arguments.length ? this.then.apply(this, arguments) : this; | |
c.then(null, function(a) { | |
setTimeout(function() { | |
throw a | |
}, 0) | |
}) | |
} | |
}, { | |
"./core.js": 58 | |
} | |
], | |
60: [ | |
function(a, b, c) { | |
"use strict"; | |
function d(a) { | |
var b = new e(e._83); | |
return b._32 = 1, b._8 = a, b | |
} | |
var e = a("./core.js"); | |
a("asap/raw"); | |
b.exports = e; | |
var f = d(!0), | |
g = d(!1), | |
h = d(null), | |
i = d(void 0), | |
j = d(0), | |
k = d(""); | |
e.resolve = function(a) { | |
if (a instanceof e) return a; | |
if (null === a) return h; | |
if (void 0 === a) return i; | |
if (a === !0) return f; | |
if (a === !1) return g; | |
if (0 === a) return j; | |
if ("" === a) return k; | |
if ("object" == typeof a || "function" == typeof a) try { | |
var b = a.then; | |
if ("function" == typeof b) return new e(b.bind(a)) | |
} catch (c) { | |
return new e(function(a, b) { | |
b(c) | |
}) | |
} | |
return d(a) | |
}, e.all = function(a) { | |
var b = Array.prototype.slice.call(a); | |
return new e(function(a, c) { | |
function d(g, h) { | |
if (h && ("object" == typeof h || "function" == typeof h)) { | |
if (h instanceof e && h.then === e.prototype.then) { | |
for (; 3 === h._32;) h = h._8; | |
return 1 === h._32 ? d(g, h._8) : (2 === h._32 && c(h._8), void h.then(function(a) { | |
d(g, a) | |
}, c)) | |
} | |
var i = h.then; | |
if ("function" == typeof i) { | |
var j = new e(i.bind(h)); | |
return void j.then(function(a) { | |
d(g, a) | |
}, c) | |
} | |
} | |
b[g] = h, 0 === --f && a(b) | |
} | |
if (0 === b.length) return a([]); | |
for (var f = b.length, g = 0; g < b.length; g++) d(g, b[g]) | |
}) | |
}, e.reject = function(a) { | |
return new e(function(b, c) { | |
c(a) | |
}) | |
}, e.race = function(a) { | |
return new e(function(b, c) { | |
a.forEach(function(a) { | |
e.resolve(a).then(b, c) | |
}) | |
}) | |
}, e.prototype["catch"] = function(a) { | |
return this.then(null, a) | |
} | |
}, { | |
"./core.js": 58, | |
"asap/raw": 66 | |
} | |
], | |
61: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./core.js"); | |
b.exports = d, d.prototype["finally"] = function(a) { | |
return this.then(function(b) { | |
return d.resolve(a()).then(function() { | |
return b | |
}) | |
}, function(b) { | |
return d.resolve(a()).then(function() { | |
throw b | |
}) | |
}) | |
} | |
}, { | |
"./core.js": 58 | |
} | |
], | |
62: [ | |
function(a, b, c) { | |
"use strict"; | |
b.exports = a("./core.js"), a("./done.js"), a("./finally.js"), a("./es6-extensions.js"), a("./node-extensions.js") | |
}, { | |
"./core.js": 58, | |
"./done.js": 59, | |
"./es6-extensions.js": 60, | |
"./finally.js": 61, | |
"./node-extensions.js": 63 | |
} | |
], | |
63: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./core.js"), | |
e = a("asap"); | |
b.exports = d, d.denodeify = function(a, b) { | |
return b = b || 1 / 0, | |
function() { | |
var c = this, | |
e = Array.prototype.slice.call(arguments); | |
return new d(function(d, f) { | |
for (; e.length && e.length > b;) e.pop(); | |
e.push(function(a, b) { | |
a ? f(a) : d(b) | |
}); | |
var g = a.apply(c, e); | |
!g || "object" != typeof g && "function" != typeof g || "function" != typeof g.then || d(g) | |
}) | |
} | |
}, d.nodeify = function(a) { | |
return function() { | |
var b = Array.prototype.slice.call(arguments), | |
c = "function" == typeof b[b.length - 1] ? b.pop() : null, | |
f = this; | |
try { | |
return a.apply(this, arguments).nodeify(c, f) | |
} catch (g) { | |
if (null === c || "undefined" == typeof c) return new d(function(a, b) { | |
b(g) | |
}); | |
e(function() { | |
c.call(f, g) | |
}) | |
} | |
} | |
}, d.prototype.nodeify = function(a, b) { | |
return "function" != typeof a ? this : void this.then(function(c) { | |
e(function() { | |
a.call(b, null, c) | |
}) | |
}, function(c) { | |
e(function() { | |
a.call(b, c) | |
}) | |
}) | |
} | |
}, { | |
"./core.js": 58, | |
asap: 64 | |
} | |
], | |
64: [ | |
function(a, b, c) { | |
"use strict"; | |
function d() { | |
if (i.length) throw i.shift() | |
} | |
function e(a) { | |
var b; | |
b = h.length ? h.pop() : new f, b.task = a, g(b) | |
} | |
function f() { | |
this.task = null | |
} | |
var g = a("./raw"), | |
h = [], | |
i = [], | |
j = g.makeRequestCallFromTimer(d); | |
b.exports = e, f.prototype.call = function() { | |
try { | |
this.task.call() | |
} catch (a) { | |
e.onerror ? e.onerror(a) : (i.push(a), j()) | |
} finally { | |
this.task = null, h[h.length] = this | |
} | |
} | |
}, { | |
"./raw": 65 | |
} | |
], | |
65: [ | |
function(a, b, c) { | |
(function(a) { | |
"use strict"; | |
function c(a) { | |
h.length || (g(), i = !0), h[h.length] = a | |
} | |
function d() { | |
for (; j < h.length;) { | |
var a = j; | |
if (j += 1, h[a].call(), j > k) { | |
for (var b = 0, c = h.length - j; c > b; b++) h[b] = h[b + j]; | |
h.length -= j, j = 0 | |
} | |
} | |
h.length = 0, j = 0, i = !1 | |
} | |
function e(a) { | |
var b = 1, | |
c = new l(a), | |
d = document.createTextNode(""); | |
return c.observe(d, { | |
characterData: !0 | |
}), | |
function() { | |
b = -b, d.data = b | |
} | |
} | |
function f(a) { | |
return function() { | |
function b() { | |
clearTimeout(c), clearInterval(d), a() | |
} | |
var c = setTimeout(b, 0), | |
d = setInterval(b, 50) | |
} | |
} | |
b.exports = c; | |
var g, h = [], | |
i = !1, | |
j = 0, | |
k = 1024, | |
l = a.MutationObserver || a.WebKitMutationObserver; | |
g = "function" == typeof l ? e(d) : f(d), c.requestFlush = g, c.makeRequestCallFromTimer = f | |
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) | |
}, {} | |
], | |
66: [ | |
function(a, b, c) { | |
(function(c) { | |
"use strict"; | |
function d(a) { | |
i.length || (f(), j = !0), i[i.length] = a | |
} | |
function e() { | |
for (; k < i.length;) { | |
var a = k; | |
if (k += 1, i[a].call(), k > l) { | |
for (var b = 0, c = i.length - k; c > b; b++) i[b] = i[b + k]; | |
i.length -= k, k = 0 | |
} | |
} | |
i.length = 0, k = 0, j = !1 | |
} | |
function f() { | |
var b = c.domain; | |
b && (g || (g = a("domain")), g.active = c.domain = null), j && h ? setImmediate(e) : c.nextTick(e), b && (g.active = c.domain = b) | |
} | |
var g, h = "function" == typeof setImmediate; | |
b.exports = d; | |
var i = [], | |
j = !1, | |
k = 0, | |
l = 1024; | |
d.requestFlush = f | |
}).call(this, a("_process")) | |
}, { | |
_process: 20, | |
domain: 17 | |
} | |
], | |
67: [ | |
function(a, b, c) { | |
! function() { | |
"use strict"; | |
var a = {}; | |
a.parse = function(a) { | |
return "string" != typeof a ? {} : (a = a.trim().replace(/^(\?|#)/, ""), a ? a.trim().split("&").reduce(function(a, b) { | |
var c = b.replace(/\+/g, " ").split("="), | |
d = c[0], | |
e = c[1]; | |
return d = decodeURIComponent(d), e = void 0 === e ? null : decodeURIComponent(e), a.hasOwnProperty(d) ? Array.isArray(a[d]) ? a[d].push(e) : a[d] = [a[d], e] : a[d] = e, a | |
}, {}) : {}) | |
}, a.stringify = function(a) { | |
return a ? Object.keys(a).map(function(b) { | |
var c = a[b]; | |
return Array.isArray(c) ? c.map(function(a) { | |
return encodeURIComponent(b) + "=" + encodeURIComponent(a) | |
}).join("&") : encodeURIComponent(b) + "=" + encodeURIComponent(c) | |
}).join("&") : "" | |
}, "function" == typeof define && define.amd ? define(function() { | |
return a | |
}) : "undefined" != typeof b && b.exports ? b.exports = a : self.queryString = a | |
}() | |
}, {} | |
], | |
68: [ | |
function(a, b, c) { | |
! function(a) { | |
var c, d, e = "0.4.2", | |
f = "hasOwnProperty", | |
g = /[\.\/]/, | |
h = "*", | |
i = function() {}, j = function(a, b) { | |
return a - b | |
}, k = { | |
n: {} | |
}, l = function(a, b) { | |
a = String(a); | |
var e, f = d, | |
g = Array.prototype.slice.call(arguments, 2), | |
h = l.listeners(a), | |
i = 0, | |
k = [], | |
m = {}, n = [], | |
o = c; | |
c = a, d = 0; | |
for (var p = 0, q = h.length; q > p; p++) "zIndex" in h[p] && (k.push(h[p].zIndex), h[p].zIndex < 0 && (m[h[p].zIndex] = h[p])); | |
for (k.sort(j); k[i] < 0;) | |
if (e = m[k[i++]], n.push(e.apply(b, g)), d) return d = f, n; | |
for (p = 0; q > p; p++) | |
if (e = h[p], "zIndex" in e) | |
if (e.zIndex == k[i]) { | |
if (n.push(e.apply(b, g)), d) break; | |
do | |
if (i++, e = m[k[i]], e && n.push(e.apply(b, g)), d) break; while (e) | |
} else m[e.zIndex] = e; | |
else if (n.push(e.apply(b, g)), d) break; | |
return d = f, c = o, n.length ? n : null | |
}; | |
l._events = k, l.listeners = function(a) { | |
var b, c, d, e, f, i, j, l, m = a.split(g), | |
n = k, | |
o = [n], | |
p = []; | |
for (e = 0, f = m.length; f > e; e++) { | |
for (l = [], i = 0, j = o.length; j > i; i++) | |
for (n = o[i].n, c = [n[m[e]], n[h]], d = 2; d--;) b = c[d], b && (l.push(b), p = p.concat(b.f || [])); | |
o = l | |
} | |
return p | |
}, l.on = function(a, b) { | |
if (a = String(a), "function" != typeof b) return function() {}; | |
for (var c = a.split(g), d = k, e = 0, f = c.length; f > e; e++) d = d.n, d = d.hasOwnProperty(c[e]) && d[c[e]] || (d[c[e]] = { | |
n: {} | |
}); | |
for (d.f = d.f || [], e = 0, f = d.f.length; f > e; e++) | |
if (d.f[e] == b) return i; | |
return d.f.push(b), | |
function(a) { | |
+a == +a && (b.zIndex = +a) | |
} | |
}, l.f = function(a) { | |
var b = [].slice.call(arguments, 1); | |
return function() { | |
l.apply(null, [a, null].concat(b).concat([].slice.call(arguments, 0))) | |
} | |
}, l.stop = function() { | |
d = 1 | |
}, l.nt = function(a) { | |
return a ? new RegExp("(?:\\.|\\/|^)" + a + "(?:\\.|\\/|$)").test(c) : c | |
}, l.nts = function() { | |
return c.split(g) | |
}, l.off = l.unbind = function(a, b) { | |
if (!a) return void(l._events = k = { | |
n: {} | |
}); | |
var c, d, e, i, j, m, n, o = a.split(g), | |
p = [k]; | |
for (i = 0, j = o.length; j > i; i++) | |
for (m = 0; m < p.length; m += e.length - 2) { | |
if (e = [m, 1], c = p[m].n, o[i] != h) c[o[i]] && e.push(c[o[i]]); | |
else | |
for (d in c) c[f](d) && e.push(c[d]); | |
p.splice.apply(p, e) | |
} | |
for (i = 0, j = p.length; j > i; i++) | |
for (c = p[i]; c.n;) { | |
if (b) { | |
if (c.f) { | |
for (m = 0, n = c.f.length; n > m; m++) | |
if (c.f[m] == b) { | |
c.f.splice(m, 1); | |
break | |
}!c.f.length && delete c.f | |
} | |
for (d in c.n) | |
if (c.n[f](d) && c.n[d].f) { | |
var q = c.n[d].f; | |
for (m = 0, n = q.length; n > m; m++) | |
if (q[m] == b) { | |
q.splice(m, 1); | |
break | |
}!q.length && delete c.n[d].f | |
} | |
} else { | |
delete c.f; | |
for (d in c.n) c.n[f](d) && c.n[d].f && delete c.n[d].f | |
} | |
c = c.n | |
} | |
}, l.once = function(a, b) { | |
var c = function() { | |
return l.unbind(a, c), b.apply(this, arguments) | |
}; | |
return l.on(a, c) | |
}, l.version = e, l.toString = function() { | |
return "You are running Eve " + e | |
}, "undefined" != typeof b && b.exports ? b.exports = l : "undefined" != typeof define ? define("eve", [], function() { | |
return l | |
}) : a.eve = l | |
}(this) | |
}, {} | |
], | |
69: [ | |
function(a, b, c) { | |
! function(a) { | |
var c, d, e = "0.4.2", | |
f = "hasOwnProperty", | |
g = /[\.\/]/, | |
h = "*", | |
i = function() {}, j = function(a, b) { | |
return a - b | |
}, k = { | |
n: {} | |
}, l = function(a, b) { | |
a = String(a); | |
var e, f = d, | |
g = Array.prototype.slice.call(arguments, 2), | |
h = l.listeners(a), | |
i = 0, | |
k = [], | |
m = {}, n = [], | |
o = c; | |
c = a, d = 0; | |
for (var p = 0, q = h.length; q > p; p++) "zIndex" in h[p] && (k.push(h[p].zIndex), h[p].zIndex < 0 && (m[h[p].zIndex] = h[p])); | |
for (k.sort(j); k[i] < 0;) | |
if (e = m[k[i++]], n.push(e.apply(b, g)), d) return d = f, n; | |
for (p = 0; q > p; p++) | |
if (e = h[p], "zIndex" in e) | |
if (e.zIndex == k[i]) { | |
if (n.push(e.apply(b, g)), d) break; | |
do | |
if (i++, e = m[k[i]], e && n.push(e.apply(b, g)), d) break; while (e) | |
} else m[e.zIndex] = e; | |
else if (n.push(e.apply(b, g)), d) break; | |
return d = f, c = o, n.length ? n : null | |
}; | |
l._events = k, l.listeners = function(a) { | |
var b, c, d, e, f, i, j, l, m = a.split(g), | |
n = k, | |
o = [n], | |
p = []; | |
for (e = 0, f = m.length; f > e; e++) { | |
for (l = [], i = 0, j = o.length; j > i; i++) | |
for (n = o[i].n, c = [n[m[e]], n[h]], d = 2; d--;) b = c[d], b && (l.push(b), p = p.concat(b.f || [])); | |
o = l | |
} | |
return p | |
}, l.on = function(a, b) { | |
if (a = String(a), "function" != typeof b) return function() {}; | |
for (var c = a.split(g), d = k, e = 0, f = c.length; f > e; e++) d = d.n, d = d.hasOwnProperty(c[e]) && d[c[e]] || (d[c[e]] = { | |
n: {} | |
}); | |
for (d.f = d.f || [], e = 0, f = d.f.length; f > e; e++) | |
if (d.f[e] == b) return i; | |
return d.f.push(b), | |
function(a) { | |
+a == +a && (b.zIndex = +a) | |
} | |
}, l.f = function(a) { | |
var b = [].slice.call(arguments, 1); | |
return function() { | |
l.apply(null, [a, null].concat(b).concat([].slice.call(arguments, 0))) | |
} | |
}, l.stop = function() { | |
d = 1 | |
}, l.nt = function(a) { | |
return a ? new RegExp("(?:\\.|\\/|^)" + a + "(?:\\.|\\/|$)").test(c) : c | |
}, l.nts = function() { | |
return c.split(g) | |
}, l.off = l.unbind = function(a, b) { | |
if (!a) return void(l._events = k = { | |
n: {} | |
}); | |
var c, d, e, i, j, m, n, o = a.split(g), | |
p = [k]; | |
for (i = 0, j = o.length; j > i; i++) | |
for (m = 0; m < p.length; m += e.length - 2) { | |
if (e = [m, 1], c = p[m].n, o[i] != h) c[o[i]] && e.push(c[o[i]]); | |
else | |
for (d in c) c[f](d) && e.push(c[d]); | |
p.splice.apply(p, e) | |
} | |
for (i = 0, j = p.length; j > i; i++) | |
for (c = p[i]; c.n;) { | |
if (b) { | |
if (c.f) { | |
for (m = 0, n = c.f.length; n > m; m++) | |
if (c.f[m] == b) { | |
c.f.splice(m, 1); | |
break | |
}!c.f.length && delete c.f | |
} | |
for (d in c.n) | |
if (c.n[f](d) && c.n[d].f) { | |
var q = c.n[d].f; | |
for (m = 0, n = q.length; n > m; m++) | |
if (q[m] == b) { | |
q.splice(m, 1); | |
break | |
}!q.length && delete c.n[d].f | |
} | |
} else { | |
delete c.f; | |
for (d in c.n) c.n[f](d) && c.n[d].f && delete c.n[d].f | |
} | |
c = c.n | |
} | |
}, l.once = function(a, b) { | |
var c = function() { | |
return l.unbind(a, c), b.apply(this, arguments) | |
}; | |
return l.on(a, c) | |
}, l.version = e, l.toString = function() { | |
return "You are running Eve " + e | |
}, "undefined" != typeof b && b.exports ? b.exports = l : "undefined" != typeof define ? define("eve", [], function() { | |
return l | |
}) : a.eve = l | |
}(window || this), | |
function(b, c) { | |
"function" == typeof define && define.amd ? define(["eve"], function(a) { | |
return c(b, a) | |
}) : c(b, b.eve || "function" == typeof a && a("eve")) | |
}(this, function(a, d) { | |
function e(a) { | |
if (e.is(a, "function")) return w ? a() : d.on("raphael.DOMload", a); | |
if (e.is(a, X)) return e._engine.create[F](e, a.splice(0, 3 + e.is(a[0], V))).add(a); | |
var b = Array.prototype.slice.call(arguments, 0); | |
if (e.is(b[b.length - 1], "function")) { | |
var c = b.pop(); | |
return w ? c.call(e._engine.create[F](e, b)) : d.on("raphael.DOMload", function() { | |
c.call(e._engine.create[F](e, b)) | |
}) | |
} | |
return e._engine.create[F](e, arguments) | |
} | |
function f(a) { | |
if ("function" == typeof a || Object(a) !== a) return a; | |
var b = new a.constructor; | |
for (var c in a) a[B](c) && (b[c] = f(a[c])); | |
return b | |
} | |
function g(a, b) { | |
for (var c = 0, d = a.length; d > c; c++) | |
if (a[c] === b) return a.push(a.splice(c, 1)[0]) | |
} | |
function h(a, b, c) { | |
function d() { | |
var e = Array.prototype.slice.call(arguments, 0), | |
f = e.join("â€"), | |
h = d.cache = d.cache || {}, i = d.count = d.count || []; | |
return h[B](f) ? (g(i, f), c ? c(h[f]) : h[f]) : (i.length >= 1e3 && delete h[i.shift()], i.push(f), h[f] = a[F](b, e), c ? c(h[f]) : h[f]) | |
} | |
return d | |
} | |
function i() { | |
return this.hex | |
} | |
function j(a, b) { | |
for (var c = [], d = 0, e = a.length; e - 2 * !b > d; d += 2) { | |
var f = [{ | |
x: +a[d - 2], | |
y: +a[d - 1] | |
}, { | |
x: +a[d], | |
y: +a[d + 1] | |
}, { | |
x: +a[d + 2], | |
y: +a[d + 3] | |
}, { | |
x: +a[d + 4], | |
y: +a[d + 5] | |
}]; | |
b ? d ? e - 4 == d ? f[3] = { | |
x: +a[0], | |
y: +a[1] | |
} : e - 2 == d && (f[2] = { | |
x: +a[0], | |
y: +a[1] | |
}, f[3] = { | |
x: +a[2], | |
y: +a[3] | |
}) : f[0] = { | |
x: +a[e - 2], | |
y: +a[e - 1] | |
} : e - 4 == d ? f[3] = f[2] : d || (f[0] = { | |
x: +a[d], | |
y: +a[d + 1] | |
}), c.push(["C", (-f[0].x + 6 * f[1].x + f[2].x) / 6, (-f[0].y + 6 * f[1].y + f[2].y) / 6, (f[1].x + 6 * f[2].x - f[3].x) / 6, (f[1].y + 6 * f[2].y - f[3].y) / 6, f[2].x, f[2].y]) | |
} | |
return c | |
} | |
function k(a, b, c, d, e) { | |
var f = -3 * b + 9 * c - 9 * d + 3 * e, | |
g = a * f + 6 * b - 12 * c + 6 * d; | |
return a * g - 3 * b + 3 * c | |
} | |
function l(a, b, c, d, e, f, g, h, i) { | |
null == i && (i = 1), i = i > 1 ? 1 : 0 > i ? 0 : i; | |
for (var j = i / 2, l = 12, m = [-.1252, .1252, -.3678, .3678, -.5873, .5873, -.7699, .7699, -.9041, .9041, -.9816, .9816], n = [.2491, .2491, .2335, .2335, .2032, .2032, .1601, .1601, .1069, .1069, .0472, .0472], o = 0, p = 0; l > p; p++) { | |
var q = j * m[p] + j, | |
r = k(q, a, c, e, g), | |
s = k(q, b, d, f, h), | |
t = r * r + s * s; | |
o += n[p] * P.sqrt(t) | |
} | |
return j * o | |
} | |
function m(a, b, c, d, e, f, g, h, i) { | |
if (!(0 > i || l(a, b, c, d, e, f, g, h) < i)) { | |
var j, k = 1, | |
m = k / 2, | |
n = k - m, | |
o = .01; | |
for (j = l(a, b, c, d, e, f, g, h, n); S(j - i) > o;) m /= 2, n += (i > j ? 1 : -1) * m, j = l(a, b, c, d, e, f, g, h, n); | |
return n | |
} | |
} | |
function n(a, b, c, d, e, f, g, h) { | |
if (!(Q(a, c) < R(e, g) || R(a, c) > Q(e, g) || Q(b, d) < R(f, h) || R(b, d) > Q(f, h))) { | |
var i = (a * d - b * c) * (e - g) - (a - c) * (e * h - f * g), | |
j = (a * d - b * c) * (f - h) - (b - d) * (e * h - f * g), | |
k = (a - c) * (f - h) - (b - d) * (e - g); | |
if (k) { | |
var l = i / k, | |
m = j / k, | |
n = +l.toFixed(2), | |
o = +m.toFixed(2); | |
if (!(n < +R(a, c).toFixed(2) || n > +Q(a, c).toFixed(2) || n < +R(e, g).toFixed(2) || n > +Q(e, g).toFixed(2) || o < +R(b, d).toFixed(2) || o > +Q(b, d).toFixed(2) || o < +R(f, h).toFixed(2) || o > +Q(f, h).toFixed(2))) return { | |
x: l, | |
y: m | |
} | |
} | |
} | |
} | |
function o(a, b, c) { | |
var d = e.bezierBBox(a), | |
f = e.bezierBBox(b); | |
if (!e.isBBoxIntersect(d, f)) return c ? 0 : []; | |
for (var g = l.apply(0, a), h = l.apply(0, b), i = Q(~~(g / 5), 1), j = Q(~~(h / 5), 1), k = [], m = [], o = {}, p = c ? 0 : [], q = 0; i + 1 > q; q++) { | |
var r = e.findDotsAtSegment.apply(e, a.concat(q / i)); | |
k.push({ | |
x: r.x, | |
y: r.y, | |
t: q / i | |
}) | |
} | |
for (q = 0; j + 1 > q; q++) r = e.findDotsAtSegment.apply(e, b.concat(q / j)), m.push({ | |
x: r.x, | |
y: r.y, | |
t: q / j | |
}); | |
for (q = 0; i > q; q++) | |
for (var s = 0; j > s; s++) { | |
var t = k[q], | |
u = k[q + 1], | |
v = m[s], | |
w = m[s + 1], | |
x = S(u.x - t.x) < .001 ? "y" : "x", | |
y = S(w.x - v.x) < .001 ? "y" : "x", | |
z = n(t.x, t.y, u.x, u.y, v.x, v.y, w.x, w.y); | |
if (z) { | |
if (o[z.x.toFixed(4)] == z.y.toFixed(4)) continue; | |
o[z.x.toFixed(4)] = z.y.toFixed(4); | |
var A = t.t + S((z[x] - t[x]) / (u[x] - t[x])) * (u.t - t.t), | |
B = v.t + S((z[y] - v[y]) / (w[y] - v[y])) * (w.t - v.t); | |
A >= 0 && 1.001 >= A && B >= 0 && 1.001 >= B && (c ? p++ : p.push({ | |
x: z.x, | |
y: z.y, | |
t1: R(A, 1), | |
t2: R(B, 1) | |
})) | |
} | |
} | |
return p | |
} | |
function p(a, b, c) { | |
a = e._path2curve(a), b = e._path2curve(b); | |
for (var d, f, g, h, i, j, k, l, m, n, p = c ? 0 : [], q = 0, r = a.length; r > q; q++) { | |
var s = a[q]; | |
if ("M" == s[0]) d = i = s[1], f = j = s[2]; | |
else { | |
"C" == s[0] ? (m = [d, f].concat(s.slice(1)), d = m[6], f = m[7]) : (m = [d, f, d, f, i, j, i, j], d = i, f = j); | |
for (var t = 0, u = b.length; u > t; t++) { | |
var v = b[t]; | |
if ("M" == v[0]) g = k = v[1], h = l = v[2]; | |
else { | |
"C" == v[0] ? (n = [g, h].concat(v.slice(1)), g = n[6], h = n[7]) : (n = [g, h, g, h, k, l, k, l], g = k, h = l); | |
var w = o(m, n, c); | |
if (c) p += w; | |
else { | |
for (var x = 0, y = w.length; y > x; x++) w[x].segment1 = q, w[x].segment2 = t, w[x].bez1 = m, w[x].bez2 = n; | |
p = p.concat(w) | |
} | |
} | |
} | |
} | |
} | |
return p | |
} | |
function q(a, b, c, d, e, f) { | |
null != a ? (this.a = +a, this.b = +b, this.c = +c, this.d = +d, this.e = +e, this.f = +f) : (this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.e = 0, this.f = 0) | |
} | |
function r() { | |
return this.x + J + this.y + J + this.width + " × " + this.height | |
} | |
function s(a, b, c, d, e, f) { | |
function g(a) { | |
return ((l * a + k) * a + j) * a | |
} | |
function h(a, b) { | |
var c = i(a, b); | |
return ((o * c + n) * c + m) * c | |
} | |
function i(a, b) { | |
var c, d, e, f, h, i; | |
for (e = a, i = 0; 8 > i; i++) { | |
if (f = g(e) - a, S(f) < b) return e; | |
if (h = (3 * l * e + 2 * k) * e + j, S(h) < 1e-6) break; | |
e -= f / h | |
} | |
if (c = 0, d = 1, e = a, c > e) return c; | |
if (e > d) return d; | |
for (; d > c;) { | |
if (f = g(e), S(f - a) < b) return e; | |
a > f ? c = e : d = e, e = (d - c) / 2 + c | |
} | |
return e | |
} | |
var j = 3 * b, | |
k = 3 * (d - b) - j, | |
l = 1 - j - k, | |
m = 3 * c, | |
n = 3 * (e - c) - m, | |
o = 1 - m - n; | |
return h(a, 1 / (200 * f)) | |
} | |
function t(a, b) { | |
var c = [], | |
d = {}; | |
if (this.ms = b, this.times = 1, a) { | |
for (var e in a) a[B](e) && (d[ba(e)] = a[e], c.push(ba(e))); | |
c.sort(na) | |
} | |
this.anim = d, this.top = c[c.length - 1], this.percents = c | |
} | |
function u(a, b, c, f, g, h) { | |
c = ba(c); | |
var i, j, k, l, m, n, o = a.ms, | |
p = {}, r = {}, t = {}; | |
if (f) | |
for (v = 0, w = kb.length; w > v; v++) { | |
var u = kb[v]; | |
if (u.el.id == b.id && u.anim == a) { | |
u.percent != c ? (kb.splice(v, 1), k = 1) : j = u, b.attr(u.totalOrigin); | |
break | |
} | |
} else f = +r; | |
for (var v = 0, w = a.percents.length; w > v; v++) { | |
if (a.percents[v] == c || a.percents[v] > f * a.top) { | |
c = a.percents[v], m = a.percents[v - 1] || 0, o = o / a.top * (c - m), l = a.percents[v + 1], i = a.anim[c]; | |
break | |
} | |
f && b.attr(a.anim[a.percents[v]]) | |
} | |
if (i) { | |
if (j) j.initstatus = f, j.start = new Date - j.ms * f; | |
else { | |
for (var x in i) | |
if (i[B](x) && (fa[B](x) || b.paper.customAttributes[B](x))) switch (p[x] = b.attr(x), null == p[x] && (p[x] = ea[x]), r[x] = i[x], fa[x]) { | |
case V: | |
t[x] = (r[x] - p[x]) / o; | |
break; | |
case "colour": | |
p[x] = e.getRGB(p[x]); | |
var z = e.getRGB(r[x]); | |
t[x] = { | |
r: (z.r - p[x].r) / o, | |
g: (z.g - p[x].g) / o, | |
b: (z.b - p[x].b) / o | |
}; | |
break; | |
case "path": | |
var A = Ma(p[x], r[x]), | |
C = A[1]; | |
for (p[x] = A[0], t[x] = [], v = 0, w = p[x].length; w > v; v++) { | |
t[x][v] = [0]; | |
for (var D = 1, E = p[x][v].length; E > D; D++) t[x][v][D] = (C[v][D] - p[x][v][D]) / o | |
} | |
break; | |
case "transform": | |
var F = b._, | |
H = Ra(F[x], r[x]); | |
if (H) | |
for (p[x] = H.from, r[x] = H.to, t[x] = [], t[x].real = !0, v = 0, w = p[x].length; w > v; v++) | |
for (t[x][v] = [p[x][v][0]], D = 1, E = p[x][v].length; E > D; D++) t[x][v][D] = (r[x][v][D] - p[x][v][D]) / o; | |
else { | |
var I = b.matrix || new q, | |
J = { | |
_: { | |
transform: F.transform | |
}, | |
getBBox: function() { | |
return b.getBBox(1) | |
} | |
}; | |
p[x] = [I.a, I.b, I.c, I.d, I.e, I.f], Pa(J, r[x]), r[x] = J._.transform, t[x] = [(J.matrix.a - I.a) / o, (J.matrix.b - I.b) / o, (J.matrix.c - I.c) / o, (J.matrix.d - I.d) / o, (J.matrix.e - I.e) / o, (J.matrix.f - I.f) / o] | |
} | |
break; | |
case "csv": | |
var M = K(i[x])[L](y), | |
N = K(p[x])[L](y); | |
if ("clip-rect" == x) | |
for (p[x] = N, t[x] = [], v = N.length; v--;) t[x][v] = (M[v] - p[x][v]) / o; | |
r[x] = M; | |
break; | |
default: | |
for (M = [][G](i[x]), N = [][G](p[x]), t[x] = [], v = b.paper.customAttributes[x].length; v--;) t[x][v] = ((M[v] || 0) - (N[v] || 0)) / o | |
} | |
var O = i.easing, P = e.easing_formulas[O]; | |
if (!P) | |
if (P = K(O).match(_), P && 5 == P.length) { | |
var Q = P; | |
P = function(a) { | |
return s(a, +Q[1], +Q[2], +Q[3], +Q[4], o) | |
} | |
} else P = pa; | |
if (n = i.start || a.start || +new Date, u = { | |
anim: a, | |
percent: c, | |
timestamp: n, | |
start: n + (a.del || 0), | |
status: 0, | |
initstatus: f || 0, | |
stop: !1, | |
ms: o, | |
easing: P, | |
from: p, | |
diff: t, | |
to: r, | |
el: b, | |
callback: i.callback, | |
prev: m, | |
next: l, | |
repeat: h || a.times, | |
origin: b.attr(), | |
totalOrigin: g | |
}, kb.push(u), f && !j && !k && (u.stop = !0, u.start = new Date - o * f, 1 == kb.length)) return mb(); | |
k && (u.start = new Date - u.ms * f), 1 == kb.length && lb(mb) | |
} | |
d("raphael.anim.start." + b.id, b, a) | |
} | |
} | |
function v(a) { | |
for (var b = 0; b < kb.length; b++) kb[b].el.paper == a && kb.splice(b--, 1) | |
} | |
e.version = "2.1.2", e.eve = d; | |
var w, x, y = /[, ]+/, | |
z = { | |
circle: 1, | |
rect: 1, | |
path: 1, | |
ellipse: 1, | |
text: 1, | |
image: 1 | |
}, A = /\{(\d+)\}/g, | |
B = "hasOwnProperty", | |
C = { | |
doc: document, | |
win: a | |
}, D = { | |
was: Object.prototype[B].call(C.win, "Raphael"), | |
is: C.win.Raphael | |
}, E = function() { | |
this.ca = this.customAttributes = {} | |
}, F = "apply", | |
G = "concat", | |
H = "ontouchstart" in C.win || C.win.DocumentTouch && C.doc instanceof DocumentTouch, | |
I = "", | |
J = " ", | |
K = String, | |
L = "split", | |
M = "click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel" [L](J), | |
N = { | |
mousedown: "touchstart", | |
mousemove: "touchmove", | |
mouseup: "touchend" | |
}, O = K.prototype.toLowerCase, | |
P = Math, | |
Q = P.max, | |
R = P.min, | |
S = P.abs, | |
T = P.pow, | |
U = P.PI, | |
V = "number", | |
W = "string", | |
X = "array", | |
Y = Object.prototype.toString, | |
Z = (e._ISURL = /^url\(['"]?(.+?)['"]?\)$/i, /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i), | |
$ = { | |
NaN: 1, | |
Infinity: 1, | |
"-Infinity": 1 | |
}, _ = /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/, | |
aa = P.round, | |
ba = parseFloat, | |
ca = parseInt, | |
da = K.prototype.toUpperCase, | |
ea = e._availableAttrs = { | |
"arrow-end": "none", | |
"arrow-start": "none", | |
blur: 0, | |
"clip-rect": "0 0 1e9 1e9", | |
cursor: "default", | |
cx: 0, | |
cy: 0, | |
fill: "#fff", | |
"fill-opacity": 1, | |
font: '10px "Arial"', | |
"font-family": '"Arial"', | |
"font-size": "10", | |
"font-style": "normal", | |
"font-weight": 400, | |
gradient: 0, | |
height: 0, | |
href: "http://raphaeljs.com/", | |
"letter-spacing": 0, | |
opacity: 1, | |
path: "M0,0", | |
r: 0, | |
rx: 0, | |
ry: 0, | |
src: "", | |
stroke: "#000", | |
"stroke-dasharray": "", | |
"stroke-linecap": "butt", | |
"stroke-linejoin": "butt", | |
"stroke-miterlimit": 0, | |
"stroke-opacity": 1, | |
"stroke-width": 1, | |
target: "_blank", | |
"text-anchor": "middle", | |
title: "Raphael", | |
transform: "", | |
width: 0, | |
x: 0, | |
y: 0 | |
}, fa = e._availableAnimAttrs = { | |
blur: V, | |
"clip-rect": "csv", | |
cx: V, | |
cy: V, | |
fill: "colour", | |
"fill-opacity": V, | |
"font-size": V, | |
height: V, | |
opacity: V, | |
path: "path", | |
r: V, | |
rx: V, | |
ry: V, | |
stroke: "colour", | |
"stroke-opacity": V, | |
"stroke-width": V, | |
transform: "transform", | |
width: V, | |
x: V, | |
y: V | |
}, ga = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/, | |
ha = { | |
hs: 1, | |
rg: 1 | |
}, ia = /,?([achlmqrstvxz]),?/gi, | |
ja = /([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/gi, | |
ka = /([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/gi, | |
la = /(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/gi, | |
ma = (e._radial_gradient = /^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/, {}), | |
na = function(a, b) { | |
return ba(a) - ba(b) | |
}, oa = function() {}, pa = function(a) { | |
return a | |
}, qa = e._rectPath = function(a, b, c, d, e) { | |
return e ? [ | |
["M", a + e, b], | |
["l", c - 2 * e, 0], | |
["a", e, e, 0, 0, 1, e, e], | |
["l", 0, d - 2 * e], | |
["a", e, e, 0, 0, 1, -e, e], | |
["l", 2 * e - c, 0], | |
["a", e, e, 0, 0, 1, -e, -e], | |
["l", 0, 2 * e - d], | |
["a", e, e, 0, 0, 1, e, -e], | |
["z"] | |
] : [ | |
["M", a, b], | |
["l", c, 0], | |
["l", 0, d], | |
["l", -c, 0], | |
["z"] | |
] | |
}, ra = function(a, b, c, d) { | |
return null == d && (d = c), [ | |
["M", a, b], | |
["m", 0, -d], | |
["a", c, d, 0, 1, 1, 0, 2 * d], | |
["a", c, d, 0, 1, 1, 0, -2 * d], | |
["z"] | |
] | |
}, sa = e._getPath = { | |
path: function(a) { | |
return a.attr("path") | |
}, | |
circle: function(a) { | |
var b = a.attrs; | |
return ra(b.cx, b.cy, b.r) | |
}, | |
ellipse: function(a) { | |
var b = a.attrs; | |
return ra(b.cx, b.cy, b.rx, b.ry) | |
}, | |
rect: function(a) { | |
var b = a.attrs; | |
return qa(b.x, b.y, b.width, b.height, b.r) | |
}, | |
image: function(a) { | |
var b = a.attrs; | |
return qa(b.x, b.y, b.width, b.height) | |
}, | |
text: function(a) { | |
var b = a._getBBox(); | |
return qa(b.x, b.y, b.width, b.height) | |
}, | |
set: function(a) { | |
var b = a._getBBox(); | |
return qa(b.x, b.y, b.width, b.height) | |
} | |
}, ta = e.mapPath = function(a, b) { | |
if (!b) return a; | |
var c, d, e, f, g, h, i; | |
for (a = Ma(a), e = 0, g = a.length; g > e; e++) | |
for (i = a[e], f = 1, h = i.length; h > f; f += 2) c = b.x(i[f], i[f + 1]), d = b.y(i[f], i[f + 1]), i[f] = c, i[f + 1] = d; | |
return a | |
}; | |
if (e._g = C, e.type = C.win.SVGAngle || C.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML", "VML" == e.type) { | |
var ua, va = C.doc.createElement("div"); | |
if (va.innerHTML = '<v:shape adj="1"/>', ua = va.firstChild, ua.style.behavior = "url(#default#VML)", !ua || "object" != typeof ua.adj) return e.type = I; | |
va = null | |
} | |
e.svg = !(e.vml = "VML" == e.type), e._Paper = E, e.fn = x = E.prototype = e.prototype, e._id = 0, e._oid = 0, e.is = function(a, b) { | |
return b = O.call(b), "finite" == b ? !$[B](+a) : "array" == b ? a instanceof Array : "null" == b && null === a || b == typeof a && null !== a || "object" == b && a === Object(a) || "array" == b && Array.isArray && Array.isArray(a) || Y.call(a).slice(8, -1).toLowerCase() == b | |
}, e.angle = function(a, b, c, d, f, g) { | |
if (null == f) { | |
var h = a - c, | |
i = b - d; | |
return h || i ? (180 + 180 * P.atan2(-i, -h) / U + 360) % 360 : 0 | |
} | |
return e.angle(a, b, f, g) - e.angle(c, d, f, g) | |
}, e.rad = function(a) { | |
return a % 360 * U / 180 | |
}, e.deg = function(a) { | |
return Math.round(180 * a / U % 360 * 1e3) / 1e3 | |
}, e.snapTo = function(a, b, c) { | |
if (c = e.is(c, "finite") ? c : 10, e.is(a, X)) { | |
for (var d = a.length; d--;) | |
if (S(a[d] - b) <= c) return a[d] | |
} else { | |
a = +a; | |
var f = b % a; | |
if (c > f) return b - f; | |
if (f > a - c) return b - f + a | |
} | |
return b | |
}; | |
e.createUUID = function(a, b) { | |
return function() { | |
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a, b).toUpperCase() | |
} | |
}(/[xy]/g, function(a) { | |
var b = 16 * P.random() | 0, | |
c = "x" == a ? b : 3 & b | 8; | |
return c.toString(16) | |
}); | |
e.setWindow = function(a) { | |
d("raphael.setWindow", e, C.win, a), C.win = a, C.doc = C.win.document, e._engine.initWin && e._engine.initWin(C.win) | |
}; | |
var wa = function(a) { | |
if (e.vml) { | |
var b, c = /^\s+|\s+$/g; | |
try { | |
var d = new ActiveXObject("htmlfile"); | |
d.write("<body>"), d.close(), b = d.body | |
} catch (f) { | |
b = createPopup().document.body | |
} | |
var g = b.createTextRange(); | |
wa = h(function(a) { | |
try { | |
b.style.color = K(a).replace(c, I); | |
var d = g.queryCommandValue("ForeColor"); | |
return d = (255 & d) << 16 | 65280 & d | (16711680 & d) >>> 16, "#" + ("000000" + d.toString(16)).slice(-6) | |
} catch (e) { | |
return "none" | |
} | |
}) | |
} else { | |
var i = C.doc.createElement("i"); | |
i.title = "Raphaël Colour Picker", i.style.display = "none", C.doc.body.appendChild(i), wa = h(function(a) { | |
return i.style.color = a, C.doc.defaultView.getComputedStyle(i, I).getPropertyValue("color") | |
}) | |
} | |
return wa(a) | |
}, xa = function() { | |
return "hsb(" + [this.h, this.s, this.b] + ")" | |
}, ya = function() { | |
return "hsl(" + [this.h, this.s, this.l] + ")" | |
}, za = function() { | |
return this.hex | |
}, Aa = function(a, b, c) { | |
if (null == b && e.is(a, "object") && "r" in a && "g" in a && "b" in a && (c = a.b, b = a.g, a = a.r), null == b && e.is(a, W)) { | |
var d = e.getRGB(a); | |
a = d.r, b = d.g, c = d.b | |
} | |
return (a > 1 || b > 1 || c > 1) && (a /= 255, b /= 255, c /= 255), [a, b, c] | |
}, Ba = function(a, b, c, d) { | |
a *= 255, b *= 255, c *= 255; | |
var f = { | |
r: a, | |
g: b, | |
b: c, | |
hex: e.rgb(a, b, c), | |
toString: za | |
}; | |
return e.is(d, "finite") && (f.opacity = d), f | |
}; | |
e.color = function(a) { | |
var b; | |
return e.is(a, "object") && "h" in a && "s" in a && "b" in a ? (b = e.hsb2rgb(a), a.r = b.r, a.g = b.g, a.b = b.b, a.hex = b.hex) : e.is(a, "object") && "h" in a && "s" in a && "l" in a ? (b = e.hsl2rgb(a), a.r = b.r, a.g = b.g, a.b = b.b, a.hex = b.hex) : (e.is(a, "string") && (a = e.getRGB(a)), e.is(a, "object") && "r" in a && "g" in a && "b" in a ? (b = e.rgb2hsl(a), a.h = b.h, a.s = b.s, a.l = b.l, b = e.rgb2hsb(a), a.v = b.b) : (a = { | |
hex: "none" | |
}, a.r = a.g = a.b = a.h = a.s = a.v = a.l = -1)), a.toString = za, a | |
}, e.hsb2rgb = function(a, b, c, d) { | |
this.is(a, "object") && "h" in a && "s" in a && "b" in a && (c = a.b, b = a.s, d = a.o, a = a.h), a *= 360; | |
var e, f, g, h, i; | |
return a = a % 360 / 60, i = c * b, h = i * (1 - S(a % 2 - 1)), e = f = g = c - i, a = ~~a, e += [i, h, 0, 0, h, i][a], f += [h, i, i, h, 0, 0][a], g += [0, 0, h, i, i, h][a], Ba(e, f, g, d) | |
}, e.hsl2rgb = function(a, b, c, d) { | |
this.is(a, "object") && "h" in a && "s" in a && "l" in a && (c = a.l, b = a.s, a = a.h), (a > 1 || b > 1 || c > 1) && (a /= 360, b /= 100, c /= 100), a *= 360; | |
var e, f, g, h, i; | |
return a = a % 360 / 60, i = 2 * b * (.5 > c ? c : 1 - c), h = i * (1 - S(a % 2 - 1)), e = f = g = c - i / 2, a = ~~a, e += [i, h, 0, 0, h, i][a], f += [h, i, i, h, 0, 0][a], g += [0, 0, h, i, i, h][a], Ba(e, f, g, d) | |
}, e.rgb2hsb = function(a, b, c) { | |
c = Aa(a, b, c), a = c[0], b = c[1], c = c[2]; | |
var d, e, f, g; | |
return f = Q(a, b, c), g = f - R(a, b, c), d = 0 == g ? null : f == a ? (b - c) / g : f == b ? (c - a) / g + 2 : (a - b) / g + 4, d = (d + 360) % 6 * 60 / 360, e = 0 == g ? 0 : g / f, { | |
h: d, | |
s: e, | |
b: f, | |
toString: xa | |
} | |
}, e.rgb2hsl = function(a, b, c) { | |
c = Aa(a, b, c), a = c[0], b = c[1], c = c[2]; | |
var d, e, f, g, h, i; | |
return g = Q(a, b, c), h = R(a, b, c), i = g - h, d = 0 == i ? null : g == a ? (b - c) / i : g == b ? (c - a) / i + 2 : (a - b) / i + 4, d = (d + 360) % 6 * 60 / 360, f = (g + h) / 2, e = 0 == i ? 0 : .5 > f ? i / (2 * f) : i / (2 - 2 * f), { | |
h: d, | |
s: e, | |
l: f, | |
toString: ya | |
} | |
}, e._path2string = function() { | |
return this.join(",").replace(ia, "$1") | |
}; | |
e._preload = function(a, b) { | |
var c = C.doc.createElement("img"); | |
c.style.cssText = "position:absolute;left:-9999em;top:-9999em", c.onload = function() { | |
b.call(this), this.onload = null, C.doc.body.removeChild(this) | |
}, c.onerror = function() { | |
C.doc.body.removeChild(this) | |
}, C.doc.body.appendChild(c), c.src = a | |
}; | |
e.getRGB = h(function(a) { | |
if (!a || (a = K(a)).indexOf("-") + 1) return { | |
r: -1, | |
g: -1, | |
b: -1, | |
hex: "none", | |
error: 1, | |
toString: i | |
}; | |
if ("none" == a) return { | |
r: -1, | |
g: -1, | |
b: -1, | |
hex: "none", | |
toString: i | |
}; | |
!(ha[B](a.toLowerCase().substring(0, 2)) || "#" == a.charAt()) && (a = wa(a)); | |
var b, c, d, f, g, h, j = a.match(Z); | |
return j ? (j[2] && (d = ca(j[2].substring(5), 16), c = ca(j[2].substring(3, 5), 16), b = ca(j[2].substring(1, 3), 16)), j[3] && (d = ca((g = j[3].charAt(3)) + g, 16), c = ca((g = j[3].charAt(2)) + g, 16), b = ca((g = j[3].charAt(1)) + g, 16)), j[4] && (h = j[4][L](ga), b = ba(h[0]), "%" == h[0].slice(-1) && (b *= 2.55), c = ba(h[1]), "%" == h[1].slice(-1) && (c *= 2.55), d = ba(h[2]), "%" == h[2].slice(-1) && (d *= 2.55), "rgba" == j[1].toLowerCase().slice(0, 4) && (f = ba(h[3])), h[3] && "%" == h[3].slice(-1) && (f /= 100)), j[5] ? (h = j[5][L](ga), b = ba(h[0]), "%" == h[0].slice(-1) && (b *= 2.55), c = ba(h[1]), "%" == h[1].slice(-1) && (c *= 2.55), d = ba(h[2]), "%" == h[2].slice(-1) && (d *= 2.55), ("deg" == h[0].slice(-3) || "°" == h[0].slice(-1)) && (b /= 360), "hsba" == j[1].toLowerCase().slice(0, 4) && (f = ba(h[3])), h[3] && "%" == h[3].slice(-1) && (f /= 100), e.hsb2rgb(b, c, d, f)) : j[6] ? (h = j[6][L](ga), b = ba(h[0]), "%" == h[0].slice(-1) && (b *= 2.55), c = ba(h[1]), "%" == h[1].slice(-1) && (c *= 2.55), d = ba(h[2]), "%" == h[2].slice(-1) && (d *= 2.55), ("deg" == h[0].slice(-3) || "°" == h[0].slice(-1)) && (b /= 360), "hsla" == j[1].toLowerCase().slice(0, 4) && (f = ba(h[3])), h[3] && "%" == h[3].slice(-1) && (f /= 100), e.hsl2rgb(b, c, d, f)) : (j = { | |
r: b, | |
g: c, | |
b: d, | |
toString: i | |
}, j.hex = "#" + (16777216 | d | c << 8 | b << 16).toString(16).slice(1), e.is(f, "finite") && (j.opacity = f), j)) : { | |
r: -1, | |
g: -1, | |
b: -1, | |
hex: "none", | |
error: 1, | |
toString: i | |
} | |
}, e), e.hsb = h(function(a, b, c) { | |
return e.hsb2rgb(a, b, c).hex | |
}), e.hsl = h(function(a, b, c) { | |
return e.hsl2rgb(a, b, c).hex | |
}), e.rgb = h(function(a, b, c) { | |
return "#" + (16777216 | c | b << 8 | a << 16).toString(16).slice(1) | |
}), e.getColor = function(a) { | |
var b = this.getColor.start = this.getColor.start || { | |
h: 0, | |
s: 1, | |
b: a || .75 | |
}, c = this.hsb2rgb(b.h, b.s, b.b); | |
return b.h += .075, b.h > 1 && (b.h = 0, b.s -= .2, b.s <= 0 && (this.getColor.start = { | |
h: 0, | |
s: 1, | |
b: b.b | |
})), c.hex | |
}, e.getColor.reset = function() { | |
delete this.start | |
}, e.parsePathString = function(a) { | |
if (!a) return null; | |
var b = Ca(a); | |
if (b.arr) return Ea(b.arr); | |
var c = { | |
a: 7, | |
c: 6, | |
h: 1, | |
l: 2, | |
m: 2, | |
r: 4, | |
q: 4, | |
s: 4, | |
t: 2, | |
v: 1, | |
z: 0 | |
}, d = []; | |
return e.is(a, X) && e.is(a[0], X) && (d = Ea(a)), d.length || K(a).replace(ja, function(a, b, e) { | |
var f = [], | |
g = b.toLowerCase(); | |
if (e.replace(la, function(a, b) { | |
b && f.push(+b) | |
}), "m" == g && f.length > 2 && (d.push([b][G](f.splice(0, 2))), g = "l", b = "m" == b ? "l" : "L"), "r" == g) d.push([b][G](f)); | |
else | |
for (; f.length >= c[g] && (d.push([b][G](f.splice(0, c[g]))), c[g]);); | |
}), d.toString = e._path2string, b.arr = Ea(d), d | |
}, e.parseTransformString = h(function(a) { | |
if (!a) return null; | |
var b = []; | |
return e.is(a, X) && e.is(a[0], X) && (b = Ea(a)), b.length || K(a).replace(ka, function(a, c, d) { | |
var e = []; | |
O.call(c); | |
d.replace(la, function(a, b) { | |
b && e.push(+b) | |
}), b.push([c][G](e)) | |
}), b.toString = e._path2string, b | |
}); | |
var Ca = function(a) { | |
var b = Ca.ps = Ca.ps || {}; | |
return b[a] ? b[a].sleep = 100 : b[a] = { | |
sleep: 100 | |
}, setTimeout(function() { | |
for (var c in b) b[B](c) && c != a && (b[c].sleep--, !b[c].sleep && delete b[c]) | |
}), b[a] | |
}; | |
e.findDotsAtSegment = function(a, b, c, d, e, f, g, h, i) { | |
var j = 1 - i, | |
k = T(j, 3), | |
l = T(j, 2), | |
m = i * i, | |
n = m * i, | |
o = k * a + 3 * l * i * c + 3 * j * i * i * e + n * g, | |
p = k * b + 3 * l * i * d + 3 * j * i * i * f + n * h, | |
q = a + 2 * i * (c - a) + m * (e - 2 * c + a), | |
r = b + 2 * i * (d - b) + m * (f - 2 * d + b), | |
s = c + 2 * i * (e - c) + m * (g - 2 * e + c), | |
t = d + 2 * i * (f - d) + m * (h - 2 * f + d), | |
u = j * a + i * c, | |
v = j * b + i * d, | |
w = j * e + i * g, | |
x = j * f + i * h, | |
y = 90 - 180 * P.atan2(q - s, r - t) / U; | |
return (q > s || t > r) && (y += 180), { | |
x: o, | |
y: p, | |
m: { | |
x: q, | |
y: r | |
}, | |
n: { | |
x: s, | |
y: t | |
}, | |
start: { | |
x: u, | |
y: v | |
}, | |
end: { | |
x: w, | |
y: x | |
}, | |
alpha: y | |
} | |
}, e.bezierBBox = function(a, b, c, d, f, g, h, i) { | |
e.is(a, "array") || (a = [a, b, c, d, f, g, h, i]); | |
var j = La.apply(null, a); | |
return { | |
x: j.min.x, | |
y: j.min.y, | |
x2: j.max.x, | |
y2: j.max.y, | |
width: j.max.x - j.min.x, | |
height: j.max.y - j.min.y | |
} | |
}, e.isPointInsideBBox = function(a, b, c) { | |
return b >= a.x && b <= a.x2 && c >= a.y && c <= a.y2 | |
}, e.isBBoxIntersect = function(a, b) { | |
var c = e.isPointInsideBBox; | |
return c(b, a.x, a.y) || c(b, a.x2, a.y) || c(b, a.x, a.y2) || c(b, a.x2, a.y2) || c(a, b.x, b.y) || c(a, b.x2, b.y) || c(a, b.x, b.y2) || c(a, b.x2, b.y2) || (a.x < b.x2 && a.x > b.x || b.x < a.x2 && b.x > a.x) && (a.y < b.y2 && a.y > b.y || b.y < a.y2 && b.y > a.y) | |
}, e.pathIntersection = function(a, b) { | |
return p(a, b) | |
}, e.pathIntersectionNumber = function(a, b) { | |
return p(a, b, 1) | |
}, e.isPointInsidePath = function(a, b, c) { | |
var d = e.pathBBox(a); | |
return e.isPointInsideBBox(d, b, c) && p(a, [ | |
["M", b, c], | |
["H", d.x2 + 10] | |
], 1) % 2 == 1 | |
}, e._removedFactory = function(a) { | |
return function() { | |
d("raphael.log", null, "Raphaël: you are calling to method “" + a + "†of removed object", a) | |
} | |
}; | |
var Da = e.pathBBox = function(a) { | |
var b = Ca(a); | |
if (b.bbox) return f(b.bbox); | |
if (!a) return { | |
x: 0, | |
y: 0, | |
width: 0, | |
height: 0, | |
x2: 0, | |
y2: 0 | |
}; | |
a = Ma(a); | |
for (var c, d = 0, e = 0, g = [], h = [], i = 0, j = a.length; j > i; i++) | |
if (c = a[i], "M" == c[0]) d = c[1], e = c[2], g.push(d), h.push(e); | |
else { | |
var k = La(d, e, c[1], c[2], c[3], c[4], c[5], c[6]); | |
g = g[G](k.min.x, k.max.x), h = h[G](k.min.y, k.max.y), d = c[5], e = c[6] | |
} | |
var l = R[F](0, g), | |
m = R[F](0, h), | |
n = Q[F](0, g), | |
o = Q[F](0, h), | |
p = n - l, | |
q = o - m, | |
r = { | |
x: l, | |
y: m, | |
x2: n, | |
y2: o, | |
width: p, | |
height: q, | |
cx: l + p / 2, | |
cy: m + q / 2 | |
}; | |
return b.bbox = f(r), r | |
}, Ea = function(a) { | |
var b = f(a); | |
return b.toString = e._path2string, b | |
}, Fa = e._pathToRelative = function(a) { | |
var b = Ca(a); | |
if (b.rel) return Ea(b.rel); | |
e.is(a, X) && e.is(a && a[0], X) || (a = e.parsePathString(a)); | |
var c = [], | |
d = 0, | |
f = 0, | |
g = 0, | |
h = 0, | |
i = 0; | |
"M" == a[0][0] && (d = a[0][1], f = a[0][2], g = d, h = f, i++, c.push(["M", d, f])); | |
for (var j = i, k = a.length; k > j; j++) { | |
var l = c[j] = [], | |
m = a[j]; | |
if (m[0] != O.call(m[0])) switch (l[0] = O.call(m[0]), l[0]) { | |
case "a": | |
l[1] = m[1], l[2] = m[2], l[3] = m[3], l[4] = m[4], l[5] = m[5], l[6] = +(m[6] - d).toFixed(3), l[7] = +(m[7] - f).toFixed(3); | |
break; | |
case "v": | |
l[1] = +(m[1] - f).toFixed(3); | |
break; | |
case "m": | |
g = m[1], h = m[2]; | |
default: | |
for (var n = 1, o = m.length; o > n; n++) l[n] = +(m[n] - (n % 2 ? d : f)).toFixed(3) | |
} else { | |
l = c[j] = [], "m" == m[0] && (g = m[1] + d, h = m[2] + f); | |
for (var p = 0, q = m.length; q > p; p++) c[j][p] = m[p] | |
} | |
var r = c[j].length; | |
switch (c[j][0]) { | |
case "z": | |
d = g, f = h; | |
break; | |
case "h": | |
d += +c[j][r - 1]; | |
break; | |
case "v": | |
f += +c[j][r - 1]; | |
break; | |
default: | |
d += +c[j][r - 2], f += +c[j][r - 1] | |
} | |
} | |
return c.toString = e._path2string, b.rel = Ea(c), c | |
}, Ga = e._pathToAbsolute = function(a) { | |
var b = Ca(a); | |
if (b.abs) return Ea(b.abs); | |
if (e.is(a, X) && e.is(a && a[0], X) || (a = e.parsePathString(a)), !a || !a.length) return [["M", 0, 0]]; | |
var c = [], | |
d = 0, | |
f = 0, | |
g = 0, | |
h = 0, | |
i = 0; | |
"M" == a[0][0] && (d = +a[0][1], f = +a[0][2], g = d, h = f, i++, c[0] = ["M", d, f]); | |
for (var k, l, m = 3 == a.length && "M" == a[0][0] && "R" == a[1][0].toUpperCase() && "Z" == a[2][0].toUpperCase(), n = i, o = a.length; o > n; n++) { | |
if (c.push(k = []), l = a[n], l[0] != da.call(l[0])) switch (k[0] = da.call(l[0]), k[0]) { | |
case "A": | |
k[1] = l[1], k[2] = l[2], k[3] = l[3], k[4] = l[4], k[5] = l[5], k[6] = +(l[6] + d), k[7] = +(l[7] + f); | |
break; | |
case "V": | |
k[1] = +l[1] + f; | |
break; | |
case "H": | |
k[1] = +l[1] + d; | |
break; | |
case "R": | |
for (var p = [d, f][G](l.slice(1)), q = 2, r = p.length; r > q; q++) p[q] = +p[q] + d, p[++q] = +p[q] + f; | |
c.pop(), c = c[G](j(p, m)); | |
break; | |
case "M": | |
g = +l[1] + d, h = +l[2] + f; | |
default: | |
for (q = 1, r = l.length; r > q; q++) k[q] = +l[q] + (q % 2 ? d : f) | |
} else if ("R" == l[0]) p = [d, f][G](l.slice(1)), c.pop(), c = c[G](j(p, m)), k = ["R"][G](l.slice(-2)); | |
else | |
for (var s = 0, t = l.length; t > s; s++) k[s] = l[s]; | |
switch (k[0]) { | |
case "Z": | |
d = g, f = h; | |
break; | |
case "H": | |
d = k[1]; | |
break; | |
case "V": | |
f = k[1]; | |
break; | |
case "M": | |
g = k[k.length - 2], h = k[k.length - 1]; | |
default: | |
d = k[k.length - 2], f = k[k.length - 1] | |
} | |
} | |
return c.toString = e._path2string, b.abs = Ea(c), c | |
}, Ha = function(a, b, c, d) { | |
return [a, b, c, d, c, d] | |
}, Ia = function(a, b, c, d, e, f) { | |
var g = 1 / 3, | |
h = 2 / 3; | |
return [g * a + h * c, g * b + h * d, g * e + h * c, g * f + h * d, e, f] | |
}, Ja = function(a, b, c, d, e, f, g, i, j, k) { | |
var l, m = 120 * U / 180, | |
n = U / 180 * (+e || 0), | |
o = [], | |
p = h(function(a, b, c) { | |
var d = a * P.cos(c) - b * P.sin(c), | |
e = a * P.sin(c) + b * P.cos(c); | |
return { | |
x: d, | |
y: e | |
} | |
}); | |
if (k) y = k[0], z = k[1], w = k[2], x = k[3]; | |
else { | |
l = p(a, b, -n), a = l.x, b = l.y, l = p(i, j, -n), i = l.x, j = l.y; | |
var q = (P.cos(U / 180 * e), P.sin(U / 180 * e), (a - i) / 2), | |
r = (b - j) / 2, | |
s = q * q / (c * c) + r * r / (d * d); | |
s > 1 && (s = P.sqrt(s), c = s * c, d = s * d); | |
var t = c * c, | |
u = d * d, | |
v = (f == g ? -1 : 1) * P.sqrt(S((t * u - t * r * r - u * q * q) / (t * r * r + u * q * q))), | |
w = v * c * r / d + (a + i) / 2, | |
x = v * -d * q / c + (b + j) / 2, | |
y = P.asin(((b - x) / d).toFixed(9)), | |
z = P.asin(((j - x) / d).toFixed(9)); | |
y = w > a ? U - y : y, z = w > i ? U - z : z, 0 > y && (y = 2 * U + y), 0 > z && (z = 2 * U + z), g && y > z && (y -= 2 * U), !g && z > y && (z -= 2 * U) | |
} | |
var A = z - y; | |
if (S(A) > m) { | |
var B = z, | |
C = i, | |
D = j; | |
z = y + m * (g && z > y ? 1 : -1), i = w + c * P.cos(z), j = x + d * P.sin(z), o = Ja(i, j, c, d, e, 0, g, C, D, [z, B, w, x]) | |
} | |
A = z - y; | |
var E = P.cos(y), | |
F = P.sin(y), | |
H = P.cos(z), | |
I = P.sin(z), | |
J = P.tan(A / 4), | |
K = 4 / 3 * c * J, | |
M = 4 / 3 * d * J, | |
N = [a, b], | |
O = [a + K * F, b - M * E], | |
Q = [i + K * I, j - M * H], | |
R = [i, j]; | |
if (O[0] = 2 * N[0] - O[0], O[1] = 2 * N[1] - O[1], k) return [O, Q, R][G](o); | |
o = [O, Q, R][G](o).join()[L](","); | |
for (var T = [], V = 0, W = o.length; W > V; V++) T[V] = V % 2 ? p(o[V - 1], o[V], n).y : p(o[V], o[V + 1], n).x; | |
return T | |
}, Ka = function(a, b, c, d, e, f, g, h, i) { | |
var j = 1 - i; | |
return { | |
x: T(j, 3) * a + 3 * T(j, 2) * i * c + 3 * j * i * i * e + T(i, 3) * g, | |
y: T(j, 3) * b + 3 * T(j, 2) * i * d + 3 * j * i * i * f + T(i, 3) * h | |
} | |
}, La = h(function(a, b, c, d, e, f, g, h) { | |
var i, j = e - 2 * c + a - (g - 2 * e + c), | |
k = 2 * (c - a) - 2 * (e - c), | |
l = a - c, | |
m = (-k + P.sqrt(k * k - 4 * j * l)) / 2 / j, | |
n = (-k - P.sqrt(k * k - 4 * j * l)) / 2 / j, | |
o = [b, h], | |
p = [a, g]; | |
return S(m) > "1e12" && (m = .5), S(n) > "1e12" && (n = .5), m > 0 && 1 > m && (i = Ka(a, b, c, d, e, f, g, h, m), p.push(i.x), o.push(i.y)), n > 0 && 1 > n && (i = Ka(a, b, c, d, e, f, g, h, n), p.push(i.x), o.push(i.y)), j = f - 2 * d + b - (h - 2 * f + d), k = 2 * (d - b) - 2 * (f - d), l = b - d, m = (-k + P.sqrt(k * k - 4 * j * l)) / 2 / j, n = (-k - P.sqrt(k * k - 4 * j * l)) / 2 / j, S(m) > "1e12" && (m = .5), S(n) > "1e12" && (n = .5), m > 0 && 1 > m && (i = Ka(a, b, c, d, e, f, g, h, m), p.push(i.x), o.push(i.y)), n > 0 && 1 > n && (i = Ka(a, b, c, d, e, f, g, h, n), p.push(i.x), o.push(i.y)), { | |
min: { | |
x: R[F](0, p), | |
y: R[F](0, o) | |
}, | |
max: { | |
x: Q[F](0, p), | |
y: Q[F](0, o) | |
} | |
} | |
}), | |
Ma = e._path2curve = h(function(a, b) { | |
var c = !b && Ca(a); | |
if (!b && c.curve) return Ea(c.curve); | |
for (var d = Ga(a), e = b && Ga(b), f = { | |
x: 0, | |
y: 0, | |
bx: 0, | |
by: 0, | |
X: 0, | |
Y: 0, | |
qx: null, | |
qy: null | |
}, g = { | |
x: 0, | |
y: 0, | |
bx: 0, | |
by: 0, | |
X: 0, | |
Y: 0, | |
qx: null, | |
qy: null | |
}, h = (function(a, b, c) { | |
var d, e, f = { | |
T: 1, | |
Q: 1 | |
}; | |
if (!a) return ["C", b.x, b.y, b.x, b.y, b.x, b.y]; | |
switch (!(a[0] in f) && (b.qx = b.qy = null), a[0]) { | |
case "M": | |
b.X = a[1], b.Y = a[2]; | |
break; | |
case "A": | |
a = ["C"][G](Ja[F](0, [b.x, b.y][G](a.slice(1)))); | |
break; | |
case "S": | |
"C" == c || "S" == c ? (d = 2 * b.x - b.bx, e = 2 * b.y - b.by) : (d = b.x, e = b.y), a = ["C", d, e][G](a.slice(1)); | |
break; | |
case "T": | |
"Q" == c || "T" == c ? (b.qx = 2 * b.x - b.qx, b.qy = 2 * b.y - b.qy) : (b.qx = b.x, b.qy = b.y), a = ["C"][G](Ia(b.x, b.y, b.qx, b.qy, a[1], a[2])); | |
break; | |
case "Q": | |
b.qx = a[1], b.qy = a[2], a = ["C"][G](Ia(b.x, b.y, a[1], a[2], a[3], a[4])); | |
break; | |
case "L": | |
a = ["C"][G](Ha(b.x, b.y, a[1], a[2])); | |
break; | |
case "H": | |
a = ["C"][G](Ha(b.x, b.y, a[1], b.y)); | |
break; | |
case "V": | |
a = ["C"][G](Ha(b.x, b.y, b.x, a[1])); | |
break; | |
case "Z": | |
a = ["C"][G](Ha(b.x, b.y, b.X, b.Y)) | |
} | |
return a | |
}), i = function(a, b) { | |
if (a[b].length > 7) { | |
a[b].shift(); | |
for (var c = a[b]; c.length;) k[b] = "A", e && (l[b] = "A"), a.splice(b++, 0, ["C"][G](c.splice(0, 6))); | |
a.splice(b, 1), p = Q(d.length, e && e.length || 0) | |
} | |
}, j = function(a, b, c, f, g) { | |
a && b && "M" == a[g][0] && "M" != b[g][0] && (b.splice(g, 0, ["M", f.x, f.y]), c.bx = 0, c.by = 0, c.x = a[g][1], c.y = a[g][2], p = Q(d.length, e && e.length || 0)) | |
}, k = [], l = [], m = "", n = "", o = 0, p = Q(d.length, e && e.length || 0); p > o; o++) { | |
d[o] && (m = d[o][0]), "C" != m && (k[o] = m, o && (n = k[o - 1])), d[o] = h(d[o], f, n), "A" != k[o] && "C" == m && (k[o] = "C"), i(d, o), e && (e[o] && (m = e[o][0]), "C" != m && (l[o] = m, o && (n = l[o - 1])), e[o] = h(e[o], g, n), "A" != l[o] && "C" == m && (l[o] = "C"), i(e, o)), j(d, e, f, g, o), j(e, d, g, f, o); | |
var q = d[o], | |
r = e && e[o], | |
s = q.length, | |
t = e && r.length; | |
f.x = q[s - 2], f.y = q[s - 1], f.bx = ba(q[s - 4]) || f.x, f.by = ba(q[s - 3]) || f.y, g.bx = e && (ba(r[t - 4]) || g.x), g.by = e && (ba(r[t - 3]) || g.y), g.x = e && r[t - 2], g.y = e && r[t - 1] | |
} | |
return e || (c.curve = Ea(d)), e ? [d, e] : d | |
}, null, Ea), | |
Na = (e._parseDots = h(function(a) { | |
for (var b = [], c = 0, d = a.length; d > c; c++) { | |
var f = {}, g = a[c].match(/^([^:]*):?([\d\.]*)/); | |
if (f.color = e.getRGB(g[1]), f.color.error) return null; | |
f.color = f.color.hex, g[2] && (f.offset = g[2] + "%"), b.push(f) | |
} | |
for (c = 1, d = b.length - 1; d > c; c++) | |
if (!b[c].offset) { | |
for (var h = ba(b[c - 1].offset || 0), i = 0, j = c + 1; d > j; j++) | |
if (b[j].offset) { | |
i = b[j].offset; | |
break | |
} | |
i || (i = 100, j = d), i = ba(i); | |
for (var k = (i - h) / (j - c + 1); j > c; c++) h += k, b[c].offset = h + "%" | |
} | |
return b | |
}), e._tear = function(a, b) { | |
a == b.top && (b.top = a.prev), a == b.bottom && (b.bottom = a.next), a.next && (a.next.prev = a.prev), a.prev && (a.prev.next = a.next) | |
}), | |
Oa = (e._tofront = function(a, b) { | |
b.top !== a && (Na(a, b), a.next = null, a.prev = b.top, b.top.next = a, b.top = a) | |
}, e._toback = function(a, b) { | |
b.bottom !== a && (Na(a, b), a.next = b.bottom, a.prev = null, b.bottom.prev = a, b.bottom = a) | |
}, e._insertafter = function(a, b, c) { | |
Na(a, c), b == c.top && (c.top = a), b.next && (b.next.prev = a), a.next = b.next, a.prev = b, b.next = a | |
}, e._insertbefore = function(a, b, c) { | |
Na(a, c), b == c.bottom && (c.bottom = a), b.prev && (b.prev.next = a), a.prev = b.prev, b.prev = a, a.next = b | |
}, e.toMatrix = function(a, b) { | |
var c = Da(a), | |
d = { | |
_: { | |
transform: I | |
}, | |
getBBox: function() { | |
return c | |
} | |
}; | |
return Pa(d, b), d.matrix | |
}), | |
Pa = (e.transformPath = function(a, b) { | |
return ta(a, Oa(a, b)) | |
}, e._extractTransform = function(a, b) { | |
if (null == b) return a._.transform; | |
b = K(b).replace(/\.{3}|\u2026/g, a._.transform || I); | |
var c = e.parseTransformString(b), | |
d = 0, | |
f = 0, | |
g = 0, | |
h = 1, | |
i = 1, | |
j = a._, | |
k = new q; | |
if (j.transform = c || [], c) | |
for (var l = 0, m = c.length; m > l; l++) { | |
var n, o, p, r, s, t = c[l], | |
u = t.length, | |
v = K(t[0]).toLowerCase(), | |
w = t[0] != v, | |
x = w ? k.invert() : 0; | |
"t" == v && 3 == u ? w ? (n = x.x(0, 0), o = x.y(0, 0), p = x.x(t[1], t[2]), r = x.y(t[1], t[2]), k.translate(p - n, r - o)) : k.translate(t[1], t[2]) : "r" == v ? 2 == u ? (s = s || a.getBBox(1), k.rotate(t[1], s.x + s.width / 2, s.y + s.height / 2), d += t[1]) : 4 == u && (w ? (p = x.x(t[2], t[3]), r = x.y(t[2], t[3]), k.rotate(t[1], p, r)) : k.rotate(t[1], t[2], t[3]), d += t[1]) : "s" == v ? 2 == u || 3 == u ? (s = s || a.getBBox(1), k.scale(t[1], t[u - 1], s.x + s.width / 2, s.y + s.height / 2), h *= t[1], i *= t[u - 1]) : 5 == u && (w ? (p = x.x(t[3], t[4]), r = x.y(t[3], t[4]), k.scale(t[1], t[2], p, r)) : k.scale(t[1], t[2], t[3], t[4]), h *= t[1], i *= t[2]) : "m" == v && 7 == u && k.add(t[1], t[2], t[3], t[4], t[5], t[6]), j.dirtyT = 1, a.matrix = k | |
} | |
a.matrix = k, j.sx = h, j.sy = i, j.deg = d, j.dx = f = k.e, j.dy = g = k.f, 1 == h && 1 == i && !d && j.bbox ? (j.bbox.x += +f, j.bbox.y += +g) : j.dirtyT = 1 | |
}), | |
Qa = function(a) { | |
var b = a[0]; | |
switch (b.toLowerCase()) { | |
case "t": | |
return [b, 0, 0]; | |
case "m": | |
return [b, 1, 0, 0, 1, 0, 0]; | |
case "r": | |
return 4 == a.length ? [b, 0, a[2], a[3]] : [b, 0]; | |
case "s": | |
return 5 == a.length ? [b, 1, 1, a[3], a[4]] : 3 == a.length ? [b, 1, 1] : [b, 1] | |
} | |
}, Ra = e._equaliseTransform = function(a, b) { | |
b = K(b).replace(/\.{3}|\u2026/g, a), a = e.parseTransformString(a) || [], b = e.parseTransformString(b) || []; | |
for (var c, d, f, g, h = Q(a.length, b.length), i = [], j = [], k = 0; h > k; k++) { | |
if (f = a[k] || Qa(b[k]), g = b[k] || Qa(f), f[0] != g[0] || "r" == f[0].toLowerCase() && (f[2] != g[2] || f[3] != g[3]) || "s" == f[0].toLowerCase() && (f[3] != g[3] || f[4] != g[4])) return; | |
for (i[k] = [], j[k] = [], c = 0, d = Q(f.length, g.length); d > c; c++) c in f && (i[k][c] = f[c]), c in g && (j[k][c] = g[c]) | |
} | |
return { | |
from: i, | |
to: j | |
} | |
}; | |
e._getContainer = function(a, b, c, d) { | |
var f; | |
return f = null != d || e.is(a, "object") ? a : C.doc.getElementById(a), null != f ? f.tagName ? null == b ? { | |
container: f, | |
width: f.style.pixelWidth || f.offsetWidth, | |
height: f.style.pixelHeight || f.offsetHeight | |
} : { | |
container: f, | |
width: b, | |
height: c | |
} : { | |
container: 1, | |
x: a, | |
y: b, | |
width: c, | |
height: d | |
} : void 0 | |
}, e.pathToRelative = Fa, e._engine = {}, e.path2curve = Ma, e.matrix = function(a, b, c, d, e, f) { | |
return new q(a, b, c, d, e, f) | |
}, | |
function(a) { | |
function b(a) { | |
return a[0] * a[0] + a[1] * a[1] | |
} | |
function c(a) { | |
var c = P.sqrt(b(a)); | |
a[0] && (a[0] /= c), a[1] && (a[1] /= c) | |
} | |
a.add = function(a, b, c, d, e, f) { | |
var g, h, i, j, k = [ | |
[], | |
[], | |
[] | |
], | |
l = [ | |
[this.a, this.c, this.e], | |
[this.b, this.d, this.f], | |
[0, 0, 1] | |
], | |
m = [ | |
[a, c, e], | |
[b, d, f], | |
[0, 0, 1] | |
]; | |
for (a && a instanceof q && (m = [ | |
[a.a, a.c, a.e], | |
[a.b, a.d, a.f], | |
[0, 0, 1] | |
]), g = 0; 3 > g; g++) | |
for (h = 0; 3 > h; h++) { | |
for (j = 0, i = 0; 3 > i; i++) j += l[g][i] * m[i][h]; | |
k[g][h] = j | |
} | |
this.a = k[0][0], this.b = k[1][0], this.c = k[0][1], this.d = k[1][1], this.e = k[0][2], this.f = k[1][2] | |
}, a.invert = function() { | |
var a = this, | |
b = a.a * a.d - a.b * a.c; | |
return new q(a.d / b, -a.b / b, -a.c / b, a.a / b, (a.c * a.f - a.d * a.e) / b, (a.b * a.e - a.a * a.f) / b) | |
}, a.clone = function() { | |
return new q(this.a, this.b, this.c, this.d, this.e, this.f) | |
}, a.translate = function(a, b) { | |
this.add(1, 0, 0, 1, a, b) | |
}, a.scale = function(a, b, c, d) { | |
null == b && (b = a), (c || d) && this.add(1, 0, 0, 1, c, d), this.add(a, 0, 0, b, 0, 0), (c || d) && this.add(1, 0, 0, 1, -c, -d) | |
}, a.rotate = function(a, b, c) { | |
a = e.rad(a), b = b || 0, c = c || 0; | |
var d = +P.cos(a).toFixed(9), | |
f = +P.sin(a).toFixed(9); | |
this.add(d, f, -f, d, b, c), this.add(1, 0, 0, 1, -b, -c) | |
}, a.x = function(a, b) { | |
return a * this.a + b * this.c + this.e | |
}, a.y = function(a, b) { | |
return a * this.b + b * this.d + this.f | |
}, a.get = function(a) { | |
return +this[K.fromCharCode(97 + a)].toFixed(4) | |
}, a.toString = function() { | |
return e.svg ? "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")" : [this.get(0), this.get(2), this.get(1), this.get(3), 0, 0].join() | |
}, a.toFilter = function() { | |
return "progid:DXImageTransform.Microsoft.Matrix(M11=" + this.get(0) + ", M12=" + this.get(2) + ", M21=" + this.get(1) + ", M22=" + this.get(3) + ", Dx=" + this.get(4) + ", Dy=" + this.get(5) + ", sizingmethod='auto expand')" | |
}, a.offset = function() { | |
return [this.e.toFixed(4), this.f.toFixed(4)] | |
}, a.split = function() { | |
var a = {}; | |
a.dx = this.e, a.dy = this.f; | |
var d = [ | |
[this.a, this.c], | |
[this.b, this.d] | |
]; | |
a.scalex = P.sqrt(b(d[0])), c(d[0]), a.shear = d[0][0] * d[1][0] + d[0][1] * d[1][1], d[1] = [d[1][0] - d[0][0] * a.shear, d[1][1] - d[0][1] * a.shear], a.scaley = P.sqrt(b(d[1])), c(d[1]), a.shear /= a.scaley; | |
var f = -d[0][1], | |
g = d[1][1]; | |
return 0 > g ? (a.rotate = e.deg(P.acos(g)), 0 > f && (a.rotate = 360 - a.rotate)) : a.rotate = e.deg(P.asin(f)), a.isSimple = !(+a.shear.toFixed(9) || a.scalex.toFixed(9) != a.scaley.toFixed(9) && a.rotate), a.isSuperSimple = !+a.shear.toFixed(9) && a.scalex.toFixed(9) == a.scaley.toFixed(9) && !a.rotate, a.noRotation = !+a.shear.toFixed(9) && !a.rotate, a | |
}, a.toTransformString = function(a) { | |
var b = a || this[L](); | |
return b.isSimple ? (b.scalex = +b.scalex.toFixed(4), b.scaley = +b.scaley.toFixed(4), b.rotate = +b.rotate.toFixed(4), (b.dx || b.dy ? "t" + [b.dx, b.dy] : I) + (1 != b.scalex || 1 != b.scaley ? "s" + [b.scalex, b.scaley, 0, 0] : I) + (b.rotate ? "r" + [b.rotate, 0, 0] : I)) : "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)] | |
} | |
}(q.prototype); | |
var Sa = navigator.userAgent.match(/Version\/(.*?)\s/) || navigator.userAgent.match(/Chrome\/(\d+)/); | |
"Apple Computer, Inc." == navigator.vendor && (Sa && Sa[1] < 4 || "iP" == navigator.platform.slice(0, 2)) || "Google Inc." == navigator.vendor && Sa && Sa[1] < 8 ? x.safari = function() { | |
var a = this.rect(-99, -99, this.width + 99, this.height + 99).attr({ | |
stroke: "none" | |
}); | |
setTimeout(function() { | |
a.remove() | |
}) | |
} : x.safari = oa; | |
for (var Ta = function() { | |
this.returnValue = !1 | |
}, Ua = function() { | |
return this.originalEvent.preventDefault() | |
}, Va = function() { | |
this.cancelBubble = !0 | |
}, Wa = function() { | |
return this.originalEvent.stopPropagation() | |
}, Xa = function(a) { | |
var b = C.doc.documentElement.scrollTop || C.doc.body.scrollTop, | |
c = C.doc.documentElement.scrollLeft || C.doc.body.scrollLeft; | |
return { | |
x: a.clientX + c, | |
y: a.clientY + b | |
} | |
}, Ya = function() { | |
return C.doc.addEventListener ? function(a, b, c, d) { | |
var e = function(a) { | |
var b = Xa(a); | |
return c.call(d, a, b.x, b.y) | |
}; | |
if (a.addEventListener(b, e, !1), H && N[b]) { | |
var f = function(b) { | |
for (var e = Xa(b), f = b, g = 0, h = b.targetTouches && b.targetTouches.length; h > g; g++) | |
if (b.targetTouches[g].target == a) { | |
b = b.targetTouches[g], b.originalEvent = f, b.preventDefault = Ua, b.stopPropagation = Wa; | |
break | |
} | |
return c.call(d, b, e.x, e.y) | |
}; | |
a.addEventListener(N[b], f, !1) | |
} | |
return function() { | |
return a.removeEventListener(b, e, !1), H && N[b] && a.removeEventListener(N[b], f, !1), !0 | |
} | |
} : C.doc.attachEvent ? function(a, b, c, d) { | |
var e = function(a) { | |
a = a || C.win.event; | |
var b = C.doc.documentElement.scrollTop || C.doc.body.scrollTop, | |
e = C.doc.documentElement.scrollLeft || C.doc.body.scrollLeft, | |
f = a.clientX + e, | |
g = a.clientY + b; | |
return a.preventDefault = a.preventDefault || Ta, a.stopPropagation = a.stopPropagation || Va, c.call(d, a, f, g) | |
}; | |
a.attachEvent("on" + b, e); | |
var f = function() { | |
return a.detachEvent("on" + b, e), !0 | |
}; | |
return f | |
} : void 0 | |
}(), Za = [], $a = function(a) { | |
for (var b, c = a.clientX, e = a.clientY, f = C.doc.documentElement.scrollTop || C.doc.body.scrollTop, g = C.doc.documentElement.scrollLeft || C.doc.body.scrollLeft, h = Za.length; h--;) { | |
if (b = Za[h], H && a.touches) { | |
for (var i, j = a.touches.length; j--;) | |
if (i = a.touches[j], i.identifier == b.el._drag.id) { | |
c = i.clientX, e = i.clientY, (a.originalEvent ? a.originalEvent : a).preventDefault(); | |
break | |
} | |
} else a.preventDefault(); | |
var k, l = b.el.node, | |
m = l.nextSibling, | |
n = l.parentNode, | |
o = l.style.display; | |
C.win.opera && n.removeChild(l), l.style.display = "none", k = b.el.paper.getElementByPoint(c, e), l.style.display = o, C.win.opera && (m ? n.insertBefore(l, m) : n.appendChild(l)), k && d("raphael.drag.over." + b.el.id, b.el, k), c += g, e += f, d("raphael.drag.move." + b.el.id, b.move_scope || b.el, c - b.el._drag.x, e - b.el._drag.y, c, e, a) | |
} | |
}, _a = function(a) { | |
e.unmousemove($a).unmouseup(_a); | |
for (var b, c = Za.length; c--;) b = Za[c], b.el._drag = {}, d("raphael.drag.end." + b.el.id, b.end_scope || b.start_scope || b.move_scope || b.el, a); | |
Za = [] | |
}, ab = e.el = {}, bb = M.length; bb--;)! function(a) { | |
e[a] = ab[a] = function(b, c) { | |
return e.is(b, "function") && (this.events = this.events || [], this.events.push({ | |
name: a, | |
f: b, | |
unbind: Ya(this.shape || this.node || C.doc, a, b, c || this) | |
})), this | |
}, e["un" + a] = ab["un" + a] = function(b) { | |
for (var c = this.events || [], d = c.length; d--;) c[d].name != a || !e.is(b, "undefined") && c[d].f != b || (c[d].unbind(), c.splice(d, 1), !c.length && delete this.events); | |
return this | |
} | |
}(M[bb]); | |
ab.data = function(a, b) { | |
var c = ma[this.id] = ma[this.id] || {}; | |
if (0 == arguments.length) return c; | |
if (1 == arguments.length) { | |
if (e.is(a, "object")) { | |
for (var f in a) a[B](f) && this.data(f, a[f]); | |
return this | |
} | |
return d("raphael.data.get." + this.id, this, c[a], a), c[a] | |
} | |
return c[a] = b, d("raphael.data.set." + this.id, this, b, a), this | |
}, ab.removeData = function(a) { | |
return null == a ? ma[this.id] = {} : ma[this.id] && delete ma[this.id][a], this | |
}, ab.getData = function() { | |
return f(ma[this.id] || {}) | |
}, ab.hover = function(a, b, c, d) { | |
return this.mouseover(a, c).mouseout(b, d || c) | |
}, ab.unhover = function(a, b) { | |
return this.unmouseover(a).unmouseout(b) | |
}; | |
var cb = []; | |
ab.drag = function(a, b, c, f, g, h) { | |
function i(i) { | |
(i.originalEvent || i).preventDefault(); | |
var j = i.clientX, | |
k = i.clientY, | |
l = C.doc.documentElement.scrollTop || C.doc.body.scrollTop, | |
m = C.doc.documentElement.scrollLeft || C.doc.body.scrollLeft; | |
if (this._drag.id = i.identifier, H && i.touches) | |
for (var n, o = i.touches.length; o--;) | |
if (n = i.touches[o], this._drag.id = n.identifier, n.identifier == this._drag.id) { | |
j = n.clientX, k = n.clientY; | |
break | |
} | |
this._drag.x = j + m, this._drag.y = k + l, !Za.length && e.mousemove($a).mouseup(_a), Za.push({ | |
el: this, | |
move_scope: f, | |
start_scope: g, | |
end_scope: h | |
}), b && d.on("raphael.drag.start." + this.id, b), a && d.on("raphael.drag.move." + this.id, a), c && d.on("raphael.drag.end." + this.id, c), d("raphael.drag.start." + this.id, g || f || this, i.clientX + m, i.clientY + l, i) | |
} | |
return this._drag = {}, cb.push({ | |
el: this, | |
start: i | |
}), this.mousedown(i), this | |
}, ab.onDragOver = function(a) { | |
a ? d.on("raphael.drag.over." + this.id, a) : d.unbind("raphael.drag.over." + this.id) | |
}, ab.undrag = function() { | |
for (var a = cb.length; a--;) cb[a].el == this && (this.unmousedown(cb[a].start), cb.splice(a, 1), d.unbind("raphael.drag.*." + this.id)); | |
!cb.length && e.unmousemove($a).unmouseup(_a), Za = [] | |
}, x.circle = function(a, b, c) { | |
var d = e._engine.circle(this, a || 0, b || 0, c || 0); | |
return this.__set__ && this.__set__.push(d), d | |
}, x.rect = function(a, b, c, d, f) { | |
var g = e._engine.rect(this, a || 0, b || 0, c || 0, d || 0, f || 0); | |
return this.__set__ && this.__set__.push(g), g | |
}, x.ellipse = function(a, b, c, d) { | |
var f = e._engine.ellipse(this, a || 0, b || 0, c || 0, d || 0); | |
return this.__set__ && this.__set__.push(f), f | |
}, x.path = function(a) { | |
a && !e.is(a, W) && !e.is(a[0], X) && (a += I); | |
var b = e._engine.path(e.format[F](e, arguments), this); | |
return this.__set__ && this.__set__.push(b), b | |
}, x.image = function(a, b, c, d, f) { | |
var g = e._engine.image(this, a || "about:blank", b || 0, c || 0, d || 0, f || 0); | |
return this.__set__ && this.__set__.push(g), g | |
}, x.text = function(a, b, c) { | |
var d = e._engine.text(this, a || 0, b || 0, K(c)); | |
return this.__set__ && this.__set__.push(d), d | |
}, x.set = function(a) { | |
!e.is(a, "array") && (a = Array.prototype.splice.call(arguments, 0, arguments.length)); | |
var b = new ob(a); | |
return this.__set__ && this.__set__.push(b), b.paper = this, b.type = "set", b | |
}, x.setStart = function(a) { | |
this.__set__ = a || this.set() | |
}, x.setFinish = function(a) { | |
var b = this.__set__; | |
return delete this.__set__, b | |
}, x.getSize = function() { | |
var a = this.canvas.parentNode; | |
return { | |
width: a.offsetWidth, | |
height: a.offsetHeight | |
} | |
}, x.setSize = function(a, b) { | |
return e._engine.setSize.call(this, a, b) | |
}, x.setViewBox = function(a, b, c, d, f) { | |
return e._engine.setViewBox.call(this, a, b, c, d, f) | |
}, x.top = x.bottom = null, x.raphael = e; | |
var db = function(a) { | |
var b = a.getBoundingClientRect(), | |
c = a.ownerDocument, | |
d = c.body, | |
e = c.documentElement, | |
f = e.clientTop || d.clientTop || 0, | |
g = e.clientLeft || d.clientLeft || 0, | |
h = b.top + (C.win.pageYOffset || e.scrollTop || d.scrollTop) - f, | |
i = b.left + (C.win.pageXOffset || e.scrollLeft || d.scrollLeft) - g; | |
return { | |
y: h, | |
x: i | |
} | |
}; | |
x.getElementByPoint = function(a, b) { | |
var c = this, | |
d = c.canvas, | |
e = C.doc.elementFromPoint(a, b); | |
if (C.win.opera && "svg" == e.tagName) { | |
var f = db(d), | |
g = d.createSVGRect(); | |
g.x = a - f.x, g.y = b - f.y, g.width = g.height = 1; | |
var h = d.getIntersectionList(g, null); | |
h.length && (e = h[h.length - 1]) | |
} | |
if (!e) return null; | |
for (; e.parentNode && e != d.parentNode && !e.raphael;) e = e.parentNode; | |
return e == c.canvas.parentNode && (e = d), e = e && e.raphael ? c.getById(e.raphaelid) : null | |
}, x.getElementsByBBox = function(a) { | |
var b = this.set(); | |
return this.forEach(function(c) { | |
e.isBBoxIntersect(c.getBBox(), a) && b.push(c) | |
}), b | |
}, x.getById = function(a) { | |
for (var b = this.bottom; b;) { | |
if (b.id == a) return b; | |
b = b.next | |
} | |
return null | |
}, x.forEach = function(a, b) { | |
for (var c = this.bottom; c;) { | |
if (a.call(b, c) === !1) return this; | |
c = c.next | |
} | |
return this; | |
}, x.getElementsByPoint = function(a, b) { | |
var c = this.set(); | |
return this.forEach(function(d) { | |
d.isPointInside(a, b) && c.push(d) | |
}), c | |
}, ab.isPointInside = function(a, b) { | |
var c = this.realPath = sa[this.type](this); | |
return this.attr("transform") && this.attr("transform").length && (c = e.transformPath(c, this.attr("transform"))), e.isPointInsidePath(c, a, b) | |
}, ab.getBBox = function(a) { | |
if (this.removed) return {}; | |
var b = this._; | |
return a ? ((b.dirty || !b.bboxwt) && (this.realPath = sa[this.type](this), b.bboxwt = Da(this.realPath), b.bboxwt.toString = r, b.dirty = 0), b.bboxwt) : ((b.dirty || b.dirtyT || !b.bbox) && ((b.dirty || !this.realPath) && (b.bboxwt = 0, this.realPath = sa[this.type](this)), b.bbox = Da(ta(this.realPath, this.matrix)), b.bbox.toString = r, b.dirty = b.dirtyT = 0), b.bbox) | |
}, ab.clone = function() { | |
if (this.removed) return null; | |
var a = this.paper[this.type]().attr(this.attr()); | |
return this.__set__ && this.__set__.push(a), a | |
}, ab.glow = function(a) { | |
if ("text" == this.type) return null; | |
a = a || {}; | |
var b = { | |
width: (a.width || 10) + (+this.attr("stroke-width") || 1), | |
fill: a.fill || !1, | |
opacity: a.opacity || .5, | |
offsetx: a.offsetx || 0, | |
offsety: a.offsety || 0, | |
color: a.color || "#000" | |
}, c = b.width / 2, | |
d = this.paper, | |
e = d.set(), | |
f = this.realPath || sa[this.type](this); | |
f = this.matrix ? ta(f, this.matrix) : f; | |
for (var g = 1; c + 1 > g; g++) e.push(d.path(f).attr({ | |
stroke: b.color, | |
fill: b.fill ? b.color : "none", | |
"stroke-linejoin": "round", | |
"stroke-linecap": "round", | |
"stroke-width": +(b.width / c * g).toFixed(3), | |
opacity: +(b.opacity / c).toFixed(3) | |
})); | |
return e.insertBefore(this).translate(b.offsetx, b.offsety) | |
}; | |
var eb = function(a, b, c, d, f, g, h, i, j) { | |
return null == j ? l(a, b, c, d, f, g, h, i) : e.findDotsAtSegment(a, b, c, d, f, g, h, i, m(a, b, c, d, f, g, h, i, j)) | |
}, fb = function(a, b) { | |
return function(c, d, f) { | |
c = Ma(c); | |
for (var g, h, i, j, k, l = "", m = {}, n = 0, o = 0, p = c.length; p > o; o++) { | |
if (i = c[o], "M" == i[0]) g = +i[1], h = +i[2]; | |
else { | |
if (j = eb(g, h, i[1], i[2], i[3], i[4], i[5], i[6]), n + j > d) { | |
if (b && !m.start) { | |
if (k = eb(g, h, i[1], i[2], i[3], i[4], i[5], i[6], d - n), l += ["C" + k.start.x, k.start.y, k.m.x, k.m.y, k.x, k.y], f) return l; | |
m.start = l, l = ["M" + k.x, k.y + "C" + k.n.x, k.n.y, k.end.x, k.end.y, i[5], i[6]].join(), n += j, g = +i[5], h = +i[6]; | |
continue | |
} | |
if (!a && !b) return k = eb(g, h, i[1], i[2], i[3], i[4], i[5], i[6], d - n), { | |
x: k.x, | |
y: k.y, | |
alpha: k.alpha | |
} | |
} | |
n += j, g = +i[5], h = +i[6] | |
} | |
l += i.shift() + i | |
} | |
return m.end = l, k = a ? n : b ? m : e.findDotsAtSegment(g, h, i[0], i[1], i[2], i[3], i[4], i[5], 1), k.alpha && (k = { | |
x: k.x, | |
y: k.y, | |
alpha: k.alpha | |
}), k | |
} | |
}, gb = fb(1), | |
hb = fb(), | |
ib = fb(0, 1); | |
e.getTotalLength = gb, e.getPointAtLength = hb, e.getSubpath = function(a, b, c) { | |
if (this.getTotalLength(a) - c < 1e-6) return ib(a, b).end; | |
var d = ib(a, c, 1); | |
return b ? ib(d, b).end : d | |
}, ab.getTotalLength = function() { | |
var a = this.getPath(); | |
if (a) return this.node.getTotalLength ? this.node.getTotalLength() : gb(a) | |
}, ab.getPointAtLength = function(a) { | |
var b = this.getPath(); | |
if (b) return hb(b, a) | |
}, ab.getPath = function() { | |
var a, b = e._getPath[this.type]; | |
if ("text" != this.type && "set" != this.type) return b && (a = b(this)), a | |
}, ab.getSubpath = function(a, b) { | |
var c = this.getPath(); | |
if (c) return e.getSubpath(c, a, b) | |
}; | |
var jb = e.easing_formulas = { | |
linear: function(a) { | |
return a | |
}, | |
"<": function(a) { | |
return T(a, 1.7) | |
}, | |
">": function(a) { | |
return T(a, .48) | |
}, | |
"<>": function(a) { | |
var b = .48 - a / 1.04, | |
c = P.sqrt(.1734 + b * b), | |
d = c - b, | |
e = T(S(d), 1 / 3) * (0 > d ? -1 : 1), | |
f = -c - b, | |
g = T(S(f), 1 / 3) * (0 > f ? -1 : 1), | |
h = e + g + .5; | |
return 3 * (1 - h) * h * h + h * h * h | |
}, | |
backIn: function(a) { | |
var b = 1.70158; | |
return a * a * ((b + 1) * a - b) | |
}, | |
backOut: function(a) { | |
a -= 1; | |
var b = 1.70158; | |
return a * a * ((b + 1) * a + b) + 1 | |
}, | |
elastic: function(a) { | |
return a == !! a ? a : T(2, -10 * a) * P.sin(2 * (a - .075) * U / .3) + 1 | |
}, | |
bounce: function(a) { | |
var b, c = 7.5625, | |
d = 2.75; | |
return 1 / d > a ? b = c * a * a : 2 / d > a ? (a -= 1.5 / d, b = c * a * a + .75) : 2.5 / d > a ? (a -= 2.25 / d, b = c * a * a + .9375) : (a -= 2.625 / d, b = c * a * a + .984375), b | |
} | |
}; | |
jb.easeIn = jb["ease-in"] = jb["<"], jb.easeOut = jb["ease-out"] = jb[">"], jb.easeInOut = jb["ease-in-out"] = jb["<>"], jb["back-in"] = jb.backIn, jb["back-out"] = jb.backOut; | |
var kb = [], | |
lb = a.requestAnimationFrame || a.webkitRequestAnimationFrame || a.mozRequestAnimationFrame || a.oRequestAnimationFrame || a.msRequestAnimationFrame || function(a) { | |
setTimeout(a, 16) | |
}, mb = function() { | |
for (var a = +new Date, b = 0; b < kb.length; b++) { | |
var c = kb[b]; | |
if (!c.el.removed && !c.paused) { | |
var f, g, h = a - c.start, | |
i = c.ms, | |
j = c.easing, | |
k = c.from, | |
l = c.diff, | |
m = c.to, | |
n = (c.t, c.el), | |
o = {}, p = {}; | |
if (c.initstatus ? (h = (c.initstatus * c.anim.top - c.prev) / (c.percent - c.prev) * i, c.status = c.initstatus, delete c.initstatus, c.stop && kb.splice(b--, 1)) : c.status = (c.prev + (c.percent - c.prev) * (h / i)) / c.anim.top, !(0 > h)) | |
if (i > h) { | |
var q = j(h / i); | |
for (var r in k) | |
if (k[B](r)) { | |
switch (fa[r]) { | |
case V: | |
f = +k[r] + q * i * l[r]; | |
break; | |
case "colour": | |
f = "rgb(" + [nb(aa(k[r].r + q * i * l[r].r)), nb(aa(k[r].g + q * i * l[r].g)), nb(aa(k[r].b + q * i * l[r].b))].join(",") + ")"; | |
break; | |
case "path": | |
f = []; | |
for (var s = 0, t = k[r].length; t > s; s++) { | |
f[s] = [k[r][s][0]]; | |
for (var v = 1, w = k[r][s].length; w > v; v++) f[s][v] = +k[r][s][v] + q * i * l[r][s][v]; | |
f[s] = f[s].join(J) | |
} | |
f = f.join(J); | |
break; | |
case "transform": | |
if (l[r].real) | |
for (f = [], s = 0, t = k[r].length; t > s; s++) | |
for (f[s] = [k[r][s][0]], v = 1, w = k[r][s].length; w > v; v++) f[s][v] = k[r][s][v] + q * i * l[r][s][v]; | |
else { | |
var x = function(a) { | |
return +k[r][a] + q * i * l[r][a] | |
}; | |
f = [ | |
["m", x(0), x(1), x(2), x(3), x(4), x(5)] | |
] | |
} | |
break; | |
case "csv": | |
if ("clip-rect" == r) | |
for (f = [], s = 4; s--;) f[s] = +k[r][s] + q * i * l[r][s]; | |
break; | |
default: | |
var y = [][G](k[r]); | |
for (f = [], s = n.paper.customAttributes[r].length; s--;) f[s] = +y[s] + q * i * l[r][s] | |
} | |
o[r] = f | |
} | |
n.attr(o), | |
function(a, b, c) { | |
setTimeout(function() { | |
d("raphael.anim.frame." + a, b, c) | |
}) | |
}(n.id, n, c.anim) | |
} else { | |
if (function(a, b, c) { | |
setTimeout(function() { | |
d("raphael.anim.frame." + b.id, b, c), d("raphael.anim.finish." + b.id, b, c), e.is(a, "function") && a.call(b) | |
}) | |
}(c.callback, n, c.anim), n.attr(m), kb.splice(b--, 1), c.repeat > 1 && !c.next) { | |
for (g in m) m[B](g) && (p[g] = c.totalOrigin[g]); | |
c.el.attr(p), u(c.anim, c.el, c.anim.percents[0], null, c.totalOrigin, c.repeat - 1) | |
} | |
c.next && !c.stop && u(c.anim, c.el, c.next, null, c.totalOrigin, c.repeat) | |
} | |
} | |
} | |
e.svg && n && n.paper && n.paper.safari(), kb.length && lb(mb) | |
}, nb = function(a) { | |
return a > 255 ? 255 : 0 > a ? 0 : a | |
}; | |
ab.animateWith = function(a, b, c, d, f, g) { | |
var h = this; | |
if (h.removed) return g && g.call(h), h; | |
var i = c instanceof t ? c : e.animation(c, d, f, g); | |
u(i, h, i.percents[0], null, h.attr()); | |
for (var j = 0, k = kb.length; k > j; j++) | |
if (kb[j].anim == b && kb[j].el == a) { | |
kb[k - 1].start = kb[j].start; | |
break | |
} | |
return h | |
}, ab.onAnimation = function(a) { | |
return a ? d.on("raphael.anim.frame." + this.id, a) : d.unbind("raphael.anim.frame." + this.id), this | |
}, t.prototype.delay = function(a) { | |
var b = new t(this.anim, this.ms); | |
return b.times = this.times, b.del = +a || 0, b | |
}, t.prototype.repeat = function(a) { | |
var b = new t(this.anim, this.ms); | |
return b.del = this.del, b.times = P.floor(Q(a, 0)) || 1, b | |
}, e.animation = function(a, b, c, d) { | |
if (a instanceof t) return a; | |
(e.is(c, "function") || !c) && (d = d || c || null, c = null), a = Object(a), b = +b || 0; | |
var f, g, h = {}; | |
for (g in a) a[B](g) && ba(g) != g && ba(g) + "%" != g && (f = !0, h[g] = a[g]); | |
if (f) return c && (h.easing = c), d && (h.callback = d), new t({ | |
100: h | |
}, b); | |
if (d) { | |
var i = 0; | |
for (var j in a) { | |
var k = ca(j); | |
a[B](j) && k > i && (i = k) | |
} | |
i += "%", !a[i].callback && (a[i].callback = d) | |
} | |
return new t(a, b) | |
}, ab.animate = function(a, b, c, d) { | |
var f = this; | |
if (f.removed) return d && d.call(f), f; | |
var g = a instanceof t ? a : e.animation(a, b, c, d); | |
return u(g, f, g.percents[0], null, f.attr()), f | |
}, ab.setTime = function(a, b) { | |
return a && null != b && this.status(a, R(b, a.ms) / a.ms), this | |
}, ab.status = function(a, b) { | |
var c, d, e = [], | |
f = 0; | |
if (null != b) return u(a, this, -1, R(b, 1)), this; | |
for (c = kb.length; c > f; f++) | |
if (d = kb[f], d.el.id == this.id && (!a || d.anim == a)) { | |
if (a) return d.status; | |
e.push({ | |
anim: d.anim, | |
status: d.status | |
}) | |
} | |
return a ? 0 : e | |
}, ab.pause = function(a) { | |
for (var b = 0; b < kb.length; b++) kb[b].el.id != this.id || a && kb[b].anim != a || d("raphael.anim.pause." + this.id, this, kb[b].anim) !== !1 && (kb[b].paused = !0); | |
return this | |
}, ab.resume = function(a) { | |
for (var b = 0; b < kb.length; b++) | |
if (kb[b].el.id == this.id && (!a || kb[b].anim == a)) { | |
var c = kb[b]; | |
d("raphael.anim.resume." + this.id, this, c.anim) !== !1 && (delete c.paused, this.status(c.anim, c.status)) | |
} | |
return this | |
}, ab.stop = function(a) { | |
for (var b = 0; b < kb.length; b++) kb[b].el.id != this.id || a && kb[b].anim != a || d("raphael.anim.stop." + this.id, this, kb[b].anim) !== !1 && kb.splice(b--, 1); | |
return this | |
}, d.on("raphael.remove", v), d.on("raphael.clear", v), ab.toString = function() { | |
return "Raphaël’s object" | |
}; | |
var ob = function(a) { | |
if (this.items = [], this.length = 0, this.type = "set", a) | |
for (var b = 0, c = a.length; c > b; b++)!a[b] || a[b].constructor != ab.constructor && a[b].constructor != ob || (this[this.items.length] = this.items[this.items.length] = a[b], this.length++) | |
}, pb = ob.prototype; | |
pb.push = function() { | |
for (var a, b, c = 0, d = arguments.length; d > c; c++) a = arguments[c], !a || a.constructor != ab.constructor && a.constructor != ob || (b = this.items.length, this[b] = this.items[b] = a, this.length++); | |
return this | |
}, pb.pop = function() { | |
return this.length && delete this[this.length--], this.items.pop() | |
}, pb.forEach = function(a, b) { | |
for (var c = 0, d = this.items.length; d > c; c++) | |
if (a.call(b, this.items[c], c) === !1) return this; | |
return this | |
}; | |
for (var qb in ab) ab[B](qb) && (pb[qb] = function(a) { | |
return function() { | |
var b = arguments; | |
return this.forEach(function(c) { | |
c[a][F](c, b) | |
}) | |
} | |
}(qb)); | |
return pb.attr = function(a, b) { | |
if (a && e.is(a, X) && e.is(a[0], "object")) | |
for (var c = 0, d = a.length; d > c; c++) this.items[c].attr(a[c]); | |
else | |
for (var f = 0, g = this.items.length; g > f; f++) this.items[f].attr(a, b); | |
return this | |
}, pb.clear = function() { | |
for (; this.length;) this.pop() | |
}, pb.splice = function(a, b, c) { | |
a = 0 > a ? Q(this.length + a, 0) : a, b = Q(0, R(this.length - a, b)); | |
var d, e = [], | |
f = [], | |
g = []; | |
for (d = 2; d < arguments.length; d++) g.push(arguments[d]); | |
for (d = 0; b > d; d++) f.push(this[a + d]); | |
for (; d < this.length - a; d++) e.push(this[a + d]); | |
var h = g.length; | |
for (d = 0; d < h + e.length; d++) this.items[a + d] = this[a + d] = h > d ? g[d] : e[d - h]; | |
for (d = this.items.length = this.length -= b - h; this[d];) delete this[d++]; | |
return new ob(f) | |
}, pb.exclude = function(a) { | |
for (var b = 0, c = this.length; c > b; b++) | |
if (this[b] == a) return this.splice(b, 1), !0 | |
}, pb.animate = function(a, b, c, d) { | |
(e.is(c, "function") || !c) && (d = c || null); | |
var f, g, h = this.items.length, | |
i = h, | |
j = this; | |
if (!h) return this; | |
d && (g = function() { | |
!--h && d.call(j) | |
}), c = e.is(c, W) ? c : g; | |
var k = e.animation(a, b, c, g); | |
for (f = this.items[--i].animate(k); i--;) this.items[i] && !this.items[i].removed && this.items[i].animateWith(f, k, k), this.items[i] && !this.items[i].removed || h--; | |
return this | |
}, pb.insertAfter = function(a) { | |
for (var b = this.items.length; b--;) this.items[b].insertAfter(a); | |
return this | |
}, pb.getBBox = function() { | |
for (var a = [], b = [], c = [], d = [], e = this.items.length; e--;) | |
if (!this.items[e].removed) { | |
var f = this.items[e].getBBox(); | |
a.push(f.x), b.push(f.y), c.push(f.x + f.width), d.push(f.y + f.height) | |
} | |
return a = R[F](0, a), b = R[F](0, b), c = Q[F](0, c), d = Q[F](0, d), { | |
x: a, | |
y: b, | |
x2: c, | |
y2: d, | |
width: c - a, | |
height: d - b | |
} | |
}, pb.clone = function(a) { | |
a = this.paper.set(); | |
for (var b = 0, c = this.items.length; c > b; b++) a.push(this.items[b].clone()); | |
return a | |
}, pb.toString = function() { | |
return "Raphaël‘s set" | |
}, pb.glow = function(a) { | |
var b = this.paper.set(); | |
return this.forEach(function(c, d) { | |
var e = c.glow(a); | |
null != e && e.forEach(function(a, c) { | |
b.push(a) | |
}) | |
}), b | |
}, pb.isPointInside = function(a, b) { | |
var c = !1; | |
return this.forEach(function(d) { | |
return d.isPointInside(a, b) ? (c = !0, !1) : void 0 | |
}), c | |
}, e.registerFont = function(a) { | |
if (!a.face) return a; | |
this.fonts = this.fonts || {}; | |
var b = { | |
w: a.w, | |
face: {}, | |
glyphs: {} | |
}, c = a.face["font-family"]; | |
for (var d in a.face) a.face[B](d) && (b.face[d] = a.face[d]); | |
if (this.fonts[c] ? this.fonts[c].push(b) : this.fonts[c] = [b], !a.svg) { | |
b.face["units-per-em"] = ca(a.face["units-per-em"], 10); | |
for (var e in a.glyphs) | |
if (a.glyphs[B](e)) { | |
var f = a.glyphs[e]; | |
if (b.glyphs[e] = { | |
w: f.w, | |
k: {}, | |
d: f.d && "M" + f.d.replace(/[mlcxtrv]/g, function(a) { | |
return { | |
l: "L", | |
c: "C", | |
x: "z", | |
t: "m", | |
r: "l", | |
v: "c" | |
}[a] || "M" | |
}) + "z" | |
}, f.k) | |
for (var g in f.k) f[B](g) && (b.glyphs[e].k[g] = f.k[g]) | |
} | |
} | |
return a | |
}, x.getFont = function(a, b, c, d) { | |
if (d = d || "normal", c = c || "normal", b = +b || { | |
normal: 400, | |
bold: 700, | |
lighter: 300, | |
bolder: 800 | |
}[b] || 400, e.fonts) { | |
var f = e.fonts[a]; | |
if (!f) { | |
var g = new RegExp("(^|\\s)" + a.replace(/[^\w\d\s+!~.:_-]/g, I) + "(\\s|$)", "i"); | |
for (var h in e.fonts) | |
if (e.fonts[B](h) && g.test(h)) { | |
f = e.fonts[h]; | |
break | |
} | |
} | |
var i; | |
if (f) | |
for (var j = 0, k = f.length; k > j && (i = f[j], i.face["font-weight"] != b || i.face["font-style"] != c && i.face["font-style"] || i.face["font-stretch"] != d); j++); | |
return i | |
} | |
}, x.print = function(a, b, c, d, f, g, h, i) { | |
g = g || "middle", h = Q(R(h || 0, 1), -1), i = Q(R(i || 1, 3), 1); | |
var j, k = K(c)[L](I), | |
l = 0, | |
m = 0, | |
n = I; | |
if (e.is(d, "string") && (d = this.getFont(d)), d) { | |
j = (f || 16) / d.face["units-per-em"]; | |
for (var o = d.face.bbox[L](y), p = +o[0], q = o[3] - o[1], r = 0, s = +o[1] + ("baseline" == g ? q + +d.face.descent : q / 2), t = 0, u = k.length; u > t; t++) { | |
if ("\n" == k[t]) l = 0, w = 0, m = 0, r += q * i; | |
else { | |
var v = m && d.glyphs[k[t - 1]] || {}, w = d.glyphs[k[t]]; | |
l += m ? (v.w || d.w) + (v.k && v.k[k[t]] || 0) + d.w * h : 0, m = 1 | |
} | |
w && w.d && (n += e.transformPath(w.d, ["t", l * j, r * j, "s", j, j, p, s, "t", (a - p) / j, (b - s) / j])) | |
} | |
} | |
return this.path(n).attr({ | |
fill: "#000", | |
stroke: "none" | |
}) | |
}, x.add = function(a) { | |
if (e.is(a, "array")) | |
for (var b, c = this.set(), d = 0, f = a.length; f > d; d++) b = a[d] || {}, z[B](b.type) && c.push(this[b.type]().attr(b)); | |
return c | |
}, e.format = function(a, b) { | |
var c = e.is(b, X) ? [0][G](b) : arguments; | |
return a && e.is(a, W) && c.length - 1 && (a = a.replace(A, function(a, b) { | |
return null == c[++b] ? I : c[b] | |
})), a || I | |
}, e.fullfill = function() { | |
var a = /\{([^\}]+)\}/g, | |
b = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, | |
c = function(a, c, d) { | |
var e = d; | |
return c.replace(b, function(a, b, c, d, f) { | |
b = b || d, e && (b in e && (e = e[b]), "function" == typeof e && f && (e = e())) | |
}), e = (null == e || e == d ? a : e) + "" | |
}; | |
return function(b, d) { | |
return String(b).replace(a, function(a, b) { | |
return c(a, b, d) | |
}) | |
} | |
}(), e.ninja = function() { | |
return D.was ? C.win.Raphael = D.is : delete Raphael, e | |
}, e.st = pb, d.on("raphael.DOMload", function() { | |
w = !0 | |
}), | |
function(a, b, c) { | |
function d() { | |
/in/.test(a.readyState) ? setTimeout(d, 9) : e.eve("raphael.DOMload") | |
} | |
null == a.readyState && a.addEventListener && (a.addEventListener(b, c = function() { | |
a.removeEventListener(b, c, !1), a.readyState = "complete" | |
}, !1), a.readyState = "loading"), d() | |
}(document, "DOMContentLoaded"), | |
function() { | |
if (e.svg) { | |
var a = "hasOwnProperty", | |
b = String, | |
c = parseFloat, | |
d = parseInt, | |
f = Math, | |
g = f.max, | |
h = f.abs, | |
i = f.pow, | |
j = /[, ]+/, | |
k = e.eve, | |
l = "", | |
m = " ", | |
n = "http://www.w3.org/1999/xlink", | |
o = { | |
block: "M5,0 0,2.5 5,5z", | |
classic: "M5,0 0,2.5 5,5 3.5,3 3.5,2z", | |
diamond: "M2.5,0 5,2.5 2.5,5 0,2.5z", | |
open: "M6,1 1,3.5 6,6", | |
oval: "M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z" | |
}, p = {}; | |
e.toString = function() { | |
return "Your browser supports SVG.\nYou are running Raphaël " + this.version | |
}; | |
var q = function(c, d) { | |
if (d) { | |
"string" == typeof c && (c = q(c)); | |
for (var f in d) d[a](f) && ("xlink:" == f.substring(0, 6) ? c.setAttributeNS(n, f.substring(6), b(d[f])) : c.setAttribute(f, b(d[f]))) | |
} else c = e._g.doc.createElementNS("http://www.w3.org/2000/svg", c), c.style && (c.style.webkitTapHighlightColor = "rgba(0,0,0,0)"); | |
return c | |
}, r = function(a, d) { | |
var j = "linear", | |
k = a.id + d, | |
m = .5, | |
n = .5, | |
o = a.node, | |
p = a.paper, | |
r = o.style, | |
s = e._g.doc.getElementById(k); | |
if (!s) { | |
if (d = b(d).replace(e._radial_gradient, function(a, b, d) { | |
if (j = "radial", b && d) { | |
m = c(b), n = c(d); | |
var e = 2 * (n > .5) - 1; | |
i(m - .5, 2) + i(n - .5, 2) > .25 && (n = f.sqrt(.25 - i(m - .5, 2)) * e + .5) && .5 != n && (n = n.toFixed(5) - 1e-5 * e) | |
} | |
return l | |
}), d = d.split(/\s*\-\s*/), "linear" == j) { | |
var t = d.shift(); | |
if (t = -c(t), isNaN(t)) return null; | |
var u = [0, 0, f.cos(e.rad(t)), f.sin(e.rad(t))], | |
v = 1 / (g(h(u[2]), h(u[3])) || 1); | |
u[2] *= v, u[3] *= v, u[2] < 0 && (u[0] = -u[2], u[2] = 0), u[3] < 0 && (u[1] = -u[3], u[3] = 0) | |
} | |
var w = e._parseDots(d); | |
if (!w) return null; | |
if (k = k.replace(/[\(\)\s,\xb0#]/g, "_"), a.gradient && k != a.gradient.id && (p.defs.removeChild(a.gradient), delete a.gradient), !a.gradient) { | |
s = q(j + "Gradient", { | |
id: k | |
}), a.gradient = s, q(s, "radial" == j ? { | |
fx: m, | |
fy: n | |
} : { | |
x1: u[0], | |
y1: u[1], | |
x2: u[2], | |
y2: u[3], | |
gradientTransform: a.matrix.invert() | |
}), p.defs.appendChild(s); | |
for (var x = 0, y = w.length; y > x; x++) s.appendChild(q("stop", { | |
offset: w[x].offset ? w[x].offset : x ? "100%" : "0%", | |
"stop-color": w[x].color || "#fff" | |
})) | |
} | |
} | |
return q(o, { | |
fill: "url('" + document.location + "#" + k + "')", | |
opacity: 1, | |
"fill-opacity": 1 | |
}), r.fill = l, r.opacity = 1, r.fillOpacity = 1, 1 | |
}, s = function(a) { | |
var b = a.getBBox(1); | |
q(a.pattern, { | |
patternTransform: a.matrix.invert() + " translate(" + b.x + "," + b.y + ")" | |
}) | |
}, t = function(c, d, f) { | |
if ("path" == c.type) { | |
for (var g, h, i, j, k, m = b(d).toLowerCase().split("-"), n = c.paper, r = f ? "end" : "start", s = c.node, t = c.attrs, u = t["stroke-width"], v = m.length, w = "classic", x = 3, y = 3, z = 5; v--;) switch (m[v]) { | |
case "block": | |
case "classic": | |
case "oval": | |
case "diamond": | |
case "open": | |
case "none": | |
w = m[v]; | |
break; | |
case "wide": | |
y = 5; | |
break; | |
case "narrow": | |
y = 2; | |
break; | |
case "long": | |
x = 5; | |
break; | |
case "short": | |
x = 2 | |
} | |
if ("open" == w ? (x += 2, y += 2, z += 2, i = 1, j = f ? 4 : 1, k = { | |
fill: "none", | |
stroke: t.stroke | |
}) : (j = i = x / 2, k = { | |
fill: t.stroke, | |
stroke: "none" | |
}), c._.arrows ? f ? (c._.arrows.endPath && p[c._.arrows.endPath]--, c._.arrows.endMarker && p[c._.arrows.endMarker]--) : (c._.arrows.startPath && p[c._.arrows.startPath]--, c._.arrows.startMarker && p[c._.arrows.startMarker]--) : c._.arrows = {}, "none" != w) { | |
var A = "raphael-marker-" + w, | |
B = "raphael-marker-" + r + w + x + y + "-obj" + c.id; | |
e._g.doc.getElementById(A) ? p[A]++ : (n.defs.appendChild(q(q("path"), { | |
"stroke-linecap": "round", | |
d: o[w], | |
id: A | |
})), p[A] = 1); | |
var C, D = e._g.doc.getElementById(B); | |
D ? (p[B]++, C = D.getElementsByTagName("use")[0]) : (D = q(q("marker"), { | |
id: B, | |
markerHeight: y, | |
markerWidth: x, | |
orient: "auto", | |
refX: j, | |
refY: y / 2 | |
}), C = q(q("use"), { | |
"xlink:href": "#" + A, | |
transform: (f ? "rotate(180 " + x / 2 + " " + y / 2 + ") " : l) + "scale(" + x / z + "," + y / z + ")", | |
"stroke-width": (1 / ((x / z + y / z) / 2)).toFixed(4) | |
}), D.appendChild(C), n.defs.appendChild(D), p[B] = 1), q(C, k); | |
var E = i * ("diamond" != w && "oval" != w); | |
f ? (g = c._.arrows.startdx * u || 0, h = e.getTotalLength(t.path) - E * u) : (g = E * u, h = e.getTotalLength(t.path) - (c._.arrows.enddx * u || 0)), k = {}, k["marker-" + r] = "url(#" + B + ")", (h || g) && (k.d = e.getSubpath(t.path, g, h)), q(s, k), c._.arrows[r + "Path"] = A, c._.arrows[r + "Marker"] = B, c._.arrows[r + "dx"] = E, c._.arrows[r + "Type"] = w, c._.arrows[r + "String"] = d | |
} else f ? (g = c._.arrows.startdx * u || 0, h = e.getTotalLength(t.path) - g) : (g = 0, h = e.getTotalLength(t.path) - (c._.arrows.enddx * u || 0)), c._.arrows[r + "Path"] && q(s, { | |
d: e.getSubpath(t.path, g, h) | |
}), delete c._.arrows[r + "Path"], delete c._.arrows[r + "Marker"], delete c._.arrows[r + "dx"], delete c._.arrows[r + "Type"], delete c._.arrows[r + "String"]; | |
for (k in p) | |
if (p[a](k) && !p[k]) { | |
var F = e._g.doc.getElementById(k); | |
F && F.parentNode.removeChild(F) | |
} | |
} | |
}, u = { | |
"": [0], | |
none: [0], | |
"-": [3, 1], | |
".": [1, 1], | |
"-.": [3, 1, 1, 1], | |
"-..": [3, 1, 1, 1, 1, 1], | |
". ": [1, 3], | |
"- ": [4, 3], | |
"--": [8, 3], | |
"- .": [4, 3, 1, 3], | |
"--.": [8, 3, 1, 3], | |
"--..": [8, 3, 1, 3, 1, 3] | |
}, v = function(a, c, d) { | |
if (c = u[b(c).toLowerCase()]) { | |
for (var e = a.attrs["stroke-width"] || "1", f = { | |
round: e, | |
square: e, | |
butt: 0 | |
}[a.attrs["stroke-linecap"] || d["stroke-linecap"]] || 0, g = [], h = c.length; h--;) g[h] = c[h] * e + (h % 2 ? 1 : -1) * f; | |
q(a.node, { | |
"stroke-dasharray": g.join(",") | |
}) | |
} | |
}, w = function(c, f) { | |
var i = c.node, | |
k = c.attrs, | |
m = i.style.visibility; | |
i.style.visibility = "hidden"; | |
for (var o in f) | |
if (f[a](o)) { | |
if (!e._availableAttrs[a](o)) continue; | |
var p = f[o]; | |
switch (k[o] = p, o) { | |
case "blur": | |
c.blur(p); | |
break; | |
case "title": | |
var u = i.getElementsByTagName("title"); | |
if (u.length && (u = u[0])) u.firstChild.nodeValue = p; | |
else { | |
u = q("title"); | |
var w = e._g.doc.createTextNode(p); | |
u.appendChild(w), i.appendChild(u) | |
} | |
break; | |
case "href": | |
case "target": | |
var x = i.parentNode; | |
if ("a" != x.tagName.toLowerCase()) { | |
var z = q("a"); | |
x.insertBefore(z, i), z.appendChild(i), x = z | |
} | |
"target" == o ? x.setAttributeNS(n, "show", "blank" == p ? "new" : p) : x.setAttributeNS(n, o, p); | |
break; | |
case "cursor": | |
i.style.cursor = p; | |
break; | |
case "transform": | |
c.transform(p); | |
break; | |
case "arrow-start": | |
t(c, p); | |
break; | |
case "arrow-end": | |
t(c, p, 1); | |
break; | |
case "clip-rect": | |
var A = b(p).split(j); | |
if (4 == A.length) { | |
c.clip && c.clip.parentNode.parentNode.removeChild(c.clip.parentNode); | |
var B = q("clipPath"), | |
C = q("rect"); | |
B.id = e.createUUID(), q(C, { | |
x: A[0], | |
y: A[1], | |
width: A[2], | |
height: A[3] | |
}), B.appendChild(C), c.paper.defs.appendChild(B), q(i, { | |
"clip-path": "url(#" + B.id + ")" | |
}), c.clip = C | |
} | |
if (!p) { | |
var D = i.getAttribute("clip-path"); | |
if (D) { | |
var E = e._g.doc.getElementById(D.replace(/(^url\(#|\)$)/g, l)); | |
E && E.parentNode.removeChild(E), q(i, { | |
"clip-path": l | |
}), delete c.clip | |
} | |
} | |
break; | |
case "path": | |
"path" == c.type && (q(i, { | |
d: p ? k.path = e._pathToAbsolute(p) : "M0,0" | |
}), c._.dirty = 1, c._.arrows && ("startString" in c._.arrows && t(c, c._.arrows.startString), "endString" in c._.arrows && t(c, c._.arrows.endString, 1))); | |
break; | |
case "width": | |
if (i.setAttribute(o, p), c._.dirty = 1, !k.fx) break; | |
o = "x", p = k.x; | |
case "x": | |
k.fx && (p = -k.x - (k.width || 0)); | |
case "rx": | |
if ("rx" == o && "rect" == c.type) break; | |
case "cx": | |
i.setAttribute(o, p), c.pattern && s(c), c._.dirty = 1; | |
break; | |
case "height": | |
if (i.setAttribute(o, p), c._.dirty = 1, !k.fy) break; | |
o = "y", p = k.y; | |
case "y": | |
k.fy && (p = -k.y - (k.height || 0)); | |
case "ry": | |
if ("ry" == o && "rect" == c.type) break; | |
case "cy": | |
i.setAttribute(o, p), c.pattern && s(c), c._.dirty = 1; | |
break; | |
case "r": | |
"rect" == c.type ? q(i, { | |
rx: p, | |
ry: p | |
}) : i.setAttribute(o, p), c._.dirty = 1; | |
break; | |
case "src": | |
"image" == c.type && i.setAttributeNS(n, "href", p); | |
break; | |
case "stroke-width": | |
(1 != c._.sx || 1 != c._.sy) && (p /= g(h(c._.sx), h(c._.sy)) || 1), i.setAttribute(o, p), k["stroke-dasharray"] && v(c, k["stroke-dasharray"], f), c._.arrows && ("startString" in c._.arrows && t(c, c._.arrows.startString), "endString" in c._.arrows && t(c, c._.arrows.endString, 1)); | |
break; | |
case "stroke-dasharray": | |
v(c, p, f); | |
break; | |
case "fill": | |
var F = b(p).match(e._ISURL); | |
if (F) { | |
B = q("pattern"); | |
var G = q("image"); | |
B.id = e.createUUID(), q(B, { | |
x: 0, | |
y: 0, | |
patternUnits: "userSpaceOnUse", | |
height: 1, | |
width: 1 | |
}), q(G, { | |
x: 0, | |
y: 0, | |
"xlink:href": F[1] | |
}), B.appendChild(G), | |
function(a) { | |
e._preload(F[1], function() { | |
var b = this.offsetWidth, | |
d = this.offsetHeight; | |
q(a, { | |
width: b, | |
height: d | |
}), q(G, { | |
width: b, | |
height: d | |
}), c.paper.safari() | |
}) | |
}(B), c.paper.defs.appendChild(B), q(i, { | |
fill: "url(#" + B.id + ")" | |
}), c.pattern = B, c.pattern && s(c); | |
break | |
} | |
var H = e.getRGB(p); | |
if (H.error) { | |
if (("circle" == c.type || "ellipse" == c.type || "r" != b(p).charAt()) && r(c, p)) { | |
if ("opacity" in k || "fill-opacity" in k) { | |
var I = e._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g, l)); | |
if (I) { | |
var J = I.getElementsByTagName("stop"); | |
q(J[J.length - 1], { | |
"stop-opacity": ("opacity" in k ? k.opacity : 1) * ("fill-opacity" in k ? k["fill-opacity"] : 1) | |
}) | |
} | |
} | |
k.gradient = p, k.fill = "none"; | |
break | |
} | |
} else delete f.gradient, delete k.gradient, !e.is(k.opacity, "undefined") && e.is(f.opacity, "undefined") && q(i, { | |
opacity: k.opacity | |
}), !e.is(k["fill-opacity"], "undefined") && e.is(f["fill-opacity"], "undefined") && q(i, { | |
"fill-opacity": k["fill-opacity"] | |
}); | |
H[a]("opacity") && q(i, { | |
"fill-opacity": H.opacity > 1 ? H.opacity / 100 : H.opacity | |
}); | |
case "stroke": | |
H = e.getRGB(p), i.setAttribute(o, H.hex), "stroke" == o && H[a]("opacity") && q(i, { | |
"stroke-opacity": H.opacity > 1 ? H.opacity / 100 : H.opacity | |
}), "stroke" == o && c._.arrows && ("startString" in c._.arrows && t(c, c._.arrows.startString), "endString" in c._.arrows && t(c, c._.arrows.endString, 1)); | |
break; | |
case "gradient": | |
("circle" == c.type || "ellipse" == c.type || "r" != b(p).charAt()) && r(c, p); | |
break; | |
case "opacity": | |
k.gradient && !k[a]("stroke-opacity") && q(i, { | |
"stroke-opacity": p > 1 ? p / 100 : p | |
}); | |
case "fill-opacity": | |
if (k.gradient) { | |
I = e._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g, l)), I && (J = I.getElementsByTagName("stop"), q(J[J.length - 1], { | |
"stop-opacity": p | |
})); | |
break | |
} | |
default: | |
"font-size" == o && (p = d(p, 10) + "px"); | |
var K = o.replace(/(\-.)/g, function(a) { | |
return a.substring(1).toUpperCase() | |
}); | |
i.style[K] = p, c._.dirty = 1, i.setAttribute(o, p) | |
} | |
} | |
y(c, f), i.style.visibility = m | |
}, x = 1.2, | |
y = function(c, f) { | |
if ("text" == c.type && (f[a]("text") || f[a]("font") || f[a]("font-size") || f[a]("x") || f[a]("y"))) { | |
var g = c.attrs, | |
h = c.node, | |
i = h.firstChild ? d(e._g.doc.defaultView.getComputedStyle(h.firstChild, l).getPropertyValue("font-size"), 10) : 10; | |
if (f[a]("text")) { | |
for (g.text = f.text; h.firstChild;) h.removeChild(h.firstChild); | |
for (var j, k = b(f.text).split("\n"), m = [], n = 0, o = k.length; o > n; n++) j = q("tspan"), n && q(j, { | |
dy: i * x, | |
x: g.x | |
}), j.appendChild(e._g.doc.createTextNode(k[n])), h.appendChild(j), m[n] = j | |
} else | |
for (m = h.getElementsByTagName("tspan"), n = 0, o = m.length; o > n; n++) n ? q(m[n], { | |
dy: i * x, | |
x: g.x | |
}) : q(m[0], { | |
dy: 0 | |
}); | |
q(h, { | |
x: g.x, | |
y: g.y | |
}), c._.dirty = 1; | |
var p = c._getBBox(), | |
r = g.y - (p.y + p.height / 2); | |
r && e.is(r, "finite") && q(m[0], { | |
dy: r | |
}) | |
} | |
}, z = function(a) { | |
return a.parentNode && "a" === a.parentNode.tagName.toLowerCase() ? a.parentNode : a | |
}, A = function(a, b) { | |
this[0] = this.node = a, a.raphael = !0, this.id = e._oid++, a.raphaelid = this.id, this.matrix = e.matrix(), this.realPath = null, this.paper = b, this.attrs = this.attrs || {}, this._ = { | |
transform: [], | |
sx: 1, | |
sy: 1, | |
deg: 0, | |
dx: 0, | |
dy: 0, | |
dirty: 1 | |
}, !b.bottom && (b.bottom = this), this.prev = b.top, b.top && (b.top.next = this), b.top = this, this.next = null | |
}, B = e.el; | |
A.prototype = B, B.constructor = A, e._engine.path = function(a, b) { | |
var c = q("path"); | |
b.canvas && b.canvas.appendChild(c); | |
var d = new A(c, b); | |
return d.type = "path", w(d, { | |
fill: "none", | |
stroke: "#000", | |
path: a | |
}), d | |
}, B.rotate = function(a, d, e) { | |
if (this.removed) return this; | |
if (a = b(a).split(j), a.length - 1 && (d = c(a[1]), e = c(a[2])), a = c(a[0]), null == e && (d = e), null == d || null == e) { | |
var f = this.getBBox(1); | |
d = f.x + f.width / 2, e = f.y + f.height / 2 | |
} | |
return this.transform(this._.transform.concat([ | |
["r", a, d, e] | |
])), this | |
}, B.scale = function(a, d, e, f) { | |
if (this.removed) return this; | |
if (a = b(a).split(j), a.length - 1 && (d = c(a[1]), e = c(a[2]), f = c(a[3])), a = c(a[0]), null == d && (d = a), null == f && (e = f), null == e || null == f) var g = this.getBBox(1); | |
return e = null == e ? g.x + g.width / 2 : e, f = null == f ? g.y + g.height / 2 : f, this.transform(this._.transform.concat([ | |
["s", a, d, e, f] | |
])), this | |
}, B.translate = function(a, d) { | |
return this.removed ? this : (a = b(a).split(j), a.length - 1 && (d = c(a[1])), a = c(a[0]) || 0, d = +d || 0, this.transform(this._.transform.concat([ | |
["t", a, d] | |
])), this) | |
}, B.transform = function(b) { | |
var c = this._; | |
if (null == b) return c.transform; | |
if (e._extractTransform(this, b), this.clip && q(this.clip, { | |
transform: this.matrix.invert() | |
}), this.pattern && s(this), this.node && q(this.node, { | |
transform: this.matrix | |
}), 1 != c.sx || 1 != c.sy) { | |
var d = this.attrs[a]("stroke-width") ? this.attrs["stroke-width"] : 1; | |
this.attr({ | |
"stroke-width": d | |
}) | |
} | |
return this | |
}, B.hide = function() { | |
return !this.removed && this.paper.safari(this.node.style.display = "none"), this | |
}, B.show = function() { | |
return !this.removed && this.paper.safari(this.node.style.display = ""), this | |
}, B.remove = function() { | |
var a = z(this.node); | |
if (!this.removed && a.parentNode) { | |
var b = this.paper; | |
b.__set__ && b.__set__.exclude(this), k.unbind("raphael.*.*." + this.id), this.gradient && b.defs.removeChild(this.gradient), e._tear(this, b), a.parentNode.removeChild(a), this.removeData(); | |
for (var c in this) this[c] = "function" == typeof this[c] ? e._removedFactory(c) : null; | |
this.removed = !0 | |
} | |
}, B._getBBox = function() { | |
if ("none" == this.node.style.display) { | |
this.show(); | |
var a = !0 | |
} | |
var b, c = !1; | |
this.paper.canvas.parentElement ? b = this.paper.canvas.parentElement.style : this.paper.canvas.parentNode && (b = this.paper.canvas.parentNode.style), b && "none" == b.display && (c = !0, b.display = ""); | |
var d = {}; | |
try { | |
d = this.node.getBBox() | |
} catch (e) { | |
d = { | |
x: this.node.clientLeft, | |
y: this.node.clientTop, | |
width: this.node.clientWidth, | |
height: this.node.clientHeight | |
} | |
} finally { | |
d = d || {}, c && (b.display = "none") | |
} | |
return a && this.hide(), d | |
}, B.attr = function(b, c) { | |
if (this.removed) return this; | |
if (null == b) { | |
var d = {}; | |
for (var f in this.attrs) this.attrs[a](f) && (d[f] = this.attrs[f]); | |
return d.gradient && "none" == d.fill && (d.fill = d.gradient) && delete d.gradient, d.transform = this._.transform, d | |
} | |
if (null == c && e.is(b, "string")) { | |
if ("fill" == b && "none" == this.attrs.fill && this.attrs.gradient) return this.attrs.gradient; | |
if ("transform" == b) return this._.transform; | |
for (var g = b.split(j), h = {}, i = 0, l = g.length; l > i; i++) b = g[i], b in this.attrs ? h[b] = this.attrs[b] : e.is(this.paper.customAttributes[b], "function") ? h[b] = this.paper.customAttributes[b].def : h[b] = e._availableAttrs[b]; | |
return l - 1 ? h : h[g[0]] | |
} | |
if (null == c && e.is(b, "array")) { | |
for (h = {}, i = 0, l = b.length; l > i; i++) h[b[i]] = this.attr(b[i]); | |
return h | |
} | |
if (null != c) { | |
var m = {}; | |
m[b] = c | |
} else null != b && e.is(b, "object") && (m = b); | |
for (var n in m) k("raphael.attr." + n + "." + this.id, this, m[n]); | |
for (n in this.paper.customAttributes) | |
if (this.paper.customAttributes[a](n) && m[a](n) && e.is(this.paper.customAttributes[n], "function")) { | |
var o = this.paper.customAttributes[n].apply(this, [].concat(m[n])); | |
this.attrs[n] = m[n]; | |
for (var p in o) o[a](p) && (m[p] = o[p]) | |
} | |
return w(this, m), this | |
}, B.toFront = function() { | |
if (this.removed) return this; | |
var a = z(this.node); | |
a.parentNode.appendChild(a); | |
var b = this.paper; | |
return b.top != this && e._tofront(this, b), this | |
}, B.toBack = function() { | |
if (this.removed) return this; | |
var a = z(this.node), | |
b = a.parentNode; | |
b.insertBefore(a, b.firstChild), e._toback(this, this.paper); | |
this.paper; | |
return this | |
}, B.insertAfter = function(a) { | |
if (this.removed || !a) return this; | |
var b = z(this.node), | |
c = z(a.node || a[a.length - 1].node); | |
return c.nextSibling ? c.parentNode.insertBefore(b, c.nextSibling) : c.parentNode.appendChild(b), e._insertafter(this, a, this.paper), this | |
}, B.insertBefore = function(a) { | |
if (this.removed || !a) return this; | |
var b = z(this.node), | |
c = z(a.node || a[0].node); | |
return c.parentNode.insertBefore(b, c), e._insertbefore(this, a, this.paper), this | |
}, B.blur = function(a) { | |
var b = this; | |
if (0 !== +a) { | |
var c = q("filter"), | |
d = q("feGaussianBlur"); | |
b.attrs.blur = a, c.id = e.createUUID(), q(d, { | |
stdDeviation: +a || 1.5 | |
}), c.appendChild(d), b.paper.defs.appendChild(c), b._blur = c, q(b.node, { | |
filter: "url(#" + c.id + ")" | |
}) | |
} else b._blur && (b._blur.parentNode.removeChild(b._blur), delete b._blur, delete b.attrs.blur), b.node.removeAttribute("filter"); | |
return b | |
}, e._engine.circle = function(a, b, c, d) { | |
var e = q("circle"); | |
a.canvas && a.canvas.appendChild(e); | |
var f = new A(e, a); | |
return f.attrs = { | |
cx: b, | |
cy: c, | |
r: d, | |
fill: "none", | |
stroke: "#000" | |
}, f.type = "circle", q(e, f.attrs), f | |
}, e._engine.rect = function(a, b, c, d, e, f) { | |
var g = q("rect"); | |
a.canvas && a.canvas.appendChild(g); | |
var h = new A(g, a); | |
return h.attrs = { | |
x: b, | |
y: c, | |
width: d, | |
height: e, | |
rx: f || 0, | |
ry: f || 0, | |
fill: "none", | |
stroke: "#000" | |
}, h.type = "rect", q(g, h.attrs), h | |
}, e._engine.ellipse = function(a, b, c, d, e) { | |
var f = q("ellipse"); | |
a.canvas && a.canvas.appendChild(f); | |
var g = new A(f, a); | |
return g.attrs = { | |
cx: b, | |
cy: c, | |
rx: d, | |
ry: e, | |
fill: "none", | |
stroke: "#000" | |
}, g.type = "ellipse", q(f, g.attrs), g | |
}, e._engine.image = function(a, b, c, d, e, f) { | |
var g = q("image"); | |
q(g, { | |
x: c, | |
y: d, | |
width: e, | |
height: f, | |
preserveAspectRatio: "none" | |
}), g.setAttributeNS(n, "href", b), a.canvas && a.canvas.appendChild(g); | |
var h = new A(g, a); | |
return h.attrs = { | |
x: c, | |
y: d, | |
width: e, | |
height: f, | |
src: b | |
}, h.type = "image", h | |
}, e._engine.text = function(a, b, c, d) { | |
var f = q("text"); | |
a.canvas && a.canvas.appendChild(f); | |
var g = new A(f, a); | |
return g.attrs = { | |
x: b, | |
y: c, | |
"text-anchor": "middle", | |
text: d, | |
"font-family": e._availableAttrs["font-family"], | |
"font-size": e._availableAttrs["font-size"], | |
stroke: "none", | |
fill: "#000" | |
}, g.type = "text", w(g, g.attrs), g | |
}, e._engine.setSize = function(a, b) { | |
return this.width = a || this.width, this.height = b || this.height, this.canvas.setAttribute("width", this.width), this.canvas.setAttribute("height", this.height), this._viewBox && this.setViewBox.apply(this, this._viewBox), this | |
}, e._engine.create = function() { | |
var a = e._getContainer.apply(0, arguments), | |
b = a && a.container, | |
c = a.x, | |
d = a.y, | |
f = a.width, | |
g = a.height; | |
if (!b) throw new Error("SVG container not found."); | |
var h, i = q("svg"), | |
j = "overflow:hidden;"; | |
return c = c || 0, d = d || 0, f = f || 512, g = g || 342, q(i, { | |
height: g, | |
version: 1.1, | |
width: f, | |
xmlns: "http://www.w3.org/2000/svg", | |
"xmlns:xlink": "http://www.w3.org/1999/xlink" | |
}), 1 == b ? (i.style.cssText = j + "position:absolute;left:" + c + "px;top:" + d + "px", e._g.doc.body.appendChild(i), h = 1) : (i.style.cssText = j + "position:relative", b.firstChild ? b.insertBefore(i, b.firstChild) : b.appendChild(i)), b = new e._Paper, b.width = f, b.height = g, b.canvas = i, b.clear(), b._left = b._top = 0, h && (b.renderfix = function() {}), b.renderfix(), b | |
}, e._engine.setViewBox = function(a, b, c, d, e) { | |
k("raphael.setViewBox", this, this._viewBox, [a, b, c, d, e]); | |
var f, h, i = this.getSize(), | |
j = g(c / i.width, d / i.height), | |
l = this.top, | |
n = e ? "xMidYMid meet" : "xMinYMin"; | |
for (null == a ? (this._vbSize && (j = 1), delete this._vbSize, f = "0 0 " + this.width + m + this.height) : (this._vbSize = j, f = a + m + b + m + c + m + d), q(this.canvas, { | |
viewBox: f, | |
preserveAspectRatio: n | |
}); j && l;) h = "stroke-width" in l.attrs ? l.attrs["stroke-width"] : 1, l.attr({ | |
"stroke-width": h | |
}), l._.dirty = 1, l._.dirtyT = 1, l = l.prev; | |
return this._viewBox = [a, b, c, d, !! e], this | |
}, e.prototype.renderfix = function() { | |
var a, b = this.canvas, | |
c = b.style; | |
try { | |
a = b.getScreenCTM() || b.createSVGMatrix() | |
} catch (d) { | |
a = b.createSVGMatrix() | |
} | |
var e = -a.e % 1, | |
f = -a.f % 1; | |
(e || f) && (e && (this._left = (this._left + e) % 1, c.left = this._left + "px"), f && (this._top = (this._top + f) % 1, c.top = this._top + "px")) | |
}, e.prototype.clear = function() { | |
e.eve("raphael.clear", this); | |
for (var a = this.canvas; a.firstChild;) a.removeChild(a.firstChild); | |
this.bottom = this.top = null, (this.desc = q("desc")).appendChild(e._g.doc.createTextNode("Created with Raphaël " + e.version)), a.appendChild(this.desc), a.appendChild(this.defs = q("defs")) | |
}, e.prototype.remove = function() { | |
k("raphael.remove", this), this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas); | |
for (var a in this) this[a] = "function" == typeof this[a] ? e._removedFactory(a) : null | |
}; | |
var C = e.st; | |
for (var D in B) B[a](D) && !C[a](D) && (C[D] = function(a) { | |
return function() { | |
var b = arguments; | |
return this.forEach(function(c) { | |
c[a].apply(c, b) | |
}) | |
} | |
}(D)) | |
} | |
}(), | |
function() { | |
if (e.vml) { | |
var a = "hasOwnProperty", | |
b = String, | |
c = parseFloat, | |
d = Math, | |
f = d.round, | |
g = d.max, | |
h = d.min, | |
i = d.abs, | |
j = "fill", | |
k = /[, ]+/, | |
l = e.eve, | |
m = " progid:DXImageTransform.Microsoft", | |
n = " ", | |
o = "", | |
p = { | |
M: "m", | |
L: "l", | |
C: "c", | |
Z: "x", | |
m: "t", | |
l: "r", | |
c: "v", | |
z: "x" | |
}, q = /([clmz]),?([^clmz]*)/gi, | |
r = / progid:\S+Blur\([^\)]+\)/g, | |
s = /-?[^,\s-]+/g, | |
t = "position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)", | |
u = 21600, | |
v = { | |
path: 1, | |
rect: 1, | |
image: 1 | |
}, w = { | |
circle: 1, | |
ellipse: 1 | |
}, x = function(a) { | |
var c = /[ahqstv]/gi, | |
d = e._pathToAbsolute; | |
if (b(a).match(c) && (d = e._path2curve), c = /[clmz]/g, d == e._pathToAbsolute && !b(a).match(c)) { | |
var g = b(a).replace(q, function(a, b, c) { | |
var d = [], | |
e = "m" == b.toLowerCase(), | |
g = p[b]; | |
return c.replace(s, function(a) { | |
e && 2 == d.length && (g += d + p["m" == b ? "l" : "L"], d = []), d.push(f(a * u)) | |
}), g + d | |
}); | |
return g | |
} | |
var h, i, j = d(a); | |
g = []; | |
for (var k = 0, l = j.length; l > k; k++) { | |
h = j[k], i = j[k][0].toLowerCase(), "z" == i && (i = "x"); | |
for (var m = 1, r = h.length; r > m; m++) i += f(h[m] * u) + (m != r - 1 ? "," : o); | |
g.push(i) | |
} | |
return g.join(n) | |
}, y = function(a, b, c) { | |
var d = e.matrix(); | |
return d.rotate(-a, .5, .5), { | |
dx: d.x(b, c), | |
dy: d.y(b, c) | |
} | |
}, z = function(a, b, c, d, e, f) { | |
var g = a._, | |
h = a.matrix, | |
k = g.fillpos, | |
l = a.node, | |
m = l.style, | |
o = 1, | |
p = "", | |
q = u / b, | |
r = u / c; | |
if (m.visibility = "hidden", b && c) { | |
if (l.coordsize = i(q) + n + i(r), m.rotation = f * (0 > b * c ? -1 : 1), f) { | |
var s = y(f, d, e); | |
d = s.dx, e = s.dy | |
} | |
if (0 > b && (p += "x"), 0 > c && (p += " y") && (o = -1), m.flip = p, l.coordorigin = d * -q + n + e * -r, k || g.fillsize) { | |
var t = l.getElementsByTagName(j); | |
t = t && t[0], l.removeChild(t), k && (s = y(f, h.x(k[0], k[1]), h.y(k[0], k[1])), t.position = s.dx * o + n + s.dy * o), g.fillsize && (t.size = g.fillsize[0] * i(b) + n + g.fillsize[1] * i(c)), l.appendChild(t) | |
} | |
m.visibility = "visible" | |
} | |
}; | |
e.toString = function() { | |
return "Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël " + this.version | |
}; | |
var A = function(a, c, d) { | |
for (var e = b(c).toLowerCase().split("-"), f = d ? "end" : "start", g = e.length, h = "classic", i = "medium", j = "medium"; g--;) switch (e[g]) { | |
case "block": | |
case "classic": | |
case "oval": | |
case "diamond": | |
case "open": | |
case "none": | |
h = e[g]; | |
break; | |
case "wide": | |
case "narrow": | |
j = e[g]; | |
break; | |
case "long": | |
case "short": | |
i = e[g] | |
} | |
var k = a.node.getElementsByTagName("stroke")[0]; | |
k[f + "arrow"] = h, k[f + "arrowlength"] = i, k[f + "arrowwidth"] = j | |
}, B = function(d, i) { | |
d.attrs = d.attrs || {}; | |
var l = d.node, | |
m = d.attrs, | |
p = l.style, | |
q = v[d.type] && (i.x != m.x || i.y != m.y || i.width != m.width || i.height != m.height || i.cx != m.cx || i.cy != m.cy || i.rx != m.rx || i.ry != m.ry || i.r != m.r), | |
r = w[d.type] && (m.cx != i.cx || m.cy != i.cy || m.r != i.r || m.rx != i.rx || m.ry != i.ry), | |
s = d; | |
for (var t in i) i[a](t) && (m[t] = i[t]); | |
if (q && (m.path = e._getPath[d.type](d), d._.dirty = 1), i.href && (l.href = i.href), i.title && (l.title = i.title), i.target && (l.target = i.target), i.cursor && (p.cursor = i.cursor), "blur" in i && d.blur(i.blur), (i.path && "path" == d.type || q) && (l.path = x(~b(m.path).toLowerCase().indexOf("r") ? e._pathToAbsolute(m.path) : m.path), d._.dirty = 1, "image" == d.type && (d._.fillpos = [m.x, m.y], d._.fillsize = [m.width, m.height], z(d, 1, 1, 0, 0, 0))), "transform" in i && d.transform(i.transform), r) { | |
var y = +m.cx, | |
B = +m.cy, | |
D = +m.rx || +m.r || 0, | |
E = +m.ry || +m.r || 0; | |
l.path = e.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x", f((y - D) * u), f((B - E) * u), f((y + D) * u), f((B + E) * u), f(y * u)), d._.dirty = 1 | |
} | |
if ("clip-rect" in i) { | |
var G = b(i["clip-rect"]).split(k); | |
if (4 == G.length) { | |
G[2] = +G[2] + +G[0], G[3] = +G[3] + +G[1]; | |
var H = l.clipRect || e._g.doc.createElement("div"), | |
I = H.style; | |
I.clip = e.format("rect({1}px {2}px {3}px {0}px)", G), l.clipRect || (I.position = "absolute", I.top = 0, I.left = 0, I.width = d.paper.width + "px", I.height = d.paper.height + "px", l.parentNode.insertBefore(H, l), H.appendChild(l), l.clipRect = H) | |
} | |
i["clip-rect"] || l.clipRect && (l.clipRect.style.clip = "auto") | |
} | |
if (d.textpath) { | |
var J = d.textpath.style; | |
i.font && (J.font = i.font), i["font-family"] && (J.fontFamily = '"' + i["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g, o) + '"'), i["font-size"] && (J.fontSize = i["font-size"]), i["font-weight"] && (J.fontWeight = i["font-weight"]), i["font-style"] && (J.fontStyle = i["font-style"]) | |
} | |
if ("arrow-start" in i && A(s, i["arrow-start"]), "arrow-end" in i && A(s, i["arrow-end"], 1), null != i.opacity || null != i["stroke-width"] || null != i.fill || null != i.src || null != i.stroke || null != i["stroke-width"] || null != i["stroke-opacity"] || null != i["fill-opacity"] || null != i["stroke-dasharray"] || null != i["stroke-miterlimit"] || null != i["stroke-linejoin"] || null != i["stroke-linecap"]) { | |
var K = l.getElementsByTagName(j), | |
L = !1; | |
if (K = K && K[0], !K && (L = K = F(j)), "image" == d.type && i.src && (K.src = i.src), i.fill && (K.on = !0), (null == K.on || "none" == i.fill || null === i.fill) && (K.on = !1), K.on && i.fill) { | |
var M = b(i.fill).match(e._ISURL); | |
if (M) { | |
K.parentNode == l && l.removeChild(K), K.rotate = !0, K.src = M[1], K.type = "tile"; | |
var N = d.getBBox(1); | |
K.position = N.x + n + N.y, d._.fillpos = [N.x, N.y], e._preload(M[1], function() { | |
d._.fillsize = [this.offsetWidth, this.offsetHeight] | |
}) | |
} else K.color = e.getRGB(i.fill).hex, K.src = o, K.type = "solid", e.getRGB(i.fill).error && (s.type in { | |
circle: 1, | |
ellipse: 1 | |
} || "r" != b(i.fill).charAt()) && C(s, i.fill, K) && (m.fill = "none", m.gradient = i.fill, K.rotate = !1) | |
} | |
if ("fill-opacity" in i || "opacity" in i) { | |
var O = ((+m["fill-opacity"] + 1 || 2) - 1) * ((+m.opacity + 1 || 2) - 1) * ((+e.getRGB(i.fill).o + 1 || 2) - 1); | |
O = h(g(O, 0), 1), K.opacity = O, K.src && (K.color = "none") | |
} | |
l.appendChild(K); | |
var P = l.getElementsByTagName("stroke") && l.getElementsByTagName("stroke")[0], | |
Q = !1; | |
!P && (Q = P = F("stroke")), (i.stroke && "none" != i.stroke || i["stroke-width"] || null != i["stroke-opacity"] || i["stroke-dasharray"] || i["stroke-miterlimit"] || i["stroke-linejoin"] || i["stroke-linecap"]) && (P.on = !0), ("none" == i.stroke || null === i.stroke || null == P.on || 0 == i.stroke || 0 == i["stroke-width"]) && (P.on = !1); | |
var R = e.getRGB(i.stroke); | |
P.on && i.stroke && (P.color = R.hex), O = ((+m["stroke-opacity"] + 1 || 2) - 1) * ((+m.opacity + 1 || 2) - 1) * ((+R.o + 1 || 2) - 1); | |
var S = .75 * (c(i["stroke-width"]) || 1); | |
if (O = h(g(O, 0), 1), null == i["stroke-width"] && (S = m["stroke-width"]), i["stroke-width"] && (P.weight = S), S && 1 > S && (O *= S) && (P.weight = 1), P.opacity = O, i["stroke-linejoin"] && (P.joinstyle = i["stroke-linejoin"] || "miter"), P.miterlimit = i["stroke-miterlimit"] || 8, i["stroke-linecap"] && (P.endcap = "butt" == i["stroke-linecap"] ? "flat" : "square" == i["stroke-linecap"] ? "square" : "round"), "stroke-dasharray" in i) { | |
var T = { | |
"-": "shortdash", | |
".": "shortdot", | |
"-.": "shortdashdot", | |
"-..": "shortdashdotdot", | |
". ": "dot", | |
"- ": "dash", | |
"--": "longdash", | |
"- .": "dashdot", | |
"--.": "longdashdot", | |
"--..": "longdashdotdot" | |
}; | |
P.dashstyle = T[a](i["stroke-dasharray"]) ? T[i["stroke-dasharray"]] : o | |
} | |
Q && l.appendChild(P) | |
} | |
if ("text" == s.type) { | |
s.paper.canvas.style.display = o; | |
var U = s.paper.span, | |
V = 100, | |
W = m.font && m.font.match(/\d+(?:\.\d*)?(?=px)/); | |
p = U.style, m.font && (p.font = m.font), m["font-family"] && (p.fontFamily = m["font-family"]), m["font-weight"] && (p.fontWeight = m["font-weight"]), m["font-style"] && (p.fontStyle = m["font-style"]), W = c(m["font-size"] || W && W[0]) || 10, p.fontSize = W * V + "px", s.textpath.string && (U.innerHTML = b(s.textpath.string).replace(/</g, "<").replace(/&/g, "&").replace(/\n/g, "<br>")); | |
var X = U.getBoundingClientRect(); | |
s.W = m.w = (X.right - X.left) / V, s.H = m.h = (X.bottom - X.top) / V, s.X = m.x, s.Y = m.y + s.H / 2, ("x" in i || "y" in i) && (s.path.v = e.format("m{0},{1}l{2},{1}", f(m.x * u), f(m.y * u), f(m.x * u) + 1)); | |
for (var Y = ["x", "y", "text", "font", "font-family", "font-weight", "font-style", "font-size"], Z = 0, $ = Y.length; $ > Z; Z++) | |
if (Y[Z] in i) { | |
s._.dirty = 1; | |
break | |
} | |
switch (m["text-anchor"]) { | |
case "start": | |
s.textpath.style["v-text-align"] = "left", s.bbx = s.W / 2; | |
break; | |
case "end": | |
s.textpath.style["v-text-align"] = "right", s.bbx = -s.W / 2; | |
break; | |
default: | |
s.textpath.style["v-text-align"] = "center", s.bbx = 0 | |
} | |
s.textpath.style["v-text-kern"] = !0 | |
} | |
}, C = function(a, f, g) { | |
a.attrs = a.attrs || {}; | |
var h = (a.attrs, Math.pow), | |
i = "linear", | |
j = ".5 .5"; | |
if (a.attrs.gradient = f, f = b(f).replace(e._radial_gradient, function(a, b, e) { | |
return i = "radial", b && e && (b = c(b), e = c(e), h(b - .5, 2) + h(e - .5, 2) > .25 && (e = d.sqrt(.25 - h(b - .5, 2)) * (2 * (e > .5) - 1) + .5), j = b + n + e), o | |
}), f = f.split(/\s*\-\s*/), "linear" == i) { | |
var k = f.shift(); | |
if (k = -c(k), isNaN(k)) return null | |
} | |
var l = e._parseDots(f); | |
if (!l) return null; | |
if (a = a.shape || a.node, l.length) { | |
a.removeChild(g), g.on = !0, g.method = "none", g.color = l[0].color, g.color2 = l[l.length - 1].color; | |
for (var m = [], p = 0, q = l.length; q > p; p++) l[p].offset && m.push(l[p].offset + n + l[p].color); | |
g.colors = m.length ? m.join() : "0% " + g.color, "radial" == i ? (g.type = "gradientTitle", g.focus = "100%", g.focussize = "0 0", g.focusposition = j, g.angle = 0) : (g.type = "gradient", g.angle = (270 - k) % 360), a.appendChild(g) | |
} | |
return 1 | |
}, D = function(a, b) { | |
this[0] = this.node = a, a.raphael = !0, this.id = e._oid++, a.raphaelid = this.id, this.X = 0, this.Y = 0, this.attrs = {}, this.paper = b, this.matrix = e.matrix(), this._ = { | |
transform: [], | |
sx: 1, | |
sy: 1, | |
dx: 0, | |
dy: 0, | |
deg: 0, | |
dirty: 1, | |
dirtyT: 1 | |
}, !b.bottom && (b.bottom = this), this.prev = b.top, b.top && (b.top.next = this), b.top = this, this.next = null | |
}, E = e.el; | |
D.prototype = E, E.constructor = D, E.transform = function(a) { | |
if (null == a) return this._.transform; | |
var c, d = this.paper._viewBoxShift, | |
f = d ? "s" + [d.scale, d.scale] + "-1-1t" + [d.dx, d.dy] : o; | |
d && (c = a = b(a).replace(/\.{3}|\u2026/g, this._.transform || o)), e._extractTransform(this, f + a); | |
var g, h = this.matrix.clone(), | |
i = this.skew, | |
j = this.node, | |
k = ~b(this.attrs.fill).indexOf("-"), | |
l = !b(this.attrs.fill).indexOf("url("); | |
if (h.translate(1, 1), l || k || "image" == this.type) | |
if (i.matrix = "1 0 0 1", i.offset = "0 0", g = h.split(), k && g.noRotation || !g.isSimple) { | |
j.style.filter = h.toFilter(); | |
var m = this.getBBox(), | |
p = this.getBBox(1), | |
q = m.x - p.x, | |
r = m.y - p.y; | |
j.coordorigin = q * -u + n + r * -u, z(this, 1, 1, q, r, 0) | |
} else j.style.filter = o, z(this, g.scalex, g.scaley, g.dx, g.dy, g.rotate); | |
else j.style.filter = o, i.matrix = b(h), i.offset = h.offset(); | |
return null !== c && (this._.transform = c, e._extractTransform(this, c)), this | |
}, E.rotate = function(a, d, e) { | |
if (this.removed) return this; | |
if (null != a) { | |
if (a = b(a).split(k), a.length - 1 && (d = c(a[1]), e = c(a[2])), a = c(a[0]), null == e && (d = e), null == d || null == e) { | |
var f = this.getBBox(1); | |
d = f.x + f.width / 2, e = f.y + f.height / 2 | |
} | |
return this._.dirtyT = 1, this.transform(this._.transform.concat([ | |
["r", a, d, e] | |
])), this | |
} | |
}, E.translate = function(a, d) { | |
return this.removed ? this : (a = b(a).split(k), a.length - 1 && (d = c(a[1])), a = c(a[0]) || 0, d = +d || 0, this._.bbox && (this._.bbox.x += a, this._.bbox.y += d), this.transform(this._.transform.concat([ | |
["t", a, d] | |
])), this) | |
}, E.scale = function(a, d, e, f) { | |
if (this.removed) return this; | |
if (a = b(a).split(k), a.length - 1 && (d = c(a[1]), e = c(a[2]), f = c(a[3]), isNaN(e) && (e = null), isNaN(f) && (f = null)), a = c(a[0]), null == d && (d = a), null == f && (e = f), null == e || null == f) var g = this.getBBox(1); | |
return e = null == e ? g.x + g.width / 2 : e, f = null == f ? g.y + g.height / 2 : f, this.transform(this._.transform.concat([ | |
["s", a, d, e, f] | |
])), this._.dirtyT = 1, this | |
}, E.hide = function() { | |
return !this.removed && (this.node.style.display = "none"), this | |
}, E.show = function() { | |
return !this.removed && (this.node.style.display = o), this | |
}, E.auxGetBBox = e.el.getBBox, E.getBBox = function() { | |
var a = this.auxGetBBox(); | |
if (this.paper && this.paper._viewBoxShift) { | |
var b = {}, c = 1 / this.paper._viewBoxShift.scale; | |
return b.x = a.x - this.paper._viewBoxShift.dx, b.x *= c, b.y = a.y - this.paper._viewBoxShift.dy, b.y *= c, b.width = a.width * c, b.height = a.height * c, b.x2 = b.x + b.width, b.y2 = b.y + b.height, b | |
} | |
return a | |
}, E._getBBox = function() { | |
return this.removed ? {} : { | |
x: this.X + (this.bbx || 0) - this.W / 2, | |
y: this.Y - this.H, | |
width: this.W, | |
height: this.H | |
} | |
}, E.remove = function() { | |
if (!this.removed && this.node.parentNode) { | |
this.paper.__set__ && this.paper.__set__.exclude(this), e.eve.unbind("raphael.*.*." + this.id), e._tear(this, this.paper), this.node.parentNode.removeChild(this.node), this.shape && this.shape.parentNode.removeChild(this.shape); | |
for (var a in this) this[a] = "function" == typeof this[a] ? e._removedFactory(a) : null; | |
this.removed = !0 | |
} | |
}, E.attr = function(b, c) { | |
if (this.removed) return this; | |
if (null == b) { | |
var d = {}; | |
for (var f in this.attrs) this.attrs[a](f) && (d[f] = this.attrs[f]); | |
return d.gradient && "none" == d.fill && (d.fill = d.gradient) && delete d.gradient, d.transform = this._.transform, d | |
} | |
if (null == c && e.is(b, "string")) { | |
if (b == j && "none" == this.attrs.fill && this.attrs.gradient) return this.attrs.gradient; | |
for (var g = b.split(k), h = {}, i = 0, m = g.length; m > i; i++) b = g[i], b in this.attrs ? h[b] = this.attrs[b] : e.is(this.paper.customAttributes[b], "function") ? h[b] = this.paper.customAttributes[b].def : h[b] = e._availableAttrs[b]; | |
return m - 1 ? h : h[g[0]] | |
} | |
if (this.attrs && null == c && e.is(b, "array")) { | |
for (h = {}, i = 0, m = b.length; m > i; i++) h[b[i]] = this.attr(b[i]); | |
return h | |
} | |
var n; | |
null != c && (n = {}, n[b] = c), null == c && e.is(b, "object") && (n = b); | |
for (var o in n) l("raphael.attr." + o + "." + this.id, this, n[o]); | |
if (n) { | |
for (o in this.paper.customAttributes) | |
if (this.paper.customAttributes[a](o) && n[a](o) && e.is(this.paper.customAttributes[o], "function")) { | |
var p = this.paper.customAttributes[o].apply(this, [].concat(n[o])); | |
this.attrs[o] = n[o]; | |
for (var q in p) p[a](q) && (n[q] = p[q]) | |
} | |
n.text && "text" == this.type && (this.textpath.string = n.text), B(this, n) | |
} | |
return this | |
}, E.toFront = function() { | |
return !this.removed && this.node.parentNode.appendChild(this.node), this.paper && this.paper.top != this && e._tofront(this, this.paper), this | |
}, E.toBack = function() { | |
return this.removed ? this : (this.node.parentNode.firstChild != this.node && (this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild), e._toback(this, this.paper)), this) | |
}, E.insertAfter = function(a) { | |
return this.removed ? this : (a.constructor == e.st.constructor && (a = a[a.length - 1]), a.node.nextSibling ? a.node.parentNode.insertBefore(this.node, a.node.nextSibling) : a.node.parentNode.appendChild(this.node), e._insertafter(this, a, this.paper), this) | |
}, E.insertBefore = function(a) { | |
return this.removed ? this : (a.constructor == e.st.constructor && (a = a[0]), a.node.parentNode.insertBefore(this.node, a.node), e._insertbefore(this, a, this.paper), this) | |
}, E.blur = function(a) { | |
var b = this.node.runtimeStyle, | |
c = b.filter; | |
return c = c.replace(r, o), 0 !== +a ? (this.attrs.blur = a, b.filter = c + n + m + ".Blur(pixelradius=" + (+a || 1.5) + ")", b.margin = e.format("-{0}px 0 0 -{0}px", f(+a || 1.5))) : (b.filter = c, b.margin = 0, delete this.attrs.blur), this | |
}, e._engine.path = function(a, b) { | |
var c = F("shape"); | |
c.style.cssText = t, c.coordsize = u + n + u, c.coordorigin = b.coordorigin; | |
var d = new D(c, b), | |
e = { | |
fill: "none", | |
stroke: "#000" | |
}; | |
a && (e.path = a), d.type = "path", d.path = [], d.Path = o, B(d, e), b.canvas.appendChild(c); | |
var f = F("skew"); | |
return f.on = !0, c.appendChild(f), d.skew = f, d.transform(o), d | |
}, e._engine.rect = function(a, b, c, d, f, g) { | |
var h = e._rectPath(b, c, d, f, g), | |
i = a.path(h), | |
j = i.attrs; | |
return i.X = j.x = b, i.Y = j.y = c, i.W = j.width = d, i.H = j.height = f, j.r = g, j.path = h, i.type = "rect", i | |
}, e._engine.ellipse = function(a, b, c, d, e) { | |
var f = a.path(); | |
f.attrs; | |
return f.X = b - d, f.Y = c - e, f.W = 2 * d, f.H = 2 * e, f.type = "ellipse", B(f, { | |
cx: b, | |
cy: c, | |
rx: d, | |
ry: e | |
}), f | |
}, e._engine.circle = function(a, b, c, d) { | |
var e = a.path(); | |
e.attrs; | |
return e.X = b - d, e.Y = c - d, e.W = e.H = 2 * d, e.type = "circle", B(e, { | |
cx: b, | |
cy: c, | |
r: d | |
}), e | |
}, e._engine.image = function(a, b, c, d, f, g) { | |
var h = e._rectPath(c, d, f, g), | |
i = a.path(h).attr({ | |
stroke: "none" | |
}), | |
k = i.attrs, | |
l = i.node, | |
m = l.getElementsByTagName(j)[0]; | |
return k.src = b, i.X = k.x = c, i.Y = k.y = d, i.W = k.width = f, i.H = k.height = g, k.path = h, i.type = "image", m.parentNode == l && l.removeChild(m), m.rotate = !0, m.src = b, m.type = "tile", i._.fillpos = [c, d], i._.fillsize = [f, g], l.appendChild(m), z(i, 1, 1, 0, 0, 0), i | |
}, e._engine.text = function(a, c, d, g) { | |
var h = F("shape"), | |
i = F("path"), | |
j = F("textpath"); | |
c = c || 0, d = d || 0, g = g || "", i.v = e.format("m{0},{1}l{2},{1}", f(c * u), f(d * u), f(c * u) + 1), i.textpathok = !0, j.string = b(g), j.on = !0, h.style.cssText = t, h.coordsize = u + n + u, h.coordorigin = "0 0"; | |
var k = new D(h, a), | |
l = { | |
fill: "#000", | |
stroke: "none", | |
font: e._availableAttrs.font, | |
text: g | |
}; | |
k.shape = h, k.path = i, k.textpath = j, k.type = "text", k.attrs.text = b(g), k.attrs.x = c, k.attrs.y = d, k.attrs.w = 1, k.attrs.h = 1, B(k, l), h.appendChild(j), h.appendChild(i), a.canvas.appendChild(h); | |
var m = F("skew"); | |
return m.on = !0, h.appendChild(m), k.skew = m, k.transform(o), k | |
}, e._engine.setSize = function(a, b) { | |
var c = this.canvas.style; | |
return this.width = a, this.height = b, a == +a && (a += "px"), b == +b && (b += "px"), c.width = a, c.height = b, c.clip = "rect(0 " + a + " " + b + " 0)", this._viewBox && e._engine.setViewBox.apply(this, this._viewBox), this | |
}, e._engine.setViewBox = function(a, b, c, d, f) { | |
e.eve("raphael.setViewBox", this, this._viewBox, [a, b, c, d, f]); | |
var g, h, i = this.getSize(), | |
j = i.width, | |
k = i.height; | |
return f && (g = k / d, h = j / c, j > c * g && (a -= (j - c * g) / 2 / g), k > d * h && (b -= (k - d * h) / 2 / h)), this._viewBox = [a, b, c, d, !! f], this._viewBoxShift = { | |
dx: -a, | |
dy: -b, | |
scale: i | |
}, this.forEach(function(a) { | |
a.transform("...") | |
}), this | |
}; | |
var F; | |
e._engine.initWin = function(a) { | |
var b = a.document; | |
b.styleSheets.length < 31 ? b.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)") : b.styleSheets[0].addRule(".rvml", "behavior:url(#default#VML)"); | |
try { | |
!b.namespaces.rvml && b.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"), F = function(a) { | |
return b.createElement("<rvml:" + a + ' class="rvml">') | |
} | |
} catch (c) { | |
F = function(a) { | |
return b.createElement("<" + a + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">') | |
} | |
} | |
}, e._engine.initWin(e._g.win), e._engine.create = function() { | |
var a = e._getContainer.apply(0, arguments), | |
b = a.container, | |
c = a.height, | |
d = a.width, | |
f = a.x, | |
g = a.y; | |
if (!b) throw new Error("VML container not found."); | |
var h = new e._Paper, | |
i = h.canvas = e._g.doc.createElement("div"), | |
j = i.style; | |
return f = f || 0, g = g || 0, d = d || 512, c = c || 342, h.width = d, h.height = c, d == +d && (d += "px"), c == +c && (c += "px"), h.coordsize = 1e3 * u + n + 1e3 * u, h.coordorigin = "0 0", h.span = e._g.doc.createElement("span"), h.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;", i.appendChild(h.span), j.cssText = e.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden", d, c), 1 == b ? (e._g.doc.body.appendChild(i), j.left = f + "px", j.top = g + "px", j.position = "absolute") : b.firstChild ? b.insertBefore(i, b.firstChild) : b.appendChild(i), h.renderfix = function() {}, h | |
}, e.prototype.clear = function() { | |
e.eve("raphael.clear", this), this.canvas.innerHTML = o, this.span = e._g.doc.createElement("span"), this.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;", this.canvas.appendChild(this.span), this.bottom = this.top = null | |
}, e.prototype.remove = function() { | |
e.eve("raphael.remove", this), this.canvas.parentNode.removeChild(this.canvas); | |
for (var a in this) this[a] = "function" == typeof this[a] ? e._removedFactory(a) : null; | |
return !0 | |
}; | |
var G = e.st; | |
for (var H in E) E[a](H) && !G[a](H) && (G[H] = function(a) { | |
return function() { | |
var b = arguments; | |
return this.forEach(function(c) { | |
c[a].apply(c, b) | |
}) | |
} | |
}(H)) | |
} | |
}(), D.was ? C.win.Raphael = e : Raphael = e, "object" == typeof c && (b.exports = e), e | |
}) | |
}, { | |
eve: 68 | |
} | |
], | |
70: [ | |
function(a, b, c) { | |
var d = a("promise"), | |
e = a("jquery"), | |
f = a("underscore"), | |
g = function(a, b) { | |
var c = new XMLHttpRequest; | |
return b = b || {}, b.method = b.method || "GET", b.headers = b.headers || {}, b.async = "undefined" == typeof b.async ? !0 : b.async, new d(function(d, e) { | |
c.open(b.method, a); | |
for (var f in b.headers) b.headers.hasOwnProperty(f) && c.setRequestHeader(f, b.headers[f]); | |
c.onreadystatechange = function() { | |
4 == this.readyState && 200 == this.status ? d.call(this, this.responseText) : 4 == this.readyState && e.call(this, this.status, this.statusText) | |
}, c.send(b.data) | |
}) | |
}, h = function() { | |
this.initialize() | |
}; | |
h.prototype = { | |
initialize: function() { | |
this._head = document.getElementsByTagName("head")[0], this._cssPaths = {}, this._scriptMaps = {}, this._dataPromises = {} | |
}, | |
loadScript: function(a) { | |
var b, c, e = []; | |
return a = this._ensurePathArray(a), a.forEach(function(a) { | |
c = this._scriptMaps[a] = this._scriptMaps[a] || {}, c.promise || (c.path = a, c.promise = new d(function(c) { | |
b = this.createScriptElement(), b.setAttribute("type", "text/javascript"), b.src = a, b.addEventListener("load", c), this._head.appendChild(b) | |
}.bind(this))), e.push(c.promise) | |
}.bind(this)), d.all(e) | |
}, | |
unloadScript: function(a) { | |
var b; | |
return new d(function(c) { | |
a = this._ensurePathArray(a), a.forEach(function(a) { | |
b = this._head.querySelectorAll('script[src="' + a + '"]')[0], b && (this._head.removeChild(b), delete this._scriptMaps[a]) | |
}.bind(this)), c() | |
}.bind(this)) | |
}, | |
createScriptElement: function() { | |
return document.createElement("script") | |
}, | |
fetchData: function(a, b) { | |
var c = b ? JSON.stringify(b) : "", | |
f = a + c; | |
return b = b || {}, a ? this._dataPromises[f] ? this._dataPromises[f] : (this._dataPromises[f] = new d(function(c, d) { | |
e.ajax(a, b).done(c).fail(function(a, b, c) { | |
d(c) | |
}) | |
}.bind(this)), this._dataPromises[f]["catch"](function(a) { | |
throw this._dataPromises[f] = null, a | |
}.bind(this))) : d.resolve() | |
}, | |
loadCss: function(a) { | |
return new d(function(b) { | |
a = this._ensurePathArray(a), a.forEach(function(a) { | |
if (!this._cssPaths[a]) { | |
var b = document.createElement("link"); | |
b.setAttribute("rel", "stylesheet"), b.setAttribute("href", a), this._head.appendChild(b), this._cssPaths[a] = b | |
} | |
}.bind(this)), b() | |
}.bind(this)) | |
}, | |
unloadCss: function(a) { | |
var b; | |
return new d(function(c) { | |
a = this._ensurePathArray(a), a.forEach(function(a) { | |
b = this._cssPaths[a], b && (this._head.removeChild(b), this._cssPaths[a] = null) | |
}.bind(this)), c() | |
}.bind(this)) | |
}, | |
loadTemplate: function(a, b) { | |
return new d(function(c) { | |
return a ? g(a).then(function(a) { | |
b && (b.innerHTML = a, a = b), c(a) | |
}) : void c() | |
}) | |
}, | |
_ensurePathArray: function(a) { | |
return a ? "string" == typeof a && (a = [a]) : a = [], a | |
}, | |
flush: function() { | |
this.unloadCss(Object.getOwnPropertyNames(this._cssPaths)), this._cssPaths = {}, f.each(this._scriptMaps, function(a) { | |
this.unloadScript(a.path) | |
}.bind(this)), this._scriptMaps = {}, this._dataPromises = {}, this._loadScriptPromise = null | |
} | |
}, b.exports = new h | |
}, { | |
jquery: 53, | |
promise: 57, | |
underscore: 73 | |
} | |
], | |
71: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("module.js"), | |
e = a("promise"), | |
f = a("underscore"); | |
a("element-kit"); | |
var g = d.extend({ | |
initialize: function(a) { | |
this.options = f.extend({}, { | |
pagesContainer: null, | |
activeClass: "page-active", | |
loadedClass: "page-loaded", | |
disabledClass: "page-disabled", | |
errorClass: "page-error" | |
}, a), d.prototype.initialize.call(this, this.options) | |
}, | |
load: function(a) { | |
return a = a || {}, a.el ? this.el = a.el : this.el = document.createElement("div"), this.el.classList.add("page"), d.prototype.load.call(this, a) | |
}, | |
show: function() { | |
return d.prototype.show.call(this).then(function() { | |
return new e(function(a) { | |
this.el.kit.waitForTransition(function() { | |
a() | |
}) | |
}.bind(this)) | |
}.bind(this)) | |
}, | |
hide: function() { | |
return d.prototype.hide.call(this).then(function() { | |
return new e(function(a) { | |
this.el.kit.waitForTransition(function() { | |
a() | |
}) | |
}.bind(this)) | |
}.bind(this)) | |
} | |
}); | |
b.exports = g | |
}, { | |
"element-kit": 8, | |
"module.js": 55, | |
promise: 57, | |
underscore: 73 | |
} | |
], | |
72: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = (a("path"), a("event-handler")), | |
f = a("handlebars"), | |
g = a("handlebars-helper-slugify"), | |
h = a("underscore"), | |
i = a("./page"), | |
j = a("module.js"), | |
k = a("element-kit"), | |
l = function(a) { | |
return this.initialize(a), this | |
}; | |
l.prototype = { | |
initialize: function(a) { | |
this.options = h.extend({ | |
onRouteRequest: null, | |
pagesContainer: document.body | |
}, a), e.createTarget(this), this._pageMaps = {}, this._globalModuleMaps = {}, this.history = [], f.registerHelper("slugify", g) | |
}, | |
start: function() { | |
this._config = this.options.config, this._config || console.error("Route Error: no configuration data was supplied."), this._config.pages = this._config.pages || {}, this._config.modules = this._config.modules || {}, this._globalModuleMaps = this._buildGlobalModuleMaps(), this.bindPopstateEvent() | |
}, | |
bindPopstateEvent: function() { | |
window.addEventListener("popstate", this._getOnPopStateListener()) | |
}, | |
unbindPopstateEvent: function() { | |
window.removeEventListener("popstate", this._getOnPopStateListener()) | |
}, | |
_getOnPopStateListener: function() { | |
var a = this; | |
return function(b) { | |
b.state && a._onRouteRequest.call(a, b.state.path) | |
} | |
}, | |
reset: function() { | |
this.history = [], h.each(this._pageMaps, function(a) { | |
a.page.destroy(), this.options.pagesContainer.contains(a.el) && this.options.pagesContainer.removeChild(a.el), h.each(a.modules, function(a) { | |
a.module.destroy() | |
}) | |
}.bind(this)), this._pageMaps = {}, h.each(this._globalModuleMaps, function(a) { | |
a.module && a.module.hide().then(function() { | |
a.module.destroy() | |
}) | |
}), this._globalModuleMaps = this._buildGlobalModuleMaps() | |
}, | |
stop: function() { | |
this.reset(), this._config.pages = {}, this._config.modules = {}, this.unbindPopstateEvent(), e.destroyTarget(this) | |
}, | |
triggerRoute: function(a, b) { | |
return a !== this._currentPath ? this._onRouteRequest(a) : d.resolve() | |
}, | |
getQueryParams: function(a) { | |
var a = a || this.getWindow().location.href, | |
b = {}; | |
return a.split("?")[1].split("&").forEach(function(a) { | |
var c = a.split("="); | |
b[c[0]] = c[1] | |
}), b | |
}, | |
goBack: function(a) { | |
a ? window.history.go(a) : window.history.back() | |
}, | |
goForward: function(a) { | |
a ? window.history.go(a) : window.history.forward() | |
}, | |
getRelativeUrlParams: function() { | |
return this.getRelativeUrl().split("/") || [] | |
}, | |
getRelativeUrl: function() { | |
var a = this._currentPath || this.getWindow().location.hash.replace("#", ""); | |
return a = a.replace(/^\//g, "") | |
}, | |
_onRouteRequest: function(a) { | |
return a !== this._currentPath ? this._handleRequestedUrl(a).then(function(a) { | |
return this._handlePreviousPage().then(function() { | |
return this.loadPage(a).then(function() { | |
return this.dispatchEvent("page:load"), this.showPage(a) | |
}.bind(this), function(a) { | |
console.log("RouteManager Error: Page could not be loaded"), a.detail ? console.log(a.detail.stack) : console.log(arguments), this.dispatchEvent("page:error", a) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this)) : d.resolve() | |
}, | |
registerUrl: function(a) { | |
var b = this.getWindow().history; | |
b.pushState({ | |
path: a | |
}, document.title, a), this.history.push(b.state), this._currentPath = a, this.dispatchEvent("url:change", { | |
url: a | |
}) | |
}, | |
getWindow: function() { | |
return window | |
}, | |
_handleRequestedUrl: function(a) { | |
var b = this.options.onRouteRequest ? this.options.onRouteRequest(a) : d.resolve(a); | |
return this.registerUrl(a), b.then || (b = d.resolve(b)), b.then(function(b) { | |
return b !== a && this.registerUrl(b), b | |
}.bind(this)) | |
}, | |
_getRouteMapKeyByPath: function(a) { | |
var b; | |
return a || "string" == typeof a ? (a = a.replace(/^\//g, ""), h.findKey(this._config.pages, function(c, d) { | |
return b = new RegExp(d, "gi"), d === a || a.match(b) | |
})) : null | |
}, | |
loadPageScript: function(a) { | |
var b = { | |
pagesContainer: this.options.pagesContainer | |
}; | |
return a ? this.loadScript(a).then(null, function() { | |
return d.resolve(new i(b)) | |
}) : d.resolve(new i(b)) | |
}, | |
loadPage: function(a) { | |
var b, c = this._getRouteMapKeyByPath(a), | |
e = this._config.pages[c], | |
g = {}; | |
return e ? this._pageMaps[c] ? this._pageMaps[c].promise : (this._pageMaps[c] = g, g.config = e, g.promise = this.loadGlobalModules(a).then(function() { | |
return this.loadPageScript(e.script).then(function(b) { | |
return g.page = b, b.getStyles(e.styles).then(function() { | |
return b.getTemplate(e.template).then(function(c) { | |
return b.fetchData(e.data, { | |
cache: !0 | |
}).then(function(d) { | |
return c = c || "", d && (c = f.compile(c)(d)), g.data = d, g.el = k.utils.createHtmlElement("<div>" + c + "</div>"), this.options.pagesContainer.appendChild(g.el), this.loadPageModules(a).then(function() { | |
return b.load({ | |
data: d, | |
el: g.el | |
}) | |
}) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this), function() { | |
delete this._pageMaps[c] | |
}.bind(this)), g.promise) : (b = new Error("RouteManager Error: No routes configuration for " + this.getRelativeUrl()), console.error(b), d.reject(b)) | |
}, | |
showPageModules: function(a) { | |
var b = this._getRouteMapKeyByPath(a), | |
c = this._pageMaps[b]; | |
return h.each(c.modules, function(a) { | |
a.module.show() | |
}), this.showGlobalModules(a) | |
}, | |
showGlobalModules: function(a) { | |
var b = this._getRouteMapKeyByPath(a), | |
c = this._config.pages[b] || {}, e = []; | |
return c.modules = c.modules || [], h.each(this._globalModuleMaps, function(a, b) { | |
-1 !== c.modules.indexOf(b) && e.push(this._currentPreviousPageHidePromise.then(function() { | |
return a.module.show() | |
})) | |
}.bind(this)), d.all(e) | |
}, | |
showPage: function(a) { | |
var b = this._getRouteMapKeyByPath(a), | |
c = this._pageMaps[b]; | |
return this.showPageModules(a), c.page.show() | |
}, | |
_handlePreviousPage: function() { | |
var a = this.history[this.history.length - 2] || {}; | |
return this._currentPreviousPageHidePromise = this.hidePage(a.path), this._currentPreviousPageHidePromise | |
}, | |
hideGlobalModules: function(a) { | |
var b = this._getRouteMapKeyByPath(a), | |
c = this._config.pages[b] || {}, e = []; | |
return c.modules = c.modules || [], h.each(this._globalModuleMaps, function(a, b) { | |
-1 !== c.modules.indexOf(b) && e.push(a.promise.then(function() { | |
return a.module.hide() | |
})) | |
}.bind(this)), d.all(e) | |
}, | |
hidePage: function(a) { | |
var b = this._pageMaps[this._getRouteMapKeyByPath(a)]; | |
return b && b.promise ? b.promise.then(function() { | |
return b.page.hide().then(function() { | |
return this.hidePageModules(a).then(function() { | |
return this.hideGlobalModules(a) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this))["catch"](function() { | |
return d.resolve() | |
}) : d.resolve() | |
}, | |
hidePageModules: function(a) { | |
var b = this._pageMaps[this._getRouteMapKeyByPath(a)], | |
c = []; | |
return h.each(b.modules, function(a) { | |
c.push(a.module.hide()) | |
}.bind(this)), d.all(c) | |
}, | |
loadPageModules: function(a) { | |
var b, c, e = this._getRouteMapKeyByPath(a), | |
f = this._config.pages[e] || {}, g = this._pageMaps[e] || {}, i = [], | |
j = [], | |
k = []; | |
return f.modules = f.modules || [], g.modules = g.modules || {}, f.modules.forEach(function(a) { | |
this._globalModuleMaps[a] ? k.push(a) : (j.push(a), b = this.loadPageModule(a, g.data).then(function(b) { | |
g.modules[a] = b | |
})), i.push(b) | |
}.bind(this)), d.all(i).then(function() { | |
var a = document.createDocumentFragment(); | |
return h.each(j, function(b) { | |
c = g.modules[b], c.el && (c.module.appendEl ? c.module.appendEl(c.el) : a.appendChild(c.el)) | |
}), g.el ? void g.el.appendChild(a) : !1 | |
}) | |
}, | |
loadGlobalModules: function(a) { | |
var b = this._getRouteMapKeyByPath(a), | |
c = this._config.pages[b] || {}, e = []; | |
return c.modules = c.modules || [], h.each(this._globalModuleMaps, function(a, b) { | |
-1 !== c.modules.indexOf(b) && e.push(this._loadGlobalModule(a)) | |
}.bind(this)), d.all(e) | |
}, | |
loadPageModule: function(a, b) { | |
var c = this._config.modules[a], | |
d = {}; | |
return c.options = c.options || {}, d = {}, d.promise = this.loadModuleScript(c.script, c.options).then(function(a) { | |
return d.module = a, a.getStyles(c.styles).then(function() { | |
return a.getTemplate(c.template).then(function(e) { | |
return a.fetchData(c.data, { | |
cache: !0 | |
}).then(function(c) { | |
c = h.extend({}, b, c), e = e ? f.compile(e)(c) : ""; | |
var g = document.createElement("div"); | |
return g.innerHTML = e, d.el = g.children[0], d.html = e, a.load({ | |
el: d.el, | |
data: c | |
}).then(function() { | |
return d | |
}) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this), function(a) { | |
return d.module.error(a), d | |
}) | |
}.bind(this)), d.promise | |
}, | |
_loadGlobalModule: function(a) { | |
return a = a || {}, a.promise || (a.promise = this.loadModuleScript(a.config.script).then(function(b) { | |
return b.getStyles(a.config.styles).then(function() { | |
return b.getTemplate(a.config.template).then(function(c) { | |
return b.fetchData(a.config.data, { | |
cache: !0 | |
}).then(function(d) { | |
c = c ? f.compile(c)(d || {}) : ""; | |
var e = document.createElement("div"); | |
return e.innerHTML = c, a.el = e.children[0], a.module = b, b.load({ | |
data: d, | |
el: a.el | |
})["catch"](function(b) { | |
throw a.module.error(b), b | |
}) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this))), a.promise | |
}, | |
_buildGlobalModuleMaps: function() { | |
var a = {}; | |
return h.each(this._config.modules, function(b, c) { | |
b.global && (a[c] = { | |
config: b | |
}) | |
}), a | |
}, | |
loadScript: function(b, c) { | |
var e; | |
return new d(function(d, f) { | |
if (!b) return f(); | |
try { | |
e = a(b) | |
} catch (g) { | |
console.error(g), f(g) | |
} | |
c = c || {}, "function" == typeof e && (e = new e(c)), d(e) | |
}.bind(this)) | |
}, | |
loadModuleScript: function(a, b) { | |
return this.loadScript(a, b).then(null, function() { | |
return d.resolve(new j(b)) | |
}) | |
} | |
}, b.exports = function(a) { | |
return new l(a) | |
} | |
}, { | |
"./page": 71, | |
"element-kit": 8, | |
"event-handler": 15, | |
handlebars: 41, | |
"handlebars-helper-slugify": 21, | |
"module.js": 55, | |
path: 19, | |
promise: 57, | |
underscore: 73 | |
} | |
], | |
73: [ | |
function(a, b, c) { | |
(function() { | |
function a(a) { | |
function b(b, c, d, e, f, g) { | |
for (; f >= 0 && g > f; f += a) { | |
var h = e ? e[f] : f; | |
d = c(d, b[h], h, b) | |
} | |
return d | |
} | |
return function(c, d, e, f) { | |
d = v(d, f, 4); | |
var g = !C(c) && u.keys(c), | |
h = (g || c).length, | |
i = a > 0 ? 0 : h - 1; | |
return arguments.length < 3 && (e = c[g ? g[i] : i], i += a), b(c, d, e, g, i, h) | |
} | |
} | |
function d(a) { | |
return function(b, c, d) { | |
c = w(c, d); | |
for (var e = B(b), f = a > 0 ? 0 : e - 1; f >= 0 && e > f; f += a) | |
if (c(b[f], f, b)) return f; | |
return -1 | |
} | |
} | |
function e(a, b, c) { | |
return function(d, e, f) { | |
var g = 0, | |
h = B(d); | |
if ("number" == typeof f) a > 0 ? g = f >= 0 ? f : Math.max(f + h, g) : h = f >= 0 ? Math.min(f + 1, h) : f + h + 1; | |
else if (c && f && h) return f = c(d, e), d[f] === e ? f : -1; | |
if (e !== e) return f = b(m.call(d, g, h), u.isNaN), f >= 0 ? f + g : -1; | |
for (f = a > 0 ? g : h - 1; f >= 0 && h > f; f += a) | |
if (d[f] === e) return f; | |
return -1 | |
} | |
} | |
function f(a, b) { | |
var c = H.length, | |
d = a.constructor, | |
e = u.isFunction(d) && d.prototype || j, | |
f = "constructor"; | |
for (u.has(a, f) && !u.contains(b, f) && b.push(f); c--;) f = H[c], f in a && a[f] !== e[f] && !u.contains(b, f) && b.push(f) | |
} | |
var g = this, | |
h = g._, | |
i = Array.prototype, | |
j = Object.prototype, | |
k = Function.prototype, | |
l = i.push, | |
m = i.slice, | |
n = j.toString, | |
o = j.hasOwnProperty, | |
p = Array.isArray, | |
q = Object.keys, | |
r = k.bind, | |
s = Object.create, | |
t = function() {}, u = function(a) { | |
return a instanceof u ? a : this instanceof u ? void(this._wrapped = a) : new u(a) | |
}; | |
"undefined" != typeof c ? ("undefined" != typeof b && b.exports && (c = b.exports = u), c._ = u) : g._ = u, u.VERSION = "1.8.3"; | |
var v = function(a, b, c) { | |
if (void 0 === b) return a; | |
switch (null == c ? 3 : c) { | |
case 1: | |
return function(c) { | |
return a.call(b, c) | |
}; | |
case 2: | |
return function(c, d) { | |
return a.call(b, c, d) | |
}; | |
case 3: | |
return function(c, d, e) { | |
return a.call(b, c, d, e) | |
}; | |
case 4: | |
return function(c, d, e, f) { | |
return a.call(b, c, d, e, f) | |
} | |
} | |
return function() { | |
return a.apply(b, arguments) | |
} | |
}, w = function(a, b, c) { | |
return null == a ? u.identity : u.isFunction(a) ? v(a, b, c) : u.isObject(a) ? u.matcher(a) : u.property(a) | |
}; | |
u.iteratee = function(a, b) { | |
return w(a, b, 1 / 0) | |
}; | |
var x = function(a, b) { | |
return function(c) { | |
var d = arguments.length; | |
if (2 > d || null == c) return c; | |
for (var e = 1; d > e; e++) | |
for (var f = arguments[e], g = a(f), h = g.length, i = 0; h > i; i++) { | |
var j = g[i]; | |
b && void 0 !== c[j] || (c[j] = f[j]) | |
} | |
return c | |
} | |
}, y = function(a) { | |
if (!u.isObject(a)) return {}; | |
if (s) return s(a); | |
t.prototype = a; | |
var b = new t; | |
return t.prototype = null, b | |
}, z = function(a) { | |
return function(b) { | |
return null == b ? void 0 : b[a] | |
} | |
}, A = Math.pow(2, 53) - 1, | |
B = z("length"), | |
C = function(a) { | |
var b = B(a); | |
return "number" == typeof b && b >= 0 && A >= b | |
}; | |
u.each = u.forEach = function(a, b, c) { | |
b = v(b, c); | |
var d, e; | |
if (C(a)) | |
for (d = 0, e = a.length; e > d; d++) b(a[d], d, a); | |
else { | |
var f = u.keys(a); | |
for (d = 0, e = f.length; e > d; d++) b(a[f[d]], f[d], a) | |
} | |
return a | |
}, u.map = u.collect = function(a, b, c) { | |
b = w(b, c); | |
for (var d = !C(a) && u.keys(a), e = (d || a).length, f = Array(e), g = 0; e > g; g++) { | |
var h = d ? d[g] : g; | |
f[g] = b(a[h], h, a) | |
} | |
return f | |
}, u.reduce = u.foldl = u.inject = a(1), u.reduceRight = u.foldr = a(-1), u.find = u.detect = function(a, b, c) { | |
var d; | |
return d = C(a) ? u.findIndex(a, b, c) : u.findKey(a, b, c), void 0 !== d && -1 !== d ? a[d] : void 0 | |
}, u.filter = u.select = function(a, b, c) { | |
var d = []; | |
return b = w(b, c), u.each(a, function(a, c, e) { | |
b(a, c, e) && d.push(a) | |
}), d | |
}, u.reject = function(a, b, c) { | |
return u.filter(a, u.negate(w(b)), c) | |
}, u.every = u.all = function(a, b, c) { | |
b = w(b, c); | |
for (var d = !C(a) && u.keys(a), e = (d || a).length, f = 0; e > f; f++) { | |
var g = d ? d[f] : f; | |
if (!b(a[g], g, a)) return !1 | |
} | |
return !0 | |
}, u.some = u.any = function(a, b, c) { | |
b = w(b, c); | |
for (var d = !C(a) && u.keys(a), e = (d || a).length, f = 0; e > f; f++) { | |
var g = d ? d[f] : f; | |
if (b(a[g], g, a)) return !0 | |
} | |
return !1 | |
}, u.contains = u.includes = u.include = function(a, b, c, d) { | |
return C(a) || (a = u.values(a)), ("number" != typeof c || d) && (c = 0), u.indexOf(a, b, c) >= 0 | |
}, u.invoke = function(a, b) { | |
var c = m.call(arguments, 2), | |
d = u.isFunction(b); | |
return u.map(a, function(a) { | |
var e = d ? b : a[b]; | |
return null == e ? e : e.apply(a, c) | |
}) | |
}, u.pluck = function(a, b) { | |
return u.map(a, u.property(b)) | |
}, u.where = function(a, b) { | |
return u.filter(a, u.matcher(b)) | |
}, u.findWhere = function(a, b) { | |
return u.find(a, u.matcher(b)) | |
}, u.max = function(a, b, c) { | |
var d, e, f = -(1 / 0), | |
g = -(1 / 0); | |
if (null == b && null != a) { | |
a = C(a) ? a : u.values(a); | |
for (var h = 0, i = a.length; i > h; h++) d = a[h], d > f && (f = d) | |
} else b = w(b, c), u.each(a, function(a, c, d) { | |
e = b(a, c, d), (e > g || e === -(1 / 0) && f === -(1 / 0)) && (f = a, g = e) | |
}); | |
return f | |
}, u.min = function(a, b, c) { | |
var d, e, f = 1 / 0, | |
g = 1 / 0; | |
if (null == b && null != a) { | |
a = C(a) ? a : u.values(a); | |
for (var h = 0, i = a.length; i > h; h++) d = a[h], f > d && (f = d) | |
} else b = w(b, c), u.each(a, function(a, c, d) { | |
e = b(a, c, d), (g > e || e === 1 / 0 && f === 1 / 0) && (f = a, g = e) | |
}); | |
return f | |
}, u.shuffle = function(a) { | |
for (var b, c = C(a) ? a : u.values(a), d = c.length, e = Array(d), f = 0; d > f; f++) b = u.random(0, f), b !== f && (e[f] = e[b]), e[b] = c[f]; | |
return e | |
}, u.sample = function(a, b, c) { | |
return null == b || c ? (C(a) || (a = u.values(a)), a[u.random(a.length - 1)]) : u.shuffle(a).slice(0, Math.max(0, b)) | |
}, u.sortBy = function(a, b, c) { | |
return b = w(b, c), u.pluck(u.map(a, function(a, c, d) { | |
return { | |
value: a, | |
index: c, | |
criteria: b(a, c, d) | |
} | |
}).sort(function(a, b) { | |
var c = a.criteria, | |
d = b.criteria; | |
if (c !== d) { | |
if (c > d || void 0 === c) return 1; | |
if (d > c || void 0 === d) return -1 | |
} | |
return a.index - b.index | |
}), "value") | |
}; | |
var D = function(a) { | |
return function(b, c, d) { | |
var e = {}; | |
return c = w(c, d), u.each(b, function(d, f) { | |
var g = c(d, f, b); | |
a(e, d, g) | |
}), e | |
} | |
}; | |
u.groupBy = D(function(a, b, c) { | |
u.has(a, c) ? a[c].push(b) : a[c] = [b] | |
}), u.indexBy = D(function(a, b, c) { | |
a[c] = b | |
}), u.countBy = D(function(a, b, c) { | |
u.has(a, c) ? a[c]++ : a[c] = 1 | |
}), u.toArray = function(a) { | |
return a ? u.isArray(a) ? m.call(a) : C(a) ? u.map(a, u.identity) : u.values(a) : [] | |
}, u.size = function(a) { | |
return null == a ? 0 : C(a) ? a.length : u.keys(a).length | |
}, u.partition = function(a, b, c) { | |
b = w(b, c); | |
var d = [], | |
e = []; | |
return u.each(a, function(a, c, f) { | |
(b(a, c, f) ? d : e).push(a) | |
}), [d, e] | |
}, u.first = u.head = u.take = function(a, b, c) { | |
return null == a ? void 0 : null == b || c ? a[0] : u.initial(a, a.length - b) | |
}, u.initial = function(a, b, c) { | |
return m.call(a, 0, Math.max(0, a.length - (null == b || c ? 1 : b))) | |
}, u.last = function(a, b, c) { | |
return null == a ? void 0 : null == b || c ? a[a.length - 1] : u.rest(a, Math.max(0, a.length - b)) | |
}, u.rest = u.tail = u.drop = function(a, b, c) { | |
return m.call(a, null == b || c ? 1 : b) | |
}, u.compact = function(a) { | |
return u.filter(a, u.identity) | |
}; | |
var E = function(a, b, c, d) { | |
for (var e = [], f = 0, g = d || 0, h = B(a); h > g; g++) { | |
var i = a[g]; | |
if (C(i) && (u.isArray(i) || u.isArguments(i))) { | |
b || (i = E(i, b, c)); | |
var j = 0, | |
k = i.length; | |
for (e.length += k; k > j;) e[f++] = i[j++] | |
} else c || (e[f++] = i) | |
} | |
return e | |
}; | |
u.flatten = function(a, b) { | |
return E(a, b, !1) | |
}, u.without = function(a) { | |
return u.difference(a, m.call(arguments, 1)) | |
}, u.uniq = u.unique = function(a, b, c, d) { | |
u.isBoolean(b) || (d = c, c = b, b = !1), null != c && (c = w(c, d)); | |
for (var e = [], f = [], g = 0, h = B(a); h > g; g++) { | |
var i = a[g], | |
j = c ? c(i, g, a) : i; | |
b ? (g && f === j || e.push(i), f = j) : c ? u.contains(f, j) || (f.push(j), e.push(i)) : u.contains(e, i) || e.push(i) | |
} | |
return e | |
}, u.union = function() { | |
return u.uniq(E(arguments, !0, !0)) | |
}, u.intersection = function(a) { | |
for (var b = [], c = arguments.length, d = 0, e = B(a); e > d; d++) { | |
var f = a[d]; | |
if (!u.contains(b, f)) { | |
for (var g = 1; c > g && u.contains(arguments[g], f); g++); | |
g === c && b.push(f) | |
} | |
} | |
return b | |
}, u.difference = function(a) { | |
var b = E(arguments, !0, !0, 1); | |
return u.filter(a, function(a) { | |
return !u.contains(b, a) | |
}) | |
}, u.zip = function() { | |
return u.unzip(arguments) | |
}, u.unzip = function(a) { | |
for (var b = a && u.max(a, B).length || 0, c = Array(b), d = 0; b > d; d++) c[d] = u.pluck(a, d); | |
return c | |
}, u.object = function(a, b) { | |
for (var c = {}, d = 0, e = B(a); e > d; d++) b ? c[a[d]] = b[d] : c[a[d][0]] = a[d][1]; | |
return c | |
}, u.findIndex = d(1), u.findLastIndex = d(-1), u.sortedIndex = function(a, b, c, d) { | |
c = w(c, d, 1); | |
for (var e = c(b), f = 0, g = B(a); g > f;) { | |
var h = Math.floor((f + g) / 2); | |
c(a[h]) < e ? f = h + 1 : g = h | |
} | |
return f | |
}, u.indexOf = e(1, u.findIndex, u.sortedIndex), u.lastIndexOf = e(-1, u.findLastIndex), u.range = function(a, b, c) { | |
null == b && (b = a || 0, a = 0), c = c || 1; | |
for (var d = Math.max(Math.ceil((b - a) / c), 0), e = Array(d), f = 0; d > f; f++, a += c) e[f] = a; | |
return e | |
}; | |
var F = function(a, b, c, d, e) { | |
if (!(d instanceof b)) return a.apply(c, e); | |
var f = y(a.prototype), | |
g = a.apply(f, e); | |
return u.isObject(g) ? g : f | |
}; | |
u.bind = function(a, b) { | |
if (r && a.bind === r) return r.apply(a, m.call(arguments, 1)); | |
if (!u.isFunction(a)) throw new TypeError("Bind must be called on a function"); | |
var c = m.call(arguments, 2), | |
d = function() { | |
return F(a, d, b, this, c.concat(m.call(arguments))) | |
}; | |
return d | |
}, u.partial = function(a) { | |
var b = m.call(arguments, 1), | |
c = function() { | |
for (var d = 0, e = b.length, f = Array(e), g = 0; e > g; g++) f[g] = b[g] === u ? arguments[d++] : b[g]; | |
for (; d < arguments.length;) f.push(arguments[d++]); | |
return F(a, c, this, this, f) | |
}; | |
return c | |
}, u.bindAll = function(a) { | |
var b, c, d = arguments.length; | |
if (1 >= d) throw new Error("bindAll must be passed function names"); | |
for (b = 1; d > b; b++) c = arguments[b], a[c] = u.bind(a[c], a); | |
return a | |
}, u.memoize = function(a, b) { | |
var c = function(d) { | |
var e = c.cache, | |
f = "" + (b ? b.apply(this, arguments) : d); | |
return u.has(e, f) || (e[f] = a.apply(this, arguments)), e[f] | |
}; | |
return c.cache = {}, c | |
}, u.delay = function(a, b) { | |
var c = m.call(arguments, 2); | |
return setTimeout(function() { | |
return a.apply(null, c) | |
}, b) | |
}, u.defer = u.partial(u.delay, u, 1), u.throttle = function(a, b, c) { | |
var d, e, f, g = null, | |
h = 0; | |
c || (c = {}); | |
var i = function() { | |
h = c.leading === !1 ? 0 : u.now(), g = null, f = a.apply(d, e), g || (d = e = null) | |
}; | |
return function() { | |
var j = u.now(); | |
h || c.leading !== !1 || (h = j); | |
var k = b - (j - h); | |
return d = this, e = arguments, 0 >= k || k > b ? (g && (clearTimeout(g), g = null), h = j, f = a.apply(d, e), g || (d = e = null)) : g || c.trailing === !1 || (g = setTimeout(i, k)), f | |
} | |
}, u.debounce = function(a, b, c) { | |
var d, e, f, g, h, i = function() { | |
var j = u.now() - g; | |
b > j && j >= 0 ? d = setTimeout(i, b - j) : (d = null, c || (h = a.apply(f, e), d || (f = e = null))) | |
}; | |
return function() { | |
f = this, e = arguments, g = u.now(); | |
var j = c && !d; | |
return d || (d = setTimeout(i, b)), j && (h = a.apply(f, e), f = e = null), h | |
} | |
}, u.wrap = function(a, b) { | |
return u.partial(b, a) | |
}, u.negate = function(a) { | |
return function() { | |
return !a.apply(this, arguments) | |
} | |
}, u.compose = function() { | |
var a = arguments, | |
b = a.length - 1; | |
return function() { | |
for (var c = b, d = a[b].apply(this, arguments); c--;) d = a[c].call(this, d); | |
return d | |
} | |
}, u.after = function(a, b) { | |
return function() { | |
return --a < 1 ? b.apply(this, arguments) : void 0 | |
} | |
}, u.before = function(a, b) { | |
var c; | |
return function() { | |
return --a > 0 && (c = b.apply(this, arguments)), 1 >= a && (b = null), c | |
} | |
}, u.once = u.partial(u.before, 2); | |
var G = !{ | |
toString: null | |
}.propertyIsEnumerable("toString"), | |
H = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"]; | |
u.keys = function(a) { | |
if (!u.isObject(a)) return []; | |
if (q) return q(a); | |
var b = []; | |
for (var c in a) u.has(a, c) && b.push(c); | |
return G && f(a, b), b | |
}, u.allKeys = function(a) { | |
if (!u.isObject(a)) return []; | |
var b = []; | |
for (var c in a) b.push(c); | |
return G && f(a, b), b | |
}, u.values = function(a) { | |
for (var b = u.keys(a), c = b.length, d = Array(c), e = 0; c > e; e++) d[e] = a[b[e]]; | |
return d | |
}, u.mapObject = function(a, b, c) { | |
b = w(b, c); | |
for (var d, e = u.keys(a), f = e.length, g = {}, h = 0; f > h; h++) d = e[h], g[d] = b(a[d], d, a); | |
return g | |
}, u.pairs = function(a) { | |
for (var b = u.keys(a), c = b.length, d = Array(c), e = 0; c > e; e++) d[e] = [b[e], a[b[e]]]; | |
return d | |
}, u.invert = function(a) { | |
for (var b = {}, c = u.keys(a), d = 0, e = c.length; e > d; d++) b[a[c[d]]] = c[d]; | |
return b | |
}, u.functions = u.methods = function(a) { | |
var b = []; | |
for (var c in a) u.isFunction(a[c]) && b.push(c); | |
return b.sort() | |
}, u.extend = x(u.allKeys), u.extendOwn = u.assign = x(u.keys), u.findKey = function(a, b, c) { | |
b = w(b, c); | |
for (var d, e = u.keys(a), f = 0, g = e.length; g > f; f++) | |
if (d = e[f], b(a[d], d, a)) return d | |
}, u.pick = function(a, b, c) { | |
var d, e, f = {}, g = a; | |
if (null == g) return f; | |
u.isFunction(b) ? (e = u.allKeys(g), d = v(b, c)) : (e = E(arguments, !1, !1, 1), d = function(a, b, c) { | |
return b in c | |
}, g = Object(g)); | |
for (var h = 0, i = e.length; i > h; h++) { | |
var j = e[h], | |
k = g[j]; | |
d(k, j, g) && (f[j] = k) | |
} | |
return f | |
}, u.omit = function(a, b, c) { | |
if (u.isFunction(b)) b = u.negate(b); | |
else { | |
var d = u.map(E(arguments, !1, !1, 1), String); | |
b = function(a, b) { | |
return !u.contains(d, b) | |
} | |
} | |
return u.pick(a, b, c) | |
}, u.defaults = x(u.allKeys, !0), u.create = function(a, b) { | |
var c = y(a); | |
return b && u.extendOwn(c, b), c | |
}, u.clone = function(a) { | |
return u.isObject(a) ? u.isArray(a) ? a.slice() : u.extend({}, a) : a | |
}, u.tap = function(a, b) { | |
return b(a), a | |
}, u.isMatch = function(a, b) { | |
var c = u.keys(b), | |
d = c.length; | |
if (null == a) return !d; | |
for (var e = Object(a), f = 0; d > f; f++) { | |
var g = c[f]; | |
if (b[g] !== e[g] || !(g in e)) return !1 | |
} | |
return !0 | |
}; | |
var I = function(a, b, c, d) { | |
if (a === b) return 0 !== a || 1 / a === 1 / b; | |
if (null == a || null == b) return a === b; | |
a instanceof u && (a = a._wrapped), b instanceof u && (b = b._wrapped); | |
var e = n.call(a); | |
if (e !== n.call(b)) return !1; | |
switch (e) { | |
case "[object RegExp]": | |
case "[object String]": | |
return "" + a == "" + b; | |
case "[object Number]": | |
return +a !== +a ? +b !== +b : 0 === +a ? 1 / +a === 1 / b : +a === +b; | |
case "[object Date]": | |
case "[object Boolean]": | |
return +a === +b | |
} | |
var f = "[object Array]" === e; | |
if (!f) { | |
if ("object" != typeof a || "object" != typeof b) return !1; | |
var g = a.constructor, | |
h = b.constructor; | |
if (g !== h && !(u.isFunction(g) && g instanceof g && u.isFunction(h) && h instanceof h) && "constructor" in a && "constructor" in b) return !1 | |
} | |
c = c || [], d = d || []; | |
for (var i = c.length; i--;) | |
if (c[i] === a) return d[i] === b; | |
if (c.push(a), d.push(b), f) { | |
if (i = a.length, i !== b.length) return !1; | |
for (; i--;) | |
if (!I(a[i], b[i], c, d)) return !1 | |
} else { | |
var j, k = u.keys(a); | |
if (i = k.length, u.keys(b).length !== i) return !1; | |
for (; i--;) | |
if (j = k[i], !u.has(b, j) || !I(a[j], b[j], c, d)) return !1 | |
} | |
return c.pop(), d.pop(), !0 | |
}; | |
u.isEqual = function(a, b) { | |
return I(a, b) | |
}, u.isEmpty = function(a) { | |
return null == a ? !0 : C(a) && (u.isArray(a) || u.isString(a) || u.isArguments(a)) ? 0 === a.length : 0 === u.keys(a).length | |
}, u.isElement = function(a) { | |
return !(!a || 1 !== a.nodeType) | |
}, u.isArray = p || function(a) { | |
return "[object Array]" === n.call(a) | |
}, u.isObject = function(a) { | |
var b = typeof a; | |
return "function" === b || "object" === b && !! a | |
}, u.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function(a) { | |
u["is" + a] = function(b) { | |
return n.call(b) === "[object " + a + "]" | |
} | |
}), u.isArguments(arguments) || (u.isArguments = function(a) { | |
return u.has(a, "callee") | |
}), "function" != typeof / . / && "object" != typeof Int8Array && (u.isFunction = function(a) { | |
return "function" == typeof a || !1 | |
}), u.isFinite = function(a) { | |
return isFinite(a) && !isNaN(parseFloat(a)) | |
}, u.isNaN = function(a) { | |
return u.isNumber(a) && a !== +a | |
}, u.isBoolean = function(a) { | |
return a === !0 || a === !1 || "[object Boolean]" === n.call(a) | |
}, u.isNull = function(a) { | |
return null === a | |
}, u.isUndefined = function(a) { | |
return void 0 === a | |
}, u.has = function(a, b) { | |
return null != a && o.call(a, b) | |
}, u.noConflict = function() { | |
return g._ = h, this | |
}, u.identity = function(a) { | |
return a | |
}, u.constant = function(a) { | |
return function() { | |
return a | |
} | |
}, u.noop = function() {}, u.property = z, u.propertyOf = function(a) { | |
return null == a ? function() {} : function(b) { | |
return a[b] | |
} | |
}, u.matcher = u.matches = function(a) { | |
return a = u.extendOwn({}, a), | |
function(b) { | |
return u.isMatch(b, a) | |
} | |
}, u.times = function(a, b, c) { | |
var d = Array(Math.max(0, a)); | |
b = v(b, c, 1); | |
for (var e = 0; a > e; e++) d[e] = b(e); | |
return d | |
}, u.random = function(a, b) { | |
return null == b && (b = a, a = 0), a + Math.floor(Math.random() * (b - a + 1)) | |
}, u.now = Date.now || function() { | |
return (new Date).getTime() | |
}; | |
var J = { | |
"&": "&", | |
"<": "<", | |
">": ">", | |
'"': """, | |
"'": "'", | |
"`": "`" | |
}, K = u.invert(J), | |
L = function(a) { | |
var b = function(b) { | |
return a[b] | |
}, c = "(?:" + u.keys(a).join("|") + ")", | |
d = RegExp(c), | |
e = RegExp(c, "g"); | |
return function(a) { | |
return a = null == a ? "" : "" + a, d.test(a) ? a.replace(e, b) : a | |
} | |
}; | |
u.escape = L(J), u.unescape = L(K), u.result = function(a, b, c) { | |
var d = null == a ? void 0 : a[b]; | |
return void 0 === d && (d = c), u.isFunction(d) ? d.call(a) : d | |
}; | |
var M = 0; | |
u.uniqueId = function(a) { | |
var b = ++M + ""; | |
return a ? a + b : b | |
}, u.templateSettings = { | |
evaluate: /<%([\s\S]+?)%>/g, | |
interpolate: /<%=([\s\S]+?)%>/g, | |
escape: /<%-([\s\S]+?)%>/g | |
}; | |
var N = /(.)^/, | |
O = { | |
"'": "'", | |
"\\": "\\", | |
"\r": "r", | |
"\n": "n", | |
"\u2028": "u2028", | |
"\u2029": "u2029" | |
}, P = /\\|'|\r|\n|\u2028|\u2029/g, | |
Q = function(a) { | |
return "\\" + O[a] | |
}; | |
u.template = function(a, b, c) { | |
!b && c && (b = c), b = u.defaults({}, b, u.templateSettings); | |
var d = RegExp([(b.escape || N).source, (b.interpolate || N).source, (b.evaluate || N).source].join("|") + "|$", "g"), | |
e = 0, | |
f = "__p+='"; | |
a.replace(d, function(b, c, d, g, h) { | |
return f += a.slice(e, h).replace(P, Q), e = h + b.length, c ? f += "'+\n((__t=(" + c + "))==null?'':_.escape(__t))+\n'" : d ? f += "'+\n((__t=(" + d + "))==null?'':__t)+\n'" : g && (f += "';\n" + g + "\n__p+='"), b | |
}), f += "';\n", b.variable || (f = "with(obj||{}){\n" + f + "}\n"), f = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + f + "return __p;\n"; | |
try { | |
var g = new Function(b.variable || "obj", "_", f) | |
} catch (h) { | |
throw h.source = f, h | |
} | |
var i = function(a) { | |
return g.call(this, a, u) | |
}, j = b.variable || "obj"; | |
return i.source = "function(" + j + "){\n" + f + "}", i | |
}, u.chain = function(a) { | |
var b = u(a); | |
return b._chain = !0, b | |
}; | |
var R = function(a, b) { | |
return a._chain ? u(b).chain() : b | |
}; | |
u.mixin = function(a) { | |
u.each(u.functions(a), function(b) { | |
var c = u[b] = a[b]; | |
u.prototype[b] = function() { | |
var a = [this._wrapped]; | |
return l.apply(a, arguments), R(this, c.apply(u, a)) | |
} | |
}) | |
}, u.mixin(u), u.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(a) { | |
var b = i[a]; | |
u.prototype[a] = function() { | |
var c = this._wrapped; | |
return b.apply(c, arguments), "shift" !== a && "splice" !== a || 0 !== c.length || delete c[0], R(this, c) | |
} | |
}), u.each(["concat", "join", "slice"], function(a) { | |
var b = i[a]; | |
u.prototype[a] = function() { | |
return R(this, b.apply(this._wrapped, arguments)) | |
} | |
}), u.prototype.value = function() { | |
return this._wrapped | |
}, u.prototype.valueOf = u.prototype.toJSON = u.prototype.value, u.prototype.toString = function() { | |
return "" + this._wrapped | |
}, "function" == typeof define && define.amd && define("underscore", [], function() { | |
return u | |
}) | |
}).call(this) | |
}, {} | |
], | |
74: [ | |
function(a, b, c) { | |
b.exports = { | |
pages: { | |
"^$": { | |
template: "/pages/countdown/countdown.hbs", | |
script: "./workspace/pages/countdown/countdown-page.js", | |
data: "/api/v1/pages/countdown", | |
styles: ["/pages/countdown/countdown.css"] | |
} | |
}, | |
modules: { | |
footer: { | |
script: "footer", | |
template: "/modules/footer/footer.hbs", | |
data: "/api/v1/pages/countdown", | |
global: !0 | |
} | |
}, | |
env: "countdown" | |
} | |
}, {} | |
], | |
75: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("route-manager"), | |
e = a("query-string"), | |
f = a("four-oh-four-page"), | |
g = a("page-error-view"), | |
h = a("js-cookie"), | |
i = a("locale-manager"), | |
j = a("jquery"), | |
k = a("./../public/env-config"); | |
a("element-kit"); | |
var l = { | |
start: function() { | |
d.addEventListener("page:load", this.getPageLoadEventListener()), d.addEventListener("page:error", this.getPageErrorEventListener()), d.start(), this._params = e.parse(window.location.search), this._params.launchtime && sessionStorage.setItem("launchtime", this._params.launchtime), this._params.r && sessionStorage.setItem("continueToUrl", this._params.r), this._params.locale && h.set("locale", this._params.locale), window.onorientationchange = function() { | |
window.location.reload(!0) | |
}, this._el = document.body.getElementsByClassName("app")[0], i.fetch().then(function(a) { | |
j.ajaxSetup({ | |
lang: a | |
}), d.triggerRoute(window.location.pathname) | |
}) | |
}, | |
getEl: function() { | |
return this._el | |
}, | |
getPageLoadEventListener: function() { | |
var a = this; | |
return function(b) { | |
a.onPageLoad(b) | |
} | |
}, | |
getPageErrorEventListener: function() { | |
var a = this; | |
return function(b) { | |
a.onPageError(b) | |
} | |
}, | |
onPageError: function(a) { | |
a.detail && a.detail.message && -1 !== a.detail.message.indexOf("No routes configuration") ? this._handlePageNotFound() : g.show() | |
}, | |
_handlePageNotFound: function() { | |
"countdown" === k.env ? d.triggerRoute("/") : f.load().then(function() { | |
f.show() | |
}) | |
}, | |
onPageLoad: function() { | |
this._firstLoad || (this._firstLoad = !0) | |
}, | |
stop: function() { | |
d.removeEventListener("page:load", this.getPageLoadEventListener()), this._firstLoad = null | |
} | |
}; | |
l.start(), b.exports = l | |
}, { | |
"./../public/env-config": 74, | |
"element-kit": 8, | |
"four-oh-four-page": 85, | |
jquery: 53, | |
"js-cookie": 54, | |
"locale-manager": 79, | |
"page-error-view": 87, | |
"query-string": 67, | |
"route-manager": 86 | |
} | |
], | |
76: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = a("module"), | |
f = a("resource-manager"), | |
g = e.extend({ | |
loadFonts: function() { | |
return this._fontsLoaded ? d.resolve() : f.loadScript("//use.typekit.net/kna3oyp.js").then(function() { | |
return new d(function(a) { | |
try { | |
window.Typekit.load({ | |
active: a, | |
inactive: a | |
}) | |
} catch (b) { | |
a() | |
} | |
}).then(function() { | |
this._fontsLoaded = !0 | |
}.bind(this)) | |
}.bind(this)) | |
} | |
}); | |
b.exports = new g | |
}, { | |
module: 82, | |
promise: 57, | |
"resource-manager": 70 | |
} | |
], | |
77: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("underscore"), | |
e = a("device-manager"), | |
f = function() {}; | |
f.prototype = { | |
start: function() { | |
this.body = this.body || document.body, this._activeFormMap = this._activeFormMap || {}, e.isMobile() && (this.allFormElementMaps = this._buildFormElementMaps(), this.bindEvents()) | |
}, | |
resetAllFormElements: function() { | |
d.each(this.allFormElementMaps, function(a) { | |
this._enableFormElement(a), a.active = !1 | |
}.bind(this)), this._activeFormMap = {} | |
}, | |
reset: function() { | |
this.unbindEvents(), this.resetAllFormElements() | |
}, | |
onFocusElement: function(a) { | |
d.each(this.allFormElementMaps, function(b) { | |
b.el.contains(a.currentTarget) ? (this._activeFormMap = b, b.active = !0, this._enableFormElement(b)) : (b.active = !1, this._disableFormElement(b)) | |
}.bind(this)) | |
}, | |
onBlurElement: function() { | |
document.activeElement.getElementsByTagName("form").length && this.resetAllFormElements() | |
}, | |
_disableFormElement: function(a) { | |
d.each(a.el.elements, function(a) { | |
a.tabIndex = -1, a.disabled = !0 | |
}) | |
}, | |
_enableFormElement: function(a) { | |
d.each(a.el.elements, function(b) { | |
b.tabIndex = a.tabIndex, b.disabled = a.disabled | |
}) | |
}, | |
bindEvents: function() { | |
d.each(this.allFormElementMaps, function(a) { | |
d.each(a.el.elements, function(a) { | |
a.kit.addEventListener("focus", "onFocusElement", this), a.kit.addEventListener("blur", "onBlurElement", this) | |
}.bind(this)) | |
}.bind(this)) | |
}, | |
_buildFormElementMaps: function() { | |
var a = []; | |
return d.each(this.body.getElementsByTagName("form"), function(b) { | |
a.push({ | |
el: b, | |
tabIndex: b.tabIndex, | |
disabled: b.disabled | |
}) | |
}), a | |
}, | |
unbindEvents: function() { | |
d.each(this.allFormElementMaps, function(a) { | |
d.each(a.el.elements, function(a) { | |
a.kit.removeEventListener("focus", "onFocusElement", this), a.kit.removeEventListener("blur", "onBlurElement", this) | |
}.bind(this)) | |
}.bind(this)) | |
} | |
}, b.exports = new f | |
}, { | |
"device-manager": 7, | |
underscore: 73 | |
} | |
], | |
78: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("module.js"), | |
e = a("route-manager"), | |
f = d.extend({ | |
delegateLinks: function(a) { | |
var b; | |
if (a.length) | |
for (b = 0; b < a.length; b++) a[b].addEventListener("click", this._getClickEventListener()) | |
}, | |
undelegateLinks: function(a) { | |
var b; | |
if (a.length) | |
for (b = 0; b < a.length; b++) a[b].removeEventListener("click", this._getClickEventListener()) | |
}, | |
_getClickEventListener: function() { | |
var a = this; | |
return function(b) { | |
a.onClickLink.call(a, b) | |
} | |
}, | |
onClickLink: function(a) { | |
var b = a.currentTarget, | |
c = b.getAttribute("href"), | |
d = b.kit._hasClass("download-asset-btn"); | |
!c || this.isLinkExternal(c) || d || (a.preventDefault(), e.triggerRoute(c)) | |
}, | |
isLinkExternal: function(a) { | |
var b = a.match(/^(http\:|https\:|www\.|tel\:)|^(\/\/)/) && -1 === a.indexOf(window.location.hostname); | |
return b ? !0 : !1 | |
} | |
}); | |
b.exports = new f | |
}, { | |
"module.js": 55, | |
"route-manager": 86 | |
} | |
], | |
79: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = a("module"), | |
f = a("resource-manager"), | |
g = a("js-cookie"), | |
h = e.extend({ | |
fetchCountryByIP: function() { | |
var a = "US"; | |
return f.loadScript("//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js").then(function() { | |
return window.geoip2 ? new d(function(b, c) { | |
window.geoip2.country(function(c) { | |
b(c.country.iso_code || a) | |
}, function(a) { | |
c(a) | |
}) | |
}) : a | |
}) | |
}, | |
fetch: function() { | |
var a = this.getCountryLocaleMap(), | |
b = a.US, | |
c = g.get("locale"); | |
return new d(function(d) { | |
c ? d(c) : this.fetchCountryByIP().then(function(c) { | |
b = a[c] || b, d(b) | |
})["catch"](function(a) { | |
console.warn('GeoIP Error: Language could not be determined, falling back to "' + b + '"...'), console.warn(a), d(b) | |
}) | |
}.bind(this)).then(function(a) { | |
return g.set("locale", a), a | |
}) | |
}, | |
getCountryLocaleMap: function() { | |
return { | |
US: "en-us", | |
GB: "en-gb", | |
FR: "fr-fr", | |
DE: "de-de", | |
JP: "ja", | |
IT: "it-it", | |
ES: "es-es", | |
RU: "ru", | |
PL: "pl", | |
BR: "pt-br" | |
} | |
}, | |
reset: function() {} | |
}); | |
b.exports = new h | |
}, { | |
"js-cookie": 54, | |
module: 82, | |
promise: 57, | |
"resource-manager": 70 | |
} | |
], | |
80: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("module"), | |
e = a("underscore"), | |
f = a("jquery"), | |
g = a("promise"), | |
h = a("image"); | |
a("element-kit"); | |
var i = d.extend({ | |
initialize: function(a) { | |
this.options = e.extend({ | |
el: null, | |
images: [] | |
}, a), this.el = a.el, this.images = f(".featured-media-asset-background-image"), d.prototype.initialize.call(this, a) | |
}, | |
load: function() { | |
var a = "/assets/video-glitch.png", | |
b = this.el || document.body; | |
return i.prototype.glitchImageEl || (i.prototype.glitchImageEl = document.createElement("img"), i.prototype.glitchImageEl.classList.add("glitch-image")), i.prototype.glitchImage || (i.prototype.glitchImage = new h({ | |
el: i.prototype.glitchImageEl | |
})), i.prototype.glitchImage.load(a).then(function() { | |
b.appendChild(i.prototype.glitchImageEl) | |
}) | |
}, | |
flicker: function(a) { | |
return a = a || 1e3, this.load().then(function() { | |
return new g(function(b) { | |
this.el.classList.add("glitch-active"), e.delay(function() { | |
this.el.classList.remove("glitch-active"), b() | |
}.bind(this), a) | |
}.bind(this)) | |
}.bind(this)) | |
}, | |
start: function() { | |
return this.load().then(function() { | |
return this.el.classList.add("glitch-active"), new g(function(a) { | |
this.el.kit.waitForTransition(a) | |
}.bind(this)) | |
}.bind(this)) | |
}, | |
stop: function() { | |
return this.el.classList.remove("glitch-active"), g.resolve() | |
}, | |
destroy: function() { | |
i.prototype.glitchImage.destroy(), d.prototype.destroy.call(this) | |
} | |
}); | |
b.exports = i | |
}, { | |
"element-kit": 8, | |
image: 81, | |
jquery: 53, | |
module: 82, | |
promise: 57, | |
underscore: 73 | |
} | |
], | |
81: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = a("module"), | |
f = a("device-manager"); | |
a("element-kit"); | |
var g = e.extend({ | |
initialize: function(a) { | |
e.prototype.initialize.call(this), this.imageEl = a.el, this.containerEl = this.imageEl.parentNode || document.body, a.data = a.data || {}, f.isMobile() && this.getWindow().innerWidth < 901 ? this._deviceType = "mobile" : this._deviceType = "desktop", this.imagesData = a.data[this._deviceType] || a.data.desktop | |
}, | |
getWindow: function() { | |
return window | |
}, | |
_filterImagesByDimensions: function(a) { | |
return a = a || {}, this.imagesData.filter(function(b) { | |
return (!a.maxWidth || b.width <= a.maxWidth) && (!a.minWidth || b.width > a.minWidth) | |
}) | |
}, | |
loadHighestResolutionImage: function() { | |
var a = this.getHighestResolutionImageData(); | |
return a.url ? this.load(a.url) : this.loadSmallestImage() | |
}, | |
getHighestResolutionImageData: function() { | |
return this._filterImagesByDimensions({ | |
minWidth: this.containerEl.clientWidth | |
})[0] || {} | |
}, | |
getSmallestImageData: function() { | |
var a = {}; | |
return this.imagesData.forEach(function(b) { | |
(!a.width || b.width < a.width) && (a = b) | |
}), a | |
}, | |
loadSmallestImage: function() { | |
return this.load(this.getSmallestImageData().url) | |
}, | |
load: function(a) { | |
var b = this.imageEl; | |
return b.getAttribute("src") !== a ? b.kit.load(a) : d.resolve() | |
} | |
}); | |
b.exports = g | |
}, { | |
"device-manager": 7, | |
"element-kit": 8, | |
module: 82, | |
promise: 57 | |
} | |
], | |
82: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("module.js"), | |
e = a("js-cookie"), | |
f = d.extend({ | |
initialize: function() { | |
d.prototype.initialize.apply(this, arguments), this._appContainer = document.getElementsByClassName("app")[0] | |
}, | |
fetchData: function(a, b) { | |
var c = e.get("locale"); | |
return b.data = b.data || {}, c && (b.data.lang = c), d.prototype.fetchData.call(this, a, b) | |
}, | |
getAppEl: function() { | |
return this._appContainer | |
} | |
}); | |
b.exports = f | |
}, { | |
"js-cookie": 54, | |
"module.js": 55 | |
} | |
], | |
83: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("base-page"), | |
e = a("fastclick"), | |
f = a("scroll-listener"), | |
g = a("underscore"), | |
h = a("page-error-view"), | |
i = a("promise"), | |
j = a("font-manager"), | |
k = a("glitch"), | |
l = a("locale-manager"), | |
m = window.dataLayer, | |
n = a("form-manager"), | |
o = a("page-loading-view"), | |
p = a("link-cop"), | |
q = d.extend({ | |
initialize: function() { | |
this.body = document.body, this.loaderEl = this.body.getElementsByClassName("page-loader")[0], d.prototype.initialize.call(this, { | |
pagesContainer: this.body.getElementsByClassName("pages")[0] | |
}), q.prototype.initialLoad = q.prototype.initialLoad || !0, this._imageMap = {}, this.appContainer = this.body.getElementsByClassName("app")[0] | |
}, | |
show: function() { | |
return h.hide(), document.title = this.pageData["title-global"], window.scrollTo(0, 1), d.prototype.show.call(this).then(function() { | |
return new i(function(a) { | |
this.modules = this.el.getElementsByClassName("module"), n.start(), this.bindEvents(), this.setupModuleScrollListeners(this.modules), this.body.classList.add(this.mid + "-page-active"), this.body.classList.add("page-active"), this.appContainer.kit.waitForTransition(function() { | |
o.hide(), this.appContainer.kit.waitForTransition(a) | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this)) | |
}, | |
fetchData: function(a, b) { | |
return b = b || {}, b.data = b.data || {}, l.fetch().then(function(c) { | |
return c && (b.data.lang = c), d.prototype.fetchData.call(this, a, b) | |
}) | |
}, | |
hide: function() { | |
return this.body.classList.remove(this.mid + "-page-active"), this.body.classList.remove("page-active"), o.show(), new i(function(a) { | |
this.appContainer.kit.waitForTransition(function() { | |
this.removeModuleListeners(), n.reset(), this.unbindEvents(), d.prototype.hide.call(this).then(a) | |
}.bind(this)) | |
}.bind(this)) | |
}, | |
load: function(a) { | |
a = a || {}; | |
var b = arguments, | |
c = a.data || {}, e = c.error, | |
f = c.modules || {}; | |
return this.pageData = (f.page || {}).data || {}, this.mid = this.mid || this.pageData.id, this.el = a.el, o.show(), this.el = a.el, this.el.classList.add(this.mid + "-page"), h.hide(), e ? (h.show(), i.reject(new Error('Page "' + this.mid + '" returned ' + e["status-code"] + " error"))) : (q.prototype.initialLoad || (q.prototype.initialLoad = !1), j.loadFonts().then(function() { | |
return k.prototype.load().then(function() { | |
return d.prototype.load.apply(this, b).then(function() { | |
return m.push(this.pageData), h.hide() | |
}.bind(this)) | |
}.bind(this)) | |
}.bind(this), function() { | |
h.show(), console.log("PAGE LOAD ERROR!") | |
})) | |
}, | |
bindEvents: function() { | |
e(this.el), p.delegateLinks(this.el.getElementsByTagName("a")) | |
}, | |
unbindEvents: function() { | |
p.undelegateLinks(this.el.getElementsByTagName("a")) | |
}, | |
setupModuleScrollListeners: function(a) { | |
this.moduleScrollListeners = this.moduleScrollListeners || [], g.each(a, function(a) { | |
var b = this.moduleScrollListeners.length + 1, | |
c = this.subModules["scrollListener" + b] = new f({ | |
el: a, | |
onEnter: this.onModuleEnterView.bind(this), | |
onExit: this._onModuleExitView.bind(this) | |
}); | |
this.moduleScrollListeners.push(c) | |
}.bind(this)) | |
}, | |
removeModuleListeners: function() { | |
g.each(this.moduleScrollListeners, function(a) { | |
a.destroy() | |
}.bind(this)), this.moduleScrollListeners = [] | |
}, | |
onModuleEnterView: function(a) { | |
a.classList.add("module-active") | |
}, | |
_onModuleExitView: function(a) { | |
a.classList.remove("module-active") | |
}, | |
destroy: function() { | |
this.unbindEvents(), this.removeModuleListeners(), this._imageMap = {}, d.prototype.destroy.call(this) | |
} | |
}); | |
b.exports = q | |
}, { | |
"base-page": 71, | |
fastclick: 2, | |
"font-manager": 76, | |
"form-manager": 77, | |
glitch: 80, | |
"link-cop": 78, | |
"locale-manager": 79, | |
"page-error-view": 87, | |
"page-loading-view": 88, | |
promise: 57, | |
"scroll-listener": 3, | |
underscore: 73 | |
} | |
], | |
84: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("module"), | |
e = a("raphael"), | |
f = a("moment"), | |
g = a("underscore"), | |
h = d.extend({ | |
initialize: function(a) { | |
this.options = g.extend({ | |
el: null, | |
launchTime: Date.now(), | |
onEnd: null | |
}, a), this.launchTime = this.getLaunchTime(), this.el = a.el, this.secondsHand = this.el.getElementsByClassName("countdown-clock-second-hand")[0], this.clockWrapper = this.el.getElementsByClassName("countdown-clock-wrapper")[0], this.counterText = this.el.getElementsByClassName("countdown-timer-text")[0], this.width = this.height = this.clockWrapper.clientWidth, this.clockWrapper.style.width = this.width, this.polarFull = !1, this.polarFillColor = "rgba(1, 1, 1, 1)", d.prototype.initialize.call(this, a) | |
}, | |
getLaunchTime: function() { | |
var a = Number(sessionStorage.getItem("launchtime")) || this.options.launchTime, | |
b = f(); | |
return this.launchTime || (this.launchTime = f.utc(a).utcOffset(-240), this.launchTime.isBefore(b) && sessionStorage.removeItem("launchtime")), this.launchTime | |
}, | |
start: function() { | |
function a() { | |
b = f().utc(), c = d.launchTime.diff(b), d.timeLeft = f.duration(c, "milliseconds"), b.isSame(d.launchTime) || b.isAfter(d.launchTime) ? (clearInterval(d.timerId), d.onEnd()) : (d.updatePolarFill(d.timeLeft), d.rotateSecondsHand(d.timeLeft), d.updateTimeText(d.timeLeft)) | |
} | |
var b, c, d = this, | |
g = d.width / 3, | |
h = 120, | |
i = d.width / 3.2, | |
j = new e("holder", d.width, d.height); | |
j.customAttributes.arc = function(a, b) { | |
var c, e = 360 / b * a, | |
f = d.width / 2, | |
h = (90 - e) * Math.PI / 180, | |
i = f + g * Math.cos(h), | |
j = f - g * Math.sin(h); | |
return c = b === a ? [ | |
["M", f, f - g], | |
["A", g, g, 0, 1, 1, f - .01, f - g] | |
] : [ | |
["M", f, f - g], | |
["A", g, g, 0, +(e > 180), 1, i, j] | |
], { | |
path: c, | |
stroke: d.polarFillColor | |
} | |
}, d.polarFill = j.path().attr({ | |
stroke: d.polarFillColor, | |
"stroke-width": i | |
}).attr({ | |
arc: [0, h] | |
}), d.timerId = setInterval(a, 1e3) | |
}, | |
rotateSecondsHand: function(a) { | |
var b = -a.seconds(), | |
c = b % 60 * 6, | |
d = "rotate(" + c + "deg)", | |
e = this.secondsHand.style; | |
e.webkitTransform = d, e.MozTransform = d, e.msTransform = d, e.OTransform = d, e.transform = d | |
}, | |
updatePolarFill: function(a) { | |
var b = 3600, | |
c = 6 * (60 - (a.minutes() + 1)); | |
this.polarFull ? (this.polarFill.animate({ | |
arc: [c, 360] | |
}, 750, "bounce"), c % b === 0 && (this.polarFull = !1)) : (this.polarFill.animate({ | |
arc: [c, 360] | |
}, 750, "bounce"), c % b === 0 && (this.polarFull = !0)) | |
}, | |
updateTimeText: function(a) { | |
var b = a.hours() + 24 * a.days(), | |
c = a.minutes(), | |
d = a.seconds(); | |
this.counterText.innerHTML = this._padZero(b) + ":" + this._padZero(c) + ":" + this._padZero(d) | |
}, | |
_padZero: function(a) { | |
return a > 9 ? a : "0" + a | |
}, | |
onEnd: function() { | |
this.counterText.innerHTML = "", this.options.onEnd && this.options.onEnd() | |
} | |
}); | |
b.exports = h | |
}, { | |
module: 82, | |
moment: 56, | |
raphael: 69, | |
underscore: 73 | |
} | |
], | |
85: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("page"), | |
e = d.extend({ | |
mid: "four-oh-four", | |
load: function() { | |
var a = { | |
modules: { | |
page: { | |
data: { | |
"title-global": "Fallout Franchise", | |
title: "Oops" | |
} | |
} | |
} | |
}; | |
return this.el = this._setupEl(), this.pagesContainer = document.body.getElementsByClassName("pages")[0], this.pagesContainer.appendChild(this.el), d.prototype.load.call(this, { | |
data: a, | |
el: this.el | |
}) | |
}, | |
_setupEl: function() { | |
var a = document.createElement("div"); | |
return a.innerHTML = '<img class="four-oh-four-image" src="/assets/404.png" />', a | |
} | |
}); | |
b.exports = new e | |
}, { | |
page: 83 | |
} | |
], | |
86: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("./../public/env-config"), | |
e = a("promise"), | |
f = a("underscore"), | |
g = a("js-cookie"), | |
h = function() { | |
var a = !1, | |
b = f.keys(d.pages); | |
return b.forEach(function(b) { | |
b.match("age-gate") && (a = !0) | |
}), a | |
}, i = function(a) { | |
var b = a.match("age-gate"); | |
return "announcement" === d.env || b || !h() || g.get("ageVerified") || g.get("locale") && "en-us" !== g.get("locale") || (a = "age-gate"), e.resolve(a) | |
}, j = { | |
config: d, | |
pagesContainer: document.body.getElementsByClassName("pages")[0], | |
onRouteRequest: i | |
}, k = a("base-route-manager")(j); | |
b.exports = k | |
}, { | |
"./../public/env-config": 74, | |
"base-route-manager": 72, | |
"js-cookie": 54, | |
promise: 57, | |
underscore: 73 | |
} | |
], | |
87: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = a("module"); | |
a("element-kit"); | |
var f = e.extend({ | |
mid: "error-page", | |
initialize: function() { | |
this.body = document.body, e.prototype.initialize.call(this) | |
}, | |
show: function() { | |
return this.body.classList.add("page-error-active"), new d(function(a) { | |
this.loaderEl.kit.waitForTransition(a) | |
}.bind(this)) | |
}, | |
hide: function() { | |
return this.body.kit.classList.remove("page-error-active"), new d(function(a) { | |
this.body.kit.waitForTransition(a) | |
}.bind(this)) | |
} | |
}); | |
b.exports = new f | |
}, { | |
"element-kit": 8, | |
module: 82, | |
promise: 57 | |
} | |
], | |
88: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("promise"), | |
e = a("module"); | |
a("element-kit"); | |
var f = e.extend({ | |
initialize: function() { | |
this.body = document.body, this.appContainer = this.body.getElementsByClassName("app")[0], e.prototype.initialize.call(this) | |
}, | |
show: function() { | |
return this.body.classList.add("page-loading"), new d(function(a) { | |
this.appContainer.kit.waitForTransition(a) | |
}.bind(this)) | |
}, | |
hide: function() { | |
return this.body.kit.classList.remove("page-loading"), new d(function(a) { | |
this.appContainer.kit.waitForTransition(a) | |
}.bind(this)) | |
} | |
}); | |
b.exports = new f | |
}, { | |
"element-kit": 8, | |
module: 82, | |
promise: 57 | |
} | |
], | |
footer: [ | |
function(a, b, c) { | |
"use strict"; | |
var d = a("module"), | |
e = a("link-cop"); | |
a("element-kit"); | |
var f = d.extend({ | |
mid: "footer", | |
initialize: function() { | |
d.prototype.initialize.call(this, { | |
activeClass: "app-footer-active" | |
}) | |
}, | |
onLoad: function(a) { | |
this.el = a.el, this.appContainer = this.getAppEl(), this.appContainer.appendChild(this.el) | |
}, | |
bindEvents: function() { | |
e.delegateLinks(this.el.getElementsByTagName("a")) | |
}, | |
unbindEvents: function() { | |
e.undelegateLinks(this.el.getElementsByTagName("a")) | |
}, | |
destroy: function() { | |
this.appContainer.removeChild(this.el), d.prototype.destroy.call(this) | |
} | |
}); | |
b.exports = new f | |
}, { | |
"element-kit": 8, | |
"link-cop": 78, | |
module: 82 | |
} | |
] | |
}, {}, [75]); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment