statixite 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (462) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +145 -0
  4. data/Rakefile +26 -0
  5. data/app/assets/images/statixite/STATIXITE-logo.png +0 -0
  6. data/app/assets/images/statixite/favicon.ico +0 -0
  7. data/app/assets/images/statixite/jekyll.png +0 -0
  8. data/app/assets/images/statixite/md-editor.png +0 -0
  9. data/app/assets/images/statixite/ring-alt.gif +0 -0
  10. data/app/assets/javascripts/controllers/statixite/deployments_create.js +13 -0
  11. data/app/assets/javascripts/controllers/statixite/deployments_index.js +13 -0
  12. data/app/assets/javascripts/controllers/statixite/sites_create.js +27 -0
  13. data/app/assets/javascripts/controllers/statixite/sites_new.js +27 -0
  14. data/app/assets/javascripts/controllers/statixite/templates_edit.js +208 -0
  15. data/app/assets/javascripts/statixite/application.js +8 -0
  16. data/app/assets/javascripts/statixite/array-helpers.js +13 -0
  17. data/app/assets/javascripts/statixite/editor.js +244 -0
  18. data/app/assets/javascripts/statixite/loader.js +14 -0
  19. data/app/assets/javascripts/statixite/notify-defaults.js +5 -0
  20. data/app/assets/stylesheets/statixite/application.less +271 -0
  21. data/app/assets/stylesheets/statixite/bootstrap-glyphicons.less +305 -0
  22. data/app/assets/stylesheets/statixite/bootstrap.less +58 -0
  23. data/app/assets/stylesheets/statixite/bootstrap_and_overrides.less +2 -0
  24. data/app/assets/stylesheets/statixite/landing-page.less +156 -0
  25. data/app/controllers/statixite/application_controller.rb +22 -0
  26. data/app/controllers/statixite/deployments_controller.rb +61 -0
  27. data/app/controllers/statixite/media_controller.rb +61 -0
  28. data/app/controllers/statixite/posts_controller.rb +68 -0
  29. data/app/controllers/statixite/sites_controller.rb +141 -0
  30. data/app/controllers/statixite/templates_controller.rb +233 -0
  31. data/app/helpers/statixite/application_helper.rb +63 -0
  32. data/app/models/statixite/deployment.rb +5 -0
  33. data/app/models/statixite/media.rb +7 -0
  34. data/app/models/statixite/post.rb +76 -0
  35. data/app/models/statixite/site.rb +76 -0
  36. data/app/services/statixite/deployment_service.rb +73 -0
  37. data/app/services/statixite/git_service.rb +102 -0
  38. data/app/services/statixite/site_deactivation_service.rb +52 -0
  39. data/app/services/statixite/site_operation_service.rb +251 -0
  40. data/app/uploaders/statixite/file_uploader.rb +14 -0
  41. data/app/validators/statixite/jekyll_template_validator.rb +16 -0
  42. data/app/validators/statixite/liquid_validator.rb +11 -0
  43. data/app/views/layouts/statixite/_dash_nav.html.haml +20 -0
  44. data/app/views/layouts/statixite/_flash.html.haml +13 -0
  45. data/app/views/layouts/statixite/_head.html.haml +12 -0
  46. data/app/views/layouts/statixite/_header.html.haml +30 -0
  47. data/app/views/layouts/statixite/_site_sub_items.html.haml +38 -0
  48. data/app/views/layouts/statixite/dashboard.html.haml +27 -0
  49. data/app/views/statixite/deployments/_modal.html.haml +18 -0
  50. data/app/views/statixite/deployments/index.html.haml +39 -0
  51. data/app/views/statixite/kaminari/_first_page.html.haml +2 -0
  52. data/app/views/statixite/kaminari/_gap.html.haml +2 -0
  53. data/app/views/statixite/kaminari/_last_page.html.haml +2 -0
  54. data/app/views/statixite/kaminari/_next_page.html.haml +2 -0
  55. data/app/views/statixite/kaminari/_page.html.haml +6 -0
  56. data/app/views/statixite/kaminari/_paginator.html.haml +11 -0
  57. data/app/views/statixite/kaminari/_prev_page.html.haml +2 -0
  58. data/app/views/statixite/media/_index.html.haml +13 -0
  59. data/app/views/statixite/media/_paginate.html.haml +1 -0
  60. data/app/views/statixite/media/index.html.haml +39 -0
  61. data/app/views/statixite/media/index.js.haml +2 -0
  62. data/app/views/statixite/posts/_form.html.haml +65 -0
  63. data/app/views/statixite/posts/_image_modal.html.haml +21 -0
  64. data/app/views/statixite/posts/_modals.html.haml +111 -0
  65. data/app/views/statixite/posts/_posts.html.haml +15 -0
  66. data/app/views/statixite/posts/edit.html.haml +6 -0
  67. data/app/views/statixite/posts/index.html.haml +4 -0
  68. data/app/views/statixite/posts/index.js.haml +1 -0
  69. data/app/views/statixite/posts/new.html.haml +5 -0
  70. data/app/views/statixite/sites/_sites.html.haml +27 -0
  71. data/app/views/statixite/sites/_templates.html.haml +26 -0
  72. data/app/views/statixite/sites/build_and_preview.html.haml +24 -0
  73. data/app/views/statixite/sites/index.html.haml +4 -0
  74. data/app/views/statixite/sites/index.js.haml +1 -0
  75. data/app/views/statixite/sites/new.html.haml +45 -0
  76. data/app/views/statixite/sites/settings.html.haml +77 -0
  77. data/app/views/statixite/templates/edit.html.haml +93 -0
  78. data/app/views/statixite/templates/upload_files.js.haml +2 -0
  79. data/config/routes.rb +24 -0
  80. data/db/migrate/20150525171543_create_statixite_sites.rb +15 -0
  81. data/db/migrate/20150530041055_create_statixite_posts.rb +14 -0
  82. data/db/migrate/20150610024047_create_statixite_deployments.rb +11 -0
  83. data/db/migrate/20151013131224_create_statixite_media.rb +10 -0
  84. data/lib/assets/templates.yaml +734 -0
  85. data/lib/generators/statixite/statixite_generator.rb +49 -0
  86. data/lib/statixite.rb +14 -0
  87. data/lib/statixite/cloud_sync.rb +104 -0
  88. data/lib/statixite/engine.rb +49 -0
  89. data/lib/statixite/version.rb +3 -0
  90. data/lib/tasks/statixite_tasks.rake +4 -0
  91. data/vendor/assets/bower_components/bootstrap/CHANGELOG.md +5 -0
  92. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +533 -0
  93. data/vendor/assets/bower_components/bootstrap/LICENSE +21 -0
  94. data/vendor/assets/bower_components/bootstrap/README.md +139 -0
  95. data/vendor/assets/bower_components/bootstrap/bower.json +34 -0
  96. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +587 -0
  97. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  98. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +6 -0
  99. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
  100. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css +6760 -0
  101. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -0
  102. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +6 -0
  103. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.map +1 -0
  104. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  105. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
  106. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  107. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  108. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  109. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +2363 -0
  110. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +7 -0
  111. data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +13 -0
  112. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  113. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  114. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  115. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  116. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  117. data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  118. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
  119. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
  120. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +44 -0
  121. data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +46 -0
  122. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +82 -0
  123. data/vendor/assets/bower_components/bootstrap/js/affix.js +162 -0
  124. data/vendor/assets/bower_components/bootstrap/js/alert.js +94 -0
  125. data/vendor/assets/bower_components/bootstrap/js/button.js +120 -0
  126. data/vendor/assets/bower_components/bootstrap/js/carousel.js +237 -0
  127. data/vendor/assets/bower_components/bootstrap/js/collapse.js +211 -0
  128. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +165 -0
  129. data/vendor/assets/bower_components/bootstrap/js/modal.js +337 -0
  130. data/vendor/assets/bower_components/bootstrap/js/popover.js +108 -0
  131. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +172 -0
  132. data/vendor/assets/bower_components/bootstrap/js/tab.js +155 -0
  133. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +514 -0
  134. data/vendor/assets/bower_components/bootstrap/js/transition.js +59 -0
  135. data/vendor/assets/bower_components/bootstrap/less/alerts.less +73 -0
  136. data/vendor/assets/bower_components/bootstrap/less/badges.less +66 -0
  137. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +56 -0
  138. data/vendor/assets/bower_components/bootstrap/less/breadcrumbs.less +26 -0
  139. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +244 -0
  140. data/vendor/assets/bower_components/bootstrap/less/buttons.less +166 -0
  141. data/vendor/assets/bower_components/bootstrap/less/carousel.less +270 -0
  142. data/vendor/assets/bower_components/bootstrap/less/close.less +34 -0
  143. data/vendor/assets/bower_components/bootstrap/less/code.less +69 -0
  144. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +33 -0
  145. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +216 -0
  146. data/vendor/assets/bower_components/bootstrap/less/forms.less +613 -0
  147. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +305 -0
  148. data/vendor/assets/bower_components/bootstrap/less/grid.less +84 -0
  149. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +171 -0
  150. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +54 -0
  151. data/vendor/assets/bower_components/bootstrap/less/labels.less +64 -0
  152. data/vendor/assets/bower_components/bootstrap/less/list-group.less +130 -0
  153. data/vendor/assets/bower_components/bootstrap/less/media.less +66 -0
  154. data/vendor/assets/bower_components/bootstrap/less/mixins.less +40 -0
  155. data/vendor/assets/bower_components/bootstrap/less/mixins/alerts.less +14 -0
  156. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +9 -0
  157. data/vendor/assets/bower_components/bootstrap/less/mixins/border-radius.less +18 -0
  158. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +65 -0
  159. data/vendor/assets/bower_components/bootstrap/less/mixins/center-block.less +7 -0
  160. data/vendor/assets/bower_components/bootstrap/less/mixins/clearfix.less +22 -0
  161. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +85 -0
  162. data/vendor/assets/bower_components/bootstrap/less/mixins/gradients.less +59 -0
  163. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +91 -0
  164. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +122 -0
  165. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +21 -0
  166. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +33 -0
  167. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +12 -0
  168. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +30 -0
  169. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-divider.less +10 -0
  170. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  171. data/vendor/assets/bower_components/bootstrap/less/mixins/opacity.less +8 -0
  172. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +24 -0
  173. data/vendor/assets/bower_components/bootstrap/less/mixins/panels.less +24 -0
  174. data/vendor/assets/bower_components/bootstrap/less/mixins/progress-bar.less +10 -0
  175. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-filter.less +8 -0
  176. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-text.less +18 -0
  177. data/vendor/assets/bower_components/bootstrap/less/mixins/resize.less +6 -0
  178. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +15 -0
  179. data/vendor/assets/bower_components/bootstrap/less/mixins/size.less +10 -0
  180. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +9 -0
  181. data/vendor/assets/bower_components/bootstrap/less/mixins/table-row.less +28 -0
  182. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +9 -0
  183. data/vendor/assets/bower_components/bootstrap/less/mixins/text-overflow.less +8 -0
  184. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +227 -0
  185. data/vendor/assets/bower_components/bootstrap/less/modals.less +150 -0
  186. data/vendor/assets/bower_components/bootstrap/less/navbar.less +660 -0
  187. data/vendor/assets/bower_components/bootstrap/less/navs.less +242 -0
  188. data/vendor/assets/bower_components/bootstrap/less/normalize.less +424 -0
  189. data/vendor/assets/bower_components/bootstrap/less/pager.less +54 -0
  190. data/vendor/assets/bower_components/bootstrap/less/pagination.less +89 -0
  191. data/vendor/assets/bower_components/bootstrap/less/panels.less +271 -0
  192. data/vendor/assets/bower_components/bootstrap/less/popovers.less +131 -0
  193. data/vendor/assets/bower_components/bootstrap/less/print.less +101 -0
  194. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +87 -0
  195. data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +35 -0
  196. data/vendor/assets/bower_components/bootstrap/less/responsive-utilities.less +194 -0
  197. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +161 -0
  198. data/vendor/assets/bower_components/bootstrap/less/tables.less +234 -0
  199. data/vendor/assets/bower_components/bootstrap/less/theme.less +291 -0
  200. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +36 -0
  201. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +101 -0
  202. data/vendor/assets/bower_components/bootstrap/less/type.less +302 -0
  203. data/vendor/assets/bower_components/bootstrap/less/utilities.less +55 -0
  204. data/vendor/assets/bower_components/bootstrap/less/variables.less +869 -0
  205. data/vendor/assets/bower_components/bootstrap/less/wells.less +29 -0
  206. data/vendor/assets/bower_components/bootstrap/nuget/MyGet.ps1 +8 -0
  207. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.less.nuspec +28 -0
  208. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.nuspec +28 -0
  209. data/vendor/assets/bower_components/bootstrap/package.js +32 -0
  210. data/vendor/assets/bower_components/bootstrap/package.json +87 -0
  211. data/vendor/assets/bower_components/jquery/AUTHORS.txt +275 -0
  212. data/vendor/assets/bower_components/jquery/LICENSE.txt +36 -0
  213. data/vendor/assets/bower_components/jquery/README.md +5 -0
  214. data/vendor/assets/bower_components/jquery/bower.json +14 -0
  215. data/vendor/assets/bower_components/jquery/dist/jquery.js +9831 -0
  216. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +4 -0
  217. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +1 -0
  218. data/vendor/assets/bower_components/jquery/src/ajax.js +845 -0
  219. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +100 -0
  220. data/vendor/assets/bower_components/jquery/src/ajax/load.js +83 -0
  221. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  222. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +27 -0
  223. data/vendor/assets/bower_components/jquery/src/ajax/script.js +68 -0
  224. data/vendor/assets/bower_components/jquery/src/ajax/var/location.js +3 -0
  225. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  226. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  227. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +167 -0
  228. data/vendor/assets/bower_components/jquery/src/attributes.js +11 -0
  229. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +142 -0
  230. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +177 -0
  231. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +109 -0
  232. data/vendor/assets/bower_components/jquery/src/attributes/support.js +36 -0
  233. data/vendor/assets/bower_components/jquery/src/attributes/val.js +170 -0
  234. data/vendor/assets/bower_components/jquery/src/callbacks.js +232 -0
  235. data/vendor/assets/bower_components/jquery/src/core.js +489 -0
  236. data/vendor/assets/bower_components/jquery/src/core/access.js +65 -0
  237. data/vendor/assets/bower_components/jquery/src/core/init.js +134 -0
  238. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +49 -0
  239. data/vendor/assets/bower_components/jquery/src/core/ready.js +103 -0
  240. data/vendor/assets/bower_components/jquery/src/core/support.js +18 -0
  241. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +5 -0
  242. data/vendor/assets/bower_components/jquery/src/css.js +515 -0
  243. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +24 -0
  244. data/vendor/assets/bower_components/jquery/src/css/adjustCSS.js +65 -0
  245. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +57 -0
  246. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +72 -0
  247. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  248. data/vendor/assets/bower_components/jquery/src/css/showHide.js +48 -0
  249. data/vendor/assets/bower_components/jquery/src/css/support.js +121 -0
  250. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  251. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +15 -0
  252. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +16 -0
  253. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  254. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  255. data/vendor/assets/bower_components/jquery/src/css/var/swap.js +24 -0
  256. data/vendor/assets/bower_components/jquery/src/data.js +187 -0
  257. data/vendor/assets/bower_components/jquery/src/data/Data.js +200 -0
  258. data/vendor/assets/bower_components/jquery/src/data/accepts.js +20 -0
  259. data/vendor/assets/bower_components/jquery/src/data/support.js +23 -0
  260. data/vendor/assets/bower_components/jquery/src/data/var/acceptData.js +18 -0
  261. data/vendor/assets/bower_components/jquery/src/data/var/dataPriv.js +5 -0
  262. data/vendor/assets/bower_components/jquery/src/data/var/dataUser.js +5 -0
  263. data/vendor/assets/bower_components/jquery/src/deferred.js +158 -0
  264. data/vendor/assets/bower_components/jquery/src/deprecated.js +32 -0
  265. data/vendor/assets/bower_components/jquery/src/dimensions.js +54 -0
  266. data/vendor/assets/bower_components/jquery/src/effects.js +629 -0
  267. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +121 -0
  268. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  269. data/vendor/assets/bower_components/jquery/src/effects/support.js +58 -0
  270. data/vendor/assets/bower_components/jquery/src/event.js +710 -0
  271. data/vendor/assets/bower_components/jquery/src/event/ajax.js +20 -0
  272. data/vendor/assets/bower_components/jquery/src/event/alias.js +27 -0
  273. data/vendor/assets/bower_components/jquery/src/event/focusin.js +53 -0
  274. data/vendor/assets/bower_components/jquery/src/event/support.js +9 -0
  275. data/vendor/assets/bower_components/jquery/src/event/trigger.js +199 -0
  276. data/vendor/assets/bower_components/jquery/src/exports/amd.js +24 -0
  277. data/vendor/assets/bower_components/jquery/src/exports/global.js +26 -0
  278. data/vendor/assets/bower_components/jquery/src/intro.js +44 -0
  279. data/vendor/assets/bower_components/jquery/src/jquery.js +37 -0
  280. data/vendor/assets/bower_components/jquery/src/manipulation.js +481 -0
  281. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +20 -0
  282. data/vendor/assets/bower_components/jquery/src/manipulation/buildFragment.js +102 -0
  283. data/vendor/assets/bower_components/jquery/src/manipulation/createSafeFragment.js +20 -0
  284. data/vendor/assets/bower_components/jquery/src/manipulation/getAll.js +21 -0
  285. data/vendor/assets/bower_components/jquery/src/manipulation/setGlobalEval.js +20 -0
  286. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +33 -0
  287. data/vendor/assets/bower_components/jquery/src/manipulation/var/nodeNames.js +5 -0
  288. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  289. data/vendor/assets/bower_components/jquery/src/manipulation/var/rleadingWhitespace.js +3 -0
  290. data/vendor/assets/bower_components/jquery/src/manipulation/var/rscriptType.js +3 -0
  291. data/vendor/assets/bower_components/jquery/src/manipulation/var/rtagName.js +3 -0
  292. data/vendor/assets/bower_components/jquery/src/manipulation/wrapMap.js +27 -0
  293. data/vendor/assets/bower_components/jquery/src/offset.js +221 -0
  294. data/vendor/assets/bower_components/jquery/src/outro.js +2 -0
  295. data/vendor/assets/bower_components/jquery/src/queue.js +143 -0
  296. data/vendor/assets/bower_components/jquery/src/queue/delay.js +22 -0
  297. data/vendor/assets/bower_components/jquery/src/selector-native.js +211 -0
  298. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +14 -0
  299. data/vendor/assets/bower_components/jquery/src/selector.js +1 -0
  300. data/vendor/assets/bower_components/jquery/src/serialize.js +125 -0
  301. data/vendor/assets/bower_components/jquery/src/support.js +63 -0
  302. data/vendor/assets/bower_components/jquery/src/traversing.js +175 -0
  303. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  304. data/vendor/assets/bower_components/jquery/src/traversing/var/dir.js +20 -0
  305. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  306. data/vendor/assets/bower_components/jquery/src/traversing/var/siblings.js +15 -0
  307. data/vendor/assets/bower_components/jquery/src/var/arr.js +3 -0
  308. data/vendor/assets/bower_components/jquery/src/var/class2type.js +5 -0
  309. data/vendor/assets/bower_components/jquery/src/var/concat.js +5 -0
  310. data/vendor/assets/bower_components/jquery/src/var/deletedIds.js +3 -0
  311. data/vendor/assets/bower_components/jquery/src/var/document.js +3 -0
  312. data/vendor/assets/bower_components/jquery/src/var/documentElement.js +5 -0
  313. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +5 -0
  314. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +5 -0
  315. data/vendor/assets/bower_components/jquery/src/var/pnum.js +3 -0
  316. data/vendor/assets/bower_components/jquery/src/var/push.js +5 -0
  317. data/vendor/assets/bower_components/jquery/src/var/rcssNum.js +7 -0
  318. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  319. data/vendor/assets/bower_components/jquery/src/var/slice.js +5 -0
  320. data/vendor/assets/bower_components/jquery/src/var/support.js +5 -0
  321. data/vendor/assets/bower_components/jquery/src/var/toString.js +5 -0
  322. data/vendor/assets/bower_components/jquery/src/wrap.js +79 -0
  323. data/vendor/assets/bower_components/jsoneditor/CONTRIBUTING.md +15 -0
  324. data/vendor/assets/bower_components/jsoneditor/HISTORY.md +457 -0
  325. data/vendor/assets/bower_components/jsoneditor/LICENSE +176 -0
  326. data/vendor/assets/bower_components/jsoneditor/NOTICE +17 -0
  327. data/vendor/assets/bower_components/jsoneditor/README.md +155 -0
  328. data/vendor/assets/bower_components/jsoneditor/bower.json +32 -0
  329. data/vendor/assets/bower_components/jsoneditor/dist/img/jsoneditor-icons.svg +893 -0
  330. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor-minimalist.js +9418 -0
  331. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor-minimalist.map +1 -0
  332. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor-minimalist.min.js +35 -0
  333. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.css.less +879 -0
  334. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.js +35095 -0
  335. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.map +1 -0
  336. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.min.css +1 -0
  337. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.min.js +48 -0
  338. data/vendor/assets/bower_components/jsoneditor/dist/which files do I need.md +41 -0
  339. data/vendor/assets/bower_components/jsoneditor/docs/api.md +286 -0
  340. data/vendor/assets/bower_components/jsoneditor/docs/shortcut_keys.md +38 -0
  341. data/vendor/assets/bower_components/jsoneditor/docs/usage.md +117 -0
  342. data/vendor/assets/bower_components/jsoneditor/examples/01_basic_usage.html +49 -0
  343. data/vendor/assets/bower_components/jsoneditor/examples/02_viewer.html +44 -0
  344. data/vendor/assets/bower_components/jsoneditor/examples/03_switch_mode.html +66 -0
  345. data/vendor/assets/bower_components/jsoneditor/examples/04_load_and_save.html +62 -0
  346. data/vendor/assets/bower_components/jsoneditor/examples/05_custom_fields_editable.html +63 -0
  347. data/vendor/assets/bower_components/jsoneditor/examples/06_custom_styling.html +51 -0
  348. data/vendor/assets/bower_components/jsoneditor/examples/07_json_schema_validation.html +71 -0
  349. data/vendor/assets/bower_components/jsoneditor/examples/css/darktheme.css +76 -0
  350. data/vendor/assets/bower_components/jsoneditor/examples/requirejs_demo/requirejs_demo.html +21 -0
  351. data/vendor/assets/bower_components/jsoneditor/examples/requirejs_demo/scripts/main.js +25 -0
  352. data/vendor/assets/bower_components/jsoneditor/examples/requirejs_demo/scripts/require.js +36 -0
  353. data/vendor/assets/bower_components/jsoneditor/index.js +1 -0
  354. data/vendor/assets/bower_components/jsoneditor/package.json +41 -0
  355. data/vendor/assets/bower_components/jsoneditor/src/css/contextmenu.css +233 -0
  356. data/vendor/assets/bower_components/jsoneditor/src/css/img/description.txt +14 -0
  357. data/vendor/assets/bower_components/jsoneditor/src/css/img/jsoneditor-icons.svg +893 -0
  358. data/vendor/assets/bower_components/jsoneditor/src/css/jsoneditor.css +433 -0
  359. data/vendor/assets/bower_components/jsoneditor/src/css/menu.css +110 -0
  360. data/vendor/assets/bower_components/jsoneditor/src/css/searchbox.css +75 -0
  361. data/vendor/assets/bower_components/jsoneditor/src/docs/which files do I need.md +41 -0
  362. data/vendor/assets/bower_components/jsoneditor/src/js/ContextMenu.js +455 -0
  363. data/vendor/assets/bower_components/jsoneditor/src/js/Highlighter.js +84 -0
  364. data/vendor/assets/bower_components/jsoneditor/src/js/History.js +252 -0
  365. data/vendor/assets/bower_components/jsoneditor/src/js/JSONEditor.js +371 -0
  366. data/vendor/assets/bower_components/jsoneditor/src/js/Node.js +3400 -0
  367. data/vendor/assets/bower_components/jsoneditor/src/js/SearchBox.js +295 -0
  368. data/vendor/assets/bower_components/jsoneditor/src/js/ace/index.js +9 -0
  369. data/vendor/assets/bower_components/jsoneditor/src/js/ace/theme-jsoneditor.js +144 -0
  370. data/vendor/assets/bower_components/jsoneditor/src/js/appendNodeFactory.js +226 -0
  371. data/vendor/assets/bower_components/jsoneditor/src/js/assets/jsonlint/README.md +15 -0
  372. data/vendor/assets/bower_components/jsoneditor/src/js/assets/jsonlint/jsonlint.js +418 -0
  373. data/vendor/assets/bower_components/jsoneditor/src/js/header.js +29 -0
  374. data/vendor/assets/bower_components/jsoneditor/src/js/modeswitcher.js +105 -0
  375. data/vendor/assets/bower_components/jsoneditor/src/js/textmode.js +474 -0
  376. data/vendor/assets/bower_components/jsoneditor/src/js/treemode.js +1150 -0
  377. data/vendor/assets/bower_components/jsoneditor/src/js/util.js +765 -0
  378. data/vendor/assets/bower_components/notifyjs/CHANGES.md +7 -0
  379. data/vendor/assets/bower_components/notifyjs/README.md +31 -0
  380. data/vendor/assets/bower_components/notifyjs/bower.json +14 -0
  381. data/vendor/assets/bower_components/notifyjs/dist/notify.js +586 -0
  382. data/vendor/assets/bower_components/notifyjs/dist/styles/metro/notify-metro.css +40 -0
  383. data/vendor/assets/bower_components/notifyjs/dist/styles/metro/notify-metro.js +39 -0
  384. data/vendor/assets/bower_components/notifyjs/examples/classes.html +49 -0
  385. data/vendor/assets/bower_components/notifyjs/examples/images/Mail.png +0 -0
  386. data/vendor/assets/bower_components/notifyjs/examples/inlines.html +111 -0
  387. data/vendor/assets/bower_components/notifyjs/examples/metro.html +37 -0
  388. data/vendor/assets/bower_components/notifyjs/examples/multi-text.html +55 -0
  389. data/vendor/assets/bower_components/notifyjs/examples/position.html +42 -0
  390. data/vendor/assets/bower_components/notifyjs/notify.jquery.json +28 -0
  391. data/vendor/assets/bower_components/notifyjs/package.json +18 -0
  392. data/vendor/assets/bower_components/vue/LICENSE +21 -0
  393. data/vendor/assets/bower_components/vue/bower.json +19 -0
  394. data/vendor/assets/bower_components/vue/dist/vue.js +10198 -0
  395. data/vendor/assets/bower_components/vue/dist/vue.min.js +8 -0
  396. data/vendor/assets/bower_components/vue/src/api/child.js +49 -0
  397. data/vendor/assets/bower_components/vue/src/api/data.js +159 -0
  398. data/vendor/assets/bower_components/vue/src/api/dom.js +226 -0
  399. data/vendor/assets/bower_components/vue/src/api/events.js +174 -0
  400. data/vendor/assets/bower_components/vue/src/api/global.js +129 -0
  401. data/vendor/assets/bower_components/vue/src/api/lifecycle.js +68 -0
  402. data/vendor/assets/bower_components/vue/src/batcher.js +98 -0
  403. data/vendor/assets/bower_components/vue/src/cache.js +112 -0
  404. data/vendor/assets/bower_components/vue/src/compiler/compile-props.js +183 -0
  405. data/vendor/assets/bower_components/vue/src/compiler/compile.js +630 -0
  406. data/vendor/assets/bower_components/vue/src/compiler/index.js +4 -0
  407. data/vendor/assets/bower_components/vue/src/compiler/transclude.js +144 -0
  408. data/vendor/assets/bower_components/vue/src/config.js +124 -0
  409. data/vendor/assets/bower_components/vue/src/directive.js +254 -0
  410. data/vendor/assets/bower_components/vue/src/directives/attr.js +59 -0
  411. data/vendor/assets/bower_components/vue/src/directives/class.js +70 -0
  412. data/vendor/assets/bower_components/vue/src/directives/cloak.js +10 -0
  413. data/vendor/assets/bower_components/vue/src/directives/component.js +344 -0
  414. data/vendor/assets/bower_components/vue/src/directives/el.js +12 -0
  415. data/vendor/assets/bower_components/vue/src/directives/html.js +40 -0
  416. data/vendor/assets/bower_components/vue/src/directives/if.js +125 -0
  417. data/vendor/assets/bower_components/vue/src/directives/index.js +24 -0
  418. data/vendor/assets/bower_components/vue/src/directives/model/checkbox.js +42 -0
  419. data/vendor/assets/bower_components/vue/src/directives/model/index.js +82 -0
  420. data/vendor/assets/bower_components/vue/src/directives/model/radio.js +33 -0
  421. data/vendor/assets/bower_components/vue/src/directives/model/select.js +236 -0
  422. data/vendor/assets/bower_components/vue/src/directives/model/text.js +132 -0
  423. data/vendor/assets/bower_components/vue/src/directives/on.js +59 -0
  424. data/vendor/assets/bower_components/vue/src/directives/prop.js +62 -0
  425. data/vendor/assets/bower_components/vue/src/directives/ref.js +22 -0
  426. data/vendor/assets/bower_components/vue/src/directives/repeat.js +770 -0
  427. data/vendor/assets/bower_components/vue/src/directives/show.js +8 -0
  428. data/vendor/assets/bower_components/vue/src/directives/style.js +110 -0
  429. data/vendor/assets/bower_components/vue/src/directives/text.js +14 -0
  430. data/vendor/assets/bower_components/vue/src/directives/transition.js +26 -0
  431. data/vendor/assets/bower_components/vue/src/element-directives/content.js +111 -0
  432. data/vendor/assets/bower_components/vue/src/element-directives/index.js +2 -0
  433. data/vendor/assets/bower_components/vue/src/element-directives/partial.js +73 -0
  434. data/vendor/assets/bower_components/vue/src/filters/array-filters.js +97 -0
  435. data/vendor/assets/bower_components/vue/src/filters/index.js +146 -0
  436. data/vendor/assets/bower_components/vue/src/instance/compile.js +200 -0
  437. data/vendor/assets/bower_components/vue/src/instance/events.js +139 -0
  438. data/vendor/assets/bower_components/vue/src/instance/init.js +89 -0
  439. data/vendor/assets/bower_components/vue/src/instance/misc.js +93 -0
  440. data/vendor/assets/bower_components/vue/src/instance/scope.js +282 -0
  441. data/vendor/assets/bower_components/vue/src/observer/array.js +98 -0
  442. data/vendor/assets/bower_components/vue/src/observer/dep.js +61 -0
  443. data/vendor/assets/bower_components/vue/src/observer/index.js +234 -0
  444. data/vendor/assets/bower_components/vue/src/observer/object.js +82 -0
  445. data/vendor/assets/bower_components/vue/src/parsers/directive.js +180 -0
  446. data/vendor/assets/bower_components/vue/src/parsers/expression.js +264 -0
  447. data/vendor/assets/bower_components/vue/src/parsers/path.js +348 -0
  448. data/vendor/assets/bower_components/vue/src/parsers/template.js +288 -0
  449. data/vendor/assets/bower_components/vue/src/parsers/text.js +178 -0
  450. data/vendor/assets/bower_components/vue/src/transition/index.js +128 -0
  451. data/vendor/assets/bower_components/vue/src/transition/queue.js +35 -0
  452. data/vendor/assets/bower_components/vue/src/transition/transition.js +357 -0
  453. data/vendor/assets/bower_components/vue/src/util/component.js +124 -0
  454. data/vendor/assets/bower_components/vue/src/util/debug.js +64 -0
  455. data/vendor/assets/bower_components/vue/src/util/dom.js +272 -0
  456. data/vendor/assets/bower_components/vue/src/util/env.js +85 -0
  457. data/vendor/assets/bower_components/vue/src/util/index.js +9 -0
  458. data/vendor/assets/bower_components/vue/src/util/lang.js +310 -0
  459. data/vendor/assets/bower_components/vue/src/util/options.js +357 -0
  460. data/vendor/assets/bower_components/vue/src/vue.js +89 -0
  461. data/vendor/assets/bower_components/vue/src/watcher.js +312 -0
  462. metadata +870 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsoneditor-minimalist.map","sources":["./dist/jsoneditor-minimalist.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","JSONEditor","container","options","json","Error","ieVersion","util","getInternetExplorerVersion","error","console","warn","onError","change","onChange","editable","onEditable","VALID_OPTIONS","Object","keys","forEach","option","indexOf","arguments","length","_create","Ajv","e","code","err","treemode","textmode","modes","prototype","DEBOUNCE_INTERVAL","mode","setMode","_delete","set","get","setText","jsonText","parse","getText","JSON","stringify","setName","name","getName","data","extend","oldMode","config","asText","clear","mixin","create","load","onModeChange","_onError","getMode","setSchema","schema","ajv","allErrors","verbose","validateSchema","compile","validate","registerMode","i","prop","isArray","reserved","Highlighter","History","SearchBox","ContextMenu","Node","modeswitcher","dom","highlighter","selection","undefined","multiselection","nodes","errorNodes","_setOptions","history","_createFrame","_createTable","frame","parentNode","removeChild","search","hasOwnProperty","_debouncedValidate","debounce","bind","focusNode","domFocus","Function","content","table","params","field","value","node","_setRoot","recurse","expand","appendChild","searchBox","blur","getValue","updateField","focus","input","querySelector","menu","collapse","tbody","getDom","text","results","expandAll","collapseAll","_onAction","action","add","_onChange","setError","duplicateErrors","schemaErrors","valid","errors","map","improveSchemaError","findNode","dataPath","filter","entry","concat","reduce","all","findParents","parent","child","message","type","startAutoScroll","mouseY","me","top","getAbsoluteTop","height","clientHeight","bottom","margin","interval","scrollTop","autoScrollStep","scrollHeight","autoScrollTimer","setInterval","stopAutoScroll","clearTimeout","setSelection","select","range","setSelectionOffset","getSelection","getSelectionOffset","nodeName","slice","scrollTo","callback","editor","animateTimeout","animateCallback","finalScrollTop","Math","min","max","animate","diff","abs","setTimeout","onEvent","event","_onEvent","document","createElement","className","onclick","target","preventDefault","oninput","onchange","onkeydown","onkeyup","oncut","onpaste","onmousedown","onmouseup","onmouseover","onmouseout","addEventListener","onfocusin","onfocusout","title","undo","_onUndo","redo","_onRedo","disabled","canUndo","canRedo","modeBox","_onKeyDown","_startDragDistance","_updateDragDistance","getNodeFromTarget","selected","showContextMenu","hasMoved","deselect","onDragStart","drag","_onMultiSelectStart","dragDistanceEvent","initialTarget","initialPageX","pageX","initialPageY","pageY","dragDistance","diffX","diffY","sqrt","start","end","mousemove","window","_onMultiSelect","mouseup","_onMultiSelectEnd","_findTopLevelNodes","removeEventListener","clearStartAndEnd","setSelected","Array","first","startPath","getPath","endPath","startChild","endChild","childs","startIndex","endIndex","firstIndex","lastIndex","keynum","which","keyCode","ctrlKey","shiftKey","handled","selectContentEditable","previous","next","stopPropagation","contentOuter","col","colgroupContent","width","anchor","onClose","items","push","click","onDuplicate","onRemove","close","show","ace","MAX_ERRORS","indentation","Number","_ace","theme","aceEditor","textarea","clientWidth","buttonFormat","format","buttonCompact","compact","editorDom","style","edit","$blockScrolling","Infinity","setTheme","setShowPrintMargin","setFontSize","getSession","setTabSize","setUseSoftTabs","setUseWrapMode","commands","bindKey","defineProperty","poweredBy","createTextNode","href","open","on","spellcheck","destroy","resize","force","sanitize","escapeUnicode","escapeUnicodeChars","originalOnChange","setValue","validationErrors","marginBottom","paddingBottom","doValidate","limit","hidden","innerHTML","join","jsonlint","jsonString","jsString","curr","charAt","prev","lastNonWhitespace","chars","pp","skipBlockComment","skipComment","parseString","quote","parseKey","specialValues","key","regexp","test","match","replace","charCodeAt","toString","a","b","object","String","Boolean","RegExp","isUrlRegex","isUrl","obj","getAbsoluteLeft","elem","rect","getBoundingClientRect","left","pageXOffset","scrollLeft","pageYOffset","addClassName","classes","split","removeClassName","index","splice","stripFormatting","divElement","childNodes","iMax","removeAttribute","attributes","j","attribute","specified","setEndOfContentEditable","contentEditableElement","createRange","selectNodeContents","removeAllRanges","addRange","sel","getRangeAt","rangeCount","startContainer","endContainer","startOffset","endOffset","firstChild","setStart","setEnd","getInnerText","element","buffer","flush","nodeValue","hasChildNodes","innerText","prevChild","prevName","_ieVersion","rv","navigator","appName","ua","userAgent","re","exec","parseFloat","$1","isFirefox","listener","useCapture","attachEvent","f","detachEvent","parsePath","jsonPath","remainder","substr","SyntaxError","substring","keyword","enums","more","insideRect","_margin","right","func","wait","immediate","timeout","context","args","later","apply","callNow","textDiff","oldText","newText","len","oldEnd","newEnd","createModeSwitcher","current","switchMode","availableModes","form","tree","view","item","currentMode","currentTitle","box","div","position","locked","highlight","setHighlight","_cancelUnhighlight","unhighlight","unhighlightTimer","lock","unlock","actions","editField","oldValue","newValue","editValue","updateValue","changeType","oldType","newType","appendNodes","insertBeforeNodes","insertBefore","beforeNode","insertAfterNodes","afterNode","insertAfter","removeNodes","append","duplicateNodes","moveNodes","oldBeforeNode","moveBefore","newBeforeNode","sort","hideChilds","oldSort","oldChilds","showChilds","newSort","newChilds","timestamp","Date","oldSelection","newSelection","delay","lastText","tr","td","divInput","tableInput","tbodySearch","refreshSearch","_onDelayedSearch","_onSearch","_onKeyUp","searchNext","searchPrevious","resultIndex","_setActiveResult","activeResult","prevNode","prevElem","searchFieldActive","searchValueActive","updateDom","_clearDelay","forceSearch","resultCount","createMenuItems","list","domItems","separator","li","domItem","button","hide","submenu","divIcon","buttonSubmenu","buttonExpand","submenuTitle","divExpand","_onExpandItem","domSubItems","subItems","ul","eventListeners","focusButton","overflow","maxHeight","_getVisibleButtons","buttons","expandedItem","subItem","visibleMenu","contentWindow","showBelow","anchorRect","contentRect","anchorHeight","offsetHeight","mousedown","_isChildOf","keydown","fn","alreadyVisible","padding","display","targetIndex","prevButton","nextButton","expanded","setField","fieldEditable","_debouncedOnChangeValue","_onChangeValue","_debouncedOnChangeField","_onChangeField","appendNodeFactory","_updateEditability","path","getFieldsPath","unshift","shift","parents","tdError","tdValue","popover","onfocus","directions","direction","popoverRect","fit","getIndex","setParent","previousField","getField","_getDomField","childValue","_getType","childField","previousValue","arr","_getDomValue","getLevel","clone","fieldInnerText","valueInnerText","cloneChilds","childClone","getAppend","nextTr","nextSibling","_hasChilds","newTr","appendTr","updateIndexes","trTemp","AppendNode","moveTo","currentIndex","toLowerCase","searchField","searchValue","_updateDomField","childResults","_updateDomValue","offsetTop","focusElement","elementName","editableDiv","containsNode","_move","clearDom","removedNode","_remove","lastTr","_stringCast","silent","_unescapeHTML","str","undoDiff","redoDiff","domValue","classNames","isEmpty","count","checkbox","tdCheckbox","checked","domField","duplicateKeys","tdDrag","domDrag","tdMenu","tdField","_createDomTree","firstNode","lastNode","draggedNode","_nextSibling","offsetY","onDrag","onDragEnd","oldCursor","body","cursor","mouseX","level","trThis","trPrev","trNext","trFirst","trLast","trRoot","nodePrev","nodeNext","topThis","topPrev","topFirst","heightThis","bottomNext","heightNext","moved","previousSibling","diffLevel","round","levelNext","isDraggedNode","some","n","_createDomField","isFirst","domTree","marginLeft","contentEditable","_escapeHTML","_updateDomIndexes","_createDomValue","_createDomExpandButton","borderCollapse","tdExpand","tdSeparator","srcElement","expandable","_onExpand","offsetX","onKeyDown","nextNode","nextDom","nextDom2","altKey","selectedNodes","_onInsertBefore","_onInsertAfter","endNode","_lastNode","_getElementName","homeNode","_firstNode","prevElement","_previousElement","appendDom","nextNode2","_previousNode","nextElement","_nextElement","prevDom","isVisible","_nextNode","blurNodes","clones","newNode","_onAppend","_onChangeType","_onSort","order","firstDom","lastDom","lastChild","TYPE_TITLES","auto","array","string","titles","lower","num","numFloat","isNaN","htmlEscaped","html","escapedText","_escapeJSON","escaped","parser","trace","yy","symbols_","JSONString","STRING","JSONNumber","NUMBER","JSONNullLiteral","NULL","JSONBooleanLiteral","TRUE","FALSE","JSONText","JSONValue","EOF","JSONObject","JSONArray","{","}","JSONMemberList","JSONMember",":",",","[","]","JSONElementList","$accept","$end","terminals_",2,4,6,8,10,11,14,17,18,21,22,23,24,"productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","$",3,5,7,9,12,13,15,16,1,19,20,25,"defaultActions","parseError","hash","popStack","stack","vstack","lstack","lex","token","self","lexer","recovering","TERROR","setInput","yylloc","yyloc","symbol","preErrorSymbol","state","r","newState","expected","yyval","errStr","showPosition","line","loc","first_line","last_line","first_column","last_column","_input","_more","_less","done","matched","conditionStack","ch","lines","unput","less","pastInput","past","upcomingInput","pre","tempMatch","rules","_currentRules","flex","begin","condition","popState","pop","conditions","topState","pushState","yy_","$avoiding_name_collisions","YY_START","INITIAL","inclusive","trAppend","tdAppend","domText","paddingLeft","acequire","isDark","cssClass","cssText","importCssString","oop","TextHighlightRules","JsonHighlightRules","$rules","regex","inherits","Range","MatchingBraceOutdent","checkOutdent","autoOutdent","doc","row","getLine","column","openBracePos","findMatchingBracket","indent","$getIndent","Behaviour","TokenIterator","lang","SAFE_INSERT_IN_TOKENS","SAFE_INSERT_BEFORE_TOKENS","contextCache","initContext","multiSelect","autoInsertedBrackets","autoInsertedRow","autoInsertedLineEnd","maybeInsertedBrackets","maybeInsertedRow","maybeInsertedLineStart","maybeInsertedLineEnd","getWrapped","opening","closing","rowDiff","CstyleBehaviour","session","getCursorPosition","getSelectionRange","getTextRange","getWrapBehavioursEnabled","isSaneInsertion","inMultiSelectMode","recordAutoInsert","recordMaybeInsert","rightChar","matching","$findOpeningBracket","isAutoInsertedClosing","popAutoInsertedClosing","isMaybeInsertedClosing","stringRepeat","clearMaybeInsertedClosing","next_indent","getTabString","isMultiLine","leftChar","getTokenAt","rightToken","pair","stringBefore","stringAfter","wordRe","$mode","tokenRe","isWordBefore","isWordAfter","iterator","$matchTokenType","getCurrentToken","iterator2","stepForward","getCurrentTokenRow","types","bracket","BaseFoldMode","FoldMode","commentRegex","foldingStartMarker","source","foldingStopMarker","singleLineBlockCommentRe","tripleStarBlockCommentRe","startRegionRe","_getFoldWidgetBase","getFoldWidget","foldStyle","fw","getFoldWidgetRange","forceMultiline","getCommentRegionBlock","openingBracketBlock","getCommentFoldRange","getSectionRange","closingBracketBlock","startIndent","startRow","startColumn","endRow","maxRow","getLength","subRange","depth","TextMode","Mode","HighlightRules","CStyleFoldMode","WorkerClient","$outdent","$behaviour","foldingRules","getNextLineIndent","tab","createWorker","worker","attachToDocument","getDocument","setAnnotations","clearAnnotations","$id","searchboxCss","HashHandler","keyUtil","showReplaceForm","$init","setEditor","$initElements","sb","replaceBox","searchOptions","regExpOption","caseSensitiveOption","wholeWordOption","searchInput","replaceInput","_this","addListener","activeInput","t","getAttribute","$searchBarKb","addCommandKeyListener","hashId","keyString","keyCodeToString","command","findKeyCommand","stopEvent","$onChange","delayedCall","find","schedule","$closeSearchBarKb","bindKeys","Ctrl-f|Command-f","isReplace","Ctrl-H|Command-Option-F","Ctrl-G|Command-G","findNext","Ctrl-Shift-G|Command-Shift-G","findPrev","esc","Return","Shift-Return","Alt-Return","replaceAll","findAll","Tab","addCommands","win","mac","$syncOptions","setCssClass","$search","$options","renderer","updateBackMarkers","skipCurrent","backwards","preventScroll","wrap","regExp","caseSensitive","wholeWord","noMatch","_emit","getReadOnly","replaceAndFindNext","keyBinding","removeKeyboardHandler","addKeyboardHandler","isFocused","el","activeElement","Search","src"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * jsoneditor.js
