rich 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1268) hide show
  1. data/README.rdoc +4 -28
  2. data/app/inputs/rich_input.rb +2 -1
  3. data/lib/rich.rb +2 -18
  4. data/lib/rich/engine.rb +2 -1
  5. data/lib/rich/version.rb +1 -1
  6. data/test/dummy/app/assets/javascripts/active_admin.js +2 -1
  7. data/test/dummy/config/environments/production.rb +2 -2
  8. data/test/dummy/config/initializers/active_admin.rb +0 -1
  9. data/test/dummy/db/development.sqlite3 +0 -0
  10. data/test/dummy/log/production.log +1180 -0
  11. data/test/dummy/public/assets/active_admin-01ff270d2fd5afb05ef16ff57871c7d4.css +1 -0
  12. data/test/dummy/public/assets/active_admin-01ff270d2fd5afb05ef16ff57871c7d4.css.gz +0 -0
  13. data/test/dummy/public/assets/active_admin-b35ea57d958ab0dfdb4ab002ae2c5baf.js +30 -0
  14. data/test/dummy/public/assets/active_admin-b35ea57d958ab0dfdb4ab002ae2c5baf.js.gz +0 -0
  15. data/test/dummy/public/assets/active_admin.css +1 -0
  16. data/test/dummy/public/assets/active_admin.css.gz +0 -0
  17. data/test/dummy/public/assets/active_admin.js +30 -0
  18. data/test/dummy/public/assets/active_admin.js.gz +0 -0
  19. data/test/dummy/public/assets/active_admin/admin_notes_icon-d3076b67b8655afc5cf14bf244c34db5.png +0 -0
  20. data/test/dummy/public/assets/active_admin/admin_notes_icon.png +0 -0
  21. data/test/dummy/public/assets/active_admin/datepicker/datepicker-header-bg-c73514e723fd274903d96ff0afd8e7f7.png +0 -0
  22. data/test/dummy/public/assets/active_admin/datepicker/datepicker-header-bg.png +0 -0
  23. data/test/dummy/public/assets/active_admin/datepicker/datepicker-input-icon-e48beac5b8da2344985c5d2afe6159dd.png +0 -0
  24. data/test/dummy/public/assets/active_admin/datepicker/datepicker-input-icon.png +0 -0
  25. data/test/dummy/public/assets/active_admin/datepicker/datepicker-next-link-icon-a4e4790f8884aa625c4bd9c1725b1545.png +0 -0
  26. data/test/dummy/public/assets/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  27. data/test/dummy/public/assets/active_admin/datepicker/datepicker-nipple-5d9a7fdc4a5ca1c5903fa0715a5ca080.png +0 -0
  28. data/test/dummy/public/assets/active_admin/datepicker/datepicker-nipple.png +0 -0
  29. data/test/dummy/public/assets/active_admin/datepicker/datepicker-prev-link-icon-15b83a974894f1b0af22bc30ca5c3fc5.png +0 -0
  30. data/test/dummy/public/assets/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  31. data/test/dummy/public/assets/active_admin/loading-c20cbb5cb54528680d74c8f7a393b3e3.gif +0 -0
  32. data/test/dummy/public/assets/active_admin/loading.gif +0 -0
  33. data/test/dummy/public/assets/active_admin/nested_menu_arrow-7093fa8e6f12c2a688313e17f6182da9.gif +0 -0
  34. data/test/dummy/public/assets/active_admin/nested_menu_arrow.gif +0 -0
  35. data/test/dummy/public/assets/active_admin/nested_menu_arrow_dark-37327cd654d1a4d1bbef43afbeed01da.gif +0 -0
  36. data/test/dummy/public/assets/active_admin/nested_menu_arrow_dark.gif +0 -0
  37. data/test/dummy/public/assets/active_admin/orderable-312cf8ad195f38825b0fb3d7447aef58.png +0 -0
  38. data/test/dummy/public/assets/active_admin/orderable.png +0 -0
  39. data/test/dummy/public/assets/application-f15961e25792db6864b7ab845e486124.js +29 -0
  40. data/test/dummy/public/assets/application-f15961e25792db6864b7ab845e486124.js.gz +0 -0
  41. data/test/dummy/public/assets/application-f34ae8ea29557795cf85905999cc80b2.css +1 -0
  42. data/test/dummy/public/assets/application-f34ae8ea29557795cf85905999cc80b2.css.gz +0 -0
  43. data/test/dummy/public/assets/application.css +1 -0
  44. data/test/dummy/public/assets/application.css.gz +0 -0
  45. data/test/dummy/public/assets/application.js +29 -0
  46. data/test/dummy/public/assets/application.js.gz +0 -0
  47. data/test/dummy/public/assets/ckeditor/CHANGES-bde20c28392aa62188c69ce3c4c9a46f.html +1433 -0
  48. data/test/dummy/public/assets/ckeditor/CHANGES.html +1433 -0
  49. data/test/dummy/public/assets/ckeditor/INSTALL-976668b7bad85a515cf0e7abe866daa5.html +92 -0
  50. data/test/dummy/public/assets/ckeditor/INSTALL.html +92 -0
  51. data/test/dummy/public/assets/ckeditor/LICENSE-9eb3d59310bb19013cc29efddb4106b0.html +1327 -0
  52. data/test/dummy/public/assets/ckeditor/LICENSE.html +1327 -0
  53. data/test/dummy/public/assets/ckeditor/_samples/adobeair/application-b8ddce42fe88e25daba41a48b1e560c5.xml +32 -0
  54. data/test/dummy/public/assets/ckeditor/_samples/adobeair/application.xml +32 -0
  55. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run-3ba9e942bf6916ddc4d5a14d3ec778f6.bat +9 -0
  56. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run-ce1ddd042108a5bbd554c4083464ffdb.sh +8 -0
  57. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run.bat +9 -0
  58. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run.sh +8 -0
  59. data/test/dummy/public/assets/ckeditor/_samples/adobeair/sample-669a8b1f701f2d83e6c337cf1d5608dc.html +45 -0
  60. data/test/dummy/public/assets/ckeditor/_samples/adobeair/sample.html +45 -0
  61. data/test/dummy/public/assets/ckeditor/_samples/ajax-c04185bec0ccde0d6927aa6c8cd81e47.html +98 -0
  62. data/test/dummy/public/assets/ckeditor/_samples/ajax.html +98 -0
  63. data/test/dummy/public/assets/ckeditor/_samples/api-05378ffae0c90f1751955b7e5d88344b.html +192 -0
  64. data/test/dummy/public/assets/ckeditor/_samples/api.html +192 -0
  65. data/test/dummy/public/assets/ckeditor/_samples/api_dialog-c1574f626ff54b387063610606b9ec52.html +198 -0
  66. data/test/dummy/public/assets/ckeditor/_samples/api_dialog.html +198 -0
  67. data/test/dummy/public/assets/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
  68. data/test/dummy/public/assets/ckeditor/_samples/asp/advanced-8d70e31ab25ce3e66835b4c8fafad8c7.asp +105 -0
  69. data/test/dummy/public/assets/ckeditor/_samples/asp/advanced.asp +105 -0
  70. data/test/dummy/public/assets/ckeditor/_samples/asp/events-cb681459ea362f56ad7cbb861e74a5a9.asp +136 -0
  71. data/test/dummy/public/assets/ckeditor/_samples/asp/events.asp +136 -0
  72. data/test/dummy/public/assets/ckeditor/_samples/asp/index-d49218607910f8162306f627245fc13e.html +103 -0
  73. data/test/dummy/public/assets/ckeditor/_samples/asp/index.html +103 -0
  74. data/test/dummy/public/assets/ckeditor/_samples/asp/replace-a912fa7cd6d47c60f486cd872262cbcf.asp +72 -0
  75. data/test/dummy/public/assets/ckeditor/_samples/asp/replace.asp +72 -0
  76. data/test/dummy/public/assets/ckeditor/_samples/asp/replaceall-054a89f7b9d2d990c9a610f2192cac5f.asp +77 -0
  77. data/test/dummy/public/assets/ckeditor/_samples/asp/replaceall.asp +77 -0
  78. data/test/dummy/public/assets/ckeditor/_samples/asp/sample_posteddata-ff4972da3bed89477711a0ad3f29bbe4.asp +46 -0
  79. data/test/dummy/public/assets/ckeditor/_samples/asp/sample_posteddata.asp +46 -0
  80. data/test/dummy/public/assets/ckeditor/_samples/asp/standalone-a610f43edf234b64ab67b970461f1224.asp +72 -0
  81. data/test/dummy/public/assets/ckeditor/_samples/asp/standalone.asp +72 -0
  82. data/test/dummy/public/assets/ckeditor/_samples/assets/_posteddata-3a714a7667de2835fb1b230bb36b9f8a.php +59 -0
  83. data/test/dummy/public/assets/ckeditor/_samples/assets/_posteddata.php +59 -0
  84. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash-286e4dde2d4851e9966fcf360a733a00.fla +0 -0
  85. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash-b80819e52a12367582876a1a7ee34036.swf +0 -0
  86. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  87. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  88. data/test/dummy/public/assets/ckeditor/_samples/assets/output_xhtml.css +204 -0
  89. data/test/dummy/public/assets/ckeditor/_samples/assets/parsesample.css +70 -0
  90. data/test/dummy/public/assets/ckeditor/_samples/assets/swfobject.js +18 -0
  91. data/test/dummy/public/assets/ckeditor/_samples/autogrow-3ef79da534764614eb7f81b67225f4ec.html +108 -0
  92. data/test/dummy/public/assets/ckeditor/_samples/autogrow.html +108 -0
  93. data/test/dummy/public/assets/ckeditor/_samples/bbcode-27961c95420d80a7b1ea50f1c96c32e6.html +125 -0
  94. data/test/dummy/public/assets/ckeditor/_samples/bbcode.html +125 -0
  95. data/test/dummy/public/assets/ckeditor/_samples/devtools-4aea8a6d4b9b2eb6497093e14d0f8b2c.html +94 -0
  96. data/test/dummy/public/assets/ckeditor/_samples/devtools.html +94 -0
  97. data/test/dummy/public/assets/ckeditor/_samples/divreplace-c24c0466858e65fa6592542819a86537.html +154 -0
  98. data/test/dummy/public/assets/ckeditor/_samples/divreplace.html +154 -0
  99. data/test/dummy/public/assets/ckeditor/_samples/enterkey-b305bdb34a6e71f33e1f1d0f00af4920.html +115 -0
  100. data/test/dummy/public/assets/ckeditor/_samples/enterkey.html +115 -0
  101. data/test/dummy/public/assets/ckeditor/_samples/fullpage-caa3e346a6695b5d05d2cd59e03961dd.html +82 -0
  102. data/test/dummy/public/assets/ckeditor/_samples/fullpage.html +82 -0
  103. data/test/dummy/public/assets/ckeditor/_samples/index-794a327e8ed4fd665142c6dd168f29e5.html +116 -0
  104. data/test/dummy/public/assets/ckeditor/_samples/index.html +116 -0
  105. data/test/dummy/public/assets/ckeditor/_samples/jqueryadapter-854d544f3144335d82c2bf4605922751.html +99 -0
  106. data/test/dummy/public/assets/ckeditor/_samples/jqueryadapter.html +99 -0
  107. data/test/dummy/public/assets/ckeditor/_samples/output_for_flash-70dc6574e836523b1f4949aee75f0c67.html +275 -0
  108. data/test/dummy/public/assets/ckeditor/_samples/output_for_flash.html +275 -0
  109. data/test/dummy/public/assets/ckeditor/_samples/output_html-40b778e3d3ff8fcc745b8e461c3a453a.html +285 -0
  110. data/test/dummy/public/assets/ckeditor/_samples/output_html.html +285 -0
  111. data/test/dummy/public/assets/ckeditor/_samples/output_xhtml-9367ad864842f567b0e5cee1b22bf79b.html +177 -0
  112. data/test/dummy/public/assets/ckeditor/_samples/output_xhtml.html +177 -0
  113. data/test/dummy/public/assets/ckeditor/_samples/php/advanced-79d5ab1009804056cc6c44f961f199d3.php +120 -0
  114. data/test/dummy/public/assets/ckeditor/_samples/php/advanced.php +120 -0
  115. data/test/dummy/public/assets/ckeditor/_samples/php/events-b04c5ed4d0ff844d66ac6853cfbc66e0.php +153 -0
  116. data/test/dummy/public/assets/ckeditor/_samples/php/events.php +153 -0
  117. data/test/dummy/public/assets/ckeditor/_samples/php/index-f65a03a4d9e448cfbc4c7c4e5e65f7d2.html +47 -0
  118. data/test/dummy/public/assets/ckeditor/_samples/php/index.html +47 -0
  119. data/test/dummy/public/assets/ckeditor/_samples/php/replace-05df25d8602f3a48ea72f6f714af921a.php +87 -0
  120. data/test/dummy/public/assets/ckeditor/_samples/php/replace.php +87 -0
  121. data/test/dummy/public/assets/ckeditor/_samples/php/replaceall-b09ac2f9dd5ed288b78ee0ad12f6f043.php +88 -0
  122. data/test/dummy/public/assets/ckeditor/_samples/php/replaceall.php +88 -0
  123. data/test/dummy/public/assets/ckeditor/_samples/php/standalone-518d7656c6a148aca76f825aa423f1ba.php +83 -0
  124. data/test/dummy/public/assets/ckeditor/_samples/php/standalone.php +83 -0
  125. data/test/dummy/public/assets/ckeditor/_samples/placeholder-646b8d8ba8e35818149f89d41099bc53.html +81 -0
  126. data/test/dummy/public/assets/ckeditor/_samples/placeholder.html +81 -0
  127. data/test/dummy/public/assets/ckeditor/_samples/readonly-a9d351bdb32e400a3292eb867a9aa2a5.html +91 -0
  128. data/test/dummy/public/assets/ckeditor/_samples/readonly.html +91 -0
  129. data/test/dummy/public/assets/ckeditor/_samples/replacebyclass-d81d0e83a495a30bc16a5fa1ccdeec70.html +64 -0
  130. data/test/dummy/public/assets/ckeditor/_samples/replacebyclass.html +64 -0
  131. data/test/dummy/public/assets/ckeditor/_samples/replacebycode-1d41977ecaf260eba7d3155b74b7f56b.html +97 -0
  132. data/test/dummy/public/assets/ckeditor/_samples/replacebycode.html +97 -0
  133. data/test/dummy/public/assets/ckeditor/_samples/sample.css +163 -0
  134. data/test/dummy/public/assets/ckeditor/_samples/sample.js +65 -0
  135. data/test/dummy/public/assets/ckeditor/_samples/sample_posteddata-4c3c9855af8d48026faa9db7458ae1af.php +21 -0
  136. data/test/dummy/public/assets/ckeditor/_samples/sample_posteddata.php +21 -0
  137. data/test/dummy/public/assets/ckeditor/_samples/sharedspaces-bcf695d9854ced903aad0a1ca330c63d.html +153 -0
  138. data/test/dummy/public/assets/ckeditor/_samples/sharedspaces.html +153 -0
  139. data/test/dummy/public/assets/ckeditor/_samples/skins-85adce3129893bf7ec319bc318116a26.html +110 -0
  140. data/test/dummy/public/assets/ckeditor/_samples/skins.html +110 -0
  141. data/test/dummy/public/assets/ckeditor/_samples/stylesheetparser-e35db77372a283ea1ebf9a2eec221fba.html +93 -0
  142. data/test/dummy/public/assets/ckeditor/_samples/stylesheetparser.html +93 -0
  143. data/test/dummy/public/assets/ckeditor/_samples/tableresize-c75cb3e30cfc2861cb8e1b041a245520.html +115 -0
  144. data/test/dummy/public/assets/ckeditor/_samples/tableresize.html +115 -0
  145. data/test/dummy/public/assets/ckeditor/_samples/ui_color-f00be6823bfbe18cad7b94b767e67117.html +129 -0
  146. data/test/dummy/public/assets/ckeditor/_samples/ui_color.html +129 -0
  147. data/test/dummy/public/assets/ckeditor/_samples/ui_languages-f40b804a823318024e3faccd51a7e3f1.html +134 -0
  148. data/test/dummy/public/assets/ckeditor/_samples/ui_languages.html +134 -0
  149. data/test/dummy/public/assets/ckeditor/_source/adapters/jquery.js +306 -0
  150. data/test/dummy/public/assets/ckeditor/_source/core/_bootstrap.js +87 -0
  151. data/test/dummy/public/assets/ckeditor/_source/core/ckeditor.js +141 -0
  152. data/test/dummy/public/assets/ckeditor/_source/core/ckeditor_base.js +227 -0
  153. data/test/dummy/public/assets/ckeditor/_source/core/ckeditor_basic.js +238 -0
  154. data/test/dummy/public/assets/ckeditor/_source/core/command.js +209 -0
  155. data/test/dummy/public/assets/ckeditor/_source/core/commanddefinition.js +129 -0
  156. data/test/dummy/public/assets/ckeditor/_source/core/config.js +439 -0
  157. data/test/dummy/public/assets/ckeditor/_source/core/dataprocessor.js +65 -0
  158. data/test/dummy/public/assets/ckeditor/_source/core/dom.js +20 -0
  159. data/test/dummy/public/assets/ckeditor/_source/core/dom/comment.js +32 -0
  160. data/test/dummy/public/assets/ckeditor/_source/core/dom/document.js +251 -0
  161. data/test/dummy/public/assets/ckeditor/_source/core/dom/documentfragment.js +49 -0
  162. data/test/dummy/public/assets/ckeditor/_source/core/dom/domobject.js +258 -0
  163. data/test/dummy/public/assets/ckeditor/_source/core/dom/element.js +1691 -0
  164. data/test/dummy/public/assets/ckeditor/_source/core/dom/elementpath.js +119 -0
  165. data/test/dummy/public/assets/ckeditor/_source/core/dom/event.js +145 -0
  166. data/test/dummy/public/assets/ckeditor/_source/core/dom/node.js +696 -0
  167. data/test/dummy/public/assets/ckeditor/_source/core/dom/nodelist.js +26 -0
  168. data/test/dummy/public/assets/ckeditor/_source/core/dom/range.js +2054 -0
  169. data/test/dummy/public/assets/ckeditor/_source/core/dom/rangelist.js +213 -0
  170. data/test/dummy/public/assets/ckeditor/_source/core/dom/text.js +128 -0
  171. data/test/dummy/public/assets/ckeditor/_source/core/dom/walker.js +462 -0
  172. data/test/dummy/public/assets/ckeditor/_source/core/dom/window.js +96 -0
  173. data/test/dummy/public/assets/ckeditor/_source/core/dtd.js +266 -0
  174. data/test/dummy/public/assets/ckeditor/_source/core/editor.js +1059 -0
  175. data/test/dummy/public/assets/ckeditor/_source/core/editor_basic.js +186 -0
  176. data/test/dummy/public/assets/ckeditor/_source/core/env.js +305 -0
  177. data/test/dummy/public/assets/ckeditor/_source/core/event.js +342 -0
  178. data/test/dummy/public/assets/ckeditor/_source/core/eventInfo.js +120 -0
  179. data/test/dummy/public/assets/ckeditor/_source/core/focusmanager.js +152 -0
  180. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser.js +224 -0
  181. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  182. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/cdata.js +43 -0
  183. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/comment.js +60 -0
  184. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/element.js +308 -0
  185. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/filter.js +288 -0
  186. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/fragment.js +518 -0
  187. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/text.js +53 -0
  188. data/test/dummy/public/assets/ckeditor/_source/core/lang.js +157 -0
  189. data/test/dummy/public/assets/ckeditor/_source/core/loader.js +240 -0
  190. data/test/dummy/public/assets/ckeditor/_source/core/plugindefinition.js +83 -0
  191. data/test/dummy/public/assets/ckeditor/_source/core/plugins.js +103 -0
  192. data/test/dummy/public/assets/ckeditor/_source/core/resourcemanager.js +238 -0
  193. data/test/dummy/public/assets/ckeditor/_source/core/scriptloader.js +180 -0
  194. data/test/dummy/public/assets/ckeditor/_source/core/skins.js +184 -0
  195. data/test/dummy/public/assets/ckeditor/_source/core/themes.js +19 -0
  196. data/test/dummy/public/assets/ckeditor/_source/core/tools.js +763 -0
  197. data/test/dummy/public/assets/ckeditor/_source/core/ui.js +128 -0
  198. data/test/dummy/public/assets/ckeditor/_source/lang/_languages.js +84 -0
  199. data/test/dummy/public/assets/ckeditor/_source/lang/_translationstatus-58be1ae4db275d7eb31a7e5b4fdd9e2a.txt +61 -0
  200. data/test/dummy/public/assets/ckeditor/_source/lang/_translationstatus.txt +61 -0
  201. data/test/dummy/public/assets/ckeditor/_source/lang/af.js +815 -0
  202. data/test/dummy/public/assets/ckeditor/_source/lang/ar.js +815 -0
  203. data/test/dummy/public/assets/ckeditor/_source/lang/bg.js +815 -0
  204. data/test/dummy/public/assets/ckeditor/_source/lang/bn.js +815 -0
  205. data/test/dummy/public/assets/ckeditor/_source/lang/bs.js +815 -0
  206. data/test/dummy/public/assets/ckeditor/_source/lang/ca.js +815 -0
  207. data/test/dummy/public/assets/ckeditor/_source/lang/cs.js +815 -0
  208. data/test/dummy/public/assets/ckeditor/_source/lang/cy.js +815 -0
  209. data/test/dummy/public/assets/ckeditor/_source/lang/da.js +815 -0
  210. data/test/dummy/public/assets/ckeditor/_source/lang/de.js +815 -0
  211. data/test/dummy/public/assets/ckeditor/_source/lang/el.js +815 -0
  212. data/test/dummy/public/assets/ckeditor/_source/lang/en-au.js +815 -0
  213. data/test/dummy/public/assets/ckeditor/_source/lang/en-ca.js +815 -0
  214. data/test/dummy/public/assets/ckeditor/_source/lang/en-gb.js +815 -0
  215. data/test/dummy/public/assets/ckeditor/_source/lang/en.js +815 -0
  216. data/test/dummy/public/assets/ckeditor/_source/lang/eo.js +815 -0
  217. data/test/dummy/public/assets/ckeditor/_source/lang/es.js +815 -0
  218. data/test/dummy/public/assets/ckeditor/_source/lang/et.js +815 -0
  219. data/test/dummy/public/assets/ckeditor/_source/lang/eu.js +815 -0
  220. data/test/dummy/public/assets/ckeditor/_source/lang/fa.js +815 -0
  221. data/test/dummy/public/assets/ckeditor/_source/lang/fi.js +815 -0
  222. data/test/dummy/public/assets/ckeditor/_source/lang/fo.js +815 -0
  223. data/test/dummy/public/assets/ckeditor/_source/lang/fr-ca.js +815 -0
  224. data/test/dummy/public/assets/ckeditor/_source/lang/fr.js +815 -0
  225. data/test/dummy/public/assets/ckeditor/_source/lang/gl.js +815 -0
  226. data/test/dummy/public/assets/ckeditor/_source/lang/gu.js +815 -0
  227. data/test/dummy/public/assets/ckeditor/_source/lang/he.js +815 -0
  228. data/test/dummy/public/assets/ckeditor/_source/lang/hi.js +815 -0
  229. data/test/dummy/public/assets/ckeditor/_source/lang/hr.js +815 -0
  230. data/test/dummy/public/assets/ckeditor/_source/lang/hu.js +815 -0
  231. data/test/dummy/public/assets/ckeditor/_source/lang/is.js +815 -0
  232. data/test/dummy/public/assets/ckeditor/_source/lang/it.js +815 -0
  233. data/test/dummy/public/assets/ckeditor/_source/lang/ja.js +815 -0
  234. data/test/dummy/public/assets/ckeditor/_source/lang/ka.js +815 -0
  235. data/test/dummy/public/assets/ckeditor/_source/lang/km.js +815 -0
  236. data/test/dummy/public/assets/ckeditor/_source/lang/ko.js +815 -0
  237. data/test/dummy/public/assets/ckeditor/_source/lang/lt.js +815 -0
  238. data/test/dummy/public/assets/ckeditor/_source/lang/lv.js +815 -0
  239. data/test/dummy/public/assets/ckeditor/_source/lang/mn.js +815 -0
  240. data/test/dummy/public/assets/ckeditor/_source/lang/ms.js +815 -0
  241. data/test/dummy/public/assets/ckeditor/_source/lang/nb.js +815 -0
  242. data/test/dummy/public/assets/ckeditor/_source/lang/nl.js +815 -0
  243. data/test/dummy/public/assets/ckeditor/_source/lang/no.js +815 -0
  244. data/test/dummy/public/assets/ckeditor/_source/lang/pl.js +815 -0
  245. data/test/dummy/public/assets/ckeditor/_source/lang/pt-br.js +814 -0
  246. data/test/dummy/public/assets/ckeditor/_source/lang/pt.js +815 -0
  247. data/test/dummy/public/assets/ckeditor/_source/lang/ro.js +815 -0
  248. data/test/dummy/public/assets/ckeditor/_source/lang/ru.js +815 -0
  249. data/test/dummy/public/assets/ckeditor/_source/lang/sk.js +815 -0
  250. data/test/dummy/public/assets/ckeditor/_source/lang/sl.js +815 -0
  251. data/test/dummy/public/assets/ckeditor/_source/lang/sr-latn.js +815 -0
  252. data/test/dummy/public/assets/ckeditor/_source/lang/sr.js +815 -0
  253. data/test/dummy/public/assets/ckeditor/_source/lang/sv.js +814 -0
  254. data/test/dummy/public/assets/ckeditor/_source/lang/th.js +815 -0
  255. data/test/dummy/public/assets/ckeditor/_source/lang/tr.js +814 -0
  256. data/test/dummy/public/assets/ckeditor/_source/lang/uk.js +815 -0
  257. data/test/dummy/public/assets/ckeditor/_source/lang/vi.js +815 -0
  258. data/test/dummy/public/assets/ckeditor/_source/lang/zh-cn.js +815 -0
  259. data/test/dummy/public/assets/ckeditor/_source/lang/zh.js +815 -0
  260. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  261. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  262. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  263. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  264. data/test/dummy/public/assets/ckeditor/_source/plugins/about/dialogs/about.js +76 -0
  265. data/test/dummy/public/assets/ckeditor/_source/plugins/about/dialogs/logo_ckeditor-23d870d1ed71ce5e586ffae0400ff744.png +0 -0
  266. data/test/dummy/public/assets/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  267. data/test/dummy/public/assets/ckeditor/_source/plugins/about/plugin.js +24 -0
  268. data/test/dummy/public/assets/ckeditor/_source/plugins/adobeair/plugin.js +228 -0
  269. data/test/dummy/public/assets/ckeditor/_source/plugins/ajax/plugin.js +152 -0
  270. data/test/dummy/public/assets/ckeditor/_source/plugins/autogrow/plugin.js +141 -0
  271. data/test/dummy/public/assets/ckeditor/_source/plugins/basicstyles/plugin.js +129 -0
  272. data/test/dummy/public/assets/ckeditor/_source/plugins/bbcode/plugin.js +931 -0
  273. data/test/dummy/public/assets/ckeditor/_source/plugins/bidi/plugin.js +334 -0
  274. data/test/dummy/public/assets/ckeditor/_source/plugins/blockquote/plugin.js +305 -0
  275. data/test/dummy/public/assets/ckeditor/_source/plugins/button/plugin.js +290 -0
  276. data/test/dummy/public/assets/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  277. data/test/dummy/public/assets/ckeditor/_source/plugins/clipboard/plugin.js +453 -0
  278. data/test/dummy/public/assets/ckeditor/_source/plugins/colorbutton/plugin.js +301 -0
  279. data/test/dummy/public/assets/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -0
  280. data/test/dummy/public/assets/ckeditor/_source/plugins/colordialog/plugin.js +15 -0
  281. data/test/dummy/public/assets/ckeditor/_source/plugins/contextmenu/plugin.js +179 -0
  282. data/test/dummy/public/assets/ckeditor/_source/plugins/devtools/lang/en.js +16 -0
  283. data/test/dummy/public/assets/ckeditor/_source/plugins/devtools/plugin.js +173 -0
  284. data/test/dummy/public/assets/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
  285. data/test/dummy/public/assets/ckeditor/_source/plugins/dialog/plugin.js +3308 -0
  286. data/test/dummy/public/assets/ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -0
  287. data/test/dummy/public/assets/ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
  288. data/test/dummy/public/assets/ckeditor/_source/plugins/div/dialogs/div.js +535 -0
  289. data/test/dummy/public/assets/ckeditor/_source/plugins/div/plugin.js +121 -0
  290. data/test/dummy/public/assets/ckeditor/_source/plugins/docprops/dialogs/docprops.js +674 -0
  291. data/test/dummy/public/assets/ckeditor/_source/plugins/docprops/plugin.js +22 -0
  292. data/test/dummy/public/assets/ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  293. data/test/dummy/public/assets/ckeditor/_source/plugins/editingblock/plugin.js +278 -0
  294. data/test/dummy/public/assets/ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  295. data/test/dummy/public/assets/ckeditor/_source/plugins/enterkey/plugin.js +433 -0
  296. data/test/dummy/public/assets/ckeditor/_source/plugins/entities/plugin.js +250 -0
  297. data/test/dummy/public/assets/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
  298. data/test/dummy/public/assets/ckeditor/_source/plugins/filebrowser/plugin.js +534 -0
  299. data/test/dummy/public/assets/ckeditor/_source/plugins/find/dialogs/find.js +915 -0
  300. data/test/dummy/public/assets/ckeditor/_source/plugins/find/plugin.js +47 -0
  301. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/dialogs/flash.js +674 -0
  302. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/images/placeholder-2523aeb6efa394f0835cb7d9c1488c77.png +0 -0
  303. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  304. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/plugin.js +154 -0
  305. data/test/dummy/public/assets/ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
  306. data/test/dummy/public/assets/ckeditor/_source/plugins/font/plugin.js +234 -0
  307. data/test/dummy/public/assets/ckeditor/_source/plugins/format/plugin.js +197 -0
  308. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/button.js +118 -0
  309. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  310. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  311. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -0
  312. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  313. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/select.js +558 -0
  314. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/textarea.js +135 -0
  315. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  316. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/images/hiddenfield-936f3f266258d459fc0a9a6217a0b056.gif +0 -0
  317. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  318. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/plugin.js +288 -0
  319. data/test/dummy/public/assets/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -0
  320. data/test/dummy/public/assets/ckeditor/_source/plugins/htmldataprocessor/plugin.js +596 -0
  321. data/test/dummy/public/assets/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  322. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -0
  323. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/images/placeholder-f55cfd987744bc8e0d297e75cd483923.png +0 -0
  324. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  325. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/plugin.js +87 -0
  326. data/test/dummy/public/assets/ckeditor/_source/plugins/iframedialog/plugin.js +188 -0
  327. data/test/dummy/public/assets/ckeditor/_source/plugins/image/dialogs/image.js +1407 -0
  328. data/test/dummy/public/assets/ckeditor/_source/plugins/image/plugin.js +81 -0
  329. data/test/dummy/public/assets/ckeditor/_source/plugins/indent/plugin.js +461 -0
  330. data/test/dummy/public/assets/ckeditor/_source/plugins/justify/plugin.js +253 -0
  331. data/test/dummy/public/assets/ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  332. data/test/dummy/public/assets/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -0
  333. data/test/dummy/public/assets/ckeditor/_source/plugins/link/dialogs/link.js +1425 -0
  334. data/test/dummy/public/assets/ckeditor/_source/plugins/link/images/anchor-fcffa3020aea6d54c634de5ba79c055e.gif +0 -0
  335. data/test/dummy/public/assets/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  336. data/test/dummy/public/assets/ckeditor/_source/plugins/link/plugin.js +374 -0
  337. data/test/dummy/public/assets/ckeditor/_source/plugins/list/plugin.js +774 -0
  338. data/test/dummy/public/assets/ckeditor/_source/plugins/listblock/plugin.js +266 -0
  339. data/test/dummy/public/assets/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
  340. data/test/dummy/public/assets/ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  341. data/test/dummy/public/assets/ckeditor/_source/plugins/maximize/plugin.js +353 -0
  342. data/test/dummy/public/assets/ckeditor/_source/plugins/menu/plugin.js +541 -0
  343. data/test/dummy/public/assets/ckeditor/_source/plugins/menubutton/plugin.js +98 -0
  344. data/test/dummy/public/assets/ckeditor/_source/plugins/newpage/plugin.js +55 -0
  345. data/test/dummy/public/assets/ckeditor/_source/plugins/pagebreak/images/pagebreak-699e13d3b4786f15aee9ca768d58ea19.gif +0 -0
  346. data/test/dummy/public/assets/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  347. data/test/dummy/public/assets/ckeditor/_source/plugins/pagebreak/plugin.js +164 -0
  348. data/test/dummy/public/assets/ckeditor/_source/plugins/panel/plugin.js +400 -0
  349. data/test/dummy/public/assets/ckeditor/_source/plugins/panelbutton/plugin.js +144 -0
  350. data/test/dummy/public/assets/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
  351. data/test/dummy/public/assets/ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  352. data/test/dummy/public/assets/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  353. data/test/dummy/public/assets/ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  354. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -0
  355. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/lang/en.js +16 -0
  356. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/lang/he.js +16 -0
  357. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/placeholder-5faafb14ee25225246d64dff7bfffbf0.gif +0 -0
  358. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  359. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/plugin.js +171 -0
  360. data/test/dummy/public/assets/ckeditor/_source/plugins/popup/plugin.js +64 -0
  361. data/test/dummy/public/assets/ckeditor/_source/plugins/preview/plugin.js +113 -0
  362. data/test/dummy/public/assets/ckeditor/_source/plugins/print/plugin.js +42 -0
  363. data/test/dummy/public/assets/ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  364. data/test/dummy/public/assets/ckeditor/_source/plugins/resize/plugin.js +168 -0
  365. data/test/dummy/public/assets/ckeditor/_source/plugins/richcombo/plugin.js +381 -0
  366. data/test/dummy/public/assets/ckeditor/_source/plugins/save/plugin.js +56 -0
  367. data/test/dummy/public/assets/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -0
  368. data/test/dummy/public/assets/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
  369. data/test/dummy/public/assets/ckeditor/_source/plugins/scayt/plugin.js +973 -0
  370. data/test/dummy/public/assets/ckeditor/_source/plugins/selection/plugin.js +1729 -0
  371. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_address-dc40ba9312bb0710e218987606e3f7f0.png +0 -0
  372. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  373. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_blockquote-1282e06e43bcabb0856f2124f7ce51f9.png +0 -0
  374. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  375. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_div-c27c81d18597c829de8e91c9ea39d134.png +0 -0
  376. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  377. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h1-50d65857bd34db2aa0d7b5f7dc6a4603.png +0 -0
  378. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  379. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h2-fc92d34b3a2dd29d6bf95ede204d13e3.png +0 -0
  380. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  381. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h3-ebf1718456117a9bea551f9a23dc74c7.png +0 -0
  382. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  383. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h4-a4b70caedfcd4f858f94b8c239e5cba5.png +0 -0
  384. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  385. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h5-2043019ffb4842cc76517fdd416ed19d.png +0 -0
  386. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  387. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h6-350470a92875f09e37ff10adfada6007.png +0 -0
  388. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  389. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_p-ec9d023fe50605028d4ab499eb0471a4.png +0 -0
  390. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  391. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_pre-864ef82e5c5a85693af5a1cf6e319bf8.png +0 -0
  392. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  393. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/plugin.js +160 -0
  394. data/test/dummy/public/assets/ckeditor/_source/plugins/showborders/plugin.js +207 -0
  395. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -0
  396. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angel_smile-bef270ca78e6fa3b45063d39ec84bc0c.gif +0 -0
  397. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  398. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angry_smile-bab741f28e98bc6d917ddfec5c0a5ca8.gif +0 -0
  399. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  400. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/broken_heart-2679345851234d3ac7c39a50db187708.gif +0 -0
  401. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  402. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/confused_smile-74cf3920a3740aa276e208a38730732f.gif +0 -0
  403. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  404. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/cry_smile-51647a8a04c77e041b26b761bb838010.gif +0 -0
  405. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  406. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/devil_smile-033fd0723bf91acd7dafeb6c92dce25e.gif +0 -0
  407. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  408. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/embaressed_smile-c8636d2a952d9b0ceeef311e9ec78a4e.gif +0 -0
  409. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  410. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/envelope-a1bd4c87ea6901474fec9db4599ec7ee.gif +0 -0
  411. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  412. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/heart-07ef8afe14a00991c3d436b7e804c761.gif +0 -0
  413. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  414. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/kiss-39a6ead1ca61839652498e2ff6643e66.gif +0 -0
  415. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  416. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/lightbulb-fdd5a5b671bc3b3bd4dabfc9730bce74.gif +0 -0
  417. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  418. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/omg_smile-c3eb09606761c3991e1de4d9d31a0e73.gif +0 -0
  419. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  420. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/regular_smile-a94edeadc3bfc87a010e9ea79cbc8daa.gif +0 -0
  421. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  422. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/sad_smile-c00123adfc80fb7d76f18daedfaf0ef3.gif +0 -0
  423. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  424. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/shades_smile-69773406c7c9209f5829139f951498d2.gif +0 -0
  425. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  426. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/teeth_smile-688e966965311f30254197f1d062bc7f.gif +0 -0
  427. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  428. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_down-9bddb23dd9680dfd66dd85271574c374.gif +0 -0
  429. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  430. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_up-946b16fd78b6459336ec8ed64b8ee14f.gif +0 -0
  431. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  432. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/tounge_smile-2446b921c5b4d83fbd6cf8501da54b61.gif +0 -0
  433. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  434. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile-7deb36f7f73a655cfa8ee463f011b4fb.gif +0 -0
  435. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  436. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/wink_smile-f4031efedd01f310c2e5e660252be2e9.gif +0 -0
  437. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  438. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/plugin.js +94 -0
  439. data/test/dummy/public/assets/ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  440. data/test/dummy/public/assets/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -0
  441. data/test/dummy/public/assets/ckeditor/_source/plugins/specialchar/lang/en.js +122 -0
  442. data/test/dummy/public/assets/ckeditor/_source/plugins/specialchar/plugin.js +70 -0
  443. data/test/dummy/public/assets/ckeditor/_source/plugins/styles/plugin.js +1700 -0
  444. data/test/dummy/public/assets/ckeditor/_source/plugins/styles/styles/default.js +88 -0
  445. data/test/dummy/public/assets/ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
  446. data/test/dummy/public/assets/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -0
  447. data/test/dummy/public/assets/ckeditor/_source/plugins/tab/plugin.js +367 -0
  448. data/test/dummy/public/assets/ckeditor/_source/plugins/table/dialogs/table.js +623 -0
  449. data/test/dummy/public/assets/ckeditor/_source/plugins/table/plugin.js +78 -0
  450. data/test/dummy/public/assets/ckeditor/_source/plugins/tableresize/plugin.js +443 -0
  451. data/test/dummy/public/assets/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  452. data/test/dummy/public/assets/ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
  453. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -0
  454. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/plugin.js +99 -0
  455. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/default.js +94 -0
  456. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template1-fc3a0467b794d4f6736584e0e59881ce.gif +0 -0
  457. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  458. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template2-b1679d5593cbba03a06fb099d582fcfe.gif +0 -0
  459. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  460. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template3-5cb326d589cb45a0a162dbb197739113.gif +0 -0
  461. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  462. data/test/dummy/public/assets/ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  463. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -0
  464. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
  465. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/lang/he.js +15 -0
  466. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
  467. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/uicolor-fef7040d883249956c259d82fe466438.gif +0 -0
  468. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  469. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg-2a1476b227b192de64c910eb7c7d1959.png +0 -0
  470. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  471. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb-1fcd818d192a2145b4889954916e6989.png +0 -0
  472. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  473. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask-f94a3d8be4cbac6181070a091d00d08c.png +0 -0
  474. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  475. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb-54fc5a034b6db450cd260c160b4aa1da.png +0 -0
  476. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  477. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
  478. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
  479. data/test/dummy/public/assets/ckeditor/_source/plugins/undo/plugin.js +578 -0
  480. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/ciframe-b2a46fc6f5f4795ef6bf5a381ed48e41.html +49 -0
  481. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
  482. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset-f8fccfa58764e0f1247064bf8290484b.html +52 -0
  483. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  484. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -0
  485. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -0
  486. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  487. data/test/dummy/public/assets/ckeditor/_source/plugins/wysiwygarea/plugin.js +1347 -0
  488. data/test/dummy/public/assets/ckeditor/_source/plugins/xml/plugin.js +170 -0
  489. data/test/dummy/public/assets/ckeditor/_source/skins/kama/dialog.css +989 -0
  490. data/test/dummy/public/assets/ckeditor/_source/skins/kama/editor.css +25 -0
  491. data/test/dummy/public/assets/ckeditor/_source/skins/kama/elementspath.css +73 -0
  492. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  493. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons.css +366 -0
  494. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons.png +0 -0
  495. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  496. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  497. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  498. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  499. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  500. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  501. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  502. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  503. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  504. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  505. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  506. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  507. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites-2f4be37dfe20462d3879fa9e97be7c4b.png +0 -0
  508. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  509. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites_ie6-0657a22bf8896c14fa3bab9aa8ce4625.png +0 -0
  510. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  511. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  512. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  513. data/test/dummy/public/assets/ckeditor/_source/skins/kama/mainui.css +206 -0
  514. data/test/dummy/public/assets/ckeditor/_source/skins/kama/menu.css +232 -0
  515. data/test/dummy/public/assets/ckeditor/_source/skins/kama/panel.css +217 -0
  516. data/test/dummy/public/assets/ckeditor/_source/skins/kama/presets.css +49 -0
  517. data/test/dummy/public/assets/ckeditor/_source/skins/kama/reset.css +85 -0
  518. data/test/dummy/public/assets/ckeditor/_source/skins/kama/richcombo.css +287 -0
  519. data/test/dummy/public/assets/ckeditor/_source/skins/kama/skin.js +236 -0
  520. data/test/dummy/public/assets/ckeditor/_source/skins/kama/templates.css +88 -0
  521. data/test/dummy/public/assets/ckeditor/_source/skins/kama/toolbar.css +408 -0
  522. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/dialog.css +891 -0
  523. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/editor.css +25 -0
  524. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/elementspath.css +74 -0
  525. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  526. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons.css +363 -0
  527. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons.png +0 -0
  528. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  529. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  530. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides-566f701a7fb1582bb8aa56aa23a08650.gif +0 -0
  531. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides-63b6dee922b8534a4dffc35b89ab1a55.png +0 -0
  532. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  533. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  534. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides_rtl-8db16a93f455a72394cfc976eb4cadb4.png +0 -0
  535. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  536. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  537. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  538. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  539. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  540. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites-4c0eb4a3d1eaf4ed444aec605899d073.png +0 -0
  541. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  542. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites_ie6-f4c92c03a74d3ca5ed75eab5d0efc218.png +0 -0
  543. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  544. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/mainui.css +153 -0
  545. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/menu.css +229 -0
  546. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/panel.css +212 -0
  547. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/presets.css +49 -0
  548. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/reset.css +85 -0
  549. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/richcombo.css +309 -0
  550. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/skin.js +74 -0
  551. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/templates.css +87 -0
  552. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/toolbar.css +522 -0
  553. data/test/dummy/public/assets/ckeditor/_source/skins/v2/dialog.css +907 -0
  554. data/test/dummy/public/assets/ckeditor/_source/skins/v2/editor.css +25 -0
  555. data/test/dummy/public/assets/ckeditor/_source/skins/v2/elementspath.css +74 -0
  556. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  557. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons.css +363 -0
  558. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons.png +0 -0
  559. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  560. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  561. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  562. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  563. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  564. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  565. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  566. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  567. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  568. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  569. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  570. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  571. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites-c3f7ae056042da169ec1a81f18eb31e6.png +0 -0
  572. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  573. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites_ie6-f87b6810a17d1fd9740f7e9eb27f351f.png +0 -0
  574. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  575. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  576. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  577. data/test/dummy/public/assets/ckeditor/_source/skins/v2/mainui.css +162 -0
  578. data/test/dummy/public/assets/ckeditor/_source/skins/v2/menu.css +232 -0
  579. data/test/dummy/public/assets/ckeditor/_source/skins/v2/panel.css +212 -0
  580. data/test/dummy/public/assets/ckeditor/_source/skins/v2/presets.css +50 -0
  581. data/test/dummy/public/assets/ckeditor/_source/skins/v2/reset.css +85 -0
  582. data/test/dummy/public/assets/ckeditor/_source/skins/v2/richcombo.css +302 -0
  583. data/test/dummy/public/assets/ckeditor/_source/skins/v2/skin.js +70 -0
  584. data/test/dummy/public/assets/ckeditor/_source/skins/v2/templates.css +87 -0
  585. data/test/dummy/public/assets/ckeditor/_source/skins/v2/toolbar.css +465 -0
  586. data/test/dummy/public/assets/ckeditor/_source/themes/default/theme.js +407 -0
  587. data/test/dummy/{tmp/cache/assets/D16/C70/sprockets%2Fd3046a8979c64b4311a728da2ee8b88b → public/assets/ckeditor/adapters/jquery.js} +0 -0
  588. data/test/dummy/public/assets/ckeditor/ckeditor-01580143bdb99b3d10c94daab6132e65.pack +211 -0
  589. data/test/dummy/public/assets/ckeditor/ckeditor-0da706dd63c19b18d10798aa7d0f6544.asp +955 -0
  590. data/test/dummy/public/assets/ckeditor/ckeditor-867e43aaf8a7a37a5159e5349cf52505.php +29 -0
  591. data/test/dummy/public/assets/ckeditor/ckeditor.asp +955 -0
  592. data/test/dummy/{tmp/cache/assets/CB3/920/sprockets%2Fc38c48651c972cee0be83538700535b4 → public/assets/ckeditor/ckeditor.js} +0 -0
  593. data/test/dummy/public/assets/ckeditor/ckeditor.pack +211 -0
  594. data/test/dummy/public/assets/ckeditor/ckeditor.php +29 -0
  595. data/test/dummy/public/assets/ckeditor/ckeditor_basic.js +8 -0
  596. data/test/dummy/public/assets/ckeditor/ckeditor_basic_source.js +20 -0
  597. data/test/dummy/public/assets/ckeditor/ckeditor_php4-4d1266442675284992f7d9c37a861d8c.php +566 -0
  598. data/test/dummy/public/assets/ckeditor/ckeditor_php4.php +566 -0
  599. data/test/dummy/public/assets/ckeditor/ckeditor_php5-c10c3e7ae158ff33556d591d4b68b20a.php +556 -0
  600. data/test/dummy/public/assets/ckeditor/ckeditor_php5.php +556 -0
  601. data/test/dummy/public/assets/ckeditor/ckeditor_source.js +35 -0
  602. data/test/dummy/public/assets/ckeditor/config.js +11 -0
  603. data/test/dummy/public/assets/ckeditor/contents.css +25 -0
  604. data/test/dummy/public/assets/ckeditor/images/spacer-efb4fe7589bccc45af59714c77085d3c.gif +0 -0
  605. data/test/dummy/public/assets/ckeditor/images/spacer.gif +0 -0
  606. data/test/dummy/public/assets/ckeditor/lang/_languages.js +6 -0
  607. data/test/dummy/public/assets/ckeditor/lang/_translationstatus-58be1ae4db275d7eb31a7e5b4fdd9e2a.txt +61 -0
  608. data/test/dummy/public/assets/ckeditor/lang/_translationstatus.txt +61 -0
  609. data/test/dummy/public/assets/ckeditor/lang/af.js +6 -0
  610. data/test/dummy/public/assets/ckeditor/lang/ar.js +6 -0
  611. data/test/dummy/public/assets/ckeditor/lang/bg.js +6 -0
  612. data/test/dummy/public/assets/ckeditor/lang/bn.js +6 -0
  613. data/test/dummy/public/assets/ckeditor/lang/bs.js +6 -0
  614. data/test/dummy/public/assets/ckeditor/lang/ca.js +6 -0
  615. data/test/dummy/public/assets/ckeditor/lang/cs.js +6 -0
  616. data/test/dummy/public/assets/ckeditor/lang/cy.js +6 -0
  617. data/test/dummy/public/assets/ckeditor/lang/da.js +6 -0
  618. data/test/dummy/public/assets/ckeditor/lang/de.js +6 -0
  619. data/test/dummy/public/assets/ckeditor/lang/el.js +6 -0
  620. data/test/dummy/public/assets/ckeditor/lang/en-au.js +6 -0
  621. data/test/dummy/public/assets/ckeditor/lang/en-ca.js +6 -0
  622. data/test/dummy/public/assets/ckeditor/lang/en-gb.js +6 -0
  623. data/test/dummy/{tmp/cache/assets/D95/D50/sprockets%2F15e32d81de6597aad23d67d2cd1d0b7a → public/assets/ckeditor/lang/en.js} +0 -0
  624. data/test/dummy/public/assets/ckeditor/lang/eo.js +6 -0
  625. data/test/dummy/public/assets/ckeditor/lang/es.js +6 -0
  626. data/test/dummy/public/assets/ckeditor/lang/et.js +6 -0
  627. data/test/dummy/public/assets/ckeditor/lang/eu.js +6 -0
  628. data/test/dummy/public/assets/ckeditor/lang/fa.js +6 -0
  629. data/test/dummy/public/assets/ckeditor/lang/fi.js +6 -0
  630. data/test/dummy/public/assets/ckeditor/lang/fo.js +6 -0
  631. data/test/dummy/public/assets/ckeditor/lang/fr-ca.js +6 -0
  632. data/test/dummy/public/assets/ckeditor/lang/fr.js +6 -0
  633. data/test/dummy/public/assets/ckeditor/lang/gl.js +6 -0
  634. data/test/dummy/public/assets/ckeditor/lang/gu.js +6 -0
  635. data/test/dummy/public/assets/ckeditor/lang/he.js +6 -0
  636. data/test/dummy/public/assets/ckeditor/lang/hi.js +6 -0
  637. data/test/dummy/public/assets/ckeditor/lang/hr.js +6 -0
  638. data/test/dummy/public/assets/ckeditor/lang/hu.js +6 -0
  639. data/test/dummy/public/assets/ckeditor/lang/is.js +6 -0
  640. data/test/dummy/public/assets/ckeditor/lang/it.js +6 -0
  641. data/test/dummy/public/assets/ckeditor/lang/ja.js +6 -0
  642. data/test/dummy/public/assets/ckeditor/lang/ka.js +6 -0
  643. data/test/dummy/public/assets/ckeditor/lang/km.js +6 -0
  644. data/test/dummy/public/assets/ckeditor/lang/ko.js +6 -0
  645. data/test/dummy/public/assets/ckeditor/lang/lt.js +6 -0
  646. data/test/dummy/public/assets/ckeditor/lang/lv.js +6 -0
  647. data/test/dummy/public/assets/ckeditor/lang/mn.js +6 -0
  648. data/test/dummy/public/assets/ckeditor/lang/ms.js +6 -0
  649. data/test/dummy/public/assets/ckeditor/lang/nb.js +6 -0
  650. data/test/dummy/public/assets/ckeditor/lang/nl.js +6 -0
  651. data/test/dummy/public/assets/ckeditor/lang/no.js +6 -0
  652. data/test/dummy/public/assets/ckeditor/lang/pl.js +6 -0
  653. data/test/dummy/public/assets/ckeditor/lang/pt-br.js +6 -0
  654. data/test/dummy/public/assets/ckeditor/lang/pt.js +6 -0
  655. data/test/dummy/public/assets/ckeditor/lang/ro.js +6 -0
  656. data/test/dummy/public/assets/ckeditor/lang/ru.js +6 -0
  657. data/test/dummy/public/assets/ckeditor/lang/sk.js +6 -0
  658. data/test/dummy/public/assets/ckeditor/lang/sl.js +6 -0
  659. data/test/dummy/public/assets/ckeditor/lang/sr-latn.js +6 -0
  660. data/test/dummy/public/assets/ckeditor/lang/sr.js +6 -0
  661. data/test/dummy/public/assets/ckeditor/lang/sv.js +6 -0
  662. data/test/dummy/public/assets/ckeditor/lang/th.js +6 -0
  663. data/test/dummy/public/assets/ckeditor/lang/tr.js +6 -0
  664. data/test/dummy/public/assets/ckeditor/lang/uk.js +6 -0
  665. data/test/dummy/public/assets/ckeditor/lang/vi.js +6 -0
  666. data/test/dummy/public/assets/ckeditor/lang/zh-cn.js +6 -0
  667. data/test/dummy/public/assets/ckeditor/lang/zh.js +6 -0
  668. data/test/dummy/public/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  669. data/test/dummy/public/assets/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  670. data/test/dummy/public/assets/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  671. data/test/dummy/public/assets/ckeditor/plugins/about/dialogs/about.js +6 -0
  672. data/test/dummy/public/assets/ckeditor/plugins/about/dialogs/logo_ckeditor-23d870d1ed71ce5e586ffae0400ff744.png +0 -0
  673. data/test/dummy/public/assets/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  674. data/test/dummy/public/assets/ckeditor/plugins/adobeair/plugin.js +6 -0
  675. data/test/dummy/public/assets/ckeditor/plugins/ajax/plugin.js +6 -0
  676. data/test/dummy/public/assets/ckeditor/plugins/autogrow/plugin.js +6 -0
  677. data/test/dummy/public/assets/ckeditor/plugins/bbcode/plugin.js +9 -0
  678. data/test/dummy/public/assets/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  679. data/test/dummy/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  680. data/test/dummy/public/assets/ckeditor/plugins/devtools/lang/en.js +6 -0
  681. data/test/dummy/public/assets/ckeditor/plugins/devtools/plugin.js +6 -0
  682. data/test/dummy/public/assets/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  683. data/test/dummy/public/assets/ckeditor/plugins/div/dialogs/div.js +8 -0
  684. data/test/dummy/public/assets/ckeditor/plugins/docprops/dialogs/docprops.js +10 -0
  685. data/test/dummy/public/assets/ckeditor/plugins/docprops/plugin.js +6 -0
  686. data/test/dummy/public/assets/ckeditor/plugins/find/dialogs/find.js +10 -0
  687. data/test/dummy/public/assets/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  688. data/test/dummy/public/assets/ckeditor/plugins/flash/images/placeholder-2523aeb6efa394f0835cb7d9c1488c77.png +0 -0
  689. data/test/dummy/public/assets/ckeditor/plugins/flash/images/placeholder.png +0 -0
  690. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/button.js +6 -0
  691. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  692. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/form.js +6 -0
  693. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  694. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  695. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/select.js +9 -0
  696. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  697. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  698. data/test/dummy/public/assets/ckeditor/plugins/forms/images/hiddenfield-936f3f266258d459fc0a9a6217a0b056.gif +0 -0
  699. data/test/dummy/public/assets/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  700. data/test/dummy/public/assets/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  701. data/test/dummy/public/assets/ckeditor/plugins/iframe/images/placeholder-f55cfd987744bc8e0d297e75cd483923.png +0 -0
  702. data/test/dummy/public/assets/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  703. data/test/dummy/public/assets/ckeditor/plugins/iframedialog/plugin.js +6 -0
  704. data/test/dummy/public/assets/ckeditor/plugins/image/dialogs/image.js +13 -0
  705. data/test/dummy/public/assets/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  706. data/test/dummy/public/assets/ckeditor/plugins/link/dialogs/link.js +12 -0
  707. data/test/dummy/public/assets/ckeditor/plugins/link/images/anchor-fcffa3020aea6d54c634de5ba79c055e.gif +0 -0
  708. data/test/dummy/public/assets/ckeditor/plugins/link/images/anchor.gif +0 -0
  709. data/test/dummy/public/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js +7 -0
  710. data/test/dummy/public/assets/ckeditor/plugins/pagebreak/images/pagebreak-699e13d3b4786f15aee9ca768d58ea19.gif +0 -0
  711. data/test/dummy/public/assets/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  712. data/test/dummy/public/assets/ckeditor/plugins/pastefromword/filter/default.js +11 -0
  713. data/test/dummy/public/assets/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  714. data/test/dummy/public/assets/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  715. data/test/dummy/public/assets/ckeditor/plugins/placeholder/lang/en.js +6 -0
  716. data/test/dummy/public/assets/ckeditor/plugins/placeholder/lang/he.js +6 -0
  717. data/test/dummy/public/assets/ckeditor/plugins/placeholder/placeholder-5faafb14ee25225246d64dff7bfffbf0.gif +0 -0
  718. data/test/dummy/public/assets/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  719. data/test/dummy/public/assets/ckeditor/plugins/placeholder/plugin.js +6 -0
  720. data/test/dummy/public/assets/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  721. data/test/dummy/public/assets/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  722. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_address-dc40ba9312bb0710e218987606e3f7f0.png +0 -0
  723. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  724. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_blockquote-1282e06e43bcabb0856f2124f7ce51f9.png +0 -0
  725. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  726. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_div-c27c81d18597c829de8e91c9ea39d134.png +0 -0
  727. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  728. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h1-50d65857bd34db2aa0d7b5f7dc6a4603.png +0 -0
  729. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  730. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h2-fc92d34b3a2dd29d6bf95ede204d13e3.png +0 -0
  731. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  732. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h3-ebf1718456117a9bea551f9a23dc74c7.png +0 -0
  733. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  734. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h4-a4b70caedfcd4f858f94b8c239e5cba5.png +0 -0
  735. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  736. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h5-2043019ffb4842cc76517fdd416ed19d.png +0 -0
  737. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  738. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h6-350470a92875f09e37ff10adfada6007.png +0 -0
  739. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  740. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_p-ec9d023fe50605028d4ab499eb0471a4.png +0 -0
  741. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  742. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_pre-864ef82e5c5a85693af5a1cf6e319bf8.png +0 -0
  743. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  744. data/test/dummy/public/assets/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  745. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angel_smile-bef270ca78e6fa3b45063d39ec84bc0c.gif +0 -0
  746. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  747. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angry_smile-bab741f28e98bc6d917ddfec5c0a5ca8.gif +0 -0
  748. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  749. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/broken_heart-2679345851234d3ac7c39a50db187708.gif +0 -0
  750. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  751. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/confused_smile-74cf3920a3740aa276e208a38730732f.gif +0 -0
  752. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  753. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/cry_smile-51647a8a04c77e041b26b761bb838010.gif +0 -0
  754. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  755. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/devil_smile-033fd0723bf91acd7dafeb6c92dce25e.gif +0 -0
  756. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  757. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/embaressed_smile-c8636d2a952d9b0ceeef311e9ec78a4e.gif +0 -0
  758. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  759. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/envelope-a1bd4c87ea6901474fec9db4599ec7ee.gif +0 -0
  760. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  761. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/heart-07ef8afe14a00991c3d436b7e804c761.gif +0 -0
  762. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/heart.gif +0 -0
  763. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/kiss-39a6ead1ca61839652498e2ff6643e66.gif +0 -0
  764. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  765. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/lightbulb-fdd5a5b671bc3b3bd4dabfc9730bce74.gif +0 -0
  766. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  767. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/omg_smile-c3eb09606761c3991e1de4d9d31a0e73.gif +0 -0
  768. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  769. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/regular_smile-a94edeadc3bfc87a010e9ea79cbc8daa.gif +0 -0
  770. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  771. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/sad_smile-c00123adfc80fb7d76f18daedfaf0ef3.gif +0 -0
  772. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  773. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/shades_smile-69773406c7c9209f5829139f951498d2.gif +0 -0
  774. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  775. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/teeth_smile-688e966965311f30254197f1d062bc7f.gif +0 -0
  776. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  777. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_down-9bddb23dd9680dfd66dd85271574c374.gif +0 -0
  778. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  779. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_up-946b16fd78b6459336ec8ed64b8ee14f.gif +0 -0
  780. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  781. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/tounge_smile-2446b921c5b4d83fbd6cf8501da54b61.gif +0 -0
  782. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  783. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile-7deb36f7f73a655cfa8ee463f011b4fb.gif +0 -0
  784. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  785. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/wink_smile-f4031efedd01f310c2e5e660252be2e9.gif +0 -0
  786. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  787. data/test/dummy/public/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  788. data/test/dummy/public/assets/ckeditor/plugins/specialchar/lang/en.js +6 -0
  789. data/test/dummy/{tmp/cache/assets/CFB/870/sprockets%2Feb5658a4a2c12e389e4c405f0113a0a7 → public/assets/ckeditor/plugins/styles/styles/default.js} +0 -0
  790. data/test/dummy/{tmp/cache/assets/D07/B30/sprockets%2F0640b99ec5e303921065ac4c0ff8b7f0 → public/assets/ckeditor/plugins/stylesheetparser/plugin.js} +0 -0
  791. data/test/dummy/public/assets/ckeditor/plugins/table/dialogs/table.js +9 -0
  792. data/test/dummy/public/assets/ckeditor/plugins/tableresize/plugin.js +7 -0
  793. data/test/dummy/public/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  794. data/test/dummy/public/assets/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  795. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/default.js +6 -0
  796. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template1-fc3a0467b794d4f6736584e0e59881ce.gif +0 -0
  797. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  798. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template2-b1679d5593cbba03a06fb099d582fcfe.gif +0 -0
  799. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  800. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template3-5cb326d589cb45a0a162dbb197739113.gif +0 -0
  801. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  802. data/test/dummy/public/assets/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  803. data/test/dummy/public/assets/ckeditor/plugins/uicolor/lang/en.js +6 -0
  804. data/test/dummy/public/assets/ckeditor/plugins/uicolor/lang/he.js +6 -0
  805. data/test/dummy/public/assets/ckeditor/plugins/uicolor/plugin.js +6 -0
  806. data/test/dummy/public/assets/ckeditor/plugins/uicolor/uicolor-fef7040d883249956c259d82fe466438.gif +0 -0
  807. data/test/dummy/public/assets/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  808. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_bg-2a1476b227b192de64c910eb7c7d1959.png +0 -0
  809. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  810. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_thumb-1fcd818d192a2145b4889954916e6989.png +0 -0
  811. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  812. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_mask-f94a3d8be4cbac6181070a091d00d08c.png +0 -0
  813. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  814. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_thumb-54fc5a034b6db450cd260c160b4aa1da.png +0 -0
  815. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  816. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  817. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  818. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/ciframe-b2a46fc6f5f4795ef6bf5a381ed48e41.html +49 -0
  819. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  820. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset-f8fccfa58764e0f1247064bf8290484b.html +52 -0
  821. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  822. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  823. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  824. data/test/dummy/public/assets/ckeditor/plugins/xml/plugin.js +6 -0
  825. data/test/dummy/public/assets/ckeditor/skins/kama/dialog.css +10 -0
  826. data/test/dummy/{tmp/cache/assets/D00/7A0/sprockets%2F3ee0dfa5072b54505817cb4bf934201e → public/assets/ckeditor/skins/kama/editor.css} +0 -0
  827. data/test/dummy/public/assets/ckeditor/skins/kama/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  828. data/test/dummy/public/assets/ckeditor/skins/kama/icons.png +0 -0
  829. data/test/dummy/public/assets/ckeditor/skins/kama/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  830. data/test/dummy/public/assets/ckeditor/skins/kama/icons_rtl.png +0 -0
  831. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  832. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  833. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  834. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  835. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  836. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  837. data/test/dummy/public/assets/ckeditor/skins/kama/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  838. data/test/dummy/public/assets/ckeditor/skins/kama/images/mini.gif +0 -0
  839. data/test/dummy/public/assets/ckeditor/skins/kama/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  840. data/test/dummy/public/assets/ckeditor/skins/kama/images/noimage.png +0 -0
  841. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites-2f4be37dfe20462d3879fa9e97be7c4b.png +0 -0
  842. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites.png +0 -0
  843. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites_ie6-0657a22bf8896c14fa3bab9aa8ce4625.png +0 -0
  844. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  845. data/test/dummy/public/assets/ckeditor/skins/kama/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  846. data/test/dummy/public/assets/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  847. data/test/dummy/public/assets/ckeditor/skins/kama/skin.js +7 -0
  848. data/test/dummy/public/assets/ckeditor/skins/kama/templates.css +6 -0
  849. data/test/dummy/public/assets/ckeditor/skins/office2003/dialog.css +9 -0
  850. data/test/dummy/{tmp/cache/assets/DC6/890/sprockets%2F41b80fcec0c085408c41ecadc877df0f → public/assets/ckeditor/skins/office2003/editor.css} +0 -0
  851. data/test/dummy/public/assets/ckeditor/skins/office2003/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  852. data/test/dummy/public/assets/ckeditor/skins/office2003/icons.png +0 -0
  853. data/test/dummy/public/assets/ckeditor/skins/office2003/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  854. data/test/dummy/public/assets/ckeditor/skins/office2003/icons_rtl.png +0 -0
  855. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides-566f701a7fb1582bb8aa56aa23a08650.gif +0 -0
  856. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides-63b6dee922b8534a4dffc35b89ab1a55.png +0 -0
  857. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  858. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  859. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides_rtl-8db16a93f455a72394cfc976eb4cadb4.png +0 -0
  860. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  861. data/test/dummy/public/assets/ckeditor/skins/office2003/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  862. data/test/dummy/public/assets/ckeditor/skins/office2003/images/mini.gif +0 -0
  863. data/test/dummy/public/assets/ckeditor/skins/office2003/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  864. data/test/dummy/public/assets/ckeditor/skins/office2003/images/noimage.png +0 -0
  865. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites-4c0eb4a3d1eaf4ed444aec605899d073.png +0 -0
  866. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites.png +0 -0
  867. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites_ie6-f4c92c03a74d3ca5ed75eab5d0efc218.png +0 -0
  868. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  869. data/test/dummy/{tmp/cache/assets/C8D/E30/sprockets%2F24444bdc865de860f4b693233c973844 → public/assets/ckeditor/skins/office2003/skin.js} +0 -0
  870. data/test/dummy/public/assets/ckeditor/skins/office2003/templates.css +6 -0
  871. data/test/dummy/public/assets/ckeditor/skins/v2/dialog.css +9 -0
  872. data/test/dummy/public/assets/ckeditor/skins/v2/editor.css +13 -0
  873. data/test/dummy/public/assets/ckeditor/skins/v2/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  874. data/test/dummy/public/assets/ckeditor/skins/v2/icons.png +0 -0
  875. data/test/dummy/public/assets/ckeditor/skins/v2/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  876. data/test/dummy/public/assets/ckeditor/skins/v2/icons_rtl.png +0 -0
  877. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  878. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  879. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  880. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  881. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  882. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  883. data/test/dummy/public/assets/ckeditor/skins/v2/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  884. data/test/dummy/public/assets/ckeditor/skins/v2/images/mini.gif +0 -0
  885. data/test/dummy/public/assets/ckeditor/skins/v2/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  886. data/test/dummy/public/assets/ckeditor/skins/v2/images/noimage.png +0 -0
  887. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites-c3f7ae056042da169ec1a81f18eb31e6.png +0 -0
  888. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites.png +0 -0
  889. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites_ie6-f87b6810a17d1fd9740f7e9eb27f351f.png +0 -0
  890. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  891. data/test/dummy/public/assets/ckeditor/skins/v2/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  892. data/test/dummy/public/assets/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  893. data/test/dummy/public/assets/ckeditor/skins/v2/skin.js +6 -0
  894. data/test/dummy/public/assets/ckeditor/skins/v2/templates.css +6 -0
  895. data/test/dummy/public/assets/ckeditor/themes/default/theme.js +8 -0
  896. data/test/dummy/public/assets/manifest.yml +234 -0
  897. data/test/dummy/public/assets/rich/application-408b1cef5ce535a25f501b1963eaadd9.js +19 -0
  898. data/test/dummy/public/assets/rich/application-408b1cef5ce535a25f501b1963eaadd9.js.gz +0 -0
  899. data/test/dummy/public/assets/rich/application-5707b8b085e9adf29512f54e5d1bb062.css +1 -0
  900. data/test/dummy/public/assets/rich/application-5707b8b085e9adf29512f54e5d1bb062.css.gz +0 -0
  901. data/test/dummy/public/assets/rich/application.css +1 -0
  902. data/test/dummy/public/assets/rich/application.css.gz +0 -0
  903. data/test/dummy/public/assets/rich/application.js +19 -0
  904. data/test/dummy/public/assets/rich/application.js.gz +0 -0
  905. data/test/dummy/public/assets/rich/base-4c97f18739b5160edb94f939a4d129ed.js +11 -0
  906. data/test/dummy/public/assets/rich/base-4c97f18739b5160edb94f939a4d129ed.js.gz +0 -0
  907. data/test/dummy/public/assets/rich/base.js +11 -0
  908. data/test/dummy/public/assets/rich/base.js.gz +0 -0
  909. data/test/dummy/public/assets/rich/images-be08c580ec923cabe1977cba7a5f3b4e.png +0 -0
  910. data/test/dummy/public/assets/rich/images.png +0 -0
  911. data/test/dummy/public/assets/rich/plus-dc3f927158bd63e9e504608f186c09c2.png +0 -0
  912. data/test/dummy/public/assets/rich/plus-red-13c9e0cc64bcf1fc3a5af70d5ed212ba.png +0 -0
  913. data/test/dummy/public/assets/rich/plus-red.png +0 -0
  914. data/test/dummy/public/assets/rich/plus.png +0 -0
  915. data/test/dummy/public/assets/rich/x-red-29997c7fff3174ed6dd2fbc50be3afac.png +0 -0
  916. data/test/dummy/public/assets/rich/x-red.png +0 -0
  917. data/test/dummy/tmp/cache/assets/C06/710/sprockets%2F8af9e25749241939f390509d20792815 +0 -0
  918. data/test/dummy/tmp/cache/assets/C32/0F0/sprockets%2F149ca330c1a5a00561c265b103246858 +0 -0
  919. data/test/dummy/tmp/cache/assets/C32/C40/sprockets%2Ff459d7671964c49e413971720514ba68 +0 -0
  920. data/test/dummy/tmp/cache/assets/C40/B90/sprockets%2F569d683250884929c82ce815f1749e81 +0 -0
  921. data/test/dummy/tmp/cache/assets/C48/440/sprockets%2F32844d510659827480b8a1213e6a2af5 +0 -0
  922. data/test/dummy/tmp/cache/assets/C4E/680/sprockets%2F36f2033c1306b72059d82b49209687ec +0 -0
  923. data/test/dummy/tmp/cache/assets/C50/240/sprockets%2F1239ff9682734d0e51871373a51108cc +0 -0
  924. data/test/dummy/tmp/cache/assets/C59/EA0/sprockets%2F18d48e64651c574775b0503f68800e3e +0 -0
  925. data/test/dummy/tmp/cache/assets/C5C/640/sprockets%2F0fa11f77632ac7a8e096764720506999 +0 -0
  926. data/test/dummy/tmp/cache/assets/C6B/8F0/sprockets%2F319e8684d575a5826884b528b7d2d565 +0 -0
  927. data/test/dummy/tmp/cache/assets/C6E/C10/sprockets%2F22d04958b123a192d331199bd1473c0e +0 -0
  928. data/test/dummy/tmp/cache/assets/C73/290/sprockets%2F9090ba5b09d473240c301788406dd36a +0 -0
  929. data/test/dummy/tmp/cache/assets/C7E/3F0/sprockets%2F59dc60cc2216e8c008e3461059c50867 +0 -0
  930. data/test/dummy/tmp/cache/assets/C81/330/sprockets%2F230389fcdf278e2b64685401016451ff +0 -0
  931. data/test/dummy/tmp/cache/assets/C91/AF0/sprockets%2F80725049568a1c1b6765663796e9bebc +0 -0
  932. data/test/dummy/tmp/cache/assets/C99/430/sprockets%2F1027b261dc3bd6202585ad4d830263c6 +0 -0
  933. data/test/dummy/tmp/cache/assets/CA3/970/sprockets%2F9af3532100025f93c2604b739cd6b3a9 +0 -0
  934. data/test/dummy/tmp/cache/assets/CA5/BC0/sprockets%2F54140182f1546dc2a14ecc93562635de +0 -0
  935. data/test/dummy/tmp/cache/assets/CA7/5E0/sprockets%2F4c16aa314e932793c102c84062d397cf +0 -0
  936. data/test/dummy/tmp/cache/assets/CB2/C10/sprockets%2F03934299c89f790b6833b280fb4a01ad +0 -0
  937. data/test/dummy/tmp/cache/assets/CB5/EA0/sprockets%2F9a5a0f6a06d14e79336f787d1583a730 +0 -0
  938. data/test/dummy/tmp/cache/assets/CB6/470/sprockets%2F796e8921ac7b11e0178c46505c45d65e +0 -0
  939. data/test/dummy/tmp/cache/assets/CB6/ED0/sprockets%2F217e63b55023fa89f456fd47b358146b +0 -0
  940. data/test/dummy/tmp/cache/assets/CB8/7F0/sprockets%2F16f038d34c58a8ff1b39358f4d602384 +0 -0
  941. data/test/dummy/tmp/cache/assets/CB8/AE0/sprockets%2F163cb891a42a909f1e990f3fa7485371 +0 -0
  942. data/test/dummy/tmp/cache/assets/CBA/230/sprockets%2F9ef98cb0db8d4b36199942b170009257 +0 -0
  943. data/test/dummy/tmp/cache/assets/CBA/700/sprockets%2F0669df32d9ec0572379442d9c980d04a +0 -0
  944. data/test/dummy/tmp/cache/assets/CBB/670/sprockets%2Fd89670cda692273a59827741fe4aa632 +0 -0
  945. data/test/dummy/tmp/cache/assets/CBE/6C0/sprockets%2F16cba3296ff364558f306368790afe82 +0 -0
  946. data/test/dummy/tmp/cache/assets/CBE/A80/sprockets%2F60bb9087aed9745744925f6ce01525d9 +0 -0
  947. data/test/dummy/tmp/cache/assets/CBF/5D0/sprockets%2F726aebb9c33c537776cb315888545c83 +0 -0
  948. data/test/dummy/tmp/cache/assets/CC0/3A0/sprockets%2F6045c04a3011d8320cd9a522dca2517f +0 -0
  949. data/test/dummy/tmp/cache/assets/CC1/8E0/sprockets%2Fa04eae552199d48918b393619b8785da +0 -0
  950. data/test/dummy/tmp/cache/assets/CC2/280/sprockets%2F09195cecf24b2272e4e780f9880d5676 +0 -0
  951. data/test/dummy/tmp/cache/assets/CC2/E60/sprockets%2F205e7507c5102dabfe49ad001362330f +0 -0
  952. data/test/dummy/tmp/cache/assets/CC4/BF0/sprockets%2F93d5b131135a09e48369e02ba5c01b0a +0 -0
  953. data/test/dummy/tmp/cache/assets/CC9/070/sprockets%2Fe764c27f405439d55fddce9490954628 +0 -0
  954. data/test/dummy/tmp/cache/assets/CCA/250/sprockets%2Face21e3e32abf4d0264e736331071546 +0 -0
  955. data/test/dummy/tmp/cache/assets/CD3/220/sprockets%2F73ab25970102f10b8d36297bb2d63fa6 +0 -0
  956. data/test/dummy/tmp/cache/assets/CD4/8A0/sprockets%2Fd265751b74957012ce4d11aaa5b47e72 +0 -0
  957. data/test/dummy/tmp/cache/assets/CD8/9F0/sprockets%2Fa5d5213d6e2a682f081380bc88f6d303 +0 -0
  958. data/test/dummy/tmp/cache/assets/CD9/2C0/sprockets%2Fe935dd8ad5170521347cd108c986d0a0 +0 -0
  959. data/test/dummy/tmp/cache/assets/CD9/7D0/sprockets%2F4ff141721c37c8515d649b82614c0beb +0 -0
  960. data/test/dummy/tmp/cache/assets/CDB/640/sprockets%2F704ba1625d75d9ea91e432d157c5d074 +0 -0
  961. data/test/dummy/tmp/cache/assets/CDC/9E0/sprockets%2Fea79eb25849447bd373008bd9412da02 +0 -0
  962. data/test/dummy/tmp/cache/assets/CDC/EC0/sprockets%2Fe59936bc77fc0e28f016123f2b517a50 +0 -0
  963. data/test/dummy/tmp/cache/assets/CDD/460/sprockets%2F6ae479e6144212236cb4dceed7228732 +0 -0
  964. data/test/dummy/tmp/cache/assets/CDD/D50/sprockets%2Faee2002e4369cf20946112efcb776089 +0 -0
  965. data/test/dummy/tmp/cache/assets/CDE/6F0/sprockets%2F2d2ed3165588183d667f4ffd2b30c402 +0 -0
  966. data/test/dummy/tmp/cache/assets/CE1/C70/sprockets%2F75308c93d936373ce20bc91a590ac83e +0 -0
  967. data/test/dummy/tmp/cache/assets/CE2/E20/sprockets%2F19a5d182c23b8147bec26468bf179c54 +0 -0
  968. data/test/dummy/tmp/cache/assets/CE3/540/sprockets%2F33382b2435cefc4778be15e9af255821 +0 -0
  969. data/test/dummy/tmp/cache/assets/CE4/220/sprockets%2F290d98798b38e3a3da3b00d94a591c81 +0 -0
  970. data/test/dummy/tmp/cache/assets/CE4/3A0/sprockets%2F85a60ce826c5d8c60d929a0541166ee5 +0 -0
  971. data/test/dummy/tmp/cache/assets/CE6/040/sprockets%2F8977c272af2806e210f0dad260589fd7 +0 -0
  972. data/test/dummy/tmp/cache/assets/CE7/2B0/sprockets%2F478222c58734a43f98d38e7ccd51e31a +0 -0
  973. data/test/dummy/tmp/cache/assets/CE9/400/sprockets%2F90b1674ee45a286ef2e90b046f95c338 +0 -0
  974. data/test/dummy/tmp/cache/assets/CE9/A60/sprockets%2F033547d8f5288f4c8c2dc8f34064b4c5 +0 -0
  975. data/test/dummy/tmp/cache/assets/CEA/A60/sprockets%2Ff6eb622ea5a90a98b22c8362882d8763 +0 -0
  976. data/test/dummy/tmp/cache/assets/CEA/FC0/sprockets%2F0837e736b7e6e283486d257e4cb1ed50 +0 -0
  977. data/test/dummy/tmp/cache/assets/CEC/1A0/sprockets%2F87fdead6014b961bb870b5931890d677 +0 -0
  978. data/test/dummy/tmp/cache/assets/CEC/1D0/sprockets%2F08978fe24157ebf268edb04f8631c803 +0 -0
  979. data/test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2 +0 -0
  980. data/test/dummy/tmp/cache/assets/CF0/1E0/sprockets%2F3e649e0720b6777659b5a48f5c1e6ff0 +0 -0
  981. data/test/dummy/tmp/cache/assets/CF2/230/sprockets%2F9c734786ea77e117018257bb88e3a9dd +0 -0
  982. data/test/dummy/tmp/cache/assets/CF2/6E0/sprockets%2Fa01bd80e884b1b1613a110b9c3b70a87 +0 -0
  983. data/test/dummy/tmp/cache/assets/CF5/740/sprockets%2Fc66aa3636599d278d95748fc1ab449e2 +0 -0
  984. data/test/dummy/tmp/cache/assets/CFE/7A0/sprockets%2Fb3dbbbec46248d53a8019a70911a2851 +0 -0
  985. data/test/dummy/tmp/cache/assets/D03/E80/sprockets%2Fff281eb023eda0447d50a1f4357075b9 +0 -0
  986. data/test/dummy/tmp/cache/assets/D05/0B0/sprockets%2F06287f63cccc09bda419f183056d03c2 +0 -0
  987. data/test/dummy/tmp/cache/assets/D05/620/sprockets%2F638f0e16105d34a5043dbca2b8e7576d +0 -0
  988. data/test/dummy/tmp/cache/assets/D06/700/sprockets%2Ff52eb7695cc074d718c511b10e5ab093 +0 -0
  989. data/test/dummy/tmp/cache/assets/D06/B10/sprockets%2F8862201c3f85801aec555fcb495cb01b +0 -0
  990. data/test/dummy/tmp/cache/assets/D06/F80/sprockets%2F94f789ef4aa996c1413e990889de09a7 +0 -0
  991. data/test/dummy/tmp/cache/assets/D07/880/sprockets%2Fb256aa4a87e9e3082a4ca2e55605e372 +0 -0
  992. data/test/dummy/tmp/cache/assets/D09/A60/sprockets%2F030cf35268aa600c41eec96265eda796 +0 -0
  993. data/test/dummy/tmp/cache/assets/D0A/990/sprockets%2F6965ab7a91a038a6749ffa42e208b2b0 +0 -0
  994. data/test/dummy/tmp/cache/assets/D0C/C40/sprockets%2F825b1ed28572d8bc73ece168f440c032 +0 -0
  995. data/test/dummy/tmp/cache/assets/D0D/460/sprockets%2F3f90fe60e1e63361088b4e006e74ea6c +0 -0
  996. data/test/dummy/tmp/cache/assets/D0E/D40/sprockets%2Fd5b221dc424f569ae31500d819fd86c7 +0 -0
  997. data/test/dummy/tmp/cache/assets/D10/C20/sprockets%2Fdfc15953d9d95008f1fa1f48540bb722 +0 -0
  998. data/test/dummy/tmp/cache/assets/D11/3C0/sprockets%2F181ff9e1b6d2db55b5088e3a82455c70 +0 -0
  999. data/test/dummy/tmp/cache/assets/D11/F80/sprockets%2Fc90be7050c93c9b718b66a19dc60843d +0 -0
  1000. data/test/dummy/tmp/cache/assets/D12/C00/sprockets%2Fec315c7557a608edc1d8a4021698cf28 +0 -0
  1001. data/test/dummy/tmp/cache/assets/D12/DE0/sprockets%2Fdc54c95ba6778542582c60a50d584dbb +0 -0
  1002. data/test/dummy/tmp/cache/assets/D14/980/sprockets%2F85dc72862eb259cd954ab41369bc6a32 +0 -0
  1003. data/test/dummy/tmp/cache/assets/D15/F40/sprockets%2F83d1a8006e470e79f75592d63bdedc04 +0 -0
  1004. data/test/dummy/tmp/cache/assets/D16/5F0/sprockets%2F6ec6330058d5e6c478dd5d0942b08db9 +0 -0
  1005. data/test/dummy/tmp/cache/assets/D16/8A0/sprockets%2F6216fd797310aef197d571a9ba6c3a95 +0 -0
  1006. data/test/dummy/tmp/cache/assets/D18/EE0/sprockets%2Fce414b3a58399306a47cbd0e9763c87e +0 -0
  1007. data/test/dummy/tmp/cache/assets/D1B/290/sprockets%2F623d54ea15f8be55e60836e475fc970b +0 -0
  1008. data/test/dummy/tmp/cache/assets/D1D/500/sprockets%2F71e1de34b5d39e4c637f0fb0619696f7 +0 -0
  1009. data/test/dummy/tmp/cache/assets/D1E/C20/sprockets%2F7bf219b6812af739069def6b9a9e3243 +0 -0
  1010. data/test/dummy/tmp/cache/assets/D1F/B30/sprockets%2F6351ed750b17ed0f99fa01c32ff98878 +0 -0
  1011. data/test/dummy/tmp/cache/assets/D25/1E0/sprockets%2F795bf8a2f4749c75f6c30d96289d11ea +0 -0
  1012. data/test/dummy/tmp/cache/assets/D25/780/sprockets%2Fc3e863d73c5fff6787112f5d5863d38a +0 -0
  1013. data/test/dummy/tmp/cache/assets/D26/0C0/sprockets%2F980c09fe57519596fe06d29decd1358b +0 -0
  1014. data/test/dummy/tmp/cache/assets/D27/5D0/sprockets%2F948c08b8335b2d8f47da7e9de92816a7 +0 -0
  1015. data/test/dummy/tmp/cache/assets/D29/E60/sprockets%2F0142836e5efdbb150c76baa3c0e29602 +0 -0
  1016. data/test/dummy/tmp/cache/assets/D2A/FA0/sprockets%2Fa5403e1fe15018cddc4435c3cac84910 +0 -0
  1017. data/test/dummy/tmp/cache/assets/D2E/090/sprockets%2Fc54283e81ce52bf9d542ab12492a01ad +0 -0
  1018. data/test/dummy/tmp/cache/assets/D2E/B60/sprockets%2F65f405a2235cb3f3a5f0453dcf53d24c +0 -0
  1019. data/test/dummy/tmp/cache/assets/D2E/CE0/sprockets%2F97b7b4e4a92383d63ff9ec849bb95474 +0 -0
  1020. data/test/dummy/tmp/cache/assets/D2F/600/sprockets%2F729de477588a4da7bf88f0328dfb7738 +0 -0
  1021. data/test/dummy/tmp/cache/assets/D30/E90/sprockets%2F3a19bbe0320337a6bf29177da71bf1e7 +0 -0
  1022. data/test/dummy/tmp/cache/assets/D32/560/sprockets%2Fd2cc546d060a0a671d77435bc4872fba +0 -0
  1023. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  1024. data/test/dummy/tmp/cache/assets/D35/0C0/sprockets%2F09ddaa67f5cc50ac189111cdf4175831 +0 -0
  1025. data/test/dummy/tmp/cache/assets/D35/3C0/sprockets%2F99538c5e674961bf963bd43bdbf9f579 +0 -0
  1026. data/test/dummy/tmp/cache/assets/D35/B40/sprockets%2F3807e37d4ff8d7a967dd87b624de6796 +0 -0
  1027. data/test/dummy/tmp/cache/assets/D37/9B0/sprockets%2F0de49dd3031c50c7cf2ef74d6c392530 +0 -0
  1028. data/test/dummy/tmp/cache/assets/D38/050/sprockets%2Fdee81a599732afa9020af44cb9313a63 +0 -0
  1029. data/test/dummy/tmp/cache/assets/D38/4D0/sprockets%2F3ebcf9a4b9332823b5524ec50bd84a27 +0 -0
  1030. data/test/dummy/tmp/cache/assets/D38/540/sprockets%2F86e1ad844bc9df4491a2a52b870421db +0 -0
  1031. data/test/dummy/tmp/cache/assets/D3B/170/sprockets%2F410e05cbd8074abcc0e77a5c53198f78 +0 -0
  1032. data/test/dummy/tmp/cache/assets/D3F/4A0/sprockets%2Fa0b81b697c2cdeb085e1504ef95637d3 +0 -0
  1033. data/test/dummy/tmp/cache/assets/D3F/520/sprockets%2F14d8f437c24c870b33b529d1fae5da68 +0 -0
  1034. data/test/dummy/tmp/cache/assets/D40/940/sprockets%2F1f5c0d00f1226f929e9af6da66f38c33 +0 -0
  1035. data/test/dummy/tmp/cache/assets/D40/A40/sprockets%2Feb59c65dcb7136f1cd134dac36794822 +0 -0
  1036. data/test/dummy/tmp/cache/assets/D41/9E0/sprockets%2F70f86aea3a218070f91bacec84a93868 +0 -0
  1037. data/test/dummy/tmp/cache/assets/D45/9B0/sprockets%2Fd20678da12248dfe8595d2a7c2a3c69e +0 -0
  1038. data/test/dummy/tmp/cache/assets/D46/530/sprockets%2Fa0e90ef622e886e659d04b9c72611cec +0 -0
  1039. data/test/dummy/tmp/cache/assets/D47/2A0/sprockets%2F0920b56f0f94fde93f3e0678acb33e29 +0 -0
  1040. data/test/dummy/tmp/cache/assets/D48/020/sprockets%2F0ab342cf69d6b697085f4e40a83fe3d8 +0 -0
  1041. data/test/dummy/tmp/cache/assets/D48/8F0/sprockets%2F5d9ca11e57939d634318fc6fdbac5193 +0 -0
  1042. data/test/dummy/tmp/cache/assets/D4B/2F0/sprockets%2F9dbd1e9042e4b87068e6f7c1c373ad68 +0 -0
  1043. data/test/dummy/tmp/cache/assets/D4C/1D0/sprockets%2F5372d958b7cc5b25debb4ce5808f7841 +0 -0
  1044. data/test/dummy/tmp/cache/assets/D4D/650/sprockets%2Ff51d1875ad5829c7bf3ff03e920497be +0 -0
  1045. data/test/dummy/tmp/cache/assets/D4D/DD0/sprockets%2Fd59a8129bb57105764a9906fe84bdfeb +0 -0
  1046. data/test/dummy/tmp/cache/assets/D52/AA0/sprockets%2F37f88f2e59f9d840733bdfca404be763 +0 -0
  1047. data/test/dummy/tmp/cache/assets/D52/B50/sprockets%2F3d7e4e79bf948f47af601647bb66ba55 +0 -0
  1048. data/test/dummy/tmp/cache/assets/D53/630/sprockets%2F56e8a8f9eed826ac2c68c9895d0510b4 +0 -0
  1049. data/test/dummy/tmp/cache/assets/D54/390/sprockets%2Fc04d4105db620ec93f21b415c75fb1ca +0 -0
  1050. data/test/dummy/tmp/cache/assets/D54/770/sprockets%2F5a5813a5e5fc78ca9c78a88666d3bd73 +0 -0
  1051. data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +0 -0
  1052. data/test/dummy/tmp/cache/assets/D55/5C0/sprockets%2F97b52c1c0d1a002ac6fb9d702b7ab625 +0 -0
  1053. data/test/dummy/tmp/cache/assets/D56/010/sprockets%2F14d6a58774f10d0bc3cb52b0b139cce0 +0 -0
  1054. data/test/dummy/tmp/cache/assets/D58/E60/sprockets%2Fed50a16a7e75125b00224c8bc5ca6e5b +0 -0
  1055. data/test/dummy/tmp/cache/assets/D59/DA0/sprockets%2F77edbecc4b395546f2e9e7743681a6e8 +0 -0
  1056. data/test/dummy/tmp/cache/assets/D5C/6D0/sprockets%2Fee62cfd57b4e685deb79975dd6930544 +0 -0
  1057. data/test/dummy/tmp/cache/assets/D5C/B90/sprockets%2F07bff51acb0e0e126845c8d8ed000f41 +0 -0
  1058. data/test/dummy/tmp/cache/assets/D64/200/sprockets%2F4ad4ba22262ddb46a92c9ee58532b26c +0 -0
  1059. data/test/dummy/tmp/cache/assets/D64/730/sprockets%2Fc423a6ae02b82d5cb4e89038ab8e1b65 +0 -0
  1060. data/test/dummy/tmp/cache/assets/D68/930/sprockets%2F217a6ed4c70d42d314f6f84b2c8cc0c8 +0 -0
  1061. data/test/dummy/tmp/cache/assets/D69/190/sprockets%2Fa527da4d54634cf7ebf419630a5c80ae +0 -0
  1062. data/test/dummy/tmp/cache/assets/D6A/2A0/sprockets%2F25bdbe088ba6934d55a4a6d243e551ee +0 -0
  1063. data/test/dummy/tmp/cache/assets/D6C/110/sprockets%2F7f62412196a7bc3fcc903d6eb681b5da +0 -0
  1064. data/test/dummy/tmp/cache/assets/D6C/F90/sprockets%2Fcb34e531e41b981cf6ca2a5c7e70f890 +0 -0
  1065. data/test/dummy/tmp/cache/assets/D6D/230/sprockets%2F8a973955dcfc806240daaae12f158df1 +0 -0
  1066. data/test/dummy/tmp/cache/assets/D6E/8A0/sprockets%2F2decc65fc879b61e1d04ab5456627d1c +0 -0
  1067. data/test/dummy/tmp/cache/assets/D6F/E80/sprockets%2Fdc3ba56909c52883ad614fdee332b6e3 +0 -0
  1068. data/test/dummy/tmp/cache/assets/D71/1E0/sprockets%2F689da00db5abdc449993972ad2b2f4e2 +0 -0
  1069. data/test/dummy/tmp/cache/assets/D71/7C0/sprockets%2Fa8b69c06e002dad3d56ffca26f985318 +0 -0
  1070. data/test/dummy/tmp/cache/assets/D72/0F0/sprockets%2F40d4c24783b0d13d84dd998c6ae57dbb +0 -0
  1071. data/test/dummy/tmp/cache/assets/D72/680/sprockets%2F06d8b71866cfed403dbfe4190185be6c +0 -0
  1072. data/test/dummy/tmp/cache/assets/D73/990/sprockets%2F452d926974f4150c2a4beddda6f484cf +0 -0
  1073. data/test/dummy/tmp/cache/assets/D73/ED0/sprockets%2Fbc2766ea216d835dd82846f9ddca136a +0 -0
  1074. data/test/dummy/tmp/cache/assets/D77/4F0/sprockets%2F7d756119972486d9edc62bbbfeca611a +0 -0
  1075. data/test/dummy/tmp/cache/assets/D78/020/sprockets%2F616f894b59b98a70bec544b81fa3fcc1 +0 -0
  1076. data/test/dummy/tmp/cache/assets/D79/800/sprockets%2F5af3583d6bb600db8a78c7ac3a8958e7 +0 -0
  1077. data/test/dummy/tmp/cache/assets/D7A/1C0/sprockets%2F8576949b66d8ed60c5c07b2e6a77abaa +0 -0
  1078. data/test/dummy/tmp/cache/assets/D7C/140/sprockets%2F24effd11134b4c0251babb407332befc +0 -0
  1079. data/test/dummy/tmp/cache/assets/D7E/A20/sprockets%2Fb4a8ff006b13352aeb33ac507b40db4c +0 -0
  1080. data/test/dummy/tmp/cache/assets/D80/470/sprockets%2F4a379686edda03dfceb583239ec1859f +0 -0
  1081. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  1082. data/test/dummy/tmp/cache/assets/D86/3B0/sprockets%2F2532e928addecd30cb2b3a7321b5fb50 +0 -0
  1083. data/test/dummy/tmp/cache/assets/D88/930/sprockets%2F73efa5ef3060beb7c4d13db3a4140e06 +0 -0
  1084. data/test/dummy/tmp/cache/assets/D8A/FD0/sprockets%2Fab410fcaf88a64fafe1227ec0a442910 +0 -0
  1085. data/test/dummy/tmp/cache/assets/D8D/900/sprockets%2F8265ab8aeffa6df12121571a2a6dd1c4 +0 -0
  1086. data/test/dummy/tmp/cache/assets/D8E/AC0/sprockets%2Fe0363ce10843b8a1eddfa83de23d05b5 +0 -0
  1087. data/test/dummy/tmp/cache/assets/D8F/420/sprockets%2Fd2d791dba2c61a762e7bcccbb7041149 +0 -0
  1088. data/test/dummy/tmp/cache/assets/D90/220/sprockets%2F8b38adde221a05d077ada95d2a6fa228 +0 -0
  1089. data/test/dummy/tmp/cache/assets/D93/010/sprockets%2Ffef599d66e124f9f34b89537d82cedc8 +0 -0
  1090. data/test/dummy/tmp/cache/assets/D94/4C0/sprockets%2F02e7da68d3368b0c1edadff37c20193c +0 -0
  1091. data/test/dummy/tmp/cache/assets/D96/E90/sprockets%2Ff43f31dd3e2d9f8eda108c01c42bd457 +0 -0
  1092. data/test/dummy/tmp/cache/assets/D97/D40/sprockets%2Feb26ba6167e9c58eeb621a295ad6d1a0 +0 -0
  1093. data/test/dummy/tmp/cache/assets/D98/BF0/sprockets%2F132c8dc4d7ba67c8faee429e5064a02c +0 -0
  1094. data/test/dummy/tmp/cache/assets/D9A/BF0/sprockets%2F54ba2408b8fa027e98f62fac2ad922ce +0 -0
  1095. data/test/dummy/tmp/cache/assets/D9B/AF0/sprockets%2Fd65eaa4a1156b572fd8f133fe64e08bd +0 -0
  1096. data/test/dummy/tmp/cache/assets/D9C/620/sprockets%2F510748ae4edb09e7c31f53aa96ddc9a2 +0 -0
  1097. data/test/dummy/tmp/cache/assets/D9C/CD0/sprockets%2Fc85016e7bbd4f3adbb7635d01f85d39b +0 -0
  1098. data/test/dummy/tmp/cache/assets/D9D/EF0/sprockets%2F7d8a72d7b4ed84b6bdb0ff0436e231b8 +0 -0
  1099. data/test/dummy/tmp/cache/assets/D9E/E50/sprockets%2Faac2752ed3d6a0fe0b2a8fef39565953 +0 -0
  1100. data/test/dummy/tmp/cache/assets/D9E/E80/sprockets%2Fccde18986a7f5b20a1e38de1f1e28d51 +0 -0
  1101. data/test/dummy/tmp/cache/assets/D9F/2C0/sprockets%2Ffd3cca19ffecf38630c2561d53f039a7 +0 -0
  1102. data/test/dummy/tmp/cache/assets/D9F/640/sprockets%2Fe4c1ef66e594b1c083a9e81dddb8b124 +0 -0
  1103. data/test/dummy/tmp/cache/assets/D9F/EF0/sprockets%2F5119bab51b3f7fb186e39b15f8e3ceb6 +0 -0
  1104. data/test/dummy/tmp/cache/assets/DA0/200/sprockets%2F2abe9ef81b9d72f23be431456a07dfe5 +0 -0
  1105. data/test/dummy/tmp/cache/assets/DA0/470/sprockets%2F660b00cd12b79bcf9799a44efc0a9d5c +0 -0
  1106. data/test/dummy/tmp/cache/assets/DA1/2D0/sprockets%2Fc12c90ffc7f409650d0b6f8d4d659abb +0 -0
  1107. data/test/dummy/tmp/cache/assets/DA1/9B0/sprockets%2F69400bcb146fefda82cec75703d7f26f +0 -0
  1108. data/test/dummy/tmp/cache/assets/DA2/090/sprockets%2Faded77aff3b46dd56336f901b2d2f069 +0 -0
  1109. data/test/dummy/tmp/cache/assets/DA5/D50/sprockets%2F4cd7af86f9a11f423ed05568ada2f97b +0 -0
  1110. data/test/dummy/tmp/cache/assets/DA6/F20/sprockets%2F2c2a887ca54f707a7b9dc19ecd654fc2 +0 -0
  1111. data/test/dummy/tmp/cache/assets/DA7/240/sprockets%2F7928fa4e4f203a8ef3a5907e6ae1c5fe +0 -0
  1112. data/test/dummy/tmp/cache/assets/DA9/260/sprockets%2Fc1fcec56269feb7958b43758a30cd4ae +0 -0
  1113. data/test/dummy/tmp/cache/assets/DA9/AC0/sprockets%2F2e99c05d2d4a6dd07ceecd1e36828e59 +0 -0
  1114. data/test/dummy/tmp/cache/assets/DAA/DD0/sprockets%2F98df97d3b62502d96af3ef3f10ca9b8b +0 -0
  1115. data/test/dummy/tmp/cache/assets/DAD/160/sprockets%2F779c8f22affde5dc2631981e53fcf13e +0 -0
  1116. data/test/dummy/tmp/cache/assets/DAD/860/sprockets%2Ffb3e8a99d50d6d3be208e574e47afe73 +0 -0
  1117. data/test/dummy/tmp/cache/assets/DB2/F20/sprockets%2Fcb07505f1faa065c7bfb2ab4a31f40a9 +0 -0
  1118. data/test/dummy/tmp/cache/assets/DB3/6F0/sprockets%2F20fa86f45ee5f7453ece4819df6d65af +0 -0
  1119. data/test/dummy/tmp/cache/assets/DB4/440/sprockets%2Fa64d973fe3bbdb73cc1e59699df67b81 +0 -0
  1120. data/test/dummy/tmp/cache/assets/DB5/CA0/sprockets%2Ffa625eadca02a2714be1b332fa85e5a5 +0 -0
  1121. data/test/dummy/tmp/cache/assets/DB8/FD0/sprockets%2Fe17c4077f7547f8a485b4deddf7c7ef4 +0 -0
  1122. data/test/dummy/tmp/cache/assets/DB9/240/sprockets%2F689d916cf738bdb67e176fced176e3af +0 -0
  1123. data/test/dummy/tmp/cache/assets/DBA/540/sprockets%2F3b28b072eeb23fd67aba01347a7dda2f +0 -0
  1124. data/test/dummy/tmp/cache/assets/DBA/AB0/sprockets%2F8be4208fd77cb5ef9b6f77e5fcf18670 +0 -0
  1125. data/test/dummy/tmp/cache/assets/{C53/680/sprockets%2F03d11661470de7443c495783330d9ee7 → DBE/F10/sprockets%2F4a23bf51d61d48d0be90508cd8d2bbcb} +0 -0
  1126. data/test/dummy/tmp/cache/assets/DBF/C50/sprockets%2Fdb013e77ca9c14c50c8dbc4a7ab4429c +0 -0
  1127. data/test/dummy/tmp/cache/assets/DC3/590/sprockets%2Fdce8a48dd0703d22b7d6ab522df29be1 +0 -0
  1128. data/test/dummy/tmp/cache/assets/DC7/B50/sprockets%2Fe607ccbbc942a27f068f22c57a3d3cec +0 -0
  1129. data/test/dummy/tmp/cache/assets/DCD/E40/sprockets%2Fda95cabb662b0875d1de8b666aa06ce8 +0 -0
  1130. data/test/dummy/tmp/cache/assets/DCE/820/sprockets%2Ffe5727ad047bfec93afaf014b2c07d89 +0 -0
  1131. data/test/dummy/tmp/cache/assets/DCF/DD0/sprockets%2F93108cbffaba93b4296df4b45b736bcf +0 -0
  1132. data/test/dummy/tmp/cache/assets/DD0/A90/sprockets%2Ffe24ca2c2ef212efc397e74cff6714f0 +0 -0
  1133. data/test/dummy/tmp/cache/assets/DD3/D30/sprockets%2F28403b8ee0b6d2c19f8dd3c83fd6ec5c +0 -0
  1134. data/test/dummy/tmp/cache/assets/DD7/050/sprockets%2Fcb0f2b238b9b9b79a599fb3d742eeaa7 +0 -0
  1135. data/test/dummy/tmp/cache/assets/DD7/B50/sprockets%2F7effa89c4b23ab60109f969a9a66ccbc +0 -0
  1136. data/test/dummy/tmp/cache/assets/DD8/970/sprockets%2Feadb32ccdc26918d346e7bc8654ea8e8 +0 -0
  1137. data/test/dummy/tmp/cache/assets/DD8/E60/sprockets%2F6f8c69a7360dab45ea41ac6fcf38d4e9 +0 -0
  1138. data/test/dummy/tmp/cache/assets/DDE/420/sprockets%2Ffb8b186d5bf0307f86f65fc787d2adeb +0 -0
  1139. data/test/dummy/tmp/cache/assets/DDF/330/sprockets%2Fd6daea6adb59ee6a8d7a16a94f365588 +0 -0
  1140. data/test/dummy/tmp/cache/assets/DE2/D10/sprockets%2F71aed9ab8fc47abd7d9de446b5793c76 +0 -0
  1141. data/test/dummy/tmp/cache/assets/DE4/040/sprockets%2Fd8efa9bd9f1e6159b9de162c44d7ad96 +0 -0
  1142. data/test/dummy/tmp/cache/assets/DE4/A90/sprockets%2F3bb6bd56fa97b73c27d8fef42f71cf98 +0 -0
  1143. data/test/dummy/tmp/cache/assets/DE4/BE0/sprockets%2Fa4dd939f8a29fe03643cfd84bffd79e1 +0 -0
  1144. data/test/dummy/tmp/cache/assets/DF0/680/sprockets%2F5e8210564bdda6fcef1fa19aa04b5e6a +0 -0
  1145. data/test/dummy/tmp/cache/assets/DF4/4E0/sprockets%2F4913905a34cde57a0edb343ce5daeeaf +0 -0
  1146. data/test/dummy/tmp/cache/assets/DF6/CC0/sprockets%2Fec0298fa8b5ae8a2eb26af7c0b380dc4 +0 -0
  1147. data/test/dummy/tmp/cache/assets/DF8/020/sprockets%2F708d52eabc7b58afd72c360eb8deb15a +0 -0
  1148. data/test/dummy/tmp/cache/assets/DFB/0C0/sprockets%2Fd35f36529da4a7a4cf67cdbe0a3bf27e +0 -0
  1149. data/test/dummy/tmp/cache/assets/DFE/AD0/sprockets%2Ff34f47e6d8bfa41dd87ab015c674ebca +0 -0
  1150. data/test/dummy/tmp/cache/assets/DFF/B50/sprockets%2Ffbf86ba72b8abb6dd139cd582b4db681 +0 -0
  1151. data/test/dummy/tmp/cache/assets/E03/4F0/sprockets%2Fe2fa5149cabd37ffed192d8b7ba6e077 +0 -0
  1152. data/test/dummy/tmp/cache/assets/E03/960/sprockets%2F585c9bdd911f5caf61f5adebf3f640f2 +0 -0
  1153. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  1154. data/test/dummy/tmp/cache/assets/E09/680/sprockets%2Fff9edf3a74399a0818b02efcff3ad0f7 +0 -0
  1155. data/test/dummy/tmp/cache/assets/E0B/8B0/sprockets%2F35f64adcaf8786c81c0def5dd2ff47d3 +0 -0
  1156. data/test/dummy/tmp/cache/assets/E14/A50/sprockets%2F7970fc82e2877cf4bbb91f76ebfcfa6d +0 -0
  1157. data/test/dummy/tmp/cache/assets/E1B/EB0/sprockets%2Fb32811ced5b78c4cdccad030b64fef1b +0 -0
  1158. data/test/dummy/tmp/cache/assets/E1D/630/sprockets%2Fa321239deaf9ccb117f1ecffbdd1a056 +0 -0
  1159. data/test/dummy/tmp/cache/assets/E25/AE0/sprockets%2F23f44ceee0a2bad4fc3a8fe74b0477cd +0 -0
  1160. data/test/dummy/tmp/cache/assets/E27/290/sprockets%2Fbf0cd6d69fd60fa28cb76b0eb51b0f7b +0 -0
  1161. data/test/dummy/tmp/cache/assets/E2D/6E0/sprockets%2Fe1e94cc795ddcaf7ef6ba13d4a509c1b +0 -0
  1162. data/test/dummy/tmp/cache/assets/E2D/DB0/sprockets%2Fda16ffa3725b3fe51ae95abbad0ff887 +0 -0
  1163. data/test/dummy/tmp/cache/assets/E44/7A0/sprockets%2F58a1a8e8ff2d672bf8ffd80dce8e70fd +0 -0
  1164. data/test/dummy/tmp/cache/assets/E49/BA0/sprockets%2F24e821bf3cfada7cfddc318cd621d0aa +0 -0
  1165. data/test/dummy/tmp/cache/assets/E60/C40/sprockets%2Ffa41e9dfffc6d34c402c80eff5dabf18 +0 -0
  1166. data/test/dummy/tmp/cache/assets/E6D/4E0/sprockets%2F3edab8d9966c539f7bb9b8ead21cfbbf +0 -0
  1167. data/test/dummy/tmp/cache/assets/E6E/B50/sprockets%2Fe983dcd4be2ffedb4723cd8bde58e29c +0 -0
  1168. data/test/dummy/tmp/cache/assets/E88/F70/sprockets%2Fab54fcc2f3ee44ebc8fa4fdd3a50bf38 +0 -0
  1169. data/test/dummy/tmp/cache/assets/EA3/550/sprockets%2F4e5efb3ae39d439faf3dda8d8e99bdfc +0 -0
  1170. data/test/dummy/tmp/cache/assets/EE3/2F0/sprockets%2F8adda8a2ada1dfd4acf2ea79bba77be5 +0 -0
  1171. data/test/dummy/tmp/cache/sass/4905b1148d31ac1351d8ccf185fbd2494a596795/application.css.scssc +0 -0
  1172. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_base.css.scssc +0 -0
  1173. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_forms.css.scssc +0 -0
  1174. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_header.css.scssc +0 -0
  1175. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_mixins.css.scssc +0 -0
  1176. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_typography.css.scssc +0 -0
  1177. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_all.css.scssc +0 -0
  1178. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_buttons.css.scssc +0 -0
  1179. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_gradients.css.scssc +0 -0
  1180. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_icons.css.scssc +0 -0
  1181. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_reset.css.scssc +0 -0
  1182. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_rounded.css.scssc +0 -0
  1183. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_sections.css.scssc +0 -0
  1184. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_shadows.css.scssc +0 -0
  1185. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_utilities.scssc +0 -0
  1186. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_variables.css.scssc +0 -0
  1187. data/test/dummy/tmp/cache/sass/9b29130c260e464c0ad2c23c77a58da7c3f9eec7/active_admin.css.scssc +0 -0
  1188. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_comments.css.scssc +0 -0
  1189. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_date_picker.css.scssc +0 -0
  1190. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_flash_messages.css.scssc +0 -0
  1191. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_tables.css.scssc +0 -0
  1192. data/test/dummy/tmp/cache/sass/ddba83cb438190ca32bf384b6eea0c3ef82ae9fa/reset.css.scssc +0 -0
  1193. metadata +2311 -172
  1194. data/lib/rich/form_builder.rb +0 -14
  1195. data/lib/rich/legacy_formtastic.rb +0 -15
  1196. data/lib/rich/view_helper.rb +0 -48
  1197. data/test/dummy/tmp/cache/assets/C2B/5B0/sprockets%2F0c71315129cf9540624929678219ee7b +0 -0
  1198. data/test/dummy/tmp/cache/assets/C51/3D0/sprockets%2F110c288a88ab99a1399d35171079612c +0 -0
  1199. data/test/dummy/tmp/cache/assets/C53/630/sprockets%2F0680b1b2c967d3c84970e3786800641c +0 -0
  1200. data/test/dummy/tmp/cache/assets/C7F/C10/sprockets%2F356f0929a286c961448d76c12a2e14b1 +0 -0
  1201. data/test/dummy/tmp/cache/assets/CAB/440/sprockets%2Fed2218494b3b8488b7268c00e717a0c1 +0 -0
  1202. data/test/dummy/tmp/cache/assets/CB4/740/sprockets%2F36fd3817633b234824bc6577f25ffe01 +0 -0
  1203. data/test/dummy/tmp/cache/assets/CC4/040/sprockets%2F83a9f5f7314b761bbd7f1858d1998045 +0 -0
  1204. data/test/dummy/tmp/cache/assets/CC4/590/sprockets%2F869369b5c848f745b23ba174ca9197a6 +0 -0
  1205. data/test/dummy/tmp/cache/assets/CC7/5F0/sprockets%2F8bf37168fb70e08b9e4578e72739a543 +0 -0
  1206. data/test/dummy/tmp/cache/assets/CD5/340/sprockets%2Fae698307143f445c5011d6ad90b4cf60 +0 -0
  1207. data/test/dummy/tmp/cache/assets/CE4/510/sprockets%2F3271d0cbd86553a56768f4d130ec5e59 +0 -0
  1208. data/test/dummy/tmp/cache/assets/CE8/310/sprockets%2F4ab24984d5862f28160f1f4f067e2ef4 +0 -0
  1209. data/test/dummy/tmp/cache/assets/CED/2E0/sprockets%2F82382552d084b0569dfd88e34d1cb7e8 +0 -0
  1210. data/test/dummy/tmp/cache/assets/CF0/A80/sprockets%2Fd1de761043f6d817880d4b876a73bf87 +0 -0
  1211. data/test/dummy/tmp/cache/assets/CF9/EC0/sprockets%2F04ba1f02c639d30c53eb7b51640b937a +0 -0
  1212. data/test/dummy/tmp/cache/assets/D00/C00/sprockets%2F0a61e8d7b11a463083da24605e65d5dd +0 -0
  1213. data/test/dummy/tmp/cache/assets/D11/D20/sprockets%2Fcac21eac42152981882bf9e489316af4 +0 -0
  1214. data/test/dummy/tmp/cache/assets/D13/970/sprockets%2F1fd634278255bc58382a590fd5cf24cc +0 -0
  1215. data/test/dummy/tmp/cache/assets/D1D/1A0/sprockets%2Fc2e11e4152a31726c2cbab7333c74ba2 +0 -0
  1216. data/test/dummy/tmp/cache/assets/D2F/390/sprockets%2Fa02968dd653b0e650fc202c33ff42fc0 +0 -0
  1217. data/test/dummy/tmp/cache/assets/D34/080/sprockets%2Fe398005214c8d65a54fc19fca2c00c8b +0 -0
  1218. data/test/dummy/tmp/cache/assets/D3C/070/sprockets%2F2377eb8a729535e35abd593a6fc00ba6 +0 -0
  1219. data/test/dummy/tmp/cache/assets/D3E/B20/sprockets%2F1f79ee84bd6d74d100c5cb018b662b67 +0 -0
  1220. data/test/dummy/tmp/cache/assets/D48/9F0/sprockets%2F6ed3c460867ee6d748edad50818d332a +0 -0
  1221. data/test/dummy/tmp/cache/assets/D52/9B0/sprockets%2F736738bf59f956eb15c4bff06d980be0 +0 -0
  1222. data/test/dummy/tmp/cache/assets/D61/940/sprockets%2Fca03651b8f5fb1416c9945cda71ab22d +0 -0
  1223. data/test/dummy/tmp/cache/assets/D78/9D0/sprockets%2Ff56eced46698105ad2e9d46b1e2ee228 +0 -0
  1224. data/test/dummy/tmp/cache/assets/D86/710/sprockets%2F409dbeb796f68c91b60fe29aef7817e3 +0 -0
  1225. data/test/dummy/tmp/cache/assets/DC5/450/sprockets%2F82d256faac73d9a3ec5c4f1d11be525d +0 -0
  1226. data/test/dummy/tmp/cache/assets/DCE/890/sprockets%2Ffd6332ebff4dab12cdf448e195d6b381 +0 -0
  1227. data/test/dummy/tmp/cache/assets/DE7/7C0/sprockets%2F75aa5c034633c20d9c4d1bffbbbdc23d +0 -0
  1228. data/test/dummy/tmp/cache/assets/DFF/4D0/sprockets%2F0d7eae306cc4e83ae549e96b1b6da8db +0 -0
  1229. data/test/dummy/tmp/cache/assets/E06/920/sprockets%2F6baa37d1c26468aef4fe5fe4bf982fa3 +0 -0
  1230. data/test/dummy/tmp/cache/assets/E2F/E90/sprockets%2Ff4b19e42c92a93dcaaec9fe6eae4081d +0 -0
  1231. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_base.css.scssc +0 -0
  1232. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_forms.css.scssc +0 -0
  1233. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_header.css.scssc +0 -0
  1234. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_mixins.css.scssc +0 -0
  1235. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_typography.css.scssc +0 -0
  1236. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_base.css.scssc +0 -0
  1237. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_forms.css.scssc +0 -0
  1238. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_header.css.scssc +0 -0
  1239. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_mixins.css.scssc +0 -0
  1240. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_typography.css.scssc +0 -0
  1241. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_comments.css.scssc +0 -0
  1242. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_date_picker.css.scssc +0 -0
  1243. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_flash_messages.css.scssc +0 -0
  1244. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_tables.css.scssc +0 -0
  1245. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_all.css.scssc +0 -0
  1246. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_buttons.css.scssc +0 -0
  1247. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_gradients.css.scssc +0 -0
  1248. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_icons.css.scssc +0 -0
  1249. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_reset.css.scssc +0 -0
  1250. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_rounded.css.scssc +0 -0
  1251. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_sections.css.scssc +0 -0
  1252. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_shadows.css.scssc +0 -0
  1253. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_utilities.scssc +0 -0
  1254. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_variables.css.scssc +0 -0
  1255. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_all.css.scssc +0 -0
  1256. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_buttons.css.scssc +0 -0
  1257. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_gradients.css.scssc +0 -0
  1258. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_icons.css.scssc +0 -0
  1259. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_reset.css.scssc +0 -0
  1260. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_rounded.css.scssc +0 -0
  1261. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_sections.css.scssc +0 -0
  1262. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_shadows.css.scssc +0 -0
  1263. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_utilities.scssc +0 -0
  1264. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_variables.css.scssc +0 -0
  1265. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_comments.css.scssc +0 -0
  1266. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_date_picker.css.scssc +0 -0
  1267. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_flash_messages.css.scssc +0 -0
  1268. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_tables.css.scssc +0 -0
