vendor: 48,384 bytes, lines 1-735
1"use strict"; 2!function (t, i) { 3 "function" == typeof define && define.amd ? define(["jquery"], function (t) { 4 return i(t) 5 }) : "object" == typeof exports ? module.exports = i(require("jquery")) : i(jQuery) 6}(0, function (t) { 7 function i(t) { 8 this.$container, this.constraints = null, this.__$tooltiptooltip, this.__init(t) 9 } 10 11 function o(i, o) { 12 var e = !0; 13 return t.each(i, function (t, n) { 14 return void 0 === o[t] || i[t] !== o[t] ? (e = !1, !1) : void 0 15 }), e 16 } 17 18 function e(i) { 19 var o = i.attr("id"), e = o ? r.window.document.getElementById(o) : null; 20 return e ? e === i[0] : t.contains(r.window.document.body, i[0]) 21 } 22 23 var n = { 24 animation: "fade", 25 animationDuration: 350, 26 content: null, 27 contentAsHTML: !1, 28 contentCloning: !1, 29 debug: !0, 30 delay: 300, 31 delayTouch: [300, 500], 32 functionInit: null, 33 functionBefore: null, 34 functionReady: null, 35 functionAfter: null, 36 functionFormat: null, 37 IEmin: 6, 38 interactive: !1, 39 multiple: !1, 40 parent: null, 41 plugins: ["sideTip"], 42 repositionOnScroll: !1, 43 restoration: "none", 44 selfDestruction: !0, 45 theme: [], 46 timer: 0, 47 trackerInterval: 500, 48 trackOrigin: !1, 49 trackTooltip: !1, 50 trigger: "hover", 51 triggerClose: {click: !1, mouseleave: !1, originClick: !1, scroll: !1, tap: !1, touchleave: !1}, 52 triggerOpen: {click: !1, mouseenter: !1, tap: !1, touchstart: !1}, 53 updateAnimation: "rotate", 54 zIndex: 9999999 55 }, s = "undefined" != typeof window ? window : null, r = { 56 hasTouchCapability: !(!s || !("ontouchstart" in s || s.DocumentTouch && s.document instanceof s.DocumentTouch || s.navigator.maxTouchPoints)), 57 hasTransitions: function () { 58 if (!s) return !1; 59 var t = (s.document.body || s.document.documentElement).style, i = "transition", 60 o = ["Moz", "Webkit", "Khtml", "O", "ms"]; 61 if ("string" == typeof t[i]) return !0; 62 i = i.charAt(0).toUpperCase() + i.substr(1); 63 for (var e = 0; e < o.length; e++) if ("string" == typeof t[o[e] + i]) return !0; 64 return !1 65 }(), 66 IE: !1, 67 semVer: "4.2.6", 68 window: s 69 }, _ = function () { 70 this.__$emitterPrivate = t({}), this.__$emitterPublic = t({}), this.__instancesLatestArr = [], this.__plugins = {}, this._env = r 71 }; 72 _.prototype = { 73 __bridge: function (i, o, e) { 74 if (!o[e]) { 75 var s = function () { 76 }; 77 s.prototype = i; 78 var r = new s; 79 r.__init && r.__init(o), t.each(i, function (t, i) { 80 0 != t.indexOf("__") && (o[t] ? n.debug && console.log("The " + t + " method of the " + e + " plugin conflicts with another plugin or native methods") : (o[t] = function () { 81 return r[t].apply(r, Array.prototype.slice.apply(arguments)) 82 }, o[t].bridged = r)) 83 }), o[e] = r 84 } 85 return this 86 }, __setWindow: function (t) { 87 return r.window = t, this 88 }, _getRuler: function (t) { 89 return new i(t) 90 }, _off: function () { 91 return this.__$emitterPrivate.off.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this 92 }, _on: function () { 93 return this.__$emitterPrivate.on.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this 94 }, _one: function () { 95 return this.__$emitterPrivate.one.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this 96 }, _plugin: function (i) { 97 var o = this; 98 if ("string" == typeof i) { 99 var e = i, n = null; 100 return e.indexOf(".") > 0 ? n = o.__plugins[e] : t.each(o.__plugins, function (t, i) { 101 return i.name.substring(i.name.length - e.length - 1) == "." + e ? (n = i, !1) : void 0 102 }), n 103 } 104 if (i.name.indexOf(".") < 0) throw new Error("Plugins must be namespaced"); 105 return o.__plugins[i.name] = i, i.core && o.__bridge(i.core, o, i.name), this 106 }, _trigger: function () { 107 var t = Array.prototype.slice.apply(arguments); 108 return "string" == typeof t[0] && (t[0] = {type: t[0]}), this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate, t), this.__$emitterPublic.trigger.apply(this.__$emitterPublic, t), this 109 }, instances: function (i) { 110 var o = []; 111 return t(i || ".tooltipstered").each(function () { 112 var i = t(this), e = i.data("tooltipster-ns"); 113 e && t.each(e, function (t, e) { 114 o.push(i.data(e)) 115 }) 116 }), o 117 }, instancesLatest: function () { 118 return this.__instancesLatestArr 119 }, off: function () { 120 return this.__$emitterPublic.off.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 121 }, on: function () { 122 return this.__$emitterPublic.on.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 123 }, one: function () { 124 return this.__$emitterPublic.one.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 125 }, origins: function (i) { 126 return t((i ? i + " " : "") + ".tooltipstered").toArray() 127 }, setDefaults: function (i) { 128 return t.extend(n, i), this 129 }, triggerHandler: function () { 130 return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 131 } 132 }, t.tooltipster = new _, t.Tooltipster = function (i, o) { 133 this.__callbacks = { 134 close: [], 135 open: [] 136 }, this.__closingTime, this.__Content, this.__contentBcr, this.__destroyed = !1, this.__$emitterPrivate = t({}), this.__$emitterPublic = t({}), this.__enabled = !0, this.__garbageCollector, this.__Geometry, this.__lastPosition, this.__namespace = "tooltipster-" + Math.round(1e6 * Math.random()), this.__options, this.__$originParents, this.__pointerIsOverOrigin = !1, this.__previousThemes = [], this.__state = "closed", this.__timeouts = { 137 close: [], 138 open: null 139 }, this.__touchEvents = [], this.__tracker = null, this._$origin, this._$tooltip, this.__init(i, o) 140 }, t.Tooltipster.prototype = { 141 __init: function (i, o) { 142 var e = this; 143 if (e._$origin = t(i), e.__options = t.extend(!0, {}, n, o), e.__optionsFormat(), !r.IE || r.IE >= e.__options.IEmin) { 144 var s = null; 145 if (void 0 === e._$origin.data("tooltipster-initialTitle") && (void 0 === (s = e._$origin.attr("title")) && (s = null), e._$origin.data("tooltipster-initialTitle", s)), null !== e.__options.content) e.__contentSet(e.__options.content); else { 146 var _, a = e._$origin.attr("data-tooltip-content"); 147 a && (_ = t(a)), _ && _[0] ? e.__contentSet(_.first()) : e.__contentSet(s) 148 } 149 e._$origin.removeAttr("title").addClass("tooltipstered"), e.__prepareOrigin(), e.__prepareGC(), t.each(e.__options.plugins, function (t, i) { 150 e._plug(i) 151 }), r.hasTouchCapability && t(r.window.document.body).on("touchmove." + e.__namespace + "-triggerOpen", function (t) { 152 e._touchRecordEvent(t) 153 }), e._on("created", function () { 154 e.__prepareTooltip() 155 })._on("repositioned", function (t) { 156 e.__lastPosition = t.position 157 }) 158 } else e.__options.disabled = !0 159 }, __contentInsert: function () { 160 var t = this, i = t._$tooltip.find(".tooltipster-content"), o = t.__Content; 161 return t._trigger({ 162 type: "format", content: t.__Content, format: function (t) { 163 o = t 164 } 165 }), t.__options.functionFormat && (o = t.__options.functionFormat.call(t, t, {origin: t._$origin[0]}, t.__Content)), "string" != typeof o || t.__options.contentAsHTML ? i.empty().append(o) : i.text(o), t 166 }, __contentSet: function (i) { 167 return i instanceof t && this.__options.contentCloning && (i = i.clone(!0)), this.__Content = i, this._trigger({ 168 type: "updated", 169 content: i 170 }), this 171 }, __destroyError: function () { 172 throw new Error("This tooltip has been destroyed and cannot execute your method call.") 173 }, __geometry: function () { 174 var i = this, o = i._$origin, e = i._$origin.is("area"); 175 if (e) { 176 var n = i._$origin.parent().attr("name"); 177 o = t('img[usemap="#' + n + '"]') 178 } 179 var s = o[0].getBoundingClientRect(), _ = t(r.window.document), a = t(r.window), l = o, p = { 180 available: {document: null, window: null}, 181 document: {size: {height: _.height(), width: _.width()}}, 182 window: { 183 scroll: { 184 left: r.window.scrollX || r.window.document.documentElement.scrollLeft, 185 top: r.window.scrollY || r.window.document.documentElement.scrollTop 186 }, size: {height: a.height(), width: a.width()} 187 }, 188 origin: { 189 fixedLineage: !1, 190 offset: {}, 191 size: {height: s.bottom - s.top, width: s.right - s.left}, 192 usemapImage: e ? o[0] : null, 193 windowOffset: {bottom: s.bottom, left: s.left, right: s.right, top: s.top} 194 } 195 }; 196 if (e) { 197 var c = i._$origin.attr("shape"), h = i._$origin.attr("coords"); 198 if (h && (h = h.split(","), t.map(h, function (t, i) { 199 h[i] = parseInt(t) 200 })), "default" != c) switch (c) { 201 case"circle": 202 var d = h[0], u = h[1], g = h[2], f = u - g, m = d - g; 203 p.origin.size.height = 2 * g, p.origin.size.width = p.origin.size.height, p.origin.windowOffset.left += m, p.origin.windowOffset.top += f; 204 break; 205 case"rect": 206 var w = h[0], v = h[1], y = h[2], b = h[3]; 207 p.origin.size.height = b - v, p.origin.size.width = y - w, p.origin.windowOffset.left += w, p.origin.windowOffset.top += v; 208 break; 209 case"poly": 210 for (var $ = 0, C = 0, O = 0, T = 0, z = "even", E = 0; E < h.length; E++) { 211 var I = h[E]; 212 "even" == z ? (I > O && (O = I, 0 === E && ($ = O)), $ > I && ($ = I), z = "odd") : (I > T && (T = I, 1 == E && (C = T)), C > I && (C = I), z = "even") 213 } 214 p.origin.size.height = T - C, p.origin.size.width = O - $, p.origin.windowOffset.left += $, p.origin.windowOffset.top += C 215 } 216 } 217 for (i._trigger({ 218 type: "geometry", 219 edit: function (t) { 220 p.origin.size.height = t.height, p.origin.windowOffset.left = t.left, p.origin.windowOffset.top = t.top, p.origin.size.width = t.width 221 }, 222 geometry: { 223 height: p.origin.size.height, 224 left: p.origin.windowOffset.left, 225 top: p.origin.windowOffset.top, 226 width: p.origin.size.width 227 } 228 }), p.origin.windowOffset.right = p.origin.windowOffset.left + p.origin.size.width, p.origin.windowOffset.bottom = p.origin.windowOffset.top + p.origin.size.height, p.origin.offset.left = p.origin.windowOffset.left + p.window.scroll.left, p.origin.offset.top = p.origin.windowOffset.top + p.window.scroll.top, p.origin.offset.bottom = p.origin.offset.top + p.origin.size.height, p.origin.offset.right = p.origin.offset.left + p.origin.size.width, p.available.document = { 229 bottom: { 230 height: p.document.size.height - p.origin.offset.bottom, 231 width: p.document.size.width 232 }, 233 left: {height: p.document.size.height, width: p.origin.offset.left}, 234 right: {height: p.document.size.height, width: p.document.size.width - p.origin.offset.right}, 235 top: {height: p.origin.offset.top, width: p.document.size.width} 236 }, p.available.window = { 237 bottom: { 238 height: Math.max(p.window.size.height - Math.max(p.origin.windowOffset.bottom, 0), 0), 239 width: p.window.size.width 240 }, 241 left: {height: p.window.size.height, width: Math.max(p.origin.windowOffset.left, 0)}, 242 right: { 243 height: p.window.size.height, 244 width: Math.max(p.window.size.width - Math.max(p.origin.windowOffset.right, 0), 0) 245 }, 246 top: {height: Math.max(p.origin.windowOffset.top, 0), width: p.window.size.width} 247 }; "html" != l[0].tagName.toLowerCase();) { 248 if ("fixed" == l.css("position")) { 249 p.origin.fixedLineage = !0; 250 break 251 } 252 l = l.parent() 253 } 254 return p 255 }, __optionsFormat: function () { 256 return "number" == typeof this.__options.animationDuration && (this.__options.animationDuration = [this.__options.animationDuration, this.__options.animationDuration]), "number" == typeof this.__options.delay && (this.__options.delay = [this.__options.delay, this.__options.delay]), "number" == typeof this.__options.delayTouch && (this.__options.delayTouch = [this.__options.delayTouch, this.__options.delayTouch]), "string" == typeof this.__options.theme && (this.__options.theme = [this.__options.theme]), null === this.__options.parent ? this.__options.parent = t(r.window.document.body) : "string" == typeof this.__options.parent && (this.__options.parent = t(this.__options.parent)), "hover" == this.__options.trigger ? (this.__options.triggerOpen = { 257 mouseenter: !0, 258 touchstart: !0 259 }, this.__options.triggerClose = { 260 mouseleave: !0, 261 originClick: !0, 262 touchleave: !0 263 }) : "click" == this.__options.trigger && (this.__options.triggerOpen = { 264 click: !0, 265 tap: !0 266 }, this.__options.triggerClose = {click: !0, tap: !0}), this._trigger("options"), this 267 }, __prepareGC: function () { 268 var i = this; 269 return i.__options.selfDestruction ? i.__garbageCollector = setInterval(function () { 270 var o = (new Date).getTime(); 271 i.__touchEvents = t.grep(i.__touchEvents, function (t, i) { 272 return o - t.time > 6e4 273 }), e(i._$origin) || i.close(function () { 274 i.destroy() 275 }) 276 }, 2e4) : clearInterval(i.__garbageCollector), i 277 }, __prepareOrigin: function () { 278 var t = this; 279 if (t._$origin.off("." + t.__namespace + "-triggerOpen"), r.hasTouchCapability && t._$origin.on("touchstart." + t.__namespace + "-triggerOpen touchend." + t.__namespace + "-triggerOpen touchcancel." + t.__namespace + "-triggerOpen", function (i) { 280 t._touchRecordEvent(i) 281 }), t.__options.triggerOpen.click || t.__options.triggerOpen.tap && r.hasTouchCapability) { 282 var i = ""; 283 t.__options.triggerOpen.click && (i += "click." + t.__namespace + "-triggerOpen "), t.__options.triggerOpen.tap && r.hasTouchCapability && (i += "touchend." + t.__namespace + "-triggerOpen"), t._$origin.on(i, function (i) { 284 t._touchIsMeaningfulEvent(i) && t._open(i) 285 }) 286 } 287 if (t.__options.triggerOpen.mouseenter || t.__options.triggerOpen.touchstart && r.hasTouchCapability) { 288 i = ""; 289 t.__options.triggerOpen.mouseenter && (i += "mouseenter." + t.__namespace + "-triggerOpen "), t.__options.triggerOpen.touchstart && r.hasTouchCapability && (i += "touchstart." + t.__namespace + "-triggerOpen"), t._$origin.on(i, function (i) { 290 !t._touchIsTouchEvent(i) && t._touchIsEmulatedEvent(i) || (t.__pointerIsOverOrigin = !0, t._openShortly(i)) 291 }) 292 } 293 if (t.__options.triggerClose.mouseleave || t.__options.triggerClose.touchleave && r.hasTouchCapability) { 294 i = ""; 295 t.__options.triggerClose.mouseleave && (i += "mouseleave." + t.__namespace + "-triggerOpen "), t.__options.triggerClose.touchleave && r.hasTouchCapability && (i += "touchend." + t.__namespace + "-triggerOpen touchcancel." + t.__namespace + "-triggerOpen"), t._$origin.on(i, function (i) { 296 t._touchIsMeaningfulEvent(i) && (t.__pointerIsOverOrigin = !1) 297 }) 298 } 299 return t 300 }, __prepareTooltip: function () { 301 var i = this, o = i.__options.interactive ? "auto" : ""; 302 return i._$tooltip.attr("id", i.__namespace).css({ 303 "pointer-events": o, 304 zIndex: i.__options.zIndex 305 }), t.each(i.__previousThemes, function (t, o) { 306 i._$tooltip.removeClass(o) 307 }), t.each(i.__options.theme, function (t, o) { 308 i._$tooltip.addClass(o) 309 }), i.__previousThemes = t.merge([], i.__options.theme), i 310 }, __scrollHandler: function (i) { 311 var o = this; 312 if (o.__options.triggerClose.scroll) o._close(i); else if (e(o._$origin) && e(o._$tooltip)) { 313 var n = null; 314 if (i.target === r.window.document) o.__Geometry.origin.fixedLineage || o.__options.repositionOnScroll && o.reposition(i); else { 315 n = o.__geometry(); 316 var s = !1; 317 if ("fixed" != o._$origin.css("position") && o.__$originParents.each(function (i, o) { 318 var e = t(o), r = e.css("overflow-x"), _ = e.css("overflow-y"); 319 if ("visible" != r || "visible" != _) { 320 var a = o.getBoundingClientRect(); 321 if ("visible" != r && (n.origin.windowOffset.left < a.left || n.origin.windowOffset.right > a.right)) return s = !0, !1; 322 if ("visible" != _ && (n.origin.windowOffset.top < a.top || n.origin.windowOffset.bottom > a.bottom)) return s = !0, !1 323 } 324 return "fixed" != e.css("position") && void 0 325 }), s) o._$tooltip.css("visibility", "hidden"); else if (o._$tooltip.css("visibility", "visible"), o.__options.repositionOnScroll) o.reposition(i); else { 326 var _ = n.origin.offset.left - o.__Geometry.origin.offset.left, 327 a = n.origin.offset.top - o.__Geometry.origin.offset.top; 328 o._$tooltip.css({left: o.__lastPosition.coord.left + _, top: o.__lastPosition.coord.top + a}) 329 } 330 } 331 o._trigger({type: "scroll", event: i, geo: n}) 332 } 333 return o 334 }, __stateSet: function (t) { 335 return this.__state = t, this._trigger({type: "state", state: t}), this 336 }, __timeoutsClear: function () { 337 return clearTimeout(this.__timeouts.open), this.__timeouts.open = null, t.each(this.__timeouts.close, function (t, i) { 338 clearTimeout(i) 339 }), this.__timeouts.close = [], this 340 }, __trackerStart: function () { 341 var t = this, i = t._$tooltip.find(".tooltipster-content"); 342 return t.__options.trackTooltip && (t.__contentBcr = i[0].getBoundingClientRect()), t.__tracker = setInterval(function () { 343 if (e(t._$origin) && e(t._$tooltip)) { 344 if (t.__options.trackOrigin) { 345 var n = t.__geometry(), s = !1; 346 o(n.origin.size, t.__Geometry.origin.size) && (t.__Geometry.origin.fixedLineage ? o(n.origin.windowOffset, t.__Geometry.origin.windowOffset) && (s = !0) : o(n.origin.offset, t.__Geometry.origin.offset) && (s = !0)), s || (t.__options.triggerClose.mouseleave ? t._close() : t.reposition()) 347 } 348 if (t.__options.trackTooltip) { 349 var r = i[0].getBoundingClientRect(); 350 r.height === t.__contentBcr.height && r.width === t.__contentBcr.width || (t.reposition(), t.__contentBcr = r) 351 } 352 } else t._close() 353 }, t.__options.trackerInterval), t 354 }, _close: function (i, o, e) { 355 var n = this, s = !0; 356 if (n._trigger({ 357 type: "close", event: i, stop: function () { 358 s = !1 359 } 360 }), s || e) { 361 o && n.__callbacks.close.push(o), n.__callbacks.open = [], n.__timeoutsClear(); 362 var _ = function () { 363 t.each(n.__callbacks.close, function (t, o) { 364 o.call(n, n, {event: i, origin: n._$origin[0]}) 365 }), n.__callbacks.close = [] 366 }; 367 if ("closed" != n.__state) { 368 var a = !0, l = (new Date).getTime() + n.__options.animationDuration[1]; 369 if ("disappearing" == n.__state && l > n.__closingTime && n.__options.animationDuration[1] > 0 && (a = !1), a) { 370 n.__closingTime = l, "disappearing" != n.__state && n.__stateSet("disappearing"); 371 var p = function () { 372 clearInterval(n.__tracker), n._trigger({ 373 type: "closing", 374 event: i 375 }), n._$tooltip.off("." + n.__namespace + "-triggerClose").removeClass("tooltipster-dying"), t(r.window).off("." + n.__namespace + "-triggerClose"), n.__$originParents.each(function (i, o) { 376 t(o).off("scroll." + n.__namespace + "-triggerClose") 377 }), n.__$originParents = null, t(r.window.document.body).off("." + n.__namespace + "-triggerClose"), n._$origin.off("." + n.__namespace + "-triggerClose"), n._off("dismissable"), n.__stateSet("closed"), n._trigger({ 378 type: "after", 379 event: i 380 }), n.__options.functionAfter && n.__options.functionAfter.call(n, n, { 381 event: i, 382 origin: n._$origin[0] 383 }), _() 384 }; 385 r.hasTransitions ? (n._$tooltip.css({ 386 "-moz-animation-duration": n.__options.animationDuration[1] + "ms", 387 "-ms-animation-duration": n.__options.animationDuration[1] + "ms", 388 "-o-animation-duration": n.__options.animationDuration[1] + "ms", 389 "-webkit-animation-duration": n.__options.animationDuration[1] + "ms", 390 "animation-duration": n.__options.animationDuration[1] + "ms", 391 "transition-duration": n.__options.animationDuration[1] + "ms" 392 }), n._$tooltip.clearQueue().removeClass("tooltipster-show").addClass("tooltipster-dying"), n.__options.animationDuration[1] > 0 && n._$tooltip.delay(n.__options.animationDuration[1]), n._$tooltip.queue(p)) : n._$tooltip.stop().fadeOut(n.__options.animationDuration[1], p) 393 } 394 } else _() 395 } 396 return n 397 }, _off: function () { 398 return this.__$emitterPrivate.off.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this 399 }, _on: function () { 400 return this.__$emitterPrivate.on.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this 401 }, _one: function () { 402 return this.__$emitterPrivate.one.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this 403 }, _open: function (i, o) { 404 var n = this; 405 if (!n.__destroying && e(n._$origin) && n.__enabled) { 406 var s = !0; 407 if ("closed" == n.__state && (n._trigger({ 408 type: "before", event: i, stop: function () { 409 s = !1 410 } 411 }), s && n.__options.functionBefore && (s = n.__options.functionBefore.call(n, n, { 412 event: i, 413 origin: n._$origin[0] 414 }))), !1 !== s && null !== n.__Content) { 415 o && n.__callbacks.open.push(o), n.__callbacks.close = [], n.__timeoutsClear(); 416 var _, a = function () { 417 "stable" != n.__state && n.__stateSet("stable"), t.each(n.__callbacks.open, function (t, i) { 418 i.call(n, n, {origin: n._$origin[0], tooltip: n._$tooltip[0]}) 419 }), n.__callbacks.open = [] 420 }; 421 if ("closed" !== n.__state) _ = 0, "disappearing" === n.__state ? (n.__stateSet("appearing"), r.hasTransitions ? (n._$tooltip.clearQueue().removeClass("tooltipster-dying").addClass("tooltipster-show"), n.__options.animationDuration[0] > 0 && n._$tooltip.delay(n.__options.animationDuration[0]), n._$tooltip.queue(a)) : n._$tooltip.stop().fadeIn(a)) : "stable" == n.__state && a(); else { 422 if (n.__stateSet("appearing"), _ = n.__options.animationDuration[0], n.__contentInsert(), n.reposition(i, !0), r.hasTransitions ? (n._$tooltip.addClass("tooltipster-" + n.__options.animation).addClass("tooltipster-initial").css({ 423 "-moz-animation-duration": n.__options.animationDuration[0] + "ms", 424 "-ms-animation-duration": n.__options.animationDuration[0] + "ms", 425 "-o-animation-duration": n.__options.animationDuration[0] + "ms", 426 "-webkit-animation-duration": n.__options.animationDuration[0] + "ms", 427 "animation-duration": n.__options.animationDuration[0] + "ms", 428 "transition-duration": n.__options.animationDuration[0] + "ms" 429 }), setTimeout(function () { 430 "closed" != n.__state && (n._$tooltip.addClass("tooltipster-show").removeClass("tooltipster-initial"), n.__options.animationDuration[0] > 0 && n._$tooltip.delay(n.__options.animationDuration[0]), n._$tooltip.queue(a)) 431 }, 0)) : n._$tooltip.css("display", "none").fadeIn(n.__options.animationDuration[0], a), n.__trackerStart(), t(r.window).on("resize." + n.__namespace + "-triggerClose", function (i) { 432 var o = t(document.activeElement); 433 (o.is("input") || o.is("textarea")) && t.contains(n._$tooltip[0], o[0]) || n.reposition(i) 434 }).on("scroll." + n.__namespace + "-triggerClose", function (t) { 435 n.__scrollHandler(t) 436 }), n.__$originParents = n._$origin.parents(), n.__$originParents.each(function (i, o) { 437 t(o).on("scroll." + n.__namespace + "-triggerClose", function (t) { 438 n.__scrollHandler(t) 439 }) 440 }), n.__options.triggerClose.mouseleave || n.__options.triggerClose.touchleave && r.hasTouchCapability) { 441 n._on("dismissable", function (t) { 442 t.dismissable ? t.delay ? (h = setTimeout(function () { 443 n._close(t.event) 444 }, t.delay), n.__timeouts.close.push(h)) : n._close(t) : clearTimeout(h) 445 }); 446 var l = n._$origin, p = "", c = "", h = null; 447 n.__options.interactive && (l = l.add(n._$tooltip)), n.__options.triggerClose.mouseleave && (p += "mouseenter." + n.__namespace + "-triggerClose ", c += "mouseleave." + n.__namespace + "-triggerClose "), n.__options.triggerClose.touchleave && r.hasTouchCapability && (p += "touchstart." + n.__namespace + "-triggerClose", c += "touchend." + n.__namespace + "-triggerClose touchcancel." + n.__namespace + "-triggerClose"), l.on(c, function (t) { 448 if (n._touchIsTouchEvent(t) || !n._touchIsEmulatedEvent(t)) { 449 var i = "mouseleave" == t.type ? n.__options.delay : n.__options.delayTouch; 450 n._trigger({delay: i[1], dismissable: !0, event: t, type: "dismissable"}) 451 } 452 }).on(p, function (t) { 453 !n._touchIsTouchEvent(t) && n._touchIsEmulatedEvent(t) || n._trigger({ 454 dismissable: !1, 455 event: t, 456 type: "dismissable" 457 }) 458 }) 459 } 460 n.__options.triggerClose.originClick && n._$origin.on("click." + n.__namespace + "-triggerClose", function (t) { 461 n._touchIsTouchEvent(t) || n._touchIsEmulatedEvent(t) || n._close(t) 462 }), (n.__options.triggerClose.click || n.__options.triggerClose.tap && r.hasTouchCapability) && setTimeout(function () { 463 if ("closed" != n.__state) { 464 var i = "", o = t(r.window.document.body); 465 n.__options.triggerClose.click && (i += "click." + n.__namespace + "-triggerClose "), n.__options.triggerClose.tap && r.hasTouchCapability && (i += "touchend." + n.__namespace + "-triggerClose"), o.on(i, function (i) { 466 n._touchIsMeaningfulEvent(i) && (n._touchRecordEvent(i), n.__options.interactive && t.contains(n._$tooltip[0], i.target) || n._close(i)) 467 }), n.__options.triggerClose.tap && r.hasTouchCapability && o.on("touchstart." + n.__namespace + "-triggerClose", function (t) { 468 n._touchRecordEvent(t) 469 }) 470 } 471 }, 0), n._trigger("ready"), n.__options.functionReady && n.__options.functionReady.call(n, n, { 472 origin: n._$origin[0], 473 tooltip: n._$tooltip[0] 474 }) 475 } 476 if (n.__options.timer > 0) { 477 h = setTimeout(function () { 478 n._close() 479 }, n.__options.timer + _); 480 n.__timeouts.close.push(h) 481 } 482 } 483 } 484 return n 485 }, _openShortly: function (t) { 486 var i = this, o = !0; 487 if ("stable" != i.__state && "appearing" != i.__state && !i.__timeouts.open && (i._trigger({ 488 type: "start", 489 event: t, 490 stop: function () { 491 o = !1 492 } 493 }), o)) { 494 var e = 0 == t.type.indexOf("touch") ? i.__options.delayTouch : i.__options.delay; 495 e[0] ? i.__timeouts.open = setTimeout(function () { 496 i.__timeouts.open = null, i.__pointerIsOverOrigin && i._touchIsMeaningfulEvent(t) ? (i._trigger("startend"), i._open(t)) : i._trigger("startcancel") 497 }, e[0]) : (i._trigger("startend"), i._open(t)) 498 } 499 return i 500 }, _optionsExtract: function (i, o) { 501 var e = this, n = t.extend(!0, {}, o), s = e.__options[i]; 502 return s || (s = {}, t.each(o, function (t, i) { 503 var o = e.__options[t]; 504 void 0 !== o && (s[t] = o) 505 })), t.each(n, function (i, o) { 506 void 0 !== s[i] && ("object" != typeof o || o instanceof Array || null == o || "object" != typeof s[i] || s[i] instanceof Array || null == s[i] ? n[i] = s[i] : t.extend(n[i], s[i])) 507 }), n 508 }, _plug: function (i) { 509 var o = t.tooltipster._plugin(i); 510 if (!o) throw new Error('The "' + i + '" plugin is not defined'); 511 return o.instance && t.tooltipster.__bridge(o.instance, this, o.name), this 512 }, _touchIsEmulatedEvent: function (t) { 513 for (var i = !1, o = (new Date).getTime(), e = this.__touchEvents.length - 1; e >= 0; e--) { 514 var n = this.__touchEvents[e]; 515 if (!(o - n.time < 500)) break; 516 n.target === t.target && (i = !0) 517 } 518 return i 519 }, _touchIsMeaningfulEvent: function (t) { 520 return this._touchIsTouchEvent(t) && !this._touchSwiped(t.target) || !this._touchIsTouchEvent(t) && !this._touchIsEmulatedEvent(t) 521 }, _touchIsTouchEvent: function (t) { 522 return 0 == t.type.indexOf("touch") 523 }, _touchRecordEvent: function (t) { 524 return this._touchIsTouchEvent(t) && (t.time = (new Date).getTime(), this.__touchEvents.push(t)), this 525 }, _touchSwiped: function (t) { 526 for (var i = !1, o = this.__touchEvents.length - 1; o >= 0; o--) { 527 var e = this.__touchEvents[o]; 528 if ("touchmove" == e.type) { 529 i = !0; 530 break 531 } 532 if ("touchstart" == e.type && t === e.target) break 533 } 534 return i 535 }, _trigger: function () { 536 var i = Array.prototype.slice.apply(arguments); 537 return "string" == typeof i[0] && (i[0] = {type: i[0]}), i[0].instance = this, i[0].origin = this._$origin ? this._$origin[0] : null, i[0].tooltip = this._$tooltip ? this._$tooltip[0] : null, this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate, i), t.tooltipster._trigger.apply(t.tooltipster, i), this.__$emitterPublic.trigger.apply(this.__$emitterPublic, i), this 538 }, _unplug: function (i) { 539 var o = this; 540 if (o[i]) { 541 var e = t.tooltipster._plugin(i); 542 e.instance && t.each(e.instance, function (t, e) { 543 o[t] && o[t].bridged === o[i] && delete o[t] 544 }), o[i].__destroy && o[i].__destroy(), delete o[i] 545 } 546 return o 547 }, close: function (t) { 548 return this.__destroyed ? this.__destroyError() : this._close(null, t), this 549 }, content: function (t) { 550 var i = this; 551 if (void 0 === t) return i.__Content; 552 if (i.__destroyed) i.__destroyError(); else if (i.__contentSet(t), null !== i.__Content) { 553 if ("closed" !== i.__state && (i.__contentInsert(), i.reposition(), i.__options.updateAnimation)) if (r.hasTransitions) { 554 var o = i.__options.updateAnimation; 555 i._$tooltip.addClass("tooltipster-update-" + o), setTimeout(function () { 556 "closed" != i.__state && i._$tooltip.removeClass("tooltipster-update-" + o) 557 }, 1e3) 558 } else i._$tooltip.fadeTo(200, .5, function () { 559 "closed" != i.__state && i._$tooltip.fadeTo(200, 1) 560 }) 561 } else i._close(); 562 return i 563 }, destroy: function () { 564 var i = this; 565 if (i.__destroyed) i.__destroyError(); else { 566 "closed" != i.__state ? i.option("animationDuration", 0)._close(null, null, !0) : i.__timeoutsClear(), i._trigger("destroy"), i.__destroyed = !0, i._$origin.removeData(i.__namespace).off("." + i.__namespace + "-triggerOpen"), t(r.window.document.body).off("." + i.__namespace + "-triggerOpen"); 567 var o = i._$origin.data("tooltipster-ns"); 568 if (o) if (1 === o.length) { 569 var e = null; 570 "previous" == i.__options.restoration ? e = i._$origin.data("tooltipster-initialTitle") : "current" == i.__options.restoration && (e = "string" == typeof i.__Content ? i.__Content : t("<div></div>").append(i.__Content).html()), e && i._$origin.attr("title", e), i._$origin.removeClass("tooltipstered"), i._$origin.removeData("tooltipster-ns").removeData("tooltipster-initialTitle") 571 } else o = t.grep(o, function (t, o) { 572 return t !== i.__namespace 573 }), i._$origin.data("tooltipster-ns", o); 574 i._trigger("destroyed"), i._off(), i.off(), i.__Content = null, i.__$emitterPrivate = null, i.__$emitterPublic = null, i.__options.parent = null, i._$origin = null, i._$tooltip = null, t.tooltipster.__instancesLatestArr = t.grep(t.tooltipster.__instancesLatestArr, function (t, o) { 575 return i !== t 576 }), clearInterval(i.__garbageCollector) 577 } 578 return i 579 }, disable: function () { 580 return this.__destroyed ? (this.__destroyError(), this) : (this._close(), this.__enabled = !1, this) 581 }, elementOrigin: function () { 582 return this.__destroyed ? void this.__destroyError() : this._$origin[0] 583 }, elementTooltip: function () { 584 return this._$tooltip ? this._$tooltip[0] : null 585 }, enable: function () { 586 return this.__enabled = !0, this 587 }, hide: function (t) { 588 return this.close(t) 589 }, instance: function () { 590 return this 591 }, off: function () { 592 return this.__destroyed || this.__$emitterPublic.off.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 593 }, on: function () { 594 return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.on.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 595 }, one: function () { 596 return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.one.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 597 }, open: function (t) { 598 return this.__destroyed ? this.__destroyError() : this._open(null, t), this 599 }, option: function (i, o) { 600 return void 0 === o ? this.__options[i] : (this.__destroyed ? this.__destroyError() : (this.__options[i] = o, this.__optionsFormat(), t.inArray(i, ["trigger", "triggerClose", "triggerOpen"]) >= 0 && this.__prepareOrigin(), "selfDestruction" === i && this.__prepareGC()), this) 601 }, reposition: function (t, i) { 602 var o = this; 603 return o.__destroyed ? o.__destroyError() : "closed" != o.__state && e(o._$origin) && (i || e(o._$tooltip)) && (i || o._$tooltip.detach(), o.__Geometry = o.__geometry(), o._trigger({ 604 type: "reposition", 605 event: t, 606 helper: {geo: o.__Geometry} 607 })), o 608 }, show: function (t) { 609 return this.open(t) 610 }, status: function () { 611 return { 612 destroyed: this.__destroyed, 613 enabled: this.__enabled, 614 open: "closed" !== this.__state, 615 state: this.__state 616 } 617 }, triggerHandler: function () { 618 return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this 619 } 620 }, t.fn.tooltipster = function () { 621 var i = Array.prototype.slice.apply(arguments), 622 o = "You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE."; 623 if (0 === this.length) return this; 624 if ("string" == typeof i[0]) { 625 var e = "#*$~&"; 626 return this.each(function () { 627 var n = t(this).data("tooltipster-ns"), s = n ? t(this).data(n[0]) : null; 628 if (!s) throw new Error("You called Tooltipster's \"" + i[0] + '" method on an uninitialized element'); 629 if ("function" != typeof s[i[0]]) throw new Error('Unknown method "' + i[0] + '"'); 630 this.length > 1 && "content" == i[0] && (i[1] instanceof t || "object" == typeof i[1] && null != i[1] && i[1].tagName) && !s.__options.contentCloning && s.__options.debug && console.log(o); 631 var r = s[i[0]](i[1], i[2]); 632 return r !== s || "instance" === i[0] ? (e = r, !1) : void 0 633 }), "#*$~&" !== e ? e : this 634 } 635 t.tooltipster.__instancesLatestArr = []; 636 var s = i[0] && void 0 !== i[0].multiple, r = s && i[0].multiple || !s && n.multiple, 637 _ = i[0] && void 0 !== i[0].content, a = _ && i[0].content || !_ && n.content, 638 l = i[0] && void 0 !== i[0].contentCloning, p = l && i[0].contentCloning || !l && n.contentCloning, 639 c = i[0] && void 0 !== i[0].debug, h = c && i[0].debug || !c && n.debug; 640 return this.length > 1 && (a instanceof t || "object" == typeof a && null != a && a.tagName) && !p && h && console.log(o), this.each(function () { 641 var o = !1, e = t(this), n = e.data("tooltipster-ns"), s = null; 642 n ? r ? o = !0 : h && (console.log("Tooltipster: one or more tooltips are already attached to the element below. Ignoring."), console.log(this)) : o = !0, o && (s = new t.Tooltipster(this, i[0]), n || (n = []), n.push(s.__namespace), e.data("tooltipster-ns", n), e.data(s.__namespace, s), s.__options.functionInit && s.__options.functionInit.call(s, s, {origin: this}), s._trigger("init")), t.tooltipster.__instancesLatestArr.push(s) 643 }), this 644 }, i.prototype = { 645 __init: function (i) { 646 this.__$tooltip = i, this.__$tooltip.css({ 647 left: 0, 648 overflow: "hidden", 649 position: "absolute", 650 top: 0 651 }).find(".tooltipster-content").css("overflow", "auto"), this.$container = t('<div class="tooltipster-ruler"></div>').append(this.__$tooltip).appendTo(r.window.document.body) 652 }, __forceRedraw: function () { 653 var t = this.__$tooltip.parent(); 654 this.__$tooltip.detach(), this.__$tooltip.appendTo(t) 655 }, constrain: function (t, i) { 656 return this.constraints = {width: t, height: i}, this.__$tooltip.css({ 657 display: "block", 658 height: "", 659 overflow: "auto", 660 width: t 661 }), this 662 }, destroy: function () { 663 this.__$tooltip.detach().find(".tooltipster-content").css({ 664 display: "", 665 overflow: "" 666 }), this.$container.remove() 667 }, free: function () { 668 return this.constraints = null, this.__$tooltip.css({ 669 display: "", 670 height: "", 671 overflow: "visible", 672 width: "" 673 }), this 674 }, measure: function () { 675 this.__forceRedraw(); 676 var t = this.__$tooltip[0].getBoundingClientRect(), 677 i = {size: {height: t.height || t.bottom - t.top, width: t.width || t.right - t.left}}; 678 if (this.constraints) { 679 var o = this.__$tooltip.find(".tooltipster-content"), e = this.__$tooltip.outerHeight(), 680 n = o[0].getBoundingClientRect(), s = { 681 height: e <= this.constraints.height, 682 width: t.width <= this.constraints.width && n.width >= o[0].scrollWidth - 1 683 }; 684 i.fits = s.height && s.width 685 } 686 return r.IE && r.IE <= 11 && i.size.width !== r.window.document.documentElement.clientWidth && (i.size.width = Math.ceil(i.size.width) + 1), i 687 } 688 }; 689 var a = navigator.userAgent.toLowerCase(); 690 -1 != a.indexOf("msie") ? r.IE = parseInt(a.split("msie")[1]) : -1 !== a.toLowerCase().indexOf("trident") && -1 !== a.indexOf(" rv:11") ? r.IE = 11 : -1 != a.toLowerCase().indexOf("edge/") && (r.IE = parseInt(a.toLowerCase().split("edge/")[1])); 691 var l = "tooltipster.sideTip"; 692 return t.tooltipster._plugin({ 693 name: l, instance: { 694 __defaults: function () { 695 return { 696 arrow: !0, 697 distance: 6, 698 functionPosition: null, 699 maxWidth: null, 700 minIntersection: 16, 701 minWidth: 0, 702 position: null, 703 side: "top", 704 viewportAware: !0 705 } 706 }, __init: function (t) { 707 var i = this; 708 i.__instance = t, i.__namespace = "tooltipster-sideTip-" + Math.round(1e6 * Math.random()), i.__previousState = "closed", i.__options, i.__optionsFormat(), i.__instance._on("state." + i.__namespace, function (t) { 709 "closed" == t.state ? i.__close() : "appearing" == t.state && "closed" == i.__previousState && i.__create(), i.__previousState = t.state 710 }), i.__instance._on("options." + i.__namespace, function () { 711 i.__optionsFormat() 712 }), i.__instance._on("reposition." + i.__namespace, function (t) { 713 i.__reposition(t.event, t.helper) 714 }) 715 }, __close: function () { 716 this.__instance.content() instanceof t && this.__instance.content().detach(), this.__instance._$tooltip.remove(), this.__instance._$tooltip = null 717 }, __create: function () { 718 var i = t('<div class="premium-tooltipster-base tooltipster-base tooltipster-sidetip"><div class="tooltipster-box"><div class="tooltipster-content"></div></div><div class="tooltipster-arrow"><div class="tooltipster-arrow-uncropped"><div class="tooltipster-arrow-border"></div><div class="tooltipster-arrow-background"></div></div></div></div>'); 719 this.__options.arrow || i.find(".tooltipster-box").css("margin", 0).end().find(".tooltipster-arrow").hide(), this.__options.minWidth && i.css("min-width", this.__options.minWidth + "px"), this.__options.maxWidth && i.css("max-width", this.__options.maxWidth + "px"), this.__instance._$tooltip = i, this.__instance._trigger("created") 720 }, __destroy: function () { 721 this.__instance._off("." + self.__namespace) 722 }, __optionsFormat: function () { 723 var i = this; 724 if (i.__options = i.__instance._optionsExtract(l, i.__defaults()), i.__options.position && (i.__options.side = i.__options.position), "object" != typeof i.__options.distance && (i.__options.distance = [i.__options.distance]), i.__options.distance.length < 4 && (void 0 === i.__options.distance[1] && (i.__options.distance[1] = i.__options.distance[0]), void 0 === i.__options.distance[2] && (i.__options.distance[2] = i.__options.distance[0]), void 0 === i.__options.distance[3] && (i.__options.distance[3] = i.__options.distance[1]), i.__options.distance = { 725 top: i.__options.distance[0], 726 right: i.__options.distance[1], 727 bottom: i.__options.distance[2], 728 left: i.__options.distance[3] 729 }), "string" == typeof i.__options.side) { 730 i.__options.side = [i.__options.side, { 731 top: "bottom", 732 right: "left", 733 bottom: "top", 734 left: "right" 735 }
735[i.__options.side]], "left" == i.__options.side[0] || "right" == i.__options.side[0] ? i.__options.side.push("top", "bottom") : i.__options.side.push("right", "left") 736 } 737 6 === t.tooltipster._env.IE && !0 !== i.__options.arrow && (i.__options.arrow = !1) 738 }, __reposition: function (i, o) { 739 var e, n = this, s = n.__targetFind(o), r = []; 740 n.__instance._$tooltip.detach(); 741 var _ = n.__instance._$tooltip.clone(), a = t.tooltipster._getRuler(_), l = !1, 742 p = n.__instance.option("animation"); 743 switch (p && _.removeClass("tooltipster-" + p), t.each(["window", "document"], function (e, p) { 744 var c = null; 745 if (n.__instance._trigger({ 746 container: p, helper: o, satisfied: l, takeTest: function (t) { 747 c = t 748 }, results: r, type: "positionTest" 749 }), 1 == c || 0 != c && 0 == l && ("window" != p || n.__options.viewportAware)) for (e = 0; e < n.__options.side.length; e++) { 750 var h = {horizontal: 0, vertical: 0}, d = n.__options.side[e]; 751 "top" == d || "bottom" == d ? h.vertical = n.__options.distance[d] : h.horizontal = n.__options.distance[d], n.__sideChange(_, d), t.each(["natural", "constrained"], function (t, e) { 752 if (c = null, n.__instance._trigger({ 753 container: p, 754 event: i, 755 helper: o, 756 mode: e, 757 results: r, 758 satisfied: l, 759 side: d, 760 takeTest: function (t) { 761 c = t 762 }, 763 type: "positionTest" 764 }), 1 == c || 0 != c && 0 == l) { 765 var _ = { 766 container: p, 767 distance: h, 768 fits: null, 769 mode: e, 770 outerSize: null, 771 side: d, 772 size: null, 773 target: s[d], 774 whole: null 775 }, 776 u = ("natural" == e ? a.free() : a.constrain(o.geo.available[p][d].width - h.horizontal, o.geo.available[p][d].height - h.vertical)).measure(); 777 if (_.size = u.size, _.outerSize = { 778 height: u.size.height + h.vertical, 779 width: u.size.width + h.horizontal 780 }, "natural" == e ? o.geo.available[p][d].width >= _.outerSize.width && o.geo.available[p][d].height >= _.outerSize.height ? _.fits = !0 : _.fits = !1 : _.fits = u.fits, "window" == p && (_.fits ? _.whole = "top" == d || "bottom" == d ? o.geo.origin.windowOffset.right >= n.__options.minIntersection && o.geo.window.size.width - o.geo.origin.windowOffset.left >= n.__options.minIntersection : o.geo.origin.windowOffset.bottom >= n.__options.minIntersection && o.geo.window.size.height - o.geo.origin.windowOffset.top >= n.__options.minIntersection : _.whole = !1), r.push(_), _.whole) l = !0; else if ("natural" == _.mode && (_.fits || _.size.width <= o.geo.available[p][d].width)) return !1 781 } 782 }) 783 } 784 }), n.__instance._trigger({ 785 edit: function (t) { 786 r = t 787 }, event: i, helper: o, results: r, type: "positionTested" 788 }), r.sort(function (t, i) { 789 if (t.whole && !i.whole) return -1; 790 if (!t.whole && i.whole) return 1; 791 if (t.whole && i.whole) { 792 var o = n.__options.side.indexOf(t.side); 793 return (e = n.__options.side.indexOf(i.side)) > o ? -1 : o > e ? 1 : "natural" == t.mode ? -1 : 1 794 } 795 if (t.fits && !i.fits) return -1; 796 if (!t.fits && i.fits) return 1; 797 if (t.fits && i.fits) { 798 var e; 799 o = n.__options.side.indexOf(t.side); 800 return (e = n.__options.side.indexOf(i.side)) > o ? -1 : o > e ? 1 : "natural" == t.mode ? -1 : 1 801 } 802 return "document" == t.container && "bottom" == t.side && "natural" == t.mode ? -1 : 1 803 }), (e = r[0]).coord = {}, e.side) { 804 case"left": 805 case"right": 806 e.coord.top = Math.floor(e.target - e.size.height / 2); 807 break; 808 case"bottom": 809 case"top": 810 e.coord.left = Math.floor(e.target - e.size.width / 2) 811 } 812 switch (e.side) { 813 case"left": 814 e.coord.left = o.geo.origin.windowOffset.left - e.outerSize.width; 815 break; 816 case"right": 817 e.coord.left = o.geo.origin.windowOffset.right + e.distance.horizontal; 818 break; 819 case"top": 820 e.coord.top = o.geo.origin.windowOffset.top - e.outerSize.height; 821 break; 822 case"bottom": 823 e.coord.top = o.geo.origin.windowOffset.bottom + e.distance.vertical 824 }
vendor: 5,020 bytes, lines 825-873
825 "window" == e.container ? "top" == e.side || "bottom" == e.side ? e.coord.left < 0 ? o.geo.origin.windowOffset.right - this.__options.minIntersection >= 0 ? e.coord.left = 0 : e.coord.left = o.geo.origin.windowOffset.right - this.__options.minIntersection - 1 : e.coord.left > o.geo.window.size.width - e.size.width && (o.geo.origin.windowOffset.left + this.__options.minIntersection <= o.geo.window.size.width ? e.coord.left = o.geo.window.size.width - e.size.width : e.coord.left = o.geo.origin.windowOffset.left + this.__options.minIntersection + 1 - e.size.width) : e.coord.top < 0 ? o.geo.origin.windowOffset.bottom - this.__options.minIntersection >= 0 ? e.coord.top = 0 : e.coord.top = o.geo.origin.windowOffset.bottom - this.__options.minIntersection - 1 : e.coord.top > o.geo.window.size.height - e.size.height && (o.geo.origin.windowOffset.top + this.__options.minIntersection <= o.geo.window.size.height ? e.coord.top = o.geo.window.size.height - e.size.height : e.coord.top = o.geo.origin.windowOffset.top + this.__options.minIntersection + 1 - e.size.height) : (e.coord.left > o.geo.window.size.width - e.size.width && (e.coord.left = o.geo.window.size.width - e.size.width), e.coord.left < 0 && (e.coord.left = 0)), n.__sideChange(_, e.side), o.tooltipClone = _[0], o.tooltipParent = n.__instance.option("parent").parent[0], o.mode = e.mode, o.whole = e.whole, o.origin = n.__instance._$origin[0], o.tooltip = n.__instance._$tooltip[0], delete e.container, delete e.fits, delete e.mode, delete e.outerSize, delete e.whole, e.distance = e.distance.horizontal || e.distance.vertical; 826 var c, h, d, u = t.extend(!0, {}, e); 827 if (n.__instance._trigger({ 828 edit: function (t) { 829 e = t 830 }, event: i, helper: o, position: u, type: "position" 831 }), n.__options.functionPosition) { 832 var g = n.__options.functionPosition.call(n, n.__instance, o, u); 833 g && (e = g) 834 } 835 a.destroy(), "top" == e.side || "bottom" == e.side ? (c = { 836 prop: "left", 837 val: e.target - e.coord.left 838 }, h = e.size.width - this.__options.minIntersection) : (c = { 839 prop: "top", 840 val: e.target - e.coord.top 841 }, h = e.size.height - this.__options.minIntersection), c.val < this.__options.minIntersection ? c.val = this.__options.minIntersection : c.val > h && (c.val = h), d = o.geo.origin.fixedLineage ? o.geo.origin.windowOffset : { 842 left: o.geo.origin.windowOffset.left + o.geo.window.scroll.left, 843 top: o.geo.origin.windowOffset.top + o.geo.window.scroll.top 844 }, e.coord = { 845 left: d.left + (e.coord.left - o.geo.origin.windowOffset.left), 846 top: d.top + (e.coord.top - o.geo.origin.windowOffset.top) 847 }, n.__sideChange(n.__instance._$tooltip, e.side), o.geo.origin.fixedLineage ? n.__instance._$tooltip.css("position", "fixed") : n.__instance._$tooltip.css("position", ""), n.__instance._$tooltip.css({ 848 left: e.coord.left, 849 top: e.coord.top, 850 height: e.size.height, 851 width: e.size.width 852 }).find(".tooltipster-arrow").css({ 853 left: "", 854 top: "" 855 }).css(c.prop, c.val), n.__instance._$tooltip.appendTo(n.__instance.option("parent")), n.__instance._trigger({ 856 type: "repositioned", 857 event: i, 858 position: e 859 }) 860 }, __sideChange: function (t, i) { 861 t.removeClass("tooltipster-bottom").removeClass("tooltipster-left").removeClass("tooltipster-right").removeClass("tooltipster-top").addClass("tooltipster-" + i) 862 }, __targetFind: function (t) { 863 var i = {}, o = this.__instance._$origin[0].getClientRects(); 864 o.length > 1 && (1 == this.__instance._$origin.css("opacity") && (this.__instance._$origin.css("opacity", .99), o = this.__instance._$origin[0].getClientRects(), this.__instance._$origin.css("opacity", 1))); 865 if (o.length < 2) i.top = Math.floor(t.geo.origin.windowOffset.left + t.geo.origin.size.width / 2), i.bottom = i.top, i.left = Math.floor(t.geo.origin.windowOffset.top + t.geo.origin.size.height / 2), i.right = i.left; else { 866 var e = o[0]; 867 i.top = Math.floor(e.left + (e.right - e.left) / 2), e = o.length > 2 ? o[Math.ceil(o.length / 2) - 1] : o[0], i.right = Math.floor(e.top + (e.bottom - e.top) / 2), e = o[o.length - 1], i.bottom = Math.floor(e.left + (e.right - e.left) / 2), e = o.length > 2 ? o[Math.ceil((o.length + 1) / 2) - 1] : o[o.length - 1], i.left = Math.floor(e.top + (e.bottom - e.top) / 2) 868 } 869 return i 870 } 871 } 872 }), t 873});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.