@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 { __decorate, __metadata } from "tslib";
6
2
  import { Injectable } from '@angular/core';
7
3
  import { Actions, Effect, ofType } from '@ngrx/effects';
@@ -10,132 +6,47 @@ import { of } from 'rxjs';
10
6
  import { RedactionApiService } from '../../redaction/services/redaction-api.service';
11
7
  import * as redactionActions from '../actions/redaction.actions';
12
8
  export class RedactionEffects {
13
- /**
14
- * @param {?} actions$
15
- * @param {?} redactionApiService
16
- */
17
9
  constructor(actions$, redactionApiService) {
18
10
  this.actions$ = actions$;
19
11
  this.redactionApiService = redactionApiService;
20
- this.loadRedactions$ = this.actions$.pipe(ofType(redactionActions.LOAD_REDACTIONS), map((/**
21
- * @param {?} action
22
- * @return {?}
23
- */
24
- (action) => action.payload)), switchMap((/**
25
- * @param {?} documentId
26
- * @return {?}
27
- */
28
- (documentId) => {
29
- return this.redactionApiService.getRedactions(documentId).pipe(map((/**
30
- * @param {?} resp
31
- * @return {?}
32
- */
33
- resp => {
12
+ this.loadRedactions$ = this.actions$.pipe(ofType(redactionActions.LOAD_REDACTIONS), map((action) => action.payload), switchMap((documentId) => {
13
+ return this.redactionApiService.getRedactions(documentId).pipe(map(resp => {
34
14
  return new redactionActions.LoadRedactionSuccess(resp.body);
35
- })), catchError((/**
36
- * @param {?} error
37
- * @return {?}
38
- */
39
- error => {
15
+ }), catchError(error => {
40
16
  return of(new redactionActions.LoadRedactionFailure(error));
41
- })));
42
- })));
43
- this.saveRedaction$ = this.actions$.pipe(ofType(redactionActions.SAVE_REDACTION), map((/**
44
- * @param {?} action
45
- * @return {?}
46
- */
47
- (action) => action.payload)), exhaustMap((/**
48
- * @param {?} redaction
49
- * @return {?}
50
- */
51
- (redaction) => {
52
- return this.redactionApiService.saveRedaction(redaction).pipe(map((/**
53
- * @param {?} resp
54
- * @return {?}
55
- */
56
- resp => {
17
+ }));
18
+ }));
19
+ this.saveRedaction$ = this.actions$.pipe(ofType(redactionActions.SAVE_REDACTION), map((action) => action.payload), exhaustMap((redaction) => {
20
+ return this.redactionApiService.saveRedaction(redaction).pipe(map(resp => {
57
21
  return new redactionActions.SaveRedactionSuccess(resp);
58
- })), catchError((/**
59
- * @param {?} error
60
- * @return {?}
61
- */
62
- error => {
22
+ }), catchError(error => {
63
23
  return of(new redactionActions.SaveRedactionFailure(error));
64
- })));
65
- })));
66
- this.deleteRedaction$ = this.actions$.pipe(ofType(redactionActions.DELETE_REDACTION), map((/**
67
- * @param {?} action
68
- * @return {?}
69
- */
70
- (action) => action.payload)), exhaustMap((/**
71
- * @param {?} redactionPayload
72
- * @return {?}
73
- */
74
- (redactionPayload) => {
75
- return this.redactionApiService.deleteRedaction(redactionPayload).pipe(map((/**
76
- * @return {?}
77
- */
78
- () => {
24
+ }));
25
+ }));
26
+ this.deleteRedaction$ = this.actions$.pipe(ofType(redactionActions.DELETE_REDACTION), map((action) => action.payload), exhaustMap((redactionPayload) => {
27
+ return this.redactionApiService.deleteRedaction(redactionPayload).pipe(map(() => {
79
28
  return new redactionActions.DeleteRedactionSuccess(redactionPayload);
80
- })), catchError((/**
81
- * @param {?} error
82
- * @return {?}
83
- */
84
- error => {
29
+ }), catchError(error => {
85
30
  return of(new redactionActions.DeleteRedactionFailure(error));
86
- })));
87
- })));
88
- this.redact$ = this.actions$.pipe(ofType(redactionActions.REDACT), map((/**
89
- * @param {?} action
90
- * @return {?}
91
- */
92
- (action) => action.payload)), exhaustMap((/**
93
- * @param {?} redactionPayload
94
- * @return {?}
95
- */
96
- (redactionPayload) => {
97
- return this.redactionApiService.redact(redactionPayload).pipe(map((/**
98
- * @param {?} result
99
- * @return {?}
100
- */
101
- (result) => {
102
- /** @type {?} */
31
+ }));
32
+ }));
33
+ this.redact$ = this.actions$.pipe(ofType(redactionActions.REDACT), map((action) => action.payload), exhaustMap((redactionPayload) => {
34
+ return this.redactionApiService.redact(redactionPayload).pipe(map((result) => {
103
35
  const header = result.headers.get('content-disposition').split('filename=');
104
- /** @type {?} */
105
36
  const filename = header.length > 1 ? header[1].replace(/"/g, '')
106
37
  : `redacted-document-${redactionPayload.documentId}`;
107
38
  return new redactionActions.RedactSuccess({ blob: result.body, filename });
108
- })), catchError((/**
109
- * @param {?} error
110
- * @return {?}
111
- */
112
- error => {
39
+ }), catchError(error => {
113
40
  return of(new redactionActions.RedactFailure(error));
114
- })));
115
- })));
116
- this.unmarkAll$ = this.actions$.pipe(ofType(redactionActions.UNMARK_ALL), map((/**
117
- * @param {?} action
118
- * @return {?}
119
- */
120
- (action) => action.payload)), exhaustMap((/**
121
- * @param {?} documentId
122
- * @return {?}
123
- */
124
- (documentId) => {
125
- return this.redactionApiService.deleteAllMarkers(documentId).pipe(map((/**
126
- * @param {?} result
127
- * @return {?}
128
- */
129
- result => {
41
+ }));
42
+ }));
43
+ this.unmarkAll$ = this.actions$.pipe(ofType(redactionActions.UNMARK_ALL), map((action) => action.payload), exhaustMap((documentId) => {
44
+ return this.redactionApiService.deleteAllMarkers(documentId).pipe(map(result => {
130
45
  return new redactionActions.UnmarkAllSuccess();
131
- })), catchError((/**
132
- * @param {?} error
133
- * @return {?}
134
- */
135
- error => {
46
+ }), catchError(error => {
136
47
  return of(new redactionActions.DeleteRedactionFailure(error));
137
- })));
138
- })));
48
+ }));
49
+ }));
139
50
  }
140
51
  }
141
52
  RedactionEffects.decorators = [
@@ -166,26 +77,4 @@ __decorate([
166
77
  Effect(),
167
78
  __metadata("design:type", Object)
168
79
  ], RedactionEffects.prototype, "unmarkAll$", void 0);
169
- if (false) {
170
- /** @type {?} */
171
- RedactionEffects.prototype.loadRedactions$;
172
- /** @type {?} */
173
- RedactionEffects.prototype.saveRedaction$;
174
- /** @type {?} */
175
- RedactionEffects.prototype.deleteRedaction$;
176
- /** @type {?} */
177
- RedactionEffects.prototype.redact$;
178
- /** @type {?} */
179
- RedactionEffects.prototype.unmarkAll$;
180
- /**
181
- * @type {?}
182
- * @private
183
- */
184
- RedactionEffects.prototype.actions$;
185
- /**
186
- * @type {?}
187
- * @private
188
- */
189
- RedactionEffects.prototype.redactionApiService;
190
- }
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLmVmZmVjdHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvbWVkaWEtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL3N0b3JlL2VmZmVjdHMvcmVkYWN0aW9uLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEtBQUssZ0JBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFJakUsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUFDM0IsWUFDVSxRQUFpQixFQUNqQixtQkFBd0M7UUFEeEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSWxELG9CQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2xDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsRUFDeEMsR0FBRzs7OztRQUFDLENBQUMsTUFBdUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQyxFQUNoRSxTQUFTOzs7O1FBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM1RCxHQUFHOzs7O1lBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxJQUFJLGdCQUFnQixDQUFDLG9CQUFvQixDQUFD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QVlNOztJQUVOLDBDQVlNOztJQUVOLDRDQVlNOztJQUVOLG1DQWVNOztJQUVOLHNDQVlNOzs7OztJQTNFSixvQ0FBeUI7Ozs7O0lBQ3pCLCtDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIEVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBleGhhdXN0TWFwLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZWRhY3Rpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgKiBhcyByZWRhY3Rpb25BY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvcmVkYWN0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkYWN0aW9uRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSByZWRhY3Rpb25BcGlTZXJ2aWNlOiBSZWRhY3Rpb25BcGlTZXJ2aWNlLFxuICApIHsgfVxuXG4gIEBFZmZlY3QoKVxuICBsb2FkUmVkYWN0aW9ucyQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuTE9BRF9SRURBQ1RJT05TKSxcbiAgICBtYXAoKGFjdGlvbjogcmVkYWN0aW9uQWN0aW9ucy5Mb2FkUmVkYWN0aW9ucykgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIHN3aXRjaE1hcCgoZG9jdW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5nZXRSZWRhY3Rpb25zKGRvY3VtZW50SWQpLnBpcGUoXG4gICAgICAgIG1hcChyZXNwID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IHJlZGFjdGlvbkFjdGlvbnMuTG9hZFJlZGFjdGlvblN1Y2Nlc3MocmVzcC5ib2R5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5Mb2FkUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICBzYXZlUmVkYWN0aW9uJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUocmVkYWN0aW9uQWN0aW9ucy5TQVZFX1JFREFDVElPTiksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuU2F2ZVJlZGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGV4aGF1c3RNYXAoKHJlZGFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5zYXZlUmVkYWN0aW9uKHJlZGFjdGlvbikucGlwZShcbiAgICAgICAgbWFwKHJlc3AgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uU3VjY2VzcyhyZXNwKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICBkZWxldGVSZWRhY3Rpb24kID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShyZWRhY3Rpb25BY3Rpb25zLkRFTEVURV9SRURBQ1RJT04pLFxuICAgIG1hcCgoYWN0aW9uOiByZWRhY3Rpb25BY3Rpb25zLkRlbGV0ZVJlZGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGV4aGF1c3RNYXAoKHJlZGFjdGlvblBheWxvYWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnJlZGFjdGlvbkFwaVNlcnZpY2UuZGVsZXRlUmVkYWN0aW9uKHJlZGFjdGlvblBheWxvYWQpLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyByZWRhY3Rpb25BY3Rpb25zLkRlbGV0ZVJlZGFjdGlvblN1Y2Nlc3MocmVkYWN0aW9uUGF5bG9hZCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICByZWRhY3QkID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShyZWRhY3Rpb25BY3Rpb25zLlJFREFDVCksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuUmVkYWN0KSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgocmVkYWN0aW9uUGF5bG9hZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5yZWRhY3QocmVkYWN0aW9uUGF5bG9hZCkucGlwZShcbiAgICAgICAgbWFwKChyZXN1bHQ6IEh0dHBSZXNwb25zZTxCbG9iPikgPT4ge1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3VsdC5oZWFkZXJzLmdldCgnY29udGVudC1kaXNwb3NpdGlvbicpLnNwbGl0KCdmaWxlbmFtZT0nKTtcbiAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGhlYWRlci5sZW5ndGggPiAxID8gaGVhZGVyWzFdLnJlcGxhY2UoL1wiL2csICcnKVxuICAgICAgICAgICAgOiBgcmVkYWN0ZWQtZG9jdW1lbnQtJHtyZWRhY3Rpb25QYXlsb2FkLmRvY3VtZW50SWR9YDtcbiAgICAgICAgICByZXR1cm4gbmV3IHJlZGFjdGlvbkFjdGlvbnMuUmVkYWN0U3VjY2Vzcyh7IGJsb2I6IHJlc3VsdC5ib2R5LCBmaWxlbmFtZSB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5SZWRhY3RGYWlsdXJlKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSk7XG5cbiAgQEVmZmVjdCgpXG4gIHVubWFya0FsbCQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuVU5NQVJLX0FMTCksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuVW5tYXJrQWxsKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgoZG9jdW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5kZWxldGVBbGxNYXJrZXJzKGRvY3VtZW50SWQpLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5Vbm1hcmtBbGxTdWNjZXNzKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xufVxuXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3JlZGFjdGlvbi5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEtBQUssZ0JBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFJakUsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLFFBQWlCLEVBQ2pCLG1CQUF3QztRQUR4QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFJbEQsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUN4QyxHQUFHLENBQUMsQ0FBQyxNQUF1QyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2hFLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDVCxPQUFPLElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLENB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIEVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBleGhhdXN0TWFwLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZWRhY3Rpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgKiBhcyByZWRhY3Rpb25BY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvcmVkYWN0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkYWN0aW9uRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSByZWRhY3Rpb25BcGlTZXJ2aWNlOiBSZWRhY3Rpb25BcGlTZXJ2aWNlLFxuICApIHsgfVxuXG4gIEBFZmZlY3QoKVxuICBsb2FkUmVkYWN0aW9ucyQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuTE9BRF9SRURBQ1RJT05TKSxcbiAgICBtYXAoKGFjdGlvbjogcmVkYWN0aW9uQWN0aW9ucy5Mb2FkUmVkYWN0aW9ucykgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIHN3aXRjaE1hcCgoZG9jdW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5nZXRSZWRhY3Rpb25zKGRvY3VtZW50SWQpLnBpcGUoXG4gICAgICAgIG1hcChyZXNwID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IHJlZGFjdGlvbkFjdGlvbnMuTG9hZFJlZGFjdGlvblN1Y2Nlc3MocmVzcC5ib2R5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5Mb2FkUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICBzYXZlUmVkYWN0aW9uJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUocmVkYWN0aW9uQWN0aW9ucy5TQVZFX1JFREFDVElPTiksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuU2F2ZVJlZGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGV4aGF1c3RNYXAoKHJlZGFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5zYXZlUmVkYWN0aW9uKHJlZGFjdGlvbikucGlwZShcbiAgICAgICAgbWFwKHJlc3AgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uU3VjY2VzcyhyZXNwKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICBkZWxldGVSZWRhY3Rpb24kID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShyZWRhY3Rpb25BY3Rpb25zLkRFTEVURV9SRURBQ1RJT04pLFxuICAgIG1hcCgoYWN0aW9uOiByZWRhY3Rpb25BY3Rpb25zLkRlbGV0ZVJlZGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGV4aGF1c3RNYXAoKHJlZGFjdGlvblBheWxvYWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnJlZGFjdGlvbkFwaVNlcnZpY2UuZGVsZXRlUmVkYWN0aW9uKHJlZGFjdGlvblBheWxvYWQpLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyByZWRhY3Rpb25BY3Rpb25zLkRlbGV0ZVJlZGFjdGlvblN1Y2Nlc3MocmVkYWN0aW9uUGF5bG9hZCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICByZWRhY3QkID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShyZWRhY3Rpb25BY3Rpb25zLlJFREFDVCksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuUmVkYWN0KSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgocmVkYWN0aW9uUGF5bG9hZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5yZWRhY3QocmVkYWN0aW9uUGF5bG9hZCkucGlwZShcbiAgICAgICAgbWFwKChyZXN1bHQ6IEh0dHBSZXNwb25zZTxCbG9iPikgPT4ge1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3VsdC5oZWFkZXJzLmdldCgnY29udGVudC1kaXNwb3NpdGlvbicpLnNwbGl0KCdmaWxlbmFtZT0nKTtcbiAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGhlYWRlci5sZW5ndGggPiAxID8gaGVhZGVyWzFdLnJlcGxhY2UoL1wiL2csICcnKVxuICAgICAgICAgICAgOiBgcmVkYWN0ZWQtZG9jdW1lbnQtJHtyZWRhY3Rpb25QYXlsb2FkLmRvY3VtZW50SWR9YDtcbiAgICAgICAgICByZXR1cm4gbmV3IHJlZGFjdGlvbkFjdGlvbnMuUmVkYWN0U3VjY2Vzcyh7IGJsb2I6IHJlc3VsdC5ib2R5LCBmaWxlbmFtZSB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5SZWRhY3RGYWlsdXJlKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSk7XG5cbiAgQEVmZmVjdCgpXG4gIHVubWFya0FsbCQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuVU5NQVJLX0FMTCksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuVW5tYXJrQWxsKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgoZG9jdW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5kZWxldGVBbGxNYXJrZXJzKGRvY3VtZW50SWQpLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5Vbm1hcmtBbGxTdWNjZXNzKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xufVxuXG4iXX0=
@@ -1,57 +1,2 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @record
7
- */
8
- export function Bookmark() { }
9
- if (false) {
10
- /** @type {?} */
11
- Bookmark.prototype.id;
12
- /** @type {?} */
13
- Bookmark.prototype.documentId;
14
- /** @type {?} */
15
- Bookmark.prototype.name;
16
- /** @type {?} */
17
- Bookmark.prototype.pageNumber;
18
- /** @type {?} */
19
- Bookmark.prototype.xCoordinate;
20
- /** @type {?} */
21
- Bookmark.prototype.yCoordinate;
22
- /** @type {?} */
23
- Bookmark.prototype.zoom;
24
- /** @type {?} */
25
- Bookmark.prototype.parent;
26
- /** @type {?} */
27
- Bookmark.prototype.previous;
28
- /** @type {?} */
29
- Bookmark.prototype.children;
30
- /** @type {?} */
31
- Bookmark.prototype.index;
32
- }
33
- /**
34
- * @record
35
- */
36
- export function BookmarkNode() { }
37
- if (false) {
38
- /** @type {?} */
39
- BookmarkNode.prototype.id;
40
- /** @type {?} */
41
- BookmarkNode.prototype.name;
42
- /** @type {?} */
43
- BookmarkNode.prototype.children;
44
- }
45
- /**
46
- * @record
47
- */
48
- export function BookmarkMoveEvent() { }
49
- if (false) {
50
- /** @type {?} */
51
- BookmarkMoveEvent.prototype.node;
52
- /** @type {?} */
53
- BookmarkMoveEvent.prototype.from;
54
- /** @type {?} */
55
- BookmarkMoveEvent.prototype.to;
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvc3RvcmUvbW9kZWxzL2Jvb2ttYXJrcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLDhCQVlDOzs7SUFYQyxzQkFBVzs7SUFDWCw4QkFBbUI7O0lBQ25CLHdCQUFhOztJQUNiLDhCQUFtQjs7SUFDbkIsK0JBQW9COztJQUNwQiwrQkFBb0I7O0lBQ3BCLHdCQUFhOztJQUNiLDBCQUFlOztJQUNmLDRCQUFpQjs7SUFDakIsNEJBQXFCOztJQUNyQix5QkFBYzs7Ozs7QUFHaEIsa0NBSUM7OztJQUhDLDBCQUFXOztJQUNYLDRCQUFhOztJQUNiLGdDQUFtQjs7Ozs7QUFHckIsdUNBV0M7OztJQVZDLGlDQUFlOztJQUNmLGlDQUdFOztJQUNGLCtCQUlFIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCb29rbWFyayB7XG4gIGlkOiBzdHJpbmc7XG4gIGRvY3VtZW50SWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwYWdlTnVtYmVyOiBudW1iZXI7XG4gIHhDb29yZGluYXRlOiBudW1iZXI7XG4gIHlDb29yZGluYXRlOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgcGFyZW50OiBzdHJpbmc7XG4gIHByZXZpb3VzOiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBCb29rbWFya1tdO1xuICBpbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2ttYXJrTm9kZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgY2hpbGRyZW46IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2ttYXJrTW92ZUV2ZW50IHtcbiAgbm9kZTogQm9va21hcms7XG4gIGZyb206IHtcbiAgICBwYXJlbnQ6IHN0cmluZyxcbiAgICBuZXh0OiBCb29rbWFya1xuICB9O1xuICB0bzoge1xuICAgIHBhcmVudDogc3RyaW5nLFxuICAgIHByZXZpb3VzOiBzdHJpbmcsXG4gICAgbmV4dDogQm9va21hcmtcbiAgfTtcbn1cbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL21vZGVscy9ib29rbWFya3MuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJvb2ttYXJrIHtcbiAgaWQ6IHN0cmluZztcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhZ2VOdW1iZXI6IG51bWJlcjtcbiAgeENvb3JkaW5hdGU6IG51bWJlcjtcbiAgeUNvb3JkaW5hdGU6IG51bWJlcjtcbiAgem9vbTogbnVtYmVyO1xuICBwYXJlbnQ6IHN0cmluZztcbiAgcHJldmlvdXM6IHN0cmluZztcbiAgY2hpbGRyZW46IEJvb2ttYXJrW107XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9va21hcmtOb2RlIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjaGlsZHJlbjogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9va21hcmtNb3ZlRXZlbnQge1xuICBub2RlOiBCb29rbWFyaztcbiAgZnJvbToge1xuICAgIHBhcmVudDogc3RyaW5nLFxuICAgIG5leHQ6IEJvb2ttYXJrXG4gIH07XG4gIHRvOiB7XG4gICAgcGFyZW50OiBzdHJpbmcsXG4gICAgcHJldmlvdXM6IHN0cmluZyxcbiAgICBuZXh0OiBCb29rbWFya1xuICB9O1xufVxuIl19
@@ -1,17 +1,2 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @record
7
- */
8
- export function Filters() { }
9
- if (false) {
10
- /** @type {?|undefined} */
11
- Filters.prototype.tagFilters;
12
- /** @type {?|undefined} */
13
- Filters.prototype.dateRangeFrom;
14
- /** @type {?|undefined} */
15
- Filters.prototype.dateRangeTo;
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvbWVkaWEtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL3N0b3JlL21vZGVscy9maWx0ZXJzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsNkJBSUM7OztJQUhDLDZCQUFvQzs7SUFDcEMsZ0NBQThCOztJQUM5Qiw4QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZpbHRlcnMge1xuICB0YWdGaWx0ZXJzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgZGF0ZVJhbmdlRnJvbT86IG51bWJlciB8IG51bGw7XG4gIGRhdGVSYW5nZVRvPzogbnVtYmVyIHwgbnVsbDtcbn1cbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9tb2RlbHMvZmlsdGVycy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVycyB7XG4gIHRhZ0ZpbHRlcnM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICBkYXRlUmFuZ2VGcm9tPzogbnVtYmVyIHwgbnVsbDtcbiAgZGF0ZVJhbmdlVG8/OiBudW1iZXIgfCBudWxsO1xufVxuIl19
@@ -1,35 +1,6 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
1
  import uuid from 'uuid/v4';
6
2
  import * as fromAnnotations from '../actions/annotation.actions';
7
3
  import { StoreUtils } from '../store-utils';
8
- /**
9
- * @record
10
- */
11
- export function AnnotationSetState() { }
12
- if (false) {
13
- /** @type {?} */
14
- AnnotationSetState.prototype.annotationSet;
15
- /** @type {?} */
16
- AnnotationSetState.prototype.annotationEntities;
17
- /** @type {?} */
18
- AnnotationSetState.prototype.annotationPageEntities;
19
- /** @type {?} */
20
- AnnotationSetState.prototype.commentEntities;
21
- /** @type {?} */
22
- AnnotationSetState.prototype.selectedAnnotation;
23
- /** @type {?} */
24
- AnnotationSetState.prototype.commentSearchQueries;
25
- /** @type {?} */
26
- AnnotationSetState.prototype.commentSummaryFilters;
27
- /** @type {?} */
28
- AnnotationSetState.prototype.loaded;
29
- /** @type {?} */
30
- AnnotationSetState.prototype.loading;
31
- }
32
- /** @type {?} */
33
4
  export const initialState = {
34
5
  annotationSet: {},
35
6
  annotationEntities: {},
@@ -41,27 +12,17 @@ export const initialState = {
41
12
  loading: false,
42
13
  loaded: false,
43
14
  };
44
- /**
45
- * @param {?=} state
46
- * @param {?=} action
47
- * @return {?}
48
- */
49
15
  export function reducer(state = initialState, action) {
50
16
  switch (action.type) {
51
17
  case fromAnnotations.LOAD_ANNOTATION_SET: {
52
- /** @type {?} */
53
18
  const annotationSet = Object.assign(Object.assign({}, state.annotationSet), { documentId: action.payload });
54
19
  return Object.assign(Object.assign({}, initialState), { annotationSet, loading: true });
55
20
  }
56
21
  case fromAnnotations.LOAD_ANNOTATION_SET_SUCCESS:
57
22
  case fromAnnotations.LOAD_ANNOTATION_SET_FAIL: {
58
- /** @type {?} */
59
23
  const annotationSet = action.payload.status === 200 ? action.payload.body : Object.assign(Object.assign({}, state.annotationSet), { annotations: [], id: uuid() });
60
- /** @type {?} */
61
24
  const annotationEntities = StoreUtils.generateAnnotationEntities(annotationSet.annotations);
62
- /** @type {?} */
63
25
  const annotationPageEntities = StoreUtils.groupByKeyEntities(annotationSet.annotations, 'page');
64
- /** @type {?} */
65
26
  const commentEntities = StoreUtils.generateCommentsEntities(annotationSet.annotations);
66
27
  return Object.assign(Object.assign({}, state), { annotationSet,
67
28
  annotationEntities,
@@ -69,23 +30,12 @@ export function reducer(state = initialState, action) {
69
30
  commentEntities, loading: false, loaded: true });
70
31
  }
71
32
  case fromAnnotations.SAVE_ANNOTATION_SUCCESS: {
72
- /** @type {?} */
73
33
  const anno = action.payload;
74
- /** @type {?} */
75
34
  const annEntities = Object.assign(Object.assign({}, state.annotationEntities), { [anno.id]: anno });
76
- /** @type {?} */
77
- const annotArray = Object.keys(annEntities).map((/**
78
- * @param {?} key
79
- * @return {?}
80
- */
81
- key => annEntities[key]));
82
- /** @type {?} */
35
+ const annotArray = Object.keys(annEntities).map(key => annEntities[key]);
83
36
  const annotationEntities = StoreUtils.generateAnnotationEntities(annotArray);
84
- /** @type {?} */
85
37
  const annotationPageEntities = StoreUtils.groupByKeyEntities(annotArray, 'page');
86
- /** @type {?} */
87
38
  const commentEntities = StoreUtils.generateCommentsEntities(annotArray);
88
- /** @type {?} */
89
39
  const selectedAnnotation = Object.assign(Object.assign({}, state.selectedAnnotation), { annotationId: anno.id, editable: false });
90
40
  return Object.assign(Object.assign({}, state), { annotationEntities,
91
41
  annotationPageEntities,
@@ -93,24 +43,14 @@ export function reducer(state = initialState, action) {
93
43
  selectedAnnotation, loading: false, loaded: true });
94
44
  }
95
45
  case fromAnnotations.DELETE_ANNOTATION_SUCCESS: {
96
- /** @type {?} */
97
46
  const id = action.payload;
98
- /** @type {?} */
99
47
  const page = state.annotationEntities[id].page;
100
- /** @type {?} */
101
48
  const annotationEntities = Object.assign({}, state.annotationEntities);
102
49
  delete annotationEntities[id];
103
- /** @type {?} */
104
50
  const pageAnnotationsRemoved = [
105
- ...state.annotationPageEntities[page].filter((/**
106
- * @param {?} anno
107
- * @return {?}
108
- */
109
- anno => anno.id !== id))
51
+ ...state.annotationPageEntities[page].filter(anno => anno.id !== id)
110
52
  ];
111
- /** @type {?} */
112
53
  const annotationPageEntities = Object.assign(Object.assign({}, state.annotationPageEntities), { [page]: pageAnnotationsRemoved });
113
- /** @type {?} */
114
54
  const commentEntities = Object.assign({}, state.commentEntities);
115
55
  if (state.commentEntities[id]) {
116
56
  delete commentEntities[id];
@@ -120,59 +60,39 @@ export function reducer(state = initialState, action) {
120
60
  commentEntities });
121
61
  }
122
62
  case fromAnnotations.ADD_OR_EDIT_COMMENT: {
123
- /** @type {?} */
124
63
  const comment = {
125
64
  [action.payload.annotationId]: action.payload
126
65
  };
127
- /** @type {?} */
128
66
  const comments = Object.assign(Object.assign({}, state.commentEntities), comment);
129
67
  return Object.assign(Object.assign({}, state), { commentEntities: comments });
130
68
  }
131
69
  case fromAnnotations.SELECT_ANNOTATION: {
132
- /** @type {?} */
133
70
  const payload = action.payload;
134
- /** @type {?} */
135
71
  const commentEntity = Object.assign(Object.assign({}, state.commentEntities[payload.annotationId]), { editable: payload.editable, selected: payload.selected });
136
- /** @type {?} */
137
72
  const resetCommentEntSelect = StoreUtils.resetCommentEntSelect(Object.assign({}, state.commentEntities));
138
- /** @type {?} */
139
73
  const commentEntities = payload.annotationId && state.commentEntities[payload.annotationId] ? Object.assign(Object.assign({}, resetCommentEntSelect), { [payload.annotationId]: commentEntity }) : Object.assign({}, resetCommentEntSelect);
140
74
  return Object.assign(Object.assign({}, state), { commentEntities, selectedAnnotation: action.payload });
141
75
  }
142
76
  case fromAnnotations.SEARCH_COMMENT: {
143
- /** @type {?} */
144
77
  const commentSearchQueries = Object.assign(Object.assign({}, state.commentSearchQueries), { commentSearch: action.payload });
145
- /** @type {?} */
146
78
  const commentEntities = StoreUtils.resetCommentEntSelect(Object.assign({}, state.commentEntities));
147
79
  return Object.assign(Object.assign({}, state), { commentEntities,
148
80
  commentSearchQueries });
149
81
  }
150
82
  case fromAnnotations.APPLY_COMMENT_SUMMARY_FILTER: {
151
- /** @type {?} */
152
83
  const payload = action.payload;
153
- /** @type {?} */
154
- const hasTagFilter = (/**
155
- * @return {?}
156
- */
157
- () => {
158
- /** @type {?} */
84
+ const hasTagFilter = () => {
159
85
  let isFiltered = false;
160
86
  if (payload.tagFilters) {
161
- Object.keys(payload.tagFilters).map((/**
162
- * @param {?} filter
163
- * @return {?}
164
- */
165
- filter => {
87
+ Object.keys(payload.tagFilters).map(filter => {
166
88
  if (payload.tagFilters[filter] && !isFiltered) {
167
89
  isFiltered = true;
168
90
  }
169
- }));
91
+ });
170
92
  }
171
93
  return isFiltered;
172
- });
173
- /** @type {?} */
94
+ };
174
95
  const hasFilter = (hasTagFilter() || !!payload.dateRangeFrom || !!payload.dateRangeTo);
175
- /** @type {?} */
176
96
  const commentSummaryFilters = {
177
97
  hasFilter,
178
98
  filters: payload
@@ -185,46 +105,11 @@ export function reducer(state = initialState, action) {
185
105
  }
186
106
  return state;
187
107
  }
188
- /** @type {?} */
189
- export const getAnnoSet = (/**
190
- * @param {?} state
191
- * @return {?}
192
- */
193
- (state) => state.annotationSet);
194
- /** @type {?} */
195
- export const getCommentEnts = (/**
196
- * @param {?} state
197
- * @return {?}
198
- */
199
- (state) => state.commentEntities);
200
- /** @type {?} */
201
- export const getAnnoPageEnt = (/**
202
- * @param {?} state
203
- * @return {?}
204
- */
205
- (state) => state.annotationPageEntities);
206
- /** @type {?} */
207
- export const getAnnoEnt = (/**
208
- * @param {?} state
209
- * @return {?}
210
- */
211
- (state) => state.annotationEntities);
212
- /** @type {?} */
213
- export const getSelectedAnno = (/**
214
- * @param {?} state
215
- * @return {?}
216
- */
217
- (state) => state.selectedAnnotation);
218
- /** @type {?} */
219
- export const commentSearchQ = (/**
220
- * @param {?} state
221
- * @return {?}
222
- */
223
- (state) => state.commentSearchQueries);
224
- /** @type {?} */
225
- export const getSummaryFilters = (/**
226
- * @param {?} state
227
- * @return {?}
228
- */
229
- (state) => state.commentSummaryFilters);
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvc3RvcmUvcmVkdWNlcnMvYW5ub3RhdGlvbnMucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFHakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSTVDLHdDQVVDOzs7SUFUQywyQ0FBbUI7O0lBQ25CLGdEQUF3Qzs7SUFDeEMsb0RBQXFEOztJQUNyRCw2Q0FBeUM7O0lBQ3pDLGdEQUF3Qzs7SUFDeEMsa0RBQWdEOztJQUNoRCxtREFBOEQ7O0lBQzlELG9DQUFnQjs7SUFDaEIscUNBQWlCOzs7QUFHbkIsTUFBTSxPQUFPLFlBQVksR0FBdUI7SUFDOUMsYUFBYSxFQUFFLEVBQUU7SUFDakIsa0JBQWtCLEVBQUUsRUFBRTtJQUN0QixlQUFlLEVBQUUsRUFBRTtJQUNuQixzQkFBc0IsRUFBRSxFQUFFO0lBQzFCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsb0JBQW9CLEVBQUUsRUFBQyxhQUFhLEVBQUUsRUFBRSxFQUFDO0lBQ3pDLHFCQUFxQixFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFDO0lBQ3RELE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7Q0FDZDs7Ozs7O0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FDckIsS0FBSyxHQUFHLFlBQVksRUFDcEIsTUFBMEM7SUFFMUMsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBRW5CLEtBQUssZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUM7O2tCQUNsQyxhQUFhLG1DQUNkLEtBQUssQ0FBQyxhQUFhLEtBQ3RCLFVBQVUsRUFBRSxNQUFNLENBQUMs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eUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQTs7QUFDNUUsTUFBTSxPQUFPLGNBQWM7Ozs7QUFBRyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUE7O0FBQ2xGLE1BQU0sT0FBTyxjQUFjOzs7O0FBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUE7O0FBQ3pGLE1BQU0sT0FBTyxVQUFVOzs7O0FBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUE7O0FBQ2pGLE1BQU0sT0FBTyxlQUFlOzs7O0FBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUE7O0FBQ3RGLE1BQU0sT0FBTyxjQUFjOzs7O0FBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUE7O0FBQ3ZGLE1BQU0sT0FBTyxpQkFBaUI7Ozs7QUFBRyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1dWlkIGZyb20gJ3V1aWQvdjQnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25zIGZyb20gJy4uL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvYW5ub3RhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50Lm1vZGVsJztcbmltcG9ydCB7IFN0b3JlVXRpbHMgfSBmcm9tICcuLi9zdG9yZS11dGlscyc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Bbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvbW9kZWxzL2V2ZW50LXNlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlcnMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uU2V0U3RhdGUge1xuICBhbm5vdGF0aW9uU2V0OiBhbnk7XG4gIGFubm90YXRpb25FbnRpdGllczoge1tpZDogc3RyaW5nXTogYW55fTtcbiAgYW5ub3RhdGlvblBhZ2VFbnRpdGllczoge1tpZDogc3RyaW5nXTogQW5ub3RhdGlvbltdfTtcbiAgY29tbWVudEVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBDb21tZW50fTtcbiAgc2VsZWN0ZWRBbm5vdGF0aW9uOiBTZWxlY3Rpb25Bbm5vdGF0aW9uO1xuICBjb21tZW50U2VhcmNoUXVlcmllczogeyBjb21tZW50U2VhcmNoOiBzdHJpbmcgfTtcbiAgY29tbWVudFN1bW1hcnlGaWx0ZXJzOiB7aGFzRmlsdGVyOiBib29sZWFuOyBmaWx0ZXJzOiBGaWx0ZXJzfTtcbiAgbG9hZGVkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUgPSB7XG4gIGFubm90YXRpb25TZXQ6IHt9LFxuICBhbm5vdGF0aW9uRW50aXRpZXM6IHt9LFxuICBjb21tZW50RW50aXRpZXM6IHt9LFxuICBhbm5vdGF0aW9uUGFnZUVudGl0aWVzOiB7fSxcbiAgc2VsZWN0ZWRBbm5vdGF0aW9uOiBudWxsLFxuICBjb21tZW50U2VhcmNoUXVlcmllczoge2NvbW1lbnRTZWFyY2g6ICcnfSxcbiAgY29tbWVudFN1bW1hcnlGaWx0ZXJzOiB7aGFzRmlsdGVyOiBmYWxzZSwgZmlsdGVyczoge319LFxuICBsb2FkaW5nOiBmYWxzZSxcbiAgbG9hZGVkOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2VyIChcbiAgc3RhdGUgPSBpbml0aWFsU3RhdGUsXG4gIGFjdGlvbjogZnJvbUFubm90YXRpb25zLkFubm90YXRpb25zQWN0aW9uc1xuKTogQW5ub3RhdGlvblNldFN0YXRlIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVDoge1xuICAgICAgY29uc3QgYW5ub3RhdGlvblNldCA9IHtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblNldCxcbiAgICAgICAgZG9jdW1lbnRJZDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgICAgIGFubm90YXRpb25TZXQsXG4gICAgICAgIGxvYWRpbmc6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkxPQURfQU5OT1RBVElPTl9TRVRfU1VDQ0VTUzpcbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUX0ZBSUw6IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb25TZXQgPSBhY3Rpb24ucGF5bG9hZC5zdGF0dXMgPT09IDIwMCA/IGFjdGlvbi5wYXlsb2FkLmJvZHkgOlxuICAgICAgICB7XG4gICAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblNldCxcbiAgICAgICAgICBhbm5vdGF0aW9uczogW10sXG4gICAgICAgICAgaWQ6IHV1aWQoKVxuICAgICAgICB9O1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUFubm90YXRpb25FbnRpdGllcyhhbm5vdGF0aW9uU2V0LmFubm90YXRpb25zKTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdGF0aW9uU2V0LmFubm90YXRpb25zLCAncGFnZScpO1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUNvbW1lbnRzRW50aXRpZXMoYW5ub3RhdGlvblNldC5hbm5vdGF0aW9ucyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYW5ub3RhdGlvblNldCxcbiAgICAgICAgYW5ub3RhdGlvbkVudGl0aWVzLFxuICAgICAgICBhbm5vdGF0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0FWRV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGFubm8gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGFubkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIFthbm5vLmlkXTogYW5ub1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGFubm90QXJyYXkgPSBPYmplY3Qua2V5cyhhbm5FbnRpdGllcykubWFwKGtleSA9PiBhbm5FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVBbm5vdGF0aW9uRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RBcnJheSwgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVDb21tZW50c0VudGl0aWVzKGFubm90QXJyYXkpO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRBbm5vdGF0aW9uID0ge1xuICAgICAgICAuLi5zdGF0ZS5zZWxlY3RlZEFubm90YXRpb24sXG4gICAgICAgIGFubm90YXRpb25JZCA6IGFubm8uaWQsXG4gICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgc2VsZWN0ZWRBbm5vdGF0aW9uLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkRFTEVURV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGlkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBwYWdlID0gc3RhdGUuYW5ub3RhdGlvbkVudGl0aWVzW2lkXS5wYWdlO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXNcbiAgICAgIH07XG4gICAgICBkZWxldGUgYW5ub3RhdGlvbkVudGl0aWVzW2lkXTtcbiAgICAgIGNvbnN0IHBhZ2VBbm5vdGF0aW9uc1JlbW92ZWQgPSBbXG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25QYWdlRW50aXRpZXNbcGFnZV0uZmlsdGVyKGFubm8gPT4gYW5uby5pZCAhPT0gaWQpXG4gICAgICBdO1xuICAgICAgY29uc3QgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgW3BhZ2VdOiBwYWdlQW5ub3RhdGlvbnNSZW1vdmVkXG4gICAgICB9O1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50RW50aXRpZXNcbiAgICAgIH07XG4gICAgICBpZiAoc3RhdGUuY29tbWVudEVudGl0aWVzW2lkXSkge1xuICAgICAgICBkZWxldGUgY29tbWVudEVudGl0aWVzW2lkXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5BRERfT1JfRURJVF9DT01NRU5UOiB7XG4gICAgICBjb25zdCBjb21tZW50ID0ge1xuICAgICAgICBbYWN0aW9uLnBheWxvYWQuYW5ub3RhdGlvbklkXTogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICBjb25zdCBjb21tZW50cyA9IHtcbiAgICAgICAgLi4uc3RhdGUuY29tbWVudEVudGl0aWVzLFxuICAgICAgICAuLi5jb21tZW50XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllczogY29tbWVudHNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VMRUNUX0FOTk9UQVRJT046IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdHkgPSB7XG4gICAgICAgIC4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc1twYXlsb2FkLmFubm90YXRpb25JZF0sXG4gICAgICAgIGVkaXRhYmxlOiBwYXlsb2FkLmVkaXRhYmxlLFxuICAgICAgICBzZWxlY3RlZDogcGF5bG9hZC5zZWxlY3RlZFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzZXRDb21tZW50RW50U2VsZWN0ID0gU3RvcmVVdGlscy5yZXNldENvbW1lbnRFbnRTZWxlY3Qoey4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc30pO1xuXG4gICAgICBjb25zdCBjb21tZW50RW50aXRpZXMgPSBwYXlsb2FkLmFubm90YXRpb25JZCAmJiBzdGF0ZS5jb21tZW50RW50aXRpZXNbcGF5bG9hZC5hbm5vdGF0aW9uSWRdID8ge1xuICAgICAgICAuLi5yZXNldENvbW1lbnRFbnRTZWxlY3QsXG4gICAgICBbcGF5bG9hZC5hbm5vdGF0aW9uSWRdOiBjb21tZW50RW50aXR5XG4gICAgICB9IDogey4uLnJlc2V0Q29tbWVudEVudFNlbGVjdH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIHNlbGVjdGVkQW5ub3RhdGlvbjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VBUkNIX0NPTU1FTlQ6IHtcbiAgICAgIGNvbnN0IGNvbW1lbnRTZWFyY2hRdWVyaWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50U2VhcmNoUXVlcmllcyxcbiAgICAgICAgY29tbWVudFNlYXJjaDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMucmVzZXRDb21tZW50RW50U2VsZWN0KHsuLi5zdGF0ZS5jb21tZW50RW50aXRpZXN9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRTZWFyY2hRdWVyaWVzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkFQUExZX0NPTU1FTlRfU1VNTUFSWV9GSUxURVI6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGhhc1RhZ0ZpbHRlciA9ICgpID0+IHtcbiAgICAgICAgbGV0IGlzRmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHBheWxvYWQudGFnRmlsdGVycykge1xuICAgICAgICAgIE9iamVjdC5rZXlzKHBheWxvYWQudGFnRmlsdGVycykubWFwKGZpbHRlciA9PiB7XG4gICAgICAgICAgICBpZiAocGF5bG9hZC50YWdGaWx0ZXJzW2ZpbHRlcl0gJiYgIWlzRmlsdGVyZWQpIHtcbiAgICAgICAgICAgICAgaXNGaWx0ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzRmlsdGVyZWQ7XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFzRmlsdGVyID0gKGhhc1RhZ0ZpbHRlcigpIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VGcm9tIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VUbyk7XG4gICAgICBjb25zdCBjb21tZW50U3VtbWFyeUZpbHRlcnMgPSB7XG4gICAgICAgIGhhc0ZpbHRlcixcbiAgICAgICAgZmlsdGVyczogcGF5bG9hZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IGNvbW1lbnRTdW1tYXJ5RmlsdGVyc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5DTEVBUl9DT01NRU5UX1NVTU1BUllfRklMVEVSOiB7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnMgOiB7Li4uaW5pdGlhbFN0YXRlLmNvbW1lbnRTdW1tYXJ5RmlsdGVyc31cbiAgICAgIH07XG4gICAgfVxuICB9XG5cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vU2V0ID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmFubm90YXRpb25TZXQ7XG5leHBvcnQgY29uc3QgZ2V0Q29tbWVudEVudHMgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuY29tbWVudEVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEFubm9QYWdlRW50ID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmFubm90YXRpb25QYWdlRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0QW5ub0VudCA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRBbm5vID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkQW5ub3RhdGlvbjtcbmV4cG9ydCBjb25zdCBjb21tZW50U2VhcmNoUSA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5jb21tZW50U2VhcmNoUXVlcmllcztcbmV4cG9ydCBjb25zdCBnZXRTdW1tYXJ5RmlsdGVycyA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5jb21tZW50U3VtbWFyeUZpbHRlcnM7XG4iXX0=
108
+ export const getAnnoSet = (state) => state.annotationSet;
109
+ export const getCommentEnts = (state) => state.commentEntities;
110
+ export const getAnnoPageEnt = (state) => state.annotationPageEntities;
111
+ export const getAnnoEnt = (state) => state.annotationEntities;
112
+ export const getSelectedAnno = (state) => state.selectedAnnotation;
113
+ export const commentSearchQ = (state) => state.commentSearchQueries;
114
+ export const getSummaryFilters = (state) => state.commentSummaryFilters;
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2Fubm90YXRpb25zLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFHakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0I1QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXVCO0lBQzlDLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLG9CQUFvQixFQUFFLEVBQUMsYUFBYSxFQUFFLEVBQUUsRUFBQztJQUN6QyxxQkFBcUIsRUFBRSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBQztJQUN0RCxPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxLQUFLO0NBQ2QsQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQ3JCLEtBQUssR0FBRyxZQUFZLEVBQ3BCLE1BQTBDO0lBRTFDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUVuQixLQUFLLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sYUFBYSxtQ0FDZCxLQUFLLENBQUMsYUFBYSxLQUN0QixVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sR0FDM0IsQ0FBQztZQUNGLHVDQUNLLFlBQVksS0FDZixhQUFhLEVBQ2IsT0FBTyxFQUFFLElBQUksSUFDYjtTQUNIO1FBQ0QsS0FBSyxlQUFlLENBQUMsMkJBQTJCLENBQUM7UUFDakQsS0FBSyxlQUFl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cUIsb0JBQU8sWUFBWSxDQUFDLHFCQUFxQixLQUM5RDtTQUNIO0tBQ0Y7SUFHRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7QUFDbkYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBeUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBeUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBeUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHV1aWQgZnJvbSAndXVpZC92NCc7XG5pbXBvcnQgKiBhcyBmcm9tQW5ub3RhdGlvbnMgZnJvbSAnLi4vYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbiB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9hbm5vdGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IENvbW1lbnQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9jb21tZW50LXNldC9jb21tZW50L2NvbW1lbnQubW9kZWwnO1xuaW1wb3J0IHsgU3RvcmVVdGlscyB9IGZyb20gJy4uL3N0b3JlLXV0aWxzJztcbmltcG9ydCB7IFNlbGVjdGlvbkFubm90YXRpb24gfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9tb2RlbHMvZXZlbnQtc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IEZpbHRlcnMgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVycy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFubm90YXRpb25TZXRTdGF0ZSB7XG4gIGFubm90YXRpb25TZXQ6IGFueTtcbiAgYW5ub3RhdGlvbkVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBhbnl9O1xuICBhbm5vdGF0aW9uUGFnZUVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uW119O1xuICBjb21tZW50RW50aXRpZXM6IHtbaWQ6IHN0cmluZ106IENvbW1lbnR9O1xuICBzZWxlY3RlZEFubm90YXRpb246IFNlbGVjdGlvbkFubm90YXRpb247XG4gIGNvbW1lbnRTZWFyY2hRdWVyaWVzOiB7IGNvbW1lbnRTZWFyY2g6IHN0cmluZyB9O1xuICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IHtoYXNGaWx0ZXI6IGJvb2xlYW47IGZpbHRlcnM6IEZpbHRlcnN9O1xuICBsb2FkZWQ6IGJvb2xlYW47XG4gIGxvYWRpbmc6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSA9IHtcbiAgYW5ub3RhdGlvblNldDoge30sXG4gIGFubm90YXRpb25FbnRpdGllczoge30sXG4gIGNvbW1lbnRFbnRpdGllczoge30sXG4gIGFubm90YXRpb25QYWdlRW50aXRpZXM6IHt9LFxuICBzZWxlY3RlZEFubm90YXRpb246IG51bGwsXG4gIGNvbW1lbnRTZWFyY2hRdWVyaWVzOiB7Y29tbWVudFNlYXJjaDogJyd9LFxuICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IHtoYXNGaWx0ZXI6IGZhbHNlLCBmaWx0ZXJzOiB7fX0sXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBsb2FkZWQ6IGZhbHNlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZXIgKFxuICBzdGF0ZSA9IGluaXRpYWxTdGF0ZSxcbiAgYWN0aW9uOiBmcm9tQW5ub3RhdGlvbnMuQW5ub3RhdGlvbnNBY3Rpb25zXG4pOiBBbm5vdGF0aW9uU2V0U3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUOiB7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uU2V0ID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uU2V0LFxuICAgICAgICBkb2N1bWVudElkOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICAgICAgYW5ub3RhdGlvblNldCxcbiAgICAgICAgbG9hZGluZzogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVF9TVUNDRVNTOlxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkxPQURfQU5OT1RBVElPTl9TRVRfRkFJTDoge1xuICAgICAgY29uc3QgYW5ub3RhdGlvblNldCA9IGFjdGlvbi5wYXlsb2FkLnN0YXR1cyA9PT0gMjAwID8gYWN0aW9uLnBheWxvYWQuYm9keSA6XG4gICAgICAgIHtcbiAgICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uU2V0LFxuICAgICAgICAgIGFubm90YXRpb25zOiBbXSxcbiAgICAgICAgICBpZDogdXVpZCgpXG4gICAgICAgIH07XG4gICAgICBjb25zdCBhbm5vdGF0aW9uRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdlbmVyYXRlQW5ub3RhdGlvbkVudGl0aWVzKGFubm90YXRpb25TZXQuYW5ub3RhdGlvbnMpO1xuICAgICAgY29uc3QgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKGFubm90YXRpb25TZXQuYW5ub3RhdGlvbnMsICdwYWdlJyk7XG4gICAgICBjb25zdCBjb21tZW50RW50aXRpZXMgPSBTdG9yZVV0aWxzLmdlbmVyYXRlQ29tbWVudHNFbnRpdGllcyhhbm5vdGF0aW9uU2V0LmFubm90YXRpb25zKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uU2V0LFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGxvYWRlZDogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5TQVZFX0FOTk9UQVRJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYW5ubyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgYW5uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgW2Fubm8uaWRdOiBhbm5vXG4gICAgICB9O1xuICAgICAgY29uc3QgYW5ub3RBcnJheSA9IE9iamVjdC5rZXlzKGFubkVudGl0aWVzKS5tYXAoa2V5ID0+IGFubkVudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUFubm90YXRpb25FbnRpdGllcyhhbm5vdEFycmF5KTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdEFycmF5LCAncGFnZScpO1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZUNvbW1lbnRzRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBzZWxlY3RlZEFubm90YXRpb24gPSB7XG4gICAgICAgIC4uLnN0YXRlLnNlbGVjdGVkQW5ub3RhdGlvbixcbiAgICAgICAgYW5ub3RhdGlvbklkIDogYW5uby5pZCxcbiAgICAgICAgZWRpdGFibGU6IGZhbHNlXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgY29tbWVudEVudGl0aWVzLFxuICAgICAgICBzZWxlY3RlZEFubm90YXRpb24sXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuREVMRVRFX0FOTk9UQVRJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgaWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHBhZ2UgPSBzdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXNbaWRdLnBhZ2U7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25FbnRpdGllc1xuICAgICAgfTtcbiAgICAgIGRlbGV0ZSBhbm5vdGF0aW9uRW50aXRpZXNbaWRdO1xuICAgICAgY29uc3QgcGFnZUFubm90YXRpb25zUmVtb3ZlZCA9IFtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblBhZ2VFbnRpdGllc1twYWdlXS5maWx0ZXIoYW5ubyA9PiBhbm5vLmlkICE9PSBpZClcbiAgICAgIF07XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICBbcGFnZV06IHBhZ2VBbm5vdGF0aW9uc1JlbW92ZWRcbiAgICAgIH07XG4gICAgICBjb25zdCBjb21tZW50RW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc1xuICAgICAgfTtcbiAgICAgIGlmIChzdGF0ZS5jb21tZW50RW50aXRpZXNbaWRdKSB7XG4gICAgICAgIGRlbGV0ZSBjb21tZW50RW50aXRpZXNbaWRdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgY29tbWVudEVudGl0aWVzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkFERF9PUl9FRElUX0NPTU1FTlQ6IHtcbiAgICAgIGNvbnN0IGNvbW1lbnQgPSB7XG4gICAgICAgIFthY3Rpb24ucGF5bG9hZC5hbm5vdGF0aW9uSWRdOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNvbW1lbnRzID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50RW50aXRpZXMsXG4gICAgICAgIC4uLmNvbW1lbnRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29tbWVudEVudGl0aWVzOiBjb21tZW50c1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5TRUxFQ1RfQU5OT1RBVElPTjoge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgY29tbWVudEVudGl0eSA9IHtcbiAgICAgICAgLi4uc3RhdGUuY29tbWVudEVudGl0aWVzW3BheWxvYWQuYW5ub3RhdGlvbklkXSxcbiAgICAgICAgZWRpdGFibGU6IHBheWxvYWQuZWRpdGFibGUsXG4gICAgICAgIHNlbGVjdGVkOiBwYXlsb2FkLnNlbGVjdGVkXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNldENvbW1lbnRFbnRTZWxlY3QgPSBTdG9yZVV0aWxzLnJlc2V0Q29tbWVudEVudFNlbGVjdCh7Li4uc3RhdGUuY29tbWVudEVudGl0aWVzfSk7XG5cbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IHBheWxvYWQuYW5ub3RhdGlvbklkICYmIHN0YXRlLmNvbW1lbnRFbnRpdGllc1twYXlsb2FkLmFubm90YXRpb25JZF0gPyB7XG4gICAgICAgIC4uLnJlc2V0Q29tbWVudEVudFNlbGVjdCxcbiAgICAgIFtwYXlsb2FkLmFubm90YXRpb25JZF06IGNvbW1lbnRFbnRpdHlcbiAgICAgIH0gOiB7Li4ucmVzZXRDb21tZW50RW50U2VsZWN0fTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgc2VsZWN0ZWRBbm5vdGF0aW9uOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5TRUFSQ0hfQ09NTUVOVDoge1xuICAgICAgY29uc3QgY29tbWVudFNlYXJjaFF1ZXJpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmNvbW1lbnRTZWFyY2hRdWVyaWVzLFxuICAgICAgICBjb21tZW50U2VhcmNoOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfTtcblxuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0gU3RvcmVVdGlscy5yZXNldENvbW1lbnRFbnRTZWxlY3Qoey4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc30pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgY29tbWVudFNlYXJjaFF1ZXJpZXNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuQVBQTFlfQ09NTUVOVF9TVU1NQVJZX0ZJTFRFUjoge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgaGFzVGFnRmlsdGVyID0gKCkgPT4ge1xuICAgICAgICBsZXQgaXNGaWx0ZXJlZCA9IGZhbHNlO1xuICAgICAgICBpZiAocGF5bG9hZC50YWdGaWx0ZXJzKSB7XG4gICAgICAgICAgT2JqZWN0LmtleXMocGF5bG9hZC50YWdGaWx0ZXJzKS5tYXAoZmlsdGVyID0+IHtcbiAgICAgICAgICAgIGlmIChwYXlsb2FkLnRhZ0ZpbHRlcnNbZmlsdGVyXSAmJiAhaXNGaWx0ZXJlZCkge1xuICAgICAgICAgICAgICBpc0ZpbHRlcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNGaWx0ZXJlZDtcbiAgICAgIH07XG4gICAgICBjb25zdCBoYXNGaWx0ZXIgPSAoaGFzVGFnRmlsdGVyKCkgfHwgISFwYXlsb2FkLmRhdGVSYW5nZUZyb20gfHwgISFwYXlsb2FkLmRhdGVSYW5nZVRvKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRTdW1tYXJ5RmlsdGVycyA9IHtcbiAgICAgICAgaGFzRmlsdGVyLFxuICAgICAgICBmaWx0ZXJzOiBwYXlsb2FkXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbW1lbnRTdW1tYXJ5RmlsdGVyczogY29tbWVudFN1bW1hcnlGaWx0ZXJzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkNMRUFSX0NPTU1FTlRfU1VNTUFSWV9GSUxURVI6IHtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbW1lbnRTdW1tYXJ5RmlsdGVycyA6IHsuLi5pbml0aWFsU3RhdGUuY29tbWVudFN1bW1hcnlGaWx0ZXJzfVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldEFubm9TZXQgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuYW5ub3RhdGlvblNldDtcbmV4cG9ydCBjb25zdCBnZXRDb21tZW50RW50cyA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5jb21tZW50RW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0QW5ub1BhZ2VFbnQgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuYW5ub3RhdGlvblBhZ2VFbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRBbm5vRW50ID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmFubm90YXRpb25FbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZEFubm8gPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRBbm5vdGF0aW9uO1xuZXhwb3J0IGNvbnN0IGNvbW1lbnRTZWFyY2hRID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmNvbW1lbnRTZWFyY2hRdWVyaWVzO1xuZXhwb3J0IGNvbnN0IGdldFN1bW1hcnlGaWx0ZXJzID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmNvbW1lbnRTdW1tYXJ5RmlsdGVycztcbiJdfQ==