3
+ *
4
+ * @brief
5
+ * JSONEditor is a web-based tool to view, edit, format, and validate JSON.
6
+ * It has various modes such as a tree editor, a code editor, and a plain text
7
+ * editor.
8
+ *
9
+ * Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 8+
10
+ *
11
+ * @license
12
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
13
+ * use this file except in compliance with the License. You may obtain a copy
14
+ * of the License at
15
+ *
16
+ * http://www.apache.org/licenses/LICENSE-2.0
17
+ *
18
+ * Unless required by applicable law or agreed to in writing, software
19
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
20
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
21
+ * License for the specific language governing permissions and limitations under
22
+ * the License.
23
+ *
24
+ * Copyright (c) 2011-2016 Jos de Jong, http://jsoneditoronline.org
25
+ *
26
+ * @author Jos de Jong, <wjosdejong@gmail.com>
27
+ * @version 5.1.3
28
+ * @date 2016-02-03
29
+ */
30
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.JSONEditor=t():e.JSONEditor=t()}(this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){function i(e,t,n){if(!(this instanceof i))throw new Error('JSONEditor constructor called without "new".');var o=l.getInternetExplorerVersion();if(-1!=o&&9>o)throw new Error("Unsupported browser, IE9 or newer required. Please install the newest version of your browser.");if(t&&(t.error&&(console.warn('Option "error" has been renamed to "onError"'),t.onError=t.error,delete t.error),t.change&&(console.warn('Option "change" has been renamed to "onChange"'),t.onChange=t.change,delete t.change),t.editable&&(console.warn('Option "editable" has been renamed to "onEditable"'),t.onEditable=t.editable,delete t.editable),t)){var r=["ace","theme","ajv","schema","onChange","onEditable","onError","onModeChange","escapeUnicode","history","search","mode","modes","name","indentation"];Object.keys(t).forEach(function(e){-1===r.indexOf(e)&&console.warn('Unknown option "'+e+'". This option will be ignored')})}arguments.length&&this._create(e,t,n)}var o;try{o=n(!function(){var e=new Error('Cannot find module "ajv"');throw e.code="MODULE_NOT_FOUND",e}())}catch(r){}var s=n(1),a=n(2),l=n(3);i.modes={},i.prototype.DEBOUNCE_INTERVAL=150,i.prototype._create=function(e,t,n){this.container=e,this.options=t||{},this.json=n||{};var i=this.options.mode||"tree";this.setMode(i)},i.prototype._delete=function(){},i.prototype.set=function(e){this.json=e},i.prototype.get=function(){return this.json},i.prototype.setText=function(e){this.json=l.parse(e)},i.prototype.getText=function(){return JSON.stringify(this.json)},i.prototype.setName=function(e){this.options||(this.options={}),this.options.name=e},i.prototype.getName=function(){return this.options&&this.options.name},i.prototype.setMode=function(e){var t,n,o=this.container,r=l.extend({},this.options),s=r.mode;r.mode=e;var a=i.modes[e];if(!a)throw new Error('Unknown mode "'+r.mode+'"');try{var c="text"==a.data;if(n=this.getName(),t=this[c?"getText":"get"](),this._delete(),l.clear(this),l.extend(this,a.mixin),this.create(o,r),this.setName(n),this[c?"setText":"set"](t),"function"==typeof a.load)try{a.load.call(this)}catch(d){console.error(d)}if("function"==typeof r.onModeChange&&e!==s)try{r.onModeChange(e,s)}catch(d){console.error(d)}}catch(d){this._onError(d)}},i.prototype.getMode=function(){return this.options.mode},i.prototype._onError=function(e){if(!this.options||"function"!=typeof this.options.onError)throw e;this.options.onError(e)},i.prototype.setSchema=function(e){if(e){var t;try{t=this.options.ajv||o({allErrors:!0,verbose:!0})}catch(n){console.warn("Failed to create an instance of Ajv, JSON Schema validation is not available. Please use a JSONEditor bundle including Ajv, or pass an instance of Ajv as via the configuration option `ajv`.")}t&&(this.validateSchema=t.compile(e),this.options.schema=e,this.validate())}else this.validateSchema=null,this.options.schema=null,this.validate()},i.prototype.validate=function(){},i.registerMode=function(e){var t,n;if(l.isArray(e))for(t=0;t<e.length;t++)i.registerMode(e[t]);else{if(!("mode"in e))throw new Error('Property "mode" missing');if(!("mixin"in e))throw new Error('Property "mixin" missing');if(!("data"in e))throw new Error('Property "data" missing');var o=e.mode;if(o in i.modes)throw new Error('Mode "'+o+'" already registered');if("function"!=typeof e.mixin.create)throw new Error('Required function "create" missing on mixin');var r=["setMode","registerMode","modes"];for(t=0;t<r.length;t++)if(n=r[t],n in e.mixin)throw new Error('Reserved property "'+n+'" not allowed in mixin');i.modes[o]=e}},i.registerMode(s),i.registerMode(a),e.exports=i},function(e,t,n){var i=n(5),o=n(6),r=n(7),s=n(8),a=n(9),l=n(4),c=n(3),d={};d.create=function(e,t){if(!e)throw new Error("No container element provided.");this.container=e,this.dom={},this.highlighter=new i,this.selection=void 0,this.multiselection={nodes:[]},this.validateSchema=null,this.errorNodes=[],this._setOptions(t),this.options.history&&"view"!==this.options.mode&&(this.history=new o(this)),this._createFrame(),this._createTable()},d._delete=function(){this.frame&&this.container&&this.frame.parentNode==this.container&&this.container.removeChild(this.frame)},d._setOptions=function(e){if(this.options={search:!0,history:!0,mode:"tree",name:void 0,schema:null},e)for(var t in e)e.hasOwnProperty(t)&&(this.options[t]=e[t]);this.setSchema(this.options.schema),this._debouncedValidate=c.debounce(this.validate.bind(this),this.DEBOUNCE_INTERVAL)};var h=void 0,u=null;d.set=function(e,t){if(t&&(console.warn('Second parameter "name" is deprecated. Use setName(name) instead.'),this.options.name=t),e instanceof Function||void 0===e)this.clear();else{this.content.removeChild(this.table);var n={field:this.options.name,value:e},i=new a(this,n);this._setRoot(i),this.validate();var o=!1;this.node.expand(o),this.content.appendChild(this.table)}this.history&&this.history.clear(),this.searchBox&&this.searchBox.clear()},d.get=function(){return h&&h.blur(),this.node?this.node.getValue():void 0},d.getText=function(){return JSON.stringify(this.get())},d.setText=function(e){this.set(c.parse(e))},d.setName=function(e){this.options.name=e,this.node&&this.node.updateField(this.options.name)},d.getName=function(){return this.options.name},d.focus=function(){var e=this.content.querySelector("[contenteditable=true]");e?e.focus():this.node.dom.expand?this.node.dom.expand.focus():this.node.dom.menu?this.node.dom.menu.focus():(e=this.frame.querySelector("button"),e&&e.focus())},d.clear=function(){this.node&&(this.node.collapse(),this.tbody.removeChild(this.node.getDom()),delete this.node)},d._setRoot=function(e){this.clear(),this.node=e,this.tbody.appendChild(e.getDom())},d.search=function(e){var t;return this.node?(this.content.removeChild(this.table),t=this.node.search(e),this.content.appendChild(this.table)):t=[],t},d.expandAll=function(){this.node&&(this.content.removeChild(this.table),this.node.expand(),this.content.appendChild(this.table))},d.collapseAll=function(){this.node&&(this.content.removeChild(this.table),this.node.collapse(),this.content.appendChild(this.table))},d._onAction=function(e,t){this.history&&this.history.add(e,t),this._onChange()},d._onChange=function(){if(this._debouncedValidate(),this.options.onChange)try{this.options.onChange()}catch(e){console.error("Error in onChange callback: ",e)}},d.validate=function(){this.errorNodes&&this.errorNodes.forEach(function(e){e.setError(null)});var e=this.node;if(e){var t=e.validate(),n=[];if(this.validateSchema){var i=this.validateSchema(e.getValue());i||(n=this.validateSchema.errors.map(function(e){return c.improveSchemaError(e)}).map(function(t){return{node:e.findNode(t.dataPath),error:t}}).filter(function(e){return null!=e.node}))}this.errorNodes=t.concat(n).reduce(function(e,t){return t.node.findParents().map(function(e){return{node:e,child:t.node,error:{message:"object"===e.type?"Contains invalid properties":"Contains invalid items"}}}).concat(e,[t])},[]).map(function(e){return e.node.setError(e.error,e.child),e.node})}},d.startAutoScroll=function(e){var t=this,n=this.content,i=c.getAbsoluteTop(n),o=n.clientHeight,r=i+o,s=24,a=50;i+s>e&&n.scrollTop>0?this.autoScrollStep=(i+s-e)/3:e>r-s&&o+n.scrollTop<n.scrollHeight?this.autoScrollStep=(r-s-e)/3:this.autoScrollStep=void 0,this.autoScrollStep?this.autoScrollTimer||(this.autoScrollTimer=setInterval(function(){t.autoScrollStep?n.scrollTop-=t.autoScrollStep:t.stopAutoScroll()},a)):this.stopAutoScroll()},d.stopAutoScroll=function(){this.autoScrollTimer&&(clearTimeout(this.autoScrollTimer),delete this.autoScrollTimer),this.autoScrollStep&&delete this.autoScrollStep},d.setSelection=function(e){e&&("scrollTop"in e&&this.content&&(this.content.scrollTop=e.scrollTop),e.nodes&&this.select(e.nodes),e.range&&c.setSelectionOffset(e.range),e.dom&&e.dom.focus())},d.getSelection=function(){var e=c.getSelectionOffset();return e&&"DIV"!==e.container.nodeName&&(e=null),{dom:u,range:e,nodes:this.multiselection.nodes.slice(0),scrollTop:this.content?this.content.scrollTop:0}},d.scrollTo=function(e,t){var n=this.content;if(n){var i=this;i.animateTimeout&&(clearTimeout(i.animateTimeout),delete i.animateTimeout),i.animateCallback&&(i.animateCallback(!1),delete i.animateCallback);var o=n.clientHeight,r=n.scrollHeight-o,s=Math.min(Math.max(e-o/4,0),r),a=function(){var e=n.scrollTop,o=s-e;Math.abs(o)>3?(n.scrollTop+=o/3,i.animateCallback=t,i.animateTimeout=setTimeout(a,50)):(t&&t(!0),n.scrollTop=s,delete i.animateTimeout,delete i.animateCallback)};a()}else t&&t(!1)},d._createFrame=function(){function e(e){t._onEvent&&t._onEvent(e)}this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-"+this.options.mode,this.container.appendChild(this.frame);var t=this;this.frame.onclick=function(t){var n=t.target;e(t),"BUTTON"==n.nodeName&&t.preventDefault()},this.frame.oninput=e,this.frame.onchange=e,this.frame.onkeydown=e,this.frame.onkeyup=e,this.frame.oncut=e,this.frame.onpaste=e,this.frame.onmousedown=e,this.frame.onmouseup=e,this.frame.onmouseover=e,this.frame.onmouseout=e,c.addEventListener(this.frame,"focus",e,!0),c.addEventListener(this.frame,"blur",e,!0),this.frame.onfocusin=e,this.frame.onfocusout=e,this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu);var n=document.createElement("button");n.className="jsoneditor-expand-all",n.title="Expand all fields",n.onclick=function(){t.expandAll()},this.menu.appendChild(n);var i=document.createElement("button");if(i.title="Collapse all fields",i.className="jsoneditor-collapse-all",i.onclick=function(){t.collapseAll()},this.menu.appendChild(i),this.history){var o=document.createElement("button");o.className="jsoneditor-undo jsoneditor-separator",o.title="Undo last action (Ctrl+Z)",o.onclick=function(){t._onUndo()},this.menu.appendChild(o),this.dom.undo=o;var s=document.createElement("button");s.className="jsoneditor-redo",s.title="Redo (Ctrl+Shift+Z)",s.onclick=function(){t._onRedo()},this.menu.appendChild(s),this.dom.redo=s,this.history.onChange=function(){o.disabled=!t.history.canUndo(),s.disabled=!t.history.canRedo()},this.history.onChange()}if(this.options&&this.options.modes&&this.options.modes.length){var a=l.create(this,this.options.modes,this.options.mode);this.menu.appendChild(a),this.dom.modeBox=a}this.options.search&&(this.searchBox=new r(this,this.menu))},d._onUndo=function(){this.history&&(this.history.undo(),this._onChange())},d._onRedo=function(){this.history&&(this.history.redo(),this._onChange())},d._onEvent=function(e){"keydown"==e.type&&this._onKeyDown(e),"focus"==e.type&&(u=e.target),"mousedown"==e.type&&this._startDragDistance(e),("mousemove"==e.type||"mouseup"==e.type||"click"==e.type)&&this._updateDragDistance(e);var t=a.getNodeFromTarget(e.target);if(t&&t.selected){if("click"==e.type){if(e.target==t.dom.menu)return void this.showContextMenu(e.target);e.hasMoved||this.deselect()}"mousedown"==e.type&&a.onDragStart(this.multiselection.nodes,e)}else"mousedown"==e.type&&(this.deselect(),t&&e.target==t.dom.drag?a.onDragStart(t,e):(!t||e.target!=t.dom.field&&e.target!=t.dom.value)&&this._onMultiSelectStart(e));t&&t.onEvent(e)},d._startDragDistance=function(e){this.dragDistanceEvent={initialTarget:e.target,initialPageX:e.pageX,initialPageY:e.pageY,dragDistance:0,hasMoved:!1}},d._updateDragDistance=function(e){this.dragDistanceEvent||this._startDragDistance(e);var t=e.pageX-this.dragDistanceEvent.initialPageX,n=e.pageY-this.dragDistanceEvent.initialPageY;return this.dragDistanceEvent.dragDistance=Math.sqrt(t*t+n*n),this.dragDistanceEvent.hasMoved=this.dragDistanceEvent.hasMoved||this.dragDistanceEvent.dragDistance>10,e.dragDistance=this.dragDistanceEvent.dragDistance,e.hasMoved=this.dragDistanceEvent.hasMoved,e.dragDistance},d._onMultiSelectStart=function(e){var t=a.getNodeFromTarget(e.target);if("tree"===this.options.mode&&void 0===this.options.onEditable){this.multiselection={start:t||null,end:null,nodes:[]},this._startDragDistance(e);var n=this;this.mousemove||(this.mousemove=c.addEventListener(window,"mousemove",function(e){n._onMultiSelect(e)})),this.mouseup||(this.mouseup=c.addEventListener(window,"mouseup",function(e){n._onMultiSelectEnd(e)}))}},d._onMultiSelect=function(e){if(e.preventDefault(),this._updateDragDistance(e),e.hasMoved){var t=a.getNodeFromTarget(e.target);t&&(null==this.multiselection.start&&(this.multiselection.start=t),this.multiselection.end=t),this.deselect();var n=this.multiselection.start,i=this.multiselection.end||this.multiselection.start;n&&i&&(this.multiselection.nodes=this._findTopLevelNodes(n,i),this.select(this.multiselection.nodes))}},d._onMultiSelectEnd=function(e){this.multiselection.nodes[0]&&this.multiselection.nodes[0].dom.menu.focus(),this.multiselection.start=null,this.multiselection.end=null,this.mousemove&&(c.removeEventListener(window,"mousemove",this.mousemove),delete this.mousemove),this.mouseup&&(c.removeEventListener(window,"mouseup",this.mouseup),delete this.mouseup)},d.deselect=function(e){this.multiselection.nodes.forEach(function(e){e.setSelected(!1)}),this.multiselection.nodes=[],e&&(this.multiselection.start=null,this.multiselection.end=null)},d.select=function(e){if(!Array.isArray(e))return this.select([e]);if(e){this.deselect(),this.multiselection.nodes=e.slice(0);var t=e[0];e.forEach(function(e){e.setSelected(!0,e===t)})}},d._findTopLevelNodes=function(e,t){for(var n=e.getPath(),i=t.getPath(),o=0;o<n.length&&n[o]===i[o];)o++;var r=n[o-1],s=n[o],a=i[o];if(s&&a||(r.parent?(s=r,a=r,r=r.parent):(s=r.childs[0],a=r.childs[r.childs.length-1])),r&&s&&a){var l=r.childs.indexOf(s),c=r.childs.indexOf(a),d=Math.min(l,c),h=Math.max(l,c);return r.childs.slice(d,h+1)}return[]},d._onKeyDown=function(e){var t=e.which||e.keyCode,n=e.ctrlKey,i=e.shiftKey,o=!1;if(9==t&&setTimeout(function(){c.selectContentEditable(u)},0),this.searchBox)if(n&&70==t)this.searchBox.dom.search.focus(),this.searchBox.dom.search.select(),o=!0;else if(114==t||n&&71==t){var r=!0;i?this.searchBox.previous(r):this.searchBox.next(r),o=!0}this.history&&(n&&!i&&90==t?(this._onUndo(),o=!0):n&&i&&90==t&&(this._onRedo(),o=!0)),o&&(e.preventDefault(),e.stopPropagation())},d._createTable=function(){var e=document.createElement("div");e.className="jsoneditor-outer",this.contentOuter=e,this.content=document.createElement("div"),this.content.className="jsoneditor-tree",e.appendChild(this.content),this.table=document.createElement("table"),this.table.className="jsoneditor-tree",this.content.appendChild(this.table);var t;this.colgroupContent=document.createElement("colgroup"),"tree"===this.options.mode&&(t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t)),t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t),t=document.createElement("col"),this.colgroupContent.appendChild(t),this.table.appendChild(this.colgroupContent),this.tbody=document.createElement("tbody"),this.table.appendChild(this.tbody),this.frame.appendChild(e)},d.showContextMenu=function(e,t){var n=[],i=this;n.push({text:"Duplicate",title:"Duplicate selected fields (Ctrl+D)",className:"jsoneditor-duplicate",click:function(){a.onDuplicate(i.multiselection.nodes)}}),n.push({text:"Remove",title:"Remove selected fields (Ctrl+Del)",className:"jsoneditor-remove",click:function(){a.onRemove(i.multiselection.nodes)}});var o=new s(n,{close:t});o.show(e,this.content)},e.exports=[{mode:"tree",mixin:d,data:"json"},{mode:"view",mixin:d,data:"json"},{mode:"form",mixin:d,data:"json"}]},function(e,t,n){var i;try{i=n(11)}catch(o){}var r=n(4),s=n(3),a={},l=3;a.create=function(e,t){t=t||{},this.options=t,t.indentation?this.indentation=Number(t.indentation):this.indentation=2;var n=t.ace?t.ace:i;this.mode="code"==t.mode?"code":"text","code"==this.mode&&"undefined"==typeof n&&(this.mode="text",console.warn("Failed to load Ace editor, falling back to plain text mode. Please use a JSONEditor bundle including Ace, or pass Ace as via the configuration option `ace`.")),this.theme=t.theme||"ace/theme/jsoneditor";var o=this;this.container=e,this.dom={},this.aceEditor=void 0,this.textarea=void 0,this.validateSchema=null,this._debouncedValidate=s.debounce(this.validate.bind(this),this.DEBOUNCE_INTERVAL),this.width=e.clientWidth,this.height=e.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-"+this.options.mode,this.frame.onclick=function(e){e.preventDefault()},this.frame.onkeydown=function(e){o._onKeyDown(e)},this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu);var a=document.createElement("button");a.className="jsoneditor-format",a.title="Format JSON data, with proper indentation and line feeds (Ctrl+\\)",this.menu.appendChild(a),a.onclick=function(){try{o.format(),o._onChange()}catch(e){o._onError(e)}};var l=document.createElement("button");if(l.className="jsoneditor-compact",l.title="Compact JSON data, remove all whitespaces (Ctrl+Shift+\\)",this.menu.appendChild(l),l.onclick=function(){try{o.compact(),o._onChange()}catch(e){o._onError(e)}},this.options&&this.options.modes&&this.options.modes.length){var c=r.create(this,this.options.modes,this.options.mode);this.menu.appendChild(c),this.dom.modeBox=c}if(this.content=document.createElement("div"),this.content.className="jsoneditor-outer",this.frame.appendChild(this.content),this.container.appendChild(this.frame),"code"==this.mode){this.editorDom=document.createElement("div"),this.editorDom.style.height="100%",this.editorDom.style.width="100%",this.content.appendChild(this.editorDom);var d=n.edit(this.editorDom);d.$blockScrolling=1/0,d.setTheme(this.theme),d.setShowPrintMargin(!1),d.setFontSize(13),d.getSession().setMode("ace/mode/json"),d.getSession().setTabSize(this.indentation),d.getSession().setUseSoftTabs(!0),d.getSession().setUseWrapMode(!0),d.commands.bindKey("Ctrl-L",null),d.commands.bindKey("Command-L",null),this.aceEditor=d,this.hasOwnProperty("editor")||Object.defineProperty(this,"editor",{get:function(){return console.warn('Property "editor" has been renamed to "aceEditor".'),o.aceEditor},set:function(e){console.warn('Property "editor" has been renamed to "aceEditor".'),o.aceEditor=e}});var h=document.createElement("a");h.appendChild(document.createTextNode("powered by ace")),h.href="http://ace.ajax.org",h.target="_blank",h.className="jsoneditor-poweredBy",h.onclick=function(){window.open(h.href,h.target)},this.menu.appendChild(h),d.on("change",this._onChange.bind(this))}else{var u=document.createElement("textarea");u.className="jsoneditor-text",u.spellcheck=!1,this.content.appendChild(u),this.textarea=u,null===this.textarea.oninput?this.textarea.oninput=this._onChange.bind(this):this.textarea.onchange=this._onChange.bind(this)}this.setSchema(this.options.schema)},a._onChange=function(){if(this._debouncedValidate(),this.options.onChange)try{this.options.onChange()}catch(e){console.error("Error in onChange callback: ",e)}},a._onKeyDown=function(e){var t=e.which||e.keyCode,n=!1;220==t&&e.ctrlKey&&(e.shiftKey?(this.compact(),this._onChange()):(this.format(),this._onChange()),n=!0),n&&(e.preventDefault(),e.stopPropagation())},a._delete=function(){this.aceEditor&&this.aceEditor.destroy(),this.frame&&this.container&&this.frame.parentNode==this.container&&this.container.removeChild(this.frame)},a.compact=function(){var e=this.get(),t=JSON.stringify(e);this.setText(t)},a.format=function(){var e=this.get(),t=JSON.stringify(e,null,this.indentation);this.setText(t)},a.focus=function(){this.textarea&&this.textarea.focus(),this.aceEditor&&this.aceEditor.focus()},a.resize=function(){if(this.aceEditor){var e=!1;this.aceEditor.resize(e)}},a.set=function(e){this.setText(JSON.stringify(e,null,this.indentation))},a.get=function(){var e,t=this.getText();try{e=s.parse(t)}catch(n){t=s.sanitize(t),e=s.parse(t)}return e},a.getText=function(){return this.textarea?this.textarea.value:this.aceEditor?this.aceEditor.getValue():""},a.setText=function(e){if(this.options.escapeUnicode===!0?text=s.escapeUnicodeChars(e):text=e,this.textarea&&(this.textarea.value=text),this.aceEditor){var t=this.options.onChange;this.options.onChange=null,this.aceEditor.setValue(text,-1),this.options.onChange=t}this.validate()},a.validate=function(){this.dom.validationErrors&&(this.dom.validationErrors.parentNode.removeChild(this.dom.validationErrors),this.dom.validationErrors=null,this.content.style.marginBottom="",this.content.style.paddingBottom="");var e,t=!1,n=[];try{e=this.get(),t=!0}catch(i){}if(t&&this.validateSchema){var o=this.validateSchema(e);o||(n=this.validateSchema.errors.map(function(e){return s.improveSchemaError(e)}))}if(n.length>0){var r=n.length>l;if(r){n=n.slice(0,l);var a=this.validateSchema.errors.length-l;n.push("("+a+" more errors...)")}var c=document.createElement("div");c.innerHTML='<table class="jsoneditor-text-errors"><tbody>'+n.map(function(e){var t;return t="string"==typeof e?'<td colspan="2"><pre>'+e+"</pre></td>":"<td>"+e.dataPath+"</td><td>"+e.message+"</td>",'<tr><td><button class="jsoneditor-schema-error"></button></td>'+t+"</tr>"}).join("")+"</tbody></table>",this.dom.validationErrors=c,this.frame.appendChild(c);var d=c.clientHeight;this.content.style.marginBottom=-d+"px",this.content.style.paddingBottom=d+"px"}if(this.aceEditor){var h=!1;this.aceEditor.resize(h)}},e.exports=[{mode:"text",mixin:a,data:"text",load:a.format},{mode:"code",mixin:a,data:"text",load:a.format}]},function(e,t,n){var i=n(10);t.parse=function(e){try{return JSON.parse(e)}catch(n){throw t.validate(e),n}},t.sanitize=function(e){function t(){return e.charAt(d)}function n(){return e.charAt(d+1)}function i(){return e.charAt(d-1)}function o(){for(var e=c.length-1;e>=0;){var t=c[e];if(" "!==t&&"\n"!==t&&"\r"!==t&&" "!==t)return t;e--}return""}function r(){for(d+=2;d<e.length&&("*"!==t()||"/"!==n());)d++;d+=2}function s(){for(d+=2;d<e.length&&"\n"!==t();)d++}function a(n){c.push('"'),d++;for(var o=t();d<e.length&&o!==n;)'"'===o&&"\\"!==i()&&c.push("\\"),"\\"===o&&(d++,o=t(),"'"!==o&&c.push("\\")),c.push(o),d++,o=t();o===n&&(c.push('"'),d++)}function l(){for(var e=["null","true","false"],n="",i=t(),o=/[a-zA-Z_$\d]/;o.test(i);)n+=i,d++,i=t();c.push(-1===e.indexOf(n)?'"'+n+'"':n)}var c=[],d=0,h=e.match(/^\s*(\/\*(.|[\r\n])*?\*\/)?\s*[\da-zA-Z_$]+\s*\(([\s\S]*)\)\s*;?\s*$/);for(h&&(e=h[3]);d<e.length;){var u=t();"/"===u&&"*"===n()?r():"/"===u&&"/"===n()?s():"'"===u||'"'===u?a(u):/[a-zA-Z_$]/.test(u)&&-1!==["{",","].indexOf(o())?l():(c.push(u),d++)}return c.join("")},t.escapeUnicodeChars=function(e){return e.replace(/[\u007F-\uFFFF]/g,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})},t.validate=function(e){"undefined"!=typeof i?i.parse(e):JSON.parse(e)},t.extend=function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},t.clear=function(e){for(var t in e)e.hasOwnProperty(t)&&delete e[t];return e},t.type=function(e){return null===e?"null":void 0===e?"undefined":e instanceof Number||"number"==typeof e?"number":e instanceof String||"string"==typeof e?"string":e instanceof Boolean||"boolean"==typeof e?"boolean":e instanceof RegExp||"regexp"==typeof e?"regexp":t.isArray(e)?"array":"object"};var o=/^https?:\/\/\S+$/;t.isUrl=function(e){return("string"==typeof e||e instanceof String)&&o.test(e)},t.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},t.getAbsoluteLeft=function(e){var t=e.getBoundingClientRect();return t.left+window.pageXOffset||document.scrollLeft||0},t.getAbsoluteTop=function(e){var t=e.getBoundingClientRect();return t.top+window.pageYOffset||document.scrollTop||0},t.addClassName=function(e,t){var n=e.className.split(" ");-1==n.indexOf(t)&&(n.push(t),e.className=n.join(" "))},t.removeClassName=function(e,t){var n=e.className.split(" "),i=n.indexOf(t);-1!=i&&(n.splice(i,1),e.className=n.join(" "))},t.stripFormatting=function(e){for(var n=e.childNodes,i=0,o=n.length;o>i;i++){var r=n[i];r.style&&r.removeAttribute("style");var s=r.attributes;if(s)for(var a=s.length-1;a>=0;a--){var l=s[a];l.specified===!0&&r.removeAttribute(l.name)}t.stripFormatting(r)}},t.setEndOfContentEditable=function(e){var t,n;document.createRange&&(t=document.createRange(),t.selectNodeContents(e),t.collapse(!1),n=window.getSelection(),n.removeAllRanges(),n.addRange(t))},t.selectContentEditable=function(e){if(e&&"DIV"==e.nodeName){var t,n;window.getSelection&&document.createRange&&(n=document.createRange(),n.selectNodeContents(e),t=window.getSelection(),t.removeAllRanges(),t.addRange(n))}},t.getSelection=function(){if(window.getSelection){var e=window.getSelection();if(e.getRangeAt&&e.rangeCount)return e.getRangeAt(0)}return null},t.setSelection=function(e){if(e&&window.getSelection){var t=window.getSelection();t.removeAllRanges(),t.addRange(e)}},t.getSelectionOffset=function(){var e=t.getSelection();return e&&"startOffset"in e&&"endOffset"in e&&e.startContainer&&e.startContainer==e.endContainer?{startOffset:e.startOffset,endOffset:e.endOffset,container:e.startContainer.parentNode}:null},t.setSelectionOffset=function(e){if(document.createRange&&window.getSelection){var n=window.getSelection();if(n){var i=document.createRange();e.container.firstChild||e.container.appendChild(document.createTextNode("")),i.setStart(e.container.firstChild,e.startOffset),i.setEnd(e.container.firstChild,e.endOffset),t.setSelection(i)}}},t.getInnerText=function(e,n){var i=void 0==n;if(i&&(n={text:"",flush:function(){var e=this.text;return this.text="",e},set:function(e){this.text=e}}),e.nodeValue)return n.flush()+e.nodeValue;if(e.hasChildNodes()){for(var o=e.childNodes,r="",s=0,a=o.length;a>s;s++){var l=o[s];if("DIV"==l.nodeName||"P"==l.nodeName){var c=o[s-1],d=c?c.nodeName:void 0;d&&"DIV"!=d&&"P"!=d&&"BR"!=d&&(r+="\n",n.flush()),r+=t.getInnerText(l,n),n.set("\n")}else"BR"==l.nodeName?(r+=n.flush(),n.set("\n")):r+=t.getInnerText(l,n)}return r}return"P"==e.nodeName&&-1!=t.getInternetExplorerVersion()?n.flush():""},t.getInternetExplorerVersion=function(){if(-1==r){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent,n=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=n.exec(t)&&(e=parseFloat(RegExp.$1))}r=e}return r},t.isFirefox=function(){return-1!=navigator.userAgent.indexOf("Firefox")};var r=-1;t.addEventListener=function(e,n,i,o){if(e.addEventListener)return void 0===o&&(o=!1),"mousewheel"===n&&t.isFirefox()&&(n="DOMMouseScroll"),e.addEventListener(n,i,o),i;if(e.attachEvent){var r=function(){return i.call(e,window.event)};return e.attachEvent("on"+n,r),r}},t.removeEventListener=function(e,n,i,o){e.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===n&&t.isFirefox()&&(n="DOMMouseScroll"),e.removeEventListener(n,i,o)):e.detachEvent&&e.detachEvent("on"+n,i)},t.parsePath=function s(e){var t,n;if(0===e.length)return[];var i=e.match(/^\.(\w+)/);if(i)t=i[1],n=e.substr(t.length+1);else{if("["!==e[0])throw new SyntaxError("Failed to parse path");var o=e.indexOf("]");if(-1===o)throw new SyntaxError("Character ] expected in path");if(1===o)throw new SyntaxError("Index expected after [");t=JSON.parse(e.substring(1,o)),n=e.substr(o+1)}return[t].concat(s(n))},t.improveSchemaError=function(e){if("enum"===e.keyword&&Array.isArray(e.schema)){var t=e.schema;if(t){if(t=t.map(function(e){return JSON.stringify(e)}),t.length>5){var n=["("+(t.length-5)+" more...)"];t=t.slice(0,5),t.push(n)}e.message="should be equal to one of: "+t.join(", ")}}return e},t.insideRect=function(e,t,n){var i=void 0!==n?n:0;return t.left-i>=e.left&&t.right+i<=e.right&&t.top-i>=e.top&&t.bottom+i<=e.bottom},t.debounce=function(e,t,n){var i;return function(){var o=this,r=arguments,s=function(){i=null,n||e.apply(o,r)},a=n&&!i;clearTimeout(i),i=setTimeout(s,t),a&&e.apply(o,r)}},t.textDiff=function(e,t){for(var n=t.length,i=0,o=e.length,r=t.length;t.charAt(i)===e.charAt(i)&&n>i;)i++;for(;t.charAt(r-1)===e.charAt(o-1)&&r>i&&o>0;)r--,o--;return{start:i,end:r}}},function(e,t,n){function i(e,t,n){function i(t){e.setMode(t);var n=e.dom&&e.dom.modeBox;n&&n.focus()}for(var r={code:{text:"Code",title:"Switch to code highlighter",click:function(){i("code")}},form:{text:"Form",title:"Switch to form editor",click:function(){i("form")}},text:{text:"Text",title:"Switch to plain text editor",click:function(){i("text")}},tree:{text:"Tree",title:"Switch to tree editor",click:function(){i("tree")}},view:{text:"View",title:"Switch to tree view",click:function(){i("view")}}},s=[],a=0;a<t.length;a++){var l=t[a],c=r[l];if(!c)throw new Error('Unknown mode "'+l+'"');c.className="jsoneditor-type-modes"+(n==l?" jsoneditor-selected":""),s.push(c)}var d=r[n];if(!d)throw new Error('Unknown mode "'+n+'"');var h=d.text,u=document.createElement("button");u.className="jsoneditor-modes jsoneditor-separator",u.innerHTML=h+" &#x25BE;",u.title="Switch editor mode",u.onclick=function(){var e=new o(s);e.show(u)};var p=document.createElement("div");return p.className="jsoneditor-modes",p.style.position="relative",p.appendChild(u),p}var o=n(8);t.create=i},function(e,t,n){function i(){this.locked=!1}i.prototype.highlight=function(e){this.locked||(this.node!=e&&(this.node&&this.node.setHighlight(!1),this.node=e,this.node.setHighlight(!0)),this._cancelUnhighlight())},i.prototype.unhighlight=function(){if(!this.locked){var e=this;this.node&&(this._cancelUnhighlight(),this.unhighlightTimer=setTimeout(function(){e.node.setHighlight(!1),e.node=void 0,e.unhighlightTimer=void 0},0))}},i.prototype._cancelUnhighlight=function(){this.unhighlightTimer&&(clearTimeout(this.unhighlightTimer),this.unhighlightTimer=void 0)},i.prototype.lock=function(){this.locked=!0},i.prototype.unlock=function(){this.locked=!1},e.exports=i},function(e,t,n){function i(e){this.editor=e,this.clear(),this.actions={editField:{undo:function(e){e.node.updateField(e.oldValue)},redo:function(e){e.node.updateField(e.newValue)}},editValue:{undo:function(e){e.node.updateValue(e.oldValue)},redo:function(e){e.node.updateValue(e.newValue)}},changeType:{undo:function(e){e.node.changeType(e.oldType)},redo:function(e){e.node.changeType(e.newType)}},appendNodes:{undo:function(e){e.nodes.forEach(function(t){e.parent.removeChild(t)})},redo:function(e){e.nodes.forEach(function(t){e.parent.appendChild(t)})}},insertBeforeNodes:{undo:function(e){e.nodes.forEach(function(t){e.parent.removeChild(t)})},redo:function(e){e.nodes.forEach(function(t){e.parent.insertBefore(t,e.beforeNode)})}},insertAfterNodes:{undo:function(e){e.nodes.forEach(function(t){e.parent.removeChild(t)})},redo:function(e){var t=e.afterNode;e.nodes.forEach(function(n){e.parent.insertAfter(e.node,t),t=n})}},removeNodes:{undo:function(e){var t=e.parent,n=t.childs[e.index]||t.append;e.nodes.forEach(function(e){t.insertBefore(e,n)})},redo:function(e){e.nodes.forEach(function(t){e.parent.removeChild(t)})}},duplicateNodes:{undo:function(e){e.nodes.forEach(function(t){e.parent.removeChild(t)})},redo:function(e){var t=e.afterNode;e.nodes.forEach(function(n){e.parent.insertAfter(n,t),t=n})}},moveNodes:{undo:function(e){e.nodes.forEach(function(t){e.oldBeforeNode.parent.moveBefore(t,e.oldBeforeNode)})},redo:function(e){e.nodes.forEach(function(t){e.newBeforeNode.parent.moveBefore(t,e.newBeforeNode)})}},sort:{undo:function(e){var t=e.node;t.hideChilds(),t.sort=e.oldSort,t.childs=e.oldChilds,t.showChilds()},redo:function(e){var t=e.node;t.hideChilds(),t.sort=e.newSort,t.childs=e.newChilds,t.showChilds()}}}}n(3);i.prototype.onChange=function(){},i.prototype.add=function(e,t){this.index++,this.history[this.index]={action:e,params:t,timestamp:new Date},this.index<this.history.length-1&&this.history.splice(this.index+1,this.history.length-this.index-1),
31
+ this.onChange()},i.prototype.clear=function(){this.history=[],this.index=-1,this.onChange()},i.prototype.canUndo=function(){return this.index>=0},i.prototype.canRedo=function(){return this.index<this.history.length-1},i.prototype.undo=function(){if(this.canUndo()){var e=this.history[this.index];if(e){var t=this.actions[e.action];t&&t.undo?(t.undo(e.params),e.params.oldSelection&&this.editor.setSelection(e.params.oldSelection)):console.error(new Error('unknown action "'+e.action+'"'))}this.index--,this.onChange()}},i.prototype.redo=function(){if(this.canRedo()){this.index++;var e=this.history[this.index];if(e){var t=this.actions[e.action];t&&t.redo?(t.redo(e.params),e.params.newSelection&&this.editor.setSelection(e.params.newSelection)):console.error(new Error('unknown action "'+e.action+'"'))}this.onChange()}},e.exports=i},function(e,t,n){function i(e,t){var n=this;this.editor=e,this.timeout=void 0,this.delay=200,this.lastText=void 0,this.dom={},this.dom.container=t;var i=document.createElement("table");this.dom.table=i,i.className="jsoneditor-search",t.appendChild(i);var o=document.createElement("tbody");this.dom.tbody=o,i.appendChild(o);var r=document.createElement("tr");o.appendChild(r);var s=document.createElement("td");r.appendChild(s);var a=document.createElement("div");this.dom.results=a,a.className="jsoneditor-results",s.appendChild(a),s=document.createElement("td"),r.appendChild(s);var l=document.createElement("div");this.dom.input=l,l.className="jsoneditor-frame",l.title="Search fields and values",s.appendChild(l);var c=document.createElement("table");l.appendChild(c);var d=document.createElement("tbody");c.appendChild(d),r=document.createElement("tr"),d.appendChild(r);var h=document.createElement("button");h.className="jsoneditor-refresh",s=document.createElement("td"),s.appendChild(h),r.appendChild(s);var u=document.createElement("input");this.dom.search=u,u.oninput=function(e){n._onDelayedSearch(e)},u.onchange=function(e){n._onSearch()},u.onkeydown=function(e){n._onKeyDown(e)},u.onkeyup=function(e){n._onKeyUp(e)},h.onclick=function(e){u.select()},s=document.createElement("td"),s.appendChild(u),r.appendChild(s);var p=document.createElement("button");p.title="Next result (Enter)",p.className="jsoneditor-next",p.onclick=function(){n.next()},s=document.createElement("td"),s.appendChild(p),r.appendChild(s);var f=document.createElement("button");f.title="Previous result (Shift+Enter)",f.className="jsoneditor-previous",f.onclick=function(){n.previous()},s=document.createElement("td"),s.appendChild(f),r.appendChild(s)}i.prototype.next=function(e){if(void 0!=this.results){var t=void 0!=this.resultIndex?this.resultIndex+1:0;t>this.results.length-1&&(t=0),this._setActiveResult(t,e)}},i.prototype.previous=function(e){if(void 0!=this.results){var t=this.results.length-1,n=void 0!=this.resultIndex?this.resultIndex-1:t;0>n&&(n=t),this._setActiveResult(n,e)}},i.prototype._setActiveResult=function(e,t){if(this.activeResult){var n=this.activeResult.node,i=this.activeResult.elem;"field"==i?delete n.searchFieldActive:delete n.searchValueActive,n.updateDom()}if(!this.results||!this.results[e])return this.resultIndex=void 0,void(this.activeResult=void 0);this.resultIndex=e;var o=this.results[this.resultIndex].node,r=this.results[this.resultIndex].elem;"field"==r?o.searchFieldActive=!0:o.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],o.updateDom(),o.scrollTo(function(){t&&o.focus(r)})},i.prototype._clearDelay=function(){void 0!=this.timeout&&(clearTimeout(this.timeout),delete this.timeout)},i.prototype._onDelayedSearch=function(e){this._clearDelay();var t=this;this.timeout=setTimeout(function(e){t._onSearch()},this.delay)},i.prototype._onSearch=function(e){this._clearDelay();var t=this.dom.search.value,n=t.length>0?t:void 0;if(n!=this.lastText||e)if(this.lastText=n,this.results=this.editor.search(n),this._setActiveResult(void 0),void 0!=n){var i=this.results.length;switch(i){case 0:this.dom.results.innerHTML="no&nbsp;results";break;case 1:this.dom.results.innerHTML="1&nbsp;result";break;default:this.dom.results.innerHTML=i+"&nbsp;results"}}else this.dom.results.innerHTML=""},i.prototype._onKeyDown=function(e){var t=e.which;27==t?(this.dom.search.value="",this._onSearch(),e.preventDefault(),e.stopPropagation()):13==t&&(e.ctrlKey?this._onSearch(!0):e.shiftKey?this.previous():this.next(),e.preventDefault(),e.stopPropagation())},i.prototype._onKeyUp=function(e){var t=e.keyCode;27!=t&&13!=t&&this._onDelayedSearch(e)},i.prototype.clear=function(){this.dom.search.value="",this._onSearch()},e.exports=i},function(e,t,n){function i(e,t){function n(e,t,o){o.forEach(function(o){if("separator"==o.type){var r=document.createElement("div");r.className="jsoneditor-separator",a=document.createElement("li"),a.appendChild(r),e.appendChild(a)}else{var s={},a=document.createElement("li");e.appendChild(a);var l=document.createElement("button");if(l.className=o.className,s.button=l,o.title&&(l.title=o.title),o.click&&(l.onclick=function(e){e.preventDefault(),i.hide(),o.click()}),a.appendChild(l),o.submenu){var c=document.createElement("div");c.className="jsoneditor-icon",l.appendChild(c),l.appendChild(document.createTextNode(o.text));var d;if(o.click){l.className+=" jsoneditor-default";var h=document.createElement("button");s.buttonExpand=h,h.className="jsoneditor-expand",h.innerHTML='<div class="jsoneditor-expand"></div>',a.appendChild(h),o.submenuTitle&&(h.title=o.submenuTitle),d=h}else{var u=document.createElement("div");u.className="jsoneditor-expand",l.appendChild(u),d=l}d.onclick=function(e){e.preventDefault(),i._onExpandItem(s),d.focus()};var p=[];s.subItems=p;var f=document.createElement("ul");s.ul=f,f.className="jsoneditor-menu",f.style.height="0",a.appendChild(f),n(f,p,o.submenu)}else l.innerHTML='<div class="jsoneditor-icon"></div>'+o.text;t.push(s)}})}this.dom={};var i=this,o=this.dom;this.anchor=void 0,this.items=e,this.eventListeners={},this.selection=void 0,this.onClose=t?t.close:void 0;var r=document.createElement("div");r.className="jsoneditor-contextmenu-root",o.root=r;var s=document.createElement("div");s.className="jsoneditor-contextmenu",o.menu=s,r.appendChild(s);var a=document.createElement("ul");a.className="jsoneditor-menu",s.appendChild(a),o.list=a,o.items=[];var l=document.createElement("button");o.focusButton=l;var c=document.createElement("li");c.style.overflow="hidden",c.style.height="0",c.appendChild(l),a.appendChild(c),n(a,this.dom.items,e),this.maxHeight=0,e.forEach(function(t){var n=24*(e.length+(t.submenu?t.submenu.length:0));i.maxHeight=Math.max(i.maxHeight,n)})}var o=n(3);i.prototype._getVisibleButtons=function(){var e=[],t=this;return this.dom.items.forEach(function(n){e.push(n.button),n.buttonExpand&&e.push(n.buttonExpand),n.subItems&&n==t.expandedItem&&n.subItems.forEach(function(t){e.push(t.button),t.buttonExpand&&e.push(t.buttonExpand)})}),e},i.visibleMenu=void 0,i.prototype.show=function(e,t){this.hide();var n=!0;if(t){var r=e.getBoundingClientRect(),s=t.getBoundingClientRect();r.bottom+this.maxHeight<s.bottom||r.top-this.maxHeight>s.top&&(n=!1)}if(n){var a=e.offsetHeight;this.dom.menu.style.left="0px",this.dom.menu.style.top=a+"px",this.dom.menu.style.bottom=""}else this.dom.menu.style.left="0px",this.dom.menu.style.top="",this.dom.menu.style.bottom="0px";var l=e.parentNode;l.insertBefore(this.dom.root,l.firstChild);var c=this,d=this.dom.list;this.eventListeners.mousedown=o.addEventListener(window,"mousedown",function(e){var t=e.target;t==d||c._isChildOf(t,d)||(c.hide(),e.stopPropagation(),e.preventDefault())}),this.eventListeners.keydown=o.addEventListener(window,"keydown",function(e){c._onKeyDown(e)}),this.selection=o.getSelection(),this.anchor=e,setTimeout(function(){c.dom.focusButton.focus()},0),i.visibleMenu&&i.visibleMenu.hide(),i.visibleMenu=this},i.prototype.hide=function(){this.dom.root.parentNode&&(this.dom.root.parentNode.removeChild(this.dom.root),this.onClose&&this.onClose());for(var e in this.eventListeners)if(this.eventListeners.hasOwnProperty(e)){var t=this.eventListeners[e];t&&o.removeEventListener(window,e,t),delete this.eventListeners[e]}i.visibleMenu==this&&(i.visibleMenu=void 0)},i.prototype._onExpandItem=function(e){var t=this,n=e==this.expandedItem,i=this.expandedItem;if(i&&(i.ul.style.height="0",i.ul.style.padding="",setTimeout(function(){t.expandedItem!=i&&(i.ul.style.display="",o.removeClassName(i.ul.parentNode,"jsoneditor-selected"))},300),this.expandedItem=void 0),!n){var r=e.ul;r.style.display="block";r.clientHeight;setTimeout(function(){t.expandedItem==e&&(r.style.height=24*r.childNodes.length+"px",r.style.padding="5px 10px")},0),o.addClassName(r.parentNode,"jsoneditor-selected"),this.expandedItem=e}},i.prototype._onKeyDown=function(e){var t,n,i,r,s=e.target,a=e.which,l=!1;27==a?(this.selection&&o.setSelection(this.selection),this.anchor&&this.anchor.focus(),this.hide(),l=!0):9==a?e.shiftKey?(t=this._getVisibleButtons(),n=t.indexOf(s),0==n&&(t[t.length-1].focus(),l=!0)):(t=this._getVisibleButtons(),n=t.indexOf(s),n==t.length-1&&(t[0].focus(),l=!0)):37==a?("jsoneditor-expand"==s.className&&(t=this._getVisibleButtons(),n=t.indexOf(s),i=t[n-1],i&&i.focus()),l=!0):38==a?(t=this._getVisibleButtons(),n=t.indexOf(s),i=t[n-1],i&&"jsoneditor-expand"==i.className&&(i=t[n-2]),i||(i=t[t.length-1]),i&&i.focus(),l=!0):39==a?(t=this._getVisibleButtons(),n=t.indexOf(s),r=t[n+1],r&&"jsoneditor-expand"==r.className&&r.focus(),l=!0):40==a&&(t=this._getVisibleButtons(),n=t.indexOf(s),r=t[n+1],r&&"jsoneditor-expand"==r.className&&(r=t[n+2]),r||(r=t[0]),r&&(r.focus(),l=!0),l=!0),l&&(e.stopPropagation(),e.preventDefault())},i.prototype._isChildOf=function(e,t){for(var n=e.parentNode;n;){if(n==t)return!0;n=n.parentNode}return!1},e.exports=i},function(e,t,n){function i(e,t){this.editor=e,this.dom={},this.expanded=!1,t&&t instanceof Object?(this.setField(t.field,t.fieldEditable),this.setValue(t.value,t.type)):(this.setField(""),this.setValue(null)),this._debouncedOnChangeValue=s.debounce(this._onChangeValue.bind(this),i.prototype.DEBOUNCE_INTERVAL),this._debouncedOnChangeField=s.debounce(this._onChangeField.bind(this),i.prototype.DEBOUNCE_INTERVAL)}var o=n(8),r=n(12),s=n(3);i.prototype.DEBOUNCE_INTERVAL=150,i.prototype._updateEditability=function(){if(this.editable={field:!0,value:!0},this.editor&&(this.editable.field="tree"===this.editor.options.mode,this.editable.value="view"!==this.editor.options.mode,("tree"===this.editor.options.mode||"form"===this.editor.options.mode)&&"function"==typeof this.editor.options.onEditable)){var e=this.editor.options.onEditable({field:this.field,value:this.value,path:this.getFieldsPath()});"boolean"==typeof e?(this.editable.field=e,this.editable.value=e):("boolean"==typeof e.field&&(this.editable.field=e.field),"boolean"==typeof e.value&&(this.editable.value=e.value))}},i.prototype.getFieldsPath=function(){for(var e=this,t=[];e;){var n=void 0!=e.field?e.field:e.index;void 0!==n&&t.unshift(n),e=e.parent}return t},i.prototype.findNode=function(e){for(var t=s.parsePath(e),n=this;n&&t.length>0;){var i=t.shift();if("number"==typeof i){if("array"!==n.type)throw new Error("Cannot get child node at index "+i+": node is no array");n=n.childs[i]}else{if("object"!==n.type)throw new Error("Cannot get child node "+i+": node is no object");n=n.childs.filter(function(e){return e.field===i})[0]}}return n},i.prototype.findParents=function(){for(var e=[],t=this.parent;t;)e.unshift(t),t=t.parent;return e},i.prototype.setError=function(e,t){this.getDom(),this.error=e;var n=this.dom.tdError;if(e){n||(n=document.createElement("td"),this.dom.tdError=n,this.dom.tdValue.parentNode.appendChild(n));var i=document.createElement("div");i.className="jsoneditor-popover jsoneditor-right",i.appendChild(document.createTextNode(e.message));var o=document.createElement("button");for(o.className="jsoneditor-schema-error",o.appendChild(i),o.onmouseover=o.onfocus=function(){for(var e=["right","above","below","left"],t=0;t<e.length;t++){var n=e[t];i.className="jsoneditor-popover jsoneditor-"+n;var o=this.editor.content.getBoundingClientRect(),r=i.getBoundingClientRect(),a=20,l=s.insideRect(o,r,a);if(l)break}}.bind(this),t&&(o.onclick=function(){t.findParents().forEach(function(e){e.expand(!1)}),t.scrollTo(function(){t.focus()})});n.firstChild;)n.removeChild(n.firstChild);n.appendChild(o)}else n&&(this.dom.tdError.parentNode.removeChild(this.dom.tdError),delete this.dom.tdError)},i.prototype.getIndex=function(){return this.parent?this.parent.childs.indexOf(this):-1},i.prototype.setParent=function(e){this.parent=e},i.prototype.setField=function(e,t){this.field=e,this.previousField=e,this.fieldEditable=t===!0},i.prototype.getField=function(){return void 0===this.field&&this._getDomField(),this.field},i.prototype.setValue=function(e,t){var n,o,r=this.childs;if(r)for(;r.length;)this.removeChild(r[0]);if(this.type=this._getType(e),t&&t!=this.type){if("string"!=t||"auto"!=this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+t+'"');this.type=t}if("array"==this.type){this.childs=[];for(var s=0,a=e.length;a>s;s++)n=e[s],void 0===n||n instanceof Function||(o=new i(this.editor,{value:n}),this.appendChild(o));this.value=""}else if("object"==this.type){this.childs=[];for(var l in e)e.hasOwnProperty(l)&&(n=e[l],void 0===n||n instanceof Function||(o=new i(this.editor,{field:l,value:n}),this.appendChild(o)));this.value=""}else this.childs=void 0,this.value=e;this.previousValue=this.value},i.prototype.getValue=function(){if("array"==this.type){var e=[];return this.childs.forEach(function(t){e.push(t.getValue())}),e}if("object"==this.type){var t={};return this.childs.forEach(function(e){t[e.getField()]=e.getValue()}),t}return void 0===this.value&&this._getDomValue(),this.value},i.prototype.getLevel=function(){return this.parent?this.parent.getLevel()+1:0},i.prototype.getPath=function(){var e=this.parent?this.parent.getPath():[];return e.push(this),e},i.prototype.clone=function(){var e=new i(this.editor);if(e.type=this.type,e.field=this.field,e.fieldInnerText=this.fieldInnerText,e.fieldEditable=this.fieldEditable,e.value=this.value,e.valueInnerText=this.valueInnerText,e.expanded=this.expanded,this.childs){var t=[];this.childs.forEach(function(n){var i=n.clone();i.setParent(e),t.push(i)}),e.childs=t}else e.childs=void 0;return e},i.prototype.expand=function(e){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="jsoneditor-expanded"),this.showChilds(),e!==!1&&this.childs.forEach(function(t){t.expand(e)}))},i.prototype.collapse=function(e){this.childs&&(this.hideChilds(),e!==!1&&this.childs.forEach(function(t){t.collapse(e)}),this.dom.expand&&(this.dom.expand.className="jsoneditor-collapsed"),this.expanded=!1)},i.prototype.showChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.dom.tr,n=t?t.parentNode:void 0;if(n){var i=this.getAppend(),o=t.nextSibling;o?n.insertBefore(i,o):n.appendChild(i),this.childs.forEach(function(e){n.insertBefore(e.getDom(),i),e.showChilds()})}}},i.prototype.hide=function(){var e=this.dom.tr,t=e?e.parentNode:void 0;t&&t.removeChild(e),this.hideChilds()},i.prototype.hideChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.getAppend();t.parentNode&&t.parentNode.removeChild(t),this.childs.forEach(function(e){e.hide()})}},i.prototype.appendChild=function(e){if(this._hasChilds()){if(e.setParent(this),e.fieldEditable="object"==this.type,"array"==this.type&&(e.index=this.childs.length),this.childs.push(e),this.expanded){var t=e.getDom(),n=this.getAppend(),i=n?n.parentNode:void 0;n&&i&&i.insertBefore(t,n),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},i.prototype.moveBefore=function(e,t){if(this._hasChilds()){var n=this.dom.tr?this.dom.tr.parentNode:void 0;if(n){var i=document.createElement("tr");i.style.height=n.clientHeight+"px",n.appendChild(i)}e.parent&&e.parent.removeChild(e),t instanceof a?this.appendChild(e):this.insertBefore(e,t),n&&n.removeChild(i)}},i.prototype.moveTo=function(e,t){if(e.parent==this){var n=this.childs.indexOf(e);t>n&&t++}var i=this.childs[t]||this.append;this.moveBefore(e,i)},i.prototype.insertBefore=function(e,t){if(this._hasChilds()){if(t==this.append)e.setParent(this),e.fieldEditable="object"==this.type,this.childs.push(e);else{var n=this.childs.indexOf(t);if(-1==n)throw new Error("Node not found");e.setParent(this),e.fieldEditable="object"==this.type,this.childs.splice(n,0,e)}if(this.expanded){var i=e.getDom(),o=t.getDom(),r=o?o.parentNode:void 0;o&&r&&r.insertBefore(i,o),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},i.prototype.insertAfter=function(e,t){if(this._hasChilds()){var n=this.childs.indexOf(t),i=this.childs[n+1];i?this.insertBefore(e,i):this.appendChild(e)}},i.prototype.search=function(e){var t,n=[],i=e?e.toLowerCase():void 0;if(delete this.searchField,delete this.searchValue,void 0!=this.field){var o=String(this.field).toLowerCase();t=o.indexOf(i),-1!=t&&(this.searchField=!0,n.push({node:this,elem:"field"})),this._updateDomField()}if(this._hasChilds()){if(this.childs){var r=[];this.childs.forEach(function(t){r=r.concat(t.search(e))}),n=n.concat(r)}if(void 0!=i){var s=!1;0==r.length?this.collapse(s):this.expand(s)}}else{if(void 0!=this.value){var a=String(this.value).toLowerCase();t=a.indexOf(i),-1!=t&&(this.searchValue=!0,n.push({node:this,elem:"value"}))}this._updateDomValue()}return n},i.prototype.scrollTo=function(e){if(!this.dom.tr||!this.dom.tr.parentNode)for(var t=this.parent,n=!1;t;)t.expand(n),t=t.parent;this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,e)},i.focusElement=void 0,i.prototype.focus=function(e){if(i.focusElement=e,this.dom.tr&&this.dom.tr.parentNode){var t=this.dom;switch(e){case"drag":t.drag?t.drag.focus():t.menu.focus();break;case"menu":t.menu.focus();break;case"expand":this._hasChilds()?t.expand.focus():t.field&&this.fieldEditable?(t.field.focus(),s.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),s.selectContentEditable(t.value)):t.menu.focus();break;case"field":t.field&&this.fieldEditable?(t.field.focus(),s.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),s.selectContentEditable(t.value)):this._hasChilds()?t.expand.focus():t.menu.focus();break;case"value":default:t.value&&!this._hasChilds()?(t.value.focus(),s.selectContentEditable(t.value)):t.field&&this.fieldEditable?(t.field.focus(),s.selectContentEditable(t.field)):this._hasChilds()?t.expand.focus():t.menu.focus()}}},i.select=function(e){setTimeout(function(){s.selectContentEditable(e)},0)},i.prototype.blur=function(){this._getDomValue(!1),this._getDomField(!1)},i.prototype.containsNode=function(e){if(this==e)return!0;var t=this.childs;if(t)for(var n=0,i=t.length;i>n;n++)if(t[n].containsNode(e))return!0;return!1},i.prototype._move=function(e,t){if(e!=t){if(e.containsNode(this))throw new Error("Cannot move a field into a child of itself");e.parent&&e.parent.removeChild(e);var n=e.clone();e.clearDom(),t?this.insertBefore(n,t):this.appendChild(n)}},i.prototype.removeChild=function(e){if(this.childs){var t=this.childs.indexOf(e);if(-1!=t){e.hide(),delete e.searchField,delete e.searchValue;var n=this.childs.splice(t,1)[0];return n.parent=null,this.updateDom({updateIndexes:!0}),n}}return void 0},i.prototype._remove=function(e){this.removeChild(e)},i.prototype.changeType=function(e){var t=this.type;if(t!=e){if("string"!=e&&"auto"!=e||"string"!=t&&"auto"!=t){var n,i=this.dom.tr?this.dom.tr.parentNode:void 0;n=this.expanded?this.getAppend():this.getDom();var o=n&&n.parentNode?n.nextSibling:void 0;this.hide(),this.clearDom(),this.type=e,"object"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),delete e.index,e.fieldEditable=!0,void 0==e.field&&(e.field="")}),("string"==t||"auto"==t)&&(this.expanded=!0)):"array"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),e.fieldEditable=!1,e.index=t}),("string"==t||"auto"==t)&&(this.expanded=!0)):this.expanded=!1,i&&(o?i.insertBefore(this.getDom(),o):i.appendChild(this.getDom())),this.showChilds()}else this.type=e;("auto"==e||"string"==e)&&("string"==e?this.value=String(this.value):this.value=this._stringCast(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0})}},i.prototype._getDomValue=function(e){if(this.dom.value&&"array"!=this.type&&"object"!=this.type&&(this.valueInnerText=s.getInnerText(this.dom.value)),void 0!=this.valueInnerText)try{var t;if("string"==this.type)t=this._unescapeHTML(this.valueInnerText);else{var n=this._unescapeHTML(this.valueInnerText);t=this._stringCast(n)}t!==this.value&&(this.value=t,this._debouncedOnChangeValue())}catch(i){if(this.value=void 0,e!==!0)throw i}},i.prototype._onChangeValue=function(){var e=this.editor.getSelection();if(e.range){var t=s.textDiff(String(this.value),String(this.previousValue));e.range.startOffset=t.start,e.range.endOffset=t.end}var n=this.editor.getSelection();if(n.range){var i=s.textDiff(String(this.previousValue),String(this.value));n.range.startOffset=i.start,n.range.endOffset=i.end}this.editor._onAction("editValue",{node:this,oldValue:this.previousValue,newValue:this.value,oldSelection:e,newSelection:n}),this.previousValue=this.value},i.prototype._onChangeField=function(){var e=this.editor.getSelection();if(e.range){var t=s.textDiff(this.field,this.previousField);e.range.startOffset=t.start,e.range.endOffset=t.end}var n=this.editor.getSelection();if(n.range){var i=s.textDiff(this.previousField,this.field);n.range.startOffset=i.start,n.range.endOffset=i.end}this.editor._onAction("editField",{node:this,oldValue:this.previousField,newValue:this.field,oldSelection:e,newSelection:n}),this.previousField=this.field},i.prototype._updateDomValue=function(){var e=this.dom.value;if(e){var t=["jsoneditor-value"],n=this.value,i="auto"==this.type?s.type(n):this.type,o="string"==i&&s.isUrl(n);t.push("jsoneditor-"+i),o&&t.push("jsoneditor-url");var r=""==String(this.value)&&"array"!=this.type&&"object"!=this.type;if(r&&t.push("jsoneditor-empty"),this.searchValueActive&&t.push("jsoneditor-highlight-active"),this.searchValue&&t.push("jsoneditor-highlight"),e.className=t.join(" "),"array"==i||"object"==i){var a=this.childs?this.childs.length:0;e.title=this.type+" containing "+a+" items"}else o&&this.editable.value?e.title="Ctrl+Click or Ctrl+Enter to open url in new window":e.title="";"boolean"===i?(this.dom.checkbox||(this.dom.checkbox=document.createElement("input"),this.dom.checkbox.type="checkbox",this.dom.tdCheckbox=document.createElement("td"),this.dom.tdCheckbox.className="jsoneditor-tree",this.dom.tdCheckbox.appendChild(this.dom.checkbox),this.dom.tdValue.parentNode.insertBefore(this.dom.tdCheckbox,this.dom.tdValue)),this.dom.checkbox.checked=this.value):this.dom.tdCheckbox&&(this.dom.tdCheckbox.parentNode.removeChild(this.dom.tdCheckbox),delete this.dom.tdCheckbox,delete this.dom.checkbox),s.stripFormatting(e)}},i.prototype._updateDomField=function(){var e=this.dom.field;if(e){var t=""==String(this.field)&&"array"!=this.parent.type;t?s.addClassName(e,"jsoneditor-empty"):s.removeClassName(e,"jsoneditor-empty"),this.searchFieldActive?s.addClassName(e,"jsoneditor-highlight-active"):s.removeClassName(e,"jsoneditor-highlight-active"),this.searchField?s.addClassName(e,"jsoneditor-highlight"):s.removeClassName(e,"jsoneditor-highlight"),s.stripFormatting(e)}},i.prototype._getDomField=function(e){if(this.dom.field&&this.fieldEditable&&(this.fieldInnerText=s.getInnerText(this.dom.field)),void 0!=this.fieldInnerText)try{var t=this._unescapeHTML(this.fieldInnerText);t!==this.field&&(this.field=t,this._debouncedOnChangeField())}catch(n){if(this.field=void 0,e!==!0)throw n}},i.prototype.validate=function(){var e=[];if("object"===this.type){for(var t={},n=[],i=0;i<this.childs.length;i++){var o=this.childs[i];t[o.field]&&n.push(o.field),t[o.field]=!0}n.length>0&&(e=this.childs.filter(function(e){return-1!==n.indexOf(e.field)}).map(function(e){return{node:e,error:{message:'duplicate key "'+e.field+'"'}}}))}if(this.childs)for(var i=0;i<this.childs.length;i++){var r=this.childs[i].validate();r.length>0&&(e=e.concat(r))}return e},i.prototype.clearDom=function(){this.dom={}},i.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;if(this._updateEditability(),e.tr=document.createElement("tr"),e.tr.node=this,"tree"===this.editor.options.mode){var t=document.createElement("td");if(this.editable.field&&this.parent){var n=document.createElement("button");e.drag=n,n.className="jsoneditor-dragarea",n.title="Drag to move this field (Alt+Shift+Arrows)",t.appendChild(n)}e.tr.appendChild(t);var i=document.createElement("td"),o=document.createElement("button");e.menu=o,o.className="jsoneditor-contextmenu",o.title="Click to open the actions menu (Ctrl+M)",i.appendChild(e.menu),e.tr.appendChild(i)}var r=document.createElement("td");return e.tr.appendChild(r),e.tree=this._createDomTree(),r.appendChild(e.tree),this.updateDom({updateIndexes:!0}),e.tr},i.onDragStart=function(e,t){if(!Array.isArray(e))return i.onDragStart([e],t);if(0!==e.length){var n=e[0],o=e[e.length-1],r=i.getNodeFromTarget(t.target),a=o._nextSibling(),l=n.editor,c=s.getAbsoluteTop(r.dom.tr)-s.getAbsoluteTop(n.dom.tr);l.mousemove||(l.mousemove=s.addEventListener(window,"mousemove",function(t){i.onDrag(e,t)})),l.mouseup||(l.mouseup=s.addEventListener(window,"mouseup",function(t){i.onDragEnd(e,t)})),l.highlighter.lock(),l.drag={oldCursor:document.body.style.cursor,oldSelection:l.getSelection(),oldBeforeNode:a,mouseX:t.pageX,offsetY:c,level:n.getLevel()},document.body.style.cursor="move",t.preventDefault()}},i.onDrag=function(e,t){if(!Array.isArray(e))return i.onDrag([e],t);if(0!==e.length){var n,o,r,l,c,d,h,u,p,f,m,g,v,y,b=e[0].editor,w=t.pageY-b.drag.offsetY,x=t.pageX,_=!1,E=e[0];if(n=E.dom.tr,p=s.getAbsoluteTop(n),g=n.offsetHeight,p>w){o=n;do o=o.previousSibling,h=i.getNodeFromTarget(o),f=o?s.getAbsoluteTop(o):0;while(o&&f>w);h&&!h.parent&&(h=void 0),h||(d=n.parentNode.firstChild,o=d?d.nextSibling:void 0,h=i.getNodeFromTarget(o),h==E&&(h=void 0)),h&&(o=h.dom.tr,f=o?s.getAbsoluteTop(o):0,w>f+g&&(h=void 0)),h&&(e.forEach(function(e){h.parent.moveBefore(e,h)}),_=!0)}else{var C=e[e.length-1];if(c=C.expanded&&C.append?C.append.getDom():C.dom.tr,l=c?c.nextSibling:void 0){m=s.getAbsoluteTop(l),r=l;do u=i.getNodeFromTarget(r),r&&(v=r.nextSibling?s.getAbsoluteTop(r.nextSibling):0,y=r?v-m:0,u.parent.childs.length==e.length&&u.parent.childs[e.length-1]==C&&(p+=27)),r=r.nextSibling;while(r&&w>p+y);if(u&&u.parent){var j=x-b.drag.mouseX,S=Math.round(j/24/2),k=b.drag.level+S,N=u.getLevel();for(o=u.dom.tr.previousSibling;k>N&&o;){h=i.getNodeFromTarget(o);var A=e.some(function(e){return e===h||h._isChildOf(e)});if(A);else{if(!(h instanceof a))break;var O=h.parent.childs;if(O.length==e.length&&O[e.length-1]==C)break;u=i.getNodeFromTarget(o),N=u.getLevel()}o=o.previousSibling}c.nextSibling!=u.dom.tr&&(e.forEach(function(e){u.parent.moveBefore(e,u)}),_=!0)}}}_&&(b.drag.mouseX=x,b.drag.level=E.getLevel()),b.startAutoScroll(w),t.preventDefault()}},i.onDragEnd=function(e,t){if(!Array.isArray(e))return i.onDrag([e],t);if(0!==e.length){var n=e[0],o=n.editor,r=n.parent,a=r.childs.indexOf(n),l=r.childs[a+e.length]||r.append;e[0]&&e[0].dom.menu.focus();var c={nodes:e,oldSelection:o.drag.oldSelection,newSelection:o.getSelection(),oldBeforeNode:o.drag.oldBeforeNode,newBeforeNode:l};c.oldBeforeNode!=c.newBeforeNode&&o._onAction("moveNodes",c),document.body.style.cursor=o.drag.oldCursor,o.highlighter.unlock(),e.forEach(function(e){t.target!==e.dom.drag&&t.target!==e.dom.menu&&o.highlighter.unhighlight()}),delete o.drag,o.mousemove&&(s.removeEventListener(window,"mousemove",o.mousemove),delete o.mousemove),o.mouseup&&(s.removeEventListener(window,"mouseup",o.mouseup),delete o.mouseup),o.stopAutoScroll(),t.preventDefault()}},i.prototype._isChildOf=function(e){for(var t=this.parent;t;){if(t==e)return!0;t=t.parent}return!1},i.prototype._createDomField=function(){return document.createElement("div")},i.prototype.setHighlight=function(e){this.dom.tr&&(e?s.addClassName(this.dom.tr,"jsoneditor-highlight"):s.removeClassName(this.dom.tr,"jsoneditor-highlight"),this.append&&this.append.setHighlight(e),this.childs&&this.childs.forEach(function(t){t.setHighlight(e)}))},i.prototype.setSelected=function(e,t){this.selected=e,this.dom.tr&&(e?s.addClassName(this.dom.tr,"jsoneditor-selected"):s.removeClassName(this.dom.tr,"jsoneditor-selected"),t?s.addClassName(this.dom.tr,"jsoneditor-first"):s.removeClassName(this.dom.tr,"jsoneditor-first"),this.append&&this.append.setSelected(e),this.childs&&this.childs.forEach(function(t){t.setSelected(e)}))},i.prototype.updateValue=function(e){this.value=e,this.updateDom()},i.prototype.updateField=function(e){this.field=e,this.updateDom()},i.prototype.updateDom=function(e){var t=this.dom.tree;t&&(t.style.marginLeft=24*this.getLevel()+"px");var n=this.dom.field;if(n){this.fieldEditable?(n.contentEditable=this.editable.field,n.spellcheck=!1,n.className="jsoneditor-field"):n.className="jsoneditor-readonly";var i;i=void 0!=this.index?this.index:void 0!=this.field?this.field:this._hasChilds()?this.type:"",n.innerHTML=this._escapeHTML(i)}var o=this.dom.value;if(o){var r=this.childs?this.childs.length:0;"array"==this.type?(o.innerHTML="["+r+"]",s.addClassName(this.dom.tr,"jsoneditor-expandable")):"object"==this.type?(o.innerHTML="{"+r+"}",s.addClassName(this.dom.tr,"jsoneditor-expandable")):(o.innerHTML=this._escapeHTML(this.value),s.removeClassName(this.dom.tr,"jsoneditor-expandable"))}this._updateDomField(),this._updateDomValue(),e&&e.updateIndexes===!0&&this._updateDomIndexes(),e&&e.recurse===!0&&this.childs&&this.childs.forEach(function(t){t.updateDom(e)}),this.append&&this.append.updateDom()},i.prototype._updateDomIndexes=function(){var e=this.dom.value,t=this.childs;e&&t&&("array"==this.type?t.forEach(function(e,t){e.index=t;var n=e.dom.field;n&&(n.innerHTML=t)}):"object"==this.type&&t.forEach(function(e){void 0!=e.index&&(delete e.index,void 0==e.field&&(e.field=""))}))},i.prototype._createDomValue=function(){var e;return"array"==this.type?(e=document.createElement("div"),e.innerHTML="[...]"):"object"==this.type?(e=document.createElement("div"),e.innerHTML="{...}"):!this.editable.value&&s.isUrl(this.value)?(e=document.createElement("a"),e.href=this.value,e.target="_blank",e.innerHTML=this._escapeHTML(this.value)):(e=document.createElement("div"),e.contentEditable=this.editable.value,e.spellcheck=!1,e.innerHTML=this._escapeHTML(this.value)),e},i.prototype._createDomExpandButton=function(){var e=document.createElement("button");return this._hasChilds()?(e.className=this.expanded?"jsoneditor-expanded":"jsoneditor-collapsed",e.title="Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs."):(e.className="jsoneditor-invisible",e.title=""),e},i.prototype._createDomTree=function(){var e=this.dom,t=document.createElement("table"),n=document.createElement("tbody");t.style.borderCollapse="collapse",t.className="jsoneditor-values",t.appendChild(n);var i=document.createElement("tr");n.appendChild(i);var o=document.createElement("td");o.className="jsoneditor-tree",i.appendChild(o),e.expand=this._createDomExpandButton(),o.appendChild(e.expand),e.tdExpand=o;var r=document.createElement("td");r.className="jsoneditor-tree",i.appendChild(r),e.field=this._createDomField(),r.appendChild(e.field),e.tdField=r;var s=document.createElement("td");s.className="jsoneditor-tree",i.appendChild(s),"object"!=this.type&&"array"!=this.type&&(s.appendChild(document.createTextNode(":")),s.className="jsoneditor-separator"),e.tdSeparator=s;var a=document.createElement("td");return a.className="jsoneditor-tree",i.appendChild(a),e.value=this._createDomValue(),a.appendChild(e.value),e.tdValue=a,t},i.prototype.onEvent=function(e){var t,n=e.type,i=e.target||e.srcElement,o=this.dom,r=this,a=this._hasChilds();
32
+ if((i==o.drag||i==o.menu)&&("mouseover"==n?this.editor.highlighter.highlight(this):"mouseout"==n&&this.editor.highlighter.unhighlight()),"click"==n&&i==o.menu){var l=r.editor.highlighter;l.highlight(r),l.lock(),s.addClassName(o.menu,"jsoneditor-selected"),this.showContextMenu(o.menu,function(){s.removeClassName(o.menu,"jsoneditor-selected"),l.unlock(),l.unhighlight()})}if("click"==n&&(i==o.expand||("view"===r.editor.options.mode||"form"===r.editor.options.mode)&&"DIV"===i.nodeName)&&a){var c=e.ctrlKey;this._onExpand(c)}"change"==n&&i==o.checkbox&&(this.dom.value.innerHTML=!this.value,this._getDomValue());var d=o.value;if(i==d)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomValue(!0),this._updateDomValue(),this.value&&(d.innerHTML=this._escapeHTML(this.value));break;case"input":this._getDomValue(!0),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"click":(e.ctrlKey||!this.editable.value)&&s.isUrl(this.value)&&window.open(this.value,"_blank");break;case"keyup":this._getDomValue(!0),this._updateDomValue();break;case"cut":case"paste":setTimeout(function(){r._getDomValue(!0),r._updateDomValue()},1)}var h=o.field;if(i==h)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomField(!0),this._updateDomField(),this.field&&(h.innerHTML=this._escapeHTML(this.field));break;case"input":this._getDomField(!0),this._updateDomField();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"keyup":this._getDomField(!0),this._updateDomField();break;case"cut":case"paste":setTimeout(function(){r._getDomField(!0),r._updateDomField()},1)}var u=o.tree;if(i==u.parentNode&&"click"==n&&!e.hasMoved){var p=void 0!=e.offsetX?e.offsetX<24*(this.getLevel()+1):e.pageX<s.getAbsoluteLeft(o.tdSeparator);p||a?h&&(s.setEndOfContentEditable(h),h.focus()):d&&(s.setEndOfContentEditable(d),d.focus())}(i!=o.tdExpand||a)&&i!=o.tdField&&i!=o.tdSeparator||"click"!=n||e.hasMoved||h&&(s.setEndOfContentEditable(h),h.focus()),"keydown"==n&&this.onKeyDown(e)},i.prototype.onKeyDown=function(e){var t,n,o,r,l,c,d,h,u=e.which||e.keyCode,p=e.target||e.srcElement,f=e.ctrlKey,m=e.shiftKey,g=e.altKey,v=!1,y="tree"===this.editor.options.mode,b=this.editor.multiselection.nodes.length>0?this.editor.multiselection.nodes:[this],w=b[0],x=b[b.length-1];if(13==u){if(p==this.dom.value)(!this.editable.value||e.ctrlKey)&&s.isUrl(this.value)&&(window.open(this.value,"_blank"),v=!0);else if(p==this.dom.expand){var _=this._hasChilds();if(_){var E=e.ctrlKey;this._onExpand(E),p.focus(),v=!0}}}else if(68==u)f&&y&&(i.onDuplicate(b),v=!0);else if(69==u)f&&(this._onExpand(m),p.focus(),v=!0);else if(77==u&&y)f&&(this.showContextMenu(p),v=!0);else if(46==u&&y)f&&(i.onRemove(b),v=!0);else if(45==u&&y)f&&!m?(this._onInsertBefore(),v=!0):f&&m&&(this._onInsertAfter(),v=!0);else if(35==u){if(g){var C=this._lastNode();C&&C.focus(i.focusElement||this._getElementName(p)),v=!0}}else if(36==u){if(g){var j=this._firstNode();j&&j.focus(i.focusElement||this._getElementName(p)),v=!0}}else if(37==u){if(g&&!m){var S=this._previousElement(p);S&&this.focus(this._getElementName(S)),v=!0}else if(g&&m&&y){if(x.expanded){var k=x.getAppend();o=k?k.nextSibling:void 0}else{var N=x.getDom();o=N.nextSibling}o&&(n=i.getNodeFromTarget(o),r=o.nextSibling,T=i.getNodeFromTarget(r),n&&n instanceof a&&1!=x.parent.childs.length&&T&&T.parent&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){T.parent.moveBefore(e,T)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:T,oldSelection:l,newSelection:this.editor.getSelection()})))}}else if(38==u)g&&!m?(t=this._previousNode(),t&&(this.editor.deselect(!0),t.focus(i.focusElement||this._getElementName(p))),v=!0):!g&&f&&m&&y?(t=this._previousNode(),t&&(h=this.editor.multiselection,h.start=h.start||this,h.end=t,d=this.editor._findTopLevelNodes(h.start,h.end),this.editor.select(d),t.focus("field")),v=!0):g&&m&&y&&(t=w._previousNode(),t&&t.parent&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){t.parent.moveBefore(e,t)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:t,oldSelection:l,newSelection:this.editor.getSelection()})),v=!0);else if(39==u){if(g&&!m){var A=this._nextElement(p);A&&this.focus(this._getElementName(A)),v=!0}else if(g&&m&&y){N=w.getDom();var O=N.previousSibling;O&&(t=i.getNodeFromTarget(O),t&&t.parent&&t instanceof a&&!t.isVisible()&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){t.parent.moveBefore(e,t)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:t,oldSelection:l,newSelection:this.editor.getSelection()})))}}else if(40==u)if(g&&!m)n=this._nextNode(),n&&(this.editor.deselect(!0),n.focus(i.focusElement||this._getElementName(p))),v=!0;else if(!g&&f&&m&&y)n=this._nextNode(),n&&(h=this.editor.multiselection,h.start=h.start||this,h.end=n,d=this.editor._findTopLevelNodes(h.start,h.end),this.editor.select(d),n.focus("field")),v=!0;else if(g&&m&&y){n=x.expanded?x.append?x.append._nextNode():void 0:x._nextNode();var T=n&&(n._nextNode()||n.parent.append);T&&T.parent&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){T.parent.moveBefore(e,T)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:T,oldSelection:l,newSelection:this.editor.getSelection()})),v=!0}v&&(e.preventDefault(),e.stopPropagation())},i.prototype._onExpand=function(e){if(e){var t=this.dom.tr.parentNode,n=t.parentNode,i=n.scrollTop;n.removeChild(t)}this.expanded?this.collapse(e):this.expand(e),e&&(n.appendChild(t),n.scrollTop=i)},i.onRemove=function(e){if(!Array.isArray(e))return i.onRemove([e]);if(e&&e.length>0){var t=e[0],n=t.parent,o=t.editor,r=t.getIndex();o.highlighter.unhighlight();var s=o.getSelection();i.blurNodes(e);var a=o.getSelection();e.forEach(function(e){e.parent._remove(e)}),o._onAction("removeNodes",{nodes:e.slice(0),parent:n,index:r,oldSelection:s,newSelection:a})}},i.onDuplicate=function(e){if(!Array.isArray(e))return i.onDuplicate([e]);if(e&&e.length>0){var t=e[e.length-1],n=t.parent,o=t.editor;o.deselect(o.multiselection.nodes);var r=o.getSelection(),s=t,a=e.map(function(e){var t=e.clone();return n.insertAfter(t,s),s=t,t});1===e.length?a[0].focus():o.select(a);var l=o.getSelection();o._onAction("duplicateNodes",{afterNode:t,nodes:a,parent:n,oldSelection:r,newSelection:l})}},i.prototype._onInsertBefore=function(e,t,n){var o=this.editor.getSelection(),r=new i(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:n});r.expand(!0),this.parent.insertBefore(r,this),this.editor.highlighter.unhighlight(),r.focus("field");var s=this.editor.getSelection();this.editor._onAction("insertBeforeNodes",{nodes:[r],beforeNode:this,parent:this.parent,oldSelection:o,newSelection:s})},i.prototype._onInsertAfter=function(e,t,n){var o=this.editor.getSelection(),r=new i(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:n});r.expand(!0),this.parent.insertAfter(r,this),this.editor.highlighter.unhighlight(),r.focus("field");var s=this.editor.getSelection();this.editor._onAction("insertAfterNodes",{nodes:[r],afterNode:this,parent:this.parent,oldSelection:o,newSelection:s})},i.prototype._onAppend=function(e,t,n){var o=this.editor.getSelection(),r=new i(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:n});r.expand(!0),this.parent.appendChild(r),this.editor.highlighter.unhighlight(),r.focus("field");var s=this.editor.getSelection();this.editor._onAction("appendNodes",{nodes:[r],parent:this.parent,oldSelection:o,newSelection:s})},i.prototype._onChangeType=function(e){var t=this.type;if(e!=t){var n=this.editor.getSelection();this.changeType(e);var i=this.editor.getSelection();this.editor._onAction("changeType",{node:this,oldType:t,newType:e,oldSelection:n,newSelection:i})}},i.prototype._onSort=function(e){if(this._hasChilds()){var t="desc"==e?-1:1,n="array"==this.type?"value":"field";this.hideChilds();var i=this.childs,o=this.sort;this.childs=this.childs.concat(),this.childs.sort(function(e,i){return e[n]>i[n]?t:e[n]<i[n]?-t:0}),this.sort=1==t?"asc":"desc",this.editor._onAction("sort",{node:this,oldChilds:i,oldSort:o,newChilds:this.childs,newSort:this.sort}),this.showChilds()}},i.prototype.getAppend=function(){return this.append||(this.append=new a(this.editor),this.append.setParent(this)),this.append.getDom()},i.getNodeFromTarget=function(e){for(;e;){if(e.node)return e.node;e=e.parentNode}return void 0},i.blurNodes=function(e){if(!Array.isArray(e))return void i.blurNodes([e]);var t=e[0],n=t.parent,o=t.getIndex();n.childs[o+e.length]?n.childs[o+e.length].focus():n.childs[o-1]?n.childs[o-1].focus():n.focus()},i.prototype._nextSibling=function(){var e=this.parent.childs.indexOf(this);return this.parent.childs[e+1]||this.parent.append},i.prototype._previousNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t;do n=n.previousSibling,e=i.getNodeFromTarget(n);while(n&&e instanceof a&&!e.isVisible())}return e},i.prototype._nextNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t;do n=n.nextSibling,e=i.getNodeFromTarget(n);while(n&&e instanceof a&&!e.isVisible())}return e},i.prototype._firstNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t.parentNode.firstChild;e=i.getNodeFromTarget(n)}return e},i.prototype._lastNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t.parentNode.lastChild;for(e=i.getNodeFromTarget(n);n&&e instanceof a&&!e.isVisible();)n=n.previousSibling,e=i.getNodeFromTarget(n)}return e},i.prototype._previousElement=function(e){var t=this.dom;switch(e){case t.value:if(this.fieldEditable)return t.field;case t.field:if(this._hasChilds())return t.expand;case t.expand:return t.menu;case t.menu:if(t.drag)return t.drag;default:return null}},i.prototype._nextElement=function(e){var t=this.dom;switch(e){case t.drag:return t.menu;case t.menu:if(this._hasChilds())return t.expand;case t.expand:if(this.fieldEditable)return t.field;case t.field:if(!this._hasChilds())return t.value;default:return null}},i.prototype._getElementName=function(e){var t=this.dom;for(var n in t)if(t.hasOwnProperty(n)&&t[n]==e)return n;return null},i.prototype._hasChilds=function(){return"array"==this.type||"object"==this.type},i.TYPE_TITLES={auto:'Field type "auto". The field type is automatically determined from the value and can be a string, number, boolean, or null.',object:'Field type "object". An object contains an unordered set of key/value pairs.',array:'Field type "array". An array contains an ordered collection of values.',string:'Field type "string". Field type is not determined from the value, but always returned as string.'},i.prototype.showContextMenu=function(e,t){var n=this,r=i.TYPE_TITLES,s=[];if(this.editable.value&&s.push({text:"Type",title:"Change the type of this field",className:"jsoneditor-type-"+this.type,submenu:[{text:"Auto",className:"jsoneditor-type-auto"+("auto"==this.type?" jsoneditor-selected":""),title:r.auto,click:function(){n._onChangeType("auto")}},{text:"Array",className:"jsoneditor-type-array"+("array"==this.type?" jsoneditor-selected":""),title:r.array,click:function(){n._onChangeType("array")}},{text:"Object",className:"jsoneditor-type-object"+("object"==this.type?" jsoneditor-selected":""),title:r.object,click:function(){n._onChangeType("object")}},{text:"String",className:"jsoneditor-type-string"+("string"==this.type?" jsoneditor-selected":""),title:r.string,click:function(){n._onChangeType("string")}}]}),this._hasChilds()){var a="asc"==this.sort?"desc":"asc";s.push({text:"Sort",title:"Sort the childs of this "+this.type,className:"jsoneditor-sort-"+a,click:function(){n._onSort(a)},submenu:[{text:"Ascending",className:"jsoneditor-sort-asc",title:"Sort the childs of this "+this.type+" in ascending order",click:function(){n._onSort("asc")}},{text:"Descending",className:"jsoneditor-sort-desc",title:"Sort the childs of this "+this.type+" in descending order",click:function(){n._onSort("desc")}}]})}if(this.parent&&this.parent._hasChilds()){s.length&&s.push({type:"separator"});var l=n.parent.childs;n==l[l.length-1]&&s.push({text:"Append",title:"Append a new field with type 'auto' after this field (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"jsoneditor-append",click:function(){n._onAppend("","","auto")},submenu:[{text:"Auto",className:"jsoneditor-type-auto",title:r.auto,click:function(){n._onAppend("","","auto")}},{text:"Array",className:"jsoneditor-type-array",title:r.array,click:function(){n._onAppend("",[])}},{text:"Object",className:"jsoneditor-type-object",title:r.object,click:function(){n._onAppend("",{})}},{text:"String",className:"jsoneditor-type-string",title:r.string,click:function(){n._onAppend("","","string")}}]}),s.push({text:"Insert",title:"Insert a new field with type 'auto' before this field (Ctrl+Ins)",submenuTitle:"Select the type of the field to be inserted",className:"jsoneditor-insert",click:function(){n._onInsertBefore("","","auto")},submenu:[{text:"Auto",className:"jsoneditor-type-auto",title:r.auto,click:function(){n._onInsertBefore("","","auto")}},{text:"Array",className:"jsoneditor-type-array",title:r.array,click:function(){n._onInsertBefore("",[])}},{text:"Object",className:"jsoneditor-type-object",title:r.object,click:function(){n._onInsertBefore("",{})}},{text:"String",className:"jsoneditor-type-string",title:r.string,click:function(){n._onInsertBefore("","","string")}}]}),this.editable.field&&(s.push({text:"Duplicate",title:"Duplicate this field (Ctrl+D)",className:"jsoneditor-duplicate",click:function(){i.onDuplicate(n)}}),s.push({text:"Remove",title:"Remove this field (Ctrl+Del)",className:"jsoneditor-remove",click:function(){i.onRemove(n)}}))}var c=new o(s,{close:t});c.show(e,this.editor.content)},i.prototype._getType=function(e){return e instanceof Array?"array":e instanceof Object?"object":"string"==typeof e&&"string"!=typeof this._stringCast(e)?"string":"auto"},i.prototype._stringCast=function(e){var t=e.toLowerCase(),n=Number(e),i=parseFloat(e);return""==e?"":"null"==t?null:"true"==t?!0:"false"==t?!1:isNaN(n)||isNaN(i)?e:n},i.prototype._escapeHTML=function(e){if("string"!=typeof e)return String(e);var t=String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g," &nbsp;").replace(/^ /,"&nbsp;").replace(/ $/,"&nbsp;"),n=JSON.stringify(t),i=n.substring(1,n.length-1);return this.editor.options.escapeUnicode===!0&&(i=s.escapeUnicodeChars(i)),i},i.prototype._unescapeHTML=function(e){var t='"'+this._escapeJSON(e)+'"',n=s.parse(t);return n.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&nbsp;|\u00A0/g," ").replace(/&amp;/g,"&")},i.prototype._escapeJSON=function(e){for(var t="",n=0;n<e.length;){var i=e.charAt(n);"\n"==i?t+="\\n":"\\"==i?(t+=i,n++,i=e.charAt(n),(""===i||-1=='"\\/bfnrtu'.indexOf(i))&&(t+="\\"),t+=i):t+='"'==i?'\\"':i,n++}return t};var a=r(i);e.exports=i},function(e,t,n){var i=function(){var e={trace:function(){},yy:{},symbols_:{error:2,JSONString:3,STRING:4,JSONNumber:5,NUMBER:6,JSONNullLiteral:7,NULL:8,JSONBooleanLiteral:9,TRUE:10,FALSE:11,JSONText:12,JSONValue:13,EOF:14,JSONObject:15,JSONArray:16,"{":17,"}":18,JSONMemberList:19,JSONMember:20,":":21,",":22,"[":23,"]":24,JSONElementList:25,$accept:0,$end:1},terminals_:{2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"},productions_:[0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],performAction:function(e,t,n,i,o,r,s){var a=r.length-1;switch(o){case 1:this.$=e.replace(/\\(\\|")/g,"$1").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\v/g," ").replace(/\\f/g,"\f").replace(/\\b/g,"\b");break;case 2:this.$=Number(e);break;case 3:this.$=null;break;case 4:this.$=!0;break;case 5:this.$=!1;break;case 6:return this.$=r[a-1];case 13:this.$={};break;case 14:this.$=r[a-1];break;case 15:this.$=[r[a-2],r[a]];break;case 16:this.$={},this.$[r[a][0]]=r[a][1];break;case 17:this.$=r[a-2],r[a-2][r[a][0]]=r[a][1];break;case 18:this.$=[];break;case 19:this.$=r[a-1];break;case 20:this.$=[r[a]];break;case 21:this.$=r[a-2],r[a-2].push(r[a])}},table:[{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],defaultActions:{16:[2,6]},parseError:function(e,t){throw new Error(e)},parse:function(e){function t(e){o.length=o.length-2*e,r.length=r.length-e,s.length=s.length-e}function n(){var e;return e=i.lexer.lex()||1,"number"!=typeof e&&(e=i.symbols_[e]||e),e}var i=this,o=[0],r=[null],s=[],a=this.table,l="",c=0,d=0,h=0,u=2,p=1;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var f=this.lexer.yylloc;s.push(f),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var m,g,v,y,b,w,x,_,E,C={};;){if(v=o[o.length-1],this.defaultActions[v]?y=this.defaultActions[v]:(null==m&&(m=n()),y=a[v]&&a[v][m]),"undefined"==typeof y||!y.length||!y[0]){if(!h){E=[];for(w in a[v])this.terminals_[w]&&w>2&&E.push("'"+this.terminals_[w]+"'");var j="";j=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+E.join(", ")+", got '"+this.terminals_[m]+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(j,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:f,expected:E})}if(3==h){if(m==p)throw new Error(j||"Parsing halted.");d=this.lexer.yyleng,l=this.lexer.yytext,c=this.lexer.yylineno,f=this.lexer.yylloc,m=n()}for(;;){if(u.toString()in a[v])break;if(0==v)throw new Error(j||"Parsing halted.");t(1),v=o[o.length-1]}g=m,m=u,v=o[o.length-1],y=a[v]&&a[v][u],h=3}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(y[0]){case 1:o.push(m),r.push(this.lexer.yytext),s.push(this.lexer.yylloc),o.push(y[1]),m=null,g?(m=g,g=null):(d=this.lexer.yyleng,l=this.lexer.yytext,c=this.lexer.yylineno,f=this.lexer.yylloc,h>0&&h--);break;case 2:if(x=this.productions_[y[1]][1],C.$=r[r.length-x],C._$={first_line:s[s.length-(x||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(x||1)].first_column,last_column:s[s.length-1].last_column},b=this.performAction.call(C,l,d,c,this.yy,y[1],r,s),"undefined"!=typeof b)return b;x&&(o=o.slice(0,-1*x*2),r=r.slice(0,-1*x),s=s.slice(0,-1*x)),o.push(this.productions_[y[1]][0]),r.push(C.$),s.push(C._$),_=a[o[o.length-2]][o[o.length-1]],o.push(_);break;case 3:return!0}}return!0}},t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parseError)throw new Error(e);this.yy.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.match+=e,this.matched+=e;var t=e.match(/\n/);return t&&this.yylineno++,this._input=this._input.slice(1),e},unput:function(e){return this._input=e+this._input,this},more:function(){return this._more=!0,this},less:function(e){this._input=this.match.slice(e)+this._input},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,i,o;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length&&(n=this._input.match(this.rules[r[s]]),!n||t&&!(n[0].length>t[0].length)||(t=n,i=s,this.options.flex));s++);return t?(o=t[0].match(/\n.*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-1:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,r[i],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e?e:void 0):""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return"undefined"!=typeof e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)}};return e.options={},e.performAction=function(e,t,n,i){switch(n){case 0:break;case 1:return 6;case 2:return t.yytext=t.yytext.substr(1,t.yyleng-2),4;case 3:return 17;case 4:return 18;case 5:return 23;case 6:return 24;case 7:return 22;case 8:return 21;case 9:return 10;case 10:return 11;case 11:return 8;case 12:return 14;case 13:return"INVALID"}},e.rules=[/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt\/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/],e.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}},e}();return e.lexer=t,e}();t.parser=i,t.parse=i.parse.bind(i)},function(e,t,n){var i=n(!function(){var e=new Error('Cannot find module "brace"');throw e.code="MODULE_NOT_FOUND",e}());n(14),n(15),n(13),e.exports=i},function(e,t,n){function i(e){function t(e){this.editor=e,this.dom={}}return t.prototype=new e,t.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;this._updateEditability();var t=document.createElement("tr");if(t.node=this,e.tr=t,this.editable.field){e.tdDrag=document.createElement("td");var n=document.createElement("td");e.tdMenu=n;var i=document.createElement("button");i.className="jsoneditor-contextmenu",i.title="Click to open the actions menu (Ctrl+M)",e.menu=i,n.appendChild(e.menu)}var o=document.createElement("td"),r=document.createElement("div");return r.innerHTML="(empty)",r.className="jsoneditor-readonly",o.appendChild(r),e.td=o,e.text=r,this.updateDom(),t},t.prototype.updateDom=function(){var e=this.dom,t=e.td;t&&(t.style.paddingLeft=24*this.getLevel()+26+"px");var n=e.text;n&&(n.innerHTML="(empty "+this.parent.type+")");var i=e.tr;this.isVisible()?e.tr.firstChild||(e.tdDrag&&i.appendChild(e.tdDrag),e.tdMenu&&i.appendChild(e.tdMenu),i.appendChild(t)):e.tr.firstChild&&(e.tdDrag&&i.removeChild(e.tdDrag),e.tdMenu&&i.removeChild(e.tdMenu),i.removeChild(t))},t.prototype.isVisible=function(){return 0==this.parent.childs.length},t.prototype.showContextMenu=function(t,n){var i=this,o=e.TYPE_TITLES,s=[{text:"Append",title:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"jsoneditor-insert",click:function(){i._onAppend("","","auto")},submenu:[{text:"Auto",className:"jsoneditor-type-auto",title:o.auto,click:function(){i._onAppend("","","auto")}},{text:"Array",className:"jsoneditor-type-array",title:o.array,click:function(){i._onAppend("",[])}},{text:"Object",className:"jsoneditor-type-object",title:o.object,click:function(){i._onAppend("",{})}},{text:"String",className:"jsoneditor-type-string",title:o.string,click:function(){i._onAppend("","","string")}}]}],a=new r(s,{close:n});a.show(t,this.editor.content)},t.prototype.onEvent=function(e){var t=e.type,n=e.target||e.srcElement,i=this.dom,r=i.menu;if(n==r&&("mouseover"==t?this.editor.highlighter.highlight(this.parent):"mouseout"==t&&this.editor.highlighter.unhighlight()),"click"==t&&n==i.menu){var s=this.editor.highlighter;s.highlight(this.parent),s.lock(),o.addClassName(i.menu,"jsoneditor-selected"),this.showContextMenu(i.menu,function(){o.removeClassName(i.menu,"jsoneditor-selected"),s.unlock(),s.unhighlight()})}"keydown"==t&&this.onKeyDown(e)},t}var o=n(3),r=n(8);e.exports=i},function(e,t,n){ace.define("ace/theme/jsoneditor",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-jsoneditor",t.cssText='.ace-jsoneditor .ace_gutter { background: #ebebeb; color: #333 } .ace-jsoneditor.ace_editor { font-family: droid sans mono, consolas, monospace, courier new, courier, sans-serif; line-height: 1.3; } .ace-jsoneditor .ace_print-margin { width: 1px; background: #e8e8e8 } .ace-jsoneditor .ace_scroller { background-color: #FFFFFF } .ace-jsoneditor .ace_text-layer { color: gray } .ace-jsoneditor .ace_variable { color: #1a1a1a } .ace-jsoneditor .ace_cursor { border-left: 2px solid #000000 } .ace-jsoneditor .ace_overwrite-cursors .ace_cursor { border-left: 0px; border-bottom: 1px solid #000000 } .ace-jsoneditor .ace_marker-layer .ace_selection { background: lightgray } .ace-jsoneditor.ace_multiselect .ace_selection.ace_start { box-shadow: 0 0 3px 0px #FFFFFF; border-radius: 2px } .ace-jsoneditor .ace_marker-layer .ace_step { background: rgb(255, 255, 0) } .ace-jsoneditor .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF } .ace-jsoneditor .ace_marker-layer .ace_active-line { background: #FFFBD1 } .ace-jsoneditor .ace_gutter-active-line { background-color : #dcdcdc } .ace-jsoneditor .ace_marker-layer .ace_selected-word { border: 1px solid lightgray } .ace-jsoneditor .ace_invisible { color: #BFBFBF } .ace-jsoneditor .ace_keyword, .ace-jsoneditor .ace_meta, .ace-jsoneditor .ace_support.ace_constant.ace_property-value { color: #AF956F } .ace-jsoneditor .ace_keyword.ace_operator { color: #484848 } .ace-jsoneditor .ace_keyword.ace_other.ace_unit { color: #96DC5F } .ace-jsoneditor .ace_constant.ace_language { color: darkorange } .ace-jsoneditor .ace_constant.ace_numeric { color: red } .ace-jsoneditor .ace_constant.ace_character.ace_entity { color: #BF78CC } .ace-jsoneditor .ace_invalid { color: #FFFFFF; background-color: #FF002A; } .ace-jsoneditor .ace_fold { background-color: #AF956F; border-color: #000000 } .ace-jsoneditor .ace_storage, .ace-jsoneditor .ace_support.ace_class, .ace-jsoneditor .ace_support.ace_function, .ace-jsoneditor .ace_support.ace_other, .ace-jsoneditor .ace_support.ace_type { color: #C52727 } .ace-jsoneditor .ace_string { color: green } .ace-jsoneditor .ace_comment { color: #BCC8BA } .ace-jsoneditor .ace_entity.ace_name.ace_tag, .ace-jsoneditor .ace_entity.ace_other.ace_attribute-name { color: #606060 } .ace-jsoneditor .ace_markup.ace_underline { text-decoration: underline } .ace-jsoneditor .ace_indent-guide { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y }';var i=e("../lib/dom");i.importCssString(t.cssText,t.cssClass)})},function(e,t,n){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var i=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,r=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};i.inherits(r,o),t.JsonHighlightRules=r}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),o=n.match(/^(\s*\})/);if(!o)return 0;var r=o[1].length,s=e.findMatchingBracket({row:t,column:r});if(!s||s.row==t)return 0;var a=this.$getIndent(e.getLine(s.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var i,o=e("../../lib/oop"),r=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,a=e("../../lib/lang"),l=["text","paren.rparen","punctuation.operator"],c=["text","paren.rparen","punctuation.operator","comment"],d={},h=function(e){var t=-1;return e.multiSelect&&(t=e.selection.index,d.rangeCount!=e.multiSelect.rangeCount&&(d={rangeCount:e.multiSelect.rangeCount})),d[t]?i=d[t]:void(i=d[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""})},u=function(e,t,n,i){var o=e.end.row-e.start.row;return{text:n+t+i,selection:[0,e.start.column+1,o,e.end.column+(o?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,o,r){var s=n.getCursorPosition(),l=o.doc.getLine(s.row);if("{"==r){h(n);var c=n.getSelectionRange(),d=o.doc.getTextRange(c);if(""!==d&&"{"!==d&&n.getWrapBehavioursEnabled())return u(c,d,"{","}");if(p.isSaneInsertion(n,o))return/[\]\}\)]/.test(l[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,o,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,o,"{"),{text:"{",selection:[1,1]})}else if("}"==r){h(n);var f=l.substring(s.column,s.column+1);if("}"==f){var m=o.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(null!==m&&p.isAutoInsertedClosing(s,l,r))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]
33
+ }}}else{if("\n"==r||"\r\n"==r){h(n);var g="";p.isMaybeInsertedClosing(s,l)&&(g=a.stringRepeat("}",i.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var f=l.substring(s.column,s.column+1);if("}"===f){var v=o.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!v)return null;var y=this.$getIndent(o.getLine(v.row))}else{if(!g)return void p.clearMaybeInsertedClosing();var y=this.$getIndent(l)}var b=y+o.getTabString();return{text:"\n"+b+"\n"+y+g,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,o,r){var s=o.doc.getTextRange(r);if(!r.isMultiLine()&&"{"==s){h(n);var a=o.doc.getLine(r.start.row),l=a.substring(r.end.column,r.end.column+1);if("}"==l)return r.end.column++,r;i.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,i,o){if("("==o){h(n);var r=n.getSelectionRange(),s=i.doc.getTextRange(r);if(""!==s&&n.getWrapBehavioursEnabled())return u(r,s,"(",")");if(p.isSaneInsertion(n,i))return p.recordAutoInsert(n,i,")"),{text:"()",selection:[1,1]}}else if(")"==o){h(n);var a=n.getCursorPosition(),l=i.doc.getLine(a.row),c=l.substring(a.column,a.column+1);if(")"==c){var d=i.$findOpeningBracket(")",{column:a.column+1,row:a.row});if(null!==d&&p.isAutoInsertedClosing(a,l,o))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,i,o){var r=i.doc.getTextRange(o);if(!o.isMultiLine()&&"("==r){h(n);var s=i.doc.getLine(o.start.row),a=s.substring(o.start.column+1,o.start.column+2);if(")"==a)return o.end.column++,o}}),this.add("brackets","insertion",function(e,t,n,i,o){if("["==o){h(n);var r=n.getSelectionRange(),s=i.doc.getTextRange(r);if(""!==s&&n.getWrapBehavioursEnabled())return u(r,s,"[","]");if(p.isSaneInsertion(n,i))return p.recordAutoInsert(n,i,"]"),{text:"[]",selection:[1,1]}}else if("]"==o){h(n);var a=n.getCursorPosition(),l=i.doc.getLine(a.row),c=l.substring(a.column,a.column+1);if("]"==c){var d=i.$findOpeningBracket("]",{column:a.column+1,row:a.row});if(null!==d&&p.isAutoInsertedClosing(a,l,o))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,i,o){var r=i.doc.getTextRange(o);if(!o.isMultiLine()&&"["==r){h(n);var s=i.doc.getLine(o.start.row),a=s.substring(o.start.column+1,o.start.column+2);if("]"==a)return o.end.column++,o}}),this.add("string_dquotes","insertion",function(e,t,n,i,o){if('"'==o||"'"==o){h(n);var r=o,s=n.getSelectionRange(),a=i.doc.getTextRange(s);if(""!==a&&"'"!==a&&'"'!=a&&n.getWrapBehavioursEnabled())return u(s,a,r,r);if(!a){var l=n.getCursorPosition(),c=i.doc.getLine(l.row),d=c.substring(l.column-1,l.column),p=c.substring(l.column,l.column+1),f=i.getTokenAt(l.row,l.column),m=i.getTokenAt(l.row,l.column+1);if("\\"==d&&f&&/escape/.test(f.type))return null;var g,v=f&&/string|escape/.test(f.type),y=!m||/string|escape/.test(m.type);if(p==r)g=v!==y;else{if(v&&!y)return null;if(v&&y)return null;var b=i.$mode.tokenRe;b.lastIndex=0;var w=b.test(d);b.lastIndex=0;var x=b.test(d);if(w||x)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;g=!0}return{text:g?r+r:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,i,o){var r=i.doc.getTextRange(o);if(!o.isMultiLine()&&('"'==r||"'"==r)){h(n);var s=i.doc.getLine(o.start.row),a=s.substring(o.start.column+1,o.start.column+2);if(a==r)return o.end.column++,o}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),i=new s(t,n.row,n.column);if(!this.$matchTokenType(i.getCurrentToken()||"text",l)){var o=new s(t,n.row,n.column+1);if(!this.$matchTokenType(o.getCurrentToken()||"text",l))return!1}return i.stepForward(),i.getCurrentTokenRow()!==n.row||this.$matchTokenType(i.getCurrentToken()||"text",c)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var o=e.getCursorPosition(),r=t.doc.getLine(o.row);this.isAutoInsertedClosing(o,r,i.autoInsertedLineEnd[0])||(i.autoInsertedBrackets=0),i.autoInsertedRow=o.row,i.autoInsertedLineEnd=n+r.substr(o.column),i.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var o=e.getCursorPosition(),r=t.doc.getLine(o.row);this.isMaybeInsertedClosing(o,r)||(i.maybeInsertedBrackets=0),i.maybeInsertedRow=o.row,i.maybeInsertedLineStart=r.substr(0,o.column)+n,i.maybeInsertedLineEnd=r.substr(o.column),i.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return i.autoInsertedBrackets>0&&e.row===i.autoInsertedRow&&n===i.autoInsertedLineEnd[0]&&t.substr(e.column)===i.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return i.maybeInsertedBrackets>0&&e.row===i.maybeInsertedRow&&t.substr(e.column)===i.maybeInsertedLineEnd&&t.substr(0,e.column)==i.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){i.autoInsertedLineEnd=i.autoInsertedLineEnd.substr(1),i.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){i&&(i.maybeInsertedBrackets=0,i.maybeInsertedRow=-1)},o.inherits(p,r),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var i=e("../../lib/oop"),o=e("../../range").Range,r=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};i.inherits(s,r),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var i=e.getLine(n);if(this.singleLineBlockCommentRe.test(i)&&!this.startRegionRe.test(i)&&!this.tripleStarBlockCommentRe.test(i))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(i)?"start":o},this.getFoldWidgetRange=function(e,t,n,i){var o=e.getLine(n);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,n);var r=o.match(this.foldingStartMarker);if(r){var s=r.index;if(r[1])return this.openingBracketBlock(e,r[1],n,s);var a=e.getCommentFoldRange(n,s+r[0].length,1);return a&&!a.isMultiLine()&&(i?a=this.getSectionRange(e,n):"all"!=t&&(a=null)),a}if("markbegin"!==t){var r=o.match(this.foldingStopMarker);if(r){var s=r.index+r[0].length;return r[1]?this.closingBracketBlock(e,r[1],n,s):e.getCommentFoldRange(n,s,-1)}}},this.getSectionRange=function(e,t){var n=e.getLine(t),i=n.search(/\S/),r=t,s=n.length;t+=1;for(var a=t,l=e.getLength();++t<l;){n=e.getLine(t);var c=n.search(/\S/);if(-1!==c){if(i>c)break;var d=this.getFoldWidgetRange(e,"all",t);if(d){if(d.start.row<=r)break;if(d.isMultiLine())t=d.end.row;else if(i==c)break}a=t}}return new o(r,s,a,e.getLine(a).length)},this.getCommentRegionBlock=function(e,t,n){for(var i=t.search(/\s*$/),r=e.getLength(),s=n,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++n<r;){t=e.getLine(n);var c=a.exec(t);if(c&&(c[1]?l--:l++,!l))break}var d=n;return d>s?new o(s,i,d,t.length):void 0}}.call(s.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,i){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,d=e("../worker/worker_client").WorkerClient,h=function(){this.HighlightRules=s,this.$outdent=new a,this.$behaviour=new l,this.foldingRules=new c};o.inherits(h,r),function(){this.getNextLineIndent=function(e,t,n){var i=this.$getIndent(t);if("start"==e){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(i+=n)}return i},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new d(["ace"],n(16),"JsonWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(h.prototype),t.Mode=h})},function(e,t,n){ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var i=e("../lib/dom"),o=e("../lib/lang"),r=e("../lib/event"),s=" .ace_search { background-color: #ddd; border: 1px solid #cbcbcb; border-top: 0 none; max-width: 325px; overflow: hidden; margin: 0; padding: 4px; padding-right: 6px; padding-bottom: 0; position: absolute; top: 0px; z-index: 99; white-space: normal; } .ace_search.left { border-left: 0 none; border-radius: 0px 0px 5px 0px; left: 0; } .ace_search.right { border-radius: 0px 0px 0px 5px; border-right: 0 none; right: 0; } .ace_search_form, .ace_replace_form { border-radius: 3px; border: 1px solid #cbcbcb; float: left; margin-bottom: 4px; overflow: hidden; } .ace_search_form.ace_nomatch { outline: 1px solid red; } .ace_search_field { background-color: white; border-right: 1px solid #cbcbcb; border: 0 none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; float: left; height: 22px; outline: 0; padding: 0 7px; width: 214px; margin: 0; } .ace_searchbtn, .ace_replacebtn { background: #fff; border: 0 none; border-left: 1px solid #dcdcdc; cursor: pointer; float: left; height: 22px; margin: 0; position: relative; } .ace_searchbtn:last-child, .ace_replacebtn:last-child { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .ace_searchbtn:disabled { background: none; cursor: default; } .ace_searchbtn { background-position: 50% 50%; background-repeat: no-repeat; width: 27px; } .ace_searchbtn.prev { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); } .ace_searchbtn.next { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); } .ace_searchbtn_close { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0; border-radius: 50%; border: 0 none; color: #656565; cursor: pointer; float: right; font: 16px/16px Arial; height: 14px; margin: 5px 1px 9px 5px; padding: 0; text-align: center; width: 14px; } .ace_searchbtn_close:hover { background-color: #656565; background-position: 50% 100%; color: white; } .ace_replacebtn.prev { width: 54px } .ace_replacebtn.next { width: 27px } .ace_button { margin-left: 2px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -o-user-select: none; -ms-user-select: none; user-select: none; overflow: hidden; opacity: 0.7; border: 1px solid rgba(100,100,100,0.23); padding: 1px; -moz-box-sizing: border-box; box-sizing: border-box; color: black; } .ace_button:hover { background-color: #eee; opacity:1; } .ace_button:active { background-color: #ddd; } .ace_button.checked { border-color: #3399ff; opacity:1; } .ace_search_options{ margin-bottom: 3px; text-align: right; -webkit-user-select: none; -moz-user-select: none; -o-user-select: none; -ms-user-select: none; user-select: none; }",a=e("../keyboard/hash_handler").HashHandler,l=e("../lib/keys");i.importCssString(s,"ace_searchbox");var c='<div class="ace_search right"> <button type="button" action="hide" class="ace_searchbtn_close"></button> <div class="ace_search_form"> <input class="ace_search_field" placeholder="Search for" spellcheck="false"></input> <button type="button" action="findNext" class="ace_searchbtn next"></button> <button type="button" action="findPrev" class="ace_searchbtn prev"></button> <button type="button" action="findAll" class="ace_searchbtn" title="Alt-Enter">All</button> </div> <div class="ace_replace_form"> <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input> <button type="button" action="replaceAndFindNext" class="ace_replacebtn">Replace</button> <button type="button" action="replaceAll" class="ace_replacebtn">All</button> </div> <div class="ace_search_options"> <span action="toggleRegexpMode" class="ace_button" title="RegExp Search">.*</span> <span action="toggleCaseSensitive" class="ace_button" title="CaseSensitive Search">Aa</span> <span action="toggleWholeWords" class="ace_button" title="Whole Word Search">\\b</span> </div> </div>'.replace(/>\s+/g,">"),d=function(e,t,n){var o=i.createElement("div");o.innerHTML=c,this.element=o.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;r.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),r.stopPropagation(e)}),r.addListener(e,"click",function(e){var n=e.target||e.srcElement,i=n.getAttribute("action");i&&t[i]?t[i]():t.$searchBarKb.commands[i]&&t.$searchBarKb.commands[i].exec(t),r.stopPropagation(e)}),r.addCommandKeyListener(e,function(e,n,i){var o=l.keyCodeToString(i),s=t.$searchBarKb.findKeyCommand(n,o);s&&s.exec&&(s.exec(t),r.stopEvent(e))}),this.$onChange=o.delayedCall(function(){t.find(!1,!1)}),r.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),r.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),r.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new a([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new a,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){e.replaceBox.style.display="",e.replaceInput.focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){i.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),i.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),i.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t,n){var o=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:n}),r=!o&&this.searchInput.value;i.setCssClass(this.searchBox,"ace_nomatch",r),this.editor._emit("findSearchBox",{match:!r}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),t=!e&&this.searchInput.value;i.setCssClass(this.searchBox,"ace_nomatch",t),this.editor._emit("findSearchBox",{match:!t}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.find(!1,!1,!0),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}).call(d.prototype),t.SearchBox=d,t.Search=function(e,t){var n=e.searchBox||new d(e);n.show(e.session.getTextRange(),t)}}),function(){ace.acequire(["ace/ext/searchbox"],function(){})}()},function(e,t,n){e.exports.id="ace/mode/json_worker",e.exports.src='"no use strict";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail="";testPath;){var alias=paths[testPath];if("string"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,"/")+(tail||alias.main||alias.name);if(alias===!1)return"";var i=testPath.lastIndexOf("/");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:"error",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf("!")){var chunks=moduleName.split("!");return window.normalizeModule(parentId,chunks[0])+"!"+window.normalizeModule(parentId,chunks[1])}if("."==moduleName.charAt(0)){var base=parentId.split("/").slice(0,-1).join("/");for(moduleName=(base?base+"/":"")+moduleName;-1!==moduleName.indexOf(".")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,"").replace(/\\/\\.\\//,"/").replace(/[^\\/]+\\/\\.\\.\\//,"")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error("worker.js acequire() accepts only (parentId, id) as arguments");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log("unable to load "+id);var path=resolveModuleId(id,window.acequire.tlns);return".js"!=path.slice(-3)&&(path+=".js"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,"string"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),"function"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=["require","exports","module"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case"require":return req;case"exports":return module.exports;case"module":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire("ace/lib/event_emitter").EventEmitter,oop=window.acequire("ace/lib/oop"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:"call",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:"event",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error("Unknown command:"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire("ace/lib/es5-shim"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(acequire,exports){"use strict";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define("ace/range",["require","exports","module"],function(acequire,exports){"use strict";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){"object"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){"object"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define("ace/apply_delta",["require","exports","module"],function(acequire,exports){"use strict";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||"";switch(delta.action){case"insert":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case"remove":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(acequire,exports){"use strict";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){"object"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?"unshift":"push"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(acequire,exports){"use strict";var oop=acequire("./lib/oop"),EventEmitter=acequire("./lib/event_emitter").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert="insert"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal("change",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(acequire,exports){"use strict";var oop=acequire("./lib/oop"),applyDelta=acequire("./apply_delta").applyDelta,EventEmitter=acequire("./lib/event_emitter").EventEmitter,Range=acequire("./range").Range,Anchor=acequire("./anchor").Anchor,Document=function(textOrLines){this.$lines=[""],0===textOrLines.length?this.$lines=[""]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0==="aaa".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,"\\n").split("\\n")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:"\\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\\r\\n";case"unix":return"\\n";default:return this.$autoNewLine||"\\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return"\\r\\n"==text||"\\r"==text||"\\n"==text},this.getLine=function(row){return this.$lines[row]||""},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||"").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\'\', \'\']) instead."),this.insertMergedLines(position,["",""])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:"insert",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([""]),column=0):(lines=[""].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:"insert",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:"remove",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:"remove",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:"remove",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:"remove",lines:["",""]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert="insert"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal("change",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(""),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:"insert"==delta.action?"remove":"insert",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define("ace/lib/lang",["require","exports","module"],function(acequire,exports){"use strict";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split("").reverse().join("")},exports.stringRepeat=function(string,count){for(var result="";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,"")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,"")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&"object"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if("object"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}var cons=obj.constructor;if(cons===RegExp)return obj;copy=cons();for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,"\\\\$1")},exports.escapeHTML=function(str){return str.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/\'/g,"&#39;").replace(/</g,"&#60;")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(acequire,exports){"use strict";acequire("../range").Range;var Document=acequire("../document").Document,lang=acequire("../lib/lang"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(""),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on("change",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:"insert",start:data[i],lines:data[i+1]};else var d={action:"remove",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define("ace/mode/json/json_parse",["require","exports","module"],function(){"use strict";var at,ch,text,value,escapee={\'"\':\'"\',"\\\\":"\\\\","/":"/",b:"\\b",f:"\\f",n:"\\n",r:"\\r",t:" "},error=function(m){throw{name:"SyntaxError",message:m,at:at,text:text}},next=function(c){return c&&c!==ch&&error("Expected \'"+c+"\' instead of \'"+ch+"\'"),ch=text.charAt(at),at+=1,ch},number=function(){var number,string="";for("-"===ch&&(string="-",next("-"));ch>="0"&&"9">=ch;)string+=ch,next();if("."===ch)for(string+=".";next()&&ch>="0"&&"9">=ch;)string+=ch;if("e"===ch||"E"===ch)for(string+=ch,next(),("-"===ch||"+"===ch)&&(string+=ch,next());ch>="0"&&"9">=ch;)string+=ch,next();return number=+string,isNaN(number)?(error("Bad number"),void 0):number},string=function(){var hex,i,uffff,string="";if(\'"\'===ch)for(;next();){if(\'"\'===ch)return next(),string;if("\\\\"===ch)if(next(),"u"===ch){for(uffff=0,i=0;4>i&&(hex=parseInt(next(),16),isFinite(hex));i+=1)uffff=16*uffff+hex;string+=String.fromCharCode(uffff)}else{if("string"!=typeof escapee[ch])break;string+=escapee[ch]}else string+=ch}error("Bad string")},white=function(){for(;ch&&" ">=ch;)next()},word=function(){switch(ch){case"t":return next("t"),next("r"),next("u"),next("e"),!0;case"f":return next("f"),next("a"),next("l"),next("s"),next("e"),!1;case"n":return next("n"),next("u"),next("l"),next("l"),null}error("Unexpected \'"+ch+"\'")},array=function(){var array=[];if("["===ch){if(next("["),white(),"]"===ch)return next("]"),array;for(;ch;){if(array.push(value()),white(),"]"===ch)return next("]"),array;next(","),white()}}error("Bad array")},object=function(){var key,object={};if("{"===ch){if(next("{"),white(),"}"===ch)return next("}"),object;for(;ch;){if(key=string(),white(),next(":"),Object.hasOwnProperty.call(object,key)&&error(\'Duplicate key "\'+key+\'"\'),object[key]=value(),white(),"}"===ch)return next("}"),object;next(","),white()}}error("Bad object")};return value=function(){switch(white(),ch){case"{":return object();case"[":return array();case\'"\':return string();case"-":return number();default:return ch>="0"&&"9">=ch?number():word()}},function(source,reviver){var result;return text=source,at=0,ch=" ",result=value(),white(),ch&&error("Syntax error"),"function"==typeof reviver?function walk(holder,key){var k,v,value=holder[key];if(value&&"object"==typeof value)for(k in value)Object.hasOwnProperty.call(value,k)&&(v=walk(value,k),void 0!==v?value[k]=v:delete value[k]);return reviver.call(holder,key,value)}({"":result},""):result}}),ace.define("ace/mode/json_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/json/json_parse"],function(acequire,exports){"use strict";var oop=acequire("../lib/oop"),Mirror=acequire("../worker/mirror").Mirror,parse=acequire("./json/json_parse"),JsonWorker=exports.JsonWorker=function(sender){Mirror.call(this,sender),this.setTimeout(200)};oop.inherits(JsonWorker,Mirror),function(){this.onUpdate=function(){var value=this.doc.getValue(),errors=[];try{value&&parse(value)}catch(e){var pos=this.doc.indexToPosition(e.at-1);errors.push({row:pos.row,column:pos.column,text:e.message,type:"error"})}this.sender.emit("annotate",errors)}}.call(JsonWorker.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,"sentinel",{}),"sentinel"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if("function"!=typeof target)throw new TypeError("Function.prototype.bind called on incompatible "+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,"__defineGetter__"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,"XXX"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0\n}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return"[object Array]"==_toString(obj)});var boxedString=Object("a"),splitString="a"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,thisp=arguments[1],i=-1,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,result=[],thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");if(!length&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError("reduce of empty array with no initial value")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");if(!length&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError("reduceRight of empty array with no initial value")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&"[object String]"==_toString(this)?this.split(""):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&"[object String]"==_toString(this)?this.split(""):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(object,property){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if("object"!=typeof prototype)throw new TypeError("typeof prototype["+typeof prototype+"] != \'object\'");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom="undefined"==typeof document||doesDefinePropertyWork(document.createElement("div"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR="Property description must be an object: ",ERR_NON_OBJECT_TARGET="Object.defineProperty called on non-object: ",ERR_ACCESSORS_NOT_SUPPORTED="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(object,property,descriptor){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if("object"!=typeof descriptor&&"function"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,"value"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,"get")&&defineGetter(object,property,descriptor.get),owns(descriptor,"set")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return"function"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name="";owns(object,name);)name+="?";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError("Object.keys called on a non-object");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=" \\n \\f\\r   ᠎              \\u2028\\u2029";if(!String.prototype.trim||ws.trim()){ws="["+ws+"]";var trimBeginRegexp=RegExp("^"+ws+ws+"*"),trimEndRegexp=RegExp(ws+ws+"*$");String.prototype.trim=function(){return(this+"").replace(trimBeginRegexp,"").replace(trimEndRegexp,"")}}var toObject=function(o){if(null==o)throw new TypeError("can\'t convert "+o+" to object");return Object(o)}});';
34
+ }])});
35
+ //# sourceMappingURL=jsoneditor-minimalist.map
@@ -0,0 +1,879 @@
1
+ div.jsoneditor-field,
2
+ div.jsoneditor-value,
3
+ div.jsoneditor-readonly {
4
+ border: 1px solid transparent;
5
+ min-height: 16px;
6
+ min-width: 32px;
7
+ padding: 2px;
8
+ margin: 1px;
9
+ word-wrap: break-word;
10
+ float: left;
11
+ }
12
+
13
+ /* adjust margin of p elements inside editable divs, needed for Opera, IE */
14
+
15
+ div.jsoneditor-field p,
16
+ div.jsoneditor-value p {
17
+ margin: 0;
18
+ }
19
+
20
+ div.jsoneditor-value {
21
+ word-break: break-word;
22
+ }
23
+
24
+ div.jsoneditor-readonly {
25
+ min-width: 16px;
26
+ color: gray;
27
+ }
28
+
29
+ div.jsoneditor-empty {
30
+ border-color: lightgray;
31
+ border-style: dashed;
32
+ border-radius: 2px;
33
+ }
34
+
35
+ div.jsoneditor-field.jsoneditor-empty::after,
36
+ div.jsoneditor-value.jsoneditor-empty::after {
37
+ pointer-events: none;
38
+ color: lightgray;
39
+ font-size: 8pt;
40
+ }
41
+
42
+ div.jsoneditor-field.jsoneditor-empty::after {
43
+ content: "field";
44
+ }
45
+
46
+ div.jsoneditor-value.jsoneditor-empty::after {
47
+ content: "value";
48
+ }
49
+
50
+ div.jsoneditor-value.jsoneditor-url {
51
+ color: green;
52
+ text-decoration: underline;
53
+ }
54
+
55
+ a.jsoneditor-value.jsoneditor-url:hover,
56
+ a.jsoneditor-value.jsoneditor-url:focus {
57
+ color: #ee422e;
58
+ }
59
+
60
+ div.jsoneditor td.jsoneditor-separator {
61
+ padding: 3px 0;
62
+ vertical-align: top;
63
+ color: gray;
64
+ }
65
+
66
+ div.jsoneditor-field[contenteditable=true]:focus,
67
+ div.jsoneditor-field[contenteditable=true]:hover,
68
+ div.jsoneditor-value[contenteditable=true]:focus,
69
+ div.jsoneditor-value[contenteditable=true]:hover,
70
+ div.jsoneditor-field.jsoneditor-highlight,
71
+ div.jsoneditor-value.jsoneditor-highlight {
72
+ background-color: #FFFFAB;
73
+ border: 1px solid yellow;
74
+ border-radius: 2px;
75
+ }
76
+
77
+ div.jsoneditor-field.jsoneditor-highlight-active,
78
+ div.jsoneditor-field.jsoneditor-highlight-active:focus,
79
+ div.jsoneditor-field.jsoneditor-highlight-active:hover,
80
+ div.jsoneditor-value.jsoneditor-highlight-active,
81
+ div.jsoneditor-value.jsoneditor-highlight-active:focus,
82
+ div.jsoneditor-value.jsoneditor-highlight-active:hover {
83
+ background-color: #ffee00;
84
+ border: 1px solid #ffc700;
85
+ border-radius: 2px;
86
+ }
87
+
88
+ div.jsoneditor-value.jsoneditor-string {
89
+ color: #008000;
90
+ }
91
+
92
+ div.jsoneditor-value.jsoneditor-object,
93
+ div.jsoneditor-value.jsoneditor-array {
94
+ min-width: 16px;
95
+ color: #808080;
96
+ }
97
+
98
+ div.jsoneditor-value.jsoneditor-number {
99
+ color: #ee422e;
100
+ }
101
+
102
+ div.jsoneditor-value.jsoneditor-boolean {
103
+ color: #ff8c00;
104
+ }
105
+
106
+ div.jsoneditor-value.jsoneditor-null {
107
+ color: #004ED0;
108
+ }
109
+
110
+ div.jsoneditor-value.jsoneditor-invalid {
111
+ color: #000000;
112
+ }
113
+
114
+ div.jsoneditor-tree button {
115
+ width: 24px;
116
+ height: 24px;
117
+ padding: 0;
118
+ margin: 0;
119
+ border: none;
120
+ cursor: pointer;
121
+ background: transparent asset-url("jsoneditor/dist/img/jsoneditor-icons.svg");
122
+ }
123
+
124
+ div.jsoneditor-mode-view tr.jsoneditor-expandable td.jsoneditor-tree,
125
+ div.jsoneditor-mode-form tr.jsoneditor-expandable td.jsoneditor-tree {
126
+ cursor: pointer;
127
+ }
128
+
129
+ div.jsoneditor-tree button.jsoneditor-collapsed {
130
+ background-position: 0 -48px;
131
+ }
132
+
133
+ div.jsoneditor-tree button.jsoneditor-expanded {
134
+ background-position: 0 -72px;
135
+ }
136
+
137
+ div.jsoneditor-tree button.jsoneditor-contextmenu {
138
+ background-position: -48px -72px;
139
+ }
140
+
141
+ div.jsoneditor-tree button.jsoneditor-contextmenu:hover,
142
+ div.jsoneditor-tree button.jsoneditor-contextmenu:focus,
143
+ div.jsoneditor-tree button.jsoneditor-contextmenu.jsoneditor-selected,
144
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu {
145
+ background-position: -48px -48px;
146
+ }
147
+
148
+ div.jsoneditor-tree *:focus {
149
+ outline: none;
150
+ }
151
+
152
+ div.jsoneditor-tree button:focus {
153
+ /* TODO: nice outline for buttons with focus
154
+ outline: #97B0F8 solid 2px;
155
+ box-shadow: 0 0 8px #97B0F8;
156
+ */
157
+ background-color: #f5f5f5;
158
+ outline: #e5e5e5 solid 1px;
159
+ }
160
+
161
+ div.jsoneditor-tree button.jsoneditor-invisible {
162
+ visibility: hidden;
163
+ background: none;
164
+ }
165
+
166
+ div.jsoneditor {
167
+ color: #1A1A1A;
168
+ border: 1px solid #3883fa;
169
+ -moz-box-sizing: border-box;
170
+ -webkit-box-sizing: border-box;
171
+ box-sizing: border-box;
172
+ width: 100%;
173
+ height: 100%;
174
+ overflow: hidden;
175
+ position: relative;
176
+ padding: 0;
177
+ line-height: 100%;
178
+ }
179
+
180
+ div.jsoneditor-tree table.jsoneditor-tree {
181
+ border-collapse: collapse;
182
+ border-spacing: 0;
183
+ width: 100%;
184
+ margin: 0;
185
+ }
186
+
187
+ div.jsoneditor-outer {
188
+ width: 100%;
189
+ height: 100%;
190
+ margin: -35px 0 0 0;
191
+ padding: 35px 0 0 0;
192
+ -moz-box-sizing: border-box;
193
+ -webkit-box-sizing: border-box;
194
+ box-sizing: border-box;
195
+ }
196
+
197
+ div.jsoneditor-tree {
198
+ width: 100%;
199
+ height: 100%;
200
+ position: relative;
201
+ overflow: auto;
202
+ }
203
+
204
+ textarea.jsoneditor-text {
205
+ width: 100%;
206
+ height: 100%;
207
+ margin: 0;
208
+ -moz-box-sizing: border-box;
209
+ -webkit-box-sizing: border-box;
210
+ box-sizing: border-box;
211
+ outline-width: 0;
212
+ border: none;
213
+ background-color: white;
214
+ resize: none;
215
+ }
216
+
217
+ tr.jsoneditor-highlight,
218
+ tr.jsoneditor-selected {
219
+ background-color: #e6e6e6;
220
+ }
221
+
222
+ tr.jsoneditor-selected button.jsoneditor-dragarea,
223
+ tr.jsoneditor-selected button.jsoneditor-contextmenu {
224
+ visibility: hidden;
225
+ }
226
+
227
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea,
228
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu {
229
+ visibility: visible;
230
+ }
231
+
232
+ div.jsoneditor-tree button.jsoneditor-dragarea {
233
+ background: asset-url("jsoneditor/dist/img/jsoneditor-icons.svg") -72px -72px;
234
+ cursor: move;
235
+ }
236
+
237
+ div.jsoneditor-tree button.jsoneditor-dragarea:hover,
238
+ div.jsoneditor-tree button.jsoneditor-dragarea:focus,
239
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea {
240
+ background-position: -72px -48px;
241
+ }
242
+
243
+ div.jsoneditor tr,
244
+ div.jsoneditor th,
245
+ div.jsoneditor td {
246
+ padding: 0;
247
+ margin: 0;
248
+ }
249
+
250
+ div.jsoneditor td {
251
+ vertical-align: top;
252
+ }
253
+
254
+ div.jsoneditor td.jsoneditor-tree {
255
+ vertical-align: top;
256
+ }
257
+
258
+ div.jsoneditor-field,
259
+ div.jsoneditor-value,
260
+ div.jsoneditor td,
261
+ div.jsoneditor th,
262
+ div.jsoneditor textarea,
263
+ .jsoneditor-schema-error {
264
+ font-family: droid sans mono, consolas, monospace, courier new, courier, sans-serif;
265
+ font-size: 10pt;
266
+ color: #1A1A1A;
267
+ }
268
+
269
+ /* popover */
270
+
271
+ .jsoneditor-schema-error {
272
+ cursor: default;
273
+ display: inline-block;
274
+ /*font-family: arial, sans-serif;*/
275
+ height: 24px;
276
+ line-height: 24px;
277
+ position: relative;
278
+ text-align: center;
279
+ width: 24px;
280
+ }
281
+
282
+ div.jsoneditor-tree .jsoneditor-schema-error {
283
+ width: 24px;
284
+ height: 24px;
285
+ padding: 0;
286
+ margin: 0 4px 0 0;
287
+ background: asset-url("jsoneditor/dist/img/jsoneditor-icons.svg") -168px -48px;
288
+ }
289
+
290
+ .jsoneditor-schema-error .jsoneditor-popover {
291
+ background-color: #4c4c4c;
292
+ border-radius: 3px;
293
+ box-shadow: 0 0 5px rgba(0,0,0,0.4);
294
+ color: #fff;
295
+ display: none;
296
+ padding: 7px 10px;
297
+ position: absolute;
298
+ width: 200px;
299
+ z-index: 4;
300
+ }
301
+
302
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-above {
303
+ bottom: 32px;
304
+ left: -98px;
305
+ }
306
+
307
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-below {
308
+ top: 32px;
309
+ left: -98px;
310
+ }
311
+
312
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left {
313
+ top: -7px;
314
+ right: 32px;
315
+ }
316
+
317
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right {
318
+ top: -7px;
319
+ left: 32px;
320
+ }
321
+
322
+ .jsoneditor-schema-error .jsoneditor-popover:before {
323
+ border-right: 7px solid transparent;
324
+ border-left: 7px solid transparent;
325
+ content: '';
326
+ display: block;
327
+ left: 50%;
328
+ margin-left: -7px;
329
+ position: absolute;
330
+ }
331
+
332
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-above:before {
333
+ border-top: 7px solid #4c4c4c;
334
+ bottom: -7px;
335
+ }
336
+
337
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-below:before {
338
+ border-bottom: 7px solid #4c4c4c;
339
+ top: -7px;
340
+ }
341
+
342
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left:before {
343
+ border-left: 7px solid #4c4c4c;
344
+ border-top: 7px solid transparent;
345
+ border-bottom: 7px solid transparent;
346
+ content: '';
347
+ top: 19px;
348
+ right: -14px;
349
+ left: inherit;
350
+ margin-left: inherit;
351
+ margin-top: -7px;
352
+ position: absolute;
353
+ }
354
+
355
+ .jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right:before {
356
+ border-right: 7px solid #4c4c4c;
357
+ border-top: 7px solid transparent;
358
+ border-bottom: 7px solid transparent;
359
+ content: '';
360
+ top: 19px;
361
+ left: -14px;
362
+ margin-left: inherit;
363
+ margin-top: -7px;
364
+ position: absolute;
365
+ }
366
+
367
+ .jsoneditor-schema-error:hover .jsoneditor-popover,
368
+ .jsoneditor-schema-error:focus .jsoneditor-popover {
369
+ display: block;
370
+ -webkit-animation: fade-in .3s linear 1, move-up .3s linear 1;
371
+ -moz-animation: fade-in .3s linear 1, move-up .3s linear 1;
372
+ -ms-animation: fade-in .3s linear 1, move-up .3s linear 1;
373
+ }
374
+
375
+ @-webkit-keyframes fade-in {
376
+ from {
377
+ opacity: 0;
378
+ }
379
+
380
+ to {
381
+ opacity: 1;
382
+ }
383
+ }
384
+
385
+ @-moz-keyframes fade-in {
386
+ from {
387
+ opacity: 0;
388
+ }
389
+
390
+ to {
391
+ opacity: 1;
392
+ }
393
+ }
394
+
395
+ @-ms-keyframes fade-in {
396
+ from {
397
+ opacity: 0;
398
+ }
399
+
400
+ to {
401
+ opacity: 1;
402
+ }
403
+ }
404
+
405
+ /*@-webkit-keyframes move-up {*/
406
+
407
+ /*from { bottom: 24px; }*/
408
+
409
+ /*to { bottom: 32px; }*/
410
+
411
+ /*}*/
412
+
413
+ /*@-moz-keyframes move-up {*/
414
+
415
+ /*from { bottom: 24px; }*/
416
+
417
+ /*to { bottom: 32px; }*/
418
+
419
+ /*}*/
420
+
421
+ /*@-ms-keyframes move-up {*/
422
+
423
+ /*from { bottom: 24px; }*/
424
+
425
+ /*to { bottom: 32px; }*/
426
+
427
+ /*}*/
428
+
429
+ /* JSON schema errors displayed at the bottom of the editor in mode text and code */
430
+
431
+ .jsoneditor .jsoneditor-text-errors {
432
+ width: 100%;
433
+ border-collapse: collapse;
434
+ background-color: #ffef8b;
435
+ border-top: 1px solid #ffd700;
436
+ }
437
+
438
+ .jsoneditor .jsoneditor-text-errors td {
439
+ padding: 3px 6px;
440
+ vertical-align: middle;
441
+ }
442
+
443
+ .jsoneditor-text-errors .jsoneditor-schema-error {
444
+ border: none;
445
+ width: 24px;
446
+ height: 24px;
447
+ padding: 0;
448
+ margin: 0 4px 0 0;
449
+ background: asset-url("jsoneditor/dist/img/jsoneditor-icons.svg") -168px -48px;
450
+ }
451
+ /* ContextMenu - main menu */
452
+
453
+ div.jsoneditor-contextmenu-root {
454
+ position: relative;
455
+ width: 0;
456
+ height: 0;
457
+ }
458
+
459
+ div.jsoneditor-contextmenu {
460
+ position: absolute;
461
+ z-index: 99999;
462
+ }
463
+
464
+ div.jsoneditor-contextmenu ul {
465
+ position: relative;
466
+ left: 0;
467
+ top: 0;
468
+ width: 124px;
469
+ background: white;
470
+ border: 1px solid #d3d3d3;
471
+ box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3);
472
+ list-style: none;
473
+ margin: 0;
474
+ padding: 0;
475
+ }
476
+
477
+ div.jsoneditor-contextmenu ul li button {
478
+ padding: 0;
479
+ margin: 0;
480
+ width: 124px;
481
+ height: 24px;
482
+ border: none;
483
+ cursor: pointer;
484
+ color: #4d4d4d;
485
+ background: transparent;
486
+ line-height: 26px;
487
+ text-align: left;
488
+ }
489
+
490
+ /* Fix button padding in firefox */
491
+
492
+ div.jsoneditor-contextmenu ul li button::-moz-focus-inner {
493
+ padding: 0;
494
+ border: 0;
495
+ }
496
+
497
+ div.jsoneditor-contextmenu ul li button:hover,
498
+ div.jsoneditor-contextmenu ul li button:focus {
499
+ color: #1a1a1a;
500
+ background-color: #f5f5f5;
501
+ outline: none;
502
+ }
503
+
504
+ div.jsoneditor-contextmenu ul li button.jsoneditor-default {
505
+ width: 92px;
506
+ }
507
+
508
+ div.jsoneditor-contextmenu ul li button.jsoneditor-expand {
509
+ float: right;
510
+ width: 32px;
511
+ height: 24px;
512
+ border-left: 1px solid #e5e5e5;
513
+ }
514
+
515
+ div.jsoneditor-contextmenu div.jsoneditor-icon {
516
+ float: left;
517
+ width: 24px;
518
+ height: 24px;
519
+ border: none;
520
+ padding: 0;
521
+ margin: 0;
522
+ background-image: asset-url("jsoneditor/dist/img/jsoneditor-icons.svg");
523
+ }
524
+
525
+ div.jsoneditor-contextmenu ul li button div.jsoneditor-expand {
526
+ float: right;
527
+ width: 24px;
528
+ height: 24px;
529
+ padding: 0;
530
+ margin: 0 4px 0 0;
531
+ background: asset-url("jsoneditor/dist/img/jsoneditor-icons.svg") 0 -72px;
532
+ opacity: 0.4;
533
+ }
534
+
535
+ div.jsoneditor-contextmenu ul li button:hover div.jsoneditor-expand,
536
+ div.jsoneditor-contextmenu ul li button:focus div.jsoneditor-expand,
537
+ div.jsoneditor-contextmenu ul li.jsoneditor-selected div.jsoneditor-expand,
538
+ div.jsoneditor-contextmenu ul li button.jsoneditor-expand:hover div.jsoneditor-expand,
539
+ div.jsoneditor-contextmenu ul li button.jsoneditor-expand:focus div.jsoneditor-expand {
540
+ opacity: 1;
541
+ }
542
+
543
+ div.jsoneditor-contextmenu div.jsoneditor-separator {
544
+ height: 0;
545
+ border-top: 1px solid #e5e5e5;
546
+ padding-top: 5px;
547
+ margin-top: 5px;
548
+ }
549
+
550
+ div.jsoneditor-contextmenu button.jsoneditor-remove > div.jsoneditor-icon {
551
+ background-position: -24px -24px;
552
+ }
553
+
554
+ div.jsoneditor-contextmenu button.jsoneditor-remove:hover > div.jsoneditor-icon,
555
+ div.jsoneditor-contextmenu button.jsoneditor-remove:focus > div.jsoneditor-icon {
556
+ background-position: -24px 0;
557
+ }
558
+
559
+ div.jsoneditor-contextmenu button.jsoneditor-append > div.jsoneditor-icon {
560
+ background-position: 0 -24px;
561
+ }
562
+
563
+ div.jsoneditor-contextmenu button.jsoneditor-append:hover > div.jsoneditor-icon,
564
+ div.jsoneditor-contextmenu button.jsoneditor-append:focus > div.jsoneditor-icon {
565
+ background-position: 0 0;
566
+ }
567
+
568
+ div.jsoneditor-contextmenu button.jsoneditor-insert > div.jsoneditor-icon {
569
+ background-position: 0 -24px;
570
+ }
571
+
572
+ div.jsoneditor-contextmenu button.jsoneditor-insert:hover > div.jsoneditor-icon,
573
+ div.jsoneditor-contextmenu button.jsoneditor-insert:focus > div.jsoneditor-icon {
574
+ background-position: 0 0;
575
+ }
576
+
577
+ div.jsoneditor-contextmenu button.jsoneditor-duplicate > div.jsoneditor-icon {
578
+ background-position: -48px -24px;
579
+ }
580
+
581
+ div.jsoneditor-contextmenu button.jsoneditor-duplicate:hover > div.jsoneditor-icon,
582
+ div.jsoneditor-contextmenu button.jsoneditor-duplicate:focus > div.jsoneditor-icon {
583
+ background-position: -48px 0;
584
+ }
585
+
586
+ div.jsoneditor-contextmenu button.jsoneditor-sort-asc > div.jsoneditor-icon {
587
+ background-position: -168px -24px;
588
+ }
589
+
590
+ div.jsoneditor-contextmenu button.jsoneditor-sort-asc:hover > div.jsoneditor-icon,
591
+ div.jsoneditor-contextmenu button.jsoneditor-sort-asc:focus > div.jsoneditor-icon {
592
+ background-position: -168px 0;
593
+ }
594
+
595
+ div.jsoneditor-contextmenu button.jsoneditor-sort-desc > div.jsoneditor-icon {
596
+ background-position: -192px -24px;
597
+ }
598
+
599
+ div.jsoneditor-contextmenu button.jsoneditor-sort-desc:hover > div.jsoneditor-icon,
600
+ div.jsoneditor-contextmenu button.jsoneditor-sort-desc:focus > div.jsoneditor-icon {
601
+ background-position: -192px 0;
602
+ }
603
+
604
+ /* ContextMenu - sub menu */
605
+
606
+ div.jsoneditor-contextmenu ul li button.jsoneditor-selected,
607
+ div.jsoneditor-contextmenu ul li button.jsoneditor-selected:hover,
608
+ div.jsoneditor-contextmenu ul li button.jsoneditor-selected:focus {
609
+ color: white;
610
+ background-color: #ee422e;
611
+ }
612
+
613
+ div.jsoneditor-contextmenu ul li {
614
+ overflow: hidden;
615
+ }
616
+
617
+ div.jsoneditor-contextmenu ul li ul {
618
+ display: none;
619
+ position: relative;
620
+ left: -10px;
621
+ top: 0;
622
+ border: none;
623
+ box-shadow: inset 0 0 10px rgba(128, 128, 128, 0.5);
624
+ padding: 0 10px;
625
+ /* TODO: transition is not supported on IE8-9 */
626
+ -webkit-transition: all 0.3s ease-out;
627
+ -moz-transition: all 0.3s ease-out;
628
+ -o-transition: all 0.3s ease-out;
629
+ transition: all 0.3s ease-out;
630
+ }
631
+
632
+
633
+
634
+ div.jsoneditor-contextmenu ul li ul li button {
635
+ padding-left: 24px;
636
+ animation: all ease-in-out 1s;
637
+ }
638
+
639
+ div.jsoneditor-contextmenu ul li ul li button:hover,
640
+ div.jsoneditor-contextmenu ul li ul li button:focus {
641
+ background-color: #f5f5f5;
642
+ }
643
+
644
+ div.jsoneditor-contextmenu button.jsoneditor-type-string > div.jsoneditor-icon {
645
+ background-position: -144px -24px;
646
+ }
647
+
648
+ div.jsoneditor-contextmenu button.jsoneditor-type-string:hover > div.jsoneditor-icon,
649
+ div.jsoneditor-contextmenu button.jsoneditor-type-string:focus > div.jsoneditor-icon,
650
+ div.jsoneditor-contextmenu button.jsoneditor-type-string.jsoneditor-selected > div.jsoneditor-icon {
651
+ background-position: -144px 0;
652
+ }
653
+
654
+ div.jsoneditor-contextmenu button.jsoneditor-type-auto > div.jsoneditor-icon {
655
+ background-position: -120px -24px;
656
+ }
657
+
658
+ div.jsoneditor-contextmenu button.jsoneditor-type-auto:hover > div.jsoneditor-icon,
659
+ div.jsoneditor-contextmenu button.jsoneditor-type-auto:focus > div.jsoneditor-icon,
660
+ div.jsoneditor-contextmenu button.jsoneditor-type-auto.jsoneditor-selected > div.jsoneditor-icon {
661
+ background-position: -120px 0;
662
+ }
663
+
664
+ div.jsoneditor-contextmenu button.jsoneditor-type-object > div.jsoneditor-icon {
665
+ background-position: -72px -24px;
666
+ }
667
+
668
+ div.jsoneditor-contextmenu button.jsoneditor-type-object:hover > div.jsoneditor-icon,
669
+ div.jsoneditor-contextmenu button.jsoneditor-type-object:focus > div.jsoneditor-icon,
670
+ div.jsoneditor-contextmenu button.jsoneditor-type-object.jsoneditor-selected > div.jsoneditor-icon {
671
+ background-position: -72px 0;
672
+ }
673
+
674
+ div.jsoneditor-contextmenu button.jsoneditor-type-array > div.jsoneditor-icon {
675
+ background-position: -96px -24px;
676
+ }
677
+
678
+ div.jsoneditor-contextmenu button.jsoneditor-type-array:hover > div.jsoneditor-icon,
679
+ div.jsoneditor-contextmenu button.jsoneditor-type-array:focus > div.jsoneditor-icon,
680
+ div.jsoneditor-contextmenu button.jsoneditor-type-array.jsoneditor-selected > div.jsoneditor-icon {
681
+ background-position: -96px 0;
682
+ }
683
+
684
+ div.jsoneditor-contextmenu button.jsoneditor-type-modes > div.jsoneditor-icon {
685
+ background-image: none;
686
+ width: 6px;
687
+ }
688
+ div.jsoneditor-menu {
689
+ width: 100%;
690
+ height: 35px;
691
+ padding: 2px;
692
+ margin: 0;
693
+ -moz-box-sizing: border-box;
694
+ -webkit-box-sizing: border-box;
695
+ box-sizing: border-box;
696
+ color: white;
697
+ background-color: #3883fa;
698
+ border-bottom: 1px solid #3883fa;
699
+ }
700
+
701
+ div.jsoneditor-menu > button,
702
+ div.jsoneditor-menu > div.jsoneditor-modes > button {
703
+ width: 26px;
704
+ height: 26px;
705
+ margin: 2px;
706
+ padding: 0;
707
+ border-radius: 2px;
708
+ border: 1px solid transparent;
709
+ background: transparent asset-url("jsoneditor/dist/img/jsoneditor-icons.svg");
710
+ color: white;
711
+ opacity: 0.8;
712
+ font-family: arial, sans-serif;
713
+ font-size: 10pt;
714
+ float: left;
715
+ }
716
+
717
+ div.jsoneditor-menu > button:hover,
718
+ div.jsoneditor-menu > div.jsoneditor-modes > button:hover {
719
+ background-color: rgba(255,255,255,0.2);
720
+ border: 1px solid rgba(255,255,255,0.4);
721
+ }
722
+
723
+ div.jsoneditor-menu > button:focus,
724
+ div.jsoneditor-menu > button:active,
725
+ div.jsoneditor-menu > div.jsoneditor-modes > button:focus,
726
+ div.jsoneditor-menu > div.jsoneditor-modes > button:active {
727
+ background-color: rgba(255,255,255,0.3);
728
+ }
729
+
730
+ div.jsoneditor-menu > button:disabled,
731
+ div.jsoneditor-menu > div.jsoneditor-modes > button:disabled {
732
+ opacity: 0.5;
733
+ }
734
+
735
+ div.jsoneditor-menu > button.jsoneditor-collapse-all {
736
+ background-position: 0 -96px;
737
+ }
738
+
739
+ div.jsoneditor-menu > button.jsoneditor-expand-all {
740
+ background-position: 0 -120px;
741
+ }
742
+
743
+ div.jsoneditor-menu > button.jsoneditor-undo {
744
+ background-position: -24px -96px;
745
+ }
746
+
747
+ div.jsoneditor-menu > button.jsoneditor-undo:disabled {
748
+ background-position: -24px -120px;
749
+ }
750
+
751
+ div.jsoneditor-menu > button.jsoneditor-redo {
752
+ background-position: -48px -96px;
753
+ }
754
+
755
+ div.jsoneditor-menu > button.jsoneditor-redo:disabled {
756
+ background-position: -48px -120px;
757
+ }
758
+
759
+ div.jsoneditor-menu > button.jsoneditor-compact {
760
+ background-position: -72px -96px;
761
+ }
762
+
763
+ div.jsoneditor-menu > button.jsoneditor-format {
764
+ background-position: -72px -120px;
765
+ }
766
+
767
+ div.jsoneditor-menu > div.jsoneditor-modes {
768
+ display: inline-block;
769
+ float: left;
770
+ }
771
+
772
+ div.jsoneditor-menu > div.jsoneditor-modes > button {
773
+ background-image: none;
774
+ width: auto;
775
+ padding-left: 6px;
776
+ padding-right: 6px;
777
+ }
778
+
779
+ div.jsoneditor-menu > button.jsoneditor-separator,
780
+ div.jsoneditor-menu > div.jsoneditor-modes > button.jsoneditor-separator {
781
+ margin-left: 10px;
782
+ }
783
+
784
+ div.jsoneditor-menu a {
785
+ font-family: arial, sans-serif;
786
+ font-size: 10pt;
787
+ color: white;
788
+ opacity: 0.8;
789
+ vertical-align: middle;
790
+ }
791
+
792
+ div.jsoneditor-menu a:hover {
793
+ opacity: 1;
794
+ }
795
+
796
+ div.jsoneditor-menu a.jsoneditor-poweredBy {
797
+ font-size: 8pt;
798
+ position: absolute;
799
+ right: 0;
800
+ top: 0;
801
+ padding: 10px;
802
+ }
803
+ table.jsoneditor-search input,
804
+ table.jsoneditor-search div.jsoneditor-results {
805
+ font-family: arial, sans-serif;
806
+ font-size: 10pt;
807
+ color: #1A1A1A;
808
+ background: transparent;
809
+ /* For Firefox */
810
+ }
811
+
812
+ table.jsoneditor-search {
813
+ position: absolute;
814
+ right: 2px;
815
+ top: 2px;
816
+ }
817
+
818
+ table.jsoneditor-search div.jsoneditor-frame {
819
+ border: 1px solid transparent;
820
+ background-color: white;
821
+ padding: 0 2px;
822
+ margin: 0;
823
+ }
824
+
825
+ table.jsoneditor-search div.jsoneditor-frame table {
826
+ border-collapse: collapse;
827
+ }
828
+
829
+ table.jsoneditor-search input {
830
+ width: 120px;
831
+ border: none;
832
+ outline: none;
833
+ margin: 1px;
834
+ line-height: 20px;
835
+ }
836
+
837
+ table.jsoneditor-search .jsoneditor-results {
838
+ color: #4d4d4d;
839
+ padding-right: 5px;
840
+ line-height: 24px;
841
+ }
842
+
843
+ table.jsoneditor-search button {
844
+ width: 16px;
845
+ height: 24px;
846
+ padding: 0;
847
+ margin: 0;
848
+ border: none;
849
+ background: asset-url("jsoneditor/dist/img/jsoneditor-icons.svg");
850
+ vertical-align: top;
851
+ }
852
+
853
+ table.jsoneditor-search button:hover {
854
+ background-color: transparent;
855
+ }
856
+
857
+ table.jsoneditor-search button.jsoneditor-refresh {
858
+ width: 18px;
859
+ background-position: -99px -73px;
860
+ }
861
+
862
+ table.jsoneditor-search button.jsoneditor-next {
863
+ cursor: pointer;
864
+ background-position: -124px -73px;
865
+ }
866
+
867
+ table.jsoneditor-search button.jsoneditor-next:hover {
868
+ background-position: -124px -49px;
869
+ }
870
+
871
+ table.jsoneditor-search button.jsoneditor-previous {
872
+ cursor: pointer;
873
+ background-position: -148px -73px;
874
+ margin-right: 2px;
875
+ }
876
+
877
+ table.jsoneditor-search button.jsoneditor-previous:hover {
878
+ background-position: -148px -49px;
879
+ }