@@ -0,0 +1,1729 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ (function()
7
+ {
8
+ // #### checkSelectionChange : START
9
+
10
+ // The selection change check basically saves the element parent tree of
11
+ // the current node and check it on successive requests. If there is any
12
+ // change on the tree, then the selectionChange event gets fired.
13
+ function checkSelectionChange()
14
+ {
15
+ try
16
+ {
17
+ // In IE, the "selectionchange" event may still get thrown when
18
+ // releasing the WYSIWYG mode, so we need to check it first.
19
+ var sel = this.getSelection();
20
+ if ( !sel || !sel.document.getWindow().$ )
21
+ return;
22
+
23
+ var firstElement = sel.getStartElement();
24
+ var currentPath = new CKEDITOR.dom.elementPath( firstElement );
25
+
26
+ if ( !currentPath.compare( this._.selectionPreviousPath ) )
27
+ {
28
+ this._.selectionPreviousPath = currentPath;
29
+ this.fire( 'selectionChange', { selection : sel, path : currentPath, element : firstElement } );
30
+ }
31
+ }
32
+ catch (e)
33
+ {}
34
+ }
35
+
36
+ var checkSelectionChangeTimer,
37
+ checkSelectionChangeTimeoutPending;
38
+
39
+ function checkSelectionChangeTimeout()
40
+ {
41
+ // Firing the "OnSelectionChange" event on every key press started to
42
+ // be too slow. This function guarantees that there will be at least
43
+ // 200ms delay between selection checks.
44
+
45
+ checkSelectionChangeTimeoutPending = true;
46
+
47
+ if ( checkSelectionChangeTimer )
48
+ return;
49
+
50
+ checkSelectionChangeTimeoutExec.call( this );
51
+
52
+ checkSelectionChangeTimer = CKEDITOR.tools.setTimeout( checkSelectionChangeTimeoutExec, 200, this );
53
+ }
54
+
55
+ function checkSelectionChangeTimeoutExec()
56
+ {
57
+ checkSelectionChangeTimer = null;
58
+
59
+ if ( checkSelectionChangeTimeoutPending )
60
+ {
61
+ // Call this with a timeout so the browser properly moves the
62
+ // selection after the mouseup. It happened that the selection was
63
+ // being moved after the mouseup when clicking inside selected text
64
+ // with Firefox.
65
+ CKEDITOR.tools.setTimeout( checkSelectionChange, 0, this );
66
+
67
+ checkSelectionChangeTimeoutPending = false;
68
+ }
69
+ }
70
+
71
+ // #### checkSelectionChange : END
72
+
73
+ function rangeRequiresFix( range )
74
+ {
75
+ function isInlineCt( node )
76
+ {
77
+ return node && node.type == CKEDITOR.NODE_ELEMENT
78
+ && node.getName() in CKEDITOR.dtd.$removeEmpty;
79
+ }
80
+
81
+ function singletonBlock( node )
82
+ {
83
+ var body = range.document.getBody();
84
+ return !node.is( 'body' ) && body.getChildCount() == 1;
85
+ }
86
+
87
+ var start = range.startContainer,
88
+ offset = range.startOffset;
89
+
90
+ if ( start.type == CKEDITOR.NODE_TEXT )
91
+ return false;
92
+
93
+ // 1. Empty inline element. <span>^</span>
94
+ // 2. Adjoin to inline element. <p><strong>text</strong>^</p>
95
+ // 3. The only empty block in document. <body><p>^</p></body> (#7222)
96
+ return !CKEDITOR.tools.trim( start.getHtml() ) ? isInlineCt( start ) || singletonBlock( start )
97
+ : isInlineCt( start.getChild( offset - 1 ) ) || isInlineCt( start.getChild( offset ) );
98
+ }
99
+
100
+ var selectAllCmd =
101
+ {
102
+ modes : { wysiwyg : 1, source : 1 },
103
+ readOnly : CKEDITOR.env.ie || CKEDITOR.env.webkit,
104
+ exec : function( editor )
105
+ {
106
+ switch ( editor.mode )
107
+ {
108
+ case 'wysiwyg' :
109
+ editor.document.$.execCommand( 'SelectAll', false, null );
110
+ // Force triggering selectionChange (#7008)
111
+ editor.forceNextSelectionCheck();
112
+ editor.selectionChange();
113
+ break;
114
+ case 'source' :
115
+ // Select the contents of the textarea
116
+ var textarea = editor.textarea.$;
117
+ if ( CKEDITOR.env.ie )
118
+ textarea.createTextRange().execCommand( 'SelectAll' );
119
+ else
120
+ {
121
+ textarea.selectionStart = 0;
122
+ textarea.selectionEnd = textarea.value.length;
123
+ }
124
+ textarea.focus();
125
+ }
126
+ },
127
+ canUndo : false
128
+ };
129
+
130
+ function createFillingChar( doc )
131
+ {
132
+ removeFillingChar( doc );
133
+
134
+ var fillingChar = doc.createText( '\u200B' );
135
+ doc.setCustomData( 'cke-fillingChar', fillingChar );
136
+
137
+ return fillingChar;
138
+ }
139
+
140
+ function getFillingChar( doc )
141
+ {
142
+ return doc && doc.getCustomData( 'cke-fillingChar' );
143
+ }
144
+
145
+ // Checks if a filling char has been used, eventualy removing it (#1272).
146
+ function checkFillingChar( doc )
147
+ {
148
+ var fillingChar = doc && getFillingChar( doc );
149
+ if ( fillingChar )
150
+ {
151
+ // Use this flag to avoid removing the filling char right after
152
+ // creating it.
153
+ if ( fillingChar.getCustomData( 'ready' ) )
154
+ removeFillingChar( doc );
155
+ else
156
+ fillingChar.setCustomData( 'ready', 1 );
157
+ }
158
+ }
159
+
160
+ function removeFillingChar( doc )
161
+ {
162
+ var fillingChar = doc && doc.removeCustomData( 'cke-fillingChar' );
163
+ if ( fillingChar )
164
+ {
165
+ // We can't simply remove the filling node because the user
166
+ // will actually enlarge it when typing, so we just remove the
167
+ // invisible char from it.
168
+ fillingChar.setText( fillingChar.getText().replace( /\u200B/g, '' ) );
169
+ fillingChar = 0;
170
+ }
171
+ }
172
+
173
+ CKEDITOR.plugins.add( 'selection',
174
+ {
175
+ init : function( editor )
176
+ {
177
+ // On WebKit only, we need a special "filling" char on some situations
178
+ // (#1272). Here we set the events that should invalidate that char.
179
+ if ( CKEDITOR.env.webkit )
180
+ {
181
+ editor.on( 'selectionChange', function() { checkFillingChar( editor.document ); } );
182
+ editor.on( 'beforeSetMode', function() { removeFillingChar( editor.document ); } );
183
+ editor.on( 'key', function( e )
184
+ {
185
+ // Remove the filling char before some keys get
186
+ // executed, so they'll not get blocked by it.
187
+ switch ( e.data.keyCode )
188
+ {
189
+ case 13 : // ENTER
190
+ case CKEDITOR.SHIFT + 13 : // SHIFT-ENTER
191
+ case 37 : // LEFT-ARROW
192
+ case 39 : // RIGHT-ARROW
193
+ case 8 : // BACKSPACE
194
+ removeFillingChar( editor.document );
195
+ }
196
+ }, null, null, 10 );
197
+
198
+ var fillingCharBefore,
199
+ resetSelection;
200
+
201
+ function beforeData()
202
+ {
203
+ var doc = editor.document,
204
+ fillingChar = getFillingChar( doc );
205
+
206
+ if ( fillingChar )
207
+ {
208
+ // If cursor is right blinking by side of the filler node, save it for restoring,
209
+ // as the following text substitution will blind it. (#7437)
210
+ var sel = doc.$.defaultView.getSelection();
211
+ if ( sel.type == 'Caret' && sel.anchorNode == fillingChar.$ )
212
+ resetSelection = 1;
213
+
214
+ fillingCharBefore = fillingChar.getText();
215
+ fillingChar.setText( fillingCharBefore.replace( /\u200B/g, '' ) );
216
+ }
217
+ }
218
+ function afterData()
219
+ {
220
+ var doc = editor.document,
221
+ fillingChar = getFillingChar( doc );
222
+
223
+ if ( fillingChar )
224
+ {
225
+ fillingChar.setText( fillingCharBefore );
226
+
227
+ if ( resetSelection )
228
+ {
229
+ doc.$.defaultView.getSelection().setPosition( fillingChar.$,fillingChar.getLength() );
230
+ resetSelection = 0;
231
+ }
232
+ }
233
+ }
234
+ editor.on( 'beforeUndoImage', beforeData );
235
+ editor.on( 'afterUndoImage', afterData );
236
+ editor.on( 'beforeGetData', beforeData, null, null, 0 );
237
+ editor.on( 'getData', afterData );
238
+ }
239
+
240
+ editor.on( 'contentDom', function()
241
+ {
242
+ var doc = editor.document,
243
+ body = doc.getBody(),
244
+ html = doc.getDocumentElement();
245
+
246
+ if ( CKEDITOR.env.ie )
247
+ {
248
+ // Other browsers don't loose the selection if the
249
+ // editor document loose the focus. In IE, we don't
250
+ // have support for it, so we reproduce it here, other
251
+ // than firing the selection change event.
252
+
253
+ var savedRange,
254
+ saveEnabled,
255
+ restoreEnabled = 1;
256
+
257
+ // "onfocusin" is fired before "onfocus". It makes it
258
+ // possible to restore the selection before click
259
+ // events get executed.
260
+ body.on( 'focusin', function( evt )
261
+ {
262
+ // If there are elements with layout they fire this event but
263
+ // it must be ignored to allow edit its contents #4682
264
+ if ( evt.data.$.srcElement.nodeName != 'BODY' )
265
+ return;
266
+
267
+ // If we have saved a range, restore it at this
268
+ // point.
269
+ if ( savedRange )
270
+ {
271
+ if ( restoreEnabled )
272
+ {
273
+ // Well not break because of this.
274
+ try
275
+ {
276
+ savedRange.select();
277
+ }
278
+ catch (e)
279
+ {}
280
+
281
+ // Update locked selection because of the normalized text nodes. (#6083, #6987)
282
+ var lockedSelection = doc.getCustomData( 'cke_locked_selection' );
283
+ if ( lockedSelection )
284
+ {
285
+ lockedSelection.unlock();
286
+ lockedSelection.lock();
287
+ }
288
+ }
289
+
290
+ savedRange = null;
291
+ }
292
+ });
293
+
294
+ body.on( 'focus', function()
295
+ {
296
+ // Enable selections to be saved.
297
+ saveEnabled = 1;
298
+
299
+ saveSelection();
300
+ });
301
+
302
+ body.on( 'beforedeactivate', function( evt )
303
+ {
304
+ // Ignore this event if it's caused by focus switch between
305
+ // internal editable control type elements, e.g. layouted paragraph. (#4682)
306
+ if ( evt.data.$.toElement )
307
+ return;
308
+
309
+ // Disable selections from being saved.
310
+ saveEnabled = 0;
311
+ restoreEnabled = 1;
312
+ });
313
+
314
+ // IE before version 8 will leave cursor blinking inside the document after
315
+ // editor blurred unless we clean up the selection. (#4716)
316
+ if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 )
317
+ {
318
+ editor.on( 'blur', function( evt )
319
+ {
320
+ // Try/Catch to avoid errors if the editor is hidden. (#6375)
321
+ try
322
+ {
323
+ editor.document && editor.document.$.selection.empty();
324
+ }
325
+ catch (e) {}
326
+ });
327
+ }
328
+
329
+ // Listening on document element ensures that
330
+ // scrollbar is included. (#5280)
331
+ html.on( 'mousedown', function()
332
+ {
333
+ // Lock restore selection now, as we have
334
+ // a followed 'click' event which introduce
335
+ // new selection. (#5735)
336
+ restoreEnabled = 0;
337
+ });
338
+
339
+ html.on( 'mouseup', function()
340
+ {
341
+ restoreEnabled = 1;
342
+ });
343
+
344
+ // In IE6/7 the blinking cursor appears, but contents are
345
+ // not editable. (#5634)
346
+ if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.version < 8 || CKEDITOR.env.quirks ) )
347
+ {
348
+ // The 'click' event is not fired when clicking the
349
+ // scrollbars, so we can use it to check whether
350
+ // the empty space following <body> has been clicked.
351
+ html.on( 'click', function( evt )
352
+ {
353
+ if ( evt.data.getTarget().getName() == 'html' )
354
+ editor.getSelection().getRanges()[ 0 ].select();
355
+ });
356
+ }
357
+
358
+ var scroll;
359
+ // IE fires the "selectionchange" event when clicking
360
+ // inside a selection. We don't want to capture that.
361
+ body.on( 'mousedown', function( evt )
362
+ {
363
+ // IE scrolls document to top on right mousedown
364
+ // when editor has no focus, remember this scroll
365
+ // position and revert it before context menu opens. (#5778)
366
+ if ( evt.data.$.button == 2 )
367
+ {
368
+ var sel = editor.document.$.selection;
369
+ if ( sel.type == 'None' )
370
+ scroll = editor.window.getScrollPosition();
371
+ }
372
+ disableSave();
373
+ });
374
+
375
+ body.on( 'mouseup',
376
+ function( evt )
377
+ {
378
+ // Restore recorded scroll position when needed on right mouseup.
379
+ if ( evt.data.$.button == 2 && scroll )
380
+ {
381
+ editor.document.$.documentElement.scrollLeft = scroll.x;
382
+ editor.document.$.documentElement.scrollTop = scroll.y;
383
+ }
384
+ scroll = null;
385
+
386
+ saveEnabled = 1;
387
+ setTimeout( function()
388
+ {
389
+ saveSelection( true );
390
+ },
391
+ 0 );
392
+ });
393
+
394
+ body.on( 'keydown', disableSave );
395
+ body.on( 'keyup',
396
+ function()
397
+ {
398
+ saveEnabled = 1;
399
+ saveSelection();
400
+ });
401
+
402
+
403
+ // IE is the only to provide the "selectionchange"
404
+ // event.
405
+ doc.on( 'selectionchange', saveSelection );
406
+
407
+ function disableSave()
408
+ {
409
+ saveEnabled = 0;
410
+ }
411
+
412
+ function saveSelection( testIt )
413
+ {
414
+ if ( saveEnabled )
415
+ {
416
+ var doc = editor.document,
417
+ sel = editor.getSelection(),
418
+ nativeSel = sel && sel.getNative();
419
+
420
+ // There is a very specific case, when clicking
421
+ // inside a text selection. In that case, the
422
+ // selection collapses at the clicking point,
423
+ // but the selection object remains in an
424
+ // unknown state, making createRange return a
425
+ // range at the very start of the document. In
426
+ // such situation we have to test the range, to
427
+ // be sure it's valid.
428
+ if ( testIt && nativeSel && nativeSel.type == 'None' )
429
+ {
430
+ // The "InsertImage" command can be used to
431
+ // test whether the selection is good or not.
432
+ // If not, it's enough to give some time to
433
+ // IE to put things in order for us.
434
+ if ( !doc.$.queryCommandEnabled( 'InsertImage' ) )
435
+ {
436
+ CKEDITOR.tools.setTimeout( saveSelection, 50, this, true );
437
+ return;
438
+ }
439
+ }
440
+
441
+ // Avoid saving selection from within text input. (#5747)
442
+ var parentTag;
443
+ if ( nativeSel && nativeSel.type && nativeSel.type != 'Control'
444
+ && ( parentTag = nativeSel.createRange() )
445
+ && ( parentTag = parentTag.parentElement() )
446
+ && ( parentTag = parentTag.nodeName )
447
+ && parentTag.toLowerCase() in { input: 1, textarea : 1 } )
448
+ {
449
+ return;
450
+ }
451
+
452
+ savedRange = nativeSel && sel.getRanges()[ 0 ];
453
+
454
+ checkSelectionChangeTimeout.call( editor );
455
+ }
456
+ }
457
+ }
458
+ else
459
+ {
460
+ // In other browsers, we make the selection change
461
+ // check based on other events, like clicks or keys
462
+ // press.
463
+
464
+ doc.on( 'mouseup', checkSelectionChangeTimeout, editor );
465
+ doc.on( 'keyup', checkSelectionChangeTimeout, editor );
466
+ doc.on( 'selectionchange', checkSelectionChangeTimeout, editor );
467
+ }
468
+ });
469
+
470
+ // Clear the cached range path before unload. (#7174)
471
+ editor.on( 'contentDomUnload', editor.forceNextSelectionCheck, editor );
472
+
473
+ editor.addCommand( 'selectAll', selectAllCmd );
474
+ editor.ui.addButton( 'SelectAll',
475
+ {
476
+ label : editor.lang.selectAll,
477
+ command : 'selectAll'
478
+ });
479
+
480
+ editor.selectionChange = checkSelectionChangeTimeout;
481
+
482
+ // IE9 might cease to work if there's an object selection inside the iframe (#7639).
483
+ CKEDITOR.env.ie9Compat && editor.on( 'destroy', function()
484
+ {
485
+ var sel = editor.getSelection();
486
+ sel && sel.getNative().clear();
487
+ }, null, null, 9 );
488
+ }
489
+ });
490
+
491
+ /**
492
+ * Gets the current selection from the editing area when in WYSIWYG mode.
493
+ * @returns {CKEDITOR.dom.selection} A selection object or null if not in
494
+ * WYSIWYG mode or no selection is available.
495
+ * @example
496
+ * var selection = CKEDITOR.instances.editor1.<strong>getSelection()</strong>;
497
+ * alert( selection.getType() );
498
+ */
499
+ CKEDITOR.editor.prototype.getSelection = function()
500
+ {
501
+ return this.document && this.document.getSelection();
502
+ };
503
+
504
+ CKEDITOR.editor.prototype.forceNextSelectionCheck = function()
505
+ {
506
+ delete this._.selectionPreviousPath;
507
+ };
508
+
509
+ /**
510
+ * Gets the current selection from the document.
511
+ * @returns {CKEDITOR.dom.selection} A selection object.
512
+ * @example
513
+ * var selection = CKEDITOR.instances.editor1.document.<strong>getSelection()</strong>;
514
+ * alert( selection.getType() );
515
+ */
516
+ CKEDITOR.dom.document.prototype.getSelection = function()
517
+ {
518
+ var sel = new CKEDITOR.dom.selection( this );
519
+ return ( !sel || sel.isInvalid ) ? null : sel;
520
+ };
521
+
522
+ /**
523
+ * No selection.
524
+ * @constant
525
+ * @example
526
+ * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_NONE )
527
+ * alert( 'Nothing is selected' );
528
+ */
529
+ CKEDITOR.SELECTION_NONE = 1;
530
+
531
+ /**
532
+ * A text or a collapsed selection.
533
+ * @constant
534
+ * @example
535
+ * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_TEXT )
536
+ * alert( 'A text is selected' );
537
+ */
538
+ CKEDITOR.SELECTION_TEXT = 2;
539
+
540
+ /**
541
+ * Element selection.
542
+ * @constant
543
+ * @example
544
+ * if ( editor.getSelection().getType() == CKEDITOR.SELECTION_ELEMENT )
545
+ * alert( 'An element is selected' );
546
+ */
547
+ CKEDITOR.SELECTION_ELEMENT = 3;
548
+
549
+ /**
550
+ * Manipulates the selection in a DOM document.
551
+ * @constructor
552
+ * @param {CKEDITOR.dom.document} document The DOM document that contains the selection.
553
+ * @example
554
+ * var sel = new <strong>CKEDITOR.dom.selection( CKEDITOR.document )</strong>;
555
+ */
556
+ CKEDITOR.dom.selection = function( document )
557
+ {
558
+ var lockedSelection = document.getCustomData( 'cke_locked_selection' );
559
+
560
+ if ( lockedSelection )
561
+ return lockedSelection;
562
+
563
+ this.document = document;
564
+ this.isLocked = 0;
565
+ this._ =
566
+ {
567
+ cache : {}
568
+ };
569
+
570
+ /**
571
+ * IE BUG: The selection's document may be a different document than the
572
+ * editor document. Return null if that is the case.
573
+ */
574
+ if ( CKEDITOR.env.ie )
575
+ {
576
+ var range = this.getNative().createRange();
577
+ if ( !range
578
+ || ( range.item && range.item(0).ownerDocument != this.document.$ )
579
+ || ( range.parentElement && range.parentElement().ownerDocument != this.document.$ ) )
580
+ {
581
+ this.isInvalid = true;
582
+ }
583
+ }
584
+
585
+ return this;
586
+ };
587
+
588
+ var styleObjectElements =
589
+ {
590
+ img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,
591
+ a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1
592
+ };
593
+
594
+ CKEDITOR.dom.selection.prototype =
595
+ {
596
+ /**
597
+ * Gets the native selection object from the browser.
598
+ * @function
599
+ * @returns {Object} The native browser selection object.
600
+ * @example
601
+ * var selection = editor.getSelection().<strong>getNative()</strong>;
602
+ */
603
+ getNative :
604
+ CKEDITOR.env.ie ?
605
+ function()
606
+ {
607
+ return this._.cache.nativeSel || ( this._.cache.nativeSel = this.document.$.selection );
608
+ }
609
+ :
610
+ function()
611
+ {
612
+ return this._.cache.nativeSel || ( this._.cache.nativeSel = this.document.getWindow().$.getSelection() );
613
+ },
614
+
615
+ /**
616
+ * Gets the type of the current selection. The following values are
617
+ * available:
618
+ * <ul>
619
+ * <li><code>{@link CKEDITOR.SELECTION_NONE}</code> (1): No selection.</li>
620
+ * <li><code>{@link CKEDITOR.SELECTION_TEXT}</code> (2): A text or a collapsed
621
+ * selection is selected.</li>
622
+ * <li><code>{@link CKEDITOR.SELECTION_ELEMENT}</code> (3): An element is
623
+ * selected.</li>
624
+ * </ul>
625
+ * @function
626
+ * @returns {Number} One of the following constant values:
627
+ * <code>{@link CKEDITOR.SELECTION_NONE}</code>, <code>{@link CKEDITOR.SELECTION_TEXT}</code>, or
628
+ * <code>{@link CKEDITOR.SELECTION_ELEMENT}</code>.
629
+ * @example
630
+ * if ( editor.getSelection().<strong>getType()</strong> == CKEDITOR.SELECTION_TEXT )
631
+ * alert( 'A text is selected' );
632
+ */
633
+ getType :
634
+ CKEDITOR.env.ie ?
635
+ function()
636
+ {
637
+ var cache = this._.cache;
638
+ if ( cache.type )
639
+ return cache.type;
640
+
641
+ var type = CKEDITOR.SELECTION_NONE;
642
+
643
+ try
644
+ {
645
+ var sel = this.getNative(),
646
+ ieType = sel.type;
647
+
648
+ if ( ieType == 'Text' )
649
+ type = CKEDITOR.SELECTION_TEXT;
650
+
651
+ if ( ieType == 'Control' )
652
+ type = CKEDITOR.SELECTION_ELEMENT;
653
+
654
+ // It is possible that we can still get a text range
655
+ // object even when type == 'None' is returned by IE.
656
+ // So we'd better check the object returned by
657
+ // createRange() rather than by looking at the type.
658
+ if ( sel.createRange().parentElement )
659
+ type = CKEDITOR.SELECTION_TEXT;
660
+ }
661
+ catch(e) {}
662
+
663
+ return ( cache.type = type );
664
+ }
665
+ :
666
+ function()
667
+ {
668
+ var cache = this._.cache;
669
+ if ( cache.type )
670
+ return cache.type;
671
+
672
+ var type = CKEDITOR.SELECTION_TEXT;
673
+
674
+ var sel = this.getNative();
675
+
676
+ if ( !sel )
677
+ type = CKEDITOR.SELECTION_NONE;
678
+ else if ( sel.rangeCount == 1 )
679
+ {
680
+ // Check if the actual selection is a control (IMG,
681
+ // TABLE, HR, etc...).
682
+
683
+ var range = sel.getRangeAt(0),
684
+ startContainer = range.startContainer;
685
+
686
+ if ( startContainer == range.endContainer
687
+ && startContainer.nodeType == 1
688
+ && ( range.endOffset - range.startOffset ) == 1
689
+ && styleObjectElements[ startContainer.childNodes[ range.startOffset ].nodeName.toLowerCase() ] )
690
+ {
691
+ type = CKEDITOR.SELECTION_ELEMENT;
692
+ }
693
+ }
694
+
695
+ return ( cache.type = type );
696
+ },
697
+
698
+ /**
699
+ * Retrieves the <code>{@link CKEDITOR.dom.range}</code> instances that represent the current selection.
700
+ * Note: Some browsers return multiple ranges even for a continuous selection. Firefox, for example, returns
701
+ * one range for each table cell when one or more table rows are selected.
702
+ * @function
703
+ * @param {Boolean} [onlyEditables] If set to <code>true</code>, this function retrives editable ranges only.
704
+ * @return {Array} Range instances that represent the current selection.
705
+ * @example
706
+ * var ranges = selection.<strong>getRanges()</strong>;
707
+ * alert( ranges.length );
708
+ */
709
+ getRanges : (function()
710
+ {
711
+ var func = CKEDITOR.env.ie ?
712
+ ( function()
713
+ {
714
+ function getNodeIndex( node ) { return new CKEDITOR.dom.node( node ).getIndex(); }
715
+
716
+ // Finds the container and offset for a specific boundary
717
+ // of an IE range.
718
+ var getBoundaryInformation = function( range, start )
719
+ {
720
+ // Creates a collapsed range at the requested boundary.
721
+ range = range.duplicate();
722
+ range.collapse( start );
723
+
724
+ // Gets the element that encloses the range entirely.
725
+ var parent = range.parentElement(),
726
+ doc = parent.ownerDocument;
727
+
728
+ // Empty parent element, e.g. <i>^</i>
729
+ if ( !parent.hasChildNodes() )
730
+ return { container : parent, offset : 0 };
731
+
732
+ var siblings = parent.children,
733
+ child,
734
+ sibling,
735
+ testRange = range.duplicate(),
736
+ startIndex = 0,
737
+ endIndex = siblings.length - 1,
738
+ index = -1,
739
+ position,
740
+ distance;
741
+
742
+ // Binary search over all element childs to test the range to see whether
743
+ // range is right on the boundary of one element.
744
+ while ( startIndex <= endIndex )
745
+ {
746
+ index = Math.floor( ( startIndex + endIndex ) / 2 );
747
+ child = siblings[ index ];
748
+ testRange.moveToElementText( child );
749
+ position = testRange.compareEndPoints( 'StartToStart', range );
750
+
751
+ if ( position > 0 )
752
+ endIndex = index - 1;
753
+ else if ( position < 0 )
754
+ startIndex = index + 1;
755
+ else
756
+ {
757
+ // IE9 report wrong measurement with compareEndPoints when range anchors between two BRs.
758
+ // e.g. <p>text<br />^<br /></p> (#7433)
759
+ if ( CKEDITOR.env.ie9Compat && child.tagName == 'BR' )
760
+ {
761
+ var bmId = 'cke_range_marker';
762
+ range.execCommand( 'CreateBookmark', false, bmId );
763
+ child = doc.getElementsByName( bmId )[ 0 ];
764
+ var offset = getNodeIndex( child );
765
+ parent.removeChild( child );
766
+ return { container : parent, offset : offset };
767
+ }
768
+ else
769
+ return { container : parent, offset : getNodeIndex( child ) };
770
+ }
771
+ }
772
+
773
+ // All childs are text nodes,
774
+ // or to the right hand of test range are all text nodes. (#6992)
775
+ if ( index == -1 || index == siblings.length - 1 && position < 0 )
776
+ {
777
+ // Adapt test range to embrace the entire parent contents.
778
+ testRange.moveToElementText( parent );
779
+ testRange.setEndPoint( 'StartToStart', range );
780
+
781
+ // IE report line break as CRLF with range.text but
782
+ // only LF with textnode.nodeValue, normalize them to avoid
783
+ // breaking character counting logic below. (#3949)
784
+ distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
785
+
786
+ siblings = parent.childNodes;
787
+
788
+ // Actual range anchor right beside test range at the boundary of text node.
789
+ if ( !distance )
790
+ {
791
+ child = siblings[ siblings.length - 1 ];
792
+
793
+ if ( child.nodeType == CKEDITOR.NODE_ELEMENT )
794
+ return { container : parent, offset : siblings.length };
795
+ else
796
+ return { container : child, offset : child.nodeValue.length };
797
+ }
798
+
799
+ // Start the measuring until distance overflows, meanwhile count the text nodes.
800
+ var i = siblings.length;
801
+ while ( distance > 0 )
802
+ distance -= siblings[ --i ].nodeValue.length;
803
+
804
+ return { container : siblings[ i ], offset : -distance };
805
+ }
806
+ // Test range was one offset beyond OR behind the anchored text node.
807
+ else
808
+ {
809
+ // Adapt one side of test range to the actual range
810
+ // for measuring the offset between them.
811
+ testRange.collapse( position > 0 ? true : false );
812
+ testRange.setEndPoint( position > 0 ? 'StartToStart' : 'EndToStart', range );
813
+
814
+ // IE report line break as CRLF with range.text but
815
+ // only LF with textnode.nodeValue, normalize them to avoid
816
+ // breaking character counting logic below. (#3949)
817
+ distance = testRange.text.replace( /(\r\n|\r)/g, '\n' ).length;
818
+
819
+ // Actual range anchor right beside test range at the inner boundary of text node.
820
+ if ( !distance )
821
+ return { container : parent, offset : getNodeIndex( child ) + ( position > 0 ? 0 : 1 ) };
822
+
823
+ // Start the measuring until distance overflows, meanwhile count the text nodes.
824
+ while ( distance > 0 )
825
+ {
826
+ try
827
+ {
828
+ sibling = child[ position > 0 ? 'previousSibling' : 'nextSibling' ];
829
+ distance -= sibling.nodeValue.length;
830
+ child = sibling;
831
+ }
832
+ // Measurement in IE could be somtimes wrong because of <select> element. (#4611)
833
+ catch( e )
834
+ {
835
+ return { container : parent, offset : getNodeIndex( child ) };
836
+ }
837
+ }
838
+
839
+ return { container : child, offset : position > 0 ? -distance : child.nodeValue.length + distance };
840
+ }
841
+ };
842
+
843
+ return function()
844
+ {
845
+ // IE doesn't have range support (in the W3C way), so we
846
+ // need to do some magic to transform selections into
847
+ // CKEDITOR.dom.range instances.
848
+
849
+ var sel = this.getNative(),
850
+ nativeRange = sel && sel.createRange(),
851
+ type = this.getType(),
852
+ range;
853
+
854
+ if ( !sel )
855
+ return [];
856
+
857
+ if ( type == CKEDITOR.SELECTION_TEXT )
858
+ {
859
+ range = new CKEDITOR.dom.range( this.document );
860
+
861
+ var boundaryInfo = getBoundaryInformation( nativeRange, true );
862
+ range.setStart( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
863
+
864
+ boundaryInfo = getBoundaryInformation( nativeRange );
865
+ range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
866
+
867
+ // Correct an invalid IE range case on empty list item. (#5850)
868
+ if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING
869
+ && range.endOffset <= range.startContainer.getIndex() )
870
+ {
871
+ range.collapse();
872
+ }
873
+
874
+ return [ range ];
875
+ }
876
+ else if ( type == CKEDITOR.SELECTION_ELEMENT )
877
+ {
878
+ var retval = [];
879
+
880
+ for ( var i = 0 ; i < nativeRange.length ; i++ )
881
+ {
882
+ var element = nativeRange.item( i ),
883
+ parentElement = element.parentNode,
884
+ j = 0;
885
+
886
+ range = new CKEDITOR.dom.range( this.document );
887
+
888
+ for (; j < parentElement.childNodes.length && parentElement.childNodes[j] != element ; j++ )
889
+ { /*jsl:pass*/ }
890
+
891
+ range.setStart( new CKEDITOR.dom.node( parentElement ), j );
892
+ range.setEnd( new CKEDITOR.dom.node( parentElement ), j + 1 );
893
+ retval.push( range );
894
+ }
895
+
896
+ return retval;
897
+ }
898
+
899
+ return [];
900
+ };
901
+ })()
902
+ :
903
+ function()
904
+ {
905
+
906
+ // On browsers implementing the W3C range, we simply
907
+ // tranform the native ranges in CKEDITOR.dom.range
908
+ // instances.
909
+
910
+ var ranges = [],
911
+ range,
912
+ doc = this.document,
913
+ sel = this.getNative();
914
+
915
+ if ( !sel )
916
+ return ranges;
917
+
918
+ // On WebKit, it may happen that we'll have no selection
919
+ // available. We normalize it here by replicating the
920
+ // behavior of other browsers.
921
+ if ( !sel.rangeCount )
922
+ {
923
+ range = new CKEDITOR.dom.range( doc );
924
+ range.moveToElementEditStart( doc.getBody() );
925
+ ranges.push( range );
926
+ }
927
+
928
+ for ( var i = 0 ; i < sel.rangeCount ; i++ )
929
+ {
930
+ var nativeRange = sel.getRangeAt( i );
931
+
932
+ range = new CKEDITOR.dom.range( doc );
933
+
934
+ range.setStart( new CKEDITOR.dom.node( nativeRange.startContainer ), nativeRange.startOffset );
935
+ range.setEnd( new CKEDITOR.dom.node( nativeRange.endContainer ), nativeRange.endOffset );
936
+ ranges.push( range );
937
+ }
938
+ return ranges;
939
+ };
940
+
941
+ return function( onlyEditables )
942
+ {
943
+ var cache = this._.cache;
944
+ if ( cache.ranges && !onlyEditables )
945
+ return cache.ranges;
946
+ else if ( !cache.ranges )
947
+ cache.ranges = new CKEDITOR.dom.rangeList( func.call( this ) );
948
+
949
+ // Split range into multiple by read-only nodes.
950
+ if ( onlyEditables )
951
+ {
952
+ var ranges = cache.ranges;
953
+ for ( var i = 0; i < ranges.length; i++ )
954
+ {
955
+ var range = ranges[ i ];
956
+
957
+ // Drop range spans inside one ready-only node.
958
+ var parent = range.getCommonAncestor();
959
+ if ( parent.isReadOnly() )
960
+ ranges.splice( i, 1 );
961
+
962
+ if ( range.collapsed )
963
+ continue;
964
+
965
+ // Range may start inside a non-editable element,
966
+ // replace the range start after it.
967
+ if ( range.startContainer.isReadOnly() )
968
+ {
969
+ var current = range.startContainer;
970
+ while( current )
971
+ {
972
+ if ( current.is( 'body' ) || !current.isReadOnly() )
973
+ break;
974
+
975
+ if ( current.type == CKEDITOR.NODE_ELEMENT
976
+ && current.getAttribute( 'contentEditable' ) == 'false' )
977
+ range.setStartAfter( current );
978
+
979
+ current = current.getParent();
980
+ }
981
+ }
982
+
983
+ var startContainer = range.startContainer,
984
+ endContainer = range.endContainer,
985
+ startOffset = range.startOffset,
986
+ endOffset = range.endOffset,
987
+ walkerRange = range.clone();
988
+
989
+ // Enlarge range start/end with text node to avoid walker
990
+ // being DOM destructive, it doesn't interfere our checking
991
+ // of elements below as well.
992
+ if ( startContainer && startContainer.type == CKEDITOR.NODE_TEXT )
993
+ {
994
+ if ( startOffset >= startContainer.getLength() )
995
+ walkerRange.setStartAfter( startContainer );
996
+ else
997
+ walkerRange.setStartBefore( startContainer );
998
+ }
999
+
1000
+ if ( endContainer && endContainer.type == CKEDITOR.NODE_TEXT )
1001
+ {
1002
+ if ( !endOffset )
1003
+ walkerRange.setEndBefore( endContainer );
1004
+ else
1005
+ walkerRange.setEndAfter( endContainer );
1006
+ }
1007
+
1008
+ // Looking for non-editable element inside the range.
1009
+ var walker = new CKEDITOR.dom.walker( walkerRange );
1010
+ walker.evaluator = function( node )
1011
+ {
1012
+ if ( node.type == CKEDITOR.NODE_ELEMENT
1013
+ && node.isReadOnly() )
1014
+ {
1015
+ var newRange = range.clone();
1016
+ range.setEndBefore( node );
1017
+
1018
+ // Drop collapsed range around read-only elements,
1019
+ // it make sure the range list empty when selecting
1020
+ // only non-editable elements.
1021
+ if ( range.collapsed )
1022
+ ranges.splice( i--, 1 );
1023
+
1024
+ // Avoid creating invalid range.
1025
+ if ( !( node.getPosition( walkerRange.endContainer ) & CKEDITOR.POSITION_CONTAINS ) )
1026
+ {
1027
+ newRange.setStartAfter( node );
1028
+ if ( !newRange.collapsed )
1029
+ ranges.splice( i + 1, 0, newRange );
1030
+ }
1031
+
1032
+ return true;
1033
+ }
1034
+
1035
+ return false;
1036
+ };
1037
+
1038
+ walker.next();
1039
+ }
1040
+ }
1041
+
1042
+ return cache.ranges;
1043
+ };
1044
+ })(),
1045
+
1046
+ /**
1047
+ * Gets the DOM element in which the selection starts.
1048
+ * @returns {CKEDITOR.dom.element} The element at the beginning of the
1049
+ * selection.
1050
+ * @example
1051
+ * var element = editor.getSelection().<strong>getStartElement()</strong>;
1052
+ * alert( element.getName() );
1053
+ */
1054
+ getStartElement : function()
1055
+ {
1056
+ var cache = this._.cache;
1057
+ if ( cache.startElement !== undefined )
1058
+ return cache.startElement;
1059
+
1060
+ var node,
1061
+ sel = this.getNative();
1062
+
1063
+ switch ( this.getType() )
1064
+ {
1065
+ case CKEDITOR.SELECTION_ELEMENT :
1066
+ return this.getSelectedElement();
1067
+
1068
+ case CKEDITOR.SELECTION_TEXT :
1069
+
1070
+ var range = this.getRanges()[0];
1071
+
1072
+ if ( range )
1073
+ {
1074
+ if ( !range.collapsed )
1075
+ {
1076
+ range.optimize();
1077
+
1078
+ // Decrease the range content to exclude particial
1079
+ // selected node on the start which doesn't have
1080
+ // visual impact. ( #3231 )
1081
+ while ( 1 )
1082
+ {
1083
+ var startContainer = range.startContainer,
1084
+ startOffset = range.startOffset;
1085
+ // Limit the fix only to non-block elements.(#3950)
1086
+ if ( startOffset == ( startContainer.getChildCount ?
1087
+ startContainer.getChildCount() : startContainer.getLength() )
1088
+ && !startContainer.isBlockBoundary() )
1089
+ range.setStartAfter( startContainer );
1090
+ else break;
1091
+ }
1092
+
1093
+ node = range.startContainer;
1094
+
1095
+ if ( node.type != CKEDITOR.NODE_ELEMENT )
1096
+ return node.getParent();
1097
+
1098
+ node = node.getChild( range.startOffset );
1099
+
1100
+ if ( !node || node.type != CKEDITOR.NODE_ELEMENT )
1101
+ node = range.startContainer;
1102
+ else
1103
+ {
1104
+ var child = node.getFirst();
1105
+ while ( child && child.type == CKEDITOR.NODE_ELEMENT )
1106
+ {
1107
+ node = child;
1108
+ child = child.getFirst();
1109
+ }
1110
+ }
1111
+ }
1112
+ else
1113
+ {
1114
+ node = range.startContainer;
1115
+ if ( node.type != CKEDITOR.NODE_ELEMENT )
1116
+ node = node.getParent();
1117
+ }
1118
+
1119
+ node = node.$;
1120
+ }
1121
+ }
1122
+
1123
+ return cache.startElement = ( node ? new CKEDITOR.dom.element( node ) : null );
1124
+ },
1125
+
1126
+ /**
1127
+ * Gets the currently selected element.
1128
+ * @returns {CKEDITOR.dom.element} The selected element. Null if no
1129
+ * selection is available or the selection type is not
1130
+ * <code>{@link CKEDITOR.SELECTION_ELEMENT}</code>.
1131
+ * @example
1132
+ * var element = editor.getSelection().<strong>getSelectedElement()</strong>;
1133
+ * alert( element.getName() );
1134
+ */
1135
+ getSelectedElement : function()
1136
+ {
1137
+ var cache = this._.cache;
1138
+ if ( cache.selectedElement !== undefined )
1139
+ return cache.selectedElement;
1140
+
1141
+ var self = this;
1142
+
1143
+ var node = CKEDITOR.tools.tryThese(
1144
+ // Is it native IE control type selection?
1145
+ function()
1146
+ {
1147
+ return self.getNative().createRange().item( 0 );
1148
+ },
1149
+ // If a table or list is fully selected.
1150
+ function()
1151
+ {
1152
+ var root,
1153
+ retval,
1154
+ range = self.getRanges()[ 0 ],
1155
+ ancestor = range.getCommonAncestor( 1, 1 ),
1156
+ tags = { table:1,ul:1,ol:1,dl:1 };
1157
+
1158
+ for ( var t in tags )
1159
+ {
1160
+ if ( root = ancestor.getAscendant( t, 1 ) )
1161
+ break;
1162
+ }
1163
+
1164
+ if ( root )
1165
+ {
1166
+ // Enlarging the start boundary.
1167
+ var testRange = new CKEDITOR.dom.range( this.document );
1168
+ testRange.setStartAt( root, CKEDITOR.POSITION_AFTER_START );
1169
+ testRange.setEnd( range.startContainer, range.startOffset );
1170
+
1171
+ var enlargeables = CKEDITOR.tools.extend( tags, CKEDITOR.dtd.$listItem, CKEDITOR.dtd.$tableContent ),
1172
+ walker = new CKEDITOR.dom.walker( testRange ),
1173
+ // Check the range is at the inner boundary of the structural element.
1174
+ guard = function( walker, isEnd )
1175
+ {
1176
+ return function( node, isWalkOut )
1177
+ {
1178
+ if ( node.type == CKEDITOR.NODE_TEXT && ( !CKEDITOR.tools.trim( node.getText() ) || node.getParent().data( 'cke-bookmark' ) ) )
1179
+ return true;
1180
+
1181
+ var tag;
1182
+ if ( node.type == CKEDITOR.NODE_ELEMENT )
1183
+ {
1184
+ tag = node.getName();
1185
+
1186
+ // Bypass bogus br at the end of block.
1187
+ if ( tag == 'br' && isEnd && node.equals( node.getParent().getBogus() ) )
1188
+ return true;
1189
+
1190
+ if ( isWalkOut && tag in enlargeables || tag in CKEDITOR.dtd.$removeEmpty )
1191
+ return true;
1192
+ }
1193
+
1194
+ walker.halted = 1;
1195
+ return false;
1196
+ };
1197
+ };
1198
+
1199
+ walker.guard = guard( walker );
1200
+
1201
+ if ( walker.checkBackward() && !walker.halted )
1202
+ {
1203
+ walker = new CKEDITOR.dom.walker( testRange );
1204
+ testRange.setStart( range.endContainer, range.endOffset );
1205
+ testRange.setEndAt( root, CKEDITOR.POSITION_BEFORE_END );
1206
+ walker.guard = guard( walker, 1 );
1207
+ if ( walker.checkForward() && !walker.halted )
1208
+ retval = root.$;
1209
+ }
1210
+ }
1211
+
1212
+ if ( !retval )
1213
+ throw 0;
1214
+
1215
+ return retval;
1216
+ },
1217
+ // Figure it out by checking if there's a single enclosed
1218
+ // node of the range.
1219
+ function()
1220
+ {
1221
+ var range = self.getRanges()[ 0 ],
1222
+ enclosed,
1223
+ selected;
1224
+
1225
+ // Check first any enclosed element, e.g. <ul>[<li><a href="#">item</a></li>]</ul>
1226
+ for ( var i = 2; i && !( ( enclosed = range.getEnclosedNode() )
1227
+ && ( enclosed.type == CKEDITOR.NODE_ELEMENT )
1228
+ && styleObjectElements[ enclosed.getName() ]
1229
+ && ( selected = enclosed ) ); i-- )
1230
+ {
1231
+ // Then check any deep wrapped element, e.g. [<b><i><img /></i></b>]
1232
+ range.shrink( CKEDITOR.SHRINK_ELEMENT );
1233
+ }
1234
+
1235
+ return selected.$;
1236
+ });
1237
+
1238
+ return cache.selectedElement = ( node ? new CKEDITOR.dom.element( node ) : null );
1239
+ },
1240
+
1241
+ /**
1242
+ * Retrieves the text contained within the range. An empty string is returned for non-text selection.
1243
+ * @returns {String} A string of text within the current selection.
1244
+ * @since 3.6.1
1245
+ * @example
1246
+ * var text = editor.getSelection().<strong>getSelectedText()</strong>;
1247
+ * alert( text );
1248
+ */
1249
+ getSelectedText : function()
1250
+ {
1251
+ var cache = this._.cache;
1252
+ if ( cache.selectedText !== undefined )
1253
+ return cache.selectedText;
1254
+
1255
+ var text = '',
1256
+ nativeSel = this.getNative();
1257
+ if ( this.getType() == CKEDITOR.SELECTION_TEXT )
1258
+ text = CKEDITOR.env.ie ? nativeSel.createRange().text : nativeSel.toString();
1259
+
1260
+ return ( cache.selectedText = text );
1261
+ },
1262
+
1263
+ /**
1264
+ * Locks the selection made in the editor in order to make it possible to
1265
+ * manipulate it without browser interference. A locked selection is
1266
+ * cached and remains unchanged until it is released with the <code>#unlock</code>
1267
+ * method.
1268
+ * @example
1269
+ * editor.getSelection().<strong>lock()</strong>;
1270
+ */
1271
+ lock : function()
1272
+ {
1273
+ // Call all cacheable function.
1274
+ this.getRanges();
1275
+ this.getStartElement();
1276
+ this.getSelectedElement();
1277
+ this.getSelectedText();
1278
+
1279
+ // The native selection is not available when locked.
1280
+ this._.cache.nativeSel = {};
1281
+
1282
+ this.isLocked = 1;
1283
+
1284
+ // Save this selection inside the DOM document.
1285
+ this.document.setCustomData( 'cke_locked_selection', this );
1286
+ },
1287
+
1288
+ /**
1289
+ * Unlocks the selection made in the editor and locked with the <code>#lock</code> method.
1290
+ * An unlocked selection is no longer cached and can be changed.
1291
+ * @param {Boolean} [restore] If set to <code>true</code>, the selection is restored back to the selection saved earlier by using the <code>#lock</code> method.
1292
+ * @example
1293
+ * editor.getSelection().<strong>unlock()</strong>;
1294
+ */
1295
+ unlock : function( restore )
1296
+ {
1297
+ var doc = this.document,
1298
+ lockedSelection = doc.getCustomData( 'cke_locked_selection' );
1299
+
1300
+ if ( lockedSelection )
1301
+ {
1302
+ doc.setCustomData( 'cke_locked_selection', null );
1303
+
1304
+ if ( restore )
1305
+ {
1306
+ var selectedElement = lockedSelection.getSelectedElement(),
1307
+ ranges = !selectedElement && lockedSelection.getRanges();
1308
+
1309
+ this.isLocked = 0;
1310
+ this.reset();
1311
+
1312
+ doc.getBody().focus();
1313
+
1314
+ if ( selectedElement )
1315
+ this.selectElement( selectedElement );
1316
+ else
1317
+ this.selectRanges( ranges );
1318
+ }
1319
+ }
1320
+
1321
+ if ( !lockedSelection || !restore )
1322
+ {
1323
+ this.isLocked = 0;
1324
+ this.reset();
1325
+ }
1326
+ },
1327
+
1328
+ /**
1329
+ * Clears the selection cache.
1330
+ * @example
1331
+ * editor.getSelection().<strong>reset()</strong>;
1332
+ */
1333
+ reset : function()
1334
+ {
1335
+ this._.cache = {};
1336
+ },
1337
+
1338
+ /**
1339
+ * Makes the current selection of type <code>{@link CKEDITOR.SELECTION_ELEMENT}</code> by enclosing the specified element.
1340
+ * @param {CKEDITOR.dom.element} element The element to enclose in the selection.
1341
+ * @example
1342
+ * var element = editor.document.getById( 'sampleElement' );
1343
+ * editor.getSelection.<strong>selectElement( element )</strong>;
1344
+ */
1345
+ selectElement : function( element )
1346
+ {
1347
+ if ( this.isLocked )
1348
+ {
1349
+ var range = new CKEDITOR.dom.range( this.document );
1350
+ range.setStartBefore( element );
1351
+ range.setEndAfter( element );
1352
+
1353
+ this._.cache.selectedElement = element;
1354
+ this._.cache.startElement = element;
1355
+ this._.cache.ranges = new CKEDITOR.dom.rangeList( range );
1356
+ this._.cache.type = CKEDITOR.SELECTION_ELEMENT;
1357
+
1358
+ return;
1359
+ }
1360
+
1361
+ range = new CKEDITOR.dom.range( element.getDocument() );
1362
+ range.setStartBefore( element );
1363
+ range.setEndAfter( element );
1364
+ range.select();
1365
+
1366
+ this.document.fire( 'selectionchange' );
1367
+ this.reset();
1368
+
1369
+ },
1370
+
1371
+ /**
1372
+ * Clears the original selection and adds the specified ranges
1373
+ * to the document selection.
1374
+ * @param {Array} ranges An array of <code>{@link CKEDITOR.dom.range}</code> instances representing ranges to be added to the document.
1375
+ * @example
1376
+ * var ranges = new CKEDITOR.dom.range( editor.document );
1377
+ * editor.getSelection().<strong>selectRanges( [ ranges ] )</strong>;
1378
+ */
1379
+ selectRanges : function( ranges )
1380
+ {
1381
+ if ( this.isLocked )
1382
+ {
1383
+ this._.cache.selectedElement = null;
1384
+ this._.cache.startElement = ranges[ 0 ] && ranges[ 0 ].getTouchedStartNode();
1385
+ this._.cache.ranges = new CKEDITOR.dom.rangeList( ranges );
1386
+ this._.cache.type = CKEDITOR.SELECTION_TEXT;
1387
+
1388
+ return;
1389
+ }
1390
+
1391
+ if ( CKEDITOR.env.ie )
1392
+ {
1393
+ if ( ranges.length > 1 )
1394
+ {
1395
+ // IE doesn't accept multiple ranges selection, so we join all into one.
1396
+ var last = ranges[ ranges.length -1 ] ;
1397
+ ranges[ 0 ].setEnd( last.endContainer, last.endOffset );
1398
+ ranges.length = 1;
1399
+ }
1400
+
1401
+ if ( ranges[ 0 ] )
1402
+ ranges[ 0 ].select();
1403
+
1404
+ this.reset();
1405
+ }
1406
+ else
1407
+ {
1408
+ var sel = this.getNative();
1409
+
1410
+ // getNative() returns null if iframe is "display:none" in FF. (#6577)
1411
+ if ( !sel )
1412
+ return;
1413
+
1414
+ if ( ranges.length )
1415
+ {
1416
+ sel.removeAllRanges();
1417
+ // Remove any existing filling char first.
1418
+ CKEDITOR.env.webkit && removeFillingChar( this.document );
1419
+ }
1420
+
1421
+ for ( var i = 0 ; i < ranges.length ; i++ )
1422
+ {
1423
+ // Joining sequential ranges introduced by
1424
+ // readonly elements protection.
1425
+ if ( i < ranges.length -1 )
1426
+ {
1427
+ var left = ranges[ i ], right = ranges[ i +1 ],
1428
+ between = left.clone();
1429
+ between.setStart( left.endContainer, left.endOffset );
1430
+ between.setEnd( right.startContainer, right.startOffset );
1431
+
1432
+ // Don't confused by Firefox adjancent multi-ranges
1433
+ // introduced by table cells selection.
1434
+ if ( !between.collapsed )
1435
+ {
1436
+ between.shrink( CKEDITOR.NODE_ELEMENT, true );
1437
+ var ancestor = between.getCommonAncestor(),
1438
+ enclosed = between.getEnclosedNode();
1439
+
1440
+ // The following cases has to be considered:
1441
+ // 1. <span contenteditable="false">[placeholder]</span>
1442
+ // 2. <input contenteditable="false" type="radio"/> (#6621)
1443
+ if ( ancestor.isReadOnly() || enclosed && enclosed.isReadOnly() )
1444
+ {
1445
+ right.setStart( left.startContainer, left.startOffset );
1446
+ ranges.splice( i--, 1 );
1447
+ continue;
1448
+ }
1449
+ }
1450
+ }
1451
+
1452
+ var range = ranges[ i ];
1453
+ var nativeRange = this.document.$.createRange();
1454
+ var startContainer = range.startContainer;
1455
+
1456
+ // In FF2, if we have a collapsed range, inside an empty
1457
+ // element, we must add something to it otherwise the caret
1458
+ // will not be visible.
1459
+ // In Opera instead, the selection will be moved out of the
1460
+ // element. (#4657)
1461
+ if ( range.collapsed &&
1462
+ ( CKEDITOR.env.opera || ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) ) &&
1463
+ startContainer.type == CKEDITOR.NODE_ELEMENT &&
1464
+ !startContainer.getChildCount() )
1465
+ {
1466
+ startContainer.appendText( '' );
1467
+ }
1468
+
1469
+ if ( range.collapsed
1470
+ && CKEDITOR.env.webkit
1471
+ && rangeRequiresFix( range ) )
1472
+ {
1473
+ // Append a zero-width space so WebKit will not try to
1474
+ // move the selection by itself (#1272).
1475
+ var fillingChar = createFillingChar( this.document );
1476
+ range.insertNode( fillingChar ) ;
1477
+
1478
+ var next = fillingChar.getNext();
1479
+
1480
+ // If the filling char is followed by a <br>, whithout
1481
+ // having something before it, it'll not blink.
1482
+ // Let's remove it in this case.
1483
+ if ( next && !fillingChar.getPrevious() && next.type == CKEDITOR.NODE_ELEMENT && next.getName() == 'br' )
1484
+ {
1485
+ removeFillingChar( this.document );
1486
+ range.moveToPosition( next, CKEDITOR.POSITION_BEFORE_START );
1487
+ }
1488
+ else
1489
+ range.moveToPosition( fillingChar, CKEDITOR.POSITION_AFTER_END );
1490
+ }
1491
+
1492
+ nativeRange.setStart( range.startContainer.$, range.startOffset );
1493
+
1494
+ try
1495
+ {
1496
+ nativeRange.setEnd( range.endContainer.$, range.endOffset );
1497
+ }
1498
+ catch ( e )
1499
+ {
1500
+ // There is a bug in Firefox implementation (it would be too easy
1501
+ // otherwise). The new start can't be after the end (W3C says it can).
1502
+ // So, let's create a new range and collapse it to the desired point.
1503
+ if ( e.toString().indexOf( 'NS_ERROR_ILLEGAL_VALUE' ) >= 0 )
1504
+ {
1505
+ range.collapse( 1 );
1506
+ nativeRange.setEnd( range.endContainer.$, range.endOffset );
1507
+ }
1508
+ else
1509
+ throw e;
1510
+ }
1511
+
1512
+ // Select the range.
1513
+ sel.addRange( nativeRange );
1514
+ }
1515
+
1516
+ // Don't miss selection change event for non-IEs.
1517
+ this.document.fire( 'selectionchange' );
1518
+ this.reset();
1519
+ }
1520
+ },
1521
+
1522
+ /**
1523
+ * Creates a bookmark for each range of this selection (from <code>#getRanges</code>)
1524
+ * by calling the <code>{@link CKEDITOR.dom.range.prototype.createBookmark}</code> method,
1525
+ * with extra care taken to avoid interference among those ranges. The arguments
1526
+ * received are the same as with the underlying range method.
1527
+ * @returns {Array} Array of bookmarks for each range.
1528
+ * @example
1529
+ * var bookmarks = editor.getSelection().<strong>createBookmarks()</strong>;
1530
+ */
1531
+ createBookmarks : function( serializable )
1532
+ {
1533
+ return this.getRanges().createBookmarks( serializable );
1534
+ },
1535
+
1536
+ /**
1537
+ * Creates a bookmark for each range of this selection (from <code>#getRanges</code>)
1538
+ * by calling the <code>{@link CKEDITOR.dom.range.prototype.createBookmark2}</code> method,
1539
+ * with extra care taken to avoid interference among those ranges. The arguments
1540
+ * received are the same as with the underlying range method.
1541
+ * @returns {Array} Array of bookmarks for each range.
1542
+ * @example
1543
+ * var bookmarks = editor.getSelection().<strong>createBookmarks2()</strong>;
1544
+ */
1545
+ createBookmarks2 : function( normalized )
1546
+ {
1547
+ return this.getRanges().createBookmarks2( normalized );
1548
+ },
1549
+
1550
+ /**
1551
+ * Selects the virtual ranges denoted by the bookmarks by calling <code>#selectRanges</code>.
1552
+ * @param {Array} bookmarks The bookmarks representing ranges to be selected.
1553
+ * @returns {CKEDITOR.dom.selection} This selection object, after the ranges were selected.
1554
+ * @example
1555
+ * var bookmarks = editor.getSelection().createBookmarks();
1556
+ * editor.getSelection().<strong>selectBookmarks( bookmarks )</strong>;
1557
+ */
1558
+ selectBookmarks : function( bookmarks )
1559
+ {
1560
+ var ranges = [];
1561
+ for ( var i = 0 ; i < bookmarks.length ; i++ )
1562
+ {
1563
+ var range = new CKEDITOR.dom.range( this.document );
1564
+ range.moveToBookmark( bookmarks[i] );
1565
+ ranges.push( range );
1566
+ }
1567
+ this.selectRanges( ranges );
1568
+ return this;
1569
+ },
1570
+
1571
+ /**
1572
+ * Retrieves the common ancestor node of the first range and the last range.
1573
+ * @returns {CKEDITOR.dom.element} The common ancestor of the selection.
1574
+ * @example
1575
+ * var ancestor = editor.getSelection().<strong>getCommonAncestor()</strong>;
1576
+ */
1577
+ getCommonAncestor : function()
1578
+ {
1579
+ var ranges = this.getRanges(),
1580
+ startNode = ranges[ 0 ].startContainer,
1581
+ endNode = ranges[ ranges.length - 1 ].endContainer;
1582
+ return startNode.getCommonAncestor( endNode );
1583
+ },
1584
+
1585
+ /**
1586
+ * Moves the scrollbar to the starting position of the current selection.
1587
+ * @example
1588
+ * editor.getSelection().<strong>scrollIntoView()</strong>;
1589
+ */
1590
+ scrollIntoView : function()
1591
+ {
1592
+ // If we have split the block, adds a temporary span at the
1593
+ // range position and scroll relatively to it.
1594
+ var start = this.getStartElement();
1595
+ start.scrollIntoView();
1596
+ }
1597
+ };
1598
+ })();
1599
+
1600
+ ( function()
1601
+ {
1602
+ var notWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),
1603
+ fillerTextRegex = /\ufeff|\u00a0/,
1604
+ nonCells = { table:1,tbody:1,tr:1 };
1605
+
1606
+ CKEDITOR.dom.range.prototype.select =
1607
+ CKEDITOR.env.ie ?
1608
+ // V2
1609
+ function( forceExpand )
1610
+ {
1611
+ var collapsed = this.collapsed,
1612
+ isStartMarkerAlone, dummySpan, ieRange;
1613
+
1614
+ // Try to make a object selection.
1615
+ var selected = this.getEnclosedNode();
1616
+ if ( selected )
1617
+ {
1618
+ try
1619
+ {
1620
+ ieRange = this.document.$.body.createControlRange();
1621
+ ieRange.addElement( selected.$ );
1622
+ ieRange.select();
1623
+ return;
1624
+ }
1625
+ catch( er ) {}
1626
+ }
1627
+
1628
+ // IE doesn't support selecting the entire table row/cell, move the selection into cells, e.g.
1629
+ // <table><tbody><tr>[<td>cell</b></td>... => <table><tbody><tr><td>[cell</td>...
1630
+ if ( this.startContainer.type == CKEDITOR.NODE_ELEMENT && this.startContainer.getName() in nonCells
1631
+ || this.endContainer.type == CKEDITOR.NODE_ELEMENT && this.endContainer.getName() in nonCells )
1632
+ {
1633
+ this.shrink( CKEDITOR.NODE_ELEMENT, true );
1634
+ }
1635
+
1636
+ var bookmark = this.createBookmark();
1637
+
1638
+ // Create marker tags for the start and end boundaries.
1639
+ var startNode = bookmark.startNode;
1640
+
1641
+ var endNode;
1642
+ if ( !collapsed )
1643
+ endNode = bookmark.endNode;
1644
+
1645
+ // Create the main range which will be used for the selection.
1646
+ ieRange = this.document.$.body.createTextRange();
1647
+
1648
+ // Position the range at the start boundary.
1649
+ ieRange.moveToElementText( startNode.$ );
1650
+ ieRange.moveStart( 'character', 1 );
1651
+
1652
+ if ( endNode )
1653
+ {
1654
+ // Create a tool range for the end.
1655
+ var ieRangeEnd = this.document.$.body.createTextRange();
1656
+
1657
+ // Position the tool range at the end.
1658
+ ieRangeEnd.moveToElementText( endNode.$ );
1659
+
1660
+ // Move the end boundary of the main range to match the tool range.
1661
+ ieRange.setEndPoint( 'EndToEnd', ieRangeEnd );
1662
+ ieRange.moveEnd( 'character', -1 );
1663
+ }
1664
+ else
1665
+ {
1666
+ // The isStartMarkerAlone logic comes from V2. It guarantees that the lines
1667
+ // will expand and that the cursor will be blinking on the right place.
1668
+ // Actually, we are using this flag just to avoid using this hack in all
1669
+ // situations, but just on those needed.
1670
+ var next = startNode.getNext( notWhitespaces );
1671
+ isStartMarkerAlone = ( !( next && next.getText && next.getText().match( fillerTextRegex ) ) // already a filler there?
1672
+ && ( forceExpand || !startNode.hasPrevious() || ( startNode.getPrevious().is && startNode.getPrevious().is( 'br' ) ) ) );
1673
+
1674
+ // Append a temporary <span>&#65279;</span> before the selection.
1675
+ // This is needed to avoid IE destroying selections inside empty
1676
+ // inline elements, like <b></b> (#253).
1677
+ // It is also needed when placing the selection right after an inline
1678
+ // element to avoid the selection moving inside of it.
1679
+ dummySpan = this.document.createElement( 'span' );
1680
+ dummySpan.setHtml( '&#65279;' ); // Zero Width No-Break Space (U+FEFF). See #1359.
1681
+ dummySpan.insertBefore( startNode );
1682
+
1683
+ if ( isStartMarkerAlone )
1684
+ {
1685
+ // To expand empty blocks or line spaces after <br>, we need
1686
+ // instead to have any char, which will be later deleted using the
1687
+ // selection.
1688
+ // \ufeff = Zero Width No-Break Space (U+FEFF). (#1359)
1689
+ this.document.createText( '\ufeff' ).insertBefore( startNode );
1690
+ }
1691
+ }
1692
+
1693
+ // Remove the markers (reset the position, because of the changes in the DOM tree).
1694
+ this.setStartBefore( startNode );
1695
+ startNode.remove();
1696
+
1697
+ if ( collapsed )
1698
+ {
1699
+ if ( isStartMarkerAlone )
1700
+ {
1701
+ // Move the selection start to include the temporary \ufeff.
1702
+ ieRange.moveStart( 'character', -1 );
1703
+
1704
+ ieRange.select();
1705
+
1706
+ // Remove our temporary stuff.
1707
+ this.document.$.selection.clear();
1708
+ }
1709
+ else
1710
+ ieRange.select();
1711
+
1712
+ this.moveToPosition( dummySpan, CKEDITOR.POSITION_BEFORE_START );
1713
+ dummySpan.remove();
1714
+ }
1715
+ else
1716
+ {
1717
+ this.setEndBefore( endNode );
1718
+ endNode.remove();
1719
+ ieRange.select();
1720
+ }
1721
+
1722
+ this.document.fire( 'selectionchange' );
1723
+ }
1724
+ :
1725
+ function()
1726
+ {
1727
+ this.document.getSelection().selectRanges( [ this ] );
1728
+ };
1729
+ } )();