@hmcts/media-viewer 2.8.1 → 2.9.1

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 (562) hide show
  1. package/README.md +0 -1
  2. package/assets/sass/comment.scss +1 -1
  3. package/assets/sass/outline-attachment.scss +6 -1
  4. package/assets/sass/participants-list.scss +1 -1
  5. package/assets/sass/rectangle.scss +1 -4
  6. package/bundles/hmcts-media-viewer.umd.js +3367 -10784
  7. package/bundles/hmcts-media-viewer.umd.js.map +1 -1
  8. package/bundles/hmcts-media-viewer.umd.min.js +1 -16
  9. package/bundles/hmcts-media-viewer.umd.min.js.map +1 -1
  10. package/esm2015/hmcts-media-viewer.js +20 -24
  11. package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +9 -103
  12. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +14 -111
  13. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +4 -49
  14. package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +2 -51
  15. package/esm2015/lib/annotations/annotation-set/annotation-set.model.js +2 -15
  16. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +4 -74
  17. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js +2 -29
  18. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +5 -114
  19. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js +2 -21
  20. package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +8 -85
  21. package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +9 -105
  22. package/esm2015/lib/annotations/annotations.module.js +1 -5
  23. package/esm2015/lib/annotations/comment-set/comment/comment.component.js +4 -152
  24. package/esm2015/lib/annotations/comment-set/comment/comment.model.js +2 -27
  25. package/esm2015/lib/annotations/comment-set/comment/comment.service.js +3 -53
  26. package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +1 -37
  27. package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +1 -25
  28. package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +5 -63
  29. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +10 -76
  30. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +5 -53
  31. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +6 -63
  32. package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +5 -73
  33. package/esm2015/lib/annotations/comment-set/comment-set.component.js +11 -154
  34. package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +8 -111
  35. package/esm2015/lib/annotations/models/api-persisted.model.js +2 -25
  36. package/esm2015/lib/annotations/models/event-select.model.js +2 -17
  37. package/esm2015/lib/annotations/models/tags.model.js +2 -19
  38. package/esm2015/lib/annotations/models/user.model.js +2 -17
  39. package/esm2015/lib/annotations/pipes/date/date.pipe.js +1 -12
  40. package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +3 -17
  41. package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +1 -9
  42. package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +6 -93
  43. package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +6 -69
  44. package/esm2015/lib/annotations/services/tags/tags.services.js +6 -54
  45. package/esm2015/lib/annotations/tags/tags.component.js +4 -50
  46. package/esm2015/lib/bookmark/components/bookmark-icons.component.js +2 -29
  47. package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +2 -22
  48. package/esm2015/lib/icp/icp-follower.service.js +4 -63
  49. package/esm2015/lib/icp/icp-presenter.service.js +6 -69
  50. package/esm2015/lib/icp/icp-session-api.service.js +2 -26
  51. package/esm2015/lib/icp/icp-update.service.js +18 -92
  52. package/esm2015/lib/icp/icp.events.js +15 -0
  53. package/esm2015/lib/icp/icp.interfaces.js +2 -51
  54. package/esm2015/lib/icp/icp.service.js +18 -155
  55. package/esm2015/lib/icp/participants-list/participants-list.component.js +3 -43
  56. package/esm2015/lib/icp/socket.service.js +92 -86
  57. package/esm2015/lib/media-viewer.component.js +29 -199
  58. package/esm2015/lib/media-viewer.module.js +3 -7
  59. package/esm2015/lib/print.service.js +2 -18
  60. package/esm2015/lib/redaction/components/redaction.component.js +13 -127
  61. package/esm2015/lib/redaction/services/redaction-api.service.js +6 -75
  62. package/esm2015/lib/redaction/services/redaction.model.js +2 -19
  63. package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +2 -14
  64. package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +3 -14
  65. package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
  66. package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +3 -12
  67. package/esm2015/lib/shared/shared.module.js +1 -5
  68. package/esm2015/lib/shared/util/helpers/html-templates.helper.js +1 -10
  69. package/esm2015/lib/shared/util/services/number.helper.service.js +4 -14
  70. package/esm2015/lib/store/actions/annotation.actions.js +1 -140
  71. package/esm2015/lib/store/actions/bookmark.actions.js +1 -150
  72. package/esm2015/lib/store/actions/document.actions.js +1 -130
  73. package/esm2015/lib/store/actions/icp.actions.js +1 -80
  74. package/esm2015/lib/store/actions/redaction.actions.js +1 -155
  75. package/esm2015/lib/store/actions/tag.actions.js +1 -30
  76. package/esm2015/lib/store/bookmarks-store-utils.js +17 -69
  77. package/esm2015/lib/store/effects/annotation.effects.js +16 -90
  78. package/esm2015/lib/store/effects/bookmarks.effects.js +12 -127
  79. package/esm2015/lib/store/effects/document.effects.js +16 -97
  80. package/esm2015/lib/store/effects/icp.effects.js +5 -63
  81. package/esm2015/lib/store/effects/index.js +1 -6
  82. package/esm2015/lib/store/effects/redaction.effects.js +26 -137
  83. package/esm2015/lib/store/models/bookmarks.interface.js +2 -57
  84. package/esm2015/lib/store/models/filters.interface.js +2 -17
  85. package/esm2015/lib/store/reducers/annotations.reducer.js +14 -129
  86. package/esm2015/lib/store/reducers/bookmarks.reducer.js +12 -99
  87. package/esm2015/lib/store/reducers/document.reducer.js +10 -129
  88. package/esm2015/lib/store/reducers/icp.reducer.js +6 -47
  89. package/esm2015/lib/store/reducers/redaction.reducer.js +7 -73
  90. package/esm2015/lib/store/reducers/reducers.js +7 -31
  91. package/esm2015/lib/store/reducers/tags.reducer.js +12 -102
  92. package/esm2015/lib/store/selectors/annotation.selectors.js +29 -118
  93. package/esm2015/lib/store/selectors/bookmark.selectors.js +12 -51
  94. package/esm2015/lib/store/selectors/document.selectors.js +5 -26
  95. package/esm2015/lib/store/selectors/icp.selectors.js +9 -38
  96. package/esm2015/lib/store/selectors/redaction.selectors.js +10 -45
  97. package/esm2015/lib/store/selectors/tag.selectors.js +6 -28
  98. package/esm2015/lib/store/store-utils.js +26 -156
  99. package/esm2015/lib/toolbar/icp-event.service.js +13 -48
  100. package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +4 -56
  101. package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +9 -176
  102. package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +4 -58
  103. package/esm2015/lib/toolbar/search-bar/search-bar.component.js +11 -85
  104. package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +2 -46
  105. package/esm2015/lib/toolbar/toolbar-event.service.js +2 -173
  106. package/esm2015/lib/toolbar/toolbar.module.js +1 -5
  107. package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +5 -75
  108. package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +3 -34
  109. package/esm2015/lib/viewers/grab-n-drag.directive.js +1 -38
  110. package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +29 -196
  111. package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +3 -55
  112. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +61 -240
  113. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +2 -40
  114. package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +34 -302
  115. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +12 -107
  116. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js +2 -39
  117. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +16 -25
  118. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js +2 -31
  119. package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +16 -73
  120. package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +2 -35
  121. package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +8 -87
  122. package/esm2015/lib/viewers/rotation-persist/rotation.model.js +2 -15
  123. package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +4 -60
  124. package/esm2015/lib/viewers/viewer-event.service.js +2 -41
  125. package/esm2015/lib/viewers/viewer-exception.model.js +7 -32
  126. package/esm2015/lib/viewers/viewer-util.service.js +2 -20
  127. package/esm2015/public_api.js +28 -32
  128. package/fesm2015/hmcts-media-viewer.js +1540 -8065
  129. package/fesm2015/hmcts-media-viewer.js.map +1 -1
  130. package/hmcts-media-viewer-v2.9.1.tgz +0 -0
  131. package/hmcts-media-viewer.d.ts +19 -18
  132. package/hmcts-media-viewer.d.ts.map +1 -0
  133. package/hmcts-media-viewer.metadata.json +1 -1
  134. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +5 -3
  135. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -0
  136. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +1 -0
  137. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +1 -0
  138. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -0
  139. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +1 -0
  140. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +1 -0
  141. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -0
  142. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +1 -0
  143. package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -0
  144. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -0
  145. package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +1 -0
  146. package/lib/annotations/annotation-set/annotation-set.model.d.ts +1 -0
  147. package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +1 -0
  148. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +4 -3
  149. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -0
  150. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +1 -0
  151. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +1 -0
  152. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +1 -0
  153. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
  154. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -0
  155. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +1 -0
  156. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +1 -0
  157. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +1 -0
  158. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -1
  159. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -0
  160. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +1 -0
  161. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -0
  162. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -0
  163. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +1 -0
  164. package/lib/annotations/annotations.module.d.ts +1 -0
  165. package/lib/annotations/annotations.module.d.ts.map +1 -0
  166. package/lib/annotations/annotations.module.ngfactory.d.ts.map +1 -0
  167. package/lib/annotations/comment-set/comment/comment.component.d.ts +7 -5
  168. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -0
  169. package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +1 -0
  170. package/lib/annotations/comment-set/comment/comment.model.d.ts +1 -0
  171. package/lib/annotations/comment-set/comment/comment.model.d.ts.map +1 -0
  172. package/lib/annotations/comment-set/comment/comment.service.d.ts +1 -0
  173. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -0
  174. package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +1 -0
  175. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -0
  176. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -0
  177. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +1 -0
  178. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +1 -0
  179. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -0
  180. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +1 -0
  181. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -0
  182. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -0
  183. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +1 -0
  184. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +1 -0
  185. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -0
  186. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +1 -0
  187. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -0
  188. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -0
  189. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +1 -0
  190. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -0
  191. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -0
  192. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +1 -0
  193. package/lib/annotations/comment-set/comment-set-render.service.d.ts +1 -0
  194. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -0
  195. package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +1 -0
  196. package/lib/annotations/comment-set/comment-set.component.d.ts +1 -0
  197. package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -0
  198. package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +1 -0
  199. package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
  200. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -0
  201. package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +1 -0
  202. package/lib/annotations/models/api-persisted.model.d.ts +1 -0
  203. package/lib/annotations/models/api-persisted.model.d.ts.map +1 -0
  204. package/lib/annotations/models/event-select.model.d.ts +1 -0
  205. package/lib/annotations/models/event-select.model.d.ts.map +1 -0
  206. package/lib/annotations/models/tags.model.d.ts +1 -0
  207. package/lib/annotations/models/tags.model.d.ts.map +1 -0
  208. package/lib/annotations/models/user.model.d.ts +1 -0
  209. package/lib/annotations/models/user.model.d.ts.map +1 -0
  210. package/lib/annotations/pipes/date/date.pipe.d.ts +2 -1
  211. package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -0
  212. package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +1 -0
  213. package/lib/annotations/pipes/filter/filter.pipe.d.ts +1 -0
  214. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -0
  215. package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +1 -0
  216. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +1 -0
  217. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -0
  218. package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +1 -0
  219. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -2
  220. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -0
  221. package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +1 -0
  222. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +1 -0
  223. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -0
  224. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +1 -0
  225. package/lib/annotations/services/tags/tags.services.d.ts +1 -0
  226. package/lib/annotations/services/tags/tags.services.d.ts.map +1 -0
  227. package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +1 -0
  228. package/lib/annotations/tags/tags.component.d.ts +3 -2
  229. package/lib/annotations/tags/tags.component.d.ts.map +1 -0
  230. package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +1 -0
  231. package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -0
  232. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -0
  233. package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +1 -0
  234. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +1 -0
  235. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -0
  236. package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +1 -0
  237. package/lib/icp/icp-follower.service.d.ts +1 -0
  238. package/lib/icp/icp-follower.service.d.ts.map +1 -0
  239. package/lib/icp/icp-follower.service.ngfactory.d.ts.map +1 -0
  240. package/lib/icp/icp-presenter.service.d.ts +1 -0
  241. package/lib/icp/icp-presenter.service.d.ts.map +1 -0
  242. package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +1 -0
  243. package/lib/icp/icp-session-api.service.d.ts +1 -0
  244. package/lib/icp/icp-session-api.service.d.ts.map +1 -0
  245. package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +1 -0
  246. package/lib/icp/icp-update.service.d.ts +1 -9
  247. package/lib/icp/icp-update.service.d.ts.map +1 -0
  248. package/lib/icp/icp-update.service.ngfactory.d.ts.map +1 -0
  249. package/lib/icp/icp.events.d.ts +14 -0
  250. package/lib/icp/icp.events.d.ts.map +1 -0
  251. package/lib/icp/icp.interfaces.d.ts +2 -0
  252. package/lib/icp/icp.interfaces.d.ts.map +1 -0
  253. package/lib/icp/icp.service.d.ts +1 -0
  254. package/lib/icp/icp.service.d.ts.map +1 -0
  255. package/lib/icp/icp.service.ngfactory.d.ts.map +1 -0
  256. package/lib/icp/participants-list/participants-list.component.d.ts +1 -0
  257. package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -0
  258. package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +1 -0
  259. package/lib/icp/socket.service.d.ts +14 -4
  260. package/lib/icp/socket.service.d.ts.map +1 -0
  261. package/lib/icp/socket.service.ngfactory.d.ts.map +1 -0
  262. package/lib/media-viewer.component.d.ts +2 -0
  263. package/lib/media-viewer.component.d.ts.map +1 -0
  264. package/lib/media-viewer.component.ngfactory.d.ts.map +1 -0
  265. package/lib/media-viewer.module.d.ts +1 -0
  266. package/lib/media-viewer.module.d.ts.map +1 -0
  267. package/lib/media-viewer.module.ngfactory.d.ts.map +1 -0
  268. package/lib/print.service.d.ts +1 -0
  269. package/lib/print.service.d.ts.map +1 -0
  270. package/lib/print.service.ngfactory.d.ts.map +1 -0
  271. package/lib/redaction/components/redaction.component.d.ts +1 -0
  272. package/lib/redaction/components/redaction.component.d.ts.map +1 -0
  273. package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +1 -0
  274. package/lib/redaction/services/redaction-api.service.d.ts +1 -0
  275. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -0
  276. package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +1 -0
  277. package/lib/redaction/services/redaction.model.d.ts +1 -0
  278. package/lib/redaction/services/redaction.model.d.ts.map +1 -0
  279. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -0
  280. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -0
  281. package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +1 -0
  282. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -0
  283. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -0
  284. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +1 -0
  285. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -0
  286. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -0
  287. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +1 -0
  288. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -0
  289. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -0
  290. package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +1 -0
  291. package/lib/shared/shared.module.d.ts +1 -0
  292. package/lib/shared/shared.module.d.ts.map +1 -0
  293. package/lib/shared/shared.module.ngfactory.d.ts.map +1 -0
  294. package/lib/shared/util/helpers/html-templates.helper.d.ts +1 -0
  295. package/lib/shared/util/helpers/html-templates.helper.d.ts.map +1 -0
  296. package/lib/shared/util/services/number.helper.service.d.ts +1 -0
  297. package/lib/shared/util/services/number.helper.service.d.ts.map +1 -0
  298. package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +1 -0
  299. package/lib/store/actions/annotation.actions.d.ts +1 -0
  300. package/lib/store/actions/annotation.actions.d.ts.map +1 -0
  301. package/lib/store/actions/bookmark.actions.d.ts +1 -0
  302. package/lib/store/actions/bookmark.actions.d.ts.map +1 -0
  303. package/lib/store/actions/document.actions.d.ts +1 -0
  304. package/lib/store/actions/document.actions.d.ts.map +1 -0
  305. package/lib/store/actions/icp.actions.d.ts +1 -0
  306. package/lib/store/actions/icp.actions.d.ts.map +1 -0
  307. package/lib/store/actions/redaction.actions.d.ts +1 -0
  308. package/lib/store/actions/redaction.actions.d.ts.map +1 -0
  309. package/lib/store/actions/tag.actions.d.ts +1 -0
  310. package/lib/store/actions/tag.actions.d.ts.map +1 -0
  311. package/lib/store/bookmarks-store-utils.d.ts +1 -0
  312. package/lib/store/bookmarks-store-utils.d.ts.map +1 -0
  313. package/lib/store/effects/annotation.effects.d.ts +1 -0
  314. package/lib/store/effects/annotation.effects.d.ts.map +1 -0
  315. package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +1 -0
  316. package/lib/store/effects/bookmarks.effects.d.ts +1 -0
  317. package/lib/store/effects/bookmarks.effects.d.ts.map +1 -0
  318. package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +1 -0
  319. package/lib/store/effects/document.effects.d.ts +1 -0
  320. package/lib/store/effects/document.effects.d.ts.map +1 -0
  321. package/lib/store/effects/document.effects.ngfactory.d.ts.map +1 -0
  322. package/lib/store/effects/icp.effects.d.ts +1 -0
  323. package/lib/store/effects/icp.effects.d.ts.map +1 -0
  324. package/lib/store/effects/icp.effects.ngfactory.d.ts.map +1 -0
  325. package/lib/store/effects/index.d.ts +1 -0
  326. package/lib/store/effects/index.d.ts.map +1 -0
  327. package/lib/store/effects/redaction.effects.d.ts +1 -0
  328. package/lib/store/effects/redaction.effects.d.ts.map +1 -0
  329. package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +1 -0
  330. package/lib/store/models/bookmarks.interface.d.ts +1 -0
  331. package/lib/store/models/bookmarks.interface.d.ts.map +1 -0
  332. package/lib/store/models/filters.interface.d.ts +1 -0
  333. package/lib/store/models/filters.interface.d.ts.map +1 -0
  334. package/lib/store/reducers/annotations.reducer.d.ts +1 -0
  335. package/lib/store/reducers/annotations.reducer.d.ts.map +1 -0
  336. package/lib/store/reducers/bookmarks.reducer.d.ts +1 -0
  337. package/lib/store/reducers/bookmarks.reducer.d.ts.map +1 -0
  338. package/lib/store/reducers/document.reducer.d.ts +1 -0
  339. package/lib/store/reducers/document.reducer.d.ts.map +1 -0
  340. package/lib/store/reducers/icp.reducer.d.ts +1 -0
  341. package/lib/store/reducers/icp.reducer.d.ts.map +1 -0
  342. package/lib/store/reducers/redaction.reducer.d.ts +1 -0
  343. package/lib/store/reducers/redaction.reducer.d.ts.map +1 -0
  344. package/lib/store/reducers/reducers.d.ts +2 -1
  345. package/lib/store/reducers/reducers.d.ts.map +1 -0
  346. package/lib/store/reducers/tags.reducer.d.ts +1 -0
  347. package/lib/store/reducers/tags.reducer.d.ts.map +1 -0
  348. package/lib/store/selectors/annotation.selectors.d.ts +54 -15
  349. package/lib/store/selectors/annotation.selectors.d.ts.map +1 -0
  350. package/lib/store/selectors/bookmark.selectors.d.ts +18 -7
  351. package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -0
  352. package/lib/store/selectors/document.selectors.d.ts +15 -9
  353. package/lib/store/selectors/document.selectors.d.ts.map +1 -0
  354. package/lib/store/selectors/icp.selectors.d.ts +9 -8
  355. package/lib/store/selectors/icp.selectors.d.ts.map +1 -0
  356. package/lib/store/selectors/redaction.selectors.d.ts +18 -7
  357. package/lib/store/selectors/redaction.selectors.d.ts.map +1 -0
  358. package/lib/store/selectors/tag.selectors.d.ts +16 -6
  359. package/lib/store/selectors/tag.selectors.d.ts.map +1 -0
  360. package/lib/store/store-utils.d.ts +1 -0
  361. package/lib/store/store-utils.d.ts.map +1 -0
  362. package/lib/toolbar/icp-event.service.d.ts +1 -0
  363. package/lib/toolbar/icp-event.service.d.ts.map +1 -0
  364. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +1 -0
  365. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -0
  366. package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +1 -0
  367. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -0
  368. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -0
  369. package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +1 -0
  370. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -0
  371. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -0
  372. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +1 -0
  373. package/lib/toolbar/search-bar/search-bar.component.d.ts +2 -0
  374. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -0
  375. package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +1 -0
  376. package/lib/toolbar/toolbar-button-visibility.service.d.ts +1 -0
  377. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -0
  378. package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +1 -0
  379. package/lib/toolbar/toolbar-event.service.d.ts +1 -0
  380. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -0
  381. package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +1 -0
  382. package/lib/toolbar/toolbar.module.d.ts +1 -0
  383. package/lib/toolbar/toolbar.module.d.ts.map +1 -0
  384. package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +1 -0
  385. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -0
  386. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -0
  387. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +1 -0
  388. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +1 -0
  389. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -0
  390. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +1 -0
  391. package/lib/viewers/grab-n-drag.directive.d.ts +1 -0
  392. package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -0
  393. package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +1 -0
  394. package/lib/viewers/image-viewer/image-viewer.component.d.ts +5 -1
  395. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -0
  396. package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +1 -0
  397. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -0
  398. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -0
  399. package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +1 -0
  400. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +5 -0
  401. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -0
  402. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +1 -0
  403. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -0
  404. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +1 -0
  405. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +6 -2
  406. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -0
  407. package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +1 -0
  408. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +2 -1
  409. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -0
  410. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +1 -0
  411. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +1 -0
  412. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +1 -0
  413. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +7 -0
  414. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -0
  415. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +1 -0
  416. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +3 -1
  417. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +1 -0
  418. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +4 -0
  419. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -0
  420. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +1 -0
  421. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +1 -0
  422. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -0
  423. package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +1 -0
  424. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +1 -0
  425. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -0
  426. package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +1 -0
  427. package/lib/viewers/rotation-persist/rotation.model.d.ts +1 -0
  428. package/lib/viewers/rotation-persist/rotation.model.d.ts.map +1 -0
  429. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -0
  430. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -0
  431. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +1 -0
  432. package/lib/viewers/viewer-event.service.d.ts +1 -0
  433. package/lib/viewers/viewer-event.service.d.ts.map +1 -0
  434. package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +1 -0
  435. package/lib/viewers/viewer-exception.model.d.ts +1 -0
  436. package/lib/viewers/viewer-exception.model.d.ts.map +1 -0
  437. package/lib/viewers/viewer-util.service.d.ts +1 -0
  438. package/lib/viewers/viewer-util.service.d.ts.map +1 -0
  439. package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +1 -0
  440. package/package.json +16 -17
  441. package/public_api.d.ts +1 -0
  442. package/public_api.d.ts.map +1 -0
  443. package/esm5/hmcts-media-viewer.js +0 -67
  444. package/esm5/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -215
  445. package/esm5/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -236
  446. package/esm5/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -125
  447. package/esm5/lib/annotations/annotation-set/annotation-set.component.js +0 -109
  448. package/esm5/lib/annotations/annotation-set/annotation-set.model.js +0 -15
  449. package/esm5/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -177
  450. package/esm5/lib/annotations/annotation-set/annotation-view/annotation.model.js +0 -29
  451. package/esm5/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -250
  452. package/esm5/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js +0 -21
  453. package/esm5/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -216
  454. package/esm5/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -200
  455. package/esm5/lib/annotations/annotations.module.js +0 -109
  456. package/esm5/lib/annotations/comment-set/comment/comment.component.js +0 -353
  457. package/esm5/lib/annotations/comment-set/comment/comment.model.js +0 -27
  458. package/esm5/lib/annotations/comment-set/comment/comment.service.js +0 -125
  459. package/esm5/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -98
  460. package/esm5/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -63
  461. package/esm5/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -174
  462. package/esm5/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -145
  463. package/esm5/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -117
  464. package/esm5/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -131
  465. package/esm5/lib/annotations/comment-set/comment-set-render.service.js +0 -177
  466. package/esm5/lib/annotations/comment-set/comment-set.component.js +0 -295
  467. package/esm5/lib/annotations/comments-summary/comments-summary.component.js +0 -239
  468. package/esm5/lib/annotations/models/api-persisted.model.js +0 -25
  469. package/esm5/lib/annotations/models/event-select.model.js +0 -17
  470. package/esm5/lib/annotations/models/tags.model.js +0 -19
  471. package/esm5/lib/annotations/models/user.model.js +0 -17
  472. package/esm5/lib/annotations/pipes/date/date.pipe.js +0 -48
  473. package/esm5/lib/annotations/pipes/filter/filter.pipe.js +0 -52
  474. package/esm5/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -28
  475. package/esm5/lib/annotations/services/annotation-api/annotation-api.service.js +0 -188
  476. package/esm5/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -132
  477. package/esm5/lib/annotations/services/tags/tags.services.js +0 -102
  478. package/esm5/lib/annotations/tags/tags.component.js +0 -112
  479. package/esm5/lib/bookmark/components/bookmark-icons.component.js +0 -55
  480. package/esm5/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -50
  481. package/esm5/lib/icp/icp-follower.service.js +0 -135
  482. package/esm5/lib/icp/icp-presenter.service.js +0 -135
  483. package/esm5/lib/icp/icp-session-api.service.js +0 -49
  484. package/esm5/lib/icp/icp-update.service.js +0 -165
  485. package/esm5/lib/icp/icp.interfaces.js +0 -51
  486. package/esm5/lib/icp/icp.service.js +0 -261
  487. package/esm5/lib/icp/participants-list/participants-list.component.js +0 -77
  488. package/esm5/lib/icp/socket.service.js +0 -142
  489. package/esm5/lib/media-viewer.component.js +0 -422
  490. package/esm5/lib/media-viewer.module.js +0 -110
  491. package/esm5/lib/print.service.js +0 -53
  492. package/esm5/lib/redaction/components/redaction.component.js +0 -247
  493. package/esm5/lib/redaction/services/redaction-api.service.js +0 -133
  494. package/esm5/lib/redaction/services/redaction.model.js +0 -19
  495. package/esm5/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -37
  496. package/esm5/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -36
  497. package/esm5/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
  498. package/esm5/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -33
  499. package/esm5/lib/shared/shared.module.js +0 -42
  500. package/esm5/lib/shared/util/helpers/html-templates.helper.js +0 -36
  501. package/esm5/lib/shared/util/services/number.helper.service.js +0 -39
  502. package/esm5/lib/store/actions/annotation.actions.js +0 -226
  503. package/esm5/lib/store/actions/bookmark.actions.js +0 -242
  504. package/esm5/lib/store/actions/document.actions.js +0 -210
  505. package/esm5/lib/store/actions/icp.actions.js +0 -130
  506. package/esm5/lib/store/actions/redaction.actions.js +0 -255
  507. package/esm5/lib/store/actions/tag.actions.js +0 -50
  508. package/esm5/lib/store/bookmarks-store-utils.js +0 -110
  509. package/esm5/lib/store/effects/annotation.effects.js +0 -128
  510. package/esm5/lib/store/effects/bookmarks.effects.js +0 -193
  511. package/esm5/lib/store/effects/document.effects.js +0 -138
  512. package/esm5/lib/store/effects/icp.effects.js +0 -97
  513. package/esm5/lib/store/effects/index.js +0 -12
  514. package/esm5/lib/store/effects/redaction.effects.js +0 -190
  515. package/esm5/lib/store/models/bookmarks.interface.js +0 -57
  516. package/esm5/lib/store/models/filters.interface.js +0 -17
  517. package/esm5/lib/store/reducers/annotations.reducer.js +0 -231
  518. package/esm5/lib/store/reducers/bookmarks.reducer.js +0 -170
  519. package/esm5/lib/store/reducers/document.reducer.js +0 -222
  520. package/esm5/lib/store/reducers/icp.reducer.js +0 -83
  521. package/esm5/lib/store/reducers/redaction.reducer.js +0 -134
  522. package/esm5/lib/store/reducers/reducers.js +0 -47
  523. package/esm5/lib/store/reducers/tags.reducer.js +0 -159
  524. package/esm5/lib/store/selectors/annotation.selectors.js +0 -175
  525. package/esm5/lib/store/selectors/bookmark.selectors.js +0 -78
  526. package/esm5/lib/store/selectors/document.selectors.js +0 -37
  527. package/esm5/lib/store/selectors/icp.selectors.js +0 -47
  528. package/esm5/lib/store/selectors/redaction.selectors.js +0 -65
  529. package/esm5/lib/store/selectors/tag.selectors.js +0 -40
  530. package/esm5/lib/store/store-utils.js +0 -296
  531. package/esm5/lib/toolbar/icp-event.service.js +0 -65
  532. package/esm5/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -112
  533. package/esm5/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -408
  534. package/esm5/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -130
  535. package/esm5/lib/toolbar/search-bar/search-bar.component.js +0 -226
  536. package/esm5/lib/toolbar/toolbar-button-visibility.service.js +0 -146
  537. package/esm5/lib/toolbar/toolbar-event.service.js +0 -416
  538. package/esm5/lib/toolbar/toolbar.module.js +0 -50
  539. package/esm5/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -168
  540. package/esm5/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -57
  541. package/esm5/lib/viewers/grab-n-drag.directive.js +0 -98
  542. package/esm5/lib/viewers/image-viewer/image-viewer.component.js +0 -402
  543. package/esm5/lib/viewers/multimedia-player/multimedia-player.component.js +0 -125
  544. package/esm5/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -446
  545. package/esm5/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -87
  546. package/esm5/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -582
  547. package/esm5/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -251
  548. package/esm5/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js +0 -39
  549. package/esm5/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -62
  550. package/esm5/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js +0 -31
  551. package/esm5/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -146
  552. package/esm5/lib/viewers/rotation-persist/rotation-api.service.js +0 -68
  553. package/esm5/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -163
  554. package/esm5/lib/viewers/rotation-persist/rotation.model.js +0 -15
  555. package/esm5/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -120
  556. package/esm5/lib/viewers/viewer-event.service.js +0 -86
  557. package/esm5/lib/viewers/viewer-exception.model.js +0 -36
  558. package/esm5/lib/viewers/viewer-util.service.js +0 -44
  559. package/esm5/public_api.js +0 -35
  560. package/fesm5/hmcts-media-viewer.js +0 -14158
  561. package/fesm5/hmcts-media-viewer.js.map +0 -1
  562. package/hmcts-media-viewer-v2.8.1.tgz +0 -0
