fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [17048] ckeditor: update from upstream


From: sigurdne
Subject: [Fmsystem-commits] [17048] ckeditor: update from upstream
Date: Sun, 10 Sep 2017 16:43:28 -0400 (EDT)

Revision: 17048
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=17048
Author:   sigurdne
Date:     2017-09-10 16:43:27 -0400 (Sun, 10 Sep 2017)
Log Message:
-----------
ckeditor: update from upstream

Modified Paths:
--------------
    trunk/phpgwapi/js/ckeditor/CHANGES.md
    trunk/phpgwapi/js/ckeditor/LICENSE.md
    trunk/phpgwapi/js/ckeditor/README.md
    trunk/phpgwapi/js/ckeditor/adapters/jquery.js
    trunk/phpgwapi/js/ckeditor/build-config.js
    trunk/phpgwapi/js/ckeditor/ckeditor.js
    trunk/phpgwapi/js/ckeditor/config.js
    trunk/phpgwapi/js/ckeditor/contents.css
    trunk/phpgwapi/js/ckeditor/lang/af.js
    trunk/phpgwapi/js/ckeditor/lang/ar.js
    trunk/phpgwapi/js/ckeditor/lang/bg.js
    trunk/phpgwapi/js/ckeditor/lang/bn.js
    trunk/phpgwapi/js/ckeditor/lang/bs.js
    trunk/phpgwapi/js/ckeditor/lang/ca.js
    trunk/phpgwapi/js/ckeditor/lang/cs.js
    trunk/phpgwapi/js/ckeditor/lang/cy.js
    trunk/phpgwapi/js/ckeditor/lang/da.js
    trunk/phpgwapi/js/ckeditor/lang/de.js
    trunk/phpgwapi/js/ckeditor/lang/el.js
    trunk/phpgwapi/js/ckeditor/lang/en-au.js
    trunk/phpgwapi/js/ckeditor/lang/en-ca.js
    trunk/phpgwapi/js/ckeditor/lang/en-gb.js
    trunk/phpgwapi/js/ckeditor/lang/en.js
    trunk/phpgwapi/js/ckeditor/lang/eo.js
    trunk/phpgwapi/js/ckeditor/lang/es.js
    trunk/phpgwapi/js/ckeditor/lang/et.js
    trunk/phpgwapi/js/ckeditor/lang/eu.js
    trunk/phpgwapi/js/ckeditor/lang/fa.js
    trunk/phpgwapi/js/ckeditor/lang/fi.js
    trunk/phpgwapi/js/ckeditor/lang/fo.js
    trunk/phpgwapi/js/ckeditor/lang/fr-ca.js
    trunk/phpgwapi/js/ckeditor/lang/fr.js
    trunk/phpgwapi/js/ckeditor/lang/gl.js
    trunk/phpgwapi/js/ckeditor/lang/gu.js
    trunk/phpgwapi/js/ckeditor/lang/he.js
    trunk/phpgwapi/js/ckeditor/lang/hi.js
    trunk/phpgwapi/js/ckeditor/lang/hr.js
    trunk/phpgwapi/js/ckeditor/lang/hu.js
    trunk/phpgwapi/js/ckeditor/lang/id.js
    trunk/phpgwapi/js/ckeditor/lang/is.js
    trunk/phpgwapi/js/ckeditor/lang/it.js
    trunk/phpgwapi/js/ckeditor/lang/ja.js
    trunk/phpgwapi/js/ckeditor/lang/ka.js
    trunk/phpgwapi/js/ckeditor/lang/km.js
    trunk/phpgwapi/js/ckeditor/lang/ko.js
    trunk/phpgwapi/js/ckeditor/lang/ku.js
    trunk/phpgwapi/js/ckeditor/lang/lt.js
    trunk/phpgwapi/js/ckeditor/lang/lv.js
    trunk/phpgwapi/js/ckeditor/lang/mk.js
    trunk/phpgwapi/js/ckeditor/lang/mn.js
    trunk/phpgwapi/js/ckeditor/lang/ms.js
    trunk/phpgwapi/js/ckeditor/lang/nb.js
    trunk/phpgwapi/js/ckeditor/lang/nl.js
    trunk/phpgwapi/js/ckeditor/lang/no.js
    trunk/phpgwapi/js/ckeditor/lang/pl.js
    trunk/phpgwapi/js/ckeditor/lang/pt-br.js
    trunk/phpgwapi/js/ckeditor/lang/pt.js
    trunk/phpgwapi/js/ckeditor/lang/ro.js
    trunk/phpgwapi/js/ckeditor/lang/ru.js
    trunk/phpgwapi/js/ckeditor/lang/si.js
    trunk/phpgwapi/js/ckeditor/lang/sk.js
    trunk/phpgwapi/js/ckeditor/lang/sl.js
    trunk/phpgwapi/js/ckeditor/lang/sq.js
    trunk/phpgwapi/js/ckeditor/lang/sr-latn.js
    trunk/phpgwapi/js/ckeditor/lang/sr.js
    trunk/phpgwapi/js/ckeditor/lang/sv.js
    trunk/phpgwapi/js/ckeditor/lang/th.js
    trunk/phpgwapi/js/ckeditor/lang/tr.js
    trunk/phpgwapi/js/ckeditor/lang/tt.js
    trunk/phpgwapi/js/ckeditor/lang/ug.js
    trunk/phpgwapi/js/ckeditor/lang/uk.js
    trunk/phpgwapi/js/ckeditor/lang/vi.js
    trunk/phpgwapi/js/ckeditor/lang/zh-cn.js
    trunk/phpgwapi/js/ckeditor/lang/zh.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js
    
trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/af.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/da.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/de.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/el.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/en.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/es.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/et.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/he.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/id.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/it.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/km.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/no.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/si.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/th.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js
    trunk/phpgwapi/js/ckeditor/plugins/about/dialogs/about.js
    trunk/phpgwapi/js/ckeditor/plugins/dialog/dialogDefinition.js
    trunk/phpgwapi/js/ckeditor/plugins/icons.png
    trunk/phpgwapi/js/ckeditor/plugins/icons_hidpi.png
    trunk/phpgwapi/js/ckeditor/plugins/image/dialogs/image.js
    trunk/phpgwapi/js/ckeditor/plugins/image/images/noimage.png
    trunk/phpgwapi/js/ckeditor/plugins/link/dialogs/anchor.js
    trunk/phpgwapi/js/ckeditor/plugins/link/dialogs/link.js
    trunk/phpgwapi/js/ckeditor/plugins/link/images/anchor.png
    trunk/phpgwapi/js/ckeditor/plugins/link/images/hidpi/anchor.png
    trunk/phpgwapi/js/ckeditor/plugins/pastefromword/filter/default.js
    trunk/phpgwapi/js/ckeditor/plugins/scayt/dialogs/options.js
    
trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/af.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/ar.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/bg.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/ca.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/cs.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/cy.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/da.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/de.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/el.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/en.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/eo.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/es.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/et.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/fa.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/fi.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/fr.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/gl.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/he.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/hr.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/hu.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/id.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/it.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/ja.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/km.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/ku.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/lt.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/lv.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/nb.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/nl.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/no.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/pl.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/pt.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/ru.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/si.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/sk.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/sl.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/sq.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/sv.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/th.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/tr.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/tt.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/ug.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/uk.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/vi.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/zh.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/specialchar.js
    trunk/phpgwapi/js/ckeditor/plugins/table/dialogs/table.js
    trunk/phpgwapi/js/ckeditor/plugins/tabletools/dialogs/tableCell.js
    trunk/phpgwapi/js/ckeditor/plugins/wsc/dialogs/ciframe.html
    trunk/phpgwapi/js/ckeditor/plugins/wsc/dialogs/tmpFrameset.html
    trunk/phpgwapi/js/ckeditor/plugins/wsc/dialogs/wsc.css
    trunk/phpgwapi/js/ckeditor/plugins/wsc/dialogs/wsc.js
    trunk/phpgwapi/js/ckeditor/plugins/wsc/dialogs/wsc_ie.js
    trunk/phpgwapi/js/ckeditor/styles.js

Added Paths:
-----------
    trunk/phpgwapi/js/ckeditor/lang/az.js
    trunk/phpgwapi/js/ckeditor/lang/de-ch.js
    trunk/phpgwapi/js/ckeditor/lang/es-mx.js
    trunk/phpgwapi/js/ckeditor/lang/oc.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/az.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js
    trunk/phpgwapi/js/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js
    trunk/phpgwapi/js/ckeditor/plugins/scayt/CHANGELOG.md
    trunk/phpgwapi/js/ckeditor/plugins/scayt/dialogs/dialog.css
    trunk/phpgwapi/js/ckeditor/plugins/scayt/skins/
    trunk/phpgwapi/js/ckeditor/plugins/scayt/skins/moono-lisa/
    trunk/phpgwapi/js/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/az.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/en-au.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/eu.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/ko.js
    trunk/phpgwapi/js/ckeditor/plugins/specialchar/dialogs/lang/oc.js
    trunk/phpgwapi/js/ckeditor/plugins/tableselection/
    trunk/phpgwapi/js/ckeditor/plugins/tableselection/styles/
    trunk/phpgwapi/js/ckeditor/plugins/tableselection/styles/tableselection.css
    trunk/phpgwapi/js/ckeditor/plugins/wsc/skins/
    trunk/phpgwapi/js/ckeditor/plugins/wsc/skins/moono-lisa/
    trunk/phpgwapi/js/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/dialog.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/dialog_ie.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/dialog_ie8.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/dialog_iequirks.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/editor.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/editor_gecko.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/editor_ie.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/editor_ie8.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/editor_iequirks.css
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/icons.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/icons_hidpi.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/arrow.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/close.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/hidpi/
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/hidpi/close.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/hidpi/lock.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/hidpi/refresh.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/lock-open.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/lock.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/refresh.png
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/images/spinner.gif
    trunk/phpgwapi/js/ckeditor/skins/moono-lisa/readme.md

Removed Paths:
-------------
    trunk/phpgwapi/js/ckeditor/plugins/clipboard/
    trunk/phpgwapi/js/ckeditor/skins/moono/

Modified: trunk/phpgwapi/js/ckeditor/CHANGES.md
===================================================================
--- trunk/phpgwapi/js/ckeditor/CHANGES.md       2017-09-10 13:53:33 UTC (rev 
17047)
+++ trunk/phpgwapi/js/ckeditor/CHANGES.md       2017-09-10 20:43:27 UTC (rev 
17048)
@@ -1,6 +1,618 @@
 CKEditor 4 Changelog
 ====================
 
