@talrace/ngx-noder 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/README.md +72 -9
  2. package/assets/i18n/noder.en.json +93 -0
  3. package/assets/i18n/noder.es.json +93 -0
  4. package/assets/i18n/noder.ru.json +93 -0
  5. package/fesm2022/talrace-ngx-noder.mjs +371 -298
  6. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  7. package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +1 -10
  8. package/lib/apart-components/editor-title/editor-title.component.d.ts +5 -3
  9. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
  10. package/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.d.ts +3 -1
  11. package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +23 -23
  12. package/lib/editor/components/edges/edge.component.d.ts +10 -3
  13. package/lib/editor/components/edges/edges.d.ts +0 -2
  14. package/lib/editor/components/external-element/external.component.d.ts +1 -1
  15. package/lib/editor/components/external-element/models/external-element.model.d.ts +3 -3
  16. package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
  17. package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
  18. package/lib/editor/components/table/overlay-menu/overlay-menu.component.d.ts +3 -1
  19. package/lib/editor/editor.module.d.ts +2 -1
  20. package/lib/editor/gadgets/scrollbar.d.ts +1 -0
  21. package/lib/translate/noder-translate.loader.d.ts +11 -0
  22. package/package.json +3 -3
  23. package/public-api.d.ts +1 -0
  24. package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
  25. package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
  26. package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
  27. package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
  28. package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
  29. package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
  30. package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
  31. package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
  32. package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
  33. package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
  34. package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
  35. package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
  36. package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
  37. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
  38. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
  39. package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
  40. package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
  41. package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
  42. package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
  43. package/src/lib/editor/components/_editor.theme.scss +25 -28
  44. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
  45. package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
  46. package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -47
  47. package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -32
  48. package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -64
  49. package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -92
  50. package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -22
  51. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
  52. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
  53. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
  54. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
  55. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
  56. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
  57. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.mjs +0 -22
  58. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
  59. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
  60. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
  61. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
  62. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -106
  63. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -24
  64. package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
  65. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -84
  66. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
  67. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -127
  68. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
  69. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
  70. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
  71. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
  72. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
  73. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
  74. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
  75. package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
  76. package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
  77. package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
  78. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
  79. package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
  80. package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -84
  81. package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -123
  82. package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
  83. package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
  84. package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -99
  85. package/esm2022/lib/editor/components/edges/edges.mjs +0 -142
  86. package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
  87. package/esm2022/lib/editor/components/editor.component.mjs +0 -112
  88. package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
  89. package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
  90. package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
  91. package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
  92. package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
  93. package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
  94. package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
  95. package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
  96. package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
  97. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
  98. package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
  99. package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
  100. package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
  101. package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
  102. package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
  103. package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
  104. package/esm2022/lib/editor/components/image/size.mjs +0 -2
  105. package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
  106. package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
  107. package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
  108. package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
  109. package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
  110. package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
  111. package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
  112. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
  113. package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
  114. package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
  115. package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
  116. package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
  117. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
  118. package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
  119. package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
  120. package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
  121. package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
  122. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
  123. package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
  124. package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
  125. package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
  126. package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -74
  127. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
  128. package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
  129. package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
  130. package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
  131. package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
  132. package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
  133. package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
  134. package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
  135. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
  136. package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
  137. package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
  138. package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
  139. package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
  140. package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
  141. package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
  142. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
  143. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
  144. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
  145. package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
  146. package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
  147. package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
  148. package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
  149. package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
  150. package/esm2022/lib/editor/content/margin.model.mjs +0 -16
  151. package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
  152. package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
  153. package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
  154. package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
  155. package/esm2022/lib/editor/display/event.helper.mjs +0 -18
  156. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
  157. package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
  158. package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
  159. package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
  160. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
  161. package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
  162. package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
  163. package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
  164. package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
  165. package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
  166. package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
  167. package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
  168. package/esm2022/lib/editor/display/renderer.mjs +0 -204
  169. package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
  170. package/esm2022/lib/editor/display/renderloop.mjs +0 -26
  171. package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
  172. package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
  173. package/esm2022/lib/editor/editor.module.mjs +0 -67
  174. package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
  175. package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
  176. package/esm2022/lib/editor/execution/editor.mjs +0 -1367
  177. package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
  178. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
  179. package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
  180. package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
  181. package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
  182. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
  183. package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
  184. package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
  185. package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
  186. package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
  187. package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
  188. package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
  189. package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
  190. package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
  191. package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
  192. package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
  193. package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
  194. package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
  195. package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
  196. package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
  197. package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
  198. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
  199. package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
  200. package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
  201. package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -81
  202. package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
  203. package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
  204. package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
  205. package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
  206. package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
  207. package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
  208. package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
  209. package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
  210. package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
  211. package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
  212. package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
  213. package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
  214. package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
  215. package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
  216. package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
  217. package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
  218. package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
  219. package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
  220. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
  221. package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
  222. package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
  223. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
  224. package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
  225. package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
  226. package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
  227. package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
  228. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
  229. package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
  230. package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
  231. package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
  232. package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
  233. package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
  234. package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
  235. package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
  236. package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
  237. package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
  238. package/esm2022/lib/editor/positioning/range.mjs +0 -94
  239. package/esm2022/lib/editor/positioning/selection.mjs +0 -351
  240. package/esm2022/lib/editor/revision.helper.mjs +0 -94
  241. package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
  242. package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
  243. package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
  244. package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
  245. package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
  246. package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
  247. package/esm2022/lib/models/generated/break.model.mjs +0 -8
  248. package/esm2022/lib/models/generated/cell.model.mjs +0 -12
  249. package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
  250. package/esm2022/lib/models/generated/column.model.mjs +0 -8
  251. package/esm2022/lib/models/generated/command.model.mjs +0 -120
  252. package/esm2022/lib/models/generated/delete.model.mjs +0 -8
  253. package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
  254. package/esm2022/lib/models/generated/document.model.mjs +0 -8
  255. package/esm2022/lib/models/generated/docx.model.mjs +0 -12
  256. package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
  257. package/esm2022/lib/models/generated/edge.model.mjs +0 -8
  258. package/esm2022/lib/models/generated/element.model.mjs +0 -8
  259. package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
  260. package/esm2022/lib/models/generated/format.model.mjs +0 -12
  261. package/esm2022/lib/models/generated/heading.model.mjs +0 -16
  262. package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
  263. package/esm2022/lib/models/generated/image.model.mjs +0 -12
  264. package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
  265. package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
  266. package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
  267. package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
  268. package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
  269. package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
  270. package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
  271. package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
  272. package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
  273. package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
  274. package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
  275. package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
  276. package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
  277. package/esm2022/lib/models/generated/link.model.mjs +0 -8
  278. package/esm2022/lib/models/generated/margins.model.mjs +0 -8
  279. package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
  280. package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
  281. package/esm2022/lib/models/generated/operation.model.mjs +0 -12
  282. package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
  283. package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
  284. package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
  285. package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
  286. package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
  287. package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
  288. package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
  289. package/esm2022/lib/models/generated/replace.model.mjs +0 -44
  290. package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
  291. package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
  292. package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
  293. package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
  294. package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
  295. package/esm2022/lib/models/generated/restore.model.mjs +0 -8
  296. package/esm2022/lib/models/generated/revision.model.mjs +0 -12
  297. package/esm2022/lib/models/generated/row.model.mjs +0 -8
  298. package/esm2022/lib/models/generated/tab.model.mjs +0 -8
  299. package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
  300. package/esm2022/lib/models/generated/table.model.mjs +0 -12
  301. package/esm2022/lib/models/generated/target.model.mjs +0 -16
  302. package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
  303. package/esm2022/public-api.mjs +0 -53
  304. package/esm2022/talrace-ngx-noder.mjs +0 -5
  305. package/lib/apart-components/editor-toolbar/components/buttons/heading/heading.component.d.ts +0 -8