@@ -1,7 +1,3 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
6
2
  import { defaultImageOptions, defaultMultimediaOptions, defaultPdfOptions, defaultUnsupportedOptions, ToolbarButtonVisibilityService } from './toolbar/toolbar-button-visibility.service';
7
3
  import { ToolbarEventService } from './toolbar/toolbar-event.service';
@@ -14,34 +10,25 @@ import * as fromDocumentsSelector from './store/selectors/document.selectors';
14
10
  import * as fromAnnoActions from './store/actions/annotation.actions';
15
11
  import * as fromRedactActions from './store/actions/redaction.actions';
16
12
  import * as fromDocumentActions from './store/actions/document.actions';
17
- /** @enum {string} */
18
- const CoreContentTypes = {
19
- PDF: 'pdf',
20
- IMAGE: 'image',
21
- };
22
- /** @enum {string} */
23
- const MultimediaContentTypes = {
24
- MP4: 'mp4',
25
- MP3: 'mp3',
26
- };
27
- /** @enum {string} */
28
- const ConvertibleContentTypes = {
29
- EXCEL: 'excel',
30
- WORD: 'word',
31
- POWERPOINT: 'powerpoint',
32
- TXT: 'txt',
33
- RTF: 'rtf',
34
- };
13
+ var CoreContentTypes;
14
+ (function (CoreContentTypes) {
15
+ CoreContentTypes["PDF"] = "pdf";
16
+ CoreContentTypes["IMAGE"] = "image";
17
+ })(CoreContentTypes || (CoreContentTypes = {}));
18
+ var MultimediaContentTypes;
19
+ (function (MultimediaContentTypes) {
20
+ MultimediaContentTypes["MP4"] = "mp4";
21
+ MultimediaContentTypes["MP3"] = "mp3";
22
+ })(MultimediaContentTypes || (MultimediaContentTypes = {}));
23
+ var ConvertibleContentTypes;
24
+ (function (ConvertibleContentTypes) {
25
+ ConvertibleContentTypes["EXCEL"] = "excel";
26
+ ConvertibleContentTypes["WORD"] = "word";
27
+ ConvertibleContentTypes["POWERPOINT"] = "powerpoint";
28
+ ConvertibleContentTypes["TXT"] = "txt";
29
+ ConvertibleContentTypes["RTF"] = "rtf";
30
+ })(ConvertibleContentTypes || (ConvertibleContentTypes = {}));
35
31
  export class MediaViewerComponent {
36
- /**
37
- * @param {?} store
38
- * @param {?} toolbarButtons
39
- * @param {?} toolbarEvents
40
- * @param {?} api
41
- * @param {?} commentService
42
- * @param {?} elRef
43
- * @param {?} cdr
44
- */
45
32
  constructor(store, toolbarButtons, toolbarEvents, api, commentService, elRef, cdr) {
46
33
  this.store = store;
47
34
  this.toolbarButtons = toolbarButtons;
@@ -69,30 +56,16 @@ export class MediaViewerComponent {
69
56
  api.annotationApiUrl = this.annotationApiUrl;
70
57
  }
71
58
  }
72
- /**
73
- * @return {?}
74
- */
75
59
  ngAfterContentInit() {
76
60
  this.annotationSet$ = this.store.pipe(select(fromAnnoSelectors.getAnnotationSet));
77
61
  this.hasDifferentPageSize$ = this.store.pipe(select(fromDocumentsSelector.getPageDifference));
78
62
  this.setToolbarButtons();
79
63
  this.toolbarEventsOutput.emit(this.toolbarEvents);
80
64
  this.$subscriptions = this.commentService.getUnsavedChanges()
81
- .subscribe((/**
82
- * @param {?} changes
83
- * @return {?}
84
- */
85
- changes => this.onCommentChange(changes)));
65
+ .subscribe(changes => this.onCommentChange(changes));
86
66
  this.$subscriptions.add(this.toolbarEvents.getShowCommentSummary()
87
- .subscribe((/**
88
- * @param {?} changes
89
- * @return {?}
90
- */
91
- changes => this.showCommentSummary = changes)));
67
+ .subscribe(changes => this.showCommentSummary = changes));
92
68
  }
