vendor: 93,981 bytes, lines 1-2337
1// 4.8.3 (2018-09-13) 2! function () { 3 "use strict"; 4 var e, t, n, r, o, i, a, u, s, c, l, f, d, m, g, p, h, v = function () { 5 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t] 6 }, 7 q = function (n, r) { 8 return function () { 9 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 10 return n(r.apply(null, arguments)) 11 } 12 }, 13 H = function (e) { 14 return function () { 15 return e 16 } 17 }, 18 j = function (e) { 19 return e 20 }, 21 b = function (i) { 22 for (var e = [], t = 1; t < arguments.length; t++) e[t - 1] = arguments[t]; 23 for (var a = new Array(arguments.length - 1), n = 1; n < arguments.length; n++) a[n - 1] = arguments[n]; 24 return function () { 25 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 26 for (var n = new Array(arguments.length), r = 0; r < n.length; r++) n[r] = arguments[r]; 27 var o = a.concat(n); 28 return i.apply(null, o) 29 } 30 }, 31 y = H(!1), 32 C = H(!0), 33 x = y, 34 w = C, 35 N = function () { 36 return E 37 }, 38 E = (r = { 39 fold: function (e, t) { 40 return e() 41 }, 42 is: x, 43 isSome: x, 44 isNone: w, 45 getOr: n = function (e) { 46 return e 47 }, 48 getOrThunk: t = function (e) { 49 return e() 50 }, 51 getOrDie: function (e) { 52 throw new Error(e || "error: getOrDie called on none.") 53 }, 54 getOrNull: function () { 55 return null 56 }, 57 getOrUndefined: function () { 58 return undefined 59 }, 60 or: n, 61 orThunk: t, 62 map: N, 63 ap: N, 64 each: function () {}, 65 bind: N, 66 flatten: N, 67 exists: x, 68 forall: w, 69 filter: N, 70 equals: e = function (e) { 71 return e.isNone() 72 }, 73 equals_: e, 74 toArray: function () { 75 return [] 76 }, 77 toString: H("none()") 78 }, Object.freeze && Object.freeze(r), r), 79 S = function (n) { 80 var e = function () { 81 return n 82 }, 83 t = function () { 84 return o 85 }, 86 r = function (e) { 87 return e(n) 88 }, 89 o = { 90 fold: function (e, t) { 91 return t(n) 92 }, 93 is: function (e) { 94 return n === e 95 }, 96 isSome: w, 97 isNone: x, 98 getOr: e, 99 getOrThunk: e, 100 getOrDie: e, 101 getOrNull: e, 102 getOrUndefined: e, 103 or: t, 104 orThunk: t, 105 map: function (e) { 106 return S(e(n)) 107 }, 108 ap: function (e) { 109 return e.fold(N, function (e) { 110 return S(e(n)) 111 }) 112 }, 113 each: function (e) { 114 e(n) 115 }, 116 bind: r, 117 flatten: e, 118 exists: r, 119 forall: r, 120 filter: function (e) { 121 return e(n) ? o : E 122 }, 123 equals: function (e) { 124 return e.is(n) 125 }, 126 equals_: function (e, t) { 127 return e.fold(x, function (e) { 128 return t(n, e) 129 }) 130 }, 131 toArray: function () { 132 return [n] 133 }, 134 toString: function () { 135 return "some(" + n + ")" 136 } 137 }; 138 return o 139 }, 140 A = { 141 some: S, 142 none: N, 143 from: function (e) { 144 return null === e || e === undefined ? E : S(e) 145 } 146 }, 147 T = function (t) { 148 return function (e) { 149 return function (e) { 150 if (null === e) return "null"; 151 var t = typeof e; 152 return "object" === t && Array.prototype.isPrototypeOf(e) ? "array" : "object" === t && String.prototype.isPrototypeOf(e) ? "string" : t 153 }(e) === t 154 } 155 }, 156 k = T("string"), 157 _ = T("object"), 158 R = T("array"), 159 D = T("null"), 160 B = T("boolean"), 161 O = T("function"), 162 P = T("number"), 163 L = (o = Array.prototype.indexOf) === undefined ? function (e, t) { 164 return X(e, t) 165 } : function (e, t) { 166 return o.call(e, t) 167 }, 168 I = function (e, t) { 169 return -1 < L(e, t) 170 }, 171 M = function (e, t) { 172 return K(e, t).isSome() 173 }, 174 $ = function (e, t) { 175 for (var n = e.length, r = new Array(n), o = 0; o < n; o++) { 176 var i = e[o]; 177 r[o] = t(i, o, e) 178 } 179 return r 180 }, 181 F = function (e, t) { 182 for (var n = 0, r = e.length; n < r; n++) t(e[n], n, e) 183 }, 184 W = function (e, t) { 185 for (var n = [], r = [], o = 0, i = e.length; o < i; o++) { 186 var a = e[o]; 187 (t(a, o, e) ? n : r).push(a) 188 } 189 return { 190 pass: n, 191 fail: r 192 } 193 }, 194 U = function (e, t) { 195 for (var n = [], r = 0, o = e.length; r < o; r++) { 196 var i = e[r]; 197 t(i, r, e) && n.push(i) 198 } 199 return n 200 }, 201 z = function (e, t, n) { 202 return F(e, function (e) { 203 n = t(n, e) 204 }), n 205 }, 206 V = function (e, t) { 207 for (var n = 0, r = e.length; n < r; n++) { 208 var o = e[n]; 209 if (t(o, n, e)) return A.some(o) 210 } 211 return A.none() 212 }, 213 K = function (e, t) { 214 for (var n = 0, r = e.length; n < r; n++) 215 if (t(e[n], n, e)) return A.some(n); 216 return A.none() 217 }, 218 X = function (e, t) { 219 for (var n = 0, r = e.length; n < r; ++n) 220 if (e[n] === t) return n; 221 return -1 222 }, 223 Y = Array.prototype.push, 224 G = function (e, t) { 225 return function (e) { 226 for (var t = [], n = 0, r = e.length; n < r; ++n) { 227 if (!Array.prototype.isPrototypeOf(e[n])) throw new Error("Arr.flatten item " + n + " was not an array, input: " + e); 228 Y.apply(t, e[n]) 229 } 230 return t 231 }($(e, t)) 232 }, 233 J = function (e, t) { 234 for (var n = 0, r = e.length; n < r; ++n) 235 if (!0 !== t(e[n], n, e)) return !1; 236 return !0 237 }, 238 Q = Array.prototype.slice, 239 Z = function (e, t) { 240 return U(e, function (e) { 241 return !I(t, e) 242 }) 243 }, 244 ee = function (e) { 245 return 0 === e.length ? A.none() : A.some(e[0]) 246 }, 247 te = function (e) { 248 return 0 === e.length ? A.none() : A.some(e[e.length - 1]) 249 }, 250 ne = O(Array.from) ? Array.from : function (e) { 251 return Q.call(e) 252 }, 253 re = "undefined" != typeof window ? window : Function("return this;")(), 254 oe = function (e, t) { 255 return function (e, t) { 256 for (var n = t !== undefined && null !== t ? t : re, r = 0; r < e.length && n !== undefined && null !== n; ++r) n = n[e[r]]; 257 return n 258 }(e.split("."), t) 259 }, 260 ie = { 261 getOrDie: function (e, t) { 262 var n = oe(e, t); 263 if (n === undefined || null === n) throw e + " not available on this browser"; 264 return n 265 } 266 }, 267 ae = function () { 268 return ie.getOrDie("URL") 269 }, 270 ue = { 271 createObjectURL: function (e) { 272 return ae().createObjectURL(e) 273 }, 274 revokeObjectURL: function (e) { 275 ae().revokeObjectURL(e) 276 } 277 }, 278 se = navigator, 279 ce = se.userAgent, 280 le = function (e) { 281 return "matchMedia" in window && matchMedia(e).matches 282 }; 283 d = /Android/.test(ce), a = (a = !(i = /WebKit/.test(ce)) && /MSIE/gi.test(ce) && /Explorer/gi.test(se.appName)) && /MSIE (\w+)\./.exec(ce)[1], u = -1 !== ce.indexOf("Trident/") && (-1 !== ce.indexOf("rv:") || -1 !== se.appName.indexOf("Netscape")) && 11, s = -1 !== ce.indexOf("Edge/") && !a && !u && 12, a = a || u || s, c = !i && !u && /Gecko/.test(ce), l = -1 !== ce.indexOf("Mac"), f = /(iPad|iPhone)/.test(ce), m = "FormData" in window && "FileReader" in window && "URL" in window && !!ue.createObjectURL, g = le("only screen and (max-device-width: 480px)") && (d || f), p = le("only screen and (min-width: 800px)") && (d || f), h = -1 !== ce.indexOf("Windows Phone"), s && (i = !1); 284 var fe, de, me, ge, pe, he, ve, be, ye, Ce, xe, we, Ne, Ee, Se, Te, ke, Ae, _e, Re = { 285 opera: !1, 286 webkit: i, 287 ie: a, 288 gecko: c, 289 mac: l, 290 iOS: f, 291 android: d, 292 contentEditable: !f || m || 534 <= parseInt(ce.match(/AppleWebKit\/(\d*)/)[1], 10), 293 transparentSrc: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", 294 caretAfter: 8 !== a, 295 range: window.getSelection && "Range" in window, 296 documentMode: a && !s ? document.documentMode || 7 : 10, 297 fileApi: m, 298 ceFalse: !1 === a || 8 < a, 299 cacheSuffix: null, 300 container: null, 301 overrideViewPort: null, 302 experimentalShadowDom: !1, 303 canHaveCSP: !1 === a || 11 < a, 304 desktop: !g && !p, 305 windowsPhone: h 306 }, 307 De = window.Promise ? window.Promise : function () { 308 function r(e, t) { 309 return function () { 310 e.apply(t, arguments) 311 } 312 } 313 var e = Array.isArray || function (e) { 314 return "[object Array]" === Object.prototype.toString.call(e) 315 }, 316 i = function (e) { 317 if ("object" != typeof this) throw new TypeError("Promises must be constructed via new"); 318 if ("function" != typeof e) throw new TypeError("not a function"); 319 this._state = null, this._value = null, this._deferreds = [], l(e, r(o, this), r(u, this)) 320 }, 321 t = i.immediateFn || "function" == typeof setImmediate && setImmediate || function (e) { 322 setTimeout(e, 1) 323 }; 324 325 function a(r) { 326 var o = this; 327 null !== this._state ? t(function () { 328 var e = o._state ? r.onFulfilled : r.onRejected; 329 if (null !== e) { 330 var t; 331 try { 332 t = e(o._value) 333 } catch (n) { 334 return void r.reject(n) 335 } 336 r.resolve(t) 337 } else(o._state ? r.resolve : r.reject)(o._value) 338 }) : this._deferreds.push(r) 339 } 340 341 function o(e) { 342 try { 343 if (e === this) throw new TypeError("A promise cannot be resolved with itself."); 344 if (e && ("object" == typeof e || "function" == typeof e)) { 345 var t = e.then; 346 if ("function" == typeof t) return void l(r(t, e), r(o, this), r(u, this)) 347 } 348 this._state = !0, this._value = e, s.call(this) 349 } catch (n) { 350 u.call(this, n) 351 } 352 } 353 354 function u(e) { 355 this._state = !1, this._value = e, s.call(this) 356 } 357 358 function s() { 359 for (var e = 0, t = this._deferreds.length; e < t; e++) a.call(this, this._deferreds[e]); 360 this._deferreds = null 361 } 362 363 function c(e, t, n, r) { 364 this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null, this.resolve = n, this.reject = r 365 } 366 367 function l(e, t, n) { 368 var r = !1; 369 try { 370 e(function (e) { 371 r || (r = !0, t(e)) 372 }, function (e) { 373 r || (r = !0, n(e)) 374 }) 375 } catch (o) { 376 if (r) return; 377 r = !0, n(o) 378 } 379 } 380 return i.prototype["catch"] = function (e) { 381 return this.then(null, e) 382 }, i.prototype.then = function (n, r) { 383 var o = this; 384 return new i(function (e, t) { 385 a.call(o, new c(n, r, e, t)) 386 }) 387 }, i.all = function () { 388 var s = Array.prototype.slice.call(1 === arguments.length && e(arguments[0]) ? arguments[0] : arguments); 389 return new i(function (o, i) { 390 if (0 === s.length) return o([]); 391 var a = s.length; 392 393 function u(t, e) { 394 try { 395 if (e && ("object" == typeof e || "function" == typeof e)) { 396 var n = e.then; 397 if ("function" == typeof n) return void n.call(e, function (e) { 398 u(t, e) 399 }, i) 400 } 401 s[t] = e, 0 == --a && o(s) 402 } catch (r) { 403 i(r) 404 } 405 } 406 for (var e = 0; e < s.length; e++) u(e, s[e]) 407 }) 408 }, i.resolve = function (t) { 409 return t && "object" == typeof t && t.constructor === i ? t : new i(function (e) { 410 e(t) 411 }) 412 }, i.reject = function (n) { 413 return new i(function (e, t) { 414 t(n) 415 }) 416 }, i.race = function (o) { 417 return new i(function (e, t) { 418 for (var n = 0, r = o.length; n < r; n++) o[n].then(e, t) 419 }) 420 }, i 421 }(), 422 Be = function (e, t) { 423 return "number" != typeof t && (t = 0), setTimeout(e, t) 424 }, 425 Oe = function (e, t) { 426 return "number" != typeof t && (t = 1), setInterval(e, t) 427 }, 428 Pe = function (t, n) { 429 var r, e; 430 return (e = function () { 431 var e = arguments; 432 clearTimeout(r), r = Be(function () { 433 t.apply(this, e) 434 }, n) 435 }).stop = function () { 436 clearTimeout(r) 437 }, e 438 }, 439 Le = { 440 requestAnimationFrame: function (e, t) { 441 fe ? fe.then(e) : fe = new De(function (e) { 442 t || (t = document.body), 443 function (e, t) { 444 var n, r = window.requestAnimationFrame, 445 o = ["ms", "moz", "webkit"]; 446 for (n = 0; n < o.length && !r; n++) r = window[o[n] + "RequestAnimationFrame"]; 447 r || (r = function (e) { 448 window.setTimeout(e, 0) 449 }), r(e, t) 450 }(e, t) 451 }).then(e) 452 }, 453 setTimeout: Be, 454 setInterval: Oe, 455 setEditorTimeout: function (e, t, n) { 456 return Be(function () { 457 e.removed || t() 458 }, n) 459 }, 460 setEditorInterval: function (e, t, n) { 461 var r; 462 return r = Oe(function () { 463 e.removed ? clearInterval(r) : t() 464 }, n) 465 }, 466 debounce: Pe, 467 throttle: Pe, 468 clearInterval: function (e) { 469 return clearInterval(e) 470 }, 471 clearTimeout: function (e) { 472 return clearTimeout(e) 473 } 474 }, 475 Ie = /^(?:mouse|contextmenu)|click/, 476 Me = { 477 keyLocation: 1, 478 layerX: 1, 479 layerY: 1, 480 returnValue: 1, 481 webkitMovementX: 1, 482 webkitMovementY: 1, 483 keyIdentifier: 1 484 }, 485 Fe = function () { 486 return !1 487 }, 488 Ue = function () { 489 return !0 490 }, 491 ze = function (e, t, n, r) { 492 e.addEventListener ? e.addEventListener(t, n, r || !1) : e.attachEvent && e.attachEvent("on" + t, n) 493 }, 494 Ve = function (e, t, n, r) { 495 e.removeEventListener ? e.removeEventListener(t, n, r || !1) : e.detachEvent && e.detachEvent("on" + t, n) 496 }, 497 qe = function (e, t) { 498 var n, r, o = t || {}; 499 for (n in e) Me[n] || (o[n] = e[n]); 500 if (o.target || (o.target = o.srcElement || document), Re.experimentalShadowDom && (o.target = function (e, t) { 501 if (e.composedPath) { 502 var n = e.composedPath(); 503 if (n && 0 < n.length) return n[0] 504 } 505 return t 506 }(e, o.target)), e && Ie.test(e.type) && e.pageX === undefined && e.clientX !== undefined) { 507 var i = o.target.ownerDocument || document, 508 a = i.documentElement, 509 u = i.body; 510 o.pageX = e.clientX + (a && a.scrollLeft || u && u.scrollLeft || 0) - (a && a.clientLeft || u && u.clientLeft || 0), o.pageY = e.clientY + (a && a.scrollTop || u && u.scrollTop || 0) - (a && a.clientTop || u && u.clientTop || 0) 511 } 512 return o.preventDefault = function () { 513 o.isDefaultPrevented = Ue, e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1) 514 }, o.stopPropagation = function () { 515 o.isPropagationStopped = Ue, e && (e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0) 516 }, !(o.stopImmediatePropagation = function () { 517 o.isImmediatePropagationStopped = Ue, o.stopPropagation() 518 }) == ((r = o).isDefaultPrevented === Ue || r.isDefaultPrevented === Fe) && (o.isDefaultPrevented = Fe, o.isPropagationStopped = Fe, o.isImmediatePropagationStopped = Fe), "undefined" == typeof o.metaKey && (o.metaKey = !1), o 519 }, 520 He = function (e, t, n) { 521 var r = e.document, 522 o = { 523 type: "ready" 524 }; 525 if (n.domLoaded) t(o); 526 else { 527 var i = function () { 528 return "complete" === r.readyState || "interactive" === r.readyState && r.body 529 }, 530 a = function () { 531 n.domLoaded || (n.domLoaded = !0, t(o)) 532 }, 533 u = function () { 534 i() && (Ve(r, "readystatechange", u), a()) 535 }, 536 s = function () { 537 try { 538 r.documentElement.doScroll("left") 539 } catch (e) { 540 return void Le.setTimeout(s) 541 } 542 a() 543 }; 544 !r.addEventListener || Re.ie && Re.ie < 11 ? (ze(r, "readystatechange", u), r.documentElement.doScroll && e.self === e.top && s()) : i() ? a() : ze(e, "DOMContentLoaded", a), ze(e, "load", a) 545 } 546 }, 547 je = function () { 548 var m, g, p, h, v, b = this, 549 y = {}; 550 g = "mce-data-" + (+new Date).toString(32), h = "onmouseenter" in document.documentElement, p = "onfocusin" in document.documentElement, v = { 551 mouseenter: "mouseover", 552 mouseleave: "mouseout" 553 }, m = 1, b.domLoaded = !1, b.events = y; 554 var C = function (e, t) { 555 var n, r, o, i, a = y[t]; 556 if (n = a && a[e.type]) 557 for (r = 0, o = n.length; r < o; r++) 558 if ((i = n[r]) && !1 === i.func.call(i.scope, e) && e.preventDefault(), e.isImmediatePropagationStopped()) return 559 }; 560 b.bind = function (e, t, n, r) { 561 var o, i, a, u, s, c, l, f = window, 562 d = function (e) { 563 C(qe(e || f.event), o) 564 }; 565 if (e && 3 !== e.nodeType && 8 !== e.nodeType) { 566 for (e[g] ? o = e[g] : (o = m++, e[g] = o, y[o] = {}), r = r || e, a = (t = t.split(" ")).length; a--;) c = d, s = l = !1, "DOMContentLoaded" === (u = t[a]) && (u = "ready"), b.domLoaded && "ready" === u && "complete" === e.readyState ? n.call(r, qe({ 567 type: u 568 })) : (h || (s = v[u]) && (c = function (e) { 569 var t, n; 570 if (t = e.currentTarget, (n = e.relatedTarget) && t.contains) n = t.contains(n); 571 else 572 for (; n && n !== t;) n = n.parentNode; 573 n || ((e = qe(e || f.event)).type = "mouseout" === e.type ? "mouseleave" : "mouseenter", e.target = t, C(e, o)) 574 }), p || "focusin" !== u && "focusout" !== u || (l = !0, s = "focusin" === u ? "focus" : "blur", c = function (e) { 575 (e = qe(e || f.event)).type = "focus" === e.type ? "focusin" : "focusout", C(e, o) 576 }), (i = y[o][u]) ? "ready" === u && b.domLoaded ? n({ 577 type: u 578 }) : i.push({ 579 func: n, 580 scope: r 581 }) : (y[o][u] = i = [{ 582 func: n, 583 scope: r 584 }], i.fakeName = s, i.capture = l, i.nativeHandler = c, "ready" === u ? He(e, c, b) : ze(e, s || u, c, l))); 585 return e = i = 0, n 586 } 587 }, b.unbind = function (e, t, n) { 588 var r, o, i, a, u, s; 589 if (!e || 3 === e.nodeType || 8 === e.nodeType) return b; 590 if (r = e[g]) { 591 if (s = y[r], t) { 592 for (i = (t = t.split(" ")).length; i--;) 593 if (o = s[u = t[i]]) { 594 if (n) 595 for (a = o.length; a--;) 596 if (o[a].func === n) { 597 var c = o.nativeHandler, 598 l = o.fakeName, 599 f = o.capture; 600 (o = o.slice(0, a).concat(o.slice(a + 1))).nativeHandler = c, o.fakeName = l, o.capture = f, s[u] = o 601 } 602 n && 0 !== o.length || (delete s[u], Ve(e, o.fakeName || u, o.nativeHandler, o.capture)) 603 } 604 } else { 605 for (u in s) o = s[u], Ve(e, o.fakeName || u, o.nativeHandler, o.capture); 606 s = {} 607 } 608 for (u in s) return b; 609 delete y[r]; 610 try { 611 delete e[g] 612 } catch (d) { 613 e[g] = null 614 } 615 } 616 return b 617 }, b.fire = function (e, t, n) { 618 var r; 619 if (!e || 3 === e.nodeType || 8 === e.nodeType) return b; 620 for ((n = qe(null, n)).type = t, n.target = e; 621 (r = e[g]) && C(n, r), (e = e.parentNode || e.ownerDocument || e.defaultView || e.parentWindow) && !n.isPropagationStopped();); 622 return b 623 }, b.clean = function (e) { 624 var t, n, r = b.unbind; 625 if (!e || 3 === e.nodeType || 8 === e.nodeType) return b; 626 if (e[g] && r(e), e.getElementsByTagName || (e = e.document), e && e.getElementsByTagName) 627 for (r(e), t = (n = e.getElementsByTagName("*")).length; t--;)(e = n[t])[g] && r(e); 628 return b 629 }, b.destroy = function () { 630 y = {} 631 }, b.cancel = function (e) { 632 return e && (e.preventDefault(), e.stopImmediatePropagation()), !1 633 } 634 }; 635 je.Event = new je, je.Event.bind(window, "ready", function () {}); 636 var $e = "sizzle" + -new Date, 637 We = window.document, 638 Ke = 0, 639 Xe = 0, 640 Ye = kt(), 641 Ge = kt(), 642 Je = kt(), 643 Qe = function (e, t) { 644 return e === t && (we = !0), 0 645 }, 646 Ze = typeof undefined, 647 et = {}.hasOwnProperty, 648 tt = [], 649 nt = tt.pop, 650 rt = tt.push, 651 ot = tt.push, 652 it = tt.slice, 653 at = tt.indexOf || function (e) { 654 for (var t = 0, n = this.length; t < n; t++) 655 if (this[t] === e) return t; 656 return -1 657 }, 658 ut = "[\\x20\\t\\r\\n\\f]", 659 st = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", 660 ct = "\\[" + ut + "*(" + st + ")(?:" + ut + "*([*^$|!~]?=)" + ut + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + st + "))|)" + ut + "*\\]", 661 lt = ":(" + st + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ct + ")*)|.*)\\)|)", 662 ft = new RegExp("^" + ut + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ut + "+$", "g"), 663 dt = new RegExp("^" + ut + "*," + ut + "*"), 664 mt = new RegExp("^" + ut + "*([>+~]|" + ut + ")" + ut + "*"), 665 gt = new RegExp("=" + ut + "*([^\\]'\"]*?)" + ut + "*\\]", "g"), 666 pt = new RegExp(lt), 667 ht = new RegExp("^" + st + "$"), 668 vt = { 669 ID: new RegExp("^#(" + st + ")"), 670 CLASS: new RegExp("^\\.(" + st + ")"), 671 TAG: new RegExp("^(" + st + "|[*])"), 672 ATTR: new RegExp("^" + ct), 673 PSEUDO: new RegExp("^" + lt), 674 CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ut + "*(even|odd|(([+-]|)(\\d*)n|)" + ut + "*(?:([+-]|)" + ut + "*(\\d+)|))" + ut + "*\\)|)", "i"), 675 bool: new RegExp("^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$", "i"), 676 needsContext: new RegExp("^" + ut + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ut + "*((?:-\\d)?\\d*)" + ut + "*\\)|)(?=[^-]|$)", "i") 677 }, 678 bt = /^(?:input|select|textarea|button)$/i, 679 yt = /^h\d$/i, 680 Ct = /^[^{]+\{\s*\[native \w/, 681 xt = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 682 wt = /[+~]/, 683 Nt = /'|\\/g, 684 Et = new RegExp("\\\\([\\da-f]{1,6}" + ut + "?|(" + ut + ")|.)", "ig"), 685 St = function (e, t, n) { 686 var r = "0x" + t - 65536; 687 return r != r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320) 688 }; 689 try { 690 ot.apply(tt = it.call(We.childNodes), We.childNodes), tt[We.childNodes.length].nodeType 691 } catch (nN) { 692 ot = { 693 apply: tt.length ? function (e, t) { 694 rt.apply(e, it.call(t)) 695 } : function (e, t) { 696 for (var n = e.length, r = 0; e[n++] = t[r++];); 697 e.length = n - 1 698 } 699 } 700 } 701 var Tt = function (e, t, n, r) { 702 var o, i, a, u, s, c, l, f, d, m; 703 if ((t ? t.ownerDocument || t : We) !== Ee && Ne(t), n = n || [], !e || "string" != typeof e) return n; 704 if (1 !== (u = (t = t || Ee).nodeType) && 9 !== u) return []; 705 if (Te && !r) { 706 if (o = xt.exec(e)) 707 if (a = o[1]) { 708 if (9 === u) { 709 if (!(i = t.getElementById(a)) || !i.parentNode) return n; 710 if (i.id === a) return n.push(i), n 711 } else if (t.ownerDocument && (i = t.ownerDocument.getElementById(a)) && _e(t, i) && i.id === a) return n.push(i), n 712 } else { 713 if (o[2]) return ot.apply(n, t.getElementsByTagName(e)), n; 714 if ((a = o[3]) && me.getElementsByClassName) return ot.apply(n, t.getElementsByClassName(a)), n 715 } 716 if (me.qsa && (!ke || !ke.test(e))) { 717 if (f = l = $e, d = t, m = 9 === u && e, 1 === u && "object" !== t.nodeName.toLowerCase()) { 718 for (c = ve(e), (l = t.getAttribute("id")) ? f = l.replace(Nt, "\\$&") : t.setAttribute("id", f), f = "[id='" + f + "'] ", s = c.length; s--;) c[s] = f + Lt(c[s]); 719 d = wt.test(e) && Ot(t.parentNode) || t, m = c.join(",") 720 } 721 if (m) try { 722 return ot.apply(n, d.querySelectorAll(m)), n 723 } catch (g) {} finally { 724 l || t.removeAttribute("id") 725 } 726 } 727 } 728 return ye(e.replace(ft, "$1"), t, n, r) 729 }; 730 731 function kt() { 732 var r = []; 733 return function e(t, n) { 734 return r.push(t + " ") > ge.cacheLength && delete e[r.shift()], e[t + " "] = n 735 } 736 } 737 738 function At(e) { 739 return e[$e] = !0, e 740 } 741 742 function _t(e, t) { 743 var n = t && e, 744 r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || 1 << 31) - (~e.sourceIndex || 1 << 31); 745 if (r) return r; 746 if (n) 747 for (; n = n.nextSibling;) 748 if (n === t) return -1; 749 return e ? 1 : -1 750 } 751 752 function Rt(t) { 753 return function (e) { 754 return "input" === e.nodeName.toLowerCase() && e.type === t 755 } 756 } 757 758 function Dt(n) { 759 return function (e) { 760 var t = e.nodeName.toLowerCase(); 761 return ("input" === t || "button" === t) && e.type === n 762 } 763 } 764 765 function Bt(a) { 766 return At(function (i) { 767 return i = +i, At(function (e, t) { 768 for (var n, r = a([], e.length, i), o = r.length; o--;) e[n = r[o]] && (e[n] = !(t[n] = e[n])) 769 }) 770 }) 771 } 772 773 function Ot(e) { 774 return e && typeof e.getElementsByTagName !== Ze && e 775 } 776 for (de in me = Tt.support = {}, he = Tt.isXML = function (e) { 777 var t = e && (e.ownerDocument || e).documentElement; 778 return !!t && "HTML" !== t.nodeName 779 }, Ne = Tt.setDocument = function (e) { 780 var t, s = e ? e.ownerDocument || e : We, 781 n = s.defaultView; 782 return s !== Ee && 9 === s.nodeType && s.documentElement ? (Se = (Ee = s).documentElement, Te = !he(s), n && n !== function (e) { 783 try { 784 return e.top 785 } catch (t) {} 786 return null 787 }(n) && (n.addEventListener ? n.addEventListener("unload", function () { 788 Ne() 789 }, !1) : n.attachEvent && n.attachEvent("onunload", function () { 790 Ne() 791 })), me.attributes = !0, me.getElementsByTagName = !0, me.getElementsByClassName = Ct.test(s.getElementsByClassName), me.getById = !0, ge.find.ID = function (e, t) { 792 if (typeof t.getElementById !== Ze && Te) { 793 var n = t.getElementById(e); 794 return n && n.parentNode ? [n] : [] 795 } 796 }, ge.filter.ID = function (e) { 797 var t = e.replace(Et, St); 798 return function (e) { 799 return e.getAttribute("id") === t 800 } 801 }, ge.find.TAG = me.getElementsByTagName ? function (e, t) { 802 if (typeof t.getElementsByTagName !== Ze) return t.getElementsByTagName(e) 803 } : function (e, t) { 804 var n, r = [], 805 o = 0, 806 i = t.getElementsByTagName(e); 807 if ("*" === e) { 808 for (; n = i[o++];) 1 === n.nodeType && r.push(n); 809 return r 810 } 811 return i 812 }, ge.find.CLASS = me.getElementsByClassName && function (e, t) { 813 if (Te) return t.getElementsByClassName(e) 814 }, Ae = [], ke = [], me.disconnectedMatch = !0, ke = ke.length && new RegExp(ke.join("|")), Ae = Ae.length && new RegExp(Ae.join("|")), t = Ct.test(Se.compareDocumentPosition), _e = t || Ct.test(Se.contains) ? function (e, t) { 815 var n = 9 === e.nodeType ? e.documentElement : e, 816 r = t && t.parentNode; 817 return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) 818 } : function (e, t) { 819 if (t) 820 for (; t = t.parentNode;) 821 if (t === e) return !0; 822 return !1 823 }, Qe = t ? function (e, t) { 824 if (e === t) return we = !0, 0; 825 var n = !e.compareDocumentPosition - !t.compareDocumentPosition; 826 return n || (1 & (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !me.sortDetached && t.compareDocumentPosition(e) === n ? e === s || e.ownerDocument === We && _e(We, e) ? -1 : t === s || t.ownerDocument === We && _e(We, t) ? 1 : xe ? at.call(xe, e) - at.call(xe, t) : 0 : 4 & n ? -1 : 1) 827 } : function (e, t) { 828 if (e === t) return we = !0, 0; 829 var n, r = 0, 830 o = e.parentNode, 831 i = t.parentNode, 832 a = [e], 833 u = [t]; 834 if (!o || !i) return e === s ? -1 : t === s ? 1 : o ? -1 : i ? 1 : xe ? at.call(xe, e) - at.call(xe, t) : 0; 835 if (o === i) return _t(e, t); 836 for (n = e; n = n.parentNode;) a.unshift(n); 837 for (n = t; n = n.parentNode;) u.unshift(n); 838 for (; a[r] === u[r];) r++; 839 return r ? _t(a[r], u[r]) : a[r] === We ? -1 : u[r] === We ? 1 : 0 840 }, s) : Ee 841 }, Tt.matches = function (e, t) { 842 return Tt(e, null, null, t) 843 }, Tt.matchesSelector = function (e, t) { 844 if ((e.ownerDocument || e) !== Ee && Ne(e), t = t.replace(gt, "='$1']"), me.matchesSelector && Te && (!Ae || !Ae.test(t)) && (!ke || !ke.test(t))) try { 845 var n = (void 0).call(e, t); 846 if (n || me.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n 847 } catch (nN) {} 848 return 0 < Tt(t, Ee, null, [e]).length 849 }, Tt.contains = function (e, t) { 850 return (e.ownerDocument || e) !== Ee && Ne(e), _e(e, t) 851 }, Tt.attr = function (e, t) { 852 (e.ownerDocument || e) !== Ee && Ne(e); 853 var n = ge.attrHandle[t.toLowerCase()], 854 r = n && et.call(ge.attrHandle, t.toLowerCase()) ? n(e, t, !Te) : undefined; 855 return r !== undefined ? r : me.attributes || !Te ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null 856 }, Tt.error = function (e) { 857 throw new Error("Syntax error, unrecognized expression: " + e) 858 }, Tt.uniqueSort = function (e) { 859 var t, n = [], 860 r = 0, 861 o = 0; 862 if (we = !me.detectDuplicates, xe = !me.sortStable && e.slice(0), e.sort(Qe), we) { 863 for (; t = e[o++];) t === e[o] && (r = n.push(o)); 864 for (; r--;) e.splice(n[r], 1) 865 } 866 return xe = null, e 867 }, pe = Tt.getText = function (e) { 868 var t, n = "", 869 r = 0, 870 o = e.nodeType; 871 if (o) { 872 if (1 === o || 9 === o || 11 === o) { 873 if ("string" == typeof e.textContent) return e.textContent; 874 for (e = e.firstChild; e; e = e.nextSibling) n += pe(e) 875 } else if (3 === o || 4 === o) return e.nodeValue 876 } else 877 for (; t = e[r++];) n += pe(t); 878 return n 879 }, (ge = Tt.selectors = { 880 cacheLength: 50, 881 createPseudo: At, 882 match: vt, 883 attrHandle: {}, 884 find: {}, 885 relative: { 886 ">": { 887 dir: "parentNode", 888 first: !0 889 }, 890 " ": { 891 dir: "parentNode" 892 }, 893 "+": { 894 dir: "previousSibling", 895 first: !0 896 }, 897 "~": { 898 dir: "previousSibling" 899 } 900 }, 901 preFilter: { 902 ATTR: function (e) { 903 return e[1] = e[1].replace(Et, St), e[3] = (e[3] || e[4] || e[5] || "").replace(Et, St), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) 904 }, 905 CHILD: function (e) { 906 return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || Tt.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && Tt.error(e[0]), e 907 }, 908 PSEUDO: function (e) { 909 var t, n = !e[6] && e[2]; 910 return vt.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && pt.test(n) && (t = ve(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) 911 } 912 }, 913 filter: { 914 TAG: function (e) { 915 var t = e.replace(Et, St).toLowerCase(); 916 return "*" === e ? function () { 917 return !0 918 } : function (e) { 919 return e.nodeName && e.nodeName.toLowerCase() === t 920 } 921 }, 922 CLASS: function (e) { 923 var t = Ye[e + " "]; 924 return t || (t = new RegExp("(^|" + ut + ")" + e + "(" + ut + "|$)")) && Ye(e, function (e) { 925 return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== Ze && e.getAttribute("class") || "") 926 }) 927 }, 928 ATTR: function (n, r, o) { 929 return function (e) { 930 var t = Tt.attr(e, n); 931 return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === o : "!=" === r ? t !== o : "^=" === r ? o && 0 === t.indexOf(o) : "*=" === r ? o && -1 < t.indexOf(o) : "$=" === r ? o && t.slice(-o.length) === o : "~=" === r ? -1 < (" " + t + " ").indexOf(o) : "|=" === r && (t === o || t.slice(0, o.length + 1) === o + "-")) 932 } 933 }, 934 CHILD: function (m, e, t, g, p) { 935 var h = "nth" !== m.slice(0, 3), 936 v = "last" !== m.slice(-4), 937 b = "of-type" === e; 938 return 1 === g && 0 === p ? function (e) { 939 return !!e.parentNode 940 } : function (e, t, n) { 941 var r, o, i, a, u, s, c = h !== v ? "nextSibling" : "previousSibling", 942 l = e.parentNode, 943 f = b && e.nodeName.toLowerCase(), 944 d = !n && !b; 945 if (l) { 946 if (h) { 947 for (; c;) { 948 for (i = e; i = i[c];) 949 if (b ? i.nodeName.toLowerCase() === f : 1 === i.nodeType) return !1; 950 s = c = "only" === m && !s && "nextSibling" 951 } 952 return !0 953 } 954 if (s = [v ? l.firstChild : l.lastChild], v && d) { 955 for (u = (r = (o = l[$e] || (l[$e] = {}))[m] || [])[0] === Ke && r[1], a = r[0] === Ke && r[2], i = u && l.childNodes[u]; i = ++u && i && i[c] || (a = u = 0) || s.pop();) 956 if (1 === i.nodeType && ++a && i === e) { 957 o[m] = [Ke, u, a]; 958 break 959 } 960 } else if (d && (r = (e[$e] || (e[$e] = {}))[m]) && r[0] === Ke) a = r[1]; 961 else 962 for (; 963 (i = ++u && i && i[c] || (a = u = 0) || s.pop()) && ((b ? i.nodeName.toLowerCase() !== f : 1 !== i.nodeType) || !++a || (d && ((i[$e] || (i[$e] = {}))[m] = [Ke, a]), i !== e));); 964 return (a -= p) === g || a % g == 0 && 0 <= a / g 965 } 966 } 967 }, 968 PSEUDO: function (e, i) { 969 var t, a = ge.pseudos[e] || ge.setFilters[e.toLowerCase()] || Tt.error("unsupported pseudo: " + e); 970 return a[$e] ? a(i) : 1 < a.length ? (t = [e, e, "", i], ge.setFilters.hasOwnProperty(e.toLowerCase()) ? At(function (e, t) { 971 for (var n, r = a(e, i), o = r.length; o--;) e[n = at.call(e, r[o])] = !(t[n] = r[o]) 972 }) : function (e) { 973 return a(e, 0, t) 974 }) : a 975 } 976 }, 977 pseudos: { 978 not: At(function (e) { 979 var r = [], 980 o = [], 981 u = be(e.replace(ft, "$1")); 982 return u[$e] ? At(function (e, t, n, r) { 983 for (var o, i = u(e, null, r, []), a = e.length; a--;)(o = i[a]) && (e[a] = !(t[a] = o)) 984 }) : function (e, t, n) { 985 return r[0] = e, u(r, null, n, o), !o.pop() 986 } 987 }), 988 has: At(function (t) { 989 return function (e) { 990 return 0 < Tt(t, e).length 991 } 992 }), 993 contains: At(function (t) { 994 return t = t.replace(Et, St), 995 function (e) { 996 return -1 < (e.textContent || e.innerText || pe(e)).indexOf(t) 997 } 998 }), 999 lang: At(function (n) { 1000 return ht.test(n || "") || Tt.error("unsupported lang: " + n), n = n.replace(Et, St).toLowerCase(), 1001 function (e) { 1002 var t; 1003 do { 1004 if (t = Te ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") 1005 } while ((e = e.parentNode) && 1 === e.nodeType); 1006 return !1 1007 } 1008 }), 1009 target: function (e) { 1010 var t = window.location && window.location.hash; 1011 return t && t.slice(1) === e.id 1012 }, 1013 root: function (e) { 1014 return e === Se 1015 }, 1016 focus: function (e) { 1017 return e === Ee.activeElement && (!Ee.hasFocus || Ee.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) 1018 }, 1019 enabled: function (e) { 1020 return !1 === e.disabled 1021 }, 1022 disabled: function (e) { 1023 return !0 === e.disabled 1024 }, 1025 checked: function (e) { 1026 var t = e.nodeName.toLowerCase(); 1027 return "input" === t && !!e.checked || "option" === t && !!e.selected 1028 }, 1029 selected: function (e) { 1030 return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected 1031 }, 1032 empty: function (e) { 1033 for (e = e.firstChild; e; e = e.nextSibling) 1034 if (e.nodeType < 6) return !1; 1035 return !0 1036 }, 1037 parent: function (e) { 1038 return !ge.pseudos.empty(e) 1039 }, 1040 header: function (e) { 1041 return yt.test(e.nodeName) 1042 }, 1043 input: function (e) { 1044 return bt.test(e.nodeName) 1045 }, 1046 button: function (e) { 1047 var t = e.nodeName.toLowerCase(); 1048 return "input" === t && "button" === e.type || "button" === t 1049 }, 1050 text: function (e) { 1051 var t; 1052 return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) 1053 }, 1054 first: Bt(function () { 1055 return [0] 1056 }), 1057 last: Bt(function (e, t) { 1058 return [t - 1] 1059 }), 1060 eq: Bt(function (e, t, n) { 1061 return [n < 0 ? n + t : n] 1062 }), 1063 even: Bt(function (e, t) { 1064 for (var n = 0; n < t; n += 2) e.push(n); 1065 return e 1066 }), 1067 odd: Bt(function (e, t) { 1068 for (var n = 1; n < t; n += 2) e.push(n); 1069 return e 1070 }), 1071 lt: Bt(function (e, t, n) { 1072 for (var r = n < 0 ? n + t : n; 0 <= --r;) e.push(r); 1073 return e 1074 }), 1075 gt: Bt(function (e, t, n) { 1076 for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r); 1077 return e 1078 }) 1079 } 1080 }).pseudos.nth = ge.pseudos.eq, { 1081 radio: !0, 1082 checkbox: !0, 1083 file: !0, 1084 password: !0, 1085 image: !0 1086 }) ge.pseudos[de] = Rt(de); 1087 for (de in { 1088 submit: !0, 1089 reset: !0 1090 }) ge.pseudos[de] = Dt(de); 1091 1092 function Pt() {} 1093 1094 function Lt(e) { 1095 for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; 1096 return r 1097 } 1098 1099 function It(a, e, t) { 1100 var u = e.dir, 1101 s = t && "parentNode" === u, 1102 c = Xe++; 1103 return e.first ? function (e, t, n) { 1104 for (; e = e[u];) 1105 if (1 === e.nodeType || s) return a(e, t, n) 1106 } : function (e, t, n) { 1107 var r, o, i = [Ke, c]; 1108 if (n) { 1109 for (; e = e[u];) 1110 if ((1 === e.nodeType || s) && a(e, t, n)) return !0 1111 } else 1112 for (; e = e[u];) 1113 if (1 === e.nodeType || s) { 1114 if ((r = (o = e[$e] || (e[$e] = {}))[u]) && r[0] === Ke && r[1] === c) return i[2] = r[2]; 1115 if ((o[u] = i)[2] = a(e, t, n)) return !0 1116 } 1117 } 1118 } 1119 1120 function Mt(o) { 1121 return 1 < o.length ? function (e, t, n) { 1122 for (var r = o.length; r--;) 1123 if (!o[r](e, t, n)) return !1; 1124 return !0 1125 } : o[0] 1126 } 1127 1128 function Ft(e, t, n, r, o) { 1129 for (var i, a = [], u = 0, s = e.length, c = null != t; u < s; u++)(i = e[u]) && (n && !n(i, r, o) || (a.push(i), c && t.push(u))); 1130 return a 1131 } 1132 1133 function Ut(m, g, p, h, v, e) { 1134 return h && !h[$e] && (h = Ut(h)), v && !v[$e] && (v = Ut(v, e)), At(function (e, t, n, r) { 1135 var o, i, a, u = [], 1136 s = [], 1137 c = t.length, 1138 l = e || function (e, t, n) { 1139 for (var r = 0, o = t.length; r < o; r++) Tt(e, t[r], n); 1140 return n 1141 }(g || "*", n.nodeType ? [n] : n, []), 1142 f = !m || !e && g ? l : Ft(l, u, m, n, r), 1143 d = p ? v || (e ? m : c || h) ? [] : t : f; 1144 if (p && p(f, d, n, r), h) 1145 for (o = Ft(d, s), h(o, [], n, r), i = o.length; i--;)(a = o[i]) && (d[s[i]] = !(f[s[i]] = a)); 1146 if (e) { 1147 if (v || m) { 1148 if (v) { 1149 for (o = [], i = d.length; i--;)(a = d[i]) && o.push(f[i] = a); 1150 v(null, d = [], o, r) 1151 } 1152 for (i = d.length; i--;)(a = d[i]) && -1 < (o = v ? at.call(e, a) : u[i]) && (e[o] = !(t[o] = a)) 1153 } 1154 } else d = Ft(d === t ? d.splice(c, d.length) : d), v ? v(null, t, d, r) : ot.apply(t, d) 1155 }) 1156 } 1157 1158 function zt(e) { 1159 for (var r, t, n, o = e.length, i = ge.relative[e[0].type], a = i || ge.relative[" "], u = i ? 1 : 0, s = It(function (e) { 1160 return e === r 1161 }, a, !0), c = It(function (e) { 1162 return -1 < at.call(r, e) 1163 }, a, !0), l = [function (e, t, n) { 1164 return !i && (n || t !== Ce) || ((r = t).nodeType ? s(e, t, n) : c(e, t, n)) 1165 }]; u < o; u++) 1166 if (t = ge.relative[e[u].type]) l = [It(Mt(l), t)]; 1167 else { 1168 if ((t = ge.filter[e[u].type].apply(null, e[u].matches))[$e]) { 1169 for (n = ++u; n < o && !ge.relative[e[n].type]; n++); 1170 return Ut(1 < u && Mt(l), 1 < u && Lt(e.slice(0, u - 1).concat({ 1171 value: " " === e[u - 2].type ? "*" : "" 1172 })).replace(ft, "$1"), t, u < n && zt(e.slice(u, n)), n < o && zt(e = e.slice(n)), n < o && Lt(e)) 1173 } 1174 l.push(t) 1175 } 1176 return Mt(l) 1177 } 1178 Pt.prototype = ge.filters = ge.pseudos, ge.setFilters = new Pt, ve = Tt.tokenize = function (e, t) { 1179 var n, r, o, i, a, u, s, c = Ge[e + " "]; 1180 if (c) return t ? 0 : c.slice(0); 1181 for (a = e, u = [], s = ge.preFilter; a;) { 1182 for (i in n && !(r = dt.exec(a)) || (r && (a = a.slice(r[0].length) || a), u.push(o = [])), n = !1, (r = mt.exec(a)) && (n = r.shift(), o.push({ 1183 value: n, 1184 type: r[0].replace(ft, " ") 1185 }), a = a.slice(n.length)), ge.filter) !(r = vt[i].exec(a)) || s[i] && !(r = s[i](r)) || (n = r.shift(), o.push({ 1186 value: n, 1187 type: i, 1188 matches: r 1189 }), a = a.slice(n.length)); 1190 if (!n) break 1191 } 1192 return t ? a.length : a ? Tt.error(e) : Ge(e, u).slice(0) 1193 }, be = Tt.compile = function (e, t) { 1194 var n, h, v, b, y, r, o = [], 1195 i = [], 1196 a = Je[e + " "]; 1197 if (!a) { 1198 for (t || (t = ve(e)), n = t.length; n--;)(a = zt(t[n]))[$e] ? o.push(a) : i.push(a); 1199 (a = Je(e, (h = i, b = 0 < (v = o).length, y = 0 < h.length, r = function (e, t, n, r, o) { 1200 var i, a, u, s = 0, 1201 c = "0", 1202 l = e && [], 1203 f = [], 1204 d = Ce, 1205 m = e || y && ge.find.TAG("*", o), 1206 g = Ke += null == d ? 1 : Math.random() || .1, 1207 p = m.length; 1208 for (o && (Ce = t !== Ee && t); c !== p && null != (i = m[c]); c++) { 1209 if (y && i) { 1210 for (a = 0; u = h[a++];) 1211 if (u(i, t, n)) { 1212 r.push(i); 1213 break 1214 } 1215 o && (Ke = g) 1216 } 1217 b && ((i = !u && i) && s--, e && l.push(i)) 1218 } 1219 if (s += c, b && c !== s) { 1220 for (a = 0; u = v[a++];) u(l, f, t, n); 1221 if (e) { 1222 if (0 < s) 1223 for (; c--;) l[c] || f[c] || (f[c] = nt.call(r)); 1224 f = Ft(f) 1225 } 1226 ot.apply(r, f), o && !e && 0 < f.length && 1 < s + v.length && Tt.uniqueSort(r) 1227 } 1228 return o && (Ke = g, Ce = d), l 1229 }, b ? At(r) : r))).selector = e 1230 } 1231 return a 1232 }, ye = Tt.select = function (e, t, n, r) { 1233 var o, i, a, u, s, c = "function" == typeof e && e, 1234 l = !r && ve(e = c.selector || e); 1235 if (n = n || [], 1 === l.length) { 1236 if (2 < (i = l[0] = l[0].slice(0)).length && "ID" === (a = i[0]).type && me.getById && 9 === t.nodeType && Te && ge.relative[i[1].type]) { 1237 if (!(t = (ge.find.ID(a.matches[0].replace(Et, St), t) || [])[0])) return n; 1238 c && (t = t.parentNode), e = e.slice(i.shift().value.length) 1239 } 1240 for (o = vt.needsContext.test(e) ? 0 : i.length; o-- && (a = i[o], !ge.relative[u = a.type]);) 1241 if ((s = ge.find[u]) && (r = s(a.matches[0].replace(Et, St), wt.test(i[0].type) && Ot(t.parentNode) || t))) { 1242 if (i.splice(o, 1), !(e = r.length && Lt(i))) return ot.apply(n, r), n; 1243 break 1244 } 1245 } 1246 return (c || be(e, l))(r, t, !Te, n, wt.test(e) && Ot(t.parentNode) || t), n 1247 }, me.sortStable = $e.split("").sort(Qe).join("") === $e, me.detectDuplicates = !!we, Ne(), me.sortDetached = !0; 1248 var Vt = Array.isArray, 1249 qt = function (e, t, n) { 1250 var r, o; 1251 if (!e) return 0; 1252 if (n = n || e, e.length !== undefined) { 1253 for (r = 0, o = e.length; r < o; r++) 1254 if (!1 === t.call(n, e[r], r, e)) return 0 1255 } else 1256 for (r in e) 1257 if (e.hasOwnProperty(r) && !1 === t.call(n, e[r], r, e)) return 0; 1258 return 1 1259 }, 1260 Ht = function (e, t, n) { 1261 var r, o; 1262 for (r = 0, o = e.length; r < o; r++) 1263 if (t.call(n, e[r], r, e)) return r; 1264 return -1 1265 }, 1266 jt = { 1267 isArray: Vt, 1268 toArray: function (e) { 1269 var t, n, r = e; 1270 if (!Vt(e)) 1271 for (r = [], t = 0, n = e.length; t < n; t++) r[t] = e[t]; 1272 return r 1273 }, 1274 each: qt, 1275 map: function (n, r) { 1276 var o = []; 1277 return qt(n, function (e, t) { 1278 o.push(r(e, t, n)) 1279 }), o 1280 }, 1281 filter: function (n, r) { 1282 var o = []; 1283 return qt(n, function (e, t) { 1284 r && !r(e, t, n) || o.push(e) 1285 }), o 1286 }, 1287 indexOf: function (e, t) { 1288 var n, r; 1289 if (e) 1290 for (n = 0, r = e.length; n < r; n++) 1291 if (e[n] === t) return n; 1292 return -1 1293 }, 1294 reduce: function (e, t, n, r) { 1295 var o = 0; 1296 for (arguments.length < 3 && (n = e[0]); o < e.length; o++) n = t.call(r, n, e[o], o); 1297 return n 1298 }, 1299 findIndex: Ht, 1300 find: function (e, t, n) { 1301 var r = Ht(e, t, n); 1302 return -1 !== r ? e[r] : undefined 1303 }, 1304 last: function (e) { 1305 return e[e.length - 1] 1306 } 1307 }, 1308 $t = /^\s*|\s*$/g, 1309 Wt = function (e) { 1310 return null === e || e === undefined ? "" : ("" + e).replace($t, "") 1311 }, 1312 Kt = function (e, t) { 1313 return t ? !("array" !== t || !jt.isArray(e)) || typeof e === t : e !== undefined 1314 }, 1315 Xt = function (e, n, r, o) { 1316 o = o || this, e && (r && (e = e[r]), jt.each(e, function (e, t) { 1317 if (!1 === n.call(o, e, t, r)) return !1; 1318 Xt(e, n, r, o) 1319 })) 1320 }, 1321 Yt = { 1322 trim: Wt, 1323 isArray: jt.isArray, 1324 is: Kt, 1325 toArray: jt.toArray, 1326 makeMap: function (e, t, n) { 1327 var r; 1328 for (t = t || ",", "string" == typeof (e = e || []) && (e = e.split(t)), n = n || {}, r = e.length; r--;) n[e[r]] = {}; 1329 return n 1330 }, 1331 each: jt.each, 1332 map: jt.map, 1333 grep: jt.filter, 1334 inArray: jt.indexOf, 1335 hasOwn: function (e, t) { 1336 return Object.prototype.hasOwnProperty.call(e, t) 1337 }, 1338 extend: function (e, t) { 1339 for (var n, r, o, i = [], a = 2; a < arguments.length; a++) i[a - 2] = arguments[a]; 1340 var u, s = arguments; 1341 for (n = 1, r = s.length; n < r; n++) 1342 for (o in t = s[n]) t.hasOwnProperty(o) && (u = t[o]) !== undefined && (e[o] = u); 1343 return e 1344 }, 1345 create: function (e, t, n) { 1346 var r, o, i, a, u, s = this, 1347 c = 0; 1348 if (e = /^((static) )?([\w.]+)(:([\w.]+))?/.exec(e), i = e[3].match(/(^|\.)(\w+)$/i)[2], !(o = s.createNS(e[3].replace(/\.\w+$/, ""), n))[i]) { 1349 if ("static" === e[2]) return o[i] = t, void(this.onCreate && this.onCreate(e[2], e[3], o[i])); 1350 t[i] || (t[i] = function () {}, c = 1), o[i] = t[i], s.extend(o[i].prototype, t), e[5] && (r = s.resolve(e[5]).prototype, a = e[5].match(/\.(\w+)$/i)[1], u = o[i], o[i] = c ? function () { 1351 return r[a].apply(this, arguments) 1352 } : function () { 1353 return this.parent = r[a], u.apply(this, arguments) 1354 }, o[i].prototype[i] = o[i], s.each(r, function (e, t) { 1355 o[i].prototype[t] = r[t] 1356 }), s.each(t, function (e, t) { 1357 r[t] ? o[i].prototype[t] = function () { 1358 return this.parent = r[t], e.apply(this, arguments) 1359 } : t !== i && (o[i].prototype[t] = e) 1360 })), s.each(t["static"], function (e, t) { 1361 o[i][t] = e 1362 }) 1363 } 1364 }, 1365 walk: Xt, 1366 createNS: function (e, t) { 1367 var n, r; 1368 for (t = t || window, e = e.split("."), n = 0; n < e.length; n++) t[r = e[n]] || (t[r] = {}), t = t[r]; 1369 return t 1370 }, 1371 resolve: function (e, t) { 1372 var n, r; 1373 for (t = t || window, n = 0, r = (e = e.split(".")).length; n < r && (t = t[e[n]]); n++); 1374 return t 1375 }, 1376 explode: function (e, t) { 1377 return !e || Kt(e, "array") ? e : jt.map(e.split(t || ","), Wt) 1378 }, 1379 _addCacheSuffix: function (e) { 1380 var t = Re.cacheSuffix; 1381 return t && (e += (-1 === e.indexOf("?") ? "?" : "&") + t), e 1382 } 1383 }, 1384 Gt = document, 1385 Jt = Array.prototype.push, 1386 Qt = Array.prototype.slice, 1387 Zt = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, 1388 en = je.Event, 1389 tn = Yt.makeMap("children,contents,next,prev"), 1390 nn = function (e) { 1391 return void 0 !== e 1392 }, 1393 rn = function (e) { 1394 return "string" == typeof e 1395 }, 1396 on = function (e, t) { 1397 var n, r, o; 1398 for (o = (t = t || Gt).createElement("div"), n = t.createDocumentFragment(), o.innerHTML = e; r = o.firstChild;) n.appendChild(r); 1399 return n 1400 }, 1401 an = function (e, t, n, r) { 1402 var o; 1403 if (rn(t)) t = on(t, Cn(e[0])); 1404 else if (t.length && !t.nodeType) { 1405 if (t = pn.makeArray(t), r) 1406 for (o = t.length - 1; 0 <= o; o--) an(e, t[o], n, r); 1407 else 1408 for (o = 0; o < t.length; o++) an(e, t[o], n, r); 1409 return e 1410 } 1411 if (t.nodeType) 1412 for (o = e.length; o--;) n.call(e[o], t); 1413 return e 1414 }, 1415 un = function (e, t) { 1416 return e && t && -1 !== (" " + e.className + " ").indexOf(" " + t + " ") 1417 }, 1418 sn = function (e, t, n) { 1419 var r, o; 1420 return t = pn(t)[0], e.each(function () { 1421 var e = this; 1422 n && r === e.parentNode || (r = e.parentNode, o = t.cloneNode(!1), e.parentNode.insertBefore(o, e)), o.appendChild(e) 1423 }), e 1424 }, 1425 cn = Yt.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom", " "), 1426 ln = Yt.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected", " "), 1427 fn = { 1428 "for": "htmlFor", 1429 "class": "className", 1430 readonly: "readOnly" 1431 }, 1432 dn = { 1433 "float": "cssFloat" 1434 }, 1435 mn = {}, 1436 gn = {}, 1437 pn = function (e, t) { 1438 return new pn.fn.init(e, t) 1439 }, 1440 hn = /^\s*|\s*$/g, 1441 vn = function (e) { 1442 return null === e || e === undefined ? "" : ("" + e).replace(hn, "") 1443 }, 1444 bn = function (e, t) { 1445 var n, r, o, i; 1446 if (e) 1447 if ((n = e.length) === undefined) { 1448 for (r in e) 1449 if (e.hasOwnProperty(r) && (i = e[r], !1 === t.call(i, r, i))) break 1450 } else 1451 for (o = 0; o < n && (i = e[o], !1 !== t.call(i, o, i)); o++); 1452 return e 1453 }, 1454 yn = function (e, n) { 1455 var r = []; 1456 return bn(e, function (e, t) { 1457 n(t, e) && r.push(t) 1458 }), r 1459 }, 1460 Cn = function (e) { 1461 return e ? 9 === e.nodeType ? e : e.ownerDocument : Gt 1462 }; 1463 pn.fn = pn.prototype = { 1464 constructor: pn, 1465 selector: "", 1466 context: null, 1467 length: 0, 1468 init: function (e, t) { 1469 var n, r, o = this; 1470 if (!e) return o; 1471 if (e.nodeType) return o.context = o[0] = e, o.length = 1, o; 1472 if (t && t.nodeType) o.context = t; 1473 else { 1474 if (t) return pn(e).attr(t); 1475 o.context = t = document 1476 } 1477 if (rn(e)) { 1478 if (!(n = "<" === (o.selector = e).charAt(0) && ">" === e.charAt(e.length - 1) && 3 <= e.length ? [null, e, null] : Zt.exec(e))) return pn(t).find(e); 1479 if (n[1]) 1480 for (r = on(e, Cn(t)).firstChild; r;) Jt.call(o, r), r = r.nextSibling; 1481 else { 1482 if (!(r = Cn(t).getElementById(n[2]))) return o; 1483 if (r.id !== n[2]) return o.find(e); 1484 o.length = 1, o[0] = r 1485 } 1486 } else this.add(e, !1); 1487 return o 1488 }, 1489 toArray: function () { 1490 return Yt.toArray(this) 1491 }, 1492 add: function (e, t) { 1493 var n, r, o = this; 1494 if (rn(e)) return o.add(pn(e)); 1495 if (!1 !== t) 1496 for (n = pn.unique(o.toArray().concat(pn.makeArray(e))), o.length = n.length, r = 0; r < n.length; r++) o[r] = n[r]; 1497 else Jt.apply(o, pn.makeArray(e)); 1498 return o 1499 }, 1500 attr: function (t, n) { 1501 var e, r = this; 1502 if ("object" == typeof t) bn(t, function (e, t) { 1503 r.attr(e, t) 1504 }); 1505 else { 1506 if (!nn(n)) { 1507 if (r[0] && 1 === r[0].nodeType) { 1508 if ((e = mn[t]) && e.get) return e.get(r[0], t); 1509 if (ln[t]) return r.prop(t) ? t : undefined; 1510 null === (n = r[0].getAttribute(t, 2)) && (n = undefined) 1511 } 1512 return n 1513 } 1514 this.each(function () { 1515 var e; 1516 if (1 === this.nodeType) { 1517 if ((e = mn[t]) && e.set) return void e.set(this, n); 1518 null === n ? this.removeAttribute(t, 2) : this.setAttribute(t, n, 2) 1519 } 1520 }) 1521 } 1522 return r 1523 }, 1524 removeAttr: function (e) { 1525 return this.attr(e, null) 1526 }, 1527 prop: function (e, t) { 1528 var n = this; 1529 if ("object" == typeof (e = fn[e] || e)) bn(e, function (e, t) { 1530 n.prop(e, t) 1531 }); 1532 else { 1533 if (!nn(t)) return n[0] && n[0].nodeType && e in n[0] ? n[0][e] : t; 1534 this.each(function () { 1535 1 === this.nodeType && (this[e] = t) 1536 }) 1537 } 1538 return n 1539 }, 1540 css: function (n, r) { 1541 var e, o, i = this, 1542 t = function (e) { 1543 return e.replace(/-(\D)/g, function (e, t) { 1544 return t.toUpperCase() 1545 }) 1546 }, 1547 a = function (e) { 1548 return e.replace(/[A-Z]/g, function (e) { 1549 return "-" + e 1550 }) 1551 }; 1552 if ("object" == typeof n) bn(n, function (e, t) { 1553 i.css(e, t) 1554 }); 1555 else if (nn(r)) n = t(n), "number" != typeof r || cn[n] || (r = r.toString() + "px"), i.each(function () { 1556 var e = this.style; 1557 if ((o = gn[n]) && o.set) o.set(this, r); 1558 else { 1559 try { 1560 this.style[dn[n] || n] = r 1561 } catch (t) {} 1562 null !== r && "" !== r || (e.removeProperty ? e.removeProperty(a(n)) : e.removeAttribute(n)) 1563 } 1564 }); 1565 else { 1566 if (e = i[0], (o = gn[n]) && o.get) return o.get(e); 1567 if (!e.ownerDocument.defaultView) return e.currentStyle ? e.currentStyle[t(n)] : ""; 1568 try { 1569 return e.ownerDocument.defaultView.getComputedStyle(e, null).getPropertyValue(a(n)) 1570 } catch (u) { 1571 return undefined 1572 } 1573 } 1574 return i 1575 }, 1576 remove: function () { 1577 for (var e, t = this.length; t--;) e = this[t], en.clean(e), e.parentNode && e.parentNode.removeChild(e); 1578 return this 1579 }, 1580 empty: function () { 1581 for (var e, t = this.length; t--;) 1582 for (e = this[t]; e.firstChild;) e.removeChild(e.firstChild); 1583 return this 1584 }, 1585 html: function (e) { 1586 var t, n = this; 1587 if (nn(e)) { 1588 t = n.length; 1589 try { 1590 for (; t--;) n[t].innerHTML = e 1591 } catch (r) { 1592 pn(n[t]).empty().append(e) 1593 } 1594 return n 1595 } 1596 return n[0] ? n[0].innerHTML : "" 1597 }, 1598 text: function (e) { 1599 var t, n = this; 1600 if (nn(e)) { 1601 for (t = n.length; t--;) "innerText" in n[t] ? n[t].innerText = e : n[0].textContent = e; 1602 return n 1603 } 1604 return n[0] ? n[0].innerText || n[0].textContent : "" 1605 }, 1606 append: function () { 1607 return an(this, arguments, function (e) { 1608 (1 === this.nodeType || this.host && 1 === this.host.nodeType) && this.appendChild(e) 1609 }) 1610 }, 1611 prepend: function () { 1612 return an(this, arguments, function (e) { 1613 (1 === this.nodeType || this.host && 1 === this.host.nodeType) && this.insertBefore(e, this.firstChild) 1614 }, !0) 1615 }, 1616 before: function () { 1617 return this[0] && this[0].parentNode ? an(this, arguments, function (e) { 1618 this.parentNode.insertBefore(e, this) 1619 }) : this 1620 }, 1621 after: function () { 1622 return this[0] && this[0].parentNode ? an(this, arguments, function (e) { 1623 this.parentNode.insertBefore(e, this.nextSibling) 1624 }, !0) : this 1625 }, 1626 appendTo: function (e) { 1627 return pn(e).append(this), this 1628 }, 1629 prependTo: function (e) { 1630 return pn(e).prepend(this), this 1631 }, 1632 replaceWith: function (e) { 1633 return this.before(e).remove() 1634 }, 1635 wrap: function (e) { 1636 return sn(this, e) 1637 }, 1638 wrapAll: function (e) { 1639 return sn(this, e, !0) 1640 }, 1641 wrapInner: function (e) { 1642 return this.each(function () { 1643 pn(this).contents().wrapAll(e) 1644 }), this 1645 }, 1646 unwrap: function () { 1647 return this.parent().each(function () { 1648 pn(this).replaceWith(this.childNodes) 1649 }) 1650 }, 1651 clone: function () { 1652 var e = []; 1653 return this.each(function () { 1654 e.push(this.cloneNode(!0)) 1655 }), pn(e) 1656 }, 1657 addClass: function (e) { 1658 return this.toggleClass(e, !0) 1659 }, 1660 removeClass: function (e) { 1661 return this.toggleClass(e, !1) 1662 }, 1663 toggleClass: function (o, i) { 1664 var e = this; 1665 return "string" != typeof o || (-1 !== o.indexOf(" ") ? bn(o.split(" "), function () { 1666 e.toggleClass(this, i) 1667 }) : e.each(function (e, t) { 1668 var n, r; 1669 (r = un(t, o)) !== i && (n = t.className, r ? t.className = vn((" " + n + " ").replace(" " + o + " ", " ")) : t.className += n ? " " + o : o) 1670 })), e 1671 }, 1672 hasClass: function (e) { 1673 return un(this[0], e) 1674 }, 1675 each: function (e) { 1676 return bn(this, e) 1677 }, 1678 on: function (e, t) { 1679 return this.each(function () { 1680 en.bind(this, e, t) 1681 }) 1682 }, 1683 off: function (e, t) { 1684 return this.each(function () { 1685 en.unbind(this, e, t) 1686 }) 1687 }, 1688 trigger: function (e) { 1689 return this.each(function () { 1690 "object" == typeof e ? en.fire(this, e.type, e) : en.fire(this, e) 1691 }) 1692 }, 1693 show: function () { 1694 return this.css("display", "") 1695 }, 1696 hide: function () { 1697 return this.css("display", "none") 1698 }, 1699 slice: function () { 1700 return new pn(Qt.apply(this, arguments)) 1701 }, 1702 eq: function (e) { 1703 return -1 === e ? this.slice(e) : this.slice(e, +e + 1) 1704 }, 1705 first: function () { 1706 return this.eq(0) 1707 }, 1708 last: function () { 1709 return this.eq(-1) 1710 }, 1711 find: function (e) { 1712 var t, n, r = []; 1713 for (t = 0, n = this.length; t < n; t++) pn.find(e, this[t], r); 1714 return pn(r) 1715 }, 1716 filter: function (n) { 1717 return pn("function" == typeof n ? yn(this.toArray(), function (e, t) { 1718 return n(t, e) 1719 }) : pn.filter(n, this.toArray())) 1720 }, 1721 closest: function (n) { 1722 var r = []; 1723 return n instanceof pn && (n = n[0]), this.each(function (e, t) { 1724 for (; t;) { 1725 if ("string" == typeof n && pn(t).is(n)) { 1726 r.push(t); 1727 break 1728 } 1729 if (t === n) { 1730 r.push(t); 1731 break 1732 } 1733 t = t.parentNode 1734 } 1735 }), pn(r) 1736 }, 1737 offset: function (e) { 1738 var t, n, r, o, i = 0, 1739 a = 0; 1740 return e ? this.css(e) : ((t = this[0]) && (r = (n = t.ownerDocument).documentElement, t.getBoundingClientRect && (i = (o = t.getBoundingClientRect()).left + (r.scrollLeft || n.body.scrollLeft) - r.clientLeft, a = o.top + (r.scrollTop || n.body.scrollTop) - r.clientTop)), { 1741 left: i, 1742 top: a 1743 }) 1744 }, 1745 push: Jt, 1746 sort: [].sort, 1747 splice: [].splice 1748 }, Yt.extend(pn, { 1749 extend: Yt.extend, 1750 makeArray: function (e) { 1751 return (t = e) && t === t.window || e.nodeType ? [e] : Yt.toArray(e); 1752 var t 1753 }, 1754 inArray: function (e, t) { 1755 var n; 1756 if (t.indexOf) return t.indexOf(e); 1757 for (n = t.length; n--;) 1758 if (t[n] === e) return n; 1759 return -1 1760 }, 1761 isArray: Yt.isArray, 1762 each: bn, 1763 trim: vn, 1764 grep: yn, 1765 find: Tt, 1766 expr: Tt.selectors, 1767 unique: Tt.uniqueSort, 1768 text: Tt.getText, 1769 contains: Tt.contains, 1770 filter: function (e, t, n) { 1771 var r = t.length; 1772 for (n && (e = ":not(" + e + ")"); r--;) 1 !== t[r].nodeType && t.splice(r, 1); 1773 return t = 1 === t.length ? pn.find.matchesSelector(t[0], e) ? [t[0]] : [] : pn.find.matches(e, t) 1774 } 1775 }); 1776 var xn = function (e, t, n) { 1777 var r = [], 1778 o = e[t]; 1779 for ("string" != typeof n && n instanceof pn && (n = n[0]); o && 9 !== o.nodeType;) { 1780 if (n !== undefined) { 1781 if (o === n) break; 1782 if ("string" == typeof n && pn(o).is(n)) break 1783 } 1784 1 === o.nodeType && r.push(o), o = o[t] 1785 } 1786 return r 1787 }, 1788 wn = function (e, t, n, r) { 1789 var o = []; 1790 for (r instanceof pn && (r = r[0]); e; e = e[t]) 1791 if (!n || e.nodeType === n) { 1792 if (r !== undefined) { 1793 if (e === r) break; 1794 if ("string" == typeof r && pn(e).is(r)) break 1795 } 1796 o.push(e) 1797 } 1798 return o 1799 }, 1800 Nn = function (e, t, n) { 1801 for (e = e[t]; e; e = e[t]) 1802 if (e.nodeType === n) return e; 1803 return null 1804 }; 1805 bn({ 1806 parent: function (e) { 1807 var t = e.parentNode; 1808 return t && 11 !== t.nodeType ? t : null 1809 }, 1810 parents: function (e) { 1811 return xn(e, "parentNode") 1812 }, 1813 next: function (e) { 1814 return Nn(e, "nextSibling", 1) 1815 }, 1816 prev: function (e) { 1817 return Nn(e, "previousSibling", 1) 1818 }, 1819 children: function (e) { 1820 return wn(e.firstChild, "nextSibling", 1) 1821 }, 1822 contents: function (e) { 1823 return Yt.toArray(("iframe" === e.nodeName ? e.contentDocument || e.contentWindow.document : e).childNodes) 1824 } 1825 }, function (e, r) { 1826 pn.fn[e] = function (t) { 1827 var n = []; 1828 return this.each(function () { 1829 var e = r.call(n, this, t, n); 1830 e && (pn.isArray(e) ? n.push.apply(n, e) : n.push(e)) 1831 }), 1 < this.length && (tn[e] || (n = pn.unique(n)), 0 === e.indexOf("parents") && (n = n.reverse())), n = pn(n), t ? n.filter(t) : n 1832 } 1833 }), bn({ 1834 parentsUntil: function (e, t) { 1835 return xn(e, "parentNode", t) 1836 }, 1837 nextUntil: function (e, t) { 1838 return wn(e, "nextSibling", 1, t).slice(1) 1839 }, 1840 prevUntil: function (e, t) { 1841 return wn(e, "previousSibling", 1, t).slice(1) 1842 } 1843 }, function (r, o) { 1844 pn.fn[r] = function (t, e) { 1845 var n = []; 1846 return this.each(function () { 1847 var e = o.call(n, this, t, n); 1848 e && (pn.isArray(e) ? n.push.apply(n, e) : n.push(e)) 1849 }), 1 < this.length && (n = pn.unique(n), 0 !== r.indexOf("parents") && "prevUntil" !== r || (n = n.reverse())), n = pn(n), e ? n.filter(e) : n 1850 } 1851 }), pn.fn.is = function (e) { 1852 return !!e && 0 < this.filter(e).length 1853 }, pn.fn.init.prototype = pn.fn, pn.overrideDefaults = function (n) { 1854 var r, o = function (e, t) { 1855 return r = r || n(), 0 === arguments.length && (e = r.element), t || (t = r.context), new o.fn.init(e, t) 1856 }; 1857 return pn.extend(o, this), o 1858 }; 1859 var En = function (n, r, e) { 1860 bn(e, function (e, t) { 1861 n[e] = n[e] || {}, n[e][r] = t 1862 }) 1863 }; 1864 Re.ie && Re.ie < 8 && (En(mn, "get", { 1865 maxlength: function (e) { 1866 var t = e.maxLength; 1867 return 2147483647 === t ? undefined : t 1868 }, 1869 size: function (e) { 1870 var t = e.size; 1871 return 20 === t ? undefined : t 1872 }, 1873 "class": function (e) { 1874 return e.className 1875 }, 1876 style: function (e) { 1877 var t = e.style.cssText; 1878 return 0 === t.length ? undefined : t 1879 } 1880 }), En(mn, "set", { 1881 "class": function (e, t) { 1882 e.className = t 1883 }, 1884 style: function (e, t) { 1885 e.style.cssText = t 1886 } 1887 })), Re.ie && Re.ie < 9 && (dn["float"] = "styleFloat", En(gn, "set", { 1888 opacity: function (e, t) { 1889 var n = e.style; 1890 null === t || "" === t ? n.removeAttribute("filter") : (n.zoom = 1, n.filter = "alpha(opacity=" + 100 * t + ")") 1891 } 1892 })), pn.attrHooks = mn, pn.cssHooks = gn; 1893 var Sn = function (n) { 1894 var r, o = !1; 1895 return function () { 1896 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 1897 return o || (o = !0, r = n.apply(null, e)), r 1898 } 1899 }, 1900 Tn = function (e, t) { 1901 var n = function (e, t) { 1902 for (var n = 0; n < e.length; n++) { 1903 var r = e[n]; 1904 if (r.test(t)) return r 1905 } 1906 return undefined 1907 }(e, t); 1908 if (!n) return { 1909 major: 0, 1910 minor: 0 1911 }; 1912 var r = function (e) { 1913 return Number(t.replace(n, "$" + e)) 1914 }; 1915 return An(r(1), r(2)) 1916 }, 1917 kn = function () { 1918 return An(0, 0) 1919 }, 1920 An = function (e, t) { 1921 return { 1922 major: e, 1923 minor: t 1924 } 1925 }, 1926 _n = { 1927 nu: An, 1928 detect: function (e, t) { 1929 var n = String(t).toLowerCase(); 1930 return 0 === e.length ? kn() : Tn(e, n) 1931 }, 1932 unknown: kn 1933 }, 1934 Rn = "Firefox", 1935 Dn = function (e, t) { 1936 return function () { 1937 return t === e 1938 } 1939 }, 1940 Bn = function (e) { 1941 var t = e.current; 1942 return { 1943 current: t, 1944 version: e.version, 1945 isEdge: Dn("Edge", t), 1946 isChrome: Dn("Chrome", t), 1947 isIE: Dn("IE", t), 1948 isOpera: Dn("Opera", t), 1949 isFirefox: Dn(Rn, t), 1950 isSafari: Dn("Safari", t) 1951 } 1952 }, 1953 On = { 1954 unknown: function () { 1955 return Bn({ 1956 current: undefined, 1957 version: _n.unknown() 1958 }) 1959 }, 1960 nu: Bn, 1961 edge: H("Edge"), 1962 chrome: H("Chrome"), 1963 ie: H("IE"), 1964 opera: H("Opera"), 1965 firefox: H(Rn), 1966 safari: H("Safari") 1967 }, 1968 Pn = "Windows", 1969 Ln = "Android", 1970 In = "Solaris", 1971 Mn = "FreeBSD", 1972 Fn = function (e, t) { 1973 return function () { 1974 return t === e 1975 } 1976 }, 1977 Un = function (e) { 1978 var t = e.current; 1979 return { 1980 current: t, 1981 version: e.version, 1982 isWindows: Fn(Pn, t), 1983 isiOS: Fn("iOS", t), 1984 isAndroid: Fn(Ln, t), 1985 isOSX: Fn("OSX", t), 1986 isLinux: Fn("Linux", t), 1987 isSolaris: Fn(In, t), 1988 isFreeBSD: Fn(Mn, t) 1989 } 1990 }, 1991 zn = { 1992 unknown: function () { 1993 return Un({ 1994 current: undefined, 1995 version: _n.unknown() 1996 }) 1997 }, 1998 nu: Un, 1999 windows: H(Pn), 2000 ios: H("iOS"), 2001 android: H(Ln), 2002 linux: H("Linux"), 2003 osx: H("OSX"), 2004 solaris: H(In), 2005 freebsd: H(Mn) 2006 }, 2007 Vn = function (e, t) { 2008 var n = String(t).toLowerCase(); 2009 return V(e, function (e) { 2010 return e.search(n) 2011 }) 2012 }, 2013 qn = function (e, n) { 2014 return Vn(e, n).map(function (e) { 2015 var t = _n.detect(e.versionRegexes, n); 2016 return { 2017 current: e.name, 2018 version: t 2019 } 2020 }) 2021 }, 2022 Hn = function (e, n) { 2023 return Vn(e, n).map(function (e) { 2024 var t = _n.detect(e.versionRegexes, n); 2025 return { 2026 current: e.name, 2027 version: t 2028 } 2029 }) 2030 }, 2031 jn = function (e, t) { 2032 return -1 !== e.indexOf(t) 2033 }, 2034 $n = function (e) { 2035 return e.replace(/^\s+|\s+$/g, "") 2036 }, 2037 Wn = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, 2038 Kn = function (t) { 2039 return function (e) { 2040 return jn(e, t) 2041 } 2042 }, 2043 Xn = [{ 2044 name: "Edge", 2045 versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], 2046 search: function (e) { 2047 return jn(e, "edge/") && jn(e, "chrome") && jn(e, "safari") && jn(e, "applewebkit") 2048 } 2049 }, { 2050 name: "Chrome", 2051 versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/, Wn], 2052 search: function (e) { 2053 return jn(e, "chrome") && !jn(e, "chromeframe") 2054 } 2055 }, { 2056 name: "IE", 2057 versionRegexes: [/.*?msie\ ?([0-9]+)\.([0-9]+).*/, /.*?rv:([0-9]+)\.([0-9]+).*/], 2058 search: function (e) { 2059 return jn(e, "msie") || jn(e, "trident") 2060 } 2061 }, { 2062 name: "Opera", 2063 versionRegexes: [Wn, /.*?opera\/([0-9]+)\.([0-9]+).*/], 2064 search: Kn("opera") 2065 }, { 2066 name: "Firefox", 2067 versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], 2068 search: Kn("firefox") 2069 }, { 2070 name: "Safari", 2071 versionRegexes: [Wn, /.*?cpu os ([0-9]+)_([0-9]+).*/], 2072 search: function (e) { 2073 return (jn(e, "safari") || jn(e, "mobile/")) && jn(e, "applewebkit") 2074 } 2075 }], 2076 Yn = [{ 2077 name: "Windows", 2078 search: Kn("win"), 2079 versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/] 2080 }, { 2081 name: "iOS", 2082 search: function (e) { 2083 return jn(e, "iphone") || jn(e, "ipad") 2084 }, 2085 versionRegexes: [/.*?version\/\ ?([0-9]+)\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/] 2086 }, { 2087 name: "Android", 2088 search: Kn("android"), 2089 versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/] 2090 }, { 2091 name: "OSX", 2092 search: Kn("os x"), 2093 versionRegexes: [/.*?os\ x\ ?([0-9]+)_([0-9]+).*/] 2094 }, { 2095 name: "Linux", 2096 search: Kn("linux"), 2097 versionRegexes: [] 2098 }, { 2099 name: "Solaris", 2100 search: Kn("sunos"), 2101 versionRegexes: [] 2102 }, { 2103 name: "FreeBSD", 2104 search: Kn("freebsd"), 2105 versionRegexes: [] 2106 }], 2107 Gn = { 2108 browsers: H(Xn), 2109 oses: H(Yn) 2110 }, 2111 Jn = function (e) { 2112 var t, n, r, o, i, a, u, s, c, l, f, d = Gn.browsers(), 2113 m = Gn.oses(), 2114 g = qn(d, e).fold(On.unknown, On.nu), 2115 p = Hn(m, e).fold(zn.unknown, zn.nu); 2116 return { 2117 browser: g, 2118 os: p, 2119 deviceType: (n = g, r = e, o = (t = p).isiOS() && !0 === /ipad/i.test(r), i = t.isiOS() && !o, a = t.isAndroid() && 3 === t.version.major, u = t.isAndroid() && 4 === t.version.major, s = o || a || u && !0 === /mobile/i.test(r), c = t.isiOS() || t.isAndroid(), l = c && !s, f = n.isSafari() && t.isiOS() && !1 === /safari/i.test(r), { 2120 isiPad: H(o), 2121 isiPhone: H(i), 2122 isTablet: H(s), 2123 isPhone: H(l), 2124 isTouch: H(c), 2125 isAndroid: t.isAndroid, 2126 isiOS: t.isiOS, 2127 isWebView: H(f) 2128 }) 2129 } 2130 }, 2131 Qn = { 2132 detect: Sn(function () { 2133 var e = navigator.userAgent; 2134 return Jn(e) 2135 }) 2136 }, 2137 Zn = function (e) { 2138 if (null === e || e === undefined) throw new Error("Node cannot be null or undefined"); 2139 return { 2140 dom: H(e) 2141 } 2142 }, 2143 er = { 2144 fromHtml: function (e, t) { 2145 var n = (t || document).createElement("div"); 2146 if (n.innerHTML = e, !n.hasChildNodes() || 1 < n.childNodes.length) throw console.error("HTML does not have a single root node", e), "HTML must have a single root node"; 2147 return Zn(n.childNodes[0]) 2148 }, 2149 fromTag: function (e, t) { 2150 var n = (t || document).createElement(e); 2151 return Zn(n) 2152 }, 2153 fromText: function (e, t) { 2154 var n = (t || document).createTextNode(e); 2155 return Zn(n) 2156 }, 2157 fromDom: Zn, 2158 fromPoint: function (e, t, n) { 2159 var r = e.dom(); 2160 return A.from(r.elementFromPoint(t, n)).map(Zn) 2161 } 2162 }, 2163 tr = { 2164 ATTRIBUTE: Node.ATTRIBUTE_NODE, 2165 CDATA_SECTION: Node.CDATA_SECTION_NODE, 2166 COMMENT: Node.COMMENT_NODE, 2167 DOCUMENT: Node.DOCUMENT_NODE, 2168 DOCUMENT_TYPE: Node.DOCUMENT_TYPE_NODE, 2169 DOCUMENT_FRAGMENT: Node.DOCUMENT_FRAGMENT_NODE, 2170 ELEMENT: Node.ELEMENT_NODE, 2171 TEXT: Node.TEXT_NODE, 2172 PROCESSING_INSTRUCTION: Node.PROCESSING_INSTRUCTION_NODE, 2173 ENTITY_REFERENCE: Node.ENTITY_REFERENCE_NODE, 2174 ENTITY: Node.ENTITY_NODE, 2175 NOTATION: Node.NOTATION_NODE 2176 }, 2177 nr = function (e) { 2178 return e.dom().nodeName.toLowerCase() 2179 }, 2180 rr = function (e) { 2181 return e.dom().nodeType 2182 }, 2183 or = function (t) { 2184 return function (e) { 2185 return rr(e) === t 2186 } 2187 }, 2188 ir = or(tr.ELEMENT), 2189 ar = or(tr.TEXT), 2190 ur = or(tr.DOCUMENT), 2191 sr = { 2192 name: nr, 2193 type: rr, 2194 value: function (e) { 2195 return e.dom().nodeValue 2196 }, 2197 isElement: ir, 2198 isText: ar, 2199 isDocument: ur, 2200 isComment: function (e) { 2201 return rr(e) === tr.COMMENT || "#comment" === nr(e) 2202 } 2203 }, 2204 cr = Object.keys, 2205 lr = function (e, t) { 2206 for (var n = cr(e), r = 0, o = n.length; r < o; r++) { 2207 var i = n[r]; 2208 t(e[i], i, e) 2209 } 2210 }, 2211 fr = function (r, o) { 2212 var i = {}; 2213 return lr(r, function (e, t) { 2214 var n = o(e, t, r); 2215 i[n.k] = n.v 2216 }), i 2217 }, 2218 dr = function (e, t, n) { 2219 if (!(k(n) || B(n) || P(n))) throw console.error("Invalid call to Attr.set. Key ", t, ":: Value ", n, ":: Element ", e), new Error("Attribute value was not simple"); 2220 e.setAttribute(t, n + "") 2221 }, 2222 mr = function (e, t, n) { 2223 dr(e.dom(), t, n) 2224 }, 2225 gr = function (e, t) { 2226 var n = e.dom().getAttribute(t); 2227 return null === n ? undefined : n 2228 }, 2229 pr = function (e, t) { 2230 var n = e.dom(); 2231 return !(!n || !n.hasAttribute) && n.hasAttribute(t) 2232 }, 2233 hr = { 2234 clone: function (e) { 2235 return z(e.dom().attributes, function (e, t) { 2236 return e[t.name] = t.value, e 2237 }, {}) 2238 }, 2239 set: mr, 2240 setAll: function (e, t) { 2241 var n = e.dom(); 2242 lr(t, function (e, t) { 2243 dr(n, t, e) 2244 }) 2245 }, 2246 get: gr, 2247 has: pr, 2248 remove: function (e, t) { 2249 e.dom().removeAttribute(t) 2250 }, 2251 hasNone: function (e) { 2252 var t = e.dom().attributes; 2253 return t === undefined || null === t || 0 === t.length 2254 }, 2255 transfer: function (o, i, e) { 2256 sr.isElement(o) && sr.isElement(i) && F(e, function (e) { 2257 var t, n, r; 2258 n = i, pr(t = o, r = e) && !pr(n, r) && mr(n, r, gr(t, r)) 2259 }) 2260 } 2261 }, 2262 vr = Sn(function () { 2263 return br(er.fromDom(document)) 2264 }), 2265 br = function (e) { 2266 var t = e.dom().body; 2267 if (null === t || t === undefined) throw "Body is not available yet"; 2268 return er.fromDom(t) 2269 }, 2270 yr = { 2271 body: vr, 2272 getBody: br, 2273 inBody: function (e) { 2274 var t = sr.isText(e) ? e.dom().parentNode : e.dom(); 2275 return t !== undefined && null !== t && t.ownerDocument.body.contains(t) 2276 } 2277 }, 2278 Cr = function (e) { 2279 return e.style !== undefined 2280 }, 2281 xr = function (e, t, n) { 2282 if (!k(n)) throw console.error("Invalid call to CSS.set. Property ", t, ":: Value ", n, ":: Element ", e), new Error("CSS value must be a string: " + n); 2283 Cr(e) && e.style.setProperty(t, n) 2284 }, 2285 wr = function (e, t) { 2286 return Cr(e) ? e.style.getPropertyValue(t) : "" 2287 }, 2288 Nr = function (e, t) { 2289 var n = e.dom(), 2290 r = wr(n, t); 2291 return A.from(r).filter(function (e) { 2292 return 0 < e.length 2293 }) 2294 }, 2295 Er = function (e, t) { 2296 var n = e.dom(); 2297 lr(t, function (e, t) { 2298 xr(n, t, e) 2299 }) 2300 }, 2301 Sr = function (e, t) { 2302 var n = e.dom(), 2303 r = window.getComputedStyle(n).getPropertyValue(t), 2304 o = "" !== r || yr.inBody(e) ? r : wr(n, t); 2305 return null === o ? undefined : o 2306 }, 2307 Tr = Nr, 2308 kr = function () { 2309 for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; 2310 return function () { 2311 for (var n = [], e = 0; e < arguments.length; e++) n[e] = arguments[e]; 2312 if (t.length !== n.length) throw new Error('Wrong number of arguments to struct. Expected "[' + t.length + ']", got ' + n.length + " arguments"); 2313 var r = {}; 2314 return F(t, function (e, t) { 2315 r[e] = H(n[t]) 2316 }), r 2317 } 2318 }, 2319 Ar = function (e, t) { 2320 for (var n = [], r = function (e) { 2321 return n.push(e), t(e) 2322 }, o = t(e); 2323 (o = o.bind(r)).isSome();); 2324 return n 2325 }, 2326 _r = function () { 2327 return ie.getOrDie("Node") 2328 }, 2329 Rr = function (e, t, n) { 2330 return 0 != (e.compareDocumentPosition(t) & n) 2331 }, 2332 Dr = function (e, t) { 2333 return Rr(e, t, _r().DOCUMENT_POSITION_CONTAINED_BY) 2334 }, 2335 Br = tr.ELEMENT, 2336 Or = tr.DOCUMENT, 2337 Pr = function (e) {
2338 return e.nodeType !== Br && e.nodeType !== Or || 0 === e.childElementCount 2339 }, 2340 Lr = { 2341 all: function (e, t) { 2342 var n = t === undefined ? document : t.dom(); 2343 return Pr(n) ? [] : $(n.querySelectorAll(e), er.fromDom) 2344 }, 2345 is: function (e, t) { 2346 var n = e.dom(); 2347 if (n.nodeType !== Br) return !1; 2348 if (n.matches !== undefined) return n.matches(t); 2349 if (n.msMatchesSelector !== undefined) return n.msMatchesSelector(t); 2350 if (n.webkitMatchesSelector !== undefined) return n.webkitMatchesSelector(t); 2351 if (n.mozMatchesSelector !== undefined) return n.mozMatchesSelector(t); 2352 throw new Error("Browser lacks native selectors") 2353 }, 2354 one: function (e, t) { 2355 var n = t === undefined ? document : t.dom(); 2356 return Pr(n) ? A.none() : A.from(n.querySelector(e)).map(er.fromDom) 2357 } 2358 }, 2359 Ir = function (e, t) { 2360 return e.dom() === t.dom() 2361 }, 2362 Mr = Qn.detect().browser.isIE() ? function (e, t) { 2363 return Dr(e.dom(), t.dom()) 2364 } : function (e, t) { 2365 var n = e.dom(), 2366 r = t.dom(); 2367 return n !== r && n.contains(r) 2368 }, 2369 Fr = { 2370 eq: Ir, 2371 isEqualNode: function (e, t) { 2372 return e.dom().isEqualNode(t.dom()) 2373 }, 2374 member: function (e, t) { 2375 return M(t, b(Ir, e)) 2376 }, 2377 contains: Mr, 2378 is: Lr.is 2379 }, 2380 Ur = function (e) { 2381 var t = e.dom(); 2382 return A.from(t.parentNode).map(er.fromDom) 2383 }, 2384 zr = function (e) { 2385 var t = e.dom(); 2386 return A.from(t.previousSibling).map(er.fromDom) 2387 }, 2388 Vr = function (e) { 2389 var t = e.dom();
2390 return A.from(t.nextSibling).map(er.fromDom) 2391 }, 2392 qr = function (e) { 2393 var t = e.dom(); 2394 return $(t.childNodes, er.fromDom) 2395 }, 2396 Hr = function (e, t) { 2397 var n = e.dom().childNodes; 2398 return A.from(n[t]).map(er.fromDom) 2399 }, 2400 jr = kr("element", "offset"), 2401 $r = { 2402 owner: function (e) { 2403 return er.fromDom(e.dom().ownerDocument) 2404 }, 2405 defaultView: function (e) { 2406 var t = e.dom().ownerDocument.defaultView; 2407 return er.fromDom(t) 2408 }, 2409 documentElement: function (e) { 2410 return er.fromDom(e.dom().ownerDocument.documentElement) 2411 }, 2412 parent: Ur, 2413 findIndex: function (n) { 2414 return Ur(n).bind(function (e) { 2415 var t = qr(e); 2416 return K(t, function (e) { 2417 return Fr.eq(n, e) 2418 }) 2419 }) 2420 }, 2421 parents: function (e, t) { 2422 for (var n = O(t) ? t : H(!1), r = e.dom(), o = []; null !== r.parentNode && r.parentNode !== undefined;) { 2423 var i = r.parentNode, 2424 a = er.fromDom(i); 2425 if (o.push(a), !0 === n(a)) break; 2426 r = i 2427 } 2428 return o 2429 }, 2430 siblings: function (t) { 2431 return Ur(t).map(qr).map(function (e) { 2432 return U(e, function (e) { 2433 return !Fr.eq(t, e) 2434 }) 2435 }).getOr([]) 2436 }, 2437 prevSibling: zr, 2438 offsetParent: function (e) { 2439 var t = e.dom(); 2440 return A.from(t.offsetParent).map(er.fromDom) 2441 }, 2442 prevSiblings: function (e) { 2443 return t = Ar(e, zr), (n = Q.call(t, 0)).reverse(), n; 2444 var t, n 2445 }, 2446 nextSibling: Vr, 2447 nextSiblings: function (e) { 2448 return Ar(e, Vr) 2449 }, 2450 children: qr, 2451 child: Hr, 2452 firstChild: function (e) { 2453 return Hr(e, 0) 2454 }, 2455 lastChild: function (e) { 2456 return Hr(e, e.dom().childNodes.length - 1) 2457 }, 2458 childNodesCount: function (e) { 2459 return e.dom().childNodes.length 2460 }, 2461 hasChildNodes: function (e) { 2462 return e.dom().hasChildNodes() 2463 }, 2464 leaf: function (e, t) { 2465 var n = qr(e); 2466 return 0 < n.length && t < n.length ? jr(n[t], 0) : jr(e, t) 2467 } 2468 }, 2469 Wr = Qn.detect().browser, 2470 Kr = function (e) { 2471 return V(e, sr.isElement) 2472 }, 2473 Xr = { 2474 getPos: function (e, t, n) { 2475 var r, o, i, a = 0, 2476 u = 0, 2477 s = e.ownerDocument; 2478 if (n = n || e, t) { 2479 if (n === e && t.getBoundingClientRect && "static" === Sr(er.fromDom(e), "position")) return { 2480 x: a = (o = t.getBoundingClientRect()).left + (s.documentElement.scrollLeft || e.scrollLeft) - s.documentElement.clientLeft, 2481 y: u = o.top + (s.documentElement.scrollTop || e.scrollTop) - s.documentElement.clientTop 2482 }; 2483 for (r = t; r && r !== n && r.nodeType;) a += r.offsetLeft || 0, u += r.offsetTop || 0, r = r.offsetParent; 2484 for (r = t.parentNode; r && r !== n && r.nodeType;) a -= r.scrollLeft || 0, u -= r.scrollTop || 0, r = r.parentNode; 2485 u += (i = er.fromDom(t), Wr.isFirefox() && "table" === sr.name(i) ? Kr($r.children(i)).filter(function (e) { 2486 return "caption" === sr.name(e) 2487 }).bind(function (o) { 2488 return Kr($r.nextSiblings(o)).map(function (e) { 2489 var t = e.dom().offsetTop, 2490 n = o.dom().offsetTop, 2491 r = o.dom().offsetHeight; 2492 return t <= n ? -r : 0 2493 }) 2494 }).getOr(0) : 0) 2495 } 2496 return { 2497 x: a, 2498 y: u 2499 } 2500 } 2501 }, 2502 Yr = function (e) { 2503 var n = A.none(), 2504 t = [], 2505 r = function (e) { 2506 o() ? a(e) : t.push(e) 2507 }, 2508 o = function () { 2509 return n.isSome() 2510 }, 2511 i = function (e) { 2512 F(e, a) 2513 }, 2514 a = function (t) { 2515 n.each(function (e) { 2516 setTimeout(function () { 2517 t(e) 2518 }, 0) 2519 }) 2520 }; 2521 return e(function (e) { 2522 n = A.some(e), i(t), t = [] 2523 }), { 2524 get: r, 2525 map: function (n) { 2526 return Yr(function (t) { 2527 r(function (e) { 2528 t(n(e)) 2529 }) 2530 }) 2531 }, 2532 isReady: o 2533 } 2534 }, 2535 Gr = { 2536 nu: Yr, 2537 pure: function (t) { 2538 return Yr(function (e) { 2539 e(t) 2540 }) 2541 } 2542 }, 2543 Jr = function (t) { 2544 var e = function (e) { 2545 var r; 2546 t((r = e, function () { 2547 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 2548 var n = this; 2549 setTimeout(function () { 2550 r.apply(n, e) 2551 }, 0) 2552 })) 2553 }, 2554 n = function () { 2555 return Gr.nu(e) 2556 }; 2557 return { 2558 map: function (r) { 2559 return Jr(function (n) { 2560 e(function (e) { 2561 var t = r(e); 2562 n(t) 2563 }) 2564 }) 2565 }, 2566 bind: function (n) { 2567 return Jr(function (t) { 2568 e(function (e) { 2569 n(e).get(t) 2570 }) 2571 }) 2572 }, 2573 anonBind: function (n) { 2574 return Jr(function (t) { 2575 e(function (e) { 2576 n.get(t) 2577 }) 2578 }) 2579 }, 2580 toLazy: n, 2581 toCached: function () { 2582 var t = null; 2583 return Jr(function (e) { 2584 null === t && (t = n()), t.get(e) 2585 }) 2586 }, 2587 get: e
vendor: 18,295 bytes, lines 2588-2986
2588 } 2589 }, 2590 Qr = { 2591 nu: Jr, 2592 pure: function (t) { 2593 return Jr(function (e) { 2594 e(t) 2595 }) 2596 } 2597 }, 2598 Zr = function (a, e) { 2599 return e(function (r) { 2600 var o = [], 2601 i = 0; 2602 0 === a.length ? r([]) : F(a, function (e, t) { 2603 var n; 2604 e.get((n = t, function (e) { 2605 o[n] = e, ++i >= a.length && r(o) 2606 })) 2607 }) 2608 }) 2609 }, 2610 eo = function (e) { 2611 return Zr(e, Qr.nu) 2612 }, 2613 to = function (n) { 2614 return { 2615 is: function (e) { 2616 return n === e 2617 }, 2618 isValue: C, 2619 isError: y, 2620 getOr: H(n), 2621 getOrThunk: H(n), 2622 getOrDie: H(n), 2623 or: function (e) { 2624 return to(n) 2625 }, 2626 orThunk: function (e) { 2627 return to(n) 2628 }, 2629 fold: function (e, t) { 2630 return t(n) 2631 }, 2632 map: function (e) { 2633 return to(e(n)) 2634 }, 2635 each: function (e) { 2636 e(n) 2637 }, 2638 bind: function (e) { 2639 return e(n) 2640 }, 2641 exists: function (e) { 2642 return e(n) 2643 }, 2644 forall: function (e) { 2645 return e(n) 2646 }, 2647 toOption: function () { 2648 return A.some(n) 2649 } 2650 } 2651 }, 2652 no = function (n) { 2653 return { 2654 is: y, 2655 isValue: y, 2656 isError: C, 2657 getOr: j, 2658 getOrThunk: function (e) { 2659 return e() 2660 }, 2661 getOrDie: function () { 2662 return e = String(n), 2663 function () { 2664 throw new Error(e) 2665 }(); 2666 var e 2667 }, 2668 or: function (e) { 2669 return e 2670 }, 2671 orThunk: function (e) { 2672 return e() 2673 }, 2674 fold: function (e, t) { 2675 return e(n) 2676 }, 2677 map: function (e) { 2678 return no(n) 2679 }, 2680 each: v, 2681 bind: function (e) { 2682 return no(n) 2683 }, 2684 exists: y, 2685 forall: C, 2686 toOption: A.none 2687 } 2688 }, 2689 ro = { 2690 value: to, 2691 error: no 2692 }; 2693 2694 function oo(e, u) { 2695 var t = e, 2696 n = function (e, t, n, r) { 2697 var o, i; 2698 if (e) { 2699 if (!r && e[t]) return e[t]; 2700 if (e !== u) { 2701 if (o = e[n]) return o; 2702 for (i = e.parentNode; i && i !== u; i = i.parentNode) 2703 if (o = i[n]) return o 2704 } 2705 } 2706 }; 2707 this.current = function () { 2708 return t 2709 }, this.next = function (e) { 2710 return t = n(t, "firstChild", "nextSibling", e) 2711 }, this.prev = function (e) { 2712 return t = n(t, "lastChild", "previousSibling", e) 2713 }, this.prev2 = function (e) { 2714 return t = function (e, t, n, r) { 2715 var o, i, a; 2716 if (e) { 2717 if (o = e[n], u && o === u) return; 2718 if (o) { 2719 if (!r) 2720 for (a = o[t]; a; a = a[t]) 2721 if (!a[t]) return a; 2722 return o 2723 } 2724 if ((i = e.parentNode) && i !== u) return i 2725 } 2726 }(t, "lastChild", "previousSibling", e) 2727 } 2728 } 2729 var io, ao, uo, so = function (t) { 2730 var n; 2731 return function (e) { 2732 return (n = n || function (e, t) { 2733 for (var n = {}, r = 0, o = e.length; r < o; r++) { 2734 var i = e[r]; 2735 n[String(i)] = t(i, r) 2736 } 2737 return n 2738 }(t, H(!0))).hasOwnProperty(sr.name(e)) 2739 } 2740 }, 2741 co = so(["h1", "h2", "h3", "h4", "h5", "h6"]), 2742 lo = so(["article", "aside", "details", "div", "dt", "figcaption", "footer", "form", "fieldset", "header", "hgroup", "html", "main", "nav", "section", "summary", "body", "p", "dl", "multicol", "dd", "figure", "address", "center", "blockquote", "h1", "h2", "h3", "h4", "h5", "h6", "listing", "xmp", "pre", "plaintext", "menu", "dir", "ul", "ol", "li", "hr", "table", "tbody", "thead", "tfoot", "th", "tr", "td", "caption"]), 2743 fo = function (e) { 2744 return sr.isElement(e) && !lo(e) 2745 }, 2746 mo = function (e) { 2747 return sr.isElement(e) && "br" === sr.name(e) 2748 }, 2749 go = so(["h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "pre", "form", "blockquote", "center", "dir", "fieldset", "header", "footer", "article", "section", "hgroup", "aside", "nav", "figure"]), 2750 po = so(["ul", "ol", "dl"]), 2751 ho = so(["li", "dd", "dt"]), 2752 vo = so(["area", "base", "basefont", "br", "col", "frame", "hr", "img", "input", "isindex", "link", "meta", "param", "embed", "source", "wbr", "track"]), 2753 bo = so(["thead", "tbody", "tfoot"]), 2754 yo = so(["td", "th"]), 2755 Co = so(["pre", "script", "textarea", "style"]), 2756 xo = function (t) { 2757 return function (e) { 2758 return !!e && e.nodeType === t 2759 } 2760 }, 2761 wo = xo(1), 2762 No = function (e) { 2763 var r = e.toLowerCase().split(" "); 2764 return function (e) { 2765 var t, n; 2766 if (e && e.nodeType) 2767 for (n = e.nodeName.toLowerCase(), t = 0; t < r.length; t++) 2768 if (n === r[t]) return !0; 2769 return !1 2770 } 2771 }, 2772 Eo = function (t) { 2773 return function (e) { 2774 if (wo(e)) { 2775 if (e.contentEditable === t) return !0; 2776 if (e.getAttribute("data-mce-contenteditable") === t) return !0 2777 } 2778 return !1 2779 } 2780 }, 2781 So = xo(3), 2782 To = xo(8), 2783 ko = xo(9), 2784 Ao = No("br"), 2785 _o = Eo("true"), 2786 Ro = Eo("false"), 2787 Do = { 2788 isText: So, 2789 isElement: wo, 2790 isComment: To, 2791 isDocument: ko, 2792 isBr: Ao, 2793 isContentEditableTrue: _o, 2794 isContentEditableFalse: Ro, 2795 matchNodeNames: No, 2796 hasPropValue: function (t, n) { 2797 return function (e) { 2798 return wo(e) && e[t] === n 2799 } 2800 }, 2801 hasAttribute: function (t, e) { 2802 return function (e) { 2803 return wo(e) && e.hasAttribute(t) 2804 } 2805 }, 2806 hasAttributeValue: function (t, n) { 2807 return function (e) { 2808 return wo(e) && e.getAttribute(t) === n 2809 } 2810 }, 2811 matchStyleValues: function (r, e) { 2812 var o = e.toLowerCase().split(" "); 2813 return function (e) { 2814 var t; 2815 if (wo(e)) 2816 for (t = 0; t < o.length; t++) { 2817 var n = e.ownerDocument.defaultView.getComputedStyle(e, null); 2818 if ((n ? n.getPropertyValue(r) : null) === o[t]) return !0 2819 } 2820 return !1 2821 } 2822 }, 2823 isBogus: function (e) { 2824 return wo(e) && e.hasAttribute("data-mce-bogus") 2825 }, 2826 isBogusAll: function (e) { 2827 return wo(e) && "all" === e.getAttribute("data-mce-bogus") 2828 }, 2829 isTable: function (e) { 2830 return wo(e) && "TABLE" === e.tagName 2831 } 2832 }, 2833 Bo = function (e) { 2834 return e && "SPAN" === e.tagName && "bookmark" === e.getAttribute("data-mce-type") 2835 }, 2836 Oo = function (e, t) { 2837 var n, r = t.childNodes; 2838 if (!Do.isElement(t) || !Bo(t)) { 2839 for (n = r.length - 1; 0 <= n; n--) Oo(e, r[n]); 2840 if (!1 === Do.isDocument(t)) { 2841 if (Do.isText(t) && 0 < t.nodeValue.length) { 2842 var o = Yt.trim(t.nodeValue).length; 2843 if (e.isBlock(t.parentNode) || 0 < o) return; 2844 if (0 === o && (a = (i = t).previousSibling && "SPAN" === i.previousSibling.nodeName, u = i.nextSibling && "SPAN" === i.nextSibling.nodeName, a && u)) return 2845 } else if (Do.isElement(t) && (1 === (r = t.childNodes).length && Bo(r[0]) && t.parentNode.insertBefore(r[0], t), r.length || vo(er.fromDom(t)))) return; 2846 e.remove(t) 2847 } 2848 var i, a, u; 2849 return t 2850 } 2851 }, 2852 Po = { 2853 trimNode: Oo 2854 }, 2855 Lo = Yt.makeMap, 2856 Io = /[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, 2857 Mo = /[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, 2858 Fo = /[<>&\"\']/g, 2859 Uo = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi, 2860 zo = { 2861 128: "\u20ac", 2862 130: "\u201a", 2863 131: "\u0192", 2864 132: "\u201e", 2865 133: "\u2026", 2866 134: "\u2020", 2867 135: "\u2021", 2868 136: "\u02c6", 2869 137: "\u2030", 2870 138: "\u0160", 2871 139: "\u2039", 2872 140: "\u0152", 2873 142: "\u017d", 2874 145: "\u2018", 2875 146: "\u2019", 2876 147: "\u201c", 2877 148: "\u201d", 2878 149: "\u2022", 2879 150: "\u2013", 2880 151: "\u2014", 2881 152: "\u02dc", 2882 153: "\u2122", 2883 154: "\u0161", 2884 155: "\u203a", 2885 156: "\u0153", 2886 158: "\u017e", 2887 159: "\u0178" 2888 }; 2889 ao = { 2890 '"': """, 2891 "'": "'", 2892 "<": "<", 2893 ">": ">", 2894 "&": "&", 2895 "`": "`" 2896 }, uo = { 2897 "<": "<", 2898 ">": ">", 2899 "&": "&", 2900 """: '"', 2901 "'": "'" 2902 }; 2903 var Vo = function (e, t) { 2904 var n, r, o, i = {}; 2905 if (e) { 2906 for (e = e.split(","), t = t || 10, n = 0; n < e.length; n += 2) r = String.fromCharCode(parseInt(e[n], t)), ao[r] || (o = "&" + e[n + 1] + ";", i[r] = o, i[o] = r); 2907 return i 2908 } 2909 }; 2910 io = Vo("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro", 32); 2911 var qo = function (e, t) { 2912 return e.replace(t ? Io : Mo, function (e) { 2913 return ao[e] || e 2914 }) 2915 }, 2916 Ho = function (e, t) { 2917 return e.replace(t ? Io : Mo, function (e) { 2918 return 1 < e.length ? "&#" + (1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536) + ";" : ao[e] || "&#" + e.charCodeAt(0) + ";" 2919 }) 2920 }, 2921 jo = function (e, t, n) { 2922 return n = n || io, e.replace(t ? Io : Mo, function (e) { 2923 return ao[e] || n[e] || e 2924 }) 2925 }, 2926 $o = { 2927 encodeRaw: qo, 2928 encodeAllRaw: function (e) { 2929 return ("" + e).replace(Fo, function (e) { 2930 return ao[e] || e 2931 }) 2932 }, 2933 encodeNumeric: Ho, 2934 encodeNamed: jo, 2935 getEncodeFunc: function (e, t) { 2936 var n = Vo(t) || io, 2937 r = Lo(e.replace(/\+/g, ",")); 2938 return r.named && r.numeric ? function (e, t) { 2939 return e.replace(t ? Io : Mo, function (e) { 2940 return ao[e] !== undefined ? ao[e] : n[e] !== undefined ? n[e] : 1 < e.length ? "&#" + (1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536) + ";" : "&#" + e.charCodeAt(0) + ";" 2941 }) 2942 } : r.named ? t ? function (e, t) { 2943 return jo(e, t, n) 2944 } : jo : r.numeric ? Ho : qo 2945 }, 2946 decode: function (e) { 2947 return e.replace(Uo, function (e, t) { 2948 return t ? 65535 < (t = "x" === t.charAt(0).toLowerCase() ? parseInt(t.substr(1), 16) : parseInt(t, 10)) ? (t -= 65536, String.fromCharCode(55296 + (t >> 10), 56320 + (1023 & t))) : zo[t] || String.fromCharCode(t) : uo[e] || io[e] || (n = e, (r = er.fromTag("div").dom()).innerHTML = n, r.textContent || r.innerText || n); 2949 var n, r 2950 }) 2951 } 2952 }, 2953 Wo = {}, 2954 Ko = {}, 2955 Xo = Yt.makeMap, 2956 Yo = Yt.each, 2957 Go = Yt.extend, 2958 Jo = Yt.explode, 2959 Qo = Yt.inArray, 2960 Zo = function (e, t) { 2961 return (e = Yt.trim(e)) ? e.split(t || " ") : [] 2962 }, 2963 ei = function (e) { 2964 var u, t, n, r, o, i, s = {}, 2965 a = function (e, t, n) { 2966 var r, o, i, a = function (e, t) { 2967 var n, r, o = {}; 2968 for (n = 0, r = e.length; n < r; n++) o[e[n]] = t || {}; 2969 return o 2970 }; 2971 for (t = t || "", "string" == typeof (n = n || []) && (n = Zo(n)), r = (e = Zo(e)).length; r--;) i = { 2972 attributes: a(o = Zo([u, t].join(" "))), 2973 attributesOrder: o, 2974 children: a(n, Ko) 2975 }, s[e[r]] = i 2976 }, 2977 c = function (e, t) { 2978 var n, r, o, i; 2979 for (n = (e = Zo(e)).length, t = Zo(t); n--;) 2980 for (r = s[e[n]], o = 0, i = t.length; o < i; o++) r.attributes[t[o]] = {}, r.attributesOrder.push(t[o]) 2981 }; 2982 return Wo[e] ? Wo[e] : (u = "id accesskey class dir lang style tabindex title role", t = "address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul", n = "a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment", "html4" !== e && (u += " contenteditable contextmenu draggable dropzone hidden spellcheck translate", t += " article aside details dialog figure header footer hgroup section nav", n += " audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen"), "html5-strict" !== e && (u += " xml:lang", n = [n, i = "acronym applet basefont big font strike tt"].join(" "), Yo(Zo(i), function (e) { 2983 a(e, "", n) 2984 }), t = [t, o = "center dir isindex noframes"].join(" "), r = [t, n].join(" "), Yo(Zo(o), function (e) { 2985 a(e, "", r) 2986 })), r = r || [t, n].join(" "), a("html", "manifest", "head body"), a("head", "", "base command link meta noscript script style title"), a("title hr noscript br"), a("base", "href target"), a("link", "href rel media hreflang type sizes hreflang"), a("meta", "name http-equiv content charset"), a("style", "media type scoped"), a("script", "src async defer type charset"), a("body", "onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload", r), a("address dt dd div caption", "", r), a("h1 h2 h3 h4 h5 h6 pre p abbr co
2986de var samp kbd sub sup i b u bdo span legend em strong small s cite dfn", "", n), a("blockquote", "cite", r), a("ol", "reversed start type", "li"), a("ul", "", "li"), a("li", "value", r), a("dl", "", "dt dd"), a("a", "href target rel media hreflang type", n), a("q", "cite", n), a("ins del", "cite datetime", r), a("img", "src sizes srcset alt usemap ismap width height"), a("iframe", "src name width height", r), a("embed", "src type width height"), a("object", "data type typemustmatch name usemap form width height", [r, "param"].join(" ")), a("param", "name value"), a("map", "name", [r, "area"].join(" ")), a("area", "alt coords shape href target rel media hreflang type"), a("table", "border", "caption colgroup thead tfoot tbody tr" + ("html4" === e ? " col" : "")), a("colgroup", "span", "col"), a("col", "span"), a("tbody thead tfoot", "", "tr"), a("tr", "", "td th"), a("td", "colspan rowspan headers", r), a("th", "colspan rowspan headers scope abbr", r), a("form", "accept-charset action autocomplete enctype method name novalidate target", r), a("fieldset", "disabled form name", [r, "legend"].join(" ")), a("label", "form for", n), a("input", "accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"), a("button", "disabled form formaction formenctype formmethod formnovalidate formtarget name type value", "html4" === e ? r : n), a("select", "disabled form multiple name required size", "option optgroup"), a("optgroup", "disabled label", "option"), a("option", "disabled label selected value"), a("textarea", "cols dirname disabled form maxlength name readonly required rows wrap"), a("menu", "type label", [r, "li"].join(" ")), a("noscript", "", r), "html4" !== e && (a("wbr"), a("ruby", "", [n, "rt rp"].join(" ")), a("figcaption", "", r), a("mark rt rp summary bdi", "", n), a("canvas", "width height", r), a("video", "src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered", [r, "track source"].join(" ")), a("audio", "src crossorigin preload autoplay mediagroup loop muted controls buffered volume", [r, "track source"].join(" ")), a("picture", "", "img source"), a("source", "src srcset type media sizes"), a("track", "kind src srclang label default"), a("datalist", "", [n, "option"].join(" ")), a("article section nav aside header footer", "", r), a("hgroup", "", "h1 h2 h3 h4 h5 h6"), a("figure", "", [r, "figcaption"].join(" ")), a("time", "datetime", n), a("dialog", "open", r), a("command", "type label icon disabled checked radiogroup command"), a("output", "for form name", n), a("progress", "value max", n), a("meter", "value min max low high optimum", n), a("details", "open", [r, "summary"].join(" ")), a("keygen", "autofocus challenge disabled form keytype name")), "html5-strict" !== e && (c("script", "language xml:space"), c("style", "xml:space"), c("object", "declare classid code codebase codetype archive standby align border hspace vspace"), c("embed", "align name hspace vspace"), c("param", "valuetype type"), c("a", "charset name rev shape coords"), c("br", "clear"), c("applet", "codebase archive code object alt name width height align hspace vspace"), c("img", "name longdesc align border hspace vspace"), c("iframe", "longdesc frameborder marginwidth marginheight scrolling align"), c("font basefont", "size color face"), c("input", "usemap align"), c("select", "onchange"), c("textarea"), c("h1 h2 h3 h4 h5 h6 div p legend caption", "align"), c("ul", "type compact"), c("li", "type"), c("ol dl menu dir", "compact"), c("pre", "width xml:space"), c("hr", "align noshade size width"), c("isindex", "prompt"), c("table", "summary width frame rules cellspacing cellpadding align bgcolor"), c("col", "width align char charoff valign"), c("colgroup", "width align char charoff valign"), c("thead", "align char charoff valign"), c("tr", "align char charoff valign bgcolor"), c("th", "axis align char charoff valign nowrap bgcolor width height"), c("form", "accept"), c("td", "abbr axis scope align char charoff valign nowrap bgcolor width height"), c("tfoot", "align char charoff valign"), c("tbody", "align char charoff valign"), c("area", "nohref"), c("body", "background bgcolor text link vlink alink")), "html4" !== e && (c("input button select textarea", "autofocus"), c("input textarea", "placeholder"), c("a", "download"), c("link script img", "crossorigin"), c("iframe", "sandbox seamless allowfullscreen")), Yo(Zo("a form meter progress dfn"), function (e) { 2987 s[e] && delete s[e].children[e] 2988 }
vendor: 46,200 bytes, lines 2988-3982
2988), delete s.caption.children.table, delete s.script, Wo[e] = s) 2989 }, 2990 ti = function (e, n) { 2991 var r; 2992 return e && (r = {}, "string" == typeof e && (e = { 2993 "*": e 2994 }), Yo(e, function (e, t) { 2995 r[t] = r[t.toUpperCase()] = "map" === n ? Xo(e, /[, ]/) : Jo(e, /[, ]/) 2996 })), r 2997 }; 2998 2999 function ni(i) { 3000 var e, t, n, r, o, a, u, s, c, l, f, d, m, N = {}, 3001 g = {}, 3002 E = [], 3003 p = {}, 3004 h = {}, 3005 v = function (e, t, n) { 3006 var r = i[e]; 3007 return r ? r = Xo(r, /[, ]/, Xo(r.toUpperCase(), /[, ]/)) : (r = Wo[e]) || (r = Xo(t, " ", Xo(t.toUpperCase(), " ")), r = Go(r, n), Wo[e] = r), r 3008 }; 3009 n = ei((i = i || {}).schema), !1 === i.verify_html && (i.valid_elements = "*[*]"), e = ti(i.valid_styles), t = ti(i.invalid_styles, "map"), s = ti(i.valid_classes, "map"), r = v("whitespace_elements", "pre script noscript style textarea video audio iframe object code"), o = v("self_closing_elements", "colgroup dd dt li option p td tfoot th thead tr"), a = v("short_ended_elements", "area base basefont br col frame hr img input isindex link meta param embed source wbr track"), u = v("boolean_attributes", "checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"), l = v("non_empty_elements", "td th iframe video audio object script pre code", a), f = v("move_caret_before_on_enter_elements", "table", l), d = v("text_block_elements", "h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"), c = v("block_elements", "hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption details summary", d), m = v("text_inline_elements", "span strong b em i font strike u var cite dfn code mark q sup sub samp"), Yo((i.special || "script noscript noframes noembed title style textarea xmp").split(" "), function (e) { 3010 h[e] = new RegExp("</" + e + "[^>]*>", "gi") 3011 }); 3012 var S = function (e) { 3013 return new RegExp("^" + e.replace(/([?+*])/g, ".$1") + "$") 3014 }, 3015 b = function (e) { 3016 var t, n, r, o, i, a, u, s, c, l, f, d, m, g, p, h, v, b, y, C = /^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/, 3017 x = /^([!\-])?(\w+[\\:]:\w+|[^=:<]+)?(?:([=:<])(.*))?$/, 3018 w = /[*?+]/; 3019 if (e) 3020 for (e = Zo(e, ","), N["@"] && (h = N["@"].attributes, v = N["@"].attributesOrder), t = 0, n = e.length; t < n; t++) 3021 if (i = C.exec(e[t])) { 3022 if (g = i[1], c = i[2], p = i[3], s = i[5], a = { 3023 attributes: d = {}, 3024 attributesOrder: m = [] 3025 }, "#" === g && (a.paddEmpty = !0), "-" === g && (a.removeEmpty = !0), "!" === i[4] && (a.removeEmptyAttrs = !0), h) { 3026 for (b in h) d[b] = h[b]; 3027 m.push.apply(m, v) 3028 } 3029 if (s) 3030 for (r = 0, o = (s = Zo(s, "|")).length; r < o; r++) 3031 if (i = x.exec(s[r])) { 3032 if (u = {}, f = i[1], l = i[2].replace(/[\\:]:/g, ":"), g = i[3], y = i[4], "!" === f && (a.attributesRequired = a.attributesRequired || [], a.attributesRequired.push(l), u.required = !0), "-" === f) { 3033 delete d[l], m.splice(Qo(m, l), 1); 3034 continue 3035 } 3036 g && ("=" === g && (a.attributesDefault = a.attributesDefault || [], a.attributesDefault.push({ 3037 name: l, 3038 value: y 3039 }), u.defaultValue = y), ":" === g && (a.attributesForced = a.attributesForced || [], a.attributesForced.push({ 3040 name: l, 3041 value: y 3042 }), u.forcedValue = y), "<" === g && (u.validValues = Xo(y, "?"))), w.test(l) ? (a.attributePatterns = a.attributePatterns || [], u.pattern = S(l), a.attributePatterns.push(u)) : (d[l] || m.push(l), d[l] = u) 3043 } 3044 h || "@" !== c || (h = d, v = m), p && (a.outputName = c, N[p] = a), w.test(c) ? (a.pattern = S(c), E.push(a)) : N[c] = a 3045 } 3046 }, 3047 y = function (e) { 3048 N = {}, E = [], b(e), Yo(n, function (e, t) { 3049 g[t] = e.children 3050 }) 3051 }, 3052 C = function (e) { 3053 var a = /^(~)?(.+)$/; 3054 e && (Wo.text_block_elements = Wo.block_elements = null, Yo(Zo(e, ","), function (e) { 3055 var t = a.exec(e), 3056 n = "~" === t[1], 3057 r = n ? "span" : "div", 3058 o = t[2]; 3059 if (g[o] = g[r], p[o] = r, n || (c[o.toUpperCase()] = {}, c[o] = {}), !N[o]) { 3060 var i = N[r]; 3061 delete(i = Go({}, i)).removeEmptyAttrs, delete i.removeEmpty, N[o] = i 3062 } 3063 Yo(g, function (e, t) { 3064 e[r] && (g[t] = e = Go({}, g[t]), e[o] = e[r]) 3065 }) 3066 })) 3067 }, 3068 x = function (e) { 3069 var o = /^([+\-]?)(\w+)\[([^\]]+)\]$/; 3070 Wo[i.schema] = null, e && Yo(Zo(e, ","), function (e) { 3071 var t, n, r = o.exec(e); 3072 r && (n = r[1], t = n ? g[r[2]] : g[r[2]] = { 3073 "#comment": {} 3074 }, t = g[r[2]], Yo(Zo(r[3], "|"), function (e) { 3075 "-" === n ? delete t[e] : t[e] = {} 3076 })) 3077 }) 3078 }, 3079 w = function (e) { 3080 var t, n = N[e]; 3081 if (n) return n; 3082 for (t = E.length; t--;) 3083 if ((n = E[t]).pattern.test(e)) return n 3084 }; 3085 return i.valid_elements ? y(i.valid_elements) : (Yo(n, function (e, t) { 3086 N[t] = { 3087 attributes: e.attributes, 3088 attributesOrder: e.attributesOrder 3089 }, g[t] = e.children 3090 }), "html5" !== i.schema && Yo(Zo("strong/b em/i"), function (e) { 3091 e = Zo(e, "/"), N[e[1]].outputName = e[0] 3092 }), Yo(Zo("ol ul sub sup blockquote span font a table tbody tr strong em b i"), function (e) { 3093 N[e] && (N[e].removeEmpty = !0) 3094 }), Yo(Zo("p h1 h2 h3 h4 h5 h6 th td pre div address caption li"), function (e) { 3095 N[e].paddEmpty = !0 3096 }), Yo(Zo("span"), function (e) { 3097 N[e].removeEmptyAttrs = !0 3098 })), C(i.custom_elements), x(i.valid_children), b(i.extended_valid_elements), x("+ol[ul|ol],+ul[ul|ol]"), Yo({ 3099 dd: "dl", 3100 dt: "dl", 3101 li: "ul ol", 3102 td: "tr", 3103 th: "tr", 3104 tr: "tbody thead tfoot", 3105 tbody: "table", 3106 thead: "table", 3107 tfoot: "table", 3108 legend: "fieldset", 3109 area: "map", 3110 param: "video audio object" 3111 }, function (e, t) { 3112 N[t] && (N[t].parentsRequired = Zo(e)) 3113 }), i.invalid_elements && Yo(Jo(i.invalid_elements), function (e) { 3114 N[e] && delete N[e] 3115 }), w("span") || b("span[!data-mce-type|*]"), { 3116 children: g, 3117 elements: N, 3118 getValidStyles: function () { 3119 return e 3120 }, 3121 getValidClasses: function () { 3122 return s 3123 }, 3124 getBlockElements: function () { 3125 return c 3126 }, 3127 getInvalidStyles: function () { 3128 return t 3129 }, 3130 getShortEndedElements: function () { 3131 return a 3132 }, 3133 getTextBlockElements: function () { 3134 return d 3135 }, 3136 getTextInlineElements: function () { 3137 return m 3138 }, 3139 getBoolAttrs: function () { 3140 return u 3141 }, 3142 getElementRule: w, 3143 getSelfClosingElements: function () { 3144 return o 3145 }, 3146 getNonEmptyElements: function () { 3147 return l 3148 }, 3149 getMoveCaretBeforeOnEnterElements: function () { 3150 return f 3151 }, 3152 getWhiteSpaceElements: function () { 3153 return r 3154 }, 3155 getSpecialElements: function () { 3156 return h 3157 }, 3158 isValidChild: function (e, t) { 3159 var n = g[e.toLowerCase()]; 3160 return !(!n || !n[t.toLowerCase()]) 3161 }, 3162 isValid: function (e, t) { 3163 var n, r, o = w(e); 3164 if (o) { 3165 if (!t) return !0; 3166 if (o.attributes[t]) return !0; 3167 if (n = o.attributePatterns) 3168 for (r = n.length; r--;) 3169 if (n[r].pattern.test(e)) return !0 3170 } 3171 return !1 3172 }, 3173 getCustomElements: function () { 3174 return p 3175 }, 3176 addValidElements: b, 3177 setValidElements: y, 3178 addCustomElements: C, 3179 addValidChildren: x 3180 } 3181 } 3182 var ri = function (e, t, n, r) { 3183 var o = function (e) { 3184 return 1 < (e = parseInt(e, 10).toString(16)).length ? e : "0" + e 3185 }; 3186 return "#" + o(t) + o(n) + o(r) 3187 }; 3188 3189 function oi(y, e) { 3190 var C, t, c, l, x = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi, 3191 w = /(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi, 3192 N = /\s*([^:]+):\s*([^;]+);?/g, 3193 E = /\s+$/, 3194 S = {}, 3195 T = "\ufeff"; 3196 for (y = y || {}, e && (c = e.getValidStyles(), l = e.getInvalidStyles()), t = ("\\\" \\' \\; \\: ; : " + T).split(" "), C = 0; C < t.length; C++) S[t[C]] = T + C, S[T + C] = t[C]; 3197 return { 3198 toHex: function (e) { 3199 return e.replace(x, ri) 3200 }, 3201 parse: function (e) { 3202 var t, n, r, o, i, a, u, s, c = {}, 3203 l = y.url_converter, 3204 f = y.url_converter_scope || this, 3205 d = function (e, t, n) { 3206 var r, o, i, a; 3207 if ((r = c[e + "-top" + t]) && (o = c[e + "-right" + t]) && (i = c[e + "-bottom" + t]) && (a = c[e + "-left" + t])) { 3208 var u = [r, o, i, a]; 3209 for (C = u.length - 1; C-- && u[C] === u[C + 1];); - 1 < C && n || (c[e + t] = -1 === C ? u[0] : u.join(" "), delete c[e + "-top" + t], delete c[e + "-right" + t], delete c[e + "-bottom" + t], delete c[e + "-left" + t]) 3210 } 3211 }, 3212 m = function (e) { 3213 var t, n = c[e]; 3214 if (n) { 3215 for (t = (n = n.split(" ")).length; t--;) 3216 if (n[t] !== n[0]) return !1; 3217 return c[e] = n[0], !0 3218 } 3219 }, 3220 g = function (e) { 3221 return o = !0, S[e] 3222 }, 3223 p = function (e, t) { 3224 return o && (e = e.replace(/\uFEFF[0-9]/g, function (e) { 3225 return S[e] 3226 })), t || (e = e.replace(/\\([\'\";:])/g, "$1")), e 3227 }, 3228 h = function (e) { 3229 return String.fromCharCode(parseInt(e.slice(1), 16)) 3230 }, 3231 v = function (e) { 3232 return e.replace(/\\[0-9a-f]+/gi, h) 3233 }, 3234 b = function (e, t, n, r, o, i) { 3235 if (o = o || i) return "'" + (o = p(o)).replace(/\'/g, "\\'") + "'"; 3236 if (t = p(t || n || r), !y.allow_script_urls) { 3237 var a = t.replace(/[\s\r\n]+/g, ""); 3238 if (/(java|vb)script:/i.test(a)) return ""; 3239 if (!y.allow_svg_data_urls && /^data:image\/svg/i.test(a)) return "" 3240 } 3241 return l && (t = l.call(f, t, "style")), "url('" + t.replace(/\'/g, "\\'") + "')" 3242 }; 3243 if (e) { 3244 for (e = (e = e.replace(/[\u0000-\u001F]/g, "")).replace(/\\[\"\';:\uFEFF]/g, g).replace(/\"[^\"]+\"|\'[^\']+\'/g, function (e) { 3245 return e.replace(/[;:]/g, g) 3246 }); t = N.exec(e);) 3247 if (N.lastIndex = t.index + t[0].length, n = t[1].replace(E, "").toLowerCase(), r = t[2].replace(E, ""), n && r) { 3248 if (n = v(n), r = v(r), -1 !== n.indexOf(T) || -1 !== n.indexOf('"')) continue; 3249 if (!y.allow_script_urls && ("behavior" === n || /expression\s*\(|\/\*|\*\//.test(r))) continue; 3250 "font-weight" === n && "700" === r ? r = "bold" : "color" !== n && "background-color" !== n || (r = r.toLowerCase()), r = (r = r.replace(x, ri)).replace(w, b), c[n] = o ? p(r, !0) : r 3251 } 3252 d("border", "", !0), d("border", "-width"), d("border", "-color"), d("border", "-style"), d("padding", ""), d("margin", ""), i = "border", u = "border-style", s = "border-color", m(a = "border-width") && m(u) && m(s) && (c[i] = c[a] + " " + c[u] + " " + c[s], delete c[a], delete c[u], delete c[s]), "medium none" === c.border && delete c.border, "none" === c["border-image"] && delete c["border-image"] 3253 } 3254 return c 3255 }, 3256 serialize: function (i, e) { 3257 var t, n, r, o, a, u = "", 3258 s = function (e) { 3259 var t, n, r, o; 3260 if (t = c[e]) 3261 for (n = 0, r = t.length; n < r; n++) e = t[n], (o = i[e]) && (u += (0 < u.length ? " " : "") + e + ": " + o + ";") 3262 }; 3263 if (e && c) s("*"), s(e); 3264 else 3265 for (t in i) !(n = i[t]) || l && (r = t, o = e, a = void 0, (a = l["*"]) && a[r] || (a = l[o]) && a[r]) || (u += (0 < u.length ? " " : "") + t + ": " + n + ";"); 3266 return u 3267 } 3268 } 3269 } 3270 var ii, ai = Yt.each, 3271 ui = Yt.grep, 3272 si = Re.ie, 3273 ci = /^([a-z0-9],?)+$/i, 3274 li = /^[ \t\r\n]*$/, 3275 fi = function (n, r, o) { 3276 var e = {}, 3277 i = r.keep_values, 3278 t = { 3279 set: function (e, t, n) { 3280 r.url_converter && (t = r.url_converter.call(r.url_converter_scope || o(), t, n, e[0])), e.attr("data-mce-" + n, t).attr(n, t) 3281 }, 3282 get: function (e, t) { 3283 return e.attr("data-mce-" + t) || e.attr(t) 3284 } 3285 }; 3286 return e = { 3287 style: { 3288 set: function (e, t) { 3289 null === t || "object" != typeof t ? (i && e.attr("data-mce-style", t), e.attr("style", t)) : e.css(t) 3290 }, 3291 get: function (e) { 3292 var t = e.attr("data-mce-style") || e.attr("style"); 3293 return t = n.serialize(n.parse(t), e[0].nodeName) 3294 } 3295 } 3296 }, i && (e.href = e.src = t), e 3297 }, 3298 di = function (e, t) { 3299 var n = t.attr("style"), 3300 r = e.serialize(e.parse(n), t[0].nodeName); 3301 r || (r = null), t.attr("data-mce-style", r) 3302 }, 3303 mi = function (e, t) { 3304 var n, r, o = 0; 3305 if (e) 3306 for (n = e.nodeType, e = e.previousSibling; e; e = e.previousSibling) r = e.nodeType, (!t || 3 !== r || r !== n && e.nodeValue.length) && (o++, n = r); 3307 return o 3308 }; 3309 3310 function gi(a, u) { 3311 var s, c = this; 3312 void 0 === u && (u = {}); 3313 var r = {}, 3314 i = window, 3315 o = {}, 3316 t = 0, 3317 e = function (m, e) { 3318 var g, p = 0, 3319 h = {}; 3320 g = (e = e || {}).maxLoadTime || 5e3; 3321 var v = function (e) { 3322 m.getElementsByTagName("head")[0].appendChild(e) 3323 }, 3324 n = function (e, t, n) { 3325 var o, r, i, a, u = function () { 3326 for (var e = a.passed, t = e.length; t--;) e[t](); 3327 a.status = 2, a.passed = [], a.failed = [] 3328 }, 3329 s = function () { 3330 for (var e = a.failed, t = e.length; t--;) e[t](); 3331 a.status = 3, a.passed = [], a.failed = [] 3332 }, 3333 c = function (e, t) { 3334 e() || ((new Date).getTime() - i < g ? Le.setTimeout(t) : s()) 3335 }, 3336 l = function () { 3337 c(function () { 3338 for (var e, t, n = m.styleSheets, r = n.length; r--;) 3339 if ((t = (e = n[r]).ownerNode ? e.ownerNode : e.owningElement) && t.id === o.id) return u(), !0 3340 }, l) 3341 }, 3342 f = function () { 3343 c(function () { 3344 try { 3345 var e = r.sheet.cssRules; 3346 return u(), !!e 3347 } catch (t) {} 3348 }, f) 3349 }; 3350 if (e = Yt._addCacheSuffix(e), h[e] ? a = h[e] : (a = { 3351 passed: [], 3352 failed: [] 3353 }, h[e] = a), t && a.passed.push(t), n && a.failed.push(n), 1 !== a.status) 3354 if (2 !== a.status) 3355 if (3 !== a.status) { 3356 if (a.status = 1, (o = m.createElement("link")).rel = "stylesheet", o.type = "text/css", o.id = "u" + p++, o.async = !1, o.defer = !1, i = (new Date).getTime(), "onload" in o && !((d = navigator.userAgent.match(/WebKit\/(\d*)/)) && parseInt(d[1], 10) < 536)) o.onload = l, o.onerror = s; 3357 else { 3358 if (0 < navigator.userAgent.indexOf("Firefox")) return (r = m.createElement("style")).textContent = '@import "' + e + '"', f(), void v(r); 3359 l() 3360 } 3361 var d; 3362 v(o), o.href = e 3363 } else s(); 3364 else u() 3365 }, 3366 t = function (t) { 3367 return Qr.nu(function (e) { 3368 n(t, q(e, H(ro.value(t))), q(e, H(ro.error(t)))) 3369 }) 3370 }, 3371 o = function (e) { 3372 return e.fold(j, j) 3373 }; 3374 return { 3375 load: n, 3376 loadAll: function (e, n, r) { 3377 eo($(e, t)).get(function (e) { 3378 var t = W(e, function (e) { 3379 return e.isValue() 3380 }); 3381 0 < t.fail.length ? r(t.fail.map(o)) : n(t.pass.map(o)) 3382 }) 3383 } 3384 } 3385 }(a), 3386 l = [], 3387 f = u.schema ? u.schema : ni({}), 3388 d = oi({ 3389 url_converter: u.url_converter, 3390 url_converter_scope: u.url_converter_scope 3391 }, u.schema), 3392 m = u.ownEvents ? new je(u.proxy) : je.Event, 3393 n = f.getBlockElements(), 3394 g = pn.overrideDefaults(function () { 3395 return { 3396 context: a, 3397 element: V.getRoot() 3398 } 3399 }), 3400 p = function (e) { 3401 if (e && a && "string" == typeof e) { 3402 var t = a.getElementById(e); 3403 return t && t.id !== e ? a.getElementsByName(e)[1] : t 3404 } 3405 return e 3406 }, 3407 h = function (e) { 3408 return "string" == typeof e && (e = p(e)), g(e) 3409 }, 3410 v = function (e, t, n) { 3411 var r, o, i = h(e); 3412 return i.length && (o = (r = s[t]) && r.get ? r.get(i, t) : i.attr(t)), void 0 === o && (o = n || ""), o 3413 }, 3414 b = function (e) { 3415 var t = p(e); 3416 return t ? t.attributes : [] 3417 }, 3418 y = function (e, t, n) { 3419 var r, o; 3420 "" === n && (n = null); 3421 var i = h(e); 3422 r = i.attr(t), i.length && ((o = s[t]) && o.set ? o.set(i, n, t) : i.attr(t, n), r !== n && u.onSetAttrib && u.onSetAttrib({ 3423 attrElm: i, 3424 attrName: t, 3425 attrValue: n 3426 })) 3427 }, 3428 C = function () { 3429 return u.root_element || a.body 3430 }, 3431 x = function (e, t) { 3432 return Xr.getPos(a.body, p(e), t) 3433 }, 3434 w = function (e, t, n) { 3435 var r = h(e); 3436 return n ? r.css(t) : ("float" === (t = t.replace(/-(\D)/g, function (e, t) { 3437 return t.toUpperCase() 3438 })) && (t = Re.ie && Re.ie < 12 ? "styleFloat" : "cssFloat"), r[0] && r[0].style ? r[0].style[t] : undefined) 3439 }, 3440 N = function (e) { 3441 var t, n; 3442 return e = p(e), t = w(e, "width"), n = w(e, "height"), -1 === t.indexOf("px") && (t = 0), -1 === n.indexOf("px") && (n = 0), { 3443 w: parseInt(t, 10) || e.offsetWidth || e.clientWidth, 3444 h: parseInt(n, 10) || e.offsetHeight || e.clientHeight 3445 } 3446 }, 3447 E = function (e, t) { 3448 var n; 3449 if (!e) return !1; 3450 if (!Array.isArray(e)) { 3451 if ("*" === t) return 1 === e.nodeType; 3452 if (ci.test(t)) { 3453 var r = t.toLowerCase().split(/,/), 3454 o = e.nodeName.toLowerCase(); 3455 for (n = r.length - 1; 0 <= n; n--) 3456 if (r[n] === o) return !0; 3457 return !1 3458 } 3459 if (e.nodeType && 1 !== e.nodeType) return !1 3460 } 3461 var i = Array.isArray(e) ? e : [e]; 3462 return 0 < Tt(t, i[0].ownerDocument || i[0], null, i).length 3463 }, 3464 S = function (e, t, n, r) { 3465 var o, i = [], 3466 a = p(e); 3467 for (r = r === undefined, n = n || ("BODY" !== C().nodeName ? C().parentNode : null), Yt.is(t, "string") && (t = "*" === (o = t) ? function (e) { 3468 return 1 === e.nodeType 3469 } : function (e) { 3470 return E(e, o) 3471 }); a && a !== n && a.nodeType && 9 !== a.nodeType;) { 3472 if (!t || "function" == typeof t && t(a)) { 3473 if (!r) return [a]; 3474 i.push(a) 3475 } 3476 a = a.parentNode 3477 } 3478 return r ? i : null 3479 }, 3480 T = function (e, t, n) { 3481 var r = t; 3482 if (e) 3483 for ("string" == typeof t && (r = function (e) { 3484 return E(e, t) 3485 }), e = e[n]; e; e = e[n]) 3486 if ("function" == typeof r && r(e)) return e; 3487 return null 3488 }, 3489 k = function (e, n, r) { 3490 var o, t = "string" == typeof e ? p(e) : e; 3491 if (!t) return !1; 3492 if (Yt.isArray(t) && (t.length || 0 === t.length)) return o = [], ai(t, function (e, t) { 3493 e && ("string" == typeof e && (e = p(e)), o.push(n.call(r, e, t))) 3494 }), o; 3495 var i = r || c; 3496 return n.call(i, t) 3497 }, 3498 A = function (e, t) { 3499 h(e).each(function (e, n) { 3500 ai(t, function (e, t) { 3501 y(n, t, e) 3502 }) 3503 }) 3504 }, 3505 _ = function (e, r) { 3506 var t = h(e); 3507 si ? t.each(function (e, t) { 3508 if (!1 !== t.canHaveHTML) { 3509 for (; t.firstChild;) t.removeChild(t.firstChild); 3510 try { 3511 t.innerHTML = "<br>" + r, t.removeChild(t.firstChild) 3512 } catch (n) { 3513 pn("<div></div>").html("<br>" + r).contents().slice(1).appendTo(t) 3514 } 3515 return r 3516 } 3517 }) : t.html(r) 3518 }, 3519 R = function (e, n, r, o, i) { 3520 return k(e, function (e) { 3521 var t = "string" == typeof n ? a.createElement(n) : n; 3522 return A(t, r), o && ("string" != typeof o && o.nodeType ? t.appendChild(o) : "string" == typeof o && _(t, o)), i ? t : e.appendChild(t) 3523 }) 3524 }, 3525 D = function (e, t, n) { 3526 return R(a.createElement(e), e, t, n, !0) 3527 }, 3528 B = $o.decode, 3529 O = $o.encodeAllRaw, 3530 P = function (e, t) { 3531 var n = h(e); 3532 return t ? n.each(function () { 3533 for (var e; e = this.firstChild;) 3 === e.nodeType && 0 === e.data.length ? this.removeChild(e) : this.parentNode.insertBefore(e, this) 3534 }).remove() : n.remove(), 1 < n.length ? n.toArray() : n[0] 3535 }, 3536 L = function (e, t, n) { 3537 h(e).toggleClass(t, n).each(function () { 3538 "" === this.className && pn(this).attr("class", null) 3539 }) 3540 }, 3541 I = function (t, e, n) { 3542 return k(e, function (e) { 3543 return Yt.is(e, "array") && (t = t.cloneNode(!0)), n && ai(ui(e.childNodes), function (e) { 3544 t.appendChild(e) 3545 }), e.parentNode.replaceChild(t, e) 3546 }) 3547 }, 3548 M = function () { 3549 return a.createRange() 3550 }, 3551 F = function (e, t, n, r) { 3552 if (Yt.isArray(e)) { 3553 for (var o = e.length; o--;) e[o] = F(e[o], t, n, r); 3554 return e 3555 } 3556 return !u.collect || e !== a && e !== i || l.push([e, t, n, r]), m.bind(e, t, n, r || V) 3557 }, 3558 U = function (e, t, n) { 3559 var r; 3560 if (Yt.isArray(e)) { 3561 for (r = e.length; r--;) e[r] = U(e[r], t, n); 3562 return e 3563 } 3564 if (l && (e === a || e === i)) 3565 for (r = l.length; r--;) { 3566 var o = l[r]; 3567 e !== o[0] || t && t !== o[1] || n && n !== o[2] || m.unbind(o[0], o[1], o[2]) 3568 } 3569 return m.unbind(e, t, n) 3570 }, 3571 z = function (e) { 3572 if (e && Do.isElement(e)) { 3573 var t = e.getAttribute("data-mce-contenteditable"); 3574 return t && "inherit" !== t ? t : "inherit" !== e.contentEditable ? e.contentEditable : null 3575 } 3576 return null 3577 }, 3578 V = { 3579 doc: a, 3580 settings: u, 3581 win: i, 3582 files: o, 3583 stdMode: !0, 3584 boxModel: !0, 3585 styleSheetLoader: e, 3586 boundEvents: l, 3587 styles: d, 3588 schema: f, 3589 events: m, 3590 isBlock: function (e) { 3591 if ("string" == typeof e) return !!n[e]; 3592 if (e) { 3593 var t = e.nodeType; 3594 if (t) return !(1 !== t || !n[e.nodeName]) 3595 } 3596 return !1 3597 }, 3598 $: g, 3599 $$: h, 3600 root: null, 3601 clone: function (t, e) { 3602 if (!si || 1 !== t.nodeType || e) return t.cloneNode(e); 3603 if (!e) { 3604 var n = a.createElement(t.nodeName); 3605 return ai(b(t), function (e) { 3606 y(n, e.nodeName, v(t, e.nodeName)) 3607 }), n 3608 } 3609 return null 3610 }, 3611 getRoot: C, 3612 getViewPort: function (e) { 3613 var t = e || i, 3614 n = t.document, 3615 r = n.documentElement; 3616 return { 3617 x: t.pageXOffset || r.scrollLeft, 3618 y: t.pageYOffset || r.scrollTop, 3619 w: t.innerWidth || r.clientWidth, 3620 h: t.innerHeight || r.clientHeight 3621 } 3622 }, 3623 getRect: function (e) { 3624 var t, n; 3625 return e = p(e), t = x(e), n = N(e), { 3626 x: t.x, 3627 y: t.y, 3628 w: n.w, 3629 h: n.h 3630 } 3631 }, 3632 getSize: N, 3633 getParent: function (e, t, n) { 3634 var r = S(e, t, n, !1); 3635 return r && 0 < r.length ? r[0] : null 3636 }, 3637 getParents: S, 3638 get: p, 3639 getNext: function (e, t) { 3640 return T(e, t, "nextSibling") 3641 }, 3642 getPrev: function (e, t) { 3643 return T(e, t, "previousSibling") 3644 }, 3645 select: function (e, t) { 3646 return Tt(e, p(t) || u.root_element || a, []) 3647 }, 3648 is: E, 3649 add: R, 3650 create: D, 3651 createHTML: function (e, t, n) { 3652 var r, o = ""; 3653 for (r in o += "<" + e, t) t.hasOwnProperty(r) && null !== t[r] && "undefined" != typeof t[r] && (o += " " + r + '="' + O(t[r]) + '"'); 3654 return void 0 !== n ? o + ">" + n + "</" + e + ">" : o + " />" 3655 }, 3656 createFragment: function (e) { 3657 var t, n = a.createElement("div"), 3658 r = a.createDocumentFragment(); 3659 for (e && (n.innerHTML = e); t = n.firstChild;) r.appendChild(t); 3660 return r 3661 }, 3662 remove: P, 3663 setStyle: function (e, t, n) { 3664 var r = h(e).css(t, n); 3665 u.update_styles && di(d, r) 3666 }, 3667 getStyle: w, 3668 setStyles: function (e, t) { 3669 var n = h(e).css(t); 3670 u.update_styles && di(d, n) 3671 }, 3672 removeAllAttribs: function (e) { 3673 return k(e, function (e) { 3674 var t, n = e.attributes; 3675 for (t = n.length - 1; 0 <= t; t--) e.removeAttributeNode(n.item(t)) 3676 }) 3677 }, 3678 setAttrib: y, 3679 setAttribs: A, 3680 getAttrib: v, 3681 getPos: x, 3682 parseStyle: function (e) { 3683 return d.parse(e) 3684 }, 3685 serializeStyle: function (e, t) { 3686 return d.serialize(e, t) 3687 }, 3688 addStyle: function (e) { 3689 var t, n; 3690 if (V !== gi.DOM && a === document) { 3691 if (r[e]) return; 3692 r[e] = !0 3693 }(n = a.getElementById("mceDefaultStyles")) || ((n = a.createElement("style")).id = "mceDefaultStyles", n.type = "text/css", (t = a.getElementsByTagName("head")[0]).firstChild ? t.insertBefore(n, t.firstChild) : t.appendChild(n)), n.styleSheet ? n.styleSheet.cssText += e : n.appendChild(a.createTextNode(e)) 3694 }, 3695 loadCSS: function (e) { 3696 var n; 3697 V === gi.DOM || a !== document ? (e || (e = ""), n = a.getElementsByTagName("head")[0], ai(e.split(","), function (e) { 3698 var t; 3699 e = Yt._addCacheSuffix(e), o[e] || (o[e] = !0, t = D("link", { 3700 rel: "stylesheet", 3701 href: e 3702 }), n.appendChild(t)) 3703 })) : gi.DOM.loadCSS(e) 3704 }, 3705 addClass: function (e, t) { 3706 h(e).addClass(t) 3707 }, 3708 removeClass: function (e, t) { 3709 L(e, t, !1) 3710 }, 3711 hasClass: function (e, t) { 3712 return h(e).hasClass(t) 3713 }, 3714 toggleClass: L, 3715 show: function (e) { 3716 h(e).show() 3717 }, 3718 hide: function (e) { 3719 h(e).hide() 3720 }, 3721 isHidden: function (e) { 3722 return "none" === h(e).css("display") 3723 }, 3724 uniqueId: function (e) { 3725 return (e || "mce_") + t++ 3726 }, 3727 setHTML: _, 3728 getOuterHTML: function (e) { 3729 var t = "string" == typeof e ? p(e) : e; 3730 return Do.isElement(t) ? t.outerHTML : pn("<div></div>").append(pn(t).clone()).html() 3731 }, 3732 setOuterHTML: function (e, t) { 3733 h(e).each(function () { 3734 try { 3735 if ("outerHTML" in this) return void(this.outerHTML = t) 3736 } catch (e) {} 3737 P(pn(this).html(t), !0) 3738 }) 3739 }, 3740 decode: B, 3741 encode: O, 3742 insertAfter: function (e, t) { 3743 var r = p(t); 3744 return k(e, function (e) { 3745 var t, n; 3746 return t = r.parentNode, (n = r.nextSibling) ? t.insertBefore(e, n) : t.appendChild(e), e 3747 }) 3748 }, 3749 replace: I, 3750 rename: function (t, e) { 3751 var n; 3752 return t.nodeName !== e.toUpperCase() && (n = D(e), ai(b(t), function (e) { 3753 y(n, e.nodeName, v(t, e.nodeName)) 3754 }), I(n, t, !0)), n || t 3755 }, 3756 findCommonAncestor: function (e, t) { 3757 for (var n, r = e; r;) { 3758 for (n = t; n && r !== n;) n = n.parentNode; 3759 if (r === n) break; 3760 r = r.parentNode 3761 } 3762 return !r && e.ownerDocument ? e.ownerDocument.documentElement : r 3763 }, 3764 toHex: function (e) { 3765 return d.toHex(Yt.trim(e)) 3766 }, 3767 run: k, 3768 getAttribs: b, 3769 isEmpty: function (e, t) { 3770 var n, r, o, i, a, u, s = 0; 3771 if (e = e.firstChild) { 3772 a = new oo(e, e.parentNode), t = t || (f ? f.getNonEmptyElements() : null), i = f ? f.getWhiteSpaceElements() : {}; 3773 do { 3774 if (o = e.nodeType, Do.isElement(e)) { 3775 var c = e.getAttribute("data-mce-bogus"); 3776 if (c) { 3777 e = a.next("all" === c); 3778 continue 3779 } 3780 if (u = e.nodeName.toLowerCase(), t && t[u]) { 3781 if ("br" === u) { 3782 s++, e = a.next(); 3783 continue 3784 } 3785 return !1 3786 } 3787 for (n = (r = b(e)).length; n--;) 3788 if ("name" === (u = r[n].nodeName) || "data-mce-bookmark" === u) return !1 3789 } 3790 if (8 === o) return !1; 3791 if (3 === o && !li.test(e.nodeValue)) return !1; 3792 if (3 === o && e.parentNode && i[e.parentNode.nodeName] && li.test(e.nodeValue)) return !1; 3793 e = a.next() 3794 } while (e) 3795 } 3796 return s <= 1 3797 }, 3798 createRng: M, 3799 nodeIndex: mi, 3800 split: function (e, t, n) { 3801 var r, o, i, a = M(); 3802 if (e && t) return a.setStart(e.parentNode, mi(e)), a.setEnd(t.parentNode, mi(t)), r = a.extractContents(), (a = M()).setStart(t.parentNode, mi(t) + 1), a.setEnd(e.parentNode, mi(e) + 1), o = a.extractContents(), (i = e.parentNode).insertBefore(Po.trimNode(V, r), e), n ? i.insertBefore(n, e) : i.insertBefore(t, e), i.insertBefore(Po.trimNode(V, o), e), P(e), n || t 3803 }, 3804 bind: F, 3805 unbind: U, 3806 fire: function (e, t, n) { 3807 return m.fire(e, t, n) 3808 }, 3809 getContentEditable: z, 3810 getContentEditableParent: function (e) { 3811 for (var t = C(), n = null; e && e !== t && null === (n = z(e)); e = e.parentNode); 3812 return n 3813 }, 3814 destroy: function () { 3815 if (l) 3816 for (var e = l.length; e--;) { 3817 var t = l[e]; 3818 m.unbind(t[0], t[1], t[2]) 3819 } 3820 Tt.setDocument && Tt.setDocument() 3821 }, 3822 isChildOf: function (e, t) { 3823 for (; e;) { 3824 if (t === e) return !0; 3825 e = e.parentNode 3826 } 3827 return !1 3828 }, 3829 dumpRng: function (e) { 3830 return "startContainer: " + e.startContainer.nodeName + ", startOffset: " + e.startOffset + ", endContainer: " + e.endContainer.nodeName + ", endOffset: " + e.endOffset 3831 } 3832 }; 3833 return s = fi(d, u, function () { 3834 return V 3835 }), V 3836 }(ii = gi || (gi = {})).DOM = ii(document), ii.nodeIndex = mi; 3837 var pi = gi, 3838 hi = pi.DOM, 3839 vi = Yt.each, 3840 bi = Yt.grep, 3841 yi = function (e) { 3842 return "function" == typeof e 3843 }, 3844 Ci = function () { 3845 var l = {}, 3846 o = [], 3847 i = {}, 3848 a = [], 3849 f = 0; 3850 this.isDone = function (e) { 3851 return 2 === l[e] 3852 }, this.markDone = function (e) { 3853 l[e] = 2 3854 }, this.add = this.load = function (e, t, n, r) { 3855 l[e] === undefined && (o.push(e), l[e] = 0), t && (i[e] || (i[e] = []), i[e].push({ 3856 success: t, 3857 failure: r, 3858 scope: n || this 3859 })) 3860 }, this.remove = function (e) { 3861 delete l[e], delete i[e] 3862 }, this.loadQueue = function (e, t, n) { 3863 this.loadScripts(o, e, t, n) 3864 }, this.loadScripts = function (n, e, t, r) { 3865 var u, s = [], 3866 c = function (t, e) { 3867 vi(i[e], function (e) { 3868 yi(e[t]) && e[t].call(e.scope) 3869 }), i[e] = undefined 3870 }; 3871 a.push({ 3872 success: e, 3873 failure: r, 3874 scope: t || this 3875 }), (u = function () { 3876 var e = bi(n); 3877 if (n.length = 0, vi(e, function (e) { 3878 var t, n, r, o, i, a; 3879 2 !== l[e] ? 3 !== l[e] ? 1 !== l[e] && (l[e] = 1, f++, t = e, n = function () { 3880 l[e] = 2, f--, c("success", e), u() 3881 }, r = function () { 3882 l[e] = 3, f--, s.push(e), c("failure", e), u() 3883 }, i = (a = hi).uniqueId(), (o = document.createElement("script")).id = i, o.type = "text/javascript", o.src = Yt._addCacheSuffix(t), o.onload = function () { 3884 a.remove(i), o && (o.onreadystatechange = o.onload = o = null), n() 3885 }, o.onerror = function () { 3886 yi(r) ? r() : "undefined" != typeof console && console.log && console.log("Failed to load script: " + t) 3887 }, (document.getElementsByTagName("head")[0] || document.body).appendChild(o)) : c("failure", e) : c("success", e) 3888 }), !f) { 3889 var t = a.slice(0); 3890 a.length = 0, vi(t, function (e) { 3891 0 === s.length ? yi(e.success) && e.success.call(e.scope) : yi(e.failure) && e.failure.call(e.scope, s) 3892 }) 3893 } 3894 })() 3895 } 3896 }; 3897 Ci.ScriptLoader = new Ci; 3898 var xi, wi = Yt.each; 3899 3900 function Ni() { 3901 var r = this, 3902 o = [], 3903 a = {}, 3904 u = {}, 3905 i = [], 3906 s = function (e) { 3907 var t; 3908 return u[e] && (t = u[e].dependencies), t || [] 3909 }, 3910 c = function (e, t) { 3911 return "object" == typeof t ? t : "string" == typeof e ? { 3912 prefix: "", 3913 resource: t, 3914 suffix: "" 3915 } : { 3916 prefix: e.prefix, 3917 resource: t, 3918 suffix: e.suffix 3919 } 3920 }, 3921 l = function (e, n, t, r) { 3922 var o = s(e); 3923 wi(o, function (e) { 3924 var t = c(n, e); 3925 f(t.resource, t, undefined, undefined) 3926 }), t && (r ? t.call(r) : t.call(Ci)) 3927 }, 3928 f = function (e, t, n, r, o) { 3929 if (!a[e]) { 3930 var i = "string" == typeof t ? t : t.prefix + t.resource + t.suffix; 3931 0 !== i.indexOf("/") && -1 === i.indexOf("://") && (i = Ni.baseURL + "/" + i), a[e] = i.substring(0, i.lastIndexOf("/")), u[e] ? l(e, t, n, r) : Ci.ScriptLoader.add(i, function () { 3932 return l(e, t, n, r) 3933 }, r, o) 3934 } 3935 }; 3936 return { 3937 items: o, 3938 urls: a, 3939 lookup: u, 3940 _listeners: i, 3941 get: function (e) { 3942 return u[e] ? u[e].instance : undefined 3943 }, 3944 dependencies: s, 3945 requireLangPack: function (e, t) { 3946 var n = Ni.language; 3947 if (n && !1 !== Ni.languageLoad) { 3948 if (t) 3949 if (-1 !== (t = "," + t + ",").indexOf("," + n.substr(0, 2) + ",")) n = n.substr(0, 2); 3950 else if (-1 === t.indexOf("," + n + ",")) return; 3951 Ci.ScriptLoader.add(a[e] + "/langs/" + n + ".js") 3952 } 3953 }, 3954 add: function (t, e, n) { 3955 o.push(e), u[t] = { 3956 instance: e, 3957 dependencies: n 3958 }; 3959 var r = W(i, function (e) { 3960 return e.name === t 3961 }); 3962 return i = r.fail, wi(r.pass, function (e) { 3963 e.callback() 3964 }), e 3965 }, 3966 remove: function (e) { 3967 delete a[e], delete u[e] 3968 }, 3969 createUrl: c, 3970 addComponents: function (e, t) { 3971 var n = r.urls[e]; 3972 wi(t, function (e) { 3973 Ci.ScriptLoader.add(n + "/" + e) 3974 }) 3975 }, 3976 load: f, 3977 waitFor: function (e, t) { 3978 u.hasOwnProperty(e) ? t() : i.push({ 3979 name: e, 3980 callback: t 3981 }) 3982
3982} 3983 } 3984 }(xi = Ni || (Ni = {})).PluginManager = xi(), xi.ThemeManager = xi(); 3985 var Ei = function (t, n) { 3986 $r.parent(t).each(function (e) { 3987 e.dom().insertBefore(n.dom(), t.dom()) 3988 }) 3989 }, 3990 Si = function (e, t) { 3991 e.dom().appendChild(t.dom()) 3992 }, 3993 Ti = { 3994 before: Ei, 3995 after: function (e, t) { 3996 $r.nextSibling(e).fold(function () { 3997 $r.parent(e).each(function (e) { 3998 Si(e, t) 3999 }) 4000 }, function (e) { 4001 Ei(e, t) 4002 }) 4003 }, 4004 prepend: function (t, n) { 4005 $r.firstChild(t).fold(function () { 4006 Si(t, n) 4007 }, function (e) { 4008 t.dom().insertBefore(n.dom(), e.dom()) 4009 }) 4010 }, 4011 append: Si, 4012 appendAt: function (e, t, n) { 4013 $r.child(e, n).fold(function () { 4014 Si(e, t) 4015 }, function (e) { 4016 Ei(e, t) 4017 }) 4018 }, 4019 wrap: function (e, t) { 4020 Ei(e, t), Si(t, e) 4021 } 4022 }, 4023 ki = function (t, e) { 4024 F(e, function (e) { 4025 Ti.before(t, e) 4026 }) 4027 }, 4028 Ai = function (t, e) { 4029 F(e, function (e) { 4030 Ti.append(t, e) 4031 }) 4032 }, 4033 _i = function (e) { 4034 var t = e.dom(); 4035 null !== t.parentNode && t.parentNode.removeChild(t) 4036 }, 4037 Ri = { 4038 empty: function (e) { 4039 e.dom().textContent = "", F($r.children(e), function (e) { 4040 _i(e) 4041 }) 4042 }, 4043 remove: _i, 4044 unwrap: function (e) { 4045 var t = $r.children(e); 4046 0 < t.length && ki(e, t), _i(e) 4047 } 4048 }, 4049 Di = function (n, r) { 4050 var o = null; 4051 return { 4052 cancel: function () { 4053 null !== o && (clearTimeout(o), o = null) 4054 }, 4055 throttle: function () { 4056 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 4057 null === o && (o = setTimeout(function () { 4058 n.apply(null, e), o = null 4059 }, r)) 4060 } 4061 } 4062 }, 4063 Bi = function (e) { 4064 var t = e, 4065 n = function () { 4066 return t 4067 }; 4068 return { 4069 get: n, 4070 set: function (e) { 4071 t = e 4072 }, 4073 clone: function () { 4074 return Bi(n()) 4075 } 4076 } 4077 }, 4078 Oi = function (e, t) { 4079 var n = hr.get(e, t); 4080 return n === undefined || "" === n ? [] : n.split(" ") 4081 }, 4082 Pi = Oi, 4083 Li = function (e, t, n) { 4084 var r = Oi(e, t).concat([n]); 4085 return hr.set(e, t, r.join(" ")), !0 4086 }, 4087 Ii = function (e, t, n) { 4088 var r = U(Oi(e, t), function (e) { 4089 return e !== n 4090 }); 4091 return 0 < r.length ? hr.set(e, t, r.join(" ")) : hr.remove(e, t), !1 4092 }, 4093 Mi = function (e) { 4094 return Pi(e, "class") 4095 }, 4096 Fi = function (e, t) { 4097 return Li(e, "class", t) 4098 }, 4099 Ui = function (e, t) { 4100 return Ii(e, "class", t) 4101 }, 4102 zi = Mi, 4103 Vi = Fi, 4104 qi = Ui, 4105 Hi = function (e, t) { 4106 return I(Mi(e), t) ? Ui(e, t) : Fi(e, t) 4107 }, 4108 ji = function (e) { 4109 return e.dom().classList !== undefined 4110 }, 4111 $i = function (e, t) { 4112 return ji(e) && e.dom().classList.contains(t) 4113 }, 4114 Wi = { 4115 add: function (e, t) { 4116 ji(e) ? e.dom().classList.add(t) : Vi(e, t) 4117 }, 4118 remove: function (e, t) { 4119 var n; 4120 ji(e) ? e.dom().classList.remove(t) : qi(e, t), 0 === (ji(n = e) ? n.dom().classList : zi(n)).length && hr.remove(n, "class") 4121 }, 4122 toggle: function (e, t) { 4123 return ji(e) ? e.dom().classList.toggle(t) : Hi(e, t) 4124 }, 4125 toggler: function (e, t) { 4126 var n, r, o, i, a, u, s = ji(e), 4127 c = e.dom().classList; 4128 return n = function () { 4129 s ? c.remove(t) : qi(e, t) 4130 }, r = function () { 4131 s ? c.add(t) : Vi(e, t) 4132 }, o = $i(e, t), i = o || !1, { 4133 on: a = function () { 4134 r(), i = !0 4135 }, 4136 off: u = function () { 4137 n(), i = !1 4138 }, 4139 toggle: function () { 4140 (i ? u : a)() 4141 }, 4142 isOn: function () { 4143 return i 4144 } 4145 } 4146 }, 4147 has: $i 4148 }, 4149 Ki = function (e, t) { 4150 return Lr.all(t, e) 4151 }; 4152 4153 function Xi(e, t, n, r, o) { 4154 return e(n, r) ? A.some(n) : O(o) && o(n) ? A.none() : t(n, r, o) 4155 } 4156 var Yi, Gi = function (e, t, n) { 4157 for (var r = e.dom(), o = O(n) ? n : H(!1); r.parentNode;) { 4158 r = r.parentNode; 4159 var i = er.fromDom(r);
vendor: 73,680 bytes, lines 4160-5775
4160 if (t(i)) return A.some(i); 4161 if (o(i)) break 4162 } 4163 return A.none() 4164 }, 4165 Ji = function (e, t) { 4166 return V(e.dom().childNodes, q(t, er.fromDom)).map(er.fromDom) 4167 }, 4168 Qi = function (e, r) { 4169 var o = function (e) { 4170 for (var t = 0; t < e.childNodes.length; t++) { 4171 if (r(er.fromDom(e.childNodes[t]))) return A.some(er.fromDom(e.childNodes[t])); 4172 var n = o(e.childNodes[t]); 4173 if (n.isSome()) return n 4174 } 4175 return A.none() 4176 }; 4177 return o(e.dom()) 4178 }, 4179 Zi = { 4180 first: function (e) { 4181 return Qi(yr.body(), e) 4182 }, 4183 ancestor: Gi, 4184 closest: function (e, t, n) { 4185 return Xi(function (e) { 4186 return t(e) 4187 }, Gi, e, t, n) 4188 }, 4189 sibling: function (t, n) { 4190 var e = t.dom(); 4191 return e.parentNode ? Ji(er.fromDom(e.parentNode), function (e) { 4192 return !Fr.eq(t, e) && n(e) 4193 }) : A.none() 4194 }, 4195 child: Ji, 4196 descendant: Qi 4197 }, 4198 ea = function (e, t, n) { 4199 return Zi.ancestor(e, function (e) { 4200 return Lr.is(e, t) 4201 }, n) 4202 }, 4203 ta = ea, 4204 na = function (e, t) { 4205 return Lr.one(t, e) 4206 }, 4207 ra = function (e, t, n) { 4208 return Xi(Lr.is, ea, e, t, n) 4209 }, 4210 oa = H("mce-annotation"), 4211 ia = H("data-mce-annotation"), 4212 aa = H("data-mce-annotation-uid"), 4213 ua = function (r, e) { 4214 var t = r.selection.getRng(), 4215 n = er.fromDom(t.startContainer), 4216 o = er.fromDom(r.getBody()), 4217 i = e.fold(function () { 4218 return "." + oa() 4219 }, function (e) { 4220 return "[" + ia() + '="' + e + '"]' 4221 }), 4222 a = $r.child(n, t.startOffset).getOr(n), 4223 u = ra(a, i, function (e) { 4224 return Fr.eq(e, o) 4225 }), 4226 s = function (e, t) { 4227 return hr.has(e, t) ? A.some(hr.get(e, t)) : A.none() 4228 }; 4229 return u.bind(function (e) { 4230 return s(e, "" + aa()).bind(function (n) { 4231 return s(e, "" + ia()).map(function (e) { 4232 var t = sa(r, n); 4233 return { 4234 uid: n, 4235 name: e, 4236 elements: t 4237 } 4238 }) 4239 }) 4240 }) 4241 }, 4242 sa = function (e, t) { 4243 var n = er.fromDom(e.getBody()); 4244 return Ki(n, "[" + aa() + '="' + t + '"]') 4245 }, 4246 ca = function (i, e) { 4247 var n, r, o, a = Bi({}), 4248 c = function (e, t) { 4249 u(e, function (e) { 4250 return t(e), e 4251 }) 4252 }, 4253 u = function (e, t) { 4254 var n = a.get(), 4255 r = t(n.hasOwnProperty(e) ? n[e] : { 4256 listeners: [], 4257 previous: Bi(A.none()) 4258 }); 4259 n[e] = r, a.set(n) 4260 }, 4261 t = (n = function () { 4262 var e, t, n, r = a.get(), 4263 o = (e = cr(r), (n = Q.call(e, 0)).sort(t), n); 4264 F(o, function (e) { 4265 u(e, function (u) { 4266 var s = u.previous.get(); 4267 return ua(i, A.some(e)).fold(function () { 4268 var t; 4269 s.isSome() && (c(t = e, function (e) { 4270 F(e.listeners, function (e) { 4271 return e(!1, t) 4272 }) 4273 }), u.previous.set(A.none())) 4274 }, function (e) { 4275 var t, n, r, o = e.uid, 4276 i = e.name, 4277 a = e.elements; 4278 s.is(o) || (n = o, r = a, c(t = i, function (e) { 4279 F(e.listeners, function (e) { 4280 return e(!0, t, { 4281 uid: n, 4282 nodes: $(r, function (e) { 4283 return e.dom() 4284 }) 4285 }) 4286 }) 4287 }), u.previous.set(A.some(o))) 4288 }), { 4289 previous: u.previous, 4290 listeners: u.listeners 4291 } 4292 }) 4293 }) 4294 }, r = 30, o = null, { 4295 cancel: function () { 4296 null !== o && (clearTimeout(o), o = null) 4297 }, 4298 throttle: function () { 4299 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 4300 null !== o && clearTimeout(o), o = setTimeout(function () { 4301 n.apply(null, e), o = null 4302 }, r) 4303 } 4304 }); 4305 return i.on("remove", function () { 4306 t.cancel() 4307 }), i.on("nodeChange", function () { 4308 t.throttle() 4309 }), { 4310 addListener: function (e, t) { 4311 u(e, function (e) { 4312 return { 4313 previous: e.previous, 4314 listeners: e.listeners.concat([t]) 4315 } 4316 }) 4317 } 4318 } 4319 }, 4320 la = function (e, n) { 4321 e.on("init", function () { 4322 e.serializer.addNodeFilter("span", function (e) { 4323 F(e, function (t) { 4324 var e; 4325 (e = t, A.from(e.attributes.map[ia()]).bind(n.lookup)).each(function (e) { 4326 !1 === e.persistent && t.unwrap() 4327 }) 4328 }) 4329 }) 4330 }) 4331 }, 4332 fa = 0, 4333 da = function (t, e) { 4334 F(e, function (e) { 4335 Wi.add(t, e) 4336 }) 4337 }, 4338 ma = function (e, t) { 4339 return er.fromDom(e.dom().cloneNode(t)) 4340 }, 4341 ga = function (e) { 4342 return ma(e, !0) 4343 }, 4344 pa = function (e) { 4345 return ma(e, !1) 4346 }, 4347 ha = ga, 4348 va = [].slice, 4349 ba = function (e) { 4350 for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; 4351 var r = va.call(arguments); 4352 return r.length - 1 >= e.length ? e.apply(this, r.slice(1)) : function () { 4353 var e = r.concat([].slice.call(arguments)); 4354 return ba.apply(this, e) 4355 } 4356 }, 4357 ya = { 4358 constant: function (e) { 4359 return function () { 4360 return e 4361 } 4362 }, 4363 negate: function (t) { 4364 return function (e) { 4365 return !t(e) 4366 } 4367 }, 4368 and: function () { 4369 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 4370 var n = va.call(arguments); 4371 return function (e) { 4372 for (var t = 0; t < n.length; t++) 4373 if (!n[t](e)) return !1; 4374 return !0 4375 } 4376 }, 4377 or: function () { 4378 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 4379 var n = va.call(arguments); 4380 return function (e) { 4381 for (var t = 0; t < n.length; t++) 4382 if (n[t](e)) return !0; 4383 return !1 4384 } 4385 }, 4386 curry: ba, 4387 compose: function (t, n) { 4388 return function (e) { 4389 return t(n(e)) 4390 } 4391 }, 4392 noop: function () {} 4393 }, 4394 Ca = "\ufeff", 4395 xa = function (e) { 4396 return e === Ca 4397 }, 4398 wa = Ca, 4399 Na = function (e) { 4400 return e.replace(new RegExp(Ca, "g"), "") 4401 }, 4402 Ea = Do.isElement, 4403 Sa = Do.isText, 4404 Ta = function (e) { 4405 return Sa(e) && (e = e.parentNode), Ea(e) && e.hasAttribute("data-mce-caret") 4406 }, 4407 ka = function (e) { 4408 return Sa(e) && xa(e.data) 4409 }, 4410 Aa = function (e) { 4411 return Ta(e) || ka(e) 4412 }, 4413 _a = function (e) { 4414 return e.firstChild !== e.lastChild || !Do.isBr(e.firstChild) 4415 }, 4416 Ra = function (e) { 4417 var t = e.container(); 4418 return e && Do.isText(t) && t.data.charAt(e.offset()) === wa 4419 }, 4420 Da = function (e) { 4421 var t = e.container(); 4422 return e && Do.isText(t) && t.data.charAt(e.offset() - 1) === wa 4423 }, 4424 Ba = function (e, t, n) { 4425 var r, o, i; 4426 return (r = t.ownerDocument.createElement(e)).setAttribute("data-mce-caret", n ? "before" : "after"), r.setAttribute("data-mce-bogus", "all"), r.appendChild(((i = document.createElement("br")).setAttribute("data-mce-bogus", "1"), i)), o = t.parentNode, n ? o.insertBefore(r, t) : t.nextSibling ? o.insertBefore(r, t.nextSibling) : o.appendChild(r), r 4427 }, 4428 Oa = function (e) { 4429 return Sa(e) && e.data[0] === wa 4430 }, 4431 Pa = function (e) { 4432 return Sa(e) && e.data[e.data.length - 1] === wa 4433 }, 4434 La = function (e) { 4435 return e && e.hasAttribute("data-mce-caret") ? (t = e.getElementsByTagName("br"), n = t[t.length - 1], Do.isBogus(n) && n.parentNode.removeChild(n), e.removeAttribute("data-mce-caret"), e.removeAttribute("data-mce-bogus"), e.removeAttribute("style"), e.removeAttribute("_moz_abspos"), e) : null; 4436 var t, n 4437 }, 4438 Ia = Do.isContentEditableTrue, 4439 Ma = Do.isContentEditableFalse, 4440 Fa = Do.isBr, 4441 Ua = Do.isText, 4442 za = Do.matchNodeNames("script style textarea"), 4443 Va = Do.matchNodeNames("img input textarea hr iframe video audio object"), 4444 qa = Do.matchNodeNames("table"), 4445 Ha = Aa, 4446 ja = function (e) { 4447 return !Ha(e) && (Ua(e) ? !za(e.parentNode) : Va(e) || Fa(e) || qa(e) || $a(e)) 4448 }, 4449 $a = function (e) { 4450 return !1 === (t = e, Do.isElement(t) && "true" === t.getAttribute("unselectable")) && Ma(e); 4451 var t 4452 }, 4453 Wa = function (e, t) { 4454 return ja(e) && function (e, t) { 4455 for (e = e.parentNode; e && e !== t; e = e.parentNode) { 4456 if ($a(e)) return !1; 4457 if (Ia(e)) return !0 4458 } 4459 return !0 4460 }(e, t) 4461 }, 4462 Ka = Math.round, 4463 Xa = function (e) { 4464 return e ? { 4465 left: Ka(e.left), 4466 top: Ka(e.top), 4467 bottom: Ka(e.bottom), 4468 right: Ka(e.right), 4469 width: Ka(e.width), 4470 height: Ka(e.height) 4471 } : { 4472 left: 0, 4473 top: 0, 4474 bottom: 0, 4475 right: 0, 4476 width: 0, 4477 height: 0 4478 } 4479 }, 4480 Ya = function (e, t) { 4481 return e = Xa(e), t || (e.left = e.left + e.width), e.right = e.left, e.width = 0, e 4482 }, 4483 Ga = function (e, t, n) { 4484 return 0 <= e && e <= Math.min(t.height, n.height) / 2 4485 }, 4486 Ja = function (e, t) { 4487 return e.bottom - e.height / 2 < t.top || !(e.top > t.bottom) && Ga(t.top - e.bottom, e, t) 4488 }, 4489 Qa = function (e, t) { 4490 return e.top > t.bottom || !(e.bottom < t.top) && Ga(t.bottom - e.top, e, t) 4491 }, 4492 Za = function (e) { 4493 var t = e.startContainer, 4494 n = e.startOffset; 4495 return t.hasChildNodes() && e.endOffset === n + 1 ? t.childNodes[n] : null 4496 }, 4497 eu = function (e, t) { 4498 return 1 === e.nodeType && e.hasChildNodes() && (t >= e.childNodes.length && (t = e.childNodes.length - 1), e = e.childNodes[t]), e 4499 }, 4500 tu = new RegExp("[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]"), 4501 nu = function (e) { 4502 return "string" == typeof e && 768 <= e.charCodeAt(0) && tu.test(e) 4503 }, 4504 ru = function (e, t) { 4505 for (var n = [], r = 0; r < e.length; r++) { 4506 var o = e[r]; 4507 if (!o.isSome()) return A.none(); 4508 n.push(o.getOrDie()) 4509 } 4510 return A.some(t.apply(null, n)) 4511 }, 4512 ou = Do.isElement, 4513 iu = ja, 4514 au = Do.matchStyleValues("display", "block table"), 4515 uu = Do.matchStyleValues("float", "left right"), 4516 su = ya.and(ou, iu, ya.negate(uu)), 4517 cu = ya.negate(Do.matchStyleValues("white-space", "pre pre-line pre-wrap")), 4518 lu = Do.isText, 4519 fu = Do.isBr, 4520 du = pi.nodeIndex, 4521 mu = eu, 4522 gu = function (e) { 4523 return "createRange" in e ? e.createRange() : pi.DOM.createRng() 4524 }, 4525 pu = function (e) { 4526 return e && /[\r\n\t ]/.test(e) 4527 }, 4528 hu = function (e) { 4529 return !!e.setStart && !!e.setEnd 4530 }, 4531 vu = function (e) { 4532 var t, n = e.startContainer, 4533 r = e.startOffset; 4534 return !!(pu(e.toString()) && cu(n.parentNode) && Do.isText(n) && (t = n.data, pu(t[r - 1]) || pu(t[r + 1]))) 4535 }, 4536 bu = function (e) { 4537 return 0 === e.left && 0 === e.right && 0 === e.top && 0 === e.bottom 4538 }, 4539 yu = function (e) { 4540 var t, n, r, o, i, a, u, s; 4541 return t = 0 < (n = e.getClientRects()).length ? Xa(n[0]) : Xa(e.getBoundingClientRect()), !hu(e) && fu(e) && bu(t) ? (i = (r = e).ownerDocument, a = gu(i), u = i.createTextNode("\xa0"), (s = r.parentNode).insertBefore(u, r), a.setStart(u, 0), a.setEnd(u, 1), o = Xa(a.getBoundingClientRect()), s.removeChild(u), o) : bu(t) && hu(e) ? function (e) { 4542 var t = e.startContainer, 4543 n = e.endContainer, 4544 r = e.startOffset, 4545 o = e.endOffset; 4546 if (t === n && Do.isText(n) && 0 === r && 1 === o) { 4547 var i = e.cloneRange(); 4548 return i.setEndAfter(n), yu(i) 4549 } 4550 return null 4551 }(e) : t 4552 }, 4553 Cu = function (e, t) { 4554 var n = Ya(e, t); 4555 return n.width = 1, n.right = n.left + 1, n 4556 }, 4557 xu = function (e) { 4558 var t, n, r = [], 4559 o = function (e) { 4560 var t, n; 4561 0 !== e.height && (0 < r.length && (t = e, n = r[r.length - 1], t.left === n.left && t.top === n.top && t.bottom === n.bottom && t.right === n.right) || r.push(e)) 4562 }, 4563 i = function (e, t) { 4564 var n = gu(e.ownerDocument); 4565 if (t < e.data.length) { 4566 if (nu(e.data[t])) return r; 4567 if (nu(e.data[t - 1]) && (n.setStart(e, t), n.setEnd(e, t + 1), !vu(n))) return o(Cu(yu(n), !1)), r 4568 } 4569 0 < t && (n.setStart(e, t - 1), n.setEnd(e, t), vu(n) || o(Cu(yu(n), !1))), t < e.data.length && (n.setStart(e, t), n.setEnd(e, t + 1), vu(n) || o(Cu(yu(n), !0))) 4570 }; 4571 if (lu(e.container())) return i(e.container(), e.offset()), r; 4572 if (ou(e.container())) 4573 if (e.isAtEnd()) n = mu(e.container(), e.offset()), lu(n) && i(n, n.data.length), su(n) && !fu(n) && o(Cu(yu(n), !1)); 4574 else { 4575 if (n = mu(e.container(), e.offset()), lu(n) && i(n, 0), su(n) && e.isAtEnd()) return o(Cu(yu(n), !1)), r; 4576 t = mu(e.container(), e.offset() - 1), su(t) && !fu(t) && (au(t) || au(n) || !su(n)) && o(Cu(yu(t), !1)), su(n) && o(Cu(yu(n), !0)) 4577 } 4578 return r 4579 }; 4580 4581 function wu(t, n, e) { 4582 var r = function () { 4583 return e || (e = xu(wu(t, n))), e 4584 }; 4585 return { 4586 container: ya.constant(t), 4587 offset: ya.constant(n), 4588 toRange: function () { 4589 var e; 4590 return (e = gu(t.ownerDocument)).setStart(t, n), e.setEnd(t, n), e 4591 }, 4592 getClientRects: r, 4593 isVisible: function () { 4594 return 0 < r().length 4595 }, 4596 isAtStart: function () { 4597 return lu(t), 0 === n 4598 }, 4599 isAtEnd: function () { 4600 return lu(t) ? n >= t.data.length : n >= t.childNodes.length 4601 }, 4602 isEqual: function (e) { 4603 return e && t === e.container() && n === e.offset() 4604 }, 4605 getNode: function (e) { 4606 return mu(t, e ? n - 1 : n) 4607 } 4608 } 4609 }(Yi = wu || (wu = {})).fromRangeStart = function (e) { 4610 return Yi(e.startContainer, e.startOffset) 4611 }, Yi.fromRangeEnd = function (e) { 4612 return Yi(e.endContainer, e.endOffset) 4613 }, Yi.after = function (e) { 4614 return Yi(e.parentNode, du(e) + 1) 4615 }, Yi.before = function (e) { 4616 return Yi(e.parentNode, du(e)) 4617 }, Yi.isAbove = function (e, t) { 4618 return ru([ee(t.getClientRects()), te(e.getClientRects())], Ja).getOr(!1) 4619 }, Yi.isBelow = function (e, t) { 4620 return ru([te(t.getClientRects()), ee(e.getClientRects())], Qa).getOr(!1) 4621 }, Yi.isAtStart = function (e) { 4622 return !!e && e.isAtStart() 4623 }, Yi.isAtEnd = function (e) { 4624 return !!e && e.isAtEnd() 4625 }, Yi.isTextPosition = function (e) { 4626 return !!e && Do.isText(e.container()) 4627 }, Yi.isElementPosition = function (e) { 4628 return !1 === Yi.isTextPosition(e) 4629 }; 4630 var Nu, Eu, Su = wu, 4631 Tu = Do.isText, 4632 ku = Do.isBogus, 4633 Au = pi.nodeIndex, 4634 _u = function (e) { 4635 var t = e.parentNode; 4636 return ku(t) ? _u(t) : t 4637 }, 4638 Ru = function (e) { 4639 return e ? jt.reduce(e.childNodes, function (e, t) { 4640 return ku(t) && "BR" !== t.nodeName ? e = e.concat(Ru(t)) : e.push(t), e 4641 }, []) : [] 4642 }, 4643 Du = function (t) { 4644 return function (e) { 4645 return t === e 4646 } 4647 }, 4648 Bu = function (e) { 4649 var t, r, n, o; 4650 return (Tu(e) ? "text()" : e.nodeName.toLowerCase()) + "[" + (r = Ru(_u(t = e)), n = jt.findIndex(r, Du(t), t), r = r.slice(0, n + 1), o = jt.reduce(r, function (e, t, n) { 4651 return Tu(t) && Tu(r[n - 1]) && e++, e 4652 }, 0), r = jt.filter(r, Do.matchNodeNames(t.nodeName)), (n = jt.findIndex(r, Du(t), t)) - o) + "]" 4653 }, 4654 Ou = function (e, t) { 4655 var n, r, o, i, a, u = []; 4656 return n = t.container(), r = t.offset(), Tu(n) ? o = function (e, t) { 4657 for (; 4658 (e = e.previousSibling) && Tu(e);) t += e.data.length; 4659 return t 4660 }(n, r) : (r >= (i = n.childNodes).length ? (o = "after", r = i.length - 1) : o = "before", n = i[r]), u.push(Bu(n)), a = function (e, t, n) { 4661 var r = []; 4662 for (t = t.parentNode; !(t === e || n && n(t)); t = t.parentNode) r.push(t); 4663 return r 4664 }(e, n), a = jt.filter(a, ya.negate(Do.isBogus)), (u = u.concat(jt.map(a, function (e) { 4665 return Bu(e) 4666 }))).reverse().join("/") + "," + o 4667 }, 4668 Pu = function (e, t) { 4669 var n, r, o; 4670 return t ? (t = (n = t.split(","))[0].split("/"), o = 1 < n.length ? n[1] : "before", (r = jt.reduce(t, function (e, t) { 4671 return (t = /([\w\-\(\)]+)\[([0-9]+)\]/.exec(t)) ? ("text()" === t[1] && (t[1] = "#text"), n = e, r = t[1], o = parseInt(t[2], 10), i = Ru(n), i = jt.filter(i, function (e, t) { 4672 return !Tu(e) || !Tu(i[t - 1]) 4673 }), (i = jt.filter(i, Do.matchNodeNames(r)))[o]) : null; 4674 var n, r, o, i 4675 }, e)) ? Tu(r) ? function (e, t) { 4676 for (var n, r = e, o = 0; Tu(r);) { 4677 if (n = r.data.length, o <= t && t <= o + n) { 4678 e = r, t -= o; 4679 break 4680 } 4681 if (!Tu(r.nextSibling)) { 4682 e = r, t = n; 4683 break 4684 } 4685 o += n, r = r.nextSibling 4686 } 4687 return Tu(e) && t > e.data.length && (t = e.data.length), Su(e, t) 4688 }(r, parseInt(o, 10)) : (o = "after" === o ? Au(r) + 1 : Au(r), Su(r.parentNode, o)) : null) : null 4689 }, 4690 Lu = Do.isContentEditableFalse, 4691 Iu = function (e, t, n, r, o) { 4692 var i, a = r[o ? "startContainer" : "endContainer"], 4693 u = r[o ? "startOffset" : "endOffset"], 4694 s = [], 4695 c = 0, 4696 l = e.getRoot(); 4697 for (Do.isText(a) ? s.push(n ? function (e, t, n) { 4698 var r, o; 4699 for (o = e(t.data.slice(0, n)).length, r = t.previousSibling; r && Do.isText(r); r = r.previousSibling) o += e(r.data).length; 4700 return o 4701 }(t, a, u) : u) : (u >= (i = a.childNodes).length && i.length && (c = 1, u = Math.max(0, i.length - 1)), s.push(e.nodeIndex(i[u], n) + c)); a && a !== l; a = a.parentNode) s.push(e.nodeIndex(a, n)); 4702 return s 4703 }, 4704 Mu = function (e) { 4705 Do.isText(e) && 0 === e.data.length && e.parentNode.removeChild(e) 4706 }, 4707 Fu = function (e, t, n) { 4708 var r = 0; 4709 return Yt.each(e.select(t), function (e) { 4710 if ("all" !== e.getAttribute("data-mce-bogus")) return e !== n && void r++ 4711 }), r 4712 }, 4713 Uu = function (e, t) { 4714 var n, r, o, i = t ? "start" : "end"; 4715 n = e[i + "Container"], r = e[i + "Offset"], Do.isElement(n) && "TR" === n.nodeName && (n = (o = n.childNodes)[Math.min(t ? r : r - 1, o.length - 1)]) && (r = t ? 0 : n.childNodes.length, e["set" + (t ? "Start" : "End")](n, r)) 4716 }, 4717 zu = function (e) { 4718 return Uu(e, !0), Uu(e, !1), e 4719 }, 4720 Vu = function (e, t) { 4721 var n; 4722 if (Do.isElement(e) && (e = eu(e, t), Lu(e))) return e; 4723 if (Aa(e)) { 4724 if (Do.isText(e) && Ta(e) && (e = e.parentNode), n = e.previousSibling, Lu(n)) return n; 4725 if (n = e.nextSibling, Lu(n)) return n 4726 } 4727 }, 4728 qu = function (e, t, n) { 4729 var r = n.getNode(), 4730 o = r ? r.nodeName : null, 4731 i = n.getRng(); 4732 if (Lu(r) || "IMG" === o) return { 4733 name: o, 4734 index: Fu(n.dom, o, r) 4735 }; 4736 var a, u, s, c, l, f, d, m = Vu((a = i).startContainer, a.startOffset) || Vu(a.endContainer, a.endOffset); 4737 return m ? { 4738 name: o = m.tagName, 4739 index: Fu(n.dom, o, m) 4740 } : (u = e, c = t, l = i, f = (s = n).dom, (d = {}).start = Iu(f, u, c, l, !0), s.isCollapsed() || (d.end = Iu(f, u, c, l, !1)), d) 4741 }, 4742 Hu = function (e, t, n) { 4743 var r = { 4744 "data-mce-type": "bookmark", 4745 id: t, 4746 style: "overflow:hidden;line-height:0px" 4747 }; 4748 return n ? e.create("span", r, "") : e.create("span", r) 4749 }, 4750 ju = function (e, t) { 4751 var n = e.dom, 4752 r = e.getRng(), 4753 o = n.uniqueId(), 4754 i = e.isCollapsed(), 4755 a = e.getNode(), 4756 u = a.nodeName; 4757 if ("IMG" === u) return { 4758 name: u, 4759 index: Fu(n, u, a) 4760 }; 4761 var s = zu(r.cloneRange()); 4762 if (!i) { 4763 s.collapse(!1); 4764 var c = Hu(n, o + "_end", t); 4765 s.insertNode(c), Mu(c.nextSibling) 4766 }(r = zu(r)).collapse(!0); 4767 var l = Hu(n, o + "_start", t); 4768 return r.insertNode(l), Mu(l.previousSibling), Mu(l.nextSibling), e.moveToBookmark({ 4769 id: o, 4770 keep: 1 4771 }), { 4772 id: o 4773 } 4774 }, 4775 $u = { 4776 getBookmark: function (e, t, n) { 4777 return 2 === t ? qu(Na, n, e) : 3 === t ? (o = (r = e).getRng(), { 4778 start: Ou(r.dom.getRoot(), Su.fromRangeStart(o)), 4779 end: Ou(r.dom.getRoot(), Su.fromRangeEnd(o)) 4780 }) : t ? { 4781 rng: e.getRng() 4782 } : ju(e, !1); 4783 var r, o 4784 }, 4785 getUndoBookmark: b(qu, j, !0), 4786 getPersistentBookmark: ju 4787 }, 4788 Wu = "_mce_caret", 4789 Ku = function (e) { 4790 return Do.isElement(e) && e.id === Wu 4791 }, 4792 Xu = function (e, t) { 4793 for (; t && t !== e;) { 4794 if (t.id === Wu) return t; 4795 t = t.parentNode 4796 } 4797 return null 4798 }, 4799 Yu = Do.isElement, 4800 Gu = Do.isText, 4801 Ju = function (e) { 4802 var t = e.parentNode; 4803 t && t.removeChild(e) 4804 }, 4805 Qu = function (e, t) { 4806 0 === t.length ? Ju(e) : e.nodeValue = t 4807 }, 4808 Zu = function (e) { 4809 var t = Na(e); 4810 return { 4811 count: e.length - t.length, 4812 text: t 4813 } 4814 }, 4815 es = function (e, t) { 4816 return rs(e), t 4817 }, 4818 ts = function (e, t) { 4819 var n, r, o, i = t.container(), 4820 a = (n = ne(i.childNodes), r = e, o = L(n, r), -1 === o ? A.none() : A.some(o)).map(function (e) { 4821 return e < t.offset() ? Su(i, t.offset() - 1) : t 4822 }).getOr(t); 4823 return rs(e), a 4824 }, 4825 ns = function (e, t) { 4826 return Gu(e) && t.container() === e ? (r = t, o = Zu((n = e).data.substr(0, r.offset())), i = Zu(n.data.substr(r.offset())), 0 < (a = o.text + i.text).length ? (Qu(n, a), Su(n, r.offset() - o.count)) : r) : es(e, t); 4827 var n, r, o, i, a 4828 }, 4829 rs = function (e) { 4830 if (Yu(e) && Aa(e) && (_a(e) ? e.removeAttribute("data-mce-caret") : Ju(e)), Gu(e)) { 4831 var t = Na(function (e) { 4832 try { 4833 return e.nodeValue 4834 } catch (t) { 4835 return "" 4836 } 4837 }(e)); 4838 Qu(e, t) 4839 } 4840 }, 4841 os = { 4842 removeAndReposition: function (e, t) { 4843 return Su.isTextPosition(t) ? ns(e, t) : (n = e, (r = t).container() === n.parentNode ? ts(n, r) : es(n, r)); 4844 var n, r 4845 }, 4846 remove: rs 4847 }, 4848 is = Do.isContentEditableTrue, 4849 as = Do.isContentEditableFalse, 4850 us = function (e, t, n, r, o) { 4851 return t._selectionOverrides.showCaret(e, n, r, o) 4852 }, 4853 ss = function (e, t) { 4854 var n, r; 4855 return e.fire("BeforeObjectSelected", { 4856 target: t 4857 }).isDefaultPrevented() ? null : ((r = (n = t).ownerDocument.createRange()).selectNode(n), r) 4858 }, 4859 cs = function (e, t, n) { 4860 var r = Gc(1, e.getBody(), t), 4861 o = Su.fromRangeStart(r), 4862 i = o.getNode(); 4863 if (as(i)) return us(1, e, i, !o.isAtEnd(), !1); 4864 var a = o.getNode(!0); 4865 if (as(a)) return us(1, e, a, !1, !1); 4866 var u = e.dom.getParent(o.getNode(), function (e) { 4867 return as(e) || is(e) 4868 }); 4869 return as(u) ? us(1, e, u, !1, n) : null 4870 }, 4871 ls = function (e, t, n) { 4872 if (!t || !t.collapsed) return t; 4873 var r = cs(e, t, n); 4874 return r || t 4875 }; 4876 (Eu = Nu || (Nu = {}))[Eu.Backwards = -1] = "Backwards", Eu[Eu.Forwards = 1] = "Forwards"; 4877 var fs, ds, ms = Do.isContentEditableFalse, 4878 gs = Do.isText, 4879 ps = Do.isElement, 4880 hs = Do.isBr, 4881 vs = ja, 4882 bs = function (e) { 4883 return Va(e) || !!$a(t = e) && !0 !== jt.reduce(t.getElementsByTagName("*"), function (e, t) { 4884 return e || Ia(t) 4885 }, !1); 4886 var t 4887 }, 4888 ys = Wa, 4889 Cs = function (e, t) { 4890 return e.hasChildNodes() && t < e.childNodes.length ? e.childNodes[t] : null 4891 }, 4892 xs = function (e, t) { 4893 if (Uc(e)) { 4894 if (vs(t.previousSibling) && !gs(t.previousSibling)) return Su.before(t); 4895 if (gs(t)) return Su(t, 0) 4896 } 4897 if (zc(e)) { 4898 if (vs(t.nextSibling) && !gs(t.nextSibling)) return Su.after(t); 4899 if (gs(t)) return Su(t, t.data.length) 4900 } 4901 return zc(e) ? hs(t) ? Su.before(t) : Su.after(t) : Su.before(t) 4902 }, 4903 ws = function (e, t, n) { 4904 var r, o, i, a, u; 4905 if (!ps(n) || !t) return null; 4906 if (t.isEqual(Su.after(n)) && n.lastChild) { 4907 if (u = Su.after(n.lastChild), zc(e) && vs(n.lastChild) && ps(n.lastChild)) return hs(n.lastChild) ? Su.before(n.lastChild) : u 4908 } else u = t; 4909 var s, c, l, f = u.container(), 4910 d = u.offset(); 4911 if (gs(f)) { 4912 if (zc(e) && 0 < d) return Su(f, --d); 4913 if (Uc(e) && d < f.length) return Su(f, ++d); 4914 r = f 4915 } else { 4916 if (zc(e) && 0 < d && (o = Cs(f, d - 1), vs(o))) return !bs(o) && (i = qc(o, e, ys, o)) ? gs(i) ? Su(i, i.data.length) : Su.after(i) : gs(o) ? Su(o, o.data.length) : Su.before(o); 4917 if (Uc(e) && d < f.childNodes.length && (o = Cs(f, d), vs(o))) return hs(o) && n.lastChild === o ? null : (s = o, c = n, Do.isBr(s) && (l = ws(1, Su.after(s), c)) && !jc(Su.before(s), Su.before(l), c) ? ws(e, Su.after(o), n) : !bs(o) && (i = qc(o, e, ys, o)) ? gs(i) ? Su(i, 0) : Su.before(i) : gs(o) ? Su(o, 0) : Su.after(o)); 4918 r = o || u.getNode() 4919 } 4920 return (Uc(e) && u.isAtEnd() || zc(e) && u.isAtStart()) && (r = qc(r, e, ya.constant(!0), n, !0), ys(r, n)) ? xs(e, r) : (o = qc(r, e, ys, n), !(a = jt.last(jt.filter(function (e, t) { 4921 for (var n = []; e && e !== t;) n.push(e), e = e.parentNode; 4922 return n 4923 }(f, n), ms))) || o && a.contains(o) ? o ? xs(e, o) : null : u = Uc(e) ? Su.after(a) : Su.before(a)) 4924 }, 4925 Ns = function (t) { 4926 return { 4927 next: function (e) { 4928 return ws(Nu.Forwards, e, t) 4929 }, 4930 prev: function (e) { 4931 return ws(Nu.Backwards, e, t) 4932 } 4933 } 4934 }; 4935 (ds = fs || (fs = {}))[ds.Br = 0] = "Br", ds[ds.Block = 1] = "Block", ds[ds.Wrap = 2] = "Wrap", ds[ds.Eol = 3] = "Eol"; 4936 var Es, Ss, Ts, ks, As, _s = function (e, t) { 4937 return e === Nu.Backwards ? t.reverse() : t 4938 }, 4939 Rs = function (e, t, n, r) { 4940 for (var o, i, a, u, s, c, l = Ns(n), f = r, d = []; f && (s = l, c = f, o = t === Nu.Forwards ? s.next(c) : s.prev(c));) { 4941 if (Do.isBr(o.getNode(!1))) return t === Nu.Forwards ? { 4942 positions: _s(t, d).concat([o]), 4943 breakType: fs.Br, 4944 breakAt: A.some(o) 4945 } : { 4946 positions: _s(t, d), 4947 breakType: fs.Br, 4948 breakAt: A.some(o) 4949 }; 4950 if (o.isVisible()) { 4951 if (e(f, o)) { 4952 var m = (i = t, a = f, u = o, Do.isBr(u.getNode(i === Nu.Forwards)) ? fs.Br : !1 === jc(a, u) ? fs.Block : fs.Wrap); 4953 return { 4954 positions: _s(t, d), 4955 breakType: m, 4956 breakAt: A.some(o) 4957 } 4958 } 4959 d.push(o), f = o 4960 } else f = o 4961 } 4962 return { 4963 positions: _s(t, d), 4964 breakType: fs.Eol, 4965 breakAt: A.none() 4966 } 4967 }, 4968 Ds = function (n, r, o, e) { 4969 return r(o, e).breakAt.map(function (e) { 4970 var t = r(o, e).positions; 4971 return n === Nu.Backwards ? t.concat(e) : [e].concat(t) 4972 }).getOr([]) 4973 }, 4974 Bs = function (e, i) { 4975 return z(e, function (e, o) { 4976 return e.fold(function () { 4977 return A.some(o) 4978 }, function (r) { 4979 return ru([ee(r.getClientRects()), ee(o.getClientRects())], function (e, t) { 4980 var n = Math.abs(i - e.left); 4981 return Math.abs(i - t.left) <= n ? o : r 4982 }).or(e) 4983 }) 4984 }, A.none()) 4985 }, 4986 Os = function (t, e) { 4987 return ee(e.getClientRects()).bind(function (e) { 4988 return Bs(t, e.left) 4989 }) 4990 }, 4991 Ps = b(Rs, wu.isAbove, -1), 4992 Ls = b(Rs, wu.isBelow, 1), 4993 Is = b(Ds, -1, Ps), 4994 Ms = b(Ds, 1, Ls), 4995 Fs = function (e, t, n, r, o) { 4996 var i, a, u, s, c = Ki(er.fromDom(n), "td,th,caption").map(function (e) { 4997 return e.dom() 4998 }), 4999 l = U((i = e, G(c, function (e) { 5000 var t, n, r = (t = Xa(e.getBoundingClientRect()), n = -1, { 5001 left: t.left - n, 5002 top: t.top - n, 5003 right: t.right + 2 * n, 5004 bottom: t.bottom + 2 * n, 5005 width: t.width + n, 5006 height: t.height + n 5007 }); 5008 return [{ 5009 x: r.left, 5010 y: i(r), 5011 cell: e 5012 }, { 5013 x: r.right, 5014 y: i(r), 5015 cell: e 5016 }] 5017 })), function (e) { 5018 return t(e, o) 5019 }); 5020 return (a = l, u = r, s = o, z(a, function (e, r) { 5021 return e.fold(function () { 5022 return A.some(r) 5023 }, function (e) { 5024 var t = Math.sqrt(Math.abs(e.x - u) + Math.abs(e.y - s)), 5025 n = Math.sqrt(Math.abs(r.x - u) + Math.abs(r.y - s)); 5026 return A.some(n < t ? r : e) 5027 }) 5028 }, A.none())).map(function (e) { 5029 return e.cell 5030 }) 5031 }, 5032 Us = b(Fs, function (e) { 5033 return e.bottom 5034 }, function (e, t) { 5035 return e.y < t 5036 }), 5037 zs = b(Fs, function (e) { 5038 return e.top 5039 }, function (e, t) { 5040 return e.y > t 5041 }), 5042 Vs = function (t, n) { 5043 return ee(n.getClientRects()).bind(function (e) { 5044 return Us(t, e.left, e.top) 5045 }).bind(function (e) { 5046 return Os((t = e, fl.lastPositionIn(t).map(function (e) { 5047 return Ps(t, e).positions.concat(e) 5048 }).getOr([])), n); 5049 var t 5050 }) 5051 }, 5052 qs = function (t, n) { 5053 return te(n.getClientRects()).bind(function (e) { 5054 return zs(t, e.left, e.top) 5055 }).bind(function (e) { 5056 return Os((t = e, fl.firstPositionIn(t).map(function (e) { 5057 return [e].concat(Ls(t, e).positions) 5058 }).getOr([])), n); 5059 var t 5060 }) 5061 }, 5062 Hs = function (e) { 5063 for (var t = 0, n = 0, r = e; r && r.nodeType;) t += r.offsetLeft || 0, n += r.offsetTop || 0, r = r.offsetParent; 5064 return { 5065 x: t, 5066 y: n 5067 } 5068 }, 5069 js = function (e, t, n) { 5070 var r, o, i, a, u, s = e.dom, 5071 c = s.getRoot(), 5072 l = 0; 5073 if (u = { 5074 elm: t, 5075 alignToTop: n 5076 }, e.fire("scrollIntoView", u), !u.isDefaultPrevented() && Do.isElement(t)) { 5077 if (!1 === n && (l = t.offsetHeight), "BODY" !== c.nodeName) { 5078 var f = e.selection.getScrollContainer(); 5079 if (f) return r = Hs(t).y - Hs(f).y + l, a = f.clientHeight, void((r < (i = f.scrollTop) || i + a < r + 25) && (f.scrollTop = r < i ? r : r - a + 25)) 5080 } 5081 o = s.getViewPort(e.getWin()), r = s.getPos(t).y + l, i = o.y, a = o.h, (r < o.y || i + a < r + 25) && e.getWin().scrollTo(0, r < i ? r : r - a + 25) 5082 } 5083 }, 5084 $s = function (d, e) { 5085 ee(wu.fromRangeStart(e).getClientRects()).each(function (e) { 5086 var t, n, r, o, i, a, u, s, c, l = function (e) { 5087 if (e.inline) return e.getBody().getBoundingClientRect(); 5088 var t = e.getWin(); 5089 return { 5090 left: 0, 5091 right: t.innerWidth, 5092 top: 0, 5093 bottom: t.innerHeight, 5094 width: t.innerWidth, 5095 height: t.innerHeight 5096 } 5097 }(d), 5098 f = { 5099 x: (i = t = l, a = n = e, a.left > i.left && a.right < i.right ? 0 : a.left < i.left ? a.left - i.left : a.right - i.right), 5100 y: (r = t, o = n, o.top > r.top && o.bottom < r.bottom ? 0 : o.top < r.top ? o.top - r.top : o.bottom - r.bottom) 5101 }; 5102 s = 0 !== f.x ? 0 < f.x ? f.x + 4 : f.x - 4 : 0, c = 0 !== f.y ? 0 < f.y ? f.y + 4 : f.y - 4 : 0, (u = d).inline ? (u.getBody().scrollLeft += s, u.getBody().scrollTop += c) : u.getWin().scrollBy(s, c) 5103 }) 5104 }, 5105 Ws = function (e, t, n) { 5106 var r = e.getParam(t, n); 5107 if (-1 !== r.indexOf("=")) { 5108 var o = e.getParam(t, "", "hash"); 5109 return o.hasOwnProperty(e.id) ? o[e.id] : n 5110 } 5111 return r 5112 }, 5113 Ks = function (e) { 5114 return e.getParam("iframe_attrs", {}) 5115 }, 5116 Xs = function (e) { 5117 return e.getParam("doctype", "<!DOCTYPE html>") 5118 }, 5119 Ys = function (e) { 5120 return e.getParam("document_base_url", "") 5121 }, 5122 Gs = function (e) { 5123 return Ws(e, "body_id", "tinymce") 5124 }, 5125 Js = function (e) { 5126 return Ws(e, "body_class", "") 5127 }, 5128 Qs = function (e) { 5129 return e.getParam("content_security_policy", "") 5130 }, 5131 Zs = function (e) { 5132 return e.getParam("br_in_pre", !0) 5133 }, 5134 ec = function (e) { 5135 if (e.getParam("force_p_newlines", !1)) return "p"; 5136 var t = e.getParam("forced_root_block", "p"); 5137 return !1 === t ? "" : t 5138 }, 5139 tc = function (e) { 5140 return e.getParam("forced_root_block_attrs", {}) 5141 }, 5142 nc = function (e) { 5143 return e.getParam("br_newline_selector", ".mce-toc h2,figcaption,caption") 5144 }, 5145 rc = function (e) { 5146 return e.getParam("no_newline_selector", "") 5147 }, 5148 oc = function (e) { 5149 return e.getParam("keep_styles", !0) 5150 }, 5151 ic = function (e) { 5152 return e.getParam("end_container_on_empty_block", !1) 5153 }, 5154 ac = function (e) { 5155 return Yt.explode(e.getParam("font_size_style_values", "")) 5156 }, 5157 uc = function (e) { 5158 return Yt.explode(e.getParam("font_size_classes", "")) 5159 }, 5160 sc = function (e) { 5161 return e.getParam("images_dataimg_filter", H(!0), "function") 5162 }, 5163 cc = function (e) { 5164 return e.getParam("automatic_uploads", !0, "boolean") 5165 }, 5166 lc = function (e) { 5167 return e.getParam("images_reuse_filename", !1, "boolean") 5168 }, 5169 fc = function (e) { 5170 return e.getParam("images_replace_blob_uris", !0, "boolean") 5171 }, 5172 dc = function (e) { 5173 return e.getParam("images_upload_url", "", "string") 5174 }, 5175 mc = function (e) { 5176 return e.getParam("images_upload_base_path", "", "string") 5177 }, 5178 gc = function (e) { 5179 return e.getParam("images_upload_credentials", !1, "boolean") 5180 }, 5181 pc = function (e) { 5182 return e.getParam("images_upload_handler", null, "function") 5183 }, 5184 hc = Qn.detect().browser, 5185 vc = function () { 5186 return hc.isIE() || hc.isEdge() || hc.isFirefox() 5187 }, 5188 bc = function (e, t) { 5189 e.selection.setRng(t), $s(e, t) 5190 }, 5191 yc = function (e, t, n) { 5192 var r, o, i, a, u = e(t, n); 5193 return (a = u).breakType === fs.Wrap && 0 === a.positions.length || !Do.isBr(n.getNode()) && (i = u).breakType === fs.Br && 1 === i.positions.length ? (r = e, o = t, !u.breakAt.map(function (e) { 5194 return r(o, e).breakAt.isSome() 5195 }).getOr(!1)) : u.breakAt.isNone() 5196 }, 5197 Cc = ya.curry(yc, Ps), 5198 xc = ya.curry(yc, Ls), 5199 wc = function (e, t, n, r) { 5200 var o, i, a, u, s = e.selection.getRng(), 5201 c = t ? 1 : -1; 5202 if (vc() && (o = t, i = s, a = n, u = Su.fromRangeStart(i), fl.positionIn(!o, a).map(function (e) { 5203 return e.isEqual(u) 5204 }).getOr(!1))) { 5205 var l = us(c, e, n, !t, !0); 5206 return bc(e, l), !0 5207 } 5208 return !1 5209 }, 5210 Nc = function (e, t) { 5211 var n = t.getNode(e); 5212 return Do.isElement(n) && "TABLE" === n.nodeName ? A.some(n) : A.none() 5213 }, 5214 Ec = function (u, s, c) { 5215 var e = Nc(!!s, c), 5216 t = !1 === s; 5217 e.fold(function () { 5218 return bc(u, c.toRange()) 5219 }, function (a) { 5220 return fl.positionIn(t, u.getBody()).filter(function (e) { 5221 return e.isEqual(c) 5222 }).fold(function () { 5223 return bc(u, c.toRange()) 5224 }, function (e) { 5225 return n = s, o = a, t = c, void((i = ec(r = u)) ? r.undoManager.transact(function () { 5226 var e = er.fromTag(i); 5227 hr.setAll(e, tc(r)), Ti.append(e, er.fromTag("br")), n ? Ti.after(er.fromDom(o), e) : Ti.before(er.fromDom(o), e); 5228 var t = r.dom.createRng(); 5229 t.setStart(e.dom(), 0), t.setEnd(e.dom(), 0), bc(r, t) 5230 }) : bc(r, t.toRange())); 5231 var n, r, o, t, i 5232 }) 5233 }) 5234 }, 5235 Sc = function (e, t, n, r) { 5236 var o, i, a, u, s, c, l = e.selection.getRng(), 5237 f = Su.fromRangeStart(l), 5238 d = e.getBody(); 5239 if (!t && Cc(r, f)) { 5240 var m = (u = d, Vs(s = n, c = f).orThunk(function () { 5241 return ee(c.getClientRects()).bind(function (e) { 5242 return Bs(Is(u, Su.before(s)), e.left) 5243 }) 5244 }).getOr(Su.before(s))); 5245 return Ec(e, t, m), !0 5246 } 5247 return !(!t || !xc(r, f)) && (o = d, m = qs(i = n, a = f).orThunk(function () { 5248 return ee(a.getClientRects()).bind(function (e) { 5249 return Bs(Ms(o, Su.after(i)), e.left) 5250 }) 5251 }).getOr(Su.after(i)), Ec(e, t, m), !0) 5252 }, 5253 Tc = function (t, n) { 5254 return function () { 5255 return A.from(t.dom.getParent(t.selection.getNode(), "td,th")).bind(function (e) { 5256 return A.from(t.dom.getParent(e, "table")).map(function (e) { 5257 return wc(t, n, e) 5258 }) 5259 }).getOr(!1) 5260 } 5261 }, 5262 kc = function (n, r) { 5263 return function () { 5264 return A.from(n.dom.getParent(n.selection.getNode(), "td,th")).bind(function (t) { 5265 return A.from(n.dom.getParent(t, "table")).map(function (e) { 5266 return Sc(n, r, e, t) 5267 }) 5268 }).getOr(!1) 5269 } 5270 }, 5271 Ac = Do.isContentEditableFalse, 5272 _c = function (e, t, n) { 5273 var r, o, i, a, u, s = Ya(t.getBoundingClientRect(), n); 5274 return "BODY" === e.tagName ? (r = e.ownerDocument.documentElement, o = e.scrollLeft || r.scrollLeft, i = e.scrollTop || r.scrollTop) : (u = e.getBoundingClientRect(), o = e.scrollLeft - u.left, i = e.scrollTop - u.top), s.left += o, s.right += o, s.top += i, s.bottom += i, s.width = 1, 0 < (a = t.offsetWidth - t.clientWidth) && (n && (a *= -1), s.left += a, s.right += a), s 5275 }, 5276 Rc = function (a, u, e) { 5277 var t, s, c = Bi(A.none()), 5278 l = function () { 5279 ! function (e) { 5280 var t, n, r, o, i; 5281 for (t = pn("*[contentEditable=false]", e), o = 0; o < t.length; o++) r = (n = t[o]).previousSibling, Pa(r) && (1 === (i = r.data).length ? r.parentNode.removeChild(r) : r.deleteData(i.length - 1, 1)), r = n.nextSibling, Oa(r) && (1 === (i = r.data).length ? r.parentNode.removeChild(r) : r.deleteData(0, 1)) 5282 }(a), s && (os.remove(s), s = null), c.get().each(function (e) { 5283 pn(e.caret).remove(), c.set(A.none()) 5284 }), clearInterval(t) 5285 }, 5286 f = function () { 5287 t = Le.setInterval(function () { 5288 e() ? pn("div.mce-visual-caret", a).toggleClass("mce-visual-caret-hidden") : pn("div.mce-visual-caret", a).addClass("mce-visual-caret-hidden") 5289 }, 500) 5290 }; 5291 return { 5292 show: function (t, e) { 5293 var n, r, o; 5294 if (l(), o = e, Do.isElement(o) && /^(TD|TH)$/i.test(o.tagName)) return null; 5295 if (!u(e)) return s = function (e, t) { 5296 var n, r, o; 5297 if (r = e.ownerDocument.createTextNode(wa), o = e.parentNode, t) { 5298 if (n = e.previousSibling, Sa(n)) { 5299 if (Aa(n)) return n; 5300 if (Pa(n)) return n.splitText(n.data.length - 1) 5301 } 5302 o.insertBefore(r, e) 5303 } else { 5304 if (n = e.nextSibling, Sa(n)) { 5305 if (Aa(n)) return n; 5306 if (Oa(n)) return n.splitText(1), n 5307 } 5308 e.nextSibling ? o.insertBefore(r, e.nextSibling) : o.appendChild(r) 5309 } 5310 return r 5311 }(e, t), r = e.ownerDocument.createRange(), Ac(s.nextSibling) ? (r.setStart(s, 0), r.setEnd(s, 0)) : (r.setStart(s, 1), r.setEnd(s, 1)), r; 5312 s = Ba("p", e, t), n = _c(a, e, t), pn(s).css("top", n.top); 5313 var i = pn('<div class="mce-visual-caret" data-mce-bogus="all"></div>').css(n).appendTo(a)[0]; 5314 return c.set(A.some({ 5315 caret: i, 5316 element: e, 5317 before: t 5318 })), c.get().each(function (e) { 5319 t && pn(e.caret).addClass("mce-visual-caret-before") 5320 }), f(), (r = e.ownerDocument.createRange()).setStart(s, 0), r.setEnd(s, 0), r 5321 }, 5322 hide: l, 5323 getCss: function () { 5324 return ".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}" 5325 }, 5326 reposition: function () { 5327 c.get().each(function (e) { 5328 var t = _c(a, e.element, e.before); 5329 pn(e.caret).css(t) 5330 }) 5331 }, 5332 destroy: function () { 5333 return Le.clearInterval(t) 5334 } 5335 } 5336 }, 5337 Dc = function (e) { 5338 return Ac(e) || Do.isTable(e) && vc() 5339 }, 5340 Bc = Do.isContentEditableFalse, 5341 Oc = Do.matchStyleValues("display", "block table table-cell table-caption list-item"), 5342 Pc = Aa, 5343 Lc = Ta, 5344 Ic = ya.curry, 5345 Mc = Do.isElement, 5346 Fc = ja, 5347 Uc = function (e) { 5348 return 0 < e 5349 }, 5350 zc = function (e) { 5351 return e < 0 5352 }, 5353 Vc = function (e, t) { 5354 for (var n; n = e(t);) 5355 if (!Lc(n)) return n; 5356 return null 5357 }, 5358 qc = function (e, t, n, r, o) { 5359 var i = new oo(e, r); 5360 if (zc(t)) { 5361 if ((Bc(e) || Lc(e)) && n(e = Vc(i.prev, !0))) return e; 5362 for (; e = Vc(i.prev, o);) 5363 if (n(e)) return e 5364 } 5365 if (Uc(t)) { 5366 if ((Bc(e) || Lc(e)) && n(e = Vc(i.next, !0))) return e; 5367 for (; e = Vc(i.next, o);) 5368 if (n(e)) return e 5369 } 5370 return null 5371 }, 5372 Hc = function (e, t) { 5373 for (; e && e !== t;) { 5374 if (Oc(e)) return e; 5375 e = e.parentNode 5376 } 5377 return null 5378 }, 5379 jc = function (e, t, n) { 5380 return Hc(e.container(), n) === Hc(t.container(), n) 5381 }, 5382 $c = function (e, t) { 5383 var n, r; 5384 return t ? (n = t.container(), r = t.offset(), Mc(n) ? n.childNodes[r + e] : null) : null 5385 }, 5386 Wc = function (e, t) { 5387 var n = t.ownerDocument.createRange(); 5388 return e ? (n.setStartBefore(t), n.setEndBefore(t)) : (n.setStartAfter(t), n.setEndAfter(t)), n 5389 }, 5390 Kc = function (e, t, n) { 5391 var r, o, i, a; 5392 for (o = e ? "previousSibling" : "nextSibling"; n && n !== t;) { 5393 if (r = n[o], Pc(r) && (r = r[o]), Bc(r)) { 5394 if (a = n, Hc(r, i = t) === Hc(a, i)) return r; 5395 break 5396 } 5397 if (Fc(r)) break; 5398 n = n.parentNode 5399 } 5400 return null 5401 }, 5402 Xc = Ic(Wc, !0), 5403 Yc = Ic(Wc, !1), 5404 Gc = function (e, t, n) { 5405 var r, o, i, a, u = Ic(Kc, !0, t), 5406 s = Ic(Kc, !1, t); 5407 if (o = n.startContainer, i = n.startOffset, Ta(o)) { 5408 if (Mc(o) || (o = o.parentNode), "before" === (a = o.getAttribute("data-mce-caret")) && (r = o.nextSibling, Dc(r))) return Xc(r); 5409 if ("after" === a && (r = o.previousSibling, Dc(r))) return Yc(r) 5410 } 5411 if (!n.collapsed) return n; 5412 if (Do.isText(o)) { 5413 if (Pc(o)) { 5414 if (1 === e) { 5415 if (r = s(o)) return Xc(r); 5416 if (r = u(o)) return Yc(r) 5417 } 5418 if (-1 === e) { 5419 if (r = u(o)) return Yc(r); 5420 if (r = s(o)) return Xc(r) 5421 } 5422 return n 5423 } 5424 if (Pa(o) && i >= o.data.length - 1) return 1 === e && (r = s(o)) ? Xc(r) : n; 5425 if (Oa(o) && i <= 1) return -1 === e && (r = u(o)) ? Yc(r) : n; 5426 if (i === o.data.length) return (r = s(o)) ? Xc(r) : n; 5427 if (0 === i) return (r = u(o)) ? Yc(r) : n 5428 } 5429 return n 5430 }, 5431 Jc = function (e, t) { 5432 var n = $c(e, t); 5433 return Bc(n) && !Do.isBogusAll(n) 5434 }, 5435 Qc = function (e, t) { 5436 return Do.isTable($c(e, t)) 5437 }, 5438 Zc = function (e, t) { 5439 return A.from($c(e ? 0 : -1, t)).filter(Bc) 5440 }, 5441 el = function (e, t, n) { 5442 var r = Gc(e, t, n); 5443 return -1 === e ? wu.fromRangeStart(r) : wu.fromRangeEnd(r) 5444 }, 5445 tl = Ic(Jc, 0), 5446 nl = Ic(Jc, -1), 5447 rl = Ic(Qc, 0), 5448 ol = Ic(Qc, -1), 5449 il = function (e) { 5450 return Su.isTextPosition(e) ? 0 === e.offset() : ja(e.getNode()) 5451 }, 5452 al = function (e) { 5453 if (Su.isTextPosition(e)) { 5454 var t = e.container(); 5455 return e.offset() === t.data.length 5456 } 5457 return ja(e.getNode(!0)) 5458 }, 5459 ul = function (e, t) { 5460 return !Su.isTextPosition(e) && !Su.isTextPosition(t) && e.getNode() === t.getNode(!0) 5461 }, 5462 sl = function (e, t, n) { 5463 return e ? !ul(t, n) && (r = t, !(!Su.isTextPosition(r) && Do.isBr(r.getNode()))) && al(t) && il(n) : !ul(n, t) && il(t) && al(n); 5464 var r 5465 }, 5466 cl = function (e, t, n) { 5467 var r = Ns(t); 5468 return A.from(e ? r.next(n) : r.prev(n)) 5469 }, 5470 ll = function (e, t) { 5471 var n, r, o, i, a, u = e ? t.firstChild : t.lastChild; 5472 return Do.isText(u) ? A.some(Su(u, e ? 0 : u.data.length)) : u ? ja(u) ? A.some(e ? Su.before(u) : (a = u, Do.isBr(a) ? Su.before(a) : Su.after(a))) : (r = t, o = u, i = (n = e) ? Su.before(o) : Su.after(o), cl(n, r, i)) : A.none() 5473 }, 5474 fl = { 5475 fromPosition: cl, 5476 nextPosition: b(cl, !0), 5477 prevPosition: b(cl, !1), 5478 navigate: function (t, n, r) { 5479 return cl(t, n, r).bind(function (e) { 5480 return jc(r, e, n) && sl(t, r, e) ? cl(t, n, e) : A.some(e) 5481 }) 5482 }, 5483 positionIn: ll, 5484 firstPositionIn: b(ll, !0), 5485 lastPositionIn: b(ll, !1) 5486 }, 5487 dl = function (e, t) { 5488 return !e.isBlock(t) || t.innerHTML || Re.ie || (t.innerHTML = '<br data-mce-bogus="1" />'), t 5489 }, 5490 ml = function (e, t) { 5491 return fl.lastPositionIn(e).fold(function () { 5492 return !1 5493 }, function (e) { 5494 return t.setStart(e.container(), e.offset()), t.setEnd(e.container(), e.offset()), !0 5495 }) 5496 }, 5497 gl = function (e, t, n) { 5498 return !(!1 !== t.hasChildNodes() || !Xu(e, t) || (o = n, i = (r = t).ownerDocument.createTextNode(wa), r.appendChild(i), o.setStart(i, 0), o.setEnd(i, 0), 0)); 5499 var r, o, i 5500 }, 5501 pl = function (e, t, n, r) { 5502 var o, i, a, u, s = n[t ? "start" : "end"], 5503 c = e.getRoot(); 5504 if (s) { 5505 for (a = s[0], i = c, o = s.length - 1; 1 <= o; o--) { 5506 if (u = i.childNodes, gl(c, i, r)) return !0; 5507 if (s[o] > u.length - 1) return !!gl(c, i, r) || ml(i, r); 5508 i = u[s[o]] 5509 } 5510 3 === i.nodeType && (a = Math.min(s[0], i.nodeValue.length)), 1 === i.nodeType && (a = Math.min(s[0], i.childNodes.length)), t ? r.setStart(i, a) : r.setEnd(i, a) 5511 } 5512 return !0 5513 }, 5514 hl = function (e) { 5515 return Do.isText(e) && 0 < e.data.length 5516 }, 5517 vl = function (e, t, n) { 5518 var r, o, i, a, u, s, c = e.get(n.id + "_" + t), 5519 l = n.keep; 5520 if (c) { 5521 if (r = c.parentNode, "start" === t ? l ? c.hasChildNodes() ? (r = c.firstChild, o = 1) : hl(c.nextSibling) ? (r = c.nextSibling, o = 0) : hl(c.previousSibling) ? (r = c.previousSibling, o = c.previousSibling.data.length) : (r = c.parentNode, o = e.nodeIndex(c) + 1) : o = e.nodeIndex(c) : l ? c.hasChildNodes() ? (r = c.firstChild, o = 1) : hl(c.previousSibling) ? (r = c.previousSibling, o = c.previousSibling.data.length) : (r = c.parentNode, o = e.nodeIndex(c)) : o = e.nodeIndex(c), u = r, s = o, !l) { 5522 for (a = c.previousSibling, i = c.nextSibling, Yt.each(Yt.grep(c.childNodes), function (e) { 5523 Do.isText(e) && (e.nodeValue = e.nodeValue.replace(/\uFEFF/g, "")) 5524 }); c = e.get(n.id + "_" + t);) e.remove(c, !0); 5525 a && i && a.nodeType === i.nodeType && Do.isText(a) && !Re.opera && (o = a.nodeValue.length, a.appendData(i.nodeValue), e.remove(i), u = a, s = o) 5526 } 5527 return A.some(Su(u, s)) 5528 } 5529 return A.none() 5530 }, 5531 bl = function (e, t) { 5532 var n, r, o, i, a, u, s, c, l, f, d, m, g, p, h, v, b = e.dom; 5533 if (t) { 5534 if (v = t, Yt.isArray(v.start)) return p = t, h = (g = b).createRng(), pl(g, !0, p, h) && pl(g, !1, p, h) ? A.some(h) : A.none(); 5535 if ("string" == typeof t.start) return A.some((f = t, d = (l = b).createRng(), m = Pu(l.getRoot(), f.start), d.setStart(m.container(), m.offset()), m = Pu(l.getRoot(), f.end), d.setEnd(m.container(), m.offset()), d)); 5536 if (t.hasOwnProperty("id")) return s = vl(o = b, "start", i = t), c = vl(o, "end", i), ru([s, (a = c, u = s, a.isSome() ? a : u)], function (e, t) { 5537 var n = o.createRng(); 5538 return n.setStart(dl(o, e.container()), e.offset()), n.setEnd(dl(o, t.container()), t.offset()), n 5539 }); 5540 if (t.hasOwnProperty("name")) return n = b, r = t, A.from(n.select(r.name)[r.index]).map(function (e) { 5541 var t = n.createRng(); 5542 return t.selectNode(e), t 5543 }); 5544 if (t.hasOwnProperty("rng")) return A.some(t.rng) 5545 } 5546 return A.none() 5547 }, 5548 yl = function (e, t, n) { 5549 return $u.getBookmark(e, t, n) 5550 }, 5551 Cl = function (t, e) { 5552 bl(t, e).each(function (e) { 5553 t.setRng(e) 5554 }) 5555 }, 5556 xl = function (e) { 5557 return Do.isElement(e) && "SPAN" === e.tagName && "bookmark" === e.getAttribute("data-mce-type") 5558 }, 5559 wl = function (e) { 5560 return e && /^(IMG)$/.test(e.nodeName) 5561 }, 5562 Nl = function (e) { 5563 return e && 3 === e.nodeType && /^([\t \r\n]+|)$/.test(e.nodeValue) 5564 }, 5565 El = function (e, t, n) { 5566 return "color" !== n && "backgroundColor" !== n || (t = e.toHex(t)), "fontWeight" === n && 700 === t && (t = "bold"), "fontFamily" === n && (t = t.replace(/[\'\"]/g, "").replace(/,\s+/g, ",")), "" + t 5567 }, 5568 Sl = { 5569 isInlineBlock: wl, 5570 moveStart: function (e, t, n) { 5571 var r, o, i, a = n.startOffset, 5572 u = n.startContainer; 5573 if ((n.startContainer !== n.endContainer || !wl(n.startContainer.childNodes[n.startOffset])) && 1 === u.nodeType) 5574 for (a < (i = u.childNodes).length ? r = new oo(u = i[a], e.getParent(u, e.isBlock)) : (r = new oo(u = i[i.length - 1], e.getParent(u, e.isBlock))).next(!0), o = r.current(); o; o = r.next()) 5575 if (3 === o.nodeType && !Nl(o)) return n.setStart(o, 0), void t.setRng(n) 5576 }, 5577 getNonWhiteSpaceSibling: function (e, t, n) { 5578 if (e) 5579 for (t = t ? "nextSibling" : "previousSibling", e = n ? e : e[t]; e; e = e[t]) 5580 if (1 === e.nodeType || !Nl(e)) return e 5581 }, 5582 isTextBlock: function (e, t) { 5583 return t.nodeType && (t = t.nodeName), !!e.schema.getTextBlockElements()[t.toLowerCase()] 5584 }, 5585 isValid: function (e, t, n) { 5586 return e.schema.isValidChild(t, n) 5587 }, 5588 isWhiteSpaceNode: Nl, 5589 replaceVars: function (e, n) { 5590 return "string" != typeof e ? e = e(n) : n && (e = e.replace(/%(\w+)/g, function (e, t) { 5591 return n[t] || e 5592 })), e 5593 }, 5594 isEq: function (e, t) { 5595 return t = t || "", e = "" + ((e = e || "").nodeName || e), t = "" + (t.nodeName || t), e.toLowerCase() === t.toLowerCase() 5596 }, 5597 normalizeStyleValue: El, 5598 getStyle: function (e, t, n) { 5599 return El(e, e.getStyle(t, n), n) 5600 }, 5601 getTextDecoration: function (t, e) { 5602 var n; 5603 return t.getParent(e, function (e) { 5604 return (n = t.getStyle(e, "text-decoration")) && "none" !== n 5605 }), n 5606 }, 5607 getParents: function (e, t, n) { 5608 return e.getParents(t, n, e.getRoot()) 5609 } 5610 }, 5611 Tl = xl, 5612 kl = Sl.getParents, 5613 Al = Sl.isWhiteSpaceNode, 5614 _l = Sl.isTextBlock, 5615 Rl = function (e, t) { 5616 for (void 0 === t && (t = 3 === e.nodeType ? e.length : e.childNodes.length); e && e.hasChildNodes();)(e = e.childNodes[t]) && (t = 3 === e.nodeType ? e.length : e.childNodes.length); 5617 return { 5618 node: e, 5619 offset: t 5620 } 5621 }, 5622 Dl = function (e, t) { 5623 for (var n = t; n;) { 5624 if (1 === n.nodeType && e.getContentEditable(n)) return "false" === e.getContentEditable(n) ? n : t; 5625 n = n.parentNode 5626 } 5627 return t 5628 }, 5629 Bl = function (e, t, n, r) { 5630 var o, i, a = n.nodeValue; 5631 return void 0 === r && (r = e ? a.length : 0), e ? (o = a.lastIndexOf(" ", r), -1 === (o = (i = a.lastIndexOf("\xa0", r)) < o ? o : i) || t || o++) : (o = a.indexOf(" ", r), i = a.indexOf("\xa0", r), o = -1 !== o && (-1 === i || o < i) ? o : i), o 5632 }, 5633 Ol = function (e, t, n, r, o, i) { 5634 var a, u, s, c; 5635 if (3 === n.nodeType) { 5636 if (-1 !== (s = Bl(o, i, n, r))) return { 5637 container: n, 5638 offset: s 5639 }; 5640 c = n 5641 } 5642 for (a = new oo(n, e.getParent(n, e.isBlock) || t); u = a[o ? "prev" : "next"]();) 5643 if (3 !== u.nodeType || Tl(u.parentNode)) { 5644 if (e.isBlock(u) || Sl.isEq(u, "BR")) break 5645 } else if (-1 !== (s = Bl(o, i, c = u))) return { 5646 container: u, 5647 offset: s 5648 }; 5649 if (c) return { 5650 container: c, 5651 offset: r = o ? 0 : c.length 5652 } 5653 }, 5654 Pl = function (e, t, n, r, o) { 5655 var i, a, u, s; 5656 for (3 === r.nodeType && 0 === r.nodeValue.length && r[o] && (r = r[o]), i = kl(e, r), a = 0; a < i.length; a++) 5657 for (u = 0; u < t.length; u++) 5658 if (!("collapsed" in (s = t[u]) && s.collapsed !== n.collapsed) && e.is(i[a], s.selector)) return i[a]; 5659 return r 5660 }, 5661 Ll = function (t, e, n, r) { 5662 var o, i = t.dom, 5663 a = i.getRoot(); 5664 if (e[0].wrapper || (o = i.getParent(n, e[0].block, a)), !o) { 5665 var u = i.getParent(n, "LI,TD,TH"); 5666 o = i.getParent(3 === n.nodeType ? n.parentNode : n, function (e) { 5667 return e !== a && _l(t, e) 5668 }, u) 5669 } 5670 if (o && e[0].wrapper && (o = kl(i, o, "ul,ol").reverse()[0] || o), !o) 5671 for (o = n; o[r] && !i.isBlock(o[r]) && (o = o[r], !Sl.isEq(o, "br"));); 5672 return o || n 5673 }, 5674 Il = function (e, t, n, r, o, i, a) { 5675 var u, s, c, l, f, d; 5676 if (u = s = a ? n : o, l = a ? "previousSibling" : "nextSibling", f = e.getRoot(), 3 === u.nodeType && !Al(u) && (a ? 0 < r : i < u.nodeValue.length)) return u; 5677 for (;;) { 5678 if (!t[0].block_expand && e.isBlock(s)) return s; 5679 for (c = s[l]; c; c = c[l]) 5680 if (!Tl(c) && !Al(c) && ("BR" !== (d = c).nodeName || !d.getAttribute("data-mce-bogus") || d.nextSibling)) return s; 5681 if (s === f || s.parentNode === f) { 5682 u = s; 5683 break 5684 } 5685 s = s.parentNode 5686 } 5687 return u 5688 }, 5689 Ml = function (e, t, n, r) { 5690 var o, i = t.startContainer, 5691 a = t.startOffset, 5692 u = t.endContainer, 5693 s = t.endOffset, 5694 c = e.dom; 5695 return 1 === i.nodeType && i.hasChildNodes() && 3 === (i = eu(i, a)).nodeType && (a = 0), 1 === u.nodeType && u.hasChildNodes() && 3 === (u = eu(u, t.collapsed ? s : s - 1)).nodeType && (s = u.nodeValue.length), i = Dl(c, i), u = Dl(c, u), (Tl(i.parentNode) || Tl(i)) && (i = Tl(i) ? i : i.parentNode, 3 === (i = t.collapsed ? i.previousSibling || i : i.nextSibling || i).nodeType && (a = t.collapsed ? i.length : 0)), (Tl(u.parentNode) || Tl(u)) && (u = Tl(u) ? u : u.parentNode, 3 === (u = t.collapsed ? u.nextSibling || u : u.previousSibling || u).nodeType && (s = t.collapsed ? 0 : u.length)), t.collapsed && ((o = Ol(c, e.getBody(), i, a, !0, r)) && (i = o.container, a = o.offset), (o = Ol(c, e.getBody(), u, s, !1, r)) && (u = o.container, s = o.offset)), n[0].inline && (u = r ? u : function (e, t) { 5696 var n = Rl(e, t); 5697 if (n.node) { 5698 for (; n.node && 0 === n.offset && n.node.previousSibling;) n = Rl(n.node.previousSibling); 5699 n.node && 0 < n.offset && 3 === n.node.nodeType && " " === n.node.nodeValue.charAt(n.offset - 1) && 1 < n.offset && (e = n.node).splitText(n.offset - 1) 5700 } 5701 return e 5702 }(u, s)), (n[0].inline || n[0].block_expand) && (n[0].inline && 3 === i.nodeType && 0 !== a || (i = Il(c, n, i, a, u, s, !0)), n[0].inline && 3 === u.nodeType && s !== u.nodeValue.length || (u = Il(c, n, i, a, u, s, !1))), n[0].selector && !1 !== n[0].expand && !n[0].inline && (i = Pl(c, n, t, i, "previousSibling"), u = Pl(c, n, t, u, "nextSibling")), (n[0].block || n[0].selector) && (i = Ll(e, n, i, "previousSibling"), u = Ll(e, n, u, "nextSibling"), n[0].block && (c.isBlock(i) || (i = Il(c, n, i, a, u, s, !0)), c.isBlock(u) || (u = Il(c, n, i, a, u, s, !1)))), 1 === i.nodeType && (a = c.nodeIndex(i), i = i.parentNode), 1 === u.nodeType && (s = c.nodeIndex(u) + 1, u = u.parentNode), { 5703 startContainer: i, 5704 startOffset: a, 5705 endContainer: u, 5706 endOffset: s 5707 } 5708 }, 5709 Fl = Yt.each, 5710 Ul = function (e, t, o) { 5711 var n, r, i, a, u, s, c, l = t.startContainer, 5712 f = t.startOffset, 5713 d = t.endContainer, 5714 m = t.endOffset; 5715 if (0 < (c = e.select("td[data-mce-selected],th[data-mce-selected]")).length) Fl(c, function (e) { 5716 o([e]) 5717 }); 5718 else { 5719 var g, p, h, v = function (e) { 5720 var t; 5721 return 3 === (t = e[0]).nodeType && t === l && f >= t.nodeValue.length && e.splice(0, 1), t = e[e.length - 1], 0 === m && 0 < e.length && t === d && 3 === t.nodeType && e.splice(e.length - 1, 1), e 5722 }, 5723 b = function (e, t, n) { 5724 for (var r = []; e && e !== n; e = e[t]) r.push(e); 5725 return r 5726 }, 5727 y = function (e, t) { 5728 do { 5729 if (e.parentNode === t) return e; 5730 e = e.parentNode 5731 } while (e) 5732 }, 5733 C = function (e, t, n) { 5734 var r = n ? "nextSibling" : "previousSibling"; 5735 for (u = (a = e).parentNode; a && a !== t; a = u) u = a.parentNode, (s = b(a === e ? a : a[r], r)).length && (n || s.reverse(), o(v(s))) 5736 }; 5737 if (1 === l.nodeType && l.hasChildNodes() && (l = l.childNodes[f]), 1 === d.nodeType && d.hasChildNodes() && (p = m, h = (g = d).childNodes, --p > h.length - 1 ? p = h.length - 1 : p < 0 && (p = 0), d = h[p] || g), l === d) return o(v([l])); 5738 for (n = e.findCommonAncestor(l, d), a = l; a; a = a.parentNode) { 5739 if (a === d) return C(l, n, !0); 5740 if (a === n) break 5741 } 5742 for (a = d; a; a = a.parentNode) { 5743 if (a === l) return C(d, n); 5744 if (a === n) break 5745 } 5746 r = y(l, n) || l, i = y(d, n) || d, C(l, r, !0), (s = b(r === l ? r : r.nextSibling, "nextSibling", i === d ? i.nextSibling : i)).length && o(v(s)), C(d, i) 5747 } 5748 }, 5749 zl = (Es = sr.isText, Ss = "text", Ts = function (e) { 5750 return Es(e) ? A.from(e.dom().nodeValue) : A.none() 5751 }, ks = Qn.detect().browser, { 5752 get: function (e) { 5753 if (!Es(e)) throw new Error("Can only get " + Ss + " value of a " + Ss + " node"); 5754 return As(e).getOr("") 5755 }, 5756 getOption: As = ks.isIE() && 10 === ks.version.major ? function (e) { 5757 try { 5758 return Ts(e) 5759 } catch (nN) { 5760 return A.none() 5761 } 5762 } : Ts, 5763 set: function (e, t) { 5764 if (!Es(e)) throw new Error("Can only set raw " + Ss + " value of a " + Ss + " node"); 5765 e.dom().nodeValue = t 5766 } 5767 }), 5768 Vl = function (e) { 5769 return zl.get(e) 5770 }, 5771 ql = function (r, o, i, a) { 5772 return $r.parent(o).fold(function () { 5773 return "skipping" 5774 }, function (e) { 5775 return "br" === a || (n = o, sr.isText(n) && "\ufeff" === Vl(n)) ? "skipping" : (t = o, sr.isElement(t) && Wi.has(t, oa()) ? "existing" : Ku(o) ? "caret" : Sl.isValid(r, i, a) && Sl.isValid(r, sr.name(e), i) ? "valid" : "invali
5775d-child"); 5776 var t, n 5777 }) 5778 }, 5779 Hl = undefined && undefined.__rest || function (e, t) { 5780 var n = {}; 5781 for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]); 5782 if (null != e && "function" == typeof Object.getOwnPropertySymbols) { 5783 var o = 0; 5784 for (r = Object.getOwnPropertySymbols(e); o < r.length; o++) t.indexOf(r[o]) < 0 && (n[r[o]] = e[r[o]]) 5785 } 5786 return n 5787 }, 5788 jl = function (r, e, t, n, o) { 5789 var i, a, u = o.uid, 5790 s = void 0 === u ? (i = "mce-annotation", a = (new Date).getTime(), i + "_" + Math.floor(1e9 * Math.random()) + ++fa + String(a)) : u, 5791 c = Hl(o, ["uid"]), 5792 l = [], 5793 f = er.fromTag("span"); 5794 Wi.add(f, oa()), hr.set(f, "" + aa(), s), hr.set(f, "" + ia(), t); 5795 var d = n(s, c), 5796 m = d.attributes, 5797 g = void 0 === m ? {} : m, 5798 p = d.classes, 5799 h = void 0 === p ? [] : p;
vendor: 256,227 bytes, lines 5800-11172
5800 hr.setAll(f, g), da(f, h); 5801 var v = Bi(A.none()), 5802 b = function () { 5803 v.set(A.none()) 5804 }, 5805 y = function (e) { 5806 F(e, C) 5807 }, 5808 C = function (e) { 5809 switch (ql(r, e, "span", sr.name(e))) { 5810 case "invalid-child": 5811 b(); 5812 var t = $r.children(e); 5813 y(t), b(); 5814 break; 5815 case "valid": 5816 var n = v.get().getOrThunk(function () { 5817 var e = pa(f); 5818 return l.push(e), v.set(A.some(e)), e 5819 }); 5820 Ti.wrap(e, n) 5821 } 5822 }; 5823 return Ul(r.dom, e, function (e) { 5824 var t; 5825 b(), t = $(e, er.fromDom), y(t) 5826 }), l 5827 }, 5828 $l = function (a, u, s, c) { 5829 a.undoManager.transact(function () { 5830 var e, t, n, r = a.selection.getRng(); 5831 r.collapsed && (n = Ml(e = a, t = r, [{ 5832 inline: !0 5833 }], !1), t.setStart(n.startContainer, n.startOffset), t.setEnd(n.endContainer, n.endOffset), e.selection.setRng(t)); 5834 var o = $u.getPersistentBookmark(a.selection, !0), 5835 i = a.selection.getRng(); 5836 jl(a, i, u, s.decorate, c), a.selection.moveToBookmark(o) 5837 }) 5838 }; 5839 5840 function Wl(s) { 5841 var n, r = (n = {}, { 5842 register: function (e, t) { 5843 n[e] = { 5844 name: e, 5845 settings: t 5846 } 5847 }, 5848 lookup: function (e) { 5849 return n.hasOwnProperty(e) ? A.from(n[e]).map(function (e) { 5850 return e.settings 5851 }) : A.none() 5852 } 5853 }); 5854 la(s, r); 5855 var o = ca(s); 5856 return { 5857 register: function (e, t) { 5858 r.register(e, t) 5859 }, 5860 annotate: function (t, n) { 5861 r.lookup(t).each(function (e) { 5862 $l(s, t, e, n) 5863 }) 5864 }, 5865 annotationChanged: function (e, t) { 5866 o.addListener(e, t) 5867 }, 5868 remove: function (e) { 5869 ua(s, A.some(e)).each(function (e) { 5870 var t = e.elements; 5871 F(t, Ri.unwrap) 5872 }) 5873 }, 5874 getAll: function (e) { 5875 var t, n, r, o, i, a, u = (t = s, n = e, r = er.fromDom(t.getBody()), o = Ki(r, "[" + ia() + '="' + n + '"]'), i = {}, F(o, function (e) { 5876 var t = hr.get(e, aa()), 5877 n = i.hasOwnProperty(t) ? i[t] : []; 5878 i[t] = n.concat([e]) 5879 }), i); 5880 return a = function (e) { 5881 return $(e, function (e) { 5882 return e.dom() 5883 }) 5884 }, fr(u, function (e, t, n) { 5885 return { 5886 k: t, 5887 v: a(e, t, n) 5888 } 5889 }) 5890 } 5891 } 5892 } 5893 var Kl = function (e) { 5894 return Yt.grep(e.childNodes, function (e) { 5895 return "LI" === e.nodeName 5896 }) 5897 }, 5898 Xl = function (e) { 5899 return e && e.firstChild && e.firstChild === e.lastChild && ("\xa0" === (t = e.firstChild).data || Do.isBr(t)); 5900 var t 5901 }, 5902 Yl = function (e) { 5903 return 0 < e.length && (!(t = e[e.length - 1]).firstChild || Xl(t)) ? e.slice(0, -1) : e; 5904 var t 5905 }, 5906 Gl = function (e, t) { 5907 var n = e.getParent(t, e.isBlock); 5908 return n && "LI" === n.nodeName ? n : null 5909 }, 5910 Jl = function (e, t) { 5911 var n = Su.after(e), 5912 r = Ns(t).prev(n); 5913 return r ? r.toRange() : null 5914 }, 5915 Ql = function (t, e, n) { 5916 var r, o, i, a, u = t.parentNode; 5917 return Yt.each(e, function (e) { 5918 u.insertBefore(e, t) 5919 }), r = t, o = n, i = Su.before(r), (a = Ns(o).next(i)) ? a.toRange() : null 5920 }, 5921 Zl = function (e, t) { 5922 var n, r, o, i, a, u, s = t.firstChild, 5923 c = t.lastChild; 5924 return s && "meta" === s.name && (s = s.next), c && "mce_marker" === c.attr("id") && (c = c.prev), r = c, u = (n = e).getNonEmptyElements(), r && (r.isEmpty(u) || (o = r, n.getBlockElements()[o.name] && (a = o).firstChild && a.firstChild === a.lastChild && ("br" === (i = o.firstChild).name || "\xa0" === i.value))) && (c = c.prev), !(!s || s !== c || "ul" !== s.name && "ol" !== s.name) 5925 }, 5926 ef = function (e, o, i, t) { 5927 var n, r, a, u, s, c, l, f, d, m, g, p, h, v, b, y, C, x, w, N = (n = o, r = t, c = e.serialize(r), l = n.createFragment(c), u = (a = l).firstChild, s = a.lastChild, u && "META" === u.nodeName && u.parentNode.removeChild(u), s && "mce_marker" === s.id && s.parentNode.removeChild(s), a), 5928 E = Gl(o, i.startContainer), 5929 S = Yl(Kl(N.firstChild)), 5930 T = o.getRoot(), 5931 k = function (e) { 5932 var t = Su.fromRangeStart(i), 5933 n = Ns(o.getRoot()), 5934 r = 1 === e ? n.prev(t) : n.next(t); 5935 return !r || Gl(o, r.getNode()) !== E 5936 }; 5937 return k(1) ? Ql(E, S, T) : k(2) ? (f = E, d = S, m = T, o.insertAfter(d.reverse(), f), Jl(d[0], m)) : (p = S, h = T, v = g = E, y = (b = i).cloneRange(), C = b.cloneRange(), y.setStartBefore(v), C.setEndAfter(v), x = [y.cloneContents(), C.cloneContents()], (w = g.parentNode).insertBefore(x[0], g), Yt.each(p, function (e) { 5938 w.insertBefore(e, g) 5939 }), w.insertBefore(x[1], g), w.removeChild(g), Jl(p[p.length - 1], h)) 5940 }, 5941 tf = function (e, t) { 5942 return !!Gl(e, t) 5943 }, 5944 nf = Yt.each, 5945 rf = function (o) { 5946 this.compare = function (e, t) { 5947 if (e.nodeName !== t.nodeName) return !1; 5948 var n = function (n) { 5949 var r = {}; 5950 return nf(o.getAttribs(n), function (e) { 5951 var t = e.nodeName.toLowerCase(); 5952 0 !== t.indexOf("_") && "style" !== t && 0 !== t.indexOf("data-") && (r[t] = o.getAttrib(n, t)) 5953 }), r 5954 }, 5955 r = function (e, t) { 5956 var n, r; 5957 for (r in e) 5958 if (e.hasOwnProperty(r)) { 5959 if (void 0 === (n = t[r])) return !1; 5960 if (e[r] !== n) return !1; 5961 delete t[r] 5962 } 5963 for (r in t) 5964 if (t.hasOwnProperty(r)) return !1; 5965 return !0 5966 }; 5967 return !(!r(n(e), n(t)) || !r(o.parseStyle(o.getAttrib(e, "style")), o.parseStyle(o.getAttrib(t, "style"))) || xl(e) || xl(t)) 5968 } 5969 }, 5970 of = function (e) { 5971 var t = Ki(e, "br"), 5972 n = U(function (e) { 5973 for (var t = [], n = e.dom(); n;) t.push(er.fromDom(n)), n = n.lastChild; 5974 return t 5975 }(e).slice(-1), mo); 5976 t.length === n.length && F(n, Ri.remove) 5977 }, 5978 af = function (e) { 5979 Ri.empty(e), Ti.append(e, er.fromHtml('<br data-mce-bogus="1">')) 5980 }, 5981 uf = function (n) { 5982 $r.lastChild(n).each(function (t) { 5983 $r.prevSibling(t).each(function (e) { 5984 lo(n) && mo(t) && lo(e) && Ri.remove(t) 5985 }) 5986 }) 5987 }, 5988 sf = Yt.makeMap; 5989 5990 function cf(e) { 5991 var u, s, c, l, f, d = []; 5992 return u = (e = e || {}).indent, s = sf(e.indent_before || ""), c = sf(e.indent_after || ""), l = $o.getEncodeFunc(e.entity_encoding || "raw", e.entities), f = "html" === e.element_format, { 5993 start: function (e, t, n) { 5994 var r, o, i, a; 5995 if (u && s[e] && 0 < d.length && 0 < (a = d[d.length - 1]).length && "\n" !== a && d.push("\n"), d.push("<", e), t) 5996 for (r = 0, o = t.length; r < o; r++) i = t[r], d.push(" ", i.name, '="', l(i.value, !0), '"'); 5997 d[d.length] = !n || f ? ">" : " />", n && u && c[e] && 0 < d.length && 0 < (a = d[d.length - 1]).length && "\n" !== a && d.push("\n") 5998 }, 5999 end: function (e) { 6000 var t; 6001 d.push("</", e, ">"), u && c[e] && 0 < d.length && 0 < (t = d[d.length - 1]).length && "\n" !== t && d.push("\n") 6002 }, 6003 text: function (e, t) { 6004 0 < e.length && (d[d.length] = t ? e : l(e)) 6005 }, 6006 cdata: function (e) { 6007 d.push("<![CDATA[", e, "]]>") 6008 }, 6009 comment: function (e) { 6010 d.push("\x3c!--", e, "--\x3e") 6011 }, 6012 pi: function (e, t) { 6013 t ? d.push("<?", e, " ", l(t), "?>") : d.push("<?", e, "?>"), u && d.push("\n") 6014 }, 6015 doctype: function (e) { 6016 d.push("<!DOCTYPE", e, ">", u ? "\n" : "") 6017 }, 6018 reset: function () { 6019 d.length = 0 6020 }, 6021 getContent: function () { 6022 return d.join("").replace(/\n$/, "") 6023 } 6024 } 6025 } 6026 6027 function lf(t, g) { 6028 void 0 === g && (g = ni()); 6029 var p = cf(t); 6030 return (t = t || {}).validate = !("validate" in t) || t.validate, { 6031 serialize: function (e) { 6032 var f, d; 6033 d = t.validate, f = { 6034 3: function (e) { 6035 p.text(e.value, e.raw) 6036 }, 6037 8: function (e) { 6038 p.comment(e.value) 6039 }, 6040 7: function (e) { 6041 p.pi(e.name, e.value) 6042 }, 6043 10: function (e) { 6044 p.doctype(e.value) 6045 }, 6046 4: function (e) { 6047 p.cdata(e.value) 6048 }, 6049 11: function (e) { 6050 if (e = e.firstChild) 6051 for (; m(e), e = e.next;); 6052 } 6053 }, p.reset(); 6054 var m = function (e) { 6055 var t, n, r, o, i, a, u, s, c, l = f[e.type]; 6056 if (l) l(e); 6057 else { 6058 if (t = e.name, n = e.shortEnded, r = e.attributes, d && r && 1 < r.length && ((a = []).map = {}, c = g.getElementRule(e.name))) { 6059 for (u = 0, s = c.attributesOrder.length; u < s; u++)(o = c.attributesOrder[u]) in r.map && (i = r.map[o], a.map[o] = i, a.push({ 6060 name: o, 6061 value: i 6062 })); 6063 for (u = 0, s = r.length; u < s; u++)(o = r[u].name) in a.map || (i = r.map[o], a.map[o] = i, a.push({ 6064 name: o, 6065 value: i 6066 })); 6067 r = a 6068 } 6069 if (p.start(e.name, r, n), !n) { 6070 if (e = e.firstChild) 6071 for (; m(e), e = e.next;); 6072 p.end(t) 6073 } 6074 } 6075 }; 6076 return 1 !== e.type || t.inner ? f[11](e) : m(e), p.getContent() 6077 } 6078 } 6079 } 6080 var ff = function (a) { 6081 var u = Su.fromRangeStart(a), 6082 s = Su.fromRangeEnd(a), 6083 c = a.commonAncestorContainer; 6084 return fl.fromPosition(!1, c, s).map(function (e) { 6085 return !jc(u, s, c) && jc(u, e, c) ? (t = u.container(), n = u.offset(), r = e.container(), o = e.offset(), (i = document.createRange()).setStart(t, n), i.setEnd(r, o), i) : a; 6086 var t, n, r, o, i 6087 }).getOr(a) 6088 }, 6089 df = function (e) { 6090 return e.collapsed ? e : ff(e) 6091 }, 6092 mf = Do.matchNodeNames("td th"), 6093 gf = function (o, e, t) { 6094 var n, r, i, a, u, s, c, l, f, d, m, g, p = o.schema.getTextInlineElements(), 6095 h = o.selection, 6096 v = o.dom; 6097 if (/^ | $/.test(e) && (e = function (e) { 6098 var t, n, r; 6099 t = h.getRng(), n = t.startContainer, r = t.startOffset; 6100 var o = function (e) { 6101 return n[e] && 3 === n[e].nodeType 6102 }; 6103 return 3 === n.nodeType && (0 < r ? e = e.replace(/^ /, " ") : o("previousSibling") || (e = e.replace(/^ /, " ")), r < n.length ? e = e.replace(/ (<br>|)$/, " ") : o("nextSibling") || (e = e.replace(/( | )(<br>|)$/, " "))), e 6104 }(e)), n = o.parser, g = t.merge, r = lf({ 6105 validate: o.settings.validate 6106 }, o.schema), m = '<span id="mce_marker" data-mce-type="bookmark">​</span>', s = { 6107 content: e, 6108 format: "html", 6109 selection: !0, 6110 paste: t.paste 6111 }, (s = o.fire("BeforeSetContent", s)).isDefaultPrevented()) o.fire("SetContent", { 6112 content: s.content, 6113 format: "html", 6114 selection: !0, 6115 paste: t.paste 6116 }); 6117 else { 6118 -1 === (e = s.content).indexOf("{$caret}") && (e += "{$caret}"), e = e.replace(/\{\$caret\}/, m); 6119 var b, y, C, x, w = (l = h.getRng()).startContainer || (l.parentElement ? l.parentElement() : null), 6120 N = o.getBody(); 6121 w === N && h.isCollapsed() && v.isBlock(N.firstChild) && (b = N.firstChild) && !o.schema.getShortEndedElements()[b.nodeName] && v.isEmpty(N.firstChild) && ((l = v.createRng()).setStart(N.firstChild, 0), l.setEnd(N.firstChild, 0), h.setRng(l)), h.isCollapsed() || (o.selection.setRng(df(o.selection.getRng())), o.getDoc().execCommand("Delete", !1, null), C = (y = h.getRng()).startContainer, x = y.startOffset, 3 === C.nodeType && y.collapsed && ("\xa0" === C.data[x] ? (C.deleteData(x, 1), /[\u00a0| ]$/.test(e) || (e += " ")) : "\xa0" === C.data[x - 1] && (C.deleteData(x - 1, 1), /[\u00a0| ]$/.test(e) || (e = " " + e)))); 6122 var E, S, T, k = { 6123 context: (i = h.getNode()).nodeName.toLowerCase(), 6124 data: t.data, 6125 insert: !0 6126 }; 6127 if (u = n.parse(e, k), !0 === t.paste && Zl(o.schema, u) && tf(v, i)) return l = ef(r, v, o.selection.getRng(), u), o.selection.setRng(l), void o.fire("SetContent", s); 6128 if (function (e) { 6129 for (var t = e; t = t.walk();) 1 === t.type && t.attr("data-mce-fragment", "1") 6130 }(u), "mce_marker" === (f = u.lastChild).attr("id")) 6131 for (f = (c = f).prev; f; f = f.walk(!0)) 6132 if (3 === f.type || !v.isBlock(f.name)) { 6133 o.schema.isValidChild(f.parent.name, "span") && f.parent.insert(c, f, "br" === f.name); 6134 break 6135 } 6136 if (o._selectionOverrides.showBlockCaretContainer(i), k.invalid) { 6137 for (h.setContent(m), i = h.getNode(), a = o.getBody(), 9 === i.nodeType ? i = f = a : f = i; f !== a;) f = (i = f).parentNode; 6138 e = i === a ? a.innerHTML : v.getOuterHTML(i), e = r.serialize(n.parse(e.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i, function () { 6139 return r.serialize(u) 6140 }))), i === a ? v.setHTML(a, e) : v.setOuterHTML(i, e) 6141 } else e = r.serialize(u), 6142 function (e, t, n) { 6143 if ("all" === n.getAttribute("data-mce-bogus")) n.parentNode.insertBefore(e.dom.createFragment(t), n); 6144 else { 6145 var r = n.firstChild, 6146 o = n.lastChild; 6147 !r || r === o && "BR" === r.nodeName ? e.dom.setHTML(n, t) : e.selection.setContent(t) 6148 } 6149 }(o, e, i); 6150 ! function () { 6151 if (g) { 6152 var n = o.getBody(), 6153 r = new rf(v); 6154 Yt.each(v.select("*[data-mce-fragment]"), function (e) { 6155 for (var t = e.parentNode; t && t !== n; t = t.parentNode) p[e.nodeName.toLowerCase()] && r.compare(t, e) && v.remove(e, !0) 6156 }) 6157 } 6158 }(), 6159 function (e) { 6160 var t, n, r; 6161 if (e) { 6162 if (h.scrollIntoView(e), t = function (e) { 6163 for (var t = o.getBody(); e && e !== t; e = e.parentNode) 6164 if ("false" === o.dom.getContentEditable(e)) return e; 6165 return null 6166 }(e)) return v.remove(e), h.select(t); 6167 l = v.createRng(), (f = e.previousSibling) && 3 === f.nodeType ? (l.setStart(f, f.nodeValue.length), Re.ie || (d = e.nextSibling) && 3 === d.nodeType && (f.appendData(d.data), d.parentNode.removeChild(d))) : (l.setStartBefore(e), l.setEndBefore(e)), n = v.getParent(e, v.isBlock), v.remove(e), n && v.isEmpty(n) && (o.$(n).empty(), l.setStart(n, 0), l.setEnd(n, 0), mf(n) || n.getAttribute("data-mce-fragment") || !(r = function (e) { 6168 var t = Su.fromRangeStart(e); 6169 if (t = Ns(o.getBody()).next(t)) return t.toRange() 6170 }(l)) ? v.add(n, v.create("br", { 6171 "data-mce-bogus": "1" 6172 })) : (l = r, v.remove(n))), h.setRng(l) 6173 } 6174 }(v.get("mce_marker")), E = o.getBody(), Yt.each(E.getElementsByTagName("*"), function (e) { 6175 e.removeAttribute("data-mce-fragment") 6176 }), S = o.dom, T = o.selection.getStart(), A.from(S.getParent(T, "td,th")).map(er.fromDom).each(uf), o.fire("SetContent", s), o.addVisual() 6177 } 6178 }, 6179 pf = function (e, t) { 6180 var n, r, o = "string" != typeof (n = t) ? (r = Yt.extend({ 6181 paste: n.paste, 6182 data: { 6183 paste: n.paste 6184 } 6185 }, n), { 6186 content: n.content, 6187 details: r 6188 }) : { 6189 content: n, 6190 details: {} 6191 }; 6192 gf(e, o.content, o.details) 6193 }, 6194 hf = kr("sections", "settings"), 6195 vf = Qn.detect().deviceType.isTouch(), 6196 bf = ["lists", "autolink", "autosave"], 6197 yf = { 6198 theme: "mobile" 6199 }, 6200 Cf = function (e) { 6201 var t = R(e) ? e.join(" ") : e, 6202 n = $(k(t) ? t.split(" ") : [], $n); 6203 return U(n, function (e) { 6204 return 0 < e.length 6205 }) 6206 }, 6207 xf = function (n, e) { 6208 var r, o, i, t = (r = function (e, t) { 6209 return I(n, t) 6210 }, o = {}, i = {}, lr(e, function (e, t) { 6211 (r(e, t) ? o : i)[t] = e 6212 }), { 6213 t: o, 6214 f: i 6215 }); 6216 return hf(t.t, t.f) 6217 }, 6218 wf = function (e, t) { 6219 return e.sections().hasOwnProperty(t) 6220 }, 6221 Nf = function (e, t, n, r) { 6222 var o, i = Cf(n.forced_plugins), 6223 a = Cf(r.plugins), 6224 u = e && wf(t, "mobile") ? U(a, b(I, bf)) : a, 6225 s = (o = u, [].concat(Cf(i)).concat(Cf(o))); 6226 return Yt.extend(r, { 6227 plugins: s.join(" ") 6228 }) 6229 }, 6230 Ef = function (e, t, n, r) { 6231 var o, i, a, u, s, c, l, f, d, m, g = xf(["mobile"], r), 6232 p = Yt.extend(t, n, g.settings(), (f = e, m = (d = g).settings().inline, f && wf(d, "mobile") && !m ? (u = "mobile", s = yf, c = g.sections(), l = c.hasOwnProperty(u) ? c[u] : {}, Yt.extend({}, s, l)) : {}), { 6233 validate: !0, 6234 content_editable: g.settings().inline, 6235 external_plugins: (o = n, i = g.settings(), a = i.external_plugins ? i.external_plugins : {}, o && o.external_plugins ? Yt.extend({}, o.external_plugins, a) : a) 6236 }); 6237 return Nf(e, g, n, p) 6238 }, 6239 Sf = function (e, t, n) { 6240 return A.from(t.settings[n]).filter(e) 6241 }, 6242 Tf = b(Sf, k), 6243 kf = function (e, t, n, r) { 6244 var o, i, a, u = t in e.settings ? e.settings[t] : n; 6245 return "hash" === r ? (a = {}, "string" == typeof (i = u) ? F(0 < i.indexOf("=") ? i.split(/[;,](?![^=;,]*(?:[;,]|$))/) : i.split(","), function (e) { 6246 var t = e.split("="); 6247 1 < t.length ? a[Yt.trim(t[0])] = Yt.trim(t[1]) : a[Yt.trim(t[0])] = Yt.trim(t) 6248 }) : a = i, a) : "string" === r ? Sf(k, e, t).getOr(n) : "number" === r ? Sf(P, e, t).getOr(n) : "boolean" === r ? Sf(B, e, t).getOr(n) : "object" === r ? Sf(_, e, t).getOr(n) : "array" === r ? Sf(R, e, t).getOr(n) : "string[]" === r ? Sf((o = k, function (e) { 6249 return R(e) && J(e, o) 6250 }), e, t).getOr(n) : "function" === r ? Sf(O, e, t).getOr(n) : u 6251 }, 6252 Af = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/, 6253 _f = function (e, t) { 6254 var n = t.container(), 6255 r = t.offset(); 6256 return e ? ka(n) ? Do.isText(n.nextSibling) ? Su(n.nextSibling, 0) : Su.after(n) : Ra(t) ? Su(n, r + 1) : t : ka(n) ? Do.isText(n.previousSibling) ? Su(n.previousSibling, n.previousSibling.data.length) : Su.before(n) : Da(t) ? Su(n, r - 1) : t 6257 }, 6258 Rf = { 6259 isInlineTarget: function (e, t) { 6260 var n = Tf(e, "inline_boundaries_selector").getOr("a[href],code"); 6261 return Lr.is(er.fromDom(t), n) 6262 }, 6263 findRootInline: function (e, t, n) { 6264 var r, o, i, a = (r = e, o = t, i = n, U(pi.DOM.getParents(i.container(), "*", o), r)); 6265 return A.from(a[a.length - 1]) 6266 }, 6267 isRtl: function (e) { 6268 return "rtl" === pi.DOM.getStyle(e, "direction", !0) || (t = e.textContent, Af.test(t)); 6269 var t 6270 }, 6271 isAtZwsp: function (e) { 6272 return Ra(e) || Da(e) 6273 }, 6274 normalizePosition: _f, 6275 normalizeForwards: b(_f, !0), 6276 normalizeBackwards: b(_f, !1), 6277 hasSameParentBlock: function (e, t, n) { 6278 var r = Hc(t, e), 6279 o = Hc(n, e); 6280 return r && r === o 6281 } 6282 }, 6283 Df = function (e, t) { 6284 return Fr.contains(e, t) ? Zi.closest(t, function (e) { 6285 return go(e) || ho(e) 6286 }, (n = e, function (e) { 6287 return Fr.eq(n, er.fromDom(e.dom().parentNode)) 6288 })) : A.none(); 6289 var n 6290 }, 6291 Bf = function (e) { 6292 var t, n, r; 6293 e.dom.isEmpty(e.getBody()) && (e.setContent(""), n = (t = e).getBody(), r = n.firstChild && t.dom.isBlock(n.firstChild) ? n.firstChild : n, t.selection.setCursorLocation(r, 0)) 6294 }, 6295 Of = function (i, a, u) { 6296 return ru([fl.firstPositionIn(u), fl.lastPositionIn(u)], function (e, t) { 6297 var n = Rf.normalizePosition(!0, e), 6298 r = Rf.normalizePosition(!1, t), 6299 o = Rf.normalizePosition(!1, a); 6300 return i ? fl.nextPosition(u, o).map(function (e) { 6301 return e.isEqual(r) && a.isEqual(n) 6302 }).getOr(!1) : fl.prevPosition(u, o).map(function (e) { 6303 return e.isEqual(n) && a.isEqual(r) 6304 }).getOr(!1) 6305 }).getOr(!0) 6306 }, 6307 Pf = function (e, t, n) { 6308 return ta(e, t, n).isSome() 6309 }, 6310 Lf = function (e, t) { 6311 return Do.isText(t) && /^[ \t\r\n]*$/.test(t.data) && !1 === (n = e, r = t, o = er.fromDom(n), i = er.fromDom(r), Pf(i, "pre,code", b(Fr.eq, o))); 6312 var n, r, o, i 6313 }, 6314 If = function (e, t) { 6315 return ja(t) && !1 === Lf(e, t) || (n = t, Do.isElement(n) && "A" === n.nodeName && n.hasAttribute("name")) || Mf(t); 6316 var n 6317 }, 6318 Mf = Do.hasAttribute("data-mce-bookmark"), 6319 Ff = Do.hasAttribute("data-mce-bogus"), 6320 Uf = Do.hasAttributeValue("data-mce-bogus", "all"), 6321 zf = function (e) { 6322 return function (e) { 6323 var t, n, r = 0; 6324 if (If(e, e)) return !1; 6325 if (!(n = e.firstChild)) return !0; 6326 t = new oo(n, e); 6327 do { 6328 if (Uf(n)) n = t.next(!0); 6329 else if (Ff(n)) n = t.next(); 6330 else if (Do.isBr(n)) r++, n = t.next(); 6331 else { 6332 if (If(e, n)) return !1; 6333 n = t.next() 6334 } 6335 } while (n); 6336 return r <= 1 6337 }(e.dom()) 6338 }, 6339 Vf = kr("block", "position"), 6340 qf = kr("from", "to"), 6341 Hf = function (e, t) { 6342 var n = er.fromDom(e), 6343 r = er.fromDom(t.container()); 6344 return Df(n, r).map(function (e) { 6345 return Vf(e, t) 6346 }) 6347 }, 6348 jf = function (o, i, e) { 6349 var t = Hf(o, Su.fromRangeStart(e)), 6350 n = t.bind(function (e) { 6351 return fl.fromPosition(i, o, e.position()).bind(function (e) { 6352 return Hf(o, e).map(function (e) { 6353 return t = o, n = i, r = e, Do.isBr(r.position().getNode()) && !1 === zf(r.block()) ? fl.positionIn(!1, r.block().dom()).bind(function (e) { 6354 return e.isEqual(r.position()) ? fl.fromPosition(n, t, e).bind(function (e) { 6355 return Hf(t, e) 6356 }) : A.some(r) 6357 }).getOr(r) : r; 6358 var t, n, r 6359 }) 6360 }) 6361 }); 6362 return ru([t, n], qf).filter(function (e) { 6363 return r = e, !1 === Fr.eq(r.from().block(), r.to().block()) && (n = e, $r.parent(n.from().block()).bind(function (t) { 6364 return $r.parent(n.to().block()).filter(function (e) { 6365 return Fr.eq(t, e) 6366 }) 6367 }).isSome()) && (t = e, !1 === Do.isContentEditableFalse(t.from().block()) && !1 === Do.isContentEditableFalse(t.to().block())); 6368 var t, n, r 6369 }) 6370 }, 6371 $f = function (e, t, n) { 6372 return n.collapsed ? jf(e, t, n) : A.none() 6373 }, 6374 Wf = function (e, t, n) { 6375 return Fr.contains(t, e) ? $r.parents(e, function (e) { 6376 return n(e) || Fr.eq(e, t) 6377 }).slice(0, -1) : [] 6378 }, 6379 Kf = function (e, t) { 6380 return Wf(e, t, H(!1)) 6381 }, 6382 Xf = Kf, 6383 Yf = function (e, t) { 6384 return [e].concat(Kf(e, t)) 6385 }, 6386 Gf = function (e) { 6387 var t, n, r = (t = e, n = $r.children(t), K(n, lo).fold(function () { 6388 return n 6389 }, function (e) { 6390 return n.slice(0, e) 6391 })); 6392 return F(r, Ri.remove), r 6393 }, 6394 Jf = function (e, t) { 6395 var n = Yf(t, e); 6396 return V(n.reverse(), zf).each(Ri.remove) 6397 }, 6398 Qf = function (e, t, n, r) { 6399 if (zf(n)) return af(n), fl.firstPositionIn(n.dom()); 6400 var o; 6401 o = r, 0 === U($r.prevSiblings(o), function (e) { 6402 return !zf(e) 6403 }).length && zf(t) && Ti.before(r, er.fromTag("br")); 6404 var i = fl.prevPosition(n.dom(), Su.before(r.dom())); 6405 return F(Gf(t), function (e) { 6406 Ti.before(r, e) 6407 }), Jf(e, t), i 6408 }, 6409 Zf = function (e, t, n) { 6410 if (zf(n)) return Ri.remove(n), zf(t) && af(t), fl.firstPositionIn(t.dom()); 6411 var r = fl.lastPositionIn(n.dom()); 6412 return F(Gf(t), function (e) { 6413 Ti.append(n, e) 6414 }), Jf(e, t), r 6415 }, 6416 ed = function (e, t) { 6417 return Fr.contains(t, e) ? (n = Yf(e, t), A.from(n[n.length - 1])) : A.none(); 6418 var n 6419 }, 6420 td = function (e, t) { 6421 fl.positionIn(e, t.dom()).map(function (e) { 6422 return e.getNode() 6423 }).map(er.fromDom).filter(mo).each(Ri.remove) 6424 }, 6425 nd = function (e, t, n) { 6426 return td(!0, t), td(!1, n), ed(t, n).fold(b(Zf, e, t, n), b(Qf, e, t, n)) 6427 }, 6428 rd = function (e, t, n, r) { 6429 return t ? nd(e, r, n) : nd(e, n, r) 6430 }, 6431 od = function (t, n) { 6432 var e, r = er.fromDom(t.getBody()); 6433 return (e = $f(r.dom(), n, t.selection.getRng()).bind(function (e) { 6434 return rd(r, n, e.from().block(), e.to().block()) 6435 })).each(function (e) { 6436 t.selection.setRng(e.toRange()) 6437 }), e.isSome() 6438 }, 6439 id = function (e, t) { 6440 var n = er.fromDom(t), 6441 r = b(Fr.eq, e); 6442 return Zi.ancestor(n, yo, r).isSome() 6443 }, 6444 ad = function (e, t) { 6445 var n, r, o = fl.prevPosition(e.dom(), Su.fromRangeStart(t)).isNone(), 6446 i = fl.nextPosition(e.dom(), Su.fromRangeEnd(t)).isNone(); 6447 return !(id(n = e, (r = t).startContainer) || id(n, r.endContainer)) && o && i 6448 }, 6449 ud = function (e) { 6450 var n, r, o, t, i = er.fromDom(e.getBody()), 6451 a = e.selection.getRng(); 6452 return ad(i, a) ? ((t = e).setContent(""), t.selection.setCursorLocation(), !0) : (n = i, r = e.selection, o = r.getRng(), ru([Df(n, er.fromDom(o.startContainer)), Df(n, er.fromDom(o.endContainer))], function (e, t) { 6453 return !1 === Fr.eq(e, t) && (o.deleteContents(), rd(n, !0, e, t).each(function (e) { 6454 r.setRng(e.toRange()) 6455 }), !0) 6456 }).getOr(!1)) 6457 }, 6458 sd = function (e, t) { 6459 return !e.selection.isCollapsed() && ud(e) 6460 }, 6461 cd = function (a) { 6462 if (!R(a)) throw new Error("cases must be an array"); 6463 if (0 === a.length) throw new Error("there must be at least one case"); 6464 var u = [], 6465 n = {}; 6466 return F(a, function (e, r) { 6467 var t = cr(e); 6468 if (1 !== t.length) throw new Error("one and only one name per case"); 6469 var o = t[0], 6470 i = e[o]; 6471 if (n[o] !== undefined) throw new Error("duplicate key detected:" + o); 6472 if ("cata" === o) throw new Error("cannot have a case named cata (sorry)"); 6473 if (!R(i)) throw new Error("case arguments must be an array"); 6474 u.push(o), n[o] = function () { 6475 var e = arguments.length; 6476 if (e !== i.length) throw new Error("Wrong number of arguments to case " + o + ". Expected " + i.length + " (" + i + "), got " + e); 6477 for (var n = new Array(e), t = 0; t < n.length; t++) n[t] = arguments[t]; 6478 return { 6479 fold: function () { 6480 if (arguments.length !== a.length) throw new Error("Wrong number of arguments to fold. Expected " + a.length + ", got " + arguments.length); 6481 return arguments[r].apply(null, n) 6482 }, 6483 match: function (e) { 6484 var t = cr(e); 6485 if (u.length !== t.length) throw new Error("Wrong number of arguments to match. Expected: " + u.join(",") + "\nActual: " + t.join(",")); 6486 if (!J(u, function (e) { 6487 return I(t, e) 6488 })) throw new Error("Not all branches were specified when using match. Specified: " + t.join(", ") + "\nRequired: " + u.join(", ")); 6489 return e[o].apply(null, n) 6490 }, 6491 log: function (e) { 6492 console.log(e, { 6493 constructors: u, 6494 constructor: o, 6495 params: n 6496 }) 6497 } 6498 } 6499 } 6500 }), n 6501 }, 6502 ld = cd([{ 6503 remove: ["element"] 6504 }, { 6505 moveToElement: ["element"] 6506 }, { 6507 moveToPosition: ["position"] 6508 }]), 6509 fd = function (e, t, n, r) { 6510 var o = r.getNode(!1 === t); 6511 return Df(er.fromDom(e), er.fromDom(n.getNode())).map(function (e) { 6512 return zf(e) ? ld.remove(e.dom()) : ld.moveToElement(o) 6513 }).orThunk(function () { 6514 return A.some(ld.moveToElement(o)) 6515 }) 6516 }, 6517 dd = function (u, s, c) { 6518 return fl.fromPosition(s, u, c).bind(function (e) { 6519 return a = e.getNode(), yo(er.fromDom(a)) || ho(er.fromDom(a)) ? A.none() : (t = u, o = e, i = function (e) { 6520 return fo(er.fromDom(e)) && !jc(r, o, t) 6521 }, Zc(!(n = s), r = c).fold(function () { 6522 return Zc(n, o).fold(H(!1), i) 6523 }, i) ? A.none() : s && Do.isContentEditableFalse(e.getNode()) ? fd(u, s, c, e) : !1 === s && Do.isContentEditableFalse(e.getNode(!0)) ? fd(u, s, c, e) : s && nl(c) ? A.some(ld.moveToPosition(e)) : !1 === s && tl(c) ? A.some(ld.moveToPosition(e)) : A.none()); 6524 var t, n, r, o, i, a 6525 }) 6526 }, 6527 md = function (r, e, o) { 6528 return i = e, a = o.getNode(!1 === i), u = i ? "after" : "before", Do.isElement(a) && a.getAttribute("data-mce-caret") === u ? (t = e, n = o.getNode(!1 === e), t && Do.isContentEditableFalse(n.nextSibling) ? A.some(ld.moveToElement(n.nextSibling)) : !1 === t && Do.isContentEditableFalse(n.previousSibling) ? A.some(ld.moveToElement(n.previousSibling)) : A.none()).fold(function () { 6529 return dd(r, e, o) 6530 }, A.some) : dd(r, e, o).bind(function (e) { 6531 return t = r, n = o, e.fold(function (e) { 6532 return A.some(ld.remove(e)) 6533 }, function (e) { 6534 return A.some(ld.moveToElement(e)) 6535 }, function (e) { 6536 return jc(n, e, t) ? A.none() : A.some(ld.moveToPosition(e)) 6537 }); 6538 var t, n 6539 }); 6540 var t, n, i, a, u 6541 }, 6542 gd = function (e, t) { 6543 return r = e, o = (n = t).container(), i = n.offset(), !1 === Su.isTextPosition(n) && o === r.parentNode && i > Su.before(r).offset() ? Su(t.container(), t.offset() - 1) : t; 6544 var n, r, o, i 6545 }, 6546 pd = function (e) { 6547 return ja(e.previousSibling) ? A.some((t = e.previousSibling, Do.isText(t) ? Su(t, t.data.length) : Su.after(t))) : e.previousSibling ? fl.lastPositionIn(e.previousSibling) : A.none(); 6548 var t 6549 }, 6550 hd = function (e) { 6551 return ja(e.nextSibling) ? A.some((t = e.nextSibling, Do.isText(t) ? Su(t, 0) : Su.before(t))) : e.nextSibling ? fl.firstPositionIn(e.nextSibling) : A.none(); 6552 var t 6553 }, 6554 vd = function (r, o) { 6555 return pd(o).orThunk(function () { 6556 return hd(o) 6557 }).orThunk(function () { 6558 return e = r, t = o, n = Su.before(t.previousSibling ? t.previousSibling : t.parentNode), fl.prevPosition(e, n).fold(function () { 6559 return fl.nextPosition(e, Su.after(t)) 6560 }, A.some); 6561 var e, t, n 6562 }) 6563 }, 6564 bd = function (n, r) { 6565 return hd(r).orThunk(function () { 6566 return pd(r) 6567 }).orThunk(function () { 6568 return e = n, t = r, fl.nextPosition(e, Su.after(t)).fold(function () { 6569 return fl.prevPosition(e, Su.before(t)) 6570 }, A.some); 6571 var e, t 6572 }) 6573 }, 6574 yd = function (e, t, n) { 6575 return (r = e, o = t, i = n, r ? bd(o, i) : vd(o, i)).map(b(gd, n)); 6576 var r, o, i 6577 }, 6578 Cd = function (t, n, e) { 6579 e.fold(function () { 6580 t.focus() 6581 }, function (e) { 6582 t.selection.setRng(e.toRange(), n) 6583 }) 6584 }, 6585 xd = function (e, t) { 6586 return t && e.schema.getBlockElements().hasOwnProperty(sr.name(t)) 6587 }, 6588 wd = function (e) { 6589 if (zf(e)) { 6590 var t = er.fromHtml('<br data-mce-bogus="1">'); 6591 return Ri.empty(e), Ti.append(e, t), A.some(Su.before(t.dom())) 6592 } 6593 return A.none() 6594 }, 6595 Nd = function (t, n, e) { 6596 var r, a, o, i = yd(n, t.getBody(), e.dom()), 6597 u = Zi.ancestor(e, b(xd, t), (r = t.getBody(), function (e) { 6598 return e.dom() === r 6599 })), 6600 s = (a = e, o = i, ru([$r.prevSibling(a), $r.nextSibling(a), o], function (e, t, n) { 6601 var r, o = e.dom(), 6602 i = t.dom(); 6603 return Do.isText(o) && Do.isText(i) ? (r = o.data.length, o.appendData(i.data), Ri.remove(t), Ri.remove(a), n.container() === i ? Su(o, r) : n) : (Ri.remove(a), n) 6604 }).orThunk(function () { 6605 return Ri.remove(a), o 6606 })); 6607 t.dom.isEmpty(t.getBody()) ? (t.setContent(""), t.selection.setCursorLocation()) : u.bind(wd).fold(function () { 6608 Cd(t, n, s) 6609 }, function (e) { 6610 Cd(t, n, A.some(e)) 6611 }) 6612 }, 6613 Ed = function (a, u) { 6614 var e, t, n, r, o; 6615 return (e = a.getBody(), t = u, n = a.selection.getRng(), r = Gc(t ? 1 : -1, e, n), o = Su.fromRangeStart(r), !1 === t && nl(o) ? A.some(ld.remove(o.getNode(!0))) : t && tl(o) ? A.some(ld.remove(o.getNode())) : md(e, t, o)).map(function (e) { 6616 return e.fold((o = a, i = u, function (e) { 6617 return o._selectionOverrides.hideFakeCaret(), Nd(o, i, er.fromDom(e)), !0 6618 }), (n = a, r = u, function (e) { 6619 var t = r ? Su.before(e) : Su.after(e); 6620 return n.selection.setRng(t.toRange()), !0 6621 }), (t = a, function (e) { 6622 return t.selection.setRng(e.toRange()), !0 6623 })); 6624 var t, n, r, o, i 6625 }).getOr(!1) 6626 }, 6627 Sd = function (e, t) { 6628 var n, r = e.selection.getNode(); 6629 return !!Do.isContentEditableFalse(r) && (n = er.fromDom(e.getBody()), F(Ki(n, ".mce-offscreen-selection"), Ri.remove), Nd(e, t, er.fromDom(e.selection.getNode())), Bf(e), !0) 6630 }, 6631 Td = function (e, t) { 6632 return e.selection.isCollapsed() ? Ed(e, t) : Sd(e, t) 6633 }, 6634 kd = function (e) { 6635 var t, n = function (e, t) { 6636 for (; t && t !== e;) { 6637 if (Do.isContentEditableTrue(t) || Do.isContentEditableFalse(t)) return t; 6638 t = t.parentNode 6639 } 6640 return null 6641 }(e.getBody(), e.selection.getNode()); 6642 return Do.isContentEditableTrue(n) && e.dom.isBlock(n) && e.dom.isEmpty(n) && (t = e.dom.create("br", { 6643 "data-mce-bogus": "1" 6644 }), e.dom.setHTML(n, ""), n.appendChild(t), e.selection.setRng(Su.before(t).toRange())), !0 6645 }, 6646 Ad = Do.isText, 6647 _d = function (e) { 6648 return Ad(e) && e.data[0] === wa 6649 }, 6650 Rd = function (e) { 6651 return Ad(e) && e.data[e.data.length - 1] === wa 6652 }, 6653 Dd = function (e) { 6654 return e.ownerDocument.createTextNode(wa) 6655 }, 6656 Bd = function (e, t) { 6657 return e ? function (e) { 6658 if (Ad(e.previousSibling)) return Rd(e.previousSibling) || e.previousSibling.appendData(wa), e.previousSibling; 6659 if (Ad(e)) return _d(e) || e.insertData(0, wa), e; 6660 var t = Dd(e); 6661 return e.parentNode.insertBefore(t, e), t 6662 }(t) : function (e) { 6663 if (Ad(e.nextSibling)) return _d(e.nextSibling) || e.nextSibling.insertData(0, wa), e.nextSibling; 6664 if (Ad(e)) return Rd(e) || e.appendData(wa), e; 6665 var t = Dd(e); 6666 return e.nextSibling ? e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode.appendChild(t), t 6667 }(t) 6668 }, 6669 Od = b(Bd, !0), 6670 Pd = b(Bd, !1), 6671 Ld = function (e, t) { 6672 return Do.isText(e.container()) ? Bd(t, e.container()) : Bd(t, e.getNode()) 6673 }, 6674 Id = function (e, t) { 6675 var n = t.get(); 6676 return n && e.container() === n && ka(n) 6677 }, 6678 Md = function (n, e) { 6679 return e.fold(function (e) { 6680 os.remove(n.get()); 6681 var t = Od(e); 6682 return n.set(t), A.some(Su(t, t.length - 1)) 6683 }, function (e) { 6684 return fl.firstPositionIn(e).map(function (e) { 6685 if (Id(e, n)) return Su(n.get(), 1); 6686 os.remove(n.get()); 6687 var t = Ld(e, !0); 6688 return n.set(t), Su(t, 1) 6689 }) 6690 }, function (e) { 6691 return fl.lastPositionIn(e).map(function (e) { 6692 if (Id(e, n)) return Su(n.get(), n.get().length - 1); 6693 os.remove(n.get()); 6694 var t = Ld(e, !1); 6695 return n.set(t), Su(t, t.length - 1) 6696 }) 6697 }, function (e) { 6698 os.remove(n.get()); 6699 var t = Pd(e); 6700 return n.set(t), A.some(Su(t, 1)) 6701 }) 6702 }, 6703 Fd = function (e, t) { 6704 for (var n = 0; n < e.length; n++) { 6705 var r = e[n].apply(null, t); 6706 if (r.isSome()) return r 6707 } 6708 return A.none() 6709 }, 6710 Ud = cd([{ 6711 before: ["element"] 6712 }, { 6713 start: ["element"] 6714 }, { 6715 end: ["element"] 6716 }, { 6717 after: ["element"] 6718 }]), 6719 zd = function (e, t) { 6720 var n = Hc(t, e); 6721 return n || e 6722 }, 6723 Vd = function (e, t, n) { 6724 var r = Rf.normalizeForwards(n), 6725 o = zd(t, r.container()); 6726 return Rf.findRootInline(e, o, r).fold(function () { 6727 return fl.nextPosition(o, r).bind(b(Rf.findRootInline, e, o)).map(function (e) { 6728 return Ud.before(e) 6729 }) 6730 }, A.none) 6731 }, 6732 qd = function (e, t) { 6733 return null === Xu(e, t) 6734 }, 6735 Hd = function (e, t, n) { 6736 return Rf.findRootInline(e, t, n).filter(b(qd, t)) 6737 }, 6738 jd = function (e, t, n) { 6739 var r = Rf.normalizeBackwards(n); 6740 return Hd(e, t, r).bind(function (e) { 6741 return fl.prevPosition(e, r).isNone() ? A.some(Ud.start(e)) : A.none() 6742 }) 6743 }, 6744 $d = function (e, t, n) { 6745 var r = Rf.normalizeForwards(n); 6746 return Hd(e, t, r).bind(function (e) { 6747 return fl.nextPosition(e, r).isNone() ? A.some(Ud.end(e)) : A.none() 6748 }) 6749 }, 6750 Wd = function (e, t, n) { 6751 var r = Rf.normalizeBackwards(n), 6752 o = zd(t, r.container()); 6753 return Rf.findRootInline(e, o, r).fold(function () { 6754 return fl.prevPosition(o, r).bind(b(Rf.findRootInline, e, o)).map(function (e) { 6755 return Ud.after(e) 6756 }) 6757 }, A.none) 6758 }, 6759 Kd = function (e) { 6760 return !1 === Rf.isRtl(Yd(e)) 6761 }, 6762 Xd = function (e, t, n) { 6763 return Fd([Vd, jd, $d, Wd], [e, t, n]).filter(Kd) 6764 }, 6765 Yd = function (e) { 6766 return e.fold(j, j, j, j) 6767 }, 6768 Gd = function (e) { 6769 return e.fold(H("before"), H("start"), H("end"), H("after")) 6770 }, 6771 Jd = function (e) { 6772 return e.fold(Ud.before, Ud.before, Ud.after, Ud.after) 6773 }, 6774 Qd = function (n, e, r, t, o, i) { 6775 return ru([Rf.findRootInline(e, r, t), Rf.findRootInline(e, r, o)], function (e, t) { 6776 return e !== t && Rf.hasSameParentBlock(r, e, t) ? Ud.after(n ? e : t) : i 6777 }).getOr(i) 6778 }, 6779 Zd = function (e, r) { 6780 return e.fold(H(!0), function (e) { 6781 return n = r, !(Gd(t = e) === Gd(n) && Yd(t) === Yd(n)); 6782 var t, n 6783 }) 6784 }, 6785 em = function (e, t) { 6786 return e ? t.fold(q(A.some, Ud.start), A.none, q(A.some, Ud.after), A.none) : t.fold(A.none, q(A.some, Ud.before), A.none, q(A.some, Ud.end)) 6787 }, 6788 tm = function (a, u, s, c) { 6789 var e = Rf.normalizePosition(a, c), 6790 l = Xd(u, s, e); 6791 return Xd(u, s, e).bind(b(em, a)).orThunk(function () { 6792 return t = a, n = u, r = s, o = l, e = c, i = Rf.normalizePosition(t, e), fl.fromPosition(t, r, i).map(b(Rf.normalizePosition, t)).fold(function () { 6793 return o.map(Jd) 6794 }, function (e) { 6795 return Xd(n, r, e).map(b(Qd, t, n, r, i, e)).filter(b(Zd, o)) 6796 }).filter(Kd); 6797 var t, n, r, o, e, i 6798 }) 6799 }, 6800 nm = Xd, 6801 rm = tm, 6802 om = (b(tm, !1), b(tm, !0), Jd), 6803 im = function (e) { 6804 return e.fold(Ud.start, Ud.start, Ud.end, Ud.end) 6805 }, 6806 am = function (e) { 6807 return O(e.selection.getSel().modify) 6808 }, 6809 um = function (e, t, n) { 6810 var r = e ? 1 : -1; 6811 return t.setRng(Su(n.container(), n.offset() + r).toRange()), t.getSel().modify("move", e ? "forward" : "backward", "word"), !0 6812 }, 6813 sm = function (e, t) { 6814 var n = t.selection.getRng(), 6815 r = e ? Su.fromRangeEnd(n) : Su.fromRangeStart(n); 6816 return !!am(t) && (e && Ra(r) ? um(!0, t.selection, r) : !(e || !Da(r)) && um(!1, t.selection, r)) 6817 }, 6818 cm = function (e, t) { 6819 var n = e.dom.createRng(); 6820 n.setStart(t.container(), t.offset()), n.setEnd(t.container(), t.offset()), e.selection.setRng(n) 6821 }, 6822 lm = function (e) { 6823 return !1 !== e.settings.inline_boundaries 6824 }, 6825 fm = function (e, t) { 6826 e ? t.setAttribute("data-mce-selected", "inline-boundary") : t.removeAttribute("data-mce-selected") 6827 }, 6828 dm = function (t, e, n) { 6829 return Md(e, n).map(function (e) { 6830 return cm(t, e), n 6831 }) 6832 }, 6833 mm = function (e, t, n) { 6834 return function () { 6835 return !!lm(t) && sm(e, t) 6836 } 6837 }, 6838 gm = { 6839 move: function (a, u, s) { 6840 return function () { 6841 return !!lm(a) && (t = a, n = u, e = s, r = t.getBody(), o = Su.fromRangeStart(t.selection.getRng()), i = b(Rf.isInlineTarget, t), rm(e, i, r, o).bind(function (e) { 6842 return dm(t, n, e) 6843 })).isSome(); 6844 var t, n, e, r, o, i 6845 } 6846 }, 6847 moveNextWord: b(mm, !0), 6848 movePrevWord: b(mm, !1), 6849 setupSelectedState: function (a) { 6850 var u = Bi(null), 6851 s = b(Rf.isInlineTarget, a); 6852 return a.on("NodeChange", function (e) { 6853 var t, n, r, o, i; 6854 lm(a) && (t = s, n = a.dom, r = e.parents, o = U(n.select('*[data-mce-selected="inline-boundary"]'), t), i = U(r, t), F(Z(o, i), b(fm, !1)), F(Z(i, o), b(fm, !0)), function (e, t) { 6855 if (e.selection.isCollapsed() && !0 !== e.composing && t.get()) { 6856 var n = Su.fromRangeStart(e.selection.getRng()); 6857 Su.isTextPosition(n) && !1 === Rf.isAtZwsp(n) && (cm(e, os.removeAndReposition(t.get(), n)), t.set(null)) 6858 } 6859 }(a, u), function (n, r, o, e) { 6860 if (r.selection.isCollapsed()) { 6861 var t = U(e, n); 6862 F(t, function (e) { 6863 var t = Su.fromRangeStart(r.selection.getRng()); 6864 nm(n, r.getBody(), t).bind(function (e) { 6865 return dm(r, o, e) 6866 }) 6867 }) 6868 } 6869 }(s, a, u, e.parents)) 6870 }), u 6871 }, 6872 setCaretPosition: cm 6873 }, 6874 pm = function (t, n) { 6875 return function (e) { 6876 return Md(n, e).map(function (e) { 6877 return gm.setCaretPosition(t, e), !0 6878 }).getOr(!1) 6879 } 6880 }, 6881 hm = function (r, o, i, a) { 6882 var u = r.getBody(), 6883 s = b(Rf.isInlineTarget, r); 6884 r.undoManager.ignore(function () { 6885 var e, t, n; 6886 r.selection.setRng((e = i, t = a, (n = document.createRange()).setStart(e.container(), e.offset()), n.setEnd(t.container(), t.offset()), n)), r.execCommand("Delete"), nm(s, u, Su.fromRangeStart(r.selection.getRng())).map(im).map(pm(r, o)) 6887 }), r.nodeChanged() 6888 }, 6889 vm = function (n, r, i, o) { 6890 var e, t, a = (e = n.getBody(), t = o.container(), Hc(t, e) || e), 6891 u = b(Rf.isInlineTarget, n), 6892 s = nm(u, a, o); 6893 return s.bind(function (e) { 6894 return i ? e.fold(H(A.some(im(e))), A.none, H(A.some(om(e))), A.none) : e.fold(A.none, H(A.some(om(e))), A.none, H(A.some(im(e)))) 6895 }).map(pm(n, r)).getOrThunk(function () { 6896 var t = fl.navigate(i, a, o), 6897 e = t.bind(function (e) { 6898 return nm(u, a, e) 6899 }); 6900 return s.isSome() && e.isSome() ? Rf.findRootInline(u, a, o).map(function (e) { 6901 return o = e, !!ru([fl.firstPositionIn(o), fl.lastPositionIn(o)], function (e, t) { 6902 var n = Rf.normalizePosition(!0, e), 6903 r = Rf.normalizePosition(!1, t); 6904 return fl.nextPosition(o, n).map(function (e) { 6905 return e.isEqual(r) 6906 }).getOr(!0) 6907 }).getOr(!0) && (Nd(n, i, er.fromDom(e)), !0); 6908 var o 6909 }).getOr(!1) : e.bind(function (e) { 6910 return t.map(function (e) { 6911 return i ? hm(n, r, o, e) : hm(n, r, e, o), !0 6912 }) 6913 }).getOr(!1) 6914 }) 6915 }, 6916 bm = function (e, t, n) { 6917 if (e.selection.isCollapsed() && !1 !== e.settings.inline_boundaries) { 6918 var r = Su.fromRangeStart(e.selection.getRng()); 6919 return vm(e, t, n, r) 6920 } 6921 return !1 6922 }, 6923 ym = kr("start", "end"), 6924 Cm = kr("rng", "table", "cells"), 6925 xm = cd([{ 6926 removeTable: ["element"] 6927 }, { 6928 emptyCells: ["cells"] 6929 }]), 6930 wm = function (e, t) { 6931 return ra(er.fromDom(e), "td,th", t) 6932 }, 6933 Nm = function (e, t) { 6934 return ta(e, "table", t) 6935 }, 6936 Em = function (e) { 6937 return !1 === Fr.eq(e.start(), e.end()) 6938 }, 6939 Sm = function (e, n) { 6940 return Nm(e.start(), n).bind(function (t) { 6941 return Nm(e.end(), n).bind(function (e) { 6942 return Fr.eq(t, e) ? A.some(t) : A.none() 6943 }) 6944 }) 6945 }, 6946 Tm = function (e) { 6947 return Ki(e, "td,th") 6948 }, 6949 km = function (r, e) { 6950 var t = wm(e.startContainer, r), 6951 n = wm(e.endContainer, r); 6952 return e.collapsed ? A.none() : ru([t, n], ym).fold(function () { 6953 return t.fold(function () { 6954 return n.bind(function (t) { 6955 return Nm(t, r).bind(function (e) { 6956 return ee(Tm(e)).map(function (e) { 6957 return ym(e, t) 6958 }) 6959 }) 6960 }) 6961 }, function (t) { 6962 return Nm(t, r).bind(function (e) { 6963 return te(Tm(e)).map(function (e) { 6964 return ym(t, e) 6965 }) 6966 }) 6967 }) 6968 }, function (e) { 6969 return Am(r, e) ? A.none() : (n = r, Nm((t = e).start(), n).bind(function (e) { 6970 return te(Tm(e)).map(function (e) { 6971 return ym(t.start(), e) 6972 }) 6973 })); 6974 var t, n 6975 }) 6976 }, 6977 Am = function (e, t) { 6978 return Sm(t, e).isSome() 6979 }, 6980 _m = function (e, t) { 6981 var n, r, o, i, a, u = (n = e, b(Fr.eq, n)); 6982 return (r = t, o = u, i = wm(r.startContainer, o), a = wm(r.endContainer, o), ru([i, a], ym).filter(Em).filter(function (e) { 6983 return Am(o, e) 6984 }).orThunk(function () { 6985 return km(o, r) 6986 })).bind(function (e) { 6987 return Sm(t = e, u).map(function (e) { 6988 return Cm(t, e, Tm(e)) 6989 }); 6990 var t 6991 }) 6992 }, 6993 Rm = function (e, t) { 6994 return K(e, function (e) { 6995 return Fr.eq(e, t) 6996 }) 6997 }, 6998 Dm = function (n) { 6999 return (r = n, ru([Rm(r.cells(), r.rng().start()), Rm(r.cells(), r.rng().end())], function (e, t) { 7000 return r.cells().slice(e, t + 1) 7001 })).map(function (e) { 7002 var t = n.cells(); 7003 return e.length === t.length ? xm.removeTable(n.table()) : xm.emptyCells(e) 7004 }); 7005 var r 7006 }, 7007 Bm = function (e, t) { 7008 return _m(e, t).bind(Dm) 7009 }, 7010 Om = function (e) { 7011 var t = []; 7012 if (e) 7013 for (var n = 0; n < e.rangeCount; n++) t.push(e.getRangeAt(n)); 7014 return t 7015 }, 7016 Pm = Om, 7017 Lm = function (e) { 7018 return G(e, function (e) { 7019 var t = Za(e); 7020 return t ? [er.fromDom(t)] : [] 7021 }) 7022 }, 7023 Im = function (e) { 7024 return 1 < Om(e).length 7025 }, 7026 Mm = function (e) { 7027 return U(Lm(e), yo) 7028 }, 7029 Fm = function (e) { 7030 return Ki(e, "td[data-mce-selected],th[data-mce-selected]") 7031 }, 7032 Um = function (e, t) { 7033 var n = Fm(t), 7034 r = Mm(e); 7035 return 0 < n.length ? n : r 7036 }, 7037 zm = Um, 7038 Vm = function (e) { 7039 return Um(Pm(e.selection.getSel()), er.fromDom(e.getBody())) 7040 }, 7041 qm = function (e, t) { 7042 return F(t, af), e.selection.setCursorLocation(t[0].dom(), 0), !0 7043 }, 7044 Hm = function (e, t) { 7045 return Nd(e, !1, t), !0 7046 }, 7047 jm = function (n, e, r, t) { 7048 return Wm(e, t).fold(function () { 7049 return t = n, Bm(e, r).map(function (e) { 7050 return e.fold(b(Hm, t), b(qm, t)) 7051 }); 7052 var t 7053 }, function (e) { 7054 return Km(n, e) 7055 }).getOr(!1) 7056 }, 7057 $m = function (e, t) { 7058 return V(Yf(t, e), yo) 7059 }, 7060 Wm = function (e, t) { 7061 return V(Yf(t, e), function (e) { 7062 return "caption" === sr.name(e) 7063 }) 7064 }, 7065 Km = function (e, t) { 7066 return af(t), e.selection.setCursorLocation(t.dom(), 0), A.some(!0) 7067 }, 7068 Xm = function (u, s, c, l, f) { 7069 return fl.navigate(c, u.getBody(), f).bind(function (e) { 7070 return r = l, o = c, i = f, a = e, fl.firstPositionIn(r.dom()).bind(function (t) { 7071 return fl.lastPositionIn(r.dom()).map(function (e) { 7072 return o ? i.isEqual(t) && a.isEqual(e) : i.isEqual(e) && a.isEqual(t) 7073 }) 7074 }).getOr(!0) ? Km(u, l) : (t = l, n = e, Wm(s, er.fromDom(n.getNode())).map(function (e) { 7075 return !1 === Fr.eq(e, t) 7076 })); 7077 var t, n, r, o, i, a 7078 }).or(A.some(!0)) 7079 }, 7080 Ym = function (a, u, s, e) { 7081 var c = Su.fromRangeStart(a.selection.getRng()); 7082 return $m(s, e).bind(function (e) { 7083 return zf(e) ? Km(a, e) : (t = a, n = s, r = u, o = e, i = c, fl.navigate(r, t.getBody(), i).bind(function (e) { 7084 return $m(n, er.fromDom(e.getNode())).map(function (e) { 7085 return !1 === Fr.eq(e, o) 7086 }) 7087 })); 7088 var t, n, r, o, i 7089 }) 7090 }, 7091 Gm = function (a, u, e) { 7092 var s = er.fromDom(a.getBody()); 7093 return Wm(s, e).fold(function () { 7094 return Ym(a, u, s, e) 7095 }, function (e) { 7096 return t = a, n = u, r = s, o = e, i = Su.fromRangeStart(t.selection.getRng()), zf(o) ? Km(t, o) : Xm(t, r, n, o, i); 7097 var t, n, r, o, i 7098 }).getOr(!1) 7099 }, 7100 Jm = function (e, t) { 7101 var n, r, o, i, a, u = er.fromDom(e.selection.getStart(!0)), 7102 s = Vm(e); 7103 return e.selection.isCollapsed() && 0 === s.length ? Gm(e, t, u) : (n = e, r = u, o = er.fromDom(n.getBody()), i = n.selection.getRng(), 0 !== (a = Vm(n)).length ? qm(n, a) : jm(n, o, i, r)) 7104 }, 7105 Qm = function (e, t) { 7106 e.getDoc().execCommand(t, !1, null) 7107 }, 7108 Zm = function (e) { 7109 Td(e, !1) || bm(e, !1) || od(e, !1) || Jm(e) || sd(e, !1) || (Qm(e, "Delete"), Bf(e)) 7110 }, 7111 eg = function (e) { 7112 Td(e, !0) || bm(e, !0) || od(e, !0) || Jm(e) || sd(e, !0) || Qm(e, "ForwardDelete") 7113 }, 7114 tg = function (s) { 7115 return function (u, e) { 7116 return A.from(e).map(er.fromDom).filter(sr.isElement).bind(function (e) { 7117 return (r = s, o = u, i = e.dom(), a = function (e) { 7118 return Tr(e, r) 7119 }, Zi.closest(er.fromDom(i), function (e) { 7120 return a(e).isSome() 7121 }, function (e) { 7122 return Fr.eq(er.fromDom(o), e) 7123 }).bind(a)).or((t = s, n = e.dom(), A.from(pi.DOM.getStyle(n, t, !0)))); 7124 var t, n, r, o, i, a 7125 }).getOr("") 7126 } 7127 }, 7128 ng = { 7129 getFontSize: tg("font-size"), 7130 getFontFamily: q(function (e) { 7131 return e.replace(/[\'\"\\]/g, "").replace(/,\s+/g, ",") 7132 }, tg("font-family")), 7133 toPt: function (e, t) { 7134 return /[0-9.]+px$/.test(e) ? (n = 72 * parseInt(e, 10) / 96, r = t || 0, o = Math.pow(10, r), Math.round(n * o) / o + "pt") : e; 7135 var n, r, o 7136 } 7137 }, 7138 rg = function (e) { 7139 return fl.firstPositionIn(e.getBody()).map(function (e) { 7140 var t = e.container(); 7141 return Do.isText(t) ? t.parentNode : t 7142 }) 7143 }, 7144 og = function (o) { 7145 return A.from(o.selection.getRng()).bind(function (e) { 7146 var t, n, r = o.getBody(); 7147 return n = r, (t = e).startContainer === n && 0 === t.startOffset ? A.none() : A.from(o.selection.getStart(!0)) 7148 }) 7149 }, 7150 ig = function (e, t) { 7151 if (/^[0-9\.]+$/.test(t)) { 7152 var n = parseInt(t, 10); 7153 if (1 <= n && n <= 7) { 7154 var r = ac(e), 7155 o = uc(e); 7156 return o ? o[n - 1] || t : r[n - 1] || t 7157 } 7158 return t 7159 } 7160 return t 7161 }, 7162 ag = function (e, t) { 7163 return e && t && e.startContainer === t.startContainer && e.startOffset === t.startOffset && e.endContainer === t.endContainer && e.endOffset === t.endOffset 7164 }, 7165 ug = function (e, t, n) { 7166 return null !== function (e, t, n) { 7167 for (; e && e !== t;) { 7168 if (n(e)) return e; 7169 e = e.parentNode 7170 } 7171 return null 7172 }(e, t, n) 7173 }, 7174 sg = function (e, t, n) { 7175 return ug(e, t, function (e) { 7176 return e.nodeName === n 7177 }) 7178 }, 7179 cg = function (e) { 7180 return e && "TABLE" === e.nodeName 7181 }, 7182 lg = function (e, t, n) { 7183 for (var r = new oo(t, e.getParent(t.parentNode, e.isBlock) || e.getRoot()); t = r[n ? "prev" : "next"]();) 7184 if (Do.isBr(t)) return !0 7185 }, 7186 fg = function (e, t, n, r, o) { 7187 var i, a, u, s, c, l, f = e.getRoot(), 7188 d = e.schema.getNonEmptyElements(); 7189 if (u = e.getParent(o.parentNode, e.isBlock) || f, r && Do.isBr(o) && t && e.isEmpty(u)) return A.some(wu(o.parentNode, e.nodeIndex(o))); 7190 for (i = new oo(o, u); s = i[r ? "prev" : "next"]();) { 7191 if ("false" === e.getContentEditableParent(s) || (l = f, Aa(c = s) && !1 === ug(c, l, Ku))) return A.none(); 7192 if (Do.isText(s) && 0 < s.nodeValue.length) return !1 === sg(s, f, "A") ? A.some(wu(s, r ? s.nodeValue.length : 0)) : A.none(); 7193 if (e.isBlock(s) || d[s.nodeName.toLowerCase()]) return A.none(); 7194 a = s 7195 } 7196 return n && a ? A.some(wu(a, 0)) : A.none() 7197 }, 7198 dg = function (e, t, n, r) { 7199 var o, i, a, u, s, c, l, f, d, m, g = e.getRoot(), 7200 p = !1; 7201 if (o = r[(n ? "start" : "end") + "Container"], i = r[(n ? "start" : "end") + "Offset"], l = Do.isElement(o) && i === o.childNodes.length, s = e.schema.getNonEmptyElements(), c = n, Aa(o)) return A.none(); 7202 if (Do.isElement(o) && i > o.childNodes.length - 1 && (c = !1), Do.isDocument(o) && (o = g, i = 0), o === g) { 7203 if (c && (u = o.childNodes[0 < i ? i - 1 : 0])) { 7204 if (Aa(u)) return A.none(); 7205 if (s[u.nodeName] || cg(u)) return A.none() 7206 } 7207 if (o.hasChildNodes()) { 7208 if (i = Math.min(!c && 0 < i ? i - 1 : i, o.childNodes.length - 1), o = o.childNodes[i], i = Do.isText(o) && l ? o.data.length : 0, !t && o === g.lastChild && cg(o)) return A.none(); 7209 if (function (e, t) { 7210 for (; t && t !== e;) { 7211 if (Do.isContentEditableFalse(t)) return !0; 7212 t = t.parentNode 7213 } 7214 return !1 7215 }(g, o) || Aa(o)) return A.none(); 7216 if (o.hasChildNodes() && !1 === cg(o)) { 7217 a = new oo(u = o, g); 7218 do { 7219 if (Do.isContentEditableFalse(u) || Aa(u)) { 7220 p = !1; 7221 break 7222 } 7223 if (Do.isText(u) && 0 < u.nodeValue.length) { 7224 i = c ? 0 : u.nodeValue.length, o = u, p = !0; 7225 break 7226 } 7227 if (s[u.nodeName.toLowerCase()] && (!(f = u) || !/^(TD|TH|CAPTION)$/.test(f.nodeName))) { 7228 i = e.nodeIndex(u), o = u.parentNode, c || i++, p = !0; 7229 break 7230 } 7231 } while (u = c ? a.next() : a.prev()) 7232 } 7233 } 7234 } 7235 return t && (Do.isText(o) && 0 === i && fg(e, l, t, !0, o).each(function (e) { 7236 o = e.container(), i = e.offset(), p = !0 7237 }), Do.isElement(o) && ((u = o.childNodes[i]) || (u = o.childNodes[i - 1]), !u || !Do.isBr(u) || (m = "A", (d = u).previousSibling && d.previousSibling.nodeName === m) || lg(e, u, !1) || lg(e, u, !0) || fg(e, l, t, !0, u).each(function (e) { 7238 o = e.container(), i = e.offset(), p = !0 7239 }))), c && !t && Do.isText(o) && i === o.nodeValue.length && fg(e, l, t, !1, o).each(function (e) { 7240 o = e.container(), i = e.offset(), p = !0 7241 }), p ? A.some(wu(o, i)) : A.none() 7242 }, 7243 mg = function (e, t) { 7244 var n = t.collapsed, 7245 r = t.cloneRange(), 7246 o = wu.fromRangeStart(t); 7247 return dg(e, n, !0, r).each(function (e) { 7248 n && wu.isAbove(o, e) || r.setStart(e.container(), e.offset()) 7249 }), n || dg(e, n, !1, r).each(function (e) { 7250 r.setEnd(e.container(), e.offset()) 7251 }), n && r.collapse(!0), ag(t, r) ? A.none() : A.some(r) 7252 }, 7253 gg = function (e, t, n) { 7254 var r = e.create("span", {}, " "); 7255 n.parentNode.insertBefore(r, n), t.scrollIntoView(r), e.remove(r) 7256 }, 7257 pg = function (e, t, n, r) { 7258 var o = e.createRng(); 7259 r ? (o.setStartBefore(n), o.setEndBefore(n)) : (o.setStartAfter(n), o.setEndAfter(n)), t.setRng(o) 7260 }, 7261 hg = function (e, t) { 7262 var n, r, o = e.selection, 7263 i = e.dom, 7264 a = o.getRng(); 7265 mg(i, a).each(function (e) { 7266 a.setStart(e.startContainer, e.startOffset), a.setEnd(e.endContainer, e.endOffset) 7267 }); 7268 var u = a.startOffset, 7269 s = a.startContainer; 7270 if (1 === s.nodeType && s.hasChildNodes()) { 7271 var c = u > s.childNodes.length - 1; 7272 s = s.childNodes[Math.min(u, s.childNodes.length - 1)] || s, u = c && 3 === s.nodeType ? s.nodeValue.length : 0 7273 } 7274 var l = i.getParent(s, i.isBlock), 7275 f = l ? i.getParent(l.parentNode, i.isBlock) : null, 7276 d = f ? f.nodeName.toUpperCase() : "", 7277 m = t && t.ctrlKey; 7278 "LI" !== d || m || (l = f), s && 3 === s.nodeType && u >= s.nodeValue.length && (function (e, t, n) { 7279 for (var r, o = new oo(t, n), i = e.getNonEmptyElements(); r = o.next();) 7280 if (i[r.nodeName.toLowerCase()] || 0 < r.length) return !0 7281 }(e.schema, s, l) || (n = i.create("br"), a.insertNode(n), a.setStartAfter(n), a.setEndAfter(n), r = !0)), n = i.create("br"), a.insertNode(n), gg(i, o, n), pg(i, o, n, r), e.undoManager.add() 7282 }, 7283 vg = function (e, t) { 7284 var n = er.fromTag("br"); 7285 Ti.before(er.fromDom(t), n), e.undoManager.add() 7286 }, 7287 bg = function (e, t) { 7288 yg(e.getBody(), t) || Ti.after(er.fromDom(t), er.fromTag("br")); 7289 var n = er.fromTag("br"); 7290 Ti.after(er.fromDom(t), n), gg(e.dom, e.selection, n.dom()), pg(e.dom, e.selection, n.dom(), !1), e.undoManager.add() 7291 }, 7292 yg = function (e, t) { 7293 return n = Su.after(t), !!Do.isBr(n.getNode()) || fl.nextPosition(e, Su.after(t)).map(function (e) { 7294 return Do.isBr(e.getNode()) 7295 }).getOr(!1); 7296 var n 7297 }, 7298 Cg = function (e) { 7299 return e && "A" === e.nodeName && "href" in e 7300 }, 7301 xg = function (e) { 7302 return e.fold(H(!1), Cg, Cg, H(!1)) 7303 }, 7304 wg = function (e, t) { 7305 t.fold(v, b(vg, e), b(bg, e), v) 7306 }, 7307 Ng = function (e, t) { 7308 var n, r, o, i = (n = e, r = b(Rf.isInlineTarget, n), o = Su.fromRangeStart(n.selection.getRng()), nm(r, n.getBody(), o).filter(xg)); 7309 i.isSome() ? i.each(b(wg, e)) : hg(e, t) 7310 }, 7311 Eg = cd([{ 7312 before: ["element"] 7313 }, { 7314 on: ["element", "offset"] 7315 }, { 7316 after: ["element"] 7317 }]), 7318 Sg = (Eg.before, Eg.on, Eg.after, function (e) { 7319 return e.fold(j, j, j) 7320 }), 7321 Tg = cd([{ 7322 domRange: ["rng"] 7323 }, { 7324 relative: ["startSitu", "finishSitu"] 7325 }, { 7326 exact: ["start", "soffset", "finish", "foffset"] 7327 }]), 7328 kg = kr("start", "soffset", "finish", "foffset"), 7329 Ag = { 7330 domRange: Tg.domRange, 7331 relative: Tg.relative, 7332 exact: Tg.exact, 7333 exactFromRange: function (e) { 7334 return Tg.exact(e.start(), e.soffset(), e.finish(), e.foffset()) 7335 }, 7336 range: kg, 7337 getWin: function (e) { 7338 var t = e.match({ 7339 domRange: function (e) { 7340 return er.fromDom(e.startContainer) 7341 }, 7342 relative: function (e, t) { 7343 return Sg(e) 7344 }, 7345 exact: function (e, t, n, r) { 7346 return e 7347 } 7348 }); 7349 return $r.defaultView(t) 7350 } 7351 }, 7352 _g = Qn.detect().browser, 7353 Rg = function (e, t) { 7354 var n = sr.isText(t) ? Vl(t).length : $r.children(t).length + 1; 7355 return n < e ? n : e < 0 ? 0 : e 7356 }, 7357 Dg = function (e) { 7358 return Ag.range(e.start(), Rg(e.soffset(), e.start()), e.finish(), Rg(e.foffset(), e.finish())) 7359 }, 7360 Bg = function (e, t) { 7361 return Fr.contains(e, t) || Fr.eq(e, t) 7362 }, 7363 Og = function (t) { 7364 return function (e) { 7365 return Bg(t, e.start()) && Bg(t, e.finish()) 7366 } 7367 }, 7368 Pg = function (e) { 7369 return !0 === e.inline || _g.isIE() 7370 }, 7371 Lg = function (e) { 7372 return Ag.range(er.fromDom(e.startContainer), e.startOffset, er.fromDom(e.endContainer), e.endOffset) 7373 }, 7374 Ig = function (e) { 7375 var t = e.getSelection(); 7376 return (t && 0 !== t.rangeCount ? A.from(t.getRangeAt(0)) : A.none()).map(Lg) 7377 }, 7378 Mg = function (e) { 7379 var t = $r.defaultView(e); 7380 return Ig(t.dom()).filter(Og(e)) 7381 }, 7382 Fg = function (e, t) { 7383 return A.from(t).filter(Og(e)).map(Dg) 7384 }, 7385 Ug = function (e) { 7386 var t = document.createRange(); 7387 try { 7388 return t.setStart(e.start().dom(), e.soffset()), t.setEnd(e.finish().dom(), e.foffset()), A.some(t) 7389 } catch (n) { 7390 return A.none() 7391 } 7392 }, 7393 zg = function (e) { 7394 return (e.bookmark ? e.bookmark : A.none()).bind(b(Fg, er.fromDom(e.getBody()))).bind(Ug) 7395 }, 7396 Vg = function (e) { 7397 var t = Pg(e) ? Mg(er.fromDom(e.getBody())) : A.none(); 7398 e.bookmark = t.isSome() ? t : e.bookmark 7399 }, 7400 qg = function (t) { 7401 zg(t).each(function (e) { 7402 t.selection.setRng(e) 7403 }) 7404 }, 7405 Hg = zg, 7406 jg = function (e, t) { 7407 var n = e.settings, 7408 r = e.dom, 7409 o = e.selection, 7410 i = e.formatter, 7411 a = /[a-z%]+$/i.exec(n.indentation)[0], 7412 u = parseInt(n.indentation, 10), 7413 s = e.getParam("indent_use_margin", !1); 7414 e.queryCommandState("InsertUnorderedList") || e.queryCommandState("InsertOrderedList") || (n.forced_root_block || r.getParent(o.getNode(), r.isBlock) || i.apply("div"), F(o.getSelectedBlocks(), function (e) { 7415 return function (e, t, n, r, o, i) { 7416 if ("false" !== e.getContentEditable(i) && "LI" !== i.nodeName) { 7417 var a = n ? "margin" : "padding"; 7418 if (a = "TABLE" === i.nodeName ? "margin" : a, a += "rtl" === e.getStyle(i, "direction", !0) ? "Right" : "Left", "outdent" === t) { 7419 var u = Math.max(0, parseInt(i.style[a] || 0, 10) - r); 7420 e.setStyle(i, a, u ? u + o : "") 7421 } else u = parseInt(i.style[a] || 0, 10) + r + o, e.setStyle(i, a, u) 7422 } 7423 }(r, t, s, u, a, e) 7424 })) 7425 }, 7426 $g = Yt.each, 7427 Wg = Yt.extend, 7428 Kg = Yt.map, 7429 Xg = Yt.inArray; 7430 7431 function Yg(s) { 7432 var o, i, a, t, c = { 7433 state: {}, 7434 exec: {}, 7435 value: {} 7436 }, 7437 n = s.settings; 7438 s.on("PreInit", function () { 7439 o = s.dom, i = s.selection, n = s.settings, a = s.formatter 7440 }); 7441 var r = function (e) { 7442 var t; 7443 if (!s.quirks.isHidden() && !s.removed) { 7444 if (e = e.toLowerCase(), t = c.state[e]) return t(e); 7445 try { 7446 return s.getDoc().queryCommandState(e) 7447 } catch (n) {} 7448 return !1 7449 } 7450 }, 7451 e = function (e, n) { 7452 n = n || "exec", $g(e, function (t, e) { 7453 $g(e.toLowerCase().split(","), function (e) { 7454 c[n][e] = t 7455 }) 7456 }) 7457 }, 7458 u = function (e, t, n) { 7459 e = e.toLowerCase(), c.value[e] = function () { 7460 return t.call(n || s) 7461 } 7462 }; 7463 Wg(this, { 7464 execCommand: function (t, n, r, e) { 7465 var o, i, a = !1; 7466 if (!s.removed) { 7467 if (/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(t) || e && e.skip_focus ? qg(s) : s.focus(), (e = s.fire("BeforeExecCommand", { 7468 command: t, 7469 ui: n, 7470 value: r 7471 })).isDefaultPrevented()) return !1; 7472 if (i = t.toLowerCase(), o = c.exec[i]) return o(i, n, r), s.fire("ExecCommand", { 7473 command: t, 7474 ui: n, 7475 value: r 7476 }), !0; 7477 if ($g(s.plugins, function (e) { 7478 if (e.execCommand && e.execCommand(t, n, r)) return s.fire("ExecCommand", { 7479 command: t, 7480 ui: n, 7481 value: r 7482 }), !(a = !0) 7483 }), a) return a; 7484 if (s.theme && s.theme.execCommand && s.theme.execCommand(t, n, r)) return s.fire("ExecCommand", { 7485 command: t, 7486 ui: n, 7487 value: r 7488 }), !0; 7489 try { 7490 a = s.getDoc().execCommand(t, n, r) 7491 } catch (u) {} 7492 return !!a && (s.fire("ExecCommand", { 7493 command: t, 7494 ui: n, 7495 value: r 7496 }), !0) 7497 } 7498 }, 7499 queryCommandState: r, 7500 queryCommandValue: function (e) { 7501 var t; 7502 if (!s.quirks.isHidden() && !s.removed) { 7503 if (e = e.toLowerCase(), t = c.value[e]) return t(e); 7504 try { 7505 return s.getDoc().queryCommandValue(e) 7506 } catch (n) {} 7507 } 7508 }, 7509 queryCommandSupported: function (e) { 7510 if (e = e.toLowerCase(), c.exec[e]) return !0; 7511 try { 7512 return s.getDoc().queryCommandSupported(e) 7513 } catch (t) {} 7514 return !1 7515 }, 7516 addCommands: e, 7517 addCommand: function (e, o, i) { 7518 e = e.toLowerCase(), c.exec[e] = function (e, t, n, r) { 7519 return o.call(i || s, t, n, r) 7520 } 7521 }, 7522 addQueryStateHandler: function (e, t, n) { 7523 e = e.toLowerCase(), c.state[e] = function () { 7524 return t.call(n || s) 7525 } 7526 }, 7527 addQueryValueHandler: u, 7528 hasCustomCommand: function (e) { 7529 return e = e.toLowerCase(), !!c.exec[e] 7530 } 7531 }); 7532 var l = function (e, t, n) { 7533 return t === undefined && (t = !1), n === undefined && (n = null), s.getDoc().execCommand(e, t, n) 7534 }, 7535 f = function (e) { 7536 return a.match(e) 7537 }, 7538 d = function (e, t) { 7539 a.toggle(e, t ? { 7540 value: t 7541 } : undefined), s.nodeChanged() 7542 }, 7543 m = function (e) { 7544 t = i.getBookmark(e) 7545 }, 7546 g = function () { 7547 i.moveToBookmark(t) 7548 }; 7549 e({ 7550 "mceResetDesignMode,mceBeginUndoLevel": function () {}, 7551 "mceEndUndoLevel,mceAddUndoLevel": function () { 7552 s.undoManager.add() 7553 }, 7554 "Cut,Copy,Paste": function (e) { 7555 var t, n = s.getDoc(); 7556 try { 7557 l(e) 7558 } catch (o) { 7559 t = !0 7560 } 7561 if ("paste" !== e || n.queryCommandEnabled(e) || (t = !0), t || !n.queryCommandSupported(e)) { 7562 var r = s.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead."); 7563 Re.mac && (r = r.replace(/Ctrl\+/g, "\u2318+")), s.notificationManager.open({ 7564 text: r, 7565 type: "error" 7566 }) 7567 } 7568 }, 7569 unlink: function () { 7570 if (i.isCollapsed()) { 7571 var e = s.dom.getParent(s.selection.getStart(), "a"); 7572 e && s.dom.remove(e, !0) 7573 } else a.remove("link") 7574 }, 7575 "JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone": function (e) { 7576 var t = e.substring(7); 7577 "full" === t && (t = "justify"), $g("left,center,right,justify".split(","), function (e) { 7578 t !== e && a.remove("align" + e) 7579 }), "none" !== t && d("align" + t) 7580 }, 7581 "InsertUnorderedList,InsertOrderedList": function (e) { 7582 var t, n; 7583 l(e), (t = o.getParent(i.getNode(), "ol,ul")) && (n = t.parentNode, /^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName) && (m(), o.split(n, t), g())) 7584 }, 7585 "Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function (e) { 7586 d(e) 7587 }, 7588 "ForeColor,HiliteColor": function (e, t, n) { 7589 d(e, n) 7590 }, 7591 FontName: function (e, t, n) { 7592 var r, o; 7593 o = n, (r = s).formatter.toggle("fontname", { 7594 value: ig(r, o) 7595 }), r.nodeChanged() 7596 }, 7597 FontSize: function (e, t, n) { 7598 var r, o; 7599 o = n, (r = s).formatter.toggle("fontsize", { 7600 value: ig(r, o) 7601 }), r.nodeChanged() 7602 }, 7603 RemoveFormat: function (e) { 7604 a.remove(e) 7605 }, 7606 mceBlockQuote: function () { 7607 d("blockquote") 7608 }, 7609 FormatBlock: function (e, t, n) { 7610 return d(n || "p") 7611 }, 7612 mceCleanup: function () { 7613 var e = i.getBookmark(); 7614 s.setContent(s.getContent()), i.moveToBookmark(e) 7615 }, 7616 mceRemoveNode: function (e, t, n) { 7617 var r = n || i.getNode(); 7618 r !== s.getBody() && (m(), s.dom.remove(r, !0), g()) 7619 }, 7620 mceSelectNodeDepth: function (e, t, n) { 7621 var r = 0; 7622 o.getParent(i.getNode(), function (e) { 7623 if (1 === e.nodeType && r++ === n) return i.select(e), !1 7624 }, s.getBody()) 7625 }, 7626 mceSelectNode: function (e, t, n) { 7627 i.select(n) 7628 }, 7629 mceInsertContent: function (e, t, n) { 7630 pf(s, n) 7631 }, 7632 mceInsertRawHTML: function (e, t, n) { 7633 var r = s.getContent(); 7634 i.setContent("tiny_mce_marker"), s.setContent(r.replace(/tiny_mce_marker/g, function () { 7635 return n 7636 })) 7637 }, 7638 mceToggleFormat: function (e, t, n) { 7639 d(n) 7640 }, 7641 mceSetContent: function (e, t, n) { 7642 s.setContent(n) 7643 }, 7644 "Indent,Outdent": function (e) { 7645 jg(s, e) 7646 }, 7647 mceRepaint: function () {}, 7648 InsertHorizontalRule: function () { 7649 s.execCommand("mceInsertContent", !1, "<hr />") 7650 }, 7651 mceToggleVisualAid: function () { 7652 s.hasVisual = !s.hasVisual, s.addVisual() 7653 }, 7654 mceReplaceContent: function (e, t, n) { 7655 s.execCommand("mceInsertContent", !1, n.replace(/\{\$selection\}/g, i.getContent({ 7656 format: "text" 7657 }))) 7658 }, 7659 mceInsertLink: function (e, t, n) { 7660 var r; 7661 "string" == typeof n && (n = { 7662 href: n 7663 }), r = o.getParent(i.getNode(), "a"), n.href = n.href.replace(" ", "%20"), r && n.href || a.remove("link"), n.href && a.apply("link", n, r) 7664 }, 7665 selectAll: function () { 7666 var e = o.getParent(i.getStart(), Do.isContentEditableTrue); 7667 if (e) { 7668 var t = o.createRng(); 7669 t.selectNodeContents(e), i.setRng(t) 7670 } 7671 }, 7672 "delete": function () { 7673 Zm(s) 7674 }, 7675 forwardDelete: function () { 7676 eg(s) 7677 }, 7678 mceNewDocument: function () { 7679 s.setContent("") 7680 }, 7681 InsertLineBreak: function (e, t, n) { 7682 return Ng(s, n), !0 7683 } 7684 }); 7685 var p = function (n) { 7686 return function () { 7687 var e = i.isCollapsed() ? [o.getParent(i.getNode(), o.isBlock)] : i.getSelectedBlocks(), 7688 t = Kg(e, function (e) { 7689 return !!a.matchNode(e, n) 7690 }); 7691 return -1 !== Xg(t, !0) 7692 } 7693 }; 7694 e({ 7695 JustifyLeft: p("alignleft"), 7696 JustifyCenter: p("aligncenter"), 7697 JustifyRight: p("alignright"), 7698 JustifyFull: p("alignjustify"), 7699 "Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function (e) { 7700 return f(e) 7701 }, 7702 mceBlockQuote: function () { 7703 return f("blockquote") 7704 }, 7705 Outdent: function () { 7706 var e; 7707 if (n.inline_styles) { 7708 if ((e = o.getParent(i.getStart(), o.isBlock)) && 0 < parseInt(e.style.paddingLeft, 10)) return !0; 7709 if ((e = o.getParent(i.getEnd(), o.isBlock)) && 0 < parseInt(e.style.paddingLeft, 10)) return !0 7710 } 7711 return r("InsertUnorderedList") || r("InsertOrderedList") || !n.inline_styles && !!o.getParent(i.getNode(), "BLOCKQUOTE") 7712 }, 7713 "InsertUnorderedList,InsertOrderedList": function (e) { 7714 var t = o.getParent(i.getNode(), "ul,ol"); 7715 return t && ("insertunorderedlist" === e && "UL" === t.tagName || "insertorderedlist" === e && "OL" === t.tagName) 7716 } 7717 }, "state"), e({ 7718 Undo: function () { 7719 s.undoManager.undo() 7720 }, 7721 Redo: function () { 7722 s.undoManager.redo() 7723 } 7724 }), u("FontName", function () { 7725 return og(t = s).fold(function () { 7726 return rg(t).map(function (e) { 7727 return ng.getFontFamily(t.getBody(), e) 7728 }).getOr("") 7729 }, function (e) { 7730 return ng.getFontFamily(t.getBody(), e) 7731 }); 7732 var t 7733 }, this), u("FontSize", function () { 7734 return og(t = s).fold(function () { 7735 return rg(t).map(function (e) { 7736 return ng.getFontSize(t.getBody(), e) 7737 }).getOr("") 7738 }, function (e) { 7739 return ng.getFontSize(t.getBody(), e) 7740 }); 7741 var t 7742 }, this) 7743 } 7744 var Gg = Yt.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend", " "), 7745 Jg = function (a) { 7746 var u, s, c = this, 7747 l = {}, 7748 f = function () { 7749 return !1 7750 }, 7751 d = function () { 7752 return !0 7753 }; 7754 u = (a = a || {}).scope || c, s = a.toggleEvent || f; 7755 var r = function (e, t, n, r) { 7756 var o, i, a; 7757 if (!1 === t && (t = f), t) 7758 for (t = { 7759 func: t 7760 }, r && Yt.extend(t, r), a = (i = e.toLowerCase().split(" ")).length; a--;) e = i[a], (o = l[e]) || (o = l[e] = [], s(e, !0)), n ? o.unshift(t) : o.push(t); 7761 return c 7762 }, 7763 m = function (e, t) { 7764 var n, r, o, i, a; 7765 if (e) 7766 for (n = (i = e.toLowerCase().split(" ")).length; n--;) { 7767 if (e = i[n], r = l[e], !e) { 7768 for (o in l) s(o, !1), delete l[o]; 7769 return c 7770 } 7771 if (r) { 7772 if (t) 7773 for (a = r.length; a--;) r[a].func === t && (r = r.slice(0, a).concat(r.slice(a + 1)), l[e] = r); 7774 else r.length = 0; 7775 r.length || (s(e, !1), delete l[e]) 7776 } 7777 } else { 7778 for (e in l) s(e, !1); 7779 l = {} 7780 } 7781 return c 7782 }; 7783 c.fire = function (e, t) { 7784 var n, r, o, i; 7785 if (e = e.toLowerCase(), (t = t || {}).type = e, t.target || (t.target = u), t.preventDefault || (t.preventDefault = function () { 7786 t.isDefaultPrevented = d 7787 }, t.stopPropagation = function () { 7788 t.isPropagationStopped = d 7789 }, t.stopImmediatePropagation = function () { 7790 t.isImmediatePropagationStopped = d 7791 }, t.isDefaultPrevented = f, t.isPropagationStopped = f, t.isImmediatePropagationStopped = f), a.beforeFire && a.beforeFire(t), n = l[e]) 7792 for (r = 0, o = n.length; r < o; r++) { 7793 if ((i = n[r]).once && m(e, i.func), t.isImmediatePropagationStopped()) return t.stopPropagation(), t; 7794 if (!1 === i.func.call(u, t)) return t.preventDefault(), t 7795 } 7796 return t 7797 }, c.on = r, c.off = m, c.once = function (e, t, n) { 7798 return r(e, t, n, { 7799 once: !0 7800 }) 7801 }, c.has = function (e) { 7802 return e = e.toLowerCase(), !(!l[e] || 0 === l[e].length) 7803 } 7804 }; 7805 Jg.isNative = function (e) { 7806 return !!Gg[e.toLowerCase()] 7807 }; 7808 var Qg, Zg = function (n) { 7809 return n._eventDispatcher || (n._eventDispatcher = new Jg({ 7810 scope: n, 7811 toggleEvent: function (e, t) { 7812 Jg.isNative(e) && n.toggleNativeEvent && n.toggleNativeEvent(e, t) 7813 } 7814 })), n._eventDispatcher 7815 }, 7816 ep = { 7817 fire: function (e, t, n) { 7818 if (this.removed && "remove" !== e) return t; 7819 if (t = Zg(this).fire(e, t, n), !1 !== n && this.parent) 7820 for (var r = this.parent(); r && !t.isPropagationStopped();) r.fire(e, t, !1), r = r.parent(); 7821 return t 7822 }, 7823 on: function (e, t, n) { 7824 return Zg(this).on(e, t, n) 7825 }, 7826 off: function (e, t) { 7827 return Zg(this).off(e, t) 7828 }, 7829 once: function (e, t) { 7830 return Zg(this).once(e, t) 7831 }, 7832 hasEventListeners: function (e) { 7833 return Zg(this).has(e) 7834 } 7835 }, 7836 tp = function (e, t) { 7837 return e.fire("PreProcess", t) 7838 }, 7839 np = function (e, t) { 7840 return e.fire("PostProcess", t) 7841 }, 7842 rp = function (e) { 7843 return e.fire("remove") 7844 }, 7845 op = function (e, t) { 7846 return e.fire("SwitchMode", { 7847 mode: t 7848 }) 7849 }, 7850 ip = function (e, t, n, r) { 7851 e.fire("ObjectResizeStart", { 7852 target: t, 7853 width: n, 7854 height: r 7855 }) 7856 }, 7857 ap = function (e, t, n, r) { 7858 e.fire("ObjectResized", { 7859 target: t, 7860 width: n, 7861 height: r 7862 }) 7863 }, 7864 up = function (e, t, n) { 7865 try { 7866 e.getDoc().execCommand(t, !1, n) 7867 } catch (r) {} 7868 }, 7869 sp = function (e, t) { 7870 var n, r, o; 7871 n = er.fromDom(e.getBody()), r = "mce-content-readonly", o = t, Wi.has(n, r) && !1 === o ? Wi.remove(n, r) : o && Wi.add(n, r), t ? (e.selection.controlSelection.hideResizeRect(), e.readonly = !0, e.getBody().contentEditable = "false") : (e.readonly = !1, e.getBody().contentEditable = "true", up(e, "StyleWithCSS", !1), up(e, "enableInlineTableEditing", !1), up(e, "enableObjectResizing", !1), e.focus(), e.nodeChanged()) 7872 }, 7873 cp = function (e) { 7874 return e.readonly ? "readonly" : "design" 7875 }, 7876 lp = pi.DOM, 7877 fp = function (e, t) { 7878 return "selectionchange" === t ? e.getDoc() : !e.inline && /^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t) ? e.getDoc().documentElement : e.settings.event_root ? (e.eventRoot || (e.eventRoot = lp.select(e.settings.event_root)[0]), e.eventRoot) : e.getBody() 7879 }, 7880 dp = function (e, t, n) { 7881 var r; 7882 (r = e).hidden || r.readonly ? !0 === e.readonly && n.preventDefault() : e.fire(t, n) 7883 }, 7884 mp = function (i, a) { 7885 var e, t; 7886 if (i.delegates || (i.delegates = {}), !i.delegates[a] && !i.removed) 7887 if (e = fp(i, a), i.settings.event_root) { 7888 if (Qg || (Qg = {}, i.editorManager.on("removeEditor", function () { 7889 var e; 7890 if (!i.editorManager.activeEditor && Qg) { 7891 for (e in Qg) i.dom.unbind(fp(i, e)); 7892 Qg = null 7893 } 7894 })), Qg[a]) return; 7895 t = function (e) { 7896 for (var t = e.target, n = i.editorManager.get(), r = n.length; r--;) { 7897 var o = n[r].getBody(); 7898 (o === t || lp.isChildOf(t, o)) && dp(n[r], a, e) 7899 } 7900 }, Qg[a] = t, lp.bind(e, a, t) 7901 } else t = function (e) { 7902 dp(i, a, e) 7903 }, lp.bind(e, a, t), i.delegates[a] = t 7904 }, 7905 gp = { 7906 bindPendingEventDelegates: function () { 7907 var t = this; 7908 Yt.each(t._pendingNativeEvents, function (e) { 7909 mp(t, e) 7910 }) 7911 }, 7912 toggleNativeEvent: function (e, t) { 7913 var n = this; 7914 "focus" !== e && "blur" !== e && (t ? n.initialized ? mp(n, e) : n._pendingNativeEvents ? n._pendingNativeEvents.push(e) : n._pendingNativeEvents = [e] : n.initialized && (n.dom.unbind(fp(n, e), e, n.delegates[e]), delete n.delegates[e])) 7915 }, 7916 unbindAllNativeEvents: function () { 7917 var e, t = this, 7918 n = t.getBody(), 7919 r = t.dom; 7920 if (t.delegates) { 7921 for (e in t.delegates) t.dom.unbind(fp(t, e), e, t.delegates[e]); 7922 delete t.delegates 7923 }!t.inline && n && r && (n.onload = null, r.unbind(t.getWin()), r.unbind(t.getDoc())), r && (r.unbind(n), r.unbind(t.getContainer())) 7924 } 7925 }, 7926 pp = gp = Yt.extend({}, ep, gp), 7927 hp = Yt.each, 7928 vp = Yt.explode, 7929 bp = { 7930 f9: 120, 7931 f10: 121, 7932 f11: 122 7933 }, 7934 yp = Yt.makeMap("alt,ctrl,shift,meta,access"); 7935 7936 function Cp(i) { 7937 var a = {}, 7938 r = [], 7939 u = function (e) { 7940 var t, n, r = {}; 7941 for (n in hp(vp(e, "+"), function (e) { 7942 e in yp ? r[e] = !0 : /^[0-9]{2,}$/.test(e) ? r.keyCode = parseInt(e, 10) : (r.charCode = e.charCodeAt(0), r.keyCode = bp[e] || e.toUpperCase().charCodeAt(0)) 7943 }), t = [r.keyCode], yp) r[n] ? t.push(n) : r[n] = !1; 7944 return r.id = t.join(","), r.access && (r.alt = !0, Re.mac ? r.ctrl = !0 : r.shift = !0), r.meta && (Re.mac ? r.meta = !0 : (r.ctrl = !0, r.meta = !1)), r 7945 }, 7946 s = function (e, t, n, r) { 7947 var o; 7948 return (o = Yt.map(vp(e, ">"), u))[o.length - 1] = Yt.extend(o[o.length - 1], { 7949 func: n, 7950 scope: r || i 7951 }), Yt.extend(o[0], { 7952 desc: i.translate(t), 7953 subpatterns: o.slice(1) 7954 }) 7955 }, 7956 o = function (e, t) { 7957 return !!t && t.ctrl === e.ctrlKey && t.meta === e.metaKey && t.alt === e.altKey && t.shift === e.shiftKey && !!(e.keyCode === t.keyCode || e.charCode && e.charCode === t.charCode) && (e.preventDefault(), !0) 7958 }, 7959 c = function (e) { 7960 return e.func ? e.func.call(e.scope) : null 7961 }; 7962 i.on("keyup keypress keydown", function (t) { 7963 var e, n; 7964 ((n = t).altKey || n.ctrlKey || n.metaKey || "keydown" === (e = t).type && 112 <= e.keyCode && e.keyCode <= 123) && !t.isDefaultPrevented() && (hp(a, function (e) { 7965 if (o(t, e)) return r = e.subpatterns.slice(0), "keydown" === t.type && c(e), !0 7966 }), o(t, r[0]) && (1 === r.length && "keydown" === t.type && c(r[0]), r.shift())) 7967 }), this.add = function (e, n, r, o) { 7968 var t; 7969 return "string" == typeof (t = r) ? r = function () { 7970 i.execCommand(t, !1, null) 7971 } : Yt.isArray(t) && (r = function () { 7972 i.execCommand(t[0], t[1], t[2]) 7973 }), hp(vp(Yt.trim(e.toLowerCase())), function (e) { 7974 var t = s(e, n, r, o); 7975 a[t.id] = t 7976 }), !0 7977 }, this.remove = function (e) { 7978 var t = s(e); 7979 return !!a[t.id] && (delete a[t.id], !0) 7980 } 7981 } 7982 var xp = function (e) { 7983 var t = e !== undefined ? e.dom() : document; 7984 return A.from(t.activeElement).map(er.fromDom) 7985 }, 7986 wp = function (e) { 7987 var t = $r.owner(e).dom(); 7988 return e.dom() === t.activeElement 7989 }, 7990 Np = function (t) { 7991 return xp($r.owner(t)).filter(function (e) { 7992 return t.dom().contains(e.dom()) 7993 }) 7994 }, 7995 Ep = function (t, e) { 7996 return (n = e, n.collapsed ? A.from(eu(n.startContainer, n.startOffset)).map(er.fromDom) : A.none()).bind(function (e) { 7997 return bo(e) ? A.some(e) : !1 === Fr.contains(t, e) ? A.some(t) : A.none() 7998 }); 7999 var n 8000 }, 8001 Sp = function (t, e) { 8002 Ep(er.fromDom(t.getBody()), e).bind(function (e) { 8003 return fl.firstPositionIn(e.dom()) 8004 }).fold(function () { 8005 t.selection.normalize() 8006 }, function (e) { 8007 return t.selection.setRng(e.toRange()) 8008 }) 8009 }, 8010 Tp = function (e) { 8011 if (e.setActive) try { 8012 e.setActive() 8013 } catch (t) { 8014 e.focus() 8015 } else e.focus() 8016 }, 8017 kp = function (e) { 8018 var t, n = e.getBody(); 8019 return n && (t = er.fromDom(n), wp(t) || Np(t).isSome()) 8020 }, 8021 Ap = function (e) { 8022 return e.inline ? kp(e) : (t = e).iframeElement && wp(er.fromDom(t.iframeElement)); 8023 var t 8024 }, 8025 _p = function (e) { 8026 return e.editorManager.setActive(e) 8027 }, 8028 Rp = function (e, t) { 8029 e.removed || (t ? _p(e) : function (t) { 8030 var e = t.selection, 8031 n = t.settings.content_editable, 8032 r = t.getBody(), 8033 o = e.getRng(); 8034 t.quirks.refreshContentEditable(); 8035 var i, a, u = (i = t, a = e.getNode(), i.dom.getParent(a, function (e) { 8036 return "true" === i.dom.getContentEditable(e) 8037 })); 8038 if (t.$.contains(r, u)) return Tp(u), Sp(t, o), _p(t); 8039 t.bookmark !== undefined && !1 === Ap(t) && Hg(t).each(function (e) { 8040 t.selection.setRng(e), o = e 8041 }), n || (Re.opera || Tp(r), t.getWin().focus()), (Re.gecko || n) && (Tp(r), Sp(t, o)), _p(t) 8042 }(e)) 8043 }, 8044 Dp = Ap, 8045 Bp = function (e, t) { 8046 return t.dom()[e] 8047 }, 8048 Op = function (e, t) { 8049 return parseInt(Sr(t, e), 10) 8050 }, 8051 Pp = b(Bp, "clientWidth"), 8052 Lp = b(Bp, "clientHeight"), 8053 Ip = b(Op, "margin-top"), 8054 Mp = b(Op, "margin-left"), 8055 Fp = function (e, t, n) { 8056 var r, o, i, a, u, s, c, l, f, d, m = er.fromDom(e.getBody()), 8057 g = e.inline ? m : $r.documentElement(m), 8058 p = (r = e.inline, i = t, a = n, u = (o = g).dom().getBoundingClientRect(), { 8059 x: i - (r ? u.left + o.dom().clientLeft + Mp(o) : 0), 8060 y: a - (r ? u.top + o.dom().clientTop + Ip(o) : 0) 8061 }); 8062 return c = p.x, l = p.y, f = Pp(s = g), d = Lp(s), 0 <= c && 0 <= l && c <= f && l <= d 8063 }, 8064 Up = function (e) { 8065 var t, n = e.inline ? e.getBody() : e.getContentAreaContainer(); 8066 return (t = n, A.from(t).map(er.fromDom)).map(function (e) { 8067 return Fr.contains($r.owner(e), e) 8068 }).getOr(!1) 8069 }; 8070 8071 function zp(n) { 8072 var t, o = [], 8073 i = function () { 8074 var e, t = n.theme; 8075 return t && t.getNotificationManagerImpl ? t.getNotificationManagerImpl() : { 8076 open: e = function () { 8077 throw new Error("Theme did not provide a NotificationManager implementation.") 8078 }, 8079 close: e, 8080 reposition: e, 8081 getArgs: e 8082 } 8083 }, 8084 a = function () { 8085 0 < o.length && i().reposition(o) 8086 }, 8087 u = function (t) { 8088 K(o, function (e) { 8089 return e === t 8090 }).each(function (e) { 8091 o.splice(e, 1) 8092 }) 8093 }, 8094 r = function (r) { 8095 if (!n.removed && Up(n)) return V(o, function (e) { 8096 return t = i().getArgs(e), n = r, !(t.type !== n.type || t.text !== n.text || t.progressBar || t.timeout || n.progressBar || n.timeout); 8097 var t, n 8098 }).getOrThunk(function () { 8099 n.editorManager.setActive(n); 8100 var e, t = i().open(r, function () { 8101 u(t), a() 8102 }); 8103 return e = t, o.push(e), a(), t 8104 }) 8105 }; 8106 return (t = n).on("SkinLoaded", function () { 8107 var e = t.settings.service_message; 8108 e && r({ 8109 text: e, 8110 type: "warning", 8111 timeout: 0, 8112 icon: "" 8113 }) 8114 }), t.on("ResizeEditor ResizeWindow", function () { 8115 Le.requestAnimationFrame(a) 8116 }), t.on("remove", function () { 8117 F(o, function (e) { 8118 i().close(e) 8119 }) 8120 }), { 8121 open: r, 8122 close: function () { 8123 A.from(o[0]).each(function (e) { 8124 i().close(e), u(e), a() 8125 }) 8126 }, 8127 getNotifications: function () { 8128 return o 8129 } 8130 } 8131 } 8132 8133 function Vp(r) { 8134 var o = [], 8135 i = function () { 8136 var e, t = r.theme; 8137 return t && t.getWindowManagerImpl ? t.getWindowManagerImpl() : { 8138 open: e = function () { 8139 throw new Error("Theme did not provide a WindowManager implementation.") 8140 }, 8141 alert: e, 8142 confirm: e, 8143 close: e, 8144 getParams: e, 8145 setParams: e 8146 } 8147 }, 8148 a = function (e, t) { 8149 return function () { 8150 return t ? t.apply(e, arguments) : undefined 8151 } 8152 }, 8153 u = function (e) { 8154 var t; 8155 o.push(e), t = e, r.fire("OpenWindow", { 8156 win: t 8157 }) 8158 }, 8159 s = function (n) { 8160 K(o, function (e) { 8161 return e === n 8162 }).each(function (e) { 8163 var t; 8164 o.splice(e, 1), t = n, r.fire("CloseWindow", { 8165 win: t 8166 }), 0 === o.length && r.focus() 8167 }) 8168 }, 8169 e = function () { 8170 return A.from(o[o.length - 1]) 8171 }; 8172 return r.on("remove", function () { 8173 F(o.slice(0), function (e) { 8174 i().close(e) 8175 }) 8176 }), { 8177 windows: o, 8178 open: function (e, t) { 8179 r.editorManager.setActive(r), Vg(r); 8180 var n = i().open(e, t, s); 8181 return u(n), n 8182 }, 8183 alert: function (e, t, n) { 8184 var r = i().alert(e, a(n || this, t), s); 8185 u(r) 8186 }, 8187 confirm: function (e, t, n) { 8188 var r = i().confirm(e, a(n || this, t), s); 8189 u(r) 8190 }, 8191 close: function () { 8192 e().each(function (e) { 8193 i().close(e), s(e) 8194 }) 8195 }, 8196 getParams: function () { 8197 return e().map(i().getParams).getOr(null) 8198 }, 8199 setParams: function (t) { 8200 e().each(function (e) { 8201 i().setParams(e, t) 8202 }) 8203 }, 8204 getWindows: function () { 8205 return o 8206 } 8207 } 8208 } 8209 var qp = Ni.PluginManager, 8210 Hp = function (e, t) { 8211 var n = function (e, t) { 8212 for (var n in qp.urls) 8213 if (qp.urls[n] + "/plugin" + t + ".js" === e) return n; 8214 return null 8215 }(t, e.suffix); 8216 return n ? "Failed to load plugin: " + n + " from url " + t : "Failed to load plugin url: " + t 8217 }, 8218 jp = function (e, t) { 8219 e.notificationManager.open({ 8220 type: "error", 8221 text: t 8222 }) 8223 }, 8224 $p = function (e, t) { 8225 e._skinLoaded ? jp(e, t) : e.on("SkinLoaded", function () { 8226 jp(e, t) 8227 }) 8228 }, 8229 Wp = function (e, t) { 8230 $p(e, Hp(e, t)) 8231 }, 8232 Kp = function (e, t) { 8233 $p(e, "Failed to upload image: " + t) 8234 }, 8235 Xp = $p, 8236 Yp = function (e) { 8237 for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; 8238 var r = window.console; 8239 r && (r.error ? r.error.apply(r, arguments) : r.log.apply(r, arguments)) 8240 }, 8241 Gp = Ni.PluginManager, 8242 Jp = Ni.ThemeManager; 8243 8244 function Qp() { 8245 return new(ie.getOrDie("XMLHttpRequest")) 8246 } 8247 8248 function Zp(u, s) { 8249 var r = {}, 8250 n = function (e, r, o, t) { 8251 var i, n; 8252 (i = new Qp).open("POST", s.url), i.withCredentials = s.credentials, i.upload.onprogress = function (e) { 8253 t(e.loaded / e.total * 100) 8254 }, i.onerror = function () { 8255 o("Image upload failed due to a XHR Transport error. Code: " + i.status) 8256 }, i.onload = function () { 8257 var e, t, n; 8258 i.status < 200 || 300 <= i.status ? o("HTTP Error: " + i.status) : (e = JSON.parse(i.responseText)) && "string" == typeof e.location ? r((t = s.basePath, n = e.location, t ? t.replace(/\/$/, "") + "/" + n.replace(/^\//, "") : n)) : o("Invalid JSON: " + i.responseText) 8259 }, (n = new FormData).append("file", e.blob(), e.filename()), i.send(n) 8260 }, 8261 c = function (e, t) { 8262 return { 8263 url: t, 8264 blobInfo: e, 8265 status: !0 8266 } 8267 }, 8268 l = function (e, t) { 8269 return { 8270 url: "", 8271 blobInfo: e, 8272 status: !1, 8273 error: t 8274 } 8275 }, 8276 f = function (e, t) { 8277 Yt.each(r[e], function (e) { 8278 e(t) 8279 }), delete r[e] 8280 }, 8281 o = function (e, n) { 8282 return e = Yt.grep(e, function (e) { 8283 return !u.isUploaded(e.blobUri()) 8284 }), De.all(Yt.map(e, function (e) { 8285 return u.isPending(e.blobUri()) ? (t = e.blobUri(), new De(function (e) { 8286 r[t] = r[t] || [], r[t].push(e) 8287 })) : (o = e, i = s.handler, a = n, u.markPending(o.blobUri()), new De(function (t) { 8288 var n; 8289 try { 8290 var r = function () { 8291 n && n.close() 8292 }; 8293 i(o, function (e) { 8294 r(), u.markUploaded(o.blobUri(), e), f(o.blobUri(), c(o, e)), t(c(o, e)) 8295 }, function (e) { 8296 r(), u.removeFailed(o.blobUri()), f(o.blobUri(), l(o, e)), t(l(o, e)) 8297 }, function (e) { 8298 e < 0 || 100 < e || (n || (n = a()), n.progressBar.value(e)) 8299 }) 8300 } catch (e) { 8301 t(l(o, e.message)) 8302 } 8303 })); 8304 var o, i, a, t 8305 })) 8306 }; 8307 return !1 === O(s.handler) && (s.handler = n), { 8308 upload: function (e, t) { 8309 return s.url || s.handler !== n ? o(e, t) : new De(function (e) { 8310 e([]) 8311 }) 8312 } 8313 } 8314 } 8315 8316 function eh() { 8317 return new(ie.getOrDie("FileReader")) 8318 } 8319 8320 function th(e) { 8321 return new(ie.getOrDie("Uint8Array"))(e) 8322 } 8323 var nh = function (e) { 8324 return ie.getOrDie("atob")(e) 8325 }, 8326 rh = function (e) { 8327 var t, n, r = decodeURIComponent(e).split(","); 8328 return (n = /data:([^;]+)/.exec(r[0])) && (t = n[1]), { 8329 type: t, 8330 data: r[1] 8331 } 8332 }, 8333 oh = function (e) { 8334 return 0 === e.indexOf("blob:") ? (i = e, new De(function (e, t) { 8335 var n = function () { 8336 t("Cannot convert " + i + " to Blob. Resource might not exist or is inaccessible.") 8337 }; 8338 try { 8339 var r = new Qp; 8340 r.open("GET", i, !0), r.responseType = "blob", r.onload = function () { 8341 200 === this.status ? e(this.response) : n() 8342 }, r.onerror = n, r.send() 8343 } catch (o) { 8344 n() 8345 } 8346 })) : 0 === e.indexOf("data:") ? (a = e, new De(function (e) { 8347 var t, n, r, o = rh(a); 8348 try { 8349 t = nh(o.data) 8350 } catch (nN) { 8351 return void e(new Blob([])) 8352 } 8353 for (n = new th(t.length), r = 0; r < n.length; r++) n[r] = t.charCodeAt(r); 8354 e(new Blob([n], { 8355 type: o.type 8356 })) 8357 })) : null; 8358 var i, a 8359 }, 8360 ih = function (n) { 8361 return new De(function (e) { 8362 var t = new eh; 8363 t.onloadend = function () { 8364 e(t.result) 8365 }, t.readAsDataURL(n) 8366 }) 8367 }, 8368 ah = rh, 8369 uh = 0, 8370 sh = function (e) { 8371 return (e || "blobid") + uh++ 8372 }, 8373 ch = function (n, r, o, t) { 8374 var i, a; 8375 0 !== r.src.indexOf("blob:") ? (i = ah(r.src).data, (a = n.findFirst(function (e) { 8376 return e.base64() === i 8377 })) ? o({ 8378 image: r, 8379 blobInfo: a 8380 }) : oh(r.src).then(function (e) { 8381 a = n.create(sh(), e, i), n.add(a), o({ 8382 image: r, 8383 blobInfo: a 8384 }) 8385 }, function (e) { 8386 t(e) 8387 })) : (a = n.getByUri(r.src)) ? o({ 8388 image: r, 8389 blobInfo: a 8390 }) : oh(r.src).then(function (t) { 8391 ih(t).then(function (e) { 8392 i = ah(e).data, a = n.create(sh(), t, i), n.add(a), o({ 8393 image: r, 8394 blobInfo: a 8395 }) 8396 }) 8397 }, function (e) { 8398 t(e) 8399 }) 8400 }, 8401 lh = function (e) { 8402 return e ? e.getElementsByTagName("img") : [] 8403 }, 8404 fh = 0, 8405 dh = { 8406 uuid: function (e) { 8407 return e + fh++ + (t = function () { 8408 return Math.round(4294967295 * Math.random()).toString(36) 8409 }, "s" + (new Date).getTime().toString(36) + t() + t() + t()); 8410 var t 8411 } 8412 }; 8413 8414 function mh(u) { 8415 var n, o, i, t, e, a, r, s, c, l, f = (n = [], o = ya.constant, i = function (e) { 8416 var t, n, r; 8417 if (!e.blob || !e.base64) throw new Error("blob and base64 representations of the image are required for BlobInfo to be created"); 8418 return t = e.id || dh.uuid("blobid"), n = e.name || t, { 8419 id: o(t), 8420 name: o(n), 8421 filename: o(n + "." + (r = e.blob.type, { 8422 "image/jpeg": "jpg", 8423 "image/jpg": "jpg", 8424 "image/gif": "gif", 8425 "image/png": "png" 8426 }[r.toLowerCase()] || "dat")), 8427 blob: o(e.blob), 8428 base64: o(e.base64), 8429 blobUri: o(e.blobUri || ue.createObjectURL(e.blob)), 8430 uri: o(e.uri) 8431 } 8432 }, { 8433 create: function (e, t, n, r) { 8434 if (k(e)) return i({ 8435 id: e, 8436 name: r, 8437 blob: t, 8438 base64: n 8439 }); 8440 if (_(e)) return i(e); 8441 throw new Error("Unknown input type") 8442 }, 8443 add: function (e) { 8444 t(e.id()) || n.push(e) 8445 }, 8446 get: t = function (t) { 8447 return e(function (e) { 8448 return e.id() === t 8449 }) 8450 }, 8451 getByUri: function (t) { 8452 return e(function (e) { 8453 return e.blobUri() === t 8454 }) 8455 }, 8456 findFirst: e = function (e) { 8457 return jt.filter(n, e)[0] 8458 }, 8459 removeByUri: function (t) { 8460 n = jt.filter(n, function (e) { 8461 return e.blobUri() !== t || (ue.revokeObjectURL(e.blobUri()), !1) 8462 }) 8463 }, 8464 destroy: function () { 8465 jt.each(n, function (e) { 8466 ue.revokeObjectURL(e.blobUri()) 8467 }), n = [] 8468 } 8469 }), 8470 d = (s = {}, c = function (e, t) { 8471 return { 8472 status: e, 8473 resultUri: t 8474 } 8475 }, { 8476 hasBlobUri: l = function (e) { 8477 return e in s 8478 }, 8479 getResultUri: function (e) { 8480 var t = s[e]; 8481 return t ? t.resultUri : null 8482 }, 8483 isPending: function (e) { 8484 return !!l(e) && 1 === s[e].status 8485 }, 8486 isUploaded: function (e) { 8487 return !!l(e) && 2 === s[e].status 8488 }, 8489 markPending: function (e) { 8490 s[e] = c(1, null) 8491 }, 8492 markUploaded: function (e, t) { 8493 s[e] = c(2, t) 8494 }, 8495 removeFailed: function (e) { 8496 delete s[e] 8497 }, 8498 destroy: function () { 8499 s = {} 8500 } 8501 }), 8502 m = [], 8503 g = function (t) { 8504 return function (e) { 8505 return u.selection ? t(e) : [] 8506 } 8507 }, 8508 p = function (e, t, n) { 8509 for (var r = 0; - 1 !== (r = e.indexOf(t, r)) && (e = e.substring(0, r) + n + e.substr(r + t.length), r += n.length - t.length + 1), -1 !== r;); 8510 return e 8511 }, 8512 h = function (e, t, n) { 8513 return e = p(e, 'src="' + t + '"', 'src="' + n + '"'), e = p(e, 'data-mce-src="' + t + '"', 'data-mce-src="' + n + '"') 8514 }, 8515 v = function (t, n) { 8516 F(u.undoManager.data, function (e) { 8517 "fragmented" === e.type ? e.fragments = $(e.fragments, function (e) { 8518 return h(e, t, n) 8519 }) : e.content = h(e.content, t, n) 8520 }) 8521 }, 8522 b = function () { 8523 return u.notificationManager.open({ 8524 text: u.translate("Image uploading..."), 8525 type: "info", 8526 timeout: -1, 8527 progressBar: !0 8528 }) 8529 }, 8530 y = function (e, t) { 8531 f.removeByUri(e.src), v(e.src, t), u.$(e).attr({ 8532 src: lc(u) ? t + "?" + (new Date).getTime() : t, 8533 "data-mce-src": u.convertURL(t, "src") 8534 }) 8535 }, 8536 C = function (n) { 8537 return a || (a = Zp(d, { 8538 url: dc(u), 8539 basePath: mc(u), 8540 credentials: gc(u), 8541 handler: pc(u) 8542 })), N().then(g(function (r) { 8543 var e; 8544 return e = $(r, function (e) { 8545 return e.blobInfo 8546 }), a.upload(e, b).then(g(function (e) { 8547 var t = $(e, function (e, t) { 8548 var n = r[t].image; 8549 return e.status && fc(u) ? y(n, e.url) : e.error && Kp(u, e.error), { 8550 element: n, 8551 status: e.status 8552 } 8553 }); 8554 return n && n(t), t 8555 })) 8556 })) 8557 }, 8558 x = function (e) { 8559 if (cc(u)) return C(e) 8560 }, 8561 w = function (t) { 8562 return !1 !== J(m, function (e) { 8563 return e(t) 8564 }) && (0 !== t.getAttribute("src").indexOf("data:") || sc(u)(t)) 8565 }, 8566 N = function () { 8567 var o, i, a; 8568 return r || (o = d, i = f, a = {}, r = { 8569 findAll: function (e, n) { 8570 var t; 8571 n || (n = ya.constant(!0)), t = jt.filter(lh(e), function (e) { 8572 var t = e.src; 8573 return !!Re.fileApi && !e.hasAttribute("data-mce-bogus") && !e.hasAttribute("data-mce-placeholder") && !(!t || t === Re.transparentSrc) && (0 === t.indexOf("blob:") ? !o.isUploaded(t) && n(e) : 0 === t.indexOf("data:") && n(e)) 8574 }); 8575 var r = jt.map(t, function (n) { 8576 if (a[n.src]) return new De(function (t) { 8577 a[n.src].then(function (e) { 8578 if ("string" == typeof e) return e; 8579 t({ 8580 image: n, 8581 blobInfo: e.blobInfo 8582 }) 8583 }) 8584 }); 8585 var e = new De(function (e, t) { 8586 ch(i, n, e, t) 8587 }).then(function (e) { 8588 return delete a[e.image.src], e 8589 })["catch"](function (e) { 8590 return delete a[n.src], e 8591 }); 8592 return a[n.src] = e 8593 }); 8594 return De.all(r) 8595 } 8596 }), r.findAll(u.getBody(), w).then(g(function (e) { 8597 return e = U(e, function (e) { 8598 return "string" != typeof e || (Xp(u, e), !1) 8599 }), F(e, function (e) { 8600 v(e.image.src, e.blobInfo.blobUri()), e.image.src = e.blobInfo.blobUri(), e.image.removeAttribute("data-mce-src") 8601 }), e 8602 })) 8603 }, 8604 E = function (e) { 8605 return e.replace(/src="(blob:[^"]+)"/g, function (e, n) { 8606 var t = d.getResultUri(n); 8607 if (t) return 'src="' + t + '"'; 8608 var r = f.getByUri(n); 8609 return r || (r = z(u.editorManager.get(), function (e, t) { 8610 return e || t.editorUpload && t.editorUpload.blobCache.getByUri(n) 8611 }, null)), r ? 'src="data:' + r.blob().type + ";base64," + r.base64() + '"' : e 8612 }) 8613 }; 8614 return u.on("setContent", function () { 8615 cc(u) ? x() : N() 8616 }), u.on("RawSaveContent", function (e) { 8617 e.content = E(e.content) 8618 }), u.on("getContent", function (e) { 8619 e.source_view || "raw" === e.format || (e.content = E(e.content)) 8620 }), u.on("PostRender", function () { 8621 u.parser.addNodeFilter("img", function (e) { 8622 F(e, function (e) { 8623 var t = e.attr("src"); 8624 if (!f.getByUri(t)) { 8625 var n = d.getResultUri(t); 8626 n && e.attr("src", n) 8627 } 8628 }) 8629 }) 8630 }), { 8631 blobCache: f, 8632 addFilter: function (e) { 8633 m.push(e) 8634 }, 8635 uploadImages: C, 8636 uploadImagesAuto: x, 8637 scanForImages: N, 8638 destroy: function () { 8639 f.destroy(), d.destroy(), r = a = null 8640 } 8641 } 8642 } 8643 var gh = function (e, t) { 8644 return e.hasOwnProperty(t.nodeName) 8645 }, 8646 ph = function (e, t) { 8647 if (Do.isText(t)) { 8648 if (0 === t.nodeValue.length) return !0; 8649 if (/^\s+$/.test(t.nodeValue) && (!t.nextSibling || gh(e, t.nextSibling))) return !0 8650 } 8651 return !1 8652 }, 8653 hh = function (e) { 8654 var t, n, r, o, i, a, u, s, c, l, f, d = e.settings, 8655 m = e.dom, 8656 g = e.selection, 8657 p = e.schema, 8658 h = p.getBlockElements(), 8659 v = g.getStart(), 8660 b = e.getBody(); 8661 if (f = d.forced_root_block, v && Do.isElement(v) && f && (l = b.nodeName.toLowerCase(), p.isValidChild(l, f.toLowerCase()) && (y = h, C = b, x = v, !M(Xf(er.fromDom(x), er.fromDom(C)), function (e) { 8662 return gh(y, e.dom()) 8663 })))) { 8664 var y, C, x, w, N; 8665 for (n = (t = g.getRng()).startContainer, r = t.startOffset, o = t.endContainer, i = t.endOffset, c = Dp(e), v = b.firstChild; v;) 8666 if (w = h, N = v, Do.isText(N) || Do.isElement(N) && !gh(w, N) && !xl(N)) { 8667 if (ph(h, v)) { 8668 v = (u = v).nextSibling, m.remove(u); 8669 continue 8670 } 8671 a || (a = m.create(f, e.settings.forced_root_block_attrs), v.parentNode.insertBefore(a, v), s = !0), v = (u = v).nextSibling, a.appendChild(u) 8672 } else a = null, v = v.nextSibling; 8673 s && c && (t.setStart(n, r), t.setEnd(o, i), g.setRng(t), e.nodeChanged()) 8674 } 8675 }, 8676 vh = function (e) { 8677 e.settings.forced_root_block && e.on("NodeChange", b(hh, e)) 8678 }, 8679 bh = function (t) { 8680 return $r.firstChild(t).fold(H([t]), function (e) { 8681 return [t].concat(bh(e)) 8682 }) 8683 }, 8684 yh = function (t) { 8685 return $r.lastChild(t).fold(H([t]), function (e) { 8686 return "br" === sr.name(e) ? $r.prevSibling(e).map(function (e) { 8687 return [t].concat(yh(e)) 8688 }).getOr([]) : [t].concat(yh(e)) 8689 }) 8690 }, 8691 Ch = function (o, e) { 8692 return ru([(i = e, a = i.startContainer, u = i.startOffset, Do.isText(a) ? 0 === u ? A.some(er.fromDom(a)) : A.none() : A.from(a.childNodes[u]).map(er.fromDom)), (t = e, n = t.endContainer, r = t.endOffset, Do.isText(n) ? r === n.data.length ? A.some(er.fromDom(n)) : A.none() : A.from(n.childNodes[r - 1]).map(er.fromDom))], function (e, t) { 8693 var n = V(bh(o), b(Fr.eq, e)), 8694 r = V(yh(o), b(Fr.eq, t)); 8695 return n.isSome() && r.isSome() 8696 }).getOr(!1); 8697 var t, n, r, i, a, u 8698 }, 8699 xh = function (e, t, n, r) { 8700 var o = n, 8701 i = new oo(n, o), 8702 a = e.schema.getNonEmptyElements(); 8703 do { 8704 if (3 === n.nodeType && 0 !== Yt.trim(n.nodeValue).length) return void(r ? t.setStart(n, 0) : t.setEnd(n, n.nodeValue.length)); 8705 if (a[n.nodeName] && !/^(TD|TH)$/.test(n.nodeName)) return void(r ? t.setStartBefore(n) : "BR" === n.nodeName ? t.setEndBefore(n) : t.setEndAfter(n)); 8706 if (Re.ie && Re.ie < 11 && e.isBlock(n) && e.isEmpty(n)) return void(r ? t.setStart(n, 0) : t.setEnd(n, 0)) 8707 } while (n = r ? i.next() : i.prev()); 8708 "BODY" === o.nodeName && (r ? t.setStart(o, 0) : t.setEnd(o, o.childNodes.length)) 8709 }, 8710 wh = function (e) { 8711 var t = e.selection.getSel(); 8712 return t && 0 < t.rangeCount 8713 }; 8714 8715 function Nh(i) { 8716 var r, o = []; 8717 "onselectionchange" in i.getDoc() || i.on("NodeChange Click MouseUp KeyUp Focus", function (e) { 8718 var t, n; 8719 n = { 8720 startContainer: (t = i.selection.getRng()).startContainer, 8721 startOffset: t.startOffset, 8722 endContainer: t.endContainer, 8723 endOffset: t.endOffset 8724 }, "nodechange" !== e.type && ag(n, r) || i.fire("SelectionChange"), r = n 8725 }), i.on("contextmenu", function () { 8726 i.fire("SelectionChange") 8727 }), i.on("SelectionChange", function () { 8728 var e = i.selection.getStart(!0); 8729 !e || !Re.range && i.selection.isCollapsed() || wh(i) && ! function (e) { 8730 var t, n; 8731 if ((n = i.$(e).parentsUntil(i.getBody()).add(e)).length === o.length) { 8732 for (t = n.length; 0 <= t && n[t] === o[t]; t--); 8733 if (-1 === t) return o = n, !0 8734 } 8735 return o = n, !1 8736 }(e) && i.dom.isChildOf(e, i.getBody()) && i.nodeChanged({ 8737 selectionChange: !0 8738 }) 8739 }), i.on("MouseUp", function (e) { 8740 !e.isDefaultPrevented() && wh(i) && ("IMG" === i.selection.getNode().nodeName ? Le.setEditorTimeout(i, function () { 8741 i.nodeChanged() 8742 }) : i.nodeChanged()) 8743 }), this.nodeChanged = function (e) { 8744 var t, n, r, o = i.selection; 8745 i.initialized && o && !i.settings.disable_nodechange && !i.readonly && (r = i.getBody(), (t = o.getStart(!0) || r).ownerDocument === i.getDoc() && i.dom.isChildOf(t, r) || (t = r), n = [], i.dom.getParent(t, function (e) { 8746 if (e === r) return !0; 8747 n.push(e) 8748 }), (e = e || {}).element = t, e.parents = n, i.fire("NodeChange", e)) 8749 } 8750 } 8751 var Eh, Sh, Th = function (e) { 8752 var t, n, r, o; 8753 return o = e.getBoundingClientRect(), n = (t = e.ownerDocument).documentElement, r = t.defaultView, { 8754 top: o.top + r.pageYOffset - n.clientTop, 8755 left: o.left + r.pageXOffset - n.clientLeft 8756 } 8757 }, 8758 kh = function (e, t) { 8759 return n = (u = e).inline ? Th(u.getBody()) : { 8760 left: 0, 8761 top: 0 8762 }, a = (i = e).getBody(), r = i.inline ? { 8763 left: a.scrollLeft, 8764 top: a.scrollTop 8765 } : { 8766 left: 0, 8767 top: 0 8768 }, { 8769 pageX: (o = function (e, t) { 8770 if (t.target.ownerDocument !== e.getDoc()) { 8771 var n = Th(e.getContentAreaContainer()), 8772 r = (i = (o = e).getBody(), a = o.getDoc().documentElement, u = { 8773 left: i.scrollLeft, 8774 top: i.scrollTop 8775 }, s = { 8776 left: i.scrollLeft || a.scrollLeft, 8777 top: i.scrollTop || a.scrollTop 8778 }, o.inline ? u : s); 8779 return { 8780 left: t.pageX - n.left + r.left, 8781 top: t.pageY - n.top + r.top 8782 } 8783 } 8784 var o, i, a, u, s; 8785 return { 8786 left: t.pageX, 8787 top: t.pageY 8788 } 8789 }(e, t)).left - n.left + r.left, 8790 pageY: o.top - n.top + r.top 8791 }; 8792 var n, r, o, i, a, u 8793 }, 8794 Ah = Do.isContentEditableFalse, 8795 _h = Do.isContentEditableTrue, 8796 Rh = function (e) { 8797 e && e.parentNode && e.parentNode.removeChild(e) 8798 }, 8799 Dh = function (u, s) { 8800 return function (e) { 8801 if (0 === e.button) { 8802 var t = jt.find(s.dom.getParents(e.target), ya.or(Ah, _h)); 8803 if (i = s.getBody(), Ah(a = t) && a !== i) { 8804 var n = s.dom.getPos(t), 8805 r = s.getBody(), 8806 o = s.getDoc().documentElement; 8807 u.element = t, u.screenX = e.screenX, u.screenY = e.screenY, u.maxX = (s.inline ? r.scrollWidth : o.offsetWidth) - 2, u.maxY = (s.inline ? r.scrollHeight : o.offsetHeight) - 2, u.relX = e.pageX - n.x, u.relY = e.pageY - n.y, u.width = t.offsetWidth, u.height = t.offsetHeight, u.ghost = function (e, t, n, r) { 8808 var o = t.cloneNode(!0); 8809 e.dom.setStyles(o, { 8810 width: n, 8811 height: r 8812 }), e.dom.setAttrib(o, "data-mce-selected", null); 8813 var i = e.dom.create("div", { 8814 "class": "mce-drag-container", 8815 "data-mce-bogus": "all", 8816 unselectable: "on", 8817 contenteditable: "false" 8818 }); 8819 return e.dom.setStyles(i, { 8820 position: "absolute", 8821 opacity: .5, 8822 overflow: "hidden", 8823 border: 0, 8824 padding: 0, 8825 margin: 0, 8826 width: n, 8827 height: r 8828 }), e.dom.setStyles(o, { 8829 margin: 0, 8830 boxSizing: "border-box" 8831 }), i.appendChild(o), i 8832 }(s, t, u.width, u.height) 8833 } 8834 } 8835 var i, a 8836 } 8837 }, 8838 Bh = function (l, f) { 8839 return function (e) { 8840 if (l.dragging && (s = (i = f).selection, c = s.getSel().getRangeAt(0).startContainer, a = 3 === c.nodeType ? c.parentNode : c, u = l.element, a !== u && !i.dom.isChildOf(a, u) && !Ah(a))) { 8841 var t = (r = l.element, (o = r.cloneNode(!0)).removeAttribute("data-mce-selected"), o), 8842 n = f.fire("drop", { 8843 targetClone: t, 8844 clientX: e.clientX, 8845 clientY: e.clientY 8846 }); 8847 n.isDefaultPrevented() || (t = n.targetClone, f.undoManager.transact(function () { 8848 Rh(l.element), f.insertContent(f.dom.getOuterHTML(t)), f._selectionOverrides.hideFakeCaret() 8849 })) 8850 } 8851 var r, o, i, a, u, s, c; 8852 Oh(l) 8853 } 8854 }, 8855 Oh = function (e) { 8856 e.dragging = !1, e.element = null, Rh(e.ghost) 8857 }, 8858 Ph = function (e) { 8859 var t, n, r, o, i, a, p, h, v, u, s, c = {}; 8860 t = pi.DOM, a = document, n = Dh(c, e), p = c, h = e, v = Le.throttle(function (e, t) { 8861 h._selectionOverrides.hideFakeCaret(), h.selection.placeCaretAt(e, t) 8862 }, 0), r = function (e) { 8863 var t, n, r, o, i, a, u, s, c, l, f, d, m = Math.max(Math.abs(e.screenX - p.screenX), Math.abs(e.screenY - p.screenY)); 8864 if (p.element && !p.dragging && 10 < m) { 8865 if (h.fire("dragstart", { 8866 target: p.element 8867 }).isDefaultPrevented()) return; 8868 p.dragging = !0, h.focus() 8869 } 8870 if (p.dragging) { 8871 var g = (f = p, { 8872 pageX: (d = kh(h, e)).pageX - f.relX, 8873 pageY: d.pageY + 5 8874 }); 8875 c = p.ghost, l = h.getBody(), c.parentNode !== l && l.appendChild(c), t = p.ghost, n = g, r = p.width, o = p.height, i = p.maxX, a = p.maxY, s = u = 0, t.style.left = n.pageX + "px", t.style.top = n.pageY + "px", n.pageX + r > i && (u = n.pageX + r - i), n.pageY + o > a && (s = n.pageY + o - a), t.style.width = r - u + "px", t.style.height = o - s + "px", v(e.clientX, e.clientY) 8876 } 8877 }, o = Bh(c, e), u = c, i = function () { 8878 u.dragging && s.fire("dragend"), Oh(u) 8879 }, (s = e).on("mousedown", n), e.on("mousemove", r), e.on("mouseup", o), t.bind(a, "mousemove", r), t.bind(a, "mouseup", i), e.on("remove", function () { 8880 t.unbind(a, "mousemove", r), t.unbind(a, "mouseup", i) 8881 }) 8882 }, 8883 Lh = function (e) { 8884 var n; 8885 Ph(e), (n = e).on("drop", function (e) { 8886 var t = "undefined" != typeof e.clientX ? n.getDoc().elementFromPoint(e.clientX, e.clientY) : null; 8887 (Ah(t) || Ah(n.dom.getContentEditableParent(t))) && e.preventDefault() 8888 }) 8889 }, 8890 Ih = function (e) { 8891 return jt.reduce(e, function (e, t) { 8892 return e.concat(function (t) { 8893 var e = function (e) { 8894 return jt.map(e, function (e) { 8895 return (e = Xa(e)).node = t, e 8896 }) 8897 }; 8898 if (Do.isElement(t)) return e(t.getClientRects()); 8899 if (Do.isText(t)) { 8900 var n = t.ownerDocument.createRange(); 8901 return n.setStart(t, 0), n.setEnd(t, t.data.length), e(n.getClientRects()) 8902 } 8903 }(t)) 8904 }, []) 8905 }; 8906 (Sh = Eh || (Eh = {}))[Sh.Up = -1] = "Up", Sh[Sh.Down = 1] = "Down"; 8907 var Mh = function (o, i, a, e, u, t) { 8908 var n, s, c = 0, 8909 l = [], 8910 r = function (e) { 8911 var t, n, r; 8912 for (r = Ih([e]), -1 === o && (r = r.reverse()), t = 0; t < r.length; t++) 8913 if (n = r[t], !a(n, s)) { 8914 if (0 < l.length && i(n, jt.last(l)) && c++, n.line = c, u(n)) return !0; 8915 l.push(n) 8916 } 8917 }; 8918 return (s = jt.last(t.getClientRects())) && (r(n = t.getNode()), function (e, t, n, r) { 8919 for (; r = qc(r, e, Wa, t);) 8920 if (n(r)) return 8921 }(o, e, r, n)), l 8922 }, 8923 Fh = b(Mh, Eh.Up, Ja, Qa), 8924 Uh = b(Mh, Eh.Down, Qa, Ja), 8925 zh = function (n) { 8926 return function (e) { 8927 return t = n, e.line > t; 8928 var t 8929 } 8930 }, 8931 Vh = function (n) { 8932 return function (e) { 8933 return t = n, e.line === t; 8934 var t 8935 } 8936 }, 8937 qh = Do.isContentEditableFalse, 8938 Hh = qc, 8939 jh = function (e, t) { 8940 return Math.abs(e.left - t) 8941 }, 8942 $h = function (e, t) { 8943 return Math.abs(e.right - t) 8944 }, 8945 Wh = function (e, t) { 8946 return e >= t.left && e <= t.right 8947 }, 8948 Kh = function (e, o) { 8949 return jt.reduce(e, function (e, t) { 8950 var n, r; 8951 return n = Math.min(jh(e, o), $h(e, o)), r = Math.min(jh(t, o), $h(t, o)), Wh(o, t) ? t : Wh(o, e) ? e : r === n && qh(t.node) ? t : r < n ? t : e 8952 }) 8953 }, 8954 Xh = function (e, t, n, r) { 8955 for (; r = Hh(r, e, Wa, t);) 8956 if (n(r)) return 8957 }, 8958 Yh = function (e, t, n) { 8959 var r, o, i, a, u, s, c, l, f = Ih((o = e, jt.filter(jt.toArray(o.getElementsByTagName("*")), Dc))), 8960 d = jt.filter(f, function (e) { 8961 return n >= e.top && n <= e.bottom 8962 }); 8963 return (r = Kh(d, t)) && (r = Kh((u = e, l = function (t, e) { 8964 var n; 8965 return n = jt.filter(Ih([e]), function (e) { 8966 return !t(e, s) 8967 }), c = c.concat(n), 0 === n.length 8968 }, (c = []).push(s = r), Xh(Eh.Up, u, b(l, Ja), s.node), Xh(Eh.Down, u, b(l, Qa), s.node), c), t)) && Dc(r.node) ? (a = t, { 8969 node: (i = r).node, 8970 before: jh(i, a) < $h(i, a) 8971 }) : null 8972 }, 8973 Gh = function (i, a, e) { 8974 return !e.collapsed && z(e.getClientRects(), function (e, t) { 8975 return e || (o = a, (r = i) >= (n = t).left && r <= n.right && o >= n.top && o <= n.bottom); 8976 var n, r, o 8977 }, !1) 8978 }, 8979 Jh = function (t) { 8980 var e = Di(function () { 8981 if (!t.removed && t.selection.getRng().collapsed) { 8982 var e = ls(t, t.selection.getRng(), !1); 8983 t.selection.setRng(e) 8984 } 8985 }, 0); 8986 t.on("focus", function () { 8987 e.throttle() 8988 }), t.on("blur", function () { 8989 e.cancel() 8990 }) 8991 }, 8992 Qh = { 8993 BACKSPACE: 8, 8994 DELETE: 46, 8995 DOWN: 40, 8996 ENTER: 13, 8997 LEFT: 37, 8998 RIGHT: 39, 8999 SPACEBAR: 32, 9000 TAB: 9, 9001 UP: 38, 9002 modifierPressed: function (e) { 9003 return e.shiftKey || e.ctrlKey || e.altKey || this.metaKeyPressed(e) 9004 }, 9005 metaKeyPressed: function (e) { 9006 return Re.mac ? e.metaKey : e.ctrlKey && !e.altKey 9007 } 9008 }, 9009 Zh = Do.isContentEditableTrue, 9010 ev = Do.isContentEditableFalse, 9011 tv = nl, 9012 nv = tl, 9013 rv = function (e, t) { 9014 for (var n = e.getBody(); t && t !== n;) { 9015 if (Zh(t) || ev(t)) return t; 9016 t = t.parentNode 9017 } 9018 return null 9019 }, 9020 ov = function (g) { 9021 var p, e, t, a = g.getBody(), 9022 o = Rc(g.getBody(), function (e) { 9023 return g.dom.isBlock(e) 9024 }, function () { 9025 return Dp(g) 9026 }), 9027 h = "sel-" + g.dom.uniqueId(), 9028 u = function (e) { 9029 e && g.selection.setRng(e) 9030 }, 9031 s = function () { 9032 return g.selection.getRng() 9033 }, 9034 v = function (e, t, n, r) { 9035 return void 0 === r && (r = !0), g.fire("ShowCaret", { 9036 target: t, 9037 direction: e, 9038 before: n 9039 }).isDefaultPrevented() ? null : (r && g.selection.scrollIntoView(t, -1 === e), o.show(n, t)) 9040 }, 9041 b = function (e, t) { 9042 return t = Gc(e, a, t), -1 === e ? Su.fromRangeStart(t) : Su.fromRangeEnd(t) 9043 }, 9044 n = function (e) { 9045 return Aa(e) || Oa(e) || Pa(e) 9046 }, 9047 y = function (e) { 9048 return n(e.startContainer) || n(e.endContainer) 9049 }, 9050 c = function (e, t) { 9051 var n, r, o, i, a, u, s, c, l, f, d = g.$, 9052 m = g.dom; 9053 if (!e) return null; 9054 if (e.collapsed) { 9055 if (!y(e)) 9056 if (!1 === t) { 9057 if (c = b(-1, e), Dc(c.getNode(!0))) return v(-1, c.getNode(!0), !1, !1); 9058 if (Dc(c.getNode())) return v(-1, c.getNode(), !c.isAtEnd(), !1) 9059 } else { 9060 if (c = b(1, e), Dc(c.getNode())) return v(1, c.getNode(), !c.isAtEnd(), !1); 9061 if (Dc(c.getNode(!0))) return v(1, c.getNode(!0), !1, !1) 9062 } 9063 return null 9064 } 9065 return i = e.startContainer, a = e.startOffset, u = e.endOffset, 3 === i.nodeType && 0 === a && ev(i.parentNode) && (i = i.parentNode, a = m.nodeIndex(i), i = i.parentNode), 1 !== i.nodeType ? null : (u === a + 1 && (n = i.childNodes[a]), ev(n) ? (l = f = n.cloneNode(!0), (s = g.fire("ObjectSelected", { 9066 target: n, 9067 targetClone: l 9068 })).isDefaultPrevented() ? null : (r = na(er.fromDom(g.getBody()), "#" + h).fold(function () { 9069 return d([]) 9070 }, function (e) { 9071 return d([e.dom()]) 9072 }), l = s.targetClone, 0 === r.length && (r = d('<div data-mce-bogus="all" class="mce-offscreen-selection"></div>').attr("id", h)).appendTo(g.getBody()), e = g.dom.createRng(), l === f && Re.ie ? (r.empty().append('<p style="font-size: 0" data-mce-bogus="all">\xa0</p>').append(l), e.setStartAfter(r[0].firstChild.firstChild), e.setEndAfter(l)) : (r.empty().append("\xa0").append(l).append("\xa0"), e.setStart(r[0].firstChild, 1), e.setEnd(r[0].lastChild, 0)), r.css({ 9073 top: m.getPos(n, g.getBody()).y 9074 }), r[0].focus(), (o = g.selection.getSel()).removeAllRanges(), o.addRange(e), F(Ki(er.fromDom(g.getBody()), "*[data-mce-selected]"), function (e) { 9075 hr.remove(e, "data-mce-selected") 9076 }), n.setAttribute("data-mce-selected", "1"), p = n, C(), e)) : null) 9077 }, 9078 l = function () { 9079 p && (p.removeAttribute("data-mce-selected"), na(er.fromDom(g.getBody()), "#" + h).each(Ri.remove), p = null), na(er.fromDom(g.getBody()), "#" + h).each(Ri.remove), p = null 9080 }, 9081 C = function () { 9082 o.hide() 9083 }; 9084 return Re.ceFalse && (function () { 9085 g.on("mouseup", function (e) { 9086 var t = s(); 9087 t.collapsed && Fp(g, e.clientX, e.clientY) && u(cs(g, t, !1)) 9088 }), g.on("click", function (e) { 9089 var t; 9090 (t = rv(g, e.target)) && (ev(t) && (e.preventDefault(), g.focus()), Zh(t) && g.dom.isChildOf(t, g.selection.getNode()) && l()) 9091 }), g.on("blur NewBlock", function () { 9092 l() 9093 }), g.on("ResizeWindow FullscreenStateChanged", function () { 9094 return o.reposition() 9095 }); 9096 var n, r, i = function (e, t) { 9097 var n, r, o = g.dom.getParent(e, g.dom.isBlock), 9098 i = g.dom.getParent(t, g.dom.isBlock); 9099 return !(!o || !g.dom.isChildOf(o, i) || !1 !== ev(rv(g, o))) || o && (n = o, r = i, !(g.dom.getParent(n, g.dom.isBlock) === g.dom.getParent(r, g.dom.isBlock))) && function (e) { 9100 var t = Ns(e); 9101 if (!e.firstChild) return !1; 9102 var n = Su.before(e.firstChild), 9103 r = t.next(n); 9104 return r && !nv(r) && !tv(r) 9105 }(o) 9106 }; 9107 r = !1, (n = g).on("touchstart", function () { 9108 r = !1 9109 }), n.on("touchmove", function () { 9110 r = !0 9111 }), n.on("touchend", function (e) { 9112 var t = rv(n, e.target); 9113 ev(t) && (r || (e.preventDefault(), c(ss(n, t)))) 9114 }), g.on("mousedown", function (e) { 9115 var t, n = e.target; 9116 if ((n === a || "HTML" === n.nodeName || g.dom.isChildOf(n, a)) && !1 !== Fp(g, e.clientX, e.clientY)) 9117 if (t = rv(g, n)) ev(t) ? (e.preventDefault(), c(ss(g, t))) : (l(), Zh(t) && e.shiftKey || Gh(e.clientX, e.clientY, g.selection.getRng()) || (C(), g.selection.placeCaretAt(e.clientX, e.clientY))); 9118 else if (!1 === Dc(n)) { 9119 l(), C(); 9120 var r = Yh(a, e.clientX, e.clientY); 9121 if (r && !i(e.target, r.node)) { 9122 e.preventDefault(); 9123 var o = v(1, r.node, r.before, !1); 9124 g.getBody().focus(), u(o) 9125 } 9126 } 9127 }), g.on("keypress", function (e) { 9128 Qh.modifierPressed(e) || (e.keyCode, ev(g.selection.getNode()) && e.preventDefault()) 9129 }), g.on("getSelectionRange", function (e) { 9130 var t = e.range; 9131 if (p) { 9132 if (!p.parentNode) return void(p = null); 9133 (t = t.cloneRange()).selectNode(p), e.range = t 9134 } 9135 }), g.on("setSelectionRange", function (e) { 9136 var t; 9137 (t = c(e.range, e.forward)) && (e.range = t) 9138 }), g.on("AfterSetSelectionRange", function (e) { 9139 var t, n = e.range; 9140 y(n) || "mcepastebin" === n.startContainer.parentNode.id || C(), t = n.startContainer.parentNode, g.dom.hasClass(t, "mce-offscreen-selection") || l() 9141 }), g.on("copy", function (e) { 9142 var t, n = e.clipboardData; 9143 if (!e.isDefaultPrevented() && e.clipboardData && !Re.ie) { 9144 var r = (t = g.dom.get(h)) ? t.getElementsByTagName("*")[0] : t; 9145 r && (e.preventDefault(), n.clearData(), n.setData("text/html", r.outerHTML), n.setData("text/plain", r.outerText)) 9146 } 9147 }), Lh(g), Jh(g) 9148 }(), e = g.contentStyles, t = ".mce-content-body", e.push(o.getCss()), e.push(t + " .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}" + t + " *[contentEditable=false] {cursor: default;}" + t + " *[contentEditable=true] {cursor: text;}")), { 9149 showCaret: v, 9150 showBlockCaretContainer: function (e) { 9151 e.hasAttribute("data-mce-caret") && (La(e), u(s()), g.selection.scrollIntoView(e[0])) 9152 }, 9153 hideFakeCaret: C, 9154 destroy: function () { 9155 o.destroy(), p = null 9156 } 9157 } 9158 }, 9159 iv = function (e, t, n) { 9160 var r, o, i, a, u = 1; 9161 for (a = e.getShortEndedElements(), (i = /<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g).lastIndex = r = n; o = i.exec(t);) { 9162 if (r = i.lastIndex, "/" === o[1]) u--; 9163 else if (!o[1]) { 9164 if (o[2] in a) continue; 9165 u++ 9166 } 9167 if (0 === u) break 9168 } 9169 return r 9170 }; 9171 9172 function av(F, U) { 9173 void 0 === U && (U = ni()); 9174 var e = function () {}; 9175 !1 !== (F = F || {}).fix_self_closing && (F.fix_self_closing = !0); 9176 var z = F.comment ? F.comment : e, 9177 V = F.cdata ? F.cdata : e, 9178 q = F.text ? F.text : e, 9179 H = F.start ? F.start : e, 9180 j = F.end ? F.end : e, 9181 $ = F.pi ? F.pi : e, 9182 W = F.doctype ? F.doctype : e; 9183 return { 9184 parse: function (e) { 9185 var t, n, r, d, o, i, a, m, u, s, g, c, p, l, f, h, v, b, y, C, x, w, N, E, S, T, k, A, _, R = 0, 9186 D = [], 9187 B = 0, 9188 O = $o.decode, 9189 P = Yt.makeMap("src,href,data,background,formaction,poster,xlink:href"), 9190 L = /((java|vb)script|mhtml):/i, 9191 I = function (e) { 9192 var t, n; 9193 for (t = D.length; t-- && D[t].name !== e;); 9194 if (0 <= t) { 9195 for (n = D.length - 1; t <= n; n--)(e = D[n]).valid && j(e.name); 9196 D.length = t 9197 } 9198 }, 9199 M = function (e, t, n, r, o) { 9200 var i, a, u, s, c; 9201 if (n = (t = t.toLowerCase()) in g ? t : O(n || r || o || ""), p && !m && 0 == (0 === (u = t).indexOf("data-") || 0 === u.indexOf("aria-"))) { 9202 if (!(i = b[t]) && y) { 9203 for (a = y.length; a-- && !(i = y[a]).pattern.test(t);); - 1 === a && (i = null) 9204 } 9205 if (!i) return; 9206 if (i.validValues && !(n in i.validValues)) return 9207 } 9208 if (P[t] && !F.allow_script_urls) { 9209 var l = n.replace(/[\s\u0000-\u001F]+/g, ""); 9210 try { 9211 l = decodeURIComponent(l) 9212 } catch (f) { 9213 l = unescape(l) 9214 } 9215 if (L.test(l)) return; 9216 if (c = l, !(s = F).allow_html_data_urls && (/^data:image\//i.test(c) ? !1 === s.allow_svg_data_urls && /^data:image\/svg\+xml/i.test(c) : /^data:/i.test(c))) return 9217 } 9218 m && (t in P || 0 === t.indexOf("on")) || (d.map[t] = n, d.push({ 9219 name: t, 9220 value: n 9221 })) 9222 }; 9223 for (S = new RegExp("<(?:(?:!--([\\w\\W]*?)--\x3e)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)>)|(?:([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))", "g"), T = /([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g, s = U.getShortEndedElements(), E = F.self_closing_elements || U.getSelfClosingElements(), g = U.getBoolAttrs(), p = F.validate, u = F.remove_internals, _ = F.fix_self_closing, k = U.getSpecialElements(), N = e + ">"; t = S.exec(N);) { 9224 if (R < t.index && q(O(e.substr(R, t.index - R))), n = t[6]) ":" === (n = n.toLowerCase()).charAt(0) && (n = n.substr(1)), I(n); 9225 else if (n = t[7]) { 9226 if (t.index + t[0].length > e.length) { 9227 q(O(e.substr(t.index))), R = t.index + t[0].length; 9228 continue 9229 } 9230 if (":" === (n = n.toLowerCase()).charAt(0) && (n = n.substr(1)), c = n in s, _ && E[n] && 0 < D.length && D[D.length - 1].name === n && I(n), !p || (l = U.getElementRule(n))) { 9231 if (f = !0, p && (b = l.attributes, y = l.attributePatterns), (v = t[8]) ? ((m = -1 !== v.indexOf("data-mce-type")) && u && (f = !1), (d = []).map = {}, v.replace(T, M)) : (d = []).map = {}, p && !m) { 9232 if (C = l.attributesRequired, x = l.attributesDefault, w = l.attributesForced, l.removeEmptyAttrs && !d.length && (f = !1), w) 9233 for (o = w.length; o--;) a = (h = w[o]).name, "{$uid}" === (A = h.value) && (A = "mce_" + B++), d.map[a] = A, d.push({ 9234 name: a, 9235 value: A 9236 }); 9237 if (x) 9238 for (o = x.length; o--;)(a = (h = x[o]).name) in d.map || ("{$uid}" === (A = h.value) && (A = "mce_" + B++), d.map[a] = A, d.push({ 9239 name: a, 9240 value: A 9241 })); 9242 if (C) { 9243 for (o = C.length; o-- && !(C[o] in d.map);); - 1 === o && (f = !1) 9244 } 9245 if (h = d.map["data-mce-bogus"]) { 9246 if ("all" === h) { 9247 R = iv(U, e, S.lastIndex), S.lastIndex = R; 9248 continue 9249 } 9250 f = !1 9251 } 9252 } 9253 f && H(n, d, c) 9254 } else f = !1; 9255 if (r = k[n]) { 9256 r.lastIndex = R = t.index + t[0].length, (t = r.exec(e)) ? (f && (i = e.substr(R, t.index - R)), R = t.index + t[0].length) : (i = e.substr(R), R = e.length), f && (0 < i.length && q(i, !0), j(n)), S.lastIndex = R; 9257 continue 9258 } 9259 c || (v && v.indexOf("/") === v.length - 1 ? f && j(n) : D.push({ 9260 name: n, 9261 valid: f 9262 })) 9263 } else(n = t[1]) ? (">" === n.charAt(0) && (n = " " + n), F.allow_conditional_comments || "[if" !== n.substr(0, 3).toLowerCase() || (n = " " + n), z(n)) : (n = t[2]) ? V(n.replace(/<!--|-->/g, "")) : (n = t[3]) ? W(n) : (n = t[4]) && $(n, t[5]); 9264 R = t.index + t[0].length 9265 } 9266 for (R < e.length && q(O(e.substr(R))), o = D.length - 1; 0 <= o; o--)(n = D[o]).valid && j(n.name) 9267 } 9268 } 9269 }(av || (av = {})).findEndTag = iv; 9270 var uv = av, 9271 sv = function (e, t) { 9272 var n, r, o, i, a, u, s, c, l = t, 9273 f = /<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g, 9274 d = e.schema; 9275 for (u = e.getTempAttrs(), s = l, c = new RegExp(["\\s?(" + u.join("|") + ')="[^"]+"'].join("|"), "gi"), l = s.replace(c, ""), a = d.getShortEndedElements(); i = f.exec(l);) r = f.lastIndex, o = i[0].length, n = a[i[1]] ? r : uv.findEndTag(d, l, r), l = l.substring(0, r - o) + l.substring(n), f.lastIndex = r - o; 9276 return Na(l) 9277 }, 9278 cv = { 9279 trimExternal: sv, 9280 trimInternal: sv 9281 }, 9282 lv = 0, 9283 fv = 2, 9284 dv = 1, 9285 mv = function (g, p) { 9286 var e = g.length + p.length + 2, 9287 h = new Array(e), 9288 v = new Array(e), 9289 c = function (e, t, n, r, o) { 9290 var i = l(e, t, n, r); 9291 if (null === i || i.start === t && i.diag === t - r || i.end === e && i.diag === e - n) 9292 for (var a = e, u = n; a < t || u < r;) a < t && u < r && g[a] === p[u] ? (o.push([0, g[a]]), ++a, ++u) : r - n < t - e ? (o.push([2, g[a]]), ++a) : (o.push([1, p[u]]), ++u); 9293 else { 9294 c(e, i.start, n, i.start - i.diag, o); 9295 for (var s = i.start; s < i.end; ++s) o.push([0, g[s]]); 9296 c(i.end, t, i.end - i.diag, r, o) 9297 } 9298 }, 9299 b = function (e, t, n, r) { 9300 for (var o = e; o - t < r && o < n && g[o] === p[o - t];) ++o; 9301 return { 9302 start: e, 9303 end: o, 9304 diag: t 9305 } 9306 }, 9307 l = function (e, t, n, r) { 9308 var o = t - e, 9309 i = r - n; 9310 if (0 === o || 0 === i) return null; 9311 var a, u, s, c, l, f = o - i, 9312 d = i + o, 9313 m = (d % 2 == 0 ? d : d + 1) / 2; 9314 for (h[1 + m] = e, v[1 + m] = t + 1, a = 0; a <= m; ++a) { 9315 for (u = -a; u <= a; u += 2) { 9316 for (s = u + m, u === -a || u !== a && h[s - 1] < h[s + 1] ? h[s] = h[s + 1] : h[s] = h[s - 1] + 1, l = (c = h[s]) - e + n - u; c < t && l < r && g[c] === p[l];) h[s] = ++c, ++l; 9317 if (f % 2 != 0 && f - a <= u && u <= f + a && v[s - f] <= h[s]) return b(v[s - f], u + e - n, t, r) 9318 } 9319 for (u = f - a; u <= f + a; u += 2) { 9320 for (s = u + m - f, u === f - a || u !== f + a && v[s + 1] <= v[s - 1] ? v[s] = v[s + 1] - 1 : v[s] = v[s - 1], l = (c = v[s] - 1) - e + n - u; e <= c && n <= l && g[c] === p[l];) v[s] = c--, l--; 9321 if (f % 2 == 0 && -a <= u && u <= a && v[s] <= h[s + f]) return b(v[s], u + e - n, t, r) 9322 } 9323 } 9324 }, 9325 t = []; 9326 return c(0, g.length, 0, p.length, t), t 9327 }, 9328 gv = function (e) { 9329 return Do.isElement(e) ? e.outerHTML : Do.isText(e) ? $o.encodeRaw(e.data, !1) : Do.isComment(e) ? "\x3c!--" + e.data + "--\x3e" : "" 9330 }, 9331 pv = function (e, t, n) { 9332 var r = function (e) { 9333 var t, n, r; 9334 for (r = document.createElement("div"), t = document.createDocumentFragment(), e && (r.innerHTML = e); n = r.firstChild;) t.appendChild(n); 9335 return t 9336 }(t); 9337 if (e.hasChildNodes() && n < e.childNodes.length) { 9338 var o = e.childNodes[n]; 9339 o.parentNode.insertBefore(r, o) 9340 } else e.appendChild(r) 9341 }, 9342 hv = function (e) { 9343 return jt.filter(jt.map(e.childNodes, gv), function (e) { 9344 return 0 < e.length 9345 }) 9346 }, 9347 vv = function (e, t) { 9348 var n, r, o, i = jt.map(t.childNodes, gv); 9349 return n = mv(i, e), r = t, o = 0, jt.each(n, function (e) { 9350 e[0] === lv ? o++ : e[0] === dv ? (pv(r, e[1], o), o++) : e[0] === fv && function (e, t) { 9351 if (e.hasChildNodes() && t < e.childNodes.length) { 9352 var n = e.childNodes[t]; 9353 n.parentNode.removeChild(n) 9354 } 9355 }(r, o) 9356 }), t 9357 }, 9358 bv = function (e, t) { 9359 var n = (t || document).createElement("div"); 9360 return n.innerHTML = e, $r.children(er.fromDom(n)) 9361 }, 9362 yv = function (e) { 9363 return e.dom().innerHTML 9364 }, 9365 Cv = yv, 9366 xv = function (e, t) { 9367 var n = $r.owner(e).dom(), 9368 r = er.fromDom(n.createDocumentFragment()), 9369 o = bv(t, n); 9370 Ai(r, o), Ri.empty(e), Ti.append(e, r) 9371 }, 9372 wv = Bi(A.none()), 9373 Nv = function (e) { 9374 return { 9375 type: "fragmented", 9376 fragments: e, 9377 content: "", 9378 bookmark: null, 9379 beforeBookmark: null 9380 } 9381 }, 9382 Ev = function (e) { 9383 return { 9384 type: "complete", 9385 fragments: null, 9386 content: e, 9387 bookmark: null, 9388 beforeBookmark: null 9389 } 9390 }, 9391 Sv = function (e) { 9392 return "fragmented" === e.type ? e.fragments.join("") : e.content 9393 }, 9394 Tv = function (e) { 9395 var t = er.fromTag("body", wv.get().getOrThunk(function () { 9396 var e = document.implementation.createHTMLDocument("undo"); 9397 return wv.set(A.some(e)), e 9398 })); 9399 return xv(t, Sv(e)), F(Ki(t, "*[data-mce-bogus]"), Ri.unwrap), Cv(t) 9400 }, 9401 kv = function (n) { 9402 var e, t, r; 9403 return e = hv(n.getBody()), -1 !== (t = (r = G(e, function (e) { 9404 var t = cv.trimInternal(n.serializer, e); 9405 return 0 < t.length ? [t] : [] 9406 })).join("")).indexOf("</iframe>") ? Nv(r) : Ev(t) 9407 }, 9408 Av = function (e, t, n) { 9409 "fragmented" === t.type ? vv(t.fragments, e.getBody()) : e.setContent(t.content, { 9410 format: "raw" 9411 }), e.selection.moveToBookmark(n ? t.beforeBookmark : t.bookmark) 9412 }, 9413 _v = function (e, t) { 9414 return !(!e || !t) && (r = t, Sv(e) === Sv(r) || (n = t, Tv(e) === Tv(n))); 9415 var n, r 9416 }; 9417 9418 function Rv(u) { 9419 var s, r, o = this, 9420 c = 0, 9421 l = [], 9422 t = 0, 9423 f = function () { 9424 return 0 === t 9425 }, 9426 i = function (e) { 9427 f() && (o.typing = e) 9428 }, 9429 d = function (e) { 9430 u.setDirty(e) 9431 }, 9432 a = function (e) { 9433 i(!1), o.add({}, e) 9434 }, 9435 n = function () { 9436 o.typing && (i(!1), o.add()) 9437 }; 9438 return u.on("init", function () { 9439 o.add() 9440 }), u.on("BeforeExecCommand", function (e) { 9441 var t = e.command; 9442 "Undo" !== t && "Redo" !== t && "mceRepaint" !== t && (n(), o.beforeChange()) 9443 }), u.on("ExecCommand", function (e) { 9444 var t = e.command; 9445 "Undo" !== t && "Redo" !== t && "mceRepaint" !== t && a(e) 9446 }), u.on("ObjectResizeStart Cut", function () { 9447 o.beforeChange() 9448 }), u.on("SaveContent ObjectResized blur", a), u.on("DragEnd", a), u.on("KeyUp", function (e) { 9449 var t = e.keyCode; 9450 e.isDefaultPrevented() || ((33 <= t && t <= 36 || 37 <= t && t <= 40 || 45 === t || e.ctrlKey) && (a(), u.nodeChanged()), 46 !== t && 8 !== t || u.nodeChanged(), r && o.typing && !1 === _v(kv(u), l[0]) && (!1 === u.isDirty() && (d(!0), u.fire("change", { 9451 level: l[0], 9452 lastLevel: null 9453 })), u.fire("TypingUndo"), r = !1, u.nodeChanged())) 9454 }), u.on("KeyDown", function (e) { 9455 var t = e.keyCode; 9456 if (!e.isDefaultPrevented()) 9457 if (33 <= t && t <= 36 || 37 <= t && t <= 40 || 45 === t) o.typing && a(e); 9458 else { 9459 var n = e.ctrlKey && !e.altKey || e.metaKey; 9460 !(t < 16 || 20 < t) || 224 === t || 91 === t || o.typing || n || (o.beforeChange(), i(!0), o.add({}, e), r = !0) 9461 } 9462 }), u.on("MouseDown", function (e) { 9463 o.typing && a(e) 9464 }), u.on("input", function (e) { 9465 var t; 9466 e.inputType && ("insertReplacementText" === e.inputType || "insertText" === (t = e).inputType && null === t.data) && a(e) 9467 }), u.addShortcut("meta+z", "", "Undo"), u.addShortcut("meta+y,meta+shift+z", "", "Redo"), u.on("AddUndo Undo Redo ClearUndos", function (e) { 9468 e.isDefaultPrevented() || u.nodeChanged() 9469 }), o = { 9470 data: l, 9471 typing: !1, 9472 beforeChange: function () { 9473 f() && (s = $u.getUndoBookmark(u.selection)) 9474 }, 9475 add: function (e, t) { 9476 var n, r, o, i = u.settings; 9477 if (o = kv(u), e = e || {}, e = Yt.extend(e, o), !1 === f() || u.removed) return null; 9478 if (r = l[c], u.fire("BeforeAddUndo", { 9479 level: e, 9480 lastLevel: r, 9481 originalEvent: t 9482 }).isDefaultPrevented()) return null; 9483 if (r && _v(r, e)) return null; 9484 if (l[c] && (l[c].beforeBookmark = s), i.custom_undo_redo_levels && l.length > i.custom_undo_redo_levels) { 9485 for (n = 0; n < l.length - 1; n++) l[n] = l[n + 1]; 9486 l.length--, c = l.length 9487 } 9488 e.bookmark = $u.getUndoBookmark(u.selection), c < l.length - 1 && (l.length = c + 1), l.push(e), c = l.length - 1; 9489 var a = { 9490 level: e, 9491 lastLevel: r, 9492 originalEvent: t 9493 }; 9494 return u.fire("AddUndo", a), 0 < c && (d(!0), u.fire("change", a)), e 9495 }, 9496 undo: function () { 9497 var e; 9498 return o.typing && (o.add(), o.typing = !1, i(!1)), 0 < c && (e = l[--c], Av(u, e, !0), d(!0), u.fire("undo", { 9499 level: e 9500 })), e 9501 }, 9502 redo: function () { 9503 var e; 9504 return c < l.length - 1 && (e = l[++c], Av(u, e, !1), d(!0), u.fire("redo", { 9505 level: e 9506 })), e 9507 }, 9508 clear: function () { 9509 l = [], c = 0, o.typing = !1, o.data = l, u.fire("ClearUndos") 9510 }, 9511 hasUndo: function () { 9512 return 0 < c || o.typing && l[0] && !_v(kv(u), l[0]) 9513 }, 9514 hasRedo: function () { 9515 return c < l.length - 1 && !o.typing 9516 }, 9517 transact: function (e) { 9518 return n(), o.beforeChange(), o.ignore(e), o.add() 9519 }, 9520 ignore: function (e) { 9521 try { 9522 t++, e() 9523 } finally { 9524 t-- 9525 } 9526 }, 9527 extra: function (e, t) { 9528 var n, r; 9529 o.transact(e) && (r = l[c].bookmark, n = l[c - 1], Av(u, n, !0), o.transact(t) && (l[c - 1].beforeBookmark = r)) 9530 } 9531 } 9532 } 9533 var Dv, Bv, Ov = Sl.isEq, 9534 Pv = function (e, t, n) { 9535 var r = e.formatter.get(n); 9536 if (r) 9537 for (var o = 0; o < r.length; o++) 9538 if (!1 === r[o].inherit && e.dom.is(t, r[o].selector)) return !0; 9539 return !1 9540 }, 9541 Lv = function (t, e, n, r) { 9542 var o = t.dom.getRoot(); 9543 return e !== o && (e = t.dom.getParent(e, function (e) { 9544 return !!Pv(t, e, n) || e.parentNode === o || !!Fv(t, e, n, r, !0) 9545 }), Fv(t, e, n, r)) 9546 }, 9547 Iv = function (e, t, n) { 9548 return !!Ov(t, n.inline) || !!Ov(t, n.block) || (n.selector ? 1 === t.nodeType && e.is(t, n.selector) : void 0) 9549 }, 9550 Mv = function (e, t, n, r, o, i) { 9551 var a, u, s, c = n[r]; 9552 if (n.onmatch) return n.onmatch(t, n, r); 9553 if (c) 9554 if ("undefined" == typeof c.length) { 9555 for (a in c) 9556 if (c.hasOwnProperty(a)) { 9557 if (u = "attributes" === r ? e.getAttrib(t, a) : Sl.getStyle(e, t, a), o && !u && !n.exact) return; 9558 if ((!o || n.exact) && !Ov(u, Sl.normalizeStyleValue(e, Sl.replaceVars(c[a], i), a))) return 9559 } 9560 } else 9561 for (s = 0; s < c.length; s++) 9562 if ("attributes" === r ? e.getAttrib(t, c[s]) : Sl.getStyle(e, t, c[s])) return n; 9563 return n 9564 }, 9565 Fv = function (e, t, n, r, o) { 9566 var i, a, u, s, c = e.formatter.get(n), 9567 l = e.dom; 9568 if (c && t) 9569 for (a = 0; a < c.length; a++) 9570 if (i = c[a], Iv(e.dom, t, i) && Mv(l, t, i, "attributes", o, r) && Mv(l, t, i, "styles", o, r)) { 9571 if (s = i.classes) 9572 for (u = 0; u < s.length; u++) 9573 if (!e.dom.hasClass(t, s[u])) return; 9574 return i 9575 } 9576 }, 9577 Uv = { 9578 matchNode: Fv, 9579 matchName: Iv, 9580 match: function (e, t, n, r) { 9581 var o; 9582 return r ? Lv(e, r, t, n) : (r = e.selection.getNode(), !!Lv(e, r, t, n) || !((o = e.selection.getStart()) === r || !Lv(e, o, t, n))) 9583 }, 9584 matchAll: function (r, o, i) { 9585 var e, a = [], 9586 u = {}; 9587 return e = r.selection.getStart(), r.dom.getParent(e, function (e) { 9588 var t, n; 9589 for (t = 0; t < o.length; t++) n = o[t], !u[n] && Fv(r, e, n, i) && (u[n] = !0, a.push(n)) 9590 }, r.dom.getRoot()), a 9591 }, 9592 canApply: function (e, t) { 9593 var n, r, o, i, a, u = e.formatter.get(t), 9594 s = e.dom; 9595 if (u) 9596 for (n = e.selection.getStart(), r = Sl.getParents(s, n), i = u.length - 1; 0 <= i; i--) { 9597 if (!(a = u[i].selector) || u[i].defaultBlock) return !0; 9598 for (o = r.length - 1; 0 <= o; o--) 9599 if (s.is(r[o], a)) return !0 9600 } 9601 return !1 9602 }, 9603 matchesUnInheritedFormatSelector: Pv 9604 }, 9605 zv = function (e, t) { 9606 return e.splitText(t) 9607 }, 9608 Vv = function (e) { 9609 var t = e.startContainer, 9610 n = e.startOffset, 9611 r = e.endContainer, 9612 o = e.endOffset; 9613 return t === r && Do.isText(t) ? 0 < n && n < t.nodeValue.length && (t = (r = zv(t, n)).previousSibling, n < o ? (t = r = zv(r, o -= n).previousSibling, o = r.nodeValue.length, n = 0) : o = 0) : (Do.isText(t) && 0 < n && n < t.nodeValue.length && (t = zv(t, n), n = 0), Do.isText(r) && 0 < o && o < r.nodeValue.length && (o = (r = zv(r, o).previousSibling).nodeValue.length)), { 9614 startContainer: t, 9615 startOffset: n, 9616 endContainer: r, 9617 endOffset: o 9618 } 9619 }, 9620 qv = wa, 9621 Hv = "_mce_caret", 9622 jv = function (e) { 9623 return 0 < function (e) { 9624 for (var t = []; e;) { 9625 if (3 === e.nodeType && e.nodeValue !== qv || 1 < e.childNodes.length) return []; 9626 1 === e.nodeType && t.push(e), e = e.firstChild 9627 } 9628 return t 9629 }(e).length 9630 }, 9631 $v = function (e) { 9632 var t; 9633 if (e) 9634 for (e = (t = new oo(e, e)).current(); e; e = t.next()) 9635 if (3 === e.nodeType) return e; 9636 return null 9637 }, 9638 Wv = function (e) { 9639 var t = er.fromTag("span"); 9640 return hr.setAll(t, { 9641 id: Hv, 9642 "data-mce-bogus": "1", 9643 "data-mce-type": "format-caret" 9644 }), e && Ti.append(t, er.fromText(qv)), t 9645 }, 9646 Kv = function (e, t, n, r) { 9647 var o, i, a, u; 9648 o = t.getRng(!0), i = e.getParent(n, e.isBlock), jv(n) ? (!1 !== r && (o.setStartBefore(n), o.setEndBefore(n)), e.remove(n)) : ((u = $v(n)) && u.nodeValue.charAt(0) === qv && u.deleteData(0, 1), a = u, o.startContainer === a && 0 < o.startOffset && o.setStart(a, o.startOffset - 1), o.endContainer === a && 0 < o.endOffset && o.setEnd(a, o.endOffset - 1), e.remove(n, !0)), i && e.isEmpty(i) && af(er.fromDom(i)), t.setRng(o) 9649 }, 9650 Xv = function (e, t, n, r, o) { 9651 if (r) Kv(t, n, r, o); 9652 else if (!(r = Xu(e, n.getStart()))) 9653 for (; r = t.get(Hv);) Kv(t, n, r, !1) 9654 }, 9655 Yv = function (e, t, n) { 9656 var r = e.dom, 9657 o = r.getParent(n, ya.curry(Sl.isTextBlock, e)); 9658 o && r.isEmpty(o) ? n.parentNode.replaceChild(t, n) : ( of (er.fromDom(n)), r.isEmpty(n) ? n.parentNode.replaceChild(t, n) : r.insertAfter(t, n)) 9659 }, 9660 Gv = function (e, t) { 9661 return e.appendChild(t), t 9662 }, 9663 Jv = function (e, t) { 9664 var n, r, o = (n = function (e, t) { 9665 return Gv(e, t.cloneNode(!1)) 9666 }, r = t, function (e, t) { 9667 for (var n = e.length - 1; 0 <= n; n--) t(e[n], n, e) 9668 }(e, function (e) { 9669 r = n(r, e) 9670 }), r); 9671 return Gv(o, o.ownerDocument.createTextNode(qv)) 9672 }, 9673 Qv = function (e) { 9674 var i = e.dom, 9675 a = e.selection, 9676 u = e.getBody(); 9677 e.on("mouseup keydown", function (e) { 9678 var t, n, r, o; 9679 t = u, n = i, r = a, o = e.keyCode, Xv(t, n, r, null, !1), 8 === o && r.isCollapsed() && r.getStart().innerHTML === qv && Xv(t, n, r, Xu(t, r.getStart())), 37 !== o && 39 !== o || Xv(t, n, r, Xu(t, r.getStart())) 9680 }) 9681 }, 9682 Zv = function (e, t) { 9683 return e.schema.getTextInlineElements().hasOwnProperty(sr.name(t)) && !Ku(t.dom()) && !Do.isBogus(t.dom()) 9684 }, 9685 eb = {}, 9686 tb = jt.filter, 9687 nb = jt.each; 9688 Bv = function (e) { 9689 var t, n, r = e.selection.getRng(); 9690 t = Do.matchNodeNames("pre"), r.collapsed || (n = e.selection.getSelectedBlocks(), nb(tb(tb(n, t), function (e) { 9691 return t(e.previousSibling) && -1 !== jt.indexOf(n, e.previousSibling) 9692 }), function (e) { 9693 var t, n; 9694 t = e.previousSibling, pn(n = e).remove(), pn(t).append("<br><br>").append(n.childNodes) 9695 })) 9696 }, eb[Dv = "pre"] || (eb[Dv] = []), eb[Dv].push(Bv); 9697 var rb = function (e, t) { 9698 nb(eb[e], function (e) { 9699 e(t) 9700 }) 9701 }, 9702 ob = /^(src|href|style)$/, 9703 ib = Yt.each, 9704 ab = Sl.isEq, 9705 ub = function (e) { 9706 return /^(TH|TD)$/.test(e.nodeName) 9707 }, 9708 sb = function (e, t, n) { 9709 var r, o, i; 9710 return r = t[n ? "startContainer" : "endContainer"], o = t[n ? "startOffset" : "endOffset"], Do.isElement(r) && (i = r.childNodes.length - 1, !n && o && o--, r = r.childNodes[i < o ? i : o]), Do.isText(r) && n && o >= r.nodeValue.length && (r = new oo(r, e.getBody()).next() || r), Do.isText(r) && !n && 0 === o && (r = new oo(r, e.getBody()).prev() || r), r 9711 }, 9712 cb = function (e, t, n, r) { 9713 var o = e.create(n, r); 9714 return t.parentNode.insertBefore(o, t), o.appendChild(t), o 9715 }, 9716 lb = function (e, t, n, r) { 9717 return !(t = Sl.getNonWhiteSpaceSibling(t, n, r)) || "BR" === t.nodeName || e.isBlock(t) 9718 }, 9719 fb = function (e, n, r, o, i) { 9720 var t, a, u, s, c, l, f, d, m, g, p, h, v, b, y = e.dom; 9721 if (c = y, !(ab(l = o, (f = n).inline) || ab(l, f.block) || (f.selector ? Do.isElement(l) && c.is(l, f.selector) : void 0) || (s = o, n.links && "A" === s.tagName))) return !1; 9722 if ("all" !== n.remove) 9723 for (ib(n.styles, function (e, t) { 9724 e = Sl.normalizeStyleValue(y, Sl.replaceVars(e, r), t), "number" == typeof t && (t = e, i = 0), (n.remove_similar || !i || ab(Sl.getStyle(y, i, t), e)) && y.setStyle(o, t, ""), u = 1 9725 }), u && "" === y.getAttrib(o, "style") && (o.removeAttribute("style"), o.removeAttribute("data-mce-style")), ib(n.attributes, function (e, t) { 9726 var n; 9727 if (e = Sl.replaceVars(e, r), "number" == typeof t && (t = e, i = 0), !i || ab(y.getAttrib(i, t), e)) { 9728 if ("class" === t && (e = y.getAttrib(o, t)) && (n = "", ib(e.split(/\s+/), function (e) { 9729 /mce\-\w+/.test(e) && (n += (n ? " " : "") + e) 9730 }), n)) return void y.setAttrib(o, t, n); 9731 "class" === t && o.removeAttribute("className"), ob.test(t) && o.removeAttribute("data-mce-" + t), o.removeAttribute(t) 9732 } 9733 }), ib(n.classes, function (e) { 9734 e = Sl.replaceVars(e, r), i && !y.hasClass(i, e) || y.removeClass(o, e) 9735 }), a = y.getAttribs(o), t = 0; t < a.length; t++) { 9736 var C = a[t].nodeName; 9737 if (0 !== C.indexOf("_") && 0 !== C.indexOf("data-")) return !1 9738 } 9739 return "none" !== n.remove ? (d = e, g = n, h = (m = o).parentNode, v = d.dom, b = d.settings.forced_root_block, g.block && (b ? h === v.getRoot() && (g.list_block && ab(m, g.list_block) || ib(Yt.grep(m.childNodes), function (e) { 9740 Sl.isValid(d, b, e.nodeName.toLowerCase()) ? p ? p.appendChild(e) : (p = cb(v, e, b), v.setAttribs(p, d.settings.forced_root_block_attrs)) : p = 0 9741 })) : v.isBlock(m) && !v.isBlock(h) && (lb(v, m, !1) || lb(v, m.firstChild, !0, 1) || m.insertBefore(v.create("br"), m.firstChild), lb(v, m, !0) || lb(v, m.lastChild, !1, 1) || m.appendChild(v.create("br")))), g.selector && g.inline && !ab(g.inline, m) || v.remove(m, 1), !0) : void 0 9742 }, 9743 db = fb, 9744 mb = function (s, c, l, e, f) { 9745 var t, n, d = s.formatter.get(c), 9746 m = d[0], 9747 a = !0, 9748 u = s.dom, 9749 r = s.selection, 9750 i = function (e) { 9751 var n, t, r, o, i, a, u = (n = s, t = e, r = c, o = l, i = f, ib(Sl.getParents(n.dom, t.parentNode).reverse(), function (e) { 9752 var t; 9753 a || "_start" === e.id || "_end" === e.id || (t = Uv.matchNode(n, e, r, o, i)) && !1 !== t.split && (a = e) 9754 }), a); 9755 return function (e, t, n, r, o, i, a, u) { 9756 var s, c, l, f, d, m, g = e.dom; 9757 if (n) { 9758 for (m = n.parentNode, s = r.parentNode; s && s !== m; s = s.parentNode) { 9759 for (c = g.clone(s, !1), d = 0; d < t.length; d++) 9760 if (fb(e, t[d], u, c, c)) { 9761 c = 0; 9762 break 9763 } 9764 c && (l && c.appendChild(l), f || (f = c), l = c) 9765 }!i || a.mixed && g.isBlock(n) || (r = g.split(n, r)), l && (o.parentNode.insertBefore(l, o), f.appendChild(o)) 9766 } 9767 return r 9768 }(s, d, u, e, e, !0, m, l) 9769 }, 9770 g = function (e) { 9771 var t, n, r, o, i; 9772 if (Do.isElement(e) && u.getContentEditable(e) && (o = a, a = "true" === u.getContentEditable(e), i = !0), t = Yt.grep(e.childNodes), a && !i) 9773 for (n = 0, r = d.length; n < r && !fb(s, d[n], l, e, e); n++); 9774 if (m.deep && t.length) { 9775 for (n = 0, r = t.length; n < r; n++) g(t[n]); 9776 i && (a = o) 9777 } 9778 }, 9779 p = function (e) { 9780 var t = u.get(e ? "_start" : "_end"), 9781 n = t[e ? "firstChild" : "lastChild"]; 9782 return xl(n) && (n = n[e ? "firstChild" : "lastChild"]), Do.isText(n) && 0 === n.data.length && (n = e ? t.previousSibling || t.nextSibling : t.nextSibling || t.previousSibling), u.remove(t, !0), n 9783 }, 9784 o = function (e) { 9785 var t, n, r = e.commonAncestorContainer; 9786 if (e = Ml(s, e, d, !0), m.split) { 9787 if (e = Vv(e), (t = sb(s, e, !0)) !== (n = sb(s, e))) { 9788 if (/^(TR|TH|TD)$/.test(t.nodeName) && t.firstChild && (t = "TR" === t.nodeName ? t.firstChild.firstChild || t : t.firstChild || t), r && /^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName) && ub(n) && n.firstChild && (n = n.firstChild || n), u.isChildOf(t, n) && t !== n && !u.isBlock(n) && !ub(t) && !ub(n)) { 9789 var o = function (e, t, n, r, o) { 9790 var i = (r ? "next" : "previous") + "Sibling", 9791 a = e.create(n, o); 9792 t.parentNode.insertBefore(a, t); 9793 for (var u = [t], s = t; s = s[i];) u.push(s); 9794 return u.forEach(function (e) { 9795 return a.appendChild(e) 9796 }), a 9797 }(u, t, "span", !0, { 9798 id: "_start", 9799 "data-mce-type": "bookmark" 9800 }); 9801 return i(o), void(t = p(!0)) 9802 } 9803 t = cb(u, t, "span", { 9804 id: "_start", 9805 "data-mce-type": "bookmark" 9806 }), n = cb(u, n, "span", { 9807 id: "_end", 9808 "data-mce-type": "bookmark" 9809 }), i(t), i(n), t = p(!0), n = p() 9810 } else t = n = i(t); 9811 e.startContainer = t.parentNode ? t.parentNode : t, e.startOffset = u.nodeIndex(t), e.endContainer = n.parentNode ? n.parentNode : n, e.endOffset = u.nodeIndex(n) + 1 9812 } 9813 Ul(u, e, function (e) { 9814 ib(e, function (e) { 9815 g(e), Do.isElement(e) && "underline" === s.dom.getStyle(e, "text-decoration") && e.parentNode && "underline" === Sl.getTextDecoration(u, e.parentNode) && fb(s, { 9816 deep: !1, 9817 exact: !0, 9818 inline: "span", 9819 styles: { 9820 textDecoration: "underline" 9821 } 9822 }, null, e) 9823 }) 9824 }) 9825 }; 9826 if (e) e.nodeType ? ((n = u.createRng()).setStartBefore(e), n.setEndAfter(e), o(n)) : o(e); 9827 else if ("false" !== u.getContentEditable(r.getNode())) r.isCollapsed() && m.inline && !u.select("td[data-mce-selected],th[data-mce-selected]").length ? function (e, t, n, r) { 9828 var o, i, a, u, s, c, l, f = e.dom, 9829 d = e.selection, 9830 m = [], 9831 g = d.getRng(); 9832 for (o = g.startContainer, i = g.startOffset, 3 === (s = o).nodeType && (i !== o.nodeValue.length && (u = !0), s = s.parentNode); s;) { 9833 if (Uv.matchNode(e, s, t, n, r)) { 9834 c = s; 9835 break 9836 } 9837 s.nextSibling && (u = !0), m.push(s), s = s.parentNode 9838 } 9839 if (c) 9840 if (u) { 9841 a = d.getBookmark(), g.collapse(!0); 9842 var p = Ml(e, g, e.formatter.get(t), !0); 9843 p = Vv(p), e.formatter.remove(t, n, p), d.moveToBookmark(a) 9844 } else { 9845 l = Xu(e.getBody(), c); 9846 var h = Wv(!1).dom(), 9847 v = Jv(m, h); 9848 Yv(e, h, l || c), Kv(f, d, l, !1), d.setCursorLocation(v, 1), f.isEmpty(c) && f.remove(c) 9849 } 9850 }(s, c, l, f) : (t = $u.getPersistentBookmark(s.selection, !0), o(r.getRng()), r.moveToBookmark(t), m.inline && Uv.match(s, c, l, r.getStart()) && Sl.moveStart(u, r, r.getRng()), s.nodeChanged()); 9851 else { 9852 e = r.getNode(); 9853 for (var h = 0, v = d.length; h < v && (!d[h].ceFalseOverride || !fb(s, d[h], l, e, e)); h++); 9854 } 9855 }, 9856 gb = Yt.each, 9857 pb = function (e) { 9858 return e && 1 === e.nodeType && !xl(e) && !Ku(e) && !Do.isBogus(e) 9859 }, 9860 hb = function (e, t) { 9861 var n; 9862 for (n = e; n; n = n[t]) { 9863 if (3 === n.nodeType && 0 !== n.nodeValue.length) return e; 9864 if (1 === n.nodeType && !xl(n)) return n 9865 } 9866 return e 9867 }, 9868 vb = function (e, t, n) { 9869 var r, o, i = new rf(e); 9870 if (t && n && (t = hb(t, "previousSibling"), n = hb(n, "nextSibling"), i.compare(t, n))) { 9871 for (r = t.nextSibling; r && r !== n;) r = (o = r).nextSibling, t.appendChild(o); 9872 return e.remove(n), Yt.each(Yt.grep(n.childNodes), function (e) { 9873 t.appendChild(e) 9874 }), t 9875 } 9876 return n 9877 }, 9878 bb = function (e, t, n) { 9879 gb(e.childNodes, function (e) { 9880 pb(e) && (t(e) && n(e), e.hasChildNodes() && bb(e, t, n)) 9881 }) 9882 }, 9883 yb = function (n, e) { 9884 return b(function (e, t) { 9885 return !(!t || !Sl.getStyle(n, t, e)) 9886 }, e) 9887 }, 9888 Cb = function (r, e, t) { 9889 return b(function (e, t, n) { 9890 r.setStyle(n, e, t), "" === n.getAttribute("style") && n.removeAttribute("style"), xb(r, n) 9891 }, e, t) 9892 }, 9893 xb = function (e, t) { 9894 "SPAN" === t.nodeName && 0 === e.getAttribs(t).length && e.remove(t, !0) 9895 }, 9896 wb = function (e, t) { 9897 var n; 9898 1 === t.nodeType && t.parentNode && 1 === t.parentNode.nodeType && (n = Sl.getTextDecoration(e, t.parentNode), e.getStyle(t, "color") && n ? e.setStyle(t, "text-decoration", n) : e.getStyle(t, "text-decoration") === n && e.setStyle(t, "text-decoration", null)) 9899 }, 9900 Nb = function (n, e, r, o) { 9901 gb(e, function (t) { 9902 gb(n.dom.select(t.inline, o), function (e) { 9903 pb(e) && db(n, t, r, e, t.exact ? e : null) 9904 }), 9905 function (r, e, t) { 9906 if (e.clear_child_styles) { 9907 var n = e.links ? "*:not(a)" : "*"; 9908 gb(r.select(n, t), function (n) { 9909 pb(n) && gb(e.styles, function (e, t) { 9910 r.setStyle(n, t, "") 9911 }) 9912 }) 9913 } 9914 }(n.dom, t, o) 9915 }) 9916 }, 9917 Eb = function (e, t, n, r) { 9918 (t.styles.color || t.styles.textDecoration) && (Yt.walk(r, b(wb, e), "childNodes"), wb(e, r)) 9919 }, 9920 Sb = function (e, t, n, r) { 9921 t.styles && t.styles.backgroundColor && bb(r, yb(e, "fontSize"), Cb(e, "backgroundColor", Sl.replaceVars(t.styles.backgroundColor, n))) 9922 }, 9923 Tb = function (e, t, n, r) { 9924 "sub" !== t.inline && "sup" !== t.inline || (bb(r, yb(e, "fontSize"), Cb(e, "fontSize", "")), e.remove(e.select("sup" === t.inline ? "sub" : "sup", r), !0)) 9925 }, 9926 kb = function (e, t, n, r) { 9927 r && !1 !== t.merge_siblings && (r = vb(e, Sl.getNonWhiteSpaceSibling(r), r), r = vb(e, r, Sl.getNonWhiteSpaceSibling(r, !0))) 9928 }, 9929 Ab = function (t, n, r, o, i) { 9930 Uv.matchNode(t, i.parentNode, r, o) && db(t, n, o, i) || n.merge_with_parents && t.dom.getParent(i.parentNode, function (e) { 9931 if (Uv.matchNode(t, e, r, o)) return db(t, n, o, i), !0 9932 }) 9933 }, 9934 _b = Yt.each, 9935 Rb = function (g, p, h, r) { 9936 var e, t, v = g.formatter.get(p), 9937 b = v[0], 9938 o = !r && g.selection.isCollapsed(), 9939 i = g.dom, 9940 n = g.selection, 9941 y = function (n, e) { 9942 if (e = e || b, n) { 9943 if (e.onformat && e.onformat(n, e, h, r), _b(e.styles, function (e, t) { 9944 i.setStyle(n, t, Sl.replaceVars(e, h)) 9945 }), e.styles) { 9946 var t = i.getAttrib(n, "style"); 9947 t && n.setAttribute("data-mce-style", t) 9948 } 9949 _b(e.attributes, function (e, t) { 9950 i.setAttrib(n, t, Sl.replaceVars(e, h)) 9951 }), _b(e.classes, function (e) { 9952 e = Sl.replaceVars(e, h), i.hasClass(n, e) || i.addClass(n, e) 9953 }) 9954 } 9955 }, 9956 C = function (e, t) { 9957 var n = !1; 9958 return !!b.selector && (_b(e, function (e) { 9959 if (!("collapsed" in e && e.collapsed !== o)) return i.is(t, e.selector) && !Ku(t) ? (y(t, e), !(n = !0)) : void 0 9960 }), n) 9961 }, 9962 a = function (s, e, t, c) { 9963 var l, f, d = [], 9964 m = !0; 9965 l = b.inline || b.block, f = s.create(l), y(f), Ul(s, e, function (e) { 9966 var a, u = function (e) { 9967 var t, n, r, o; 9968 if (o = m, t = e.nodeName.toLowerCase(), n = e.parentNode.nodeName.toLowerCase(), 1 === e.nodeType && s.getContentEditable(e) && (o = m, m = "true" === s.getContentEditable(e), r = !0), Sl.isEq(t, "br")) return a = 0, void(b.block && s.remove(e)); 9969 if (b.wrapper && Uv.matchNode(g, e, p, h)) a = 0; 9970 else { 9971 if (m && !r && b.block && !b.wrapper && Sl.isTextBlock(g, t) && Sl.isValid(g, n, l)) return e = s.rename(e, l), y(e), d.push(e), void(a = 0); 9972 if (b.selector) { 9973 var i = C(v, e); 9974 if (!b.inline || i) return void(a = 0) 9975 }!m || r || !Sl.isValid(g, l, t) || !Sl.isValid(g, n, l) || !c && 3 === e.nodeType && 1 === e.nodeValue.length && 65279 === e.nodeValue.charCodeAt(0) || Ku(e) || b.inline && s.isBlock(e) ? (a = 0, _b(Yt.grep(e.childNodes), u), r && (m = o), a = 0) : (a || (a = s.clone(f, !1), e.parentNode.insertBefore(a, e), d.push(a)), a.appendChild(e)) 9976 } 9977 }; 9978 _b(e, u) 9979 }), !0 === b.links && _b(d, function (e) { 9980 var t = function (e) { 9981 "A" === e.nodeName && y(e, b), _b(Yt.grep(e.childNodes), t) 9982 }; 9983 t(e) 9984 }), _b(d, function (e) { 9985 var t, n, r, o, i, a = function (e) { 9986 var n = !1; 9987 return _b(e.childNodes, function (e) { 9988 if ((t = e) && 1 === t.nodeType && !xl(t) && !Ku(t) && !Do.isBogus(t)) return n = e, !1; 9989 var t 9990 }), n 9991 }; 9992 n = 0, _b(e.childNodes, function (e) { 9993 Sl.isWhiteSpaceNode(e) || xl(e) || n++ 9994 }), t = n, !(1 < d.length) && s.isBlock(e) || 0 !== t ? (b.inline || b.wrapper) && (b.exact || 1 !== t || ((o = a(r = e)) && !xl(o) && Uv.matchName(s, o, b) && (i = s.clone(o, !1), y(i), s.replace(i, r, !0), s.remove(o, 1)), e = i || r), Nb(g, v, h, e), Ab(g, b, p, h, e), Sb(s, b, h, e), Tb(s, b, h, e), kb(s, b, h, e)) : s.remove(e, 1) 9995 }) 9996 }; 9997 if ("false" !== i.getContentEditable(n.getNode())) { 9998 if (b) { 9999 if (r) r.nodeType ? C(v, r) || ((t = i.createRng()).setStartBefore(r), t.setEndAfter(r), a(i, Ml(g, t, v), 0, !0)) : a(i, r, 0, !0); 10000 else if (o && b.inline && !i.select("td[data-mce-selected],th[data-mce-selected]").length) ! function (e, t, n) { 10001 var r, o, i, a, u, s, c = e.selection; 10002 a = (r = c.getRng(!0)).startOffset, s = r.startContainer.nodeValue, (o = Xu(e.getBody(), c.getStart())) && (i = $v(o)); 10003 var l, f, d = /[^\s\u00a0\u00ad\u200b\ufeff]/; 10004 s && 0 < a && a < s.length && d.test(s.charAt(a)) && d.test(s.charAt(a - 1)) ? (u = c.getBookmark(), r.collapse(!0), r = Ml(e, r, e.formatter.get(t)), r = Vv(r), e.formatter.apply(t, n, r), c.moveToBookmark(u)) : (o && i.nodeValue === qv || (l = e.getDoc(), f = Wv(!0).dom(), i = (o = l.importNode(f, !0)).firstChild, r.insertNode(o), a = 1), e.formatter.apply(t, n, o), c.setCursorLocation(i, a)) 10005 }(g, p, h); 10006 else { 10007 var u = g.selection.getNode(); 10008 g.settings.forced_root_block || !v[0].defaultBlock || i.getParent(u, i.isBlock) || Rb(g, v[0].defaultBlock), g.selection.setRng(df(g.selection.getRng())), e = $u.getPersistentBookmark(g.selection, !0), a(i, Ml(g, n.getRng(), v)), b.styles && Eb(i, b, h, u), n.moveToBookmark(e), Sl.moveStart(i, n, n.getRng()), g.nodeChanged() 10009 } 10010 rb(p, g) 10011 } 10012 } else { 10013 r = n.getNode(); 10014 for (var s = 0, c = v.length; s < c; s++) 10015 if (v[s].ceFalseOverride && i.is(r, v[s].selector)) return void y(r, v[s]) 10016 } 10017 }, 10018 Db = { 10019 applyFormat: Rb 10020 }, 10021 Bb = Yt.each, 10022 Ob = function (e, t, n, r, o) { 10023 var i, a, u, s, c, l, f, d; 10024 null === t.get() && (a = e, u = {}, (i = t).set({}), a.on("NodeChange", function (n) { 10025 var r = Sl.getParents(a.dom, n.element), 10026 o = {}; 10027 r = Yt.grep(r, function (e) { 10028 return 1 === e.nodeType && !e.getAttribute("data-mce-bogus") 10029 }), Bb(i.get(), function (e, n) { 10030 Bb(r, function (t) { 10031 return a.formatter.matchNode(t, n, {}, e.similar) ? (u[n] || (Bb(e, function (e) { 10032 e(!0, { 10033 node: t, 10034 format: n, 10035 parents: r 10036 }) 10037 }), u[n] = e), o[n] = e, !1) : !Uv.matchesUnInheritedFormatSelector(a, t, n) && void 0 10038 }) 10039 }), Bb(u, function (e, t) { 10040 o[t] || (delete u[t], Bb(e, function (e) { 10041 e(!1, { 10042 node: n.element, 10043 format: t, 10044 parents: r 10045 }) 10046 })) 10047 }) 10048 })), c = n, l = r, f = o, d = (s = t).get(), Bb(c.split(","), function (e) { 10049 d[e] || (d[e] = [], d[e].similar = f), d[e].push(l) 10050 }), s.set(d) 10051 }, 10052 Pb = { 10053 get: function (r) { 10054 var t = { 10055 valigntop: [{ 10056 selector: "td,th", 10057 styles: { 10058 verticalAlign: "top" 10059 } 10060 }], 10061 valignmiddle: [{ 10062 selector: "td,th", 10063 styles: { 10064 verticalAlign: "middle" 10065 } 10066 }], 10067 valignbottom: [{ 10068 selector: "td,th", 10069 styles: { 10070 verticalAlign: "bottom" 10071 } 10072 }], 10073 alignleft: [{ 10074 selector: "figure.image", 10075 collapsed: !1, 10076 classes: "align-left", 10077 ceFalseOverride: !0, 10078 preview: "font-family font-size" 10079 }, { 10080 selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", 10081 styles: { 10082 textAlign: "left" 10083 }, 10084 inherit: !1, 10085 preview: !1, 10086 defaultBlock: "div" 10087 }, { 10088 selector: "img,table", 10089 collapsed: !1, 10090 styles: { 10091 "float": "left" 10092 }, 10093 preview: "font-family font-size" 10094 }], 10095 aligncenter: [{ 10096 selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", 10097 styles: { 10098 textAlign: "center" 10099 }, 10100 inherit: !1, 10101 preview: "font-family font-size", 10102 defaultBlock: "div" 10103 }, { 10104 selector: "figure.image", 10105 collapsed: !1, 10106 classes: "align-center", 10107 ceFalseOverride: !0, 10108 preview: "font-family font-size" 10109 }, { 10110 selector: "img", 10111 collapsed: !1, 10112 styles: { 10113 display: "block", 10114 marginLeft: "auto", 10115 marginRight: "auto" 10116 }, 10117 preview: !1 10118 }, { 10119 selector: "table", 10120 collapsed: !1, 10121 styles: { 10122 marginLeft: "auto", 10123 marginRight: "auto" 10124 }, 10125 preview: "font-family font-size" 10126 }], 10127 alignright: [{ 10128 selector: "figure.image", 10129 collapsed: !1, 10130 classes: "align-right", 10131 ceFalseOverride: !0, 10132 preview: "font-family font-size" 10133 }, { 10134 selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", 10135 styles: { 10136 textAlign: "right" 10137 }, 10138 inherit: !1, 10139 preview: "font-family font-size", 10140 defaultBlock: "div" 10141 }, { 10142 selector: "img,table", 10143 collapsed: !1, 10144 styles: { 10145 "float": "right" 10146 }, 10147 preview: "font-family font-size" 10148 }], 10149 alignjustify: [{ 10150 selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", 10151 styles: { 10152 textAlign: "justify" 10153 }, 10154 inherit: !1, 10155 defaultBlock: "div", 10156 preview: "font-family font-size" 10157 }], 10158 bold: [{ 10159 inline: "strong", 10160 remove: "all" 10161 }, { 10162 inline: "span", 10163 styles: { 10164 fontWeight: "bold" 10165 } 10166 }, { 10167 inline: "b", 10168 remove: "all" 10169 }], 10170 italic: [{ 10171 inline: "em", 10172 remove: "all" 10173 }, { 10174 inline: "span", 10175 styles: { 10176 fontStyle: "italic" 10177 } 10178 }, { 10179 inline: "i", 10180 remove: "all" 10181 }], 10182 underline: [{ 10183 inline: "span", 10184 styles: { 10185 textDecoration: "underline" 10186 }, 10187 exact: !0 10188 }, { 10189 inline: "u", 10190 remove: "all" 10191 }], 10192 strikethrough: [{ 10193 inline: "span", 10194 styles: { 10195 textDecoration: "line-through" 10196 }, 10197 exact: !0 10198 }, { 10199 inline: "strike", 10200 remove: "all" 10201 }], 10202 forecolor: { 10203 inline: "span", 10204 styles: { 10205 color: "%value" 10206 }, 10207 links: !0, 10208 remove_similar: !0, 10209 clear_child_styles: !0 10210 }, 10211 hilitecolor: { 10212 inline: "span", 10213 styles: { 10214 backgroundColor: "%value" 10215 }, 10216 links: !0, 10217 remove_similar: !0, 10218 clear_child_styles: !0 10219 }, 10220 fontname: { 10221 inline: "span", 10222 toggle: !1, 10223 styles: { 10224 fontFamily: "%value" 10225 }, 10226 clear_child_styles: !0 10227 }, 10228 fontsize: { 10229 inline: "span", 10230 toggle: !1, 10231 styles: { 10232 fontSize: "%value" 10233 }, 10234 clear_child_styles: !0 10235 }, 10236 fontsize_class: { 10237 inline: "span", 10238 attributes: { 10239 "class": "%value" 10240 } 10241 }, 10242 blockquote: { 10243 block: "blockquote", 10244 wrapper: 1, 10245 remove: "all" 10246 }, 10247 subscript: { 10248 inline: "sub" 10249 }, 10250 superscript: { 10251 inline: "sup" 10252 }, 10253 code: { 10254 inline: "code" 10255 }, 10256 link: { 10257 inline: "a", 10258 selector: "a", 10259 remove: "all", 10260 split: !0, 10261 deep: !0, 10262 onmatch: function () { 10263 return !0 10264 }, 10265 onformat: function (n, e, t) { 10266 Yt.each(t, function (e, t) { 10267 r.setAttrib(n, t, e) 10268 }) 10269 } 10270 }, 10271 removeformat: [{ 10272 selector: "b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins", 10273 remove: "all", 10274 split: !0, 10275 expand: !1, 10276 block_expand: !0, 10277 deep: !0 10278 }, { 10279 selector: "span", 10280 attributes: ["style", "class"], 10281 remove: "empty", 10282 split: !0, 10283 expand: !1, 10284 deep: !0 10285 }, { 10286 selector: "*", 10287 attributes: ["style", "class"], 10288 split: !1, 10289 expand: !1, 10290 deep: !0 10291 }] 10292 }; 10293 return Yt.each("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/), function (e) { 10294 t[e] = { 10295 block: e, 10296 remove: "all" 10297 } 10298 }), t 10299 } 10300 }, 10301 Lb = Yt.each, 10302 Ib = pi.DOM, 10303 Mb = function (e, t) { 10304 var n, o, r, m = t && t.schema || ni({}), 10305 g = function (e) { 10306 var t, n, r; 10307 return o = "string" == typeof e ? { 10308 name: e, 10309 classes: [], 10310 attrs: {} 10311 } : e, t = Ib.create(o.name), n = t, (r = o).classes.length && Ib.addClass(n, r.classes.join(" ")), Ib.setAttribs(n, r.attrs), t 10312 }, 10313 p = function (n, e, t) { 10314 var r, o, i, a, u, s, c, l, f = 0 < e.length && e[0], 10315 d = f && f.name; 10316 if (u = d, s = "string" != typeof (a = n) ? a.nodeName.toLowerCase() : a, c = m.getElementRule(s), i = !(!(l = c && c.parentsRequired) || !l.length) && (u && -1 !== Yt.inArray(l, u) ? u : l[0])) d === i ? (o = e[0], e = e.slice(1)) : o = i; 10317 else if (f) o = e[0], e = e.slice(1); 10318 else if (!t) return n; 10319 return o && (r = g(o)).appendChild(n), t && (r || (r = Ib.create("div")).appendChild(n), Yt.each(t, function (e) { 10320 var t = g(e); 10321 r.insertBefore(t, n) 10322 })), p(r, e, o && o.siblings) 10323 }; 10324 return e && e.length ? (o = e[0], n = g(o), (r = Ib.create("div")).appendChild(p(n, e.slice(1), o.siblings)), r) : "" 10325 }, 10326 Fb = function (e) { 10327 var t, a = { 10328 classes: [], 10329 attrs: {} 10330 }; 10331 return "*" !== (e = a.selector = Yt.trim(e)) && (t = e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g, function (e, t, n, r, o) { 10332 switch (t) { 10333 case "#": 10334 a.attrs.id = n; 10335 break; 10336 case ".": 10337 a.classes.push(n); 10338 break; 10339 case ":": 10340 -1 !== Yt.inArray("checked disabled enabled read-only required".split(" "), n) && (a.attrs[n] = n) 10341 } 10342 if ("[" === r) { 10343 var i = o.match(/([\w\-]+)(?:\=\"([^\"]+))?/); 10344 i && (a.attrs[i[1]] = i[2]) 10345 } 10346 return "" 10347 })), a.name = t || "div", a 10348 }, 10349 Ub = function (e) { 10350 return e && "string" == typeof e ? (e = (e = e.split(/\s*,\s*/)[0]).replace(/\s*(~\+|~|\+|>)\s*/g, "$1"), Yt.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/), function (e) { 10351 var t = Yt.map(e.split(/(?:~\+|~|\+)/), Fb), 10352 n = t.pop(); 10353 return t.length && (n.siblings = t), n 10354 }).reverse()) : [] 10355 }, 10356 zb = function (n, e) { 10357 var t, r, o, i, a, u, s = ""; 10358 if (!1 === (u = n.settings.preview_styles)) return ""; 10359 "string" != typeof u && (u = "font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"); 10360 var c = function (e) { 10361 return e.replace(/%(\w+)/g, "") 10362 }; 10363 if ("string" == typeof e) { 10364 if (!(e = n.formatter.get(e))) return; 10365 e = e[0] 10366 } 10367 return "preview" in e && !1 === (u = e.preview) ? "" : (t = e.block || e.inline || "span", (i = Ub(e.selector)).length ? (i[0].name || (i[0].name = t), t = e.selector, r = Mb(i, n)) : r = Mb([t], n), o = Ib.select(t, r)[0] || r.firstChild, Lb(e.styles, function (e, t) { 10368 (e = c(e)) && Ib.setStyle(o, t, e) 10369 }), Lb(e.attributes, function (e, t) { 10370 (e = c(e)) && Ib.setAttrib(o, t, e) 10371 }), Lb(e.classes, function (e) { 10372 e = c(e), Ib.hasClass(o, e) || Ib.addClass(o, e) 10373 }), n.fire("PreviewFormats"), Ib.setStyles(r, { 10374 position: "absolute", 10375 left: -65535 10376 }), n.getBody().appendChild(r), a = Ib.getStyle(n.getBody(), "fontSize", !0), a = /px$/.test(a) ? parseInt(a, 10) : 0, Lb(u.split(" "), function (e) { 10377 var t = Ib.getStyle(o, e, !0); 10378 if (!("background-color" === e && /transparent|rgba\s*\([^)]+,\s*0\)/.test(t) && (t = Ib.getStyle(n.getBody(), e, !0), "#ffffff" === Ib.toHex(t).toLowerCase()) || "color" === e && "#000000" === Ib.toHex(t).toLowerCase())) { 10379 if ("font-size" === e && /em|%$/.test(t)) { 10380 if (0 === a) return; 10381 t = parseFloat(t) / (/%$/.test(t) ? 100 : 1) * a + "px" 10382 } 10383 "border" === e && t && (s += "padding:0 2px;"), s += e + ":" + t + ";" 10384 } 10385 }), n.fire("AfterPreviewFormats"), Ib.remove(r), s) 10386 }, 10387 Vb = function (e, t, n, r, o) { 10388 var i = t.get(n); 10389 !Uv.match(e, n, r, o) || "toggle" in i[0] && !i[0].toggle ? Db.applyFormat(e, n, r, o) : mb(e, n, r, o) 10390 }, 10391 qb = function (e) { 10392 e.addShortcut("meta+b", "", "Bold"), e.addShortcut("meta+i", "", "Italic"), e.addShortcut("meta+u", "", "Underline"); 10393 for (var t = 1; t <= 6; t++) e.addShortcut("access+" + t, "", ["FormatBlock", !1, "h" + t]); 10394 e.addShortcut("access+7", "", ["FormatBlock", !1, "p"]), e.addShortcut("access+8", "", ["FormatBlock", !1, "div"]), e.addShortcut("access+9", "", ["FormatBlock", !1, "address"]) 10395 }; 10396 10397 function Hb(e) { 10398 var t, n, r, o = (t = e, n = {}, (r = function (e, t) { 10399 e && ("string" != typeof e ? Yt.each(e, function (e, t) { 10400 r(t, e) 10401 }) : (t = t.length ? t : [t], Yt.each(t, function (e) { 10402 "undefined" == typeof e.deep && (e.deep = !e.selector), "undefined" == typeof e.split && (e.split = !e.selector || e.inline), "undefined" == typeof e.remove && e.selector && !e.inline && (e.remove = "none"), e.selector && e.inline && (e.mixed = !0, e.block_expand = !0), "string" == typeof e.classes && (e.classes = e.classes.split(/\s+/)) 10403 }), n[e] = t)) 10404 })(Pb.get(t.dom)), r(t.settings.formats), { 10405 get: function (e) { 10406 return e ? n[e] : n 10407 }, 10408 register: r, 10409 unregister: function (e) { 10410 return e && n[e] && delete n[e], n 10411 } 10412 }), 10413 i = Bi(null); 10414 return qb(e), Qv(e), { 10415 get: o.get, 10416 register: o.register, 10417 unregister: o.unregister, 10418 apply: b(Db.applyFormat, e), 10419 remove: b(mb, e), 10420 toggle: b(Vb, e, o), 10421 match: b(Uv.match, e), 10422 matchAll: b(Uv.matchAll, e), 10423 matchNode: b(Uv.matchNode, e), 10424 canApply: b(Uv.canApply, e), 10425 formatChanged: b(Ob, e, i), 10426 getCssText: b(zb, e) 10427 } 10428 } 10429 var jb, $b = Object.prototype.hasOwnProperty, 10430 Wb = (jb = function (e, t) { 10431 return t 10432 }, function () { 10433 for (var e = new Array(arguments.length), t = 0; t < e.length; t++) e[t] = arguments[t]; 10434 if (0 === e.length) throw new Error("Can't merge zero objects"); 10435 for (var n = {}, r = 0; r < e.length; r++) { 10436 var o = e[r]; 10437 for (var i in o) $b.call(o, i) && (n[i] = jb(n[i], o[i])) 10438 } 10439 return n 10440 }), 10441 Kb = { 10442 register: function (t, s, c) { 10443 t.addAttributeFilter("data-mce-tabindex", function (e, t) { 10444 for (var n, r = e.length; r--;)(n = e[r]).attr("tabindex", n.attributes.map["data-mce-tabindex"]), n.attr(t, null) 10445 }), t.addAttributeFilter("src,href,style", function (e, t) { 10446 for (var n, r, o = e.length, i = "data-mce-" + t, a = s.url_converter, u = s.url_converter_scope; o--;)(r = (n = e[o]).attributes.map[i]) !== undefined ? (n.attr(t, 0 < r.length ? r : null), n.attr(i, null)) : (r = n.attributes.map[t], "style" === t ? r = c.serializeStyle(c.parseStyle(r), n.name) : a && (r = a.call(u, r, t, n.name)), n.attr(t, 0 < r.length ? r : null)) 10447 }), t.addAttributeFilter("class", function (e) { 10448 for (var t, n, r = e.length; r--;)(n = (t = e[r]).attr("class")) && (n = t.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g, ""), t.attr("class", 0 < n.length ? n : null)) 10449 }), t.addAttributeFilter("data-mce-type", function (e, t, n) { 10450 for (var r, o = e.length; o--;) "bookmark" !== (r = e[o]).attributes.map["data-mce-type"] || n.cleanup || r.remove() 10451 }), t.addNodeFilter("noscript", function (e) { 10452 for (var t, n = e.length; n--;)(t = e[n].firstChild) && (t.value = $o.decode(t.value)) 10453 }), t.addNodeFilter("script,style", function (e, t) { 10454 for (var n, r, o, i = e.length, a = function (e) { 10455 return e.replace(/(<!--\[CDATA\[|\]\]-->)/g, "\n").replace(/^[\r\n]*|[\r\n]*$/g, "").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi, "").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g, "") 10456 }; i--;) r = (n = e[i]).firstChild ? n.firstChild.value : "", "script" === t ? ((o = n.attr("type")) && n.attr("type", "mce-no/type" === o ? null : o.replace(/^mce\-/, "")), "xhtml" === s.element_format && 0 < r.length && (n.firstChild.value = "// <![CDATA[\n" + a(r) + "\n// ]]>")) : "xhtml" === s.element_format && 0 < r.length && (n.firstChild.value = "\x3c!--\n" + a(r) + "\n--\x3e") 10457 }), t.addNodeFilter("#comment", function (e) { 10458 for (var t, n = e.length; n--;) 0 === (t = e[n]).value.indexOf("[CDATA[") ? (t.name = "#cdata", t.type = 4, t.value = t.value.replace(/^\[CDATA\[|\]\]$/g, "")) : 0 === t.value.indexOf("mce:protected ") && (t.name = "#text", t.type = 3, t.raw = !0, t.value = unescape(t.value).substr(14)) 10459 }), t.addNodeFilter("xml:namespace,input", function (e, t) { 10460 for (var n, r = e.length; r--;) 7 === (n = e[r]).type ? n.remove() : 1 === n.type && ("input" !== t || "type" in n.attributes.map || n.attr("type", "text")) 10461 }), t.addAttributeFilter("data-mce-type", function (e) { 10462 F(e, function (e) { 10463 "format-caret" === e.attr("data-mce-type") && (e.isEmpty(t.schema.getNonEmptyElements()) ? e.remove() : e.unwrap()) 10464 }) 10465 }), t.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize", function (e, t) { 10466 for (var n = e.length; n--;) e[n].attr(t, null) 10467 }) 10468 }, 10469 trimTrailingBr: function (e) { 10470 var t, n, r = function (e) { 10471 return e && "br" === e.name 10472 }; 10473 r(t = e.lastChild) && r(n = t.prev) && (t.remove(), n.remove()) 10474 } 10475 }, 10476 Xb = { 10477 process: function (e, t, n) { 10478 return f = n, (l = e) && l.hasEventListeners("PreProcess") && !f.no_events ? (o = t, i = n, c = (r = e).dom, o = o.cloneNode(!0), (a = document.implementation).createHTMLDocument && (u = a.createHTMLDocument(""), Yt.each("BODY" === o.nodeName ? o.childNodes : [o], function (e) { 10479 u.body.appendChild(u.importNode(e, !0)) 10480 }), o = "BODY" !== o.nodeName ? u.body.firstChild : u.body, s = c.doc, c.doc = u), tp(r, Wb(i, { 10481 node: o 10482 })), s && (c.doc = s), o) : t; 10483 var r, o, i, a, u, s, c, l, f 10484 } 10485 }, 10486 Yb = function (e, a, u) { 10487 e.addNodeFilter("font", function (e) { 10488 F(e, function (e) { 10489 var t, n = a.parse(e.attr("style")), 10490 r = e.attr("color"), 10491 o = e.attr("face"), 10492 i = e.attr("size"); 10493 r && (n.color = r), o && (n["font-family"] = o), i && (n["font-size"] = u[parseInt(e.attr("size"), 10) - 1]), e.name = "span", e.attr("style", a.serialize(n)), t = e, F(["color", "face", "size"], function (e) { 10494 t.attr(e, null) 10495 }) 10496 }) 10497 }) 10498 }, 10499 Gb = function (e, t) { 10500 var n, r = oi(); 10501 t.convert_fonts_to_spans && Yb(e, r, Yt.explode(t.font_size_legacy_values)), n = r, e.addNodeFilter("strike", function (e) { 10502 F(e, function (e) { 10503 var t = n.parse(e.attr("style")); 10504 t["text-decoration"] = "line-through", e.name = "span", e.attr("style", n.serialize(t)) 10505 }) 10506 }) 10507 }, 10508 Jb = { 10509 register: function (e, t) { 10510 t.inline_styles && Gb(e, t) 10511 } 10512 }, 10513 Qb = /^[ \t\r\n]*$/, 10514 Zb = { 10515 "#text": 3, 10516 "#comment": 8, 10517 "#cdata": 4, 10518 "#pi": 7, 10519 "#doctype": 10, 10520 "#document-fragment": 11 10521 }, 10522 ey = function (e, t, n) { 10523 var r, o, i = n ? "lastChild" : "firstChild", 10524 a = n ? "prev" : "next"; 10525 if (e[i]) return e[i]; 10526 if (e !== t) { 10527 if (r = e[a]) return r; 10528 for (o = e.parent; o && o !== t; o = o.parent) 10529 if (r = o[a]) return r 10530 } 10531 }, 10532 ty = function () { 10533 function a(e, t) { 10534 this.name = e, 1 === (this.type = t) && (this.attributes = [], this.attributes.map = {}) 10535 } 10536 return a.create = function (e, t) { 10537 var n, r; 10538 if (n = new a(e, Zb[e] || 1), t) 10539 for (r in t) n.attr(r, t[r]); 10540 return n 10541 }, a.prototype.replace = function (e) { 10542 return e.parent && e.remove(), this.insert(e, this), this.remove(), this 10543 }, a.prototype.attr = function (e, t) { 10544 var n, r; 10545 if ("string" != typeof e) { 10546 for (r in e) this.attr(r, e[r]); 10547 return this 10548 } 10549 if (n = this.attributes) { 10550 if (t !== undefined) { 10551 if (null === t) { 10552 if (e in n.map) 10553 for (delete n.map[e], r = n.length; r--;) 10554 if (n[r].name === e) return n = n.splice(r, 1), this; 10555 return this 10556 } 10557 if (e in n.map) { 10558 for (r = n.length; r--;) 10559 if (n[r].name === e) { 10560 n[r].value = t; 10561 break 10562 } 10563 } else n.push({ 10564 name: e, 10565 value: t 10566 }); 10567 return n.map[e] = t, this 10568 } 10569 return n.map[e] 10570 } 10571 }, a.prototype.clone = function () { 10572 var e, t, n, r, o, i = new a(this.name, this.type); 10573 if (n = this.attributes) { 10574 for ((o = []).map = {}, e = 0, t = n.length; e < t; e++) "id" !== (r = n[e]).name && (o[o.length] = { 10575 name: r.name, 10576 value: r.value 10577 }, o.map[r.name] = r.value); 10578 i.attributes = o 10579 } 10580 return i.value = this.value, i.shortEnded = this.shortEnded, i 10581 }, a.prototype.wrap = function (e) { 10582 return this.parent.insert(e, this), e.append(this), this 10583 }, a.prototype.unwrap = function () { 10584 var e, t; 10585 for (e = this.firstChild; e;) t = e.next, this.insert(e, this, !0), e = t; 10586 this.remove() 10587 }, a.prototype.remove = function () { 10588 var e = this.parent, 10589 t = this.next, 10590 n = this.prev; 10591 return e && (e.firstChild === this ? (e.firstChild = t) && (t.prev = null) : n.next = t, e.lastChild === this ? (e.lastChild = n) && (n.next = null) : t.prev = n, this.parent = this.next = this.prev = null), this 10592 }, a.prototype.append = function (e) { 10593 var t; 10594 return e.parent && e.remove(), (t = this.lastChild) ? ((t.next = e).prev = t, this.lastChild = e) : this.lastChild = this.firstChild = e, e.parent = this, e 10595 }, a.prototype.insert = function (e, t, n) { 10596 var r; 10597 return e.parent && e.remove(), r = t.parent || this, n ? (t === r.firstChild ? r.firstChild = e : t.prev.next = e, e.prev = t.prev, (e.next = t).prev = e) : (t === r.lastChild ? r.lastChild = e : t.next.prev = e, e.next = t.next, (e.prev = t).next = e), e.parent = r, e 10598 }, a.prototype.getAll = function (e) { 10599 var t, n = []; 10600 for (t = this.firstChild; t; t = ey(t, this)) t.name === e && n.push(t); 10601 return n 10602 }, a.prototype.empty = function () { 10603 var e, t, n; 10604 if (this.firstChild) { 10605 for (e = [], n = this.firstChild; n; n = ey(n, this)) e.push(n); 10606 for (t = e.length; t--;)(n = e[t]).parent = n.firstChild = n.lastChild = n.next = n.prev = null 10607 } 10608 return this.firstChild = this.lastChild = null, this 10609 }, a.prototype.isEmpty = function (e, t, n) { 10610 var r, o, i = this.firstChild; 10611 if (t = t || {}, i) 10612 do { 10613 if (1 === i.type) { 10614 if (i.attributes.map["data-mce-bogus"]) continue; 10615 if (e[i.name]) return !1; 10616 for (r = i.attributes.length; r--;) 10617 if ("name" === (o = i.attributes[r].name) || 0 === o.indexOf("data-mce-bookmark")) return !1 10618 } 10619 if (8 === i.type) return !1; 10620 if (3 === i.type && !Qb.test(i.value)) return !1; 10621 if (3 === i.type && i.parent && t[i.parent.name] && Qb.test(i.value)) return !1; 10622 if (n && n(i)) return !1 10623 } while (i = ey(i, this)); 10624 return !0 10625 }, a.prototype.walk = function (e) { 10626 return ey(this, null, e) 10627 }, a 10628 }(), 10629 ny = function (e, t, n, r) { 10630 (e.padd_empty_with_br || t.insert) && n[r.name] ? r.empty().append(new ty("br", 1)).shortEnded = !0 : r.empty().append(new ty("#text", 3)).value = "\xa0" 10631 }, 10632 ry = function (e) { 10633 return oy(e, "#text") && "\xa0" === e.firstChild.value 10634 }, 10635 oy = function (e, t) { 10636 return e && e.firstChild && e.firstChild === e.lastChild && e.firstChild.name === t 10637 }, 10638 iy = function (r, e, t, n) { 10639 return n.isEmpty(e, t, function (e) { 10640 return t = e, (n = r.getElementRule(t.name)) && n.paddEmpty; 10641 var t, n 10642 }) 10643 }, 10644 ay = function (e, t) { 10645 return e && (t[e.name] || "br" === e.name) 10646 }, 10647 uy = function (e, p) { 10648 var h = e.schema; 10649 p.remove_trailing_brs && e.addNodeFilter("br", function (e, t, n) { 10650 var r, o, i, a, u, s, c, l, f = e.length, 10651 d = Yt.extend({}, h.getBlockElements()), 10652 m = h.getNonEmptyElements(), 10653 g = h.getNonEmptyElements(); 10654 for (d.body = 1, r = 0; r < f; r++) 10655 if (i = (o = e[r]).parent, d[o.parent.name] && o === i.lastChild) { 10656 for (u = o.prev; u;) { 10657 if ("span" !== (s = u.name) || "bookmark" !== u.attr("data-mce-type")) { 10658 if ("br" !== s) break; 10659 if ("br" === s) { 10660 o = null; 10661 break 10662 } 10663 } 10664 u = u.prev 10665 } 10666 o && (o.remove(), iy(h, m, g, i) && (c = h.getElementRule(i.name)) && (c.removeEmpty ? i.remove() : c.paddEmpty && ny(p, n, d, i))) 10667 } else { 10668 for (a = o; i && i.firstChild === a && i.lastChild === a && !d[(a = i).name];) i = i.parent; 10669 a === i && !0 !== p.padd_empty_with_br && ((l = new ty("#text", 3)).value = "\xa0", o.replace(l)) 10670 } 10671 }), e.addAttributeFilter("href", function (e) { 10672 var t, n, r, o = e.length; 10673 if (!p.allow_unsafe_link_target) 10674 for (; o--;) "a" === (t = e[o]).name && "_blank" === t.attr("target") && t.attr("rel", (n = t.attr("rel"), r = n ? Yt.trim(n) : "", /\b(noopener)\b/g.test(r) ? r : r.split(" ").filter(function (e) { 10675 return 0 < e.length 10676 }).concat(["noopener"]).sort().join(" "))) 10677 }), p.allow_html_in_named_anchor || e.addAttributeFilter("id,name", function (e) { 10678 for (var t, n, r, o, i = e.length; i--;) 10679 if ("a" === (o = e[i]).name && o.firstChild && !o.attr("href")) 10680 for (r = o.parent, t = o.lastChild; n = t.prev, r.insert(t, o), t = n;); 10681 }), p.fix_list_elements && e.addNodeFilter("ul,ol", function (e) { 10682 for (var t, n, r = e.length; r--;) 10683 if ("ul" === (n = (t = e[r]).parent).name || "ol" === n.name) 10684 if (t.prev && "li" === t.prev.name) t.prev.append(t); 10685 else { 10686 var o = new ty("li", 1); 10687 o.attr("style", "list-style-type: none"), t.wrap(o) 10688 } 10689 }), p.validate && h.getValidClasses() && e.addAttributeFilter("class", function (e) { 10690 for (var t, n, r, o, i, a, u, s = e.length, c = h.getValidClasses(); s--;) { 10691 for (n = (t = e[s]).attr("class").split(" "), i = "", r = 0; r < n.length; r++) o = n[r], u = !1, (a = c["*"]) && a[o] && (u = !0), a = c[t.name], !u && a && a[o] && (u = !0), u && (i && (i += " "), i += o); 10692 i.length || (i = null), t.attr("class", i) 10693 } 10694 }) 10695 }, 10696 sy = Yt.makeMap, 10697 cy = Yt.each, 10698 ly = Yt.explode, 10699 fy = Yt.extend; 10700 10701 function dy(T, k) { 10702 void 0 === k && (k = ni()); 10703 var A = {}, 10704 _ = [], 10705 R = {}, 10706 D = {}; 10707 (T = T || {}).validate = !("validate" in T) || T.validate, T.root_name = T.root_name || "body"; 10708 var B = function (e) { 10709 var t, n, r; 10710 n in A && ((r = R[n]) ? r.push(e) : R[n] = [e]), t = _.length; 10711 for (; t--;)(n = _[t].name) in e.attributes.map && ((r = D[n]) ? r.push(e) : D[n] = [e]); 10712 return e 10713 }, 10714 e = { 10715 schema: k, 10716 addAttributeFilter: function (e, n) { 10717 cy(ly(e), function (e) { 10718 var t; 10719 for (t = 0; t < _.length; t++) 10720 if (_[t].name === e) return void _[t].callbacks.push(n); 10721 _.push({ 10722 name: e, 10723 callbacks: [n] 10724 }) 10725 }) 10726 }, 10727 getAttributeFilters: function () { 10728 return [].concat(_) 10729 }, 10730 addNodeFilter: function (e, n) { 10731 cy(ly(e), function (e) { 10732 var t = A[e]; 10733 t || (A[e] = t = []), t.push(n) 10734 }) 10735 }, 10736 getNodeFilters: function () { 10737 var e = []; 10738 for (var t in A) A.hasOwnProperty(t) && e.push({ 10739 name: t, 10740 callbacks: A[t] 10741 }); 10742 return e 10743 }, 10744 filterNode: B, 10745 parse: function (e, a) { 10746 var t, n, r, o, i, u, s, c, l, f, d, m = []; 10747 a = a || {}, R = {}, D = {}, l = fy(sy("script,style,head,html,body,title,meta,param"), k.getBlockElements()); 10748 var g = k.getNonEmptyElements(), 10749 p = k.children, 10750 h = T.validate, 10751 v = "forced_root_block" in a ? a.forced_root_block : T.forced_root_block, 10752 b = k.getWhiteSpaceElements(), 10753 y = /^[ \t\r\n]+/, 10754 C = /[ \t\r\n]+$/, 10755 x = /[ \t\r\n]+/g, 10756 w = /^[ \t\r\n]+$/; 10757 f = b.hasOwnProperty(a.context) || b.hasOwnProperty(T.root_name); 10758 var N = function (e, t) { 10759 var n, r = new ty(e, t); 10760 return e in A && ((n = R[e]) ? n.push(r) : R[e] = [r]), r 10761 }, 10762 E = function (e) { 10763 var t, n, r, o, i = k.getBlockElements(); 10764 for (t = e.prev; t && 3 === t.type;) { 10765 if (0 < (r = t.value.replace(C, "")).length) return void(t.value = r); 10766 if (n = t.next) { 10767 if (3 === n.type && n.value.length) { 10768 t = t.prev; 10769 continue 10770 } 10771 if (!i[n.name] && "script" !== n.name && "style" !== n.name) { 10772 t = t.prev; 10773 continue 10774 } 10775 } 10776 o = t.prev, t.remove(), t = o 10777 } 10778 }; 10779 t = uv({ 10780 validate: h, 10781 allow_script_urls: T.allow_script_urls, 10782 allow_conditional_comments: T.allow_conditional_comments, 10783 self_closing_elements: function (e) { 10784 var t, n = {}; 10785 for (t in e) "li" !== t && "p" !== t && (n[t] = e[t]); 10786 return n 10787 }(k.getSelfClosingElements()), 10788 cdata: function (e) { 10789 d.append(N("#cdata", 4)).value = e 10790 }, 10791 text: function (e, t) { 10792 var n; 10793 f || (e = e.replace(x, " "), ay(d.lastChild, l) && (e = e.replace(y, ""))), 0 !== e.length && ((n = N("#text", 3)).raw = !!t, d.append(n).value = e) 10794 }, 10795 comment: function (e) { 10796 d.append(N("#comment", 8)).value = e 10797 }, 10798 pi: function (e, t) { 10799 d.append(N(e, 7)).value = t, E(d) 10800 }, 10801 doctype: function (e) { 10802 d.append(N("#doctype", 10)).value = e, E(d) 10803 }, 10804 start: function (e, t, n) { 10805 var r, o, i, a, u; 10806 if (i = h ? k.getElementRule(e) : {}) { 10807 for ((r = N(i.outputName || e, 1)).attributes = t, r.shortEnded = n, d.append(r), (u = p[d.name]) && p[r.name] && !u[r.name] && m.push(r), o = _.length; o--;)(a = _[o].name) in t.map && ((s = D[a]) ? s.push(r) : D[a] = [r]); 10808 l[e] && E(r), n || (d = r), !f && b[e] && (f = !0) 10809 } 10810 }, 10811 end: function (e) { 10812 var t, n, r, o, i; 10813 if (n = h ? k.getElementRule(e) : {}) { 10814 if (l[e] && !f) { 10815 if ((t = d.firstChild) && 3 === t.type) 10816 if (0 < (r = t.value.replace(y, "")).length) t.value = r, t = t.next; 10817 else 10818 for (o = t.next, t.remove(), t = o; t && 3 === t.type;) r = t.value, o = t.next, (0 === r.length || w.test(r)) && (t.remove(), t = o), t = o; 10819 if ((t = d.lastChild) && 3 === t.type) 10820 if (0 < (r = t.value.replace(C, "")).length) t.value = r, t = t.prev; 10821 else 10822 for (o = t.prev, t.remove(), t = o; t && 3 === t.type;) r = t.value, o = t.prev, (0 === r.length || w.test(r)) && (t.remove(), t = o), t = o 10823 } 10824 if (f && b[e] && (f = !1), n.removeEmpty && iy(k, g, b, d) && !d.attributes.map.name && !d.attr("id")) return i = d.parent, l[d.name] ? d.empty().remove() : d.unwrap(), void(d = i); 10825 n.paddEmpty && (ry(d) || iy(k, g, b, d)) && ny(T, a, l, d), d = d.parent 10826 } 10827 } 10828 }, k); 10829 var S = d = new ty(a.context || T.root_name, 11); 10830 if (t.parse(e), h && m.length && (a.context ? a.invalid = !0 : function (e) { 10831 var t, n, r, o, i, a, u, s, c, l, f, d, m, g, p, h; 10832 for (d = sy("tr,td,th,tbody,thead,tfoot,table"), l = k.getNonEmptyElements(), f = k.getWhiteSpaceElements(), m = k.getTextBlockElements(), g = k.getSpecialElements(), t = 0; t < e.length; t++) 10833 if ((n = e[t]).parent && !n.fixed) 10834 if (m[n.name] && "li" === n.parent.name) { 10835 for (p = n.next; p && m[p.name];) p.name = "li", p.fixed = !0, n.parent.insert(p, n.parent), p = p.next; 10836 n.unwrap(n) 10837 } else { 10838 for (o = [n], r = n.parent; r && !k.isValidChild(r.name, n.name) && !d[r.name]; r = r.parent) o.push(r); 10839 if (r && 1 < o.length) { 10840 for (o.reverse(), i = a = B(o[0].clone()), c = 0; c < o.length - 1; c++) { 10841 for (k.isValidChild(a.name, o[c].name) ? (u = B(o[c].clone()), a.append(u)) : u = a, s = o[c].firstChild; s && s !== o[c + 1];) h = s.next, u.append(s), s = h; 10842 a = u 10843 } 10844 iy(k, l, f, i) ? r.insert(n, o[0], !0) : (r.insert(i, o[0], !0), r.insert(n, i)), r = o[0], (iy(k, l, f, r) || oy(r, "br")) && r.empty().remove() 10845 } else if (n.parent) { 10846 if ("li" === n.name) { 10847 if ((p = n.prev) && ("ul" === p.name || "ul" === p.name)) { 10848 p.append(n); 10849 continue 10850 } 10851 if ((p = n.next) && ("ul" === p.name || "ul" === p.name)) { 10852 p.insert(n, p.firstChild, !0); 10853 continue 10854 } 10855 n.wrap(B(new ty("ul", 1))); 10856 continue 10857 } 10858 k.isValidChild(n.parent.name, "div") && k.isValidChild("div", n.name) ? n.wrap(B(new ty("div", 1))) : g[n.name] ? n.empty().remove() : n.unwrap() 10859 } 10860 } 10861 }(m)), v && ("body" === S.name || a.isRootContent) && function () { 10862 var e, t, n = S.firstChild, 10863 r = function (e) { 10864 e && ((n = e.firstChild) && 3 === n.type && (n.value = n.value.replace(y, "")), (n = e.lastChild) && 3 === n.type && (n.value = n.value.replace(C, ""))) 10865 }; 10866 if (k.isValidChild(S.name, v.toLowerCase())) { 10867 for (; n;) e = n.next, 3 === n.type || 1 === n.type && "p" !== n.name && !l[n.name] && !n.attr("data-mce-type") ? (t || ((t = N(v, 1)).attr(T.forced_root_block_attrs), S.insert(t, n)), t.append(n)) : (r(t), t = null), n = e; 10868 r(t) 10869 } 10870 }(), !a.invalid) { 10871 for (c in R) { 10872 for (s = A[c], i = (n = R[c]).length; i--;) n[i].parent || n.splice(i, 1); 10873 for (r = 0, o = s.length; r < o; r++) s[r](n, c, a) 10874 } 10875 for (r = 0, o = _.length; r < o; r++) 10876 if ((s = _[r]).name in D) { 10877 for (i = (n = D[s.name]).length; i--;) n[i].parent || n.splice(i, 1); 10878 for (i = 0, u = s.callbacks.length; i < u; i++) s.callbacks[i](n, s.name, a) 10879 } 10880 } 10881 return S 10882 } 10883 }; 10884 return uy(e, T), Jb.register(e, T), e 10885 } 10886 var my = function (e, t, n) { 10887 -1 === Yt.inArray(t, n) && (e.addAttributeFilter(n, function (e, t) { 10888 for (var n = e.length; n--;) e[n].attr(t, null) 10889 }), t.push(n)) 10890 }, 10891 gy = function (e, t, n) { 10892 var r = Na(n.getInner ? t.innerHTML : e.getOuterHTML(t)); 10893 return n.selection || Co(er.fromDom(t)) ? r : Yt.trim(r) 10894 }, 10895 py = function (e, t, n) { 10896 var r = n.selection ? Wb({ 10897 forced_root_block: !1 10898 }, n) : n, 10899 o = e.parse(t, r); 10900 return Kb.trimTrailingBr(o), o 10901 }, 10902 hy = function (e, t, n, r, o) { 10903 var i, a, u, s, c = (i = r, lf(t, n).serialize(i)); 10904 return a = e, s = c, !(u = o).no_events && a ? np(a, Wb(u, { 10905 content: s 10906 })).content : s 10907 }; 10908 10909 function vy(e, t) { 10910 var a, u, s, c, l, n, r = (a = e, n = ["data-mce-selected"], s = (u = t) && u.dom ? u.dom : pi.DOM, c = u && u.schema ? u.schema : ni(a), a.entity_encoding = a.entity_encoding || "named", a.remove_trailing_brs = !("remove_trailing_brs" in a) || a.remove_trailing_brs, l = dy(a, c), Kb.register(l, a, s), { 10911 schema: c, 10912 addNodeFilter: l.addNodeFilter, 10913 addAttributeFilter: l.addAttributeFilter, 10914 serialize: function (e, t) { 10915 var n = Wb({ 10916 format: "html" 10917 }, t || {}), 10918 r = Xb.process(u, e, n), 10919 o = gy(s, r, n), 10920 i = py(l, o, n); 10921 return "tree" === n.format ? i : hy(u, a, c, i, n) 10922 }, 10923 addRules: function (e) { 10924 c.addValidElements(e) 10925 }, 10926 setRules: function (e) { 10927 c.setValidElements(e) 10928 }, 10929 addTempAttr: b(my, l, n), 10930 getTempAttrs: function () { 10931 return n 10932 } 10933 }); 10934 return { 10935 schema: r.schema, 10936 addNodeFilter: r.addNodeFilter, 10937 addAttributeFilter: r.addAttributeFilter, 10938 serialize: r.serialize, 10939 addRules: r.addRules, 10940 setRules: r.setRules, 10941 addTempAttr: r.addTempAttr, 10942 getTempAttrs: r.getTempAttrs 10943 } 10944 } 10945 10946 function by(e) { 10947 return { 10948 getBookmark: b(yl, e), 10949 moveToBookmark: b(Cl, e) 10950 } 10951 }(by || (by = {})).isBookmarkNode = xl; 10952 var yy = by, 10953 Cy = Do.isContentEditableFalse, 10954 xy = Do.isContentEditableTrue, 10955 wy = function (r, a) { 10956 var u, s, c, l, f, d, m, g, p, h, v, b, i, y, C, x, w, N = a.dom, 10957 E = Yt.each, 10958 S = a.getDoc(), 10959 T = document, 10960 k = Math.abs, 10961 A = Math.round, 10962 _ = a.getBody(); 10963 l = { 10964 nw: [0, 0, -1, -1], 10965 ne: [1, 0, 1, -1], 10966 se: [1, 1, 1, 1], 10967 sw: [0, 1, -1, 1] 10968 }; 10969 var e = ".mce-content-body"; 10970 a.contentStyles.push(e + " div.mce-resizehandle {position: absolute;border: 1px solid black;box-sizing: content-box;background: #FFF;width: 7px;height: 7px;z-index: 10000}" + e + " .mce-resizehandle:hover {background: #000}" + e + " img[data-mce-selected]," + e + " hr[data-mce-selected] {outline: 1px solid black;resize: none}" + e + " .mce-clonedresizable {position: absolute;" + (Re.gecko ? "" : "outline: 1px dashed black;") + "opacity: .5;filter: alpha(opacity=50);z-index: 10000}" + e + " .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}"); 10971 var R = function (e) { 10972 return e && ("IMG" === e.nodeName || a.dom.is(e, "figure.image")) 10973 }, 10974 n = function (e) { 10975 var t, n, r = e.target; 10976 t = e, n = a.selection.getRng(), !R(t.target) || Gh(t.clientX, t.clientY, n) || e.isDefaultPrevented() || (e.preventDefault(), a.selection.select(r)) 10977 }, 10978 D = function (e) { 10979 return a.dom.is(e, "figure.image") ? e.querySelector("img") : e 10980 }, 10981 B = function (e) { 10982 var t = a.settings.object_resizing; 10983 return !1 !== t && !Re.iOS && ("string" != typeof t && (t = "table,img,figure.image,div"), "false" !== e.getAttribute("data-mce-resize") && e !== a.getBody() && Lr.is(er.fromDom(e), t)) 10984 }, 10985 O = function (e) { 10986 var t, n, r, o; 10987 t = e.screenX - d, n = e.screenY - m, y = t * f[2] + h, C = n * f[3] + v, y = y < 5 ? 5 : y, C = C < 5 ? 5 : C, (R(u) && !1 !== a.settings.resize_img_proportional ? !Qh.modifierPressed(e) : Qh.modifierPressed(e) || R(u) && f[2] * f[3] != 0) && (k(t) > k(n) ? (C = A(y * b), y = A(C / b)) : (y = A(C / b), C = A(y * b))), N.setStyles(D(s), { 10988 width: y, 10989 height: C 10990 }), r = 0 < (r = f.startPos.x + t) ? r : 0, o = 0 < (o = f.startPos.y + n) ? o : 0, N.setStyles(c, { 10991 left: r, 10992 top: o, 10993 display: "block" 10994 }), c.innerHTML = y + " × " + C, f[2] < 0 && s.clientWidth <= y && N.setStyle(s, "left", g + (h - y)), f[3] < 0 && s.clientHeight <= C && N.setStyle(s, "top", p + (v - C)), (t = _.scrollWidth - x) + (n = _.scrollHeight - w) != 0 && N.setStyles(c, { 10995 left: r - t, 10996 top: o - n 10997 }), i || (ip(a, u, h, v), i = !0) 10998 }, 10999 P = function () { 11000 i = !1; 11001 var e = function (e, t) { 11002 t && (u.style[e] || !a.schema.isValid(u.nodeName.toLowerCase(), e) ? N.setStyle(D(u), e, t) : N.setAttrib(D(u), e, t)) 11003 }; 11004 e("width", y), e("height", C), N.unbind(S, "mousemove", O), N.unbind(S, "mouseup", P), T !== S && (N.unbind(T, "mousemove", O), N.unbind(T, "mouseup", P)), N.remove(s), N.remove(c), o(u), ap(a, u, y, C), N.setAttrib(u, "style", N.getAttrib(u, "style")), a.nodeChanged() 11005 }, 11006 o = function (e) { 11007 var t, r, o, n, i; 11008 L(), F(), t = N.getPos(e, _), g = t.x, p = t.y, i = e.getBoundingClientRect(), r = i.width || i.right - i.left, o = i.height || i.bottom - i.top, u !== e && (u = e, y = C = 0), n = a.fire("ObjectSelected", { 11009 target: e 11010 }), B(e) && !n.isDefaultPrevented() ? E(l, function (n, e) { 11011 var t; 11012 (t = N.get("mceResizeHandle" + e)) && N.remove(t), t = N.add(_, "div", { 11013 id: "mceResizeHandle" + e, 11014 "data-mce-bogus": "all", 11015 "class": "mce-resizehandle", 11016 unselectable: !0, 11017 style: "cursor:" + e + "-resize; margin:0; padding:0" 11018 }), 11 === Re.ie && (t.contentEditable = !1), N.bind(t, "mousedown", function (e) { 11019 var t; 11020 e.stopImmediatePropagation(), e.preventDefault(), d = (t = e).screenX, m = t.screenY, h = D(u).clientWidth, v = D(u).clientHeight, b = v / h, (f = n).startPos = { 11021 x: r * n[0] + g, 11022 y: o * n[1] + p 11023 }, x = _.scrollWidth, w = _.scrollHeight, s = u.cloneNode(!0), N.addClass(s, "mce-clonedresizable"), N.setAttrib(s, "data-mce-bogus", "all"), s.contentEditable = !1, s.unSelectabe = !0, N.setStyles(s, { 11024 left: g, 11025 top: p, 11026 margin: 0 11027 }), s.removeAttribute("data-mce-selected"), _.appendChild(s), N.bind(S, "mousemove", O), N.bind(S, "mouseup", P), T !== S && (N.bind(T, "mousemove", O), N.bind(T, "mouseup", P)), c = N.add(_, "div", { 11028 "class": "mce-resize-helper", 11029 "data-mce-bogus": "all" 11030 }, h + " × " + v) 11031 }), n.elm = t, N.setStyles(t, { 11032 left: r * n[0] + g - t.offsetWidth / 2, 11033 top: o * n[1] + p - t.offsetHeight / 2 11034 }) 11035 }) : L(), u.setAttribute("data-mce-selected", "1") 11036 }, 11037 L = function () { 11038 var e, t; 11039 for (e in F(), u && u.removeAttribute("data-mce-selected"), l)(t = N.get("mceResizeHandle" + e)) && (N.unbind(t), N.remove(t)) 11040 }, 11041 I = function (e) { 11042 var t, n = function (e, t) { 11043 if (e) 11044 do { 11045 if (e === t) return !0 11046 } while (e = e.parentNode) 11047 }; 11048 i || a.removed || (E(N.select("img[data-mce-selected],hr[data-mce-selected]"), function (e) { 11049 e.removeAttribute("data-mce-selected") 11050 }), t = "mousedown" === e.type ? e.target : r.getNode(), n(t = N.$(t).closest("table,img,figure.image,hr")[0], _) && (U(), n(r.getStart(!0), t) && n(r.getEnd(!0), t)) ? o(t) : L()) 11051 }, 11052 M = function (e) { 11053 return Cy(function (e, t) { 11054 for (; t && t !== e;) { 11055 if (xy(t) || Cy(t)) return t; 11056 t = t.parentNode 11057 } 11058 return null 11059 }(a.getBody(), e)) 11060 }, 11061 F = function () { 11062 for (var e in l) { 11063 var t = l[e]; 11064 t.elm && (N.unbind(t.elm), delete t.elm) 11065 } 11066 }, 11067 U = function () { 11068 try { 11069 a.getDoc().execCommand("enableObjectResizing", !1, !1) 11070 } catch (e) {} 11071 }; 11072 return a.on("init", function () { 11073 U(), Re.ie && 11 <= Re.ie && (a.on("mousedown click", function (e) { 11074 var t = e.target, 11075 n = t.nodeName; 11076 i || !/^(TABLE|IMG|HR)$/.test(n) || M(t) || (2 !== e.button && a.selection.select(t, "TABLE" === n), "mousedown" === e.type && a.nodeChanged()) 11077 }), a.dom.bind(_, "mscontrolselect", function (e) { 11078 var t = function (e) { 11079 Le.setEditorTimeout(a, function () { 11080 a.selection.select(e) 11081 }) 11082 }; 11083 if (M(e.target)) return e.preventDefault(), void t(e.target); 11084 /^(TABLE|IMG|HR)$/.test(e.target.nodeName) && (e.preventDefault(), "IMG" === e.target.tagName && t(e.target)) 11085 })); 11086 var t = Le.throttle(function (e) { 11087 a.composing || I(e) 11088 }); 11089 a.on("nodechange ResizeEditor ResizeWindow drop FullscreenStateChanged", t), a.on("keyup compositionend", function (e) { 11090 u && "TABLE" === u.nodeName && t(e) 11091 }), a.on("hide blur", L), a.on("contextmenu", n) 11092 }), a.on("remove", F), { 11093 isResizable: B, 11094 showResizeRect: o, 11095 hideResizeRect: L, 11096 updateResizeRect: I, 11097 destroy: function () { 11098 u = s = null 11099 } 11100 } 11101 }, 11102 Ny = function (e) { 11103 return Do.isContentEditableTrue(e) || Do.isContentEditableFalse(e) 11104 }, 11105 Ey = function (e, t, n) { 11106 var r, o, i, a, u, s = n; 11107 if (s.caretPositionFromPoint)(o = s.caretPositionFromPoint(e, t)) && ((r = n.createRange()).setStart(o.offsetNode, o.offset), r.collapse(!0)); 11108 else if (n.caretRangeFromPoint) r = n.caretRangeFromPoint(e, t); 11109 else if (s.body.createTextRange) { 11110 r = s.body.createTextRange(); 11111 try { 11112 r.moveToPoint(e, t), r.collapse(!0) 11113 } catch (c) { 11114 r = function (e, n, t) { 11115 var r, o, i; 11116 if (r = t.elementFromPoint(e, n), o = t.body.createTextRange(), r && "HTML" !== r.tagName || (r = t.body), o.moveToElementText(r), 0 < (i = (i = Yt.toArray(o.getClientRects())).sort(function (e, t) { 11117 return (e = Math.abs(Math.max(e.top - n, e.bottom - n))) - (t = Math.abs(Math.max(t.top - n, t.bottom - n))) 11118 })).length) { 11119 n = (i[0].bottom + i[0].top) / 2; 11120 try { 11121 return o.moveToPoint(e, n), o.collapse(!0), o 11122 } catch (a) {} 11123 } 11124 return null 11125 }(e, t, n) 11126 } 11127 return i = r, a = n.body, u = i && i.parentElement ? i.parentElement() : null, Do.isContentEditableFalse(function (e, t, n) { 11128 for (; e && e !== t;) { 11129 if (n(e)) return e; 11130 e = e.parentNode 11131 } 11132 return null 11133 }(u, a, Ny)) ? null : i 11134 } 11135 return r 11136 }, 11137 Sy = function (n, e) { 11138 return $(e, function (e) { 11139 var t = n.fire("GetSelectionRange", { 11140 range: e 11141 }); 11142 return t.range !== e ? t.range : e 11143 }) 11144 }, 11145 Ty = function (e, t) { 11146 var n = (t || document).createDocumentFragment(); 11147 return F(e, function (e) { 11148 n.appendChild(e.dom()) 11149 }), er.fromDom(n) 11150 }, 11151 ky = kr("element", "width", "rows"), 11152 Ay = kr("element", "cells"), 11153 _y = kr("x", "y"), 11154 Ry = function (e, t) { 11155 var n = parseInt(hr.get(e, t), 10); 11156 return isNaN(n) ? 1 : n 11157 }, 11158 Dy = function (e) { 11159 return z(e, function (e, t) { 11160 return t.cells().length > e ? t.cells().length : e 11161 }, 0) 11162 }, 11163 By = function (e, t) { 11164 for (var n = e.rows(), r = 0; r < n.length; r++) 11165 for (var o = n[r].cells(), i = 0; i < o.length; i++) 11166 if (Fr.eq(o[i], t)) return A.some(_y(i, r)); 11167 return A.none() 11168 }, 11169 Oy = function (e, t, n, r, o) { 11170 for (var i = [], a = e.rows(), u = n; u <= o; u++) { 11171 var s = a[u].cells(), 11172 c = t < r ? s.slice(t, r + 1) : s.slice(r, t + 1);
11173 i.push(Ay(a[u].element(), c)) 11174 } 11175 return i 11176 }, 11177 Py = function (e) { 11178 var o = ky(pa(e), 0, []); 11179 return F(Ki(e, "tr"), function (n, r) { 11180 F(Ki(n, "td,th"), function (e, t) { 11181 ! function (e, t, n, r, o) { 11182 for (var i = Ry(o, "rowspan"), a = Ry(o, "colspan"), u = e.rows(), s = n; s < n + i; s++) { 11183 u[s] || (u[s] = Ay(ha(r), [])); 11184 for (var c = t; c < t + a; c++) u[s].cells()[c] = s === n && c === t ? o : pa(o) 11185 } 11186 }(o, function (e, t, n) { 11187 for (; r = t, o = n, i = void 0, ((i = e.rows())[o] ? i[o].cells() : [])[r];) t++; 11188 var r, o, i; 11189 return t 11190 }(o, t, r), r, n, e) 11191 }) 11192 }), ky(o.element(), Dy(o.rows()), o.rows()) 11193 }, 11194 Ly = function (e) { 11195 return n = $((t = e).rows(), function (e) { 11196 var t = $(e.cells(), function (e) { 11197 var t = ha(e); 11198 return hr.remove(t, "colspan"), hr.remove(t, "rowspan"), t 11199 }), 11200 n = pa(e.element()); 11201 return Ai(n, t), n 11202 }), r = pa(t.element()), o = er.fromTag("tbody"), Ai(o, n), Ti.append(r, o), r; 11203 var t, n, r, o 11204 }, 11205 Iy = function (l, e, t) { 11206 return By(l, e).bind(function (c) { 11207 return By(l, t).map(function (e) { 11208 return t = l, r = e, o = (n = c).x(), i = n.y(), a = r.x(), u = r.y(), s = i < u ? Oy(t, o, i, a, u) : Oy(t, o, u, a, i), ky(t.element(), Dy(s), s); 11209 var t, n, r, o, i, a, u, s 11210 }) 11211 }) 11212 }, 11213 My = function (n, t) { 11214 return V(n, function (e) { 11215 return "li" === sr.name(e) && Ch(e, t) 11216 }).fold(H([]), function (e) { 11217 return (t = n, V(t, function (e) { 11218 return "ul" === sr.name(e) || "ol" === sr.name(e) 11219 })).map(function (e) { 11220 return [er.fromTag("li"), er.fromTag(sr.name(e))] 11221 }).getOr([]); 11222 var t 11223 }) 11224 }, 11225 Fy = function (e, t) { 11226 var n, r = er.fromDom(t.commonAncestorContainer), 11227 o = Yf(r, e), 11228 i = U(o, function (e) { 11229 return fo(e) || co(e) 11230 }), 11231 a = My(o, t), 11232 u = i.concat(a.length ? a : ho(n = r) ? $r.parent(n).filter(po).fold(H([]), function (e) { 11233 return [n, e] 11234 }) : po(n) ? [n] : []); 11235 return $(u, pa) 11236 }, 11237 Uy = function () { 11238 return Ty([]) 11239 }, 11240 zy = function (e, t) { 11241 return n = er.fromDom(t.cloneContents()), r = Fy(e, t), o = z(r, function (e, t) { 11242 return Ti.append(t, e), t 11243 }, n), 0 < r.length ? Ty([o]) : o; 11244 var n, r, o 11245 }, 11246 Vy = function (e, o) { 11247 return (t = e, n = o[0], ta(n, "table", b(Fr.eq, t))).bind(function (e) { 11248 var t = o[0], 11249 n = o[o.length - 1], 11250 r = Py(e); 11251 return Iy(r, t, n).map(function (e) { 11252 return Ty([Ly(e)]) 11253 }) 11254 }).getOrThunk(Uy); 11255 var t, n 11256 }, 11257 qy = function (e, t) { 11258 var n, r, o = zm(t, e); 11259 return 0 < o.length ? Vy(e, o) : (n = e, 0 < (r = t).length && r[0].collapsed ? Uy() : zy(n, r[0])) 11260 }, 11261 Hy = function (e, t) { 11262 var n, r = e.selection.getRng(), 11263 o = e.dom.create("body"), 11264 i = e.selection.getSel(), 11265 a = Sy(e, Pm(i)); 11266 if ((t = t || {}).get = !0, t.format = t.format || "html", t.selection = !0, (t = e.fire("BeforeGetContent", t)).isDefaultPrevented()) return e.fire("GetContent", t), t.content; 11267 if ("text" === t.format) return e.selection.isCollapsed() ? "" : Na(r.text || (i.toString ? i.toString() : "")); 11268 r.cloneContents ? (n = t.contextual ? qy(er.fromDom(e.getBody()), a).dom() : r.cloneContents()) && o.appendChild(n) : r.item !== undefined || r.htmlText !== undefined ? (o.innerHTML = "<br>" + (r.item ? r.item(0).outerHTML : r.htmlText), o.removeChild(o.firstChild)) : o.innerHTML = r.toString(), t.getInner = !0;
vendor: 35,107 bytes, lines 11269-11969
11269 var u = e.selection.serializer.serialize(o, t); 11270 return "tree" === t.format ? u : (t.content = e.selection.isCollapsed() ? "" : u, e.fire("GetContent", t), t.content) 11271 }, 11272 jy = function (e, t, n) { 11273 var r, o, i, a = e.selection.getRng(), 11274 u = e.getDoc(); 11275 if ((n = n || { 11276 format: "html" 11277 }).set = !0, n.selection = !0, n.content = t, n.no_events || !(n = e.fire("BeforeSetContent", n)).isDefaultPrevented()) { 11278 if (t = n.content, a.insertNode) { 11279 t += '<span id="__caret">_</span>', a.startContainer === u && a.endContainer === u ? u.body.innerHTML = t : (a.deleteContents(), 0 === u.body.childNodes.length ? u.body.innerHTML = t : a.createContextualFragment ? a.insertNode(a.createContextualFragment(t)) : (o = u.createDocumentFragment(), i = u.createElement("div"), o.appendChild(i), i.outerHTML = t, a.insertNode(o))), r = e.dom.get("__caret"), (a = u.createRange()).setStartBefore(r), a.setEndBefore(r), e.selection.setRng(a), e.dom.remove("__caret"); 11280 try { 11281 e.selection.setRng(a) 11282 } catch (s) {} 11283 } else a.item && (u.execCommand("Delete", !1, null), a = e.getRng()), /^\s+/.test(t) ? (a.pasteHTML('<span id="__mce_tmp">_</span>' + t), e.dom.remove("__mce_tmp")) : a.pasteHTML(t); 11284 n.no_events || e.fire("SetContent", n) 11285 } else e.fire("SetContent", n) 11286 }, 11287 $y = function (e, t, n, r, o) { 11288 var i = n ? t.startContainer : t.endContainer, 11289 a = n ? t.startOffset : t.endOffset; 11290 return A.from(i).map(er.fromDom).map(function (e) { 11291 return r && t.collapsed ? e : $r.child(e, o(e, a)).getOr(e) 11292 }).bind(function (e) { 11293 return sr.isElement(e) ? A.some(e) : $r.parent(e) 11294 }).map(function (e) { 11295 return e.dom() 11296 }).getOr(e) 11297 }, 11298 Wy = function (e, t, n) { 11299 return $y(e, t, !0, n, function (e, t) { 11300 return Math.min($r.childNodesCount(e), t) 11301 }) 11302 }, 11303 Ky = function (e, t, n) { 11304 return $y(e, t, !1, n, function (e, t) { 11305 return 0 < t ? t - 1 : t 11306 }) 11307 }, 11308 Xy = function (e, t) { 11309 for (var n = e; e && Do.isText(e) && 0 === e.length;) e = t ? e.nextSibling : e.previousSibling; 11310 return e || n 11311 }, 11312 Yy = Yt.each, 11313 Gy = function (e) { 11314 return !!e.select 11315 }, 11316 Jy = function (e) { 11317 return !(!e || !e.ownerDocument) && Fr.contains(er.fromDom(e.ownerDocument), er.fromDom(e)) 11318 }, 11319 Qy = function (u, s, e, c) { 11320 var n, t, l, f, a, r = function (e, t) { 11321 return jy(c, e, t) 11322 }, 11323 o = function (e) { 11324 var t = m(); 11325 t.collapse(!!e), i(t) 11326 }, 11327 d = function () { 11328 return s.getSelection ? s.getSelection() : s.document.selection 11329 }, 11330 m = function () { 11331 var e, t, n, r, o = function (e, t, n) { 11332 try { 11333 return t.compareBoundaryPoints(e, n) 11334 } catch (r) { 11335 return -1 11336 } 11337 }; 11338 if (!s) return null; 11339 if (null == (r = s.document)) return null; 11340 if (c.bookmark !== undefined && !1 === Dp(c)) { 11341 var i = Hg(c); 11342 if (i.isSome()) return i.map(function (e) { 11343 return Sy(c, [e])[0] 11344 }).getOr(r.createRange()) 11345 } 11346 try { 11347 (e = d()) && (t = 0 < e.rangeCount ? e.getRangeAt(0) : e.createRange ? e.createRange() : r.createRange()) 11348 } catch (a) {} 11349 return (t = Sy(c, [t])[0]) || (t = r.createRange ? r.createRange() : r.body.createTextRange()), t.setStart && 9 === t.startContainer.nodeType && t.collapsed && (n = u.getRoot(), t.setStart(n, 0), t.setEnd(n, 0)), l && f && (0 === o(t.START_TO_START, t, l) && 0 === o(t.END_TO_END, t, l) ? t = f : f = l = null), t 11350 }, 11351 i = function (e, t) { 11352 var n, r; 11353 if ((o = e) && (Gy(o) || Jy(o.startContainer) && Jy(o.endContainer))) { 11354 var o, i = Gy(e) ? e : null; 11355 if (i) { 11356 f = null; 11357 try { 11358 i.select() 11359 } catch (a) {} 11360 } else { 11361 if (n = d(), e = c.fire("SetSelectionRange", { 11362 range: e, 11363 forward: t 11364 }).range, n) { 11365 f = e; 11366 try { 11367 n.removeAllRanges(), n.addRange(e) 11368 } catch (a) {}!1 === t && n.extend && (n.collapse(e.endContainer, e.endOffset), n.extend(e.startContainer, e.startOffset)), l = 0 < n.rangeCount ? n.getRangeAt(0) : null 11369 } 11370 e.collapsed || e.startContainer !== e.endContainer || !n.setBaseAndExtent || Re.ie || e.endOffset - e.startOffset < 2 && e.startContainer.hasChildNodes() && (r = e.startContainer.childNodes[e.startOffset]) && "IMG" === r.tagName && (n.setBaseAndExtent(e.startContainer, e.startOffset, e.endContainer, e.endOffset), n.anchorNode === e.startContainer && n.focusNode === e.endContainer || n.setBaseAndExtent(r, 0, r, 1)), c.fire("AfterSetSelectionRange", { 11371 range: e, 11372 forward: t 11373 }) 11374 } 11375 } 11376 }, 11377 g = function () { 11378 var e, t, n = d(); 11379 return !(n && n.anchorNode && n.focusNode) || ((e = u.createRng()).setStart(n.anchorNode, n.anchorOffset), e.collapse(!0), (t = u.createRng()).setStart(n.focusNode, n.focusOffset), t.collapse(!0), e.compareBoundaryPoints(e.START_TO_START, t) <= 0) 11380 }, 11381 p = { 11382 bookmarkManager: null, 11383 controlSelection: null, 11384 dom: u, 11385 win: s, 11386 serializer: e, 11387 editor: c, 11388 collapse: o, 11389 setCursorLocation: function (e, t) { 11390 var n = u.createRng(); 11391 e ? (n.setStart(e, t), n.setEnd(e, t), i(n), o(!1)) : (xh(u, n, c.getBody(), !0), i(n)) 11392 }, 11393 getContent: function (e) { 11394 return Hy(c, e) 11395 }, 11396 setContent: r, 11397 getBookmark: function (e, t) { 11398 return n.getBookmark(e, t) 11399 }, 11400 moveToBookmark: function (e) { 11401 return n.moveToBookmark(e) 11402 }, 11403 select: function (e, t) { 11404 var r, n, o; 11405 return (r = u, n = e, o = t, A.from(n).map(function (e) { 11406 var t = r.nodeIndex(e), 11407 n = r.createRng(); 11408 return n.setStart(e.parentNode, t), n.setEnd(e.parentNode, t + 1), o && (xh(r, n, e, !0), xh(r, n, e, !1)), n 11409 })).each(i), e 11410 }, 11411 isCollapsed: function () { 11412 var e = m(), 11413 t = d(); 11414 return !(!e || e.item) && (e.compareEndPoints ? 0 === e.compareEndPoints("StartToEnd", e) : !t || e.collapsed) 11415 }, 11416 isForward: g, 11417 setNode: function (e) { 11418 return r(u.getOuterHTML(e)), e 11419 }, 11420 getNode: function () { 11421 return e = c.getBody(), (t = m()) ? (r = t.startContainer, o = t.endContainer, i = t.startOffset, a = t.endOffset, n = t.commonAncestorContainer, !t.collapsed && (r === o && a - i < 2 && r.hasChildNodes() && (n = r.childNodes[i]), 3 === r.nodeType && 3 === o.nodeType && (r = r.length === i ? Xy(r.nextSibling, !0) : r.parentNode, o = 0 === a ? Xy(o.previousSibling, !1) : o.parentNode, r && r === o)) ? r : n && 3 === n.nodeType ? n.parentNode : n) : e; 11422 var e, t, n, r, o, i, a 11423 }, 11424 getSel: d, 11425 setRng: i, 11426 getRng: m, 11427 getStart: function (e) { 11428 return Wy(c.getBody(), m(), e) 11429 }, 11430 getEnd: function (e) { 11431 return Ky(c.getBody(), m(), e) 11432 }, 11433 getSelectedBlocks: function (e, t) { 11434 return function (e, t, n, r) { 11435 var o, i, a = []; 11436 if (i = e.getRoot(), n = e.getParent(n || Wy(i, t, t.collapsed), e.isBlock), r = e.getParent(r || Ky(i, t, t.collapsed), e.isBlock), n && n !== i && a.push(n), n && r && n !== r) 11437 for (var u = new oo(o = n, i); 11438 (o = u.next()) && o !== r;) e.isBlock(o) && a.push(o); 11439 return r && n !== r && r !== i && a.push(r), a 11440 }(u, m(), e, t) 11441 }, 11442 normalize: function () { 11443 var e = m(), 11444 t = d(); 11445 if (!Im(t) && wh(c)) { 11446 var n = mg(u, e); 11447 return n.each(function (e) { 11448 i(e, g()) 11449 }), n.getOr(e) 11450 } 11451 return e 11452 }, 11453 selectorChanged: function (e, t) { 11454 var i; 11455 return a || (a = {}, i = {}, c.on("NodeChange", function (e) { 11456 var n = e.element, 11457 r = u.getParents(n, null, u.getRoot()), 11458 o = {}; 11459 Yy(a, function (e, n) { 11460 Yy(r, function (t) { 11461 if (u.is(t, n)) return i[n] || (Yy(e, function (e) { 11462 e(!0, { 11463 node: t, 11464 selector: n, 11465 parents: r 11466 }) 11467 }), i[n] = e), o[n] = e, !1 11468 }) 11469 }), Yy(i, function (e, t) { 11470 o[t] || (delete i[t], Yy(e, function (e) { 11471 e(!1, { 11472 node: n, 11473 selector: t, 11474 parents: r 11475 }) 11476 })) 11477 }) 11478 })), a[e] || (a[e] = []), a[e].push(t), p 11479 }, 11480 getScrollContainer: function () { 11481 for (var e, t = u.getRoot(); t && "BODY" !== t.nodeName;) { 11482 if (t.scrollHeight > t.clientHeight) { 11483 e = t; 11484 break 11485 } 11486 t = t.parentNode 11487 } 11488 return e 11489 }, 11490 scrollIntoView: function (e, t) { 11491 return js(c, e, t) 11492 }, 11493 placeCaretAt: function (e, t) { 11494 return i(Ey(e, t, c.getDoc())) 11495 }, 11496 getBoundingClientRect: function () { 11497 var e = m(); 11498 return e.collapsed ? Su.fromRangeStart(e).getClientRects()[0] : e.getBoundingClientRect() 11499 }, 11500 destroy: function () { 11501 s = l = f = null, t.destroy() 11502 } 11503 }; 11504 return n = yy(p), t = wy(p, c), p.bookmarkManager = n, p.controlSelection = t, p 11505 }, 11506 Zy = Do.isContentEditableFalse, 11507 eC = Za, 11508 tC = nl, 11509 nC = tl, 11510 rC = function (e, t) { 11511 for (; t = e(t);) 11512 if (t.isVisible()) return t; 11513 return t 11514 }, 11515 oC = function (e, t, n, r) { 11516 var o, i, a, u, s, c, l = e === Nu.Forwards, 11517 f = l ? nC : tC; 11518 return !r.collapsed && (o = eC(r), Zy(o)) ? us(e, t, o, e === Nu.Backwards, !0) : (u = Ta(r.startContainer), f(i = el(e, t.getBody(), r)) ? ss(t, i.getNode(!l)) : (i = n(i)) ? f(i) ? us(e, t, i.getNode(!l), l, !0) : f(a = n(i)) && (!(c = jc(s = i, a)) && Do.isBr(s.getNode()) || c) ? us(e, t, a.getNode(!l), l, !0) : u ? ls(t, i.toRange(), !0) : null : u ? r : null) 11519 }, 11520 iC = function (e, t, n, r) { 11521 var o, i, a, u, s, c, l, f, d; 11522 if (d = eC(r), o = el(e, t.getBody(), r), i = n(t.getBody(), zh(1), o), a = jt.filter(i, Vh(1)), s = jt.last(o.getClientRects()), (nC(o) || rl(o)) && (d = o.getNode()), (tC(o) || ol(o)) && (d = o.getNode(!0)), !s) return null; 11523 if (c = s.left, (u = Kh(a, c)) && Zy(u.node)) return l = Math.abs(c - u.left), f = Math.abs(c - u.right), us(e, t, u.node, l < f, !0); 11524 if (d) { 11525 var m = function (e, t, n, r) { 11526 var o, i, a, u, s, c, l = Ns(t), 11527 f = [], 11528 d = 0, 11529 m = function (e) { 11530 return jt.last(e.getClientRects()) 11531 }; 11532 1 === e ? (o = l.next, i = Qa, a = Ja, u = Su.after(r)) : (o = l.prev, i = Ja, a = Qa, u = Su.before(r)), c = m(u); 11533 do { 11534 if (u.isVisible() && !a(s = m(u), c)) { 11535 if (0 < f.length && i(s, jt.last(f)) && d++, (s = Xa(s)).position = u, s.line = d, n(s)) return f; 11536 f.push(s) 11537 } 11538 } while (u = o(u)); 11539 return f 11540 }(e, t.getBody(), zh(1), d); 11541 if (u = Kh(jt.filter(m, Vh(1)), c)) return ls(t, u.position.toRange(), !0); 11542 if (u = jt.last(jt.filter(m, Vh(0)))) return ls(t, u.position.toRange(), !0) 11543 } 11544 }, 11545 aC = function (e, t, n) { 11546 var r, o, i, a, u = Ns(e.getBody()), 11547 s = ya.curry(rC, u.next), 11548 c = ya.curry(rC, u.prev); 11549 if (n.collapsed && e.settings.forced_root_block) { 11550 if (!(r = e.dom.getParent(n.startContainer, "PRE"))) return; 11551 (1 === t ? s(Su.fromRangeStart(n)) : c(Su.fromRangeStart(n))) || (a = (i = e).dom.create(i.settings.forced_root_block), (!Re.ie || 11 <= Re.ie) && (a.innerHTML = '<br data-mce-bogus="1">'), o = a, 1 === t ? e.$(r).after(o) : e.$(r).before(o), e.selection.select(o, !0), e.selection.collapse()) 11552 } 11553 }, 11554 uC = function (l, f) { 11555 return function () { 11556 var e, t, n, r, o, i, a, u, s, c = (t = f, r = Ns((e = l).getBody()), o = ya.curry(rC, r.next), i = ya.curry(rC, r.prev), a = t ? Nu.Forwards : Nu.Backwards, u = t ? o : i, s = e.selection.getRng(), (n = oC(a, e, u, s)) ? n : (n = aC(e, a, s)) || null); 11557 return !!c && (l.selection.setRng(c), !0) 11558 } 11559 }, 11560 sC = function (u, s) { 11561 return function () { 11562 var e, t, n, r, o, i, a = (r = (t = s) ? 1 : -1, o = t ? Uh : Fh, i = (e = u).selection.getRng(), (n = iC(r, e, o, i)) ? n : (n = aC(e, r, i)) || null); 11563 return !!a && (u.selection.setRng(a), !0) 11564 } 11565 }, 11566 cC = function (e, r) { 11567 return G($(e, function (e) { 11568 return Wb({ 11569 shiftKey: !1, 11570 altKey: !1, 11571 ctrlKey: !1, 11572 metaKey: !1, 11573 keyCode: 0, 11574 action: v 11575 }, e) 11576 }), function (e) { 11577 return t = e, (n = r).keyCode === t.keyCode && n.shiftKey === t.shiftKey && n.altKey === t.altKey && n.ctrlKey === t.ctrlKey && n.metaKey === t.metaKey ? [e] : []; 11578 var t, n 11579 }) 11580 }, 11581 lC = function (e) { 11582 for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; 11583 var r = Array.prototype.slice.call(arguments, 1); 11584 return function () { 11585 return e.apply(null, r) 11586 } 11587 }, 11588 fC = function (e, t) { 11589 return V(cC(e, t), function (e) { 11590 return e.action() 11591 }) 11592 }, 11593 dC = function (i, a) { 11594 i.on("keydown", function (e) { 11595 var t, n, r, o; 11596 !1 === e.isDefaultPrevented() && (t = i, n = a, r = e, o = Qn.detect().os, fC([{ 11597 keyCode: Qh.RIGHT, 11598 action: uC(t, !0) 11599 }, { 11600 keyCode: Qh.LEFT, 11601 action: uC(t, !1) 11602 }, { 11603 keyCode: Qh.UP, 11604 action: sC(t, !1) 11605 }, { 11606 keyCode: Qh.DOWN, 11607 action: sC(t, !0) 11608 }, { 11609 keyCode: Qh.RIGHT, 11610 action: Tc(t, !0) 11611 }, { 11612 keyCode: Qh.LEFT, 11613 action: Tc(t, !1) 11614 }, { 11615 keyCode: Qh.UP, 11616 action: kc(t, !1) 11617 }, { 11618 keyCode: Qh.DOWN, 11619 action: kc(t, !0) 11620 }, { 11621 keyCode: Qh.RIGHT, 11622 action: gm.move(t, n, !0) 11623 }, { 11624 keyCode: Qh.LEFT, 11625 action: gm.move(t, n, !1) 11626 }, { 11627 keyCode: Qh.RIGHT, 11628 ctrlKey: !o.isOSX(), 11629 altKey: o.isOSX(), 11630 action: gm.moveNextWord(t, n) 11631 }, { 11632 keyCode: Qh.LEFT, 11633 ctrlKey: !o.isOSX(), 11634 altKey: o.isOSX(), 11635 action: gm.movePrevWord(t, n) 11636 }], r).each(function (e) { 11637 r.preventDefault() 11638 })) 11639 }) 11640 }, 11641 mC = function (e) { 11642 return 1 === $r.children(e).length 11643 }, 11644 gC = function (e, t, n, r) { 11645 var o, i, a, u, s = b(Zv, t), 11646 c = $(U(r, s), function (e) { 11647 return e.dom() 11648 }); 11649 if (0 === c.length) Nd(t, e, n); 11650 else { 11651 var l = (o = n.dom(), i = c, a = Wv(!1), u = Jv(i, a.dom()), Ti.before(er.fromDom(o), a), Ri.remove(er.fromDom(o)), Su(u, 0)); 11652 t.selection.setRng(l.toRange()) 11653 } 11654 }, 11655 pC = function (n, r) { 11656 var t, e = er.fromDom(n.getBody()), 11657 o = er.fromDom(n.selection.getStart()), 11658 i = U((t = Yf(o, e), K(t, lo).fold(H(t), function (e) { 11659 return t.slice(0, e) 11660 })), mC); 11661 return te(i).map(function (e) { 11662 var t = Su.fromRangeStart(n.selection.getRng()); 11663 return !!Of(r, t, e.dom()) && (gC(r, n, e, i), !0) 11664 }).getOr(!1) 11665 }, 11666 hC = function (e, t) { 11667 return !!e.selection.isCollapsed() && pC(e, t) 11668 }, 11669 vC = function (o, i) { 11670 o.on("keydown", function (e) { 11671 var t, n, r; 11672 !1 === e.isDefaultPrevented() && (t = o, n = i, r = e, fC([{ 11673 keyCode: Qh.BACKSPACE, 11674 action: lC(Td, t, !1) 11675 }, { 11676 keyCode: Qh.DELETE, 11677 action: lC(Td, t, !0) 11678 }, { 11679 keyCode: Qh.BACKSPACE, 11680 action: lC(bm, t, n, !1) 11681 }, { 11682 keyCode: Qh.DELETE, 11683 action: lC(bm, t, n, !0) 11684 }, { 11685 keyCode: Qh.BACKSPACE, 11686 action: lC(Jm, t, !1) 11687 }, { 11688 keyCode: Qh.DELETE, 11689 action: lC(Jm, t, !0) 11690 }, { 11691 keyCode: Qh.BACKSPACE, 11692 action: lC(sd, t, !1) 11693 }, { 11694 keyCode: Qh.DELETE, 11695 action: lC(sd, t, !0) 11696 }, { 11697 keyCode: Qh.BACKSPACE, 11698 action: lC(od, t, !1) 11699 }, { 11700 keyCode: Qh.DELETE, 11701 action: lC(od, t, !0) 11702 }, { 11703 keyCode: Qh.BACKSPACE, 11704 action: lC(hC, t, !1) 11705 }, { 11706 keyCode: Qh.DELETE, 11707 action: lC(hC, t, !0) 11708 }], r).each(function (e) { 11709 r.preventDefault() 11710 })) 11711 }), o.on("keyup", function (e) { 11712 var t, n; 11713 !1 === e.isDefaultPrevented() && (t = o, n = e, fC([{ 11714 keyCode: Qh.BACKSPACE, 11715 action: lC(kd, t) 11716 }, { 11717 keyCode: Qh.DELETE, 11718 action: lC(kd, t) 11719 }], n)) 11720 }) 11721 }, 11722 bC = function (e) { 11723 return A.from(e.dom.getParent(e.selection.getStart(!0), e.dom.isBlock)) 11724 }, 11725 yC = function (e, t) { 11726 var n, r, o, i = t, 11727 a = e.dom, 11728 u = e.schema.getMoveCaretBeforeOnEnterElements(); 11729 if (t) { 11730 if (/^(LI|DT|DD)$/.test(t.nodeName)) { 11731 var s = function (e) { 11732 for (; e;) { 11733 if (1 === e.nodeType || 3 === e.nodeType && e.data && /[\r\n\s]/.test(e.data)) return e; 11734 e = e.nextSibling 11735 } 11736 }(t.firstChild); 11737 s && /^(UL|OL|DL)$/.test(s.nodeName) && t.insertBefore(a.doc.createTextNode("\xa0"), t.firstChild) 11738 } 11739 if (o = a.createRng(), t.normalize(), t.hasChildNodes()) { 11740 for (n = new oo(t, t); r = n.current();) { 11741 if (Do.isText(r)) { 11742 o.setStart(r, 0), o.setEnd(r, 0); 11743 break 11744 } 11745 if (u[r.nodeName.toLowerCase()]) { 11746 o.setStartBefore(r), o.setEndBefore(r); 11747 break 11748 } 11749 i = r, r = n.next() 11750 } 11751 r || (o.setStart(i, 0), o.setEnd(i, 0)) 11752 } else Do.isBr(t) ? t.nextSibling && a.isBlock(t.nextSibling) ? (o.setStartBefore(t), o.setEndBefore(t)) : (o.setStartAfter(t), o.setEndAfter(t)) : (o.setStart(t, 0), o.setEnd(t, 0)); 11753 e.selection.setRng(o), a.remove(void 0), e.selection.scrollIntoView(t) 11754 } 11755 }, 11756 CC = function (e, t) { 11757 var n, r, o = e.getRoot(); 11758 for (n = t; n !== o && "false" !== e.getContentEditable(n);) "true" === e.getContentEditable(n) && (r = n), n = n.parentNode; 11759 return n !== o ? r : o 11760 }, 11761 xC = bC, 11762 wC = function (e) { 11763 return bC(e).fold(H(""), function (e) { 11764 return e.nodeName.toUpperCase() 11765 }) 11766 }, 11767 NC = function (e) { 11768 return bC(e).filter(function (e) { 11769 return ho(er.fromDom(e)) 11770 }).isSome() 11771 }, 11772 EC = function (e, t) { 11773 return e && e.parentNode && e.parentNode.nodeName === t 11774 }, 11775 SC = function (e) { 11776 return e && /^(OL|UL|LI)$/.test(e.nodeName) 11777 }, 11778 TC = function (e) { 11779 var t = e.parentNode; 11780 return /^(LI|DT|DD)$/.test(t.nodeName) ? t : e 11781 }, 11782 kC = function (e, t, n) { 11783 for (var r = e[n ? "firstChild" : "lastChild"]; r && !Do.isElement(r);) r = r[n ? "nextSibling" : "previousSibling"]; 11784 return r === t 11785 }, 11786 AC = function (e, t, n, r, o) { 11787 var i = e.dom, 11788 a = e.selection.getRng(); 11789 if (n !== e.getBody()) { 11790 var u; 11791 SC(u = n) && SC(u.parentNode) && (o = "LI"); 11792 var s, c, l = o ? t(o) : i.create("BR"); 11793 if (kC(n, r, !0) && kC(n, r, !1)) EC(n, "LI") ? i.insertAfter(l, TC(n)) : i.replace(l, n); 11794 else if (kC(n, r, !0)) EC(n, "LI") ? (i.insertAfter(l, TC(n)), l.appendChild(i.doc.createTextNode(" ")), l.appendChild(n)) : n.parentNode.insertBefore(l, n); 11795 else if (kC(n, r, !1)) i.insertAfter(l, TC(n)); 11796 else { 11797 n = TC(n); 11798 var f = a.cloneRange(); 11799 f.setStartAfter(r), f.setEndAfter(n); 11800 var d = f.extractContents(); 11801 "LI" === o && (c = "LI", (s = d).firstChild && s.firstChild.nodeName === c) ? (l = d.firstChild, i.insertAfter(d, n)) : (i.insertAfter(d, n), i.insertAfter(l, n)) 11802 } 11803 i.remove(r), yC(e, l) 11804 } 11805 }, 11806 _C = function (e) { 11807 e.innerHTML = '<br data-mce-bogus="1">' 11808 }, 11809 RC = function (e, t) { 11810 return e.nodeName === t || e.previousSibling && e.previousSibling.nodeName === t 11811 }, 11812 DC = function (e, t) { 11813 return t && e.isBlock(t) && !/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName) && !/^(fixed|absolute)/i.test(t.style.position) && "true" !== e.getContentEditable(t) 11814 }, 11815 BC = function (e, t, n) { 11816 return !1 === Do.isText(t) ? n : e ? 1 === n && t.data.charAt(n - 1) === wa ? 0 : n : n === t.data.length - 1 && t.data.charAt(n) === wa ? t.data.length : n 11817 }, 11818 OC = function (e, t) { 11819 var n, r, o = e.getRoot(); 11820 for (n = t; n !== o && "false" !== e.getContentEditable(n);) "true" === e.getContentEditable(n) && (r = n), n = n.parentNode; 11821 return n !== o ? r : o 11822 }, 11823 PC = function (e, t) { 11824 var n = ec(e); 11825 n && n.toLowerCase() === t.tagName.toLowerCase() && e.dom.setAttribs(t, tc(e)) 11826 }, 11827 LC = function (a, e) { 11828 var t, u, s, i, c, n, r, o, l, f, d, m, g, p, h, v, b, y, C = a.dom, 11829 x = a.schema, 11830 w = x.getNonEmptyElements(), 11831 N = a.selection.getRng(), 11832 E = function (e) { 11833 var t, n, r, o = s, 11834 i = x.getTextInlineElements(); 11835 if (e || "TABLE" === f || "HR" === f ? (t = C.create(e || m), PC(a, t)) : t = c.cloneNode(!1), r = t, !1 === oc(a)) C.setAttrib(t, "style", null), C.setAttrib(t, "class", null); 11836 else 11837 do { 11838 if (i[o.nodeName]) { 11839 if (Ku(o)) continue; 11840 n = o.cloneNode(!1), C.setAttrib(n, "id", ""), t.hasChildNodes() ? n.appendChild(t.firstChild) : r = n, t.appendChild(n) 11841 } 11842 } while ((o = o.parentNode) && o !== u); 11843 return _C(r), t 11844 }, 11845 S = function (e) { 11846 var t, n, r, o; 11847 if (o = BC(e, s, i), Do.isText(s) && (e ? 0 < o : o < s.nodeValue.length)) return !1; 11848 if (s.parentNode === c && g && !e) return !0; 11849 if (e && Do.isElement(s) && s === c.firstChild) return !0; 11850 if (RC(s, "TABLE") || RC(s, "HR")) return g && !e || !g && e; 11851 for (t = new oo(s, c), Do.isText(s) && (e && 0 === o ? t.prev() : e || o !== s.nodeValue.length || t.next()); n = t.current();) { 11852 if (Do.isElement(n)) { 11853 if (!n.getAttribute("data-mce-bogus") && (r = n.nodeName.toLowerCase(), w[r] && "br" !== r)) return !1 11854 } else if (Do.isText(n) && !/^[ \t\r\n]*$/.test(n.nodeValue)) return !1; 11855 e ? t.prev() : t.next() 11856 } 11857 return !0 11858 }, 11859 T = function () { 11860 r = /^(H[1-6]|PRE|FIGURE)$/.test(f) && "HGROUP" !== d ? E(m) : E(), ic(a) && DC(C, l) && C.isEmpty(c) ? r = C.split(l, c) : C.insertAfter(r, c), yC(a, r) 11861 }; 11862 mg(C, N).each(function (e) { 11863 N.setStart(e.startContainer, e.startOffset), N.setEnd(e.endContainer, e.endOffset) 11864 }), s = N.startContainer, i = N.startOffset, m = ec(a), n = e.shiftKey, Do.isElement(s) && s.hasChildNodes() && (g = i > s.childNodes.length - 1, s = s.childNodes[Math.min(i, s.childNodes.length - 1)] || s, i = g && Do.isText(s) ? s.nodeValue.length : 0), (u = OC(C, s)) && ((m && !n || !m && n) && (s = function (e, t, n, r, o) { 11865 var i, a, u, s, c, l, f, d = t || "P", 11866 m = e.dom, 11867 g = OC(m, r); 11868 if (!(a = m.getParent(r, m.isBlock)) || !DC(m, a)) { 11869 if (l = (a = a || g) === e.getBody() || (f = a) && /^(TD|TH|CAPTION)$/.test(f.nodeName) ? a.nodeName.toLowerCase() : a.parentNode.nodeName.toLowerCase(), !a.hasChildNodes()) return i = m.create(d), PC(e, i), a.appendChild(i), n.setStart(i, 0), n.setEnd(i, 0), i; 11870 for (s = r; s.parentNode !== a;) s = s.parentNode; 11871 for (; s && !m.isBlock(s);) s = (u = s).previousSibling; 11872 if (u && e.schema.isValidChild(l, d.toLowerCase())) { 11873 for (i = m.create(d), PC(e, i), u.parentNode.insertBefore(i, u), s = u; s && !m.isBlock(s);) c = s.nextSibling, i.appendChild(s), s = c; 11874 n.setStart(r, o), n.setEnd(r, o) 11875 } 11876 } 11877 return r 11878 }(a, m, N, s, i)), c = C.getParent(s, C.isBlock), l = c ? C.getParent(c.parentNode, C.isBlock) : null, f = c ? c.nodeName.toUpperCase() : "", "LI" !== (d = l ? l.nodeName.toUpperCase() : "") || e.ctrlKey || (l = (c = l).parentNode, f = d), /^(LI|DT|DD)$/.test(f) && C.isEmpty(c) ? AC(a, E, l, c, m) : m && c === a.getBody() || (m = m || "P", Ta(c) ? (r = La(c), C.isEmpty(c) && _C(c), yC(a, r)) : S() ? T() : S(!0) ? (r = c.parentNode.insertBefore(E(), c), yC(a, RC(c, "HR") ? r : c)) : ((t = (b = N, y = b.cloneRange(), y.setStart(b.startContainer, BC(!0, b.startContainer, b.startOffset)), y.setEnd(b.endContainer, BC(!1, b.endContainer, b.endOffset)), y).cloneRange()).setEndAfter(c), function (e) { 11879 for (; Do.isText(e) && (e.nodeValue = e.nodeValue.replace(/^[\r\n]+/, "")), e = e.firstChild;); 11880 }(o = t.extractContents()), r = o.firstChild, C.insertAfter(o, c), function (e, t, n) { 11881 var r, o = n, 11882 i = []; 11883 if (o) { 11884 for (; o = o.firstChild;) { 11885 if (e.isBlock(o)) return; 11886 Do.isElement(o) && !t[o.nodeName.toLowerCase()] && i.push(o) 11887 } 11888 for (r = i.length; r--;) !(o = i[r]).hasChildNodes() || o.firstChild === o.lastChild && "" === o.firstChild.nodeValue ? e.remove(o) : (a = o) && "A" === a.nodeName && 0 === Yt.trim(Na(a.innerText || a.textContent)).length && e.remove(o); 11889 var a 11890 } 11891 }(C, w, r), p = C, (h = c).normalize(), (v = h.lastChild) && !/^(left|right)$/gi.test(p.getStyle(v, "float", !0)) || p.add(h, "br"), C.isEmpty(c) && _C(c), r.normalize(), C.isEmpty(r) ? (C.remove(r), T()) : yC(a, r)), C.setAttrib(r, "id", ""), a.fire("NewBlock", { 11892 newBlock: r 11893 }))) 11894 }, 11895 IC = function (e, t) { 11896 return xC(e).filter(function (e) { 11897 return 0 < t.length && Lr.is(er.fromDom(e), t) 11898 }).isSome() 11899 }, 11900 MC = function (e) { 11901 return IC(e, nc(e)) 11902 }, 11903 FC = function (e) { 11904 return IC(e, rc(e)) 11905 }, 11906 UC = cd([{ 11907 br: [] 11908 }, { 11909 block: [] 11910 }, { 11911 none: [] 11912 }]), 11913 zC = function (e, t) { 11914 return FC(e) 11915 }, 11916 VC = function (n) { 11917 return function (e, t) { 11918 return "" === ec(e) === n 11919 } 11920 }, 11921 qC = function (n) { 11922 return function (e, t) { 11923 return NC(e) === n 11924 } 11925 }, 11926 HC = function (n, r) { 11927 return function (e, t) { 11928 return wC(e) === n.toUpperCase() === r 11929 } 11930 }, 11931 jC = function (e) { 11932 return HC("pre", e) 11933 }, 11934 $C = function (n) { 11935 return function (e, t) { 11936 return Zs(e) === n 11937 } 11938 }, 11939 WC = function (e, t) { 11940 return MC(e) 11941 }, 11942 KC = function (e, t) { 11943 return t 11944 }, 11945 XC = function (e) { 11946 var t = ec(e), 11947 n = CC(e.dom, e.selection.getStart()); 11948 return n && e.schema.isValidChild(n.nodeName, t || "P") 11949 }, 11950 YC = function (e, t) { 11951 return function (n, r) { 11952 return z(e, function (e, t) { 11953 return e && t(n, r) 11954 }, !0) ? A.some(t) : A.none() 11955 } 11956 }, 11957 GC = function (e, t) { 11958 return Fd([YC([zC], UC.none()), YC([HC("summary", !0)], UC.br()), YC([jC(!0), $C(!1), KC], UC.br()), YC([jC(!0), $C(!1)], UC.block()), YC([jC(!0), $C(!0), KC], UC.block()), YC([jC(!0), $C(!0)], UC.br()), YC([qC(!0), KC], UC.br()), YC([qC(!0)], UC.block()), YC([VC(!0), KC, XC], UC.block()), YC([VC(!0)], UC.br()), YC([WC], UC.br()), YC([VC(!1), KC], UC.br()), YC([XC], UC.block())], [e, t.shiftKey]).getOr(UC.none()) 11959 }, 11960 JC = function (e, t) { 11961 GC(e, t).fold(function () { 11962 Ng(e, t) 11963 }, function () { 11964 LC(e, t) 11965 }, v) 11966 }, 11967 QC = function (o) { 11968 o.on("keydown", function (e) { 11969 var t, n, r;
11970 e.keyCode === Qh.ENTER && (t = o, (n = e).isDefaultPrevented() || (n.preventDefault(), (r = t.undoManager).typing && (r.typing = !1, r.add()), t.undoManager.transact(function () { 11971 !1 === t.selection.isCollapsed() && t.execCommand("Delete"), JC(t, n) 11972 }))) 11973 }) 11974 }, 11975 ZC = function (e, t, n) { 11976 return u = t, !(!ex(n) || !Do.isText(u.container()) || (r = e, i = (o = t).container(), a = o.offset(), i.insertData(a, "\xa0"), r.selection.setCursorLocation(i, a + 1), 0)); 11977 var r, o, i, a, u 11978 }, 11979 ex = function (e) { 11980 return e.fold(H(!1), H(!0), H(!0), H(!1)) 11981 }, 11982 tx = function (e) { 11983 return !!e.selection.isCollapsed() && (t = e, n = b(Rf.isInlineTarget, t), r = Su.fromRangeStart(t.selection.getRng()), nm(n, t.getBody(), r).map(b(ZC, t, r)).getOr(!1)); 11984 var t, n, r 11985 }, 11986 nx = function (r) { 11987 r.on("keydown", function (e) { 11988 var t, n; 11989 !1 === e.isDefaultPrevented() && (t = r, n = e, fC([{ 11990 keyCode: Qh.SPACEBAR, 11991 action: lC(tx, t) 11992 }], n).each(function (e) { 11993 n.preventDefault() 11994 })) 11995 }) 11996 }, 11997 rx = function (e, t) { 11998 var n; 11999 t.hasAttribute("data-mce-caret") && (La(t), (n = e).selection.setRng(n.selection.getRng()), e.selection.scrollIntoView(t)) 12000 }, 12001 ox = function (e, t) { 12002 var n, r = (n = e, na(er.fromDom(n.getBody()), "*[data-mce-caret]").fold(H(null), function (e) { 12003 return e.dom() 12004 })); 12005 if (r) return "compositionstart" === t.type ? (t.preventDefault(), t.stopPropagation(), void rx(e, r)) : void(_a(r) && (rx(e, r), e.undoManager.add())) 12006 }, 12007 ix = function (e) { 12008 e.on("keyup compositionstart", b(ox, e)) 12009 }, 12010 ax = function (e) { 12011 var t = gm.setupSelectedState(e); 12012 ix(e), dC(e, t), vC(e, t), QC(e), nx(e) 12013 }; 12014 12015 function ux(u) { 12016 var s, n, r, o = Yt.each, 12017 c = Qh.BACKSPACE, 12018 l = Qh.DELETE, 12019 f = u.dom, 12020 d = u.selection, 12021 e = u.settings, 12022 t = u.parser, 12023 i = Re.gecko, 12024 a = Re.ie, 12025 m = Re.webkit, 12026 g = "data:text/mce-internal,", 12027 p = a ? "Text" : "URL", 12028 h = function (e, t) { 12029 try { 12030 u.getDoc().execCommand(e, !1, t) 12031 } catch (n) {} 12032 }, 12033 v = function (e) { 12034 return e.isDefaultPrevented() 12035 }, 12036 b = function () { 12037 u.shortcuts.add("meta+a", null, "SelectAll") 12038 }, 12039 y = function () { 12040 u.on("keydown", function (e) { 12041 if (!v(e) && e.keyCode === c && d.isCollapsed() && 0 === d.getRng().startOffset) { 12042 var t = d.getNode().previousSibling; 12043 if (t && t.nodeName && "table" === t.nodeName.toLowerCase()) return e.preventDefault(), !1 12044 } 12045 }) 12046 }, 12047 C = function () { 12048 u.inline || (u.contentStyles.push("body {min-height: 150px}"), u.on("click", function (e) { 12049 var t; 12050 if ("HTML" === e.target.nodeName) { 12051 if (11 < Re.ie) return void u.getBody().focus(); 12052 t = u.selection.getRng(), u.getBody().focus(), u.selection.setRng(t), u.selection.normalize(), u.nodeChanged() 12053 } 12054 })) 12055 }; 12056 return u.on("keydown", function (e) { 12057 var t, n, r, o, i; 12058 if (!v(e) && e.keyCode === Qh.BACKSPACE && (n = (t = d.getRng()).startContainer, r = t.startOffset, o = f.getRoot(), i = n, t.collapsed && 0 === r)) { 12059 for (; i && i.parentNode && i.parentNode.firstChild === i && i.parentNode !== o;) i = i.parentNode; 12060 "BLOCKQUOTE" === i.tagName && (u.formatter.toggle("blockquote", null, i), (t = f.createRng()).setStart(n, 0), t.setEnd(n, 0), d.setRng(t)) 12061 } 12062 }), s = function (e) { 12063 var t = f.create("body"), 12064 n = e.cloneContents(); 12065 return t.appendChild(n), d.serializer.serialize(t, { 12066 format: "html" 12067 }) 12068 }
vendor: 76,882 bytes, lines 12068-13560
12068, u.on("keydown", function (e) { 12069 var t, n, r, o, i, a = e.keyCode; 12070 if (!v(e) && (a === l || a === c)) { 12071 if (t = u.selection.isCollapsed(), n = u.getBody(), t && !f.isEmpty(n)) return; 12072 if (!t && (r = u.selection.getRng(), o = s(r), (i = f.createRng()).selectNode(u.getBody()), o !== s(i))) return; 12073 e.preventDefault(), u.setContent(""), n.firstChild && f.isBlock(n.firstChild) ? u.selection.setCursorLocation(n.firstChild, 0) : u.selection.setCursorLocation(n, 0), u.nodeChanged() 12074 } 12075 }), Re.windowsPhone || u.on("keyup focusin mouseup", function (e) { 12076 Qh.modifierPressed(e) || d.normalize() 12077 }, !0), m && (u.settings.content_editable || f.bind(u.getDoc(), "mousedown mouseup", function (e) { 12078 var t; 12079 if (e.target === u.getDoc().documentElement) 12080 if (t = d.getRng(), u.getBody().focus(), "mousedown" === e.type) { 12081 if (Aa(t.startContainer)) return; 12082 d.placeCaretAt(e.clientX, e.clientY) 12083 } else d.setRng(t) 12084 }), u.on("click", function (e) { 12085 var t = e.target; 12086 /^(IMG|HR)$/.test(t.nodeName) && "false" !== f.getContentEditableParent(t) && (e.preventDefault(), u.selection.select(t), u.nodeChanged()), "A" === t.nodeName && f.hasClass(t, "mce-item-anchor") && (e.preventDefault(), d.select(t)) 12087 }), e.forced_root_block && u.on("init", function () { 12088 h("DefaultParagraphSeparator", e.forced_root_block) 12089 }), u.on("init", function () { 12090 u.dom.bind(u.getBody(), "submit", function (e) { 12091 e.preventDefault() 12092 }) 12093 }), y(), t.addNodeFilter("br", function (e) { 12094 for (var t = e.length; t--;) "Apple-interchange-newline" === e[t].attr("class") && e[t].remove() 12095 }), Re.iOS ? (u.inline || u.on("keydown", function () { 12096 document.activeElement === document.body && u.getWin().focus() 12097 }), C(), u.on("click", function (e) { 12098 var t = e.target; 12099 do { 12100 if ("A" === t.tagName) return void e.preventDefault() 12101 } while (t = t.parentNode) 12102 }), u.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")) : b()), 11 <= Re.ie && (C(), y()), Re.ie && (b(), h("AutoUrlDetect", !1), u.on("dragstart", function (e) { 12103 var t, n, r; 12104 (t = e).dataTransfer && (u.selection.isCollapsed() && "IMG" === t.target.tagName && d.select(t.target), 0 < (n = u.selection.getContent()).length && (r = g + escape(u.id) + "," + escape(n), t.dataTransfer.setData(p, r))) 12105 }), u.on("drop", function (e) { 12106 if (!v(e)) { 12107 var t = (i = e).dataTransfer && (a = i.dataTransfer.getData(p)) && 0 <= a.indexOf(g) ? (a = a.substr(g.length).split(","), { 12108 id: unescape(a[0]), 12109 html: unescape(a[1]) 12110 }) : null; 12111 if (t && t.id !== u.id) { 12112 e.preventDefault(); 12113 var n = Ey(e.x, e.y, u.getDoc()); 12114 d.setRng(n), r = t.html, o = !0, u.queryCommandSupported("mceInsertClipboardContent") ? u.execCommand("mceInsertClipboardContent", !1, { 12115 content: r, 12116 internal: o 12117 }) : u.execCommand("mceInsertContent", !1, r) 12118 } 12119 } 12120 var r, o, i, a 12121 })), i && (u.on("keydown", function (e) { 12122 if (!v(e) && e.keyCode === c) { 12123 if (!u.getBody().getElementsByTagName("hr").length) return; 12124 if (d.isCollapsed() && 0 === d.getRng().startOffset) { 12125 var t = d.getNode(), 12126 n = t.previousSibling; 12127 if ("HR" === t.nodeName) return f.remove(t), void e.preventDefault(); 12128 n && n.nodeName && "hr" === n.nodeName.toLowerCase() && (f.remove(n), e.preventDefault()) 12129 } 12130 } 12131 }), Range.prototype.getClientRects || u.on("mousedown", function (e) { 12132 if (!v(e) && "HTML" === e.target.nodeName) { 12133 var t = u.getBody(); 12134 t.blur(), Le.setEditorTimeout(u, function () { 12135 t.focus() 12136 }) 12137 } 12138 }), n = function () { 12139 var e = f.getAttribs(d.getStart().cloneNode(!1)); 12140 return function () { 12141 var t = d.getStart(); 12142 t !== u.getBody() && (f.setAttrib(t, "style", null), o(e, function (e) { 12143 t.setAttributeNode(e.cloneNode(!0)) 12144 })) 12145 } 12146 }, r = function () { 12147 return !d.isCollapsed() && f.getParent(d.getStart(), f.isBlock) !== f.getParent(d.getEnd(), f.isBlock) 12148 }, u.on("keypress", function (e) { 12149 var t; 12150 if (!v(e) && (8 === e.keyCode || 46 === e.keyCode) && r()) return t = n(), u.getDoc().execCommand("delete", !1, null), t(), e.preventDefault(), !1 12151 }), f.bind(u.getDoc(), "cut", function (e) { 12152 var t; 12153 !v(e) && r() && (t = n(), Le.setEditorTimeout(u, function () { 12154 t() 12155 })) 12156 }), e.readonly || u.on("BeforeExecCommand MouseDown", function () { 12157 h("StyleWithCSS", !1), h("enableInlineTableEditing", !1), e.object_resizing || h("enableObjectResizing", !1) 12158 }), u.on("SetContent ExecCommand", function (e) { 12159 "setcontent" !== e.type && "mceInsertLink" !== e.command || o(f.select("a"), function (e) { 12160 var t = e.parentNode, 12161 n = f.getRoot(); 12162 if (t.lastChild === e) { 12163 for (; t && !f.isBlock(t);) { 12164 if (t.parentNode.lastChild !== t || t === n) return; 12165 t = t.parentNode 12166 } 12167 f.add(t, "br", { 12168 "data-mce-bogus": 1 12169 }) 12170 } 12171 }) 12172 }), u.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"), Re.mac && u.on("keydown", function (e) { 12173 !Qh.metaKeyPressed(e) || e.shiftKey || 37 !== e.keyCode && 39 !== e.keyCode || (e.preventDefault(), u.selection.getSel().modify("move", 37 === e.keyCode ? "backward" : "forward", "lineboundary")) 12174 }), y()), { 12175 refreshContentEditable: function () {}, 12176 isHidden: function () { 12177 var e; 12178 return !i || u.removed ? 0 : !(e = u.selection.getSel()) || !e.rangeCount || 0 === e.rangeCount 12179 } 12180 } 12181 } 12182 var sx = function (e) { 12183 return Do.isElement(e) && go(er.fromDom(e)) 12184 }, 12185 cx = function (t) { 12186 t.on("click", function (e) { 12187 3 <= e.detail && function (e) { 12188 var t = e.selection.getRng(), 12189 n = wu.fromRangeStart(t), 12190 r = wu.fromRangeEnd(t); 12191 if (wu.isElementPosition(n)) { 12192 var o = n.container(); 12193 sx(o) && fl.firstPositionIn(o).each(function (e) { 12194 return t.setStart(e.container(), e.offset()) 12195 }) 12196 } 12197 wu.isElementPosition(r) && (o = n.container(), sx(o) && fl.lastPositionIn(o).each(function (e) { 12198 return t.setEnd(e.container(), e.offset()) 12199 })), e.selection.setRng(df(t)) 12200 }(t) 12201 }) 12202 }, 12203 lx = function (e) { 12204 var t, n; 12205 (t = e).on("click", function (e) { 12206 t.dom.getParent(e.target, "details") && e.preventDefault() 12207 }), (n = e).parser.addNodeFilter("details", function (e) { 12208 F(e, function (e) { 12209 e.attr("data-mce-open", e.attr("open")), e.attr("open", "open") 12210 }) 12211 }), n.serializer.addNodeFilter("details", function (e) { 12212 F(e, function (e) { 12213 var t = e.attr("data-mce-open"); 12214 e.attr("open", k(t) ? t : null), e.attr("data-mce-open", null) 12215 }) 12216 }) 12217 }, 12218 fx = pi.DOM, 12219 dx = function (e) { 12220 var t; 12221 e.bindPendingEventDelegates(), e.initialized = !0, e.fire("init"), e.focus(!0), e.nodeChanged({ 12222 initial: !0 12223 }), e.execCallback("init_instance_callback", e), (t = e).settings.auto_focus && Le.setEditorTimeout(t, function () { 12224 var e; 12225 (e = !0 === t.settings.auto_focus ? t : t.editorManager.get(t.settings.auto_focus)).destroyed || e.focus() 12226 }, 100) 12227 }, 12228 mx = function (t, e) { 12229 var n, r, u, o, i, a, s, c, l, f = t.settings, 12230 d = t.getElement(), 12231 m = t.getDoc(); 12232 f.inline || (t.getElement().style.visibility = t.orgVisibility), e || f.content_editable || (m.open(), m.write(t.iframeHTML), m.close()), f.content_editable && (t.on("remove", function () { 12233 var e = this.getBody(); 12234 fx.removeClass(e, "mce-content-body"), fx.removeClass(e, "mce-edit-focus"), fx.setAttrib(e, "contentEditable", null) 12235 }), fx.addClass(d, "mce-content-body"), t.contentDocument = m = f.content_document || document, t.contentWindow = f.content_window || window, t.bodyElement = d, f.content_document = f.content_window = null, f.root_name = d.nodeName.toLowerCase()), (n = t.getBody()).disabled = !0, t.readonly = f.readonly, t.readonly || (t.inline && "static" === fx.getStyle(n, "position", !0) && (n.style.position = "relative"), n.contentEditable = t.getParam("content_editable_state", !0)), n.disabled = !1, t.editorUpload = mh(t), t.schema = ni(f), t.dom = pi(m, { 12236 keep_values: !0, 12237 url_converter: t.convertURL, 12238 url_converter_scope: t, 12239 hex_colors: f.force_hex_style_colors, 12240 class_filter: f.class_filter, 12241 update_styles: !0, 12242 root_element: t.inline ? t.getBody() : null, 12243 collect: f.content_editable, 12244 schema: t.schema, 12245 onSetAttrib: function (e) { 12246 t.fire("SetAttrib", e) 12247 } 12248 }), t.parser = ((o = dy((u = t).settings, u.schema)).addAttributeFilter("src,href,style,tabindex", function (e, t) { 12249 for (var n, r, o, i = e.length, a = u.dom; i--;) 12250 if (r = (n = e[i]).attr(t), o = "data-mce-" + t, !n.attributes.map[o]) { 12251 if (0 === r.indexOf("data:") || 0 === r.indexOf("blob:")) continue; 12252 "style" === t ? ((r = a.serializeStyle(a.parseStyle(r), n.name)).length || (r = null), n.attr(o, r), n.attr(t, r)) : "tabindex" === t ? (n.attr(o, r), n.attr(t, null)) : n.attr(o, u.convertURL(r, t, n.name)) 12253 } 12254 }), o.addNodeFilter("script", function (e) { 12255 for (var t, n, r = e.length; r--;) 0 !== (n = (t = e[r]).attr("type") || "no/type").indexOf("mce-") && t.attr("type", "mce-" + n) 12256 }), o.addNodeFilter("#cdata", function (e) { 12257 for (var t, n = e.length; n--;)(t = e[n]).type = 8, t.name = "#comment", t.value = "[CDATA[" + t.value + "]]" 12258 }), o.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div", function (e) { 12259 for (var t, n = e.length, r = u.schema.getNonEmptyElements(); n--;)(t = e[n]).isEmpty(r) && 0 === t.getAll("br").length && (t.append(new ty("br", 1)).shortEnded = !0) 12260 }), o), t.serializer = vy(f, t), t.selection = Qy(t.dom, t.getWin(), t.serializer, t), t.annotator = Wl(t), t.formatter = Hb(t), t.undoManager = Rv(t), t._nodeChangeDispatcher = new Nh(t), t._selectionOverrides = ov(t), lx(t), cx(t), ax(t), vh(t), t.fire("PreInit"), f.browser_spellcheck || f.gecko_spellcheck || (m.body.spellcheck = !1, fx.setAttrib(n, "spellcheck", "false")), t.quirks = ux(t), t.fire("PostRender"), f.directionality && (n.dir = f.directionality), f.nowrap && (n.style.whiteSpace = "nowrap"), f.protect && t.on("BeforeSetContent", function (t) { 12261 Yt.each(f.protect, function (e) { 12262 t.content = t.content.replace(e, function (e) { 12263 return "\x3c!--mce:protected " + escape(e) + "--\x3e" 12264 }) 12265 }) 12266 }), t.on("SetContent", function () { 12267 t.addVisual(t.getBody()) 12268 }), t.load({ 12269 initial: !0, 12270 format: "html" 12271 }), t.startContent = t.getContent({ 12272 format: "raw" 12273 }), t.on("compositionstart compositionend", function (e) { 12274 t.composing = "compositionstart" === e.type 12275 }), 0 < t.contentStyles.length && (r = "", Yt.each(t.contentStyles, function (e) { 12276 r += e + "\r\n" 12277 }), t.dom.addStyle(r)), (i = t, i.inline ? fx.styleSheetLoader : i.dom.styleSheetLoader).loadAll(t.contentCSS, function (e) { 12278 dx(t) 12279 }, function (e) { 12280 dx(t) 12281 }), f.content_style && (a = t, s = f.content_style, c = er.fromDom(a.getDoc().head), l = er.fromTag("style"), hr.set(l, "type", "text/css"), Ti.append(l, er.fromText(s)), Ti.append(c, l)) 12282 }, 12283 gx = pi.DOM, 12284 px = function (e, t) { 12285 var n, r, o, i, a, u, s, c = e.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"), 12286 l = (n = e.id, r = c, o = t.height, i = Ks(e), s = er.fromTag("iframe"), hr.setAll(s, i), hr.setAll(s, { 12287 id: n + "_ifr", 12288 frameBorder: "0", 12289 allowTransparency: "true", 12290 title: r 12291 }), Er(s, { 12292 width: "100%", 12293 height: (a = o, u = "number" == typeof a ? a + "px" : a, u || ""), 12294 display: "block" 12295 }), s).dom(); 12296 l.onload = function () { 12297 l.onload = null, e.fire("load") 12298 }; 12299 var f, d, m, g, p = function (e, t) { 12300 if (document.domain !== window.location.hostname && Re.ie && Re.ie < 12) { 12301 var n = dh.uuid("mce"); 12302 e[n] = function () { 12303 mx(e) 12304 }; 12305 var r = 'javascript:(function(){document.open();document.domain="' + document.domain + '";var ed = window.parent.tinymce.get("' + e.id + '");document.write(ed.iframeHTML);document.close();ed.' + n + "(true);})()"; 12306 return gx.setAttrib(t, "src", r), !0 12307 } 12308 return !1 12309 }(e, l); 12310 return e.contentAreaContainer = t.iframeContainer, e.iframeElement = l, e.iframeHTML = (g = Xs(f = e) + "<html><head>", Ys(f) !== f.documentBaseUrl && (g += '<base href="' + f.documentBaseURI.getURI() + '" />'), g += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />', d = Gs(f), m = Js(f), Qs(f) && (g += '<meta http-equiv="Content-Security-Policy" content="' + Qs(f) + '" />'), g += '</head><body id="' + d + '" class="mce-content-body ' + m + '" data-id="' + f.id + '"><br></body></html>'), gx.add(t.iframeContainer, l), p 12311 }, 12312 hx = function (e, t) { 12313 var n = px(e, t); 12314 t.editorContainer && (gx.get(t.editorContainer).style.display = e.orgDisplay, e.hidden = gx.isHidden(t.editorContainer)), e.getElement().style.display = "none", gx.setAttrib(e.id, "aria-hidden", "true"), n || mx(e) 12315 }, 12316 vx = pi.DOM, 12317 bx = function (t, n, e) { 12318 var r, o, i = Gp.get(e); 12319 if (r = Gp.urls[e] || t.documentBaseUrl.replace(/\/$/, ""), e = Yt.trim(e), i && -1 === Yt.inArray(n, e)) { 12320 if (Yt.each(Gp.dependencies(e), function (e) { 12321 bx(t, n, e) 12322 }), t.plugins[e]) return; 12323 o = new i(t, r, t.$), (t.plugins[e] = o).init && (o.init(t, r), n.push(e)) 12324 } 12325 }, 12326 yx = function (e) { 12327 return e.replace(/^\-/, "") 12328 }, 12329 Cx = function (e) { 12330 return { 12331 editorContainer: e, 12332 iframeContainer: e 12333 } 12334 }, 12335 xx = function (e) { 12336 var t, n, r = e.getElement(); 12337 return e.inline ? Cx(null) : (t = r, n = vx.create("div"), vx.insertAfter(n, t), Cx(n)) 12338 }, 12339 wx = function (e) { 12340 var t, n, r, o, i, a, u, s, c, l, f, d = e.settings, 12341 m = e.getElement(); 12342 return e.orgDisplay = m.style.display, k(d.theme) ? (l = (o = e).settings, f = o.getElement(), i = l.width || vx.getStyle(f, "width") || "100%", a = l.height || vx.getStyle(f, "height") || f.offsetHeight, u = l.min_height || 100, (s = /^[0-9\.]+(|px)$/i).test("" + i) && (i = Math.max(parseInt(i, 10), 100)), s.test("" + a) && (a = Math.max(parseInt(a, 10), u)), c = o.theme.renderUI({ 12343 targetNode: f, 12344 width: i, 12345 height: a, 12346 deltaWidth: l.delta_width, 12347 deltaHeight: l.delta_height 12348 }), l.content_editable || (a = (c.iframeHeight || a) + ("number" == typeof a ? c.deltaHeight || 0 : "")) < u && (a = u), c.height = a, c) : O(d.theme) ? (r = (t = e).getElement(), (n = t.settings.theme(t, r)).editorContainer.nodeType && (n.editorContainer.id = n.editorContainer.id || t.id + "_parent"), n.iframeContainer && n.iframeContainer.nodeType && (n.iframeContainer.id = n.iframeContainer.id || t.id + "_iframecontainer"), n.height = n.iframeHeight ? n.iframeHeight : r.offsetHeight, n) : xx(e) 12349 }, 12350 Nx = function (t) { 12351 var e, n, r, o, i, a, u = t.settings, 12352 s = t.getElement(); 12353 return t.rtl = u.rtl_ui || t.editorManager.i18n.rtl, t.editorManager.i18n.setCode(u.language), u.aria_label = u.aria_label || vx.getAttrib(s, "aria-label", t.getLang("aria.rich_text_area")), t.fire("ScriptsLoaded"), o = (n = t).settings.theme, k(o) ? (n.settings.theme = yx(o), r = Jp.get(o), n.theme = new r(n, Jp.urls[o]), n.theme.init && n.theme.init(n, Jp.urls[o] || n.documentBaseUrl.replace(/\/$/, ""), n.$)) : n.theme = {}, i = t, a = [], Yt.each(i.settings.plugins.split(/[ ,]/), function (e) { 12354 bx(i, a, yx(e)) 12355 }), e = wx(t), t.editorContainer = e.editorContainer ? e.editorContainer : null, u.content_css && Yt.each(Yt.explode(u.content_css), function (e) { 12356 t.contentCSS.push(t.documentBaseURI.toAbsolute(e)) 12357 }), u.content_editable ? mx(t) : hx(t, e) 12358 }, 12359 Ex = pi.DOM, 12360 Sx = function (e) { 12361 return "-" === e.charAt(0) 12362 }, 12363 Tx = function (i, a) { 12364 var u = Ci.ScriptLoader; 12365 ! function (e, t, n, r) { 12366 var o = t.settings, 12367 i = o.theme; 12368 if (k(i)) { 12369 if (!Sx(i) && !Jp.urls.hasOwnProperty(i)) { 12370 var a = o.theme_url; 12371 a ? Jp.load(i, t.documentBaseURI.toAbsolute(a)) : Jp.load(i, "themes/" + i + "/theme" + n + ".js") 12372 } 12373 e.loadQueue(function () { 12374 Jp.waitFor(i, r) 12375 }) 12376 } else r() 12377 }(u, i, a, function () { 12378 var e, t, n, r, o; 12379 e = u, (n = (t = i).settings).language && "en" !== n.language && !n.language_url && (n.language_url = t.editorManager.baseURL + "/langs/" + n.language + ".js"), n.language_url && !t.editorManager.i18n.data[n.language] && e.add(n.language_url), r = i.settings, o = a, Yt.isArray(r.plugins) && (r.plugins = r.plugins.join(" ")), Yt.each(r.external_plugins, function (e, t) { 12380 Gp.load(t, e), r.plugins += " " + t 12381 }), Yt.each(r.plugins.split(/[ ,]/), function (e) { 12382 if ((e = Yt.trim(e)) && !Gp.urls[e]) 12383 if (Sx(e)) { 12384 e = e.substr(1, e.length); 12385 var t = Gp.dependencies(e); 12386 Yt.each(t, function (e) { 12387 var t = { 12388 prefix: "plugins/", 12389 resource: e, 12390 suffix: "/plugin" + o + ".js" 12391 }; 12392 e = Gp.createUrl(t, e), Gp.load(e.resource, e) 12393 }) 12394 } else Gp.load(e, { 12395 prefix: "plugins/", 12396 resource: e, 12397 suffix: "/plugin" + o + ".js" 12398 }) 12399 }), u.loadQueue(function () { 12400 i.removed || Nx(i) 12401 }, i, function (e) { 12402 Wp(i, e[0]), i.removed || Nx(i) 12403 }) 12404 }) 12405 }, 12406 kx = function (t) { 12407 var e = t.settings, 12408 n = t.id, 12409 r = function () { 12410 Ex.unbind(window, "ready", r), t.render() 12411 }; 12412 if (je.Event.domLoaded) { 12413 if (t.getElement() && Re.contentEditable) { 12414 e.inline ? t.inline = !0 : (t.orgVisibility = t.getElement().style.visibility, t.getElement().style.visibility = "hidden"); 12415 var o = t.getElement().form || Ex.getParent(n, "form"); 12416 o && (t.formElement = o, e.hidden_input && !/TEXTAREA|INPUT/i.test(t.getElement().nodeName) && (Ex.insertAfter(Ex.create("input", { 12417 type: "hidden", 12418 name: n 12419 }), n), t.hasHiddenInput = !0), t.formEventDelegate = function (e) { 12420 t.fire(e.type, e) 12421 }, Ex.bind(o, "submit reset", t.formEventDelegate), t.on("reset", function () { 12422 t.setContent(t.startContent, { 12423 format: "raw" 12424 }) 12425 }), !e.submit_patch || o.submit.nodeType || o.submit.length || o._mceOldSubmit || (o._mceOldSubmit = o.submit, o.submit = function () { 12426 return t.editorManager.triggerSave(), t.setDirty(!1), o._mceOldSubmit(o) 12427 })), t.windowManager = Vp(t), t.notificationManager = zp(t), "xml" === e.encoding && t.on("GetContent", function (e) { 12428 e.save && (e.content = Ex.encode(e.content)) 12429 }), e.add_form_submit_trigger && t.on("submit", function () { 12430 t.initialized && t.save() 12431 }), e.add_unload_trigger && (t._beforeUnload = function () { 12432 !t.initialized || t.destroyed || t.isHidden() || t.save({ 12433 format: "raw", 12434 no_events: !0, 12435 set_dirty: !1 12436 }) 12437 }, t.editorManager.on("BeforeUnload", t._beforeUnload)), t.editorManager.add(t), Tx(t, t.suffix) 12438 } 12439 } else Ex.bind(window, "ready", r) 12440 }, 12441 Ax = function (e, t, n) { 12442 var r = e.sidebars ? e.sidebars : []; 12443 r.push({ 12444 name: t, 12445 settings: n 12446 }), e.sidebars = r 12447 }, 12448 _x = Yt.each, 12449 Rx = Yt.trim, 12450 Dx = "source protocol authority userInfo user password host port relative path directory file query anchor".split(" "), 12451 Bx = { 12452 ftp: 21, 12453 http: 80, 12454 https: 443, 12455 mailto: 25 12456 }, 12457 Ox = function (r, e) { 12458 var t, n, o = this; 12459 if (r = Rx(r), t = (e = o.settings = e || {}).base_uri, /^([\w\-]+):([^\/]{2})/i.test(r) || /^\s*#/.test(r)) o.source = r; 12460 else { 12461 var i = 0 === r.indexOf("//"); 12462 0 !== r.indexOf("/") || i || (r = (t && t.protocol || "http") + "://mce_host" + r), /^[\w\-]*:?\/\//.test(r) || (n = e.base_uri ? e.base_uri.path : new Ox(document.location.href).directory, "" == e.base_uri.protocol ? r = "//mce_host" + o.toAbsPath(n, r) : (r = /([^#?]*)([#?]?.*)/.exec(r), r = (t && t.protocol || "http") + "://mce_host" + o.toAbsPath(n, r[1]) + r[2])), r = r.replace(/@@/g, "(mce_at)"), r = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(r), _x(Dx, function (e, t) { 12463 var n = r[t]; 12464 n && (n = n.replace(/\(mce_at\)/g, "@@")), o[e] = n 12465 }), t && (o.protocol || (o.protocol = t.protocol), o.userInfo || (o.userInfo = t.userInfo), o.port || "mce_host" !== o.host || (o.port = t.port), o.host && "mce_host" !== o.host || (o.host = t.host), o.source = ""), i && (o.protocol = "") 12466 } 12467 }; 12468 Ox.prototype = { 12469 setPath: function (e) { 12470 e = /^(.*?)\/?(\w+)?$/.exec(e), this.path = e[0], this.directory = e[1], this.file = e[2], this.source = "", this.getURI() 12471 }, 12472 toRelative: function (e) { 12473 var t; 12474 if ("./" === e) return e; 12475 if ("mce_host" !== (e = new Ox(e, { 12476 base_uri: this 12477 })).host && this.host !== e.host && e.host || this.port !== e.port || this.protocol !== e.protocol && "" !== e.protocol) return e.getURI(); 12478 var n = this.getURI(), 12479 r = e.getURI(); 12480 return n === r || "/" === n.charAt(n.length - 1) && n.substr(0, n.length - 1) === r ? n : (t = this.toRelPath(this.path, e.path), e.query && (t += "?" + e.query), e.anchor && (t += "#" + e.anchor), t) 12481 }, 12482 toAbsolute: function (e, t) { 12483 return (e = new Ox(e, { 12484 base_uri: this 12485 })).getURI(t && this.isSameOrigin(e)) 12486 }, 12487 isSameOrigin: function (e) { 12488 if (this.host == e.host && this.protocol == e.protocol) { 12489 if (this.port == e.port) return !0; 12490 var t = Bx[this.protocol]; 12491 if (t && (this.port || t) == (e.port || t)) return !0 12492 } 12493 return !1 12494 }, 12495 toRelPath: function (e, t) { 12496 var n, r, o, i = 0, 12497 a = ""; 12498 if (e = (e = e.substring(0, e.lastIndexOf("/"))).split("/"), n = t.split("/"), e.length >= n.length) 12499 for (r = 0, o = e.length; r < o; r++) 12500 if (r >= n.length || e[r] !== n[r]) { 12501 i = r + 1; 12502 break 12503 } 12504 if (e.length < n.length) 12505 for (r = 0, o = n.length; r < o; r++) 12506 if (r >= e.length || e[r] !== n[r]) { 12507 i = r + 1; 12508 break 12509 } 12510 if (1 === i) return t; 12511 for (r = 0, o = e.length - (i - 1); r < o; r++) a += "../"; 12512 for (r = i - 1, o = n.length; r < o; r++) a += r !== i - 1 ? "/" + n[r] : n[r]; 12513 return a 12514 }, 12515 toAbsPath: function (e, t) { 12516 var n, r, o, i = 0, 12517 a = []; 12518 for (r = /\/$/.test(t) ? "/" : "", e = e.split("/"), t = t.split("/"), _x(e, function (e) { 12519 e && a.push(e) 12520 }), e = a, n = t.length - 1, a = []; 0 <= n; n--) 0 !== t[n].length && "." !== t[n] && (".." !== t[n] ? 0 < i ? i-- : a.push(t[n]) : i++); 12521 return 0 !== (o = (n = e.length - i) <= 0 ? a.reverse().join("/") : e.slice(0, n).join("/") + "/" + a.reverse().join("/")).indexOf("/") && (o = "/" + o), r && o.lastIndexOf("/") !== o.length - 1 && (o += r), o 12522 }, 12523 getURI: function (e) { 12524 var t, n = this; 12525 return n.source && !e || (t = "", e || (n.protocol ? t += n.protocol + "://" : t += "//", n.userInfo && (t += n.userInfo + "@"), n.host && (t += n.host), n.port && (t += ":" + n.port)), n.path && (t += n.path), n.query && (t += "?" + n.query), n.anchor && (t += "#" + n.anchor), n.source = t), n.source 12526 } 12527 }, Ox.parseDataUri = function (e) { 12528 var t, n; 12529 return e = decodeURIComponent(e).split(","), (n = /data:([^;]+)/.exec(e[0])) && (t = n[1]), { 12530 type: t, 12531 data: e[1] 12532 } 12533 }, Ox.getDocumentBaseUrl = function (e) { 12534 var t; 12535 return t = 0 !== e.protocol.indexOf("http") && "file:" !== e.protocol ? e.href : e.protocol + "//" + e.host + e.pathname, /^[^:]+:\/\/\/?[^\/]+\//.test(t) && (t = t.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, ""), /[\/\\]$/.test(t) || (t += "/")), t 12536 }; 12537 var Px = function (e, t, n) { 12538 var r, o, i, a, u; 12539 if (t.format = t.format ? t.format : "html", t.get = !0, t.getInner = !0, t.no_events || e.fire("BeforeGetContent", t), "raw" === t.format) r = Yt.trim(cv.trimExternal(e.serializer, n.innerHTML)); 12540 else if ("text" === t.format) r = Na(n.innerText || n.textContent); 12541 else { 12542 if ("tree" === t.format) return e.serializer.serialize(n, t); 12543 i = (o = e).serializer.serialize(n, t), a = ec(o), u = new RegExp("^(<" + a + "[^>]*>( | |\\s|\xa0|<br \\/>|)<\\/" + a + ">[\r\n]*|<br \\/>[\r\n]*)$"), r = i.replace(u, "") 12544 } 12545 return "text" === t.format || Co(er.fromDom(n)) ? t.content = r : t.content = Yt.trim(r), t.no_events || e.fire("GetContent", t), t.content 12546 }, 12547 Lx = function (e, t) { 12548 t(e), e.firstChild && Lx(e.firstChild, t), e.next && Lx(e.next, t) 12549 }, 12550 Ix = function (e, t, n) { 12551 var r = function (e, n, t) { 12552 var r = {}, 12553 o = {}, 12554 i = []; 12555 for (var a in t.firstChild && Lx(t.firstChild, function (t) { 12556 F(e, function (e) { 12557 e.name === t.name && (r[e.name] ? r[e.name].nodes.push(t) : r[e.name] = { 12558 filter: e, 12559 nodes: [t] 12560 }) 12561 }), F(n, function (e) { 12562 "string" == typeof t.attr(e.name) && (o[e.name] ? o[e.name].nodes.push(t) : o[e.name] = { 12563 filter: e, 12564 nodes: [t] 12565 }) 12566 }) 12567 }), r) r.hasOwnProperty(a) && i.push(r[a]); 12568 for (var a in o) o.hasOwnProperty(a) && i.push(o[a]); 12569 return i 12570 }(e, t, n); 12571 F(r, function (t) { 12572 F(t.filter.callbacks, function (e) { 12573 e(t.nodes, t.filter.name, {}) 12574 }) 12575 }) 12576 }, 12577 Mx = function (e) { 12578 return e instanceof ty 12579 }, 12580 Fx = function (e, t) { 12581 var r; 12582 e.dom.setHTML(e.getBody(), t), Dp(r = e) && fl.firstPositionIn(r.getBody()).each(function (e) { 12583 var t = e.getNode(), 12584 n = Do.isTable(t) ? fl.firstPositionIn(t).getOr(e) : e; 12585 r.selection.setRng(n.toRange()) 12586 }) 12587 }, 12588 Ux = function (u, s, c) { 12589 return void 0 === c && (c = {}), c.format = c.format ? c.format : "html", c.set = !0, c.content = Mx(s) ? "" : s, Mx(s) || c.no_events || (u.fire("BeforeSetContent", c), s = c.content), A.from(u.getBody()).fold(H(s), function (e) { 12590 return Mx(s) ? function (e, t, n, r) { 12591 Ix(e.parser.getNodeFilters(), e.parser.getAttributeFilters(), n); 12592 var o = lf({ 12593 validate: e.validate 12594 }, e.schema).serialize(n); 12595 return r.content = Co(er.fromDom(t)) ? o : Yt.trim(o), Fx(e, r.content), r.no_events || e.fire("SetContent", r), n 12596 }(u, e, s, c) : (t = u, n = e, o = c, 0 === (r = s).length || /^\s+$/.test(r) ? (a = '<br data-mce-bogus="1">', "TABLE" === n.nodeName ? r = "<tr><td>" + a + "</td></tr>" : /^(UL|OL)$/.test(n.nodeName) && (r = "<li>" + a + "</li>"), (i = ec(t)) && t.schema.isValidChild(n.nodeName.toLowerCase(), i.toLowerCase()) ? (r = a, r = t.dom.createHTML(i, t.settings.forced_root_block_attrs, r)) : r || (r = '<br data-mce-bogus="1">'), Fx(t, r), t.fire("SetContent", o)) : ("raw" !== o.format && (r = lf({ 12597 validate: t.validate 12598 }, t.schema).serialize(t.parser.parse(r, { 12599 isRootContent: !0, 12600 insert: !0 12601 }))), o.content = Co(er.fromDom(n)) ? r : Yt.trim(r), Fx(t, o.content), o.no_events || t.fire("SetContent", o)), o.content); 12602 var t, n, r, o, i, a 12603 }) 12604 }, 12605 zx = pi.DOM, 12606 Vx = function (e) { 12607 return A.from(e).each(function (e) { 12608 return e.destroy() 12609 }) 12610 }, 12611 qx = function (e) { 12612 if (!e.removed) { 12613 var t = e._selectionOverrides, 12614 n = e.editorUpload, 12615 r = e.getBody(), 12616 o = e.getElement(); 12617 r && e.save({ 12618 is_removing: !0 12619 }), e.removed = !0, e.unbindAllNativeEvents(), e.hasHiddenInput && o && zx.remove(o.nextSibling), !e.inline && r && (i = e, zx.setStyle(i.id, "display", i.orgDisplay)), rp(e), e.editorManager.remove(e), zx.remove(e.getContainer()), Vx(t), Vx(n), e.destroy() 12620 } 12621 var i 12622 }, 12623 Hx = function (e, t) { 12624 var n, r, o, i = e.selection, 12625 a = e.dom; 12626 e.destroyed || (t || e.removed ? (t || (e.editorManager.off("beforeunload", e._beforeUnload), e.theme && e.theme.destroy && e.theme.destroy(), Vx(i), Vx(a)), (r = (n = e).formElement) && (r._mceOldSubmit && (r.submit = r._mceOldSubmit, r._mceOldSubmit = null), zx.unbind(r, "submit reset", n.formEventDelegate)), (o = e).contentAreaContainer = o.formElement = o.container = o.editorContainer = null, o.bodyElement = o.contentDocument = o.contentWindow = null, o.iframeElement = o.targetElm = null, o.selection && (o.selection = o.selection.win = o.selection.dom = o.selection.dom.doc = null), e.destroyed = !0) : e.remove()) 12627 }, 12628 jx = pi.DOM, 12629 $x = Yt.extend, 12630 Wx = Yt.each, 12631 Kx = Yt.resolve, 12632 Xx = Re.ie, 12633 Yx = function (e, t, n) { 12634 var r, o, i, a, u, s, c, l = this, 12635 f = l.documentBaseUrl = n.documentBaseURL, 12636 d = n.baseURI; 12637 r = l, o = e, i = f, a = n.defaultSettings, u = t, c = { 12638 id: o, 12639 theme: "modern", 12640 delta_width: 0, 12641 delta_height: 0, 12642 popup_css: "", 12643 plugins: "", 12644 document_base_url: i, 12645 add_form_submit_trigger: !0, 12646 submit_patch: !0, 12647 add_unload_trigger: !0, 12648 convert_urls: !0, 12649 relative_urls: !0, 12650 remove_script_host: !0, 12651 object_resizing: !0, 12652 doctype: "<!DOCTYPE html>", 12653 visual: !0, 12654 font_size_style_values: "xx-small,x-small,small,medium,large,x-large,xx-large", 12655 font_size_legacy_values: "xx-small,small,medium,large,x-large,xx-large,300%", 12656 forced_root_block: "p", 12657 hidden_input: !0, 12658 render_ui: !0, 12659 indentation: "30px", 12660 inline_styles: !0, 12661 convert_fonts_to_spans: !0, 12662 indent: "simple", 12663 indent_before: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist", 12664 indent_after: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist", 12665 entity_encoding: "named", 12666 url_converter: (s = r).convertURL, 12667 url_converter_scope: s, 12668 ie7_compat: !0 12669 }, t = Ef(vf, c, a, u), l.settings = t, Ni.language = t.language || "en", Ni.languageLoad = t.language_load, Ni.baseURL = n.baseURL, l.id = e, l.setDirty(!1), l.plugins = {}, l.documentBaseURI = new Ox(t.document_base_url, { 12670 base_uri: d 12671 }), l.baseURI = d, l.contentCSS = [], l.contentStyles = [], l.shortcuts = new Cp(l), l.loadedCSS = {}, l.editorCommands = new Yg(l), l.suffix = n.suffix, l.editorManager = n, l.inline = t.inline, l.buttons = {}, l.menuItems = {}, t.cache_suffix && (Re.cacheSuffix = t.cache_suffix.replace(/^[\?\&]+/, "")), !1 === t.override_viewport && (Re.overrideViewPort = !1), n.fire("SetupEditor", { 12672 editor: l 12673 }), l.execCallback("setup", l), l.$ = pn.overrideDefaults(function () { 12674 return { 12675 context: l.inline ? l.getBody() : l.getDoc(), 12676 element: l.getBody() 12677 } 12678 }) 12679 }; 12680 $x(Yx.prototype = { 12681 render: function () { 12682 kx(this) 12683 }, 12684 focus: function (e) { 12685 Rp(this, e) 12686 }, 12687 hasFocus: function () { 12688 return Dp(this) 12689 }, 12690 execCallback: function (e) { 12691 for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; 12692 var r, o = this.settings[e]; 12693 if (o) return this.callbackLookup && (r = this.callbackLookup[e]) && (o = r.func, r = r.scope), "string" == typeof o && (r = (r = o.replace(/\.\w+$/, "")) ? Kx(r) : 0, o = Kx(o), this.callbackLookup = this.callbackLookup || {}, this.callbackLookup[e] = { 12694 func: o, 12695 scope: r 12696 }), o.apply(r || this, Array.prototype.slice.call(arguments, 1)) 12697 }, 12698 translate: function (e) { 12699 if (e && Yt.is(e, "string")) { 12700 var n = this.settings.language || "en", 12701 r = this.editorManager.i18n; 12702 e = r.data[n + "." + e] || e.replace(/\{\#([^\}]+)\}/g, function (e, t) { 12703 return r.data[n + "." + t] || "{#" + t + "}" 12704 }) 12705 } 12706 return this.editorManager.translate(e) 12707 }, 12708 getLang: function (e, t) { 12709 return this.editorManager.i18n.data[(this.settings.language || "en") + "." + e] || (t !== undefined ? t : "{#" + e + "}") 12710 }, 12711 getParam: function (e, t, n) { 12712 return kf(this, e, t, n) 12713 }, 12714 nodeChanged: function (e) { 12715 this._nodeChangeDispatcher.nodeChanged(e) 12716 }, 12717 addButton: function (e, t) { 12718 var n = this; 12719 t.cmd && (t.onclick = function () { 12720 n.execCommand(t.cmd) 12721 }), t.stateSelector && "undefined" == typeof t.active && (t.active = !1), t.text || t.icon || (t.icon = e), n.buttons = n.buttons, t.tooltip = t.tooltip || t.title, n.buttons[e] = t 12722 }, 12723 addSidebar: function (e, t) { 12724 return Ax(this, e, t) 12725 }, 12726 addMenuItem: function (e, t) { 12727 var n = this; 12728 t.cmd && (t.onclick = function () { 12729 n.execCommand(t.cmd) 12730 }), n.menuItems = n.menuItems, n.menuItems[e] = t 12731 }, 12732 addContextToolbar: function (e, t) { 12733 var n, r = this; 12734 r.contextToolbars = r.contextToolbars || [], "string" == typeof e && (n = e, e = function (e) { 12735 return r.dom.is(e, n) 12736 }), r.contextToolbars.push({ 12737 id: dh.uuid("mcet"), 12738 predicate: e, 12739 items: t 12740 }) 12741 }, 12742 addCommand: function (e, t, n) { 12743 this.editorCommands.addCommand(e, t, n) 12744 }, 12745 addQueryStateHandler: function (e, t, n) { 12746 this.editorCommands.addQueryStateHandler(e, t, n) 12747 }, 12748 addQueryValueHandler: function (e, t, n) { 12749 this.editorCommands.addQueryValueHandler(e, t, n) 12750 }, 12751 addShortcut: function (e, t, n, r) { 12752 this.shortcuts.add(e, t, n, r) 12753 }, 12754 execCommand: function (e, t, n, r) { 12755 return this.editorCommands.execCommand(e, t, n, r) 12756 }, 12757 queryCommandState: function (e) { 12758 return this.editorCommands.queryCommandState(e) 12759 }, 12760 queryCommandValue: function (e) { 12761 return this.editorCommands.queryCommandValue(e) 12762 }, 12763 queryCommandSupported: function (e) { 12764 return this.editorCommands.queryCommandSupported(e) 12765 }, 12766 show: function () { 12767 this.hidden && (this.hidden = !1, this.inline ? this.getBody().contentEditable = !0 : (jx.show(this.getContainer()), jx.hide(this.id)), this.load(), this.fire("show")) 12768 }, 12769 hide: function () { 12770 var e = this, 12771 t = e.getDoc(); 12772 e.hidden || (Xx && t && !e.inline && t.execCommand("SelectAll"), e.save(), e.inline ? (e.getBody().contentEditable = !1, e === e.editorManager.focusedEditor && (e.editorManager.focusedEditor = null)) : (jx.hide(e.getContainer()), jx.setStyle(e.id, "display", e.orgDisplay)), e.hidden = !0, e.fire("hide")) 12773 }, 12774 isHidden: function () { 12775 return !!this.hidden 12776 }, 12777 setProgressState: function (e, t) { 12778 this.fire("ProgressState", { 12779 state: e, 12780 time: t 12781 }) 12782 }, 12783 load: function (e) { 12784 var t, n = this.getElement(); 12785 return this.removed ? "" : n ? ((e = e || {}).load = !0, t = this.setContent(n.value !== undefined ? n.value : n.innerHTML, e), e.element = n, e.no_events || this.fire("LoadContent", e), e.element = n = null, t) : void 0 12786 }, 12787 save: function (e) { 12788 var t, n, r = this, 12789 o = r.getElement(); 12790 if (o && r.initialized && !r.removed) return (e = e || {}).save = !0, e.element = o, e.content = r.getContent(e), e.no_events || r.fire("SaveContent", e), "raw" === e.format && r.fire("RawSaveContent", e), t = e.content, /TEXTAREA|INPUT/i.test(o.nodeName) ? o.value = t : (!e.is_removing && r.inline || (o.innerHTML = t), (n = jx.getParent(r.id, "form")) && Wx(n.elements, function (e) { 12791 if (e.name === r.id) return e.value = t, !1 12792 })), e.element = o = null, !1 !== e.set_dirty && r.setDirty(!1), t 12793 }, 12794 setContent: function (e, t) { 12795 return Ux(this, e, t) 12796 }, 12797 getContent: function (e) { 12798 return t = this, void 0 === (n = e) && (n = {}), A.from(t.getBody()).fold(H("tree" === n.format ? new ty("body", 11) : ""), function (e) { 12799 return Px(t, n, e) 12800 }); 12801 var t, n 12802 }, 12803 insertContent: function (e, t) { 12804 t && (e = $x({ 12805 content: e 12806 }, t)), this.execCommand("mceInsertContent", !1, e) 12807 }, 12808 isDirty: function () { 12809 return !this.isNotDirty 12810 }, 12811 setDirty: function (e) { 12812 var t = !this.isNotDirty; 12813 this.isNotDirty = !e, e && e !== t && this.fire("dirty") 12814 }, 12815 setMode: function (e) { 12816 var t, n; 12817 (n = e) !== cp(t = this) && (t.initialized ? sp(t, "readonly" === n) : t.on("init", function () { 12818 sp(t, "readonly" === n) 12819 }), op(t, n)) 12820 }, 12821 getContainer: function () { 12822 return this.container || (this.container = jx.get(this.editorContainer || this.id + "_parent")), this.container 12823 }, 12824 getContentAreaContainer: function () { 12825 return this.contentAreaContainer 12826 }, 12827 getElement: function () { 12828 return this.targetElm || (this.targetElm = jx.get(this.id)), this.targetElm 12829 }, 12830 getWin: function () { 12831 var e; 12832 return this.contentWindow || (e = this.iframeElement) && (this.contentWindow = e.contentWindow), this.contentWindow 12833 }, 12834 getDoc: function () { 12835 var e; 12836 return this.contentDocument || (e = this.getWin()) && (this.contentDocument = e.document), this.contentDocument 12837 }, 12838 getBody: function () { 12839 var e = this.getDoc(); 12840 return this.bodyElement || (e ? e.body : null) 12841 }, 12842 convertURL: function (e, t, n) { 12843 var r = this.settings; 12844 return r.urlconverter_callback ? this.execCallback("urlconverter_callback", e, n, !0, t) : !r.convert_urls || n && "LINK" === n.nodeName || 0 === e.indexOf("file:") || 0 === e.length ? e : r.relative_urls ? this.documentBaseURI.toRelative(e) : e = this.documentBaseURI.toAbsolute(e, r.remove_script_host) 12845 }, 12846 addVisual: function (e) { 12847 var n, r = this, 12848 o = r.settings, 12849 i = r.dom; 12850 e = e || r.getBody(), r.hasVisual === undefined && (r.hasVisual = o.visual), Wx(i.select("table,a", e), function (e) { 12851 var t; 12852 switch (e.nodeName) { 12853 case "TABLE": 12854 return n = o.visual_table_class || "mce-item-table", void((t = i.getAttrib(e, "border")) && "0" !== t || !r.hasVisual ? i.removeClass(e, n) : i.addClass(e, n)); 12855 case "A": 12856 return void(i.getAttrib(e, "href") || (t = i.getAttrib(e, "name") || e.id, n = o.visual_anchor_class || "mce-item-anchor", t && r.hasVisual ? i.addClass(e, n) : i.removeClass(e, n))) 12857 } 12858 }), r.fire("VisualAid", { 12859 element: e, 12860 hasVisual: r.hasVisual 12861 }) 12862 }, 12863 remove: function () { 12864 qx(this) 12865 }, 12866 destroy: function (e) { 12867 Hx(this, e) 12868 }, 12869 uploadImages: function (e) { 12870 return this.editorUpload.uploadImages(e) 12871 }, 12872 _scanForImages: function () { 12873 return this.editorUpload.scanForImages() 12874 } 12875 }, pp); 12876 var Gx, Jx, Qx, Zx = { 12877 isEditorUIElement: function (e) { 12878 return -1 !== e.className.toString().indexOf("mce-") 12879 } 12880 }, 12881 ew = function (n, e) { 12882 var t, r; 12883 Qn.detect().browser.isIE() ? (r = n).on("focusout", function () { 12884 Vg(r) 12885 }) : (t = e, n.on("mouseup touchend", function (e) { 12886 t.throttle() 12887 })), n.on("keyup nodechange", function (e) { 12888 var t; 12889 "nodechange" === (t = e).type && t.selectionChange || Vg(n) 12890 }) 12891 }, 12892 tw = function (e) { 12893 var t, n, r, o = Di(function () { 12894 Vg(e) 12895 }, 0); 12896 e.inline && (t = e, n = o, r = function () { 12897 n.throttle() 12898 }, pi.DOM.bind(document, "mouseup", r), t.on("remove", function () { 12899 pi.DOM.unbind(document, "mouseup", r) 12900 })), e.on("init", function () { 12901 ew(e, o) 12902 }), e.on("remove", function () { 12903 o.cancel() 12904 }) 12905 }, 12906 nw = pi.DOM, 12907 rw = function (e) { 12908 return Zx.isEditorUIElement(e) 12909 }, 12910 ow = function (t, e) { 12911 var n = t ? t.settings.custom_ui_selector : ""; 12912 return null !== nw.getParent(e, function (e) { 12913 return rw(e) || !!n && t.dom.is(e, n) 12914 }) 12915 }, 12916 iw = function (r, e) { 12917 var t = e.editor; 12918 tw(t), t.on("focusin", function () { 12919 var e = r.focusedEditor; 12920 e !== this && (e && e.fire("blur", { 12921 focusedEditor: this 12922 }), r.setActive(this), (r.focusedEditor = this).fire("focus", { 12923 blurredEditor: e 12924 }), this.focus(!0)) 12925 }), t.on("focusout", function () { 12926 var t = this; 12927 Le.setEditorTimeout(t, function () { 12928 var e = r.focusedEditor; 12929 ow(t, function () { 12930 try { 12931 return document.activeElement 12932 } catch (e) { 12933 return document.body 12934 } 12935 }()) || e !== t || (t.fire("blur", { 12936 focusedEditor: null 12937 }), r.focusedEditor = null) 12938 }) 12939 }), Gx || (Gx = function (e) { 12940 var t, n = r.activeEditor; 12941 t = e.target, n && t.ownerDocument === document && (t === document.body || ow(n, t) || r.focusedEditor !== n || (n.fire("blur", { 12942 focusedEditor: null 12943 }), r.focusedEditor = null)) 12944 }, nw.bind(document, "focusin", Gx)) 12945 }, 12946 aw = function (e, t) { 12947 e.focusedEditor === t.editor && (e.focusedEditor = null), e.activeEditor || (nw.unbind(document, "focusin", Gx), Gx = null) 12948 }, 12949 uw = function (e) { 12950 e.on("AddEditor", b(iw, e)), e.on("RemoveEditor", b(aw, e)) 12951 }, 12952 sw = {}, 12953 cw = "en", 12954 lw = { 12955 setCode: function (e) { 12956 e && (cw = e, this.rtl = !!this.data[e] && "rtl" === this.data[e]._dir) 12957 }, 12958 getCode: function () { 12959 return cw 12960 }, 12961 rtl: !1, 12962 add: function (e, t) { 12963 var n = sw[e]; 12964 for (var r in n || (sw[e] = n = {}), t) n[r] = t[r]; 12965 this.setCode(e) 12966 }, 12967 translate: function (e) { 12968 var t = sw[cw] || {}, 12969 n = function (e) { 12970 return Yt.is(e, "function") ? Object.prototype.toString.call(e) : r(e) ? "" : "" + e 12971 }, 12972 r = function (e) { 12973 return "" === e || null === e || Yt.is(e, "undefined") 12974 }, 12975 o = function (e) { 12976 return e = n(e), Yt.hasOwn(t, e) ? n(t[e]) : e 12977 }; 12978 if (r(e)) return ""; 12979 if (Yt.is(e, "object") && Yt.hasOwn(e, "raw")) return n(e.raw); 12980 if (Yt.is(e, "array")) { 12981 var i = e.slice(1); 12982 e = o(e[0]).replace(/\{([0-9]+)\}/g, function (e, t) { 12983 return Yt.hasOwn(i, t) ? n(i[t]) : e 12984 }) 12985 } 12986 return o(e).replace(/{context:\w+}$/, "") 12987 }, 12988 data: sw 12989 }, 12990 fw = pi.DOM, 12991 dw = Yt.explode, 12992 mw = Yt.each, 12993 gw = Yt.extend, 12994 pw = 0, 12995 hw = !1, 12996 vw = [], 12997 bw = [], 12998 yw = function (t) { 12999 mw(Qx.get(), function (e) { 13000 "scroll" === t.type ? e.fire("ScrollWindow", t) : e.fire("ResizeWindow", t) 13001 }) 13002 }, 13003 Cw = function (e) { 13004 e !== hw && (e ? pn(window).on("resize scroll", yw) : pn(window).off("resize scroll", yw), hw = e) 13005 }, 13006 xw = function (t) { 13007 var e = bw; 13008 delete vw[t.id]; 13009 for (var n = 0; n < vw.length; n++) 13010 if (vw[n] === t) { 13011 vw.splice(n, 1); 13012 break 13013 } 13014 return bw = U(bw, function (e) { 13015 return t !== e 13016 }), Qx.activeEditor === t && (Qx.activeEditor = 0 < bw.length ? bw[0] : null), Qx.focusedEditor === t && (Qx.focusedEditor = null), e.length !== bw.length 13017 }; 13018 gw(Qx = { 13019 defaultSettings: {}, 13020 $: pn, 13021 majorVersion: "4", 13022 minorVersion: "8.3", 13023 releaseDate: "2018-09-13", 13024 editors: vw, 13025 i18n: lw, 13026 activeEditor: null, 13027 settings: {}, 13028 setup: function () { 13029 var e, t, n, r, o = ""; 13030 if (t = Ox.getDocumentBaseUrl(document.location), /^[^:]+:\/\/\/?[^\/]+\//.test(t) && (t = t.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, ""), /[\/\\]$/.test(t) || (t += "/")), n = window.tinymce || window.tinyMCEPreInit) e = n.base || n.baseURL, o = n.suffix; 13031 else { 13032 for (var i = document.getElementsByTagName("script"), a = 0; a < i.length; a++) { 13033 var u = (r = i[a].src).substring(r.lastIndexOf("/")); 13034 if (/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(r)) { 13035 -1 !== u.indexOf(".min") && (o = ".min"), e = r.substring(0, r.lastIndexOf("/")); 13036 break 13037 } 13038 }!e && document.currentScript && (-1 !== (r = document.currentScript.src).indexOf(".min") && (o = ".min"), e = r.substring(0, r.lastIndexOf("/"))) 13039 } 13040 this.baseURL = new Ox(t).toAbsolute(e), this.documentBaseURL = t, this.baseURI = new Ox(this.baseURL), this.suffix = o, uw(this) 13041 }, 13042 overrideDefaults: function (e) { 13043 var t, n; 13044 (t = e.base_url) && (this.baseURL = new Ox(this.documentBaseURL).toAbsolute(t.replace(/\/+$/, "")), this.baseURI = new Ox(this.baseURL)), n = e.suffix, e.suffix && (this.suffix = n); 13045 var r = (this.defaultSettings = e).plugin_base_urls; 13046 for (var o in r) Ni.PluginManager.urls[o] = r[o] 13047 }, 13048 init: function (r) { 13049 var n, u, s = this; 13050 u = Yt.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu", " "); 13051 var c = function (e) { 13052 var t = e.id; 13053 return t || (t = (t = e.name) && !fw.get(t) ? e.name : fw.uniqueId(), e.setAttribute("id", t)), t 13054 }, 13055 l = function (e, t) { 13056 return t.constructor === RegExp ? t.test(e.className) : fw.hasClass(e, t) 13057 }, 13058 f = function (e) { 13059 n = e 13060 }, 13061 e = function () { 13062 var o, i = 0, 13063 a = [], 13064 n = function (e, t, n) { 13065 var r = new Yx(e, t, s); 13066 a.push(r), r.on("init", function () { 13067 ++i === o.length && f(a) 13068 }), r.targetElm = r.targetElm || n, r.render() 13069 }; 13070 fw.unbind(window, "ready", e), 13071 function (e) { 13072 var t = r[e]; 13073 t && t.apply(s, Array.prototype.slice.call(arguments, 2)) 13074 }("onpageload"), o = pn.unique(function (t) { 13075 var e, n = []; 13076 if (Re.ie && Re.ie < 11) return Yp("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/"), []; 13077 if (t.types) return mw(t.types, function (e) { 13078 n = n.concat(fw.select(e.selector)) 13079 }), n; 13080 if (t.selector) return fw.select(t.selector); 13081 if (t.target) return [t.target]; 13082 switch (t.mode) { 13083 case "exact": 13084 0 < (e = t.elements || "").length && mw(dw(e), function (t) { 13085 var e; 13086 (e = fw.get(t)) ? n.push(e): mw(document.forms, function (e) { 13087 mw(e.elements, function (e) { 13088 e.name === t && (t = "mce_editor_" + pw++, fw.setAttrib(e, "id", t), n.push(e)) 13089 }) 13090 }) 13091 }); 13092 break; 13093 case "textareas": 13094 case "specific_textareas": 13095 mw(fw.select("textarea"), function (e) { 13096 t.editor_deselector && l(e, t.editor_deselector) || t.editor_selector && !l(e, t.editor_selector) || n.push(e) 13097 }) 13098 } 13099 return n 13100 }(r)), r.types ? mw(r.types, function (t) { 13101 Yt.each(o, function (e) { 13102 return !fw.is(e, t.selector) || (n(c(e), gw({}, r, t), e), !1) 13103 }) 13104 }) : (Yt.each(o, function (e) { 13105 var t; 13106 (t = s.get(e.id)) && t.initialized && !(t.getContainer() || t.getBody()).parentNode && (xw(t), t.unbindAllNativeEvents(), t.destroy(!0), t.removed = !0, t = null) 13107 }), 0 === (o = Yt.grep(o, function (e) { 13108 return !s.get(e.id) 13109 })).length ? f([]) : mw(o, function (e) { 13110 var t; 13111 t = e, r.inline && t.tagName.toLowerCase() in u ? Yp("Could not initialize inline editor on invalid inline target element", e) : n(c(e), r, e) 13112 })) 13113 }; 13114 return s.settings = r, fw.bind(window, "ready", e), new De(function (t) { 13115 n ? t(n) : f = function (e) { 13116 t(e) 13117 } 13118 }) 13119 }, 13120 get: function (t) { 13121 return 0 === arguments.length ? bw.slice(0) : k(t) ? V(bw, function (e) { 13122 return e.id === t 13123 }).getOr(null) : P(t) && bw[t] ? bw[t] : null 13124 }, 13125 add: function (e) { 13126 var t = this; 13127 return vw[e.id] === e || (null === t.get(e.id) && ("length" !== e.id && (vw[e.id] = e), vw.push(e), bw.push(e)), Cw(!0), t.activeEditor = e, t.fire("AddEditor", { 13128 editor: e 13129 }), Jx || (Jx = function () { 13130 t.fire("BeforeUnload") 13131 }, fw.bind(window, "beforeunload", Jx))), e 13132 }, 13133 createEditor: function (e, t) { 13134 return this.add(new Yx(e, t, this)) 13135 }, 13136 remove: function (e) { 13137 var t, n, r = this; 13138 if (e) { 13139 if (!k(e)) return n = e, D(r.get(n.id)) ? null : (xw(n) && r.fire("RemoveEditor", { 13140 editor: n 13141 }), 0 === bw.length && fw.unbind(window, "beforeunload", Jx), n.remove(), Cw(0 < bw.length), n); 13142 mw(fw.select(e), function (e) { 13143 (n = r.get(e.id)) && r.remove(n) 13144 }) 13145 } else 13146 for (t = bw.length - 1; 0 <= t; t--) r.remove(bw[t]) 13147 }, 13148 execCommand: function (e, t, n) { 13149 var r = this.get(n); 13150 switch (e) { 13151 case "mceAddEditor": 13152 return this.get(n) || new Yx(n, this.settings, this).render(), !0; 13153 case "mceRemoveEditor": 13154 return r && r.remove(), !0; 13155 case "mceToggleEditor": 13156 return r ? r.isHidden() ? r.show() : r.hide() : this.execCommand("mceAddEditor", 0, n), !0 13157 } 13158 return !!this.activeEditor && this.activeEditor.execCommand(e, t, n) 13159 }, 13160 triggerSave: function () { 13161 mw(bw, function (e) { 13162 e.save() 13163 }) 13164 }, 13165 addI18n: function (e, t) { 13166 lw.add(e, t) 13167 }, 13168 translate: function (e) { 13169 return lw.translate(e) 13170 }, 13171 setActive: function (e) { 13172 var t = this.activeEditor; 13173 this.activeEditor !== e && (t && t.fire("deactivate", { 13174 relatedTarget: e 13175 }), e.fire("activate", { 13176 relatedTarget: t 13177 })), this.activeEditor = e 13178 } 13179 }, ep), Qx.setup(); 13180 var ww, Nw = Qx; 13181 13182 function Ew(n) { 13183 return { 13184 walk: function (e, t) { 13185 return Ul(n, e, t) 13186 }, 13187 split: Vv, 13188 normalize: function (t) { 13189 return mg(n, t).fold(H(!1), function (e) { 13190 return t.setStart(e.startContainer, e.startOffset), t.setEnd(e.endContainer, e.endOffset), !0 13191 }) 13192 } 13193 } 13194 }(ww = Ew || (Ew = {})).compareRanges = ag, ww.getCaretRangeFromPoint = Ey, ww.getSelectedNode = Za, ww.getNode = eu; 13195 var Sw, Tw, kw = Ew, 13196 Aw = Math.min, 13197 _w = Math.max, 13198 Rw = Math.round, 13199 Dw = function (e, t, n) { 13200 var r, o, i, a, u, s; 13201 return r = t.x, o = t.y, i = e.w, a = e.h, u = t.w, s = t.h, "b" === (n = (n || "").split(""))[0] && (o += s), "r" === n[1] && (r += u), "c" === n[0] && (o += Rw(s / 2)), "c" === n[1] && (r += Rw(u / 2)), "b" === n[3] && (o -= a), "r" === n[4] && (r -= i), "c" === n[3] && (o -= Rw(a / 2)), "c" === n[4] && (r -= Rw(i / 2)), Bw(r, o, i, a) 13202 }, 13203 Bw = function (e, t, n, r) { 13204 return { 13205 x: e, 13206 y: t, 13207 w: n, 13208 h: r 13209 } 13210 }, 13211 Ow = { 13212 inflate: function (e, t, n) { 13213 return Bw(e.x - t, e.y - n, e.w + 2 * t, e.h + 2 * n) 13214 }, 13215 relativePosition: Dw, 13216 findBestRelativePosition: function (e, t, n, r) { 13217 var o, i; 13218 for (i = 0; i < r.length; i++) 13219 if ((o = Dw(e, t, r[i])).x >= n.x && o.x + o.w <= n.w + n.x && o.y >= n.y && o.y + o.h <= n.h + n.y) return r[i]; 13220 return null 13221 }, 13222 intersect: function (e, t) { 13223 var n, r, o, i; 13224 return n = _w(e.x, t.x), r = _w(e.y, t.y), o = Aw(e.x + e.w, t.x + t.w), i = Aw(e.y + e.h, t.y + t.h), o - n < 0 || i - r < 0 ? null : Bw(n, r, o - n, i - r) 13225 }, 13226 clamp: function (e, t, n) { 13227 var r, o, i, a, u, s, c, l, f, d; 13228 return u = e.x, s = e.y, c = e.x + e.w, l = e.y + e.h, f = t.x + t.w, d = t.y + t.h, r = _w(0, t.x - u), o = _w(0, t.y - s), i = _w(0, c - f), a = _w(0, l - d), u += r, s += o, n && (c += r, l += o, u -= i, s -= a), Bw(u, s, (c -= i) - u, (l -= a) - s) 13229 }, 13230 create: Bw, 13231 fromClientRect: function (e) { 13232 return Bw(e.left, e.top, e.width, e.height) 13233 } 13234 }, 13235 Pw = {}, 13236 Lw = { 13237 add: function (e, t) { 13238 Pw[e.toLowerCase()] = t 13239 }, 13240 has: function (e) { 13241 return !!Pw[e.toLowerCase()] 13242 }, 13243 get: function (e) { 13244 var t = e.toLowerCase(), 13245 n = Pw.hasOwnProperty(t) ? Pw[t] : null; 13246 if (null === n) throw new Error("Could not find module for type: " + e); 13247 return n 13248 }, 13249 create: function (e, t) { 13250 var n; 13251 if ("string" == typeof e ? (t = t || {}).type = e : e = (t = e).type, e = e.toLowerCase(), !(n = Pw[e])) throw new Error("Could not find control by type: " + e); 13252 return (n = new n(t)).type = e, n 13253 } 13254 }, 13255 Iw = Yt.each, 13256 Mw = Yt.extend, 13257 Fw = function () {}; 13258 Fw.extend = Sw = function (n) { 13259 var e, t, r, o = this.prototype, 13260 i = function () { 13261 var e, t, n; 13262 if (!Tw && (this.init && this.init.apply(this, arguments), t = this.Mixins)) 13263 for (e = t.length; e--;)(n = t[e]).init && n.init.apply(this, arguments) 13264 }, 13265 a = function () { 13266 return this 13267 }, 13268 u = function (n, r) { 13269 return function () { 13270 var e, t = this._super; 13271 return this._super = o[n], e = r.apply(this, arguments), this._super = t, e 13272 } 13273 }; 13274 for (t in Tw = !0, e = new this, Tw = !1, n.Mixins && (Iw(n.Mixins, function (e) { 13275 for (var t in e) "init" !== t && (n[t] = e[t]) 13276 }), o.Mixins && (n.Mixins = o.Mixins.concat(n.Mixins))), n.Methods && Iw(n.Methods.split(","), function (e) { 13277 n[e] = a 13278 }), n.Properties && Iw(n.Properties.split(","), function (e) { 13279 var t = "_" + e; 13280 n[e] = function (e) { 13281 return e !== undefined ? (this[t] = e, this) : this[t] 13282 } 13283 }), n.Statics && Iw(n.Statics, function (e, t) { 13284 i[t] = e 13285 }), n.Defaults && o.Defaults && (n.Defaults = Mw({}, o.Defaults, n.Defaults)), n) "function" == typeof (r = n[t]) && o[t] ? e[t] = u(t, r) : e[t] = r; 13286 return i.prototype = e, (i.constructor = i).extend = Sw, i 13287 }; 13288 var Uw = Math.min, 13289 zw = Math.max, 13290 Vw = Math.round, 13291 qw = function (e, n) { 13292 var r, o, t, i; 13293 if (n = n || '"', null === e) return "null"; 13294 if ("string" == (t = typeof e)) return o = "\bb\tt\nn\ff\rr\"\"''\\\\", n + e.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g, function (e, t) { 13295 return '"' === n && "'" === e ? e : (r = o.indexOf(t)) + 1 ? "\\" + o.charAt(r + 1) : (e = t.charCodeAt().toString(16), "\\u" + "0000".substring(e.length) + e) 13296 }) + n; 13297 if ("object" === t) { 13298 if (e.hasOwnProperty && "[object Array]" === Object.prototype.toString.call(e)) { 13299 for (r = 0, o = "["; r < e.length; r++) o += (0 < r ? "," : "") + qw(e[r], n); 13300 return o + "]" 13301 } 13302 for (i in o = "{", e) e.hasOwnProperty(i) && (o += "function" != typeof e[i] ? (1 < o.length ? "," + n : n) + i + n + ":" + qw(e[i], n) : ""); 13303 return o + "}" 13304 } 13305 return "" + e 13306 }, 13307 Hw = { 13308 serialize: qw, 13309 parse: function (e) { 13310 try { 13311 return JSON.parse(e) 13312 } catch (t) {} 13313 } 13314 }, 13315 jw = { 13316 callbacks: {}, 13317 count: 0, 13318 send: function (t) { 13319 var n = this, 13320 r = pi.DOM, 13321 o = t.count !== undefined ? t.count : n.count, 13322 i = "tinymce_jsonp_" + o; 13323 n.callbacks[o] = function (e) { 13324 r.remove(i), delete n.callbacks[o], t.callback(e) 13325 }, r.add(r.doc.body, "script", { 13326 id: i, 13327 src: t.url, 13328 type: "text/javascript" 13329 }), n.count++ 13330 } 13331 }, 13332 $w = { 13333 send: function (e) { 13334 var t, n = 0, 13335 r = function () { 13336 !e.async || 4 === t.readyState || 1e4 < n++ ? (e.success && n < 1e4 && 200 === t.status ? e.success.call(e.success_scope, "" + t.responseText, t, e) : e.error && e.error.call(e.error_scope, 1e4 < n ? "TIMED_OUT" : "GENERAL", t, e), t = null) : setTimeout(r, 10) 13337 }; 13338 if (e.scope = e.scope || this, e.success_scope = e.success_scope || e.scope, e.error_scope = e.error_scope || e.scope, e.async = !1 !== e.async, e.data = e.data || "", $w.fire("beforeInitialize", { 13339 settings: e 13340 }), t = new Qp) { 13341 if (t.overrideMimeType && t.overrideMimeType(e.content_type), t.open(e.type || (e.data ? "POST" : "GET"), e.url, e.async), e.crossDomain && (t.withCredentials = !0), e.content_type && t.setRequestHeader("Content-Type", e.content_type), e.requestheaders && Yt.each(e.requestheaders, function (e) { 13342 t.setRequestHeader(e.key, e.value) 13343 }), t.setRequestHeader("X-Requested-With", "XMLHttpRequest"), (t = $w.fire("beforeSend", { 13344 xhr: t, 13345 settings: e 13346 }).xhr).send(e.data), !e.async) return r(); 13347 setTimeout(r, 10) 13348 } 13349 } 13350 }; 13351 Yt.extend($w, ep); 13352 var Ww, Kw, Xw, Yw, Gw = Yt.extend, 13353 Jw = function (e) { 13354 this.settings = Gw({}, e), this.count = 0 13355 }; 13356 Jw.sendRPC = function (e) { 13357 return (new Jw).send(e) 13358 }, Jw.prototype = { 13359 send: function (n) { 13360 var r = n.error, 13361 o = n.success; 13362 (n = Gw(this.settings, n)).success = function (e, t) { 13363 void 0 === (e = Hw.parse(e)) && (e = { 13364 error: "JSON Parse error." 13365 }), e.error ? r.call(n.error_scope || n.scope, e.error, t) : o.call(n.success_scope || n.scope, e.result) 13366 }, n.error = function (e, t) { 13367 r && r.call(n.error_scope || n.scope, e, t) 13368 }, n.data = Hw.serialize({ 13369 id: n.id || "c" + this.count++, 13370 method: n.method, 13371 params: n.params 13372 }), n.content_type = "application/json", $w.send(n) 13373 } 13374 }; 13375 try { 13376 Ww = window.localStorage 13377 } catch (nN) { 13378 Kw = {}, Xw = [], Yw = { 13379 getItem: function (e) { 13380 var t = Kw[e]; 13381 return t || null 13382 }, 13383 setItem: function (e, t) { 13384 Xw.push(e), Kw[e] = String(t) 13385 }, 13386 key: function (e) { 13387 return Xw[e] 13388 }, 13389 removeItem: function (t) { 13390 Xw = Xw.filter(function (e) { 13391 return e === t 13392 }), delete Kw[t] 13393 }, 13394 clear: function () { 13395 Xw = [], Kw = {} 13396 }, 13397 length: 0 13398 }, Object.defineProperty(Yw, "length", { 13399 get: function () { 13400 return Xw.length 13401 }, 13402 configurable: !1, 13403 enumerable: !1 13404 }), Ww = Yw 13405 } 13406 var Qw, Zw = Nw, 13407 eN = { 13408 geom: { 13409 Rect: Ow 13410 }, 13411 util: { 13412 Promise: De, 13413 Delay: Le, 13414 Tools: Yt, 13415 VK: Qh, 13416 URI: Ox, 13417 Class: Fw, 13418 EventDispatcher: Jg, 13419 Observable: ep, 13420 I18n: lw, 13421 XHR: $w, 13422 JSON: Hw, 13423 JSONRequest: Jw, 13424 JSONP: jw, 13425 LocalStorage: Ww, 13426 Color: function (e) { 13427 var n = {}, 13428 u = 0, 13429 s = 0, 13430 c = 0, 13431 t = function (e) { 13432 var t; 13433 return "object" == typeof e ? "r" in e ? (u = e.r, s = e.g, c = e.b) : "v" in e && function (e, t, n) { 13434 var r, o, i, a; 13435 if (e = (parseInt(e, 10) || 0) % 360, t = parseInt(t, 10) / 100, n = parseInt(n, 10) / 100, t = zw(0, Uw(t, 1)), n = zw(0, Uw(n, 1)), 0 !== t) { 13436 switch (r = e / 60, i = (o = n * t) * (1 - Math.abs(r % 2 - 1)), a = n - o, Math.floor(r)) { 13437 case 0: 13438 u = o, s = i, c = 0; 13439 break; 13440 case 1: 13441 u = i, s = o, c = 0; 13442 break; 13443 case 2: 13444 u = 0, s = o, c = i; 13445 break; 13446 case 3: 13447 u = 0, s = i, c = o; 13448 break; 13449 case 4: 13450 u = i, s = 0, c = o; 13451 break; 13452 case 5: 13453 u = o, s = 0, c = i; 13454 break; 13455 default: 13456 u = s = c = 0 13457 } 13458 u = Vw(255 * (u + a)), s = Vw(255 * (s + a)), c = Vw(255 * (c + a)) 13459 } else u = s = c = Vw(255 * n) 13460 }(e.h, e.s, e.v) : (t = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e)) ? (u = parseInt(t[1], 10), s = parseInt(t[2], 10), c = parseInt(t[3], 10)) : (t = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e)) ? (u = parseInt(t[1], 16), s = parseInt(t[2], 16), c = parseInt(t[3], 16)) : (t = /#([0-F])([0-F])([0-F])/gi.exec(e)) && (u = parseInt(t[1] + t[1], 16), s = parseInt(t[2] + t[2], 16), c = parseInt(t[3] + t[3], 16)), u = u < 0 ? 0 : 255 < u ? 255 : u, s = s < 0 ? 0 : 255 < s ? 255 : s, c = c < 0 ? 0 : 255 < c ? 255 : c, n 13461 }; 13462 return e && t(e), n.toRgb = function () { 13463 return { 13464 r: u, 13465 g: s, 13466 b: c 13467 } 13468 }, n.toHsv = function () { 13469 return e = u, t = s, n = c, o = 0, (i = Uw(e /= 255, Uw(t /= 255, n /= 255))) === (a = zw(e, zw(t, n))) ? { 13470 h: 0, 13471 s: 0, 13472 v: 100 * (o = i) 13473 } : (r = (a - i) / a, { 13474 h: Vw(60 * ((e === i ? 3 : n === i ? 1 : 5) - (e === i ? t - n : n === i ? e - t : n - e) / ((o = a) - i))), 13475 s: Vw(100 * r), 13476 v: Vw(100 * o) 13477 }); 13478 var e, t, n, r, o, i, a 13479 }, n.toHex = function () { 13480 var e = function (e) { 13481 return 1 < (e = parseInt(e, 10).toString(16)).length ? e : "0" + e 13482 }; 13483 return "#" + e(u) + e(s) + e(c) 13484 }, n.parse = t, n 13485 } 13486 }, 13487 dom: { 13488 EventUtils: je, 13489 Sizzle: Tt, 13490 DomQuery: pn, 13491 TreeWalker: oo, 13492 DOMUtils: pi, 13493 ScriptLoader: Ci, 13494 RangeUtils: kw, 13495 Serializer: vy, 13496 ControlSelection: wy, 13497 BookmarkManager: yy, 13498 Selection: Qy, 13499 Event: je.Event 13500 }, 13501 html: { 13502 Styles: oi, 13503 Entities: $o, 13504 Node: ty, 13505 Schema: ni, 13506 SaxParser: uv, 13507 DomParser: dy, 13508 Writer: cf, 13509 Serializer: lf 13510 }, 13511 ui: { 13512 Factory: Lw 13513 }, 13514 Env: Re, 13515 AddOnManager: Ni, 13516 Annotator: Wl, 13517 Formatter: Hb, 13518 UndoManager: Rv, 13519 EditorCommands: Yg, 13520 WindowManager: Vp, 13521 NotificationManager: zp, 13522 EditorObservable: pp, 13523 Shortcuts: Cp, 13524 Editor: Yx, 13525 FocusManager: Zx, 13526 EditorManager: Nw, 13527 DOM: pi.DOM, 13528 ScriptLoader: Ci.ScriptLoader, 13529 PluginManager: Ni.PluginManager, 13530 ThemeManager: Ni.ThemeManager, 13531 trim: Yt.trim, 13532 isArray: Yt.isArray, 13533 is: Yt.is, 13534 toArray: Yt.toArray, 13535 makeMap: Yt.makeMap, 13536 each: Yt.each, 13537 map: Yt.map, 13538 grep: Yt.grep, 13539 inArray: Yt.inArray, 13540 extend: Yt.extend, 13541 create: Yt.create, 13542 walk: Yt.walk, 13543 createNS: Yt.createNS, 13544 resolve: Yt.resolve, 13545 explode: Yt.explode, 13546 _addCacheSuffix: Yt._addCacheSuffix, 13547 isOpera: Re.opera, 13548 isWebKit: Re.webkit, 13549 isIE: Re.ie, 13550 isGecko: Re.gecko, 13551 isMac: Re.mac 13552 }, 13553 tN = Zw = Yt.extend(Zw, eN); 13554 Qw = tN, window.tinymce = Qw, window.tinyMCE = Qw, 13555 function (e) { 13556 if ("object" == typeof module) try { 13557 module.exports = e 13558 } catch (t) {} 13559 }(tN) 13560}();
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.