@@ -1,152 +0,0 @@
1
- import { fromEvent } from 'rxjs';
2
- import { Alignment } from '../positioning/alignments.const';
3
- import { BaseHandler } from './base.handler';
4
- import { BreakTypes } from '../gadgets/page-break/break-types.enum';
5
- import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
6
- export class InputHandler extends BaseHandler {
7
- constructor(textarea, editor) {
8
- super();
9
- this.actionsWithScroll = {};
10
- this.actionsWithSelection = {};
11
- this.textareaKeyDown$ = fromEvent(textarea, 'keydown').subscribe((event) => this.onKeyDown(event, editor));
12
- this.textareaBlur$ = fromEvent(textarea, 'blur').subscribe(() => editor.onBlur());
13
- this.textareaFocus$ = fromEvent(textarea, 'focus').subscribe(() => editor.onFocus());
14
- this.textareaInput$ = fromEvent(textarea, 'input').subscribe(() => this.onInput(editor));
15
- this.textareaCut$ = fromEvent(textarea, 'cut').subscribe((event) => this.onCut(editor, event));
16
- this.textareaCopy$ = fromEvent(textarea, 'copy').subscribe((event) => editor.onCopy(event));
17
- this.textareaPaste$ = fromEvent(textarea, 'paste').subscribe((event) => this.onPaste(editor, event));
18
- this.fillActions(editor);
19
- this.fillActionsWithScroll(editor);
20
- this.fillActionsWithSelection(editor);
21
- }
22
- destroy() {
23
- this.textareaKeyDown$?.unsubscribe();
24
- this.textareaBlur$?.unsubscribe();
25
- this.textareaFocus$?.unsubscribe();
26
- this.textareaInput$?.unsubscribe();
27
- this.textareaCut$?.unsubscribe();
28
- this.textareaCopy$?.unsubscribe();
29
- this.textareaPaste$?.unsubscribe();
30
- }
31
- onInput(editor) {
32
- if (editor.isViewOnly) {
33
- return;
34
- }
35
- editor.enableSelection();
36
- editor.onInput();
37
- }
38
- onCut(editor, event) {
39
- if (editor.isViewOnly) {
40
- return;
41
- }
42
- editor.enableSelection();
43
- editor.onCut(event);
44
- }
45
- onPaste(editor, event) {
46
- if (editor.isViewOnly) {
47
- return;
48
- }
49
- editor.enableSelection();
50
- editor.onPaste(event);
51
- }
52
- onKeyDown(event, editor) {
53
- const keyCombination = this.getKeyCombination(event);
54
- if (this.actions[keyCombination]) {
55
- this.actions[keyCombination](event);
56
- }
57
- else if (this.actionsWithScroll[keyCombination] && !editor.isViewOnly) {
58
- this.actionsWithScroll[keyCombination](event);
59
- editor.scrollCursorIntoMainView();
60
- }
61
- else if (this.actionsWithSelection[keyCombination]) {
62
- this.actionsWithSelection[keyCombination](event);
63
- editor.scrollCursorIntoMainView();
64
- editor.onSelectionChange();
65
- }
66
- else {
67
- return;
68
- }
69
- editor.enableSelection();
70
- event.preventDefault();
71
- }
72
- selectAll(editor) {
73
- editor.selection.selectAll(editor.session.model);
74
- editor.onSelectionChange();
75
- }
76
- fillActions(editor) {
77
- this.actions['Ctrl-KeyA'] = () => this.selectAll(editor);
78
- this.actions['Command-KeyA'] = () => this.selectAll(editor);
79
- this.actions['Ctrl-KeyF'] = () => editor.openSearch();
80
- this.actions['Command-KeyF'] = () => editor.openSearch();
81
- this.actions['Shift-PageDown'] = () => editor.selectPageDown();
82
- this.actions['PageDown'] = () => editor.gotoPageDown();
83
- this.actions['Shift-PageUp'] = () => editor.selectPageUp();
84
- this.actions['PageUp'] = () => editor.gotoPageUp();
85
- }
86
- fillActionsWithScroll(editor) {
87
- this.actionsWithScroll['Ctrl-KeyZ'] = () => editor.undo();
88
- this.actionsWithScroll['Command-KeyZ'] = () => editor.undo();
89
- this.actionsWithScroll['Ctrl-KeyY'] = () => editor.redo();
90
- this.actionsWithScroll['Command-KeyY'] = () => editor.redo();
91
- this.actionsWithScroll['Delete'] = () => editor.removeRight();
92
- this.actionsWithScroll['Shift-Delete'] = () => editor.removeRight();
93
- this.actionsWithScroll['Backspace'] = () => editor.removeLeft();
94
- this.actionsWithScroll['Shift-Backspace'] = () => editor.removeLeft();
95
- this.actionsWithScroll['Alt-Backspace'] = () => editor.removeToLineStart();
96
- this.actionsWithScroll['Command-Backspace'] = () => editor.removeToLineStart();
97
- this.actionsWithScroll['Alt-Delete'] = () => editor.removeToLineEnd();
98
- this.actionsWithScroll['Command-Delete'] = () => editor.removeToLineEnd();
99
- this.actionsWithScroll['Ctrl-Backspace'] = () => editor.removeWordLeft();
100
- this.actionsWithScroll['Ctrl-Alt-Backspace'] = () => editor.removeWordLeft();
101
- this.actionsWithScroll['Ctrl-Delete'] = () => editor.removeWordRight();
102
- this.actionsWithScroll['Ctrl-Alt-Delete'] = () => editor.removeWordRight();
103
- this.actionsWithScroll['Ctrl-KeyL'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.left }));
104
- this.actionsWithScroll['Ctrl-KeyE'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.center }));
105
- this.actionsWithScroll['Ctrl-KeyR'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.right }));
106
- this.actionsWithScroll['Ctrl-KeyB'] = () => editor.applyTextStyleBold();
107
- this.actionsWithScroll['Ctrl-KeyI'] = () => editor.applyTextStyleItalic();
108
- this.actionsWithScroll['Ctrl-KeyU'] = () => editor.applyTextStyleUnderline();
109
- this.actionsWithScroll['Ctrl-Enter'] = () => editor.insertBreak(BreakTypes.Page);
110
- this.actionsWithScroll['Shift-Enter'] = () => editor.insertBreak(BreakTypes.TextWrapping);
111
- this.actionsWithScroll['Tab'] = () => editor.insertTab();
112
- this.actionsWithScroll['Ctrl-KeyK'] = (event) => editor.onHotKeyDown(event);
113
- }
114
- fillActionsWithSelection(editor) {
115
- this.actionsWithSelection['Ctrl-Shift-Home'] = () => editor.selection.selectFileStart();
116
- this.actionsWithSelection['Command-Shift-Home'] = () => editor.selection.selectFileStart();
117
- this.actionsWithSelection['Command-Shift-ArrowUp'] = () => editor.selection.selectFileStart();
118
- this.actionsWithSelection['Ctrl-Home'] = () => editor.selection.navigateFileStart();
119
- this.actionsWithSelection['Command-Home'] = () => editor.selection.navigateFileStart();
120
- this.actionsWithSelection['Command-ArrowUp'] = () => editor.selection.navigateFileStart();
121
- this.actionsWithSelection['Shift-ArrowUp'] = () => editor.selection.selectUp(editor.session);
122
- this.actionsWithSelection['ArrowUp'] = () => editor.selection.navigateUp(editor.session);
123
- this.actionsWithSelection['Ctrl-Shift-End'] = () => editor.selection.selectFileEnd(editor.session);
124
- this.actionsWithSelection['Command-Shift-End'] = () => editor.selection.selectFileEnd(editor.session);
125
- this.actionsWithSelection['Command-Shift-ArrowDown'] = () => editor.selection.selectFileEnd(editor.session);
126
- this.actionsWithSelection['Ctrl-End'] = () => editor.selection.navigateFileEnd(editor.session);
127
- this.actionsWithSelection['Command-End'] = () => editor.selection.navigateFileEnd(editor.session);
128
- this.actionsWithSelection['Command-ArrowDown'] = () => editor.selection.navigateFileEnd(editor.session);
129
- this.actionsWithSelection['Shift-ArrowDown'] = () => editor.selection.selectDown(editor.session);
130
- this.actionsWithSelection['ArrowDown'] = () => editor.selection.navigateDown(editor.session);
131
- this.actionsWithSelection['Ctrl-Shift-ArrowLeft'] = () => editor.selection.selectWordLeft(editor.session);
132
- this.actionsWithSelection['Ctrl-ArrowLeft'] = () => editor.selection.navigateWordLeft(editor.session);
133
- this.actionsWithSelection['Alt-Shift-ArrowLeft'] = () => editor.selection.selectLineStart(editor.session);
134
- this.actionsWithSelection['Command-Shift-ArrowLeft'] = () => editor.selection.selectLineStart(editor.session);
135
- this.actionsWithSelection['Shift-Home'] = () => editor.selection.selectLineStart(editor.session);
136
- this.actionsWithSelection['Alt-ArrowLeft'] = () => editor.selection.navigateLineStart(editor.session);
137
- this.actionsWithSelection['Home'] = () => editor.selection.navigateLineStart(editor.session);
138
- this.actionsWithSelection['Shift-ArrowLeft'] = () => editor.selection.selectLeft(editor.session);
139
- this.actionsWithSelection['ArrowLeft'] = () => editor.selection.navigateLeft(editor.session);
140
- this.actionsWithSelection['Ctrl-Shift-ArrowRight'] = () => editor.selection.selectWordRight(editor.session);
141
- this.actionsWithSelection['Ctrl-ArrowRight'] = () => editor.selection.navigateWordRight(editor.session);
142
- this.actionsWithSelection['Alt-Shift-ArrowRight'] = () => editor.selection.selectLineEnd(editor.session);
143
- this.actionsWithSelection['Command-Shift-ArrowRight'] = () => editor.selection.selectLineEnd(editor.session);
144
- this.actionsWithSelection['Shift-End'] = () => editor.selection.selectLineEnd(editor.session);
145
- this.actionsWithSelection['Alt-ArrowRight'] = () => editor.selection.navigateLineEnd(editor.session);
146
- this.actionsWithSelection['Command-ArrowRight'] = () => editor.selection.navigateLineEnd(editor.session);
147
- this.actionsWithSelection['End'] = () => editor.selection.navigateLineEnd(editor.session);
148
- this.actionsWithSelection['Shift-ArrowRight'] = () => editor.selection.selectRight(editor.session);
149
- this.actionsWithSelection['ArrowRight'] = () => editor.selection.navigateRight(editor.session);
150
- }
151
- }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi9pbnB1dC5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRW5GLE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBVztJQW1CekMsWUFBWSxRQUFjLEVBQUUsTUFBYztRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQUxLLHNCQUFpQixHQUF1RCxFQUFFLENBQUM7UUFFM0UseUJBQW9CLEdBQXVELEVBQUUsQ0FBQztRQUkzRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JILElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLE1BQWM7UUFDMUIsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLEtBQUssQ0FBQyxNQUFjLEVBQUUsS0FBcUI7UUFDL0MsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxPQUFPLENBQUMsTUFBYyxFQUFFLEtBQXFCO1FBQ2pELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQW9CLEVBQUUsTUFBYztRQUNsRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDSCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxTQUFTLENBQUMsTUFBYztRQUM1QixNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFUyxXQUFXLENBQUMsTUFBYztRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQy9FLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMxRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVPLHdCQUF3QixDQUFDLE1BQWM7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDOUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNwRixJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMxRixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsb0JBQW9CLENBQUMseUJBQXlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RyxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWxpZ25tZW50IH0gZnJvbSAnLi4vcG9zaXRpb25pbmcvYWxpZ25tZW50cy5jb25zdCc7XG5pbXBvcnQgeyBCYXNlSGFuZGxlciB9IGZyb20gJy4vYmFzZS5oYW5kbGVyJztcbmltcG9ydCB7IEJyZWFrVHlwZXMgfSBmcm9tICcuLi9nYWRnZXRzL3BhZ2UtYnJlYWsvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICcuLi9leGVjdXRpb24vZWRpdG9yJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBJbnB1dEhhbmRsZXIgZXh0ZW5kcyBCYXNlSGFuZGxlciB7XG4gICAgcmVhZG9ubHkgdGV4dGFyZWFLZXlEb3duJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFCbHVyJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFGb2N1cyQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhSW5wdXQkOiBTdWJzY3JpcHRpb247XG5cbiAgICByZWFkb25seSB0ZXh0YXJlYUN1dCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhQ29weSQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhUGFzdGUkOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnNXaXRoU2Nyb2xsOiB7IFtrZXk6IHN0cmluZ106IChldmVudD86IEtleWJvYXJkRXZlbnQpID0+IHZvaWQgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zV2l0aFNlbGVjdGlvbjogeyBba2V5OiBzdHJpbmddOiAoZXZlbnQ/OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkIH0gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHRleHRhcmVhOiBOb2RlLCBlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRleHRhcmVhS2V5RG93biQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdrZXlkb3duJykuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5vbktleURvd24oZXZlbnQsIGVkaXRvcikpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQmx1ciQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdibHVyJykuc3Vic2NyaWJlKCgpID0+IGVkaXRvci5vbkJsdXIoKSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFGb2N1cyQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdmb2N1cycpLnN1YnNjcmliZSgoKSA9PiBlZGl0b3Iub25Gb2N1cygpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUlucHV0JCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2lucHV0Jykuc3Vic2NyaWJlKCgpID0+IHRoaXMub25JbnB1dChlZGl0b3IpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUN1dCQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdjdXQnKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gdGhpcy5vbkN1dChlZGl0b3IsIGV2ZW50KSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFDb3B5JCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2NvcHknKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gZWRpdG9yLm9uQ29weShldmVudCkpO1xuICAgICAgICB0aGlzLnRleHRhcmVhUGFzdGUkID0gZnJvbUV2ZW50KHRleHRhcmVhLCAncGFzdGUnKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gdGhpcy5vblBhc3RlKGVkaXRvciwgZXZlbnQpKTtcbiAgICAgICAgdGhpcy5maWxsQWN0aW9ucyhlZGl0b3IpO1xuICAgICAgICB0aGlzLmZpbGxBY3Rpb25zV2l0aFNjcm9sbChlZGl0b3IpO1xuICAgICAgICB0aGlzLmZpbGxBY3Rpb25zV2l0aFNlbGVjdGlvbihlZGl0b3IpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGFyZWFLZXlEb3duJD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUJsdXIkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhRm9jdXMkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhSW5wdXQkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQ3V0JD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUNvcHkkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhUGFzdGUkPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25JbnB1dChlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICBpZiAoZWRpdG9yLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGVkaXRvci5vbklucHV0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkN1dChlZGl0b3I6IEVkaXRvciwgZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvci5lbmFibGVTZWxlY3Rpb24oKTtcbiAgICAgICAgZWRpdG9yLm9uQ3V0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUGFzdGUoZWRpdG9yOiBFZGl0b3IsIGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZWRpdG9yLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGVkaXRvci5vblBhc3RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qga2V5Q29tYmluYXRpb24gPSB0aGlzLmdldEtleUNvbWJpbmF0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uc1trZXlDb21iaW5hdGlvbl0pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uc1trZXlDb21iaW5hdGlvbl0oZXZlbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxba2V5Q29tYmluYXRpb25dICYmICFlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFtrZXlDb21iaW5hdGlvbl0oZXZlbnQpO1xuICAgICAgICAgICAgZWRpdG9yLnNjcm9sbEN1cnNvckludG9NYWluVmlldygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25ba2V5Q29tYmluYXRpb25dKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uW2tleUNvbWJpbmF0aW9uXShldmVudCk7XG4gICAgICAgICAgICBlZGl0b3Iuc2Nyb2xsQ3Vyc29ySW50b01haW5WaWV3KCk7XG4gICAgICAgICAgICBlZGl0b3Iub25TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBbGwoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RBbGwoZWRpdG9yLnNlc3Npb24ubW9kZWwpO1xuICAgICAgICBlZGl0b3Iub25TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZmlsbEFjdGlvbnMoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDdHJsLUtleUEnXSA9ICgpID0+IHRoaXMuc2VsZWN0QWxsKGVkaXRvcik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snQ29tbWFuZC1LZXlBJ10gPSAoKSA9PiB0aGlzLnNlbGVjdEFsbChlZGl0b3IpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ0N0cmwtS2V5RiddID0gKCkgPT4gZWRpdG9yLm9wZW5TZWFyY2goKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDb21tYW5kLUtleUYnXSA9ICgpID0+IGVkaXRvci5vcGVuU2VhcmNoKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZURvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3RQYWdlRG93bigpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ1BhZ2VEb3duJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VEb3duKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0UGFnZVVwKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VVcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsbEFjdGlvbnNXaXRoU2Nyb2xsKGVkaXRvcjogRWRpdG9yKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5WiddID0gKCkgPT4gZWRpdG9yLnVuZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1LZXlaJ10gPSAoKSA9PiBlZGl0b3IudW5kbygpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVknXSA9ICgpID0+IGVkaXRvci5yZWRvKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0NvbW1hbmQtS2V5WSddID0gKCkgPT4gZWRpdG9yLnJlZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnU2hpZnQtRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQmFja3NwYWNlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVMZWZ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDb21tYW5kLUJhY2tzcGFjZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVRvTGluZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLURlbGV0ZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVdvcmRSaWdodCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlMJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5sZWZ0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlFJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5jZW50ZXIgfSkpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVInXSA9ICgpID0+IGVkaXRvci5hcHBseVBhcmFncmFwaFN0eWxlcyhuZXcgUGFyYWdyYXBoU3R5bGVNb2RlbCh7IGFsaWdubWVudDogQWxpZ25tZW50LnJpZ2h0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlCJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlUZXh0U3R5bGVCb2xkKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SSddID0gKCkgPT4gZWRpdG9yLmFwcGx5VGV4dFN0eWxlSXRhbGljKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5VSddID0gKCkgPT4gZWRpdG9yLmFwcGx5VGV4dFN0eWxlVW5kZXJsaW5lKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtRW50ZXInXSA9ICgpID0+IGVkaXRvci5pbnNlcnRCcmVhayhCcmVha1R5cGVzLlBhZ2UpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1FbnRlciddID0gKCkgPT4gZWRpdG9yLmluc2VydEJyZWFrKEJyZWFrVHlwZXMuVGV4dFdyYXBwaW5nKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnVGFiJ10gPSAoKSA9PiBlZGl0b3IuaW5zZXJ0VGFiKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SyddID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBlZGl0b3Iub25Ib3RLZXlEb3duKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbGxBY3Rpb25zV2l0aFNlbGVjdGlvbihlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLVNoaWZ0LUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtSG9tZSddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1TaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlRmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtRW5kJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93RG93biddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dEb3duJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdERvd24oZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVEb3duKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0V29yZExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVTdGFydChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydIb21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZVN0YXJ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dMZWZ0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0N0cmwtQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0TGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ1NoaWZ0LUVuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0VuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUxpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICB9XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export var Mode;
2
- (function (Mode) {
3
- Mode[Mode["Edit"] = 0] = "Edit";
4
- Mode[Mode["Fill"] = 1] = "Fill";
5
- Mode[Mode["View"] = 2] = "View";
6
- })(Mode || (Mode = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2ludGVyYWN0aW9uL21vZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxJQUlYO0FBSkQsV0FBWSxJQUFJO0lBQ1osK0JBQUksQ0FBQTtJQUNKLCtCQUFJLENBQUE7SUFDSiwrQkFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLElBQUksS0FBSixJQUFJLFFBSWYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNb2RlIHtcbiAgICBFZGl0LFxuICAgIEZpbGwsXG4gICAgVmlld1xufVxuIl19
@@ -1,7 +0,0 @@
1
- export var MouseButton;
2
- (function (MouseButton) {
3
- MouseButton[MouseButton["Left"] = 0] = "Left";
4
- MouseButton[MouseButton["Middle"] = 1] = "Middle";
5
- MouseButton[MouseButton["Right"] = 2] = "Right";
6
- })(MouseButton || (MouseButton = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UtYnV0dG9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvaW50ZXJhY3Rpb24vbW91c2UtYnV0dG9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNuQiw2Q0FBSSxDQUFBO0lBQ0osaURBQU0sQ0FBQTtJQUNOLCtDQUFLLENBQUE7QUFDVCxDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNb3VzZUJ1dHRvbiB7XG4gICAgTGVmdCxcbiAgICBNaWRkbGUsXG4gICAgUmlnaHRcbn1cbiJdfQ==
@@ -1,50 +0,0 @@
1
- import { fromEvent, throttleTime } from 'rxjs';
2
- import { MouseButton } from './mouse-button.enum';
3
- export class MouseHandler {
4
- constructor(container, editor) {
5
- this.clicks = 0;
6
- this.containerWheel$ = fromEvent(container, 'wheel')
7
- .pipe(throttleTime(20))
8
- .subscribe((event) => editor.onMouseWheel(event));
9
- this.containerMouseDown$ = fromEvent(container, 'mousedown').subscribe((event) => this.onMultiMouseDown(event, editor));
10
- }
11
- destroy() {
12
- this.containerWheel$?.unsubscribe();
13
- this.containerMouseDown$?.unsubscribe();
14
- this.endMousePress();
15
- }
16
- startMousePress(editor) {
17
- this.endMousePress();
18
- this.documentMouseMove$ = fromEvent(document, 'mousemove')
19
- .pipe(throttleTime(20))
20
- .subscribe((event) => editor.onMousePressedMove(event));
21
- this.documentMouseUp$ = fromEvent(document, 'mouseup').subscribe(() => this.endMousePress());
22
- }
23
- endMousePress() {
24
- this.documentMouseMove$?.unsubscribe();
25
- this.documentMouseUp$?.unsubscribe();
26
- }
27
- onMultiMouseDown(event, editor) {
28
- if (event.button !== MouseButton.Left) {
29
- editor.onMouseClick(event);
30
- return;
31
- }
32
- editor.enableSelection();
33
- this.clicks = event.detail > 1 && this.clicks < 4 ? this.clicks + 1 : 1;
34
- switch (this.clicks) {
35
- case 1:
36
- editor.onLeftClick(event);
37
- break;
38
- case 2:
39
- editor.onDoubleClick(event);
40
- break;
41
- case 3:
42
- editor.onTripleClick(event);
43
- break;
44
- case 4:
45
- editor.onQuadClick(event);
46
- break;
47
- }
48
- }
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi9tb3VzZS5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxPQUFPLFlBQVk7SUFXckIsWUFBWSxTQUFlLEVBQUUsTUFBYztRQVZuQyxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBV2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQzthQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3RCLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7YUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QixTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLE1BQWM7UUFDdEQsSUFBSyxLQUFLLENBQUMsTUFBc0IsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pCLEtBQUssQ0FBQztnQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU07WUFDVixLQUFLLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssQ0FBQztnQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixNQUFNO1NBQ2I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4uL2V4ZWN1dGlvbi9lZGl0b3InO1xuaW1wb3J0IHsgTW91c2VCdXR0b24gfSBmcm9tICcuL21vdXNlLWJ1dHRvbi5lbnVtJztcblxuZXhwb3J0IGNsYXNzIE1vdXNlSGFuZGxlciB7XG4gICAgcHJpdmF0ZSBjbGlja3MgPSAwO1xuXG4gICAgZG9jdW1lbnRNb3VzZU1vdmUkOiBTdWJzY3JpcHRpb247XG5cbiAgICBkb2N1bWVudE1vdXNlVXAkOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb250YWluZXJXaGVlbCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnRhaW5lck1vdXNlRG93biQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKGNvbnRhaW5lcjogTm9kZSwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaGVlbCQgPSBmcm9tRXZlbnQoY29udGFpbmVyLCAnd2hlZWwnKVxuICAgICAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiBlZGl0b3Iub25Nb3VzZVdoZWVsKGV2ZW50KSk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyTW91c2VEb3duJCA9IGZyb21FdmVudChjb250YWluZXIsICdtb3VzZWRvd24nKS5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB0aGlzLm9uTXVsdGlNb3VzZURvd24oZXZlbnQsIGVkaXRvcikpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2hlZWwkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lck1vdXNlRG93biQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZW5kTW91c2VQcmVzcygpO1xuICAgIH1cblxuICAgIHN0YXJ0TW91c2VQcmVzcyhlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmVuZE1vdXNlUHJlc3MoKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudE1vdXNlTW92ZSQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBlZGl0b3Iub25Nb3VzZVByZXNzZWRNb3ZlKGV2ZW50KSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRNb3VzZVVwJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbmRNb3VzZVByZXNzKCkpO1xuICAgIH1cblxuICAgIGVuZE1vdXNlUHJlc3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRNb3VzZU1vdmUkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmRvY3VtZW50TW91c2VVcCQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbk11bHRpTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICBpZiAoKGV2ZW50LmJ1dHRvbiBhcyBNb3VzZUJ1dHRvbikgIT09IE1vdXNlQnV0dG9uLkxlZnQpIHtcbiAgICAgICAgICAgIGVkaXRvci5vbk1vdXNlQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZWRpdG9yLmVuYWJsZVNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLmNsaWNrcyA9IGV2ZW50LmRldGFpbCA+IDEgJiYgdGhpcy5jbGlja3MgPCA0ID8gdGhpcy5jbGlja3MgKyAxIDogMTtcbiAgICAgICAgc3dpdGNoICh0aGlzLmNsaWNrcykge1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIGVkaXRvci5vbkxlZnRDbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgZWRpdG9yLm9uRG91YmxlQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgIGVkaXRvci5vblRyaXBsZUNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICBlZGl0b3Iub25RdWFkQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,53 +0,0 @@
1
- export class TextInput {
2
- constructor(parentElement) {
3
- this.lastValue = '';
4
- this.lastSelectionStart = 0;
5
- this.lastSelectionEnd = 0;
6
- this.input = document.createElement('textarea');
7
- this.input.className = 'noder-text-input';
8
- this.input.id = 'textarea-input';
9
- this.input.style.opacity = '0';
10
- this.input.setAttribute('wrap', 'off');
11
- this.input.setAttribute('autocomplete', 'off');
12
- this.input.setAttribute('autocorrect', 'off');
13
- this.input.setAttribute('autocapitalize', 'off');
14
- this.input.setAttribute('spellcheck', 'false');
15
- parentElement.insertBefore(this.input, parentElement.firstChild);
16
- this.isFocused = document.activeElement === this.input;
17
- }
18
- getClipboardData(event) {
19
- const mime = 'text/plain';
20
- return event.clipboardData.getData(mime);
21
- }
22
- getInsertText() {
23
- const data = this.input.value;
24
- const selectionStart = this.input.selectionStart;
25
- const selectionEnd = this.input.selectionEnd;
26
- let extendLeft = this.lastSelectionStart;
27
- let extendRight = this.lastValue.length - this.lastSelectionEnd;
28
- let text = data;
29
- let i = 0;
30
- while (extendLeft > 0 && this.lastValue[i] === data[i]) {
31
- i++;
32
- extendLeft--;
33
- }
34
- text = text.slice(i);
35
- i = 1;
36
- while (extendRight > 0 &&
37
- this.lastValue.length - i > this.lastSelectionStart - 1 &&
38
- this.lastValue[this.lastValue.length - i] === data[data.length - i]) {
39
- i++;
40
- extendRight--;
41
- }
42
- let endIndex = text.length - i + 1;
43
- if (endIndex < 0) {
44
- endIndex = 0;
45
- }
46
- text = text.slice(0, endIndex);
47
- this.lastValue = data;
48
- this.lastSelectionStart = selectionStart;
49
- this.lastSelectionEnd = selectionEnd;
50
- return text;
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi90ZXh0LWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBV2xCLFlBQVksYUFBMEI7UUFOOUIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUV2QixxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFHekIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLGdCQUFnQixDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRS9DLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDM0QsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQXFCO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFFN0MsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3pDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsT0FBTyxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BELENBQUMsRUFBRSxDQUFDO1lBQ0osVUFBVSxFQUFFLENBQUM7U0FDaEI7UUFFRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ04sT0FDSSxXQUFXLEdBQUcsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQztZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUNyRTtZQUNFLENBQUMsRUFBRSxDQUFDO1lBQ0osV0FBVyxFQUFFLENBQUM7U0FDakI7UUFFRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2QsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNoQjtRQUVELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFFckMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRleHRJbnB1dCB7XG4gICAgaW5wdXQ6IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG5cbiAgICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGxhc3RWYWx1ZSA9ICcnO1xuXG4gICAgcHJpdmF0ZSBsYXN0U2VsZWN0aW9uU3RhcnQgPSAwO1xuXG4gICAgcHJpdmF0ZSBsYXN0U2VsZWN0aW9uRW5kID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgICAgICB0aGlzLmlucHV0LmNsYXNzTmFtZSA9ICdub2Rlci10ZXh0LWlucHV0JztcbiAgICAgICAgdGhpcy5pbnB1dC5pZCA9ICd0ZXh0YXJlYS1pbnB1dCc7XG4gICAgICAgIHRoaXMuaW5wdXQuc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgdGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoJ3dyYXAnLCAnb2ZmJyk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCdhdXRvY29ycmVjdCcsICdvZmYnKTtcbiAgICAgICAgdGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoJ2F1dG9jYXBpdGFsaXplJywgJ29mZicpO1xuICAgICAgICB0aGlzLmlucHV0LnNldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycsICdmYWxzZScpO1xuXG4gICAgICAgIHBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuaW5wdXQsIHBhcmVudEVsZW1lbnQuZmlyc3RDaGlsZCk7XG5cbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLmlucHV0O1xuICAgIH1cblxuICAgIGdldENsaXBib2FyZERhdGEoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbWltZSA9ICd0ZXh0L3BsYWluJztcbiAgICAgICAgcmV0dXJuIGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YShtaW1lKTtcbiAgICB9XG5cbiAgICBnZXRJbnNlcnRUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbkVuZCA9IHRoaXMuaW5wdXQuc2VsZWN0aW9uRW5kO1xuXG4gICAgICAgIGxldCBleHRlbmRMZWZ0ID0gdGhpcy5sYXN0U2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgIGxldCBleHRlbmRSaWdodCA9IHRoaXMubGFzdFZhbHVlLmxlbmd0aCAtIHRoaXMubGFzdFNlbGVjdGlvbkVuZDtcbiAgICAgICAgbGV0IHRleHQgPSBkYXRhO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHdoaWxlIChleHRlbmRMZWZ0ID4gMCAmJiB0aGlzLmxhc3RWYWx1ZVtpXSA9PT0gZGF0YVtpXSkge1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICAgICAgZXh0ZW5kTGVmdC0tO1xuICAgICAgICB9XG5cbiAgICAgICAgdGV4dCA9IHRleHQuc2xpY2UoaSk7XG5cbiAgICAgICAgaSA9IDE7XG4gICAgICAgIHdoaWxlIChcbiAgICAgICAgICAgIGV4dGVuZFJpZ2h0ID4gMCAmJlxuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWUubGVuZ3RoIC0gaSA+IHRoaXMubGFzdFNlbGVjdGlvblN0YXJ0IC0gMSAmJlxuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWVbdGhpcy5sYXN0VmFsdWUubGVuZ3RoIC0gaV0gPT09IGRhdGFbZGF0YS5sZW5ndGggLSBpXVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgICAgIGV4dGVuZFJpZ2h0LS07XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZW5kSW5kZXggPSB0ZXh0Lmxlbmd0aCAtIGkgKyAxO1xuICAgICAgICBpZiAoZW5kSW5kZXggPCAwKSB7XG4gICAgICAgICAgICBlbmRJbmRleCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0ID0gdGV4dC5zbGljZSgwLCBlbmRJbmRleCk7XG5cbiAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSBkYXRhO1xuICAgICAgICB0aGlzLmxhc3RTZWxlY3Rpb25TdGFydCA9IHNlbGVjdGlvblN0YXJ0O1xuICAgICAgICB0aGlzLmxhc3RTZWxlY3Rpb25FbmQgPSBzZWxlY3Rpb25FbmQ7XG5cbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class CommandsService {
5
- constructor() {
6
- this._createCommand$ = new Subject();
7
- }
8
- createCommand(command) {
9
- this._createCommand$.next(command);
10
- }
11
- get createCommand$() {
12
- return this._createCommand$.asObservable();
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandsService }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandsService, decorators: [{
18
- type: Injectable
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2NvbW1hbmRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQVNZLG9CQUFlLEdBQTBCLElBQUksT0FBTyxFQUFnQixDQUFDO0tBQ2hGO0lBUkcsYUFBYSxDQUFDLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQzsrR0FQUSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1hbmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvY29tbWFuZC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21tYW5kc1NlcnZpY2Uge1xuICAgIGNyZWF0ZUNvbW1hbmQoY29tbWFuZDogQ29tbWFuZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUNvbW1hbmQkLm5leHQoY29tbWFuZCk7XG4gICAgfVxuXG4gICAgZ2V0IGNyZWF0ZUNvbW1hbmQkKCk6IE9ic2VydmFibGU8Q29tbWFuZE1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVDb21tYW5kJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY3JlYXRlQ29tbWFuZCQ6IFN1YmplY3Q8Q29tbWFuZE1vZGVsPiA9IG5ldyBTdWJqZWN0PENvbW1hbmRNb2RlbD4oKTtcbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- export var CommandType;
2
- (function (CommandType) {
3
- CommandType[CommandType["Delete"] = 0] = "Delete";
4
- CommandType[CommandType["InsertText"] = 1] = "InsertText";
5
- CommandType[CommandType["InsertStyledText"] = 2] = "InsertStyledText";
6
- CommandType[CommandType["ReplaceByText"] = 3] = "ReplaceByText";
7
- CommandType[CommandType["Restore"] = 4] = "Restore";
8
- CommandType[CommandType["RestoreTextStyles"] = 5] = "RestoreTextStyles";
9
- CommandType[CommandType["RestoreParagraphStyles"] = 6] = "RestoreParagraphStyles";
10
- CommandType[CommandType["ApplyTextStyle"] = 7] = "ApplyTextStyle";
11
- CommandType[CommandType["ApplyParagraphStyle"] = 8] = "ApplyParagraphStyle";
12
- CommandType[CommandType["InsertElement"] = 9] = "InsertElement";
13
- CommandType[CommandType["InsertBreak"] = 10] = "InsertBreak";
14
- CommandType[CommandType["ApplyElementStyle"] = 11] = "ApplyElementStyle";
15
- CommandType[CommandType["ApplyImageStyle"] = 12] = "ApplyImageStyle";
16
- CommandType[CommandType["AddNumbering"] = 13] = "AddNumbering";
17
- CommandType[CommandType["InsertTab"] = 14] = "InsertTab";
18
- CommandType[CommandType["InsertTableColumns"] = 15] = "InsertTableColumns";
19
- CommandType[CommandType["InsertTableRows"] = 16] = "InsertTableRows";
20
- CommandType[CommandType["RemoveTableColumns"] = 17] = "RemoveTableColumns";
21
- CommandType[CommandType["RemoveTableRows"] = 18] = "RemoveTableRows";
22
- CommandType[CommandType["ResizeTableColumns"] = 19] = "ResizeTableColumns";
23
- CommandType[CommandType["RestoreTable"] = 20] = "RestoreTable";
24
- CommandType[CommandType["InsertTable"] = 21] = "InsertTable";
25
- CommandType[CommandType["InsertImage"] = 22] = "InsertImage";
26
- CommandType[CommandType["RemoveNumberings"] = 23] = "RemoveNumberings";
27
- CommandType[CommandType["RestoreNumberings"] = 24] = "RestoreNumberings";
28
- CommandType[CommandType["Replace"] = 25] = "Replace";
29
- CommandType[CommandType["InsertLink"] = 26] = "InsertLink";
30
- CommandType[CommandType["InsertParagraph"] = 27] = "InsertParagraph";
31
- })(CommandType || (CommandType = {}));
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9lbnVtcy9jb21tYW5kLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQTZCWDtBQTdCRCxXQUFZLFdBQVc7SUFDbkIsaURBQU0sQ0FBQTtJQUNOLHlEQUFVLENBQUE7SUFDVixxRUFBZ0IsQ0FBQTtJQUNoQiwrREFBYSxDQUFBO0lBQ2IsbURBQU8sQ0FBQTtJQUNQLHVFQUFpQixDQUFBO0lBQ2pCLGlGQUFzQixDQUFBO0lBQ3RCLGlFQUFjLENBQUE7SUFDZCwyRUFBbUIsQ0FBQTtJQUNuQiwrREFBYSxDQUFBO0lBQ2IsNERBQVcsQ0FBQTtJQUNYLHdFQUFpQixDQUFBO0lBQ2pCLG9FQUFlLENBQUE7SUFDZiw4REFBWSxDQUFBO0lBQ1osd0RBQVMsQ0FBQTtJQUNULDBFQUFrQixDQUFBO0lBQ2xCLG9FQUFlLENBQUE7SUFDZiwwRUFBa0IsQ0FBQTtJQUNsQixvRUFBZSxDQUFBO0lBQ2YsMEVBQWtCLENBQUE7SUFDbEIsOERBQVksQ0FBQTtJQUNaLDREQUFXLENBQUE7SUFDWCw0REFBVyxDQUFBO0lBQ1gsc0VBQWdCLENBQUE7SUFDaEIsd0VBQWlCLENBQUE7SUFDakIsb0RBQU8sQ0FBQTtJQUNQLDBEQUFVLENBQUE7SUFDVixvRUFBZSxDQUFBO0FBQ25CLENBQUMsRUE3QlcsV0FBVyxLQUFYLFdBQVcsUUE2QnRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ29tbWFuZFR5cGUge1xuICAgIERlbGV0ZSxcbiAgICBJbnNlcnRUZXh0LFxuICAgIEluc2VydFN0eWxlZFRleHQsXG4gICAgUmVwbGFjZUJ5VGV4dCxcbiAgICBSZXN0b3JlLFxuICAgIFJlc3RvcmVUZXh0U3R5bGVzLFxuICAgIFJlc3RvcmVQYXJhZ3JhcGhTdHlsZXMsXG4gICAgQXBwbHlUZXh0U3R5bGUsXG4gICAgQXBwbHlQYXJhZ3JhcGhTdHlsZSxcbiAgICBJbnNlcnRFbGVtZW50LFxuICAgIEluc2VydEJyZWFrLFxuICAgIEFwcGx5RWxlbWVudFN0eWxlLFxuICAgIEFwcGx5SW1hZ2VTdHlsZSxcbiAgICBBZGROdW1iZXJpbmcsXG4gICAgSW5zZXJ0VGFiLFxuICAgIEluc2VydFRhYmxlQ29sdW1ucyxcbiAgICBJbnNlcnRUYWJsZVJvd3MsXG4gICAgUmVtb3ZlVGFibGVDb2x1bW5zLFxuICAgIFJlbW92ZVRhYmxlUm93cyxcbiAgICBSZXNpemVUYWJsZUNvbHVtbnMsXG4gICAgUmVzdG9yZVRhYmxlLFxuICAgIEluc2VydFRhYmxlLFxuICAgIEluc2VydEltYWdlLFxuICAgIFJlbW92ZU51bWJlcmluZ3MsXG4gICAgUmVzdG9yZU51bWJlcmluZ3MsXG4gICAgUmVwbGFjZSxcbiAgICBJbnNlcnRMaW5rLFxuICAgIEluc2VydFBhcmFncmFwaFxufVxuIl19
@@ -1,7 +0,0 @@
1
- export var TargetType;
2
- (function (TargetType) {
3
- TargetType[TargetType["Document"] = 0] = "Document";
4
- TargetType[TargetType["TableCell"] = 1] = "TableCell";
5
- TargetType[TargetType["Edge"] = 2] = "Edge";
6
- })(TargetType || (TargetType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2VudW1zL3RhcmdldC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNsQixtREFBUSxDQUFBO0lBQ1IscURBQVMsQ0FBQTtJQUNULDJDQUFJLENBQUE7QUFDUixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUYXJnZXRUeXBlIHtcbiAgICBEb2N1bWVudCxcbiAgICBUYWJsZUNlbGwsXG4gICAgRWRnZVxufVxuIl19
@@ -1,9 +0,0 @@
1
- import { BreakModel } from '../../../models/generated/break.model';
2
- import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
3
- export class BreakOperationsHelper {
4
- static insertContent(elements, index, breakType, length) {
5
- const element = new BreakModel({ insertIndex: index, breakType });
6
- IndexedElementOperationsHelper.insert(elements, element, length);
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWstb3BlcmF0aW9ucy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL2JyZWFrLW9wZXJhdGlvbnMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVyRixNQUFNLE9BQU8scUJBQXFCO0lBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBc0IsRUFBRSxLQUFhLEVBQUUsU0FBcUIsRUFBRSxNQUFjO1FBQzdGLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2JyZWFrLm1vZGVsJztcbmltcG9ydCB7IEJyZWFrVHlwZXMgfSBmcm9tICcuLi8uLi9nYWRnZXRzL3BhZ2UtYnJlYWsvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBCcmVha09wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50KGVsZW1lbnRzOiBCcmVha01vZGVsW10sIGluZGV4OiBudW1iZXIsIGJyZWFrVHlwZTogQnJlYWtUeXBlcywgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IG5ldyBCcmVha01vZGVsKHsgaW5zZXJ0SW5kZXg6IGluZGV4LCBicmVha1R5cGUgfSk7XG4gICAgICAgIEluZGV4ZWRFbGVtZW50T3BlcmF0aW9uc0hlbHBlci5pbnNlcnQoZWxlbWVudHMsIGVsZW1lbnQsIGxlbmd0aCk7XG4gICAgfVxufVxuIl19
@@ -1,15 +0,0 @@
1
- export class ContentOperationsHelper {
2
- static removeContent(content, startIndex, count) {
3
- return `${content.slice(0, startIndex)}${content.slice(startIndex + count, content.length)}`;
4
- }
5
- static insertContent(content, text, index) {
6
- const before = content.slice(0, index);
7
- const after = content.slice(index, content.length);
8
- return `${before}${text}${after}`;
9
- }
10
- static replaceContent(content, startIndex, endIndex, text) {
11
- const reduced = this.removeContent(content, startIndex, endIndex - startIndex + 1);
12
- return this.insertContent(reduced, text, startIndex);
13
- }
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1vcGVyYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2hlbHBlcnMvY29udGVudC1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBZSxFQUFFLFVBQWtCLEVBQUUsS0FBYTtRQUNuRSxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ2pHLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWUsRUFBRSxJQUFZLEVBQUUsS0FBYTtRQUM3RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLE1BQU0sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLFVBQWtCLEVBQUUsUUFBZ0IsRUFBRSxJQUFZO1FBQ3JGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb250ZW50T3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIHJlbW92ZUNvbnRlbnQoY29udGVudDogc3RyaW5nLCBzdGFydEluZGV4OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7Y29udGVudC5zbGljZSgwLCBzdGFydEluZGV4KX0ke2NvbnRlbnQuc2xpY2Uoc3RhcnRJbmRleCArIGNvdW50LCBjb250ZW50Lmxlbmd0aCl9YDtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChjb250ZW50OiBzdHJpbmcsIHRleHQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IGNvbnRlbnQuc2xpY2UoMCwgaW5kZXgpO1xuICAgICAgICBjb25zdCBhZnRlciA9IGNvbnRlbnQuc2xpY2UoaW5kZXgsIGNvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGAke2JlZm9yZX0ke3RleHR9JHthZnRlcn1gO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXBsYWNlQ29udGVudChjb250ZW50OiBzdHJpbmcsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgdGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmVkdWNlZCA9IHRoaXMucmVtb3ZlQ29udGVudChjb250ZW50LCBzdGFydEluZGV4LCBlbmRJbmRleCAtIHN0YXJ0SW5kZXggKyAxKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5zZXJ0Q29udGVudChyZWR1Y2VkLCB0ZXh0LCBzdGFydEluZGV4KTtcbiAgICB9XG59XG4iXX0=
@@ -1,85 +0,0 @@
1
- import { ContentStyleHelper } from '../../content/helpers/content-style.helper';
2
- import { FormatModel } from '../../../models/generated/format.model';
3
- import { FormatStyleHelper } from '../../execution/helpers/format-style.helper';
4
- import { TextStyleModel } from '../../../models/generated/text-style.model';
5
- export class FormatOperationsHelper {
6
- static removeContent(formats, startIndex, endIndex) {
7
- const length = endIndex - startIndex + 1;
8
- for (let i = formats.length - 1; i >= 0; i--) {
9
- if (formats[i].startIndex >= startIndex && formats[i].endIndex <= endIndex) {
10
- formats.splice(i, 1);
11
- }
12
- }
13
- formats.forEach(x => {
14
- if (x.startIndex >= startIndex && x.startIndex <= endIndex) {
15
- x.startIndex = startIndex;
16
- }
17
- else if (x.startIndex > endIndex) {
18
- x.startIndex -= length;
19
- }
20
- if (x.endIndex >= startIndex && x.endIndex <= endIndex) {
21
- x.endIndex = startIndex - 1;
22
- }
23
- else if (x.endIndex > endIndex) {
24
- x.endIndex -= length;
25
- }
26
- });
27
- FormatStyleHelper.mergeFormats(formats, startIndex - 1, startIndex);
28
- }
29
- static insertContent(formats, index, textLength) {
30
- formats.forEach(x => {
31
- if (x.startIndex > index || (x.startIndex === index && index !== 0)) {
32
- x.startIndex += textLength;
33
- }
34
- if (x.endIndex >= index - 1) {
35
- x.endIndex += textLength;
36
- }
37
- });
38
- }
39
- static insertStyledContent(formats, index, textLength, style) {
40
- this.insertContent(formats, index, textLength);
41
- this.apply(formats, index, index + textLength - 1, style);
42
- }
43
- static restore(formats, index, textLength, textFormats) {
44
- this.insertContent(formats, index, textLength);
45
- this.restoreFormats(formats, textFormats);
46
- }
47
- static replaceContent(formats, startIndex, endIndex, textLength) {
48
- this.removeContent(formats, startIndex, endIndex);
49
- this.insertContent(formats, startIndex, textLength);
50
- }
51
- static restoreFormats(formats, textFormats) {
52
- textFormats.forEach(x => this.apply(formats, x.startIndex, x.endIndex, x.textStyle));
53
- }
54
- static apply(formats, startIndex, endIndex, style) {
55
- let firstIndex = formats.findIndex(x => x.endIndex >= startIndex);
56
- if (formats[firstIndex].startIndex < startIndex) {
57
- const model = new FormatModel({
58
- startIndex: formats[firstIndex].startIndex,
59
- endIndex: startIndex - 1,
60
- textStyle: new TextStyleModel(formats[firstIndex].textStyle)
61
- });
62
- formats[firstIndex].startIndex = startIndex;
63
- formats.splice(firstIndex, 0, model);
64
- firstIndex++;
65
- }
66
- let lastIndex = firstIndex;
67
- while (lastIndex < formats.length - 1 && formats[lastIndex].endIndex < endIndex) {
68
- lastIndex++;
69
- }
70
- if (formats[lastIndex].endIndex > endIndex) {
71
- const model = new FormatModel({
72
- startIndex: endIndex + 1,
73
- endIndex: formats[lastIndex].endIndex,
74
- textStyle: new TextStyleModel(formats[lastIndex].textStyle)
75
- });
76
- formats[lastIndex].endIndex = endIndex;
77
- formats.splice(lastIndex + 1, 0, model);
78
- }
79
- for (let i = firstIndex; i <= lastIndex; i++) {
80
- formats[i].textStyle = ContentStyleHelper.combineTextStyles(style, formats[i].textStyle);
81
- }
82
- FormatStyleHelper.mergeFormats(formats, startIndex - 1, endIndex + 1);
83
- }
84
- }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9mb3JtYXQtb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU1RSxNQUFNLE9BQU8sc0JBQXNCO0lBQy9CLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBc0IsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQzdFLE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO2dCQUN4RSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNKO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFO2dCQUN4RCxDQUFDLENBQUMsVUFBVSxHQUFH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Q0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUY7UUFDRCxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRTdHlsZUhlbHBlciB9IGZyb20gJy4uLy4uL2NvbnRlbnQvaGVscGVycy9jb250ZW50LXN0eWxlLmhlbHBlcic7XG5pbXBvcnQgeyBGb3JtYXRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZm9ybWF0Lm1vZGVsJztcbmltcG9ydCB7IEZvcm1hdFN0eWxlSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZm9ybWF0LXN0eWxlLmhlbHBlcic7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtYXRPcGVyYXRpb25zSGVscGVyIHtcbiAgICBzdGF0aWMgcmVtb3ZlQ29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gZW5kSW5kZXggLSBzdGFydEluZGV4ICsgMTtcbiAgICAgICAgZm9yIChsZXQgaSA9IGZvcm1hdHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmIChmb3JtYXRzW2ldLnN0YXJ0SW5kZXggPj0gc3RhcnRJbmRleCAmJiBmb3JtYXRzW2ldLmVuZEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgZm9ybWF0cy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtYXRzLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICBpZiAoeC5zdGFydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgeC5zdGFydEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5zdGFydEluZGV4ID0gc3RhcnRJbmRleDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoeC5zdGFydEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LnN0YXJ0SW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHguZW5kSW5kZXggPj0gc3RhcnRJbmRleCAmJiB4LmVuZEluZGV4IDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5lbmRJbmRleCA9IHN0YXJ0SW5kZXggLSAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh4LmVuZEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LmVuZEluZGV4IC09IGxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgRm9ybWF0U3R5bGVIZWxwZXIubWVyZ2VGb3JtYXRzKGZvcm1hdHMsIHN0YXJ0SW5kZXggLSAxLCBzdGFydEluZGV4KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBpbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgZm9ybWF0cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgaWYgKHguc3RhcnRJbmRleCA+IGluZGV4IHx8ICh4LnN0YXJ0SW5kZXggPT09IGluZGV4ICYmIGluZGV4ICE9PSAwKSkge1xuICAgICAgICAgICAgICAgIHguc3RhcnRJbmRleCArPSB0ZXh0TGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHguZW5kSW5kZXggPj0gaW5kZXggLSAxKSB7XG4gICAgICAgICAgICAgICAgeC5lbmRJbmRleCArPSB0ZXh0TGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0U3R5bGVkQ29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBpbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIsIHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZm9ybWF0cywgaW5kZXgsIHRleHRMZW5ndGgpO1xuICAgICAgICB0aGlzLmFwcGx5KGZvcm1hdHMsIGluZGV4LCBpbmRleCArIHRleHRMZW5ndGggLSAxLCBzdHlsZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmUoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgaW5kZXg6IG51bWJlciwgdGV4dExlbmd0aDogbnVtYmVyLCB0ZXh0Rm9ybWF0czogRm9ybWF0TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZm9ybWF0cywgaW5kZXgsIHRleHRMZW5ndGgpO1xuICAgICAgICB0aGlzLnJlc3RvcmVGb3JtYXRzKGZvcm1hdHMsIHRleHRGb3JtYXRzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVwbGFjZUNvbnRlbnQoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDb250ZW50KGZvcm1hdHMsIHN0YXJ0SW5kZXgsIGVuZEluZGV4KTtcbiAgICAgICAgdGhpcy5pbnNlcnRDb250ZW50KGZvcm1hdHMsIHN0YXJ0SW5kZXgsIHRleHRMZW5ndGgpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlRm9ybWF0cyhmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCB0ZXh0Rm9ybWF0czogRm9ybWF0TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICB0ZXh0Rm9ybWF0cy5mb3JFYWNoKHggPT4gdGhpcy5hcHBseShmb3JtYXRzLCB4LnN0YXJ0SW5kZXgsIHguZW5kSW5kZXgsIHgudGV4dFN0eWxlKSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFwcGx5KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc3R5bGU6IFRleHRTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGxldCBmaXJzdEluZGV4ID0gZm9ybWF0cy5maW5kSW5kZXgoeCA9PiB4LmVuZEluZGV4ID49IHN0YXJ0SW5kZXgpO1xuICAgICAgICBpZiAoZm9ybWF0c1tmaXJzdEluZGV4XS5zdGFydEluZGV4IDwgc3RhcnRJbmRleCkge1xuICAgICAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRm9ybWF0TW9kZWwoe1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXg6IGZvcm1hdHNbZmlyc3RJbmRleF0uc3RhcnRJbmRleCxcbiAgICAgICAgICAgICAgICBlbmRJbmRleDogc3RhcnRJbmRleCAtIDEsXG4gICAgICAgICAgICAgICAgdGV4dFN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoZm9ybWF0c1tmaXJzdEluZGV4XS50ZXh0U3R5bGUpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvcm1hdHNbZmlyc3RJbmRleF0uc3RhcnRJbmRleCA9IHN0YXJ0SW5kZXg7XG4gICAgICAgICAgICBmb3JtYXRzLnNwbGljZShmaXJzdEluZGV4LCAwLCBtb2RlbCk7XG4gICAgICAgICAgICBmaXJzdEluZGV4Kys7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxhc3RJbmRleCA9IGZpcnN0SW5kZXg7XG4gICAgICAgIHdoaWxlIChsYXN0SW5kZXggPCBmb3JtYXRzLmxlbmd0aCAtIDEgJiYgZm9ybWF0c1tsYXN0SW5kZXhdLmVuZEluZGV4IDwgZW5kSW5kZXgpIHtcbiAgICAgICAgICAgIGxhc3RJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXRzW2xhc3RJbmRleF0uZW5kSW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRm9ybWF0TW9kZWwoe1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXg6IGVuZEluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICBlbmRJbmRleDogZm9ybWF0c1tsYXN0SW5kZXhdLmVuZEluZGV4LFxuICAgICAgICAgICAgICAgIHRleHRTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKGZvcm1hdHNbbGFzdEluZGV4XS50ZXh0U3R5bGUpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvcm1hdHNbbGFzdEluZGV4XS5lbmRJbmRleCA9IGVuZEluZGV4O1xuICAgICAgICAgICAgZm9ybWF0cy5zcGxpY2UobGFzdEluZGV4ICsgMSwgMCwgbW9kZWwpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGkgPSBmaXJzdEluZGV4OyBpIDw9IGxhc3RJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICBmb3JtYXRzW2ldLnRleHRTdHlsZSA9IENvbnRlbnRTdHlsZUhlbHBlci5jb21iaW5lVGV4dFN0eWxlcyhzdHlsZSwgZm9ybWF0c1tpXS50ZXh0U3R5bGUpO1xuICAgICAgICB9XG4gICAgICAgIEZvcm1hdFN0eWxlSGVscGVyLm1lcmdlRm9ybWF0cyhmb3JtYXRzLCBzdGFydEluZGV4IC0gMSwgZW5kSW5kZXggKyAxKTtcbiAgICB9XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { ImageModel } from '../../../models/generated/image.model';
2
- import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
3
- export class ImageOperationsHelper {
4
- static apply(images, model) {
5
- const image = images.find(x => x.insertIndex === model.insertIndex);
6
- image.width = model.width;
7
- image.height = model.height;
8
- }
9
- static insertContent(images, index, imageData) {
10
- const image = new ImageModel({
11
- height: imageData.height,
12
- width: imageData.width,
13
- content: imageData.content,
14
- insertIndex: index
15
- });
16
- IndexedElementOperationsHelper.insert(images, image);
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utb3BlcmF0aW9ucy5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3Ivb3BlcmF0aW9ucy9oZWxwZXJzL2ltYWdlLW9wZXJhdGlvbnMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVyRixNQUFNLE9BQU8scUJBQXFCO0lBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBb0IsRUFBRSxLQUEyQjtRQUMxRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFvQixFQUFFLEtBQWEsRUFBRSxTQUF5QjtRQUMvRSxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN6QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztZQUMxQixXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7UUFFSCw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGx5SW1hZ2VTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9hcHBseS1pbWFnZS1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZURhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIgfSBmcm9tICcuL2luZGV4ZWQtZWxlbWVudC1vcGVyYXRpb25zLmhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBJbWFnZU9wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyBhcHBseShpbWFnZXM6IEltYWdlTW9kZWxbXSwgbW9kZWw6IEFwcGx5SW1hZ2VTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gaW1hZ2VzLmZpbmQoeCA9PiB4Lmluc2VydEluZGV4ID09PSBtb2RlbC5pbnNlcnRJbmRleCk7XG4gICAgICAgIGltYWdlLndpZHRoID0gbW9kZWwud2lkdGg7XG4gICAgICAgIGltYWdlLmhlaWdodCA9IG1vZGVsLmhlaWdodDtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChpbWFnZXM6IEltYWdlTW9kZWxbXSwgaW5kZXg6IG51bWJlciwgaW1hZ2VEYXRhOiBJbWFnZURhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZU1vZGVsKHtcbiAgICAgICAgICAgIGhlaWdodDogaW1hZ2VEYXRhLmhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoOiBpbWFnZURhdGEud2lkdGgsXG4gICAgICAgICAgICBjb250ZW50OiBpbWFnZURhdGEuY29udGVudCxcbiAgICAgICAgICAgIGluc2VydEluZGV4OiBpbmRleFxuICAgICAgICB9KTtcblxuICAgICAgICBJbmRleGVkRWxlbWVudE9wZXJhdGlvbnNIZWxwZXIuaW5zZXJ0KGltYWdlcywgaW1hZ2UpO1xuICAgIH1cbn1cbiJdfQ==