tui_editor-rails 1.0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (887) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +20 -0
  6. data/README.md +69 -0
  7. data/Rakefile +2 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/example/.gitignore +30 -0
  11. data/example/.ruby-version +1 -0
  12. data/example/Gemfile +64 -0
  13. data/example/Gemfile.lock +224 -0
  14. data/example/README.md +67 -0
  15. data/example/Rakefile +6 -0
  16. data/example/app/assets/config/manifest.js +3 -0
  17. data/example/app/assets/images/.keep +0 -0
  18. data/example/app/assets/images/screen_capture.png +0 -0
  19. data/example/app/assets/javascripts/application.js +23 -0
  20. data/example/app/assets/javascripts/cable.js +13 -0
  21. data/example/app/assets/javascripts/channels/.keep +0 -0
  22. data/example/app/assets/javascripts/home.coffee +3 -0
  23. data/example/app/assets/javascripts/posts.coffee +3 -0
  24. data/example/app/assets/stylesheets/application.scss +4 -0
  25. data/example/app/assets/stylesheets/home.scss +3 -0
  26. data/example/app/assets/stylesheets/posts.scss +3 -0
  27. data/example/app/assets/stylesheets/scaffolds.scss +84 -0
  28. data/example/app/channels/application_cable/channel.rb +4 -0
  29. data/example/app/channels/application_cable/connection.rb +4 -0
  30. data/example/app/controllers/application_controller.rb +2 -0
  31. data/example/app/controllers/concerns/.keep +0 -0
  32. data/example/app/controllers/home_controller.rb +4 -0
  33. data/example/app/controllers/posts_controller.rb +74 -0
  34. data/example/app/helpers/application_helper.rb +2 -0
  35. data/example/app/helpers/home_helper.rb +2 -0
  36. data/example/app/helpers/posts_helper.rb +2 -0
  37. data/example/app/jobs/application_job.rb +2 -0
  38. data/example/app/mailers/application_mailer.rb +4 -0
  39. data/example/app/models/application_record.rb +3 -0
  40. data/example/app/models/concerns/.keep +0 -0
  41. data/example/app/models/post.rb +2 -0
  42. data/example/app/views/home/index.html.erb +11 -0
  43. data/example/app/views/layouts/application.html.erb +14 -0
  44. data/example/app/views/layouts/mailer.html.erb +13 -0
  45. data/example/app/views/layouts/mailer.text.erb +1 -0
  46. data/example/app/views/posts/_form.html.erb +27 -0
  47. data/example/app/views/posts/_post.json.jbuilder +2 -0
  48. data/example/app/views/posts/edit.html.erb +6 -0
  49. data/example/app/views/posts/index.html.erb +29 -0
  50. data/example/app/views/posts/index.json.jbuilder +1 -0
  51. data/example/app/views/posts/new.html.erb +5 -0
  52. data/example/app/views/posts/show.html.erb +14 -0
  53. data/example/app/views/posts/show.json.jbuilder +1 -0
  54. data/example/bin/bundle +3 -0
  55. data/example/bin/rails +9 -0
  56. data/example/bin/rake +9 -0
  57. data/example/bin/setup +36 -0
  58. data/example/bin/spring +17 -0
  59. data/example/bin/update +31 -0
  60. data/example/bin/yarn +11 -0
  61. data/example/config.ru +5 -0
  62. data/example/config/application.rb +19 -0
  63. data/example/config/boot.rb +4 -0
  64. data/example/config/cable.yml +10 -0
  65. data/example/config/credentials.yml.enc +1 -0
  66. data/example/config/database.yml +25 -0
  67. data/example/config/environment.rb +5 -0
  68. data/example/config/environments/development.rb +61 -0
  69. data/example/config/environments/production.rb +94 -0
  70. data/example/config/environments/test.rb +46 -0
  71. data/example/config/initializers/application_controller_renderer.rb +8 -0
  72. data/example/config/initializers/assets.rb +14 -0
  73. data/example/config/initializers/backtrace_silencers.rb +7 -0
  74. data/example/config/initializers/content_security_policy.rb +22 -0
  75. data/example/config/initializers/cookies_serializer.rb +5 -0
  76. data/example/config/initializers/filter_parameter_logging.rb +4 -0
  77. data/example/config/initializers/inflections.rb +16 -0
  78. data/example/config/initializers/mime_types.rb +4 -0
  79. data/example/config/initializers/wrap_parameters.rb +14 -0
  80. data/example/config/locales/en.yml +33 -0
  81. data/example/config/puma.rb +34 -0
  82. data/example/config/routes.rb +6 -0
  83. data/example/config/spring.rb +6 -0
  84. data/example/config/storage.yml +35 -0
  85. data/example/db/migrate/20180208210404_create_posts.rb +10 -0
  86. data/example/db/schema.rb +22 -0
  87. data/example/db/seeds.rb +7 -0
  88. data/example/lib/assets/.keep +0 -0
  89. data/example/lib/tasks/.keep +0 -0
  90. data/example/log/.keep +0 -0
  91. data/example/package.json +5 -0
  92. data/example/public/404.html +67 -0
  93. data/example/public/422.html +67 -0
  94. data/example/public/500.html +66 -0
  95. data/example/public/apple-touch-icon-precomposed.png +0 -0
  96. data/example/public/apple-touch-icon.png +0 -0
  97. data/example/public/favicon.ico +0 -0
  98. data/example/public/robots.txt +1 -0
  99. data/example/test/application_system_test_case.rb +5 -0
  100. data/example/test/controllers/.keep +0 -0
  101. data/example/test/controllers/home_controller_test.rb +9 -0
  102. data/example/test/controllers/posts_controller_test.rb +48 -0
  103. data/example/test/fixtures/.keep +0 -0
  104. data/example/test/fixtures/files/.keep +0 -0
  105. data/example/test/fixtures/posts.yml +9 -0
  106. data/example/test/helpers/.keep +0 -0
  107. data/example/test/integration/.keep +0 -0
  108. data/example/test/mailers/.keep +0 -0
  109. data/example/test/models/.keep +0 -0
  110. data/example/test/models/post_test.rb +7 -0
  111. data/example/test/system/.keep +0 -0
  112. data/example/test/system/posts_test.rb +45 -0
  113. data/example/test/test_helper.rb +10 -0
  114. data/example/tmp/.keep +0 -0
  115. data/example/vendor/.keep +0 -0
  116. data/lib/tui_editor/rails.rb +8 -0
  117. data/lib/tui_editor/rails/version.rb +5 -0
  118. data/tui_editor-rails.gemspec +34 -0
  119. data/vendor/assets/components/codemirror/.bower.json +31 -0
  120. data/vendor/assets/components/codemirror/AUTHORS +714 -0
  121. data/vendor/assets/components/codemirror/CHANGELOG.md +1316 -0
  122. data/vendor/assets/components/codemirror/CONTRIBUTING.md +92 -0
  123. data/vendor/assets/components/codemirror/LICENSE +21 -0
  124. data/vendor/assets/components/codemirror/README.md +35 -0
  125. data/vendor/assets/components/codemirror/addon/comment/comment.js +209 -0
  126. data/vendor/assets/components/codemirror/addon/comment/continuecomment.js +78 -0
  127. data/vendor/assets/components/codemirror/addon/dialog/dialog.css +32 -0
  128. data/vendor/assets/components/codemirror/addon/dialog/dialog.js +157 -0
  129. data/vendor/assets/components/codemirror/addon/display/autorefresh.js +47 -0
  130. data/vendor/assets/components/codemirror/addon/display/fullscreen.css +6 -0
  131. data/vendor/assets/components/codemirror/addon/display/fullscreen.js +41 -0
  132. data/vendor/assets/components/codemirror/addon/display/panel.js +123 -0
  133. data/vendor/assets/components/codemirror/addon/display/placeholder.js +63 -0
  134. data/vendor/assets/components/codemirror/addon/display/rulers.js +51 -0
  135. data/vendor/assets/components/codemirror/addon/edit/closebrackets.js +194 -0
  136. data/vendor/assets/components/codemirror/addon/edit/closetag.js +175 -0
  137. data/vendor/assets/components/codemirror/addon/edit/continuelist.js +89 -0
  138. data/vendor/assets/components/codemirror/addon/edit/matchbrackets.js +145 -0
  139. data/vendor/assets/components/codemirror/addon/edit/matchtags.js +66 -0
  140. data/vendor/assets/components/codemirror/addon/edit/trailingspace.js +27 -0
  141. data/vendor/assets/components/codemirror/addon/fold/brace-fold.js +105 -0
  142. data/vendor/assets/components/codemirror/addon/fold/comment-fold.js +59 -0
  143. data/vendor/assets/components/codemirror/addon/fold/foldcode.js +152 -0
  144. data/vendor/assets/components/codemirror/addon/fold/foldgutter.css +20 -0
  145. data/vendor/assets/components/codemirror/addon/fold/foldgutter.js +146 -0
  146. data/vendor/assets/components/codemirror/addon/fold/indent-fold.js +48 -0
  147. data/vendor/assets/components/codemirror/addon/fold/markdown-fold.js +49 -0
  148. data/vendor/assets/components/codemirror/addon/fold/xml-fold.js +182 -0
  149. data/vendor/assets/components/codemirror/addon/hint/anyword-hint.js +41 -0
  150. data/vendor/assets/components/codemirror/addon/hint/css-hint.js +60 -0
  151. data/vendor/assets/components/codemirror/addon/hint/html-hint.js +348 -0
  152. data/vendor/assets/components/codemirror/addon/hint/javascript-hint.js +155 -0
  153. data/vendor/assets/components/codemirror/addon/hint/show-hint.css +36 -0
  154. data/vendor/assets/components/codemirror/addon/hint/show-hint.js +432 -0
  155. data/vendor/assets/components/codemirror/addon/hint/sql-hint.js +286 -0
  156. data/vendor/assets/components/codemirror/addon/hint/xml-hint.js +110 -0
  157. data/vendor/assets/components/codemirror/addon/lint/coffeescript-lint.js +47 -0
  158. data/vendor/assets/components/codemirror/addon/lint/css-lint.js +40 -0
  159. data/vendor/assets/components/codemirror/addon/lint/html-lint.js +53 -0
  160. data/vendor/assets/components/codemirror/addon/lint/javascript-lint.js +63 -0
  161. data/vendor/assets/components/codemirror/addon/lint/json-lint.js +37 -0
  162. data/vendor/assets/components/codemirror/addon/lint/lint.css +73 -0
  163. data/vendor/assets/components/codemirror/addon/lint/lint.js +252 -0
  164. data/vendor/assets/components/codemirror/addon/lint/yaml-lint.js +41 -0
  165. data/vendor/assets/components/codemirror/addon/merge/merge.css +113 -0
  166. data/vendor/assets/components/codemirror/addon/merge/merge.js +1001 -0
  167. data/vendor/assets/components/codemirror/addon/mode/loadmode.js +64 -0
  168. data/vendor/assets/components/codemirror/addon/mode/multiplex.js +123 -0
  169. data/vendor/assets/components/codemirror/addon/mode/multiplex_test.js +33 -0
  170. data/vendor/assets/components/codemirror/addon/mode/overlay.js +90 -0
  171. data/vendor/assets/components/codemirror/addon/mode/simple.js +216 -0
  172. data/vendor/assets/components/codemirror/addon/runmode/colorize.js +40 -0
  173. data/vendor/assets/components/codemirror/addon/runmode/runmode-standalone.js +158 -0
  174. data/vendor/assets/components/codemirror/addon/runmode/runmode.js +72 -0
  175. data/vendor/assets/components/codemirror/addon/runmode/runmode.node.js +197 -0
  176. data/vendor/assets/components/codemirror/addon/scroll/annotatescrollbar.js +122 -0
  177. data/vendor/assets/components/codemirror/addon/scroll/scrollpastend.js +48 -0
  178. data/vendor/assets/components/codemirror/addon/scroll/simplescrollbars.css +66 -0
  179. data/vendor/assets/components/codemirror/addon/scroll/simplescrollbars.js +152 -0
  180. data/vendor/assets/components/codemirror/addon/search/jump-to-line.js +49 -0
  181. data/vendor/assets/components/codemirror/addon/search/match-highlighter.js +165 -0
  182. data/vendor/assets/components/codemirror/addon/search/matchesonscrollbar.css +8 -0
  183. data/vendor/assets/components/codemirror/addon/search/matchesonscrollbar.js +97 -0
  184. data/vendor/assets/components/codemirror/addon/search/search.js +252 -0
  185. data/vendor/assets/components/codemirror/addon/search/searchcursor.js +289 -0
  186. data/vendor/assets/components/codemirror/addon/selection/active-line.js +72 -0
  187. data/vendor/assets/components/codemirror/addon/selection/mark-selection.js +119 -0
  188. data/vendor/assets/components/codemirror/addon/selection/selection-pointer.js +98 -0
  189. data/vendor/assets/components/codemirror/addon/tern/tern.css +87 -0
  190. data/vendor/assets/components/codemirror/addon/tern/tern.js +718 -0
  191. data/vendor/assets/components/codemirror/addon/tern/worker.js +44 -0
  192. data/vendor/assets/components/codemirror/addon/wrap/hardwrap.js +144 -0
  193. data/vendor/assets/components/codemirror/bower.json +17 -0
  194. data/vendor/assets/components/codemirror/component-tools/bower.json +17 -0
  195. data/vendor/assets/components/codemirror/component-tools/build.sh +31 -0
  196. data/vendor/assets/components/codemirror/component-tools/update.py +38 -0
  197. data/vendor/assets/components/codemirror/keymap/emacs.js +416 -0
  198. data/vendor/assets/components/codemirror/keymap/sublime.js +685 -0
  199. data/vendor/assets/components/codemirror/keymap/vim.js +5219 -0
  200. data/vendor/assets/components/codemirror/lib/codemirror.css +346 -0
  201. data/vendor/assets/components/codemirror/lib/codemirror.js +9669 -0
  202. data/vendor/assets/components/codemirror/mode/apl/apl.js +174 -0
  203. data/vendor/assets/components/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
  204. data/vendor/assets/components/codemirror/mode/asn.1/asn.1.js +204 -0
  205. data/vendor/assets/components/codemirror/mode/asterisk/asterisk.js +196 -0
  206. data/vendor/assets/components/codemirror/mode/brainfuck/brainfuck.js +85 -0
  207. data/vendor/assets/components/codemirror/mode/clike/clike.js +817 -0
  208. data/vendor/assets/components/codemirror/mode/clojure/clojure.js +306 -0
  209. data/vendor/assets/components/codemirror/mode/cmake/cmake.js +97 -0
  210. data/vendor/assets/components/codemirror/mode/cobol/cobol.js +255 -0
  211. data/vendor/assets/components/codemirror/mode/coffeescript/coffeescript.js +359 -0
  212. data/vendor/assets/components/codemirror/mode/commonlisp/commonlisp.js +124 -0
  213. data/vendor/assets/components/codemirror/mode/crystal/crystal.js +433 -0
  214. data/vendor/assets/components/codemirror/mode/css/css.js +832 -0
  215. data/vendor/assets/components/codemirror/mode/cypher/cypher.js +150 -0
  216. data/vendor/assets/components/codemirror/mode/d/d.js +218 -0
  217. data/vendor/assets/components/codemirror/mode/dart/dart.js +157 -0
  218. data/vendor/assets/components/codemirror/mode/diff/diff.js +47 -0
  219. data/vendor/assets/components/codemirror/mode/django/django.js +356 -0
  220. data/vendor/assets/components/codemirror/mode/dockerfile/dockerfile.js +79 -0
  221. data/vendor/assets/components/codemirror/mode/dtd/dtd.js +142 -0
  222. data/vendor/assets/components/codemirror/mode/dylan/dylan.js +352 -0
  223. data/vendor/assets/components/codemirror/mode/ebnf/ebnf.js +195 -0
  224. data/vendor/assets/components/codemirror/mode/ecl/ecl.js +206 -0
  225. data/vendor/assets/components/codemirror/mode/eiffel/eiffel.js +160 -0
  226. data/vendor/assets/components/codemirror/mode/elm/elm.js +205 -0
  227. data/vendor/assets/components/codemirror/mode/erlang/erlang.js +619 -0
  228. data/vendor/assets/components/codemirror/mode/factor/factor.js +85 -0
  229. data/vendor/assets/components/codemirror/mode/fcl/fcl.js +173 -0
  230. data/vendor/assets/components/codemirror/mode/forth/forth.js +180 -0
  231. data/vendor/assets/components/codemirror/mode/fortran/fortran.js +188 -0
  232. data/vendor/assets/components/codemirror/mode/gas/gas.js +345 -0
  233. data/vendor/assets/components/codemirror/mode/gfm/gfm.js +129 -0
  234. data/vendor/assets/components/codemirror/mode/gherkin/gherkin.js +178 -0
  235. data/vendor/assets/components/codemirror/mode/go/go.js +187 -0
  236. data/vendor/assets/components/codemirror/mode/groovy/groovy.js +230 -0
  237. data/vendor/assets/components/codemirror/mode/haml/haml.js +161 -0
  238. data/vendor/assets/components/codemirror/mode/handlebars/handlebars.js +62 -0
  239. data/vendor/assets/components/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
  240. data/vendor/assets/components/codemirror/mode/haskell/haskell.js +267 -0
  241. data/vendor/assets/components/codemirror/mode/haxe/haxe.js +515 -0
  242. data/vendor/assets/components/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
  243. data/vendor/assets/components/codemirror/mode/htmlmixed/htmlmixed.js +152 -0
  244. data/vendor/assets/components/codemirror/mode/http/http.js +113 -0
  245. data/vendor/assets/components/codemirror/mode/idl/idl.js +290 -0
  246. data/vendor/assets/components/codemirror/mode/javascript/javascript.js +865 -0
  247. data/vendor/assets/components/codemirror/mode/jinja2/jinja2.js +142 -0
  248. data/vendor/assets/components/codemirror/mode/jsx/jsx.js +148 -0
  249. data/vendor/assets/components/codemirror/mode/julia/julia.js +418 -0
  250. data/vendor/assets/components/codemirror/mode/livescript/livescript.js +280 -0
  251. data/vendor/assets/components/codemirror/mode/lua/lua.js +159 -0
  252. data/vendor/assets/components/codemirror/mode/markdown/markdown.js +872 -0
  253. data/vendor/assets/components/codemirror/mode/mathematica/mathematica.js +176 -0
  254. data/vendor/assets/components/codemirror/mode/mbox/mbox.js +129 -0
  255. data/vendor/assets/components/codemirror/mode/meta.js +217 -0
  256. data/vendor/assets/components/codemirror/mode/mirc/mirc.js +193 -0
  257. data/vendor/assets/components/codemirror/mode/mllike/mllike.js +356 -0
  258. data/vendor/assets/components/codemirror/mode/modelica/modelica.js +245 -0
  259. data/vendor/assets/components/codemirror/mode/mscgen/mscgen.js +175 -0
  260. data/vendor/assets/components/codemirror/mode/mumps/mumps.js +148 -0
  261. data/vendor/assets/components/codemirror/mode/nginx/nginx.js +178 -0
  262. data/vendor/assets/components/codemirror/mode/nsis/nsis.js +95 -0
  263. data/vendor/assets/components/codemirror/mode/ntriples/ntriples.js +195 -0
  264. data/vendor/assets/components/codemirror/mode/octave/octave.js +139 -0
  265. data/vendor/assets/components/codemirror/mode/oz/oz.js +252 -0
  266. data/vendor/assets/components/codemirror/mode/pascal/pascal.js +109 -0
  267. data/vendor/assets/components/codemirror/mode/pegjs/pegjs.js +114 -0
  268. data/vendor/assets/components/codemirror/mode/perl/perl.js +837 -0
  269. data/vendor/assets/components/codemirror/mode/php/php.js +234 -0
  270. data/vendor/assets/components/codemirror/mode/pig/pig.js +178 -0
  271. data/vendor/assets/components/codemirror/mode/powershell/powershell.js +398 -0
  272. data/vendor/assets/components/codemirror/mode/properties/properties.js +78 -0
  273. data/vendor/assets/components/codemirror/mode/protobuf/protobuf.js +69 -0
  274. data/vendor/assets/components/codemirror/mode/pug/pug.js +591 -0
  275. data/vendor/assets/components/codemirror/mode/puppet/puppet.js +220 -0
  276. data/vendor/assets/components/codemirror/mode/python/python.js +334 -0
  277. data/vendor/assets/components/codemirror/mode/q/q.js +139 -0
  278. data/vendor/assets/components/codemirror/mode/r/r.js +183 -0
  279. data/vendor/assets/components/codemirror/mode/rpm/rpm.js +109 -0
  280. data/vendor/assets/components/codemirror/mode/rst/rst.js +557 -0
  281. data/vendor/assets/components/codemirror/mode/ruby/ruby.js +296 -0
  282. data/vendor/assets/components/codemirror/mode/rust/rust.js +72 -0
  283. data/vendor/assets/components/codemirror/mode/sas/sas.js +303 -0
  284. data/vendor/assets/components/codemirror/mode/sass/sass.js +454 -0
  285. data/vendor/assets/components/codemirror/mode/scheme/scheme.js +249 -0
  286. data/vendor/assets/components/codemirror/mode/shell/shell.js +151 -0
  287. data/vendor/assets/components/codemirror/mode/sieve/sieve.js +193 -0
  288. data/vendor/assets/components/codemirror/mode/slim/slim.js +575 -0
  289. data/vendor/assets/components/codemirror/mode/smalltalk/smalltalk.js +168 -0
  290. data/vendor/assets/components/codemirror/mode/smarty/smarty.js +225 -0
  291. data/vendor/assets/components/codemirror/mode/solr/solr.js +104 -0
  292. data/vendor/assets/components/codemirror/mode/soy/soy.js +354 -0
  293. data/vendor/assets/components/codemirror/mode/sparql/sparql.js +180 -0
  294. data/vendor/assets/components/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
  295. data/vendor/assets/components/codemirror/mode/sql/sql.js +488 -0
  296. data/vendor/assets/components/codemirror/mode/stex/stex.js +251 -0
  297. data/vendor/assets/components/codemirror/mode/stylus/stylus.js +771 -0
  298. data/vendor/assets/components/codemirror/mode/swift/swift.js +219 -0
  299. data/vendor/assets/components/codemirror/mode/tcl/tcl.js +139 -0
  300. data/vendor/assets/components/codemirror/mode/textile/textile.js +469 -0
  301. data/vendor/assets/components/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  302. data/vendor/assets/components/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
  303. data/vendor/assets/components/codemirror/mode/tiki/tiki.css +26 -0
  304. data/vendor/assets/components/codemirror/mode/tiki/tiki.js +312 -0
  305. data/vendor/assets/components/codemirror/mode/toml/toml.js +88 -0
  306. data/vendor/assets/components/codemirror/mode/tornado/tornado.js +68 -0
  307. data/vendor/assets/components/codemirror/mode/troff/troff.js +84 -0
  308. data/vendor/assets/components/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
  309. data/vendor/assets/components/codemirror/mode/ttcn/ttcn.js +283 -0
  310. data/vendor/assets/components/codemirror/mode/turtle/turtle.js +162 -0
  311. data/vendor/assets/components/codemirror/mode/twig/twig.js +141 -0
  312. data/vendor/assets/components/codemirror/mode/vb/vb.js +275 -0
  313. data/vendor/assets/components/codemirror/mode/vbscript/vbscript.js +350 -0
  314. data/vendor/assets/components/codemirror/mode/velocity/velocity.js +201 -0
  315. data/vendor/assets/components/codemirror/mode/verilog/verilog.js +675 -0
  316. data/vendor/assets/components/codemirror/mode/vhdl/vhdl.js +189 -0
  317. data/vendor/assets/components/codemirror/mode/vue/vue.js +77 -0
  318. data/vendor/assets/components/codemirror/mode/webidl/webidl.js +195 -0
  319. data/vendor/assets/components/codemirror/mode/xml/xml.js +401 -0
  320. data/vendor/assets/components/codemirror/mode/xquery/xquery.js +448 -0
  321. data/vendor/assets/components/codemirror/mode/yacas/yacas.js +204 -0
  322. data/vendor/assets/components/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +68 -0
  323. data/vendor/assets/components/codemirror/mode/yaml/yaml.js +118 -0
  324. data/vendor/assets/components/codemirror/mode/z80/z80.js +116 -0
  325. data/vendor/assets/components/codemirror/rollup.config.js +18 -0
  326. data/vendor/assets/components/codemirror/src/codemirror.js +3 -0
  327. data/vendor/assets/components/codemirror/src/display/Display.js +106 -0
  328. data/vendor/assets/components/codemirror/src/display/focus.js +47 -0
  329. data/vendor/assets/components/codemirror/src/display/gutters.js +34 -0
  330. data/vendor/assets/components/codemirror/src/display/highlight_worker.js +55 -0
  331. data/vendor/assets/components/codemirror/src/display/line_numbers.js +48 -0
  332. data/vendor/assets/components/codemirror/src/display/mode_state.js +22 -0
  333. data/vendor/assets/components/codemirror/src/display/operations.js +205 -0
  334. data/vendor/assets/components/codemirror/src/display/scroll_events.js +115 -0
  335. data/vendor/assets/components/codemirror/src/display/scrollbars.js +192 -0
  336. data/vendor/assets/components/codemirror/src/display/scrolling.js +184 -0
  337. data/vendor/assets/components/codemirror/src/display/selection.js +158 -0
  338. data/vendor/assets/components/codemirror/src/display/update_display.js +260 -0
  339. data/vendor/assets/components/codemirror/src/display/update_line.js +188 -0
  340. data/vendor/assets/components/codemirror/src/display/update_lines.js +64 -0
  341. data/vendor/assets/components/codemirror/src/display/view_tracking.js +153 -0
  342. data/vendor/assets/components/codemirror/src/edit/CodeMirror.js +214 -0
  343. data/vendor/assets/components/codemirror/src/edit/commands.js +178 -0
  344. data/vendor/assets/components/codemirror/src/edit/deleteNearSelection.js +30 -0
  345. data/vendor/assets/components/codemirror/src/edit/drop_events.js +119 -0
  346. data/vendor/assets/components/codemirror/src/edit/fromTextArea.js +61 -0
  347. data/vendor/assets/components/codemirror/src/edit/global_events.js +44 -0
  348. data/vendor/assets/components/codemirror/src/edit/key_events.js +159 -0
  349. data/vendor/assets/components/codemirror/src/edit/legacy.js +62 -0
  350. data/vendor/assets/components/codemirror/src/edit/main.js +69 -0
  351. data/vendor/assets/components/codemirror/src/edit/methods.js +539 -0
  352. data/vendor/assets/components/codemirror/src/edit/mouse_events.js +407 -0
  353. data/vendor/assets/components/codemirror/src/edit/options.js +191 -0
  354. data/vendor/assets/components/codemirror/src/edit/utils.js +7 -0
  355. data/vendor/assets/components/codemirror/src/input/ContentEditableInput.js +517 -0
  356. data/vendor/assets/components/codemirror/src/input/TextareaInput.js +350 -0
  357. data/vendor/assets/components/codemirror/src/input/indent.js +71 -0
  358. data/vendor/assets/components/codemirror/src/input/input.js +135 -0
  359. data/vendor/assets/components/codemirror/src/input/keymap.js +148 -0
  360. data/vendor/assets/components/codemirror/src/input/keynames.js +17 -0
  361. data/vendor/assets/components/codemirror/src/input/movement.js +110 -0
  362. data/vendor/assets/components/codemirror/src/line/highlight.js +284 -0
  363. data/vendor/assets/components/codemirror/src/line/line_data.js +337 -0
  364. data/vendor/assets/components/codemirror/src/line/pos.js +40 -0
  365. data/vendor/assets/components/codemirror/src/line/saw_special_spans.js +10 -0
  366. data/vendor/assets/components/codemirror/src/line/spans.js +372 -0
  367. data/vendor/assets/components/codemirror/src/line/utils_line.js +85 -0
  368. data/vendor/assets/components/codemirror/src/measurement/position_measurement.js +700 -0
  369. data/vendor/assets/components/codemirror/src/measurement/widgets.js +26 -0
  370. data/vendor/assets/components/codemirror/src/model/Doc.js +432 -0
  371. data/vendor/assets/components/codemirror/src/model/change_measurement.js +61 -0
  372. data/vendor/assets/components/codemirror/src/model/changes.js +330 -0
  373. data/vendor/assets/components/codemirror/src/model/chunk.js +167 -0
  374. data/vendor/assets/components/codemirror/src/model/document_data.js +111 -0
  375. data/vendor/assets/components/codemirror/src/model/history.js +228 -0
  376. data/vendor/assets/components/codemirror/src/model/line_widget.js +78 -0
  377. data/vendor/assets/components/codemirror/src/model/mark_text.js +292 -0
  378. data/vendor/assets/components/codemirror/src/model/selection.js +82 -0
  379. data/vendor/assets/components/codemirror/src/model/selection_updates.js +208 -0
  380. data/vendor/assets/components/codemirror/src/modes.js +96 -0
  381. data/vendor/assets/components/codemirror/src/util/StringStream.js +90 -0
  382. data/vendor/assets/components/codemirror/src/util/bidi.js +214 -0
  383. data/vendor/assets/components/codemirror/src/util/browser.js +33 -0
  384. data/vendor/assets/components/codemirror/src/util/dom.js +97 -0
  385. data/vendor/assets/components/codemirror/src/util/event.js +103 -0
  386. data/vendor/assets/components/codemirror/src/util/feature_detection.js +84 -0
  387. data/vendor/assets/components/codemirror/src/util/misc.js +150 -0
  388. data/vendor/assets/components/codemirror/src/util/operation_group.js +72 -0
  389. data/vendor/assets/components/codemirror/theme/3024-day.css +41 -0
  390. data/vendor/assets/components/codemirror/theme/3024-night.css +39 -0
  391. data/vendor/assets/components/codemirror/theme/abcdef.css +32 -0
  392. data/vendor/assets/components/codemirror/theme/ambiance-mobile.css +5 -0
  393. data/vendor/assets/components/codemirror/theme/ambiance.css +74 -0
  394. data/vendor/assets/components/codemirror/theme/base16-dark.css +38 -0
  395. data/vendor/assets/components/codemirror/theme/base16-light.css +38 -0
  396. data/vendor/assets/components/codemirror/theme/bespin.css +34 -0
  397. data/vendor/assets/components/codemirror/theme/blackboard.css +32 -0
  398. data/vendor/assets/components/codemirror/theme/cobalt.css +25 -0
  399. data/vendor/assets/components/codemirror/theme/colorforth.css +33 -0
  400. data/vendor/assets/components/codemirror/theme/dracula.css +40 -0
  401. data/vendor/assets/components/codemirror/theme/duotone-dark.css +35 -0
  402. data/vendor/assets/components/codemirror/theme/duotone-light.css +36 -0
  403. data/vendor/assets/components/codemirror/theme/eclipse.css +23 -0
  404. data/vendor/assets/components/codemirror/theme/elegant.css +13 -0
  405. data/vendor/assets/components/codemirror/theme/erlang-dark.css +34 -0
  406. data/vendor/assets/components/codemirror/theme/hopscotch.css +34 -0
  407. data/vendor/assets/components/codemirror/theme/icecoder.css +43 -0
  408. data/vendor/assets/components/codemirror/theme/isotope.css +34 -0
  409. data/vendor/assets/components/codemirror/theme/lesser-dark.css +47 -0
  410. data/vendor/assets/components/codemirror/theme/liquibyte.css +95 -0
  411. data/vendor/assets/components/codemirror/theme/material.css +53 -0
  412. data/vendor/assets/components/codemirror/theme/mbo.css +37 -0
  413. data/vendor/assets/components/codemirror/theme/mdn-like.css +46 -0
  414. data/vendor/assets/components/codemirror/theme/midnight.css +43 -0
  415. data/vendor/assets/components/codemirror/theme/monokai.css +36 -0
  416. data/vendor/assets/components/codemirror/theme/neat.css +12 -0
  417. data/vendor/assets/components/codemirror/theme/neo.css +43 -0
  418. data/vendor/assets/components/codemirror/theme/night.css +27 -0
  419. data/vendor/assets/components/codemirror/theme/oceanic-next.css +44 -0
  420. data/vendor/assets/components/codemirror/theme/panda-syntax.css +85 -0
  421. data/vendor/assets/components/codemirror/theme/paraiso-dark.css +38 -0
  422. data/vendor/assets/components/codemirror/theme/paraiso-light.css +38 -0
  423. data/vendor/assets/components/codemirror/theme/pastel-on-dark.css +52 -0
  424. data/vendor/assets/components/codemirror/theme/railscasts.css +34 -0
  425. data/vendor/assets/components/codemirror/theme/rubyblue.css +25 -0
  426. data/vendor/assets/components/codemirror/theme/seti.css +44 -0
  427. data/vendor/assets/components/codemirror/theme/shadowfox.css +52 -0
  428. data/vendor/assets/components/codemirror/theme/solarized.css +168 -0
  429. data/vendor/assets/components/codemirror/theme/the-matrix.css +30 -0
  430. data/vendor/assets/components/codemirror/theme/tomorrow-night-bright.css +35 -0
  431. data/vendor/assets/components/codemirror/theme/tomorrow-night-eighties.css +38 -0
  432. data/vendor/assets/components/codemirror/theme/ttcn.css +64 -0
  433. data/vendor/assets/components/codemirror/theme/twilight.css +32 -0
  434. data/vendor/assets/components/codemirror/theme/vibrant-ink.css +34 -0
  435. data/vendor/assets/components/codemirror/theme/xq-dark.css +53 -0
  436. data/vendor/assets/components/codemirror/theme/xq-light.css +43 -0
  437. data/vendor/assets/components/codemirror/theme/yeti.css +44 -0
  438. data/vendor/assets/components/codemirror/theme/zenburn.css +37 -0
  439. data/vendor/assets/components/eve/.bower.json +12 -0
  440. data/vendor/assets/components/eve/LICENSE +202 -0
  441. data/vendor/assets/components/eve/README.md +7 -0
  442. data/vendor/assets/components/eve/component.json +13 -0
  443. data/vendor/assets/components/eve/e.html +66 -0
  444. data/vendor/assets/components/eve/eve.js +371 -0
  445. data/vendor/assets/components/eve/package.json +18 -0
  446. data/vendor/assets/components/highlightjs/.bower.json +24 -0
  447. data/vendor/assets/components/highlightjs/LICENSE +24 -0
  448. data/vendor/assets/components/highlightjs/Makefile +21 -0
  449. data/vendor/assets/components/highlightjs/README.md +12 -0
  450. data/vendor/assets/components/highlightjs/bower.json +14 -0
  451. data/vendor/assets/components/highlightjs/component.json +12 -0
  452. data/vendor/assets/components/highlightjs/composer.json +26 -0
  453. data/vendor/assets/components/highlightjs/highlight.pack.js +16645 -0
  454. data/vendor/assets/components/highlightjs/highlight.pack.min.js +15 -0
  455. data/vendor/assets/components/highlightjs/package.json +8 -0
  456. data/vendor/assets/components/highlightjs/styles/agate.css +108 -0
  457. data/vendor/assets/components/highlightjs/styles/androidstudio.css +66 -0
  458. data/vendor/assets/components/highlightjs/styles/arduino-light.css +88 -0
  459. data/vendor/assets/components/highlightjs/styles/arta.css +73 -0
  460. data/vendor/assets/components/highlightjs/styles/ascetic.css +45 -0
  461. data/vendor/assets/components/highlightjs/styles/atelier-cave-dark.css +83 -0
  462. data/vendor/assets/components/highlightjs/styles/atelier-cave-light.css +85 -0
  463. data/vendor/assets/components/highlightjs/styles/atelier-cave.dark.css +113 -0
  464. data/vendor/assets/components/highlightjs/styles/atelier-cave.light.css +113 -0
  465. data/vendor/assets/components/highlightjs/styles/atelier-dune-dark.css +69 -0
  466. data/vendor/assets/components/highlightjs/styles/atelier-dune-light.css +69 -0
  467. data/vendor/assets/components/highlightjs/styles/atelier-dune.dark.css +94 -0
  468. data/vendor/assets/components/highlightjs/styles/atelier-dune.light.css +94 -0
  469. data/vendor/assets/components/highlightjs/styles/atelier-estuary-dark.css +84 -0
  470. data/vendor/assets/components/highlightjs/styles/atelier-estuary-light.css +84 -0
  471. data/vendor/assets/components/highlightjs/styles/atelier-estuary.dark.css +113 -0
  472. data/vendor/assets/components/highlightjs/styles/atelier-estuary.light.css +113 -0
  473. data/vendor/assets/components/highlightjs/styles/atelier-forest-dark.css +69 -0
  474. data/vendor/assets/components/highlightjs/styles/atelier-forest-light.css +69 -0
  475. data/vendor/assets/components/highlightjs/styles/atelier-forest.dark.css +94 -0
  476. data/vendor/assets/components/highlightjs/styles/atelier-forest.light.css +94 -0
  477. data/vendor/assets/components/highlightjs/styles/atelier-heath-dark.css +69 -0
  478. data/vendor/assets/components/highlightjs/styles/atelier-heath-light.css +69 -0
  479. data/vendor/assets/components/highlightjs/styles/atelier-heath.dark.css +94 -0
  480. data/vendor/assets/components/highlightjs/styles/atelier-heath.light.css +94 -0
  481. data/vendor/assets/components/highlightjs/styles/atelier-lakeside-dark.css +69 -0
  482. data/vendor/assets/components/highlightjs/styles/atelier-lakeside-light.css +69 -0
  483. data/vendor/assets/components/highlightjs/styles/atelier-lakeside.dark.css +94 -0
  484. data/vendor/assets/components/highlightjs/styles/atelier-lakeside.light.css +94 -0
  485. data/vendor/assets/components/highlightjs/styles/atelier-plateau-dark.css +84 -0
  486. data/vendor/assets/components/highlightjs/styles/atelier-plateau-light.css +84 -0
  487. data/vendor/assets/components/highlightjs/styles/atelier-plateau.dark.css +113 -0
  488. data/vendor/assets/components/highlightjs/styles/atelier-plateau.light.css +113 -0
  489. data/vendor/assets/components/highlightjs/styles/atelier-savanna-dark.css +84 -0
  490. data/vendor/assets/components/highlightjs/styles/atelier-savanna-light.css +84 -0
  491. data/vendor/assets/components/highlightjs/styles/atelier-savanna.dark.css +113 -0
  492. data/vendor/assets/components/highlightjs/styles/atelier-savanna.light.css +113 -0
  493. data/vendor/assets/components/highlightjs/styles/atelier-seaside-dark.css +69 -0
  494. data/vendor/assets/components/highlightjs/styles/atelier-seaside-light.css +69 -0
  495. data/vendor/assets/components/highlightjs/styles/atelier-seaside.dark.css +94 -0
  496. data/vendor/assets/components/highlightjs/styles/atelier-seaside.light.css +94 -0
  497. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool-dark.css +69 -0
  498. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool-light.css +69 -0
  499. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool.dark.css +94 -0
  500. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool.light.css +94 -0
  501. data/vendor/assets/components/highlightjs/styles/atom-one-dark.css +96 -0
  502. data/vendor/assets/components/highlightjs/styles/atom-one-light.css +96 -0
  503. data/vendor/assets/components/highlightjs/styles/brown-paper.css +64 -0
  504. data/vendor/assets/components/highlightjs/styles/brown-papersq.png +0 -0
  505. data/vendor/assets/components/highlightjs/styles/brown_paper.css +103 -0
  506. data/vendor/assets/components/highlightjs/styles/brown_papersq.png +0 -0
  507. data/vendor/assets/components/highlightjs/styles/codepen-embed.css +60 -0
  508. data/vendor/assets/components/highlightjs/styles/color-brewer.css +71 -0
  509. data/vendor/assets/components/highlightjs/styles/darcula.css +77 -0
  510. data/vendor/assets/components/highlightjs/styles/dark.css +63 -0
  511. data/vendor/assets/components/highlightjs/styles/darkula.css +6 -0
  512. data/vendor/assets/components/highlightjs/styles/default.css +99 -0
  513. data/vendor/assets/components/highlightjs/styles/docco.css +97 -0
  514. data/vendor/assets/components/highlightjs/styles/dracula.css +76 -0
  515. data/vendor/assets/components/highlightjs/styles/far.css +71 -0
  516. data/vendor/assets/components/highlightjs/styles/foundation.css +88 -0
  517. data/vendor/assets/components/highlightjs/styles/github-gist.css +71 -0
  518. data/vendor/assets/components/highlightjs/styles/github.css +99 -0
  519. data/vendor/assets/components/highlightjs/styles/googlecode.css +89 -0
  520. data/vendor/assets/components/highlightjs/styles/grayscale.css +101 -0
  521. data/vendor/assets/components/highlightjs/styles/gruvbox-dark.css +108 -0
  522. data/vendor/assets/components/highlightjs/styles/gruvbox-light.css +108 -0
  523. data/vendor/assets/components/highlightjs/styles/hopscotch.css +83 -0
  524. data/vendor/assets/components/highlightjs/styles/hybrid.css +102 -0
  525. data/vendor/assets/components/highlightjs/styles/idea.css +97 -0
  526. data/vendor/assets/components/highlightjs/styles/ir-black.css +73 -0
  527. data/vendor/assets/components/highlightjs/styles/ir_black.css +106 -0
  528. data/vendor/assets/components/highlightjs/styles/kimbie.dark.css +74 -0
  529. data/vendor/assets/components/highlightjs/styles/kimbie.light.css +74 -0
  530. data/vendor/assets/components/highlightjs/styles/magula.css +70 -0
  531. data/vendor/assets/components/highlightjs/styles/mono-blue.css +59 -0
  532. data/vendor/assets/components/highlightjs/styles/monokai-sublime.css +83 -0
  533. data/vendor/assets/components/highlightjs/styles/monokai.css +70 -0
  534. data/vendor/assets/components/highlightjs/styles/monokai_sublime.css +154 -0
  535. data/vendor/assets/components/highlightjs/styles/obsidian.css +88 -0
  536. data/vendor/assets/components/highlightjs/styles/ocean.css +74 -0
  537. data/vendor/assets/components/highlightjs/styles/paraiso-dark.css +72 -0
  538. data/vendor/assets/components/highlightjs/styles/paraiso-light.css +72 -0
  539. data/vendor/assets/components/highlightjs/styles/paraiso.dark.css +96 -0
  540. data/vendor/assets/components/highlightjs/styles/paraiso.light.css +96 -0
  541. data/vendor/assets/components/highlightjs/styles/pojoaque.css +83 -0
  542. data/vendor/assets/components/highlightjs/styles/pojoaque.jpg +0 -0
  543. data/vendor/assets/components/highlightjs/styles/purebasic.css +96 -0
  544. data/vendor/assets/components/highlightjs/styles/qtcreator_dark.css +83 -0
  545. data/vendor/assets/components/highlightjs/styles/qtcreator_light.css +83 -0
  546. data/vendor/assets/components/highlightjs/styles/railscasts.css +106 -0
  547. data/vendor/assets/components/highlightjs/styles/rainbow.css +85 -0
  548. data/vendor/assets/components/highlightjs/styles/routeros.css +108 -0
  549. data/vendor/assets/components/highlightjs/styles/school-book.css +72 -0
  550. data/vendor/assets/components/highlightjs/styles/school-book.png +0 -0
  551. data/vendor/assets/components/highlightjs/styles/school_book.css +111 -0
  552. data/vendor/assets/components/highlightjs/styles/school_book.png +0 -0
  553. data/vendor/assets/components/highlightjs/styles/solarized-dark.css +84 -0
  554. data/vendor/assets/components/highlightjs/styles/solarized-light.css +84 -0
  555. data/vendor/assets/components/highlightjs/styles/solarized_dark.css +107 -0
  556. data/vendor/assets/components/highlightjs/styles/solarized_light.css +107 -0
  557. data/vendor/assets/components/highlightjs/styles/sunburst.css +102 -0
  558. data/vendor/assets/components/highlightjs/styles/tomorrow-night-blue.css +75 -0
  559. data/vendor/assets/components/highlightjs/styles/tomorrow-night-bright.css +74 -0
  560. data/vendor/assets/components/highlightjs/styles/tomorrow-night-eighties.css +74 -0
  561. data/vendor/assets/components/highlightjs/styles/tomorrow-night.css +75 -0
  562. data/vendor/assets/components/highlightjs/styles/tomorrow.css +72 -0
  563. data/vendor/assets/components/highlightjs/styles/vs.css +68 -0
  564. data/vendor/assets/components/highlightjs/styles/vs2015.css +115 -0
  565. data/vendor/assets/components/highlightjs/styles/xcode.css +93 -0
  566. data/vendor/assets/components/highlightjs/styles/xt256.css +92 -0
  567. data/vendor/assets/components/highlightjs/styles/zenburn.css +80 -0
  568. data/vendor/assets/components/jquery/.bower.json +25 -0
  569. data/vendor/assets/components/jquery/AUTHORS.txt +313 -0
  570. data/vendor/assets/components/jquery/LICENSE.txt +36 -0
  571. data/vendor/assets/components/jquery/README.md +67 -0
  572. data/vendor/assets/components/jquery/bower.json +14 -0
  573. data/vendor/assets/components/jquery/dist/core.js +399 -0
  574. data/vendor/assets/components/jquery/dist/jquery.js +10364 -0
  575. data/vendor/assets/components/jquery/dist/jquery.min.js +2 -0
  576. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  577. data/vendor/assets/components/jquery/dist/jquery.slim.js +8269 -0
  578. data/vendor/assets/components/jquery/dist/jquery.slim.min.js +2 -0
  579. data/vendor/assets/components/jquery/dist/jquery.slim.min.map +1 -0
  580. data/vendor/assets/components/jquery/external/sizzle/LICENSE.txt +36 -0
  581. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.js +2272 -0
  582. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  583. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  584. data/vendor/assets/components/jquery/src/.eslintrc.json +5 -0
  585. data/vendor/assets/components/jquery/src/ajax.js +856 -0
  586. data/vendor/assets/components/jquery/src/ajax/jsonp.js +103 -0
  587. data/vendor/assets/components/jquery/src/ajax/load.js +77 -0
  588. data/vendor/assets/components/jquery/src/ajax/parseXML.js +30 -0
  589. data/vendor/assets/components/jquery/src/ajax/script.js +77 -0
  590. data/vendor/assets/components/jquery/src/ajax/var/location.js +5 -0
  591. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  592. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +5 -0
  593. data/vendor/assets/components/jquery/src/ajax/xhr.js +170 -0
  594. data/vendor/assets/components/jquery/src/attributes.js +13 -0
  595. data/vendor/assets/components/jquery/src/attributes/attr.js +141 -0
  596. data/vendor/assets/components/jquery/src/attributes/classes.js +186 -0
  597. data/vendor/assets/components/jquery/src/attributes/prop.js +143 -0
  598. data/vendor/assets/components/jquery/src/attributes/support.js +33 -0
  599. data/vendor/assets/components/jquery/src/attributes/val.js +191 -0
  600. data/vendor/assets/components/jquery/src/callbacks.js +236 -0
  601. data/vendor/assets/components/jquery/src/core.js +399 -0
  602. data/vendor/assets/components/jquery/src/core/DOMEval.js +30 -0
  603. data/vendor/assets/components/jquery/src/core/access.js +72 -0
  604. data/vendor/assets/components/jquery/src/core/camelCase.js +23 -0
  605. data/vendor/assets/components/jquery/src/core/init.js +129 -0
  606. data/vendor/assets/components/jquery/src/core/nodeName.js +13 -0
  607. data/vendor/assets/components/jquery/src/core/parseHTML.js +65 -0
  608. data/vendor/assets/components/jquery/src/core/ready-no-deferred.js +97 -0
  609. data/vendor/assets/components/jquery/src/core/ready.js +86 -0
  610. data/vendor/assets/components/jquery/src/core/readyException.js +13 -0
  611. data/vendor/assets/components/jquery/src/core/stripAndCollapse.js +14 -0
  612. data/vendor/assets/components/jquery/src/core/support.js +20 -0
  613. data/vendor/assets/components/jquery/src/core/toType.js +20 -0
  614. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +6 -0
  615. data/vendor/assets/components/jquery/src/css.js +481 -0
  616. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +26 -0
  617. data/vendor/assets/components/jquery/src/css/adjustCSS.js +73 -0
  618. data/vendor/assets/components/jquery/src/css/curCSS.js +65 -0
  619. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  620. data/vendor/assets/components/jquery/src/css/showHide.js +105 -0
  621. data/vendor/assets/components/jquery/src/css/support.js +102 -0
  622. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +5 -0
  623. data/vendor/assets/components/jquery/src/css/var/getStyles.js +17 -0
  624. data/vendor/assets/components/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  625. data/vendor/assets/components/jquery/src/css/var/rboxStyle.js +7 -0
  626. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +7 -0
  627. data/vendor/assets/components/jquery/src/css/var/swap.js +26 -0
  628. data/vendor/assets/components/jquery/src/data.js +180 -0
  629. data/vendor/assets/components/jquery/src/data/Data.js +162 -0
  630. data/vendor/assets/components/jquery/src/data/var/acceptData.js +19 -0
  631. data/vendor/assets/components/jquery/src/data/var/dataPriv.js +7 -0
  632. data/vendor/assets/components/jquery/src/data/var/dataUser.js +7 -0
  633. data/vendor/assets/components/jquery/src/deferred.js +399 -0
  634. data/vendor/assets/components/jquery/src/deferred/exceptionHook.js +21 -0
  635. data/vendor/assets/components/jquery/src/deprecated.js +98 -0
  636. data/vendor/assets/components/jquery/src/dimensions.js +57 -0
  637. data/vendor/assets/components/jquery/src/effects.js +702 -0
  638. data/vendor/assets/components/jquery/src/effects/Tween.js +123 -0
  639. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +15 -0
  640. data/vendor/assets/components/jquery/src/event.js +748 -0
  641. data/vendor/assets/components/jquery/src/event/ajax.js +22 -0
  642. data/vendor/assets/components/jquery/src/event/alias.js +29 -0
  643. data/vendor/assets/components/jquery/src/event/focusin.js +55 -0
  644. data/vendor/assets/components/jquery/src/event/support.js +11 -0
  645. data/vendor/assets/components/jquery/src/event/trigger.js +199 -0
  646. data/vendor/assets/components/jquery/src/exports/amd.js +26 -0
  647. data/vendor/assets/components/jquery/src/exports/global.js +34 -0
  648. data/vendor/assets/components/jquery/src/jquery.js +40 -0
  649. data/vendor/assets/components/jquery/src/manipulation.js +486 -0
  650. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +23 -0
  651. data/vendor/assets/components/jquery/src/manipulation/buildFragment.js +105 -0
  652. data/vendor/assets/components/jquery/src/manipulation/getAll.js +32 -0
  653. data/vendor/assets/components/jquery/src/manipulation/setGlobalEval.js +22 -0
  654. data/vendor/assets/components/jquery/src/manipulation/support.js +35 -0
  655. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +5 -0
  656. data/vendor/assets/components/jquery/src/manipulation/var/rscriptType.js +5 -0
  657. data/vendor/assets/components/jquery/src/manipulation/var/rtagName.js +5 -0
  658. data/vendor/assets/components/jquery/src/manipulation/wrapMap.js +29 -0
  659. data/vendor/assets/components/jquery/src/offset.js +233 -0
  660. data/vendor/assets/components/jquery/src/queue.js +145 -0
  661. data/vendor/assets/components/jquery/src/queue/delay.js +24 -0
  662. data/vendor/assets/components/jquery/src/selector-native.js +237 -0
  663. data/vendor/assets/components/jquery/src/selector-sizzle.js +19 -0
  664. data/vendor/assets/components/jquery/src/selector.js +3 -0
  665. data/vendor/assets/components/jquery/src/serialize.js +132 -0
  666. data/vendor/assets/components/jquery/src/traversing.js +191 -0
  667. data/vendor/assets/components/jquery/src/traversing/findFilter.js +97 -0
  668. data/vendor/assets/components/jquery/src/traversing/var/dir.js +22 -0
  669. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +8 -0
  670. data/vendor/assets/components/jquery/src/traversing/var/siblings.js +17 -0
  671. data/vendor/assets/components/jquery/src/var/ObjectFunctionString.js +7 -0
  672. data/vendor/assets/components/jquery/src/var/arr.js +5 -0
  673. data/vendor/assets/components/jquery/src/var/class2type.js +6 -0
  674. data/vendor/assets/components/jquery/src/var/concat.js +7 -0
  675. data/vendor/assets/components/jquery/src/var/document.js +5 -0
  676. data/vendor/assets/components/jquery/src/var/documentElement.js +7 -0
  677. data/vendor/assets/components/jquery/src/var/fnToString.js +7 -0
  678. data/vendor/assets/components/jquery/src/var/getProto.js +5 -0
  679. data/vendor/assets/components/jquery/src/var/hasOwn.js +7 -0
  680. data/vendor/assets/components/jquery/src/var/indexOf.js +7 -0
  681. data/vendor/assets/components/jquery/src/var/isFunction.js +13 -0
  682. data/vendor/assets/components/jquery/src/var/isWindow.js +8 -0
  683. data/vendor/assets/components/jquery/src/var/pnum.js +5 -0
  684. data/vendor/assets/components/jquery/src/var/push.js +7 -0
  685. data/vendor/assets/components/jquery/src/var/rcssNum.js +9 -0
  686. data/vendor/assets/components/jquery/src/var/rnothtmlwhite.js +8 -0
  687. data/vendor/assets/components/jquery/src/var/slice.js +7 -0
  688. data/vendor/assets/components/jquery/src/var/support.js +6 -0
  689. data/vendor/assets/components/jquery/src/var/toString.js +7 -0
  690. data/vendor/assets/components/jquery/src/wrap.js +78 -0
  691. data/vendor/assets/components/markdown-it/.bower.json +38 -0
  692. data/vendor/assets/components/markdown-it/CHANGELOG.md +442 -0
  693. data/vendor/assets/components/markdown-it/CONTRIBUTING.md +15 -0
  694. data/vendor/assets/components/markdown-it/LICENSE +22 -0
  695. data/vendor/assets/components/markdown-it/Procfile +1 -0
  696. data/vendor/assets/components/markdown-it/README.md +294 -0
  697. data/vendor/assets/components/markdown-it/bin/markdown-it.js +113 -0
  698. data/vendor/assets/components/markdown-it/bower.json +28 -0
  699. data/vendor/assets/components/markdown-it/dist/markdown-it.js +7963 -0
  700. data/vendor/assets/components/markdown-it/dist/markdown-it.min.js +1 -0
  701. data/vendor/assets/components/markdown-it/package.json +64 -0
  702. data/vendor/assets/components/plantuml-encoder/.bower.json +29 -0
  703. data/vendor/assets/components/plantuml-encoder/LICENSE +19 -0
  704. data/vendor/assets/components/plantuml-encoder/README.md +38 -0
  705. data/vendor/assets/components/plantuml-encoder/bower.json +20 -0
  706. data/vendor/assets/components/plantuml-encoder/dist/plantuml-encoder.js +3994 -0
  707. data/vendor/assets/components/plantuml-encoder/dist/plantuml-encoder.min.js +1 -0
  708. data/vendor/assets/components/plantuml-encoder/package.json +33 -0
  709. data/vendor/assets/components/raphael/.bower.json +45 -0
  710. data/vendor/assets/components/raphael/bower.json +31 -0
  711. data/vendor/assets/components/raphael/dev/banner.txt +8 -0
  712. data/vendor/assets/components/raphael/dev/raphael.amd.js +14 -0
  713. data/vendor/assets/components/raphael/dev/raphael.core.js +5413 -0
  714. data/vendor/assets/components/raphael/dev/raphael.svg.js +1428 -0
  715. data/vendor/assets/components/raphael/dev/raphael.vml.js +1010 -0
  716. data/vendor/assets/components/raphael/dev/test/svg/dom.js +295 -0
  717. data/vendor/assets/components/raphael/dev/test/vml/dom.js +5 -0
  718. data/vendor/assets/components/raphael/license.txt +21 -0
  719. data/vendor/assets/components/raphael/raphael.js +8330 -0
  720. data/vendor/assets/components/raphael/raphael.min.js +3 -0
  721. data/vendor/assets/components/raphael/raphael.no-deps.js +7959 -0
  722. data/vendor/assets/components/raphael/raphael.no-deps.min.js +3 -0
  723. data/vendor/assets/components/raphael/webpack.config.js +62 -0
  724. data/vendor/assets/components/squire-rte/.bower.json +34 -0
  725. data/vendor/assets/components/squire-rte/Demo.html +143 -0
  726. data/vendor/assets/components/squire-rte/LICENSE +21 -0
  727. data/vendor/assets/components/squire-rte/Makefile +22 -0
  728. data/vendor/assets/components/squire-rte/README.md +473 -0
  729. data/vendor/assets/components/squire-rte/bower.json +24 -0
  730. data/vendor/assets/components/squire-rte/build/document.html +54 -0
  731. data/vendor/assets/components/squire-rte/build/squire-raw.js +4722 -0
  732. data/vendor/assets/components/squire-rte/build/squire.js +2 -0
  733. data/vendor/assets/components/squire-rte/package.json +31 -0
  734. data/vendor/assets/components/squire-rte/source/Clean.js +358 -0
  735. data/vendor/assets/components/squire-rte/source/Clipboard.js +331 -0
  736. data/vendor/assets/components/squire-rte/source/Constants.js +60 -0
  737. data/vendor/assets/components/squire-rte/source/Editor.js +2201 -0
  738. data/vendor/assets/components/squire-rte/source/KeyHandlers.js +502 -0
  739. data/vendor/assets/components/squire-rte/source/Node.js +553 -0
  740. data/vendor/assets/components/squire-rte/source/Range.js +540 -0
  741. data/vendor/assets/components/squire-rte/source/TreeWalker.js +118 -0
  742. data/vendor/assets/components/squire-rte/source/document.html +54 -0
  743. data/vendor/assets/components/squire-rte/source/exports.js +42 -0
  744. data/vendor/assets/components/squire-rte/source/intro.js +6 -0
  745. data/vendor/assets/components/squire-rte/source/outro.js +22 -0
  746. data/vendor/assets/components/to-mark/.bower.json +35 -0
  747. data/vendor/assets/components/to-mark/bower.json +22 -0
  748. data/vendor/assets/components/to-mark/demo/demo.html +24 -0
  749. data/vendor/assets/components/to-mark/demo/demo2.html +94 -0
  750. data/vendor/assets/components/to-mark/dist/to-mark.js +1283 -0
  751. data/vendor/assets/components/to-mark/dist/to-mark.min.js +1 -0
  752. data/vendor/assets/components/to-mark/gulpfile.js +112 -0
  753. data/vendor/assets/components/to-mark/karma.conf.js +260 -0
  754. data/vendor/assets/components/to-mark/package-lock.json +13061 -0
  755. data/vendor/assets/components/to-mark/package.json +53 -0
  756. data/vendor/assets/components/tui-chart/.bower.json +44 -0
  757. data/vendor/assets/components/tui-chart/CODE_OF_CONDUCT.md +73 -0
  758. data/vendor/assets/components/tui-chart/CONTRIBUTING.md +91 -0
  759. data/vendor/assets/components/tui-chart/LICENSE +21 -0
  760. data/vendor/assets/components/tui-chart/README.md +142 -0
  761. data/vendor/assets/components/tui-chart/bower.json +33 -0
  762. data/vendor/assets/components/tui-chart/dist/maps/china.js +10 -0
  763. data/vendor/assets/components/tui-chart/dist/maps/japan.js +10 -0
  764. data/vendor/assets/components/tui-chart/dist/maps/singapore.js +10 -0
  765. data/vendor/assets/components/tui-chart/dist/maps/south-korea.js +10 -0
  766. data/vendor/assets/components/tui-chart/dist/maps/taiwan.js +10 -0
  767. data/vendor/assets/components/tui-chart/dist/maps/thailand.js +10 -0
  768. data/vendor/assets/components/tui-chart/dist/maps/usa.js +10 -0
  769. data/vendor/assets/components/tui-chart/dist/maps/world.js +11 -0
  770. data/vendor/assets/components/tui-chart/dist/tui-chart.css +704 -0
  771. data/vendor/assets/components/tui-chart/dist/tui-chart.js +40567 -0
  772. data/vendor/assets/components/tui-chart/dist/tui-chart.min.css +10 -0
  773. data/vendor/assets/components/tui-chart/dist/tui-chart.min.js +20 -0
  774. data/vendor/assets/components/tui-chart/docs/COMMIT_MESSAGE_CONVENTION.md +49 -0
  775. data/vendor/assets/components/tui-chart/docs/ISSUE_TEMPLATE.md +24 -0
  776. data/vendor/assets/components/tui-chart/docs/PULL_REQUEST_TEMPLATE.md +42 -0
  777. data/vendor/assets/components/tui-chart/docs/README.md +11 -0
  778. data/vendor/assets/components/tui-chart/docs/wiki/README.md +27 -0
  779. data/vendor/assets/components/tui-chart/docs/wiki/_Sidebar.md +31 -0
  780. data/vendor/assets/components/tui-chart/docs/wiki/chart-export-menu.md +66 -0
  781. data/vendor/assets/components/tui-chart/docs/wiki/chart-type-radial.md +121 -0
  782. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-bar,column.md +312 -0
  783. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-bubble.md +63 -0
  784. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-column-line-combo.md +104 -0
  785. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-heatmap.md +39 -0
  786. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line,area.md +333 -0
  787. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line-area-combo.md +78 -0
  788. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line-scatter-combo.md +101 -0
  789. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-map.md +153 -0
  790. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-pie-donut-combo.md +98 -0
  791. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-pie.md +186 -0
  792. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-scatter.md +58 -0
  793. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-treemap.md +158 -0
  794. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-china-map.md +38 -0
  795. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-japan-map.md +51 -0
  796. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-singapore-map.md +9 -0
  797. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-south-korea-map.md +21 -0
  798. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-taiwan-map.md +26 -0
  799. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-thailand-map.md +82 -0
  800. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-usa-map.md +55 -0
  801. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-world-map.md +180 -0
  802. data/vendor/assets/components/tui-chart/docs/wiki/features-axes.md +209 -0
  803. data/vendor/assets/components/tui-chart/docs/wiki/features-chart.md +157 -0
  804. data/vendor/assets/components/tui-chart/docs/wiki/features-circle-legend.md +20 -0
  805. data/vendor/assets/components/tui-chart/docs/wiki/features-legend.md +89 -0
  806. data/vendor/assets/components/tui-chart/docs/wiki/features-plot.md +141 -0
  807. data/vendor/assets/components/tui-chart/docs/wiki/features-series.md +240 -0
  808. data/vendor/assets/components/tui-chart/docs/wiki/features-tooltip.md +223 -0
  809. data/vendor/assets/components/tui-chart/docs/wiki/getting-started.md +74 -0
  810. data/vendor/assets/components/tui-chart/docs/wiki/import-chart-data-from-existing-table-element.md +150 -0
  811. data/vendor/assets/components/tui-chart/docs/wiki/table-of-supported-options.md +344 -0
  812. data/vendor/assets/components/tui-chart/docs/wiki/theme.md +338 -0
  813. data/vendor/assets/components/tui-chart/package-lock.json +8881 -0
  814. data/vendor/assets/components/tui-code-snippet/.bower.json +31 -0
  815. data/vendor/assets/components/tui-code-snippet/LICENSE +21 -0
  816. data/vendor/assets/components/tui-code-snippet/README.md +109 -0
  817. data/vendor/assets/components/tui-code-snippet/bower.json +20 -0
  818. data/vendor/assets/components/tui-code-snippet/demo/postBridge/README.md +26 -0
  819. data/vendor/assets/components/tui-code-snippet/demo/postBridge/public/popup.html +27 -0
  820. data/vendor/assets/components/tui-code-snippet/demo/postBridge/public/postBridge.html +31 -0
  821. data/vendor/assets/components/tui-code-snippet/demo/postBridge/server.js +28 -0
  822. data/vendor/assets/components/tui-code-snippet/dist/tui-code-snippet.js +4228 -0
  823. data/vendor/assets/components/tui-code-snippet/dist/tui-code-snippet.min.js +7 -0
  824. data/vendor/assets/components/tui-code-snippet/package-lock.json +6038 -0
  825. data/vendor/assets/components/tui-color-picker/.bower.json +37 -0
  826. data/vendor/assets/components/tui-color-picker/ISSUE_TEMPLATE.md +26 -0
  827. data/vendor/assets/components/tui-color-picker/LICENSE +34 -0
  828. data/vendor/assets/components/tui-color-picker/README.md +69 -0
  829. data/vendor/assets/components/tui-color-picker/bower.json +26 -0
  830. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.css +148 -0
  831. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.js +3146 -0
  832. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.min.css +7 -0
  833. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.min.js +9 -0
  834. data/vendor/assets/components/tui-color-picker/package-lock.json +8440 -0
  835. data/vendor/assets/components/tui-editor/.bower.json +71 -0
  836. data/vendor/assets/components/tui-editor/CODE_OF_CONDUCT.md +73 -0
  837. data/vendor/assets/components/tui-editor/CONTRIBUTING.md +92 -0
  838. data/vendor/assets/components/tui-editor/LICENSE +21 -0
  839. data/vendor/assets/components/tui-editor/README.md +204 -0
  840. data/vendor/assets/components/tui-editor/bower.json +59 -0
  841. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor-all.js +36850 -0
  842. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor-all.min.js +13 -0
  843. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor.js +24646 -0
  844. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor.min.js +7 -0
  845. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer-all.js +14768 -0
  846. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer-all.min.js +13 -0
  847. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer.js +3686 -0
  848. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer.min.js +7 -0
  849. data/vendor/assets/components/tui-editor/dist/tui-editor-contents.css +239 -0
  850. data/vendor/assets/components/tui-editor/dist/tui-editor-contents.min.css +1 -0
  851. data/vendor/assets/components/tui-editor/dist/tui-editor-extChart.js +7040 -0
  852. data/vendor/assets/components/tui-editor/dist/tui-editor-extChart.min.js +13 -0
  853. data/vendor/assets/components/tui-editor/dist/tui-editor-extColorSyntax.js +472 -0
  854. data/vendor/assets/components/tui-editor/dist/tui-editor-extColorSyntax.min.js +7 -0
  855. data/vendor/assets/components/tui-editor/dist/tui-editor-extScrollSync.js +1241 -0
  856. data/vendor/assets/components/tui-editor/dist/tui-editor-extScrollSync.min.js +7 -0
  857. data/vendor/assets/components/tui-editor/dist/tui-editor-extTable.js +3930 -0
  858. data/vendor/assets/components/tui-editor/dist/tui-editor-extTable.min.js +7 -0
  859. data/vendor/assets/components/tui-editor/dist/tui-editor-extUML.js +212 -0
  860. data/vendor/assets/components/tui-editor/dist/tui-editor-extUML.min.js +7 -0
  861. data/vendor/assets/components/tui-editor/dist/tui-editor.css +1166 -0
  862. data/vendor/assets/components/tui-editor/dist/tui-editor.min.css +1 -0
  863. data/vendor/assets/components/tui-editor/docs/COMMIT_MESSAGE_CONVENTION.md +49 -0
  864. data/vendor/assets/components/tui-editor/docs/PULL_REQUEST_TEMPLATE.md +41 -0
  865. data/vendor/assets/components/tui-editor/docs/README.md +13 -0
  866. data/vendor/assets/components/tui-editor/docs/getting-started-with-bower.md +93 -0
  867. data/vendor/assets/components/tui-editor/docs/getting-started.md +76 -0
  868. data/vendor/assets/components/tui-editor/docs/using-extensions.md +91 -0
  869. data/vendor/assets/components/tui-editor/docs/writing-your-own-extension.md +167 -0
  870. data/vendor/assets/components/tui-editor/examples/example00-demo.html +85 -0
  871. data/vendor/assets/components/tui-editor/examples/example01-basic.html +37 -0
  872. data/vendor/assets/components/tui-editor/examples/example02-viewer-basic.html +68 -0
  873. data/vendor/assets/components/tui-editor/examples/example03-jquery.html +36 -0
  874. data/vendor/assets/components/tui-editor/examples/example04-viewer-jquery.html +67 -0
  875. data/vendor/assets/components/tui-editor/examples/example05-scrollsync.html +77 -0
  876. data/vendor/assets/components/tui-editor/examples/example06-colorsyntax.html +44 -0
  877. data/vendor/assets/components/tui-editor/examples/example07-table.html +48 -0
  878. data/vendor/assets/components/tui-editor/examples/example08-uml.html +69 -0
  879. data/vendor/assets/components/tui-editor/examples/example09-multiple-extensions.html +85 -0
  880. data/vendor/assets/components/tui-editor/examples/example10-viewer-multiple-extensions.html +86 -0
  881. data/vendor/assets/components/tui-editor/examples/example11-chart.html +60 -0
  882. data/vendor/assets/components/tui-editor/examples/example12-writing-extension.html +66 -0
  883. data/vendor/assets/components/tui-editor/examples/examples.json +41 -0
  884. data/vendor/assets/components/tui-editor/examples/explain.css +7 -0
  885. data/vendor/assets/components/tui-editor/package-lock.json +13289 -0
  886. data/vendor/assets/components/tui-editor/package.json +90 -0
  887. metadata +956 -0
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * tui-editor
3
+ * @version 1.0.2
4
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com> (https://nhnent.github.io/tui.editor/)
5
+ * @license MIT
6
+ */
7
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("jquery"),require("tui-code-snippet"),require("to-mark"),require("tui-chart"),require("markdown-it"),require("highlight.js"),require("tui-color-picker"),require("plantuml-encoder")):"function"==typeof define&&define.amd?define(["jquery","tui-code-snippet","to-mark","tui-chart","markdown-it","highlight.js","tui-color-picker","plantuml-encoder"],t):"object"==typeof exports?exports.Editor=t(require("jquery"),require("tui-code-snippet"),require("to-mark"),require("tui-chart"),require("markdown-it"),require("highlight.js"),require("tui-color-picker"),require("plantuml-encoder")):(e.tui=e.tui||{},e.tui.Editor=t(e.$,e.tui&&e.tui.util,e.toMark,e.tui&&e.tui.chart,e.markdownit,e.hljs,e.tui&&e.tui.colorPicker,e.plantumlEncoder))}("undefined"!=typeof self?self:this,function(e,t,n,r,o,a,i,u){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="dist/",t(t.s=27)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=void 0;try{r=n(!function(){var e=new Error('Cannot find module "../editor"');throw e.code="MODULE_NOT_FOUND",e}())}catch(e){}if(!r)try{r=n(16)}catch(e){}t.default=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=(0,w.default)(e),o=r.attr("colspan"),a=r.attr("rowspan"),i=e.nodeName;if("TH"!==i&&"TD"!==i)return null;var u={nodeName:e.nodeName,colspan:o?parseInt(o,10):1,rowspan:a?parseInt(a,10):1,content:r.html(),elementIndex:{rowIndex:t,colIndex:n}};return"TH"===e.nodeName&&e.align&&(u.align=e.align),u}function a(e,t,n,r){var o=t.colspan,a=t.rowspan,i=t.nodeName,u=o>1,l=a>1;if(u||l){var s=n+a,c=r+o;E.default.range(n,s).forEach(function(t){e[t]=e[t]||[],E.default.range(r,c).forEach(function(o){var a={nodeName:i};t===n&&o===r||(u&&(a.colMergeWith=r),l&&(a.rowMergeWith=n),e[t][o]=a)})})}}function i(e){var t=[];return e.find("tr").each(function(e,n){var r=0;t[e]=t[e]||[],(0,w.default)(n).children().each(function(n,i){var u=o(i,e,n);if(u){for(var l=n+r;t[e][l];)l+=1,r+=1;t[e][l]=u,a(t,u,e,l)}})}),e[0].className&&(t.className=e[0].className),t}function u(e){var t=[];return e.forEach(function(e,n){var r=[];e.forEach(function(e,t){E.default.isUndefined(e.colMergeWith)&&E.default.isUndefined(e.rowMergeWith)&&r.push({rowIndex:n,colIndex:t})}),t.push(r)}),t}function l(e){var t=e[0];return t.map(function(e){return E.default.isExisty(e.colMergeWith)?t[e.colMergeWith].align:e.align})}function s(e,t){var n=l(e),r=t.map(function(t){return t.map(function(t){var r=t.rowIndex,o=t.colIndex;return E.default.extend({align:n[o]},e[r][o])})});return e.className&&(r.className=e.className),r}function c(e,t,n){return{nodeName:n||"TD",colspan:1,rowspan:1,content:k,elementIndex:{rowIndex:e,colIndex:t}}}function f(e){var t=e.closest("tr"),n=t.prevAll().length;return"TBODY"===t.parent()[0].nodeName&&(n+=1),n}function d(e){return e.closest("td, th").prevAll().length}function h(e,t){var n=f(t),r=d(t);return e[n][r]}function p(e,t,n){var r=e[t][n],o=t;return r.rowspan>1&&(o+=r.rowspan-1),o}function g(e,t,n){var r=e[t][n],o=n;return r.colspan>1&&(o+=r.colspan-1),o}function v(e,t,n){var r=e[t][n];return t=E.default.isExisty(r.rowMergeWith)?r.rowMergeWith:t,n=E.default.isExisty(r.colMergeWith)?r.colMergeWith:n,e[t][n].elementIndex}function m(e,t){e.forEach(function(e,n){var r=e.length,o=e[0].nodeName;E.default.range(r,t).forEach(function(t){e.push(c(n,t,o))})})}function b(e){var t=e[0],n=t.length,r=!0;if(!n&&e[1])E.default.range(0,e[1].length).forEach(function(e){t.push(c(0,e,"TH"))});else if("TH"!==e[0][0].nodeName){var o,a=E.default.range(0,n).map(function(e){return c(0,e,"TH")});(o=[]).concat.apply(o,e).forEach(function(e){e.elementIndex&&(e.elementIndex.rowIndex+=1)}),e.unshift(a)}else if(1===e.length){var i=E.default.range(0,n).map(function(e){return c(1,e,"TD")});e.push(i)}else r=!1;return r}Object.defineProperty(t,"__esModule",{value:!0}),t.createTableData=i,t.createCellIndexData=u;var y=n(0),w=r(y),_=n(1),E=r(_),k=E.default.browser.msie?"":"<br>";t.default={createTableData:i,createCellIndexData:u,createRenderData:s,findElementRowIndex:f,findElementColIndex:d,findCellIndex:h,createBasicCell:c,findRowMergedLastIndex:p,findColMergedLastIndex:g,findElementIndex:v,stuffCellsIntoIncompleteRow:m,addTbodyOrTheadIfNeed:b}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.colspan>1?' colspan="'+e.colspan+'"':"";return t+=e.rowspan>1?' rowspan="'+e.rowspan+'"':"",t+=e.align?' align="'+e.align+'"':"","<"+e.nodeName+t+">"+e.content+"</"+e.nodeName+">"}function a(e,t){var n="";return e.length&&(n=e.map(function(e){return"<tr>"+e.map(o).join("")+"</tr>"}).join(""),n="<"+t+">"+n+"</"+t+">"),n}function i(e){var t=[e[0]],n=e.slice(1),r=a(t,"THEAD"),o=a(n,"TBODY");return"<table"+(e.className?' class="'+e.className+'"':"")+">"+(r+o)+"</renderData>"}function u(e,t){var n=d.default.createCellIndexData(t),r=d.default.createRenderData(t,n),o=(0,c.default)(i(r));return e.replaceWith(o),o}function l(e,t,n){t.selectNodeContents(n),t.collapse(!0),e.setSelection(t)}Object.defineProperty(t,"__esModule",{value:!0});var s=n(0),c=r(s),f=n(3),d=r(f);t.default={createTableHtml:i,replaceTable:u,focusToCell:l}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=g.default.createCellIndexData(e),o=g.default.findCellIndex(r,t),a=g.default.findCellIndex(r,n),i=void 0,u=void 0,l=void 0,s=void 0;return o.rowIndex>a.rowIndex?(i=a.rowIndex,u=o.rowIndex):(i=o.rowIndex,u=a.rowIndex),o.colIndex>a.colIndex?(l=a.colIndex,s=o.colIndex):(l=o.colIndex,s=a.colIndex),{start:{rowIndex:i,colIndex:l},end:{rowIndex:u,colIndex:s}}}function a(e,t,n){var r=t[n].rowIndex,o=e[r];h.default.range(t.start.colIndex,t.end.colIndex+1).forEach(function(n){var a=o[n],i=a.rowMergeWith,u=-1;h.default.isExisty(i)?(i<t.start.rowIndex&&(t.start.rowIndex=i),u=i+e[i][n].rowspan-1):a.rowspan>1&&(u=r+a.rowspan-1),u>t.end.rowIndex&&(t.end.rowIndex=u)})}function i(e,t,n,r){var o=e[n],a=o[r],i=a.colMergeWith,u=-1;h.default.isExisty(i)?(i<t.start.colIndex&&(t.start.colIndex=i),u=i+o[i].colspan-1):a.colspan>1&&(u=r+a.colspan-1),u>t.end.colIndex&&(t.end.colIndex=u)}function u(e,t){for(var n="";n!==JSON.stringify(t);)n=JSON.stringify(t),a(e,t,"start"),a(e,t,"end"),h.default.range(t.start.rowIndex,t.end.rowIndex+1).forEach(function(n){i(e,t,n,t.start.colIndex),i(e,t,n,t.end.colIndex)});return t}function l(e,t,n){return u(e,o(e,t,n))}function s(e,t,n){var r=g.default.createCellIndexData(e),o={};if(t.length){var a=g.default.findCellIndex(r,t.first()),i=h.default.extend({},a);t.each(function(t,n){var o=g.default.findCellIndex(r,(0,f.default)(n)),a=e[o.rowIndex][o.colIndex],u=o.rowIndex+a.rowspan-1,l=o.colIndex+a.colspan-1;i.rowIndex=Math.max(i.rowIndex,u),i.colIndex=Math.max(i.colIndex,l)}),o.start=a,o.end=i}else{var u=g.default.findCellIndex(r,n);o.start=u,o.end=h.default.extend({},u)}return o}Object.defineProperty(t,"__esModule",{value:!0});var c=n(0),f=r(c),d=n(1),h=r(d),p=n(3),g=r(p);t.default={findSelectionRange:l,getTableSelectionRange:s}},function(e,t,n){"use strict";function r(e){if(!(this instanceof r))return new r(e);s.call(this,e),c.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",o)}function o(){this.allowHalfOpen||this._writableState.ended||i(a,this)}function a(e){e.end()}var i=n(11),u=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=r;var l=n(9);l.inherits=n(7);var s=n(20),c=n(15);l.inherits(r,s);for(var f=u(c.prototype),d=0;d<f.length;d++){var h=f[d];r.prototype[h]||(r.prototype[h]=c.prototype[h])}Object.defineProperty(r.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),r.prototype._destroy=function(e,t){this.push(null),this.end(),i(t,e)}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){(function(e){function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===v(e)}function r(e){return"boolean"==typeof e}function o(e){return null===e}function a(e){return null==e}function i(e){return"number"==typeof e}function u(e){return"string"==typeof e}function l(e){return"symbol"==typeof e}function s(e){return void 0===e}function c(e){return"[object RegExp]"===v(e)}function f(e){return"object"==typeof e&&null!==e}function d(e){return"[object Date]"===v(e)}function h(e){return"[object Error]"===v(e)||e instanceof Error}function p(e){return"function"==typeof e}function g(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function v(e){return Object.prototype.toString.call(e)}t.isArray=n,t.isBoolean=r,t.isNull=o,t.isNullOrUndefined=a,t.isNumber=i,t.isString=u,t.isSymbol=l,t.isUndefined=s,t.isRegExp=c,t.isObject=f,t.isDate=d,t.isError=h,t.isFunction=p,t.isPrimitive=g,t.isBuffer=e.isBuffer}).call(t,n(23).Buffer)},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function a(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function i(){g&&h&&(g=!1,h.length?p=h.concat(p):v=-1,p.length&&u())}function u(){if(!g){var e=o(i);g=!0;for(var t=p.length;t;){for(h=p,p=[];++v<t;)h&&h[v].run();v=-1,t=p.length}h=null,g=!1,a(e)}}function l(e,t){this.fun=e,this.array=t}function s(){}var c,f,d=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:n}catch(e){c=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var h,p=[],g=!1,v=-1;d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];p.push(new l(e,t)),1!==p.length||g||o(u)},l.prototype.run=function(){this.fun.apply(null,this.array)},d.title="browser",d.browser=!0,d.env={},d.argv=[],d.version="",d.versions={},d.on=s,d.addListener=s,d.once=s,d.off=s,d.removeListener=s,d.removeAllListeners=s,d.emit=s,d.prependListener=s,d.prependOnceListener=s,d.listeners=function(e){return[]},d.binding=function(e){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(e){throw new Error("process.chdir is not supported")},d.umask=function(){return 0}},function(e,t,n){"use strict";(function(t){function n(e,n,r,o){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,i,u=arguments.length;switch(u){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,o)});default:for(a=new Array(u-1),i=0;i<a.length;)a[i++]=arguments[i];return t.nextTick(function(){e.apply(null,a)})}}!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports=n:e.exports=t.nextTick}).call(t,n(10))},function(e,t,n){function r(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}var a=n(23),i=a.Buffer;i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=a:(r(a,t),t.Buffer=o),r(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a.SlowBuffer(e)}},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function o(e){return"number"==typeof e}function a(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,o,u,l,s;if(this._events||(this._events={}),"error"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(n=this._events[e],i(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:u=Array.prototype.slice.call(arguments,1),n.apply(this,u)}else if(a(n))for(u=Array.prototype.slice.call(arguments,1),s=n.slice(),o=s.length,l=0;l<o;l++)s[l].apply(this,u);return!0},n.prototype.addListener=function(e,t){var o;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?a(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,a(this._events[e])&&!this._events[e].warned&&(o=i(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&o>0&&this._events[e].length>o&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),o||(o=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var o=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,o,i,u;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],i=n.length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(n)){for(u=i;u-- >0;)if(n[u]===t||n[u].listener&&n[u].listener===t){o=u;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){t=e.exports=n(20),t.Stream=t,t.Readable=t,t.Writable=n(15),t.Duplex=n(6),t.Transform=n(26),t.PassThrough=n(57)},function(e,t,n){"use strict";(function(t,r,o){function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){M(t,e)}}function i(e){return N.from(e)}function u(e){return N.isBuffer(e)||e instanceof L}function l(){}function s(e,t){I=I||n(6),e=e||{},this.objectMode=!!e.objectMode,t instanceof I&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,o=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:o,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){b(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function c(e){if(I=I||n(6),!(B.call(c,this)||this instanceof I))return new c(e);this._writableState=new s(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),P.call(this)}function f(e,t){var n=new Error("write after end");e.emit("error",n),S(t,n)}function d(e,t,n,r){var o=!0,a=!1;return null===n?a=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),S(r,a),o=!1),o}function h(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=N.from(t,n)),t}function p(e,t,n,r,o,a){if(!n){var i=h(t,r,o);r!==i&&(n=!0,o="buffer",r=i)}var u=t.objectMode?1:r.length;t.length+=u;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:o,isBuf:n,callback:a,next:null},s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else g(e,t,!1,u,r,o,a);return l}function g(e,t,n,r,o,a,i){t.writelen=r,t.writecb=i,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,a,t.onwrite),t.sync=!1}function v(e,t,n,r,o){--t.pendingcb,n?(S(o,r),S(C,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),C(e,t))}function m(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function b(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(m(n),t)v(e,n,r,t,o);else{var a=E(n);a||n.corked||n.bufferProcessing||!n.bufferedRequest||_(e,n),r?R(y,e,n,a,o):y(e,n,a,o)}}function y(e,t,n,r){n||w(e,t),t.pendingcb--,r(),C(e,t)}function w(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function _(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,o=new Array(r),i=t.corkedRequestsFree;i.entry=n;for(var u=0,l=!0;n;)o[u]=n,n.isBuf||(l=!1),n=n.next,u+=1;o.allBuffers=l,g(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new a(t)}else{for(;n;){var s=n.chunk,c=n.encoding,f=n.callback;if(g(e,t,!1,t.objectMode?1:s.length,s,c,f),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function k(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),C(e,t)})}function x(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,S(k,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function C(e,t){var n=E(t);return n&&(x(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}function T(e,t,n){t.ending=!0,C(e,t),n&&(t.finished?S(n):e.once("finish",n)),t.ended=!0,e.writable=!1}function M(e,t,n){var r=e.entry;for(e.entry=null;r;){var o=r.callback;t.pendingcb--,o(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}var S=n(11);e.exports=c;var I,R=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:S;c.WritableState=s;var A=n(9);A.inherits=n(7);var O={deprecate:n(56)},P=n(22),N=n(12).Buffer,L=o.Uint8Array||function(){},D=n(24);A.inherits(c,P),s.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(s.prototype,"buffer",{get:O.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var B;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(B=Function.prototype[Symbol.hasInstance],Object.defineProperty(c,Symbol.hasInstance,{value:function(e){return!!B.call(this,e)||e&&e._writableState instanceof s}})):B=function(e){return e instanceof this},c.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},c.prototype.write=function(e,t,n){var r=this._writableState,o=!1,a=u(e)&&!r.objectMode;return a&&!N.isBuffer(e)&&(e=i(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=l),r.ended?f(this,n):(a||d(this,r,e,n))&&(r.pendingcb++,o=p(this,r,a,e,t,n)),o},c.prototype.cork=function(){this._writableState.corked++},c.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},c.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},c.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},c.prototype._writev=null,c.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||T(this,r,n)},Object.defineProperty(c.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),c.prototype.destroy=D.destroy,c.prototype._undestroy=D.undestroy,c.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n(10),n(54).setImmediate,n(8))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(1),s=r(l),c=n(30),f=r(c),d=n(33),h=r(d),p=n(34),g=r(p),v=n(36),m=r(v),b=n(37),y=r(b),w=n(48),_=r(w),E=n(18),k=r(E),x=function(){function e(t){var n=this;o(this,e),this.options=t,this.eventManager=new h.default,this.commandManager=new g.default(this),this.convertor=new y.default(this.eventManager),this.toMarkOptions=null,this.options.hooks&&s.default.forEach(this.options.hooks,function(e,t){n.addHook(t,e)}),this.options.events&&s.default.forEach(this.options.events,function(e,t){n.on(t,e)}),this.preview=new f.default((0,u.default)(this.options.el),this.eventManager,this.convertor,!0),this.preview.$el.on("mousedown",u.default.proxy(this._toggleTask,this)),m.default.applyExtension(this,this.options.exts),this.setValue(this.options.initialValue),this.eventManager.emit("load",this)}return a(e,[{key:"_toggleTask",value:function(e){var t=e.offsetX<18&&e.offsetY>18;e.target.hasAttribute("data-te-task")&&!t&&((0,u.default)(e.target).toggleClass("checked"),this.eventManager.emit("change",{source:"viewer",data:e}))}},{key:"setMarkdown",value:function(e){this.markdownValue=e=e||"",this.preview.refresh(this.markdownValue),this.eventManager.emit("setMarkdownAfter",this.markdownValue)}},{key:"setValue",value:function(e){this.setMarkdown(e)}},{key:"on",value:function(e,t){this.eventManager.listen(e,t)}},{key:"off",value:function(e){this.eventManager.removeEventHandler(e)}},{key:"remove",value:function(){this.eventManager.emit("removeEditor"),this.preview.$el.off("mousedown",u.default.proxy(this._toggleTask,this)),this.options=null,this.eventManager=null,this.commandManager=null,this.convertor=null,this.preview=null}},{key:"addHook",value:function(e,t){this.eventManager.removeEventHandler(e),this.eventManager.listen(e,t)}},{key:"isViewer",value:function(){return!0}},{key:"isMarkdownMode",value:function(){return!1}},{key:"isWysiwygMode",value:function(){return!1}}],[{key:"defineExtension",value:function(e,t){m.default.defineExtension(e,t)}}]),e}();x.isViewer=!0,x.domUtils=_.default,x.codeBlockManager=k.default,x.markdownitHighlight=y.default.getMarkdownitHighlightRenderer(),x.i18n=null,x.Button=null,x.WwCodeBlockManager=null,x.WwTableManager=null,x.WwTableSelectionManager=null,e.exports=x},function(e,t){e.exports=n},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}Object.defineProperty(t,"__esModule",{value:!0}),t.CodeBlockManager=void 0;var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(47),u=function(e){return e&&e.__esModule?e:{default:e}}(i),l=function(){function e(){r(this,e),this._replacers={}}return a(e,[{key:"setReplacer",value:function(e,t){this._replacers[e]=t}},{key:"getReplacer",value:function(e){return this._replacers[e]}},{key:"createCodeBlockHtml",value:function(e,t){var n=this.getReplacer(e);return n?n(t,e):u.default.getLanguage(e)?u.default.highlight(e,t).value:o(t,!1)}}],[{key:"getHighlightJSLanguages",value:function(){return u.default.listLanguages()}}]),e}();t.CodeBlockManager=l,t.default=new l},function(e,t,n){function r(){o.call(this)}e.exports=r;var o=n(13).EventEmitter;n(7)(r,o),r.Readable=n(14),r.Writable=n(58),r.Duplex=n(59),r.Transform=n(60),r.PassThrough=n(61),r.Stream=r,r.prototype.pipe=function(e,t){function n(t){e.writable&&!1===e.write(t)&&s.pause&&s.pause()}function r(){s.readable&&s.resume&&s.resume()}function a(){c||(c=!0,e.end())}function i(){c||(c=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(l(),0===o.listenerCount(this,"error"))throw e}function l(){s.removeListener("data",n),e.removeListener("drain",r),s.removeListener("end",a),s.removeListener("close",i),s.removeListener("error",u),e.removeListener("error",u),s.removeListener("end",l),s.removeListener("close",l),e.removeListener("close",l)}var s=this;s.on("data",n),e.on("drain",r),e._isStdio||t&&!1===t.end||(s.on("end",a),s.on("close",i));var c=!1;return s.on("error",u),e.on("error",u),s.on("end",l),s.on("close",l),e.on("close",l),e.emit("pipe",s),e}},function(e,t,n){"use strict";(function(t,r){function o(e){return B.from(e)}function a(e){return B.isBuffer(e)||e instanceof j}function i(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?N(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function u(e,t){P=P||n(6),e=e||{},this.objectMode=!!e.objectMode,t instanceof P&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,o=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:o,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new F,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(q||(q=n(25).StringDecoder),this.decoder=new q(e.encoding),this.encoding=e.encoding)}function l(e){if(P=P||n(6),!(this instanceof l))return new l(e);this._readableState=new u(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),D.call(this)}function s(e,t,n,r,a){var i=e._readableState;if(null===t)i.reading=!1,g(e,i);else{var u;a||(u=f(i,t)),u?e.emit("error",u):i.objectMode||t&&t.length>0?("string"==typeof t||i.objectMode||Object.getPrototypeOf(t)===B.prototype||(t=o(t)),r?i.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):c(e,i,t,!0):i.ended?e.emit("error",new Error("stream.push() after EOF")):(i.reading=!1,i.decoder&&!n?(t=i.decoder.write(t),i.objectMode||0!==t.length?c(e,i,t,!1):b(e,i)):c(e,i,t,!1))):r||(i.reading=!1)}return d(i)}function c(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&v(e)),b(e,t)}function f(e,t){var n;return a(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function d(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function h(e){return e>=z?e=z:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function p(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=h(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function g(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,v(e)}}function v(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(H("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?O(m,e):m(e))}function m(e){H("emit readable"),e.emit("readable"),x(e)}function b(e,t){t.readingMore||(t.readingMore=!0,O(y,e,t))}function y(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(H("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function w(e){return function(){var t=e._readableState;H("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&L(e,"data")&&(t.flowing=!0,x(e))}}function _(e){H("readable nexttick read 0"),e.read(0)}function E(e,t){t.resumeScheduled||(t.resumeScheduled=!0,O(k,e,t))}function k(e,t){t.reading||(H("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),x(e),t.flowing&&!t.reading&&e.read(0)}function x(e){var t=e._readableState;for(H("flow",t.flowing);t.flowing&&null!==e.read(););}function C(e,t){if(0===t.length)return null;var n;return t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=T(e,t.buffer,t.decoder),n}function T(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?M(e,t):S(e,t),r}function M(e,t){var n=t.head,r=1,o=n.data;for(e-=o.length;n=n.next;){var a=n.data,i=e>a.length?a.length:e;if(i===a.length?o+=a:o+=a.slice(0,e),0===(e-=i)){i===a.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(i));break}++r}return t.length-=r,o}function S(e,t){var n=B.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var a=r.data,i=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,i),0===(e-=i)){i===a.length?(++o,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(i));break}++o}return t.length-=o,n}function I(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,O(R,t,e))}function R(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function A(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}var O=n(11);e.exports=l;var P,N=n(21);l.ReadableState=u;var L=(n(13).EventEmitter,function(e,t){return e.listeners(t).length}),D=n(22),B=n(12).Buffer,j=t.Uint8Array||function(){},U=n(9);U.inherits=n(7);var W=n(52),H=void 0;H=W&&W.debuglog?W.debuglog("stream"):function(){};var q,F=n(53),Y=n(24);U.inherits(l,D);var $=["error","close","destroy","pause","resume"];Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),l.prototype.destroy=Y.destroy,l.prototype._undestroy=Y.undestroy,l.prototype._destroy=function(e,t){this.push(null),t(e)},l.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=B.from(e,t),t=""),n=!0),s(this,e,t,!1,n)},l.prototype.unshift=function(e){return s(this,e,null,!0,!1)},l.prototype.isPaused=function(){return!1===this._readableState.flowing},l.prototype.setEncoding=function(e){return q||(q=n(25).StringDecoder),this._readableState.decoder=new q(e),this._readableState.encoding=e,this};var z=8388608;l.prototype.read=function(e){H("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return H("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?I(this):v(this),null;if(0===(e=p(e,t))&&t.ended)return 0===t.length&&I(this),null;var r=t.needReadable;H("need readable",r),(0===t.length||t.length-e<t.highWaterMark)&&(r=!0,H("length less than watermark",r)),t.ended||t.reading?(r=!1,H("reading or ended",r)):r&&(H("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=p(n,t)));var o;return o=e>0?C(e,t):null,null===o?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&I(this)),null!==o&&this.emit("data",o),o},l.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},l.prototype.pipe=function(e,t){function n(e,t){H("onunpipe"),e===d&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,a())}function o(){H("onend"),e.end()}function a(){H("cleanup"),e.removeListener("close",s),e.removeListener("finish",c),e.removeListener("drain",v),e.removeListener("error",l),e.removeListener("unpipe",n),d.removeListener("end",o),d.removeListener("end",f),d.removeListener("data",u),m=!0,!h.awaitDrain||e._writableState&&!e._writableState.needDrain||v()}function u(t){H("ondata"),b=!1,!1!==e.write(t)||b||((1===h.pipesCount&&h.pipes===e||h.pipesCount>1&&-1!==A(h.pipes,e))&&!m&&(H("false write response, pause",d._readableState.awaitDrain),d._readableState.awaitDrain++,b=!0),d.pause())}function l(t){H("onerror",t),f(),e.removeListener("error",l),0===L(e,"error")&&e.emit("error",t)}function s(){e.removeListener("finish",c),f()}function c(){H("onfinish"),e.removeListener("close",s),f()}function f(){H("unpipe"),d.unpipe(e)}var d=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,H("pipe count=%d opts=%j",h.pipesCount,t);var p=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr,g=p?o:f;h.endEmitted?O(g):d.once("end",g),e.on("unpipe",n);var v=w(d);e.on("drain",v);var m=!1,b=!1;return d.on("data",u),i(e,"error",l),e.once("close",s),e.once("finish",c),e.emit("pipe",d),h.flowing||(H("pipe resume"),d.resume()),e},l.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<o;a++)r[a].emit("unpipe",this,n);return this}var i=A(t.pipes,e);return-1===i?this:(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},l.prototype.on=function(e,t){var n=D.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&v(this):O(_,this))}return n},l.prototype.addListener=l.prototype.on,l.prototype.resume=function(){var e=this._readableState;return e.flowing||(H("resume"),e.flowing=!0,E(this,e)),this},l.prototype.pause=function(){return H("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(H("pause"),this._readableState.flowing=!1,this.emit("pause")),this},l.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;e.on("end",function(){if(H("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)}),e.on("data",function(o){if(H("wrapped data"),t.decoder&&(o=t.decoder.write(o)),(!t.objectMode||null!==o&&void 0!==o)&&(t.objectMode||o&&o.length)){r.push(o)||(n=!0,e.pause())}});for(var o in e)void 0===this[o]&&"function"==typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));for(var a=0;a<$.length;a++)e.on($[a],r.emit.bind(r,$[a]));return r._read=function(t){H("wrapped _read",t),n&&(n=!1,e.resume())},r},l._fromList=C}).call(t,n(8),n(10))},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){e.exports=n(13).EventEmitter},function(e,t,n){"use strict";(function(e){function r(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(r()<t)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=a.prototype):(null===e&&(e=new a(t)),e.length=t),e}function a(e,t,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return s(this,e)}return i(this,e,t,n)}function i(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?d(e,t,n,r):"string"==typeof t?c(e,t,n):h(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function l(e,t,n,r){return u(t),t<=0?o(e,t):void 0!==n?"string"==typeof r?o(e,t).fill(n,r):o(e,t).fill(n):o(e,t)}function s(e,t){if(u(t),e=o(e,t<0?0:0|p(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function c(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!a.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(t,n);e=o(e,r);var i=e.write(t,n);return i!==r&&(e=e.slice(0,i)),e}function f(e,t){var n=t.length<0?0:0|p(t.length);e=o(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),a.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=a.prototype):e=f(e,t),e}function h(e,t){if(a.isBuffer(t)){var n=0|p(t.length);return e=o(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||X(t.length)?o(e,0):f(e,t);if("Buffer"===t.type&&K(t.data))return f(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function p(e){if(e>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|e}function g(e){return+e!=e&&(e=0),a.alloc(+e)}function v(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Y(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(r)return Y(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return R(this,t,n);case"latin1":case"binary":return A(this,t,n);case"base64":return M(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function b(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:w(e,t,n,r,o);if("number"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):w(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function w(e,t,n,r,o){function a(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}var i=1,u=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;i=2,u/=2,l/=2,n/=2}var s;if(o){var c=-1;for(s=n;s<u;s++)if(a(e,s)===a(t,-1===c?0:s-c)){if(-1===c&&(c=s),s-c+1===l)return c*i}else-1!==c&&(s-=s-c),c=-1}else for(n+l>u&&(n=u-l),s=n;s>=0;s--){for(var f=!0,d=0;d<l;d++)if(a(e,s+d)!==a(t,d)){f=!1;break}if(f)return s}return-1}function _(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var i=0;i<r;++i){var u=parseInt(t.substr(2*i,2),16);if(isNaN(u))return i;e[n+i]=u}return i}function E(e,t,n,r){return G(Y(t,e.length-n),e,n,r)}function k(e,t,n,r){return G($(t),e,n,r)}function x(e,t,n,r){return k(e,t,n,r)}function C(e,t,n,r){return G(V(t),e,n,r)}function T(e,t,n,r){return G(z(t,e.length-n),e,n,r)}function M(e,t,n){return 0===t&&n===e.length?J.fromByteArray(e):J.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var a=e[o],i=null,u=a>239?4:a>223?3:a>191?2:1;if(o+u<=n){var l,s,c,f;switch(u){case 1:a<128&&(i=a);break;case 2:l=e[o+1],128==(192&l)&&(f=(31&a)<<6|63&l)>127&&(i=f);break;case 3:l=e[o+1],s=e[o+2],128==(192&l)&&128==(192&s)&&(f=(15&a)<<12|(63&l)<<6|63&s)>2047&&(f<55296||f>57343)&&(i=f);break;case 4:l=e[o+1],s=e[o+2],c=e[o+3],128==(192&l)&&128==(192&s)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&s)<<6|63&c)>65535&&f<1114112&&(i=f)}}null===i?(i=65533,u=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|1023&i),r.push(i),o+=u}return I(r)}function I(e){var t=e.length;if(t<=Q)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=Q));return n}function R(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function A(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function O(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",a=t;a<n;++a)o+=F(e[a]);return o}function P(e,t,n){for(var r=e.slice(t,n),o="",a=0;a<r.length;a+=2)o+=String.fromCharCode(r[a]+256*r[a+1]);return o}function N(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function L(e,t,n,r,o,i){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function D(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,a=Math.min(e.length-n,2);o<a;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function B(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,a=Math.min(e.length-n,4);o<a;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function j(e,t,n,r,o,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function U(e,t,n,r,o){return o||j(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,n,r,23,4),n+4}function W(e,t,n,r,o){return o||j(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,n,r,52,8),n+8}function H(e){if(e=q(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function q(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function F(e){return e<16?"0"+e.toString(16):e.toString(16)}function Y(e,t){t=t||1/0;for(var n,r=e.length,o=null,a=[],i=0;i<r;++i){if((n=e.charCodeAt(i))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&a.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function $(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function z(e,t){for(var n,r,o,a=[],i=0;i<e.length&&!((t-=2)<0);++i)n=e.charCodeAt(i),r=n>>8,o=n%256,a.push(o),a.push(r);return a}function V(e){return J.toByteArray(H(e))}function G(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function X(e){return e!==e}/*!
8
+ * The buffer module from node.js, for the browser.
9
+ *
10
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
11
+ * @license MIT
12
+ */
13
+ var J=n(50),Z=n(51),K=n(21);t.Buffer=a,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return i(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return l(null,e,t,n)},a.allocUnsafe=function(e){return s(null,e)},a.allocUnsafeSlow=function(e){return s(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!K(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=a.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!a.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},a.byteLength=v,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)b(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)b(this,t,t+3),b(this,t+1,t+2);return this},a.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)b(this,t,t+7),b(this,t+1,t+6),b(this,t+2,t+5),b(this,t+3,t+4);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?S(this,0,e):m.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},a.prototype.compare=function(e,t,n,r,o){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,o>>>=0,this===e)return 0;for(var i=o-r,u=n-t,l=Math.min(i,u),s=this.slice(r,o),c=e.slice(t,n),f=0;f<l;++f)if(s[f]!==c[f]){i=s[f],u=c[f];break}return i<u?-1:u<i?1:0},a.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},a.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},a.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},a.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return _(this,e,t,n);case"utf8":case"utf-8":return E(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return x(this,e,t,n);case"base64":return C(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var o=t-e;r=new a(o,void 0);for(var i=0;i<o;++i)r[i]=this[i+e]}return r},a.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return r},a.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},a.prototype.readUInt8=function(e,t){return t||N(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||N(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||N(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return o*=128,r>=o&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=t,o=1,a=this[e+--r];r>0&&(o*=256);)a+=this[e+--r]*o;return o*=128,a>=o&&(a-=Math.pow(2,8*t)),a},a.prototype.readInt8=function(e,t){return t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||N(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||N(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||N(e,4,this.length),Z.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||N(e,4,this.length),Z.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||N(e,8,this.length),Z.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||N(e,8,this.length),Z.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){L(this,e,t,n,Math.pow(2,8*n)-1,0)}var o=1,a=0;for(this[t]=255&e;++a<n&&(o*=256);)this[t+a]=e/o&255;return t+n},a.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){L(this,e,t,n,Math.pow(2,8*n)-1,0)}var o=n-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);L(this,e,t,n,o-1,-o)}var a=0,i=1,u=0;for(this[t]=255&e;++a<n&&(i*=256);)e<0&&0===u&&0!==this[t+a-1]&&(u=1),this[t+a]=(e/i>>0)-u&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);L(this,e,t,n,o-1,-o)}var a=n-1,i=1,u=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===u&&0!==this[t+a+1]&&(u=1),this[t+a]=(e/i>>0)-u&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return U(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return U(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return W(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return W(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},a.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var i;if("number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var u=a.isBuffer(e)?e:Y(new a(e,r).toString()),l=u.length;for(i=0;i<n-t;++i)this[i+t]=u[i%l]}return this};var ee=/[^+\/0-9A-Za-z-_]/g}).call(t,n(8))},function(e,t,n){"use strict";function r(e,t){var n=this,r=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;if(r||o)return void(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i(a,this,e));this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(i(a,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)})}function o(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(e,t){e.emit("error",t)}var i=n(11);e.exports={destroy:r,undestroy:o}},function(e,t,n){"use strict";function r(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function o(e){var t=r(e);if("string"!=typeof t&&(b.isEncoding===y||!y(e)))throw new Error("Unknown encoding: "+e);return t||e}function a(e){this.encoding=o(e);var t;switch(this.encoding){case"utf16le":this.text=d,this.end=h,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=p,this.end=g,t=3;break;default:return this.write=v,void(this.end=m)}this.lastNeed=0,this.lastTotal=0,this.lastChar=b.allocUnsafe(t)}function i(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function u(e,t,n){var r=t.length-1;if(r<n)return 0;var o=i(t[r]);return o>=0?(o>0&&(e.lastNeed=o-1),o):--r<n?0:(o=i(t[r]))>=0?(o>0&&(e.lastNeed=o-2),o):--r<n?0:(o=i(t[r]),o>=0?(o>0&&(2===o?o=0:e.lastNeed=o-3),o):0)}function l(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�".repeat(n+2)}}function s(e){var t=this.lastTotal-this.lastNeed,n=l(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){var n=u(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�".repeat(this.lastTotal-this.lastNeed):t}function d(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function h(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function p(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function g(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function v(e){return e.toString(this.encoding)}function m(e){return e&&e.length?this.write(e):""}var b=n(12).Buffer,y=b.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},a.prototype.end=f,a.prototype.text=c,a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";function r(e){this.afterTransform=function(t,n){return o(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function o(e,t,n){var r=e._transformState;r.transforming=!1;var o=r.writecb;if(!o)return e.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!==n&&void 0!==n&&e.push(n),o(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function a(e){if(!(this instanceof a))return new a(e);u.call(this,e),this._transformState=new r(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(e,n){i(t,e,n)}):i(t)})}function i(e,t,n){if(t)return e.emit("error",t);null!==n&&void 0!==n&&e.push(n);var r=e._writableState,o=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(o.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}e.exports=a;var u=n(6),l=n(9);l.inherits=n(7),l.inherits(a,u),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,u.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var o=this._readableState;(r.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var n=this;u.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},function(e,t,n){"use strict";n(28),n(63),n(78),n(80);var r=n(82);e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e,t){e=p(e);var n=e.split(/\n{2,}/),r=n[0],o=n[1],a=h(r),i=a&&a.editorChart&&a.editorChart.url,u=void 0;if(S.default.isString(i)){var s=function(e){u=l(e,r),t(u)},c=function(){return t(null)};T.default.get(i).done(s).fail(c)}else u=l(r,o),t(u)}function l(e,t){return{data:f(e),options:h(t)}}function s(e){e=p(e);var t=e.split(j).slice(0,10).join("\n");return U.map(function(e){return{delimiter:e,delta:c(t,e)}}).sort(function(e,t){return e.delta-t.delta})[0].delimiter}function c(e,t){var n=void 0,r=void 0;try{if(N.default.COLUMN_SEPARATOR=t,n=N.default.parse(e),n[0].length<2)throw new Error("parser fail");r=n.map(function(e){return e.length}).reduce(function(e,t){return{deltaSum:e.deltaSum+Math.abs(e.length-t),length:t}},{deltaSum:0,length:n[0].length}).deltaSum}catch(e){r=1/0}return r}function f(e,t){e=p(e),N.default.COLUMN_SEPARATOR=t||s(e);var n=N.default.parse(e);n=n.map(function(e){return e.map(function(e){return e.trim()})});var r=n[0].filter(function(e,t){return t>0}).reduce(function(e,t){return e||!g(t)},!1),o=r?n.shift():[],a=n.slice(1).reduce(function(e,t){return e||!g(t[0])},!1),i=a?n.map(function(e){return e.shift()}):[];return a&&o.shift(),n=n[0].map(function(e,t){return n.map(function(e){return parseFloat(e[t])})}),{categories:i,series:n.map(function(e,t){return r?{name:o[t],data:e}:{data:e}})}}function d(e,t){var n=function(e){var n=f(e);t(n)},r=function(){return t(null)};T.default.get(e).done(n).fail(r)}function h(e){var t=["type","url"],n={};return S.default.isUndefined(e)?n:(e.split(j).forEach(function(e){var r=e.split(W),o=r[0],a=r.slice(1),i=a.join(W);if(o=o.trim(),0!==i.length){try{i=JSON.parse(i.trim())}catch(e){i=i.trim()}var u=o.split("."),l=u.slice(0),s=l[0];S.default.inArray(s,t)>=0?l.unshift("editorChart"):1===l.length?l.unshift("chart"):"x"!==s&&"y"!==s||(l[0]=s+"Axis");for(var c=n,f=0;f<l.length;f+=1){var d=l[f];c[d]=c[d]||(l.length-1===f?i:{}),c=c[d]}}}),n)}function p(e){return e.replace(/(^(\s*[\n\r])+)|([\n\r]+\s*$)/g,"")}function g(e){return!isNaN(e)&&isFinite(e)}function v(e,t){e=S.default.extend({editorChart:{},chart:{},chartExportMenu:{}},e);var n=e.chart,r=n.width,o=n.height,a=S.default.isUndefined(r),i=S.default.isUndefined(o);if(a||i){var u=t.getBoundingClientRect(),l=u.width;e.chart.width=a?l:r,e.chart.height=i?l:o}return e.editorChart.type=e.editorChart.type?e.editorChart.type+"Chart":"columnChart",e.chartExportMenu.visible=e.chartExportMenu.visible||!1,e}function m(e){var t="chart-"+Math.random().toString(36).substr(2,10),n='<div id="'+t+'" class="chart" />';return setTimeout(function(){var n=document.querySelector("#"+t);try{u(e,function(e){var t=e.data,r=e.options;r=v(r,n);var o=r.editorChart.type;H.indexOf(o)<0?n.innerHTML="invalid chart type. type: bar, column, line, area, pie":q.indexOf(o)>-1&&t.categories.length!==t.series[0].data.length?n.innerHTML="invalid chart data":R.default[o](n,t,r)})}catch(e){n.innerHTML="invalid chart data"}},0),n}function b(e){return e.reduce(function(e,t){var n=t.map(function(e){return!g(e)&&e.indexOf(" ")>=0&&(e='"'+e+'"'),e});return e.push(n.join("\t")),e},[])}function y(e){var t=e.wwEditor.componentManager;t.removeManager("codeblock"),t.addManager(function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),k(t,[{key:"convertToCodeblock",value:function(e){if(1!==e.length||"TABLE"!==e[0].tagName)return x(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"convertToCodeblock",this).call(this,e);var n=(0,T.default)("<pre />"),r=e.shift(),o=[].slice.call(r.rows).map(function(e){return[].slice.call(e.cells).map(function(e){return e.innerText.trim()})}),a=b(o);return n.append(a.reduce(function(e,t){return e+"<div>"+t+"</div>"},[])),n.attr("data-te-codeblock",""),n[0]}}]),t}(L))}function w(e,t,n){var r="markdown"===t&&e.getTokenAt(n.from).state.overlay.codeBlock;return r=r||"codeblock"===t,r=r&&"wysiwyg"!==t}function _(e,t){var n=t.source,r=t.data;if(w(e,n,r)){var o=r.text.join("\n");if(0===c(o,"\t")){N.default.COLUMN_SEPARATOR="\t";var a=b(N.default.parse(o));r.update(r.from,r.to,a)}}}function E(e){var t=e.options.codeBlockLanguages;t&&t.indexOf(B)<0&&t.push(B),D.setReplacer(B,m),e.isViewer()||(y(e),e.eventManager.listen("pasteBefore",function(t){return _(e.mdEditor.cm,t)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.detectDelimiter=t.parseDSV2ChartData=t.parseCode2ChartOption=t.parseURL2ChartData=t.parseCode2DataAndOptions=void 0;var k=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,n,r)}if("value"in o)return o.value;var i=o.get;if(void 0!==i)return i.call(r)},C=n(0),T=r(C),M=n(1),S=r(M),I=n(29),R=r(I),A=n(2),O=r(A),P=n(49),N=r(P),L=O.default.WwCodeBlockManager,D=O.default.codeBlockManager,B="chart";N.default.IGNORE_QUOTE_WHITESPACE=!1,N.default.IGNORE_RECORD_LENGTH=!0,N.default.DETECT_TYPES=!1;var j=/[\n\r]/,U=[",","\t",/\s+/],W=":",H=["barChart","columnChart","lineChart","areaChart","pieChart"],q=["lineChart","areaChart"];O.default.defineExtension("chart",E),t.parseCode2DataAndOptions=u,t.parseURL2ChartData=d,t.parseCode2ChartOption=h,t.parseDSV2ChartData=f,t.detectDelimiter=s},function(e,t){e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,n,r)}if("value"in o)return o.value;var i=o.get;if(void 0!==i)return i.call(r)},l=n(31),s=function(e){return e&&e.__esModule?e:{default:e}}(l),c=function(e){function t(e,n,a,i){r(this,t);var u=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,a,i));return u._initEvent(),u}return a(t,e),i(t,[{key:"_initEvent",value:function(){var e=this,t="";this.eventManager.listen("contentChangedFromMarkdown",function(n){t=n.getValue(),e.isVisible()&&e.lazyRunner.run("refresh",t.replace(/<br>\n/g,"<br>"))}),this.eventManager.listen("previewNeedsRefresh",function(n){e.refresh(n||t)}),this.$el.on("scroll",function(t){e.eventManager.emit("scroll",{source:"preview",data:t})})}},{key:"render",value:function(e){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"render",this).call(this,e),this.eventManager.emit("previewRenderAfter",this)}}]),t}(s.default);t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(32),s=r(l),c=function(){function e(t,n,r,a){o(this,e),this.eventManager=n,this.convertor=r,this.$el=t,this.isViewer=!!a,this._initContentSection(),this.lazyRunner=new s.default,this.lazyRunner.registerLazyRunFunction("refresh",this.refresh,800,this)}return a(e,[{key:"_initContentSection",value:function(){this._$previewContent=(0,u.default)('<div class="tui-editor-contents" />'),this.$el.append(this._$previewContent)}},{key:"refresh",value:function(e){this.render(this.convertor.toHTMLWithCodeHightlight(e))}},{key:"getHTML",value:function(){return this._$previewContent.html()}},{key:"setHTML",value:function(e){this._$previewContent.html(e)}},{key:"render",value:function(e){var t=this._$previewContent;e=this.eventManager.emit("previewBeforeHook",e)||e,t.empty(),t.html(e)}},{key:"setHeight",value:function(e){this.$el.get(0).style.height=e+"px"}},{key:"setMinHeight",value:function(e){this.$el.get(0).style.minHeight=e+"px"}},{key:"isVisible",value:function(){return"none"!==this.$el.css("display")}}]),e}();t.default=c},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(){function e(){r(this,e),this.globalTOID=null,this.lazyRunFunctions={}}return o(e,[{key:"run",value:function(e,t,n,r){var o=void 0;return i.default.isString(e)?o=this._runRegisteredRun(e,t,n,r):(o=this._runSingleRun(e,t,n,r,this.globalTOID),this.globalTOID=o),o}},{key:"registerLazyRunFunction",value:function(e,t,n,r){r=r||this,this.lazyRunFunctions[e]={fn:t,delay:n,context:r,TOID:null}}},{key:"_runSingleRun",value:function(e,t,n,r,o){return this._clearTOIDIfNeed(o),o=setTimeout(function(){e.call(n,t)},r)}},{key:"_runRegisteredRun",value:function(e,t,n,r){var o=this.lazyRunFunctions[e],a=o.fn,i=o.TOID;return r=r||o.delay,n=n||o.context,i=this._runSingleRun(a,t,n,r,i),o.TOID=i,i}},{key:"_clearTOIDIfNeed",value:function(e){e&&clearTimeout(e)}}]),e}();t.default=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=["previewBeforeHook","previewRenderAfter","previewNeedsRefresh","addImageBlobHook","setMarkdownAfter","contentChangedFromWysiwyg","changeFromWysiwyg","contentChangedFromMarkdown","changeFromMarkdown","change","changeModeToWysiwyg","changeModeToMarkdown","changeModeBefore","changeMode","changePreviewStyle","openPopupAddLink","openPopupAddImage","openPopupAddTable","openPopupTableUtils","openHeadingSelect","openPopupCodeBlockLanguages","openPopupCodeBlockEditor","closePopupCodeBlockLanguages","closePopupCodeBlockEditor","closeAllPopup","command","addCommandBefore","htmlUpdate","markdownUpdate","renderedHtmlUpdated","removeEditor","convertorAfterMarkdownToHtmlConverted","convertorBeforeHtmlToMarkdownConverted","convertorAfterHtmlToMarkdownConverted","stateChange","wysiwygSetValueAfter","wysiwygSetValueBefore","wysiwygGetValueBefore","wysiwygProcessHTMLText","wysiwygRangeChangeAfter","wysiwygKeyEvent","scroll","click","mousedown","mouseover","mouseout","mouseup","contextmenu","keydown","keyup","keyMap","load","focus","blur","paste","pasteBefore","willPaste","copy","copyBefore","copyAfter","cut","cutAfter","drop","show","hide"],l=function(){function e(){r(this,e),this.events=new i.default.Map,this.TYPE=new i.default.Enum(u)}return o(e,[{key:"listen",value:function(e,t){var n=this._getTypeInfo(e),r=this.events.get(n.type)||[];if(!this._hasEventType(n.type))throw new Error("There is no event type "+n.type);n.namespace&&(t.namespace=n.namespace),r.push(t),this.events.set(n.type,r)}},{key:"emit",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.shift(),o=this._getTypeInfo(r),a=this.events.get(o.type),u=void 0;return a&&i.default.forEach(a,function(e){var n=e.apply(void 0,t);i.default.isUndefined(n)||(u=u||[],u.push(n))}),u}},{key:"emitReduce",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.shift(),o=this.events.get(r);return o&&i.default.forEach(o,function(e){var n=e.apply(void 0,t);i.default.isFalsy(n)||(t[0]=n)}),t[0]}},{key:"_getTypeInfo",value:function(e){var t=e.split(".");return{type:t[0],namespace:t[1]}}},{key:"_hasEventType",value:function(e){return!i.default.isUndefined(this.TYPE[this._getTypeInfo(e).type])}},{key:"addEventType",value:function(e){if(this._hasEventType(e))throw new Error("There is already have event type "+e);this.TYPE.set(e)}},{key:"removeEventHandler",value:function(e,t){var n=this,r=this._getTypeInfo(e),o=r.type,a=r.namespace;o&&t?this._removeEventHandlerWithHandler(o,t):o&&!a?this.events.delete(o):!o&&a?this.events.forEach(function(e,t){n._removeEventHandlerWithTypeInfo(t,a)}):o&&a&&this._removeEventHandlerWithTypeInfo(o,a)}},{key:"_removeEventHandlerWithHandler",value:function(e,t){var n=this.events.get(e)||[],r=n.indexOf(t);r>=0&&n.splice(r,1)}},{key:"_removeEventHandlerWithTypeInfo",value:function(e,t){var n=[],r=this.events.get(e);r&&(r.map(function(e){e.namespace!==t&&n.push(e)}),this.events.set(e,n))}}]),e}();t.default=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(1),s=r(l),c=n(35),f=r(c),d=/Mac/.test(navigator.platform),h=d?1:0,p=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this._command=new s.default.Map,this._mdCommand=new s.default.Map,this._wwCommand=new s.default.Map,this._options=u.default.extend({useCommandShortcut:!0},n),this.base=t,this.keyMapCommand={},this._initEvent()}return a(e,[{key:"_addCommandBefore",value:function(e){var t={command:e};return this.base.eventManager.emit("addCommandBefore",t),t.command||e}},{key:"addCommand",value:function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];r.length&&(t=e.command.apply(e,[t].concat(r))),t=this._addCommandBefore(t);var a=t.getName(),i=void 0;return t.isMDType()?i=this._mdCommand:t.isWWType()?i=this._wwCommand:t.isGlobalType()&&(i=this._command),i.set(a,t),t.keyMap&&(this.keyMapCommand[t.keyMap[h]]=a),t}},{key:"_initEvent",value:function(){var e=this;this.base.eventManager.listen("command",function(){e.exec.apply(e,arguments)}),this.base.eventManager.listen("keyMap",function(t){if(e._options.useCommandShortcut){var n=e.keyMapCommand[t.keyMap];n&&(t.data.preventDefault(),e.exec(n))}})}},{key:"exec",value:function(e){var t=void 0,n=void 0,r=this.base;if(t=this._command.get(e),t||(this.base.isMarkdownMode()?(t=this._mdCommand.get(e),r=this.base.mdEditor):(t=this._wwCommand.get(e),r=this.base.wwEditor)),t){for(var o,a=arguments.length,i=Array(a>1?a-1:0),u=1;u<a;u++)i[u-1]=arguments[u];i.unshift(r),n=(o=t).exec.apply(o,i)}return n}}]),e}();p.command=function(e,t){var n=f.default.factory(e,t.name,t.keyMap);return s.default.extend(n,t),n},t.default=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(){function e(t,n,o){r(this,e),this.name=t,this.type=n,o&&this.setKeyMap(o)}return o(e,[{key:"getName",value:function(){return this.name}},{key:"getType",value:function(){return this.type}},{key:"isMDType",value:function(){return this.type===e.TYPE.MD}},{key:"isWWType",value:function(){return this.type===e.TYPE.WW}},{key:"isGlobalType",value:function(){return this.type===e.TYPE.GB}},{key:"setKeyMap",value:function(e,t){this.keyMap=[e,t]}}]),e}();u.factory=function(e,t){var n=void 0;"markdown"===e?n=u.TYPE.MD:"wysiwyg"===e?n=u.TYPE.WW:"global"===e&&(n=u.TYPE.GB);var r=new u(t.name,n);return i.default.extend(r,t),r},u.TYPE={MD:0,WW:1,GB:2},t.default=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(){function e(){r(this,e),this.exts=new i.default.Map}return o(e,[{key:"defineExtension",value:function(e,t){this.exts.set(e,t)}},{key:"applyExtension",value:function(e,t){var n=this;t&&t.forEach(function(t){var r=i.default.isObject(t),o=r?t.name:t;if(n.exts.has(o)){var a=n.exts.get(o);r?a(e,t):a(e)}})}}]),e}();t.default=new u},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(1),s=r(l),c=n(38),f=r(c),d=n(17),h=r(d),p=n(39),g=r(p),v=n(40),m=r(v),b=n(41),y=r(b),w=n(42),_=r(w),E=n(43),k=r(E),x=n(44),C=r(x),T=n(45),M=r(T),S=n(46),I=r(S),R=n(18),A=r(R),O=new f.default({html:!0,breaks:!0,quotes:"“”‘’",langPrefix:"lang-",highlight:function(e,t){return A.default.createCodeBlockHtml(t,e)}}),P=new f.default({html:!0,breaks:!0,quotes:"“”‘’",langPrefix:"lang-"});O.block.ruler.at("code",_.default),O.block.ruler.at("table",C.default,{alt:["paragraph","reference"]}),O.block.ruler.at("blockquote",k.default,{alt:["paragraph","reference","blockquote","list"]}),O.block.ruler.at("html_block",M.default,{alt:["paragraph","reference","blockquote"]}),O.inline.ruler.at("backticks",I.default),O.use(m.default),O.use(y.default),P.block.ruler.at("code",_.default),P.block.ruler.at("table",C.default,{alt:["paragraph","reference"]}),P.block.ruler.at("blockquote",k.default,{alt:["paragraph","reference","blockquote","list"]}),P.block.ruler.at("html_block",M.default,{alt:["paragraph","reference","blockquote"]}),P.inline.ruler.at("backticks",I.default),P.use(m.default),P.use(y.default);var N=function(){function e(t){o(this,e),this.eventManager=t}return a(e,[{key:"_markdownToHtmlWithCodeHighlight",value:function(e){e=e.replace(/<br>/gi,"<br data-tomark-pass>");for(var t=/(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;t.exec(e);)e=e.replace(t,"$1$3");var n=O.render(e);return n=this._removeBrToMarkPassAttributeInCode(n)}},{key:"_markdownToHtml",value:function(e){e=e.replace(/<br>/gi,"<br data-tomark-pass>");for(var t=/(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;t.exec(e);)e=e.replace(t,"$1$3");var n=P.render(e);return n=this._removeBrToMarkPassAttributeInCode(n)}},{key:"_removeBrToMarkPassAttributeInCode",value:function(e){var t=(0,u.default)("<div />");return t.html(e),t.find("code, pre").each(function(e,t){var n=(0,u.default)(t);n.html(n.html().replace(/&lt;br data-tomark-pass&gt;/,"&lt;br&gt;"))}),e=t.html()}},{key:"toHTMLWithCodeHightlight",value:function(e){var t=this._markdownToHtmlWithCodeHighlight(e);return t=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",t)}},{key:"toHTML",value:function(e){var t=this._markdownToHtml(e);return t=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",t)}},{key:"initHtmlSanitizer",value:function(){this.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(e){return(0,g.default)(e,!0)})}},{key:"toMarkdown",value:function(e,t){var n=[];e=this.eventManager.emitReduce("convertorBeforeHtmlToMarkdownConverted",e);var r=(0,h.default)(this._appendAttributeForBrIfNeed(e),t);return r=this.eventManager.emitReduce("convertorAfterHtmlToMarkdownConverted",r),s.default.forEach(r.split("\n"),function(e,t){var r=/^\|[^|]*\|/gi;/`[^`]*<br>[^`]*`/gi.test(e)||r.test(e)||(e=e.replace(/<br>/gi,"<br>\n")),n[t]=e}),n.join("\n")}},{key:"_appendAttributeForBrIfNeed",value:function(e){var t=/<br>/gi,n=/<br \/><br \/>/gi,r=/<br data-tomark-pass \/><br \/>(.)/gi,o=/([^>]|<\/b>|<\/i>|<\/s>|<img [^>]*>)/,a=/<br data-tomark-pass \/><br data-tomark-pass \/>/,i=new RegExp(o.source+a.source,"g");e=e.replace(t,"<br />"),e=e.replace(n,"<br data-tomark-pass /><br data-tomark-pass />");var l=document.createElement("div"),s=(0,u.default)(l);return s.html(e),s.find("pre br,code br").each(function(e,t){t.hasAttribute("data-tomark-pass")&&t.removeAttribute("data-tomark-pass")}),e=s.html().replace(/<br data-tomark-pass="">/gi,"<br data-tomark-pass />"),e=e.replace(t,"<br />"),e=e.replace(r,"<br data-tomark-pass /><br data-tomark-pass />$1"),e=e.replace(i,"$1<br /><br />")}}],[{key:"getMarkdownitHighlightRenderer",value:function(){return O}}]),e}();t.default=N},function(e,t){e.exports=o},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,s.default)("<div />");return e=e.replace(/<!--[\s\S]*?-->/g,""),n.append(e),a(n),i(n),u(n,t)}function a(e){e.find("script, iframe, textarea, form, button, select, meta, style, link, title").remove()}function i(e){e.find("*").each(function(e,t){var n=t.attributes,r=f.default.toArray(n).filter(function(e){var t=e.name.match(d),n=e.name.match(h);return!t&&!n});f.default.forEachArray(r,function(e){n.getNamedItem(e.name)&&n.removeNamedItem(e.name)})})}function u(e,t){var n=void 0;if(t)n=e[0].innerHTML;else{for(var r=document.createDocumentFragment(),o=f.default.toArray(e[0].childNodes),a=o.length,i=0;i<a;i+=1)r.appendChild(o[i]);n=r}return n}Object.defineProperty(t,"__esModule",{value:!0});var l=n(0),s=r(l),c=n(1),f=r(c),d=new RegExp("^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|color|cols|compact|coords|dir|face|headers|height|hreflang|hspace|ismap|lang|language|nohref|nowrap|rel|rev|rows|rules|scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|valign|value|vspace|width|checked|mathvariant|encoding|id|name|background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)","g"),h=new RegExp("^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)","g");t.default=o},function(e,t,n){"use strict";function r(e){e.content=e.content.slice(4),e.children[0].content=e.children[0].content.slice(4)}function o(e){var t=!1;return 0!==e.content.indexOf("[x]")&&0!==e.content.indexOf("[X]")||(t=!0),t}function a(e,t,n){var r=e.attrIndex(t),o=[t,n];r<0?e.attrPush(o):e.attrs[r]=o}function i(e,t){return"inline"===e[t].type&&"paragraph_open"===e[t-1].type&&"list_item_open"===e[t-2].type&&(0===e[t].content.indexOf("[ ]")||0===e[t].content.indexOf("[x]")||0===e[t].content.indexOf("[X]"))}var u=function(e){e.core.ruler.after("inline","tui-task-list",function(e){var t,n,u=e.tokens;for(n=2;n<u.length;n+=1)i(u,n)&&(t=o(u[n])?"task-list-item checked":"task-list-item",r(u[n]),a(u[n-2],"class",t),a(u[n-2],"data-te-task",""))})};e.exports=u},function(e,t,n){"use strict";function r(e,t,n){var r=e.attrIndex(t),o=[t,n];r<0?e.attrPush(o):e.attrs[r]=o}function o(e){return!0===e.block&&"code"===e.tag&&"fence"===e.type}function a(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var i=function(e){e.core.ruler.after("block","tui-code-block",function(e){var t,n,i=e.tokens;for(n=0;n<i.length;n+=1)t=i[n],o(t)&&t.info&&r(t,"data-language",a(t.info.replace(" ",""),!0))})};e.exports=i},function(e,t,n){"use strict";e.exports=function(e,t,n){var r,o,a,i=/ {0,3}(?:-|\*|\d\.) /,u=e.src.split("\n"),l=u[t],s=0;if(l.match(i)||e.sCount[t]-e.blkIndent<4)return!1;for(o=r=t+1;r<n;)if(e.isEmpty(r)){if(++s>=2&&"list"===e.parentType)break;r++}else{if(s=0,!(e.sCount[r]-e.blkIndent>=4))break;r++,o=r}return e.line=o,a=e.push("code_block","code",0),a.content=e.getLines(t,o,4+e.blkIndent,!0),a.map=[t,e.line],!0}},function(e,t,n){"use strict";function r(e){switch(e){case 9:case 32:return!0}return!1}e.exports=function(e,t,n,o){var a,i,u,l,s,c,f,d,h,p,g,v,m,b,y,w,_,E,k,x,C=e.lineMax,T=e.bMarks[t]+e.tShift[t],M=e.eMarks[t],S=/(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/,I=e.src.split("\n"),R=I[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(62!==e.src.charCodeAt(T++))return!1;if(R.match(S))return!1;if(o)return!0;for(l=h=e.sCount[t]+T-(e.bMarks[t]+e.tShift[t]),32===e.src.charCodeAt(T)?(T++,l++,h++,a=!1,w=!0):9===e.src.charCodeAt(T)?(w=!0,(e.bsCount[t]+h)%4==3?(T++,l++,h++,a=!1):a=!0):w=!1,p=[e.bMarks[t]],e.bMarks[t]=T;T<M&&(i=e.src.charCodeAt(T),r(i));)9===i?h+=4-(h+e.bsCount[t]+(a?1:0))%4:h++,T++;for(g=[e.bsCount[t]],e.bsCount[t]=e.sCount[t]+1+(w?1:0),c=T>=M,b=[e.sCount[t]],e.sCount[t]=h-l,y=[e.tShift[t]],e.tShift[t]=T-e.bMarks[t],E=e.md.block.ruler.getRules("blockquote"),m=e.parentType,e.parentType="blockquote",x=!1,d=t+1;d<n&&(e.sCount[d]<e.blkIndent&&(x=!0),T=e.bMarks[d]+e.tShift[d],M=e.eMarks[d],!(T>=M));d++)if(62!==e.src.charCodeAt(T++)||x){if(c)break;for(_=!1,u=0,s=E.length;u<s;u++)if(E[u](e,d,n,!0)){_=!0;break}if(_){e.lineMax=d,0!==e.blkIndent&&(p.push(e.bMarks[d]),g.push(e.bsCount[d]),y.push(e.tShift[d]),b.push(e.sCount[d]),e.sCount[d]-=e.blkIndent);break}p.push(e.bMarks[d]),g.push(e.bsCount[d]),y.push(e.tShift[d]),b.push(e.sCount[d]),e.sCount[d]=-1}else{for(l=h=e.sCount[d]+T-(e.bMarks[d]+e.tShift[d]),32===e.src.charCodeAt(T)?(T++,l++,h++,a=!1,w=!0):9===e.src.charCodeAt(T)?(w=!0,(e.bsCount[d]+h)%4==3?(T++,l++,h++,a=!1):a=!0):w=!1,p.push(e.bMarks[d]),e.bMarks[d]=T;T<M&&(i=e.src.charCodeAt(T),r(i));)9===i?h+=4-(h+e.bsCount[d]+(a?1:0))%4:h++,T++;c=T>=M,g.push(e.bsCount[d]),e.bsCount[d]=e.sCount[d]+1+(w?1:0),b.push(e.sCount[d]),e.sCount[d]=h-l,y.push(e.tShift[d]),e.tShift[d]=T-e.bMarks[d]}for(v=e.blkIndent,e.blkIndent=0,k=e.push("blockquote_open","blockquote",1),k.markup=">",k.map=f=[t,0],e.md.block.tokenize(e,t,d),k=e.push("blockquote_close","blockquote",-1),k.markup=">",e.lineMax=C,e.parentType=m,f[1]=e.line,u=0;u<y.length;u++)e.bMarks[u+t]=p[u],e.tShift[u+t]=y[u],e.sCount[u+t]=b[u],e.bsCount[u+t]=g[u];return e.blkIndent=v,!0}},function(e,t,n){"use strict";function r(e,t){var n=e.bMarks[t]+e.blkIndent,r=e.eMarks[t];return e.src.substr(n,r-n)}function o(e){var t,n=[],r=0,o=e.length,a=0,i=0,u=!1,l=0;for(t=e.charCodeAt(r);r<o;)96===t&&a%2==0?(u=!u,l=r):124!==t||a%2!=0||u?92===t?a+=1:a=0:(n.push(e.substring(i,r)),i=r+1),r+=1,r===o&&u&&(u=!1,r=l+1),t=e.charCodeAt(r);return n.push(e.substring(i)),n}e.exports=function(e,t,n,a){var i,u,l,s,c,f,d,h,p,g,v,m,b;if(t+2>n)return!1;if(c=t+1,e.sCount[c]<e.blkIndent)return!1;if((l=e.bMarks[c]+e.tShift[c])>=e.eMarks[c])return!1;if(124!==(i=e.src.charCodeAt(l))&&45!==i&&58!==i)return!1;if(u=r(e,t+1),!/^[-:| ]+$/.test(u))return!1;for(f=u.split("|"),p=[],s=0;s<f.length;s+=1){if(!(v=f[s].trim())){if(0===s||s===f.length-1)continue;return!1}if(!/^:?-+:?$/.test(v))return!1;58===v.charCodeAt(v.length-1)?p.push(58===v.charCodeAt(0)?"center":"right"):58===v.charCodeAt(0)?p.push("left"):p.push("")}if(g=p.length,u=r(e,t).trim(),-1===u.indexOf("|"))return!1;if(f=o(u.replace(/^\||\|$/g,"")),(d=f.length)>g)return!1;if(d<g){for(s=0;s<g-d;s+=1)f.push("");d=f.length}if(a)return!0;for(h=e.push("table_open","table",1),h.map=m=[t,0],h=e.push("thead_open","thead",1),h.map=[t,t+1],h=e.push("tr_open","tr",1),h.map=[t,t+1],s=0;s<d;s+=1)h=e.push("th_open","th",1),h.map=[t,t+1],p[s]&&(h.attrs=[["align",p[s]]]),h=e.push("inline","",0),h.content=f[s].trim(),h.map=[t,t+1],h.children=[],h=e.push("th_close","th",-1);for(h=e.push("tr_close","tr",-1),h=e.push("thead_close","thead",-1),h=e.push("tbody_open","tbody",1),h.map=b=[t+2,0],c=t+2;c<n&&!(e.sCount[c]<e.blkIndent)&&(u=r(e,c),-1!==u.indexOf("|"));c+=1){for(f=o(u.replace(/^\||\|\s*$/g,"")),h=e.push("tr_open","tr",1),s=0;s<d;s+=1)h=e.push("td_open","td",1),p[s]&&(h.attrs=[["align",p[s]]]),h=e.push("inline","",0),h.content=f[s]?f[s].trim():"",h.children=[],h=e.push("td_close","td",-1);h=e.push("tr_close","tr",-1)}return h=e.push("tbody_close","tbody",-1),h=e.push("table_close","table",-1),m[1]=b[1]=c,e.line=c,!0}},function(e,t,n){"use strict";var r=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],o=[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^<("+r.join("|")+")","i"),/^\/?>$/,!0],[new RegExp("^</?(address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|pre|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?=(\\s|/?>|$))","i"),/^$/,!0],[/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/,/^$/,!1]];e.exports=function(e,t,n,r){var a,i,u,l,s=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(s))return!1;for(l=e.src.slice(s,c),a=0;a<o.length;a++)if(o[a][0].test(l)){if(5===a)return!1;break}if(a===o.length)return!1;if(r)return o[a][2];if(i=t+1,!o[a][1].test(l))for(;i<n&&!(e.sCount[i]<e.blkIndent);i++)if(s=e.bMarks[i]+e.tShift[i],c=e.eMarks[i],l=e.src.slice(s,c),o[a][1].test(l)){0!==l.length&&i++;break}return e.line=i,u=e.push("html_block","",0),u.map=[t,i],u.content=e.getLines(t,i,e.blkIndent,!0),!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,a,i,u,l=e.pos;if(96!==e.src.charCodeAt(l))return!1;for(n=l,l++,r=e.posMax;l<r&&96===e.src.charCodeAt(l);)l++;for(o=e.src.slice(n,l),a=i=l;-1!==(a=e.src.indexOf("`",i));){for(i=a+1;i<r&&96===e.src.charCodeAt(i);)i++;if(i-a===o.length)return t||(u=e.push("code_inline","code",0),u.markup=o,u.content=e.src.slice(l,a).replace(/[ \n]+/g," ").trim(),u.attrSet("data-backticks",u.markup.length)),e.pos=i,!0}return t||(e.pending+=o),e.pos+=o.length,!0}},function(e,t){e.exports=a},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(0),a=r(o),i=n(1),u=r(i),l=/\u200B/g,s=function(e){return e&&e.nodeType===Node.TEXT_NODE},c=function(e){return e&&e.nodeType===Node.ELEMENT_NODE},f=function(e){return c(e)?e.tagName:"TEXT"},d=function(e){var t=void 0;return c(e)?t=e.textContent.replace(l,"").length:s(e)&&(t=e.nodeValue.replace(l,"").length),t},h=function(e){var t=void 0;return c(e)?t=e.childNodes.length:s(e)&&(t=e.nodeValue.replace(l,"").length),t},p=function(e){var t=e.parentNode.childNodes,n=void 0,r=void 0,o=void 0;for(n=0,r=t.length;n<r;n+=1)if(t[n]===e){o=n;break}return o},g=function(e,t){var n=void 0;return s(e)?n=e:e.childNodes.length&&t>=0&&(n=e.childNodes[t]),n},v=function(e,t,n){for(var r=e+"Sibling",o=void 0,a=void 0;t&&!t[r]&&(o=f(t.parentNode))!==n&&"BODY"!==o;)t=t.parentNode;return t[r]&&(a=t[r]),a},m=function(e,t,n){return t>0?g(e,t-1):v("previous",e,n)},b=function(e,t){for(var n=void 0;e.parentNode&&!t(e.parentNode);)e=e.parentNode;return t(e.parentNode)&&(n=e),n},y=function(e,t){return u.default.isString(t)?b(e,function(e){return t===f(e)}):b(e,function(e){return t===e})},w=function(e,t,n){var r=e+"Sibling",o=void 0;return t=y(t,n),t&&t[r]&&(o=t[r]),o},_=function(e,t){return w("previous",e,t)},E=function(e,t){return w("next",e,t)},k=function(e){return y(e,"BODY")},x=function(e){for(e=e.previousSibling||e.parentNode;!s(e)&&"BODY"!==f(e);)if(e.previousSibling)for(e=e.previousSibling;e.lastChild;)e=e.lastChild;else e=e.parentNode;return"BODY"===f(e)&&(e=null),e},C=function(e,t,n){var r=[],o="",a=0,i=void 0;if(!t.length)return r;for(var l=t.shift(),s=document.createTreeWalker(e,4,null,!1);s.nextNode();){for(o=s.currentNode.nodeValue||"",n&&(o=n(o)),i=a+o.length;i>=l;){if(r.push({container:s.currentNode,offsetInContainer:l-a,offset:l}),!t.length)return r;l=t.shift()}a=i}do{r.push({container:s.currentNode,offsetInContainer:o.length,offset:l}),l=t.shift()}while(!u.default.isUndefined(l));return r},T=function(e){var t={};t.tagName=e.nodeName,e.id&&(t.id=e.id);var n=e.className.trim();return n&&(t.className=n),t},M=function(e,t){for(var n=[];e&&e!==t;)c(e)&&n.unshift(T(e)),e=e.parentNode;return n},S=function(e,t){var n=!0;return u.default.isUndefined(t)||"next"!==t&&"previous"!==t?null:("previous"===t&&(n=!1),n?e.nextElementSibling:e.previousElementSibling)},I=function(e,t,n){var r=!0,o=null,i=void 0,l=void 0,s=void 0,c=void 0,d=void 0,h=void 0;return u.default.isUndefined(t)||"next"!==t&&"previous"!==t?null:("previous"===t&&(r=!1),e?(i=(0,a.default)(e),r?(s=i.parent().next(),c=i.parents("thead"),d=c[0]&&c.next(),h=d&&"TBODY"===f(d[0]),l=0):(s=i.parent().prev(),c=i.parents("tbody"),d=c[0]&&c.prev(),h=d&&"THEAD"===f(d[0]),l=e.parentNode.childNodes.length-1),!u.default.isUndefined(n)&&n||(l=p(e)),s[0]?o=s.children("td,th")[l]:c[0]&&h&&(o=d.find("td,th")[l]),o):null)};t.default={getNodeName:f,isTextNode:s,isElemNode:c,getTextLength:d,getOffsetLength:h,getPrevOffsetNodeUntil:m,getNodeOffsetOfParent:p,getChildNodeByOffset:g,getTopPrevNodeUnder:_,getTopNextNodeUnder:E,getParentUntil:y,getTopBlockNode:k,getPrevTextNode:x,findOffsetNode:C,getPath:M,getNodeInfo:T,getTableCellByDirection:S,getSiblingRowCellByDirection:I}},function(e,t,n){"use strict";"function"==typeof Symbol&&Symbol.iterator;!function(r){var o={};o.RELAXED=!1,o.IGNORE_RECORD_LENGTH=!1,o.IGNORE_QUOTES=!1,o.LINE_FEED_OK=!0,o.CARRIAGE_RETURN_OK=!0,o.DETECT_TYPES=!0,o.IGNORE_QUOTE_WHITESPACE=!0,o.DEBUG=!1,o.COLUMN_SEPARATOR=",",o.ERROR_EOF="UNEXPECTED_END_OF_FILE",o.ERROR_CHAR="UNEXPECTED_CHARACTER",o.ERROR_EOL="UNEXPECTED_END_OF_RECORD",o.WARN_SPACE="UNEXPECTED_WHITESPACE";o.parse=function(e){var t=o.result=[];o.COLUMN_SEPARATOR=o.COLUMN_SEPARATOR instanceof RegExp?new RegExp("^"+o.COLUMN_SEPARATOR.source):o.COLUMN_SEPARATOR,o.offset=0,o.str=e,o.record_begin(),o.debug("parse()",e);for(var n;;){if(n=e[o.offset++],o.debug("c",n),null==n){o.escaped&&o.error(o.ERROR_EOF),o.record&&(o.token_end(),o.record_end()),o.debug("...bail",n,o.state,o.record),o.reset();break}if(null==o.record){if(o.RELAXED&&("\n"==n||"\r"==n&&"\n"==e[o.offset+1]))continue;o.record_begin()}if(0==o.state){if((" "===n||"\t"===n)&&'"'==o.next_nonspace()){if(o.RELAXED||o.IGNORE_QUOTE_WHITESPACE)continue;o.warn(o.WARN_SPACE)}if('"'==n&&!o.IGNORE_QUOTES){o.debug("...escaped start",n),o.escaped=!0,o.state=1;continue}o.state=1}1==o.state&&o.escaped?'"'==n?'"'==e[o.offset]?(o.debug("...escaped quote",n),o.token+='"',o.offset++):(o.debug("...escaped end",n),o.escaped=!1,o.state=2):(o.token+=n,o.debug("...escaped add",n,o.token)):"\r"==n?("\n"==e[o.offset]?o.offset++:o.CARRIAGE_RETURN_OK||o.error(o.ERROR_CHAR),o.token_end(),o.record_end()):"\n"==n?(o.LINE_FEED_OK||o.RELAXED||o.error(o.ERROR_CHAR),o.token_end(),o.record_end()):o.test_regex_separator(e)||o.COLUMN_SEPARATOR==n?o.token_end():1==o.state?(o.token+=n,o.debug("...add",n,o.token)):" "===n||"\t"===n?o.IGNORE_QUOTE_WHITESPACE||o.error(o.WARN_SPACE):o.RELAXED||o.error(o.ERROR_CHAR)}return t},o.stream=function(){var e=n(19),t=new e.Transform({objectMode:!0});return t.EOL="\n",t.prior="",t.emitter=function(e){return function(t){e.push(o.parse(t+e.EOL))}}(t),t._transform=function(e,t,n){var r=""==this.prior?e.toString().split(this.EOL):(this.prior+e.toString()).split(this.EOL);this.prior=r.pop(),r.forEach(this.emitter),n()},t._flush=function(e){""!=this.prior&&(this.emitter(this.prior),this.prior=""),e()},t},o.test_regex_separator=function(e){if(!(o.COLUMN_SEPARATOR instanceof RegExp))return!1;var t;return e=e.slice(o.offset-1),t=o.COLUMN_SEPARATOR.exec(e),t&&(o.offset+=t[0].length-1),null!==t},o.stream.json=function(){var e=n(62),t=(n(19),new streamTransform({objectMode:!0}));return t._transform=function(n,r,o){t.push(JSON.stringify(n.toString())+e.EOL),o()},t},o.reset=function(){o.state=null,o.token=null,o.escaped=null,o.record=null,o.offset=null,o.result=null,o.str=null},o.next_nonspace=function(){for(var e,t=o.offset;t<o.str.length;)if(" "!=(e=o.str[t++])&&"\t"!==e)return e;return null},o.record_begin=function(){o.escaped=!1,o.record=[],o.token_begin(),o.debug("record_begin")},o.record_end=function(){o.state=4,!o.IGNORE_RECORD_LENGTH&&!o.RELAXED&&o.result.length>0&&o.record.length!=o.result[0].length&&o.error(o.ERROR_EOL),o.result.push(o.record),o.debug("record end",o.record),o.record=null},o.resolve_type=function(e){return e.match(/^[-+]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)?$/)?e=parseFloat(e):e.match(/^(true|false)$/i)?e=Boolean(e.match(/true/i)):"undefined"===e?e=void 0:"null"===e&&(e=null),e},o.token_begin=function(){o.state=0,o.token=""},o.token_end=function(){o.DETECT_TYPES&&(o.token=o.resolve_type(o.token)),o.record.push(o.token),o.debug("token end",o.token),o.token_begin()},o.debug=function(){o.DEBUG&&console.log(arguments)},o.dump=function(e){return[e,"at char",o.offset,":",o.str.substr(o.offset-50,50).replace(/\r/gm,"\\r").replace(/\n/gm,"\\n").replace(/\t/gm,"\\t")].join(" ")},o.error=function(e){var t=o.dump(e);throw o.reset(),t},o.warn=function(e){if(o.DEBUG){var t=o.dump(e);try{return void console.warn(t)}catch(e){}try{console.log(t)}catch(e){}}},void 0!==e&&e.exports?e.exports=o:t.CSV=o}()},function(e,t,n){"use strict";function r(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function o(e){return 3*e.length/4-r(e)}function a(e){var t,n,o,a,i,u=e.length;a=r(e),i=new f(3*u/4-a),n=a>0?u-4:u;var l=0;for(t=0;t<n;t+=4)o=c[e.charCodeAt(t)]<<18|c[e.charCodeAt(t+1)]<<12|c[e.charCodeAt(t+2)]<<6|c[e.charCodeAt(t+3)],i[l++]=o>>16&255,i[l++]=o>>8&255,i[l++]=255&o;return 2===a?(o=c[e.charCodeAt(t)]<<2|c[e.charCodeAt(t+1)]>>4,i[l++]=255&o):1===a&&(o=c[e.charCodeAt(t)]<<10|c[e.charCodeAt(t+1)]<<4|c[e.charCodeAt(t+2)]>>2,i[l++]=o>>8&255,i[l++]=255&o),i}function i(e){return s[e>>18&63]+s[e>>12&63]+s[e>>6&63]+s[63&e]}function u(e,t,n){for(var r,o=[],a=t;a<n;a+=3)r=(e[a]<<16)+(e[a+1]<<8)+e[a+2],o.push(i(r));return o.join("")}function l(e){for(var t,n=e.length,r=n%3,o="",a=[],i=0,l=n-r;i<l;i+=16383)a.push(u(e,i,i+16383>l?l:i+16383));return 1===r?(t=e[n-1],o+=s[t>>2],o+=s[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=s[t>>10],o+=s[t>>4&63],o+=s[t<<2&63],o+="="),a.push(o),a.join("")}t.byteLength=o,t.toByteArray=a,t.fromByteArray=l;for(var s=[],c=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,p=d.length;h<p;++h)s[h]=d[h],c[d.charCodeAt(h)]=h;c["-".charCodeAt(0)]=62,c["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,o){var a,i,u=8*o-r-1,l=(1<<u)-1,s=l>>1,c=-7,f=n?o-1:0,d=n?-1:1,h=e[t+f];for(f+=d,a=h&(1<<-c)-1,h>>=-c,c+=u;c>0;a=256*a+e[t+f],f+=d,c-=8);for(i=a&(1<<-c)-1,a>>=-c,c+=r;c>0;i=256*i+e[t+f],f+=d,c-=8);if(0===a)a=1-s;else{if(a===l)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,r),a-=s}return(h?-1:1)*i*Math.pow(2,a-r)},t.write=function(e,t,n,r,o,a){var i,u,l,s=8*a-o-1,c=(1<<s)-1,f=c>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:a-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(u=isNaN(t)?1:0,i=c):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),t+=i+f>=1?d/l:d*Math.pow(2,1-f),t*l>=2&&(i++,l/=2),i+f>=c?(u=0,i=c):i+f>=1?(u=(t*l-1)*Math.pow(2,o),i+=f):(u=t*Math.pow(2,f-1)*Math.pow(2,o),i=0));o>=8;e[n+h]=255&u,h+=p,u/=256,o-=8);for(i=i<<o|u,s+=o;s>0;e[n+h]=255&i,h+=p,i/=256,s-=8);e[n+h-p]|=128*g}},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t,n){e.copy(t,n)}var a=n(12).Buffer;e.exports=function(){function e(){r(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return a.alloc(0);if(1===this.length)return this.head.data;for(var t=a.allocUnsafe(e>>>0),n=this.head,r=0;n;)o(n.data,t,r),r+=n.data.length,n=n.next;return t},e}()},function(e,t,n){function r(e,t){this._id=e,this._clearFn=t}var o=Function.prototype.apply;t.setTimeout=function(){return new r(o.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new r(o.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(55),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){(function(e,t){!function(e,n){"use strict";function r(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var r={callback:e,args:t};return s[l]=r,u(l),l++}function o(e){delete s[e]}function a(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}function i(e){if(c)setTimeout(i,0,e);else{var t=s[e];if(t){c=!0;try{a(t)}finally{o(e),c=!1}}}}if(!e.setImmediate){var u,l=1,s={},c=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?function(){u=function(e){t.nextTick(function(){i(e)})}}():function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?function(){var t="setImmediate$"+Math.random()+"$",n=function(n){n.source===e&&"string"==typeof n.data&&0===n.data.indexOf(t)&&i(+n.data.slice(t.length))};e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),u=function(n){e.postMessage(t+n,"*")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){i(e.data)},u=function(t){e.port2.postMessage(t)}}():f&&"onreadystatechange"in f.createElement("script")?function(){var e=f.documentElement;u=function(t){var n=f.createElement("script");n.onreadystatechange=function(){i(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():function(){u=function(e){setTimeout(i,0,e)}}(),d.setImmediate=r,d.clearImmediate=o}}("undefined"==typeof self?void 0===e?this:e:self)}).call(t,n(8),n(10))},function(e,t,n){(function(t){function n(e,t){function n(){if(!o){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),o=!0}return e.apply(this,arguments)}if(r("noDeprecation"))return e;var o=!1;return n}function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=n}).call(t,n(8))},function(e,t,n){"use strict";function r(e){if(!(this instanceof r))return new r(e);o.call(this,e)}e.exports=r;var o=n(26),a=n(9);a.inherits=n(7),a.inherits(r,o),r.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){e.exports=n(15)},function(e,t,n){e.exports=n(6)},function(e,t,n){e.exports=n(14).Transform},function(e,t,n){e.exports=n(14).PassThrough},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.eventManager;if(e.toMarkOptions=e.toMarkOptions||{},e.toMarkOptions.renderer=y.default,s(t),!e.isViewer()){var n=e.wwEditor.componentManager,r=e._ui.popupTableUtils;a(e),i(n),e._ui.popupTableUtils&&U.default.updateContextMenu(r,t,n.getManager("tableSelection"))}}function a(e){e.addCommand(L.default),e.addCommand(B.default)}function i(e){e.removeManager("table"),e.removeManager("tableSelection"),e.addManager(_.default),e.addManager(k.default)}function u(e,t){var n=(0,f.default)("<div>"+e+"</div>"),r=n.find("table");return r.length&&(r.get().forEach(function(e){var n=t(e);(0,f.default)(e).replaceWith(n)}),e=n.html()),e}function l(e){var t=e.command;if(t.isWWType())switch(t.getName()){case"AddRow":e.command=C.default;break;case"AddCol":e.command=M.default;break;case"RemoveRow":e.command=I.default;break;case"RemoveCol":e.command=A.default;break;case"AlignCol":e.command=P.default}}function s(e){e.listen("convertorAfterMarkdownToHtmlConverted",function(e){return u(e,g.default)}),e.listen("convertorBeforeHtmlToMarkdownConverted",function(e){return u(e,m.default)}),e.listen("addCommandBefore",l)}var c=n(0),f=r(c),d=n(2),h=r(d);n(64);var p=n(65),g=r(p),v=n(66),m=r(v),b=n(67),y=r(b),w=n(68),_=r(w),E=n(69),k=r(E),x=n(70),C=r(x),T=n(71),M=r(T),S=n(72),I=r(S),R=n(73),A=r(R),O=n(74),P=r(O),N=n(75),L=r(N),D=n(76),B=r(D),j=n(77),U=r(j);h.default.defineExtension("table",o)},function(e,t,n){"use strict";var r=n(2),o=function(e){return e&&e.__esModule?e:{default:e}}(r),a=o.default.i18n;a&&(a.setLanguage(["ko","ko_KR"],{"Merge cells":"셀 병합","Unmerge cells":"셀 병합해제","Cannot change part of merged cell":"병합 된 셀의 일부를 변경할 수 없습니다.","Cannot paste row merged cells into the table header":"테이블 헤더에는 행 병합된 셀을 붙여넣을 수 없습니다."}),a.setLanguage(["en","en_US"],{"Merge cells":"Merge cells","Unmerge cells":"Unmerge cells","Cannot change part of merged cell":"Cannot change part of merged cell.","Cannot paste row merged cells into the table header":"Cannot paste row merged cells into the table header."}),a.setLanguage(["es","es_ES"],{"Merge cells":"Combinar celdas","Unmerge cells":"Separar celdas","Cannot change part of merged cell":"No se puede cambiar parte de una celda combinada.","Cannot paste row merged cells into the table header":"No se pueden pegar celdas combinadas en el encabezado de tabla."}),a.setLanguage(["ja","ja_JP"],{"Merge cells":"セルの結合","Unmerge cells":"セルの結合を解除","Cannot change part of merged cell":"結合されたセルの一部を変更することはできません。","Cannot paste row merged cells into the table header":"行にマージされたセルをヘッダーに貼り付けることはできません。"}),a.setLanguage(["nl","nl_NL"],{"Merge cells":"cellen samenvoegen","Unmerge cells":"Samenvoegen cellen ongedaan maken","Cannot change part of merged cell":"Kan geen deel uit van samengevoegde cel te veranderen.","Cannot paste row merged cells into the table header":"Kan niet plakken rij samengevoegde cellen in de koptekst. "}),a.setLanguage(["zh","zh_CN"],{"Merge cells":"合并单元格","Unmerge cells":"取消合并单元格","Cannot change part of merged cell":"无法更改合并单元格的一部分。","Cannot paste row merged cells into the table header":"无法将行合并单元格粘贴到标题中。"}),a.setLanguage(["de","de_DE"],{"Merge cells":"Zellen zusammenführen","Unmerge cells":"Zusammenführen rückgängig machen","Cannot change part of merged cell":"Der Teil der verbundenen Zelle kann nicht geändert werden.","Cannot paste row merged cells into the table header":"Die Zeile der verbundenen Zellen kann nicht in die Kopfzeile eingefügt werden."}),a.setLanguage(["ru","ru_RU"],{"Merge cells":"Объединить ячейки","Unmerge cells":"Разъединить ячейки","Cannot change part of merged cell":"Вы не можете изменять часть комбинированной ячейки.","Cannot paste row merged cells into the table header":"Вы не можете вставлять объединенные ячейки в заголовок таблицы."}),a.setLanguage(["fr","fr_FR"],{"Merge cells":"Fusionner les cellules","Unmerge cells":"Séparer les cellules","Cannot change part of merged cell":"Impossible de modifier une partie de la cellule fusionnée.","Cannot paste row merged cells into the table header":"Impossible de coller les cellules fusionnées dans l'en-tête du tableau."}))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=new RegExp("^((?:"+n+"=[0-9]+:)?)"+t+"=([0-9]+):(.*)"),o=r.exec(e),a=1;return o&&(a=parseInt(o[2],10),e=o[1]+o[3]),[a,e]}function a(e){var t=e.nodeName,n=e.align||"",r=e.innerHTML.trim(),a=null,i=null,u=o(r,"@cols","@rows");a=u[0],r=u[1];var l=o(r,"@rows","@cols");return i=l[0],r=l[1],{nodeName:t,colspan:a,rowspan:i,content:r,align:n}}function i(e){return e.find("tr").get().map(function(e){return(0,p.default)(e).find("td, th").get().map(a)})}function u(e,t){var n=-1;return v.default.forEach(e,function(e,r){var o=!0;return t(e,r)&&(n=r,o=!1),o}),n}function l(e){var t=u(e,function(e){return"TD"===e[0].nodeName});return[e.slice(0,t),e.slice(t)]}function s(e){e.forEach(function(e){var t=e.length,n=0;e.forEach(function(e){n+=e.colspan-1}),e.splice(t-n)})}function c(e){var t=e.map(function(e,t){return t}),n=t.map(function(){return 0});return e.forEach(function(e,r){var o=e.filter(function(e){return e.rowspan>1}),a=r+1;o.forEach(function(e){var r=e.colspan,o=a+(e.rowspan-1);t.slice(a,o).forEach(function(e){n[e]+=r})})}),n}function f(e){var t=c(e);e.forEach(function(e,n){e.splice(e.length-t[n])})}function d(e){var t=i((0,p.default)(e)),n=l(t),r=n[0],o=n[1];return s(r),s(o),f(o),(0,p.default)(b.default.createTableHtml(t))[0]}Object.defineProperty(t,"__esModule",{value:!0}),t._extractPropertiesForMerge=o,t._parseTableCell=a,t._createTableObjectFrom$Table=i,t._divideTrs=l,t._mergeByColspan=s,t._getRemovalTdCountsByRowspan=c,t._mergeByRowspan=f,t.default=d;var h=n(0),p=r(h),g=n(1),v=r(g),m=n(4),b=r(m)},function(e,t,n){"use strict";function r(e){var t=(0,i.default)(e),n=t.attr("colspan")||"",r=t.attr("rowspan")||"",o=t.html();n&&(o="@cols="+n+":"+o),r&&(o="@rows="+r+":"+o),o&&t.html(o)}function o(e){return(0,i.default)(e).find("td, th").get().forEach(r),e}Object.defineProperty(t,"__esModule",{value:!0}),t._prependMergeSyntaxToContent=r,t.default=o;var a=n(0),i=function(e){return e&&e.__esModule?e:{default:e}}(a)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return f.default.range(0,t).map(function(){return e}).join("")}function a(e){var t=e.align,n=(e.textContent||e.innerText).replace(p,""),r=n.length,a="",i="";return t&&("left"===t?(a=":",r-=1):"right"===t?(i=":",r-=1):"center"===t&&(i=":",a=":",r-=2)),r=Math.max(r,3),a+o("-",r)+i}function i(e){var t=0;return e.filter(function(e){return(0,s.default)(e).attr("colspan")}).forEach(function(e){t+=parseInt((0,s.default)(e).attr("colspan"),10)-1}),t}function u(e,t){var n=(0,s.default)(e).find("th").get(),r=n.map(function(e){return" "+a(e)+" |"}).join("");return r+=o(" --- |",i(n)),t?t+"|"+r+"\n":""}Object.defineProperty(t,"__esModule",{value:!0}),t._getAdditionalThCount=i,t._createTheadMarkdown=u;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(17),h=r(d),p=/@cols=[0-9]+:/g;t.default=h.default.Renderer.factory(h.default.gfmRenderer,{THEAD:u})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e,t){var n=!1;return d.default.forEach(e,function(e){return!(n=t(e))}),n}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),f=n(1),d=r(f),h=n(2),p=r(h),g=n(3),v=r(g),m=n(4),b=r(m),y=n(5),w=r(y),_=p.default.WwTableManager,E=p.default.i18n,k=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),l(t,[{key:"_updateCopyDataMergeWith",value:function(e,t){e.forEach(function(e){e.forEach(function(e){d.default.isExisty(e.rowMergeWith)&&(e.rowMergeWith-=t.rowIndex),d.default.isExisty(e.colMergeWith)&&(e.colMergeWith-=t.colIndex)})})}},{key:"_createCopyTableData",value:function(e,t,n){var r=e.slice(t.rowIndex,n.rowIndex+1);return r=r.map(function(e){return e.slice(t.colIndex,n.colIndex+1)}),this._updateCopyDataMergeWith(r,t),r}},{key:"updateTableHtmlOfClipboardIfNeed",value:function(e){var t=this.wwe.componentManager.getManager("tableSelection").getSelectedCells();if(t.length){var n=v.default.createTableData((0,c.default)(t[0]).closest("TABLE")),r=w.default.getTableSelectionRange(n,t),o=r.start,a=r.end,i=this._createCopyTableData(n,o,a),u=v.default.createCellIndexData(i),l=v.default.createRenderData(i,u);e.html(b.default.createTableHtml(l))}}},{key:"prepareToTableCellStuffing",value:function(e){var t=e[0].length,n=!1;return e.slice(1).forEach(function(e){var r=e.length;t!==r&&(n=!0,t<r&&(t=r))}),{maximumCellLength:t,needTableCellStuffingAid:n}}},{key:"tableCellAppendAidForTableElement",value:function(e){var t=(0,c.default)(e),n=v.default.createTableData(t),r=v.default.addTbodyOrTheadIfNeed(n),o=this.prepareToTableCellStuffing(n),a=o.needTableCellStuffingAid;a&&v.default.stuffCellsIntoIncompleteRow(n,o.maximumCellLength),(r||a)&&b.default.replaceTable(t,n)}},{key:"_findStartCell",value:function(e){return 1===e.length?e.get(0):this.wwe.getEditor().getSelection().startContainer}},{key:"_findStartCellIndex",value:function(e,t){var n=v.default.createCellIndexData(e);return v.default.findCellIndex(n,t)}},{key:"_hasRowMergedHeader",value:function(e,t,n){var r="TH"===t[n.rowIndex][n.colIndex].nodeName,o=u(e[0],function(e){return e.rowspan&&e.rowspan>1});return r&&o}},{key:"_isExactlyFit",value:function(e,t,n){return t%e.length==0&&n%e[0].length==0}},{key:"_updateClipboardTableData",value:function(e,t,n){var r=e.length,o=e[0].length,a=parseInt(t/r,10),i=parseInt(n/o,10);if(a>1){var u=JSON.parse(JSON.stringify(e));d.default.range(0,a-1).forEach(function(){var t=JSON.parse(JSON.stringify(u));e.push.apply(e,t)})}if(i>1){var l=JSON.parse(JSON.stringify(e));d.default.range(0,i-1).forEach(function(){var t=JSON.parse(JSON.stringify(l));e.forEach(function(e,n){e.push.apply(e,t[n])})})}}},{key:"_updateTableDataByClipboardData",value:function(e,t,n){var r=n.rowIndex,o=n.colIndex;e.forEach(function(e,n){var a=r+n;e.forEach(function(e,n){var r=o+n,i=t[a][r];e.nodeName=i.nodeName,t[a][r]=e})})}},{key:"_isPossibleToPaste",value:function(e,t,n){var r=t.rowIndex,o=t.colIndex,a=n.rowIndex,i=n.colIndex,l=e.slice(r,a+1),s=l[0].slice(o,i+1),c=!u(s,function(e){return d.default.isExisty(e.rowMergeWith)});if(c){c=!u(d.default.pluck(l,o),function(e){return d.default.isExisty(e.colMergeWith)})}if(c&&e.length>a+1){c=!u(e[a+1].slice(o,i+1),function(e){return d.default.isExisty(e.rowMergeWith)})}if(c&&e[0].length>i+1){c=!u(d.default.pluck(l,i+1),function(e){return d.default.isExisty(e.colMergeWith)})}return c}},{key:"_spliceClipboardData",value:function(e,t,n){e.splice(t),e.forEach(function(e){e.splice(n)})}},{key:"_bookmarkLastTd",value:function(e){var t=e.rowIndex,n=e.colIndex,r=this.wwe.getEditor(),o=r.get$Body().find(".tui-paste-table-bookmark"),a=v.default.createTableData(o),i=a[t][n];t=d.default.isExisty(i.rowMergeWith)?i.rowMergeWith:t,n=d.default.isExisty(i.colMergeWith)?i.colMergeWith:n;var u=a[t][n].elementIndex,l=o.find("tr").eq(u.rowIndex).children()[u.colIndex];o.removeClass("tui-paste-table-bookmark"),(0,c.default)(l).addClass("tui-paste-table-cell-bookmark")}},{key:"_updateClipboardDataForPasteToSamllerSelectedArea",value:function(e,t,n,r,o){var a=!0,i={rowIndex:0,colIndex:0},u={rowIndex:n-1,colIndex:r-1};return this._isPossibleToPaste(e,i,u)?(this._spliceClipboardData(e,n,r),this._updateTableDataByClipboardData(e,t,o)):a=!1,a}},{key:"_pasteToSelectedArea",value:function(e,t,n,r){var o=w.default.getTableSelectionRange(n,r),a=o.start,i=o.end,u=i.rowIndex-a.rowIndex+1,l=i.colIndex-a.colIndex+1,s=t.length,c=t[0].length,f=u>=s&&l>=c,d=E.get("Cannot change part of merged cell"),h=!0,p=void 0;this._hasRowMergedHeader(t,n,a)?(d=E.get("Cannot paste row merged cells into the table header"),h=!1):this._isExactlyFit(t,u,l)?(p=i,this._updateClipboardTableData(t,u,l),this._updateTableDataByClipboardData(t,n,a)):f?(p={rowIndex:a.rowIndex+s-1,colIndex:a.colIndex+c-1},this._isPossibleToPaste(n,a,p)?this._updateTableDataByClipboardData(t,n,a):h=!1):(p={rowIndex:a.rowIndex+u-1,colIndex:a.colIndex+l-1},h=this._updateClipboardDataForPasteToSamllerSelectedArea(t,n,u,l,a)),h?(n.className+=" tui-paste-table-bookmark",b.default.replaceTable(e,n),this._bookmarkLastTd(p)):(alert(d),this.wwe.focus())}},{key:"_findEndCellIndex",value:function(e,t){var n=t.rowIndex,r=t.colIndex;return{rowIndex:n+e.length-1,colIndex:r+e[0].length-1}}},{key:"_expandRow",value:function(e,t){var n=e.length,r=e[0].length,o=d.default.range(n,n+t).map(function(e){return d.default.range(0,r).map(function(t){return v.default.createBasicCell(e,t)})});e.push.apply(e,o)}},{key:"_expandCoumn",value:function(e,t){var n=e[0].length,r=d.default.range(n,n+t);e.forEach(function(e,t){var n=e[0].nodeName,o=r.map(function(e){return v.default.createBasicCell(t,e,n)});e.push.apply(e,o)})}},{key:"_expandTableDataIfNeed",value:function(e,t,n){var r=n.rowIndex-e.length+1,o=n.colIndex-e[0].length+1;r>0&&this._expandRow(e,r),o>0&&this._expandCoumn(e,o)}},{key:"_pasteAllClipboardTableData",value:function(e,t,n,r){var o=this._findEndCellIndex(t,r);if(this._hasRowMergedHeader(t,n,r))return alert(E.get("Cannot paste row merged cells into the table header")),void this.wwe.focus();this._expandTableDataIfNeed(n,r,o),this._isPossibleToPaste(n,r,o)?(this._updateTableDataByClipboardData(t,n,r),n.className+=" tui-paste-table-bookmark",b.default.replaceTable(e,n),this._bookmarkLastTd(o)):(alert(E.get("Cannot change part of merged cell")),this.wwe.focus())}},{key:"pasteClipboardData",value:function(e){var t=v.default.createTableData(e),n=this.wwe.componentManager.getManager("tableSelection"),r=n.getSelectedCells(),o=(0,c.default)(this._findStartCell(r)),a=o.closest("table"),i=v.default.createTableData(a),u=this._findStartCellIndex(i,o);r.length>1?this._pasteToSelectedArea(a,t,i,r):this._pasteAllClipboardTableData(a,t,i,u)}}]),t}(_);t.default=k},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=h.default.WwTableSelectionManager,y=function(e){function t(e){o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._tableData=null,n.mergedTableSelectionManager=!0,n}return i(t,e),u(t,[{key:"_addClassToSelectedCells",value:function(e,t,n){var r=n.start,o=n.end,a=f.default.range(r.colIndex,o.colIndex+1),i=e.find("tr");f.default.range(r.rowIndex,o.rowIndex+1).forEach(function(e){var n=t[e],r=i.eq(e).find("td, th");return a.forEach(function(e){n[e].elementIndex&&r.eq(n[e].elementIndex.colIndex).addClass("te-cell-selected")})})}},{key:"onDragStart",value:function(e){var t=(0,s.default)(e).closest("[contenteditable=true] table");this._tableData=g.default.createTableData(t)}},{key:"onDragEnd",value:function(){this._tableData=null}},{key:"highlightTableCellsBy",value:function(e,t){var n=(0,s.default)(e),r=(0,s.default)(t),o=n.closest("[contenteditable=true] table"),a=m.default.findSelectionRange(this._tableData,n,r);this.removeClassAttrbuteFromAllCellsIfNeed(),this._addClassToSelectedCells(o,this._tableData,a)}},{key:"styleToSelectedCells",value:function(e){var t=this.wwe.getEditor(),n=t.getSelection().cloneRange();(0,s.default)(n.startContainer).closest("[contenteditable=true] table").find("tr").get().forEach(function(r){var o=(0,s.default)(r).find(".te-cell-selected"),a=o.first().get(0),i=o.last().get(0);o.length&&(n.setStart(a,0),n.setEnd(i,i.childNodes.length),t.setSelection(n),e(t))})}},{key:"hasSelectedBothThAndTd",value:function(e){return e=e||this.getSelectedCells(),e.first()[0].nodeName!==e.last()[0].nodeName}}]),t}(b);t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return{nodeName:"TD",rowMergeWith:e}}function a(e,t){var n=null;return e[t].map(function(r,a){var i=void 0;if(f.default.isExisty(r.rowMergeWith)){var u=r.rowMergeWith,l=e[u][a],s=u+l.rowspan-1;f.default.isExisty(l.colMergeWith)&&n?i=f.default.extend({},n):s>t&&(l.rowspan+=1,i=f.default.extend({},r))}else r.rowspan>1&&(r.rowspan+=1,i=o(t));return i||(i=g.default.createBasicCell(t+1,a)),n=i,i})}function i(e,t){var n=t.start.rowIndex,r=t.end,o=g.default.findRowMergedLastIndex(e,r.rowIndex,r.colIndex),i=f.default.range(n,o+1).map(function(){return a(e,o)});e.splice.apply(e,[o+1,0].concat(i))}function u(e,t,n){var r=g.default.createTableData(e),o=g.default.findRowMergedLastIndex(r,t,n)+1,a=g.default.findElementIndex(r,o,n);return e.find("tr").eq(a.rowIndex).find("td")[a.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._createNewRow=a,t._addRow=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"AddRow",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),o=r.closest("table"),a=g.default.createTableData(o),l=e.componentManager.getManager("tableSelection").getSelectedCells(),c=m.default.getTableSelectionRange(a,l,r);t.saveUndoState(n),i(a,c);var f=y.default.replaceTable(o,a),d=u(f,c.end.rowIndex,c.start.colIndex);y.default.focusToCell(t,n,d)}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return{nodeName:t,colMergeWith:e}}function a(e,t,n,r){var a=e[n],i=void 0;if(d.default.isExisty(a.colMergeWith)){var u=a.colMergeWith,l=e[u],s=u+l.colspan-1;d.default.isExisty(l.rowMergeWith)&&r?i=d.default.extend({},r):s>n&&(l.colspan+=1,i=d.default.extend({},a))}else a.colspan>1&&(a.colspan+=1,i=o(n,a.nodeName));return i||(i=v.default.createBasicCell(t,n+1,a.nodeName)),i}function i(e,t,n){var r=d.default.range(t,n+1),o=[],i=null;return e.forEach(function(e,t){var u=r.map(function(r,o){var u=i?i[o-1]:null;return a(e,t,n,u)});i=u,o.push(u)}),o}function u(e,t){var n=t.end,r=v.default.findColMergedLastIndex(e,n.rowIndex,n.colIndex),o=i(e,t.start.colIndex,r),a=r+1;e.forEach(function(e,t){e.splice.apply(e,[a,0].concat(o[t]))})}function l(e,t,n){var r=v.default.createTableData(e),o=v.default.findColMergedLastIndex(r,t,n)+1,a=v.default.findElementIndex(r,t,o);return e.find("tr").eq(a.rowIndex).find("td, th")[a.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._createNewColumns=i,t._addColumns=u;var s=n(0),c=r(s),f=n(1),d=r(f),h=n(2),p=r(h),g=n(3),v=r(g),m=n(5),b=r(m),y=n(4),w=r(y),_=p.default.CommandManager,E=void 0;_&&(E=_.command("wysiwyg",{name:"AddCol",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,c.default)(n.startContainer),o=r.closest("table"),a=v.default.createTableData(o),i=e.componentManager.getManager("tableSelection").getSelectedCells(),s=b.default.getTableSelectionRange(a,i,r);t.saveUndoState(n),u(a,s);var f=w.default.replaceTable(o,a),d=l(f,s.start.rowIndex,s.end.colIndex);w.default.focusToCell(t,n,d)}}})),t.default=E},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){f.default.range(t,n+1).forEach(function(t){e[t].forEach(function(r,o){if(f.default.isExisty(r.rowMergeWith)){var a=e[r.rowMergeWith][o];a.rowspan&&(a.rowspan-=1)}else if(r.rowspan>1){var i=t+r.rowspan-1;r.rowspan-=n-t+1,i>n&&(e[n+1][o]=f.default.extend({},r))}})})}function a(e,t,n){e.slice(n+1).forEach(function(e){e.forEach(function(e){f.default.isExisty(e.rowMergeWith)&&e.rowMergeWith>=t&&(e.rowMergeWith=n+1)})})}function i(e,t){var n=t.start.rowIndex,r=t.end,i=g.default.findRowMergedLastIndex(e,r.rowIndex,r.colIndex);if(0!==n||0!==i){n=Math.max(n,1),i=Math.max(i,1);var u=i-n+1;e.length-u<2?e.splice(0,e.length):(o(e,n,i),a(e,n,i),e.splice(n,u))}}function u(e,t,n){var r=g.default.createTableData(e);r.length-1<t&&(t-=1);var o=g.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("th,td")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._removeRow=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"RemoveRow",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),o=r.closest("table"),a=g.default.createTableData(o),l=a.length,c=e.componentManager.getManager("tableSelection").getSelectedCells(),f=m.default.getTableSelectionRange(a,c,r);if(t.saveUndoState(n),i(a,f),a.length<2)o.remove();else if(l!==a.length){var d=y.default.replaceTable(o,a),h=f.start.rowIndex,p=h<a.length?h:h-1,v=u(d,p,f.start.colIndex);y.default.focusToCell(t,n,v)}}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){e.forEach(function(e){f.default.range(t,n+1).forEach(function(t){var r=e[t];if(f.default.isExisty(r.colMergeWith)){var o=e[r.colMergeWith];o.colspan&&(o.colspan-=1)}else if(r.colspan>1){var a=t+r.colspan-1;r.colspan-=n-t+1,a>n&&(e[n+1]=f.default.extend({},r))}})})}function a(e,t,n){e.forEach(function(e){e.slice(n+1).forEach(function(e){f.default.isExisty(e.colMergeWith)&&e.colMergeWith>=t&&(e.colMergeWith=n+1)})})}function i(e,t){var n=t.start.colIndex,r=t.end,i=g.default.findColMergedLastIndex(e,r.rowIndex,r.colIndex),u=i-n+1;o(e,n,i),a(e,n,i),e.forEach(function(e){e.splice(n,u)})}function u(e,t,n){var r=g.default.createTableData(e);r[0].length-1<n&&(n-=1);var o=g.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("td, th")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._removeColumns=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"RemoveCol",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),o=r.closest("table"),a=g.default.createTableData(o),l=e.componentManager.getManager("tableSelection").getSelectedCells(),c=m.default.getTableSelectionRange(a,l,r),f=a[0].length;if(t.saveUndoState(n),i(a,c),0===a[0].length)o.remove();else if(f!==a[0].length){var d=y.default.replaceTable(o,a),h=c.start.colIndex,p=h>=a[0].length?h-1:h,v=u(d,c.start.rowIndex,p);y.default.focusToCell(t,n,v)}}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r){s.default.range(t,n+1).forEach(function(t){var n=e[t];s.default.isExisty(n.colMergeWith)?e[n.colMergeWith].align=r:n.align=r})}function a(e,t){var n=h.default.findElementRowIndex(t),r=h.default.findElementColIndex(t);return e.find("tr").eq(n).find("td, th")[r]}Object.defineProperty(t,"__esModule",{value:!0});var i=n(0),u=r(i),l=n(1),s=r(l),c=n(2),f=r(c),d=n(3),h=r(d),p=n(5),g=r(p),v=n(4),m=r(v),b=f.default.CommandManager,y=void 0;b&&(y=b.command("wysiwyg",{name:"AlignCol",exec:function(e,t){var n=e.getEditor(),r=n.getSelection().cloneRange();if(e.focus(),n.hasFormat("TABLE")){var i=(0,u.default)(r.startContainer),l=i.closest("table"),s=h.default.createTableData(l),c=e.componentManager.getManager("tableSelection").getSelectedCells(),f=g.default.getTableSelectionRange(s,c,i);o(s[0],f.start.colIndex,f.end.colIndex,t);var d=m.default.replaceTable(l,s),p=a(d,i);m.default.focusToCell(n,r,p)}}})),t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r,o=n+1,a=(r=[]).concat.apply(r,e.map(function(e){return e.slice(t,o)})),i=a.filter(function(e){var t=e.content;return t&&t!==k});return i.length?i[0].content:k}function a(e,t,n){var r,o=n+1,a=e.map(function(e){return e.slice(t,o)});(r=[]).concat.apply(r,a).slice(1).forEach(function(e){var t=e.nodeName;h.default.forEach(e,function(t,n){return delete e[n]}),e.nodeName=t})}function i(e,t,n,r){var o=n+1;e.forEach(function(e){e.slice(t,o).forEach(function(e){e.rowMergeWith=r})})}function u(e,t,n,r){var o=n+1;e.forEach(function(e){e.slice(t,o).forEach(function(e){e.colMergeWith=r})})}function l(e,t){var n=t.start,r=t.end,l=n.rowIndex,s=n.colIndex,c=r.rowIndex,f=r.colIndex,d=e[l][s],h=e.slice(l,c+1),p=c-l+1,g=f-s+1;d.rowspan=p,d.colspan=g,d.content=o(h,s,f),a(h,s,f),p>1&&i(h.slice(1),s,f,l),g>1&&u(h,s+1,f,s)}function s(e,t,n){var r=m.default.createTableData(e),o=m.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("td, th")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._mergeCells=l;var c=n(0),f=r(c),d=n(1),h=r(d),p=n(2),g=r(p),v=n(3),m=r(v),b=n(5),y=r(b),w=n(4),_=r(w),E=g.default.CommandManager,k=h.default.browser.msie?"":"<br>",x=void 0;E&&(x=E.command("wysiwyg",{name:"MergeCells",exec:function(e){var t=e.getEditor();if(e.focus(),t.hasFormat("TABLE")){var n=e.componentManager.getManager("tableSelection"),r=n.getSelectedCells();if(!(r.length<2||n.hasSelectedBothThAndTd(r))){var o=t.getSelection().cloneRange(),a=(0,f.default)(o.startContainer),i=a.closest("table"),u=m.default.createTableData(i),c=y.default.getTableSelectionRange(u,r,a);l(u,c);var d=_.default.replaceTable(i,u),h=s(d,c.start.rowIndex,c.start.colIndex);_.default.focusToCell(t,o,h)}}}})),t.default=x},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n,r=t.start,o=t.end,a=r.colIndex,i=o.colIndex+1,u=e.slice(r.rowIndex,o.rowIndex+1),l=u.map(function(e){return e.slice(a,i)});return!!(n=[]).concat.apply(n,l).filter(function(e){return e.colspan>1||e.rowspan>1}).length}function a(e,t,n,r,o){var a=t+r,i=n+o,u=f.default.range(n,i);f.default.range(t,a).forEach(function(n){var r=e[n],o=n===t?1:0;u.slice(o).forEach(function(e){r[e]=g.default.createBasicCell(n,e,r[e].nodeName)})})}function i(e,t){var n=t.start,r=t.end,o=f.default.range(n.colIndex,r.colIndex+1);f.default.range(n.rowIndex,r.rowIndex+1).forEach(function(t){o.forEach(function(n){var r=e[t][n],o=r.colspan,i=r.rowspan;(o>1||i>1)&&(r.colspan=1,r.rowspan=1,a(e,t,n,i,o))})})}function u(e,t,n){var r=g.default.createTableData(e),o=g.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("td, th")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._hasMergedCell=o,t._unmergeCells=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"UnmergeCells",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),a=r.closest("table"),l=g.default.createTableData(a),c=e.componentManager.getManager("tableSelection").getSelectedCells(),f=m.default.getTableSelectionRange(l,c,r);if(o(l,f)){i(l,f);var d=y.default.replaceTable(a,l),h=u(d,f.start.rowIndex,f.start.colIndex);y.default.focusToCell(t,n,h)}}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=['<button type="button" class="te-table-add-row">'+f.get("Add row")+"</button>",'<button type="button" class="te-table-add-col">'+f.get("Add col")+"</button>",'<button type="button" class="te-table-remove-row">'+f.get("Remove row")+"</button>",'<button type="button" class="te-table-remove-col">'+f.get("Remove col")+"</button>","<hr/>",'<button type="button" class="te-table-merge">'+f.get("Merge cells")+"</button>",'<button type="button" class="te-table-unmerge">'+f.get("Unmerge cells")+"</button>","<hr/>",'<button type="button" class="te-table-col-align-left">'+f.get("Align left")+"</button>",'<button type="button" class="te-table-col-align-center">'+f.get("Align center")+"</button>",'<button type="button" class="te-table-col-align-right">'+f.get("Align right")+"</button>","<hr/>",'<button type="button" class="te-table-remove">'+f.get("Remove table")+"</button>"].join(""),n=(0,l.default)(t);e.setContent(n)}function a(e,t,n){var r=e.$content,o=(0,l.default)(r[5]),a=(0,l.default)(r[6]),i=(0,l.default)(r[7]);e.on("click .te-table-merge",function(){t.emit("command","MergeCells")}),e.on("click .te-table-unmerge",function(){t.emit("command","UnmergeCells")}),t.listen("openPopupTableUtils",function(){var e=n.getSelectedCells(),t=e.length;t?(t<2||n.hasSelectedBothThAndTd(e)?o.hide():o.show(),e.is("[rowspan], [colspan]")?a.show():a.hide(),i.show()):(o.hide(),a.hide(),i.hide())})}function i(e,t,n){o(e),a(e,t,n)}Object.defineProperty(t,"__esModule",{value:!0});var u=n(0),l=r(u),s=n(2),c=r(s),f=c.default.i18n;t.default={updateContextMenu:i}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.options.colorSyntax,n=void 0===t?{}:t,r=n.preset,o=n.useCustomSyntax,l=void 0!==o&&o;e.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(e){return l?e.replace(b,function(e,t,n){return u(n,t).result}):e}),e.eventManager.listen("convertorAfterHtmlToMarkdownConverted",function(e){var t=l?w:y;return e.replace(t,function(e,t,n){return t.match(_)&&(t=s(t)),l?i(n,t).result:e.replace(/ ?class="colour" ?/g," ").replace(_,t)})}),e.isViewer()||"default"!==e.getUI().name||(e.addCommand("markdown",{name:"color",exec:function(e,t){var n=e.getEditor(),r=n.getCursor("from"),o=n.getCursor("to"),a=void 0,s=void 0;if(t){if(l){var c=i(n.getSelection(),t);a=c.result,s=c.from,n.replaceSelection(a)}else{var f=u(n.getSelection(),t);a=f.result,s=f.from,n.replaceSelection(a)}n.setSelection({line:r.line,ch:r.ch+s},{line:o.line,ch:r.line===o.line?o.ch+s:o.ch}),e.focus()}}}),e.addCommand("wysiwyg",{name:"color",exec:function(e,t){var n=e.getEditor();t&&(n.hasFormat("PRE")||(t===E?n.changeFormat(null,{class:"colour",tag:"span"}):n.setTextColour(t)),e.focus())}}),a(e,r))}function a(e,t){var n=e.i18n;e.eventManager.addEventType("colorButtonClicked"),e.getUI().toolbar.addButton({className:"tui-color",event:"colorButtonClicked",tooltip:n.get("Text color")},4);var r=e.getUI().toolbar.$el.find("button.tui-color"),o=(0,h.default)("<div />"),a=(0,h.default)('<button type="button" class="te-apply-button">입력</button>'),i={container:o[0]};t&&(i.preset=t);var u=g.default.create(i),l=u.getColor();o.append(a);var s=e.getUI().createPopup({header:!1,title:!1,content:o,className:"tui-popup-color",$target:e.getUI().$el,css:{width:"auto",position:"absolute"}});e.eventManager.listen("focus",function(){s.hide()}),e.eventManager.listen("colorButtonClicked",function(){if(e.eventManager.emit("closeAllPopup"),s.isShow())s.hide();else{var t=r.position();s.$el.css({top:t.top+r.outerHeight(!0),left:t.left}),s.show(),u.slider.toggle(!0)}}),e.eventManager.listen("closeAllPopup",function(){s.hide()}),e.eventManager.listen("removeEditor",function(){u.off("selectColor")}),u.on("selectColor",function(t){l=t.color,"palette"===t.origin&&(e.exec("color",l),s.hide())}),s.$el.find(".te-apply-button").on("click",function(){e.exec("color",l)})}function i(e,t){return l("{color:"+t+"}",e,"{color}")}function u(e,t){return l('<span style="color:'+t+'">',e,"</span>")}function l(e,t,n){return{result:""+e+t+n,from:e.length,to:e.length+t.length}}function s(e){return e.replace(_,function(e,t,n,r){return"#"+c(t)+c(n)+c(r)})}function c(e){var t=parseInt(e,10);return t=t.toString(16),t=f(t)}function f(e){var t="00"+e;return t.substr(t.length-2)}Object.defineProperty(t,"__esModule",{value:!0});var d=n(0),h=r(d),p=n(79),g=r(p),v=n(2),m=r(v),b=/\{color:(.+?)}(.*?)\{color}/g,y=/<span (?:class="colour" )?style="color:(.+?)"(?: class="colour")?>(.*?)/g,w=/<span (?:class="colour" )?style="color:(.+?)"(?: class="colour")?>(.*?)<\/span>/g,_=/rgb\((\d+)[, ]+(\d+)[, ]+(\d+)\)/g,E="#181818";m.default.defineExtension("colorSyntax",o),t.default=o},function(e,t){e.exports=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){function t(e){var t=void 0;try{if(!i.default)throw new Error("plantuml-encoder dependency required");t='<img src="'+o+i.default.encode(e)+'" />'}catch(e){t="Error occurred on encoding uml: "+e.message}return t}var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.rendererURL,o=void 0===r?c:r,a=e.options.codeBlockLanguages;a&&a.indexOf(f)<0&&a.push(f),s.setReplacer(f,t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(81),i=r(a),u=n(2),l=r(u),s=l.default.codeBlockManager,c="http://www.plantuml.com/plantuml/png/",f="uml";l.default.defineExtension("uml",o),t.default=o},function(e,t){e.exports=u},function(e,t,n){"use strict";var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r),a=n(16);o.default.fn.tuiEditor=function(){var e=void 0,t=void 0,n=this.get(0);if(n){for(var r=arguments.length,i=Array(r),u=0;u<r;u++)i[u]=arguments[u];if(e=i[0]||{},t=o.default.data(n,"tuiEditor")){if("string"==typeof e){var l;return(l=t)[e].apply(l,i.slice(1))}}else e.el=n,t=new a(e),o.default.data(n,"tuiEditor",t)}return this},e.exports=a}])});
@@ -0,0 +1,3686 @@
1
+ /*!
2
+ * tui-editor
3
+ * @version 1.0.2
4
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com> (https://nhnent.github.io/tui.editor/)
5
+ * @license MIT
6
+ */
7
+ (function webpackUniversalModuleDefinition(root, factory) {
8
+ if(typeof exports === 'object' && typeof module === 'object')
9
+ module.exports = factory(require("jquery"), require("tui-code-snippet"), require("markdown-it"), require("to-mark"), require("highlight.js"));
10
+ else if(typeof define === 'function' && define.amd)
11
+ define(["jquery", "tui-code-snippet", "markdown-it", "to-mark", "highlight.js"], factory);
12
+ else if(typeof exports === 'object')
13
+ exports["Editor"] = factory(require("jquery"), require("tui-code-snippet"), require("markdown-it"), require("to-mark"), require("highlight.js"));
14
+ else
15
+ root["tui"] = root["tui"] || {}, root["tui"]["Editor"] = factory(root["$"], (root["tui"] && root["tui"]["util"]), root["markdownit"], root["toMark"], root["hljs"]);
16
+ })(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_19__, __WEBPACK_EXTERNAL_MODULE_20__, __WEBPACK_EXTERNAL_MODULE_28__) {
17
+ return /******/ (function(modules) { // webpackBootstrap
18
+ /******/ // The module cache
19
+ /******/ var installedModules = {};
20
+ /******/
21
+ /******/ // The require function
22
+ /******/ function __webpack_require__(moduleId) {
23
+ /******/
24
+ /******/ // Check if module is in cache
25
+ /******/ if(installedModules[moduleId]) {
26
+ /******/ return installedModules[moduleId].exports;
27
+ /******/ }
28
+ /******/ // Create a new module (and put it into the cache)
29
+ /******/ var module = installedModules[moduleId] = {
30
+ /******/ i: moduleId,
31
+ /******/ l: false,
32
+ /******/ exports: {}
33
+ /******/ };
34
+ /******/
35
+ /******/ // Execute the module function
36
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
37
+ /******/
38
+ /******/ // Flag the module as loaded
39
+ /******/ module.l = true;
40
+ /******/
41
+ /******/ // Return the exports of the module
42
+ /******/ return module.exports;
43
+ /******/ }
44
+ /******/
45
+ /******/
46
+ /******/ // expose the modules object (__webpack_modules__)
47
+ /******/ __webpack_require__.m = modules;
48
+ /******/
49
+ /******/ // expose the module cache
50
+ /******/ __webpack_require__.c = installedModules;
51
+ /******/
52
+ /******/ // define getter function for harmony exports
53
+ /******/ __webpack_require__.d = function(exports, name, getter) {
54
+ /******/ if(!__webpack_require__.o(exports, name)) {
55
+ /******/ Object.defineProperty(exports, name, {
56
+ /******/ configurable: false,
57
+ /******/ enumerable: true,
58
+ /******/ get: getter
59
+ /******/ });
60
+ /******/ }
61
+ /******/ };
62
+ /******/
63
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
64
+ /******/ __webpack_require__.n = function(module) {
65
+ /******/ var getter = module && module.__esModule ?
66
+ /******/ function getDefault() { return module['default']; } :
67
+ /******/ function getModuleExports() { return module; };
68
+ /******/ __webpack_require__.d(getter, 'a', getter);
69
+ /******/ return getter;
70
+ /******/ };
71
+ /******/
72
+ /******/ // Object.prototype.hasOwnProperty.call
73
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
74
+ /******/
75
+ /******/ // __webpack_public_path__
76
+ /******/ __webpack_require__.p = "dist/";
77
+ /******/
78
+ /******/ // Load entry module and return exports
79
+ /******/ return __webpack_require__(__webpack_require__.s = 124);
80
+ /******/ })
81
+ /************************************************************************/
82
+ /******/ ({
83
+
84
+ /***/ 0:
85
+ /***/ (function(module, exports) {
86
+
87
+ module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
88
+
89
+ /***/ }),
90
+
91
+ /***/ 1:
92
+ /***/ (function(module, exports) {
93
+
94
+ module.exports = __WEBPACK_EXTERNAL_MODULE_1__;
95
+
96
+ /***/ }),
97
+
98
+ /***/ 10:
99
+ /***/ (function(module, exports, __webpack_require__) {
100
+
101
+ "use strict";
102
+
103
+
104
+ Object.defineProperty(exports, "__esModule", {
105
+ value: true
106
+ });
107
+
108
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
109
+ * @fileoverview Implements preview
110
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
111
+ */
112
+
113
+
114
+ var _jquery = __webpack_require__(0);
115
+
116
+ var _jquery2 = _interopRequireDefault(_jquery);
117
+
118
+ var _lazyRunner = __webpack_require__(16);
119
+
120
+ var _lazyRunner2 = _interopRequireDefault(_lazyRunner);
121
+
122
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
123
+
124
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
125
+
126
+ /**
127
+ * Class Preview
128
+ **/
129
+ var Preview = function () {
130
+ /**
131
+ * Creates an instance of Preview.
132
+ * @param {jQuery} $el Container element for preview
133
+ * @param {EventManager} eventManager Event manager instance
134
+ * @param {Convertor} convertor Convertor instance
135
+ * @param {boolean} isViewer - whether viewer mode or not
136
+ * @memberof Preview
137
+ */
138
+ function Preview($el, eventManager, convertor, isViewer) {
139
+ _classCallCheck(this, Preview);
140
+
141
+ this.eventManager = eventManager;
142
+ this.convertor = convertor;
143
+ this.$el = $el;
144
+ this.isViewer = !!isViewer;
145
+
146
+ this._initContentSection();
147
+
148
+ this.lazyRunner = new _lazyRunner2.default();
149
+
150
+ this.lazyRunner.registerLazyRunFunction('refresh', this.refresh, 800, this);
151
+ }
152
+
153
+ /**
154
+ * Initialize content selection
155
+ * @private
156
+ */
157
+
158
+
159
+ _createClass(Preview, [{
160
+ key: '_initContentSection',
161
+ value: function _initContentSection() {
162
+ this._$previewContent = (0, _jquery2.default)('<div class="tui-editor-contents" />');
163
+ this.$el.append(this._$previewContent);
164
+ }
165
+
166
+ /**
167
+ * Refresh rendering
168
+ * @memberof Preview
169
+ * @param {string} markdown Markdown text
170
+ */
171
+
172
+ }, {
173
+ key: 'refresh',
174
+ value: function refresh(markdown) {
175
+ this.render(this.convertor.toHTMLWithCodeHightlight(markdown));
176
+ }
177
+
178
+ /**
179
+ * get html string
180
+ * @returns {string} - html preview string
181
+ * @memberof Preview
182
+ */
183
+
184
+ }, {
185
+ key: 'getHTML',
186
+ value: function getHTML() {
187
+ return this._$previewContent.html();
188
+ }
189
+
190
+ /**
191
+ * set html string
192
+ * @param {string} html - html preview string
193
+ * @memberof Preview
194
+ */
195
+
196
+ }, {
197
+ key: 'setHTML',
198
+ value: function setHTML(html) {
199
+ this._$previewContent.html(html);
200
+ }
201
+
202
+ /**
203
+ * Render HTML on preview
204
+ * @memberof Preview
205
+ * @param {string} html HTML string
206
+ * @protected
207
+ */
208
+
209
+ }, {
210
+ key: 'render',
211
+ value: function render(html) {
212
+ var _$previewContent = this._$previewContent;
213
+
214
+ html = this.eventManager.emit('previewBeforeHook', html) || html;
215
+
216
+ _$previewContent.empty();
217
+ _$previewContent.html(html);
218
+ }
219
+
220
+ /**
221
+ * Set preview height
222
+ * @memberof Preview
223
+ * @param {number} height - Height for preview container
224
+ */
225
+
226
+ }, {
227
+ key: 'setHeight',
228
+ value: function setHeight(height) {
229
+ this.$el.get(0).style.height = height + 'px';
230
+ }
231
+
232
+ /**
233
+ * set min height
234
+ * @param {number} minHeight - min height
235
+ * @memberof Preview
236
+ */
237
+
238
+ }, {
239
+ key: 'setMinHeight',
240
+ value: function setMinHeight(minHeight) {
241
+ this.$el.get(0).style.minHeight = minHeight + 'px';
242
+ }
243
+
244
+ /**
245
+ * Is Preview visible
246
+ * @returns {boolean} result
247
+ */
248
+
249
+ }, {
250
+ key: 'isVisible',
251
+ value: function isVisible() {
252
+ return this.$el.css('display') !== 'none';
253
+ }
254
+ }]);
255
+
256
+ return Preview;
257
+ }();
258
+
259
+ exports.default = Preview;
260
+
261
+ /***/ }),
262
+
263
+ /***/ 11:
264
+ /***/ (function(module, exports, __webpack_require__) {
265
+
266
+ "use strict";
267
+
268
+
269
+ Object.defineProperty(exports, "__esModule", {
270
+ value: true
271
+ });
272
+
273
+ var _jquery = __webpack_require__(0);
274
+
275
+ var _jquery2 = _interopRequireDefault(_jquery);
276
+
277
+ var _tuiCodeSnippet = __webpack_require__(1);
278
+
279
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
280
+
281
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
282
+
283
+ /**
284
+ * @fileoverview Implements htmlSanitizer
285
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
286
+ */
287
+ var HTML_ATTR_LIST_RX = new RegExp('^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|' + 'color|cols|compact|coords|dir|face|headers|height|hreflang|hspace|' + 'ismap|lang|language|nohref|nowrap|rel|rev|rows|rules|' + 'scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|' + 'valign|value|vspace|width|checked|mathvariant|encoding|id|name|' + 'background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)', 'g');
288
+
289
+ var SVG_ATTR_LIST_RX = new RegExp('^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|' + 'baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|' + 'cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|' + 'font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|' + 'height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|' + 'marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|' + 'max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|' + 'path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|' + 'requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|' + 'stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|' + 'stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|' + 'stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|' + 'underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|' + 'width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|' + 'xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)', 'g');
290
+
291
+ /**
292
+ * htmlSanitizer
293
+ * @param {string|Node} html html or Node
294
+ * @param {boolean} [needHtmlText] pass true if need html text
295
+ * @returns {string|DocumentFragment} result
296
+ * @ignore
297
+ */
298
+ function htmlSanitizer(html, needHtmlText) {
299
+ var $html = (0, _jquery2.default)('<div />');
300
+
301
+ html = html.replace(/<!--[\s\S]*?-->/g, '');
302
+
303
+ $html.append(html);
304
+
305
+ removeUnnecessaryTags($html);
306
+ leaveOnlyWhitelistAttribute($html);
307
+
308
+ return finalizeHtml($html, needHtmlText);
309
+ }
310
+
311
+ /**
312
+ * Remove unnecessary tags
313
+ * @private
314
+ * @param {jQuery} $html jQuery instance
315
+ */
316
+ function removeUnnecessaryTags($html) {
317
+ $html.find('script, iframe, textarea, form, button, select, meta, style, link, title').remove();
318
+ }
319
+
320
+ /**
321
+ * Leave only white list attributes
322
+ * @private
323
+ * @param {jQuery} $html jQuery instance
324
+ */
325
+ function leaveOnlyWhitelistAttribute($html) {
326
+ $html.find('*').each(function (index, node) {
327
+ var attrs = node.attributes;
328
+ var blacklist = _tuiCodeSnippet2.default.toArray(attrs).filter(function (attr) {
329
+ var isHTMLAttr = attr.name.match(HTML_ATTR_LIST_RX);
330
+ var isSVGAttr = attr.name.match(SVG_ATTR_LIST_RX);
331
+
332
+ return !isHTMLAttr && !isSVGAttr;
333
+ });
334
+
335
+ _tuiCodeSnippet2.default.forEachArray(blacklist, function (attr) {
336
+ // Edge svg attribute name returns uppercase bug. error guard.
337
+ // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/5579311/
338
+ if (attrs.getNamedItem(attr.name)) {
339
+ attrs.removeNamedItem(attr.name);
340
+ }
341
+ });
342
+ });
343
+ }
344
+
345
+ /**
346
+ * Finalize html result
347
+ * @private
348
+ * @param {jQuery} $html jQuery instance
349
+ * @param {boolean} needHtmlText pass true if need html text
350
+ * @returns {string|DocumentFragment} result
351
+ */
352
+ function finalizeHtml($html, needHtmlText) {
353
+ var returnValue = void 0;
354
+
355
+ if (needHtmlText) {
356
+ returnValue = $html[0].innerHTML;
357
+ } else {
358
+ var frag = document.createDocumentFragment();
359
+ var childNodes = _tuiCodeSnippet2.default.toArray($html[0].childNodes);
360
+ var length = childNodes.length;
361
+
362
+
363
+ for (var i = 0; i < length; i += 1) {
364
+ frag.appendChild(childNodes[i]);
365
+ }
366
+ returnValue = frag;
367
+ }
368
+
369
+ return returnValue;
370
+ }
371
+
372
+ exports.default = htmlSanitizer;
373
+
374
+ /***/ }),
375
+
376
+ /***/ 12:
377
+ /***/ (function(module, exports, __webpack_require__) {
378
+
379
+ "use strict";
380
+
381
+
382
+ Object.defineProperty(exports, "__esModule", {
383
+ value: true
384
+ });
385
+
386
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
387
+ * @fileoverview Implements EventManager
388
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
389
+ */
390
+
391
+
392
+ var _tuiCodeSnippet = __webpack_require__(1);
393
+
394
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
395
+
396
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
397
+
398
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
399
+
400
+ var eventList = ['previewBeforeHook', 'previewRenderAfter', 'previewNeedsRefresh', 'addImageBlobHook', 'setMarkdownAfter', 'contentChangedFromWysiwyg', 'changeFromWysiwyg', 'contentChangedFromMarkdown', 'changeFromMarkdown', 'change', 'changeModeToWysiwyg', 'changeModeToMarkdown', 'changeModeBefore', 'changeMode', 'changePreviewStyle', 'openPopupAddLink', 'openPopupAddImage', 'openPopupAddTable', 'openPopupTableUtils', 'openHeadingSelect', 'openPopupCodeBlockLanguages', 'openPopupCodeBlockEditor', 'closePopupCodeBlockLanguages', 'closePopupCodeBlockEditor', 'closeAllPopup', 'command', 'addCommandBefore', 'htmlUpdate', 'markdownUpdate', 'renderedHtmlUpdated', 'removeEditor', 'convertorAfterMarkdownToHtmlConverted', 'convertorBeforeHtmlToMarkdownConverted', 'convertorAfterHtmlToMarkdownConverted', 'stateChange', 'wysiwygSetValueAfter', 'wysiwygSetValueBefore', 'wysiwygGetValueBefore', 'wysiwygProcessHTMLText', 'wysiwygRangeChangeAfter', 'wysiwygKeyEvent', 'scroll', 'click', 'mousedown', 'mouseover', 'mouseout', 'mouseup', 'contextmenu', 'keydown', 'keyup', 'keyMap', 'load', 'focus', 'blur', 'paste', 'pasteBefore', 'willPaste', 'copy', 'copyBefore', 'copyAfter', 'cut', 'cutAfter', 'drop', 'show', 'hide'];
401
+
402
+ /**
403
+ * Class EventManager
404
+ */
405
+
406
+ var EventManager = function () {
407
+ /**
408
+ * Creates an instance of EventManager.
409
+ * @memberof EventManager
410
+ */
411
+ function EventManager() {
412
+ _classCallCheck(this, EventManager);
413
+
414
+ this.events = new _tuiCodeSnippet2.default.Map();
415
+ this.TYPE = new _tuiCodeSnippet2.default.Enum(eventList);
416
+ }
417
+
418
+ /**
419
+ * Listen event and bind event handler
420
+ * @memberof EventManager
421
+ * @param {string} typeStr Event type string
422
+ * @param {function} handler Event handler
423
+ */
424
+
425
+
426
+ _createClass(EventManager, [{
427
+ key: 'listen',
428
+ value: function listen(typeStr, handler) {
429
+ var typeInfo = this._getTypeInfo(typeStr);
430
+ var eventHandlers = this.events.get(typeInfo.type) || [];
431
+
432
+ if (!this._hasEventType(typeInfo.type)) {
433
+ throw new Error('There is no event type ' + typeInfo.type);
434
+ }
435
+
436
+ if (typeInfo.namespace) {
437
+ handler.namespace = typeInfo.namespace;
438
+ }
439
+
440
+ eventHandlers.push(handler);
441
+
442
+ this.events.set(typeInfo.type, eventHandlers);
443
+ }
444
+
445
+ /**
446
+ * Emit event
447
+ * @memberof EventManager
448
+ * @param {string} eventName Event name to emit
449
+ * @returns {Array}
450
+ */
451
+
452
+ }, {
453
+ key: 'emit',
454
+ value: function emit() {
455
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
456
+ args[_key] = arguments[_key];
457
+ }
458
+
459
+ var typeStr = args.shift();
460
+ var typeInfo = this._getTypeInfo(typeStr);
461
+ var eventHandlers = this.events.get(typeInfo.type);
462
+ var results = void 0;
463
+
464
+ if (eventHandlers) {
465
+ _tuiCodeSnippet2.default.forEach(eventHandlers, function (handler) {
466
+ var result = handler.apply(undefined, args);
467
+
468
+ if (!_tuiCodeSnippet2.default.isUndefined(result)) {
469
+ results = results || [];
470
+ results.push(result);
471
+ }
472
+ });
473
+ }
474
+
475
+ return results;
476
+ }
477
+
478
+ /**
479
+ * Emit given event and return result
480
+ * @memberof EventManager
481
+ * @param {string} eventName Event name to emit
482
+ * @param {string} sourceText Source text to change
483
+ * @returns {string}
484
+ */
485
+
486
+ }, {
487
+ key: 'emitReduce',
488
+ value: function emitReduce() {
489
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
490
+ args[_key2] = arguments[_key2];
491
+ }
492
+
493
+ var type = args.shift();
494
+ var eventHandlers = this.events.get(type);
495
+
496
+ if (eventHandlers) {
497
+ _tuiCodeSnippet2.default.forEach(eventHandlers, function (handler) {
498
+ var result = handler.apply(undefined, args);
499
+
500
+ if (!_tuiCodeSnippet2.default.isFalsy(result)) {
501
+ args[0] = result;
502
+ }
503
+ });
504
+ }
505
+
506
+ return args[0];
507
+ }
508
+
509
+ /**
510
+ * Get event type and namespace
511
+ * @memberof EventManager
512
+ * @param {string} typeStr Event type name
513
+ * @returns {{type: string, namespace: string}}
514
+ * @private
515
+ */
516
+
517
+ }, {
518
+ key: '_getTypeInfo',
519
+ value: function _getTypeInfo(typeStr) {
520
+ var splited = typeStr.split('.');
521
+
522
+ return {
523
+ type: splited[0],
524
+ namespace: splited[1]
525
+ };
526
+ }
527
+
528
+ /**
529
+ * Check whether event type exists or not
530
+ * @param {string} type Event type name
531
+ * @returns {boolean}
532
+ * @private
533
+ */
534
+
535
+ }, {
536
+ key: '_hasEventType',
537
+ value: function _hasEventType(type) {
538
+ return !_tuiCodeSnippet2.default.isUndefined(this.TYPE[this._getTypeInfo(type).type]);
539
+ }
540
+
541
+ /**
542
+ * Add event type when given event not exists
543
+ * @memberof EventManager
544
+ * @param {string} type Event type name
545
+ */
546
+
547
+ }, {
548
+ key: 'addEventType',
549
+ value: function addEventType(type) {
550
+ if (this._hasEventType(type)) {
551
+ throw new Error('There is already have event type ' + type);
552
+ }
553
+
554
+ this.TYPE.set(type);
555
+ }
556
+
557
+ /**
558
+ * Remove event handler from given event type
559
+ * @memberof EventManager
560
+ * @param {string} typeStr Event type name
561
+ * @param {function} [handler] - registered event handler
562
+ */
563
+
564
+ }, {
565
+ key: 'removeEventHandler',
566
+ value: function removeEventHandler(typeStr, handler) {
567
+ var _this = this;
568
+
569
+ var _getTypeInfo2 = this._getTypeInfo(typeStr),
570
+ type = _getTypeInfo2.type,
571
+ namespace = _getTypeInfo2.namespace;
572
+
573
+ if (type && handler) {
574
+ this._removeEventHandlerWithHandler(type, handler);
575
+ } else if (type && !namespace) {
576
+ // dont use dot notation cuz eslint
577
+ this.events['delete'](type);
578
+ } else if (!type && namespace) {
579
+ this.events.forEach(function (eventHandlers, eventType) {
580
+ _this._removeEventHandlerWithTypeInfo(eventType, namespace);
581
+ });
582
+ } else if (type && namespace) {
583
+ this._removeEventHandlerWithTypeInfo(type, namespace);
584
+ }
585
+ }
586
+
587
+ /**
588
+ * Remove event handler with event handler
589
+ * @param {string} type - event type name
590
+ * @param {function} handler - event handler
591
+ * @memberof EventManager
592
+ * @private
593
+ */
594
+
595
+ }, {
596
+ key: '_removeEventHandlerWithHandler',
597
+ value: function _removeEventHandlerWithHandler(type, handler) {
598
+ var eventHandlers = this.events.get(type) || [];
599
+ var handlerIndex = eventHandlers.indexOf(handler);
600
+ if (handlerIndex >= 0) {
601
+ eventHandlers.splice(handlerIndex, 1);
602
+ }
603
+ }
604
+
605
+ /**
606
+ * Remove event handler with event type information
607
+ * @memberof EventManager
608
+ * @param {string} type Event type name
609
+ * @param {string} namespace Event namespace
610
+ * @private
611
+ */
612
+
613
+ }, {
614
+ key: '_removeEventHandlerWithTypeInfo',
615
+ value: function _removeEventHandlerWithTypeInfo(type, namespace) {
616
+ var handlersToSurvive = [];
617
+ var eventHandlers = this.events.get(type);
618
+
619
+ if (!eventHandlers) {
620
+ return;
621
+ }
622
+
623
+ eventHandlers.map(function (handler) {
624
+ if (handler.namespace !== namespace) {
625
+ handlersToSurvive.push(handler);
626
+ }
627
+ });
628
+
629
+ this.events.set(type, handlersToSurvive);
630
+ }
631
+ }]);
632
+
633
+ return EventManager;
634
+ }();
635
+
636
+ exports.default = EventManager;
637
+
638
+ /***/ }),
639
+
640
+ /***/ 124:
641
+ /***/ (function(module, exports, __webpack_require__) {
642
+
643
+ "use strict";
644
+
645
+
646
+ var _jquery = __webpack_require__(0);
647
+
648
+ var _jquery2 = _interopRequireDefault(_jquery);
649
+
650
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
651
+
652
+ var Viewer = __webpack_require__(29);
653
+
654
+ // for jquery
655
+ /**
656
+ * @fileoverview entry point for viewer
657
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
658
+ */
659
+ _jquery2.default.fn.tuiEditor = function () {
660
+ var options = void 0,
661
+ instance = void 0;
662
+
663
+ var el = this.get(0);
664
+
665
+ if (el) {
666
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
667
+ args[_key] = arguments[_key];
668
+ }
669
+
670
+ options = args[0] || {};
671
+
672
+ instance = _jquery2.default.data(el, 'tuiEditor');
673
+
674
+ if (instance) {
675
+ if (typeof options === 'string') {
676
+ var _instance;
677
+
678
+ return (_instance = instance)[options].apply(_instance, args.slice(1));
679
+ }
680
+ } else {
681
+ options.el = el;
682
+ instance = new Viewer(options);
683
+ _jquery2.default.data(el, 'tuiEditor', instance);
684
+ }
685
+ }
686
+
687
+ return this;
688
+ };
689
+
690
+ module.exports = Viewer;
691
+
692
+ /***/ }),
693
+
694
+ /***/ 13:
695
+ /***/ (function(module, exports, __webpack_require__) {
696
+
697
+ "use strict";
698
+
699
+
700
+ Object.defineProperty(exports, "__esModule", {
701
+ value: true
702
+ });
703
+
704
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
705
+ * @fileoverview extension manager
706
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
707
+ */
708
+
709
+
710
+ var _tuiCodeSnippet = __webpack_require__(1);
711
+
712
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
713
+
714
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
715
+
716
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
717
+
718
+ /**
719
+ * Class ExtManager
720
+ */
721
+ var ExtManager = function () {
722
+ /**
723
+ * Creates an instance of ExtManager.
724
+ * @memberof ExtManager
725
+ */
726
+ function ExtManager() {
727
+ _classCallCheck(this, ExtManager);
728
+
729
+ this.exts = new _tuiCodeSnippet2.default.Map();
730
+ }
731
+
732
+ /**
733
+ * defineExtension
734
+ * Defined Extension
735
+ * @memberof ExtManager
736
+ * @param {string} name extension name
737
+ * @param {ExtManager~extension} ext extension
738
+ */
739
+
740
+
741
+ _createClass(ExtManager, [{
742
+ key: 'defineExtension',
743
+ value: function defineExtension(name, ext) {
744
+ this.exts.set(name, ext);
745
+ }
746
+
747
+ /**
748
+ * Apply extensions
749
+ * @memberof ExtManager
750
+ * @param {object} context Context
751
+ * @param {Array.<string|object>} options - options or names array
752
+ */
753
+
754
+ }, {
755
+ key: 'applyExtension',
756
+ value: function applyExtension(context, options) {
757
+ var _this = this;
758
+
759
+ if (options) {
760
+ options.forEach(function (option) {
761
+ var hasOption = _tuiCodeSnippet2.default.isObject(option);
762
+ var name = hasOption ? option.name : option;
763
+
764
+ if (_this.exts.has(name)) {
765
+ var ext = _this.exts.get(name);
766
+ if (hasOption) {
767
+ ext(context, option);
768
+ } else {
769
+ ext(context);
770
+ }
771
+ }
772
+ });
773
+ }
774
+ }
775
+ }]);
776
+
777
+ return ExtManager;
778
+ }();
779
+
780
+ exports.default = new ExtManager();
781
+
782
+ /***/ }),
783
+
784
+ /***/ 14:
785
+ /***/ (function(module, exports, __webpack_require__) {
786
+
787
+ "use strict";
788
+
789
+
790
+ Object.defineProperty(exports, "__esModule", {
791
+ value: true
792
+ });
793
+
794
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
795
+ * @fileoverview Convertor have responsible to convert markdown and html
796
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
797
+ */
798
+
799
+
800
+ var _jquery = __webpack_require__(0);
801
+
802
+ var _jquery2 = _interopRequireDefault(_jquery);
803
+
804
+ var _tuiCodeSnippet = __webpack_require__(1);
805
+
806
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
807
+
808
+ var _markdownIt = __webpack_require__(19);
809
+
810
+ var _markdownIt2 = _interopRequireDefault(_markdownIt);
811
+
812
+ var _toMark = __webpack_require__(20);
813
+
814
+ var _toMark2 = _interopRequireDefault(_toMark);
815
+
816
+ var _htmlSanitizer = __webpack_require__(11);
817
+
818
+ var _htmlSanitizer2 = _interopRequireDefault(_htmlSanitizer);
819
+
820
+ var _markdownitTaskPlugin = __webpack_require__(21);
821
+
822
+ var _markdownitTaskPlugin2 = _interopRequireDefault(_markdownitTaskPlugin);
823
+
824
+ var _markdownitCodeBlockPlugin = __webpack_require__(22);
825
+
826
+ var _markdownitCodeBlockPlugin2 = _interopRequireDefault(_markdownitCodeBlockPlugin);
827
+
828
+ var _markdownitCodeRenderer = __webpack_require__(23);
829
+
830
+ var _markdownitCodeRenderer2 = _interopRequireDefault(_markdownitCodeRenderer);
831
+
832
+ var _markdownitBlockQuoteRenderer = __webpack_require__(24);
833
+
834
+ var _markdownitBlockQuoteRenderer2 = _interopRequireDefault(_markdownitBlockQuoteRenderer);
835
+
836
+ var _markdownitTableRenderer = __webpack_require__(25);
837
+
838
+ var _markdownitTableRenderer2 = _interopRequireDefault(_markdownitTableRenderer);
839
+
840
+ var _markdownitHtmlBlockRenderer = __webpack_require__(26);
841
+
842
+ var _markdownitHtmlBlockRenderer2 = _interopRequireDefault(_markdownitHtmlBlockRenderer);
843
+
844
+ var _markdownitBackticksRenderer = __webpack_require__(27);
845
+
846
+ var _markdownitBackticksRenderer2 = _interopRequireDefault(_markdownitBackticksRenderer);
847
+
848
+ var _codeBlockManager = __webpack_require__(7);
849
+
850
+ var _codeBlockManager2 = _interopRequireDefault(_codeBlockManager);
851
+
852
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
853
+
854
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
855
+
856
+ var markdownitHighlight = new _markdownIt2.default({
857
+ html: true,
858
+ breaks: true,
859
+ quotes: '“”‘’',
860
+ langPrefix: 'lang-',
861
+ highlight: function highlight(codeText, type) {
862
+ return _codeBlockManager2.default.createCodeBlockHtml(type, codeText);
863
+ }
864
+ });
865
+ var markdownit = new _markdownIt2.default({
866
+ html: true,
867
+ breaks: true,
868
+ quotes: '“”‘’',
869
+ langPrefix: 'lang-'
870
+ });
871
+
872
+ // markdownitHighlight
873
+ markdownitHighlight.block.ruler.at('code', _markdownitCodeRenderer2.default);
874
+ markdownitHighlight.block.ruler.at('table', _markdownitTableRenderer2.default, {
875
+ alt: ['paragraph', 'reference']
876
+ });
877
+ markdownitHighlight.block.ruler.at('blockquote', _markdownitBlockQuoteRenderer2.default, {
878
+ alt: ['paragraph', 'reference', 'blockquote', 'list']
879
+ });
880
+ markdownitHighlight.block.ruler.at('html_block', _markdownitHtmlBlockRenderer2.default, {
881
+ alt: ['paragraph', 'reference', 'blockquote']
882
+ });
883
+ markdownitHighlight.inline.ruler.at('backticks', _markdownitBackticksRenderer2.default);
884
+ markdownitHighlight.use(_markdownitTaskPlugin2.default);
885
+ markdownitHighlight.use(_markdownitCodeBlockPlugin2.default);
886
+
887
+ // markdownit
888
+ markdownit.block.ruler.at('code', _markdownitCodeRenderer2.default);
889
+ markdownit.block.ruler.at('table', _markdownitTableRenderer2.default, {
890
+ alt: ['paragraph', 'reference']
891
+ });
892
+ markdownit.block.ruler.at('blockquote', _markdownitBlockQuoteRenderer2.default, {
893
+ alt: ['paragraph', 'reference', 'blockquote', 'list']
894
+ });
895
+ markdownit.block.ruler.at('html_block', _markdownitHtmlBlockRenderer2.default, {
896
+ alt: ['paragraph', 'reference', 'blockquote']
897
+ });
898
+ markdownit.inline.ruler.at('backticks', _markdownitBackticksRenderer2.default);
899
+ markdownit.use(_markdownitTaskPlugin2.default);
900
+ markdownit.use(_markdownitCodeBlockPlugin2.default);
901
+
902
+ /**
903
+ * Class Convertor
904
+ */
905
+
906
+ var Convertor = function () {
907
+ /**
908
+ * Convertor constructor
909
+ * @param {EventManager} em - EventManager instance
910
+ */
911
+ function Convertor(em) {
912
+ _classCallCheck(this, Convertor);
913
+
914
+ this.eventManager = em;
915
+ }
916
+
917
+ /**
918
+ * _markdownToHtmlWithCodeHighlight
919
+ * Convert markdown to html with Codehighlight
920
+ * @private
921
+ * @memberof Convertor
922
+ * @param {string} markdown markdown text
923
+ * @returns {string} html text
924
+ */
925
+
926
+
927
+ _createClass(Convertor, [{
928
+ key: '_markdownToHtmlWithCodeHighlight',
929
+ value: function _markdownToHtmlWithCodeHighlight(markdown) {
930
+ markdown = markdown.replace(/<br>/ig, '<br data-tomark-pass>');
931
+ // eslint-disable-next-line
932
+ var onerrorStripeRegex = /(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;
933
+ while (onerrorStripeRegex.exec(markdown)) {
934
+ markdown = markdown.replace(onerrorStripeRegex, '$1$3');
935
+ }
936
+
937
+ var renderedHTML = markdownitHighlight.render(markdown);
938
+ renderedHTML = this._removeBrToMarkPassAttributeInCode(renderedHTML);
939
+
940
+ return renderedHTML;
941
+ }
942
+
943
+ /**
944
+ * _markdownToHtml
945
+ * Convert markdown to html
946
+ * @private
947
+ * @memberof Convertor
948
+ * @param {string} markdown markdown text
949
+ * @returns {string} html text
950
+ */
951
+
952
+ }, {
953
+ key: '_markdownToHtml',
954
+ value: function _markdownToHtml(markdown) {
955
+ markdown = markdown.replace(/<br>/ig, '<br data-tomark-pass>');
956
+ // eslint-disable-next-line
957
+ var onerrorStripeRegex = /(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;
958
+ while (onerrorStripeRegex.exec(markdown)) {
959
+ markdown = markdown.replace(onerrorStripeRegex, '$1$3');
960
+ }
961
+
962
+ var renderedHTML = markdownit.render(markdown);
963
+ renderedHTML = this._removeBrToMarkPassAttributeInCode(renderedHTML);
964
+
965
+ return renderedHTML;
966
+ }
967
+
968
+ /**
969
+ * Remove BR's data-tomark-pass attribute text when br in code element
970
+ * @param {string} renderedHTML Rendered HTML string from markdown editor
971
+ * @returns {string}
972
+ * @private
973
+ */
974
+
975
+ }, {
976
+ key: '_removeBrToMarkPassAttributeInCode',
977
+ value: function _removeBrToMarkPassAttributeInCode(renderedHTML) {
978
+ var $wrapperDiv = (0, _jquery2.default)('<div />');
979
+
980
+ $wrapperDiv.html(renderedHTML);
981
+
982
+ $wrapperDiv.find('code, pre').each(function (i, codeOrPre) {
983
+ var $code = (0, _jquery2.default)(codeOrPre);
984
+ $code.html($code.html().replace(/&lt;br data-tomark-pass&gt;/, '&lt;br&gt;'));
985
+ });
986
+
987
+ renderedHTML = $wrapperDiv.html();
988
+
989
+ return renderedHTML;
990
+ }
991
+
992
+ /**
993
+ * toHTMLWithCodeHightlight
994
+ * Convert markdown to html with Codehighlight
995
+ * emit convertorAfterMarkdownToHtmlConverted
996
+ * @memberof Convertor
997
+ * @param {string} markdown markdown text
998
+ * @returns {string} html text
999
+ */
1000
+
1001
+ }, {
1002
+ key: 'toHTMLWithCodeHightlight',
1003
+ value: function toHTMLWithCodeHightlight(markdown) {
1004
+ var html = this._markdownToHtmlWithCodeHighlight(markdown);
1005
+ html = this.eventManager.emitReduce('convertorAfterMarkdownToHtmlConverted', html);
1006
+
1007
+ return html;
1008
+ }
1009
+
1010
+ /**
1011
+ * toHTML
1012
+ * Convert markdown to html
1013
+ * emit convertorAfterMarkdownToHtmlConverted
1014
+ * @memberof Convertor
1015
+ * @param {string} markdown markdown text
1016
+ * @returns {string} html text
1017
+ */
1018
+
1019
+ }, {
1020
+ key: 'toHTML',
1021
+ value: function toHTML(markdown) {
1022
+ var html = this._markdownToHtml(markdown);
1023
+
1024
+ html = this.eventManager.emitReduce('convertorAfterMarkdownToHtmlConverted', html);
1025
+
1026
+ return html;
1027
+ }
1028
+ }, {
1029
+ key: 'initHtmlSanitizer',
1030
+ value: function initHtmlSanitizer() {
1031
+ this.eventManager.listen('convertorAfterMarkdownToHtmlConverted', function (html) {
1032
+ return (0, _htmlSanitizer2.default)(html, true);
1033
+ });
1034
+ }
1035
+
1036
+ /**
1037
+ * toMarkdown
1038
+ * Convert html to markdown
1039
+ * emit convertorAfterHtmlToMarkdownConverted
1040
+ * @memberof Convertor
1041
+ * @param {string} html html text
1042
+ * @param {object | null} toMarkOptions - toMark library options
1043
+ * @returns {string} markdown text
1044
+ */
1045
+
1046
+ }, {
1047
+ key: 'toMarkdown',
1048
+ value: function toMarkdown(html, toMarkOptions) {
1049
+ var resultArray = [];
1050
+
1051
+ html = this.eventManager.emitReduce('convertorBeforeHtmlToMarkdownConverted', html);
1052
+
1053
+ var markdown = (0, _toMark2.default)(this._appendAttributeForBrIfNeed(html), toMarkOptions);
1054
+
1055
+ markdown = this.eventManager.emitReduce('convertorAfterHtmlToMarkdownConverted', markdown);
1056
+
1057
+ _tuiCodeSnippet2.default.forEach(markdown.split('\n'), function (line, index) {
1058
+ var FIND_TABLE_RX = /^\|[^|]*\|/ig;
1059
+ var FIND_CODE_RX = /`[^`]*<br>[^`]*`/ig;
1060
+
1061
+ if (!FIND_CODE_RX.test(line) && !FIND_TABLE_RX.test(line)) {
1062
+ line = line.replace(/<br>/ig, '<br>\n');
1063
+ }
1064
+ resultArray[index] = line;
1065
+ });
1066
+
1067
+ return resultArray.join('\n');
1068
+ }
1069
+ }, {
1070
+ key: '_appendAttributeForBrIfNeed',
1071
+ value: function _appendAttributeForBrIfNeed(html) {
1072
+ var FIND_BR_RX = /<br>/ig;
1073
+ var FIND_DOUBLE_BR_RX = /<br \/><br \/>/ig;
1074
+ var FIND_PASSING_AND_NORMAL_BR_RX = /<br data-tomark-pass \/><br \/>(.)/ig;
1075
+ var FIRST_TWO_BRS_BEFORE_RX = /([^>]|<\/b>|<\/i>|<\/s>|<img [^>]*>)/;
1076
+ var TWO_BRS_RX = /<br data-tomark-pass \/><br data-tomark-pass \/>/;
1077
+ var FIND_FIRST_TWO_BRS_RX = new RegExp(FIRST_TWO_BRS_BEFORE_RX.source + TWO_BRS_RX.source, 'g');
1078
+
1079
+ html = html.replace(FIND_BR_RX, '<br />');
1080
+
1081
+ html = html.replace(FIND_DOUBLE_BR_RX, '<br data-tomark-pass /><br data-tomark-pass />');
1082
+
1083
+ var div = document.createElement('div');
1084
+ var $div = (0, _jquery2.default)(div);
1085
+ $div.html(html);
1086
+ $div.find('pre br,code br').each(function (index, node) {
1087
+ if (node.hasAttribute('data-tomark-pass')) {
1088
+ node.removeAttribute('data-tomark-pass');
1089
+ }
1090
+ });
1091
+
1092
+ html = $div.html().replace(/<br data-tomark-pass="">/ig, '<br data-tomark-pass />');
1093
+ html = html.replace(FIND_BR_RX, '<br />');
1094
+
1095
+ html = html.replace(FIND_PASSING_AND_NORMAL_BR_RX, '<br data-tomark-pass /><br data-tomark-pass />$1');
1096
+ html = html.replace(FIND_FIRST_TWO_BRS_RX, '$1<br /><br />');
1097
+
1098
+ return html;
1099
+ }
1100
+
1101
+ /**
1102
+ * get markdownit with code highlight
1103
+ * @returns {markdownit} - markdownit instance
1104
+ * @memberof Convertor
1105
+ * @static
1106
+ */
1107
+
1108
+ }], [{
1109
+ key: 'getMarkdownitHighlightRenderer',
1110
+ value: function getMarkdownitHighlightRenderer() {
1111
+ return markdownitHighlight;
1112
+ }
1113
+ }]);
1114
+
1115
+ return Convertor;
1116
+ }();
1117
+
1118
+ exports.default = Convertor;
1119
+
1120
+ /***/ }),
1121
+
1122
+ /***/ 16:
1123
+ /***/ (function(module, exports, __webpack_require__) {
1124
+
1125
+ "use strict";
1126
+
1127
+
1128
+ Object.defineProperty(exports, "__esModule", {
1129
+ value: true
1130
+ });
1131
+
1132
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
1133
+ * @fileoverview Implements LazyRunner
1134
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1135
+ */
1136
+
1137
+
1138
+ var _tuiCodeSnippet = __webpack_require__(1);
1139
+
1140
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
1141
+
1142
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1143
+
1144
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1145
+
1146
+ /**
1147
+ * Class LazyRunner
1148
+ */
1149
+ var LazyRunner = function () {
1150
+ /**
1151
+ * Creates an instance of LazyRunner.
1152
+ * @memberof LazyRunner
1153
+ */
1154
+ function LazyRunner() {
1155
+ _classCallCheck(this, LazyRunner);
1156
+
1157
+ this.globalTOID = null;
1158
+ this.lazyRunFunctions = {};
1159
+ }
1160
+
1161
+ _createClass(LazyRunner, [{
1162
+ key: 'run',
1163
+ value: function run(fn, params, context, delay) {
1164
+ var TOID = void 0;
1165
+
1166
+ if (_tuiCodeSnippet2.default.isString(fn)) {
1167
+ TOID = this._runRegisteredRun(fn, params, context, delay);
1168
+ } else {
1169
+ TOID = this._runSingleRun(fn, params, context, delay, this.globalTOID);
1170
+ this.globalTOID = TOID;
1171
+ }
1172
+
1173
+ return TOID;
1174
+ }
1175
+ }, {
1176
+ key: 'registerLazyRunFunction',
1177
+ value: function registerLazyRunFunction(name, fn, delay, context) {
1178
+ context = context || this;
1179
+
1180
+ this.lazyRunFunctions[name] = {
1181
+ fn: fn,
1182
+ delay: delay,
1183
+ context: context,
1184
+ TOID: null
1185
+ };
1186
+ }
1187
+ }, {
1188
+ key: '_runSingleRun',
1189
+ value: function _runSingleRun(fn, params, context, delay, TOID) {
1190
+ this._clearTOIDIfNeed(TOID);
1191
+
1192
+ TOID = setTimeout(function () {
1193
+ fn.call(context, params);
1194
+ }, delay);
1195
+
1196
+ return TOID;
1197
+ }
1198
+ }, {
1199
+ key: '_runRegisteredRun',
1200
+ value: function _runRegisteredRun(lazyRunName, params, context, delay) {
1201
+ var lazyRunFunction = this.lazyRunFunctions[lazyRunName];
1202
+ var fn = lazyRunFunction.fn;
1203
+ var TOID = lazyRunFunction.TOID;
1204
+
1205
+ delay = delay || lazyRunFunction.delay;
1206
+ context = context || lazyRunFunction.context;
1207
+
1208
+ TOID = this._runSingleRun(fn, params, context, delay, TOID);
1209
+
1210
+ lazyRunFunction.TOID = TOID;
1211
+
1212
+ return TOID;
1213
+ }
1214
+ }, {
1215
+ key: '_clearTOIDIfNeed',
1216
+ value: function _clearTOIDIfNeed(TOID) {
1217
+ if (TOID) {
1218
+ clearTimeout(TOID);
1219
+ }
1220
+ }
1221
+ }]);
1222
+
1223
+ return LazyRunner;
1224
+ }();
1225
+
1226
+ exports.default = LazyRunner;
1227
+
1228
+ /***/ }),
1229
+
1230
+ /***/ 17:
1231
+ /***/ (function(module, exports, __webpack_require__) {
1232
+
1233
+ "use strict";
1234
+
1235
+
1236
+ Object.defineProperty(exports, "__esModule", {
1237
+ value: true
1238
+ });
1239
+
1240
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
1241
+ * @fileoverview Implements Command
1242
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1243
+ */
1244
+
1245
+
1246
+ var _tuiCodeSnippet = __webpack_require__(1);
1247
+
1248
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
1249
+
1250
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1251
+
1252
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1253
+
1254
+ /**
1255
+ * Class Command
1256
+ */
1257
+ var Command = function () {
1258
+ /**
1259
+ * @param {string} name Command name
1260
+ * @param {number} type Command type (Command.TYPE)
1261
+ * @param {Array.<string>} [keyMap] keyMap
1262
+ */
1263
+ function Command(name, type, keyMap) {
1264
+ _classCallCheck(this, Command);
1265
+
1266
+ this.name = name;
1267
+ this.type = type;
1268
+
1269
+ if (keyMap) {
1270
+ this.setKeyMap(keyMap);
1271
+ }
1272
+ }
1273
+ /**
1274
+ * getName
1275
+ * returns Name of command
1276
+ * @memberof Command
1277
+ * @returns {string} Command Name
1278
+ */
1279
+
1280
+
1281
+ _createClass(Command, [{
1282
+ key: 'getName',
1283
+ value: function getName() {
1284
+ return this.name;
1285
+ }
1286
+
1287
+ /**
1288
+ * getType
1289
+ * returns Type of command
1290
+ * @memberof Command
1291
+ * @returns {number} Command Command type number
1292
+ */
1293
+
1294
+ }, {
1295
+ key: 'getType',
1296
+ value: function getType() {
1297
+ return this.type;
1298
+ }
1299
+
1300
+ /**
1301
+ * isMDType
1302
+ * returns whether Command Type is Markdown or not
1303
+ * @memberof Command
1304
+ * @returns {boolean} result
1305
+ */
1306
+
1307
+ }, {
1308
+ key: 'isMDType',
1309
+ value: function isMDType() {
1310
+ return this.type === Command.TYPE.MD;
1311
+ }
1312
+
1313
+ /**
1314
+ * isWWType
1315
+ * returns whether Command Type is Wysiwyg or not
1316
+ * @memberof Command
1317
+ * @returns {boolean} result
1318
+ */
1319
+
1320
+ }, {
1321
+ key: 'isWWType',
1322
+ value: function isWWType() {
1323
+ return this.type === Command.TYPE.WW;
1324
+ }
1325
+
1326
+ /**
1327
+ * isGlobalType
1328
+ * returns whether Command Type is Global or not
1329
+ * @memberof Command
1330
+ * @returns {boolean} result
1331
+ */
1332
+
1333
+ }, {
1334
+ key: 'isGlobalType',
1335
+ value: function isGlobalType() {
1336
+ return this.type === Command.TYPE.GB;
1337
+ }
1338
+
1339
+ /**
1340
+ * setKeyMap
1341
+ * Set keymap value for each os
1342
+ * @memberof Command
1343
+ * @param {string} win Windows Key(and etc)
1344
+ * @param {string} mac Mac osx key
1345
+ */
1346
+
1347
+ }, {
1348
+ key: 'setKeyMap',
1349
+ value: function setKeyMap(win, mac) {
1350
+ this.keyMap = [win, mac];
1351
+ }
1352
+ }]);
1353
+
1354
+ return Command;
1355
+ }();
1356
+
1357
+ /**
1358
+ * Command factory method
1359
+ * @memberof Command
1360
+ * @param {string} typeStr Editor type name
1361
+ * @param {object} props Property
1362
+ * @param {string} props.name Command name
1363
+ * @param {number} props.type Command type number
1364
+ * @returns {Command}
1365
+ */
1366
+
1367
+
1368
+ Command.factory = function (typeStr, props) {
1369
+ var type = void 0;
1370
+
1371
+ if (typeStr === 'markdown') {
1372
+ type = Command.TYPE.MD;
1373
+ } else if (typeStr === 'wysiwyg') {
1374
+ type = Command.TYPE.WW;
1375
+ } else if (typeStr === 'global') {
1376
+ type = Command.TYPE.GB;
1377
+ }
1378
+
1379
+ var command = new Command(props.name, type);
1380
+
1381
+ _tuiCodeSnippet2.default.extend(command, props);
1382
+
1383
+ return command;
1384
+ };
1385
+
1386
+ /**
1387
+ * Command Type Constant
1388
+ * markdown : 0
1389
+ * wysiwyg : 1
1390
+ * global : 2
1391
+ * @memberof Command
1392
+ * @type {object}
1393
+ */
1394
+ Command.TYPE = {
1395
+ MD: 0,
1396
+ WW: 1,
1397
+ GB: 2
1398
+ };
1399
+
1400
+ exports.default = Command;
1401
+
1402
+ /***/ }),
1403
+
1404
+ /***/ 19:
1405
+ /***/ (function(module, exports) {
1406
+
1407
+ module.exports = __WEBPACK_EXTERNAL_MODULE_19__;
1408
+
1409
+ /***/ }),
1410
+
1411
+ /***/ 2:
1412
+ /***/ (function(module, exports, __webpack_require__) {
1413
+
1414
+ "use strict";
1415
+
1416
+
1417
+ Object.defineProperty(exports, "__esModule", {
1418
+ value: true
1419
+ });
1420
+
1421
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
1422
+ * @fileoverview Implements CommandManager
1423
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1424
+ */
1425
+
1426
+
1427
+ var _jquery = __webpack_require__(0);
1428
+
1429
+ var _jquery2 = _interopRequireDefault(_jquery);
1430
+
1431
+ var _tuiCodeSnippet = __webpack_require__(1);
1432
+
1433
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
1434
+
1435
+ var _command = __webpack_require__(17);
1436
+
1437
+ var _command2 = _interopRequireDefault(_command);
1438
+
1439
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1440
+
1441
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1442
+
1443
+ var isMac = /Mac/.test(navigator.platform);
1444
+ var KEYMAP_OS_INDEX = isMac ? 1 : 0;
1445
+
1446
+ /**
1447
+ * Class CommandManager
1448
+ */
1449
+
1450
+ var CommandManager = function () {
1451
+ /**
1452
+ * @param {ToastUIEditor} base nedInstance
1453
+ * @param {object} [options={}] - option object
1454
+ * @param {boolean} [options.useCommandShortcut=true] - execute command with keyMap
1455
+ */
1456
+ function CommandManager(base) {
1457
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1458
+
1459
+ _classCallCheck(this, CommandManager);
1460
+
1461
+ this._command = new _tuiCodeSnippet2.default.Map();
1462
+ this._mdCommand = new _tuiCodeSnippet2.default.Map();
1463
+ this._wwCommand = new _tuiCodeSnippet2.default.Map();
1464
+ this._options = _jquery2.default.extend({
1465
+ 'useCommandShortcut': true
1466
+ }, options);
1467
+
1468
+ this.base = base;
1469
+
1470
+ this.keyMapCommand = {};
1471
+
1472
+ this._initEvent();
1473
+ }
1474
+
1475
+ /**
1476
+ * You can change command before command addition by addCommandBefore event.
1477
+ * @param {object} command - command
1478
+ * @returns {object}
1479
+ * @private
1480
+ */
1481
+
1482
+
1483
+ _createClass(CommandManager, [{
1484
+ key: '_addCommandBefore',
1485
+ value: function _addCommandBefore(command) {
1486
+ var commandWrapper = { command: command };
1487
+
1488
+ this.base.eventManager.emit('addCommandBefore', commandWrapper);
1489
+
1490
+ return commandWrapper.command || command;
1491
+ }
1492
+
1493
+ /**
1494
+ * Add command
1495
+ * @memberof CommandManager
1496
+ * @param {Command} command Command instance
1497
+ * @returns {Command} Command
1498
+ */
1499
+
1500
+ }, {
1501
+ key: 'addCommand',
1502
+ value: function addCommand(command) {
1503
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1504
+ args[_key - 1] = arguments[_key];
1505
+ }
1506
+
1507
+ if (args.length) {
1508
+ command = CommandManager.command.apply(CommandManager, [command].concat(args));
1509
+ }
1510
+
1511
+ command = this._addCommandBefore(command);
1512
+
1513
+ var name = command.getName();
1514
+
1515
+ var commandBase = void 0;
1516
+
1517
+ if (command.isMDType()) {
1518
+ commandBase = this._mdCommand;
1519
+ } else if (command.isWWType()) {
1520
+ commandBase = this._wwCommand;
1521
+ } else if (command.isGlobalType()) {
1522
+ commandBase = this._command;
1523
+ }
1524
+
1525
+ commandBase.set(name, command);
1526
+
1527
+ if (command.keyMap) {
1528
+ this.keyMapCommand[command.keyMap[KEYMAP_OS_INDEX]] = name;
1529
+ }
1530
+
1531
+ return command;
1532
+ }
1533
+
1534
+ /**
1535
+ * _initEvent
1536
+ * Bind event handler to eventManager
1537
+ * @private
1538
+ * @memberof CommandManager
1539
+ */
1540
+
1541
+ }, {
1542
+ key: '_initEvent',
1543
+ value: function _initEvent() {
1544
+ var _this = this;
1545
+
1546
+ this.base.eventManager.listen('command', function () {
1547
+ _this.exec.apply(_this, arguments);
1548
+ });
1549
+
1550
+ this.base.eventManager.listen('keyMap', function (ev) {
1551
+ if (!_this._options.useCommandShortcut) {
1552
+ return;
1553
+ }
1554
+ var command = _this.keyMapCommand[ev.keyMap];
1555
+
1556
+ if (command) {
1557
+ ev.data.preventDefault();
1558
+ _this.exec(command);
1559
+ }
1560
+ });
1561
+ }
1562
+
1563
+ /**
1564
+ * Execute command
1565
+ * @memberof CommandManager
1566
+ * @param {String} name Command name
1567
+ * @returns {*}
1568
+ */
1569
+
1570
+ }, {
1571
+ key: 'exec',
1572
+ value: function exec(name) {
1573
+ var commandToRun = void 0,
1574
+ result = void 0;
1575
+ var context = this.base;
1576
+
1577
+ commandToRun = this._command.get(name);
1578
+
1579
+ if (!commandToRun) {
1580
+ if (this.base.isMarkdownMode()) {
1581
+ commandToRun = this._mdCommand.get(name);
1582
+ context = this.base.mdEditor;
1583
+ } else {
1584
+ commandToRun = this._wwCommand.get(name);
1585
+ context = this.base.wwEditor;
1586
+ }
1587
+ }
1588
+
1589
+ if (commandToRun) {
1590
+ var _commandToRun;
1591
+
1592
+ for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1593
+ args[_key2 - 1] = arguments[_key2];
1594
+ }
1595
+
1596
+ args.unshift(context);
1597
+ result = (_commandToRun = commandToRun).exec.apply(_commandToRun, args);
1598
+ }
1599
+
1600
+ return result;
1601
+ }
1602
+ }]);
1603
+
1604
+ return CommandManager;
1605
+ }();
1606
+
1607
+ /**
1608
+ * Create command by given editor type and property object
1609
+ * @memberof ComponentManager
1610
+ * @param {string} type Command type
1611
+ * @param {{name: string, keyMap: object}} props Property
1612
+ * @returns {*}
1613
+ */
1614
+
1615
+
1616
+ CommandManager.command = function (type, props) {
1617
+ var command = _command2.default.factory(type, props.name, props.keyMap);
1618
+
1619
+ _tuiCodeSnippet2.default.extend(command, props);
1620
+
1621
+ return command;
1622
+ };
1623
+
1624
+ exports.default = CommandManager;
1625
+
1626
+ /***/ }),
1627
+
1628
+ /***/ 20:
1629
+ /***/ (function(module, exports) {
1630
+
1631
+ module.exports = __WEBPACK_EXTERNAL_MODULE_20__;
1632
+
1633
+ /***/ }),
1634
+
1635
+ /***/ 21:
1636
+ /***/ (function(module, exports, __webpack_require__) {
1637
+
1638
+ "use strict";
1639
+
1640
+
1641
+ // Copyright (c) 2016, Revin Guillen.
1642
+ // Distributed under an MIT license: https://github.com/revin/markdown-it-task-lists/
1643
+
1644
+ /**
1645
+ * @fileoverview Implements markdownitTaskPlugin
1646
+ * @modifier Sungho Kim(sungho-kim@nhnent.com) FE Development Lab/NHN Ent.
1647
+ * @modifier Junghwan Park(junghwan.park@nhnent.com) FE Development Lab/NHN Ent.
1648
+ */
1649
+ /* eslint-disable */
1650
+
1651
+ /**
1652
+ * Task list renderer for Markdown-it
1653
+ * @param {object} markdownit Markdown-it instance
1654
+ * @ignore
1655
+ */
1656
+ var MarkdownitTaskRenderer = function MarkdownitTaskRenderer(markdownit) {
1657
+ markdownit.core.ruler.after('inline', 'tui-task-list', function (state) {
1658
+ var TASK_LIST_ITEM_CLASS_NAME = 'task-list-item';
1659
+ var CHECKED_CLASS_NAME = 'checked';
1660
+ var tokens = state.tokens;
1661
+ var className;
1662
+ var tokenIndex;
1663
+
1664
+ // tokenIndex=0 'ul', tokenIndex=1 'li', tokenIndex=2 'p_open'
1665
+ for (tokenIndex = 2; tokenIndex < tokens.length; tokenIndex += 1) {
1666
+ if (isTaskListItemToken(tokens, tokenIndex)) {
1667
+ if (isChecked(tokens[tokenIndex])) {
1668
+ className = TASK_LIST_ITEM_CLASS_NAME + ' ' + CHECKED_CLASS_NAME;
1669
+ } else {
1670
+ className = TASK_LIST_ITEM_CLASS_NAME;
1671
+ }
1672
+
1673
+ removeMarkdownTaskFormatText(tokens[tokenIndex]);
1674
+
1675
+ setTokenAttribute(tokens[tokenIndex - 2], 'class', className);
1676
+ setTokenAttribute(tokens[tokenIndex - 2], 'data-te-task', '');
1677
+ }
1678
+ }
1679
+ });
1680
+ };
1681
+
1682
+ /**
1683
+ * Remove task format text for rendering
1684
+ * @param {object} token Token object
1685
+ * @ignore
1686
+ */
1687
+ function removeMarkdownTaskFormatText(token) {
1688
+ // '[X] ' length is 4
1689
+ // FIXED: we don't need first space
1690
+ token.content = token.content.slice(4);
1691
+ token.children[0].content = token.children[0].content.slice(4);
1692
+ }
1693
+
1694
+ /**
1695
+ * Return boolean value whether task checked or not
1696
+ * @param {object} token Token object
1697
+ * @returns {boolean}
1698
+ * @ignore
1699
+ */
1700
+ function isChecked(token) {
1701
+ var checked = false;
1702
+
1703
+ if (token.content.indexOf('[x]') === 0 || token.content.indexOf('[X]') === 0) {
1704
+ checked = true;
1705
+ }
1706
+
1707
+ return checked;
1708
+ }
1709
+
1710
+ /**
1711
+ * Set attribute of passed token
1712
+ * @param {object} token Token object
1713
+ * @param {string} attributeName Attribute name for set
1714
+ * @param {string} attributeValue Attribute value for set
1715
+ * @ignore
1716
+ */
1717
+ function setTokenAttribute(token, attributeName, attributeValue) {
1718
+ var index = token.attrIndex(attributeName);
1719
+ var attr = [attributeName, attributeValue];
1720
+
1721
+ if (index < 0) {
1722
+ token.attrPush(attr);
1723
+ } else {
1724
+ token.attrs[index] = attr;
1725
+ }
1726
+ }
1727
+
1728
+ /**
1729
+ * Return boolean value whether task list item or not
1730
+ * @param {array} tokens Token object
1731
+ * @param {number} index Number of token index
1732
+ * @returns {boolean}
1733
+ * @ignore
1734
+ */
1735
+ function isTaskListItemToken(tokens, index) {
1736
+ return tokens[index].type === 'inline' && tokens[index - 1].type === 'paragraph_open' && tokens[index - 2].type === 'list_item_open' && (tokens[index].content.indexOf('[ ]') === 0 || tokens[index].content.indexOf('[x]') === 0 || tokens[index].content.indexOf('[X]') === 0);
1737
+ }
1738
+ /* eslint-enable */
1739
+
1740
+ module.exports = MarkdownitTaskRenderer;
1741
+
1742
+ /***/ }),
1743
+
1744
+ /***/ 22:
1745
+ /***/ (function(module, exports, __webpack_require__) {
1746
+
1747
+ "use strict";
1748
+
1749
+
1750
+ // Copyright (c) 2016, Revin Guillen.
1751
+ // Distributed under an MIT license: https://github.com/revin/markdown-it-task-lists/
1752
+ /* eslint-disable */
1753
+ /**
1754
+ * @fileoverview Implements markdownitCodeBlockPlugin
1755
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1756
+ */
1757
+
1758
+ /**
1759
+ * Code block renderer for Markdown-it
1760
+ * @param {object} markdownit Markdown-it instance
1761
+ * @ignore
1762
+ */
1763
+ var MarkdownitCodeBlockRenderer = function MarkdownitCodeBlockRenderer(markdownit) {
1764
+ markdownit.core.ruler.after('block', 'tui-code-block', function (state) {
1765
+ var tokens = state.tokens;
1766
+ var currentToken, tokenIndex;
1767
+
1768
+ for (tokenIndex = 0; tokenIndex < tokens.length; tokenIndex += 1) {
1769
+ currentToken = tokens[tokenIndex];
1770
+
1771
+ if (isCodeFenceToken(currentToken) && currentToken.info) {
1772
+ setTokenAttribute(currentToken, 'data-language', escape(currentToken.info.replace(' ', ''), true));
1773
+ }
1774
+ }
1775
+ });
1776
+ };
1777
+
1778
+ /**
1779
+ * Set attribute of passed token
1780
+ * @param {object} token Token object
1781
+ * @param {string} attributeName Attribute name for set
1782
+ * @param {string} attributeValue Attribute value for set
1783
+ * @ignore
1784
+ */
1785
+ function setTokenAttribute(token, attributeName, attributeValue) {
1786
+ var index = token.attrIndex(attributeName);
1787
+ var attr = [attributeName, attributeValue];
1788
+
1789
+ if (index < 0) {
1790
+ token.attrPush(attr);
1791
+ } else {
1792
+ token.attrs[index] = attr;
1793
+ }
1794
+ }
1795
+ /**
1796
+ * Return boolean value whether passed token is code fence or not
1797
+ * @param {object} token Token object
1798
+ * @returns {boolean}
1799
+ * @ignore
1800
+ */
1801
+ function isCodeFenceToken(token) {
1802
+ return token.block === true && token.tag === 'code' && token.type === 'fence';
1803
+ }
1804
+
1805
+ /**
1806
+ * escape code from markdown-it
1807
+ * @param {string} html HTML string
1808
+ * @param {string} encode Boolean value of whether encode or not
1809
+ * @returns {string}
1810
+ * @ignore
1811
+ */
1812
+ function escape(html, encode) {
1813
+ return html.replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
1814
+ }
1815
+ /* eslint-enable */
1816
+
1817
+ module.exports = MarkdownitCodeBlockRenderer;
1818
+
1819
+ /***/ }),
1820
+
1821
+ /***/ 23:
1822
+ /***/ (function(module, exports, __webpack_require__) {
1823
+
1824
+ "use strict";
1825
+
1826
+
1827
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
1828
+ // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/
1829
+ /**
1830
+ * @fileoverview Implements MarkdownItCodeRenderer
1831
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1832
+ */
1833
+
1834
+ /* eslint-disable */
1835
+ module.exports = function code(state, startLine, endLine /*, silent*/) {
1836
+ // Added by Junghwan Park
1837
+ var FIND_LIST_RX = / {0,3}(?:-|\*|\d\.) /;
1838
+ var lines = state.src.split('\n');
1839
+ var currentLine = lines[startLine];
1840
+ // Added by Junghwan Park
1841
+
1842
+ var nextLine,
1843
+ last,
1844
+ token,
1845
+ emptyLines = 0;
1846
+
1847
+ // Add condition by Junghwan Park
1848
+ if (currentLine.match(FIND_LIST_RX) || state.sCount[startLine] - state.blkIndent < 4) {
1849
+ // Add condition by Junghwan Park
1850
+ return false;
1851
+ }
1852
+
1853
+ last = nextLine = startLine + 1;
1854
+
1855
+ while (nextLine < endLine) {
1856
+ if (state.isEmpty(nextLine)) {
1857
+ emptyLines++;
1858
+
1859
+ // workaround for lists: 2 blank lines should terminate indented
1860
+ // code block, but not fenced code block
1861
+ if (emptyLines >= 2 && state.parentType === 'list') {
1862
+ break;
1863
+ }
1864
+
1865
+ nextLine++;
1866
+ continue;
1867
+ }
1868
+
1869
+ emptyLines = 0;
1870
+
1871
+ if (state.sCount[nextLine] - state.blkIndent >= 4) {
1872
+ nextLine++;
1873
+ last = nextLine;
1874
+ continue;
1875
+ }
1876
+ break;
1877
+ }
1878
+
1879
+ state.line = last;
1880
+
1881
+ token = state.push('code_block', 'code', 0);
1882
+ token.content = state.getLines(startLine, last, 4 + state.blkIndent, true);
1883
+ token.map = [startLine, state.line];
1884
+
1885
+ return true;
1886
+ };
1887
+ /* eslint-enable */
1888
+
1889
+ /***/ }),
1890
+
1891
+ /***/ 24:
1892
+ /***/ (function(module, exports, __webpack_require__) {
1893
+
1894
+ "use strict";
1895
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
1896
+ // Distributed under MIT license: https://github.com/markdown-it/markdown-it/
1897
+ /**
1898
+ * @fileoverview Implements markdownitCodeBlockQuoteRenderer
1899
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1900
+ */
1901
+
1902
+ /* eslint-disable */
1903
+
1904
+ // Block quotes
1905
+
1906
+
1907
+
1908
+ // prevent quote, pre in list #811
1909
+ // ref: #989
1910
+ // #811 START
1911
+ // var isSpace = require('../common/utils').isSpace;
1912
+
1913
+ function isSpace(code) {
1914
+ switch (code) {
1915
+ case 0x09:
1916
+ case 0x20:
1917
+ return true;
1918
+ }
1919
+ return false;
1920
+ }
1921
+ // #811 END
1922
+
1923
+ module.exports = function blockquote(state, startLine, endLine, silent) {
1924
+ var adjustTab,
1925
+ ch,
1926
+ i,
1927
+ initial,
1928
+ l,
1929
+ lastLineEmpty,
1930
+ lines,
1931
+ nextLine,
1932
+ offset,
1933
+ oldBMarks,
1934
+ oldBSCount,
1935
+ oldIndent,
1936
+ oldParentType,
1937
+ oldSCount,
1938
+ oldTShift,
1939
+ spaceAfterMarker,
1940
+ terminate,
1941
+ terminatorRules,
1942
+ token,
1943
+ wasOutdented,
1944
+ oldLineMax = state.lineMax,
1945
+ pos = state.bMarks[startLine] + state.tShift[startLine],
1946
+ max = state.eMarks[startLine];
1947
+
1948
+ // #811 START
1949
+ var FIND_LIST_RX = /(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/;
1950
+ var sourceLines = state.src.split('\n');
1951
+ var currentLine = sourceLines[startLine];
1952
+ // #811 END
1953
+
1954
+ // if it's indented more than 3 spaces, it should be a code block
1955
+ if (state.sCount[startLine] - state.blkIndent >= 4) {
1956
+ return false;
1957
+ }
1958
+
1959
+ // check the block quote marker
1960
+ if (state.src.charCodeAt(pos++) !== 0x3E /* > */) {
1961
+ return false;
1962
+ }
1963
+ // #811 START
1964
+ // check block quote in list
1965
+ if (currentLine.match(FIND_LIST_RX) /*&& !currentLine.match(/^ {0,6}>/)*/) {
1966
+ return false;
1967
+ }
1968
+ // #811 END
1969
+
1970
+ // we know that it's going to be a valid blockquote,
1971
+ // so no point trying to find the end of it in silent mode
1972
+ if (silent) {
1973
+ return true;
1974
+ }
1975
+
1976
+ // skip spaces after ">" and re-calculate offset
1977
+ initial = offset = state.sCount[startLine] + pos - (state.bMarks[startLine] + state.tShift[startLine]);
1978
+
1979
+ // skip one optional space after '>'
1980
+ if (state.src.charCodeAt(pos) === 0x20 /* space */) {
1981
+ // ' > test '
1982
+ // ^ -- position start of line here:
1983
+ pos++;
1984
+ initial++;
1985
+ offset++;
1986
+ adjustTab = false;
1987
+ spaceAfterMarker = true;
1988
+ } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {
1989
+ spaceAfterMarker = true;
1990
+
1991
+ if ((state.bsCount[startLine] + offset) % 4 === 3) {
1992
+ // ' >\t test '
1993
+ // ^ -- position start of line here (tab has width===1)
1994
+ pos++;
1995
+ initial++;
1996
+ offset++;
1997
+ adjustTab = false;
1998
+ } else {
1999
+ // ' >\t test '
2000
+ // ^ -- position start of line here + shift bsCount slightly
2001
+ // to make extra space appear
2002
+ adjustTab = true;
2003
+ }
2004
+ } else {
2005
+ spaceAfterMarker = false;
2006
+ }
2007
+
2008
+ oldBMarks = [state.bMarks[startLine]];
2009
+ state.bMarks[startLine] = pos;
2010
+
2011
+ while (pos < max) {
2012
+ ch = state.src.charCodeAt(pos);
2013
+
2014
+ if (isSpace(ch)) {
2015
+ if (ch === 0x09) {
2016
+ offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;
2017
+ } else {
2018
+ offset++;
2019
+ }
2020
+ } else {
2021
+ break;
2022
+ }
2023
+
2024
+ pos++;
2025
+ }
2026
+
2027
+ oldBSCount = [state.bsCount[startLine]];
2028
+ state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);
2029
+
2030
+ lastLineEmpty = pos >= max;
2031
+
2032
+ oldSCount = [state.sCount[startLine]];
2033
+ state.sCount[startLine] = offset - initial;
2034
+
2035
+ oldTShift = [state.tShift[startLine]];
2036
+ state.tShift[startLine] = pos - state.bMarks[startLine];
2037
+
2038
+ terminatorRules = state.md.block.ruler.getRules('blockquote');
2039
+
2040
+ oldParentType = state.parentType;
2041
+ state.parentType = 'blockquote';
2042
+ wasOutdented = false;
2043
+
2044
+ // Search the end of the block
2045
+ //
2046
+ // Block ends with either:
2047
+ // 1. an empty line outside:
2048
+ // ```
2049
+ // > test
2050
+ //
2051
+ // ```
2052
+ // 2. an empty line inside:
2053
+ // ```
2054
+ // >
2055
+ // test
2056
+ // ```
2057
+ // 3. another tag:
2058
+ // ```
2059
+ // > test
2060
+ // - - -
2061
+ // ```
2062
+ for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {
2063
+ // check if it's outdented, i.e. it's inside list item and indented
2064
+ // less than said list item:
2065
+ //
2066
+ // ```
2067
+ // 1. anything
2068
+ // > current blockquote
2069
+ // 2. checking this line
2070
+ // ```
2071
+ if (state.sCount[nextLine] < state.blkIndent) wasOutdented = true;
2072
+
2073
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
2074
+ max = state.eMarks[nextLine];
2075
+
2076
+ if (pos >= max) {
2077
+ // Case 1: line is not inside the blockquote, and this line is empty.
2078
+ break;
2079
+ }
2080
+
2081
+ if (state.src.charCodeAt(pos++) === 0x3E /* > */ && !wasOutdented) {
2082
+ // This line is inside the blockquote.
2083
+
2084
+ // skip spaces after ">" and re-calculate offset
2085
+ initial = offset = state.sCount[nextLine] + pos - (state.bMarks[nextLine] + state.tShift[nextLine]);
2086
+
2087
+ // skip one optional space after '>'
2088
+ if (state.src.charCodeAt(pos) === 0x20 /* space */) {
2089
+ // ' > test '
2090
+ // ^ -- position start of line here:
2091
+ pos++;
2092
+ initial++;
2093
+ offset++;
2094
+ adjustTab = false;
2095
+ spaceAfterMarker = true;
2096
+ } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {
2097
+ spaceAfterMarker = true;
2098
+
2099
+ if ((state.bsCount[nextLine] + offset) % 4 === 3) {
2100
+ // ' >\t test '
2101
+ // ^ -- position start of line here (tab has width===1)
2102
+ pos++;
2103
+ initial++;
2104
+ offset++;
2105
+ adjustTab = false;
2106
+ } else {
2107
+ // ' >\t test '
2108
+ // ^ -- position start of line here + shift bsCount slightly
2109
+ // to make extra space appear
2110
+ adjustTab = true;
2111
+ }
2112
+ } else {
2113
+ spaceAfterMarker = false;
2114
+ }
2115
+
2116
+ oldBMarks.push(state.bMarks[nextLine]);
2117
+ state.bMarks[nextLine] = pos;
2118
+
2119
+ while (pos < max) {
2120
+ ch = state.src.charCodeAt(pos);
2121
+
2122
+ if (isSpace(ch)) {
2123
+ if (ch === 0x09) {
2124
+ offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;
2125
+ } else {
2126
+ offset++;
2127
+ }
2128
+ } else {
2129
+ break;
2130
+ }
2131
+
2132
+ pos++;
2133
+ }
2134
+
2135
+ lastLineEmpty = pos >= max;
2136
+
2137
+ oldBSCount.push(state.bsCount[nextLine]);
2138
+ state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);
2139
+
2140
+ oldSCount.push(state.sCount[nextLine]);
2141
+ state.sCount[nextLine] = offset - initial;
2142
+
2143
+ oldTShift.push(state.tShift[nextLine]);
2144
+ state.tShift[nextLine] = pos - state.bMarks[nextLine];
2145
+ continue;
2146
+ }
2147
+
2148
+ // Case 2: line is not inside the blockquote, and the last line was empty.
2149
+ if (lastLineEmpty) {
2150
+ break;
2151
+ }
2152
+
2153
+ // Case 3: another tag found.
2154
+ terminate = false;
2155
+ for (i = 0, l = terminatorRules.length; i < l; i++) {
2156
+ if (terminatorRules[i](state, nextLine, endLine, true)) {
2157
+ terminate = true;
2158
+ break;
2159
+ }
2160
+ }
2161
+
2162
+ if (terminate) {
2163
+ // Quirk to enforce "hard termination mode" for paragraphs;
2164
+ // normally if you call `tokenize(state, startLine, nextLine)`,
2165
+ // paragraphs will look below nextLine for paragraph continuation,
2166
+ // but if blockquote is terminated by another tag, they shouldn't
2167
+ state.lineMax = nextLine;
2168
+
2169
+ if (state.blkIndent !== 0) {
2170
+ // state.blkIndent was non-zero, we now set it to zero,
2171
+ // so we need to re-calculate all offsets to appear as
2172
+ // if indent wasn't changed
2173
+ oldBMarks.push(state.bMarks[nextLine]);
2174
+ oldBSCount.push(state.bsCount[nextLine]);
2175
+ oldTShift.push(state.tShift[nextLine]);
2176
+ oldSCount.push(state.sCount[nextLine]);
2177
+ state.sCount[nextLine] -= state.blkIndent;
2178
+ }
2179
+
2180
+ break;
2181
+ }
2182
+
2183
+ oldBMarks.push(state.bMarks[nextLine]);
2184
+ oldBSCount.push(state.bsCount[nextLine]);
2185
+ oldTShift.push(state.tShift[nextLine]);
2186
+ oldSCount.push(state.sCount[nextLine]);
2187
+
2188
+ // A negative indentation means that this is a paragraph continuation
2189
+ //
2190
+ state.sCount[nextLine] = -1;
2191
+ }
2192
+
2193
+ oldIndent = state.blkIndent;
2194
+ state.blkIndent = 0;
2195
+
2196
+ token = state.push('blockquote_open', 'blockquote', 1);
2197
+ token.markup = '>';
2198
+ token.map = lines = [startLine, 0];
2199
+
2200
+ state.md.block.tokenize(state, startLine, nextLine);
2201
+
2202
+ token = state.push('blockquote_close', 'blockquote', -1);
2203
+ token.markup = '>';
2204
+
2205
+ state.lineMax = oldLineMax;
2206
+ state.parentType = oldParentType;
2207
+ lines[1] = state.line;
2208
+
2209
+ // Restore original tShift; this might not be necessary since the parser
2210
+ // has already been here, but just to make sure we can do that.
2211
+ for (i = 0; i < oldTShift.length; i++) {
2212
+ state.bMarks[i + startLine] = oldBMarks[i];
2213
+ state.tShift[i + startLine] = oldTShift[i];
2214
+ state.sCount[i + startLine] = oldSCount[i];
2215
+ state.bsCount[i + startLine] = oldBSCount[i];
2216
+ }
2217
+ state.blkIndent = oldIndent;
2218
+
2219
+ return true;
2220
+ };
2221
+
2222
+ /***/ }),
2223
+
2224
+ /***/ 25:
2225
+ /***/ (function(module, exports, __webpack_require__) {
2226
+
2227
+ "use strict";
2228
+
2229
+
2230
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
2231
+ // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/
2232
+
2233
+ /**
2234
+ * @fileoverview Implements markdownitTableRenderer
2235
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2236
+ */
2237
+
2238
+ /*eslint-disable */
2239
+ function getLine(state, line) {
2240
+ var pos = state.bMarks[line] + state.blkIndent,
2241
+ max = state.eMarks[line];
2242
+
2243
+ return state.src.substr(pos, max - pos);
2244
+ }
2245
+
2246
+ function escapedSplit(str) {
2247
+ var result = [],
2248
+ pos = 0,
2249
+ max = str.length,
2250
+ ch,
2251
+ escapes = 0,
2252
+ lastPos = 0,
2253
+ backTicked = false,
2254
+ lastBackTick = 0;
2255
+
2256
+ ch = str.charCodeAt(pos);
2257
+
2258
+ while (pos < max) {
2259
+ if (ch === 0x60 /* ` */ && escapes % 2 === 0) {
2260
+ backTicked = !backTicked;
2261
+ lastBackTick = pos;
2262
+ } else if (ch === 0x7c /* | */ && escapes % 2 === 0 && !backTicked) {
2263
+ result.push(str.substring(lastPos, pos));
2264
+ lastPos = pos + 1;
2265
+ } else if (ch === 0x5c /* \ */) {
2266
+ escapes += 1;
2267
+ } else {
2268
+ escapes = 0;
2269
+ }
2270
+
2271
+ pos += 1;
2272
+
2273
+ // If there was an un-closed backtick, go back to just after
2274
+ // the last backtick, but as if it was a normal character
2275
+ if (pos === max && backTicked) {
2276
+ backTicked = false;
2277
+ pos = lastBackTick + 1;
2278
+ }
2279
+
2280
+ ch = str.charCodeAt(pos);
2281
+ }
2282
+
2283
+ result.push(str.substring(lastPos));
2284
+
2285
+ return result;
2286
+ }
2287
+
2288
+ module.exports = function table(state, startLine, endLine, silent) {
2289
+ var ch, lineText, pos, i, nextLine, columns, columnCount, token, aligns, alignCount, t, tableLines, tbodyLines;
2290
+
2291
+ // should have at least three lines
2292
+ if (startLine + 2 > endLine) {
2293
+ return false;
2294
+ }
2295
+
2296
+ nextLine = startLine + 1;
2297
+
2298
+ if (state.sCount[nextLine] < state.blkIndent) {
2299
+ return false;
2300
+ }
2301
+
2302
+ // first character of the second line should be '|' or '-'
2303
+
2304
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
2305
+ if (pos >= state.eMarks[nextLine]) {
2306
+ return false;
2307
+ }
2308
+
2309
+ ch = state.src.charCodeAt(pos);
2310
+ if (ch !== 0x7C /* | */ && ch !== 0x2D /* - */ && ch !== 0x3A /* : */) {
2311
+ return false;
2312
+ }
2313
+
2314
+ lineText = getLine(state, startLine + 1);
2315
+ if (!/^[-:| ]+$/.test(lineText)) {
2316
+ return false;
2317
+ }
2318
+
2319
+ columns = lineText.split('|');
2320
+ aligns = [];
2321
+ for (i = 0; i < columns.length; i += 1) {
2322
+ t = columns[i].trim();
2323
+ if (!t) {
2324
+ // allow empty columns before and after table, but not in between columns;
2325
+ // e.g. allow ` |---| `, disallow ` ---||--- `
2326
+ if (i === 0 || i === columns.length - 1) {
2327
+ continue;
2328
+ } else {
2329
+ return false;
2330
+ }
2331
+ }
2332
+
2333
+ if (!/^:?-+:?$/.test(t)) {
2334
+ return false;
2335
+ }
2336
+ if (t.charCodeAt(t.length - 1) === 0x3A /* : */) {
2337
+ aligns.push(t.charCodeAt(0) === 0x3A /* : */ ? 'center' : 'right');
2338
+ } else if (t.charCodeAt(0) === 0x3A /* : */) {
2339
+ aligns.push('left');
2340
+ } else {
2341
+ aligns.push('');
2342
+ }
2343
+ }
2344
+ alignCount = aligns.length;
2345
+
2346
+ lineText = getLine(state, startLine).trim();
2347
+ if (lineText.indexOf('|') === -1) {
2348
+ return false;
2349
+ }
2350
+ columns = escapedSplit(lineText.replace(/^\||\|$/g, ''));
2351
+
2352
+ // header row will define an amount of columns in the entire table,
2353
+ // and align row shouldn't be smaller than that (the rest of the rows can)
2354
+ columnCount = columns.length;
2355
+ if (columnCount > alignCount) {
2356
+ return false;
2357
+ } else if (columnCount < alignCount) {
2358
+ for (i = 0; i < alignCount - columnCount; i += 1) {
2359
+ columns.push('');
2360
+ }
2361
+ columnCount = columns.length;
2362
+ }
2363
+
2364
+ if (silent) {
2365
+ return true;
2366
+ }
2367
+
2368
+ token = state.push('table_open', 'table', 1);
2369
+ token.map = tableLines = [startLine, 0];
2370
+
2371
+ token = state.push('thead_open', 'thead', 1);
2372
+ token.map = [startLine, startLine + 1];
2373
+
2374
+ token = state.push('tr_open', 'tr', 1);
2375
+ token.map = [startLine, startLine + 1];
2376
+
2377
+ for (i = 0; i < columnCount; i += 1) {
2378
+ token = state.push('th_open', 'th', 1);
2379
+ token.map = [startLine, startLine + 1];
2380
+ if (aligns[i]) {
2381
+ // FIXED: change property style to align
2382
+ token.attrs = [['align', aligns[i]]];
2383
+ }
2384
+
2385
+ token = state.push('inline', '', 0);
2386
+ token.content = columns[i].trim();
2387
+ token.map = [startLine, startLine + 1];
2388
+ token.children = [];
2389
+
2390
+ token = state.push('th_close', 'th', -1);
2391
+ }
2392
+
2393
+ token = state.push('tr_close', 'tr', -1);
2394
+ token = state.push('thead_close', 'thead', -1);
2395
+
2396
+ token = state.push('tbody_open', 'tbody', 1);
2397
+ token.map = tbodyLines = [startLine + 2, 0];
2398
+
2399
+ for (nextLine = startLine + 2; nextLine < endLine; nextLine += 1) {
2400
+ if (state.sCount[nextLine] < state.blkIndent) {
2401
+ break;
2402
+ }
2403
+
2404
+ lineText = getLine(state, nextLine);
2405
+ if (lineText.indexOf('|') === -1) {
2406
+ break;
2407
+ }
2408
+
2409
+ // keep spaces at beginning of line to indicate an empty first cell, but
2410
+ // strip trailing whitespace
2411
+ columns = escapedSplit(lineText.replace(/^\||\|\s*$/g, ''));
2412
+
2413
+ token = state.push('tr_open', 'tr', 1);
2414
+ for (i = 0; i < columnCount; i += 1) {
2415
+ token = state.push('td_open', 'td', 1);
2416
+ if (aligns[i]) {
2417
+ // FIXED: change property style to align
2418
+ token.attrs = [['align', aligns[i]]];
2419
+ }
2420
+
2421
+ token = state.push('inline', '', 0);
2422
+ token.content = columns[i] ? columns[i].trim() : '';
2423
+ token.children = [];
2424
+
2425
+ token = state.push('td_close', 'td', -1);
2426
+ }
2427
+ token = state.push('tr_close', 'tr', -1);
2428
+ }
2429
+ token = state.push('tbody_close', 'tbody', -1);
2430
+ token = state.push('table_close', 'table', -1);
2431
+
2432
+ tableLines[1] = tbodyLines[1] = nextLine;
2433
+ state.line = nextLine;
2434
+ return true;
2435
+ };
2436
+
2437
+ /***/ }),
2438
+
2439
+ /***/ 26:
2440
+ /***/ (function(module, exports, __webpack_require__) {
2441
+
2442
+ "use strict";
2443
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
2444
+ // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/
2445
+
2446
+ /**
2447
+ * @fileoverview Implements markdownitHtmlBlockRenderer
2448
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2449
+ */
2450
+ /* eslint-disable */
2451
+ // HTML block
2452
+
2453
+
2454
+
2455
+ // An array of opening and corresponding closing sequences for html tags,
2456
+ // last argument defines whether it can terminate a paragraph or not
2457
+ //
2458
+
2459
+ // void tag names --- Added by Junghwan Park
2460
+
2461
+ var voidTagNames = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'];
2462
+ var HTML_SEQUENCES = [[/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true], [/^<!--/, /-->/, true], [/^<\?/, /\?>/, true], [/^<![A-Z]/, />/, true], [/^<!\[CDATA\[/, /\]\]>/, true], [new RegExp('^<(' + voidTagNames.join('|') + ')', 'i'), /^\/?>$/, true], [new RegExp('^</?(address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|pre|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?=(\\s|/?>|$))', 'i'), /^$/, true], [/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/, /^$/, false]];
2463
+
2464
+ module.exports = function html_block(state, startLine, endLine, silent) {
2465
+ var i,
2466
+ nextLine,
2467
+ token,
2468
+ lineText,
2469
+ pos = state.bMarks[startLine] + state.tShift[startLine],
2470
+ max = state.eMarks[startLine];
2471
+
2472
+ if (!state.md.options.html) {
2473
+ return false;
2474
+ }
2475
+
2476
+ if (state.src.charCodeAt(pos) !== 0x3C /* < */) {
2477
+ return false;
2478
+ }
2479
+
2480
+ lineText = state.src.slice(pos, max);
2481
+
2482
+ for (i = 0; i < HTML_SEQUENCES.length; i++) {
2483
+ if (HTML_SEQUENCES[i][0].test(lineText)) {
2484
+ // add condition for return when meet void element --- Added by Junghwan Park
2485
+ if (i === 5) {
2486
+ return false;
2487
+ } else {
2488
+ break;
2489
+ }
2490
+ }
2491
+ }
2492
+
2493
+ if (i === HTML_SEQUENCES.length) {
2494
+ return false;
2495
+ }
2496
+
2497
+ if (silent) {
2498
+ // true if this sequence can be a terminator, false otherwise
2499
+ return HTML_SEQUENCES[i][2];
2500
+ }
2501
+
2502
+ nextLine = startLine + 1;
2503
+
2504
+ // If we are here - we detected HTML block.
2505
+ // Let's roll down till block end.
2506
+ if (!HTML_SEQUENCES[i][1].test(lineText)) {
2507
+ for (; nextLine < endLine; nextLine++) {
2508
+ if (state.sCount[nextLine] < state.blkIndent) {
2509
+ break;
2510
+ }
2511
+
2512
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
2513
+ max = state.eMarks[nextLine];
2514
+ lineText = state.src.slice(pos, max);
2515
+
2516
+ if (HTML_SEQUENCES[i][1].test(lineText)) {
2517
+ if (lineText.length !== 0) {
2518
+ nextLine++;
2519
+ }
2520
+ break;
2521
+ }
2522
+ }
2523
+ }
2524
+
2525
+ state.line = nextLine;
2526
+
2527
+ token = state.push('html_block', '', 0);
2528
+ token.map = [startLine, nextLine];
2529
+ token.content = state.getLines(startLine, nextLine, state.blkIndent, true);
2530
+
2531
+ return true;
2532
+ };
2533
+ /* eslint-enable */
2534
+
2535
+ /***/ }),
2536
+
2537
+ /***/ 27:
2538
+ /***/ (function(module, exports, __webpack_require__) {
2539
+
2540
+ "use strict";
2541
+
2542
+
2543
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
2544
+ // Distributed under MIT license: https://github.com/markdown-it/markdown-it/
2545
+ /**
2546
+ * @fileoverview Implements markdownitBackticksRenderer
2547
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2548
+ */
2549
+ /* eslint-disable */
2550
+
2551
+ // Parse backticks
2552
+ module.exports = function backtick(state, silent) {
2553
+ var start,
2554
+ max,
2555
+ marker,
2556
+ matchStart,
2557
+ matchEnd,
2558
+ token,
2559
+ pos = state.pos,
2560
+ ch = state.src.charCodeAt(pos);
2561
+
2562
+ if (ch !== 0x60 /* ` */) {
2563
+ return false;
2564
+ }
2565
+
2566
+ start = pos;
2567
+ pos++;
2568
+ max = state.posMax;
2569
+
2570
+ while (pos < max && state.src.charCodeAt(pos) === 0x60 /* ` */) {
2571
+ pos++;
2572
+ }
2573
+
2574
+ marker = state.src.slice(start, pos);
2575
+
2576
+ matchStart = matchEnd = pos;
2577
+
2578
+ while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {
2579
+ matchEnd = matchStart + 1;
2580
+
2581
+ while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60 /* ` */) {
2582
+ matchEnd++;
2583
+ }
2584
+
2585
+ if (matchEnd - matchStart === marker.length) {
2586
+ if (!silent) {
2587
+ token = state.push('code_inline', 'code', 0);
2588
+ token.markup = marker;
2589
+ token.content = state.src.slice(pos, matchStart).replace(/[ \n]+/g, ' ').trim();
2590
+ // TUI.EDITOR MODIFICATION START
2591
+ // store number of backtick in data-backtick
2592
+ // https://github.nhnent.com/fe/tui.editor/pull/981
2593
+ token.attrSet('data-backticks', token.markup.length);
2594
+ // TUI.EDITOR MODIFICATION END
2595
+ }
2596
+ state.pos = matchEnd;
2597
+ return true;
2598
+ }
2599
+ }
2600
+
2601
+ if (!silent) {
2602
+ state.pending += marker;
2603
+ }
2604
+ state.pos += marker.length;
2605
+ return true;
2606
+ };
2607
+
2608
+ /***/ }),
2609
+
2610
+ /***/ 28:
2611
+ /***/ (function(module, exports) {
2612
+
2613
+ module.exports = __WEBPACK_EXTERNAL_MODULE_28__;
2614
+
2615
+ /***/ }),
2616
+
2617
+ /***/ 29:
2618
+ /***/ (function(module, exports, __webpack_require__) {
2619
+
2620
+ "use strict";
2621
+
2622
+
2623
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
2624
+ * @fileoverview Implements editor preivew
2625
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2626
+ */
2627
+
2628
+
2629
+ var _jquery = __webpack_require__(0);
2630
+
2631
+ var _jquery2 = _interopRequireDefault(_jquery);
2632
+
2633
+ var _tuiCodeSnippet = __webpack_require__(1);
2634
+
2635
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
2636
+
2637
+ var _mdPreview = __webpack_require__(9);
2638
+
2639
+ var _mdPreview2 = _interopRequireDefault(_mdPreview);
2640
+
2641
+ var _eventManager = __webpack_require__(12);
2642
+
2643
+ var _eventManager2 = _interopRequireDefault(_eventManager);
2644
+
2645
+ var _commandManager = __webpack_require__(2);
2646
+
2647
+ var _commandManager2 = _interopRequireDefault(_commandManager);
2648
+
2649
+ var _extManager = __webpack_require__(13);
2650
+
2651
+ var _extManager2 = _interopRequireDefault(_extManager);
2652
+
2653
+ var _convertor = __webpack_require__(14);
2654
+
2655
+ var _convertor2 = _interopRequireDefault(_convertor);
2656
+
2657
+ var _domUtils = __webpack_require__(3);
2658
+
2659
+ var _domUtils2 = _interopRequireDefault(_domUtils);
2660
+
2661
+ var _codeBlockManager = __webpack_require__(7);
2662
+
2663
+ var _codeBlockManager2 = _interopRequireDefault(_codeBlockManager);
2664
+
2665
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2666
+
2667
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2668
+
2669
+ var TASK_ATTR_NAME = 'data-te-task';
2670
+ var TASK_CHECKED_CLASS_NAME = 'checked';
2671
+
2672
+ /**
2673
+ * Class ToastUIEditorViewer
2674
+ */
2675
+
2676
+ var ToastUIEditorViewer = function () {
2677
+ /**
2678
+ * Viewer
2679
+ * @param {object} options Option object
2680
+ * @param {string} options.initialValue Editor's initial value
2681
+ * @param {object} options.events eventlist Event list
2682
+ * @param {function} options.events.load It would be emitted when editor fully load
2683
+ * @param {function} options.events.change It would be emitted when content changed
2684
+ * @param {function} options.events.stateChange It would be emitted when format change by cursor position
2685
+ * @param {function} options.events.focus It would be emitted when editor get focus
2686
+ * @param {function} options.events.blur It would be emitted when editor loose focus
2687
+ * @param {object} options.hooks Hook list
2688
+ * @param {function} options.hooks.previewBeforeHook Submit preview to hook URL before preview be shown
2689
+ */
2690
+ function ToastUIEditorViewer(options) {
2691
+ var _this = this;
2692
+
2693
+ _classCallCheck(this, ToastUIEditorViewer);
2694
+
2695
+ this.options = options;
2696
+
2697
+ this.eventManager = new _eventManager2.default();
2698
+ this.commandManager = new _commandManager2.default(this);
2699
+ this.convertor = new _convertor2.default(this.eventManager);
2700
+ this.toMarkOptions = null;
2701
+
2702
+ if (this.options.hooks) {
2703
+ _tuiCodeSnippet2.default.forEach(this.options.hooks, function (fn, key) {
2704
+ _this.addHook(key, fn);
2705
+ });
2706
+ }
2707
+
2708
+ if (this.options.events) {
2709
+ _tuiCodeSnippet2.default.forEach(this.options.events, function (fn, key) {
2710
+ _this.on(key, fn);
2711
+ });
2712
+ }
2713
+
2714
+ this.preview = new _mdPreview2.default((0, _jquery2.default)(this.options.el), this.eventManager, this.convertor, true);
2715
+
2716
+ this.preview.$el.on('mousedown', _jquery2.default.proxy(this._toggleTask, this));
2717
+
2718
+ _extManager2.default.applyExtension(this, this.options.exts);
2719
+
2720
+ this.setValue(this.options.initialValue);
2721
+
2722
+ this.eventManager.emit('load', this);
2723
+ }
2724
+
2725
+ /**
2726
+ * Toggle task by detecting mousedown event.
2727
+ * @param {MouseEvent} ev - event
2728
+ * @private
2729
+ */
2730
+
2731
+
2732
+ _createClass(ToastUIEditorViewer, [{
2733
+ key: '_toggleTask',
2734
+ value: function _toggleTask(ev) {
2735
+ var isBeneathTaskBox = ev.offsetX < 18 && ev.offsetY > 18;
2736
+
2737
+ if (ev.target.hasAttribute(TASK_ATTR_NAME) && !isBeneathTaskBox) {
2738
+ (0, _jquery2.default)(ev.target).toggleClass(TASK_CHECKED_CLASS_NAME);
2739
+ this.eventManager.emit('change', {
2740
+ source: 'viewer',
2741
+ data: ev
2742
+ });
2743
+ }
2744
+ }
2745
+
2746
+ /**
2747
+ * Set content for preview
2748
+ * @memberof ToastUIEditorViewer
2749
+ * @param {string} markdown Markdown text
2750
+ */
2751
+
2752
+ }, {
2753
+ key: 'setMarkdown',
2754
+ value: function setMarkdown(markdown) {
2755
+ this.markdownValue = markdown = markdown || '';
2756
+
2757
+ this.preview.refresh(this.markdownValue);
2758
+ this.eventManager.emit('setMarkdownAfter', this.markdownValue);
2759
+ }
2760
+
2761
+ /**
2762
+ * Set content for preview
2763
+ * @memberof ToastUIEditorViewer
2764
+ * @param {string} markdown Markdown text
2765
+ * @deprecated
2766
+ */
2767
+
2768
+ }, {
2769
+ key: 'setValue',
2770
+ value: function setValue(markdown) {
2771
+ this.setMarkdown(markdown);
2772
+ }
2773
+
2774
+ /**
2775
+ * Bind eventHandler to event type
2776
+ * @memberof ToastUIEditorViewer
2777
+ * @param {string} type Event type
2778
+ * @param {function} handler Event handler
2779
+ */
2780
+
2781
+ }, {
2782
+ key: 'on',
2783
+ value: function on(type, handler) {
2784
+ this.eventManager.listen(type, handler);
2785
+ }
2786
+
2787
+ /**
2788
+ * Unbind eventHandler from event type
2789
+ * @memberof ToastUIEditorViewer
2790
+ * @param {string} type Event type
2791
+ */
2792
+
2793
+ }, {
2794
+ key: 'off',
2795
+ value: function off(type) {
2796
+ this.eventManager.removeEventHandler(type);
2797
+ }
2798
+
2799
+ /**
2800
+ * Remove Viewer preview from document
2801
+ * @memberof ToastUIEditorViewer
2802
+ */
2803
+
2804
+ }, {
2805
+ key: 'remove',
2806
+ value: function remove() {
2807
+ this.eventManager.emit('removeEditor');
2808
+ this.preview.$el.off('mousedown', _jquery2.default.proxy(this._toggleTask, this));
2809
+ this.options = null;
2810
+ this.eventManager = null;
2811
+ this.commandManager = null;
2812
+ this.convertor = null;
2813
+ this.preview = null;
2814
+ }
2815
+
2816
+ /**
2817
+ * Add hook to Viewer preview's event
2818
+ * @memberof ToastUIEditorViewer
2819
+ * @param {string} type Event type
2820
+ * @param {function} handler Event handler
2821
+ */
2822
+
2823
+ }, {
2824
+ key: 'addHook',
2825
+ value: function addHook(type, handler) {
2826
+ this.eventManager.removeEventHandler(type);
2827
+ this.eventManager.listen(type, handler);
2828
+ }
2829
+
2830
+ /**
2831
+ * Return true
2832
+ * @memberof ToastUIEditorViewer
2833
+ * @returns {boolean}
2834
+ */
2835
+
2836
+ }, {
2837
+ key: 'isViewer',
2838
+ value: function isViewer() {
2839
+ return true;
2840
+ }
2841
+
2842
+ /**
2843
+ * Return false
2844
+ * @memberof ToastUIEditorViewer
2845
+ * @returns {boolean}
2846
+ */
2847
+
2848
+ }, {
2849
+ key: 'isMarkdownMode',
2850
+ value: function isMarkdownMode() {
2851
+ return false;
2852
+ }
2853
+
2854
+ /**
2855
+ * Return false
2856
+ * @memberof ToastUIEditorViewer
2857
+ * @returns {boolean}
2858
+ */
2859
+
2860
+ }, {
2861
+ key: 'isWysiwygMode',
2862
+ value: function isWysiwygMode() {
2863
+ return false;
2864
+ }
2865
+
2866
+ /**
2867
+ * Define extension
2868
+ * @memberof ToastUIEditorViewer
2869
+ * @param {string} name Extension name
2870
+ * @param {ExtManager~extension} ext extension
2871
+ */
2872
+
2873
+ }], [{
2874
+ key: 'defineExtension',
2875
+ value: function defineExtension(name, ext) {
2876
+ _extManager2.default.defineExtension(name, ext);
2877
+ }
2878
+ }]);
2879
+
2880
+ return ToastUIEditorViewer;
2881
+ }();
2882
+
2883
+ /**
2884
+ * check whther is viewer
2885
+ * @type {boolean}
2886
+ */
2887
+
2888
+
2889
+ ToastUIEditorViewer.isViewer = true;
2890
+
2891
+ /**
2892
+ * domUtil instance
2893
+ * @type {DomUtil}
2894
+ */
2895
+ ToastUIEditorViewer.domUtils = _domUtils2.default;
2896
+
2897
+ /**
2898
+ * CodeBlockManager instance
2899
+ * @type {CodeBlockManager}
2900
+ */
2901
+ ToastUIEditorViewer.codeBlockManager = _codeBlockManager2.default;
2902
+
2903
+ /**
2904
+ * MarkdownIt hightlight instance
2905
+ * @type {MarkdownIt}
2906
+ */
2907
+ ToastUIEditorViewer.markdownitHighlight = _convertor2.default.getMarkdownitHighlightRenderer();
2908
+
2909
+ /**
2910
+ * @ignore
2911
+ */
2912
+ ToastUIEditorViewer.i18n = null;
2913
+
2914
+ /**
2915
+ * @ignore
2916
+ */
2917
+ ToastUIEditorViewer.Button = null;
2918
+
2919
+ /**
2920
+ * @ignore
2921
+ */
2922
+ ToastUIEditorViewer.WwCodeBlockManager = null;
2923
+
2924
+ /**
2925
+ * @ignore
2926
+ */
2927
+ ToastUIEditorViewer.WwTableManager = null;
2928
+
2929
+ /**
2930
+ * @ignore
2931
+ */
2932
+ ToastUIEditorViewer.WwTableSelectionManager = null;
2933
+
2934
+ module.exports = ToastUIEditorViewer;
2935
+
2936
+ /***/ }),
2937
+
2938
+ /***/ 3:
2939
+ /***/ (function(module, exports, __webpack_require__) {
2940
+
2941
+ "use strict";
2942
+
2943
+
2944
+ Object.defineProperty(exports, "__esModule", {
2945
+ value: true
2946
+ });
2947
+
2948
+ var _jquery = __webpack_require__(0);
2949
+
2950
+ var _jquery2 = _interopRequireDefault(_jquery);
2951
+
2952
+ var _tuiCodeSnippet = __webpack_require__(1);
2953
+
2954
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
2955
+
2956
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2957
+
2958
+ /**
2959
+ * @fileoverview DOM Utils
2960
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2961
+ */
2962
+ var FIND_ZWB = /\u200B/g;
2963
+
2964
+ /**
2965
+ * isTextNode
2966
+ * Check if node is text node
2967
+ * @param {Node} node node to check
2968
+ * @returns {boolean} result
2969
+ * @ignore
2970
+ */
2971
+ var isTextNode = function isTextNode(node) {
2972
+ return node && node.nodeType === Node.TEXT_NODE;
2973
+ };
2974
+
2975
+ /**
2976
+ * isElemNode
2977
+ * Check if node is element node
2978
+ * @param {Node} node node to check
2979
+ * @returns {boolean} result
2980
+ * @ignore
2981
+ */
2982
+ var isElemNode = function isElemNode(node) {
2983
+ return node && node.nodeType === Node.ELEMENT_NODE;
2984
+ };
2985
+
2986
+ /**
2987
+ * getNodeName
2988
+ * Get node name of node
2989
+ * @param {Node} node node
2990
+ * @returns {string} node name
2991
+ * @ignore
2992
+ */
2993
+ var getNodeName = function getNodeName(node) {
2994
+ if (isElemNode(node)) {
2995
+ return node.tagName;
2996
+ }
2997
+
2998
+ return 'TEXT';
2999
+ };
3000
+
3001
+ /**
3002
+ * getTextLength
3003
+ * Get node offset length of node(for Range API)
3004
+ * @param {Node} node node
3005
+ * @returns {number} length
3006
+ * @ignore
3007
+ */
3008
+ var getTextLength = function getTextLength(node) {
3009
+ var len = void 0;
3010
+
3011
+ if (isElemNode(node)) {
3012
+ len = node.textContent.replace(FIND_ZWB, '').length;
3013
+ } else if (isTextNode(node)) {
3014
+ len = node.nodeValue.replace(FIND_ZWB, '').length;
3015
+ }
3016
+
3017
+ return len;
3018
+ };
3019
+
3020
+ /**
3021
+ * getOffsetLength
3022
+ * Get node offset length of node(for Range API)
3023
+ * @param {Node} node node
3024
+ * @returns {number} length
3025
+ * @ignore
3026
+ */
3027
+ var getOffsetLength = function getOffsetLength(node) {
3028
+ var len = void 0;
3029
+
3030
+ if (isElemNode(node)) {
3031
+ len = node.childNodes.length;
3032
+ } else if (isTextNode(node)) {
3033
+ len = node.nodeValue.replace(FIND_ZWB, '').length;
3034
+ }
3035
+
3036
+ return len;
3037
+ };
3038
+
3039
+ /**
3040
+ * getNodeOffsetOfParent
3041
+ * get node offset between parent's childnodes
3042
+ * @param {Node} node node
3043
+ * @returns {number} offset(index)
3044
+ * @ignore
3045
+ */
3046
+ var getNodeOffsetOfParent = function getNodeOffsetOfParent(node) {
3047
+ var childNodesOfParent = node.parentNode.childNodes;
3048
+ var i = void 0,
3049
+ t = void 0,
3050
+ found = void 0;
3051
+
3052
+ for (i = 0, t = childNodesOfParent.length; i < t; i += 1) {
3053
+ if (childNodesOfParent[i] === node) {
3054
+ found = i;
3055
+ break;
3056
+ }
3057
+ }
3058
+
3059
+ return found;
3060
+ };
3061
+
3062
+ /**
3063
+ * getChildNodeByOffset
3064
+ * get child node by offset
3065
+ * @param {Node} node node
3066
+ * @param {number} index offset index
3067
+ * @returns {Node} foudned node
3068
+ * @ignore
3069
+ */
3070
+ var getChildNodeByOffset = function getChildNodeByOffset(node, index) {
3071
+ var currentNode = void 0;
3072
+
3073
+ if (isTextNode(node)) {
3074
+ currentNode = node;
3075
+ } else if (node.childNodes.length && index >= 0) {
3076
+ currentNode = node.childNodes[index];
3077
+ }
3078
+
3079
+ return currentNode;
3080
+ };
3081
+
3082
+ /**
3083
+ * getNodeWithDirectionUntil
3084
+ * find next node from passed node
3085
+ * @param {strong} direction previous or next
3086
+ * @param {Node} node node
3087
+ * @param {string} untilNodeName parent node name to limit
3088
+ * @returns {Node} founded node
3089
+ * @ignore
3090
+ */
3091
+ var getNodeWithDirectionUntil = function getNodeWithDirectionUntil(direction, node, untilNodeName) {
3092
+ var directionKey = direction + 'Sibling';
3093
+ var nodeName = void 0,
3094
+ foundedNode = void 0;
3095
+
3096
+ while (node && !node[directionKey]) {
3097
+ nodeName = getNodeName(node.parentNode);
3098
+
3099
+ if (nodeName === untilNodeName || nodeName === 'BODY') {
3100
+ break;
3101
+ }
3102
+
3103
+ node = node.parentNode;
3104
+ }
3105
+
3106
+ if (node[directionKey]) {
3107
+ foundedNode = node[directionKey];
3108
+ }
3109
+
3110
+ return foundedNode;
3111
+ };
3112
+
3113
+ /**
3114
+ * getPrevOffsetNodeUntil
3115
+ * get prev node of childnode pointed with index
3116
+ * @param {Node} node node
3117
+ * @param {number} index offset index
3118
+ * @param {string} untilNodeName parent node name to limit
3119
+ * @returns {Node} founded node
3120
+ * @ignore
3121
+ */
3122
+ var getPrevOffsetNodeUntil = function getPrevOffsetNodeUntil(node, index, untilNodeName) {
3123
+ var prevNode = void 0;
3124
+
3125
+ if (index > 0) {
3126
+ prevNode = getChildNodeByOffset(node, index - 1);
3127
+ } else {
3128
+ prevNode = getNodeWithDirectionUntil('previous', node, untilNodeName);
3129
+ }
3130
+
3131
+ return prevNode;
3132
+ };
3133
+
3134
+ var getParentUntilBy = function getParentUntilBy(node, condition) {
3135
+ var foundedNode = void 0;
3136
+
3137
+ while (node.parentNode && !condition(node.parentNode)) {
3138
+ node = node.parentNode;
3139
+ }
3140
+
3141
+ if (condition(node.parentNode)) {
3142
+ foundedNode = node;
3143
+ }
3144
+
3145
+ return foundedNode;
3146
+ };
3147
+
3148
+ /**
3149
+ * getParentUntil
3150
+ * get parent node until paseed node name
3151
+ * @param {Node} node node
3152
+ * @param {string|HTMLNode} untilNode node name or node to limit
3153
+ * @returns {Node} founded node
3154
+ * @ignore
3155
+ */
3156
+ var getParentUntil = function getParentUntil(node, untilNode) {
3157
+ var foundedNode = void 0;
3158
+
3159
+ if (_tuiCodeSnippet2.default.isString(untilNode)) {
3160
+ foundedNode = getParentUntilBy(node, function (targetNode) {
3161
+ return untilNode === getNodeName(targetNode);
3162
+ });
3163
+ } else {
3164
+ foundedNode = getParentUntilBy(node, function (targetNode) {
3165
+ return untilNode === targetNode;
3166
+ });
3167
+ }
3168
+
3169
+ return foundedNode;
3170
+ };
3171
+
3172
+ /**
3173
+ * getNodeWithDirectionUnderParent
3174
+ * get node on the given direction under given parent
3175
+ * @param {strong} direction previous or next
3176
+ * @param {Node} node node
3177
+ * @param {string|Node} underNode parent node name to limit
3178
+ * @returns {Node} founded node
3179
+ * @ignore
3180
+ */
3181
+ var getNodeWithDirectionUnderParent = function getNodeWithDirectionUnderParent(direction, node, underNode) {
3182
+ var directionKey = direction + 'Sibling';
3183
+ var foundedNode = void 0;
3184
+
3185
+ node = getParentUntil(node, underNode);
3186
+
3187
+ if (node && node[directionKey]) {
3188
+ foundedNode = node[directionKey];
3189
+ }
3190
+
3191
+ return foundedNode;
3192
+ };
3193
+
3194
+ /**
3195
+ * getTopPrevNodeUnder
3196
+ * get top previous top level node under given node
3197
+ * @param {Node} node node
3198
+ * @param {Node} underNode underNode
3199
+ * @returns {Node} founded node
3200
+ * @ignore
3201
+ */
3202
+ var getTopPrevNodeUnder = function getTopPrevNodeUnder(node, underNode) {
3203
+ return getNodeWithDirectionUnderParent('previous', node, underNode);
3204
+ };
3205
+
3206
+ /**
3207
+ * getNextTopBlockNode
3208
+ * get next top level block node
3209
+ * @param {Node} node node
3210
+ * @param {Node} underNode underNode
3211
+ * @returns {Node} founded node
3212
+ * @ignore
3213
+ */
3214
+ var getTopNextNodeUnder = function getTopNextNodeUnder(node, underNode) {
3215
+ return getNodeWithDirectionUnderParent('next', node, underNode);
3216
+ };
3217
+
3218
+ /**
3219
+ * Get parent element the body element
3220
+ * @param {Node} node Node for start searching
3221
+ * @returns {Node}
3222
+ * @ignore
3223
+ */
3224
+ var getTopBlockNode = function getTopBlockNode(node) {
3225
+ return getParentUntil(node, 'BODY');
3226
+ };
3227
+
3228
+ /**
3229
+ * Get previous text node
3230
+ * @param {Node} node Node for start searching
3231
+ * @returns {Node}
3232
+ * @ignore
3233
+ */
3234
+ var getPrevTextNode = function getPrevTextNode(node) {
3235
+ node = node.previousSibling || node.parentNode;
3236
+
3237
+ while (!isTextNode(node) && getNodeName(node) !== 'BODY') {
3238
+ if (node.previousSibling) {
3239
+ node = node.previousSibling;
3240
+
3241
+ while (node.lastChild) {
3242
+ node = node.lastChild;
3243
+ }
3244
+ } else {
3245
+ node = node.parentNode;
3246
+ }
3247
+ }
3248
+
3249
+ if (getNodeName(node) === 'BODY') {
3250
+ node = null;
3251
+ }
3252
+
3253
+ return node;
3254
+ };
3255
+
3256
+ /**
3257
+ * find node by offset
3258
+ * @param {HTMLElement} root Root element
3259
+ * @param {Array.<number>} offsetList offset list
3260
+ * @param {function} textNodeFilter Text node filter
3261
+ * @returns {Array}
3262
+ * @ignore
3263
+ */
3264
+ var findOffsetNode = function findOffsetNode(root, offsetList, textNodeFilter) {
3265
+ var result = [];
3266
+ var text = '';
3267
+ var walkerOffset = 0;
3268
+ var newWalkerOffset = void 0;
3269
+
3270
+ if (!offsetList.length) {
3271
+ return result;
3272
+ }
3273
+
3274
+ var offset = offsetList.shift();
3275
+ var walker = document.createTreeWalker(root, 4, null, false);
3276
+
3277
+ while (walker.nextNode()) {
3278
+ text = walker.currentNode.nodeValue || '';
3279
+
3280
+ if (textNodeFilter) {
3281
+ text = textNodeFilter(text);
3282
+ }
3283
+
3284
+ newWalkerOffset = walkerOffset + text.length;
3285
+
3286
+ while (newWalkerOffset >= offset) {
3287
+ result.push({
3288
+ container: walker.currentNode,
3289
+ offsetInContainer: offset - walkerOffset,
3290
+ offset: offset
3291
+ });
3292
+
3293
+ if (!offsetList.length) {
3294
+ return result;
3295
+ }
3296
+ offset = offsetList.shift();
3297
+ }
3298
+ walkerOffset = newWalkerOffset;
3299
+ }
3300
+
3301
+ // there should be offset left
3302
+ do {
3303
+ result.push({
3304
+ container: walker.currentNode,
3305
+ offsetInContainer: text.length,
3306
+ offset: offset
3307
+ });
3308
+ offset = offsetList.shift();
3309
+ } while (!_tuiCodeSnippet2.default.isUndefined(offset));
3310
+
3311
+ return result;
3312
+ };
3313
+
3314
+ var getNodeInfo = function getNodeInfo(node) {
3315
+ var path = {};
3316
+
3317
+ path.tagName = node.nodeName;
3318
+
3319
+ if (node.id) {
3320
+ path.id = node.id;
3321
+ }
3322
+
3323
+ var className = node.className.trim();
3324
+
3325
+ if (className) {
3326
+ path.className = className;
3327
+ }
3328
+
3329
+ return path;
3330
+ };
3331
+
3332
+ var getPath = function getPath(node, root) {
3333
+ var paths = [];
3334
+
3335
+ while (node && node !== root) {
3336
+ if (isElemNode(node)) {
3337
+ paths.unshift(getNodeInfo(node));
3338
+ }
3339
+
3340
+ node = node.parentNode;
3341
+ }
3342
+
3343
+ return paths;
3344
+ };
3345
+
3346
+ /**
3347
+ * Find next, previous TD or TH element by given TE element
3348
+ * @param {HTMLElement} node TD element
3349
+ * @param {string} direction Boolean value for direction true is find next cell
3350
+ * @returns {HTMLElement|null}
3351
+ * @ignore
3352
+ */
3353
+ var getTableCellByDirection = function getTableCellByDirection(node, direction) {
3354
+ var isForward = true;
3355
+ var targetElement = null;
3356
+
3357
+ if (_tuiCodeSnippet2.default.isUndefined(direction) || direction !== 'next' && direction !== 'previous') {
3358
+ return null;
3359
+ } else if (direction === 'previous') {
3360
+ isForward = false;
3361
+ }
3362
+
3363
+ if (isForward) {
3364
+ targetElement = node.nextElementSibling;
3365
+ } else {
3366
+ targetElement = node.previousElementSibling;
3367
+ }
3368
+
3369
+ return targetElement;
3370
+ };
3371
+
3372
+ /**
3373
+ * Find sibling TR's TD element by given TD and direction
3374
+ * @param {HTMLElement} node TD element
3375
+ * @param {string} direction Boolean value for find first TD in next line
3376
+ * @param {boolean} [needEdgeCell=false] Boolean value for find first TD in next line
3377
+ * @returns {HTMLElement|null}
3378
+ * @ignore
3379
+ */
3380
+ var getSiblingRowCellByDirection = function getSiblingRowCellByDirection(node, direction, needEdgeCell) {
3381
+ var isForward = true;
3382
+ var tableCellElement = null;
3383
+ var $node = void 0,
3384
+ index = void 0,
3385
+ $targetRowElement = void 0,
3386
+ $currentContainer = void 0,
3387
+ $siblingContainer = void 0,
3388
+ isSiblingContainerExists = void 0;
3389
+
3390
+ if (_tuiCodeSnippet2.default.isUndefined(direction) || direction !== 'next' && direction !== 'previous') {
3391
+ return null;
3392
+ } else if (direction === 'previous') {
3393
+ isForward = false;
3394
+ }
3395
+
3396
+ if (node) {
3397
+ $node = (0, _jquery2.default)(node);
3398
+
3399
+ if (isForward) {
3400
+ $targetRowElement = $node.parent().next();
3401
+ $currentContainer = $node.parents('thead');
3402
+ $siblingContainer = $currentContainer[0] && $currentContainer.next();
3403
+ isSiblingContainerExists = $siblingContainer && getNodeName($siblingContainer[0]) === 'TBODY';
3404
+
3405
+ index = 0;
3406
+ } else {
3407
+ $targetRowElement = $node.parent().prev();
3408
+ $currentContainer = $node.parents('tbody');
3409
+ $siblingContainer = $currentContainer[0] && $currentContainer.prev();
3410
+ isSiblingContainerExists = $siblingContainer && getNodeName($siblingContainer[0]) === 'THEAD';
3411
+
3412
+ index = node.parentNode.childNodes.length - 1;
3413
+ }
3414
+
3415
+ if (_tuiCodeSnippet2.default.isUndefined(needEdgeCell) || !needEdgeCell) {
3416
+ index = getNodeOffsetOfParent(node);
3417
+ }
3418
+
3419
+ if ($targetRowElement[0]) {
3420
+ tableCellElement = $targetRowElement.children('td,th')[index];
3421
+ } else if ($currentContainer[0] && isSiblingContainerExists) {
3422
+ tableCellElement = $siblingContainer.find('td,th')[index];
3423
+ }
3424
+
3425
+ return tableCellElement;
3426
+ }
3427
+
3428
+ return null;
3429
+ };
3430
+
3431
+ exports.default = {
3432
+ getNodeName: getNodeName,
3433
+ isTextNode: isTextNode,
3434
+ isElemNode: isElemNode,
3435
+ getTextLength: getTextLength,
3436
+ getOffsetLength: getOffsetLength,
3437
+ getPrevOffsetNodeUntil: getPrevOffsetNodeUntil,
3438
+ getNodeOffsetOfParent: getNodeOffsetOfParent,
3439
+ getChildNodeByOffset: getChildNodeByOffset,
3440
+ getTopPrevNodeUnder: getTopPrevNodeUnder,
3441
+ getTopNextNodeUnder: getTopNextNodeUnder,
3442
+ getParentUntil: getParentUntil,
3443
+ getTopBlockNode: getTopBlockNode,
3444
+ getPrevTextNode: getPrevTextNode,
3445
+ findOffsetNode: findOffsetNode,
3446
+ getPath: getPath,
3447
+ getNodeInfo: getNodeInfo,
3448
+ getTableCellByDirection: getTableCellByDirection,
3449
+ getSiblingRowCellByDirection: getSiblingRowCellByDirection
3450
+ };
3451
+
3452
+ /***/ }),
3453
+
3454
+ /***/ 7:
3455
+ /***/ (function(module, exports, __webpack_require__) {
3456
+
3457
+ "use strict";
3458
+
3459
+
3460
+ Object.defineProperty(exports, "__esModule", {
3461
+ value: true
3462
+ });
3463
+ exports.CodeBlockManager = undefined;
3464
+
3465
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
3466
+ * @fileoverview Implements CodeBlockManager
3467
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
3468
+ */
3469
+
3470
+
3471
+ var _highlight = __webpack_require__(28);
3472
+
3473
+ var _highlight2 = _interopRequireDefault(_highlight);
3474
+
3475
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3476
+
3477
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3478
+
3479
+ /**
3480
+ * Class Code Block Manager
3481
+ */
3482
+ var CodeBlockManager = function () {
3483
+ /**
3484
+ * Creates an instance of CodeBlockManager.
3485
+ * @memberof CodeBlockManager
3486
+ */
3487
+ function CodeBlockManager() {
3488
+ _classCallCheck(this, CodeBlockManager);
3489
+
3490
+ this._replacers = {};
3491
+ }
3492
+
3493
+ /**
3494
+ * Set replacer for code block
3495
+ * @param {string} language - code block language
3496
+ * @param {function} replacer - replacer function to code block element
3497
+ */
3498
+
3499
+
3500
+ _createClass(CodeBlockManager, [{
3501
+ key: 'setReplacer',
3502
+ value: function setReplacer(language, replacer) {
3503
+ this._replacers[language] = replacer;
3504
+ }
3505
+
3506
+ /**
3507
+ * get replacer for code block
3508
+ * @param {string} language - code block type
3509
+ * @returns {function} - replacer function
3510
+ * @memberof CodeBlockManager
3511
+ */
3512
+
3513
+ }, {
3514
+ key: 'getReplacer',
3515
+ value: function getReplacer(language) {
3516
+ return this._replacers[language];
3517
+ }
3518
+
3519
+ /**
3520
+ * Create code block html.
3521
+ * @param {string} language - code block language
3522
+ * @param {string} codeText - code text
3523
+ * @returns {string}
3524
+ */
3525
+
3526
+ }, {
3527
+ key: 'createCodeBlockHtml',
3528
+ value: function createCodeBlockHtml(language, codeText) {
3529
+ var replacer = this.getReplacer(language);
3530
+ var html = void 0;
3531
+
3532
+ if (replacer) {
3533
+ html = replacer(codeText, language);
3534
+ } else {
3535
+ html = _highlight2.default.getLanguage(language) ? _highlight2.default.highlight(language, codeText).value : escape(codeText, false);
3536
+ }
3537
+
3538
+ return html;
3539
+ }
3540
+
3541
+ /**
3542
+ * get supported languages by highlight-js
3543
+ * @returns {Array<string>} - supported languages by highlight-js
3544
+ * @static
3545
+ */
3546
+
3547
+ }], [{
3548
+ key: 'getHighlightJSLanguages',
3549
+ value: function getHighlightJSLanguages() {
3550
+ return _highlight2.default.listLanguages();
3551
+ }
3552
+ }]);
3553
+
3554
+ return CodeBlockManager;
3555
+ }();
3556
+
3557
+ /**
3558
+ * escape code from markdown-it
3559
+ * @param {string} html HTML string
3560
+ * @param {string} encode Boolean value of whether encode or not
3561
+ * @returns {string}
3562
+ * @ignore
3563
+ */
3564
+
3565
+
3566
+ function escape(html, encode) {
3567
+ return html.replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
3568
+ }
3569
+
3570
+ exports.CodeBlockManager = CodeBlockManager;
3571
+ exports.default = new CodeBlockManager();
3572
+
3573
+ /***/ }),
3574
+
3575
+ /***/ 9:
3576
+ /***/ (function(module, exports, __webpack_require__) {
3577
+
3578
+ "use strict";
3579
+
3580
+
3581
+ Object.defineProperty(exports, "__esModule", {
3582
+ value: true
3583
+ });
3584
+
3585
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
3586
+
3587
+ var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
3588
+
3589
+ var _preview = __webpack_require__(10);
3590
+
3591
+ var _preview2 = _interopRequireDefault(_preview);
3592
+
3593
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3594
+
3595
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3596
+
3597
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
3598
+
3599
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**
3600
+ * @fileoverview Implements markdown preview
3601
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
3602
+ */
3603
+
3604
+
3605
+ /**
3606
+ * Class Markdown Preview
3607
+ * @extends {Preview}
3608
+ */
3609
+ var MarkdownPreview = function (_Preview) {
3610
+ _inherits(MarkdownPreview, _Preview);
3611
+
3612
+ /**
3613
+ * Creates an instance of MarkdownPreview.
3614
+ * @param {jQuery} $el - base jQuery element
3615
+ * @param {EventManager} eventManager - event manager
3616
+ * @param {Convertor} convertor - convertor
3617
+ * @param {boolean} isViewer - true for view only mode
3618
+ * @memberof MarkdownPreview
3619
+ */
3620
+ function MarkdownPreview($el, eventManager, convertor, isViewer) {
3621
+ _classCallCheck(this, MarkdownPreview);
3622
+
3623
+ var _this = _possibleConstructorReturn(this, (MarkdownPreview.__proto__ || Object.getPrototypeOf(MarkdownPreview)).call(this, $el, eventManager, convertor, isViewer));
3624
+
3625
+ _this._initEvent();
3626
+ return _this;
3627
+ }
3628
+
3629
+ /**
3630
+ * Initialize event
3631
+ * @private
3632
+ */
3633
+
3634
+
3635
+ _createClass(MarkdownPreview, [{
3636
+ key: '_initEvent',
3637
+ value: function _initEvent() {
3638
+ var _this2 = this;
3639
+
3640
+ var latestMarkdownValue = '';
3641
+
3642
+ this.eventManager.listen('contentChangedFromMarkdown', function (markdownEditor) {
3643
+ latestMarkdownValue = markdownEditor.getValue();
3644
+
3645
+ if (_this2.isVisible()) {
3646
+ _this2.lazyRunner.run('refresh', latestMarkdownValue.replace(/<br>\n/g, '<br>'));
3647
+ }
3648
+ });
3649
+
3650
+ this.eventManager.listen('previewNeedsRefresh', function (value) {
3651
+ _this2.refresh(value || latestMarkdownValue);
3652
+ });
3653
+
3654
+ this.$el.on('scroll', function (event) {
3655
+ _this2.eventManager.emit('scroll', {
3656
+ source: 'preview',
3657
+ data: event
3658
+ });
3659
+ });
3660
+ }
3661
+
3662
+ /**
3663
+ * render
3664
+ * @param {string} html - html string to render
3665
+ * @memberof MarkdownPreview
3666
+ * @override
3667
+ */
3668
+
3669
+ }, {
3670
+ key: 'render',
3671
+ value: function render(html) {
3672
+ _get(MarkdownPreview.prototype.__proto__ || Object.getPrototypeOf(MarkdownPreview.prototype), 'render', this).call(this, html);
3673
+
3674
+ this.eventManager.emit('previewRenderAfter', this);
3675
+ }
3676
+ }]);
3677
+
3678
+ return MarkdownPreview;
3679
+ }(_preview2.default);
3680
+
3681
+ exports.default = MarkdownPreview;
3682
+
3683
+ /***/ })
3684
+
3685
+ /******/ });
3686
+ });