+## CKEditor 4.7.2
+
+New Features:
+
+* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced 
Content Filter](https://docs.ckeditor.com/#!/guide/dev_acf) integration with 
the [Justify](http://ckeditor.com/addon/justify) plugin.
+
+Fixed Issues:
+
+* [#663](https://github.com/ckeditor/ckeditor-dev/issues/663): [Chrome] Fixed: 
Clicking the scrollbar throws an `Uncaught TypeError: element.is is not a 
function` error.
+* [#520](https://github.com/ckeditor/ckeditor-dev/issues/520): Fixed: Widgets 
cannot be properly pasted into a table cell.
+* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal 
`cke_table-faked-selection-table` class is visible in the Stylesheet Classes 
field of the [Table Properties](http://ckeditor.com/addon/table) dialog.
+* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: 
Error thrown when pressing the [Select 
All](https://ckeditor.com/addon/selectall) button in [Source 
Mode](http://ckeditor.com/addon/sourcearea).
+* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double 
slash in the path to stylesheet needed by the [Table 
Selection](http://ckeditor.com/addon/tableselection) plugin. Thanks to [Marius 
Dumitru Florea](https://github.com/mflorea)!
+* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: 
Unnecessary dependency on the [Editor 
Toolbar](http://ckeditor.com/addon/toolbar) plugin inside the 
[Notification](http://ckeditor.com/addon/notification) plugin.
+* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error 
thrown into the browser console after opening the [Styles 
Combo](http://ckeditor.com/addon/stylescombo) plugin menu in the editor without 
any selection.
+* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double 
click does not open the dialog for modifying anchors inserted via the 
[Link](http://ckeditor.com/addon/link) plugin.
+* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking 
inside an empty 
[read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) 
editor throws an error.
+* [#16820](https://dev.ckeditor.com/ticket/16820): [IE10] Fixed: Clicking 
below a single horizontal rule throws an error.
+* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The 
[`range.cloneContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents)
 method selects the whole element when the selection starts at the beginning of 
that element.
+* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The 
[`range.extractContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents)
 method returns an incorrect result when multiple nodes are selected.
+* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The 
[`elementPath.contains`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.elementPath-method-contains)
 method incorrectly excludes the last element instead of root when the 
`fromTop` parameter is set to `true`.
+
+Other Changes:
+
+* Updated the [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You 
Type) plugin:
+       * 
[#148](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/148): 
Fixed: SCAYT leaves underlined word after the CKEditor Replace dialog corrects 
it.
+* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the 
[`CKEDITOR.dom.nodeList.toArray`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList-method-toArray)
 method which returns an array representation of a [node 
list](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList).
+
+## CKEditor 4.7.1
+
+New Features:
+
+* Added a new Mexican Spanish localization. Thanks to [David Alexandro 
Rodriguez](https://www.transifex.com/user/profile/darsco16/)!
+* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as 
Plain Text keyboard shortcut to the [Accessibility 
Help](http://ckeditor.com/addon/a11yhelp) instructions.
+
+Fixed Issues:
+
+* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: 
Mouse actions on CKEditor scrollbar throw an exception when the [Table 
Selection](http://ckeditor.com/addon/tableselection) plugin is loaded.
+* [#493](https://github.com/ckeditor/ckeditor-dev/issues/493): Fixed: 
Selection started from a nested table causes an error in the browser while 
scrolling down.
+* [#415](https://github.com/ckeditor/ckeditor-dev/issues/415): [Firefox] 
Fixed: <kbd>Enter</kbd> key breaks the table structure when pressed in a table 
selection.
+* [#457](https://github.com/ckeditor/ckeditor-dev/issues/457): Fixed: Error 
thrown when deleting content from the editor with no selection.
+* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed: 
 Error thrown by the [Enter Key](http://ckeditor.com/addon/enterkey) plugin 
when pressing <kbd>Enter</kbd> with no selection.
+* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error 
thrown by [Tab Key Handling](http://ckeditor.com/addon/tab) and [Indent 
List](http://ckeditor.com/addon/indentlist) plugins when pressing 
<kbd>Tab</kbd> with no selection in inline editor.
+* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors 
inserted with the [Link](http://ckeditor.com/addon/link) plugin on collapsed 
selection cannot be edited.
+* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The 
[Table Resize](http://ckeditor.com/addon/tableresize) plugin throws an error 
when used with a table with only header or footer rows.
+* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The 
[`editor.getCommandKeystroke`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getCommandKeystroke)
 method does not obtain the correct keystroke.
+* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: 
[Paste from Word](http://ckeditor.com/addon/pastefromword) does not work in 
Quirks Mode.
+* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: 
[`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) 
incorrectly transforms the `margin` CSS property.
+
+## CKEditor 4.7
+
+**Important Notes:**
+
+* [#13793](http://dev.ckeditor.com/ticket/13793): The 
[`embed_provider`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-embed_provider)
 configuration option for the [Media Embed](http://ckeditor.com/addon/embed) 
and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins is 
no longer preset by default.
+* The [UI Color](http://ckeditor.com/addon/uicolor) plugin now uses a custom 
color picker instead of the `YUI 2.7.0` library which has some known 
vulnerabilities (it's a security precaution, there was no security issue in 
CKEditor due to the way it was used).
+
+New Features:
+
+* [#16755](http://dev.ckeditor.com/ticket/16755): Added the [Table 
Selection](http://ckeditor.com/addon/tableselection) plugin that lets you 
select and manipulate an arbitrary rectangular table fragment (a few cells, a 
row or a column).
+* [#16961](http://dev.ckeditor.com/ticket/16961): Added support for pasting 
from Microsoft Excel.
+* [#13381](http://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call 
in [`CKEDITOR.template`](http://docs.ckeditor.com/#!/api/CKEDITOR.template) 
removed. CKEditor can now be used with the `unsafe-eval` Content Security 
Policy. Thanks to [Caridy Patiño](http://caridy.name)!
+* [#16971](http://dev.ckeditor.com/ticket/16971): Added support for color in 
the `background` property containing also other styles for table cells in the 
[Table Tools](http://ckeditor.com/addon/tabletools) plugin.
+* [#16847](http://dev.ckeditor.com/ticket/16847): Added support for parsing 
and inlining any formatting created using the Microsoft Word style system to 
the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#16818](http://dev.ckeditor.com/ticket/16818): Added table cell height 
parsing in the [Paste from Word](http://ckeditor.com/addon/pastefromword) 
plugin.
+* [#16850](http://dev.ckeditor.com/ticket/16850): Added a new 
[`config.enableContextMenu`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enableContextMenu)
 configuration option for enabling and disabling the [context 
menu](http://ckeditor.com/addon/contextmenu).
+* [#16937](http://dev.ckeditor.com/ticket/16937): The `command` parameter in 
[CKEDITOR.editor.getCommandKeystroke](http://docs.ckeditor.dev/#!/api/CKEDITOR.editor-method-getCommandKeystroke)
 now also accepts a command name as an argument.
+* [#17010](http://dev.ckeditor.com/ticket/17010): The 
[`CKEDITOR.dom.range.shrink`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-shrink)
 method now allows for skipping bogus `<br>` elements.
+
+Fixed Issues:
+
+* [#16935](http://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the 
editor in [Source Mode](http://ckeditor.com/addon/sourcearea) throws an error.
+* [#16825](http://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown 
when destroying a focused inline editor.
+* [#16857](http://dev.ckeditor.com/ticket/16857): Fixed: 
<kbd>Ctrl+Shift+V</kbd> blocked by [Copy 
Formatting](http://ckeditor.com/addon/copyformatting).
+* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to 
the top of the scrolled editor after focusing it when the [Copy 
Formatting](http://ckeditor.com/addon/copyformatting) plugin is enabled.
+* [#16786](http://dev.ckeditor.com/ticket/16786): Fixed: Added missing 
translations for the [Copy 
Formatting](http://ckeditor.com/addon/copyformatting) plugin.
+* [#14714](http://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: 
Exception thrown on refocusing a blurred inline editor.
+* [#16913](http://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste 
as Plain Text](http://ckeditor.com/addon/pastetext) keystroke does not work.
+* [#16968](http://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as 
Plain Text](http://ckeditor.com/addon/pastetext) is not handled by the editor.
+* [#16912](http://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when 
a single image is pasted using [Paste from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#16821](http://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `<span>` 
elements with `height` style stacked when [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#16866](http://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: 
Whitespaces not preserved when [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#16860](http://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only 
look like lists incorrectly transformed into them when [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#16817](http://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from 
Word](http://ckeditor.com/addon/pastefromword), paragraphs are transformed into 
lists with some corrupted data.
+* [#16833](http://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list 
with headers [pasted from Word](http://ckeditor.com/addon/pastefromword).
+* [#16826](http://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous 
paragraphs within lists [pasted from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#12465](http://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the 
state of checkboxes or radio buttons if the properties dialog was invoked with 
a double-click.
+* [#13062](http://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink 
when the caret is at the edge of the link.
+* [#13585](http://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping 
two adjacent `<div>` elements with a `<div>`.
+* [#16811](http://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is 
not preserved by the [Paste from Word](http://ckeditor.com/addon/pastefromword) 
plugin.
+* [#16810](http://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in 
tables is not supported by the [Paste from 
Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#11956](http://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: 
[Link](http://ckeditor.com/addon/link) dialog does not open on a double click 
on the second word of the link with a background color or other styles.
+* [#10472](http://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table 
Resize](http://ckeditor.com/addon/tableresize) on table header and footer.
+* [#14762](http://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an 
empty table (without rows or cells) throws an error when the [Table 
Resize](http://ckeditor.com/addon/tableresize) plugin is active.
+* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The 
[Clipboard](http://ckeditor.com/addon/clipboard) plugin does not allow to drop 
widgets into the editor.
+* [#14894](https://dev.ckeditor.com/ticket/14894): [Chrome] Fixed: The editor 
scrolls to the top after focusing or when a dialog is opened.
+* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in 
host are not detected by the [Auto Link](http://ckeditor.com/addon/autolink) 
plugin.
+* [#16804](https://dev.ckeditor.com/ticket/16804): Fixed: Focus is not on the 
first menu item when the user opens a context menu or a drop-down list from the 
editor toolbar.
+* [#14407](https://dev.ckeditor.com/ticket/14407): [IE] Fixed: Non-editable 
widgets can be edited.
+* [#16927](https://dev.ckeditor.com/ticket/16927): Fixed: An error thrown if a 
bundle containing the [Color Button](http://ckeditor.com/addon/colorbutton) 
plugin is run in ES5 strict mode. Thanks to [Igor 
Rubinovich](https://github.com/IgorRubinovich)!
+* [#16920](http://dev.ckeditor.com/ticket/16920): Fixed: Several plugins not 
using the [Dialog](http://ckeditor.com/addon/dialog) plugin as a direct 
dependency.
+* [PR#336](https://github.com/ckeditor/ckeditor-dev/pull/336): Fixed: Typo in 
[`CKEDITOR.getCss`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getCss) API 
documentation. Thanks to [knusperpixel](https://github.com/knusperpixel)!
+* [#17027](http://dev.ckeditor.com/ticket/17027): Fixed: Command event data 
should be initialized as an empty object.
+* Fixed the behavior of HTML parser when parsing `src`/`srcdoc` attributes of 
the `<iframe>` element in a CKEditor setup with ACF turned off and without the 
[Iframe Dialog](http://ckeditor.com/addon/iframe) plugin. The issue was 
originally reported as a security issue by 
[Sriramk21](https://twitter.com/sriramk21) from Pegasystems and was later 
downgraded by the security team into a normal issue due to the requirement of 
having ACF turned off. Disabling [Advanced Content 
Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) is 
against [security best 
practices](http://docs.ckeditor.com/#!/guide/dev_best_practices-section-security),
 so the problem described above has not been considered a security issue as 
such.
+
+Other Changes:
+
+* Updated [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) 
and [WebSpellChecker](http://ckeditor.com/addon/wsc) plugins:
+       * Fixed: DOM Exception after clicking "Remove Language" on a selected 
word with enabled [Language](http://ckeditor.com/addon/language) plugin in 
SCAYT.
+* [#16958](http://dev.ckeditor.com/ticket/16958): Switched the default MathJax 
CDN provider for the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) 
plugin from `cdn.mathjax.org` to [cdnjs](https://cdnjs.com/), due to closing of 
`cdn.mathjax.org` scheduled for April 30, 2017.
+* [#16954](http://dev.ckeditor.com/ticket/16954): Removed the paste dialog.
+* [#16982](http://dev.ckeditor.com/ticket/16982): Latest Safari now supports 
enhanced Clipboard API introduced in CKEditor 4.5.0.
+* [#17025](http://dev.ckeditor.com/ticket/17025): Updated 
[Bender.js](https://github.com/benderjs/benderjs) to 0.4.2.
+
+## CKEditor 4.6.2
+
+New Features:
+
+* [#16733](http://dev.ckeditor.com/ticket/16733): Added a new pastel color 
palette for the [Color Button](http://ckeditor.com/addon/colorbutton) plugin 
and a new 
[`config.colorButton_colorsPerRow`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-colorButton_colorsPerRow)
 configuration option for setting the number of rows in the color selector.
+* [#16752](http://dev.ckeditor.com/ticket/16752): Added a new Azerbaijani 
localization. Thanks to the [Azerbaijani language 
team](https://www.transifex.com/ckeditor/teams/11143/az/)!
+* [#13818](http://dev.ckeditor.com/ticket/13818): It is now possible to group 
[Widget](http://ckeditor.com/addon/widget) [style 
definitions](http://docs.ckeditor.com/#!/guide/dev_styles-section-widget-styles),
 so applying one style disables the other.
+
+Fixed Issues:
+
+* [#13446](http://dev.ckeditor.com/ticket/13446): [Chrome] Fixed: It is 
possible to type in an unfocused inline editor.
+* [#14856](http://dev.ckeditor.com/ticket/14856): Fixed: [Font size and font 
family](http://ckeditor.com/addon/font) reset each other when modified at 
certain positions.
+* [#16745](http://dev.ckeditor.com/ticket/16745): [Edge] Fixed: List items are 
lost when [pasted from Word](http://ckeditor.com/addon/pastefromword).
+* [#16682](http://dev.ckeditor.com/ticket/16682): [Edge] Fixed: A list gets 
[pasted from Word](http://ckeditor.com/addon/pastefromword) as a set of 
paragraphs. Added the 
[`config.pasteFromWord_heuristicsEdgeList`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWord_heuristicsEdgeList)
 configuration option.
+* [#10373](http://dev.ckeditor.com/ticket/10373): Fixed: Context menu items 
can be dragged into the editor.
+* [#16728](http://dev.ckeditor.com/ticket/16728): [IE] Fixed: [Copy 
Formatting](http://ckeditor.com/addon/copyformatting) breaks the editor in 
Quirks Mode.
+* [#16795](http://dev.ckeditor.com/ticket/16795): [IE] Fixed: [Copy 
Formatting](http://ckeditor.com/addon/copyformatting) breaks the editor in 
Compatibility Mode.
+* [#16675](http://dev.ckeditor.com/ticket/16675): Fixed: Styles applied with 
[Copy Formatting](http://ckeditor.com/addon/copyformatting) to a single table 
cell are applied to the whole table.
+* [#16753](http://dev.ckeditor.com/ticket/16753): Fixed: 
[`element.setSize`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-setSize)
 sets incorrect editor dimensions if the border width is represented as a 
fraction of pixels.
+* [#16705](http://dev.ckeditor.com/ticket/16705): [Firefox] Fixed: Unable to 
paste images as Base64 strings when using 
[Clipboard](http://ckeditor.com/addon/clipboard).
+* [#14869](http://dev.ckeditor.com/ticket/14869): Fixed: JavaScript error is 
thrown when trying to use [Find](http://ckeditor.com/addon/find) in a 
[`<div>`-based editor](http://ckeditor.com/addon/divarea).
+
+## CKEditor 4.6.1
+
+New Features:
+
+* [#16639](http://dev.ckeditor.com/ticket/16639): The `callback` parameter in 
the 
[CKEDITOR.ajax.post](http://docs.ckeditor.com/#!/api/CKEDITOR.ajax-method-post) 
method became optional.
+
+Fixed Issues:
+
+* [#11064](http://dev.ckeditor.com/ticket/11064): [Blink, WebKit] Fixed: 
Cannot select all editor content when a widget or a non-editable element is the 
first or last element of the content. Also fixes this issue in the [Select 
All](http://ckeditor.com/addon/selectall) plugin.
+* [#14755](http://dev.ckeditor.com/ticket/14755): [Blink, WebKit, IE8] Fixed: 
Browser hangs when a table is inserted in the place of a selected list with an 
empty last item.
+* [#16624](http://dev.ckeditor.com/ticket/16624): Fixed: Improved the [Color 
Button](http://ckeditor.com/addon/colorbutton) plugin which will now normalize 
the CSS `background` property if it only contains a color value. This fixes 
missing background colors when using [Paste from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#16600](http://dev.ckeditor.com/ticket/16600): [Blink, WebKit] Fixed: Error 
thrown occasionally by an uninitialized editable for multiple CKEditor 
instances on the same page.
+
+## CKEditor 4.6
+
+New Features:
+
+* [#14569](http://dev.ckeditor.com/ticket/14569): Added a new, flat, default 
CKEditor skin called [Moono-Lisa](http://ckeditor.com/addon/moono-lisa). 
Refreshed default colors available in the [Color 
Button](http://ckeditor.com/addon/colorbutton) plugin ([Text Color and 
Background Color](http://docs.ckeditor.com/#!/guide/dev_colorbutton) feature).
+* [#14707](http://dev.ckeditor.com/ticket/14707): Added a new [Copy 
Formatting](http://ckeditor.com/addon/copyformatting) feature to enable easy 
copying of styles between your document parts.
+* Introduced the completely rewritten [Paste from 
Word](http://ckeditor.com/addon/pastefromword) plugin:
+       * Backward incompatibility: The 
[`config.pasteFromWordRemoveFontStyles`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveFontStyles)
 option now defaults to `false`. This option will be deprecated in the future. 
Use [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_acf) to 
replicate the effect of setting it to `true`.
+       * Backward incompatibility: The 
[`config.pasteFromWordNumberedHeadingToList`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordNumberedHeadingToList)
 and 
[`config.pasteFromWordRemoveStyles`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveStyles)
 options were dropped and no longer have any effect on pasted content.
+       * Major improvements in preservation of list numbering, styling and 
indentation (nested lists with multiple levels).
+       * Major improvements in document structure parsing that fix plenty of 
issues with distorted or missing content after paste.
+* Added new translation: Occitan. Thanks to [Cédric 
Valmary](https://totenoc.eu/)!
+* [#10015](http://dev.ckeditor.com/ticket/10015): Keyboard shortcuts (relevant 
to the operating system in use) will now be displayed in tooltips and context 
menus.
+* [#13794](http://dev.ckeditor.com/ticket/13794): The [Upload 
Image](http://ckeditor.com/addon/uploadimage) feature now uses 
`uploaded.width/height` if set.
+* [#12541](http://dev.ckeditor.com/ticket/12541): Added the [Upload 
File](http://ckeditor.com/addon/uploadfile) plugin that lets you upload a file 
by drag&amp;dropping it into the editor content.
+* [#14449](http://dev.ckeditor.com/ticket/14449): Introduced the [Balloon 
Panel](http://ckeditor.com/addon/balloonpanel) plugin that lets you create 
stylish floating UI elements for the editor.
+* [#12077](https://dev.ckeditor.com/ticket/12077): Added support for the HTML5 
`download` attribute in link (`<a>`) elements. Selecting the "Force Download" 
checkbox in the [Link](http://ckeditor.com/addon/link) dialog will cause the 
linked file to be downloaded automatically. Thanks to 
[sbusse](https://github.com/sbusse)!
+* [#13518](http://dev.ckeditor.com/ticket/13518): Introduced the 
[`additionalRequestParameters`](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition-property-additionalRequestParameters)
 property for file uploads to make it possible to send additional information 
about the uploaded file to the server.
+* [#14889](http://dev.ckeditor.com/ticket/14889): Added the 
[`config.image2_altRequired`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_altRequired)
 option for the [Enhanced Image](http://ckeditor.com/addon/image2) plugin to 
allow making alternative text a mandatory field. Thanks to [Andrey 
Fedoseev](https://github.com/andreyfedoseev)!
+
+Fixed Issues:
+
+* [#9991](http://dev.ckeditor.com/ticket/9991): Fixed: [Paste from 
Word](http://ckeditor.com/addon/pastefromword) should only normalize input data.
+* [#7209](http://dev.ckeditor.com/ticket/7209): Fixed: Lists with 3 levels not 
[pasted from Word](http://ckeditor.com/addon/pastefromword) correctly.
+* [#14335](http://dev.ckeditor.com/ticket/14335): Fixed: Pasting a numbered 
list starting with a value different from "1" from Microsoft Word does not work 
correctly.
+* [#14542](http://dev.ckeditor.com/ticket/14542): Fixed: Copying a numbered 
list from Microsoft Word does not preserve list formatting.
+* [#14544](http://dev.ckeditor.com/ticket/14544): Fixed: Copying a nested list 
from Microsoft Word results in an empty list.
+* [#14660](http://dev.ckeditor.com/ticket/14660): Fixed: [Pasting text from  
Word](http://ckeditor.com/addon/pastefromword) breaks the styling in some cases.
+* [#14867](http://dev.ckeditor.com/ticket/14867): [Firefox] Fixed: Text gets 
stripped when [pasting content from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#2507](http://dev.ckeditor.com/ticket/2507): Fixed: [Paste from 
Word](http://ckeditor.com/addon/pastefromword) does not detect pasting a part 
of a paragraph.
+* [#3336](http://dev.ckeditor.com/ticket/3336): Fixed: Extra blank row added 
on top of the content [pasted from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#6115](http://dev.ckeditor.com/ticket/6115): Fixed: When Right-to-Left text 
direction is applied to a table [pasted from 
Word](http://ckeditor.com/addon/pastefromword), borders are missing on one side.
+* [#6342](http://dev.ckeditor.com/ticket/6342): Fixed: [Paste from 
Word](http://ckeditor.com/addon/pastefromword) filters out a basic text style 
when it is [configured to use 
attributes](http://docs.ckeditor.com/#!/guide/dev_basicstyles-section-custom-basic-text-style-definition).
+* [#6457](http://dev.ckeditor.com/ticket/6457): [IE] Fixed: [Pasting from 
Word](http://ckeditor.com/addon/pastefromword) is extremely slow.
+* [#6789](http://dev.ckeditor.com/ticket/6789): Fixed: The `mso-list: ignore` 
style is not handled properly when [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#7262](http://dev.ckeditor.com/ticket/7262): Fixed: Lists in preformatted 
body disappear when [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#7662](http://dev.ckeditor.com/ticket/7662): [Opera] Fixed: Extra empty 
number/bullet shown in the editor body when editing a multi-level list [pasted 
from Word](http://ckeditor.com/addon/pastefromword).
+* [#7807](http://dev.ckeditor.com/ticket/7807): Fixed: Last item in a list not 
converted to a `<li>` element after [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#7950](http://dev.ckeditor.com/ticket/7950): [IE] Fixed: Content [from Word 
pasted](http://ckeditor.com/addon/pastefromword) differently than in other 
browsers.
+* [#7982](http://dev.ckeditor.com/ticket/7982): Fixed: Multi-level lists get 
split into smaller ones when [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#8231](http://dev.ckeditor.com/ticket/8231): [WebKit, Opera] Fixed: [Paste 
from Word](http://ckeditor.com/addon/pastefromword) inserts empty paragraphs.
+* [#8266](http://dev.ckeditor.com/ticket/8266): Fixed: [Paste from 
Word](http://ckeditor.com/addon/pastefromword) inserts a blank line at the top.
+* [#8341](http://dev.ckeditor.com/ticket/8341), 
[#7646](http://dev.ckeditor.com/ticket/7646): Fixed: Faulty removal of empty 
`<span>` elements in [Paste from Word](http://ckeditor.com/addon/pastefromword) 
content cleanup breaking content formatting.
+* [#8754](http://dev.ckeditor.com/ticket/8754): [Firefox] Fixed: Incorrect 
pasting of multiple nested lists in [Paste from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#8983](http://dev.ckeditor.com/ticket/8983): Fixed: Alignment lost when 
[pasting from Word](http://ckeditor.com/addon/pastefromword) with 
[`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode)
 set to 
[`CKEDITOR.ENTER_BR`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-ENTER_BR).
+* [#9331](http://dev.ckeditor.com/ticket/9331): [IE] Fixed: [Pasting text from 
Word](http://ckeditor.com/addon/pastefromword) creates a simple Caesar cipher.
+* [#9422](http://dev.ckeditor.com/ticket/9422): Fixed: [Paste from 
Word](http://ckeditor.com/addon/pastefromword) leaves an unwanted 
`color:windowtext` style.
+* [#10011](http://dev.ckeditor.com/ticket/10011): [IE9-10] Fixed: 
[`config.pasteFromWordRemoveFontStyles`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveFontStyles)
 is ignored under certain conditions.
+* [#10643](http://dev.ckeditor.com/ticket/10643): Fixed: Differences between 
using <kbd>Ctrl+V</kbd> and pasting from the [Paste from 
Word](http://ckeditor.com/addon/pastefromword) dialog.
+* [#10784](http://dev.ckeditor.com/ticket/10784): Fixed: Lines missing when 
[pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#11294](http://dev.ckeditor.com/ticket/11294): [IE10] Fixed: Font size is 
not preserved when [pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#11627](http://dev.ckeditor.com/ticket/11627): Fixed: Missing words when 
[pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#12784](http://dev.ckeditor.com/ticket/12784): Fixed: Bulleted list with 
custom bullets gets changed to a numbered list when [pasting from 
Word](http://ckeditor.com/addon/pastefromword).
+* [#13174](http://dev.ckeditor.com/ticket/13174): Fixed: Data loss after 
[pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#13828](http://dev.ckeditor.com/ticket/13828): Fixed: Widget classes should 
be added to the wrapper rather than the widget element.
+* [#13829](http://dev.ckeditor.com/ticket/13829): Fixed: No class in 
[Widget](http://ckeditor.com/addon/widget) wrapper to identify the widget type.
+* [#13519](http://dev.ckeditor.com/ticket/13519): Server response received 
when uploading files should be more flexible.
+
+Other Changes:
+
+* Updated [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) 
and [WebSpellChecker](http://ckeditor.com/addon/wsc) plugins:
+       * Support for the new default Moono-Lisa skin.
+       * 
[#121](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/121): 
Fixed: [Basic Styles](http://ckeditor.com/addon/basicstyles) do not work when 
SCAYT is enabled.
+       * 
[#125](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/125): 
Fixed: Inline styles are not continued when writing multiple lines of styled 
text with SCAYT enabled.
+       * 
[#127](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/127): 
Fixed: Uncaught TypeError after enabling SCAYT in the CKEditor `<div>` element.
+       * 
[#128](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/128): 
Fixed: Error thrown after enabling SCAYT caused by conflicts with RequireJS.
+
+## CKEditor 4.5.11
+
+**Security Updates:**
+
+* [Severity: minor] Fixed the `target="_blank"` vulnerability reported by 
James Gaskell.
+
+       Issue summary: If a victim had access to a spoofed version of 
ckeditor.com via HTTP (e.g. due to DNS spoofing, using a hacked public network 
or mailicious hotspot), then when using a link to the ckeditor.com website it 
was possible for the attacker to change the current URL of the opening page, 
even if the opening page was protected with SSL.
+
+  An upgrade is recommended.
+
+New Features:
+
+* [#14747](http://dev.ckeditor.com/ticket/14747): The [Enhanced 
Image](http://ckeditor.com/addon/image2) caption now supports the link `target` 
attribute.
+* [#7154](http://dev.ckeditor.com/ticket/7154): Added support for the "Display 
Text" field to the [Link](http://ckeditor.com/addon/link) dialog. Thanks to 
[Ryan Guill](https://github.com/ryanguill)!
+
+Fixed Issues:
+
+* [#13362](http://dev.ckeditor.com/ticket/13362): [Blink, WebKit] Fixed: 
Active widget element is not cached when it is losing focus and it is inside an 
editable element.
+* [#13755](http://dev.ckeditor.com/ticket/13755): [Edge] Fixed: Pasting images 
does not work.
+* [#13548](http://dev.ckeditor.com/ticket/13548): [IE] Fixed: Clicking the 
[elements path](http://ckeditor.com/addon/elementspath) disables Cut and Copy 
icons.
+* [#13812](http://dev.ckeditor.com/ticket/13812): Fixed: When aborting file 
upload the placeholder for image is left.
+* [#14659](http://dev.ckeditor.com/ticket/14659): [Blink] Fixed: Content 
scrolled to the top after closing the dialog in a [`<div>`-based 
editor](http://ckeditor.com/addon/divarea).
+* [#14825](http://dev.ckeditor.com/ticket/14825): [Edge] Fixed: Focusing the 
editor causes unwanted scrolling due to dropped support for the `setActive` 
method.
+
+## CKEditor 4.5.10
+
+Fixed Issues:
+
+* [#10750](http://dev.ckeditor.com/ticket/10750): Fixed: The editor does not 
escape the `font-style` family property correctly, removing quotes and 
whitespace from font names.
+* [#14413](http://dev.ckeditor.com/ticket/14413): Fixed: The [Auto 
Grow](http://ckeditor.com/addon/autogrow) plugin with the 
[`config.autoGrow_onStartup`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-autoGrow_onStartup)
 option set to `true` does not work properly for an editor that is not visible.
+* [#14451](http://dev.ckeditor.com/ticket/14451): Fixed: Numeric element ID 
not escaped properly. Thanks to [Jakub Chalupa](https://github.com/chaluja7)!
+* [#14590](http://dev.ckeditor.com/ticket/14590): Fixed: Additional line break 
appearing after inline elements when switching modes. Thanks to 
[dpidcock](https://github.com/dpidcock)!
+* [#14539](https://dev.ckeditor.com/ticket/14539): Fixed: JAWS reads "selected 
Blank" instead of "selected <widget name>" when selecting a widget.
+* [#14701](http://dev.ckeditor.com/ticket/14701): Fixed: More precise labels 
for [Enhanced Image](http://ckeditor.com/addon/image2) and 
[Placeholder](http://ckeditor.com/addon/placeholder) widgets.
+* [#14667](http://dev.ckeditor.com/ticket/14667): [IE] Fixed: Removing 
background color from selected text removes background color from the whole 
paragraph.
+* [#14252](http://dev.ckeditor.com/ticket/14252): [IE] Fixed: Styles drop-down 
list does not always reflect the current style of the text line.
+* [#14275](http://dev.ckeditor.com/ticket/14275): [IE9+] Fixed: `onerror` and 
`onload` events are not used in browsers it could have been used when loading 
scripts dynamically.
+
+## CKEditor 4.5.9
+
+Fixed Issues:
+
+* [#10685](http://dev.ckeditor.com/ticket/10685): Fixed: Unreadable toolbar 
icons after updating to the new editor version. Fixed with 
[6876179](https://github.com/ckeditor/ckeditor-dev/commit/6876179db4ee97e786b07b8fd72e6b4120732185)
 in [ckeditor-dev](https://github.com/ckeditor/ckeditor-dev) and 
[6c9189f4](https://github.com/ckeditor/ckeditor-presets/commit/6c9189f46392d2c126854fe8889b820b8c76d291)
 in [ckeditor-presets](https://github.com/ckeditor/ckeditor-presets).
+* [#14573](https://dev.ckeditor.com/ticket/14573): Fixed: Missing 
[Widget](http://ckeditor.com/addon/widget) drag handler CSS when there are 
multiple editor instances.
+* [#14620](https://dev.ckeditor.com/ticket/14620): Fixed: Setting both the 
`min-height` style for the `<body>` element and the `height` style for the 
`<html>` element breaks the [Auto Grow](http://ckeditor.com/addon/autogrow) 
plugin.
+* [#14538](http://dev.ckeditor.com/ticket/14538): Fixed: Keyboard focus goes 
into an embedded `<iframe>` element.
+* [#14602](http://dev.ckeditor.com/ticket/14602): Fixed: The 
[`dom.element.removeAttribute()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-removeAttribute)
 method does not remove all attributes if no parameter is given.
+* [#8679](http://dev.ckeditor.com/ticket/8679): Fixed: Better focus indication 
and ability to style the selected color in the [color picker 
dialog](http://ckeditor.com/addon/colordialog).
+* [#11697](http://dev.ckeditor.com/ticket/11697): Fixed: Content is replaced 
ignoring the letter case setting in the [Find and 
Replace](http://ckeditor.com/addon/find) dialog window.
+* [#13886](http://dev.ckeditor.com/ticket/13886): Fixed: Invalid handling of 
the [`CKEDITOR.style`](http://docs.ckeditor.com/#!/api/CKEDITOR.style) instance 
with the `styles` property by 
[`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter).
+* [#14535](http://dev.ckeditor.com/ticket/14535): Fixed: CSS syntax 
corrections. Thanks to [mdjdenormandie](https://github.com/mdjdenormandie)!
+
+## CKEditor 4.5.8
+
+New Features:
+
+* [#12440](http://dev.ckeditor.com/ticket/12440): Added the 
[`config.colorButton_enableAutomatic`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-colorButton_enableAutomatic)
 option to allow hiding the "Automatic" option in the [color 
picker](http://ckeditor.com/addon/colorbutton).
+
+Fixed Issues:
+
+* [#10448](http://dev.ckeditor.com/ticket/10448): Fixed: Lack of scrollbar in 
the [right-to-left text direction](http://ckeditor.com/addon/bidi).
+* [#12707](http://dev.ckeditor.com/ticket/12707): Fixed: The order of table 
elements does not comply with the HTML specification.
+* [#13756](http://dev.ckeditor.com/ticket/13756): [Edge] Fixed: Context menus 
are cut-off.
+
+## CKEditor 4.5.7
+
+New Features:
+
+* [#14327](http://dev.ckeditor.com/ticket/14327): Added Swiss German 
localization. Thanks to [Miro Grenda](https://twitter.com/mirogrenda)!
+
+Fixed Issues:
+
+* [#13816](http://dev.ckeditor.com/ticket/13816): Introduced a new strategy 
for Filling Character handling to avoid changes in DOM. This fixes the 
following issues:
+       * [#12727](http://dev.ckeditor.com/ticket/12727): [Blink] 
`IndexSizeError` when using the [Div Editing 
Area](http://ckeditor.com/addon/divarea) and [Content 
Templates](http://ckeditor.com/addon/templates) plugins.
+       * [#13377](http://dev.ckeditor.com/ticket/13377): 
[Widget](http://ckeditor.com/addon/widget) plugin issue when typing in Korean.
+       * [#13389](http://dev.ckeditor.com/ticket/13389): [Blink] 
[`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData)
 fails when the cursor is next to an `<hr>` tag.
+       * [#13513](http://dev.ckeditor.com/ticket/13513): [Blink, WebKit] [Div 
Editing Area](http://ckeditor.com/addon/divarea) and 
[`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData)
 throw an error when an image is the only data in the editor.
+* [#13884](http://dev.ckeditor.com/ticket/13884): [Firefox] Fixed: Copying and 
pasting a table results in just the first cell being pasted.
+* [#14234](http://dev.ckeditor.com/ticket/14234): Fixed: URL input field is 
not marked as required in the [Media Embed](http://ckeditor.com/addon/embed) 
dialog.
+
+## CKEditor 4.5.6
+
+New Features:
+
+* Introduced the 
[`CKEDITOR.tools.getCookie()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-getCookie)
 and 
[`CKEDITOR.tools.setCookie()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-setCookie)
 methods for accessing cookies.
+* Introduced the 
[`CKEDITOR.tools.getCsrfToken()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-getCsrfToken)
 method. The CSRF token is now automatically sent by the [File 
Browser](http://ckeditor.com/addon/filebrowser) and [File 
Tools](http://ckeditor.com/addon/filetools) plugins during file uploads. The 
server-side upload handlers may check it and use it to additionally secure the 
communication.
+
+Other Changes:
+
+* Updated [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type):
+       - New features:
+               - CKEditor [Language](http://ckeditor.com/addon/language) 
plugin support.
+               - CKEditor [Placeholder](http://ckeditor.com/addon/placeholder) 
plugin support.
+               - [Drag&Drop](http://sdk.ckeditor.com/samples/fileupload.html) 
support.
+               - **Experimental** 
[GRAYT](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-grayt_autoStartup) 
(Grammar As You Type) functionality.
+       - Fixed issues:
+               * 
[#98](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/98): 
SCAYT affects dialog double-click. Fixed in SCAYT core.
+               * 
[#102](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/102): 
SCAYT core performance enhancements.
+               * 
[#104](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/104): 
SCAYT's spans leak into the clipboard and after pasting.
+               * 
[#105](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/105): A 
JavaScript error fired in case of multiple instances of CKEditor on one page.
+               * 
[#107](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/107): 
SCAYT should not check non-editable parts of content.
+               * 
[#108](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/108): 
Latest SCAYT copies the ID of the editor element to the iframe.
+               * SCAYT stops working when CKEditor [Undo 
plugin](http://ckeditor.com/addon/undo) not enabled.
+               * Issue with pasting SCAYT markup in CKEditor.
+               * SCAYT stops working after pressing the *Cancel* button in the 
WSC dialog.
+
+## CKEditor 4.5.5
+
+Fixed Issues:
+
+* [#13887](https://dev.ckeditor.com/ticket/13887): Fixed: 
[Link](http://ckeditor.com/addon/link) plugin alters the `target` attribute 
value. Thanks to [SamZiemer](https://github.com/SamZiemer)!
+* [#12189](http://dev.ckeditor.com/ticket/12189): Fixed: The 
[Link](http://ckeditor.com/addon/link) plugin dialog does not display the 
subject of email links if the subject parameter is not lowercase.
+* [#9192](http://dev.ckeditor.com/ticket/9192): Fixed: An `undefined` string 
is appended to an email address added with the 
[Link](http://ckeditor.com/addon/link) plugin if subject and email body are 
empty and 
[`config.emailProtection`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-emailProtection)
 is set to `encode`.
+* [#13790](https://dev.ckeditor.com/ticket/13790): Fixed: It is not possible 
to destroy the editor `<iframe>` after the editor was detached from DOM. Thanks 
to [Stefan Rijnhart](https://github.com/StefanRijnhart)!
+* [#13803](https://dev.ckeditor.com/ticket/13803): Fixed: The editor cannot be 
destroyed before being fully initialized. Thanks to [Cyril 
Fluck](https://github.com/cyril-sf)!
+* [#13867](http://dev.ckeditor.com/ticket/13867): Fixed: CKEditor does not 
work when the `classList` polyfill is used.
+* [#13885](http://dev.ckeditor.com/ticket/13885): Fixed: [Enhanced 
Image](http://ckeditor.com/addon/image2) requires the 
[Link](http://ckeditor.com/addon/link) plugin to link an image.
+* [#13883](http://dev.ckeditor.com/ticket/13883): Fixed: Copying a table using 
the context menu strips off styles.
+* [#13872](http://dev.ckeditor.com/ticket/13872): Fixed: Cutting is possible 
in the 
[read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) 
mode.
+* [#12848](http://dev.ckeditor.com/ticket/12848): [Blink] Fixed: Opening the 
[Find and Replace](http://ckeditor.com/addon/find) dialog window in the 
[read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) 
mode throws an exception.
+* [#13879](http://dev.ckeditor.com/ticket/13879): Fixed: It is not possible to 
prevent the 
[`editor.drop`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-drop) 
event.
+* [#13361](http://dev.ckeditor.com/ticket/13361): Fixed: Skin images fail when 
the site path includes parentheses because the `background-image` path needs 
single quotes around the URL value.
+* [#13771](http://dev.ckeditor.com/ticket/13771): Fixed: The `contents.css` 
style is not used if the [IFrame Editing 
Area](http://ckeditor.com/addon/wysiwygarea) plugin is missing.
+* [#13782](http://dev.ckeditor.com/ticket/13782): Fixed: Unclear log messages.
+* [#13919](http://dev.ckeditor.com/ticket/13919): [Edge] Fixed: Browser window 
crashes when accessing the `isContentEditable` property of an `<input>` DOM 
element.
+
+Other Changes:
+
+* [#13859](http://dev.ckeditor.com/ticket/13859): Test cases created with 
`bender.tools.createTestsForEditors` will also receive editor bot as a second 
parameter.
+
+## CKEditor 4.5.4
+
+New Features:
+
+* [#13632](http://dev.ckeditor.com/ticket/13632): Introduce error logging 
mechanism.
+* [#13730](http://dev.ckeditor.com/ticket/13730): Switch to the new error 
logging mechanism.
+
+Fixed Issues:
+
+* [#9856](http://dev.ckeditor.com/ticket/9856): Fixed: Cannot use the native 
context menu together with the [Div Editing 
Area](http://ckeditor.com/addon/divarea) plugin. Thanks to [Mark 
Wade](https://github.com/mark-wade)!
+* [#12733](http://dev.ckeditor.com/ticket/12733): [IE9+] Fixed: Radio button 
`onChange` does not work. Thanks to [Iliya 
Kostadinov](https://github.com/iliyakostadinov)!
+* [#13142](http://dev.ckeditor.com/ticket/13142): [Edge] Fixed: *Ctrl+A* and 
then *Backspace* result in an empty `<div>` element.
+* [#13599](http://dev.ckeditor.com/ticket/13599): Fixed: Cross-editor drag and 
drop of an inline widget results in error/artifacts.
+* [#13640](http://dev.ckeditor.com/ticket/13640): [IE] Fixed: Dropping a 
widget outside the `<body>` element is not handled correctly.
+* [#13533](http://dev.ckeditor.com/ticket/13533): Fixed: No progress during 
upload.
+* [#13680](http://dev.ckeditor.com/ticket/13680): Fixed: The parser should 
allow the `<h1-6>` element to be a child of the `<summary>` element.
+* [#11724](http://dev.ckeditor.com/ticket/11724): [Touch devices] Fixed: 
Drop-downs often hide right after opening them.
+* [#13690](http://dev.ckeditor.com/ticket/13690): Fixed: Copying content from 
IE to Chrome adds an extra paragraph.
+* [#13284](http://dev.ckeditor.com/ticket/13284): Fixed: Cannot drag and drop 
a widget if the text caret is placed just after the widget instance.
+* [#13516](http://dev.ckeditor.com/ticket/13516): Fixed: CKEditor removes 
empty HTML5 anchors without the `name` attribute.
+* [#13765](http://dev.ckeditor.com/ticket/13765): [Safari 9] Fixed: Problems 
with rendering samples.
+
+Other Changes:
+
+* [#11725](http://dev.ckeditor.com/ticket/11725): Marked 
[`CKEDITOR.env.mobile`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-mobile)
 as deprecated. The reason is that it is no longer clear what "mobile" means.
+* [#13737](http://dev.ckeditor.com/ticket/13737): Upgraded 
[Bender.js](https://github.com/benderjs/benderjs) to 0.4.1.
+
+## CKEditor 4.5.3
+
+New Features:
+
+* [#13501](http://dev.ckeditor.com/ticket/13501): Added the 
[`config.fileTools_defaultFileName`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fileTools_defaultFileName)
 option to allow setting a default file name for paste uploads.
+* [#13603](http://dev.ckeditor.com/ticket/13603): Added support for uploading 
dropped BMP images.
+
+Fixed Issues:
+
+* [#13590](http://dev.ckeditor.com/ticket/13590): Fixed: Various issues 
related to the [Paste from Word](http://ckeditor.com/addon/pastefromword) 
feature. Fixes also:
+  * [#11215](http://dev.ckeditor.com/ticket/11215),
+  * [#8780](http://dev.ckeditor.com/ticket/8780),
+  * [#12762](http://dev.ckeditor.com/ticket/12762).
+* [#13386](http://dev.ckeditor.com/ticket/13386): [Edge] Fixed: Issues with 
selecting and editing images.
+* [#13568](http://dev.ckeditor.com/ticket/13568): Fixed: The 
[`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml)
 method returns invalid results for entire content selection.
+* [#13453](http://dev.ckeditor.com/ticket/13453): Fixed: Drag&drop of entire 
editor content throws an error.
+* [#13465](http://dev.ckeditor.com/ticket/13465): Fixed: Error is thrown and 
the widget is lost on drag&drop if it is the only content of the editor.
+* [#13414](http://dev.ckeditor.com/ticket/13414): Fixed: Content auto 
paragraphing in a nested editable despite editor configuration.
+* [#13429](http://dev.ckeditor.com/ticket/13429): Fixed: Incorrect selection 
after content insertion by the [Auto 
Embed](http://ckeditor.com/addon/autoembed) plugin.
+* [#13388](http://dev.ckeditor.com/ticket/13388): Fixed: [Table 
Resize](http://ckeditor.com/addon/tableresize) integration with 
[Undo](http://ckeditor.com/addon/undo) is broken.
+
+Other Changes:
+
+* [#13637](https://dev.ckeditor.com/ticket/13637): Several icons were 
refactored.
+* Updated [Bender.js](https://github.com/benderjs/benderjs) to 0.3.0 and 
introduced the ability to run tests via HTTPs 
([#13265](https://dev.ckeditor.com/ticket/13265)).
+
+## CKEditor 4.5.2
+
+Fixed Issues:
+
+* [#13609](http://dev.ckeditor.com/ticket/13609): [Edge] Fixed: The browser 
crashes when switching to the source mode. Thanks to [Andrew Williams and Mark 
Smeed](http://webxsolution.com/)!
+* [PR#201](https://github.com/ckeditor/ckeditor-dev/pull/201): Fixed: Buttons 
in the toolbar configurator cause form submission. Thanks to 
[colemanw](https://github.com/colemanw)!
+* [#13422](http://dev.ckeditor.com/ticket/13422): Fixed: A monospaced font 
should be used in the `<textarea>` element storing editor configuration in the 
toolbar configurator.
+* [#13494](http://dev.ckeditor.com/ticket/13494): Fixed: Error thrown in the 
toolbar configurator if plugin requirements are not met.
+* [#13409](http://dev.ckeditor.com/ticket/13409): Fixed: List elements 
incorrectly merged when pressing *Backspace* or *Delete*.
+* [#13434](http://dev.ckeditor.com/ticket/13434): Fixed: Dialog state 
indicator broken in Right–To–Left environments.
+* [#13460](http://dev.ckeditor.com/ticket/13460): [IE8] Fixed: Copying inline 
widgets is broken when [Advanced Content 
Filter](http://docs.ckeditor.com/#!/guide/dev_acf) is disabled.
+* [#13495](http://dev.ckeditor.com/ticket/13495): [Firefox, IE] Fixed: Text is 
not word-wrapped in the Paste dialog window.
+* [#13528](http://dev.ckeditor.com/ticket/13528): address@hidden Fixed: 
Content copied from Microsoft Word and other external applications is pasted as 
a plain text. Removed the 
`CKEDITOR.plugins.clipboard.isHtmlInExternalDataTransfer` property as the check 
must be dynamic.
+* [#13583](http://dev.ckeditor.com/ticket/13583): Fixed: 
[`DataTransfer.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer-method-getData)
 should work consistently in all browsers and should not strip valuable 
content. Fixed pasting tables from Microsoft Excel on Chrome.
+* [#13468](http://dev.ckeditor.com/ticket/13468): [IE] Fixed: Binding 
drag&drop `dataTransfer` does not work if `text` data was set in the meantime.
+* [#13451](http://dev.ckeditor.com/ticket/13451): [IE8-9] Fixed: One drag&drop 
operation may affect following ones.
+* [#13184](http://dev.ckeditor.com/ticket/13184): Fixed: Web page reloaded 
after a drop on editor UI.
+* [#13129](http://dev.ckeditor.com/ticket/13129) Fixed: Block widget blurred 
after a drop followed by an undo.
+* [#13397](http://dev.ckeditor.com/ticket/13397): Fixed: Drag&drop of a widget 
inside its nested widget crashes the editor.
+* [#13385](http://dev.ckeditor.com/ticket/13385): Fixed: 
[`editor.getSnapshot()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSnapshot)
 may return a non-string value.
+* [#13419](http://dev.ckeditor.com/ticket/13419): Fixed: The [Auto 
Link](http://ckeditor.com/addon/autolink) plugin does not encode double quotes 
in URLs.
+* [#13420](http://dev.ckeditor.com/ticket/13420): Fixed: The [Auto 
Embed](http://ckeditor.com/addon/autoembed) plugin ignores encoded characters 
in URL parameters.
+* [#13410](http://dev.ckeditor.com/ticket/13410): Fixed: Error thrown in the 
[Auto Embed](http://ckeditor.com/addon/autoembed) plugin when undoing right 
after pasting a link.
+* [#13566](http://dev.ckeditor.com/ticket/13566): Fixed: Suppressed 
notifications in the [Media Embed Base](http://ckeditor.com/addon/embedbase) 
plugin.
+* [#11616](http://dev.ckeditor.com/ticket/11616): [Chrome] Fixed: Resizing the 
editor while it is not displayed breaks the editable. Fixes also 
[#9160](http://dev.ckeditor.com/ticket/9160) and 
[#9715](http://dev.ckeditor.com/ticket/9715).
+* [#11376](http://dev.ckeditor.com/ticket/11376): [IE11] Fixed: Loss of text 
when pasting bulleted lists from Microsoft Word.
+* [#13143](http://dev.ckeditor.com/ticket/13143): [Edge] Fixed: Focus lost 
when opening the panel.
+* [#13387](http://dev.ckeditor.com/ticket/13387): [Edge] Fixed: "Permission 
denied" error thrown when loading the editor with developer tools open.
+* [#13574](http://dev.ckeditor.com/ticket/13574): [Edge] Fixed: "Permission 
denied" error thrown when opening editor dialog windows.
+* [#13441](http://dev.ckeditor.com/ticket/13441): [Edge] Fixed: The 
[Clipboard](http://ckeditor.com/addon/clipboard) plugin breaks the state of 
[Undo](http://ckeditor.com/addon/undo) commands after a paste.
+* [#13554](http://dev.ckeditor.com/ticket/13554): [Edge] Fixed: Paste dialog's 
iframe does not receive focus on show.
+* [#13440](http://dev.ckeditor.com/ticket/13440): [Edge] Fixed: Unable to 
paste a widget.
+
+Other Changes:
+
+* [#13421](http://dev.ckeditor.com/ticket/13421): UX improvements to 
notifications in the [Auto Embed](http://ckeditor.com/addon/autoembed) plugin.
+
+## CKEditor 4.5.1
+
+Fixed Issues:
+
+* [#13486](http://dev.ckeditor.com/ticket/13486): Fixed: The [Upload 
Image](http://ckeditor.com/addon/uploadimage) plugin should log an error, not 
throw an error when upload URL is not set.
+
+## CKEditor 4.5
+
+New Features:
+
+* [#13304](http://dev.ckeditor.com/ticket/13304): Added support for passing 
DOM elements to 
[`config.sharedSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-sharedSpaces).
 Thanks to [Undergrounder](https://github.com/Undergrounder)!
+* [#13215](http://dev.ckeditor.com/ticket/13215): Added ability to cancel 
fetching a resource by the Embed plugins.
+* [#13213](http://dev.ckeditor.com/ticket/13213): Added the 
[`dialog#setState()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog-method-setState)
 method and used it in the [Embed](http://ckeditor.com/addon/embed) dialog to 
indicate that a resource is being loaded.
+* [#13337](http://dev.ckeditor.com/ticket/13337): Added the 
[`repository.onWidget()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-onWidget)
 method &mdash; a convenient way to listen to 
[widget](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) events 
through the 
[repository](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository).
+* [#13214](http://dev.ckeditor.com/ticket/13214): Added support for pasting 
links that convert into embeddable resources on the fly.
+
+Fixed Issues:
+
+* [#13334](http://dev.ckeditor.com/ticket/13334): Fixed: Error after nesting 
widgets and playing with undo/redo.
+* [#13118](http://dev.ckeditor.com/ticket/13118): Fixed: The 
[`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml)
 method throws an error when called in the source mode.
+* [#13158](http://dev.ckeditor.com/ticket/13158): Fixed: Error after canceling 
a dialog when creating a widget.
+* [#13197](http://dev.ckeditor.com/ticket/13197): Fixed: Linked inline 
[Enhanced Image](http://ckeditor.com/addon/image2) alignment class is not 
transferred to the widget wrapper.
+* [#13199](http://dev.ckeditor.com/ticket/13199): Fixed: [Semantic 
Embed](http://ckeditor.com/addon/embedsemantic) does not support widget classes.
+* [#13003](http://dev.ckeditor.com/ticket/13003): Fixed: Anchors are uploaded 
when moving them by drag and drop.
+* [#13032](http://dev.ckeditor.com/ticket/13032): Fixed: When upload is done, 
notification update should be marked as important.
+* [#13300](http://dev.ckeditor.com/ticket/13300): Fixed: The `internalCommit` 
argument in the [Image](http://ckeditor.com/addon/image) dialog seems to be 
never used.
+* [#13036](http://dev.ckeditor.com/ticket/13036): Fixed: Notifications are 
moved 10px to the right.
+* [#13280](http://dev.ckeditor.com/ticket/13280): [IE8] Fixed: Undo after 
inline widget drag&drop throws an error.
+* [#13186](http://dev.ckeditor.com/ticket/13186): Fixed: Content dropped into 
a nested editable is not filtered by [Advanced Content 
Filter](http://docs.ckeditor.com/#!/guide/dev_acf).
+* [#13140](http://dev.ckeditor.com/ticket/13140): Fixed: Error thrown when 
dropping a block widget right after itself.
+* [#13176](http://dev.ckeditor.com/ticket/13176): [IE8] Fixed: Errors on 
drag&drop of embed widgets.
+* [#13015](http://dev.ckeditor.com/ticket/13015): Fixed: Dropping an image 
file on [Enhanced Image](http://ckeditor.com/addon/image2) causes a page reload.
+* [#13080](http://dev.ckeditor.com/ticket/13080): Fixed: Ugly notification 
shown when the response contains HTML content.
+* [#13011](http://dev.ckeditor.com/ticket/13011): [IE8] Fixed: Anchors are 
duplicated on drag&drop in specific locations.
+* [#13105](http://dev.ckeditor.com/ticket/13105): Fixed: Various issues 
related to 
[`CKEDITOR.tools.htmlEncode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlEncode)
 and 
[`CKEDITOR.tools.htmlDecode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlDecode)
 methods.
+* [#11976](http://dev.ckeditor.com/ticket/11976): [Chrome] Fixed: Copy&paste 
and drag&drop lists from Microsoft Word.
+* [#13128](http://dev.ckeditor.com/ticket/13128): Fixed: Various issues with 
cloning element IDs:
+  * Fixed the default behavior of 
[`range.cloneContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents)
 and 
[`range.extractContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents)
 methods which now clone IDs similarly to their native counterparts.
+  * Added `cloneId` arguments to the above methods, 
[`range.splitBlock()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-splitBlock)
 and 
[`element.breakParent()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-breakParent).
 Mind the default values and special behavior in the `extractContents()` method!
+  * Fixed issues where IDs were lost on copy&paste and drag&drop.
+* Toolbar configurators:
+  * [#13185](http://dev.ckeditor.com/ticket/13185): Fixed: Wrong position of 
the suggestion box if there is not enough space below the caret.
+  * [#13138](http://dev.ckeditor.com/ticket/13138): Fixed: The "Toggle empty 
elements" button label is unclear.
+  * [#13136](http://dev.ckeditor.com/ticket/13136): Fixed: Autocompleter is 
far too intrusive.
+  * [#13133](http://dev.ckeditor.com/ticket/13133): Fixed: Tab leaves the 
editor.
+  * [#13173](http://dev.ckeditor.com/ticket/13173): Fixed: 
[`config.removeButtons`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-removeButtons)
 is ignored by the advanced toolbar configurator.
+
+Other Changes:
+
+* [#13119](http://dev.ckeditor.com/ticket/13119): Improved compatibility of 
editor skins ([Moono](http://ckeditor.com/addon/moono) and 
[Kama](http://ckeditor.com/addon/kama)) with external web page style sheets.
+* Toolbar configurators:
+  * [#13147](http://dev.ckeditor.com/ticket/13147): Added buttons to the 
sticky toolbar.
+  * [#13207](http://dev.ckeditor.com/ticket/13207): Used modal window to 
display toolbar configurator help.
+* [#13316](http://dev.ckeditor.com/ticket/13316): Made 
[`CKEDITOR.env.isCompatible`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-isCompatible)
 a blacklist rather than a whitelist. More about the change in the [Browser 
Compatibility](http://docs.ckeditor.com/#!/guide/dev_browsers) guide.
+* [#13398](http://dev.ckeditor.com/ticket/13398): Renamed 
`CKEDITOR.fileTools.UploadsRepository` to 
[`CKEDITOR.fileTools.UploadRepository`](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadRepository)
 and changed all related properties.
+* [#13279](http://dev.ckeditor.com/ticket/13279): Reviewed CSS vendor prefixes.
+* [#13454](http://dev.ckeditor.com/ticket/13454): Removed unused 
`lang.image.alertUrl` token from the [Image](http://ckeditor.com/addon/image) 
plugin.
+
+## CKEditor 4.5 Beta
+
+New Features:
+
+* Clipboard (copy&paste, drag&drop) and file uploading features and 
improvements ([#11437](http://dev.ckeditor.com/ticket/11437)).
+
+  * Major features:
+    * Support for dropping and pasting files into the editor was introduced. 
Through a set of new facades for native APIs it is now possible to easily 
intercept and process inserted files.
+    * [File upload tools](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools) 
were introduced in order to simplify controlling the loading, uploading and 
handling server response, properly handle [new upload 
configuration](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-uploadUrl) 
options, etc.
+    * [Upload Image](http://ckeditor.com/addon/uploadimage) widget was 
introduced to upload dropped images. A base class for the [upload 
widget](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition)
 was exposed, too, to make it simple to create new types of upload widgets 
which can handle any type of dropped file, show the upload progress and update 
the content when the process is done. It also handles editing and undo/redo 
operations when a file is being uploaded and integrates with the [notification 
aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator)
 to show progress and success or error.
+    * All drag and drop operations were integrated with the editor. All 
dropped content is passed through the 
[`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) 
event and a set of new editor events was introduced &mdash; 
[`dragstart`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-dragstart), 
[`drop`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-drop), 
[`dragend`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-dragend).
+    * The [Data 
Transfer](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer)
 facade was introduced to unify access to data in various types and files. 
[Data 
Transfer](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer)
 is now always available in the 
[`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) 
event.
+    * Switched from the pastebin to using the native clipboard access whenever 
possible. This solved many issues related to pastebin such as unnecessary 
scrolling or data loss. Additionally, on copy and cut from the editor the 
clipboard data is set. Therefore, on paste the editor has access to clean data, 
undisturbed by the browsers.
+    * Drag and drop of inline and block widgets was integrated with the 
standard clipboard APIs. By listening to drag events you will thus be notified 
about widgets, too. This opens a possibility to filter pasted and dropped 
widgets.
+    * The 
[`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) 
event can have the `range` parameter so it is possible to change the paste 
position in the listener or paste in the not selectable position. Also the 
[`editor.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml)
 method now accepts `range` as an additional parameter.
+    * [#11621](http://dev.ckeditor.com/ticket/11621): A configurable [paste 
filter](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFilter) was 
introduced. The filter is by default turned to `'semantic-content'` on Webkit 
and Blink for all pasted content coming from external sources because of the 
low quality of HTML that these engines put into the clipboard. Internal and 
cross-editor paste is safe due to the change explained in the previous point.
+
+  * Other changes and related fixes:
+    * [#12095](http://dev.ckeditor.com/ticket/12095): On drag and copy of 
widgets [the same 
method](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) 
is used to get selected HTML as in the normal case. Thanks to that styles 
applied to inline widgets are not lost.
+    * [#11219](http://dev.ckeditor.com/ticket/11219): Fixed: Dragging a 
[captioned image](http://ckeditor.com/addon/image2) does not fire the 
[`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) 
event.
+    * [#9554](http://dev.ckeditor.com/ticket/9554): [Webkit Mac] Fixed: Editor 
scrolls on paste.
+    * [#9898](http://dev.ckeditor.com/ticket/9898): [Webkit&Divarea] Fixed: 
Pasting causes undesirable scrolling.
+    * [#11993](http://dev.ckeditor.com/ticket/11993): [Chrome] Fixed: Pasting 
content scrolls the document.
+    * [#12613](http://dev.ckeditor.com/ticket/12613): Show the user that they 
can not drop on editor UI (toolbar, bottom bar).
+    * [#12851](http://dev.ckeditor.com/ticket/12851): [Blink/Webkit] Fixed: 
Formatting disappears when pasting content into cells.
+    * [#12914](http://dev.ckeditor.com/ticket/12914): Fixed: Copy/Paste of 
table broken in `div`-based editor.
+
+  * Browser support.<br>Browser support for related features varies 
significantly (see http://caniuse.com/clipboard).
+    * File APIs needed to operate and file upload is not supported in Internet 
Explorer 9 and below.
+    * Only Chrome and Safari on Mac OS support setting custom data items in 
the clipboard, so currently it is possible to recognize the origin of the 
copied content in these browsers only. All drag and drop operations can be 
identified thanks to the new Data Transfer facade.
+    * No Internet Explorer browser supports the standard clipboard API which 
results in small glitches like where only plain text can be dropped from 
outside the editor. Thanks to the new Data Transfer facade, internal and 
cross-editor drag and drop supports the full range of data.
+    * Direct access to clipboard could only be implemented in Chrome, Safari 
on Mac OS, Opera and Firefox. In other browsers the pastebin must still be used.
+
+* [#12875](http://dev.ckeditor.com/ticket/12875): Samples and toolbar 
configuration tools.
+  * The old set of samples shipped with every CKEditor package was replaced 
with a shiny new single-page sample. This change concluded a long term plan 
which started from introducing the [CKEditor SDK](http://sdk.ckeditor.com/) and 
[CKEditor Functionality 
Overview](http://docs.ckeditor.com/#!/guide/dev_features) section in the 
documentation which essentially redefined the old samples.
+  * Toolbar configurators with live previews were introduced. They will be 
shipped with every CKEditor package and are meant to help in configuring 
toolbar layouts.
+
+* [#10925](http://dev.ckeditor.com/ticket/10925): The [Media 
Embed](http://ckeditor.com/addon/embed) and [Semantic Media 
Embed](http://ckeditor.com/addon/embedsemantic) plugins were introduced. Read 
more about the new features in the [Embedding 
Content](http://docs.ckeditor.com/#!/guide/dev_media_embed) article.
+* [#10931](http://dev.ckeditor.com/ticket/10931): Added support for nesting 
widgets. It is now possible to insert one widget into another widget's nested 
editable. Note that unless nested editable's [allowed 
content](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.nestedEditable.definition-property-allowedContent)
 is defined precisely, starting from CKEditor 4.5 some widget buttons may 
become enabled. This feature is not supported in IE8. Included issues:
+  * [#12018](http://dev.ckeditor.com/ticket/12018): Fixed and reviewed: Nested 
widgets garbage collection.
+  * [#12024](http://dev.ckeditor.com/ticket/12024): [Firefox] Fixed: Outline 
is extended to the left by unpositioned drag handlers.
+  * [#12006](http://dev.ckeditor.com/ticket/12006): Fixed: Drag and drop of 
nested block widgets.
+  * [#12008](http://dev.ckeditor.com/ticket/12008): Fixed various cases of 
inserting a single non-editable element using the 
[`editor.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml)
 method. Fixes pasting a widget with a nested editable inside another widget's 
nested editable.
+
+* Notification system:
+  * [#11580](http://dev.ckeditor.com/ticket/11580): Introduced the 
[notification 
system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification).
+  * [#12810](http://dev.ckeditor.com/ticket/12810): Introduced a [notification 
aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator)
 for the [notification 
system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification) which 
simplifies displaying progress of many concurrent tasks.
+* [#11636](http://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, 
methods for getting selected HTML and deleting it &mdash; 
[`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml)
 and 
[`editor.extractSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-extractSelectedHtml).
+* [#12416](http://dev.ckeditor.com/ticket/12416): Added the 
[`widget.definition.upcastPriority`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-upcastPriority)
 property which gives more control over widget upcasting order to the widget 
author.
+* [#12036](http://dev.ckeditor.com/ticket/12036): Initialize the editor in 
[read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) 
mode when the `<textarea>` element has a `readonly` attribute.
+* [#11905](http://dev.ckeditor.com/ticket/11905): The [`resize` 
event](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-resize) passes the 
current dimensions in its data.
+* [#12126](http://dev.ckeditor.com/ticket/12126): Introduced 
[`config.image_prefillDimensions`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image_prefillDimensions)
 and 
[`config.image2_prefillDimensions`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_prefillDimensions)
 to make pre-filling `width` and `height` configurable for the [Enhanced 
Image](http://ckeditor.com/addon/image2).
+* [#12746](http://dev.ckeditor.com/ticket/12746): Added a new configuration 
option to hide the [Enhanced Image](http://ckeditor.com/addon/image2) resizer.
+* [#12150](http://dev.ckeditor.com/ticket/12150): Exposed the 
[`getNestedEditable()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-static-method-getNestedEditable)
 and `is*` [widget 
helper](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) functions (see 
the static methods).
+* [#12448](http://dev.ckeditor.com/ticket/12448): Introduced the 
[`editable.insertHtmlIntoRange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertHtmlIntoRange)
 method.
+* [#12143](http://dev.ckeditor.com/ticket/12143): Added the 
[`config.floatSpacePreferRight`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-floatSpacePreferRight)
 configuration option that switches the alignment of the floating toolbar. 
Thanks to [InvisibleBacon](http://github.com/InvisibleBacon)!
+* [#10986](http://dev.ckeditor.com/ticket/10986): Added support for changing 
dialog input and textarea text directions by using the *Shift+Alt+Home/End* 
keystrokes. The direction is stored in the value of the input by prepending the 
[`\u202A`](http://unicode.org/cldr/utility/character.jsp?a=202A) or 
[`\u202B`](http://unicode.org/cldr/utility/character.jsp?a=202B) marker to it. 
Read more in the 
[documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog.definition.textInput-property-bidi).
 Thanks to [edithkk](https://github.com/edithkk)!
+* [#12770](http://dev.ckeditor.com/ticket/12770): Added support for passing 
[widget](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget)'s startup 
data as a widget command's argument. Thanks to [Rebrov 
Boris](https://github.com/zipp3r) and [Tieme van 
Veen](https://github.com/tiemevanveen)!
+* [#11583](http://dev.ckeditor.com/ticket/11583): Added support for the HTML5 
`required` attribute in various form elements. Thanks to [Steven 
Busse](https://github.com/sbusse)!
+
+Changes:
+
+* [#12858](http://dev.ckeditor.com/ticket/12858): Basic 
[Spartan](http://blogs.windows.com/bloggingwindows/2015/03/30/introducing-project-spartan-the-new-browser-built-for-windows-10/)
 browser compatibility. Full compatibility will be introduced later, because at 
the moment Spartan is still too unstable to be used for tests and we see many 
changes from version to version.
+* [#12948](http://dev.ckeditor.com/ticket/12948): The 
[`config.mathJaxLibrary`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-mathJaxLib)
 option does not default to the MathJax CDN any more. It needs to be configured 
to enable the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin 
now.
+* [#13069](http://dev.ckeditor.com/ticket/13069): Fixed inconsistencies 
between 
[`editable.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElement)
 and 
[`editable.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElement)
 when the `range` parameter is used. Now, the `editor.insertElement()` method 
works on a higher level, which means that it saves undo snapshots and sets the 
selection after insertion. Use the 
[`editable.insertElementIntoRange()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElementIntoRange)
 method directly for the pre 4.5 behavior of `editable.insertElement()`.
+* [#12870](http://dev.ckeditor.com/ticket/12870): Use 
[`editor.showNotification()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-showNotification)
 instead of `alert()` directly whenever possible. When the [Notification 
plugin](http://ckeditor.com/addon/notification) is loaded, the notification 
system is used automatically. Otherwise, the native `alert()` is displayed.
+* [#8024](http://dev.ckeditor.com/ticket/8024): Swapped behavior of the Split 
Cell Vertically and Horizontally features of the [Table 
Tools](http://ckeditor.com/addon/tabletools) plugin to be more intuitive. 
Thanks to [kevinisagit](https://github.com/kevinisagit)!
+* [#10903](http://dev.ckeditor.com/ticket/10903): Performance improvements for 
the 
[`dom.element.addClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-addClass),
 
[`dom.element.removeClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-removeClass)
 and 
[`dom.element.hasClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-hasClass)
 methods. Note: The previous implementation allowed passing multiple classes to 
`addClass()` although it was only a side effect of that implementation. The new 
implementation does not allow this.
+* [#11856](http://dev.ckeditor.com/ticket/11856): The jQuery adapter throws a 
meaningful error if CKEditor or jQuery are not loaded.
+
+Fixed issues:
+
+* [#11586](http://dev.ckeditor.com/ticket/11586): Fixed: 
[`range.cloneContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents)
 should not change the DOM in order not to affect selection.
+* [#12148](http://dev.ckeditor.com/ticket/12148): Fixed: 
[`dom.element.getChild()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-getChild)
 should not modify a passed array.
+* [#12503](http://dev.ckeditor.com/ticket/12503): [Blink/Webkit] Fixed: 
Incorrect result of Select All and *Backspace* or *Delete*.
+* [#13001](http://dev.ckeditor.com/ticket/13001): [Firefox] Fixed: The `<br 
/>` filler is placed in the wrong position by the 
[`range.fixBlock()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-fixBlock)
 method due to quirky Firefox behavior.
+* [#13101](http://dev.ckeditor.com/ticket/13101): [IE8] Fixed: Colons are 
prepended to HTML5 element names when cloning them.
+
+## CKEditor 4.4.8
+
+**Security Updates:**
+
+* Fixed XSS vulnerability in the HTML parser reported by [Dheeraj 
Joshi](https://twitter.com/dheerajhere) and [Prem 
Kumar](https://twitter.com/iAmPr3m).
+
+       Issue summary: It was possible to execute XSS inside CKEditor after 
persuading the victim to: (i) switch CKEditor to source mode, then (ii) paste a 
specially crafted HTML code, prepared by the attacker, into the opened CKEditor 
source area, and (iii) switch back to WYSIWYG mode.
+
+**An upgrade is highly recommended!**
+
+Fixed Issues:
+
+* [#12899](http://dev.ckeditor.com/ticket/12899): Fixed: Corrected wrong tag 
ending for horizontal box definition in the [Dialog User 
Interface](http://ckeditor.com/addon/dialogui) plugin. Thanks to 
[mizafish](https://github.com/mizafish)!
+* [#13254](http://dev.ckeditor.com/ticket/13254): Fixed: Cannot outdent block 
after indent when using the [Div Editing 
Area](http://ckeditor.com/addon/divarea) plugin. Thanks to [Jonathan 
Cottrill](https://github.com/jcttrll)!
+* [#13268](http://dev.ckeditor.com/ticket/13268): Fixed: Documentation for 
[`CKEDITOR.dom.text`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.text) is 
incorrect. Thanks to [Ben Kiefer](https://github.com/benkiefer)!
+* [#12739](http://dev.ckeditor.com/ticket/12739): Fixed: Link loses inline 
styles when edited without the [Advanced Tab for 
Dialogs](http://ckeditor.com/addon/dialogadvtab) plugin. Thanks to [Віталій 
Крутько](https://github.com/asmforce)!
+* [#13292](http://dev.ckeditor.com/ticket/13292): Fixed: Protection pattern 
does not work in attribute in self-closing elements with no space before `/>`. 
Thanks to [Віталій Крутько](https://github.com/asmforce)!
+* [PR#192](https://github.com/ckeditor/ckeditor-dev/pull/192): Fixed: Variable 
name typo in the [Dialog User Interface](http://ckeditor.com/addon/dialogui) 
plugin which caused 
[`CKEDITOR.ui.dialog.radio`](http://docs.ckeditor.com/#!/api/CKEDITOR.ui.dialog.radio)
 validation to not work. Thanks to [Florian 
Ludwig](https://github.com/FlorianLudwig)!
+* [#13232](http://dev.ckeditor.com/ticket/13232): [Safari] Fixed: The 
[`element.appendText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-appendText)
 method does not work properly for empty elements.
+* [#13233](http://dev.ckeditor.com/ticket/13233): Fixed: 
[HTMLDataProcessor](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor) 
can process `foo:href` attributes.
+* [#12796](http://dev.ckeditor.com/ticket/12796): Fixed: The [Indent 
List](http://ckeditor.com/addon/indentlist) plugin unwraps parent `<li>` 
elements. Thanks to [Andrew Stucki](https://github.com/andrewstucki)!
+* [#12885](http://dev.ckeditor.com/ticket/12885): Added missing 
[`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData)
 parameter documentation.
+* [#11982](http://dev.ckeditor.com/ticket/11982): Fixed: Bullet added in a 
wrong position after the *Enter* key is pressed in a nested list.
+* [#13027](http://dev.ckeditor.com/ticket/13027): Fixed: Keyboard navigation 
in dialog windows with multiple tabs not following IBM CI 162 instructions or 
[ARIA Authoring 
Practices](http://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/#tabpanel).
+* [#12256](http://dev.ckeditor.com/ticket/12256): Fixed: Basic styles classes 
are lost when pasting from Microsoft Word if [basic 
styles](http://ckeditor.com/addon/basicstyles) were configured to use classes.
+* [#12729](http://dev.ckeditor.com/ticket/12729): Fixed: Incorrect structure 
created when merging a block into a list item on *Backspace* and *Delete*.
+* [#13031](http://dev.ckeditor.com/ticket/13031): [Firefox] Fixed: No more 
line breaks in source view since Firefox 36.
+* [#13131](http://dev.ckeditor.com/ticket/13131): Fixed: The [Code 
Snippet](http://ckeditor.com/addon/codesnippet) plugin cannot be used without 
the [IFrame Editing Area](http://ckeditor.com/addon/wysiwygarea) plugin.
+* [#9086](http://dev.ckeditor.com/ticket/9086): Fixed: Invalid ARIA property 
used on paste area `<iframe>`.
+* [#13164](http://dev.ckeditor.com/ticket/13164): Fixed: Error when inserting 
a hidden field.
+* [#13155](http://dev.ckeditor.com/ticket/13155): Fixed: Incorrect [Line 
Utilities](http://ckeditor.com/addon/lineutils) positioning when `<body>` has a 
margin.
+* [#13351](http://dev.ckeditor.com/ticket/13351): Fixed: Link lost when 
editing a linked image with the Link tab disabled. This also fixed a bug when 
inserting an image into a fully selected link would throw an error 
([#12847](https://dev.ckeditor.com/ticket/12847)).
+* [#13344](http://dev.ckeditor.com/ticket/13344): [WebKit/Blink] Fixed: It is 
possible to remove or change editor content in [read-only 
mode](http://docs.ckeditor.com/#!/guide/dev_readonly).
+
+Other Changes:
+
+* [#12844](http://dev.ckeditor.com/ticket/12844) and 
[#13103](http://dev.ckeditor.com/ticket/13103): Upgraded the [testing 
environment](http://docs.ckeditor.com/#!/guide/dev_tests) to 
[Bender.js](https://github.com/benderjs/benderjs) `0.2.3`.
+* [#12930](http://dev.ckeditor.com/ticket/12930): Because of licensing issues, 
`truncated-mathjax/` is now removed from the `tests/` directory. Now 
`bender.config.mathJaxLibPath` must be configured manually in order to run 
[Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin tests.
+* [#13266](http://dev.ckeditor.com/ticket/13266): Added more shades of gray in 
the [Color Dialog](http://ckeditor.com/addon/colordialog) window. Thanks to 
[mizafish](https://github.com/mizafish)!
+
+
 ## CKEditor 4.4.7
 
 Fixed Issues:
@@ -11,7 +623,7 @@
 * [#12812](http://dev.ckeditor.com/ticket/12812): Fixed: An uncaught security 
exception is thrown when [Line Utilities](http://ckeditor.com/addon/lineutils) 
are used in an inline editor loaded in a cross-domain `iframe`. Thanks to 
[Vitaliy Zurian](https://github.com/thecatontheflat)!
 * [#12735](http://dev.ckeditor.com/ticket/12735): Fixed: 
[`config.fillEmptyBlocks`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks)
 should only apply when outputting data.
 * [#10032](http://dev.ckeditor.com/ticket/10032): Fixed: [Paste from 
Word](http://ckeditor.com/addon/pastefromword) filter is executed for every 
paste after using the button.
-* [#12597](http://dev.ckeditor.com/ticket/12597): [Blink/Webkit] Fixed: 
Multi-byte Japanese characters entry not working properly after *Shift+Enter*.
+* [#12597](http://dev.ckeditor.com/ticket/12597): [Blink/WebKit] Fixed: 
Multi-byte Japanese characters entry not working properly after *Shift+Enter*.
 * [#12387](http://dev.ckeditor.com/ticket/12387): Fixed: An error is thrown if 
a skin does not have the 
[`chameleon`](http://docs.ckeditor.com/#!/api/CKEDITOR.skin-method-chameleon) 
property defined and 
[`config.uiColor`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-uiColor) 
is defined.
 * [#12747](http://dev.ckeditor.com/ticket/12747): [IE8-10] Fixed: Opening a 
drop-down for a specific selection when the editor is maximized results in 
incorrect drop-down panel position.
 * [#12850](http://dev.ckeditor.com/ticket/12850): [IEQM] Fixed: An error is 
thrown after focusing the editor.
@@ -44,7 +656,7 @@
 * [#12300](http://dev.ckeditor.com/ticket/12300): Fixed: The 
[`editor.change`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) 
event fired on first navigation key press after typing.
 * [#12141](http://dev.ckeditor.com/ticket/12141): Fixed: List items are lost 
when indenting a list item with content wrapped with a block element.
 * [#12515](http://dev.ckeditor.com/ticket/12515): Fixed: Cursor is in the 
wrong position when undoing after adding an image and typing some text.
-* [#12484](http://dev.ckeditor.com/ticket/12484): [Blink/Webkit] Fixed: DOM is 
changed outside the editor area in a certain case.
+* [#12484](http://dev.ckeditor.com/ticket/12484): [Blink/WebKit] Fixed: DOM is 
changed outside the editor area in a certain case.
 * [#12688](http://dev.ckeditor.com/ticket/12688): Improved the tests of the 
[styles system](http://docs.ckeditor.com/#!/api/CKEDITOR.style) and fixed two 
minor issues.
 * [#12403](http://dev.ckeditor.com/ticket/12403): Fixed: Changing the 
[font](http://ckeditor.com/addon/font) style should not lead to nesting it in 
the previous style element.
 * [#12609](http://dev.ckeditor.com/ticket/12609): Fixed: Incorrect 
`config.magicline_putEverywhere` name used for a [Magic 
Line](http://ckeditor.com/addon/magicline) all-encompassing 
[`config.magicline_everywhere`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-magicline_everywhere)
 configuration option.
@@ -176,8 +788,8 @@
 
 Fixed Issues:
 
-* [#11861](http://dev.ckeditor.com/ticket/11861): [Webkit/Blink] Fixed: Span 
elements created while joining adjacent elements. **Note:** This patch only 
covers cases when *Backspace* or *Delete* is pressed on a collapsed (empty) 
selection. The remaining case, with a non-empty selection, will be fixed in the 
next release.
-* [#10714](http://dev.ckeditor.com/ticket/10714): [iOS] Fixed: Selection and 
drop-downs are broken if a touch event listener is used due to a [Webkit 
bug](https://bugs.webkit.org/show_bug.cgi?id=128924). Thanks to [Arty 
Gus](https://github.com/artygus)!
+* [#11861](http://dev.ckeditor.com/ticket/11861): [WebKit/Blink] Fixed: Span 
elements created while joining adjacent elements. **Note:** This patch only 
covers cases when *Backspace* or *Delete* is pressed on a collapsed (empty) 
selection. The remaining case, with a non-empty selection, will be fixed in the 
next release.
+* [#10714](http://dev.ckeditor.com/ticket/10714): [iOS] Fixed: Selection and 
drop-downs are broken if a touch event listener is used due to a [WebKit 
bug](https://bugs.webkit.org/show_bug.cgi?id=128924). Thanks to [Arty 
Gus](https://github.com/artygus)!
 * [#11911](http://dev.ckeditor.com/ticket/11911): Fixed setting the `dir` 
attribute for a preloaded language in 
[CKEDITOR.lang](http://docs.ckeditor.com/#!/api/CKEDITOR.lang). Thanks to 
[Akash Mohapatra](https://github.com/akashmohapatra)!
 * [#11926](http://dev.ckeditor.com/ticket/11926): Fixed: [Code 
Snippet](http://ckeditor.com/addon/codesnippet) does not decode HTML entities 
when loading code from the `<code>` element.
 * [#11223](http://dev.ckeditor.com/ticket/11223): Fixed: Issue when [Protected 
Source](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-protectedSource) 
was not working in the `<title>` element.
@@ -190,7 +802,7 @@
 * [#11813](http://dev.ckeditor.com/ticket/11813): Fixed: Link lost while 
pasting a captioned image and restoring an undo snapshot ([Enhanced 
Image](http://ckeditor.com/addon/image2)).
 * [#11814](http://dev.ckeditor.com/ticket/11814): Fixed: _Link_ and _Unlink_ 
entries persistently displayed in the [Enhanced 
Image](http://ckeditor.com/addon/image2) context menu.
 * [#11839](http://dev.ckeditor.com/ticket/11839): [IE9] Fixed: The caret jumps 
out of the editable area when resizing the editor in the source mode.
-* [#11822](http://dev.ckeditor.com/ticket/11822): [Webkit] Fixed: Editing 
anchors by double-click is broken in some cases.
+* [#11822](http://dev.ckeditor.com/ticket/11822): [WebKit] Fixed: Editing 
anchors by double-click is broken in some cases.
 * [#11823](http://dev.ckeditor.com/ticket/11823): [IE8] Fixed: [Table 
Resize](http://ckeditor.com/addon/tableresize) throws an error over scrollbar.
 * [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: It is not possible to 
change the language back to _Not set_ in the [Code 
Snippet](http://ckeditor.com/addon/codesnippet) dialog window.
 * [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: 
[Filter](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter) rules are 
not applied inside elements with the `contenteditable` attribute set to `true`.
@@ -283,7 +895,7 @@
 
 Fixed Issues:
 
-* [#11500](http://dev.ckeditor.com/ticket/11500): [Webkit/Blink] Fixed: 
Selection lost when setting data in another inline editor. Additionally, 
[`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges)
 is now scoped to selection's 
[root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root).
+* [#11500](http://dev.ckeditor.com/ticket/11500): [WebKit/Blink] Fixed: 
Selection lost when setting data in another inline editor. Additionally, 
[`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges)
 is now scoped to selection's 
[root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root).
 * [#11104](http://dev.ckeditor.com/ticket/11104): [IE] Fixed: Various issues 
with scrolling and selection when focusing widgets.
 * [#11487](http://dev.ckeditor.com/ticket/11487): Moving mouse over the 
[Enhanced Image](http://ckeditor.com/addon/image2) widget will no longer change 
the value returned by the 
[`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty)
 method.
 * [#8673](http://dev.ckeditor.com/ticket/8673): [WebKit] Fixed: Cannot select 
and remove the [Page Break](http://ckeditor.com/addon/pagebreak).

Modified: trunk/phpgwapi/js/ckeditor/LICENSE.md
===================================================================
--- trunk/phpgwapi/js/ckeditor/LICENSE.md       2017-09-10 13:53:33 UTC (rev 
17047)
+++ trunk/phpgwapi/js/ckeditor/LICENSE.md       2017-09-10 20:43:27 UTC (rev 
17048)
@@ -2,7 +2,7 @@
 ==========================
 
 CKEditor - The text editor for Internet - http://ckeditor.com
-Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 
 Licensed under the terms of any of the following licenses at your
 choice:
@@ -35,6 +35,26 @@
 property. In some specific instances, CKEditor will incorporate work
 done by developers outside of CKSource with their express permission.
 
+The following libraries are included in CKEditor under the MIT license (see 
Appendix D):
+
+* CKSource Samples Framework (included in the samples) - Copyright (c) 
2014-2017, CKSource - Frederico Knabben.
+* PicoModal (included in `samples/js/sf.js`) - Copyright (c) 2012 James Frasca.
+* CodeMirror (included in the samples) - Copyright (C) 2014 by Marijn 
Haverbeke <address@hidden> and others.
+
+Parts of code taken from the following libraries are included in CKEditor 
under the MIT license (see Appendix D):
+
+* jQuery (inspired the domReady function, ckeditor_base.js) - Copyright (c) 
2011 John Resig, http://jquery.com/
+
+The following libraries are included in CKEditor under the SIL Open Font 
License, Version 1.1 (see Appendix E):
+
+* Font Awesome (included in the toolbar configurator) - Copyright (C) 2012 by 
Dave Gandy.
+
+The following libraries are included in CKEditor under the BSD-3 License (see 
Appendix F):
+
+* highlight.js (included in the `codesnippet` plugin) - Copyright (c) 2006, 
Ivan Sagalaev.
+* YUI Library (included in the `uicolor` plugin) - Copyright (c) 2009, Yahoo! 
Inc.
+
+
 Trademarks
 ----------
 
@@ -47,6 +67,7 @@
 Appendix A: The GPL License
 ---------------------------
 
+```
 GNU GENERAL PUBLIC LICENSE
 Version 2, June 1991
 
@@ -327,11 +348,12 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 END OF TERMS AND CONDITIONS
+```
 
-
 Appendix B: The LGPL License
 ----------------------------
 
+```
 GNU LESSER GENERAL PUBLIC LICENSE
 Version 2.1, February 1999
 
@@ -790,11 +812,12 @@
 DAMAGES.
 
 END OF TERMS AND CONDITIONS
+```
 
-
 Appendix C: The MPL License
 ---------------------------
 
+```
 MOZILLA PUBLIC LICENSE
 Version 1.1
 
@@ -1262,3 +1285,136 @@
      the notices in the Source Code files of the Original Code. You should
      use the text of this Exhibit A rather than the text found in the
      Original Code Source Code for Your Modifications.]
+```
+
+Appendix D: The MIT License
+---------------------------
+
+```
+The MIT License (MIT)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+```
+
+Appendix E: The SIL Open Font License Version 1.1
+---------------------------------------------
+
+```
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+```
+
+Appendix F: The BSD-3 License
+-----------------------------
+
+```
+Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, 
this list of conditions and the following disclaimer in the documentation 
and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors 
may be used to endorse or promote products derived from this software without 
specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+```
+

Modified: trunk/phpgwapi/js/ckeditor/README.md
===================================================================
--- trunk/phpgwapi/js/ckeditor/README.md        2017-09-10 13:53:33 UTC (rev 
17047)
+++ trunk/phpgwapi/js/ckeditor/README.md        2017-09-10 20:43:27 UTC (rev 
17048)
@@ -1,7 +1,7 @@
 CKEditor 4
 ==========
 
-Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.  
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 http://ckeditor.com - See LICENSE.md for license information.
 
 CKEditor is a text editor to be used inside web pages. It's not a replacement

Modified: trunk/phpgwapi/js/ckeditor/adapters/jquery.js
===================================================================
--- trunk/phpgwapi/js/ckeditor/adapters/jquery.js       2017-09-10 13:53:33 UTC 
(rev 17047)
+++ trunk/phpgwapi/js/ckeditor/adapters/jquery.js       2017-09-10 20:43:27 UTC 
(rev 17048)
@@ -1,10 +1,10 @@
 /*
- Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+ Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-(function(a){CKEDITOR.config.jqueryOverrideVal="undefined"==typeof 
CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;"undefined"!=typeof
 a&&(a.extend(a.fn,{ckeditorGet:function(){var 
a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized 
yet, use ckeditor() with a callback.";return 
a},ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The 
environment is incompatible.");if(!a.isFunction(g))var k=d,d=g,g=k;var 
i=[],d=d||{};this.each(function(){var b=
-a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,j=new
 a.Deferred;i.push(j.promise());if(c&&!f)g&&g.apply(c,[this]),j.resolve();else 
if(f)c.once("instanceReady",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),j.resolve()):setTimeout(arguments.callee,100)},0)},null,null,9999);else{if(d.autoUpdateElement||"undefined"==typeof
 
d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",
-!0);c=a(this).is("textarea")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data("ckeditorInstance",c);c.on("instanceReady",function(d){var
 
e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on("dataReady",function(){b.trigger("dataReady.ckeditor",[e])});e.on("setData",function(a){b.trigger("setData.ckeditor",[e,a.data])});e.on("getData",function(a){b.trigger("getData.ckeditor",[e,a.data])},999);e.on("destroy",function(){b.trigger("destroy.ckeditor",[e])});e.on("save",function(){a(h.form).submit();
-return!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var
 
c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind("form-pre-serialize",c);b.bind("destroy.ckeditor",function(){a(h.form).unbind("submit",c);a(h.form).unbind("form-pre-serialize",c)})}e.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[e]);g&&g.apply(e,[h]);j.resolve()}else
 setTimeout(arguments.callee,
-100)},0)},null,null,9999)}});var f=new 
a.Deferred;this.promise=f.promise();a.when.apply(this,i).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return
 
this}}),CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return
 function(d){if(arguments.length){var k=this,i=[],f=this.each(function(){var 
b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new 
a.Deferred;c.setData(d,function(){f.resolve()});i.push(f.promise());
-return!0}return g.call(b,d)});if(i.length){var b=new 
a.Deferred;a.when.apply(this,i).done(function(){b.resolveWith(k)});return 
b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return 
f.is("textarea")&&c?c.getData():g.call(f)}})))})(window.jQuery);
\ No newline at end of file
+(function(a){if("undefined"==typeof a)throw Error("jQuery should be loaded 
before CKEditor jQuery adapter.");if("undefined"==typeof CKEDITOR)throw 
Error("CKEditor should be loaded before CKEditor jQuery 
adapter.");CKEDITOR.config.jqueryOverrideVal="undefined"==typeof 
CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;a.extend(a.fn,{ckeditorGet:function(){var
 a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized 
yet, use ckeditor() with a callback.";return a},
+ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The 
environment is incompatible.");if(!a.isFunction(g)){var m=d;d=g;g=m}var 
k=[];d=d||{};this.each(function(){var 
b=a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,l=new
 a.Deferred;k.push(l.promise());if(c&&!f)g&&g.apply(c,[this]),l.resolve();else 
if(f)c.once("instanceReady",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),l.resolve()):setTimeout(arguments.callee,100)},0)},
+null,null,9999);else{if(d.autoUpdateElement||"undefined"==typeof 
d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",!0);c=a(this).is("textarea")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data("ckeditorInstance",c);c.on("instanceReady",function(d){var
 
e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on("dataReady",function(){b.trigger("dataReady.ckeditor",[e])});e.on("setData",function(a){b.trigger("setData.ckeditor",
+[e,a.data])});e.on("getData",function(a){b.trigger("getData.ckeditor",[e,a.data])},999);e.on("destroy",function(){b.trigger("destroy.ckeditor",[e])});e.on("save",function(){a(h.form).submit();return!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var
 
c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind("form-pre-serialize",c);b.bind("destroy.ckeditor",function(){a(h.form).unbind("submit",c);a(h.form).unbind("form-pre-serialize",
+c)})}e.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[e]);g&&g.apply(e,[h]);l.resolve()}else
 setTimeout(arguments.callee,100)},0)},null,null,9999)}});var f=new 
a.Deferred;this.promise=f.promise();a.when.apply(this,k).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return
 
this}});CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return
 function(d){if(arguments.length){var m=
+this,k=[],f=this.each(function(){var 
b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new 
a.Deferred;c.setData(d,function(){f.resolve()});k.push(f.promise());return!0}return
 g.call(b,d)});if(k.length){var b=new 
a.Deferred;a.when.apply(this,k).done(function(){b.resolveWith(m)});return 
b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return 
f.is("textarea")&&c?c.getData():g.call(f)}}))})(window.jQuery);
\ No newline at end of file

Modified: trunk/phpgwapi/js/ckeditor/build-config.js
===================================================================
--- trunk/phpgwapi/js/ckeditor/build-config.js  2017-09-10 13:53:33 UTC (rev 
17047)
+++ trunk/phpgwapi/js/ckeditor/build-config.js  2017-09-10 20:43:27 UTC (rev 
17048)
@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights 
reserved.
+ * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights 
reserved.
  * For licensing, see LICENSE.md or http://ckeditor.com/license
  */
 
@@ -13,10 +13,10 @@
  * (1) http://ckeditor.com/builder
  *     Visit online builder to build CKEditor from scratch.
  *
- * (2) http://ckeditor.com/builder/e41bccb8290b6d530f8478ddafe95c48
+ * (2) http://ckeditor.com/builder/3f95a5ecef134abe92feb6c0fadc2533
  *     Visit online builder to build CKEditor, starting with the same setup as 
before.
  *
- * (3) http://ckeditor.com/builder/download/e41bccb8290b6d530f8478ddafe95c48
+ * (3) http://ckeditor.com/builder/download/3f95a5ecef134abe92feb6c0fadc2533
  *     Straight download link to the latest version of CKEditor (Optimized) 
with the same setup as before.
  *
  * NOTE:
@@ -25,27 +25,29 @@
  */
 
 var CKBUILDER_CONFIG = {
-       skin: 'moono',
+       skin: 'moono-lisa',
        preset: 'standard',
        ignore: [
-               '.bender',
-               'bender.js',
-               'bender-err.log',
-               'bender-out.log',
-               'dev',
                '.DS_Store',
+               '.bender',
                '.editorconfig',
                '.gitattributes',
                '.gitignore',
-               'gruntfile.js',
                '.idea',
                '.jscsrc',
                '.jshintignore',
                '.jshintrc',
                '.mailmap',
+               '.travis.yml',
+               'bender-err.log',
+               'bender-out.log',
+               'bender.ci.js',
+               'bender.js',
+               'dev',
+               'gruntfile.js',
+               'less',
                'node_modules',
                'package.json',
-               'README.md',
                'tests'
        ],
        plugins : {
@@ -80,6 +82,7 @@
                'stylescombo' : 1,
                'tab' : 1,
                'table' : 1,
+               'tableselection' : 1,
                'tabletools' : 1,
                'toolbar' : 1,
                'undo' : 1,
@@ -89,6 +92,7 @@
        languages : {
                'af' : 1,
                'ar' : 1,
+               'az' : 1,
                'bg' : 1,
                'bn' : 1,
                'bs' : 1,
@@ -97,6 +101,7 @@
                'cy' : 1,
                'da' : 1,
                'de' : 1,
+               'de-ch' : 1,
                'el' : 1,
                'en' : 1,
                'en-au' : 1,
@@ -104,6 +109,7 @@
                'en-gb' : 1,
                'eo' : 1,
                'es' : 1,
+               'es-mx' : 1,
                'et' : 1,
                'eu' : 1,
                'fa' : 1,
@@ -133,6 +139,7 @@
                'nb' : 1,
                'nl' : 1,
                'no' : 1,
+               'oc' : 1,
                'pl' : 1,
                'pt' : 1,
                'pt-br' : 1,

Modified: trunk/phpgwapi/js/ckeditor/ckeditor.js
===================================================================
--- trunk/phpgwapi/js/ckeditor/ckeditor.js      2017-09-10 13:53:33 UTC (rev 
17047)
+++ trunk/phpgwapi/js/ckeditor/ckeditor.js      2017-09-10 20:43:27 UTC (rev 
17048)
@@ -1,946 +1,1086 @@
 /*
-Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license
 */
-(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var
 
a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,f={timestamp:"F0RD",version:"4.4.7",revision:"3a35b3d",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var
 e=window.CKEDITOR_BASEPATH||"";if(!e)for(var 
d=document.getElementsByTagName("script"),c=0;c<d.length;c++){var 
b=d[c].src.match(a);if(b){e=b[1];break}}-1==e.indexOf(":/")&&"//"!=e.slice(0,2)&&(e=0===e.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+
-e:location.href.match(/^[^\?]*\/(?:)/)[0]+e);if(!e)throw'The CKEditor 
installation path could not be automatically detected. Please set the global 
variable "CKEDITOR_BASEPATH" before creating editor instances.';return 
e}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&("/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a))&&(a+=(0<=a.indexOf("?")?"&":"?")+"t="+this.timestamp);return
 a},domReady:function(){function 
a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded",
-a,!1),d()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),d())}catch(c){}}function
 d(){for(var a;a=c.shift();)a()}var c=[];return function(d){function 
b(){try{document.documentElement.doScroll("left")}catch(m){setTimeout(b,1);return}a()}c.push(d);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else
 if(document.attachEvent){document.attachEvent("onreadystatechange",
-a);window.attachEvent("onload",a);d=!1;try{d=!window.frameElement}catch(f){}document.documentElement.doScroll&&d&&b()}}}()},b=window.CKEDITOR_GETURL;if(b){var
 c=f.getUrl;f.getUrl=function(a){return b.call(f,a)||c.call(f,a)}}return f}());
-CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var
 f=CKEDITOR.event.prototype,b;for(b in 
f)a[b]==null&&(a[b]=f[b])},CKEDITOR.event.prototype=function(){function 
a(a){var e=f(this);return e[a]||(e[a]=new b(a))}var 
f=function(a){a=a.getPrivate&&a.getPrivate()||a._||(a._={});return 
a.events||(a.events={})},b=function(a){this.name=a;this.listeners=[]};b.prototype={getListenerIndex:function(a){for(var
 e=0,d=this.listeners;e<d.length;e++)if(d[e].fn==a)return e;return-1}};
-return{define:function(b,e){var 
d=a.call(this,b);CKEDITOR.tools.extend(d,e,true)},on:function(b,e,d,f,k){function
 
j(a,m,y,s){a={name:b,sender:this,editor:a,data:m,listenerData:f,stop:y,cancel:s,removeListener:g};return
 e.call(d,a)===false?false:a.data}function g(){y.removeListener(b,e)}var 
m=a.call(this,b);if(m.getListenerIndex(e)<0){m=m.listeners;d||(d=this);isNaN(k)&&(k=10);var
 y=this;j.fn=e;j.priority=k;for(var 
s=m.length-1;s>=0;s--)if(m[s].priority<=k){m.splice(s+1,0,j);return{removeListener:g}}m.unshift(j)}return{removeListener:g}},
-once:function(){var 
a=Array.prototype.slice.call(arguments),e=a[1];a[1]=function(a){a.removeListener();return
 e.apply(this,arguments)};return 
this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var 
a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return 
a},fire:function(){var a=0,e=function(){a=1},d=0,b=function(){d=1};return 
function(k,j,g){var m=f(this)[k],k=a,y=d;a=d=0;if(m){var 
s=m.listeners;if(s.length)for(var 
s=s.slice(0),w,q=0;q<s.length;q++){if(m.errorProof)try{w=
-s[q].call(this,g,j,e,b)}catch(t){}else 
w=s[q].call(this,g,j,e,b);w===false?d=1:typeof 
w!="undefined"&&(j=w);if(a||d)break}}j=d?false:typeof 
j=="undefined"?true:j;a=k;d=y;return 
j}}(),fireOnce:function(a,e,d){e=this.fire(a,e,d);delete f(this)[a];return 
e},removeListener:function(a,e){var d=f(this)[a];if(d){var 
b=d.getListenerIndex(e);b>=0&&d.listeners.splice(b,1)}},removeAllListeners:function(){var
 a=f(this),e;for(e in a)delete 
a[e]},hasListeners:function(a){return(a=f(this)[a])&&a.listeners.length>
-0}}}());CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,f){a
 in{instanceReady:1,loaded:1}&&(this[a]=true);return 
CKEDITOR.event.prototype.fire.call(this,a,f,this)},CKEDITOR.editor.prototype.fireOnce=function(a,f){a
 in{instanceReady:1,loaded:1}&&(this[a]=true);return 
CKEDITOR.event.prototype.fireOnce.call(this,a,f,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype));
-CKEDITOR.env||(CKEDITOR.env=function(){var 
a=navigator.userAgent.toLowerCase(),f={ie:a.indexOf("trident/")>-1,webkit:a.indexOf("
 applewebkit/")>-1,air:a.indexOf(" 
adobeair/")>-1,mac:a.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat"&&(!document.documentMode||document.documentMode<10),mobile:a.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return
 false;var a=document.domain,d=window.location.hostname;return 
a!=d&&a!="["+d+"]"},secure:location.protocol==
-"https:"};f.gecko=navigator.product=="Gecko"&&!f.webkit&&!f.ie;if(f.webkit)a.indexOf("chrome")>-1?f.chrome=true:f.safari=true;var
 b=0;if(f.ie){b=f.quirks||!document.documentMode?parseFloat(a.match(/msie 
(\d+)/)[1]):document.documentMode;f.ie9Compat=b==9;f.ie8Compat=b==8;f.ie7Compat=b==7;f.ie6Compat=b<7||f.quirks}if(f.gecko){var
 
c=a.match(/rv:([\d\.]+)/);if(c){c=c[1].split(".");b=c[0]*1E4+(c[1]||0)*100+(c[2]||0)*1}}f.air&&(b=parseFloat(a.match(/
 adobeair\/(\d+)/)[1]));f.webkit&&(b=parseFloat(a.match(/ 
applewebkit\/(\d+)/)[1]));
-f.version=b;f.isCompatible=f.iOS&&b>=534||!f.mobile&&(f.ie&&b>6||f.gecko&&b>=2E4||f.air&&b>=1||f.webkit&&b>=522||false);f.hidpi=window.devicePixelRatio>=2;f.needsBrFiller=f.gecko||f.webkit||f.ie&&b>10;f.needsNbspFiller=f.ie&&b<11;f.cssClass="cke_browser_"+(f.ie?"ie":f.gecko?"gecko":f.webkit?"webkit":"unknown");if(f.quirks)f.cssClass=f.cssClass+"
 cke_browser_quirks";if(f.ie)f.cssClass=f.cssClass+(" 
cke_browser_ie"+(f.quirks?"6 
cke_browser_iequirks":f.version));if(f.air)f.cssClass=f.cssClass+" 
cke_browser_air";
-if(f.iOS)f.cssClass=f.cssClass+" 
cke_browser_ios";if(f.hidpi)f.cssClass=f.cssClass+" cke_hidpi";return f}());
-"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!="basic_ready")CKEDITOR.loadFullCore._load=1;else{delete
 CKEDITOR.loadFullCore;var 
a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var
 a=
-CKEDITOR.loadFullCore,f=CKEDITOR.loadFullCoreTimeout;if(a){CKEDITOR.status="basic_ready";a&&a._load?a():f&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},f*1E3)}})})();CKEDITOR.status="basic_loaded"}();CKEDITOR.dom={};
-(function(){var 
a=[],f=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,e=/</g,d=/"/g,h=/&amp;/g,k=/&gt;/g,j=/&lt;/g,g=/&quot;/g;CKEDITOR.on("reset",function(){a=[]});CKEDITOR.tools={arrayCompare:function(a,e){if(!a&&!e)return
 true;if(!a||!e||a.length!=e.length)return false;for(var 
d=0;d<a.length;d++)if(a[d]!=e[d])return false;return 
true},clone:function(a){var e;if(a&&a instanceof Array){e=[];for(var 
d=0;d<a.length;d++)e[d]=CKEDITOR.tools.clone(a[d]);
-return e}if(a===null||typeof a!="object"||a instanceof String||a instanceof 
Number||a instanceof Boolean||a instanceof Date||a instanceof 
RegExp||a.nodeType||a.window===a)return a;e=new a.constructor;for(d in 
a)e[d]=CKEDITOR.tools.clone(a[d]);return e},capitalize:function(a,e){return 
a.charAt(0).toUpperCase()+(e?a.slice(1):a.slice(1).toLowerCase())},extend:function(a){var
 e=arguments.length,d,b;if(typeof(d=arguments[e-1])=="boolean")e--;else 
if(typeof(d=arguments[e-2])=="boolean"){b=arguments[e-1];
-e=e-2}for(var c=1;c<e;c++){var f=arguments[c],i;for(i in 
f)if(d===true||a[i]==null)if(!b||i in b)a[i]=f[i]}return 
a},prototypedCopy:function(a){var e=function(){};e.prototype=a;return new 
e},copy:function(a){var e={},d;for(d in a)e[d]=a[d];return 
e},isArray:function(a){return Object.prototype.toString.call(a)=="[object 
Array]"},isEmpty:function(a){for(var e in a)if(a.hasOwnProperty(e))return 
false;return true},cssVendorPrefix:function(a,e,d){if(d)return 
f+a+":"+e+";"+a+":"+e;d={};d[a]=e;d[f+a]=e;
-return d},cssStyleToDomStyle:function(){var 
a=document.createElement("div").style,e=typeof 
a.cssFloat!="undefined"?"cssFloat":typeof 
a.styleFloat!="undefined"?"styleFloat":"float";return function(a){return 
a=="float"?e:a.replace(/-./g,function(a){return 
a.substr(1).toUpperCase()})}}(),buildStyleHtml:function(a){for(var 
a=[].concat(a),e,d=[],b=0;b<a.length;b++)if(e=a[b])/@import|[{}]/.test(e)?d.push("<style>"+e+"</style>"):d.push('<link
 type="text/css" rel=stylesheet href="'+e+'">');return d.join("")},
-htmlEncode:function(a){return(""+a).replace(b,"&amp;").replace(c,"&gt;").replace(e,"&lt;")},htmlDecode:function(a){return
 
a.replace(h,"&").replace(k,">").replace(j,"<")},htmlEncodeAttr:function(a){return
 
a.replace(d,"&quot;").replace(e,"&lt;").replace(c,"&gt;")},htmlDecodeAttr:function(a){return
 a.replace(g,'"').replace(j,"<").replace(k,">")},getNextNumber:function(){var 
a=0;return 
function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},override:function(a,e){var
 d=e(a);d.prototype=
-a.prototype;return 
d},setTimeout:function(a,e,d,b,c){c||(c=window);d||(d=c);return 
c.setTimeout(function(){b?a.apply(d,[].concat(b)):a.apply(d)},e||0)},trim:function(){var
 a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(e){return 
e.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return 
function(e){return e.replace(a,"")}}(),rtrim:function(){var a=/[ 
\t\n\r]+$/g;return function(e){return 
e.replace(a,"")}}(),indexOf:function(a,e){if(typeof e=="function")for(var 
d=0,b=a.length;d<b;d++){if(e(a[d]))return d}else{if(a.indexOf)return 
a.indexOf(e);
-d=0;for(b=a.length;d<b;d++)if(a[d]===e)return 
d}return-1},search:function(a,e){var d=CKEDITOR.tools.indexOf(a,e);return 
d>=0?a[d]:null},bind:function(a,e){return function(){return 
a.apply(e,arguments)}},createClass:function(a){var 
e=a.$,d=a.base,b=a.privates||a._,c=a.proto,a=a.statics;!e&&(e=function(){d&&this.base.apply(this,arguments)});if(b)var
 f=e,e=function(){var a=this._||(this._={}),e;for(e in b){var 
d=b[e];a[e]=typeof 
d=="function"?CKEDITOR.tools.bind(d,this):d}f.apply(this,arguments)};if(d){e.prototype=
-this.prototypedCopy(d.prototype);e.prototype.constructor=e;e.base=d;e.baseProto=d.prototype;e.prototype.base=function(){this.base=d.prototype.base;d.apply(this,arguments);this.base=arguments.callee}}c&&this.extend(e.prototype,c,true);a&&this.extend(e,a,true);return
 e},addFunction:function(e,d){return a.push(function(){return 
e.apply(d||this,arguments)})-1},removeFunction:function(e){a[e]=null},callFunction:function(e){var
 d=a[e];return 
d&&d.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var
 a=
-/^-?\d+\.?\d*px$/,e;return function(d){e=CKEDITOR.tools.trim(d+"")+"px";return 
a.test(e)?e:d||""}}(),convertToPx:function(){var a;return 
function(e){if(!a){a=CKEDITOR.dom.element.createFromHtml('<div 
style="position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(a)}if(!/%$/.test(e)){a.setStyle("width",e);return
 a.$.clientWidth}return e}}(),repeat:function(a,e){return 
Array(e+1).join(a)},tryThese:function(){for(var a,
-e=0,d=arguments.length;e<d;e++){var 
b=arguments[e];try{a=b();break}catch(c){}}return a},genKey:function(){return 
Array.prototype.slice.call(arguments).join("-")},defer:function(a){return 
function(){var 
e=arguments,d=this;window.setTimeout(function(){a.apply(d,e)},0)}},normalizeCssText:function(a,e){var
 d=[],b,c=CKEDITOR.tools.parseCssText(a,true,e);for(b in 
c)d.push(b+":"+c[b]);d.sort();return 
d.length?d.join(";")+";":""},convertRgbToHex:function(a){return 
a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,
-function(a,e,d,b){a=[e,d,b];for(e=0;e<3;e++)a[e]=("0"+parseInt(a[e],10).toString(16)).slice(-2);return"#"+a.join("")})},parseCssText:function(a,e,d){var
 b={};if(d){d=new 
CKEDITOR.dom.element("span");d.setAttribute("style",a);a=CKEDITOR.tools.convertRgbToHex(d.getAttribute("style")||"")}if(!a||a==";")return
 
b;a.replace(/&quot;/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,d,m){if(e){d=d.toLowerCase();d=="font-family"&&(m=m.toLowerCase().replace(/["']/g,"").replace(/\s*,\s*/g,","));
-m=CKEDITOR.tools.trim(m)}b[d]=m});return b},writeCssText:function(a,e){var 
d,b=[];for(d in a)b.push(d+":"+a[d]);e&&b.sort();return b.join("; 
")},objectCompare:function(a,e,d){var b;if(!a&&!e)return true;if(!a||!e)return 
false;for(b in a)if(a[b]!=e[b])return false;if(!d)for(b in 
e)if(a[b]!=e[b])return false;return true},objectKeys:function(a){var 
e=[],d;for(d in a)e.push(d);return e},convertArrayToObject:function(a,e){var 
d={};arguments.length==1&&(e=true);for(var b=0,c=a.length;b<c;++b)d[a[b]]=e;
-return d},fixDomain:function(){for(var 
a;;)try{a=window.parent.document.domain;break}catch(e){a=a?a.replace(/.+?(?:\.|$)/,""):document.domain;if(!a)break;document.domain=a}return!!a},eventsBuffer:function(a,e){function
 d(){c=(new Date).getTime();b=false;e()}var 
b,c=0;return{input:function(){if(!b){var e=(new 
Date).getTime()-c;e<a?b=setTimeout(d,a-e):d()}},reset:function(){b&&clearTimeout(b);b=c=0}}},enableHtml5Elements:function(a,e){for(var
 d=["abbr","article","aside","audio","bdi","canvas","data",
-"datalist","details","figcaption","figure","footer","header","hgroup","mark","meter","nav","output","progress","section","summary","time","video"],b=d.length,c;b--;){c=a.createElement(d[b]);e&&a.appendChild(c)}},checkIfAnyArrayItemMatches:function(a,e){for(var
 d=0,b=a.length;d<b;++d)if(a[d].match(e))return true;return 
false},checkIfAnyObjectPropertyMatches:function(a,e){for(var d in 
a)if(d.match(e))return true;return 
false},transparentImageData:"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="}})();
-CKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,f=function(a,e){for(var 
d=CKEDITOR.tools.clone(a),b=1;b<arguments.length;b++){var 
e=arguments[b],c;for(c in e)delete d[c]}return 
d},b={},c={},e={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,main:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},d={command:1,link:1,meta:1,noscript:1,script:1,style:1},h={},k={"#":1},j={center:1,dir:1,noframes:1};
-a(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},k,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(c,e,b,j);f={a:f(b,{a:1,button:1}),abbr:b,address:c,
-area:h,article:c,aside:c,audio:a({source:1,track:1},c),b:b,base:h,bdi:b,bdo:b,blockquote:c,body:c,br:h,button:f(b,{a:1,button:1}),canvas:b,caption:c,cite:b,code:b,col:h,colgroup:{col:1},command:h,datalist:a({option:1},b),dd:c,del:b,details:a({summary:1},c),dfn:b,div:c,dl:{dt:1,dd:1},dt:c,em:b,embed:h,fieldset:a({legend:1},c),figcaption:c,figure:a({figcaption:1},c),footer:c,form:c,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},d),header:c,hgroup:{h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},hr:h,html:a({head:1,
-body:1},c,d),i:b,iframe:k,img:h,input:h,ins:b,kbd:b,keygen:h,label:b,legend:b,li:c,link:h,main:c,map:c,mark:b,menu:a({li:1},c),meta:h,meter:f(b,{meter:1}),nav:c,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:k,output:b,p:b,param:h,pre:b,progress:f(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:k,section:c,select:{optgroup:1,option:1},small:b,source:h,span:b,strong:b,style:k,sub:b,summary:b,sup:b,table:{caption:1,colgroup:1,thead:1,
-tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:c,textarea:k,tfoot:{tr:1},th:c,thead:{tr:1},time:f(b,{time:1}),title:k,tr:{th:1,td:1},track:h,u:b,ul:{li:1},"var":b,video:a({source:1,track:1},c),wbr:h,acronym:b,applet:a({param:1},c),basefont:h,big:b,center:c,dialog:h,dir:{li:1},font:b,isindex:h,noframes:c,strike:b,tt:b};a(f,{$block:a({audio:1,dd:1,dt:1,figcaption:1,li:1,video:1},e,j),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1,
-form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,figcaption:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,main:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1},$inline:b,$list:{dl:1,ol:1,
-ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:a({body:1,head:1,html:1},f.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,mark:1,meter:1,output:1,q:1,ruby:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,
-sub:1,sup:1,time:1,tt:1,u:1,"var":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return
 f}();CKEDITOR.dom.event=function(a){this.$=a};
-CKEDITOR.dom.event.prototype={getKey:function(){return 
this.$.keyCode||this.$.which},getKeystroke:function(){var 
a=this.getKey();if(this.$.ctrlKey||this.$.metaKey)a=a+CKEDITOR.CTRL;this.$.shiftKey&&(a=a+CKEDITOR.SHIFT);this.$.altKey&&(a=a+CKEDITOR.ALT);return
 a},preventDefault:function(a){var 
f=this.$;f.preventDefault?f.preventDefault():f.returnValue=false;a&&this.stopPropagation()},stopPropagation:function(){var
 
a=this.$;a.stopPropagation?a.stopPropagation():a.cancelBubble=true},getTarget:function(){var
 a=
+(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var
 
a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,d={timestamp:"H7HD",version:"4.7.2",revision:"c9b79c9",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var
 b=window.CKEDITOR_BASEPATH||"";if(!b)for(var 
c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var 
k=c[d].src.match(a);if(k){b=k[1];break}}-1==b.indexOf(":/")&&"//"!=b.slice(0,2)&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+
+b:location.href.match(/^[^\?]*\/(?:)/)[0]+b);if(!b)throw'The CKEditor 
installation path could not be automatically detected. Please set the global 
variable "CKEDITOR_BASEPATH" before creating editor instances.';return 
b}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&"/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a)&&(a+=(0<=a.indexOf("?")?"\x26":"?")+"t\x3d"+this.timestamp);return
 a},domReady:function(){function 
a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded",
+a,!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(c){}}function
 b(){for(var a;a=c.shift();)a()}var c=[];return function(b){function 
n(){try{document.documentElement.doScroll("left")}catch(f){setTimeout(n,1);return}a()}c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else
 if(document.attachEvent){document.attachEvent("onreadystatechange",
+a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(u){}document.documentElement.doScroll&&b&&n()}}}()},b=window.CKEDITOR_GETURL;if(b){var
 c=d.getUrl;d.getUrl=function(a){return b.call(d,a)||c.call(d,a)}}return d}());
+CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var
 d=CKEDITOR.event.prototype,b;for(b in 
d)null==a[b]&&(a[b]=d[b])},CKEDITOR.event.prototype=function(){function 
a(a){var e=d(this);return e[a]||(e[a]=new b(a))}var 
d=function(a){a=a.getPrivate&&a.getPrivate()||a._||(a._={});return 
a.events||(a.events={})},b=function(a){this.name=a;this.listeners=[]};b.prototype={getListenerIndex:function(a){for(var
 b=0,d=this.listeners;b<d.length;b++)if(d[b].fn==a)return b;return-1}};
+return{define:function(b,d){var 
g=a.call(this,b);CKEDITOR.tools.extend(g,d,!0)},on:function(b,d,g,h,k){function 
n(a,f,D,k){a={name:b,sender:this,editor:a,data:f,listenerData:h,stop:D,cancel:k,removeListener:u};return!1===d.call(g,a)?!1:a.data}function
 u(){D.removeListener(b,d)}var 
f=a.call(this,b);if(0>f.getListenerIndex(d)){f=f.listeners;g||(g=this);isNaN(k)&&(k=10);var
 D=this;n.fn=d;n.priority=k;for(var 
w=f.length-1;0<=w;w--)if(f[w].priority<=k)return 
f.splice(w+1,0,n),{removeListener:u};f.unshift(n)}return{removeListener:u}},
+once:function(){var 
a=Array.prototype.slice.call(arguments),b=a[1];a[1]=function(a){a.removeListener();return
 b.apply(this,arguments)};return 
this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var 
a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return 
a},fire:function(){var a=0,b=function(){a=1},g=0,h=function(){g=1};return 
function(k,n,u){var f=d(this)[k];k=a;var D=g;a=g=0;if(f){var 
w=f.listeners;if(w.length)for(var 
w=w.slice(0),A,F=0;F<w.length;F++){if(f.errorProof)try{A=
+w[F].call(this,u,n,b,h)}catch(x){}else 
A=w[F].call(this,u,n,b,h);!1===A?g=1:"undefined"!=typeof 
A&&(n=A);if(a||g)break}}n=g?!1:"undefined"==typeof n?!0:n;a=k;g=D;return 
n}}(),fireOnce:function(a,b,g){b=this.fire(a,b,g);delete d(this)[a];return 
b},removeListener:function(a,b){var g=d(this)[a];if(g){var 
h=g.getListenerIndex(b);0<=h&&g.listeners.splice(h,1)}},removeAllListeners:function(){var
 a=d(this),b;for(b in a)delete 
a[b]},hasListeners:function(a){return(a=d(this)[a])&&0<a.listeners.length}}}());
+CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,d){a
 in{instanceReady:1,loaded:1}&&(this[a]=!0);return 
CKEDITOR.event.prototype.fire.call(this,a,d,this)},CKEDITOR.editor.prototype.fireOnce=function(a,d){a
 in{instanceReady:1,loaded:1}&&(this[a]=!0);return 
CKEDITOR.event.prototype.fireOnce.call(this,a,d,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype));
+CKEDITOR.env||(CKEDITOR.env=function(){var 
a=navigator.userAgent.toLowerCase(),d=a.match(/edge[ 
\/](\d+.?\d*)/),b=-1<a.indexOf("trident/"),b=!(!d&&!b),b={ie:b,edge:!!d,webkit:!b&&-1<a.indexOf("
 applewebkit/"),air:-1<a.indexOf(" 
adobeair/"),mac:-1<a.indexOf("macintosh"),quirks:"BackCompat"==document.compatMode&&(!document.documentMode||10>document.documentMode),mobile:-1<a.indexOf("mobile"),iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return!1;var
 a=document.domain,b=window.location.hostname;
+return 
a!=b&&a!="["+b+"]"},secure:"https:"==location.protocol};b.gecko="Gecko"==navigator.product&&!b.webkit&&!b.ie;b.webkit&&(-1<a.indexOf("chrome")?b.chrome=!0:b.safari=!0);var
 
c=0;b.ie&&(c=d?parseFloat(d[1]):b.quirks||!document.documentMode?parseFloat(a.match(/msie
 
(\d+)/)[1]):document.documentMode,b.ie9Compat=9==c,b.ie8Compat=8==c,b.ie7Compat=7==c,b.ie6Compat=7>c||b.quirks);b.gecko&&(d=a.match(/rv:([\d\.]+)/))&&(d=d[1].split("."),c=1E4*d[0]+100*(d[1]||0)+1*(d[2]||0));b.air&&(c=parseFloat(a.match(/
 adobeair\/(\d+)/)[1]));
+b.webkit&&(c=parseFloat(a.match(/ 
applewebkit\/(\d+)/)[1]));b.version=c;b.isCompatible=!(b.ie&&7>c)&&!(b.gecko&&4E4>c)&&!(b.webkit&&534>c);b.hidpi=2<=window.devicePixelRatio;b.needsBrFiller=b.gecko||b.webkit||b.ie&&10<c;b.needsNbspFiller=b.ie&&11>c;b.cssClass="cke_browser_"+(b.ie?"ie":b.gecko?"gecko":b.webkit?"webkit":"unknown");b.quirks&&(b.cssClass+="
 cke_browser_quirks");b.ie&&(b.cssClass+=" cke_browser_ie"+(b.quirks?"6 
cke_browser_iequirks":b.version));b.air&&(b.cssClass+=" cke_browser_air");
+b.iOS&&(b.cssClass+=" cke_browser_ios");b.hidpi&&(b.cssClass+=" 
cke_hidpi");return b}());
+"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if("basic_ready"!=CKEDITOR.status)CKEDITOR.loadFullCore._load=1;else{delete
 CKEDITOR.loadFullCore;var 
a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var
 a=
+CKEDITOR.loadFullCore,d=CKEDITOR.loadFullCoreTimeout;a&&(CKEDITOR.status="basic_ready",a&&a._load?a():d&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},1E3*d))})})();CKEDITOR.status="basic_loaded"}();"use
 
strict";CKEDITOR.VERBOSITY_WARN=1;CKEDITOR.VERBOSITY_ERROR=2;CKEDITOR.verbosity=CKEDITOR.VERBOSITY_WARN|CKEDITOR.VERBOSITY_ERROR;CKEDITOR.warn=function(a,d){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_WARN&&CKEDITOR.fire("log",{type:"warn",errorCode:a,additionalData:d})};
+CKEDITOR.error=function(a,d){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_ERROR&&CKEDITOR.fire("log",{type:"error",errorCode:a,additionalData:d})};
+CKEDITOR.on("log",function(a){if(window.console&&window.console.log){var 
d=console[a.data.type]?a.data.type:"log",b=a.data.errorCode;if(a=a.data.additionalData)console[d]("[CKEDITOR]
 Error code: "+b+".",a);else console[d]("[CKEDITOR] Error code: 
"+b+".");console[d]("[CKEDITOR] For more information about this error go to 
http://docs.ckeditor.com/#!/guide/dev_errors-section-"+b)}},null,null,999);CKEDITOR.dom={};
+(function(){var 
a=[],d=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,e=/</g,g=/"/g,h=/&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,k={lt:"\x3c",gt:"\x3e",amp:"\x26",quot:'"',nbsp:"
 
",shy:"­"},n=function(a,f){return"#"==f[0]?String.fromCharCode(parseInt(f.slice(1),10)):k[f]};CKEDITOR.on("reset",function(){a=[]});CKEDITOR.tools={arrayCompare:function(a,f){if(!a&&!f)return!0;if(!a||!f||a.length!=f.length)return!1;for(var
 b=0;b<a.length;b++)if(a[b]!=f[b])return!1;
+return!0},getIndex:function(a,f){for(var b=0;b<a.length;++b)if(f(a[b]))return 
b;return-1},clone:function(a){var f;if(a&&a instanceof Array){f=[];for(var 
b=0;b<a.length;b++)f[b]=CKEDITOR.tools.clone(a[b]);return 
f}if(null===a||"object"!=typeof a||a instanceof String||a instanceof Number||a 
instanceof Boolean||a instanceof Date||a instanceof 
RegExp||a.nodeType||a.window===a)return a;f=new a.constructor;for(b in 
a)f[b]=CKEDITOR.tools.clone(a[b]);return f},capitalize:function(a,f){return 
a.charAt(0).toUpperCase()+
+(f?a.slice(1):a.slice(1).toLowerCase())},extend:function(a){var 
f=arguments.length,b,c;"boolean"==typeof(b=arguments[f-1])?f--:"boolean"==typeof(b=arguments[f-2])&&(c=arguments[f-1],f-=2);for(var
 k=1;k<f;k++){var d=arguments[k],n;for(n in d)if(!0===b||null==a[n])if(!c||n in 
c)a[n]=d[n]}return a},prototypedCopy:function(a){var 
f=function(){};f.prototype=a;return new f},copy:function(a){var f={},b;for(b in 
a)f[b]=a[b];return f},isArray:function(a){return"[object 
Array]"==Object.prototype.toString.call(a)},
+isEmpty:function(a){for(var f in 
a)if(a.hasOwnProperty(f))return!1;return!0},cssVendorPrefix:function(a,f,b){if(b)return
 d+a+":"+f+";"+a+":"+f;b={};b[a]=f;b[d+a]=f;return 
b},cssStyleToDomStyle:function(){var 
a=document.createElement("div").style,f="undefined"!=typeof 
a.cssFloat?"cssFloat":"undefined"!=typeof 
a.styleFloat?"styleFloat":"float";return 
function(a){return"float"==a?f:a.replace(/-./g,function(a){return 
a.substr(1).toUpperCase()})}}(),buildStyleHtml:function(a){a=[].concat(a);for(var
 f,
+b=[],c=0;c<a.length;c++)if(f=a[c])/@import|[{}]/.test(f)?b.push("\x3cstyle\x3e"+f+"\x3c/style\x3e"):b.push('\x3clink
 type\x3d"text/css" rel\x3dstylesheet href\x3d"'+f+'"\x3e');return 
b.join("")},htmlEncode:function(a){return void 
0===a||null===a?"":String(a).replace(b,"\x26amp;").replace(c,"\x26gt;").replace(e,"\x26lt;")},htmlDecode:function(a){return
 a.replace(h,n)},htmlEncodeAttr:function(a){return 
CKEDITOR.tools.htmlEncode(a).replace(g,"\x26quot;")},htmlDecodeAttr:function(a){return
 CKEDITOR.tools.htmlDecode(a)},
+transformPlainTextToHtml:function(a,f){var 
b=f==CKEDITOR.ENTER_BR,c=this.htmlEncode(a.replace(/\r\n/g,"\n")),c=c.replace(/\t/g,"\x26nbsp;\x26nbsp;
 \x26nbsp;"),k=f==CKEDITOR.ENTER_P?"p":"div";if(!b){var 
d=/\n{2}/g;if(d.test(c))var 
n="\x3c"+k+"\x3e",m="\x3c/"+k+"\x3e",c=n+c.replace(d,function(){return 
m+n})+m}c=c.replace(/\n/g,"\x3cbr\x3e");b||(c=c.replace(new 
RegExp("\x3cbr\x3e(?\x3d\x3c/"+k+"\x3e)"),function(a){return 
CKEDITOR.tools.repeat(a,2)}));c=c.replace(/^ | $/g,"\x26nbsp;");return 
c=c.replace(/(>|\s) /g,
+function(a,f){return f+"\x26nbsp;"}).replace(/ 
(?=<)/g,"\x26nbsp;")},getNextNumber:function(){var a=0;return 
function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var
 
a="e",f=0;8>f;f++)a+=Math.floor(65536*(1+Math.random())).toString(16).substring(1);return
 a},override:function(a,f){var b=f(a);b.prototype=a.prototype;return 
b},setTimeout:function(a,f,b,c,k){k||(k=window);b||(b=k);return 
k.setTimeout(function(){c?a.apply(b,[].concat(c)):a.apply(b)},
+f||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return 
function(f){return f.replace(a,"")}}(),ltrim:function(){var a=/^[ 
\t\n\r]+/g;return function(f){return f.replace(a,"")}}(),rtrim:function(){var 
a=/[ \t\n\r]+$/g;return function(f){return 
f.replace(a,"")}}(),indexOf:function(a,f){if("function"==typeof f)for(var 
b=0,c=a.length;b<c;b++){if(f(a[b]))return b}else{if(a.indexOf)return 
a.indexOf(f);b=0;for(c=a.length;b<c;b++)if(a[b]===f)return 
b}return-1},search:function(a,f){var b=CKEDITOR.tools.indexOf(a,
+f);return 0<=b?a[b]:null},bind:function(a,f){return function(){return 
a.apply(f,arguments)}},createClass:function(a){var 
f=a.$,b=a.base,c=a.privates||a._,k=a.proto;a=a.statics;!f&&(f=function(){b&&this.base.apply(this,arguments)});if(c)var
 d=f,f=function(){var a=this._||(this._={}),f;for(f in c){var 
b=c[f];a[f]="function"==typeof 
b?CKEDITOR.tools.bind(b,this):b}d.apply(this,arguments)};b&&(f.prototype=this.prototypedCopy(b.prototype),f.prototype.constructor=f,f.base=b,f.baseProto=b.prototype,f.prototype.base=
+function(){this.base=b.prototype.base;b.apply(this,arguments);this.base=arguments.callee});k&&this.extend(f.prototype,k,!0);a&&this.extend(f,a,!0);return
 f},addFunction:function(b,f){return a.push(function(){return 
b.apply(f||this,arguments)})-1},removeFunction:function(b){a[b]=null},callFunction:function(b){var
 f=a[b];return 
f&&f.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var
 a=/^-?\d+\.?\d*px$/,f;return 
function(b){f=CKEDITOR.tools.trim(b+"")+"px";return a.test(f)?
+f:b||""}}(),convertToPx:function(){var a;return 
function(f){a||(a=CKEDITOR.dom.element.createFromHtml('\x3cdiv 
style\x3d"position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"\x3e\x3c/div\x3e',CKEDITOR.document),CKEDITOR.document.getBody().append(a));return/%$/.test(f)?f:(a.setStyle("width",f),a.$.clientWidth)}}(),repeat:function(a,f){return
 Array(f+1).join(a)},tryThese:function(){for(var 
a,f=0,b=arguments.length;f<b;f++){var 
c=arguments[f];try{a=c();break}catch(k){}}return a},
+genKey:function(){return 
Array.prototype.slice.call(arguments).join("-")},defer:function(a){return 
function(){var 
f=arguments,b=this;window.setTimeout(function(){a.apply(b,f)},0)}},normalizeCssText:function(a,f){var
 b=[],c,k=CKEDITOR.tools.parseCssText(a,!0,f);for(c in 
k)b.push(c+":"+k[c]);b.sort();return 
b.length?b.join(";")+";":""},convertRgbToHex:function(a){return 
a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(a,b,c,k){a=[b,c,k];for(b=0;3>b;b++)a[b]=("0"+parseInt(a[b],10).toString(16)).slice(-2);
+return"#"+a.join("")})},normalizeHex:function(a){return 
a.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi,function(a,b,c,k){a=b.toLowerCase();3==a.length&&(a=a.split(""),a=[a[0],a[0],a[1],a[1],a[2],a[2]].join(""));return"#"+a+k})},parseCssText:function(a,f,b){var
 c={};b&&(a=(new 
CKEDITOR.dom.element("span")).setAttribute("style",a).getAttribute("style")||"");a&&(a=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(a)));if(!a||";"==a)return
 c;a.replace(/&quot;/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,
+function(a,b,k){f&&(b=b.toLowerCase(),"font-family"==b&&(k=k.replace(/\s*,\s*/g,",")),k=CKEDITOR.tools.trim(k));c[b]=k});return
 c},writeCssText:function(a,f){var b,c=[];for(b in 
a)c.push(b+":"+a[b]);f&&c.sort();return c.join("; 
")},objectCompare:function(a,f,b){var 
c;if(!a&&!f)return!0;if(!a||!f)return!1;for(c in 
a)if(a[c]!=f[c])return!1;if(!b)for(c in 
f)if(a[c]!=f[c])return!1;return!0},objectKeys:function(a){var f=[],b;for(b in 
a)f.push(b);return f},convertArrayToObject:function(a,b){var c={};1==
+arguments.length&&(b=!0);for(var k=0,d=a.length;k<d;++k)c[a[k]]=b;return 
c},fixDomain:function(){for(var 
a;;)try{a=window.parent.document.domain;break}catch(b){a=a?a.replace(/.+?(?:\.|$)/,""):document.domain;if(!a)break;document.domain=a}return!!a},eventsBuffer:function(a,b,c){function
 k(){n=(new Date).getTime();d=!1;c?b.call(c):b()}var 
d,n=0;return{input:function(){if(!d){var b=(new 
Date).getTime()-n;b<a?d=setTimeout(k,a-b):k()}},reset:function(){d&&clearTimeout(d);d=n=0}}},enableHtml5Elements:function(a,
+b){for(var c="abbr article aside audio bdi canvas data datalist details 
figcaption figure footer header hgroup main mark meter nav output progress 
section summary time video".split(" 
"),k=c.length,d;k--;)d=a.createElement(c[k]),b&&a.appendChild(d)},checkIfAnyArrayItemMatches:function(a,b){for(var
 
c=0,k=a.length;c<k;++c)if(a[c].match(b))return!0;return!1},checkIfAnyObjectPropertyMatches:function(a,b){for(var
 c in a)if(c.match(b))return!0;return!1},keystrokeToString:function(a,b){var 
c=b&16711680,k=
+b&65535,d=CKEDITOR.env.mac,n=[],e=[];c&CKEDITOR.CTRL&&(n.push(d?"⌘":a[17]),e.push(d?a[224]:a[17]));c&CKEDITOR.ALT&&(n.push(d?"⌥":a[18]),e.push(a[18]));c&CKEDITOR.SHIFT&&(n.push(d?"⇧":a[16]),e.push(a[16]));k&&(a[k]?(n.push(a[k]),e.push(a[k])):(n.push(String.fromCharCode(k)),e.push(String.fromCharCode(k))));return{display:n.join("+"),aria:e.join("+")}},transparentImageData:"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw\x3d\x3d",getCookie:function(a){a=a.toLowerCase();
+for(var 
b=document.cookie.split(";"),c,k,d=0;d<b.length;d++)if(c=b[d].split("\x3d"),k=decodeURIComponent(CKEDITOR.tools.trim(c[0]).toLowerCase()),k===a)return
 decodeURIComponent(1<c.length?c[1]:"");return 
null},setCookie:function(a,b){document.cookie=encodeURIComponent(a)+"\x3d"+encodeURIComponent(b)+";path\x3d/"},getCsrfToken:function(){var
 a=CKEDITOR.tools.getCookie("ckCsrfToken");if(!a||40!=a.length){var 
a=[],b="";if(window.crypto&&window.crypto.getRandomValues)a=new 
Uint8Array(40),window.crypto.getRandomValues(a);
+else for(var 
c=0;40>c;c++)a.push(Math.floor(256*Math.random()));for(c=0;c<a.length;c++)var 
k="abcdefghijklmnopqrstuvwxyz0123456789".charAt(a[c]%36),b=b+(.5<Math.random()?k.toUpperCase():k);a=b;CKEDITOR.tools.setCookie("ckCsrfToken",a)}return
 a},escapeCss:function(a){return 
a?window.CSS&&CSS.escape?CSS.escape(a):isNaN(parseInt(a.charAt(0),10))?a:"\\3"+a.charAt(0)+"
 
"+a.substring(1,a.length):""},style:{parse:{_colors:{aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",
+beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",
+darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",
+grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",
+lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",
+orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",
+slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"},_rgbaRegExp:/rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,_hslaRegExp:/hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,background:function(a){var
 b={},c=this._findColor(a);
+c.length&&(b.color=c[0],CKEDITOR.tools.array.forEach(c,function(b){a=a.replace(b,"")}));if(a=CKEDITOR.tools.trim(a))b.unprocessed=a;return
 b},margin:function(a){function 
b(a){c.top=k[a[0]];c.right=k[a[1]];c.bottom=k[a[2]];c.left=k[a[3]]}var 
c={},k=a.match(/(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset)/g)||["0px"];switch(k.length){case
 1:b([0,0,0,0]);break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 
4:b([0,1,2,3])}return c},_findColor:function(a){var 
b=[],c=CKEDITOR.tools.array,b=
+b.concat(a.match(this._rgbaRegExp)||[]),b=b.concat(a.match(this._hslaRegExp)||[]);return
 b=b.concat(c.filter(a.split(/\s+/),function(a){return 
a.match(/^\#[a-f0-9]{3}(?:[a-f0-9]{3})?$/gi)?!0:a.toLowerCase()in 
CKEDITOR.tools.style.parse._colors}))}}},array:{filter:function(a,b,c){var 
k=[];this.forEach(a,function(d,n){b.call(c,d,n,a)&&k.push(d)});return 
k},forEach:function(a,b,c){var 
k=a.length,d;for(d=0;d<k;d++)b.call(c,a[d],d,a)},map:function(a,b,c){for(var 
k=[],d=0;d<a.length;d++)k.push(b.call(c,
+a[d],d,a));return k},reduce:function(a,b,c,k){for(var 
d=0;d<a.length;d++)c=b.call(k,c,a[d],d,a);return 
c}},object:{findKey:function(a,b){if("object"!==typeof a)return null;for(var c 
in a)if(a[c]===b)return c;return 
null}}};CKEDITOR.tools.array.indexOf=CKEDITOR.tools.indexOf;CKEDITOR.tools.array.isArray=CKEDITOR.tools.isArray})();
+CKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,d=function(a,b){for(var 
c=CKEDITOR.tools.clone(a),k=1;k<arguments.length;k++){b=arguments[k];for(var d 
in b)delete c[d]}return 
c},b={},c={},e={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,main:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},g={command:1,link:1,meta:1,noscript:1,script:1,style:1},h={},k={"#":1},n={center:1,dir:1,noframes:1};
+a(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},k,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(c,e,b,n);d={a:d(b,{a:1,button:1}),abbr:b,address:c,
+area:h,article:c,aside:c,audio:a({source:1,track:1},c),b:b,base:h,bdi:b,bdo:b,blockquote:c,body:c,br:h,button:d(b,{a:1,button:1}),canvas:b,caption:c,cite:b,code:b,col:h,colgroup:{col:1},command:h,datalist:a({option:1},b),dd:c,del:b,details:a({summary:1},c),dfn:b,div:c,dl:{dt:1,dd:1},dt:c,em:b,embed:h,fieldset:a({legend:1},c),figcaption:c,figure:a({figcaption:1},c),footer:c,form:c,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},g),header:c,hgroup:{h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},hr:h,html:a({head:1,
+body:1},c,g),i:b,iframe:k,img:h,input:h,ins:b,kbd:b,keygen:h,label:b,legend:b,li:c,link:h,main:c,map:c,mark:b,menu:a({li:1},c),meta:h,meter:d(b,{meter:1}),nav:c,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:k,output:b,p:b,param:h,pre:b,progress:d(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:k,section:c,select:{optgroup:1,option:1},small:b,source:h,span:b,strong:b,style:k,sub:b,summary:a({h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},b),
+sup:b,table:{caption:1,colgroup:1,thead:1,tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:c,textarea:k,tfoot:{tr:1},th:c,thead:{tr:1},time:d(b,{time:1}),title:k,tr:{th:1,td:1},track:h,u:b,ul:{li:1},"var":b,video:a({source:1,track:1},c),wbr:h,acronym:b,applet:a({param:1},c),basefont:h,big:b,center:c,dialog:h,dir:{li:1},font:b,isindex:h,noframes:c,strike:b,tt:b};a(d,{$block:a({audio:1,dd:1,dt:1,figcaption:1,li:1,video:1},e,n),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,
+fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,figcaption:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,main:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,
+track:1,wbr:1},$inline:b,$list:{dl:1,ol:1,ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:a({body:1,head:1,html:1},d.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,mark:1,meter:1,output:1,q:1,ruby:1,
+s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,time:1,tt:1,u:1,"var":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return
 d}();
+CKEDITOR.dom.event=function(a){this.$=a};
+CKEDITOR.dom.event.prototype={getKey:function(){return 
this.$.keyCode||this.$.which},getKeystroke:function(){var 
a=this.getKey();if(this.$.ctrlKey||this.$.metaKey)a+=CKEDITOR.CTRL;this.$.shiftKey&&(a+=CKEDITOR.SHIFT);this.$.altKey&&(a+=CKEDITOR.ALT);return
 a},preventDefault:function(a){var 
d=this.$;d.preventDefault?d.preventDefault():d.returnValue=!1;a&&this.stopPropagation()},stopPropagation:function(){var
 
a=this.$;a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},getTarget:function(){var
 a=
 this.$.target||this.$.srcElement;return a?new 
CKEDITOR.dom.node(a):null},getPhase:function(){return 
this.$.eventPhase||2},getPageOffset:function(){var 
a=this.getTarget().getDocument().$;return{x:this.$.pageX||this.$.clientX+(a.documentElement.scrollLeft||a.body.scrollLeft),y:this.$.pageY||this.$.clientY+(a.documentElement.scrollTop||a.body.scrollTop)}}};CKEDITOR.CTRL=1114112;CKEDITOR.SHIFT=2228224;CKEDITOR.ALT=4456448;CKEDITOR.EVENT_PHASE_CAPTURING=1;CKEDITOR.EVENT_PHASE_AT_TARGET=2;
-CKEDITOR.EVENT_PHASE_BUBBLING=3;CKEDITOR.dom.domObject=function(a){if(a)this.$=a};
-CKEDITOR.dom.domObject.prototype=function(){var a=function(a,b){return 
function(c){typeof CKEDITOR!="undefined"&&a.fire(b,new 
CKEDITOR.dom.event(c))}};return{getPrivate:function(){var 
a;if(!(a=this.getCustomData("_")))this.setCustomData("_",a={});return 
a},on:function(f){var 
b=this.getCustomData("_cke_nativeListeners");if(!b){b={};this.setCustomData("_cke_nativeListeners",b)}if(!b[f]){b=b[f]=a(this,f);this.$.addEventListener?this.$.addEventListener(f,b,!!CKEDITOR.event.useCapture):this.$.attachEvent&&
-this.$.attachEvent("on"+f,b)}return 
CKEDITOR.event.prototype.on.apply(this,arguments)},removeListener:function(a){CKEDITOR.event.prototype.removeListener.apply(this,arguments);if(!this.hasListeners(a)){var
 
b=this.getCustomData("_cke_nativeListeners"),c=b&&b[a];if(c){this.$.removeEventListener?this.$.removeEventListener(a,c,false):this.$.detachEvent&&this.$.detachEvent("on"+a,c);delete
 b[a]}}},removeAllListeners:function(){var 
a=this.getCustomData("_cke_nativeListeners"),b;for(b in a){var 
c=a[b];this.$.detachEvent?
-this.$.detachEvent("on"+b,c):this.$.removeEventListener&&this.$.removeEventListener(b,c,false);delete
 a[b]}CKEDITOR.event.prototype.removeAllListeners.call(this)}}}();

@@ Diff output truncated at 153600 characters. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]