Lines Matching refs:d

9             d = {
22 … for (var c = document.getElementsByTagName("script"), d = 0; d < c.length; d++) {
23 var g = c[d].src.match(a);
79 var c = d.getUrl;
80 d.getUrl = function(a) {
81 return b.call(d, a) || c.call(d, a)
84 return d
87 var d = CKEDITOR.event.prototype,
89 for (b in d) null == a[b] && (a[b] = d[b])
92 var f = d(this);
95 var d = function(a) {
105 for (var b = 0, d = this.listeners; b < d.length; b++)
106 if (d[b].fn == a) return b;
111 define: function(b, d) {
113 CKEDITOR.tools.extend(h, d, !0)
115 on: function(b, d, h, k, g) {
127 return !1 === d.call(h, e) ? !1 : e.data
131 y.removeListener(b, d)
134 if (0 > e.getListenerIndex(d)) {
139 n.fn = d;
176 var e = d(this)[g];
200 delete d(this)[a];
204 var h = d(this)[a];
211 var a = d(this),
216 return (a = d(this)[a]) && 0 < a.listeners.length
223 }, CKEDITOR.editor.prototype.fire = function(a, d) {
228 return CKEDITOR.event.prototype.fire.call(this, a, d, this)
229 }, CKEDITOR.editor.prototype.fireOnce = function(a, d) {
234 return CKEDITOR.event.prototype.fireOnce.call(this, a, d, this)
238 d = a.match(/edge[ \/](\d+.?\d*)/),
240 b = !(!d && !b),
243 edge: !!d,
261 …b.ie && (c = d ? parseFloat(d[1]) : b.quirks || !document.documentMode ? parseFloat(a.match(/msie …
262 …b.gecko && (d = a.match(/rv:([\d\.]+)/)) && (d = d[1].split("."), c = 1E4 * d[0] + 100 * (d[1] || …
263 b.air && (c = parseFloat(a.match(/ adobeair\/(\d+)/)[1]));
264 b.webkit && (c = parseFloat(a.match(/ applewebkit\/(\d+)/)[1]));
298 d = CKEDITOR.loadFullCoreTimeout;
299 … a && (CKEDITOR.status = "basic_ready", a && a._load ? a() : d && setTimeout(function() {
301 }, 1E3 * d))
310 CKEDITOR.warn = function(a, d) {
314 additionalData: d
317 CKEDITOR.error = function(a, d) {
321 additionalData: d
326 var d = console[a.data.type] ? a.data.type : "log",
328 if (a = a.data.additionalData) console[d]("[CKEDITOR] Error code: " + b + ".", a);
329 else console[d]("[CKEDITOR] Error code: " + b + ".");
330 …console[d]("[CKEDITOR] For more information about this error go to https://ckeditor.com/docs/ckedi…
336d = CKEDITOR.env.gecko ? "-moz-" : CKEDITOR.env.webkit ? "-webkit-" : CKEDITOR.env.ie ? "-ms-" : "…
341 k = /&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,
391 d;
392 for (d in g)
393 if (!0 === b || null == a[d])
394 if (!v || d in v) a[d] = g[d]
418 if (b) return d + a + ":" + e + ";" + a + ":" + e;
421 b[d + a] = e;
459 if (g.test(v)) var d = "\x3c" + c + "\x3e",
461 v = d + v.replace(g, function() {
462 return m + d
506 function d() {
514 m < a ? c = setTimeout(d, a - m) : d()
571 if (c) var d = e,
579 d.apply(this, arguments)
604 var a = /^-?\d+\.?\d*px$/,
653 … return a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi, function(a, b, c, g) {
721 d = (new Date).getTime();
725 var g, d = 0;
729 var e = (new Date).getTime() - d;
735 g = d = 0
763 d = [],
765 b & CKEDITOR.CTRL && (d.push(g ? "⌘" : a[17]), n.push(g ? a[224] : a[17]));
766 b & CKEDITOR.ALT && (d.push(g ? "⌥" : a[18]), n.push(a[18]));
767 b & CKEDITOR.SHIFT && (d.push(g ? "⇧" : a[16]), n.push(a[16]));
768 …c && (a[c] ? (d.push(a[c]), n.push(a[c])) : (d.push(String.fromCharCode(c)), n.push(String.fromCha…
770 display: d,
820 var d = a.slice(g, g + 3),
821 n = d.length,
825 for (m = n; 3 > m; m++) d[m] = 0;
826 f[0] = (d[0] & 252) >> 2;
827 f[1] = (d[0] & 3) << 4 | d[1] >> 4;
828 f[2] = (d[1] & 15) << 2 | (d[2] & 192) >> 6;
829 f[3] = d[2] & 63;
987 … _widthRegExp: /^(thin|medium|thick|[\+-]?\d+(\.\d+)?[a-z%]+|[\+-]?0+(\.0+)?|\.\d+[a-z%]+)$/,
988 … _rgbaRegExp: /rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,
989 … _hslaRegExp: /hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,
1007 … g = a.match(/(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset)/g) || ["0px"];
1047 this.forEach(a, function(d, n) {
1048 b.call(c, d, n, a) && g.push(d)
1054 d;
1055 for (d = 0; d < g; d++) b.call(c, a[d], d, a)
1058 for (var g = [], d = 0; d < a.length; d++) g.push(b.call(c,
1059 a[d], d, a));
1063 for (var d = 0; d < a.length; d++) c = b.call(g, c, a[d], d, a);
1082 d = c.clone(b);
1083 c.array.forEach(c.objectKeys(d), function(a) {
1084 … g[a] = "object" === typeof d[a] && "object" === typeof g[a] ? c.object.merge(g[a], d[a]) :
1085 d[a]
1102 var d = CKEDITOR.document.getWindow().getScrollPosition();
1103 g.top += d.y;
1104 g.left += d.x;
1105 "x" in g && "y" in g && (g.y += d.y, g.x += d.x);
1119 d = function(a, b) {
1122 for (var d in b) delete c[d]
1239 d = {
1240 a: d(b, {
1260 button: d(b, {
1341 meter: d(b, {
1364 progress: d(b, {
1417 time: d(b, {
1453 a(d, {
1557 }, d.head),
1673 return d
1690 var d = this.$;
1691 d.preventDefault ? d.preventDefault() : d.returnValue = !1;
1735 on: function(d) {
1738 …b[d] || (b = b[d] = a(this, d), this.$.addEventListener ? this.$.addEventListener(d, b, !!CKEDITOR…
1739 d, b));
1764 var d = {};
1766 d = {}
1777 (d[f] || (d[f] = {}))[a] = c;
1782 return (c = c && d[c]) && a in c ? c[a] : null
1786 c = c && d[c],
1795 a && delete d[a]
1818 appendTo: function(a, d) {
1819 a.append(this, d);
1822 clone: function(a, d) {
1826 … if (d || c.nodeType != CKEDITOR.NODE_ELEMENT || c.removeAttribute("id", !1), a) {
1835 var d =
1837 ":" == d[0] && b.renameNode(d.substring(1))
1840 for (d = 0; d < b.getChildCount(); d++) c(b.getChild(d))
1869 for (var d = [], b = this.getDocument().$.documentElement, c = this.$; c && c != b;) {
1871 f && d.unshift(this.getIndex.call({
1876 return d
1882 function d(a, c) {
1884 return n && n.nodeType == CKEDITOR.NODE_TEXT ? b(n) ? d(n,
1894 …if (!this.$.parentNode || a && c.nodeType == CKEDITOR.NODE_TEXT && b(c) && !d(c) && !d(c, !0)) ret…
1898 getNextSourceNode: function(a, d, b) {
1916 … return !a || b && !1 === b(a) ? null : d && d != a.type ? a.getNextSourceNode(!1, d, b) : a
1918 getPreviousSourceNode: function(a, d, b) {
1936 … return !a || b && !1 === b(a) ? null : d && a.type != d ? a.getPreviousSourceNode(!1, d, b) : a
1939 var d = this.$,
1941 …do b = (d = d.previousSibling) && 10 != d.nodeType && new CKEDITOR.dom.node(d); while (b && a && !…
1945 var d = this.$,
1947 do b = (d = d.nextSibling) && new CKEDITOR.dom.node(d); while (b && a && !a(b));
1951 var d = this.$.parentNode;
1952 …return d && (d.nodeType == CKEDITOR.NODE_ELEMENT || a && d.nodeType == CKEDITOR.NODE_DOCUMENT_FRAG…
1953 new CKEDITOR.dom.node(d) : null
1956 var d = this,
1958 do b[a ? "push" : "unshift"](d); while (d = d.getParent());
1964 var d = this.contains ? this : this.getParent();
1966 if (d.contains(a)) return d; while (d = d.getParent());
1970 var d = this.$,
1972 if (d.compareDocumentPosition) return d.compareDocumentPosition(b);
1973 if (d == b) return CKEDITOR.POSITION_IDENTICAL;
1976 if (d.contains) {
1977 … if (d.contains(b)) return CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING;
1978 … if (b.contains(d)) return CKEDITOR.POSITION_IS_CONTAINED + CKEDITOR.POSITION_FOLLOWING
1980 …if ("sourceIndex" in d) return 0 > d.sourceIndex || 0 > b.sourceIndex ? CKEDITOR.POSITION_DISCONNE…
1982 d = this.getAddress();
1984 for (var b = Math.min(d.length, a.length), c = 0; c < b; c++)
1985 if (d[c] !=
1986 … a[c]) return d[c] < a[c] ? CKEDITOR.POSITION_PRECEDING : CKEDITOR.POSITION_FOLLOWING;
1987 …return d.length < a.length ? CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING : CKEDITOR.P…
1989 getAscendant: function(a, d) {
1992 d || (b = b.parentNode);
2007 hasAscendant: function(a, d) {
2009 d || (b = b.parentNode);
2016 move: function(a, d) {
2017 a.append(this.remove(), d)
2020 var d = this.$,
2021 b = d.parentNode;
2024 for (; a = d.firstChild;) b.insertBefore(d.removeChild(a), d);
2025 b.removeChild(d)
2041 var d = CKEDITOR.tools.ltrim(a.getText()),
2043 … if (d) d.length < b && (a.split(b - d.length), this.$.removeChild(this.$.firstChild));
2055 var d = CKEDITOR.tools.rtrim(a.getText()),
2057 …if (d) d.length < b && (a.split(d.length), this.$.lastChild.parentNode.removeChild(this.$.lastChil…
2069 var d = this;
2070 this.type != CKEDITOR.NODE_ELEMENT && (d = this.getParent());
2071 CKEDITOR.env.edge && d && d.is("textarea", "input") && (a = !0);
2072 …if (!a && d && "undefined" != typeof d.$.isContentEditable) return !(d.$.isContentEditable || d.da…
2073 for (; d;) {
2074 if (d.data("cke-editable")) return !1;
2075 … if (d.hasAttribute("contenteditable")) return "false" == d.getAttribute("contenteditable");
2076 d = d.getParent()
2091 d = "CSS1Compat" == a.compatMode;
2093 width: (d ? a.documentElement.clientWidth : a.body.clientWidth) || 0,
2094 height: (d ? a.documentElement.clientHeight : a.body.clientHeight) || 0
2124 var d = new CKEDITOR.dom.element("link");
2125 d.setAttributes({
2130 this.getHead().append(d)
2135 var d = this.$.createStyleSheet("");
2136 d.cssText = a
2142 return d ||
2145 createElement: function(a, d) {
2147 d && (d.attributes && b.setAttributes(d.attributes), d.styles && b.setStyles(d.styles));
2160 } catch (d) {
2168 getByAddress: function(a, d) {
2172 if (d)
2175 … if (!0 !== d || 3 != g.nodeType || !g.previousSibling || 3 != g.previousSibling.nodeType)
2184 getElementsByTag: function(a, d) {
2185 CKEDITOR.env.ie && 8 >= document.documentMode || !d || (a = d + ":" + a);
2236 CKEDITOR.dom.element = function(a, d) {
2237 "string" == typeof a && (a = (d ? d.$ : document).createElement(a));
2244 CKEDITOR.dom.element.createFromHtml = function(a, d) {
2245 var b = new CKEDITOR.dom.element("div", d);
2249 CKEDITOR.dom.element.setMarker = function(a, d, b, c) {
2250 …var f = d.getCustomData("list_marker_id") || d.setCustomData("list_marker_id", CKEDITOR.tools.getN…
2251 …h = d.getCustomData("list_marker_names") || d.setCustomData("list_marker_names", {}).getCustomData…
2252 a[f] = d;
2254 return d.setCustomData(b, c)
2257 for (var d in a) CKEDITOR.dom.element.clearMarkers(a, a[d], 1)
2259 CKEDITOR.dom.element.clearMarkers = function(a, d, b) {
2260 var c = d.getCustomData("list_marker_names"),
2261 f = d.getCustomData("list_marker_id"),
2263 for (h in c) d.removeCustomData(h);
2264 d.removeCustomData("list_marker_names");
2265 b && (d.removeCustomData("list_marker_id"), delete a[f])
2272 function d(a) {
2345 d;
2348 …om.element("div"); d = e.getFirst();) d.$.style.backgroundColor && (d.$.style.backgroundColor = d.…
2616 for (var d = []; c.data("cke-bookmark") || c.isEmptyInlineRemoveable();)
2617 …if (d.push(c), c = e ? c.getNext() : c.getPrevious(), !c || c.type != CKEDITOR.NODE_ELEMENT) retur…
2619 … for (var g = e ? b.getLast() : b.getFirst(); d.length;) d.shift().move(b, !e);
2683 for (var b = [], d = 0; d < c.length; d++)
2686 0; v < e.length; v++) b.push([a, c[d], e[v]].join("-"));
2687 else b.push([a, c[d]].join("-"));
2722 d = e.getBody(),
2728 x = h.clientTop || d.$.clientTop || 0,
2729 m = h.clientLeft || d.$.clientLeft || 0,
2732 …&& 12 <= CKEDITOR.env.version ? (b = d.$.scrollLeft || h.scrollLeft, c = d.$.scrollTop || h.scroll…
2760 } catch (d) {}
2765 var e, d, v, f;
2795 d = x(this, v);
2801 v = d.x - m(this, "left") - u.x || 0;
2802 f = d.y - m(this, "top") - u.y || 0;
2803 e = d.x + e + m(this, "right") - (u.x + t) || 0;
2804 d = d.y + K + m(this, "bottom") - (u.y + l) || 0;
2805 (0 > f || 0 < d) && h(0, !0 === b ? f : !1 === b ? d : 0 > f ? f : d);
2843 var d = c[e],
2844 v = d.nodeName.toLowerCase(),
2848 …nv.ie || this.hasAttribute(v)) f = this.getAttribute(v), null === f && (f = d.nodeValue), a.setAtt…
2902 c, e, d;
2905 …elementMode != CKEDITOR.ELEMENT_MODE_APPENDTO || !a && (d = e.editable()) && (d.equals(this) || d.…
2909 var c = d(this);
2916 var c = d(this);
2925 …for (var d = 0; d < c.count(); d++) e = c.getItem(d), e.type == CKEDITOR.NODE_ELEMENT ? e.forEach(…
2933 CKEDITOR.dom.element.prototype.setSize = function(a, b, d) {
2934 …"number" == typeof b && (!d || CKEDITOR.env.ie && CKEDITOR.env.quirks || (b -= c.call(this, a)), t…
2937 …var d = Math.max(this.$["offset" + CKEDITOR.tools.capitalize(a)], this.$["client" + CKEDITOR.tools…
2938 b && (d -= c.call(this, a));
2939 return d
2990 var e, d = c.startContainer;
3006 var k = d.type == CKEDITOR.NODE_ELEMENT ? d : d.getParent(),
3007 … q = d.type == CKEDITOR.NODE_ELEMENT ? f ? d.getChild(f - 1) : null : d.getPrevious();
3017 …sSourceNode(!0, t, h)) : (e = d, e.type == CKEDITOR.NODE_ELEMENT && ((e = e.getChild(f)) || (e = !…
3029 function d(b) {
3056 return d.call(this)
3059 return d.call(this, 1)
3102 var d, f;
3103 d = e && e.type != CKEDITOR.NODE_ELEMENT && (f = e.getParent()) && c(f);
3104 d = a ? d : d || c(e);
3105 return !!(b ^ d)
3196 var d = a instanceof CKEDITOR.dom.document;
3197 this.document = d ? a : a.getDocument();
3198 this.root = d ? a.getBody() : a
3205 function d(a, b, c, d, f) {
3207 var d = c ? a.getPrevious() : a.getNext();
3208 if (e && k) return d;
3210 return d
3224 …N_BEFORE_END) : a.moveToPosition(p[b + 1], CKEDITOR.POSITION_BEFORE_START), d && (b = O[b + 1]) &&…
3271 d = CKEDITOR.dom.walker.bogus();
3273 …return c(f) || b(f) ? !0 : d(f) && !a ? a = !0 : f.type == CKEDITOR.NODE_TEXT && (f.hasAscendant("…
3280 return function(d) {
3281 …return c(d) || b(d) ? !0 : !a && k(d) || d.type == CKEDITOR.NODE_ELEMENT && d.is(CKEDITOR.dtd.$rem…
3344 d(this, 2, b, !1, "undefined" == typeof a ? !0 : a);
3348 this.collapsed || d(this, 0, null, a)
3352 this.collapsed || d(this, 1, c, a, "undefined" == typeof b ? !0 : b);
3356 var b, c, d, f, h = this.collapsed;
3361 a && (d = "cke_bm_" + CKEDITOR.tools.getNextNumber(), b.setAttribute("id",
3362 d + (h ? "C" : "S")));
3363 …h || (c = b.clone(), c.setHtml("\x26nbsp;"), a && c.setAttribute("id", d + "E"), f = this.clone(),…
3369 startNode: a ? d + (h ? "C" : "S") : b,
3370 endNode: a ? d + "E" : c,
3378 d = b.offset,
3381 var f = d;
3384 m && (e = e.getChild(d - 1), d = e.getLength());
3385 if (e.type == CKEDITOR.NODE_ELEMENT && 0 < d) {
3387 for (m = e; d--;)
3388 if (f = m.getChild(d).getIndex(!0), 0 <= f) {
3389 d = f;
3391 } d = -1
3393 d += 1
3400 …e.getText() ? d += m : (f = e.getPrevious(c), m ? (d = m, e = f ? f.getNext() : e.getParent().getF…
3401 e.getParent(), d = f ? f.getIndex(!0) + 1 : 0))
3404 b.offset = d
3410 var d = a.container;
3411 …e.equals(d) && (a.offset -= CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE.length, 0 >= a.offset && …
3416 var d = this.collapsed,
3426 b(f, this.root), d || (a(m), b(m, this.root)));
3429 end: d ? null : m.container.getAddress(c),
3433 collapsed: d,
3442 d = a.end && this.document.getByAddress(a.end, a.normalized);
3445 d ? this.setEnd(d, a) : this.collapse(!0)
3453 d = this.endOffset,
3465 f > d) b = b.getChild(d).getPreviousSourceNode(!0);
3479 d = this.endContainer,
3480 …uals(d) ? a && c.type == CKEDITOR.NODE_ELEMENT && this.startOffset == this.endOffset - 1 ? c.getCh…
3500 d = this.startOffset,
3503 if (d)
3504 if (d >= c.getLength()) d = c.getIndex() + 1, c = c.getParent();
3506 var h = c.split(d),
3507 d = c.getIndex() + 1,
3511 else d = c.getIndex(), c = c.getParent();
3512 this.setStart(c, d);
3519 d = this.endOffset;
3520 …TOR.NODE_TEXT || (d ? (d >= c.getLength() || c.split(d), d = c.getIndex() + 1) : d = c.getIndex(),…
3526 var d = new RegExp(/[^\s\ufeff]/);
3542 if (d.test(M)) return !1
3565 …if (t.type == CKEDITOR.NODE_TEXT) M = t.getText(), d.test(M) && (t = null), C = /[\s\ufeff]$/.test…
3570 if (d.test(M)) t = null;
3611 if (d.test(M)) t = null;
3691 …var d = "boolean" === typeof c ? c : c && "boolean" === typeof c.shrinkOnBlockBoundary ? c.shrinkO…
3712 …HRINK_ELEMENT && b.type == CKEDITOR.NODE_TEXT || c && b.equals(L) || !1 === d && b.type == CKEDITO…
3806 d = this.document.createElement(b);
3809 this.extractContents().appendTo(d);
3810 d.trim();
3811 this.insertNode(d);
3812 var f = d.getBogus();
3814 d.appendBogus();
3816 return d
3820 d = new CKEDITOR.dom.elementPath(this.endContainer, this.root),
3822 h = d.block,
3824 if (!c.blockLimit.equals(d.blockLimit)) return null;
3827 d = h && this.checkEndOfBlock();
3829 …f && f.equals(h) && (d ? (m = new CKEDITOR.dom.elementPath(this.startContainer, this.root), this.m…
3835 wasEndOfBlock: d,
3843 d = a.clone(!1, b || !1);
3844 c.appendTo(d);
3845 d.insertAfter(a);
3847 return d
3850 function a(d) {
3853 d.is("table") && a.is("caption") ? !1 : !0
3859 …(var c = this.createBookmark(), d = this[b ? "endPath" : "startPath"](), f = d.block || d.blockLim…
3871 var d = b == CKEDITOR.START,
3873 f.collapse(d);
3874 …f[d ? "setStartAt" : "setEndAt"](a, d ? CKEDITOR.POSITION_AFTER_START : CKEDITOR.POSITION_BEFORE_E…
3876 f.evaluator = c(d);
3877 return f[d ? "checkBackward" : "checkForward"]()
3907 var d = this.clone();
3908 d.collapse(1);
3909 d.setStartAt(c || this.root, CKEDITOR.POSITION_AFTER_START);
3910 c = new CKEDITOR.dom.walker(d);
3916 var d = this.clone();
3917 d.collapse();
3918 d.setEndAt(c || this.root, CKEDITOR.POSITION_BEFORE_END);
3919 c = new CKEDITOR.dom.walker(d);
3955 var d = a,
3958d.type == CKEDITOR.NODE_ELEMENT && d.isEditable(!1) && (h = d[b ? "getLast" : "getFirst"](r));
3959 f || h || (h = d[b ? "getPrevious" : "getNext"](r));
3965 var c, d = 0,
3969 !a.is(CKEDITOR.dtd.$block)) d = 1;
3970 …else if (f = c[b ? "getNextEditableNode" : "getPreviousEditableNode"]()) d = 1, (h = f.type == CKE…
3971 d && this.moveToRange(c);
3972 return !!d
3990 var d = a.next();
3992 return d && d.equals(a.previous()) ? d : null
4016 d = b.getAscendant("table", !0),
4018 return CKEDITOR.env.safari && d && c.equals(this.root) ?
4019 …) ? this.getEnclosedNode().getAscendant(a, !0) : d && f && (d.equals(f) || d.contains(f) || f.cont…
4023 b, c, d, f = this.clone();
4025 …(d = f.startContainer.type == CKEDITOR.NODE_TEXT) ? (c = f.startContainer.getText(), b = f.startCo…
4027 d && (f.startContainer.setText(c), b.remove());
4032 var d = CKEDITOR.tools.array.map(b, function(a) {
4060 CKEDITOR.tools.array.forEach(d, function(b, f) {
4063 … l && (Array.prototype.splice.call(d, f, a.length - e, a.widgetRect), c = !0)
4065 c || (e < d.length - 1 ? b(e + 1) : d.push(a.widgetRect))
4069 }), d
4075 … = c.getClientRects(), e.startContainer.setText("")) : a = [d(e.createBookmark())]) : a = [d(e.cre…
4079 function c(a, b, d) {
4081 b && (a = CKEDITOR.tools.getAbsoluteRectPosition(d.document.getWindow(), a));
4087 function d(a) {
4104 return void 0 !== this.document.getSelection ? function(d) {
4113 return c(a, d, this)
4116 return [c(d(this.createBookmark()), a, this)]
4127 d = this.getBoundaryNodes(),
4132 …if (c = m.getItem(h), b || !c.isReadOnly()) g = c.getPosition(d.startNode) & CKEDITOR.POSITION_FOL…
4133d.startNode.equals(c), k = c.getPosition(d.endNode) & CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSIT…
4140 d = !1;
4145 d = new CKEDITOR.dom.walker(e),
4149 for (e = d.next(); f(e) || b.endContainer.equals(e);) e = d.next();
4150 d = !e
4152 d ? c.setEnd(b.endContainer, b.endOffset) : a.push(b);
4175 function d(a) {
4185 null == h && (h = d(f));
4225 var d, k, v, B, D;
4228 …if (d = this._.nestedEditable.iterator.getNextParagraph(a)) return this.activeFilter = this._.nest…
4262 d = m;
4263 b(this, a, d);
4270 d = m;
4308 if (!d) {
4310 d = new CKEDITOR.dom.elementPath(k.startContainer, k.root);
4311 m = d.blockLimit;
4317 d = d.block;
4318d && m && !this.enforceRealBlocks && J[m.getName()] && k.checkStartOfBlock() && k.checkEndOfBlock(…
4321 …B && (B = d.getPrevious()) && B.type == CKEDITOR.NODE_ELEMENT && ("br" == B.getName() ? B.remove()…
4322 …D && (B = d.getLast()) && B.type == CKEDITOR.NODE_ELEMENT && "br" == B.getName() && (!CKEDITOR.env…
4323 …this._.nextNode || (this._.nextNode = v || d.equals(x) || !x ? null : this._getNextSourceNode(d, 1…
4324 return d
4327 function d(a) {
4332 … for (a = a.getNextSourceNode(b, null, d); !h(a);) a = a.getNextSourceNode(b, null, d);
4340 CKEDITOR.command = function(a, d) {
4345 return !1 === this.fire("exec") ? !0 : !1 !== d.exec.call(this, a, b)
4355 }) ? !0 : d.refresh && !1 !== d.refresh.apply(this, arguments)
4361 CKEDITOR.tools.extend(this, d, {
4366 contextSensitive: !!d.context,
4418 function a(a, b, c, d, f) {
4449 d.push(w);
4456 for (d = a.length; c < d; ++c) {
4483 function d(a, c, d, f) {
4486d.valid = !0), d.allAttributes || (d.allAttributes = b(a.attributes, c.attributes, d.validAttribut…
4489 f = d.validClasses;
4498 d.allClasses = a
4505 for (var d in b) c[d] || (c[d] = a(d));
4517 for (var d = !1, e = !0 === a, l = b.length; l--;)
4518 if (e || a(b[l])) b.splice(l, 1), d = !0;
4519 a = d
4529 d = !0 === a,
4532 if (d || a(f)) delete b[f], c = !0;
4548 d = 0,
4550 for (f in a) c[f] = a[f], d++;
4551 return d ? c : !1
4556 var c, d, f, e;
4559 if (d = f[c], "string" == typeof d) {
4560 if (-1 == CKEDITOR.tools.indexOf(e, d)) return !1
4561 } else if (!CKEDITOR.tools.checkIfAnyArrayItemMatches(e, d)) return !1;
4567 for (var c = 0, d; c < b.length; ++c)
4568 if (d = b[c], "string" == typeof d) {
4569 if (!(d in a)) return !1
4570 } else if (!CKEDITOR.tools.checkIfAnyObjectPropertyMatches(a, d)) return !1;
4582 var b, c, d, f, e = {},
4584 …for (a = z(a); b = a.match(p);)(c = b[2]) ? (d = y(c, "styles"), f = y(c, "attrs"), c = y(c, "clas…
4587 styles: d,
4653 for (g = 0, k = a.length; g < k; ++g) d(a[g], b, z, E);
4655 for (g = 0, k = p.length; g < k; ++g) d(p[g], b, z, E);
4735 var d = a.name;
4736 …if (q.$empty[d] || !a.children.length) "hr" == d && "br" == b ? a.replaceWith(u()) : (a.parent && …
4740 else if (q.$block[d] || "tr" == d)
4743 var d = a.children,
4747 for (var e = 0, l = d.length, w; e < l; ++e)
4748 if (w = d[e], w.type == CKEDITOR.NODE_ELEMENT && !f[w.name]) {
4759 …= CKEDITOR.NODE_DOCUMENT_FRAGMENT || "body" == f.name, p, h, l = d.length; 0 < l;) w = d[--l], e &…
4769 else d in {
4779 var d, f;
4780 for (d = 0; d < c.length; ++d)
4781 if (f = c[d], !(f.check && !a.check(f.check, !1) || f.left && !f.left(b))) {
4789 d = c.attributes,
4793 for (e in d)
4795 for (c = d[e].split(/\s+/), w = a.classes.join("|"); p = c.pop();) {
4797 } else if (a.attributes[e] != d[e]) return !1;
4805 var c, d;
4806 … "string" == typeof a ? c = a : a instanceof CKEDITOR.style ? d = a : (c = a[0], d = a[1]);
4809 left: d,
4863 allow: function(b, c, d) {
4864 if (!h(this, b, d)) return !1;
4868 … if (b.toAllowedContentRules) return this.allow(b.toAllowedContentRules(this.editor), c, d);
4871 d = f.attributes;
4876d && (d = E(d), f.classes = d["class"] ? d["class"].split(/\s+/) : null, f.requiredClasses = f.cla…
4878 for (f = 0; f < b.length; ++f) l = this.allow(b[f], c, d);
4884 applyTo: function(a, b, c, d) {
4905 … var d = decodeURIComponent(a.value.replace(/^\{cke_protected\}/, ""));c = [];
4909 if ((q = d.match(w[m])) && q[0].length == d.length) {
4912 …} d = CKEDITOR.htmlParser.fragment.fromHtml(d);1 == d.children.length && (l = d.children[0]).type …
4920 d = H[d || (this.editor ? this.editor.enterMode : CKEDITOR.ENTER_P)];
4921 for (var z; c = e.pop();) c.type == CKEDITOR.NODE_ELEMENT ? l(c, d, a) : c.remove();
4925 … q.$removeEmpty[c.name] && !c.children.length ? l(c, d, a) : m(c) || l(c, d, a);
4929 CKEDITOR.NODE_DOCUMENT_FRAGMENT || z[c.name] || l(c, d, a);
4932 … c.parent.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT || z[c.name] || l(c.parent, d, a)
4952 var b, c, d = [],
4956 for (b = 0; b < a.length; ++b) d.push(L(a[b], f));
4957 this.addTransformations(d)
4976 var d = this._.transformations,
4994 d[b] || (d[b] = []);
4995 d[b].push(c)
5002 for (var d = a.length; d--;)
5003 if (this.check(a[d], b, c)) return !0;
5012 d = f.classes;
5014 f.classes = d = d ? d.split(/\s*,\s*/) : [];
5018 d.length && (f.attributes["class"] = d.join(" "));
5020 …lse f = a.getDefinition(), l = f.styles, d = f.attributes || {}, l && !CKEDITOR.tools.isEmpty(l) ?…
5022 attributes: d,
5023 classes: d["class"] ? d["class"].split(/\s+/) : [],
5031 for (d =
5032 0; d < h.length; ++d) t(this, f, h[d]);
5052 return function(c, d) {
5056 for (d || (f = f.reverse()); e = f.pop();)
5112 var d = a.attributes[b];
5113 d && (/^\d+$/.test(d) && (d += "px"), a.styles[c] = d)
5120 var d = a.styles[b],
5121 f = d && d.match(/^(\d+)(?:\.\d*)?px$/);
5122 f ? a.attributes[c] = f[1] : "cke-test" == d && (a.attributes[c] = "cke-test")
5172 function b(d) {
5174 c[d[0]];
5175 a.styles["margin-right"] = c[d[1]];
5176 a.styles["margin-bottom"] = c[d[2]];
5177 a.styles["margin-left"] = c[d[3]]
5180 var c = a.styles.margin.match(/(\-?[\.\d]+\w+)/g) || ["0px"];
5202 d = c.styles,
5211 for (l in d) a.styles[l] = d[l]
5243 function d() {
5254 a || !b ? d.call(this) : this._.timer = CKEDITOR.tools.setTimeout(function() {
5256 d.call(this)
5260 add: function(a, d) {
5267d && (CKEDITOR.env.ie ? (b = "focusin", c = "focusout") : CKEDITOR.event.useCapture = 1);
5278 d && (CKEDITOR.event.useCapture = 0);
5285 var d = a.removeCustomData("focusmanager_handlers");
5286 a.removeListener("blur", d.blur);
5288 d.focus)
5302 var a, d = function(b) {
5304 var d = b.getKeystroke(),
5305 h = this.keystrokes[d],
5308 keyCode: d,
5313 })), a || (a = !!this.blockedKeystrokes[d]));
5322 a.on("keydown", d, this);
5408 load: function(a, d, b) {
5410 (a = this.detect(d, a));
5412 d = function() {
5416 … this[a] ? d() : CKEDITOR.scriptLoader.load(CKEDITOR.getUrl("lang/" + a + ".js"), d, this)
5418 detect: function(a, d) {
5420 d = d || navigator.userLanguage || navigator.language || a;
5421 var c = d.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),
5436 d = {};
5456 var f = d[b];
5457 delete d[b];
5463 var f = d[b] || (d[b] = []);
5495 return function(d, h) {
5498 scriptUrl: d,
5510 CKEDITOR.resourceManager = function(a, d) {
5512 this.fileName = d;
5521 add: function(a, d) {
5523 var b = this.registered[a] = d || {};
5533 var d = this.externals[a];
5534 return CKEDITOR.getUrl(d && d.dir || this.basePath + a + "/")
5537 var d = this.externals[a];
5538 return CKEDITOR.getUrl(this.getPath(a) + (d ? d.file : this.fileName + ".js"))
5540 addExternal: function(a, d, b) {
5544 b || (d = d.replace(/[^\/]+$/, function(a) {
5549 dir: d,
5554 load: function(a, d, b) {
5575 d.call(b, g)
5581 var d = {};
5592 if (!d[e]) {
5595 d[e] = 1
5611 CKEDITOR.plugins.setLang = function(a, d, b) {
5615 c.split && (c = c.split(",")); - 1 == CKEDITOR.tools.indexOf(c, d) && c.push(d);
5616 a[d] = b
5629 add: function(a, d, b) {
5632 type: d,
5642 var d = this.items[a],
5643 b = d && this._.handlers[d.type],
5644 c = d && d.command && this.editor.getCommand(d.command),
5645 b = b && b.create.apply(this, d.args);
5648 b && !b.type && (b.type = d.type);
5651 addHandler: function(a, d) {
5653 d
5679 this.name = this.name || d();
5715 function d() {
5737 var d, f, e = a.commands;
5738 for (f in e) d = e[f], (c || d.contextSensitive) && d.refresh(a, b)
5788 var d = a.config.title;
5791 a.title = "string" == typeof d || !1 === d ? d : [a.lang.editor, a.name].join(", ");
5817 d = b(c.plugins),
5821 d = d.replace(h, ""),
5822 d = d + ("," + f);
5824 d = d.replace(g, "");
5825 CKEDITOR.env.air && (d += ",adobeair");
5826 CKEDITOR.plugins.load(d.split(","),
5828 var d = [],
5847 d.push(h)
5851 for (var l = 0; l < d.length; l++) {
5852 var p = d[l];
5881 d = a.endContainer;
5882 …return b.is && (b.is("tr") || b.is("td") && b.equals(d) && a.endOffset === b.getChildCount()) ? !0…
5885 function d(a) {
5896 …tfoot")), h && h.equals(q) || (h = q, g = q.clone(), e.append(g)), g.append(d(M))) : f.append(M.cl…
5909 var d = b[c];
5910 if (this[d]) return CKEDITOR.warn("editor-plugin-conflict", {
5912 replacedWith: d
5927 c._.required && !d.getValue() && !1 === c.fire("required") &&
5935 d = c.element,
5936 f = new CKEDITOR.dom.element(d.$.form);
5937d.is("textarea") && f && (f.on("submit", a), b(f.$.submit) && (f.$.submit = CKEDITOR.tools.overrid…
5972 d = {
5978 …ire("beforeCommandExec", d) && (d.returnValue = c.exec(d.commandData), !c.async && !1 !== this.fir…
6002 var d = !0,
6004 b && "object" == typeof b && (c = b.internal, f = b.callback, d = !b.noSnapshot);
6005 !c && d && this.fire("saveSnapshot");
6007 !c && d && this.fire("saveSnapshot");
6044 d = this.getSelection().getRanges(),
6047 if (!c || 0 === d.length) return null;
6048 for (e = 0; e < d.length; e++) f.append(c.extractHtmlFromRange(d[e], b));
6049 b || this.getSelection().selectRanges([d[0]]);
6068 …], c, d, f = b.length; f--;) c = b[f], d = 0, CKEDITOR.tools.isArray(c) && (d = c[1], c = c[0]), d
6074 d;
6076 for (d in c)
6077 if (c.hasOwnProperty(d) && c[d] == b) return d
6110 d = {
6152 g[e] = !n && d[e] ? e : CKEDITOR.tools.htmlDecodeAttr(n)
6174 openTagClose: function(a, d) {
6175 d ? this._.output.push(" /\x3e") : this._.output.push("\x3e")
6177 attribute: function(a, d) {
6178 "string" == typeof d && (d = CKEDITOR.tools.htmlEncodeAttr(d));
6179 this._.output.push(" ", a, '\x3d"', d, '"')
6199 var d = this._.output.join("");
6201 return d
6211 d = CKEDITOR.tools.indexOf(a, this),
6216 a.splice(d, 1);
6220 var d = this.parent.children,
6221 b = CKEDITOR.tools.indexOf(d, this),
6226 d[b] = a;
6231 var d = a.parent.children,
6232 b = CKEDITOR.tools.indexOf(d, a),
6234 d.splice(b + 1, 0, this);
6242 var d = a.parent.children,
6243 b = CKEDITOR.tools.indexOf(d, a);
6244 d.splice(b, 0, this);
6251 var d = "function" == typeof a ? a : "string" == typeof a ? function(b) {
6259 if (d(b)) return b;
6286 filter: function(a, d) {
6288 if (!(b = a.onComment(d, b, this))) return this.remove(), !1;
6293 writeHtml: function(a, d) {
6294 d && this.filter(d);
6308 filter: function(a, d) {
6309 if (!(this.value = a.onText(d, this.value, this))) return this.remove(), !1
6311 writeHtml: function(a, d) {
6312 d && this.filter(d);
6343 var d = CKEDITOR.tools.extend({
6375 var d = m[c],
6376 f = d.name,
6379 …= u.name && (y(u, u.parent, 1), c--) : (b || (r(), b = 1), d = d.clone(), d.parent = u, u = d, m.s…
6391 d;
6392 c && c.type == CKEDITOR.NODE_TEXT && ((d = CKEDITOR.tools.rtrim(c.value)) ?
6393 c.value = d : a.children.length = b - 1)
6397 function y(b, c, d) {
6401 b.returnPoint ? (u = b.returnPoint, delete b.returnPoint) : u = d ? c : f
6406 var c, d;
6407 …return (c = b.attributes && (d = b.attributes["data-cke-real-element-type"]) ? d : b.name) && c in…
6443 … else if (h in d && !B(f, h)) !e.returnPoint && (e.returnPoint = u), u = u.parent;
6461 …} for (var c = [], d = [], f = u; f != x && f.name != a;) f._.isBlockLike || d.unshift(f), c.push(…
6472 m = m.concat(d)
6480 if (!K && !e["#"] && b in d) D.onTagOpen(f[b] || ""), D.onText(a);
6542 var d = this.getFilterContext();
6543 if (c && !this.parent && b) b.onRoot(d, this);
6544 b && this.filterChildren(b, !1, d);
6547 for (d = c.length; b < d; b++) c[b].writeHtml(a)
6550 if (!(c || b && this.type != b)) var d = a(this);
6551 if (!1 !== d) {
6553 …or (var f = 0; f < c.length; f++) d = c[f], d.type == CKEDITOR.NODE_ELEMENT ? d.forEach(a, b) : b …
6567 function d(b, c, d, h) {
6569 for (k in c)(g = b[k]) || (g = b[k] = new a), g.add(c[k], d, h)
6592 a.elements && d(this.elementsRules, a.elements, f, c);
6593 a.attributes && d(this.attributesRules, a.attributes, f, c);
6608 onText: function(a, c, d) {
6609 return this.textRules.exec(a, c, d)
6611 onComment: function(a, c, d) {
6612 return this.commentRules.exec(a, c, d)
6618 …for (var d = [this.elementsRules["^"], this.elementsRules[c.name], this.elementsRules.$], h, k = 0…
6619 if (h = d[k]) {
6627 var d = c.type;
6628 …return d == CKEDITOR.NODE_ELEMENT ? this.onElement(a, c) : d == CKEDITOR.NODE_TEXT ? new CKEDITOR.…
6630 onAttribute: function(a, c, d, h) {
6631 return (d = this.attributesRules[d]) ? d.exec(a, h, c, this) : h
6637 add: function(a, c, d) {
6641 options: d
6645 c, d) {
6649 options: d
6654 for (var c = this.rules, d = c.length - 1; 0 <= d && a < c[d].priority;) d--;
6655 return d + 1
6658 … var d = c instanceof CKEDITOR.htmlParser.node || c instanceof CKEDITOR.htmlParser.fragment,
6664 … if (d && (n = c.type, r = c.name), e = k[y], !(a.nonEditable && !e.options.applyToAll ||
6667 if (!1 === e || d && e && (e.name != r || e.type != n)) return e;
6672 …for (var d = 0, h = this.rules, k = h.length, g; c && d < k; d++) g = h[d], a.nonEditable && !g.op…
6678 function a(a, d) {
6685 function p(a, d) {
6694 … if (l = !a || !1 !== ("function" == typeof d ? d(f) : d)) z || CKEDITOR.env.needsBrFiller ||
6710 z = "html" == d,
6719 var d = b.attributes;
6720 … if ("data-cke-bogus" in d || "data-cke-eol" in d) delete d["data-cke-bogus"];
6722 for (d = b.next; d && f(d);) d =
6723 d.next;
6725 … !d && h(b.parent) ? k(b.parent, e(a)) : h(d) && l && !h(l) && e(a).insertBefore(d)
6733 function d(a, b) {
6819 }).replace(/\{cke_protected_(\d+)\}/g, function(a, b) {
6826 d = b.config.protectedSource,
6830 e = /<\!--\{cke_temp(comment)?\}(\d*?)--\x3e/g,
6831d = [/<script[\s\S]*?(<\/script>|$)/gi, /<noscript[\s\S]*?<\/noscript>/gi, /<meta[\s\S]*?\/?>/gi].…
6835 for (var l = 0; l < d.length; l++) a = a.replace(d[l], function(a) {
6836 a = a.replace(e, function(a, b, d) {
6837 return c[d]
6841 a = a.replace(e, function(a, b, d) {
6843 "") + encodeURIComponent(c[d]).replace(/--/g, "%2D%2D") + "--\x3e"
6851 … return a = a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g, function(a, c, d, f) {
6852 return "\x3c" + c + d + "\x3e" + D(B(f), b) + "\x3c/" + c + "\x3e"
6899 d(a.enterMode, b.config.autoParagraph);
6921 …a.data.dataValue = CKEDITOR.htmlParser.fragment.fromHtml(c, a.data.context, d(a.data.enterMode, b.…
6932 d = l.writer;
6933 d.reset();
6934 c.writeChildrenHtml(d);
6935 c = d.getHtml(!0);
6942 toHtml: function(a, b, c, d) {
6945 …b && "object" == typeof b ? (e = b.context, c = b.fixForBody, d = b.dontFilter, l = b.filter, p = …
6951 dontFilter: d,
6958 var c, d, f;
6959 b && (c = b.context, d = b.filter, f = b.enterMode);
6963 filter: d || this.editor.filter,
7028 …for (var c = ["name", "href", "src"], d, f = 0; f < c.length; f++) d = "data-cke-saved-" + c[f], d
7034 var c, d;
7035 …ls.indexOf(K, a.name), d = CKEDITOR.tools.indexOf(K, b.name)); - 1 < c && -1 < d && c != d || (c =…
7036 return c > d ? 1 : -1
7091 CKEDITOR.htmlParser.element = function(a, d) {
7093 this.attributes = d || {};
7107 var d = {};
7110 d[c.toLowerCase()] = f
7113 rules: d,
7121 for (c in d) d[c] && a.push(c, ":", d[c], ";");
7132 var d = function(a, b) {
7145 var d = this,
7147 b = d.getFilterContext(b);
7149 if (!d.parent) a.onRoot(b, d);
7151 k = d.name;
7153 d.name = g;
7154 if (!(d = a.onElement(b, d))) return this.remove(), !1;
7155 if (d !== this) return this.replaceWith(d), !1;
7156 if (d.name == k) break;
7157 if (d.type != CKEDITOR.NODE_ELEMENT) return this.replaceWith(d), !1;
7158 if (!d.name) return this.replaceWithChildren(), !1
7160 k = d.attributes;
7171 r && (!1 === (g = a.onAttribute(b, d, r, g)) ? delete k[r] :
7174 d.isEmpty || this.filterChildren(a, !1, b);
7186 a.sortAttributes && k.sort(d);
7202 for (var d = 0, h = this.children.length; d < h; ++d)
7203 if (b(this.children[d])) return this.children[d];
7213 for (var b = 0, d = a.length; b < d; ++b) a[b].parent = this
7222 ….children.splice(a, this.children.length - a), d = this.clone(), k = 0; k < b.length; ++k) b[k].pa…
7223 d.children = b;
7226 this.parent.add(d, this.getIndex() + 1);
7227 return d
7231 var d = [],
7235 … "function" == typeof a && a(g) ? d.push(g) : "string" == typeof a && g.name === a && d.push(g);
7236 b && g.find && (d = d.concat(g.find(a, b)))
7238 return d
7265 for (var d = 0; d < b.length; d += 2) a[b[d]] = b[d + 1]
7276 CKEDITOR.template.prototype.output = function(d, b) {
7278 return void 0 !== d[b] ? d[b] : a
7301 CKEDITOR.addTemplate = function(d, b) {
7302 var c = a[d];
7305 name: d,
7309 return a[d] = new CKEDITOR.template(c.source)
7311 CKEDITOR.getTemplate = function(d) {
7312 return a[d]
7317 CKEDITOR.addCss = function(d) {
7318 a.push(d)
7331 CKEDITOR.inline = function(a, d) {
7335 var b = new CKEDITOR.editor(d, a, CKEDITOR.ELEMENT_MODE_INLINE),
7361 var a, d, b;
7363 … h = c.count(); f < h; f++) a = c.getItem(f), "true" == a.getAttribute("contenteditable") && (d = {
7366 }, !1 !== CKEDITOR.fire("inline", d) && CKEDITOR.inline(a, d.config))
7392 g.on("destroy", d);
7396 function d() {
7405 d = a.element,
7429 (d.hide(), b.insertAfter(d)) : d.append(b);
7434 d = a.config.width;
7436 d && b.setStyle("width", CKEDITOR.tools.cssLength(d));
7444 CKEDITOR.replace = function(b, d) {
7445 return a(b, d, null, CKEDITOR.ELEMENT_MODE_REPLACE)
7447 CKEDITOR.appendTo = function(b, d, h) {
7448 return a(b, d, h, CKEDITOR.ELEMENT_MODE_APPENDTO)
7452 var d = null,
7457 … } else if ("function" == typeof arguments[0] && (d = {}, !1 === arguments[0](k, d))) continue;
7458 this.replace(k, d)
7466 var d = this,
7468 if (a != d.mode && k && k[a]) {
7469 d.fire("beforeSetMode", a);
7470 if (d.mode) {
7471 var g = d.checkDirty(),
7472 k = d._.previousModeData,
7474 d.fire("beforeModeUnload");
7475 d.editable(0);
7476 d._.previousMode = d.mode;
7477 d._.previousModeData = n = d.getData(1);
7478 "source" == d.mode && k == n && (d.fire("lockSnapshot", {
7481 d.ui.space("contents").setHtml("");
7482 d.mode = ""
7483 } else d._.previousModeData = d.getData(1);
7485 d.mode = a;
7487 d.resetDirty();
7488 r ? d.fire("unlockSnapshot") : "wysiwyg" == a && d.fire("saveSnapshot");
7490 d.fire("mode");
7491 b && b.call(d)
7496 CKEDITOR.editor.prototype.resize = function(a, b, d, k) {
7507 g = Math.max(b - (d ? 0 : e), 0);
7508 b = d ? b + e : b;
7534 if (g = d(g, e)) g.appendBogus(), q = CKEDITOR.env.ie;
7542 function d(a, b) {
7544 var d = b.block || b.blockLimit,
7545 e = d && d.getLast(c);
7546 …if (!(!d || !d.isBlockBoundary() || e && e.type == CKEDITOR.NODE_ELEMENT && e.isBlockBoundary() ||…
7561 var d = c.data.$.toElement || c.data.$.fromElement || c.data.$.relatedTarget;
7562 …(d = d && d.nodeType == CKEDITOR.NODE_ELEMENT ? new CKEDITOR.dom.element(d) : null) && (b.equals(d
7569 e && b.type == CKEDITOR.NODE_ELEMENT && b.is(f) && (d = b);
7573 var d, e = a.getRanges()[0];
7588d) return g = e.clone(), g.collapse(), g.setEndAt(d, CKEDITOR.POSITION_AFTER_END), a = new CKEDITO…
7610 var d = a.getCommonAncestor(b);
7612 (a = a.getParent()) && !d.equals(a) && 1 == a.getChildCount();) b = a;
7691 var d = this.editor;
7692 d.focus();
7693 d.fire("saveSnapshot");
7694 c || (c = d.getSelection().getRanges()[0]);
7707 var d = this.editor;
7708 d.focus();
7709 d.fire("saveSnapshot");
7710 var e = d.activeEnterMode,
7711 d = d.getSelection(),
7714 b || (b = d.getRanges()[0]);
7719 d.selectRanges([b]);
7727 d = c.config.enterMode,
7742 …fBlock() ? (b.setStartBefore(q), b.collapse(!0), q.remove()) : b.splitBlock(d == CKEDITOR.ENTER_DI…
7776 d = b.getSelection(),
7778 a: if (d.anchorNode && d.anchorNode == c.$) e = !0;
7780 … if (CKEDITOR.env.webkit && (e = c.getDocument().getActive()) && e.equals(c) && !d.anchorNode) {
7785 ….createRange(), b.setStart(e.startContainer.$, e.startOffset), b.collapse(!0), d.removeAllRanges(),
7786 d.addRange(b))
7791 d = a.selection,
7793d.type && e.equals(c) && (d = new CKEDITOR.dom.range(c), a = a.body.createTextRange(), d.moveToEle…
7819 d = {
7827 c.table.detectPurge(d);
7828 d.bookmark = a.createBookmark();
7829 delete d.range;
7831 f.moveToPosition(d.bookmark.startNode, CKEDITOR.POSITION_BEFORE_START);
7832 d.targetBookmark = f.createBookmark();
7833 c.list.detectMerge(d, this);
7834 c.table.detectRanges(d, this);
7835 c.block.detectMerge(d, this);
7836d.tableContentsRanges ? (c.table.deleteRanges(d), a.moveToBookmark(d.bookmark), d.range = a) : (a.…
7837 a.moveToBookmark(d.targetBookmark);
7840 c.list.merge(d, this);
7841 c.table.purge(d, this);
7842 c.block.merge(d, this);
7845 … if (d = a.checkStartOfBlock() && a.checkEndOfBlock() && c.block && !a.root.equals(c.block)) {
7847 var d = c.block.getElementsByTag("span"),
7850 if (d)
7851 for (; q = d.getItem(f++);)
7853 d = !0;
7855 } d = !1
7857 d = !d
7859d && (a.moveToPosition(c.block, CKEDITOR.POSITION_BEFORE_START), c.block.remove())
7915 var d = function() {
7917 ….scrollTop = a._.previousScrollTop, a._.previousScrollTop = null, this.removeListener("scroll", d))
7919 this.on("scroll", d)
7956 d;
7964 …TOR.POSITION_BEFORE_START), f.remove(), g.select(), a.fire("saveSnapshot"), d = 1) : g.collapsed &…
7965d = 1) : p.blockLimit && p.blockLimit.is("td") && (w = p.blockLimit.getAscendant("table")) && g.ch…
7967 return !d
8008 d = b.getRanges()[0];
8009 b = d.startPath();
8010 if (d.collapsed) a: {
8012 …if (e && d[c ? "checkStartOfBlock" : "checkEndOfBlock"]() && d.moveToClosestEditablePosition(e, !c…
8013 if (d.startContainer.type == CKEDITOR.NODE_ELEMENT) {
8014 … var f = d.startContainer.getChild(d.startOffset - (c ? 1 : 0));
8022 d = d.startPath().block;
8023 if (!d || d && d.contains(e)) b = void 0;
8027 (p = (c ? d : e).getBogus()) && p.remove();
8030 (c ? e : d).moveChildren(c ? d : e, !1);
8032 r(e, d, !c);
8038d, p = b.block, d = c.endPath().block, p && d && !p.equals(d) ? (a.fire("saveSnapshot"), (e = p.ge…
8086 var d = c.getSelection();
8087d && !d.isLocked && (d = c.checkDirty(), c.fire("lockSnapshot"), a(b), c.fire("unlockSnapshot"), !
8102 var d = b.fire("ariaEditorHelpLabel", {}).label;
8103 …if (d && (c = this.ui.space(this.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ? "top" : "contents")…
8105d = CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"' + e + '" class\x3d"cke_voice_label"\x3e…
8106 c.append(d);
8117 …D = /(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;…
8123 function b(c, d) {
8125 z = d.range.startContainer;
8126 e = d.range.startPath();
8128 …e.getName(), P && g in CKEDITOR.dtd.$list ? h = h.concat(b(e, d)) : (q = !!z[g], "br" != g || !e.d…
8144 function d(b, c) {
8151 …&& e.push(" "); h < g; h++) q = f.getItem(h), a(q) && !q.is(z) ? e = e.concat(d(q, c)) : e.push(q);
8164 function h(b, c, d, e) {
8169d.contains(q) && e.contains(g) && g.isIdentical(q) && (g.moveChildren(q), g.remove(), h(b, c, d, e…
8173 function d(b, c) {
8178 e && d(e, b[b.length - 1]);
8179 f && d(f, b[0]) && (c.setEnd(c.endContainer, c.endOffset - 1), c.collapse())
8343 J = d(I.node, J);
8403 function b(a, c, d) {
8405 a.append(c, d);
8411 d;
8412 …b--;) d = a.getItem(b), CKEDITOR.tools.trim(d.getHtml()) || (d.appendBogus(), CKEDITOR.env.ie && 9…
8414 return function(d) {
8415 var e = d.startContainer,
8420 f = d.clone();
8423 … f || (f = d.clone(), f.setEndAt(e, CKEDITOR.POSITION_BEFORE_END), f = a(f).lastForward(), g = !0);
8425 f.is("table") ? (d.setStartAt(f, CKEDITOR.POSITION_BEFORE_START),
8426 d.collapse(!0), f.remove()) : (f.is({
8430 …tParent().is("thead") ? "th" : "td", g)), (e = f.getBogus()) && e.remove(), d.moveToPosition(f, g …
8448 d = !1,
8453 … e || (e = b.clone(), e.setEndAt(c, CKEDITOR.POSITION_BEFORE_END), e = a(e).lastForward(), d = !0);
8455 …e(!0), e.remove()) : ((c = e.getBogus()) && c.remove(), b.moveToPosition(e, d ? CKEDITOR.POSITION_…
8462 d = c.clone(),
8466 d.collapse(1);
8468 …f.block && d.checkBoundaryOfElement(f.block, CKEDITOR.END) && (c.setStartAfter(f.block), a.prepend…
8473 d;
8474 a.appendEolBr && (d = this.createEolBr(c), a.fragment.append(d));
8475 … !a.prependEolBr || d && !d.getPrevious() || a.fragment.append(this.createEolBr(c),
8497 d = c.getCommonAncestor(),
8498 e = new CKEDITOR.dom.elementPath(d, b),
8502 d.type == CKEDITOR.NODE_TEXT && (d = d.getParent());
8520 this.rebuildFragment(a, b, d, g)
8522 rebuildFragment: function(a, b, c, d) {
8523 … for (var e; c && !c.equals(b) && d(c);) e = c.clone(0, 1), a.fragment.appendTo(e),
8532 d = a.startOffset,
8534 …b.type == CKEDITOR.NODE_ELEMENT && b.equals(c) && b.is("tr") && ++d == e && a.shrink(CKEDITOR.SHRI…
8540 var d = b.getParent();
8541 if (d.is(CKEDITOR.dtd.$inline)) b[c ? "insertBefore" : "insertAfter"](d)
8544 function b(c, d, e) {
8545 a(d);
8547 for (var f; f = e.getNext();) f.insertAfter(d), d = f;
8552 var d = new CKEDITOR.dom.range(a);
8553 d.setStartAfter(b.startNode);
8554 d.setEndBefore(b.endNode);
8555 return d
8560 var d = c(b, a.bookmark),
8561 e = d.startPath(),
8562 f = d.endPath(),
8567 …if (a.mergeList || a.mergeListItems) d = d.clone(), d.setStartBefore(a.bookmark.startNode), d.setE…
8568 d.createBookmark()
8572 var d = a.mergeListBookmark.startNode,
8574 f = new CKEDITOR.dom.elementPath(d, c),
8581 …ntains(CKEDITOR.dtd.$listItem), g = g.contains(CKEDITOR.dtd.$listItem), f.equals(g) || b(g, d, e));
8582 d.remove();
8599 var d = a.mergeBlockBookmark.startNode,
8601 f = new CKEDITOR.dom.elementPath(d, c),
8605 f && g && !f.equals(g) && b(g, d, e);
8606 d.remove();
8615 h = c.startPath().contains(d),
8616 k = c.endPath().contains(d),
8627 … if (A = !g) A = a.type == CKEDITOR.NODE_ELEMENT && a.is(d) && (!h || b(a, h)) && (!k ||
8630 if (a.is(d)) var A = h && h.getAscendant("table", !0),
8644 var d = CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_IS_CONTAINED,
8646 return e === CKEDITOR.POSITION_IDENTICAL ? !1 : 0 === (e & d)
8648 var d = {
8662 a.type == CKEDITOR.NODE_ELEMENT && a.is(d) && ++e
8675 … p.is(CKEDITOR.dtd.$tableContent) && !p.is(d) && (p = p.getAscendant("table", !0));
8711 d;
8712 …c.block, c.blockLimit) && (d = g(a)) && (d = b.document.createElement(d), d.appendBogus(), b.inser…
8722 function d(b, c) {
8724 var d, e;
8725 if ((d = !c && 1 === b.length) && !(d = b[0].collapsed)) {
8727 d = f.startContainer.getAscendant({
8736d && d.equals(g) && !d.findOne("td, th, tr, tbody, table") ? (f = f.cloneContents(), d = f.getFirs…
8738 if (d) return !1;
8740 if (d = b[e]._getTableElement(), !d) return !1;
8748 d;
8749 for (d = 0; d < a.count(); d++) c.push(a.getItem(d));
8753 d, e;
8754 for (e = 0; e < a.length; e++) d = a[e]._getTableElement(), d.is && d.is({
8757 }) ? c.push(d) : c = c.concat(b(d));
8764 d = [],
8766 …Ascendant("tr")) ? (c += d.join("\t") + "\n", e = a[f].getAscendant("tr"), d = []) : 0 === f && (e…
8767 return c += d.join("\t")
8772 d = b.getSelection(1);
8775 d.root.once("selectionchange", function(a) {
8778 d.selectRanges([a[0]]);
8779 d = this._.cache;
8780 d.ranges = new CKEDITOR.dom.rangeList(a);
8781 d.type = CKEDITOR.SELECTION_TEXT;
8782 d.selectedElement = a[0]._getTableElement();
8783 d.selectedText = c(a);
8784 d.nativeSel = null;
8809 g = d(f, !!CKEDITOR.env.webkit) &&
8810 d(g);
8842 function b(c, d) {
8843 …return c && c.type != CKEDITOR.NODE_TEXT ? a.clone()["moveToElementEdit" + (d ? "End" : "Start")](…
8847 d = a.getPreviousNode(n, null, c),
8850 …return b(d) || b(e, 1) || !(d || e || c.type == CKEDITOR.NODE_ELEMENT && c.isBlockBoundary() && c.…
8864 var d = a.getDocument().getSelection().getNative(),
8865 e = d && "None" != d.type && d.getRangeAt(0),
8869 node: d.anchorNode,
8870 offset: d.anchorOffset
8872 node: d.focusNode,
8873 offset: d.focusOffset
8875 d.anchorNode == c.$ && d.anchorOffset > f && (g[0].offset -= f);
8876 d.focusNode == c.$ && d.focusOffset > f && (g[1].offset -= f)
8880 …ment().$, d = c.getSelection(), c = c.createRange(), c.setStart(g[0].node, g[0].offset), c.collaps…
8896 var d = a.getSelection(1),
8898 f = d.root.on("selectionchange", function(a) {
8903 d.selectRanges([e]);
8917 var d = c.data.getKeystroke();
8918 if (b[d]) {
8921d = f[38 > d ? "getPreviousEditableNode" : "getNextEditableNode"]()) && d.type == CKEDITOR.NODE_EL…
8932 for (var d = c.startContainer,
8933d && !((e = d.type == CKEDITOR.NODE_ELEMENT) && d.is("body") || !d.isReadOnly());) e && "false" ==…
8934 d = c.startContainer;
8939d && d.type == CKEDITOR.NODE_TEXT && (f >= d.getLength() ? h.setStartAfter(d) : h.setStartBefore(d
8941 d = new CKEDITOR.dom.walker(h);
8942 d.evaluator = function(d) {
8943 if (d.type == CKEDITOR.NODE_ELEMENT && d.isReadOnly()) {
8946 c.setEndBefore(d);
8948d.getPosition(h.endContainer) & CKEDITOR.POSITION_CONTAINS || (e.setStartAfter(d), e.collapsed || …
8953 d.next()
8975 d = c.createRange(),
8977d.moveToClosestEditablePosition(b.selected, a)) || (e = d.moveToClosestEditablePosition(b.selected…
8981 d = a(1);
8985 39: d,
8986 40: d,
9012 function d(a) {
9066 } catch (d) {}
9083 } catch (d) {}
9101 c = d(b);
9159 var d = C[a.data.keyCode];
9160 if (d) return d({
9232 var d, e;
9234 …if (a.getRangeAt) d = (e = a.rangeCount && a.getRangeAt(0)) && new CKEDITOR.dom.node(e.commonAnces…
9239 d = e && CKEDITOR.dom.element.get(e.item && e.item(0) || e.parentElement())
9240 } if (!d ||
9241d.type != CKEDITOR.NODE_ELEMENT && d.type != CKEDITOR.NODE_TEXT || !this.root.equals(d) && !this.r…
9281 d = c.type;
9282 "Text" == d && (b = CKEDITOR.SELECTION_TEXT);
9283 "Control" == d && (b = CKEDITOR.SELECTION_ELEMENT);
9296 d = c.startContainer;
9297d == c.endContainer && 1 == d.nodeType && 1 == c.endOffset - c.startOffset && M[d.childNodes[c.sta…
9309 var d = b.parentElement();
9310 if (!d.hasChildNodes()) return {
9311 container: d,
9314 … for (var e = d.children, f, g, h = b.duplicate(), k = 0, l = e.length - 1, q = -1, m, n; k <= l;)
9318 container: d,
9322 h.moveToElementText(d);
9325 e = d.childNodes;
9328 container: d,
9334 …for (d = e.length; 0 < h && 0 < d;) g = e[--d], g.nodeType == CKEDITOR.NODE_TEXT && (n = g, h -= g…
9344 container: d,
9352 container: d,
9364 d = this.getType();
9366d == CKEDITOR.SELECTION_TEXT) return a = new CKEDITOR.dom.range(this.root), d = b(c, !0), a.setSta…
9368 if (d == CKEDITOR.SELECTION_ELEMENT) {
9369 for (var d = [], e = 0; e < c.length; e++) {
9373 d.push(a)
9375 return d
9383 for (var d = 0; d < c.rangeCount; d++) {
9384 var e = c.getRangeAt(d);
9395 d = c.ranges;
9396 d || (c.ranges = d = new CKEDITOR.dom.rangeList(a.call(this)));
9397 return b ? x(new CKEDITOR.dom.rangeList(d.slice())) : d
9432 …etRanges()[0].clone(), c, d, e = 2; e && !((c = a.getEnclosedNode()) && c.type == CKEDITOR.NODE_EL…
9433 return d && d.$
9461 …1) && (d(c) ? f.call(this, c) : e ? this.fake(b) : b ? this.selectElement(b) : this.selectRanges(c…
9511 …tableselection && CKEDITOR.plugins.tableselection.isSupportedEnvironment && d(a) && !l) f.call(thi…
9578 var d = this._.cache,
9582 d.ranges = new CKEDITOR.dom.rangeList(e);
9583 d.selectedElement = d.startElement = a;
9584 d.type = CKEDITOR.SELECTION_ELEMENT;
9585 d.selectedText = d.nativeSel = null;
9597 return d(this.getRanges(), a)
9620 …a.isFake && (c = d(b) ? b[0]._getTableElement() : b[0].getEnclosedNode(), c && c.type == CKEDITOR.…
9621 a.isFake && !d(b) ? this.fake(c) : this.selectRanges(b);
9649 for (var c, d;
9652 else if (!d) {
9654 "false" == e ? c = a : "true" == e && (d = 1)
9659 function d(a, b, c, d) {
9660 return (a.getPosition(b) | d) == d && (!c.childRule || c.childRule(a))
9707 E = y ? !n[y] || B ? 0 : x && !m ? 0 : d(q, t, h, P) : 1;
9714 … (l = !y.getNext(z)) && (M = y.getParent(), n[M.getName()]) && d(M, v, h, O);) y = M;
9745 …for (var a = new CKEDITOR.dom.elementPath(d.getParent()), c = new CKEDITOR.dom.elementPath(n.getPa…
9756 e && d.breakParent(e)
9761 d = c.startNode,
9764 …for (var f = new CKEDITOR.dom.elementPath(d.getParent(), a.root), g, h = 0, k; h < f.elements.leng…
9769 e = d;
9785d; !f.equals(n);) g = f.getNextSourceNode(), f.type == CKEDITOR.NODE_ELEMENT && this.checkElementR…
9810 for (var d in c) a.removeAttribute(d, c[d]);
9822 …var d, e = a.document, f; d = c.getNextParagraph();) !d.isReadOnly() && (c.activeFilter ? c.active…
9831 for (var d, e; d = c.getNextParagraph();) this.checkElementRemovable(d) &&
9832d.is("pre") ? ((e = this._.enterMode == CKEDITOR.ENTER_BR ? null : a.document.createElement(this._…
9839 var d = b && b.is("pre"),
9841 g = !d && f;
9842 if (d && !f) {
9861 if (d) {
9864 … k.is("pre") && (d = y(k.getHtml(), /\n$/, "") + "\n\n" + y(c.getHtml(), /^\n/, ""), CKEDITOR.env.…
9865 c.setHtml(d), k.remove())
9880 var d = "",
9883 b && (d = b);
9887 return d + a.replace(b, c) + e
9893 for (var d = 0; d < a.length; d++) {
9894 var e = a[d],
9916 d = c.attributes,
9919 f = CKEDITOR.tools.isEmpty(d) && CKEDITOR.tools.isEmpty(c),
9921 for (g in d)
9922 …if ("class" != g && !this._.definition.fullMatch || a.getAttribute(g) == t(g, d[g])) b && "data-" …
9930 … = a.getElementsByTag(this.element), d, e = c.count(); 0 <= --e;) d = c.getItem(e), d.isReadOnly()…
9933 …= a.getElementsByTag(f), e = c.count() - 1; 0 <= e; e--) d = c.getItem(e), d.isReadOnly() || x(d, …
9938 for (var d = 0; d < b.length; d++) {
9939 var e = b[d][0],
9942 var g = b[d][1];
9953 d = a.getNext(H);
9957 !d || d.type != CKEDITOR.NODE_TEXT && d.isBlockBoundary({
9961 …} else c = a.getFirst(), d = a.getLast(), a.remove(!0), c && (c.type == CKEDITOR.NODE_ELEMENT && c…
9962 d && !c.equals(d) && d.type == CKEDITOR.NODE_ELEMENT && d.mergeSiblings())
9966 var d;
9967 d = a.element;
9968 "*" == d && (d = "span");
9969 d = new CKEDITOR.dom.element(d, b);
9970 c && c.copyAttributes(d);
9971 d = u(d, a);
9972 …b.getCustomData("doc_processing_style") && d.hasAttribute("id") ? d.removeAttribute("id") : b.setC…
9973 return d
9978 d = c.attributes,
9980 if (d)
9981 for (var e in d) a.setAttribute(e, d[e]);
9999 for (var d = 0; d < c.length; d++) {
10000 var e = c[d],
10016 var d = new CKEDITOR.dom.element("span");
10017 d[c ? "setStyle" : "setAttribute"](a, b);
10018 return d[c ? "getStyle" : "getAttribute"](a)
10027 for (var d in a)
10028 … if (!(d in b) || c(b[d], d) != c(a[d], d) && "inherit" != a[d] && "inherit" != b[d]) return !1;
10033 var d = a.getRanges();
10037 for (e = [], f = 0; f < d.length; f++) e.push(d[f].clone());
10038 for (var g = d.createIterator(); f = g.getNextRange();) b.call(this, f, c);
10039 a.selectRanges(e || d)
10147 for (var c = a.elements, d = 0, e; d < c.length; d++)
10148 … if (e = c[d], this.type != CKEDITOR.STYLE_INLINE || e != a.block && e != a.blockLimit) {
10173 var d = a.getName();
10175 d == this.element : d in this.element) {
10177 if (d = c._AC) c = d;
10179 var d = {},
10183 for (var g in f) e++, d[g] = f[g];
10184 if (g = CKEDITOR.style.getStyleText(c)) d.style || e++, d.style = g;
10185 d._length = e;
10186 c = c._AC = d
10191 … if (d = a.getAttribute(h) || "", "style" == h ? F(c[h], d) : c[h] == d) {
10202 var d;
10205 if (d = b[c][0], d = a.getAttribute(d)) {
10209 if (d == e) return !0
10210 } else if (e.test(d)) return !0
10218 d = b.element;
10219 "bdo" == d && (d = "span");
10220 var c = ["\x3c", d],
10225 c.push("\x3e", a || b.name, "\x3c/", d, "\x3e");
10237 d = "";
10242 "inherit" == f ? d += g : c += g
10245 return a._ST = c + d
10263 CKEDITOR.styleCommand = function(a, d) {
10265 CKEDITOR.tools.extend(this, d, !0)
10273 CKEDITOR.loadStylesSet = function(a, d, b) {
10274 CKEDITOR.stylesSet.addExternal(a, d, "");
10278 attachStyleStateChange: function(a, d) {
10281 for (var d = 0; d < b.length; d++) {
10282 var h = b[d],
10289 fn: d
10301 var d = this,
10302 b = d.config.stylesCombo_stylesSet || d.config.stylesSet;
10304 else if (b instanceof Array) d._.stylesDefinitions = b, a(b);
10311 d._.stylesDefinitions = b[c];
10312 a(d._.stylesDefinitions)
10318 CKEDITOR.dom.comment = function(a, d) {
10319 "string" == typeof a && (a = (d ? d.$ : document).createComment(a));
10332 d = {},
10335 …(b in CKEDITOR.dtd.$block) b in CKEDITOR.dtd.$blockLimit || b in CKEDITOR.dtd.$empty || (d[b] = 1);
10350 … "true" == n.getAttribute("contenteditable") ? k = n : !h && d[r] && (h = n), a[r])) {
10377 var d = this.elements;
10379 if (!a || d.length != a.length) return !1;
10380 for (var b = 0; b < d.length; b++)
10381 if (!d[b].equals(a[b])) return !1;
10384 contains: function(a, d, b) {
10400 d && (b ? c += 1 : --k);
10407 var d;
10408 …ITOR.dtd.$block ? (d = this.contains(CKEDITOR.dtd.$intermediate) || this.root.equals(this.block) &…
10414 CKEDITOR.dom.text = function(a, d) {
10415 "string" == typeof a && (a = (d ? d.$ : document).createTextNode(a));
10431 var d = this.$.parentNode,
10432 b = d.childNodes.length,
10436d.childNodes.length == b && (a >= c ? (h = f.createText(""), h.insertAfter(this)) : (a = f.createT…
10440 d) {
10441 … return "number" != typeof d ? this.$.nodeValue.substr(a) : this.$.nodeValue.substring(a, d)
10445 function a(a, c, d) {
10447 k = c[d ? "endContainer" : "startContainer"],
10448 g = d ? "endOffset" : "startOffset",
10454 c[d ? "endContainer" : "startContainer"] = k;
10460 return CKEDITOR.tools.extend(a, d)
10462 var d = {
10466 d = [],
10474 … for (var n = a.length - 1; 0 <= n; n--) d.unshift(a[n].createBookmark(!0));
10479 n = e.getById(d[r].endNode);
10480 for (e = e.getById(d[r + 1].startNode);;) {
10490 …for (g.moveToBookmark(d.shift()); r--;) n = a[++h], n.moveToBookmark(d.shift()), g.setEnd(n.endCon…
10497 for (var c = [], d, h = 0; h < this.length; h++) {
10498 c.push(d = this[h].createBookmark(b, !0));
10499 … for (var k = h + 1; k < this.length; k++) this[k] = a(d, this[k]), this[k] = a(d, this[k], !0)
10504 for (var c = [], d = 0; d <
10505 this.length; d++) c.push(this[d].createBookmark2(a));
10518 function d(b) {
10520 d = CKEDITOR.env;
10525 …if (g = c[f], d.ie && (g.replace(/^ie/, "") == d.version || d.quirks && "iequirks" == g) && (g = "…
10532 h[a] || (CKEDITOR.document.appendStyleSheet(d(a)), h[a] = 1);
10544 var d, f, g;
10551 for (d = 0; d < c.length; d++) g = g.replace(c[d][0], c[d][1]);
10555 for (d = 0; d < c.length; d++) g = g.replace(c[d][0], c[d][1]);
10563 loadPart: function(c, d) {
10565 b(c, d)
10566 }) : b(c, d)
10569 return CKEDITOR.getUrl(d(a))
10572 addIcon: function(a, b, c, d) {
10577 bgsize: d || "16px"
10580 getIconStyle: function(a, b, c, d, f) {
10585 d = d || g && g.offset;
10588 …ackground-image:url('" + CKEDITOR.getUrl(a) + "');background-position:0 " + d + "px;background-siz…
10600 d = "",
10602 "function" == typeof c && (d = c(this, "editor"), h =
10607 f([b], d, a);
10623 var d = b.getUiColor();
10624 d && f([a], CKEDITOR.skin.chameleon(b, "panel"), [
10625 [n, d]
10641 var d = a.getComputedStyle("border-top-color"),
10643 CKEDITOR.env.hc = !(!d || d != b)
10654 …ete CKEDITOR._.pending, d = 0; d < a.length; d++) CKEDITOR.editor.prototype.constructor.apply(a[d]…
10665 return function(b, d) {
10670 … c = ("0" + (0 > d ? 0 | c * (1 + d) : 0 | c + (255 - c) * d).toString(16)).slice(-2);
10680 return function(g, d) {
10701 return f[d].output(a).replace(/\[/g, "{").replace(/\]/g, "}")
10710 for (var a = [this._], d = 1; d < arguments.length; d++) a.push(arguments[d]);
10716 build: function(b, a, d) {
10717 return new CKEDITOR.ui.dialog.textInput(b, a, d)
10721 build: function(b, a, d) {
10722 return new CKEDITOR.ui.dialog[a.type](b, a, d)
10766 labeledElement: function(b, a, d, f) {
10776 … CKEDITOR.ui.dialog.uiElement.call(this, b, a, d, "div", null, e, function() {
10797 textInput: function(b, a, d) {
10824 CKEDITOR.ui.dialog.labeledElement.call(this, b, a, d, function() {
10837 textarea: function(b, a, d) {
10853 CKEDITOR.ui.dialog.labeledElement.call(this, b, a, d, function() {
10865 a, d) {
10871 … CKEDITOR.ui.dialog.uiElement.call(this, b, a, d, "span", null, null, function() {
10876 d = CKEDITOR.tools.getNextId() + "_label",
10880 "aria-labelledby": d
10886 …e.push(' \x3clabel id\x3d"', d, '" for\x3d"', g.id, '"' + (a.labelStyle ? ' style\x3d"' + a.labelS…
10891 radio: function(b, a, d) {
10901 b, a, d,
10903 …for (var e = [], d = [], g = (a.id ? a.id : CKEDITOR.tools.getNextId()) + "_radio", k = 0; k < a.i…
10939 new CKEDITOR.ui.dialog.hbox(b, f, e, d);
10940 return d.join("")
10945 button: function(b, a, d) {
10971 CKEDITOR.ui.dialog.uiElement.call(this, b, c, d, "a", null, {
10983 select: function(b, a, d) {
10988 CKEDITOR.ui.dialog.labeledElement.call(this, b, a, d, function() {
10993 d = [],
11006 …for (var k = 0, l; k < a.items.length && (l = a.items[k]); k++) d.push('\x3coption value\x3d"', CK…
11009 g, d.join(""));
11015 file: function(b, a, d) {
11026 CKEDITOR.ui.dialog.labeledElement.call(this, b, a, d, function() {
11037 fileButton: function(b, a, d) {
11046 var d =
11049 … !1 !== c && ("xhr" !== c && b.getContentElement(d[0], d[1]).submit(), this.disable())
11054 CKEDITOR.ui.dialog.button.call(this, b, c, d)
11060 d = /\/$/;
11079 d.test(g[1]) && (g[1] = g[1].slice(0, -1), g[2] = "/" + g[2]);
11084 fieldset: function(b, a, d, f, c) {
11092 for (var b = 0; b < d.length; b++) a.push(d[b]);
11203 add: function(b, a, d) {
11208 … void 0 === d || null === d ? CKEDITOR.env.ie ? c.add(f.$) : c.add(f.$, null) : c.add(f.$, d);
11258 …for (var d = this._.children, f, c = 0; c < d.length && (f = d[c]); c++) f.getElement().$.checked =
11310 d, f = function(a, b, c, d) {
11312 a.getInputElement().on(c, d, a)
11317 …if (d = c.match(a)) this.eventProcessors[c] ? this.eventProcessors[c].call(this, this._.dialog, b[…
11322 d.$.open();
11326d.$.write(['\x3chtml dir\x3d"' + g + '" lang\x3d"' + k + '"\x3e\x3chead\x3e\x3ctitle\x3e\x3c/title…
11329 d.$.close();
11333 d = CKEDITOR.document.getById(a.frameId).getFrameDocument(),
11385 build: function(b, a, d) {
11391 return new CKEDITOR.ui.dialog[a.type](b, h, e, d, a)
11417 e = 0, d = c.length; e < d; e++) {
11451 d = c.getChild(1);
11455 d.unselectable();
11461 close: d,
11524 d.x += r;
11525 d.y += l;
11526d.x + h[3] < g ? -h[3] : d.x - h[1] > k.width - c.width - g ? k.width - c.width + ("rtl" == f.lang…
11540 d = null,
11553 d = a.getPosition();
11575 if (d == CKEDITOR.DIALOG_RESIZE_WIDTH ||
11576 d == CKEDITOR.DIALOG_RESIZE_BOTH) n = Math.max(e.minWidth || 0, G - g);
11577 …if (d == CKEDITOR.DIALOG_RESIZE_HEIGHT || d == CKEDITOR.DIALOG_RESIZE_BOTH) q = Math.max(e.minHeig…
11594 d = e.resizable;
11595 if (d != CKEDITOR.DIALOG_RESIZE_NONE) {
11597 g, h, p, m, k, q, n = CKEDITOR.tools.addFunction(function(d) {
11605 x: d.screenX,
11606 y: d.screenY
11612 d.preventDefault && d.preventDefault()
11616d == CKEDITOR.DIALOG_RESIZE_WIDTH ? b = " cke_resizer_horizontal" : d == CKEDITOR.DIALOG_RESIZE_HE…
11635 d = c.dialog_backgroundCoverColor || ("moono-lisa" == e ? "black" : "white"),
11638 c = CKEDITOR.tools.genKey(d, e, f),
11640 …r: " + d, '" class\x3d"cke_dialog_background_cover"\x3e'], CKEDITOR.env.ie6Compat && (d = "\x3chtm…
11641 …("document.open();(" + CKEDITOR.tools.fixDomain + ")();document.write( '" + d + "' );document.clos…
11706 } catch (d) {}
11725 function d(b) {
11728 d = "rtl" == a.lang.dir,
11734 …c) && l._.tabBarMode) c = -1 != CKEDITOR.tools.indexOf([d ? 39 : 37, 38], c) ? x.call(l) : A.call(…
11832 d;
11833 for (d in b)
11834 for (var e in b[d])
11835 if (c = a.call(this, b[d][e])) return
11841 d = "string" == typeof c || !1 === c;
11842 d && (a.data.hide = !1, a.stop());
11843 T.call(b, !d, "string" == typeof c ?
11845 return d
11864 y.on("keydown", d, this);
11869 y.removeListener("keydown", d);
11876 …(new CKEDITOR.dom.document(a.data.iframe.$.contentWindow.document)).on("keydown", d, this, null, 0)
11942 d = "rtl" == this._.editor.lang.dir,
11948 …f = CKEDITOR.document.getWindow().getScrollPosition(), a += f.x, b += f.y), d && (f = this.getSize…
11951 … b[d ? "right" : "left"] = (0 < a ? a : 0) + "px", e.setStyles(b), c && (this._.moved = 1))
11975 d = a.requiredContent,
11981 … }!f || d && !this._.editor.activeFilter.check(d) ? e[0].addClass("cke_dialog_tab_disabled") :
12004 d = (c.height - b.height) / 2;
12005 …CKEDITOR.env.ie6Compat || (b.height + (0 < d ? d : 0) > c.height || b.width + (0 < e ? e : 0) > c.…
12006 … this.move(this._.moved ? this._.position.x : e, this._.moved ? this._.position.y : d)
12077 …}, b), d = this._.contents[a.id] = {}, f = e.getChild(), g = 0; e = f.shift();) e.notAllowed || "h…
12082 d = "cke_" + a.id + "_" + CKEDITOR.tools.getNextNumber();
12084 …" : "cke_first", c, a.hidden ? ' style\x3d"display:none"' : "", ' id\x3d"', d, '"', e.gecko && !e.…
12086 b.setAttribute("aria-labelledby", d);
12111 var d = this._.tabs[a];
12112 d[0].addClass("cke_dialog_tab_selected");
12114 CKEDITOR.env.ie7Compat ? (K(d[1]), d[1].show(), setTimeout(function() {
12115 K(d[1], 1)
12116 }, 0)) : d[1].show();
12289 for (var e = 0, d; d = a[e]; e++)
12290 if (d.id == b || c && d[c] && (d = D(d[c], b, c))) return d;
12293 E = function(a, b, c, e, d) {
12299 if (d) return null
12305 for (var e = 0, d; d = a[e]; e++) {
12306 if (d.id == b) return a.splice(e, 1);
12307 if (c && d[c] && (d = F(d[c],
12308 b, c))) return d
12314 for (var c = b.contents, e = 0, d; d = c[e]; e++) c[e] = d && new M(a, d);
12355 d = String.fromCharCode(a.data.$.keyCode);
12356 …(b = w[(b ? "CTRL+" : "") + (c ? "ALT+" : "") + (e ? "SHIFT+" : "") + d]) && b.length && (b = b[b.…
12362 d = String.fromCharCode(a.data.$.keyCode);
12363 …(b = w[(b ? "CTRL+" : "") + (c ? "ALT+" : "") + (e ? "SHIFT+" : "") + d]) && b.length && (b = b[b.…
12365 S = function(a, b, c, e, d) {
12370 keyup: d || a.accessKeyUp,
12387 uiElement: function(a, b, c, e, d, f, g) {
12391 m = (d && d.call ? d(b) : d) || {},
12462 hbox: function(a, b, c, e, d) {
12466 g = d && d.widths || null,
12467 h = d && d.height || null,
12471 d && d.align && (m.align = d.align);
12473 a, d || {
12486 d && void 0 !== d.padding && e.push("padding:" + v(d.padding));
12497 vbox: function(a, b, c, e, d) {
12501 g = d && d.width || null,
12502 h = d && d.heights || null;
12503 CKEDITOR.ui.dialog.uiElement.call(this, a, d || {
12510 d && d.expand && b.push("height:100%;");
12514 …b.push('align\x3d"', CKEDITOR.tools.htmlEncode(d && d.align || ("ltr" == a.getParentEditor().lang.…
12520 …h ? k.push("height:" + v(h[e])) : d && d.expand && k.push("height:" + Math.floor(100 / c.length) +…
12521 d && void 0 !== d.padding && k.push("padding:" + v(d.padding));
12570 c, e = function(a, b, c, d) {
12572 a.getInputElement().on(c, d, a)
12575 d;
12576 for (d in a)
12577 …(c = d.match(b)) this.eventProcessors[d] ? this.eventProcessors[d].call(this, this._.dialog, a[d])…
12626 … for (var d = c.children, f, g = [], h = [], p = 0; p < d.length && (f = d[p]); p++) {
12654 b = /^\d*$/,
12655 c = /^\d*(?:\.\d+)?$/,
12656 e = /^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/,
12657 d = /^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i,
12666 c, d = CKEDITOR.VALIDATE_AND,
12673 f < a.length && "number" == typeof a[f] && (d = a[f]);
12674 var n = d == CKEDITOR.VALIDATE_AND ? !0 : !1;
12675 for (f = 0; f < e.length; f++) n = d == CKEDITOR.VALIDATE_AND ? n &&
12697 return d.test(CKEDITOR.tools.trim(a))
12729 for (var d in a) a[d].destroy()
12913 var d = c.lang.common,
12916 label: d.advancedTab,
12917 title: d.advancedTab,
12930 label: d.id,
12938 label: d.langDir,
12942 [d.notSet, ""],
12943 [d.langDirLTR, "ltr"],
12944 [d.langDirRTL, "rtl"]
12958 label: d.styles,
12960 validate: CKEDITOR.dialog.validate.inlineStyle(d.invalidInlineStyle),
12968 var d = this.getValue(),
12970 e.setAttribute("style", d);
12972 d = CKEDITOR.tools.normalizeCssText(e.getAttribute("style"));
12973 this.setValue(d, 1)
12985 label: d.cssClasses,
13002 d = function(g, d, b, a) {
13014 label: d,
13040 d("Bold", a.bold, "bold", b.coreStyles_bold);
13041 d("Italic", a.italic, "italic", b.coreStyles_italic);
13042 d("Underline", a.underline, "underline", b.coreStyles_underline);
13043 d("Strike", a.strike, "strike", b.coreStyles_strike);
13044 d("Subscript", a.subscript,
13046 d("Superscript", a.superscript, "superscript", b.coreStyles_superscript);
13076 function q(a, f, d, b) {
13077 if (!a.isReadOnly() && !a.equals(d.editable())) {
13080 for (var c = d.editable();
13086 } b = "useComputedState" in d.config ? d.config.useComputedState : 1;
13088 … a.setAttribute("dir", f)) : a.setAttribute("dir", f), d.forceNextSelectionCheck())
13092 function v(a, f, d) {
13095 …a.enlarge(d == CKEDITOR.ENTER_BR ? CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS : CKEDITOR.ENLARGE_BLOCK_CO…
13112 refresh: function(a, d) {
13116 c = d.lastElement;
13123 c = c || d.block || d.blockLimit;
13127 b = (d.block || d.blockLimit || a.editable()).getDirection(1);
13131 var d = f.getSelection(),
13133 c = d.getRanges();
13135 for (var h = {}, e = d.createBookmarks(), c = c.createIterator(), g,
13145 d;
13146 … if (d = (a ? a.type == CKEDITOR.NODE_ELEMENT : !1) && a.getName() in t) {
13148 d = !(c && a.getParent().is("blockquote"))
13150 … return !!(d && a.getPosition(n) & CKEDITOR.POSITION_FOLLOWING && (a.getPosition(p) &
13159 d.selectBookmarks(e);
13168 d = a == l.removeAttribute,
13173 if (e = c == (f || d ?
13174 "dir" : "direction") || "style" == c && (d || b.test(h))) {
13214 c, d, e, f) {
13215 a.addCommand(d, new CKEDITOR.command(a, e));
13218 command: d,
13223 var d = a.lang.bidi;
13224 f("BidiLtr", d.ltr, "bidiltr", p("ltr"), 10);
13225 f("BidiRtl", d.rtl, "bidirtl", p("rtl"), 20);
13255 d;
13257 for (d = e; d = d.getNext();)
13258 if (d.type == CKEDITOR.NODE_ELEMENT && d.isBlockBoundary()) {
13259 e.move(d, !0);
13262 for (d = b; d = d.getPrevious();)
13263 if (d.type == CKEDITOR.NODE_ELEMENT && d.isBlockBoundary()) {
13264 b.move(d);
13273 d = e[0].getParent();
13275 … for (b = 0; b < e.length; b++) a = e[b], d = d.getCommonAncestor(a.getParent());
13282 }; a[d.getName()];) d = d.getParent();
13284 for (a = e.shift(); !a.getParent().equals(d);) a = a.getParent();
13297 for (d = {}; a = f.getNextParagraph();) {
13306 …tomData("blockquote_moveout") && (b.push(e), CKEDITOR.dom.element.setMarker(d, e, "blockquote_move…
13308 CKEDITOR.dom.element.clearAllMarkers(d);
13311 …for (d = {}; 0 < b.length;) f = b.shift(), c = f.getParent(), f.getPrevious() ? f.getNext() ? (f.b…
13312 … (e.push(c), CKEDITOR.dom.element.setMarker(d, c, "blockquote_processed", !0)), a.push(f);
13313 CKEDITOR.dom.element.clearAllMarkers(d);
13317 d = c;
13318 … for (var f = 0, m = d.getChildCount(), l = void 0; f < m && (l = d.getChild(f)); f++)
13320 d = !1;
13322 } d = !0
13324 d && c.remove()
13403 b.showNotification = function(a, d, e) {
13405 "progress" == d ? f = e : l = e;
13408 type: d,
13417 var d = b._.notificationArea.notifications;
13418d.length && (a(b.lang.notification.closed), d[d.length - 1].hide(), c.cancel())
13436 d = c.findOne(".cke_notification_message"),
13441 …rogress" != this.type && e && e.remove() : (e = this._createProgressElement(), e.insertBefore(d)));
13442 void 0 !== b.message && (this.message = b.message, d.setHtml(this.message));
13459 a, c, d = this.editor.lang.common.close;
13473 …lass\x3d"cke_notification_close" href\x3d"javascript:void(0)" title\x3d"' + d + '" role\x3d"button…
13547 k(n + d.width - g - h))
13551 d = c.ui.contentsElement.getClientRect(),
13565 … f && f.isVisible() && l.bottom > d.top && l.bottom < d.bottom - u.height ? a.setStyles({
13568 }) : 0 < d.top ? a.setStyles({
13571 }) : e.y + d.height - u.height > p.y ? a.setStyles({
13576 top: k(e.y + d.height - u.height)
13578 …var n = "fixed" == a.getStyle("position") ? d.left : "static" != q.getComputedStyle("position") ? …
13579 d.width <
13580d.width / 2 + g / 2 + h > p.x + t.width ? a.setStyle("left", k(n - e.x + p.x + t.width - g - h)) :…
13624 d = this.command,
13658 …", c, this), !this.readOnly && a.on("readOnly", c, this)) : d && (d = a.getCommand(d)) && (d.on("s…
13659 this.setState(d.state)
13660 …}, this), g += d.state == CKEDITOR.TRISTATE_ON ? "on" : d.state == CKEDITOR.TRISTATE_DISABLED ? "d…
13664 d = c.getFirst();
13667 d.setAttribute("style",
13670d ? (k = a.getCommandKeystroke(d)) && (l = CKEDITOR.tools.keystrokeToString(a.lang.common.keyboard…
13722 function d() {
13729 var l, d = g.groups;
13730 if (d)
13731 for (var h = 0; h < d.length; h++) l = d[h], (l = b[l]) && c(g, l);
13755d; d = e.shift();) d = "string" == typeof d ? d : d.name, b && -1 != CKEDITOR.tools.indexOf(b, d) …
13761 e, d, h;
13762d = b[e], h = {}, "/" == d ? a.push(d) : CKEDITOR.tools.isArray(d) ? (c(h, CKEDITOR.tools.clone(d)…
13763 h.name = d.name, a.push(h));
13770 return a.toolbar = e ? h(e) : d()
13814 for (var a = 0, d; d = this.toolbars[a++];)
13815 for (var f = 0, c; c = d.items[f++];)
13837 var d, f = function(c, h) {
13848 … for (c = b.items[d ? b.items.length - 1 : 0]; c && !c.focus;)(c = d ? c.previous : c.next) ||
13863 b ? b.focus() : (d = 1, f(c, CKEDITOR.SHIFT + 9), d = 0);
13877 var d = CKEDITOR.tools.getNextId(),
13878d, '" class\x3d"cke_voice_label"\x3e', a.lang.toolbar.toolbars, "\x3c/span\x3e", '\x3cspan id\x3d"…
13879 d = !1 !== a.config.toolbarStartupExpanded,
13881 …TOR.ELEMENT_MODE_INLINE && b.push('\x3cspan class\x3d"cke_toolbox_main"' + (d ? "\x3e" : ' style\x…
13946 d = b.ui.space("contents"),
13948 h = parseInt(d.$.style.height, 10),
13953 d.setStyle("height",
13957 contentsHeight: d.$.offsetHeight,
13967 …b.push('\x3ca title\x3d"' + (d ? a.lang.toolbar.toolbarCollapse : a.lang.toolbar.toolbarExpand) + …
13968 d || b.push(" cke_toolbox_collapser_min");
13977 var a, d = 0,
13979 for (a = this.toolbox.toolbars; d < a.length; d++)
13980 …for (e = a[d].items, b = 0; b < e.length; b++) f = e[b], f.clickFn && CKEDITOR.tools.removeFunctio…
13994 render: function(a, d) {
13995d.push('\x3cspan class\x3d"cke_toolbar_separator" role\x3d"separator"\x3e\x3c/span\x3e');
14003 CKEDITOR.ui.prototype.addToolbarGroup = function(a, d, f) {
14005 h = 0 === d,
14014 if (d &&
14015 (d = CKEDITOR.tools.indexOf(f.groups, d), 0 <= d)) {
14016 f.groups.splice(d + 1, 0, a);
14022 d = null
14024 d && (d = CKEDITOR.tools.indexOf(c, function(a) {
14025 return a.name == d
14027 h ? c.splice(0, 0, a) : "number" == typeof d ? c.splice(d + 1, 0, b) : c.push(a)
14068 var d;
14072 d = setTimeout(function() {
14077 clearTimeout(d)
14095 } catch (d) {
14104 function d() {
14116 command: d,
14121 var d = this,
14153 d = c.getBody(),
14158 d.on(b, h);
14160 d.removeListener(b, h);
14167 c, d, e;
14168 …ment()) && (d = b.getRanges()[0], e = a.document.createText(""), e.insertBefore(c), d.setStartBefo…
14176 var d = a.document,
14182 if (!d.getById("cke_pastebin")) {
14186 …CKEDITOR.dom.element(!CKEDITOR.env.webkit && !e.is("body") || CKEDITOR.env.ie ? "div" : "body", d);
14192 d = d.getWindow();
14197 top: d.getScrollPosition().y - l + 10 + "px",
14199 height: Math.max(1, d.getViewPaneSize().height - 20) + "px",
14269 var d = !1 !== a.fire("beforePaste", c);
14270d && p.canClipboardApiBeTrusted(c.dataTransfer, a) ? (b.data.preventDefault(), setTimeout(function…
14275 d && r(a, c)
14339 function b(c, d, e, h, f) {
14340 var n = a.lang.clipboard[d];
14341 a.addCommand(d, e);
14344 command: d,
14347 a.addMenuItems && a.addMenuItem(d, {
14349 command: d,
14357 "paste", d(), 30, 8);
14362 function d(a) {
14386 a.on("paste", d, null, null, 0);
14387 !1 === y() && (a.removeListener("paste", d), a._.forcePasteDialog &&
14450 var d = new CKEDITOR.htmlParser.basicWriter;
14453 b.writeHtml(d);
14454 return d.getHtml()
14484 function d(c, e) {
14494 var d = {
14498 c && (d.dragRange = c);
14499 e && (d.dropRange = e);
14500 !1 === a.fire(b.name, d) && b.data.preventDefault()
14540 d = b.dragRange;
14541 e && g(c, d, e)
14554 … }, 0) : g.getTransferType(a) == CKEDITOR.DATA_TRANSFER_CROSS_EDITORS ? c(f, h, g) : d(h, g)
14571 var d = ["image/png", "image/jpeg", "image/gif"],
14576 …== f.getFilesCount() && g != f.id && (f = f.getFile(0), -1 != CKEDITOR.tools.indexOf(d, f.type))) {
14599 d = c.getData("text/html");
14600 if (d) b.data.dataValue = d, b.data.type = "html";
14601 …else if (d = c.getData("text/plain")) b.data.dataValue = a.editable().transformPlainTextToHtml(d),…
14610 var d, g, n = new CKEDITOR.dom.element("div");
14611 …dCount() && (d = n.getFirst()) && d.type == CKEDITOR.NODE_ELEMENT && (d.hasClass("cke_editable") |…
14614 CKEDITOR.env.ie ? b = b.replace(/^&nbsp;(?: |\r\n)?<(\w+)/g, function(b, d) {
14615 return d.toLowerCase() in c ? (a.data.preSniffing = "html", "\x3c" + d) : b
14616 … }) : CKEDITOR.env.webkit ? b = b.replace(/<\/(\w+)><div><br><\/div>$/, function(b, d) {
14617 return d in
14618 c ? (a.data.endsWithEOL = 1, "\x3c/" + d + "\x3e") : b
14624 var d = a._.nextPasteType || b.type,
14629 g = "html" == d || "html" == b.preSniffing ? "html" : z(f);
14632 if ("text" == d && "html" == g) f =
14637 "auto" == d && (d = "html" == g || "html" == m ? "html" : "text");
14638 b.type = d;
14675 b, c, d) {
14676 function g(a, c, d) {
14679d != c.getChildCount()) return a = b.startContainer.getChild(b.startOffset - 1), c = b.startContai…
14682 …"number" == typeof d && "number" == typeof c && h.type == CKEDITOR.NODE_ELEMENT && (g(a.startConta…
14683 h, d))
14687 d = b.endOffset;
14688d || a.startContainer.getParent().equals(c) && a.startContainer.getIndex() < d || a.endContainer.…
14690 internalDrop: function(a, b, c, d) {
14692 h = d.editable(),
14694 d.fire("saveSnapshot");
14695 d.fire("lockSnapshot", {
14707 a = d.createRange();
14710 b = d.createRange();
14712 r(d, {
14717 d.fire("unlockSnapshot")
14722 d = c.clientX,
14727 …retRangeFromPoint && b.document.$.caretRangeFromPoint(d, g)) c = b.document.$.caretRangeFromPoint(
14737 c.moveToPoint(d, g - l), f = !0
14740 c.moveToPoint(d, g + l), f = !0
14750 var q = b.document.$.elementFromPoint(d, g),
14756d < r.left ? e.setStartAt(p, CKEDITOR.POSITION_AFTER_START) : e.setStartAt(p, CKEDITOR.POSITION_BE…
14768 d = new this.dataTransfer(c, b);
14769 "dragstart" === a.name && d.storeId();
14770 …c ? this.dragData && d.id == this.dragData.id ? d = this.dragData : this.dragData = d : this.dragD…
14771 d = this.dragData : this.dragData = d;
14772 a.data.dataTransfer = d
14781 d = new this.dataTransfer(c, b);
14782 "copy" !== a.name && "cut" !== a.name || d.storeId();
14783 …this.copyCutData && d.id == this.copyCutData.id ? (d = this.copyCutData, d.$ = c) : this.copyCutDa…
14784 return d
14827 } catch (d) {
14862 c, d;
14867 d = this._getImageFromClipboard();
14869 d) {
14873 0 === this._.files.length && d && this._.files.push(d)
14942 d = null,
14943d = a === this._customDataFallbackType ? c.content : c.data && c.data[a] ? c.data[a] : this._getDa…
14944 return null !== d ? d : ""
14949 var d = b,
14952 g.setData(a, d), c && (this._dataTransfer._.nativeHtmlCache = d)
14959 e[a] = d;
14961d = this._applyDataComment(c, e), g.setData(this._customDataFallbackType, d), this._dataTransfer._…
14963 d = ""
14967 return d
14974 } catch (d) {
15053 d = this._.panel = new CKEDITOR.ui.floatPanel(c, g, f),
15054 f = d.addBlock(a.id, e),
15056 d.onShow = function() {
15063 d.onHide = function(d) {
15067 if (!d && b.onClose) b.onClose()
15069 d.onEscape = function() {
15070 d.hide(1);
15073 if (this.onBlock) this.onBlock(d, f);
15164 …var d = CKEDITOR.env.air ? "javascript:void(0)" : CKEDITOR.env.ie ? "javascript:void(function(){" …
15167 src: d
15170 d = g.output(e);
15171 b && b.push(d);
15172 return d
15229 }, e = this._.getItems(), d, c, f = e.count() - 1; 0 <= f; f--)
15230 …if (d = e.getItem(f), d.getAscendant(b) || (c = d, this._.focusIndex = f), "true" == d.getAttribut…
15231 c = d;
15251 … for (var d = this._.focusIndex, e = this.element.getElementsByTag("a"), c; c = e.getItem(++d);)
15253 this._.focusIndex = d;
15259 d = this._.focusIndex;
15260 … for (e = this.element.getElementsByTag("a"); 0 < d && (c = e.getItem(--d));) {
15262 this._.focusIndex = d;
15271 …return d = this._.focusIndex, (c = 0 <= d && this.element.getElementsByTag("a").getItem(d)) && (c.…
15354 d = t.x + (m || 0) - f.x,
15356 …!q || 1 != c && 4 != c ? q || 2 != c && 3 != c || (d += b.$.offsetWidth - 1) : d += b.$.offsetWidt…
15402 q && (d -= l.$.offsetWidth);
15403 l.setStyle("left", d + "px");
15411 … q ? m < c && (d = h > c ? d + c : b.width > c ? d - a.left : d - a.right + b.width) :
15412 … m < c && (d = h > c ? d - c : b.width > c ? d - a.right + b.width : d - a.left);
15415 …ComputedStyle("direction") && (d = CKEDITOR.env.ie8Compat ? d - 2 * l.getDocument().getDocumentEle…
15423 left: d + "px"
15508 function t(a, d, g, r, k) {
15509 var p = new CKEDITOR.style(l["colorButton_" + d + "Style"]),
15536 b.element.setHtml(y(a, d, m));
15558 …do c = b && b.getComputedStyle("back" == d ? "background-color" : "color") || "transparent"; while…
15564 … f = u(f.getComputedStyle("back" == d ? "background-color" : "color"));
15586 function y(a, d, g) {
15594 var d =
15596 e.removeStyle(new CKEDITOR.style(d, {
15599 d.childRule = "back" == b ? function(a) {
15605 a && e.applyStyle(new CKEDITOR.style(d, {
15618 …h.auto, '" onclick\x3d"CKEDITOR.tools.callFunction(', q, ",null,'", d, "');return false;\" href\x3…
15626 …\x3d"', n, '" onclick\x3d"CKEDITOR.tools.callFunction(', q, ",'", b, "','", d, "'); return false;\…
15629 …e\x3d"', h.more, '" onclick\x3d"CKEDITOR.tools.callFunction(', q, ",'?','", d, "');return false;\"…
15667 var d = CKEDITOR.tools;
15669 a = d.style.parse.background(a.styles.background);
15670 return a.color && 1 === d.objectKeys(a).length
15673 var d = (new CKEDITOR.style(e.config.colorButton_backStyle, {
15676 a.name = d.element;
15677 a.styles = d.styles;
15678 a.attributes = d.attributes || {};
15710 var d = new CKEDITOR.dialogCommand("colordialog");
15711 d.editorFocus = !1;
15712 b.addCommand("colordialog", d);
15714 b.getColorFromDialog = function(d, g) {
15720 d.call(g, a)
15765 CKEDITOR.addTemplates = function(a, d) {
15766 c[a] = d
15771 CKEDITOR.loadTemplates = function(a, d) {
15773 e.length ? CKEDITOR.scriptLoader.load(e, d) : setTimeout(d, 0)
15801 a.sort(function(a, d) {
15802 …return a.group < d.group ? -1 : a.group > d.group ? 1 : a.order < d.order ? -1 : a.order > d.order…
15821 var d = CKEDITOR.tools.extend({}, b.panel, {
15826 m = d.block.attributes = d.attributes || {};
15829 d
15835 d = this.editor.elementPath(),
15839 var k = m[g](b, a, d);
15863 d = this.items[a];
15864 if (d = d.getItems && d.getItems()) {
15868 for (var m in d) {
15870 g && (g.state = d[m], b.add(g))
15888 show: function(a, b, d, m) {
15945 …arent ? this.parent._.panel.showAsChild(e, this.id, a, b, d, m) : e.showBlock(this.id, a, b, d, m);
15967 $: function(a, b, d) {
15968 CKEDITOR.tools.extend(this, d, {
15977 render: function(a, b, d) {
16018 r.output(a, d)
16054 d = a.getTarget().getDocument().getDocumentElement(),
16060 this.open(d, null, g, h)
16066 var f, d = function() {
16072 a.on("keyup", d);
16073 a.on("contextmenu", d)
16076 open: function(a, e, f, d) {
16077 …a || CKEDITOR.document.getDocumentElement(), this.editor.selectionChange(1), this.show(a, e, f, d))
16098 function k(a, b, d, e) {
16101 if (d(a), e) return;
16104 if (d(a), e) break
16108 var d = {
16113 return b.element === a || b.element === d[a]
16147 var d = a.editable(),
16148 b = d.isInline() ? d : a.document,
16150 d.attachListener(b, "mouseup", function(b) {
16153 d.attachListener(CKEDITOR.document, "mouseup", function(b) {
16155 …r(b) !== CKEDITOR.MOUSE_BUTTON_LEFT || e.state !== CKEDITOR.TRISTATE_ON || d.contains(b.data.getTa…
16157 … c && (b = CKEDITOR.document.getById(c._.id), d.attachListener(b, "dblclick", function() {
16161 }), d.attachListener(b, "mouseup", function(a) {
16172 a.copyFormatting.on("extractFormatting", function(d) {
16173 var e = d.data.element;
16174 if (e.contains(a.editable()) || e.equals(a.editable())) return d.cancel();
16176 … if (!a.copyFormatting.filter.check(new CKEDITOR.style(e), !0, !0)) return d.cancel();
16177 d.data.styleDef = e
16180 function(d) {
16181 if (!d.data.preventFormatStripping) {
16182 var e = d.data.range,
16187 …!CKEDITOR.env.chrome ? c[h].removeFromRange(d.data.range, d.editor) : c[h].remove(d.editor) : u(f.…
16217 var d = CKEDITOR.plugins.copyformatting,
16221 g = d._getCursorContainer(a),
16224d._putScreenReaderMessage(a, "canceled"), d._detachPasteKeystrokeHandler(a), this.setState(CKEDITO…
16225 e.styles = d._extractStylesFromElement(a, a.elementPath().lastElement);
16229 d._putScreenReaderMessage(a, "copied");
16230 d._attachPasteKeystrokeHandler(a)
16237 var d = a.getCommand("copyFormatting"),
16243 if (e || d.state === CKEDITOR.TRISTATE_ON) {
16247 …h.removeClass("cke_copyformatting_tableresize_cursor"), d.setState(CKEDITOR.TRISTATE_OFF), c._deta…
16258 d = a.getAttributes(CKEDITOR.plugins.copyformatting.excludedAttributes),
16263 attributes: d,
16268 var d = {},
16271 …ta-cke-bookmark") && (d.element = b, a.copyFormatting.fire("extractFormatting", d, a) && d.styleDe…
16275 for (var d = [], e = new CKEDITOR.dom.walker(b),
16276 … c; c = e.next();) d = d.concat(CKEDITOR.plugins.copyformatting._extractStylesFromElement(a, c));
16277 return d
16280 … for (var d = -1 !== l(["ol", "ul", "table"], b), e = new CKEDITOR.dom.walker(a), c; c = e.next();)
16282 if (c.removeAttributes(c.getAttributes()), d) break
16291 function d(a) {
16319 for (h = d(f); null != (k = g.exec(h)) && (n = k.index,
16332 for (f = d(h); null != (g = c.exec(f));)
16344 d = [],
16346 …t = a[c].element = "span"), "span" === e.element && b(e.attributes) && b(e.styles) || d.push(a[c]);
16347 return d
16363 _applyStylesToTextContext: function(a, b, d) {
16368 for (f = 0; f < d.length; f++)
16369 if (b = d[f], -1 === l(e.excludedElementsFromInlineTransform, b.element)) {
16375 _applyStylesToListContext: function(a, b, d) {
16377 …for (f = 0; f < d.length; f++) e = d[f], c = b.createBookmark(), "ol" === e.element || "ul" === e.…
16388 _applyStylesToTableContext: function(a, b, d) {
16395 …for (g = 0; g < d.length; g++) c = d[g], f = b.createBookmark(), -1 !== l(["table", "tr"], c.eleme…
16410 var d = a.getSelection().getRanges()[0],
16413 if (!d) return !1;
16414 if (d.collapsed) {
16416 if (!(c = e._getSelectedWordOffset(d))) return;
16417 d = a.createRange();
16418 d.setStart(c.startNode, c.startOffset);
16419 d.setEnd(c.endNode, c.endOffset);
16420 d.select()
16425 range: d,
16432 var d = this._getScreenReaderContainer();
16433 d && d.setText(a.lang.copyformatting.notification[b])
16488 …g = b && b.getRanges(), e, h = b.createBookmarks(), f = [], d = 0; d < g.length; d++) e = g[d], e.…
16489 for (d = 0; d < f.length; d++) f[d].remove(!0);
16534 function f(d) {
16537 f = e + (d.data.$.screenX - n.x) * ("rtl" == g ? -1 : 1);
16538 d = m + (d.data.$.screenY - n.y);
16540 p && (m = Math.max(a.resize_minHeight, Math.min(d, a.resize_maxHeight)));
16563 q = CKEDITOR.tools.addFunction(function(d) {
16570 x: d.screenX,
16571 y: d.screenY
16578 d.preventDefault && d.preventDefault()
16630 d;
16632 d = "rtl" == a.lang.dir;
16634 case d ?
16636 …37: case 9: return (d = CKEDITOR.document.getById(g + (b + 1))) || (d = CKEDITOR.document.getById(…
16637 case d ? 37:
16638 …TOR.SHIFT + 9: return (d = CKEDITOR.document.getById(g + (b - 1))) || (d = CKEDITOR.document.getBy…
16648 …for (var e = [], g = h.list = [], d = [], c = h.filters, p = !0, k = b.data.path.elements, u = k.l…
16662 r || (g.unshift(f), d.unshift(b))
16665 …for (c = 0; c < g; c++) b = d[c], p = a.lang.elementspath.eleTitle.replace(/%1/, b), b = x.output({
16676 d = m;
16677d.setHtml(e.join("") + '\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e');
16679 space: d
16788 d;
16794 d = b.getParent();
16802 r = d.getDirection(1) != k;
16804 …if (d.is("li")) g || f ? (g && f && b.remove(), c[f ? "insertAfter" : "insertBefore"](d)) : c.brea…
16807 …is("li") ? (d = h.createElement(e == CKEDITOR.ENTER_P ? "p" : "div"), r && d.setAttribute("dir", k…
16808 … t), c.moveChildren(d)) : d = p.block, g || f) d[g ? "insertBefore" : "insertAfter"](b);
16809 else c.breakParent(b), d.insertAfter(b);
16843 !a.is("pre")) d = a.clone()
16844 } else c && (d = c.clone());
16845d ? g && !d.is("li") && d.renameNode(l) : k && k.is("li") ? d = k : (d = h.createElement(l), a && …
16850 … CKEDITOR.dtd.$removeEmpty[l.getName()] && (l = l.clone(), d.moveChildren(l), d.append(l))
16852 d.appendBogus();
16853 d.getParent() || b.insertNode(d);
16854 d.is("li") && d.removeAttribute("value");
16856 (b.moveToElementEditStart(f ? a : d), b.select());
16857 b.moveToElementEditStart(n && !f ? c : d)
16859 …else c.is("li") && (d = b.clone(), d.selectNodeContents(c), d = new CKEDITOR.dom.walker(d), d.eval…
16861 …}, (k = d.next()) && k.type == CKEDITOR.NODE_ELEMENT && k.is("ul", "ol") && (CKEDITOR.env.needsBrF…
16898 var d = f ? "\x26" + a + ";" : e[a];
16899 g[d] = f ? e[a] : "\x26" + a + ";";
16900 c.push(d);
16906 d;
16908 d = a.innerHTML;
16910 for (a = 0; a < d.length; a++) {
16911 var h = d.charAt(a);
16936 d = a.regex ? "[" + a.regex + "]" : "a^";
16938 c.entities && c.entities_processNumerical && (d = "[^ -~]|" + d);
16939 var d = new RegExp(d, "g"),
16944 return a.replace(l, f).replace(d, g)
16961 popup: function(e, a, b, d) {
16970d = (d || "location\x3dno,menubar\x3dno,toolbar\x3dno,dependent\x3dyes,minimizable\x3dno,modal\x3d…
16972 var c = window.open("", null, d, !0);
16977 window.open(e, null, d, !0)
16989 var d = a.config.fileTools_defaultFileName;
16993 …e ? this.fileName = this.file.name : (a = this.file.type.split("/"), d && (a[0] = d), this.fileNam…
17008 d, f, g, e;
17009 for (d = 0; d < a.length; d += 512) {
17010 f = a.slice(d, d + 512);
17033 d = new FormData;
17039 … "object" === typeof h && h.file ? d.append(e, h.file, h.name) : d.append(e, h)
17041 d.append("ckCsrfToken", CKEDITOR.tools.getCsrfToken());
17044 b.xhr.send(d)
17048 d = b.xhr,
17051 var g = JSON.parse(d.responseText);
17058 responseText: d.responseText
17067 var d = this.loaders.length;
17069 a.id = d;
17070 this.loaders[d] = a;
17083 this.once("loaded", function(d) {
17084 d.cancel();
17134 d = this.xhr;
17136 d.abort();
17139 d.onerror = a;
17140 d.onabort = c;
17141 d.upload ? (d.upload.onprogress = function(a) {
17143 … }, d.upload.onerror = a, d.upload.onabort = c) : (b.uploadTotal = b.total, b.update());
17144 d.onload = function() {
17147 …if (b.uploaded = b.uploadTotal, 200 > d.status || 299 < d.status) b.message = b.lang.filetools["ht…
17148d.status], b.message || (b.message = b.lang.filetools.httpError.replace("%1", d.status)), b.change…
17195 var d = [];
17197 for (var c in b) d.push(c + "\x3d" + encodeURIComponent(b[c]));
17199 return a + (-1 != a.indexOf("?") ? "\x26" : "?") + d.join("\x26")
17217 …var d = b.config["filebrowser" + k(a.getName()) + "WindowWidth"] || b.config.filebrowserWindowWidt…
17225 … b.popup(c, d, a, b.config.filebrowserWindowFeatures || b.config.fileBrowserWindowFeatures)
17242 function u(a, b, d) {
17243 var c = d.params || {};
17247 b.action = g(d.url, c);
17248 b.filebrowser = d
17251 function l(a, b, d, c) {
17255 …g], "hbox" != e.type && "vbox" != e.type && "fieldset" != e.type || l(a, b, d, e.children), e.file…
17268d = c.getDialog().getContentElement(this["for"][0], this["for"][1]).getInputElement(),
17272 …a.config.filebrowserUploadMethod && e) return b = a.uploadRepository.create(d.$.files[0]), b.on("u…
17277 r(d);
17284 u(a, d.getContents(e["for"][0]).get(e["for"][1]), e.filebrowser)
17292 } catch (d) {}
17297 function h(a, b, d) {
17298 if (-1 !== d.indexOf(";")) {
17299 d = d.split(";");
17300 for (var c = 0; c < d.length; c++)
17301 if (h(a, b, d[c])) return !0;
17304 return (a = a.getContents(b).get(d).filebrowser) && a.url
17308 var d = this._.filebrowserSe.getDialog(),
17311 c && d.getContentElement(c[0], c[1]).reset();
17314 …if ("string" == typeof b && b && alert(b), a && (c = this._.filebrowserSe, d = c.getDialog(), c = …
17315 if (c = c.split(":"), e = d.getContentElement(c[0], c[1])) e.setValue(a),
17316 d.selectPage(c[0])
17329 for (var b = a.data.definition, d, c = 0; c < b.contents.length; ++c)
17330 …if (d = b.contents[c]) l(a.editor, a.data.name, b, d.elements), d.hidden && d.filebrowser && (d.hi…
17365 d = l.exec(b);
17367 if (!c[2] && "px" == d[2]) return d[1];
17368 if ("px" == c[2] && !d[2]) return d[1] + "px"
17374 l = /^((?:\d*(?:\.\d+))|(?:\d+))(.*)?$/i,
17382 var d = c.width,
17384 d && (a.width = g(a.width, d));
17401 CKEDITOR.editor.prototype.createFakeElement = function(a, b, c, d) {
17414d && (b["data-cke-resizable"] = d, c = new k, d = a.getAttribute("width"), a = a.getAttribute("hei…
17419 CKEDITOR.editor.prototype.createFakeParserElement = function(a, b, c, d) {
17436d && (b["data-cke-resizable"] = d, d = a.attributes, a = new k, c = d.width, d = d.height, void 0 …
17453 function d(a) {
17504 if (!(c.classid && String(c.classid).toLowerCase() || d(b))) {
17507 if (!d(b.children[c])) break;
17514 return d(b) ? e(a, b) : null
17558 return function(d) {
17560 var f = d && "focus" == d.name;
17572 …? e("top") : q + r > h.height - c.bottom ? e("pin") : e("bottom"), d = h.width / 2, d = l.floatSpa…
17573d - c.left > c.right - d ? "left" : "right", n.width > h.width ? (d = "left", f = 0) : (f = "left"…
17684 var d = CKEDITOR.tools.getNextId();
17686 this._.items[a] = d;
17690 id: d,
17731 d;
17732 for (d in a) c.getById(a[d]).setStyle("display", "");
17733 …for (var e in b) a = c.getById(b[e]), d = a.getNext(), a.setStyle("display", ""), d && "ul" == d.g…
17762 var d = a[c];
17763 b.getById(d).removeClass("cke_selected");
17764 b.getById(d + "_option").removeAttribute("aria-selected")
17774 c, d = -1;
17776 … for (c = this.element.getDocument().getById(this._.items[a]).getFirst(); a = b.getItem(++d);) {
17778 this._.focusIndex = d;
17852 d = this,
17860 var c = d._;
17862 if (d.createPanel(a), c.on) c.panel.hide();
17864 d.commit();
17865 var f = d.getValue();
17867 c.panel.showBlock(d.id, new CKEDITOR.dom.element(b), 4)
17879 var d = a.getKeystroke();
17880 switch (d) {
17887 g.onkey(g, d)
17920 d = this;
17923 d.setState(CKEDITOR.TRISTATE_ON);
17924 d._.on = 1;
17925 d.editorFocus && !a.focusManager.hasFocus && a.focus();
17926 if (d.onOpen) d.onOpen()
17930d.setState(d.modes && d.modes[a.mode] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED);
17931 d._.on = 0;
17932 if (!b && d.onClose) d.onClose()
17938 d.onClick && d.onClick.call(d, a, b);
17944 d._.on = 0;
17945 d.setState(CKEDITOR.TRISTATE_OFF)
18017 function p(b, f, e, d, r, p, t, x) {
18034 label: d.label,
18035 title: d.panelTitle,
18061 "aria-label": d.panelTitle
18067 this.startGroup(d.panelTitle);
18076 e, n, h, d, g;
18082 d = c.checkBoundaryOfElement(h,
18085 if (d && g) {
18086 … for (d = c.createBookmark(); n = h.getFirst();) n.insertBefore(h);
18088 c.moveToBookmark(d)
18089 …} else d || g ? c.moveToPosition(h, d ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_E…
18101 for (var d = 0, f; d < a.length; d++) {
18102 f = a[d];
18119 var d = f.pop();
18120 if (d) {
18121 if (e) return v(b, f, d.equals(e) ? null : e);
18122 e = d.clone();
18204 e = function(d, c, e) {
18211 a.ui.addButton && a.ui.addButton(d, {
18212 label: b.common[d.charAt(0).toLowerCase() + d.slice(1)],
18276 a.contextMenu && (!a.blockless && a.contextMenu.addListener(function(d, c, a) {
18277 if ((d = a.contains("form", 1)) && !d.isReadOnly()) return {
18280 }), a.contextMenu.addListener(function(d) {
18281 if (d && !d.isReadOnly()) {
18282 var c = d.getName();
18290 var a = d.getAttribute("type") || "text";
18315 if ("img" == c && "hiddenfield" == d.data("cke-real-element-type")) return {
18320 a.on("doubleclick", function(d) {
18321 var c = d.data.element;
18322 if (!a.blockless && c.is("form")) d.data.dialog = "form";
18323 else if (c.is("select")) d.data.dialog = "select";
18324 else if (c.is("textarea")) d.data.dialog =
18326 …else if (c.is("img") && "hiddenfield" == c.data("cke-real-element-type")) d.data.dialog = "hiddenf…
18333 d.data.dialog = "button";
18336 d.data.dialog = "checkbox";
18339 d.data.dialog = "radio";
18342 d.data.dialog = "imagebutton"
18344 h[c] && (d.data.dialog = "textfield")
18380 …for (var f = a.config, c = a.lang.format, l = f.format_tags.split(";"), d = {}, m = 0, n = [], g =…
18383 …if (!a.filter.customConfig || a.filter.check(k)) m++, d[h] = k, d[h]._.enterMode = a.config.enterM…
18399 for (var a in d) {
18401 this.add(a, d[a].buildPreview(e), e)
18407 b = d[b];
18419 for (var c in d)
18420 if (d[c].checkActive(b, a)) {
18429 for (var b in d) a.activeFilter.check(d[b]) || this.hideItem(b)
18435 for (var c in d)
18436 if (a.activeFilter.check(d[c])) return;
18663 var d = c.getBody().getElementsByTag(a);
18665 … for (var e = 0; e < d.count(); e++) d.getItem(e).setCustomData("retain", !0);
18670 var d = c.getElementsByTag(a);
18671 …b && (1 == d.count() && !d.getItem(0).getCustomData("retain") && CKEDITOR.tools.isEmpty(d.getItem(…
18676 d = c.body,
18681 d.contentEditable = !0;
18682 CKEDITOR.env.ie && (d.hideFocus = !0, d.disabled = !0, d.removeAttribute("disabled"));
18684 this.$ = d;
18708 var d = b.createRange();
18709 d[33 == c ? "moveToElementEditStart" : "moveToElementEditEnd"](this);
18710 d.select();
18722 d = b.document.getElementsByTag("title").getItem(0);
18723 d.data("cke-title", d.getText());
18739 var d = a.getSelection().getSelectedElement();
18740d && (c && (c.detachEvent("onresizestart", b), c = null), d.$.attachEvent("onresizestart",
18741 b), c = d.$)
18752 …} catch (d) {} else CKEDITOR.env.ie && 11 > CKEDITOR.env.version && a.config.disableObjectResizing…
18779 a.editable(new l(a, d.$.contentWindow.document.body));
18784d = CKEDITOR.dom.element.createFromHtml('\x3ciframe src\x3d"' + c + '" frameBorder\x3d"0"\x3e\x3c/…
18785 d.setStyles({
18789 d.addClass("cke_wysiwyg_frame").addClass("cke_reset");
18791 c.append(d);
18793 if (e) d.on("load", b);
18796 g && (CKEDITOR.env.ie && h && (g += ", " + h), d.setAttribute("title", g));
18801 d.setAttribute("aria-describedby",
18808 d.setAttributes({
18813 a.fire("ariaWidget", d)
18843 d = c.fullPage,
18846 d || (g += CKEDITOR.tools.buildStyleHtml(b.config.contentsCss));
18849 d && (a = a.replace(/<!DOCTYPE[^>]*>/i, function(a) {
18857d ? (/<body[\s|>]/.test(a) || (a = "\x3cbody\x3e" + a), /<html[\s|>]/.test(a) || (a = "\x3chtml\x3…
18884 d = b && a.xmlDeclaration,
18889 d && (b = d + "\n" + b);
18968 var d = b.getCommand("justify" + a);
18969 if (d) {
18970 if ("left" == a || "right" == a) d.on("exec", function(d) {
18974 c.setStyle("float", a), d.cancel())
18976 d.on("refresh", function(d) {
18978 …ON : "right" == a || "left" == a ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED), d.cancel())
19035 var d = a.config.indentClasses;
19036 if (d)
19037 …l", ""] : ["", "_rtl"], h = 0; h < d.length; h++) c.hasClass(d[h] + g[0]) && (c.removeClass(d[h] +…
19038 d = c.getStyle("margin-right");
19040 d ? c.setStyle("margin-left", d) : c.removeStyle("margin-left");
19066 for (c in b.jobs) e.on("exec", function(d) {
19067d.data.done || (a.fire("lockSnapshot"), b.execJob(a, c) && (d.data.done = !0), a.fire("unlockSnaps…
19068 }, this, null, c), e.on("refresh", function(d) {
19069 d.data.states || (d.data.states = {});
19070 d.data.states[b.name + "@" + c] = b.refreshJob(a, c, d.data.path)
19100 var d = this.editor,
19103 d = b.$.className.match(this.classNameRegex);
19105 d && (d = d[1], a = CKEDITOR.tools.indexOf(c, d) + 1);
19114 var g = d.config.indentOffset || 40;
19121 b.setStyle(c, a ? a + (d.config.indentUnit || "px") : "");
19144 styles: d ? null : "margin-left,margin-right",
19145 classes: d || null
19163 …this.requiredContent = (this.enterBr ? "div" : "p") + (d ? "(" + d.join(",") + ")" : "{margin-left…
19172 if (d) {
19173 var c = d,
19188 if (c = a.elementPath().contains(p)) f.call(this, c, d);
19190 …c = b.getNextParagraph(a == CKEDITOR.ENTER_P ? "p" : "div");) c.isReadOnly() || f.call(this, c, d);
19197 d = b.config.indentClasses;
19218 … classNameRegex: d ? new RegExp("(?:^|\\s+)(" + d.join("|") + ")(?\x3d$|\\s)") : null
19229 for (var d = [], h = !1; !h;) e.equals(a) && (h = !0), d.push(e), e = e.getNext();
19230 if (1 > d.length) return !1;
19236 …or (var e = k.isIndent ? 1 : -1, a = d[0], d = d[d.length - 1], h = CKEDITOR.plugins.list.listToAr…
19237 … a = a.getCustomData("listarray_index"); a <= d.getCustomData("listarray_index"); a++)
19244 …} for (a = d.getCustomData("listarray_index") + 1; a < h.length && h[a].indent > m; a++) h[a].inde…
19249 for (var d = e.listNode.getChildren(),
19250 … r = [], l, a = d.count() - 1; 0 <= a; a--)(l = d.getItem(a)) && l.is && l.is("li") && r.push(l)
19273 var d = c.getEnclosedNode();
19274d && d.type == CKEDITOR.NODE_ELEMENT && d.getName() in p && (c.setStartAt(d, CKEDITOR.POSITION_AFT…
19276 …KEDITOR.NODE_ELEMENT && c.startContainer.getName() in p && (d = new CKEDITOR.dom.walker(c), d.eval…
19277 d.next());
19278 …EMENT && c.endContainer.getName() in p && (d = new CKEDITOR.dom.walker(c), d.evaluator = n, c.endC…
19417 for (var f = new CKEDITOR.dom.walker(b), d; d = f.next();)
19418 if (d.type == CKEDITOR.NODE_ELEMENT)
19419 …if (!d.equals(a.data.node) && d.getDirection()) b.setStartAfter(d), f = new CKEDITOR.dom.walker(b);
19422 …e && (d.hasClass(e[0]) ? (d.removeClass(e[0]), d.addClass(e[2])) : d.hasClass(e[2]) && (d.removeCl…
19423 d.addClass(e[0])));
19424 e = d.getStyle("text-align");
19425 … "left" == e ? d.setStyle("text-align", "right") : "right" == e && d.setStyle("text-align", "left")
19433 …= c.createBookmarks(), d = c.getRanges(), e = this.cssClassName, h, g, k = a.config.useComputedSta…
19434 …for (h = d[n].createIterator(), h.enlargeBr = b != CKEDITOR.ENTER_BR; g = h.getNextParagraph(b == …
19454 d = b.equals(a.editable()),
19456d && 1 === c.elements.length ? this.setState(CKEDITOR.TRISTATE_OFF) : !d && f ? this.setState(q(b,…
19465 d = new h(a, "justifyblock", "justify");
19469 a.addCommand("justifyblock", d);
19495 var d = function(c) {
19520 this.click = d
19531 beforeInit: function(d) {
19532 d.ui.addHandler(CKEDITOR.UI_MENUBUTTON, CKEDITOR.ui.menuButton.handler)
19542 d = a.lang.language,
19576 label: d.remove,
19589 label: d.button,
19596 d = c.getCurrentLangElement(a),
19599 b.language_remove = d ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED;
19600 d && (b["language_" + d.getAttribute("lang")] =
19614 …for (var d = 0; d < a.length; d++) b = a[d], !c && "span" == b.getName() && b.hasAttribute("dir") …
19625 for (var b, a = c.length, d = [], f = 0; f < a; f++) b = c.charCodeAt(f), d.push(b);
19626 return "String.fromCharCode(" + d.join(",") + ")"
19631 d = a.compiledProtectionFunction.params,
19634 …for (var g = 0; g < d.length; g++) a = d[g].toLowerCase(), f = b[a], 0 < g && e.push(","), e.push(…
19772 D = /(?:^|,)([^=]+)=(\d+|yes|no)/gi,
19790 d = a.getSelectedElement(),
19794 if (!b && d && d.is("a")) return d;
19795 for (d = 0; d < f.length; d++)
19796 if (g = a.getRanges()[d], g.shrink(CKEDITOR.SHRINK_ELEMENT, !0, {
19804 …= a.getElementsByTag("img"), d = [], f = 0, e; e = b.getItem(f++);)(e.data("cke-saved-name") || e.…
19808 for (f = 0; e = a.getItem(f++);)(e = this.tryRestoreFakeAnchor(c, e)) && d.push({
19812 return d
19824 d = c.plugins.link.compiledProtectionFunction,
19831 if (b == d.name) {
19836 …deURIComponent, h = c[k].replace(b, "").replace(/\\'/g, "'"), h = f(h), f = d.params[k].toLowerCas…
19879 d = {};
19884 d["data-cke-saved-href"] = 0 === f.indexOf("/") ? f : a + f;
19888 d["data-cke-saved-href"] = "#" + (b.anchor && b.anchor.name || a || "");
19907 d["data-cke-saved-href"] = a.join("")
19921 d["data-cke-pa-onclick"] = a.join("")
19922 } else "notSet" != b.target.type && b.target.name && (d.target = b.target.name);
19923 b.download && (d.download = "");
19926 (d[l] = a);
19927 d.name && (d["data-cke-saved-name"] = d.name)
19929 d["data-cke-saved-href"] && (d.href = d["data-cke-saved-href"]);
19938 for (var n in d) delete l[n];
19940 set: d,
19955 d = b.getSelection();
19956 return b.widgets && b.widgets.focused || d && 1 < d.getRanges().length ?
19966 d;
19967 … b.collapsed && a && (d = b.createBookmark(), b.selectNodeContents(a), b.select())
19975 d && (b.moveToBookmark(d), b.select())
19991 d;
19992 if (b && (d = b.getSelectedElement()) &&
19993 … (d.getChildCount() ? d.is("a") : CKEDITOR.plugins.link.tryRestoreFakeAnchor(c, d))) d.remove(1);
19994 …else if (d = CKEDITOR.plugins.link.getSelectedLink(c)) d.hasAttribute("href") ? (d.removeAttribute…
19997 }), d.removeClass("cke_anchor")) : d.remove(1);
20010 …if (!(!(a = d[c ? "getFirst" : "getLast"]()) || a.is && a.isBlockBoundary() || !(p = m.root[c ? "g…
20026 …} var d = CKEDITOR.plugins.list.arrayToList(f, e, null, b.config.enterMode, m.root.getAttribute("d…
20030 d.replace(m.root);
20070 d = h.contains(CKEDITOR.dtd.$listItem),
20076 d && (c = A(d)) && (g.contains(d) ? (E(c, d.getParent(), d), c.remove()) : g.append(c));
20120 var d = {
20126 …f ? d.grandparent = f : (d.grandparent = b.getParent(), d.grandparent && "li" == d.grandparent.$.n…
20128 e.push(d);
20129 …v[l.getName()] ? CKEDITOR.plugins.list.listToArray(l, m, e, c + 1, d.grandparent) : d.contents.pus…
20137 …g, k = b[e].parent.getDocument(), h = new CKEDITOR.dom.documentFragment(k), d = null, a = e, p = M…
20142 d && b[a].parent.getName() ==
20143d.getName() || (d = b[a].parent.clone(!1, 1), f && d.setAttribute("dir", f), h.append(d));
20144 l = d.append(r.element.clone(0, 1));
20145 q != d.getDirection(1) && l.setAttribute("dir", q);
20152 var d = g.getDirection(1) != q,
20156 … A = l.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT && (c != CKEDITOR.ENTER_BR || d || z || D),
20162 d && !w.getDirection() &&
20171 …} else A ? (n || (n = k.createElement(t), l.append(n), d && n.setAttribute("dir", q)), z && n.setA…
20178 d = null;
20217 var d = g.getBoundaryNodes(),
20218 a = d.startNode,
20219 p = d.endNode;
20220 …a.type == CKEDITOR.NODE_ELEMENT && "td" == a.getName() && g.setStartAt(d.startNode, CKEDITOR.POSIT…
20221 …p.type == CKEDITOR.NODE_ELEMENT && "td" == p.getName() && g.setEndAt(d.endNode, CKEDITOR.POSITION_…
20224 this.state == CKEDITOR.TRISTATE_OFF; d = g.getNextParagraph();)
20225 if (!d.getCustomData("list_block")) {
20226 CKEDITOR.dom.element.setMarker(k, d, "list_block", 1);
20227 …for (var l = b.elementPath(d), a = l.elements, p = 0, l = l.blockLimit, q, n = a.length - 1; 0 <= …
20230 … (a = q.getCustomData("list_group_object")) ? a.contents.push(d): (a = {
20232 contents: [d]
20237 … h) ? p.getCustomData("list_group_object_" + h).contents.push(d) : (a = {
20239 contents: [d]
20252 …for (d = 0; d < h.contents.length; d++) n = h.contents[d], (n = n.getAscendant("li", !0)) && !n.ge…
20254 … for (var n = h.root.getDocument(), t = void 0, r = void 0, d = 0; d < l.length; d++) {
20255 var y = l[d].getCustomData("listarray_index"),
20265 … for (d = 0; d < l && (p = a.listNode.getChild(d)); d++) p.getName() == this.type && g.push(p);
20272 d = q;
20297 d.push(n);
20298d = void 0; h.length;) d = h.shift(), t = c.createElement("li"), r = d, r.is("pre") || L.test(r.ge…
20341 d = new CKEDITOR.dom.walker(f.clone());
20342 d.evaluator = function(a) {
20346 d.guard = function(a, b) {
20352d.range.setStartAt(h, CKEDITOR.POSITION_AFTER_START), d.range.setEnd(f.startContainer, f.startOffs…
20353d.reset(), d.evaluator = G, a = d.previous()), c = a, e.moveToElementEditEnd(c), e.moveToPosition(…
20360 … if (d.range.setEndAt(h, CKEDITOR.POSITION_BEFORE_END), k = (h = c.getLast(u)) &&
20361 …G(h) ? h : c, g = 0, (a = d.next()) && a.type == CKEDITOR.NODE_ELEMENT && a.getName() in v && a.eq…
20372 …} else d.range.setEndAt(h, CKEDITOR.POSITION_BEFORE_END), (a = d.next()) && a.type == CKEDITOR.NOD…
20441 function V(a, c, d) {
20442 return n(c) && n(d) && d.equals(c.getNext(function(a) {
20456 var d = P(c);
20457 if ("true" == d.getAttribute("contenteditable")) return c;
20458 if (d.is(a.triggers)) return d
20463 function ka(a, c, d) {
20465 r(a, d);
20467 d = d.size.top;
20468 return a && d ? 0 | (a + d) / 2 : a || d
20471 function w(a, c, d) {
20473 c[d ? "getPrevious" : "getNext"](function(b) {
20478 function q(a, c, d) {
20479 return a > c && a < d
20493d = G('\x3cspan contenteditable\x3d"false" data-cke-magic-line\x3d"1" style\x3d"' + Q + "position:…
20496 v(d, {
20527 d = a.trigger,
20528 h = d.upper,
20529 g = d.lower,
20533 this.trigger = d;
20541 d.is(C) || q(m.top,
20542 …b.scroll.y + 5) ? (m.top = a.inInlineMode ? 0 : b.scroll.y, this.look(C)) : d.is(D) || q(m.top, b.…
20556 for (c = d.lineChildren.length; c--;) d.lineChildren[c].appendTo(d);
20557 d.look(x);
20558 d.appendTo(d.wrap);
20559 d.unselectable();
20560 d.lineChildren[0].on("mouseup", function(b) {
20561 d.detach();
20570 d.on("mousedown", function(a) {
20573 a.line = d
20576 function S(a, c, d) {
20581 d && e.fire("saveSnapshot");
20586 d && e.fire("saveSnapshot")
20596 function d(b) {
20597 var d = t.ie && 9 > t.version ? " " : J,
20598 …f = a.hotNode && a.hotNode.getText() == d && a.element.equals(a.hotNode) && a.lastCmdDirection ===…
20599 S(a, function(d) {
20601 d[c ? "insertAfter" : "insertBefore"](b);
20602 d.setAttributes({
20620 …f) && f.is(a.triggers)) ? d(e) : (f = O(a, b), n(f) && (w(a, f, !c) ? (b = w(a, f, !c)) && n(b) &&…
20629 var d = a.line;
20630 return d.wrap.equals(c) || d.wrap.contains(c)
20662 for (var d = c.getParents(1), b = d.length; b--;)
20664 if (d[b].hasAttribute(a.tabuList[e])) return !0;
20669 c, d) {
20670 c = c[d ? "getLast" : "getFirst"](function(b) {
20675 return d ? c.size.top > a.mouse.y : c.size.bottom < a.mouse.y
20680 d = a.mouse,
20684 …var f = d.y > (a.inInlineMode ? b.editable.top + b.editable.height / 2 : Math.min(b.editable.heigh…
20694 … q(d.y, 0, c.size.top + e) ? (a = a.inInlineMode || 0 === b.scroll.y ? C : x, new z([null, c, I, M…
20699 d = a.view,
20719 …levant)) ? (H(a), h && q(c.y, e.size.bottom - b, d.pane.height) && q(e.size.bottom, d.pane.height …
20725 function U(a, c, d, b) {
20727 d && !b || N(a, b);
20728 g.top = e.y - (d ? 0 : a.view.scroll.y);
20729 g.left = e.x - (d ? 0 : a.view.scroll.x);
20744 ignoreScroll: d
20748 function r(a, c, d) {
20751 else if (c.size.ignoreScroll == d && c.size.date > new Date - ga) return null;
20753 U(a, c, d), {
20764 var d = a.view;
20765 if (!(!c && d && d.date > new Date - ga)) {
20767 d = b.getScrollPosition(),
20771 x: d.x,
20772 y: d.y,
20779 bottom: b.height + d.y
20786 function pa(a, c, d, b) {
20791 !h && 0 < p.y - k && (e = d(a, {
20795 !g && p.y + k < l && (f = d(a, {
20807 d = c.magicline_triggerOffset || 30,
20811 triggerOffset: d,
20812 holdDistance: 0 | d * (c.magicline_holdDistance || .5),
20832 var d = a.editable(),
20836 editable: d,
20837 inInlineMode: d.isInline(),
20843 d.is(B.$inline) || (b.inInlineMode && !ba(d) && d.setStyles({
20847 }), la.call(this, b), N(b), d.attachListener(a, "beforeUndoImage",
20850 }), d.attachListener(a, "beforeGetData", function() {
20854 …}, null, null, 0), d.attachListener(b.inInlineMode ? g : g.getWindow().getFrame(), "mouseout", fun…
20857 var d = c.data.$.clientX;
20863d > e.left - f.x && d < e.right - f.x && c > e.top - f.y && c < e.bottom - f.y || (clearTimeout(k)…
20866 }), d.attachListener(d, "keyup", function() {
20868 }), d.attachListener(d, "keydown", function(c) {
20874 }), d.attachListener(b.inInlineMode ? d : g, "mousemove", function(c) {
20877 var d = {
20882 b.mouse = d;
20889 }), d.attachListener(l, "scroll", function() {
20893 }), d.attachListener(ja ? g : l, "mousedown", function() {
20895 }), d.attachListener(ja ? g : l, "mouseup", function() {
20903 var c, d, e, f;
20910 if ((d = c.getItem(e)).data("cke-magicline-hot")) {
20911 b.hotNode = d;
20912 … b.lastCmdDirection = "true" === d.data("cke-magicline-dir") ? !0 : !1;
20957 set: function(a, c, d) {
20958 this.properties = a + c + (d || x);
20966 function a(a, d) {
20967 var b = a.$.elementFromPoint(d.x, d.y);
20970 return function(c, d, b) {
20976 d && A(c, k) && (f.hide(), k = a(e, b), f.show());
21110 var d = a.getSelection();
21111 l = d && d.getRanges();
21121 …for (d = a.container; d = d.getParent();) d.setCustomData("maximize_saved_styles", r(d)), d.setSty…
21152 …for (var d = [g, h], q = 0; q < d.length; q++) u(d[q], d[q].getCustomData("maximize_saved_styles")…
21153 …for (d = a.container; d = d.getParent();) u(d, d.getCustomData("maximize_saved_styles")), d.remove…
21169d = this.uiItems[0]) g = this.state == CKEDITOR.TRISTATE_OFF ? f.maximize.maximize : f.maximize.mi…
21268 …var d = CKEDITOR.htmlParser.fragment.fromHtml('\x3cspan style\x3d"display: none;"\x3e\x26nbsp;\x3c…
21270 b.add(d);
21271 d = b.attributes;
21272 delete d["aria-label"];
21273 delete d.contenteditable;
21274 delete d.title
21325d = b && "undefined" !== typeof b.notification ? b.notification : !b || !b.from || "keystrokeHandl…
21326 …c = d && "string" === typeof d ? d : c.pastetext.pasteNotification.replace(/%1/, '\x3ckbd aria-lab…
21329 notification: d ? c : !1
21364 c, d = [];
21367d.push(a.type ? "data:" + a.type + ";base64," + CKEDITOR.tools.convertBytesToBase64(CKEDITOR.tools…
21368 }, this), c.length === d.length))))
21369 …length; b++) 0 === c[b].indexOf("file://") && d[b] && (a.data.dataValue = a.data.dataValue.replace…
21394d = CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ? b.dataTransfer.getData("text/rtf") : n…
21400 "text/rtf": d
21403d = /(class=\"?Mso|style=(?:\"|\')[^\"]*?\bmso\-|w:WordDocument|<o:\w+>|<\/font>)/,
21404d = /<meta\s*name=(?:\"|\')?generator(?:\"|\')?\s*content=(?:\"|\')?microsoft/gi.test(c) || d.test…
21405 if (c && (e || d) && (!1 !== a.fire("pasteFromWord", g) || e)) {
21434 d = a.document && a.document.getBody();
21435d && (d.getAttribute("id") && (b += 'id\x3d"' + d.getAttribute("id") + '" '), d.getAttribute("clas…
21442 d = 80;
21447 d = Math.round(.1 * c.width)
21457 …ar\x3dyes,scrollbars\x3dyes,resizable\x3dyes,width\x3d" + f + ",height\x3d" + b + ",left\x3d" + d);
21513 d = l.endNode,
21515 for (var c = a.elementPath(b), e = c.elements, d = 1, g;
21516 …(g = e[d]) && !g.equals(c.block) && !g.equals(c.blockLimit); d++) h.test(g.getName()) && f(a, g) &…
21519 if (d)
21520 … for (k(d), b = b.getNextSourceNode(!0, CKEDITOR.NODE_ELEMENT); b && !b.equals(d);)
21522 if (b.getPosition(d) & CKEDITOR.POSITION_CONTAINS) break;
21625 d, h;
21626d = a.pop();) h = a.length ? "," : "", c += ".cke_show_blocks " + d + g + h, e += ".cke_show_block…
21691 a.on("removeFormatCleanup", function(d) {
21692 d = d.data;
21693 …a.getCommand("showborders").state == CKEDITOR.TRISTATE_ON && d.is("table") && (!d.hasAttribute("bo…
21694 … 0 >= parseInt(d.getAttribute("border"), 10)) && d.addClass("cke_show_border")
21749 function d() {
21774 …ttachListener(a, "resize", d, b), b.attachListener(CKEDITOR.document.getWindow(), "resize", d, b),…
21921 …gt; ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n …
21933 d = CKEDITOR.plugins.scayt;
21951 … a.scayt && (b = d.state.scayt[a.name] ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF);
21963 …a.getMenuItem("scaytToggle").label = a.lang.scayt[b && d.state.scayt[a.name] ? "btn_disable" : "bt…
21979 a.contextMenu && a.addMenuItems && (a.contextMenu.addListener(function(b, d) {
21986 var d = a.scayt;
21987 d && d.hideBanner();
21994 d = CKEDITOR.plugins.scayt;
22002 alert(d.state.scayt[a.name] );
22004 d.state.scayt[a.name] = !d.state.scayt[a.name];
22005 !0 === d.state.scayt[a.name] ? b || d.createScayt(a) : b && d.destroy(a)
22011 d.openDialog(c.dialogName, a)
22017 d.openDialog(c.dialogName, a)
22023 d.openDialog(c.dialogName, a)
22030 d.openDialog(c.dialogName, a)
22065 d = a.scayt,
22067 …(c = c.replace(/\s/g, "")) ? (d && b.state.scayt[a.name] && d.setMarkupPaused && d.setMarkupPaused…
22074 d = a.elementMode == CKEDITOR.ELEMENT_MODE_INLINE,
22087 if ((d || b) && a._.savedSelection) {
22096 d ? a.config.scayt_inlineModeImmediateMarkup ? e() : (a.on("blur", function() {
22103 var d = a.widgets && a.widgets.getByElement(b);
22104 d && (d.wrapper = b.getAscendant(function(a) {
22112 var d = a.scayt,
22116d && (c.destroy(a), a.fire("scaytButtonState", CKEDITOR.TRISTATE_DISABLED)) : "bold" !== b.data.na…
22137 var d;
22138 …b && (d = a.scayt, !0 === b.editor.readOnly ? d && d.fire("removeMarkupInDocument", {}) : d ? c.re…
22146 var d = b.data && b.data.removeOptions,
22151 f && (d.selectionNode = a.plugins.language.getCurrentLangElement(a),
22152 d.selectionNode = d.selectionNode && d.selectionNode.$ || null);
22153 h.removeMarkupInSelectionNode(d);
22194 var d = [],
22198 1 === Number(a) || 0 === Number(a) ? (b.push(!0), d.push(Number(a))) :
22201 …null === CKEDITOR.tools.search(b, !1) ? a.config.scayt_uiTabs = d : a.config.scayt_uiTabs = [1, 1,…
22229 for (var b = [], d = 0; d <
22230 a.length; d++) {
22231 var c = a[d],
22246 d = a.dataProcessor,
22247 b = d && d.htmlFilter,
22249 d = d && d.dataFilter,
22255 var d = !0;
22256 …ions.data_attribute_name) || b.hasAttribute(c.options.problem_grammar_data_attribute)) && (d = !1);
22257 return d
22260 d && d.addRules({
22264d = a.hasClass(c.options.problem_grammar_class) && a.attributes[c.options.problem_grammar_data_att…
22265 c && (b || d) && delete a.name;
22275d = a.hasClass(c.options.problem_grammar_class) && a.attributes[c.options.problem_grammar_data_att…
22276 c && (b || d) && delete a.name;
22285 d = CKEDITOR.plugins.scayt;
22310 var d = a.scayt;
22312 d.addWordToUserDictionary()
22322 d.openDialog(c.dialogName, a)
22334 d.openDialog(c.dialogName,
22347 d.openDialog(c.dialogName, a)
22359 d.openDialog(c.dialogName, a)
22390 buildSuggestionMenuItems: function(a, c, d) {
22393 f = d ? "word" : "phrase",
22394 g = d ? "startGrammarCheck" : "startSpellCheck",
22397 if (d)
22398 for (d =
22399 0; d < c.length; d++) {
22400 … var l = "scayt_suggest_" + CKEDITOR.plugins.scayt.suggestions[d].replace(" ", "_");
22401 … a.addCommand(l, this.createCommand(CKEDITOR.plugins.scayt.suggestions[d], f, g));
22402 d < a.config.scayt_maxSuggestions ? (a.addMenuItem(l, {
22403 label: c[d],
22406 order: d + 1
22408 label: c[d],
22411 order: d + 1
22421d = 0; d < c.length; d++) l = "grayt_suggest_" + CKEDITOR.plugins.scayt.suggestions[d].replace(" "…
22422 label: c[d],
22425 order: d + 1
22438 var d = a.scayt,
22442 g = c.getAttribute(d.getLangAttribute()) || d.getLang(),
22444 l = d.isScaytNode(c);
22445 m = d.isGraytNode(c);
22446 …l ? (b = b.scayt, k = c.getAttribute(d.getScaytNodeAttributeName()), d.fire("getSuggestionsList", {
22450d.getGraytNodeAttributeName()), d.getGraytNodeRuleAttributeName ? (k = c.getAttribute(d.getGraytNo…
22468 createCommand: function(a, c, d) {
22475 "startGrammarCheck" === d && b.removeMarkupInSelectionNode({
22478 b.fire(d)
22487 var a = CKEDITOR.version.match(/^\d(\.\d*)*/),
22492 var d, a = a.replace(/\./g, "");
22494 d = a.length - c.length;
22495 d = 0 <= d ? d : 0;
22496 c = parseInt(a) >= parseInt(c) * Math.pow(10, d)
22527 var d = c.scayt;
22528 d.isAllModulesReady && !1 === d.isAllModulesReady() || (c.lockSelection(),
22547 d = CKEDITOR.plugins.scayt;
22576 charsToObserve: d.charsToObserve
22594 … {}, d = [], c = 0; c < a.suggestionList.length; c++) b["word_" + a.suggestionList[c]] || (b["word…
22595 CKEDITOR.plugins.scayt.suggestions = d
22597 g.subscribe("selectionIsChanged", function(d) {
22598 … a.getSelection().isLocked && "restoreSelection" !== d.action && a.lockSelection();
22599 "restoreSelection" === d.action && a.selectionChange(!0)
22602 d.state.grayt[a.name] = c.state
22604 g.addMarkupHandler && g.addMarkupHandler(function(d) {
22606 e = c.getCustomData(d.charName);
22607 e && (e.$ = d.node, c.setCustomData(d.charName, e))
22612 } else d.state.scayt[a.name] = !1
22621 var d, b = function() {
22625 …== typeof window.SCAYT.CKSCAYT ? (d = a.config.scayt_srcUrl + "?" + this.onLoadTimestamp, CKEDITOR…
22730d, e = 0, n = a.length; e < n; e++)(b = a[e], c.blockless && b.element in CKEDITOR.dtd.$block || "…
22731 …e + 1E3 * (d == CKEDITOR.STYLE_OBJECT ? 1 : d == CKEDITOR.STYLE_BLOCK ? 2 : 3), f[h] = b, k.push(b…
22750 var a, b, c, d, e, f;
22752 …length; e < f; e++) a = k[e], b = a._name, d = a._.type, d != c && (this.startGroup(g["panelTitle"…
22753 … c = d), this.add(b, a.type == CKEDITOR.STYLE_OBJECT ? b : a.buildPreview(), b);
22769 for (var h = 0, d = a.length, e; h < d; h++) {
22789 var d = f[h],
22790 e = d._.type;
22791 d.checkApplicable(a, c, c.activeFilter) ? b[e]++ : this.hideItem(h);
22792 d.checkActive(a, c) && this.mark(h)
22822 exec: function(d) {
22823 if (d.editable().hasFocus) {
22824 var e = d.getSelection(),
22830 var e = d.createRange(),
22845 …OR.dom.element(f.insertRow(-1), d.document), g = 0, h = a.length; g < h; g++) f.append((new CKEDIT…
22876 …for (var d = !1 !== c.config.enableTabKeyTools, e = c.config.tabSpaces || 0, b = ""; e--;) b += " …
22880 if (d) c.on("key", function(a) {
22893 f, c, d, e, b, a;
22897 d = b;
22913 d = b;
22916 … a > g && (!d || !e || a < e) ? (d = b, e = a) : d || 0 !== a || (d = b, e = a)
22919 d && d.focus()
22922 …for (var g = void 0 === h ? this.getTabIndex() : h, f, c, d, e = 0, b, a = this.getDocument().getB…
22933 d = a;
22936 b > e && (d = a, e = b)
22939 d = a;
22942 b < g && (!d || b > e) && (d = a, e = b)
22945 d && d.focus()
22989 var d = a.elementPath().contains("table", 1);
22990 if (d) {
22991 var b = d.getParent(),
22993 1 != b.getChildCount() || b.is("td", "th") || b.equals(e) || (d = b);
22995 a.moveToPosition(d, CKEDITOR.POSITION_BEFORE_START);
22996 d.remove();
23036 function q(d, f) {
23046 if (!d) return e;
23047 for (var g = d.getRanges(), k = 0; k < g.length; k++) {
23067 function r(d, f) {
23068 …for (var b = D(d) ? d : q(d), c = b[0], e = c.getAscendant("table"), c = c.getDocument(), a = b[0]…
23078 function B(d) {
23079 if (d instanceof CKEDITOR.dom.selection) {
23080 var f = d.getRanges(),
23081 b = q(d),
23088 d.reset();
23089 for (d = a; d <= g; d++) {
23090 … for (var k = e[d], h = new CKEDITOR.dom.element(c.$.rows[d]), l = 0; l < k.length; l++) {
23093 ….$.rowSpan, n == d && (n = e[d + 1], n[l - 1] ? m.insertAfter(new CKEDITOR.dom.element(n[l - 1])) …
23102 for (d = b.length; 0 <= d; d--) B(b[d]);
23105d instanceof CKEDITOR.dom.element && (c = d.getAscendant("table"), 1 == c.$.rows.length ? c.remove…
23109 function v(d) {
23110 for (var f = d.getParent().$.cells, b = 0, c = 0; c < f.length; c++) {
23113 if (e == d.$) break
23118 function w(d, f) {
23119 for (var b = f ? Infinity : 0, c = 0; c < d.length; c++) {
23120 var e = v(d[c]);
23126 function u(d, f) {
23127 for (var b = D(d) ? d : q(d), c = b[0].getAscendant("table"),
23133 function y(d) {
23135 var b, c, d;
23141 d = c.getName().toLowerCase();
23142 if ("td" !== d && "th" !== d) return a;
23143 …for ((d = c.getPrevious()) || (d = c.getParent().getPrevious().getLast()); d.type !== CKEDITOR.NOD…
23144 if (d = d.getLast(), !d) return a;
23145 b.setEndAt(d, CKEDITOR.POSITION_BEFORE_END);
23148 CKEDITOR.env.webkit && !d.isFake && (d = f(d));
23149 var b = d.getRanges(),
23150 c = q(d),
23156 d.reset();
23158 for (d = g.length; m < d; m++)
23164 l.length == d && (b[0].moveToPosition(c, CKEDITOR.POSITION_AFTER_END),
23169 function t(d, f) {
23170 var b = d.getStartElement().getAscendant({
23181 function z(d) {
23182 if (d instanceof CKEDITOR.dom.selection) {
23183 var f = d.getRanges(),
23184 b = q(d),
23198 d.reset();
23199 for (d = b.length - 1; 0 <= d; d--) z(b[d]);
23201 …} else d instanceof CKEDITOR.dom.element && (f = d.getParent(), 1 == f.getChildCount() ? f.remove(…
23204 function p(d, f) {
23205 var b = d.getDocument(),
23210 …b["moveToElementEdit" + (f ? "End" : "Start")](d) || (b.selectNodeContents(d), b.collapse(f ? !1 :…
23214 function A(d, f, b) {
23215 d = d[f];
23216 if ("undefined" == typeof b) return d;
23217 for (f = 0; d && f < d.length; f++) {
23218 if (b.is && d[f] == b.$) return f;
23219 if (f == b) return new CKEDITOR.dom.element(d[f])
23224 function x(d, f, b) {
23225 var c = q(d),
23227 …if ((f ? 1 != c.length : 2 > c.length) || (e = d.getCommonAncestor()) && e.type == CKEDITOR.NODE_E…
23229 d = c[0];
23230 e = d.getAscendant("table");
23234 l = d.getParent().$.rowIndex,
23235 m = A(g, l, d);
23239 var p = parseInt(d.getAttribute("rowspan"), 10) || 1;
23240 a = parseInt(d.getAttribute("colspan"), 10) || 1;
23245 if (!n || d.$ == n) return !1;
23248 f = d.getDocument();
23270 u.moveChildren(d);
23271 d.appendBogus();
23272 p >= h ? d.removeAttribute("rowSpan") : d.$.rowSpan = n;
23273 n >= k ? d.removeAttribute("colSpan") :
23274 d.$.colSpan = p;
23278 return d
23281 function C(d, f) {
23282 var b = q(d);
23312 function E(d, f) {
23313 var b = q(d);
23344 init: function(d) {
23358 var c = d.addCommand(a, b);
23359 d.addFeature(c)
23361 var c = d.lang.table,
23526 d.addMenuItems && d.addMenuItems({
23532 var a = d.getSelection(),
23662 d.contextMenu && d.contextMenu.addListener(function(a, b, c) {
23711 d = b.getAscendant("table"),
23718 c.contains(d) && (b = b.getAscendant({
23733 for (g = l; g <= p; g++) d = new CKEDITOR.dom.element(e[c][g]),
23734d.$ && !d.getCustomData("selected_cell") && (k.push(d), CKEDITOR.dom.element.setMarker(f, d, "sele…
23749 d;
23752 for (d = 0; d < c.count(); d++) c.getItem(d).removeClass("cke_table-faked-selection");
23762 d, e;
23763 …for (e = 0; e < b.length; e++) d = a.createRange(), d.setStartBefore(b[e]), d.setEndAfter(b[e]), c…
23774 var d = v(a.getSelection(!0));
23777 …(e = m.active && !m.first) && !(e = b) && (e = a.getSelection().getRanges(), e = 1 < d.length || e…
23778 if (e) m.first = b || d[0], m.dirty = b ? !1 : 1 !== d.length;
23780 d = z(m.first, b);
23781 … if (!m.dirty && 1 === d.length && !D(c.data.getTarget())) return A(a, "mouseup" === c.name);
23784 t(a, d)
23792 d;
23794 …ength && c[0]._getTableElement() && c[0]._getTableElement().is("table") && (d = c[0]._getTableElem…
23795 d = v(b, d);
23797 for (b = 0; b < d.length; b++) d[b].addClass("cke_table-faked-selection");
23798 …0 < d.length && (a.editable().addClass("cke_table-faked-selection-editor"), d[0].getAscendant("tab…
23817 function d(a, d, e, f) {
23839 d(a, g, h, k) && A(e, !0);
23865 var d = a.getSelection(),
23866 e = d.createBookmarks(),
23884 d.selectBookmarks(e);
23902 a.on("beforeCommandExec", function(d) {
23903 …-1 !== CKEDITOR.tools.array.indexOf(b, d.data.name) && (d.data.selectedCells = v(a.getSelection()))
23905 a.on("afterCommandExec", function(d) {
23906 -1 !== CKEDITOR.tools.array.indexOf(b, d.data.name) && c(a, d.data)
23941 d = r(b),
23944 for (e = 0; e < c[d].length; e++)
23945 if ((new CKEDITOR.dom.element(c[d][e])).equals(b)) {
23958 …for (var d = this.cells.first.$.cellIndex, e = this.cells.last.$.cellIndex, g = c ? [] : this.cell…
23960 return c ? !0 : a.$.cellIndex >= d && a.$.cellIndex <= e
23971 …or (var c = this.cells, d = c.all, e = r(c.first), g = r(c.last), c = 0; c < a; c++) d = d.concat(…
23972 this.setSelectedCells(d)
23993 var b = d.createRange();
23997 var d = a.editor,
23998 e = d.getSelection(),
24000 h = this.findTableInPastedContent(d, a.data.dataValue),
24004 f = new q(v(e, g)), d.once("afterPaste", function() {
24011 t(d, a)
24012d, f.cells.all)), a = f.getTableMap(), l = CKEDITOR.tools.buildTableMap(h), f.insertRow(l.length -…
24013 d.fire("afterPaste")
24015 0)) : (c(f.cells.first), d.once("afterPaste", function() {
24016 d.fire("lockSnapshot");
24018 t(d, f.cells.all);
24019 d.fire("unlockSnapshot")
24033 d = new CKEDITOR.dom.element("body");
24035 d.setHtml(c.toHtml(b), {
24038 return 1 < d.getChildCount() ? null : d.findOne("table")
24041 var d, e = C(a.cells.first),
24047 …if (f = new CKEDITOR.dom.element(c[l][p]), d = b[l] && b[l][p] ? new CKEDITOR.dom.element(b[l][p])…
24048 if (d && d.getParent()) f.replace(d);
24049 … else if (0 === p || c[l][p - 1])(d = 0 !== p ? new CKEDITOR.dom.element(c[l][p -
24051 …]) : null) && k.equals(d.getParent()) ? f.insertAfter(d) : 0 < e ? k.$.cells[e] ? f.insertAfter(ne…
24053 } else f.getCustomData("processed") && d && d.remove();
24131 c.attachListener(c, "keypress", function(d) {
24133 g = d.data.$.charCode || 13 === d.data.getKey(),
24135 … if (c && c.isInTable() && c.isFake && g && !(d.data.getKeystroke() & CKEDITOR.CTRL)) {
24136 d = c.getRanges();
24137 g = d[0].getEnclosedNode().getAscendant({
24141 for (h = 0; h < d.length; h++) b(d[h]);
24142 g && (d[0].moveToElementEditablePosition(g),
24143 c.selectRanges([d[0]]))
24164 d = {
24167 b.attachListener(c, "mousedown", w, null, d);
24168 b.attachListener(c, "mousemove", w, null, d);
24169 b.attachListener(c, "mouseup", w, null, d);
24194 d.enabled && !1 !== a.data.command.canUndo && d.save()
24198 d.enabled = a.readOnly ? !1 : "wysiwyg" == a.mode;
24199 d.onChange()
24201 var d = a.undoManager = new e(a),
24202 l = d.editingHandler = new k(d),
24205 d.undo() && (a.selectionChange(), this.fire("afterUndo"))
24212 d.redo() &&
24223 d.onChange = function() {
24224 f.setState(d.undoable() ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED);
24225 h.setState(d.redoable() ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED)
24230 d.save(a.data && a.data.contentOnly)
24237 "wysiwyg" == a.mode && d.save(!0)
24251 d.reset();
24255 d.currentImage && d.update()
24259 d.lock(a && a.dontUpdate, a && a.forceUpdate)
24262 d.unlock, d)
24278 d = this.strokesRecorded[c] + 1;
24279 b = b || d >= this.strokesLimit;
24281 b ? (d = 0, this.editor.fire("saveSnapshot")) : this.editor.fire("change");
24283 d;
24309 var d = this.editor;
24311 "ready" != d.status || "wysiwyg" != d.mode) return !1;
24312 var e = d.editable();
24315 b || (b = new f(d));
24320 } else !1 !== c && d.fire("change");
24347 d;
24350 for (d = this.index - 1; 0 <= d; d--) {
24351 if (a = b[d], !c.equalsContent(a)) return a.index =
24352 d, a
24354 for (d = this.index + 1; d < b.length; d++)
24355 if (a = b[d], !c.equalsContent(a)) return a.index = d, a;
24404 var d = new f(this.editor,
24406 this.currentImage && this.currentImage.equalsContent(d) && (c = d)
24477 var d = b[c],
24479 …if (d.startOffset != e.startOffset || d.endOffset != e.endOffset || !CKEDITOR.tools.arrayCompare(d
24598 function m(a, d) {
24604 }, d, !0);
24610 function n(a, d) {
24611 CKEDITOR.tools.extend(this, d, {
24616 function p(a, d) {
24627 d, !0);
24666 var d;
24667 …if (d = a && a.type == CKEDITOR.NODE_ELEMENT) d = !(r[a.getComputedStyle("float")] || r[a.getAttri…
24668 return d &&
24677 var d = this,
24681d.relations = {}, (g = c.$.elementFromPoint(f, h)) && g.nodeType && (e = new CKEDITOR.dom.element(…
24702 return function(d) {
24704 b.moveToPosition(this.relations[d.uid].element,
24705 a[d.type]);
24717 return function(d, b) {
24719 …b & CKEDITOR.LINEUTILS_AFTER && l(c = d.getNext()) && c.isVisible() && (a(c, CKEDITOR.LINEUTILS_BE…
24720 …b & CKEDITOR.LINEUTILS_INSIDE && l(c = d.getFirst()) && c.isVisible() && (a(c, CKEDITOR.LINEUTILS_…
24721 a(d, b, this.relations)
24725 var d, b, c;
24731 for (d in this.lookups)(b = this.lookups[d](a)) && this.store(a, b)
24741 … else if (d(a, k) && (h = 0, l(k = new CKEDITOR.dom.element(k)))) return k
24744 var d = CKEDITOR.env.ie || CKEDITOR.env.webkit ? function(a, c) {
24750 return function(b, c, d) {
24752 f = a.call(this, b.$, c, d, -1, function(a) {
24755 c = a.call(this, b.$, c, d, 1, function(a) {
24774 … for (var a = this.editable.getElementsByTag("*"), d = 0, b, c, e; b = a.getItem(d++);)
24787 return function(d) {
24790 …for (var c in d) b = d[c], b.elementRect = b.element.getClientRect(), b.type & CKEDITOR.LINEUTILS_…
24796 var a, d, b, c;
24799 d = [];
24802 if (b = Math.abs(e - a[f][h]), d.length) {
24803 for (c = 0; c < d.length; c++)
24804 if (b < d[c].dist) {
24805 d.splice(c, 0, {
24811 } c == d.length && d.push({
24816 } else d.push({
24821 return "undefined" != typeof g ? d.slice(0, g) : d
24825 d, b) {
24827 this.locations[a][d] = b
24851 var d = a.getUniqueId();
24853 this.hidden[d] = a;
24854 delete this.visible[d]
24857 var d = a.getUniqueId();
24859 this.visible[d] = a;
24860 delete this.hidden[d]
24865 placeLine: function(a, d) {
24881 d && d(c)
24884 getStyle: function(a, d) {
24886 c = this.locations[a][d],
24902 prepare: function(a, d) {
24904 this.locations = d;
24908 var a, d;
24909 …for (d in this.visible) a = this.visible[d], a.getCustomData("hash") !== this.hash && this.hideLin…
24919 var d = this.container.getDocumentPosition(),
24923 …"static" != b && (a.relativeY = d.y, a.relativeX = d.x, a.top -= a.relativeY, a.bottom -= a.relati…
24978 var d = a.getFirst(e),
24980d && d.type == CKEDITOR.NODE_ELEMENT && !d.isEditable() && (this.startFiller = this.createFiller(),
24990 d = a.findOne(this.fillerTagName + "[" + this.fillerAttribute + "\x3dend]");
24993 …this.endFiller && d && this.endFiller.equals(d) ? this.removeFiller(this.endFiller, a) : this.endF…
25030 var d = b.editor,
25032 f = d.createRange(),
25037 …rtHtmlIntoRange(g, d.getSelection().getRanges()[0]), f.setStartAt(b.getChild(b.getChildCount() - 1…
25047 a.editable().attachListener(a, "beforeCommandExec", function(d) {
25049 "selectAll" == d.data.name && c && b.addFillers(c)
25078 function g(a, b, c, d, e) {
25080 CKEDITOR.tools.extend(this, d, {
25086 "function" == typeof d.defaults ? d.defaults() : d.defaults),
25092 definition: d,
25094 draggable: !1 !== d.draggable,
25096 … downcastFn: d.downcast && "string" == typeof d.downcast ? d.downcasts[d.downcast] : d.downcast
25100 Q(this, d);
25124 exec: function(a, d) {
25137 … (h = a.widgets.initOn(f, b, d && d.startupData)) ? (f = h.once("edit", function(b) {
25141 var d, f;
25142 d = b.once("ok", e, null, null, 20);
25147 d.removeListener();
25164 var d = b.upcast.split(","),
25166 for (f = 0; f < d.length; f++)
25168 d[f], e === a.name) return b.upcasts[e].call(this, a, c);
25172 function d(b, c, d) {
25174 return a[2] > d
25177 a._.upcasts.splice(e, 0, [CKEDITOR.tools.bind(b, c), c.name, d])
25181 e && ("string" == typeof e ? d(c, b, f) : d(e, b, f))
25202 d, e, f, h;
25204 … for (d in c) c[d].isReady() && !b.contains(c[d].wrapper) && this.destroy(c[d], !0);
25209 d = 0;
25210 for (e = l.count(); d < e; d++) {
25211 f = l.getItem(d);
25236 d = !1;
25237 …ributes["data-cke-white-space-first"] = 1, b.value = b.value.replace(/^\s/g, "\x26nbsp;"), d = !0);
25238 …tributes["data-cke-white-space-last"] = 1, c.value = c.value.replace(/\s$/g, "\x26nbsp;"), d = !0);
25239 d && (a.attributes["data-cke-widget-white-space"] = 1)
25258 var d = this._.filters[a];
25259 d || (this._.filters[a] = d = {});
25260 a = d[b];
25261 …ntent ? new CKEDITOR.filter(c.allowedContent) : this.editor.filter.clone(), d[b] = a, c.disallowed…
25268 d = a._.upcastCallbacks;
25279 for (f = d.length; k < f; ++k)
25280 if (!1 === d[k](a)) return;
25300 var d = CKEDITOR.dtd[a.name];
25301 if (d && !d[c.name]) {
25302 var d = a.split(b),
25304 b = d.getIndex();
25306 d.children.length || d.remove();
25321 function n(a, b, c, d) {
25324d = c.data("cke-widget-editable"), d = b.editables[d], a.widgetHoldingFocusedEditable = b, b.focus…
25353 var d = b.editable();
25359 var c = g.getNestedEditable(d, b);
25393 d = c.isInline() ? c : b.document,
25395 c.attachListener(d, "mousedown", function(c) {
25396 var d = c.data.getTarget();
25397 e = d instanceof CKEDITOR.dom.element ? a.getByElement(d) : null;
25399 …e && (e.inline && d.type == CKEDITOR.NODE_ELEMENT && d.hasAttribute("data-cke-widget-drag-handler"…
25400 …g.getNestedEditable(e.wrapper, d) ? e = null : (c.data.preventDefault(), CKEDITOR.env.ie || e.focu…
25402 c.attachListener(d, "mouseup", function() {
25405 CKEDITOR.env.ie && c.attachListener(d, "mouseup", function() {
25412 var d = a.getByElement(b.data.element);
25413 … if (d && !g.getNestedEditable(d.wrapper, b.data.element)) return d.fire("doubleclick", {
25422 d = a.widgetHoldingFocusedEditable,
25426d && (c = b.data.keyCode, b = d.focusedEditable, c == CKEDITOR.CTRL + 65 ? (c = b.getBogus(), d =
25451 …var d = (c = g.getNestedEditable(b.editable(), c.data.selection.getStartElement())) && a.getByElem…
25453 e ? e === d &&
25454 … e.focusedEditable.equals(c) || (n(a, e, null), d && c && n(a, d, c)) : d && c && n(a, d, c)
25476 d;
25478 d = v(b);
25480 d.parent.attributes["data-cke-white-space-first"] &&
25481 (d.value = d.value.replace(/^&nbsp;/g, " "));
25485 … if (c = a.instances[c["data-cke-widget-id"]]) d = b.getFirst(g.isParserWidgetElement), f.push({
25487 element: d,
25490 … }), "1" != d.attributes["data-cke-widget-keep-attr"] && delete d.attributes["data-widget"]
25515 c, d;
25517 var d = U(a),
25519 … for (b.data.dataValue.forEach(d.iterator, CKEDITOR.NODE_ELEMENT, !0); h = d.toBeWrapped.pop();) {
25528 if (d)
25531 d = 0;
25536 /data-cke-widget/.test(b.data) && (d = 1);
25545 b.on("afterInsertHtml", function(d) {
25546 d.data.intoRange ? a.checkWidgets({
25558 d = b.slice(0),
25563 a = CKEDITOR.tools.indexOf(d, a);
25564 0 <= a && d.splice(a, 1);
25576 …(h = a.focused) && t(a, h); h = d.pop();) b.splice(CKEDITOR.tools.indexOf(b, h), 1), h.isInited() …
25587 var d = 0;
25592 … for (e = CKEDITOR.tools.clone(e); f = b.pop();) c ? e[f] || (d = e[f] = 1) : e[f] && (delete e[f],
25593 d = 1);
25594 d && a.setData("classes", e)
25604 d = c.document,
25606 if (!d.getById("cke_copybin")) {
25608 e = d.createElement(f),
25609 h = d.createElement(f),
25633 if (f) var n = d.getDocumentElement().$,
25671 d;
25673 for (d in b) a && a[d] || this.removeClass(d);
25674 for (d in a) this.addClass(d);
25695 d;
25696 … c ? d = c.findOne("img") : (c = new CKEDITOR.dom.element("span", b.document), c.setAttributes({
25699 }), d = new CKEDITOR.dom.element("img", b.document), d.setAttributes({
25707 … }), a.inline && d.setAttribute("draggable", "true"), c.append(d), a.wrapper.append(c));
25715 …if (!a.inline && (d.on("mousedown", ba, a), CKEDITOR.env.ie && 9 > CKEDITOR.env.version)) d.on("dr…
25728 var d = this.repository.finder,
25732 … CKEDITOR.tools.isEmpty(e.visible) || (c = d.getRange(c[0]), this.focus(), f.fire("drop", {
25744 d = this.repository.locator,
25754 m = d.locate(p);
25755 k = d.sort(n, 1);
25773 var b, c, d = a.editables;
25776 for (b in d) c = d[b], a.initEditable(b, "string" == typeof c ? {
25795 c, d;
25796 for (d in a.parts) c = a.wrapper.findOne(a.parts[d]), b[d] = c;
25811 var d = b.data.getTarget();
25812 … g.getNestedEditable(a, d) || a.inline && g.isDomDragHandler(d) || b.data.preventDefault()
25933 c, d, e;
25934 …for (d in b) c = b[d], (e = c.button) && a.ui.addButton && a.ui.addButton(CKEDITOR.tools.capitaliz…
25963 d;
25964 if (b && (d = this.getByElement(b, !0))) return c.focus(d).select(d).commit();
25978 d;
25979 …(d = c.moveToClosestEditablePosition(a.wrapper, !0)) || (d = c.moveToClosestEditablePosition(a.wra…
25980 d && b.getSelection().selectRanges([c])
25993 var c, d, e = this.instances;
25995 d = b.find(".cke_widget_wrapper");
25996 …for (var e = d.count(), f = 0; f < e; ++f)(c = this.getByElement(d.getItem(f), !0)) && this.destro…
25998 for (d in e) c = e[d], this.destroy(c, a)
26011 return function(b, d) {
26014 if (!d && !e) {
26024 var d = this.wrapElement(a, b.name);
26025 …return d ? d.hasClass("cke_widget_new") ? (a = new g(this, this._.nextId++, a, b, c), a.isInited()…
26029 …for (var b = [], c, d = a.count(); d--;)(c = this.initOn(a.getItem(d).getFirst(g.isDomWidgetElemen…
26036 var d = this.instances[c];
26037 d.name == a && d.on.apply(d, b)
26047 for (var b, c = {}, d = 0; b = a.pop();) - 1 == b.indexOf("cke_") && (c[b] = d = 1);
26048 return d ?
26053 d, e;
26056 d = this.registered[b];
26057 if (!d) return null;
26061 (e = A(d, a.getName())) && u(a);
26064 c.data("cke-display-name", d.pathName ? d.pathName : a.getName());
26069 d = this.registered[b];
26070 if (!d) return null;
26074 (e = A(d, a.name)) && u(a);
26077 d.pathName ? d.pathName : a.name;
26078 d = a.parent;
26080 d && (f = a.getIndex(), a.remove());
26082 d && z(d, f, c)
26129 var d, e;
26130 !1 !== b.fire("dialog", a) && (d = a.on("show", function() {
26133 var d, e = b.on("data", function(a) {
26134 d = 1;
26140 d && (b.fire("data", b.data), b.editor.fire("saveSnapshot"))
26142 d.removeListener();
26167 for (var b, c, d = 0; d < a.count(); d++)
26169 … a.getItem(d), c = b.getAscendant(g.isDomWidgetWrapper), this.wrapper.equals(c)) return b;
26197 d = 0;
26198 if ("string" == typeof a) c[a] !== b && (c[a] = b, d = 1);
26201 for (a in e) c[a] !== e[a] && (d = 1, c[a] = e[a])
26203 d && this.dataReady && (r(this), this.fire("data", c));
26306 function d(a) {
26367 a = new d(a.weight);
26385 d.prototype = {
26409 CKEDITOR.event.implementOn(d.prototype);
26411 CKEDITOR.plugins.notificationAggregator.task = d
26426 if (f.fileToElement) a.on("paste", function(d) {
26427 d = d.data;
26429 k = d.dataTransfer,
26434 if (!d.dataValue && f)
26439 … != g || l.skipNotifications || CKEDITOR.fileTools.bindNotifications(a, e), d.dataValue += m.getOu…
26447 var d = this,
26453 if (d.wrapper && d.wrapper.getParent()) {
26456d[b] || !1 !== d[b](k)) e = "cke_upload_" + k.status, d.wrapper && e != g && (g && d.wrapper.remov…
26463 replaceWith: function(d, c) {
26464 if ("" === d.trim()) a.widgets.del(this);
26474 f.insertHtmlIntoRange(d, g, c);
26583 var d = g.getAttribute("src"),
26584 h = d && "data:" == d.substring(0, 5),
26587d.match(/image\/([a-z]+?);/i)) && h[1] || "jpg", d = c.uploadRepository.create(d, n(h)), d.upload(…