93
- /**
94
- * @return {?}
95
- */
96
69
  ngAfterViewChecked() {
97
70
  if (this.height && this.viewerHeight !== this.height) {
98
71
  this.viewerHeight = this.height;
@@ -100,11 +73,8 @@ export class MediaViewerComponent {
100
73
  return;
101
74
  }
102
75
  if (!this.height) {
103
- /** @type {?} */
104
76
  const compOffsetTop = this.elRef.nativeElement.getBoundingClientRect().top;
105
- /** @type {?} */
106
77
  const viewerOffsetTop = this.viewerRef.nativeElement.offsetTop;
107
- /** @type {?} */
108
78
  const offset = compOffsetTop + viewerOffsetTop;
109
79
  if (this.prevOffset !== offset) {
110
80
  this.viewerHeight = `calc(100vh - ${offset}px)`;
@@ -113,10 +83,6 @@ export class MediaViewerComponent {
113
83
  }
114
84
  }
115
85
  }
116
- /**
117
- * @param {?} changes
118
- * @return {?}
119
- */
120
86
  ngOnChanges(changes) {
121
87
  if (changes.annotationApiUrl) {
122
88
  this.api.annotationApiUrl = this.annotationApiUrl;
@@ -124,14 +90,13 @@ export class MediaViewerComponent {
124
90
  if (changes.url) {
125
91
  this.toolbarEvents.reset();
126
92
  this.commentService.resetCommentSet();
127
- /** @type {?} */
128
- const documentId = this.extractDMStoreDocId(this.url);
129
- this.store.dispatch(new fromDocumentActions.SetDocumentId(documentId));
93
+ this.documentId = this.extractDMStoreDocId(this.url);
94
+ this.store.dispatch(new fromDocumentActions.SetDocumentId(this.documentId));
130
95
  if (this.enableAnnotations && !(this.multimediaContent || this.unsupportedContent)) {
131
- this.store.dispatch(new fromAnnoActions.LoadAnnotationSet(documentId));
96
+ this.store.dispatch(new fromAnnoActions.LoadAnnotationSet(this.documentId));
132
97
  }
133
- if (this.enableRedactions && !(this.multimediaContent || this.unsupportedContent)) {
134
- this.store.dispatch(new fromRedactActions.LoadRedactions(documentId));
98
+ if (this.enableRedactions && !(this.multimediaContent || this.unsupportedContent) && this.documentId) {
99
+ this.store.dispatch(new fromRedactActions.LoadRedactions(this.documentId));
135
100
  }
136
101
  if (this.contentType === 'image') {
137
102
  this.documentTitle = null;
@@ -146,42 +111,22 @@ export class MediaViewerComponent {
146
111
  this.detectOs();
147
112
  this.typeException = false;
148
113
  }
149
- /**
150
- * @return {?}
151
- */
152
114
  ngOnDestroy() {
153
115
  this.$subscriptions.unsubscribe();
154
116
  }
155
- /**
156
- * @return {?}
157
- */
158
117
  needsConverting() {
159
118
  return this.contentType !== null && Object.keys(ConvertibleContentTypes).includes(this.contentType.toUpperCase());
160
119
  }
161
- /**
162
- * @return {?}
163
- */
164
120
  isMultimedia() {
165
121
  return this.contentType !== null && Object.keys(MultimediaContentTypes).includes(this.contentType.toUpperCase());
166
122
  }
167
- /**
168
- * @return {?}
169
- */
170
123
  isSupported() {
171
- /** @type {?} */
172
124
  const supportedTypes = Object.assign({}, MultimediaContentTypes, ConvertibleContentTypes, CoreContentTypes);
173
125
  return this.contentType !== null && Object.keys(supportedTypes).includes(this.contentType.toUpperCase());
174
126
  }
175
- /**
176
- * @param {?} status
177
- * @return {?}
178
- */
179
127
  onMediaLoad(status) {
180
128
  this.mediaLoadStatus.emit(status);
181
129
  }
182
- /**
183
- * @return {?}
184
- */
185
130
  setToolbarButtons() {
186
131
  if (this.contentType === CoreContentTypes.PDF || this.needsConverting()) {
187
132
  this.toolbarButtons.setup(Object.assign(Object.assign(Object.assign({}, defaultPdfOptions), { showHighlightButton: this.enableAnnotations, showDrawButton: this.enableAnnotations }), this.toolbarButtonOverrides));
@@ -196,10 +141,6 @@ export class MediaViewerComponent {
196
141
  this.toolbarButtons.setup(Object.assign(Object.assign({}, defaultUnsupportedOptions), this.toolbarButtonOverrides));
197
142
  }
198
143
  }
199
- /**
200
- * @param {?} exception
201
- * @return {?}
202
- */
203
144
  onLoadException(exception) {
204
145
  this.viewerException.emit(exception);
205
146
  if (!this.isSupported()) {
@@ -211,32 +152,18 @@ export class MediaViewerComponent {
211
152
  this.setToolbarButtons();
212
153
  }
213
154
  }
214
- /**
215
- * @param {?} changes
216
- * @return {?}
217
- */
218
155
  onCommentChange(changes) {
219
156
  this.unsavedChanges.emit(changes);
220
157
  }
221
- /**
222
- * @param {?} title
223
- * @return {?}
224
- */
225
158
  onDocumentTitleChange(title) {
226
159
  this.documentTitle = title;
227
160
  }
228
- /**
229
- * @private
230
- * @param {?} url
231
- * @return {?}
232
- */
161
+ // If secure mode is enabled (which adds "documentsv2" to the documentId), get rid of it
233
162
  extractDMStoreDocId(url) {
234
163
  url = url.includes('/documents/') ? url.split('/documents/')[1] : url;
164
+ url = url.includes('/documentsv2/') ? url.split('/documentsv2/')[1] : url;
235
165
  return url.replace('/binary', '');
236
166
  }
237
- /**
238
- * @return {?}
239
- */
240
167
  detectOs() {
241
168
  this.hasScrollBar = window.navigator.userAgent.indexOf('Win') !== -1;
242
169
  }
@@ -246,7 +173,7 @@ MediaViewerComponent.decorators = [
246
173
  selector: 'mv-media-viewer',
247
174
  template: "<div id=\"outerContainer\"\n [ngClass]=\"{\n 'has-redact-bar': toolbarEvents.redactionMode | async,\n 'icp-mode': toolbarEvents.icp.enabled | async,\n 'is-redaction-preview': toolbarEvents.redactionPreview | async,\n sidebarOpen: toolbarEvents.sidebarOpen | async,\n 'has-scroll-bar': hasScrollBar,\n 'has-different-page-size': hasDifferentPageSize$ | async\n }\"\n [ngStyle]=\"{ width: width }\">\n\n <mv-comments-summary *ngIf=\"showCommentSummary\"\n [title]=\"documentTitle || 'Comment Summary'\"\n [contentType]=\"contentType\">\n </mv-comments-summary>\n\n <mv-confirm-action *ngIf=\"toolbarEvents.icp.leavingSession | async\"></mv-confirm-action>\n\n <div id=\"mainContainer\">\n <mv-main-toolbar *ngIf=\"showToolbar\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableICP]=\"enableICP\"\n [enableRedactions]=\"enableRedactions\"\n [contentType]=\"contentType\"\n >\n </mv-main-toolbar>\n <mv-redaction-toolbar *ngIf=\"toolbarEvents.redactionMode | async\"></mv-redaction-toolbar>\n <mv-icp-toolbar *ngIf=\"toolbarEvents.icp.enabled | async\"></mv-icp-toolbar>\n\n <div #viewerRef>\n <mv-conversion-viewer *ngIf=\"convertibleContent\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (viewerException)=\"onLoadException($event)\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [originalUrl]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist>\n </mv-conversion-viewer>\n <mv-pdf-viewer *ngIf=\"contentType === 'pdf'\"\n #pdfViewer\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (pdfViewerException)=\"onLoadException($event)\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [enableICP]=\"enableICP\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n [caseId]=\"caseId\"\n mvRotationPersist>\n </mv-pdf-viewer>\n <mv-image-viewer *ngIf=\"contentType === 'image'\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (imageViewerException)=\"onLoadException($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist>\n </mv-image-viewer>\n <mv-multimedia-player *ngIf=\"multimediaContent\"\n [multimediaOn]=\"multimediaPlayerEnabled\"\n [url]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\">\n </mv-multimedia-player>\n <mv-unsupported-viewer *ngIf=\"unsupportedContent\"\n [url]=\"url\"\n [typeException]=\"typeException\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n (unsupportedViewerException)=\"onLoadException($event)\">\n </mv-unsupported-viewer>\n </div>\n </div>\n</div>\n",
248
175
  encapsulation: ViewEncapsulation.None
249
- }] }
176
+ },] }
250
177
  ];
251
178
  /** @nocollapse */
252
179
  MediaViewerComponent.ctorParameters = () => [
@@ -278,101 +205,4 @@ MediaViewerComponent.propDecorators = {
278
205
  multimediaPlayerEnabled: [{ type: Input }],
279
206
  caseId: [{ type: Input }]
280
207
  };
281
- if (false) {
282
- /** @type {?} */
283
- MediaViewerComponent.prototype.viewerRef;
284
- /** @type {?} */
285
- MediaViewerComponent.prototype.url;
286
- /** @type {?} */
287
- MediaViewerComponent.prototype.downloadFileName;
288
- /** @type {?} */
289
- MediaViewerComponent.prototype.contentType;
290
- /** @type {?} */
291
- MediaViewerComponent.prototype.showToolbar;
292
- /** @type {?} */
293
- MediaViewerComponent.prototype.toolbarButtonOverrides;
294
- /** @type {?} */
295
- MediaViewerComponent.prototype.height;
296
- /** @type {?} */
297
- MediaViewerComponent.prototype.viewerHeight;
298
- /** @type {?} */
299
- MediaViewerComponent.prototype.width;
300
- /** @type {?} */
301
- MediaViewerComponent.prototype.mediaLoadStatus;
302
- /** @type {?} */
303
- MediaViewerComponent.prototype.viewerException;
304
- /** @type {?} */
305
- MediaViewerComponent.prototype.toolbarEventsOutput;
306
- /** @type {?} */
307
- MediaViewerComponent.prototype.unsavedChanges;
308
- /** @type {?} */
309
- MediaViewerComponent.prototype.enableAnnotations;
310
- /** @type {?} */
311
- MediaViewerComponent.prototype.annotationApiUrl;
312
- /** @type {?} */
313
- MediaViewerComponent.prototype.enableRedactions;
314
- /** @type {?} */
315
- MediaViewerComponent.prototype.enableICP;
316
- /** @type {?} */
317
- MediaViewerComponent.prototype.multimediaPlayerEnabled;
318
- /** @type {?} */
319
- MediaViewerComponent.prototype.caseId;
320
- /** @type {?} */
321
- MediaViewerComponent.prototype.multimediaContent;
322
- /** @type {?} */
323
- MediaViewerComponent.prototype.convertibleContent;
324
- /** @type {?} */
325
- MediaViewerComponent.prototype.unsupportedContent;
326
- /** @type {?} */
327
- MediaViewerComponent.prototype.documentTitle;
328
- /** @type {?} */
329
- MediaViewerComponent.prototype.showCommentSummary;
330
- /** @type {?} */
331
- MediaViewerComponent.prototype.annotationSet$;
332
- /** @type {?} */
333
- MediaViewerComponent.prototype.hasScrollBar;
334
- /** @type {?} */
335
- MediaViewerComponent.prototype.typeException;
336
- /** @type {?} */
337
- MediaViewerComponent.prototype.hasDifferentPageSize$;
338
- /**
339
- * @type {?}
340
- * @private
341
- */
342
- MediaViewerComponent.prototype.$subscriptions;
343
- /**
344
- * @type {?}
345
- * @private
346
- */
347
- MediaViewerComponent.prototype.prevOffset;
348
- /**
349
- * @type {?}
350
- * @private
351
- */
352
- MediaViewerComponent.prototype.store;
353
- /** @type {?} */
354
- MediaViewerComponent.prototype.toolbarButtons;
355
- /** @type {?} */
356
- MediaViewerComponent.prototype.toolbarEvents;
357
- /**
358
- * @type {?}
359
- * @private
360
- */
361
- MediaViewerComponent.prototype.api;
362
- /**
363
- * @type {?}
364
- * @private
365
- */
366
- MediaViewerComponent.prototype.commentService;
367
- /**
368
- * @type {?}
369
- * @private
370
- */
371
- MediaViewerComponent.prototype.elRef;
372
- /**
373
- * @type {?}
374
- * @private
375
- */
376
- MediaViewerComponent.prototype.cdr;
377
- }
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvbWVkaWEtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLG1CQUFtQixFQUFFLHdCQUF3QixFQUM3QyxpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxlQUFlLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQ0FBa0MsQ0FBQzs7O0lBR3RFLEtBQU0sS0FBSztJQUNYLE9BQVEsT0FBTzs7OztJQUlmLEtBQU0sS0FBSztJQUNYLEtBQU0sS0FBSzs7OztJQUlYLE9BQVEsT0FBTztJQUNmLE1BQU8sTUFBTTtJQUNiLFlBQWEsWUFBWTtJQUN6QixLQUFN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XG4gIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRlZmF1bHRJbWFnZU9wdGlvbnMsIGRlZmF1bHRNdWx0aW1lZGlhT3B0aW9ucyxcbiAgZGVmYXVsdFBkZk9wdGlvbnMsXG4gIGRlZmF1bHRVbnN1cHBvcnRlZE9wdGlvbnMsXG4gIFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZVxufSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFubm90YXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9zZXJ2aWNlcy9hbm5vdGF0aW9uLWFwaS9hbm5vdGF0aW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSwgVmlld2VyRXhjZXB0aW9uIH0gZnJvbSAnLi92aWV3ZXJzL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudFNlcnZpY2UgfSBmcm9tICcuL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5zZXJ2aWNlJztcbmltcG9ydCAnaGFtbWVyanMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vU2VsZWN0b3JzIGZyb20gJy4vc3RvcmUvc2VsZWN0b3JzL2Fubm90YXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHNTZWxlY3RvciBmcm9tICcuL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm9BY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL3JlZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuXG5lbnVtIENvcmVDb250ZW50VHlwZXMge1xuICBQREYgPSAncGRmJyxcbiAgSU1BR0UgPSAnaW1hZ2UnXG59XG5cbmVudW0gTXVsdGltZWRpYUNvbnRlbnRUeXBlcyB7XG4gIE1QNCA9ICdtcDQnLFxuICBNUDMgPSAnbXAzJyxcbn1cblxuZW51bSBDb252ZXJ0aWJsZUNvbnRlbnRUeXBlcyB7XG4gIEVYQ0VMID0gJ2V4Y2VsJyxcbiAgV09SRCA9ICd3b3JkJyxcbiAgUE9XRVJQT0lOVCA9ICdwb3dlcnBvaW50JyxcbiAgVFhUID0gJ3R4dCcsXG4gIFJURiA9ICdydGYnXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LW1lZGlhLXZpZXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlclJlZicsIHtzdGF0aWM6IGZhbHNlfSkgdmlld2VyUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIHVybDtcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZW50VHlwZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNob3dUb29sYmFyID0gdHJ1ZTtcbiAgQElucHV0KCkgdG9vbGJhckJ1dHRvbk92ZXJyaWRlczogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhlaWdodDogc3RyaW5nO1xuICBwdWJsaWMgdmlld2VySGVpZ2h0OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgd2lkdGggPSAnMTAwJSc7XG5cbiAgQE91dHB1dCgpIG1lZGlhTG9hZFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzcG9uc2VUeXBlPigpO1xuICBAT3V0cHV0KCkgdmlld2VyRXhjZXB0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxWaWV3ZXJFeGNlcHRpb24+KCk7XG4gIEBPdXRwdXQoKSB0b29sYmFyRXZlbnRzT3V0cHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxUb29sYmFyRXZlbnRTZXJ2aWNlPigpO1xuICBAT3V0cHV0KCkgdW5zYXZlZENoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgYW5ub3RhdGlvbkFwaVVybDtcblxuICBASW5wdXQoKSBlbmFibGVSZWRhY3Rpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVuYWJsZUlDUCA9IGZhbHNlO1xuICBASW5wdXQoKSBtdWx0aW1lZGlhUGxheWVyRW5hYmxlZCA9IGZhbHNlO1xuXG5cbiAgQElucHV0KCkgY2FzZUlkOiBzdHJpbmc7XG5cbiAgbXVsdGltZWRpYUNvbnRlbnQgPSBmYWxzZTtcbiAgY29udmVydGlibGVDb250ZW50ID0gZmFsc2U7XG4gIHVuc3VwcG9ydGVkQ29udGVudCA9IGZhbHNlO1xuXG4gIGRvY3VtZW50VGl0bGU6IHN0cmluZztcbiAgc2hvd0NvbW1lbnRTdW1tYXJ5OiBib29sZWFuO1xuICBhbm5vdGF0aW9uU2V0JDogT2JzZXJ2YWJsZTxBbm5vdGF0aW9uU2V0IHwge30+O1xuICBoYXNTY3JvbGxCYXI6IGJvb2xlYW47XG4gIHR5cGVFeGNlcHRpb24gPSBmYWxzZTtcbiAgaGFzRGlmZmVyZW50UGFnZVNpemUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgJHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwcmV2T2Zmc2V0OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IEFubm90YXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudFNlcnZpY2U6IENvbW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIGlmICh0aGlzLmFubm90YXRpb25BcGlVcmwpIHtcbiAgICAgIGFwaS5hbm5vdGF0aW9uQXBpVXJsID0gdGhpcy5hbm5vdGF0aW9uQXBpVXJsO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmFubm90YXRpb25TZXQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tQW5ub1NlbGVjdG9ycy5nZXRBbm5vdGF0aW9uU2V0KSk7XG4gICAgdGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHNTZWxlY3Rvci5nZXRQYWdlRGlmZmVyZW5jZSkpO1xuICAgIHRoaXMuc2V0VG9vbGJhckJ1dHRvbnMoKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHNPdXRwdXQuZW1pdCh0aGlzLnRvb2xiYXJFdmVudHMpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMgPSB0aGlzLmNvbW1lbnRTZXJ2aWNlLmdldFVuc2F2ZWRDaGFuZ2VzKClcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB0aGlzLm9uQ29tbWVudENoYW5nZShjaGFuZ2VzKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdldFNob3dDb21tZW50U3VtbWFyeSgpXG4gICAgICAuc3Vic2NyaWJlKGNoYW5nZXMgPT4gdGhpcy5zaG93Q29tbWVudFN1bW1hcnkgPSBjaGFuZ2VzKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ICYmIHRoaXMudmlld2VySGVpZ2h0ICE9PSB0aGlzLmhlaWdodCkge1xuICAgICAgdGhpcy52aWV3ZXJIZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaGVpZ2h0KSB7XG4gICAgICBjb25zdCBjb21wT2Zmc2V0VG9wID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIGNvbnN0IHZpZXdlck9mZnNldFRvcCA9IHRoaXMudmlld2VyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gY29tcE9mZnNldFRvcCArIHZpZXdlck9mZnNldFRvcDtcblxuICAgICAgaWYgKHRoaXMucHJldk9mZnNldCAhPT0gb2Zmc2V0KSB7XG4gICAgICAgIHRoaXMudmlld2VySGVpZ2h0ID0gYGNhbGMoMTAwdmggLSAke29mZnNldH1weClgO1xuICAgICAgICB0aGlzLnByZXZPZmZzZXQgPSBvZmZzZXQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYW5ub3RhdGlvbkFwaVVybCkge1xuICAgICAgdGhpcy5hcGkuYW5ub3RhdGlvbkFwaVVybCA9IHRoaXMuYW5ub3RhdGlvbkFwaVVybDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy51cmwpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZXNldCgpO1xuICAgICAgdGhpcy5jb21tZW50U2VydmljZS5yZXNldENvbW1lbnRTZXQoKTtcbiAgICAgIGNvbnN0IGRvY3VtZW50SWQgPSB0aGlzLmV4dHJhY3RETVN0b3JlRG9jSWQodGhpcy51cmwpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50QWN0aW9ucy5TZXREb2N1bWVudElkKGRvY3VtZW50SWQpKTtcbiAgICAgIGlmICh0aGlzLmVuYWJsZUFubm90YXRpb25zICYmICEodGhpcy5tdWx0aW1lZGlhQ29udGVudCB8fCB0aGlzLnVuc3VwcG9ydGVkQ29udGVudCkpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbUFubm9BY3Rpb25zLkxvYWRBbm5vdGF0aW9uU2V0KGRvY3VtZW50SWQpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmVuYWJsZVJlZGFjdGlvbnMgJiYgISh0aGlzLm11bHRpbWVkaWFDb250ZW50IHx8IHRoaXMudW5zdXBwb3J0ZWRDb250ZW50KSkge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tUmVkYWN0QWN0aW9ucy5Mb2FkUmVkYWN0aW9ucyhkb2N1bWVudElkKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb250ZW50VHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLmNvbnZlcnRpYmxlQ29udGVudCA9IHRoaXMubmVlZHNDb252ZXJ0aW5nKCk7XG4gICAgICB0aGlzLm11bHRpbWVkaWFDb250ZW50ID0gdGhpcy5pc011bHRpbWVkaWEoKTtcbiAgICAgIHRoaXMudW5zdXBwb3J0ZWRDb250ZW50ID0gIXRoaXMuaXNTdXBwb3J0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgdGhpcy5kZXRlY3RPcygpO1xuICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmVlZHNDb252ZXJ0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKENvbnZlcnRpYmxlQ29udGVudFR5cGVzKS5pbmNsdWRlcyh0aGlzLmNvbnRlbnRUeXBlLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgaXNNdWx0aW1lZGlhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKE11bHRpbWVkaWFDb250ZW50VHlwZXMpLmluY2x1ZGVzKHRoaXMuY29udGVudFR5cGUudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICBpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIE11bHRpbWVkaWFDb250ZW50VHlwZXMsIENvbnZlcnRpYmxlQ29udGVudFR5cGVzLCBDb3JlQ29udGVudFR5cGVzKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhzdXBwb3J0ZWRUeXBlcykuaW5jbHVkZXModGhpcy5jb250ZW50VHlwZS50b1VwcGVyQ2FzZSgpKTtcbiAgfVxuXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChzdGF0dXMpO1xuICB9XG5cbiAgc2V0VG9vbGJhckJ1dHRvbnMoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09IENvcmVDb250ZW50VHlwZXMuUERGIHx8IHRoaXMubmVlZHNDb252ZXJ0aW5nKCkpIHtcbiAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMuc2V0dXAoe1xuICAgICAgICAuLi5kZWZhdWx0UGRmT3B0aW9ucywgc2hvd0hpZ2hsaWdodEJ1dHRvbjogdGhpcy5lbmFibGVBbm5vdGF0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRlbnRUeXBlID09PSBDb3JlQ29udGVudFR5cGVzLklNQUdFKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdEltYWdlT3B0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTXVsdGltZWRpYSgpKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdE11bHRpbWVkaWFPcHRpb25zLFxuICAgICAgICAuLi50aGlzLnRvb2xiYXJCdXR0b25PdmVycmlkZXNcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdFVuc3VwcG9ydGVkT3B0aW9ucyxcbiAgICAgICAgLi4udGhpcy50b29sYmFyQnV0dG9uT3ZlcnJpZGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkxvYWRFeGNlcHRpb24oZXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb24pIHtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbi5lbWl0KGV4Y2VwdGlvbik7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnR5cGVFeGNlcHRpb24gPSB0cnVlO1xuICAgICAgdGhpcy5jb250ZW50VHlwZSA9IG51bGw7XG4gICAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgb25Db21tZW50Q2hhbmdlKGNoYW5nZXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnVuc2F2ZWRDaGFuZ2VzLmVtaXQoY2hhbmdlcyk7XG4gIH1cblxuICBvbkRvY3VtZW50VGl0bGVDaGFuZ2UodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0RE1TdG9yZURvY0lkKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB1cmwgPSB1cmwuaW5jbHVkZXMoJy9kb2N1bWVudHMvJykgPyB1cmwuc3BsaXQoJy9kb2N1bWVudHMvJylbMV0gOiB1cmw7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKCcvYmluYXJ5JywgJycpO1xuICB9XG5cbiAgZGV0ZWN0T3MoKSB7XG4gICAgdGhpcy5oYXNTY3JvbGxCYXIgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdXaW4nKSAhPT0gLTE7XG4gIH1cbn1cbiJdfQ==
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL21lZGlhLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLG1CQUFtQixFQUFFLHdCQUF3QixFQUM3QyxpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxlQUFlLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxJQUFLLGdCQUdKO0FBSEQsV0FBSyxnQkFBZ0I7SUFDbkIsK0JBQVcsQ0FBQTtJQUNYLG1DQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhJLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHcEI7QUFFRCxJ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Q0FBQztRQUN0RSxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOzs7WUExTUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDZySUFBNEM7Z0JBQzVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O1lBOUJnQixLQUFLO1lBUnBCLDhCQUE4QjtZQUd2QixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBRXBCLGNBQWM7WUFyQnJCLFVBQVU7WUFGVixpQkFBaUI7Ozt3QkEwRGhCLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2tCQUV0QyxLQUFLOytCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFFTCxLQUFLO3FDQUNMLEtBQUs7cUJBRUwsS0FBSztvQkFJTCxLQUFLOzhCQUVMLE1BQU07OEJBQ04sTUFBTTtrQ0FDTixNQUFNOzZCQUNOLE1BQU07Z0NBRU4sS0FBSzsrQkFDTCxLQUFLOytCQUVMLEtBQUs7d0JBQ0wsS0FBSztzQ0FDTCxLQUFLO3FCQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWZhdWx0SW1hZ2VPcHRpb25zLCBkZWZhdWx0TXVsdGltZWRpYU9wdGlvbnMsXG4gIGRlZmF1bHRQZGZPcHRpb25zLFxuICBkZWZhdWx0VW5zdXBwb3J0ZWRPcHRpb25zLFxuICBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2Vcbn0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uU2V0IH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uQXBpU2VydmljZSB9IGZyb20gJy4vYW5ub3RhdGlvbnMvc2VydmljZXMvYW5ub3RhdGlvbi1hcGkvYW5ub3RhdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4vdmlld2Vycy92aWV3ZXItZXhjZXB0aW9uLm1vZGVsJztcbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9jb21tZW50LXNldC9jb21tZW50L2NvbW1lbnQuc2VydmljZSc7XG5pbXBvcnQgJ2hhbW1lcmpzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQW5ub1NlbGVjdG9ycyBmcm9tICcuL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRzU2VsZWN0b3IgZnJvbSAnLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vQWN0aW9ucyBmcm9tICcuL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21SZWRhY3RBY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9yZWRhY3Rpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRBY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcblxuZW51bSBDb3JlQ29udGVudFR5cGVzIHtcbiAgUERGID0gJ3BkZicsXG4gIElNQUdFID0gJ2ltYWdlJ1xufVxuXG5lbnVtIE11bHRpbWVkaWFDb250ZW50VHlwZXMge1xuICBNUDQgPSAnbXA0JyxcbiAgTVAzID0gJ21wMycsXG59XG5cbmVudW0gQ29udmVydGlibGVDb250ZW50VHlwZXMge1xuICBFWENFTCA9ICdleGNlbCcsXG4gIFdPUkQgPSAnd29yZCcsXG4gIFBPV0VSUE9JTlQgPSAncG93ZXJwb2ludCcsXG4gIFRYVCA9ICd0eHQnLFxuICBSVEYgPSAncnRmJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1tZWRpYS12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVkaWEtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNZWRpYVZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBAVmlld0NoaWxkKCd2aWV3ZXJSZWYnLCB7c3RhdGljOiBmYWxzZX0pIHZpZXdlclJlZjogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSB1cmw7XG4gIEBJbnB1dCgpIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgY29udGVudFR5cGU6IHN0cmluZztcblxuICBASW5wdXQoKSBzaG93VG9vbGJhciA9IHRydWU7XG4gIEBJbnB1dCgpIHRvb2xiYXJCdXR0b25PdmVycmlkZXM6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWlnaHQ6IHN0cmluZztcbiAgcHVibGljIHZpZXdlckhlaWdodDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHdpZHRoID0gJzEwMCUnO1xuXG4gIEBPdXRwdXQoKSBtZWRpYUxvYWRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc3BvbnNlVHlwZT4oKTtcbiAgQE91dHB1dCgpIHZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuICBAT3V0cHV0KCkgdG9vbGJhckV2ZW50c091dHB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8VG9vbGJhckV2ZW50U2VydmljZT4oKTtcbiAgQE91dHB1dCgpIHVuc2F2ZWRDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFubm90YXRpb25BcGlVcmw7XG5cbiAgQElucHV0KCkgZW5hYmxlUmVkYWN0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBlbmFibGVJQ1AgPSBmYWxzZTtcbiAgQElucHV0KCkgbXVsdGltZWRpYVBsYXllckVuYWJsZWQgPSBmYWxzZTtcblxuXG4gIEBJbnB1dCgpIGNhc2VJZDogc3RyaW5nO1xuXG4gIG11bHRpbWVkaWFDb250ZW50ID0gZmFsc2U7XG4gIGNvbnZlcnRpYmxlQ29udGVudCA9IGZhbHNlO1xuICB1bnN1cHBvcnRlZENvbnRlbnQgPSBmYWxzZTtcblxuICBkb2N1bWVudFRpdGxlOiBzdHJpbmc7XG4gIHNob3dDb21tZW50U3VtbWFyeTogYm9vbGVhbjtcbiAgYW5ub3RhdGlvblNldCQ6IE9ic2VydmFibGU8QW5ub3RhdGlvblNldCB8IHt9PjtcbiAgaGFzU2Nyb2xsQmFyOiBib29sZWFuO1xuICB0eXBlRXhjZXB0aW9uID0gZmFsc2U7XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgJHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwcmV2T2Zmc2V0OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IEFubm90YXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudFNlcnZpY2U6IENvbW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIGlmICh0aGlzLmFubm90YXRpb25BcGlVcmwpIHtcbiAgICAgIGFwaS5hbm5vdGF0aW9uQXBpVXJsID0gdGhpcy5hbm5vdGF0aW9uQXBpVXJsO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmFubm90YXRpb25TZXQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tQW5ub1NlbGVjdG9ycy5nZXRBbm5vdGF0aW9uU2V0KSk7XG4gICAgdGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHNTZWxlY3Rvci5nZXRQYWdlRGlmZmVyZW5jZSkpO1xuICAgIHRoaXMuc2V0VG9vbGJhckJ1dHRvbnMoKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHNPdXRwdXQuZW1pdCh0aGlzLnRvb2xiYXJFdmVudHMpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMgPSB0aGlzLmNvbW1lbnRTZXJ2aWNlLmdldFVuc2F2ZWRDaGFuZ2VzKClcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB0aGlzLm9uQ29tbWVudENoYW5nZShjaGFuZ2VzKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdldFNob3dDb21tZW50U3VtbWFyeSgpXG4gICAgICAuc3Vic2NyaWJlKGNoYW5nZXMgPT4gdGhpcy5zaG93Q29tbWVudFN1bW1hcnkgPSBjaGFuZ2VzKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ICYmIHRoaXMudmlld2VySGVpZ2h0ICE9PSB0aGlzLmhlaWdodCkge1xuICAgICAgdGhpcy52aWV3ZXJIZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaGVpZ2h0KSB7XG4gICAgICBjb25zdCBjb21wT2Zmc2V0VG9wID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIGNvbnN0IHZpZXdlck9mZnNldFRvcCA9IHRoaXMudmlld2VyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gY29tcE9mZnNldFRvcCArIHZpZXdlck9mZnNldFRvcDtcblxuICAgICAgaWYgKHRoaXMucHJldk9mZnNldCAhPT0gb2Zmc2V0KSB7XG4gICAgICAgIHRoaXMudmlld2VySGVpZ2h0ID0gYGNhbGMoMTAwdmggLSAke29mZnNldH1weClgO1xuICAgICAgICB0aGlzLnByZXZPZmZzZXQgPSBvZmZzZXQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYW5ub3RhdGlvbkFwaVVybCkge1xuICAgICAgdGhpcy5hcGkuYW5ub3RhdGlvbkFwaVVybCA9IHRoaXMuYW5ub3RhdGlvbkFwaVVybDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy51cmwpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZXNldCgpO1xuICAgICAgdGhpcy5jb21tZW50U2VydmljZS5yZXNldENvbW1lbnRTZXQoKTtcbiAgICAgIHRoaXMuZG9jdW1lbnRJZCA9IHRoaXMuZXh0cmFjdERNU3RvcmVEb2NJZCh0aGlzLnVybCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tRG9jdW1lbnRBY3Rpb25zLlNldERvY3VtZW50SWQodGhpcy5kb2N1bWVudElkKSk7XG4gICAgICBpZiAodGhpcy5lbmFibGVBbm5vdGF0aW9ucyAmJiAhKHRoaXMubXVsdGltZWRpYUNvbnRlbnQgfHwgdGhpcy51bnN1cHBvcnRlZENvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Bbm5vQWN0aW9ucy5Mb2FkQW5ub3RhdGlvblNldCh0aGlzLmRvY3VtZW50SWQpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmVuYWJsZVJlZGFjdGlvbnMgJiYgISh0aGlzLm11bHRpbWVkaWFDb250ZW50IHx8IHRoaXMudW5zdXBwb3J0ZWRDb250ZW50KSAmJiB0aGlzLmRvY3VtZW50SWQpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVJlZGFjdEFjdGlvbnMuTG9hZFJlZGFjdGlvbnModGhpcy5kb2N1bWVudElkKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb250ZW50VHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLmNvbnZlcnRpYmxlQ29udGVudCA9IHRoaXMubmVlZHNDb252ZXJ0aW5nKCk7XG4gICAgICB0aGlzLm11bHRpbWVkaWFDb250ZW50ID0gdGhpcy5pc011bHRpbWVkaWEoKTtcbiAgICAgIHRoaXMudW5zdXBwb3J0ZWRDb250ZW50ID0gIXRoaXMuaXNTdXBwb3J0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgdGhpcy5kZXRlY3RPcygpO1xuICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmVlZHNDb252ZXJ0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKENvbnZlcnRpYmxlQ29udGVudFR5cGVzKS5pbmNsdWRlcyh0aGlzLmNvbnRlbnRUeXBlLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgaXNNdWx0aW1lZGlhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKE11bHRpbWVkaWFDb250ZW50VHlwZXMpLmluY2x1ZGVzKHRoaXMuY29udGVudFR5cGUudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICBpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIE11bHRpbWVkaWFDb250ZW50VHlwZXMsIENvbnZlcnRpYmxlQ29udGVudFR5cGVzLCBDb3JlQ29udGVudFR5cGVzKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhzdXBwb3J0ZWRUeXBlcykuaW5jbHVkZXModGhpcy5jb250ZW50VHlwZS50b1VwcGVyQ2FzZSgpKTtcbiAgfVxuXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChzdGF0dXMpO1xuICB9XG5cbiAgc2V0VG9vbGJhckJ1dHRvbnMoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09IENvcmVDb250ZW50VHlwZXMuUERGIHx8IHRoaXMubmVlZHNDb252ZXJ0aW5nKCkpIHtcbiAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMuc2V0dXAoe1xuICAgICAgICAuLi5kZWZhdWx0UGRmT3B0aW9ucywgc2hvd0hpZ2hsaWdodEJ1dHRvbjogdGhpcy5lbmFibGVBbm5vdGF0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRlbnRUeXBlID09PSBDb3JlQ29udGVudFR5cGVzLklNQUdFKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdEltYWdlT3B0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTXVsdGltZWRpYSgpKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdE11bHRpbWVkaWFPcHRpb25zLFxuICAgICAgICAuLi50aGlzLnRvb2xiYXJCdXR0b25PdmVycmlkZXNcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdFVuc3VwcG9ydGVkT3B0aW9ucyxcbiAgICAgICAgLi4udGhpcy50b29sYmFyQnV0dG9uT3ZlcnJpZGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkxvYWRFeGNlcHRpb24oZXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb24pIHtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbi5lbWl0KGV4Y2VwdGlvbik7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnR5cGVFeGNlcHRpb24gPSB0cnVlO1xuICAgICAgdGhpcy5jb250ZW50VHlwZSA9IG51bGw7XG4gICAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgb25Db21tZW50Q2hhbmdlKGNoYW5nZXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnVuc2F2ZWRDaGFuZ2VzLmVtaXQoY2hhbmdlcyk7XG4gIH1cblxuICBvbkRvY3VtZW50VGl0bGVDaGFuZ2UodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgLy8gSWYgc2VjdXJlIG1vZGUgaXMgZW5hYmxlZCAod2hpY2ggYWRkcyBcImRvY3VtZW50c3YyXCIgdG8gdGhlIGRvY3VtZW50SWQpLCBnZXQgcmlkIG9mIGl0XG4gIHByaXZhdGUgZXh0cmFjdERNU3RvcmVEb2NJZCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdXJsID0gdXJsLmluY2x1ZGVzKCcvZG9jdW1lbnRzLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzLycpWzFdIDogdXJsO1xuICAgIHVybCA9IHVybC5pbmNsdWRlcygnL2RvY3VtZW50c3YyLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzdjIvJylbMV0gOiB1cmw7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKCcvYmluYXJ5JywgJycpO1xuICB9XG5cbiAgZGV0ZWN0T3MoKSB7XG4gICAgdGhpcy5oYXNTY3JvbGxCYXIgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdXaW4nKSAhPT0gLTE7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,3 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  import { NgModule } from '@angular/core';
6
2
  import { CommonModule } from '@angular/common';
7
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -36,7 +32,7 @@ import { DocumentConversionApiService } from './viewers/convertible-content-view
36
32
  import { IcpPresenterService } from './icp/icp-presenter.service';
37
33
  import { IcpFollowerService } from './icp/icp-follower.service';
38
34
  import { ConfirmActionDialogComponent } from './icp/confirm-exit/confirm-action-dialog.component';
39
- import { TreeModule } from 'angular-tree-component';
35
+ import { TreeModule } from '@circlon/angular-tree-component';
40
36
  import { BookmarkIconsComponent } from './bookmark/components/bookmark-icons.component';
41
37
  import { RotationApiService } from './viewers/rotation-persist/rotation-api.service';
42
38
  import { RotationPersistDirective } from './viewers/rotation-persist/rotation-persist.directive';
@@ -58,7 +54,7 @@ MediaViewerModule.decorators = [
58
54
  RouterModule,
59
55
  StoreModule.forFeature('media-viewer', reducers),
60
56
  EffectsModule.forFeature(effects),
61
- TreeModule.forRoot(),
57
+ TreeModule,
62
58
  MutableDivModule
63
59
  ],
64
60
  declarations: [
@@ -103,4 +99,4 @@ MediaViewerModule.decorators = [
103
99
  ]
104
100
  },] }
105
101
  ];
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvbWVkaWEtdmlld2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUFDOUgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRGQUE0RixDQUFDO0FBQ3RJLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBMERsRyxNQUFNLE9BQU8saUJBQWlCOzs7WUF4RDdCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQztvQkFDaEQsYUFBYSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7b0JBQ2pDLFVBQVUsQ0FBQyxPQUFPLEVBQUU7b0JBQ3BCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO29CQUNoQixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsb0JBQW9CO29CQUNwQiwwQkFBMEI7b0JBQzFCLHlCQUF5QjtvQkFDekIsb0JBQW9CO29CQUNwQixpQ0FBaUM7b0JBQ2pDLGtCQUFrQjtvQkFDbEIsd0JBQXdCO29CQUN4Qix3QkFBd0I7b0JBQ3hCLDRCQUE0QjtvQkFDNUIsa0JBQWtCO29CQUNsQixzQkFBc0I7b0JBQ3RCLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsZUFBZSxFQUFFO29CQUNmLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQiwwQkFBMEI7aUJBQzNCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxtQkFBbUI7b0JBQ25CLGNBQWM7b0JBQ2QsbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixVQUFVO29CQUNWLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLDRCQUE0QjtvQkFDNUIsa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asb0JBQW9CO2lCQUNyQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBQZGZWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWFnZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9pbWFnZS12aWV3ZXIvaW1hZ2Utdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy91bnN1cHBvcnRlZC12aWV3ZXIvdW5zdXBwb3J0ZWQtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZWRpYVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vbWVkaWEtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyTW9kdWxlIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7IFBkZkpzV3JhcHBlckZhY3RvcnkgfSBmcm9tICcuL3ZpZXdlcnMvcGRmLXZpZXdlci9wZGYtanMvcGRmLWpzLXdyYXBwZXIucHJvdmlkZXInO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnNNb2R1bGUgfSBmcm9tICcuL2Fubm90YXRpb25zL2Fubm90YXRpb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBDb21tZW50U2VydmljZSB9IGZyb20gJy4vYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhYk5EcmFnRGlyZWN0aXZlIH0gZnJvbSAnLi92aWV3ZXJzL2dyYWItbi1kcmFnLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaWRlQmFyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL3BkZi12aWV3ZXIvc2lkZS1iYXIvc2lkZS1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE91dGxpbmVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL3BkZi12aWV3ZXIvc2lkZS1iYXIvb3V0bGluZS1pdGVtL291dGxpbmUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFnSW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtY2hpcHMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBSZWRhY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3JlZGFjdGlvbi9jb21wb25lbnRzL3JlZGFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNwU2Vzc2lvbkFwaVNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3Atc2Vzc2lvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBJY3BVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi9pY3AvaWNwLXVwZGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3Auc2VydmljZSc7XG5pbXBvcnQgeyBTb2NrZXRTZXJ2aWNlIH0gZnJvbSAnLi9pY3Avc29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVkdWNlcnN9IGZyb20gJy4vc3RvcmUvcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0IHsgZWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvZWZmZWN0cy9pbmRleCc7XG5pbXBvcnQgeyBCb29rbWFya3NDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWRhY3Rpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi9yZWRhY3Rpb24vc2VydmljZXMvcmVkYWN0aW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IE11dGFibGVEaXZNb2R1bGUgfSBmcm9tICdtdXRhYmxlLWRpdic7XG5pbXBvcnQgeyBDb252ZXJ0aWJsZUNvbnRlbnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvY29udmVydGlibGUtY29udGVudC12aWV3ZXIvY29udmVydGlibGUtY29udGVudC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERvY3VtZW50Q29udmVyc2lvbkFwaVNlcnZpY2UgfSBmcm9tICcuL3ZpZXdlcnMvY29udmVydGlibGUtY29udGVudC12aWV3ZXIvZG9jdW1lbnQtY29udmVyc2lvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBJY3BQcmVzZW50ZXJTZXJ2aWNlIH0gZnJvbSAnLi9pY3AvaWNwLXByZXNlbnRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEljcEZvbGxvd2VyU2VydmljZSB9IGZyb20gJy4vaWNwL2ljcC1mb2xsb3dlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1BY3Rpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ljcC9jb25maXJtLWV4aXQvY29uZmlybS1hY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlTW9kdWxlIH0gZnJvbSAnYW5ndWxhci10cmVlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb29rbWFya0ljb25zQ29tcG9uZW50IH0gZnJvbSAnLi9ib29rbWFyay9jb21wb25lbnRzL2Jvb2ttYXJrLWljb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3RhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICcuL3ZpZXdlcnMvcm90YXRpb24tcGVyc2lzdC9yb3RhdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBSb3RhdGlvblBlcnNpc3REaXJlY3RpdmUgfSBmcm9tICcuL3ZpZXdlcnMvcm90YXRpb24tcGVyc2lzdC9yb3RhdGlvbi1wZXJzaXN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQYXJ0aWNpcGFudHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9pY3AvcGFydGljaXBhbnRzLWxpc3QvcGFydGljaXBhbnRzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge011bHRpbWVkaWFQbGF5ZXJDb21wb25lbnR9IGZyb20gJy4vdmlld2Vycy9tdWx0aW1lZGlhLXBsYXllci9tdWx0aW1lZGlhLXBsYXllci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgVG9vbGJhck1vZHVsZSxcbiAgICBBbm5vdGF0aW9uc01vZHVsZSxcbiAgICBUYWdJbnB1dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKCdtZWRpYS12aWV3ZXInLCByZWR1Y2VycyksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKGVmZmVjdHMpLFxuICAgIFRyZWVNb2R1bGUuZm9yUm9vdCgpLFxuICAgIE11dGFibGVEaXZNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUGRmVmlld2VyQ29tcG9uZW50LFxuICAgIFNpZGVCYXJDb21wb25lbnQsXG4gICAgQm9va21hcmtzQ29tcG9uZW50LFxuICAgIE91dGxpbmVJdGVtQ29tcG9uZW50LFxuICAgIEltYWdlVmlld2VyQ29tcG9uZW50LFxuICAgIFVuc3VwcG9ydGVkVmlld2VyQ29tcG9uZW50LFxuICAgIE11bHRpbWVkaWFQbGF5ZXJDb21wb25lbnQsXG4gICAgTWVkaWFWaWV3ZXJDb21wb25lbnQsXG4gICAgQ29udmVydGlibGVDb250ZW50Vmlld2VyQ29tcG9uZW50LFxuICAgIEdyYWJORHJhZ0RpcmVjdGl2ZSxcbiAgICBSb3RhdGlvblBlcnNpc3REaXJlY3RpdmUsXG4gICAgSGlnaGxpZ2h0Q3JlYXRlRGlyZWN0aXZlLFxuICAgIENvbmZpcm1BY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgUmVkYWN0aW9uQ29tcG9uZW50LCAvLyB0b2RvIG1hZGUgcHV0IHRoaXMgaW50byBtb2R1bGVcbiAgICBCb29rbWFya0ljb25zQ29tcG9uZW50LFxuICAgIFBhcnRpY2lwYW50c0xpc3RDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgUGRmVmlld2VyQ29tcG9uZW50LFxuICAgIEltYWdlVmlld2VyQ29tcG9uZW50LFxuICAgIFVuc3VwcG9ydGVkVmlld2VyQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFBkZkpzV3JhcHBlckZhY3RvcnksXG4gICAgQ29tbWVudFNlcnZpY2UsXG4gICAgUmVkYWN0aW9uQXBpU2VydmljZSxcbiAgICBJY3BTZXNzaW9uQXBpU2VydmljZSxcbiAgICBJY3BVcGRhdGVTZXJ2aWNlLFxuICAgIFNvY2tldFNlcnZpY2UsXG4gICAgSWNwU2VydmljZSxcbiAgICBJY3BQcmVzZW50ZXJTZXJ2aWNlLFxuICAgIEljcEZvbGxvd2VyU2VydmljZSxcbiAgICBSZWRhY3Rpb25BcGlTZXJ2aWNlLFxuICAgIERvY3VtZW50Q29udmVyc2lvbkFwaVNlcnZpY2UsXG4gICAgUm90YXRpb25BcGlTZXJ2aWNlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTWVkaWFWaWV3ZXJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNZWRpYVZpZXdlck1vZHVsZSB7IH1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL21lZGlhLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxF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LG1CQUFtQjtvQkFDbkIsNEJBQTRCO29CQUM1QixrQkFBa0I7aUJBQ25CO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7aUJBQ3JCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFBkZlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL3Vuc3VwcG9ydGVkLXZpZXdlci91bnN1cHBvcnRlZC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lZGlhVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tZWRpYS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0IHsgUGRmSnNXcmFwcGVyRmFjdG9yeSB9IGZyb20gJy4vdmlld2Vycy9wZGYtdmlld2VyL3BkZi1qcy9wZGYtanMtd3JhcHBlci5wcm92aWRlcic7XG5pbXBvcnQgeyBBbm5vdGF0aW9uc01vZHVsZSB9IGZyb20gJy4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMubW9kdWxlJztcbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9jb21tZW50LXNldC9jb21tZW50L2NvbW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHcmFiTkRyYWdEaXJlY3RpdmUgfSBmcm9tICcuL3ZpZXdlcnMvZ3JhYi1uLWRyYWcuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpZGVCYXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9zaWRlLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3V0bGluZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGV9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFJlZGFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcmVkYWN0aW9uL2NvbXBvbmVudHMvcmVkYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY3BTZXNzaW9uQXBpU2VydmljZSB9IGZyb20gJy4vaWNwL2ljcC1zZXNzaW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFVwZGF0ZVNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3AtdXBkYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwU2VydmljZSB9IGZyb20gJy4vaWNwL2ljcC5zZXJ2aWNlJztcbmltcG9ydCB7IFNvY2tldFNlcnZpY2UgfSBmcm9tICcuL2ljcC9zb2NrZXQuc2VydmljZSc7XG5pbXBvcnQgeyByZWR1Y2Vyc30gZnJvbSAnLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBlZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9lZmZlY3RzL2luZGV4JztcbmltcG9ydCB7IEJvb2ttYXJrc0NvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL2Jvb2ttYXJrcy9ib29rbWFya3MuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZGFjdGlvbkFwaVNlcnZpY2UgfSBmcm9tICcuL3JlZGFjdGlvbi9zZXJ2aWNlcy9yZWRhY3Rpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXV0YWJsZURpdk1vZHVsZSB9IGZyb20gJ211dGFibGUtZGl2JztcbmltcG9ydCB7IENvbnZlcnRpYmxlQ29udGVudFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9jb252ZXJ0aWJsZS1jb250ZW50LXZpZXdlci9jb252ZXJ0aWJsZS1jb250ZW50LXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jdW1lbnRDb252ZXJzaW9uQXBpU2VydmljZSB9IGZyb20gJy4vdmlld2Vycy9jb252ZXJ0aWJsZS1jb250ZW50LXZpZXdlci9kb2N1bWVudC1jb252ZXJzaW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFByZXNlbnRlclNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3AtcHJlc2VudGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwRm9sbG93ZXJTZXJ2aWNlIH0gZnJvbSAnLi9pY3AvaWNwLWZvbGxvd2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybUFjdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vaWNwL2NvbmZpcm0tZXhpdC9jb25maXJtLWFjdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVNb2R1bGUgfSBmcm9tICdAY2lyY2xvbi9hbmd1bGFyLXRyZWUtY29tcG9uZW50JztcbmltcG9ydCB7IEJvb2ttYXJrSWNvbnNDb21wb25lbnQgfSBmcm9tICcuL2Jvb2ttYXJrL2NvbXBvbmVudHMvYm9va21hcmstaWNvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFJvdGF0aW9uQXBpU2VydmljZSB9IGZyb20gJy4vdmlld2Vycy9yb3RhdGlvbi1wZXJzaXN0L3JvdGF0aW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdGF0aW9uUGVyc2lzdERpcmVjdGl2ZSB9IGZyb20gJy4vdmlld2Vycy9yb3RhdGlvbi1wZXJzaXN0L3JvdGF0aW9uLXBlcnNpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBhcnRpY2lwYW50c0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2ljcC9wYXJ0aWNpcGFudHMtbGlzdC9wYXJ0aWNpcGFudHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0Q3JlYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7TXVsdGltZWRpYVBsYXllckNvbXBvbmVudH0gZnJvbSAnLi92aWV3ZXJzL211bHRpbWVkaWEtcGxheWVyL211bHRpbWVkaWEtcGxheWVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIEFubm90YXRpb25zTW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ21lZGlhLXZpZXdlcicsIHJlZHVjZXJzKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoZWZmZWN0cyksXG4gICAgVHJlZU1vZHVsZSxcbiAgICBNdXRhYmxlRGl2TW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFBkZlZpZXdlckNvbXBvbmVudCxcbiAgICBTaWRlQmFyQ29tcG9uZW50LFxuICAgIEJvb2ttYXJrc0NvbXBvbmVudCxcbiAgICBPdXRsaW5lSXRlbUNvbXBvbmVudCxcbiAgICBJbWFnZVZpZXdlckNvbXBvbmVudCxcbiAgICBVbnN1cHBvcnRlZFZpZXdlckNvbXBvbmVudCxcbiAgICBNdWx0aW1lZGlhUGxheWVyQ29tcG9uZW50LFxuICAgIE1lZGlhVmlld2VyQ29tcG9uZW50LFxuICAgIENvbnZlcnRpYmxlQ29udGVudFZpZXdlckNvbXBvbmVudCxcbiAgICBHcmFiTkRyYWdEaXJlY3RpdmUsXG4gICAgUm90YXRpb25QZXJzaXN0RGlyZWN0aXZlLFxuICAgIEhpZ2hsaWdodENyZWF0ZURpcmVjdGl2ZSxcbiAgICBDb25maXJtQWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIFJlZGFjdGlvbkNvbXBvbmVudCwgLy8gdG9kbyBtYWRlIHB1dCB0aGlzIGludG8gbW9kdWxlXG4gICAgQm9va21hcmtJY29uc0NvbXBvbmVudCxcbiAgICBQYXJ0aWNpcGFudHNMaXN0Q29tcG9uZW50XG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIFBkZlZpZXdlckNvbXBvbmVudCxcbiAgICBJbWFnZVZpZXdlckNvbXBvbmVudCxcbiAgICBVbnN1cHBvcnRlZFZpZXdlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBQZGZKc1dyYXBwZXJGYWN0b3J5LFxuICAgIENvbW1lbnRTZXJ2aWNlLFxuICAgIFJlZGFjdGlvbkFwaVNlcnZpY2UsXG4gICAgSWNwU2Vzc2lvbkFwaVNlcnZpY2UsXG4gICAgSWNwVXBkYXRlU2VydmljZSxcbiAgICBTb2NrZXRTZXJ2aWNlLFxuICAgIEljcFNlcnZpY2UsXG4gICAgSWNwUHJlc2VudGVyU2VydmljZSxcbiAgICBJY3BGb2xsb3dlclNlcnZpY2UsXG4gICAgUmVkYWN0aW9uQXBpU2VydmljZSxcbiAgICBEb2N1bWVudENvbnZlcnNpb25BcGlTZXJ2aWNlLFxuICAgIFJvdGF0aW9uQXBpU2VydmljZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1lZGlhVmlld2VyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVkaWFWaWV3ZXJNb2R1bGUgeyB9XG4iXX0=
@@ -1,27 +1,11 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  import { Injectable } from '@angular/core';
6
2
  import * as i0 from "@angular/core";
7
3
  export class PrintService {
8
- /**
9
- * @param {?} url
10
- * @return {?}
11
- */
12
4
  printDocumentNatively(url) {
13
- /** @type {?} */
14
5
  const printWindow = window.open(url);
15
6
  printWindow.print();
16
7
  }
17
- /**
18
- * @param {?} element
19
- * @param {?} width
20
- * @param {?} height
21
- * @return {?}
22
- */
23
8
  printElementNatively(element, width, height) {
24
- /** @type {?} */
25
9
  const printWindow = window.open('', '', `left=0,top=0,width=${width},height=${height},toolbar=0,scrollbars=0,status=0`);
26
10
  printWindow.document.write(element.innerHTML);
27
11
  printWindow.document.close();
@@ -30,10 +14,10 @@ export class PrintService {
30
14
  printWindow.close();
31
15
  }
32
16
  }
17
+ /** @nocollapse */ PrintService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PrintService_Factory() { return new PrintService(); }, token: PrintService, providedIn: "root" });
33
18
  PrintService.decorators = [
34
19
  { type: Injectable, args: [{
35
20
  providedIn: 'root'
36
21
  },] }
37
22
  ];
38
- /** @nocollapse */ PrintService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PrintService_Factory() { return new PrintService(); }, token: PrintService, providedIn: "root" });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvcHJpbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7Ozs7O0lBRXZCLHFCQUFxQixDQUFDLEdBQVc7O2NBQ3pCLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNwQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7Ozs7OztJQUVELG9CQUFvQixDQUFDLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE1BQWM7O2NBQ2hFLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEtBQUssV0FBVyxNQUFNLGtDQUFrQyxDQUFDO1FBRXZILFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7OztZQWxCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByaW50U2VydmljZSB7XG5cbiAgcHJpbnREb2N1bWVudE5hdGl2ZWx5KHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcHJpbnRXaW5kb3cgPSB3aW5kb3cub3Blbih1cmwpO1xuICAgIHByaW50V2luZG93LnByaW50KCk7XG4gIH1cblxuICBwcmludEVsZW1lbnROYXRpdmVseShlbGVtZW50OiBIVE1MRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKCcnLCAnJywgYGxlZnQ9MCx0b3A9MCx3aWR0aD0ke3dpZHRofSxoZWlnaHQ9JHtoZWlnaHR9LHRvb2xiYXI9MCxzY3JvbGxiYXJzPTAsc3RhdHVzPTBgKTtcblxuICAgIHByaW50V2luZG93LmRvY3VtZW50LndyaXRlKGVsZW1lbnQuaW5uZXJIVE1MKTtcbiAgICBwcmludFdpbmRvdy5kb2N1bWVudC5jbG9zZSgpO1xuICAgIHByaW50V2luZG93LmZvY3VzKCk7XG4gICAgcHJpbnRXaW5kb3cucHJpbnQoKTtcbiAgICBwcmludFdpbmRvdy5jbG9zZSgpO1xuICB9XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ByaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIscUJBQXFCLENBQUMsR0FBVztRQUMvQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUN0RSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEtBQUssV0FBVyxNQUFNLGtDQUFrQyxDQUFDLENBQUM7UUFFeEgsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7OztZQWxCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByaW50U2VydmljZSB7XG5cbiAgcHJpbnREb2N1bWVudE5hdGl2ZWx5KHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcHJpbnRXaW5kb3cgPSB3aW5kb3cub3Blbih1cmwpO1xuICAgIHByaW50V2luZG93LnByaW50KCk7XG4gIH1cblxuICBwcmludEVsZW1lbnROYXRpdmVseShlbGVtZW50OiBIVE1MRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKCcnLCAnJywgYGxlZnQ9MCx0b3A9MCx3aWR0aD0ke3dpZHRofSxoZWlnaHQ9JHtoZWlnaHR9LHRvb2xiYXI9MCxzY3JvbGxiYXJzPTAsc3RhdHVzPTBgKTtcblxuICAgIHByaW50V2luZG93LmRvY3VtZW50LndyaXRlKGVsZW1lbnQuaW5uZXJIVE1MKTtcbiAgICBwcmludFdpbmRvdy5kb2N1bWVudC5jbG9zZSgpO1xuICAgIHByaW50V2luZG93LmZvY3VzKCk7XG4gICAgcHJpbnRXaW5kb3cucHJpbnQoKTtcbiAgICBwcmludFdpbmRvdy5jbG9zZSgpO1xuICB9XG59XG4iXX0=